From cb50ec10591c0e0e4b9915e642bc50d3d8d1fd0a Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Sat, 2 Nov 2024 21:27:47 +0000 Subject: Apply new clang-formatting --- Tools/AnvilStats/AnvilStats.cpp | 10 +- Tools/AnvilStats/BiomeMap.cpp | 20 +- Tools/AnvilStats/BiomeMap.h | 32 +- Tools/AnvilStats/Callback.h | 80 +- Tools/AnvilStats/ChunkExtract.cpp | 18 +- Tools/AnvilStats/ChunkExtract.h | 36 +- Tools/AnvilStats/Globals.cpp | 4 - Tools/AnvilStats/Globals.h | 103 +- Tools/AnvilStats/HeightBiomeMap.cpp | 17 +- Tools/AnvilStats/HeightBiomeMap.h | 48 +- Tools/AnvilStats/HeightMap.cpp | 21 +- Tools/AnvilStats/HeightMap.h | 34 +- Tools/AnvilStats/ImageComposingCallback.cpp | 13 +- Tools/AnvilStats/ImageComposingCallback.h | 17 +- Tools/AnvilStats/Processor.cpp | 132 +- Tools/AnvilStats/Processor.h | 39 +- Tools/AnvilStats/SpringStats.cpp | 39 +- Tools/AnvilStats/SpringStats.h | 45 +- Tools/AnvilStats/Statistics.cpp | 87 +- Tools/AnvilStats/Statistics.h | 69 +- Tools/AnvilStats/Utils.cpp | 413 +- Tools/AnvilStats/Utils.h | 5 +- Tools/BlockZapper/BlockZapper.cpp | 15 +- Tools/BlockZapper/Globals.cpp | 4 - Tools/BlockZapper/Globals.h | 4 - Tools/BlockZapper/Regions.cpp | 20 +- Tools/BlockZapper/Regions.h | 20 +- Tools/BlockZapper/Zapper.cpp | 85 +- Tools/BlockZapper/Zapper.h | 10 +- Tools/GrownBiomeGenVisualiser/Globals.cpp | 4 - Tools/GrownBiomeGenVisualiser/Globals.h | 119 +- .../GrownBiomeGenVisualiser.cpp | 475 +- Tools/MCADefrag/MCADefrag.cpp | 45 +- Tools/MCADefrag/MCADefrag.h | 26 +- Tools/MemDumpAnalysis/Globals.h | 4 - Tools/MemDumpAnalysis/MemDumpAnalysis.cpp | 29 +- Tools/MemDumpAnalysis/targetver.h | 4 +- Tools/NoiseSpeedTest/NoiseSpeedTest.cpp | 25 +- Tools/NoiseSpeedTest/NoiseSpeedTest.h | 4 - Tools/NoiseSpeedTest/SimplexNoise.h | 90 +- Tools/ProtoProxy/Connection.cpp | 764 +- Tools/ProtoProxy/Connection.h | 71 +- Tools/ProtoProxy/Server.cpp | 58 +- Tools/ProtoProxy/Server.h | 24 +- Tools/QtBiomeVisualiser/BiomeView.cpp | 341 +- Tools/QtBiomeVisualiser/BiomeView.h | 16 +- Tools/QtBiomeVisualiser/ChunkSource.cpp | 18 +- Tools/QtBiomeVisualiser/ChunkSource.h | 25 +- Tools/QtBiomeVisualiser/GeneratorSetup.cpp | 16 +- Tools/QtBiomeVisualiser/GeneratorSetup.h | 17 +- Tools/QtBiomeVisualiser/Globals.h | 267 +- Tools/QtBiomeVisualiser/MainWindow.cpp | 45 +- Tools/QtBiomeVisualiser/MainWindow.h | 15 +- Tools/QtBiomeVisualiser/QtBiomeVisualiser.cpp | 6 +- Tools/QtBiomeVisualiser/QtChunk.cpp | 4 - Tools/QtBiomeVisualiser/QtChunk.h | 9 +- Tools/QtBiomeVisualiser/Region.cpp | 18 +- Tools/QtBiomeVisualiser/Region.h | 8 +- Tools/QtBiomeVisualiser/RegionCache.cpp | 4 - Tools/QtBiomeVisualiser/RegionCache.h | 16 +- Tools/QtBiomeVisualiser/RegionLoader.cpp | 9 +- Tools/QtBiomeVisualiser/RegionLoader.h | 17 +- Tools/RCONClient/Globals.cpp | 4 - Tools/RCONClient/Globals.h | 100 +- Tools/RCONClient/RCONClient.cpp | 64 +- Tools/ToLuaDoxy/Globals.cpp | 4 - Tools/ToLuaDoxy/Globals.h | 64 +- Tools/ToLuaDoxy/ToLuaDoxy.cpp | 31 +- src/Bindings/BlockState.cpp | 41 +- src/Bindings/BlockState.h | 40 +- src/Bindings/BlockTypePalette.cpp | 36 +- src/Bindings/BlockTypePalette.h | 23 +- src/Bindings/BlockTypeRegistry.cpp | 32 +- src/Bindings/BlockTypeRegistry.h | 72 +- src/Bindings/DeprecatedBindings.cpp | 180 +- src/Bindings/DeprecatedBindings.h | 4 +- src/Bindings/LuaChunkStay.cpp | 35 +- src/Bindings/LuaChunkStay.h | 22 +- src/Bindings/LuaJson.cpp | 75 +- src/Bindings/LuaJson.h | 6 +- src/Bindings/LuaNameLookup.cpp | 9 +- src/Bindings/LuaNameLookup.h | 11 +- src/Bindings/LuaServerHandle.cpp | 25 +- src/Bindings/LuaServerHandle.h | 14 +- src/Bindings/LuaState.cpp | 400 +- src/Bindings/LuaState.h | 340 +- src/Bindings/LuaTCPLink.cpp | 40 +- src/Bindings/LuaTCPLink.h | 17 +- src/Bindings/LuaUDPEndpoint.cpp | 13 +- src/Bindings/LuaUDPEndpoint.h | 17 +- src/Bindings/LuaWindow.cpp | 49 +- src/Bindings/LuaWindow.h | 40 +- src/Bindings/ManualBindings.cpp | 1365 +- src/Bindings/ManualBindings.h | 117 +- src/Bindings/ManualBindings_BlockArea.cpp | 268 +- src/Bindings/ManualBindings_Network.cpp | 342 +- src/Bindings/ManualBindings_RankManager.cpp | 335 +- src/Bindings/ManualBindings_World.cpp | 595 +- src/Bindings/Plugin.cpp | 9 +- src/Bindings/Plugin.h | 330 +- src/Bindings/PluginLua.cpp | 776 +- src/Bindings/PluginLua.h | 343 +- src/Bindings/PluginManager.cpp | 865 +- src/Bindings/PluginManager.h | 322 +- src/Bindings/tolua++.h | 8 +- src/BiomeDef.cpp | 131 +- src/BiomeDef.h | 140 +- src/BlockArea.cpp | 838 +- src/BlockArea.h | 342 +- src/BlockEntities/BannerEntity.cpp | 13 +- src/BlockEntities/BannerEntity.h | 20 +- src/BlockEntities/BeaconEntity.cpp | 49 +- src/BlockEntities/BeaconEntity.h | 11 +- src/BlockEntities/BedEntity.cpp | 5 +- src/BlockEntities/BedEntity.h | 17 +- src/BlockEntities/BlockEntity.cpp | 80 +- src/BlockEntities/BlockEntity.h | 28 +- src/BlockEntities/BlockEntityWithItems.cpp | 5 +- src/BlockEntities/BlockEntityWithItems.h | 34 +- src/BlockEntities/BrewingstandEntity.cpp | 15 +- src/BlockEntities/BrewingstandEntity.h | 27 +- src/BlockEntities/ChestEntity.cpp | 28 +- src/BlockEntities/ChestEntity.h | 15 +- src/BlockEntities/CommandBlockEntity.cpp | 54 +- src/BlockEntities/CommandBlockEntity.h | 11 +- src/BlockEntities/DispenserEntity.cpp | 119 +- src/BlockEntities/DispenserEntity.h | 18 +- src/BlockEntities/DropSpenserEntity.cpp | 27 +- src/BlockEntities/DropSpenserEntity.h | 24 +- src/BlockEntities/DropperEntity.cpp | 6 +- src/BlockEntities/DropperEntity.h | 11 +- src/BlockEntities/EnchantingTableEntity.cpp | 11 +- src/BlockEntities/EnchantingTableEntity.h | 17 +- src/BlockEntities/EndPortalEntity.h | 9 +- src/BlockEntities/EnderChestEntity.cpp | 15 +- src/BlockEntities/EnderChestEntity.h | 10 +- src/BlockEntities/FlowerPotEntity.cpp | 2 +- src/BlockEntities/FlowerPotEntity.h | 11 +- src/BlockEntities/FurnaceEntity.cpp | 18 +- src/BlockEntities/FurnaceEntity.h | 26 +- src/BlockEntities/HopperEntity.cpp | 34 +- src/BlockEntities/HopperEntity.h | 21 +- src/BlockEntities/JukeboxEntity.cpp | 5 +- src/BlockEntities/JukeboxEntity.h | 17 +- src/BlockEntities/MobHeadEntity.cpp | 15 +- src/BlockEntities/MobHeadEntity.h | 19 +- src/BlockEntities/MobSpawnerEntity.cpp | 29 +- src/BlockEntities/MobSpawnerEntity.h | 42 +- src/BlockEntities/NoteEntity.cpp | 32 +- src/BlockEntities/NoteEntity.h | 29 +- src/BlockEntities/SignEntity.cpp | 11 +- src/BlockEntities/SignEntity.h | 14 +- src/BlockInServerPluginInterface.h | 41 +- src/BlockInfo.cpp | 71 +- src/BlockInfo.h | 3 +- src/BlockState.h | 10 +- src/BlockTracer.h | 50 +- src/BlockType.cpp | 17 +- src/BlockType.h | 811 +- src/Blocks/BlockAir.h | 9 +- src/Blocks/BlockAnvil.h | 20 +- src/Blocks/BlockBed.cpp | 39 +- src/Blocks/BlockBed.h | 21 +- src/Blocks/BlockBigFlower.h | 49 +- src/Blocks/BlockBookShelf.h | 9 +- src/Blocks/BlockBrewingStand.h | 15 +- src/Blocks/BlockButton.h | 82 +- src/Blocks/BlockCactus.h | 76 +- src/Blocks/BlockCake.h | 20 +- src/Blocks/BlockCarpet.h | 45 +- src/Blocks/BlockCauldron.h | 27 +- src/Blocks/BlockChest.h | 8 +- src/Blocks/BlockCloth.h | 41 +- src/Blocks/BlockCobWeb.h | 15 +- src/Blocks/BlockCocoaPod.h | 15 +- src/Blocks/BlockCommandBlock.h | 15 +- src/Blocks/BlockComparator.h | 25 +- src/Blocks/BlockConcretePowder.h | 82 +- src/Blocks/BlockCrops.h | 10 +- src/Blocks/BlockDaylightSensor.h | 16 +- src/Blocks/BlockDeadBush.h | 20 +- src/Blocks/BlockDefaultBlock.h | 6 +- src/Blocks/BlockDirt.h | 15 +- src/Blocks/BlockDoor.cpp | 41 +- src/Blocks/BlockDoor.h | 53 +- src/Blocks/BlockDropSpenser.h | 15 +- src/Blocks/BlockEnchantingTable.h | 39 +- src/Blocks/BlockEndPortalFrame.h | 84 +- src/Blocks/BlockEnderChest.h | 15 +- src/Blocks/BlockEntity.h | 23 +- src/Blocks/BlockFarmland.h | 44 +- src/Blocks/BlockFence.h | 33 +- src/Blocks/BlockFenceGate.h | 37 +- src/Blocks/BlockFire.h | 113 +- src/Blocks/BlockFlower.h | 15 +- src/Blocks/BlockFlowerPot.h | 15 +- src/Blocks/BlockFluid.h | 91 +- src/Blocks/BlockFurnace.h | 15 +- src/Blocks/BlockGlass.h | 15 +- src/Blocks/BlockGlazedTerracotta.h | 7 +- src/Blocks/BlockGlowstone.h | 15 +- src/Blocks/BlockGrass.h | 27 +- src/Blocks/BlockGravel.h | 15 +- src/Blocks/BlockHandler.cpp | 596 +- src/Blocks/BlockHandler.h | 70 +- src/Blocks/BlockHopper.h | 27 +- src/Blocks/BlockHugeMushroom.h | 18 +- src/Blocks/BlockIce.h | 26 +- src/Blocks/BlockInfested.h | 42 +- src/Blocks/BlockJukebox.h | 11 +- src/Blocks/BlockLadder.h | 21 +- src/Blocks/BlockLeaves.h | 58 +- src/Blocks/BlockLever.h | 52 +- src/Blocks/BlockLilypad.h | 19 +- src/Blocks/BlockMelon.h | 15 +- src/Blocks/BlockMobHead.h | 15 +- src/Blocks/BlockMobSpawner.h | 22 +- src/Blocks/BlockMushroom.h | 15 +- src/Blocks/BlockMycelium.h | 15 +- src/Blocks/BlockNetherWart.h | 14 +- src/Blocks/BlockNetherrack.h | 11 +- src/Blocks/BlockNoteBlock.h | 26 +- src/Blocks/BlockObserver.h | 25 +- src/Blocks/BlockOre.h | 44 +- src/Blocks/BlockPackedIce.h | 11 +- src/Blocks/BlockPiston.cpp | 77 +- src/Blocks/BlockPiston.h | 46 +- src/Blocks/BlockPlanks.h | 25 +- src/Blocks/BlockPlant.h | 21 +- src/Blocks/BlockPluginInterface.h | 25 +- src/Blocks/BlockPortal.h | 48 +- src/Blocks/BlockPressurePlate.h | 19 +- src/Blocks/BlockPumpkin.h | 15 +- src/Blocks/BlockQuartz.h | 11 +- src/Blocks/BlockRail.h | 233 +- src/Blocks/BlockRedstoneLamp.h | 15 +- src/Blocks/BlockRedstoneOre.h | 26 +- src/Blocks/BlockRedstoneRepeater.h | 45 +- src/Blocks/BlockRedstoneWire.h | 15 +- src/Blocks/BlockSand.h | 9 +- src/Blocks/BlockSapling.h | 21 +- src/Blocks/BlockSeaLantern.h | 11 +- src/Blocks/BlockSideways.h | 11 +- src/Blocks/BlockSignPost.h | 25 +- src/Blocks/BlockSlab.h | 74 +- src/Blocks/BlockSlime.h | 9 +- src/Blocks/BlockSnow.h | 38 +- src/Blocks/BlockSponge.h | 38 +- src/Blocks/BlockStairs.h | 50 +- src/Blocks/BlockStandingBanner.h | 8 +- src/Blocks/BlockStems.h | 99 +- src/Blocks/BlockStone.h | 18 +- src/Blocks/BlockSugarCane.h | 38 +- src/Blocks/BlockTNT.h | 13 +- src/Blocks/BlockTallGrass.h | 26 +- src/Blocks/BlockTorch.h | 46 +- src/Blocks/BlockTrapdoor.h | 28 +- src/Blocks/BlockTripwire.h | 13 +- src/Blocks/BlockTripwireHook.h | 16 +- src/Blocks/BlockVines.h | 103 +- src/Blocks/BlockWallBanner.h | 18 +- src/Blocks/BlockWallSign.h | 30 +- src/Blocks/BlockWorkbench.h | 20 +- src/Blocks/BroadcastInterface.h | 170 +- src/Blocks/ChunkInterface.cpp | 16 +- src/Blocks/ChunkInterface.h | 28 +- src/Blocks/GetHandlerCompileTimeTemplate.h | 34 +- src/Blocks/Mixins.h | 91 +- src/Blocks/WorldInterface.h | 70 +- src/BoundingBox.cpp | 32 +- src/BoundingBox.h | 48 +- src/BrewingRecipes.cpp | 33 +- src/BrewingRecipes.h | 8 +- src/Broadcaster.cpp | 549 +- src/ByteBuffer.cpp | 140 +- src/ByteBuffer.h | 109 +- src/ChatColor.cpp | 73 +- src/ChatColor.h | 2 +- src/Chunk.cpp | 306 +- src/Chunk.h | 254 +- src/ChunkData.cpp | 100 +- src/ChunkData.h | 64 +- src/ChunkDataCallback.h | 72 +- src/ChunkDef.h | 182 +- src/ChunkGeneratorThread.cpp | 31 +- src/ChunkGeneratorThread.h | 46 +- src/ChunkMap.cpp | 128 +- src/ChunkMap.h | 114 +- src/ChunkSender.cpp | 98 +- src/ChunkSender.h | 43 +- src/ChunkStay.cpp | 7 +- src/ChunkStay.h | 23 +- src/CircularBufferCompressor.h | 12 +- src/ClientHandle.cpp | 544 +- src/ClientHandle.h | 389 +- src/Color.cpp | 14 +- src/Color.h | 5 +- src/CommandOutput.cpp | 4 - src/CommandOutput.h | 35 +- src/CompositeChat.cpp | 266 +- src/CompositeChat.h | 70 +- src/CraftingRecipes.cpp | 365 +- src/CraftingRecipes.h | 124 +- src/Cuboid.cpp | 18 +- src/Cuboid.h | 55 +- src/DeadlockDetect.cpp | 54 +- src/DeadlockDetect.h | 19 +- src/Defines.cpp | 218 +- src/Defines.h | 259 +- src/Enchantments.cpp | 113 +- src/Enchantments.h | 119 +- src/Endianness.h | 14 +- src/Entities/ArrowEntity.cpp | 31 +- src/Entities/ArrowEntity.h | 23 +- src/Entities/Boat.cpp | 20 +- src/Entities/Boat.h | 13 +- src/Entities/EnderCrystal.h | 13 +- src/Entities/Entity.cpp | 378 +- src/Entities/Entity.h | 253 +- src/Entities/EntityEffect.cpp | 146 +- src/Entities/EntityEffect.h | 265 +- src/Entities/ExpBottleEntity.h | 15 +- src/Entities/ExpOrb.cpp | 84 +- src/Entities/ExpOrb.h | 10 +- src/Entities/FallingBlock.cpp | 25 +- src/Entities/FallingBlock.h | 18 +- src/Entities/FireChargeEntity.cpp | 2 +- src/Entities/FireChargeEntity.h | 15 +- src/Entities/FireworkEntity.h | 16 +- src/Entities/Floater.cpp | 39 +- src/Entities/Floater.h | 16 +- src/Entities/GhastFireballEntity.cpp | 2 +- src/Entities/GhastFireballEntity.h | 15 +- src/Entities/HangingEntity.cpp | 9 +- src/Entities/HangingEntity.h | 19 +- src/Entities/ItemFrame.cpp | 8 +- src/Entities/ItemFrame.h | 9 +- src/Entities/LeashKnot.cpp | 25 +- src/Entities/LeashKnot.h | 19 +- src/Entities/Minecart.cpp | 207 +- src/Entities/Minecart.h | 98 +- src/Entities/Painting.cpp | 5 +- src/Entities/Painting.h | 13 +- src/Entities/Pawn.cpp | 159 +- src/Entities/Pawn.h | 51 +- src/Entities/Pickup.cpp | 67 +- src/Entities/Pickup.h | 24 +- src/Entities/Player.cpp | 290 +- src/Entities/Player.h | 118 +- src/Entities/ProjectileEntity.cpp | 123 +- src/Entities/ProjectileEntity.h | 33 +- src/Entities/SplashPotionEntity.cpp | 49 +- src/Entities/SplashPotionEntity.h | 24 +- src/Entities/TNTEntity.cpp | 7 +- src/Entities/TNTEntity.h | 10 +- src/Entities/ThrownEggEntity.cpp | 2 +- src/Entities/ThrownEggEntity.h | 11 +- src/Entities/ThrownEnderPearlEntity.cpp | 34 +- src/Entities/ThrownEnderPearlEntity.h | 11 +- src/Entities/ThrownSnowballEntity.cpp | 2 +- src/Entities/ThrownSnowballEntity.h | 11 +- src/Entities/WitherSkullEntity.cpp | 8 +- src/Entities/WitherSkullEntity.h | 15 +- src/FastRandom.cpp | 18 +- src/FastRandom.h | 89 +- src/ForEachChunkProvider.h | 26 +- src/FunctionRef.h | 29 +- src/FurnaceRecipe.cpp | 7 +- src/FurnaceRecipe.h | 8 +- src/Generating/BioGen.cpp | 1305 +- src/Generating/BioGen.h | 137 +- src/Generating/Caves.cpp | 210 +- src/Generating/Caves.h | 54 +- src/Generating/ChunkDesc.cpp | 93 +- src/Generating/ChunkDesc.h | 226 +- src/Generating/ChunkGenerator.cpp | 4 - src/Generating/ChunkGenerator.h | 9 +- src/Generating/CompoGen.cpp | 208 +- src/Generating/CompoGen.h | 69 +- src/Generating/CompoGenBiomal.cpp | 205 +- src/Generating/ComposableGenerator.cpp | 256 +- src/Generating/ComposableGenerator.h | 65 +- src/Generating/CompositedHeiGen.h | 22 +- src/Generating/DistortedHeightmap.cpp | 298 +- src/Generating/DistortedHeightmap.h | 26 +- src/Generating/DungeonRoomsFinisher.cpp | 178 +- src/Generating/DungeonRoomsFinisher.h | 25 +- src/Generating/EndGen.cpp | 72 +- src/Generating/EndGen.h | 12 +- src/Generating/EnderDragonFightStructuresGen.cpp | 229 +- src/Generating/EnderDragonFightStructuresGen.h | 9 +- src/Generating/FinishGen.cpp | 653 +- src/Generating/FinishGen.h | 349 +- src/Generating/GridStructGen.cpp | 65 +- src/Generating/GridStructGen.h | 40 +- src/Generating/HeiGen.cpp | 819 +- src/Generating/HeiGen.h | 100 +- src/Generating/IntGen.h | 555 +- src/Generating/MineShafts.cpp | 754 +- src/Generating/MineShafts.h | 32 +- src/Generating/Noise3DGenerator.cpp | 605 +- src/Generating/Noise3DGenerator.h | 40 +- src/Generating/PieceGeneratorBFSTree.cpp | 69 +- src/Generating/PieceGeneratorBFSTree.h | 44 +- src/Generating/PieceModifier.cpp | 87 +- src/Generating/PieceModifier.h | 8 +- src/Generating/PiecePool.cpp | 97 +- src/Generating/PiecePool.h | 162 +- src/Generating/PieceStructuresGen.cpp | 55 +- src/Generating/PieceStructuresGen.h | 8 +- src/Generating/Prefab.cpp | 25 +- src/Generating/Prefab.h | 30 +- src/Generating/PrefabPiecePool.cpp | 243 +- src/Generating/PrefabPiecePool.h | 49 +- src/Generating/PrefabStructure.cpp | 15 +- src/Generating/PrefabStructure.h | 17 +- src/Generating/ProtIntGen.h | 717 +- src/Generating/Ravines.cpp | 186 +- src/Generating/Ravines.h | 13 +- src/Generating/RoughRavines.cpp | 178 +- src/Generating/RoughRavines.h | 36 +- src/Generating/ShapeGen.cpp | 14 +- src/Generating/SinglePieceStructuresGen.cpp | 57 +- src/Generating/SinglePieceStructuresGen.h | 9 +- src/Generating/StructGen.cpp | 198 +- src/Generating/StructGen.h | 81 +- src/Generating/Trees.cpp | 1599 +- src/Generating/Trees.h | 275 +- src/Generating/TwoHeights.cpp | 23 +- src/Generating/VerticalLimit.cpp | 159 +- src/Generating/VerticalLimit.h | 4 - src/Generating/VerticalStrategy.cpp | 123 +- src/Generating/VerticalStrategy.h | 4 - src/Generating/VillageGen.cpp | 107 +- src/Generating/VillageGen.h | 13 +- src/Globals.cpp | 4 - src/Globals.h | 297 +- src/HTTP/EnvelopeParser.cpp | 13 +- src/HTTP/EnvelopeParser.h | 17 +- src/HTTP/HTTPFormParser.cpp | 23 +- src/HTTP/HTTPFormParser.h | 38 +- src/HTTP/HTTPMessage.cpp | 23 +- src/HTTP/HTTPMessage.h | 38 +- src/HTTP/HTTPMessageParser.cpp | 17 +- src/HTTP/HTTPMessageParser.h | 16 +- src/HTTP/HTTPServer.cpp | 40 +- src/HTTP/HTTPServer.h | 37 +- src/HTTP/HTTPServerConnection.cpp | 8 +- src/HTTP/HTTPServerConnection.h | 21 +- src/HTTP/MultipartParser.cpp | 22 +- src/HTTP/MultipartParser.h | 23 +- src/HTTP/NameValueParser.cpp | 10 +- src/HTTP/NameValueParser.h | 33 +- src/HTTP/SslHTTPServerConnection.cpp | 12 +- src/HTTP/SslHTTPServerConnection.h | 14 +- src/HTTP/TransferEncodingParser.cpp | 86 +- src/HTTP/TransferEncodingParser.h | 16 +- src/HTTP/UrlClient.cpp | 179 +- src/HTTP/UrlClient.h | 34 +- src/HTTP/UrlParser.cpp | 11 +- src/HTTP/UrlParser.h | 6 +- src/IniFile.cpp | 76 +- src/IniFile.h | 94 +- src/Inventory.cpp | 102 +- src/Inventory.h | 66 +- src/Item.cpp | 236 +- src/Item.h | 97 +- src/ItemGrid.cpp | 108 +- src/ItemGrid.h | 51 +- src/Items/ItemAnvil.h | 17 +- src/Items/ItemArmor.h | 16 +- src/Items/ItemAxe.h | 23 +- src/Items/ItemBanner.h | 44 +- src/Items/ItemBed.h | 33 +- src/Items/ItemBigFlower.h | 24 +- src/Items/ItemBoat.h | 27 +- src/Items/ItemBottle.h | 28 +- src/Items/ItemBow.h | 16 +- src/Items/ItemBucket.h | 110 +- src/Items/ItemButton.h | 23 +- src/Items/ItemChest.h | 28 +- src/Items/ItemChorusFruit.h | 7 +- src/Items/ItemCloth.h | 16 +- src/Items/ItemComparator.h | 27 +- src/Items/ItemCookedFish.h | 12 +- src/Items/ItemDefaultItem.h | 6 +- src/Items/ItemDoor.h | 71 +- src/Items/ItemDropSpenser.h | 27 +- src/Items/ItemDye.h | 89 +- src/Items/ItemEmptyMap.h | 11 +- src/Items/ItemEnchantingTable.h | 39 +- src/Items/ItemEndCrystal.h | 21 +- src/Items/ItemEndPortalFrame.h | 23 +- src/Items/ItemEnderChest.h | 23 +- src/Items/ItemEyeOfEnder.h | 72 +- src/Items/ItemFenceGate.h | 23 +- src/Items/ItemFishingRod.h | 43 +- src/Items/ItemFood.h | 21 +- src/Items/ItemFoodSeeds.h | 20 +- src/Items/ItemFurnace.h | 20 +- src/Items/ItemGlazedTerracotta.h | 23 +- src/Items/ItemGoldenApple.h | 9 +- src/Items/ItemHandler.cpp | 1895 +- src/Items/ItemHandler.h | 53 +- src/Items/ItemHoe.h | 17 +- src/Items/ItemHopper.h | 19 +- src/Items/ItemItemFrame.h | 13 +- src/Items/ItemJackOLantern.h | 23 +- src/Items/ItemLadder.h | 22 +- src/Items/ItemLeaves.h | 24 +- src/Items/ItemLever.h | 23 +- src/Items/ItemLighter.h | 8 +- src/Items/ItemLilypad.h | 48 +- src/Items/ItemMap.h | 8 +- src/Items/ItemMilk.h | 6 +- src/Items/ItemMinecart.h | 9 +- src/Items/ItemMobHead.h | 204 +- src/Items/ItemNetherWart.h | 21 +- src/Items/ItemObserver.h | 27 +- src/Items/ItemPainting.h | 53 +- src/Items/ItemPickaxe.h | 20 +- src/Items/ItemPiston.h | 27 +- src/Items/ItemPlanks.h | 23 +- src/Items/ItemPoisonousPotato.h | 9 +- src/Items/ItemPotion.h | 27 +- src/Items/ItemPumpkin.h | 76 +- src/Items/ItemQuartz.h | 17 +- src/Items/ItemRail.h | 23 +- src/Items/ItemRawChicken.h | 9 +- src/Items/ItemRawFish.h | 12 +- src/Items/ItemRedstoneDust.h | 25 +- src/Items/ItemRedstoneRepeater.h | 31 +- src/Items/ItemRottenFlesh.h | 9 +- src/Items/ItemSapling.h | 20 +- src/Items/ItemSeeds.h | 42 +- src/Items/ItemShears.h | 14 +- src/Items/ItemShovel.h | 6 +- src/Items/ItemSideways.h | 23 +- src/Items/ItemSign.h | 28 +- src/Items/ItemSlab.h | 41 +- src/Items/ItemSnow.h | 17 +- src/Items/ItemSoup.h | 10 +- src/Items/ItemSpawnEgg.h | 16 +- src/Items/ItemSpiderEye.h | 9 +- src/Items/ItemStairs.h | 23 +- src/Items/ItemSword.h | 23 +- src/Items/ItemThrowable.h | 87 +- src/Items/ItemTorch.h | 45 +- src/Items/ItemTrapdoor.h | 19 +- src/Items/ItemTripwireHook.h | 19 +- src/Items/ItemVines.h | 19 +- src/Items/SimplePlaceableItemHandler.h | 25 +- src/JsonUtils.cpp | 3 +- src/JsonUtils.h | 2 +- src/LazyArray.h | 52 +- src/LightingThread.cpp | 97 +- src/LightingThread.h | 72 +- src/LineBlockTracer.cpp | 105 +- src/LineBlockTracer.h | 33 +- src/LinearInterpolation.cpp | 66 +- src/LinearInterpolation.h | 32 +- src/LinearUpscale.h | 47 +- src/Logger.cpp | 32 +- src/Logger.h | 30 +- src/LoggerListeners.cpp | 290 +- src/LoggerListeners.h | 4 - src/LoggerSimple.h | 54 +- src/Map.cpp | 36 +- src/Map.h | 58 +- src/MapManager.cpp | 8 +- src/MapManager.h | 8 +- src/Matrix4.h | 94 +- src/MemorySettingsRepository.cpp | 51 +- src/MemorySettingsRepository.h | 115 +- src/MobCensus.cpp | 36 +- src/MobCensus.h | 10 +- src/MobFamilyCollecter.cpp | 4 - src/MobFamilyCollecter.h | 15 +- src/MobProximityCounter.cpp | 20 +- src/MobProximityCounter.h | 23 +- src/MobSpawner.cpp | 211 +- src/MobSpawner.h | 24 +- src/Mobs/AggressiveMonster.cpp | 37 +- src/Mobs/AggressiveMonster.h | 30 +- src/Mobs/Bat.cpp | 2 - src/Mobs/Bat.h | 14 +- src/Mobs/Blaze.cpp | 6 +- src/Mobs/Blaze.h | 11 +- src/Mobs/CaveSpider.cpp | 4 - src/Mobs/CaveSpider.h | 12 +- src/Mobs/Chicken.cpp | 5 +- src/Mobs/Chicken.h | 14 +- src/Mobs/Cow.h | 18 +- src/Mobs/Creeper.cpp | 32 +- src/Mobs/Creeper.h | 22 +- src/Mobs/EnderDragon.cpp | 21 +- src/Mobs/EnderDragon.h | 8 +- src/Mobs/Enderman.cpp | 31 +- src/Mobs/Enderman.h | 18 +- src/Mobs/Endermite.cpp | 11 +- src/Mobs/Endermite.h | 8 +- src/Mobs/Ghast.h | 11 +- src/Mobs/Giant.cpp | 5 - src/Mobs/Giant.h | 12 +- src/Mobs/Guardian.cpp | 21 +- src/Mobs/Guardian.h | 12 +- src/Mobs/Horse.cpp | 34 +- src/Mobs/Horse.h | 38 +- src/Mobs/IronGolem.cpp | 14 +- src/Mobs/IronGolem.h | 12 +- src/Mobs/MagmaCube.cpp | 2 +- src/Mobs/MagmaCube.h | 11 +- src/Mobs/Monster.cpp | 484 +- src/Mobs/Monster.h | 117 +- src/Mobs/MonsterTypes.h | 72 +- src/Mobs/Mooshroom.cpp | 9 +- src/Mobs/Mooshroom.h | 17 +- src/Mobs/Ocelot.cpp | 48 +- src/Mobs/Ocelot.h | 58 +- src/Mobs/PassiveAggressiveMonster.cpp | 12 +- src/Mobs/PassiveAggressiveMonster.h | 12 +- src/Mobs/PassiveMonster.cpp | 13 +- src/Mobs/PassiveMonster.h | 6 +- src/Mobs/Path.cpp | 109 +- src/Mobs/Path.h | 96 +- src/Mobs/PathFinder.cpp | 52 +- src/Mobs/PathFinder.h | 37 +- src/Mobs/Pig.cpp | 9 +- src/Mobs/Pig.h | 21 +- src/Mobs/Rabbit.cpp | 10 +- src/Mobs/Rabbit.h | 27 +- src/Mobs/Sheep.cpp | 39 +- src/Mobs/Sheep.h | 20 +- src/Mobs/Silverfish.cpp | 18 +- src/Mobs/Silverfish.h | 8 +- src/Mobs/Skeleton.cpp | 19 +- src/Mobs/Skeleton.h | 12 +- src/Mobs/Slime.cpp | 32 +- src/Mobs/Slime.h | 15 +- src/Mobs/SnowGolem.cpp | 9 +- src/Mobs/SnowGolem.h | 12 +- src/Mobs/Spider.h | 12 +- src/Mobs/Squid.h | 12 +- src/Mobs/Villager.cpp | 44 +- src/Mobs/Villager.h | 50 +- src/Mobs/Witch.cpp | 4 - src/Mobs/Witch.h | 14 +- src/Mobs/Wither.cpp | 14 +- src/Mobs/Wither.h | 15 +- src/Mobs/WitherSkeleton.cpp | 10 +- src/Mobs/WitherSkeleton.h | 11 +- src/Mobs/Wolf.cpp | 92 +- src/Mobs/Wolf.h | 55 +- src/Mobs/Zombie.h | 13 +- src/Mobs/ZombiePigman.cpp | 10 +- src/Mobs/ZombiePigman.h | 11 +- src/Mobs/ZombieVillager.cpp | 10 +- src/Mobs/ZombieVillager.h | 24 +- src/MonsterConfig.cpp | 49 +- src/MonsterConfig.h | 10 +- src/NetherPortalScanner.cpp | 55 +- src/NetherPortalScanner.h | 5 +- src/Noise/InterpolNoise.h | 147 +- src/Noise/Noise.cpp | 478 +- src/Noise/Noise.h | 136 +- src/Noise/OctavedNoise.h | 105 +- src/Noise/RidgedNoise.h | 62 +- src/OSSupport/AtomicUniquePtr.h | 49 +- src/OSSupport/ConsoleSignalHandler.h | 48 +- src/OSSupport/CriticalSection.cpp | 16 +- src/OSSupport/CriticalSection.h | 51 +- src/OSSupport/Event.cpp | 12 +- src/OSSupport/Event.h | 12 +- src/OSSupport/File.cpp | 304 +- src/OSSupport/File.h | 69 +- src/OSSupport/GZipFile.cpp | 7 +- src/OSSupport/GZipFile.h | 10 +- src/OSSupport/GetAddressInfoError.h | 35 +- src/OSSupport/HostnameLookup.cpp | 56 +- src/OSSupport/HostnameLookup.h | 10 +- src/OSSupport/IPLookup.cpp | 71 +- src/OSSupport/IPLookup.h | 11 +- src/OSSupport/IsThread.cpp | 13 +- src/OSSupport/IsThread.h | 20 +- src/OSSupport/MiniDumpWriter.h | 109 +- src/OSSupport/Network.h | 92 +- src/OSSupport/NetworkInterfaceEnum.cpp | 112 +- src/OSSupport/NetworkLookup.cpp | 5 +- src/OSSupport/NetworkLookup.h | 14 +- src/OSSupport/NetworkSingleton.cpp | 58 +- src/OSSupport/NetworkSingleton.h | 17 +- src/OSSupport/Queue.h | 26 +- src/OSSupport/ServerHandleImpl.cpp | 139 +- src/OSSupport/ServerHandleImpl.h | 32 +- src/OSSupport/SleepResolutionBooster.h | 46 +- src/OSSupport/StackTrace.cpp | 45 +- src/OSSupport/StackTrace.h | 4 - src/OSSupport/StartAsService.h | 32 +- src/OSSupport/Stopwatch.h | 18 +- src/OSSupport/TCPLinkImpl.cpp | 78 +- src/OSSupport/TCPLinkImpl.h | 44 +- src/OSSupport/UDPEndpointImpl.cpp | 233 +- src/OSSupport/UDPEndpointImpl.h | 15 +- src/OSSupport/WinStackWalker.cpp | 516 +- src/OSSupport/WinStackWalker.h | 65 +- src/OpaqueWorld.h | 29 +- src/OverridesSettingsRepository.cpp | 59 +- src/OverridesSettingsRepository.h | 44 +- src/PalettedBlockArea.cpp | 13 +- src/PalettedBlockArea.h | 12 +- src/Physics/Explodinator.cpp | 775 +- src/Physics/Explodinator.h | 12 +- src/ProbabDistrib.cpp | 16 +- src/ProbabDistrib.h | 21 +- src/Protocol/Authenticator.cpp | 55 +- src/Protocol/Authenticator.h | 40 +- src/Protocol/ChunkDataSerializer.cpp | 256 +- src/Protocol/ChunkDataSerializer.h | 85 +- src/Protocol/ForgeHandshake.cpp | 56 +- src/Protocol/ForgeHandshake.h | 6 +- src/Protocol/MojangAPI.cpp | 228 +- src/Protocol/MojangAPI.h | 45 +- src/Protocol/Packetizer.h | 120 +- src/Protocol/Palettes/Palette_1_13.cpp | 34900 ++++++--- src/Protocol/Palettes/Palette_1_13.h | 10 +- src/Protocol/Palettes/Palette_1_13_1.cpp | 34942 ++++++--- src/Protocol/Palettes/Palette_1_13_1.h | 10 +- src/Protocol/Palettes/Palette_1_14.cpp | 44760 +++++++++--- src/Protocol/Palettes/Palette_1_14.h | 10 +- src/Protocol/Palettes/Palette_1_15.cpp | 44924 +++++++++--- src/Protocol/Palettes/Palette_1_15.h | 10 +- src/Protocol/Palettes/Palette_1_16.cpp | 72379 +++++++++++++++---- src/Protocol/Palettes/Palette_1_16.h | 10 +- src/Protocol/Palettes/Upgrade.cpp | 7692 +- src/Protocol/Palettes/Upgrade.h | 8 +- src/Protocol/Protocol.h | 246 +- src/Protocol/ProtocolRecognizer.cpp | 185 +- src/Protocol/ProtocolRecognizer.h | 25 +- src/Protocol/Protocol_1_10.cpp | 422 +- src/Protocol/Protocol_1_10.h | 12 +- src/Protocol/Protocol_1_11.cpp | 577 +- src/Protocol/Protocol_1_11.h | 30 +- src/Protocol/Protocol_1_12.cpp | 468 +- src/Protocol/Protocol_1_12.h | 27 +- src/Protocol/Protocol_1_13.cpp | 255 +- src/Protocol/Protocol_1_13.h | 69 +- src/Protocol/Protocol_1_14.cpp | 399 +- src/Protocol/Protocol_1_14.h | 92 +- src/Protocol/Protocol_1_8.cpp | 822 +- src/Protocol/Protocol_1_8.h | 284 +- src/Protocol/Protocol_1_9.cpp | 466 +- src/Protocol/Protocol_1_9.h | 179 +- src/Protocol/RecipeMapper.cpp | 31 +- src/Protocol/RecipeMapper.h | 12 +- src/RCONServer.cpp | 85 +- src/RCONServer.h | 23 +- src/RankManager.cpp | 386 +- src/RankManager.h | 26 +- src/Registries/BlockStates.cpp | 63843 ++++++++++++---- src/Registries/BlockStates.h | 60156 ++++++++------- src/Registries/CustomStatistics.h | 64 +- src/Root.cpp | 416 +- src/Root.h | 77 +- src/Scoreboard.cpp | 81 +- src/Scoreboard.h | 54 +- src/Server.cpp | 122 +- src/Server.h | 37 +- src/SettingsRepositoryInterface.h | 30 +- src/Simulator/DelayedFluidSimulator.cpp | 13 +- src/Simulator/DelayedFluidSimulator.h | 39 +- src/Simulator/FireSimulator.cpp | 78 +- src/Simulator/FireSimulator.h | 16 +- src/Simulator/FloodyFluidSimulator.cpp | 115 +- src/Simulator/FloodyFluidSimulator.h | 35 +- src/Simulator/FluidSimulator.cpp | 27 +- src/Simulator/FluidSimulator.h | 27 +- .../CommandBlockHandler.h | 83 +- .../DaylightSensorHandler.h | 104 +- .../IncrementalRedstoneSimulator/DoorHandler.h | 160 +- .../DropSpenserHandler.h | 126 +- .../ForEachSourceCallback.cpp | 45 +- .../ForEachSourceCallback.h | 17 +- .../IncrementalRedstoneSimulator/HopperHandler.h | 99 +- .../IncrementalRedstoneSimulator.cpp | 12 +- .../IncrementalRedstoneSimulator.h | 11 +- .../NoteBlockHandler.h | 83 +- .../IncrementalRedstoneSimulator/ObserverHandler.h | 178 +- .../IncrementalRedstoneSimulator/PistonHandler.h | 111 +- .../PoweredRailHandler.h | 144 +- .../PressurePlateHandler.h | 319 +- .../RedstoneBlockHandler.h | 68 +- .../RedstoneComparatorHandler.h | 221 +- .../RedstoneDataHelper.h | 68 +- .../RedstoneHandler.cpp | 184 +- .../IncrementalRedstoneSimulator/RedstoneHandler.h | 53 +- .../RedstoneLampHandler.h | 78 +- .../RedstoneRepeaterHandler.h | 255 +- .../RedstoneSimulatorChunkData.h | 19 +- .../RedstoneToggleHandler.h | 158 +- .../RedstoneTorchHandler.h | 149 +- .../RedstoneWireHandler.h | 433 +- .../SmallGateHandler.h | 80 +- .../IncrementalRedstoneSimulator/TNTHandler.h | 76 +- .../TrappedChestHandler.h | 89 +- .../TripwireHookHandler.h | 178 +- src/Simulator/NoopFluidSimulator.h | 11 +- src/Simulator/NoopRedstoneSimulator.h | 15 +- src/Simulator/RedstoneSimulator.h | 13 +- src/Simulator/SandSimulator.cpp | 24 +- src/Simulator/SandSimulator.h | 19 +- src/Simulator/Simulator.cpp | 66 +- src/Simulator/Simulator.h | 39 +- src/Simulator/SimulatorManager.cpp | 49 +- src/Simulator/SimulatorManager.h | 20 +- src/Simulator/VanillaFluidSimulator.cpp | 26 +- src/Simulator/VanillaFluidSimulator.h | 24 +- src/Simulator/VaporizeFluidSimulator.cpp | 15 +- src/Simulator/VaporizeFluidSimulator.h | 11 +- src/SpawnPrepare.cpp | 39 +- src/SpawnPrepare.h | 24 +- src/StatisticsManager.cpp | 2 +- src/StatisticsManager.h | 3 +- src/StringCompression.cpp | 64 +- src/StringCompression.h | 102 +- src/StringUtils.cpp | 171 +- src/StringUtils.h | 21 +- src/UI/AnvilWindow.cpp | 22 +- src/UI/AnvilWindow.h | 20 +- src/UI/BeaconWindow.cpp | 27 +- src/UI/BeaconWindow.h | 19 +- src/UI/BrewingstandWindow.cpp | 24 +- src/UI/BrewingstandWindow.h | 18 +- src/UI/ChestWindow.cpp | 20 +- src/UI/ChestWindow.h | 20 +- src/UI/CraftingWindow.cpp | 20 +- src/UI/CraftingWindow.h | 14 +- src/UI/DropSpenserWindow.cpp | 20 +- src/UI/DropSpenserWindow.h | 17 +- src/UI/EnchantingWindow.cpp | 22 +- src/UI/EnchantingWindow.h | 17 +- src/UI/EnderChestWindow.cpp | 37 +- src/UI/EnderChestWindow.h | 20 +- src/UI/FurnaceWindow.cpp | 28 +- src/UI/FurnaceWindow.h | 18 +- src/UI/HopperWindow.cpp | 20 +- src/UI/HopperWindow.h | 19 +- src/UI/HorseWindow.cpp | 23 +- src/UI/HorseWindow.h | 20 +- src/UI/InventoryWindow.cpp | 34 +- src/UI/InventoryWindow.h | 17 +- src/UI/MinecartWithChestWindow.h | 29 +- src/UI/SlotArea.cpp | 328 +- src/UI/SlotArea.h | 326 +- src/UI/Window.cpp | 97 +- src/UI/Window.h | 101 +- src/UI/WindowOwner.h | 41 +- src/UUID.cpp | 40 +- src/UUID.h | 24 +- src/Vector3.h | 268 +- src/VoronoiMap.cpp | 22 +- src/VoronoiMap.h | 27 +- src/WebAdmin.cpp | 130 +- src/WebAdmin.h | 64 +- src/World.cpp | 749 +- src/World.h | 699 +- src/WorldStorage/EnchantmentSerializer.cpp | 30 +- src/WorldStorage/EnchantmentSerializer.h | 15 +- src/WorldStorage/FastNBT.cpp | 95 +- src/WorldStorage/FastNBT.h | 120 +- src/WorldStorage/FireworksSerializer.cpp | 67 +- src/WorldStorage/FireworksSerializer.h | 32 +- src/WorldStorage/MapSerializer.cpp | 17 +- src/WorldStorage/MapSerializer.h | 21 +- src/WorldStorage/NBTChunkSerializer.cpp | 1073 +- src/WorldStorage/NBTChunkSerializer.h | 3 +- src/WorldStorage/NamespaceSerializer.cpp | 692 +- src/WorldStorage/NamespaceSerializer.h | 34 +- src/WorldStorage/SchematicFileSerializer.cpp | 66 +- src/WorldStorage/SchematicFileSerializer.h | 9 +- src/WorldStorage/ScoreboardSerializer.cpp | 26 +- src/WorldStorage/ScoreboardSerializer.h | 14 +- src/WorldStorage/StatisticsSerializer.cpp | 6 +- src/WorldStorage/StatisticsSerializer.h | 15 +- src/WorldStorage/WSSAnvil.cpp | 766 +- src/WorldStorage/WSSAnvil.h | 441 +- src/WorldStorage/WorldStorage.cpp | 44 +- src/WorldStorage/WorldStorage.h | 29 +- src/XMLParser.h | 498 +- src/fmt.h | 9 +- src/main.cpp | 56 +- src/mbedTLS++/AesCfb128Decryptor.cpp | 11 +- src/mbedTLS++/AesCfb128Decryptor.h | 8 +- src/mbedTLS++/AesCfb128Encryptor.cpp | 11 +- src/mbedTLS++/AesCfb128Encryptor.h | 8 +- src/mbedTLS++/BlockingSslClientSocket.cpp | 65 +- src/mbedTLS++/BlockingSslClientSocket.h | 18 +- src/mbedTLS++/BufferedSslContext.cpp | 9 +- src/mbedTLS++/BufferedSslContext.h | 14 +- src/mbedTLS++/CallbackSslContext.cpp | 8 +- src/mbedTLS++/CallbackSslContext.h | 18 +- src/mbedTLS++/CryptoKey.cpp | 61 +- src/mbedTLS++/CryptoKey.h | 17 +- src/mbedTLS++/CtrDrbgContext.cpp | 18 +- src/mbedTLS++/CtrDrbgContext.h | 10 +- src/mbedTLS++/EntropyContext.cpp | 4 - src/mbedTLS++/EntropyContext.h | 11 +- src/mbedTLS++/ErrorCodes.h | 25 +- src/mbedTLS++/RsaPrivateKey.cpp | 37 +- src/mbedTLS++/RsaPrivateKey.h | 11 +- src/mbedTLS++/Sha1Checksum.cpp | 4 - src/mbedTLS++/Sha1Checksum.h | 10 +- src/mbedTLS++/SslConfig.cpp | 184 +- src/mbedTLS++/SslConfig.h | 14 +- src/mbedTLS++/SslContext.cpp | 7 +- src/mbedTLS++/SslContext.h | 11 +- src/mbedTLS++/X509Cert.cpp | 7 +- src/mbedTLS++/X509Cert.h | 10 +- 917 files changed, 310543 insertions(+), 127450 deletions(-) diff --git a/Tools/AnvilStats/AnvilStats.cpp b/Tools/AnvilStats/AnvilStats.cpp index 5c3a1708a..dafeba463 100644 --- a/Tools/AnvilStats/AnvilStats.cpp +++ b/Tools/AnvilStats/AnvilStats.cpp @@ -45,12 +45,12 @@ int main(int argc, char * argv[]) cCallbackFactory * Factory = NULL; switch (atol(argv[1])) { - case 0: Factory = new cStatisticsFactory; break; - case 1: Factory = new cBiomeMapFactory; break; - case 2: Factory = new cHeightMapFactory; break; + case 0: Factory = new cStatisticsFactory; break; + case 1: Factory = new cBiomeMapFactory; break; + case 2: Factory = new cHeightMapFactory; break; case 3: Factory = new cChunkExtractFactory(WorldFolder); break; - case 4: Factory = new cSpringStatsFactory; break; - case 5: Factory = new cHeightBiomeMapFactory; break; + case 4: Factory = new cSpringStatsFactory; break; + case 5: Factory = new cHeightBiomeMapFactory; break; default: { LOG("Unknown method \"%s\", aborting.", argv[1]); diff --git a/Tools/AnvilStats/BiomeMap.cpp b/Tools/AnvilStats/BiomeMap.cpp index edb971f85..1238bf7ac 100644 --- a/Tools/AnvilStats/BiomeMap.cpp +++ b/Tools/AnvilStats/BiomeMap.cpp @@ -11,22 +11,18 @@ -static const unsigned char g_BMPHeader[] = -{ - 0x42, 0x4D, 0x36, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -} ; +static const unsigned char g_BMPHeader[] = {0x42, 0x4D, 0x36, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, + 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; cBiomeMap::cBiomeMap(void) : - m_CurrentRegionX(0), - m_CurrentRegionZ(0), - m_IsCurrentRegionValid(false) + m_CurrentRegionX(0), m_CurrentRegionZ(0), m_IsCurrentRegionValid(false) { } @@ -105,7 +101,7 @@ void cBiomeMap::StartNewRegion(int a_RegionX, int a_RegionZ) for (int z = 0; z < 512; z++) { int RowData[512]; - unsigned char * BiomeRow = (unsigned char *)m_Biomes + z * 512; + unsigned char * BiomeRow = (unsigned char *) m_Biomes + z * 512; for (int x = 0; x < 512; x++) { RowData[x] = g_BiomeColors[BiomeRow[x]]; @@ -131,7 +127,7 @@ cBiomeMapFactory::~cBiomeMapFactory() // Force all threads to save their last regions: for (cCallbacks::iterator itr = m_Callbacks.begin(), end = m_Callbacks.end(); itr != end; ++itr) { - ((cBiomeMap *)(*itr))->Finish(); + ((cBiomeMap *) (*itr))->Finish(); } // TODO: Join all the files into one giant image file } diff --git a/Tools/AnvilStats/BiomeMap.h b/Tools/AnvilStats/BiomeMap.h index a2eb12a41..b61d881a5 100644 --- a/Tools/AnvilStats/BiomeMap.h +++ b/Tools/AnvilStats/BiomeMap.h @@ -15,16 +15,15 @@ -class cBiomeMap : - public cCallback +class cBiomeMap : public cCallback { -public: + public: cBiomeMap(void); /** Saves the last region that it was processing */ void Finish(void); -protected: + protected: int m_CurrentChunkX; // Absolute chunk coords int m_CurrentChunkZ; int m_CurrentChunkOffX; // Chunk offset from the start of the region @@ -37,29 +36,30 @@ protected: // cCallback overrides: virtual bool OnNewChunk(int a_ChunkX, int a_ChunkZ) override; virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) override { return false; } - virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override { return false; } + virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override + { + return false; + } virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) override { return false; } virtual bool OnRealCoords(int a_ChunkX, int a_ChunkZ) override { return false; } virtual bool OnLastUpdate(Int64 a_LastUpdate) override { return false; } - virtual bool OnTerrainPopulated(bool a_Populated) override { return false; } // We don't care about "populated", the biomes are the same + virtual bool OnTerrainPopulated(bool a_Populated) override + { + return false; + } // We don't care about "populated", the biomes are the same virtual bool OnBiomes(const unsigned char * a_BiomeData) override; void StartNewRegion(int a_RegionX, int a_RegionZ); -} ; +}; -class cBiomeMapFactory : - public cCallbackFactory +class cBiomeMapFactory : public cCallbackFactory { -public: + public: virtual ~cBiomeMapFactory(); - virtual cCallback * CreateNewCallback(void) override - { - return new cBiomeMap; - } - -} ; + virtual cCallback * CreateNewCallback(void) override { return new cBiomeMap; } +}; diff --git a/Tools/AnvilStats/Callback.h b/Tools/AnvilStats/Callback.h index 9b6554a8d..3e080f65d 100644 --- a/Tools/AnvilStats/Callback.h +++ b/Tools/AnvilStats/Callback.h @@ -24,19 +24,19 @@ class cParsedNBT; The processor calls each virtual function in the order they are declared here with the specified args. If the function returns true, the processor doesn't process the data item, moves on to the next chunk and starts calling the callbacks again from start with the new chunk data. -So if a statistics collector doesn't need data decompression at all, it can stop the processor from doing so early-enough -and still get meaningful data. -A callback is guaranteed to run in a single thread and always the same thread for the same chunk. -A callback is guaranteed to run on all chunks in a region and one region is guaranteed to be handled by only callback. +So if a statistics collector doesn't need data decompression at all, it can stop the processor from doing so +early-enough and still get meaningful data. A callback is guaranteed to run in a single thread and always the same +thread for the same chunk. A callback is guaranteed to run on all chunks in a region and one region is guaranteed to be +handled by only callback. */ class cCallback abstract { -public: + public: enum { CALLBACK_CONTINUE = false, - CALLBACK_ABORT = true, - } ; + CALLBACK_ABORT = true, + }; virtual ~cCallback() {} // Force a virtual destructor in each descendant @@ -46,11 +46,16 @@ public: /** Called to inform the stats module of the chunk coords for newly processing chunk */ virtual bool OnNewChunk(int a_ChunkX, int a_ChunkZ) = 0; - /** Called to inform about the chunk's data offset in the file (chunk mini-header), the number of sectors it uses and the timestamp field value */ + /** Called to inform about the chunk's data offset in the file (chunk mini-header), the number of sectors it uses + * and the timestamp field value */ virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) { return CALLBACK_ABORT; } - /** Called to inform of the compressed chunk data size and position in the file (offset from file start to the actual data) */ - virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) { return CALLBACK_ABORT; } + /** Called to inform of the compressed chunk data size and position in the file (offset from file start to the + * actual data) */ + virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) + { + return CALLBACK_ABORT; + } /** Just in case you wanted to process the NBT yourself ;) */ virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) { return CALLBACK_ABORT; } @@ -71,7 +76,8 @@ public: virtual bool OnHeightMap(const int * a_HeightMapBE) { return CALLBACK_ABORT; } /** If there is data for the section, this callback is called; otherwise OnEmptySection() is called instead. - All OnSection() callbacks are called first, and only then all the remaining sections are reported in OnEmptySection(). + All OnSection() callbacks are called first, and only then all the remaining sections are reported in + OnEmptySection(). */ virtual bool OnSection( unsigned char a_Y, @@ -80,7 +86,10 @@ public: const NIBBLETYPE * a_BlockMeta, const NIBBLETYPE * a_BlockLight, const NIBBLETYPE * a_BlockSkyLight - ) { return CALLBACK_ABORT; } + ) + { + return CALLBACK_ABORT; + } /** If there is no data for a section, this callback is called; otherwise OnSection() is called instead. OnEmptySection() callbacks are called after all OnSection() callbacks. @@ -88,7 +97,7 @@ public: virtual bool OnEmptySection(unsigned char a_Y) { return CALLBACK_CONTINUE; } /** Called after all sections have been processed via either OnSection() or OnEmptySection(). - */ + */ virtual bool OnSectionsFinished(void) { return CALLBACK_ABORT; } /** Called for each entity in the chunk. @@ -98,16 +107,24 @@ public: */ virtual bool OnEntity( const AString & a_EntityType, - double a_PosX, double a_PosY, double a_PosZ, - double a_SpeedX, double a_SpeedY, double a_SpeedZ, - float a_Yaw, float a_Pitch, + double a_PosX, + double a_PosY, + double a_PosZ, + double a_SpeedX, + double a_SpeedY, + double a_SpeedZ, + float a_Yaw, + float a_Pitch, float a_FallDistance, short a_FireTicksLeft, short a_AirTicks, char a_IsOnGround, cParsedNBT & a_NBT, int a_NBTTag - ) { return CALLBACK_ABORT; } + ) + { + return CALLBACK_ABORT; + } /** Called for each tile entity in the chunk. Common parameters are parsed from the NBT. @@ -116,21 +133,26 @@ public: */ virtual bool OnTileEntity( const AString & a_EntityType, - int a_PosX, int a_PosY, int a_PosZ, + int a_PosX, + int a_PosY, + int a_PosZ, cParsedNBT & a_NBT, int a_NBTTag - ) { return CALLBACK_ABORT; } + ) + { + return CALLBACK_ABORT; + } /** Called for each tile tick in the chunk */ - virtual bool OnTileTick( - int a_BlockType, - int a_TicksLeft, - int a_PosX, int a_PosY, int a_PosZ - ) { return CALLBACK_ABORT; } + virtual bool OnTileTick(int a_BlockType, int a_TicksLeft, int a_PosX, int a_PosY, int a_PosZ) + { + return CALLBACK_ABORT; + } - /** Called after the entire region file has been processed. No more callbacks for this region will be called. No processing by default */ + /** Called after the entire region file has been processed. No more callbacks for this region will be called. No + * processing by default */ virtual void OnRegionFinished(int a_RegionX, int a_RegionZ) {} -} ; +}; typedef std::vector cCallbacks; @@ -145,7 +167,7 @@ The factory keeps track of all the callbacks that it has created and deletes the */ class cCallbackFactory { -public: + public: virtual ~cCallbackFactory() { for (cCallbacks::iterator itr = m_Callbacks.begin(), end = m_Callbacks.end(); itr != end; ++itr) @@ -168,6 +190,6 @@ public: return Callback; } -protected: + protected: cCallbacks m_Callbacks; -} ; +}; diff --git a/Tools/AnvilStats/ChunkExtract.cpp b/Tools/AnvilStats/ChunkExtract.cpp index fda09dfbd..67e8b4672 100644 --- a/Tools/AnvilStats/ChunkExtract.cpp +++ b/Tools/AnvilStats/ChunkExtract.cpp @@ -1,7 +1,8 @@ // ChunkExtract.cpp -// Implements the cChunkExtract class representing a cCallback descendant that extracts raw chunk data into separate .chunk files +// Implements the cChunkExtract class representing a cCallback descendant that extracts raw chunk data into separate +// .chunk files #include "Globals.h" #include "ChunkExtract.h" @@ -47,7 +48,10 @@ bool cChunkExtract::OnCompressedDataSizePos(int a_CompressedDataSize, int a_Data AString ChunkPath = Printf("%d.%d.zchunk", mCurChunkX, mCurChunkZ); if (!ChunkFile.Open(ChunkPath, cFile::fmWrite)) { - LOG("Cannot open zchunk file \"%s\" for writing. Chunk [%d, %d] skipped.", ChunkPath.c_str(), mCurChunkX, mCurChunkZ); + LOG("Cannot open zchunk file \"%s\" for writing. Chunk [%d, %d] skipped.", + ChunkPath.c_str(), + mCurChunkX, + mCurChunkZ); return false; } @@ -56,11 +60,12 @@ bool cChunkExtract::OnCompressedDataSizePos(int a_CompressedDataSize, int a_Data for (int BytesToCopy = a_CompressedDataSize; BytesToCopy > 0;) { char Buffer[64000]; - int NumBytes = std::min(BytesToCopy, (int)sizeof(Buffer)); + int NumBytes = std::min(BytesToCopy, (int) sizeof(Buffer)); int BytesRead = mAnvilFile.Read(Buffer, NumBytes); if (BytesRead != NumBytes) { - LOG("Cannot copy chunk data, chunk [%d, %d] is probably corrupted. Skipping chunk.", mCurChunkX, mCurChunkZ); + LOG("Cannot copy chunk data, chunk [%d, %d] is probably corrupted. Skipping chunk.", mCurChunkX, mCurChunkZ + ); return false; } ChunkFile.Write(Buffer, BytesRead); @@ -80,7 +85,10 @@ bool cChunkExtract::OnDecompressedData(const char * a_DecompressedNBT, int a_Dat cGZipFile GZipChunk; if (!GZipChunk.Open(FileName, cGZipFile::fmWrite)) { - LOG("Cannot open gzchunk file \"%s\" for writing. Chunk [%d, %d] skipped.", FileName.c_str(), mCurChunkX, mCurChunkZ); + LOG("Cannot open gzchunk file \"%s\" for writing. Chunk [%d, %d] skipped.", + FileName.c_str(), + mCurChunkX, + mCurChunkZ); return true; } GZipChunk.Write(a_DecompressedNBT, a_DataSize); diff --git a/Tools/AnvilStats/ChunkExtract.h b/Tools/AnvilStats/ChunkExtract.h index a5be2bc25..777589d5e 100644 --- a/Tools/AnvilStats/ChunkExtract.h +++ b/Tools/AnvilStats/ChunkExtract.h @@ -1,7 +1,8 @@ // ChunkExtract.h -// Declares the cChunkExtract class representing a cCallback descendant that extracts raw chunk data into separate .chunk files +// Declares the cChunkExtract class representing a cCallback descendant that extracts raw chunk data into separate +// .chunk files @@ -15,19 +16,18 @@ -class cChunkExtract : - public cCallback +class cChunkExtract : public cCallback { -public: + public: cChunkExtract(const AString & iWorldFolder); -protected: + protected: AString mWorldFolder; - cFile mAnvilFile; - int mCurAnvilX; // X-coord of mAnvilFile, in Anvil-coords (1 Anvil-coord = 32 chunks) - int mCurAnvilZ; // Z-coord of mAnvilFile, -"- - int mCurChunkX; // X-coord of the chunk being processed - int mCurChunkZ; // Z-coord of the chunk being processed + cFile mAnvilFile; + int mCurAnvilX; // X-coord of mAnvilFile, in Anvil-coords (1 Anvil-coord = 32 chunks) + int mCurAnvilZ; // Z-coord of mAnvilFile, -"- + int mCurChunkX; // X-coord of the chunk being processed + int mCurChunkZ; // Z-coord of the chunk being processed /** Opens new anvil file into mAnvilFile, sets mCurAnvilX and mCurAnvilZ */ void OpenAnvilFile(int a_AnvilX, int a_AnvilZ); @@ -37,26 +37,22 @@ protected: virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) override { return false; } virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override; virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) override; -} ; +}; -class cChunkExtractFactory : - public cCallbackFactory +class cChunkExtractFactory : public cCallbackFactory { -public: + public: cChunkExtractFactory(const AString & iWorldFolder) : mWorldFolder(iWorldFolder) { } - virtual cCallback * CreateNewCallback(void) override - { - return new cChunkExtract(mWorldFolder); - } + virtual cCallback * CreateNewCallback(void) override { return new cChunkExtract(mWorldFolder); } -protected: + protected: AString mWorldFolder; -} ; +}; diff --git a/Tools/AnvilStats/Globals.cpp b/Tools/AnvilStats/Globals.cpp index 13c6ae709..680afbf75 100644 --- a/Tools/AnvilStats/Globals.cpp +++ b/Tools/AnvilStats/Globals.cpp @@ -4,7 +4,3 @@ // This file is used for precompiled header generation in MSVC environments #include "Globals.h" - - - - diff --git a/Tools/AnvilStats/Globals.h b/Tools/AnvilStats/Globals.h index 18e2ab7c4..1cb3b6912 100644 --- a/Tools/AnvilStats/Globals.h +++ b/Tools/AnvilStats/Globals.h @@ -10,22 +10,22 @@ // Compiler-dependent stuff: #if defined(_MSC_VER) - // MSVC produces warning C4481 on the override keyword usage, so disable the warning altogether - #pragma warning(disable:4481) +// MSVC produces warning C4481 on the override keyword usage, so disable the warning altogether +#pragma warning(disable : 4481) - // Disable some warnings that we don't care about: - #pragma warning(disable:4100) +// Disable some warnings that we don't care about: +#pragma warning(disable : 4100) - #define _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS #elif defined(__GNUC__) - // TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? - #define abstract +// TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? +#define abstract #else - #error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" +#error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" #endif @@ -35,12 +35,12 @@ // Integral types with predefined sizes: typedef long long Int64; -typedef int Int32; -typedef short Int16; +typedef int Int32; +typedef short Int16; typedef unsigned long long UInt64; -typedef unsigned int UInt32; -typedef unsigned short UInt16; +typedef unsigned int UInt32; +typedef unsigned short UInt16; @@ -49,48 +49,48 @@ typedef unsigned short UInt16; // A macro to disallow the copy constructor and operator= functions // This should be used in the private: declarations for any class that shouldn't allow copying itself #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName &); \ + TypeName(const TypeName &); \ void operator=(const TypeName &) // A macro that is used to mark unused function parameters, to avoid pedantic warnings in gcc -#define UNUSED(X) (void)(X) +#define UNUSED(X) (void) (X) // OS-dependent stuff: #ifdef _WIN32 - #define WIN32_LEAN_AND_MEAN - #include - #include - - // Windows SDK defines min and max macros, messing up with our std::min and std::max usage - #undef min - #undef max - - // Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant - #ifdef GetFreeSpace - #undef GetFreeSpace - #endif // GetFreeSpace +#define WIN32_LEAN_AND_MEAN +#include +#include + +// Windows SDK defines min and max macros, messing up with our std::min and std::max usage +#undef min +#undef max + +// Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant +#ifdef GetFreeSpace +#undef GetFreeSpace +#endif // GetFreeSpace #else - #include - #include // for mkdir - #include - #include - #include - #include - #include - #include - #include - #include - #include - - #include - #include - #include - #include - #include - #include +#include +#include // for mkdir +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include #endif @@ -146,21 +146,21 @@ typedef unsigned short UInt16; #define ARRAYCOUNT(X) (sizeof(X) / sizeof(*(X))) /** Allows arithmetic expressions like "32 KiB" (but consider using parenthesis around it, "(32 KiB)") */ -#define KiB * 1024 +#define KiB *1024 /** Allows arithmetic expressions like "32 MiB" (but consider using parenthesis around it, "(32 MiB)") */ -#define MiB * 1024 * 1024 +#define MiB *1024 * 1024 /** Faster than (int)floorf((float)x / (float)div) */ -#define FAST_FLOOR_DIV(x, div) ((x) < 0 ? (((int)x / div) - 1) : ((int)x / div)) +#define FAST_FLOOR_DIV(x, div) ((x) < 0 ? (((int) x / div) - 1) : ((int) x / div)) #define TOLUA_TEMPLATE_BIND(...) // Own version of assert() that writes failed assertions to the log for review -#ifdef _DEBUG - #define ASSERT(x) (!!(x) || (LOGERROR("Assertion failed: %s, file %s, line %i", #x, __FILE__, __LINE__), assert(0), 0)) +#ifdef _DEBUG +#define ASSERT(x) (!!(x) || (LOGERROR("Assertion failed: %s, file %s, line %i", #x, __FILE__, __LINE__), assert(0), 0)) #else - #define ASSERT(x) ((void)0) +#define ASSERT(x) ((void) 0) #endif // Pretty much the same as ASSERT() but stays in Release builds @@ -173,8 +173,7 @@ typedef unsigned char Byte; /** Clamp value to the specified range. */ -template -T Clamp(T a_Value, T a_Min, T a_Max) +template T Clamp(T a_Value, T a_Min, T a_Max) { return (a_Value < a_Min) ? a_Min : ((a_Value > a_Max) ? a_Max : a_Value); } diff --git a/Tools/AnvilStats/HeightBiomeMap.cpp b/Tools/AnvilStats/HeightBiomeMap.cpp index fcbc5f4df..430a1aec1 100644 --- a/Tools/AnvilStats/HeightBiomeMap.cpp +++ b/Tools/AnvilStats/HeightBiomeMap.cpp @@ -12,11 +12,7 @@ cHeightBiomeMap::cHeightBiomeMap(void) : - super("HeBi"), - m_MinRegionX(100000), - m_MaxRegionX(-100000), - m_MinRegionZ(100000), - m_MaxRegionZ(-100000) + super("HeBi"), m_MinRegionX(100000), m_MaxRegionX(-100000), m_MinRegionZ(100000), m_MaxRegionZ(-100000) { } @@ -68,7 +64,6 @@ bool cHeightBiomeMap::OnNewChunk(int a_ChunkX, int a_ChunkZ) - bool cHeightBiomeMap::OnBiomes(const unsigned char * a_BiomeData) { memcpy(m_ChunkBiomes, a_BiomeData, sizeof(m_ChunkBiomes)); @@ -114,8 +109,7 @@ bool cHeightBiomeMap::OnSection( bool cHeightBiomeMap::OnSectionsFinished(void) { - static const int BiomePalette[] = - { + static const int BiomePalette[] = { // ARGB: 0xff0000ff, /* Ocean */ 0xff00cf3f, /* Plains */ @@ -140,7 +134,7 @@ bool cHeightBiomeMap::OnSectionsFinished(void) 0xff7f8f7f, /* Extreme Hills Edge */ 0xff004f00, /* Jungle */ 0xff003f00, /* Jungle Hills */ - } ; + }; // Remove trees and other unwanted stuff from the heightmap: for (int z = 0; z < 16; z++) @@ -185,7 +179,7 @@ cHeightBiomeMapFactory::~cHeightBiomeMapFactory() int MaxRegionZ = -100000; for (cCallbacks::iterator itr = m_Callbacks.begin(), end = m_Callbacks.end(); itr != end; ++itr) { - cHeightBiomeMap * cb = (cHeightBiomeMap *)(*itr); + cHeightBiomeMap * cb = (cHeightBiomeMap *) (*itr); if (cb->m_MinRegionX < MinRegionX) { MinRegionX = cb->m_MinRegionX; @@ -205,7 +199,8 @@ cHeightBiomeMapFactory::~cHeightBiomeMapFactory() } // If the size is small enough, write an HTML file referencing all the images in a table: - if ((MaxRegionX >= MinRegionX) && (MaxRegionZ >= MinRegionZ) && (MaxRegionX - MinRegionX < 100) && (MaxRegionZ - MinRegionZ < 100)) + if ((MaxRegionX >= MinRegionX) && (MaxRegionZ >= MinRegionZ) && (MaxRegionX - MinRegionX < 100) && + (MaxRegionZ - MinRegionZ < 100)) { cFile HTML("HeBi.html", cFile::fmWrite); if (HTML.IsOpen()) diff --git a/Tools/AnvilStats/HeightBiomeMap.h b/Tools/AnvilStats/HeightBiomeMap.h index 8a2cb9726..16d4ef308 100644 --- a/Tools/AnvilStats/HeightBiomeMap.h +++ b/Tools/AnvilStats/HeightBiomeMap.h @@ -15,40 +15,51 @@ -class cHeightBiomeMap : - public cImageComposingCallback +class cHeightBiomeMap : public cImageComposingCallback { typedef cImageComposingCallback super; -public: + public: // Minima and maxima for the regions processed through this callback int m_MinRegionX, m_MaxRegionX; int m_MinRegionZ, m_MaxRegionZ; cHeightBiomeMap(void); -protected: + protected: int m_CurrentChunkX; // Absolute chunk coords int m_CurrentChunkZ; int m_CurrentChunkRelX; // Chunk offset from the start of the region int m_CurrentChunkRelZ; /** Biome-map for the current chunk */ - char m_ChunkBiomes[16 * 16]; + char m_ChunkBiomes[16 * 16]; /** Height-map for the current chunk */ - int m_ChunkHeight[16 * 16]; + int m_ChunkHeight[16 * 16]; /** Block data for the current chunk (between OnSection() and OnSectionsFinished()) */ - BLOCKTYPE m_BlockTypes [16 * 16 * 256]; + BLOCKTYPE m_BlockTypes[16 * 16 * 256]; // cCallback overrides: virtual bool OnNewRegion(int a_RegionX, int a_RegionZ) override; virtual bool OnNewChunk(int a_ChunkX, int a_ChunkZ) override; - virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) override { return CALLBACK_CONTINUE; } - virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override { return CALLBACK_CONTINUE; } - virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) override { return CALLBACK_CONTINUE; } + virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) override + { + return CALLBACK_CONTINUE; + } + virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override + { + return CALLBACK_CONTINUE; + } + virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) override + { + return CALLBACK_CONTINUE; + } virtual bool OnRealCoords(int a_ChunkX, int a_ChunkZ) override { return CALLBACK_CONTINUE; } virtual bool OnLastUpdate(Int64 a_LastUpdate) override { return CALLBACK_CONTINUE; } - virtual bool OnTerrainPopulated(bool a_Populated) override { return a_Populated ? CALLBACK_CONTINUE : CALLBACK_ABORT; } // If not populated, we don't want it! + virtual bool OnTerrainPopulated(bool a_Populated) override + { + return a_Populated ? CALLBACK_CONTINUE : CALLBACK_ABORT; + } // If not populated, we don't want it! virtual bool OnBiomes(const unsigned char * a_BiomeData) override; virtual bool OnHeightMap(const int * a_HeightMapBE) override; virtual bool OnSection( @@ -60,21 +71,16 @@ protected: const NIBBLETYPE * a_BlockSkyLight ) override; virtual bool OnSectionsFinished(void) override; - -} ; +}; -class cHeightBiomeMapFactory : - public cCallbackFactory +class cHeightBiomeMapFactory : public cCallbackFactory { -public: + public: virtual ~cHeightBiomeMapFactory(); - virtual cCallback * CreateNewCallback(void) override - { - return new cHeightBiomeMap; - } -} ; + virtual cCallback * CreateNewCallback(void) override { return new cHeightBiomeMap; } +}; diff --git a/Tools/AnvilStats/HeightMap.cpp b/Tools/AnvilStats/HeightMap.cpp index 74ce1bf50..ee42200ac 100644 --- a/Tools/AnvilStats/HeightMap.cpp +++ b/Tools/AnvilStats/HeightMap.cpp @@ -9,22 +9,18 @@ -static const unsigned char g_BMPHeader[] = -{ - 0x42, 0x4D, 0x36, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -} ; +static const unsigned char g_BMPHeader[] = {0x42, 0x4D, 0x36, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, + 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; cHeightMap::cHeightMap(void) : - m_CurrentRegionX(0), - m_CurrentRegionZ(0), - m_IsCurrentRegionValid(false) + m_CurrentRegionX(0), m_CurrentRegionZ(0), m_IsCurrentRegionValid(false) { } @@ -207,7 +203,8 @@ bool cHeightMap::IsGround(BLOCKTYPE a_BlockType) case E_BLOCK_LEAVES: case E_BLOCK_LEVER: case E_BLOCK_LILY_PAD: - case E_BLOCK_LOG: // NOTE: This block is actually solid, but we don't want it because it's the thing that trees are made of, and we're getting rid of trees + case E_BLOCK_LOG: // NOTE: This block is actually solid, but we don't want it because it's the thing that trees + // are made of, and we're getting rid of trees case E_BLOCK_MELON: case E_BLOCK_MELON_STEM: case E_BLOCK_NETHER_BRICK_FENCE: @@ -261,7 +258,7 @@ cHeightMapFactory::~cHeightMapFactory() // Force all threads to save their last regions: for (cCallbacks::iterator itr = m_Callbacks.begin(), end = m_Callbacks.end(); itr != end; ++itr) { - ((cHeightMap *)(*itr))->Finish(); + ((cHeightMap *) (*itr))->Finish(); } // TODO: Join all the files into one giant image file } diff --git a/Tools/AnvilStats/HeightMap.h b/Tools/AnvilStats/HeightMap.h index 69deb5bab..9d62febfc 100644 --- a/Tools/AnvilStats/HeightMap.h +++ b/Tools/AnvilStats/HeightMap.h @@ -15,17 +15,16 @@ -class cHeightMap : - public cCallback +class cHeightMap : public cCallback { -public: + public: cHeightMap(void); void Finish(void); static bool IsGround(BLOCKTYPE a_BlockType); -protected: + protected: int m_CurrentChunkX; // Absolute chunk coords int m_CurrentChunkZ; int m_CurrentChunkOffX; // Chunk offset from the start of the region @@ -34,18 +33,24 @@ protected: int m_CurrentRegionZ; bool m_IsCurrentRegionValid; /** Height-map of the entire current region [x + 16 * 32 * z] */ - int m_Height[16 * 32 * 16 * 32]; + int m_Height[16 * 32 * 16 * 32]; /** Block data of the currently processed chunk (between OnSection() and OnSectionsFinished()) */ BLOCKTYPE m_BlockTypes[16 * 16 * 256]; // cCallback overrides: virtual bool OnNewChunk(int a_ChunkX, int a_ChunkZ) override; virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) override { return false; } - virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override { return false; } + virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override + { + return false; + } virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) override { return false; } virtual bool OnRealCoords(int a_ChunkX, int a_ChunkZ) override { return false; } virtual bool OnLastUpdate(Int64 a_LastUpdate) override { return false; } - virtual bool OnTerrainPopulated(bool a_Populated) override { return !a_Populated; } // If not populated, we don't want it! + virtual bool OnTerrainPopulated(bool a_Populated) override + { + return !a_Populated; + } // If not populated, we don't want it! virtual bool OnBiomes(const unsigned char * a_BiomeData) { return false; } virtual bool OnHeightMap(const int * a_HeightMapBE) override; virtual bool OnSection( @@ -59,21 +64,16 @@ protected: virtual bool OnSectionsFinished(void) override; void StartNewRegion(int a_RegionX, int a_RegionZ); -} ; +}; -class cHeightMapFactory : - public cCallbackFactory +class cHeightMapFactory : public cCallbackFactory { -public: + public: virtual ~cHeightMapFactory(); - virtual cCallback * CreateNewCallback(void) override - { - return new cHeightMap; - } - -} ; + virtual cCallback * CreateNewCallback(void) override { return new cHeightMap; } +}; diff --git a/Tools/AnvilStats/ImageComposingCallback.cpp b/Tools/AnvilStats/ImageComposingCallback.cpp index cc200b9a4..0bf11a815 100644 --- a/Tools/AnvilStats/ImageComposingCallback.cpp +++ b/Tools/AnvilStats/ImageComposingCallback.cpp @@ -145,7 +145,6 @@ int cImageComposingCallback::GetPixel(int a_RelU, int a_RelV) - void cImageComposingCallback::SetPixelURow(int a_RelUStart, int a_RelV, int a_CountU, int * a_Pixels) { ASSERT((a_RelUStart >= 0) && (a_RelUStart + a_CountU <= IMAGE_WIDTH)); @@ -202,13 +201,11 @@ void cImageComposingCallback::SaveImage(const AString & a_FileName) } // Header for BMP files (is the same for the same-size files) - static const unsigned char BMPHeader[] = - { - 0x42, 0x4D, 0x36, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - } ; + static const unsigned char BMPHeader[] = {0x42, 0x4D, 0x36, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, + 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; f.Write(BMPHeader, sizeof(BMPHeader)); f.Write(m_ImageData, PIXEL_COUNT * 4); diff --git a/Tools/AnvilStats/ImageComposingCallback.h b/Tools/AnvilStats/ImageComposingCallback.h index 916e61d92..6a1288fef 100644 --- a/Tools/AnvilStats/ImageComposingCallback.h +++ b/Tools/AnvilStats/ImageComposingCallback.h @@ -21,17 +21,16 @@ SetPixel() or SetPixelURow() functions. For the purpose of this class the image data is indexed U (horz) * V (vert), to avoid confusion with other coords. The image is a 32bpp raw imagedata, written into a BMP file. */ -class cImageComposingCallback : - public cCallback +class cImageComposingCallback : public cCallback { -public: + public: enum { INVALID_REGION_COORD = 99999, ///< Used for un-assigned region coords IMAGE_WIDTH = 32 * 16, IMAGE_HEIGHT = 32 * 16, PIXEL_COUNT = IMAGE_WIDTH * IMAGE_HEIGHT, ///< Total pixel count of the image data - } ; + }; cImageComposingCallback(const AString & a_FileNamePrefix); virtual ~cImageComposingCallback(); @@ -59,7 +58,8 @@ public: /** Erases the entire image with the specified color */ void EraseImage(int a_Color); - /** Erases the specified chunk's portion of the image with the specified color. Note that chunk coords are relative to the current region */ + /** Erases the specified chunk's portion of the image with the specified color. Note that chunk coords are relative + * to the current region */ void EraseChunk(int a_Color, int a_RelChunkX, int a_RelChunkZ); /** Returns the current region X coord */ @@ -74,7 +74,8 @@ public: /** Returns the color of the pixel at the specified UV coords; -1 if outside */ int GetPixel(int a_RelU, int a_RelV); - /** Sets a row of pixels. a_Pixels is expected to be a_CountU pixels wide. a_RelUStart + a_CountU is assumed less than image width */ + /** Sets a row of pixels. a_Pixels is expected to be a_CountU pixels wide. a_RelUStart + a_CountU is assumed less + * than image width */ void SetPixelURow(int a_RelUStart, int a_RelV, int a_CountU, int * a_Pixels); /** "Shades" the given color based on the shade amount given @@ -87,7 +88,7 @@ public: /** Mixes the two colors in the specified ratio; a_Ratio is between 0 and 256, 0 returning a_Src */ static int MixColor(int a_Src, int a_Dest, int a_Ratio); -protected: + protected: /** Prefix for the filenames, when generated by the default GetFileName() function */ AString m_FileNamePrefix; @@ -98,4 +99,4 @@ protected: int * m_ImageData; void SaveImage(const AString & a_FileName); -} ; +}; diff --git a/Tools/AnvilStats/Processor.cpp b/Tools/AnvilStats/Processor.cpp index d0bdad0ca..7a1227d25 100644 --- a/Tools/AnvilStats/Processor.cpp +++ b/Tools/AnvilStats/Processor.cpp @@ -24,9 +24,7 @@ const int CHUNK_INFLATE_MAX = 1 MiB; // cProcessor::cThread: cProcessor::cThread::cThread(cCallback & a_Callback, cProcessor & a_ParentProcessor) : - super("cProcessor::cThread"), - m_Callback(a_Callback), - m_ParentProcessor(a_ParentProcessor) + super("cProcessor::cThread"), m_Callback(a_Callback), m_ParentProcessor(a_ParentProcessor) { LOG("Created a new thread: %p", this); super::Start(); @@ -119,7 +117,7 @@ void cProcessor::cThread::ProcessFile(const AString & a_FileName) void cProcessor::cThread::ProcessFileData(const char * a_FileData, size_t a_Size, int a_ChunkBaseX, int a_ChunkBaseZ) { int Header[2048]; - int * HeaderPtr = (int *)a_FileData; + int * HeaderPtr = (int *) a_FileData; for (int i = 0; i < ARRAYCOUNT(Header); i++) { Header[i] = ntohl(HeaderPtr[i]); @@ -129,11 +127,10 @@ void cProcessor::cThread::ProcessFileData(const char * a_FileData, size_t a_Size { unsigned Location = Header[i]; unsigned Timestamp = Header[i + 1024]; - if ( - ((Location == 0) && (Timestamp == 0)) || // Official docs' "not present" - (Location >> 8 < 2) || // Logical - no chunk can start inside the header - ((Location & 0xff) == 0) || // Logical - no chunk can be zero bytes - ((Location >> 8) * 4096 > a_Size) // Logical - no chunk can start at beyond the file end + if (((Location == 0) && (Timestamp == 0)) || // Official docs' "not present" + (Location >> 8 < 2) || // Logical - no chunk can start inside the header + ((Location & 0xff) == 0) || // Logical - no chunk can be zero bytes + ((Location >> 8) * 4096 > a_Size) // Logical - no chunk can start at beyond the file end ) { // Chunk not present in the file @@ -153,7 +150,14 @@ void cProcessor::cThread::ProcessFileData(const char * a_FileData, size_t a_Size -void cProcessor::cThread::ProcessChunk(const char * a_FileData, int a_ChunkX, int a_ChunkZ, unsigned a_SectorStart, unsigned a_SectorSize, unsigned a_TimeStamp) +void cProcessor::cThread::ProcessChunk( + const char * a_FileData, + int a_ChunkX, + int a_ChunkZ, + unsigned a_SectorStart, + unsigned a_SectorSize, + unsigned a_TimeStamp +) { if (m_Callback.OnHeader(a_SectorStart * 4096, a_SectorSize, a_TimeStamp)) { @@ -161,7 +165,7 @@ void cProcessor::cThread::ProcessChunk(const char * a_FileData, int a_ChunkX, in } const char * ChunkStart = a_FileData + a_SectorStart * 4096; - int ByteSize = ntohl(*(int *)ChunkStart); + int ByteSize = ntohl(*(int *) ChunkStart); char CompressionMethod = ChunkStart[4]; if (m_Callback.OnCompressedDataSizePos(ByteSize, a_SectorStart * 4096 + 5, CompressionMethod)) @@ -176,18 +180,23 @@ void cProcessor::cThread::ProcessChunk(const char * a_FileData, int a_ChunkX, in -void cProcessor::cThread::ProcessCompressedChunkData(int a_ChunkX, int a_ChunkZ, const char * a_CompressedData, int a_CompressedSize) +void cProcessor::cThread::ProcessCompressedChunkData( + int a_ChunkX, + int a_ChunkZ, + const char * a_CompressedData, + int a_CompressedSize +) { char Decompressed[CHUNK_INFLATE_MAX]; z_stream strm; - strm.zalloc = (alloc_func)NULL; - strm.zfree = (free_func)NULL; + strm.zalloc = (alloc_func) NULL; + strm.zfree = (free_func) NULL; strm.opaque = NULL; inflateInit(&strm); - strm.next_out = (Bytef *)Decompressed; + strm.next_out = (Bytef *) Decompressed; strm.avail_out = sizeof(Decompressed); - strm.next_in = (Bytef *)a_CompressedData; - strm.avail_in = a_CompressedSize; + strm.next_in = (Bytef *) a_CompressedData; + strm.avail_in = a_CompressedSize; int res = inflate(&strm, Z_FINISH); inflateEnd(&strm); if (res != Z_STREAM_END) @@ -255,7 +264,7 @@ void cProcessor::cThread::ProcessParsedChunkData(int a_ChunkX, int a_ChunkZ, cPa int BiomesTag = a_NBT.FindChildByName(LevelTag, "Biomes"); if (BiomesTag > 0) { - if (m_Callback.OnBiomes((const unsigned char *)(a_NBT.GetData(BiomesTag)))) + if (m_Callback.OnBiomes((const unsigned char *) (a_NBT.GetData(BiomesTag)))) { return; } @@ -264,7 +273,7 @@ void cProcessor::cThread::ProcessParsedChunkData(int a_ChunkX, int a_ChunkZ, cPa int HeightMapTag = a_NBT.FindChildByName(LevelTag, "HeightMap"); if (HeightMapTag > 0) { - if (m_Callback.OnHeightMap((const int *)(a_NBT.GetData(HeightMapTag)))) + if (m_Callback.OnHeightMap((const int *) (a_NBT.GetData(HeightMapTag)))) { return; } @@ -307,12 +316,12 @@ bool cProcessor::cThread::ProcessChunkSections(int a_ChunkX, int a_ChunkZ, cPars memset(SectionProcessed, 0, sizeof(SectionProcessed)); for (int Tag = a_NBT.GetFirstChild(Sections); Tag > 0; Tag = a_NBT.GetNextSibling(Tag)) { - int YTag = a_NBT.FindChildByName(Tag, "Y"); - int BlocksTag = a_NBT.FindChildByName(Tag, "Blocks"); - int AddTag = a_NBT.FindChildByName(Tag, "Add"); - int DataTag = a_NBT.FindChildByName(Tag, "Data"); + int YTag = a_NBT.FindChildByName(Tag, "Y"); + int BlocksTag = a_NBT.FindChildByName(Tag, "Blocks"); + int AddTag = a_NBT.FindChildByName(Tag, "Add"); + int DataTag = a_NBT.FindChildByName(Tag, "Data"); int BlockLightTag = a_NBT.FindChildByName(Tag, "BlockLightTag"); - int SkyLightTag = a_NBT.FindChildByName(Tag, "SkyLight"); + int SkyLightTag = a_NBT.FindChildByName(Tag, "SkyLight"); if ((YTag < 0) || (BlocksTag < 0) || (DataTag < 0)) { @@ -326,13 +335,13 @@ bool cProcessor::cThread::ProcessChunkSections(int a_ChunkX, int a_ChunkZ, cPars continue; } if (m_Callback.OnSection( - SectionY, - (const BLOCKTYPE *) (a_NBT.GetData(BlocksTag)), - (AddTag > 0) ? (const NIBBLETYPE *)(a_NBT.GetData(AddTag)) : NULL, - (const NIBBLETYPE *)(a_NBT.GetData(DataTag)), - (BlockLightTag > 0) ? (const NIBBLETYPE *)(a_NBT.GetData(BlockLightTag)) : NULL, - (BlockLightTag > 0) ? (const NIBBLETYPE *)(a_NBT.GetData(BlockLightTag)) : NULL - )) + SectionY, + (const BLOCKTYPE *) (a_NBT.GetData(BlocksTag)), + (AddTag > 0) ? (const NIBBLETYPE *) (a_NBT.GetData(AddTag)) : NULL, + (const NIBBLETYPE *) (a_NBT.GetData(DataTag)), + (BlockLightTag > 0) ? (const NIBBLETYPE *) (a_NBT.GetData(BlockLightTag)) : NULL, + (BlockLightTag > 0) ? (const NIBBLETYPE *) (a_NBT.GetData(BlockLightTag)) : NULL + )) { return true; } @@ -405,16 +414,22 @@ bool cProcessor::cThread::ProcessChunkEntities(int a_ChunkX, int a_ChunkZ, cPars } if (m_Callback.OnEntity( - a_NBT.GetString(a_NBT.FindChildByName(EntityTag, "id")), - Pos[0], Pos[1], Pos[2], - Speed[0], Speed[1], Speed[2], - Rot[0], Rot[1], - a_NBT.GetFloat(a_NBT.FindChildByName(EntityTag, "FallDistance")), - a_NBT.GetShort(a_NBT.FindChildByName(EntityTag, "Fire")), - a_NBT.GetShort(a_NBT.FindChildByName(EntityTag, "Air")), - a_NBT.GetByte(a_NBT.FindChildByName(EntityTag, "OnGround")), - a_NBT, EntityTag - )) + a_NBT.GetString(a_NBT.FindChildByName(EntityTag, "id")), + Pos[0], + Pos[1], + Pos[2], + Speed[0], + Speed[1], + Speed[2], + Rot[0], + Rot[1], + a_NBT.GetFloat(a_NBT.FindChildByName(EntityTag, "FallDistance")), + a_NBT.GetShort(a_NBT.FindChildByName(EntityTag, "Fire")), + a_NBT.GetShort(a_NBT.FindChildByName(EntityTag, "Air")), + a_NBT.GetByte(a_NBT.FindChildByName(EntityTag, "OnGround")), + a_NBT, + EntityTag + )) { return true; } @@ -434,15 +449,17 @@ bool cProcessor::cThread::ProcessChunkTileEntities(int a_ChunkX, int a_ChunkZ, c return false; } - for (int TileEntityTag = a_NBT.GetFirstChild(TileEntitiesTag); TileEntityTag > 0; TileEntityTag = a_NBT.GetNextSibling(TileEntityTag)) + for (int TileEntityTag = a_NBT.GetFirstChild(TileEntitiesTag); TileEntityTag > 0; + TileEntityTag = a_NBT.GetNextSibling(TileEntityTag)) { if (m_Callback.OnTileEntity( - a_NBT.GetString(a_NBT.FindChildByName(TileEntityTag, "id")), - a_NBT.GetInt(a_NBT.FindChildByName(TileEntityTag, "x")), - a_NBT.GetInt(a_NBT.FindChildByName(TileEntityTag, "y")), - a_NBT.GetInt(a_NBT.FindChildByName(TileEntityTag, "z")), - a_NBT, TileEntityTag - )) + a_NBT.GetString(a_NBT.FindChildByName(TileEntityTag, "id")), + a_NBT.GetInt(a_NBT.FindChildByName(TileEntityTag, "x")), + a_NBT.GetInt(a_NBT.FindChildByName(TileEntityTag, "y")), + a_NBT.GetInt(a_NBT.FindChildByName(TileEntityTag, "z")), + a_NBT, + TileEntityTag + )) { return true; } @@ -462,7 +479,8 @@ bool cProcessor::cThread::ProcessChunkTileTicks(int a_ChunkX, int a_ChunkZ, cPar return false; } - for (int TileTickTag = a_NBT.GetFirstChild(TileTicksTag); TileTickTag > 0; TileTickTag = a_NBT.GetNextSibling(TileTickTag)) + for (int TileTickTag = a_NBT.GetFirstChild(TileTicksTag); TileTickTag > 0; + TileTickTag = a_NBT.GetNextSibling(TileTickTag)) { int iTag = a_NBT.FindChildByName(TileTicksTag, "i"); int tTag = a_NBT.FindChildByName(TileTicksTag, "t"); @@ -474,12 +492,12 @@ bool cProcessor::cThread::ProcessChunkTileTicks(int a_ChunkX, int a_ChunkZ, cPar continue; } if (m_Callback.OnTileTick( - a_NBT.GetInt(iTag), - a_NBT.GetInt(iTag), - a_NBT.GetInt(iTag), - a_NBT.GetInt(iTag), - a_NBT.GetInt(iTag) - )) + a_NBT.GetInt(iTag), + a_NBT.GetInt(iTag), + a_NBT.GetInt(iTag), + a_NBT.GetInt(iTag), + a_NBT.GetInt(iTag) + )) { return true; } @@ -503,9 +521,7 @@ cProcessor::cProcessor(void) : -cProcessor::~cProcessor() -{ -} +cProcessor::~cProcessor() {} diff --git a/Tools/AnvilStats/Processor.h b/Tools/AnvilStats/Processor.h index 30f160404..426e67d91 100644 --- a/Tools/AnvilStats/Processor.h +++ b/Tools/AnvilStats/Processor.h @@ -1,7 +1,8 @@ // Processor.h -// Interfaces to the cProcessor class representing the overall processor engine that manages threads, calls callbacks etc. +// Interfaces to the cProcessor class representing the overall processor engine that manages threads, calls callbacks +// etc. @@ -23,12 +24,11 @@ class cParsedNBT; class cProcessor { - class cThread : - public cIsThread + class cThread : public cIsThread { typedef cIsThread super; - cCallback & m_Callback; + cCallback & m_Callback; cProcessor & m_ParentProcessor; cEvent m_HasStarted; @@ -37,36 +37,49 @@ class cProcessor void ProcessFile(const AString & a_FileName); void ProcessFileData(const char * a_FileData, size_t a_Size, int a_ChunkBaseX, int a_ChunkBaseZ); - void ProcessChunk(const char * a_FileData, int a_ChunkX, int a_ChunkZ, unsigned a_SectorStart, unsigned a_SectorSize, unsigned a_TimeStamp); - void ProcessCompressedChunkData(int a_ChunkX, int a_ChunkZ, const char * a_CompressedData, int a_CompressedSize); + void ProcessChunk( + const char * a_FileData, + int a_ChunkX, + int a_ChunkZ, + unsigned a_SectorStart, + unsigned a_SectorSize, + unsigned a_TimeStamp + ); + void ProcessCompressedChunkData( + int a_ChunkX, + int a_ChunkZ, + const char * a_CompressedData, + int a_CompressedSize + ); void ProcessParsedChunkData(int a_ChunkX, int a_ChunkZ, cParsedNBT & a_NBT); - // The following processing parts return true if they were interrupted by the callback, causing the processing of current chunk to abort + // The following processing parts return true if they were interrupted by the callback, causing the processing + // of current chunk to abort bool ProcessChunkSections(int a_ChunkX, int a_ChunkZ, cParsedNBT & a_NBT, int a_LevelTag); bool ProcessChunkEntities(int a_ChunkX, int a_ChunkZ, cParsedNBT & a_NBT, int a_LevelTag); bool ProcessChunkTileEntities(int a_ChunkX, int a_ChunkZ, cParsedNBT & a_NBT, int a_LevelTag); bool ProcessChunkTileTicks(int a_ChunkX, int a_ChunkZ, cParsedNBT & a_NBT, int a_LevelTag); - public: + public: cThread(cCallback & a_Callback, cProcessor & a_ParentProcessor); /** Waits until the thread starts processing the callback code. */ void WaitForStart(void); - } ; + }; typedef std::vector cThreads; -public: + public: cProcessor(void); ~cProcessor(); void ProcessWorld(const AString & a_WorldFolder, cCallbackFactory & a_CallbackFactory); -protected: + protected: bool m_IsShuttingDown; // If true, the threads should stop ASAP cCriticalSection m_CS; - AStringList m_FileQueue; + AStringList m_FileQueue; cThreads m_Threads; @@ -76,4 +89,4 @@ protected: /** Returns one filename from m_FileQueue, and removes the name from the queue. */ AString GetOneFileName(void); -} ; +}; diff --git a/Tools/AnvilStats/SpringStats.cpp b/Tools/AnvilStats/SpringStats.cpp index ccc0c8e45..1a3777c61 100644 --- a/Tools/AnvilStats/SpringStats.cpp +++ b/Tools/AnvilStats/SpringStats.cpp @@ -1,7 +1,8 @@ // SpringStats.cpp -// Implements the cSpringStats class representing a cCallback descendant that collects statistics on lava and water springs +// Implements the cSpringStats class representing a cCallback descendant that collects statistics on lava and water +// springs #include "Globals.h" #include "SpringStats.h" @@ -16,7 +17,7 @@ cSpringStats::cStats::cStats(void) : m_TotalChunks(0) { - memset(m_LavaSprings, 0, sizeof(m_LavaSprings)); + memset(m_LavaSprings, 0, sizeof(m_LavaSprings)); memset(m_WaterSprings, 0, sizeof(m_WaterSprings)); } @@ -31,7 +32,7 @@ void cSpringStats::cStats::Add(const cSpringStats::cStats & a_Other) { for (int Height = 0; Height < 256; Height++) { - m_LavaSprings[Biome][Height] += a_Other.m_LavaSprings[Biome][Height]; + m_LavaSprings[Biome][Height] += a_Other.m_LavaSprings[Biome][Height]; m_WaterSprings[Biome][Height] += a_Other.m_WaterSprings[Biome][Height]; } } @@ -84,8 +85,8 @@ bool cSpringStats::OnSection( const NIBBLETYPE * a_BlockSkyLight ) { - memcpy(m_BlockTypes + ((int)a_Y) * 16 * 16 * 16, a_BlockTypes, 16 * 16 * 16); - memcpy(m_BlockMetas + ((int)a_Y) * 16 * 16 * 16 / 2, a_BlockMeta, 16 * 16 * 16 / 2); + memcpy(m_BlockTypes + ((int) a_Y) * 16 * 16 * 16, a_BlockTypes, 16 * 16 * 16); + memcpy(m_BlockMetas + ((int) a_Y) * 16 * 16 * 16 / 2, a_BlockMeta, 16 * 16 * 16 / 2); return false; } @@ -145,15 +146,14 @@ void cSpringStats::TestSpring(int a_RelX, int a_RelY, int a_RelZ, cSpringStats:: static const struct { int x, y, z; - } Coords[] = - { - {-1, 0, 0}, - { 1, 0, 0}, - { 0, -1, 0}, - { 0, 1, 0}, - { 0, 0, -1}, - { 0, 0, 1}, - } ; + } Coords[] = { + {-1, 0, 0}, + {1, 0, 0}, + {0, -1, 0}, + {0, 1, 0}, + {0, 0, -1}, + {0, 0, 1}, + }; bool HasFluidNextToIt = false; for (int i = 0; i < ARRAYCOUNT(Coords); i++) { @@ -164,7 +164,12 @@ void cSpringStats::TestSpring(int a_RelX, int a_RelY, int a_RelZ, cSpringStats:: case E_BLOCK_LAVA: case E_BLOCK_STATIONARY_LAVA: { - if (cChunkDef::GetNibble(m_BlockMetas, a_RelX + Coords[i].x, a_RelY + Coords[i].y, a_RelZ + Coords[i].z) == 0) + if (cChunkDef::GetNibble( + m_BlockMetas, + a_RelX + Coords[i].x, + a_RelY + Coords[i].y, + a_RelZ + Coords[i].z + ) == 0) { // There is another source block next to this, so this is not a spring return; @@ -182,7 +187,7 @@ void cSpringStats::TestSpring(int a_RelX, int a_RelY, int a_RelZ, cSpringStats:: } // No source blocks next to the specified block, so it is a spring. Add it to stats: - a_Stats[a_RelY][((unsigned char *)m_Biomes)[a_RelX + 16 * a_RelZ]] += 1; + a_Stats[a_RelY][((unsigned char *) m_Biomes)[a_RelX + 16 * a_RelZ]] += 1; } @@ -217,7 +222,7 @@ void cSpringStatsFactory::JoinResults(void) { for (cCallbacks::iterator itr = m_Callbacks.begin(), end = m_Callbacks.end(); itr != end; ++itr) { - m_CombinedStats.Add(((cSpringStats *)(*itr))->GetStats()); + m_CombinedStats.Add(((cSpringStats *) (*itr))->GetStats()); } // for itr - m_Callbacks[] } diff --git a/Tools/AnvilStats/SpringStats.h b/Tools/AnvilStats/SpringStats.h index 83651b7e6..d40259ae5 100644 --- a/Tools/AnvilStats/SpringStats.h +++ b/Tools/AnvilStats/SpringStats.h @@ -1,7 +1,8 @@ // SpringStats.h -// Declares the cSpringStats class representing a cCallback descendant that collects statistics on lava and water springs +// Declares the cSpringStats class representing a cCallback descendant that collects statistics on lava and water +// springs @@ -15,13 +16,12 @@ -class cSpringStats : - public cCallback +class cSpringStats : public cCallback { -public: + public: class cStats { - public: + public: /** Per-height, per-biome frequencies of springs */ typedef UInt64 SpringStats[256][256]; @@ -33,29 +33,34 @@ public: cStats(void); void Add(const cStats & a_Other); - } ; + }; cSpringStats(void); const cStats & GetStats(void) const { return m_Stats; } -protected: - - BLOCKTYPE m_BlockTypes[16 * 16 * 256]; + protected: + BLOCKTYPE m_BlockTypes[16 * 16 * 256]; NIBBLETYPE m_BlockMetas[16 * 16 * 256 / 2]; - char m_Biomes[16 * 16]; - bool m_AreBiomesValid; + char m_Biomes[16 * 16]; + bool m_AreBiomesValid; cStats m_Stats; // cCallback overrides: virtual bool OnNewChunk(int a_ChunkX, int a_ChunkZ) override; virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) override { return false; } - virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override { return false; } + virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override + { + return false; + } virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) override { return false; } virtual bool OnRealCoords(int a_ChunkX, int a_ChunkZ) override { return false; } virtual bool OnLastUpdate(Int64 a_LastUpdate) override { return false; } - virtual bool OnTerrainPopulated(bool a_Populated) override { return !a_Populated; } // If not populated, we don't want it! + virtual bool OnTerrainPopulated(bool a_Populated) override + { + return !a_Populated; + } // If not populated, we don't want it! virtual bool OnBiomes(const unsigned char * a_BiomeData) override; virtual bool OnHeightMap(const int * a_HeightMap) override { return false; } virtual bool OnSection( @@ -70,22 +75,18 @@ protected: /** Tests the specified block, if it appears to be a spring, it is added to a_Stats */ void TestSpring(int a_RelX, int a_RelY, int a_RelZ, cStats::SpringStats & a_Stats); -} ; +}; -class cSpringStatsFactory : - public cCallbackFactory +class cSpringStatsFactory : public cCallbackFactory { -public: + public: virtual ~cSpringStatsFactory(); - virtual cCallback * CreateNewCallback(void) override - { - return new cSpringStats; - } + virtual cCallback * CreateNewCallback(void) override { return new cSpringStats; } cSpringStats::cStats m_CombinedStats; @@ -96,4 +97,4 @@ public: /** Saves complete per-height, per-biome statistics for the springs to the file */ void SaveStatistics(const cSpringStats::cStats::SpringStats & a_Stats, const AString & a_FileName); -} ; +}; diff --git a/Tools/AnvilStats/Statistics.cpp b/Tools/AnvilStats/Statistics.cpp index d5ad360f3..c719fbeee 100644 --- a/Tools/AnvilStats/Statistics.cpp +++ b/Tools/AnvilStats/Statistics.cpp @@ -26,11 +26,11 @@ cStatistics::cStats::cStats(void) : m_MinChunkZ(0x7fffffff), m_MaxChunkZ(0x80000000) { - memset(m_BiomeCounts, 0, sizeof(m_BiomeCounts)); - memset(m_BlockCounts, 0, sizeof(m_BlockCounts)); + memset(m_BiomeCounts, 0, sizeof(m_BiomeCounts)); + memset(m_BlockCounts, 0, sizeof(m_BlockCounts)); memset(m_PerHeightBlockCounts, 0, sizeof(m_PerHeightBlockCounts)); - memset(m_PerHeightSpawners, 0, sizeof(m_PerHeightSpawners)); - memset(m_SpawnerEntity, 0, sizeof(m_SpawnerEntity)); + memset(m_PerHeightSpawners, 0, sizeof(m_PerHeightSpawners)); + memset(m_SpawnerEntity, 0, sizeof(m_SpawnerEntity)); } @@ -100,9 +100,7 @@ void cStatistics::cStats::UpdateCoordsRange(int a_ChunkX, int a_ChunkZ) //////////////////////////////////////////////////////////////////////////////// // cStatistics: -cStatistics::cStatistics(void) -{ -} +cStatistics::cStatistics(void) {} @@ -137,9 +135,7 @@ bool cStatistics::OnBiomes(const unsigned char * a_BiomeData) - -bool cStatistics::OnSection -( +bool cStatistics::OnSection( unsigned char a_Y, const BLOCKTYPE * a_BlockTypes, const NIBBLETYPE * a_BlockAdditional, @@ -156,7 +152,7 @@ bool cStatistics::OnSection for (int y = 0; y < 16; y++) { - int Height = (int)a_Y * 16 + y; + int Height = (int) a_Y * 16 + y; for (int z = 0; z < 16; z++) { for (int x = 0; x < 16; x++) @@ -209,9 +205,14 @@ bool cStatistics::OnEmptySection(unsigned char a_Y) bool cStatistics::OnEntity( const AString & a_EntityType, - double a_PosX, double a_PosY, double a_PosZ, - double a_SpeedX, double a_SpeedY, double a_SpeedZ, - float a_Yaw, float a_Pitch, + double a_PosX, + double a_PosY, + double a_PosZ, + double a_SpeedX, + double a_SpeedY, + double a_SpeedZ, + float a_Yaw, + float a_Pitch, float a_FallDistance, short a_FireTicksLeft, short a_AirTicks, @@ -233,7 +234,9 @@ bool cStatistics::OnEntity( bool cStatistics::OnTileEntity( const AString & a_EntityType, - int a_PosX, int a_PosY, int a_PosZ, + int a_PosX, + int a_PosY, + int a_PosZ, cParsedNBT & a_NBT, int a_NBTTag ) @@ -252,11 +255,7 @@ bool cStatistics::OnTileEntity( -bool cStatistics::OnTileTick( - int a_BlockType, - int a_TicksLeft, - int a_PosX, int a_PosY, int a_PosZ -) +bool cStatistics::OnTileTick(int a_BlockType, int a_TicksLeft, int a_PosX, int a_PosY, int a_PosZ) { m_Stats.m_NumTileTicks += 1; return false; @@ -326,7 +325,11 @@ cStatisticsFactory::~cStatisticsFactory() } } UInt64 ExpTotalBlocks = m_CombinedStats.m_BlockNumChunks * 16LL * 16LL * 256LL; - LOG(" BlockIDs processed for %llu chunks, %llu blocks (exp %llu; %s)", m_CombinedStats.m_BlockNumChunks, TotalBlocks, ExpTotalBlocks, (TotalBlocks == ExpTotalBlocks) ? "match" : "failed"); + LOG(" BlockIDs processed for %llu chunks, %llu blocks (exp %llu; %s)", + m_CombinedStats.m_BlockNumChunks, + TotalBlocks, + ExpTotalBlocks, + (TotalBlocks == ExpTotalBlocks) ? "match" : "failed"); // Save statistics: LOG(" Saving statistics into files:"); @@ -354,7 +357,7 @@ void cStatisticsFactory::JoinResults(void) { for (cCallbacks::iterator itr = m_Callbacks.begin(), end = m_Callbacks.end(); itr != end; ++itr) { - m_CombinedStats.Add(((cStatistics *)(*itr))->GetStats()); + m_CombinedStats.Add(((cStatistics *) (*itr))->GetStats()); } // for itr - m_Callbacks[] } @@ -370,7 +373,8 @@ void cStatisticsFactory::SaveBiomes(void) LOG("Cannot write to file Biomes.xls. Statistics not written."); return; } - double TotalColumns = (double)(m_CombinedStats.m_BiomeNumChunks) * 16 * 16 / 100; // Total number of columns processed; convert into percent + double TotalColumns = (double) (m_CombinedStats.m_BiomeNumChunks) * 16 * 16 / + 100; // Total number of columns processed; convert into percent if (TotalColumns < 1) { // Avoid division by zero @@ -379,7 +383,14 @@ void cStatisticsFactory::SaveBiomes(void) for (int i = 0; i <= 255; i++) { AString Line; - Printf(Line, "%s\t%d\t%llu\t%.05f\n", GetBiomeString(i), i, m_CombinedStats.m_BiomeCounts[i], ((double)(m_CombinedStats.m_BiomeCounts[i])) / TotalColumns); + Printf( + Line, + "%s\t%d\t%llu\t%.05f\n", + GetBiomeString(i), + i, + m_CombinedStats.m_BiomeCounts[i], + ((double) (m_CombinedStats.m_BiomeCounts[i])) / TotalColumns + ); f.Write(Line.c_str(), Line.length()); } } @@ -396,7 +407,8 @@ void cStatisticsFactory::SaveBlockTypes(void) LOG("Cannot write to file Biomes.xls. Statistics not written."); return; } - double TotalBlocks = ((double)(m_CombinedStats.m_BlockNumChunks)) * 16 * 16 * 256 / 100; // Total number of blocks processed; convert into percent + double TotalBlocks = ((double) (m_CombinedStats.m_BlockNumChunks)) * 16 * 16 * 256 / + 100; // Total number of blocks processed; convert into percent if (TotalBlocks < 1) { // Avoid division by zero @@ -410,7 +422,7 @@ void cStatisticsFactory::SaveBlockTypes(void) Count += m_CombinedStats.m_BlockCounts[Biome][i]; } AString Line; - Printf(Line, "%s\t%d\t%llu\t%.08f\n", GetBlockTypeString(i), i, Count, ((double)Count) / TotalBlocks); + Printf(Line, "%s\t%d\t%llu\t%.08f\n", GetBlockTypeString(i), i, Count, ((double) Count) / TotalBlocks); f.Write(Line.c_str(), Line.length()); } } @@ -548,7 +560,6 @@ void cStatisticsFactory::SaveBiomeBlockTypes(void) - void cStatisticsFactory::SaveStatistics(void) { cFile f; @@ -559,11 +570,20 @@ void cStatisticsFactory::SaveStatistics(void) } int Elapsed = (clock() - m_BeginTick) / CLOCKS_PER_SEC; - f.Printf("Time elapsed: %d seconds (%d hours, %d minutes and %d seconds)\n", Elapsed, Elapsed / 3600, (Elapsed / 60) % 60, Elapsed % 60); + f.Printf( + "Time elapsed: %d seconds (%d hours, %d minutes and %d seconds)\n", + Elapsed, + Elapsed / 3600, + (Elapsed / 60) % 60, + Elapsed % 60 + ); f.Printf("Total chunks processed: %llu\n", m_CombinedStats.m_TotalChunks); if (Elapsed > 0) { - f.Printf("Chunk processing speed: %.02f chunks per second\n", (double)(m_CombinedStats.m_TotalChunks) / Elapsed); + f.Printf( + "Chunk processing speed: %.02f chunks per second\n", + (double) (m_CombinedStats.m_TotalChunks) / Elapsed + ); } f.Printf("Biomes counted for %llu chunks.\n", m_CombinedStats.m_BiomeNumChunks); f.Printf("Blocktypes counted for %llu chunks.\n", m_CombinedStats.m_BlockNumChunks); @@ -593,7 +613,12 @@ void cStatisticsFactory::SaveSpawners(void) f.Printf("Entity type\tTotal count\tCount per chunk\n"); for (int i = 0; i < entMax; i++) { - f.Printf("%s\t%llu\t%0.4f\n", GetEntityTypeString((eEntityType)i), m_CombinedStats.m_SpawnerEntity[i], (double)(m_CombinedStats.m_SpawnerEntity[i]) / m_CombinedStats.m_BlockNumChunks); + f.Printf( + "%s\t%llu\t%0.4f\n", + GetEntityTypeString((eEntityType) i), + m_CombinedStats.m_SpawnerEntity[i], + (double) (m_CombinedStats.m_SpawnerEntity[i]) / m_CombinedStats.m_BlockNumChunks + ); } } @@ -614,7 +639,7 @@ void cStatisticsFactory::SavePerHeightSpawners(void) f.Printf("Height\tTotal"); for (int i = 0; i < entMax; i++) { - f.Printf("\t%s", GetEntityTypeString((eEntityType)i)); + f.Printf("\t%s", GetEntityTypeString((eEntityType) i)); } f.Printf("\n"); diff --git a/Tools/AnvilStats/Statistics.h b/Tools/AnvilStats/Statistics.h index 2c8c61685..2b21be562 100644 --- a/Tools/AnvilStats/Statistics.h +++ b/Tools/AnvilStats/Statistics.h @@ -16,13 +16,12 @@ -class cStatistics : - public cCallback +class cStatistics : public cCallback { -public: + public: class cStats { - public: + public: UInt64 m_TotalChunks; // Total number of chunks that go through this callback (OnNewChunk()) UInt64 m_BiomeCounts[256]; UInt64 m_BlockCounts[256][256]; // First dimension is the biome, second dimension is BlockType @@ -32,7 +31,8 @@ public: UInt64 m_NumTileEntities; UInt64 m_NumTileTicks; UInt64 m_PerHeightBlockCounts[256][256]; // First dimension is the height, second dimension is BlockType - UInt64 m_PerHeightSpawners[256][entMax + 1]; // First dimension is the height, second dimension is spawned entity type + UInt64 m_PerHeightSpawners[256][entMax + 1]; // First dimension is the height, second dimension is spawned + // entity type int m_MinChunkX, m_MaxChunkX; // X coords range int m_MinChunkZ, m_MaxChunkZ; // Z coords range @@ -42,27 +42,35 @@ public: cStats(void); void Add(const cStats & a_Stats); void UpdateCoordsRange(int a_ChunkX, int a_ChunkZ); - } ; + }; cStatistics(void); const cStats & GetStats(void) const { return m_Stats; } -protected: + protected: cStats m_Stats; - bool m_IsBiomesValid; // Set to true in OnBiomes(), reset to false in OnNewChunk(); if true, the m_BiomeData is valid for the current chunk - unsigned char m_BiomeData[16 * 16]; - bool m_IsFirstSectionInChunk; // True if there was no section in the chunk yet. Set by OnNewChunk(), reset by OnSection() + bool m_IsBiomesValid; // Set to true in OnBiomes(), reset to false in OnNewChunk(); if true, the m_BiomeData is + // valid for the current chunk + unsigned char m_BiomeData[16 * 16]; + bool m_IsFirstSectionInChunk; // True if there was no section in the chunk yet. Set by OnNewChunk(), reset by + // OnSection() // cCallback overrides: virtual bool OnNewChunk(int a_ChunkX, int a_ChunkZ) override; virtual bool OnHeader(int a_FileOffset, unsigned char a_NumSectors, int a_Timestamp) override { return false; } - virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override { return false; } + virtual bool OnCompressedDataSizePos(int a_CompressedDataSize, int a_DataOffset, char a_CompressionMethod) override + { + return false; + } virtual bool OnDecompressedData(const char * a_DecompressedNBT, int a_DataSize) override { return false; } virtual bool OnRealCoords(int a_ChunkX, int a_ChunkZ) override { return false; } virtual bool OnLastUpdate(Int64 a_LastUpdate) override { return false; } - virtual bool OnTerrainPopulated(bool a_Populated) override { return !a_Populated; } // If not populated, we don't want it! + virtual bool OnTerrainPopulated(bool a_Populated) override + { + return !a_Populated; + } // If not populated, we don't want it! virtual bool OnBiomes(const unsigned char * a_BiomeData) override; virtual bool OnHeightMap(const int * a_HeightMap) override { return false; } virtual bool OnSection( @@ -80,9 +88,14 @@ protected: virtual bool OnEntity( const AString & a_EntityType, - double a_PosX, double a_PosY, double a_PosZ, - double a_SpeedX, double a_SpeedY, double a_SpeedZ, - float a_Yaw, float a_Pitch, + double a_PosX, + double a_PosY, + double a_PosZ, + double a_SpeedX, + double a_SpeedY, + double a_SpeedZ, + float a_Yaw, + float a_Pitch, float a_FallDistance, short a_FireTicksLeft, short a_AirTicks, @@ -93,37 +106,31 @@ protected: virtual bool OnTileEntity( const AString & a_EntityType, - int a_PosX, int a_PosY, int a_PosZ, + int a_PosX, + int a_PosY, + int a_PosZ, cParsedNBT & a_NBT, int a_NBTTag ) override; - virtual bool OnTileTick( - int a_BlockType, - int a_TicksLeft, - int a_PosX, int a_PosY, int a_PosZ - ) override; + virtual bool OnTileTick(int a_BlockType, int a_TicksLeft, int a_PosX, int a_PosY, int a_PosZ) override; void OnSpawner(cParsedNBT & a_NBT, int a_TileEntityTag); -} ; +}; -class cStatisticsFactory : - public cCallbackFactory +class cStatisticsFactory : public cCallbackFactory { -public: + public: cStatisticsFactory(void); virtual ~cStatisticsFactory(); - virtual cCallback * CreateNewCallback(void) - { - return new cStatistics; - } + virtual cCallback * CreateNewCallback(void) { return new cStatistics; } -protected: + protected: // The results, combined, are stored here: cStatistics::cStats m_CombinedStats; @@ -137,4 +144,4 @@ protected: void SaveStatistics(void); void SaveSpawners(void); void SavePerHeightSpawners(void); -} ; +}; diff --git a/Tools/AnvilStats/Utils.cpp b/Tools/AnvilStats/Utils.cpp index a3fbedf28..6ac88f12e 100644 --- a/Tools/AnvilStats/Utils.cpp +++ b/Tools/AnvilStats/Utils.cpp @@ -12,43 +12,42 @@ struct { - eEntityType Type; + eEntityType Type; const char * String; -} g_EntityTypes[] = -{ - {entBat, "Bat"}, - {entBlaze, "Blaze"}, - {entCaveSpider, "CaveSpider"}, - {entChicken, "Chicken"}, - {entCow, "Cow"}, - {entCreeper, "Creeper"}, - {entEnderDragon, "EnderDragon"}, - {entEnderman, "Enderman"}, - {entGhast, "Ghast"}, - {entGiant, "Giant"}, - {entGuardian, "Guardian"}, - {entLavaSlime, "LavaSlime"}, - {entMushroomCow, "MushroomCow"}, - {entOzelot, "Ozelot"}, - {entPig, "Pig"}, - {entPigZombie, "PigZombie"}, - {entRabbit, "Rabbit"}, - {entSheep, "Sheep"}, - {entSilverfish, "Slverfish"}, - {entSkeleton, "Skeleton"}, - {entSlime, "Slime"}, - {entSnowMan, "SnowMan"}, - {entSpider, "Spider"}, - {entSquid, "Squid"}, - {entVillager, "Villager"}, - {entVillagerGolem, "VillagerGolem"}, - {entWitch, "Witch"}, - {entWitherBoss, "WitherBoss"}, - {entWolf, "Wolf"}, - {entZombie, "Zombie"}, +} g_EntityTypes[] = { + {entBat, "Bat"}, + {entBlaze, "Blaze"}, + {entCaveSpider, "CaveSpider"}, + {entChicken, "Chicken"}, + {entCow, "Cow"}, + {entCreeper, "Creeper"}, + {entEnderDragon, "EnderDragon"}, + {entEnderman, "Enderman"}, + {entGhast, "Ghast"}, + {entGiant, "Giant"}, + {entGuardian, "Guardian"}, + {entLavaSlime, "LavaSlime"}, + {entMushroomCow, "MushroomCow"}, + {entOzelot, "Ozelot"}, + {entPig, "Pig"}, + {entPigZombie, "PigZombie"}, + {entRabbit, "Rabbit"}, + {entSheep, "Sheep"}, + {entSilverfish, "Slverfish"}, + {entSkeleton, "Skeleton"}, + {entSlime, "Slime"}, + {entSnowMan, "SnowMan"}, + {entSpider, "Spider"}, + {entSquid, "Squid"}, + {entVillager, "Villager"}, + {entVillagerGolem, "VillagerGolem"}, + {entWitch, "Witch"}, + {entWitherBoss, "WitherBoss"}, + {entWolf, "Wolf"}, + {entZombie, "Zombie"}, {entZombieVillager, "ZombieVillager"}, - {entUnknown, "Unknown"}, -} ; + {entUnknown, "Unknown"}, +}; @@ -57,31 +56,31 @@ struct const char * GetBiomeString(unsigned char a_Biome) { static const char * BiomeNames[] = // Biome names, as equivalent to their index - { - "Ocean", - "Plains", - "Desert", - "Extreme Hills", - "Forest", - "Taiga", - "Swampland", - "River", - "Hell", - "Sky", - "Frozen Ocean", - "Frozen River", - "Ice Plains", - "Ice Mountains", - "Mushroom Island", - "Mushroom Island Shore", - "Beach", - "Desert Hills", - "Forest Hills", - "Taiga Hills", - "Extreme Hills Edge", - "Jungle", - "Jungle Hills", - } ; + { + "Ocean", + "Plains", + "Desert", + "Extreme Hills", + "Forest", + "Taiga", + "Swampland", + "River", + "Hell", + "Sky", + "Frozen Ocean", + "Frozen River", + "Ice Plains", + "Ice Mountains", + "Mushroom Island", + "Mushroom Island Shore", + "Beach", + "Desert Hills", + "Forest Hills", + "Taiga Hills", + "Extreme Hills Edge", + "Jungle", + "Jungle Hills", + }; return (a_Biome < ARRAYCOUNT(BiomeNames)) ? BiomeNames[a_Biome] : ""; } @@ -92,153 +91,153 @@ const char * GetBiomeString(unsigned char a_Biome) const char * GetBlockTypeString(unsigned char a_BlockType) { static const char * BlockTypeNames[] = // Block type names, as equivalent to their index - { - "air", - "stone", - "grass", - "dirt", - "cobblestone", - "planks", - "sapling", - "bedrock", - "water", - "stillwater", - "lava", - "stilllava", - "sand", - "gravel", - "goldore", - "ironore", - "coalore", - "log", - "leaves", - "sponge", - "glass", - "lapisore", - "lapisblock", - "dispenser", - "sandstone", - "noteblock", - "bedblock", - "poweredrail", - "detectorrail", - "stickypiston", - "cobweb", - "tallgrass", - "deadbush", - "piston", - "pistonhead", - "wool", - "pistonmovedblock", - "flower", - "rose", - "brownmushroom", - "redmushroom", - "goldblock", - "ironblock", - "doubleslab", - "slab", - "brickblock", - "tnt", - "bookcase", - "mossycobblestone", - "obsidian", - "torch", - "fire", - "mobspawner", - "woodstairs", - "chest", - "redstonedust", - "diamondore", - "diamondblock", - "workbench", - "crops", - "soil", - "furnace", - "litfurnace", - "signblock", - "wooddoorblock", - "ladder", - "tracks", - "cobblestonestairs", - "wallsign", - "lever", - "stoneplate", - "irondoorblock", - "woodplate", - "redstoneore", - "redstoneorealt", - "redstonetorchoff", - "redstonetorchon", - "button", - "snow", - "ice", - "snowblock", - "cactus", - "clayblock", - "reedblock", - "jukebox", - "fence", - "pumpkin", - "netherrack", - "soulsand", - "glowstone", - "portal", - "jack-o-lantern", - "cakeblock", - "repeateroff", - "repeateron", - "lockedchest", - "trapdoor", - "silverfishblock", - "stonebricks", - "hugebrownmushroom", - "hugeredmushroom", - "ironbars", - "glasspane", - "melon", - "pumpkinstem", - "melonstem", - "vines", - "fencegate", - "brickstairs", - "stonebrickstairs", - "mycelium", - "lilypad", - "netherbrick", - "netherbrickfence", - "netherbrickstairs", - "netherwartblock", - "enchantmenttable", - "brewingstandblock", - "cauldronblock", - "endportal", - "endportalframe", - "endstone", - "dragonegg", - "redstonelampoff", - "redstonelampon", - "woodendoubleslab", - "woodenslab", - "cocoapod", - "sandstonestairs", /* 128 */ - "Emerald Ore", - "Ender Chest", - "Tripwire Hook", - "Tripwire", - "Block of Emerald", - "Spruce Wood Stairs", - "Birch Wood Stairs", - "Jungle Wood Stairs", - "Command Block", - "Beacon", - "Cobblestone Wall", - "Flower Pot", - "Carrots", - "Potatoes", - "Wooden Button", - "Head", - } ; + { + "air", + "stone", + "grass", + "dirt", + "cobblestone", + "planks", + "sapling", + "bedrock", + "water", + "stillwater", + "lava", + "stilllava", + "sand", + "gravel", + "goldore", + "ironore", + "coalore", + "log", + "leaves", + "sponge", + "glass", + "lapisore", + "lapisblock", + "dispenser", + "sandstone", + "noteblock", + "bedblock", + "poweredrail", + "detectorrail", + "stickypiston", + "cobweb", + "tallgrass", + "deadbush", + "piston", + "pistonhead", + "wool", + "pistonmovedblock", + "flower", + "rose", + "brownmushroom", + "redmushroom", + "goldblock", + "ironblock", + "doubleslab", + "slab", + "brickblock", + "tnt", + "bookcase", + "mossycobblestone", + "obsidian", + "torch", + "fire", + "mobspawner", + "woodstairs", + "chest", + "redstonedust", + "diamondore", + "diamondblock", + "workbench", + "crops", + "soil", + "furnace", + "litfurnace", + "signblock", + "wooddoorblock", + "ladder", + "tracks", + "cobblestonestairs", + "wallsign", + "lever", + "stoneplate", + "irondoorblock", + "woodplate", + "redstoneore", + "redstoneorealt", + "redstonetorchoff", + "redstonetorchon", + "button", + "snow", + "ice", + "snowblock", + "cactus", + "clayblock", + "reedblock", + "jukebox", + "fence", + "pumpkin", + "netherrack", + "soulsand", + "glowstone", + "portal", + "jack-o-lantern", + "cakeblock", + "repeateroff", + "repeateron", + "lockedchest", + "trapdoor", + "silverfishblock", + "stonebricks", + "hugebrownmushroom", + "hugeredmushroom", + "ironbars", + "glasspane", + "melon", + "pumpkinstem", + "melonstem", + "vines", + "fencegate", + "brickstairs", + "stonebrickstairs", + "mycelium", + "lilypad", + "netherbrick", + "netherbrickfence", + "netherbrickstairs", + "netherwartblock", + "enchantmenttable", + "brewingstandblock", + "cauldronblock", + "endportal", + "endportalframe", + "endstone", + "dragonegg", + "redstonelampoff", + "redstonelampon", + "woodendoubleslab", + "woodenslab", + "cocoapod", + "sandstonestairs", /* 128 */ + "Emerald Ore", + "Ender Chest", + "Tripwire Hook", + "Tripwire", + "Block of Emerald", + "Spruce Wood Stairs", + "Birch Wood Stairs", + "Jungle Wood Stairs", + "Command Block", + "Beacon", + "Cobblestone Wall", + "Flower Pot", + "Carrots", + "Potatoes", + "Wooden Button", + "Head", + }; return (a_BlockType < ARRAYCOUNT(BlockTypeNames)) ? BlockTypeNames[a_BlockType] : ""; } diff --git a/Tools/AnvilStats/Utils.h b/Tools/AnvilStats/Utils.h index f2d23f287..51f67ede2 100644 --- a/Tools/AnvilStats/Utils.h +++ b/Tools/AnvilStats/Utils.h @@ -48,7 +48,7 @@ enum eEntityType entZombieVillager, entUnknown, entMax = entUnknown, -} ; +}; @@ -59,6 +59,3 @@ extern const char * GetBlockTypeString(unsigned char a_BlockType); extern eEntityType GetEntityType(const AString & a_EntityTypeString); extern const char * GetEntityTypeString(eEntityType a_EntityType); extern int GetNumCores(void); - - - diff --git a/Tools/BlockZapper/BlockZapper.cpp b/Tools/BlockZapper/BlockZapper.cpp index 9db9e3c99..de47ccfeb 100644 --- a/Tools/BlockZapper/BlockZapper.cpp +++ b/Tools/BlockZapper/BlockZapper.cpp @@ -15,8 +15,8 @@ #ifdef _MSC_VER - // Under MSVC, link to WinSock2 (needed by FastNBT's byteswapping) - #pragma comment(lib, "ws2_32.lib") +// Under MSVC, link to WinSock2 (needed by FastNBT's byteswapping) +#pragma comment(lib, "ws2_32.lib") #endif @@ -62,13 +62,8 @@ int main(int argc, char * argv[]) } i++; } - else if ( - (strcmp(argv[i], "help") == 0) || - (strcmp(argv[i], "-?") == 0) || - (strcmp(argv[i], "/?") == 0) || - (strcmp(argv[i], "-h") == 0) || - (strcmp(argv[i], "--help") == 0) - ) + else if ((strcmp(argv[i], "help") == 0) || (strcmp(argv[i], "-?") == 0) || (strcmp(argv[i], "/?") == 0) || + (strcmp(argv[i], "-h") == 0) || (strcmp(argv[i], "--help") == 0)) { ShowHelp(argv[0]); return 0; @@ -90,4 +85,4 @@ int main(int argc, char * argv[]) LOGINFO("Done"); return 0; -} ; +}; diff --git a/Tools/BlockZapper/Globals.cpp b/Tools/BlockZapper/Globals.cpp index d73265a60..6d1b25cbc 100644 --- a/Tools/BlockZapper/Globals.cpp +++ b/Tools/BlockZapper/Globals.cpp @@ -4,7 +4,3 @@ // Used for precompiled header generation in MSVC #include "Globals.h" - - - - diff --git a/Tools/BlockZapper/Globals.h b/Tools/BlockZapper/Globals.h index 3826c72fa..9de3f032c 100644 --- a/Tools/BlockZapper/Globals.h +++ b/Tools/BlockZapper/Globals.h @@ -8,7 +8,3 @@ #include "../../src/Globals.h" - - - - diff --git a/Tools/BlockZapper/Regions.cpp b/Tools/BlockZapper/Regions.cpp index 7a205a138..ec6f98545 100644 --- a/Tools/BlockZapper/Regions.cpp +++ b/Tools/BlockZapper/Regions.cpp @@ -30,7 +30,16 @@ cRegion::cRegion(void) : -cRegion::cRegion(int a_MinX, int a_MaxX, int a_MinY, int a_MaxY, int a_MinZ, int a_MaxZ, bool a_ShouldZapBlocks, bool a_ShouldZapEntities) : +cRegion::cRegion( + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + bool a_ShouldZapBlocks, + bool a_ShouldZapEntities +) : m_MinX(a_MinX), m_MaxX(a_MaxX), m_MinY(std::max(0, std::min(255, a_MinY))), @@ -52,10 +61,7 @@ bool cRegion::TouchesChunk(int a_ChunkX, int a_ChunkZ) const int ChunkEndX = a_ChunkX * 16 + 15; int ChunkBeginZ = a_ChunkZ * 16; int ChunkEndZ = a_ChunkZ * 16 + 15; - if ( - (m_MinX > ChunkEndX) || (m_MaxX < ChunkBeginX) || - (m_MinZ > ChunkEndZ) || (m_MaxZ < ChunkBeginZ) - ) + if ((m_MinX > ChunkEndX) || (m_MaxX < ChunkBeginX) || (m_MinZ > ChunkEndZ) || (m_MaxZ < ChunkBeginZ)) { return false; } @@ -159,5 +165,7 @@ void cRegions::AddRegion(const AStringVector & a_Split) } // Store the region - m_Regions.push_back(cRegion(Coords[0], Coords[1], Coords[2], Coords[3], Coords[4], Coords[5], ShouldZapBlocks, ShouldZapEntities)); + m_Regions.push_back( + cRegion(Coords[0], Coords[1], Coords[2], Coords[3], Coords[4], Coords[5], ShouldZapBlocks, ShouldZapEntities) + ); } diff --git a/Tools/BlockZapper/Regions.h b/Tools/BlockZapper/Regions.h index 2fe50a9b4..b740f62f6 100644 --- a/Tools/BlockZapper/Regions.h +++ b/Tools/BlockZapper/Regions.h @@ -25,10 +25,19 @@ struct cRegion bool m_ShouldZapEntities; cRegion(void); - cRegion(int a_MinX, int a_MaxX, int a_MinY, int a_MaxY, int a_MinZ, int a_MaxZ, bool a_ShouldZapBlocks, bool a_ShouldZapEntities); + cRegion( + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + bool a_ShouldZapBlocks, + bool a_ShouldZapEntities + ); bool TouchesChunk(int a_ChunkX, int a_ChunkZ) const; -} ; +}; typedef std::vector cRegionVector; @@ -38,17 +47,16 @@ typedef std::vector cRegionVector; class cRegions { -public: + public: /** Reads the list of regions from the specified stream */ void Read(std::istream & a_Stream); /** Returns all regions in this container */ const cRegionVector & GetAll(void) const { return m_Regions; } -protected: + protected: cRegionVector m_Regions; /** Adds a new region based on the contents of the split line. The split must already be the correct size */ void AddRegion(const AStringVector & a_Split); - -} ; +}; diff --git a/Tools/BlockZapper/Zapper.cpp b/Tools/BlockZapper/Zapper.cpp index ae3916835..84a5dd3f0 100644 --- a/Tools/BlockZapper/Zapper.cpp +++ b/Tools/BlockZapper/Zapper.cpp @@ -89,7 +89,12 @@ void cZapper::ZapRegionInMCAFile(const cRegion & a_Region, int a_MCAX, int a_MCA AString FileNameOut = Printf("%s/r.%d.%d.zap", m_MCAFolder.c_str(), a_MCAX, a_MCAZ); if (!fOut.Open(FileNameOut, cFile::fmWrite)) { - fprintf(stderr, "Cannot open temporary file \"%s\" for writing, skipping file \"%s\".", FileNameOut.c_str(), FileNameIn.c_str()); + fprintf( + stderr, + "Cannot open temporary file \"%s\" for writing, skipping file \"%s\".", + FileNameOut.c_str(), + FileNameIn.c_str() + ); return; } @@ -124,16 +129,17 @@ void cZapper::ZapRegionInMCAFile(const cRegion & a_Region, int a_MCAX, int a_MCA size_t DataSize = ChunkData.size() + 1; ChunkHeader[0] = (DataSize >> 24) & 0xff; ChunkHeader[1] = (DataSize >> 16) & 0xff; - ChunkHeader[2] = (DataSize >> 8) & 0xff; + ChunkHeader[2] = (DataSize >> 8) & 0xff; ChunkHeader[3] = DataSize & 0xff; ChunkHeader[4] = 2; // zlib compression - size_t Alignment = 4096 - (ChunkData.size() + 5) % 4096; // 5 bytes of the header are appended outside of ChunkData + size_t Alignment = + 4096 - (ChunkData.size() + 5) % 4096; // 5 bytes of the header are appended outside of ChunkData if (Alignment > 0) { - ChunkData.append(Alignment, (char)0); + ChunkData.append(Alignment, (char) 0); } HeaderOut[i] = htonl(((DataOut.size() / 4096 + 2) << 8) | ((ChunkData.size() + 5) / 4096)); - DataOut.append((const char *)ChunkHeader, sizeof(ChunkHeader)); + DataOut.append((const char *) ChunkHeader, sizeof(ChunkHeader)); DataOut.append(ChunkData); } // for i - chunks in fIn for (int i = 1024; i < 2048; i++) @@ -162,13 +168,19 @@ void cZapper::LoadChunkData(cFile & a_InFile, int a_ChunkHeaderValue, AString & a_InFile.Read(ChunkHeader, sizeof(ChunkHeader)); if (ChunkHeader[4] != 2) { - fprintf(stderr, "Chunk [%d, %d] is compressed in an unknown scheme (%d), skipping", a_ChunkX, a_ChunkZ, ChunkHeader[4]); + fprintf( + stderr, + "Chunk [%d, %d] is compressed in an unknown scheme (%d), skipping", + a_ChunkX, + a_ChunkZ, + ChunkHeader[4] + ); return; } - int ActualSize = (ChunkHeader[0] << 24) | (ChunkHeader[1] << 16) | (ChunkHeader[2] << 8) | ChunkHeader[3]; + int ActualSize = (ChunkHeader[0] << 24) | (ChunkHeader[1] << 16) | (ChunkHeader[2] << 8) | ChunkHeader[3]; ActualSize -= 1; // Compression took 1 byte a_ChunkData.resize(ActualSize); - int BytesRead = a_InFile.Read((void *)(a_ChunkData.data()), ActualSize); + int BytesRead = a_InFile.Read((void *) (a_ChunkData.data()), ActualSize); if (BytesRead != ActualSize) { fprintf(stderr, "Chunk is truncated in file (%d bytes out of %d), skipping.", BytesRead, ActualSize); @@ -186,14 +198,14 @@ void cZapper::ZapRegionInRawChunkData(const cRegion & a_Region, AString & a_Chun // Decompress the data: char Uncompressed[CHUNK_INFLATE_MAX]; z_stream strm; - strm.zalloc = (alloc_func)NULL; - strm.zfree = (free_func)NULL; + strm.zalloc = (alloc_func) NULL; + strm.zfree = (free_func) NULL; strm.opaque = NULL; inflateInit(&strm); - strm.next_out = (Bytef *)Uncompressed; + strm.next_out = (Bytef *) Uncompressed; strm.avail_out = sizeof(Uncompressed); - strm.next_in = (Bytef *)a_ChunkData.data(); - strm.avail_in = a_ChunkData.size(); + strm.next_in = (Bytef *) a_ChunkData.data(); + strm.avail_in = a_ChunkData.size(); int res = inflate(&strm, Z_FINISH); inflateEnd(&strm); if (res != Z_STREAM_END) @@ -268,7 +280,13 @@ void cZapper::ZapRegionInNBTChunk(const cRegion & a_Region, cParsedNBT & a_NBT, int SectionsTag = a_NBT.FindChildByName(LevelTag, "Sections"); if (SectionsTag < 0) { - fprintf(stderr, "Cannot find the Sections tag in the Level tag in chunk [%d, %d]'s NBT. Skipping block-zapping in chunk.", a_ChunkX, a_ChunkZ); + fprintf( + stderr, + "Cannot find the Sections tag in the Level tag in chunk [%d, %d]'s NBT. Skipping block-zapping in " + "chunk.", + a_ChunkX, + a_ChunkZ + ); return; } ZapRegionBlocksInNBT(Local, a_NBT, SectionsTag); @@ -279,7 +297,13 @@ void cZapper::ZapRegionInNBTChunk(const cRegion & a_Region, cParsedNBT & a_NBT, int EntitiesTag = a_NBT.FindChildByName(LevelTag, "Entities"); if (EntitiesTag < 0) { - fprintf(stderr, "Cannot find the Entities tag in the Level tag in chunk [%d, %d]'s NBT. Skipping entity-zapping in chunk.", a_ChunkX, a_ChunkZ); + fprintf( + stderr, + "Cannot find the Entities tag in the Level tag in chunk [%d, %d]'s NBT. Skipping entity-zapping in " + "chunk.", + a_ChunkX, + a_ChunkZ + ); return; } ZapRegionEntitiesInNBT(Local, a_NBT, EntitiesTag); @@ -307,18 +331,18 @@ void cZapper::ZapRegionBlocksInNBT(const cRegion & a_Region, cParsedNBT & a_NBT, } int BlockDataTag = a_NBT.FindChildByName(Child, "Blocks"); int BlockMetaTag = a_NBT.FindChildByName(Child, "Data"); - int BlockAddTag = a_NBT.FindChildByName(Child, "Add"); + int BlockAddTag = a_NBT.FindChildByName(Child, "Add"); if (BlockDataTag > 0) { - ZapRegionInNBTSectionBytes(a_Region, y, (unsigned char *)(a_NBT.GetData(BlockDataTag))); + ZapRegionInNBTSectionBytes(a_Region, y, (unsigned char *) (a_NBT.GetData(BlockDataTag))); } if (BlockMetaTag > 0) { - ZapRegionInNBTSectionNibbles(a_Region, y, (unsigned char *)(a_NBT.GetData(BlockMetaTag))); + ZapRegionInNBTSectionNibbles(a_Region, y, (unsigned char *) (a_NBT.GetData(BlockMetaTag))); } if (BlockAddTag > 0) { - ZapRegionInNBTSectionNibbles(a_Region, y, (unsigned char *)(a_NBT.GetData(BlockAddTag))); + ZapRegionInNBTSectionNibbles(a_Region, y, (unsigned char *) (a_NBT.GetData(BlockAddTag))); } } // for Child - Level / Sections / [] } @@ -384,25 +408,28 @@ void cZapper::SerializeNBTTag(const cParsedNBT & a_NBT, int a_Tag, cFastNBTWrite { switch (a_NBT.GetType(a_Tag)) { - case TAG_Byte: a_Writer.AddByte (a_NBT.GetName(a_Tag), a_NBT.GetByte (a_Tag)); break; - case TAG_Short: a_Writer.AddShort (a_NBT.GetName(a_Tag), a_NBT.GetShort (a_Tag)); break; - case TAG_Int: a_Writer.AddInt (a_NBT.GetName(a_Tag), a_NBT.GetInt (a_Tag)); break; - case TAG_Long: a_Writer.AddLong (a_NBT.GetName(a_Tag), a_NBT.GetLong (a_Tag)); break; - case TAG_Float: a_Writer.AddFloat (a_NBT.GetName(a_Tag), a_NBT.GetFloat (a_Tag)); break; - case TAG_Double: a_Writer.AddDouble (a_NBT.GetName(a_Tag), a_NBT.GetDouble(a_Tag)); break; - case TAG_ByteArray: a_Writer.AddByteArray(a_NBT.GetName(a_Tag), a_NBT.GetData (a_Tag), a_NBT.GetDataLength(a_Tag)); break; - case TAG_String: a_Writer.AddString (a_NBT.GetName(a_Tag), a_NBT.GetString(a_Tag)); break; + case TAG_Byte: a_Writer.AddByte(a_NBT.GetName(a_Tag), a_NBT.GetByte(a_Tag)); break; + case TAG_Short: a_Writer.AddShort(a_NBT.GetName(a_Tag), a_NBT.GetShort(a_Tag)); break; + case TAG_Int: a_Writer.AddInt(a_NBT.GetName(a_Tag), a_NBT.GetInt(a_Tag)); break; + case TAG_Long: a_Writer.AddLong(a_NBT.GetName(a_Tag), a_NBT.GetLong(a_Tag)); break; + case TAG_Float: a_Writer.AddFloat(a_NBT.GetName(a_Tag), a_NBT.GetFloat(a_Tag)); break; + case TAG_Double: a_Writer.AddDouble(a_NBT.GetName(a_Tag), a_NBT.GetDouble(a_Tag)); break; + case TAG_ByteArray: + a_Writer.AddByteArray(a_NBT.GetName(a_Tag), a_NBT.GetData(a_Tag), a_NBT.GetDataLength(a_Tag)); + break; + case TAG_String: a_Writer.AddString(a_NBT.GetName(a_Tag), a_NBT.GetString(a_Tag)); break; case TAG_IntArray: { std::vector Data; int NumInts = a_NBT.GetDataLength(a_Tag) / 4; Data.reserve(NumInts); - int * OrigData = (int *)(a_NBT.GetData(a_Tag)); + int * OrigData = (int *) (a_NBT.GetData(a_Tag)); for (int i = 0; i < NumInts; i++) { Data.push_back(ntohl(OrigData[i])); } - a_Writer.AddIntArray (a_NBT.GetName(a_Tag), &Data.front(), Data.size()); break; + a_Writer.AddIntArray(a_NBT.GetName(a_Tag), &Data.front(), Data.size()); + break; } case TAG_List: diff --git a/Tools/BlockZapper/Zapper.h b/Tools/BlockZapper/Zapper.h index e156848af..7daa07a59 100644 --- a/Tools/BlockZapper/Zapper.h +++ b/Tools/BlockZapper/Zapper.h @@ -25,13 +25,13 @@ class cFastNBTWriter; class cZapper { -public: + public: cZapper(const AString & a_MCAFolder); /** Zaps all the specified regions */ void ZapRegions(const cRegionVector & a_Regions); -protected: + protected: static const int BlocksPerChunkX = 16; static const int BlocksPerChunkZ = 16; static const int ChunksPerMCAX = 32; @@ -49,8 +49,8 @@ protected: void ZapRegionInMCAFile(const cRegion & a_Region, int a_MCAX, int a_MCAZ); /** Loads raw compressed chunk data from the specified file - * chunk is specified by ChunkHeaderValue, which is the int describing the chunk in file header. - */ + * chunk is specified by ChunkHeaderValue, which is the int describing the chunk in file header. + */ void LoadChunkData(cFile & a_InFile, int a_ChunkHeaderValue, AString & a_ChunkData, int a_ChunkX, int a_ChunkZ); /** Zaps the specified region in the raw (compressed) chunk data. */ @@ -73,4 +73,4 @@ protected: /** Serializes the NBT subtree into a writer */ void SerializeNBTTag(const cParsedNBT & a_NBT, int a_Tag, cFastNBTWriter & a_Writer); -} ; +}; diff --git a/Tools/GrownBiomeGenVisualiser/Globals.cpp b/Tools/GrownBiomeGenVisualiser/Globals.cpp index 13c6ae709..680afbf75 100644 --- a/Tools/GrownBiomeGenVisualiser/Globals.cpp +++ b/Tools/GrownBiomeGenVisualiser/Globals.cpp @@ -4,7 +4,3 @@ // This file is used for precompiled header generation in MSVC environments #include "Globals.h" - - - - diff --git a/Tools/GrownBiomeGenVisualiser/Globals.h b/Tools/GrownBiomeGenVisualiser/Globals.h index 2c5d090f5..cdaecdba3 100644 --- a/Tools/GrownBiomeGenVisualiser/Globals.h +++ b/Tools/GrownBiomeGenVisualiser/Globals.h @@ -10,20 +10,20 @@ // Compiler-dependent stuff: #if defined(_MSC_VER) - // MSVC produces warning C4481 on the override keyword usage, so disable the warning altogether - #pragma warning(disable:4481) +// MSVC produces warning C4481 on the override keyword usage, so disable the warning altogether +#pragma warning(disable : 4481) - // Disable some warnings that we don't care about: - #pragma warning(disable:4100) +// Disable some warnings that we don't care about: +#pragma warning(disable : 4100) #elif defined(__GNUC__) - // TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? - #define abstract +// TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? +#define abstract #else - #error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" +#error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" #endif @@ -32,7 +32,7 @@ #ifndef TOLUA_TEMPLATE_BIND - #define TOLUA_TEMPLATE_BIND(x) +#define TOLUA_TEMPLATE_BIND(x) #endif @@ -41,12 +41,12 @@ // Integral types with predefined sizes: typedef long long Int64; -typedef int Int32; -typedef short Int16; +typedef int Int32; +typedef short Int16; typedef unsigned long long UInt64; -typedef unsigned int UInt32; -typedef unsigned short UInt16; +typedef unsigned int UInt32; +typedef unsigned short UInt16; typedef unsigned char Byte; @@ -57,57 +57,57 @@ typedef unsigned char Byte; // A macro to disallow the copy constructor and operator= functions // This should be used in the private: declarations for any class that shouldn't allow copying itself #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName &); \ + TypeName(const TypeName &); \ void operator=(const TypeName &) // A macro that is used to mark unused function parameters, to avoid pedantic warnings in gcc -#define UNUSED(X) (void)(X) +#define UNUSED(X) (void) (X) // OS-dependent stuff: #ifdef _WIN32 - #define WIN32_LEAN_AND_MEAN - #include - #include - #include +#define WIN32_LEAN_AND_MEAN +#include +#include +#include - // Windows SDK defines min and max macros, messing up with our std::min and std::max usage - #undef min - #undef max +// Windows SDK defines min and max macros, messing up with our std::min and std::max usage +#undef min +#undef max - // Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant - #ifdef GetFreeSpace - #undef GetFreeSpace - #endif // GetFreeSpace +// Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant +#ifdef GetFreeSpace +#undef GetFreeSpace +#endif // GetFreeSpace - #define SocketError WSAGetLastError() +#define SocketError WSAGetLastError() #else - #include - #include // for mkdir - #include - #include - #include - #include - #include - #include - #include - #include - - #include - #include - #include - #include - #include - - typedef int SOCKET; - enum - { - INVALID_SOCKET = -1, - }; - #define closesocket close - #define SocketError errno +#include +#include // for mkdir +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +typedef int SOCKET; +enum +{ + INVALID_SOCKET = -1, +}; +#define closesocket close +#define SocketError errno #endif @@ -156,17 +156,17 @@ typedef unsigned char Byte; #define ARRAYCOUNT(X) (sizeof(X) / sizeof(*(X))) /** Allows arithmetic expressions like "32 KiB" (but consider using parenthesis around it, "(32 KiB)") */ -#define KiB * 1024 -#define MiB * 1024 * 1024 +#define KiB *1024 +#define MiB *1024 * 1024 /** Faster than (int)floorf((float)x / (float)div) */ -#define FAST_FLOOR_DIV(x, div) ((x) < 0 ? (((int)x / div) - 1) : ((int)x / div)) +#define FAST_FLOOR_DIV(x, div) ((x) < 0 ? (((int) x / div) - 1) : ((int) x / div)) /** Own version of assert() that writes failed assertions to the log for review */ -#ifdef NDEBUG - #define ASSERT(x) ((void)0) +#ifdef NDEBUG +#define ASSERT(x) ((void) 0) #else - #define ASSERT assert +#define ASSERT assert #endif // Pretty much the same as ASSERT() but stays in Release builds @@ -177,16 +177,13 @@ typedef unsigned char Byte; /** Clamp X to the specified range. */ -template -T Clamp(T a_Value, T a_Min, T a_Max) +template T Clamp(T a_Value, T a_Min, T a_Max) { return (a_Value < a_Min) ? a_Min : ((a_Value > a_Max) ? a_Max : a_Value); } -template -auto ToUnsigned(T a_Val) +template auto ToUnsigned(T a_Val) { ASSERT(a_Val >= 0); return static_cast>(a_Val); } - diff --git a/Tools/GrownBiomeGenVisualiser/GrownBiomeGenVisualiser.cpp b/Tools/GrownBiomeGenVisualiser/GrownBiomeGenVisualiser.cpp index 5201c28bf..665016b96 100644 --- a/Tools/GrownBiomeGenVisualiser/GrownBiomeGenVisualiser.cpp +++ b/Tools/GrownBiomeGenVisualiser/GrownBiomeGenVisualiser.cpp @@ -23,9 +23,11 @@ typedef int Color[3]; // Color is an array of 3 ints // Forward declarations, needed for GCC and Clang: void outputBitmapFile( const AString & a_FileName, - unsigned a_ImageSizeX, unsigned a_ImageSizeY, + unsigned a_ImageSizeX, + unsigned a_ImageSizeY, const int * a_ColorIndices, - unsigned a_IndicesSizeX, unsigned a_IndicesSizeY, + unsigned a_IndicesSizeX, + unsigned a_IndicesSizeY, const Color * a_Colors, size_t a_NumColors ); @@ -40,8 +42,7 @@ void generateExamples(int a_Seed); /** Color palette used for algorithm examples. No relevance to biomes whatsoever. */ -static const Color spectrumColors[] = -{ +static const Color spectrumColors[] = { {0, 0, 0}, {255, 0, 0}, {0, 255, 0}, @@ -56,13 +57,12 @@ static const Color spectrumColors[] = /** Color palette used for displaying biome groups. */ -static const Color biomeGroupColors[] = -{ - /* bgOcean */ {0x00, 0x00, 0x70}, - /* bgDesert */ {0xfa, 0x94, 0x18}, - /* bgTemperate */ {0x05, 0x66, 0x21}, - /* bgMountains */ {0x60, 0x60, 0x60}, - /* bgIce */ {0xa0, 0xa0, 0xff}, +static const Color biomeGroupColors[] = { + /* bgOcean */ {0x00, 0x00, 0x70}, + /* bgDesert */ {0xfa, 0x94, 0x18}, + /* bgTemperate */ {0x05, 0x66, 0x21}, + /* bgMountains */ {0x60, 0x60, 0x60}, + /* bgIce */ {0xa0, 0xa0, 0xff}, }; @@ -81,80 +81,261 @@ static const struct { EMCSBiome biome; Color color; -} biomeColorMap[] = -{ - { biOcean, { 0x00, 0x00, 0x70 }, }, - { biPlains, { 0x8d, 0xb3, 0x60 }, }, - { biDesert, { 0xfa, 0x94, 0x18 }, }, - { biExtremeHills, { 0x60, 0x60, 0x60 }, }, - { biForest, { 0x05, 0x66, 0x21 }, }, - { biTaiga, { 0x0b, 0x66, 0x59 }, }, - { biSwampland, { 0x2f, 0xff, 0xda }, }, - { biRiver, { 0x30, 0x30, 0xaf }, }, - { biHell, { 0x7f, 0x00, 0x00 }, }, - { biSky, { 0x00, 0x7f, 0xff }, }, - { biFrozenOcean, { 0xa0, 0xa0, 0xdf }, }, - { biFrozenRiver, { 0xa0, 0xa0, 0xff }, }, - { biIcePlains, { 0xff, 0xff, 0xff }, }, - { biIceMountains, { 0xa0, 0xa0, 0xa0 }, }, - { biMushroomIsland, { 0xff, 0x00, 0xff }, }, - { biMushroomShore, { 0xa0, 0x00, 0xff }, }, - { biBeach, { 0xfa, 0xde, 0x55 }, }, - { biDesertHills, { 0xd2, 0x5f, 0x12 }, }, - { biForestHills, { 0x22, 0x55, 0x1c }, }, - { biTaigaHills, { 0x16, 0x39, 0x33 }, }, - { biExtremeHillsEdge, { 0x7f, 0x8f, 0x7f }, }, - { biJungle, { 0x53, 0x7b, 0x09 }, }, - { biJungleHills, { 0x2c, 0x42, 0x05 }, }, - - { biJungleEdge, { 0x62, 0x8b, 0x17 }, }, - { biDeepOcean, { 0x00, 0x00, 0x30 }, }, - { biStoneBeach, { 0xa2, 0xa2, 0x84 }, }, - { biColdBeach, { 0xfa, 0xf0, 0xc0 }, }, - { biBirchForest, { 0x30, 0x74, 0x44 }, }, - { biBirchForestHills, { 0x1f, 0x5f, 0x32 }, }, - { biRoofedForest, { 0x40, 0x51, 0x1a }, }, - { biColdTaiga, { 0x31, 0x55, 0x4a }, }, - { biColdTaigaHills, { 0x59, 0x7d, 0x72 }, }, - { biMegaTaiga, { 0x59, 0x66, 0x51 }, }, - { biMegaTaigaHills, { 0x59, 0x66, 0x59 }, }, - { biExtremeHillsPlus, { 0x50, 0x70, 0x50 }, }, - { biSavanna, { 0xbd, 0xb2, 0x5f }, }, - { biSavannaPlateau, { 0xa7, 0x9d, 0x64 }, }, - { biMesa, { 0xd9, 0x45, 0x15 }, }, - { biMesaPlateauF, { 0xb0, 0x97, 0x65 }, }, - { biMesaPlateau, { 0xca, 0x8c, 0x65 }, }, +} biomeColorMap[] = { + { + biOcean, + {0x00, 0x00, 0x70}, + }, + { + biPlains, + {0x8d, 0xb3, 0x60}, + }, + { + biDesert, + {0xfa, 0x94, 0x18}, + }, + { + biExtremeHills, + {0x60, 0x60, 0x60}, + }, + { + biForest, + {0x05, 0x66, 0x21}, + }, + { + biTaiga, + {0x0b, 0x66, 0x59}, + }, + { + biSwampland, + {0x2f, 0xff, 0xda}, + }, + { + biRiver, + {0x30, 0x30, 0xaf}, + }, + { + biHell, + {0x7f, 0x00, 0x00}, + }, + { + biSky, + {0x00, 0x7f, 0xff}, + }, + { + biFrozenOcean, + {0xa0, 0xa0, 0xdf}, + }, + { + biFrozenRiver, + {0xa0, 0xa0, 0xff}, + }, + { + biIcePlains, + {0xff, 0xff, 0xff}, + }, + { + biIceMountains, + {0xa0, 0xa0, 0xa0}, + }, + { + biMushroomIsland, + {0xff, 0x00, 0xff}, + }, + { + biMushroomShore, + {0xa0, 0x00, 0xff}, + }, + { + biBeach, + {0xfa, 0xde, 0x55}, + }, + { + biDesertHills, + {0xd2, 0x5f, 0x12}, + }, + { + biForestHills, + {0x22, 0x55, 0x1c}, + }, + { + biTaigaHills, + {0x16, 0x39, 0x33}, + }, + { + biExtremeHillsEdge, + {0x7f, 0x8f, 0x7f}, + }, + { + biJungle, + {0x53, 0x7b, 0x09}, + }, + { + biJungleHills, + {0x2c, 0x42, 0x05}, + }, + + { + biJungleEdge, + {0x62, 0x8b, 0x17}, + }, + { + biDeepOcean, + {0x00, 0x00, 0x30}, + }, + { + biStoneBeach, + {0xa2, 0xa2, 0x84}, + }, + { + biColdBeach, + {0xfa, 0xf0, 0xc0}, + }, + { + biBirchForest, + {0x30, 0x74, 0x44}, + }, + { + biBirchForestHills, + {0x1f, 0x5f, 0x32}, + }, + { + biRoofedForest, + {0x40, 0x51, 0x1a}, + }, + { + biColdTaiga, + {0x31, 0x55, 0x4a}, + }, + { + biColdTaigaHills, + {0x59, 0x7d, 0x72}, + }, + { + biMegaTaiga, + {0x59, 0x66, 0x51}, + }, + { + biMegaTaigaHills, + {0x59, 0x66, 0x59}, + }, + { + biExtremeHillsPlus, + {0x50, 0x70, 0x50}, + }, + { + biSavanna, + {0xbd, 0xb2, 0x5f}, + }, + { + biSavannaPlateau, + {0xa7, 0x9d, 0x64}, + }, + { + biMesa, + {0xd9, 0x45, 0x15}, + }, + { + biMesaPlateauF, + {0xb0, 0x97, 0x65}, + }, + { + biMesaPlateau, + {0xca, 0x8c, 0x65}, + }, // M variants: - { biSunflowerPlains, { 0xb5, 0xdb, 0x88 }, }, - { biDesertM, { 0xff, 0xbc, 0x40 }, }, - { biExtremeHillsM, { 0x88, 0x88, 0x88 }, }, - { biFlowerForest, { 0x2d, 0x8e, 0x49 }, }, - { biTaigaM, { 0x33, 0x8e, 0x81 }, }, - { biSwamplandM, { 0x07, 0xf9, 0xb2 }, }, - { biIcePlainsSpikes, { 0xb4, 0xdc, 0xdc }, }, - { biJungleM, { 0x7b, 0xa3, 0x31 }, }, - { biJungleEdgeM, { 0x62, 0x8b, 0x17 }, }, - { biBirchForestM, { 0x58, 0x9c, 0x6c }, }, - { biBirchForestHillsM, { 0x47, 0x87, 0x5a }, }, - { biRoofedForestM, { 0x68, 0x79, 0x42 }, }, - { biColdTaigaM, { 0x24, 0x3f, 0x36 }, }, - { biMegaSpruceTaiga, { 0x45, 0x4f, 0x3e }, }, - { biMegaSpruceTaigaHills, { 0x45, 0x4f, 0x4e }, }, - { biExtremeHillsPlusM, { 0x78, 0x98, 0x78 }, }, - { biSavannaM, { 0xe5, 0xda, 0x87 }, }, - { biSavannaPlateauM, { 0xa7, 0x9d, 0x74 }, }, - { biMesaBryce, { 0xff, 0x6d, 0x3d }, }, - { biMesaPlateauFM, { 0xd8, 0xbf, 0x8d }, }, - { biMesaPlateauM, { 0xf2, 0xb4, 0x8d }, }, + { + biSunflowerPlains, + {0xb5, 0xdb, 0x88}, + }, + { + biDesertM, + {0xff, 0xbc, 0x40}, + }, + { + biExtremeHillsM, + {0x88, 0x88, 0x88}, + }, + { + biFlowerForest, + {0x2d, 0x8e, 0x49}, + }, + { + biTaigaM, + {0x33, 0x8e, 0x81}, + }, + { + biSwamplandM, + {0x07, 0xf9, 0xb2}, + }, + { + biIcePlainsSpikes, + {0xb4, 0xdc, 0xdc}, + }, + { + biJungleM, + {0x7b, 0xa3, 0x31}, + }, + { + biJungleEdgeM, + {0x62, 0x8b, 0x17}, + }, + { + biBirchForestM, + {0x58, 0x9c, 0x6c}, + }, + { + biBirchForestHillsM, + {0x47, 0x87, 0x5a}, + }, + { + biRoofedForestM, + {0x68, 0x79, 0x42}, + }, + { + biColdTaigaM, + {0x24, 0x3f, 0x36}, + }, + { + biMegaSpruceTaiga, + {0x45, 0x4f, 0x3e}, + }, + { + biMegaSpruceTaigaHills, + {0x45, 0x4f, 0x4e}, + }, + { + biExtremeHillsPlusM, + {0x78, 0x98, 0x78}, + }, + { + biSavannaM, + {0xe5, 0xda, 0x87}, + }, + { + biSavannaPlateauM, + {0xa7, 0x9d, 0x74}, + }, + { + biMesaBryce, + {0xff, 0x6d, 0x3d}, + }, + { + biMesaPlateauFM, + {0xd8, 0xbf, 0x8d}, + }, + { + biMesaPlateauM, + {0xf2, 0xb4, 0x8d}, + }, }; -template -void log(const char * a_Fmt, const Args & ... a_Args) +template void log(const char * a_Fmt, const Args &... a_Args) { fmt::printf(a_Fmt, a_Args...); putchar('\n'); @@ -167,9 +348,11 @@ void log(const char * a_Fmt, const Args & ... a_Args) void outputBitmapFile( const AString & a_FileName, - unsigned a_ImageSizeX, unsigned a_ImageSizeY, + unsigned a_ImageSizeX, + unsigned a_ImageSizeY, const int * a_ColorIndices, - unsigned a_IndicesSizeX, unsigned a_IndicesSizeY, + unsigned a_IndicesSizeX, + unsigned a_IndicesSizeY, const Color * a_Colors, size_t a_NumColors ) @@ -261,7 +444,8 @@ void generateZoomLevels(int a_Seed) int workspace[maxArrSize * maxArrSize]; // Workspace for the generated array // Chain the zoom operation as many times as the image number: - std::shared_ptr gen = std::make_shared(a_Seed, static_cast(ARRAYCOUNT(spectrumColors) + 1)); + std::shared_ptr gen = + std::make_shared(a_Seed, static_cast(ARRAYCOUNT(spectrumColors) + 1)); for (unsigned j = 1; j < i; j++) { gen = std::make_shared(a_Seed + static_cast(j), gen); @@ -286,7 +470,8 @@ void generateSmoothLevels(int a_Seed) const unsigned maxArrSize = 65; ///< Size of the underlying generated array // Initialize the underlying generator: - std::shared_ptr underlyingGen = std::make_shared(a_Seed, static_cast(ARRAYCOUNT(spectrumColors) + 1)); + std::shared_ptr underlyingGen = + std::make_shared(a_Seed, static_cast(ARRAYCOUNT(spectrumColors) + 1)); for (int j = 1; j < 4; j++) { underlyingGen = std::make_shared(a_Seed + j, underlyingGen); @@ -326,42 +511,86 @@ void generateExamples(int a_Seed) const int imgSize = 256; // Create the inputs: - auto in1 = - std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 2000, 200, - std::make_shared(a_Seed + 9, 300, bgOcean, - std::make_shared(a_Seed + 2, - std::make_shared(a_Seed + 1, 30 - ))))); - auto in2 = - std::make_shared(a_Seed + 1, - std::make_shared(in1 - )); - auto in3 = - std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 2, - std::make_shared(a_Seed + 3000, in2 - ))); - auto inAlt = - std::make_shared(a_Seed, - std::make_shared(a_Seed, 30 - )); + auto in1 = std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 2000, + 200, + std::make_shared( + a_Seed + 9, + 300, + bgOcean, + std::make_shared(a_Seed + 2, std::make_shared(a_Seed + 1, 30)) + ) + ) + ); + auto in2 = std::make_shared(a_Seed + 1, std::make_shared(in1)); + auto in3 = std::make_shared( + a_Seed + 1, + std::make_shared(a_Seed + 2, std::make_shared(a_Seed + 3000, in2)) + ); + auto inAlt = std::make_shared(a_Seed, std::make_shared(a_Seed, 30)); auto inRiver = std::make_shared(a_Seed, in2); int workspace[maxArrSize * maxArrSize]; in1->GetInts(0, 0, inArrSize, inArrSize, workspace); - outputBitmapFile("grownexample_in1.ppm", imgSize, imgSize, workspace, inArrSize, inArrSize, biomeGroupColors, ARRAYCOUNT(biomeGroupColors)); + outputBitmapFile( + "grownexample_in1.ppm", + imgSize, + imgSize, + workspace, + inArrSize, + inArrSize, + biomeGroupColors, + ARRAYCOUNT(biomeGroupColors) + ); log(" Created example input 1"); in2->GetInts(0, 0, inArrSize, inArrSize, workspace); - outputBitmapFile("grownexample_in2.ppm", imgSize, imgSize, workspace, inArrSize, inArrSize, biomeGroupColors, ARRAYCOUNT(biomeGroupColors)); + outputBitmapFile( + "grownexample_in2.ppm", + imgSize, + imgSize, + workspace, + inArrSize, + inArrSize, + biomeGroupColors, + ARRAYCOUNT(biomeGroupColors) + ); log(" Created example input 2"); in3->GetInts(0, 0, inArrSize, inArrSize, workspace); - outputBitmapFile("grownexample_in3.ppm", imgSize, imgSize, workspace, inArrSize, inArrSize, biomeColors, ARRAYCOUNT(biomeColors)); + outputBitmapFile( + "grownexample_in3.ppm", + imgSize, + imgSize, + workspace, + inArrSize, + inArrSize, + biomeColors, + ARRAYCOUNT(biomeColors) + ); log(" Created example input 3"); inAlt->GetInts(0, 0, inArrSize, inArrSize, workspace); - outputBitmapFile("grownexample_in_alt.ppm", imgSize, imgSize, workspace, inArrSize, inArrSize, biomeGroupColors, ARRAYCOUNT(biomeGroupColors)); + outputBitmapFile( + "grownexample_in_alt.ppm", + imgSize, + imgSize, + workspace, + inArrSize, + inArrSize, + biomeGroupColors, + ARRAYCOUNT(biomeGroupColors) + ); log(" Created example input alt"); inRiver->GetInts(0, 0, inArrSize, inArrSize, workspace); - outputBitmapFile("grownexample_in_river.ppm", imgSize, imgSize, workspace, inArrSize, inArrSize, biomeColors, ARRAYCOUNT(biomeColors)); + outputBitmapFile( + "grownexample_in_river.ppm", + imgSize, + imgSize, + workspace, + inArrSize, + inArrSize, + biomeColors, + ARRAYCOUNT(biomeColors) + ); log(" Created example input river"); // Shortcuts for colormaps used for the outputs: @@ -370,8 +599,8 @@ void generateExamples(int a_Seed) const Color * colors; size_t count; }; - static const ColorMap cmGroups = { biomeGroupColors, ARRAYCOUNT(biomeGroupColors) }; - static const ColorMap cmBiomes = { biomeColors, ARRAYCOUNT(biomeColors) }; + static const ColorMap cmGroups = {biomeGroupColors, ARRAYCOUNT(biomeGroupColors)}; + static const ColorMap cmBiomes = {biomeColors, ARRAYCOUNT(biomeColors)}; // Create the result generators: struct @@ -381,25 +610,23 @@ void generateExamples(int a_Seed) int offset; const ColorMap & colormap; std::shared_ptr gen; - } - gens[] = - { - {"add_islands", inArrSize, 0, cmGroups, std::make_shared (a_Seed, 400, in1)}, - {"alt_biomes", inArrSize, 0, cmBiomes, std::make_shared(a_Seed, inAlt, in3)}, - {"beaches", inArrSize - 2, 1, cmBiomes, std::make_shared (in3)}, - {"biome_edges", inArrSize - 2, 1, cmBiomes, std::make_shared (a_Seed, in3)}, - {"biomes", inArrSize, 0, cmBiomes, std::make_shared (a_Seed, in2)}, - {"grp_edges", inArrSize - 2, 0, cmGroups, std::make_shared(in1)}, - {"m_biomes", inArrSize, 0, cmBiomes, std::make_shared (a_Seed, inAlt, in3)}, - {"mix_river", inArrSize, 0, cmBiomes, std::make_shared (in3, inRiver)}, - {"river", inArrSize - 2, 1, cmBiomes, inRiver}, - {"set_rnd", inArrSize, 0, cmBiomes, std::make_shared (a_Seed, 500, bgOcean, in3)}, - {"smooth", inArrSize - 2, 1, cmBiomes, std::make_shared (a_Seed, in3)}, - {"zoom", inArrSize * 2 - 1, 0, cmBiomes, std::make_shared (a_Seed, in3)}, + } gens[] = { + {"add_islands", inArrSize, 0, cmGroups, std::make_shared(a_Seed, 400, in1)}, + {"alt_biomes", inArrSize, 0, cmBiomes, std::make_shared(a_Seed, inAlt, in3)}, + {"beaches", inArrSize - 2, 1, cmBiomes, std::make_shared(in3)}, + {"biome_edges", inArrSize - 2, 1, cmBiomes, std::make_shared(a_Seed, in3)}, + {"biomes", inArrSize, 0, cmBiomes, std::make_shared(a_Seed, in2)}, + {"grp_edges", inArrSize - 2, 0, cmGroups, std::make_shared(in1)}, + {"m_biomes", inArrSize, 0, cmBiomes, std::make_shared(a_Seed, inAlt, in3)}, + {"mix_river", inArrSize, 0, cmBiomes, std::make_shared(in3, inRiver)}, + {"river", inArrSize - 2, 1, cmBiomes, inRiver}, + {"set_rnd", inArrSize, 0, cmBiomes, std::make_shared(a_Seed, 500, bgOcean, in3)}, + {"smooth", inArrSize - 2, 1, cmBiomes, std::make_shared(a_Seed, in3)}, + {"zoom", inArrSize * 2 - 1, 0, cmBiomes, std::make_shared(a_Seed, in3)}, }; // Create the outputs: - for (const auto & gen: gens) + for (const auto & gen : gens) { gen.gen->GetInts(gen.offset, gen.offset, gen.size, gen.size, workspace); AString fnam = fmt::format(FMT_STRING("grownexample_{}.ppm"), gen.name); diff --git a/Tools/MCADefrag/MCADefrag.cpp b/Tools/MCADefrag/MCADefrag.cpp index 6573fa5ea..d6387411a 100644 --- a/Tools/MCADefrag/MCADefrag.cpp +++ b/Tools/MCADefrag/MCADefrag.cpp @@ -53,8 +53,7 @@ int main(int argc, char ** argv) // cMCADefrag: cMCADefrag::cMCADefrag(void) : - m_NumThreads(4), - m_ShouldRecompress(true) + m_NumThreads(4), m_ShouldRecompress(true) { } @@ -210,12 +209,8 @@ void cMCADefrag::cThread::ProcessFile(const AString & a_FileName) for (size_t i = 0; i < 1024; i++) { size_t idx = i * 4; - if ( - (Locations[idx] == 0) && - (Locations[idx + 1] == 0) && - (Locations[idx + 2] == 0) && - (Locations[idx + 3] == 0) - ) + if ((Locations[idx] == 0) && (Locations[idx + 1] == 0) && (Locations[idx + 2] == 0) && + (Locations[idx + 3] == 0)) { // Chunk not present continue; @@ -258,8 +253,10 @@ bool cMCADefrag::cThread::ReadChunk(cFile & a_File, const Byte * a_LocationRaw) int SizeInSectors = a_LocationRaw[3] * (4 KiB); if (a_File.Seek(SectorNum * (4 KiB)) < 0) { - LOGWARNING("Failed to seek to chunk data - file pos %llu (%d KiB, %.02f MiB)!", - static_cast(SectorNum) * (4 KiB), SectorNum * 4, + LOGWARNING( + "Failed to seek to chunk data - file pos %llu (%d KiB, %.02f MiB)!", + static_cast(SectorNum) * (4 KiB), + SectorNum * 4, static_cast(SectorNum) / 256 ); return false; @@ -275,7 +272,11 @@ bool cMCADefrag::cThread::ReadChunk(cFile & a_File, const Byte * a_LocationRaw) m_CompressedChunkDataSize = (Buf[0] << 24) | (Buf[1] << 16) | (Buf[2] << 8) | Buf[3]; if ((m_CompressedChunkDataSize > SizeInSectors) || (m_CompressedChunkDataSize < 0)) { - LOGWARNING("Invalid chunk data - SizeInSectors (%d) smaller that RealSize (%d)", SizeInSectors, m_CompressedChunkDataSize); + LOGWARNING( + "Invalid chunk data - SizeInSectors (%d) smaller that RealSize (%d)", + SizeInSectors, + m_CompressedChunkDataSize + ); return false; } @@ -318,7 +319,9 @@ bool cMCADefrag::cThread::WriteChunk(cFile & a_File, Byte * a_LocationRaw) a_LocationRaw[0] = static_cast(m_CurrentSectorOut >> 16); a_LocationRaw[1] = (m_CurrentSectorOut >> 8) & 0xff; a_LocationRaw[2] = m_CurrentSectorOut & 0xff; - a_LocationRaw[3] = static_cast((m_CompressedChunkDataSize + (4 KiB) + 3) / (4 KiB)); // +3 because the m_CompressedChunkDataSize doesn't include the exact-length + a_LocationRaw[3] = static_cast( + (m_CompressedChunkDataSize + (4 KiB) + 3) / (4 KiB) + ); // +3 because the m_CompressedChunkDataSize doesn't include the exact-length m_CurrentSectorOut += a_LocationRaw[3]; // Write the data length: @@ -334,7 +337,8 @@ bool cMCADefrag::cThread::WriteChunk(cFile & a_File, Byte * a_LocationRaw) } // Write the data: - if (a_File.Write(m_CompressedChunkData, static_cast(m_CompressedChunkDataSize)) != m_CompressedChunkDataSize) + if (a_File.Write(m_CompressedChunkData, static_cast(m_CompressedChunkDataSize)) != + m_CompressedChunkDataSize) { LOGWARNING("Failed to write chunk data!"); return false; @@ -389,10 +393,11 @@ bool cMCADefrag::cThread::UncompressChunkZlib(void) // Uncompress the data const auto ExtractedData = m_Extractor.ExtractZLib( - { - reinterpret_cast(m_CompressedChunkData + 1), // The first byte is the compression method, skip it - static_cast(m_CompressedChunkDataSize - 1) - }); + {reinterpret_cast( + m_CompressedChunkData + 1 + ), // The first byte is the compression method, skip it + static_cast(m_CompressedChunkDataSize - 1)} + ); const auto Extracted = ExtractedData.GetView(); if (Extracted.size() > MAX_RAW_CHUNK_DATA_SIZE) @@ -424,10 +429,8 @@ bool cMCADefrag::cThread::CompressChunk(void) // Compress the data (using the highest compression factor, as set in the constructor) const auto CompressedData = m_Compressor.CompressZLib( - { - reinterpret_cast(m_RawChunkData), - static_cast(m_RawChunkDataSize) - }); + {reinterpret_cast(m_RawChunkData), static_cast(m_RawChunkDataSize)} + ); const auto Compressed = CompressedData.GetView(); // Check that the compressed data can fit: diff --git a/Tools/MCADefrag/MCADefrag.h b/Tools/MCADefrag/MCADefrag.h index cc151d032..88ed29207 100644 --- a/Tools/MCADefrag/MCADefrag.h +++ b/Tools/MCADefrag/MCADefrag.h @@ -20,16 +20,14 @@ - class cMCADefrag { -public: - + public: enum { MAX_COMPRESSED_CHUNK_DATA_SIZE = (1 MiB), - MAX_RAW_CHUNK_DATA_SIZE = (100 MiB), - } ; + MAX_RAW_CHUNK_DATA_SIZE = (100 MiB), + }; cMCADefrag(void); @@ -40,26 +38,22 @@ public: /** Runs the entire app. */ void Run(void); -protected: - + protected: /** A single thread processing MCA files from the queue */ - class cThread : - public cIsThread + class cThread : public cIsThread { typedef cIsThread super; - public: - + public: cThread(cMCADefrag & a_Parent); - protected: - + protected: /** The compression methods, as specified by the MCA compression method byte. */ enum { COMPRESSION_GZIP = 1, COMPRESSION_ZLIB = 2, - } ; + }; cMCADefrag & m_Parent; @@ -127,7 +121,7 @@ protected: // cIsThread overrides: virtual void Execute(void) override; - } ; + }; typedef std::list cThreads; @@ -154,4 +148,4 @@ protected: /** Retrieves one file from the queue (and removes it from the queue). Returns an empty string when queue empty. */ AString GetNextFileName(void); -} ; +}; diff --git a/Tools/MemDumpAnalysis/Globals.h b/Tools/MemDumpAnalysis/Globals.h index d5fc2abfa..5ab0d68be 100644 --- a/Tools/MemDumpAnalysis/Globals.h +++ b/Tools/MemDumpAnalysis/Globals.h @@ -29,7 +29,3 @@ // Libraries: #include "expat/expat.h" - - - - diff --git a/Tools/MemDumpAnalysis/MemDumpAnalysis.cpp b/Tools/MemDumpAnalysis/MemDumpAnalysis.cpp index 58cb304c5..73d01c954 100644 --- a/Tools/MemDumpAnalysis/MemDumpAnalysis.cpp +++ b/Tools/MemDumpAnalysis/MemDumpAnalysis.cpp @@ -6,7 +6,7 @@ #include "Globals.h" #ifdef _WIN32 - #pragma comment(lib, "ws2_32.lib") // Needed for StringUtils' RawBEToUtf8() et al. +#pragma comment(lib, "ws2_32.lib") // Needed for StringUtils' RawBEToUtf8() et al. #endif // _WIN32 @@ -21,17 +21,16 @@ typedef std::set AStringSet; class cFunction { -public: - int m_Size; ///< Sum of memory block sizes allocated by this function or its children - int m_Count; ///< Total number of memory blocks allocated by this function or its children + public: + int m_Size; ///< Sum of memory block sizes allocated by this function or its children + int m_Count; ///< Total number of memory blocks allocated by this function or its children AStringSet m_ChildrenNames; cFunction(void) : - m_Size(0), - m_Count(0) + m_Size(0), m_Count(0) { } -} ; +}; typedef std::map FunctionMap; @@ -50,8 +49,7 @@ AString g_PrevFunctionName; bool IsFnBlackListed(const char * a_FnName) { - static const char * BlackList[] = - { + static const char * BlackList[] = { "MyAllocHook", "_heap_alloc_dbg_impl", "_nh_malloc_dbg_impl", @@ -65,7 +63,7 @@ bool IsFnBlackListed(const char * a_FnName) "l_alloc", "luaM_realloc_", "", - } ; + }; for (int i = 0; i < ARRAYCOUNT(BlackList); i++) { @@ -101,9 +99,9 @@ void OnStartElement(void * a_Data, const char * a_Element, const char ** a_Attrs { if (strcmp(a_Element, "LEAK") == 0) { - const char * attrID = FindAttr(a_Attrs, "requestID"); + const char * attrID = FindAttr(a_Attrs, "requestID"); const char * attrSize = FindAttr(a_Attrs, "size"); - g_CurrentID = atoi((attrID == NULL) ? "-1" : attrID); + g_CurrentID = atoi((attrID == NULL) ? "-1" : attrID); g_CurrentSize = atoi((attrSize == NULL) ? "-1" : attrSize); g_PrevFunctionName.clear(); return; @@ -167,7 +165,7 @@ bool CompareFnInt(const std::pair & a_First, const std::pair > StringIntPairs; + typedef std::vector> StringIntPairs; StringIntPairs FnSizes; cFile f("memdump_totals.txt", cFile::fmWrite); @@ -195,7 +193,7 @@ void WriteSizeStatistics(void) void WriteCountStatistics(void) { - typedef std::vector > StringIntPairs; + typedef std::vector> StringIntPairs; StringIntPairs FnCounts; cFile f("memdump_counts.txt", cFile::fmWrite); @@ -258,7 +256,8 @@ void WriteDotGraph(void) f.Printf("digraph {\n\tnode [shape=plaintext]\n\n"); for (FunctionMap::const_iterator itrF = g_FnMap.begin(), endF = g_FnMap.end(); itrF != endF; ++itrF) { - f.Printf("\t\"%s\" [label=<%s
%d bytes (%d KiB)
%d blocks>]\n", + f.Printf( + "\t\"%s\" [label=<%s
%d bytes (%d KiB)
%d blocks>]\n", itrF->first.c_str(), HTMLEscape(itrF->first).c_str(), itrF->second.m_Size, diff --git a/Tools/MemDumpAnalysis/targetver.h b/Tools/MemDumpAnalysis/targetver.h index 3fedb6a1c..66535c3f1 100644 --- a/Tools/MemDumpAnalysis/targetver.h +++ b/Tools/MemDumpAnalysis/targetver.h @@ -16,6 +16,6 @@ // Modify the following defines if you have to target a platform prior to the ones specified below. // Refer to MSDN for the latest info on corresponding values for different platforms. -#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. -#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. +#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. +#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. #endif diff --git a/Tools/NoiseSpeedTest/NoiseSpeedTest.cpp b/Tools/NoiseSpeedTest/NoiseSpeedTest.cpp index 90bb9499e..882e78819 100644 --- a/Tools/NoiseSpeedTest/NoiseSpeedTest.cpp +++ b/Tools/NoiseSpeedTest/NoiseSpeedTest.cpp @@ -5,10 +5,12 @@ /* This program compares the performance of the highly-optimized noise implementation in Cuberite, and the Simplex noise. Since the Simplex noise is not yet implemented in Cuberite, an own implementation is provided. -Also, the performance difference between using a float and double as datatype is measured, by using a templatized Simplex noise. +Also, the performance difference between using a float and double as datatype is measured, by using a templatized +Simplex noise. -The testing is done on a usage of the generator that is typical for the Cuberite's terrain generator: generate a 3D array of numbers with -not much variance in the coords. The exact sizes and coord ranges were adapted from the cNoise3DComposable generator. +The testing is done on a usage of the generator that is typical for the Cuberite's terrain generator: generate a 3D +array of numbers with not much variance in the coords. The exact sizes and coord ranges were adapted from the +cNoise3DComposable generator. */ #include "Globals.h" @@ -59,7 +61,7 @@ static void measureClassicNoise(int a_NumIterations) /** Calculates the specified number of iterations of the Simplex noise. a_TypeStr is a string representing the DATATYPE (for logging purposes). */ -template static void measureSimplexNoise(int a_NumIterations, const char * a_TypeStr) +template static void measureSimplexNoise(int a_NumIterations, const char * a_TypeStr) { cSimplexNoise noise(1); DATATYPE total = 0; @@ -80,7 +82,12 @@ template static void measureSimplexNoise(int a_NumIterations, } auto timeEnd = std::chrono::high_resolution_clock::now(); auto msec = std::chrono::duration_cast(timeEnd - timeStart); - printf("SimplexNoise<%s> took %d milliseconds, returned total %f\n", a_TypeStr, static_cast(msec.count()), total); + printf( + "SimplexNoise<%s> took %d milliseconds, returned total %f\n", + a_TypeStr, + static_cast(msec.count()), + total + ); } @@ -108,10 +115,10 @@ int main(int argc, char ** argv) measureSimplexNoise(numIterations, "double"); measureSimplexNoise(numIterations, "double"); - // If build on Windows using MSVC, wait for a keypress before ending: - #ifdef _MSC_VER - getchar(); - #endif +// If build on Windows using MSVC, wait for a keypress before ending: +#ifdef _MSC_VER + getchar(); +#endif return 0; } diff --git a/Tools/NoiseSpeedTest/NoiseSpeedTest.h b/Tools/NoiseSpeedTest/NoiseSpeedTest.h index 74a0108e6..ac701b241 100644 --- a/Tools/NoiseSpeedTest/NoiseSpeedTest.h +++ b/Tools/NoiseSpeedTest/NoiseSpeedTest.h @@ -1,5 +1 @@ // NoiseSpeedTest.h - - - - diff --git a/Tools/NoiseSpeedTest/SimplexNoise.h b/Tools/NoiseSpeedTest/SimplexNoise.h index 6e74212ae..0c422e980 100644 --- a/Tools/NoiseSpeedTest/SimplexNoise.h +++ b/Tools/NoiseSpeedTest/SimplexNoise.h @@ -14,10 +14,9 @@ http://staffwww.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf -template -class cSimplexNoise +template class cSimplexNoise { -public: + public: cSimplexNoise(unsigned a_Seed) { // Based on the seed, initialize the permutation table, using a simple LCG and swapping @@ -77,11 +76,19 @@ public: Datatype GetValueAt3D(const Datatype a_X, const Datatype a_Y, const Datatype a_Z) { // The gradients are the midpoints of the vertices of a cube. - static const Datatype grad3[12][3] = - { - {1, 1, 0}, {-1, 1, 0}, {1, -1, 0}, {-1, -1, 0}, - {1, 0, 1}, {-1, 0, 1}, {1, 0, -1}, {-1, 0, -1}, - {0, 1, 1}, { 0, -1, 1}, {0, 1, -1}, { 0, -1, -1} + static const Datatype grad3[12][3] = { + {1, 1, 0}, + {-1, 1, 0}, + {1, -1, 0}, + {-1, -1, 0}, + {1, 0, 1}, + {-1, 0, 1}, + {1, 0, -1}, + {-1, 0, -1}, + {0, 1, 1}, + {0, -1, 1}, + {0, 1, -1}, + {0, -1, -1} }; // Skew factors: @@ -115,17 +122,32 @@ public: if (y0 >= z0) { // X Y Z order - i1 = 1; j1 = 0; k1 = 0; i2 = 1; j2 = 1; k2 = 0; + i1 = 1; + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 1; + k2 = 0; } else if (x0 >= z0) { // X Z Y order - i1 = 1; j1 = 0; k1 = 0; i2 = 1; j2 = 0; k2 = 1; + i1 = 1; + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 0; + k2 = 1; } else { // Z X Y order - i1 = 0; j1 = 0; k1 = 1; i2 = 1; j2 = 0; k2 = 1; + i1 = 0; + j1 = 0; + k1 = 1; + i2 = 1; + j2 = 0; + k2 = 1; } } else @@ -133,17 +155,32 @@ public: if (y0 < z0) { // Z Y X order - i1 = 0; j1 = 0; k1 = 1; i2 = 0; j2 = 1; k2 = 1; + i1 = 0; + j1 = 0; + k1 = 1; + i2 = 0; + j2 = 1; + k2 = 1; } else if (x0 < z0) { // Y Z X order - i1 = 0; j1 = 1; k1 = 0; i2 = 0; j2 = 1; k2 = 1; + i1 = 0; + j1 = 1; + k1 = 0; + i2 = 0; + j2 = 1; + k2 = 1; } else { // Y X Z order - i1 = 0; j1 = 1; k1 = 0; i2 = 1; j2 = 1; k2 = 0; + i1 = 0; + j1 = 1; + k1 = 0; + i2 = 1; + j2 = 1; + k2 = 0; } } @@ -156,7 +193,8 @@ public: Datatype x2 = x0 - i2 + static_cast(2) * G3; // Offsets for third corner in XYZ coords Datatype y2 = y0 - j2 + static_cast(2) * G3; Datatype z2 = z0 - k2 + static_cast(2) * G3; - Datatype x3 = x0 - static_cast(1) + static_cast(3) * G3; // Offsets for last corner in XYZ coords + Datatype x3 = + x0 - static_cast(1) + static_cast(3) * G3; // Offsets for last corner in XYZ coords Datatype y3 = y0 - static_cast(1) + static_cast(3) * G3; Datatype z3 = z0 - static_cast(1) + static_cast(3) * G3; @@ -228,10 +266,15 @@ public: a_Start and a_End are the coords of the 3D array in the noise-space. */ void Generate3D( Datatype * a_Out, - int a_SizeX, int a_SizeY, int a_SizeZ, - Datatype a_StartX, Datatype a_EndX, - Datatype a_StartY, Datatype a_EndY, - Datatype a_StartZ, Datatype a_EndZ + int a_SizeX, + int a_SizeY, + int a_SizeZ, + Datatype a_StartX, + Datatype a_EndX, + Datatype a_StartY, + Datatype a_EndY, + Datatype a_StartZ, + Datatype a_EndZ ) { Datatype * out = a_Out; @@ -251,14 +294,11 @@ public: } // for z } -protected: + protected: /** The permutation table, initialized by the seed. */ int m_Perm[512]; - /** A copy of the permutation table, with each item modulo 12, to avoid 4 modulo operations per value calculation. */ + /** A copy of the permutation table, with each item modulo 12, to avoid 4 modulo operations per value calculation. + */ int m_PermMod12[512]; }; - - - - diff --git a/Tools/ProtoProxy/Connection.cpp b/Tools/ProtoProxy/Connection.cpp index 2e8428058..6fbea29b7 100644 --- a/Tools/ProtoProxy/Connection.cpp +++ b/Tools/ProtoProxy/Connection.cpp @@ -11,9 +11,9 @@ #include "../../src/Logger.h" #ifdef _WIN32 - #include // For _mkdir() +#include // For _mkdir() #else - #include // for mkdir +#include // for mkdir #endif @@ -27,9 +27,9 @@ #if defined(_DEBUG) && defined(SLEEP_AFTER_PACKET) - #define DebugSleep Sleep +#define DebugSleep Sleep #else - #define DebugSleep(X) +#define DebugSleep(X) #endif // else _DEBUG @@ -37,101 +37,117 @@ #define HANDLE_CLIENT_PACKET_READ(Proc, Type, Var) \ - Type Var; \ - do { \ - if (!m_ClientBuffer.Proc(Var)) \ - { \ - return false; \ - } \ - } while (false) + Type Var; \ + do \ + { \ + if (!m_ClientBuffer.Proc(Var)) \ + { \ + return false; \ + } \ + } \ + while (false) #define HANDLE_SERVER_PACKET_READ(Proc, Type, Var) \ - Type Var; \ - do { \ - if (!m_ServerBuffer.Proc(Var)) \ - { \ - return false; \ - } \ - } while (false) + Type Var; \ + do \ + { \ + if (!m_ServerBuffer.Proc(Var)) \ + { \ + return false; \ + } \ + } \ + while (false) #define CLIENTSEND(...) SendData(m_ClientSocket, __VA_ARGS__, "Client") #define SERVERSEND(...) SendData(m_ServerSocket, __VA_ARGS__, "Server") #define CLIENTENCRYPTSEND(...) SendData(m_ClientSocket, __VA_ARGS__, "Client") // The client conn is always unencrypted #define SERVERENCRYPTSEND(...) SendEncryptedData(m_ServerSocket, m_ServerEncryptor, __VA_ARGS__, "Server") -#define COPY_TO_SERVER() \ - do { \ - ContiguousByteBuffer ToServer; \ - m_ClientBuffer.ReadAgain(ToServer); \ - switch (m_ServerState) \ - { \ - case csUnencrypted: \ - { \ - SERVERSEND(ToServer); \ - break; \ - } \ - case csEncryptedUnderstood: \ - case csEncryptedUnknown: \ - { \ - SERVERENCRYPTSEND(ToServer); \ - break; \ - } \ - case csWaitingForEncryption: \ - { \ +#define COPY_TO_SERVER() \ + do \ + { \ + ContiguousByteBuffer ToServer; \ + m_ClientBuffer.ReadAgain(ToServer); \ + switch (m_ServerState) \ + { \ + case csUnencrypted: \ + { \ + SERVERSEND(ToServer); \ + break; \ + } \ + case csEncryptedUnderstood: \ + case csEncryptedUnknown: \ + { \ + SERVERENCRYPTSEND(ToServer); \ + break; \ + } \ + case csWaitingForEncryption: \ + { \ Log("Waiting for server encryption, queued %u bytes", ToServer.size()); \ - m_ServerEncryptionBuffer += ToServer; \ - break; \ - } \ - } \ - DebugSleep(50); \ - } while (false) - -#define COPY_TO_CLIENT() \ - do { \ - ContiguousByteBuffer ToClient; \ - m_ServerBuffer.ReadAgain(ToClient); \ - switch (m_ClientState) \ - { \ - case csUnencrypted: \ - { \ - CLIENTSEND(ToClient); \ - break; \ - } \ - case csEncryptedUnderstood: \ - case csEncryptedUnknown: \ - { \ + m_ServerEncryptionBuffer += ToServer; \ + break; \ + } \ + } \ + DebugSleep(50); \ + } \ + while (false) + +#define COPY_TO_CLIENT() \ + do \ + { \ + ContiguousByteBuffer ToClient; \ + m_ServerBuffer.ReadAgain(ToClient); \ + switch (m_ClientState) \ + { \ + case csUnencrypted: \ + { \ + CLIENTSEND(ToClient); \ + break; \ + } \ + case csEncryptedUnderstood: \ + case csEncryptedUnknown: \ + { \ CLIENTENCRYPTSEND(ToClient); \ - break; \ - } \ - case csWaitingForEncryption: \ - { \ - break; \ - } \ - \ - } \ - DebugSleep(50); \ - } while (false) - -#define HANDLE_CLIENT_READ(Proc) \ - do { \ - if (!Proc) \ - { \ - ContiguousByteBuffer Leftover; \ - m_ClientBuffer.ReadAgain(Leftover); \ - DataLog(Leftover.data(), Leftover.size(), "Leftover data after client packet parsing, %d bytes:", Leftover.size()); \ - m_ClientBuffer.ResetRead(); \ - return true; \ - } \ - } while (false) - -#define HANDLE_SERVER_READ(Proc) \ - do { \ - if (!Proc) \ - { \ + break; \ + } \ + case csWaitingForEncryption: \ + { \ + break; \ + } \ + } \ + DebugSleep(50); \ + } \ + while (false) + +#define HANDLE_CLIENT_READ(Proc) \ + do \ + { \ + if (!Proc) \ + { \ + ContiguousByteBuffer Leftover; \ + m_ClientBuffer.ReadAgain(Leftover); \ + DataLog( \ + Leftover.data(), \ + Leftover.size(), \ + "Leftover data after client packet parsing, %d bytes:", \ + Leftover.size() \ + ); \ + m_ClientBuffer.ResetRead(); \ + return true; \ + } \ + } \ + while (false) + +#define HANDLE_SERVER_READ(Proc) \ + do \ + { \ + if (!Proc) \ + { \ m_ServerBuffer.ResetRead(); \ - return true; \ - } \ - } while (false) + return true; \ + } \ + } \ + while (false) @@ -153,8 +169,12 @@ AString PrintableAbsIntTriplet(int a_X, int a_Y, int a_Z, double a_Divisor) { return fmt::format( FMT_STRING("<{}, {}, {}> ~ {{{}, {}, {}}}"), - a_X, a_Y, a_Z, - static_cast(a_X) / a_Divisor, static_cast(a_Y) / a_Divisor, static_cast(a_Z) / a_Divisor + a_X, + a_Y, + a_Z, + static_cast(a_X) / a_Divisor, + static_cast(a_Y) / a_Divisor, + static_cast(a_Z) / a_Divisor ); } @@ -166,8 +186,11 @@ struct sCoords { int x, y, z; - sCoords(int a_X, int a_Y, int a_Z) : x(a_X), y(a_Y), z(a_Z) {} -} ; + sCoords(int a_X, int a_Y, int a_Z) : + x(a_X), y(a_Y), z(a_Z) + { + } +}; @@ -182,7 +205,7 @@ struct sChunkMeta m_ChunkX(a_ChunkX), m_ChunkZ(a_ChunkZ), m_PrimaryBitmap(a_PrimaryBitmap), m_AddBitmap(a_AddBitmap) { } -} ; +}; @@ -208,21 +231,21 @@ cConnection::cConnection(SOCKET a_ClientSocket, cServer & a_Server) : m_ClientProtocolState(-1), m_IsServerEncrypted(false) { - // Create the Logs subfolder, if not already created: - #if defined(_WIN32) - _mkdir("Logs"); - #else - mkdir("Logs", 0777); - #endif +// Create the Logs subfolder, if not already created: +#if defined(_WIN32) + _mkdir("Logs"); +#else + mkdir("Logs", 0777); +#endif m_LogNameBase = fmt::format(FMT_STRING("Logs/Log_{}_{}"), time(nullptr), a_ClientSocket); AString fnam(m_LogNameBase); fnam.append(".log"); - #ifdef _WIN32 - fopen_s(&m_LogFile, fnam.c_str(), "w"); - #else - m_LogFile = fopen(fnam.c_str(), "w"); - #endif +#ifdef _WIN32 + fopen_s(&m_LogFile, fnam.c_str(), "w"); +#else + m_LogFile = fopen(fnam.c_str(), "w"); +#endif Log("Log file created"); fmt::print(FMT_STRING("Connection is logged to file \"{}\"\n"), fnam); } @@ -292,9 +315,9 @@ void cConnection::vLog(const char * a_Format, fmt::printf_args a_ArgList) fmt::fprintf(m_LogFile, "[%5.3f] ", GetRelativeTime()); fmt::vfprintf(m_LogFile, a_Format, a_ArgList); fmt::fprintf(m_LogFile, "\n"); - #ifdef _DEBUG - fflush(m_LogFile); - #endif // _DEBUG +#ifdef _DEBUG + fflush(m_LogFile); +#endif // _DEBUG // Log to screen: // std::cout << FullMsg; @@ -359,7 +382,8 @@ bool cConnection::ConnectToServer(void) bool cConnection::RelayFromServer(void) { char Buffer[64 KiB]; - int res = static_cast(recv(m_ServerSocket, Buffer, sizeof(Buffer), 0)); // recv returns int on windows, ssize_t on linux + int res = static_cast(recv(m_ServerSocket, Buffer, sizeof(Buffer), 0) + ); // recv returns int on windows, ssize_t on linux if (res <= 0) { Log("Server closed the socket: %d; %d; aborting connection", res, SocketError); @@ -385,7 +409,7 @@ bool cConnection::RelayFromServer(void) { m_ServerDecryptor.ProcessData(reinterpret_cast(Buffer), static_cast(res)); DataLog(Buffer, static_cast(res), "Decrypted %d bytes from the SERVER", res); - return CLIENTSEND({ reinterpret_cast(Buffer), static_cast(res) }); + return CLIENTSEND({reinterpret_cast(Buffer), static_cast(res)}); } } ASSERT(!"Unhandled server state while relaying from server"); @@ -399,7 +423,8 @@ bool cConnection::RelayFromServer(void) bool cConnection::RelayFromClient(void) { char Buffer[64 KiB]; - int res = static_cast(recv(m_ClientSocket, Buffer, sizeof(Buffer), 0)); // recv returns int on Windows, ssize_t on Linux + int res = static_cast(recv(m_ClientSocket, Buffer, sizeof(Buffer), 0) + ); // recv returns int on Windows, ssize_t on Linux if (res <= 0) { Log("Client closed the socket: %d; %d; aborting connection", res, SocketError); @@ -423,7 +448,7 @@ bool cConnection::RelayFromClient(void) { DataLog(Buffer, static_cast(res), "Decrypted %d bytes from the CLIENT", res); m_ServerEncryptor.ProcessData(reinterpret_cast(Buffer), static_cast(res)); - return SERVERSEND({ reinterpret_cast(Buffer), static_cast(res) }); + return SERVERSEND({reinterpret_cast(Buffer), static_cast(res)}); } } ASSERT(!"Unhandled server state while relaying from client"); @@ -436,7 +461,8 @@ bool cConnection::RelayFromClient(void) double cConnection::GetRelativeTime(void) { - Int64 msec = std::chrono::duration_cast(std::chrono::steady_clock::now() - m_BeginTick).count(); + Int64 msec = + std::chrono::duration_cast(std::chrono::steady_clock::now() - m_BeginTick).count(); return static_cast(msec) / 1000; } @@ -448,7 +474,9 @@ bool cConnection::SendData(SOCKET a_Socket, const ContiguousByteBufferView a_Dat { DataLog(a_Data.data(), a_Data.size(), "Sending data to %s, %zu bytes", a_Peer, a_Data.size()); - int res = static_cast(send(a_Socket, reinterpret_cast(a_Data.data()), a_Data.size(), 0)); // Windows uses int for a_Size, Linux uses size_t; but Windows doesn't complain. Return type is int on Windows and ssize_t on Linux + int res = static_cast(send(a_Socket, reinterpret_cast(a_Data.data()), a_Data.size(), 0) + ); // Windows uses int for a_Size, Linux uses size_t; but Windows doesn't complain. Return type is int on Windows + // and ssize_t on Linux if (res <= 0) { Log("%s closed the socket: %d, %d; aborting connection", a_Peer, res, SocketError); @@ -473,7 +501,12 @@ bool cConnection::SendData(SOCKET a_Socket, cByteBuffer & a_Data, const char * a -bool cConnection::SendEncryptedData(SOCKET a_Socket, cAesCfb128Encryptor & a_Encryptor, ContiguousByteBuffer & a_Data, const char * a_Peer) +bool cConnection::SendEncryptedData( + SOCKET a_Socket, + cAesCfb128Encryptor & a_Encryptor, + ContiguousByteBuffer & a_Data, + const char * a_Peer +) { DataLog(a_Data.data(), a_Data.size(), "Encrypting %zu bytes to %s", a_Data.size(), a_Peer); @@ -485,7 +518,12 @@ bool cConnection::SendEncryptedData(SOCKET a_Socket, cAesCfb128Encryptor & a_Enc -bool cConnection::SendEncryptedData(SOCKET a_Socket, cAesCfb128Encryptor & a_Encryptor, cByteBuffer & a_Data, const char * a_Peer) +bool cConnection::SendEncryptedData( + SOCKET a_Socket, + cAesCfb128Encryptor & a_Encryptor, + cByteBuffer & a_Data, + const char * a_Peer +) { ContiguousByteBuffer All; a_Data.ReadAll(All); @@ -508,10 +546,7 @@ bool cConnection::DecodeClientsPackets(const char * a_Data, int a_Size) while (m_ClientBuffer.CanReadBytes(1)) { UInt32 PacketLen; - if ( - !m_ClientBuffer.ReadVarInt(PacketLen) || - !m_ClientBuffer.CanReadBytes(PacketLen) - ) + if (!m_ClientBuffer.ReadVarInt(PacketLen) || !m_ClientBuffer.CanReadBytes(PacketLen)) { // Not a complete packet yet break; @@ -521,8 +556,9 @@ bool cConnection::DecodeClientsPackets(const char * a_Data, int a_Size) VERIFY(m_ClientBuffer.ReadVarInt(PacketType)); PacketReadSoFar -= m_ClientBuffer.GetReadableSpace(); Log("Decoding client's packets, there are now %u bytes in the queue; next packet is 0x%02x, %u bytes long", - static_cast(m_ClientBuffer.GetReadableSpace()), PacketType, PacketLen - ); + static_cast(m_ClientBuffer.GetReadableSpace()), + PacketType, + PacketLen); switch (m_ClientProtocolState) { case -1: @@ -531,7 +567,9 @@ bool cConnection::DecodeClientsPackets(const char * a_Data, int a_Size) switch (PacketType) { case 0x00: HANDLE_CLIENT_READ(HandleClientHandshake()); break; - default: HANDLE_CLIENT_READ(HandleClientUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); break; + default: + HANDLE_CLIENT_READ(HandleClientUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); + break; } break; } // case -1 @@ -543,7 +581,9 @@ bool cConnection::DecodeClientsPackets(const char * a_Data, int a_Size) { case 0x00: HANDLE_CLIENT_READ(HandleClientStatusRequest()); break; case 0x01: HANDLE_CLIENT_READ(HandleClientStatusPing()); break; - default: HANDLE_CLIENT_READ(HandleClientUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); break; + default: + HANDLE_CLIENT_READ(HandleClientUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); + break; } break; } @@ -555,7 +595,9 @@ bool cConnection::DecodeClientsPackets(const char * a_Data, int a_Size) { case 0x00: HANDLE_CLIENT_READ(HandleClientLoginStart()); break; case 0x01: HANDLE_CLIENT_READ(HandleClientLoginEncryptionKeyResponse()); break; - default: HANDLE_CLIENT_READ(HandleClientUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); break; + default: + HANDLE_CLIENT_READ(HandleClientUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); + break; } break; } @@ -586,7 +628,9 @@ bool cConnection::DecodeClientsPackets(const char * a_Data, int a_Size) case 0x15: HANDLE_CLIENT_READ(HandleClientLocaleAndView()); break; case 0x16: HANDLE_CLIENT_READ(HandleClientClientStatuses()); break; case 0x17: HANDLE_CLIENT_READ(HandleClientPluginMessage()); break; - default: HANDLE_CLIENT_READ(HandleClientUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); break; + default: + HANDLE_CLIENT_READ(HandleClientUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); + break; } break; } // case 3 - Game @@ -615,10 +659,7 @@ bool cConnection::DecodeServersPackets(const char * a_Data, int a_Size) return false; } - if ( - (m_ServerState == csEncryptedUnderstood) && - (m_ClientState == csUnencrypted) - ) + if ((m_ServerState == csEncryptedUnderstood) && (m_ClientState == csUnencrypted)) { // Client hasn't finished encryption handshake yet, don't send them any data yet } @@ -626,10 +667,7 @@ bool cConnection::DecodeServersPackets(const char * a_Data, int a_Size) while (true) { UInt32 PacketLen; - if ( - !m_ServerBuffer.ReadVarInt(PacketLen) || - !m_ServerBuffer.CanReadBytes(PacketLen) - ) + if (!m_ServerBuffer.ReadVarInt(PacketLen) || !m_ServerBuffer.CanReadBytes(PacketLen)) { // Not a complete packet yet m_ServerBuffer.ResetRead(); @@ -648,7 +686,10 @@ bool cConnection::DecodeServersPackets(const char * a_Data, int a_Size) PacketReadSoFar = static_cast(m_ServerBuffer.GetReadableSpace()); VERIFY(m_ServerBuffer.ReadVarInt(PacketType)); PacketReadSoFar -= m_ServerBuffer.GetReadableSpace(); - Log("Decoding server's packets, there are now %d bytes in the queue; next packet is 0x%0x, %u bytes long", m_ServerBuffer.GetReadableSpace(), PacketType, PacketLen); + Log("Decoding server's packets, there are now %d bytes in the queue; next packet is 0x%0x, %u bytes long", + m_ServerBuffer.GetReadableSpace(), + PacketType, + PacketLen); LogFlush(); switch (m_ServerProtocolState) { @@ -665,8 +706,10 @@ bool cConnection::DecodeServersPackets(const char * a_Data, int a_Size) switch (PacketType) { case 0x00: HANDLE_SERVER_READ(HandleServerStatusResponse()); break; - case 0x01: HANDLE_SERVER_READ(HandleServerStatusPing()); break; - default: HANDLE_SERVER_READ(HandleServerUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); break; + case 0x01: HANDLE_SERVER_READ(HandleServerStatusPing()); break; + default: + HANDLE_SERVER_READ(HandleServerUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); + break; } break; } @@ -679,7 +722,9 @@ bool cConnection::DecodeServersPackets(const char * a_Data, int a_Size) case 0x00: HANDLE_SERVER_READ(HandleServerLoginDisconnect()); break; case 0x01: HANDLE_SERVER_READ(HandleServerLoginEncryptionKeyRequest()); break; case 0x02: HANDLE_SERVER_READ(HandleServerLoginSuccess()); break; - default: HANDLE_SERVER_READ(HandleServerUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); break; + default: + HANDLE_SERVER_READ(HandleServerUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); + break; } break; } @@ -741,7 +786,9 @@ bool cConnection::DecodeServersPackets(const char * a_Data, int a_Size) case 0x3a: HANDLE_SERVER_READ(HandleServerTabCompletion()); break; case 0x3f: HANDLE_SERVER_READ(HandleServerPluginMessage()); break; case 0x40: HANDLE_SERVER_READ(HandleServerKick()); break; - default: HANDLE_SERVER_READ(HandleServerUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); break; + default: + HANDLE_SERVER_READ(HandleServerUnknownPacket(PacketType, PacketLen, PacketReadSoFar)); + break; } // switch (PacketType) break; } // case 3 - Game @@ -770,10 +817,10 @@ bool cConnection::DecodeServersPackets(const char * a_Data, int a_Size) bool cConnection::HandleClientHandshake(void) { // Read the packet from the client: - HANDLE_CLIENT_PACKET_READ(ReadVarInt, UInt32, ProtocolVersion); + HANDLE_CLIENT_PACKET_READ(ReadVarInt, UInt32, ProtocolVersion); HANDLE_CLIENT_PACKET_READ(ReadVarUTF8String, AString, ServerHost); - HANDLE_CLIENT_PACKET_READ(ReadBEUInt16, UInt16, ServerPort); - HANDLE_CLIENT_PACKET_READ(ReadVarInt, UInt32, NextState); + HANDLE_CLIENT_PACKET_READ(ReadBEUInt16, UInt16, ServerPort); + HANDLE_CLIENT_PACKET_READ(ReadVarInt, UInt32, NextState); m_ClientBuffer.CommitRead(); Log("Received an initial handshake packet from the client:"); @@ -838,7 +885,7 @@ bool cConnection::HandleClientLoginStart(void) bool cConnection::HandleClientAnimation(void) { HANDLE_CLIENT_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, Animation); + HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, Animation); Log("Received a PACKET_ANIMATION from the client:"); Log(" EntityID: %u", EntityID); Log(" Animation: %d", Animation); @@ -987,11 +1034,11 @@ bool cConnection::HandleClientKeepAlive(void) bool cConnection::HandleClientLocaleAndView(void) { HANDLE_CLIENT_PACKET_READ(ReadVarUTF8String, AString, Locale); - HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, ViewDistance); - HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, ChatFlags); - HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, Unused); - HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, Difficulty); - HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, ShowCape); + HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, ViewDistance); + HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, ChatFlags); + HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, Unused); + HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, Difficulty); + HANDLE_CLIENT_PACKET_READ(ReadBEInt8, Int8, ShowCape); Log("Received a PACKET_LOCALE_AND_VIEW from the client"); COPY_TO_SERVER(); return true; @@ -1063,7 +1110,7 @@ bool cConnection::HandleClientPlayerPosition(void) HANDLE_CLIENT_PACKET_READ(ReadBEDouble, double, PosY); HANDLE_CLIENT_PACKET_READ(ReadBEDouble, double, Stance); HANDLE_CLIENT_PACKET_READ(ReadBEDouble, double, PosZ); - HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, IsOnGround); + HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, IsOnGround); Log("Received a PACKET_PLAYER_POSITION from the client"); // TODO: list packet contents @@ -1082,9 +1129,9 @@ bool cConnection::HandleClientPlayerPositionLook(void) HANDLE_CLIENT_PACKET_READ(ReadBEDouble, double, PosY); HANDLE_CLIENT_PACKET_READ(ReadBEDouble, double, Stance); HANDLE_CLIENT_PACKET_READ(ReadBEDouble, double, PosZ); - HANDLE_CLIENT_PACKET_READ(ReadBEFloat, float, Yaw); - HANDLE_CLIENT_PACKET_READ(ReadBEFloat, float, Pitch); - HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, IsOnGround); + HANDLE_CLIENT_PACKET_READ(ReadBEFloat, float, Yaw); + HANDLE_CLIENT_PACKET_READ(ReadBEFloat, float, Pitch); + HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, IsOnGround); Log("Received a PACKET_PLAYER_POSITION_LOOK from the client"); Log(" Pos = {%.03f, %.03f, %.03f}", PosX, PosY, PosZ); Log(" Stance = %.03f", Stance); @@ -1102,7 +1149,7 @@ bool cConnection::HandleClientPlayerPositionLook(void) bool cConnection::HandleClientPluginMessage(void) { HANDLE_CLIENT_PACKET_READ(ReadVarUTF8String, AString, ChannelName); - HANDLE_CLIENT_PACKET_READ(ReadBEUInt16, UInt16, Length); + HANDLE_CLIENT_PACKET_READ(ReadBEUInt16, UInt16, Length); ContiguousByteBuffer Data; if (!m_ClientBuffer.ReadSome(Data, Length)) { @@ -1171,9 +1218,9 @@ bool cConnection::HandleClientTabCompletion(void) bool cConnection::HandleClientUpdateSign(void) { - HANDLE_CLIENT_PACKET_READ(ReadBEInt32, Int32, BlockX); - HANDLE_CLIENT_PACKET_READ(ReadBEInt16, Int16, BlockY); - HANDLE_CLIENT_PACKET_READ(ReadBEInt32, Int32, BlockZ); + HANDLE_CLIENT_PACKET_READ(ReadBEInt32, Int32, BlockX); + HANDLE_CLIENT_PACKET_READ(ReadBEInt16, Int16, BlockY); + HANDLE_CLIENT_PACKET_READ(ReadBEInt32, Int32, BlockZ); HANDLE_CLIENT_PACKET_READ(ReadVarUTF8String, AString, Line1); HANDLE_CLIENT_PACKET_READ(ReadVarUTF8String, AString, Line2); HANDLE_CLIENT_PACKET_READ(ReadVarUTF8String, AString, Line3); @@ -1192,7 +1239,7 @@ bool cConnection::HandleClientUpdateSign(void) bool cConnection::HandleClientUseEntity(void) { HANDLE_CLIENT_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, MouseButton); + HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, MouseButton); Log("Received a PACKET_USE_ENTITY from the client:"); Log(" EntityID = %d", EntityID); Log(" MouseButton = %u", MouseButton); @@ -1206,11 +1253,11 @@ bool cConnection::HandleClientUseEntity(void) bool cConnection::HandleClientWindowClick(void) { - HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, WindowID); + HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, WindowID); HANDLE_CLIENT_PACKET_READ(ReadBEUInt16, UInt16, SlotNum); - HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, Button); + HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, Button); HANDLE_CLIENT_PACKET_READ(ReadBEUInt16, UInt16, TransactionID); - HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, Mode); + HANDLE_CLIENT_PACKET_READ(ReadBEUInt8, UInt8, Mode); AString Item; if (!ParseSlot(m_ClientBuffer, Item)) { @@ -1250,7 +1297,12 @@ bool cConnection::HandleClientUnknownPacket(UInt32 a_PacketType, UInt32 a_Packet { return false; } - DataLog(Data.data(), Data.size(), "****************** Unknown packet 0x%x from the client; relaying and ignoring", a_PacketType); + DataLog( + Data.data(), + Data.size(), + "****************** Unknown packet 0x%x from the client; relaying and ignoring", + a_PacketType + ); COPY_TO_SERVER(); return true; } @@ -1279,7 +1331,7 @@ bool cConnection::HandleServerLoginEncryptionKeyRequest(void) { // Read the packet from the server: HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, ServerID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, PublicKeyLength); + HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, PublicKeyLength); ContiguousByteBuffer PublicKey; if (!m_ServerBuffer.ReadSome(PublicKey, PublicKeyLength)) { @@ -1296,7 +1348,10 @@ bool cConnection::HandleServerLoginEncryptionKeyRequest(void) DataLog(PublicKey.data(), PublicKey.size(), " Public key (%u bytes)", static_cast(PublicKey.size())); // Reply to the server: - SendEncryptionKeyResponse({ reinterpret_cast(PublicKey.data()), PublicKey.size() }, { reinterpret_cast(Nonce.data()), Nonce.size() }); + SendEncryptionKeyResponse( + {reinterpret_cast(PublicKey.data()), PublicKey.size()}, + {reinterpret_cast(Nonce.data()), Nonce.size()} + ); // Do not send to client - we want the client connection open return true; @@ -1321,7 +1376,12 @@ bool cConnection::HandleServerLoginSuccess(void) { Log("Server communication is now encrypted"); m_ServerState = csEncryptedUnderstood; - DataLog(m_ServerEncryptionBuffer.data(), m_ServerEncryptionBuffer.size(), "Sending the queued data to server (%u bytes):", m_ServerEncryptionBuffer.size()); + DataLog( + m_ServerEncryptionBuffer.data(), + m_ServerEncryptionBuffer.size(), + "Sending the queued data to server (%u bytes):", + m_ServerEncryptionBuffer.size() + ); SERVERENCRYPTSEND(m_ServerEncryptionBuffer); m_ServerEncryptionBuffer.clear(); } @@ -1340,9 +1400,9 @@ bool cConnection::HandleServerLoginSuccess(void) bool cConnection::HandleServerAttachEntity(void) { - HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, VehicleID); - HANDLE_SERVER_PACKET_READ(ReadBool, bool, IsOnLeash); + HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, VehicleID); + HANDLE_SERVER_PACKET_READ(ReadBool, bool, IsOnLeash); Log("Received a PACKET_ATTACH_ENTITY from the server:"); Log(" EntityID = %u (0x%x)", EntityID, EntityID); Log(" VehicleID = %u (0x%x)", VehicleID, VehicleID); @@ -1357,12 +1417,12 @@ bool cConnection::HandleServerAttachEntity(void) bool cConnection::HandleServerBlockAction(void) { - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockX); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, BlockY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockZ); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Byte1); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Byte2); - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, BlockID); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockX); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, BlockY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockZ); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Byte1); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Byte2); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, BlockID); Log("Received a PACKET_BLOCK_ACTION from the server:"); Log(" Pos = {%d, %d, %d}", BlockX, BlockY, BlockZ); Log(" Bytes = (%u, %u) == (0x%x, 0x%x)", Byte1, Byte2, Byte1, Byte2); @@ -1377,11 +1437,11 @@ bool cConnection::HandleServerBlockAction(void) bool cConnection::HandleServerBlockChange(void) { - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockX); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, BlockY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockZ); - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, BlockType); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, BlockMeta); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockX); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, BlockY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockZ); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, BlockType); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, BlockMeta); Log("Received a PACKET_BLOCK_CHANGE from the server"); Log(" Pos = {%d, %u, %d}", BlockX, BlockY, BlockZ); Log(" BlockType = %u (0x%x", BlockType, BlockType); @@ -1396,7 +1456,7 @@ bool cConnection::HandleServerBlockChange(void) bool cConnection::HandleServerChangeGameState(void) { - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Reason); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Reason); HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Data); Log("Received a PACKET_CHANGE_GAME_STATE from the server:"); Log(" Reason = %u", Reason); @@ -1506,7 +1566,7 @@ bool cConnection::HandleServerEntityEquipment(void) bool cConnection::HandleServerEntityHeadLook(void) { HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, HeadYaw); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, HeadYaw); Log("Received a PACKET_ENTITY_HEAD_LOOK from the server:"); Log(" EntityID = %u", EntityID); Log(" HeadYaw = %u", HeadYaw); @@ -1520,9 +1580,9 @@ bool cConnection::HandleServerEntityHeadLook(void) bool cConnection::HandleServerEntityLook(void) { - HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); + HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); Log("Received a PACKET_ENTITY_LOOK from the server:"); Log(" EntityID = %u", EntityID); Log(" Yaw = %u", Yaw); @@ -1569,15 +1629,15 @@ bool cConnection::HandleServerEntityProperties(void) for (UInt32 i = 0; i < Count; i++) { HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, Key); - HANDLE_SERVER_PACKET_READ(ReadBEDouble, double, Value); - HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, ListLength); + HANDLE_SERVER_PACKET_READ(ReadBEDouble, double, Value); + HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, ListLength); Log(" \"%s\" = %f; %u modifiers", Key.c_str(), Value, ListLength); for (UInt16 j = 0; j < ListLength; j++) { HANDLE_SERVER_PACKET_READ(ReadBEUInt64, UInt64, UUIDHi); HANDLE_SERVER_PACKET_READ(ReadBEUInt64, UInt64, UUIDLo); HANDLE_SERVER_PACKET_READ(ReadBEDouble, double, DblVal); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, ByteVal); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, ByteVal); Log(" [%d] = {0x%08llx%08llx, %f, %u}", j, UUIDHi, UUIDLo, DblVal, ByteVal); } } // for i @@ -1592,9 +1652,9 @@ bool cConnection::HandleServerEntityProperties(void) bool cConnection::HandleServerEntityRelativeMove(void) { HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dx); - HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dy); - HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dz); + HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dx); + HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dy); + HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dz); Log("Received a PACKET_ENTITY_RELATIVE_MOVE from the server:"); Log(" EntityID = %u", EntityID); Log(" RelMove = %s", PrintableAbsIntTriplet(dx, dy, dz).c_str()); @@ -1609,11 +1669,11 @@ bool cConnection::HandleServerEntityRelativeMove(void) bool cConnection::HandleServerEntityRelativeMoveLook(void) { HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dx); - HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dy); - HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dz); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); + HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dx); + HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dy); + HANDLE_SERVER_PACKET_READ(ReadBEInt8, Int8, dz); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); Log("Received a PACKET_ENTITY_RELATIVE_MOVE_LOOK from the server:"); Log(" EntityID = %u", EntityID); Log(" RelMove = %s", PrintableAbsIntTriplet(dx, dy, dz).c_str()); @@ -1630,7 +1690,7 @@ bool cConnection::HandleServerEntityRelativeMoveLook(void) bool cConnection::HandleServerEntityStatus(void) { HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Status); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Status); Log("Received a PACKET_ENTITY_STATUS from the server:"); Log(" EntityID = %u", EntityID); Log(" Status = %u (0x%02x)", Status, Status); @@ -1644,12 +1704,12 @@ bool cConnection::HandleServerEntityStatus(void) bool cConnection::HandleServerEntityTeleport(void) { - HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, AbsX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, AbsY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, AbsZ); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); + HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, AbsX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, AbsY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, AbsZ); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); Log("Received a PACKET_ENTITY_TELEPORT from the server:"); Log(" EntityID = %u", EntityID); Log(" Pos = %s", PrintableAbsIntTriplet(AbsX, AbsY, AbsZ).c_str()); @@ -1666,9 +1726,9 @@ bool cConnection::HandleServerEntityTeleport(void) bool cConnection::HandleServerEntityVelocity(void) { HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityX); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityY); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityZ); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityX); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityY); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityZ); Log("Received a PACKET_ENTITY_VELOCITY from the server:"); Log(" EntityID = %u", EntityID); Log(" Velocity = %s", PrintableAbsIntTriplet(VelocityX, VelocityY, VelocityZ, 8000).c_str()); @@ -1682,10 +1742,10 @@ bool cConnection::HandleServerEntityVelocity(void) bool cConnection::HandleServerExplosion(void) { - HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, PosX); - HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, PosY); - HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, PosZ); - HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Force); + HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, PosX); + HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, PosY); + HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, PosZ); + HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Force); HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, NumRecords); std::vector Records; Records.reserve(NumRecords); @@ -1721,7 +1781,7 @@ bool cConnection::HandleServerIncrementStatistic(void) { // 0xc8 HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, StatisticID); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, Amount); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, Amount); Log("Received a PACKET_INCREMENT_STATISTIC from the server:"); Log(" StatisticID = %u (0x%x)", StatisticID, StatisticID); Log(" Amount = %d", Amount); @@ -1735,18 +1795,18 @@ bool cConnection::HandleServerIncrementStatistic(void) bool cConnection::HandleServerJoinGame(void) { - HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, GameMode); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Dimension); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Difficulty); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, MaxPlayers); + HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, GameMode); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Dimension); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Difficulty); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, MaxPlayers); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, LevelType); Log("Received a PACKET_LOGIN from the server:"); - Log(" EntityID = %u", EntityID); - Log(" GameMode = %u", GameMode); - Log(" Dimension = %u", Dimension); - Log(" Difficulty = %u", Difficulty); - Log(" MaxPlayers = %u", MaxPlayers); + Log(" EntityID = %u", EntityID); + Log(" GameMode = %u", GameMode); + Log(" Dimension = %u", Dimension); + Log(" Difficulty = %u", Difficulty); + Log(" MaxPlayers = %u", MaxPlayers); Log(" LevelType = \"%s\"", LevelType.c_str()); COPY_TO_CLIENT(); return true; @@ -1819,8 +1879,8 @@ bool cConnection::HandleServerKick(void) AString PacketStart("\xff"); PacketStart.push_back(static_cast(ReasonBE16.size() / 256)); PacketStart.push_back(static_cast(ReasonBE16.size() % 256)); - CLIENTSEND({ reinterpret_cast(PacketStart.data()), PacketStart.size() }); - CLIENTSEND({ reinterpret_cast(ReasonBE16.data()), ReasonBE16.size() * sizeof(char16_t) }); + CLIENTSEND({reinterpret_cast(PacketStart.data()), PacketStart.size()}); + CLIENTSEND({reinterpret_cast(ReasonBE16.data()), ReasonBE16.size() * sizeof(char16_t)}); return true; } else @@ -1842,9 +1902,9 @@ bool cConnection::HandleServerKick(void) bool cConnection::HandleServerMapChunk(void) { - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, ChunkX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, ChunkZ); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, IsContiguous); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, ChunkX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, ChunkZ); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, IsContiguous); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, PrimaryBitmap); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, AdditionalBitmap); HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, CompressedSize); @@ -1871,7 +1931,7 @@ bool cConnection::HandleServerMapChunkBulk(void) { HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, ChunkCount); HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, CompressedSize); - HANDLE_SERVER_PACKET_READ(ReadBool, bool, IsSkyLightSent); + HANDLE_SERVER_PACKET_READ(ReadBool, bool, IsSkyLightSent); ContiguousByteBuffer CompressedData; if (!m_ServerBuffer.ReadSome(CompressedData, CompressedSize)) { @@ -1902,8 +1962,11 @@ bool cConnection::HandleServerMapChunkBulk(void) for (sChunkMetas::iterator itr = ChunkMetas.begin(), end = ChunkMetas.end(); itr != end; ++itr, ++idx) { Log(" [%d]: [%d, %d], primary bitmap 0x%02x, add bitmap 0x%02x", - idx, itr->m_ChunkX, itr->m_ChunkZ, itr->m_PrimaryBitmap, itr->m_AddBitmap - ); + idx, + itr->m_ChunkX, + itr->m_ChunkZ, + itr->m_PrimaryBitmap, + itr->m_AddBitmap); } // for itr - ChunkMetas[] // TODO: Save the compressed data into a file for later analysis @@ -1918,8 +1981,8 @@ bool cConnection::HandleServerMapChunkBulk(void) bool cConnection::HandleServerMultiBlockChange(void) { - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, ChunkX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, ChunkZ); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, ChunkX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, ChunkZ); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, NumBlocks); HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, DataSize); ContiguousByteBuffer BlockChangeData; @@ -1941,11 +2004,11 @@ bool cConnection::HandleServerMultiBlockChange(void) bool cConnection::HandleServerNamedSoundEffect(void) { HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, SoundName); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); - HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Volume); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); + HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Volume); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); Log("Received a PACKET_NAMED_SOUND_EFFECT from the server:"); Log(" SoundName = \"%s\"", SoundName.c_str()); Log(" Pos = %s", PrintableAbsIntTriplet(PosX, PosY, PosZ, 8).c_str()); @@ -1978,8 +2041,8 @@ bool cConnection::HandleServerPlayerAbilities(void) bool cConnection::HandleServerPlayerAnimation(void) { - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, PlayerID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, AnimationID); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, PlayerID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, AnimationID); Log("Received a PACKET_PLAYER_ANIMATION from the server:"); Log(" PlayerID: %u (0x%x)", PlayerID, PlayerID); Log(" Animation: %u", AnimationID); @@ -1994,8 +2057,8 @@ bool cConnection::HandleServerPlayerAnimation(void) bool cConnection::HandleServerPlayerListItem(void) { HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, PlayerName); - HANDLE_SERVER_PACKET_READ(ReadBool, bool, IsOnline); - HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, Ping); + HANDLE_SERVER_PACKET_READ(ReadBool, bool, IsOnline); + HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, Ping); Log("Received a PACKET_PLAYERLIST_ITEM from the server:"); Log(" PlayerName = \"%s\" (%s)", PlayerName.c_str(), IsOnline ? "online" : "offline"); Log(" Ping = %d", Ping); @@ -2012,9 +2075,9 @@ bool cConnection::HandleServerPlayerPositionLook(void) HANDLE_SERVER_PACKET_READ(ReadBEDouble, double, PosX); HANDLE_SERVER_PACKET_READ(ReadBEDouble, double, PosY); HANDLE_SERVER_PACKET_READ(ReadBEDouble, double, PosZ); - HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Yaw); - HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Pitch); - HANDLE_SERVER_PACKET_READ(ReadBool, bool, IsOnGround); + HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Yaw); + HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, Pitch); + HANDLE_SERVER_PACKET_READ(ReadBool, bool, IsOnGround); Log("Received a PACKET_PLAYER_POSITION_LOOK from the server"); // TODO: list packet contents @@ -2030,7 +2093,7 @@ bool cConnection::HandleServerPlayerPositionLook(void) bool cConnection::HandleServerPluginMessage(void) { HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, ChannelName); - HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, Length); + HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, Length); ContiguousByteBuffer Data; if (!m_ServerBuffer.ReadSome(Data, Length)) { @@ -2049,9 +2112,9 @@ bool cConnection::HandleServerPluginMessage(void) bool cConnection::HandleServerRespawn(void) { - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, Dimension); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Difficulty); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, GameMode); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, Dimension); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Difficulty); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, GameMode); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, LevelType); Log("Received a respawn packet from the server:"); Log(" Dimension = %d", Dimension); @@ -2068,7 +2131,7 @@ bool cConnection::HandleServerRespawn(void) bool cConnection::HandleServerSetExperience(void) { - HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, ExperienceBar); + HANDLE_SERVER_PACKET_READ(ReadBEFloat, float, ExperienceBar); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, Level); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, TotalExperience); Log("Received a PACKET_SET_EXPERIENCE from the server:"); @@ -2085,7 +2148,7 @@ bool cConnection::HandleServerSetExperience(void) bool cConnection::HandleServerSetSlot(void) { - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, WindowID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, WindowID); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, SlotNum); AString Item; if (!ParseSlot(m_ServerBuffer, Item)) @@ -2124,7 +2187,7 @@ bool cConnection::HandleServerSoundEffect(void) HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, PosY); HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, Data); - HANDLE_SERVER_PACKET_READ(ReadBool, bool, NoVolumeDecrease); + HANDLE_SERVER_PACKET_READ(ReadBool, bool, NoVolumeDecrease); Log("Received a PACKET_SOUND_EFFECT from the server:"); Log(" EffectID = %d", EffectID); Log(" Pos = {%d, %d, %d}", PosX, PosY, PosZ); @@ -2140,10 +2203,10 @@ bool cConnection::HandleServerSoundEffect(void) bool cConnection::HandleServerSpawnExperienceOrbs(void) { - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, Count); Log("Received a SPAWN_EXPERIENCE_ORBS packet from the server:"); Log(" EntityID = %u (0x%x)", EntityID, EntityID); @@ -2159,17 +2222,17 @@ bool cConnection::HandleServerSpawnExperienceOrbs(void) bool cConnection::HandleServerSpawnMob(void) { - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, MobType); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, HeadYaw); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityX); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityY); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityZ); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, MobType); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, HeadYaw); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityX); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityY); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, VelocityZ); AString Metadata; if (!ParseMetadata(m_ServerBuffer, Metadata)) { @@ -2200,9 +2263,7 @@ struct sSpawnData AString m_Value; AString m_Signature; sSpawnData(const AString & a_Name, const AString & a_Value, const AString & a_Signature) : - m_Name(a_Name), - m_Value(a_Value), - m_Signature(a_Signature) + m_Name(a_Name), m_Value(a_Value), m_Signature(a_Signature) { } }; @@ -2215,10 +2276,10 @@ typedef std::vector sSpawnDatas; bool cConnection::HandleServerSpawnNamedEntity(void) { - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, EntityUUID); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, EntityName); - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, DataCount); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, DataCount); sSpawnDatas Data; for (UInt32 i = 0; i < DataCount; i++) { @@ -2227,11 +2288,11 @@ bool cConnection::HandleServerSpawnNamedEntity(void) HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, Signature); Data.push_back(sSpawnData(Name, Value, Signature)); } - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, SelectedItem); AString Metadata; if (!ParseMetadata(m_ServerBuffer, Metadata)) @@ -2248,8 +2309,9 @@ bool cConnection::HandleServerSpawnNamedEntity(void) for (sSpawnDatas::const_iterator itr = Data.begin(), end = Data.end(); itr != end; ++itr) { Log(" Name = \"%s\", Value = \"%s\", Signature = \"%s\"", - itr->m_Name.c_str(), itr->m_Value.c_str(), itr->m_Signature.c_str() - ); + itr->m_Name.c_str(), + itr->m_Value.c_str(), + itr->m_Signature.c_str()); } // for itr - Data[] Log(" Pos = %s", PrintableAbsIntTriplet(PosX, PosY, PosZ).c_str()); Log(" Rotation = ", Yaw, Pitch); @@ -2267,7 +2329,7 @@ bool cConnection::HandleServerSpawnNamedEntity(void) bool cConnection::HandleServerSpawnObjectVehicle(void) { - #ifdef _DEBUG +#ifdef _DEBUG // DEBUG: // This packet is still troublesome when DataIndicator != 0 ContiguousByteBuffer Buffer; @@ -2282,16 +2344,21 @@ bool cConnection::HandleServerSpawnObjectVehicle(void) // Only log up to 128 bytes Buffer.erase(128, AString::npos); } - DataLog(Buffer.data(), Buffer.size(), "Buffer while parsing the PACKET_SPAWN_OBJECT_VEHICLE packet (%u bytes):", static_cast(Buffer.size())); - #endif // _DEBUG - - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, ObjType); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); + DataLog( + Buffer.data(), + Buffer.size(), + "Buffer while parsing the PACKET_SPAWN_OBJECT_VEHICLE packet (%u bytes):", + static_cast(Buffer.size()) + ); +#endif // _DEBUG + + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, ObjType); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Pitch); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Yaw); HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, DataIndicator); AString ExtraData; Int16 VelocityX = 0; @@ -2302,7 +2369,9 @@ bool cConnection::HandleServerSpawnObjectVehicle(void) HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, SpeedX); HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, SpeedY); HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, SpeedZ); - VelocityX = SpeedX; VelocityY = SpeedY; VelocityZ = SpeedZ; // Speed vars are local to this scope, but we need them available later + VelocityX = SpeedX; + VelocityY = SpeedY; + VelocityZ = SpeedZ; // Speed vars are local to this scope, but we need them available later /* // This doesn't seem to work - for a falling block I'm getting no extra data at all int ExtraLen = 0; @@ -2347,12 +2416,12 @@ bool cConnection::HandleServerSpawnObjectVehicle(void) bool cConnection::HandleServerSpawnPainting(void) { - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, EntityID); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, ImageName); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, Direction); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosX); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, PosZ); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, Direction); Log("Received a PACKET_SPAWN_PAINTING from the server:"); Log(" EntityID = %u", EntityID); Log(" ImageName = \"%s\"", ImageName.c_str()); @@ -2399,7 +2468,7 @@ bool cConnection::HandleServerStatistics(void) for (UInt32 i = 0; i < NumEntries; i++) { HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, StatName); - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, StatValue); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, StatValue); } COPY_TO_CLIENT(); return true; @@ -2433,7 +2502,10 @@ bool cConnection::HandleServerStatusResponse(void) size_t idx = Response.find(DescSearch); if (idx != AString::npos) { - Response.assign(Response.substr(0, idx + sizeof(DescSearch) - 1) + "ProtoProxy: " + Response.substr(idx + sizeof(DescSearch) - 1)); + Response.assign( + Response.substr(0, idx + sizeof(DescSearch) - 1) + + "ProtoProxy: " + Response.substr(idx + sizeof(DescSearch) - 1) + ); } else { @@ -2457,7 +2529,7 @@ bool cConnection::HandleServerStatusResponse(void) bool cConnection::HandleServerTabCompletion(void) { - HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, NumResults); + HANDLE_SERVER_PACKET_READ(ReadVarInt, UInt32, NumResults); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, Results); Log("Received a PACKET_TAB_COMPLETION from the server, results given:"); @@ -2513,9 +2585,9 @@ bool cConnection::HandleServerUpdateHealth(void) bool cConnection::HandleServerUpdateSign(void) { - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockX); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, BlockY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockZ); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockX); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, BlockY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockZ); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, Line1); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, Line2); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, Line3); @@ -2533,10 +2605,10 @@ bool cConnection::HandleServerUpdateSign(void) bool cConnection::HandleServerUpdateTileEntity(void) { - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockX); - HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, BlockY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockZ); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Action); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockX); + HANDLE_SERVER_PACKET_READ(ReadBEInt16, Int16, BlockY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BlockZ); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, Action); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, DataLength); ContiguousByteBuffer Data; @@ -2570,9 +2642,9 @@ bool cConnection::HandleServerUpdateTileEntity(void) bool cConnection::HandleServerUseBed(void) { HANDLE_SERVER_PACKET_READ(ReadBEUInt32, UInt32, EntityID); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BedX); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, BedY); - HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BedZ); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BedX); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, BedY); + HANDLE_SERVER_PACKET_READ(ReadBEInt32, Int32, BedZ); Log("Received a use bed packet from the server:"); Log(" EntityID = %u", EntityID); Log(" Bed = {%d, %u, %d}", BedX, BedY, BedZ); @@ -2599,7 +2671,7 @@ bool cConnection::HandleServerWindowClose(void) bool cConnection::HandleServerWindowContents(void) { - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, WindowID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, WindowID); HANDLE_SERVER_PACKET_READ(ReadBEUInt16, UInt16, NumSlots); Log("Received a PACKET_WINDOW_CONTENTS from the server:"); Log(" WindowID = %u", WindowID); @@ -2625,11 +2697,11 @@ bool cConnection::HandleServerWindowContents(void) bool cConnection::HandleServerWindowOpen(void) { - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, WindowID); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, WindowType); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, WindowID); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, WindowType); HANDLE_SERVER_PACKET_READ(ReadVarUTF8String, AString, Title); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, NumSlots); - HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, UseProvidedTitle); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, NumSlots); + HANDLE_SERVER_PACKET_READ(ReadBEUInt8, UInt8, UseProvidedTitle); UInt32 HorseEntityID = 0; if (WindowType == 11) // Horse / Donkey / Mule { @@ -2661,7 +2733,12 @@ bool cConnection::HandleServerUnknownPacket(UInt32 a_PacketType, UInt32 a_Packet { return false; } - DataLog(Data.data(), Data.size(), "****************** Unknown packet 0x%x from the server; relaying and ignoring", a_PacketType); + DataLog( + Data.data(), + Data.size(), + "****************** Unknown packet 0x%x from the server; relaying and ignoring", + a_PacketType + ); COPY_TO_CLIENT(); return true; } @@ -2735,7 +2812,7 @@ bool cConnection::ParseMetadata(cByteBuffer & a_Buffer, AString & a_Metadata) while (x != 0x7f) { // int Index = static_cast(x) & 0x1f; // Lower 5 bits = index - int Type = static_cast(x) >> 5; // Upper 3 bits = type + int Type = static_cast(x) >> 5; // Upper 3 bits = type // Get the length of the data for this item: UInt32 Length = 0; @@ -2758,7 +2835,7 @@ bool cConnection::ParseMetadata(cByteBuffer & a_Buffer, AString & a_Metadata) LenBuf.WriteVarInt32(Len); ContiguousByteBuffer VarLen; LenBuf.ReadAll(VarLen); - a_Metadata += { reinterpret_cast(VarLen.data()), VarLen.size() }; + a_Metadata += {reinterpret_cast(VarLen.data()), VarLen.size()}; Length = Len; break; } @@ -2791,7 +2868,7 @@ bool cConnection::ParseMetadata(cByteBuffer & a_Buffer, AString & a_Metadata) { return false; } - a_Metadata += { reinterpret_cast(data.data()), data.size() }; + a_Metadata += {reinterpret_cast(data.data()), data.size()}; if (!a_Buffer.ReadBEUInt8(x)) { return false; @@ -2811,8 +2888,9 @@ void cConnection::LogMetadata(const AString & a_Metadata, size_t a_IndentCount) size_t pos = 0; while (a_Metadata[pos] != 0x7f) { - unsigned Index = static_cast(static_cast(a_Metadata[pos])) & 0x1f; // Lower 5 bits = index - unsigned Type = static_cast(static_cast(a_Metadata[pos])) >> 5; // Upper 3 bits = type + unsigned Index = + static_cast(static_cast(a_Metadata[pos])) & 0x1f; // Lower 5 bits = index + unsigned Type = static_cast(static_cast(a_Metadata[pos])) >> 5; // Upper 3 bits = type // int Length = 0; switch (Type) { @@ -2830,13 +2908,21 @@ void cConnection::LogMetadata(const AString & a_Metadata, size_t a_IndentCount) } case 2: { - Log("%sint[%u] = %d", Indent.c_str(), Index, (a_Metadata[pos + 1] << 24) | (a_Metadata[pos + 2] << 16) | (a_Metadata[pos + 3] << 8) | a_Metadata[pos + 4]); + Log("%sint[%u] = %d", + Indent.c_str(), + Index, + (a_Metadata[pos + 1] << 24) | (a_Metadata[pos + 2] << 16) | (a_Metadata[pos + 3] << 8) | + a_Metadata[pos + 4]); pos += 4; break; } case 3: { - Log("%sfloat[%u] = 0x%x", Indent.c_str(), Index, (a_Metadata[pos + 1] << 24) | (a_Metadata[pos + 2] << 16) | (a_Metadata[pos + 3] << 8) | a_Metadata[pos + 4]); + Log("%sfloat[%u] = 0x%x", + Indent.c_str(), + Index, + (a_Metadata[pos + 1] << 24) | (a_Metadata[pos + 2] << 16) | (a_Metadata[pos + 3] << 8) | + a_Metadata[pos + 4]); pos += 4; break; } @@ -2853,7 +2939,8 @@ void cConnection::LogMetadata(const AString & a_Metadata, size_t a_IndentCount) size_t rs = bb.GetReadableSpace(); if (!bb.ReadVarInt(Length)) { - Log("Invalid metadata value, was supposed to be a varint-prefixed string, but cannot read the varint"); + Log("Invalid metadata value, was supposed to be a varint-prefixed string, but cannot read the " + "varint"); break; } rs = rs - bb.GetReadableSpace(); @@ -2875,17 +2962,25 @@ void cConnection::LogMetadata(const AString & a_Metadata, size_t a_IndentCount) // size_t After = bb.GetReadableSpace(); size_t BytesConsumed = BytesLeft - bb.GetReadableSpace(); - Log("%sslot[%u] = %s (%u bytes)", Indent.c_str(), Index, ItemDesc.c_str(), static_cast(BytesConsumed)); + Log("%sslot[%u] = %s (%u bytes)", + Indent.c_str(), + Index, + ItemDesc.c_str(), + static_cast(BytesConsumed)); pos += BytesConsumed; break; } case 6: { - Log("%spos[%u] = <%d, %d, %d>", Indent.c_str(), Index, - (a_Metadata[pos + 1] << 24) | (a_Metadata[pos + 2] << 16) | (a_Metadata[pos + 3] << 8) | a_Metadata[pos + 4], - (a_Metadata[pos + 5] << 24) | (a_Metadata[pos + 6] << 16) | (a_Metadata[pos + 7] << 8) | a_Metadata[pos + 8], - (a_Metadata[pos + 9] << 24) | (a_Metadata[pos + 10] << 16) | (a_Metadata[pos + 11] << 8) | a_Metadata[pos + 12] - ); + Log("%spos[%u] = <%d, %d, %d>", + Indent.c_str(), + Index, + (a_Metadata[pos + 1] << 24) | (a_Metadata[pos + 2] << 16) | (a_Metadata[pos + 3] << 8) | + a_Metadata[pos + 4], + (a_Metadata[pos + 5] << 24) | (a_Metadata[pos + 6] << 16) | (a_Metadata[pos + 7] << 8) | + a_Metadata[pos + 8], + (a_Metadata[pos + 9] << 24) | (a_Metadata[pos + 10] << 16) | (a_Metadata[pos + 11] << 8) | + a_Metadata[pos + 12]); pos += 12; break; } @@ -2922,7 +3017,12 @@ void cConnection::SendEncryptionKeyResponse(const AString & a_ServerPublicKey, c // Encrypt the nonce: Byte EncryptedNonce[128]; - res = PubKey.Encrypt(reinterpret_cast(a_Nonce.data()), a_Nonce.size(), EncryptedNonce, sizeof(EncryptedNonce)); + res = PubKey.Encrypt( + reinterpret_cast(a_Nonce.data()), + a_Nonce.size(), + EncryptedNonce, + sizeof(EncryptedNonce) + ); if (res < 0) { Log("Nonce encryption failed: %d (0x%x)", res, res); @@ -2937,8 +3037,18 @@ void cConnection::SendEncryptionKeyResponse(const AString & a_ServerPublicKey, c ToServer.WriteBuf(EncryptedSecret, sizeof(EncryptedSecret)); ToServer.WriteBEUInt16(static_cast(sizeof(EncryptedNonce))); ToServer.WriteBuf(EncryptedNonce, sizeof(EncryptedNonce)); - DataLog(EncryptedSecret, sizeof(EncryptedSecret), "Encrypted secret (%u bytes)", static_cast(sizeof(EncryptedSecret))); - DataLog(EncryptedNonce, sizeof(EncryptedNonce), "Encrypted nonce (%u bytes)", static_cast(sizeof(EncryptedNonce))); + DataLog( + EncryptedSecret, + sizeof(EncryptedSecret), + "Encrypted secret (%u bytes)", + static_cast(sizeof(EncryptedSecret)) + ); + DataLog( + EncryptedNonce, + sizeof(EncryptedNonce), + "Encrypted nonce (%u bytes)", + static_cast(sizeof(EncryptedNonce)) + ); cByteBuffer Len(5); Len.WriteVarInt32(static_cast(ToServer.GetReadableSpace())); SERVERSEND(Len); diff --git a/Tools/ProtoProxy/Connection.h b/Tools/ProtoProxy/Connection.h index b5e1b4ce0..a0ec4ccce 100644 --- a/Tools/ProtoProxy/Connection.h +++ b/Tools/ProtoProxy/Connection.h @@ -14,7 +14,7 @@ #include "mbedTLS++/AesCfb128Encryptor.h" #ifndef _WIN32 - typedef int SOCKET; +typedef int SOCKET; #endif @@ -42,13 +42,17 @@ class cConnection SOCKET m_ClientSocket; SOCKET m_ServerSocket; - std::chrono::steady_clock::time_point m_BeginTick; // Tick when the relative time was first retrieved (used for GetRelativeTime()) + std::chrono::steady_clock::time_point + m_BeginTick; // Tick when the relative time was first retrieved (used for GetRelativeTime()) enum eConnectionState { - csUnencrypted, // The connection is not encrypted. Packets must be decoded in order to be able to start decryption. - csEncryptedUnderstood, // The communication is encrypted and so far all packets have been understood, so they can be still decoded - csEncryptedUnknown, // The communication is encrypted, but an unknown packet has been received, so packets cannot be decoded anymore + csUnencrypted, // The connection is not encrypted. Packets must be decoded in order to be able to start + // decryption. + csEncryptedUnderstood, // The communication is encrypted and so far all packets have been understood, so they + // can be still decoded + csEncryptedUnknown, // The communication is encrypted, but an unknown packet has been received, so packets + // cannot be decoded anymore csWaitingForEncryption, // The communication is waiting for the other line to establish encryption }; @@ -57,7 +61,7 @@ class cConnection int m_Nonce; -public: + public: cConnection(SOCKET a_ClientSocket, cServer & a_Server); ~cConnection(); @@ -65,8 +69,7 @@ public: void vLog(const char * a_Format, fmt::printf_args a_ArgList); - template - void Log(const char * a_Format, const Args & ... a_Args) + template void Log(const char * a_Format, const Args &... a_Args) { vLog(a_Format, fmt::make_printf_args(a_Args...)); } @@ -74,22 +77,22 @@ public: void vDataLog(const void * a_Data, size_t a_Size, const char * a_Format, fmt::printf_args a_ArgList); template - void DataLog(const void * a_Data, size_t a_Size, const char * a_Format, const Args & ... a_Args) + void DataLog(const void * a_Data, size_t a_Size, const char * a_Format, const Args &... a_Args) { vDataLog(a_Data, a_Size, a_Format, fmt::make_printf_args(a_Args...)); } void LogFlush(void); -protected: - + protected: cByteBuffer m_ClientBuffer; cByteBuffer m_ServerBuffer; cAesCfb128Decryptor m_ServerDecryptor; cAesCfb128Encryptor m_ServerEncryptor; - ContiguousByteBuffer m_ServerEncryptionBuffer; // Buffer for the data to be sent to the server once encryption is established + ContiguousByteBuffer + m_ServerEncryptionBuffer; // Buffer for the data to be sent to the server once encryption is established /** Set to true when PACKET_PING is received from the client; will cause special parsing for server kick */ bool m_HasClientPinged; @@ -101,10 +104,12 @@ protected: 2: login 3: game */ - /** State the to-server protocol is in (as defined by the initial handshake / login), -1 if no initial handshake received yet */ + /** State the to-server protocol is in (as defined by the initial handshake / login), -1 if no initial handshake + * received yet */ int m_ServerProtocolState; - /** State the to-client protocol is in (as defined by the initial handshake / login), -1 if no initial handshake received yet */ + /** State the to-client protocol is in (as defined by the initial handshake / login), -1 if no initial handshake + * received yet */ int m_ClientProtocolState; /** True if the server connection has provided encryption keys */ @@ -128,16 +133,30 @@ protected: /** Sends data to the specified socket. If sending fails, prints a fail message using a_Peer and returns false. */ bool SendData(SOCKET a_Socket, cByteBuffer & a_Data, const char * a_Peer); - /** Sends data to the specfied socket, after encrypting it using a_Encryptor. If sending fails, prints a fail message using a_Peer and returns false */ - bool SendEncryptedData(SOCKET a_Socket, cAesCfb128Encryptor & a_Encryptor, ContiguousByteBuffer & a_Data, const char * a_Peer); - - /** Sends data to the specfied socket, after encrypting it using a_Encryptor. If sending fails, prints a fail message using a_Peer and returns false */ - bool SendEncryptedData(SOCKET a_Socket, cAesCfb128Encryptor & a_Encryptor, cByteBuffer & a_Data, const char * a_Peer); - - /** Decodes packets coming from the client, sends appropriate counterparts to the server; returns false if the connection is to be dropped */ + /** Sends data to the specfied socket, after encrypting it using a_Encryptor. If sending fails, prints a fail + * message using a_Peer and returns false */ + bool SendEncryptedData( + SOCKET a_Socket, + cAesCfb128Encryptor & a_Encryptor, + ContiguousByteBuffer & a_Data, + const char * a_Peer + ); + + /** Sends data to the specfied socket, after encrypting it using a_Encryptor. If sending fails, prints a fail + * message using a_Peer and returns false */ + bool SendEncryptedData( + SOCKET a_Socket, + cAesCfb128Encryptor & a_Encryptor, + cByteBuffer & a_Data, + const char * a_Peer + ); + + /** Decodes packets coming from the client, sends appropriate counterparts to the server; returns false if the + * connection is to be dropped */ bool DecodeClientsPackets(const char * a_Data, int a_Size); - /** Decodes packets coming from the server, sends appropriate counterparts to the client; returns false if the connection is to be dropped */ + /** Decodes packets coming from the server, sends appropriate counterparts to the client; returns false if the + * connection is to be dropped */ bool DecodeServersPackets(const char * a_Data, int a_Size); // Packet handling, client-side, initial: @@ -247,10 +266,12 @@ protected: /** Parses the slot data in a_Buffer into item description; returns true if successful, false if not enough data */ bool ParseSlot(cByteBuffer & a_Buffer, AString & a_ItemDesc); - /** Parses the metadata in a_Buffer into raw metadata in an AString; returns true if successful, false if not enough data */ + /** Parses the metadata in a_Buffer into raw metadata in an AString; returns true if successful, false if not enough + * data */ bool ParseMetadata(cByteBuffer & a_Buffer, AString & a_Metadata); - /** Logs the contents of the metadata in the AString, using Log(). Assumes a_Metadata is valid (parsed by ParseMetadata()). The log is indented by a_IndentCount spaces */ + /** Logs the contents of the metadata in the AString, using Log(). Assumes a_Metadata is valid (parsed by + * ParseMetadata()). The log is indented by a_IndentCount spaces */ void LogMetadata(const AString & a_Metadata, size_t a_IndentCount); /** Send EKResp to the server: */ @@ -258,4 +279,4 @@ protected: /** Starts client encryption based on the parameters received */ void StartClientEncryption(const AString & a_EncryptedSecret, const AString & a_EncryptedNonce); -} ; +}; diff --git a/Tools/ProtoProxy/Server.cpp b/Tools/ProtoProxy/Server.cpp index 2db67e960..0155175de 100644 --- a/Tools/ProtoProxy/Server.cpp +++ b/Tools/ProtoProxy/Server.cpp @@ -12,9 +12,7 @@ -cServer::cServer(void) -{ -} +cServer::cServer(void) {} @@ -24,24 +22,24 @@ int cServer::Init(UInt16 a_ListenPort, UInt16 a_ConnectPort) { m_ConnectPort = a_ConnectPort; - #ifdef _WIN32 - WSAData wsa; - int res = WSAStartup(0x0202, &wsa); - if (res != 0) - { - LOGERROR("Cannot initialize WinSock: %d", res); - return res; - } - #endif // _WIN32 +#ifdef _WIN32 + WSAData wsa; + int res = WSAStartup(0x0202, &wsa); + if (res != 0) + { + LOGERROR("Cannot initialize WinSock: %d", res); + return res; + } +#endif // _WIN32 m_ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (m_ListenSocket < 0) { - #ifdef _WIN32 - int err = WSAGetLastError(); - #else - int err = errno; - #endif +#ifdef _WIN32 + int err = WSAGetLastError(); +#else + int err = errno; +#endif LOGERROR("Failed to create listener socket: %d", err); return err; } @@ -52,25 +50,29 @@ int cServer::Init(UInt16 a_ListenPort, UInt16 a_ConnectPort) local.sin_port = htons(a_ListenPort); if (bind(m_ListenSocket, reinterpret_cast(&local), sizeof(local)) != 0) { - #ifdef _WIN32 - int err = WSAGetLastError(); - #else - int err = errno; - #endif +#ifdef _WIN32 + int err = WSAGetLastError(); +#else + int err = errno; +#endif LOGERROR("Failed to bind listener socket: %d", err); return err; } if (listen(m_ListenSocket, 1) != 0) { - #ifdef _WIN32 - int err = WSAGetLastError(); - #else - int err = errno; - #endif +#ifdef _WIN32 + int err = WSAGetLastError(); +#else + int err = errno; +#endif printf("Failed to listen on socket: %d\n", err); return err; } - LOGINFO("Listening for client connections on port %d, connecting to server at localhost:%d", a_ListenPort, a_ConnectPort); + LOGINFO( + "Listening for client connections on port %d, connecting to server at localhost:%d", + a_ListenPort, + a_ConnectPort + ); LOGINFO("Generating protocol encryption keypair..."); m_PrivateKey.Generate(); diff --git a/Tools/ProtoProxy/Server.h b/Tools/ProtoProxy/Server.h index e8db7f1c7..f636d679d 100644 --- a/Tools/ProtoProxy/Server.h +++ b/Tools/ProtoProxy/Server.h @@ -13,15 +13,15 @@ #include "mbedTLS++/RsaPrivateKey.h" #ifdef _WIN32 - #define SocketError WSAGetLastError() +#define SocketError WSAGetLastError() #else - typedef int SOCKET; - enum - { - INVALID_SOCKET = -1, - }; - #define closesocket close - #define SocketError errno +typedef int SOCKET; +enum +{ + INVALID_SOCKET = -1, +}; +#define closesocket close +#define SocketError errno #endif @@ -35,14 +35,14 @@ class cServer ContiguousByteBuffer m_PublicKeyDER; UInt16 m_ConnectPort; -public: + public: cServer(void); - int Init(UInt16 a_ListenPort, UInt16 a_ConnectPort); + int Init(UInt16 a_ListenPort, UInt16 a_ConnectPort); void Run(void); cRsaPrivateKey & GetPrivateKey(void) { return m_PrivateKey; } - ContiguousByteBufferView GetPublicKeyDER (void) { return m_PublicKeyDER; } + ContiguousByteBufferView GetPublicKeyDER(void) { return m_PublicKeyDER; } UInt16 GetConnectPort(void) const { return m_ConnectPort; } -} ; +}; diff --git a/Tools/QtBiomeVisualiser/BiomeView.cpp b/Tools/QtBiomeVisualiser/BiomeView.cpp index 472d1b5ad..8dd79d619 100644 --- a/Tools/QtBiomeVisualiser/BiomeView.cpp +++ b/Tools/QtBiomeVisualiser/BiomeView.cpp @@ -22,73 +22,255 @@ static struct { EMCSBiome m_Biome; uchar m_Color[3]; -} biomeColors[] = -{ - { biOcean, { 0x00, 0x00, 0x70 }, }, - { biPlains, { 0x8d, 0xb3, 0x60 }, }, - { biDesert, { 0xfa, 0x94, 0x18 }, }, - { biExtremeHills, { 0x60, 0x60, 0x60 }, }, - { biForest, { 0x05, 0x66, 0x21 }, }, - { biTaiga, { 0x0b, 0x66, 0x59 }, }, - { biSwampland, { 0x2f, 0xff, 0xda }, }, - { biRiver, { 0x30, 0x30, 0xaf }, }, - { biHell, { 0x7f, 0x00, 0x00 }, }, - { biSky, { 0x00, 0x7f, 0xff }, }, - { biFrozenOcean, { 0xa0, 0xa0, 0xdf }, }, - { biFrozenRiver, { 0xa0, 0xa0, 0xff }, }, - { biIcePlains, { 0xff, 0xff, 0xff }, }, - { biIceMountains, { 0xa0, 0xa0, 0xa0 }, }, - { biMushroomIsland, { 0xff, 0x00, 0xff }, }, - { biMushroomShore, { 0xa0, 0x00, 0xff }, }, - { biBeach, { 0xfa, 0xde, 0x55 }, }, - { biDesertHills, { 0xd2, 0x5f, 0x12 }, }, - { biForestHills, { 0x22, 0x55, 0x1c }, }, - { biTaigaHills, { 0x16, 0x39, 0x33 }, }, - { biExtremeHillsEdge, { 0x7f, 0x8f, 0x7f }, }, - { biJungle, { 0x53, 0x7b, 0x09 }, }, - { biJungleHills, { 0x2c, 0x42, 0x05 }, }, - - { biJungleEdge, { 0x62, 0x8b, 0x17 }, }, - { biDeepOcean, { 0x00, 0x00, 0x30 }, }, - { biStoneBeach, { 0xa2, 0xa2, 0x84 }, }, - { biColdBeach, { 0xfa, 0xf0, 0xc0 }, }, - { biBirchForest, { 0x30, 0x74, 0x44 }, }, - { biBirchForestHills, { 0x1f, 0x5f, 0x32 }, }, - { biRoofedForest, { 0x40, 0x51, 0x1a }, }, - { biColdTaiga, { 0x31, 0x55, 0x4a }, }, - { biColdTaigaHills, { 0x59, 0x7d, 0x72 }, }, - { biMegaTaiga, { 0x59, 0x66, 0x51 }, }, - { biMegaTaigaHills, { 0x59, 0x66, 0x59 }, }, - { biExtremeHillsPlus, { 0x50, 0x70, 0x50 }, }, - { biSavanna, { 0xbd, 0xb2, 0x5f }, }, - { biSavannaPlateau, { 0xa7, 0x9d, 0x64 }, }, - { biMesa, { 0xd9, 0x45, 0x15 }, }, - { biMesaPlateauF, { 0xb0, 0x97, 0x65 }, }, - { biMesaPlateau, { 0xca, 0x8c, 0x65 }, }, +} biomeColors[] = { + { + biOcean, + {0x00, 0x00, 0x70}, + }, + { + biPlains, + {0x8d, 0xb3, 0x60}, + }, + { + biDesert, + {0xfa, 0x94, 0x18}, + }, + { + biExtremeHills, + {0x60, 0x60, 0x60}, + }, + { + biForest, + {0x05, 0x66, 0x21}, + }, + { + biTaiga, + {0x0b, 0x66, 0x59}, + }, + { + biSwampland, + {0x2f, 0xff, 0xda}, + }, + { + biRiver, + {0x30, 0x30, 0xaf}, + }, + { + biHell, + {0x7f, 0x00, 0x00}, + }, + { + biSky, + {0x00, 0x7f, 0xff}, + }, + { + biFrozenOcean, + {0xa0, 0xa0, 0xdf}, + }, + { + biFrozenRiver, + {0xa0, 0xa0, 0xff}, + }, + { + biIcePlains, + {0xff, 0xff, 0xff}, + }, + { + biIceMountains, + {0xa0, 0xa0, 0xa0}, + }, + { + biMushroomIsland, + {0xff, 0x00, 0xff}, + }, + { + biMushroomShore, + {0xa0, 0x00, 0xff}, + }, + { + biBeach, + {0xfa, 0xde, 0x55}, + }, + { + biDesertHills, + {0xd2, 0x5f, 0x12}, + }, + { + biForestHills, + {0x22, 0x55, 0x1c}, + }, + { + biTaigaHills, + {0x16, 0x39, 0x33}, + }, + { + biExtremeHillsEdge, + {0x7f, 0x8f, 0x7f}, + }, + { + biJungle, + {0x53, 0x7b, 0x09}, + }, + { + biJungleHills, + {0x2c, 0x42, 0x05}, + }, + + { + biJungleEdge, + {0x62, 0x8b, 0x17}, + }, + { + biDeepOcean, + {0x00, 0x00, 0x30}, + }, + { + biStoneBeach, + {0xa2, 0xa2, 0x84}, + }, + { + biColdBeach, + {0xfa, 0xf0, 0xc0}, + }, + { + biBirchForest, + {0x30, 0x74, 0x44}, + }, + { + biBirchForestHills, + {0x1f, 0x5f, 0x32}, + }, + { + biRoofedForest, + {0x40, 0x51, 0x1a}, + }, + { + biColdTaiga, + {0x31, 0x55, 0x4a}, + }, + { + biColdTaigaHills, + {0x59, 0x7d, 0x72}, + }, + { + biMegaTaiga, + {0x59, 0x66, 0x51}, + }, + { + biMegaTaigaHills, + {0x59, 0x66, 0x59}, + }, + { + biExtremeHillsPlus, + {0x50, 0x70, 0x50}, + }, + { + biSavanna, + {0xbd, 0xb2, 0x5f}, + }, + { + biSavannaPlateau, + {0xa7, 0x9d, 0x64}, + }, + { + biMesa, + {0xd9, 0x45, 0x15}, + }, + { + biMesaPlateauF, + {0xb0, 0x97, 0x65}, + }, + { + biMesaPlateau, + {0xca, 0x8c, 0x65}, + }, // M variants: - { biSunflowerPlains, { 0xb5, 0xdb, 0x88 }, }, - { biDesertM, { 0xff, 0xbc, 0x40 }, }, - { biExtremeHillsM, { 0x88, 0x88, 0x88 }, }, - { biFlowerForest, { 0x2d, 0x8e, 0x49 }, }, - { biTaigaM, { 0x33, 0x8e, 0x81 }, }, - { biSwamplandM, { 0x07, 0xf9, 0xb2 }, }, - { biIcePlainsSpikes, { 0xb4, 0xdc, 0xdc }, }, - { biJungleM, { 0x7b, 0xa3, 0x31 }, }, - { biJungleEdgeM, { 0x62, 0x8b, 0x17 }, }, - { biBirchForestM, { 0x58, 0x9c, 0x6c }, }, - { biBirchForestHillsM, { 0x47, 0x87, 0x5a }, }, - { biRoofedForestM, { 0x68, 0x79, 0x42 }, }, - { biColdTaigaM, { 0x24, 0x3f, 0x36 }, }, - { biMegaSpruceTaiga, { 0x45, 0x4f, 0x3e }, }, - { biMegaSpruceTaigaHills, { 0x45, 0x4f, 0x4e }, }, - { biExtremeHillsPlusM, { 0x78, 0x98, 0x78 }, }, - { biSavannaM, { 0xe5, 0xda, 0x87 }, }, - { biSavannaPlateauM, { 0xa7, 0x9d, 0x74 }, }, - { biMesaBryce, { 0xff, 0x6d, 0x3d }, }, - { biMesaPlateauFM, { 0xd8, 0xbf, 0x8d }, }, - { biMesaPlateauM, { 0xf2, 0xb4, 0x8d }, }, -} ; + { + biSunflowerPlains, + {0xb5, 0xdb, 0x88}, + }, + { + biDesertM, + {0xff, 0xbc, 0x40}, + }, + { + biExtremeHillsM, + {0x88, 0x88, 0x88}, + }, + { + biFlowerForest, + {0x2d, 0x8e, 0x49}, + }, + { + biTaigaM, + {0x33, 0x8e, 0x81}, + }, + { + biSwamplandM, + {0x07, 0xf9, 0xb2}, + }, + { + biIcePlainsSpikes, + {0xb4, 0xdc, 0xdc}, + }, + { + biJungleM, + {0x7b, 0xa3, 0x31}, + }, + { + biJungleEdgeM, + {0x62, 0x8b, 0x17}, + }, + { + biBirchForestM, + {0x58, 0x9c, 0x6c}, + }, + { + biBirchForestHillsM, + {0x47, 0x87, 0x5a}, + }, + { + biRoofedForestM, + {0x68, 0x79, 0x42}, + }, + { + biColdTaigaM, + {0x24, 0x3f, 0x36}, + }, + { + biMegaSpruceTaiga, + {0x45, 0x4f, 0x3e}, + }, + { + biMegaSpruceTaigaHills, + {0x45, 0x4f, 0x4e}, + }, + { + biExtremeHillsPlusM, + {0x78, 0x98, 0x78}, + }, + { + biSavannaM, + {0xe5, 0xda, 0x87}, + }, + { + biSavannaPlateauM, + {0xa7, 0x9d, 0x74}, + }, + { + biMesaBryce, + {0xff, 0x6d, 0x3d}, + }, + { + biMesaPlateauFM, + {0xd8, 0xbf, 0x8d}, + }, + { + biMesaPlateauM, + {0xf2, 0xb4, 0x8d}, + }, +}; @@ -96,7 +278,7 @@ static struct static class BiomeColorsInitializer { -public: + public: BiomeColorsInitializer(void) { // Reset all colors to gray: @@ -125,12 +307,7 @@ public: // BiomeView: BiomeView::BiomeView(QWidget * parent) : - super(parent), - m_X(0), - m_Z(0), - m_Zoom(1), - m_IsMouseDragging(false), - m_MouseWheelDelta(0) + super(parent), m_X(0), m_Z(0), m_Zoom(1), m_IsMouseDragging(false), m_MouseWheelDelta(0) { // Create the image used for undefined chunks: int offset = 0; @@ -227,7 +404,7 @@ void BiomeView::redraw() int centerchunkx = floor(m_X / 16); int centerchunkz = floor(m_Z / 16); // and the center of the screen - int centerx = m_Image.width() / 2; + int centerx = m_Image.width() / 2; int centery = m_Image.height() / 2; // and align for panning centerx -= (m_X - centerchunkx * 16) * m_Zoom; @@ -236,7 +413,7 @@ void BiomeView::redraw() int startx = centerchunkx - centerx / chunksize - 1; int startz = centerchunkz - centery / chunksize - 1; // and the dimensions of the screen in blocks - int blockswide = m_Image.width() / chunksize + 3; + int blockswide = m_Image.width() / chunksize + 3; int blockstall = m_Image.height() / chunksize + 3; for (int z = startz; z < startz + blockstall; z++) @@ -302,7 +479,7 @@ void BiomeView::drawChunk(int a_ChunkX, int a_ChunkZ) int centerchunkx = floor(m_X / 16); int centerchunkz = floor(m_Z / 16); // and the center chunk screen coordinates - int centerx = m_Image.width() / 2; + int centerx = m_Image.width() / 2; int centery = m_Image.height() / 2; // which need to be shifted to account for panning inside that chunk centerx -= (m_X - centerchunkx * 16) * m_Zoom; @@ -360,23 +537,23 @@ void BiomeView::drawChunk(int a_ChunkX, int a_ChunkZ) // Scale-blit the image: for (int z = skipy; z < blockheight; z++, imgoffset += imgstride) { - size_t srcoffset = static_cast(std::floor((double)z / m_Zoom)) * 16; + size_t srcoffset = static_cast(std::floor((double) z / m_Zoom)) * 16; int imgxoffset = imgoffset; for (int x = skipx; x < blockwidth; x++) { - short biome = src[srcoffset + static_cast(std::floor((double)x / m_Zoom))]; + short biome = src[srcoffset + static_cast(std::floor((double) x / m_Zoom))]; const uchar * color; if (biome < 0) { - static const uchar emptyBiome1[] = { 0x44, 0x44, 0x44, 0xff }; - static const uchar emptyBiome2[] = { 0x88, 0x88, 0x88, 0xff }; + static const uchar emptyBiome1[] = {0x44, 0x44, 0x44, 0xff}; + static const uchar emptyBiome2[] = {0x88, 0x88, 0x88, 0xff}; color = ((x & 8) ^ (z & 8)) ? emptyBiome1 : emptyBiome2; } else { if (biome * 4 >= ARRAYCOUNT(biomeToColor)) { - static const uchar errorImage[] = { 0xff, 0x00, 0x00, 0xff }; + static const uchar errorImage[] = {0xff, 0x00, 0x00, 0xff}; color = errorImage; } else @@ -384,7 +561,7 @@ void BiomeView::drawChunk(int a_ChunkX, int a_ChunkZ) color = biomeToColor + biome * 4; } } - bits[imgxoffset] = color[0]; + bits[imgxoffset] = color[0]; bits[imgxoffset + 1] = color[1]; bits[imgxoffset + 2] = color[2]; bits[imgxoffset + 3] = color[3]; @@ -456,7 +633,7 @@ void BiomeView::mouseMoveEvent(QMouseEvent * a_Event) } // Update the status bar info text: - int blockX = floor((a_Event->x() - width() / 2) / m_Zoom + m_X); + int blockX = floor((a_Event->x() - width() / 2) / m_Zoom + m_X); int blockZ = floor((a_Event->y() - height() / 2) / m_Zoom + m_Z); int regionX, regionZ; Region::blockToRegion(blockX, blockZ, regionX, regionZ); diff --git a/Tools/QtBiomeVisualiser/BiomeView.h b/Tools/QtBiomeVisualiser/BiomeView.h index cd9c7ead9..4d8b3d528 100644 --- a/Tools/QtBiomeVisualiser/BiomeView.h +++ b/Tools/QtBiomeVisualiser/BiomeView.h @@ -9,13 +9,12 @@ -class BiomeView : - public QWidget +class BiomeView : public QWidget { typedef QWidget super; Q_OBJECT -public: + public: explicit BiomeView(QWidget * parent = NULL); QSize minimumSizeHint() const; @@ -31,7 +30,7 @@ public: /** Sets the zoom level to the specified value and redraws the view. */ void setZoomLevel(double a_ZoomLevel); -signals: + signals: /** Signalled when the user uses the wheel to scroll upwards. */ void wheelUp(); @@ -47,7 +46,7 @@ signals: /** Emitted when the user moves the mouse, to reflect the current block under the cursor. */ void hoverChanged(int a_BlockX, int a_BlockZ, int a_Biome); -public slots: + public slots: /** Redraw the entire widget area. */ void redraw(); @@ -57,7 +56,7 @@ public slots: /** Reloads the current chunk source and redraws the entire workspace. */ void reload(); -protected: + protected: double m_X, m_Z; double m_Zoom; @@ -110,8 +109,3 @@ protected: /** Called when the user presses a key. */ virtual void keyPressEvent(QKeyEvent * a_Event) override; }; - - - - - diff --git a/Tools/QtBiomeVisualiser/ChunkSource.cpp b/Tools/QtBiomeVisualiser/ChunkSource.cpp index ea3346f04..6b622b2bc 100644 --- a/Tools/QtBiomeVisualiser/ChunkSource.cpp +++ b/Tools/QtBiomeVisualiser/ChunkSource.cpp @@ -14,8 +14,7 @@ // BioGenSource: BioGenSource::BioGenSource(cIniFilePtr a_IniFile) : - m_IniFile(a_IniFile), - m_Mtx(QMutex::Recursive) + m_IniFile(a_IniFile), m_Mtx(QMutex::Recursive) { reload(); } @@ -98,7 +97,7 @@ void BioGenSource::releaseBiomeGen(cBiomeGenPtr && a_BiomeGen, int a_Tag) class AnvilSource::AnvilFile { -public: + public: /** Coordinates of the region file. */ int m_RegionX, m_RegionZ; @@ -109,9 +108,7 @@ public: /** Creates a new instance with the specified region coords. Reads the file header. */ AnvilFile(int a_RegionX, int a_RegionZ, const AString & a_WorldPath) : - m_RegionX(a_RegionX), - m_RegionZ(a_RegionZ), - m_IsValid(false) + m_RegionX(a_RegionX), m_RegionZ(a_RegionZ), m_IsValid(false) { readFile(Printf("%s/r.%d.%d.mca", a_WorldPath.c_str(), a_RegionX, a_RegionZ)); } @@ -162,7 +159,7 @@ public: return m_FileData.substr(chunkOffset * 4096 + 5, chunkSize); } -protected: + protected: AString m_FileData; UInt32 m_Header[2048]; @@ -241,7 +238,7 @@ void AnvilSource::getChunkBiomes(int a_ChunkX, int a_ChunkZ, Chunk & a_DestChunk const char * beBiomes = nbt.GetData(mcsBiomes); for (size_t i = 0; i < ARRAYCOUNT(biomeMap); i++) { - biomeMap[i] = (EMCSBiome)GetBEInt(beBiomes + 4 * i); + biomeMap[i] = (EMCSBiome) GetBEInt(beBiomes + 4 * i); } a_DestChunk.setBiomes(biomeMap); return; @@ -320,8 +317,3 @@ AnvilSource::AnvilFilePtr AnvilSource::getAnvilFile(int a_ChunkX, int a_ChunkZ) m_Files.push_front(file); return file; } - - - - - diff --git a/Tools/QtBiomeVisualiser/ChunkSource.h b/Tools/QtBiomeVisualiser/ChunkSource.h index 62f9b5626..62e3f87b9 100644 --- a/Tools/QtBiomeVisualiser/ChunkSource.h +++ b/Tools/QtBiomeVisualiser/ChunkSource.h @@ -21,14 +21,15 @@ typedef std::shared_ptr cIniFilePtr; /** Abstract interface for getting biome data for chunks. */ class ChunkSource { -public: + public: virtual ~ChunkSource() {} /** Fills the a_DestChunk with the biomes for the specified coords. It is expected to be thread-safe and re-entrant. Usually QThread::idealThreadCount() threads are used. */ virtual void getChunkBiomes(int a_ChunkX, int a_ChunkZ, Chunk & a_DestChunk) = 0; - /** Forces a fresh reload of the source. Useful mainly for the generator, whose underlying definition file may have been changed. */ + /** Forces a fresh reload of the source. Useful mainly for the generator, whose underlying definition file may have + * been changed. */ virtual void reload() = 0; }; @@ -36,11 +37,9 @@ public: - -class BioGenSource : - public ChunkSource +class BioGenSource : public ChunkSource { -public: + public: /** Constructs a new BioGenSource based on the biome generator that is defined in the specified world.ini file. */ BioGenSource(cIniFilePtr a_IniFile); @@ -48,7 +47,7 @@ public: virtual void getChunkBiomes(int a_ChunkX, int a_ChunkZ, Chunk & a_DestChunk) override; virtual void reload(void) override; -protected: + protected: /** The world.ini contents from which the generator is created and re-created on reload(). */ cIniFilePtr m_IniFile; @@ -82,10 +81,9 @@ protected: -class AnvilSource : - public ChunkSource +class AnvilSource : public ChunkSource { -public: + public: /** Constructs a new AnvilSource based on the world path. */ AnvilSource(QString a_WorldRegionFolder); @@ -93,7 +91,7 @@ public: virtual void getChunkBiomes(int a_ChunkX, int a_ChunkZ, Chunk & a_DestChunk) override; virtual void reload() override; -protected: + protected: class AnvilFile; typedef std::shared_ptr AnvilFilePtr; @@ -119,9 +117,4 @@ protected: /** Returns the file object that contains the specified chunk. The file is taken from the cache if available there, otherwise it is created anew. */ AnvilFilePtr getAnvilFile(int a_ChunkX, int a_ChunkZ); - }; - - - - diff --git a/Tools/QtBiomeVisualiser/GeneratorSetup.cpp b/Tools/QtBiomeVisualiser/GeneratorSetup.cpp index 54b7ef36e..bdee0bb50 100644 --- a/Tools/QtBiomeVisualiser/GeneratorSetup.cpp +++ b/Tools/QtBiomeVisualiser/GeneratorSetup.cpp @@ -9,8 +9,7 @@ -static const QString s_GeneratorNames[] = -{ +static const QString s_GeneratorNames[] = { QString("Checkerboard"), QString("Constant"), QString("DistortedVoronoi"), @@ -26,8 +25,7 @@ static const QString s_GeneratorNames[] = GeneratorSetup::GeneratorSetup(const AString & a_IniFileName, QWidget * a_Parent) : - super(a_Parent), - m_IniFile(new cIniFile()) + super(a_Parent), m_IniFile(new cIniFile()) { // The seed and generator name is in a separate form layout at the top, always present: m_eSeed = new QLineEdit(); @@ -67,7 +65,7 @@ GeneratorSetup::GeneratorSetup(const AString & a_IniFileName, QWidget * a_Parent // Connect the change events only after the data has been loaded: connect(m_cbGenerator, SIGNAL(currentIndexChanged(QString)), this, SLOT(generatorChanged(QString))); - connect(m_eSeed, SIGNAL(textChanged(QString)), this, SLOT(editChanged(QString))); + connect(m_eSeed, SIGNAL(textChanged(QString)), this, SLOT(editChanged(QString))); } @@ -109,7 +107,7 @@ void GeneratorSetup::generatorChanged(const QString & a_NewName) void GeneratorSetup::editChanged(const QString & a_NewValue) { QString sectionName = sender()->property("INI.SectionName").toString(); - QString itemName = sender()->property("INI.ItemName").toString(); + QString itemName = sender()->property("INI.ItemName").toString(); m_IniFile->SetValue(sectionName.toStdString(), itemName.toStdString(), a_NewValue.toStdString()); emit generatorUpdated(); } @@ -139,7 +137,7 @@ void GeneratorSetup::updateFromIni() int numItems = m_IniFile->GetNumValues(keyID); for (int i = 0; i < numItems; i++) { - AString itemName = m_IniFile->GetValueName(keyID, i); + AString itemName = m_IniFile->GetValueName(keyID, i); if ((itemName == "Generator") || (itemName == "BiomeGen")) { // These special cases are not to be added @@ -162,7 +160,3 @@ void GeneratorSetup::updateFromIni() m_FormLayout->addRow(new QLabel(QString::fromStdString(itemName)), edit); } // for i - INI values[] } - - - - diff --git a/Tools/QtBiomeVisualiser/GeneratorSetup.h b/Tools/QtBiomeVisualiser/GeneratorSetup.h index e72d3abbc..168ee3758 100644 --- a/Tools/QtBiomeVisualiser/GeneratorSetup.h +++ b/Tools/QtBiomeVisualiser/GeneratorSetup.h @@ -17,34 +17,33 @@ typedef std::shared_ptr cIniFilePtr; -class GeneratorSetup : - public QWidget +class GeneratorSetup : public QWidget { typedef QWidget super; Q_OBJECT -public: + public: /** Creates the widget and loads the contents of the INI file, if not empty. */ explicit GeneratorSetup(const std::string & a_IniFileName, QWidget * parent = nullptr); /** Returns the cIniFile instance that is being edited by this widget. */ cIniFilePtr getIniFile() { return m_IniFile; } -signals: + signals: /** Emitted when the generator parameters have changed. */ void generatorUpdated(); -public slots: + public slots: /** Called when the user selects a different generator from the top combobox. Re-creates m_IniFile and updates the form layout. */ void generatorChanged(const QString & a_NewName); -protected slots: + protected slots: /** Called when any of the edit widgets are changed. */ void editChanged(const QString & a_NewValue); -protected: + protected: QComboBox * m_cbGenerator; QLineEdit * m_eSeed; QVBoxLayout * m_MainLayout; @@ -58,7 +57,3 @@ protected: /** Updates the form layout with the values from m_IniFile. */ void updateFromIni(); }; - - - - diff --git a/Tools/QtBiomeVisualiser/Globals.h b/Tools/QtBiomeVisualiser/Globals.h index fe037c2ad..52182c3b6 100644 --- a/Tools/QtBiomeVisualiser/Globals.h +++ b/Tools/QtBiomeVisualiser/Globals.h @@ -6,44 +6,45 @@ // Compiler-dependent stuff: #if defined(_MSC_VER) - // MSVC produces warning C4481 on the override keyword usage, so disable the warning altogether - #pragma warning(disable:4481) +// MSVC produces warning C4481 on the override keyword usage, so disable the warning altogether +#pragma warning(disable : 4481) - // Disable some warnings that we don't care about: - #pragma warning(disable:4100) // Unreferenced formal parameter +// Disable some warnings that we don't care about: +#pragma warning(disable : 4100) // Unreferenced formal parameter - // Useful warnings from warning level 4: - #pragma warning(3 : 4127) // Conditional expression is constant - #pragma warning(3 : 4189) // Local variable is initialized but not referenced - #pragma warning(3 : 4245) // Conversion from 'type1' to 'type2', signed / unsigned mismatch - #pragma warning(3 : 4310) // Cast truncates constant value - #pragma warning(3 : 4389) // Signed / unsigned mismatch - #pragma warning(3 : 4505) // Unreferenced local function has been removed - #pragma warning(3 : 4701) // Potentially unitialized local variable used - #pragma warning(3 : 4702) // Unreachable code - #pragma warning(3 : 4706) // Assignment within conditional expression +// Useful warnings from warning level 4: +#pragma warning(3 : 4127) // Conditional expression is constant +#pragma warning(3 : 4189) // Local variable is initialized but not referenced +#pragma warning(3 : 4245) // Conversion from 'type1' to 'type2', signed / unsigned mismatch +#pragma warning(3 : 4310) // Cast truncates constant value +#pragma warning(3 : 4389) // Signed / unsigned mismatch +#pragma warning(3 : 4505) // Unreferenced local function has been removed +#pragma warning(3 : 4701) // Potentially unitialized local variable used +#pragma warning(3 : 4702) // Unreachable code +#pragma warning(3 : 4706) // Assignment within conditional expression - // Disabling this warning, because we know what we're doing when we're doing this: - #pragma warning(disable: 4355) // 'this' used in initializer list +// Disabling this warning, because we know what we're doing when we're doing this: +#pragma warning(disable : 4355) // 'this' used in initializer list - // Disabled because it's useless: - #pragma warning(disable: 4512) // 'class': assignment operator could not be generated - reported for each class that has a reference-type member +// Disabled because it's useless: +#pragma warning(disable : 4512 \ +) // 'class': assignment operator could not be generated - reported for each class that has a reference-type member - // 2014_01_06 xoft: Disabled this warning because MSVC is stupid and reports it in obviously wrong places - // #pragma warning(3 : 4244) // Conversion from 'type1' to 'type2', possible loss of data +// 2014_01_06 xoft: Disabled this warning because MSVC is stupid and reports it in obviously wrong places +// #pragma warning(3 : 4244) // Conversion from 'type1' to 'type2', possible loss of data - #define FORMATSTRING(formatIndex, va_argsIndex) +#define FORMATSTRING(formatIndex, va_argsIndex) #elif defined(__GNUC__) - // TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? - #define abstract +// TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? +#define abstract - #define FORMATSTRING(formatIndex, va_argsIndex) __attribute__((format (printf, formatIndex, va_argsIndex))) +#define FORMATSTRING(formatIndex, va_argsIndex) __attribute__((format(printf, formatIndex, va_argsIndex))) #else - #error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" +#error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" #endif @@ -53,22 +54,20 @@ // Integral types with predefined sizes: typedef long long Int64; -typedef int Int32; -typedef short Int16; +typedef int Int32; +typedef short Int16; typedef unsigned long long UInt64; -typedef unsigned int UInt32; -typedef unsigned short UInt16; +typedef unsigned int UInt32; +typedef unsigned short UInt16; typedef unsigned char Byte; // If you get an error about specialization check the size of integral types -template -class SizeChecker; +template class SizeChecker; -template -class SizeChecker +template class SizeChecker { T v; }; @@ -84,19 +83,19 @@ template class SizeChecker; // A macro to disallow the copy constructor and operator = functions // This should be used in the private: declarations for any class that shouldn't allow copying itself #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName &); \ - void operator =(const TypeName &) + TypeName(const TypeName &); \ + void operator=(const TypeName &) // A macro that is used to mark unused local variables, to avoid pedantic warnings in gcc / clang / MSVC // Note that in MSVC it requires the full type of X to be known -#define UNUSED_VAR(X) (void)(X) +#define UNUSED_VAR(X) (void) (X) // A macro that is used to mark unused function parameters, to avoid pedantic warnings in gcc // Written so that the full type of param needn't be known #ifdef _MSC_VER - #define UNUSED(X) +#define UNUSED(X) #else - #define UNUSED UNUSED_VAR +#define UNUSED UNUSED_VAR #endif @@ -104,38 +103,40 @@ template class SizeChecker; // OS-dependent stuff: #ifdef _WIN32 - #define WIN32_LEAN_AND_MEAN - #define _WIN32_WINNT _WIN32_WINNT_WS03 // We want to target Windows XP with Service Pack 2 & Windows Server 2003 with Service Pack 1 and higher - - #include - #include - #include // IPv6 stuff - - // Windows SDK defines min and max macros, messing up with our std::min and std::max usage - #undef min - #undef max - - // Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant - #ifdef GetFreeSpace - #undef GetFreeSpace - #endif // GetFreeSpace +#define WIN32_LEAN_AND_MEAN +#define _WIN32_WINNT \ + _WIN32_WINNT_WS03 // We want to target Windows XP with Service Pack 2 & Windows Server 2003 with Service Pack 1 and + // higher + +#include +#include +#include // IPv6 stuff + +// Windows SDK defines min and max macros, messing up with our std::min and std::max usage +#undef min +#undef max + +// Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant +#ifdef GetFreeSpace +#undef GetFreeSpace +#endif // GetFreeSpace #else - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #endif @@ -168,15 +169,15 @@ template class SizeChecker; #ifndef TEST_GLOBALS - // Common headers (part 1, without macros): - #include "src/StringUtils.h" - #include "src/OSSupport/CriticalSection.h" - #include "src/OSSupport/Semaphore.h" - #include "src/OSSupport/Event.h" - #include "src/OSSupport/File.h" - #include "src/Logger.h" +// Common headers (part 1, without macros): +#include "src/StringUtils.h" +#include "src/OSSupport/CriticalSection.h" +#include "src/OSSupport/Semaphore.h" +#include "src/OSSupport/Event.h" +#include "src/OSSupport/File.h" +#include "src/Logger.h" #else - // Logging functions +// Logging functions void inline LOGERROR(const char * a_Format, ...) FORMATSTRING(1, 2); void inline LOGERROR(const char * a_Format, ...) @@ -199,55 +200,86 @@ void inline LOGERROR(const char * a_Format, ...) /** Allows arithmetic expressions like "32 KiB" (but consider using parenthesis around it, "(32 KiB)") */ -#define KiB * 1024 -#define MiB * 1024 * 1024 +#define KiB *1024 +#define MiB *1024 * 1024 /** Faster than (int)floorf((float)x / (float)div) */ -#define FAST_FLOOR_DIV( x, div) (((x) - (((x) < 0) ? ((div) - 1) : 0)) / (div)) +#define FAST_FLOOR_DIV(x, div) (((x) - (((x) < 0) ? ((div) - 1) : 0)) / (div)) // Own version of assert() that writes failed assertions to the log for review #ifdef TEST_GLOBALS - class cAssertFailure - { - }; - - #ifdef _WIN32 - #if (defined(_MSC_VER) && defined(_DEBUG)) - #define DBG_BREAK _CrtDbgBreak() - #else - #define DBG_BREAK - #endif - #define REPORT_ERROR(FMT, ...) \ - { \ - AString msg = Printf(FMT, __VA_ARGS__); \ - puts(msg.c_str()); \ - fflush(stdout); \ - OutputDebugStringA(msg.c_str()); \ - DBG_BREAK; \ - } - #else - #define REPORT_ERROR(FMT, ...) \ - { \ - AString msg = Printf(FMT, __VA_ARGS__); \ - puts(msg.c_str()); \ - fflush(stdout); \ - } - #endif - #define ASSERT(x) do { if (!(x)) { throw cAssertFailure();} } while (0) - #define testassert(x) do { if (!(x)) { REPORT_ERROR("Test failure: %s, file %s, line %d\n", #x, __FILE__, __LINE__); exit(1); } } while (0) - #define CheckAsserts(x) do { try {x} catch (cAssertFailure) { break; } REPORT_ERROR("Test failure: assert didn't fire for %s, file %s, line %d\n", #x, __FILE__, __LINE__); exit(1); } while (0) +class cAssertFailure +{ +}; +#ifdef _WIN32 +#if (defined(_MSC_VER) && defined(_DEBUG)) +#define DBG_BREAK _CrtDbgBreak() #else - #ifdef _DEBUG - #define ASSERT( x) ( !!(x) || ( LOGERROR("Assertion failed: %s, file %s, line %i", #x, __FILE__, __LINE__), assert(0), 0)) - #else - #define ASSERT(x) ((void)(x)) - #endif +#define DBG_BREAK +#endif +#define REPORT_ERROR(FMT, ...) \ + { \ + AString msg = Printf(FMT, __VA_ARGS__); \ + puts(msg.c_str()); \ + fflush(stdout); \ + OutputDebugStringA(msg.c_str()); \ + DBG_BREAK; \ + } +#else +#define REPORT_ERROR(FMT, ...) \ + { \ + AString msg = Printf(FMT, __VA_ARGS__); \ + puts(msg.c_str()); \ + fflush(stdout); \ + } +#endif +#define ASSERT(x) \ + do \ + { \ + if (!(x)) \ + { \ + throw cAssertFailure(); \ + } \ + } \ + while (0) +#define testassert(x) \ + do \ + { \ + if (!(x)) \ + { \ + REPORT_ERROR("Test failure: %s, file %s, line %d\n", #x, __FILE__, __LINE__); \ + exit(1); \ + } \ + } \ + while (0) +#define CheckAsserts(x) \ + do \ + { \ + try \ + { \ + x \ + } \ + catch (cAssertFailure) \ + { \ + break; \ + } \ + REPORT_ERROR("Test failure: assert didn't fire for %s, file %s, line %d\n", #x, __FILE__, __LINE__); \ + exit(1); \ + } \ + while (0) + +#else +#ifdef _DEBUG +#define ASSERT(x) (!!(x) || (LOGERROR("Assertion failed: %s, file %s, line %i", #x, __FILE__, __LINE__), assert(0), 0)) +#else +#define ASSERT(x) ((void) (x)) +#endif #endif // Pretty much the same as ASSERT() but stays in Release builds -#define VERIFY( x) ( !!(x) || ( LOGERROR("Verification failed: %s, file %s, line %i", #x, __FILE__, __LINE__), exit(1), 0)) +#define VERIFY(x) (!!(x) || (LOGERROR("Verification failed: %s, file %s, line %i", #x, __FILE__, __LINE__), exit(1), 0)) // C++11 has std::shared_ptr in , included earlier #define SharedPtr std::shared_ptr @@ -256,8 +288,7 @@ around it, "(32 KiB)") */ /** Clamp X to the specified range. */ -template -T Clamp(T a_Value, T a_Min, T a_Max) +template T Clamp(T a_Value, T a_Min, T a_Max) { return (a_Value < a_Min) ? a_Min : ((a_Value > a_Max) ? a_Max : a_Value); } @@ -267,7 +298,7 @@ T Clamp(T a_Value, T a_Min, T a_Max) #ifndef TOLUA_TEMPLATE_BIND - #define TOLUA_TEMPLATE_BIND(x) +#define TOLUA_TEMPLATE_BIND(x) #endif diff --git a/Tools/QtBiomeVisualiser/MainWindow.cpp b/Tools/QtBiomeVisualiser/MainWindow.cpp index 8d5b768d8..6aa1b84a9 100644 --- a/Tools/QtBiomeVisualiser/MainWindow.cpp +++ b/Tools/QtBiomeVisualiser/MainWindow.cpp @@ -20,9 +20,17 @@ -const double MainWindow::m_ViewZooms[] = -{ - 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 24, +const double MainWindow::m_ViewZooms[] = { + 0.0625, + 0.125, + 0.25, + 0.5, + 1, + 2, + 4, + 8, + 16, + 24, }; @@ -30,18 +38,15 @@ const double MainWindow::m_ViewZooms[] = MainWindow::MainWindow(QWidget * parent) : - QMainWindow(parent), - m_GeneratorSetup(nullptr), - m_LineSeparator(nullptr), - m_CurrentZoomLevel(2) + QMainWindow(parent), m_GeneratorSetup(nullptr), m_LineSeparator(nullptr), m_CurrentZoomLevel(2) { initMinecraftPath(); m_BiomeView = new BiomeView(); connect(m_BiomeView, SIGNAL(increaseZoom()), this, SLOT(increaseZoom())); connect(m_BiomeView, SIGNAL(decreaseZoom()), this, SLOT(decreaseZoom())); - connect(m_BiomeView, SIGNAL(wheelUp()), this, SLOT(increaseZoom())); - connect(m_BiomeView, SIGNAL(wheelDown()), this, SLOT(decreaseZoom())); + connect(m_BiomeView, SIGNAL(wheelUp()), this, SLOT(increaseZoom())); + connect(m_BiomeView, SIGNAL(wheelDown()), this, SLOT(decreaseZoom())); m_BiomeView->setZoomLevel(m_ViewZooms[m_CurrentZoomLevel]); m_StatusBar = new QStatusBar(); @@ -225,7 +230,7 @@ void MainWindow::hoverChanged(int a_BlockX, int a_BlockZ, int a_Biome) { m_StatusBlockX->setText(tr("X: %1").arg(a_BlockX)); m_StatusBlockZ->setText(tr("Z: %1").arg(a_BlockZ)); - m_StatusBiome->setText (tr("B: %1 (%2)").arg(BiomeToString(a_Biome).c_str()).arg(a_Biome)); + m_StatusBiome->setText(tr("B: %1 (%2)").arg(BiomeToString(a_Biome).c_str()).arg(a_Biome)); } @@ -234,14 +239,14 @@ void MainWindow::hoverChanged(int a_BlockX, int a_BlockZ, int a_Biome) void MainWindow::initMinecraftPath() { - #ifdef Q_OS_MAC - m_MinecraftPath = QDir::homePath() + QDir::toNativeSeparators("/Library/Application Support/minecraft"); - #elif defined Q_OS_WIN32 - QSettings ini(QSettings::IniFormat, QSettings::UserScope, ".minecraft", "minecraft1"); - m_MinecraftPath = QFileInfo(ini.fileName()).absolutePath(); - #else - m_MinecraftPath = QDir::homePath() + QDir::toNativeSeparators("/.minecraft"); - #endif +#ifdef Q_OS_MAC + m_MinecraftPath = QDir::homePath() + QDir::toNativeSeparators("/Library/Application Support/minecraft"); +#elif defined Q_OS_WIN32 + QSettings ini(QSettings::IniFormat, QSettings::UserScope, ".minecraft", "minecraft1"); + m_MinecraftPath = QFileInfo(ini.fileName()).absolutePath(); +#else + m_MinecraftPath = QDir::homePath() + QDir::toNativeSeparators("/.minecraft"); +#endif } @@ -434,7 +439,3 @@ void MainWindow::closeGeneratorSetup() m_GeneratorSetup = nullptr; m_LineSeparator = nullptr; } - - - - diff --git a/Tools/QtBiomeVisualiser/MainWindow.h b/Tools/QtBiomeVisualiser/MainWindow.h index 27faae7a8..230e3ba38 100644 --- a/Tools/QtBiomeVisualiser/MainWindow.h +++ b/Tools/QtBiomeVisualiser/MainWindow.h @@ -18,16 +18,15 @@ class GeneratorSetup; -class MainWindow : - public QMainWindow +class MainWindow : public QMainWindow { Q_OBJECT -public: + public: MainWindow(QWidget * parent = nullptr); ~MainWindow(); -private slots: + private slots: /** Creates a generator definition from scratch, lets user modify generator params in realtime. */ void newGenerator(); @@ -55,7 +54,7 @@ private slots: /** Updates the statusbar for the specified info about the current block under the cursor. */ void hoverChanged(int a_BlockX, int a_BlockZ, int a_Biome); -protected: + protected: /** The zoom levels */ static const double m_ViewZooms[10]; @@ -119,9 +118,3 @@ protected: /** Closes and destroys the generator setup pane, if there is one. */ void closeGeneratorSetup(); }; - - - - - - diff --git a/Tools/QtBiomeVisualiser/QtBiomeVisualiser.cpp b/Tools/QtBiomeVisualiser/QtBiomeVisualiser.cpp index f41cdcfb2..4f7fe73ff 100644 --- a/Tools/QtBiomeVisualiser/QtBiomeVisualiser.cpp +++ b/Tools/QtBiomeVisualiser/QtBiomeVisualiser.cpp @@ -6,7 +6,7 @@ -int main(int argc, char *argv[]) +int main(int argc, char * argv[]) { QApplication a(argc, argv); MainWindow w; @@ -14,7 +14,3 @@ int main(int argc, char *argv[]) return a.exec(); } - - - - diff --git a/Tools/QtBiomeVisualiser/QtChunk.cpp b/Tools/QtBiomeVisualiser/QtChunk.cpp index f201ef220..c458452ab 100644 --- a/Tools/QtBiomeVisualiser/QtChunk.cpp +++ b/Tools/QtBiomeVisualiser/QtChunk.cpp @@ -35,7 +35,3 @@ EMCSBiome Chunk::getBiome(int a_RelX, int a_RelZ) } return static_cast(m_Biomes[a_RelX + 16 * a_RelZ]); } - - - - diff --git a/Tools/QtBiomeVisualiser/QtChunk.h b/Tools/QtBiomeVisualiser/QtChunk.h index d806d18bb..b43ab748f 100644 --- a/Tools/QtBiomeVisualiser/QtChunk.h +++ b/Tools/QtBiomeVisualiser/QtChunk.h @@ -8,7 +8,7 @@ class Chunk { -public: + public: /** The type used for storing image data for a chunk. */ typedef uchar Image[16 * 16 * 4]; @@ -28,7 +28,7 @@ public: /** Returns the raw biome data for this chunk. */ const short * getBiomes(void) const { return m_Biomes; } -protected: + protected: /** Flag that specifies if the chunk data is valid - loaded or generated. */ bool m_IsValid; @@ -38,8 +38,3 @@ protected: }; typedef std::shared_ptr ChunkPtr; - - - - - diff --git a/Tools/QtBiomeVisualiser/Region.cpp b/Tools/QtBiomeVisualiser/Region.cpp index d8a0a2f76..b8fdc00db 100644 --- a/Tools/QtBiomeVisualiser/Region.cpp +++ b/Tools/QtBiomeVisualiser/Region.cpp @@ -6,9 +6,7 @@ -Region::Region() -{ -} +Region::Region() {} @@ -16,12 +14,12 @@ Region::Region() Chunk & Region::getRelChunk(int a_RelChunkX, int a_RelChunkZ) { - ASSERT(a_RelChunkX >= 0); - ASSERT(a_RelChunkZ >= 0); - ASSERT(a_RelChunkX < 32); - ASSERT(a_RelChunkZ < 32); + ASSERT(a_RelChunkX >= 0); + ASSERT(a_RelChunkZ >= 0); + ASSERT(a_RelChunkX < 32); + ASSERT(a_RelChunkZ < 32); - return m_Chunks[a_RelChunkX + a_RelChunkZ * 32]; + return m_Chunks[a_RelChunkX + a_RelChunkZ * 32]; } @@ -66,7 +64,3 @@ void Region::chunkToRegion(int a_ChunkX, int a_ChunkZ, int & a_RegionX, int & a_ a_RegionX = static_cast(std::floor(static_cast(a_ChunkX) / 32)); a_RegionZ = static_cast(std::floor(static_cast(a_ChunkZ) / 32)); } - - - - diff --git a/Tools/QtBiomeVisualiser/Region.h b/Tools/QtBiomeVisualiser/Region.h index 863c0ac02..1b3713aa7 100644 --- a/Tools/QtBiomeVisualiser/Region.h +++ b/Tools/QtBiomeVisualiser/Region.h @@ -8,7 +8,7 @@ class Region { -public: + public: Region(); /** Retrieves the chunk with the specified relative coords. */ @@ -29,7 +29,7 @@ public: /** Converts chunk coordinates into region coordinates. */ static void chunkToRegion(int a_ChunkX, int a_ChunkZ, int & a_RegionX, int & a_RegionZ); -protected: + protected: friend class RegionLoader; @@ -40,7 +40,3 @@ protected: be displayed. */ bool m_IsValid; }; - - - - diff --git a/Tools/QtBiomeVisualiser/RegionCache.cpp b/Tools/QtBiomeVisualiser/RegionCache.cpp index e46fd222a..f779bd42f 100644 --- a/Tools/QtBiomeVisualiser/RegionCache.cpp +++ b/Tools/QtBiomeVisualiser/RegionCache.cpp @@ -132,7 +132,3 @@ void RegionCache::queueRegionRender(int a_RegionX, int a_RegionZ, RegionPtr & a_ QThreadPool::globalInstance()->start(loader); } - - - - diff --git a/Tools/QtBiomeVisualiser/RegionCache.h b/Tools/QtBiomeVisualiser/RegionCache.h index c343e4ba9..fb76b93f0 100644 --- a/Tools/QtBiomeVisualiser/RegionCache.h +++ b/Tools/QtBiomeVisualiser/RegionCache.h @@ -20,13 +20,12 @@ class ChunkSource; /** Caches regions' chunk data for reuse */ -class RegionCache : - public QObject +class RegionCache : public QObject { typedef QObject super; Q_OBJECT -public: + public: explicit RegionCache(QObject * parent = NULL); /** Retrieves the specified region from the cache. @@ -43,13 +42,13 @@ public: /** Reloads the current chunk source. */ void reload(); -signals: + signals: void regionAvailable(int a_RegionX, int a_RegionZ); -protected slots: + protected slots: void gotRegion(int a_RegionX, int a_RegionZ); -protected: + protected: /** The cache of the chunks */ QCache m_Cache; @@ -66,8 +65,3 @@ protected: /** Queues the specified region for rendering by m_RegionSource. */ void queueRegionRender(int a_RegionX, int a_RegionZ, RegionPtr & a_Region); }; - - - - - diff --git a/Tools/QtBiomeVisualiser/RegionLoader.cpp b/Tools/QtBiomeVisualiser/RegionLoader.cpp index 2a318098b..6cd00487f 100644 --- a/Tools/QtBiomeVisualiser/RegionLoader.cpp +++ b/Tools/QtBiomeVisualiser/RegionLoader.cpp @@ -14,10 +14,7 @@ volatile bool RegionLoader::m_IsShuttingDown = false; RegionLoader::RegionLoader(int a_RegionX, int a_RegionZ, RegionPtr a_Region, ChunkSourcePtr a_ChunkSource) : - m_RegionX(a_RegionX), - m_RegionZ(a_RegionZ), - m_Region(a_Region), - m_ChunkSource(a_ChunkSource) + m_RegionX(a_RegionX), m_RegionZ(a_RegionZ), m_Region(a_Region), m_ChunkSource(a_ChunkSource) { } @@ -43,7 +40,3 @@ void RegionLoader::run() emit loaded(m_RegionX, m_RegionZ); } - - - - diff --git a/Tools/QtBiomeVisualiser/RegionLoader.h b/Tools/QtBiomeVisualiser/RegionLoader.h index 6bbb4aa60..935fbdcd9 100644 --- a/Tools/QtBiomeVisualiser/RegionLoader.h +++ b/Tools/QtBiomeVisualiser/RegionLoader.h @@ -18,26 +18,25 @@ typedef std::shared_ptr ChunkSourcePtr; -class RegionLoader : - public QObject, - public QRunnable +class RegionLoader : public QObject, + public QRunnable { Q_OBJECT -public: + public: RegionLoader(int a_RegionX, int a_RegionZ, RegionPtr a_Region, ChunkSourcePtr a_ChunkSource); virtual ~RegionLoader() {} /** Signals to all loaders that the app is shutting down and the loading should be aborted. */ static void shutdown() { m_IsShuttingDown = true; } -signals: + signals: void loaded(int a_RegionX, int a_RegionZ); -protected: + protected: virtual void run() override; -private: + private: /** Coords of the region to be loaded. */ int m_RegionX, m_RegionZ; @@ -50,7 +49,3 @@ private: /** Flag that is set upon app exit to terminate the queued loaders faster. */ static volatile bool m_IsShuttingDown; }; - - - - diff --git a/Tools/RCONClient/Globals.cpp b/Tools/RCONClient/Globals.cpp index 13c6ae709..680afbf75 100644 --- a/Tools/RCONClient/Globals.cpp +++ b/Tools/RCONClient/Globals.cpp @@ -4,7 +4,3 @@ // This file is used for precompiled header generation in MSVC environments #include "Globals.h" - - - - diff --git a/Tools/RCONClient/Globals.h b/Tools/RCONClient/Globals.h index 661918063..d19f235c7 100644 --- a/Tools/RCONClient/Globals.h +++ b/Tools/RCONClient/Globals.h @@ -10,23 +10,23 @@ // Compiler-dependent stuff: #if defined(_MSC_VER) - // MSVC produces warning C4481 on the override keyword usage, so disable the warning altogether - #pragma warning(disable:4481) +// MSVC produces warning C4481 on the override keyword usage, so disable the warning altogether +#pragma warning(disable : 4481) - // Disable some warnings that we don't care about: - #pragma warning(disable:4100) +// Disable some warnings that we don't care about: +#pragma warning(disable : 4100) - // Use non-standard defines in - #define _USE_MATH_DEFINES +// Use non-standard defines in +#define _USE_MATH_DEFINES #elif defined(__GNUC__) - // TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? - #define abstract +// TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? +#define abstract #else - #error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" +#error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" #endif @@ -36,12 +36,12 @@ // Integral types with predefined sizes: typedef long long Int64; -typedef int Int32; -typedef short Int16; +typedef int Int32; +typedef short Int16; typedef unsigned long long UInt64; -typedef unsigned int UInt32; -typedef unsigned short UInt16; +typedef unsigned int UInt32; +typedef unsigned short UInt16; typedef unsigned char Byte; @@ -52,52 +52,52 @@ typedef unsigned char Byte; // A macro to disallow the copy constructor and operator= functions // This should be used in the private: declarations for any class that shouldn't allow copying itself #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName &); \ + TypeName(const TypeName &); \ void operator=(const TypeName &) // A macro that is used to mark unused function parameters, to avoid pedantic warnings in gcc -#define UNUSED(X) (void)(X) +#define UNUSED(X) (void) (X) // OS-dependent stuff: #ifdef _WIN32 - #define WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN - #define _WIN32_WINNT 0x502 // We want to target WinXP SP2 and higher +#define _WIN32_WINNT 0x502 // We want to target WinXP SP2 and higher - #include - #include - #include // IPv6 stuff +#include +#include +#include // IPv6 stuff - // Windows SDK defines min and max macros, messing up with our std::min and std::max usage - #undef min - #undef max +// Windows SDK defines min and max macros, messing up with our std::min and std::max usage +#undef min +#undef max - // Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant - #ifdef GetFreeSpace - #undef GetFreeSpace - #endif // GetFreeSpace +// Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant +#ifdef GetFreeSpace +#undef GetFreeSpace +#endif // GetFreeSpace #else - #include - #include // for mkdir - #include - #include - #include - #include - #include - #include - #include - #include - #include - - #include - #include - #include - #include - #include - #include +#include +#include // for mkdir +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include #endif @@ -146,16 +146,16 @@ typedef unsigned char Byte; #define ARRAYCOUNT(X) (sizeof(X) / sizeof(*(X))) /** Allows arithmetic expressions like "32 KiB" (but consider using parenthesis around it, "(32 KiB)") */ -#define KiB * 1024 +#define KiB *1024 /** Faster than (int)floorf((float)x / (float)div) */ -#define FAST_FLOOR_DIV(x, div) ((x) < 0 ? (((int)x / div) - 1) : ((int)x / div)) +#define FAST_FLOOR_DIV(x, div) ((x) < 0 ? (((int) x / div) - 1) : ((int) x / div)) // Own version of assert() that writes failed assertions to the log for review -#ifdef NDEBUG - #define ASSERT(x) ((void)0) +#ifdef NDEBUG +#define ASSERT(x) ((void) 0) #else - #define ASSERT assert +#define ASSERT assert #endif // Pretty much the same as ASSERT() but stays in Release builds diff --git a/Tools/RCONClient/RCONClient.cpp b/Tools/RCONClient/RCONClient.cpp index f9fd0b2e2..99f44365f 100644 --- a/Tools/RCONClient/RCONClient.cpp +++ b/Tools/RCONClient/RCONClient.cpp @@ -21,12 +21,12 @@ bool g_IsVerbose = false; /** This class can read and write RCON packets to / from a connected socket */ class cRCONPacketizer { -public: + public: enum { ptCommand = 2, ptLogin = 3, - } ; + }; cRCONPacketizer(cSocket & a_Socket); @@ -35,7 +35,7 @@ public: Dumps the reply payload to stdout. */ bool SendPacket(int a_PacketType, const AString & a_PacketPayload); -protected: + protected: /** The socket to use for reading incoming data and writing outgoing data: */ cSocket & m_Socket; @@ -51,15 +51,14 @@ protected: Assumes that the packet length has already been read from the packet If the packet is successfully parsed, increments m_RequestID */ bool ParsePacket(cByteBuffer & a_Buffer, int a_PacketLength); -} ; +}; cRCONPacketizer::cRCONPacketizer(cSocket & a_Socket) : - m_Socket(a_Socket), - m_RequestID(0) + m_Socket(a_Socket), m_RequestID(0) { } @@ -78,17 +77,23 @@ bool cRCONPacketizer::SendPacket(int a_PacketType, const AString & a_PacketPaylo AString Packet; bb.ReadAll(Packet); size_t Length = Packet.size(); - if (!m_Socket.Send((const char *)&Length, 4)) + if (!m_Socket.Send((const char *) &Length, 4)) { - fprintf(stderr, "Network error while sending packet: %d (%s). Aborting.\n", - cSocket::GetLastError(), cSocket::GetLastErrorString().c_str() + fprintf( + stderr, + "Network error while sending packet: %d (%s). Aborting.\n", + cSocket::GetLastError(), + cSocket::GetLastErrorString().c_str() ); return false; } if (!m_Socket.Send(Packet.data(), Packet.size())) { - fprintf(stderr, "Network error while sending packet: %d (%s). Aborting.\n", - cSocket::GetLastError(), cSocket::GetLastErrorString().c_str() + fprintf( + stderr, + "Network error while sending packet: %d (%s). Aborting.\n", + cSocket::GetLastError(), + cSocket::GetLastErrorString().c_str() ); return false; } @@ -115,8 +120,12 @@ bool cRCONPacketizer::ReceiveResponse(void) } if (NumReceived < 0) { - fprintf(stderr, "Network error while receiving response: %d, %d (%s). Aborting.\n", - NumReceived, cSocket::GetLastError(), cSocket::GetLastErrorString().c_str() + fprintf( + stderr, + "Network error while receiving response: %d, %d (%s). Aborting.\n", + NumReceived, + cSocket::GetLastError(), + cSocket::GetLastErrorString().c_str() ); return false; } @@ -162,7 +171,12 @@ bool cRCONPacketizer::ParsePacket(cByteBuffer & a_Buffer, int a_PacketLength) } else { - fprintf(stderr, "The server returned an invalid request ID, got %d, exp. %d. Aborting.\n", RequestID, m_RequestID); + fprintf( + stderr, + "The server returned an invalid request ID, got %d, exp. %d. Aborting.\n", + RequestID, + m_RequestID + ); return false; } } @@ -226,7 +240,9 @@ int RealMain(int argc, char * argv[]) i++; continue; } - if (((NoCaseCompare(argv[i], "-c") == 0) || (NoCaseCompare(argv[i], "--cmd") == 0) || (NoCaseCompare(argv[i], "--command") == 0)) && (i < argc - 1)) + if (((NoCaseCompare(argv[i], "-c") == 0) || (NoCaseCompare(argv[i], "--cmd") == 0) || + (NoCaseCompare(argv[i], "--command") == 0)) && + (i < argc - 1)) { Commands.push_back(argv[i + 1]); i++; @@ -258,7 +274,10 @@ int RealMain(int argc, char * argv[]) if (ServerAddress.empty() || (ServerPort < 0)) { - fprintf(stderr, "Server address or port not set. Use the --server and --port parameters to set them. Aborting."); + fprintf( + stderr, + "Server address or port not set. Use the --server and --port parameters to set them. Aborting." + ); return 1; } @@ -273,9 +292,15 @@ int RealMain(int argc, char * argv[]) fprintf(stderr, "Connecting to \"%s:%d\"...\n", ServerAddress.c_str(), ServerPort); } cSocket s = cSocket::CreateSocket(cSocket::IPv4); - if (!s.ConnectIPv4(ServerAddress, (unsigned short)ServerPort)) + if (!s.ConnectIPv4(ServerAddress, (unsigned short) ServerPort)) { - fprintf(stderr, "Cannot connect to \"%s:%d\": %s\n", ServerAddress.c_str(), ServerPort, cSocket::GetLastErrorString().c_str()); + fprintf( + stderr, + "Cannot connect to \"%s:%d\": %s\n", + ServerAddress.c_str(), + ServerPort, + cSocket::GetLastErrorString().c_str() + ); return 3; } cRCONPacketizer Packetizer(s); @@ -323,7 +348,8 @@ int RealMain(int argc, char * argv[]) int main(int argc, char * argv[]) { - // This redirection function is only so that debugging the program is easier in MSVC - when RealMain exits, it's still possible to place a breakpoint + // This redirection function is only so that debugging the program is easier in MSVC - when RealMain exits, it's + // still possible to place a breakpoint int res = RealMain(argc, argv); return res; } diff --git a/Tools/ToLuaDoxy/Globals.cpp b/Tools/ToLuaDoxy/Globals.cpp index d73265a60..6d1b25cbc 100644 --- a/Tools/ToLuaDoxy/Globals.cpp +++ b/Tools/ToLuaDoxy/Globals.cpp @@ -4,7 +4,3 @@ // Used for precompiled header generation in MSVC #include "Globals.h" - - - - diff --git a/Tools/ToLuaDoxy/Globals.h b/Tools/ToLuaDoxy/Globals.h index 9dc94892a..5e366426d 100644 --- a/Tools/ToLuaDoxy/Globals.h +++ b/Tools/ToLuaDoxy/Globals.h @@ -8,41 +8,41 @@ // OS-dependent stuff: #ifdef _WIN32 - #define WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN - #define _WIN32_WINNT 0x501 // We want to target WinXP and higher +#define _WIN32_WINNT 0x501 // We want to target WinXP and higher - #include - #include - #include // IPv6 stuff +#include +#include +#include // IPv6 stuff - // Windows SDK defines min and max macros, messing up with our std::min and std::max usage - #undef min - #undef max +// Windows SDK defines min and max macros, messing up with our std::min and std::max usage +#undef min +#undef max - // Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant - #ifdef GetFreeSpace - #undef GetFreeSpace - #endif // GetFreeSpace +// Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant +#ifdef GetFreeSpace +#undef GetFreeSpace +#endif // GetFreeSpace #else - #include - #include // for mkdir - #include - #include - #include - #include - #include - #include - #include - #include - #include - - #include - #include - #include - #include - #include - #include +#include +#include // for mkdir +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include #endif @@ -87,7 +87,7 @@ #define ARRAYCOUNT(X) (sizeof(X) / sizeof(*(X))) /** Allows arithmetic expressions like "32 KiB" (but consider using parenthesis around it, "(32 KiB)") */ -#define KiB * 1024 -#define MiB * 1024 * 1024 +#define KiB *1024 +#define MiB *1024 * 1024 #define ASSERT assert diff --git a/Tools/ToLuaDoxy/ToLuaDoxy.cpp b/Tools/ToLuaDoxy/ToLuaDoxy.cpp index 2a54192a4..e1a864091 100644 --- a/Tools/ToLuaDoxy/ToLuaDoxy.cpp +++ b/Tools/ToLuaDoxy/ToLuaDoxy.cpp @@ -19,19 +19,14 @@ typedef std::vector AStrings; class cProcessor { -public: + public: cProcessor(const AString & a_FileOut) : - m_Out(a_FileOut.c_str(), std::ios::out), - m_IsInToLua(false), - m_IsInComment(false) + m_Out(a_FileOut.c_str(), std::ios::out), m_IsInToLua(false), m_IsInComment(false) { } - bool IsGood(void) const - { - return !m_Out.fail(); - } + bool IsGood(void) const { return !m_Out.fail(); } void ProcessFile(const AString & a_FileIn) @@ -50,11 +45,11 @@ public: } } -protected: + protected: std::ofstream m_Out; - bool m_IsInToLua; ///< Set to true if inside a tolua_begin .. tolua_end block - bool m_IsInComment; ///< Set to true if previous line has started a multiline comment; only outside tolua blocks - AString m_LastComment; ///< Accumulator for a multiline comment preceding a tolua block + bool m_IsInToLua; ///< Set to true if inside a tolua_begin .. tolua_end block + bool m_IsInComment; ///< Set to true if previous line has started a multiline comment; only outside tolua blocks + AString m_LastComment; ///< Accumulator for a multiline comment preceding a tolua block void PushLine(const AString & a_Line) @@ -129,7 +124,7 @@ protected: m_LastComment.clear(); } } -} ; +}; @@ -188,14 +183,14 @@ void ProcessCFile(const AString & a_CFileIn, const AString & a_CFileOut) int main(int argc, char * argv[]) { AString BaseDir = (argc > 1) ? argv[1] : "."; - AString OutDir = (argc > 2) ? argv[2] : "Out"; + AString OutDir = (argc > 2) ? argv[2] : "Out"; - // Create the output directory: - #ifdef _WIN32 +// Create the output directory: +#ifdef _WIN32 CreateDirectory(OutDir.c_str(), NULL); - #else +#else mkdir(OutDir.c_str(), S_IRWXU | S_IRWXG | S_IRWXO); - #endif +#endif // Parse the package file AStrings CFiles; diff --git a/src/Bindings/BlockState.cpp b/src/Bindings/BlockState.cpp index 8ee87c50f..7ee5535e7 100644 --- a/src/Bindings/BlockState.cpp +++ b/src/Bindings/BlockState.cpp @@ -5,7 +5,7 @@ -BlockState::BlockState(): +BlockState::BlockState() : mChecksum(initializeChecksum()) { // Nothing needed yet @@ -15,9 +15,8 @@ BlockState::BlockState(): -BlockState::BlockState(const AString & aKey, const AString & aValue): - mState({{aKey, aValue}}), - mChecksum(initializeChecksum()) +BlockState::BlockState(const AString & aKey, const AString & aValue) : + mState({{aKey, aValue}}), mChecksum(initializeChecksum()) { } @@ -25,9 +24,8 @@ BlockState::BlockState(const AString & aKey, const AString & aValue): -BlockState::BlockState(std::initializer_list> aKeysAndValues): - mState(aKeysAndValues), - mChecksum(initializeChecksum()) +BlockState::BlockState(std::initializer_list> aKeysAndValues) : + mState(aKeysAndValues), mChecksum(initializeChecksum()) { } @@ -35,9 +33,8 @@ BlockState::BlockState(std::initializer_list> -BlockState::BlockState(const std::map & aKeysAndValues): - mState(aKeysAndValues), - mChecksum(initializeChecksum()) +BlockState::BlockState(const std::map & aKeysAndValues) : + mState(aKeysAndValues), mChecksum(initializeChecksum()) { } @@ -45,9 +42,8 @@ BlockState::BlockState(const std::map & aKeysAndValues): -BlockState::BlockState(std::map && aKeysAndValues): - mState(std::move(aKeysAndValues)), - mChecksum(initializeChecksum()) +BlockState::BlockState(std::map && aKeysAndValues) : + mState(std::move(aKeysAndValues)), mChecksum(initializeChecksum()) { } @@ -55,10 +51,13 @@ BlockState::BlockState(std::map && aKeysAndValues): -BlockState::BlockState(const BlockState & aCopyFrom, std::initializer_list> aAdditionalKeysAndValues): +BlockState::BlockState( + const BlockState & aCopyFrom, + std::initializer_list> aAdditionalKeysAndValues +) : mState(aCopyFrom.mState) { - for (const auto & kav: aAdditionalKeysAndValues) + for (const auto & kav : aAdditionalKeysAndValues) { mState[kav.first] = kav.second; } @@ -69,10 +68,10 @@ BlockState::BlockState(const BlockState & aCopyFrom, std::initializer_list & aAdditionalKeysAndValues): +BlockState::BlockState(const BlockState & aCopyFrom, const std::map & aAdditionalKeysAndValues) : mState(aCopyFrom.mState) { - for (const auto & kav: aAdditionalKeysAndValues) + for (const auto & kav : aAdditionalKeysAndValues) { mState[kav.first] = kav.second; } @@ -83,7 +82,7 @@ BlockState::BlockState(const BlockState & aCopyFrom, const std::map(ch); v = v << shift; diff --git a/src/Bindings/BlockState.h b/src/Bindings/BlockState.h index ab451236b..48a970a9b 100644 --- a/src/Bindings/BlockState.h +++ b/src/Bindings/BlockState.h @@ -7,10 +7,10 @@ /** Represents the state of a single block (previously known as "block meta"). -The state consists of a map of string -> string, plus a mechanism for fast equality checks between two BlockState instances. -Once a BlockState instance is created, it is then immutable - there's no way of changing it, only by creating a (modified) copy. -A BlockState instance can be created from hard-coded data or from dynamic data: - BlockState bs({{"key1", "value1"}, {key2", "value2"}}); // Hard-coded +The state consists of a map of string -> string, plus a mechanism for fast equality checks between two BlockState +instances. Once a BlockState instance is created, it is then immutable - there's no way of changing it, only by creating +a (modified) copy. A BlockState instance can be created from hard-coded data or from dynamic data: BlockState +bs({{"key1", "value1"}, {key2", "value2"}}); // Hard-coded - or - std::map map({{"key1", "value1"}, {key2", "value2"}}); map["key3"] = "value3"; @@ -18,8 +18,7 @@ A BlockState instance can be created from hard-coded data or from dynamic data: */ class BlockState { -public: - + public: /** Creates a new instance with an empty map. */ BlockState(); @@ -41,36 +40,35 @@ public: BlockState(std::map && aKeysAndValues); /** Creates a copy of the specified BlockState with the (hard-coded) additional keys and values added to it. - Any key in aAdditionalKeysAndValues that is already present in aCopyFrom is overwritten with the aAdditionalKeysAndValues' one. - Any key with an empty value is not stored in the map. - (it's possible to erase a key from aCopyFrom by setting it to empty string in aAdditionalKeysAndValues). */ - BlockState(const BlockState & aCopyFrom, std::initializer_list> aAdditionalKeysAndValues); + Any key in aAdditionalKeysAndValues that is already present in aCopyFrom is overwritten with the + aAdditionalKeysAndValues' one. Any key with an empty value is not stored in the map. (it's possible to erase a key + from aCopyFrom by setting it to empty string in aAdditionalKeysAndValues). */ + BlockState( + const BlockState & aCopyFrom, + std::initializer_list> aAdditionalKeysAndValues + ); /** Creates a copy of the specified BlockState with the (dynamic) additional keys and values added to it. - Any key in aAdditionalKeysAndValues that is already present in aCopyFrom is overwritten with the aAdditionalKeysAndValues' one. - Any key with an empty value is not stored in the map. - (it's possible to erase a key from aCopyFrom by setting it to empty string in aAdditionalKeysAndValues). */ + Any key in aAdditionalKeysAndValues that is already present in aCopyFrom is overwritten with the + aAdditionalKeysAndValues' one. Any key with an empty value is not stored in the map. (it's possible to erase a key + from aCopyFrom by setting it to empty string in aAdditionalKeysAndValues). */ BlockState(const BlockState & aCopyFrom, const std::map & aAdditionalKeysAndValues); /** Less-than comparison. */ - bool operator <(const BlockState & aOther) const; + bool operator<(const BlockState & aOther) const; /** Fast equality check. */ - bool operator ==(const BlockState & aOther) const; + bool operator==(const BlockState & aOther) const; /** Fast inequality check. */ - bool operator !=(const BlockState & aOther) const - { - return !(operator ==(aOther)); - } + bool operator!=(const BlockState & aOther) const { return !(operator==(aOther)); } /** Returns the value at the specified key. If the key is not present, returns an empty string. */ const AString & value(const AString & aKey) const; -protected: - + protected: /** The state, represented as a string->string map. */ std::map mState; diff --git a/src/Bindings/BlockTypePalette.cpp b/src/Bindings/BlockTypePalette.cpp index d0fa99a21..e2829627b 100644 --- a/src/Bindings/BlockTypePalette.cpp +++ b/src/Bindings/BlockTypePalette.cpp @@ -31,7 +31,7 @@ static size_t findNextSeparator(const AString & aString, size_t aStartIdx = 0) -BlockTypePalette::BlockTypePalette(): +BlockTypePalette::BlockTypePalette() : mMaxIndex(0) { } @@ -59,7 +59,8 @@ UInt32 BlockTypePalette::index(const AString & aBlockTypeName, const BlockState -std::pair BlockTypePalette::maybeIndex(const AString & aBlockTypeName, const BlockState & aBlockState) const +std::pair BlockTypePalette::maybeIndex(const AString & aBlockTypeName, const BlockState & aBlockState) + const { auto itr1 = mBlockToNumber.find(aBlockTypeName); if (itr1 == mBlockToNumber.end()) @@ -104,7 +105,7 @@ const std::pair & BlockTypePalette::entry(UInt32 aIndex) co std::map BlockTypePalette::createTransformMapAddMissing(const BlockTypePalette & aFrom) { std::map res; - for (const auto & fromEntry: aFrom.mNumberToBlock) + for (const auto & fromEntry : aFrom.mNumberToBlock) { auto fromIndex = fromEntry.first; const auto & blockTypeName = fromEntry.second.first; @@ -118,10 +119,13 @@ std::map BlockTypePalette::createTransformMapAddMissing(const Bl -std::map BlockTypePalette::createTransformMapWithFallback(const BlockTypePalette & aFrom, UInt32 aFallbackIndex) const +std::map BlockTypePalette::createTransformMapWithFallback( + const BlockTypePalette & aFrom, + UInt32 aFallbackIndex +) const { std::map res; - for (const auto & fromEntry: aFrom.mNumberToBlock) + for (const auto & fromEntry : aFrom.mNumberToBlock) { auto fromIndex = fromEntry.first; const auto & blockTypeName = fromEntry.second.first; @@ -189,9 +193,10 @@ void BlockTypePalette::loadFromJsonString(const AString & aJsonPalette) const auto & states = (*itr)["states"]; if (states == Json::Value()) { - throw LoadFailedException(fmt::format(FMT_STRING("Missing \"states\" for block type \"{}\""), blockTypeName)); + throw LoadFailedException(fmt::format(FMT_STRING("Missing \"states\" for block type \"{}\""), blockTypeName) + ); } - for (const auto & state: states) + for (const auto & state : states) { auto id = static_cast(std::stoul(state["id"].asString())); std::map props; @@ -200,9 +205,13 @@ void BlockTypePalette::loadFromJsonString(const AString & aJsonPalette) const auto & properties = state["properties"]; if (!properties.isObject()) { - throw LoadFailedException(fmt::format(FMT_STRING("Member \"properties\" is not a JSON object (block type \"{}\", id {})."), blockTypeName, id)); + throw LoadFailedException(fmt::format( + FMT_STRING("Member \"properties\" is not a JSON object (block type \"{}\", id {})."), + blockTypeName, + id + )); } - for (const auto & key: properties.getMemberNames()) + for (const auto & key : properties.getMemberNames()) { props[key] = properties[key].asString(); } @@ -233,7 +242,7 @@ void BlockTypePalette::loadFromTsv(const AString & aTsvPalette, bool aIsUpgrade) { throw LoadFailedException("Unknown signature"); } - if (aTsvPalette[idx] == '\r') // CR of the CRLF pair, skip the LF: + if (aTsvPalette[idx] == '\r') // CR of the CRLF pair, skip the LF: { idx += 1; } @@ -277,7 +286,9 @@ void BlockTypePalette::loadFromTsv(const AString & aTsvPalette, bool aIsUpgrade) } else if (version != 1) { - throw LoadFailedException(fmt::format(FMT_STRING("Unknown FileVersion: {}. Only version 1 is supported."), version)); + throw LoadFailedException( + fmt::format(FMT_STRING("Unknown FileVersion: {}. Only version 1 is supported."), version) + ); } hasHadVersion = true; } @@ -348,7 +359,8 @@ void BlockTypePalette::loadFromTsv(const AString & aTsvPalette, bool aIsUpgrade) auto valueEnd = findNextSeparator(aTsvPalette, keyEnd + 1); if (valueEnd == AString::npos) { - throw LoadFailedException(fmt::format(FMT_STRING("Incomplete data on line {} (blockState value)"), line)); + throw LoadFailedException(fmt::format(FMT_STRING("Incomplete data on line {} (blockState value)"), line) + ); } auto key = aTsvPalette.substr(blockStateEnd + 1, keyEnd - blockStateEnd - 1); auto value = aTsvPalette.substr(keyEnd + 1, valueEnd - keyEnd - 1); diff --git a/src/Bindings/BlockTypePalette.h b/src/Bindings/BlockTypePalette.h index 1a41d3915..22ae49dd0 100644 --- a/src/Bindings/BlockTypePalette.h +++ b/src/Bindings/BlockTypePalette.h @@ -35,16 +35,14 @@ If a CommonPrefix header is present, its value is pre-pended to each blockTypeNa the file to be overall smaller). */ class BlockTypePalette { -public: - + public: /** Exception that is thrown if requiesting an index not present in the palette. */ - class NoSuchIndexException: - public std::runtime_error + class NoSuchIndexException : public std::runtime_error { using Super = std::runtime_error; - public: - NoSuchIndexException(UInt32 aIndex): + public: + NoSuchIndexException(UInt32 aIndex) : Super(fmt::format(FMT_STRING("No such palette index: {}"), aIndex)) { } @@ -52,13 +50,12 @@ public: /** Exception that is thrown when loading the palette fails hard (bad format). */ - class LoadFailedException: - public std::runtime_error + class LoadFailedException : public std::runtime_error { using Super = std::runtime_error; - public: - LoadFailedException(const AString & aReason): + public: + LoadFailedException(const AString & aReason) : Super(aReason) { } @@ -92,7 +89,8 @@ public: /** Returns an index-transform map from aFrom to this (this.entry(idx) == aFrom.entry(res[idx])). Entries from aFrom that are not present in this are assigned the fallback index. Used for protocol block type mapping. */ - std::map createTransformMapWithFallback(const BlockTypePalette & aFrom, UInt32 aFallbackIndex) const; + std::map createTransformMapWithFallback(const BlockTypePalette & aFrom, UInt32 aFallbackIndex) + const; /** Loads the palette from the string representation. Throws a LoadFailedException if the loading fails hard (bad string format); @@ -103,8 +101,7 @@ public: void loadFromString(const AString & aString); -protected: - + protected: /** The mapping from numeric to stringular representation. mNumberToBlock[index] = {"blockTypeName", blockState}. */ std::map> mNumberToBlock; diff --git a/src/Bindings/BlockTypeRegistry.cpp b/src/Bindings/BlockTypeRegistry.cpp index 62c3c580b..2e7076443 100644 --- a/src/Bindings/BlockTypeRegistry.cpp +++ b/src/Bindings/BlockTypeRegistry.cpp @@ -14,7 +14,7 @@ BlockInfo::BlockInfo( std::shared_ptr aHandler, const std::map & aHints, const std::map & aHintCallbacks -): +) : m_PluginName(aPluginName), m_BlockTypeName(aBlockTypeName), m_Handler(std::move(aHandler)), @@ -27,10 +27,7 @@ BlockInfo::BlockInfo( -AString BlockInfo::hintValue( - const AString & aHintName, - const BlockState & aBlockState -) +AString BlockInfo::hintValue(const AString & aHintName, const BlockState & aBlockState) { // Search the hint callbacks first: auto itrC = m_HintCallbacks.find(aHintName); @@ -64,8 +61,11 @@ void BlockInfo::setHint(const AString & aHintKey, const AString & aHintValue) auto itrC = m_HintCallbacks.find(aHintKey); if (itrC != m_HintCallbacks.end()) { - LOGINFO("Setting a static hint %s for block type %s, but there's already a callback for that hint. The static hint will be ignored.", - aHintKey.c_str(), m_BlockTypeName.c_str() + LOGINFO( + "Setting a static hint %s for block type %s, but there's already a callback for that hint. The static hint " + "will be ignored.", + aHintKey.c_str(), + m_BlockTypeName.c_str() ); } } @@ -94,9 +94,8 @@ void BlockTypeRegistry::registerBlockType( const std::map & aHintCallbacks ) { - auto blockInfo = std::make_shared( - aPluginName, aBlockTypeName, std::move(aHandler), aHints, aHintCallbacks - ); + auto blockInfo = + std::make_shared(aPluginName, aBlockTypeName, std::move(aHandler), aHints, aHintCallbacks); // Check previous registrations: cCSLock lock(m_CSRegistry); @@ -171,10 +170,7 @@ void BlockTypeRegistry::setBlockTypeHint( -void BlockTypeRegistry::removeBlockTypeHint( - const AString & aBlockTypeName, - const AString & aHintKey -) +void BlockTypeRegistry::removeBlockTypeHint(const AString & aBlockTypeName, const AString & aHintKey) { cCSLock lock(m_CSRegistry); auto blockInfo = m_Registry.find(aBlockTypeName); @@ -212,7 +208,8 @@ AString BlockTypeRegistry::AlreadyRegisteredException::message( ) { return fmt::format( - FMT_STRING("Attempting to register BlockTypeName {} from plugin {}, while it is already registered in plugin {}"), + FMT_STRING("Attempting to register BlockTypeName {} from plugin {}, while it is already registered in plugin {}" + ), aNewRegistration->blockTypeName(), aNewRegistration->pluginName(), aPreviousRegistration->pluginName() @@ -230,9 +227,10 @@ BlockTypeRegistry::NotRegisteredException::NotRegisteredException( const AString & aBlockTypeName, const AString & aHintKey, const AString & aHintValue -): +) : Super(fmt::format( - FMT_STRING("Attempting to set a hint of nonexistent BlockTypeName.\n\tBlockTypeName = {}\n\tHintKey = {}\n\tHintValue = {}"), + FMT_STRING("Attempting to set a hint of nonexistent BlockTypeName.\n\tBlockTypeName = {}\n\tHintKey = " + "{}\n\tHintValue = {}"), aBlockTypeName, aHintKey, aHintValue diff --git a/src/Bindings/BlockTypeRegistry.h b/src/Bindings/BlockTypeRegistry.h index 3a85ee510..c77eff1a2 100644 --- a/src/Bindings/BlockTypeRegistry.h +++ b/src/Bindings/BlockTypeRegistry.h @@ -23,8 +23,7 @@ class BlockState; The BlockTypeRegistry uses this structure to store the registered information. */ class BlockInfo { -public: - + public: /** Callback is used to query block hints dynamically, based on the current BlockState. Useful for example for redstone lamps that can be turned on or off. */ using HintCallback = std::function; @@ -44,10 +43,7 @@ public: /** Retrieves the value associated with the specified hint for this specific BlockTypeName and BlockState. Queries hint callbacks first, then static hints if a callback doesn't exist. Returns an empty string if hint not found at all. */ - AString hintValue( - const AString & aHintName, - const BlockState & aBlockState - ); + AString hintValue(const AString & aHintName, const BlockState & aBlockState); // Simple getters: const AString & pluginName() const { return m_PluginName; } @@ -55,8 +51,8 @@ public: std::shared_ptr handler() const { return m_Handler; } /** Sets (creates or updates) a static hint. - Hints provided by callbacks are unaffected by this - callbacks are "higher priority", they overwrite anything set here. - Logs an info message if the hint is already provided by a hint callback. */ + Hints provided by callbacks are unaffected by this - callbacks are "higher priority", they overwrite anything set + here. Logs an info message if the hint is already provided by a hint callback. */ void setHint(const AString & aHintKey, const AString & aHintValue); /** Removes a hint. @@ -64,8 +60,7 @@ public: void removeHint(const AString & aHintKey); -private: - + private: /** The name of the plugin that registered the block. */ AString m_PluginName; @@ -76,11 +71,13 @@ private: std::shared_ptr m_Handler; /** Optional static hints for any subsystem to use, such as "IsSnowable" -> "1". - Hint callbacks are of higher priority than m_Hints - if a hint is provided by a m_HintCallback, its value in m_Hints is ignored. */ + Hint callbacks are of higher priority than m_Hints - if a hint is provided by a m_HintCallback, its value in m_Hints + is ignored. */ std::map m_Hints; /** The callbacks for dynamic evaluation of hints, such as "LightValue" -> function(BlockTypeName, BlockState). - Hint callbacks are of higher priority than m_Hints - if a hint is provided by a m_HintCallback, its value in m_Hints is ignored. */ + Hint callbacks are of higher priority than m_Hints - if a hint is provided by a m_HintCallback, its value in m_Hints + is ignored. */ std::map m_HintCallbacks; }; @@ -96,7 +93,7 @@ Stores the name of the plugin that registered the type, for better plugin error and so that we can unload and reload plugins. */ class BlockTypeRegistry { -public: + public: // fwd: class AlreadyRegisteredException; class NotRegisteredException; @@ -125,23 +122,15 @@ public: /** Sets (adds or overwrites) a single Hint value for a BlockType. Throws NotRegisteredException if the BlockTypeName is not registered. */ - void setBlockTypeHint( - const AString & aBlockTypeName, - const AString & aHintKey, - const AString & aHintValue - ); + void setBlockTypeHint(const AString & aBlockTypeName, const AString & aHintKey, const AString & aHintValue); /** Removes a previously registered single Hint value for a BlockType. Throws NotRegisteredException if the BlockTypeName is not registered. Silently ignored if the Hint hasn't been previously set. */ - void removeBlockTypeHint( - const AString & aBlockTypeName, - const AString & aHintKey - ); + void removeBlockTypeHint(const AString & aBlockTypeName, const AString & aHintKey); -private: - + private: /** The actual block type registry. Maps the BlockTypeName to the BlockInfo instance. */ std::map> m_Registry; @@ -154,15 +143,15 @@ private: -/** The exception thrown from BlockTypeRegistry::registerBlockType() if the same block type is being registered from a different plugin. */ -class BlockTypeRegistry::AlreadyRegisteredException: public std::runtime_error +/** The exception thrown from BlockTypeRegistry::registerBlockType() if the same block type is being registered from a + * different plugin. */ +class BlockTypeRegistry::AlreadyRegisteredException : public std::runtime_error { using Super = std::runtime_error; -public: - - /** Creates a new instance of the exception that provides info on both the original registration and the newly attempted - registration that caused the failure. */ + public: + /** Creates a new instance of the exception that provides info on both the original registration and the newly + attempted registration that caused the failure. */ AlreadyRegisteredException( const std::shared_ptr & aPreviousRegistration, const std::shared_ptr & aNewRegistration @@ -170,11 +159,10 @@ public: // Simple getters: std::shared_ptr previousRegistration() const { return m_PreviousRegistration; } - std::shared_ptr newRegistration() const { return m_NewRegistration; } + std::shared_ptr newRegistration() const { return m_NewRegistration; } -private: - + private: std::shared_ptr m_PreviousRegistration; std::shared_ptr m_NewRegistration; @@ -192,25 +180,19 @@ private: /** The exception thrown from BlockTypeRegistry::setBlockTypeHint() if the block type has not been registered before. */ -class BlockTypeRegistry::NotRegisteredException: public std::runtime_error +class BlockTypeRegistry::NotRegisteredException : public std::runtime_error { using Super = std::runtime_error; -public: - - /** Creates a new instance of the exception that provides info on both the original registration and the newly attempted - registration that caused the failure. */ - NotRegisteredException( - const AString & aBlockTypeName, - const AString & aHintKey, - const AString & aHintValue - ); + public: + /** Creates a new instance of the exception that provides info on both the original registration and the newly + attempted registration that caused the failure. */ + NotRegisteredException(const AString & aBlockTypeName, const AString & aHintKey, const AString & aHintValue); // Simple getters: const AString & blockTypeName() const { return m_BlockTypeName; } -private: - + private: const AString m_BlockTypeName; }; diff --git a/src/Bindings/DeprecatedBindings.cpp b/src/Bindings/DeprecatedBindings.cpp index 783f308a7..4b9c3005f 100644 --- a/src/Bindings/DeprecatedBindings.cpp +++ b/src/Bindings/DeprecatedBindings.cpp @@ -4,8 +4,8 @@ #include "DeprecatedBindings.h" extern "C" { - #include "lua/src/lua.h" - #include "lua/src/lauxlib.h" +#include "lua/src/lua.h" +#include "lua/src/lauxlib.h" } #undef TOLUA_TEMPLATE_BIND #include "tolua++/include/tolua++.h" @@ -23,12 +23,12 @@ extern "C" /* get function: g_BlockLightValue */ #ifndef TOLUA_DISABLE_tolua_get_AllToLua_g_BlockLightValue -static int tolua_get_AllToLua_g_BlockLightValue(lua_State* tolua_S) +static int tolua_get_AllToLua_g_BlockLightValue(lua_State * tolua_S) { cLuaState LuaState(tolua_S); int BlockType = 0; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE { tolua_Error tolua_err; if (!tolua_isnumber(tolua_S, 2, 0, &tolua_err)) @@ -36,7 +36,7 @@ static int tolua_get_AllToLua_g_BlockLightValue(lua_State* tolua_S) tolua_error(tolua_S, "#vinvalid type in array indexing.", &tolua_err); } } - #endif +#endif LuaState.GetStackValue(2, BlockType); if ((BlockType < 0) || (BlockType > E_BLOCK_MAX_TYPE_ID)) { @@ -53,12 +53,12 @@ static int tolua_get_AllToLua_g_BlockLightValue(lua_State* tolua_S) /* get function: g_BlockSpreadLightFalloff */ #ifndef TOLUA_DISABLE_tolua_get_AllToLua_g_BlockSpreadLightFalloff -static int tolua_get_AllToLua_g_BlockSpreadLightFalloff(lua_State* tolua_S) +static int tolua_get_AllToLua_g_BlockSpreadLightFalloff(lua_State * tolua_S) { cLuaState LuaState(tolua_S); int BlockType = 0; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE { tolua_Error tolua_err; if (!tolua_isnumber(tolua_S, 2, 0, &tolua_err)) @@ -66,7 +66,7 @@ static int tolua_get_AllToLua_g_BlockSpreadLightFalloff(lua_State* tolua_S) tolua_error(tolua_S, "#vinvalid type in array indexing.", &tolua_err); } } - #endif +#endif LuaState.GetStackValue(2, BlockType); if ((BlockType < 0) || (BlockType > E_BLOCK_MAX_TYPE_ID)) { @@ -83,12 +83,12 @@ static int tolua_get_AllToLua_g_BlockSpreadLightFalloff(lua_State* tolua_S) /* get function: g_BlockTransparent */ #ifndef TOLUA_DISABLE_tolua_get_AllToLua_g_BlockTransparent -static int tolua_get_AllToLua_g_BlockTransparent(lua_State* tolua_S) +static int tolua_get_AllToLua_g_BlockTransparent(lua_State * tolua_S) { cLuaState LuaState(tolua_S); int BlockType = 0; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE { tolua_Error tolua_err; if (!tolua_isnumber(tolua_S, 2, 0, &tolua_err)) @@ -96,7 +96,7 @@ static int tolua_get_AllToLua_g_BlockTransparent(lua_State* tolua_S) tolua_error(tolua_S, "#vinvalid type in array indexing.", &tolua_err); } } - #endif +#endif LuaState.GetStackValue(2, BlockType); if ((BlockType < 0) || (BlockType > E_BLOCK_MAX_TYPE_ID)) { @@ -113,12 +113,12 @@ static int tolua_get_AllToLua_g_BlockTransparent(lua_State* tolua_S) /* get function: g_BlockOneHitDig */ #ifndef TOLUA_DISABLE_tolua_get_AllToLua_g_BlockOneHitDig -static int tolua_get_AllToLua_g_BlockOneHitDig(lua_State* tolua_S) +static int tolua_get_AllToLua_g_BlockOneHitDig(lua_State * tolua_S) { cLuaState LuaState(tolua_S); int BlockType = 0; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE { tolua_Error tolua_err; if (!tolua_isnumber(tolua_S, 2, 0, &tolua_err)) @@ -126,7 +126,7 @@ static int tolua_get_AllToLua_g_BlockOneHitDig(lua_State* tolua_S) tolua_error(tolua_S, "#vinvalid type in array indexing.", &tolua_err); } } - #endif +#endif LuaState.GetStackValue(2, BlockType); if ((BlockType < 0) || (BlockType > E_BLOCK_MAX_TYPE_ID)) { @@ -143,12 +143,12 @@ static int tolua_get_AllToLua_g_BlockOneHitDig(lua_State* tolua_S) /* get function: g_BlockPistonBreakable */ #ifndef TOLUA_DISABLE_tolua_get_AllToLua_g_BlockPistonBreakable -static int tolua_get_AllToLua_g_BlockPistonBreakable(lua_State* tolua_S) +static int tolua_get_AllToLua_g_BlockPistonBreakable(lua_State * tolua_S) { cLuaState LuaState(tolua_S); int BlockType = 0; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE { tolua_Error tolua_err; if (!tolua_isnumber(tolua_S, 2, 0, &tolua_err)) @@ -156,7 +156,7 @@ static int tolua_get_AllToLua_g_BlockPistonBreakable(lua_State* tolua_S) tolua_error(tolua_S, "#vinvalid type in array indexing.", &tolua_err); } } - #endif +#endif LuaState.GetStackValue(2, BlockType); if ((BlockType < 0) || (BlockType > E_BLOCK_MAX_TYPE_ID)) { @@ -173,12 +173,12 @@ static int tolua_get_AllToLua_g_BlockPistonBreakable(lua_State* tolua_S) /* get function: g_BlockIsSnowable */ #ifndef TOLUA_DISABLE_tolua_get_AllToLua_g_BlockIsSnowable -static int tolua_get_AllToLua_g_BlockIsSnowable(lua_State* tolua_S) +static int tolua_get_AllToLua_g_BlockIsSnowable(lua_State * tolua_S) { cLuaState LuaState(tolua_S); int BlockType = 0; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE { tolua_Error tolua_err; if (!tolua_isnumber(tolua_S, 2, 0, &tolua_err)) @@ -186,7 +186,7 @@ static int tolua_get_AllToLua_g_BlockIsSnowable(lua_State* tolua_S) tolua_error(tolua_S, "#vinvalid type in array indexing.", &tolua_err); } } - #endif +#endif LuaState.GetStackValue(2, BlockType); if ((BlockType < 0) || (BlockType > E_BLOCK_MAX_TYPE_ID)) { @@ -203,12 +203,12 @@ static int tolua_get_AllToLua_g_BlockIsSnowable(lua_State* tolua_S) /* get function: g_BlockIsSolid */ #ifndef TOLUA_DISABLE_tolua_get_AllToLua_g_BlockIsSolid -static int tolua_get_AllToLua_g_BlockIsSolid(lua_State* tolua_S) +static int tolua_get_AllToLua_g_BlockIsSolid(lua_State * tolua_S) { cLuaState LuaState(tolua_S); int BlockType = 0; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE { tolua_Error tolua_err; if (!tolua_isnumber(tolua_S, 2, 0, &tolua_err)) @@ -216,7 +216,7 @@ static int tolua_get_AllToLua_g_BlockIsSolid(lua_State* tolua_S) tolua_error(tolua_S, "#vinvalid type in array indexing.", &tolua_err); } } - #endif +#endif LuaState.GetStackValue(2, BlockType); if ((BlockType < 0) || (BlockType > E_BLOCK_MAX_TYPE_ID)) { @@ -233,12 +233,12 @@ static int tolua_get_AllToLua_g_BlockIsSolid(lua_State* tolua_S) /* get function: g_BlockFullyOccupiesVoxel */ #ifndef TOLUA_DISABLE_tolua_get_AllToLua_g_BlockFullyOccupiesVoxel -static int tolua_get_AllToLua_g_BlockFullyOccupiesVoxel(lua_State* tolua_S) +static int tolua_get_AllToLua_g_BlockFullyOccupiesVoxel(lua_State * tolua_S) { cLuaState LuaState(tolua_S); int BlockType = 0; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE { tolua_Error tolua_err; if (!tolua_isnumber(tolua_S, 2, 0, &tolua_err)) @@ -246,7 +246,7 @@ static int tolua_get_AllToLua_g_BlockFullyOccupiesVoxel(lua_State* tolua_S) tolua_error(tolua_S, "#vinvalid type in array indexing.", &tolua_err); } } - #endif +#endif LuaState.GetStackValue(2, BlockType); if ((BlockType < 0) || (BlockType > E_BLOCK_MAX_TYPE_ID)) { @@ -262,19 +262,16 @@ static int tolua_get_AllToLua_g_BlockFullyOccupiesVoxel(lua_State* tolua_S) /* function: StringToMobType */ -static int tolua_AllToLua_StringToMobType00(lua_State* tolua_S) +static int tolua_AllToLua_StringToMobType00(lua_State * tolua_S) { cLuaState LuaState(tolua_S); - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE tolua_Error tolua_err; - if ( - !tolua_iscppstring(tolua_S, 1, 0, &tolua_err) || - !tolua_isnoobj(tolua_S, 2, &tolua_err) - ) + if (!tolua_iscppstring(tolua_S, 1, 0, &tolua_err) || !tolua_isnoobj(tolua_S, 2, &tolua_err)) goto tolua_lerror; else - #endif +#endif { const AString a_MobString = tolua_tocppstring(LuaState, 1, nullptr); eMonsterType MobType = cMonster::StringToMobType(a_MobString); @@ -282,15 +279,16 @@ static int tolua_AllToLua_StringToMobType00(lua_State* tolua_S) tolua_pushcppstring(LuaState, a_MobString); } - LOGWARNING("Warning in function call 'StringToMobType': StringToMobType() is deprecated. Please use cMonster:StringToMobType()"); + LOGWARNING("Warning in function call 'StringToMobType': StringToMobType() is deprecated. Please use " + "cMonster:StringToMobType()"); LuaState.LogStackTrace(0); return 2; - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE tolua_lerror: tolua_error(LuaState, "#ferror in function 'StringToMobType'.", &tolua_err); return 0; - #endif +#endif } @@ -300,10 +298,7 @@ tolua_lerror: static int tolua_cBlockInfo_GetPlaceSound(lua_State * tolua_S) { cLuaState L(tolua_S); - if ( - !L.CheckParamStaticSelf("cBlockInfo") || - !L.CheckParamNumber(2) - ) + if (!L.CheckParamStaticSelf("cBlockInfo") || !L.CheckParamNumber(2)) { return 0; } @@ -347,10 +342,7 @@ static int tolua_set_cItem_m_Lore(lua_State * tolua_S) { // Maintain legacy m_Lore variable as Lore table split by ` (grave-accent) cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cItem") || - !L.CheckParamString(2) - ) + if (!L.CheckParamSelf("cItem") || !L.CheckParamString(2)) { return 0; } @@ -374,10 +366,7 @@ static int tolua_cNoteEntity_GetPitch(lua_State * tolua_S) { cLuaState LuaState(tolua_S); - if ( - !LuaState.CheckParamUserType(1, "cNoteEntity") || - !LuaState.CheckParamEnd(2) - ) + if (!LuaState.CheckParamUserType(1, "cNoteEntity") || !LuaState.CheckParamEnd(2)) { return 0; } @@ -406,10 +395,7 @@ static int tolua_cNoteEntity_IncrementPitch(lua_State * tolua_S) { cLuaState LuaState(tolua_S); - if ( - !LuaState.CheckParamUserType(1, "cNoteEntity") || - !LuaState.CheckParamEnd(2) - ) + if (!LuaState.CheckParamUserType(1, "cNoteEntity") || !LuaState.CheckParamEnd(2)) { return 0; } @@ -426,7 +412,9 @@ static int tolua_cNoteEntity_IncrementPitch(lua_State * tolua_S) } Self->IncrementNote(); - LOGWARNING("Warning: 'cNoteEntity:IncrementPitch' function is deprecated. Please use 'cNoteEntity:IncrementNote' instead."); + LOGWARNING( + "Warning: 'cNoteEntity:IncrementPitch' function is deprecated. Please use 'cNoteEntity:IncrementNote' instead." + ); LuaState.LogStackTrace(0); return 1; } @@ -439,11 +427,7 @@ static int tolua_cNoteEntity_SetPitch(lua_State * tolua_S) { cLuaState LuaState(tolua_S); - if ( - !LuaState.CheckParamUserType(1, "cNoteEntity") || - !LuaState.CheckParamNumber(2) || - !LuaState.CheckParamEnd(3) - ) + if (!LuaState.CheckParamUserType(1, "cNoteEntity") || !LuaState.CheckParamNumber(2) || !LuaState.CheckParamEnd(3)) { return 0; } @@ -474,17 +458,12 @@ static int tolua_cWorld_SetSignLines(lua_State * tolua_S) { cLuaState LuaState(tolua_S); - #ifndef TOLUA_RELEASE - if ( - !LuaState.CheckParamUserType(1, "cWorld") || - !LuaState.CheckParamNumber(2, 4) || - !LuaState.CheckParamString(5, 8) || - !LuaState.CheckParamUserType(9, "cPlayer") || - !LuaState.CheckParamEnd(10) - ) +#ifndef TOLUA_RELEASE + if (!LuaState.CheckParamUserType(1, "cWorld") || !LuaState.CheckParamNumber(2, 4) || + !LuaState.CheckParamString(5, 8) || !LuaState.CheckParamUserType(9, "cPlayer") || !LuaState.CheckParamEnd(10)) return 0; else - #endif +#endif { cWorld * self = nullptr; cPlayer * Player = nullptr; @@ -498,12 +477,12 @@ static int tolua_cWorld_SetSignLines(lua_State * tolua_S) LuaState.GetStackValues(1, self, BlockX, BlockY, BlockZ, Line1, Line2, Line3, Line4, Player); - #ifndef TOLUA_RELEASE +#ifndef TOLUA_RELEASE if (self == nullptr) { tolua_error(LuaState, "invalid 'self' in function 'UpdateSign'", nullptr); } - #endif +#endif { bool res = self->SetSignLines({BlockX, BlockY, BlockZ}, Line1, Line2, Line3, Line4, Player); tolua_pushboolean(LuaState, res ? 1 : 0); @@ -527,7 +506,8 @@ static int tolua_cWorld_GrowTree(lua_State * a_LuaState) if (lua_isnumber(LuaState, 2)) { // This is the obsolete signature, warn and translate: - LOGWARNING("Warning: cWorld:GrowTree function expects Vector3i-based coords rather than int-based coords. Emulating old-style call."); + LOGWARNING("Warning: cWorld:GrowTree function expects Vector3i-based coords rather than int-based coords. " + "Emulating old-style call."); LuaState.LogStackTrace(0); cWorld * Self = nullptr; int BlockX, BlockY, BlockZ; @@ -563,7 +543,8 @@ static int tolua_cWorld_GrowTreeByBiome(lua_State * a_LuaState) if (lua_isnumber(LuaState, 2)) { // This is the obsolete signature, warn and translate: - LOGWARNING("Warning: cWorld:GrowTreeByBiome function expects Vector3i-based coords rather than int-based coords. Emulating old-style call."); + LOGWARNING("Warning: cWorld:GrowTreeByBiome function expects Vector3i-based coords rather than int-based " + "coords. Emulating old-style call."); LuaState.LogStackTrace(0); cWorld * Self = nullptr; int BlockX, BlockY, BlockZ; @@ -599,7 +580,8 @@ static int tolua_cWorld_GrowTreeFromSapling(lua_State * a_LuaState) if (lua_isnumber(LuaState, 2)) { // This is the obsolete signature, warn and translate: - LOGWARNING("Warning: cWorld:GrowTreeFromSapling function expects Vector3i-based coords rather than int-based coords. Emulating old-style call."); + LOGWARNING("Warning: cWorld:GrowTreeFromSapling function expects Vector3i-based coords rather than int-based " + "coords. Emulating old-style call."); LuaState.LogStackTrace(0); cWorld * Self = nullptr; int BlockX, BlockY, BlockZ; @@ -621,7 +603,9 @@ static int tolua_cWorld_GrowTreeFromSapling(lua_State * a_LuaState) if (lua_isnumber(LuaState, 3)) { // There's an extra parameter, the obsolete SaplingMeta - LOGWARNING("Warning: cWorld:GrowTreeFromSapling function no longer has the SaplingMeta parameter. Ignoring it now."); + LOGWARNING( + "Warning: cWorld:GrowTreeFromSapling function no longer has the SaplingMeta parameter. Ignoring it now." + ); LuaState.LogStackTrace(0); } LuaState.Push(Self->GrowTreeFromSapling(BlockPos)); @@ -637,11 +621,7 @@ static int tolua_cWorld_SetNextBlockTick(lua_State * tolua_S) { cLuaState LuaState(tolua_S); - if ( - !LuaState.CheckParamUserType(1, "cWorld") || - !LuaState.CheckParamNumber(2, 4) || - !LuaState.CheckParamEnd(5) - ) + if (!LuaState.CheckParamUserType(1, "cWorld") || !LuaState.CheckParamNumber(2, 4) || !LuaState.CheckParamEnd(5)) { return 0; } @@ -660,7 +640,9 @@ static int tolua_cWorld_SetNextBlockTick(lua_State * tolua_S) tolua_error(LuaState, "invalid 'self' in function 'SetNextBlockTick'", nullptr); } Self->SetNextBlockToTick({BlockX, BlockY, BlockZ}); - LOGWARNING("Warning: 'cWorld:SetNextBlockTick' function is deprecated. Please use 'cWorld:SetNextBlockToTick' instead."); + LOGWARNING( + "Warning: 'cWorld:SetNextBlockTick' function is deprecated. Please use 'cWorld:SetNextBlockToTick' instead." + ); LuaState.LogStackTrace(0); return 1; } @@ -673,42 +655,38 @@ void DeprecatedBindings::Bind(lua_State * tolua_S) { tolua_beginmodule(tolua_S, nullptr); - tolua_array(tolua_S, "g_BlockLightValue", tolua_get_AllToLua_g_BlockLightValue, nullptr); - tolua_array(tolua_S, "g_BlockSpreadLightFalloff", tolua_get_AllToLua_g_BlockSpreadLightFalloff, nullptr); - tolua_array(tolua_S, "g_BlockTransparent", tolua_get_AllToLua_g_BlockTransparent, nullptr); - tolua_array(tolua_S, "g_BlockOneHitDig", tolua_get_AllToLua_g_BlockOneHitDig, nullptr); - tolua_array(tolua_S, "g_BlockPistonBreakable", tolua_get_AllToLua_g_BlockPistonBreakable, nullptr); - tolua_array(tolua_S, "g_BlockIsSnowable", tolua_get_AllToLua_g_BlockIsSnowable, nullptr); - tolua_array(tolua_S, "g_BlockIsSolid", tolua_get_AllToLua_g_BlockIsSolid, nullptr); - tolua_array(tolua_S, "g_BlockFullyOccupiesVoxel", tolua_get_AllToLua_g_BlockFullyOccupiesVoxel, nullptr); + tolua_array(tolua_S, "g_BlockLightValue", tolua_get_AllToLua_g_BlockLightValue, nullptr); + tolua_array(tolua_S, "g_BlockSpreadLightFalloff", tolua_get_AllToLua_g_BlockSpreadLightFalloff, nullptr); + tolua_array(tolua_S, "g_BlockTransparent", tolua_get_AllToLua_g_BlockTransparent, nullptr); + tolua_array(tolua_S, "g_BlockOneHitDig", tolua_get_AllToLua_g_BlockOneHitDig, nullptr); + tolua_array(tolua_S, "g_BlockPistonBreakable", tolua_get_AllToLua_g_BlockPistonBreakable, nullptr); + tolua_array(tolua_S, "g_BlockIsSnowable", tolua_get_AllToLua_g_BlockIsSnowable, nullptr); + tolua_array(tolua_S, "g_BlockIsSolid", tolua_get_AllToLua_g_BlockIsSolid, nullptr); + tolua_array(tolua_S, "g_BlockFullyOccupiesVoxel", tolua_get_AllToLua_g_BlockFullyOccupiesVoxel, nullptr); tolua_function(tolua_S, "StringToMobType", tolua_AllToLua_StringToMobType00); tolua_beginmodule(tolua_S, "cBlockInfo"); - tolua_function(tolua_S, "GetPlaceSound", tolua_cBlockInfo_GetPlaceSound); + tolua_function(tolua_S, "GetPlaceSound", tolua_cBlockInfo_GetPlaceSound); tolua_endmodule(tolua_S); tolua_beginmodule(tolua_S, "cItem"); - tolua_variable(tolua_S, "m_Lore", tolua_get_cItem_m_Lore, tolua_set_cItem_m_Lore); + tolua_variable(tolua_S, "m_Lore", tolua_get_cItem_m_Lore, tolua_set_cItem_m_Lore); tolua_endmodule(tolua_S); tolua_beginmodule(tolua_S, "cNoteEntity"); - tolua_function(tolua_S, "GetPitch", tolua_cNoteEntity_GetPitch); - tolua_function(tolua_S, "IncrementPitch", tolua_cNoteEntity_IncrementPitch); - tolua_function(tolua_S, "SetPitch", tolua_cNoteEntity_SetPitch); + tolua_function(tolua_S, "GetPitch", tolua_cNoteEntity_GetPitch); + tolua_function(tolua_S, "IncrementPitch", tolua_cNoteEntity_IncrementPitch); + tolua_function(tolua_S, "SetPitch", tolua_cNoteEntity_SetPitch); tolua_endmodule(tolua_S); tolua_beginmodule(tolua_S, "cWorld"); - tolua_function(tolua_S, "GrowTree", tolua_cWorld_GrowTree); - tolua_function(tolua_S, "GrowTreeByBiome", tolua_cWorld_GrowTreeByBiome); - tolua_function(tolua_S, "GrowTreeFromSapling", tolua_cWorld_GrowTreeFromSapling); - tolua_function(tolua_S, "SetNextBlockTick", tolua_cWorld_SetNextBlockTick); - tolua_function(tolua_S, "UpdateSign", tolua_cWorld_SetSignLines); + tolua_function(tolua_S, "GrowTree", tolua_cWorld_GrowTree); + tolua_function(tolua_S, "GrowTreeByBiome", tolua_cWorld_GrowTreeByBiome); + tolua_function(tolua_S, "GrowTreeFromSapling", tolua_cWorld_GrowTreeFromSapling); + tolua_function(tolua_S, "SetNextBlockTick", tolua_cWorld_SetNextBlockTick); + tolua_function(tolua_S, "UpdateSign", tolua_cWorld_SetSignLines); tolua_endmodule(tolua_S); tolua_endmodule(tolua_S); } - - - - diff --git a/src/Bindings/DeprecatedBindings.h b/src/Bindings/DeprecatedBindings.h index 037d50489..d19fc2582 100644 --- a/src/Bindings/DeprecatedBindings.h +++ b/src/Bindings/DeprecatedBindings.h @@ -3,6 +3,6 @@ struct lua_State; class DeprecatedBindings { -public: - static void Bind( lua_State* tolua_S); + public: + static void Bind(lua_State * tolua_S); }; diff --git a/src/Bindings/LuaChunkStay.cpp b/src/Bindings/LuaChunkStay.cpp index 57b43ea5c..01136fb3e 100644 --- a/src/Bindings/LuaChunkStay.cpp +++ b/src/Bindings/LuaChunkStay.cpp @@ -11,9 +11,7 @@ -cLuaChunkStay::cLuaChunkStay() -{ -} +cLuaChunkStay::cLuaChunkStay() {} @@ -25,12 +23,16 @@ bool cLuaChunkStay::AddChunks(const cLuaState::cStackTable & a_ChunkCoordsTable) ASSERT(m_Chunks.empty()); // Add each set of coords: - a_ChunkCoordsTable.ForEachArrayElement([=](cLuaState & a_LuaState, int a_Index) + a_ChunkCoordsTable.ForEachArrayElement( + [=](cLuaState & a_LuaState, int a_Index) { if (!lua_istable(a_LuaState, -1)) { - LOGWARNING("%s: Element #%d is not a table (got %s). Ignoring the element.", - __FUNCTION__, a_Index, lua_typename(a_LuaState, -1) + LOGWARNING( + "%s: Element #%d is not a table (got %s). Ignoring the element.", + __FUNCTION__, + a_Index, + lua_typename(a_LuaState, -1) ); a_LuaState.LogStackTrace(); lua_pop(a_LuaState, 1); @@ -63,8 +65,11 @@ void cLuaChunkStay::AddChunkCoord(cLuaState & L, int a_Index) int NumCoords = luaL_getn(L, -1); if (NumCoords != 2) { - LOGWARNING("%s: Element #%d doesn't contain 2 coords (got %d). Ignoring the element.", - __FUNCTION__, a_Index, NumCoords + LOGWARNING( + "%s: Element #%d doesn't contain 2 coords (got %d). Ignoring the element.", + __FUNCTION__, + a_Index, + NumCoords ); return; } @@ -81,9 +86,7 @@ void cLuaChunkStay::AddChunkCoord(cLuaState & L, int a_Index) { if ((itr->m_ChunkX == ChunkX) && (itr->m_ChunkZ == ChunkZ)) { - LOGWARNING("%s: Element #%d is a duplicate, ignoring it.", - __FUNCTION__, a_Index - ); + LOGWARNING("%s: Element #%d is a duplicate, ignoring it.", __FUNCTION__, a_Index); return; } } // for itr - m_Chunks[] @@ -95,7 +98,11 @@ void cLuaChunkStay::AddChunkCoord(cLuaState & L, int a_Index) -void cLuaChunkStay::Enable(cChunkMap & a_ChunkMap, cLuaState::cCallbackPtr a_OnChunkAvailable, cLuaState::cCallbackPtr a_OnAllChunksAvailable) +void cLuaChunkStay::Enable( + cChunkMap & a_ChunkMap, + cLuaState::cCallbackPtr a_OnChunkAvailable, + cLuaState::cCallbackPtr a_OnAllChunksAvailable +) { m_OnChunkAvailable = std::move(a_OnChunkAvailable); m_OnAllChunksAvailable = std::move(a_OnAllChunksAvailable); @@ -145,7 +152,3 @@ void cLuaChunkStay::OnDisabled(void) // This object is no longer needed, delete it delete this; } - - - - diff --git a/src/Bindings/LuaChunkStay.h b/src/Bindings/LuaChunkStay.h index 1f0c0a921..5bb09e809 100644 --- a/src/Bindings/LuaChunkStay.h +++ b/src/Bindings/LuaChunkStay.h @@ -23,15 +23,14 @@ class cChunkMap; -class cLuaChunkStay: - public cChunkStay +class cLuaChunkStay : public cChunkStay { using Super = cChunkStay; -public: + public: cLuaChunkStay(); - virtual ~cLuaChunkStay() override { } + virtual ~cLuaChunkStay() override {} /** Adds chunks in the specified Lua table. Can be called only once. @@ -39,9 +38,13 @@ public: bool AddChunks(const cLuaState::cStackTable & a_ChunkCoords); /** Enables the ChunkStay for the specified chunkmap, with the specified Lua callbacks. */ - void Enable(cChunkMap & a_ChunkMap, cLuaState::cCallbackPtr a_OnChunkAvailable, cLuaState::cCallbackPtr a_OnAllChunksAvailable); + void Enable( + cChunkMap & a_ChunkMap, + cLuaState::cCallbackPtr a_OnChunkAvailable, + cLuaState::cCallbackPtr a_OnAllChunksAvailable + ); -protected: + protected: /** The Lua function to call in OnChunkAvailable. Only valid when enabled. */ cLuaState::cCallbackPtr m_OnChunkAvailable; @@ -60,9 +63,4 @@ protected: If the coords are already present, gives a warning and ignores the pair. The a_Index parameter is only for the error messages. */ void AddChunkCoord(cLuaState & a_LuaState, int a_Index); -} ; - - - - - +}; diff --git a/src/Bindings/LuaJson.cpp b/src/Bindings/LuaJson.cpp index 1077b6e56..67fb59ad3 100644 --- a/src/Bindings/LuaJson.cpp +++ b/src/Bindings/LuaJson.cpp @@ -26,37 +26,35 @@ static Json::Value JsonSerializeValue(cLuaState & a_LuaState); /** Exception thrown when the input cannot be serialized. Keeps track of the error message and the problematic value's path in the table. */ -class CannotSerializeException: - public std::runtime_error +class CannotSerializeException : public std::runtime_error { using Super = std::runtime_error; -public: + public: /** Constructs a new instance of the exception based on the provided values directly. */ - explicit CannotSerializeException(const AString & a_ValueName, const char * a_ErrorMsg): - Super(a_ErrorMsg), - m_ValueName(a_ValueName) + explicit CannotSerializeException(const AString & a_ValueName, const char * a_ErrorMsg) : + Super(a_ErrorMsg), m_ValueName(a_ValueName) { } /** Constructs a new instance of the exception based on the provided values directly. */ - explicit CannotSerializeException(int a_ValueIndex, const char * a_ErrorMsg): - Super(a_ErrorMsg), - m_ValueName(fmt::format(FMT_STRING("{}"), a_ValueIndex)) + explicit CannotSerializeException(int a_ValueIndex, const char * a_ErrorMsg) : + Super(a_ErrorMsg), m_ValueName(fmt::format(FMT_STRING("{}"), a_ValueIndex)) { } - /** Constructs a new instance of the exception that takes the error message and value name from the parent, and prefix the value name with the specified prefix. - Used for prefixing the value name's path along the call stack that lead to the main exception. */ - explicit CannotSerializeException(const CannotSerializeException & a_Parent, const AString & a_ValueNamePrefix): - Super(a_Parent.what()), - m_ValueName(a_ValueNamePrefix + "." + a_Parent.m_ValueName) + /** Constructs a new instance of the exception that takes the error message and value name from the parent, and + prefix the value name with the specified prefix. Used for prefixing the value name's path along the call stack that + lead to the main exception. */ + explicit CannotSerializeException(const CannotSerializeException & a_Parent, const AString & a_ValueNamePrefix) : + Super(a_Parent.what()), m_ValueName(a_ValueNamePrefix + "." + a_Parent.m_ValueName) { } - /** Constructs a new instance of the exception that takes the error message and value name from the parent, and prefix the value name with the specified prefix. - Used for prefixing the value name's path along the call stack that lead to the main exception. */ - explicit CannotSerializeException(const CannotSerializeException & a_Parent, int a_ValueNamePrefixIndex): + /** Constructs a new instance of the exception that takes the error message and value name from the parent, and + prefix the value name with the specified prefix. Used for prefixing the value name's path along the call stack that + lead to the main exception. */ + explicit CannotSerializeException(const CannotSerializeException & a_Parent, int a_ValueNamePrefixIndex) : Super(a_Parent.what()), m_ValueName(fmt::format(FMT_STRING("{}"), a_ValueNamePrefixIndex) + "." + a_Parent.m_ValueName) { @@ -64,7 +62,7 @@ public: const AString & GetValueName() const { return m_ValueName; } -protected: + protected: AString m_ValueName; }; @@ -81,7 +79,7 @@ static void PushJsonArray(const Json::Value & a_Value, cLuaState & a_LuaState) // Insert each value to the appropriate index (1-based): int idx = 1; - for (const auto & v: a_Value) + for (const auto & v : a_Value) { // Include Json null values in the array - it will have holes, but indices will stay the same PushJsonValue(v, a_LuaState); @@ -104,7 +102,7 @@ static void PushJsonObject(const Json::Value & a_Value, cLuaState & a_LuaState) // Json::Value has no means of iterating over children with their names included. // We need to iterate over names and "find" them in the object again: auto names = a_Value.getMemberNames(); - for (const auto & n: names) + for (const auto & n : names) { auto v = a_Value[n]; if (v.isNull()) @@ -276,11 +274,7 @@ static int tolua_cJson_Parse(lua_State * a_LuaState) // Check the param types: cLuaState L(a_LuaState); - if ( - !L.CheckParamUserTable(1, "cJson") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cJson") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -319,11 +313,7 @@ static int tolua_cJson_Serialize(lua_State * a_LuaState) // Check the param types: cLuaState L(a_LuaState); - if ( - !L.CheckParamUserTable(1, "cJson") || - !L.CheckParamTable(2) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamUserTable(1, "cJson") || !L.CheckParamTable(2) || !L.CheckParamEnd(4)) { return 0; } @@ -340,7 +330,8 @@ static int tolua_cJson_Serialize(lua_State * a_LuaState) lua_pushnil(L); L.Push(fmt::format( FMT_STRING("Cannot serialize into Json, value \"{}\" caused an error \"{}\""), - exc.GetValueName(), exc.what() + exc.GetValueName(), + exc.what() )); return 2; } @@ -368,7 +359,7 @@ static int tolua_cJson_Serialize(lua_State * a_LuaState) if (!builder.validate(&invalid)) { LOGINFO("cJson:Serialize(): detected invalid settings:"); - for (const auto & n: invalid.getMemberNames()) + for (const auto & n : invalid.getMemberNames()) { LOGINFO(" \"%s\" (\"%s\")", n.c_str(), invalid[n].asCString()); } @@ -391,18 +382,14 @@ void cLuaJson::Bind(cLuaState & a_LuaState) { tolua_beginmodule(a_LuaState, nullptr); - // Create the cJson API class: - tolua_usertype(a_LuaState, "cJson"); - tolua_cclass(a_LuaState, "cJson", "cJson", "", nullptr); + // Create the cJson API class: + tolua_usertype(a_LuaState, "cJson"); + tolua_cclass(a_LuaState, "cJson", "cJson", "", nullptr); - // Fill in the functions (alpha-sorted): - tolua_beginmodule(a_LuaState, "cJson"); - tolua_function(a_LuaState, "Parse", tolua_cJson_Parse); - tolua_function(a_LuaState, "Serialize", tolua_cJson_Serialize); - tolua_endmodule(a_LuaState); + // Fill in the functions (alpha-sorted): + tolua_beginmodule(a_LuaState, "cJson"); + tolua_function(a_LuaState, "Parse", tolua_cJson_Parse); + tolua_function(a_LuaState, "Serialize", tolua_cJson_Serialize); + tolua_endmodule(a_LuaState); tolua_endmodule(a_LuaState); } - - - - diff --git a/src/Bindings/LuaJson.h b/src/Bindings/LuaJson.h index 6ec8110bc..34d60ec6d 100644 --- a/src/Bindings/LuaJson.h +++ b/src/Bindings/LuaJson.h @@ -22,11 +22,7 @@ class cLuaState; class cLuaJson { -public: + public: /** Registers the Json library in the specified Lua state. */ static void Bind(cLuaState & a_LuaState); }; - - - - diff --git a/src/Bindings/LuaNameLookup.cpp b/src/Bindings/LuaNameLookup.cpp index 3f55e7bc8..5ac6ede87 100644 --- a/src/Bindings/LuaNameLookup.cpp +++ b/src/Bindings/LuaNameLookup.cpp @@ -10,9 +10,8 @@ -cLuaNameLookup::cLuaNameLookup(const AString & a_Query, cLuaState::cTableRefPtr && a_Callbacks): - m_Callbacks(std::move(a_Callbacks)), - m_Query(a_Query) +cLuaNameLookup::cLuaNameLookup(const AString & a_Query, cLuaState::cTableRefPtr && a_Callbacks) : + m_Callbacks(std::move(a_Callbacks)), m_Query(a_Query) { } @@ -42,7 +41,3 @@ void cLuaNameLookup::OnFinished(void) { m_Callbacks->CallTableFn("OnFinished", m_Query); } - - - - diff --git a/src/Bindings/LuaNameLookup.h b/src/Bindings/LuaNameLookup.h index 0eef108c8..e845a2332 100644 --- a/src/Bindings/LuaNameLookup.h +++ b/src/Bindings/LuaNameLookup.h @@ -16,15 +16,14 @@ -class cLuaNameLookup: - public cNetwork::cResolveNameCallbacks +class cLuaNameLookup : public cNetwork::cResolveNameCallbacks { -public: + public: /** Creates a new instance of the lookup callbacks for the specified query, using the callbacks that are in the specified table. */ cLuaNameLookup(const AString & a_Query, cLuaState::cTableRefPtr && a_Callbacks); -protected: + protected: /** The Lua table that holds the callbacks to be invoked. */ cLuaState::cTableRefPtr m_Callbacks; @@ -37,7 +36,3 @@ protected: virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) override; virtual void OnFinished(void) override; }; - - - - diff --git a/src/Bindings/LuaServerHandle.cpp b/src/Bindings/LuaServerHandle.cpp index c07cd0a82..090e6f000 100644 --- a/src/Bindings/LuaServerHandle.cpp +++ b/src/Bindings/LuaServerHandle.cpp @@ -12,9 +12,8 @@ -cLuaServerHandle::cLuaServerHandle(UInt16 a_Port, cLuaState::cTableRefPtr && a_Callbacks): - m_Callbacks(std::move(a_Callbacks)), - m_Port(a_Port) +cLuaServerHandle::cLuaServerHandle(UInt16 a_Port, cLuaState::cTableRefPtr && a_Callbacks) : + m_Callbacks(std::move(a_Callbacks)), m_Port(a_Port) { } @@ -62,7 +61,7 @@ void cLuaServerHandle::Close(void) cCSLock Lock(m_CSConnections); std::swap(Connections, m_Connections); } - for (auto & conn: Connections) + for (auto & conn : Connections) { conn->Close(); } @@ -127,10 +126,15 @@ cTCPLink::cCallbacksPtr cLuaServerHandle::OnIncomingConnection(const AString & a { // Ask the plugin for link callbacks: cLuaState::cTableRefPtr LinkCallbacks; - if ( - !m_Callbacks->CallTableFn("OnIncomingConnection", a_RemoteIPAddress, a_RemotePort, m_Port, cLuaState::Return, LinkCallbacks) || - !LinkCallbacks->IsValid() - ) + if (!m_Callbacks->CallTableFn( + "OnIncomingConnection", + a_RemoteIPAddress, + a_RemotePort, + m_Port, + cLuaState::Return, + LinkCallbacks + ) || + !LinkCallbacks->IsValid()) { LOGINFO("cNetwork server (port %d) OnIncomingConnection callback failed. Dropping connection.", m_Port); return nullptr; @@ -165,8 +169,3 @@ void cLuaServerHandle::OnError(int a_ErrorCode, const AString & a_ErrorMsg) // Notify the plugin: m_Callbacks->CallTableFn("OnError", a_ErrorCode, a_ErrorMsg); } - - - - - diff --git a/src/Bindings/LuaServerHandle.h b/src/Bindings/LuaServerHandle.h index 59acdc0e7..2aae46a9a 100644 --- a/src/Bindings/LuaServerHandle.h +++ b/src/Bindings/LuaServerHandle.h @@ -26,10 +26,9 @@ typedef std::shared_ptr cLuaServerHandlePtr; -class cLuaServerHandle: - public cNetwork::cListenCallbacks +class cLuaServerHandle : public cNetwork::cListenCallbacks { -public: + public: /** Creates a new instance of the server handle, wrapping the (listen-) callbacks that are in the specified table. */ cLuaServerHandle(UInt16 a_Port, cLuaState::cTableRefPtr && a_Callbacks); @@ -53,7 +52,7 @@ public: Releases the internal SharedPtr to self, so that the instance may be deallocated. */ void Release(void); -protected: + protected: /** The Lua table that holds the callbacks to be invoked. */ cLuaState::cTableRefPtr m_Callbacks; @@ -76,11 +75,8 @@ protected: // cNetwork::cListenCallbacks overrides: - virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) override; + virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) + override; virtual void OnAccepted(cTCPLink & a_Link) override; virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) override; }; - - - - diff --git a/src/Bindings/LuaState.cpp b/src/Bindings/LuaState.cpp index 08d2b8b2e..927758af2 100644 --- a/src/Bindings/LuaState.cpp +++ b/src/Bindings/LuaState.cpp @@ -8,7 +8,7 @@ extern "C" { - #include "lua/src/lualib.h" +#include "lua/src/lualib.h" } #undef TOLUA_TEMPLATE_BIND @@ -27,7 +27,7 @@ extern "C" // Hotpatching the Macro to prevent a Clang Warning (0 for pointer used) -#undef lua_tostring +#undef lua_tostring #define lua_tostring(L, i) lua_tolstring(L, (i), nullptr) @@ -58,11 +58,12 @@ const cLuaState::cNil cLuaState::Nil = {}; // cCanonLuaStates: /** Tracks the canon cLuaState instances for each lua_State pointer. -Used for tracked refs - the ref needs to be tracked by a single cLuaState (the canon state), despite being created from a different (attached) cLuaState. -The canon state must be available without accessing the Lua state itself (so it cannot be stored within Lua). */ +Used for tracked refs - the ref needs to be tracked by a single cLuaState (the canon state), despite being created from +a different (attached) cLuaState. The canon state must be available without accessing the Lua state itself (so it cannot +be stored within Lua). */ class cCanonLuaStates { -public: + public: /** Returns the canon Lua state for the specified lua_State pointer. */ static cLuaState * GetCanonState(lua_State * a_LuaState) { @@ -97,7 +98,7 @@ public: inst.m_CanonStates.erase(itr); } -protected: + protected: /** The mutex protecting m_CanonStates against multithreaded access. */ cCriticalSection m_CS; @@ -137,11 +138,9 @@ void cLuaStateTracker::Del(cLuaState & a_LuaState) cCSLock Lock(Instance.m_CSLuaStates); Instance.m_LuaStates.erase( std::remove_if( - Instance.m_LuaStates.begin(), Instance.m_LuaStates.end(), - [&a_LuaState](cLuaStatePtr a_StoredLuaState) - { - return (&a_LuaState == a_StoredLuaState); - } + Instance.m_LuaStates.begin(), + Instance.m_LuaStates.end(), + [&a_LuaState](cLuaStatePtr a_StoredLuaState) { return (&a_LuaState == a_StoredLuaState); } ), Instance.m_LuaStates.end() ); @@ -157,7 +156,7 @@ AString cLuaStateTracker::GetStats() cCSLock Lock(Instance.m_CSLuaStates); AString res; int Total = 0; - for (auto state: Instance.m_LuaStates) + for (auto state : Instance.m_LuaStates) { int Mem = 0; if (!state->Call("collectgarbage", "count", cLuaState::Return, Mem)) @@ -166,7 +165,9 @@ AString cLuaStateTracker::GetStats() } else { - res.append(fmt::format(FMT_STRING("State \"{}\" is using {} KiB of memory\n"), state->GetSubsystemName(), Mem)); + res.append( + fmt::format(FMT_STRING("State \"{}\" is using {} KiB of memory\n"), state->GetSubsystemName(), Mem) + ); Total += Mem; } } @@ -191,7 +192,7 @@ cLuaStateTracker & cLuaStateTracker::Get() //////////////////////////////////////////////////////////////////////////////// // cLuaState::cTrackedRef: -cLuaState::cTrackedRef::cTrackedRef(void): +cLuaState::cTrackedRef::cTrackedRef(void) : m_CS(nullptr) { } @@ -300,8 +301,10 @@ void cLuaState::cTrackedRef::Invalidate(void) cCSLock Lock(*cs); if (!m_Ref.IsValid()) { - LOGD("%s: Inconsistent callback at %p, has a CS but an invalid Ref. This should not happen", - __FUNCTION__, static_cast(this) + LOGD( + "%s: Inconsistent callback at %p, has a CS but an invalid Ref. This should not happen", + __FUNCTION__, + static_cast(this) ); return; } @@ -372,9 +375,8 @@ bool cLuaState::cTableRef::RefStack(cLuaState & a_LuaState, int a_StackPos) //////////////////////////////////////////////////////////////////////////////// // cLuaState::cStackTable: -cLuaState::cStackTable::cStackTable(cLuaState & a_LuaState, int a_StackPos): - m_LuaState(a_LuaState), - m_StackPos(a_StackPos) +cLuaState::cStackTable::cStackTable(cLuaState & a_LuaState, int a_StackPos) : + m_LuaState(a_LuaState), m_StackPos(a_StackPos) { ASSERT(lua_istable(a_LuaState, a_StackPos)); } @@ -383,7 +385,9 @@ cLuaState::cStackTable::cStackTable(cLuaState & a_LuaState, int a_StackPos): -void cLuaState::cStackTable::ForEachArrayElement(cFunctionRef a_ElementCallback) const +void cLuaState::cStackTable::ForEachArrayElement( + cFunctionRef a_ElementCallback +) const { const auto numElements = luaL_getn(m_LuaState, m_StackPos); [[maybe_unused]] const auto stackTop = lua_gettop(m_LuaState); @@ -392,7 +396,9 @@ void cLuaState::cStackTable::ForEachArrayElement(cFunctionRef - lua_pushnil(m_LuaState); // Stk: nil - while (lua_next(m_LuaState, -2)) // Stk:
+ lua_pushnil(m_LuaState); // Stk:
nil + while (lua_next(m_LuaState, -2)) // Stk:
{ auto shouldAbort = a_ElementCallback(m_LuaState); - ASSERT(lua_gettop(m_LuaState) == stackTop + 3); // The element callback must not change the Lua stack below the value + ASSERT( + lua_gettop(m_LuaState) == stackTop + 3 + ); // The element callback must not change the Lua stack below the value lua_pop(m_LuaState, 1); // Stk:
if (shouldAbort) { @@ -435,10 +443,7 @@ void cLuaState::cStackTable::ForEachElement(cFunctionRef"), - m_NumCurrentFunctionArgs(-1) + m_LuaState(a_AttachState), m_IsOwned(false), m_SubsystemName(""), m_NumCurrentFunctionArgs(-1) { } @@ -537,7 +539,8 @@ void cLuaState::Close(void) { LOGWARNING( "%s: Detected mis-use, calling Close() on an attached state (0x%p). Detaching instead.", - __FUNCTION__, static_cast(m_LuaState) + __FUNCTION__, + static_cast(m_LuaState) ); Detach(); return; @@ -546,7 +549,7 @@ void cLuaState::Close(void) // Invalidate all tracked refs: { cCSLock Lock(m_CSTrackedRefs); - for (auto & r: m_TrackedRefs) + for (auto & r : m_TrackedRefs) { r->Invalidate(); } @@ -568,7 +571,11 @@ void cLuaState::Attach(lua_State * a_State) { if (m_LuaState != nullptr) { - LOGINFO("%s: Already contains a LuaState (0x%p), will be closed / detached.", __FUNCTION__, static_cast(m_LuaState)); + LOGINFO( + "%s: Already contains a LuaState (0x%p), will be closed / detached.", + __FUNCTION__, + static_cast(m_LuaState) + ); if (m_IsOwned) { Close(); @@ -596,7 +603,8 @@ void cLuaState::Detach(void) { LOGWARNING( "%s: Detected a mis-use, calling Detach() when the state is owned. Closing the owned state (0x%p).", - __FUNCTION__, static_cast(m_LuaState) + __FUNCTION__, + static_cast(m_LuaState) ); Close(); return; @@ -613,8 +621,8 @@ void cLuaState::AddPackagePath(const AString & a_PathVariable, const AString & a ASSERT_LUA_STACK_BALANCE(m_LuaState); // Get the current path: - lua_getfield(m_LuaState, LUA_GLOBALSINDEX, "package"); // Stk: - lua_getfield(m_LuaState, -1, a_PathVariable.c_str()); // Stk: + lua_getfield(m_LuaState, LUA_GLOBALSINDEX, "package"); // Stk: + lua_getfield(m_LuaState, -1, a_PathVariable.c_str()); // Stk: size_t len = 0; const char * PackagePath = lua_tolstring(m_LuaState, -1, &len); @@ -624,10 +632,10 @@ void cLuaState::AddPackagePath(const AString & a_PathVariable, const AString & a NewPackagePath.append(a_Path); // Set the new path to the environment: - lua_pop(m_LuaState, 1); // Stk: - lua_pushlstring(m_LuaState, NewPackagePath.c_str(), NewPackagePath.length()); // Stk: - lua_setfield(m_LuaState, -2, a_PathVariable.c_str()); // Stk: - lua_pop(m_LuaState, 1); // Stk: - + lua_pop(m_LuaState, 1); // Stk: + lua_pushlstring(m_LuaState, NewPackagePath.c_str(), NewPackagePath.length()); // Stk: + lua_setfield(m_LuaState, -2, a_PathVariable.c_str()); // Stk: + lua_pop(m_LuaState, 1); // Stk: - } @@ -645,7 +653,13 @@ bool cLuaState::LoadFile(const AString & a_FileName, bool a_LogWarnings) { if (a_LogWarnings) { - LOGWARNING("Can't load %s because of a load error in file %s: %d (%s)", m_SubsystemName.c_str(), a_FileName.c_str(), s, lua_tostring(m_LuaState, -1)); + LOGWARNING( + "Can't load %s because of a load error in file %s: %d (%s)", + m_SubsystemName.c_str(), + a_FileName.c_str(), + s, + lua_tostring(m_LuaState, -1) + ); } lua_pop(m_LuaState, 1); return false; @@ -657,7 +671,13 @@ bool cLuaState::LoadFile(const AString & a_FileName, bool a_LogWarnings) { if (a_LogWarnings) { - LOGWARNING("Can't load %s because of an initialization error in file %s: %d (%s)", m_SubsystemName.c_str(), a_FileName.c_str(), s, lua_tostring(m_LuaState, -1)); + LOGWARNING( + "Can't load %s because of an initialization error in file %s: %d (%s)", + m_SubsystemName.c_str(), + a_FileName.c_str(), + s, + lua_tostring(m_LuaState, -1) + ); } lua_pop(m_LuaState, 1); return false; @@ -681,7 +701,13 @@ bool cLuaState::LoadString(const AString & a_StringToLoad, const AString & a_Fil { if (a_LogWarnings) { - LOGWARNING("Can't load %s because of a load error in string from \"%s\": %d (%s)", m_SubsystemName.c_str(), a_FileName.c_str(), s, lua_tostring(m_LuaState, -1)); + LOGWARNING( + "Can't load %s because of a load error in string from \"%s\": %d (%s)", + m_SubsystemName.c_str(), + a_FileName.c_str(), + s, + lua_tostring(m_LuaState, -1) + ); } lua_pop(m_LuaState, 1); return false; @@ -693,7 +719,13 @@ bool cLuaState::LoadString(const AString & a_StringToLoad, const AString & a_Fil { if (a_LogWarnings) { - LOGWARNING("Can't load %s because of an initialization error in string from \"%s\": %d (%s)", m_SubsystemName.c_str(), a_FileName.c_str(), s, lua_tostring(m_LuaState, -1)); + LOGWARNING( + "Can't load %s because of an initialization error in string from \"%s\": %d (%s)", + m_SubsystemName.c_str(), + a_FileName.c_str(), + s, + lua_tostring(m_LuaState, -1) + ); } lua_pop(m_LuaState, 1); return false; @@ -835,9 +867,9 @@ void cLuaState::Push(const AStringMap & a_Dictionary) lua_createtable(m_LuaState, 0, static_cast(a_Dictionary.size())); int newTable = lua_gettop(m_LuaState); - for (const auto & item: a_Dictionary) + for (const auto & item : a_Dictionary) { - Push(item.first); // key + Push(item.first); // key Push(item.second); // value lua_rawset(m_LuaState, newTable); } @@ -956,7 +988,7 @@ void cLuaState::Push(bool a_Value) void cLuaState::Push(const cEntity * a_Entity) { // Once we can make Lua understand constness, this function shall receive a corresponding function body - Push(const_cast(a_Entity)); + Push(const_cast(a_Entity)); } @@ -974,41 +1006,41 @@ void cLuaState::Push(cEntity * a_Entity) else { const char * ClassName = [&] + { + switch (a_Entity->GetEntityType()) { - switch (a_Entity->GetEntityType()) + case cEntity::etBoat: return "cBoat"; + case cEntity::etExpOrb: return "cExpOrb"; + case cEntity::etFallingBlock: return "cFallingBlock"; + case cEntity::etFloater: return "cFloater"; + case cEntity::etItemFrame: return "cItemFrame"; + case cEntity::etLeashKnot: return "cLeashKnot"; + case cEntity::etPainting: return "cPainting"; + case cEntity::etPickup: return "cPickup"; + case cEntity::etPlayer: return "cPlayer"; + case cEntity::etTNT: return "cTNTEntity"; + + case cEntity::etMonster: + { + // Don't push specific mob types, as those are not exported in the API: + return "cMonster"; + } + case cEntity::etProjectile: + { + // Push the specific projectile type: + return a_Entity->GetClass(); + } + + case cEntity::etEntity: + case cEntity::etEnderCrystal: + case cEntity::etMinecart: { - case cEntity::etBoat: return "cBoat"; - case cEntity::etExpOrb: return "cExpOrb"; - case cEntity::etFallingBlock: return "cFallingBlock"; - case cEntity::etFloater: return "cFloater"; - case cEntity::etItemFrame: return "cItemFrame"; - case cEntity::etLeashKnot: return "cLeashKnot"; - case cEntity::etPainting: return "cPainting"; - case cEntity::etPickup: return "cPickup"; - case cEntity::etPlayer: return "cPlayer"; - case cEntity::etTNT: return "cTNTEntity"; - - case cEntity::etMonster: - { - // Don't push specific mob types, as those are not exported in the API: - return "cMonster"; - } - case cEntity::etProjectile: - { - // Push the specific projectile type: - return a_Entity->GetClass(); - } - - case cEntity::etEntity: - case cEntity::etEnderCrystal: - case cEntity::etMinecart: - { - // Push the generic entity class type: - return "cEntity"; - } - } // switch (EntityType) - UNREACHABLE("Unsupported entity type"); - }(); + // Push the generic entity class type: + return "cEntity"; + } + } // switch (EntityType) + UNREACHABLE("Unsupported entity type"); + }(); tolua_pushusertype(m_LuaState, a_Entity, ClassName); } } @@ -1141,7 +1173,8 @@ bool cLuaState::GetStackValue(int a_StackPos, AStringMap & a_Value) } cStackTable tbl(*this, a_StackPos); bool isValid = true; - tbl.ForEachElement([&isValid, &a_Value](cLuaState & a_LuaState) + tbl.ForEachElement( + [&isValid, &a_Value](cLuaState & a_LuaState) { AString key, val; if (a_LuaState.GetStackValues(-2, key, val)) @@ -1172,7 +1205,8 @@ bool cLuaState::GetStackValue(int a_StackPos, AStringVector & a_Value) } cStackTable tbl(*this, a_StackPos); bool isValid = true; - tbl.ForEachArrayElement([&](cLuaState & a_LuaState, int a_Index) + tbl.ForEachArrayElement( + [&](cLuaState & a_LuaState, int a_Index) { AString tempStr; if (a_LuaState.GetStackValue(-1, tempStr)) @@ -1265,7 +1299,9 @@ bool cLuaState::GetStackValue(int a_StackPos, cPluginManager::CommandResult & a_ { if (lua_isnumber(m_LuaState, a_StackPos)) { - a_Result = static_cast(static_cast((tolua_tonumber(m_LuaState, a_StackPos, a_Result)))); + a_Result = static_cast( + static_cast((tolua_tonumber(m_LuaState, a_StackPos, a_Result))) + ); return true; } return false; @@ -1379,7 +1415,9 @@ bool cLuaState::GetStackValue(int a_StackPos, CustomStatistic & a_Value) { if (lua_isnumber(m_LuaState, a_StackPos)) { - a_Value = static_cast(static_cast>(lua_tonumber(m_LuaState, a_StackPos))); + a_Value = static_cast( + static_cast>(lua_tonumber(m_LuaState, a_StackPos)) + ); return true; } @@ -1412,8 +1450,9 @@ bool cLuaState::GetStackValue(int a_StackPos, eBlockFace & a_ReturnedVal) } a_ReturnedVal = static_cast(Clamp( static_cast(tolua_tonumber(m_LuaState, a_StackPos, a_ReturnedVal)), - static_cast(BLOCK_FACE_MIN), static_cast(BLOCK_FACE_MAX)) - ); + static_cast(BLOCK_FACE_MIN), + static_cast(BLOCK_FACE_MAX) + )); return true; } @@ -1429,8 +1468,9 @@ bool cLuaState::GetStackValue(int a_StackPos, eWeather & a_ReturnedVal) } a_ReturnedVal = static_cast(Clamp( static_cast(tolua_tonumber(m_LuaState, a_StackPos, a_ReturnedVal)), - static_cast(wSunny), static_cast(wThunderstorm)) - ); + static_cast(wSunny), + static_cast(wThunderstorm) + )); return true; } @@ -1492,7 +1532,7 @@ bool cLuaState::GetStackValue(int a_StackPos, std::string_view & a_Value) const char * const Value = lua_tolstring(m_LuaState, a_StackPos, &Length); if (Value != nullptr) { - a_Value = { Value, Length }; + a_Value = {Value, Length}; return true; } return false; @@ -1502,8 +1542,7 @@ bool cLuaState::GetStackValue(int a_StackPos, std::string_view & a_Value) -template -bool cLuaState::GetStackValue(int a_StackPos, Vector3 & a_ReturnedVal) +template bool cLuaState::GetStackValue(int a_StackPos, Vector3 & a_ReturnedVal) { tolua_Error err; if (lua_isnil(m_LuaState, a_StackPos)) @@ -1561,7 +1600,7 @@ cLuaState::cStackValue cLuaState::WalkToValue(const AString & a_Name) // Iterate over path and replace the top of the stack with the walked element lua_pushvalue(m_LuaState, -1); // Copy the stack value into the "working area" auto path = StringSplit(a_Name, "."); - for (const auto & elem: path) + for (const auto & elem : path) { // If the value is not a table, bail out (error): if (!lua_istable(m_LuaState, -1)) @@ -1593,7 +1632,7 @@ cLuaState::cStackValue cLuaState::WalkToNamedGlobal(const AString & a_Name) // Iterate over path and replace the top of the stack with the walked element lua_getglobal(m_LuaState, "_G"); auto path = StringSplit(a_Name, "."); - for (const auto & elem: path) + for (const auto & elem : path) { // If the value is not a table, bail out (error): if (!lua_istable(m_LuaState, -1)) @@ -1622,7 +1661,7 @@ cLuaState::cStackValue cLuaState::WalkToNamedGlobal(const AString & a_Name) bool cLuaState::CallFunction(int a_NumResults) { - ASSERT (m_NumCurrentFunctionArgs >= 0); // A function must be pushed to stack first + ASSERT(m_NumCurrentFunctionArgs >= 0); // A function must be pushed to stack first ASSERT(lua_isfunction(m_LuaState, -m_NumCurrentFunctionArgs - 1)); // The function to call ASSERT(lua_isfunction(m_LuaState, -m_NumCurrentFunctionArgs - 2)); // The error handler @@ -1643,7 +1682,14 @@ bool cLuaState::CallFunction(int a_NumResults) auto top = lua_gettop(m_LuaState); if (top < 2) { - LogStackValues(fmt::format(FMT_STRING("The Lua stack is in an unexpected state, expected at least two values there, but got {}"), top).c_str()); + LogStackValues( + fmt::format( + FMT_STRING("The Lua stack is in an unexpected state, expected at least two values there, but got {}" + ), + top + ) + .c_str() + ); } lua_pop(m_LuaState, std::min(2, top)); return false; @@ -1676,9 +1722,10 @@ bool cLuaState::CheckParamUserTable(int a_StartParam, const char * a_UserTable, } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); - AString ErrMsg = fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); + AString ErrMsg = + fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); tolua_error(m_LuaState, ErrMsg.c_str(), &tolua_err); return false; } // for i - Param @@ -1709,9 +1756,10 @@ bool cLuaState::CheckParamUserType(int a_StartParam, const char * a_UserType, in } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); - AString ErrMsg = fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); + AString ErrMsg = + fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); tolua_error(m_LuaState, ErrMsg.c_str(), &tolua_err); return false; } // for i - Param @@ -1742,9 +1790,10 @@ bool cLuaState::CheckParamTable(int a_StartParam, int a_EndParam) } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); - AString ErrMsg = fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); + AString ErrMsg = + fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); BreakIntoDebugger(m_LuaState); @@ -1778,9 +1827,10 @@ bool cLuaState::CheckParamNumber(int a_StartParam, int a_EndParam) } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); - AString ErrMsg = fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); + AString ErrMsg = + fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); tolua_error(m_LuaState, ErrMsg.c_str(), &tolua_err); return false; } // for i - Param @@ -1811,9 +1861,10 @@ bool cLuaState::CheckParamBool(int a_StartParam, int a_EndParam) } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); - AString ErrMsg = fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); + AString ErrMsg = + fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); tolua_error(m_LuaState, ErrMsg.c_str(), &tolua_err); return false; } // for i - Param @@ -1844,12 +1895,13 @@ bool cLuaState::CheckParamString(int a_StartParam, int a_EndParam) } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); tolua_err.array = 0; tolua_err.type = "string"; tolua_err.index = i; - AString ErrMsg = fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); + AString ErrMsg = + fmt::format(FMT_STRING("#ferror in function '{}'."), (entry.name != nullptr) ? entry.name : "?"); tolua_error(m_LuaState, ErrMsg.c_str(), &tolua_err); return false; } // for i - Param @@ -1879,10 +1931,14 @@ bool cLuaState::CheckParamFunction(int a_StartParam, int a_EndParam) } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); - luaL_error(m_LuaState, "Error in function '%s' parameter #%d. Function expected, got %s", - (entry.name != nullptr) ? entry.name : "?", i, GetTypeText(i).c_str() + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); + luaL_error( + m_LuaState, + "Error in function '%s' parameter #%d. Function expected, got %s", + (entry.name != nullptr) ? entry.name : "?", + i, + GetTypeText(i).c_str() ); return false; } // for i - Param @@ -1912,10 +1968,14 @@ bool cLuaState::CheckParamFunctionOrNil(int a_StartParam, int a_EndParam) } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); - luaL_error(m_LuaState, "Error in function '%s' parameter #%d. Function expected, got %s", - (entry.name != nullptr) ? entry.name : "?", i, GetTypeText(i).c_str() + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); + luaL_error( + m_LuaState, + "Error in function '%s' parameter #%d. Function expected, got %s", + (entry.name != nullptr) ? entry.name : "?", + i, + GetTypeText(i).c_str() ); return false; } // for i - Param @@ -1944,7 +2004,9 @@ bool cLuaState::CheckParamVector3(int a_StartParam, int a_EndParam) continue; } - ApiParamError(fmt::format(FMT_STRING("Failed to read parameter #{}. Vector3 expected, got {}"), i, GetTypeText(i))); + ApiParamError( + fmt::format(FMT_STRING("Failed to read parameter #{}. Vector3 expected, got {}"), i, GetTypeText(i)) + ); return false; } return true; @@ -1976,7 +2038,9 @@ bool cLuaState::CheckParamUUID(int a_StartParam, int a_EndParam) if (!tolua_iscppstring(m_LuaState, i, 0, &err)) { - ApiParamError(fmt::format(FMT_STRING("Failed to read parameter #{}. UUID expected, got {}"), i, GetTypeText(i))); + ApiParamError( + fmt::format(FMT_STRING("Failed to read parameter #{}. UUID expected, got {}"), i, GetTypeText(i)) + ); return false; } @@ -1984,7 +2048,11 @@ bool cLuaState::CheckParamUUID(int a_StartParam, int a_EndParam) GetStackValue(i, tempStr); if (!tempUUID.FromString(tempStr)) { - ApiParamError(fmt::format(FMT_STRING("Failed to read parameter #{}. UUID expected, got non-UUID string:\n\t\"{}\""), i, tempStr)); + ApiParamError(fmt::format( + FMT_STRING("Failed to read parameter #{}. UUID expected, got non-UUID string:\n\t\"{}\""), + i, + tempStr + )); return false; } } @@ -2004,9 +2072,12 @@ bool cLuaState::CheckParamEnd(int a_Param) } // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); - AString ErrMsg = fmt::format(FMT_STRING("#ferror in function '{}': Too many arguments."), (entry.name != nullptr) ? entry.name : "?"); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); + AString ErrMsg = fmt::format( + FMT_STRING("#ferror in function '{}': Too many arguments."), + (entry.name != nullptr) ? entry.name : "?" + ); tolua_error(m_LuaState, ErrMsg.c_str(), &tolua_err); return false; } @@ -2025,12 +2096,13 @@ bool cLuaState::CheckParamSelf(const char * a_SelfClassName) // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); AString ErrMsg = fmt::format( - FMT_STRING("Error in function '{}'. The 'self' parameter is not of the expected type, \"instance of {}\". " \ - "Make sure you're using the correct calling convention (obj:fn() instead of obj.fn())."), - (entry.name != nullptr) ? entry.name : "", a_SelfClassName + FMT_STRING("Error in function '{}'. The 'self' parameter is not of the expected type, \"instance of {}\". " + "Make sure you're using the correct calling convention (obj:fn() instead of obj.fn())."), + (entry.name != nullptr) ? entry.name : "", + a_SelfClassName ); tolua_error(m_LuaState, ErrMsg.c_str(), &tolua_err); return false; @@ -2050,12 +2122,14 @@ bool cLuaState::CheckParamStaticSelf(const char * a_SelfClassName) // Not the correct parameter lua_Debug entry; - VERIFY(lua_getstack(m_LuaState, 0, &entry)); - VERIFY(lua_getinfo (m_LuaState, "n", &entry)); + VERIFY(lua_getstack(m_LuaState, 0, &entry)); + VERIFY(lua_getinfo(m_LuaState, "n", &entry)); AString ErrMsg = fmt::format( - FMT_STRING("Error in function '{}'. The 'self' parameter is not of the expected type, \"class {}\". " \ - "Make sure you're using the correct calling convention (cClassName:fn() instead of cClassName.fn() or obj:fn())."), - (entry.name != nullptr) ? entry.name : "", a_SelfClassName + FMT_STRING("Error in function '{}'. The 'self' parameter is not of the expected type, \"class {}\". " + "Make sure you're using the correct calling convention (cClassName:fn() instead of cClassName.fn() " + "or obj:fn())."), + (entry.name != nullptr) ? entry.name : "", + a_SelfClassName ); tolua_error(m_LuaState, ErrMsg.c_str(), &tolua_err); return false; @@ -2094,8 +2168,7 @@ bool cLuaState::IsParamVector3(int a_ParamIdx) ASSERT(IsValid()); return ( - IsParamUserType(a_ParamIdx, "Vector3") || - IsParamUserType(a_ParamIdx, "Vector3") || + IsParamUserType(a_ParamIdx, "Vector3") || IsParamUserType(a_ParamIdx, "Vector3") || IsParamUserType(a_ParamIdx, "Vector3") || lua_istable(m_LuaState, a_ParamIdx) // Assume any table is good enough ); @@ -2170,7 +2243,8 @@ int cLuaState::ApiParamError(std::string_view a_Msg) // Log everything into the console: LOGWARNING("%s", errorMsg.c_str()); - // cLuaState::LogStackTrace(a_LuaState); // Do NOT log stack trace, it is already output as part of the Lua error handling + // cLuaState::LogStackTrace(a_LuaState); // Do NOT log stack trace, it is already output as part of the Lua error + // handling LogStackValues(m_LuaState, "Parameters on the stack"); // Raise Lua error: @@ -2283,10 +2357,10 @@ bool cLuaState::CopyTableFrom(cLuaState & a_SrcLuaState, int a_SrcStackIdx, int [[maybe_unused]] const auto dstTop = lua_gettop(m_LuaState); // Create the dest table: - lua_createtable(m_LuaState, 0, 0); // DST:
+ lua_createtable(m_LuaState, 0, 0); // DST:
lua_pushvalue(a_SrcLuaState, a_SrcStackIdx); // SRC:
- lua_pushnil(a_SrcLuaState); // SRC:
- while (lua_next(a_SrcLuaState, -2) != 0) // SRC:
+ lua_pushnil(a_SrcLuaState); // SRC:
+ while (lua_next(a_SrcLuaState, -2) != 0) // SRC:
{ ASSERT(lua_gettop(a_SrcLuaState) == srcTop + 3); ASSERT(lua_gettop(m_LuaState) == dstTop + 1); @@ -2306,7 +2380,7 @@ bool cLuaState::CopyTableFrom(cLuaState & a_SrcLuaState, int a_SrcStackIdx, int // Copy the value: if (!CopySingleValueFrom(a_SrcLuaState, -1, a_NumAllowedNestingLevels - 1)) // DST:
{ - lua_pop(m_LuaState, 2); // DST: empty + lua_pop(m_LuaState, 2); // DST: empty lua_pop(a_SrcLuaState, 3); // SRC: empty ASSERT(lua_gettop(a_SrcLuaState) == srcTop); ASSERT(lua_gettop(m_LuaState) == dstTop); @@ -2371,7 +2445,7 @@ bool cLuaState::CopySingleValueFrom(cLuaState & a_SrcLuaState, int a_StackIdx, i } lua_rawget(a_SrcLuaState, LUA_REGISTRYINDEX); // Stack +1 type = lua_tostring(a_SrcLuaState, -1); - lua_pop(a_SrcLuaState, 1); // Stack -1 + lua_pop(a_SrcLuaState, 1); // Stack -1 // Copy the value: void * ud = tolua_touserdata(a_SrcLuaState, a_StackIdx, nullptr); @@ -2389,8 +2463,12 @@ bool cLuaState::CopySingleValueFrom(cLuaState & a_SrcLuaState, int a_StackIdx, i } default: { - LOGWARNING("%s: Unsupported value: '%s' at stack position %d. Can only copy numbers, strings, bools, classes and simple tables!", - __FUNCTION__, lua_typename(a_SrcLuaState, t), a_StackIdx + LOGWARNING( + "%s: Unsupported value: '%s' at stack position %d. Can only copy numbers, strings, bools, classes and " + "simple tables!", + __FUNCTION__, + lua_typename(a_SrcLuaState, t), + a_StackIdx ); return false; } @@ -2435,7 +2513,7 @@ void cLuaState::LogStackValues(lua_State * a_LuaState, const char * a_Header) int Type = lua_type(a_LuaState, i); switch (Type) { - case LUA_TBOOLEAN: Value.assign((lua_toboolean(a_LuaState, i) != 0) ? "true" : "false"); break; + case LUA_TBOOLEAN: Value.assign((lua_toboolean(a_LuaState, i) != 0) ? "true" : "false"); break; case LUA_TLIGHTUSERDATA: Value = fmt::format(FMT_STRING("{}"), lua_touserdata(a_LuaState, i)); break; case LUA_TNUMBER: Value = fmt::format(FMT_STRING("{}"), lua_tonumber(a_LuaState, i)); break; case LUA_TSTRING: @@ -2445,11 +2523,12 @@ void cLuaState::LogStackValues(lua_State * a_LuaState, const char * a_Header) Value.assign(txt, std::min(len, 50)); // Only log up to 50 characters of the string break; } - case LUA_TTABLE: Value = fmt::format(FMT_STRING("{}"), lua_topointer(a_LuaState, i)); break; - case LUA_TFUNCTION: Value = fmt::format(FMT_STRING("{}"), lua_topointer(a_LuaState, i)); break; + case LUA_TTABLE: Value = fmt::format(FMT_STRING("{}"), lua_topointer(a_LuaState, i)); break; + case LUA_TFUNCTION: Value = fmt::format(FMT_STRING("{}"), lua_topointer(a_LuaState, i)); break; case LUA_TUSERDATA: { - Value = fmt::format(FMT_STRING("{} ({})"), lua_touserdata(a_LuaState, i), tolua_typename(a_LuaState, i)); + Value = + fmt::format(FMT_STRING("{} ({})"), lua_touserdata(a_LuaState, i), tolua_typename(a_LuaState, i)); // tolua_typename pushes the string onto Lua stack, pop it off again: lua_pop(a_LuaState, 1); break; @@ -2586,8 +2665,7 @@ void cLuaState::UntrackRef(cTrackedRef & a_Ref) // cLuaState::cRef: cLuaState::cRef::cRef(void) : - m_LuaState(nullptr), - m_Ref(LUA_REFNIL) + m_LuaState(nullptr), m_Ref(LUA_REFNIL) { } @@ -2596,8 +2674,7 @@ cLuaState::cRef::cRef(void) : cLuaState::cRef::cRef(cLuaState & a_LuaState, int a_StackPos) : - m_LuaState(nullptr), - m_Ref(LUA_REFNIL) + m_LuaState(nullptr), m_Ref(LUA_REFNIL) { RefStack(a_LuaState, a_StackPos); } @@ -2606,9 +2683,8 @@ cLuaState::cRef::cRef(cLuaState & a_LuaState, int a_StackPos) : -cLuaState::cRef::cRef(cRef && a_FromRef): - m_LuaState(a_FromRef.m_LuaState), - m_Ref(a_FromRef.m_Ref) +cLuaState::cRef::cRef(cRef && a_FromRef) : + m_LuaState(a_FromRef.m_LuaState), m_Ref(a_FromRef.m_Ref) { a_FromRef.m_LuaState = nullptr; a_FromRef.m_Ref = LUA_REFNIL; @@ -2657,7 +2733,3 @@ void cLuaState::cRef::UnRef(void) m_LuaState = nullptr; m_Ref = LUA_REFNIL; } - - - - diff --git a/src/Bindings/LuaState.h b/src/Bindings/LuaState.h index 27b2990a6..ab300778d 100644 --- a/src/Bindings/LuaState.h +++ b/src/Bindings/LuaState.h @@ -32,7 +32,7 @@ stays valid but doesn't call into Lua code anymore, returning false for "failure extern "C" { - #include "lua/src/lauxlib.h" +#include "lua/src/lauxlib.h" } #include "../Defines.h" @@ -54,65 +54,70 @@ class cDeadlockDetect; /** Encapsulates a Lua state and provides some syntactic sugar for common operations */ class cLuaState { -public: - - #ifndef NDEBUG - /** Asserts that the Lua stack has the same amount of entries when this object is destructed, as when it was constructed. - Used for checking functions that should preserve Lua stack balance. */ - class cStackBalanceCheck + public: +#ifndef NDEBUG + /** Asserts that the Lua stack has the same amount of entries when this object is destructed, as when it was + constructed. Used for checking functions that should preserve Lua stack balance. */ + class cStackBalanceCheck + { + public: + cStackBalanceCheck( + const char * a_FileName, + int a_LineNum, + lua_State * a_LuaState, + bool a_ShouldLogStack = true + ) : + m_FileName(a_FileName), m_LineNum(a_LineNum), m_LuaState(a_LuaState), m_StackPos(lua_gettop(a_LuaState)) { - public: - cStackBalanceCheck(const char * a_FileName, int a_LineNum, lua_State * a_LuaState, bool a_ShouldLogStack = true): - m_FileName(a_FileName), - m_LineNum(a_LineNum), - m_LuaState(a_LuaState), - m_StackPos(lua_gettop(a_LuaState)) + if (a_ShouldLogStack) { - if (a_ShouldLogStack) - { - // DEBUG: If an unbalanced stack is reported, uncommenting the next line can help debug the imbalance - // cLuaState::LogStackValues(a_LuaState, fmt::format(FMT_STRING("Started checking Lua stack balance, currently {} items:"), m_StackPos).c_str()); - // Since LogStackValues() itself uses the balance check, we must not call it recursively - } + // DEBUG: If an unbalanced stack is reported, uncommenting the next line can help debug the imbalance + // cLuaState::LogStackValues(a_LuaState, fmt::format(FMT_STRING("Started checking Lua stack balance, + // currently {} items:"), m_StackPos).c_str()); Since LogStackValues() itself uses the balance check, we + // must not call it recursively } + } - ~cStackBalanceCheck() noexcept(false) + ~cStackBalanceCheck() noexcept(false) + { + auto currStackPos = lua_gettop(m_LuaState); + if (currStackPos != m_StackPos) { - auto currStackPos = lua_gettop(m_LuaState); - if (currStackPos != m_StackPos) - { - LOGD("Lua stack not balanced. Expected %d items, found %d items. Stack watching started in %s:%d", - m_StackPos, currStackPos, - m_FileName.c_str(), m_LineNum - ); - cLuaState::LogStackValues(m_LuaState); - ASSERT(!"Lua stack unbalanced"); // If this assert fires, the Lua stack is inbalanced, check the callstack / m_FileName / m_LineNum - } + LOGD( + "Lua stack not balanced. Expected %d items, found %d items. Stack watching started in %s:%d", + m_StackPos, + currStackPos, + m_FileName.c_str(), + m_LineNum + ); + cLuaState::LogStackValues(m_LuaState); + ASSERT(!"Lua stack unbalanced" + ); // If this assert fires, the Lua stack is inbalanced, check the callstack / m_FileName / m_LineNum } + } - protected: - const AString m_FileName; - int m_LineNum; - lua_State * m_LuaState; - int m_StackPos; - }; + protected: + const AString m_FileName; + int m_LineNum; + lua_State * m_LuaState; + int m_StackPos; + }; - #define STRINGIFY2(X, Y) X##Y - #define STRINGIFY(X, Y) STRINGIFY2(X, Y) - #define ASSERT_LUA_STACK_BALANCE(...) cStackBalanceCheck STRINGIFY(Check, __COUNTER__)(__FILE__, __LINE__, __VA_ARGS__) - #else - #define ASSERT_LUA_STACK_BALANCE(...) - #endif +#define STRINGIFY2(X, Y) X##Y +#define STRINGIFY(X, Y) STRINGIFY2(X, Y) +#define ASSERT_LUA_STACK_BALANCE(...) cStackBalanceCheck STRINGIFY(Check, __COUNTER__)(__FILE__, __LINE__, __VA_ARGS__) +#else +#define ASSERT_LUA_STACK_BALANCE(...) +#endif - /** Makes sure that the Lua state's stack has the same number of elements on destruction as it had on construction of this object (RAII). - Can only remove elements, if there are less than expected, throws. */ + /** Makes sure that the Lua state's stack has the same number of elements on destruction as it had on construction + of this object (RAII). Can only remove elements, if there are less than expected, throws. */ class cStackBalancePopper { - public: - cStackBalancePopper(cLuaState & a_LuaState): - m_LuaState(a_LuaState), - m_Count(lua_gettop(a_LuaState)) + public: + cStackBalancePopper(cLuaState & a_LuaState) : + m_LuaState(a_LuaState), m_Count(lua_gettop(a_LuaState)) { } @@ -122,33 +127,49 @@ public: if (curTop > m_Count) { // There are some leftover elements, adjust the stack: - m_LuaState.LogStackValues(fmt::format(FMT_STRING("Re-balancing Lua stack, expected {} values, got {}:"), m_Count, curTop).c_str()); + m_LuaState.LogStackValues( + fmt::format(FMT_STRING("Re-balancing Lua stack, expected {} values, got {}:"), m_Count, curTop) + .c_str() + ); lua_pop(m_LuaState, curTop - m_Count); } else if (curTop < m_Count) { - // This is an irrecoverable error, rather than letting the Lua engine crash undefinedly later on, abort now: - LOGERROR("Unable to re-balance Lua stack, there are elements missing. Expected at least %d elements, got %d.", m_Count, curTop); - throw std::runtime_error(fmt::format(FMT_STRING("Unable to re-balance Lua stack, there are elements missing. Expected at least {} elements, got {}."), m_Count, curTop)); + // This is an irrecoverable error, rather than letting the Lua engine crash undefinedly later on, abort + // now: + LOGERROR( + "Unable to re-balance Lua stack, there are elements missing. Expected at least %d elements, got " + "%d.", + m_Count, + curTop + ); + throw std::runtime_error(fmt::format( + FMT_STRING("Unable to re-balance Lua stack, there are elements missing. Expected at least {} " + "elements, got {}."), + m_Count, + curTop + )); } } - protected: + protected: cLuaState & m_LuaState; int m_Count; }; /** Provides a RAII-style locking for the LuaState. - Used mainly by the cPluginLua internals to provide the actual locking for interface operations, such as callbacks. */ + Used mainly by the cPluginLua internals to provide the actual locking for interface operations, such as callbacks. + */ class cLock { - public: - cLock(cLuaState & a_LuaState): + public: + cLock(cLuaState & a_LuaState) : m_Lock(a_LuaState.m_CS) { } - protected: + + protected: cCSLock m_Lock; }; @@ -158,7 +179,7 @@ public: The reference can also be reset by calling RefStack(). */ class cRef { - public: + public: /** Creates an unbound reference object. */ cRef(void); @@ -179,7 +200,7 @@ public: void UnRef(void); /** Returns true if the reference is valid */ - bool IsValid(void) const {return (m_Ref != LUA_REFNIL); } + bool IsValid(void) const { return (m_Ref != LUA_REFNIL); } /** Allows to use this class wherever an int (i. e. ref) is to be used */ explicit operator int(void) const { return m_Ref; } @@ -188,7 +209,8 @@ public: lua_State * GetLuaState(void) { return m_LuaState; } /** Creates a Lua reference to the specified object instance in the specified Lua state. - This is useful to make anti-GC references for objects that were created by Lua and need to stay alive longer than Lua GC would normally guarantee. */ + This is useful to make anti-GC references for objects that were created by Lua and need to stay alive longer + than Lua GC would normally guarantee. */ template void CreateFromObject(cLuaState & a_LuaState, T && a_Object) { a_LuaState.Push(std::forward(a_Object)); @@ -196,13 +218,13 @@ public: a_LuaState.Pop(); } - protected: + protected: lua_State * m_LuaState; int m_Ref; // Remove the copy-constructor: cRef(const cRef &) = delete; - } ; + }; /** Represents a reference to a Lua object that has a tracked lifetime - @@ -215,14 +237,12 @@ public: class cTrackedRef { friend class ::cLuaState; - public: + + public: /** Creates an unbound ref instance. */ cTrackedRef(void); - ~cTrackedRef() - { - Clear(); - } + ~cTrackedRef() { Clear(); } /** Set the contained reference to the object at the specified Lua state's stack position. If another reference has been previously contained, it is Clear()-ed first. */ @@ -233,15 +253,17 @@ public: void Clear(void); /** Returns true if the contained reference is valid. - (Note that depending on this value is not thread-safe, another thread may invalidate the ref in the meantime. It is meant for quick ASSERTs only). */ + (Note that depending on this value is not thread-safe, another thread may invalidate the ref in the meantime. It + is meant for quick ASSERTs only). */ bool IsValid(void); /** Returns true if the reference resides in the specified Lua state. Internally, compares the reference's canon Lua state. - (Note that depending on this value is not thread-safe, another thread may modify the ref in the meantime. It is meant for quick ASSERTs only). */ + (Note that depending on this value is not thread-safe, another thread may modify the ref in the meantime. It is + meant for quick ASSERTs only). */ bool IsSameLuaState(cLuaState & a_LuaState); - protected: + protected: friend class cLuaState; /** The mutex protecting m_Ref against multithreaded access. @@ -280,20 +302,17 @@ public: with a cCallbackPtr. Note that instances of this class are tracked in the canon LuaState instance, so that they can be invalidated when the LuaState is unloaded; due to multithreading issues they can only be tracked by-ptr, which has an unfortunate effect of disabling the copy and move constructors. */ - class cCallback: - public cTrackedRef + class cCallback : public cTrackedRef { using Super = cTrackedRef; - public: - + public: cCallback(void) {} /** Calls the Lua callback, if still available. Returns true if callback has been called. Returns false if the Lua state isn't valid anymore. */ - template - bool Call(Args &&... args) + template bool Call(Args &&... args) { auto cs = m_CS.load(); if (cs == nullptr) @@ -313,8 +332,7 @@ public: Returns true on success, false on failure (not a function at the specified stack pos). */ bool RefStack(cLuaState & a_LuaState, int a_StackPos); - protected: - + protected: /** This class cannot be copied, because it is tracked in the LuaState by-ptr. Use cCallbackPtr for a copyable object. */ cCallback(const cCallback &) = delete; @@ -329,13 +347,11 @@ public: /** Same thing as cCallback, but GetStackValue() won't fail if the callback value is nil. Used for callbacks that are optional - they needn't be present and in such a case they won't get called. */ - class cOptionalCallback: - public cCallback + class cOptionalCallback : public cCallback { using Super = cCallback; - public: - + public: cOptionalCallback(void) {} /** Set the contained callback to the function in the specified Lua state's stack position. @@ -343,8 +359,7 @@ public: Returns true on success, false on failure (not a function at the specified stack pos). */ bool RefStack(cLuaState & a_LuaState, int a_StackPos); - protected: - + protected: /** This class cannot be copied, because it is tracked in the LuaState by-ptr. Use cCallbackPtr for a copyable object. */ cOptionalCallback(const cOptionalCallback &) = delete; @@ -364,19 +379,17 @@ public: Note that instances of this class are tracked in the canon LuaState instance, so that they can be invalidated when the LuaState is unloaded; due to multithreading issues they can only be tracked by-ptr, which has an unfortunate effect of disabling the copy and move constructors. */ - class cTableRef: - public cTrackedRef + class cTableRef : public cTrackedRef { using Super = cTrackedRef; - public: + public: cTableRef(void) {} /** Calls the Lua function stored under the specified name in the referenced table, if still available. Returns true if callback has been called. Returns false if the Lua state isn't valid anymore, or the function doesn't exist. */ - template - bool CallTableFn(const char * a_FnName, Args &&... args) + template bool CallTableFn(const char * a_FnName, Args &&... args) { auto cs = m_CS.load(); if (cs == nullptr) @@ -395,8 +408,7 @@ public: A "self" parameter is injected in front of all the given parameters and is set to the callback table. Returns true if callback has been called. Returns false if the Lua state isn't valid anymore, or the function doesn't exist. */ - template - bool CallTableFnWithSelf(const char * a_FnName, Args &&... args) + template bool CallTableFnWithSelf(const char * a_FnName, Args &&... args) { auto cs = m_CS.load(); if (cs == nullptr) @@ -419,21 +431,21 @@ public: typedef std::unique_ptr cTableRefPtr; - /** Represents a parameter that is optional - calling a GetStackValue() with this object will not fail if the value on the Lua stack is nil. - Note that the GetStackValue() will still fail if the param is present but of a different type. - The class itself is just a marker so that the template magic will select the correct GetStackValue() overload. */ - template - class cOptionalParam + /** Represents a parameter that is optional - calling a GetStackValue() with this object will not fail if the value + on the Lua stack is nil. Note that the GetStackValue() will still fail if the param is present but of a different + type. The class itself is just a marker so that the template magic will select the correct GetStackValue() overload. + */ + template class cOptionalParam { - public: - explicit cOptionalParam(T & a_Dest): + public: + explicit cOptionalParam(T & a_Dest) : m_Dest(a_Dest) { } T & GetDest(void) { return m_Dest; } - protected: + protected: T & m_Dest; }; @@ -441,7 +453,7 @@ public: /** A dummy class that's used only to delimit function args from return values for cLuaState::Call() */ class cRet { - } ; + }; static const cRet Return; // Use this constant to delimit function args from return values for cLuaState::Call() @@ -456,21 +468,20 @@ public: Will pop the value off the stack in the destructor. */ class cStackValue { - public: - cStackValue(void): + public: + cStackValue(void) : m_LuaState(nullptr) { } - cStackValue(cLuaState & a_LuaState): + cStackValue(cLuaState & a_LuaState) : m_LuaState(a_LuaState) { m_StackLen = lua_gettop(a_LuaState); } - cStackValue(cStackValue && a_Src): - m_LuaState(nullptr), - m_StackLen(-1) + cStackValue(cStackValue && a_Src) : + m_LuaState(nullptr), m_StackLen(-1) { std::swap(m_LuaState, a_Src.m_LuaState); std::swap(m_StackLen, a_Src.m_StackLen); @@ -491,12 +502,9 @@ public: m_StackLen = lua_gettop(a_LuaState); } - bool IsValid(void) const - { - return (m_LuaState != nullptr); - } + bool IsValid(void) const { return (m_LuaState != nullptr); } - protected: + protected: lua_State * m_LuaState; /** Used for debugging, Lua state's stack size is checked against this number to make sure @@ -514,7 +522,7 @@ public: used for immediate queries in API bindings. */ class cStackTable { - public: + public: cStackTable(cLuaState & a_LuaState, int a_StackPos); /** Iterates over all array elements in the table consecutively and calls the a_ElementCallback for each. @@ -532,7 +540,7 @@ public: cLuaState & GetLuaState(void) const { return m_LuaState; } - protected: + protected: /** The Lua state in which the table resides. */ cLuaState & m_LuaState; @@ -556,7 +564,7 @@ public: ~cLuaState(); /** Allows this object to be used in the same way as a lua_State *, for example in the LuaLib functions */ - operator lua_State * (void) { return m_LuaState; } + operator lua_State *(void) { return m_LuaState; } /** Creates the m_LuaState, if not created already. This state will be automatically closed in the destructor. @@ -570,7 +578,8 @@ public: /** Closes the m_LuaState, if not closed already */ void Close(void); - /** Attaches the specified state. Operations will be carried out on this state, but it will not be closed in the destructor */ + /** Attaches the specified state. Operations will be carried out on this state, but it will not be closed in the + * destructor */ void Attach(lua_State * a_State); /** Detaches a previously attached state. */ @@ -670,7 +679,10 @@ public: template >> bool GetStackValue(int a_StackPos, T & a_ReturnedVal) { - if (!lua_isnumber(m_LuaState, a_StackPos)) // Also accepts strings representing a number: https://pgl.yoyo.org/luai/i/lua_isnumber + if (!lua_isnumber( + m_LuaState, + a_StackPos + )) // Also accepts strings representing a number: https://pgl.yoyo.org/luai/i/lua_isnumber { return false; } @@ -688,8 +700,7 @@ public: } /** Retrieves an optional value on the stack - doesn't fail if the stack contains nil instead of the value. */ - template - bool GetStackValue(int a_StackPos, cOptionalParam && a_ReturnedVal) + template bool GetStackValue(int a_StackPos, cOptionalParam && a_ReturnedVal) { if (lua_isnoneornil(m_LuaState, a_StackPos)) { @@ -699,8 +710,7 @@ public: } /** Retrieves any Vector3 value and coerces it into a Vector3. */ - template - bool GetStackValue(int a_StackPos, Vector3 & a_ReturnedVal); + template bool GetStackValue(int a_StackPos, Vector3 & a_ReturnedVal); /** Pushes the named value in the table at the top of the stack. a_Name may be a path containing multiple table levels, such as "cChatColor.Blue". @@ -710,8 +720,8 @@ public: /** Pushes the named value in the global table to the top of the stack. a_Name may be a path containing multiple table levels, such as "cChatColor.Blue". - If the value is found in the global table, it is pushed to the top of the stack and the returned cStackValue is valid. - If the value is not found, the stack is unchanged and the returned cStackValue is invalid. */ + If the value is found in the global table, it is pushed to the top of the stack and the returned cStackValue is + valid. If the value is not found, the stack is unchanged and the returned cStackValue is invalid. */ cStackValue WalkToNamedGlobal(const AString & a_Name); /** Retrieves the named value in the table at the top of the Lua stack. @@ -728,8 +738,8 @@ public: return GetStackValue(-1, a_Value); } - /** Retrieves the named global value. a_Name may be a path containing multiple table levels, such as "_G.cChatColor.Blue". - Returns true if the value was successfully retrieved, false on error. */ + /** Retrieves the named global value. a_Name may be a path containing multiple table levels, such as + "_G.cChatColor.Blue". Returns true if the value was successfully retrieved, false on error. */ template bool GetNamedGlobal(const AString & a_Name, T & a_Value) { // Push the globals table onto the stack and make it RAII-removed: @@ -740,15 +750,14 @@ public: return GetNamedValue(a_Name, a_Value); } - // Include the auto-generated Push and GetStackValue() functions: - #include "LuaState_Declaration.inc" +// Include the auto-generated Push and GetStackValue() functions: +#include "LuaState_Declaration.inc" /** Call the specified Lua function. Returns true if call succeeded, false if there was an error. A special param of cRet & signifies the end of param list and the start of return values. Example call: Call(Fn, Param1, Param2, Param3, cLuaState::Return, Ret1, Ret2) */ - template - bool Call(const FnT & a_Function, Args &&... args) + template bool Call(const FnT & a_Function, Args &&... args) { cStackBalancePopper balancer(*this); m_NumCurrentFunctionArgs = -1; @@ -772,10 +781,12 @@ public: return GetStackValues(a_StartStackPos + 1, std::forward(args)...); } - /** Returns true if the specified parameters on the stack are of the specified usertable type; also logs warning if not. Used for static functions */ + /** Returns true if the specified parameters on the stack are of the specified usertable type; also logs warning if + * not. Used for static functions */ bool CheckParamUserTable(int a_StartParam, const char * a_UserTable, int a_EndParam = -1); - /** Returns true if the specified parameters on the stack are of the specified usertype; also logs warning if not. Used for regular functions */ + /** Returns true if the specified parameters on the stack are of the specified usertype; also logs warning if not. + * Used for regular functions */ bool CheckParamUserType(int a_StartParam, const char * a_UserType, int a_EndParam = -1); /** Returns true if the specified parameters on the stack are tables; also logs warning if not */ @@ -836,9 +847,9 @@ public: /** Logs all items in the current stack trace to the server console */ static void LogStackTrace(lua_State * a_LuaState, int a_StartingDepth = 0); - /** Prints the message, prefixed with the current function name, then logs the stack contents and raises a Lua error. - To be used for bindings when they detect bad parameters. - Doesn't return, but a dummy return type is provided so that Lua API functions may do "return ApiParamError(...)". */ + /** Prints the message, prefixed with the current function name, then logs the stack contents and raises a Lua + error. To be used for bindings when they detect bad parameters. Doesn't return, but a dummy return type is provided + so that Lua API functions may do "return ApiParamError(...)". */ int ApiParamError(std::string_view a_Msg); /** Returns the type of the item on the specified position in the stack */ @@ -856,20 +867,20 @@ public: /** Copies objects on the stack from the specified state. Only numbers, bools, strings, API classes and simple tables containing these (recursively) are copied. - a_NumAllowedNestingLevels specifies how many table nesting levels are allowed, copying fails if there's a deeper table. - If successful, returns the number of objects copied. - If failed, returns a negative number and rewinds the stack position. */ + a_NumAllowedNestingLevels specifies how many table nesting levels are allowed, copying fails if there's a deeper + table. If successful, returns the number of objects copied. If failed, returns a negative number and rewinds the + stack position. */ int CopyStackFrom(cLuaState & a_SrcLuaState, int a_SrcStart, int a_SrcEnd, int a_NumAllowedNestingLevels = 16); /** Copies a table at the specified stack index of the source Lua state to the top of this Lua state's stack. - a_NumAllowedNestingLevels specifies how many table nesting levels are allowed, copying fails if there's a deeper table. - Returns true if successful, false on failure. - Can copy only simple values - numbers, bools, strings and recursively simple tables. */ + a_NumAllowedNestingLevels specifies how many table nesting levels are allowed, copying fails if there's a deeper + table. Returns true if successful, false on failure. Can copy only simple values - numbers, bools, strings and + recursively simple tables. */ bool CopyTableFrom(cLuaState & a_SrcLuaState, int a_TableIdx, int a_NumAllowedNestingLevels); - /** Copies a single value from the specified stack index of the source Lua state to the top of this Lua state's stack. - a_NumAllowedNestingLevels specifies how many table nesting levels are allowed, copying fails if there's a deeper table. - Returns true if the value was copied, false on failure. */ + /** Copies a single value from the specified stack index of the source Lua state to the top of this Lua state's + stack. a_NumAllowedNestingLevels specifies how many table nesting levels are allowed, copying fails if there's a + deeper table. Returns true if the value was copied, false on failure. */ bool CopySingleValueFrom(cLuaState & a_SrcLuaState, int a_StackIdx, int a_NumAllowedNestingLevels); /** Reads the value at the specified stack position as a string and sets it to a_String. */ @@ -881,8 +892,8 @@ public: /** Logs all the elements' types on the API stack, with an optional header for the listing. */ static void LogStackValues(lua_State * a_LuaState, const char * a_Header = nullptr); - /** Returns the canon Lua state (the primary cLuaState instance that was used to create, rather than attach, the lua_State structure). - Returns nullptr if the canon Lua state cannot be queried. */ + /** Returns the canon Lua state (the primary cLuaState instance that was used to create, rather than attach, the + lua_State structure). Returns nullptr if the canon Lua state cannot be queried. */ cLuaState * QueryCanonLuaState(void) const; /** Outputs to log a warning about API call being unable to read its parameters from the stack, @@ -895,8 +906,7 @@ public: /** Removes this object's CS from the DeadlockDetect's tracked CSs. */ void UntrackInDeadlockDetect(cDeadlockDetect & a_DeadlockDetect); -protected: - + protected: cCriticalSection m_CS; lua_State * m_LuaState; @@ -927,8 +937,7 @@ protected: Returns true if call succeeded, false if there was an error (not a table ref, function name not found). A special param of cRet & signifies the end of param list and the start of return values. Example call: CallTableFn(TableRef, "FnName", Param1, Param2, Param3, cLuaState::Return, Ret1, Ret2) */ - template - bool CallTableFn(const cRef & a_TableRef, const char * a_FnName, Args &&... args) + template bool CallTableFn(const cRef & a_TableRef, const char * a_FnName, Args &&... args) { if (!PushFunction(a_TableRef, a_FnName)) { @@ -939,24 +948,21 @@ protected: } /** Variadic template terminator: If there's nothing more to push / pop, just call the function. - Note that there are no return values either, because those are prefixed by a cRet value, so the arg list is never empty. */ - bool PushCallPop(void) - { - return CallFunction(0); - } + Note that there are no return values either, because those are prefixed by a cRet value, so the arg list is never + empty. */ + bool PushCallPop(void) { return CallFunction(0); } /** Variadic template recursor: More params to push. Push them and recurse. */ - template - inline bool PushCallPop(T && a_Param, Args &&... args) + template inline bool PushCallPop(T && a_Param, Args &&... args) { Push(std::forward(a_Param)); m_NumCurrentFunctionArgs += 1; return PushCallPop(std::forward(args)...); } - /** Variadic template terminator: If there's nothing more to push, but return values to collect, call the function and collect the returns. */ - template - bool PushCallPop(cLuaState::cRet, Args &&... args) + /** Variadic template terminator: If there's nothing more to push, but return values to collect, call the function + * and collect the returns. */ + template bool PushCallPop(cLuaState::cRet, Args &&... args) { // Calculate the number of return values (number of args left): int NumReturns = sizeof...(args); @@ -976,12 +982,10 @@ protected: } /** Variadic template terminator: If there are no more values to get, bail out. - This function is not available in the public API, because it's an error to request no values directly; only internal functions can do that. - If you get a compile error saying this function is not accessible, check your calling code, you aren't reading any stack values. */ - bool GetStackValues(int a_StartingStackPos) - { - return true; - } + This function is not available in the public API, because it's an error to request no values directly; only internal + functions can do that. If you get a compile error saying this function is not accessible, check your calling code, + you aren't reading any stack values. */ + bool GetStackValues(int a_StartingStackPos) { return true; } /** Pushes the function of the specified name onto the stack. Returns true if successful. Logs a warning on failure (incl. m_SubsystemName) @@ -1038,7 +1042,7 @@ extern template bool cLuaState::GetStackValue(int a_StackPos, Vector3i & a_Retur Can query each for the amount of currently used memory. */ class cLuaStateTracker { -public: + public: /** Adds the specified Lua state to the internal list of LuaStates. */ static void Add(cLuaState & a_LuaState); @@ -1048,7 +1052,7 @@ public: /** Returns the statistics for all the registered LuaStates. */ static AString GetStats(void); -protected: + protected: typedef cLuaState * cLuaStatePtr; typedef std::vector cLuaStatePtrs; @@ -1063,7 +1067,3 @@ protected: /** Returns the single instance of this class. */ static cLuaStateTracker & Get(void); }; - - - - diff --git a/src/Bindings/LuaTCPLink.cpp b/src/Bindings/LuaTCPLink.cpp index 883361abb..25fc13e51 100644 --- a/src/Bindings/LuaTCPLink.cpp +++ b/src/Bindings/LuaTCPLink.cpp @@ -13,7 +13,7 @@ -cLuaTCPLink::cLuaTCPLink(cLuaState::cTableRefPtr && a_Callbacks): +cLuaTCPLink::cLuaTCPLink(cLuaState::cTableRefPtr && a_Callbacks) : m_Callbacks(std::move(a_Callbacks)) { } @@ -22,9 +22,8 @@ cLuaTCPLink::cLuaTCPLink(cLuaState::cTableRefPtr && a_Callbacks): -cLuaTCPLink::cLuaTCPLink(cLuaState::cTableRefPtr && a_Callbacks, cLuaServerHandleWPtr a_ServerHandle): - m_Callbacks(std::move(a_Callbacks)), - m_Server(std::move(a_ServerHandle)) +cLuaTCPLink::cLuaTCPLink(cLuaState::cTableRefPtr && a_Callbacks, cLuaServerHandleWPtr a_ServerHandle) : + m_Callbacks(std::move(a_Callbacks)), m_Server(std::move(a_ServerHandle)) { } @@ -223,19 +222,19 @@ AString cLuaTCPLink::StartTLSServer( auto link = m_Link; if (link != nullptr) { - // Create the peer cert: - auto OwnCert = std::make_shared(); - int res = OwnCert->Parse(a_OwnCertData.data(), a_OwnCertData.size()); - if (res != 0) - { - return fmt::format(FMT_STRING("Cannot parse server certificate: -0x{:x}"), -res); - } - auto OwnPrivKey = std::make_shared(); - res = OwnPrivKey->ParsePrivate(a_OwnPrivKeyData.data(), a_OwnPrivKeyData.size(), a_OwnPrivKeyPassword); - if (res != 0) - { - return fmt::format(FMT_STRING("Cannot parse server private key: -0x{:x}"), -res); - } + // Create the peer cert: + auto OwnCert = std::make_shared(); + int res = OwnCert->Parse(a_OwnCertData.data(), a_OwnCertData.size()); + if (res != 0) + { + return fmt::format(FMT_STRING("Cannot parse server certificate: -0x{:x}"), -res); + } + auto OwnPrivKey = std::make_shared(); + res = OwnPrivKey->ParsePrivate(a_OwnPrivKeyData.data(), a_OwnPrivKeyData.size(), a_OwnPrivKeyPassword); + if (res != 0) + { + return fmt::format(FMT_STRING("Cannot parse server private key: -0x{:x}"), -res); + } return link->StartTLSServer(OwnCert, OwnPrivKey, a_StartTLSData); } @@ -263,7 +262,7 @@ void cLuaTCPLink::Terminated(void) // If the link is still open, close it: { - auto link= m_Link; + auto link = m_Link; if (link != nullptr) { link->Close(); @@ -337,8 +336,3 @@ void cLuaTCPLink::OnRemoteClosed(void) // Terminate all processing on the link: Terminated(); } - - - - - diff --git a/src/Bindings/LuaTCPLink.h b/src/Bindings/LuaTCPLink.h index e5618f838..1e8e28f28 100644 --- a/src/Bindings/LuaTCPLink.h +++ b/src/Bindings/LuaTCPLink.h @@ -24,15 +24,15 @@ typedef std::weak_ptr cLuaServerHandleWPtr; -class cLuaTCPLink: - public cNetwork::cConnectCallbacks, - public cTCPLink::cCallbacks +class cLuaTCPLink : public cNetwork::cConnectCallbacks, + public cTCPLink::cCallbacks { -public: + public: /** Creates a new instance of the link, wrapping the callbacks that are in the specified table. */ cLuaTCPLink(cLuaState::cTableRefPtr && a_Callbacks); - /** Creates a new instance of the link, attached to the specified plugin and wrapping the callbacks that are in the specified referenced table. */ + /** Creates a new instance of the link, attached to the specified plugin and wrapping the callbacks that are in the + * specified referenced table. */ cLuaTCPLink(cLuaState::cTableRefPtr && a_Callbacks, cLuaServerHandleWPtr a_Server); virtual ~cLuaTCPLink() override; @@ -90,8 +90,7 @@ public: const AString & a_StartTLSData ); -protected: - + protected: /** The Lua table that holds the callbacks to be invoked. */ cLuaState::cTableRefPtr m_Callbacks; @@ -120,7 +119,3 @@ protected: virtual void OnRemoteClosed(void) override; // The OnError() callback is shared with cNetwork::cConnectCallbacks }; - - - - diff --git a/src/Bindings/LuaUDPEndpoint.cpp b/src/Bindings/LuaUDPEndpoint.cpp index c98be13d3..ffb21c0a6 100644 --- a/src/Bindings/LuaUDPEndpoint.cpp +++ b/src/Bindings/LuaUDPEndpoint.cpp @@ -10,7 +10,7 @@ -cLuaUDPEndpoint::cLuaUDPEndpoint(cLuaState::cTableRefPtr && a_Callbacks): +cLuaUDPEndpoint::cLuaUDPEndpoint(cLuaState::cTableRefPtr && a_Callbacks) : m_Callbacks(std::move(a_Callbacks)) { } @@ -165,7 +165,12 @@ void cLuaUDPEndpoint::Terminated(void) -void cLuaUDPEndpoint::OnReceivedData(const char * a_Data, size_t a_NumBytes, const AString & a_RemotePeer, UInt16 a_RemotePort) +void cLuaUDPEndpoint::OnReceivedData( + const char * a_Data, + size_t a_NumBytes, + const AString & a_RemotePeer, + UInt16 a_RemotePort +) { m_Callbacks->CallTableFn("OnReceivedData", this, AString(a_Data, a_NumBytes), a_RemotePeer, a_RemotePort); } @@ -182,7 +187,3 @@ void cLuaUDPEndpoint::OnError(int a_ErrorCode, const AString & a_ErrorMsg) // Terminate all processing on the endpoint: Terminated(); } - - - - diff --git a/src/Bindings/LuaUDPEndpoint.h b/src/Bindings/LuaUDPEndpoint.h index 0b37f2903..37dd92178 100644 --- a/src/Bindings/LuaUDPEndpoint.h +++ b/src/Bindings/LuaUDPEndpoint.h @@ -24,17 +24,17 @@ typedef std::shared_ptr cLuaUDPEndpointPtr; -class cLuaUDPEndpoint: - public cUDPEndpoint::cCallbacks +class cLuaUDPEndpoint : public cUDPEndpoint::cCallbacks { -public: + public: /** Creates a new instance of the endpoint, wrapping the callbacks that are in the specified table. */ cLuaUDPEndpoint(cLuaState::cTableRefPtr && a_Callbacks); virtual ~cLuaUDPEndpoint() override; /** Opens the endpoint so that it starts listening for incoming data on the specified port. - a_Self is the shared pointer to self that the object keeps to keep itself alive for as long as it needs (for Lua). */ + a_Self is the shared pointer to self that the object keeps to keep itself alive for as long as it needs (for Lua). + */ bool Open(UInt16 a_Port, cLuaUDPEndpointPtr a_Self); /** Sends the data contained in the string to the specified remote peer. @@ -57,7 +57,7 @@ public: Releases the internal SharedPtr to self, so that the instance may be deallocated. */ void Release(void); -protected: + protected: /** The Lua table that holds the callbacks to be invoked. */ cLuaState::cTableRefPtr m_Callbacks; @@ -75,9 +75,6 @@ protected: // cUDPEndpoint::cCallbacks overrides: virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) override; - virtual void OnReceivedData(const char * a_Data, size_t a_Size, const AString & a_RemotePeer, UInt16 a_RemotePort) override; + virtual void OnReceivedData(const char * a_Data, size_t a_Size, const AString & a_RemotePeer, UInt16 a_RemotePort) + override; }; - - - - diff --git a/src/Bindings/LuaWindow.cpp b/src/Bindings/LuaWindow.cpp index 073b8c21e..e3e073300 100644 --- a/src/Bindings/LuaWindow.cpp +++ b/src/Bindings/LuaWindow.cpp @@ -9,7 +9,7 @@ #include "PluginLua.h" extern "C" { - #include "lua/src/lauxlib.h" // Needed for LUA_REFNIL +#include "lua/src/lauxlib.h" // Needed for LUA_REFNIL } #include "../Root.h" #include "../ClientHandle.h" @@ -20,12 +20,18 @@ extern "C" //////////////////////////////////////////////////////////////////////////////// // cLuaWindow: -cLuaWindow::cLuaWindow(cLuaState & a_LuaState, cWindow::WindowType a_WindowType, int a_SlotsX, int a_SlotsY, const AString & a_Title) : - Super(a_WindowType, a_Title), - m_Contents(a_SlotsX, a_SlotsY), - m_LuaState(a_LuaState.QueryCanonLuaState()) +cLuaWindow::cLuaWindow( + cLuaState & a_LuaState, + cWindow::WindowType a_WindowType, + int a_SlotsX, + int a_SlotsY, + const AString & a_Title +) : + Super(a_WindowType, a_Title), m_Contents(a_SlotsX, a_SlotsY), m_LuaState(a_LuaState.QueryCanonLuaState()) { - ASSERT(m_LuaState != nullptr); // We must have a valid Lua state; this assert fails only if there was no Canon Lua state + ASSERT( + m_LuaState != nullptr + ); // We must have a valid Lua state; this assert fails only if there was no Canon Lua state m_Contents.AddListener(*this); m_SlotAreas.push_back(new cSlotAreaItemGrid(m_Contents, *this)); @@ -57,7 +63,8 @@ cLuaWindow::~cLuaWindow() m_Contents.RemoveListener(*this); // Close open lua window from players, to avoid dangling pointers - cRoot::Get()->ForEachPlayer([this](cPlayer & a_Player) + cRoot::Get()->ForEachPlayer( + [this](cPlayer & a_Player) { if (a_Player.GetWindow() == this) { @@ -123,7 +130,8 @@ void cLuaWindow::SetOnSlotChanged(cLuaState::cCallbackPtr && a_OnSlotChanged) void cLuaWindow::OpenedByPlayer(cPlayer & a_Player) { - // If the first player is opening the window, create a Lua Reference to the window object so that Lua will not GC it until the last player closes the window: + // If the first player is opening the window, create a Lua Reference to the window object so that Lua will not GC it + // until the last player closes the window: if (m_PlayerCount == 0) { m_LuaRef.CreateFromObject(*m_LuaState, this); @@ -143,9 +151,8 @@ bool cLuaWindow::ClosedByPlayer(cPlayer & a_Player, bool a_CanRefuse) if (m_OnClosing != nullptr) { bool res; - if ( - m_OnClosing->Call(this, &a_Player, a_CanRefuse, cLuaState::Return, res) && // The callback succeeded - res // The callback says not to close the window + if (m_OnClosing->Call(this, &a_Player, a_CanRefuse, cLuaState::Return, res) && // The callback succeeded + res // The callback says not to close the window ) { // The callback disagrees (the higher levels check the CanRefuse flag compliance) @@ -179,7 +186,13 @@ void cLuaWindow::Destroy(void) -void cLuaWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cLuaWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas Areas; for (auto && Area : m_SlotAreas) @@ -212,7 +225,13 @@ void cLuaWindow::OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) -void cLuaWindow::Clicked(cPlayer & a_Player, int a_WindowID, short a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) +void cLuaWindow::Clicked( + cPlayer & a_Player, + int a_WindowID, + short a_SlotNum, + eClickAction a_ClickAction, + const cItem & a_ClickedItem +) { if (m_OnClicked != nullptr) { @@ -229,7 +248,3 @@ void cLuaWindow::Clicked(cPlayer & a_Player, int a_WindowID, short a_SlotNum, eC cWindow::Clicked(a_Player, a_WindowID, a_SlotNum, a_ClickAction, a_ClickedItem); } - - - - diff --git a/src/Bindings/LuaWindow.h b/src/Bindings/LuaWindow.h index eb919fe01..7b3e61121 100644 --- a/src/Bindings/LuaWindow.h +++ b/src/Bindings/LuaWindow.h @@ -29,17 +29,23 @@ This object needs extra care with its lifetime management: removes the reference when the last player closes the window. */ // tolua_begin -class cLuaWindow : - public cWindow +class cLuaWindow : public cWindow // tolua_end - , public cItemGrid::cListener + , + public cItemGrid::cListener { // tolua_export using Super = cWindow; -public: + public: /** Create a window of the specified type, with a slot grid of a_SlotsX * a_SlotsY size. Exported in ManualBindings.cpp */ - cLuaWindow(cLuaState & a_LuaState, cWindow::WindowType a_WindowType, int a_SlotsX, int a_SlotsY, const AString & a_Title); + cLuaWindow( + cLuaState & a_LuaState, + cWindow::WindowType a_WindowType, + int a_SlotsX, + int a_SlotsY, + const AString & a_Title + ); // tolua_begin virtual ~cLuaWindow() override; @@ -59,8 +65,7 @@ public: /** Sets the Lua callback function to call when a slot is changed */ void SetOnSlotChanged(cLuaState::cCallbackPtr && a_OnSlotChanged); -protected: - + protected: /** Contents of the non-inventory part */ cItemGrid m_Contents; @@ -88,19 +93,22 @@ protected: // cWindow overrides: virtual void OpenedByPlayer(cPlayer & a_Player) override; virtual void Clicked( - cPlayer & a_Player, int a_WindowID, - short a_SlotNum, eClickAction a_ClickAction, + cPlayer & a_Player, + int a_WindowID, + short a_SlotNum, + eClickAction a_ClickAction, const cItem & a_ClickedItem ) override; virtual bool ClosedByPlayer(cPlayer & a_Player, bool a_CanRefuse) override; virtual void Destroy(void) override; - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; // cItemGrid::cListener overrides: virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) override; -} ; // tolua_export - - - - - +}; // tolua_export diff --git a/src/Bindings/ManualBindings.cpp b/src/Bindings/ManualBindings.cpp index 93c94fdff..5c70b3033 100644 --- a/src/Bindings/ManualBindings.cpp +++ b/src/Bindings/ManualBindings.cpp @@ -44,7 +44,7 @@ // Hotpatching the Macro to prevent a Clang Warning (0 for pointer used) -#undef lua_tostring +#undef lua_tostring #define lua_tostring(L, i) lua_tolstring(L, (i), nullptr) @@ -55,11 +55,10 @@ // LuaCommandHandler: /** Defines a bridge between cPluginManager::cCommandHandler and cLuaState::cCallback. */ -class LuaCommandHandler: - public cPluginManager::cCommandHandler +class LuaCommandHandler : public cPluginManager::cCommandHandler { -public: - LuaCommandHandler(cLuaState::cCallbackPtr && a_Callback): + public: + LuaCommandHandler(cLuaState::cCallbackPtr && a_Callback) : m_Callback(std::move(a_Callback)) { } @@ -84,7 +83,7 @@ public: return res; } -protected: + protected: cLuaState::cCallbackPtr m_Callback; }; @@ -105,7 +104,7 @@ int cManualBindings::tolua_do_error(lua_State * L, const char * a_pMsg, tolua_Er // Insert function name into error msg AString msg(a_pMsg); - ReplaceString(msg, "#funcname#", entry.name?entry.name:"?"); + ReplaceString(msg, "#funcname#", entry.name ? entry.name : "?"); // Send the error to Lua tolua_error(L, msg.c_str(), a_pToLuaError); @@ -146,12 +145,19 @@ static int tolua_Clamp(lua_State * tolua_S) int NumArgs = lua_gettop(LuaState); if (NumArgs != 3) { - return cManualBindings::lua_do_error(LuaState, "Error in function call '#funcname#': Requires 3 arguments, got %i", NumArgs); + return cManualBindings::lua_do_error( + LuaState, + "Error in function call '#funcname#': Requires 3 arguments, got %i", + NumArgs + ); } if (!lua_isnumber(LuaState, 1) || !lua_isnumber(LuaState, 2) || !lua_isnumber(LuaState, 3)) { - return cManualBindings::lua_do_error(LuaState, "Error in function call '#funcname#': Expected a number for parameters #1, #2 and #3"); + return cManualBindings::lua_do_error( + LuaState, + "Error in function call '#funcname#': Expected a number for parameters #1, #2 and #3" + ); } lua_Number Number = tolua_tonumber(LuaState, 1, 0); @@ -170,13 +176,7 @@ static int tolua_Clamp(lua_State * tolua_S) static int tolua_CompressStringZLIB(lua_State * tolua_S) { cLuaState S(tolua_S); - if ( - !S.CheckParamString(1) || - ( - !S.CheckParamNumber(2) && - !S.CheckParamEnd(2) - ) - ) + if (!S.CheckParamString(1) || (!S.CheckParamNumber(2) && !S.CheckParamEnd(2))) { cLuaState::LogStackTrace(tolua_S); return 0; @@ -199,10 +199,7 @@ static int tolua_CompressStringZLIB(lua_State * tolua_S) static int tolua_UncompressStringZLIB(lua_State * tolua_S) { cLuaState S(tolua_S); - if ( - !S.CheckParamString(1) || - !S.CheckParamNumber(2) - ) + if (!S.CheckParamString(1) || !S.CheckParamNumber(2)) { cLuaState::LogStackTrace(tolua_S); return 0; @@ -234,10 +231,7 @@ static int tolua_UncompressStringZLIB(lua_State * tolua_S) static int tolua_CompressStringGZIP(lua_State * tolua_S) { cLuaState S(tolua_S); - if ( - !S.CheckParamString(1) || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamString(1) || !S.CheckParamEnd(2)) { cLuaState::LogStackTrace(tolua_S); return 0; @@ -259,10 +253,7 @@ static int tolua_CompressStringGZIP(lua_State * tolua_S) static int tolua_InflateString(lua_State * tolua_S) { cLuaState S(tolua_S); - if ( - !S.CheckParamString(1) || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamString(1) || !S.CheckParamEnd(2)) { cLuaState::LogStackTrace(tolua_S); return 0; @@ -328,10 +319,7 @@ static int tolua_StringSplitAndTrim(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamString(1, 2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamString(1, 2) || !L.CheckParamEnd(3)) { return 0; } @@ -347,7 +335,8 @@ static int tolua_StringSplitAndTrim(lua_State * tolua_S) -/** Prints the message to the console, optionally formatting it with a plugin name prefix if the second param on the Lua stack is true. */ +/** Prints the message to the console, optionally formatting it with a plugin name prefix if the second param on the Lua + * stack is true. */ static void LogFromLuaStack(lua_State * tolua_S, const std::string_view a_Message, const eLogLevel a_LogLevel) { if (lua_isboolean(tolua_S, 2) && (lua_toboolean(tolua_S, 2) == 1)) @@ -356,7 +345,10 @@ static void LogFromLuaStack(lua_State * tolua_S, const std::string_view a_Messag } else { - Logger::LogSimple(fmt::format("[{}] {}", cManualBindings::GetLuaPlugin(tolua_S)->GetName(), a_Message), a_LogLevel); + Logger::LogSimple( + fmt::format("[{}] {}", cManualBindings::GetLuaPlugin(tolua_S)->GetName(), a_Message), + a_LogLevel + ); } } @@ -364,7 +356,8 @@ static void LogFromLuaStack(lua_State * tolua_S, const std::string_view a_Messag -/** Retrieves a string log message from the first param on the Lua stack, optionally prefixes it with plugin name, and prints it to the console. */ +/** Retrieves a string log message from the first param on the Lua stack, optionally prefixes it with plugin name, and + * prints it to the console. */ static void LogFromLuaStack(lua_State * tolua_S, const eLogLevel a_LogLevel) { cLuaState L(tolua_S); @@ -393,7 +386,11 @@ static int tolua_LOG(lua_State * tolua_S) const auto CompositeChat = static_cast(tolua_tousertype(tolua_S, 1, nullptr)); if (CompositeChat != nullptr) // isusertype returns true for nil values { - LogFromLuaStack(tolua_S, CompositeChat->ExtractText(), cCompositeChat::MessageTypeToLogLevel(CompositeChat->GetMessageType())); + LogFromLuaStack( + tolua_S, + CompositeChat->ExtractText(), + cCompositeChat::MessageTypeToLogLevel(CompositeChat->GetMessageType()) + ); return 0; } } @@ -440,10 +437,7 @@ static int tolua_LOGERROR(lua_State * tolua_S) static int tolua_Base64Encode(lua_State * tolua_S) { cLuaState L(tolua_S); - if ( - !L.CheckParamString(1) || - !L.CheckParamEnd(2) - ) + if (!L.CheckParamString(1) || !L.CheckParamEnd(2)) { return 0; } @@ -462,10 +456,7 @@ static int tolua_Base64Encode(lua_State * tolua_S) static int tolua_Base64Decode(lua_State * tolua_S) { cLuaState L(tolua_S); - if ( - !L.CheckParamString(1) || - !L.CheckParamEnd(2) - ) + if (!L.CheckParamString(1) || !L.CheckParamEnd(2)) { return 0; } @@ -491,7 +482,7 @@ cPluginLua * cManualBindings::GetLuaPlugin(lua_State * L) lua_pop(L, 1); return nullptr; } - cPluginLua * Plugin = static_cast(const_cast(lua_topointer(L, -1))); + cPluginLua * Plugin = static_cast(const_cast(lua_topointer(L, -1))); lua_pop(L, 1); return Plugin; @@ -508,11 +499,7 @@ static int tolua_cFile_ChangeFileExt(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2, 3) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2, 3) || !L.CheckParamEnd(4)) { return 0; } @@ -535,11 +522,7 @@ static int tolua_cFile_Copy(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2, 3) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2, 3) || !L.CheckParamEnd(4)) { return 0; } @@ -562,11 +545,7 @@ static int tolua_cFile_CreateFolder(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -589,11 +568,7 @@ static int tolua_cFile_CreateFolderRecursive(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -616,11 +591,7 @@ static int tolua_cFile_Delete(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -643,11 +614,7 @@ static int tolua_cFile_DeleteFile(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -670,11 +637,7 @@ static int tolua_cFile_DeleteFolder(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -697,11 +660,7 @@ static int tolua_cFile_DeleteFolderContents(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -728,11 +687,7 @@ static int tolua_cFile_Exists(lua_State * tolua_S) L.LogStackTrace(); // Check params: - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -755,11 +710,7 @@ static int tolua_cFile_GetFolderContents(lua_State * tolua_S) // Check params: cLuaState LuaState(tolua_S); - if ( - !LuaState.CheckParamUserTable(1, "cFile") || - !LuaState.CheckParamString (2) || - !LuaState.CheckParamEnd (3) - ) + if (!LuaState.CheckParamUserTable(1, "cFile") || !LuaState.CheckParamString(2) || !LuaState.CheckParamEnd(3)) { return 0; } @@ -784,11 +735,7 @@ static int tolua_cFile_GetLastModificationTime(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -811,11 +758,7 @@ static int tolua_cFile_GetSize(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -838,11 +781,7 @@ static int tolua_cFile_IsFile(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -865,11 +804,7 @@ static int tolua_cFile_IsFolder(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -892,11 +827,7 @@ static int tolua_cFile_ReadWholeFile(lua_State * tolua_S) // Check params: cLuaState LuaState(tolua_S); - if ( - !LuaState.CheckParamUserTable(1, "cFile") || - !LuaState.CheckParamString (2) || - !LuaState.CheckParamEnd (3) - ) + if (!LuaState.CheckParamUserTable(1, "cFile") || !LuaState.CheckParamString(2) || !LuaState.CheckParamEnd(3)) { return 0; } @@ -921,11 +852,7 @@ static int tolua_cFile_Rename(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cFile") || - !L.CheckParamString(2, 3) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamUserTable(1, "cFile") || !L.CheckParamString(2, 3) || !L.CheckParamEnd(4)) { return 0; } @@ -975,7 +902,8 @@ static int tolua_cPluginManager_GetCurrentPlugin(lua_State * S) static int tolua_cPluginManager_GetPlugin(lua_State * tolua_S) { // API function no longer available: - LOGWARNING("cPluginManager:GetPlugin() is no longer available. Use cPluginManager:DoWithPlugin() or cPluginManager:CallPlugin() instead."); + LOGWARNING("cPluginManager:GetPlugin() is no longer available. Use cPluginManager:DoWithPlugin() or " + "cPluginManager:CallPlugin() instead."); cLuaState::LogStackTrace(tolua_S); return 0; } @@ -1057,14 +985,17 @@ static int tolua_cPluginManager_AddHook_DefFn(cPluginManager * a_PluginManager, cPluginLua * Plugin = static_cast(tolua_tousertype(S, a_ParamIdx, nullptr)); if (Plugin == nullptr) { - LOGWARNING("cPluginManager.AddHook(): Invalid Plugin parameter, expected a valid cPlugin object. Hook not added"); + LOGWARNING("cPluginManager.AddHook(): Invalid Plugin parameter, expected a valid cPlugin object. Hook not added" + ); S.LogStackTrace(); return 0; } if (Plugin != cManualBindings::GetLuaPlugin(S)) { // The plugin parameter passed to us is not our stored plugin. Disallow this! - LOGWARNING("cPluginManager.AddHook(): Invalid Plugin parameter, cannot add hook to foreign plugins. Hook not added."); + LOGWARNING( + "cPluginManager.AddHook(): Invalid Plugin parameter, cannot add hook to foreign plugins. Hook not added." + ); S.LogStackTrace(); return 0; } @@ -1115,8 +1046,9 @@ static int tolua_cPluginManager_AddHook(lua_State * tolua_S) cPluginManager:AddHook(HOOK_TYPE, CallbackFunction) -- (1) recommended cPluginManager.AddHook(HOOK_TYPE, CallbackFunction) -- (2) accepted silently (#401 deprecates this) cPluginManager:Get():AddHook(HOOK_TYPE, CallbackFunction) -- (3) accepted silently - cPluginManager:Get():AddHook(Plugin, HOOK_TYPE) -- (4) old style (#121), accepted but complained about in the console - cPluginManager.AddHook(Plugin, HOOK_TYPE) -- (5) old style (#121) mangled, accepted but complained about in the console + cPluginManager:Get():AddHook(Plugin, HOOK_TYPE) -- (4) old style (#121), accepted but complained about in + the console cPluginManager.AddHook(Plugin, HOOK_TYPE) -- (5) old style (#121) mangled, accepted but + complained about in the console */ cLuaState S(tolua_S); @@ -1131,7 +1063,9 @@ static int tolua_cPluginManager_AddHook(lua_State * tolua_S) PlgMgr = static_cast(tolua_tousertype(S, 1, nullptr)); if (PlgMgr == nullptr) { - LOGWARNING("Malformed plugin, use cPluginManager.AddHook(HOOK_TYPE, CallbackFunction). Fixing the call for you."); + LOGWARNING( + "Malformed plugin, use cPluginManager.AddHook(HOOK_TYPE, CallbackFunction). Fixing the call for you." + ); S.LogStackTrace(); PlgMgr = cPluginManager::Get(); } @@ -1151,13 +1085,17 @@ static int tolua_cPluginManager_AddHook(lua_State * tolua_S) else if (tolua_isusertype(S, ParamIdx, "cPlugin", 0, &err) && lua_isnumber(S, ParamIdx + 1)) { // The next params are a cPlugin and a number, assume style 3 or 4 - LOGINFO("cPluginManager.AddHook(): Deprecated format used, use cPluginManager.AddHook(HOOK_TYPE, CallbackFunction) instead. Fixing the call for you."); + LOGINFO("cPluginManager.AddHook(): Deprecated format used, use cPluginManager.AddHook(HOOK_TYPE, " + "CallbackFunction) instead. Fixing the call for you."); S.LogStackTrace(); return tolua_cPluginManager_AddHook_DefFn(PlgMgr, S, ParamIdx); } auto ParamDesc = fmt::format(FMT_STRING("{}, {}, {}"), S.GetTypeText(1), S.GetTypeText(2), S.GetTypeText(3)); - LOGWARNING("cPluginManager:AddHook(): bad parameters. Expected HOOK_TYPE and CallbackFunction, got %s. Hook not added.", ParamDesc); + LOGWARNING( + "cPluginManager:AddHook(): bad parameters. Expected HOOK_TYPE and CallbackFunction, got %s. Hook not added.", + ParamDesc + ); S.LogStackTrace(); return 0; } @@ -1175,11 +1113,7 @@ static int tolua_cPluginManager_ForEachCommand(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cPluginManager") || - !L.CheckParamFunction(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserType(1, "cPluginManager") || !L.CheckParamFunction(2) || !L.CheckParamEnd(3)) { return 0; } @@ -1196,15 +1130,19 @@ static int tolua_cPluginManager_ForEachCommand(lua_State * tolua_S) // Callback for enumerating all commands: class cLuaCallback : public cPluginManager::cCommandEnumCallback { - public: - cLuaCallback(cLuaState & a_LuaState, cLuaState::cRef & a_FnRef): - m_LuaState(a_LuaState), - m_FnRef(a_FnRef) + public: + cLuaCallback(cLuaState & a_LuaState, cLuaState::cRef & a_FnRef) : + m_LuaState(a_LuaState), m_FnRef(a_FnRef) { } - private: - virtual bool Command(const AString & a_Command, const cPlugin * a_Plugin, const AString & a_Permission, const AString & a_HelpString) override + private: + virtual bool Command( + const AString & a_Command, + const cPlugin * a_Plugin, + const AString & a_Permission, + const AString & a_HelpString + ) override { UNUSED(a_Plugin); bool ret = false; @@ -1233,11 +1171,7 @@ static int tolua_cPluginManager_ForEachConsoleCommand(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cPluginManager") || - !L.CheckParamFunction(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserType(1, "cPluginManager") || !L.CheckParamFunction(2) || !L.CheckParamEnd(3)) { return 0; } @@ -1254,15 +1188,19 @@ static int tolua_cPluginManager_ForEachConsoleCommand(lua_State * tolua_S) // Callback for enumerating all commands: class cLuaCallback : public cPluginManager::cCommandEnumCallback { - public: - cLuaCallback(cLuaState & a_LuaState, cLuaState::cRef & a_FnRef): - m_LuaState(a_LuaState), - m_FnRef(a_FnRef) + public: + cLuaCallback(cLuaState & a_LuaState, cLuaState::cRef & a_FnRef) : + m_LuaState(a_LuaState), m_FnRef(a_FnRef) { } - private: - virtual bool Command(const AString & a_Command, const cPlugin * a_Plugin, const AString & a_Permission, const AString & a_HelpString) override + private: + virtual bool Command( + const AString & a_Command, + const cPlugin * a_Plugin, + const AString & a_Permission, + const AString & a_HelpString + ) override { UNUSED(a_Plugin); UNUSED(a_Permission); @@ -1300,19 +1238,13 @@ static int tolua_cPluginManager_BindCommand(lua_State * a_LuaState) // Read the arguments to this API call: tolua_Error tolua_err; int idx = 1; - if ( - tolua_isusertype (L, 1, "cPluginManager", 0, &tolua_err) || - tolua_isusertable(L, 1, "cPluginManager", 0, &tolua_err) - ) + if (tolua_isusertype(L, 1, "cPluginManager", 0, &tolua_err) || + tolua_isusertable(L, 1, "cPluginManager", 0, &tolua_err)) { idx++; } - if ( - !tolua_iscppstring(L, idx, 0, &tolua_err) || - !tolua_iscppstring(L, idx + 1, 0, &tolua_err) || - !tolua_iscppstring(L, idx + 3, 0, &tolua_err) || - !tolua_isnoobj (L, idx + 4, &tolua_err) - ) + if (!tolua_iscppstring(L, idx, 0, &tolua_err) || !tolua_iscppstring(L, idx + 1, 0, &tolua_err) || + !tolua_iscppstring(L, idx + 3, 0, &tolua_err) || !tolua_isnoobj(L, idx + 4, &tolua_err)) { tolua_error(L, "#ferror in function 'BindCommand'.", &tolua_err); return 0; @@ -1367,25 +1299,24 @@ static int tolua_cPluginManager_BindConsoleCommand(lua_State * a_LuaState) // Read the arguments to this API call: tolua_Error tolua_err; int idx = 1; - if ( - tolua_isusertype(L, 1, "cPluginManager", 0, &tolua_err) || - tolua_isusertable(L, 1, "cPluginManager", 0, &tolua_err) - ) + if (tolua_isusertype(L, 1, "cPluginManager", 0, &tolua_err) || + tolua_isusertable(L, 1, "cPluginManager", 0, &tolua_err)) { idx++; } - if ( - !tolua_iscppstring(L, idx, 0, &tolua_err) || // Command + if (!tolua_iscppstring(L, idx, 0, &tolua_err) || // Command !tolua_iscppstring(L, idx + 2, 0, &tolua_err) || // HelpString - !tolua_isnoobj (L, idx + 3, &tolua_err) - ) + !tolua_isnoobj(L, idx + 3, &tolua_err)) { tolua_error(L, "#ferror in function 'BindConsoleCommand'.", &tolua_err); return 0; } if (!lua_isfunction(L, idx + 1)) { - luaL_error(L, "\"BindConsoleCommand\" function expects a function as its 2nd parameter. Command-binding aborted."); + luaL_error( + L, + "\"BindConsoleCommand\" function expects a function as its 2nd parameter. Command-binding aborted." + ); return 0; } cPluginManager * self = cPluginManager::Get(); @@ -1394,7 +1325,10 @@ static int tolua_cPluginManager_BindConsoleCommand(lua_State * a_LuaState) L.GetStackValues(idx, Command, Handler, HelpString); if (!Handler->IsValid()) { - LOGERROR("\"BindConsoleCommand\": Cannot create a function reference. Console command \"%s\" not bound.", Command.c_str()); + LOGERROR( + "\"BindConsoleCommand\": Cannot create a function reference. Console command \"%s\" not bound.", + Command.c_str() + ); return 0; } @@ -1422,9 +1356,7 @@ static int tolua_cPluginManager_CallPlugin(lua_State * tolua_S) // Check the parameters: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cPluginManager") || - !L.CheckParamString(2, 3)) + if (!L.CheckParamUserTable(1, "cPluginManager") || !L.CheckParamString(2, 3)) { return 0; } @@ -1456,16 +1388,15 @@ static int tolua_cPluginManager_CallPlugin(lua_State * tolua_S) // Call the destination plugin using a plugin callback: int NumReturns = 0; auto PluginCallback = [&](cPlugin & a_Plugin) + { + if (!a_Plugin.IsLoaded()) { - if (!a_Plugin.IsLoaded()) - { - return false; - } - NumReturns = static_cast(a_Plugin).CallFunctionFromForeignState( - FunctionName, L, 4, lua_gettop(L) - ); - return true; - }; + return false; + } + NumReturns = + static_cast(a_Plugin).CallFunctionFromForeignState(FunctionName, L, 4, lua_gettop(L)); + return true; + }; if (!cPluginManager::Get()->DoWithPlugin(PluginName, PluginCallback)) { @@ -1473,7 +1404,8 @@ static int tolua_cPluginManager_CallPlugin(lua_State * tolua_S) } if (NumReturns < 0) { - // The call has failed, there are zero return values. Do NOT return negative number (Lua considers that a "yield") + // The call has failed, there are zero return values. Do NOT return negative number (Lua considers that a + // "yield") return 0; } return NumReturns; @@ -1492,11 +1424,7 @@ static int tolua_cPluginManager_ExecuteConsoleCommand(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cPluginManager") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cPluginManager") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -1538,10 +1466,7 @@ static int tolua_cPlayer_GetPermissions(lua_State * tolua_S) // Check the params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cPlayer") || - !L.CheckParamEnd (2) - ) + if (!L.CheckParamUserType(1, "cPlayer") || !L.CheckParamEnd(2)) { return 0; } @@ -1569,10 +1494,7 @@ static int tolua_cPlayer_GetRestrictions(lua_State * tolua_S) // Check the params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cPlayer") || - !L.CheckParamEnd (2) - ) + if (!L.CheckParamUserType(1, "cPlayer") || !L.CheckParamEnd(2)) { return 0; } @@ -1620,12 +1542,8 @@ static int tolua_cPlayer_PlaceBlock(lua_State * tolua_S) { // Check the params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cPlayer") || - !L.CheckParamUserType(2, "Vector3") || - !L.CheckParamNumber(3, 4) || - !L.CheckParamEnd(5) - ) + if (!L.CheckParamSelf("cPlayer") || !L.CheckParamUserType(2, "Vector3") || !L.CheckParamNumber(3, 4) || + !L.CheckParamEnd(5)) { return 0; } @@ -1657,11 +1575,7 @@ static int tolua_cPlayer_PermissionMatches(lua_State * tolua_S) // Check the params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cPlayer") || - !L.CheckParamString (2, 3) || - !L.CheckParamEnd (4) - ) + if (!L.CheckParamUserTable(1, "cPlayer") || !L.CheckParamString(2, 3) || !L.CheckParamEnd(4)) { return 0; } @@ -1679,10 +1593,7 @@ static int tolua_cPlayer_PermissionMatches(lua_State * tolua_S) -template < - class OBJTYPE, - void (OBJTYPE::*SetCallback)(cLuaState::cCallbackPtr && a_CallbackFn) -> +template static int tolua_SetObjectCallback(lua_State * tolua_S) { // Function signature: OBJTYPE:SetWhateverCallback(CallbackFunction) @@ -1708,10 +1619,9 @@ static int tolua_SetObjectCallback(lua_State * tolua_S) // Callback class used for the WebTab: -class cWebTabCallback: - public cWebAdmin::cWebTabCallback +class cWebTabCallback : public cWebAdmin::cWebTabCallback { -public: + public: /** The Lua callback to call to generate the page contents. */ cLuaState::cCallback m_Callback; @@ -1723,7 +1633,8 @@ public: ) override { AString content, contentType; - return m_Callback.Call(const_cast(&a_Request), a_UrlPath, cLuaState::Return, a_Content, a_ContentType); + return m_Callback + .Call(const_cast(&a_Request), a_UrlPath, cLuaState::Return, a_Content, a_ContentType); } }; @@ -1747,12 +1658,9 @@ static int tolua_cPluginLua_AddWebTab(lua_State * tolua_S) { return 0; } - if ( - !LuaState.CheckParamString(2) || - !LuaState.CheckParamFunction(3) || + if (!LuaState.CheckParamString(2) || !LuaState.CheckParamFunction(3) || // Optional string as param 4 - !LuaState.CheckParamEnd(5) - ) + !LuaState.CheckParamEnd(5)) { return 0; } @@ -1867,7 +1775,8 @@ static int tolua_md5HexString(lua_State * tolua_S) Output << std::hex << std::setfill('0'); for (size_t i = 0; i < ARRAYCOUNT(md5Output); i++) { - Output << std::setw(2) << static_cast(md5Output[i]); // Need to cast to a number, otherwise a char is output + Output << std::setw(2) + << static_cast(md5Output[i]); // Need to cast to a number, otherwise a char is output } lua_pushlstring(tolua_S, Output.str().c_str(), Output.str().size()); return 1; @@ -1913,7 +1822,8 @@ static int tolua_sha1HexString(lua_State * tolua_S) Output << std::hex << std::setfill('0'); for (size_t i = 0; i < ARRAYCOUNT(sha1Output); i++) { - Output << std::setw(2) << static_cast(sha1Output[i]); // Need to cast to a number, otherwise a char is output + Output << std::setw(2) + << static_cast(sha1Output[i]); // Need to cast to a number, otherwise a char is output } lua_pushlstring(tolua_S, Output.str().c_str(), Output.str().size()); return 1; @@ -1959,7 +1869,7 @@ static int tolua_get_HTTPRequest_PostParams(lua_State * a_LuaState) -static int tolua_get_HTTPRequest_FormData(lua_State* a_LuaState) +static int tolua_get_HTTPRequest_FormData(lua_State * a_LuaState) { cLuaState L(a_LuaState); HTTPRequest * self; @@ -1977,7 +1887,8 @@ static int tolua_get_HTTPRequest_FormData(lua_State* a_LuaState) { lua_pushstring(a_LuaState, Data.first.c_str()); tolua_pushusertype(a_LuaState, &Data.second, "HTTPFormData"); - // lua_pushlstring(a_LuaState, Data.second.Value.c_str(), Data.second.Value.size()); // Might contain binary data + // lua_pushlstring(a_LuaState, Data.second.Value.c_str(), Data.second.Value.size()); // Might contain binary + // data lua_settable(a_LuaState, top); } @@ -1995,11 +1906,7 @@ static int tolua_cUrlParser_GetDefaultPort(lua_State * a_LuaState) // Check params: cLuaState L(a_LuaState); - if ( - !L.CheckParamUserTable(1, "cUrlParser") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cUrlParser") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -2024,11 +1931,7 @@ static int tolua_cUrlParser_IsKnownScheme(lua_State * a_LuaState) // Check params: cLuaState L(a_LuaState); - if ( - !L.CheckParamUserTable(1, "cUrlParser") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cUrlParser") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -2054,11 +1957,7 @@ static int tolua_cUrlParser_Parse(lua_State * a_LuaState) // Check params: cLuaState L(a_LuaState); - if ( - !L.CheckParamUserTable(1, "cUrlParser") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cUrlParser") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -2094,11 +1993,7 @@ static int tolua_cUrlParser_ParseAuthorityPart(lua_State * a_LuaState) // Check params: cLuaState L(a_LuaState); - if ( - !L.CheckParamUserTable(1, "cUrlParser") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamUserTable(1, "cUrlParser") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -2237,7 +2132,7 @@ static int tolua_cWebAdmin_GetAllWebTabs(lua_State * tolua_S) int newTable = lua_gettop(tolua_S); int index = 1; cLuaState L(tolua_S); - for (const auto & wt: webTabs) + for (const auto & wt : webTabs) { lua_createtable(tolua_S, 0, 3); L.Push(wt->m_PluginName); @@ -2331,11 +2226,7 @@ static int tolua_cWebAdmin_GetURLEncodedString(lua_State * tolua_S) static int tolua_cClientHandle_SendPluginMessage(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamSelf("cClientHandle") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamSelf("cClientHandle") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -2360,12 +2251,7 @@ static int tolua_cClientHandle_SendPluginMessage(lua_State * L) static int tolua_cClientHandle_SendTimeUpdate(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamSelf("cClientHandle") || - !S.CheckParamNumber(2, 3) || - !S.CheckParamBool(4) || - !S.CheckParamEnd(5) - ) + if (!S.CheckParamSelf("cClientHandle") || !S.CheckParamNumber(2, 3) || !S.CheckParamBool(4) || !S.CheckParamEnd(5)) { return 0; } @@ -2390,10 +2276,7 @@ static int tolua_cClientHandle_SendTimeUpdate(lua_State * L) static int tolua_cClientHandle_GetForgeMods(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamSelf("cClientHandle") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cClientHandle") || !S.CheckParamEnd(2)) { return 0; } @@ -2412,10 +2295,7 @@ static int tolua_cClientHandle_GetUUID(lua_State * tolua_S) { // Check the params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cClientHandle") || - !L.CheckParamEnd(2) - ) + if (!L.CheckParamSelf("cClientHandle") || !L.CheckParamEnd(2)) { return 0; } @@ -2437,11 +2317,7 @@ static int tolua_cClientHandle_GenerateOfflineUUID(lua_State * tolua_S) { // Check the params: cLuaState L(tolua_S); - if ( - !L.CheckParamStaticSelf("cClientHandle") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamStaticSelf("cClientHandle") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -2463,11 +2339,7 @@ static int tolua_cClientHandle_IsUUIDOnline(lua_State * tolua_S) { // Check the params: cLuaState L(tolua_S); - if ( - !L.CheckParamStaticSelf("cClientHandle") || - !L.CheckParamUUID(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamStaticSelf("cClientHandle") || !L.CheckParamUUID(2) || !L.CheckParamEnd(3)) { return 0; } @@ -2489,12 +2361,7 @@ static int tolua_cMobHeadEntity_SetOwner(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cMobHeadEntity") || - !L.CheckParamUUID(2) || - !L.CheckParamString(3, 5) || - !L.CheckParamEnd(6) - ) + if (!L.CheckParamSelf("cMobHeadEntity") || !L.CheckParamUUID(2) || !L.CheckParamString(3, 5) || !L.CheckParamEnd(6)) { return 0; } @@ -2519,10 +2386,7 @@ static int tolua_cMobHeadEntity_GetOwnerUUID(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cMobHeadEntity") || - !L.CheckParamEnd(2) - ) + if (!L.CheckParamSelf("cMobHeadEntity") || !L.CheckParamEnd(2)) { return 0; } @@ -2533,7 +2397,7 @@ static int tolua_cMobHeadEntity_GetOwnerUUID(lua_State * tolua_S) // Return the UUID as a string: cUUID Owner = Self->GetOwnerUUID(); - L.Push(Owner.IsNil() ? AString{} : Owner.ToShortString()); + L.Push(Owner.IsNil() ? AString {} : Owner.ToShortString()); return 1; } @@ -2544,12 +2408,7 @@ static int tolua_cMobHeadEntity_GetOwnerUUID(lua_State * tolua_S) static int tolua_cMojangAPI_AddPlayerNameToUUIDMapping(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cMojangAPI") || - !S.CheckParamString(2) || - !S.CheckParamUUID(3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamStaticSelf("cMojangAPI") || !S.CheckParamString(2) || !S.CheckParamUUID(3) || !S.CheckParamEnd(4)) { return 0; } @@ -2571,11 +2430,7 @@ static int tolua_cMojangAPI_AddPlayerNameToUUIDMapping(lua_State * L) static int tolua_cMojangAPI_GetPlayerNameFromUUID(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cMojangAPI") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamStaticSelf("cMojangAPI") || !S.CheckParamUUID(2) || !S.CheckParamEnd(4)) { return 0; } @@ -2604,11 +2459,7 @@ static int tolua_cMojangAPI_GetPlayerNameFromUUID(lua_State * L) static int tolua_cMojangAPI_GetUUIDFromPlayerName(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cMojangAPI") || - !S.CheckParamString(2) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamStaticSelf("cMojangAPI") || !S.CheckParamString(2) || !S.CheckParamEnd(4)) { return 0; } @@ -2626,7 +2477,7 @@ static int tolua_cMojangAPI_GetUUIDFromPlayerName(lua_State * L) // Return the UUID as a string: cUUID UUID = cRoot::Get()->GetMojangAPI().GetUUIDFromPlayerName(PlayerName, ShouldUseCacheOnly); - S.Push(UUID.IsNil() ? AString{} : UUID.ToShortString()); + S.Push(UUID.IsNil() ? AString {} : UUID.ToShortString()); return 1; } @@ -2637,11 +2488,7 @@ static int tolua_cMojangAPI_GetUUIDFromPlayerName(lua_State * L) static int tolua_cMojangAPI_GetUUIDsFromPlayerNames(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cMojangAPI") || - !S.CheckParamTable(2) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamStaticSelf("cMojangAPI") || !S.CheckParamTable(2) || !S.CheckParamEnd(4)) { return 0; } @@ -2706,11 +2553,7 @@ static int tolua_cMojangAPI_MakeUUIDDashed(lua_State * L) // Check params: cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cMojangAPI") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cMojangAPI") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -2734,11 +2577,7 @@ static int tolua_cMojangAPI_MakeUUIDShort(lua_State * L) // Check params: cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cMojangAPI") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cMojangAPI") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -2782,10 +2621,7 @@ static int tolua_cItem_EnchantByXPLevels(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cItem") || - !L.CheckParamNumber(2) - ) + if (!L.CheckParamSelf("cItem") || !L.CheckParamNumber(2)) { return 0; } @@ -2809,10 +2645,7 @@ static int tolua_set_cItem_m_LoreTable(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cItem") || - !L.CheckParamTable(2) - ) + if (!L.CheckParamSelf("cItem") || !L.CheckParamTable(2)) { return 0; } @@ -2837,11 +2670,8 @@ static int tolua_set_cItem_m_LoreTable(lua_State * tolua_S) static int Lua_ItemGrid_GetSlotCoords(lua_State * L) { tolua_Error tolua_err; - if ( - !tolua_isusertype(L, 1, "const cItemGrid", 0, &tolua_err) || - !tolua_isnumber (L, 2, 0, &tolua_err) || - !tolua_isnoobj (L, 3, &tolua_err) - ) + if (!tolua_isusertype(L, 1, "const cItemGrid", 0, &tolua_err) || !tolua_isnumber(L, 2, 0, &tolua_err) || + !tolua_isnoobj(L, 3, &tolua_err)) { goto tolua_lerror; } @@ -2871,26 +2701,20 @@ tolua_lerror: /** Provides interface between a Lua table of callbacks and the cBlockTracer::cCallbacks */ -class cLuaBlockTracerCallbacks : - public cBlockTracer::cCallbacks +class cLuaBlockTracerCallbacks : public cBlockTracer::cCallbacks { -public: - cLuaBlockTracerCallbacks(cLuaState::cTableRefPtr && a_Callbacks): + public: + cLuaBlockTracerCallbacks(cLuaState::cTableRefPtr && a_Callbacks) : m_Callbacks(std::move(a_Callbacks)) { } - virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) + override { bool res = false; - if (m_Callbacks->CallTableFn( - "OnNextBlock", - a_BlockPos, - a_BlockType, - a_BlockMeta, - a_EntryFace, - cLuaState::Return, res) - ) + if (m_Callbacks + ->CallTableFn("OnNextBlock", a_BlockPos, a_BlockType, a_BlockMeta, a_EntryFace, cLuaState::Return, res)) { return res; } @@ -2901,12 +2725,7 @@ public: virtual bool OnNextBlockNoData(Vector3i a_BlockPos, eBlockFace a_EntryFace) override { bool res = false; - if (m_Callbacks->CallTableFn( - "OnNextBlockNoData", - a_BlockPos, - a_EntryFace, - cLuaState::Return, res) - ) + if (m_Callbacks->CallTableFn("OnNextBlockNoData", a_BlockPos, a_EntryFace, cLuaState::Return, res)) { return res; } @@ -2917,11 +2736,7 @@ public: virtual bool OnOutOfWorld(Vector3d a_BlockPos) override { bool res = false; - if (m_Callbacks->CallTableFn( - "OnOutOfWorld", - a_BlockPos, - cLuaState::Return, res) - ) + if (m_Callbacks->CallTableFn("OnOutOfWorld", a_BlockPos, cLuaState::Return, res)) { return res; } @@ -2932,10 +2747,7 @@ public: virtual bool OnIntoWorld(Vector3d a_BlockPos) override { bool res = false; - if (m_Callbacks->CallTableFn("OnIntoWorld", - a_BlockPos, - cLuaState::Return, res) - ) + if (m_Callbacks->CallTableFn("OnIntoWorld", a_BlockPos, cLuaState::Return, res)) { return res; } @@ -2943,17 +2755,11 @@ public: return false; } - virtual void OnNoMoreHits(void) override - { - m_Callbacks->CallTableFn("OnNoMoreHits"); - } + virtual void OnNoMoreHits(void) override { m_Callbacks->CallTableFn("OnNoMoreHits"); } - virtual void OnNoChunk(void) override - { - m_Callbacks->CallTableFn("OnNoChunk"); - } + virtual void OnNoChunk(void) override { m_Callbacks->CallTableFn("OnNoChunk"); } -protected: + protected: cLuaState::cTableRefPtr m_Callbacks; }; @@ -2964,26 +2770,29 @@ protected: /** Provides interface between a Lua table of callbacks and the cBlockTracer::cCallbacks This is the deprecated version of cLuaBlockTracerCallback, used when the plugin calls the Trace function with number-based coords. */ -class cLuaBlockTracerCallbacksOld : - public cLuaBlockTracerCallbacks +class cLuaBlockTracerCallbacksOld : public cLuaBlockTracerCallbacks { -public: - cLuaBlockTracerCallbacksOld(cLuaState::cTableRefPtr && a_Callbacks): + public: + cLuaBlockTracerCallbacksOld(cLuaState::cTableRefPtr && a_Callbacks) : cLuaBlockTracerCallbacks(std::move(a_Callbacks)) { } - virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) + override { bool res = false; if (m_Callbacks->CallTableFn( - "OnNextBlock", - a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, - a_BlockType, - a_BlockMeta, - a_EntryFace, - cLuaState::Return, res) - ) + "OnNextBlock", + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockType, + a_BlockMeta, + a_EntryFace, + cLuaState::Return, + res + )) { return res; } @@ -2995,11 +2804,14 @@ public: { bool res = false; if (m_Callbacks->CallTableFn( - "OnNextBlockNoData", - a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, - a_EntryFace, - cLuaState::Return, res) - ) + "OnNextBlockNoData", + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_EntryFace, + cLuaState::Return, + res + )) { return res; } @@ -3010,11 +2822,7 @@ public: virtual bool OnOutOfWorld(Vector3d a_BlockPos) override { bool res = false; - if (m_Callbacks->CallTableFn( - "OnOutOfWorld", - a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, - cLuaState::Return, res) - ) + if (m_Callbacks->CallTableFn("OnOutOfWorld", a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, cLuaState::Return, res)) { return res; } @@ -3025,11 +2833,7 @@ public: virtual bool OnIntoWorld(Vector3d a_BlockPos) override { bool res = false; - if (m_Callbacks->CallTableFn( - "OnIntoWorld", - a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, - cLuaState::Return, res) - ) + if (m_Callbacks->CallTableFn("OnIntoWorld", a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, cLuaState::Return, res)) { return res; } @@ -3045,10 +2849,11 @@ public: static int tolua_cLineBlockTracer_FirstSolidHitTrace(lua_State * tolua_S) { /* Supported function signatures: - cLineBlockTracer:FirstSolidHitTrace(World, StartX, StartY, StartZ, EndX, EndY, EndZ) -> bool, [Vector3d, Vector3i, eBlockFace] // Canonical - cLineBlockTracer:FirstSolidHitTrace(World, Start, End) -> bool, [Vector3d, Vector3i, eBlockFace] // Canonical - cLineBlockTracer.FirstSolidHitTrace(World, StartX, StartY, StartZ, EndX, EndY, EndZ) -> bool, [Vector3d, Vector3i, eBlockFace] - cLineBlockTracer.FirstSolidHitTrace(World, Start, End) -> bool, [Vector3d, Vector3i, eBlockFace] + cLineBlockTracer:FirstSolidHitTrace(World, StartX, StartY, StartZ, EndX, EndY, EndZ) -> bool, [Vector3d, Vector3i, + eBlockFace] // Canonical cLineBlockTracer:FirstSolidHitTrace(World, Start, End) -> bool, [Vector3d, Vector3i, + eBlockFace] // Canonical cLineBlockTracer.FirstSolidHitTrace(World, StartX, StartY, + StartZ, EndX, EndY, EndZ) -> bool, [Vector3d, Vector3i, eBlockFace] cLineBlockTracer.FirstSolidHitTrace(World, + Start, End) -> bool, [Vector3d, Vector3i, eBlockFace] */ // If the first param is the cLineBlockTracer class, shift param index by one: @@ -3061,9 +2866,7 @@ static int tolua_cLineBlockTracer_FirstSolidHitTrace(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(idx, "cWorld") - ) + if (!L.CheckParamUserType(idx, "cWorld")) { return 0; } @@ -3071,10 +2874,7 @@ static int tolua_cLineBlockTracer_FirstSolidHitTrace(lua_State * tolua_S) if (L.IsParamNumber(idx + 1)) { // This is the number variant of the call: - if ( - !L.CheckParamNumber(idx + 1, idx + 6) || - !L.CheckParamEnd(idx + 7) - ) + if (!L.CheckParamNumber(idx + 1, idx + 6) || !L.CheckParamEnd(idx + 7)) { return 0; } @@ -3092,7 +2892,14 @@ static int tolua_cLineBlockTracer_FirstSolidHitTrace(lua_State * tolua_S) Vector3d hitCoords; Vector3i hitBlockCoords; eBlockFace hitBlockFace; - auto isHit = cLineBlockTracer::FirstSolidHitTrace(*world, Vector3d(startX, startY, startZ), Vector3d(endX, endY, endZ), hitCoords, hitBlockCoords, hitBlockFace); + auto isHit = cLineBlockTracer::FirstSolidHitTrace( + *world, + Vector3d(startX, startY, startZ), + Vector3d(endX, endY, endZ), + hitCoords, + hitBlockCoords, + hitBlockFace + ); L.Push(isHit); if (!isHit) { @@ -3107,10 +2914,7 @@ static int tolua_cLineBlockTracer_FirstSolidHitTrace(lua_State * tolua_S) if (L.IsParamVector3(idx + 1)) { // This is the Vector3-based variant of the call: - if ( - !L.CheckParamVector3(idx + 1, idx + 2) || - !L.CheckParamEnd(idx + 3) - ) + if (!L.CheckParamVector3(idx + 1, idx + 2) || !L.CheckParamEnd(idx + 3)) { return 0; } @@ -3140,7 +2944,11 @@ static int tolua_cLineBlockTracer_FirstSolidHitTrace(lua_State * tolua_S) return 4; } - tolua_error(L, "cLineBlockTracer:FirstSolidHitTrace(): Invalid parameters, expected either a set of coords, or two Vector3's", nullptr); + tolua_error( + L, + "cLineBlockTracer:FirstSolidHitTrace(): Invalid parameters, expected either a set of coords, or two Vector3's", + nullptr + ); return 0; } @@ -3167,9 +2975,7 @@ static int tolua_cLineBlockTracer_LineOfSightTrace(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(idx, "cWorld") - ) + if (!L.CheckParamUserType(idx, "cWorld")) { return 0; } @@ -3177,11 +2983,9 @@ static int tolua_cLineBlockTracer_LineOfSightTrace(lua_State * tolua_S) if (L.IsParamNumber(idx + 1)) { // This is the number variant of the call: - if ( - !L.CheckParamNumber(idx + 1, idx + 6) || + if (!L.CheckParamNumber(idx + 1, idx + 6) || // Optional param lineOfSight is not checked - !L.CheckParamEnd(idx + 8) - ) + !L.CheckParamEnd(idx + 8)) { return 0; } @@ -3198,18 +3002,21 @@ static int tolua_cLineBlockTracer_LineOfSightTrace(lua_State * tolua_S) } int lineOfSight = cLineBlockTracer::losAir | cLineBlockTracer::losWater; L.GetStackValue(idx + 7, lineOfSight); - L.Push(cLineBlockTracer::LineOfSightTrace(*world, Vector3d(startX, startY, startZ), Vector3d(endX, endY, endZ), lineOfSight)); + L.Push(cLineBlockTracer::LineOfSightTrace( + *world, + Vector3d(startX, startY, startZ), + Vector3d(endX, endY, endZ), + lineOfSight + )); return 1; } if (L.IsParamVector3(idx + 1)) { // This is the Vector3-based variant of the call: - if ( - !L.CheckParamVector3(idx + 1, idx + 2) || + if (!L.CheckParamVector3(idx + 1, idx + 2) || // Optional param lineOfSight is not checked - !L.CheckParamEnd(idx + 4) - ) + !L.CheckParamEnd(idx + 4)) { return 0; } @@ -3230,7 +3037,11 @@ static int tolua_cLineBlockTracer_LineOfSightTrace(lua_State * tolua_S) return 1; } - tolua_error(L, "cLineBlockTracer:LineOfSightTrace(): Invalid parameters, expected either a set of coords, or two Vector3's", nullptr); + tolua_error( + L, + "cLineBlockTracer:LineOfSightTrace(): Invalid parameters, expected either a set of coords, or two Vector3's", + nullptr + ); return 0; } @@ -3257,10 +3068,7 @@ static int tolua_cLineBlockTracer_Trace(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(idx, "cWorld") || - !L.CheckParamTable (idx + 1) - ) + if (!L.CheckParamUserType(idx, "cWorld") || !L.CheckParamTable(idx + 1)) { return 0; } @@ -3270,19 +3078,15 @@ static int tolua_cLineBlockTracer_Trace(lua_State * tolua_S) Vector3d start; Vector3d end; cLuaState::cTableRefPtr callbacks; - if ( - L.IsParamNumber (idx + 2) && - L.IsParamNumber (idx + 3) && - L.IsParamNumber (idx + 4) && - L.IsParamNumber (idx + 5) && - L.IsParamNumber (idx + 6) && - L.IsParamNumber (idx + 7) && - L.CheckParamEnd (idx + 8) - ) + if (L.IsParamNumber(idx + 2) && L.IsParamNumber(idx + 3) && L.IsParamNumber(idx + 4) && L.IsParamNumber(idx + 5) && + L.IsParamNumber(idx + 6) && L.IsParamNumber(idx + 7) && L.CheckParamEnd(idx + 8)) { if (!L.GetStackValues(idx, world, callbacks, start.x, start.y, start.z, end.x, end.y, end.z)) { - LOGWARNING("cLineBlockTracer:Trace(): Cannot read parameters (starting at idx %d), aborting the trace.", idx); + LOGWARNING( + "cLineBlockTracer:Trace(): Cannot read parameters (starting at idx %d), aborting the trace.", + idx + ); L.LogStackTrace(); L.LogStackValues("Values on the stack"); return 0; @@ -3295,15 +3099,14 @@ static int tolua_cLineBlockTracer_Trace(lua_State * tolua_S) tolua_pushboolean(L, res ? 1 : 0); return 1; } - else if ( - L.IsParamVector3(idx + 2) && - L.IsParamVector3(idx + 3) && - L.CheckParamEnd (idx + 4) - ) + else if (L.IsParamVector3(idx + 2) && L.IsParamVector3(idx + 3) && L.CheckParamEnd(idx + 4)) { if (!L.GetStackValues(idx, world, callbacks, start, end)) { - LOGWARNING("cLineBlockTracer:Trace(): Cannot read parameters (starting at idx %d), aborting the trace.", idx); + LOGWARNING( + "cLineBlockTracer:Trace(): Cannot read parameters (starting at idx %d), aborting the trace.", + idx + ); L.LogStackTrace(); L.LogStackValues("Values on the stack"); return 0; @@ -3328,12 +3131,8 @@ static int tolua_cLuaWindow_new(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cLuaWindow") || - !L.CheckParamNumber(2, 4) || - !L.CheckParamString(5) || - !L.CheckParamEnd(6) - ) + if (!L.CheckParamUserTable(1, "cLuaWindow") || !L.CheckParamNumber(2, 4) || !L.CheckParamString(5) || + !L.CheckParamEnd(6)) { return 0; } @@ -3364,12 +3163,8 @@ static int tolua_cLuaWindow_new_local(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cLuaWindow") || - !L.CheckParamNumber(2, 4) || - !L.CheckParamString(5) || - !L.CheckParamEnd(6) - ) + if (!L.CheckParamUserTable(1, "cLuaWindow") || !L.CheckParamNumber(2, 4) || !L.CheckParamString(5) || + !L.CheckParamEnd(6)) { return 0; } @@ -3398,12 +3193,7 @@ static int tolua_cRoot_DoWithPlayerByUUID(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cRoot") || - !L.CheckParamUUID(2) || - !L.CheckParamFunction(3) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamSelf("cRoot") || !L.CheckParamUUID(2) || !L.CheckParamFunction(3) || !L.CheckParamEnd(4)) { return 0; } @@ -3424,7 +3214,9 @@ static int tolua_cRoot_DoWithPlayerByUUID(lua_State * tolua_S) } // Call the function: - bool res = Self->DoWithPlayerByUUID(PlayerUUID, [&](cPlayer & a_Player) + bool res = Self->DoWithPlayerByUUID( + PlayerUUID, + [&](cPlayer & a_Player) { bool ret = false; L.Call(FnRef, &a_Player, cLuaState::Return, ret); @@ -3488,12 +3280,8 @@ static int tolua_cRoot_GetBuildSeriesName(lua_State * tolua_S) static int tolua_cRoot_GetBrewingRecipe(lua_State * tolua_S) { cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cRoot") || - !L.CheckParamUserType (2, "const cItem") || - !L.CheckParamUserType (3, "const cItem") || - !L.CheckParamEnd (4) - ) + if (!L.CheckParamUserTable(1, "cRoot") || !L.CheckParamUserType(2, "const cItem") || + !L.CheckParamUserType(3, "const cItem") || !L.CheckParamEnd(4)) { return 0; } @@ -3537,11 +3325,7 @@ static int tolua_cRoot_GetBrewingRecipe(lua_State * tolua_S) static int tolua_cRoot_GetFurnaceRecipe(lua_State * tolua_S) { cLuaState L(tolua_S); - if ( - !L.CheckParamUserTable(1, "cRoot") || - !L.CheckParamUserType (2, "const cItem") || - !L.CheckParamEnd (3) - ) + if (!L.CheckParamUserTable(1, "cRoot") || !L.CheckParamUserType(2, "const cItem") || !L.CheckParamEnd(3)) { return 0; } @@ -3576,12 +3360,7 @@ static int tolua_cRoot_GetFurnaceRecipe(lua_State * tolua_S) static int tolua_cServer_RegisterForgeMod(lua_State * a_LuaState) { cLuaState L(a_LuaState); - if ( - !L.CheckParamSelf("cServer") || - !L.CheckParamString(2, 3) || - !L.CheckParamNumber(4) || - !L.CheckParamEnd(5) - ) + if (!L.CheckParamSelf("cServer") || !L.CheckParamString(2, 3) || !L.CheckParamNumber(4) || !L.CheckParamEnd(5)) { return 0; } @@ -3611,11 +3390,7 @@ static int tolua_cServer_ScheduleTask(lua_State * a_LuaState) // Retrieve the args: cLuaState L(a_LuaState); - if ( - !L.CheckParamUserType(1, "cServer") || - !L.CheckParamNumber(2) || - !L.CheckParamFunction(3) - ) + if (!L.CheckParamUserType(1, "cServer") || !L.CheckParamNumber(2) || !L.CheckParamFunction(3)) { return 0; } @@ -3628,17 +3403,20 @@ static int tolua_cServer_ScheduleTask(lua_State * a_LuaState) } if (Server == nullptr) { - return cManualBindings::lua_do_error(a_LuaState, "Error in function call '#funcname#': Not called on an object instance"); + return cManualBindings::lua_do_error( + a_LuaState, + "Error in function call '#funcname#': Not called on an object instance" + ); } if (!Task->IsValid()) { - return cManualBindings::lua_do_error(a_LuaState, "Error in function call '#funcname#': Could not store the callback parameter"); + return cManualBindings::lua_do_error( + a_LuaState, + "Error in function call '#funcname#': Could not store the callback parameter" + ); } - Server->ScheduleTask(cTickTime(NumTicks), [Task](cServer & a_Server) - { - Task->Call(&a_Server); - }); + Server->ScheduleTask(cTickTime(NumTicks), [Task](cServer & a_Server) { Task->Call(&a_Server); }); return 0; } @@ -3649,10 +3427,7 @@ static int tolua_cServer_ScheduleTask(lua_State * a_LuaState) static int tolua_cScoreboard_GetTeamNames(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamUserType(1, "cScoreboard") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamUserType(1, "cScoreboard") || !S.CheckParamEnd(2)) { return 0; } @@ -3676,11 +3451,7 @@ static int tolua_cHopperEntity_GetOutputBlockPos(lua_State * tolua_S) // Exported manually because tolua would require meaningless params cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cHopperEntity") || - !L.CheckParamNumber (2) || - !L.CheckParamEnd (3) - ) + if (!L.CheckParamUserType(1, "cHopperEntity") || !L.CheckParamNumber(2) || !L.CheckParamEnd(3)) { return 0; } @@ -3732,7 +3503,12 @@ static int tolua_cBoundingBox_CalcLineIntersection(lua_State * a_LuaState) if (!L.GetStackValues(1, bbox, pt1, pt2)) // Try the regular signature { L.LogStackValues(); - tolua_error(a_LuaState, "Invalid function params. Expected either bbox:CalcLineIntersection(pt1, pt2) or cBoundingBox:CalcLineIntersection(min, max, pt1, pt2).", nullptr); + tolua_error( + a_LuaState, + "Invalid function params. Expected either bbox:CalcLineIntersection(pt1, pt2) or " + "cBoundingBox:CalcLineIntersection(min, max, pt1, pt2).", + nullptr + ); return 0; } res = bbox->CalcLineIntersection(pt1, pt2, lineCoeff, blockFace); @@ -3793,7 +3569,11 @@ static int tolua_cChunkDesc_GetBlockTypeMeta(lua_State * a_LuaState) if (!L.GetStackValues(1, self, relX, relY, relZ)) { L.LogStackValues(); - tolua_error(a_LuaState, "Invalid function params. Expected chunkDesc:GetBlockTypeMeta(relX, relY, relZ)", nullptr); + tolua_error( + a_LuaState, + "Invalid function params. Expected chunkDesc:GetBlockTypeMeta(relX, relY, relZ)", + nullptr + ); return 0; } BLOCKTYPE blockType; @@ -3855,7 +3635,11 @@ static int tolua_cCompositeChat_new(lua_State * a_LuaState) if (!L.GetStackValue(3, messageTypeInt)) { tolua_Error err; - tolua_error(a_LuaState, "Invalid type of the MessageType parameter (2) in cCompositeChat constructor.", &err); + tolua_error( + a_LuaState, + "Invalid type of the MessageType parameter (2) in cCompositeChat constructor.", + &err + ); return 0; } if ((messageTypeInt < 0) || (messageTypeInt >= mtMaxPlusOne)) @@ -3865,7 +3649,8 @@ static int tolua_cCompositeChat_new(lua_State * a_LuaState) return 0; } } - L.Push(static_cast(Mtolua_new(cCompositeChat(parseText, static_cast(messageTypeInt))))); + L.Push(static_cast(Mtolua_new(cCompositeChat(parseText, static_cast(messageTypeInt)) + ))); return 1; } @@ -3895,10 +3680,7 @@ static int tolua_cCompositeChat_AddShowAchievementPart(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cCompositeChat") || - !L.CheckParamString(2, 3) - ) + if (!L.CheckParamUserType(1, "cCompositeChat") || !L.CheckParamString(2, 3)) { return 0; } @@ -3906,7 +3688,11 @@ static int tolua_cCompositeChat_AddShowAchievementPart(lua_State * tolua_S) cCompositeChat * self = static_cast(tolua_tousertype(tolua_S, 1, nullptr)); if (self == nullptr) { - tolua_error(tolua_S, "invalid 'self' in function call cCompositeChat::AddShowAchievementPart(string, string, string) const.", nullptr); + tolua_error( + tolua_S, + "invalid 'self' in function call cCompositeChat::AddShowAchievementPart(string, string, string) const.", + nullptr + ); return 0; } @@ -3933,10 +3719,7 @@ static int tolua_cCompositeChat_AddRunCommandPart(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cCompositeChat") || - !L.CheckParamString(2, 3) - ) + if (!L.CheckParamUserType(1, "cCompositeChat") || !L.CheckParamString(2, 3)) { return 0; } @@ -3970,10 +3753,7 @@ static int tolua_cCompositeChat_AddSuggestCommandPart(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cCompositeChat") || - !L.CheckParamString(2, 3) - ) + if (!L.CheckParamUserType(1, "cCompositeChat") || !L.CheckParamString(2, 3)) { return 0; } @@ -4007,10 +3787,7 @@ static int tolua_cCompositeChat_AddTextPart(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cCompositeChat") || - !L.CheckParamString(2) - ) + if (!L.CheckParamUserType(1, "cCompositeChat") || !L.CheckParamString(2)) { return 0; } @@ -4043,10 +3820,7 @@ static int tolua_cCompositeChat_AddUrlPart(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cCompositeChat") || - !L.CheckParamString(2, 3) - ) + if (!L.CheckParamUserType(1, "cCompositeChat") || !L.CheckParamString(2, 3)) { return 0; } @@ -4080,10 +3854,7 @@ static int tolua_cCompositeChat_Clear(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cCompositeChat") || - !L.CheckParamEnd(2) - ) + if (!L.CheckParamUserType(1, "cCompositeChat") || !L.CheckParamEnd(2)) { return 0; } @@ -4113,10 +3884,7 @@ static int tolua_cCompositeChat_ParseText(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cCompositeChat") || - !L.CheckParamString(2) - ) + if (!L.CheckParamUserType(1, "cCompositeChat") || !L.CheckParamString(2)) { return 0; } @@ -4148,10 +3916,7 @@ static int tolua_cCompositeChat_SetMessageType(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cCompositeChat") || - !L.CheckParamNumber(2) - ) + if (!L.CheckParamUserType(1, "cCompositeChat") || !L.CheckParamNumber(2)) { return 0; } @@ -4222,7 +3987,9 @@ static int tolua_cCuboid_Assign(lua_State * tolua_S) int x1, y1, z1, x2, y2, z2; if (L.GetStackValues(2, x1, y1, z1, x2, y2, z2)) { - LOGWARNING("cCuboid:Assign(x1, y1, z1, x2, y2, z2) is deprecated, use cCuboid:Assign(Vector3i, Vector3i) instead."); + LOGWARNING( + "cCuboid:Assign(x1, y1, z1, x2, y2, z2) is deprecated, use cCuboid:Assign(Vector3i, Vector3i) instead." + ); L.LogStackTrace(); self->Assign({x1, y1, z1}, {x2, y2, z2}); return 0; @@ -4269,7 +4036,7 @@ static int tolua_cCuboid_IsInside(lua_State * tolua_S) { LOGWARNING("cCuboid:IsInside(x, y, z) is deprecated, use cCuboid:IsInside(Vector3) instead."); L.LogStackTrace(); - L.Push(self->IsInside(Vector3i{x, y, z})); + L.Push(self->IsInside(Vector3i {x, y, z})); return 1; } @@ -4415,7 +4182,7 @@ static int tolua_cEntity_GetPosition(lua_State * tolua_S) return 0; } - L.Push(Mtolua_new((Vector3d)(self->GetPosition()))); + L.Push(Mtolua_new((Vector3d) (self->GetPosition()))); tolua_register_gc(L, lua_gettop(L)); // Make Lua own the object return 1; @@ -4437,7 +4204,7 @@ static int tolua_cEntity_GetSpeed(lua_State * tolua_S) return 0; } - L.Push(Mtolua_new((Vector3d)(self->GetSpeed()))); + L.Push(Mtolua_new((Vector3d) (self->GetSpeed()))); tolua_register_gc(L, lua_gettop(L)); // Make Lua own the object return 1; @@ -4514,259 +4281,259 @@ void cManualBindings::Bind(lua_State * tolua_S) { tolua_beginmodule(tolua_S, nullptr); - // Create the new classes: - tolua_usertype(tolua_S, "cCryptoHash"); - tolua_usertype(tolua_S, "cLineBlockTracer"); - tolua_usertype(tolua_S, "cStringCompression"); - tolua_usertype(tolua_S, "cUrlParser"); - // StatisticsManager was already created by cPlayer::GetStatistics' autogenerated bindings. - tolua_cclass(tolua_S, "cCryptoHash", "cCryptoHash", "", nullptr); - tolua_cclass(tolua_S, "cLineBlockTracer", "cLineBlockTracer", "", nullptr); - tolua_cclass(tolua_S, "cStringCompression", "cStringCompression", "", nullptr); - tolua_cclass(tolua_S, "cUrlParser", "cUrlParser", "", nullptr); - tolua_cclass(tolua_S, "StatisticsManager", "StatisticsManager", "", nullptr); - - // Globals: - tolua_function(tolua_S, "Clamp", tolua_Clamp); - tolua_function(tolua_S, "StringSplit", tolua_StringSplit); - tolua_function(tolua_S, "StringSplitWithQuotes", tolua_StringSplitWithQuotes); - tolua_function(tolua_S, "StringSplitAndTrim", tolua_StringSplitAndTrim); - tolua_function(tolua_S, "LOG", tolua_LOG); - tolua_function(tolua_S, "LOGINFO", tolua_LOGINFO); - tolua_function(tolua_S, "LOGWARN", tolua_LOGWARN); - tolua_function(tolua_S, "LOGWARNING", tolua_LOGWARN); - tolua_function(tolua_S, "LOGERROR", tolua_LOGERROR); - tolua_function(tolua_S, "Base64Encode", tolua_Base64Encode); - tolua_function(tolua_S, "Base64Decode", tolua_Base64Decode); - tolua_function(tolua_S, "md5", tolua_md5_obsolete); // OBSOLETE, use cCryptoHash.md5() instead - - tolua_beginmodule(tolua_S, "cBoundingBox"); - tolua_function(tolua_S, "CalcLineIntersection", tolua_cBoundingBox_CalcLineIntersection); - tolua_function(tolua_S, "Intersect", tolua_cBoundingBox_Intersect); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cChunkDesc"); - tolua_function(tolua_S, "GetBlockTypeMeta", tolua_cChunkDesc_GetBlockTypeMeta); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cClientHandle"); - tolua_constant(tolua_S, "MAX_VIEW_DISTANCE", cClientHandle::MAX_VIEW_DISTANCE); - tolua_constant(tolua_S, "MIN_VIEW_DISTANCE", cClientHandle::MIN_VIEW_DISTANCE); - - tolua_function(tolua_S, "GetForgeMods", tolua_cClientHandle_GetForgeMods); - tolua_function(tolua_S, "SendPluginMessage", tolua_cClientHandle_SendPluginMessage); - tolua_function(tolua_S, "SendTimeUpdate", tolua_cClientHandle_SendTimeUpdate); - tolua_function(tolua_S, "GetUUID", tolua_cClientHandle_GetUUID); - tolua_function(tolua_S, "GenerateOfflineUUID", tolua_cClientHandle_GenerateOfflineUUID); - tolua_function(tolua_S, "IsUUIDOnline", tolua_cClientHandle_IsUUIDOnline); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cColor"); - tolua_function(tolua_S, "GetColor", tolua_cColor_GetColor); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cCompositeChat"); - tolua_function(tolua_S, "new", tolua_cCompositeChat_new); - tolua_function(tolua_S, "new_local", tolua_cCompositeChat_new_local); - tolua_function(tolua_S, ".call", tolua_cCompositeChat_new_local); - tolua_function(tolua_S, "AddShowAchievementPart", tolua_cCompositeChat_AddShowAchievementPart); - tolua_function(tolua_S, "AddRunCommandPart", tolua_cCompositeChat_AddRunCommandPart); - tolua_function(tolua_S, "AddSuggestCommandPart", tolua_cCompositeChat_AddSuggestCommandPart); - tolua_function(tolua_S, "AddTextPart", tolua_cCompositeChat_AddTextPart); - tolua_function(tolua_S, "AddUrlPart", tolua_cCompositeChat_AddUrlPart); - tolua_function(tolua_S, "Clear", tolua_cCompositeChat_Clear); - tolua_function(tolua_S, "ParseText", tolua_cCompositeChat_ParseText); - tolua_function(tolua_S, "SetMessageType", tolua_cCompositeChat_SetMessageType); - tolua_function(tolua_S, "UnderlineUrls", tolua_cCompositeChat_UnderlineUrls); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cCryptoHash"); - tolua_function(tolua_S, "md5", tolua_md5); - tolua_function(tolua_S, "md5HexString", tolua_md5HexString); - tolua_function(tolua_S, "sha1", tolua_sha1); - tolua_function(tolua_S, "sha1HexString", tolua_sha1HexString); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cCuboid"); - tolua_function(tolua_S, "Assign", tolua_cCuboid_Assign); - tolua_function(tolua_S, "IsInside", tolua_cCuboid_IsInside); - tolua_function(tolua_S, "Move", tolua_cCuboid_Move); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cEntity"); - tolua_constant(tolua_S, "INVALID_ID", cEntity::INVALID_ID); - tolua_function(tolua_S, "Destroy", tolua_cEntity_Destroy); - tolua_function(tolua_S, "IsSubmerged", tolua_cEntity_IsSubmerged); - tolua_function(tolua_S, "IsSwimming", tolua_cEntity_IsSwimming); - tolua_function(tolua_S, "GetPosition", tolua_cEntity_GetPosition); - tolua_function(tolua_S, "GetSpeed", tolua_cEntity_GetSpeed); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cFile"); - tolua_function(tolua_S, "ChangeFileExt", tolua_cFile_ChangeFileExt); - tolua_function(tolua_S, "Copy", tolua_cFile_Copy); - tolua_function(tolua_S, "CreateFolder", tolua_cFile_CreateFolder); - tolua_function(tolua_S, "CreateFolderRecursive", tolua_cFile_CreateFolderRecursive); - tolua_function(tolua_S, "Delete", tolua_cFile_Delete); - tolua_function(tolua_S, "DeleteFile", tolua_cFile_DeleteFile); - tolua_function(tolua_S, "DeleteFolder", tolua_cFile_DeleteFolder); - tolua_function(tolua_S, "DeleteFolderContents", tolua_cFile_DeleteFolderContents); - tolua_function(tolua_S, "Exists", tolua_cFile_Exists); - tolua_function(tolua_S, "GetFolderContents", tolua_cFile_GetFolderContents); - tolua_function(tolua_S, "GetLastModificationTime", tolua_cFile_GetLastModificationTime); - tolua_function(tolua_S, "GetSize", tolua_cFile_GetSize); - tolua_function(tolua_S, "IsFile", tolua_cFile_IsFile); - tolua_function(tolua_S, "IsFolder", tolua_cFile_IsFolder); - tolua_function(tolua_S, "ReadWholeFile", tolua_cFile_ReadWholeFile); - tolua_function(tolua_S, "Rename", tolua_cFile_Rename); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cHopperEntity"); - tolua_function(tolua_S, "GetOutputBlockPos", tolua_cHopperEntity_GetOutputBlockPos); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cItem"); - tolua_function(tolua_S, "EnchantByXPLevels", tolua_cItem_EnchantByXPLevels); - tolua_variable(tolua_S, "m_LoreTable", tolua_get_cItem_m_LoreTable, tolua_set_cItem_m_LoreTable); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cItemGrid"); - tolua_function(tolua_S, "GetSlotCoords", Lua_ItemGrid_GetSlotCoords); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cLineBlockTracer"); - tolua_function(tolua_S, "FirstSolidHitTrace", tolua_cLineBlockTracer_FirstSolidHitTrace); - tolua_function(tolua_S, "LineOfSightTrace", tolua_cLineBlockTracer_LineOfSightTrace); - tolua_function(tolua_S, "Trace", tolua_cLineBlockTracer_Trace); - - tolua_constant(tolua_S, "losAir", cLineBlockTracer::losAir); - tolua_constant(tolua_S, "losWater", cLineBlockTracer::losWater); - tolua_constant(tolua_S, "losLava", cLineBlockTracer::losLava); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cLuaWindow"); - tolua_function(tolua_S, "new", tolua_cLuaWindow_new); - tolua_function(tolua_S, "new_local", tolua_cLuaWindow_new_local); - tolua_function(tolua_S, ".call", tolua_cLuaWindow_new_local); - tolua_function(tolua_S, "SetOnClicked", tolua_SetObjectCallback); - tolua_function(tolua_S, "SetOnClosing", tolua_SetObjectCallback); - tolua_function(tolua_S, "SetOnSlotChanged", tolua_SetObjectCallback); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cMapManager"); - tolua_function(tolua_S, "DoWithMap", DoWithID); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cMobHeadEntity"); - tolua_function(tolua_S, "SetOwner", tolua_cMobHeadEntity_SetOwner); - tolua_function(tolua_S, "GetOwnerUUID", tolua_cMobHeadEntity_GetOwnerUUID); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cMojangAPI"); - tolua_function(tolua_S, "AddPlayerNameToUUIDMapping", tolua_cMojangAPI_AddPlayerNameToUUIDMapping); - tolua_function(tolua_S, "GetPlayerNameFromUUID", tolua_cMojangAPI_GetPlayerNameFromUUID); - tolua_function(tolua_S, "GetUUIDFromPlayerName", tolua_cMojangAPI_GetUUIDFromPlayerName); - tolua_function(tolua_S, "GetUUIDsFromPlayerNames", tolua_cMojangAPI_GetUUIDsFromPlayerNames); - tolua_function(tolua_S, "MakeUUIDDashed", tolua_cMojangAPI_MakeUUIDDashed); - tolua_function(tolua_S, "MakeUUIDShort", tolua_cMojangAPI_MakeUUIDShort); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cPlayer"); - tolua_function(tolua_S, "GetPermissions", tolua_cPlayer_GetPermissions); - tolua_function(tolua_S, "GetRestrictions", tolua_cPlayer_GetRestrictions); - tolua_function(tolua_S, "GetUUID", tolua_cPlayer_GetUUID); - tolua_function(tolua_S, "PermissionMatches", tolua_cPlayer_PermissionMatches); - tolua_function(tolua_S, "PlaceBlock", tolua_cPlayer_PlaceBlock); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cPlugin"); - tolua_function(tolua_S, "GetDirectory", tolua_cPlugin_GetDirectory); - tolua_function(tolua_S, "GetLocalDirectory", tolua_cPlugin_GetLocalDirectory); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cPluginLua"); - tolua_function(tolua_S, "AddWebTab", tolua_cPluginLua_AddWebTab); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cPluginManager"); - tolua_function(tolua_S, "AddHook", tolua_cPluginManager_AddHook); - tolua_function(tolua_S, "BindCommand", tolua_cPluginManager_BindCommand); - tolua_function(tolua_S, "BindConsoleCommand", tolua_cPluginManager_BindConsoleCommand); - tolua_function(tolua_S, "CallPlugin", tolua_cPluginManager_CallPlugin); - tolua_function(tolua_S, "DoWithPlugin", StaticDoWith); - tolua_function(tolua_S, "ExecuteConsoleCommand", tolua_cPluginManager_ExecuteConsoleCommand); - tolua_function(tolua_S, "FindPlugins", tolua_cPluginManager_FindPlugins); - tolua_function(tolua_S, "ForEachCommand", tolua_cPluginManager_ForEachCommand); - tolua_function(tolua_S, "ForEachConsoleCommand", tolua_cPluginManager_ForEachConsoleCommand); - tolua_function(tolua_S, "ForEachPlugin", StaticForEach); - tolua_function(tolua_S, "GetAllPlugins", tolua_cPluginManager_GetAllPlugins); - tolua_function(tolua_S, "GetCurrentPlugin", tolua_cPluginManager_GetCurrentPlugin); - tolua_function(tolua_S, "GetPlugin", tolua_cPluginManager_GetPlugin); - tolua_function(tolua_S, "LogStackTrace", tolua_cPluginManager_LogStackTrace); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cRoot"); - tolua_function(tolua_S, "DoWithPlayerByUUID", tolua_cRoot_DoWithPlayerByUUID); - tolua_function(tolua_S, "FindAndDoWithPlayer", DoWith ); - tolua_function(tolua_S, "ForEachPlayer", ForEach); - tolua_function(tolua_S, "ForEachWorld", ForEach); - tolua_function(tolua_S, "GetBrewingRecipe", tolua_cRoot_GetBrewingRecipe); - tolua_function(tolua_S, "GetBuildCommitID", tolua_cRoot_GetBuildCommitID); - tolua_function(tolua_S, "GetBuildDateTime", tolua_cRoot_GetBuildDateTime); - tolua_function(tolua_S, "GetBuildID", tolua_cRoot_GetBuildID); - tolua_function(tolua_S, "GetBuildSeriesName", tolua_cRoot_GetBuildSeriesName); - tolua_function(tolua_S, "GetFurnaceRecipe", tolua_cRoot_GetFurnaceRecipe); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cScoreboard"); - tolua_function(tolua_S, "ForEachObjective", ForEach); - tolua_function(tolua_S, "ForEachTeam", ForEach); - tolua_function(tolua_S, "GetTeamNames", tolua_cScoreboard_GetTeamNames); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cServer"); - tolua_function(tolua_S, "RegisterForgeMod", tolua_cServer_RegisterForgeMod); - tolua_function(tolua_S, "ScheduleTask", tolua_cServer_ScheduleTask); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cStringCompression"); - tolua_function(tolua_S, "CompressStringZLIB", tolua_CompressStringZLIB); - tolua_function(tolua_S, "UncompressStringZLIB", tolua_UncompressStringZLIB); - tolua_function(tolua_S, "CompressStringGZIP", tolua_CompressStringGZIP); - tolua_function(tolua_S, "UncompressStringGZIP", tolua_InflateString); - tolua_function(tolua_S, "InflateString", tolua_InflateString); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cUrlParser"); - tolua_function(tolua_S, "GetDefaultPort", tolua_cUrlParser_GetDefaultPort); - tolua_function(tolua_S, "IsKnownScheme", tolua_cUrlParser_IsKnownScheme); - tolua_function(tolua_S, "Parse", tolua_cUrlParser_Parse); - tolua_function(tolua_S, "ParseAuthorityPart", tolua_cUrlParser_ParseAuthorityPart); - tolua_function(tolua_S, "UrlDecode", tolua_cUrlParser_UrlDecode); - tolua_function(tolua_S, "UrlEncode", tolua_cUrlParser_UrlEncode); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "cWebAdmin"); - tolua_function(tolua_S, "AddWebTab", tolua_cWebAdmin_AddWebTab); - tolua_function(tolua_S, "GetAllWebTabs", tolua_cWebAdmin_GetAllWebTabs); - tolua_function(tolua_S, "GetPage", tolua_cWebAdmin_GetPage); - tolua_function(tolua_S, "GetURLEncodedString", tolua_cWebAdmin_GetURLEncodedString); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "HTTPRequest"); - tolua_variable(tolua_S, "FormData", tolua_get_HTTPRequest_FormData, nullptr); - tolua_variable(tolua_S, "Params", tolua_get_HTTPRequest_Params, nullptr); - tolua_variable(tolua_S, "PostParams", tolua_get_HTTPRequest_PostParams, nullptr); - tolua_endmodule(tolua_S); - - tolua_beginmodule(tolua_S, "StatisticsManager"); - tolua_array(tolua_S, "Custom", tolua_get_StatisticsManager_Custom, tolua_set_StatisticsManager_Custom); - tolua_endmodule(tolua_S); - - BindNetwork(tolua_S); - BindRankManager(tolua_S); - BindWorld(tolua_S); - BindBlockArea(tolua_S); + // Create the new classes: + tolua_usertype(tolua_S, "cCryptoHash"); + tolua_usertype(tolua_S, "cLineBlockTracer"); + tolua_usertype(tolua_S, "cStringCompression"); + tolua_usertype(tolua_S, "cUrlParser"); + // StatisticsManager was already created by cPlayer::GetStatistics' autogenerated bindings. + tolua_cclass(tolua_S, "cCryptoHash", "cCryptoHash", "", nullptr); + tolua_cclass(tolua_S, "cLineBlockTracer", "cLineBlockTracer", "", nullptr); + tolua_cclass(tolua_S, "cStringCompression", "cStringCompression", "", nullptr); + tolua_cclass(tolua_S, "cUrlParser", "cUrlParser", "", nullptr); + tolua_cclass(tolua_S, "StatisticsManager", "StatisticsManager", "", nullptr); + + // Globals: + tolua_function(tolua_S, "Clamp", tolua_Clamp); + tolua_function(tolua_S, "StringSplit", tolua_StringSplit); + tolua_function(tolua_S, "StringSplitWithQuotes", tolua_StringSplitWithQuotes); + tolua_function(tolua_S, "StringSplitAndTrim", tolua_StringSplitAndTrim); + tolua_function(tolua_S, "LOG", tolua_LOG); + tolua_function(tolua_S, "LOGINFO", tolua_LOGINFO); + tolua_function(tolua_S, "LOGWARN", tolua_LOGWARN); + tolua_function(tolua_S, "LOGWARNING", tolua_LOGWARN); + tolua_function(tolua_S, "LOGERROR", tolua_LOGERROR); + tolua_function(tolua_S, "Base64Encode", tolua_Base64Encode); + tolua_function(tolua_S, "Base64Decode", tolua_Base64Decode); + tolua_function(tolua_S, "md5", tolua_md5_obsolete); // OBSOLETE, use cCryptoHash.md5() instead + + tolua_beginmodule(tolua_S, "cBoundingBox"); + tolua_function(tolua_S, "CalcLineIntersection", tolua_cBoundingBox_CalcLineIntersection); + tolua_function(tolua_S, "Intersect", tolua_cBoundingBox_Intersect); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cChunkDesc"); + tolua_function(tolua_S, "GetBlockTypeMeta", tolua_cChunkDesc_GetBlockTypeMeta); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cClientHandle"); + tolua_constant(tolua_S, "MAX_VIEW_DISTANCE", cClientHandle::MAX_VIEW_DISTANCE); + tolua_constant(tolua_S, "MIN_VIEW_DISTANCE", cClientHandle::MIN_VIEW_DISTANCE); + + tolua_function(tolua_S, "GetForgeMods", tolua_cClientHandle_GetForgeMods); + tolua_function(tolua_S, "SendPluginMessage", tolua_cClientHandle_SendPluginMessage); + tolua_function(tolua_S, "SendTimeUpdate", tolua_cClientHandle_SendTimeUpdate); + tolua_function(tolua_S, "GetUUID", tolua_cClientHandle_GetUUID); + tolua_function(tolua_S, "GenerateOfflineUUID", tolua_cClientHandle_GenerateOfflineUUID); + tolua_function(tolua_S, "IsUUIDOnline", tolua_cClientHandle_IsUUIDOnline); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cColor"); + tolua_function(tolua_S, "GetColor", tolua_cColor_GetColor); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cCompositeChat"); + tolua_function(tolua_S, "new", tolua_cCompositeChat_new); + tolua_function(tolua_S, "new_local", tolua_cCompositeChat_new_local); + tolua_function(tolua_S, ".call", tolua_cCompositeChat_new_local); + tolua_function(tolua_S, "AddShowAchievementPart", tolua_cCompositeChat_AddShowAchievementPart); + tolua_function(tolua_S, "AddRunCommandPart", tolua_cCompositeChat_AddRunCommandPart); + tolua_function(tolua_S, "AddSuggestCommandPart", tolua_cCompositeChat_AddSuggestCommandPart); + tolua_function(tolua_S, "AddTextPart", tolua_cCompositeChat_AddTextPart); + tolua_function(tolua_S, "AddUrlPart", tolua_cCompositeChat_AddUrlPart); + tolua_function(tolua_S, "Clear", tolua_cCompositeChat_Clear); + tolua_function(tolua_S, "ParseText", tolua_cCompositeChat_ParseText); + tolua_function(tolua_S, "SetMessageType", tolua_cCompositeChat_SetMessageType); + tolua_function(tolua_S, "UnderlineUrls", tolua_cCompositeChat_UnderlineUrls); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cCryptoHash"); + tolua_function(tolua_S, "md5", tolua_md5); + tolua_function(tolua_S, "md5HexString", tolua_md5HexString); + tolua_function(tolua_S, "sha1", tolua_sha1); + tolua_function(tolua_S, "sha1HexString", tolua_sha1HexString); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cCuboid"); + tolua_function(tolua_S, "Assign", tolua_cCuboid_Assign); + tolua_function(tolua_S, "IsInside", tolua_cCuboid_IsInside); + tolua_function(tolua_S, "Move", tolua_cCuboid_Move); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cEntity"); + tolua_constant(tolua_S, "INVALID_ID", cEntity::INVALID_ID); + tolua_function(tolua_S, "Destroy", tolua_cEntity_Destroy); + tolua_function(tolua_S, "IsSubmerged", tolua_cEntity_IsSubmerged); + tolua_function(tolua_S, "IsSwimming", tolua_cEntity_IsSwimming); + tolua_function(tolua_S, "GetPosition", tolua_cEntity_GetPosition); + tolua_function(tolua_S, "GetSpeed", tolua_cEntity_GetSpeed); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cFile"); + tolua_function(tolua_S, "ChangeFileExt", tolua_cFile_ChangeFileExt); + tolua_function(tolua_S, "Copy", tolua_cFile_Copy); + tolua_function(tolua_S, "CreateFolder", tolua_cFile_CreateFolder); + tolua_function(tolua_S, "CreateFolderRecursive", tolua_cFile_CreateFolderRecursive); + tolua_function(tolua_S, "Delete", tolua_cFile_Delete); + tolua_function(tolua_S, "DeleteFile", tolua_cFile_DeleteFile); + tolua_function(tolua_S, "DeleteFolder", tolua_cFile_DeleteFolder); + tolua_function(tolua_S, "DeleteFolderContents", tolua_cFile_DeleteFolderContents); + tolua_function(tolua_S, "Exists", tolua_cFile_Exists); + tolua_function(tolua_S, "GetFolderContents", tolua_cFile_GetFolderContents); + tolua_function(tolua_S, "GetLastModificationTime", tolua_cFile_GetLastModificationTime); + tolua_function(tolua_S, "GetSize", tolua_cFile_GetSize); + tolua_function(tolua_S, "IsFile", tolua_cFile_IsFile); + tolua_function(tolua_S, "IsFolder", tolua_cFile_IsFolder); + tolua_function(tolua_S, "ReadWholeFile", tolua_cFile_ReadWholeFile); + tolua_function(tolua_S, "Rename", tolua_cFile_Rename); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cHopperEntity"); + tolua_function(tolua_S, "GetOutputBlockPos", tolua_cHopperEntity_GetOutputBlockPos); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cItem"); + tolua_function(tolua_S, "EnchantByXPLevels", tolua_cItem_EnchantByXPLevels); + tolua_variable(tolua_S, "m_LoreTable", tolua_get_cItem_m_LoreTable, tolua_set_cItem_m_LoreTable); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cItemGrid"); + tolua_function(tolua_S, "GetSlotCoords", Lua_ItemGrid_GetSlotCoords); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cLineBlockTracer"); + tolua_function(tolua_S, "FirstSolidHitTrace", tolua_cLineBlockTracer_FirstSolidHitTrace); + tolua_function(tolua_S, "LineOfSightTrace", tolua_cLineBlockTracer_LineOfSightTrace); + tolua_function(tolua_S, "Trace", tolua_cLineBlockTracer_Trace); + + tolua_constant(tolua_S, "losAir", cLineBlockTracer::losAir); + tolua_constant(tolua_S, "losWater", cLineBlockTracer::losWater); + tolua_constant(tolua_S, "losLava", cLineBlockTracer::losLava); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cLuaWindow"); + tolua_function(tolua_S, "new", tolua_cLuaWindow_new); + tolua_function(tolua_S, "new_local", tolua_cLuaWindow_new_local); + tolua_function(tolua_S, ".call", tolua_cLuaWindow_new_local); + tolua_function(tolua_S, "SetOnClicked", tolua_SetObjectCallback); + tolua_function(tolua_S, "SetOnClosing", tolua_SetObjectCallback); + tolua_function(tolua_S, "SetOnSlotChanged", tolua_SetObjectCallback); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cMapManager"); + tolua_function(tolua_S, "DoWithMap", DoWithID); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cMobHeadEntity"); + tolua_function(tolua_S, "SetOwner", tolua_cMobHeadEntity_SetOwner); + tolua_function(tolua_S, "GetOwnerUUID", tolua_cMobHeadEntity_GetOwnerUUID); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cMojangAPI"); + tolua_function(tolua_S, "AddPlayerNameToUUIDMapping", tolua_cMojangAPI_AddPlayerNameToUUIDMapping); + tolua_function(tolua_S, "GetPlayerNameFromUUID", tolua_cMojangAPI_GetPlayerNameFromUUID); + tolua_function(tolua_S, "GetUUIDFromPlayerName", tolua_cMojangAPI_GetUUIDFromPlayerName); + tolua_function(tolua_S, "GetUUIDsFromPlayerNames", tolua_cMojangAPI_GetUUIDsFromPlayerNames); + tolua_function(tolua_S, "MakeUUIDDashed", tolua_cMojangAPI_MakeUUIDDashed); + tolua_function(tolua_S, "MakeUUIDShort", tolua_cMojangAPI_MakeUUIDShort); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cPlayer"); + tolua_function(tolua_S, "GetPermissions", tolua_cPlayer_GetPermissions); + tolua_function(tolua_S, "GetRestrictions", tolua_cPlayer_GetRestrictions); + tolua_function(tolua_S, "GetUUID", tolua_cPlayer_GetUUID); + tolua_function(tolua_S, "PermissionMatches", tolua_cPlayer_PermissionMatches); + tolua_function(tolua_S, "PlaceBlock", tolua_cPlayer_PlaceBlock); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cPlugin"); + tolua_function(tolua_S, "GetDirectory", tolua_cPlugin_GetDirectory); + tolua_function(tolua_S, "GetLocalDirectory", tolua_cPlugin_GetLocalDirectory); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cPluginLua"); + tolua_function(tolua_S, "AddWebTab", tolua_cPluginLua_AddWebTab); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cPluginManager"); + tolua_function(tolua_S, "AddHook", tolua_cPluginManager_AddHook); + tolua_function(tolua_S, "BindCommand", tolua_cPluginManager_BindCommand); + tolua_function(tolua_S, "BindConsoleCommand", tolua_cPluginManager_BindConsoleCommand); + tolua_function(tolua_S, "CallPlugin", tolua_cPluginManager_CallPlugin); + tolua_function(tolua_S, "DoWithPlugin", StaticDoWith); + tolua_function(tolua_S, "ExecuteConsoleCommand", tolua_cPluginManager_ExecuteConsoleCommand); + tolua_function(tolua_S, "FindPlugins", tolua_cPluginManager_FindPlugins); + tolua_function(tolua_S, "ForEachCommand", tolua_cPluginManager_ForEachCommand); + tolua_function(tolua_S, "ForEachConsoleCommand", tolua_cPluginManager_ForEachConsoleCommand); + tolua_function(tolua_S, "ForEachPlugin", StaticForEach); + tolua_function(tolua_S, "GetAllPlugins", tolua_cPluginManager_GetAllPlugins); + tolua_function(tolua_S, "GetCurrentPlugin", tolua_cPluginManager_GetCurrentPlugin); + tolua_function(tolua_S, "GetPlugin", tolua_cPluginManager_GetPlugin); + tolua_function(tolua_S, "LogStackTrace", tolua_cPluginManager_LogStackTrace); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cRoot"); + tolua_function(tolua_S, "DoWithPlayerByUUID", tolua_cRoot_DoWithPlayerByUUID); + tolua_function(tolua_S, "FindAndDoWithPlayer", DoWith); + tolua_function(tolua_S, "ForEachPlayer", ForEach); + tolua_function(tolua_S, "ForEachWorld", ForEach); + tolua_function(tolua_S, "GetBrewingRecipe", tolua_cRoot_GetBrewingRecipe); + tolua_function(tolua_S, "GetBuildCommitID", tolua_cRoot_GetBuildCommitID); + tolua_function(tolua_S, "GetBuildDateTime", tolua_cRoot_GetBuildDateTime); + tolua_function(tolua_S, "GetBuildID", tolua_cRoot_GetBuildID); + tolua_function(tolua_S, "GetBuildSeriesName", tolua_cRoot_GetBuildSeriesName); + tolua_function(tolua_S, "GetFurnaceRecipe", tolua_cRoot_GetFurnaceRecipe); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cScoreboard"); + tolua_function(tolua_S, "ForEachObjective", ForEach); + tolua_function(tolua_S, "ForEachTeam", ForEach); + tolua_function(tolua_S, "GetTeamNames", tolua_cScoreboard_GetTeamNames); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cServer"); + tolua_function(tolua_S, "RegisterForgeMod", tolua_cServer_RegisterForgeMod); + tolua_function(tolua_S, "ScheduleTask", tolua_cServer_ScheduleTask); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cStringCompression"); + tolua_function(tolua_S, "CompressStringZLIB", tolua_CompressStringZLIB); + tolua_function(tolua_S, "UncompressStringZLIB", tolua_UncompressStringZLIB); + tolua_function(tolua_S, "CompressStringGZIP", tolua_CompressStringGZIP); + tolua_function(tolua_S, "UncompressStringGZIP", tolua_InflateString); + tolua_function(tolua_S, "InflateString", tolua_InflateString); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cUrlParser"); + tolua_function(tolua_S, "GetDefaultPort", tolua_cUrlParser_GetDefaultPort); + tolua_function(tolua_S, "IsKnownScheme", tolua_cUrlParser_IsKnownScheme); + tolua_function(tolua_S, "Parse", tolua_cUrlParser_Parse); + tolua_function(tolua_S, "ParseAuthorityPart", tolua_cUrlParser_ParseAuthorityPart); + tolua_function(tolua_S, "UrlDecode", tolua_cUrlParser_UrlDecode); + tolua_function(tolua_S, "UrlEncode", tolua_cUrlParser_UrlEncode); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "cWebAdmin"); + tolua_function(tolua_S, "AddWebTab", tolua_cWebAdmin_AddWebTab); + tolua_function(tolua_S, "GetAllWebTabs", tolua_cWebAdmin_GetAllWebTabs); + tolua_function(tolua_S, "GetPage", tolua_cWebAdmin_GetPage); + tolua_function(tolua_S, "GetURLEncodedString", tolua_cWebAdmin_GetURLEncodedString); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "HTTPRequest"); + tolua_variable(tolua_S, "FormData", tolua_get_HTTPRequest_FormData, nullptr); + tolua_variable(tolua_S, "Params", tolua_get_HTTPRequest_Params, nullptr); + tolua_variable(tolua_S, "PostParams", tolua_get_HTTPRequest_PostParams, nullptr); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "StatisticsManager"); + tolua_array(tolua_S, "Custom", tolua_get_StatisticsManager_Custom, tolua_set_StatisticsManager_Custom); + tolua_endmodule(tolua_S); + + BindNetwork(tolua_S); + BindRankManager(tolua_S); + BindWorld(tolua_S); + BindBlockArea(tolua_S); tolua_endmodule(tolua_S); } diff --git a/src/Bindings/ManualBindings.h b/src/Bindings/ManualBindings.h index f0b7cb607..233c438c3 100644 --- a/src/Bindings/ManualBindings.h +++ b/src/Bindings/ManualBindings.h @@ -25,11 +25,11 @@ class cPluginLua; /** Provides namespace for the bindings. */ class cManualBindings { -public: + public: /** Binds all the manually implemented functions to tolua_S. */ static void Bind(lua_State * tolua_S); -protected: + protected: /** Binds the manually implemented cNetwork-related API to tolua_S. Implemented in ManualBindings_Network.cpp. */ static void BindNetwork(lua_State * tolua_S); @@ -47,32 +47,24 @@ protected: static void BindBlockArea(lua_State * tolua_S); -public: + public: // Helper functions: static cPluginLua * GetLuaPlugin(lua_State * L); static int tolua_do_error(lua_State * L, const char * a_pMsg, tolua_Error * a_pToLuaError); static int vlua_do_error(lua_State * L, const char * a_pFormat, fmt::printf_args a_ArgList); - template - static int lua_do_error(lua_State * L, const char * a_Format, const Args & ... a_Args) + template static int lua_do_error(lua_State * L, const char * a_Format, const Args &... a_Args) { return vlua_do_error(L, a_Format, fmt::make_printf_args(a_Args...)); } /** Binds the DoWith(ItemName) functions of regular classes. */ - template < - class Ty1, - class Ty2, - bool (Ty1::*DoWithFn)(const AString &, cFunctionRef) - > + template )> static int DoWith(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamString(2) || - !L.CheckParamFunction(3) - ) + if (!L.CheckParamString(2) || !L.CheckParamFunction(3)) { return 0; } @@ -88,15 +80,23 @@ public: } if (ItemName.empty() || (ItemName[0] == 0)) { - return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a non-empty string for parameter #1"); + return lua_do_error( + tolua_S, + "Error in function call '#funcname#': Expected a non-empty string for parameter #1" + ); } if (!FnRef.IsValid()) { - return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a valid callback function for parameter #2"); + return lua_do_error( + tolua_S, + "Error in function call '#funcname#': Expected a valid callback function for parameter #2" + ); } // Call the DoWith function: - bool res = (Self->*DoWithFn)(ItemName, [&](Ty2 & a_Item) + bool res = (Self->*DoWithFn)( + ItemName, + [&](Ty2 & a_Item) { bool ret = false; L.Call(FnRef, &a_Item, cLuaState::Return, ret); @@ -114,19 +114,12 @@ public: /** Template for static functions DoWith(ItemName), on a type that has a static ::Get() function. */ - template < - class Ty1, - class Ty2, - bool (Ty1::*DoWithFn)(const AString &, cFunctionRef) - > + template )> static int StaticDoWith(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamString(2) || - !L.CheckParamFunction(3) - ) + if (!L.CheckParamString(2) || !L.CheckParamFunction(3)) { return 0; } @@ -137,15 +130,23 @@ public: L.GetStackValues(2, ItemName, FnRef); if (ItemName.empty() || (ItemName[0] == 0)) { - return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a non-empty string for parameter #1"); + return lua_do_error( + tolua_S, + "Error in function call '#funcname#': Expected a non-empty string for parameter #1" + ); } if (!FnRef.IsValid()) { - return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a valid callback function for parameter #2"); + return lua_do_error( + tolua_S, + "Error in function call '#funcname#': Expected a valid callback function for parameter #2" + ); } // Call the DoWith function: - bool res = (Ty1::Get()->*DoWithFn)(ItemName, [&](Ty2 & a_Item) + bool res = (Ty1::Get()->*DoWithFn)( + ItemName, + [&](Ty2 & a_Item) { bool ret = false; L.Call(FnRef, &a_Item, cLuaState::Return, ret); @@ -162,19 +163,12 @@ public: - template < - class Ty1, - class Ty2, - bool (Ty1::*DoWithFn)(UInt32, cFunctionRef) - > + template )> static int DoWithID(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamNumber(2) || - !L.CheckParamFunction(3) - ) + if (!L.CheckParamNumber(2) || !L.CheckParamFunction(3)) { return 0; } @@ -190,11 +184,16 @@ public: } if (!FnRef.IsValid()) { - return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a valid callback function for parameter #2"); + return lua_do_error( + tolua_S, + "Error in function call '#funcname#': Expected a valid callback function for parameter #2" + ); } // Call the DoWith function: - bool res = (Self->*DoWithFn)(ItemID, [&](Ty2 & a_Item) + bool res = (Self->*DoWithFn)( + ItemID, + [&](Ty2 & a_Item) { bool ret = false; L.Call(FnRef, &a_Item, cLuaState::Return, ret); @@ -211,19 +210,12 @@ public: - template < - class Ty1, - class Ty2, - bool (Ty1::*ForEachFn)(cFunctionRef) - > + template )> static int ForEach(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamFunction(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamFunction(2) || !L.CheckParamEnd(3)) { return 0; } @@ -238,11 +230,15 @@ public: } if (!FnRef.IsValid()) { - return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a valid callback function for parameter #1"); + return lua_do_error( + tolua_S, + "Error in function call '#funcname#': Expected a valid callback function for parameter #1" + ); } // Call the enumeration: - bool res = (Self->*ForEachFn)([&](Ty2 & a_Item) + bool res = (Self->*ForEachFn)( + [&](Ty2 & a_Item) { bool ret = false; // By default continue the enumeration L.Call(FnRef, &a_Item, cLuaState::Return, ret); @@ -260,19 +256,12 @@ public: /** Implements bindings for ForEach() functions in a class that is static (has a ::Get() static function). */ - template < - class Ty1, - class Ty2, - bool (Ty1::*ForEachFn)(cFunctionRef) - > + template )> static int StaticForEach(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamFunction(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamFunction(2) || !L.CheckParamEnd(3)) { return 0; } @@ -281,11 +270,15 @@ public: cLuaState::cRef FnRef(L, 2); if (!FnRef.IsValid()) { - return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a valid callback function for parameter #1"); + return lua_do_error( + tolua_S, + "Error in function call '#funcname#': Expected a valid callback function for parameter #1" + ); } // Call the enumeration: - bool res = (Ty1::Get()->*ForEachFn)([&](Ty2 & a_Item) + bool res = (Ty1::Get()->*ForEachFn)( + [&](Ty2 & a_Item) { bool ret = false; // By default continue the enumeration L.Call(FnRef, &a_Item, cLuaState::Return, ret); diff --git a/src/Bindings/ManualBindings_BlockArea.cpp b/src/Bindings/ManualBindings_BlockArea.cpp index ed6309cee..af60f005b 100644 --- a/src/Bindings/ManualBindings_BlockArea.cpp +++ b/src/Bindings/ManualBindings_BlockArea.cpp @@ -20,17 +20,12 @@ template < class SELF, class ITEM, bool (SELF::*DoWithFn)(int, int, int, cFunctionRef), - bool (SELF::*CoordCheckFn)(int, int, int) const -> + bool (SELF::*CoordCheckFn)(int, int, int) const> static int DoWithXYZ(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamNumber(2, 4) || - !L.CheckParamFunction(5) || - !L.CheckParamEnd(6) - ) + if (!L.CheckParamNumber(2, 4) || !L.CheckParamFunction(5) || !L.CheckParamEnd(6)) { return 0; } @@ -52,13 +47,17 @@ static int DoWithXYZ(lua_State * tolua_S) } if (!(Self->*CoordCheckFn)(BlockX, BlockY, BlockZ)) { - return L.ApiParamError(fmt::format(FMT_STRING("The provided coordinates ({0}) are not valid"), - Vector3i{BlockX, BlockY, BlockZ} - )); + return L.ApiParamError( + fmt::format(FMT_STRING("The provided coordinates ({0}) are not valid"), Vector3i {BlockX, BlockY, BlockZ}) + ); } // Call the DoWith function: - bool res = (Self->*DoWithFn)(BlockX, BlockY, BlockZ, [&](ITEM & a_Item) + bool res = (Self->*DoWithFn)( + BlockX, + BlockY, + BlockZ, + [&](ITEM & a_Item) { bool ret = false; L.Call(FnRef, &a_Item, cLuaState::Return, ret); @@ -88,7 +87,15 @@ static int readCuboidOverloadParams(cLuaState & a_LuaState, int a_StartParam, cC if (a_LuaState.IsParamNumber(a_StartParam)) { // Assume the 6-number version: - if (!a_LuaState.GetStackValues(a_StartParam, a_Cuboid.p1.x, a_Cuboid.p2.x, a_Cuboid.p1.y, a_Cuboid.p2.y, a_Cuboid.p1.z, a_Cuboid.p2.z)) + if (!a_LuaState.GetStackValues( + a_StartParam, + a_Cuboid.p1.x, + a_Cuboid.p2.x, + a_Cuboid.p1.y, + a_Cuboid.p2.y, + a_Cuboid.p1.z, + a_Cuboid.p2.z + )) { return a_LuaState.ApiParamError("Cannot read the bounds parameters, expected 6 numbers"); } @@ -127,14 +134,21 @@ These can be: Returns the index of the first parameter following the Vector3i spec. Raises an Api error if the params don't specify a Vector3i. */ -static int readVector3iOverloadParams(cLuaState & a_LuaState, int a_StartParam, Vector3i & a_Coords, const char * a_ParamName) +static int readVector3iOverloadParams( + cLuaState & a_LuaState, + int a_StartParam, + Vector3i & a_Coords, + const char * a_ParamName +) { if (a_LuaState.IsParamNumber(a_StartParam)) { // Assume the 3-number version: if (!a_LuaState.GetStackValues(a_StartParam, a_Coords.x, a_Coords.y, a_Coords.z)) { - return a_LuaState.ApiParamError(fmt::format(FMT_STRING("Cannot read the {}, expected 3 numbers"), a_ParamName)); + return a_LuaState.ApiParamError( + fmt::format(FMT_STRING("Cannot read the {}, expected 3 numbers"), a_ParamName) + ); } return a_StartParam + 3; } @@ -143,7 +157,9 @@ static int readVector3iOverloadParams(cLuaState & a_LuaState, int a_StartParam, // Assume the Vector3i version: if (!a_LuaState.GetStackValues(a_StartParam, a_Coords)) { - return a_LuaState.ApiParamError(fmt::format(FMT_STRING("Cannot read the {}, expected a Vector3i instance"), a_ParamName)); + return a_LuaState.ApiParamError( + fmt::format(FMT_STRING("Cannot read the {}, expected a Vector3i instance"), a_ParamName) + ); } return a_StartParam + 1; } @@ -177,7 +193,9 @@ static int tolua_cBlockArea_Create(lua_State * a_LuaState) L.GetStackValue(dataTypesIdx, dataTypes); if (!cBlockArea::IsValidDataTypeCombination(dataTypes)) { - return L.ApiParamError(fmt::format(FMT_STRING("Invalid combination of baDataTypes specified (0x{:02x})"), dataTypes)); + return L.ApiParamError( + fmt::format(FMT_STRING("Invalid combination of baDataTypes specified (0x{:02x})"), dataTypes) + ); } // Create the area: @@ -226,7 +244,7 @@ static int tolua_cBlockArea_FillRelCuboid(lua_State * a_LuaState) bounds.p1, bounds.p2, Vector3i(0, 0, 0), - (self->GetSize() - Vector3i{1, 1, 1}) + (self->GetSize() - Vector3i {1, 1, 1}) )); } int dataTypes = cBlockArea::baTypes | cBlockArea::baMetas | cBlockArea::baBlockEntities; @@ -275,8 +293,11 @@ static int tolua_cBlockArea_GetBlockTypeMeta(lua_State * a_LuaState) readVector3iOverloadParams(L, 2, coords, "coords"); if (!self->IsValidCoords(coords)) { - return L.ApiParamError(fmt::format(FMT_STRING("Coords ({0}) out of range ({1} - {2})"), - coords, self->GetOrigin(), self->GetOrigin() + self->GetSize() - Vector3i{1, 1, 1} + return L.ApiParamError(fmt::format( + FMT_STRING("Coords ({0}) out of range ({1} - {2})"), + coords, + self->GetOrigin(), + self->GetOrigin() + self->GetSize() - Vector3i {1, 1, 1} )); } BLOCKTYPE blockType; @@ -425,8 +446,10 @@ static int tolua_cBlockArea_GetRelBlockTypeMeta(lua_State * a_LuaState) readVector3iOverloadParams(L, 2, coords, "coords"); if (!self->IsValidRelCoords(coords)) { - return L.ApiParamError(fmt::format(FMT_STRING("The coords ({0}) are out of range (max {1})"), - coords, (self->GetSize() - Vector3i{1, 1, 1}) + return L.ApiParamError(fmt::format( + FMT_STRING("The coords ({0}) are out of range (max {1})"), + coords, + (self->GetSize() - Vector3i {1, 1, 1}) )); } BLOCKTYPE blockType; @@ -476,11 +499,7 @@ static int tolua_cBlockArea_LoadFromSchematicFile(lua_State * a_LuaState) // function cBlockArea::LoadFromSchematicFile // Exported manually because function has been moved to SchematicFileSerializer.cpp cLuaState L(a_LuaState); - if ( - !L.CheckParamSelf("cBlockArea") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamSelf("cBlockArea") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -518,11 +537,7 @@ static int tolua_cBlockArea_LoadFromSchematicString(lua_State * a_LuaState) // function cBlockArea::LoadFromSchematicString // Exported manually because function has been moved to SchematicFileSerializer.cpp cLuaState L(a_LuaState); - if ( - !L.CheckParamSelf("cBlockArea") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamSelf("cBlockArea") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -560,10 +575,7 @@ static int tolua_cBlockArea_Read(lua_State * a_LuaState) { // Check the common params: cLuaState L(a_LuaState); - if ( - !L.CheckParamSelf("cBlockArea") || - !L.CheckParamUserType(2, "cWorld") - ) + if (!L.CheckParamSelf("cBlockArea") || !L.CheckParamUserType(2, "cWorld")) { return 0; } @@ -593,7 +605,9 @@ static int tolua_cBlockArea_Read(lua_State * a_LuaState) // Check the coords: if (!cChunkDef::IsValidHeight(bounds.p1) || !cChunkDef::IsValidHeight(bounds.p2)) { - return L.ApiParamError(fmt::format(FMT_STRING("Coordinates {0} - {1} exceed world bounds"), bounds.p1, bounds.p2)); + return L.ApiParamError( + fmt::format(FMT_STRING("Coordinates {0} - {1} exceed world bounds"), bounds.p1, bounds.p2) + ); } bounds.Sort(); @@ -642,7 +656,8 @@ static int tolua_cBlockArea_RelLine(lua_State * a_LuaState) { return L.ApiParamError(fmt::format( FMT_STRING("Requested datatypes not present in the cBlockArea. Got only 0x{:02x}, requested 0x{:02x}"), - self->GetDataTypes(), dataTypes + self->GetDataTypes(), + dataTypes )); } @@ -660,11 +675,7 @@ static int tolua_cBlockArea_SaveToSchematicFile(lua_State * a_LuaState) // function cBlockArea::SaveToSchematicFile // Exported manually because function has been moved to SchematicFileSerializer.cpp cLuaState L(a_LuaState); - if ( - !L.CheckParamSelf("cBlockArea") || - !L.CheckParamString(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamSelf("cBlockArea") || !L.CheckParamString(2) || !L.CheckParamEnd(3)) { return 0; } @@ -702,10 +713,7 @@ static int tolua_cBlockArea_SaveToSchematicString(lua_State * a_LuaState) // function cBlockArea::SaveToSchematicString // Exported manually because function has been moved to SchematicFileSerializer.cpp cLuaState L(a_LuaState); - if ( - !L.CheckParamSelf("cBlockArea") || - !L.CheckParamEnd(2) - ) + if (!L.CheckParamSelf("cBlockArea") || !L.CheckParamEnd(2)) { return 0; } @@ -741,10 +749,7 @@ static int tolua_cBlockArea_Write(lua_State * a_LuaState) { // Check the common params: cLuaState L(a_LuaState); - if ( - !L.CheckParamSelf("cBlockArea") || - !L.CheckParamUserType(2, "cWorld") - ) + if (!L.CheckParamSelf("cBlockArea") || !L.CheckParamUserType(2, "cWorld")) { return 0; } @@ -778,14 +783,16 @@ static int tolua_cBlockArea_Write(lua_State * a_LuaState) { return L.ApiParamError(fmt::format( FMT_STRING("Requesting datatypes not present in the cBlockArea. Got only 0x{:02x}, requested 0x{:02x}"), - self->GetDataTypes(), dataTypes + self->GetDataTypes(), + dataTypes )); } } // Check and adjust the coord params: // TODO: Should we report this as a failure? Because the result is definitely not what the plugin assumed - // ... Or should we silently clone-crop-write the cBlockArea so that the API call does what would be naturally expected? + // ... Or should we silently clone-crop-write the cBlockArea so that the API call does what would be naturally + // expected? // ... Or should we change the cBlockArea::Write() to allow out-of-range Y coords and do the cropping there? // ... NOTE: We already support auto-crop in cBlockArea::Merge() itself if (coords.y < 0) @@ -822,11 +829,7 @@ DataType is either BLOCKTYPE or NIBBLETYPE. DataTypeFlag is the ba___ constant used for the datatype being queried. Fn is the getter function. Also supports the Vector3i overloads (TODO: document these (?)). */ -template < - typename DataType, - int DataTypeFlag, - DataType (cBlockArea::*Fn)(int, int, int) const -> +template static int GetBlock(lua_State * a_LuaState) { // Check the common params: @@ -846,7 +849,8 @@ static int GetBlock(lua_State * a_LuaState) // Check the datatype's presence: if ((self->GetDataTypes() & DataTypeFlag) == 0) { - return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the datatype (0x{:02x})"), DataTypeFlag)); + return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the datatype (0x{:02x})"), DataTypeFlag) + ); } // Read the overloaded params: @@ -854,8 +858,11 @@ static int GetBlock(lua_State * a_LuaState) readVector3iOverloadParams(L, 2, coords, "coords"); if (!self->IsValidCoords(coords)) { - return L.ApiParamError(fmt::format(FMT_STRING("The coords ({0}) are out of range ({1} - {2})"), - coords, self->GetOrigin(), self->GetOrigin() + self->GetSize() - Vector3i{1, 1, 1} + return L.ApiParamError(fmt::format( + FMT_STRING("The coords ({0}) are out of range ({1} - {2})"), + coords, + self->GetOrigin(), + self->GetOrigin() + self->GetSize() - Vector3i {1, 1, 1} )); } @@ -873,11 +880,7 @@ DataType is either BLOCKTYPE or NIBBLETYPE. DataTypeFlag is the ba___ constant used for the datatype being queried. Fn is the getter function. Also supports the Vector3i overloads (TODO: document these (?)). */ -template < - typename DataType, - int DataTypeFlag, - DataType (cBlockArea::*Fn)(int, int, int) const -> +template static int GetRelBlock(lua_State * a_LuaState) { // Check the common params: @@ -897,7 +900,8 @@ static int GetRelBlock(lua_State * a_LuaState) // Check the datatype's presence: if ((self->GetDataTypes() & DataTypeFlag) == 0) { - return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the datatype (0x{:02x})"), DataTypeFlag)); + return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the datatype (0x{:02x})"), DataTypeFlag) + ); } // Read the overloaded params: @@ -905,8 +909,10 @@ static int GetRelBlock(lua_State * a_LuaState) readVector3iOverloadParams(L, 2, coords, "coords"); if (!self->IsValidRelCoords(coords)) { - return L.ApiParamError(fmt::format(FMT_STRING("The coords ({0}) are out of range ({1})"), - coords, (self->GetSize() - Vector3i(1, 1, 1)) + return L.ApiParamError(fmt::format( + FMT_STRING("The coords ({0}) are out of range ({1})"), + coords, + (self->GetSize() - Vector3i(1, 1, 1)) )); } @@ -924,11 +930,7 @@ DataType is either BLOCKTYPE or NIBBLETYPE. DataTypeFlag is the ba___ constant used for the datatypebeing manipulated. Fn is the setter function. Also supports the Vector3i overloads (TODO: document these (?)). */ -template < - typename DataType, - int DataTypeFlag, - void (cBlockArea::*Fn)(int, int, int, DataType) -> +template static int SetBlock(lua_State * a_LuaState) { // Check the common params: @@ -948,7 +950,8 @@ static int SetBlock(lua_State * a_LuaState) // Check the datatype's presence: if ((self->GetDataTypes() & DataTypeFlag) == 0) { - return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the datatype (0x{:02x})"), DataTypeFlag)); + return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the datatype (0x{:02x})"), DataTypeFlag) + ); } // Read the overloaded params: @@ -956,8 +959,11 @@ static int SetBlock(lua_State * a_LuaState) auto idx = readVector3iOverloadParams(L, 2, coords, "coords"); if (!self->IsValidCoords(coords)) { - return L.ApiParamError(fmt::format(FMT_STRING("The coords ({0}) are out of range ({1} - {2})"), - coords, self->GetOrigin(), self->GetOrigin() + self->GetSize() - Vector3i{1, 1, 1} + return L.ApiParamError(fmt::format( + FMT_STRING("The coords ({0}) are out of range ({1} - {2})"), + coords, + self->GetOrigin(), + self->GetOrigin() + self->GetSize() - Vector3i {1, 1, 1} )); } DataType data; @@ -977,11 +983,7 @@ DataType is either BLOCKTYPE or NIBBLETYPE. DataTypeFlag is the ba___ constant used for the datatypebeing manipulated. Fn is the setter function. Also supports the Vector3i overloads (TODO: document these (?)). */ -template < - typename DataType, - int DataTypeFlag, - void (cBlockArea::*Fn)(int, int, int, DataType) -> +template static int SetRelBlock(lua_State * a_LuaState) { // Check the common params: @@ -1001,7 +1003,8 @@ static int SetRelBlock(lua_State * a_LuaState) // Check the datatype's presence: if ((self->GetDataTypes() & DataTypeFlag) == 0) { - return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the datatype (0x{:02x})"), DataTypeFlag)); + return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the datatype (0x{:02x})"), DataTypeFlag) + ); } // Read the overloaded params: @@ -1011,7 +1014,8 @@ static int SetRelBlock(lua_State * a_LuaState) { return L.ApiParamError(fmt::format( FMT_STRING("The coords ({0}) are out of range ({1})"), - coords, (self->GetSize() - Vector3i(1, 1, 1)) + coords, + (self->GetSize() - Vector3i(1, 1, 1)) )); } DataType data; @@ -1053,8 +1057,11 @@ static int tolua_cBlockArea_SetBlockTypeMeta(lua_State * a_LuaState) auto idx = readVector3iOverloadParams(L, 2, coords, "coords"); if (!self->IsValidCoords(coords)) { - return L.ApiParamError(fmt::format(FMT_STRING("The coords ({0}) are out of range ({1} - {2})"), - coords, self->GetOrigin(), self->GetOrigin() + self->GetSize() - Vector3i{1, 1, 1} + return L.ApiParamError(fmt::format( + FMT_STRING("The coords ({0}) are out of range ({1} - {2})"), + coords, + self->GetOrigin(), + self->GetOrigin() + self->GetSize() - Vector3i {1, 1, 1} )); } @@ -1093,7 +1100,10 @@ static int tolua_cBlockArea_SetRelBlockTypeMeta(lua_State * a_LuaState) // Check if block types and metas are present: if (!self->HasBlockTypes() || !self->HasBlockMetas()) { - return L.ApiParamError(fmt::format(FMT_STRING("The area doesn't contain the baTypes or baMetas datatypes (0x{:02x})"), self->GetDataTypes())); + return L.ApiParamError(fmt::format( + FMT_STRING("The area doesn't contain the baTypes or baMetas datatypes (0x{:02x})"), + self->GetDataTypes() + )); } // Read the overloaded params: @@ -1101,8 +1111,10 @@ static int tolua_cBlockArea_SetRelBlockTypeMeta(lua_State * a_LuaState) auto idx = readVector3iOverloadParams(L, 2, coords, "coords"); if (!self->IsValidRelCoords(coords)) { - return L.ApiParamError(fmt::format(FMT_STRING("The coords ({0}) are out of range ({1})"), - coords, (self->GetSize() - Vector3i(1, 1, 1)) + return L.ApiParamError(fmt::format( + FMT_STRING("The coords ({0}) are out of range ({1})"), + coords, + (self->GetSize() - Vector3i(1, 1, 1)) )); } @@ -1125,47 +1137,43 @@ static int tolua_cBlockArea_SetRelBlockTypeMeta(lua_State * a_LuaState) void cManualBindings::BindBlockArea(lua_State * a_LuaState) { tolua_beginmodule(a_LuaState, nullptr); - tolua_beginmodule(a_LuaState, "cBlockArea"); - tolua_function(a_LuaState, "Create", tolua_cBlockArea_Create); - tolua_function(a_LuaState, "DoWithBlockEntityAt", DoWithXYZ); - tolua_function(a_LuaState, "DoWithBlockEntityRelAt", DoWithXYZ); - tolua_function(a_LuaState, "FillRelCuboid", tolua_cBlockArea_FillRelCuboid); - tolua_function(a_LuaState, "ForEachBlockEntity", ForEach< cBlockArea, cBlockEntity, &cBlockArea::ForEachBlockEntity>); - tolua_function(a_LuaState, "GetBlockLight", GetBlock); - tolua_function(a_LuaState, "GetBlockMeta", GetBlock); - tolua_function(a_LuaState, "GetBlockSkyLight", GetBlock); - tolua_function(a_LuaState, "GetBlockType", GetBlock); - tolua_function(a_LuaState, "GetBlockTypeMeta", tolua_cBlockArea_GetBlockTypeMeta); - tolua_function(a_LuaState, "GetCoordRange", tolua_cBlockArea_GetCoordRange); - tolua_function(a_LuaState, "GetNonAirCropRelCoords", tolua_cBlockArea_GetNonAirCropRelCoords); - tolua_function(a_LuaState, "GetOrigin", tolua_cBlockArea_GetOrigin); - tolua_function(a_LuaState, "GetRelBlockLight", GetRelBlock); - tolua_function(a_LuaState, "GetRelBlockMeta", GetRelBlock); - tolua_function(a_LuaState, "GetRelBlockSkyLight", GetRelBlock); - tolua_function(a_LuaState, "GetRelBlockType", GetRelBlock); - tolua_function(a_LuaState, "GetRelBlockTypeMeta", tolua_cBlockArea_GetRelBlockTypeMeta); - tolua_function(a_LuaState, "GetSize", tolua_cBlockArea_GetSize); - tolua_function(a_LuaState, "LoadFromSchematicFile", tolua_cBlockArea_LoadFromSchematicFile); - tolua_function(a_LuaState, "LoadFromSchematicString", tolua_cBlockArea_LoadFromSchematicString); - tolua_function(a_LuaState, "Read", tolua_cBlockArea_Read); - tolua_function(a_LuaState, "RelLine", tolua_cBlockArea_RelLine); - tolua_function(a_LuaState, "SaveToSchematicFile", tolua_cBlockArea_SaveToSchematicFile); - tolua_function(a_LuaState, "SaveToSchematicString", tolua_cBlockArea_SaveToSchematicString); - tolua_function(a_LuaState, "SetBlockType", SetBlock); - tolua_function(a_LuaState, "SetBlockMeta", SetBlock); - tolua_function(a_LuaState, "SetBlockLight", SetBlock); - tolua_function(a_LuaState, "SetBlockSkyLight", SetBlock); - tolua_function(a_LuaState, "SetBlockTypeMeta", tolua_cBlockArea_SetBlockTypeMeta); - tolua_function(a_LuaState, "SetRelBlockType", SetRelBlock); - tolua_function(a_LuaState, "SetRelBlockMeta", SetRelBlock); - tolua_function(a_LuaState, "SetRelBlockLight", SetRelBlock); - tolua_function(a_LuaState, "SetRelBlockSkyLight", SetRelBlock); - tolua_function(a_LuaState, "SetRelBlockTypeMeta", tolua_cBlockArea_SetRelBlockTypeMeta); - tolua_function(a_LuaState, "Write", tolua_cBlockArea_Write); - tolua_endmodule(a_LuaState); + tolua_beginmodule(a_LuaState, "cBlockArea"); + tolua_function(a_LuaState, "Create", tolua_cBlockArea_Create); + tolua_function(a_LuaState, "DoWithBlockEntityAt", DoWithXYZ); + tolua_function(a_LuaState, "DoWithBlockEntityRelAt", DoWithXYZ); + tolua_function(a_LuaState, "FillRelCuboid", tolua_cBlockArea_FillRelCuboid); + tolua_function(a_LuaState, "ForEachBlockEntity", ForEach); + tolua_function(a_LuaState, "GetBlockLight", GetBlock); + tolua_function(a_LuaState, "GetBlockMeta", GetBlock); + tolua_function(a_LuaState, "GetBlockSkyLight", GetBlock); + tolua_function(a_LuaState, "GetBlockType", GetBlock); + tolua_function(a_LuaState, "GetBlockTypeMeta", tolua_cBlockArea_GetBlockTypeMeta); + tolua_function(a_LuaState, "GetCoordRange", tolua_cBlockArea_GetCoordRange); + tolua_function(a_LuaState, "GetNonAirCropRelCoords", tolua_cBlockArea_GetNonAirCropRelCoords); + tolua_function(a_LuaState, "GetOrigin", tolua_cBlockArea_GetOrigin); + tolua_function(a_LuaState, "GetRelBlockLight", GetRelBlock); + tolua_function(a_LuaState, "GetRelBlockMeta", GetRelBlock); + tolua_function(a_LuaState, "GetRelBlockSkyLight", GetRelBlock); + tolua_function(a_LuaState, "GetRelBlockType", GetRelBlock); + tolua_function(a_LuaState, "GetRelBlockTypeMeta", tolua_cBlockArea_GetRelBlockTypeMeta); + tolua_function(a_LuaState, "GetSize", tolua_cBlockArea_GetSize); + tolua_function(a_LuaState, "LoadFromSchematicFile", tolua_cBlockArea_LoadFromSchematicFile); + tolua_function(a_LuaState, "LoadFromSchematicString", tolua_cBlockArea_LoadFromSchematicString); + tolua_function(a_LuaState, "Read", tolua_cBlockArea_Read); + tolua_function(a_LuaState, "RelLine", tolua_cBlockArea_RelLine); + tolua_function(a_LuaState, "SaveToSchematicFile", tolua_cBlockArea_SaveToSchematicFile); + tolua_function(a_LuaState, "SaveToSchematicString", tolua_cBlockArea_SaveToSchematicString); + tolua_function(a_LuaState, "SetBlockType", SetBlock); + tolua_function(a_LuaState, "SetBlockMeta", SetBlock); + tolua_function(a_LuaState, "SetBlockLight", SetBlock); + tolua_function(a_LuaState, "SetBlockSkyLight", SetBlock); + tolua_function(a_LuaState, "SetBlockTypeMeta", tolua_cBlockArea_SetBlockTypeMeta); + tolua_function(a_LuaState, "SetRelBlockType", SetRelBlock); + tolua_function(a_LuaState, "SetRelBlockMeta", SetRelBlock); + tolua_function(a_LuaState, "SetRelBlockLight", SetRelBlock); + tolua_function(a_LuaState, "SetRelBlockSkyLight", SetRelBlock); + tolua_function(a_LuaState, "SetRelBlockTypeMeta", tolua_cBlockArea_SetRelBlockTypeMeta); + tolua_function(a_LuaState, "Write", tolua_cBlockArea_Write); + tolua_endmodule(a_LuaState); tolua_endmodule(a_LuaState); } - - - - diff --git a/src/Bindings/ManualBindings_Network.cpp b/src/Bindings/ManualBindings_Network.cpp index c184821e9..de3c258b9 100644 --- a/src/Bindings/ManualBindings_Network.cpp +++ b/src/Bindings/ManualBindings_Network.cpp @@ -28,13 +28,8 @@ static int tolua_cNetwork_Connect(lua_State * L) // cNetwork:Connect(Host, Port, Callbacks) -> bool cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cNetwork") || - !S.CheckParamString(2) || - !S.CheckParamNumber(3) || - !S.CheckParamTable(4) || - !S.CheckParamEnd(5) - ) + if (!S.CheckParamStaticSelf("cNetwork") || !S.CheckParamString(2) || !S.CheckParamNumber(3) || + !S.CheckParamTable(4) || !S.CheckParamEnd(5)) { return 0; } @@ -76,12 +71,7 @@ static int tolua_cNetwork_CreateUDPEndpoint(lua_State * L) // cNetwork:CreateUDPEndpoint(Port, Callbacks) -> cUDPEndpoint cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cNetwork") || - !S.CheckParamNumber(2) || - !S.CheckParamTable(3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamStaticSelf("cNetwork") || !S.CheckParamNumber(2) || !S.CheckParamTable(3) || !S.CheckParamEnd(4)) { return 0; } @@ -125,10 +115,7 @@ static int tolua_cNetwork_EnumLocalIPAddresses(lua_State * L) // cNetwork:EnumLocalIPAddresses() -> {string, ...} cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cNetwork") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamStaticSelf("cNetwork") || !S.CheckParamEnd(2)) { return 0; } @@ -149,12 +136,7 @@ static int tolua_cNetwork_HostnameToIP(lua_State * L) // cNetwork:HostnameToIP(Host, Callbacks) -> bool cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cNetwork") || - !S.CheckParamString(2) || - !S.CheckParamTable(3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamStaticSelf("cNetwork") || !S.CheckParamString(2) || !S.CheckParamTable(3) || !S.CheckParamEnd(4)) { return 0; } @@ -185,12 +167,7 @@ static int tolua_cNetwork_IPToHostname(lua_State * L) // cNetwork:IPToHostname(IP, Callbacks) -> bool cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cNetwork") || - !S.CheckParamString(2) || - !S.CheckParamTable(3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamStaticSelf("cNetwork") || !S.CheckParamString(2) || !S.CheckParamTable(3) || !S.CheckParamEnd(4)) { return 0; } @@ -221,12 +198,7 @@ static int tolua_cNetwork_Listen(lua_State * L) // cNetwork:Listen(Port, Callbacks) -> cServerHandle cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cNetwork") || - !S.CheckParamNumber(2) || - !S.CheckParamTable(3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamStaticSelf("cNetwork") || !S.CheckParamNumber(2) || !S.CheckParamTable(3) || !S.CheckParamEnd(4)) { return 0; } @@ -289,10 +261,7 @@ static int tolua_cServerHandle_Close(lua_State * L) // ServerInstance:Close() cLuaState S(L); - if ( - !S.CheckParamSelf("cServerHandle") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cServerHandle") || !S.CheckParamEnd(2)) { return 0; } @@ -317,10 +286,7 @@ static int tolua_cServerHandle_IsListening(lua_State * L) // ServerInstance:IsListening() -> bool cLuaState S(L); - if ( - !S.CheckParamSelf("cServerHandle") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cServerHandle") || !S.CheckParamEnd(2)) { return 0; } @@ -348,10 +314,7 @@ static int tolua_cTCPLink_Close(lua_State * L) // LinkInstance:Close() cLuaState S(L); - if ( - !S.CheckParamSelf("cTCPLink") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cTCPLink") || !S.CheckParamEnd(2)) { return 0; } @@ -376,10 +339,7 @@ static int tolua_cTCPLink_GetLocalIP(lua_State * L) // LinkInstance:GetLocalIP() -> string cLuaState S(L); - if ( - !S.CheckParamSelf("cTCPLink") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cTCPLink") || !S.CheckParamEnd(2)) { return 0; } @@ -404,10 +364,7 @@ static int tolua_cTCPLink_GetLocalPort(lua_State * L) // LinkInstance:GetLocalPort() -> number cLuaState S(L); - if ( - !S.CheckParamSelf("cTCPLink") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cTCPLink") || !S.CheckParamEnd(2)) { return 0; } @@ -432,10 +389,7 @@ static int tolua_cTCPLink_GetRemoteIP(lua_State * L) // LinkInstance:GetRemoteIP() -> string cLuaState S(L); - if ( - !S.CheckParamSelf("cTCPLink") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cTCPLink") || !S.CheckParamEnd(2)) { return 0; } @@ -460,10 +414,7 @@ static int tolua_cTCPLink_GetRemotePort(lua_State * L) // LinkInstance:GetRemotePort() -> number cLuaState S(L); - if ( - !S.CheckParamSelf("cTCPLink") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cTCPLink") || !S.CheckParamEnd(2)) { return 0; } @@ -488,11 +439,7 @@ static int tolua_cTCPLink_Send(lua_State * L) // LinkInstance:Send(DataString) cLuaState S(L); - if ( - !S.CheckParamSelf("cTCPLink") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamSelf("cTCPLink") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -521,10 +468,7 @@ static int tolua_cTCPLink_Shutdown(lua_State * L) // LinkInstance:Shutdown() cLuaState S(L); - if ( - !S.CheckParamSelf("cTCPLink") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cTCPLink") || !S.CheckParamEnd(2)) { return 0; } @@ -559,16 +503,27 @@ static int tolua_cTCPLink_StartTLSClient(lua_State * L) // Read the (optional) params: AString OwnCert, OwnPrivKey, OwnPrivKeyPassword, TrustedRootCAs; - S.GetStackValues(2, OwnCert, OwnPrivKey, OwnPrivKeyPassword, cLuaState::cOptionalParam(TrustedRootCAs)); + S.GetStackValues( + 2, + OwnCert, + OwnPrivKey, + OwnPrivKeyPassword, + cLuaState::cOptionalParam(TrustedRootCAs) + ); // Start the TLS handshake: AString res = Link->StartTLSClient(OwnCert, OwnPrivKey, OwnPrivKeyPassword, TrustedRootCAs); if (!res.empty()) { - S.Push(cLuaState::Nil, fmt::format( - FMT_STRING("Cannot start TLS on link to {}:{}: {}"), - Link->GetRemoteIP(), Link->GetRemotePort(), res - )); + S.Push( + cLuaState::Nil, + fmt::format( + FMT_STRING("Cannot start TLS on link to {}:{}: {}"), + Link->GetRemoteIP(), + Link->GetRemotePort(), + res + ) + ); return 2; } return 1; @@ -585,12 +540,9 @@ static int tolua_cTCPLink_StartTLSServer(lua_State * L) // LinkInstance:StartTLSServer(OwnCert, OwnPrivKey, OwnPrivKeyPassword, StartTLSData) -> [true] or [nil, ErrMsg] cLuaState S(L); - if ( - !S.CheckParamSelf("cTCPLink") || - !S.CheckParamString(2, 4) || + if (!S.CheckParamSelf("cTCPLink") || !S.CheckParamString(2, 4) || // Param 5 is optional, don't check - !S.CheckParamEnd(6) - ) + !S.CheckParamEnd(6)) { return 0; } @@ -607,10 +559,15 @@ static int tolua_cTCPLink_StartTLSServer(lua_State * L) AString res = Link->StartTLSServer(OwnCert, OwnPrivKey, OwnPrivKeyPassword, StartTLSData); if (!res.empty()) { - S.Push(cLuaState::Nil, fmt::format( - FMT_STRING("Cannot start TLS on link to {}:{}: {}"), - Link->GetRemoteIP(), Link->GetRemotePort(), res - )); + S.Push( + cLuaState::Nil, + fmt::format( + FMT_STRING("Cannot start TLS on link to {}:{}: {}"), + Link->GetRemoteIP(), + Link->GetRemotePort(), + res + ) + ); return 2; } S.Push(true); @@ -645,10 +602,7 @@ static int tolua_cUDPEndpoint_Close(lua_State * L) // EndpointInstance:Close() cLuaState S(L); - if ( - !S.CheckParamSelf("cUDPEndpoint") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cUDPEndpoint") || !S.CheckParamEnd(2)) { return 0; } @@ -673,10 +627,7 @@ static int tolua_cUDPEndpoint_EnableBroadcasts(lua_State * L) // EndpointInstance:EnableBroadcasts() cLuaState S(L); - if ( - !S.CheckParamSelf("cUDPEndpoint") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cUDPEndpoint") || !S.CheckParamEnd(2)) { return 0; } @@ -701,10 +652,7 @@ static int tolua_cUDPEndpoint_GetPort(lua_State * L) // Endpoint:GetPort() -> number cLuaState S(L); - if ( - !S.CheckParamSelf("cUDPEndpoint") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cUDPEndpoint") || !S.CheckParamEnd(2)) { return 0; } @@ -729,10 +677,7 @@ static int tolua_cUDPEndpoint_IsOpen(lua_State * L) // Endpoint:IsOpen() -> bool cLuaState S(L); - if ( - !S.CheckParamSelf("cUDPEndpoint") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamSelf("cUDPEndpoint") || !S.CheckParamEnd(2)) { return 0; } @@ -757,12 +702,7 @@ static int tolua_cUDPEndpoint_Send(lua_State * L) // Endpoint:Send(DataString) cLuaState S(L); - if ( - !S.CheckParamSelf("cUDPEndpoint") || - !S.CheckParamString(2, 3) || - !S.CheckParamNumber(4) || - !S.CheckParamEnd(5) - ) + if (!S.CheckParamSelf("cUDPEndpoint") || !S.CheckParamString(2, 3) || !S.CheckParamNumber(4) || !S.CheckParamEnd(5)) { return 0; } @@ -779,7 +719,8 @@ static int tolua_cUDPEndpoint_Send(lua_State * L) // Check the port: if ((remotePort < 0) || (remotePort > USHRT_MAX)) { - return S.ApiParamError(fmt::format(FMT_STRING("Port number out of range (got {}, range 0 - 65535)"), remotePort)); + return S.ApiParamError(fmt::format(FMT_STRING("Port number out of range (got {}, range 0 - 65535)"), remotePort) + ); } // Send the data: @@ -793,12 +734,11 @@ static int tolua_cUDPEndpoint_Send(lua_State * L) /** Used when the cUrlClient Lua request wants all the callbacks. Maps each callback onto a Lua function callback in the callback table. */ -class cFullUrlClientCallbacks: - public cUrlClient::cCallbacks +class cFullUrlClientCallbacks : public cUrlClient::cCallbacks { -public: + public: /** Creates a new instance bound to the specified table of callbacks. */ - cFullUrlClientCallbacks(cLuaState::cTableRefPtr && a_Callbacks): + cFullUrlClientCallbacks(cLuaState::cTableRefPtr && a_Callbacks) : m_Callbacks(std::move(a_Callbacks)) { } @@ -814,23 +754,18 @@ public: virtual bool OnCertificateReceived() override { - // TODO: The received cert needs proper type specification from the underlying cUrlClient framework and in the Lua engine as well + // TODO: The received cert needs proper type specification from the underlying cUrlClient framework and in the + // Lua engine as well bool res = true; m_Callbacks->CallTableFnWithSelf("OnCertificateReceived", cLuaState::Return, res); return res; } - virtual void OnTlsHandshakeCompleted() override - { - m_Callbacks->CallTableFnWithSelf("OnTlsHandshakeCompleted"); - } + virtual void OnTlsHandshakeCompleted() override { m_Callbacks->CallTableFnWithSelf("OnTlsHandshakeCompleted"); } - virtual void OnRequestSent() override - { - m_Callbacks->CallTableFnWithSelf("OnRequestSent"); - } + virtual void OnRequestSent() override { m_Callbacks->CallTableFnWithSelf("OnRequestSent"); } virtual void OnStatusLine(const AString & a_HttpVersion, int a_StatusCode, const AString & a_Rest) override @@ -846,10 +781,7 @@ public: } - virtual void OnHeadersFinished() override - { - m_Callbacks->CallTableFnWithSelf("OnHeadersFinished", m_Headers); - } + virtual void OnHeadersFinished() override { m_Callbacks->CallTableFnWithSelf("OnHeadersFinished", m_Headers); } virtual void OnBodyData(const void * a_Data, size_t a_Size) override @@ -858,10 +790,7 @@ public: } - virtual void OnBodyFinished() override - { - m_Callbacks->CallTableFnWithSelf("OnBodyFinished"); - } + virtual void OnBodyFinished() override { m_Callbacks->CallTableFnWithSelf("OnBodyFinished"); } virtual void OnError(const AString & a_ErrorMsg) override @@ -876,7 +805,7 @@ public: } -protected: + protected: /** The Lua table containing the callbacks. */ cLuaState::cTableRefPtr m_Callbacks; @@ -894,21 +823,17 @@ callback("BodyContents", {headers}) callback(nil, "ErrorMessage") Accumulates the body contents into a single string until the body is finished. Accumulates all HTTP headers into an AStringMap. */ -class cSimpleUrlClientCallbacks: - public cUrlClient::cCallbacks +class cSimpleUrlClientCallbacks : public cUrlClient::cCallbacks { -public: + public: /** Creates a new instance that uses the specified callback to report when request finishes. */ - cSimpleUrlClientCallbacks(cLuaState::cCallbackPtr && a_Callback): + cSimpleUrlClientCallbacks(cLuaState::cCallbackPtr && a_Callback) : m_Callback(std::move(a_Callback)) { } - virtual void OnHeader(const AString & a_Key, const AString & a_Value) override - { - m_Headers[a_Key] = a_Value; - } + virtual void OnHeader(const AString & a_Key, const AString & a_Value) override { m_Headers[a_Key] = a_Value; } virtual void OnBodyData(const void * a_Data, size_t a_Size) override @@ -917,20 +842,13 @@ public: } - virtual void OnBodyFinished() override - { - m_Callback->Call(m_ResponseBody, m_Headers); - } - + virtual void OnBodyFinished() override { m_Callback->Call(m_ResponseBody, m_Headers); } - virtual void OnError(const AString & a_ErrorMsg) override - { - m_Callback->Call(cLuaState::Nil, a_ErrorMsg); - } + virtual void OnError(const AString & a_ErrorMsg) override { m_Callback->Call(cLuaState::Nil, a_ErrorMsg); } -protected: + protected: /** The callback to call when the request finishes. */ cLuaState::cCallbackPtr m_Callback; @@ -971,7 +889,9 @@ static int tolua_cUrlClient_Request_Common(lua_State * a_LuaState, const AString { if (!L.GetStackValue(a_UrlStackIdx + 1, callbacks)) { - return L.ApiParamError(fmt::format(FMT_STRING("Cannot read the CallbacksTable parameter at idx {}"), a_UrlStackIdx + 1)); + return L.ApiParamError( + fmt::format(FMT_STRING("Cannot read the CallbacksTable parameter at idx {}"), a_UrlStackIdx + 1) + ); } urlClientCallbacks = std::make_unique(std::move(callbacks)); } @@ -979,7 +899,9 @@ static int tolua_cUrlClient_Request_Common(lua_State * a_LuaState, const AString { if (!L.GetStackValue(a_UrlStackIdx + 1, onCompleteBodyCallback)) { - return L.ApiParamError(fmt::format(FMT_STRING("Cannot read the CallbackFn parameter at idx {}"), a_UrlStackIdx + 1)); + return L.ApiParamError( + fmt::format(FMT_STRING("Cannot read the CallbackFn parameter at idx {}"), a_UrlStackIdx + 1) + ); } urlClientCallbacks = std::make_unique(std::move(onCompleteBodyCallback)); } @@ -987,19 +909,34 @@ static int tolua_cUrlClient_Request_Common(lua_State * a_LuaState, const AString { L.ApiParamError(fmt::format( FMT_STRING("Invalid Callbacks parameter at {}, expected a table or function, got {}"), - a_UrlStackIdx + 1, L.GetTypeText(a_UrlStackIdx + 1) + a_UrlStackIdx + 1, + L.GetTypeText(a_UrlStackIdx + 1) )); } - if (!L.GetStackValues(a_UrlStackIdx + 2, cLuaState::cOptionalParam(headers), cLuaState::cOptionalParam(requestBody), cLuaState::cOptionalParam(options))) + if (!L.GetStackValues( + a_UrlStackIdx + 2, + cLuaState::cOptionalParam(headers), + cLuaState::cOptionalParam(requestBody), + cLuaState::cOptionalParam(options) + )) { L.ApiParamError(fmt::format( FMT_STRING("Cannot read the Header, Body or Options parameter at idx {}, {}, {}."), - a_UrlStackIdx + 2, a_UrlStackIdx + 3, a_UrlStackIdx + 4 + a_UrlStackIdx + 2, + a_UrlStackIdx + 3, + a_UrlStackIdx + 4 )); } // Make the request: - auto res = cUrlClient::Request(a_Method, url, std::move(urlClientCallbacks), std::move(headers), std::move(requestBody), std::move(options)); + auto res = cUrlClient::Request( + a_Method, + url, + std::move(urlClientCallbacks), + std::move(headers), + std::move(requestBody), + std::move(options) + ); if (!res.first) { L.Push(false); @@ -1018,8 +955,9 @@ static int tolua_cUrlClient_Request_Common(lua_State * a_LuaState, const AString static int tolua_cUrlClient_Delete(lua_State * a_LuaState) { /* Function signatures: - cUrlClient:Delete(URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string - cUrlClient:Delete(URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string + cUrlClient:Delete(URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + + string cUrlClient:Delete(URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> + true / false + string */ return tolua_cUrlClient_Request_Common(a_LuaState, "DELETE", 2); @@ -1033,8 +971,9 @@ static int tolua_cUrlClient_Delete(lua_State * a_LuaState) static int tolua_cUrlClient_Get(lua_State * a_LuaState) { /* Function signatures: - cUrlClient:Get(URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string - cUrlClient:Get(URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string + cUrlClient:Get(URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + + string cUrlClient:Get(URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true + / false + string */ return tolua_cUrlClient_Request_Common(a_LuaState, "GET", 2); @@ -1048,8 +987,9 @@ static int tolua_cUrlClient_Get(lua_State * a_LuaState) static int tolua_cUrlClient_Post(lua_State * a_LuaState) { /* Function signatures: - cUrlClient:Post(URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string - cUrlClient:Post(URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string + cUrlClient:Post(URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + + string cUrlClient:Post(URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true + / false + string */ return tolua_cUrlClient_Request_Common(a_LuaState, "POST", 2); @@ -1063,8 +1003,9 @@ static int tolua_cUrlClient_Post(lua_State * a_LuaState) static int tolua_cUrlClient_Put(lua_State * a_LuaState) { /* Function signatures: - cUrlClient:Put(URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string - cUrlClient:Put(URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string + cUrlClient:Put(URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + + string cUrlClient:Put(URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true + / false + string */ return tolua_cUrlClient_Request_Common(a_LuaState, "PUT", 2); @@ -1078,15 +1019,14 @@ static int tolua_cUrlClient_Put(lua_State * a_LuaState) static int tolua_cUrlClient_Request(lua_State * a_LuaState) { /* Function signatures: - cUrlClient:Request(Method, URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string - cUrlClient:Request(Method, URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true / false + string + cUrlClient:Request(Method, URL, {CallbacksFnTable}, [{HeadersMapTable}], [RequestBody], [{OptionsMapTable}]) -> true + / false + string cUrlClient:Request(Method, URL, OnCompleteBodyCallback, [{HeadersMapTable}], [RequestBody], + [{OptionsMapTable}]) -> true / false + string */ // Check that the Method param is a string: cLuaState L(a_LuaState); - if ( - !L.CheckParamStaticSelf("cUrlClient") || - !L.CheckParamString(2)) + if (!L.CheckParamStaticSelf("cUrlClient") || !L.CheckParamString(2)) { return 0; } @@ -1115,56 +1055,52 @@ void cManualBindings::BindNetwork(lua_State * tolua_S) tolua_usertype(tolua_S, "cTCPLink"); tolua_usertype(tolua_S, "cUDPEndpoint"); tolua_usertype(tolua_S, "cUrlClient"); - tolua_cclass(tolua_S, "cNetwork", "cNetwork", "", nullptr); + tolua_cclass(tolua_S, "cNetwork", "cNetwork", "", nullptr); tolua_cclass(tolua_S, "cServerHandle", "cServerHandle", "", tolua_collect_cServerHandle); - tolua_cclass(tolua_S, "cTCPLink", "cTCPLink", "", nullptr); - tolua_cclass(tolua_S, "cUDPEndpoint", "cUDPEndpoint", "", tolua_collect_cUDPEndpoint); - tolua_cclass(tolua_S, "cUrlClient", "cUrlClient", "", nullptr); + tolua_cclass(tolua_S, "cTCPLink", "cTCPLink", "", nullptr); + tolua_cclass(tolua_S, "cUDPEndpoint", "cUDPEndpoint", "", tolua_collect_cUDPEndpoint); + tolua_cclass(tolua_S, "cUrlClient", "cUrlClient", "", nullptr); // Fill in the functions (alpha-sorted): tolua_beginmodule(tolua_S, "cNetwork"); - tolua_function(tolua_S, "Connect", tolua_cNetwork_Connect); - tolua_function(tolua_S, "CreateUDPEndpoint", tolua_cNetwork_CreateUDPEndpoint); - tolua_function(tolua_S, "EnumLocalIPAddresses", tolua_cNetwork_EnumLocalIPAddresses); - tolua_function(tolua_S, "HostnameToIP", tolua_cNetwork_HostnameToIP); - tolua_function(tolua_S, "IPToHostname", tolua_cNetwork_IPToHostname); - tolua_function(tolua_S, "Listen", tolua_cNetwork_Listen); + tolua_function(tolua_S, "Connect", tolua_cNetwork_Connect); + tolua_function(tolua_S, "CreateUDPEndpoint", tolua_cNetwork_CreateUDPEndpoint); + tolua_function(tolua_S, "EnumLocalIPAddresses", tolua_cNetwork_EnumLocalIPAddresses); + tolua_function(tolua_S, "HostnameToIP", tolua_cNetwork_HostnameToIP); + tolua_function(tolua_S, "IPToHostname", tolua_cNetwork_IPToHostname); + tolua_function(tolua_S, "Listen", tolua_cNetwork_Listen); tolua_endmodule(tolua_S); tolua_beginmodule(tolua_S, "cServerHandle"); - tolua_function(tolua_S, "Close", tolua_cServerHandle_Close); - tolua_function(tolua_S, "IsListening", tolua_cServerHandle_IsListening); + tolua_function(tolua_S, "Close", tolua_cServerHandle_Close); + tolua_function(tolua_S, "IsListening", tolua_cServerHandle_IsListening); tolua_endmodule(tolua_S); tolua_beginmodule(tolua_S, "cTCPLink"); - tolua_function(tolua_S, "Close", tolua_cTCPLink_Close); - tolua_function(tolua_S, "GetLocalIP", tolua_cTCPLink_GetLocalIP); - tolua_function(tolua_S, "GetLocalPort", tolua_cTCPLink_GetLocalPort); - tolua_function(tolua_S, "GetRemoteIP", tolua_cTCPLink_GetRemoteIP); - tolua_function(tolua_S, "GetRemotePort", tolua_cTCPLink_GetRemotePort); - tolua_function(tolua_S, "Send", tolua_cTCPLink_Send); - tolua_function(tolua_S, "Shutdown", tolua_cTCPLink_Shutdown); - tolua_function(tolua_S, "StartTLSClient", tolua_cTCPLink_StartTLSClient); - tolua_function(tolua_S, "StartTLSServer", tolua_cTCPLink_StartTLSServer); + tolua_function(tolua_S, "Close", tolua_cTCPLink_Close); + tolua_function(tolua_S, "GetLocalIP", tolua_cTCPLink_GetLocalIP); + tolua_function(tolua_S, "GetLocalPort", tolua_cTCPLink_GetLocalPort); + tolua_function(tolua_S, "GetRemoteIP", tolua_cTCPLink_GetRemoteIP); + tolua_function(tolua_S, "GetRemotePort", tolua_cTCPLink_GetRemotePort); + tolua_function(tolua_S, "Send", tolua_cTCPLink_Send); + tolua_function(tolua_S, "Shutdown", tolua_cTCPLink_Shutdown); + tolua_function(tolua_S, "StartTLSClient", tolua_cTCPLink_StartTLSClient); + tolua_function(tolua_S, "StartTLSServer", tolua_cTCPLink_StartTLSServer); tolua_endmodule(tolua_S); tolua_beginmodule(tolua_S, "cUDPEndpoint"); - tolua_function(tolua_S, "Close", tolua_cUDPEndpoint_Close); - tolua_function(tolua_S, "EnableBroadcasts", tolua_cUDPEndpoint_EnableBroadcasts); - tolua_function(tolua_S, "GetPort", tolua_cUDPEndpoint_GetPort); - tolua_function(tolua_S, "IsOpen", tolua_cUDPEndpoint_IsOpen); - tolua_function(tolua_S, "Send", tolua_cUDPEndpoint_Send); + tolua_function(tolua_S, "Close", tolua_cUDPEndpoint_Close); + tolua_function(tolua_S, "EnableBroadcasts", tolua_cUDPEndpoint_EnableBroadcasts); + tolua_function(tolua_S, "GetPort", tolua_cUDPEndpoint_GetPort); + tolua_function(tolua_S, "IsOpen", tolua_cUDPEndpoint_IsOpen); + tolua_function(tolua_S, "Send", tolua_cUDPEndpoint_Send); tolua_endmodule(tolua_S); tolua_beginmodule(tolua_S, "cUrlClient"); - tolua_function(tolua_S, "Delete", tolua_cUrlClient_Delete); - tolua_function(tolua_S, "Get", tolua_cUrlClient_Get); - tolua_function(tolua_S, "Post", tolua_cUrlClient_Post); - tolua_function(tolua_S, "Put", tolua_cUrlClient_Put); - tolua_function(tolua_S, "Request", tolua_cUrlClient_Request); + tolua_function(tolua_S, "Delete", tolua_cUrlClient_Delete); + tolua_function(tolua_S, "Get", tolua_cUrlClient_Get); + tolua_function(tolua_S, "Post", tolua_cUrlClient_Post); + tolua_function(tolua_S, "Put", tolua_cUrlClient_Put); + tolua_function(tolua_S, "Request", tolua_cUrlClient_Request); tolua_endmodule(tolua_S); } - - - - diff --git a/src/Bindings/ManualBindings_RankManager.cpp b/src/Bindings/ManualBindings_RankManager.cpp index 57296e7ca..ae4fee1b5 100644 --- a/src/Bindings/ManualBindings_RankManager.cpp +++ b/src/Bindings/ManualBindings_RankManager.cpp @@ -21,11 +21,7 @@ static int tolua_cRankManager_AddGroup(lua_State * L) // cRankManager:AddGroup(GroupName) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -50,11 +46,7 @@ static int tolua_cRankManager_AddGroupToRank(lua_State * L) // cRankManager:AddGroupToRank(GroupName, RankName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -79,11 +71,7 @@ static int tolua_cRankManager_AddPermissionToGroup(lua_State * L) // cRankManager:AddPermissionToGroup(Permission, GroupName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -108,11 +96,7 @@ static int tolua_cRankManager_AddRank(lua_State * L) // cRankManager:AddRank(RankName) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 5) || - !S.CheckParamEnd(6) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 5) || !S.CheckParamEnd(6)) { return 0; } @@ -137,11 +121,7 @@ static int tolua_cRankManager_AddRestrictionToGroup(lua_State * L) // cRankManager:AddRestrictionToGroup(Restriction, GroupName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -163,10 +143,7 @@ static int tolua_cRankManager_AddRestrictionToGroup(lua_State * L) static int tolua_cRankManager_ClearPlayerRanks(lua_State * L) { cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamEnd(2)) { return 0; } @@ -187,10 +164,7 @@ static int tolua_cRankManager_GetAllGroups(lua_State * L) // cRankManager:GetAllGroups() -> arraytable of GroupNames cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamEnd(2)) { return 0; } @@ -214,10 +188,7 @@ static int tolua_cRankManager_GetAllPermissions(lua_State * L) // cRankManager:GetAllPermissions() -> arraytable of Permissions cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamEnd(2)) { return 0; } @@ -241,10 +212,7 @@ static int tolua_cRankManager_GetAllPermissionsRestrictions(lua_State * L) // cRankManager:GetAllPermissionsRestrictions() -> arraytable of Permissions and Restrictions together cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamEnd(2)) { return 0; } @@ -266,10 +234,7 @@ static int tolua_cRankManager_GetAllPlayerUUIDs(lua_State * L) // cRankManager:GetAllPlayerUUIDs() -> arraytable of Player UUID's cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamEnd(2)) { return 0; } @@ -301,10 +266,7 @@ static int tolua_cRankManager_GetAllRanks(lua_State * L) // cRankManager:GetAllRanks() -> arraytable of RankNames cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamEnd(2)) { return 0; } @@ -325,10 +287,7 @@ static int tolua_cRankManager_GetAllRestrictions(lua_State * L) // cRankManager:GetAllRestrictions() -> arraytable of Restrictions cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamEnd(2)) { return 0; } @@ -350,10 +309,7 @@ static int tolua_cRankManager_GetDefaultRank(lua_State * L) // cRankManager:GetDefaultRank() -> string cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamEnd(2) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamEnd(2)) { return 0; } @@ -374,11 +330,7 @@ static int tolua_cRankManager_GetGroupPermissions(lua_State * L) // cRankManager:GetGroupPermissions(GroupName) -> arraytable of permissions cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -406,11 +358,7 @@ static int tolua_cRankManager_GetGroupRestrictions(lua_State * L) // cRankManager:GetGroupRestrictions(GroupName) -> arraytable of restrictions cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -438,11 +386,7 @@ static int tolua_cRankManager_GetPlayerGroups(lua_State * L) // cRankManager:GetPlayerGroups(PlayerUUID) -> arraytable of GroupNames cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -470,11 +414,7 @@ static int tolua_cRankManager_GetPlayerMsgVisuals(lua_State * L) // cRankManager:GetPlayerMsgVisuals(PlayerUUID) -> string, string, string cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -506,11 +446,7 @@ static int tolua_cRankManager_GetPlayerPermissions(lua_State * L) // cRankManager:GetPlayerPermissions(PlayerUUID) -> arraytable of permissions cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -538,11 +474,7 @@ static int tolua_cRankManager_GetPlayerRestrictions(lua_State * L) // cRankManager:GetPlayerRestrictions(PlayerUUID) -> arraytable of restrictions cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -570,11 +502,7 @@ static int tolua_cRankManager_GetPlayerRankName(lua_State * L) // cRankManager:GetPlayerRankName(PlayerUUID) -> string cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -602,11 +530,7 @@ static int tolua_cRankManager_GetPlayerName(lua_State * L) // cRankManager:GetPlayerName(PlayerUUID) -> string cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -634,11 +558,7 @@ static int tolua_cRankManager_GetRankGroups(lua_State * L) // cRankManager:GetRankGroups(RankName) -> arraytable of groupnames cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -666,11 +586,7 @@ static int tolua_cRankManager_GetRankPermissions(lua_State * L) // cRankManager:GetRankPermissions(RankName) -> arraytable of permissions cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -698,11 +614,7 @@ static int tolua_cRankManager_GetRankRestrictions(lua_State * L) // cRankManager:GetRankRestrictions(RankName) -> arraytable of restrictions cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -730,11 +642,7 @@ static int tolua_cRankManager_GetRankVisuals(lua_State * L) // cRankManager:GetRankVisuals(RankName) -> MsgPrefix, MsgSuffix, MsgNameColorCode cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -767,11 +675,7 @@ static int tolua_cRankManager_GroupExists(lua_State * L) // cRankManager:GroupExists(GroupName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -799,11 +703,7 @@ static int tolua_cRankManager_IsGroupInRank(lua_State * L) // cRankManager:IsGroupInRank(GroupName, RankName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -831,11 +731,7 @@ static int tolua_cRankManager_IsPermissionInGroup(lua_State * L) // cRankManager:IsPermissionInGroup(Permission, GroupName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -863,11 +759,7 @@ static int tolua_cRankManager_IsRestrictionInGroup(lua_State * L) // cRankManager:IsRestrictionInGroup(Restriction, GroupName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -895,11 +787,7 @@ static int tolua_cRankManager_IsPlayerRankSet(lua_State * L) // cRankManager:IsPlayerRankSet(PlayerUUID) -> bool cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -927,11 +815,7 @@ static int tolua_cRankManager_RankExists(lua_State * L) // cRankManager:RankExists(RankName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -959,11 +843,7 @@ static int tolua_cRankManager_RemoveGroup(lua_State * L) // cRankManager:RemoveGroup(GroupName) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -988,11 +868,7 @@ static int tolua_cRankManager_RemoveGroupFromRank(lua_State * L) // cRankManager:RemoveGroupFromRank(GroupName, RankName) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -1017,11 +893,7 @@ static int tolua_cRankManager_RemovePermissionFromGroup(lua_State * L) // cRankManager:RemovePermissionFromGroup(Permission, GroupName) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -1046,11 +918,7 @@ static int tolua_cRankManager_RemoveRestrictionFromGroup(lua_State * L) // cRankManager:RemoveRestrictionFromGroup(Restriction, GroupName) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -1075,11 +943,7 @@ static int tolua_cRankManager_RemovePlayerRank(lua_State * L) // cRankManager:RemovePlayerRank(PlayerUUID) cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamEnd(3)) { return 0; } @@ -1104,12 +968,9 @@ static int tolua_cRankManager_RemoveRank(lua_State * L) // cRankManager:RemoveRank(RankName, [ReplacementRankName]) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || // Param 3 is otpional, defaults to nil -> empty string - !S.CheckParamEnd(4) - ) + !S.CheckParamEnd(4)) { return 0; } @@ -1134,11 +995,7 @@ static int tolua_cRankManager_RenameGroup(lua_State * L) // cRankManager:RenameGroup(OldName, NewName) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -1166,11 +1023,7 @@ static int tolua_cRankManager_RenameRank(lua_State * L) // cRankManager:RenameRank(OldName, NewName) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 3) || - !S.CheckParamEnd(4) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 3) || !S.CheckParamEnd(4)) { return 0; } @@ -1198,11 +1051,7 @@ static int tolua_cRankManager_SetDefaultRank(lua_State * L) // cRankManager:SetDefaultRank(RankName) -> bool cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2) || - !S.CheckParamEnd(3) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2) || !S.CheckParamEnd(3)) { return 0; } @@ -1227,12 +1076,8 @@ static int tolua_cRankManager_SetPlayerRank(lua_State * L) // cRankManager:SetPlayerRank(PlayerUUID, PlayerName, RankName) cLuaState S(L); - if ( - !S.CheckParamStaticSelf("cRankManager") || - !S.CheckParamUUID(2) || - !S.CheckParamString(3, 4) || - !S.CheckParamEnd(5) - ) + if (!S.CheckParamStaticSelf("cRankManager") || !S.CheckParamUUID(2) || !S.CheckParamString(3, 4) || + !S.CheckParamEnd(5)) { return 0; } @@ -1258,11 +1103,7 @@ static int tolua_cRankManager_SetRankVisuals(lua_State * L) // cRankManager:SetRankVisuals(RankName, MsgPrefix, MsgSuffix, MsgNameColorCode) cLuaState S(L); - if ( - !S.CheckParamUserTable(1, "cRankManager") || - !S.CheckParamString(2, 5) || - !S.CheckParamEnd(6) - ) + if (!S.CheckParamUserTable(1, "cRankManager") || !S.CheckParamString(2, 5) || !S.CheckParamEnd(6)) { return 0; } @@ -1288,51 +1129,47 @@ void cManualBindings::BindRankManager(lua_State * tolua_S) // Fill in the functions (alpha-sorted): tolua_beginmodule(tolua_S, "cRankManager"); - tolua_function(tolua_S, "AddGroup", tolua_cRankManager_AddGroup); - tolua_function(tolua_S, "AddGroupToRank", tolua_cRankManager_AddGroupToRank); - tolua_function(tolua_S, "AddPermissionToGroup", tolua_cRankManager_AddPermissionToGroup); - tolua_function(tolua_S, "AddRestrictionToGroup", tolua_cRankManager_AddRestrictionToGroup); - tolua_function(tolua_S, "AddRank", tolua_cRankManager_AddRank); - tolua_function(tolua_S, "ClearPlayerRanks", tolua_cRankManager_ClearPlayerRanks); - tolua_function(tolua_S, "GetAllGroups", tolua_cRankManager_GetAllGroups); - tolua_function(tolua_S, "GetAllPermissions", tolua_cRankManager_GetAllPermissions); - tolua_function(tolua_S, "GetAllRestrictions", tolua_cRankManager_GetAllRestrictions); - tolua_function(tolua_S, "GetAllPermissionsRestrictions", tolua_cRankManager_GetAllPermissionsRestrictions); - tolua_function(tolua_S, "GetAllPlayerUUIDs", tolua_cRankManager_GetAllPlayerUUIDs); - tolua_function(tolua_S, "GetAllRanks", tolua_cRankManager_GetAllRanks); - tolua_function(tolua_S, "GetDefaultRank", tolua_cRankManager_GetDefaultRank); - tolua_function(tolua_S, "GetGroupPermissions", tolua_cRankManager_GetGroupPermissions); - tolua_function(tolua_S, "GetGroupRestrictions", tolua_cRankManager_GetGroupRestrictions); - tolua_function(tolua_S, "GetPlayerGroups", tolua_cRankManager_GetPlayerGroups); - tolua_function(tolua_S, "GetPlayerMsgVisuals", tolua_cRankManager_GetPlayerMsgVisuals); - tolua_function(tolua_S, "GetPlayerPermissions", tolua_cRankManager_GetPlayerPermissions); - tolua_function(tolua_S, "GetPlayerPermissions", tolua_cRankManager_GetPlayerRestrictions); - tolua_function(tolua_S, "GetPlayerRankName", tolua_cRankManager_GetPlayerRankName); - tolua_function(tolua_S, "GetPlayerName", tolua_cRankManager_GetPlayerName); - tolua_function(tolua_S, "GetRankGroups", tolua_cRankManager_GetRankGroups); - tolua_function(tolua_S, "GetRankPermissions", tolua_cRankManager_GetRankPermissions); - tolua_function(tolua_S, "GetRankRestrictions", tolua_cRankManager_GetRankRestrictions); - tolua_function(tolua_S, "GetRankVisuals", tolua_cRankManager_GetRankVisuals); - tolua_function(tolua_S, "GroupExists", tolua_cRankManager_GroupExists); - tolua_function(tolua_S, "IsGroupInRank", tolua_cRankManager_IsGroupInRank); - tolua_function(tolua_S, "IsPermissionInGroup", tolua_cRankManager_IsPermissionInGroup); - tolua_function(tolua_S, "IsRestrictionInGroup", tolua_cRankManager_IsRestrictionInGroup); - tolua_function(tolua_S, "IsPlayerRankSet", tolua_cRankManager_IsPlayerRankSet); - tolua_function(tolua_S, "RankExists", tolua_cRankManager_RankExists); - tolua_function(tolua_S, "RemoveGroup", tolua_cRankManager_RemoveGroup); - tolua_function(tolua_S, "RemoveGroupFromRank", tolua_cRankManager_RemoveGroupFromRank); - tolua_function(tolua_S, "RemovePermissionFromGroup", tolua_cRankManager_RemovePermissionFromGroup); - tolua_function(tolua_S, "RemoveRestrictionFromGroup", tolua_cRankManager_RemoveRestrictionFromGroup); - tolua_function(tolua_S, "RemovePlayerRank", tolua_cRankManager_RemovePlayerRank); - tolua_function(tolua_S, "RemoveRank", tolua_cRankManager_RemoveRank); - tolua_function(tolua_S, "RenameGroup", tolua_cRankManager_RenameGroup); - tolua_function(tolua_S, "RenameRank", tolua_cRankManager_RenameRank); - tolua_function(tolua_S, "SetDefaultRank", tolua_cRankManager_SetDefaultRank); - tolua_function(tolua_S, "SetPlayerRank", tolua_cRankManager_SetPlayerRank); - tolua_function(tolua_S, "SetRankVisuals", tolua_cRankManager_SetRankVisuals); + tolua_function(tolua_S, "AddGroup", tolua_cRankManager_AddGroup); + tolua_function(tolua_S, "AddGroupToRank", tolua_cRankManager_AddGroupToRank); + tolua_function(tolua_S, "AddPermissionToGroup", tolua_cRankManager_AddPermissionToGroup); + tolua_function(tolua_S, "AddRestrictionToGroup", tolua_cRankManager_AddRestrictionToGroup); + tolua_function(tolua_S, "AddRank", tolua_cRankManager_AddRank); + tolua_function(tolua_S, "ClearPlayerRanks", tolua_cRankManager_ClearPlayerRanks); + tolua_function(tolua_S, "GetAllGroups", tolua_cRankManager_GetAllGroups); + tolua_function(tolua_S, "GetAllPermissions", tolua_cRankManager_GetAllPermissions); + tolua_function(tolua_S, "GetAllRestrictions", tolua_cRankManager_GetAllRestrictions); + tolua_function(tolua_S, "GetAllPermissionsRestrictions", tolua_cRankManager_GetAllPermissionsRestrictions); + tolua_function(tolua_S, "GetAllPlayerUUIDs", tolua_cRankManager_GetAllPlayerUUIDs); + tolua_function(tolua_S, "GetAllRanks", tolua_cRankManager_GetAllRanks); + tolua_function(tolua_S, "GetDefaultRank", tolua_cRankManager_GetDefaultRank); + tolua_function(tolua_S, "GetGroupPermissions", tolua_cRankManager_GetGroupPermissions); + tolua_function(tolua_S, "GetGroupRestrictions", tolua_cRankManager_GetGroupRestrictions); + tolua_function(tolua_S, "GetPlayerGroups", tolua_cRankManager_GetPlayerGroups); + tolua_function(tolua_S, "GetPlayerMsgVisuals", tolua_cRankManager_GetPlayerMsgVisuals); + tolua_function(tolua_S, "GetPlayerPermissions", tolua_cRankManager_GetPlayerPermissions); + tolua_function(tolua_S, "GetPlayerPermissions", tolua_cRankManager_GetPlayerRestrictions); + tolua_function(tolua_S, "GetPlayerRankName", tolua_cRankManager_GetPlayerRankName); + tolua_function(tolua_S, "GetPlayerName", tolua_cRankManager_GetPlayerName); + tolua_function(tolua_S, "GetRankGroups", tolua_cRankManager_GetRankGroups); + tolua_function(tolua_S, "GetRankPermissions", tolua_cRankManager_GetRankPermissions); + tolua_function(tolua_S, "GetRankRestrictions", tolua_cRankManager_GetRankRestrictions); + tolua_function(tolua_S, "GetRankVisuals", tolua_cRankManager_GetRankVisuals); + tolua_function(tolua_S, "GroupExists", tolua_cRankManager_GroupExists); + tolua_function(tolua_S, "IsGroupInRank", tolua_cRankManager_IsGroupInRank); + tolua_function(tolua_S, "IsPermissionInGroup", tolua_cRankManager_IsPermissionInGroup); + tolua_function(tolua_S, "IsRestrictionInGroup", tolua_cRankManager_IsRestrictionInGroup); + tolua_function(tolua_S, "IsPlayerRankSet", tolua_cRankManager_IsPlayerRankSet); + tolua_function(tolua_S, "RankExists", tolua_cRankManager_RankExists); + tolua_function(tolua_S, "RemoveGroup", tolua_cRankManager_RemoveGroup); + tolua_function(tolua_S, "RemoveGroupFromRank", tolua_cRankManager_RemoveGroupFromRank); + tolua_function(tolua_S, "RemovePermissionFromGroup", tolua_cRankManager_RemovePermissionFromGroup); + tolua_function(tolua_S, "RemoveRestrictionFromGroup", tolua_cRankManager_RemoveRestrictionFromGroup); + tolua_function(tolua_S, "RemovePlayerRank", tolua_cRankManager_RemovePlayerRank); + tolua_function(tolua_S, "RemoveRank", tolua_cRankManager_RemoveRank); + tolua_function(tolua_S, "RenameGroup", tolua_cRankManager_RenameGroup); + tolua_function(tolua_S, "RenameRank", tolua_cRankManager_RenameRank); + tolua_function(tolua_S, "SetDefaultRank", tolua_cRankManager_SetDefaultRank); + tolua_function(tolua_S, "SetPlayerRank", tolua_cRankManager_SetPlayerRank); + tolua_function(tolua_S, "SetRankVisuals", tolua_cRankManager_SetRankVisuals); tolua_endmodule(tolua_S); } - - - - diff --git a/src/Bindings/ManualBindings_World.cpp b/src/Bindings/ManualBindings_World.cpp index 7713b8823..6d2a3afcf 100644 --- a/src/Bindings/ManualBindings_World.cpp +++ b/src/Bindings/ManualBindings_World.cpp @@ -53,8 +53,7 @@ static bool CheckParamVectorOr3Numbers(cLuaState & L, const char * a_VectorName, /** Get a vector from the stack, which may be represented in lua as either a `Vector3` or 3 numbers */ -template -static bool GetStackVectorOr3Numbers(cLuaState & L, int a_Index, Vector3 & a_Return) +template static bool GetStackVectorOr3Numbers(cLuaState & L, int a_Index, Vector3 & a_Return) { if (L.GetStackValue(a_Index, a_Return)) { @@ -68,19 +67,14 @@ static bool GetStackVectorOr3Numbers(cLuaState & L, int a_Index, Vector3 & a_ /** Template for the bindings for the DoWithXYZAt(X, Y, Z) functions that don't need to check their coords. */ -template -static int DoWithBlockEntityAt(lua_State * tolua_S) +template static int DoWithBlockEntityAt(lua_State * tolua_S) { cLuaState L(tolua_S); int OffsetIndex; // Check params: - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamFunction(OffsetIndex) || - !L.CheckParamEnd(OffsetIndex + 1) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamFunction(OffsetIndex) || !L.CheckParamEnd(OffsetIndex + 1)) { return 0; } @@ -90,11 +84,8 @@ static int DoWithBlockEntityAt(lua_State * tolua_S) cLuaState::cRef FnRef; // Get parameters: - if ( - !L.GetStackValues(1, Self) || - !GetStackVectorOr3Numbers(L, 2, Position) || - !L.GetStackValues(OffsetIndex, FnRef) - ) + if (!L.GetStackValues(1, Self) || !GetStackVectorOr3Numbers(L, 2, Position) || + !L.GetStackValues(OffsetIndex, FnRef)) { return 0; } @@ -105,24 +96,29 @@ static int DoWithBlockEntityAt(lua_State * tolua_S) } if (!FnRef.IsValid()) { - return L.ApiParamError(fmt::format(FMT_STRING("Expected a valid callback function for parameter {}"), OffsetIndex)); + return L.ApiParamError( + fmt::format(FMT_STRING("Expected a valid callback function for parameter {}"), OffsetIndex) + ); } // Call the DoWith function: - bool res = Self->DoWithBlockEntityAt(Position, [&L, &FnRef](cBlockEntity & a_BlockEntity) - { - if constexpr (sizeof...(BlockTypes) != 0) + bool res = Self->DoWithBlockEntityAt( + Position, + [&L, &FnRef](cBlockEntity & a_BlockEntity) { - if (((a_BlockEntity.GetBlockType() != BlockTypes) && ...)) + if constexpr (sizeof...(BlockTypes) != 0) { - return false; + if (((a_BlockEntity.GetBlockType() != BlockTypes) && ...)) + { + return false; + } } - } - bool ret = false; - L.Call(FnRef, static_cast(&a_BlockEntity), cLuaState::Return, ret); - return ret; - }); + bool ret = false; + L.Call(FnRef, static_cast(&a_BlockEntity), cLuaState::Return, ret); + return ret; + } + ); // Push the result as the return value: L.Push(res); @@ -133,21 +129,13 @@ static int DoWithBlockEntityAt(lua_State * tolua_S) -template < - class Ty1, - class Ty2, - bool (Ty1::*ForEachFn)(const cBoundingBox &, cFunctionRef) -> +template )> static int ForEachInBox(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cWorld") || - !L.CheckParamUserType(2, "cBoundingBox") || - !L.CheckParamFunction(3) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamUserType(2, "cBoundingBox") || !L.CheckParamFunction(3) || + !L.CheckParamEnd(4)) { return 0; } @@ -159,14 +147,18 @@ static int ForEachInBox(lua_State * tolua_S) L.GetStackValues(1, Self, Box, FnRef); if ((Self == nullptr) || (Box == nullptr)) { - return L.ApiParamError(fmt::format(FMT_STRING("Invalid world ({}) or boundingbox ({})"), fmt::ptr(Self), fmt::ptr(Box))); + return L.ApiParamError( + fmt::format(FMT_STRING("Invalid world ({}) or boundingbox ({})"), fmt::ptr(Self), fmt::ptr(Box)) + ); } if (!FnRef.IsValid()) { return L.ApiParamError("Expected a valid callback function for parameter #2"); } - bool res = (Self->*ForEachFn)(*Box, [&](Ty2 & a_Item) + bool res = (Self->*ForEachFn)( + *Box, + [&](Ty2 & a_Item) { bool ret = false; if (!L.Call(FnRef, &a_Item, cLuaState::Return, ret)) @@ -189,17 +181,11 @@ static int ForEachInBox(lua_State * tolua_S) -template -static int ForEachBlockEntityInChunk(lua_State * tolua_S) +template static int ForEachBlockEntityInChunk(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamNumber(2, 3) || - !L.CheckParamFunction(4) || - !L.CheckParamEnd(5) - ) + if (!L.CheckParamSelf("cWorld") || !L.CheckParamNumber(2, 3) || !L.CheckParamFunction(4) || !L.CheckParamEnd(5)) { return 0; } @@ -220,20 +206,24 @@ static int ForEachBlockEntityInChunk(lua_State * tolua_S) } // Call the ForEach function: - bool res = Self->ForEachBlockEntityInChunk(ChunkX, ChunkZ, [&L, &FnRef](cBlockEntity & a_BlockEntity) - { - if constexpr (sizeof...(BlockTypes) != 0) + bool res = Self->ForEachBlockEntityInChunk( + ChunkX, + ChunkZ, + [&L, &FnRef](cBlockEntity & a_BlockEntity) { - if (((a_BlockEntity.GetBlockType() != BlockTypes) && ...)) + if constexpr (sizeof...(BlockTypes) != 0) { - return false; + if (((a_BlockEntity.GetBlockType() != BlockTypes) && ...)) + { + return false; + } } - } - bool ret = false; - L.Call(FnRef, static_cast(&a_BlockEntity), cLuaState::Return, ret); - return ret; - }); + bool ret = false; + L.Call(FnRef, static_cast(&a_BlockEntity), cLuaState::Return, ret); + return ret; + } + ); // Push the result as the return value: L.Push(res); @@ -247,18 +237,17 @@ static int ForEachBlockEntityInChunk(lua_State * tolua_S) static int tolua_cWorld_BroadcastBlockAction(lua_State * tolua_S) { /* Function signature: - void BroadcastBlockAction(number a_BlockX, number a_BlockY, number a_BlockZ, number a_number1, number a_number2, number a_BlockType, cClientHandle a_Exclude) + void BroadcastBlockAction(number a_BlockX, number a_BlockY, number a_BlockZ, number a_number1, number a_number2, + number a_BlockType, cClientHandle a_Exclude) --or-- - void BroadcastBlockAction(Vector3 a_BlockPos, number a_Byte1, number a_Byte2, number a_BlockType, cClientHandle a_Exclude) + void BroadcastBlockAction(Vector3 a_BlockPos, number a_Byte1, number a_Byte2, number a_BlockType, cClientHandle + a_Exclude) */ cLuaState L(tolua_S); int Byte1Index; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, Byte1Index) || - !L.CheckParamNumber(Byte1Index, Byte1Index + 2) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, Byte1Index) || + !L.CheckParamNumber(Byte1Index, Byte1Index + 2)) { return 0; } @@ -266,7 +255,8 @@ static int tolua_cWorld_BroadcastBlockAction(lua_State * tolua_S) if (Byte1Index != 3) // Not the vector overload { L.LogStackTrace(); - LOGWARN("BroadcastBlockAction with 3 position arguments is deprecated, use vector-parametered version instead."); + LOGWARN("BroadcastBlockAction with 3 position arguments is deprecated, use vector-parametered version instead." + ); } // Read the params: @@ -276,11 +266,8 @@ static int tolua_cWorld_BroadcastBlockAction(lua_State * tolua_S) BLOCKTYPE BlockType; const cClientHandle * Exclude = nullptr; - if ( - !L.GetStackValues(1, Self) || - !GetStackVectorOr3Numbers(L, 2, BlockPos) || - !L.GetStackValues(Byte1Index, Byte1, Byte2, BlockType) - ) + if (!L.GetStackValues(1, Self) || !GetStackVectorOr3Numbers(L, 2, BlockPos) || + !L.GetStackValues(Byte1Index, Byte1, Byte2, BlockType)) { return 0; } @@ -299,18 +286,16 @@ static int tolua_cWorld_BroadcastBlockAction(lua_State * tolua_S) static int tolua_cWorld_BroadcastSoundEffect(lua_State * tolua_S) { /* Function signature: - void BroadcastSoundEffect(string a_SoundName, number a_X, number a_Y, number a_Z, number a_Volume, number a_Pitch, [cClientHandle * a_Exclude]) + void BroadcastSoundEffect(string a_SoundName, number a_X, number a_Y, number a_Z, number a_Volume, number a_Pitch, + [cClientHandle * a_Exclude]) --or-- void BroadcastSoundEffect(string a_SoundName, Vector3d, number a_Volume, number a_Pitch, [cClientHandle a_Exclude]) */ cLuaState L(tolua_S); int VolumeIndex; - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamString(2) || + if (!L.CheckParamSelf("cWorld") || !L.CheckParamString(2) || !CheckParamVectorOr3Numbers(L, "Vector3", 3, VolumeIndex) || - !L.CheckParamNumber(VolumeIndex, VolumeIndex + 1) - ) + !L.CheckParamNumber(VolumeIndex, VolumeIndex + 1)) { return 0; } @@ -318,7 +303,8 @@ static int tolua_cWorld_BroadcastSoundEffect(lua_State * tolua_S) if (VolumeIndex != 4) // Not the vector overload { L.LogStackTrace(); - LOGWARN("BroadcastSoundEffect with 3 position arguments is deprecated, use vector-parametered version instead."); + LOGWARN("BroadcastSoundEffect with 3 position arguments is deprecated, use vector-parametered version instead." + ); } // Read the params: @@ -328,11 +314,8 @@ static int tolua_cWorld_BroadcastSoundEffect(lua_State * tolua_S) float Volume, Pitch; const cClientHandle * Exclude = nullptr; - if ( - !L.GetStackValues(1, Self, SoundName) || - !GetStackVectorOr3Numbers(L, 3, BlockPos) || - !L.GetStackValues(VolumeIndex, Volume, Pitch) - ) + if (!L.GetStackValues(1, Self, SoundName) || !GetStackVectorOr3Numbers(L, 3, BlockPos) || + !L.GetStackValues(VolumeIndex, Volume, Pitch)) { return 0; } @@ -353,16 +336,13 @@ static int tolua_cWorld_BroadcastSoundParticleEffect(lua_State * tolua_S) /* Function signature: World:BroadcastSoundParticleEffect(EffectID a_EffectID, Vector3i a_SrcPos, number a_Data, [cClientHandle a_Exclude]) --or-- - void BroadcastSoundParticleEffect(EffectID a_EffectID, number a_SrcX, number a_SrcY, number a_SrcZ, number a_Data, [cClientHandle a_Exclude]) + void BroadcastSoundParticleEffect(EffectID a_EffectID, number a_SrcX, number a_SrcY, number a_SrcZ, number a_Data, + [cClientHandle a_Exclude]) */ cLuaState L(tolua_S); int DataIndex; - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamNumber(2) || - !CheckParamVectorOr3Numbers(L, "Vector3", 3, DataIndex) || - !L.CheckParamNumber(DataIndex) - ) + if (!L.CheckParamSelf("cWorld") || !L.CheckParamNumber(2) || + !CheckParamVectorOr3Numbers(L, "Vector3", 3, DataIndex) || !L.CheckParamNumber(DataIndex)) { return 0; } @@ -370,7 +350,8 @@ static int tolua_cWorld_BroadcastSoundParticleEffect(lua_State * tolua_S) if (DataIndex != 4) // Not the vector overload { L.LogStackTrace(); - LOGWARN("BroadcastSoundParticleEffect with 3 position arguments is deprecated, use vector-parametered version instead."); + LOGWARN("BroadcastSoundParticleEffect with 3 position arguments is deprecated, use vector-parametered version " + "instead."); } // Read the params: @@ -380,11 +361,8 @@ static int tolua_cWorld_BroadcastSoundParticleEffect(lua_State * tolua_S) int Data; cClientHandle * ExcludeClient = nullptr; - if ( - !L.GetStackValues(1, World, EffectId) || - !GetStackVectorOr3Numbers(L, 3, SrcPos) || - !L.GetStackValue(DataIndex, Data) - ) + if (!L.GetStackValues(1, World, EffectId) || !GetStackVectorOr3Numbers(L, 3, SrcPos) || + !L.GetStackValue(DataIndex, Data)) { return 0; } @@ -403,18 +381,17 @@ static int tolua_cWorld_BroadcastSoundParticleEffect(lua_State * tolua_S) static int tolua_cWorld_BroadcastParticleEffect(lua_State * tolua_S) { /* Function signature: - World:BroadcastParticleEffect("Name", PosX, PosY, PosZ, OffX, OffY, OffZ, ParticleData, ParticleAmount, [ExcludeClient], [OptionalParam1], [OptionalParam2]) + World:BroadcastParticleEffect("Name", PosX, PosY, PosZ, OffX, OffY, OffZ, ParticleData, ParticleAmount, + [ExcludeClient], [OptionalParam1], [OptionalParam2]) --or-- - World:BroadcastParticleEffect("Name", SrcPos, Offset, ParticleData, ParticleAmount, [ExcludeClient], [OptionalParam1], [OptionalParam2]) + World:BroadcastParticleEffect("Name", SrcPos, Offset, ParticleData, ParticleAmount, [ExcludeClient], + [OptionalParam1], [OptionalParam2]) */ cLuaState L(tolua_S); int OffsetIndex, ParticleDataIndex; - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamString(2) || + if (!L.CheckParamSelf("cWorld") || !L.CheckParamString(2) || !CheckParamVectorOr3Numbers(L, "Vector3", 3, OffsetIndex) || - !CheckParamVectorOr3Numbers(L, "Vector3", OffsetIndex, ParticleDataIndex) - ) + !CheckParamVectorOr3Numbers(L, "Vector3", OffsetIndex, ParticleDataIndex)) { return 0; } @@ -422,7 +399,8 @@ static int tolua_cWorld_BroadcastParticleEffect(lua_State * tolua_S) if ((OffsetIndex != 4) || (ParticleDataIndex != 5)) // Not the vector overload { L.LogStackTrace(); - LOGWARN("BroadcastParticleEffect with 3 position and 3 offset arguments is deprecated, use vector-parametered version instead."); + LOGWARN("BroadcastParticleEffect with 3 position and 3 offset arguments is deprecated, use vector-parametered " + "version instead."); } // Read the params: @@ -433,12 +411,9 @@ static int tolua_cWorld_BroadcastParticleEffect(lua_State * tolua_S) int ParticleAmount; cClientHandle * ExcludeClient = nullptr; - if ( - !L.GetStackValues(1, World, Name) || - !GetStackVectorOr3Numbers(L, 3, SrcPos) || + if (!L.GetStackValues(1, World, Name) || !GetStackVectorOr3Numbers(L, 3, SrcPos) || !GetStackVectorOr3Numbers(L, OffsetIndex, Offset) || - !L.GetStackValues(ParticleDataIndex, ParticleData, ParticleAmount) - ) + !L.GetStackValues(ParticleDataIndex, ParticleData, ParticleAmount)) { return 0; } @@ -472,11 +447,7 @@ static int tolua_cWorld_ChunkStay(lua_State * tolua_S) */ cLuaState L(tolua_S); - if ( - !L.CheckParamUserType (1, "cWorld") || - !L.CheckParamTable (2) || - !L.CheckParamFunctionOrNil(3, 4) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamTable(2) || !L.CheckParamFunctionOrNil(3, 4)) { return 0; } @@ -484,7 +455,8 @@ static int tolua_cWorld_ChunkStay(lua_State * tolua_S) // Read the params: cWorld * world; cLuaState::cStackTablePtr chunkCoords; - cLuaState::cOptionalCallbackPtr onChunkAvailable, onAllChunksAvailable; // Callbacks may be unassigned at all - as a request to load / generate chunks + cLuaState::cOptionalCallbackPtr onChunkAvailable, + onAllChunksAvailable; // Callbacks may be unassigned at all - as a request to load / generate chunks if (!L.GetStackValues(1, world, chunkCoords, onChunkAvailable, onAllChunksAvailable)) { LOGWARNING("cWorld:ChunkStay(): Cannot read parameters, bailing out."); @@ -523,13 +495,8 @@ static int tolua_cWorld_DoExplosionAt(lua_State * tolua_S) */ cLuaState L(tolua_S); - if ( - !L.CheckParamUserType (1, "cWorld") || - !L.CheckParamNumber (2, 5) || - !L.CheckParamBool (6) || - !L.CheckParamNumber (7) || - !L.CheckParamEnd (9) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamNumber(2, 5) || !L.CheckParamBool(6) || + !L.CheckParamNumber(7) || !L.CheckParamEnd(9)) { return 0; } @@ -612,12 +579,7 @@ static int tolua_cWorld_DoWithPlayerByUUID(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamUUID(2) || - !L.CheckParamFunction(3) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamSelf("cWorld") || !L.CheckParamUUID(2) || !L.CheckParamFunction(3) || !L.CheckParamEnd(4)) { return 0; } @@ -638,7 +600,9 @@ static int tolua_cWorld_DoWithPlayerByUUID(lua_State * tolua_S) } // Call the function: - bool res = Self->DoWithPlayerByUUID(PlayerUUID, [&](cPlayer & a_Player) + bool res = Self->DoWithPlayerByUUID( + PlayerUUID, + [&](cPlayer & a_Player) { bool ret = false; L.Call(FnRef, &a_Player, cLuaState::Return, ret); @@ -659,14 +623,10 @@ static int tolua_cWorld_DoWithNearestPlayer(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamUserType(2, "Vector3") || - !L.CheckParamNumber(3) || + if (!L.CheckParamSelf("cWorld") || !L.CheckParamUserType(2, "Vector3") || !L.CheckParamNumber(3) || !L.CheckParamFunction(4) || // Params 5 and 6 are optional bools, no check for those - !L.CheckParamEnd(7) - ) + !L.CheckParamEnd(7)) { return 0; } @@ -685,12 +645,18 @@ static int tolua_cWorld_DoWithNearestPlayer(lua_State * tolua_S) } // Call the function: - bool res = Self->DoWithNearestPlayer(Position, RangeLimit, [&](cPlayer & a_Player) - { - bool ret = false; - L.Call(FnRef, &a_Player, cLuaState::Return, ret); - return ret; - }, CheckLineOfSight, IgnoreSpectators); + bool res = Self->DoWithNearestPlayer( + Position, + RangeLimit, + [&](cPlayer & a_Player) + { + bool ret = false; + L.Call(FnRef, &a_Player, cLuaState::Return, ret); + return ret; + }, + CheckLineOfSight, + IgnoreSpectators + ); // Push the result as the return value: L.Push(res); @@ -711,12 +677,8 @@ static int tolua_cWorld_FastSetBlock(lua_State * tolua_S) cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamNumber(OffsetIndex, OffsetIndex + 1) || - !L.CheckParamEnd(OffsetIndex + 2) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamNumber(OffsetIndex, OffsetIndex + 1) || !L.CheckParamEnd(OffsetIndex + 2)) { return 0; } @@ -733,11 +695,8 @@ static int tolua_cWorld_FastSetBlock(lua_State * tolua_S) NIBBLETYPE Meta; // Read the params: - if ( - !L.GetStackValues(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) || - !L.GetStackValues(OffsetIndex, Type, Meta) - ) + if (!L.GetStackValues(1, World) || !GetStackVectorOr3Numbers(L, 2, Position) || + !L.GetStackValues(OffsetIndex, Type, Meta)) { return 0; } @@ -764,12 +723,8 @@ static int tolua_cWorld_ForEachEntityInChunk(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cWorld") || - !L.CheckParamNumber(2, 3) || - !L.CheckParamFunction(4) || - !L.CheckParamEnd(5) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamNumber(2, 3) || !L.CheckParamFunction(4) || + !L.CheckParamEnd(5)) { return 0; } @@ -790,7 +745,10 @@ static int tolua_cWorld_ForEachEntityInChunk(lua_State * tolua_S) } // Call the DoWith function: - bool res = Self->ForEachEntityInChunk(ChunkX, ChunkZ, [&](cEntity & a_Item) + bool res = Self->ForEachEntityInChunk( + ChunkX, + ChunkZ, + [&](cEntity & a_Item) { bool ret = false; L.Call(FnRef, &a_Item, cLuaState::Return, ret); @@ -813,10 +771,7 @@ static int tolua_cWorld_ForEachLoadedChunk(lua_State * tolua_S) // Function signature: ForEachLoadedChunk(callback) -> bool cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cWorld") || - !L.CheckParamFunction(2) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamFunction(2)) { return 0; } @@ -839,7 +794,10 @@ static int tolua_cWorld_ForEachLoadedChunk(lua_State * tolua_S) L.GetStackValues(2, FnRef); if (!FnRef.IsValid()) { - return cManualBindings::lua_do_error(tolua_S, "Error in function call '#funcname#': Could not get function reference of parameter #2"); + return cManualBindings::lua_do_error( + tolua_S, + "Error in function call '#funcname#': Could not get function reference of parameter #2" + ); } // Call the enumeration: @@ -871,11 +829,8 @@ static int tolua_cWorld_GetBlock(lua_State * tolua_S) cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamEnd(OffsetIndex) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamEnd(OffsetIndex)) { return 0; } @@ -890,10 +845,7 @@ static int tolua_cWorld_GetBlock(lua_State * tolua_S) Vector3i Position; // Read the params: - if ( - !L.GetStackValues(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) - ) + if (!L.GetStackValues(1, World) || !GetStackVectorOr3Numbers(L, 2, Position)) { return 0; } @@ -927,11 +879,8 @@ static int tolua_cWorld_GetBlockBlockLight(lua_State * tolua_S) cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamEnd(OffsetIndex) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamEnd(OffsetIndex)) { return 0; } @@ -946,10 +895,7 @@ static int tolua_cWorld_GetBlockBlockLight(lua_State * tolua_S) Vector3i Position; // Read the params: - if ( - !L.GetStackValues(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) - ) + if (!L.GetStackValues(1, World) || !GetStackVectorOr3Numbers(L, 2, Position)) { return 0; } @@ -984,11 +930,8 @@ static int tolua_cWorld_GetBlockInfo(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamEnd(OffsetIndex) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamEnd(OffsetIndex)) { return 0; } @@ -1003,10 +946,7 @@ static int tolua_cWorld_GetBlockInfo(lua_State * tolua_S) Vector3i Position; // Read the params: - if ( - !L.GetStackValues(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) - ) + if (!L.GetStackValues(1, World) || !GetStackVectorOr3Numbers(L, 2, Position)) { return 0; } @@ -1051,11 +991,8 @@ static int tolua_cWorld_GetBlockMeta(lua_State * tolua_S) cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamEnd(OffsetIndex) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamEnd(OffsetIndex)) { return 0; } @@ -1070,10 +1007,7 @@ static int tolua_cWorld_GetBlockMeta(lua_State * tolua_S) Vector3i Position; // Read the params: - if ( - !L.GetStackValues(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) - ) + if (!L.GetStackValues(1, World) || !GetStackVectorOr3Numbers(L, 2, Position)) { return 0; } @@ -1107,11 +1041,8 @@ static int tolua_cWorld_GetBlockSkyLight(lua_State * tolua_S) cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamEnd(OffsetIndex) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamEnd(OffsetIndex)) { return 0; } @@ -1126,10 +1057,7 @@ static int tolua_cWorld_GetBlockSkyLight(lua_State * tolua_S) Vector3i Position; // Read the params: - if ( - !L.GetStackValues(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) - ) + if (!L.GetStackValues(1, World) || !GetStackVectorOr3Numbers(L, 2, Position)) { return 0; } @@ -1164,11 +1092,8 @@ static int tolua_cWorld_GetBlockTypeMeta(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamEnd(OffsetIndex) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamEnd(OffsetIndex)) { return 0; } @@ -1183,10 +1108,7 @@ static int tolua_cWorld_GetBlockTypeMeta(lua_State * tolua_S) Vector3i Position; // Read the params: - if ( - !L.GetStackValues(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) - ) + if (!L.GetStackValues(1, World) || !GetStackVectorOr3Numbers(L, 2, Position)) { return 0; } @@ -1228,11 +1150,7 @@ static int tolua_cWorld_GetSignLines(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cWorld") || - !L.CheckParamNumber(2, 4) || - !L.CheckParamEnd(5) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamNumber(2, 4) || !L.CheckParamEnd(5)) { return 0; } @@ -1270,10 +1188,7 @@ static int tolua_cWorld_GetTimeOfDay(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamEnd(2) - ) + if (!L.CheckParamSelf("cWorld") || !L.CheckParamEnd(2)) { return 0; } @@ -1302,10 +1217,7 @@ static int tolua_cWorld_GetWorldAge(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamEnd(2) - ) + if (!L.CheckParamSelf("cWorld") || !L.CheckParamEnd(2)) { return 0; } @@ -1338,20 +1250,15 @@ static int tolua_cWorld_PrepareChunk(lua_State * tolua_S) // Check the param types: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType (1, "cWorld") || - !L.CheckParamNumber (2, 3) || - !L.CheckParamFunctionOrNil(4) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamNumber(2, 3) || !L.CheckParamFunctionOrNil(4)) { return 0; } // Wrap the Lua callback inside a C++ callback class: - class cCallback: - public cChunkCoordCallback + class cCallback : public cChunkCoordCallback { - public: + public: // cChunkCoordCallback override: virtual void Call(cChunkCoords a_Coords, bool a_IsSuccess) override { @@ -1390,10 +1297,7 @@ static int tolua_cWorld_QueueTask(lua_State * tolua_S) // Retrieve the args: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cWorld") || - !L.CheckParamFunction(2) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamFunction(2)) { return 0; } @@ -1405,18 +1309,20 @@ static int tolua_cWorld_QueueTask(lua_State * tolua_S) } if (World == nullptr) { - return cManualBindings::lua_do_error(tolua_S, "Error in function call '#funcname#': Not called on an object instance"); + return cManualBindings::lua_do_error( + tolua_S, + "Error in function call '#funcname#': Not called on an object instance" + ); } if (!Task->IsValid()) { - return cManualBindings::lua_do_error(tolua_S, "Error in function call '#funcname#': Could not store the callback parameter"); + return cManualBindings::lua_do_error( + tolua_S, + "Error in function call '#funcname#': Could not store the callback parameter" + ); } - World->QueueTask([Task](cWorld & a_World) - { - Task->Call(&a_World); - } - ); + World->QueueTask([Task](cWorld & a_World) { Task->Call(&a_World); }); return 0; } @@ -1434,12 +1340,8 @@ static int tolua_cWorld_SetBlock(lua_State * tolua_S) cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamNumber(OffsetIndex, OffsetIndex + 1) || - !L.CheckParamEnd(OffsetIndex + 2) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamNumber(OffsetIndex, OffsetIndex + 1) || !L.CheckParamEnd(OffsetIndex + 2)) { return 0; } @@ -1456,11 +1358,8 @@ static int tolua_cWorld_SetBlock(lua_State * tolua_S) NIBBLETYPE Meta; // Read the params: - if ( - !L.GetStackValues(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) || - !L.GetStackValues(OffsetIndex, Type, Meta) - ) + if (!L.GetStackValues(1, World) || !GetStackVectorOr3Numbers(L, 2, Position) || + !L.GetStackValues(OffsetIndex, Type, Meta)) { return 0; } @@ -1493,12 +1392,8 @@ static int tolua_cWorld_SetBlockMeta(lua_State * tolua_S) cLuaState L(tolua_S); int OffsetIndex; - if ( - !L.CheckParamSelf("cWorld") || - !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || - !L.CheckParamNumber(OffsetIndex) || - !L.CheckParamEnd(OffsetIndex + 1) - ) + if (!L.CheckParamSelf("cWorld") || !CheckParamVectorOr3Numbers(L, "Vector3", 2, OffsetIndex) || + !L.CheckParamNumber(OffsetIndex) || !L.CheckParamEnd(OffsetIndex + 1)) { return 0; } @@ -1514,11 +1409,7 @@ static int tolua_cWorld_SetBlockMeta(lua_State * tolua_S) NIBBLETYPE Meta; // Read the params: - if ( - !L.GetStackValue(1, World) || - !GetStackVectorOr3Numbers(L, 2, Position) || - !L.GetStackValue(OffsetIndex, Meta) - ) + if (!L.GetStackValue(1, World) || !GetStackVectorOr3Numbers(L, 2, Position) || !L.GetStackValue(OffsetIndex, Meta)) { return 0; } @@ -1547,12 +1438,8 @@ static int tolua_cWorld_SetSignLines(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cWorld") || - !L.CheckParamNumber(2, 4) || - !L.CheckParamString(5, 8) || - !L.CheckParamEnd(9) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamNumber(2, 4) || !L.CheckParamString(5, 8) || + !L.CheckParamEnd(9)) { return 0; } @@ -1585,11 +1472,7 @@ static int tolua_cWorld_SetTimeOfDay(lua_State * tolua_S) { // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamNumber(2) || - !L.CheckParamEnd(3) - ) + if (!L.CheckParamSelf("cWorld") || !L.CheckParamNumber(2) || !L.CheckParamEnd(3)) { return 0; } @@ -1619,11 +1502,7 @@ static int tolua_cWorld_ScheduleTask(lua_State * tolua_S) // Retrieve the args: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cWorld") || - !L.CheckParamNumber (2) || - !L.CheckParamFunction(3) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamNumber(2) || !L.CheckParamFunction(3)) { return 0; } @@ -1636,18 +1515,20 @@ static int tolua_cWorld_ScheduleTask(lua_State * tolua_S) } if (World == nullptr) { - return cManualBindings::lua_do_error(tolua_S, "Error in function call '#funcname#': Not called on an object instance"); + return cManualBindings::lua_do_error( + tolua_S, + "Error in function call '#funcname#': Not called on an object instance" + ); } if (!Task->IsValid()) { - return cManualBindings::lua_do_error(tolua_S, "Error in function call '#funcname#': Could not store the callback parameter"); + return cManualBindings::lua_do_error( + tolua_S, + "Error in function call '#funcname#': Could not store the callback parameter" + ); } - World->ScheduleTask(cTickTime(NumTicks), [Task](cWorld & a_World) - { - Task->Call(&a_World); - } - ); + World->ScheduleTask(cTickTime(NumTicks), [Task](cWorld & a_World) { Task->Call(&a_World); }); return 0; } @@ -1655,15 +1536,11 @@ static int tolua_cWorld_ScheduleTask(lua_State * tolua_S) -static int tolua_cWorld_SpawnSplitExperienceOrbs(lua_State* tolua_S) +static int tolua_cWorld_SpawnSplitExperienceOrbs(lua_State * tolua_S) { cLuaState L(tolua_S); - if ( - !L.CheckParamSelf("cWorld") || - !L.CheckParamUserType(2, "Vector3") || - !L.CheckParamNumber(3) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamSelf("cWorld") || !L.CheckParamUserType(2, "Vector3") || !L.CheckParamNumber(3) || + !L.CheckParamEnd(4)) { return 0; } @@ -1695,11 +1572,7 @@ static int tolua_cWorld_TryGetHeight(lua_State * tolua_S) // Check params: cLuaState L(tolua_S); - if ( - !L.CheckParamUserType(1, "cWorld") || - !L.CheckParamNumber(2, 3) || - !L.CheckParamEnd(4) - ) + if (!L.CheckParamUserType(1, "cWorld") || !L.CheckParamNumber(2, 3) || !L.CheckParamEnd(4)) { return 0; } @@ -1734,60 +1607,60 @@ static int tolua_cWorld_TryGetHeight(lua_State * tolua_S) void cManualBindings::BindWorld(lua_State * tolua_S) { tolua_beginmodule(tolua_S, nullptr); - tolua_beginmodule(tolua_S, "cWorld"); - tolua_function(tolua_S, "BroadcastBlockAction", tolua_cWorld_BroadcastBlockAction); - tolua_function(tolua_S, "BroadcastSoundEffect", tolua_cWorld_BroadcastSoundEffect); - tolua_function(tolua_S, "BroadcastSoundParticleEffect", tolua_cWorld_BroadcastSoundParticleEffect); - tolua_function(tolua_S, "BroadcastParticleEffect", tolua_cWorld_BroadcastParticleEffect); - tolua_function(tolua_S, "ChunkStay", tolua_cWorld_ChunkStay); - tolua_function(tolua_S, "DoExplosionAt", tolua_cWorld_DoExplosionAt); - tolua_function(tolua_S, "DoWithBeaconAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithBedAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithBlockEntityAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithBrewingstandAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithChestAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithCommandBlockAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithDispenserAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithDropSpenserAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithDropperAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithEntityByID", DoWithID); - tolua_function(tolua_S, "DoWithFlowerPotAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithFurnaceAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithHopperAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithMobHeadAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithNearestPlayer", tolua_cWorld_DoWithNearestPlayer); - tolua_function(tolua_S, "DoWithNoteBlockAt", DoWithBlockEntityAt); - tolua_function(tolua_S, "DoWithPlayer", DoWith); - tolua_function(tolua_S, "DoWithPlayerByUUID", tolua_cWorld_DoWithPlayerByUUID); - tolua_function(tolua_S, "FastSetBlock", tolua_cWorld_FastSetBlock); - tolua_function(tolua_S, "FindAndDoWithPlayer", DoWith); - tolua_function(tolua_S, "ForEachBlockEntityInChunk", ForEachBlockEntityInChunk); - tolua_function(tolua_S, "ForEachBrewingstandInChunk", ForEachBlockEntityInChunk); - tolua_function(tolua_S, "ForEachChestInChunk", ForEachBlockEntityInChunk); - tolua_function(tolua_S, "ForEachEntity", ForEach); - tolua_function(tolua_S, "ForEachEntityInBox", ForEachInBox); - tolua_function(tolua_S, "ForEachEntityInChunk", tolua_cWorld_ForEachEntityInChunk); - tolua_function(tolua_S, "ForEachFurnaceInChunk", ForEachBlockEntityInChunk); - tolua_function(tolua_S, "ForEachLoadedChunk", tolua_cWorld_ForEachLoadedChunk); - tolua_function(tolua_S, "ForEachPlayer", ForEach); - tolua_function(tolua_S, "GetBlock", tolua_cWorld_GetBlock); - tolua_function(tolua_S, "GetBlockBlockLight", tolua_cWorld_GetBlockBlockLight); - tolua_function(tolua_S, "GetBlockInfo", tolua_cWorld_GetBlockInfo); - tolua_function(tolua_S, "GetBlockMeta", tolua_cWorld_GetBlockMeta); - tolua_function(tolua_S, "GetBlockSkyLight", tolua_cWorld_GetBlockSkyLight); - tolua_function(tolua_S, "GetBlockTypeMeta", tolua_cWorld_GetBlockTypeMeta); - tolua_function(tolua_S, "GetSignLines", tolua_cWorld_GetSignLines); - tolua_function(tolua_S, "GetTimeOfDay", tolua_cWorld_GetTimeOfDay); - tolua_function(tolua_S, "GetWorldAge", tolua_cWorld_GetWorldAge); - tolua_function(tolua_S, "PrepareChunk", tolua_cWorld_PrepareChunk); - tolua_function(tolua_S, "QueueTask", tolua_cWorld_QueueTask); - tolua_function(tolua_S, "ScheduleTask", tolua_cWorld_ScheduleTask); - tolua_function(tolua_S, "SetBlock", tolua_cWorld_SetBlock); - tolua_function(tolua_S, "SetBlockMeta", tolua_cWorld_SetBlockMeta); - tolua_function(tolua_S, "SetSignLines", tolua_cWorld_SetSignLines); - tolua_function(tolua_S, "SetTimeOfDay", tolua_cWorld_SetTimeOfDay); - tolua_function(tolua_S, "SpawnSplitExperienceOrbs", tolua_cWorld_SpawnSplitExperienceOrbs); - tolua_function(tolua_S, "TryGetHeight", tolua_cWorld_TryGetHeight); - tolua_endmodule(tolua_S); + tolua_beginmodule(tolua_S, "cWorld"); + tolua_function(tolua_S, "BroadcastBlockAction", tolua_cWorld_BroadcastBlockAction); + tolua_function(tolua_S, "BroadcastSoundEffect", tolua_cWorld_BroadcastSoundEffect); + tolua_function(tolua_S, "BroadcastSoundParticleEffect", tolua_cWorld_BroadcastSoundParticleEffect); + tolua_function(tolua_S, "BroadcastParticleEffect", tolua_cWorld_BroadcastParticleEffect); + tolua_function(tolua_S, "ChunkStay", tolua_cWorld_ChunkStay); + tolua_function(tolua_S, "DoExplosionAt", tolua_cWorld_DoExplosionAt); + tolua_function(tolua_S, "DoWithBeaconAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithBedAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithBlockEntityAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithBrewingstandAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithChestAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithCommandBlockAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithDispenserAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithDropSpenserAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithDropperAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithEntityByID", DoWithID); + tolua_function(tolua_S, "DoWithFlowerPotAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithFurnaceAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithHopperAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithMobHeadAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithNearestPlayer", tolua_cWorld_DoWithNearestPlayer); + tolua_function(tolua_S, "DoWithNoteBlockAt", DoWithBlockEntityAt); + tolua_function(tolua_S, "DoWithPlayer", DoWith); + tolua_function(tolua_S, "DoWithPlayerByUUID", tolua_cWorld_DoWithPlayerByUUID); + tolua_function(tolua_S, "FastSetBlock", tolua_cWorld_FastSetBlock); + tolua_function(tolua_S, "FindAndDoWithPlayer", DoWith); + tolua_function(tolua_S, "ForEachBlockEntityInChunk", ForEachBlockEntityInChunk); + tolua_function(tolua_S, "ForEachBrewingstandInChunk", ForEachBlockEntityInChunk); + tolua_function(tolua_S, "ForEachChestInChunk", ForEachBlockEntityInChunk); + tolua_function(tolua_S, "ForEachEntity", ForEach); + tolua_function(tolua_S, "ForEachEntityInBox", ForEachInBox); + tolua_function(tolua_S, "ForEachEntityInChunk", tolua_cWorld_ForEachEntityInChunk); + tolua_function(tolua_S, "ForEachFurnaceInChunk", ForEachBlockEntityInChunk); + tolua_function(tolua_S, "ForEachLoadedChunk", tolua_cWorld_ForEachLoadedChunk); + tolua_function(tolua_S, "ForEachPlayer", ForEach); + tolua_function(tolua_S, "GetBlock", tolua_cWorld_GetBlock); + tolua_function(tolua_S, "GetBlockBlockLight", tolua_cWorld_GetBlockBlockLight); + tolua_function(tolua_S, "GetBlockInfo", tolua_cWorld_GetBlockInfo); + tolua_function(tolua_S, "GetBlockMeta", tolua_cWorld_GetBlockMeta); + tolua_function(tolua_S, "GetBlockSkyLight", tolua_cWorld_GetBlockSkyLight); + tolua_function(tolua_S, "GetBlockTypeMeta", tolua_cWorld_GetBlockTypeMeta); + tolua_function(tolua_S, "GetSignLines", tolua_cWorld_GetSignLines); + tolua_function(tolua_S, "GetTimeOfDay", tolua_cWorld_GetTimeOfDay); + tolua_function(tolua_S, "GetWorldAge", tolua_cWorld_GetWorldAge); + tolua_function(tolua_S, "PrepareChunk", tolua_cWorld_PrepareChunk); + tolua_function(tolua_S, "QueueTask", tolua_cWorld_QueueTask); + tolua_function(tolua_S, "ScheduleTask", tolua_cWorld_ScheduleTask); + tolua_function(tolua_S, "SetBlock", tolua_cWorld_SetBlock); + tolua_function(tolua_S, "SetBlockMeta", tolua_cWorld_SetBlockMeta); + tolua_function(tolua_S, "SetSignLines", tolua_cWorld_SetSignLines); + tolua_function(tolua_S, "SetTimeOfDay", tolua_cWorld_SetTimeOfDay); + tolua_function(tolua_S, "SpawnSplitExperienceOrbs", tolua_cWorld_SpawnSplitExperienceOrbs); + tolua_function(tolua_S, "TryGetHeight", tolua_cWorld_TryGetHeight); + tolua_endmodule(tolua_S); tolua_endmodule(tolua_S); } diff --git a/src/Bindings/Plugin.cpp b/src/Bindings/Plugin.cpp index 3f1645188..203ee68f1 100644 --- a/src/Bindings/Plugin.cpp +++ b/src/Bindings/Plugin.cpp @@ -8,10 +8,7 @@ cPlugin::cPlugin(const AString & a_FolderName) : - m_Status(cPluginManager::psDisabled), - m_Name(a_FolderName), - m_Version(0), - m_FolderName(a_FolderName) + m_Status(cPluginManager::psDisabled), m_Name(a_FolderName), m_Version(0), m_FolderName(a_FolderName) { } @@ -57,7 +54,3 @@ void cPlugin::SetLoadError(const AString & a_LoadError) m_Status = cPluginManager::psError; m_LoadError = a_LoadError; } - - - - diff --git a/src/Bindings/Plugin.h b/src/Bindings/Plugin.h index 1e10fab48..2e2d028f1 100644 --- a/src/Bindings/Plugin.h +++ b/src/Bindings/Plugin.h @@ -1,7 +1,8 @@ // Plugin.h -// Declares the cPlugin class representing an interface that a plugin implementation needs to expose, with some helping functions +// Declares the cPlugin class representing an interface that a plugin implementation needs to expose, with some helping +// functions @@ -18,7 +19,7 @@ // tolua_begin class cPlugin { -public: + public: // tolua_end /** Creates a new instance. @@ -36,93 +37,266 @@ public: virtual bool Load(void) = 0; /** Unloads the plugin. Sets m_Status to psDisabled. - The default implementation removes the plugin's associations with cPluginManager, descendants should call it as well. */ + The default implementation removes the plugin's associations with cPluginManager, descendants should call it as + well. */ virtual void Unload(void); // Called each tick virtual void Tick(float a_Dt) = 0; /** Calls the specified hook with the params given. Returns the bool that the hook callback returns. */ - virtual bool OnBlockSpread (cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, eSpreadSource a_Source) = 0; - virtual bool OnBlockToPickups (cWorld & a_World, Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, const cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool, cItems & a_Pickups) = 0; - virtual bool OnBrewingCompleting (cWorld & a_World, cBrewingstandEntity & a_BrewingstandEntity) = 0; - virtual bool OnBrewingCompleted (cWorld & a_World, cBrewingstandEntity & a_BrewingstandEntity) = 0; - virtual bool OnChat (cPlayer & a_Player, AString & a_Message) = 0; - virtual bool OnChunkAvailable (cWorld & a_World, int a_ChunkX, int a_ChunkZ) = 0; - virtual bool OnChunkGenerated (cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) = 0; - virtual bool OnChunkGenerating (cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) = 0; - virtual bool OnChunkUnloaded (cWorld & a_World, int a_ChunkX, int a_ChunkZ) = 0; - virtual bool OnChunkUnloading (cWorld & a_World, int a_ChunkX, int a_ChunkZ) = 0; - virtual bool OnCollectingPickup (cPlayer & a_Player, cPickup & a_Pickup) = 0; - virtual bool OnCraftingNoRecipe (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) = 0; - virtual bool OnDisconnect (cClientHandle & a_Client, const AString & a_Reason) = 0; - virtual bool OnEntityAddEffect (cEntity & a_Entity, int a_EffectType, int a_EffectDurationTicks, int a_EffectIntensity, double a_DistanceModifier) = 0; - virtual bool OnEntityTeleport (cEntity & a_Entity, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition) = 0; - virtual bool OnEntityChangingWorld (cEntity & a_Entity, cWorld & a_World) = 0; - virtual bool OnEntityChangedWorld (cEntity & a_Entity, cWorld & a_World) = 0; - virtual bool OnExecuteCommand (cPlayer * a_Player, const AStringVector & a_Split, const AString & a_EntireCommand, cPluginManager::CommandResult & a_Result) = 0; - virtual bool OnExploded (cWorld & a_World, double a_ExplosionSize, bool a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData) = 0; - virtual bool OnExploding (cWorld & a_World, double & a_ExplosionSize, bool & a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData) = 0; - virtual bool OnHandshake (cClientHandle & a_Client, const AString & a_Username) = 0; - virtual bool OnHopperPullingItem (cWorld & a_World, cHopperEntity & a_Hopper, int a_DstSlotNum, cBlockEntityWithItems & a_SrcEntity, int a_SrcSlotNum) = 0; - virtual bool OnHopperPushingItem (cWorld & a_World, cHopperEntity & a_Hopper, int a_SrcSlotNum, cBlockEntityWithItems & a_DstEntity, int a_DstSlotNum) = 0; - virtual bool OnDropSpense (cWorld & a_World, cDropSpenserEntity & a_DropSpenser, int a_SlotNum) = 0; - virtual bool OnKilled (cEntity & a_Victim, TakeDamageInfo & a_TDI, AString & a_DeathMessage) = 0; - virtual bool OnKilling (cEntity & a_Victim, cEntity * a_Killer, TakeDamageInfo & a_TDI) = 0; - virtual bool OnLogin (cClientHandle & a_Client, UInt32 a_ProtocolVersion, const AString & a_Username) = 0; - virtual bool OnLoginForge (cClientHandle & a_Client, const AStringMap & a_Mods) = 0; - virtual bool OnPlayerAnimation (cPlayer & a_Player, int a_Animation) = 0; - virtual bool OnPlayerBreakingBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; - virtual bool OnPlayerBrokenBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; - virtual bool OnPlayerDestroyed (cPlayer & a_Player) = 0; - virtual bool OnPlayerEating (cPlayer & a_Player) = 0; - virtual bool OnPlayerFished (cPlayer & a_Player, const cItems & a_Reward, const int ExperienceAmount) = 0; - virtual bool OnPlayerFishing (cPlayer & a_Player, cItems & a_Reward, int & ExperienceAmount) = 0; - virtual bool OnPlayerFoodLevelChange (cPlayer & a_Player, int a_NewFoodLevel) = 0; - virtual bool OnPlayerJoined (cPlayer & a_Player) = 0; - virtual bool OnPlayerLeftClick (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, char a_Status) = 0; - virtual bool OnPlayerMoving (cPlayer & a_Player, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition, bool a_PreviousIsOnGround) = 0; - virtual bool OnPlayerOpeningWindow (cPlayer & a_Player, cWindow & a_Window) = 0; - virtual bool OnPlayerPlacedBlock (cPlayer & a_Player, const sSetBlock & a_BlockChange) = 0; - virtual bool OnPlayerPlacingBlock (cPlayer & a_Player, const sSetBlock & a_BlockChange) = 0; - virtual bool OnPlayerCrouched (cPlayer & a_Player) = 0; - virtual bool OnPlayerRightClick (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) = 0; + virtual bool OnBlockSpread(cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, eSpreadSource a_Source) = 0; + virtual bool OnBlockToPickups( + cWorld & a_World, + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + const cBlockEntity * a_BlockEntity, + const cEntity * a_Digger, + const cItem * a_Tool, + cItems & a_Pickups + ) = 0; + virtual bool OnBrewingCompleting(cWorld & a_World, cBrewingstandEntity & a_BrewingstandEntity) = 0; + virtual bool OnBrewingCompleted(cWorld & a_World, cBrewingstandEntity & a_BrewingstandEntity) = 0; + virtual bool OnChat(cPlayer & a_Player, AString & a_Message) = 0; + virtual bool OnChunkAvailable(cWorld & a_World, int a_ChunkX, int a_ChunkZ) = 0; + virtual bool OnChunkGenerated(cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) = 0; + virtual bool OnChunkGenerating(cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) = 0; + virtual bool OnChunkUnloaded(cWorld & a_World, int a_ChunkX, int a_ChunkZ) = 0; + virtual bool OnChunkUnloading(cWorld & a_World, int a_ChunkX, int a_ChunkZ) = 0; + virtual bool OnCollectingPickup(cPlayer & a_Player, cPickup & a_Pickup) = 0; + virtual bool OnCraftingNoRecipe(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) = 0; + virtual bool OnDisconnect(cClientHandle & a_Client, const AString & a_Reason) = 0; + virtual bool OnEntityAddEffect( + cEntity & a_Entity, + int a_EffectType, + int a_EffectDurationTicks, + int a_EffectIntensity, + double a_DistanceModifier + ) = 0; + virtual bool OnEntityTeleport( + cEntity & a_Entity, + const Vector3d & a_OldPosition, + const Vector3d & a_NewPosition + ) = 0; + virtual bool OnEntityChangingWorld(cEntity & a_Entity, cWorld & a_World) = 0; + virtual bool OnEntityChangedWorld(cEntity & a_Entity, cWorld & a_World) = 0; + virtual bool OnExecuteCommand( + cPlayer * a_Player, + const AStringVector & a_Split, + const AString & a_EntireCommand, + cPluginManager::CommandResult & a_Result + ) = 0; + virtual bool OnExploded( + cWorld & a_World, + double a_ExplosionSize, + bool a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData + ) = 0; + virtual bool OnExploding( + cWorld & a_World, + double & a_ExplosionSize, + bool & a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData + ) = 0; + virtual bool OnHandshake(cClientHandle & a_Client, const AString & a_Username) = 0; + virtual bool OnHopperPullingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_DstSlotNum, + cBlockEntityWithItems & a_SrcEntity, + int a_SrcSlotNum + ) = 0; + virtual bool OnHopperPushingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_SrcSlotNum, + cBlockEntityWithItems & a_DstEntity, + int a_DstSlotNum + ) = 0; + virtual bool OnDropSpense(cWorld & a_World, cDropSpenserEntity & a_DropSpenser, int a_SlotNum) = 0; + virtual bool OnKilled(cEntity & a_Victim, TakeDamageInfo & a_TDI, AString & a_DeathMessage) = 0; + virtual bool OnKilling(cEntity & a_Victim, cEntity * a_Killer, TakeDamageInfo & a_TDI) = 0; + virtual bool OnLogin(cClientHandle & a_Client, UInt32 a_ProtocolVersion, const AString & a_Username) = 0; + virtual bool OnLoginForge(cClientHandle & a_Client, const AStringMap & a_Mods) = 0; + virtual bool OnPlayerAnimation(cPlayer & a_Player, int a_Animation) = 0; + virtual bool OnPlayerBreakingBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) = 0; + virtual bool OnPlayerBrokenBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) = 0; + virtual bool OnPlayerDestroyed(cPlayer & a_Player) = 0; + virtual bool OnPlayerEating(cPlayer & a_Player) = 0; + virtual bool OnPlayerFished(cPlayer & a_Player, const cItems & a_Reward, const int ExperienceAmount) = 0; + virtual bool OnPlayerFishing(cPlayer & a_Player, cItems & a_Reward, int & ExperienceAmount) = 0; + virtual bool OnPlayerFoodLevelChange(cPlayer & a_Player, int a_NewFoodLevel) = 0; + virtual bool OnPlayerJoined(cPlayer & a_Player) = 0; + virtual bool OnPlayerLeftClick( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + char a_Status + ) = 0; + virtual bool OnPlayerMoving( + cPlayer & a_Player, + const Vector3d & a_OldPosition, + const Vector3d & a_NewPosition, + bool a_PreviousIsOnGround + ) = 0; + virtual bool OnPlayerOpeningWindow(cPlayer & a_Player, cWindow & a_Window) = 0; + virtual bool OnPlayerPlacedBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange) = 0; + virtual bool OnPlayerPlacingBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange) = 0; + virtual bool OnPlayerCrouched(cPlayer & a_Player) = 0; + virtual bool OnPlayerRightClick( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ + ) = 0; virtual bool OnPlayerRightClickingEntity(cPlayer & a_Player, cEntity & a_Entity) = 0; - virtual bool OnPlayerShooting (cPlayer & a_Player) = 0; - virtual bool OnPlayerSpawned (cPlayer & a_Player) = 0; - virtual bool OnPlayerTossingItem (cPlayer & a_Player) = 0; - virtual bool OnPlayerUsedBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; - virtual bool OnPlayerUsedItem (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) = 0; - virtual bool OnPlayerUsingBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; - virtual bool OnPlayerUsingItem (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) = 0; - virtual bool OnPluginMessage (cClientHandle & a_Client, const AString & a_Channel, ContiguousByteBufferView a_Message) = 0; - virtual bool OnPluginsLoaded (void) = 0; - virtual bool OnPostCrafting (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) = 0; - virtual bool OnPreCrafting (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) = 0; - virtual bool OnProjectileHitBlock (cProjectileEntity & a_Projectile, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_Face, const Vector3d & a_BlockHitPos) = 0; - virtual bool OnProjectileHitEntity (cProjectileEntity & a_Projectile, cEntity & a_HitEntity) = 0; - virtual bool OnServerPing (cClientHandle & a_ClientHandle, AString & a_ServerDescription, int & a_OnlinePlayersCount, int & a_MaxPlayersCount, AString & a_Favicon) = 0; - virtual bool OnSpawnedEntity (cWorld & a_World, cEntity & a_Entity) = 0; - virtual bool OnSpawnedMonster (cWorld & a_World, cMonster & a_Monster) = 0; - virtual bool OnSpawningEntity (cWorld & a_World, cEntity & a_Entity) = 0; - virtual bool OnSpawningMonster (cWorld & a_World, cMonster & a_Monster) = 0; - virtual bool OnTakeDamage (cEntity & a_Receiver, TakeDamageInfo & a_TakeDamageInfo) = 0; - virtual bool OnUpdatedSign (cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, cPlayer * a_Player) = 0; - virtual bool OnUpdatingSign (cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4, cPlayer * a_Player) = 0; - virtual bool OnWeatherChanged (cWorld & a_World) = 0; - virtual bool OnWeatherChanging (cWorld & a_World, eWeather & a_NewWeather) = 0; - virtual bool OnWorldStarted (cWorld & a_World) = 0; - virtual bool OnWorldTick (cWorld & a_World, std::chrono::milliseconds a_Dt, std::chrono::milliseconds a_LastTickDurationMSec) = 0; + virtual bool OnPlayerShooting(cPlayer & a_Player) = 0; + virtual bool OnPlayerSpawned(cPlayer & a_Player) = 0; + virtual bool OnPlayerTossingItem(cPlayer & a_Player) = 0; + virtual bool OnPlayerUsedBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) = 0; + virtual bool OnPlayerUsedItem( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ + ) = 0; + virtual bool OnPlayerUsingBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) = 0; + virtual bool OnPlayerUsingItem( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ + ) = 0; + virtual bool OnPluginMessage( + cClientHandle & a_Client, + const AString & a_Channel, + ContiguousByteBufferView a_Message + ) = 0; + virtual bool OnPluginsLoaded(void) = 0; + virtual bool OnPostCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) = 0; + virtual bool OnPreCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) = 0; + virtual bool OnProjectileHitBlock( + cProjectileEntity & a_Projectile, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_Face, + const Vector3d & a_BlockHitPos + ) = 0; + virtual bool OnProjectileHitEntity(cProjectileEntity & a_Projectile, cEntity & a_HitEntity) = 0; + virtual bool OnServerPing( + cClientHandle & a_ClientHandle, + AString & a_ServerDescription, + int & a_OnlinePlayersCount, + int & a_MaxPlayersCount, + AString & a_Favicon + ) = 0; + virtual bool OnSpawnedEntity(cWorld & a_World, cEntity & a_Entity) = 0; + virtual bool OnSpawnedMonster(cWorld & a_World, cMonster & a_Monster) = 0; + virtual bool OnSpawningEntity(cWorld & a_World, cEntity & a_Entity) = 0; + virtual bool OnSpawningMonster(cWorld & a_World, cMonster & a_Monster) = 0; + virtual bool OnTakeDamage(cEntity & a_Receiver, TakeDamageInfo & a_TakeDamageInfo) = 0; + virtual bool OnUpdatedSign( + cWorld & a_World, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4, + cPlayer * a_Player + ) = 0; + virtual bool OnUpdatingSign( + cWorld & a_World, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + AString & a_Line1, + AString & a_Line2, + AString & a_Line3, + AString & a_Line4, + cPlayer * a_Player + ) = 0; + virtual bool OnWeatherChanged(cWorld & a_World) = 0; + virtual bool OnWeatherChanging(cWorld & a_World, eWeather & a_NewWeather) = 0; + virtual bool OnWorldStarted(cWorld & a_World) = 0; + virtual bool OnWorldTick( + cWorld & a_World, + std::chrono::milliseconds a_Dt, + std::chrono::milliseconds a_LastTickDurationMSec + ) = 0; // tolua_begin - const AString & GetName(void) const { return m_Name; } + const AString & GetName(void) const { return m_Name; } void SetName(const AString & a_Name) { m_Name = a_Name; } - int GetVersion(void) const { return m_Version; } + int GetVersion(void) const { return m_Version; } void SetVersion(int a_Version) { m_Version = a_Version; } /** Returns the name of the folder (in the Plugins folder) from which the plugin is loaded. */ - const AString & GetFolderName(void) const {return m_FolderName; } + const AString & GetFolderName(void) const { return m_FolderName; } /** Returns the folder relative to the MCS Executable, from which the plugin is loaded. */ AString GetLocalFolder(void) const; @@ -138,7 +312,7 @@ public: // Needed for ManualBindings' tolua_ForEach<> static const char * GetClassStatic(void) { return "cPlugin"; } -protected: + protected: friend class cPluginManager; cPluginManager::ePluginStatus m_Status; @@ -159,7 +333,3 @@ protected: /** Sets m_LoadError to the specified string and m_Status to psError. */ void SetLoadError(const AString & a_LoadError); }; // tolua_export - - - - diff --git a/src/Bindings/PluginLua.cpp b/src/Bindings/PluginLua.cpp index e218fcd06..3dbc03413 100644 --- a/src/Bindings/PluginLua.cpp +++ b/src/Bindings/PluginLua.cpp @@ -8,9 +8,9 @@ #include "Entities/Minecart.h" #ifdef __APPLE__ - #define LUA_USE_MACOSX +#define LUA_USE_MACOSX #else - #define LUA_USE_POSIX +#define LUA_USE_POSIX #endif #include "PluginLua.h" @@ -22,7 +22,7 @@ extern "C" { - #include "lua/src/lauxlib.h" +#include "lua/src/lauxlib.h" } #undef TOLUA_TEMPLATE_BIND @@ -95,11 +95,11 @@ bool cPluginLua::Load(void) // Add the plugin's folder to the package.path and package.cpath variables (#693): m_LuaState.AddPackagePath("path", GetLocalFolder() + "/?.lua"); - #ifdef _WIN32 - m_LuaState.AddPackagePath("cpath", GetLocalFolder() + "\\?.dll"); - #else - m_LuaState.AddPackagePath("cpath", GetLocalFolder() + "/?.so"); - #endif +#ifdef _WIN32 + m_LuaState.AddPackagePath("cpath", GetLocalFolder() + "\\?.dll"); +#else + m_LuaState.AddPackagePath("cpath", GetLocalFolder() + "/?.so"); +#endif tolua_pushusertype(m_LuaState, this, "cPluginLua"); lua_setglobal(m_LuaState, "g_Plugin"); @@ -164,7 +164,10 @@ bool cPluginLua::Load(void) if (!m_LuaState.Call("Initialize", this, cLuaState::Return, res)) { SetLoadError("Cannot call the Initialize() function."); - LOGWARNING("Error in plugin %s: Cannot call the Initialize() function. Plugin is temporarily disabled.", GetName().c_str()); + LOGWARNING( + "Error in plugin %s: Cannot call the Initialize() function. Plugin is temporarily disabled.", + GetName().c_str() + ); Close(); return false; } @@ -230,20 +233,26 @@ bool cPluginLua::OnBlockSpread(cWorld & a_World, int a_BlockX, int a_BlockY, int bool cPluginLua::OnBlockToPickups( cWorld & a_World, Vector3i a_BlockPos, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, const cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool, cItems & a_Pickups ) { - // TODO: Change the hook signature to reflect the real parameters to this function, once we are allowed to make breaking API changes + // TODO: Change the hook signature to reflect the real parameters to this function, once we are allowed to make + // breaking API changes return CallSimpleHooks( cPluginManager::HOOK_BLOCK_TO_PICKUPS, &a_World, a_Digger, - a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, - a_BlockType, a_BlockMeta, &a_Pickups + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockType, + a_BlockMeta, + &a_Pickups ); } @@ -278,7 +287,7 @@ bool cPluginLua::OnChat(cPlayer & a_Player, AString & a_Message) } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_CHAT]; - for (auto & hook: hooks) + for (auto & hook : hooks) { hook->Call(&a_Player, a_Message, cLuaState::Return, res, a_Message); if (res) @@ -365,9 +374,22 @@ bool cPluginLua::OnDisconnect(cClientHandle & a_Client, const AString & a_Reason -bool cPluginLua::OnEntityAddEffect(cEntity & a_Entity, int a_EffectType, int a_EffectDurationTicks, int a_EffectIntensity, double a_DistanceModifier) +bool cPluginLua::OnEntityAddEffect( + cEntity & a_Entity, + int a_EffectType, + int a_EffectDurationTicks, + int a_EffectIntensity, + double a_DistanceModifier +) { - return CallSimpleHooks(cPluginManager::HOOK_ENTITY_ADD_EFFECT, &a_Entity, a_EffectType, a_EffectDurationTicks, a_EffectIntensity, a_DistanceModifier); + return CallSimpleHooks( + cPluginManager::HOOK_ENTITY_ADD_EFFECT, + &a_Entity, + a_EffectType, + a_EffectDurationTicks, + a_EffectIntensity, + a_DistanceModifier + ); } @@ -392,7 +414,12 @@ bool cPluginLua::OnEntityChangedWorld(cEntity & a_Entity, cWorld & a_World) -bool cPluginLua::OnExecuteCommand(cPlayer * a_Player, const AStringVector & a_Split, const AString & a_EntireCommand, cPluginManager::CommandResult & a_Result) +bool cPluginLua::OnExecuteCommand( + cPlayer * a_Player, + const AStringVector & a_Split, + const AString & a_EntireCommand, + cPluginManager::CommandResult & a_Result +) { cOperation op(*this); if (!op().IsValid()) @@ -401,7 +428,7 @@ bool cPluginLua::OnExecuteCommand(cPlayer * a_Player, const AStringVector & a_Sp } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_EXECUTE_COMMAND]; - for (auto & hook: hooks) + for (auto & hook : hooks) { hook->Call(a_Player, a_Split, a_EntireCommand, cLuaState::Return, res, a_Result); if (res) @@ -416,7 +443,16 @@ bool cPluginLua::OnExecuteCommand(cPlayer * a_Player, const AStringVector & a_Sp -bool cPluginLua::OnExploded(cWorld & a_World, double a_ExplosionSize, bool a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData) +bool cPluginLua::OnExploded( + cWorld & a_World, + double a_ExplosionSize, + bool a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData +) { cOperation op(*this); if (!op().IsValid()) @@ -425,20 +461,128 @@ bool cPluginLua::OnExploded(cWorld & a_World, double a_ExplosionSize, bool a_Can } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_EXPLODED]; - for (auto & hook: hooks) + for (auto & hook : hooks) { switch (a_Source) { - case esBed: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res); break; - case esEnderCrystal: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res); break; - case esGhastFireball: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast(a_SourceData), cLuaState::Return, res); break; - case esMonster: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res); break; - case esOther: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, cLuaState::Return, res); break; - case esPlugin: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, cLuaState::Return, res); break; - case esPrimedTNT: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res); break; - case esTNTMinecart: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res); break; - case esWitherBirth: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res); break; - case esWitherSkull: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res); break; + case esBed: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res + ); + break; + case esEnderCrystal: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res + ); + break; + case esGhastFireball: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res + ); + break; + case esMonster: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res + ); + break; + case esOther: + hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, cLuaState::Return, res); + break; + case esPlugin: + hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, cLuaState::Return, res); + break; + case esPrimedTNT: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res + ); + break; + case esTNTMinecart: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res + ); + break; + case esWitherBirth: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res + ); + break; + case esWitherSkull: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res + ); + break; case esMax: { ASSERT(!"Invalid explosion source"); @@ -457,7 +601,16 @@ bool cPluginLua::OnExploded(cWorld & a_World, double a_ExplosionSize, bool a_Can -bool cPluginLua::OnExploding(cWorld & a_World, double & a_ExplosionSize, bool & a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData) +bool cPluginLua::OnExploding( + cWorld & a_World, + double & a_ExplosionSize, + bool & a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData +) { cOperation op(*this); if (!op().IsValid()) @@ -466,20 +619,168 @@ bool cPluginLua::OnExploding(cWorld & a_World, double & a_ExplosionSize, bool & } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_EXPLODING]; - for (auto & hook: hooks) + for (auto & hook : hooks) { switch (a_Source) { - case esBed: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esEnderCrystal: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esGhastFireball: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast(a_SourceData), cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esMonster: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esOther: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esPlugin: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esPrimedTNT: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esTNTMinecart: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esWitherBirth: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; - case esWitherSkull: hook->Call(&a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, static_cast (a_SourceData), cLuaState::Return, res, a_CanCauseFire, a_ExplosionSize); break; + case esBed: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esEnderCrystal: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esGhastFireball: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esMonster: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esOther: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esPlugin: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esPrimedTNT: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esTNTMinecart: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esWitherBirth: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; + case esWitherSkull: + hook->Call( + &a_World, + a_ExplosionSize, + a_CanCauseFire, + a_X, + a_Y, + a_Z, + a_Source, + static_cast(a_SourceData), + cLuaState::Return, + res, + a_CanCauseFire, + a_ExplosionSize + ); + break; case esMax: { ASSERT(!"Invalid explosion source"); @@ -507,18 +808,44 @@ bool cPluginLua::OnHandshake(cClientHandle & a_Client, const AString & a_Usernam -bool cPluginLua::OnHopperPullingItem(cWorld & a_World, cHopperEntity & a_Hopper, int a_DstSlotNum, cBlockEntityWithItems & a_SrcEntity, int a_SrcSlotNum) +bool cPluginLua::OnHopperPullingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_DstSlotNum, + cBlockEntityWithItems & a_SrcEntity, + int a_SrcSlotNum +) { - return CallSimpleHooks(cPluginManager::HOOK_HOPPER_PULLING_ITEM, &a_World, &a_Hopper, a_DstSlotNum, &a_SrcEntity, a_SrcSlotNum); + return CallSimpleHooks( + cPluginManager::HOOK_HOPPER_PULLING_ITEM, + &a_World, + &a_Hopper, + a_DstSlotNum, + &a_SrcEntity, + a_SrcSlotNum + ); } -bool cPluginLua::OnHopperPushingItem(cWorld & a_World, cHopperEntity & a_Hopper, int a_SrcSlotNum, cBlockEntityWithItems & a_DstEntity, int a_DstSlotNum) +bool cPluginLua::OnHopperPushingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_SrcSlotNum, + cBlockEntityWithItems & a_DstEntity, + int a_DstSlotNum +) { - return CallSimpleHooks(cPluginManager::HOOK_HOPPER_PUSHING_ITEM, &a_World, &a_Hopper, a_SrcSlotNum, &a_DstEntity, a_DstSlotNum); + return CallSimpleHooks( + cPluginManager::HOOK_HOPPER_PUSHING_ITEM, + &a_World, + &a_Hopper, + a_SrcSlotNum, + &a_DstEntity, + a_DstSlotNum + ); } @@ -543,7 +870,7 @@ bool cPluginLua::OnKilled(cEntity & a_Victim, TakeDamageInfo & a_TDI, AString & } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_KILLED]; - for (auto & hook: hooks) + for (auto & hook : hooks) { hook->Call(&a_Victim, &a_TDI, a_DeathMessage, cLuaState::Return, res, a_DeathMessage); if (res) @@ -594,18 +921,52 @@ bool cPluginLua::OnPlayerAnimation(cPlayer & a_Player, int a_Animation) -bool cPluginLua::OnPlayerBreakingBlock(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +bool cPluginLua::OnPlayerBreakingBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_BREAKING_BLOCK, &a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_BlockType, a_BlockMeta); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_BREAKING_BLOCK, + &a_Player, + a_BlockX, + a_BlockY, + a_BlockZ, + a_BlockFace, + a_BlockType, + a_BlockMeta + ); } -bool cPluginLua::OnPlayerBrokenBlock(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +bool cPluginLua::OnPlayerBrokenBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_BROKEN_BLOCK, &a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_BlockType, a_BlockMeta); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_BROKEN_BLOCK, + &a_Player, + a_BlockX, + a_BlockY, + a_BlockZ, + a_BlockFace, + a_BlockType, + a_BlockMeta + ); } @@ -667,18 +1028,44 @@ bool cPluginLua::OnPlayerJoined(cPlayer & a_Player) -bool cPluginLua::OnPlayerLeftClick(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, char a_Status) +bool cPluginLua::OnPlayerLeftClick( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + char a_Status +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_LEFT_CLICK, &a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_Status); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_LEFT_CLICK, + &a_Player, + a_BlockX, + a_BlockY, + a_BlockZ, + a_BlockFace, + a_Status + ); } -bool cPluginLua::OnPlayerMoving(cPlayer & a_Player, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition, bool a_PreviousIsOnGround) +bool cPluginLua::OnPlayerMoving( + cPlayer & a_Player, + const Vector3d & a_OldPosition, + const Vector3d & a_NewPosition, + bool a_PreviousIsOnGround +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_MOVING, &a_Player, a_OldPosition, a_NewPosition, a_PreviousIsOnGround); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_MOVING, + &a_Player, + a_OldPosition, + a_NewPosition, + a_PreviousIsOnGround + ); } @@ -705,10 +1092,14 @@ bool cPluginLua::OnPlayerOpeningWindow(cPlayer & a_Player, cWindow & a_Window) bool cPluginLua::OnPlayerPlacedBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_PLACED_BLOCK, + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_PLACED_BLOCK, &a_Player, - a_BlockChange.GetX(), a_BlockChange.GetY(), a_BlockChange.GetZ(), - a_BlockChange.m_BlockType, a_BlockChange.m_BlockMeta + a_BlockChange.GetX(), + a_BlockChange.GetY(), + a_BlockChange.GetZ(), + a_BlockChange.m_BlockType, + a_BlockChange.m_BlockMeta ); } @@ -718,10 +1109,14 @@ bool cPluginLua::OnPlayerPlacedBlock(cPlayer & a_Player, const sSetBlock & a_Blo bool cPluginLua::OnPlayerPlacingBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_PLACING_BLOCK, + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_PLACING_BLOCK, &a_Player, - a_BlockChange.GetX(), a_BlockChange.GetY(), a_BlockChange.GetZ(), - a_BlockChange.m_BlockType, a_BlockChange.m_BlockMeta + a_BlockChange.GetX(), + a_BlockChange.GetY(), + a_BlockChange.GetZ(), + a_BlockChange.m_BlockType, + a_BlockChange.m_BlockMeta ); } @@ -731,17 +1126,35 @@ bool cPluginLua::OnPlayerPlacingBlock(cPlayer & a_Player, const sSetBlock & a_Bl bool cPluginLua::OnPlayerCrouched(cPlayer & a_Player) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_CROUCHED, - &a_Player); + return CallSimpleHooks(cPluginManager::HOOK_PLAYER_CROUCHED, &a_Player); } -bool cPluginLua::OnPlayerRightClick(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) +bool cPluginLua::OnPlayerRightClick( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_RIGHT_CLICK, &a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_RIGHT_CLICK, + &a_Player, + a_BlockX, + a_BlockY, + a_BlockZ, + a_BlockFace, + a_CursorX, + a_CursorY, + a_CursorZ + ); } @@ -784,43 +1197,131 @@ bool cPluginLua::OnPlayerTossingItem(cPlayer & a_Player) -bool cPluginLua::OnPlayerUsedBlock(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +bool cPluginLua::OnPlayerUsedBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_USED_BLOCK, &a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, a_BlockType, a_BlockMeta); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_USED_BLOCK, + &a_Player, + a_BlockX, + a_BlockY, + a_BlockZ, + a_BlockFace, + a_CursorX, + a_CursorY, + a_CursorZ, + a_BlockType, + a_BlockMeta + ); } -bool cPluginLua::OnPlayerUsedItem(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) +bool cPluginLua::OnPlayerUsedItem( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_USED_ITEM, &a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_USED_ITEM, + &a_Player, + a_BlockX, + a_BlockY, + a_BlockZ, + a_BlockFace, + a_CursorX, + a_CursorY, + a_CursorZ + ); } -bool cPluginLua::OnPlayerUsingBlock(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +bool cPluginLua::OnPlayerUsingBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_USING_BLOCK, &a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, a_BlockType, a_BlockMeta); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_USING_BLOCK, + &a_Player, + a_BlockX, + a_BlockY, + a_BlockZ, + a_BlockFace, + a_CursorX, + a_CursorY, + a_CursorZ, + a_BlockType, + a_BlockMeta + ); } -bool cPluginLua::OnPlayerUsingItem(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) +bool cPluginLua::OnPlayerUsingItem( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ +) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_USING_ITEM, &a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ); + return CallSimpleHooks( + cPluginManager::HOOK_PLAYER_USING_ITEM, + &a_Player, + a_BlockX, + a_BlockY, + a_BlockZ, + a_BlockFace, + a_CursorX, + a_CursorY, + a_CursorZ + ); } -bool cPluginLua::OnPluginMessage(cClientHandle & a_Client, const AString & a_Channel, const ContiguousByteBufferView a_Message) +bool cPluginLua::OnPluginMessage( + cClientHandle & a_Client, + const AString & a_Channel, + const ContiguousByteBufferView a_Message +) { return CallSimpleHooks(cPluginManager::HOOK_PLUGIN_MESSAGE, &a_Client, a_Channel, a_Message); } @@ -838,7 +1339,7 @@ bool cPluginLua::OnPluginsLoaded(void) } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_PLUGINS_LOADED]; - for (auto & hook: hooks) + for (auto & hook : hooks) { bool ret = false; hook->Call(cLuaState::Return, ret); @@ -869,9 +1370,24 @@ bool cPluginLua::OnPreCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraf -bool cPluginLua::OnProjectileHitBlock(cProjectileEntity & a_Projectile, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_Face, const Vector3d & a_BlockHitPos) +bool cPluginLua::OnProjectileHitBlock( + cProjectileEntity & a_Projectile, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_Face, + const Vector3d & a_BlockHitPos +) { - return CallSimpleHooks(cPluginManager::HOOK_PROJECTILE_HIT_BLOCK, &a_Projectile, a_BlockX, a_BlockY, a_BlockZ, a_Face, a_BlockHitPos); + return CallSimpleHooks( + cPluginManager::HOOK_PROJECTILE_HIT_BLOCK, + &a_Projectile, + a_BlockX, + a_BlockY, + a_BlockZ, + a_Face, + a_BlockHitPos + ); } @@ -887,7 +1403,13 @@ bool cPluginLua::OnProjectileHitEntity(cProjectileEntity & a_Projectile, cEntity -bool cPluginLua::OnServerPing(cClientHandle & a_ClientHandle, AString & a_ServerDescription, int & a_OnlinePlayersCount, int & a_MaxPlayersCount, AString & a_Favicon) +bool cPluginLua::OnServerPing( + cClientHandle & a_ClientHandle, + AString & a_ServerDescription, + int & a_OnlinePlayersCount, + int & a_MaxPlayersCount, + AString & a_Favicon +) { cOperation op(*this); if (!op().IsValid()) @@ -896,9 +1418,21 @@ bool cPluginLua::OnServerPing(cClientHandle & a_ClientHandle, AString & a_Server } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_SERVER_PING]; - for (auto & hook: hooks) + for (auto & hook : hooks) { - hook->Call(&a_ClientHandle, a_ServerDescription, a_OnlinePlayersCount, a_MaxPlayersCount, a_Favicon, cLuaState::Return, res, a_ServerDescription, a_OnlinePlayersCount, a_MaxPlayersCount, a_Favicon); + hook->Call( + &a_ClientHandle, + a_ServerDescription, + a_OnlinePlayersCount, + a_MaxPlayersCount, + a_Favicon, + cLuaState::Return, + res, + a_ServerDescription, + a_OnlinePlayersCount, + a_MaxPlayersCount, + a_Favicon + ); if (res) { return true; @@ -958,12 +1492,28 @@ bool cPluginLua::OnTakeDamage(cEntity & a_Receiver, TakeDamageInfo & a_TDI) bool cPluginLua::OnUpdatedSign( cWorld & a_World, - int a_BlockX, int a_BlockY, int a_BlockZ, - const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4, cPlayer * a_Player ) { - return CallSimpleHooks(cPluginManager::HOOK_UPDATED_SIGN, &a_World, a_BlockX, a_BlockY, a_BlockZ, a_Line1, a_Line2, a_Line3, a_Line4, a_Player); + return CallSimpleHooks( + cPluginManager::HOOK_UPDATED_SIGN, + &a_World, + a_BlockX, + a_BlockY, + a_BlockZ, + a_Line1, + a_Line2, + a_Line3, + a_Line4, + a_Player + ); } @@ -972,8 +1522,13 @@ bool cPluginLua::OnUpdatedSign( bool cPluginLua::OnUpdatingSign( cWorld & a_World, - int a_BlockX, int a_BlockY, int a_BlockZ, - AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + AString & a_Line1, + AString & a_Line2, + AString & a_Line3, + AString & a_Line4, cPlayer * a_Player ) { @@ -984,9 +1539,25 @@ bool cPluginLua::OnUpdatingSign( } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_UPDATING_SIGN]; - for (auto & hook: hooks) + for (auto & hook : hooks) { - hook->Call(&a_World, a_BlockX, a_BlockY, a_BlockZ, a_Line1, a_Line2, a_Line3, a_Line4, a_Player, cLuaState::Return, res, a_Line1, a_Line2, a_Line3, a_Line4); + hook->Call( + &a_World, + a_BlockX, + a_BlockY, + a_BlockZ, + a_Line1, + a_Line2, + a_Line3, + a_Line4, + a_Player, + cLuaState::Return, + res, + a_Line1, + a_Line2, + a_Line3, + a_Line4 + ); if (res) { return true; @@ -1017,7 +1588,7 @@ bool cPluginLua::OnWeatherChanging(cWorld & a_World, eWeather & a_NewWeather) } bool res = false; auto & hooks = m_HookMap[cPluginManager::HOOK_WEATHER_CHANGING]; - for (auto & hook: hooks) + for (auto & hook : hooks) { hook->Call(&a_World, a_NewWeather, cLuaState::Return, res, a_NewWeather); if (res) @@ -1041,7 +1612,11 @@ bool cPluginLua::OnWorldStarted(cWorld & a_World) -bool cPluginLua::OnWorldTick(cWorld & a_World, std::chrono::milliseconds a_Dt, std::chrono::milliseconds a_LastTickDurationMSec) +bool cPluginLua::OnWorldTick( + cWorld & a_World, + std::chrono::milliseconds a_Dt, + std::chrono::milliseconds a_LastTickDurationMSec +) { return CallSimpleHooks(cPluginManager::HOOK_WORLD_TICK, &a_World, a_Dt, a_LastTickDurationMSec); } @@ -1056,8 +1631,10 @@ bool cPluginLua::CanAddOldStyleHook(int a_HookType) if (FnName == nullptr) { // Unknown hook ID - LOGWARNING("Plugin %s wants to add an unknown hook ID (%d). The plugin need not work properly.", - GetName().c_str(), a_HookType + LOGWARNING( + "Plugin %s wants to add an unknown hook ID (%d). The plugin need not work properly.", + GetName().c_str(), + a_HookType ); m_LuaState.LogStackTrace(); return false; @@ -1069,8 +1646,12 @@ bool cPluginLua::CanAddOldStyleHook(int a_HookType) return true; } - LOGWARNING("Plugin %s wants to add a hook (%d), but it doesn't provide the callback function \"%s\" for it. The plugin need not work properly.", - GetName().c_str(), a_HookType, FnName + LOGWARNING( + "Plugin %s wants to add a hook (%d), but it doesn't provide the callback function \"%s\" for it. The plugin " + "need not work properly.", + GetName().c_str(), + a_HookType, + FnName ); m_LuaState.LogStackTrace(); return false; @@ -1114,7 +1695,7 @@ const char * cPluginLua::GetHookFnName(int a_HookType) case cPluginManager::HOOK_PLAYER_OPENING_WINDOW: return "OnPlayerOpeningWindow"; case cPluginManager::HOOK_PLAYER_PLACED_BLOCK: return "OnPlayerPlacedBlock"; case cPluginManager::HOOK_PLAYER_PLACING_BLOCK: return "OnPlayerPlacingBlock"; - case cPluginManager::HOOK_PLAYER_CROUCHED: return "OnPlayerCrouched"; + case cPluginManager::HOOK_PLAYER_CROUCHED: return "OnPlayerCrouched"; case cPluginManager::HOOK_PLAYER_RIGHT_CLICK: return "OnPlayerRightClick"; case cPluginManager::HOOK_PLAYER_RIGHT_CLICKING_ENTITY: return "OnPlayerRightClickingEntity"; case cPluginManager::HOOK_PLAYER_SHOOTING: return "OnPlayerShooting"; @@ -1180,7 +1761,8 @@ int cPluginLua::CallFunctionFromForeignState( int NumReturns = op().CallFunctionWithForeignParams(a_FunctionName, a_ForeignState, a_ParamStart, a_ParamEnd); if (NumReturns < 0) { - // The call has failed, an error has already been output to the log, so just silently bail out with the same error + // The call has failed, an error has already been output to the log, so just silently bail out with the same + // error return NumReturns; } @@ -1209,7 +1791,3 @@ void cPluginLua::ClearWebTabs(void) webAdmin->RemoveAllPluginWebTabs(m_Name); } } - - - - diff --git a/src/Bindings/PluginLua.h b/src/Bindings/PluginLua.h index 57e373ef2..b44a888b5 100644 --- a/src/Bindings/PluginLua.h +++ b/src/Bindings/PluginLua.h @@ -19,15 +19,13 @@ // tolua_begin -class cPluginLua: - public cPlugin +class cPluginLua : public cPlugin { // tolua_end using Super = cPlugin; -public: - + public: /** A RAII-style mutex lock for accessing the internal LuaState. This will be the only way to retrieve the plugin's LuaState; therefore it directly supports accessing the LuaState of the locked plugin. @@ -37,21 +35,20 @@ public: */ class cOperation { - public: + public: cOperation(cPluginLua & a_Plugin) : - m_Plugin(a_Plugin), - m_Lock(a_Plugin.m_LuaState) + m_Plugin(a_Plugin), m_Lock(a_Plugin.m_LuaState) { } - cLuaState & operator ()(void) { return m_Plugin.m_LuaState; } + cLuaState & operator()(void) { return m_Plugin.m_LuaState; } - protected: + protected: cPluginLua & m_Plugin; /** RAII lock for the Lua state. */ cLuaState::cLock m_Lock; - } ; + }; @@ -64,78 +61,249 @@ public: virtual void Tick(float a_Dt) override; - virtual bool OnBlockSpread (cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, eSpreadSource a_Source) override; - virtual bool OnBlockToPickups (cWorld & a_World, Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, const cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool, cItems & a_Pickups) override; - virtual bool OnBrewingCompleting (cWorld & a_World, cBrewingstandEntity & a_BrewingstandEntity) override; - virtual bool OnBrewingCompleted (cWorld & a_World, cBrewingstandEntity & a_BrewingstandEntity) override; - virtual bool OnChat (cPlayer & a_Player, AString & a_Message) override; - virtual bool OnChunkAvailable (cWorld & a_World, int a_ChunkX, int a_ChunkZ) override; - virtual bool OnChunkGenerated (cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) override; - virtual bool OnChunkGenerating (cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) override; - virtual bool OnChunkUnloaded (cWorld & a_World, int a_ChunkX, int a_ChunkZ) override; - virtual bool OnChunkUnloading (cWorld & a_World, int a_ChunkX, int a_ChunkZ) override; - virtual bool OnCollectingPickup (cPlayer & a_Player, cPickup & a_Pickup) override; - virtual bool OnCraftingNoRecipe (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) override; - virtual bool OnDisconnect (cClientHandle & a_Client, const AString & a_Reason) override; - virtual bool OnEntityAddEffect (cEntity & a_Entity, int a_EffectType, int a_EffectDurationTicks, int a_EffectIntensity, double a_DistanceModifier) override; - virtual bool OnEntityChangingWorld (cEntity & a_Entity, cWorld & a_World) override; - virtual bool OnEntityChangedWorld (cEntity & a_Entity, cWorld & a_World) override; - virtual bool OnExecuteCommand (cPlayer * a_Player, const AStringVector & a_Split, const AString & a_EntireCommand, cPluginManager::CommandResult & a_Result) override; - virtual bool OnExploded (cWorld & a_World, double a_ExplosionSize, bool a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData) override; - virtual bool OnExploding (cWorld & a_World, double & a_ExplosionSize, bool & a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData) override; - virtual bool OnHandshake (cClientHandle & a_Client, const AString & a_Username) override; - virtual bool OnHopperPullingItem (cWorld & a_World, cHopperEntity & a_Hopper, int a_DstSlotNum, cBlockEntityWithItems & a_SrcEntity, int a_SrcSlotNum) override; - virtual bool OnHopperPushingItem (cWorld & a_World, cHopperEntity & a_Hopper, int a_SrcSlotNum, cBlockEntityWithItems & a_DstEntity, int a_DstSlotNum) override; - virtual bool OnDropSpense (cWorld & a_World, cDropSpenserEntity & a_DropSpenser, int a_SlotNum) override; - virtual bool OnKilled (cEntity & a_Victim, TakeDamageInfo & a_TDI, AString & a_DeathMessage) override; - virtual bool OnKilling (cEntity & a_Victim, cEntity * a_Killer, TakeDamageInfo & a_TDI) override; - virtual bool OnLogin (cClientHandle & a_Client, UInt32 a_ProtocolVersion, const AString & a_Username) override; - virtual bool OnLoginForge (cClientHandle & a_Client, const AStringMap & a_Mods) override; - virtual bool OnPlayerAnimation (cPlayer & a_Player, int a_Animation) override; - virtual bool OnPlayerBreakingBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; - virtual bool OnPlayerBrokenBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; - virtual bool OnPlayerDestroyed (cPlayer & a_Player) override; - virtual bool OnPlayerEating (cPlayer & a_Player) override; - virtual bool OnPlayerFished (cPlayer & a_Player, const cItems & a_Reward, const int ExperienceAmount) override; - virtual bool OnPlayerFishing (cPlayer & a_Player, cItems & a_Reward, int & ExperienceAmount) override; - virtual bool OnPlayerFoodLevelChange (cPlayer & a_Player, int a_NewFoodLevel) override; - virtual bool OnPlayerJoined (cPlayer & a_Player) override; - virtual bool OnPlayerLeftClick (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, char a_Status) override; - virtual bool OnPlayerMoving (cPlayer & a_Player, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition, bool a_PreviousIsOnGround) override; - virtual bool OnPlayerOpeningWindow (cPlayer & a_Player, cWindow & a_Window) override; - virtual bool OnPlayerPlacedBlock (cPlayer & a_Player, const sSetBlock & a_BlockChange) override; - virtual bool OnPlayerPlacingBlock (cPlayer & a_Player, const sSetBlock & a_BlockChange) override; - virtual bool OnPlayerCrouched (cPlayer & a_Player) override; - virtual bool OnPlayerRightClick (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override; + virtual bool OnBlockSpread(cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, eSpreadSource a_Source) + override; + virtual bool OnBlockToPickups( + cWorld & a_World, + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + const cBlockEntity * a_BlockEntity, + const cEntity * a_Digger, + const cItem * a_Tool, + cItems & a_Pickups + ) override; + virtual bool OnBrewingCompleting(cWorld & a_World, cBrewingstandEntity & a_BrewingstandEntity) override; + virtual bool OnBrewingCompleted(cWorld & a_World, cBrewingstandEntity & a_BrewingstandEntity) override; + virtual bool OnChat(cPlayer & a_Player, AString & a_Message) override; + virtual bool OnChunkAvailable(cWorld & a_World, int a_ChunkX, int a_ChunkZ) override; + virtual bool OnChunkGenerated(cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) override; + virtual bool OnChunkGenerating(cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) override; + virtual bool OnChunkUnloaded(cWorld & a_World, int a_ChunkX, int a_ChunkZ) override; + virtual bool OnChunkUnloading(cWorld & a_World, int a_ChunkX, int a_ChunkZ) override; + virtual bool OnCollectingPickup(cPlayer & a_Player, cPickup & a_Pickup) override; + virtual bool OnCraftingNoRecipe(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) override; + virtual bool OnDisconnect(cClientHandle & a_Client, const AString & a_Reason) override; + virtual bool OnEntityAddEffect( + cEntity & a_Entity, + int a_EffectType, + int a_EffectDurationTicks, + int a_EffectIntensity, + double a_DistanceModifier + ) override; + virtual bool OnEntityChangingWorld(cEntity & a_Entity, cWorld & a_World) override; + virtual bool OnEntityChangedWorld(cEntity & a_Entity, cWorld & a_World) override; + virtual bool OnExecuteCommand( + cPlayer * a_Player, + const AStringVector & a_Split, + const AString & a_EntireCommand, + cPluginManager::CommandResult & a_Result + ) override; + virtual bool OnExploded( + cWorld & a_World, + double a_ExplosionSize, + bool a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData + ) override; + virtual bool OnExploding( + cWorld & a_World, + double & a_ExplosionSize, + bool & a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData + ) override; + virtual bool OnHandshake(cClientHandle & a_Client, const AString & a_Username) override; + virtual bool OnHopperPullingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_DstSlotNum, + cBlockEntityWithItems & a_SrcEntity, + int a_SrcSlotNum + ) override; + virtual bool OnHopperPushingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_SrcSlotNum, + cBlockEntityWithItems & a_DstEntity, + int a_DstSlotNum + ) override; + virtual bool OnDropSpense(cWorld & a_World, cDropSpenserEntity & a_DropSpenser, int a_SlotNum) override; + virtual bool OnKilled(cEntity & a_Victim, TakeDamageInfo & a_TDI, AString & a_DeathMessage) override; + virtual bool OnKilling(cEntity & a_Victim, cEntity * a_Killer, TakeDamageInfo & a_TDI) override; + virtual bool OnLogin(cClientHandle & a_Client, UInt32 a_ProtocolVersion, const AString & a_Username) override; + virtual bool OnLoginForge(cClientHandle & a_Client, const AStringMap & a_Mods) override; + virtual bool OnPlayerAnimation(cPlayer & a_Player, int a_Animation) override; + virtual bool OnPlayerBreakingBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) override; + virtual bool OnPlayerBrokenBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) override; + virtual bool OnPlayerDestroyed(cPlayer & a_Player) override; + virtual bool OnPlayerEating(cPlayer & a_Player) override; + virtual bool OnPlayerFished(cPlayer & a_Player, const cItems & a_Reward, const int ExperienceAmount) override; + virtual bool OnPlayerFishing(cPlayer & a_Player, cItems & a_Reward, int & ExperienceAmount) override; + virtual bool OnPlayerFoodLevelChange(cPlayer & a_Player, int a_NewFoodLevel) override; + virtual bool OnPlayerJoined(cPlayer & a_Player) override; + virtual bool OnPlayerLeftClick( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + char a_Status + ) override; + virtual bool OnPlayerMoving( + cPlayer & a_Player, + const Vector3d & a_OldPosition, + const Vector3d & a_NewPosition, + bool a_PreviousIsOnGround + ) override; + virtual bool OnPlayerOpeningWindow(cPlayer & a_Player, cWindow & a_Window) override; + virtual bool OnPlayerPlacedBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange) override; + virtual bool OnPlayerPlacingBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange) override; + virtual bool OnPlayerCrouched(cPlayer & a_Player) override; + virtual bool OnPlayerRightClick( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ + ) override; virtual bool OnPlayerRightClickingEntity(cPlayer & a_Player, cEntity & a_Entity) override; - virtual bool OnPlayerShooting (cPlayer & a_Player) override; - virtual bool OnPlayerSpawned (cPlayer & a_Player) override; - virtual bool OnEntityTeleport (cEntity & a_Entity, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition) override; - virtual bool OnPlayerTossingItem (cPlayer & a_Player) override; - virtual bool OnPlayerUsedBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; - virtual bool OnPlayerUsedItem (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override; - virtual bool OnPlayerUsingBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; - virtual bool OnPlayerUsingItem (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override; - virtual bool OnPluginMessage (cClientHandle & a_Client, const AString & a_Channel, ContiguousByteBufferView a_Message) override; - virtual bool OnPluginsLoaded (void) override; - virtual bool OnPostCrafting (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) override; - virtual bool OnPreCrafting (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) override; - virtual bool OnProjectileHitBlock (cProjectileEntity & a_Projectile, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_Face, const Vector3d & a_BlockHitPos) override; - virtual bool OnProjectileHitEntity (cProjectileEntity & a_Projectile, cEntity & a_HitEntity) override; - virtual bool OnServerPing (cClientHandle & a_ClientHandle, AString & a_ServerDescription, int & a_OnlinePlayersCount, int & a_MaxPlayersCount, AString & a_Favicon) override; - virtual bool OnSpawnedEntity (cWorld & a_World, cEntity & a_Entity) override; - virtual bool OnSpawnedMonster (cWorld & a_World, cMonster & a_Monster) override; - virtual bool OnSpawningEntity (cWorld & a_World, cEntity & a_Entity) override; - virtual bool OnSpawningMonster (cWorld & a_World, cMonster & a_Monster) override; - virtual bool OnTakeDamage (cEntity & a_Receiver, TakeDamageInfo & a_TakeDamageInfo) override; - virtual bool OnUpdatedSign (cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, cPlayer * a_Player) override; - virtual bool OnUpdatingSign (cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4, cPlayer * a_Player) override; - virtual bool OnWeatherChanged (cWorld & a_World) override; - virtual bool OnWeatherChanging (cWorld & a_World, eWeather & a_NewWeather) override; - virtual bool OnWorldStarted (cWorld & a_World) override; - virtual bool OnWorldTick (cWorld & a_World, std::chrono::milliseconds a_Dt, std::chrono::milliseconds a_LastTickDurationMSec) override; - - /** Returns true if the plugin contains the function for the specified hook type, using the old-style registration (#121) */ + virtual bool OnPlayerShooting(cPlayer & a_Player) override; + virtual bool OnPlayerSpawned(cPlayer & a_Player) override; + virtual bool OnEntityTeleport(cEntity & a_Entity, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition) + override; + virtual bool OnPlayerTossingItem(cPlayer & a_Player) override; + virtual bool OnPlayerUsedBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) override; + virtual bool OnPlayerUsedItem( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ + ) override; + virtual bool OnPlayerUsingBlock( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) override; + virtual bool OnPlayerUsingItem( + cPlayer & a_Player, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_BlockFace, + int a_CursorX, + int a_CursorY, + int a_CursorZ + ) override; + virtual bool OnPluginMessage( + cClientHandle & a_Client, + const AString & a_Channel, + ContiguousByteBufferView a_Message + ) override; + virtual bool OnPluginsLoaded(void) override; + virtual bool OnPostCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) override; + virtual bool OnPreCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) override; + virtual bool OnProjectileHitBlock( + cProjectileEntity & a_Projectile, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + eBlockFace a_Face, + const Vector3d & a_BlockHitPos + ) override; + virtual bool OnProjectileHitEntity(cProjectileEntity & a_Projectile, cEntity & a_HitEntity) override; + virtual bool OnServerPing( + cClientHandle & a_ClientHandle, + AString & a_ServerDescription, + int & a_OnlinePlayersCount, + int & a_MaxPlayersCount, + AString & a_Favicon + ) override; + virtual bool OnSpawnedEntity(cWorld & a_World, cEntity & a_Entity) override; + virtual bool OnSpawnedMonster(cWorld & a_World, cMonster & a_Monster) override; + virtual bool OnSpawningEntity(cWorld & a_World, cEntity & a_Entity) override; + virtual bool OnSpawningMonster(cWorld & a_World, cMonster & a_Monster) override; + virtual bool OnTakeDamage(cEntity & a_Receiver, TakeDamageInfo & a_TakeDamageInfo) override; + virtual bool OnUpdatedSign( + cWorld & a_World, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4, + cPlayer * a_Player + ) override; + virtual bool OnUpdatingSign( + cWorld & a_World, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + AString & a_Line1, + AString & a_Line2, + AString & a_Line3, + AString & a_Line4, + cPlayer * a_Player + ) override; + virtual bool OnWeatherChanged(cWorld & a_World) override; + virtual bool OnWeatherChanging(cWorld & a_World, eWeather & a_NewWeather) override; + virtual bool OnWorldStarted(cWorld & a_World) override; + virtual bool OnWorldTick( + cWorld & a_World, + std::chrono::milliseconds a_Dt, + std::chrono::milliseconds a_LastTickDurationMSec + ) override; + + /** Returns true if the plugin contains the function for the specified hook type, using the old-style registration + * (#121) */ bool CanAddOldStyleHook(int a_HookType); /** Returns the name of Lua function that should handle the specified hook type in the older (#121) API */ @@ -156,13 +324,12 @@ public: ); /** Call a Lua function residing in the plugin. */ - template - bool Call(FnT a_Fn, Args && ... a_Args) + template bool Call(FnT a_Fn, Args &&... a_Args) { return cOperation(*this)().Call(a_Fn, a_Args...); } -protected: + protected: /** Provides an array of Lua function references */ typedef std::vector cLuaCallbacks; @@ -188,14 +355,14 @@ protected: /** Calls a hook that has the simple format - single bool return value specifying whether the chain should continue. The advanced hook types that need more processing implement a similar loop manually instead. - Returns true if any of hook calls wants to abort the hook (returned true), false if all hook calls returned false. */ - template - bool CallSimpleHooks(int a_HookType, Args && ... a_Args) + Returns true if any of hook calls wants to abort the hook (returned true), false if all hook calls returned false. + */ + template bool CallSimpleHooks(int a_HookType, Args &&... a_Args) { cOperation op(*this); auto & hooks = m_HookMap[a_HookType]; bool res = false; - for (auto & hook: hooks) + for (auto & hook : hooks) { hook->Call(std::forward(a_Args)..., cLuaState::Return, res); if (res) diff --git a/src/Bindings/PluginManager.cpp b/src/Bindings/PluginManager.cpp index 4f48a07ea..67fec79cc 100644 --- a/src/Bindings/PluginManager.cpp +++ b/src/Bindings/PluginManager.cpp @@ -26,8 +26,7 @@ cPluginManager * cPluginManager::Get(void) cPluginManager::cPluginManager(cDeadlockDetect & a_DeadlockDetect) : - m_bReloadPlugins(false), - m_DeadlockDetect(a_DeadlockDetect) + m_bReloadPlugins(false), m_DeadlockDetect(a_DeadlockDetect) { } @@ -59,7 +58,7 @@ void cPluginManager::RefreshPluginList(void) AString PluginsPath = GetPluginsPath() + "/"; AStringVector Contents = cFile::GetFolderContents(PluginsPath); AStringVector Folders; - for (auto & item: Contents) + for (auto & item : Contents) { if (!cFile::IsFolder(PluginsPath + item)) { @@ -70,7 +69,7 @@ void cPluginManager::RefreshPluginList(void) } // for item - Contents[] // Set all plugins with invalid folders as psNotFound: - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (std::find(Folders.cbegin(), Folders.cend(), plugin->GetFolderName()) == Folders.end()) { @@ -79,10 +78,10 @@ void cPluginManager::RefreshPluginList(void) } // for plugin - m_Plugins[] // Add all newly discovered plugins: - for (auto & folder: Folders) + for (auto & folder : Folders) { bool hasFound = false; - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (plugin->GetFolderName() == folder) { @@ -125,7 +124,7 @@ void cPluginManager::ReloadPluginsNow(cSettingsRepositoryInterface & a_Settings) // Load the plugins: AStringVector ToLoad = GetFoldersToLoad(a_Settings); - for (auto & pluginFolder: ToLoad) + for (auto & pluginFolder : ToLoad) { LoadPlugin(pluginFolder); } // for pluginFolder - ToLoad[] @@ -179,7 +178,7 @@ void cPluginManager::Tick(float a_Dt) bool WasLoaded = false; bool WasFound = false; - for (auto & Plugin: m_Plugins) + for (auto & Plugin : m_Plugins) { if (Plugin->GetFolderName() == Folder) { @@ -188,14 +187,14 @@ void cPluginManager::Tick(float a_Dt) { switch (Action) { - case PluginAction::Reload : + case PluginAction::Reload: { // Reload plugins by unloading, then loading: Plugin->Unload(); Plugin->Load(); break; } - case PluginAction::Unload : + case PluginAction::Unload: { // Unload plugins that have been scheduled for unloading: Plugin->Unload(); @@ -256,10 +255,10 @@ bool cPluginManager::GenericCallHook(PluginHook a_HookName, HookFunction a_HookF bool cPluginManager::CallHookBlockSpread(cWorld & a_World, Vector3i a_BlockPos, eSpreadSource a_Source) { - return GenericCallHook(HOOK_BLOCK_SPREAD, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnBlockSpread(a_World, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_Source); - } + return GenericCallHook( + HOOK_BLOCK_SPREAD, + [&](cPlugin * a_Plugin) + { return a_Plugin->OnBlockSpread(a_World, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_Source); } ); } @@ -270,16 +269,28 @@ bool cPluginManager::CallHookBlockSpread(cWorld & a_World, Vector3i a_BlockPos, bool cPluginManager::CallHookBlockToPickups( cWorld & a_World, Vector3i a_BlockPos, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, const cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool, cItems & a_Pickups ) { - return GenericCallHook(HOOK_BLOCK_TO_PICKUPS, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_BLOCK_TO_PICKUPS, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnBlockToPickups(a_World, a_BlockPos, a_BlockType, a_BlockMeta, a_BlockEntity, a_Digger, a_Tool, a_Pickups); + return a_Plugin->OnBlockToPickups( + a_World, + a_BlockPos, + a_BlockType, + a_BlockMeta, + a_BlockEntity, + a_Digger, + a_Tool, + a_Pickups + ); } ); } @@ -290,10 +301,9 @@ bool cPluginManager::CallHookBlockToPickups( bool cPluginManager::CallHookBrewingCompleted(cWorld & a_World, cBrewingstandEntity & a_Brewingstand) { - return GenericCallHook(HOOK_BREWING_COMPLETED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnBrewingCompleted(a_World, a_Brewingstand); - } + return GenericCallHook( + HOOK_BREWING_COMPLETED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnBrewingCompleted(a_World, a_Brewingstand); } ); } @@ -303,10 +313,9 @@ bool cPluginManager::CallHookBrewingCompleted(cWorld & a_World, cBrewingstandEnt bool cPluginManager::CallHookBrewingCompleting(cWorld & a_World, cBrewingstandEntity & a_Brewingstand) { - return GenericCallHook(HOOK_BREWING_COMPLETING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnBrewingCompleting(a_World, a_Brewingstand); - } + return GenericCallHook( + HOOK_BREWING_COMPLETING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnBrewingCompleting(a_World, a_Brewingstand); } ); } @@ -335,14 +344,18 @@ bool cPluginManager::CallHookChat(cPlayer & a_Player, AString & a_Message) case crError: { // An error in the plugin has prevented the command from executing. Report the error to the player: - a_Player.SendMessageFailure(fmt::format(FMT_STRING("Something went wrong while executing command \"{}\""), a_Message)); + a_Player.SendMessageFailure( + fmt::format(FMT_STRING("Something went wrong while executing command \"{}\""), a_Message) + ); return true; } case crNoPermission: { // The player is not allowed to execute this command - a_Player.SendMessageFailure(fmt::format(FMT_STRING("Forbidden command; insufficient privileges: \"{}\""), a_Message)); + a_Player.SendMessageFailure( + fmt::format(FMT_STRING("Forbidden command; insufficient privileges: \"{}\""), a_Message) + ); return true; } @@ -357,17 +370,14 @@ bool cPluginManager::CallHookChat(cPlayer & a_Player, AString & a_Message) if (!a_Message.empty() && (a_Message[0] == '/')) { AStringVector Split(StringSplit(a_Message, " ")); - ASSERT(!Split.empty()); // This should not happen - we know there's at least one char in the message so the split needs to be at least one item long + ASSERT(!Split.empty()); // This should not happen - we know there's at least one char in the message so the + // split needs to be at least one item long a_Player.SendMessageInfo(fmt::format(FMT_STRING("Unknown command: \"{}\""), a_Message)); LOGINFO("Player %s issued an unknown command: \"%s\"", a_Player.GetName(), a_Message); return true; // Cancel sending } - return GenericCallHook(HOOK_CHAT, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnChat(a_Player, a_Message); - } - ); + return GenericCallHook(HOOK_CHAT, [&](cPlugin * a_Plugin) { return a_Plugin->OnChat(a_Player, a_Message); }); } @@ -376,10 +386,9 @@ bool cPluginManager::CallHookChat(cPlayer & a_Player, AString & a_Message) bool cPluginManager::CallHookChunkAvailable(cWorld & a_World, int a_ChunkX, int a_ChunkZ) { - return GenericCallHook(HOOK_CHUNK_AVAILABLE, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnChunkAvailable(a_World, a_ChunkX, a_ChunkZ); - } + return GenericCallHook( + HOOK_CHUNK_AVAILABLE, + [&](cPlugin * a_Plugin) { return a_Plugin->OnChunkAvailable(a_World, a_ChunkX, a_ChunkZ); } ); } @@ -389,10 +398,9 @@ bool cPluginManager::CallHookChunkAvailable(cWorld & a_World, int a_ChunkX, int bool cPluginManager::CallHookChunkGenerated(cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) { - return GenericCallHook(HOOK_CHUNK_GENERATED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnChunkGenerated(a_World, a_ChunkX, a_ChunkZ, a_ChunkDesc); - } + return GenericCallHook( + HOOK_CHUNK_GENERATED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnChunkGenerated(a_World, a_ChunkX, a_ChunkZ, a_ChunkDesc); } ); } @@ -402,10 +410,9 @@ bool cPluginManager::CallHookChunkGenerated(cWorld & a_World, int a_ChunkX, int bool cPluginManager::CallHookChunkGenerating(cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc) { - return GenericCallHook(HOOK_CHUNK_GENERATING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnChunkGenerating(a_World, a_ChunkX, a_ChunkZ, a_ChunkDesc); - } + return GenericCallHook( + HOOK_CHUNK_GENERATING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnChunkGenerating(a_World, a_ChunkX, a_ChunkZ, a_ChunkDesc); } ); } @@ -415,10 +422,9 @@ bool cPluginManager::CallHookChunkGenerating(cWorld & a_World, int a_ChunkX, int bool cPluginManager::CallHookChunkUnloaded(cWorld & a_World, int a_ChunkX, int a_ChunkZ) { - return GenericCallHook(HOOK_CHUNK_UNLOADED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnChunkUnloaded(a_World, a_ChunkX, a_ChunkZ); - } + return GenericCallHook( + HOOK_CHUNK_UNLOADED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnChunkUnloaded(a_World, a_ChunkX, a_ChunkZ); } ); } @@ -428,10 +434,9 @@ bool cPluginManager::CallHookChunkUnloaded(cWorld & a_World, int a_ChunkX, int a bool cPluginManager::CallHookChunkUnloading(cWorld & a_World, int a_ChunkX, int a_ChunkZ) { - return GenericCallHook(HOOK_CHUNK_UNLOADING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnChunkUnloading(a_World, a_ChunkX, a_ChunkZ); - } + return GenericCallHook( + HOOK_CHUNK_UNLOADING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnChunkUnloading(a_World, a_ChunkX, a_ChunkZ); } ); } @@ -441,10 +446,9 @@ bool cPluginManager::CallHookChunkUnloading(cWorld & a_World, int a_ChunkX, int bool cPluginManager::CallHookCollectingPickup(cPlayer & a_Player, cPickup & a_Pickup) { - return GenericCallHook(HOOK_COLLECTING_PICKUP, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnCollectingPickup(a_Player, a_Pickup); - } + return GenericCallHook( + HOOK_COLLECTING_PICKUP, + [&](cPlugin * a_Plugin) { return a_Plugin->OnCollectingPickup(a_Player, a_Pickup); } ); } @@ -454,10 +458,9 @@ bool cPluginManager::CallHookCollectingPickup(cPlayer & a_Player, cPickup & a_Pi bool cPluginManager::CallHookCraftingNoRecipe(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) { - return GenericCallHook(HOOK_CRAFTING_NO_RECIPE, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnCraftingNoRecipe(a_Player, a_Grid, a_Recipe); - } + return GenericCallHook( + HOOK_CRAFTING_NO_RECIPE, + [&](cPlugin * a_Plugin) { return a_Plugin->OnCraftingNoRecipe(a_Player, a_Grid, a_Recipe); } ); } @@ -467,10 +470,9 @@ bool cPluginManager::CallHookCraftingNoRecipe(cPlayer & a_Player, cCraftingGrid bool cPluginManager::CallHookDisconnect(cClientHandle & a_Client, const AString & a_Reason) { - return GenericCallHook(HOOK_DISCONNECT, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnDisconnect(a_Client, a_Reason); - } + return GenericCallHook( + HOOK_DISCONNECT, + [&](cPlugin * a_Plugin) { return a_Plugin->OnDisconnect(a_Client, a_Reason); } ); } @@ -478,11 +480,25 @@ bool cPluginManager::CallHookDisconnect(cClientHandle & a_Client, const AString -bool cPluginManager::CallHookEntityAddEffect(cEntity & a_Entity, int a_EffectType, int a_EffectDurationTicks, int a_EffectIntensity, double a_DistanceModifier) +bool cPluginManager::CallHookEntityAddEffect( + cEntity & a_Entity, + int a_EffectType, + int a_EffectDurationTicks, + int a_EffectIntensity, + double a_DistanceModifier +) { - return GenericCallHook(HOOK_ENTITY_ADD_EFFECT, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_ENTITY_ADD_EFFECT, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnEntityAddEffect(a_Entity, a_EffectType, a_EffectDurationTicks, a_EffectIntensity, a_DistanceModifier); + return a_Plugin->OnEntityAddEffect( + a_Entity, + a_EffectType, + a_EffectDurationTicks, + a_EffectIntensity, + a_DistanceModifier + ); } ); } @@ -491,12 +507,15 @@ bool cPluginManager::CallHookEntityAddEffect(cEntity & a_Entity, int a_EffectTyp -bool cPluginManager::CallHookEntityTeleport(cEntity & a_Entity, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition) +bool cPluginManager::CallHookEntityTeleport( + cEntity & a_Entity, + const Vector3d & a_OldPosition, + const Vector3d & a_NewPosition +) { - return GenericCallHook(HOOK_ENTITY_TELEPORT, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnEntityTeleport(a_Entity, a_OldPosition, a_NewPosition); - } + return GenericCallHook( + HOOK_ENTITY_TELEPORT, + [&](cPlugin * a_Plugin) { return a_Plugin->OnEntityTeleport(a_Entity, a_OldPosition, a_NewPosition); } ); } @@ -506,10 +525,9 @@ bool cPluginManager::CallHookEntityTeleport(cEntity & a_Entity, const Vector3d & bool cPluginManager::CallHookEntityChangingWorld(cEntity & a_Entity, cWorld & a_World) { - return GenericCallHook(HOOK_ENTITY_CHANGING_WORLD, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnEntityChangingWorld(a_Entity, a_World); - } + return GenericCallHook( + HOOK_ENTITY_CHANGING_WORLD, + [&](cPlugin * a_Plugin) { return a_Plugin->OnEntityChangingWorld(a_Entity, a_World); } ); } @@ -519,10 +537,9 @@ bool cPluginManager::CallHookEntityChangingWorld(cEntity & a_Entity, cWorld & a_ bool cPluginManager::CallHookEntityChangedWorld(cEntity & a_Entity, cWorld & a_World) { - return GenericCallHook(HOOK_ENTITY_CHANGED_WORLD, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnEntityChangedWorld(a_Entity, a_World); - } + return GenericCallHook( + HOOK_ENTITY_CHANGED_WORLD, + [&](cPlugin * a_Plugin) { return a_Plugin->OnEntityChangedWorld(a_Entity, a_World); } ); } @@ -530,7 +547,12 @@ bool cPluginManager::CallHookEntityChangedWorld(cEntity & a_Entity, cWorld & a_W -bool cPluginManager::CallHookExecuteCommand(cPlayer * a_Player, const AStringVector & a_Split, const AString & a_EntireCommand, CommandResult & a_Result) +bool cPluginManager::CallHookExecuteCommand( + cPlayer * a_Player, + const AStringVector & a_Split, + const AString & a_EntireCommand, + CommandResult & a_Result +) { // Output the command being executed to log (for troubleshooting deadlocks-in-commands): if (a_Player != nullptr) @@ -552,14 +574,12 @@ bool cPluginManager::CallHookExecuteCommand(cPlayer * a_Player, const AStringVec a_Player->GetName().c_str(), a_EntireCommand.c_str(), worldName.c_str(), - worldAge - ); + worldAge); } - return GenericCallHook(HOOK_EXECUTE_COMMAND, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnExecuteCommand(a_Player, a_Split, a_EntireCommand, a_Result); - } + return GenericCallHook( + HOOK_EXECUTE_COMMAND, + [&](cPlugin * a_Plugin) { return a_Plugin->OnExecuteCommand(a_Player, a_Split, a_EntireCommand, a_Result); } ); } @@ -567,11 +587,23 @@ bool cPluginManager::CallHookExecuteCommand(cPlayer * a_Player, const AStringVec -bool cPluginManager::CallHookExploded(cWorld & a_World, double a_ExplosionSize, bool a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData) +bool cPluginManager::CallHookExploded( + cWorld & a_World, + double a_ExplosionSize, + bool a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData +) { - return GenericCallHook(HOOK_EXPLODED, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_EXPLODED, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnExploded(a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData); + return a_Plugin + ->OnExploded(a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData); } ); } @@ -580,11 +612,23 @@ bool cPluginManager::CallHookExploded(cWorld & a_World, double a_ExplosionSize, -bool cPluginManager::CallHookExploding(cWorld & a_World, double & a_ExplosionSize, bool & a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData) +bool cPluginManager::CallHookExploding( + cWorld & a_World, + double & a_ExplosionSize, + bool & a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData +) { - return GenericCallHook(HOOK_EXPLODING, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_EXPLODING, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnExploding(a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData); + return a_Plugin + ->OnExploding(a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData); } ); } @@ -595,10 +639,9 @@ bool cPluginManager::CallHookExploding(cWorld & a_World, double & a_ExplosionSiz bool cPluginManager::CallHookHandshake(cClientHandle & a_ClientHandle, const AString & a_Username) { - return GenericCallHook(HOOK_HANDSHAKE, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnHandshake(a_ClientHandle, a_Username); - } + return GenericCallHook( + HOOK_HANDSHAKE, + [&](cPlugin * a_Plugin) { return a_Plugin->OnHandshake(a_ClientHandle, a_Username); } ); } @@ -606,12 +649,18 @@ bool cPluginManager::CallHookHandshake(cClientHandle & a_ClientHandle, const ASt -bool cPluginManager::CallHookHopperPullingItem(cWorld & a_World, cHopperEntity & a_Hopper, int a_DstSlotNum, cBlockEntityWithItems & a_SrcEntity, int a_SrcSlotNum) +bool cPluginManager::CallHookHopperPullingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_DstSlotNum, + cBlockEntityWithItems & a_SrcEntity, + int a_SrcSlotNum +) { - return GenericCallHook(HOOK_HOPPER_PULLING_ITEM, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnHopperPullingItem(a_World, a_Hopper, a_DstSlotNum, a_SrcEntity, a_SrcSlotNum); - } + return GenericCallHook( + HOOK_HOPPER_PULLING_ITEM, + [&](cPlugin * a_Plugin) + { return a_Plugin->OnHopperPullingItem(a_World, a_Hopper, a_DstSlotNum, a_SrcEntity, a_SrcSlotNum); } ); } @@ -619,12 +668,18 @@ bool cPluginManager::CallHookHopperPullingItem(cWorld & a_World, cHopperEntity & -bool cPluginManager::CallHookHopperPushingItem(cWorld & a_World, cHopperEntity & a_Hopper, int a_SrcSlotNum, cBlockEntityWithItems & a_DstEntity, int a_DstSlotNum) +bool cPluginManager::CallHookHopperPushingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_SrcSlotNum, + cBlockEntityWithItems & a_DstEntity, + int a_DstSlotNum +) { - return GenericCallHook(HOOK_HOPPER_PUSHING_ITEM, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnHopperPushingItem(a_World, a_Hopper, a_SrcSlotNum, a_DstEntity, a_DstSlotNum); - } + return GenericCallHook( + HOOK_HOPPER_PUSHING_ITEM, + [&](cPlugin * a_Plugin) + { return a_Plugin->OnHopperPushingItem(a_World, a_Hopper, a_SrcSlotNum, a_DstEntity, a_DstSlotNum); } ); } @@ -634,10 +689,9 @@ bool cPluginManager::CallHookHopperPushingItem(cWorld & a_World, cHopperEntity & bool cPluginManager::CallHookDropSpense(cWorld & a_World, cDropSpenserEntity & a_DropSpenser, int a_SlotNum) { - return GenericCallHook(HOOK_DROPSPENSE, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnDropSpense(a_World, a_DropSpenser, a_SlotNum); - } + return GenericCallHook( + HOOK_DROPSPENSE, + [&](cPlugin * a_Plugin) { return a_Plugin->OnDropSpense(a_World, a_DropSpenser, a_SlotNum); } ); } @@ -647,10 +701,9 @@ bool cPluginManager::CallHookDropSpense(cWorld & a_World, cDropSpenserEntity & a bool cPluginManager::CallHookKilled(cEntity & a_Victim, TakeDamageInfo & a_TDI, AString & a_DeathMessage) { - return GenericCallHook(HOOK_KILLED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnKilled(a_Victim, a_TDI, a_DeathMessage); - } + return GenericCallHook( + HOOK_KILLED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnKilled(a_Victim, a_TDI, a_DeathMessage); } ); } @@ -660,10 +713,9 @@ bool cPluginManager::CallHookKilled(cEntity & a_Victim, TakeDamageInfo & a_TDI, bool cPluginManager::CallHookKilling(cEntity & a_Victim, cEntity * a_Killer, TakeDamageInfo & a_TDI) { - return GenericCallHook(HOOK_KILLING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnKilling(a_Victim, a_Killer, a_TDI); - } + return GenericCallHook( + HOOK_KILLING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnKilling(a_Victim, a_Killer, a_TDI); } ); } @@ -673,10 +725,9 @@ bool cPluginManager::CallHookKilling(cEntity & a_Victim, cEntity * a_Killer, Tak bool cPluginManager::CallHookLogin(cClientHandle & a_Client, UInt32 a_ProtocolVersion, const AString & a_Username) { - return GenericCallHook(HOOK_LOGIN, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnLogin(a_Client, a_ProtocolVersion, a_Username); - } + return GenericCallHook( + HOOK_LOGIN, + [&](cPlugin * a_Plugin) { return a_Plugin->OnLogin(a_Client, a_ProtocolVersion, a_Username); } ); } @@ -686,10 +737,9 @@ bool cPluginManager::CallHookLogin(cClientHandle & a_Client, UInt32 a_ProtocolVe bool cPluginManager::CallHookLoginForge(cClientHandle & a_Client, AStringMap & a_Mods) { - return GenericCallHook(HOOK_LOGIN_FORGE, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnLoginForge(a_Client, a_Mods); - } + return GenericCallHook( + HOOK_LOGIN_FORGE, + [&](cPlugin * a_Plugin) { return a_Plugin->OnLoginForge(a_Client, a_Mods); } ); } @@ -699,10 +749,9 @@ bool cPluginManager::CallHookLoginForge(cClientHandle & a_Client, AStringMap & a bool cPluginManager::CallHookPlayerAnimation(cPlayer & a_Player, int a_Animation) { - return GenericCallHook(HOOK_PLAYER_ANIMATION, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerAnimation(a_Player, a_Animation); - } + return GenericCallHook( + HOOK_PLAYER_ANIMATION, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerAnimation(a_Player, a_Animation); } ); } @@ -710,11 +759,27 @@ bool cPluginManager::CallHookPlayerAnimation(cPlayer & a_Player, int a_Animation -bool cPluginManager::CallHookPlayerBreakingBlock(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +bool cPluginManager::CallHookPlayerBreakingBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { - return GenericCallHook(HOOK_PLAYER_BREAKING_BLOCK, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PLAYER_BREAKING_BLOCK, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnPlayerBreakingBlock(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_BlockType, a_BlockMeta); + return a_Plugin->OnPlayerBreakingBlock( + a_Player, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockFace, + a_BlockType, + a_BlockMeta + ); } ); } @@ -723,11 +788,27 @@ bool cPluginManager::CallHookPlayerBreakingBlock(cPlayer & a_Player, Vector3i a_ -bool cPluginManager::CallHookPlayerBrokenBlock(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +bool cPluginManager::CallHookPlayerBrokenBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { - return GenericCallHook(HOOK_PLAYER_BROKEN_BLOCK, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PLAYER_BROKEN_BLOCK, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnPlayerBrokenBlock(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_BlockType, a_BlockMeta); + return a_Plugin->OnPlayerBrokenBlock( + a_Player, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockFace, + a_BlockType, + a_BlockMeta + ); } ); } @@ -738,10 +819,9 @@ bool cPluginManager::CallHookPlayerBrokenBlock(cPlayer & a_Player, Vector3i a_Bl bool cPluginManager::CallHookPlayerDestroyed(cPlayer & a_Player) { - return GenericCallHook(HOOK_PLAYER_DESTROYED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerDestroyed(a_Player); - } + return GenericCallHook( + HOOK_PLAYER_DESTROYED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerDestroyed(a_Player); } ); } @@ -751,11 +831,7 @@ bool cPluginManager::CallHookPlayerDestroyed(cPlayer & a_Player) bool cPluginManager::CallHookPlayerEating(cPlayer & a_Player) { - return GenericCallHook(HOOK_PLAYER_EATING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerEating(a_Player); - } - ); + return GenericCallHook(HOOK_PLAYER_EATING, [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerEating(a_Player); }); } @@ -764,10 +840,9 @@ bool cPluginManager::CallHookPlayerEating(cPlayer & a_Player) bool cPluginManager::CallHookPlayerFoodLevelChange(cPlayer & a_Player, int a_NewFoodLevel) { - return GenericCallHook(HOOK_PLAYER_FOOD_LEVEL_CHANGE, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerFoodLevelChange(a_Player, a_NewFoodLevel); - } + return GenericCallHook( + HOOK_PLAYER_FOOD_LEVEL_CHANGE, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerFoodLevelChange(a_Player, a_NewFoodLevel); } ); } @@ -777,10 +852,9 @@ bool cPluginManager::CallHookPlayerFoodLevelChange(cPlayer & a_Player, int a_New bool cPluginManager::CallHookPlayerFished(cPlayer & a_Player, const cItems & a_Reward, const int ExperienceAmount) { - return GenericCallHook(HOOK_PLAYER_FISHED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerFished(a_Player, a_Reward, ExperienceAmount); - } + return GenericCallHook( + HOOK_PLAYER_FISHED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerFished(a_Player, a_Reward, ExperienceAmount); } ); } @@ -790,10 +864,9 @@ bool cPluginManager::CallHookPlayerFished(cPlayer & a_Player, const cItems & a_R bool cPluginManager::CallHookPlayerFishing(cPlayer & a_Player, cItems & a_Reward, int & ExperienceAmount) { - return GenericCallHook(HOOK_PLAYER_FISHING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerFishing(a_Player, a_Reward, ExperienceAmount); - } + return GenericCallHook( + HOOK_PLAYER_FISHING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerFishing(a_Player, a_Reward, ExperienceAmount); } ); } @@ -803,22 +876,26 @@ bool cPluginManager::CallHookPlayerFishing(cPlayer & a_Player, cItems & a_Reward bool cPluginManager::CallHookPlayerJoined(cPlayer & a_Player) { - return GenericCallHook(HOOK_PLAYER_JOINED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerJoined(a_Player); - } - ); + return GenericCallHook(HOOK_PLAYER_JOINED, [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerJoined(a_Player); }); } -bool cPluginManager::CallHookPlayerLeftClick(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, char a_Status) +bool cPluginManager::CallHookPlayerLeftClick( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + char a_Status +) { - return GenericCallHook(HOOK_PLAYER_LEFT_CLICK, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PLAYER_LEFT_CLICK, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnPlayerLeftClick(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_Status); + return a_Plugin + ->OnPlayerLeftClick(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_Status); } ); } @@ -827,12 +904,17 @@ bool cPluginManager::CallHookPlayerLeftClick(cPlayer & a_Player, Vector3i a_Bloc -bool cPluginManager::CallHookPlayerMoving(cPlayer & a_Player, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition, bool a_PreviousIsOnGround) +bool cPluginManager::CallHookPlayerMoving( + cPlayer & a_Player, + const Vector3d & a_OldPosition, + const Vector3d & a_NewPosition, + bool a_PreviousIsOnGround +) { - return GenericCallHook(HOOK_PLAYER_MOVING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerMoving(a_Player, a_OldPosition, a_NewPosition, a_PreviousIsOnGround); - } + return GenericCallHook( + HOOK_PLAYER_MOVING, + [&](cPlugin * a_Plugin) + { return a_Plugin->OnPlayerMoving(a_Player, a_OldPosition, a_NewPosition, a_PreviousIsOnGround); } ); } @@ -842,10 +924,9 @@ bool cPluginManager::CallHookPlayerMoving(cPlayer & a_Player, const Vector3d & a bool cPluginManager::CallHookPlayerOpeningWindow(cPlayer & a_Player, cWindow & a_Window) { - return GenericCallHook(HOOK_PLAYER_OPENING_WINDOW, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerOpeningWindow(a_Player, a_Window); - } + return GenericCallHook( + HOOK_PLAYER_OPENING_WINDOW, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerOpeningWindow(a_Player, a_Window); } ); } @@ -855,10 +936,9 @@ bool cPluginManager::CallHookPlayerOpeningWindow(cPlayer & a_Player, cWindow & a bool cPluginManager::CallHookPlayerPlacedBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange) { - return GenericCallHook(HOOK_PLAYER_PLACED_BLOCK, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerPlacedBlock(a_Player, a_BlockChange); - } + return GenericCallHook( + HOOK_PLAYER_PLACED_BLOCK, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerPlacedBlock(a_Player, a_BlockChange); } ); } @@ -868,10 +948,9 @@ bool cPluginManager::CallHookPlayerPlacedBlock(cPlayer & a_Player, const sSetBlo bool cPluginManager::CallHookPlayerPlacingBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange) { - return GenericCallHook(HOOK_PLAYER_PLACING_BLOCK, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerPlacingBlock(a_Player, a_BlockChange); - } + return GenericCallHook( + HOOK_PLAYER_PLACING_BLOCK, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerPlacingBlock(a_Player, a_BlockChange); } ); } @@ -881,10 +960,9 @@ bool cPluginManager::CallHookPlayerPlacingBlock(cPlayer & a_Player, const sSetBl bool cPluginManager::CallHookPlayerCrouched(cPlayer & a_Player) { - return GenericCallHook(HOOK_PLAYER_CROUCHED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerCrouched(a_Player); - } + return GenericCallHook( + HOOK_PLAYER_CROUCHED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerCrouched(a_Player); } ); } @@ -892,11 +970,27 @@ bool cPluginManager::CallHookPlayerCrouched(cPlayer & a_Player) -bool cPluginManager::CallHookPlayerRightClick(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos) +bool cPluginManager::CallHookPlayerRightClick( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos +) { - return GenericCallHook(HOOK_PLAYER_RIGHT_CLICK, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PLAYER_RIGHT_CLICK, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnPlayerRightClick(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_CursorPos.x, a_CursorPos.y, a_CursorPos.z); + return a_Plugin->OnPlayerRightClick( + a_Player, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockFace, + a_CursorPos.x, + a_CursorPos.y, + a_CursorPos.z + ); } ); } @@ -907,10 +1001,9 @@ bool cPluginManager::CallHookPlayerRightClick(cPlayer & a_Player, Vector3i a_Blo bool cPluginManager::CallHookPlayerRightClickingEntity(cPlayer & a_Player, cEntity & a_Entity) { - return GenericCallHook(HOOK_PLAYER_RIGHT_CLICKING_ENTITY, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerRightClickingEntity(a_Player, a_Entity); - } + return GenericCallHook( + HOOK_PLAYER_RIGHT_CLICKING_ENTITY, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerRightClickingEntity(a_Player, a_Entity); } ); } @@ -920,10 +1013,9 @@ bool cPluginManager::CallHookPlayerRightClickingEntity(cPlayer & a_Player, cEnti bool cPluginManager::CallHookPlayerShooting(cPlayer & a_Player) { - return GenericCallHook(HOOK_PLAYER_SHOOTING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerShooting(a_Player); - } + return GenericCallHook( + HOOK_PLAYER_SHOOTING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerShooting(a_Player); } ); } @@ -933,10 +1025,9 @@ bool cPluginManager::CallHookPlayerShooting(cPlayer & a_Player) bool cPluginManager::CallHookPlayerSpawned(cPlayer & a_Player) { - return GenericCallHook(HOOK_PLAYER_SPAWNED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerSpawned(a_Player); - } + return GenericCallHook( + HOOK_PLAYER_SPAWNED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerSpawned(a_Player); } ); } @@ -946,10 +1037,9 @@ bool cPluginManager::CallHookPlayerSpawned(cPlayer & a_Player) bool cPluginManager::CallHookPlayerTossingItem(cPlayer & a_Player) { - return GenericCallHook(HOOK_PLAYER_TOSSING_ITEM, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPlayerTossingItem(a_Player); - } + return GenericCallHook( + HOOK_PLAYER_TOSSING_ITEM, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPlayerTossingItem(a_Player); } ); } @@ -957,11 +1047,31 @@ bool cPluginManager::CallHookPlayerTossingItem(cPlayer & a_Player) -bool cPluginManager::CallHookPlayerUsedBlock(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +bool cPluginManager::CallHookPlayerUsedBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { - return GenericCallHook(HOOK_PLAYER_USED_BLOCK, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PLAYER_USED_BLOCK, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnPlayerUsedBlock(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_CursorPos.x, a_CursorPos.y, a_CursorPos.z, a_BlockType, a_BlockMeta); + return a_Plugin->OnPlayerUsedBlock( + a_Player, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockFace, + a_CursorPos.x, + a_CursorPos.y, + a_CursorPos.z, + a_BlockType, + a_BlockMeta + ); } ); } @@ -970,11 +1080,27 @@ bool cPluginManager::CallHookPlayerUsedBlock(cPlayer & a_Player, Vector3i a_Bloc -bool cPluginManager::CallHookPlayerUsedItem(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos) +bool cPluginManager::CallHookPlayerUsedItem( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos +) { - return GenericCallHook(HOOK_PLAYER_USED_ITEM, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PLAYER_USED_ITEM, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnPlayerUsedItem(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_CursorPos.x, a_CursorPos.y, a_CursorPos.z); + return a_Plugin->OnPlayerUsedItem( + a_Player, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockFace, + a_CursorPos.x, + a_CursorPos.y, + a_CursorPos.z + ); } ); } @@ -983,11 +1109,31 @@ bool cPluginManager::CallHookPlayerUsedItem(cPlayer & a_Player, Vector3i a_Block -bool cPluginManager::CallHookPlayerUsingBlock(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +bool cPluginManager::CallHookPlayerUsingBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { - return GenericCallHook(HOOK_PLAYER_USING_BLOCK, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PLAYER_USING_BLOCK, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnPlayerUsingBlock(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_CursorPos.x, a_CursorPos.y, a_CursorPos.z, a_BlockType, a_BlockMeta); + return a_Plugin->OnPlayerUsingBlock( + a_Player, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockFace, + a_CursorPos.x, + a_CursorPos.y, + a_CursorPos.z, + a_BlockType, + a_BlockMeta + ); } ); } @@ -996,11 +1142,27 @@ bool cPluginManager::CallHookPlayerUsingBlock(cPlayer & a_Player, Vector3i a_Blo -bool cPluginManager::CallHookPlayerUsingItem(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos) +bool cPluginManager::CallHookPlayerUsingItem( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos +) { - return GenericCallHook(HOOK_PLAYER_USING_ITEM, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PLAYER_USING_ITEM, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnPlayerUsingItem(a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_BlockFace, a_CursorPos.x, a_CursorPos.y, a_CursorPos.z); + return a_Plugin->OnPlayerUsingItem( + a_Player, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_BlockFace, + a_CursorPos.x, + a_CursorPos.y, + a_CursorPos.z + ); } ); } @@ -1009,12 +1171,15 @@ bool cPluginManager::CallHookPlayerUsingItem(cPlayer & a_Player, Vector3i a_Bloc -bool cPluginManager::CallHookPluginMessage(cClientHandle & a_Client, const AString & a_Channel, const ContiguousByteBufferView a_Message) +bool cPluginManager::CallHookPluginMessage( + cClientHandle & a_Client, + const AString & a_Channel, + const ContiguousByteBufferView a_Message +) { - return GenericCallHook(HOOK_PLUGIN_MESSAGE, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPluginMessage(a_Client, a_Channel, a_Message); - } + return GenericCallHook( + HOOK_PLUGIN_MESSAGE, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPluginMessage(a_Client, a_Channel, a_Message); } ); } @@ -1047,10 +1212,9 @@ bool cPluginManager::CallHookPluginsLoaded(void) bool cPluginManager::CallHookPostCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) { - return GenericCallHook(HOOK_POST_CRAFTING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPostCrafting(a_Player, a_Grid, a_Recipe); - } + return GenericCallHook( + HOOK_POST_CRAFTING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPostCrafting(a_Player, a_Grid, a_Recipe); } ); } @@ -1060,10 +1224,9 @@ bool cPluginManager::CallHookPostCrafting(cPlayer & a_Player, cCraftingGrid & a_ bool cPluginManager::CallHookPreCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe) { - return GenericCallHook(HOOK_PRE_CRAFTING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnPreCrafting(a_Player, a_Grid, a_Recipe); - } + return GenericCallHook( + HOOK_PRE_CRAFTING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnPreCrafting(a_Player, a_Grid, a_Recipe); } ); } @@ -1071,11 +1234,19 @@ bool cPluginManager::CallHookPreCrafting(cPlayer & a_Player, cCraftingGrid & a_G -bool cPluginManager::CallHookProjectileHitBlock(cProjectileEntity & a_Projectile, Vector3i a_BlockPos, eBlockFace a_Face, const Vector3d & a_BlockHitPos) +bool cPluginManager::CallHookProjectileHitBlock( + cProjectileEntity & a_Projectile, + Vector3i a_BlockPos, + eBlockFace a_Face, + const Vector3d & a_BlockHitPos +) { - return GenericCallHook(HOOK_PROJECTILE_HIT_BLOCK, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_PROJECTILE_HIT_BLOCK, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnProjectileHitBlock(a_Projectile, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_Face, a_BlockHitPos); + return a_Plugin + ->OnProjectileHitBlock(a_Projectile, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_Face, a_BlockHitPos); } ); } @@ -1086,10 +1257,9 @@ bool cPluginManager::CallHookProjectileHitBlock(cProjectileEntity & a_Projectile bool cPluginManager::CallHookProjectileHitEntity(cProjectileEntity & a_Projectile, cEntity & a_HitEntity) { - return GenericCallHook(HOOK_PROJECTILE_HIT_ENTITY, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnProjectileHitEntity(a_Projectile, a_HitEntity); - } + return GenericCallHook( + HOOK_PROJECTILE_HIT_ENTITY, + [&](cPlugin * a_Plugin) { return a_Plugin->OnProjectileHitEntity(a_Projectile, a_HitEntity); } ); } @@ -1097,11 +1267,20 @@ bool cPluginManager::CallHookProjectileHitEntity(cProjectileEntity & a_Projectil -bool cPluginManager::CallHookServerPing(cClientHandle & a_ClientHandle, AString & a_ServerDescription, int & a_OnlinePlayersCount, int & a_MaxPlayersCount, AString & a_Favicon) +bool cPluginManager::CallHookServerPing( + cClientHandle & a_ClientHandle, + AString & a_ServerDescription, + int & a_OnlinePlayersCount, + int & a_MaxPlayersCount, + AString & a_Favicon +) { - return GenericCallHook(HOOK_SERVER_PING, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_SERVER_PING, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnServerPing(a_ClientHandle, a_ServerDescription, a_OnlinePlayersCount, a_MaxPlayersCount, a_Favicon); + return a_Plugin + ->OnServerPing(a_ClientHandle, a_ServerDescription, a_OnlinePlayersCount, a_MaxPlayersCount, a_Favicon); } ); } @@ -1112,10 +1291,9 @@ bool cPluginManager::CallHookServerPing(cClientHandle & a_ClientHandle, AString bool cPluginManager::CallHookSpawnedEntity(cWorld & a_World, cEntity & a_Entity) { - return GenericCallHook(HOOK_SPAWNED_ENTITY, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnSpawnedEntity(a_World, a_Entity); - } + return GenericCallHook( + HOOK_SPAWNED_ENTITY, + [&](cPlugin * a_Plugin) { return a_Plugin->OnSpawnedEntity(a_World, a_Entity); } ); } @@ -1125,10 +1303,9 @@ bool cPluginManager::CallHookSpawnedEntity(cWorld & a_World, cEntity & a_Entity) bool cPluginManager::CallHookSpawnedMonster(cWorld & a_World, cMonster & a_Monster) { - return GenericCallHook(HOOK_SPAWNED_MONSTER, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnSpawnedMonster(a_World, a_Monster); - } + return GenericCallHook( + HOOK_SPAWNED_MONSTER, + [&](cPlugin * a_Plugin) { return a_Plugin->OnSpawnedMonster(a_World, a_Monster); } ); } @@ -1138,10 +1315,9 @@ bool cPluginManager::CallHookSpawnedMonster(cWorld & a_World, cMonster & a_Monst bool cPluginManager::CallHookSpawningEntity(cWorld & a_World, cEntity & a_Entity) { - return GenericCallHook(HOOK_SPAWNING_ENTITY, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnSpawningEntity(a_World, a_Entity); - } + return GenericCallHook( + HOOK_SPAWNING_ENTITY, + [&](cPlugin * a_Plugin) { return a_Plugin->OnSpawningEntity(a_World, a_Entity); } ); } @@ -1151,10 +1327,9 @@ bool cPluginManager::CallHookSpawningEntity(cWorld & a_World, cEntity & a_Entity bool cPluginManager::CallHookSpawningMonster(cWorld & a_World, cMonster & a_Monster) { - return GenericCallHook(HOOK_SPAWNING_MONSTER, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnSpawningMonster(a_World, a_Monster); - } + return GenericCallHook( + HOOK_SPAWNING_MONSTER, + [&](cPlugin * a_Plugin) { return a_Plugin->OnSpawningMonster(a_World, a_Monster); } ); } @@ -1164,10 +1339,9 @@ bool cPluginManager::CallHookSpawningMonster(cWorld & a_World, cMonster & a_Mons bool cPluginManager::CallHookTakeDamage(cEntity & a_Receiver, TakeDamageInfo & a_TDI) { - return GenericCallHook(HOOK_TAKE_DAMAGE, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnTakeDamage(a_Receiver, a_TDI); - } + return GenericCallHook( + HOOK_TAKE_DAMAGE, + [&](cPlugin * a_Plugin) { return a_Plugin->OnTakeDamage(a_Receiver, a_TDI); } ); } @@ -1175,11 +1349,31 @@ bool cPluginManager::CallHookTakeDamage(cEntity & a_Receiver, TakeDamageInfo & a -bool cPluginManager::CallHookUpdatingSign(cWorld & a_World, Vector3i a_BlockPos, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4, cPlayer * a_Player) +bool cPluginManager::CallHookUpdatingSign( + cWorld & a_World, + Vector3i a_BlockPos, + AString & a_Line1, + AString & a_Line2, + AString & a_Line3, + AString & a_Line4, + cPlayer * a_Player +) { - return GenericCallHook(HOOK_UPDATING_SIGN, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_UPDATING_SIGN, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnUpdatingSign(a_World, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_Line1, a_Line2, a_Line3, a_Line4, a_Player); + return a_Plugin->OnUpdatingSign( + a_World, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_Line1, + a_Line2, + a_Line3, + a_Line4, + a_Player + ); } ); } @@ -1188,11 +1382,31 @@ bool cPluginManager::CallHookUpdatingSign(cWorld & a_World, Vector3i a_BlockPos, -bool cPluginManager::CallHookUpdatedSign(cWorld & a_World, Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, cPlayer * a_Player) +bool cPluginManager::CallHookUpdatedSign( + cWorld & a_World, + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4, + cPlayer * a_Player +) { - return GenericCallHook(HOOK_UPDATED_SIGN, [&](cPlugin * a_Plugin) + return GenericCallHook( + HOOK_UPDATED_SIGN, + [&](cPlugin * a_Plugin) { - return a_Plugin->OnUpdatedSign(a_World, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_Line1, a_Line2, a_Line3, a_Line4, a_Player); + return a_Plugin->OnUpdatedSign( + a_World, + a_BlockPos.x, + a_BlockPos.y, + a_BlockPos.z, + a_Line1, + a_Line2, + a_Line3, + a_Line4, + a_Player + ); } ); } @@ -1203,10 +1417,9 @@ bool cPluginManager::CallHookUpdatedSign(cWorld & a_World, Vector3i a_BlockPos, bool cPluginManager::CallHookWeatherChanged(cWorld & a_World) { - return GenericCallHook(HOOK_WEATHER_CHANGED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnWeatherChanged(a_World); - } + return GenericCallHook( + HOOK_WEATHER_CHANGED, + [&](cPlugin * a_Plugin) { return a_Plugin->OnWeatherChanged(a_World); } ); } @@ -1216,10 +1429,9 @@ bool cPluginManager::CallHookWeatherChanged(cWorld & a_World) bool cPluginManager::CallHookWeatherChanging(cWorld & a_World, eWeather & a_NewWeather) { - return GenericCallHook(HOOK_WEATHER_CHANGING, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnWeatherChanging(a_World, a_NewWeather); - } + return GenericCallHook( + HOOK_WEATHER_CHANGING, + [&](cPlugin * a_Plugin) { return a_Plugin->OnWeatherChanging(a_World, a_NewWeather); } ); } @@ -1229,23 +1441,22 @@ bool cPluginManager::CallHookWeatherChanging(cWorld & a_World, eWeather & a_NewW bool cPluginManager::CallHookWorldStarted(cWorld & a_World) { - return GenericCallHook(HOOK_WORLD_STARTED, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnWorldStarted(a_World); - } - ); + return GenericCallHook(HOOK_WORLD_STARTED, [&](cPlugin * a_Plugin) { return a_Plugin->OnWorldStarted(a_World); }); } -bool cPluginManager::CallHookWorldTick(cWorld & a_World, std::chrono::milliseconds a_Dt, std::chrono::milliseconds a_LastTickDurationMSec) +bool cPluginManager::CallHookWorldTick( + cWorld & a_World, + std::chrono::milliseconds a_Dt, + std::chrono::milliseconds a_LastTickDurationMSec +) { - return GenericCallHook(HOOK_WORLD_TICK, [&](cPlugin * a_Plugin) - { - return a_Plugin->OnWorldTick(a_World, a_Dt, a_LastTickDurationMSec); - } + return GenericCallHook( + HOOK_WORLD_TICK, + [&](cPlugin * a_Plugin) { return a_Plugin->OnWorldTick(a_World, a_Dt, a_LastTickDurationMSec); } ); } @@ -1253,7 +1464,11 @@ bool cPluginManager::CallHookWorldTick(cWorld & a_World, std::chrono::millisecon -cPluginManager::CommandResult cPluginManager::HandleCommand(cPlayer & a_Player, const AString & a_Command, bool a_ShouldCheckPermissions) +cPluginManager::CommandResult cPluginManager::HandleCommand( + cPlayer & a_Player, + const AString & a_Command, + bool a_ShouldCheckPermissions +) { AStringVector Split(StringSplit(a_Command, " ")); if (Split.empty()) @@ -1281,16 +1496,17 @@ cPluginManager::CommandResult cPluginManager::HandleCommand(cPlayer & a_Player, { if (Result == crBlocked) { - LOGINFO("Player %s tried executing command \"%s\" that was stopped by the HOOK_EXECUTE_COMMAND hook", a_Player.GetName().c_str(), Split[0].c_str()); + LOGINFO( + "Player %s tried executing command \"%s\" that was stopped by the HOOK_EXECUTE_COMMAND hook", + a_Player.GetName().c_str(), + Split[0].c_str() + ); } return Result; } - if ( - a_ShouldCheckPermissions && - !cmd->second.m_Permission.empty() && - !a_Player.HasPermission(cmd->second.m_Permission) - ) + if (a_ShouldCheckPermissions && !cmd->second.m_Permission.empty() && + !a_Player.HasPermission(cmd->second.m_Permission)) { LOGINFO("Player %s tried to execute forbidden command: \"%s\"", a_Player.GetName().c_str(), Split[0].c_str()); return crNoPermission; @@ -1321,7 +1537,7 @@ void cPluginManager::UnloadPluginsNow() cServer::BindBuiltInConsoleCommands(); // Unload all loaded plugins: - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (plugin->IsLoaded()) { @@ -1356,7 +1572,7 @@ void cPluginManager::ReloadPlugin(const AString & a_PluginFolder) bool cPluginManager::LoadPlugin(const AString & a_FolderName) { - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (plugin->GetFolderName() == a_FolderName) { @@ -1395,7 +1611,8 @@ void cPluginManager::RemovePluginCommands(cPlugin * a_Plugin) { if (itr->second.m_Plugin == a_Plugin) { - CommandMap::iterator EraseMe = itr; // Stupid GCC doesn't have a std::map::erase() that would return the next iterator + CommandMap::iterator EraseMe = + itr; // Stupid GCC doesn't have a std::map::erase() that would return the next iterator ++itr; m_Commands.erase(EraseMe); } @@ -1412,7 +1629,7 @@ void cPluginManager::RemovePluginCommands(cPlugin * a_Plugin) bool cPluginManager::IsPluginLoaded(const AString & a_PluginName) { - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (plugin->GetName() == a_PluginName) { @@ -1437,13 +1654,17 @@ bool cPluginManager::BindCommand( CommandMap::iterator cmd = m_Commands.find(a_Command); if (cmd != m_Commands.end()) { - LOGWARNING("Command \"%s\" is already bound to plugin \"%s\".", a_Command.c_str(), cmd->second.m_Plugin->GetName().c_str()); + LOGWARNING( + "Command \"%s\" is already bound to plugin \"%s\".", + a_Command.c_str(), + cmd->second.m_Plugin->GetName().c_str() + ); return false; } auto & reg = m_Commands[a_Command]; - reg.m_Plugin = a_Plugin; - reg.m_Handler = std::move(a_Handler); + reg.m_Plugin = a_Plugin; + reg.m_Handler = std::move(a_Handler); reg.m_Permission = a_Permission; reg.m_HelpString = a_HelpString; return true; @@ -1512,7 +1733,8 @@ void cPluginManager::RemovePluginConsoleCommands(cPlugin * a_Plugin) { if (itr->second.m_Plugin == a_Plugin) { - CommandMap::iterator EraseMe = itr; // Stupid GCC doesn't have a std::map::erase() that would return the next iterator + CommandMap::iterator EraseMe = + itr; // Stupid GCC doesn't have a std::map::erase() that would return the next iterator ++itr; m_ConsoleCommands.erase(EraseMe); } @@ -1539,18 +1761,27 @@ bool cPluginManager::BindConsoleCommand( { if (cmd->second.m_Plugin == nullptr) { - LOGWARNING("Console command \"%s\" is already bound internally by Cuberite, cannot bind in plugin \"%s\".", a_Command.c_str(), a_Plugin->GetName().c_str()); + LOGWARNING( + "Console command \"%s\" is already bound internally by Cuberite, cannot bind in plugin \"%s\".", + a_Command.c_str(), + a_Plugin->GetName().c_str() + ); } else { - LOGWARNING("Console command \"%s\" is already bound to plugin \"%s\", cannot bind in plugin \"%s\".", a_Command.c_str(), cmd->second.m_Plugin->GetName().c_str(), a_Plugin->GetName().c_str()); + LOGWARNING( + "Console command \"%s\" is already bound to plugin \"%s\", cannot bind in plugin \"%s\".", + a_Command.c_str(), + cmd->second.m_Plugin->GetName().c_str(), + a_Plugin->GetName().c_str() + ); } return false; } auto & reg = m_ConsoleCommands[a_Command]; - reg.m_Plugin = a_Plugin; - reg.m_Handler = std::move(a_Handler); + reg.m_Plugin = a_Plugin; + reg.m_Handler = std::move(a_Handler); reg.m_Permission = ""; reg.m_HelpString = a_HelpString; return true; @@ -1585,7 +1816,11 @@ bool cPluginManager::IsConsoleCommandBound(const AString & a_Command) -bool cPluginManager::ExecuteConsoleCommand(const AStringVector & a_Split, cCommandOutputCallback & a_Output, const AString & a_Command) +bool cPluginManager::ExecuteConsoleCommand( + const AStringVector & a_Split, + cCommandOutputCallback & a_Output, + const AString & a_Command +) { if (a_Split.empty()) { @@ -1676,7 +1911,7 @@ bool cPluginManager::IsValidHookType(int a_HookType) bool cPluginManager::DoWithPlugin(const AString & a_PluginName, cPluginCallback a_Callback) { // TODO: Implement locking for plugins - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (plugin->GetName() == a_PluginName) { @@ -1693,7 +1928,7 @@ bool cPluginManager::DoWithPlugin(const AString & a_PluginName, cPluginCallback bool cPluginManager::ForEachPlugin(cPluginCallback a_Callback) { // TODO: Implement locking for plugins - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (a_Callback(*plugin)) { @@ -1710,7 +1945,7 @@ bool cPluginManager::ForEachPlugin(cPluginCallback a_Callback) AString cPluginManager::GetPluginFolderName(const AString & a_PluginName) { // TODO: Implement locking for plugins - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (plugin->GetName() == a_PluginName) { @@ -1754,7 +1989,7 @@ size_t cPluginManager::GetNumPlugins(void) const size_t cPluginManager::GetNumLoadedPlugins(void) const { size_t res = 0; - for (auto & plugin: m_Plugins) + for (auto & plugin : m_Plugins) { if (plugin->IsLoaded()) { @@ -1787,11 +2022,7 @@ AStringVector cPluginManager::GetFoldersToLoad(cSettingsRepositoryInterface & a_ if (ValueName.compare("Plugin") == 0) { AString PluginFile = NameValue.second; - if ( - !PluginFile.empty() && - (PluginFile != "0") && - (PluginFile != "1") - ) + if (!PluginFile.empty() && (PluginFile != "0") && (PluginFile != "1")) { a_Settings.DeleteValue("Plugins", ValueName); a_Settings.SetValue("Plugins", PluginFile, "1"); @@ -1812,7 +2043,3 @@ AStringVector cPluginManager::GetFoldersToLoad(cSettingsRepositoryInterface & a_ return res; } - - - - diff --git a/src/Bindings/PluginManager.h b/src/Bindings/PluginManager.h index 86957000b..4973f89dc 100644 --- a/src/Bindings/PluginManager.h +++ b/src/Bindings/PluginManager.h @@ -43,8 +43,7 @@ typedef std::vector cPluginPtrs; // tolua_begin class cPluginManager { -public: - + public: enum CommandResult { crExecuted, @@ -52,7 +51,7 @@ public: crError, crBlocked, crNoPermission, - } ; + }; /** Defines the status of a single plugin - whether it is loaded, disabled or errored. */ @@ -159,7 +158,7 @@ public: // Keep these two as the last items, they are used for validity checking and get their values automagically HOOK_NUM_HOOKS, HOOK_MAX = HOOK_NUM_HOOKS - 1, - } ; // tolua_export + }; // tolua_export /** Defines the deferred actions needed for a plugin */ @@ -173,20 +172,26 @@ public: /** Used as a callback for enumerating bound commands */ class cCommandEnumCallback { - public: + public: virtual ~cCommandEnumCallback() {} /** Called for each command; return true to abort enumeration For console commands, a_Permission is not used (set to empty string) */ - virtual bool Command(const AString & a_Command, const cPlugin * a_Plugin, const AString & a_Permission, const AString & a_HelpString) = 0; - } ; + virtual bool Command( + const AString & a_Command, + const cPlugin * a_Plugin, + const AString & a_Permission, + const AString & a_HelpString + ) = 0; + }; - /** Interface that must be provided by any class that implements a command handler, either in-game or console command. */ + /** Interface that must be provided by any class that implements a command handler, either in-game or console + * command. */ class cCommandHandler { - public: + public: // Force a virtual destructor in descendants virtual ~cCommandHandler() {} @@ -194,7 +199,8 @@ public: a_Split is the command string, split at the spaces. a_Player is the player executing the command, nullptr in case of the console. a_Command is the entire command string. - a_Output is the sink into which the additional text returned by the command handler should be sent; only used for console commands. */ + a_Output is the sink into which the additional text returned by the command handler should be sent; only used + for console commands. */ virtual bool ExecuteCommand( const AStringVector & a_Split, cPlayer * a_Player, @@ -236,76 +242,193 @@ public: size_t GetNumLoadedPlugins(void) const; // tolua_export // Calls for individual hooks. Each returns false if the action is to continue or true if the plugin wants to abort - bool CallHookBlockSpread (cWorld & a_World, Vector3i a_BlockPos, eSpreadSource a_Source); - bool CallHookBlockToPickups (cWorld & a_World, Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, const cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool, cItems & a_Pickups); - bool CallHookBrewingCompleting (cWorld & a_World, cBrewingstandEntity & a_Brewingstand); - bool CallHookBrewingCompleted (cWorld & a_World, cBrewingstandEntity & a_Brewingstand); - bool CallHookChat (cPlayer & a_Player, AString & a_Message); - bool CallHookChunkAvailable (cWorld & a_World, int a_ChunkX, int a_ChunkZ); - bool CallHookChunkGenerated (cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc); - bool CallHookChunkGenerating (cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc); - bool CallHookChunkUnloaded (cWorld & a_World, int a_ChunkX, int a_ChunkZ); - bool CallHookChunkUnloading (cWorld & a_World, int a_ChunkX, int a_ChunkZ); - bool CallHookCollectingPickup (cPlayer & a_Player, cPickup & a_Pickup); - bool CallHookCraftingNoRecipe (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe); - bool CallHookDisconnect (cClientHandle & a_Client, const AString & a_Reason); - bool CallHookEntityAddEffect (cEntity & a_Entity, int a_EffectType, int a_EffectDurationTicks, int a_EffectIntensity, double a_DistanceModifier); - bool CallHookEntityTeleport (cEntity & a_Entity, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition); - bool CallHookEntityChangingWorld (cEntity & a_Entity, cWorld & a_World); - bool CallHookEntityChangedWorld (cEntity & a_Entity, cWorld & a_World); - bool CallHookExecuteCommand (cPlayer * a_Player, const AStringVector & a_Split, const AString & a_EntireCommand, CommandResult & a_Result); // If a_Player == nullptr, it is a console cmd - bool CallHookExploded (cWorld & a_World, double a_ExplosionSize, bool a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData); - bool CallHookExploding (cWorld & a_World, double & a_ExplosionSize, bool & a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData); - bool CallHookHandshake (cClientHandle & a_ClientHandle, const AString & a_Username); - bool CallHookHopperPullingItem (cWorld & a_World, cHopperEntity & a_Hopper, int a_DstSlotNum, cBlockEntityWithItems & a_SrcEntity, int a_SrcSlotNum); - bool CallHookHopperPushingItem (cWorld & a_World, cHopperEntity & a_Hopper, int a_SrcSlotNum, cBlockEntityWithItems & a_DstEntity, int a_DstSlotNum); - bool CallHookDropSpense (cWorld & a_World, cDropSpenserEntity & a_DropSpenser, int a_SlotNum); - bool CallHookKilled (cEntity & a_Victim, TakeDamageInfo & a_TDI, AString & a_DeathMessage); - bool CallHookKilling (cEntity & a_Victim, cEntity * a_Killer, TakeDamageInfo & a_TDI); - bool CallHookLogin (cClientHandle & a_Client, UInt32 a_ProtocolVersion, const AString & a_Username); - bool CallHookLoginForge (cClientHandle & a_Client, AStringMap & a_Mods); - bool CallHookPlayerAnimation (cPlayer & a_Player, int a_Animation); - bool CallHookPlayerBreakingBlock (cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); - bool CallHookPlayerBrokenBlock (cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); - bool CallHookPlayerDestroyed (cPlayer & a_Player); - bool CallHookPlayerEating (cPlayer & a_Player); - bool CallHookPlayerFished (cPlayer & a_Player, const cItems & a_Reward, const int ExperienceAmount); - bool CallHookPlayerFishing (cPlayer & a_Player, cItems & a_Reward, int & ExperienceAmount); - bool CallHookPlayerFoodLevelChange (cPlayer & a_Player, int a_NewFoodLevel); - bool CallHookPlayerJoined (cPlayer & a_Player); - bool CallHookPlayerLeftClick (cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, char a_Status); - bool CallHookPlayerMoving (cPlayer & a_Player, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition, bool a_PreviousIsOnGround); - bool CallHookPlayerOpeningWindow (cPlayer & a_Player, cWindow & a_Window); - bool CallHookPlayerPlacedBlock (cPlayer & a_Player, const sSetBlock & a_BlockChange); - bool CallHookPlayerPlacingBlock (cPlayer & a_Player, const sSetBlock & a_BlockChange); - bool CallHookPlayerCrouched (cPlayer & a_Player); - bool CallHookPlayerRightClick (cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos); + bool CallHookBlockSpread(cWorld & a_World, Vector3i a_BlockPos, eSpreadSource a_Source); + bool CallHookBlockToPickups( + cWorld & a_World, + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + const cBlockEntity * a_BlockEntity, + const cEntity * a_Digger, + const cItem * a_Tool, + cItems & a_Pickups + ); + bool CallHookBrewingCompleting(cWorld & a_World, cBrewingstandEntity & a_Brewingstand); + bool CallHookBrewingCompleted(cWorld & a_World, cBrewingstandEntity & a_Brewingstand); + bool CallHookChat(cPlayer & a_Player, AString & a_Message); + bool CallHookChunkAvailable(cWorld & a_World, int a_ChunkX, int a_ChunkZ); + bool CallHookChunkGenerated(cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc); + bool CallHookChunkGenerating(cWorld & a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_ChunkDesc); + bool CallHookChunkUnloaded(cWorld & a_World, int a_ChunkX, int a_ChunkZ); + bool CallHookChunkUnloading(cWorld & a_World, int a_ChunkX, int a_ChunkZ); + bool CallHookCollectingPickup(cPlayer & a_Player, cPickup & a_Pickup); + bool CallHookCraftingNoRecipe(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe); + bool CallHookDisconnect(cClientHandle & a_Client, const AString & a_Reason); + bool CallHookEntityAddEffect( + cEntity & a_Entity, + int a_EffectType, + int a_EffectDurationTicks, + int a_EffectIntensity, + double a_DistanceModifier + ); + bool CallHookEntityTeleport(cEntity & a_Entity, const Vector3d & a_OldPosition, const Vector3d & a_NewPosition); + bool CallHookEntityChangingWorld(cEntity & a_Entity, cWorld & a_World); + bool CallHookEntityChangedWorld(cEntity & a_Entity, cWorld & a_World); + bool CallHookExecuteCommand( + cPlayer * a_Player, + const AStringVector & a_Split, + const AString & a_EntireCommand, + CommandResult & a_Result + ); // If a_Player == nullptr, it is a console cmd + bool CallHookExploded( + cWorld & a_World, + double a_ExplosionSize, + bool a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData + ); + bool CallHookExploding( + cWorld & a_World, + double & a_ExplosionSize, + bool & a_CanCauseFire, + double a_X, + double a_Y, + double a_Z, + eExplosionSource a_Source, + void * a_SourceData + ); + bool CallHookHandshake(cClientHandle & a_ClientHandle, const AString & a_Username); + bool CallHookHopperPullingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_DstSlotNum, + cBlockEntityWithItems & a_SrcEntity, + int a_SrcSlotNum + ); + bool CallHookHopperPushingItem( + cWorld & a_World, + cHopperEntity & a_Hopper, + int a_SrcSlotNum, + cBlockEntityWithItems & a_DstEntity, + int a_DstSlotNum + ); + bool CallHookDropSpense(cWorld & a_World, cDropSpenserEntity & a_DropSpenser, int a_SlotNum); + bool CallHookKilled(cEntity & a_Victim, TakeDamageInfo & a_TDI, AString & a_DeathMessage); + bool CallHookKilling(cEntity & a_Victim, cEntity * a_Killer, TakeDamageInfo & a_TDI); + bool CallHookLogin(cClientHandle & a_Client, UInt32 a_ProtocolVersion, const AString & a_Username); + bool CallHookLoginForge(cClientHandle & a_Client, AStringMap & a_Mods); + bool CallHookPlayerAnimation(cPlayer & a_Player, int a_Animation); + bool CallHookPlayerBreakingBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ); + bool CallHookPlayerBrokenBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ); + bool CallHookPlayerDestroyed(cPlayer & a_Player); + bool CallHookPlayerEating(cPlayer & a_Player); + bool CallHookPlayerFished(cPlayer & a_Player, const cItems & a_Reward, const int ExperienceAmount); + bool CallHookPlayerFishing(cPlayer & a_Player, cItems & a_Reward, int & ExperienceAmount); + bool CallHookPlayerFoodLevelChange(cPlayer & a_Player, int a_NewFoodLevel); + bool CallHookPlayerJoined(cPlayer & a_Player); + bool CallHookPlayerLeftClick(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, char a_Status); + bool CallHookPlayerMoving( + cPlayer & a_Player, + const Vector3d & a_OldPosition, + const Vector3d & a_NewPosition, + bool a_PreviousIsOnGround + ); + bool CallHookPlayerOpeningWindow(cPlayer & a_Player, cWindow & a_Window); + bool CallHookPlayerPlacedBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange); + bool CallHookPlayerPlacingBlock(cPlayer & a_Player, const sSetBlock & a_BlockChange); + bool CallHookPlayerCrouched(cPlayer & a_Player); + bool CallHookPlayerRightClick( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos + ); bool CallHookPlayerRightClickingEntity(cPlayer & a_Player, cEntity & a_Entity); - bool CallHookPlayerShooting (cPlayer & a_Player); - bool CallHookPlayerSpawned (cPlayer & a_Player); - bool CallHookPlayerTossingItem (cPlayer & a_Player); - bool CallHookPlayerUsedBlock (cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); - bool CallHookPlayerUsedItem (cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos); - bool CallHookPlayerUsingBlock (cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); - bool CallHookPlayerUsingItem (cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos); - bool CallHookPluginMessage (cClientHandle & a_Client, const AString & a_Channel, ContiguousByteBufferView a_Message); - bool CallHookPluginsLoaded (void); - bool CallHookPostCrafting (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe); - bool CallHookPreCrafting (cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe); - bool CallHookProjectileHitBlock (cProjectileEntity & a_Projectile, Vector3i a_BlockPos, eBlockFace a_Face, const Vector3d & a_BlockHitPos); - bool CallHookProjectileHitEntity (cProjectileEntity & a_Projectile, cEntity & a_HitEntity); - bool CallHookServerPing (cClientHandle & a_ClientHandle, AString & a_ServerDescription, int & a_OnlinePlayersCount, int & a_MaxPlayersCount, AString & a_Favicon); - bool CallHookSpawnedEntity (cWorld & a_World, cEntity & a_Entity); - bool CallHookSpawnedMonster (cWorld & a_World, cMonster & a_Monster); - bool CallHookSpawningEntity (cWorld & a_World, cEntity & a_Entity); - bool CallHookSpawningMonster (cWorld & a_World, cMonster & a_Monster); - bool CallHookTakeDamage (cEntity & a_Receiver, TakeDamageInfo & a_TDI); - bool CallHookUpdatedSign (cWorld & a_World, Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, cPlayer * a_Player); - bool CallHookUpdatingSign (cWorld & a_World, Vector3i a_BlockPos, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4, cPlayer * a_Player); - bool CallHookWeatherChanged (cWorld & a_World); - bool CallHookWeatherChanging (cWorld & a_World, eWeather & a_NewWeather); - bool CallHookWorldStarted (cWorld & a_World); - bool CallHookWorldTick (cWorld & a_World, std::chrono::milliseconds a_Dt, std::chrono::milliseconds a_LastTickDurationMSec); + bool CallHookPlayerShooting(cPlayer & a_Player); + bool CallHookPlayerSpawned(cPlayer & a_Player); + bool CallHookPlayerTossingItem(cPlayer & a_Player); + bool CallHookPlayerUsedBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ); + bool CallHookPlayerUsedItem(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos); + bool CallHookPlayerUsingBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ); + bool CallHookPlayerUsingItem(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos); + bool CallHookPluginMessage(cClientHandle & a_Client, const AString & a_Channel, ContiguousByteBufferView a_Message); + bool CallHookPluginsLoaded(void); + bool CallHookPostCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe); + bool CallHookPreCrafting(cPlayer & a_Player, cCraftingGrid & a_Grid, cCraftingRecipe & a_Recipe); + bool CallHookProjectileHitBlock( + cProjectileEntity & a_Projectile, + Vector3i a_BlockPos, + eBlockFace a_Face, + const Vector3d & a_BlockHitPos + ); + bool CallHookProjectileHitEntity(cProjectileEntity & a_Projectile, cEntity & a_HitEntity); + bool CallHookServerPing( + cClientHandle & a_ClientHandle, + AString & a_ServerDescription, + int & a_OnlinePlayersCount, + int & a_MaxPlayersCount, + AString & a_Favicon + ); + bool CallHookSpawnedEntity(cWorld & a_World, cEntity & a_Entity); + bool CallHookSpawnedMonster(cWorld & a_World, cMonster & a_Monster); + bool CallHookSpawningEntity(cWorld & a_World, cEntity & a_Entity); + bool CallHookSpawningMonster(cWorld & a_World, cMonster & a_Monster); + bool CallHookTakeDamage(cEntity & a_Receiver, TakeDamageInfo & a_TDI); + bool CallHookUpdatedSign( + cWorld & a_World, + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4, + cPlayer * a_Player + ); + bool CallHookUpdatingSign( + cWorld & a_World, + Vector3i a_BlockPos, + AString & a_Line1, + AString & a_Line2, + AString & a_Line3, + AString & a_Line4, + cPlayer * a_Player + ); + bool CallHookWeatherChanged(cWorld & a_World); + bool CallHookWeatherChanging(cWorld & a_World, eWeather & a_NewWeather); + bool CallHookWorldStarted(cWorld & a_World); + bool CallHookWorldTick( + cWorld & a_World, + std::chrono::milliseconds a_Dt, + std::chrono::milliseconds a_LastTickDurationMSec + ); /** Queues the specified plugin to be unloaded in the next call to Tick(). Note that this function returns before the plugin is unloaded, to avoid deadlocks. */ @@ -351,10 +474,12 @@ public: /** Returns the permission needed for the specified command; empty string if command not found */ AString GetCommandPermission(const AString & a_Command); // tolua_export - /** Executes the command, as if it was requested by a_Player. Checks permissions first. Returns crExecuted if executed. */ + /** Executes the command, as if it was requested by a_Player. Checks permissions first. Returns crExecuted if + * executed. */ CommandResult ExecuteCommand(cPlayer & a_Player, const AString & a_Command); // tolua_export - /** Executes the command, as if it was requested by a_Player. Permisssions are not checked. Returns crExecuted if executed. */ + /** Executes the command, as if it was requested by a_Player. Permisssions are not checked. Returns crExecuted if + * executed. */ CommandResult ForceExecuteCommand(cPlayer & a_Player, const AString & a_Command); // tolua_export /** Removes all console command bindings that the specified plugin has made */ @@ -379,7 +504,11 @@ public: /** Executes the command split into a_Split, as if it was given on the console. Returns true if executed. Output is sent to the a_Output callback Exported in ManualBindings.cpp with a different signature. */ - bool ExecuteConsoleCommand(const AStringVector & a_Split, cCommandOutputCallback & a_Output, const AString & a_Command); + bool ExecuteConsoleCommand( + const AStringVector & a_Split, + cCommandOutputCallback & a_Output, + const AString & a_Command + ); /** Appends all commands beginning with a_Text (case-insensitive) into a_Results. If a_Player is not nullptr, only commands for which the player has permissions are added. @@ -394,7 +523,8 @@ public: bool DoWithPlugin(const AString & a_PluginName, cPluginCallback a_Callback); /** Calls the specified callback for each plugin in m_Plugins. - Returns true if all plugins have been reported, false if the callback has aborted the enumeration by returning true. */ + Returns true if all plugins have been reported, false if the callback has aborted the enumeration by returning true. + */ bool ForEachPlugin(cPluginCallback a_Callback); /** Returns the name of the folder (cPlugin::GetFolderName()) from which the specified plugin was loaded. */ @@ -404,17 +534,17 @@ public: The path doesn't end in a slash. */ static AString GetPluginsPath(void) { return "Plugins"; } // tolua_export -private: + private: friend class cRoot; class cCommandReg { - public: + public: cPlugin * m_Plugin; - AString m_Permission; // Not used for console commands - AString m_HelpString; + AString m_Permission; // Not used for console commands + AString m_HelpString; cCommandHandlerPtr m_Handler; - } ; + }; typedef std::map HookMap; typedef std::map CommandMap; @@ -431,7 +561,7 @@ private: /** All plugins that have been found in the Plugins folder. */ cPluginPtrs m_Plugins; - HookMap m_Hooks; + HookMap m_Hooks; CommandMap m_Commands; CommandMap m_ConsoleCommands; @@ -454,10 +584,12 @@ private: /** Unloads all plugins */ void UnloadPluginsNow(void); - /** Handles writing default plugins if 'Plugins' key not found using a settings repo expected to be intialised to settings.ini */ + /** Handles writing default plugins if 'Plugins' key not found using a settings repo expected to be intialised to + * settings.ini */ void InsertDefaultPlugins(cSettingsRepositoryInterface & a_Settings); - /** Tries to match a_Command to the internal table of commands, if a match is found, the corresponding plugin is called. Returns crExecuted if the command is executed. */ + /** Tries to match a_Command to the internal table of commands, if a match is found, the corresponding plugin is + * called. Returns crExecuted if the command is executed. */ CommandResult HandleCommand(cPlayer & a_Player, const AString & a_Command, bool a_ShouldCheckPermissions); /** Returns the folders that are specified in the settings ini to load plugins from. */ @@ -466,9 +598,5 @@ private: /** Calls a_HookFunction on each plugin registered to the hook HookName. Returns false if the action is to continue or true if the plugin wants to abort. Accessible only from within PluginManager.cpp */ - template - bool GenericCallHook(PluginHook a_HookName, HookFunction a_HookFunction); -} ; // tolua_export - - - + template bool GenericCallHook(PluginHook a_HookName, HookFunction a_HookFunction); +}; // tolua_export diff --git a/src/Bindings/tolua++.h b/src/Bindings/tolua++.h index 73e65b746..86f8594ac 100644 --- a/src/Bindings/tolua++.h +++ b/src/Bindings/tolua++.h @@ -10,10 +10,6 @@ #include "tolua++/include/tolua++.h" #ifdef _MSC_VER - // Disable specific warnings for the generated Bindings.cpp file: - #pragma warning(disable: 4800) // 'int' : forcing value to bool 'true' or 'false' (performance warning) +// Disable specific warnings for the generated Bindings.cpp file: +#pragma warning(disable : 4800) // 'int' : forcing value to bool 'true' or 'false' (performance warning) #endif // _MSC_VER - - - - diff --git a/src/BiomeDef.cpp b/src/BiomeDef.cpp index 822b641ba..01b32bdf2 100644 --- a/src/BiomeDef.cpp +++ b/src/BiomeDef.cpp @@ -13,79 +13,78 @@ // The "map" used for biome <-> string conversions: static struct { - EMCSBiome m_Biome; + EMCSBiome m_Biome; const char * m_String; -} g_BiomeMap[] = -{ - {biOcean, "Ocean"}, - {biPlains, "Plains"}, - {biDesert, "Desert"}, - {biExtremeHills, "ExtremeHills"}, - {biForest, "Forest"}, - {biTaiga, "Taiga"}, - {biSwampland, "Swampland"}, - {biRiver, "River"}, - {biNether, "Hell"}, - {biNether, "Nether"}, - {biEnd, "Sky"}, - {biEnd, "End"}, - {biFrozenOcean, "FrozenOcean"}, - {biFrozenRiver, "FrozenRiver"}, - {biIcePlains, "IcePlains"}, - {biIcePlains, "Tundra"}, - {biIceMountains, "IceMountains"}, - {biMushroomIsland, "MushroomIsland"}, - {biMushroomShore, "MushroomShore"}, - {biBeach, "Beach"}, - {biDesertHills, "DesertHills"}, - {biForestHills, "ForestHills"}, - {biTaigaHills, "TaigaHills"}, +} g_BiomeMap[] = { + {biOcean, "Ocean"}, + {biPlains, "Plains"}, + {biDesert, "Desert"}, + {biExtremeHills, "ExtremeHills"}, + {biForest, "Forest"}, + {biTaiga, "Taiga"}, + {biSwampland, "Swampland"}, + {biRiver, "River"}, + {biNether, "Hell"}, + {biNether, "Nether"}, + {biEnd, "Sky"}, + {biEnd, "End"}, + {biFrozenOcean, "FrozenOcean"}, + {biFrozenRiver, "FrozenRiver"}, + {biIcePlains, "IcePlains"}, + {biIcePlains, "Tundra"}, + {biIceMountains, "IceMountains"}, + {biMushroomIsland, "MushroomIsland"}, + {biMushroomShore, "MushroomShore"}, + {biBeach, "Beach"}, + {biDesertHills, "DesertHills"}, + {biForestHills, "ForestHills"}, + {biTaigaHills, "TaigaHills"}, {biExtremeHillsEdge, "ExtremeHillsEdge"}, - {biJungle, "Jungle"}, - {biJungleHills, "JungleHills"}, + {biJungle, "Jungle"}, + {biJungleHills, "JungleHills"}, // Release 1.7 biomes: - {biJungleEdge, "JungleEdge"}, - {biDeepOcean, "DeepOcean"}, - {biStoneBeach, "StoneBeach"}, - {biColdBeach, "ColdBeach"}, - {biBirchForest, "BirchForest"}, + {biJungleEdge, "JungleEdge"}, + {biDeepOcean, "DeepOcean"}, + {biStoneBeach, "StoneBeach"}, + {biColdBeach, "ColdBeach"}, + {biBirchForest, "BirchForest"}, {biBirchForestHills, "BirchForestHills"}, - {biRoofedForest, "RoofedForest"}, - {biColdTaiga, "ColdTaiga"}, - {biColdTaigaHills, "ColdTaigaHills"}, - {biMegaTaiga, "MegaTaiga"}, - {biMegaTaigaHills, "MegaTaigaHills"}, + {biRoofedForest, "RoofedForest"}, + {biColdTaiga, "ColdTaiga"}, + {biColdTaigaHills, "ColdTaigaHills"}, + {biMegaTaiga, "MegaTaiga"}, + {biMegaTaigaHills, "MegaTaigaHills"}, {biExtremeHillsPlus, "ExtremeHillsPlus"}, - {biSavanna, "Savanna"}, - {biSavannaPlateau, "SavannaPlateau"}, - {biMesa, "Mesa"}, - {biMesaPlateauF, "MesaPlateauF"}, - {biMesaPlateau, "MesaPlateau"}, + {biSavanna, "Savanna"}, + {biSavannaPlateau, "SavannaPlateau"}, + {biMesa, "Mesa"}, + {biMesaPlateauF, "MesaPlateauF"}, + {biMesaPlateau, "MesaPlateau"}, // Release 1.7 variants: - {biSunflowerPlains, "SunflowerPlains"}, - {biDesertM, "DesertM"}, - {biExtremeHillsM, "ExtremeHillsM"}, - {biFlowerForest, "FlowerForest"}, - {biTaigaM, "TaigaM"}, - {biSwamplandM, "SwamplandM"}, - {biIcePlainsSpikes, "IcePlainsSpikes"}, - {biJungleM, "JungleM"}, - {biJungleEdgeM, "JungleEdgeM"}, - {biBirchForestM, "BirchForestM"}, - {biBirchForestHillsM, "BirchForestHillsM"}, - {biRoofedForestM, "RoofedForestM"}, - {biColdTaigaM, "ColdTaigaM"}, - {biMegaSpruceTaiga, "MegaSpruceTaiga"}, + {biSunflowerPlains, "SunflowerPlains"}, + {biDesertM, "DesertM"}, + {biExtremeHillsM, "ExtremeHillsM"}, + {biFlowerForest, "FlowerForest"}, + {biTaigaM, "TaigaM"}, + {biSwamplandM, "SwamplandM"}, + {biIcePlainsSpikes, "IcePlainsSpikes"}, + {biJungleM, "JungleM"}, + {biJungleEdgeM, "JungleEdgeM"}, + {biBirchForestM, "BirchForestM"}, + {biBirchForestHillsM, "BirchForestHillsM"}, + {biRoofedForestM, "RoofedForestM"}, + {biColdTaigaM, "ColdTaigaM"}, + {biMegaSpruceTaiga, "MegaSpruceTaiga"}, {biMegaSpruceTaigaHills, "MegaSpruceTaigaHills"}, - {biExtremeHillsPlusM, "ExtremeHillsPlusM"}, - {biSavannaM, "SavannaM"}, - {biSavannaPlateauM, "SavannaPlateauM"}, - {biMesaBryce, "MesaBryce"}, - {biMesaPlateauFM, "MesaPlateauFM"}, - {biMesaPlateauM, "MesaPlateauM"}, -} ; + {biExtremeHillsPlusM, "ExtremeHillsPlusM"}, + {biSavannaM, "SavannaM"}, + {biSavannaPlateauM, "SavannaPlateauM"}, + {biMesaBryce, "MesaBryce"}, + {biMesaPlateauFM, "MesaPlateauFM"}, + {biMesaPlateauM, "MesaPlateauM"}, +}; @@ -401,7 +400,3 @@ int GetSnowStartHeight(EMCSBiome a_Biome) } } } - - - - diff --git a/src/BiomeDef.h b/src/BiomeDef.h index a7b2b7e8a..6fe68972b 100644 --- a/src/BiomeDef.h +++ b/src/BiomeDef.h @@ -16,54 +16,54 @@ BiomeIDs over 255 are used by Cuberite internally and are translated to MC biome */ enum EMCSBiome { - biInvalidBiome = -1, - - biFirstBiome = 0, - biOcean = 0, - biPlains = 1, - biDesert = 2, - biExtremeHills = 3, - biForest = 4, - biTaiga = 5, - biSwampland = 6, - biRiver = 7, - biHell = 8, // same as Nether - biNether = 8, - biSky = 9, // same as biEnd - biEnd = 9, - biFrozenOcean = 10, - biFrozenRiver = 11, - biIcePlains = 12, - biTundra = 12, // same as Ice Plains - biIceMountains = 13, - biMushroomIsland = 14, - biMushroomShore = 15, - biBeach = 16, - biDesertHills = 17, - biForestHills = 18, - biTaigaHills = 19, + biInvalidBiome = -1, + + biFirstBiome = 0, + biOcean = 0, + biPlains = 1, + biDesert = 2, + biExtremeHills = 3, + biForest = 4, + biTaiga = 5, + biSwampland = 6, + biRiver = 7, + biHell = 8, // same as Nether + biNether = 8, + biSky = 9, // same as biEnd + biEnd = 9, + biFrozenOcean = 10, + biFrozenRiver = 11, + biIcePlains = 12, + biTundra = 12, // same as Ice Plains + biIceMountains = 13, + biMushroomIsland = 14, + biMushroomShore = 15, + biBeach = 16, + biDesertHills = 17, + biForestHills = 18, + biTaigaHills = 19, biExtremeHillsEdge = 20, - biJungle = 21, - biJungleHills = 22, + biJungle = 21, + biJungleHills = 22, // Release 1.7 biomes: - biJungleEdge = 23, - biDeepOcean = 24, - biStoneBeach = 25, - biColdBeach = 26, - biBirchForest = 27, + biJungleEdge = 23, + biDeepOcean = 24, + biStoneBeach = 25, + biColdBeach = 26, + biBirchForest = 27, biBirchForestHills = 28, - biRoofedForest = 29, - biColdTaiga = 30, - biColdTaigaHills = 31, - biMegaTaiga = 32, - biMegaTaigaHills = 33, + biRoofedForest = 29, + biColdTaiga = 30, + biColdTaigaHills = 31, + biMegaTaiga = 32, + biMegaTaigaHills = 33, biExtremeHillsPlus = 34, - biSavanna = 35, - biSavannaPlateau = 36, - biMesa = 37, - biMesaPlateauF = 38, - biMesaPlateau = 39, + biSavanna = 35, + biSavannaPlateau = 36, + biMesa = 37, + biMesaPlateauF = 38, + biMesaPlateau = 39, // Automatically capture the maximum consecutive biome value into biMaxBiome: biNumBiomes, // True number of biomes, since they are zero-based @@ -73,32 +73,32 @@ enum EMCSBiome biVariant = 128, // Release 1.7 biome variants: - biFirstVariantBiome = 129, - biSunflowerPlains = 129, - biDesertM = 130, - biExtremeHillsM = 131, - biFlowerForest = 132, - biTaigaM = 133, - biSwamplandM = 134, - biIcePlainsSpikes = 140, - biJungleM = 149, - biJungleEdgeM = 151, - biBirchForestM = 155, - biBirchForestHillsM = 156, - biRoofedForestM = 157, - biColdTaigaM = 158, - biMegaSpruceTaiga = 160, + biFirstVariantBiome = 129, + biSunflowerPlains = 129, + biDesertM = 130, + biExtremeHillsM = 131, + biFlowerForest = 132, + biTaigaM = 133, + biSwamplandM = 134, + biIcePlainsSpikes = 140, + biJungleM = 149, + biJungleEdgeM = 151, + biBirchForestM = 155, + biBirchForestHillsM = 156, + biRoofedForestM = 157, + biColdTaigaM = 158, + biMegaSpruceTaiga = 160, biMegaSpruceTaigaHills = 161, - biExtremeHillsPlusM = 162, - biSavannaM = 163, - biSavannaPlateauM = 164, - biMesaBryce = 165, - biMesaPlateauFM = 166, - biMesaPlateauM = 167, + biExtremeHillsPlusM = 162, + biSavannaM = 163, + biSavannaPlateauM = 164, + biMesaBryce = 165, + biMesaPlateauFM = 166, + biMesaPlateauM = 167, // Automatically capture the maximum consecutive biome value into biVarientMaxBiome: biNumVariantBiomes, // True number of biomes, since they are zero-based biMaxVariantBiome = biNumVariantBiomes - 1, // The maximum biome value -} ; +}; // tolua_end @@ -109,11 +109,8 @@ enum EMCSBiome /** Hash for EMCSBiome, so that it can be used in std::unordered_map etc. */ struct BiomeHasher { -public: - std::size_t operator() (const EMCSBiome a_Biome) const - { - return static_cast(a_Biome); - } + public: + std::size_t operator()(const EMCSBiome a_Biome) const { return static_cast(a_Biome); } }; @@ -122,7 +119,8 @@ public: // tolua_begin -/** Translates a biome string to biome enum. Takes either a number or a biome alias (built-in). Returns biInvalidBiome on failure. */ +/** Translates a biome string to biome enum. Takes either a number or a biome alias (built-in). Returns biInvalidBiome + * on failure. */ extern EMCSBiome StringToBiome(const AString & a_BiomeString); /** Translates biome enum into biome string. Returns empty string on failure (unknown biome). */ diff --git a/src/BlockArea.cpp b/src/BlockArea.cpp index 65ada4682..3980b3b10 100644 --- a/src/BlockArea.cpp +++ b/src/BlockArea.cpp @@ -5,8 +5,8 @@ // Please modify compile.sh if you want to rename or remove this file. // This file was chosen arbitrarily and it's a good enough indicator we're in the Cuberite folder. -// Implements the cBlockArea object representing an area of block data that can be queried from cWorld and then accessed again without further queries -// The object also supports writing the blockdata back into cWorld, even into other coords +// Implements the cBlockArea object representing an area of block data that can be queried from cWorld and then accessed +// again without further queries The object also supports writing the blockdata back into cWorld, even into other coords #include "Globals.h" #include "BlockArea.h" @@ -23,27 +23,39 @@ // Disable MSVC warnings: "conditional expression is constant" #ifdef _MSC_VER - #pragma warning(push) - #pragma warning(disable:4127) +#pragma warning(push) +#pragma warning(disable : 4127) #endif -typedef void (CombinatorFunc)(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta); +typedef void(CombinatorFunc)(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta); /** Merges two blocktypes and blockmetas of the specified sizes and offsets using the specified combinator function This wild construct allows us to pass a function argument and still have it inlined by the compiler. */ template void InternalMergeBlocks( - BLOCKTYPE * a_DstTypes, const BLOCKTYPE * a_SrcTypes, - NIBBLETYPE * a_DstMetas, const NIBBLETYPE * a_SrcMetas, - int a_SizeX, int a_SizeY, int a_SizeZ, - int a_SrcOffX, int a_SrcOffY, int a_SrcOffZ, - int a_DstOffX, int a_DstOffY, int a_DstOffZ, - int a_SrcSizeX, int a_SrcSizeY, int a_SrcSizeZ, - int a_DstSizeX, int a_DstSizeY, int a_DstSizeZ + BLOCKTYPE * a_DstTypes, + const BLOCKTYPE * a_SrcTypes, + NIBBLETYPE * a_DstMetas, + const NIBBLETYPE * a_SrcMetas, + int a_SizeX, + int a_SizeY, + int a_SizeZ, + int a_SrcOffX, + int a_SrcOffY, + int a_SrcOffZ, + int a_DstOffX, + int a_DstOffY, + int a_DstOffZ, + int a_SrcSizeX, + int a_SrcSizeY, + int a_SrcSizeZ, + int a_DstSizeX, + int a_DstSizeY, + int a_DstSizeZ ) { UNUSED(a_SrcSizeY); @@ -209,7 +221,12 @@ void MergeCombinatorLake(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE /** Combinator used for cBlockArea::msSpongePrint merging */ template -void MergeCombinatorSpongePrint(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta) +void MergeCombinatorSpongePrint( + BLOCKTYPE & a_DstType, + BLOCKTYPE a_SrcType, + NIBBLETYPE & a_DstMeta, + NIBBLETYPE a_SrcMeta +) { // Sponge overwrites nothing, everything else overwrites anything if (a_SrcType != E_BLOCK_SPONGE) @@ -254,7 +271,12 @@ void MergeCombinatorDifference(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBL /** Combinator used for cBlockArea::msSimpleCompare merging */ template -void MergeCombinatorSimpleCompare(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta) +void MergeCombinatorSimpleCompare( + BLOCKTYPE & a_DstType, + BLOCKTYPE a_SrcType, + NIBBLETYPE & a_DstMeta, + NIBBLETYPE a_SrcMeta +) { if ((a_DstType == a_SrcType) && (!MetaValid || (a_DstMeta == a_SrcMeta))) { @@ -289,7 +311,7 @@ void MergeCombinatorMask(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE // Re-enable previously disabled MSVC warnings #ifdef _MSC_VER - #pragma warning(pop) +#pragma warning(pop) #endif @@ -345,7 +367,10 @@ void cBlockArea::Create(int a_SizeX, int a_SizeY, int a_SizeZ, int a_DataTypes) // Warn if the height is too much, but proceed with the creation: if (a_SizeY > cChunkDef::Height) { - LOGWARNING("Creating a cBlockArea with height larger than world height (%d). Continuing, but the area may misbehave.", a_SizeY); + LOGWARNING( + "Creating a cBlockArea with height larger than world height (%d). Continuing, but the area may misbehave.", + a_SizeY + ); } Clear(); @@ -405,9 +430,8 @@ void cBlockArea::SetOrigin(const Vector3i & a_Origin) bool cBlockArea::IsValidRelCoords(int a_RelX, int a_RelY, int a_RelZ) const { return ( - (a_RelX >= 0) && (a_RelX < m_Size.x) && - (a_RelY >= 0) && (a_RelY < m_Size.y) && - (a_RelZ >= 0) && (a_RelZ < m_Size.z) + (a_RelX >= 0) && (a_RelX < m_Size.x) && (a_RelY >= 0) && (a_RelY < m_Size.y) && (a_RelZ >= 0) && + (a_RelZ < m_Size.z) ); } @@ -442,7 +466,16 @@ bool cBlockArea::IsValidCoords(const Vector3i & a_Coords) const -bool cBlockArea::Read(cForEachChunkProvider & a_ForEachChunkProvider, int a_MinBlockX, int a_MaxBlockX, int a_MinBlockY, int a_MaxBlockY, int a_MinBlockZ, int a_MaxBlockZ, int a_DataTypes) +bool cBlockArea::Read( + cForEachChunkProvider & a_ForEachChunkProvider, + int a_MinBlockX, + int a_MaxBlockX, + int a_MinBlockY, + int a_MaxBlockY, + int a_MinBlockZ, + int a_MaxBlockZ, + int a_DataTypes +) { ASSERT(IsValidDataTypeCombination(a_DataTypes)); ASSERT(cChunkDef::IsValidHeight({a_MinBlockX, a_MinBlockY, a_MinBlockZ})); @@ -489,9 +522,12 @@ bool cBlockArea::Read(cForEachChunkProvider & a_ForEachChunkProvider, const cCub { return Read( a_ForEachChunkProvider, - a_Bounds.p1.x, a_Bounds.p2.x, - a_Bounds.p1.y, a_Bounds.p2.y, - a_Bounds.p1.z, a_Bounds.p2.z, + a_Bounds.p1.x, + a_Bounds.p2.x, + a_Bounds.p1.y, + a_Bounds.p2.y, + a_Bounds.p1.z, + a_Bounds.p2.z, a_DataTypes ); } @@ -500,13 +536,21 @@ bool cBlockArea::Read(cForEachChunkProvider & a_ForEachChunkProvider, const cCub -bool cBlockArea::Read(cForEachChunkProvider & a_ForEachChunkProvider, const Vector3i & a_Point1, const Vector3i & a_Point2, int a_DataTypes) +bool cBlockArea::Read( + cForEachChunkProvider & a_ForEachChunkProvider, + const Vector3i & a_Point1, + const Vector3i & a_Point2, + int a_DataTypes +) { return Read( a_ForEachChunkProvider, - a_Point1.x, a_Point2.x, - a_Point1.y, a_Point2.y, - a_Point1.z, a_Point2.z, + a_Point1.x, + a_Point2.x, + a_Point1.y, + a_Point2.y, + a_Point1.z, + a_Point2.z, a_DataTypes ); } @@ -515,7 +559,13 @@ bool cBlockArea::Read(cForEachChunkProvider & a_ForEachChunkProvider, const Vect -bool cBlockArea::Write(cForEachChunkProvider & a_ForEachChunkProvider, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) +bool cBlockArea::Write( + cForEachChunkProvider & a_ForEachChunkProvider, + int a_MinBlockX, + int a_MinBlockY, + int a_MinBlockZ, + int a_DataTypes +) { ASSERT((a_DataTypes & GetDataTypes()) == a_DataTypes); // Are you requesting only the data that I have? ASSERT(cChunkDef::IsValidHeight({a_MinBlockX, a_MinBlockY, a_MinBlockZ})); @@ -530,11 +580,7 @@ bool cBlockArea::Write(cForEachChunkProvider & a_ForEachChunkProvider, int a_Min bool cBlockArea::Write(cForEachChunkProvider & a_ForEachChunkProvider, const Vector3i & a_MinCoords, int a_DataTypes) { - return Write( - a_ForEachChunkProvider, - a_MinCoords.x, a_MinCoords.y, a_MinCoords.z, - a_DataTypes - ); + return Write(a_ForEachChunkProvider, a_MinCoords.x, a_MinCoords.y, a_MinCoords.z, a_DataTypes); } @@ -572,7 +618,7 @@ void cBlockArea::CopyTo(cBlockArea & a_Into) const if (HasBlockEntities()) { a_Into.m_BlockEntities->clear(); - for (const auto & keyPair: *m_BlockEntities) + for (const auto & keyPair : *m_BlockEntities) { const auto & pos = keyPair.second->GetPos(); a_Into.m_BlockEntities->emplace(keyPair.first, keyPair.second->Clone(pos)); @@ -634,15 +680,17 @@ void cBlockArea::DumpToRawFile(const AString & a_FileName) void cBlockArea::Crop(int a_AddMinX, int a_SubMaxX, int a_AddMinY, int a_SubMaxY, int a_AddMinZ, int a_SubMaxZ) { - if ( - (a_AddMinX + a_SubMaxX >= m_Size.x) || - (a_AddMinY + a_SubMaxY >= m_Size.y) || - (a_AddMinZ + a_SubMaxZ >= m_Size.z) - ) - { - LOGWARNING("cBlockArea:Crop called with more croping than the dimensions: %d x %d x %d with cropping %d, %d and %d", - m_Size.x, m_Size.y, m_Size.z, - a_AddMinX + a_SubMaxX, a_AddMinY + a_SubMaxY, a_AddMinZ + a_SubMaxZ + if ((a_AddMinX + a_SubMaxX >= m_Size.x) || (a_AddMinY + a_SubMaxY >= m_Size.y) || + (a_AddMinZ + a_SubMaxZ >= m_Size.z)) + { + LOGWARNING( + "cBlockArea:Crop called with more croping than the dimensions: %d x %d x %d with cropping %d, %d and %d", + m_Size.x, + m_Size.y, + m_Size.z, + a_AddMinX + a_SubMaxX, + a_AddMinY + a_SubMaxY, + a_AddMinZ + a_SubMaxZ ); return; } @@ -665,13 +713,13 @@ void cBlockArea::Crop(int a_AddMinX, int a_SubMaxX, int a_AddMinY, int a_SubMaxY } if (HasBlockEntities()) { - const Vector3i AddMin{ a_AddMinX, a_AddMinY, a_AddMinZ }; - const cCuboid CropBox{ AddMin, m_Size - Vector3i{a_SubMaxX, a_SubMaxY, a_SubMaxZ} }; + const Vector3i AddMin {a_AddMinX, a_AddMinY, a_AddMinZ}; + const cCuboid CropBox {AddMin, m_Size - Vector3i {a_SubMaxX, a_SubMaxY, a_SubMaxZ}}; // Move and crop block Entities: cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto Pos = be->GetPos(); @@ -718,7 +766,7 @@ void cBlockArea::Expand(int a_SubMinX, int a_AddMaxX, int a_SubMinY, int a_AddMa // Move block entities: cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto posX = be->GetPosX() + a_SubMinX; @@ -770,12 +818,22 @@ void cBlockArea::Merge(const cBlockArea & a_Src, const Vector3i & a_RelMinCoords -void cBlockArea::Fill(int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, NIBBLETYPE a_BlockLight, NIBBLETYPE a_BlockSkyLight) +void cBlockArea::Fill( + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + NIBBLETYPE a_BlockLight, + NIBBLETYPE a_BlockSkyLight +) { if ((a_DataTypes & GetDataTypes()) != a_DataTypes) { - LOGWARNING("%s: requested datatypes that are not present in the BlockArea object, trimming those away (req 0x%x, stor 0x%x)", - __FUNCTION__, a_DataTypes, GetDataTypes() + LOGWARNING( + "%s: requested datatypes that are not present in the BlockArea object, trimming those away (req 0x%x, stor " + "0x%x)", + __FUNCTION__, + a_DataTypes, + GetDataTypes() ); a_DataTypes = a_DataTypes & GetDataTypes(); } @@ -810,7 +868,8 @@ void cBlockArea::Fill(int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_Block } } - // If the area contains block entities, remove those not matching and replace with whatever block entity block was filled + // If the area contains block entities, remove those not matching and replace with whatever block entity block was + // filled if (HasBlockEntities() && ((a_DataTypes & baTypes) != 0)) { if (cBlockEntity::IsBlockEntityBlockType(a_BlockType)) @@ -828,49 +887,71 @@ void cBlockArea::Fill(int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_Block -void cBlockArea::FillRelCuboid(int a_MinRelX, int a_MaxRelX, int a_MinRelY, int a_MaxRelY, int a_MinRelZ, int a_MaxRelZ, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - NIBBLETYPE a_BlockLight, NIBBLETYPE a_BlockSkyLight +void cBlockArea::FillRelCuboid( + int a_MinRelX, + int a_MaxRelX, + int a_MinRelY, + int a_MaxRelY, + int a_MinRelZ, + int a_MaxRelZ, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + NIBBLETYPE a_BlockLight, + NIBBLETYPE a_BlockSkyLight ) { if ((a_DataTypes & GetDataTypes()) != a_DataTypes) { - LOGWARNING("%s: requested datatypes that are not present in the BlockArea object, trimming those away (req 0x%x, stor 0x%x)", - __FUNCTION__, a_DataTypes, GetDataTypes() + LOGWARNING( + "%s: requested datatypes that are not present in the BlockArea object, trimming those away (req 0x%x, stor " + "0x%x)", + __FUNCTION__, + a_DataTypes, + GetDataTypes() ); a_DataTypes = a_DataTypes & GetDataTypes(); } if ((a_DataTypes & baTypes) != 0) { - for (int y = a_MinRelY; y <= a_MaxRelY; y++) for (int z = a_MinRelZ; z <= a_MaxRelZ; z++) for (int x = a_MinRelX; x <= a_MaxRelX; x++) - { - m_BlockTypes[MakeIndex(x, y, z)] = a_BlockType; - } // for x, z, y + for (int y = a_MinRelY; y <= a_MaxRelY; y++) + for (int z = a_MinRelZ; z <= a_MaxRelZ; z++) + for (int x = a_MinRelX; x <= a_MaxRelX; x++) + { + m_BlockTypes[MakeIndex(x, y, z)] = a_BlockType; + } // for x, z, y } if ((a_DataTypes & baMetas) != 0) { - for (int y = a_MinRelY; y <= a_MaxRelY; y++) for (int z = a_MinRelZ; z <= a_MaxRelZ; z++) for (int x = a_MinRelX; x <= a_MaxRelX; x++) - { - m_BlockMetas[MakeIndex(x, y, z)] = a_BlockMeta; - } // for x, z, y + for (int y = a_MinRelY; y <= a_MaxRelY; y++) + for (int z = a_MinRelZ; z <= a_MaxRelZ; z++) + for (int x = a_MinRelX; x <= a_MaxRelX; x++) + { + m_BlockMetas[MakeIndex(x, y, z)] = a_BlockMeta; + } // for x, z, y } if ((a_DataTypes & baLight) != 0) { - for (int y = a_MinRelY; y <= a_MaxRelY; y++) for (int z = a_MinRelZ; z <= a_MaxRelZ; z++) for (int x = a_MinRelX; x <= a_MaxRelX; x++) - { - m_BlockLight[MakeIndex(x, y, z)] = a_BlockLight; - } // for x, z, y + for (int y = a_MinRelY; y <= a_MaxRelY; y++) + for (int z = a_MinRelZ; z <= a_MaxRelZ; z++) + for (int x = a_MinRelX; x <= a_MaxRelX; x++) + { + m_BlockLight[MakeIndex(x, y, z)] = a_BlockLight; + } // for x, z, y } if ((a_DataTypes & baSkyLight) != 0) { - for (int y = a_MinRelY; y <= a_MaxRelY; y++) for (int z = a_MinRelZ; z <= a_MaxRelZ; z++) for (int x = a_MinRelX; x <= a_MaxRelX; x++) - { - m_BlockSkyLight[MakeIndex(x, y, z)] = a_BlockSkyLight; - } // for x, z, y + for (int y = a_MinRelY; y <= a_MaxRelY; y++) + for (int z = a_MinRelZ; z <= a_MaxRelZ; z++) + for (int x = a_MinRelX; x <= a_MaxRelX; x++) + { + m_BlockSkyLight[MakeIndex(x, y, z)] = a_BlockSkyLight; + } // for x, z, y } - // If the area contains block entities, remove those in the affected cuboid and replace with whatever block entity block was filled: + // If the area contains block entities, remove those in the affected cuboid and replace with whatever block entity + // block was filled: if (HasBlockEntities() && ((a_DataTypes & baTypes) != 0)) { if (cBlockEntity::IsBlockEntityBlockType(a_BlockType)) @@ -888,16 +969,27 @@ void cBlockArea::FillRelCuboid(int a_MinRelX, int a_MaxRelX, int a_MinRelY, int -void cBlockArea::FillRelCuboid(const cCuboid & a_RelCuboid, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - NIBBLETYPE a_BlockLight, NIBBLETYPE a_BlockSkyLight +void cBlockArea::FillRelCuboid( + const cCuboid & a_RelCuboid, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + NIBBLETYPE a_BlockLight, + NIBBLETYPE a_BlockSkyLight ) { FillRelCuboid( - a_RelCuboid.p1.x, a_RelCuboid.p2.x, - a_RelCuboid.p1.y, a_RelCuboid.p2.y, - a_RelCuboid.p1.z, a_RelCuboid.p2.z, - a_DataTypes, a_BlockType, a_BlockMeta, a_BlockLight, a_BlockSkyLight + a_RelCuboid.p1.x, + a_RelCuboid.p2.x, + a_RelCuboid.p1.y, + a_RelCuboid.p2.y, + a_RelCuboid.p1.z, + a_RelCuboid.p2.z, + a_DataTypes, + a_BlockType, + a_BlockMeta, + a_BlockLight, + a_BlockSkyLight ); } @@ -905,9 +997,18 @@ void cBlockArea::FillRelCuboid(const cCuboid & a_RelCuboid, -void cBlockArea::RelLine(int a_RelX1, int a_RelY1, int a_RelZ1, int a_RelX2, int a_RelY2, int a_RelZ2, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - NIBBLETYPE a_BlockLight, NIBBLETYPE a_BlockSkyLight +void cBlockArea::RelLine( + int a_RelX1, + int a_RelY1, + int a_RelZ1, + int a_RelX2, + int a_RelY2, + int a_RelZ2, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + NIBBLETYPE a_BlockLight, + NIBBLETYPE a_BlockSkyLight ) { // Bresenham-3D algorithm for drawing lines: @@ -945,7 +1046,7 @@ void cBlockArea::RelLine(int a_RelX1, int a_RelY1, int a_RelZ1, int a_RelX2, int } // move along x - a_RelX1 += sx; + a_RelX1 += sx; yd += dy; zd += dz; } @@ -1022,15 +1123,28 @@ void cBlockArea::RelLine(int a_RelX1, int a_RelY1, int a_RelZ1, int a_RelX2, int -void cBlockArea::RelLine(const Vector3i & a_Point1, const Vector3i & a_Point2, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - NIBBLETYPE a_BlockLight, NIBBLETYPE a_BlockSkyLight +void cBlockArea::RelLine( + const Vector3i & a_Point1, + const Vector3i & a_Point2, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + NIBBLETYPE a_BlockLight, + NIBBLETYPE a_BlockSkyLight ) { RelLine( - a_Point1.x, a_Point1.y, a_Point1.z, - a_Point2.x, a_Point2.y, a_Point2.z, - a_DataTypes, a_BlockType, a_BlockMeta, a_BlockLight, a_BlockSkyLight + a_Point1.x, + a_Point1.y, + a_Point1.z, + a_Point2.x, + a_Point2.y, + a_Point2.z, + a_DataTypes, + a_BlockType, + a_BlockMeta, + a_BlockLight, + a_BlockSkyLight ); } @@ -1054,8 +1168,8 @@ void cBlockArea::RotateCCW(void) } // We are guaranteed that both blocktypes and blockmetas exist; rotate both at the same time: - BLOCKARRAY NewTypes{ new BLOCKTYPE[GetBlockCount()] }; - NIBBLEARRAY NewMetas{ new NIBBLETYPE[GetBlockCount()] }; + BLOCKARRAY NewTypes {new BLOCKTYPE[GetBlockCount()]}; + NIBBLEARRAY NewMetas {new NIBBLETYPE[GetBlockCount()]}; for (int x = 0; x < m_Size.x; x++) { int NewZ = m_Size.x - x - 1; @@ -1064,7 +1178,7 @@ void cBlockArea::RotateCCW(void) int NewX = z; for (int y = 0; y < m_Size.y; y++) { - auto NewIdx = MakeIndexForSize({ NewX, y, NewZ }, { m_Size.z, m_Size.y, m_Size.x }); + auto NewIdx = MakeIndexForSize({NewX, y, NewZ}, {m_Size.z, m_Size.y, m_Size.x}); auto OldIdx = MakeIndex(x, y, z); NewTypes[NewIdx] = m_BlockTypes[OldIdx]; NewMetas[NewIdx] = cBlockHandler::For(m_BlockTypes[OldIdx]).MetaRotateCCW(m_BlockMetas[OldIdx]); @@ -1079,7 +1193,7 @@ void cBlockArea::RotateCCW(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = be->GetPosZ(); @@ -1114,8 +1228,8 @@ void cBlockArea::RotateCW(void) } // We are guaranteed that both blocktypes and blockmetas exist; rotate both at the same time: - BLOCKARRAY NewTypes{ new BLOCKTYPE[GetBlockCount()] }; - NIBBLEARRAY NewMetas{ new NIBBLETYPE[GetBlockCount()] }; + BLOCKARRAY NewTypes {new BLOCKTYPE[GetBlockCount()]}; + NIBBLEARRAY NewMetas {new NIBBLETYPE[GetBlockCount()]}; for (int x = 0; x < m_Size.x; x++) { int NewZ = x; @@ -1124,7 +1238,7 @@ void cBlockArea::RotateCW(void) int NewX = m_Size.z - z - 1; for (int y = 0; y < m_Size.y; y++) { - auto NewIdx = MakeIndexForSize({ NewX, y, NewZ }, { m_Size.z, m_Size.y, m_Size.x }); + auto NewIdx = MakeIndexForSize({NewX, y, NewZ}, {m_Size.z, m_Size.y, m_Size.x}); auto OldIdx = MakeIndex(x, y, z); NewTypes[NewIdx] = m_BlockTypes[OldIdx]; NewMetas[NewIdx] = cBlockHandler::For(m_BlockTypes[OldIdx]).MetaRotateCW(m_BlockMetas[OldIdx]); @@ -1139,7 +1253,7 @@ void cBlockArea::RotateCW(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = m_Size.z - be->GetPosZ() - 1; @@ -1198,7 +1312,7 @@ void cBlockArea::MirrorXY(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = be->GetPosX(); @@ -1255,7 +1369,7 @@ void cBlockArea::MirrorXZ(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = be->GetPosX(); @@ -1312,7 +1426,7 @@ void cBlockArea::MirrorYZ(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = MaxX - be->GetPosX(); @@ -1333,7 +1447,7 @@ void cBlockArea::RotateCCWNoMeta(void) { if (HasBlockTypes()) { - BLOCKARRAY NewTypes{ new BLOCKTYPE[GetBlockCount()] }; + BLOCKARRAY NewTypes {new BLOCKTYPE[GetBlockCount()]}; for (int x = 0; x < m_Size.x; x++) { int NewZ = m_Size.x - x - 1; @@ -1342,7 +1456,8 @@ void cBlockArea::RotateCCWNoMeta(void) int NewX = z; for (int y = 0; y < m_Size.y; y++) { - NewTypes[MakeIndexForSize({ NewX, y, NewZ }, { m_Size.z, m_Size.y, m_Size.x })] = m_BlockTypes[MakeIndex(x, y, z)]; + NewTypes[MakeIndexForSize({NewX, y, NewZ}, {m_Size.z, m_Size.y, m_Size.x})] = + m_BlockTypes[MakeIndex(x, y, z)]; } // for y } // for z } // for x @@ -1350,7 +1465,7 @@ void cBlockArea::RotateCCWNoMeta(void) } if (HasBlockMetas()) { - NIBBLEARRAY NewMetas{ new NIBBLETYPE[GetBlockCount()] }; + NIBBLEARRAY NewMetas {new NIBBLETYPE[GetBlockCount()]}; for (int x = 0; x < m_Size.x; x++) { int NewZ = m_Size.x - x - 1; @@ -1359,7 +1474,8 @@ void cBlockArea::RotateCCWNoMeta(void) int NewX = z; for (int y = 0; y < m_Size.y; y++) { - NewMetas[MakeIndexForSize({ NewX, y, NewZ }, { m_Size.z, m_Size.y, m_Size.x })] = m_BlockMetas[MakeIndex(x, y, z)]; + NewMetas[MakeIndexForSize({NewX, y, NewZ}, {m_Size.z, m_Size.y, m_Size.x})] = + m_BlockMetas[MakeIndex(x, y, z)]; } // for y } // for z } // for x @@ -1371,7 +1487,7 @@ void cBlockArea::RotateCCWNoMeta(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = be->GetPosZ(); @@ -1394,7 +1510,7 @@ void cBlockArea::RotateCWNoMeta(void) { if (HasBlockTypes()) { - BLOCKARRAY NewTypes{ new BLOCKTYPE[GetBlockCount()] }; + BLOCKARRAY NewTypes {new BLOCKTYPE[GetBlockCount()]}; for (int z = 0; z < m_Size.z; z++) { int NewX = m_Size.z - z - 1; @@ -1403,7 +1519,8 @@ void cBlockArea::RotateCWNoMeta(void) int NewZ = x; for (int y = 0; y < m_Size.y; y++) { - NewTypes[MakeIndexForSize({ NewX, y, NewZ }, { m_Size.z, m_Size.y, m_Size.x })] = m_BlockTypes[MakeIndex(x, y, z)]; + NewTypes[MakeIndexForSize({NewX, y, NewZ}, {m_Size.z, m_Size.y, m_Size.x})] = + m_BlockTypes[MakeIndex(x, y, z)]; } // for y } // for x } // for z @@ -1411,7 +1528,7 @@ void cBlockArea::RotateCWNoMeta(void) } if (HasBlockMetas()) { - NIBBLEARRAY NewMetas{ new NIBBLETYPE[GetBlockCount()] }; + NIBBLEARRAY NewMetas {new NIBBLETYPE[GetBlockCount()]}; for (int z = 0; z < m_Size.z; z++) { int NewX = m_Size.z - z - 1; @@ -1420,7 +1537,8 @@ void cBlockArea::RotateCWNoMeta(void) int NewZ = x; for (int y = 0; y < m_Size.y; y++) { - NewMetas[MakeIndexForSize({ NewX, y, NewZ }, { m_Size.z, m_Size.y, m_Size.x })] = m_BlockMetas[MakeIndex(x, y, z)]; + NewMetas[MakeIndexForSize({NewX, y, NewZ}, {m_Size.z, m_Size.y, m_Size.x})] = + m_BlockMetas[MakeIndex(x, y, z)]; } // for y } // for x } // for z @@ -1432,7 +1550,7 @@ void cBlockArea::RotateCWNoMeta(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = m_Size.z - be->GetPosZ() - 1; @@ -1488,7 +1606,7 @@ void cBlockArea::MirrorXYNoMeta(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = be->GetPosX(); @@ -1542,7 +1660,7 @@ void cBlockArea::MirrorXZNoMeta(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = be->GetPosX(); @@ -1596,7 +1714,7 @@ void cBlockArea::MirrorYZNoMeta(void) { cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto & be = keyPair.second; auto newX = MaxX - be->GetPosX(); @@ -1784,7 +1902,13 @@ NIBBLETYPE cBlockArea::GetBlockSkyLight(int a_BlockX, int a_BlockY, int a_BlockZ -void cBlockArea::SetBlockTypeMeta(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +void cBlockArea::SetBlockTypeMeta( + int a_BlockX, + int a_BlockY, + int a_BlockZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { SetRelBlockTypeMeta(a_BlockX - m_Origin.x, a_BlockY - m_Origin.y, a_BlockZ - m_Origin.z, a_BlockType, a_BlockMeta); } @@ -1793,7 +1917,7 @@ void cBlockArea::SetBlockTypeMeta(int a_BlockX, int a_BlockY, int a_BlockZ, BLOC -void cBlockArea::SetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +void cBlockArea::SetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { auto idx = MakeIndex(a_RelX, a_RelY, a_RelZ); if (m_BlockTypes == nullptr) @@ -1828,7 +1952,10 @@ void cBlockArea::SetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, B } if (cBlockEntity::IsBlockEntityBlockType(a_BlockType)) { - m_BlockEntities->emplace(idx, cBlockEntity::CreateByBlockType(a_BlockType, a_BlockMeta, {a_RelX, a_RelY, a_RelZ})); + m_BlockEntities->emplace( + idx, + cBlockEntity::CreateByBlockType(a_BlockType, a_BlockMeta, {a_RelX, a_RelY, a_RelZ}) + ); } } } @@ -1837,16 +1964,34 @@ void cBlockArea::SetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, B -void cBlockArea::GetBlockTypeMeta(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const +void cBlockArea::GetBlockTypeMeta( + int a_BlockX, + int a_BlockY, + int a_BlockZ, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_BlockMeta +) const { - return GetRelBlockTypeMeta(a_BlockX - m_Origin.x, a_BlockY - m_Origin.y, a_BlockZ - m_Origin.z, a_BlockType, a_BlockMeta); + return GetRelBlockTypeMeta( + a_BlockX - m_Origin.x, + a_BlockY - m_Origin.y, + a_BlockZ - m_Origin.z, + a_BlockType, + a_BlockMeta + ); } -void cBlockArea::GetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const +void cBlockArea::GetRelBlockTypeMeta( + int a_RelX, + int a_RelY, + int a_RelZ, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_BlockMeta +) const { auto idx = MakeIndex(a_RelX, a_RelY, a_RelZ); if (m_BlockTypes == nullptr) @@ -1876,10 +2021,7 @@ void cBlockArea::GetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTY cCuboid cBlockArea::GetBounds(void) const { - return cCuboid( - m_Origin, - m_Origin + m_Size - Vector3i(1, 1, 1) - ); + return cCuboid(m_Origin, m_Origin + m_Size - Vector3i(1, 1, 1)); } @@ -1976,7 +2118,15 @@ size_t cBlockArea::CountSpecificBlocks(BLOCKTYPE a_BlockType, NIBBLETYPE a_Block -void cBlockArea::GetNonAirCropRelCoords(int & a_MinRelX, int & a_MinRelY, int & a_MinRelZ, int & a_MaxRelX, int & a_MaxRelY, int & a_MaxRelZ, BLOCKTYPE a_IgnoreBlockType) +void cBlockArea::GetNonAirCropRelCoords( + int & a_MinRelX, + int & a_MinRelY, + int & a_MinRelZ, + int & a_MaxRelX, + int & a_MaxRelY, + int & a_MaxRelZ, + BLOCKTYPE a_IgnoreBlockType +) { // Check if blocktypes are valid: if (m_BlockTypes == nullptr) @@ -2190,7 +2340,7 @@ bool cBlockArea::ForEachBlockEntity(cBlockEntityCallback a_Callback) { return true; } - for (auto & keyPair: *m_BlockEntities) + for (auto & keyPair : *m_BlockEntities) { if (a_Callback(*keyPair.second)) { @@ -2250,12 +2400,19 @@ NIBBLETYPE cBlockArea::GetNibble(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBL -void cBlockArea::CropBlockTypes(int a_AddMinX, int a_SubMaxX, int a_AddMinY, int a_SubMaxY, int a_AddMinZ, int a_SubMaxZ) +void cBlockArea::CropBlockTypes( + int a_AddMinX, + int a_SubMaxX, + int a_AddMinY, + int a_SubMaxY, + int a_AddMinZ, + int a_SubMaxZ +) { int NewSizeX = GetSizeX() - a_AddMinX - a_SubMaxX; int NewSizeY = GetSizeY() - a_AddMinY - a_SubMaxY; int NewSizeZ = GetSizeZ() - a_AddMinZ - a_SubMaxZ; - BLOCKARRAY NewBlockTypes{ new BLOCKTYPE[ToUnsigned(NewSizeX * NewSizeY * NewSizeZ)] }; + BLOCKARRAY NewBlockTypes {new BLOCKTYPE[ToUnsigned(NewSizeX * NewSizeY * NewSizeZ)]}; size_t idx = 0; for (int y = 0; y < NewSizeY; y++) { @@ -2275,12 +2432,20 @@ void cBlockArea::CropBlockTypes(int a_AddMinX, int a_SubMaxX, int a_AddMinY, int -void cBlockArea::CropNibbles(NIBBLEARRAY & a_Array, int a_AddMinX, int a_SubMaxX, int a_AddMinY, int a_SubMaxY, int a_AddMinZ, int a_SubMaxZ) +void cBlockArea::CropNibbles( + NIBBLEARRAY & a_Array, + int a_AddMinX, + int a_SubMaxX, + int a_AddMinY, + int a_SubMaxY, + int a_AddMinZ, + int a_SubMaxZ +) { int NewSizeX = GetSizeX() - a_AddMinX - a_SubMaxX; int NewSizeY = GetSizeY() - a_AddMinY - a_SubMaxY; int NewSizeZ = GetSizeZ() - a_AddMinZ - a_SubMaxZ; - NIBBLEARRAY NewNibbles{ new NIBBLETYPE[ToUnsigned(NewSizeX * NewSizeY * NewSizeZ)] }; + NIBBLEARRAY NewNibbles {new NIBBLETYPE[ToUnsigned(NewSizeX * NewSizeY * NewSizeZ)]}; size_t idx = 0; for (int y = 0; y < NewSizeY; y++) { @@ -2299,13 +2464,20 @@ void cBlockArea::CropNibbles(NIBBLEARRAY & a_Array, int a_AddMinX, int a_SubMaxX -void cBlockArea::ExpandBlockTypes(int a_SubMinX, int a_AddMaxX, int a_SubMinY, int a_AddMaxY, int a_SubMinZ, int a_AddMaxZ) +void cBlockArea::ExpandBlockTypes( + int a_SubMinX, + int a_AddMaxX, + int a_SubMinY, + int a_AddMaxY, + int a_SubMinZ, + int a_AddMaxZ +) { int NewSizeX = m_Size.x + a_SubMinX + a_AddMaxX; int NewSizeY = m_Size.y + a_SubMinY + a_AddMaxY; int NewSizeZ = m_Size.z + a_SubMinZ + a_AddMaxZ; size_t BlockCount = static_cast(NewSizeX * NewSizeY * NewSizeZ); - BLOCKARRAY NewBlockTypes{ new BLOCKTYPE[BlockCount] }; + BLOCKARRAY NewBlockTypes {new BLOCKTYPE[BlockCount]}; memset(NewBlockTypes.get(), 0, BlockCount * sizeof(BLOCKTYPE)); size_t OldIndex = 0; for (int y = 0; y < m_Size.y; y++) @@ -2328,13 +2500,21 @@ void cBlockArea::ExpandBlockTypes(int a_SubMinX, int a_AddMaxX, int a_SubMinY, i -void cBlockArea::ExpandNibbles(NIBBLEARRAY & a_Array, int a_SubMinX, int a_AddMaxX, int a_SubMinY, int a_AddMaxY, int a_SubMinZ, int a_AddMaxZ) +void cBlockArea::ExpandNibbles( + NIBBLEARRAY & a_Array, + int a_SubMinX, + int a_AddMaxX, + int a_SubMinY, + int a_AddMaxY, + int a_SubMinZ, + int a_AddMaxZ +) { int NewSizeX = m_Size.x + a_SubMinX + a_AddMaxX; int NewSizeY = m_Size.y + a_SubMinY + a_AddMaxY; int NewSizeZ = m_Size.z + a_SubMinZ + a_AddMaxZ; size_t BlockCount = static_cast(NewSizeX * NewSizeY * NewSizeZ); - NIBBLEARRAY NewNibbles{ new NIBBLETYPE[BlockCount] }; + NIBBLEARRAY NewNibbles {new NIBBLETYPE[BlockCount]}; memset(NewNibbles.get(), 0, BlockCount * sizeof(NIBBLETYPE)); size_t OldIndex = 0; for (int y = 0; y < m_Size.y; y++) @@ -2358,9 +2538,14 @@ void cBlockArea::ExpandNibbles(NIBBLEARRAY & a_Array, int a_SubMinX, int a_AddMa void cBlockArea::RelSetData( - int a_RelX, int a_RelY, int a_RelZ, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - NIBBLETYPE a_BlockLight, NIBBLETYPE a_BlockSkyLight + int a_RelX, + int a_RelY, + int a_RelZ, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + NIBBLETYPE a_BlockLight, + NIBBLETYPE a_BlockSkyLight ) { if (!IsValidCoords(a_RelX, a_RelY, a_RelZ)) @@ -2403,7 +2588,10 @@ void cBlockArea::RelSetData( if (cBlockEntity::IsBlockEntityBlockType(a_BlockType)) { // The block type should have a block entity attached to it, create an empty one: - m_BlockEntities->emplace(Index, cBlockEntity::CreateByBlockType(a_BlockType, a_BlockMeta, {a_RelX, a_RelY, a_RelZ})); + m_BlockEntities->emplace( + Index, + cBlockEntity::CreateByBlockType(a_BlockType, a_BlockMeta, {a_RelX, a_RelY, a_RelZ}) + ); } } } @@ -2413,7 +2601,15 @@ void cBlockArea::RelSetData( template -void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_RelY, int a_RelZ, eMergeStrategy a_Strategy, const NIBBLETYPE * SrcMetas, NIBBLETYPE * DstMetas) +void cBlockArea::MergeByStrategy( + const cBlockArea & a_Src, + int a_RelX, + int a_RelY, + int a_RelZ, + eMergeStrategy a_Strategy, + const NIBBLETYPE * SrcMetas, + NIBBLETYPE * DstMetas +) { // Block types are compulsory, block metas are optional if (!HasBlockTypes() || !a_Src.HasBlockTypes()) @@ -2424,16 +2620,16 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel // Dst is *this, Src is a_Src int SrcOffX = std::max(0, -a_RelX); // Offset in Src where to start reading - int DstOffX = std::max(0, a_RelX); // Offset in Dst where to start writing - int SizeX = std::min(a_Src.GetSizeX() - SrcOffX, GetSizeX() - DstOffX); // How many blocks to copy + int DstOffX = std::max(0, a_RelX); // Offset in Dst where to start writing + int SizeX = std::min(a_Src.GetSizeX() - SrcOffX, GetSizeX() - DstOffX); // How many blocks to copy int SrcOffY = std::max(0, -a_RelY); // Offset in Src where to start reading - int DstOffY = std::max(0, a_RelY); // Offset in Dst where to start writing - int SizeY = std::min(a_Src.GetSizeY() - SrcOffY, GetSizeY() - DstOffY); // How many blocks to copy + int DstOffY = std::max(0, a_RelY); // Offset in Dst where to start writing + int SizeY = std::min(a_Src.GetSizeY() - SrcOffY, GetSizeY() - DstOffY); // How many blocks to copy int SrcOffZ = std::max(0, -a_RelZ); // Offset in Src where to start reading - int DstOffZ = std::max(0, a_RelZ); // Offset in Dst where to start writing - int SizeZ = std::min(a_Src.GetSizeZ() - SrcOffZ, GetSizeZ() - DstOffZ); // How many blocks to copy + int DstOffZ = std::max(0, a_RelZ); // Offset in Dst where to start writing + int SizeZ = std::min(a_Src.GetSizeZ() - SrcOffZ, GetSizeZ() - DstOffZ); // How many blocks to copy [&] { @@ -2441,112 +2637,208 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel { case cBlockArea::msOverwrite: { - InternalMergeBlocks >( - GetBlockTypes(), a_Src.GetBlockTypes(), - DstMetas, SrcMetas, - SizeX, SizeY, SizeZ, - SrcOffX, SrcOffY, SrcOffZ, - DstOffX, DstOffY, DstOffZ, - a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(), - m_Size.x, m_Size.y, m_Size.z + InternalMergeBlocks>( + GetBlockTypes(), + a_Src.GetBlockTypes(), + DstMetas, + SrcMetas, + SizeX, + SizeY, + SizeZ, + SrcOffX, + SrcOffY, + SrcOffZ, + DstOffX, + DstOffY, + DstOffZ, + a_Src.GetSizeX(), + a_Src.GetSizeY(), + a_Src.GetSizeZ(), + m_Size.x, + m_Size.y, + m_Size.z ); return; } // case msOverwrite case cBlockArea::msFillAir: { - InternalMergeBlocks >( - GetBlockTypes(), a_Src.GetBlockTypes(), - DstMetas, SrcMetas, - SizeX, SizeY, SizeZ, - SrcOffX, SrcOffY, SrcOffZ, - DstOffX, DstOffY, DstOffZ, - a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(), - m_Size.x, m_Size.y, m_Size.z + InternalMergeBlocks>( + GetBlockTypes(), + a_Src.GetBlockTypes(), + DstMetas, + SrcMetas, + SizeX, + SizeY, + SizeZ, + SrcOffX, + SrcOffY, + SrcOffZ, + DstOffX, + DstOffY, + DstOffZ, + a_Src.GetSizeX(), + a_Src.GetSizeY(), + a_Src.GetSizeZ(), + m_Size.x, + m_Size.y, + m_Size.z ); return; } // case msFillAir case cBlockArea::msImprint: { - InternalMergeBlocks >( - GetBlockTypes(), a_Src.GetBlockTypes(), - DstMetas, SrcMetas, - SizeX, SizeY, SizeZ, - SrcOffX, SrcOffY, SrcOffZ, - DstOffX, DstOffY, DstOffZ, - a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(), - m_Size.x, m_Size.y, m_Size.z + InternalMergeBlocks>( + GetBlockTypes(), + a_Src.GetBlockTypes(), + DstMetas, + SrcMetas, + SizeX, + SizeY, + SizeZ, + SrcOffX, + SrcOffY, + SrcOffZ, + DstOffX, + DstOffY, + DstOffZ, + a_Src.GetSizeX(), + a_Src.GetSizeY(), + a_Src.GetSizeZ(), + m_Size.x, + m_Size.y, + m_Size.z ); return; } // case msImprint case cBlockArea::msLake: { - InternalMergeBlocks >( - GetBlockTypes(), a_Src.GetBlockTypes(), - DstMetas, SrcMetas, - SizeX, SizeY, SizeZ, - SrcOffX, SrcOffY, SrcOffZ, - DstOffX, DstOffY, DstOffZ, - a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(), - m_Size.x, m_Size.y, m_Size.z + InternalMergeBlocks>( + GetBlockTypes(), + a_Src.GetBlockTypes(), + DstMetas, + SrcMetas, + SizeX, + SizeY, + SizeZ, + SrcOffX, + SrcOffY, + SrcOffZ, + DstOffX, + DstOffY, + DstOffZ, + a_Src.GetSizeX(), + a_Src.GetSizeY(), + a_Src.GetSizeZ(), + m_Size.x, + m_Size.y, + m_Size.z ); return; } // case msLake case cBlockArea::msSpongePrint: { - InternalMergeBlocks >( - GetBlockTypes(), a_Src.GetBlockTypes(), - DstMetas, SrcMetas, - SizeX, SizeY, SizeZ, - SrcOffX, SrcOffY, SrcOffZ, - DstOffX, DstOffY, DstOffZ, - a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(), - m_Size.x, m_Size.y, m_Size.z + InternalMergeBlocks>( + GetBlockTypes(), + a_Src.GetBlockTypes(), + DstMetas, + SrcMetas, + SizeX, + SizeY, + SizeZ, + SrcOffX, + SrcOffY, + SrcOffZ, + DstOffX, + DstOffY, + DstOffZ, + a_Src.GetSizeX(), + a_Src.GetSizeY(), + a_Src.GetSizeZ(), + m_Size.x, + m_Size.y, + m_Size.z ); return; } // case msSpongePrint case cBlockArea::msDifference: { - InternalMergeBlocks >( - GetBlockTypes(), a_Src.GetBlockTypes(), - DstMetas, SrcMetas, - SizeX, SizeY, SizeZ, - SrcOffX, SrcOffY, SrcOffZ, - DstOffX, DstOffY, DstOffZ, - a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(), - m_Size.x, m_Size.y, m_Size.z + InternalMergeBlocks>( + GetBlockTypes(), + a_Src.GetBlockTypes(), + DstMetas, + SrcMetas, + SizeX, + SizeY, + SizeZ, + SrcOffX, + SrcOffY, + SrcOffZ, + DstOffX, + DstOffY, + DstOffZ, + a_Src.GetSizeX(), + a_Src.GetSizeY(), + a_Src.GetSizeZ(), + m_Size.x, + m_Size.y, + m_Size.z ); return; } // case msDifference case cBlockArea::msSimpleCompare: { - InternalMergeBlocks >( - GetBlockTypes(), a_Src.GetBlockTypes(), - DstMetas, SrcMetas, - SizeX, SizeY, SizeZ, - SrcOffX, SrcOffY, SrcOffZ, - DstOffX, DstOffY, DstOffZ, - a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(), - m_Size.x, m_Size.y, m_Size.z + InternalMergeBlocks>( + GetBlockTypes(), + a_Src.GetBlockTypes(), + DstMetas, + SrcMetas, + SizeX, + SizeY, + SizeZ, + SrcOffX, + SrcOffY, + SrcOffZ, + DstOffX, + DstOffY, + DstOffZ, + a_Src.GetSizeX(), + a_Src.GetSizeY(), + a_Src.GetSizeZ(), + m_Size.x, + m_Size.y, + m_Size.z ); return; } // case msSimpleCompare case cBlockArea::msMask: { - InternalMergeBlocks >( - GetBlockTypes(), a_Src.GetBlockTypes(), - DstMetas, SrcMetas, - SizeX, SizeY, SizeZ, - SrcOffX, SrcOffY, SrcOffZ, - DstOffX, DstOffY, DstOffZ, - a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(), - m_Size.x, m_Size.y, m_Size.z + InternalMergeBlocks>( + GetBlockTypes(), + a_Src.GetBlockTypes(), + DstMetas, + SrcMetas, + SizeX, + SizeY, + SizeZ, + SrcOffX, + SrcOffY, + SrcOffZ, + DstOffX, + DstOffY, + DstOffZ, + a_Src.GetSizeX(), + a_Src.GetSizeY(), + a_Src.GetSizeZ(), + m_Size.x, + m_Size.y, + m_Size.z ); return; } // case msMask @@ -2583,41 +2875,43 @@ void cBlockArea::MergeBlockEntities(int a_RelX, int a_RelY, int a_RelZ, const cB RemoveNonMatchingBlockEntities(); // Clone BEs from a_Src wherever a BE is missing: - for (int y = 0; y < m_Size.y; ++y) for (int z = 0; z < m_Size.z; ++z) for (int x = 0; x < m_Size.x; ++x) - { - auto idx = MakeIndex(x, y, z); - auto type = m_BlockTypes[idx]; - if (!cBlockEntity::IsBlockEntityBlockType(type)) - { - continue; - } + for (int y = 0; y < m_Size.y; ++y) + for (int z = 0; z < m_Size.z; ++z) + for (int x = 0; x < m_Size.x; ++x) + { + auto idx = MakeIndex(x, y, z); + auto type = m_BlockTypes[idx]; + if (!cBlockEntity::IsBlockEntityBlockType(type)) + { + continue; + } - // This block should have a block entity, check that there is one: - auto itr = m_BlockEntities->find(idx); - if (itr != m_BlockEntities->end()) - { - // There is one already - continue; - } + // This block should have a block entity, check that there is one: + auto itr = m_BlockEntities->find(idx); + if (itr != m_BlockEntities->end()) + { + // There is one already + continue; + } - // Copy a BE from a_Src, if it exists there: - auto srcX = x + a_RelX; - auto srcY = y + a_RelY; - auto srcZ = z + a_RelZ; - if (a_Src.IsValidRelCoords(srcX, srcY, srcZ)) - { - auto srcIdx = a_Src.MakeIndex(srcX, srcY, srcZ); - auto itrSrc = a_Src.m_BlockEntities->find(srcIdx); - if (itrSrc != a_Src.m_BlockEntities->end()) - { - m_BlockEntities->emplace(idx, itrSrc->second->Clone({x, y, z})); - continue; - } - } - // No BE found in a_Src, insert a new empty one: - NIBBLETYPE meta = HasBlockMetas() ? m_BlockMetas[idx] : 0; - m_BlockEntities->emplace(idx, cBlockEntity::CreateByBlockType(type, meta, {x, y, z})); - } // for x, z, y + // Copy a BE from a_Src, if it exists there: + auto srcX = x + a_RelX; + auto srcY = y + a_RelY; + auto srcZ = z + a_RelZ; + if (a_Src.IsValidRelCoords(srcX, srcY, srcZ)) + { + auto srcIdx = a_Src.MakeIndex(srcX, srcY, srcZ); + auto itrSrc = a_Src.m_BlockEntities->find(srcIdx); + if (itrSrc != a_Src.m_BlockEntities->end()) + { + m_BlockEntities->emplace(idx, itrSrc->second->Clone({x, y, z})); + continue; + } + } + // No BE found in a_Src, insert a new empty one: + NIBBLETYPE meta = HasBlockMetas() ? m_BlockMetas[idx] : 0; + m_BlockEntities->emplace(idx, cBlockEntity::CreateByBlockType(type, meta, {x, y, z})); + } // for x, z, y } @@ -2636,24 +2930,26 @@ void cBlockArea::RescanBlockEntities(void) RemoveNonMatchingBlockEntities(); // Add block entities for all block types that should have a BE assigned to them: - for (int y = 0; y < m_Size.y; ++y) for (int z = 0; z < m_Size.z; ++z) for (int x = 0; x < m_Size.x; ++x) - { - auto idx = MakeIndex(x, y, z); - auto type = m_BlockTypes[idx]; - if (!cBlockEntity::IsBlockEntityBlockType(type)) - { - continue; - } - // This block should have a block entity, check that there is one: - auto itr = m_BlockEntities->find(idx); - if (itr != m_BlockEntities->end()) - { - continue; - } - // Create a new BE for this block: - NIBBLETYPE meta = HasBlockMetas() ? m_BlockMetas[idx] : 0; - m_BlockEntities->emplace(idx, cBlockEntity::CreateByBlockType(type, meta, {x, y, z})); - } // for x, z, y + for (int y = 0; y < m_Size.y; ++y) + for (int z = 0; z < m_Size.z; ++z) + for (int x = 0; x < m_Size.x; ++x) + { + auto idx = MakeIndex(x, y, z); + auto type = m_BlockTypes[idx]; + if (!cBlockEntity::IsBlockEntityBlockType(type)) + { + continue; + } + // This block should have a block entity, check that there is one: + auto itr = m_BlockEntities->find(idx); + if (itr != m_BlockEntities->end()) + { + continue; + } + // Create a new BE for this block: + NIBBLETYPE meta = HasBlockMetas() ? m_BlockMetas[idx] : 0; + m_BlockEntities->emplace(idx, cBlockEntity::CreateByBlockType(type, meta, {x, y, z})); + } // for x, z, y } @@ -2668,7 +2964,7 @@ void cBlockArea::RemoveNonMatchingBlockEntities(void) cBlockEntities oldBE; std::swap(oldBE, *m_BlockEntities); - for (auto & keyPair: oldBE) + for (auto & keyPair : oldBE) { auto type = m_BlockTypes[static_cast(keyPair.first)]; if (type == keyPair.second->GetBlockType()) @@ -2768,7 +3064,8 @@ void cBlockArea::cChunkReader::CopyNibbles(NIBBLETYPE * a_AreaDst, const NIBBLET { int ChunkX = BaseX + x; int AreaX = OffX + x; - a_AreaDst[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = cChunkDef::GetNibble(a_ChunkSrc, ChunkX, ChunkY, ChunkZ); + a_AreaDst[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = + cChunkDef::GetNibble(a_ChunkSrc, ChunkX, ChunkY, ChunkZ); } // for x } // for z } // for y @@ -2848,7 +3145,8 @@ void cBlockArea::cChunkReader::ChunkData(const ChunkBlockData & a_BlockData, con { int InChunkX = BaseX + x; int AreaX = OffX + x; - m_Area.m_BlockTypes[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = a_BlockData.GetBlock({ InChunkX, InChunkY, InChunkZ }); + m_Area.m_BlockTypes[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = + a_BlockData.GetBlock({InChunkX, InChunkY, InChunkZ}); } // for x } // for z } // for y @@ -2869,7 +3167,8 @@ void cBlockArea::cChunkReader::ChunkData(const ChunkBlockData & a_BlockData, con { int InChunkX = BaseX + x; int AreaX = OffX + x; - m_Area.m_BlockMetas[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = a_BlockData.GetMeta({ InChunkX, InChunkY, InChunkZ }); + m_Area.m_BlockMetas[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = + a_BlockData.GetMeta({InChunkX, InChunkY, InChunkZ}); } // for x } // for z } // for y @@ -2890,7 +3189,8 @@ void cBlockArea::cChunkReader::ChunkData(const ChunkBlockData & a_BlockData, con { int InChunkX = BaseX + x; int AreaX = OffX + x; - m_Area.m_BlockLight[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = a_LightData.GetBlockLight({ InChunkX, InChunkY, InChunkZ }); + m_Area.m_BlockLight[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = + a_LightData.GetBlockLight({InChunkX, InChunkY, InChunkZ}); } // for x } // for z } // for y @@ -2911,7 +3211,8 @@ void cBlockArea::cChunkReader::ChunkData(const ChunkBlockData & a_BlockData, con { int InChunkX = BaseX + x; int AreaX = OffX + x; - m_Area.m_BlockSkyLight[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = a_LightData.GetSkyLight({ InChunkX, InChunkY, InChunkZ }); + m_Area.m_BlockSkyLight[m_Area.MakeIndex(AreaX, AreaY, AreaZ)] = + a_LightData.GetSkyLight({InChunkX, InChunkY, InChunkZ}); } // for x } // for z } // for y @@ -2936,8 +3237,3 @@ void cBlockArea::cChunkReader::BlockEntity(cBlockEntity * a_BlockEntity) auto Idx = m_Area.MakeIndex(areaPos); m_Area.m_BlockEntities->emplace(Idx, a_BlockEntity->Clone(areaPos)); } - - - - - diff --git a/src/BlockArea.h b/src/BlockArea.h index b672a18ec..17a3c2162 100644 --- a/src/BlockArea.h +++ b/src/BlockArea.h @@ -1,11 +1,13 @@ // BlockArea.h -// Interfaces to the cBlockArea object representing an area of block data that can be queried from cWorld and then accessed again without further queries -// The object also supports writing the blockdata back into cWorld, even into other coords +// Interfaces to the cBlockArea object representing an area of block data that can be queried from cWorld and then +// accessed again without further queries The object also supports writing the blockdata back into cWorld, even into +// other coords // NOTE: All Nibble values (meta, blocklight, skylight) are stored one-nibble-per-byte for faster access / editting! -// NOTE: Lua bindings for this object explicitly check parameter values. C++ code is expected to pass in valid params, so the functions ASSERT on invalid params. +// NOTE: Lua bindings for this object explicitly check parameter values. C++ code is expected to pass in valid params, +// so the functions ASSERT on invalid params. // This includes the datatypes (must be present / valid combination), coords and sizes. @@ -40,18 +42,17 @@ class cBlockArea DISALLOW_COPY_AND_ASSIGN(cBlockArea); // tolua_begin -public: - + public: /** What data is to be queried (bit-mask) */ enum { - baTypes = 1, - baMetas = 2, - baLight = 4, - baSkyLight = 8, + baTypes = 1, + baMetas = 2, + baLight = 4, + baSkyLight = 8, // baEntities = 16, // Not supported yet baBlockEntities = 32, - } ; + }; /** The per-block strategy to use when merging another block area into this object. See the Merge function for the description of these */ @@ -65,7 +66,7 @@ public: msDifference, msSimpleCompare, msMask, - } ; + }; cBlockArea(void); @@ -111,35 +112,60 @@ public: // tolua_end /** Reads an area of blocks specified. Returns true if successful. All coords are inclusive. */ - bool Read(cForEachChunkProvider & a_ForEachChunkProvider, int a_MinBlockX, int a_MaxBlockX, int a_MinBlockY, int a_MaxBlockY, int a_MinBlockZ, int a_MaxBlockZ, int a_DataTypes = baTypes | baMetas | baBlockEntities); + bool Read( + cForEachChunkProvider & a_ForEachChunkProvider, + int a_MinBlockX, + int a_MaxBlockX, + int a_MinBlockY, + int a_MaxBlockY, + int a_MinBlockZ, + int a_MaxBlockZ, + int a_DataTypes = baTypes | baMetas | baBlockEntities + ); /** Reads an area of blocks specified. Returns true if successful. The bounds are included in the read area. */ - bool Read(cForEachChunkProvider & a_ForEachChunkProvider, const cCuboid & a_Bounds, int a_DataTypes = baTypes | baMetas | baBlockEntities); + bool Read( + cForEachChunkProvider & a_ForEachChunkProvider, + const cCuboid & a_Bounds, + int a_DataTypes = baTypes | baMetas | baBlockEntities + ); /** Reads an area of blocks specified. Returns true if successful. The bounds are included in the read area. */ - bool Read(cForEachChunkProvider & a_ForEachChunkProvider, const Vector3i & a_Point1, const Vector3i & a_Point2, int a_DataTypes = baTypes | baMetas | baBlockEntities); - - // TODO: Write() is not too good an interface: if it fails, there's no way to repeat only for the parts that didn't write - // A better way may be to return a list of cBlockAreas for each part that didn't succeed writing, so that the caller may try again + bool Read( + cForEachChunkProvider & a_ForEachChunkProvider, + const Vector3i & a_Point1, + const Vector3i & a_Point2, + int a_DataTypes = baTypes | baMetas | baBlockEntities + ); - /** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if only partially / not at all. - Doesn't wake up the simulators. */ - bool Write(cForEachChunkProvider & a_ForEachChunkProvider, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes); + // TODO: Write() is not too good an interface: if it fails, there's no way to repeat only for the parts that didn't + // write A better way may be to return a list of cBlockAreas for each part that didn't succeed writing, so that the + // caller may try again + + /** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if + only partially / not at all. Doesn't wake up the simulators. */ + bool Write( + cForEachChunkProvider & a_ForEachChunkProvider, + int a_MinBlockX, + int a_MinBlockY, + int a_MinBlockZ, + int a_DataTypes + ); - /** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if only partially / not at all. - Doesn't wake up the simulators. */ + /** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if + only partially / not at all. Doesn't wake up the simulators. */ bool Write(cForEachChunkProvider & a_ForEachChunkProvider, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ) { // Write all available data return Write(a_ForEachChunkProvider, a_MinBlockX, a_MinBlockY, a_MinBlockZ, GetDataTypes()); } - /** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if only partially / not at all. - Doesn't wake up the simulators. */ + /** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if + only partially / not at all. Doesn't wake up the simulators. */ bool Write(cForEachChunkProvider & a_ForEachChunkProvider, const Vector3i & a_MinCoords, int a_DataTypes); - /** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if only partially / not at all. - Doesn't wake up the simulators. */ + /** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if + only partially / not at all. Doesn't wake up the simulators. */ bool Write(cForEachChunkProvider & a_ForEachChunkProvider, const Vector3i & a_MinCoords) { // Write all available data @@ -166,10 +192,10 @@ public: /** Merges another block area into this one, using the specified block combinating strategy This function combines another BlockArea into the current object. The a_RelX, a_RelY and a_RelZ parameters specify the coords of this BA where a_Src should be copied. - If both areas contain baBlockEntities, the BEs are merged (with preference of keeping this' ones) (MergeBlockEntities()). - If only this contains BEs, but a_Src doesn't, the BEs are checked after merge to remove the overwritten ones and create - the missing ones (UpdateBlockEntities()). - The strategy parameter specifies how individual blocks are combined together, using the table below. + If both areas contain baBlockEntities, the BEs are merged (with preference of keeping this' ones) + (MergeBlockEntities()). If only this contains BEs, but a_Src doesn't, the BEs are checked after merge to remove the + overwritten ones and create the missing ones (UpdateBlockEntities()). The strategy parameter specifies how + individual blocks are combined together, using the table below. | area block | result | | this | Src | msOverwrite | msFillAir | msImprint | @@ -218,9 +244,8 @@ public: | A | non-A | A | Differring blocks are kept from "this" msSimpleCompare: - Used to determine the differences between two areas. Blocks that differ are replaced with stone, same blocks are replaced with air - | area block | | - | this | Src | result | + Used to determine the differences between two areas. Blocks that differ are replaced with stone, same blocks are + replaced with air | area block | | | this | Src | result | +------+-------+--------+ | A | A | air | Same blocks are replaced with air | A | non-A | stone | Differring blocks are replaced with stone @@ -241,32 +266,67 @@ public: void Merge(const cBlockArea & a_Src, const Vector3i & a_RelMinCoords, eMergeStrategy a_Strategy); /** Fills the entire block area with the specified data */ - void Fill(int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta = 0, NIBBLETYPE a_BlockLight = 0, NIBBLETYPE a_BlockSkyLight = 0x0f); + void Fill( + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta = 0, + NIBBLETYPE a_BlockLight = 0, + NIBBLETYPE a_BlockSkyLight = 0x0f + ); // tolua_end /** Fills a cuboid inside the block area with the specified data */ - void FillRelCuboid(int a_MinRelX, int a_MaxRelX, int a_MinRelY, int a_MaxRelY, int a_MinRelZ, int a_MaxRelZ, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta = 0, - NIBBLETYPE a_BlockLight = 0, NIBBLETYPE a_BlockSkyLight = 0x0f + void FillRelCuboid( + int a_MinRelX, + int a_MaxRelX, + int a_MinRelY, + int a_MaxRelY, + int a_MinRelZ, + int a_MaxRelZ, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta = 0, + NIBBLETYPE a_BlockLight = 0, + NIBBLETYPE a_BlockSkyLight = 0x0f ); /** Fills a cuboid inside the block area with the specified data. a_Cuboid must be sorted. */ - void FillRelCuboid(const cCuboid & a_RelCuboid, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta = 0, - NIBBLETYPE a_BlockLight = 0, NIBBLETYPE a_BlockSkyLight = 0x0f + void FillRelCuboid( + const cCuboid & a_RelCuboid, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta = 0, + NIBBLETYPE a_BlockLight = 0, + NIBBLETYPE a_BlockSkyLight = 0x0f ); - /** Draws a line between two points with the specified data. The line endpoints needn't be valid coords inside the area. */ - void RelLine(int a_RelX1, int a_RelY1, int a_RelZ1, int a_RelX2, int a_RelY2, int a_RelZ2, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta = 0, - NIBBLETYPE a_BlockLight = 0, NIBBLETYPE a_BlockSkyLight = 0x0f + /** Draws a line between two points with the specified data. The line endpoints needn't be valid coords inside the + * area. */ + void RelLine( + int a_RelX1, + int a_RelY1, + int a_RelZ1, + int a_RelX2, + int a_RelY2, + int a_RelZ2, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta = 0, + NIBBLETYPE a_BlockLight = 0, + NIBBLETYPE a_BlockSkyLight = 0x0f ); - /** Draws a line between two points with the specified data. The line endpoints needn't be valid coords inside the area. */ - void RelLine(const Vector3i & a_Point1, const Vector3i & a_Point2, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta = 0, - NIBBLETYPE a_BlockLight = 0, NIBBLETYPE a_BlockSkyLight = 0x0f + /** Draws a line between two points with the specified data. The line endpoints needn't be valid coords inside the + * area. */ + void RelLine( + const Vector3i & a_Point1, + const Vector3i & a_Point2, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta = 0, + NIBBLETYPE a_BlockLight = 0, + NIBBLETYPE a_BlockSkyLight = 0x0f ); // tolua_begin @@ -304,38 +364,40 @@ public: // tolua_end // Setters: - void SetRelBlockType (int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType); - void SetBlockType (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType); - void SetRelBlockMeta (int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_BlockMeta); - void SetBlockMeta (int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_BlockMeta); - void SetRelBlockLight (int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_BlockLight); - void SetBlockLight (int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_BlockLight); - void SetRelBlockSkyLight(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_BlockSkyLight); - void SetBlockSkyLight (int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_BlockSkyLight); + void SetRelBlockType(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType); + void SetBlockType(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType); + void SetRelBlockMeta(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_BlockMeta); + void SetBlockMeta(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_BlockMeta); + void SetRelBlockLight(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_BlockLight); + void SetBlockLight(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_BlockLight); + void SetRelBlockSkyLight(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_BlockSkyLight); + void SetBlockSkyLight(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_BlockSkyLight); // tolua_begin - void SetWEOffset (int a_OffsetX, int a_OffsetY, int a_OffsetZ); - void SetWEOffset (const Vector3i & a_Offset); - const Vector3i & GetWEOffset (void) const {return m_WEOffset;} + void SetWEOffset(int a_OffsetX, int a_OffsetY, int a_OffsetZ); + void SetWEOffset(const Vector3i & a_Offset); + const Vector3i & GetWEOffset(void) const { return m_WEOffset; } // tolua_end // Getters: - BLOCKTYPE GetRelBlockType (int a_RelX, int a_RelY, int a_RelZ) const; - BLOCKTYPE GetBlockType (int a_BlockX, int a_BlockY, int a_BlockZ) const; - NIBBLETYPE GetRelBlockMeta (int a_RelX, int a_RelY, int a_RelZ) const; - NIBBLETYPE GetBlockMeta (int a_BlockX, int a_BlockY, int a_BlockZ) const; - NIBBLETYPE GetRelBlockLight (int a_RelX, int a_RelY, int a_RelZ) const; - NIBBLETYPE GetBlockLight (int a_BlockX, int a_BlockY, int a_BlockZ) const; - NIBBLETYPE GetRelBlockSkyLight(int a_RelX, int a_RelY, int a_RelZ) const; - NIBBLETYPE GetBlockSkyLight (int a_BlockX, int a_BlockY, int a_BlockZ) const; - - void SetBlockTypeMeta (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); - void SetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); - - void GetBlockTypeMeta (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const; - void GetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const; + BLOCKTYPE GetRelBlockType(int a_RelX, int a_RelY, int a_RelZ) const; + BLOCKTYPE GetBlockType(int a_BlockX, int a_BlockY, int a_BlockZ) const; + NIBBLETYPE GetRelBlockMeta(int a_RelX, int a_RelY, int a_RelZ) const; + NIBBLETYPE GetBlockMeta(int a_BlockX, int a_BlockY, int a_BlockZ) const; + NIBBLETYPE GetRelBlockLight(int a_RelX, int a_RelY, int a_RelZ) const; + NIBBLETYPE GetBlockLight(int a_BlockX, int a_BlockY, int a_BlockZ) const; + NIBBLETYPE GetRelBlockSkyLight(int a_RelX, int a_RelY, int a_RelZ) const; + NIBBLETYPE GetBlockSkyLight(int a_BlockX, int a_BlockY, int a_BlockZ) const; + + void SetBlockTypeMeta(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); + void SetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); + + void GetBlockTypeMeta(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) + const; + void GetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) + const; const Vector3i & GetSize(void) const { return m_Size; } const Vector3i & GetOrigin(void) const { return m_Origin; } @@ -358,14 +420,15 @@ public: /** Returns the datatypes that are stored in the object (bitmask of baXXX values) */ int GetDataTypes(void) const; - bool HasBlockTypes (void) const { return (m_BlockTypes != nullptr); } - bool HasBlockMetas (void) const { return (m_BlockMetas != nullptr); } - bool HasBlockLights (void) const { return (m_BlockLight != nullptr); } + bool HasBlockTypes(void) const { return (m_BlockTypes != nullptr); } + bool HasBlockMetas(void) const { return (m_BlockMetas != nullptr); } + bool HasBlockLights(void) const { return (m_BlockLight != nullptr); } bool HasBlockSkyLights(void) const { return (m_BlockSkyLight != nullptr); } - bool HasBlockEntities (void) const { return (m_BlockEntities != nullptr); } + bool HasBlockEntities(void) const { return (m_BlockEntities != nullptr); } /** Returns the count of blocks that are not air. - Returns 0 if blocktypes not available. Block metas are ignored (if present, air with any meta is still considered air). */ + Returns 0 if blocktypes not available. Block metas are ignored (if present, air with any meta is still considered + air). */ size_t CountNonAirBlocks(void) const; /** Returns how many times the specified block is contained in the area. @@ -380,30 +443,35 @@ public: // tolua_end /** Returns the minimum and maximum coords in each direction for the first non-ignored block in each direction. - If there are no non-ignored blocks within the area, or blocktypes are not present, the returned values are reverse-ranges (MinX <- m_RangeX, MaxX <- 0 etc.) - Exported to Lua in ManualBindings.cpp. */ - void GetNonAirCropRelCoords(int & a_MinRelX, int & a_MinRelY, int & a_MinRelZ, int & a_MaxRelX, int & a_MaxRelY, int & a_MaxRelZ, BLOCKTYPE a_IgnoreBlockType = E_BLOCK_AIR); + If there are no non-ignored blocks within the area, or blocktypes are not present, the returned values are + reverse-ranges (MinX <- m_RangeX, MaxX <- 0 etc.) Exported to Lua in ManualBindings.cpp. */ + void GetNonAirCropRelCoords( + int & a_MinRelX, + int & a_MinRelY, + int & a_MinRelZ, + int & a_MaxRelX, + int & a_MaxRelY, + int & a_MaxRelZ, + BLOCKTYPE a_IgnoreBlockType = E_BLOCK_AIR + ); // Clients can use these for faster access to all blocktypes. Be careful though! /** Returns the internal pointer to the block types */ - BLOCKTYPE * GetBlockTypes (void) const { return m_BlockTypes.get(); } - NIBBLETYPE * GetBlockMetas (void) const { return m_BlockMetas.get(); } // NOTE: one byte per block! - NIBBLETYPE * GetBlockLight (void) const { return m_BlockLight.get(); } // NOTE: one byte per block! + BLOCKTYPE * GetBlockTypes(void) const { return m_BlockTypes.get(); } + NIBBLETYPE * GetBlockMetas(void) const { return m_BlockMetas.get(); } // NOTE: one byte per block! + NIBBLETYPE * GetBlockLight(void) const { return m_BlockLight.get(); } // NOTE: one byte per block! NIBBLETYPE * GetBlockSkyLight(void) const { return m_BlockSkyLight.get(); } // NOTE: one byte per block! - size_t GetBlockCount(void) const { return static_cast(m_Size.x * m_Size.y * m_Size.z); } + size_t GetBlockCount(void) const { return static_cast(m_Size.x * m_Size.y * m_Size.z); } static size_t MakeIndexForSize(Vector3i a_RelPos, Vector3i a_Size); /** Returns the index into the internal arrays for the specified coords */ - size_t MakeIndex(Vector3i a_RelPos) const - { - return MakeIndexForSize(a_RelPos, m_Size); - } + size_t MakeIndex(Vector3i a_RelPos) const { return MakeIndexForSize(a_RelPos, m_Size); } /** OBSOLETE, use the Vector3i-based overload instead. Returns the index into the internal arrays for the specified coords */ size_t MakeIndex(int a_RelX, int a_RelY, int a_RelZ) const { - return MakeIndexForSize({ a_RelX, a_RelY, a_RelZ }, m_Size); + return MakeIndexForSize({a_RelX, a_RelY, a_RelZ}, m_Size); } /** Calls the callback for the block entity at the specified coords. @@ -414,31 +482,34 @@ public: /** Calls the callback for the block entity at the specified coords. Returns false if there is no block entity at those coords. Returns the value that the callback has returned if there is a block entity. */ - bool DoWithBlockEntityAt (int a_BlockX, int a_BlockY, int a_BlockZ, cBlockEntityCallback a_Callback); + bool DoWithBlockEntityAt(int a_BlockX, int a_BlockY, int a_BlockZ, cBlockEntityCallback a_Callback); /** Calls the callback for all the block entities. If the callback returns true, aborts the enumeration and returns false. If the callback returns true, continues with the next BE. - Returns true if all block entities have been enumerated (including the case when there is none or the area is without baBlockEntities). */ + Returns true if all block entities have been enumerated (including the case when there is none or the area is + without baBlockEntities). */ bool ForEachBlockEntity(cBlockEntityCallback a_Callback); /** Direct read-only access to block entities. */ - const cBlockEntities & GetBlockEntities(void) const { ASSERT(HasBlockEntities()); return *m_BlockEntities; } - + const cBlockEntities & GetBlockEntities(void) const + { + ASSERT(HasBlockEntities()); + return *m_BlockEntities; + } -protected: + protected: friend class cChunkDesc; friend class cSchematicFileSerializer; - class cChunkReader: - public cChunkDataCallback + class cChunkReader : public cChunkDataCallback { - public: + public: cChunkReader(cBlockArea & a_Area); - protected: + protected: cBlockArea & m_Area; cCuboid m_AreaBounds; ///< Bounds of the whole area being read, in world coords Vector3i m_Origin; @@ -451,7 +522,7 @@ protected: virtual bool Coords(int a_ChunkX, int a_ChunkZ) override; virtual void ChunkData(const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData) override; virtual void BlockEntity(cBlockEntity * a_BlockEntity) override; - } ; + }; using NIBBLEARRAY = std::unique_ptr; using BLOCKARRAY = std::unique_ptr; @@ -464,9 +535,9 @@ protected: cBlockArea doesn't use this value in any way. */ Vector3i m_WEOffset; - BLOCKARRAY m_BlockTypes; - NIBBLEARRAY m_BlockMetas; // Each meta is stored as a separate byte for faster access - NIBBLEARRAY m_BlockLight; // Each light value is stored as a separate byte for faster access + BLOCKARRAY m_BlockTypes; + NIBBLEARRAY m_BlockMetas; // Each meta is stored as a separate byte for faster access + NIBBLEARRAY m_BlockLight; // Each light value is stored as a separate byte for faster access NIBBLEARRAY m_BlockSkyLight; // Each light value is stored as a separate byte for faster access /** The block entities contained within the area. @@ -478,38 +549,69 @@ protected: bool SetSize(int a_SizeX, int a_SizeY, int a_SizeZ, int a_DataTypes); // Basic Setters: - void SetRelNibble(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_Value, NIBBLETYPE * a_Array); - void SetNibble (int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_Value, NIBBLETYPE * a_Array); + void SetRelNibble(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_Value, NIBBLETYPE * a_Array); + void SetNibble(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_Value, NIBBLETYPE * a_Array); // Basic Getters: - NIBBLETYPE GetRelNibble(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE * a_Array) const; - NIBBLETYPE GetNibble (int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE * a_Array) const; + NIBBLETYPE GetRelNibble(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE * a_Array) const; + NIBBLETYPE GetNibble(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE * a_Array) const; // Crop helpers: void CropBlockTypes(int a_AddMinX, int a_SubMaxX, int a_AddMinY, int a_SubMaxY, int a_AddMinZ, int a_SubMaxZ); - void CropNibbles (NIBBLEARRAY & a_Array, int a_AddMinX, int a_SubMaxX, int a_AddMinY, int a_SubMaxY, int a_AddMinZ, int a_SubMaxZ); + void CropNibbles( + NIBBLEARRAY & a_Array, + int a_AddMinX, + int a_SubMaxX, + int a_AddMinY, + int a_SubMaxY, + int a_AddMinZ, + int a_SubMaxZ + ); // Expand helpers: void ExpandBlockTypes(int a_SubMinX, int a_AddMaxX, int a_SubMinY, int a_AddMaxY, int a_SubMinZ, int a_AddMaxZ); - void ExpandNibbles (NIBBLEARRAY & a_Array, int a_SubMinX, int a_AddMaxX, int a_SubMinY, int a_AddMaxY, int a_SubMinZ, int a_AddMaxZ); + void ExpandNibbles( + NIBBLEARRAY & a_Array, + int a_SubMinX, + int a_AddMaxX, + int a_SubMinY, + int a_AddMaxY, + int a_SubMinZ, + int a_AddMaxZ + ); /** Sets the specified datatypes at the specified location. If the coords are not valid, ignores the call (so that RelLine() can work simply). */ void RelSetData( - int a_RelX, int a_RelY, int a_RelZ, - int a_DataTypes, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - NIBBLETYPE a_BlockLight, NIBBLETYPE a_BlockSkyLight + int a_RelX, + int a_RelY, + int a_RelZ, + int a_DataTypes, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + NIBBLETYPE a_BlockLight, + NIBBLETYPE a_BlockSkyLight ); template - void MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_RelY, int a_RelZ, eMergeStrategy a_Strategy, const NIBBLETYPE * SrcMetas, NIBBLETYPE * DstMetas); + void MergeByStrategy( + const cBlockArea & a_Src, + int a_RelX, + int a_RelY, + int a_RelZ, + eMergeStrategy a_Strategy, + const NIBBLETYPE * SrcMetas, + NIBBLETYPE * DstMetas + ); - /** Updates m_BlockEntities to remove BEs that no longer match the blocktype at their coords, and clones from a_Src the BEs that are missing. - a_RelX, a_RelY and a_RelZ are relative coords that should be added to all BEs from a_Src before checking them. - If a block should have a BE but one cannot be found in either this or a_Src, a new one is created. */ + /** Updates m_BlockEntities to remove BEs that no longer match the blocktype at their coords, and clones from a_Src + the BEs that are missing. a_RelX, a_RelY and a_RelZ are relative coords that should be added to all BEs from a_Src + before checking them. If a block should have a BE but one cannot be found in either this or a_Src, a new one is + created. */ void MergeBlockEntities(int a_RelX, int a_RelY, int a_RelZ, const cBlockArea & a_Src); - /** Updates m_BlockEntities to remove BEs that no longer match the blocktype at their coords, and add new BEs that are missing. */ + /** Updates m_BlockEntities to remove BEs that no longer match the blocktype at their coords, and add new BEs that + * are missing. */ void RescanBlockEntities(void); /** Removes from m_BlockEntities those BEs that no longer match the blocktype at their coords. */ @@ -519,9 +621,5 @@ protected: cBlockEntity * GetBlockEntityRel(Vector3i a_RelPos); // tolua_begin -} ; +}; // tolua_end - - - - diff --git a/src/BlockEntities/BannerEntity.cpp b/src/BlockEntities/BannerEntity.cpp index 10f185bfd..a2aa99c49 100644 --- a/src/BlockEntities/BannerEntity.cpp +++ b/src/BlockEntities/BannerEntity.cpp @@ -13,10 +13,15 @@ -cBannerEntity::cBannerEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World, unsigned char a_BaseColor, AString a_CustomName): - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - m_BaseColor(a_BaseColor), - m_CustomName(std::move(a_CustomName)) +cBannerEntity::cBannerEntity( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World, + unsigned char a_BaseColor, + AString a_CustomName +) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), m_BaseColor(a_BaseColor), m_CustomName(std::move(a_CustomName)) { ASSERT((a_BlockType == E_BLOCK_WALL_BANNER) || (a_BlockType == E_BLOCK_STANDING_BANNER)); } diff --git a/src/BlockEntities/BannerEntity.h b/src/BlockEntities/BannerEntity.h index 91ef87e8c..e08c33216 100644 --- a/src/BlockEntities/BannerEntity.h +++ b/src/BlockEntities/BannerEntity.h @@ -16,16 +16,21 @@ // tolua_begin -class cBannerEntity : - public cBlockEntity +class cBannerEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: - - cBannerEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World, unsigned char a_BaseColor = 1, AString a_CustomName = ""); + public: + cBannerEntity( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World, + unsigned char a_BaseColor = 1, + AString a_CustomName = "" + ); unsigned char GetBaseColor() const { return m_BaseColor; } void SetBaseColor(unsigned char a_Color) { m_BaseColor = a_Color; } @@ -33,8 +38,7 @@ public: const AString & GetCustomName() const { return m_CustomName; } void SetCustomName(const AString & a_CustomName) { m_CustomName = a_CustomName; } -private: - + private: unsigned char m_BaseColor; AString m_CustomName; @@ -44,4 +48,4 @@ private: virtual void CopyFrom(const cBlockEntity & a_Src) override; virtual void SendTo(cClientHandle & a_Client) override; virtual bool UsedBy(cPlayer * a_Player) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/BeaconEntity.cpp b/src/BlockEntities/BeaconEntity.cpp index bff1b2e18..d9dd0848f 100644 --- a/src/BlockEntities/BeaconEntity.cpp +++ b/src/BlockEntities/BeaconEntity.cpp @@ -12,7 +12,7 @@ -cBeaconEntity::cBeaconEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cBeaconEntity::cBeaconEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : Super(a_BlockType, a_BlockMeta, a_Pos, 1, 1, a_World), m_IsActive(false), m_BeaconLevel(0), @@ -36,13 +36,7 @@ char cBeaconEntity::CalculatePyramidLevel(void) int MinY = std::max(GetPosY() - 4, 0); int MaxY = std::max(GetPosY() - 1, 0); - Area.Read( - *m_World, - GetPosX() - 4, GetPosX() + 4, - MinY, MaxY, - GetPosZ() - 4, GetPosZ() + 4, - cBlockArea::baTypes - ); + Area.Read(*m_World, GetPosX() - 4, GetPosX() + 4, MinY, MaxY, GetPosZ() - 4, GetPosZ() + 4, cBlockArea::baTypes); int Layer = 1; int MiddleXZ = 4; @@ -197,14 +191,11 @@ void cBeaconEntity::UpdateBeacon(void) } Vector3d BeaconPosition(m_Pos); - GetWorld()->ForEachPlayer([=](cPlayer & a_Player) + GetWorld()->ForEachPlayer( + [=](cPlayer & a_Player) { Vector3d Distance = BeaconPosition - a_Player.GetPosition(); - if ( - (std::abs(Distance.y) <= 14) && - (std::abs(Distance.x) <= 20) && - (std::abs(Distance.z) <= 20) - ) + if ((std::abs(Distance.y) <= 14) && (std::abs(Distance.x) <= 20) && (std::abs(Distance.z) <= 20)) { a_Player.AwardAchievement(CustomStatistic::AchFullBeacon); } @@ -235,21 +226,24 @@ void cBeaconEntity::GiveEffects(void) bool HasSecondaryEffect = (m_BeaconLevel >= 4) && (m_PrimaryEffect != m_SecondaryEffect) && (m_SecondaryEffect > 0); auto Area = cBoundingBox(m_Pos, Radius, Radius + static_cast(cChunkDef::Height), -Radius); - GetWorld()->ForEachEntityInBox(Area, [&](cEntity & a_Entity) - { - if (!a_Entity.IsPlayer()) + GetWorld()->ForEachEntityInBox( + Area, + [&](cEntity & a_Entity) { - return false; - } - auto & Player = static_cast(a_Entity); - Player.AddEntityEffect(m_PrimaryEffect, 180, EffectLevel); + if (!a_Entity.IsPlayer()) + { + return false; + } + auto & Player = static_cast(a_Entity); + Player.AddEntityEffect(m_PrimaryEffect, 180, EffectLevel); - if (HasSecondaryEffect) - { - Player.AddEntityEffect(m_SecondaryEffect, 180, 0); + if (HasSecondaryEffect) + { + Player.AddEntityEffect(m_SecondaryEffect, 180, 0); + } + return false; } - return false; - }); + ); } @@ -325,7 +319,8 @@ bool cBeaconEntity::UsedBy(cPlayer * a_Player) if (Window != nullptr) { // if (a_Player->GetWindow() != Window) - // -> Because mojang doesn't send a 'close window' packet when you click the cancel button in the beacon inventory ... + // -> Because mojang doesn't send a 'close window' packet when you click the cancel button in the beacon + // inventory ... { a_Player->OpenWindow(*Window); } diff --git a/src/BlockEntities/BeaconEntity.h b/src/BlockEntities/BeaconEntity.h index e5230e2cb..c668d9768 100644 --- a/src/BlockEntities/BeaconEntity.h +++ b/src/BlockEntities/BeaconEntity.h @@ -16,15 +16,13 @@ // tolua_begin -class cBeaconEntity : - public cBlockEntityWithItems +class cBeaconEntity : public cBlockEntityWithItems { // tolua_end using Super = cBlockEntityWithItems; -public: // tolua_export - + public: // tolua_export cBeaconEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); // cBlockEntity overrides: @@ -74,10 +72,9 @@ public: // tolua_export // tolua_end -protected: - + protected: bool m_IsActive; char m_BeaconLevel; cEntityEffect::eType m_PrimaryEffect, m_SecondaryEffect; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/BedEntity.cpp b/src/BlockEntities/BedEntity.cpp index 7f5f90639..9f8e3b658 100644 --- a/src/BlockEntities/BedEntity.cpp +++ b/src/BlockEntities/BedEntity.cpp @@ -13,9 +13,8 @@ -cBedEntity::cBedEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World, short a_Color): - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - m_Color(a_Color) +cBedEntity::cBedEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World, short a_Color) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), m_Color(a_Color) { ASSERT(a_BlockType == E_BLOCK_BED); } diff --git a/src/BlockEntities/BedEntity.h b/src/BlockEntities/BedEntity.h index 9f75b7946..4d5b1c299 100644 --- a/src/BlockEntities/BedEntity.h +++ b/src/BlockEntities/BedEntity.h @@ -12,15 +12,19 @@ // tolua_begin -class cBedEntity : - public cBlockEntity +class cBedEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: // tolua_export - - cBedEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World, short a_Color = E_META_WOOL_RED); + public: // tolua_export + cBedEntity( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World, + short a_Color = E_META_WOOL_RED + ); // tolua_begin @@ -41,7 +45,6 @@ public: // tolua_export virtual bool UsedBy(cPlayer * a_Player) override { return false; } virtual void SendTo(cClientHandle & a_Client) override; -private: - + private: short m_Color; }; // tolua_export diff --git a/src/BlockEntities/BlockEntity.cpp b/src/BlockEntities/BlockEntity.cpp index 7c0660431..113c28a6c 100644 --- a/src/BlockEntities/BlockEntity.cpp +++ b/src/BlockEntities/BlockEntity.cpp @@ -29,7 +29,12 @@ -cBlockEntity::cBlockEntity(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_BlockMeta, const Vector3i a_Pos, cWorld * const a_World) : +cBlockEntity::cBlockEntity( + const BLOCKTYPE a_BlockType, + const NIBBLETYPE a_BlockMeta, + const Vector3i a_Pos, + cWorld * const a_World +) : m_Pos(a_Pos), m_RelX(a_Pos.x - cChunkDef::Width * FAST_FLOOR_DIV(a_Pos.x, cChunkDef::Width)), m_RelZ(a_Pos.z - cChunkDef::Width * FAST_FLOOR_DIV(a_Pos.z, cChunkDef::Width)), @@ -74,40 +79,51 @@ void cBlockEntity::CopyFrom(const cBlockEntity & a_Src) -OwnedBlockEntity cBlockEntity::CreateByBlockType(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_BlockMeta, const Vector3i a_Pos, cWorld * const a_World) +OwnedBlockEntity cBlockEntity::CreateByBlockType( + const BLOCKTYPE a_BlockType, + const NIBBLETYPE a_BlockMeta, + const Vector3i a_Pos, + cWorld * const a_World +) { switch (a_BlockType) { // Banners: case E_BLOCK_STANDING_BANNER: - case E_BLOCK_WALL_BANNER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_WALL_BANNER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); // Others: - case E_BLOCK_BEACON: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_BED: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_BREWING_STAND: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_CHEST: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_COMMAND_BLOCK: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_DISPENSER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_DROPPER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_ENCHANTMENT_TABLE: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_ENDER_CHEST: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_END_PORTAL: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_FLOWER_POT: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_FURNACE: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_HEAD: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_HOPPER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_JUKEBOX: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_LIT_FURNACE: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_MOB_SPAWNER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_NOTE_BLOCK: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_SIGN_POST: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_TRAPPED_CHEST: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); - case E_BLOCK_WALLSIGN: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_BEACON: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_BED: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_BREWING_STAND: + return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_CHEST: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_COMMAND_BLOCK: + return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_DISPENSER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_DROPPER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_ENCHANTMENT_TABLE: + return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_ENDER_CHEST: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_END_PORTAL: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_FLOWER_POT: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_FURNACE: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_HEAD: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_HOPPER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_JUKEBOX: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_LIT_FURNACE: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_MOB_SPAWNER: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_NOTE_BLOCK: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_SIGN_POST: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_TRAPPED_CHEST: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); + case E_BLOCK_WALLSIGN: return std::make_unique(a_BlockType, a_BlockMeta, a_Pos, a_World); default: { - LOGD("%s: Requesting creation of an unknown block entity - block type %d (%s)", - __FUNCTION__, a_BlockType, ItemTypeToString(a_BlockType).c_str() + LOGD( + "%s: Requesting creation of an unknown block entity - block type %d (%s)", + __FUNCTION__, + a_BlockType, + ItemTypeToString(a_BlockType).c_str() ); ASSERT(!"Requesting creation of an unknown block entity"); return nullptr; @@ -119,9 +135,7 @@ OwnedBlockEntity cBlockEntity::CreateByBlockType(const BLOCKTYPE a_BlockType, co -void cBlockEntity::Destroy() -{ -} +void cBlockEntity::Destroy() {} @@ -177,9 +191,7 @@ void cBlockEntity::OnAddToWorld(cWorld & a_World, cChunk & a_Chunk) -void cBlockEntity::OnRemoveFromWorld() -{ -} +void cBlockEntity::OnRemoveFromWorld() {} @@ -187,7 +199,9 @@ void cBlockEntity::OnRemoveFromWorld() void cBlockEntity::SetPos(const Vector3i a_NewPos) { - ASSERT(m_World == nullptr); // Cannot move block entities that represent world blocks (only use this for cBlockArea's BEs) + ASSERT( + m_World == nullptr + ); // Cannot move block entities that represent world blocks (only use this for cBlockArea's BEs) m_Pos = a_NewPos; } diff --git a/src/BlockEntities/BlockEntity.h b/src/BlockEntities/BlockEntity.h index e13600e8c..0672da0ec 100644 --- a/src/BlockEntities/BlockEntity.h +++ b/src/BlockEntities/BlockEntity.h @@ -23,12 +23,10 @@ using cBlockEntities = std::unordered_map; // tolua_begin class cBlockEntity { -protected: - + protected: cBlockEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); -public: - + public: // tolua_end virtual ~cBlockEntity() = default; // force a virtual destructor in all descendants @@ -38,7 +36,8 @@ public: OwnedBlockEntity Clone(Vector3i a_Pos); /** Returns the contents of this block entity that it would drop if broken. - Note that the block handler will usually handle pickups for the block itself, in addition to any items returned here. */ + Note that the block handler will usually handle pickups for the block itself, in addition to any items returned + here. */ virtual cItems ConvertToPickups() const; /** Copies all properties of a_Src into this entity, except for its m_World and location. @@ -49,7 +48,12 @@ public: /** Creates a new block entity for the specified block type at the specified absolute pos. If a_World is valid, then the entity is created bound to that world Returns nullptr for unknown block types. */ - static OwnedBlockEntity CreateByBlockType(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World = nullptr); + static OwnedBlockEntity CreateByBlockType( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World = nullptr + ); /** Called when this block entity's associated block is destroyed. It is guaranteed that this function is called before OnRemoveFromWorld. */ @@ -71,13 +75,14 @@ public: virtual void SendTo(cClientHandle & a_Client) = 0; /** Updates the internally stored position. - Note that this should not ever be used for world-contained block entities, it is meant only for when BEs in a cBlockArea are manipulated. - Asserts that the block entity is not assigned to a world. */ + Note that this should not ever be used for world-contained block entities, it is meant only for when BEs in a + cBlockArea are manipulated. Asserts that the block entity is not assigned to a world. */ void SetPos(Vector3i a_NewPos); void SetWorld(cWorld * a_World); - /** Ticks the entity; returns true if the chunk should be marked as dirty as a result of this ticking. By default does nothing. */ + /** Ticks the entity; returns true if the chunk should be marked as dirty as a result of this ticking. By default + * does nothing. */ virtual bool Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); /** Called when a player uses this entity; should open the UI window. @@ -107,8 +112,7 @@ public: // tolua_end -protected: - + protected: /** Position in absolute block coordinates */ Vector3i m_Pos; @@ -124,4 +128,4 @@ protected: NIBBLETYPE m_BlockMeta; cWorld * m_World; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/BlockEntityWithItems.cpp b/src/BlockEntities/BlockEntityWithItems.cpp index 5a52b9767..5b6473a03 100644 --- a/src/BlockEntities/BlockEntityWithItems.cpp +++ b/src/BlockEntities/BlockEntityWithItems.cpp @@ -12,9 +12,10 @@ cBlockEntityWithItems::cBlockEntityWithItems( BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, - int a_ItemGridWidth, int a_ItemGridHeight, + int a_ItemGridWidth, + int a_ItemGridHeight, cWorld * a_World -): +) : Super(a_BlockType, a_BlockMeta, a_Pos, a_World), cBlockEntityWindowOwner(this), m_Contents(a_ItemGridWidth, a_ItemGridHeight) diff --git a/src/BlockEntities/BlockEntityWithItems.h b/src/BlockEntities/BlockEntityWithItems.h index f191c8f43..fec288b14 100644 --- a/src/BlockEntities/BlockEntityWithItems.h +++ b/src/BlockEntities/BlockEntityWithItems.h @@ -19,25 +19,24 @@ // tolua_begin -class cBlockEntityWithItems : - public cBlockEntity, - // tolua_end - public cItemGrid::cListener, - // tolua_begin - public cBlockEntityWindowOwner +class cBlockEntityWithItems : public cBlockEntity, + // tolua_end + public cItemGrid::cListener, + // tolua_begin + public cBlockEntityWindowOwner { // tolua_end using Super = cBlockEntity; -public: // tolua_export - + public: // tolua_export cBlockEntityWithItems( - BLOCKTYPE a_BlockType, // Type of the block that the entity represents - NIBBLETYPE a_BlockMeta, // Meta of the block that the entity represents - Vector3i a_Pos, // Abs position of the block entity - int a_ItemGridWidth, int a_ItemGridHeight, // Dimensions of the ItemGrid - cWorld * a_World // Optional world to assign to the entity + BLOCKTYPE a_BlockType, // Type of the block that the entity represents + NIBBLETYPE a_BlockMeta, // Meta of the block that the entity represents + Vector3i a_Pos, // Abs position of the block entity + int a_ItemGridWidth, + int a_ItemGridHeight, // Dimensions of the ItemGrid + cWorld * a_World // Optional world to assign to the entity ); // cBlockEntity overrides: @@ -46,10 +45,10 @@ public: // tolua_export // tolua_begin - const cItem & GetSlot(int a_SlotNum) const { return m_Contents.GetSlot(a_SlotNum); } + const cItem & GetSlot(int a_SlotNum) const { return m_Contents.GetSlot(a_SlotNum); } const cItem & GetSlot(int a_X, int a_Y) const { return m_Contents.GetSlot(a_X, a_Y); } - void SetSlot(int a_SlotNum, const cItem & a_Item) { m_Contents.SetSlot(a_SlotNum, a_Item); } + void SetSlot(int a_SlotNum, const cItem & a_Item) { m_Contents.SetSlot(a_SlotNum, a_Item); } void SetSlot(int a_X, int a_Y, const cItem & a_Item) { m_Contents.SetSlot(a_X, a_Y, a_Item); } /** Returns the ItemGrid used for storing the contents */ @@ -60,10 +59,9 @@ public: // tolua_export /** Const version of the GetContents() function for C++ type-safety */ const cItemGrid & GetContents(void) const { return m_Contents; } -protected: - + protected: cItemGrid m_Contents; // cItemGrid::cListener overrides: virtual void OnSlotChanged(cItemGrid * a_Grid, int a_SlotNum) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/BrewingstandEntity.cpp b/src/BlockEntities/BrewingstandEntity.cpp index 12f8d5a36..c0b4860cb 100644 --- a/src/BlockEntities/BrewingstandEntity.cpp +++ b/src/BlockEntities/BrewingstandEntity.cpp @@ -11,7 +11,12 @@ -cBrewingstandEntity::cBrewingstandEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cBrewingstandEntity::cBrewingstandEntity( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World +) : Super(a_BlockType, a_BlockMeta, a_Pos, ContentsWidth, ContentsHeight, a_World), m_IsBrewing(false), m_TimeBrewed(0), @@ -240,7 +245,8 @@ void cBrewingstandEntity::OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) if (m_CurrentBrewingRecipes[i] != nullptr) { Recipe = m_CurrentBrewingRecipes[i]; - if (Recipe->Ingredient.IsEqual(GetSlot(bsIngredient)) && Recipe->Input.IsEqual(GetSlot(static_cast(i)))) + if (Recipe->Ingredient.IsEqual(GetSlot(bsIngredient)) && + Recipe->Input.IsEqual(GetSlot(static_cast(i)))) { Stop = false; continue; @@ -331,8 +337,3 @@ void cBrewingstandEntity::LoadRecipes(void) } } } - - - - - diff --git a/src/BlockEntities/BrewingstandEntity.h b/src/BlockEntities/BrewingstandEntity.h index 66eaa920d..e43172edb 100644 --- a/src/BlockEntities/BrewingstandEntity.h +++ b/src/BlockEntities/BrewingstandEntity.h @@ -16,8 +16,7 @@ class cClientHandle; // tolua_begin -class cBrewingstandEntity : - public cBlockEntityWithItems +class cBrewingstandEntity : public cBlockEntityWithItems { // tolua_end @@ -25,18 +24,17 @@ class cBrewingstandEntity : // tolua_begin -public: - + public: enum { - bsLeftBottle = 0, // Left bottle slot number - bsMiddleBottle = 1, // Middle bottle slot number - bsRightBottle = 2, // Right bottle slot number - bsIngredient = 3, // Top ingredient slot number - bsFuel = 4, // Top left fuel slot number - - ContentsWidth = 5, - ContentsHeight = 1, + bsLeftBottle = 0, // Left bottle slot number + bsMiddleBottle = 1, // Middle bottle slot number + bsRightBottle = 2, // Right bottle slot number + bsIngredient = 3, // Top ingredient slot number + bsFuel = 4, // Top left fuel slot number + + ContentsWidth = 5, + ContentsHeight = 1, }; // tolua_end @@ -109,8 +107,7 @@ public: /** Gets the recipes. Will be called if the brewing stand gets loaded from the world. */ void LoadRecipes(void); -protected: - + protected: /** Set to true if the brewing stand is brewing an item */ bool m_IsBrewing; @@ -137,4 +134,4 @@ protected: // cItemGrid::cListener overrides: virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/ChestEntity.cpp b/src/BlockEntities/ChestEntity.cpp index 11146bf46..e2f4140ce 100644 --- a/src/BlockEntities/ChestEntity.cpp +++ b/src/BlockEntities/ChestEntity.cpp @@ -14,7 +14,7 @@ -cChestEntity::cChestEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cChestEntity::cChestEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : Super(a_BlockType, a_BlockMeta, a_Pos, ContentsWidth, ContentsHeight, a_World), m_NumActivePlayers(0), m_Neighbour(nullptr) @@ -33,10 +33,7 @@ cChestEntity & cChestEntity::GetPrimaryChest() } // The primary chest should be the one with lesser X or Z coord: - return ( - (m_Neighbour->GetPosX() < GetPosX()) || - (m_Neighbour->GetPosZ() < GetPosZ()) - ) ? *m_Neighbour : *this; + return ((m_Neighbour->GetPosX() < GetPosX()) || (m_Neighbour->GetPosZ() < GetPosZ())) ? *m_Neighbour : *this; } @@ -96,10 +93,8 @@ bool cChestEntity::IsBlocked() { return ( (GetPosY() < cChunkDef::Height - 1) && - ( - !cBlockInfo::IsTransparent(GetWorld()->GetBlock(GetPos().addedY(1))) || - !cOcelot::IsCatSittingOnBlock(GetWorld(), Vector3d(GetPos())) - ) + (!cBlockInfo::IsTransparent(GetWorld()->GetBlock(GetPos().addedY(1))) || + !cOcelot::IsCatSittingOnBlock(GetWorld(), Vector3d(GetPos()))) ); } @@ -146,17 +141,14 @@ void cChestEntity::OnAddToWorld(cWorld & a_World, cChunk & a_Chunk) Super::OnAddToWorld(a_World, a_Chunk); // Scan horizontally adjacent blocks for any neighbouring chest of the same type: - if ( - const auto Position = GetRelPos(); - - ScanNeighbour(a_Chunk, Position.addedX(-1)) || - ScanNeighbour(a_Chunk, Position.addedX(+1)) || - ScanNeighbour(a_Chunk, Position.addedZ(-1)) || - ScanNeighbour(a_Chunk, Position.addedZ(+1)) - ) + if (const auto Position = GetRelPos(); + + ScanNeighbour(a_Chunk, Position.addedX(-1)) || ScanNeighbour(a_Chunk, Position.addedX(+1)) || + ScanNeighbour(a_Chunk, Position.addedZ(-1)) || ScanNeighbour(a_Chunk, Position.addedZ(+1))) { m_Neighbour->m_Neighbour = this; - m_Neighbour->DestroyWindow(); // Force neighbour's window shut. Does Mojang server do this or should a double window open? + m_Neighbour->DestroyWindow( + ); // Force neighbour's window shut. Does Mojang server do this or should a double window open? } } diff --git a/src/BlockEntities/ChestEntity.h b/src/BlockEntities/ChestEntity.h index ee3c59b8b..456dc4880 100644 --- a/src/BlockEntities/ChestEntity.h +++ b/src/BlockEntities/ChestEntity.h @@ -15,8 +15,7 @@ class cClientHandle; // tolua_begin -class cChestEntity : - public cBlockEntityWithItems +class cChestEntity : public cBlockEntityWithItems { // tolua_end @@ -24,13 +23,12 @@ class cChestEntity : // tolua_begin -public: - + public: enum { ContentsHeight = 3, - ContentsWidth = 9, - } ; + ContentsWidth = 9, + }; // tolua_end @@ -52,8 +50,7 @@ public: /** Sets the number of players who currently have this chest open */ void SetNumberOfPlayers(int a_NumActivePlayers) { m_NumActivePlayers = a_NumActivePlayers; } -private: - + private: /** Number of players who currently have this chest open */ int m_NumActivePlayers; @@ -78,4 +75,4 @@ private: /** cItemGrid::cListener overrides: */ virtual void OnSlotChanged(cItemGrid * a_Grid, int a_SlotNum) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/CommandBlockEntity.cpp b/src/BlockEntities/CommandBlockEntity.cpp index b747501c8..414fd40bd 100644 --- a/src/BlockEntities/CommandBlockEntity.cpp +++ b/src/BlockEntities/CommandBlockEntity.cpp @@ -17,10 +17,13 @@ -cCommandBlockEntity::cCommandBlockEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - m_ShouldExecute(false), - m_Result(0) +cCommandBlockEntity::cCommandBlockEntity( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World +) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), m_ShouldExecute(false), m_Result(0) { ASSERT(a_BlockType == E_BLOCK_COMMAND_BLOCK); } @@ -158,18 +161,28 @@ void cCommandBlockEntity::Execute() return; } - class CommandBlockOutCb : - public cLogCommandDeleteSelfOutputCallback + class CommandBlockOutCb : public cLogCommandDeleteSelfOutputCallback { cCommandBlockEntity * m_CmdBlock; - public: - CommandBlockOutCb(cCommandBlockEntity * a_CmdBlock) : m_CmdBlock(a_CmdBlock) {} + public: + CommandBlockOutCb(cCommandBlockEntity * a_CmdBlock) : + m_CmdBlock(a_CmdBlock) + { + } virtual void Out(const AString & a_Text) override { // Overwrite field - m_CmdBlock->SetLastOutput(cClientHandle::FormatChatPrefix(m_CmdBlock->GetWorld()->ShouldUseChatPrefixes(), "SUCCESS", cChatColor::Green, cChatColor::White) + a_Text); + m_CmdBlock->SetLastOutput( + cClientHandle::FormatChatPrefix( + m_CmdBlock->GetWorld()->ShouldUseChatPrefixes(), + "SUCCESS", + cChatColor::Green, + cChatColor::White + ) + + a_Text + ); } }; @@ -182,13 +195,8 @@ void cCommandBlockEntity::Execute() } // Administrator commands are not executable by command blocks: - if ( - (RealCommand != "stop") && - (RealCommand != "restart") && - (RealCommand != "kick") && - (RealCommand != "ban") && - (RealCommand != "ipban") - ) + if ((RealCommand != "stop") && (RealCommand != "restart") && (RealCommand != "kick") && (RealCommand != "ban") && + (RealCommand != "ipban")) { cServer * Server = cRoot::Get()->GetServer(); LOGD("cCommandBlockEntity: Executing command %s", m_Command.c_str()); @@ -196,14 +204,18 @@ void cCommandBlockEntity::Execute() } else { - SetLastOutput(cClientHandle::FormatChatPrefix(GetWorld()->ShouldUseChatPrefixes(), "FAILURE", cChatColor::Rose, cChatColor::White) + "Adminstration commands can not be executed"); + SetLastOutput( + cClientHandle::FormatChatPrefix( + GetWorld()->ShouldUseChatPrefixes(), + "FAILURE", + cChatColor::Rose, + cChatColor::White + ) + + "Adminstration commands can not be executed" + ); LOGD("cCommandBlockEntity: Prevented execution of administration command %s", m_Command.c_str()); } // TODO 2014-01-18 xdot: Update the signal strength. m_Result = 0; } - - - - diff --git a/src/BlockEntities/CommandBlockEntity.h b/src/BlockEntities/CommandBlockEntity.h index a24a34287..0d9dbb877 100644 --- a/src/BlockEntities/CommandBlockEntity.h +++ b/src/BlockEntities/CommandBlockEntity.h @@ -17,15 +17,13 @@ // tolua_begin -class cCommandBlockEntity : - public cBlockEntity +class cCommandBlockEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: // tolua_export - + public: // tolua_export /** Creates a new empty command block entity */ cCommandBlockEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); @@ -58,8 +56,7 @@ public: // tolua_export // tolua_end -private: - + private: /** Executes the associated command */ void Execute(); @@ -70,4 +67,4 @@ private: AString m_LastOutput; NIBBLETYPE m_Result; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/DispenserEntity.cpp b/src/BlockEntities/DispenserEntity.cpp index c2ce6cf7c..59a9a997b 100644 --- a/src/BlockEntities/DispenserEntity.cpp +++ b/src/BlockEntities/DispenserEntity.cpp @@ -14,7 +14,7 @@ -cDispenserEntity::cDispenserEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cDispenserEntity::cDispenserEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : Super(a_BlockType, a_BlockMeta, a_Pos, a_World) { ASSERT(a_BlockType == E_BLOCK_DISPENSER); @@ -41,9 +41,15 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) // Dispense the item: const cItem & SlotItem = m_Contents.GetSlot(a_SlotNum); - if (ItemCategory::IsMinecart(SlotItem.m_ItemType) && IsBlockRail(DispBlock)) // only actually place the minecart if there are rails! + if (ItemCategory::IsMinecart(SlotItem.m_ItemType) && + IsBlockRail(DispBlock)) // only actually place the minecart if there are rails! { - if (m_World->SpawnMinecart(DispAbsCoord.x + 0.5, DispAbsCoord.y + 0.5, DispAbsCoord.z + 0.5, SlotItem.m_ItemType) != cEntity::INVALID_ID) + if (m_World->SpawnMinecart( + DispAbsCoord.x + 0.5, + DispAbsCoord.y + 0.5, + DispAbsCoord.z + 0.5, + SlotItem.m_ItemType + ) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); } @@ -53,7 +59,12 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) { case E_ITEM_BUCKET: { - LOGD("Dispensing empty bucket in slot %d; DispBlock is \"%s\" (%d).", a_SlotNum, ItemTypeToString(DispBlock).c_str(), DispBlock); + LOGD( + "Dispensing empty bucket in slot %d; DispBlock is \"%s\" (%d).", + a_SlotNum, + ItemTypeToString(DispBlock).c_str(), + DispBlock + ); switch (DispBlock) { case E_BLOCK_STATIONARY_WATER: @@ -85,7 +96,12 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_WATER_BUCKET: { - LOGD("Dispensing water bucket in slot %d; DispBlock is \"%s\" (%d).", a_SlotNum, ItemTypeToString(DispBlock).c_str(), DispBlock); + LOGD( + "Dispensing water bucket in slot %d; DispBlock is \"%s\" (%d).", + a_SlotNum, + ItemTypeToString(DispBlock).c_str(), + DispBlock + ); if (EmptyLiquidBucket(DispBlock, a_SlotNum)) { DispChunk->SetBlock(DispRelCoord, E_BLOCK_WATER, 0); @@ -99,7 +115,12 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_LAVA_BUCKET: { - LOGD("Dispensing lava bucket in slot %d; DispBlock is \"%s\" (%d).", a_SlotNum, ItemTypeToString(DispBlock).c_str(), DispBlock); + LOGD( + "Dispensing lava bucket in slot %d; DispBlock is \"%s\" (%d).", + a_SlotNum, + ItemTypeToString(DispBlock).c_str(), + DispBlock + ); if (EmptyLiquidBucket(DispBlock, a_SlotNum)) { DispChunk->SetBlock(DispRelCoord, E_BLOCK_LAVA, 0); @@ -115,7 +136,8 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) { double MobX = 0.5 + DispAbsCoord.x; double MobZ = 0.5 + DispAbsCoord.z; - auto MonsterType = cItemSpawnEggHandler::ItemDamageToMonsterType(m_Contents.GetSlot(a_SlotNum).m_ItemDamage); + auto MonsterType = + cItemSpawnEggHandler::ItemDamageToMonsterType(m_Contents.GetSlot(a_SlotNum).m_ItemDamage); if (m_World->SpawnMob(MobX, DispAbsCoord.y, MobZ, MonsterType, false) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); @@ -128,7 +150,11 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) // Spawn a primed TNT entity, if space allows: if (!cBlockInfo::IsSolid(DispBlock)) { - m_World->SpawnPrimedTNT(Vector3d(0.5, 0.5, 0.5) + DispAbsCoord, 80, 0); // 80 ticks fuse, no initial velocity + m_World->SpawnPrimedTNT( + Vector3d(0.5, 0.5, 0.5) + DispAbsCoord, + 80, + 0 + ); // 80 ticks fuse, no initial velocity m_Contents.ChangeSlotCount(a_SlotNum, -1); } break; @@ -153,7 +179,11 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_FIRE_CHARGE: { - if (SpawnProjectileFromDispenser(DispAbsCoord, cProjectileEntity::pkFireCharge, GetShootVector(Meta) * 20) != cEntity::INVALID_ID) + if (SpawnProjectileFromDispenser( + DispAbsCoord, + cProjectileEntity::pkFireCharge, + GetShootVector(Meta) * 20 + ) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); } @@ -162,7 +192,11 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_ARROW: { - if (SpawnProjectileFromDispenser(DispAbsCoord, cProjectileEntity::pkArrow, GetShootVector(Meta) * 30 + Vector3d(0, 1, 0)) != cEntity::INVALID_ID) + if (SpawnProjectileFromDispenser( + DispAbsCoord, + cProjectileEntity::pkArrow, + GetShootVector(Meta) * 30 + Vector3d(0, 1, 0) + ) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); } @@ -171,7 +205,11 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_SNOWBALL: { - if (SpawnProjectileFromDispenser(DispAbsCoord, cProjectileEntity::pkSnowball, GetShootVector(Meta) * 20 + Vector3d(0, 1, 0)) != cEntity::INVALID_ID) + if (SpawnProjectileFromDispenser( + DispAbsCoord, + cProjectileEntity::pkSnowball, + GetShootVector(Meta) * 20 + Vector3d(0, 1, 0) + ) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); } @@ -180,7 +218,11 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_EGG: { - if (SpawnProjectileFromDispenser(DispAbsCoord, cProjectileEntity::pkEgg, GetShootVector(Meta) * 20 + Vector3d(0, 1, 0)) != cEntity::INVALID_ID) + if (SpawnProjectileFromDispenser( + DispAbsCoord, + cProjectileEntity::pkEgg, + GetShootVector(Meta) * 20 + Vector3d(0, 1, 0) + ) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); } @@ -189,7 +231,11 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_BOTTLE_O_ENCHANTING: { - if (SpawnProjectileFromDispenser(DispAbsCoord, cProjectileEntity::pkExpBottle, GetShootVector(Meta) * 20 + Vector3d(0, 1, 0)) != cEntity::INVALID_ID) + if (SpawnProjectileFromDispenser( + DispAbsCoord, + cProjectileEntity::pkExpBottle, + GetShootVector(Meta) * 20 + Vector3d(0, 1, 0) + ) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); } @@ -198,7 +244,12 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_POTION: { - if (SpawnProjectileFromDispenser(DispAbsCoord, cProjectileEntity::pkSplashPotion, GetShootVector(Meta) * 20 + Vector3d(0, 1, 0), &SlotItem) != cEntity::INVALID_ID) + if (SpawnProjectileFromDispenser( + DispAbsCoord, + cProjectileEntity::pkSplashPotion, + GetShootVector(Meta) * 20 + Vector3d(0, 1, 0), + &SlotItem + ) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); } @@ -246,7 +297,8 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) break; } - spawnPos += GetShootVector(Meta) * 0.8; // A boat is bigger than one block. Add the shoot vector to put it outside the dispenser. + spawnPos += GetShootVector(Meta) * + 0.8; // A boat is bigger than one block. Add the shoot vector to put it outside the dispenser. spawnPos += Vector3d(0.5, 0.5, 0.5); if (m_World->SpawnBoat(spawnPos, cBoat::ItemToMaterial(SlotItem))) @@ -258,7 +310,12 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) case E_ITEM_FIREWORK_ROCKET: { - if (SpawnProjectileFromDispenser(DispAbsCoord, cProjectileEntity::pkFirework, GetShootVector(Meta) * 20 + Vector3d(0, 1, 0), &SlotItem) != cEntity::INVALID_ID) + if (SpawnProjectileFromDispenser( + DispAbsCoord, + cProjectileEntity::pkFirework, + GetShootVector(Meta) * 20 + Vector3d(0, 1, 0), + &SlotItem + ) != cEntity::INVALID_ID) { m_Contents.ChangeSlotCount(a_SlotNum, -1); } @@ -277,11 +334,14 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) -UInt32 cDispenserEntity::SpawnProjectileFromDispenser(Vector3i a_BlockPos, cProjectileEntity::eKind a_Kind, const Vector3d & a_ShootVector, const cItem * a_Item) +UInt32 cDispenserEntity::SpawnProjectileFromDispenser( + Vector3i a_BlockPos, + cProjectileEntity::eKind a_Kind, + const Vector3d & a_ShootVector, + const cItem * a_Item +) { - return m_World->CreateProjectile(Vector3d(0.5, 0.5, 0.5) + a_BlockPos, - a_Kind, nullptr, a_Item, &a_ShootVector - ); + return m_World->CreateProjectile(Vector3d(0.5, 0.5, 0.5) + a_BlockPos, a_Kind, nullptr, a_Item, &a_ShootVector); } @@ -292,12 +352,12 @@ Vector3d cDispenserEntity::GetShootVector(NIBBLETYPE a_Meta) { switch (a_Meta & E_META_DROPSPENSER_FACING_MASK) { - case E_META_DROPSPENSER_FACING_YP: return Vector3d( 0, 1, 0); - case E_META_DROPSPENSER_FACING_YM: return Vector3d( 0, -1, 0); - case E_META_DROPSPENSER_FACING_XM: return Vector3d(-1, 0, 0); - case E_META_DROPSPENSER_FACING_XP: return Vector3d( 1, 0, 0); - case E_META_DROPSPENSER_FACING_ZM: return Vector3d( 0, 0, -1); - case E_META_DROPSPENSER_FACING_ZP: return Vector3d( 0, 0, 1); + case E_META_DROPSPENSER_FACING_YP: return Vector3d(0, 1, 0); + case E_META_DROPSPENSER_FACING_YM: return Vector3d(0, -1, 0); + case E_META_DROPSPENSER_FACING_XM: return Vector3d(-1, 0, 0); + case E_META_DROPSPENSER_FACING_XP: return Vector3d(1, 0, 0); + case E_META_DROPSPENSER_FACING_ZM: return Vector3d(0, 0, -1); + case E_META_DROPSPENSER_FACING_ZP: return Vector3d(0, 0, 1); } LOGWARNING("Unhandled dispenser meta: %d", a_Meta); ASSERT(!"Unhandled dispenser facing"); @@ -336,11 +396,8 @@ bool cDispenserEntity::ScoopUpLiquid(int a_SlotNum, short a_ResultingBucketItemT bool cDispenserEntity::EmptyLiquidBucket(BLOCKTYPE a_BlockInFront, int a_SlotNum) { - if ( - (a_BlockInFront != E_BLOCK_AIR) && - !IsBlockLiquid(a_BlockInFront) && - !cFluidSimulator::CanWashAway(a_BlockInFront) - ) + if ((a_BlockInFront != E_BLOCK_AIR) && !IsBlockLiquid(a_BlockInFront) && + !cFluidSimulator::CanWashAway(a_BlockInFront)) { // Not a suitable block in front return false; diff --git a/src/BlockEntities/DispenserEntity.h b/src/BlockEntities/DispenserEntity.h index 47c0996f4..3b6540acf 100644 --- a/src/BlockEntities/DispenserEntity.h +++ b/src/BlockEntities/DispenserEntity.h @@ -8,15 +8,13 @@ // tolua_begin -class cDispenserEntity : - public cDropSpenserEntity +class cDispenserEntity : public cDropSpenserEntity { // tolua_end using Super = cDropSpenserEntity; -public: // tolua_export - + public: // tolua_export /** Constructor used for normal operation */ cDispenserEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); @@ -37,7 +35,9 @@ public: // tolua_export a_Item is the item from the internal storage from which the projectile originated. Returns the UniqueID of the spawned projectile, or cEntity::INVALID_ID on failure. */ UInt32 SpawnProjectileFromDispenser( - int a_BlockX, int a_BlockY, int a_BlockZ, + int a_BlockX, + int a_BlockY, + int a_BlockZ, cProjectileEntity::eKind a_Kind, const Vector3d & a_Speed, const cItem * a_Item = nullptr @@ -46,13 +46,13 @@ public: // tolua_export return SpawnProjectileFromDispenser({a_BlockX, a_BlockY, a_BlockZ}, a_Kind, a_Speed, a_Item); } - /** Returns a unit vector in the cardinal direction of where the dispenser with the specified meta would be facing. */ + /** Returns a unit vector in the cardinal direction of where the dispenser with the specified meta would be facing. + */ static Vector3d GetShootVector(NIBBLETYPE a_BlockMeta); // tolua_end -private: - + private: // cDropSpenser overrides: virtual void DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) override; @@ -62,4 +62,4 @@ private: /** If the a_BlockInFront can be washed away by liquid and the empty bucket can fit, does the m_Contents processing and returns true. Returns false otherwise. */ bool EmptyLiquidBucket(BLOCKTYPE a_BlockInFront, int a_SlotNum); -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/DropSpenserEntity.cpp b/src/BlockEntities/DropSpenserEntity.cpp index 6c0df0606..db901aa48 100644 --- a/src/BlockEntities/DropSpenserEntity.cpp +++ b/src/BlockEntities/DropSpenserEntity.cpp @@ -2,7 +2,8 @@ // DropSpenserEntity.cpp // Declares the cDropSpenserEntity class representing a common ancestor to the cDispenserEntity and cDropperEntity -// The dropper and dispenser only needs to override the DropSpenseFromSlot() function to provide the specific item behavior +// The dropper and dispenser only needs to override the DropSpenseFromSlot() function to provide the specific item +// behavior #include "Globals.h" #include "DropSpenserEntity.h" @@ -16,9 +17,13 @@ -cDropSpenserEntity::cDropSpenserEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): - Super(a_BlockType, a_BlockMeta, a_Pos, ContentsWidth, ContentsHeight, a_World), - m_ShouldDropSpense(false) +cDropSpenserEntity::cDropSpenserEntity( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World +) : + Super(a_BlockType, a_BlockMeta, a_Pos, ContentsWidth, ContentsHeight, a_World), m_ShouldDropSpense(false) { } @@ -82,7 +87,9 @@ void cDropSpenserEntity::DropSpense(cChunk & a_Chunk) int SmokeDir = 0; switch (Meta & E_META_DROPSPENSER_FACING_MASK) { - case E_META_DROPSPENSER_FACING_YP: SmokeDir = static_cast(SmokeDirection::CENTRE); break; // YP & YM don't have associated smoke dirs, just do 4 (centre of block) + case E_META_DROPSPENSER_FACING_YP: + SmokeDir = static_cast(SmokeDirection::CENTRE); + break; // YP & YM don't have associated smoke dirs, just do 4 (centre of block) case E_META_DROPSPENSER_FACING_YM: SmokeDir = static_cast(SmokeDirection::CENTRE); break; case E_META_DROPSPENSER_FACING_XM: SmokeDir = static_cast(SmokeDirection::EAST); break; case E_META_DROPSPENSER_FACING_XP: SmokeDir = static_cast(SmokeDirection::WEST); break; @@ -204,12 +211,12 @@ void cDropSpenserEntity::DropFromSlot(cChunk & a_Chunk, int a_SlotNum) int PickupSpeedX = 0, PickupSpeedY = 0, PickupSpeedZ = 0; switch (Meta & E_META_DROPSPENSER_FACING_MASK) { - case E_META_DROPSPENSER_FACING_YP: PickupSpeedY = PickupSpeed; break; + case E_META_DROPSPENSER_FACING_YP: PickupSpeedY = PickupSpeed; break; case E_META_DROPSPENSER_FACING_YM: PickupSpeedY = -PickupSpeed; break; case E_META_DROPSPENSER_FACING_XM: PickupSpeedX = -PickupSpeed; break; - case E_META_DROPSPENSER_FACING_XP: PickupSpeedX = PickupSpeed; break; + case E_META_DROPSPENSER_FACING_XP: PickupSpeedX = PickupSpeed; break; case E_META_DROPSPENSER_FACING_ZM: PickupSpeedZ = -PickupSpeed; break; - case E_META_DROPSPENSER_FACING_ZP: PickupSpeedZ = PickupSpeed; break; + case E_META_DROPSPENSER_FACING_ZP: PickupSpeedZ = PickupSpeed; break; } double MicroX, MicroY, MicroZ; @@ -220,7 +227,3 @@ void cDropSpenserEntity::DropFromSlot(cChunk & a_Chunk, int a_SlotNum) m_World->SpawnItemPickups(Pickups, MicroX, MicroY, MicroZ, PickupSpeedX, PickupSpeedY, PickupSpeedZ); } - - - - diff --git a/src/BlockEntities/DropSpenserEntity.h b/src/BlockEntities/DropSpenserEntity.h index 9eb3d15ea..2a7f298be 100644 --- a/src/BlockEntities/DropSpenserEntity.h +++ b/src/BlockEntities/DropSpenserEntity.h @@ -2,7 +2,8 @@ // DropSpenser.h // Declares the cDropSpenser class representing a common ancestor to the cDispenserEntity and cDropperEntity -// The dropper and dispenser only needs to override the DropSpenseFromSlot() function to provide the specific item behavior +// The dropper and dispenser only needs to override the DropSpenseFromSlot() function to provide the specific item +// behavior @@ -23,8 +24,7 @@ class cClientHandle; // tolua_begin -class cDropSpenserEntity : - public cBlockEntityWithItems +class cDropSpenserEntity : public cBlockEntityWithItems { // tolua_end @@ -32,13 +32,12 @@ class cDropSpenserEntity : // tolua_begin -public: - + public: enum { ContentsHeight = 3, - ContentsWidth = 3, - } ; + ContentsWidth = 3, + }; // tolua_end @@ -53,7 +52,8 @@ public: // tolua_begin - /** Modifies the block coords to match the dropspenser direction given (where the dropspensed pickups should materialize) */ + /** Modifies the block coords to match the dropspenser direction given (where the dropspensed pickups should + * materialize) */ void AddDropSpenserDir(Vector3i & a_RelCoord, NIBBLETYPE a_Direction); /** Sets the dropspenser to dropspense an item in the next tick */ @@ -61,11 +61,11 @@ public: // tolua_end -protected: - + protected: bool m_ShouldDropSpense; ///< If true, the dropspenser will dropspense an item in the next tick - /** Does the actual work on dropspensing an item. Chooses the slot, calls DropSpenseFromSlot() and handles smoke / sound effects */ + /** Does the actual work on dropspensing an item. Chooses the slot, calls DropSpenseFromSlot() and handles smoke / + * sound effects */ void DropSpense(cChunk & a_Chunk); /** Override this function to provide the specific behavior for item dropspensing (drop / shoot / pour / ...) */ @@ -73,4 +73,4 @@ protected: /** Helper function, drops one item from the specified slot (like a dropper) */ void DropFromSlot(cChunk & a_Chunk, int a_SlotNum); -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/DropperEntity.cpp b/src/BlockEntities/DropperEntity.cpp index 341924ebb..8e8c69b43 100644 --- a/src/BlockEntities/DropperEntity.cpp +++ b/src/BlockEntities/DropperEntity.cpp @@ -10,7 +10,7 @@ -cDropperEntity::cDropperEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cDropperEntity::cDropperEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : Super(a_BlockType, a_BlockMeta, a_Pos, a_World) { ASSERT(a_BlockType == E_BLOCK_DROPPER); @@ -24,7 +24,3 @@ void cDropperEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) { DropFromSlot(a_Chunk, a_SlotNum); } - - - - diff --git a/src/BlockEntities/DropperEntity.h b/src/BlockEntities/DropperEntity.h index ea12a89b9..8d84ced46 100644 --- a/src/BlockEntities/DropperEntity.h +++ b/src/BlockEntities/DropperEntity.h @@ -16,20 +16,17 @@ // tolua_begin -class cDropperEntity : - public cDropSpenserEntity +class cDropperEntity : public cDropSpenserEntity { // tolua_end using Super = cDropSpenserEntity; -public: // tolua_export - + public: // tolua_export /** Constructor used for normal operation */ cDropperEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); -protected: - + protected: // cDropSpenserEntity overrides: virtual void DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/EnchantingTableEntity.cpp b/src/BlockEntities/EnchantingTableEntity.cpp index 81c42caaf..ed38ec764 100644 --- a/src/BlockEntities/EnchantingTableEntity.cpp +++ b/src/BlockEntities/EnchantingTableEntity.cpp @@ -8,9 +8,14 @@ -cEnchantingTableEntity::cEnchantingTableEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World, AString a_CustomName) : - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - m_CustomName(std::move(a_CustomName)) +cEnchantingTableEntity::cEnchantingTableEntity( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World, + AString a_CustomName +) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), m_CustomName(std::move(a_CustomName)) { ASSERT(a_BlockType == E_BLOCK_ENCHANTMENT_TABLE); } diff --git a/src/BlockEntities/EnchantingTableEntity.h b/src/BlockEntities/EnchantingTableEntity.h index 1f0aafdf3..cba116625 100644 --- a/src/BlockEntities/EnchantingTableEntity.h +++ b/src/BlockEntities/EnchantingTableEntity.h @@ -7,20 +7,23 @@ -class cEnchantingTableEntity : - public cBlockEntity +class cEnchantingTableEntity : public cBlockEntity { using Super = cBlockEntity; -public: - - cEnchantingTableEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World, AString a_CustomName = ""); + public: + cEnchantingTableEntity( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos, + cWorld * a_World, + AString a_CustomName = "" + ); const AString & GetCustomName() const { return m_CustomName; } void SetCustomName(const AString & a_CustomName) { m_CustomName = a_CustomName; } -private: - + private: // cBlockEntity overrides: virtual cItems ConvertToPickups() const override; virtual void CopyFrom(const cBlockEntity & a_Src) override; diff --git a/src/BlockEntities/EndPortalEntity.h b/src/BlockEntities/EndPortalEntity.h index 3480ad49c..5736ab803 100644 --- a/src/BlockEntities/EndPortalEntity.h +++ b/src/BlockEntities/EndPortalEntity.h @@ -7,17 +7,14 @@ -class cEndPortalEntity : - public cBlockEntity +class cEndPortalEntity : public cBlockEntity { using Super = cBlockEntity; -public: - + public: cEndPortalEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); -private: - + private: // cBlockEntity overrides: virtual void CopyFrom(const cBlockEntity & a_Src) override; virtual bool UsedBy(cPlayer * a_Player) override; diff --git a/src/BlockEntities/EnderChestEntity.cpp b/src/BlockEntities/EnderChestEntity.cpp index 07cc8aa18..3f815bb00 100644 --- a/src/BlockEntities/EnderChestEntity.cpp +++ b/src/BlockEntities/EnderChestEntity.cpp @@ -14,9 +14,8 @@ -cEnderChestEntity::cEnderChestEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - cBlockEntityWindowOwner(this) +cEnderChestEntity::cEnderChestEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), cBlockEntityWindowOwner(this) { ASSERT(a_BlockType == E_BLOCK_ENDER_CHEST); } @@ -50,13 +49,9 @@ void cEnderChestEntity::OnRemoveFromWorld() bool cEnderChestEntity::UsedBy(cPlayer * a_Player) { - if ( - (GetPosY() < cChunkDef::Height - 1) && - ( - !cBlockInfo::IsTransparent(GetWorld()->GetBlock(GetPos().addedY(1))) || - !cOcelot::IsCatSittingOnBlock(GetWorld(), Vector3d(GetPos())) - ) - ) + if ((GetPosY() < cChunkDef::Height - 1) && + (!cBlockInfo::IsTransparent(GetWorld()->GetBlock(GetPos().addedY(1))) || + !cOcelot::IsCatSittingOnBlock(GetWorld(), Vector3d(GetPos())))) { // Obstruction, don't open return false; diff --git a/src/BlockEntities/EnderChestEntity.h b/src/BlockEntities/EnderChestEntity.h index d2fb4d67e..a004716f7 100644 --- a/src/BlockEntities/EnderChestEntity.h +++ b/src/BlockEntities/EnderChestEntity.h @@ -9,16 +9,14 @@ // tolua_begin -class cEnderChestEntity : - public cBlockEntity, - public cBlockEntityWindowOwner +class cEnderChestEntity : public cBlockEntity, + public cBlockEntityWindowOwner { // tolua_end using Super = cBlockEntity; -public: // tolua_export - + public: // tolua_export cEnderChestEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); // cBlockEntity overrides: @@ -31,4 +29,4 @@ public: // tolua_export /** Opens a new enderchest window for this enderchest */ void OpenNewWindow(void); -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/FlowerPotEntity.cpp b/src/BlockEntities/FlowerPotEntity.cpp index df14acc8e..60362c95c 100644 --- a/src/BlockEntities/FlowerPotEntity.cpp +++ b/src/BlockEntities/FlowerPotEntity.cpp @@ -13,7 +13,7 @@ -cFlowerPotEntity::cFlowerPotEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cFlowerPotEntity::cFlowerPotEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : Super(a_BlockType, a_BlockMeta, a_Pos, a_World) { ASSERT(a_BlockType == E_BLOCK_FLOWER_POT); diff --git a/src/BlockEntities/FlowerPotEntity.h b/src/BlockEntities/FlowerPotEntity.h index 1d95ef570..8eccfcd37 100644 --- a/src/BlockEntities/FlowerPotEntity.h +++ b/src/BlockEntities/FlowerPotEntity.h @@ -16,15 +16,13 @@ // tolua_begin -class cFlowerPotEntity : - public cBlockEntity +class cFlowerPotEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: // tolua_export - + public: // tolua_export /** Creates a new flowerpot entity at the specified block coords. a_World may be nullptr */ cFlowerPotEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); @@ -50,7 +48,6 @@ public: // tolua_export static bool IsFlower(short m_ItemType, short m_ItemData); -private: - + private: cItem m_Item; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/FurnaceEntity.cpp b/src/BlockEntities/FurnaceEntity.cpp index 8ca539170..7cd73d04f 100644 --- a/src/BlockEntities/FurnaceEntity.cpp +++ b/src/BlockEntities/FurnaceEntity.cpp @@ -16,13 +16,13 @@ enum PROGRESSBAR_FUEL = 0, PROGRESSBAR_SMELTING = 2, PROGRESSBAR_SMELTING_CONFIRM = 3, -} ; +}; -cFurnaceEntity::cFurnaceEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cFurnaceEntity::cFurnaceEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : Super(a_BlockType, a_BlockMeta, a_Pos, ContentsWidth, ContentsHeight, a_World), m_CurrentRecipe(nullptr), m_IsCooking(a_BlockType == E_BLOCK_LIT_FURNACE), @@ -255,10 +255,10 @@ void cFurnaceEntity::OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) ASSERT(a_ItemGrid == &m_Contents); switch (a_SlotNum) { - case fsInput: UpdateInput(); break; - case fsFuel: UpdateFuel(); break; + case fsInput: UpdateInput(); break; + case fsFuel: UpdateFuel(); break; case fsOutput: UpdateOutput(); break; - default: ASSERT(!"Invalid furnace slot update!"); break; + default: ASSERT(!"Invalid furnace slot update!"); break; } } @@ -398,7 +398,10 @@ void cFurnaceEntity::UpdateProgressBars(bool a_ForceUpdate) BroadcastProgress(PROGRESSBAR_FUEL, static_cast(CurFuel)); int CurCook = (m_NeedCookTime > 0) ? (200 * m_TimeCooked / m_NeedCookTime) : 0; - BroadcastProgress(PROGRESSBAR_SMELTING_CONFIRM, 200); // Post 1.8, Mojang requires a random packet with an ID of three and value of 200. Wat. Wat. Wat. + BroadcastProgress( + PROGRESSBAR_SMELTING_CONFIRM, + 200 + ); // Post 1.8, Mojang requires a random packet with an ID of three and value of 200. Wat. Wat. Wat. BroadcastProgress(PROGRESSBAR_SMELTING, static_cast(CurCook)); } @@ -414,7 +417,8 @@ void cFurnaceEntity::SetIsCooking(bool a_IsCooking) } m_IsCooking = a_IsCooking; - // Only light the furnace as it is extinguished only when the fuel runs out, not when cooking stops - handled in this::Tick() + // Only light the furnace as it is extinguished only when the fuel runs out, not when cooking stops - handled in + // this::Tick() if (m_IsCooking) { m_BlockType = E_BLOCK_LIT_FURNACE; diff --git a/src/BlockEntities/FurnaceEntity.h b/src/BlockEntities/FurnaceEntity.h index c6b5ee09f..c98f018d1 100644 --- a/src/BlockEntities/FurnaceEntity.h +++ b/src/BlockEntities/FurnaceEntity.h @@ -15,8 +15,7 @@ class cClientHandle; // tolua_begin -class cFurnaceEntity : - public cBlockEntityWithItems +class cFurnaceEntity : public cBlockEntityWithItems { // tolua_end @@ -24,15 +23,14 @@ class cFurnaceEntity : // tolua_begin -public: - + public: enum { - fsInput = 0, // Input slot number - fsFuel = 1, // Fuel slot number + fsInput = 0, // Input slot number + fsFuel = 1, // Fuel slot number fsOutput = 2, // Output slot number - ContentsWidth = 3, + ContentsWidth = 3, ContentsHeight = 1, }; @@ -49,8 +47,8 @@ public: virtual bool UsedBy(cPlayer * a_Player) override; /** Restarts cooking - Used after the furnace is loaded from storage to set up the internal variables so that cooking continues, if it was active - Returns true if cooking */ + Used after the furnace is loaded from storage to set up the internal variables so that cooking continues, if it was + active Returns true if cooking */ bool ContinueCooking(void); // tolua_begin @@ -102,14 +100,10 @@ public: m_TimeCooked = a_TimeCooked; } - void SetLoading(bool a_IsLoading) - { - m_IsLoading = a_IsLoading; - } - + void SetLoading(bool a_IsLoading) { m_IsLoading = a_IsLoading; } -protected: + protected: /** The recipe for the current input slot */ const cFurnaceRecipe::cRecipe * m_CurrentRecipe; @@ -167,4 +161,4 @@ protected: // cItemGrid::cListener overrides: virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/HopperEntity.cpp b/src/BlockEntities/HopperEntity.cpp index d7faca174..e28248b82 100644 --- a/src/BlockEntities/HopperEntity.cpp +++ b/src/BlockEntities/HopperEntity.cpp @@ -24,7 +24,7 @@ -cHopperEntity::cHopperEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cHopperEntity::cHopperEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : Super(a_BlockType, a_BlockMeta, a_Pos, ContentsWidth, ContentsHeight, a_World), m_LastMoveItemsInTick(0), m_LastMoveItemsOutTick(0), @@ -52,10 +52,10 @@ std::pair cHopperEntity::GetOutputBlockPos(NIBBLETYPE a_BlockMet switch (a_BlockMeta) { case E_META_HOPPER_FACING_XM: return {true, pos.addedX(-1)}; - case E_META_HOPPER_FACING_XP: return {true, pos.addedX( 1)}; + case E_META_HOPPER_FACING_XP: return {true, pos.addedX(1)}; case E_META_HOPPER_FACING_YM: return {true, pos.addedY(-1)}; case E_META_HOPPER_FACING_ZM: return {true, pos.addedZ(-1)}; - case E_META_HOPPER_FACING_ZP: return {true, pos.addedZ( 1)}; + case E_META_HOPPER_FACING_ZP: return {true, pos.addedZ(1)}; default: { // Not attached @@ -184,7 +184,9 @@ bool cHopperEntity::MoveItemsIn(cChunk & a_Chunk, const cTickTimeLong a_CurrentT case E_BLOCK_DROPPER: case E_BLOCK_HOPPER: { - res = MoveItemsFromGrid(*static_cast(a_Chunk.GetBlockEntity(this->GetPos().addedY(1)))); + res = + MoveItemsFromGrid(*static_cast(a_Chunk.GetBlockEntity(this->GetPos().addedY(1)) + )); break; } } @@ -206,15 +208,13 @@ bool cHopperEntity::MovePickupsIn(cChunk & a_Chunk) { class cHopperPickupSearchCallback { - public: + public: cHopperPickupSearchCallback(Vector3i a_Pos, cItemGrid & a_Contents) : - m_Pos(a_Pos), - m_bFoundPickupsAbove(false), - m_Contents(a_Contents) + m_Pos(a_Pos), m_bFoundPickupsAbove(false), m_Contents(a_Contents) { } - bool operator () (cEntity & a_Entity) + bool operator()(cEntity & a_Entity) { if (!a_Entity.IsPickup()) { @@ -222,7 +222,11 @@ bool cHopperEntity::MovePickupsIn(cChunk & a_Chunk) } Vector3f EntityPos = a_Entity.GetPosition(); - Vector3f BlockPos(m_Pos.x + 0.5f, static_cast(m_Pos.y) + 1, m_Pos.z + 0.5f); // One block above hopper, and search from center outwards + Vector3f BlockPos( + m_Pos.x + 0.5f, + static_cast(m_Pos.y) + 1, + m_Pos.z + 0.5f + ); // One block above hopper, and search from center outwards double Distance = (EntityPos - BlockPos).Length(); if (Distance < 0.5) @@ -256,7 +260,8 @@ bool cHopperEntity::MovePickupsIn(cChunk & a_Chunk) auto PreviousCount = m_Contents.GetSlot(i).m_ItemCount; - Item.m_ItemCount -= m_Contents.ChangeSlotCount(i, Item.m_ItemCount) - PreviousCount; // Set count to however many items were added + Item.m_ItemCount -= m_Contents.ChangeSlotCount(i, Item.m_ItemCount) - + PreviousCount; // Set count to however many items were added if (Item.IsEmpty()) { @@ -268,12 +273,9 @@ bool cHopperEntity::MovePickupsIn(cChunk & a_Chunk) return false; } - bool FoundPickupsAbove(void) const - { - return m_bFoundPickupsAbove; - } + bool FoundPickupsAbove(void) const { return m_bFoundPickupsAbove; } - protected: + protected: Vector3i m_Pos; bool m_bFoundPickupsAbove; cItemGrid & m_Contents; diff --git a/src/BlockEntities/HopperEntity.h b/src/BlockEntities/HopperEntity.h index 8eb0196a3..3e70e1bbf 100644 --- a/src/BlockEntities/HopperEntity.h +++ b/src/BlockEntities/HopperEntity.h @@ -16,8 +16,7 @@ // tolua_begin -class cHopperEntity : - public cBlockEntityWithItems +class cHopperEntity : public cBlockEntityWithItems { // tolua_end @@ -25,13 +24,12 @@ class cHopperEntity : // tolua_begin -public: - + public: enum { ContentsHeight = 1, - ContentsWidth = 5 - } ; + ContentsWidth = 5 + }; // tolua_end @@ -45,8 +43,7 @@ public: void SetLocked(bool a_Value); -protected: - + protected: cTickTimeLong m_LastMoveItemsInTick; cTickTimeLong m_LastMoveItemsOutTick; @@ -77,7 +74,8 @@ protected: /** Moves items from the specified a_Entity's Contents into this hopper. Returns true if contents have changed. */ bool MoveItemsFromGrid(cBlockEntityWithItems & a_Entity); - /** Moves one piece from the specified itemstack into this hopper. Returns true if contents have changed. Doesn't change the itemstack. */ + /** Moves one piece from the specified itemstack into this hopper. Returns true if contents have changed. Doesn't + * change the itemstack. */ bool MoveItemsFromSlot(cBlockEntityWithItems & a_Entity, int a_SrcSlotNum); /** Moves items to the chest at the specified absolute coords. Returns true if contents have changed */ @@ -92,7 +90,6 @@ protected: /** Moves one piece to the specified entity's contents' slot. Returns true if contents have changed. */ bool MoveItemsToSlot(cBlockEntityWithItems & a_Entity, int a_DstSlotNum); -private: - + private: bool m_Locked; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/JukeboxEntity.cpp b/src/BlockEntities/JukeboxEntity.cpp index 065f9cb46..d99ed07f3 100644 --- a/src/BlockEntities/JukeboxEntity.cpp +++ b/src/BlockEntities/JukeboxEntity.cpp @@ -13,9 +13,8 @@ -cJukeboxEntity::cJukeboxEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - m_Record(0) +cJukeboxEntity::cJukeboxEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), m_Record(0) { ASSERT(a_BlockType == E_BLOCK_JUKEBOX); } diff --git a/src/BlockEntities/JukeboxEntity.h b/src/BlockEntities/JukeboxEntity.h index 744012fe6..8ccc11d80 100644 --- a/src/BlockEntities/JukeboxEntity.h +++ b/src/BlockEntities/JukeboxEntity.h @@ -10,20 +10,18 @@ // tolua_begin -class cJukeboxEntity : - public cBlockEntity +class cJukeboxEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: // tolua_export - + public: // tolua_export cJukeboxEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); // tolua_begin - int GetRecord(void); + int GetRecord(void); void SetRecord(int a_Record); /** Plays the specified Record. Return false if a_Record isn't a playable Record (E_ITEM_XXX_DISC). @@ -36,10 +34,7 @@ public: // tolua_export /** Is in the Jukebox a Record? */ bool IsPlayingRecord(void) const; - static bool IsRecordItem(int a_Item) - { - return ((a_Item >= E_ITEM_FIRST_DISC) && (a_Item <= E_ITEM_LAST_DISC)); - } + static bool IsRecordItem(int a_Item) { return ((a_Item >= E_ITEM_FIRST_DISC) && (a_Item <= E_ITEM_LAST_DISC)); } // tolua_end @@ -50,6 +45,6 @@ public: // tolua_export virtual bool UsedBy(cPlayer * a_Player) override; virtual void SendTo(cClientHandle &) override {} -private: + private: int m_Record; -} ; // tolua_end +}; // tolua_end diff --git a/src/BlockEntities/MobHeadEntity.cpp b/src/BlockEntities/MobHeadEntity.cpp index ef717513d..aa840f030 100644 --- a/src/BlockEntities/MobHeadEntity.cpp +++ b/src/BlockEntities/MobHeadEntity.cpp @@ -13,10 +13,8 @@ -cMobHeadEntity::cMobHeadEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - m_Type(SKULL_TYPE_SKELETON), - m_Rotation(SKULL_ROTATION_NORTH) +cMobHeadEntity::cMobHeadEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), m_Type(SKULL_TYPE_SKELETON), m_Rotation(SKULL_ROTATION_NORTH) { ASSERT(a_BlockType == E_BLOCK_HEAD); } @@ -30,7 +28,7 @@ void cMobHeadEntity::SetType(const eMobHeadType & a_Type) if ((!m_OwnerName.empty()) && (a_Type != SKULL_TYPE_PLAYER)) { m_OwnerName = m_OwnerTexture = m_OwnerTextureSignature = ""; - m_OwnerUUID = cUUID{}; + m_OwnerUUID = cUUID {}; } m_Type = a_Type; } @@ -74,7 +72,12 @@ void cMobHeadEntity::SetOwner(const cPlayer & a_Owner) -void cMobHeadEntity::SetOwner(const cUUID & a_OwnerUUID, const AString & a_OwnerName, const AString & a_OwnerTexture, const AString & a_OwnerTextureSignature) +void cMobHeadEntity::SetOwner( + const cUUID & a_OwnerUUID, + const AString & a_OwnerName, + const AString & a_OwnerTexture, + const AString & a_OwnerTextureSignature +) { if (m_Type != SKULL_TYPE_PLAYER) { diff --git a/src/BlockEntities/MobHeadEntity.h b/src/BlockEntities/MobHeadEntity.h index fcc7fc4c4..791caa08d 100644 --- a/src/BlockEntities/MobHeadEntity.h +++ b/src/BlockEntities/MobHeadEntity.h @@ -18,15 +18,13 @@ // tolua_begin -class cMobHeadEntity : - public cBlockEntity +class cMobHeadEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: // tolua_export - + public: // tolua_export /** Creates a new mob head entity at the specified block coords. a_World may be nullptr */ cMobHeadEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); @@ -60,20 +58,21 @@ public: // tolua_export /** Sets the player components for the mob heads with player type. */ void SetOwner( - const cUUID & a_OwnerUUID, const AString & a_OwnerName, - const AString & a_OwnerTexture, const AString & a_OwnerTextureSignature + const cUUID & a_OwnerUUID, + const AString & a_OwnerName, + const AString & a_OwnerTexture, + const AString & a_OwnerTextureSignature ); // Exported in ManualBindings.cpp /** Returns the player UUID of the mob head */ cUUID GetOwnerUUID(void) const { return m_OwnerUUID; } // Exported in ManualBindings.cpp -private: - + private: eMobHeadType m_Type; eMobHeadRotation m_Rotation; AString m_OwnerName; - cUUID m_OwnerUUID; + cUUID m_OwnerUUID; AString m_OwnerTexture; AString m_OwnerTextureSignature; @@ -82,4 +81,4 @@ private: virtual void CopyFrom(const cBlockEntity & a_Src) override; virtual void SendTo(cClientHandle & a_Client) override; virtual bool UsedBy(cPlayer * a_Player) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/MobSpawnerEntity.cpp b/src/BlockEntities/MobSpawnerEntity.cpp index 5778fb706..3da5718d7 100644 --- a/src/BlockEntities/MobSpawnerEntity.cpp +++ b/src/BlockEntities/MobSpawnerEntity.cpp @@ -13,11 +13,8 @@ -cMobSpawnerEntity::cMobSpawnerEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - m_Entity(mtPig), - m_SpawnDelay(100), - m_IsActive(false) +cMobSpawnerEntity::cMobSpawnerEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), m_Entity(mtPig), m_SpawnDelay(100), m_IsActive(false) { ASSERT(a_BlockType == E_BLOCK_MOB_SPAWNER); } @@ -58,7 +55,8 @@ bool cMobSpawnerEntity::UsedBy(cPlayer * a_Player) { if (a_Player->GetEquippedItem().m_ItemType == E_ITEM_SPAWN_EGG) { - eMonsterType MonsterType = cItemSpawnEggHandler::ItemDamageToMonsterType(a_Player->GetEquippedItem().m_ItemDamage); + eMonsterType MonsterType = + cItemSpawnEggHandler::ItemDamageToMonsterType(a_Player->GetEquippedItem().m_ItemDamage); if (MonsterType == eMonsterType::mtInvalidType) { return false; @@ -140,7 +138,10 @@ void cMobSpawnerEntity::SpawnEntity(void) return; } - bool EntitiesSpawned = m_World->DoWithChunk(GetChunkX(), GetChunkZ(), [this, NearbyEntities](cChunk & a_Chunk) + bool EntitiesSpawned = m_World->DoWithChunk( + GetChunkX(), + GetChunkZ(), + [this, NearbyEntities](cChunk & a_Chunk) { auto & Random = GetRandomProvider(); auto EntitySpawnTally = NearbyEntities; @@ -155,9 +156,13 @@ void cMobSpawnerEntity::SpawnEntity(void) auto SpawnRelPos(GetRelPos()); SpawnRelPos += Vector3i( - static_cast((Random.RandReal() - Random.RandReal()) * static_cast(m_SpawnRange)), + static_cast( + (Random.RandReal() - Random.RandReal()) * static_cast(m_SpawnRange) + ), Random.RandInt(-1, 1), - static_cast((Random.RandReal() - Random.RandReal()) * static_cast(m_SpawnRange)) + static_cast( + (Random.RandReal() - Random.RandReal()) * static_cast(m_SpawnRange) + ) ); auto Chunk = a_Chunk.GetRelNeighborChunkAdjustCoords(SpawnRelPos); @@ -216,7 +221,11 @@ int cMobSpawnerEntity::GetNearbyPlayersNum(void) return false; }; - const cBoundingBox PlayerBoundingBox(Vector3d(m_Pos.x, m_Pos.y - m_RequiredPlayerRange, m_Pos.z), m_RequiredPlayerRange, m_RequiredPlayerRange * 2); + const cBoundingBox PlayerBoundingBox( + Vector3d(m_Pos.x, m_Pos.y - m_RequiredPlayerRange, m_Pos.z), + m_RequiredPlayerRange, + m_RequiredPlayerRange * 2 + ); m_World->ForEachEntityInBox(PlayerBoundingBox, Callback); return NumPlayers; diff --git a/src/BlockEntities/MobSpawnerEntity.h b/src/BlockEntities/MobSpawnerEntity.h index 3cd178d81..864c9a1eb 100644 --- a/src/BlockEntities/MobSpawnerEntity.h +++ b/src/BlockEntities/MobSpawnerEntity.h @@ -16,15 +16,13 @@ // tolua_begin -class cMobSpawnerEntity : - public cBlockEntity +class cMobSpawnerEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: // tolua_export - + public: // tolua_export cMobSpawnerEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); // cBlockEntity overrides: @@ -35,7 +33,8 @@ public: // tolua_export // tolua_begin - /** Update the active flag from the mob spawner. This function will called every 5 seconds from the Tick() function. */ + /** Update the active flag from the mob spawner. This function will called every 5 seconds from the Tick() function. + */ void UpdateActiveState(void); /** Sets the spawn delay to a new random value. */ @@ -48,29 +47,28 @@ public: // tolua_export int GetNearbyMonsterNum(eMonsterType a_EntityType); int GetNearbyPlayersNum(void); - eMonsterType GetEntity(void) const { return m_Entity; } - short GetSpawnCount(void) const { return m_SpawnCount; } - short GetSpawnRange(void) const { return m_SpawnRange; } - short GetSpawnDelay(void) const { return m_SpawnDelay; } - short GetMinSpawnDelay(void) const { return m_MinSpawnDelay; } - short GetMaxSpawnDelay(void) const { return m_MaxSpawnDelay; } - short GetMaxNearbyEntities(void) const { return m_MaxNearbyEntities; } + eMonsterType GetEntity(void) const { return m_Entity; } + short GetSpawnCount(void) const { return m_SpawnCount; } + short GetSpawnRange(void) const { return m_SpawnRange; } + short GetSpawnDelay(void) const { return m_SpawnDelay; } + short GetMinSpawnDelay(void) const { return m_MinSpawnDelay; } + short GetMaxSpawnDelay(void) const { return m_MaxSpawnDelay; } + short GetMaxNearbyEntities(void) const { return m_MaxNearbyEntities; } short GetRequiredPlayerRange(void) const { return m_RequiredPlayerRange; } // Setters - void SetEntity(eMonsterType a_EntityType) { m_Entity = a_EntityType; } - void SetSpawnDelay(short a_Delay) { m_SpawnDelay = a_Delay; } - void SetSpawnCount(short a_SpawnCount) { m_SpawnCount = a_SpawnCount; } - void SetSpawnRange(short a_SpawnRange) { m_SpawnRange = a_SpawnRange; } - void SetMinSpawnDelay(short a_Min) { m_MinSpawnDelay = a_Min; } - void SetMaxSpawnDelay(short a_Max) { m_MaxSpawnDelay = a_Max; } - void SetMaxNearbyEntities(short a_MaxNearbyEntities) { m_MaxNearbyEntities = a_MaxNearbyEntities; } + void SetEntity(eMonsterType a_EntityType) { m_Entity = a_EntityType; } + void SetSpawnDelay(short a_Delay) { m_SpawnDelay = a_Delay; } + void SetSpawnCount(short a_SpawnCount) { m_SpawnCount = a_SpawnCount; } + void SetSpawnRange(short a_SpawnRange) { m_SpawnRange = a_SpawnRange; } + void SetMinSpawnDelay(short a_Min) { m_MinSpawnDelay = a_Min; } + void SetMaxSpawnDelay(short a_Max) { m_MaxSpawnDelay = a_Max; } + void SetMaxNearbyEntities(short a_MaxNearbyEntities) { m_MaxNearbyEntities = a_MaxNearbyEntities; } void SetRequiredPlayerRange(short a_RequiredPlayerRange) { m_RequiredPlayerRange = a_RequiredPlayerRange; } // tolua_end -private: - + private: /** The entity to spawn. */ eMonsterType m_Entity; @@ -95,4 +93,4 @@ private: /** Maximum distance to player for activation */ short m_RequiredPlayerRange = 16; -} ; // tolua_end +}; // tolua_end diff --git a/src/BlockEntities/NoteEntity.cpp b/src/BlockEntities/NoteEntity.cpp index b4696f7b1..f86316041 100644 --- a/src/BlockEntities/NoteEntity.cpp +++ b/src/BlockEntities/NoteEntity.cpp @@ -10,9 +10,8 @@ -cNoteEntity::cNoteEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): - Super(a_BlockType, a_BlockMeta, a_Pos, a_World), - m_Note(0) +cNoteEntity::cNoteEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : + Super(a_BlockType, a_BlockMeta, a_Pos, a_World), m_Note(0) { ASSERT(a_BlockType == E_BLOCK_NOTE_BLOCK); } @@ -246,12 +245,7 @@ void cNoteEntity::MakeSound(void) m_World->BroadcastBlockAction(m_Pos, static_cast(Instrument), static_cast(m_Note), E_BLOCK_NOTE_BLOCK); - m_World->BroadcastSoundEffect( - SampleName, - m_Pos, - 3.0f, - PitchFromNote(m_Note) - ); + m_World->BroadcastSoundEffect(SampleName, m_Pos, 3.0f, PitchFromNote(m_Note)); } @@ -292,16 +286,16 @@ float cNoteEntity::PitchFromNote(unsigned char a_Pitch) // So 2 ^ ((m_Note - 12) / 12) switch (a_Pitch) { - case 0: return 0.5f; - case 1: return 0.5297315471796477f; - case 2: return 0.5612310241546865f; - case 3: return 0.5946035575013605f; - case 4: return 0.6299605249474366f; - case 5: return 0.6674199270850172f; - case 6: return 0.7071067811865476f; - case 7: return 0.7491535384383408f; - case 8: return 0.7937005259840998f; - case 9: return 0.8408964152537145f; + case 0: return 0.5f; + case 1: return 0.5297315471796477f; + case 2: return 0.5612310241546865f; + case 3: return 0.5946035575013605f; + case 4: return 0.6299605249474366f; + case 5: return 0.6674199270850172f; + case 6: return 0.7071067811865476f; + case 7: return 0.7491535384383408f; + case 8: return 0.7937005259840998f; + case 9: return 0.8408964152537145f; case 10: return 0.8908987181403393f; case 11: return 0.9438743126816935f; case 12: return 1.0f; diff --git a/src/BlockEntities/NoteEntity.h b/src/BlockEntities/NoteEntity.h index 8579ba930..c2d57de74 100644 --- a/src/BlockEntities/NoteEntity.h +++ b/src/BlockEntities/NoteEntity.h @@ -9,16 +9,16 @@ enum ENUM_NOTE_INSTRUMENTS { - E_INST_HARP_PIANO = 0, + E_INST_HARP_PIANO = 0, E_INST_DOUBLE_BASS = 1, - E_INST_SNARE_DRUM = 2, - E_INST_CLICKS = 3, - E_INST_BASS_DRUM = 4, - E_INST_FLUTE = 5, - E_INST_BELL = 6, - E_INST_GUITAR = 7, - E_INST_CHIME = 8, - E_INST_XYLOPHONE = 9 + E_INST_SNARE_DRUM = 2, + E_INST_CLICKS = 3, + E_INST_BASS_DRUM = 4, + E_INST_FLUTE = 5, + E_INST_BELL = 6, + E_INST_GUITAR = 7, + E_INST_CHIME = 8, + E_INST_XYLOPHONE = 9 }; @@ -27,15 +27,13 @@ enum ENUM_NOTE_INSTRUMENTS // tolua_begin -class cNoteEntity : - public cBlockEntity +class cNoteEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: // tolua_export - + public: // tolua_export /** Creates a new note entity. a_World may be nullptr */ cNoteEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); @@ -57,7 +55,6 @@ public: // tolua_export from a note value between 0 and 24 (used in m_Note). */ static float PitchFromNote(unsigned char a_Note); -private: - + private: unsigned char m_Note; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockEntities/SignEntity.cpp b/src/BlockEntities/SignEntity.cpp index fc96e06f5..e37c8ac47 100644 --- a/src/BlockEntities/SignEntity.cpp +++ b/src/BlockEntities/SignEntity.cpp @@ -12,10 +12,10 @@ -cSignEntity::cSignEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World): +cSignEntity::cSignEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World) : Super(a_BlockType, a_BlockMeta, a_Pos, a_World) { - ASSERT((a_BlockType == E_BLOCK_WALLSIGN) || (a_BlockType == E_BLOCK_SIGN_POST)); + ASSERT((a_BlockType == E_BLOCK_WALLSIGN) || (a_BlockType == E_BLOCK_SIGN_POST)); ASSERT(cChunkDef::IsValidHeight(a_Pos)); } @@ -44,7 +44,12 @@ bool cSignEntity::UsedBy(cPlayer * a_Player) -void cSignEntity::SetLines(const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) +void cSignEntity::SetLines( + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 +) { m_Line[0] = a_Line1; m_Line[1] = a_Line2; diff --git a/src/BlockEntities/SignEntity.h b/src/BlockEntities/SignEntity.h index 4cc69ee22..700056680 100644 --- a/src/BlockEntities/SignEntity.h +++ b/src/BlockEntities/SignEntity.h @@ -16,16 +16,15 @@ // tolua_begin -class cSignEntity : - public cBlockEntity +class cSignEntity : public cBlockEntity { // tolua_end using Super = cBlockEntity; -public: // tolua_export - - /** Creates a new empty sign entity at the specified block coords and block type (wall or standing). a_World may be nullptr */ + public: // tolua_export + /** Creates a new empty sign entity at the specified block coords and block type (wall or standing). a_World may be + * nullptr */ cSignEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World); // tolua_begin @@ -46,7 +45,6 @@ public: // tolua_export virtual bool UsedBy(cPlayer * a_Player) override; virtual void SendTo(cClientHandle & a_Client) override; -private: - + private: std::array m_Line; -} ; // tolua_export +}; // tolua_export diff --git a/src/BlockInServerPluginInterface.h b/src/BlockInServerPluginInterface.h index 78e934cea..ca89f33d0 100644 --- a/src/BlockInServerPluginInterface.h +++ b/src/BlockInServerPluginInterface.h @@ -1,7 +1,8 @@ // BlockInServerPluginInterface.h -// Defines the cBlockInServerPluginInterface class that implements the cBlockPluginInterface for blocks, using the plugin manager +// Defines the cBlockInServerPluginInterface class that implements the cBlockPluginInterface for blocks, using the +// plugin manager @@ -16,31 +17,43 @@ class cWorld; -class cBlockInServerPluginInterface : - public cBlockPluginInterface +class cBlockInServerPluginInterface : public cBlockPluginInterface { -public: - cBlockInServerPluginInterface(cWorld & a_World) : m_World(a_World) {} + public: + cBlockInServerPluginInterface(cWorld & a_World) : + m_World(a_World) + { + } virtual bool CallHookBlockSpread(Vector3i a_BlockPos, eSpreadSource a_Source) override { return cPluginManager::Get()->CallHookBlockSpread(m_World, a_BlockPos, a_Source); } - virtual bool CallHookPlayerBreakingBlock(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override + virtual bool CallHookPlayerBreakingBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) override { - return cPluginManager::Get()->CallHookPlayerBreakingBlock(a_Player, a_BlockPos, a_BlockFace, a_BlockType, a_BlockMeta); + return cPluginManager::Get() + ->CallHookPlayerBreakingBlock(a_Player, a_BlockPos, a_BlockFace, a_BlockType, a_BlockMeta); } - virtual bool CallHookPlayerBrokenBlock(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override + virtual bool CallHookPlayerBrokenBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) override { - return cPluginManager::Get()->CallHookPlayerBrokenBlock(a_Player, a_BlockPos, a_BlockFace, a_BlockType, a_BlockMeta); + return cPluginManager::Get() + ->CallHookPlayerBrokenBlock(a_Player, a_BlockPos, a_BlockFace, a_BlockType, a_BlockMeta); } -private: + private: cWorld & m_World; }; - - - - diff --git a/src/BlockInfo.cpp b/src/BlockInfo.cpp index 556f8081f..09d4dc312 100644 --- a/src/BlockInfo.cpp +++ b/src/BlockInfo.cpp @@ -556,15 +556,15 @@ NIBBLETYPE cBlockInfo::GetSpreadLightFalloff(const BLOCKTYPE Block) case E_BLOCK_WALLSIGN: case E_BLOCK_WALL_BANNER: case E_BLOCK_WOODEN_BUTTON: - case E_BLOCK_WOODEN_PRESSURE_PLATE: return 1; + case E_BLOCK_WOODEN_PRESSURE_PLATE: return 1; // Light in ice and water disappears faster: case E_BLOCK_ICE: case E_BLOCK_STATIONARY_WATER: - case E_BLOCK_WATER: return 3; + case E_BLOCK_WATER: return 3; // Light does not pass through anything else (note: including tilled farmland, stairs, and slabs): - default: return 15; + default: return 15; } } @@ -594,8 +594,8 @@ bool cBlockInfo::CanBeTerraformed(const BLOCKTYPE Block) case E_BLOCK_SANDSTONE: case E_BLOCK_SOULSAND: case E_BLOCK_STAINED_CLAY: - case E_BLOCK_STONE: return true; - default: return false; + case E_BLOCK_STONE: return true; + default: return false; } } @@ -708,8 +708,8 @@ bool cBlockInfo::FullyOccupiesVoxel(const BLOCKTYPE Block) case E_BLOCK_STRUCTURE_BLOCK: case E_BLOCK_WHITE_GLAZED_TERRACOTTA: case E_BLOCK_WOOL: - case E_BLOCK_YELLOW_GLAZED_TERRACOTTA: return true; - default: return false; + case E_BLOCK_YELLOW_GLAZED_TERRACOTTA: return true; + default: return false; } } @@ -835,8 +835,8 @@ bool cBlockInfo::IsPistonBreakable(const BLOCKTYPE Block) case E_BLOCK_WHITE_SHULKER_BOX: case E_BLOCK_WOODEN_BUTTON: case E_BLOCK_WOODEN_PRESSURE_PLATE: - case E_BLOCK_YELLOW_SHULKER_BOX: return true; - default: return false; + case E_BLOCK_YELLOW_SHULKER_BOX: return true; + default: return false; } } @@ -852,8 +852,8 @@ bool cBlockInfo::IsRainBlocker(const BLOCKTYPE Block) case E_BLOCK_SIGN_POST: case E_BLOCK_STANDING_BANNER: case E_BLOCK_WALLSIGN: - case E_BLOCK_WALL_BANNER: return true; - default: return IsSolid(Block); + case E_BLOCK_WALL_BANNER: return true; + default: return IsSolid(Block); } } @@ -868,7 +868,7 @@ bool cBlockInfo::IsSkylightDispersant(const BLOCKTYPE Block) { case E_BLOCK_COBWEB: case E_BLOCK_LEAVES: return true; - default: return GetSpreadLightFalloff(Block) > 1; + default: return GetSpreadLightFalloff(Block) > 1; } } @@ -879,8 +879,7 @@ bool cBlockInfo::IsSkylightDispersant(const BLOCKTYPE Block) bool cBlockInfo::IsSnowable(BLOCKTYPE a_BlockType) { return ( - (a_BlockType == E_BLOCK_ICE) || - (a_BlockType == E_BLOCK_LEAVES) || + (a_BlockType == E_BLOCK_ICE) || (a_BlockType == E_BLOCK_LEAVES) || (!IsTransparent(a_BlockType) && (a_BlockType != E_BLOCK_PACKED_ICE)) ); } @@ -949,8 +948,8 @@ bool cBlockInfo::IsSolid(const BLOCKTYPE Block) case E_BLOCK_WALL_BANNER: case E_BLOCK_WATER: case E_BLOCK_WOODEN_BUTTON: - case E_BLOCK_WOODEN_PRESSURE_PLATE: return false; - default: return true; + case E_BLOCK_WOODEN_PRESSURE_PLATE: return false; + default: return true; } } @@ -1122,8 +1121,8 @@ bool cBlockInfo::IsTransparent(const BLOCKTYPE Block) case E_BLOCK_WOODEN_BUTTON: case E_BLOCK_WOODEN_PRESSURE_PLATE: case E_BLOCK_WOODEN_SLAB: - case E_BLOCK_YELLOW_SHULKER_BOX: return true; - default: return false; + case E_BLOCK_YELLOW_SHULKER_BOX: return true; + default: return false; } } @@ -1141,8 +1140,8 @@ bool cBlockInfo::IsUseableBySpectator(const BLOCKTYPE Block) case E_BLOCK_CHEST: case E_BLOCK_DISPENSER: case E_BLOCK_DROPPER: - case E_BLOCK_HOPPER: return true; - default: return false; + case E_BLOCK_HOPPER: return true; + default: return false; } } @@ -1160,23 +1159,25 @@ float cBlockInfo::GetBlockHeight(const BLOCKTYPE Block) case E_BLOCK_BED: return 0.5625; // 9 pixels case E_BLOCK_BIRCH_FENCE: return 1.5; case E_BLOCK_BIRCH_FENCE_GATE: return 1.5; - case E_BLOCK_CAKE: return 0.5; // 8 pixels + case E_BLOCK_CAKE: return 0.5; // 8 pixels case E_BLOCK_DARK_OAK_FENCE: return 1.5; case E_BLOCK_DARK_OAK_FENCE_GATE: return 1.5; - case E_BLOCK_ENCHANTMENT_TABLE: return 0.75; // 12 pixels - // case E_BLOCK_FARMLAND: return 0.9375; // prevents trampling for mobs (#2015) and older clients (MC-85162) - case E_BLOCK_FENCE: return 1.5; - case E_BLOCK_JUNGLE_FENCE: return 1.5; - case E_BLOCK_JUNGLE_FENCE_GATE: return 1.5; - case E_BLOCK_OAK_FENCE_GATE: return 1.5; - case E_BLOCK_PURPUR_SLAB: return 0.5; - case E_BLOCK_RED_SANDSTONE_SLAB: return 0.5; - case E_BLOCK_SNOW: return 0.125; // one layer is 1 / 8 (2 pixels) tall - case E_BLOCK_SPRUCE_FENCE: return 1.5; - case E_BLOCK_SPRUCE_FENCE_GATE: return 1.5; - case E_BLOCK_STONE_SLAB: return 0.5; - case E_BLOCK_WOODEN_SLAB: return 0.5; - default: return 1; + case E_BLOCK_ENCHANTMENT_TABLE: + return 0.75; // 12 pixels + // case E_BLOCK_FARMLAND: return 0.9375; // prevents trampling for mobs (#2015) and older clients + // (MC-85162) + case E_BLOCK_FENCE: return 1.5; + case E_BLOCK_JUNGLE_FENCE: return 1.5; + case E_BLOCK_JUNGLE_FENCE_GATE: return 1.5; + case E_BLOCK_OAK_FENCE_GATE: return 1.5; + case E_BLOCK_PURPUR_SLAB: return 0.5; + case E_BLOCK_RED_SANDSTONE_SLAB: return 0.5; + case E_BLOCK_SNOW: return 0.125; // one layer is 1 / 8 (2 pixels) tall + case E_BLOCK_SPRUCE_FENCE: return 1.5; + case E_BLOCK_SPRUCE_FENCE_GATE: return 1.5; + case E_BLOCK_STONE_SLAB: return 0.5; + case E_BLOCK_WOODEN_SLAB: return 0.5; + default: return 1; } } diff --git a/src/BlockInfo.h b/src/BlockInfo.h index 87f847390..7c7c3fd7e 100644 --- a/src/BlockInfo.h +++ b/src/BlockInfo.h @@ -10,8 +10,7 @@ // tolua_begin class cBlockInfo { -public: - + public: /** How much light do the blocks emit on their own? */ static NIBBLETYPE GetLightValue(BLOCKTYPE Block); diff --git a/src/BlockState.h b/src/BlockState.h index 0928dad83..29efacae7 100644 --- a/src/BlockState.h +++ b/src/BlockState.h @@ -12,15 +12,9 @@ struct BlockState /** Gets the block type of this block state. */ BlockType Type() const; - bool operator == (BlockState Block) const - { - return ID == Block.ID; - } + bool operator==(BlockState Block) const { return ID == Block.ID; } - bool operator != (BlockState Block) const - { - return ID != Block.ID; - } + bool operator!=(BlockState Block) const { return ID != Block.ID; } /** The state ID of the block state. */ uint_least16_t ID; diff --git a/src/BlockTracer.h b/src/BlockTracer.h index 62ae1636e..08409b9cd 100644 --- a/src/BlockTracer.h +++ b/src/BlockTracer.h @@ -28,22 +28,27 @@ class cWorld; class cBlockTracer abstract { -public: + public: /** The callback class is used to notify the caller of individual events that are being traced. - */ + */ class cCallbacks abstract { - public: + public: // Force a virtual destructor in descendants: virtual ~cCallbacks() {} /** Called on each block encountered along the path, including the first block (path start) When this callback returns true, the tracing is aborted. */ - virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) = 0; - - /** Called on each block encountered along the path, including the first block (path start), if chunk data is not loaded - When this callback returns true, the tracing is aborted. + virtual bool OnNextBlock( + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + eBlockFace a_EntryFace + ) = 0; + + /** Called on each block encountered along the path, including the first block (path start), if chunk data is + not loaded When this callback returns true, the tracing is aborted. */ virtual bool OnNextBlockNoData(Vector3i a_BlockPos, eBlockFace a_EntryFace) { @@ -52,11 +57,10 @@ public: return false; } - /** Called when the path goes out of world, either below (a_BlockPos.y < 0) or above (a_BlockPos.y >= cChunkDef::Height) - The coords specify the exact point at which the path exited the world. - If this callback returns true, the tracing is aborted. - Note that some paths can go out of the world and come back again (parabola), - in such a case this callback is followed by OnIntoWorld() and further OnNextBlock() calls + /** Called when the path goes out of world, either below (a_BlockPos.y < 0) or above (a_BlockPos.y >= + cChunkDef::Height) The coords specify the exact point at which the path exited the world. If this callback + returns true, the tracing is aborted. Note that some paths can go out of the world and come back again + (parabola), in such a case this callback is followed by OnIntoWorld() and further OnNextBlock() calls */ virtual bool OnOutOfWorld(Vector3d a_BlockPos) { @@ -64,11 +68,10 @@ public: return false; } - /** Called when the path goes into the world, from either below (a_BlockPos.y < 0) or above (a_BlockPos.y >= cChunkDef::Height) - The coords specify the exact point at which the path entered the world. - If this callback returns true, the tracing is aborted. - Note that some paths can go out of the world and come back again (parabola), - in such a case this callback is followed by further OnNextBlock() calls + /** Called when the path goes into the world, from either below (a_BlockPos.y < 0) or above (a_BlockPos.y >= + cChunkDef::Height) The coords specify the exact point at which the path entered the world. If this callback + returns true, the tracing is aborted. Note that some paths can go out of the world and come back again + (parabola), in such a case this callback is followed by further OnNextBlock() calls */ virtual bool OnIntoWorld(Vector3d a_BlockPos) { @@ -85,13 +88,12 @@ public: This usually means that the tracing is aborted. */ virtual void OnNoChunk(void) {} - } ; + }; /** Creates the BlockTracer parent with the specified callbacks */ cBlockTracer(cWorld & a_World, cCallbacks & a_Callbacks) : - m_World(&a_World), - m_Callbacks(&a_Callbacks) + m_World(&a_World), m_Callbacks(&a_Callbacks) { } @@ -113,14 +115,10 @@ public: return Old; } -protected: + protected: /** The world upon which to operate */ cWorld * m_World; /** The callback to use for reporting */ cCallbacks * m_Callbacks; -} ; - - - - +}; diff --git a/src/BlockType.cpp b/src/BlockType.cpp index 9942c455a..d3aec244e 100644 --- a/src/BlockType.cpp +++ b/src/BlockType.cpp @@ -16,16 +16,15 @@ class cBlockIDMap // Making the map case-insensitive: struct Comparator { - bool operator ()(const AString & a_Item1, const AString & a_Item2) const + bool operator()(const AString & a_Item1, const AString & a_Item2) const { return (NoCaseCompare(a_Item1, a_Item2) > 0); } - } ; + }; typedef std::map, Comparator> ItemMap; -public: - + public: cBlockIDMap(void) { cIniFile Ini; @@ -148,7 +147,7 @@ public: } -protected: + protected: ItemMap m_Map; @@ -175,7 +174,7 @@ protected: } m_Map[a_Name] = std::make_pair(ItemType, ItemDamage); } -} ; +}; @@ -277,9 +276,3 @@ cItem GetIniItemSet(cIniFile & a_IniFile, const char * a_Section, const char * a } return res; } - - - - - - diff --git a/src/BlockType.h b/src/BlockType.h index 13c7d6d39..3c221afda 100644 --- a/src/BlockType.h +++ b/src/BlockType.h @@ -18,7 +18,7 @@ enum ENUM_BLOCK_TYPE : BLOCKTYPE E_BLOCK_WATER = 8, E_BLOCK_STATIONARY_WATER = 9, E_BLOCK_LAVA = 10, - E_BLOCK_STATIONARY_LAVA = 11, + E_BLOCK_STATIONARY_LAVA = 11, E_BLOCK_SAND = 12, E_BLOCK_GRAVEL = 13, E_BLOCK_GOLD_ORE = 14, @@ -272,8 +272,9 @@ enum ENUM_BLOCK_TYPE : BLOCKTYPE // ... E_BLOCK_STRUCTURE_BLOCK = 255, - // Keep these two as the last values. Update the last block value to the last block with an id less than 255 when adding another block - // IsValidBlock() depends on this (255 gets checked additionally because there is a gap. See https://minecraft.wiki/w/Data_values#Block_IDs + // Keep these two as the last values. Update the last block value to the last block with an id less than 255 when + // adding another block IsValidBlock() depends on this (255 gets checked additionally because there is a gap. See + // https://minecraft.wiki/w/Data_values#Block_IDs E_BLOCK_NUMBER_OF_TYPES = E_BLOCK_CONCRETE_POWDER + 1, ///< Number of individual (different) blocktypes E_BLOCK_MAX_TYPE_ID = E_BLOCK_NUMBER_OF_TYPES - 1, ///< Maximum BlockType number used @@ -497,10 +498,11 @@ enum ENUM_ITEM_TYPE : short E_ITEM_SHULKER_SHELL = 450, E_ITEM_IRON_NUGGET = 452, - // Keep these two as the last values of the consecutive list, without a number - they will get their correct number assigned automagically by C++ - // IsValidItem() depends on this! + // Keep these two as the last values of the consecutive list, without a number - they will get their correct number + // assigned automagically by C++ IsValidItem() depends on this! E_ITEM_NUMBER_OF_CONSECUTIVE_TYPES, ///< Number of individual (different) consecutive itemtypes - E_ITEM_MAX_CONSECUTIVE_TYPE_ID = E_ITEM_NUMBER_OF_CONSECUTIVE_TYPES - 1, ///< Maximum consecutive ItemType number used + E_ITEM_MAX_CONSECUTIVE_TYPE_ID = + E_ITEM_NUMBER_OF_CONSECUTIVE_TYPES - 1, ///< Maximum consecutive ItemType number used E_ITEM_FIRST_DISC = 2256, E_ITEM_13_DISC = 2256, @@ -516,8 +518,8 @@ enum ENUM_ITEM_TYPE : short E_ITEM_11_DISC = 2266, E_ITEM_WAIT_DISC = 2267, - // Keep these two as the last values of the disc list, without a number - they will get their correct number assigned automagically by C++ - // IsValidItem() depends on this! + // Keep these two as the last values of the disc list, without a number - they will get their correct number + // assigned automagically by C++ IsValidItem() depends on this! E_ITEM_LAST_DISC_PLUS_ONE, ///< Useless, really, but needs to be present for the following value E_ITEM_LAST_DISC = E_ITEM_LAST_DISC_PLUS_ONE - 1, ///< Maximum disc itemtype number used @@ -552,46 +554,46 @@ enum ENUM_BLOCK_META : NIBBLETYPE E_BLOCK_BED_BED_HEAD = 8, // E_BLOCK_BIG_FLOWER metas: - E_META_BIG_FLOWER_SUNFLOWER = 0, - E_META_BIG_FLOWER_LILAC = 1, + E_META_BIG_FLOWER_SUNFLOWER = 0, + E_META_BIG_FLOWER_LILAC = 1, E_META_BIG_FLOWER_DOUBLE_TALL_GRASS = 2, - E_META_BIG_FLOWER_LARGE_FERN = 3, - E_META_BIG_FLOWER_ROSE_BUSH = 4, - E_META_BIG_FLOWER_PEONY = 5, + E_META_BIG_FLOWER_LARGE_FERN = 3, + E_META_BIG_FLOWER_ROSE_BUSH = 4, + E_META_BIG_FLOWER_PEONY = 5, // 0x8 is supposedly a bit flag but all vanilla plants have this value - E_META_BIG_FLOWER_TOP = 10, + E_META_BIG_FLOWER_TOP = 10, // E_BLOCK_BREWING_STAND metas - E_META_BREWING_STAND_FILLED_SLOT_XP = 1, + E_META_BREWING_STAND_FILLED_SLOT_XP = 1, E_META_BREWING_STAND_FILLED_SLOT_XM_ZP = 2, E_META_BREWING_STAND_FILLED_SLOT_XM_ZM = 4, // E_BLOCK_BUTTON metas - E_BLOCK_BUTTON_YM = 0, - E_BLOCK_BUTTON_XP = 1, - E_BLOCK_BUTTON_XM = 2, - E_BLOCK_BUTTON_ZP = 3, - E_BLOCK_BUTTON_ZM = 4, - E_BLOCK_BUTTON_YP = 5, + E_BLOCK_BUTTON_YM = 0, + E_BLOCK_BUTTON_XP = 1, + E_BLOCK_BUTTON_XM = 2, + E_BLOCK_BUTTON_ZP = 3, + E_BLOCK_BUTTON_ZM = 4, + E_BLOCK_BUTTON_YP = 5, E_BLOCK_BUTTON_PRESSED = 8, // E_BLOCK_CARPET metas: - E_META_CARPET_WHITE = 0, - E_META_CARPET_ORANGE = 1, - E_META_CARPET_MAGENTA = 2, - E_META_CARPET_LIGHTBLUE = 3, - E_META_CARPET_YELLOW = 4, + E_META_CARPET_WHITE = 0, + E_META_CARPET_ORANGE = 1, + E_META_CARPET_MAGENTA = 2, + E_META_CARPET_LIGHTBLUE = 3, + E_META_CARPET_YELLOW = 4, E_META_CARPET_LIGHTGREEN = 5, - E_META_CARPET_PINK = 6, - E_META_CARPET_GRAY = 7, - E_META_CARPET_LIGHTGRAY = 8, - E_META_CARPET_CYAN = 9, - E_META_CARPET_PURPLE = 10, - E_META_CARPET_BLUE = 11, - E_META_CARPET_BROWN = 12, - E_META_CARPET_GREEN = 13, - E_META_CARPET_RED = 14, - E_META_CARPET_BLACK = 15, + E_META_CARPET_PINK = 6, + E_META_CARPET_GRAY = 7, + E_META_CARPET_LIGHTGRAY = 8, + E_META_CARPET_CYAN = 9, + E_META_CARPET_PURPLE = 10, + E_META_CARPET_BLUE = 11, + E_META_CARPET_BROWN = 12, + E_META_CARPET_GREEN = 13, + E_META_CARPET_RED = 14, + E_META_CARPET_BLACK = 15, // E_BLOCK_CHEST metas: E_META_CHEST_FACING_ZM = 2, @@ -600,46 +602,46 @@ enum ENUM_BLOCK_META : NIBBLETYPE E_META_CHEST_FACING_XP = 5, // E_BLOCK_CONCRETE metas: - E_META_CONCRETE_WHITE = 0, - E_META_CONCRETE_ORANGE = 1, - E_META_CONCRETE_MAGENTA = 2, - E_META_CONCRETE_LIGHTBLUE = 3, - E_META_CONCRETE_YELLOW = 4, + E_META_CONCRETE_WHITE = 0, + E_META_CONCRETE_ORANGE = 1, + E_META_CONCRETE_MAGENTA = 2, + E_META_CONCRETE_LIGHTBLUE = 3, + E_META_CONCRETE_YELLOW = 4, E_META_CONCRETE_LIGHTGREEN = 5, - E_META_CONCRETE_PINK = 6, - E_META_CONCRETE_GRAY = 7, - E_META_CONCRETE_LIGHTGRAY = 8, - E_META_CONCRETE_CYAN = 9, - E_META_CONCRETE_PURPLE = 10, - E_META_CONCRETE_BLUE = 11, - E_META_CONCRETE_BROWN = 12, - E_META_CONCRETE_GREEN = 13, - E_META_CONCRETE_RED = 14, - E_META_CONCRETE_BLACK = 15, + E_META_CONCRETE_PINK = 6, + E_META_CONCRETE_GRAY = 7, + E_META_CONCRETE_LIGHTGRAY = 8, + E_META_CONCRETE_CYAN = 9, + E_META_CONCRETE_PURPLE = 10, + E_META_CONCRETE_BLUE = 11, + E_META_CONCRETE_BROWN = 12, + E_META_CONCRETE_GREEN = 13, + E_META_CONCRETE_RED = 14, + E_META_CONCRETE_BLACK = 15, // E_BLOCK_CONCRETE_POWDER metas: - E_META_CONCRETE_POWDER_WHITE = 0, - E_META_CONCRETE_POWDER_ORANGE = 1, - E_META_CONCRETE_POWDER_MAGENTA = 2, - E_META_CONCRETE_POWDER_LIGHTBLUE = 3, - E_META_CONCRETE_POWDER_YELLOW = 4, + E_META_CONCRETE_POWDER_WHITE = 0, + E_META_CONCRETE_POWDER_ORANGE = 1, + E_META_CONCRETE_POWDER_MAGENTA = 2, + E_META_CONCRETE_POWDER_LIGHTBLUE = 3, + E_META_CONCRETE_POWDER_YELLOW = 4, E_META_CONCRETE_POWDER_LIGHTGREEN = 5, - E_META_CONCRETE_POWDER_PINK = 6, - E_META_CONCRETE_POWDER_GRAY = 7, - E_META_CONCRETE_POWDER_LIGHTGRAY = 8, - E_META_CONCRETE_POWDER_CYAN = 9, - E_META_CONCRETE_POWDER_PURPLE = 10, - E_META_CONCRETE_POWDER_BLUE = 11, - E_META_CONCRETE_POWDER_BROWN = 12, - E_META_CONCRETE_POWDER_GREEN = 13, - E_META_CONCRETE_POWDER_RED = 14, - E_META_CONCRETE_POWDER_BLACK = 15, + E_META_CONCRETE_POWDER_PINK = 6, + E_META_CONCRETE_POWDER_GRAY = 7, + E_META_CONCRETE_POWDER_LIGHTGRAY = 8, + E_META_CONCRETE_POWDER_CYAN = 9, + E_META_CONCRETE_POWDER_PURPLE = 10, + E_META_CONCRETE_POWDER_BLUE = 11, + E_META_CONCRETE_POWDER_BROWN = 12, + E_META_CONCRETE_POWDER_GREEN = 13, + E_META_CONCRETE_POWDER_RED = 14, + E_META_CONCRETE_POWDER_BLACK = 15, // E_BLOCK_DIRT metas: - E_META_DIRT_NORMAL = 0, + E_META_DIRT_NORMAL = 0, E_META_DIRT_GRASSLESS = 1, - E_META_DIRT_COARSE = 1, - E_META_DIRT_PODZOL = 2, + E_META_DIRT_COARSE = 1, + E_META_DIRT_PODZOL = 2, // E_BLOCK_DISPENSER / E_BLOCK_DROPPER metas: E_META_DROPSPENSER_FACING_YM = 0, @@ -652,147 +654,147 @@ enum ENUM_BLOCK_META : NIBBLETYPE E_META_DROPSPENSER_ACTIVATED = 8, // E_BLOCK_DOUBLE_STONE_SLAB metas: - E_META_DOUBLE_STONE_SLAB_STONE = 0, - E_META_DOUBLE_STONE_SLAB_SANDSTON = 1, - E_META_DOUBLE_STONE_SLAB_WOODEN = 2, - E_META_DOUBLE_STONE_SLAB_COBBLESTONE = 3, - E_META_DOUBLE_STONE_SLAB_BRICK = 4, - E_META_DOUBLE_STONE_SLAB_STONE_BRICK = 5, - E_META_DOUBLE_STONE_SLAB_NETHER_BRICK = 6, - E_META_DOUBLE_STONE_SLAB_QUARTZ = 7, - E_META_DOUBLE_STONE_SLAB_SMOOTH_STONE = 8, + E_META_DOUBLE_STONE_SLAB_STONE = 0, + E_META_DOUBLE_STONE_SLAB_SANDSTON = 1, + E_META_DOUBLE_STONE_SLAB_WOODEN = 2, + E_META_DOUBLE_STONE_SLAB_COBBLESTONE = 3, + E_META_DOUBLE_STONE_SLAB_BRICK = 4, + E_META_DOUBLE_STONE_SLAB_STONE_BRICK = 5, + E_META_DOUBLE_STONE_SLAB_NETHER_BRICK = 6, + E_META_DOUBLE_STONE_SLAB_QUARTZ = 7, + E_META_DOUBLE_STONE_SLAB_SMOOTH_STONE = 8, E_META_DOUBLE_STONE_SLAB_SMOOTH_SANDSTONE = 9, - E_META_DOUBLE_STONE_SLAB_TILE_QUARTZ = 10, + E_META_DOUBLE_STONE_SLAB_TILE_QUARTZ = 10, // E_BLOCK_END_PORTAL_FRAME metas: - E_META_END_PORTAL_FRAME_ZP = 0, // Faces towards centre of portal - E_META_END_PORTAL_FRAME_XM = 1, - E_META_END_PORTAL_FRAME_ZM = 2, - E_META_END_PORTAL_FRAME_XP = 3, + E_META_END_PORTAL_FRAME_ZP = 0, // Faces towards centre of portal + E_META_END_PORTAL_FRAME_XM = 1, + E_META_END_PORTAL_FRAME_ZM = 2, + E_META_END_PORTAL_FRAME_XP = 3, E_META_END_PORTAL_FRAME_ZP_EYE = 4, // Frames with ender eye E_META_END_PORTAL_FRAME_XM_EYE = 5, E_META_END_PORTAL_FRAME_ZM_EYE = 6, E_META_END_PORTAL_FRAME_XP_EYE = 7, E_META_END_PORTAL_FRAME_NO_EYE = 0, // Just the eye bitflag - E_META_END_PORTAL_FRAME_EYE = 4, + E_META_END_PORTAL_FRAME_EYE = 4, // E_BLOCK_FLOWER metas: - E_META_FLOWER_POPPY = 0, - E_META_FLOWER_BLUE_ORCHID = 1, - E_META_FLOWER_ALLIUM = 2, - E_META_FLOWER_RED_TULIP = 4, - E_META_FLOWER_ORANGE_TULIP = 5, - E_META_FLOWER_WHITE_TULIP = 6, - E_META_FLOWER_PINK_TULIP = 7, - E_META_FLOWER_OXEYE_DAISY = 8, + E_META_FLOWER_POPPY = 0, + E_META_FLOWER_BLUE_ORCHID = 1, + E_META_FLOWER_ALLIUM = 2, + E_META_FLOWER_RED_TULIP = 4, + E_META_FLOWER_ORANGE_TULIP = 5, + E_META_FLOWER_WHITE_TULIP = 6, + E_META_FLOWER_PINK_TULIP = 7, + E_META_FLOWER_OXEYE_DAISY = 8, // E_BLOCK_JUKEBOX metas: E_META_JUKEBOX_OFF = 0, - E_META_JUKEBOX_ON = 1, + E_META_JUKEBOX_ON = 1, // E_BLOCK_HOPPER metas: - E_META_HOPPER_FACING_YM = 0, + E_META_HOPPER_FACING_YM = 0, E_META_HOPPER_UNATTACHED = 1, // Hopper doesn't move items up, there's no YP - E_META_HOPPER_FACING_ZM = 2, - E_META_HOPPER_FACING_ZP = 3, - E_META_HOPPER_FACING_XM = 4, - E_META_HOPPER_FACING_XP = 5, + E_META_HOPPER_FACING_ZM = 2, + E_META_HOPPER_FACING_ZP = 3, + E_META_HOPPER_FACING_XM = 4, + E_META_HOPPER_FACING_XP = 5, // E_BLOCK_LEAVES metas: - E_META_LEAVES_APPLE = 0, - E_META_LEAVES_CONIFER = 1, - E_META_LEAVES_BIRCH = 2, - E_META_LEAVES_JUNGLE = 3, - E_META_LEAVES_APPLE_NO_DECAY = 4, - E_META_LEAVES_CONIFER_NO_DECAY = 5, - E_META_LEAVES_BIRCH_NO_DECAY = 6, - E_META_LEAVES_JUNGLE_NO_DECAY = 7, - E_META_LEAVES_APPLE_CHECK_DECAY = 8, + E_META_LEAVES_APPLE = 0, + E_META_LEAVES_CONIFER = 1, + E_META_LEAVES_BIRCH = 2, + E_META_LEAVES_JUNGLE = 3, + E_META_LEAVES_APPLE_NO_DECAY = 4, + E_META_LEAVES_CONIFER_NO_DECAY = 5, + E_META_LEAVES_BIRCH_NO_DECAY = 6, + E_META_LEAVES_JUNGLE_NO_DECAY = 7, + E_META_LEAVES_APPLE_CHECK_DECAY = 8, E_META_LEAVES_CONIFER_CHECK_DECAY = 9, - E_META_LEAVES_BIRCH_CHECK_DECAY = 10, - E_META_LEAVES_JUNGLE_CHECK_DECAY = 11, + E_META_LEAVES_BIRCH_CHECK_DECAY = 10, + E_META_LEAVES_JUNGLE_CHECK_DECAY = 11, // E_BLOCK_MUSHROOM metas: - E_META_MUSHROOM_ALL_SIDES = 0, + E_META_MUSHROOM_ALL_SIDES = 0, E_META_MUSHROOM_NORTH_WEST = 1, - E_META_MUSHROOM_NORTH = 2, + E_META_MUSHROOM_NORTH = 2, E_META_MUSHROOM_NORTH_EAST = 3, - E_META_MUSHROOM_WEST = 4, - E_META_MUSHROOM_CENTER = 5, - E_META_MUSHROOM_EAST = 6, + E_META_MUSHROOM_WEST = 4, + E_META_MUSHROOM_CENTER = 5, + E_META_MUSHROOM_EAST = 6, E_META_MUSHROOM_SOUTH_WEST = 7, - E_META_MUSHROOM_SOUTH = 8, + E_META_MUSHROOM_SOUTH = 8, E_META_MUSHROOM_SOUTH_EAST = 9, - E_META_MUSHROOM_STEM = 10, - E_META_MUSHROOM_CAP = 14, - E_META_MUSHROOM_FULL_STEM = 15, + E_META_MUSHROOM_STEM = 10, + E_META_MUSHROOM_CAP = 14, + E_META_MUSHROOM_FULL_STEM = 15, // E_BLOCK_LEAVES meta cont. (Block ID 161): - E_META_NEWLEAVES_ACACIA = 0, - E_META_NEWLEAVES_DARK_OAK = 1, - E_META_NEWLEAVES_ACACIA_NO_DECAY = 4, - E_META_NEWLEAVES_DARK_OAK_NO_DECAY = 5, - E_META_NEWLEAVES_ACACIA_CHECK_DECAY = 8, + E_META_NEWLEAVES_ACACIA = 0, + E_META_NEWLEAVES_DARK_OAK = 1, + E_META_NEWLEAVES_ACACIA_NO_DECAY = 4, + E_META_NEWLEAVES_DARK_OAK_NO_DECAY = 5, + E_META_NEWLEAVES_ACACIA_CHECK_DECAY = 8, E_META_NEWLEAVES_DARK_OAK_CHECK_DECAY = 9, // E_BLOCK_LOG metas: - E_META_LOG_APPLE = 0, + E_META_LOG_APPLE = 0, E_META_LOG_CONIFER = 1, - E_META_LOG_BIRCH = 2, - E_META_LOG_JUNGLE = 3, + E_META_LOG_BIRCH = 2, + E_META_LOG_JUNGLE = 3, // E_BLOCK_NEW_LOG metas: - E_META_NEW_LOG_ACACIA_WOOD = 0, + E_META_NEW_LOG_ACACIA_WOOD = 0, E_META_NEW_LOG_DARK_OAK_WOOD = 1, // E_BLOCK_PISTON metas: - E_META_PISTON_DOWN = 0, - E_META_PISTON_U = 1, - E_META_PISTON_ZM = 2, - E_META_PISTON_ZP = 3, - E_META_PISTON_XM = 4, - E_META_PISTON_XP = 5, + E_META_PISTON_DOWN = 0, + E_META_PISTON_U = 1, + E_META_PISTON_ZM = 2, + E_META_PISTON_ZP = 3, + E_META_PISTON_XM = 4, + E_META_PISTON_XP = 5, E_META_PISTON_HEAD_STICKY = 8, - E_META_PISTON_EXTENDED = 8, + E_META_PISTON_EXTENDED = 8, // E_BLOCK_PLANKS metas: - E_META_PLANKS_OAK = 0, - E_META_PLANKS_SPRUCE = 1, - E_META_PLANKS_BIRCH = 2, - E_META_PLANKS_JUNGLE = 3, - E_META_PLANKS_ACACIA = 4, + E_META_PLANKS_OAK = 0, + E_META_PLANKS_SPRUCE = 1, + E_META_PLANKS_BIRCH = 2, + E_META_PLANKS_JUNGLE = 3, + E_META_PLANKS_ACACIA = 4, E_META_PLANKS_DARK_OAK = 5, // E_BLOCK_(XXX_WEIGHTED)_PRESSURE_PLATE metas: - E_META_PRESSURE_PLATE_RAISED = 0, + E_META_PRESSURE_PLATE_RAISED = 0, E_META_PRESSURE_PLATE_DEPRESSED = 1, // E_BLOCK_PRISMARINE_BLOCK metas: - E_META_PRISMARINE_BLOCK_ROUGH = 0, + E_META_PRISMARINE_BLOCK_ROUGH = 0, E_META_PRISMARINE_BLOCK_BRICKS = 1, - E_META_PRISMARINE_BLOCK_DARK = 2, + E_META_PRISMARINE_BLOCK_DARK = 2, // E_BLOCK_QUARTZ_BLOCK metas: - E_META_QUARTZ_NORMAL = 0, + E_META_QUARTZ_NORMAL = 0, E_META_QUARTZ_CHISELLED = 1, - E_META_QUARTZ_PILLAR = 2, + E_META_QUARTZ_PILLAR = 2, // E_BLOCK_RAIL metas - E_META_RAIL_ZM_ZP = 0, - E_META_RAIL_XM_XP = 1, - E_META_RAIL_ASCEND_XP = 2, - E_META_RAIL_ASCEND_XM = 3, - E_META_RAIL_ASCEND_ZM = 4, - E_META_RAIL_ASCEND_ZP = 5, + E_META_RAIL_ZM_ZP = 0, + E_META_RAIL_XM_XP = 1, + E_META_RAIL_ASCEND_XP = 2, + E_META_RAIL_ASCEND_XM = 3, + E_META_RAIL_ASCEND_ZM = 4, + E_META_RAIL_ASCEND_ZP = 5, E_META_RAIL_CURVED_ZP_XP = 6, E_META_RAIL_CURVED_ZP_XM = 7, E_META_RAIL_CURVED_ZM_XM = 8, E_META_RAIL_CURVED_ZM_XP = 9, // E_BLOCK_RED_SANDSTONE metas: - E_META_RED_SANDSTONE_NORMAL = 0, + E_META_RED_SANDSTONE_NORMAL = 0, E_META_RED_SANDSTONE_ORNAMENT = 1, - E_META_RED_SANDSTONE_SMOOTH = 2, + E_META_RED_SANDSTONE_SMOOTH = 2, // E_BLOCK_REDSTONE_REPEATER_ON / E_BLOCK_REDSTONE_REPEATER_OFF metas: E_META_REDSTONE_REPEATER_FACING_ZM = 0, @@ -803,208 +805,208 @@ enum ENUM_BLOCK_META : NIBBLETYPE // E_BLOCK_SAND metas: E_META_SAND_NORMAL = 0, - E_META_SAND_RED = 1, + E_META_SAND_RED = 1, // E_BLOCK_SANDSTONE metas: - E_META_SANDSTONE_NORMAL = 0, + E_META_SANDSTONE_NORMAL = 0, E_META_SANDSTONE_ORNAMENT = 1, - E_META_SANDSTONE_SMOOTH = 2, + E_META_SANDSTONE_SMOOTH = 2, // E_BLOCK_SAPLING metas (lowest 3 bits): - E_META_SAPLING_APPLE = 0, - E_META_SAPLING_CONIFER = 1, - E_META_SAPLING_BIRCH = 2, - E_META_SAPLING_JUNGLE = 3, - E_META_SAPLING_ACACIA = 4, + E_META_SAPLING_APPLE = 0, + E_META_SAPLING_CONIFER = 1, + E_META_SAPLING_BIRCH = 2, + E_META_SAPLING_JUNGLE = 3, + E_META_SAPLING_ACACIA = 4, E_META_SAPLING_DARK_OAK = 5, // E_BLOCK_SILVERFISH_EGG metas: - E_META_SILVERFISH_EGG_STONE = 0, - E_META_SILVERFISH_EGG_COBBLESTONE = 1, - E_META_SILVERFISH_EGG_STONE_BRICK = 2, - E_META_SILVERFISH_EGG_MOSSY_STONE_BRICK = 3, - E_META_SILVERFISH_EGG_CRACKED_STONE_BRICK = 4, + E_META_SILVERFISH_EGG_STONE = 0, + E_META_SILVERFISH_EGG_COBBLESTONE = 1, + E_META_SILVERFISH_EGG_STONE_BRICK = 2, + E_META_SILVERFISH_EGG_MOSSY_STONE_BRICK = 3, + E_META_SILVERFISH_EGG_CRACKED_STONE_BRICK = 4, E_META_SILVERFISH_EGG_CHISELED_STONE_BRICK = 5, // E_BLOCK_SNOW metas: - E_META_SNOW_LAYER_ONE = 0, - E_META_SNOW_LAYER_TWO = 1, - E_META_SNOW_LAYER_THREE = 2, - E_META_SNOW_LAYER_FOUR = 3, - E_META_SNOW_LAYER_FIVE = 4, - E_META_SNOW_LAYER_SIX = 5, - E_META_SNOW_LAYER_SEVEN = 6, - E_META_SNOW_LAYER_EIGHT = 7, + E_META_SNOW_LAYER_ONE = 0, + E_META_SNOW_LAYER_TWO = 1, + E_META_SNOW_LAYER_THREE = 2, + E_META_SNOW_LAYER_FOUR = 3, + E_META_SNOW_LAYER_FIVE = 4, + E_META_SNOW_LAYER_SIX = 5, + E_META_SNOW_LAYER_SEVEN = 6, + E_META_SNOW_LAYER_EIGHT = 7, // E_BLOCK_SPONGE metas: - E_META_SPONGE_DRY = 0, - E_META_SPONGE_WET = 1, + E_META_SPONGE_DRY = 0, + E_META_SPONGE_WET = 1, // E_BLOCK_STAINED_CLAY metas: - E_META_STAINED_CLAY_WHITE = 0, - E_META_STAINED_CLAY_ORANGE = 1, - E_META_STAINED_CLAY_MAGENTA = 2, - E_META_STAINED_CLAY_LIGHTBLUE = 3, - E_META_STAINED_CLAY_YELLOW = 4, + E_META_STAINED_CLAY_WHITE = 0, + E_META_STAINED_CLAY_ORANGE = 1, + E_META_STAINED_CLAY_MAGENTA = 2, + E_META_STAINED_CLAY_LIGHTBLUE = 3, + E_META_STAINED_CLAY_YELLOW = 4, E_META_STAINED_CLAY_LIGHTGREEN = 5, - E_META_STAINED_CLAY_PINK = 6, - E_META_STAINED_CLAY_GRAY = 7, - E_META_STAINED_CLAY_LIGHTGRAY = 8, - E_META_STAINED_CLAY_CYAN = 9, - E_META_STAINED_CLAY_PURPLE = 10, - E_META_STAINED_CLAY_BLUE = 11, - E_META_STAINED_CLAY_BROWN = 12, - E_META_STAINED_CLAY_GREEN = 13, - E_META_STAINED_CLAY_RED = 14, - E_META_STAINED_CLAY_BLACK = 15, + E_META_STAINED_CLAY_PINK = 6, + E_META_STAINED_CLAY_GRAY = 7, + E_META_STAINED_CLAY_LIGHTGRAY = 8, + E_META_STAINED_CLAY_CYAN = 9, + E_META_STAINED_CLAY_PURPLE = 10, + E_META_STAINED_CLAY_BLUE = 11, + E_META_STAINED_CLAY_BROWN = 12, + E_META_STAINED_CLAY_GREEN = 13, + E_META_STAINED_CLAY_RED = 14, + E_META_STAINED_CLAY_BLACK = 15, // E_BLOCK_STAINED_GLASS metas: - E_META_STAINED_GLASS_WHITE = 0, - E_META_STAINED_GLASS_ORANGE = 1, - E_META_STAINED_GLASS_MAGENTA = 2, - E_META_STAINED_GLASS_LIGHTBLUE = 3, - E_META_STAINED_GLASS_YELLOW = 4, + E_META_STAINED_GLASS_WHITE = 0, + E_META_STAINED_GLASS_ORANGE = 1, + E_META_STAINED_GLASS_MAGENTA = 2, + E_META_STAINED_GLASS_LIGHTBLUE = 3, + E_META_STAINED_GLASS_YELLOW = 4, E_META_STAINED_GLASS_LIGHTGREEN = 5, - E_META_STAINED_GLASS_PINK = 6, - E_META_STAINED_GLASS_GRAY = 7, - E_META_STAINED_GLASS_LIGHTGRAY = 8, - E_META_STAINED_GLASS_CYAN = 9, - E_META_STAINED_GLASS_PURPLE = 10, - E_META_STAINED_GLASS_BLUE = 11, - E_META_STAINED_GLASS_BROWN = 12, - E_META_STAINED_GLASS_GREEN = 13, - E_META_STAINED_GLASS_RED = 14, - E_META_STAINED_GLASS_BLACK = 15, + E_META_STAINED_GLASS_PINK = 6, + E_META_STAINED_GLASS_GRAY = 7, + E_META_STAINED_GLASS_LIGHTGRAY = 8, + E_META_STAINED_GLASS_CYAN = 9, + E_META_STAINED_GLASS_PURPLE = 10, + E_META_STAINED_GLASS_BLUE = 11, + E_META_STAINED_GLASS_BROWN = 12, + E_META_STAINED_GLASS_GREEN = 13, + E_META_STAINED_GLASS_RED = 14, + E_META_STAINED_GLASS_BLACK = 15, // E_BLOCK_STAINED_GLASS_PANE metas: - E_META_STAINED_GLASS_PANE_WHITE = 0, - E_META_STAINED_GLASS_PANE_ORANGE = 1, - E_META_STAINED_GLASS_PANE_MAGENTA = 2, - E_META_STAINED_GLASS_PANE_LIGHTBLUE = 3, - E_META_STAINED_GLASS_PANE_YELLOW = 4, + E_META_STAINED_GLASS_PANE_WHITE = 0, + E_META_STAINED_GLASS_PANE_ORANGE = 1, + E_META_STAINED_GLASS_PANE_MAGENTA = 2, + E_META_STAINED_GLASS_PANE_LIGHTBLUE = 3, + E_META_STAINED_GLASS_PANE_YELLOW = 4, E_META_STAINED_GLASS_PANE_LIGHTGREEN = 5, - E_META_STAINED_GLASS_PANE_PINK = 6, - E_META_STAINED_GLASS_PANE_GRAY = 7, - E_META_STAINED_GLASS_PANE_LIGHTGRAY = 8, - E_META_STAINED_GLASS_PANE_CYAN = 9, - E_META_STAINED_GLASS_PANE_PURPLE = 10, - E_META_STAINED_GLASS_PANE_BLUE = 11, - E_META_STAINED_GLASS_PANE_BROWN = 12, - E_META_STAINED_GLASS_PANE_GREEN = 13, - E_META_STAINED_GLASS_PANE_RED = 14, - E_META_STAINED_GLASS_PANE_BLACK = 15, + E_META_STAINED_GLASS_PANE_PINK = 6, + E_META_STAINED_GLASS_PANE_GRAY = 7, + E_META_STAINED_GLASS_PANE_LIGHTGRAY = 8, + E_META_STAINED_GLASS_PANE_CYAN = 9, + E_META_STAINED_GLASS_PANE_PURPLE = 10, + E_META_STAINED_GLASS_PANE_BLUE = 11, + E_META_STAINED_GLASS_PANE_BROWN = 12, + E_META_STAINED_GLASS_PANE_GREEN = 13, + E_META_STAINED_GLASS_PANE_RED = 14, + E_META_STAINED_GLASS_PANE_BLACK = 15, // E_BLOCK_STAIRS metas: - E_BLOCK_STAIRS_XP = 0, - E_BLOCK_STAIRS_XM = 1, - E_BLOCK_STAIRS_ZP = 2, - E_BLOCK_STAIRS_ZM = 3, + E_BLOCK_STAIRS_XP = 0, + E_BLOCK_STAIRS_XM = 1, + E_BLOCK_STAIRS_ZP = 2, + E_BLOCK_STAIRS_ZM = 3, E_BLOCK_STAIRS_UPSIDE_DOWN = 4, // E_BLOCK_STONE metas: - E_META_STONE_STONE = 0, - E_META_STONE_GRANITE = 1, - E_META_STONE_POLISHED_GRANITE = 2, - E_META_STONE_DIORITE = 3, - E_META_STONE_POLISHED_DIORITE = 4, - E_META_STONE_ANDESITE = 5, + E_META_STONE_STONE = 0, + E_META_STONE_GRANITE = 1, + E_META_STONE_POLISHED_GRANITE = 2, + E_META_STONE_DIORITE = 3, + E_META_STONE_POLISHED_DIORITE = 4, + E_META_STONE_ANDESITE = 5, E_META_STONE_POLISHED_ANDESITE = 6, // E_BLOCK_STONE_SLAB metas: - E_META_STONE_SLAB_STONE = 0, - E_META_STONE_SLAB_SANDSTONE = 1, - E_META_STONE_SLAB_PLANKS = 2, - E_META_STONE_SLAB_COBBLESTONE = 3, - E_META_STONE_SLAB_BRICK = 4, - E_META_STONE_SLAB_STONE_BRICK = 5, + E_META_STONE_SLAB_STONE = 0, + E_META_STONE_SLAB_SANDSTONE = 1, + E_META_STONE_SLAB_PLANKS = 2, + E_META_STONE_SLAB_COBBLESTONE = 3, + E_META_STONE_SLAB_BRICK = 4, + E_META_STONE_SLAB_STONE_BRICK = 5, E_META_STONE_SLAB_NETHER_BRICK = 6, - E_META_STONE_SLAB_QUARTZ = 7, + E_META_STONE_SLAB_QUARTZ = 7, // E_BLOCK_STONE_BRICKS metas: - E_META_STONE_BRICK_NORMAL = 0, - E_META_STONE_BRICK_MOSSY = 1, - E_META_STONE_BRICK_CRACKED = 2, + E_META_STONE_BRICK_NORMAL = 0, + E_META_STONE_BRICK_MOSSY = 1, + E_META_STONE_BRICK_CRACKED = 2, E_META_STONE_BRICK_ORNAMENT = 3, // E_BLOCK_TALL_GRASS metas: E_META_TALL_GRASS_DEAD_SHRUB = 0, - E_META_TALL_GRASS_GRASS = 1, - E_META_TALL_GRASS_FERN = 2, - E_META_TALL_GRASS_BIOME = 3, + E_META_TALL_GRASS_GRASS = 1, + E_META_TALL_GRASS_FERN = 2, + E_META_TALL_GRASS_BIOME = 3, // E_BLOCK_TORCH, E_BLOCK_REDSTONE_TORCH_OFF, E_BLOCK_REDSTONE_TORCH_ON metas: - E_META_TORCH_EAST = 1, // east face of the block, pointing east - E_META_TORCH_WEST = 2, + E_META_TORCH_EAST = 1, // east face of the block, pointing east + E_META_TORCH_WEST = 2, E_META_TORCH_SOUTH = 3, E_META_TORCH_NORTH = 4, E_META_TORCH_FLOOR = 5, - E_META_TORCH_XM = 1, // Torch attached to the XM side of its block - E_META_TORCH_XP = 2, // Torch attached to the XP side of its block - E_META_TORCH_ZM = 3, // Torch attached to the ZM side of its block - E_META_TORCH_ZP = 4, // Torch attached to the ZP side of its block + E_META_TORCH_XM = 1, // Torch attached to the XM side of its block + E_META_TORCH_XP = 2, // Torch attached to the XP side of its block + E_META_TORCH_ZM = 3, // Torch attached to the ZM side of its block + E_META_TORCH_ZP = 4, // Torch attached to the ZP side of its block // E_META_LOG metas: - E_META_LOG_OAK_UP_DOWN = 0, - E_META_LOG_SPRUCE_UP_DOWN = 1, - E_META_LOG_BIRCH_UP_DOWN = 2, - E_META_LOG_JUNGLE_UP_DOWN = 3, - E_META_LOG_OAK_X = 4, - E_META_LOG_SPRUCE_X = 5, - E_META_LOG_BIRCH_X = 6, - E_META_LOG_JUNGLE_X = 7, - E_META_LOG_OAK_Z = 8, - E_META_LOG_SPRUCE_Z = 9, - E_META_LOG_BIRCH_Z = 10, - E_META_LOG_JUNGLE_Z = 11, - E_META_LOG_OAK_BARK_ONLY = 12, + E_META_LOG_OAK_UP_DOWN = 0, + E_META_LOG_SPRUCE_UP_DOWN = 1, + E_META_LOG_BIRCH_UP_DOWN = 2, + E_META_LOG_JUNGLE_UP_DOWN = 3, + E_META_LOG_OAK_X = 4, + E_META_LOG_SPRUCE_X = 5, + E_META_LOG_BIRCH_X = 6, + E_META_LOG_JUNGLE_X = 7, + E_META_LOG_OAK_Z = 8, + E_META_LOG_SPRUCE_Z = 9, + E_META_LOG_BIRCH_Z = 10, + E_META_LOG_JUNGLE_Z = 11, + E_META_LOG_OAK_BARK_ONLY = 12, E_META_LOG_SPRUCE_BARK_ONLY = 13, - E_META_LOG_BIRCH_BARK_ONLY = 14, + E_META_LOG_BIRCH_BARK_ONLY = 14, E_META_LOG_JUNGLE_BARK_ONLY = 15, // E_META_LOG metas cont. (Block ID 162): - E_META_NEWLOG_ACACIA_UP_DOWN = 0, - E_META_NEWLOG_DARK_OAK_UP_DOWN = 1, - E_META_NEWLOG_ACACIA_X = 4, - E_META_NEWLOG_DARK_OAK_X = 5, - E_META_NEWLOG_ACACIA_Z = 8, - E_META_NEWLOG_DARK_OAK_Z = 9, - E_META_NEWLOG_ACACIA_BARK_ONLY = 12, + E_META_NEWLOG_ACACIA_UP_DOWN = 0, + E_META_NEWLOG_DARK_OAK_UP_DOWN = 1, + E_META_NEWLOG_ACACIA_X = 4, + E_META_NEWLOG_DARK_OAK_X = 5, + E_META_NEWLOG_ACACIA_Z = 8, + E_META_NEWLOG_DARK_OAK_Z = 9, + E_META_NEWLOG_ACACIA_BARK_ONLY = 12, E_META_NEWLOG_DARK_OAK_BARK_ONLY = 13, // E_BLOCK_WOODEN_DOUBLE_SLAB metas: - E_META_WOODEN_DOUBLE_SLAB_OAK = 0, - E_META_WOODEN_DOUBLE_SLAB_SPRUCE = 1, - E_META_WOODEN_DOUBLE_SLAB_BIRCH = 2, - E_META_WOODEN_DOUBLE_SLAB_JUNGLE = 3, - E_META_WOODEN_DOUBLE_SLAB_ACACIA = 4, + E_META_WOODEN_DOUBLE_SLAB_OAK = 0, + E_META_WOODEN_DOUBLE_SLAB_SPRUCE = 1, + E_META_WOODEN_DOUBLE_SLAB_BIRCH = 2, + E_META_WOODEN_DOUBLE_SLAB_JUNGLE = 3, + E_META_WOODEN_DOUBLE_SLAB_ACACIA = 4, E_META_WOODEN_DOUBLE_SLAB_DARK_OAK = 5, // E_BLOCK_WOODEN_SLAB metas: - E_META_WOODEN_SLAB_OAK = 0, - E_META_WOODEN_SLAB_SPRUCE = 1, - E_META_WOODEN_SLAB_BIRCH = 2, - E_META_WOODEN_SLAB_JUNGLE = 3, - E_META_WOODEN_SLAB_ACACIA = 4, - E_META_WOODEN_SLAB_DARK_OAK = 5, - E_META_WOODEN_SLAB_UPSIDE_DOWN = 8, + E_META_WOODEN_SLAB_OAK = 0, + E_META_WOODEN_SLAB_SPRUCE = 1, + E_META_WOODEN_SLAB_BIRCH = 2, + E_META_WOODEN_SLAB_JUNGLE = 3, + E_META_WOODEN_SLAB_ACACIA = 4, + E_META_WOODEN_SLAB_DARK_OAK = 5, + E_META_WOODEN_SLAB_UPSIDE_DOWN = 8, // E_BLOCK_WOOL metas: - E_META_WOOL_WHITE = 0, - E_META_WOOL_ORANGE = 1, - E_META_WOOL_MAGENTA = 2, - E_META_WOOL_LIGHTBLUE = 3, - E_META_WOOL_YELLOW = 4, + E_META_WOOL_WHITE = 0, + E_META_WOOL_ORANGE = 1, + E_META_WOOL_MAGENTA = 2, + E_META_WOOL_LIGHTBLUE = 3, + E_META_WOOL_YELLOW = 4, E_META_WOOL_LIGHTGREEN = 5, - E_META_WOOL_PINK = 6, - E_META_WOOL_GRAY = 7, - E_META_WOOL_LIGHTGRAY = 8, - E_META_WOOL_CYAN = 9, - E_META_WOOL_PURPLE = 10, - E_META_WOOL_BLUE = 11, - E_META_WOOL_BROWN = 12, - E_META_WOOL_GREEN = 13, - E_META_WOOL_RED = 14, - E_META_WOOL_BLACK = 15, + E_META_WOOL_PINK = 6, + E_META_WOOL_GRAY = 7, + E_META_WOOL_LIGHTGRAY = 8, + E_META_WOOL_CYAN = 9, + E_META_WOOL_PURPLE = 10, + E_META_WOOL_BLUE = 11, + E_META_WOOL_BROWN = 12, + E_META_WOOL_GREEN = 13, + E_META_WOOL_RED = 14, + E_META_WOOL_BLACK = 15, }; @@ -1020,44 +1022,44 @@ enum ENUM_ITEM_META : short // Item metas: // E_ITEM_BANNER metas: - E_META_BANNER_BLACK = 0, - E_META_BANNER_RED = 1, - E_META_BANNER_GREEN = 2, - E_META_BANNER_BROWN = 3, - E_META_BANNER_BLUE = 4, - E_META_BANNER_PURPLE = 5, - E_META_BANNER_CYAN = 6, - E_META_BANNER_LIGHTGRAY = 7, - E_META_BANNER_GRAY = 8, - E_META_BANNER_PINK = 9, + E_META_BANNER_BLACK = 0, + E_META_BANNER_RED = 1, + E_META_BANNER_GREEN = 2, + E_META_BANNER_BROWN = 3, + E_META_BANNER_BLUE = 4, + E_META_BANNER_PURPLE = 5, + E_META_BANNER_CYAN = 6, + E_META_BANNER_LIGHTGRAY = 7, + E_META_BANNER_GRAY = 8, + E_META_BANNER_PINK = 9, E_META_BANNER_LIGHTGREEN = 10, - E_META_BANNER_YELLOW = 11, - E_META_BANNER_LIGHTBLUE = 12, - E_META_BANNER_MAGENTA = 13, - E_META_BANNER_ORANGE = 14, - E_META_BANNER_WHITE = 15, + E_META_BANNER_YELLOW = 11, + E_META_BANNER_LIGHTBLUE = 12, + E_META_BANNER_MAGENTA = 13, + E_META_BANNER_ORANGE = 14, + E_META_BANNER_WHITE = 15, // E_ITEM_COAL metas: - E_META_COAL_NORMAL = 0, - E_META_COAL_CHARCOAL = 1, + E_META_COAL_NORMAL = 0, + E_META_COAL_CHARCOAL = 1, // E_ITEM_DYE metas: - E_META_DYE_BLACK = 0, - E_META_DYE_RED = 1, - E_META_DYE_GREEN = 2, - E_META_DYE_BROWN = 3, - E_META_DYE_BLUE = 4, - E_META_DYE_PURPLE = 5, - E_META_DYE_CYAN = 6, - E_META_DYE_LIGHTGRAY = 7, - E_META_DYE_GRAY = 8, - E_META_DYE_PINK = 9, + E_META_DYE_BLACK = 0, + E_META_DYE_RED = 1, + E_META_DYE_GREEN = 2, + E_META_DYE_BROWN = 3, + E_META_DYE_BLUE = 4, + E_META_DYE_PURPLE = 5, + E_META_DYE_CYAN = 6, + E_META_DYE_LIGHTGRAY = 7, + E_META_DYE_GRAY = 8, + E_META_DYE_PINK = 9, E_META_DYE_LIGHTGREEN = 10, - E_META_DYE_YELLOW = 11, - E_META_DYE_LIGHTBLUE = 12, - E_META_DYE_MAGENTA = 13, - E_META_DYE_ORANGE = 14, - E_META_DYE_WHITE = 15, + E_META_DYE_YELLOW = 11, + E_META_DYE_LIGHTBLUE = 12, + E_META_DYE_MAGENTA = 13, + E_META_DYE_ORANGE = 14, + E_META_DYE_WHITE = 15, // E_ITEM_GOLDEN_APPLE metas: E_META_GOLDEN_APPLE_NORMAL = 0, @@ -1065,21 +1067,21 @@ enum ENUM_ITEM_META : short // E_ITEM_HEAD metas: E_META_HEAD_SKELETON = 0, - E_META_HEAD_WITHER = 1, - E_META_HEAD_ZOMBIE = 2, - E_META_HEAD_PLAYER = 3, - E_META_HEAD_CREEPER = 4, - E_META_HEAD_DRAGON = 5, + E_META_HEAD_WITHER = 1, + E_META_HEAD_ZOMBIE = 2, + E_META_HEAD_PLAYER = 3, + E_META_HEAD_CREEPER = 4, + E_META_HEAD_DRAGON = 5, // E_ITEM_RAW_FISH metas: - E_META_RAW_FISH_FISH = 0, - E_META_RAW_FISH_SALMON = 1, - E_META_RAW_FISH_CLOWNFISH = 2, + E_META_RAW_FISH_FISH = 0, + E_META_RAW_FISH_SALMON = 1, + E_META_RAW_FISH_CLOWNFISH = 2, E_META_RAW_FISH_PUFFERFISH = 3, // E_ITEM_COOKED_FISH metas: - E_META_COOKED_FISH_FISH = 0, - E_META_COOKED_FISH_SALMON = 1, + E_META_COOKED_FISH_FISH = 0, + E_META_COOKED_FISH_SALMON = 1, // E_ITEM_MINECART_TRACKS metas: E_META_TRACKS_X = 1, @@ -1087,66 +1089,66 @@ enum ENUM_ITEM_META : short // E_ITEM_SPAWN_EGG metas: // See also cMonster::eType, since monster type and spawn egg meta are the same - E_META_SPAWN_EGG_PICKUP = 1, - E_META_SPAWN_EGG_EXPERIENCE_ORB = 2, - E_META_SPAWN_EGG_WITHER_SKELETON = 5, - E_META_SPAWN_EGG_LEASH_KNOT = 8, - E_META_SPAWN_EGG_PAINTING = 9, - E_META_SPAWN_EGG_ARROW = 10, - E_META_SPAWN_EGG_SNOWBALL = 11, - E_META_SPAWN_EGG_FIREBALL = 12, - E_META_SPAWN_EGG_SMALL_FIREBALL = 13, - E_META_SPAWN_EGG_ENDER_PEARL = 14, - E_META_SPAWN_EGG_EYE_OF_ENDER = 15, - E_META_SPAWN_EGG_SPLASH_POTION = 16, - E_META_SPAWN_EGG_EXP_BOTTLE = 17, - E_META_SPAWN_EGG_ITEM_FRAME = 18, - E_META_SPAWN_EGG_WITHER_SKULL = 19, - E_META_SPAWN_EGG_PRIMED_TNT = 20, - E_META_SPAWN_EGG_FALLING_BLOCK = 21, - E_META_SPAWN_EGG_FIREWORK = 22, - E_META_SPAWN_EGG_ZOMBIE_VILLAGER = 27, - E_META_SPAWN_EGG_BOAT = 41, - E_META_SPAWN_EGG_MINECART = 42, - E_META_SPAWN_EGG_MINECART_CHEST = 43, + E_META_SPAWN_EGG_PICKUP = 1, + E_META_SPAWN_EGG_EXPERIENCE_ORB = 2, + E_META_SPAWN_EGG_WITHER_SKELETON = 5, + E_META_SPAWN_EGG_LEASH_KNOT = 8, + E_META_SPAWN_EGG_PAINTING = 9, + E_META_SPAWN_EGG_ARROW = 10, + E_META_SPAWN_EGG_SNOWBALL = 11, + E_META_SPAWN_EGG_FIREBALL = 12, + E_META_SPAWN_EGG_SMALL_FIREBALL = 13, + E_META_SPAWN_EGG_ENDER_PEARL = 14, + E_META_SPAWN_EGG_EYE_OF_ENDER = 15, + E_META_SPAWN_EGG_SPLASH_POTION = 16, + E_META_SPAWN_EGG_EXP_BOTTLE = 17, + E_META_SPAWN_EGG_ITEM_FRAME = 18, + E_META_SPAWN_EGG_WITHER_SKULL = 19, + E_META_SPAWN_EGG_PRIMED_TNT = 20, + E_META_SPAWN_EGG_FALLING_BLOCK = 21, + E_META_SPAWN_EGG_FIREWORK = 22, + E_META_SPAWN_EGG_ZOMBIE_VILLAGER = 27, + E_META_SPAWN_EGG_BOAT = 41, + E_META_SPAWN_EGG_MINECART = 42, + E_META_SPAWN_EGG_MINECART_CHEST = 43, E_META_SPAWN_EGG_MINECART_FURNACE = 44, - E_META_SPAWN_EGG_MINECART_TNT = 45, - E_META_SPAWN_EGG_MINECART_HOPPER = 46, + E_META_SPAWN_EGG_MINECART_TNT = 45, + E_META_SPAWN_EGG_MINECART_HOPPER = 46, E_META_SPAWN_EGG_MINECART_SPAWNER = 47, - E_META_SPAWN_EGG_CREEPER = 50, - E_META_SPAWN_EGG_SKELETON = 51, - E_META_SPAWN_EGG_SPIDER = 52, - E_META_SPAWN_EGG_GIANT = 53, - E_META_SPAWN_EGG_ZOMBIE = 54, - E_META_SPAWN_EGG_SLIME = 55, - E_META_SPAWN_EGG_GHAST = 56, - E_META_SPAWN_EGG_ZOMBIE_PIGMAN = 57, - E_META_SPAWN_EGG_ENDERMAN = 58, - E_META_SPAWN_EGG_CAVE_SPIDER = 59, - E_META_SPAWN_EGG_SILVERFISH = 60, - E_META_SPAWN_EGG_BLAZE = 61, - E_META_SPAWN_EGG_MAGMA_CUBE = 62, - E_META_SPAWN_EGG_ENDER_DRAGON = 63, - E_META_SPAWN_EGG_WITHER = 64, - E_META_SPAWN_EGG_BAT = 65, - E_META_SPAWN_EGG_WITCH = 66, - E_META_SPAWN_EGG_ENDERMITE = 67, - E_META_SPAWN_EGG_GUARDIAN = 68, - E_META_SPAWN_EGG_PIG = 90, - E_META_SPAWN_EGG_SHEEP = 91, - E_META_SPAWN_EGG_COW = 92, - E_META_SPAWN_EGG_CHICKEN = 93, - E_META_SPAWN_EGG_SQUID = 94, - E_META_SPAWN_EGG_WOLF = 95, - E_META_SPAWN_EGG_MOOSHROOM = 96, - E_META_SPAWN_EGG_SNOW_GOLEM = 97, - E_META_SPAWN_EGG_OCELOT = 98, - E_META_SPAWN_EGG_IRON_GOLEM = 99, - E_META_SPAWN_EGG_HORSE = 100, - E_META_SPAWN_EGG_RABBIT = 101, - E_META_SPAWN_EGG_VILLAGER = 120, - E_META_SPAWN_EGG_ENDER_CRYSTAL = 200, -} ; + E_META_SPAWN_EGG_CREEPER = 50, + E_META_SPAWN_EGG_SKELETON = 51, + E_META_SPAWN_EGG_SPIDER = 52, + E_META_SPAWN_EGG_GIANT = 53, + E_META_SPAWN_EGG_ZOMBIE = 54, + E_META_SPAWN_EGG_SLIME = 55, + E_META_SPAWN_EGG_GHAST = 56, + E_META_SPAWN_EGG_ZOMBIE_PIGMAN = 57, + E_META_SPAWN_EGG_ENDERMAN = 58, + E_META_SPAWN_EGG_CAVE_SPIDER = 59, + E_META_SPAWN_EGG_SILVERFISH = 60, + E_META_SPAWN_EGG_BLAZE = 61, + E_META_SPAWN_EGG_MAGMA_CUBE = 62, + E_META_SPAWN_EGG_ENDER_DRAGON = 63, + E_META_SPAWN_EGG_WITHER = 64, + E_META_SPAWN_EGG_BAT = 65, + E_META_SPAWN_EGG_WITCH = 66, + E_META_SPAWN_EGG_ENDERMITE = 67, + E_META_SPAWN_EGG_GUARDIAN = 68, + E_META_SPAWN_EGG_PIG = 90, + E_META_SPAWN_EGG_SHEEP = 91, + E_META_SPAWN_EGG_COW = 92, + E_META_SPAWN_EGG_CHICKEN = 93, + E_META_SPAWN_EGG_SQUID = 94, + E_META_SPAWN_EGG_WOLF = 95, + E_META_SPAWN_EGG_MOOSHROOM = 96, + E_META_SPAWN_EGG_SNOW_GOLEM = 97, + E_META_SPAWN_EGG_OCELOT = 98, + E_META_SPAWN_EGG_IRON_GOLEM = 99, + E_META_SPAWN_EGG_HORSE = 100, + E_META_SPAWN_EGG_RABBIT = 101, + E_META_SPAWN_EGG_VILLAGER = 120, + E_META_SPAWN_EGG_ENDER_CRYSTAL = 200, +}; // tolua_end @@ -1163,22 +1165,27 @@ class cIniFile; // tolua_begin -/** Translates a blocktype string into blocktype. Takes either a number or an items.ini alias as input. Returns -1 on failure. */ +/** Translates a blocktype string into blocktype. Takes either a number or an items.ini alias as input. Returns -1 on + * failure. */ extern int BlockStringToType(const AString & a_BlockTypeString); -/** Translates an itemtype string into an item. Takes either a number, number^number, number:number or an items.ini alias as input. Returns true if successful. */ +/** Translates an itemtype string into an item. Takes either a number, number^number, number:number or an items.ini + * alias as input. Returns true if successful. */ extern bool StringToItem(const AString & a_ItemTypeString, cItem & a_Item); -/** Translates a full item into a string. If the ItemType is not recognized, the ItemType number is output into the string. */ +/** Translates a full item into a string. If the ItemType is not recognized, the ItemType number is output into the + * string. */ extern AString ItemToString(const cItem & a_Item); /** Translates itemtype into a string. If the type is not recognized, the itemtype number is output into the string. */ extern AString ItemTypeToString(short a_ItemType); -/** Translates a full item into a fully-specified string (including meta and count). If the ItemType is not recognized, the ItemType number is output into the string. */ +/** Translates a full item into a fully-specified string (including meta and count). If the ItemType is not recognized, + * the ItemType number is output into the string. */ extern AString ItemToFullString(const cItem & a_Item); -/** Returns a cItem representing the item described in an IniFile's value; if the value doesn't exist, creates it with the provided default. */ +/** Returns a cItem representing the item described in an IniFile's value; if the value doesn't exist, creates it with + * the provided default. */ extern cItem GetIniItemSet(cIniFile & a_IniFile, const char * a_Section, const char * a_Key, const char * a_Default); // tolua_end diff --git a/src/Blocks/BlockAir.h b/src/Blocks/BlockAir.h index 8338735b5..dd072067c 100644 --- a/src/Blocks/BlockAir.h +++ b/src/Blocks/BlockAir.h @@ -5,15 +5,12 @@ -class cBlockAirHandler final : - public cBlockHandler +class cBlockAirHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Don't drop anything: diff --git a/src/Blocks/BlockAnvil.h b/src/Blocks/BlockAnvil.h index bc031216a..e07325693 100644 --- a/src/Blocks/BlockAnvil.h +++ b/src/Blocks/BlockAnvil.h @@ -10,17 +10,14 @@ -class cBlockAnvilHandler final : - public cYawRotator +class cBlockAnvilHandler final : public cYawRotator { using Super = cYawRotator; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(m_BlockType, 1, a_BlockMeta >> 2); @@ -48,10 +45,7 @@ private: - virtual bool IsUseable() const override - { - return true; - } + virtual bool IsUseable() const override { return true; } @@ -62,8 +56,4 @@ private: UNUSED(a_Meta); return 6; } -} ; - - - - +}; diff --git a/src/Blocks/BlockBed.cpp b/src/Blocks/BlockBed.cpp index a18d95196..5013983d1 100644 --- a/src/Blocks/BlockBed.cpp +++ b/src/Blocks/BlockBed.cpp @@ -15,9 +15,11 @@ void cBlockBedHandler::OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, const Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const { @@ -94,10 +96,8 @@ bool cBlockBedHandler::OnUse( a_Player.SetBedPos(a_BlockPos); // Sleeping is allowed only during night and thunderstorms: - if ( - !(((a_WorldInterface.GetTimeOfDay() > 12541_tick) && (a_WorldInterface.GetTimeOfDay() < 23458_tick)) || - (a_Player.GetWorld()->GetWeather() == wThunderstorm)) - ) + if (!(((a_WorldInterface.GetTimeOfDay() > 12541_tick) && (a_WorldInterface.GetTimeOfDay() < 23458_tick)) || + (a_Player.GetWorld()->GetWeather() == wThunderstorm))) { a_Player.SendAboveActionBarMessage("You can only sleep at night and during thunderstorms"); return true; @@ -111,12 +111,11 @@ bool cBlockBedHandler::OnUse( } // Cannot sleep if there are hostile mobs nearby: - if ( - !a_Player.GetWorld()->ForEachEntityInBox({ a_Player.GetPosition().addedY(-5), 8, 10 }, [](cEntity & a_Entity) - { - return a_Entity.IsMob() && (static_cast(a_Entity).GetMobFamily() == cMonster::mfHostile); - }) - ) + if (!a_Player.GetWorld()->ForEachEntityInBox( + {a_Player.GetPosition().addedY(-5), 8, 10}, + [](cEntity & a_Entity) + { return a_Entity.IsMob() && (static_cast(a_Entity).GetMobFamily() == cMonster::mfHostile); } + )) { a_Player.SendAboveActionBarMessage("You may not rest now, there are monsters nearby"); return true; @@ -137,16 +136,20 @@ bool cBlockBedHandler::OnUse( // When sleeping, the player's bounding box moves to approximately where his head is. // Set the player's position to somewhere close to the edge of the pillow block: - a_Player.SetPosition(Vector3f(0.4f, 1, 0.4f) * MetaDataToDirection(Meta & 0x03) + Vector3f(0.5f, 0.6875, 0.5f) + a_BlockPos); + a_Player.SetPosition( + Vector3f(0.4f, 1, 0.4f) * MetaDataToDirection(Meta & 0x03) + Vector3f(0.5f, 0.6875, 0.5f) + a_BlockPos + ); // Fast-forward the time if all players in the world are in their beds: if (a_WorldInterface.ForEachPlayer([](cPlayer & a_OtherPlayer) { return !a_OtherPlayer.IsInBed(); })) { - a_WorldInterface.ForEachPlayer([&a_ChunkInterface](cPlayer & a_OtherPlayer) - { - VacateBed(a_ChunkInterface, a_OtherPlayer); - return false; - }); + a_WorldInterface.ForEachPlayer( + [&a_ChunkInterface](cPlayer & a_OtherPlayer) + { + VacateBed(a_ChunkInterface, a_OtherPlayer); + return false; + } + ); a_WorldInterface.SetTimeOfDay(0_tick); } diff --git a/src/Blocks/BlockBed.h b/src/Blocks/BlockBed.h index a6b2814b9..f0814c169 100644 --- a/src/Blocks/BlockBed.h +++ b/src/Blocks/BlockBed.h @@ -19,13 +19,11 @@ class cWorldInterface; -class cBlockBedHandler final : - public cYawRotator +class cBlockBedHandler final : public cYawRotator { using Super = cYawRotator; -public: - + public: using Super::Super; static Vector3i MetaDataToDirection(NIBBLETYPE a_MetaData) @@ -76,18 +74,21 @@ public: a_Player.SetIsInBed(false); } -private: - + private: // Overrides: virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, const Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override; virtual bool OnUse( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer & a_Player, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, + cPlayer & a_Player, const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPos @@ -104,4 +105,4 @@ private: UNUSED(a_Meta); return 28; } -} ; +}; diff --git a/src/Blocks/BlockBigFlower.h b/src/Blocks/BlockBigFlower.h index 1b2c0d735..80e2d258a 100644 --- a/src/Blocks/BlockBigFlower.h +++ b/src/Blocks/BlockBigFlower.h @@ -9,27 +9,28 @@ -class cBlockBigFlowerHandler final : - public cBlockHandler +class cBlockBigFlowerHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const override + private: + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly + ) const override { if (IsMetaTopPart(a_Meta)) { BLOCKTYPE BottomType; - if ( - (a_Position.y < 1) || - !a_World.GetBlockTypeMeta(a_Position - Vector3i(0, 1, 0), BottomType, a_Meta) || - (BottomType != E_BLOCK_BIG_FLOWER) - ) + if ((a_Position.y < 1) || !a_World.GetBlockTypeMeta(a_Position - Vector3i(0, 1, 0), BottomType, a_Meta) || + (BottomType != E_BLOCK_BIG_FLOWER)) { // Can't find the flower meta so assume grass return true; @@ -37,10 +38,7 @@ private: } NIBBLETYPE FlowerMeta = a_Meta & 0x07; - return ( - (FlowerMeta == E_META_BIG_FLOWER_DOUBLE_TALL_GRASS) || - (FlowerMeta == E_META_BIG_FLOWER_LARGE_FERN) - ); + return ((FlowerMeta == E_META_BIG_FLOWER_DOUBLE_TALL_GRASS) || (FlowerMeta == E_META_BIG_FLOWER_LARGE_FERN)); } @@ -89,10 +87,7 @@ private: - static bool IsMetaTopPart(NIBBLETYPE a_Meta) - { - return ((a_Meta & 0x08) != 0); - } + static bool IsMetaTopPart(NIBBLETYPE a_Meta) { return ((a_Meta & 0x08) != 0); } @@ -112,9 +107,11 @@ private: virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, const Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override { @@ -124,8 +121,10 @@ private: if (a_ChunkInterface.GetBlock(LowerPart) == a_OldBlockType) { // Prevent creative punches from dropping pickups. - // TODO: Simplify to SetBlock and remove the IsMetaTopPart check in DropBlockAsPickups when 1.13 blockstates arrive. - if ((a_Digger != nullptr) && a_Digger->IsPlayer() && static_cast(a_Digger)->IsGameModeCreative()) + // TODO: Simplify to SetBlock and remove the IsMetaTopPart check in DropBlockAsPickups when 1.13 + // blockstates arrive. + if ((a_Digger != nullptr) && a_Digger->IsPlayer() && + static_cast(a_Digger)->IsGameModeCreative()) { a_ChunkInterface.SetBlock(LowerPart, E_BLOCK_AIR, 0); } @@ -154,4 +153,4 @@ private: UNUSED(a_Meta); return 7; } -} ; +}; diff --git a/src/Blocks/BlockBookShelf.h b/src/Blocks/BlockBookShelf.h index 151925340..f523d944b 100644 --- a/src/Blocks/BlockBookShelf.h +++ b/src/Blocks/BlockBookShelf.h @@ -6,15 +6,12 @@ -class cBlockBookShelfHandler final : - public cBlockHandler +class cBlockBookShelfHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { if (ToolHasSilkTouch(a_Tool)) diff --git a/src/Blocks/BlockBrewingStand.h b/src/Blocks/BlockBrewingStand.h index d1595c690..cd1f911ac 100644 --- a/src/Blocks/BlockBrewingStand.h +++ b/src/Blocks/BlockBrewingStand.h @@ -7,17 +7,14 @@ -class cBlockBrewingStandHandler final : - public cBlockEntityHandler +class cBlockBrewingStandHandler final : public cBlockEntityHandler { using Super = cBlockEntityHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_ITEM_BREWING_STAND); // We have to drop the item form of a brewing stand @@ -32,8 +29,4 @@ private: UNUSED(a_Meta); return 6; } -} ; - - - - +}; diff --git a/src/Blocks/BlockButton.h b/src/Blocks/BlockButton.h index 1a141eff3..2a40f838e 100644 --- a/src/Blocks/BlockButton.h +++ b/src/Blocks/BlockButton.h @@ -14,20 +14,16 @@ -class cBlockButtonHandler final : - public cClearMetaOnDrop> +class cBlockButtonHandler final + : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; /** Extracts the ON bit from metadata and returns if true if it is set */ - static bool IsButtonOn(NIBBLETYPE a_Meta) - { - return (a_Meta & 0x08) == 0x08; - } + static bool IsButtonOn(NIBBLETYPE a_Meta) { return (a_Meta & 0x08) == 0x08; } /** Event handler for an arrow striking a block. Performs appropriate handling if the arrow intersected a wooden button. */ @@ -37,11 +33,8 @@ public: NIBBLETYPE Meta; const auto Pos = AddFaceDirection(a_Position, a_HitFace); - if ( - !a_World.GetBlockTypeMeta(Pos, Type, Meta) || - IsButtonOn(Meta) || - !IsButtonPressedByArrow(a_World, Pos, Type, Meta) - ) + if (!a_World.GetBlockTypeMeta(Pos, Type, Meta) || IsButtonOn(Meta) || + !IsButtonPressedByArrow(a_World, Pos, Type, Meta)) { // Bail if we're not specifically a wooden button, or it's already on // or if the arrow didn't intersect. It is very important that nothing is @@ -59,8 +52,7 @@ public: QueueButtonRelease(a_World, Pos, Type); } -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -81,11 +73,13 @@ private: // Set the ON bit to on Meta |= 0x08; - const auto SoundToPlay = (m_BlockType == E_BLOCK_STONE_BUTTON) ? "block.stone_button.click_on" : "block.wood_button.click_on"; + const auto SoundToPlay = + (m_BlockType == E_BLOCK_STONE_BUTTON) ? "block.stone_button.click_on" : "block.wood_button.click_on"; a_ChunkInterface.SetBlockMeta(a_BlockPos, Meta); a_WorldInterface.WakeUpSimulators(a_BlockPos); - a_WorldInterface.GetBroadcastManager().BroadcastSoundEffect(SoundToPlay, a_BlockPos, 0.5f, 0.6f, a_Player.GetClientHandle()); + a_WorldInterface.GetBroadcastManager() + .BroadcastSoundEffect(SoundToPlay, a_BlockPos, 0.5f, 0.6f, a_Player.GetClientHandle()); // Queue a button reset (unpress) QueueButtonRelease(*a_Player.GetWorld(), a_BlockPos, m_BlockType); @@ -97,10 +91,7 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } @@ -152,16 +143,11 @@ private: { switch (Face) { - case eBlockFace::BLOCK_FACE_YP: - return (SupportBlockMeta & E_BLOCK_STAIRS_UPSIDE_DOWN); - case eBlockFace::BLOCK_FACE_XP: - return ((SupportBlockMeta & 0b11) == E_BLOCK_STAIRS_XP); - case eBlockFace::BLOCK_FACE_XM: - return ((SupportBlockMeta & 0b11) == E_BLOCK_STAIRS_XM); - case eBlockFace::BLOCK_FACE_ZP: - return ((SupportBlockMeta & 0b11) == E_BLOCK_STAIRS_ZP); - case eBlockFace::BLOCK_FACE_ZM: - return ((SupportBlockMeta & 0b11) == E_BLOCK_STAIRS_ZM); + case eBlockFace::BLOCK_FACE_YP: return (SupportBlockMeta & E_BLOCK_STAIRS_UPSIDE_DOWN); + case eBlockFace::BLOCK_FACE_XP: return ((SupportBlockMeta & 0b11) == E_BLOCK_STAIRS_XP); + case eBlockFace::BLOCK_FACE_XM: return ((SupportBlockMeta & 0b11) == E_BLOCK_STAIRS_XM); + case eBlockFace::BLOCK_FACE_ZP: return ((SupportBlockMeta & 0b11) == E_BLOCK_STAIRS_ZP); + case eBlockFace::BLOCK_FACE_ZM: return ((SupportBlockMeta & 0b11) == E_BLOCK_STAIRS_ZM); default: { return false; @@ -194,10 +180,7 @@ private: BLOCKTYPE Type; NIBBLETYPE Meta; - if ( - !a_World.GetBlockTypeMeta(a_Position, Type, Meta) || - (Type != a_BlockType) || !IsButtonOn(Meta) - ) + if (!a_World.GetBlockTypeMeta(a_Position, Type, Meta) || (Type != a_BlockType) || !IsButtonOn(Meta)) { // Total failure or block changed, bail return; @@ -211,7 +194,8 @@ private: } // Block hasn't change in the meantime; release it - const auto SoundToPlayOnRelease = (Type == E_BLOCK_STONE_BUTTON) ? "block.stone_button.click_off" : "block.wood_button.click_off"; + const auto SoundToPlayOnRelease = + (Type == E_BLOCK_STONE_BUTTON) ? "block.stone_button.click_off" : "block.wood_button.click_off"; a_World.SetBlockMeta(a_Position, Meta & 0x07); a_World.WakeUpSimulators(a_Position); @@ -221,7 +205,12 @@ private: } /** Returns true if an arrow was found in the wooden button */ - static bool IsButtonPressedByArrow(cWorld & a_World, const Vector3i a_ButtonPosition, const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) + static bool IsButtonPressedByArrow( + cWorld & a_World, + const Vector3i a_ButtonPosition, + const BLOCKTYPE a_BlockType, + const NIBBLETYPE a_Meta + ) { if (a_BlockType != E_BLOCK_WOODEN_BUTTON) { @@ -231,10 +220,7 @@ private: const auto FaceOffset = GetButtonOffsetOnBlock(a_Meta); const bool FoundArrow = !a_World.ForEachEntityInBox( cBoundingBox(FaceOffset + a_ButtonPosition, 0.2, 0.2), - [](cEntity & a_Entity) - { - return a_Entity.IsArrow(); - } + [](cEntity & a_Entity) { return a_Entity.IsArrow(); } ); return FoundArrow; @@ -249,12 +235,12 @@ private: { switch (BlockMetaDataToBlockFace(a_Meta)) { - case BLOCK_FACE_YM: return { 0.5, 1, 0.5 }; - case BLOCK_FACE_XP: return { 0, 0.5, 0.5 }; - case BLOCK_FACE_XM: return { 1, 0.5, 0.5 }; - case BLOCK_FACE_ZP: return { 0.5, 0.5, 0 }; - case BLOCK_FACE_ZM: return { 0.5, 0.5, 1 }; - case BLOCK_FACE_YP: return { 0.5, 0, 0.5 }; + case BLOCK_FACE_YM: return {0.5, 1, 0.5}; + case BLOCK_FACE_XP: return {0, 0.5, 0.5}; + case BLOCK_FACE_XM: return {1, 0.5, 0.5}; + case BLOCK_FACE_ZP: return {0.5, 0.5, 0}; + case BLOCK_FACE_ZM: return {0.5, 0.5, 1}; + case BLOCK_FACE_YP: return {0.5, 0, 0.5}; case BLOCK_FACE_NONE: { break; @@ -262,4 +248,4 @@ private: } UNREACHABLE("Unhandled block face!"); } -} ; +}; diff --git a/src/Blocks/BlockCactus.h b/src/Blocks/BlockCactus.h index 23c4d3421..21e198309 100644 --- a/src/Blocks/BlockCactus.h +++ b/src/Blocks/BlockCactus.h @@ -7,17 +7,14 @@ -class cBlockCactusHandler final : - public cClearMetaOnDrop> +class cBlockCactusHandler final : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; -private: - + private: virtual bool CanBeAt(const cChunk & a_Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) const override { if (a_Position.y <= 0) @@ -32,25 +29,19 @@ private: } // Check surroundings. Cacti may ONLY be surrounded by non-solid blocks - static const Vector3i Coords[] = - { - {-1, 0, 0}, - { 1, 0, 0}, - { 0, 0, -1}, - { 0, 0, 1}, + static const Vector3i Coords[] = { + {-1, 0, 0}, + {1, 0, 0}, + {0, 0, -1}, + {0, 0, 1}, }; for (size_t i = 0; i < ARRAYCOUNT(Coords); i++) { BLOCKTYPE BlockType; NIBBLETYPE BlockMeta; - if ( - a_Chunk.UnboundedRelGetBlock(a_Position + Coords[i], BlockType, BlockMeta) && - ( - cBlockInfo::IsSolid(BlockType) || - (BlockType == E_BLOCK_LAVA) || - (BlockType == E_BLOCK_STATIONARY_LAVA) - ) - ) + if (a_Chunk.UnboundedRelGetBlock(a_Position + Coords[i], BlockType, BlockMeta) && + (cBlockInfo::IsSolid(BlockType) || (BlockType == E_BLOCK_LAVA) || (BlockType == E_BLOCK_STATIONARY_LAVA) + )) { return false; } @@ -76,18 +67,12 @@ private: { // Check the total height of the cacti blocks here: int top = a_RelPos.y + 1; - while ( - (top < cChunkDef::Height) && - (a_Chunk.GetBlock({a_RelPos.x, top, a_RelPos.z}) == E_BLOCK_CACTUS) - ) + while ((top < cChunkDef::Height) && (a_Chunk.GetBlock({a_RelPos.x, top, a_RelPos.z}) == E_BLOCK_CACTUS)) { ++top; } int bottom = a_RelPos.y - 1; - while ( - (bottom > 0) && - (a_Chunk.GetBlock({a_RelPos.x, bottom, a_RelPos.z}) == E_BLOCK_CACTUS) - ) + while ((bottom > 0) && (a_Chunk.GetBlock({a_RelPos.x, bottom, a_RelPos.z}) == E_BLOCK_CACTUS)) { --bottom; } @@ -111,24 +96,19 @@ private: a_Chunk.UnboundedRelFastSetBlock(pos, E_BLOCK_CACTUS, 0); - // Check surroundings. Cacti may ONLY be surrounded by non-solid blocks; if they aren't, drop as pickup and bail out the growing - static const Vector3i neighborOffsets[] = - { - {-1, 0, 0}, - { 1, 0, 0}, - { 0, 0, -1}, - { 0, 0, 1}, - } ; - for (const auto & ofs: neighborOffsets) + // Check surroundings. Cacti may ONLY be surrounded by non-solid blocks; if they aren't, drop as pickup and + // bail out the growing + static const Vector3i neighborOffsets[] = { + {-1, 0, 0}, + {1, 0, 0}, + {0, 0, -1}, + {0, 0, 1}, + }; + for (const auto & ofs : neighborOffsets) { - if ( - a_Chunk.UnboundedRelGetBlockType(pos + ofs, blockType) && - ( - cBlockInfo::IsSolid(blockType) || - (blockType == E_BLOCK_LAVA) || - (blockType == E_BLOCK_STATIONARY_LAVA) - ) - ) + if (a_Chunk.UnboundedRelGetBlockType(pos + ofs, blockType) && + (cBlockInfo::IsSolid(blockType) || (blockType == E_BLOCK_LAVA) || + (blockType == E_BLOCK_STATIONARY_LAVA))) { // Remove the cactus auto absPos = a_Chunk.RelativeToAbsolute(pos); @@ -149,8 +129,4 @@ private: } return paStay; } -} ; - - - - +}; diff --git a/src/Blocks/BlockCake.h b/src/Blocks/BlockCake.h index 4b238fa48..06f91af9b 100644 --- a/src/Blocks/BlockCake.h +++ b/src/Blocks/BlockCake.h @@ -6,17 +6,14 @@ -class cBlockCakeHandler final : - public cBlockHandler +class cBlockCakeHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -59,18 +56,11 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); return 14; } -} ; - - - - +}; diff --git a/src/Blocks/BlockCarpet.h b/src/Blocks/BlockCarpet.h index 841e94b11..5d7320752 100644 --- a/src/Blocks/BlockCarpet.h +++ b/src/Blocks/BlockCarpet.h @@ -14,17 +14,14 @@ -class cBlockCarpetHandler final : - public cBlockHandler +class cBlockCarpetHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual bool CanBeAt(const cChunk & a_Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) const override { return (a_Position.y > 0) && (a_Chunk.GetBlock(a_Position.addedY(-1)) != E_BLOCK_AIR); @@ -38,22 +35,22 @@ private: { switch (a_Meta) { - case E_META_CARPET_WHITE: return 14; - case E_META_CARPET_ORANGE: return 15; - case E_META_CARPET_MAGENTA: return 16; - case E_META_CARPET_LIGHTBLUE: return 17; - case E_META_CARPET_YELLOW: return 18; + case E_META_CARPET_WHITE: return 14; + case E_META_CARPET_ORANGE: return 15; + case E_META_CARPET_MAGENTA: return 16; + case E_META_CARPET_LIGHTBLUE: return 17; + case E_META_CARPET_YELLOW: return 18; case E_META_CARPET_LIGHTGREEN: return 19; - case E_META_CARPET_PINK: return 20; - case E_META_CARPET_GRAY: return 21; - case E_META_CARPET_LIGHTGRAY: return 22; - case E_META_CARPET_CYAN: return 23; - case E_META_CARPET_PURPLE: return 24; - case E_META_CARPET_BLUE: return 25; - case E_META_CARPET_BROWN: return 26; - case E_META_CARPET_GREEN: return 27; - case E_META_CARPET_RED: return 28; - case E_META_CARPET_BLACK: return 29; + case E_META_CARPET_PINK: return 20; + case E_META_CARPET_GRAY: return 21; + case E_META_CARPET_LIGHTGRAY: return 22; + case E_META_CARPET_CYAN: return 23; + case E_META_CARPET_PURPLE: return 24; + case E_META_CARPET_BLUE: return 25; + case E_META_CARPET_BROWN: return 26; + case E_META_CARPET_GREEN: return 27; + case E_META_CARPET_RED: return 28; + case E_META_CARPET_BLACK: return 29; default: { ASSERT(!"Unhandled meta in carpet handler!"); @@ -61,8 +58,4 @@ private: } } } -} ; - - - - +}; diff --git a/src/Blocks/BlockCauldron.h b/src/Blocks/BlockCauldron.h index 82247944c..cc3800f93 100644 --- a/src/Blocks/BlockCauldron.h +++ b/src/Blocks/BlockCauldron.h @@ -8,17 +8,14 @@ -class cBlockCauldronHandler final : - public cBlockHandler +class cBlockCauldronHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_ITEM_CAULDRON, 1, 0); @@ -103,7 +100,9 @@ private: case E_ITEM_LEATHER_TUNIC: { // Resets any color to default: - if ((Meta > 0) && ((EquippedItem.m_ItemColor.GetRed() != 255) || (EquippedItem.m_ItemColor.GetBlue() != 255) || (EquippedItem.m_ItemColor.GetGreen() != 255))) + if ((Meta > 0) && + ((EquippedItem.m_ItemColor.GetRed() != 255) || (EquippedItem.m_ItemColor.GetBlue() != 255) || + (EquippedItem.m_ItemColor.GetGreen() != 255))) { a_ChunkInterface.SetBlockMeta(a_BlockPos, --Meta); auto NewItem = cItem(EquippedItem); @@ -129,7 +128,8 @@ private: { // Resets shulker box color. - // TODO: When there is an actual default shulker box add the appropriate changes here! - 19.09.2020 - 12xx12 + // TODO: When there is an actual default shulker box add the appropriate changes here! - 19.09.2020 - + // 12xx12 if (Meta == 0) { // The cauldron is empty: @@ -168,10 +168,7 @@ private: - virtual bool IsUseable() const override - { - return true; - } + virtual bool IsUseable() const override { return true; } @@ -208,8 +205,4 @@ private: UNUSED(a_Meta); return 21; } -} ; - - - - +}; diff --git a/src/Blocks/BlockChest.h b/src/Blocks/BlockChest.h index 119216d00..f1ee9acf7 100644 --- a/src/Blocks/BlockChest.h +++ b/src/Blocks/BlockChest.h @@ -9,13 +9,11 @@ -class cBlockChestHandler final : - public cYawRotator, 0x07, 0x03, 0x04, 0x02, 0x05> +class cBlockChestHandler final : public cYawRotator, 0x07, 0x03, 0x04, 0x02, 0x05> { using Super = cYawRotator, 0x07, 0x03, 0x04, 0x02, 0x05>; -public: - + public: using Super::Super; @@ -24,4 +22,4 @@ public: UNUSED(a_Meta); return 13; } -} ; +}; diff --git a/src/Blocks/BlockCloth.h b/src/Blocks/BlockCloth.h index 8c0607f36..d40041429 100644 --- a/src/Blocks/BlockCloth.h +++ b/src/Blocks/BlockCloth.h @@ -7,35 +7,32 @@ -class cBlockClothHandler final : - public cBlockHandler +class cBlockClothHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { switch (a_Meta) { - case E_META_WOOL_WHITE: return 14; - case E_META_WOOL_ORANGE: return 15; - case E_META_WOOL_MAGENTA: return 16; - case E_META_WOOL_LIGHTBLUE: return 17; - case E_META_WOOL_YELLOW: return 18; + case E_META_WOOL_WHITE: return 14; + case E_META_WOOL_ORANGE: return 15; + case E_META_WOOL_MAGENTA: return 16; + case E_META_WOOL_LIGHTBLUE: return 17; + case E_META_WOOL_YELLOW: return 18; case E_META_WOOL_LIGHTGREEN: return 19; - case E_META_WOOL_PINK: return 20; - case E_META_WOOL_GRAY: return 21; - case E_META_WOOL_LIGHTGRAY: return 22; - case E_META_WOOL_CYAN: return 23; - case E_META_WOOL_PURPLE: return 24; - case E_META_WOOL_BLUE: return 25; - case E_META_WOOL_BROWN: return 26; - case E_META_WOOL_GREEN: return 27; - case E_META_WOOL_RED: return 28; - case E_META_WOOL_BLACK: return 29; + case E_META_WOOL_PINK: return 20; + case E_META_WOOL_GRAY: return 21; + case E_META_WOOL_LIGHTGRAY: return 22; + case E_META_WOOL_CYAN: return 23; + case E_META_WOOL_PURPLE: return 24; + case E_META_WOOL_BLUE: return 25; + case E_META_WOOL_BROWN: return 26; + case E_META_WOOL_GREEN: return 27; + case E_META_WOOL_RED: return 28; + case E_META_WOOL_BLACK: return 29; default: { ASSERT(!"Unhandled meta in wool handler!"); @@ -43,4 +40,4 @@ private: } } } -} ; +}; diff --git a/src/Blocks/BlockCobWeb.h b/src/Blocks/BlockCobWeb.h index 60ccbf53a..567b8c2e5 100644 --- a/src/Blocks/BlockCobWeb.h +++ b/src/Blocks/BlockCobWeb.h @@ -9,15 +9,12 @@ -class cBlockCobWebHandler final : - public cBlockHandler +class cBlockCobWebHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Silk touch gives cobweb, anything else gives just string: @@ -40,8 +37,4 @@ private: UNUSED(a_Meta); return 3; } -} ; - - - - +}; diff --git a/src/Blocks/BlockCocoaPod.h b/src/Blocks/BlockCocoaPod.h index e018388c5..d95849d84 100644 --- a/src/Blocks/BlockCocoaPod.h +++ b/src/Blocks/BlockCocoaPod.h @@ -7,13 +7,11 @@ -class cBlockCocoaPodHandler final : - public cBlockHandler +class cBlockCocoaPodHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; static NIBBLETYPE BlockFaceToMeta(eBlockFace a_BlockFace) @@ -34,8 +32,7 @@ public: UNREACHABLE("Unsupported block face"); } -private: - + private: virtual bool CanBeAt(const cChunk & a_Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) const override { // Check that we're attached to a jungle log block: @@ -124,8 +121,4 @@ private: UNUSED(a_Meta); return 34; } -} ; - - - - +}; diff --git a/src/Blocks/BlockCommandBlock.h b/src/Blocks/BlockCommandBlock.h index 9409e6004..400e78c8b 100644 --- a/src/Blocks/BlockCommandBlock.h +++ b/src/Blocks/BlockCommandBlock.h @@ -7,17 +7,14 @@ -class cBlockCommandBlockHandler final : - public cBlockEntityHandler +class cBlockCommandBlockHandler final : public cBlockEntityHandler { using Super = cBlockEntityHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Don't allow as a pickup: @@ -33,8 +30,4 @@ private: UNUSED(a_Meta); return 10; } -} ; - - - - +}; diff --git a/src/Blocks/BlockComparator.h b/src/Blocks/BlockComparator.h index 18aa2a8b9..33ed194bc 100644 --- a/src/Blocks/BlockComparator.h +++ b/src/Blocks/BlockComparator.h @@ -9,19 +9,14 @@ -class cBlockComparatorHandler final : - public cYawRotator +class cBlockComparatorHandler final : public cYawRotator { using Super = cYawRotator; -public: - + public: using Super::Super; - inline static bool IsInSubtractionMode(NIBBLETYPE a_Meta) - { - return ((a_Meta & 0x4) == 0x4); - } + inline static bool IsInSubtractionMode(NIBBLETYPE a_Meta) { return ((a_Meta & 0x4) == 0x4); } inline static Vector3i GetFrontCoordinate(Vector3i a_Position, NIBBLETYPE a_Meta) { @@ -99,8 +94,7 @@ public: return a_Position; } -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -143,10 +137,7 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } @@ -201,8 +192,4 @@ private: UNUSED(a_Meta); return 11; } -} ; - - - - +}; diff --git a/src/Blocks/BlockConcretePowder.h b/src/Blocks/BlockConcretePowder.h index 52591b3c1..facd115dd 100644 --- a/src/Blocks/BlockConcretePowder.h +++ b/src/Blocks/BlockConcretePowder.h @@ -7,43 +7,59 @@ -class cBlockConcretePowderHandler final : - public cBlockHandler +class cBlockConcretePowderHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual void OnPlaced( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta ) const override { OnNeighborChanged(a_ChunkInterface, a_BlockPos, BLOCK_FACE_NONE); } - virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const override + virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) + const override { - a_ChunkInterface.DoWithChunkAt(a_BlockPos, [&](cChunk & a_Chunk) { CheckSoaked(cChunkDef::AbsoluteToRelative(a_BlockPos), a_Chunk); return true; }); + a_ChunkInterface.DoWithChunkAt( + a_BlockPos, + [&](cChunk & a_Chunk) + { + CheckSoaked(cChunkDef::AbsoluteToRelative(a_BlockPos), a_Chunk); + return true; + } + ); } /** Check blocks above and around to see if they are water. If one is, converts this into concrete block. */ static void CheckSoaked(Vector3i a_Rel, cChunk & a_Chunk) { const auto & WaterCheck = cSimulator::AdjacentOffsets; - const bool ShouldSoak = std::any_of(WaterCheck.cbegin(), WaterCheck.cend(), [a_Rel, & a_Chunk](Vector3i a_Offset) - { - BLOCKTYPE NeighborType; - return ( - a_Chunk.UnboundedRelGetBlockType(a_Rel.x + a_Offset.x, a_Rel.y + a_Offset.y, a_Rel.z + a_Offset.z, NeighborType) - && IsBlockWater(NeighborType) - ); - }); + const bool ShouldSoak = std::any_of( + WaterCheck.cbegin(), + WaterCheck.cend(), + [a_Rel, &a_Chunk](Vector3i a_Offset) + { + BLOCKTYPE NeighborType; + return ( + a_Chunk.UnboundedRelGetBlockType( + a_Rel.x + a_Offset.x, + a_Rel.y + a_Offset.y, + a_Rel.z + a_Offset.z, + NeighborType + ) && + IsBlockWater(NeighborType) + ); + } + ); if (ShouldSoak) { @@ -57,22 +73,22 @@ private: { switch (a_Meta) { - case E_META_CONCRETE_POWDER_WHITE: return 8; - case E_META_CONCRETE_POWDER_ORANGE: return 15; - case E_META_CONCRETE_POWDER_MAGENTA: return 16; - case E_META_CONCRETE_POWDER_LIGHTBLUE: return 17; - case E_META_CONCRETE_POWDER_YELLOW: return 18; + case E_META_CONCRETE_POWDER_WHITE: return 8; + case E_META_CONCRETE_POWDER_ORANGE: return 15; + case E_META_CONCRETE_POWDER_MAGENTA: return 16; + case E_META_CONCRETE_POWDER_LIGHTBLUE: return 17; + case E_META_CONCRETE_POWDER_YELLOW: return 18; case E_META_CONCRETE_POWDER_LIGHTGREEN: return 19; - case E_META_CONCRETE_POWDER_PINK: return 20; - case E_META_CONCRETE_POWDER_GRAY: return 21; - case E_META_CONCRETE_POWDER_LIGHTGRAY: return 22; - case E_META_CONCRETE_POWDER_CYAN: return 23; - case E_META_CONCRETE_POWDER_PURPLE: return 24; - case E_META_CONCRETE_POWDER_BLUE: return 25; - case E_META_CONCRETE_POWDER_BROWN: return 26; - case E_META_CONCRETE_POWDER_GREEN: return 27; - case E_META_CONCRETE_POWDER_RED: return 28; - case E_META_CONCRETE_POWDER_BLACK: return 29; + case E_META_CONCRETE_POWDER_PINK: return 20; + case E_META_CONCRETE_POWDER_GRAY: return 21; + case E_META_CONCRETE_POWDER_LIGHTGRAY: return 22; + case E_META_CONCRETE_POWDER_CYAN: return 23; + case E_META_CONCRETE_POWDER_PURPLE: return 24; + case E_META_CONCRETE_POWDER_BLUE: return 25; + case E_META_CONCRETE_POWDER_BROWN: return 26; + case E_META_CONCRETE_POWDER_GREEN: return 27; + case E_META_CONCRETE_POWDER_RED: return 28; + case E_META_CONCRETE_POWDER_BLACK: return 29; default: { ASSERT(!"Unhandled meta in concrete powder handler!"); diff --git a/src/Blocks/BlockCrops.h b/src/Blocks/BlockCrops.h index b323ace10..6a9a18637 100644 --- a/src/Blocks/BlockCrops.h +++ b/src/Blocks/BlockCrops.h @@ -9,18 +9,14 @@ /** Common class that takes care of beetroots, carrots, potatoes and wheat */ -template -class cBlockCropsHandler final : - public cBlockPlant +template class cBlockCropsHandler final : public cBlockPlant { using Super = cBlockPlant; -public: - + public: using Super::Super; -private: - + private: /** Calculate the number of seeds to drop when the crop is broken. */ static char CalculateSeedCount(char a_Min, char a_BaseRolls, unsigned char a_FortuneLevel) { diff --git a/src/Blocks/BlockDaylightSensor.h b/src/Blocks/BlockDaylightSensor.h index 792e7d042..42de03683 100644 --- a/src/Blocks/BlockDaylightSensor.h +++ b/src/Blocks/BlockDaylightSensor.h @@ -7,17 +7,14 @@ -class cBlockDaylightSensorHandler final : - public cBlockHandler +class cBlockDaylightSensorHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -43,12 +40,9 @@ private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Always drop the regular daylight sensor: - return { E_BLOCK_DAYLIGHT_SENSOR }; + return {E_BLOCK_DAYLIGHT_SENSOR}; } - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } }; diff --git a/src/Blocks/BlockDeadBush.h b/src/Blocks/BlockDeadBush.h index 080dd150c..b0a77daf2 100644 --- a/src/Blocks/BlockDeadBush.h +++ b/src/Blocks/BlockDeadBush.h @@ -7,18 +7,22 @@ -class cBlockDeadBushHandler final : - public cBlockHandler +class cBlockDeadBushHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, const NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const override + private: + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + const NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly + ) const override { return true; } @@ -78,4 +82,4 @@ private: UNUSED(a_Meta); return 0; } -} ; +}; diff --git a/src/Blocks/BlockDefaultBlock.h b/src/Blocks/BlockDefaultBlock.h index 5aed0749b..b1fd961be 100644 --- a/src/Blocks/BlockDefaultBlock.h +++ b/src/Blocks/BlockDefaultBlock.h @@ -5,10 +5,8 @@ -class cDefaultBlockHandler final : - public cBlockHandler +class cDefaultBlockHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; }; diff --git a/src/Blocks/BlockDirt.h b/src/Blocks/BlockDirt.h index 1a6483367..34202865a 100644 --- a/src/Blocks/BlockDirt.h +++ b/src/Blocks/BlockDirt.h @@ -7,17 +7,14 @@ -class cBlockDirtHandler final : - public cBlockHandler +class cBlockDirtHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { if (a_BlockMeta == E_META_DIRT_COARSE) @@ -40,8 +37,4 @@ private: UNUSED(a_Meta); return 10; } -} ; - - - - +}; diff --git a/src/Blocks/BlockDoor.cpp b/src/Blocks/BlockDoor.cpp index d97bd9696..c980a74c6 100644 --- a/src/Blocks/BlockDoor.cpp +++ b/src/Blocks/BlockDoor.cpp @@ -8,10 +8,12 @@ void cBlockDoorHandler::OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, - Vector3i a_BlockPos, BLOCKTYPE a_OldBlockType, - NIBBLETYPE a_OldBlockMeta, - const cEntity * a_Digger + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, + Vector3i a_BlockPos, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, + const cEntity * a_Digger ) const { UNUSED(a_Digger); @@ -69,7 +71,12 @@ bool cBlockDoorHandler::OnUse( case E_BLOCK_OAK_DOOR: { ChangeDoor(a_ChunkInterface, a_BlockPos); - a_Player.GetWorld()->BroadcastSoundParticleEffect(EffectID::SFX_RANDOM_WOODEN_DOOR_OPEN, a_BlockPos, 0, a_Player.GetClientHandle()); + a_Player.GetWorld()->BroadcastSoundParticleEffect( + EffectID::SFX_RANDOM_WOODEN_DOOR_OPEN, + a_BlockPos, + 0, + a_Player.GetClientHandle() + ); break; } case E_BLOCK_IRON_DOOR: @@ -119,7 +126,14 @@ void cBlockDoorHandler::OnCancelRightClick( -cBoundingBox cBlockDoorHandler::GetPlacementCollisionBox(BLOCKTYPE a_XM, BLOCKTYPE a_XP, BLOCKTYPE a_YM, BLOCKTYPE a_YP, BLOCKTYPE a_ZM, BLOCKTYPE a_ZP) const +cBoundingBox cBlockDoorHandler::GetPlacementCollisionBox( + BLOCKTYPE a_XM, + BLOCKTYPE a_XP, + BLOCKTYPE a_YM, + BLOCKTYPE a_YP, + BLOCKTYPE a_ZM, + BLOCKTYPE a_ZP +) const { // Doors can be placed inside the player return cBoundingBox(0, 0, 0, 0, 0, 0); @@ -173,9 +187,9 @@ NIBBLETYPE cBlockDoorHandler::MetaMirrorXY(NIBBLETYPE a_Meta) const */ // Note: Currently, you can not properly mirror the hinges on a double door. The orientation of the door is stored - // in only the bottom tile while the hinge position is in the top tile. This function only operates on one tile at a time, - // so the function can only see either the hinge position or orientation, but not both, at any given time. The class itself - // needs extra datamembers. + // in only the bottom tile while the hinge position is in the top tile. This function only operates on one tile at + // a time, so the function can only see either the hinge position or orientation, but not both, at any given time. + // The class itself needs extra datamembers. if (a_Meta & 0x08) { return a_Meta; @@ -205,9 +219,9 @@ NIBBLETYPE cBlockDoorHandler::MetaMirrorYZ(NIBBLETYPE a_Meta) const // Return a_Meta if panel is a top panel (0x08 bit is set to 1) // Note: Currently, you can not properly mirror the hinges on a double door. The orientation of the door is stored - // in only the bottom tile while the hinge position is in the top tile. This function only operates on one tile at a time, - // so the function can only see either the hinge position or orientation, but not both, at any given time.The class itself - // needs extra datamembers. + // in only the bottom tile while the hinge position is in the top tile. This function only operates on one tile at + // a time, so the function can only see either the hinge position or orientation, but not both, at any given + // time.The class itself needs extra datamembers. if (a_Meta & 0x08) { @@ -227,6 +241,3 @@ NIBBLETYPE cBlockDoorHandler::MetaMirrorYZ(NIBBLETYPE a_Meta) const // Not Facing North or South; No change. return a_Meta; } - - - diff --git a/src/Blocks/BlockDoor.h b/src/Blocks/BlockDoor.h index 1b5c33d46..8647dc965 100644 --- a/src/Blocks/BlockDoor.h +++ b/src/Blocks/BlockDoor.h @@ -13,13 +13,11 @@ -class cBlockDoorHandler final : - public cYawRotator +class cBlockDoorHandler final : public cYawRotator { using Super = cYawRotator; -public: - + public: using Super::Super; /** Returns true if door can be placed on the specified block type. */ @@ -120,12 +118,13 @@ public: } } -private: - + private: virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override; @@ -147,10 +146,17 @@ private: ) const override; virtual NIBBLETYPE MetaRotateCCW(NIBBLETYPE a_Meta) const override; - virtual NIBBLETYPE MetaRotateCW(NIBBLETYPE a_Meta) const override; - virtual NIBBLETYPE MetaMirrorXY(NIBBLETYPE a_Meta) const override; - virtual NIBBLETYPE MetaMirrorYZ(NIBBLETYPE a_Meta) const override; - virtual cBoundingBox GetPlacementCollisionBox(BLOCKTYPE a_XM, BLOCKTYPE a_XP, BLOCKTYPE a_YM, BLOCKTYPE a_YP, BLOCKTYPE a_ZM, BLOCKTYPE a_ZP) const override; + virtual NIBBLETYPE MetaRotateCW(NIBBLETYPE a_Meta) const override; + virtual NIBBLETYPE MetaMirrorXY(NIBBLETYPE a_Meta) const override; + virtual NIBBLETYPE MetaMirrorYZ(NIBBLETYPE a_Meta) const override; + virtual cBoundingBox GetPlacementCollisionBox( + BLOCKTYPE a_XM, + BLOCKTYPE a_XP, + BLOCKTYPE a_YM, + BLOCKTYPE a_YP, + BLOCKTYPE a_ZM, + BLOCKTYPE a_ZP + ) const override; @@ -179,10 +185,7 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } @@ -256,13 +259,13 @@ private: UNUSED(a_Meta); switch (m_BlockType) { - case E_BLOCK_OAK_DOOR: return 13; - case E_BLOCK_SPRUCE_DOOR: return 34; - case E_BLOCK_BIRCH_DOOR: return 2; - case E_BLOCK_JUNGLE_DOOR: return 10; + case E_BLOCK_OAK_DOOR: return 13; + case E_BLOCK_SPRUCE_DOOR: return 34; + case E_BLOCK_BIRCH_DOOR: return 2; + case E_BLOCK_JUNGLE_DOOR: return 10; case E_BLOCK_DARK_OAK_DOOR: return 26; - case E_BLOCK_ACACIA_DOOR: return 15; - case E_BLOCK_IRON_DOOR: return 6; + case E_BLOCK_ACACIA_DOOR: return 15; + case E_BLOCK_IRON_DOOR: return 6; default: { ASSERT(!"Unhandled blocktype in door handler!"); @@ -270,8 +273,4 @@ private: } } } -} ; - - - - +}; diff --git a/src/Blocks/BlockDropSpenser.h b/src/Blocks/BlockDropSpenser.h index 050adf0f1..8f5881d70 100644 --- a/src/Blocks/BlockDropSpenser.h +++ b/src/Blocks/BlockDropSpenser.h @@ -11,20 +11,19 @@ -class cBlockDropSpenserHandler final : - public cDisplacementYawRotator, 0x07, 0x03, 0x04, 0x02, 0x05, 0x01, 0x00> +class cBlockDropSpenserHandler final + : public cDisplacementYawRotator, 0x07, 0x03, 0x04, 0x02, 0x05, 0x01, 0x00> { - using Super = cDisplacementYawRotator, 0x07, 0x03, 0x04, 0x02, 0x05, 0x01, 0x00>; - -public: + using Super = + cDisplacementYawRotator, 0x07, 0x03, 0x04, 0x02, 0x05, 0x01, 0x00>; + public: using Super::Super; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); return 11; } -} ; +}; diff --git a/src/Blocks/BlockEnchantingTable.h b/src/Blocks/BlockEnchantingTable.h index ba3932e5c..17db41cc4 100644 --- a/src/Blocks/BlockEnchantingTable.h +++ b/src/Blocks/BlockEnchantingTable.h @@ -11,17 +11,14 @@ -class cBlockEnchantingTableHandler final : - public cBlockHandler +class cBlockEnchantingTableHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -32,19 +29,22 @@ private: ) const override { AString WindowName = "Enchant"; - a_WorldInterface.DoWithBlockEntityAt(a_BlockPos, [&WindowName](cBlockEntity & a_Entity) - { - ASSERT(a_Entity.GetBlockType() == E_BLOCK_ENCHANTMENT_TABLE); - - const auto & EnchantingTable = static_cast(a_Entity); - const auto & CustomName = EnchantingTable.GetCustomName(); - if (!CustomName.empty()) + a_WorldInterface.DoWithBlockEntityAt( + a_BlockPos, + [&WindowName](cBlockEntity & a_Entity) { - WindowName = CustomName; - } + ASSERT(a_Entity.GetBlockType() == E_BLOCK_ENCHANTMENT_TABLE); - return false; - }); + const auto & EnchantingTable = static_cast(a_Entity); + const auto & CustomName = EnchantingTable.GetCustomName(); + if (!CustomName.empty()) + { + WindowName = CustomName; + } + + return false; + } + ); cWindow * Window = new cEnchantingWindow(a_BlockPos, std::move(WindowName)); a_Player.OpenWindow(*Window); @@ -53,10 +53,7 @@ private: } - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override diff --git a/src/Blocks/BlockEndPortalFrame.h b/src/Blocks/BlockEndPortalFrame.h index 68e6e09fe..8dd09aafd 100644 --- a/src/Blocks/BlockEndPortalFrame.h +++ b/src/Blocks/BlockEndPortalFrame.h @@ -7,29 +7,33 @@ -class cBlockEndPortalFrameHandler final : - public cYawRotator +class cBlockEndPortalFrameHandler final : public cYawRotator< + cBlockHandler, + 0x03, + E_META_END_PORTAL_FRAME_ZP, + E_META_END_PORTAL_FRAME_XM, + E_META_END_PORTAL_FRAME_ZM, + E_META_END_PORTAL_FRAME_XP> { using Super = cYawRotator< - cBlockHandler, 0x03, + cBlockHandler, + 0x03, E_META_END_PORTAL_FRAME_ZP, E_META_END_PORTAL_FRAME_XM, E_META_END_PORTAL_FRAME_ZM, - E_META_END_PORTAL_FRAME_XP - >; - -public: + E_META_END_PORTAL_FRAME_XP>; + public: using Super::Super; -private: - - virtual void OnPlaced(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) const override + private: + virtual void OnPlaced( + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) const override { // E_META_END_PORTAL_FRAME_EYE is the bit which signifies the eye of ender is in it. // LOG("PortalPlaced, meta %d", a_BlockMeta); @@ -46,7 +50,12 @@ private: /** Returns false if portal cannot be made, true if portal was made. */ - static bool FindAndSetPortal(Vector3i a_FirstFrame, NIBBLETYPE a_Direction, cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface) + static bool FindAndSetPortal( + Vector3i a_FirstFrame, + NIBBLETYPE a_Direction, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface + ) { /* PORTAL FINDING ALGORITH @@ -54,8 +63,10 @@ private: - Get clicked base block - Check diagonally (clockwise) for another portal block - if exists, and has eye, Continue. Abort if any are facing the wrong direction. - - if doesn't exist, check horizontally (the block to the left of this block). Abort if there is no horizontal block. - - After a corner has been met, traverse the portal clockwise, ensuring valid portal frames connect the rectangle. + - if doesn't exist, check horizontally (the block to the left of this block). Abort if there is no + horizontal block. + - After a corner has been met, traverse the portal clockwise, ensuring valid portal frames connect the + rectangle. - Track the NorthWest Corner, and the dimensions. - If dimensions are valid, create the portal. */ @@ -66,25 +77,23 @@ private: const int MAX_PORTAL_WIDTH = 4; // Directions to use for the clockwise traversal. - static const Vector3i Left[] = - { - { 1, 0, 0}, // 0, South, left block is East / XP - { 0, 0, 1}, // 1, West, left block is South / ZP - {-1, 0, 0}, // 2, North, left block is West / XM - { 0, 0, -1}, // 3, East, left block is North / ZM + static const Vector3i Left[] = { + {1, 0, 0}, // 0, South, left block is East / XP + {0, 0, 1}, // 1, West, left block is South / ZP + {-1, 0, 0}, // 2, North, left block is West / XM + {0, 0, -1}, // 3, East, left block is North / ZM }; - static const Vector3i LeftForward[] = - { - { 1, 0, 1}, // 0, South, left block is SouthEast / XP ZP - {-1, 0, 1}, // 1, West, left block is SouthWest / XM ZP + static const Vector3i LeftForward[] = { + {1, 0, 1}, // 0, South, left block is SouthEast / XP ZP + {-1, 0, 1}, // 1, West, left block is SouthWest / XM ZP {-1, 0, -1}, // 2, North, left block is NorthWest / XM ZM - { 1, 0, -1}, // 3, East, left block is NorthEast / XP ZM + {1, 0, -1}, // 3, East, left block is NorthEast / XP ZM }; int EdgesComplete = -1; // We start search _before_ finding the first edge Vector3i NorthWestCorner; - int EdgeWidth[4] = { 1, 1, 1, 1 }; + int EdgeWidth[4] = {1, 1, 1, 1}; NIBBLETYPE CurrentDirection = a_Direction; Vector3i CurrentPos = a_FirstFrame; @@ -152,7 +161,8 @@ private: { for (int j = 0; j < EdgeWidth[1]; j++) { - a_ChunkInterface.SetBlock(NorthWestCorner.x + i, NorthWestCorner.y, NorthWestCorner.z + j, E_BLOCK_END_PORTAL, 0); + a_ChunkInterface + .SetBlock(NorthWestCorner.x + i, NorthWestCorner.y, NorthWestCorner.z + j, E_BLOCK_END_PORTAL, 0); // TODO: Create block entity so portal doesn't become invisible on relog. } } @@ -171,8 +181,7 @@ private: return ( a_ChunkInterface.GetBlockTypeMeta(a_BlockPos, BlockType, BlockMeta) && - (BlockType == E_BLOCK_END_PORTAL_FRAME) && - (BlockMeta == (a_ShouldFace | E_META_END_PORTAL_FRAME_EYE)) + (BlockType == E_BLOCK_END_PORTAL_FRAME) && (BlockMeta == (a_ShouldFace | E_META_END_PORTAL_FRAME_EYE)) ); } @@ -180,10 +189,7 @@ private: /** Return true if this block is a portal frame. */ - static bool IsPortalFrame(BLOCKTYPE BlockType) - { - return (BlockType == E_BLOCK_END_PORTAL_FRAME); - } + static bool IsPortalFrame(BLOCKTYPE BlockType) { return (BlockType == E_BLOCK_END_PORTAL_FRAME); } @@ -195,7 +201,3 @@ private: return 27; } }; - - - - diff --git a/src/Blocks/BlockEnderChest.h b/src/Blocks/BlockEnderChest.h index 2e0da0f17..d2fb6c983 100644 --- a/src/Blocks/BlockEnderChest.h +++ b/src/Blocks/BlockEnderChest.h @@ -6,24 +6,18 @@ -class cBlockEnderChestHandler final : - public cYawRotator +class cBlockEnderChestHandler final : public cYawRotator { using Super = cYawRotator; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Only drop something when mined with a pickaxe: - if ( - (a_Tool != nullptr) && - ItemCategory::IsPickaxe(a_Tool->m_ItemType) - ) + if ((a_Tool != nullptr) && ItemCategory::IsPickaxe(a_Tool->m_ItemType)) { // Only drop self when mined with a silk-touch pickaxe: if (a_Tool->m_Enchantments.GetLevel(cEnchantments::enchSilkTouch) > 0) @@ -36,5 +30,4 @@ private: return {}; } - }; diff --git a/src/Blocks/BlockEntity.h b/src/Blocks/BlockEntity.h index c10f5d769..9f1ebe751 100644 --- a/src/Blocks/BlockEntity.h +++ b/src/Blocks/BlockEntity.h @@ -11,21 +11,17 @@ /** Wrapper for blocks that have a cBlockEntity descendant attached to them and can be "used" by the player. Forwards the "use" event to the block entity. */ -class cBlockEntityHandler : - public cBlockHandler +class cBlockEntityHandler : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -protected: - + protected: ~cBlockEntityHandler() = default; -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -38,20 +34,15 @@ private: return a_ChunkInterface.UseBlockEntity(&a_Player, a_BlockPos.x, a_BlockPos.y, a_BlockPos.z); } - virtual bool IsUseable() const override - { - return true; - } + virtual bool IsUseable() const override { return true; } }; -class cDefaultBlockEntityHandler final : - public cBlockEntityHandler +class cDefaultBlockEntityHandler final : public cBlockEntityHandler { -public: - + public: using cBlockEntityHandler::cBlockEntityHandler; }; diff --git a/src/Blocks/BlockFarmland.h b/src/Blocks/BlockFarmland.h index 8641238ed..8b9d9f57b 100644 --- a/src/Blocks/BlockFarmland.h +++ b/src/Blocks/BlockFarmland.h @@ -19,13 +19,11 @@ -class cBlockFarmlandHandler final : - public cBlockHandler +class cBlockFarmlandHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; /** Turns farmland into dirt. @@ -79,7 +77,8 @@ public: Entity.SetPosY(GroundHeight); return false; - }); + } + ); a_Chunk.SetBlock(a_RelPos, E_BLOCK_DIRT, 0); } @@ -88,8 +87,7 @@ public: -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_BLOCK_DIRT, 1, 0); @@ -124,7 +122,8 @@ private: } // Farmland too dry. If nothing is growing on top, turn back to dirt: - auto UpperBlock = cChunkDef::IsValidHeight(a_RelPos.addedY(1)) ? a_Chunk.GetBlock(a_RelPos.addedY(1)) : E_BLOCK_AIR; + auto UpperBlock = + cChunkDef::IsValidHeight(a_RelPos.addedY(1)) ? a_Chunk.GetBlock(a_RelPos.addedY(1)) : E_BLOCK_AIR; switch (UpperBlock) { case E_BLOCK_BEETROOTS: @@ -150,7 +149,8 @@ private: - virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const override + virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) + const override { // Don't care about any neighbor but the one above us (fix recursion loop in #2213): if (a_WhichNeighbor != BLOCK_FACE_YP) @@ -171,11 +171,14 @@ private: { // Until the fix above is done, this line should also suffice: // a_ChunkInterface.SetBlock(a_BlockPos, E_BLOCK_DIRT, 0); - a_ChunkInterface.DoWithChunkAt(a_BlockPos, [&](cChunk & Chunk) - { - TurnToDirt(Chunk, a_BlockPos); - return true; - }); + a_ChunkInterface.DoWithChunkAt( + a_BlockPos, + [&](cChunk & Chunk) + { + TurnToDirt(Chunk, a_BlockPos); + return true; + } + ); } } @@ -183,7 +186,8 @@ private: - /** Returns true if there's either a water source block close enough to hydrate the specified position, or it's raining there. */ + /** Returns true if there's either a water source block close enough to hydrate the specified position, or it's + * raining there. */ static bool IsWaterInNear(const cChunk & a_Chunk, const Vector3i a_RelPos) { if (a_Chunk.IsWeatherWetAt(a_RelPos.addedY(1))) @@ -224,12 +228,8 @@ private: virtual bool CanSustainPlant(BLOCKTYPE a_Plant) const override { return ( - (a_Plant == E_BLOCK_BEETROOTS) || - (a_Plant == E_BLOCK_CROPS) || - (a_Plant == E_BLOCK_CARROTS) || - (a_Plant == E_BLOCK_POTATOES) || - (a_Plant == E_BLOCK_MELON_STEM) || - (a_Plant == E_BLOCK_PUMPKIN_STEM) + (a_Plant == E_BLOCK_BEETROOTS) || (a_Plant == E_BLOCK_CROPS) || (a_Plant == E_BLOCK_CARROTS) || + (a_Plant == E_BLOCK_POTATOES) || (a_Plant == E_BLOCK_MELON_STEM) || (a_Plant == E_BLOCK_PUMPKIN_STEM) ); } -} ; +}; diff --git a/src/Blocks/BlockFence.h b/src/Blocks/BlockFence.h index cc4f35fea..674a9c2a0 100644 --- a/src/Blocks/BlockFence.h +++ b/src/Blocks/BlockFence.h @@ -10,24 +10,28 @@ -class cBlockFenceHandler final : - public cBlockHandler +class cBlockFenceHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: // These are the min and max coordinates (X and Z) for a straight fence. // 0.4 and 0.6 are really just guesses, but they seem pretty good. // (0.4 to 0.6 is a fence that's 0.2 wide, down the center of the block) static constexpr double MIN_COORD = 0.4; static constexpr double MAX_COORD = 0.6; - virtual cBoundingBox GetPlacementCollisionBox(BLOCKTYPE a_XM, BLOCKTYPE a_XP, BLOCKTYPE a_YM, BLOCKTYPE a_YP, BLOCKTYPE a_ZM, BLOCKTYPE a_ZP) const override + virtual cBoundingBox GetPlacementCollisionBox( + BLOCKTYPE a_XM, + BLOCKTYPE a_XP, + BLOCKTYPE a_YM, + BLOCKTYPE a_YP, + BLOCKTYPE a_ZM, + BLOCKTYPE a_ZP + ) const override { bool XMSolid = cBlockInfo::IsSolid(a_XM); bool XPSolid = cBlockInfo::IsSolid(a_XP); @@ -144,19 +148,18 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override { @@ -169,7 +172,3 @@ private: } } }; - - - - diff --git a/src/Blocks/BlockFenceGate.h b/src/Blocks/BlockFenceGate.h index f52d8df9c..c188b6a0a 100644 --- a/src/Blocks/BlockFenceGate.h +++ b/src/Blocks/BlockFenceGate.h @@ -8,17 +8,14 @@ -class cBlockFenceGateHandler final : - public cClearMetaOnDrop> +class cBlockFenceGateHandler final : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -42,7 +39,12 @@ private: // Standing aside - use last direction a_ChunkInterface.SetBlockMeta(a_BlockPos, OldMetaData); } - a_Player.GetWorld()->BroadcastSoundParticleEffect(EffectID::SFX_RANDOM_FENCE_GATE_OPEN, a_BlockPos, 0, a_Player.GetClientHandle()); + a_Player.GetWorld()->BroadcastSoundParticleEffect( + EffectID::SFX_RANDOM_FENCE_GATE_OPEN, + a_BlockPos, + 0, + a_Player.GetClientHandle() + ); return true; } @@ -65,10 +67,7 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } @@ -79,12 +78,12 @@ private: UNUSED(a_Meta); switch (m_BlockType) { - case E_BLOCK_OAK_FENCE_GATE: return 13; - case E_BLOCK_SPRUCE_FENCE_GATE: return 34; - case E_BLOCK_BIRCH_FENCE_GATE: return 2; - case E_BLOCK_JUNGLE_FENCE_GATE: return 10; + case E_BLOCK_OAK_FENCE_GATE: return 13; + case E_BLOCK_SPRUCE_FENCE_GATE: return 34; + case E_BLOCK_BIRCH_FENCE_GATE: return 2; + case E_BLOCK_JUNGLE_FENCE_GATE: return 10; case E_BLOCK_DARK_OAK_FENCE_GATE: return 26; - case E_BLOCK_ACACIA_FENCE_GATE: return 15; + case E_BLOCK_ACACIA_FENCE_GATE: return 15; default: { ASSERT(!"Unhandled blocktype in fence gate handler!"); @@ -92,8 +91,4 @@ private: } } } -} ; - - - - +}; diff --git a/src/Blocks/BlockFire.h b/src/Blocks/BlockFire.h index a0f5e9a69..caafd4a88 100644 --- a/src/Blocks/BlockFire.h +++ b/src/Blocks/BlockFire.h @@ -7,15 +7,12 @@ -class cBlockFireHandler final : - public cBlockHandler +class cBlockFireHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: struct Scratch { /** Portal boundary and direction variables */ @@ -27,7 +24,13 @@ private: - virtual void OnPlaced(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) const override + virtual void OnPlaced( + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) const override { /* PORTAL FINDING ALGORITH @@ -36,7 +39,8 @@ private: - Trace upwards to find first obsidian block; aborts if anything other than obsidian or air is encountered. Uses this value as a reference (the 'ceiling') - For both directions (if one fails, try the other), BASE (clicked) block: - - Go in one direction, only stop if a non obsidian block is encountered (abort) OR a portal border is encountered (FindObsidianCeiling returns -1) + - Go in one direction, only stop if a non obsidian block is encountered (abort) OR a portal border is + encountered (FindObsidianCeiling returns -1) - If a border was encountered, go the other direction and repeat above - Write borders to XZP and XZM, write direction portal faces to Dir - Loop through boundary variables, and fill with portal blocks based on Dir with meta from Dir @@ -51,7 +55,14 @@ private: Scratch Scratch; // a_BlockY - 1: Because we want the block below the fire - FindAndSetPortalFrame(a_BlockPos.x, a_BlockPos.y - 1, a_BlockPos.z, a_ChunkInterface, a_WorldInterface, Scratch); + FindAndSetPortalFrame( + a_BlockPos.x, + a_BlockPos.y - 1, + a_BlockPos.z, + a_ChunkInterface, + a_WorldInterface, + Scratch + ); } @@ -104,7 +115,9 @@ private: /** Evaluates if coords have a valid border on top, based on MaxY */ static bool EvaluatePortalBorder(int X, int FoundObsidianY, int Z, int MaxY, cChunkInterface & a_ChunkInterface) { - for (int checkBorder = FoundObsidianY + 1; checkBorder <= MaxY - 1; checkBorder++) // FoundObsidianY + 1: FoundObsidianY has already been checked in FindObsidianCeiling; MaxY - 1: portal doesn't need corners + for (int checkBorder = FoundObsidianY + 1; checkBorder <= MaxY - 1; + checkBorder++) // FoundObsidianY + 1: FoundObsidianY has already been checked in FindObsidianCeiling; MaxY + // - 1: portal doesn't need corners { if (a_ChunkInterface.GetBlock({X, checkBorder, Z}) != E_BLOCK_OBSIDIAN) { @@ -120,11 +133,25 @@ private: - /** Finds entire frame in any direction with the coordinates of a base block and fills hole with nether portal (START HERE) */ - static void FindAndSetPortalFrame(int X, int Y, int Z, cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, Scratch & a_Scratch) + /** Finds entire frame in any direction with the coordinates of a base block and fills hole with nether portal + * (START HERE) */ + static void FindAndSetPortalFrame( + int X, + int Y, + int Z, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, + Scratch & a_Scratch + ) { - int MaxY = FindObsidianCeiling(X, Y, Z, a_ChunkInterface); // Get topmost obsidian block as reference for all other checks - int X1 = X + 1, Z1 = Z + 1, X2 = X - 1, Z2 = Z - 1; // Duplicate XZ values, add / subtract one as we've checked the original already the line above + int MaxY = FindObsidianCeiling( + X, + Y, + Z, + a_ChunkInterface + ); // Get topmost obsidian block as reference for all other checks + int X1 = X + 1, Z1 = Z + 1, X2 = X - 1, + Z2 = Z - 1; // Duplicate XZ values, add / subtract one as we've checked the original already the line above if (MaxY == 0) // Oh noes! Not a portal coordinate :( { @@ -141,13 +168,15 @@ private: int PortalHeight = MaxY - Y - 1; int PortalWidth = a_Scratch.XZP - a_Scratch.XZM + 1; - if ((PortalHeight < a_WorldInterface.GetMinNetherPortalHeight()) || (PortalHeight > a_WorldInterface.GetMaxNetherPortalHeight())) + if ((PortalHeight < a_WorldInterface.GetMinNetherPortalHeight()) || + (PortalHeight > a_WorldInterface.GetMaxNetherPortalHeight())) { // The portal isn't high enough, or is too high return; } - if ((PortalWidth < a_WorldInterface.GetMinNetherPortalWidth()) || (PortalWidth > a_WorldInterface.GetMaxNetherPortalWidth())) + if ((PortalWidth < a_WorldInterface.GetMinNetherPortalWidth()) || + (PortalWidth > a_WorldInterface.GetMaxNetherPortalWidth())) { // The portal isn't wide enough, or is too wide return; @@ -171,17 +200,28 @@ private: /** Evaluates if coordinates are a portal going XP / XM; returns true if so, and writes boundaries to variable Takes coordinates of base block and Y coord of target obsidian ceiling */ - static bool FindPortalSliceX(int X1, int X2, int Y, int Z, int MaxY, cChunkInterface & a_ChunkInterface, Scratch & a_Scratch) + static bool FindPortalSliceX( + int X1, + int X2, + int Y, + int Z, + int MaxY, + cChunkInterface & a_ChunkInterface, + Scratch & a_Scratch + ) { a_Scratch.Dir = 1; // Set assumed direction (will change if portal turns out to be facing the other direction) bool FoundFrameXP = false, FoundFrameXM = false; - for (; ((a_ChunkInterface.GetBlock({X1, Y, Z}) == E_BLOCK_OBSIDIAN) || (a_ChunkInterface.GetBlock({X1, Y + 1, Z}) == E_BLOCK_OBSIDIAN)); X1++) // Check XP for obsidian blocks, exempting corners + for (; ((a_ChunkInterface.GetBlock({X1, Y, Z}) == E_BLOCK_OBSIDIAN) || + (a_ChunkInterface.GetBlock({X1, Y + 1, Z}) == E_BLOCK_OBSIDIAN)); + X1++) // Check XP for obsidian blocks, exempting corners { int Value = FindObsidianCeiling(X1, Y, Z, a_ChunkInterface, MaxY); int ValueTwo = FindObsidianCeiling(X1, Y + 1, Z, a_ChunkInterface, MaxY); // For corners without obsidian if ((Value == -1) || (ValueTwo == -1)) // FindObsidianCeiling returns -1 upon frame-find { - FoundFrameXP = true; // Found a frame border in this direction, proceed in other direction (don't go further) + FoundFrameXP = + true; // Found a frame border in this direction, proceed in other direction (don't go further) break; } else if ((Value != MaxY) && (ValueTwo != MaxY)) // Make sure that there is a valid portal 'slice' @@ -190,7 +230,9 @@ private: } } a_Scratch.XZP = X1 - 1; // Set boundary of frame interior - for (; ((a_ChunkInterface.GetBlock({X2, Y, Z}) == E_BLOCK_OBSIDIAN) || (a_ChunkInterface.GetBlock({X2, Y + 1, Z}) == E_BLOCK_OBSIDIAN)); X2--) // Go the other direction (XM) + for (; ((a_ChunkInterface.GetBlock({X2, Y, Z}) == E_BLOCK_OBSIDIAN) || + (a_ChunkInterface.GetBlock({X2, Y + 1, Z}) == E_BLOCK_OBSIDIAN)); + X2--) // Go the other direction (XM) { int Value = FindObsidianCeiling(X2, Y, Z, a_ChunkInterface, MaxY); int ValueTwo = FindObsidianCeiling(X2, Y + 1, Z, a_ChunkInterface, MaxY); @@ -210,11 +252,21 @@ private: } /** Evaluates if coords are a portal going ZP / ZM; returns true if so, and writes boundaries to variable */ - static bool FindPortalSliceZ(int X, int Y, int Z1, int Z2, int MaxY, cChunkInterface & a_ChunkInterface, Scratch & a_Scratch) + static bool FindPortalSliceZ( + int X, + int Y, + int Z1, + int Z2, + int MaxY, + cChunkInterface & a_ChunkInterface, + Scratch & a_Scratch + ) { a_Scratch.Dir = 2; bool FoundFrameZP = false, FoundFrameZM = false; - for (; ((a_ChunkInterface.GetBlock({X, Y, Z1}) == E_BLOCK_OBSIDIAN) || (a_ChunkInterface.GetBlock({X, Y + 1, Z1}) == E_BLOCK_OBSIDIAN)); Z1++) + for (; ((a_ChunkInterface.GetBlock({X, Y, Z1}) == E_BLOCK_OBSIDIAN) || + (a_ChunkInterface.GetBlock({X, Y + 1, Z1}) == E_BLOCK_OBSIDIAN)); + Z1++) { int Value = FindObsidianCeiling(X, Y, Z1, a_ChunkInterface, MaxY); int ValueTwo = FindObsidianCeiling(X, Y + 1, Z1, a_ChunkInterface, MaxY); @@ -229,7 +281,9 @@ private: } } a_Scratch.XZP = Z1 - 1; - for (; ((a_ChunkInterface.GetBlock({X, Y, Z2}) == E_BLOCK_OBSIDIAN) || (a_ChunkInterface.GetBlock({X, Y + 1, Z2}) == E_BLOCK_OBSIDIAN)); Z2--) + for (; ((a_ChunkInterface.GetBlock({X, Y, Z2}) == E_BLOCK_OBSIDIAN) || + (a_ChunkInterface.GetBlock({X, Y + 1, Z2}) == E_BLOCK_OBSIDIAN)); + Z2--) { int Value = FindObsidianCeiling(X, Y, Z2, a_ChunkInterface, MaxY); int ValueTwo = FindObsidianCeiling(X, Y + 1, Z2, a_ChunkInterface, MaxY); @@ -248,7 +302,14 @@ private: return (FoundFrameZP && FoundFrameZM); } - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, const NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const override + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + const NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly + ) const override { return true; } @@ -259,7 +320,3 @@ private: return 15; } }; - - - - diff --git a/src/Blocks/BlockFlower.h b/src/Blocks/BlockFlower.h index 023ba4a37..49a606853 100644 --- a/src/Blocks/BlockFlower.h +++ b/src/Blocks/BlockFlower.h @@ -7,17 +7,14 @@ -class cBlockFlowerHandler final : - public cBlockHandler +class cBlockFlowerHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { NIBBLETYPE meta = a_BlockMeta & 0x7; @@ -42,8 +39,4 @@ private: UNUSED(a_Meta); return 7; } -} ; - - - - +}; diff --git a/src/Blocks/BlockFlowerPot.h b/src/Blocks/BlockFlowerPot.h index 3e12e2d02..b5c1d785e 100644 --- a/src/Blocks/BlockFlowerPot.h +++ b/src/Blocks/BlockFlowerPot.h @@ -5,17 +5,14 @@ -class cBlockFlowerPotHandler final : - public cBlockEntityHandler +class cBlockFlowerPotHandler final : public cBlockEntityHandler { using Super = cBlockEntityHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_ITEM_FLOWER_POT, 1, 0); @@ -30,8 +27,4 @@ private: UNUSED(a_Meta); return 0; } -} ; - - - - +}; diff --git a/src/Blocks/BlockFluid.h b/src/Blocks/BlockFluid.h index ab71ee7c3..587e8a049 100644 --- a/src/Blocks/BlockFluid.h +++ b/src/Blocks/BlockFluid.h @@ -7,21 +7,17 @@ -class cBlockFluidHandler : - public cBlockHandler +class cBlockFluidHandler : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -protected: - + protected: ~cBlockFluidHandler() = default; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // No pickups @@ -32,27 +28,31 @@ private: - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, const NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const override + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + const NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly + ) const override { return true; } -} ; +}; -class cBlockLavaHandler final : - public cBlockFluidHandler +class cBlockLavaHandler final : public cBlockFluidHandler { using Super = cBlockFluidHandler; -public: - + public: using Super::Super; -private: - + private: virtual void OnUpdate( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -80,40 +80,33 @@ private: { // Pick a random block next to this lava block: int rnd = a_Chunk.GetWorld()->GetTickRandomNumber(cChunkDef::NumBlocks * 8) / 7; - int x = (rnd % 3) - 1; // -1 .. 1 - int y = ((rnd / 4) % 4) - 1; // -1 .. 2 + int x = (rnd % 3) - 1; // -1 .. 1 + int y = ((rnd / 4) % 4) - 1; // -1 .. 2 int z = ((rnd / 16) % 3) - 1; // -1 .. 1 auto Pos = a_RelPos + Vector3i(x, y, z); // Check if it's fuel: BLOCKTYPE BlockType; - if ( - !cChunkDef::IsValidHeight(Pos) || - !a_Chunk.UnboundedRelGetBlockType(Pos, BlockType) || - !cFireSimulator::IsFuel(BlockType) - ) + if (!cChunkDef::IsValidHeight(Pos) || !a_Chunk.UnboundedRelGetBlockType(Pos, BlockType) || + !cFireSimulator::IsFuel(BlockType)) { return false; } // Try to set it on fire: - static Vector3i CrossCoords[] = - { - {-1, 0, 0}, - { 1, 0, 0}, - { 0, -1, 0}, - { 0, 1, 0}, - { 0, 0, -1}, - { 0, 0, 1}, - } ; + static Vector3i CrossCoords[] = { + {-1, 0, 0}, + {1, 0, 0}, + {0, -1, 0}, + {0, 1, 0}, + {0, 0, -1}, + {0, 0, 1}, + }; for (size_t i = 0; i < ARRAYCOUNT(CrossCoords); i++) { auto NeighborPos = Pos + CrossCoords[i]; - if ( - cChunkDef::IsValidHeight(NeighborPos) && - a_Chunk.UnboundedRelGetBlockType(NeighborPos, BlockType) && - (BlockType == E_BLOCK_AIR) - ) + if (cChunkDef::IsValidHeight(NeighborPos) && a_Chunk.UnboundedRelGetBlockType(NeighborPos, BlockType) && + (BlockType == E_BLOCK_AIR)) { // This is an air block next to a fuel next to lava, light the fuel block up: a_Chunk.UnboundedRelSetBlock(NeighborPos, E_BLOCK_FIRE, 0); @@ -137,25 +130,19 @@ private: - virtual bool CanSustainPlant(BLOCKTYPE a_Plant) const override - { - return false; - } -} ; + virtual bool CanSustainPlant(BLOCKTYPE a_Plant) const override { return false; } +}; -class cBlockWaterHandler final : - public cBlockFluidHandler +class cBlockWaterHandler final : public cBlockFluidHandler { -public: - + public: using cBlockFluidHandler::cBlockFluidHandler; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); @@ -170,12 +157,8 @@ private: virtual bool CanSustainPlant(BLOCKTYPE a_Plant) const override { return ( - (a_Plant == E_BLOCK_BEETROOTS) || - (a_Plant == E_BLOCK_CROPS) || - (a_Plant == E_BLOCK_CARROTS) || - (a_Plant == E_BLOCK_POTATOES) || - (a_Plant == E_BLOCK_MELON_STEM) || - (a_Plant == E_BLOCK_PUMPKIN_STEM) + (a_Plant == E_BLOCK_BEETROOTS) || (a_Plant == E_BLOCK_CROPS) || (a_Plant == E_BLOCK_CARROTS) || + (a_Plant == E_BLOCK_POTATOES) || (a_Plant == E_BLOCK_MELON_STEM) || (a_Plant == E_BLOCK_PUMPKIN_STEM) ); } }; diff --git a/src/Blocks/BlockFurnace.h b/src/Blocks/BlockFurnace.h index 8cdc9489a..a140c9d28 100644 --- a/src/Blocks/BlockFurnace.h +++ b/src/Blocks/BlockFurnace.h @@ -6,17 +6,14 @@ -class cBlockFurnaceHandler final : - public cYawRotator +class cBlockFurnaceHandler final : public cYawRotator { using Super = cYawRotator; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_BLOCK_FURNACE); // We can't drop a lit furnace @@ -31,8 +28,4 @@ private: UNUSED(a_Meta); return 11; } -} ; - - - - +}; diff --git a/src/Blocks/BlockGlass.h b/src/Blocks/BlockGlass.h index 6b4bb79de..82b05fe2c 100644 --- a/src/Blocks/BlockGlass.h +++ b/src/Blocks/BlockGlass.h @@ -7,15 +7,12 @@ -class cBlockGlassHandler final : - public cBlockHandler +class cBlockGlassHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Only drop self when mined with silk-touch: @@ -35,8 +32,4 @@ private: UNUSED(a_Meta); return 0; } -} ; - - - - +}; diff --git a/src/Blocks/BlockGlazedTerracotta.h b/src/Blocks/BlockGlazedTerracotta.h index 0975f1ecd..63ec84ec0 100644 --- a/src/Blocks/BlockGlazedTerracotta.h +++ b/src/Blocks/BlockGlazedTerracotta.h @@ -7,12 +7,11 @@ -class cBlockGlazedTerracottaHandler final : - public cClearMetaOnDrop> +class cBlockGlazedTerracottaHandler final + : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; }; diff --git a/src/Blocks/BlockGlowstone.h b/src/Blocks/BlockGlowstone.h index f9fd8842c..f04e16a9c 100644 --- a/src/Blocks/BlockGlowstone.h +++ b/src/Blocks/BlockGlowstone.h @@ -7,15 +7,12 @@ -class cBlockGlowstoneHandler final : - public cBlockHandler +class cBlockGlowstoneHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Drop self only when using silk-touch: @@ -38,8 +35,4 @@ private: UNUSED(a_Meta); return 2; } -} ; - - - - +}; diff --git a/src/Blocks/BlockGrass.h b/src/Blocks/BlockGrass.h index 412291382..7c465256a 100644 --- a/src/Blocks/BlockGrass.h +++ b/src/Blocks/BlockGrass.h @@ -10,15 +10,12 @@ -class cBlockGrassHandler final : - public cBlockHandler +class cBlockGrassHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: enum class Survivability { // Light level so good that the grass can try to spread to neighbours @@ -91,8 +88,7 @@ private: return 1; } -private: - + private: /** Check if conditions are favourable to a grass block at the given position. If they are not, the grass dies and is turned to dirt. Returns whether conditions are so good that the grass can try to spread to neighbours. */ @@ -107,9 +103,7 @@ private: // Grass turns back to dirt when the block above it is not transparent or water. // It does not turn to dirt when a snow layer is above. const auto Above = a_Chunk.GetBlock(AbovePos); - if ( - (Above != E_BLOCK_SNOW) && - (!cBlockInfo::IsTransparent(Above) || IsBlockWater(Above))) + if ((Above != E_BLOCK_SNOW) && (!cBlockInfo::IsTransparent(Above) || IsBlockWater(Above))) { return Survivability::DieInDarkness; } @@ -139,7 +133,7 @@ private: return; } - BLOCKTYPE DestBlock; + BLOCKTYPE DestBlock; NIBBLETYPE DestMeta; Chunk->GetBlockTypeMeta(a_RelPos, DestBlock, DestMeta); @@ -153,12 +147,7 @@ private: const auto Above = Chunk->GetBlock(AbovePos); const auto Light = std::max(Chunk->GetBlockLight(AbovePos), Chunk->GetSkyLightAltered(AbovePos)); - if ( - (Light > 4) && - cBlockInfo::IsTransparent(Above) && - !IsBlockLava(Above) && - !IsBlockWaterOrIce(Above) - ) + if ((Light > 4) && cBlockInfo::IsTransparent(Above) && !IsBlockLava(Above) && !IsBlockWaterOrIce(Above)) { const auto AbsPos = Chunk->RelativeToAbsolute(a_RelPos); if (!cRoot::Get()->GetPluginManager()->CallHookBlockSpread(*Chunk->GetWorld(), AbsPos, ssGrassSpread)) @@ -167,4 +156,4 @@ private: } } } -} ; +}; diff --git a/src/Blocks/BlockGravel.h b/src/Blocks/BlockGravel.h index 4713e6488..1818e8d9f 100644 --- a/src/Blocks/BlockGravel.h +++ b/src/Blocks/BlockGravel.h @@ -7,15 +7,12 @@ -class cBlockGravelHandler final : - public cBlockHandler +class cBlockGravelHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { if (ToolHasSilkTouch(a_Tool)) @@ -42,8 +39,4 @@ private: UNUSED(a_Meta); return 11; } -} ; - - - - +}; diff --git a/src/Blocks/BlockHandler.cpp b/src/Blocks/BlockHandler.cpp index 6691f151f..c03523dfb 100644 --- a/src/Blocks/BlockHandler.cpp +++ b/src/Blocks/BlockHandler.cpp @@ -129,29 +129,34 @@ public: { // Test the CW / CCW rotations: NIBBLETYPE TestMeta; - TestMeta = Handler->MetaRotateCW(Handler->MetaRotateCW(Handler->MetaRotateCW(Handler->MetaRotateCW(Meta)))); - if (TestMeta != Meta) + TestMeta = +Handler->MetaRotateCW(Handler->MetaRotateCW(Handler->MetaRotateCW(Handler->MetaRotateCW(Meta)))); if (TestMeta != Meta) { // 4 CW rotations should produce no change in the meta - printf("Handler for blocktype %d (%s) fails CW 4-rotation test for meta %d: got back %d\n", Type, BlockName.c_str(), Meta, TestMeta); + printf("Handler for blocktype %d (%s) fails CW 4-rotation test for meta %d: got back %d\n", Type, +BlockName.c_str(), Meta, TestMeta); } - TestMeta = Handler->MetaRotateCCW(Handler->MetaRotateCCW(Handler->MetaRotateCCW(Handler->MetaRotateCCW(Meta)))); - if (TestMeta != Meta) + TestMeta = +Handler->MetaRotateCCW(Handler->MetaRotateCCW(Handler->MetaRotateCCW(Handler->MetaRotateCCW(Meta)))); if (TestMeta != +Meta) { // 4 CCW rotations should produce no change in the meta - printf("Handler for blocktype %d (%s) fails CCW 4-rotation test for meta %d: got back %d\n", Type, BlockName.c_str(), Meta, TestMeta); + printf("Handler for blocktype %d (%s) fails CCW 4-rotation test for meta %d: got back %d\n", Type, +BlockName.c_str(), Meta, TestMeta); } TestMeta = Handler->MetaRotateCCW(Handler->MetaRotateCW(Meta)); if (TestMeta != Meta) { // CCW rotation of a CW rotation should produce no change in the meta - printf("Handler for blocktype %d (%s) fails CCW(CW) rotation test for meta %d: got back %d\n", Type, BlockName.c_str(), Meta, TestMeta); + printf("Handler for blocktype %d (%s) fails CCW(CW) rotation test for meta %d: got back %d\n", Type, +BlockName.c_str(), Meta, TestMeta); } TestMeta = Handler->MetaRotateCW(Handler->MetaRotateCCW(Meta)); if (TestMeta != Meta) { // CW rotation of a CCW rotation should produce no change in the meta - printf("Handler for blocktype %d (%s) fails CW(CCW) rotation test for meta %d: got back %d\n", Type, BlockName.c_str(), Meta, TestMeta); + printf("Handler for blocktype %d (%s) fails CW(CCW) rotation test for meta %d: got back %d\n", Type, +BlockName.c_str(), Meta, TestMeta); } // Test the mirroring: @@ -159,27 +164,31 @@ public: if (TestMeta != Meta) { // Double-mirroring should produce the same meta: - printf("Handler for blocktype %d (%s) fails XY mirror test for meta %d: got back %d\n", Type, BlockName.c_str(), Meta, TestMeta); + printf("Handler for blocktype %d (%s) fails XY mirror test for meta %d: got back %d\n", Type, +BlockName.c_str(), Meta, TestMeta); } TestMeta = Handler->MetaMirrorXZ(Handler->MetaMirrorXZ(Meta)); if (TestMeta != Meta) { // Double-mirroring should produce the same meta: - printf("Handler for blocktype %d (%s) fails XZ mirror test for meta %d: got back %d\n", Type, BlockName.c_str(), Meta, TestMeta); + printf("Handler for blocktype %d (%s) fails XZ mirror test for meta %d: got back %d\n", Type, +BlockName.c_str(), Meta, TestMeta); } TestMeta = Handler->MetaMirrorYZ(Handler->MetaMirrorYZ(Meta)); if (TestMeta != Meta) { // Double-mirroring should produce the same meta: - printf("Handler for blocktype %d (%s) fails YZ mirror test for meta %d: got back %d\n", Type, BlockName.c_str(), Meta, TestMeta); + printf("Handler for blocktype %d (%s) fails YZ mirror test for meta %d: got back %d\n", Type, +BlockName.c_str(), Meta, TestMeta); } // Test mirror-rotating: - TestMeta = Handler->MetaRotateCW(Handler->MetaRotateCW(Handler->MetaMirrorXY(Handler->MetaMirrorYZ(Meta)))); - if (TestMeta != Meta) + TestMeta = +Handler->MetaRotateCW(Handler->MetaRotateCW(Handler->MetaMirrorXY(Handler->MetaMirrorYZ(Meta)))); if (TestMeta != Meta) { // 2 CW rotations should be the same as XY, YZ mirroring: - printf("Handler for blocktype %d (%s) fails rotation-mirror test for meta %d: got back %d\n", Type, BlockName.c_str(), Meta, TestMeta); + printf("Handler for blocktype %d (%s) fails rotation-mirror test for meta %d: got back %d\n", Type, +BlockName.c_str(), Meta, TestMeta); } } } // for Type @@ -196,259 +205,259 @@ public: Ensures that a handler can never be nullptr (FS #243) on invalid during restarts or other transition periods. */ namespace { - constexpr cBlockDoorHandler BlockAcaciaDoorHandler (E_BLOCK_ACACIA_DOOR); - constexpr cBlockFenceGateHandler BlockAcaciaFenceGateHandler (E_BLOCK_ACACIA_FENCE_GATE); - constexpr cBlockFenceHandler BlockAcaciaFenceHandler (E_BLOCK_ACACIA_FENCE); - constexpr cBlockStairsHandler BlockAcaciaWoodStairsHandler (E_BLOCK_ACACIA_WOOD_STAIRS); - constexpr cBlockRailHandler BlockActivatorRailHandler (E_BLOCK_ACTIVATOR_RAIL); - constexpr cBlockComparatorHandler BlockActiveComparatorHandler (E_BLOCK_ACTIVE_COMPARATOR); - constexpr cBlockAirHandler BlockAirHandler (E_BLOCK_AIR); - constexpr cBlockAnvilHandler BlockAnvilHandler (E_BLOCK_ANVIL); - constexpr cDefaultBlockHandler BlockBarrierHandler (E_BLOCK_BARRIER); - constexpr cDefaultBlockEntityHandler BlockBeaconHandler (E_BLOCK_BEACON); - constexpr cBlockBedHandler BlockBedHandler (E_BLOCK_BED); - constexpr cDefaultBlockHandler BlockBedrockHandler (E_BLOCK_BEDROCK); - constexpr cBlockCropsHandler<3> BlockBeetrootsHandler (E_BLOCK_BEETROOTS); // 4 stages of growth - constexpr cBlockBigFlowerHandler BlockBigFlowerHandler (E_BLOCK_BIG_FLOWER); - constexpr cBlockDoorHandler BlockBirchDoorHandler (E_BLOCK_BIRCH_DOOR); - constexpr cBlockFenceGateHandler BlockBirchFenceGateHandler (E_BLOCK_BIRCH_FENCE_GATE); - constexpr cBlockFenceHandler BlockBirchFenceHandler (E_BLOCK_BIRCH_FENCE); - constexpr cBlockStairsHandler BlockBirchWoodStairsHandler (E_BLOCK_BIRCH_WOOD_STAIRS); - constexpr cBlockGlazedTerracottaHandler BlockBlackGlazedTerracottaHandler (E_BLOCK_BLACK_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockBlackShulkerBoxHandler (E_BLOCK_BLACK_SHULKER_BOX); - constexpr cBlockGlazedTerracottaHandler BlockBlueGlazedTerracottaHandler (E_BLOCK_BLUE_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockBlueShulkerBoxHandler (E_BLOCK_BLUE_SHULKER_BOX); - constexpr cDefaultBlockHandler BlockBoneBlockHandler (E_BLOCK_BONE_BLOCK); - constexpr cBlockBookShelfHandler BlockBookcaseHandler (E_BLOCK_BOOKCASE); - constexpr cBlockBrewingStandHandler BlockBrewingStandHandler (E_BLOCK_BREWING_STAND); - constexpr cDefaultBlockHandler BlockBricksHandler (E_BLOCK_BRICK); - constexpr cBlockStairsHandler BlockBrickStairsHandler (E_BLOCK_BRICK_STAIRS); - constexpr cBlockGlazedTerracottaHandler BlockBrownGlazedTerracottaHandler (E_BLOCK_BROWN_GLAZED_TERRACOTTA); - constexpr cBlockMushroomHandler BlockBrownMushroomHandler (E_BLOCK_BROWN_MUSHROOM); - constexpr cDefaultBlockHandler BlockBrownShulkerBoxHandler (E_BLOCK_BROWN_SHULKER_BOX); - constexpr cBlockCactusHandler BlockCactusHandler (E_BLOCK_CACTUS); - constexpr cBlockCakeHandler BlockCakeHandler (E_BLOCK_CAKE); - constexpr cBlockCarpetHandler BlockCarpetHandler (E_BLOCK_CARPET); - constexpr cBlockCropsHandler<7> BlockCarrotsHandler (E_BLOCK_CARROTS); // 8 stages of growth - constexpr cBlockCauldronHandler BlockCauldronHandler (E_BLOCK_CAULDRON); - constexpr cBlockCommandBlockHandler BlockChainCommandBlockHandler (E_BLOCK_CHAIN_COMMAND_BLOCK); - constexpr cBlockChestHandler BlockChestHandler (E_BLOCK_CHEST); - constexpr cDefaultBlockHandler BlockChorusFlowerHandler (E_BLOCK_CHORUS_FLOWER); - constexpr cDefaultBlockHandler BlockChorusPlantHandler (E_BLOCK_CHORUS_PLANT); - constexpr cDefaultOreHandler BlockClayHandler (E_BLOCK_CLAY); - constexpr cDefaultBlockHandler BlockCoalBlockHandler (E_BLOCK_BLOCK_OF_COAL); - constexpr cDefaultOreHandler BlockCoalOreHandler (E_BLOCK_COAL_ORE); - constexpr cDefaultBlockHandler BlockCobblestoneHandler (E_BLOCK_COBBLESTONE); - constexpr cBlockStairsHandler BlockCobblestoneStairsHandler (E_BLOCK_COBBLESTONE_STAIRS); - constexpr cDefaultBlockHandler BlockCobblestoneWallHandler (E_BLOCK_COBBLESTONE_WALL); - constexpr cBlockCobWebHandler BlockCobwebHandler (E_BLOCK_COBWEB); - constexpr cBlockCocoaPodHandler BlockCocoaPodHandler (E_BLOCK_COCOA_POD); - constexpr cBlockCommandBlockHandler BlockCommandBlockHandler (E_BLOCK_COMMAND_BLOCK); - constexpr cDefaultBlockHandler BlockConcreteHandler (E_BLOCK_CONCRETE); - constexpr cBlockConcretePowderHandler BlockConcretePowderHandler (E_BLOCK_CONCRETE_POWDER); - constexpr cBlockCropsHandler<7> BlockCropsHandler (E_BLOCK_CROPS); // 8 stages of growth - constexpr cBlockGlazedTerracottaHandler BlockCyanGlazedTerracottaHandler (E_BLOCK_CYAN_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockCyanShulkerBoxHandler (E_BLOCK_CYAN_SHULKER_BOX); - constexpr cBlockDoorHandler BlockDarkOakDoorHandler (E_BLOCK_DARK_OAK_DOOR); - constexpr cBlockFenceGateHandler BlockDarkOakFenceGateHandler (E_BLOCK_DARK_OAK_FENCE_GATE); - constexpr cBlockFenceHandler BlockDarkOakFenceHandler (E_BLOCK_DARK_OAK_FENCE); - constexpr cBlockStairsHandler BlockDarkOakWoodStairsHandler (E_BLOCK_DARK_OAK_WOOD_STAIRS); - constexpr cBlockDaylightSensorHandler BlockDaylightSensorHandler (E_BLOCK_DAYLIGHT_SENSOR); - constexpr cBlockDeadBushHandler BlockDeadBushHandler (E_BLOCK_DEAD_BUSH); - constexpr cBlockRailHandler BlockDetectorRailHandler (E_BLOCK_DETECTOR_RAIL); - constexpr cDefaultBlockHandler BlockDiamondBlockHandler (E_BLOCK_DIAMOND_BLOCK); - constexpr cDefaultOreHandler BlockDiamondOreHandler (E_BLOCK_DIAMOND_ORE); - constexpr cBlockDirtHandler BlockDirtHandler (E_BLOCK_DIRT); - constexpr cBlockDropSpenserHandler BlockDispenserHandler (E_BLOCK_DISPENSER); - constexpr cBlockDoubleSlabHandler BlockDoubleRedSandstoneSlabHandler(E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB); - constexpr cBlockDoubleSlabHandler BlockDoubleStoneSlabHandler (E_BLOCK_DOUBLE_STONE_SLAB); - constexpr cBlockDoubleSlabHandler BlockDoubleWoodenSlabHandler (E_BLOCK_DOUBLE_WOODEN_SLAB); - constexpr cDefaultBlockHandler BlockDragonEggHandler (E_BLOCK_DRAGON_EGG); - constexpr cBlockDropSpenserHandler BlockDropperHandler (E_BLOCK_DROPPER); - constexpr cDefaultBlockHandler BlockEmeraldBlockHandler (E_BLOCK_EMERALD_BLOCK); - constexpr cDefaultOreHandler BlockEmeraldOreHandler (E_BLOCK_EMERALD_ORE); - constexpr cBlockEnchantingTableHandler BlockEnchantingTableHandler (E_BLOCK_ENCHANTMENT_TABLE); - constexpr cDefaultBlockHandler BlockEndBricksHandler (E_BLOCK_END_BRICKS); - constexpr cBlockEnderChestHandler BlockEnderChestHandler (E_BLOCK_ENDER_CHEST); - constexpr cDefaultBlockHandler BlockEndGatewayHandler (E_BLOCK_END_GATEWAY); - constexpr cBlockEndPortalFrameHandler BlockEndPortalFrameHandler (E_BLOCK_END_PORTAL_FRAME); - constexpr cDefaultBlockHandler BlockEndPortalHandler (E_BLOCK_END_PORTAL); - constexpr cDefaultBlockHandler BlockEndRodHandler (E_BLOCK_END_ROD); - constexpr cDefaultBlockHandler BlockEndStoneHandler (E_BLOCK_END_STONE); - constexpr cBlockFarmlandHandler BlockFarmlandHandler (E_BLOCK_FARMLAND); - constexpr cBlockFenceHandler BlockFenceHandler (E_BLOCK_FENCE); - constexpr cBlockFireHandler BlockFireHandler (E_BLOCK_FIRE); - constexpr cBlockFlowerPotHandler BlockFlowerPotHandler (E_BLOCK_FLOWER_POT); - constexpr cBlockIceHandler BlockFrostedIceHandler (E_BLOCK_FROSTED_ICE); - constexpr cBlockFurnaceHandler BlockFurnaceHandler (E_BLOCK_FURNACE); - constexpr cBlockGlassHandler BlockGlassHandler (E_BLOCK_GLASS); - constexpr cBlockGlassHandler BlockGlassPaneHandler (E_BLOCK_GLASS_PANE); - constexpr cBlockGlowstoneHandler BlockGlowstoneHandler (E_BLOCK_GLOWSTONE); - constexpr cDefaultBlockHandler BlockGoldBlockHandler (E_BLOCK_GOLD_BLOCK); - constexpr cDefaultOreHandler BlockGoldOreHandler (E_BLOCK_GOLD_ORE); - constexpr cBlockGrassHandler BlockGrassHandler (E_BLOCK_GRASS); - constexpr cDefaultBlockHandler BlockGrassPathHandler (E_BLOCK_GRASS_PATH); - constexpr cBlockGravelHandler BlockGravelHandler (E_BLOCK_GRAVEL); - constexpr cBlockGlazedTerracottaHandler BlockGrayGlazedTerracottaHandler (E_BLOCK_GRAY_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockGrayShulkerBoxHandler (E_BLOCK_GRAY_SHULKER_BOX); - constexpr cBlockGlazedTerracottaHandler BlockGreenGlazedTerracottaHandler (E_BLOCK_GREEN_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockGreenShulkerBoxHandler (E_BLOCK_GREEN_SHULKER_BOX); - constexpr cDefaultBlockHandler BlockHardenedClayHandler (E_BLOCK_HARDENED_CLAY); - constexpr cBlockSidewaysHandler BlockHayBaleHandler (E_BLOCK_HAY_BALE); - constexpr cBlockMobHeadHandler BlockHeadHandler (E_BLOCK_HEAD); - constexpr cBlockPressurePlateHandler BlockHeavyWeightedPressurePHandler(E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE); - constexpr cBlockHopperHandler BlockHopperHandler (E_BLOCK_HOPPER); - constexpr cBlockHugeMushroomHandler BlockHugeBrownMushroomHandler (E_BLOCK_HUGE_BROWN_MUSHROOM); - constexpr cBlockHugeMushroomHandler BlockHugeRedMushroomHandler (E_BLOCK_HUGE_RED_MUSHROOM); - constexpr cBlockIceHandler BlockIceHandler (E_BLOCK_ICE); - constexpr cBlockComparatorHandler BlockInactiveComparatorHandler (E_BLOCK_INACTIVE_COMPARATOR); - constexpr cBlockInfestedHandler BlockInfestedBlockHandler (E_BLOCK_SILVERFISH_EGG); - constexpr cDefaultBlockHandler BlockIronBarsHandler (E_BLOCK_IRON_BARS); - constexpr cDefaultBlockHandler BlockIronBlockHandler (E_BLOCK_IRON_BLOCK); - constexpr cBlockDoorHandler BlockIronDoorHandler (E_BLOCK_IRON_DOOR); - constexpr cDefaultOreHandler BlockIronOreHandler (E_BLOCK_IRON_ORE); - constexpr cBlockTrapdoorHandler BlockIronTrapdoorHandler (E_BLOCK_IRON_TRAPDOOR); - constexpr cBlockPumpkinHandler BlockJackOLanternHandler (E_BLOCK_JACK_O_LANTERN); - constexpr cBlockJukeboxHandler BlockJukeboxHandler (E_BLOCK_JUKEBOX); - constexpr cBlockDoorHandler BlockJungleDoorHandler (E_BLOCK_JUNGLE_DOOR); - constexpr cBlockFenceGateHandler BlockJungleFenceGateHandler (E_BLOCK_JUNGLE_FENCE_GATE); - constexpr cBlockFenceHandler BlockJungleFenceHandler (E_BLOCK_JUNGLE_FENCE); - constexpr cBlockStairsHandler BlockJungleWoodStairsHandler (E_BLOCK_JUNGLE_WOOD_STAIRS); - constexpr cBlockLadderHandler BlockLadderHandler (E_BLOCK_LADDER); - constexpr cDefaultBlockHandler BlockLapisBlockHandler (E_BLOCK_LAPIS_BLOCK); - constexpr cDefaultOreHandler BlockLapisOreHandler (E_BLOCK_LAPIS_ORE); - constexpr cBlockLavaHandler BlockLavaHandler (E_BLOCK_LAVA); - constexpr cBlockLeavesHandler BlockLeavesHandler (E_BLOCK_LEAVES); - constexpr cBlockLeverHandler BlockLeverHandler (E_BLOCK_LEVER); - constexpr cBlockGlazedTerracottaHandler BlockLightBlueGlazedTerracoHandler(E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockLightBlueShulkerBoxHandler (E_BLOCK_LIGHT_BLUE_SHULKER_BOX); - constexpr cBlockGlazedTerracottaHandler BlockLightGrayGlazedTerracoHandler(E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockLightGrayShulkerBoxHandler (E_BLOCK_LIGHT_GRAY_SHULKER_BOX); - constexpr cBlockPressurePlateHandler BlockLightWeightedPressurePHandler(E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE); - constexpr cBlockLilypadHandler BlockLilyPadHandler (E_BLOCK_LILY_PAD); - constexpr cBlockGlazedTerracottaHandler BlockLimeGlazedTerracottaHandler (E_BLOCK_LIME_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockLimeShulkerBoxHandler (E_BLOCK_LIME_SHULKER_BOX); - constexpr cBlockFurnaceHandler BlockLitFurnaceHandler (E_BLOCK_LIT_FURNACE); - constexpr cBlockSidewaysHandler BlockLogHandler (E_BLOCK_LOG); - constexpr cBlockGlazedTerracottaHandler BlockMagentaGlazedTerracottHandler(E_BLOCK_MAGENTA_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockMagentaShulkerBoxHandler (E_BLOCK_MAGENTA_SHULKER_BOX); - constexpr cDefaultBlockHandler BlockMagmaHandler (E_BLOCK_MAGMA); - constexpr cBlockMelonHandler BlockMelonHandler (E_BLOCK_MELON); - constexpr cBlockMelonStemHandler BlockMelonStemHandler (E_BLOCK_MELON_STEM); - constexpr cBlockMobSpawnerHandler BlockMobSpawnerHandler (E_BLOCK_MOB_SPAWNER); - constexpr cDefaultBlockHandler BlockMossyCobblestoneHandler (E_BLOCK_MOSSY_COBBLESTONE); - constexpr cBlockMyceliumHandler BlockMyceliumHandler (E_BLOCK_MYCELIUM); - constexpr cBlockFenceHandler BlockNetherBrickFenceHandler (E_BLOCK_NETHER_BRICK_FENCE); - constexpr cDefaultBlockHandler BlockNetherBricksHandler (E_BLOCK_NETHER_BRICK); - constexpr cBlockStairsHandler BlockNetherBrickStairsHandler (E_BLOCK_NETHER_BRICK_STAIRS); - constexpr cBlockPortalHandler BlockNetherPortalHandler (E_BLOCK_NETHER_PORTAL); - constexpr cDefaultOreHandler BlockNetherQuartzOreHandler (E_BLOCK_NETHER_QUARTZ_ORE); - constexpr cBlockNetherrack BlockNetherrackHandler (E_BLOCK_NETHERRACK); - constexpr cDefaultBlockHandler BlockNetherWartBlockHandler (E_BLOCK_NETHER_WART_BLOCK); - constexpr cBlockNetherWartHandler BlockNetherWartHandler (E_BLOCK_NETHER_WART); - constexpr cBlockLeavesHandler BlockNewLeavesHandler (E_BLOCK_NEW_LEAVES); - constexpr cBlockSidewaysHandler BlockNewLogHandler (E_BLOCK_NEW_LOG); - constexpr cBlockNoteBlockHandler BlockNoteBlockHandler (E_BLOCK_NOTE_BLOCK); - constexpr cBlockDoorHandler BlockOakDoorHandler (E_BLOCK_OAK_DOOR); - constexpr cBlockFenceGateHandler BlockOakFenceGateHandler (E_BLOCK_OAK_FENCE_GATE); - constexpr cBlockStairsHandler BlockOakWoodStairsHandler (E_BLOCK_OAK_WOOD_STAIRS); - constexpr cBlockObserverHandler BlockObserverHandler (E_BLOCK_OBSERVER); - constexpr cDefaultBlockHandler BlockObsidianHandler (E_BLOCK_OBSIDIAN); - constexpr cBlockGlazedTerracottaHandler BlockOrangeGlazedTerracottaHandler(E_BLOCK_ORANGE_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockOrangeShulkerBoxHandler (E_BLOCK_ORANGE_SHULKER_BOX); - constexpr cBlockPackedIceHandler BlockPackedIceHandler (E_BLOCK_PACKED_ICE); - constexpr cBlockGlazedTerracottaHandler BlockPinkGlazedTerracottaHandler (E_BLOCK_PINK_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockPinkShulkerBoxHandler (E_BLOCK_PINK_SHULKER_BOX); - constexpr cBlockPistonHandler BlockPistonHandler (E_BLOCK_PISTON); - constexpr cBlockPistonHeadHandler BlockPistonHeadHandler; - constexpr cDefaultBlockHandler BlockPistonMovedBlockHandler (E_BLOCK_PISTON_MOVED_BLOCK); - constexpr cBlockPlanksHandler BlockPlanksHandler (E_BLOCK_PLANKS); - constexpr cBlockCropsHandler<7> BlockPotatoesHandler (E_BLOCK_POTATOES); // 8 stages of growth - constexpr cBlockRailHandler BlockPoweredRailHandler (E_BLOCK_POWERED_RAIL); - constexpr cDefaultBlockHandler BlockPrismarineBlockHandler (E_BLOCK_PRISMARINE_BLOCK); - constexpr cBlockPumpkinHandler BlockPumpkinHandler (E_BLOCK_PUMPKIN); - constexpr cBlockPumpkinStemHandler BlockPumpkinStemHandler (E_BLOCK_PUMPKIN_STEM); - constexpr cBlockGlazedTerracottaHandler BlockPurpleGlazedTerracottaHandler(E_BLOCK_PURPLE_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockPurpleShulkerBoxHandler (E_BLOCK_PURPLE_SHULKER_BOX); - constexpr cDefaultBlockHandler BlockPurpurBlockHandler (E_BLOCK_PURPUR_BLOCK); - constexpr cBlockDoubleSlabHandler BlockPurpurDoubleSlabHandler (E_BLOCK_PURPUR_DOUBLE_SLAB); - constexpr cDefaultBlockHandler BlockPurpurPillarHandler (E_BLOCK_PURPUR_PILLAR); - constexpr cBlockSlabHandler BlockPurpurSlabHandler (E_BLOCK_PURPUR_SLAB); - constexpr cBlockStairsHandler BlockPurpurStairsHandler (E_BLOCK_PURPUR_STAIRS); - constexpr cBlockQuartzHandler BlockQuartzBlockHandler (E_BLOCK_QUARTZ_BLOCK); - constexpr cBlockStairsHandler BlockQuartzStairsHandler (E_BLOCK_QUARTZ_STAIRS); - constexpr cBlockRailHandler BlockRailHandler (E_BLOCK_RAIL); - constexpr cBlockGlazedTerracottaHandler BlockRedGlazedTerracottaHandler (E_BLOCK_RED_GLAZED_TERRACOTTA); - constexpr cBlockMushroomHandler BlockRedMushroomHandler (E_BLOCK_RED_MUSHROOM); - constexpr cDefaultBlockHandler BlockRedNetherBricksHandler (E_BLOCK_RED_NETHER_BRICK); - constexpr cBlockFlowerHandler BlockRedRoseHandler (E_BLOCK_RED_ROSE); - constexpr cDefaultBlockHandler BlockRedSandstoneHandler (E_BLOCK_RED_SANDSTONE); - constexpr cBlockSlabHandler BlockRedSandstoneSlabHandler (E_BLOCK_RED_SANDSTONE_SLAB); - constexpr cBlockStairsHandler BlockRedSandstoneStairsHandler (E_BLOCK_RED_SANDSTONE_STAIRS); - constexpr cDefaultBlockHandler BlockRedShulkerBoxHandler (E_BLOCK_RED_SHULKER_BOX); - constexpr cDefaultBlockHandler BlockRedstoneBlockHandler (E_BLOCK_BLOCK_OF_REDSTONE); - constexpr cBlockRedstoneLampHandler BlockRedstoneLampHandler (E_BLOCK_REDSTONE_LAMP_ON); - constexpr cBlockGlowingRedstoneOreHandler BlockRedstoneOreGlowingHandler (E_BLOCK_REDSTONE_ORE_GLOWING); - constexpr cBlockRedstoneOreHandler BlockRedstoneOreHandler (E_BLOCK_REDSTONE_ORE); - constexpr cBlockRedstoneRepeaterHandler BlockRedstoneRepeaterOffHandler (E_BLOCK_REDSTONE_REPEATER_OFF); - constexpr cBlockRedstoneRepeaterHandler BlockRedstoneRepeaterOnHandler (E_BLOCK_REDSTONE_REPEATER_ON); - constexpr cBlockRedstoneTorchHandler BlockRedstoneTorchOffHandler (E_BLOCK_REDSTONE_TORCH_OFF); - constexpr cBlockRedstoneTorchHandler BlockRedstoneTorchOnHandler (E_BLOCK_REDSTONE_TORCH_ON); - constexpr cBlockRedstoneWireHandler BlockRedstoneWireHandler (E_BLOCK_REDSTONE_WIRE); - constexpr cBlockCommandBlockHandler BlockRepeatingCommandBlockHandler (E_BLOCK_REPEATING_COMMAND_BLOCK); - constexpr cBlockSandHandler BlockSandHandler (E_BLOCK_SAND); - constexpr cDefaultBlockHandler BlockSandstoneHandler (E_BLOCK_SANDSTONE); - constexpr cBlockStairsHandler BlockSandstoneStairsHandler (E_BLOCK_SANDSTONE_STAIRS); - constexpr cBlockSaplingHandler BlockSaplingHandler (E_BLOCK_SAPLING); - constexpr cBlockSeaLanternHandler BlockSeaLanternHandler (E_BLOCK_SEA_LANTERN); - constexpr cBlockSignPostHandler BlockSignPostHandler (E_BLOCK_SIGN_POST); - constexpr cBlockSlimeHandler BlockSlimeBlockHandler (E_BLOCK_SLIME_BLOCK); - constexpr cDefaultBlockHandler BlockSnowBlockHandler (E_BLOCK_SNOW_BLOCK); - constexpr cBlockSnowHandler BlockSnowHandler (E_BLOCK_SNOW); - constexpr cDefaultBlockHandler BlockSoulSandHandler (E_BLOCK_SOULSAND); - constexpr cBlockSpongeHandler BlockSpongeHandler (E_BLOCK_SPONGE); - constexpr cBlockDoorHandler BlockSpruceDoorHandler (E_BLOCK_SPRUCE_DOOR); - constexpr cBlockFenceGateHandler BlockSpruceFenceGateHandler (E_BLOCK_SPRUCE_FENCE_GATE); - constexpr cBlockFenceHandler BlockSpruceFenceHandler (E_BLOCK_SPRUCE_FENCE); - constexpr cBlockStairsHandler BlockSpruceWoodStairsHandler (E_BLOCK_SPRUCE_WOOD_STAIRS); - constexpr cDefaultBlockHandler BlockStainedClayHandler (E_BLOCK_STAINED_CLAY); - constexpr cBlockGlassHandler BlockStainedGlassHandler (E_BLOCK_STAINED_GLASS); - constexpr cBlockGlassHandler BlockStainedGlassPaneHandler (E_BLOCK_STAINED_GLASS_PANE); - constexpr cBlockStandingBannerHandler BlockStandingBannerHandler (E_BLOCK_STANDING_BANNER); - constexpr cBlockLavaHandler BlockStationaryLavaHandler (E_BLOCK_STATIONARY_LAVA); - constexpr cBlockWaterHandler BlockStationaryWaterHandler (E_BLOCK_STATIONARY_WATER); - constexpr cBlockPistonHandler BlockStickyPistonHandler (E_BLOCK_STICKY_PISTON); - constexpr cDefaultBlockHandler BlockStoneBricksHandler (E_BLOCK_STONE_BRICKS); - constexpr cBlockStairsHandler BlockStoneBrickStairsHandler (E_BLOCK_STONE_BRICK_STAIRS); - constexpr cBlockButtonHandler BlockStoneButtonHandler (E_BLOCK_STONE_BUTTON); - constexpr cBlockStoneHandler BlockStoneHandler (E_BLOCK_STONE); - constexpr cBlockPressurePlateHandler BlockStonePressurePlateHandler (E_BLOCK_STONE_PRESSURE_PLATE); - constexpr cBlockSlabHandler BlockStoneSlabHandler (E_BLOCK_STONE_SLAB); - constexpr cDefaultBlockHandler BlockStructureBlockHandler (E_BLOCK_STRUCTURE_BLOCK); - constexpr cDefaultBlockHandler BlockStructureVoidHandler (E_BLOCK_STRUCTURE_VOID); - constexpr cBlockSugarCaneHandler BlockSugarCaneHandler (E_BLOCK_SUGARCANE); - constexpr cBlockTallGrassHandler BlockTallGrassHandler (E_BLOCK_TALL_GRASS); - constexpr cBlockTNTHandler BlockTNTHandler (E_BLOCK_TNT); - constexpr cBlockTorchHandler BlockTorchHandler (E_BLOCK_TORCH); - constexpr cBlockTrapdoorHandler BlockTrapdoorHandler (E_BLOCK_TRAPDOOR); - constexpr cBlockChestHandler BlockTrappedChestHandler (E_BLOCK_TRAPPED_CHEST); - constexpr cBlockTripwireHandler BlockTripwireHandler (E_BLOCK_TRIPWIRE); - constexpr cBlockTripwireHookHandler BlockTripwireHookHandler (E_BLOCK_TRIPWIRE_HOOK); - constexpr cBlockVinesHandler BlockVinesHandler (E_BLOCK_VINES); - constexpr cBlockWallBannerHandler BlockWallBannerHandler (E_BLOCK_WALL_BANNER); - constexpr cBlockWallSignHandler BlockWallsignHandler (E_BLOCK_WALLSIGN); - constexpr cBlockWaterHandler BlockWaterHandler (E_BLOCK_WATER); - constexpr cBlockGlazedTerracottaHandler BlockWhiteGlazedTerracottaHandler (E_BLOCK_WHITE_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockWhiteShulkerBoxHandler (E_BLOCK_WHITE_SHULKER_BOX); - constexpr cBlockButtonHandler BlockWoodenButtonHandler (E_BLOCK_WOODEN_BUTTON); - constexpr cBlockPressurePlateHandler BlockWoodenPressurePlateHandler (E_BLOCK_WOODEN_PRESSURE_PLATE); - constexpr cBlockSlabHandler BlockWoodenSlabHandler (E_BLOCK_WOODEN_SLAB); - constexpr cBlockClothHandler BlockWoolHandler (E_BLOCK_WOOL); - constexpr cBlockWorkbenchHandler BlockWorkbenchHandler (E_BLOCK_WORKBENCH); - constexpr cBlockFlowerHandler BlockYellowFlowerHandler (E_BLOCK_YELLOW_FLOWER); - constexpr cBlockGlazedTerracottaHandler BlockYellowGlazedTerracottaHandler(E_BLOCK_YELLOW_GLAZED_TERRACOTTA); - constexpr cDefaultBlockHandler BlockYellowShulkerBoxHandler (E_BLOCK_YELLOW_SHULKER_BOX); -} +constexpr cBlockDoorHandler BlockAcaciaDoorHandler(E_BLOCK_ACACIA_DOOR); +constexpr cBlockFenceGateHandler BlockAcaciaFenceGateHandler(E_BLOCK_ACACIA_FENCE_GATE); +constexpr cBlockFenceHandler BlockAcaciaFenceHandler(E_BLOCK_ACACIA_FENCE); +constexpr cBlockStairsHandler BlockAcaciaWoodStairsHandler(E_BLOCK_ACACIA_WOOD_STAIRS); +constexpr cBlockRailHandler BlockActivatorRailHandler(E_BLOCK_ACTIVATOR_RAIL); +constexpr cBlockComparatorHandler BlockActiveComparatorHandler(E_BLOCK_ACTIVE_COMPARATOR); +constexpr cBlockAirHandler BlockAirHandler(E_BLOCK_AIR); +constexpr cBlockAnvilHandler BlockAnvilHandler(E_BLOCK_ANVIL); +constexpr cDefaultBlockHandler BlockBarrierHandler(E_BLOCK_BARRIER); +constexpr cDefaultBlockEntityHandler BlockBeaconHandler(E_BLOCK_BEACON); +constexpr cBlockBedHandler BlockBedHandler(E_BLOCK_BED); +constexpr cDefaultBlockHandler BlockBedrockHandler(E_BLOCK_BEDROCK); +constexpr cBlockCropsHandler<3> BlockBeetrootsHandler(E_BLOCK_BEETROOTS); // 4 stages of growth +constexpr cBlockBigFlowerHandler BlockBigFlowerHandler(E_BLOCK_BIG_FLOWER); +constexpr cBlockDoorHandler BlockBirchDoorHandler(E_BLOCK_BIRCH_DOOR); +constexpr cBlockFenceGateHandler BlockBirchFenceGateHandler(E_BLOCK_BIRCH_FENCE_GATE); +constexpr cBlockFenceHandler BlockBirchFenceHandler(E_BLOCK_BIRCH_FENCE); +constexpr cBlockStairsHandler BlockBirchWoodStairsHandler(E_BLOCK_BIRCH_WOOD_STAIRS); +constexpr cBlockGlazedTerracottaHandler BlockBlackGlazedTerracottaHandler(E_BLOCK_BLACK_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockBlackShulkerBoxHandler(E_BLOCK_BLACK_SHULKER_BOX); +constexpr cBlockGlazedTerracottaHandler BlockBlueGlazedTerracottaHandler(E_BLOCK_BLUE_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockBlueShulkerBoxHandler(E_BLOCK_BLUE_SHULKER_BOX); +constexpr cDefaultBlockHandler BlockBoneBlockHandler(E_BLOCK_BONE_BLOCK); +constexpr cBlockBookShelfHandler BlockBookcaseHandler(E_BLOCK_BOOKCASE); +constexpr cBlockBrewingStandHandler BlockBrewingStandHandler(E_BLOCK_BREWING_STAND); +constexpr cDefaultBlockHandler BlockBricksHandler(E_BLOCK_BRICK); +constexpr cBlockStairsHandler BlockBrickStairsHandler(E_BLOCK_BRICK_STAIRS); +constexpr cBlockGlazedTerracottaHandler BlockBrownGlazedTerracottaHandler(E_BLOCK_BROWN_GLAZED_TERRACOTTA); +constexpr cBlockMushroomHandler BlockBrownMushroomHandler(E_BLOCK_BROWN_MUSHROOM); +constexpr cDefaultBlockHandler BlockBrownShulkerBoxHandler(E_BLOCK_BROWN_SHULKER_BOX); +constexpr cBlockCactusHandler BlockCactusHandler(E_BLOCK_CACTUS); +constexpr cBlockCakeHandler BlockCakeHandler(E_BLOCK_CAKE); +constexpr cBlockCarpetHandler BlockCarpetHandler(E_BLOCK_CARPET); +constexpr cBlockCropsHandler<7> BlockCarrotsHandler(E_BLOCK_CARROTS); // 8 stages of growth +constexpr cBlockCauldronHandler BlockCauldronHandler(E_BLOCK_CAULDRON); +constexpr cBlockCommandBlockHandler BlockChainCommandBlockHandler(E_BLOCK_CHAIN_COMMAND_BLOCK); +constexpr cBlockChestHandler BlockChestHandler(E_BLOCK_CHEST); +constexpr cDefaultBlockHandler BlockChorusFlowerHandler(E_BLOCK_CHORUS_FLOWER); +constexpr cDefaultBlockHandler BlockChorusPlantHandler(E_BLOCK_CHORUS_PLANT); +constexpr cDefaultOreHandler BlockClayHandler(E_BLOCK_CLAY); +constexpr cDefaultBlockHandler BlockCoalBlockHandler(E_BLOCK_BLOCK_OF_COAL); +constexpr cDefaultOreHandler BlockCoalOreHandler(E_BLOCK_COAL_ORE); +constexpr cDefaultBlockHandler BlockCobblestoneHandler(E_BLOCK_COBBLESTONE); +constexpr cBlockStairsHandler BlockCobblestoneStairsHandler(E_BLOCK_COBBLESTONE_STAIRS); +constexpr cDefaultBlockHandler BlockCobblestoneWallHandler(E_BLOCK_COBBLESTONE_WALL); +constexpr cBlockCobWebHandler BlockCobwebHandler(E_BLOCK_COBWEB); +constexpr cBlockCocoaPodHandler BlockCocoaPodHandler(E_BLOCK_COCOA_POD); +constexpr cBlockCommandBlockHandler BlockCommandBlockHandler(E_BLOCK_COMMAND_BLOCK); +constexpr cDefaultBlockHandler BlockConcreteHandler(E_BLOCK_CONCRETE); +constexpr cBlockConcretePowderHandler BlockConcretePowderHandler(E_BLOCK_CONCRETE_POWDER); +constexpr cBlockCropsHandler<7> BlockCropsHandler(E_BLOCK_CROPS); // 8 stages of growth +constexpr cBlockGlazedTerracottaHandler BlockCyanGlazedTerracottaHandler(E_BLOCK_CYAN_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockCyanShulkerBoxHandler(E_BLOCK_CYAN_SHULKER_BOX); +constexpr cBlockDoorHandler BlockDarkOakDoorHandler(E_BLOCK_DARK_OAK_DOOR); +constexpr cBlockFenceGateHandler BlockDarkOakFenceGateHandler(E_BLOCK_DARK_OAK_FENCE_GATE); +constexpr cBlockFenceHandler BlockDarkOakFenceHandler(E_BLOCK_DARK_OAK_FENCE); +constexpr cBlockStairsHandler BlockDarkOakWoodStairsHandler(E_BLOCK_DARK_OAK_WOOD_STAIRS); +constexpr cBlockDaylightSensorHandler BlockDaylightSensorHandler(E_BLOCK_DAYLIGHT_SENSOR); +constexpr cBlockDeadBushHandler BlockDeadBushHandler(E_BLOCK_DEAD_BUSH); +constexpr cBlockRailHandler BlockDetectorRailHandler(E_BLOCK_DETECTOR_RAIL); +constexpr cDefaultBlockHandler BlockDiamondBlockHandler(E_BLOCK_DIAMOND_BLOCK); +constexpr cDefaultOreHandler BlockDiamondOreHandler(E_BLOCK_DIAMOND_ORE); +constexpr cBlockDirtHandler BlockDirtHandler(E_BLOCK_DIRT); +constexpr cBlockDropSpenserHandler BlockDispenserHandler(E_BLOCK_DISPENSER); +constexpr cBlockDoubleSlabHandler BlockDoubleRedSandstoneSlabHandler(E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB); +constexpr cBlockDoubleSlabHandler BlockDoubleStoneSlabHandler(E_BLOCK_DOUBLE_STONE_SLAB); +constexpr cBlockDoubleSlabHandler BlockDoubleWoodenSlabHandler(E_BLOCK_DOUBLE_WOODEN_SLAB); +constexpr cDefaultBlockHandler BlockDragonEggHandler(E_BLOCK_DRAGON_EGG); +constexpr cBlockDropSpenserHandler BlockDropperHandler(E_BLOCK_DROPPER); +constexpr cDefaultBlockHandler BlockEmeraldBlockHandler(E_BLOCK_EMERALD_BLOCK); +constexpr cDefaultOreHandler BlockEmeraldOreHandler(E_BLOCK_EMERALD_ORE); +constexpr cBlockEnchantingTableHandler BlockEnchantingTableHandler(E_BLOCK_ENCHANTMENT_TABLE); +constexpr cDefaultBlockHandler BlockEndBricksHandler(E_BLOCK_END_BRICKS); +constexpr cBlockEnderChestHandler BlockEnderChestHandler(E_BLOCK_ENDER_CHEST); +constexpr cDefaultBlockHandler BlockEndGatewayHandler(E_BLOCK_END_GATEWAY); +constexpr cBlockEndPortalFrameHandler BlockEndPortalFrameHandler(E_BLOCK_END_PORTAL_FRAME); +constexpr cDefaultBlockHandler BlockEndPortalHandler(E_BLOCK_END_PORTAL); +constexpr cDefaultBlockHandler BlockEndRodHandler(E_BLOCK_END_ROD); +constexpr cDefaultBlockHandler BlockEndStoneHandler(E_BLOCK_END_STONE); +constexpr cBlockFarmlandHandler BlockFarmlandHandler(E_BLOCK_FARMLAND); +constexpr cBlockFenceHandler BlockFenceHandler(E_BLOCK_FENCE); +constexpr cBlockFireHandler BlockFireHandler(E_BLOCK_FIRE); +constexpr cBlockFlowerPotHandler BlockFlowerPotHandler(E_BLOCK_FLOWER_POT); +constexpr cBlockIceHandler BlockFrostedIceHandler(E_BLOCK_FROSTED_ICE); +constexpr cBlockFurnaceHandler BlockFurnaceHandler(E_BLOCK_FURNACE); +constexpr cBlockGlassHandler BlockGlassHandler(E_BLOCK_GLASS); +constexpr cBlockGlassHandler BlockGlassPaneHandler(E_BLOCK_GLASS_PANE); +constexpr cBlockGlowstoneHandler BlockGlowstoneHandler(E_BLOCK_GLOWSTONE); +constexpr cDefaultBlockHandler BlockGoldBlockHandler(E_BLOCK_GOLD_BLOCK); +constexpr cDefaultOreHandler BlockGoldOreHandler(E_BLOCK_GOLD_ORE); +constexpr cBlockGrassHandler BlockGrassHandler(E_BLOCK_GRASS); +constexpr cDefaultBlockHandler BlockGrassPathHandler(E_BLOCK_GRASS_PATH); +constexpr cBlockGravelHandler BlockGravelHandler(E_BLOCK_GRAVEL); +constexpr cBlockGlazedTerracottaHandler BlockGrayGlazedTerracottaHandler(E_BLOCK_GRAY_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockGrayShulkerBoxHandler(E_BLOCK_GRAY_SHULKER_BOX); +constexpr cBlockGlazedTerracottaHandler BlockGreenGlazedTerracottaHandler(E_BLOCK_GREEN_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockGreenShulkerBoxHandler(E_BLOCK_GREEN_SHULKER_BOX); +constexpr cDefaultBlockHandler BlockHardenedClayHandler(E_BLOCK_HARDENED_CLAY); +constexpr cBlockSidewaysHandler BlockHayBaleHandler(E_BLOCK_HAY_BALE); +constexpr cBlockMobHeadHandler BlockHeadHandler(E_BLOCK_HEAD); +constexpr cBlockPressurePlateHandler BlockHeavyWeightedPressurePHandler(E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE); +constexpr cBlockHopperHandler BlockHopperHandler(E_BLOCK_HOPPER); +constexpr cBlockHugeMushroomHandler BlockHugeBrownMushroomHandler(E_BLOCK_HUGE_BROWN_MUSHROOM); +constexpr cBlockHugeMushroomHandler BlockHugeRedMushroomHandler(E_BLOCK_HUGE_RED_MUSHROOM); +constexpr cBlockIceHandler BlockIceHandler(E_BLOCK_ICE); +constexpr cBlockComparatorHandler BlockInactiveComparatorHandler(E_BLOCK_INACTIVE_COMPARATOR); +constexpr cBlockInfestedHandler BlockInfestedBlockHandler(E_BLOCK_SILVERFISH_EGG); +constexpr cDefaultBlockHandler BlockIronBarsHandler(E_BLOCK_IRON_BARS); +constexpr cDefaultBlockHandler BlockIronBlockHandler(E_BLOCK_IRON_BLOCK); +constexpr cBlockDoorHandler BlockIronDoorHandler(E_BLOCK_IRON_DOOR); +constexpr cDefaultOreHandler BlockIronOreHandler(E_BLOCK_IRON_ORE); +constexpr cBlockTrapdoorHandler BlockIronTrapdoorHandler(E_BLOCK_IRON_TRAPDOOR); +constexpr cBlockPumpkinHandler BlockJackOLanternHandler(E_BLOCK_JACK_O_LANTERN); +constexpr cBlockJukeboxHandler BlockJukeboxHandler(E_BLOCK_JUKEBOX); +constexpr cBlockDoorHandler BlockJungleDoorHandler(E_BLOCK_JUNGLE_DOOR); +constexpr cBlockFenceGateHandler BlockJungleFenceGateHandler(E_BLOCK_JUNGLE_FENCE_GATE); +constexpr cBlockFenceHandler BlockJungleFenceHandler(E_BLOCK_JUNGLE_FENCE); +constexpr cBlockStairsHandler BlockJungleWoodStairsHandler(E_BLOCK_JUNGLE_WOOD_STAIRS); +constexpr cBlockLadderHandler BlockLadderHandler(E_BLOCK_LADDER); +constexpr cDefaultBlockHandler BlockLapisBlockHandler(E_BLOCK_LAPIS_BLOCK); +constexpr cDefaultOreHandler BlockLapisOreHandler(E_BLOCK_LAPIS_ORE); +constexpr cBlockLavaHandler BlockLavaHandler(E_BLOCK_LAVA); +constexpr cBlockLeavesHandler BlockLeavesHandler(E_BLOCK_LEAVES); +constexpr cBlockLeverHandler BlockLeverHandler(E_BLOCK_LEVER); +constexpr cBlockGlazedTerracottaHandler BlockLightBlueGlazedTerracoHandler(E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockLightBlueShulkerBoxHandler(E_BLOCK_LIGHT_BLUE_SHULKER_BOX); +constexpr cBlockGlazedTerracottaHandler BlockLightGrayGlazedTerracoHandler(E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockLightGrayShulkerBoxHandler(E_BLOCK_LIGHT_GRAY_SHULKER_BOX); +constexpr cBlockPressurePlateHandler BlockLightWeightedPressurePHandler(E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE); +constexpr cBlockLilypadHandler BlockLilyPadHandler(E_BLOCK_LILY_PAD); +constexpr cBlockGlazedTerracottaHandler BlockLimeGlazedTerracottaHandler(E_BLOCK_LIME_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockLimeShulkerBoxHandler(E_BLOCK_LIME_SHULKER_BOX); +constexpr cBlockFurnaceHandler BlockLitFurnaceHandler(E_BLOCK_LIT_FURNACE); +constexpr cBlockSidewaysHandler BlockLogHandler(E_BLOCK_LOG); +constexpr cBlockGlazedTerracottaHandler BlockMagentaGlazedTerracottHandler(E_BLOCK_MAGENTA_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockMagentaShulkerBoxHandler(E_BLOCK_MAGENTA_SHULKER_BOX); +constexpr cDefaultBlockHandler BlockMagmaHandler(E_BLOCK_MAGMA); +constexpr cBlockMelonHandler BlockMelonHandler(E_BLOCK_MELON); +constexpr cBlockMelonStemHandler BlockMelonStemHandler(E_BLOCK_MELON_STEM); +constexpr cBlockMobSpawnerHandler BlockMobSpawnerHandler(E_BLOCK_MOB_SPAWNER); +constexpr cDefaultBlockHandler BlockMossyCobblestoneHandler(E_BLOCK_MOSSY_COBBLESTONE); +constexpr cBlockMyceliumHandler BlockMyceliumHandler(E_BLOCK_MYCELIUM); +constexpr cBlockFenceHandler BlockNetherBrickFenceHandler(E_BLOCK_NETHER_BRICK_FENCE); +constexpr cDefaultBlockHandler BlockNetherBricksHandler(E_BLOCK_NETHER_BRICK); +constexpr cBlockStairsHandler BlockNetherBrickStairsHandler(E_BLOCK_NETHER_BRICK_STAIRS); +constexpr cBlockPortalHandler BlockNetherPortalHandler(E_BLOCK_NETHER_PORTAL); +constexpr cDefaultOreHandler BlockNetherQuartzOreHandler(E_BLOCK_NETHER_QUARTZ_ORE); +constexpr cBlockNetherrack BlockNetherrackHandler(E_BLOCK_NETHERRACK); +constexpr cDefaultBlockHandler BlockNetherWartBlockHandler(E_BLOCK_NETHER_WART_BLOCK); +constexpr cBlockNetherWartHandler BlockNetherWartHandler(E_BLOCK_NETHER_WART); +constexpr cBlockLeavesHandler BlockNewLeavesHandler(E_BLOCK_NEW_LEAVES); +constexpr cBlockSidewaysHandler BlockNewLogHandler(E_BLOCK_NEW_LOG); +constexpr cBlockNoteBlockHandler BlockNoteBlockHandler(E_BLOCK_NOTE_BLOCK); +constexpr cBlockDoorHandler BlockOakDoorHandler(E_BLOCK_OAK_DOOR); +constexpr cBlockFenceGateHandler BlockOakFenceGateHandler(E_BLOCK_OAK_FENCE_GATE); +constexpr cBlockStairsHandler BlockOakWoodStairsHandler(E_BLOCK_OAK_WOOD_STAIRS); +constexpr cBlockObserverHandler BlockObserverHandler(E_BLOCK_OBSERVER); +constexpr cDefaultBlockHandler BlockObsidianHandler(E_BLOCK_OBSIDIAN); +constexpr cBlockGlazedTerracottaHandler BlockOrangeGlazedTerracottaHandler(E_BLOCK_ORANGE_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockOrangeShulkerBoxHandler(E_BLOCK_ORANGE_SHULKER_BOX); +constexpr cBlockPackedIceHandler BlockPackedIceHandler(E_BLOCK_PACKED_ICE); +constexpr cBlockGlazedTerracottaHandler BlockPinkGlazedTerracottaHandler(E_BLOCK_PINK_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockPinkShulkerBoxHandler(E_BLOCK_PINK_SHULKER_BOX); +constexpr cBlockPistonHandler BlockPistonHandler(E_BLOCK_PISTON); +constexpr cBlockPistonHeadHandler BlockPistonHeadHandler; +constexpr cDefaultBlockHandler BlockPistonMovedBlockHandler(E_BLOCK_PISTON_MOVED_BLOCK); +constexpr cBlockPlanksHandler BlockPlanksHandler(E_BLOCK_PLANKS); +constexpr cBlockCropsHandler<7> BlockPotatoesHandler(E_BLOCK_POTATOES); // 8 stages of growth +constexpr cBlockRailHandler BlockPoweredRailHandler(E_BLOCK_POWERED_RAIL); +constexpr cDefaultBlockHandler BlockPrismarineBlockHandler(E_BLOCK_PRISMARINE_BLOCK); +constexpr cBlockPumpkinHandler BlockPumpkinHandler(E_BLOCK_PUMPKIN); +constexpr cBlockPumpkinStemHandler BlockPumpkinStemHandler(E_BLOCK_PUMPKIN_STEM); +constexpr cBlockGlazedTerracottaHandler BlockPurpleGlazedTerracottaHandler(E_BLOCK_PURPLE_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockPurpleShulkerBoxHandler(E_BLOCK_PURPLE_SHULKER_BOX); +constexpr cDefaultBlockHandler BlockPurpurBlockHandler(E_BLOCK_PURPUR_BLOCK); +constexpr cBlockDoubleSlabHandler BlockPurpurDoubleSlabHandler(E_BLOCK_PURPUR_DOUBLE_SLAB); +constexpr cDefaultBlockHandler BlockPurpurPillarHandler(E_BLOCK_PURPUR_PILLAR); +constexpr cBlockSlabHandler BlockPurpurSlabHandler(E_BLOCK_PURPUR_SLAB); +constexpr cBlockStairsHandler BlockPurpurStairsHandler(E_BLOCK_PURPUR_STAIRS); +constexpr cBlockQuartzHandler BlockQuartzBlockHandler(E_BLOCK_QUARTZ_BLOCK); +constexpr cBlockStairsHandler BlockQuartzStairsHandler(E_BLOCK_QUARTZ_STAIRS); +constexpr cBlockRailHandler BlockRailHandler(E_BLOCK_RAIL); +constexpr cBlockGlazedTerracottaHandler BlockRedGlazedTerracottaHandler(E_BLOCK_RED_GLAZED_TERRACOTTA); +constexpr cBlockMushroomHandler BlockRedMushroomHandler(E_BLOCK_RED_MUSHROOM); +constexpr cDefaultBlockHandler BlockRedNetherBricksHandler(E_BLOCK_RED_NETHER_BRICK); +constexpr cBlockFlowerHandler BlockRedRoseHandler(E_BLOCK_RED_ROSE); +constexpr cDefaultBlockHandler BlockRedSandstoneHandler(E_BLOCK_RED_SANDSTONE); +constexpr cBlockSlabHandler BlockRedSandstoneSlabHandler(E_BLOCK_RED_SANDSTONE_SLAB); +constexpr cBlockStairsHandler BlockRedSandstoneStairsHandler(E_BLOCK_RED_SANDSTONE_STAIRS); +constexpr cDefaultBlockHandler BlockRedShulkerBoxHandler(E_BLOCK_RED_SHULKER_BOX); +constexpr cDefaultBlockHandler BlockRedstoneBlockHandler(E_BLOCK_BLOCK_OF_REDSTONE); +constexpr cBlockRedstoneLampHandler BlockRedstoneLampHandler(E_BLOCK_REDSTONE_LAMP_ON); +constexpr cBlockGlowingRedstoneOreHandler BlockRedstoneOreGlowingHandler(E_BLOCK_REDSTONE_ORE_GLOWING); +constexpr cBlockRedstoneOreHandler BlockRedstoneOreHandler(E_BLOCK_REDSTONE_ORE); +constexpr cBlockRedstoneRepeaterHandler BlockRedstoneRepeaterOffHandler(E_BLOCK_REDSTONE_REPEATER_OFF); +constexpr cBlockRedstoneRepeaterHandler BlockRedstoneRepeaterOnHandler(E_BLOCK_REDSTONE_REPEATER_ON); +constexpr cBlockRedstoneTorchHandler BlockRedstoneTorchOffHandler(E_BLOCK_REDSTONE_TORCH_OFF); +constexpr cBlockRedstoneTorchHandler BlockRedstoneTorchOnHandler(E_BLOCK_REDSTONE_TORCH_ON); +constexpr cBlockRedstoneWireHandler BlockRedstoneWireHandler(E_BLOCK_REDSTONE_WIRE); +constexpr cBlockCommandBlockHandler BlockRepeatingCommandBlockHandler(E_BLOCK_REPEATING_COMMAND_BLOCK); +constexpr cBlockSandHandler BlockSandHandler(E_BLOCK_SAND); +constexpr cDefaultBlockHandler BlockSandstoneHandler(E_BLOCK_SANDSTONE); +constexpr cBlockStairsHandler BlockSandstoneStairsHandler(E_BLOCK_SANDSTONE_STAIRS); +constexpr cBlockSaplingHandler BlockSaplingHandler(E_BLOCK_SAPLING); +constexpr cBlockSeaLanternHandler BlockSeaLanternHandler(E_BLOCK_SEA_LANTERN); +constexpr cBlockSignPostHandler BlockSignPostHandler(E_BLOCK_SIGN_POST); +constexpr cBlockSlimeHandler BlockSlimeBlockHandler(E_BLOCK_SLIME_BLOCK); +constexpr cDefaultBlockHandler BlockSnowBlockHandler(E_BLOCK_SNOW_BLOCK); +constexpr cBlockSnowHandler BlockSnowHandler(E_BLOCK_SNOW); +constexpr cDefaultBlockHandler BlockSoulSandHandler(E_BLOCK_SOULSAND); +constexpr cBlockSpongeHandler BlockSpongeHandler(E_BLOCK_SPONGE); +constexpr cBlockDoorHandler BlockSpruceDoorHandler(E_BLOCK_SPRUCE_DOOR); +constexpr cBlockFenceGateHandler BlockSpruceFenceGateHandler(E_BLOCK_SPRUCE_FENCE_GATE); +constexpr cBlockFenceHandler BlockSpruceFenceHandler(E_BLOCK_SPRUCE_FENCE); +constexpr cBlockStairsHandler BlockSpruceWoodStairsHandler(E_BLOCK_SPRUCE_WOOD_STAIRS); +constexpr cDefaultBlockHandler BlockStainedClayHandler(E_BLOCK_STAINED_CLAY); +constexpr cBlockGlassHandler BlockStainedGlassHandler(E_BLOCK_STAINED_GLASS); +constexpr cBlockGlassHandler BlockStainedGlassPaneHandler(E_BLOCK_STAINED_GLASS_PANE); +constexpr cBlockStandingBannerHandler BlockStandingBannerHandler(E_BLOCK_STANDING_BANNER); +constexpr cBlockLavaHandler BlockStationaryLavaHandler(E_BLOCK_STATIONARY_LAVA); +constexpr cBlockWaterHandler BlockStationaryWaterHandler(E_BLOCK_STATIONARY_WATER); +constexpr cBlockPistonHandler BlockStickyPistonHandler(E_BLOCK_STICKY_PISTON); +constexpr cDefaultBlockHandler BlockStoneBricksHandler(E_BLOCK_STONE_BRICKS); +constexpr cBlockStairsHandler BlockStoneBrickStairsHandler(E_BLOCK_STONE_BRICK_STAIRS); +constexpr cBlockButtonHandler BlockStoneButtonHandler(E_BLOCK_STONE_BUTTON); +constexpr cBlockStoneHandler BlockStoneHandler(E_BLOCK_STONE); +constexpr cBlockPressurePlateHandler BlockStonePressurePlateHandler(E_BLOCK_STONE_PRESSURE_PLATE); +constexpr cBlockSlabHandler BlockStoneSlabHandler(E_BLOCK_STONE_SLAB); +constexpr cDefaultBlockHandler BlockStructureBlockHandler(E_BLOCK_STRUCTURE_BLOCK); +constexpr cDefaultBlockHandler BlockStructureVoidHandler(E_BLOCK_STRUCTURE_VOID); +constexpr cBlockSugarCaneHandler BlockSugarCaneHandler(E_BLOCK_SUGARCANE); +constexpr cBlockTallGrassHandler BlockTallGrassHandler(E_BLOCK_TALL_GRASS); +constexpr cBlockTNTHandler BlockTNTHandler(E_BLOCK_TNT); +constexpr cBlockTorchHandler BlockTorchHandler(E_BLOCK_TORCH); +constexpr cBlockTrapdoorHandler BlockTrapdoorHandler(E_BLOCK_TRAPDOOR); +constexpr cBlockChestHandler BlockTrappedChestHandler(E_BLOCK_TRAPPED_CHEST); +constexpr cBlockTripwireHandler BlockTripwireHandler(E_BLOCK_TRIPWIRE); +constexpr cBlockTripwireHookHandler BlockTripwireHookHandler(E_BLOCK_TRIPWIRE_HOOK); +constexpr cBlockVinesHandler BlockVinesHandler(E_BLOCK_VINES); +constexpr cBlockWallBannerHandler BlockWallBannerHandler(E_BLOCK_WALL_BANNER); +constexpr cBlockWallSignHandler BlockWallsignHandler(E_BLOCK_WALLSIGN); +constexpr cBlockWaterHandler BlockWaterHandler(E_BLOCK_WATER); +constexpr cBlockGlazedTerracottaHandler BlockWhiteGlazedTerracottaHandler(E_BLOCK_WHITE_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockWhiteShulkerBoxHandler(E_BLOCK_WHITE_SHULKER_BOX); +constexpr cBlockButtonHandler BlockWoodenButtonHandler(E_BLOCK_WOODEN_BUTTON); +constexpr cBlockPressurePlateHandler BlockWoodenPressurePlateHandler(E_BLOCK_WOODEN_PRESSURE_PLATE); +constexpr cBlockSlabHandler BlockWoodenSlabHandler(E_BLOCK_WOODEN_SLAB); +constexpr cBlockClothHandler BlockWoolHandler(E_BLOCK_WOOL); +constexpr cBlockWorkbenchHandler BlockWorkbenchHandler(E_BLOCK_WORKBENCH); +constexpr cBlockFlowerHandler BlockYellowFlowerHandler(E_BLOCK_YELLOW_FLOWER); +constexpr cBlockGlazedTerracottaHandler BlockYellowGlazedTerracottaHandler(E_BLOCK_YELLOW_GLAZED_TERRACOTTA); +constexpr cDefaultBlockHandler BlockYellowShulkerBoxHandler(E_BLOCK_YELLOW_SHULKER_BOX); +} // namespace @@ -471,9 +480,23 @@ void cBlockHandler::OnUpdate( -void cBlockHandler::OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const +void cBlockHandler::OnNeighborChanged( + cChunkInterface & a_ChunkInterface, + Vector3i a_BlockPos, + eBlockFace a_WhichNeighbor +) const { - if (a_ChunkInterface.DoWithChunkAt(a_BlockPos, [&](cChunk & a_Chunk) { return CanBeAt(a_Chunk, cChunkDef::AbsoluteToRelative(a_BlockPos), a_Chunk.GetMeta(cChunkDef::AbsoluteToRelative(a_BlockPos))); })) + if (a_ChunkInterface.DoWithChunkAt( + a_BlockPos, + [&](cChunk & a_Chunk) + { + return CanBeAt( + a_Chunk, + cChunkDef::AbsoluteToRelative(a_BlockPos), + a_Chunk.GetMeta(cChunkDef::AbsoluteToRelative(a_BlockPos)) + ); + } + )) { return; } @@ -485,14 +508,19 @@ void cBlockHandler::OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector -void cBlockHandler::NeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_NeighborPos, eBlockFace a_WhichNeighbor) +void cBlockHandler::NeighborChanged( + cChunkInterface & a_ChunkInterface, + Vector3i a_NeighborPos, + eBlockFace a_WhichNeighbor +) { if (!cChunkDef::IsValidHeight(a_NeighborPos)) { return; } - cBlockHandler::For(a_ChunkInterface.GetBlock(a_NeighborPos)).OnNeighborChanged(a_ChunkInterface, a_NeighborPos, a_WhichNeighbor); + cBlockHandler::For(a_ChunkInterface.GetBlock(a_NeighborPos)) + .OnNeighborChanged(a_ChunkInterface, a_NeighborPos, a_WhichNeighbor); } @@ -529,7 +557,14 @@ bool cBlockHandler::IsUseable() const -bool cBlockHandler::DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, const NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const +bool cBlockHandler::DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + const NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly +) const { return m_BlockType == E_BLOCK_AIR; } @@ -548,7 +583,14 @@ bool cBlockHandler::IsInsideBlock(const Vector3d a_RelPosition, const NIBBLETYPE -cBoundingBox cBlockHandler::GetPlacementCollisionBox(BLOCKTYPE a_XM, BLOCKTYPE a_XP, BLOCKTYPE a_YM, BLOCKTYPE a_YP, BLOCKTYPE a_ZM, BLOCKTYPE a_ZP) const +cBoundingBox cBlockHandler::GetPlacementCollisionBox( + BLOCKTYPE a_XM, + BLOCKTYPE a_XP, + BLOCKTYPE a_YM, + BLOCKTYPE a_YP, + BLOCKTYPE a_ZM, + BLOCKTYPE a_ZP +) const { if (!cBlockInfo::IsSolid(m_BlockType)) { @@ -563,7 +605,8 @@ cBoundingBox cBlockHandler::GetPlacementCollisionBox(BLOCKTYPE a_XM, BLOCKTYPE a void cBlockHandler::Check( - cChunkInterface & a_ChunkInterface, cBlockPluginInterface & a_PluginInterface, + cChunkInterface & a_ChunkInterface, + cBlockPluginInterface & a_PluginInterface, Vector3i a_RelPos, cChunk & a_Chunk ) const @@ -604,7 +647,8 @@ unsigned char cBlockHandler::ToolFortuneLevel(const cItem * a_Tool) { if ((a_Tool != nullptr) && ItemCategory::IsTool(a_Tool->m_ItemType)) { - // Return enchantment level, limited to avoid spawning excessive pickups (crashing the server) when modified items are used: + // Return enchantment level, limited to avoid spawning excessive pickups (crashing the server) when modified + // items are used: return static_cast(std::min(8U, a_Tool->m_Enchantments.GetLevel(cEnchantments::enchFortune))); } @@ -893,7 +937,7 @@ const cBlockHandler & cBlockHandler::For(BLOCKTYPE a_BlockType) // TODO: these will be removed in 1.13+ migration case E_BLOCK_NUMBER_OF_TYPES: - case E_BLOCK_UNFINISHED: return BlockAirHandler; + case E_BLOCK_UNFINISHED: return BlockAirHandler; } UNREACHABLE("Getting handler for unexpected block type"); } diff --git a/src/Blocks/BlockHandler.h b/src/Blocks/BlockHandler.h index 1e5dd6fcf..1f3203579 100644 --- a/src/Blocks/BlockHandler.h +++ b/src/Blocks/BlockHandler.h @@ -24,8 +24,7 @@ class cItems; class cBlockHandler { -public: - + public: constexpr cBlockHandler(BLOCKTYPE a_BlockType) : m_BlockType(a_BlockType) { @@ -44,31 +43,47 @@ public: /** Returns the relative bounding box that must be entity-free in order for the block to be placed. a_XM, a_XP, etc. stand for the blocktype of the minus-X neighbor, the positive-X neighbor, etc. */ - virtual cBoundingBox GetPlacementCollisionBox(BLOCKTYPE a_XM, BLOCKTYPE a_XP, BLOCKTYPE a_YM, BLOCKTYPE a_YP, BLOCKTYPE a_ZM, BLOCKTYPE a_ZP) const; + virtual cBoundingBox GetPlacementCollisionBox( + BLOCKTYPE a_XM, + BLOCKTYPE a_XP, + BLOCKTYPE a_YM, + BLOCKTYPE a_YP, + BLOCKTYPE a_ZM, + BLOCKTYPE a_ZP + ) const; /** Called by cWorld::SetBlock() after the block has been set */ virtual void OnPlaced( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta - ) const {} + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) const + { + } /** Called after a block gets broken (replaced with air), by natural means. - The block is already dug up in the world, the original block type and meta is passed in a_OldBlockType and a_OldBlockMeta. - By default notifies all direct neighbors via their OnNeighborChanged() callbacks. - You can determine what kind of entity broke the block (e.g. player) by checking a_Digger! */ + The block is already dug up in the world, the original block type and meta is passed in a_OldBlockType and + a_OldBlockMeta. By default notifies all direct neighbors via their OnNeighborChanged() callbacks. You can determine + what kind of entity broke the block (e.g. player) by checking a_Digger! */ virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger - ) const {} + ) const + { + } /** Called when a direct neighbor of this block has been changed. The position is the block's own position, NOT the changed neighbor's position. - a_WhichNeighbor indicates which neighbor has changed. For example, BLOCK_FACE_YP meant the neighbor above has changed. - BLOCK_FACE_NONE means that it is a neighbor not directly adjacent (diagonal, etc.) */ - virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const; + a_WhichNeighbor indicates which neighbor has changed. For example, BLOCK_FACE_YP meant the neighbor above has + changed. BLOCK_FACE_NONE means that it is a neighbor not directly adjacent (diagonal, etc.) */ + virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) + const; /** Notifies the specified neighbor that the current block has changed. a_NeighborPos are the coords of the neighbor to be notified @@ -103,7 +118,8 @@ public: } /** Called when a right click to this block is cancelled. - Descendants should force the server to send the real state of a block to the client to prevent client assuming the operation was successfull. */ + Descendants should force the server to send the real state of a block to the client to prevent client assuming the + operation was successfull. */ virtual void OnCancelRightClick( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -136,22 +152,31 @@ public: @param a_Pos Position of the block @param a_Player Player trying to build on the block @param a_Meta Meta value of the block currently at a_Pos */ - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, Vector3i a_Position, NIBBLETYPE a_Meta, eBlockFace a_ClickedBlockFace, bool a_ClickedDirectly) const; + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + Vector3i a_Position, + NIBBLETYPE a_Meta, + eBlockFace a_ClickedBlockFace, + bool a_ClickedDirectly + ) const; /** Tests if a_RelPosition is inside the block, where a_RelPosition is relative to the origin of the block. Coords in a_RelPosition are guaranteed to be in the [0..1] range. */ virtual bool IsInsideBlock(const Vector3d a_RelPosition, const NIBBLETYPE a_BlockMeta) const; /** Called when one of the neighbors gets set; equivalent to MC block update. - By default drops (DropBlockAsPickup() / SetBlock()) if the position is no longer suitable (CanBeAt(), DoesDropOnUnsuitable()), - otherwise wakes up all simulators on the block. */ + By default drops (DropBlockAsPickup() / SetBlock()) if the position is no longer suitable (CanBeAt(), + DoesDropOnUnsuitable()), otherwise wakes up all simulators on the block. */ void Check( - cChunkInterface & ChunkInterface, cBlockPluginInterface & a_PluginInterface, + cChunkInterface & ChunkInterface, + cBlockPluginInterface & a_PluginInterface, Vector3i a_RelPos, cChunk & a_Chunk ) const; - /** Returns the base colour ID of the block, as will be represented on a map, as per documentation: https://minecraft.wiki/w/Map_item_format */ + /** Returns the base colour ID of the block, as will be represented on a map, as per documentation: + * https://minecraft.wiki/w/Map_item_format */ virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const; /** Rotates a given block meta counter-clockwise. Default: no change @@ -198,8 +223,7 @@ public: // Gets the blockhandler for the given block type. static const cBlockHandler & For(BLOCKTYPE a_BlockType); -protected: - + protected: ~cBlockHandler() = default; const BLOCKTYPE m_BlockType; diff --git a/src/Blocks/BlockHopper.h b/src/Blocks/BlockHopper.h index 930f1e0bc..b008003e4 100644 --- a/src/Blocks/BlockHopper.h +++ b/src/Blocks/BlockHopper.h @@ -7,20 +7,29 @@ -class cBlockHopperHandler final : - public cClearMetaOnDrop> +class cBlockHopperHandler final : public cClearMetaOnDrop> { - using Super = cClearMetaOnDrop>; - -public: - + using Super = cClearMetaOnDrop>; + + public: using Super::Super; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); return 11; } -} ; +}; diff --git a/src/Blocks/BlockHugeMushroom.h b/src/Blocks/BlockHugeMushroom.h index 122a6ba4c..bd54ef99a 100644 --- a/src/Blocks/BlockHugeMushroom.h +++ b/src/Blocks/BlockHugeMushroom.h @@ -8,17 +8,14 @@ /** Handler for huge mushroom blocks. */ -class cBlockHugeMushroomHandler final : - public cBlockHandler +class cBlockHugeMushroomHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { if (ToolHasSilkTouch(a_Tool)) @@ -31,7 +28,8 @@ private: return cItem(); } - const auto MushroomType = (m_BlockType == E_BLOCK_HUGE_BROWN_MUSHROOM) ? E_BLOCK_BROWN_MUSHROOM : E_BLOCK_RED_MUSHROOM; + const auto MushroomType = + (m_BlockType == E_BLOCK_HUGE_BROWN_MUSHROOM) ? E_BLOCK_BROWN_MUSHROOM : E_BLOCK_RED_MUSHROOM; const auto DropNum = GetRandomProvider().RandInt(2); return cItem(MushroomType, DropNum); @@ -46,8 +44,4 @@ private: UNUSED(a_Meta); return (m_BlockType == E_BLOCK_HUGE_BROWN_MUSHROOM) ? 10 : 28; } -} ; - - - - +}; diff --git a/src/Blocks/BlockIce.h b/src/Blocks/BlockIce.h index 35228f4ea..1ce01873d 100644 --- a/src/Blocks/BlockIce.h +++ b/src/Blocks/BlockIce.h @@ -7,17 +7,14 @@ -class cBlockIceHandler final : - public cBlockHandler +class cBlockIceHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Only drop self when using silk-touch: @@ -45,13 +42,8 @@ private: } // Artificial light on any of the surrounding block > 11 leads to melting the ice. - static const std::array Adjacents - { - { - { 1, 0, 0 }, { -1, 0, 0 }, - { 0, 1, 0 }, { 0, -1, 0 }, - { 0, 0, 1 }, { 0, 0, -1 } - } + static const std::array Adjacents { + {{1, 0, 0}, {-1, 0, 0}, {0, 1, 0}, {0, -1, 0}, {0, 0, 1}, {0, 0, -1}} }; for (const auto & Offset : Adjacents) @@ -79,9 +71,11 @@ private: } virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override { @@ -108,4 +102,4 @@ private: UNUSED(a_Meta); return 5; } -} ; +}; diff --git a/src/Blocks/BlockInfested.h b/src/Blocks/BlockInfested.h index 03977daad..ad177c276 100644 --- a/src/Blocks/BlockInfested.h +++ b/src/Blocks/BlockInfested.h @@ -1,7 +1,8 @@ // BlockInfested.h -// Declares the cBlockInfestedHandler class representing the handler for Silverfish blocks (Mojang calls them Monster Eggs) +// Declares the cBlockInfestedHandler class representing the handler for Silverfish blocks (Mojang calls them Monster +// Eggs) #include "../Entities/Player.h" @@ -9,17 +10,14 @@ -class cBlockInfestedHandler final: - public cBlockHandler +class cBlockInfestedHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: static void SpawnSilverfish(cWorldInterface & a_WorldInterface, Vector3i a_BlockPos) { // TODO: only display animation if the difficulty allows mob spawns - Add when difficulty is implemented @@ -38,18 +36,21 @@ private: { if (ToolHasSilkTouch(a_Tool)) { - return { E_BLOCK_STONE }; + return {E_BLOCK_STONE}; } else { - return { E_BLOCK_COBBLESTONE }; + return {E_BLOCK_COBBLESTONE}; } } - case E_META_SILVERFISH_EGG_COBBLESTONE: return { E_BLOCK_COBBLESTONE }; - case E_META_SILVERFISH_EGG_STONE_BRICK: return { E_BLOCK_STONE_BRICKS }; - case E_META_SILVERFISH_EGG_MOSSY_STONE_BRICK: return cItem(E_BLOCK_STONE_BRICKS, 1, E_META_STONE_BRICK_MOSSY); - case E_META_SILVERFISH_EGG_CRACKED_STONE_BRICK: return cItem(E_BLOCK_STONE_BRICKS, 1, E_META_STONE_BRICK_CRACKED); - case E_META_SILVERFISH_EGG_CHISELED_STONE_BRICK: return cItem(E_BLOCK_STONE_BRICKS, 1, E_META_STONE_BRICK_ORNAMENT); + case E_META_SILVERFISH_EGG_COBBLESTONE: return {E_BLOCK_COBBLESTONE}; + case E_META_SILVERFISH_EGG_STONE_BRICK: return {E_BLOCK_STONE_BRICKS}; + case E_META_SILVERFISH_EGG_MOSSY_STONE_BRICK: + return cItem(E_BLOCK_STONE_BRICKS, 1, E_META_STONE_BRICK_MOSSY); + case E_META_SILVERFISH_EGG_CRACKED_STONE_BRICK: + return cItem(E_BLOCK_STONE_BRICKS, 1, E_META_STONE_BRICK_CRACKED); + case E_META_SILVERFISH_EGG_CHISELED_STONE_BRICK: + return cItem(E_BLOCK_STONE_BRICKS, 1, E_META_STONE_BRICK_ORNAMENT); } return {}; @@ -57,9 +58,11 @@ private: virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override { @@ -82,8 +85,5 @@ private: } - virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override - { - return 11; - } -} ; + virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { return 11; } +}; diff --git a/src/Blocks/BlockJukebox.h b/src/Blocks/BlockJukebox.h index 970f10fc1..6fec18f2c 100644 --- a/src/Blocks/BlockJukebox.h +++ b/src/Blocks/BlockJukebox.h @@ -8,18 +8,15 @@ -class cBlockJukeboxHandler final : - public cClearMetaOnDrop +class cBlockJukeboxHandler final : public cClearMetaOnDrop { -public: - + public: using cClearMetaOnDrop::cClearMetaOnDrop; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); return 10; } -} ; +}; diff --git a/src/Blocks/BlockLadder.h b/src/Blocks/BlockLadder.h index bab51b2d3..62363878c 100644 --- a/src/Blocks/BlockLadder.h +++ b/src/Blocks/BlockLadder.h @@ -9,24 +9,18 @@ -class cBlockLadderHandler final : - public cClearMetaOnDrop > +class cBlockLadderHandler final : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; /** Returns true if the ladder will be supported by the block through the given blockface. */ static bool CanBePlacedOn(const BLOCKTYPE a_BlockType, const eBlockFace a_BlockFace) { - if ( - (a_BlockFace == BLOCK_FACE_NONE) || - (a_BlockFace == BLOCK_FACE_BOTTOM) || - (a_BlockFace == BLOCK_FACE_TOP) - ) + if ((a_BlockFace == BLOCK_FACE_NONE) || (a_BlockFace == BLOCK_FACE_BOTTOM) || (a_BlockFace == BLOCK_FACE_TOP)) { return false; } @@ -34,8 +28,7 @@ public: return cBlockInfo::FullyOccupiesVoxel(a_BlockType); } -private: - + private: /** Converts the ladder block's meta to the block face of the neighbor to which the ladder is attached. */ static eBlockFace MetaDataToBlockFace(NIBBLETYPE a_MetaData) { @@ -71,8 +64,4 @@ private: UNUSED(a_Meta); return 0; } -} ; - - - - +}; diff --git a/src/Blocks/BlockLeaves.h b/src/Blocks/BlockLeaves.h index c5e46926b..39f15dae3 100644 --- a/src/Blocks/BlockLeaves.h +++ b/src/Blocks/BlockLeaves.h @@ -14,18 +14,19 @@ -class cBlockLeavesHandler final : - public cBlockHandler +class cBlockLeavesHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - - static double FortuneDropProbability(unsigned char a_DefaultDenominator, unsigned char a_FirstDenominatorReduction, unsigned char a_FortuneLevel) + private: + static double FortuneDropProbability( + unsigned char a_DefaultDenominator, + unsigned char a_FirstDenominatorReduction, + unsigned char a_FortuneLevel + ) { // Fortune 3 behaves like fortune 4 for some reason if (a_FortuneLevel == 3) @@ -34,7 +35,8 @@ private: } // Denominator, capped at minimum of 10. - const auto Denominator = std::max(10, a_DefaultDenominator - a_FortuneLevel * a_FirstDenominatorReduction); + const auto Denominator = + std::max(10, a_DefaultDenominator - a_FortuneLevel * a_FirstDenominatorReduction); return 1.0 / Denominator; } @@ -42,7 +44,8 @@ private: - /** Returns true if the area contains a continous path from the specified block to a log block entirely made out of leaves blocks. */ + /** Returns true if the area contains a continous path from the specified block to a log block entirely made out of + * leaves blocks. */ static bool HasNearLog(cBlockArea & a_Area, const Vector3i a_BlockPos) { // Filter the blocks into a {leaves, log, other (air)} set: @@ -67,7 +70,8 @@ private: } // for i - Types[] // Perform a breadth-first search to see if there's a log connected within 4 blocks of the leaves block: - // Simply replace all reachable leaves blocks with a sponge block plus iteration (in the Area) and see if we can reach a log + // Simply replace all reachable leaves blocks with a sponge block plus iteration (in the Area) and see if we can + // reach a log a_Area.SetBlockType(a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, E_BLOCK_SPONGE); for (int i = 0; i < LEAVES_CHECK_DISTANCE; i++) { @@ -75,9 +79,13 @@ private: { switch (a_Area.GetBlockType(cbx, cby, cbz)) { - case E_BLOCK_LEAVES: a_Area.SetBlockType(cbx, cby, cbz, static_cast(E_BLOCK_SPONGE + i + 1)); break; + case E_BLOCK_LEAVES: + a_Area.SetBlockType(cbx, cby, cbz, static_cast(E_BLOCK_SPONGE + i + 1)); + break; case E_BLOCK_LOG: return true; - case E_BLOCK_NEW_LEAVES: a_Area.SetBlockType(cbx, cby, cbz, static_cast(E_BLOCK_SPONGE + i + 1)); break; + case E_BLOCK_NEW_LEAVES: + a_Area.SetBlockType(cbx, cby, cbz, static_cast(E_BLOCK_SPONGE + i + 1)); + break; case E_BLOCK_NEW_LOG: return true; } return false; @@ -92,14 +100,9 @@ private: { continue; } - if ( - ProcessNeighbor(x - 1, y, z) || - ProcessNeighbor(x + 1, y, z) || - ProcessNeighbor(x, y, z - 1) || - ProcessNeighbor(x, y, z + 1) || - ProcessNeighbor(x, y + 1, z) || - ProcessNeighbor(x, y - 1, z) - ) + if (ProcessNeighbor(x - 1, y, z) || ProcessNeighbor(x + 1, y, z) || + ProcessNeighbor(x, y, z - 1) || ProcessNeighbor(x, y, z + 1) || + ProcessNeighbor(x, y + 1, z) || ProcessNeighbor(x, y - 1, z)) { return true; } @@ -171,7 +174,8 @@ private: - virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const override + virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) + const override { auto meta = a_ChunkInterface.GetBlockMeta(a_BlockPos); @@ -211,11 +215,11 @@ private: auto worldPos = a_Chunk.RelativeToAbsolute(a_RelPos); cBlockArea Area; if (!Area.Read( - *a_Chunk.GetWorld(), - worldPos - Vector3i(LEAVES_CHECK_DISTANCE, LEAVES_CHECK_DISTANCE, LEAVES_CHECK_DISTANCE), - worldPos + Vector3i(LEAVES_CHECK_DISTANCE, LEAVES_CHECK_DISTANCE, LEAVES_CHECK_DISTANCE), - cBlockArea::baTypes) - ) + *a_Chunk.GetWorld(), + worldPos - Vector3i(LEAVES_CHECK_DISTANCE, LEAVES_CHECK_DISTANCE, LEAVES_CHECK_DISTANCE), + worldPos + Vector3i(LEAVES_CHECK_DISTANCE, LEAVES_CHECK_DISTANCE, LEAVES_CHECK_DISTANCE), + cBlockArea::baTypes + )) { // Cannot check leaves, a chunk is missing too close return; @@ -241,4 +245,4 @@ private: UNUSED(a_Meta); return 7; } -} ; +}; diff --git a/src/Blocks/BlockLever.h b/src/Blocks/BlockLever.h index 60db4ddee..09e4cfe21 100644 --- a/src/Blocks/BlockLever.h +++ b/src/Blocks/BlockLever.h @@ -9,23 +9,17 @@ #include "BlockSlab.h" -class cBlockLeverHandler final : - public cMetaRotator +class cBlockLeverHandler final : public cMetaRotator { using Super = cMetaRotator; -public: - + public: using Super::Super; /** Extracts the ON bit from metadata and returns if true if it is set */ - static bool IsLeverOn(NIBBLETYPE a_BlockMeta) - { - return ((a_BlockMeta & 0x8) == 0x8); - } - -private: + static bool IsLeverOn(NIBBLETYPE a_BlockMeta) { return ((a_BlockMeta & 0x8) == 0x8); } + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -40,7 +34,8 @@ private: a_ChunkInterface.SetBlockMeta(a_BlockPos, Meta); a_WorldInterface.WakeUpSimulators(a_BlockPos); - a_WorldInterface.GetBroadcastManager().BroadcastSoundEffect("block.lever.click", a_BlockPos, 0.5f, (Meta & 0x08) ? 0.6f : 0.5f); + a_WorldInterface.GetBroadcastManager() + .BroadcastSoundEffect("block.lever.click", a_BlockPos, 0.5f, (Meta & 0x08) ? 0.6f : 0.5f); return true; } @@ -58,10 +53,7 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } @@ -117,25 +109,19 @@ private: { return ( (((NeighborMeta & 0x08) == 0x08) && (NeighborFace == BLOCK_FACE_TOP)) || - (((NeighborMeta & 0x08) == 0) && (NeighborFace == BLOCK_FACE_BOTTOM)) + (((NeighborMeta & 0x08) == 0) && (NeighborFace == BLOCK_FACE_BOTTOM)) ); } else if (cBlockStairsHandler::IsAnyStairType(NeighborBlockType)) { switch (NeighborFace) { - case eBlockFace::BLOCK_FACE_YM: - return !(NeighborMeta & E_BLOCK_STAIRS_UPSIDE_DOWN); - case eBlockFace::BLOCK_FACE_YP: - return (NeighborMeta & E_BLOCK_STAIRS_UPSIDE_DOWN); - case eBlockFace::BLOCK_FACE_XP: - return ((NeighborMeta & 0b11) == E_BLOCK_STAIRS_XP); - case eBlockFace::BLOCK_FACE_XM: - return ((NeighborMeta & 0b11) == E_BLOCK_STAIRS_XM); - case eBlockFace::BLOCK_FACE_ZP: - return ((NeighborMeta & 0b11) == E_BLOCK_STAIRS_ZP); - case eBlockFace::BLOCK_FACE_ZM: - return ((NeighborMeta & 0b11) == E_BLOCK_STAIRS_ZM); + case eBlockFace::BLOCK_FACE_YM: return !(NeighborMeta & E_BLOCK_STAIRS_UPSIDE_DOWN); + case eBlockFace::BLOCK_FACE_YP: return (NeighborMeta & E_BLOCK_STAIRS_UPSIDE_DOWN); + case eBlockFace::BLOCK_FACE_XP: return ((NeighborMeta & 0b11) == E_BLOCK_STAIRS_XP); + case eBlockFace::BLOCK_FACE_XM: return ((NeighborMeta & 0b11) == E_BLOCK_STAIRS_XM); + case eBlockFace::BLOCK_FACE_ZP: return ((NeighborMeta & 0b11) == E_BLOCK_STAIRS_ZP); + case eBlockFace::BLOCK_FACE_ZM: return ((NeighborMeta & 0b11) == E_BLOCK_STAIRS_ZM); default: { return false; @@ -159,7 +145,7 @@ private: case 0x05: return 0x06; // Ground rotation case 0x06: return 0x05; - default: return Super::MetaRotateCCW(a_Meta); // Wall Rotation + default: return Super::MetaRotateCCW(a_Meta); // Wall Rotation } } @@ -177,7 +163,7 @@ private: case 0x05: return 0x06; // Ground rotation case 0x06: return 0x05; - default: return Super::MetaRotateCW(a_Meta); // Wall Rotation + default: return Super::MetaRotateCW(a_Meta); // Wall Rotation } } @@ -190,8 +176,4 @@ private: UNUSED(a_Meta); return 0; } -} ; - - - - +}; diff --git a/src/Blocks/BlockLilypad.h b/src/Blocks/BlockLilypad.h index e39d34566..741fdf79f 100644 --- a/src/Blocks/BlockLilypad.h +++ b/src/Blocks/BlockLilypad.h @@ -7,17 +7,14 @@ -class cBlockLilypadHandler final : - public cClearMetaOnDrop +class cBlockLilypadHandler final : public cClearMetaOnDrop { using Super = cClearMetaOnDrop; -public: - + public: using Super::Super; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); @@ -39,12 +36,10 @@ private: NIBBLETYPE UnderMeta; a_Chunk.GetBlockTypeMeta(UnderPos, UnderType, UnderMeta); return ( - (((UnderType == E_BLOCK_STATIONARY_WATER) || (UnderType == E_BLOCK_WATER)) && (UnderMeta == 0)) || // A water source is below - (UnderType == E_BLOCK_ICE) || (UnderType == E_BLOCK_FROSTED_ICE) // Or (frosted) ice + (((UnderType == E_BLOCK_STATIONARY_WATER) || (UnderType == E_BLOCK_WATER)) && (UnderMeta == 0) + ) || // A water source is below + (UnderType == E_BLOCK_ICE) || + (UnderType == E_BLOCK_FROSTED_ICE) // Or (frosted) ice ); } }; - - - - diff --git a/src/Blocks/BlockMelon.h b/src/Blocks/BlockMelon.h index 9fa68fc1e..a9a7cb58f 100644 --- a/src/Blocks/BlockMelon.h +++ b/src/Blocks/BlockMelon.h @@ -7,17 +7,14 @@ -class cBlockMelonHandler final : - public cBlockHandler +class cBlockMelonHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { const auto DropNum = FortuneDiscreteRandom(3, 7, ToolFortuneLevel(a_Tool), 9); @@ -33,8 +30,4 @@ private: UNUSED(a_Meta); return 19; } -} ; - - - - +}; diff --git a/src/Blocks/BlockMobHead.h b/src/Blocks/BlockMobHead.h index 7b632e0a2..b01d2c45b 100644 --- a/src/Blocks/BlockMobHead.h +++ b/src/Blocks/BlockMobHead.h @@ -7,17 +7,14 @@ -class cBlockMobHeadHandler final : - public cBlockEntityHandler +class cBlockMobHeadHandler final : public cBlockEntityHandler { using Super = cBlockEntityHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Drops handled by the block entity: @@ -33,8 +30,4 @@ private: UNUSED(a_Meta); return 0; } -} ; - - - - +}; diff --git a/src/Blocks/BlockMobSpawner.h b/src/Blocks/BlockMobSpawner.h index b4981abe9..72b279700 100644 --- a/src/Blocks/BlockMobSpawner.h +++ b/src/Blocks/BlockMobSpawner.h @@ -8,17 +8,14 @@ -class cBlockMobSpawnerHandler final : - public cBlockHandler +class cBlockMobSpawnerHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -35,10 +32,7 @@ private: - virtual bool IsUseable() const override - { - return true; - } + virtual bool IsUseable() const override { return true; } @@ -55,9 +49,11 @@ private: virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override { @@ -81,4 +77,4 @@ private: int Reward = 15 + Random.RandInt(14) + Random.RandInt(14); a_WorldInterface.SpawnSplitExperienceOrbs(Vector3d(0.5, 0.5, 0.5) + a_BlockPos, Reward); } -} ; +}; diff --git a/src/Blocks/BlockMushroom.h b/src/Blocks/BlockMushroom.h index bed16c557..b51c46e51 100644 --- a/src/Blocks/BlockMushroom.h +++ b/src/Blocks/BlockMushroom.h @@ -8,17 +8,14 @@ /** Handler for the small (singleblock) mushrooms. */ -class cBlockMushroomHandler final : - public cClearMetaOnDrop +class cBlockMushroomHandler final : public cClearMetaOnDrop { using Super = cClearMetaOnDrop; -public: - + public: using Super::Super; -private: - + private: // TODO: Add Mushroom Spread virtual bool CanBeAt(const cChunk & a_Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) const override @@ -54,8 +51,4 @@ private: UNUSED(a_Meta); return 0; } -} ; - - - - +}; diff --git a/src/Blocks/BlockMycelium.h b/src/Blocks/BlockMycelium.h index 62b1bbf7f..51146c10c 100644 --- a/src/Blocks/BlockMycelium.h +++ b/src/Blocks/BlockMycelium.h @@ -7,15 +7,12 @@ -class cBlockMyceliumHandler final : - public cBlockHandler +class cBlockMyceliumHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: // TODO: Add Mycel Spread virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override @@ -32,8 +29,4 @@ private: UNUSED(a_Meta); return 24; } -} ; - - - - +}; diff --git a/src/Blocks/BlockNetherWart.h b/src/Blocks/BlockNetherWart.h index 43081d511..3c96bec1e 100644 --- a/src/Blocks/BlockNetherWart.h +++ b/src/Blocks/BlockNetherWart.h @@ -8,17 +8,14 @@ -class cBlockNetherWartHandler final : - public cBlockPlant +class cBlockNetherWartHandler final : public cBlockPlant { using Super = cBlockPlant; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { if (a_BlockMeta == 0x03) @@ -45,7 +42,8 @@ private: return meta - oldMeta; } - // In older versions of cuberite, there was a bug which made wart grow too much. This check fixes previously saved buggy warts. + // In older versions of cuberite, there was a bug which made wart grow too much. This check fixes previously + // saved buggy warts. if (oldMeta > 3) { a_Chunk.FastSetBlock(a_RelPos, m_BlockType, 3); @@ -72,4 +70,4 @@ private: UNUSED(a_Meta); return 35; } -} ; +}; diff --git a/src/Blocks/BlockNetherrack.h b/src/Blocks/BlockNetherrack.h index dfcfeacbd..f5a342539 100644 --- a/src/Blocks/BlockNetherrack.h +++ b/src/Blocks/BlockNetherrack.h @@ -9,14 +9,9 @@ class cBlockNetherrack final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - - virtual bool CanSustainPlant(BLOCKTYPE a_Plant) const override - { - return a_Plant == E_BLOCK_NETHER_WART; - } + private: + virtual bool CanSustainPlant(BLOCKTYPE a_Plant) const override { return a_Plant == E_BLOCK_NETHER_WART; } }; diff --git a/src/Blocks/BlockNoteBlock.h b/src/Blocks/BlockNoteBlock.h index f5ada0d2d..f2980e0c2 100644 --- a/src/Blocks/BlockNoteBlock.h +++ b/src/Blocks/BlockNoteBlock.h @@ -8,17 +8,14 @@ -class cBlockNoteBlockHandler final : - public cBlockEntityHandler +class cBlockNoteBlockHandler final : public cBlockEntityHandler { using Super = cBlockEntityHandler; -public: - + public: using Super::Super; -private: - + private: virtual void OnDigging( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -26,12 +23,15 @@ private: const Vector3i a_BlockPos ) const override { - a_WorldInterface.DoWithBlockEntityAt(a_BlockPos, [](cBlockEntity & a_BlockEntity) - { - ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_NOTE_BLOCK); - - static_cast(a_BlockEntity).MakeSound(); - return false; - }); + a_WorldInterface.DoWithBlockEntityAt( + a_BlockPos, + [](cBlockEntity & a_BlockEntity) + { + ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_NOTE_BLOCK); + + static_cast(a_BlockEntity).MakeSound(); + return false; + } + ); } }; diff --git a/src/Blocks/BlockObserver.h b/src/Blocks/BlockObserver.h index 13ffa4631..981fe777e 100644 --- a/src/Blocks/BlockObserver.h +++ b/src/Blocks/BlockObserver.h @@ -5,35 +5,30 @@ #include "Mixins.h" -class cBlockObserverHandler final : - public cClearMetaOnDrop> +class cBlockObserverHandler final : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; - inline static Vector3i GetObservingFaceOffset(NIBBLETYPE a_Meta) - { - return -GetSignalOutputOffset(a_Meta); - } + inline static Vector3i GetObservingFaceOffset(NIBBLETYPE a_Meta) { return -GetSignalOutputOffset(a_Meta); } inline static Vector3i GetSignalOutputOffset(NIBBLETYPE a_Meta) { switch (a_Meta & 0x7) { - case 0x00: return { 0, 1, 0 }; - case 0x01: return { 0, -1, 0 }; - case 0x02: return { 0, 0, 1 }; - case 0x03: return { 0, 0, -1 }; - case 0x04: return { 1, 0, 0 }; - case 0x05: return { -1, 0, 0 }; + case 0x00: return {0, 1, 0}; + case 0x01: return {0, -1, 0}; + case 0x02: return {0, 0, 1}; + case 0x03: return {0, 0, -1}; + case 0x04: return {1, 0, 0}; + case 0x05: return {-1, 0, 0}; default: { LOGWARNING("%s: Unknown metadata: %d", __FUNCTION__, a_Meta); ASSERT(!"Unknown metadata while determining orientation of observer!"); - return { 0, 0, 0 }; + return {0, 0, 0}; } } } diff --git a/src/Blocks/BlockOre.h b/src/Blocks/BlockOre.h index c2526e16c..45f88f3b0 100644 --- a/src/Blocks/BlockOre.h +++ b/src/Blocks/BlockOre.h @@ -8,21 +8,17 @@ -class cBlockOreHandler : - public cBlockHandler +class cBlockOreHandler : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -protected: - + protected: ~cBlockOreHandler() = default; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // If using silk-touch, drop self rather than the resource: @@ -31,15 +27,15 @@ private: switch (m_BlockType) { // If it was a glowing redstone ore, drop a normal redstone ore: - case E_BLOCK_REDSTONE_ORE_GLOWING: return cItem(E_BLOCK_REDSTONE_ORE); - default: return cItem(m_BlockType); + case E_BLOCK_REDSTONE_ORE_GLOWING: return cItem(E_BLOCK_REDSTONE_ORE); + default: return cItem(m_BlockType); } } const auto FortuneLevel = ToolFortuneLevel(a_Tool); if ((m_BlockType == E_BLOCK_REDSTONE_ORE) || (m_BlockType == E_BLOCK_REDSTONE_ORE_GLOWING)) - { // Redstone follows the discrete random distribution, unlike other ores + { // Redstone follows the discrete random distribution, unlike other ores const auto DropNum = FortuneDiscreteRandom(4, 5, FortuneLevel); return cItem(E_ITEM_REDSTONE_DUST, DropNum); } @@ -48,12 +44,12 @@ private: const auto DropMult = std::max(static_cast(1), FloorC(Random.RandReal(FortuneLevel + 2.0))); switch (m_BlockType) { - case E_BLOCK_LAPIS_ORE: return cItem(E_ITEM_DYE, DropMult * Random.RandInt(4, 9), 4); - case E_BLOCK_DIAMOND_ORE: return cItem(E_ITEM_DIAMOND, DropMult); - case E_BLOCK_EMERALD_ORE: return cItem(E_ITEM_EMERALD, DropMult); - case E_BLOCK_COAL_ORE: return cItem(E_ITEM_COAL, DropMult); - case E_BLOCK_NETHER_QUARTZ_ORE: return cItem(E_ITEM_NETHER_QUARTZ, DropMult); - case E_BLOCK_CLAY: return cItem(E_ITEM_CLAY, 4); + case E_BLOCK_LAPIS_ORE: return cItem(E_ITEM_DYE, DropMult * Random.RandInt(4, 9), 4); + case E_BLOCK_DIAMOND_ORE: return cItem(E_ITEM_DIAMOND, DropMult); + case E_BLOCK_EMERALD_ORE: return cItem(E_ITEM_EMERALD, DropMult); + case E_BLOCK_COAL_ORE: return cItem(E_ITEM_COAL, DropMult); + case E_BLOCK_NETHER_QUARTZ_ORE: return cItem(E_ITEM_NETHER_QUARTZ, DropMult); + case E_BLOCK_CLAY: return cItem(E_ITEM_CLAY, 4); default: { return cItem(m_BlockType); @@ -66,9 +62,11 @@ private: virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override { @@ -140,16 +138,14 @@ private: a_WorldInterface.SpawnSplitExperienceOrbs(Vector3d(0.5, 0.5, 0.5) + a_BlockPos, Reward); } } -} ; +}; -class cDefaultOreHandler final : - public cBlockOreHandler +class cDefaultOreHandler final : public cBlockOreHandler { -public: - + public: using cBlockOreHandler::cBlockOreHandler; }; diff --git a/src/Blocks/BlockPackedIce.h b/src/Blocks/BlockPackedIce.h index 7c6b68b05..5619cf978 100644 --- a/src/Blocks/BlockPackedIce.h +++ b/src/Blocks/BlockPackedIce.h @@ -7,17 +7,14 @@ -class cBlockPackedIceHandler final : - public cBlockHandler +class cBlockPackedIceHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Only drop self when using silk-touch: @@ -34,4 +31,4 @@ private: UNUSED(a_Meta); return 5; } -} ; +}; diff --git a/src/Blocks/BlockPiston.cpp b/src/Blocks/BlockPiston.cpp index 124757b44..bf2bf5408 100644 --- a/src/Blocks/BlockPiston.cpp +++ b/src/Blocks/BlockPiston.cpp @@ -22,12 +22,12 @@ Vector3i cBlockPistonHandler::MetadataToOffset(NIBBLETYPE a_PistonMeta) { switch (a_PistonMeta & 0x07) { - case 0: return Vector3i( 0, -1, 0); - case 1: return Vector3i( 0, 1, 0); - case 2: return Vector3i( 0, 0, -1); - case 3: return Vector3i( 0, 0, 1); - case 4: return Vector3i(-1, 0, 0); - case 5: return Vector3i( 1, 0, 0); + case 0: return Vector3i(0, -1, 0); + case 1: return Vector3i(0, 1, 0); + case 2: return Vector3i(0, 0, -1); + case 3: return Vector3i(0, 0, 1); + case 4: return Vector3i(-1, 0, 0); + case 5: return Vector3i(1, 0, 0); default: { LOGWARNING("%s: invalid direction %d, ignoring", __FUNCTION__, a_PistonMeta & 0x07); @@ -56,7 +56,9 @@ void cBlockPistonHandler::ExtendPiston(Vector3i a_BlockPos, cWorld & a_World) // However, we don't confuse animation with the underlying state of the world, so emulate by delaying 1 tick // (Probably why vanilla has so many dupe glitches with sand and pistons lolol) - a_World.ScheduleTask(1_tick, [a_BlockPos](cWorld & World) + a_World.ScheduleTask( + 1_tick, + [a_BlockPos](cWorld & World) { BLOCKTYPE pistonBlock; NIBBLETYPE pistonMeta; @@ -108,7 +110,9 @@ void cBlockPistonHandler::RetractPiston(Vector3i a_BlockPos, cWorld & a_World) a_World.BroadcastBlockAction(a_BlockPos, PistonRetractAction, pistonMeta, pistonBlock); } - a_World.ScheduleTask(1_tick, [a_BlockPos](cWorld & World) + a_World.ScheduleTask( + 1_tick, + [a_BlockPos](cWorld & World) { BLOCKTYPE pistonBlock; NIBBLETYPE pistonMeta; @@ -171,18 +175,16 @@ void cBlockPistonHandler::RetractPiston(Vector3i a_BlockPos, cWorld & a_World) -void cBlockPistonHandler::PushBlocks( - const Vector3iSet & a_BlocksToPush, - cWorld & a_World, const Vector3i & a_PushDir -) +void cBlockPistonHandler::PushBlocks(const Vector3iSet & a_BlocksToPush, cWorld & a_World, const Vector3i & a_PushDir) { // Sort blocks to move the blocks first, which are farthest away from the piston // This prevents the overwriting of existing blocks std::vector sortedBlocks(a_BlocksToPush.begin(), a_BlocksToPush.end()); - std::sort(sortedBlocks.begin(), sortedBlocks.end(), [a_PushDir](const Vector3i & a, const Vector3i & b) - { - return (a.Dot(a_PushDir) > b.Dot(a_PushDir)); - }); + std::sort( + sortedBlocks.begin(), + sortedBlocks.end(), + [a_PushDir](const Vector3i & a, const Vector3i & b) { return (a.Dot(a_PushDir) > b.Dot(a_PushDir)); } + ); // Move every block BLOCKTYPE moveBlock; @@ -211,8 +213,11 @@ void cBlockPistonHandler::PushBlocks( bool cBlockPistonHandler::CanPushBlock( - const Vector3i & a_BlockPos, cWorld & a_World, bool a_RequirePushable, - Vector3iSet & a_BlocksPushed, const Vector3i & a_PushDir + const Vector3i & a_BlockPos, + cWorld & a_World, + bool a_RequirePushable, + Vector3iSet & a_BlocksPushed, + const Vector3i & a_PushDir ) { if (!cChunkDef::IsValidHeight(a_BlockPos)) @@ -221,13 +226,13 @@ bool cBlockPistonHandler::CanPushBlock( return false; } - const static std::array pushingDirs = - { - { - Vector3i(-1, 0, 0), Vector3i(1, 0, 0), - Vector3i( 0, -1, 0), Vector3i(0, 1, 0), - Vector3i( 0, 0, -1), Vector3i(0, 0, 1) - } + const static std::array pushingDirs = { + {Vector3i(-1, 0, 0), + Vector3i(1, 0, 0), + Vector3i(0, -1, 0), + Vector3i(0, 1, 0), + Vector3i(0, 0, -1), + Vector3i(0, 0, 1)} }; BLOCKTYPE currBlock; @@ -285,9 +290,11 @@ bool cBlockPistonHandler::CanPushBlock( void cBlockPistonHandler::OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const { @@ -298,10 +305,7 @@ void cBlockPistonHandler::OnBroken( } const auto Extension = a_BlockPos + MetadataToOffset(a_OldBlockMeta); - if ( - cChunkDef::IsValidHeight(Extension) && - (a_ChunkInterface.GetBlock(Extension) == E_BLOCK_PISTON_EXTENSION) - ) + if (cChunkDef::IsValidHeight(Extension) && (a_ChunkInterface.GetBlock(Extension) == E_BLOCK_PISTON_EXTENSION)) { // If the piston is extended, destroy the extension as well: a_ChunkInterface.SetBlock(Extension, E_BLOCK_AIR, 0); @@ -316,9 +320,11 @@ void cBlockPistonHandler::OnBroken( // cBlockPistonHeadHandler: void cBlockPistonHeadHandler::OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const { @@ -344,6 +350,7 @@ void cBlockPistonHeadHandler::OnBroken( cItems cBlockPistonHeadHandler::ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const { // Give a normal\sticky piston base, not piston extension - // With 1.7, the item forms of these technical blocks have been removed, so giving someone this will crash their client... - return { cItem(((a_BlockMeta & 0x8) == 0x8) ? E_BLOCK_STICKY_PISTON : E_BLOCK_PISTON) }; + // With 1.7, the item forms of these technical blocks have been removed, so giving someone this will crash their + // client... + return {cItem(((a_BlockMeta & 0x8) == 0x8) ? E_BLOCK_STICKY_PISTON : E_BLOCK_PISTON)}; } diff --git a/src/Blocks/BlockPiston.h b/src/Blocks/BlockPiston.h index 4afeb4767..637fcd32b 100644 --- a/src/Blocks/BlockPiston.h +++ b/src/Blocks/BlockPiston.h @@ -15,13 +15,12 @@ class cWorld; -class cBlockPistonHandler final : - public cClearMetaOnDrop> +class cBlockPistonHandler final + : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; static eBlockFace MetaDataToDirection(NIBBLETYPE a_MetaData) @@ -42,7 +41,8 @@ public: } } - /** Converts piston block's metadata into a unit vector representing the direction in which the piston will extend. */ + /** Converts piston block's metadata into a unit vector representing the direction in which the piston will extend. + */ static Vector3i MetadataToOffset(NIBBLETYPE a_PistonMeta); static void ExtendPiston(Vector3i a_BlockPos, cWorld & a_World); @@ -51,8 +51,7 @@ public: /** Returns true if the piston (with the specified meta) is extended */ static inline bool IsExtended(NIBBLETYPE a_PistonMeta) { return ((a_PistonMeta & 0x8) != 0x0); } -private: - + private: typedef std::unordered_set> Vector3iSet; /** Piston extension block action */ @@ -115,8 +114,11 @@ private: /** Tries to push a block and increases the pushed blocks variable. Returns true if the block is pushable */ static bool CanPushBlock( - const Vector3i & a_BlockPos, cWorld & a_World, bool a_RequirePushable, - Vector3iSet & a_BlocksPushed, const Vector3i & a_PushDir + const Vector3i & a_BlockPos, + cWorld & a_World, + bool a_RequirePushable, + Vector3iSet & a_BlocksPushed, + const Vector3i & a_PushDir ); virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override @@ -126,40 +128,40 @@ private: } virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override; /** Moves a list of blocks in a specific direction */ - static void PushBlocks(const Vector3iSet & a_BlocksToPush, - cWorld & a_World, const Vector3i & a_PushDir - ); -} ; + static void PushBlocks(const Vector3iSet & a_BlocksToPush, cWorld & a_World, const Vector3i & a_PushDir); +}; -class cBlockPistonHeadHandler final : - public cBlockHandler +class cBlockPistonHeadHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: constexpr cBlockPistonHeadHandler(void) : Super(E_BLOCK_PISTON_EXTENSION) { } virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override; virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, const cItem * a_Tool) const override; -} ; +}; diff --git a/src/Blocks/BlockPlanks.h b/src/Blocks/BlockPlanks.h index d6e79b3c0..c0e099b33 100644 --- a/src/Blocks/BlockPlanks.h +++ b/src/Blocks/BlockPlanks.h @@ -7,27 +7,24 @@ -class cBlockPlanksHandler final : - public cBlockHandler +class cBlockPlanksHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { switch (a_Meta) { - case E_META_PLANKS_BIRCH: return 2; - case E_META_PLANKS_JUNGLE: return 10; - case E_META_PLANKS_OAK: return 13; - case E_META_PLANKS_ACACIA: return 15; + case E_META_PLANKS_BIRCH: return 2; + case E_META_PLANKS_JUNGLE: return 10; + case E_META_PLANKS_OAK: return 13; + case E_META_PLANKS_ACACIA: return 15; case E_META_PLANKS_DARK_OAK: return 26; - case E_META_PLANKS_SPRUCE: return 34; + case E_META_PLANKS_SPRUCE: return 34; default: { ASSERT(!"Unhandled meta in planks handler!"); @@ -35,8 +32,4 @@ private: } } } -} ; - - - - +}; diff --git a/src/Blocks/BlockPlant.h b/src/Blocks/BlockPlant.h index ab3f137a5..d87bdb64b 100644 --- a/src/Blocks/BlockPlant.h +++ b/src/Blocks/BlockPlant.h @@ -7,19 +7,16 @@ /** Base class for plants that use light values to decide whether to grow or not. -On block update, the plant decides whether to grow, die or stay as-is, based on the CanGrow() overridable method result. */ -template -class cBlockPlant : - public cBlockHandler +On block update, the plant decides whether to grow, die or stay as-is, based on the CanGrow() overridable method result. +*/ +template class cBlockPlant : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -protected: - + protected: ~cBlockPlant() = default; /** The action the plant can take on an update. */ @@ -44,7 +41,7 @@ protected: return paGrowth; } NIBBLETYPE Blocklight = a_Chunk.GetBlockLight(a_RelPos); - NIBBLETYPE SkyLight = a_Chunk.GetSkyLight (a_RelPos); + NIBBLETYPE SkyLight = a_Chunk.GetSkyLight(a_RelPos); NIBBLETYPE Light = a_Chunk.GetTimeAlteredLight(SkyLight); // If the amount of light provided by blocks is greater than the sky light, use it instead @@ -80,7 +77,8 @@ protected: */ virtual PlantAction CanGrow(cChunk & a_Chunk, Vector3i a_RelPos) const { - // Plant can grow if it has the required amount of light, and it passes a random chance based on surrounding blocks + // Plant can grow if it has the required amount of light, and it passes a random chance based on surrounding + // blocks auto action = HasEnoughLight(a_Chunk, a_RelPos); if ((action == paGrowth) && !GetRandomProvider().RandBool(1.0 / GetGrowthChance(a_Chunk, a_RelPos))) { @@ -135,8 +133,7 @@ protected: return FloorC(24.0f / Chance) + 1; } -private: - + private: virtual void OnUpdate( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, diff --git a/src/Blocks/BlockPluginInterface.h b/src/Blocks/BlockPluginInterface.h index 0cf3ef0e3..da9f5c7a2 100644 --- a/src/Blocks/BlockPluginInterface.h +++ b/src/Blocks/BlockPluginInterface.h @@ -1,7 +1,8 @@ // BlockPluginInterface.h -// Declares the cBlockPluginInterface class representing an interface that the blockhandlers and itemhandlers use for calling plugins +// Declares the cBlockPluginInterface class representing an interface that the blockhandlers and itemhandlers use for +// calling plugins @@ -26,14 +27,22 @@ the caller provides. */ class cBlockPluginInterface { -public: + public: virtual ~cBlockPluginInterface() {} virtual bool CallHookBlockSpread(Vector3i a_BlockPos, eSpreadSource a_Source) = 0; - virtual bool CallHookPlayerBreakingBlock(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; - virtual bool CallHookPlayerBrokenBlock(cPlayer & a_Player, Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; + virtual bool CallHookPlayerBreakingBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) = 0; + virtual bool CallHookPlayerBrokenBlock( + cPlayer & a_Player, + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) = 0; }; - - - - diff --git a/src/Blocks/BlockPortal.h b/src/Blocks/BlockPortal.h index 05daa9337..f704f2581 100644 --- a/src/Blocks/BlockPortal.h +++ b/src/Blocks/BlockPortal.h @@ -7,17 +7,14 @@ -class cBlockPortalHandler final : - public cBlockHandler +class cBlockPortalHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // No pickups @@ -53,22 +50,20 @@ private: { if ((a_Position.y <= 0) || (a_Position.y >= cChunkDef::Height - 1)) { - return false; // In case someone places a portal with meta 1 or 2 at boundaries, and server tries to get invalid coords at Y - 1 or Y + 1. + return false; // In case someone places a portal with meta 1 or 2 at boundaries, and server tries to get + // invalid coords at Y - 1 or Y + 1. } switch (a_Meta) { case 0x1: { - static const std::array PortalCheck - { - { - { 0, 1, 0 }, - { 0, -1, 0 }, - { 1, 0, 0 }, - { -1, 0, 0 }, - } - }; + static const std::array PortalCheck {{ + {0, 1, 0}, + {0, -1, 0}, + {1, 0, 0}, + {-1, 0, 0}, + }}; for (const auto & Direction : PortalCheck) { @@ -83,15 +78,12 @@ private: } case 0x2: { - static const std::array PortalCheck - { - { - { 0, 1, 0 }, - { 0, -1, 0 }, - { 0, 0, -1 }, - { 0, 0, 1 }, - } - }; + static const std::array PortalCheck {{ + {0, 1, 0}, + {0, -1, 0}, + {0, 0, -1}, + {0, 0, 1}, + }}; for (const auto & Direction : PortalCheck) { @@ -117,8 +109,4 @@ private: UNUSED(a_Meta); return 24; } -} ; - - - - +}; diff --git a/src/Blocks/BlockPressurePlate.h b/src/Blocks/BlockPressurePlate.h index 6d852bfc0..bf78329b1 100644 --- a/src/Blocks/BlockPressurePlate.h +++ b/src/Blocks/BlockPressurePlate.h @@ -9,17 +9,14 @@ -class cBlockPressurePlateHandler final : - public cClearMetaOnDrop +class cBlockPressurePlateHandler final : public cClearMetaOnDrop { using Super = cClearMetaOnDrop; -public: - + public: using Super::Super; -private: - + private: virtual bool CanBeAt(const cChunk & a_Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) const override { if (a_Position.y <= 0) @@ -72,8 +69,8 @@ private: UNUSED(a_Meta); switch (m_BlockType) { - case E_BLOCK_STONE_PRESSURE_PLATE: return 11; - case E_BLOCK_WOODEN_PRESSURE_PLATE: return 13; + case E_BLOCK_STONE_PRESSURE_PLATE: return 11; + case E_BLOCK_WOODEN_PRESSURE_PLATE: return 13; case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: return 6; case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: return 30; default: @@ -83,8 +80,4 @@ private: } } } -} ; - - - - +}; diff --git a/src/Blocks/BlockPumpkin.h b/src/Blocks/BlockPumpkin.h index e627eeaee..ff9d96c43 100644 --- a/src/Blocks/BlockPumpkin.h +++ b/src/Blocks/BlockPumpkin.h @@ -5,24 +5,17 @@ -class cBlockPumpkinHandler final : - public cClearMetaOnDrop> +class cBlockPumpkinHandler final : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); return 15; } -} ; - - - - +}; diff --git a/src/Blocks/BlockQuartz.h b/src/Blocks/BlockQuartz.h index bc10985df..968fa9fd3 100644 --- a/src/Blocks/BlockQuartz.h +++ b/src/Blocks/BlockQuartz.h @@ -7,20 +7,17 @@ -class cBlockQuartzHandler final : - public cBlockHandler +class cBlockQuartzHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); return 8; } -} ; +}; diff --git a/src/Blocks/BlockRail.h b/src/Blocks/BlockRail.h index 4e2e6211f..be46fb642 100644 --- a/src/Blocks/BlockRail.h +++ b/src/Blocks/BlockRail.h @@ -24,13 +24,11 @@ enum ENUM_PURE -class cBlockRailHandler final : - public cClearMetaOnDrop +class cBlockRailHandler final : public cClearMetaOnDrop { using Super = cClearMetaOnDrop; -public: - + public: using Super::Super; @@ -38,29 +36,50 @@ public: { NIBBLETYPE Meta = 0; char RailsCnt = 0; - bool Neighbors[8]; // 0 - EAST, 1 - WEST, 2 - NORTH, 3 - SOUTH, 4 - EAST UP, 5 - WEST UP, 6 - NORTH UP, 7 - SOUTH UP + bool Neighbors[8]; // 0 - EAST, 1 - WEST, 2 - NORTH, 3 - SOUTH, 4 - EAST UP, 5 - WEST UP, 6 - NORTH UP, 7 - + // SOUTH UP memset(Neighbors, 0, sizeof(Neighbors)); - Neighbors[0] = (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(1, 0, 0)) || !IsNotConnected(a_ChunkInterface, a_BlockPos, BLOCK_FACE_EAST, E_PURE_DOWN)); - Neighbors[1] = (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(-1, 0, 0)) || !IsNotConnected(a_ChunkInterface, a_BlockPos, BLOCK_FACE_WEST, E_PURE_DOWN)); - Neighbors[2] = (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, 0, -1)) || !IsNotConnected(a_ChunkInterface, a_BlockPos, BLOCK_FACE_NORTH, E_PURE_DOWN)); - Neighbors[3] = (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, 0, 1)) || !IsNotConnected(a_ChunkInterface, a_BlockPos, BLOCK_FACE_SOUTH, E_PURE_DOWN)); - Neighbors[4] = (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(1, 1, 0)) || !IsNotConnected(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 0), BLOCK_FACE_EAST, E_PURE_NONE)); - Neighbors[5] = (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(-1, 1, 0)) || !IsNotConnected(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 0), BLOCK_FACE_WEST, E_PURE_NONE)); - Neighbors[6] = (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, -1)) || !IsNotConnected(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 0), BLOCK_FACE_NORTH, E_PURE_NONE)); - Neighbors[7] = (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 1)) || !IsNotConnected(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 0), BLOCK_FACE_SOUTH, E_PURE_NONE)); - if (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(1, -1, 0)) || !IsNotConnected(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 0), BLOCK_FACE_EAST)) + Neighbors[0] = + (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(1, 0, 0)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos, BLOCK_FACE_EAST, E_PURE_DOWN)); + Neighbors[1] = + (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(-1, 0, 0)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos, BLOCK_FACE_WEST, E_PURE_DOWN)); + Neighbors[2] = + (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, 0, -1)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos, BLOCK_FACE_NORTH, E_PURE_DOWN)); + Neighbors[3] = + (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, 0, 1)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos, BLOCK_FACE_SOUTH, E_PURE_DOWN)); + Neighbors[4] = + (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(1, 1, 0)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 0), BLOCK_FACE_EAST, E_PURE_NONE)); + Neighbors[5] = + (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(-1, 1, 0)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 0), BLOCK_FACE_WEST, E_PURE_NONE)); + Neighbors[6] = + (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, -1)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 0), BLOCK_FACE_NORTH, E_PURE_NONE)); + Neighbors[7] = + (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 1)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos + Vector3i(0, 1, 0), BLOCK_FACE_SOUTH, E_PURE_NONE)); + if (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(1, -1, 0)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 0), BLOCK_FACE_EAST)) { Neighbors[0] = true; } - if (IsUnstable(a_ChunkInterface, a_BlockPos - Vector3i(1, 1, 0)) || !IsNotConnected(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 0), BLOCK_FACE_WEST)) + if (IsUnstable(a_ChunkInterface, a_BlockPos - Vector3i(1, 1, 0)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 0), BLOCK_FACE_WEST)) { Neighbors[1] = true; } - if (IsUnstable(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 1)) || !IsNotConnected(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 0), BLOCK_FACE_NORTH)) + if (IsUnstable(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 1)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 0), BLOCK_FACE_NORTH)) { Neighbors[2] = true; } - if (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, -1, 1)) || !IsNotConnected(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 0), BLOCK_FACE_SOUTH)) + if (IsUnstable(a_ChunkInterface, a_BlockPos + Vector3i(0, -1, 1)) || + !IsNotConnected(a_ChunkInterface, a_BlockPos - Vector3i(0, 1, 0), BLOCK_FACE_SOUTH)) { Neighbors[3] = true; } @@ -160,8 +179,7 @@ public: return Meta; } -private: - + private: static bool CanBeSupportedBy(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { if (cBlockSlabHandler::IsAnySlabType(a_BlockType)) @@ -195,14 +213,13 @@ private: { // Mapping between the meta and the neighbors that need checking a_Meta -= E_META_RAIL_ASCEND_XP; // Base index at zero - static const Vector3i Coords[] = - { - { 1, 0, 0}, // east, XP - {-1, 0, 0}, // west, XM - { 0, 0, -1}, // north, ZM - { 0, 0, 1}, // south, ZP - } ; - BLOCKTYPE BlockType; + static const Vector3i Coords[] = { + {1, 0, 0}, // east, XP + {-1, 0, 0}, // west, XM + {0, 0, -1}, // north, ZM + {0, 0, 1}, // south, ZP + }; + BLOCKTYPE BlockType; NIBBLETYPE BlockMeta; if (!a_Chunk.UnboundedRelGetBlock(a_Position + Coords[a_Meta], BlockType, BlockMeta)) { @@ -228,10 +245,8 @@ private: { case E_META_RAIL_ZM_ZP: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_NORTH, E_PURE_DOWN) || - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_SOUTH, E_PURE_DOWN) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_NORTH, E_PURE_DOWN) || + IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_SOUTH, E_PURE_DOWN)) { return true; } @@ -240,10 +255,8 @@ private: case E_META_RAIL_XM_XP: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_EAST, E_PURE_DOWN) || - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_WEST, E_PURE_DOWN) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_EAST, E_PURE_DOWN) || + IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_WEST, E_PURE_DOWN)) { return true; } @@ -252,10 +265,8 @@ private: case E_META_RAIL_ASCEND_XP: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos + Vector3i(0, 1, 0), BLOCK_FACE_EAST) || - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_WEST) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos + Vector3i(0, 1, 0), BLOCK_FACE_EAST) || + IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_WEST)) { return true; } @@ -264,10 +275,8 @@ private: case E_META_RAIL_ASCEND_XM: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_EAST) || - IsNotConnected(a_ChunkInterface, a_Pos + Vector3i(0, 1, 0), BLOCK_FACE_WEST) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_EAST) || + IsNotConnected(a_ChunkInterface, a_Pos + Vector3i(0, 1, 0), BLOCK_FACE_WEST)) { return true; } @@ -276,10 +285,8 @@ private: case E_META_RAIL_ASCEND_ZM: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos + Vector3i(0, 1, 0), BLOCK_FACE_NORTH) || - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_SOUTH) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos + Vector3i(0, 1, 0), BLOCK_FACE_NORTH) || + IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_SOUTH)) { return true; } @@ -288,10 +295,8 @@ private: case E_META_RAIL_ASCEND_ZP: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_NORTH) || - IsNotConnected(a_ChunkInterface, a_Pos + Vector3i(0, 1, 0), BLOCK_FACE_SOUTH) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_NORTH) || + IsNotConnected(a_ChunkInterface, a_Pos + Vector3i(0, 1, 0), BLOCK_FACE_SOUTH)) { return true; } @@ -300,10 +305,8 @@ private: case E_META_RAIL_CURVED_ZP_XP: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_SOUTH) || - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_EAST) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_SOUTH) || + IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_EAST)) { return true; } @@ -312,10 +315,8 @@ private: case E_META_RAIL_CURVED_ZP_XM: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_SOUTH) || - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_WEST) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_SOUTH) || + IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_WEST)) { return true; } @@ -324,10 +325,8 @@ private: case E_META_RAIL_CURVED_ZM_XM: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_NORTH) || - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_WEST) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_NORTH) || + IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_WEST)) { return true; } @@ -336,10 +335,8 @@ private: case E_META_RAIL_CURVED_ZM_XP: { - if ( - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_NORTH) || - IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_EAST) - ) + if (IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_NORTH) || + IsNotConnected(a_ChunkInterface, a_Pos, BLOCK_FACE_EAST)) { return true; } @@ -350,7 +347,12 @@ private: } - static bool IsNotConnected(cChunkInterface & a_ChunkInterface, Vector3i a_Pos, eBlockFace a_BlockFace, char a_Pure = 0) + static bool IsNotConnected( + cChunkInterface & a_ChunkInterface, + Vector3i a_Pos, + eBlockFace a_BlockFace, + char a_Pure = 0 + ) { a_Pos = AddFaceDirection(a_Pos, a_BlockFace, false); @@ -383,13 +385,8 @@ private: { case BLOCK_FACE_NORTH: { - if ( - (Meta == E_META_RAIL_ZM_ZP) || - (Meta == E_META_RAIL_ASCEND_ZM) || - (Meta == E_META_RAIL_ASCEND_ZP) || - (Meta == E_META_RAIL_CURVED_ZP_XP) || - (Meta == E_META_RAIL_CURVED_ZP_XM) - ) + if ((Meta == E_META_RAIL_ZM_ZP) || (Meta == E_META_RAIL_ASCEND_ZM) || (Meta == E_META_RAIL_ASCEND_ZP) || + (Meta == E_META_RAIL_CURVED_ZP_XP) || (Meta == E_META_RAIL_CURVED_ZP_XM)) { return false; } @@ -398,13 +395,8 @@ private: case BLOCK_FACE_SOUTH: { - if ( - (Meta == E_META_RAIL_ZM_ZP) || - (Meta == E_META_RAIL_ASCEND_ZM) || - (Meta == E_META_RAIL_ASCEND_ZP) || - (Meta == E_META_RAIL_CURVED_ZM_XP) || - (Meta == E_META_RAIL_CURVED_ZM_XM) - ) + if ((Meta == E_META_RAIL_ZM_ZP) || (Meta == E_META_RAIL_ASCEND_ZM) || (Meta == E_META_RAIL_ASCEND_ZP) || + (Meta == E_META_RAIL_CURVED_ZM_XP) || (Meta == E_META_RAIL_CURVED_ZM_XM)) { return false; } @@ -413,13 +405,8 @@ private: case BLOCK_FACE_EAST: { - if ( - (Meta == E_META_RAIL_XM_XP) || - (Meta == E_META_RAIL_ASCEND_XP) || - (Meta == E_META_RAIL_ASCEND_XM) || - (Meta == E_META_RAIL_CURVED_ZP_XM) || - (Meta == E_META_RAIL_CURVED_ZM_XM) - ) + if ((Meta == E_META_RAIL_XM_XP) || (Meta == E_META_RAIL_ASCEND_XP) || (Meta == E_META_RAIL_ASCEND_XM) || + (Meta == E_META_RAIL_CURVED_ZP_XM) || (Meta == E_META_RAIL_CURVED_ZM_XM)) { return false; } @@ -427,13 +414,8 @@ private: } case BLOCK_FACE_WEST: { - if ( - (Meta == E_META_RAIL_XM_XP) || - (Meta == E_META_RAIL_ASCEND_XP) || - (Meta == E_META_RAIL_ASCEND_XM) || - (Meta == E_META_RAIL_CURVED_ZP_XP) || - (Meta == E_META_RAIL_CURVED_ZM_XP) - ) + if ((Meta == E_META_RAIL_XM_XP) || (Meta == E_META_RAIL_ASCEND_XP) || (Meta == E_META_RAIL_ASCEND_XM) || + (Meta == E_META_RAIL_CURVED_ZP_XP) || (Meta == E_META_RAIL_CURVED_ZM_XP)) { return false; } @@ -451,33 +433,40 @@ private: virtual void OnBroken( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, + BLOCKTYPE a_OldBlockType, + NIBBLETYPE a_OldBlockMeta, const cEntity * a_Digger ) const override { Super::OnBroken(a_ChunkInterface, a_WorldInterface, a_BlockPos, a_OldBlockType, a_OldBlockMeta, a_Digger); // Alert diagonal rails: - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 1, 1, 0), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(-1, 1, 0), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 0, +1, 1), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 0, +1, -1), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 1, -1, 0), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(-1, -1, 0), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 0, -1, 1), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 0, -1, -1), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(1, 1, 0), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(-1, 1, 0), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(0, +1, 1), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(0, +1, -1), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(1, -1, 0), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(-1, -1, 0), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(0, -1, 1), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(0, -1, -1), BLOCK_FACE_NONE); } - virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const override + virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) + const override { const auto Meta = a_ChunkInterface.GetBlockMeta(a_BlockPos); const auto NewMeta = FindMeta(a_ChunkInterface, a_BlockPos, m_BlockType); if ((Meta != NewMeta) && IsUnstable(a_ChunkInterface, a_BlockPos)) { - a_ChunkInterface.FastSetBlock(a_BlockPos, m_BlockType, (m_BlockType == E_BLOCK_RAIL) ? NewMeta : NewMeta | (Meta & 0x08)); + a_ChunkInterface.FastSetBlock( + a_BlockPos, + m_BlockType, + (m_BlockType == E_BLOCK_RAIL) ? NewMeta : NewMeta | (Meta & 0x08) + ); } Super::OnNeighborChanged(a_ChunkInterface, a_BlockPos, a_WhichNeighbor); @@ -485,22 +474,24 @@ private: virtual void OnPlaced( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta ) const override { Super::OnPlaced(a_ChunkInterface, a_WorldInterface, a_BlockPos, a_BlockType, a_BlockMeta); // Alert diagonal rails: - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 1, 1, 0), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(-1, 1, 0), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 0, +1, 1), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 0, +1, -1), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 1, -1, 0), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(-1, -1, 0), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 0, -1, 1), BLOCK_FACE_NONE); - NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i( 0, -1, -1), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(1, 1, 0), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(-1, 1, 0), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(0, +1, 1), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(0, +1, -1), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(1, -1, 0), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(-1, -1, 0), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(0, -1, 1), BLOCK_FACE_NONE); + NeighborChanged(a_ChunkInterface, a_BlockPos + Vector3i(0, -1, -1), BLOCK_FACE_NONE); } @@ -510,7 +501,7 @@ private: // Bit 0x08 specifies direction when a_Meta is in the range 0x06-0x09. if ((a_Meta < 0x06) || (a_Meta > 0x09)) { - // Save powered rail flag. + // Save powered rail flag. NIBBLETYPE OtherMeta = a_Meta & 0x08; // Rotates according to table; 0x07 == 0111. // Rails can either be flat (North / South) or Ascending (Asc. East) @@ -546,7 +537,7 @@ private: // Bit 0x08 is a flag for value in the range 0x00--0x05 and specifies direction for values withint 0x006--0x09. if ((a_Meta < 0x06) || (a_Meta > 0x09)) { - // Save powered rail flag. + // Save powered rail flag. NIBBLETYPE OtherMeta = a_Meta & 0x08; // Rotates according to table; 0x07 == 0111. // Rails can either be flat (North / South) or Ascending (Asc. East) @@ -660,4 +651,4 @@ private: UNUSED(a_Meta); return 0; } -} ; +}; diff --git a/src/Blocks/BlockRedstoneLamp.h b/src/Blocks/BlockRedstoneLamp.h index fc0882a8f..b82c19a7b 100644 --- a/src/Blocks/BlockRedstoneLamp.h +++ b/src/Blocks/BlockRedstoneLamp.h @@ -7,19 +7,16 @@ -class cBlockRedstoneLampHandler final : - public cBlockHandler +class cBlockRedstoneLampHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Always drop the Off variant: - return(cItem(E_BLOCK_REDSTONE_LAMP_OFF, 1, 0)); + return (cItem(E_BLOCK_REDSTONE_LAMP_OFF, 1, 0)); } @@ -32,7 +29,3 @@ private: return 15; } }; - - - - diff --git a/src/Blocks/BlockRedstoneOre.h b/src/Blocks/BlockRedstoneOre.h index 82e7c618c..e7be7658b 100644 --- a/src/Blocks/BlockRedstoneOre.h +++ b/src/Blocks/BlockRedstoneOre.h @@ -8,13 +8,11 @@ -class cBlockRedstoneOreHandler final : - public cBlockOreHandler +class cBlockRedstoneOreHandler final : public cBlockOreHandler { using Super = cBlockOreHandler; -public: - + public: using Super::Super; // Inherit constructor from base @@ -22,7 +20,9 @@ public: virtual bool OnUse( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer & a_Player, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, + cPlayer & a_Player, const Vector3i a_BlockPos, eBlockFace a_BlockFace, const Vector3i a_CursorPos @@ -50,23 +50,18 @@ public: - virtual bool IsUseable() const override - { - return true; - } + virtual bool IsUseable() const override { return true; } }; -class cBlockGlowingRedstoneOreHandler final : - public cBlockOreHandler +class cBlockGlowingRedstoneOreHandler final : public cBlockOreHandler { using Super = cBlockOreHandler; -public: - + public: using Super::Super; // Inherit constructor from base @@ -85,8 +80,3 @@ public: a_ChunkInterface.SetBlock(BlockPos, E_BLOCK_REDSTONE_ORE, 0); } }; - - - - - diff --git a/src/Blocks/BlockRedstoneRepeater.h b/src/Blocks/BlockRedstoneRepeater.h index 893691d7b..ce0615e00 100644 --- a/src/Blocks/BlockRedstoneRepeater.h +++ b/src/Blocks/BlockRedstoneRepeater.h @@ -13,34 +13,29 @@ -class cBlockRedstoneRepeaterHandler final : - public cYawRotator +class cBlockRedstoneRepeaterHandler final : public cYawRotator { using Super = cYawRotator; -public: - + public: using Super::Super; - inline static Vector3i GetFrontCoordinateOffset(NIBBLETYPE a_Meta) - { - return -GetRearCoordinateOffset(a_Meta); - } + inline static Vector3i GetFrontCoordinateOffset(NIBBLETYPE a_Meta) { return -GetRearCoordinateOffset(a_Meta); } inline static Vector3i GetLeftCoordinateOffset(NIBBLETYPE a_Meta) { switch (a_Meta & E_META_REDSTONE_REPEATER_FACING_MASK) // We only want the direction (bottom) bits { - case E_META_REDSTONE_REPEATER_FACING_ZM: return { -1, 0, 0 }; - case E_META_REDSTONE_REPEATER_FACING_XP: return { 0, 0, -1 }; - case E_META_REDSTONE_REPEATER_FACING_ZP: return { 1, 0, 0 }; - case E_META_REDSTONE_REPEATER_FACING_XM: return { 0, 0, 1 }; + case E_META_REDSTONE_REPEATER_FACING_ZM: return {-1, 0, 0}; + case E_META_REDSTONE_REPEATER_FACING_XP: return {0, 0, -1}; + case E_META_REDSTONE_REPEATER_FACING_ZP: return {1, 0, 0}; + case E_META_REDSTONE_REPEATER_FACING_XM: return {0, 0, 1}; default: { LOGWARNING("%s: Unknown metadata: %d", __FUNCTION__, a_Meta); ASSERT(!"Unknown metadata while determining orientation of repeater!"); - return { 0, 0, 0 }; + return {0, 0, 0}; } } } @@ -49,21 +44,20 @@ public: { switch (a_Meta & E_META_REDSTONE_REPEATER_FACING_MASK) // We only want the direction (bottom) bits { - case E_META_REDSTONE_REPEATER_FACING_ZM: return { 0, 0, 1 }; - case E_META_REDSTONE_REPEATER_FACING_XP: return { -1, 0, 0 }; - case E_META_REDSTONE_REPEATER_FACING_ZP: return { 0, 0, -1 }; - case E_META_REDSTONE_REPEATER_FACING_XM: return { 1, 0, 0 }; + case E_META_REDSTONE_REPEATER_FACING_ZM: return {0, 0, 1}; + case E_META_REDSTONE_REPEATER_FACING_XP: return {-1, 0, 0}; + case E_META_REDSTONE_REPEATER_FACING_ZP: return {0, 0, -1}; + case E_META_REDSTONE_REPEATER_FACING_XM: return {1, 0, 0}; default: { LOGWARNING("%s: Unknown metadata: %d", __FUNCTION__, a_Meta); ASSERT(!"Unknown metadata while determining orientation of repeater!"); - return { 0, 0, 0 }; + return {0, 0, 0}; } } } -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -98,10 +92,7 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } @@ -156,8 +147,4 @@ private: UNUSED(a_Meta); return 11; } -} ; - - - - +}; diff --git a/src/Blocks/BlockRedstoneWire.h b/src/Blocks/BlockRedstoneWire.h index de8e59a40..6f26f8c89 100644 --- a/src/Blocks/BlockRedstoneWire.h +++ b/src/Blocks/BlockRedstoneWire.h @@ -9,17 +9,14 @@ -class cBlockRedstoneWireHandler final : - public cBlockHandler +class cBlockRedstoneWireHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual bool CanBeAt(const cChunk & a_Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) const override { if (a_Position.y <= 0) @@ -69,8 +66,4 @@ private: UNUSED(a_Meta); return 0; } -} ; - - - - +}; diff --git a/src/Blocks/BlockSand.h b/src/Blocks/BlockSand.h index 0c117c40f..f5f77a964 100644 --- a/src/Blocks/BlockSand.h +++ b/src/Blocks/BlockSand.h @@ -7,15 +7,12 @@ -class cBlockSandHandler final : - public cBlockHandler +class cBlockSandHandler final : public cBlockHandler { -public: - + public: using cBlockHandler::cBlockHandler; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); diff --git a/src/Blocks/BlockSapling.h b/src/Blocks/BlockSapling.h index d32b9b449..782dcea1a 100644 --- a/src/Blocks/BlockSapling.h +++ b/src/Blocks/BlockSapling.h @@ -8,17 +8,14 @@ -class cBlockSaplingHandler final : - public cBlockHandler +class cBlockSaplingHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // The low 3 bits store the sapling type; bit 0x08 is the growth timer (not used in pickups) @@ -47,14 +44,16 @@ private: ) const override { auto Meta = a_Chunk.GetMeta(a_RelPos); - auto Light = std::max(a_Chunk.GetBlockLight(a_RelPos), a_Chunk.GetTimeAlteredLight(a_Chunk.GetSkyLight(a_RelPos))); + auto Light = + std::max(a_Chunk.GetBlockLight(a_RelPos), a_Chunk.GetTimeAlteredLight(a_Chunk.GetSkyLight(a_RelPos))); // Only grow if we have the right amount of light if (Light > 8) { auto & random = GetRandomProvider(); // Only grow if we are in the right growth stage and have the right amount of space around them. - if (((Meta & 0x08) != 0) && random.RandBool(0.45) && CanGrowAt(a_Chunk, a_RelPos.x, a_RelPos.y, a_RelPos.z, Meta)) + if (((Meta & 0x08) != 0) && random.RandBool(0.45) && + CanGrowAt(a_Chunk, a_RelPos.x, a_RelPos.y, a_RelPos.z, Meta)) { auto WorldPos = a_Chunk.RelativeToAbsolute(a_RelPos); a_Chunk.GetWorld()->GrowTree(WorldPos); @@ -236,8 +235,4 @@ private: return LargeTree; } -} ; - - - - +}; diff --git a/src/Blocks/BlockSeaLantern.h b/src/Blocks/BlockSeaLantern.h index 6dbaeda34..06b4fee14 100644 --- a/src/Blocks/BlockSeaLantern.h +++ b/src/Blocks/BlockSeaLantern.h @@ -7,17 +7,14 @@ -class cBlockSeaLanternHandler final : - public cBlockHandler +class cBlockSeaLanternHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Drop self only when using silk-touch: @@ -30,4 +27,4 @@ private: const auto DropNum = FortuneDiscreteRandom(2, 3, ToolFortuneLevel(a_Tool), 5); return cItem(E_ITEM_PRISMARINE_CRYSTALS, DropNum); } -} ; +}; diff --git a/src/Blocks/BlockSideways.h b/src/Blocks/BlockSideways.h index f2c4ce4e6..0c6fe4572 100644 --- a/src/Blocks/BlockSideways.h +++ b/src/Blocks/BlockSideways.h @@ -9,20 +9,17 @@ /** Handler for blocks that have 3 orientations (hay bale, log), specified by the upper 2 bits in meta. Additionally supports the metadata specifying block sub-type in its lower 2 bits. */ -class cBlockSidewaysHandler final : - public cBlockHandler +class cBlockSidewaysHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Reset the orientation part of meta, keep the sub-type part of meta: return cItem(m_BlockType, 1, a_BlockMeta & 0x03); } -} ; +}; diff --git a/src/Blocks/BlockSignPost.h b/src/Blocks/BlockSignPost.h index b96498cbd..43cdd1ac4 100644 --- a/src/Blocks/BlockSignPost.h +++ b/src/Blocks/BlockSignPost.h @@ -8,17 +8,14 @@ -class cBlockSignPostHandler final : - public cBlockHandler +class cBlockSignPostHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_ITEM_SIGN, 1, 0); @@ -43,19 +40,13 @@ private: - virtual NIBBLETYPE MetaRotateCW(NIBBLETYPE a_Meta) const override - { - return (a_Meta + 4) & 0x0f; - } + virtual NIBBLETYPE MetaRotateCW(NIBBLETYPE a_Meta) const override { return (a_Meta + 4) & 0x0f; } - virtual NIBBLETYPE MetaRotateCCW(NIBBLETYPE a_Meta) const override - { - return (a_Meta + 12) & 0x0f; - } + virtual NIBBLETYPE MetaRotateCCW(NIBBLETYPE a_Meta) const override { return (a_Meta + 12) & 0x0f; } @@ -92,8 +83,4 @@ private: UNUSED(a_Meta); return 13; } -} ; - - - - +}; diff --git a/src/Blocks/BlockSlab.h b/src/Blocks/BlockSlab.h index 566c88c71..51a330de3 100644 --- a/src/Blocks/BlockSlab.h +++ b/src/Blocks/BlockSlab.h @@ -17,28 +17,23 @@ -class cBlockSlabHandler final : - public cBlockHandler +class cBlockSlabHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; /** Returns true if the specified blocktype is one of the slabs handled by this handler */ static bool IsAnySlabType(BLOCKTYPE a_BlockType) { return ( - (a_BlockType == E_BLOCK_WOODEN_SLAB) || - (a_BlockType == E_BLOCK_STONE_SLAB) || - (a_BlockType == E_BLOCK_RED_SANDSTONE_SLAB) || - (a_BlockType == E_BLOCK_PURPUR_SLAB) + (a_BlockType == E_BLOCK_WOODEN_SLAB) || (a_BlockType == E_BLOCK_STONE_SLAB) || + (a_BlockType == E_BLOCK_RED_SANDSTONE_SLAB) || (a_BlockType == E_BLOCK_PURPUR_SLAB) ); } -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Reset the "top half" flag: @@ -46,10 +41,17 @@ private: } - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, const NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const override + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + const NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly + ) const override { - /* Double slab combining uses build collision checks to replace single slabs with double slabs in the right conditions. - For us to be replaced, the player must be: + /* Double slab combining uses build collision checks to replace single slabs with double slabs in the right + conditions. For us to be replaced, the player must be: 1. Placing the same slab material. 2. Placing the same slab sub-kind (and existing slab is single). */ if ((m_BlockType != a_HeldItem.m_ItemType) || ((a_Meta & 0x07) != a_HeldItem.m_ItemDamage)) @@ -58,7 +60,8 @@ private: } const bool IsTopSlab = (a_Meta & 0x08) == 0x08; - const auto CanClickCombine = ((a_ClickedBlockFace == BLOCK_FACE_TOP) && !IsTopSlab) || ((a_ClickedBlockFace == BLOCK_FACE_BOTTOM) && IsTopSlab); + const auto CanClickCombine = ((a_ClickedBlockFace == BLOCK_FACE_TOP) && !IsTopSlab) || + ((a_ClickedBlockFace == BLOCK_FACE_BOTTOM) && IsTopSlab); /* When the player clicks on us directly, we'll combine if we're a bottom slab and he clicked the top, or vice versa. Clicking on the sides will not combine. @@ -79,7 +82,8 @@ private: eBlockFace a_BlockFace ) const override { - if ((a_BlockFace == BLOCK_FACE_NONE) || (a_Player.GetEquippedItem().m_ItemType != static_cast(m_BlockType))) + if ((a_BlockFace == BLOCK_FACE_NONE) || + (a_Player.GetEquippedItem().m_ItemType != static_cast(m_BlockType))) { return; } @@ -112,14 +116,14 @@ private: { switch (a_Meta) { - case E_META_STONE_SLAB_SANDSTONE: return 2; - case E_META_STONE_SLAB_PLANKS: return 13; + case E_META_STONE_SLAB_SANDSTONE: return 2; + case E_META_STONE_SLAB_PLANKS: return 13; case E_META_STONE_SLAB_STONE_BRICK: case E_META_STONE_SLAB_STONE: - case E_META_STONE_SLAB_COBBLESTONE: return 11; - case E_META_STONE_SLAB_BRICK: return 28; + case E_META_STONE_SLAB_COBBLESTONE: return 11; + case E_META_STONE_SLAB_BRICK: return 28; case E_META_STONE_SLAB_NETHER_BRICK: return 35; - case E_META_STONE_SLAB_QUARTZ: return 8; + case E_META_STONE_SLAB_QUARTZ: return 8; default: { ASSERT(!"Unhandled meta in slab handler!"); @@ -131,12 +135,12 @@ private: { switch (a_Meta) { - case E_META_WOODEN_SLAB_BIRCH: return 2; - case E_META_WOODEN_SLAB_JUNGLE: return 10; - case E_META_WOODEN_SLAB_OAK: return 13; - case E_META_WOODEN_SLAB_ACACIA: return 15; + case E_META_WOODEN_SLAB_BIRCH: return 2; + case E_META_WOODEN_SLAB_JUNGLE: return 10; + case E_META_WOODEN_SLAB_OAK: return 13; + case E_META_WOODEN_SLAB_ACACIA: return 15; case E_META_WOODEN_SLAB_DARK_OAK: return 26; - case E_META_WOODEN_SLAB_SPRUCE: return 34; + case E_META_WOODEN_SLAB_SPRUCE: return 34; default: { ASSERT(!"Unhandled meta in slab handler!"); @@ -172,23 +176,20 @@ private: } return cBlockHandler::IsInsideBlock(a_Position, a_BlockMeta); } -} ; +}; -class cBlockDoubleSlabHandler final : - public cBlockHandler +class cBlockDoubleSlabHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { BLOCKTYPE Block = GetSingleSlabType(m_BlockType); @@ -218,11 +219,8 @@ private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { - // For doule slabs, the meta values are the same. Only the meaning of the 4th bit changes, but that's ignored in the below handler + // For doule slabs, the meta values are the same. Only the meaning of the 4th bit changes, but that's ignored in + // the below handler return cBlockHandler::For(GetSingleSlabType(m_BlockType)).GetMapBaseColourID(a_Meta); } -} ; - - - - +}; diff --git a/src/Blocks/BlockSlime.h b/src/Blocks/BlockSlime.h index 28b50527d..e8fba95f3 100644 --- a/src/Blocks/BlockSlime.h +++ b/src/Blocks/BlockSlime.h @@ -6,15 +6,12 @@ -class cBlockSlimeHandler final : - public cClearMetaOnDrop +class cBlockSlimeHandler final : public cClearMetaOnDrop { -public: - + public: using cClearMetaOnDrop::cClearMetaOnDrop; -private: - + private: virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); diff --git a/src/Blocks/BlockSnow.h b/src/Blocks/BlockSnow.h index f3fa87a1b..7e85ed907 100644 --- a/src/Blocks/BlockSnow.h +++ b/src/Blocks/BlockSnow.h @@ -7,24 +7,28 @@ -class cBlockSnowHandler final : - public cBlockHandler +class cBlockSnowHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: enum { FullBlockMeta = 7 // Meta value of a full-height snow block. }; - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, const NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const override + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + const NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly + ) const override { if (a_Meta == 0) { @@ -34,7 +38,9 @@ private: // Special case if a player is holding a (thin) snow block and its size can be increased: if ((a_HeldItem.m_ItemType == E_BLOCK_SNOW) && (a_Meta < FullBlockMeta)) { - return !a_ClickedDirectly || (a_ClickedBlockFace == BLOCK_FACE_YP); // If clicked an adjacent block, or clicked YP directly, we ignore collision. + return !a_ClickedDirectly || + (a_ClickedBlockFace == BLOCK_FACE_YP + ); // If clicked an adjacent block, or clicked YP directly, we ignore collision. } return false; @@ -99,23 +105,13 @@ private: } -private: - + private: /** Returns true if snow can be placed on top of a block with the given type and meta. */ static bool CanBeOn(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { // If block below is snowable, or it is a thin snow block and is a full thin snow block, say yay: return ( - cBlockInfo::IsSnowable(a_BlockType) || - ( - (a_BlockType == E_BLOCK_SNOW) && - (a_BlockMeta == FullBlockMeta) - ) + cBlockInfo::IsSnowable(a_BlockType) || ((a_BlockType == E_BLOCK_SNOW) && (a_BlockMeta == FullBlockMeta)) ); } - -} ; - - - - +}; diff --git a/src/Blocks/BlockSponge.h b/src/Blocks/BlockSponge.h index 0e4865a8e..5cb445787 100644 --- a/src/Blocks/BlockSponge.h +++ b/src/Blocks/BlockSponge.h @@ -7,29 +7,36 @@ -class cBlockSpongeHandler final : - public cBlockHandler +class cBlockSpongeHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual void OnPlaced( - cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta ) const override { OnNeighborChanged(a_ChunkInterface, a_BlockPos, BLOCK_FACE_NONE); } - virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const override + virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) + const override { - a_ChunkInterface.DoWithChunkAt(a_BlockPos, [&](cChunk & a_Chunk) { CheckSoaked(cChunkDef::AbsoluteToRelative(a_BlockPos), a_Chunk); return true; }); + a_ChunkInterface.DoWithChunkAt( + a_BlockPos, + [&](cChunk & a_Chunk) + { + CheckSoaked(cChunkDef::AbsoluteToRelative(a_BlockPos), a_Chunk); + return true; + } + ); } /** Check blocks around the sponge to see if they are water. @@ -56,10 +63,11 @@ private: } const auto & WaterCheck = cSimulator::AdjacentOffsets; - const bool ShouldSoak = std::any_of(WaterCheck.cbegin(), WaterCheck.cend(), [a_Rel, &a_Chunk](Vector3i a_Offset) - { - return IsWet(a_Rel + a_Offset, a_Chunk); - }); + const bool ShouldSoak = std::any_of( + WaterCheck.cbegin(), + WaterCheck.cend(), + [a_Rel, &a_Chunk](Vector3i a_Offset) { return IsWet(a_Rel + a_Offset, a_Chunk); } + ); // Early return if the sponge isn't touching any water. if (!ShouldSoak) @@ -113,7 +121,7 @@ private: { // TODO: support detecting waterlogged blocks. BLOCKTYPE Type; - return(a_Chunk.UnboundedRelGetBlockType(a_Rel.x, a_Rel.y, a_Rel.z, Type) && IsBlockWater(Type)); + return (a_Chunk.UnboundedRelGetBlockType(a_Rel.x, a_Rel.y, a_Rel.z, Type) && IsBlockWater(Type)); } virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override diff --git a/src/Blocks/BlockStairs.h b/src/Blocks/BlockStairs.h index 76614bb62..6482d005f 100644 --- a/src/Blocks/BlockStairs.h +++ b/src/Blocks/BlockStairs.h @@ -7,13 +7,12 @@ -class cBlockStairsHandler final : - public cClearMetaOnDrop> +class cBlockStairsHandler final + : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; static bool IsAnyStairType(BLOCKTYPE a_Block) @@ -33,8 +32,7 @@ public: case E_BLOCK_DARK_OAK_WOOD_STAIRS: case E_BLOCK_BRICK_STAIRS: case E_BLOCK_NETHER_BRICK_STAIRS: - case E_BLOCK_SPRUCE_WOOD_STAIRS: - return true; + case E_BLOCK_SPRUCE_WOOD_STAIRS: return true; default: { return false; @@ -42,8 +40,7 @@ public: } } -private: - + private: virtual NIBBLETYPE MetaMirrorXZ(NIBBLETYPE a_Meta) const override { // Toggle bit 3: @@ -57,19 +54,19 @@ private: switch (m_BlockType) { case E_BLOCK_SANDSTONE_STAIRS: - case E_BLOCK_BIRCH_WOOD_STAIRS: return 2; - case E_BLOCK_QUARTZ_STAIRS: return 8; + case E_BLOCK_BIRCH_WOOD_STAIRS: return 2; + case E_BLOCK_QUARTZ_STAIRS: return 8; case E_BLOCK_JUNGLE_WOOD_STAIRS: case E_BLOCK_RED_SANDSTONE_STAIRS: return 10; case E_BLOCK_COBBLESTONE_STAIRS: - case E_BLOCK_STONE_BRICK_STAIRS: return 11; - case E_BLOCK_OAK_WOOD_STAIRS: return 13; - case E_BLOCK_ACACIA_WOOD_STAIRS: return 15; - case E_BLOCK_PURPUR_STAIRS: return 16; + case E_BLOCK_STONE_BRICK_STAIRS: return 11; + case E_BLOCK_OAK_WOOD_STAIRS: return 13; + case E_BLOCK_ACACIA_WOOD_STAIRS: return 15; + case E_BLOCK_PURPUR_STAIRS: return 16; case E_BLOCK_DARK_OAK_WOOD_STAIRS: return 26; - case E_BLOCK_BRICK_STAIRS: return 28; - case E_BLOCK_NETHER_BRICK_STAIRS: return 35; - case E_BLOCK_SPRUCE_WOOD_STAIRS: return 34; + case E_BLOCK_BRICK_STAIRS: return 28; + case E_BLOCK_NETHER_BRICK_STAIRS: return 35; + case E_BLOCK_SPRUCE_WOOD_STAIRS: return 34; default: { ASSERT(!"Unhandled blocktype in stairs handler!"); @@ -82,11 +79,11 @@ private: - /** EXCEPTION a.k.a. why is this removed: - This collision-detection is actually more accurate than the client, but since the client itself - sends inaccurate / sparse data, it's easier to just err on the side of the client and keep the - two in sync by assuming that if a player hit ANY of the stair's bounding cube, it counts as the ground. */ - #if 0 +/** EXCEPTION a.k.a. why is this removed: +This collision-detection is actually more accurate than the client, but since the client itself +sends inaccurate / sparse data, it's easier to just err on the side of the client and keep the +two in sync by assuming that if a player hit ANY of the stair's bounding cube, it counts as the ground. */ +#if 0 bool IsInsideBlock(Vector3d a_RelPosition, const BLOCKTYPE a_BlockType, const NIBBLETYPE a_BlockMeta) { if (a_BlockMeta & 0x4) // upside down @@ -111,10 +108,5 @@ private: } return false; } - #endif - -} ; - - - - +#endif +}; diff --git a/src/Blocks/BlockStandingBanner.h b/src/Blocks/BlockStandingBanner.h index 391b7fde7..886bddcea 100644 --- a/src/Blocks/BlockStandingBanner.h +++ b/src/Blocks/BlockStandingBanner.h @@ -10,13 +10,11 @@ -class cBlockStandingBannerHandler final : - public cBlockEntityHandler +class cBlockStandingBannerHandler final : public cBlockEntityHandler { using Super = cBlockEntityHandler; -public: - + public: using Super::Super; virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override @@ -48,4 +46,4 @@ public: UNUSED(a_Meta); return 0; } -} ; +}; diff --git a/src/Blocks/BlockStems.h b/src/Blocks/BlockStems.h index 11cd83967..bf5a9fbf0 100644 --- a/src/Blocks/BlockStems.h +++ b/src/Blocks/BlockStems.h @@ -11,17 +11,14 @@ ProduceBlockType is the blocktype for the produce to be grown. StemPickupType is the item type for the pickup resulting from breaking the stem. */ template -class cBlockStemsHandler final : - public cBlockPlant +class cBlockStemsHandler final : public cBlockPlant { using Super = cBlockPlant; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { /* @@ -92,27 +89,20 @@ private: auto & Random = GetRandomProvider(); // Check if there's another produce around the stem, if so, abort: - static constexpr std::array NeighborOfs = - { - { - { 1, 0, 0}, - {-1, 0, 0}, - { 0, 0, 1}, - { 0, 0, -1}, - } - }; + static constexpr std::array NeighborOfs = {{ + {1, 0, 0}, + {-1, 0, 0}, + {0, 0, 1}, + {0, 0, -1}, + }}; std::array BlockType; - if ( - !a_Chunk.UnboundedRelGetBlockType(a_StemRelPos + NeighborOfs[0], BlockType[0]) || + if (!a_Chunk.UnboundedRelGetBlockType(a_StemRelPos + NeighborOfs[0], BlockType[0]) || !a_Chunk.UnboundedRelGetBlockType(a_StemRelPos + NeighborOfs[1], BlockType[1]) || !a_Chunk.UnboundedRelGetBlockType(a_StemRelPos + NeighborOfs[2], BlockType[2]) || !a_Chunk.UnboundedRelGetBlockType(a_StemRelPos + NeighborOfs[3], BlockType[3]) || - (BlockType[0] == ProduceBlockType) || - (BlockType[1] == ProduceBlockType) || - (BlockType[2] == ProduceBlockType) || - (BlockType[3] == ProduceBlockType) - ) + (BlockType[0] == ProduceBlockType) || (BlockType[1] == ProduceBlockType) || + (BlockType[2] == ProduceBlockType) || (BlockType[3] == ProduceBlockType)) { // Neighbors not valid or already taken by the same produce: return; @@ -120,12 +110,13 @@ private: // Pick a direction in which to place the produce: int x = 0, z = 0; - const auto CheckType = Random.RandInt(3); // The index to the neighbors array which should be checked for emptiness + const auto CheckType = + Random.RandInt(3); // The index to the neighbors array which should be checked for emptiness switch (CheckType) { - case 0: x = 1; break; + case 0: x = 1; break; case 1: x = -1; break; - case 2: z = 1; break; + case 2: z = 1; break; case 3: z = -1; break; } @@ -153,11 +144,15 @@ private: case E_BLOCK_GRASS: case E_BLOCK_FARMLAND: { - const NIBBLETYPE Meta = (ProduceBlockType == E_BLOCK_MELON) ? 0 : static_cast(Random.RandInt(4) % 4); + const NIBBLETYPE Meta = + (ProduceBlockType == E_BLOCK_MELON) ? 0 : static_cast(Random.RandInt(4) % 4); - FLOGD("Growing melon / pumpkin at {0} (<{1}, {2}> from stem), overwriting {3}, growing on top of {4}, meta {5}", + FLOGD( + "Growing melon / pumpkin at {0} (<{1}, {2}> from stem), overwriting {3}, growing on top of {4}, " + "meta {5}", a_Chunk.RelativeToAbsolute(ProduceRelPos), - x, z, + x, + z, ItemTypeToString(BlockType[CheckType]), ItemTypeToString(SoilType), Meta @@ -169,42 +164,22 @@ private: } } -private: - + private: // https://minecraft.wiki/w/Pumpkin_Seeds#Breaking // https://minecraft.wiki/w/Melon_Seeds#Breaking - /** The array describes how many seed may be dropped at which age. The inner arrays describe the probability to drop 0, 1, 2, 3 seeds. - The outer describes the age of the stem. */ - static constexpr std::array, 8> m_AgeSeedDropProbability - { - { - { - 81.3, 17.42, 1.24, 0.03 - }, - { - 65.1, 30.04, 4.62, 0.24 - }, - { - 51.2, 38.4, 9.6, 0.8 - }, - { - 39.44, 43.02, 15.64, 1.9 - }, - { - 29.13, 44.44, 22.22, 3.7 - }, - { - 21.6, 43.2, 28.8, 6.4 - }, - { - 15.17, 39.82, 34.84, 10.16 - }, - { - 10.16, 34.84, 39.82, 15.17 - } - } + /** The array describes how many seed may be dropped at which age. The inner arrays describe the probability to drop + 0, 1, 2, 3 seeds. The outer describes the age of the stem. */ + static constexpr std::array, 8> m_AgeSeedDropProbability { + {{81.3, 17.42, 1.24, 0.03}, + {65.1, 30.04, 4.62, 0.24}, + {51.2, 38.4, 9.6, 0.8}, + {39.44, 43.02, 15.64, 1.9}, + {29.13, 44.44, 22.22, 3.7}, + {21.6, 43.2, 28.8, 6.4}, + {15.17, 39.82, 34.84, 10.16}, + {10.16, 34.84, 39.82, 15.17}} }; -} ; +}; -using cBlockMelonStemHandler = cBlockStemsHandler; +using cBlockMelonStemHandler = cBlockStemsHandler; using cBlockPumpkinStemHandler = cBlockStemsHandler; diff --git a/src/Blocks/BlockStone.h b/src/Blocks/BlockStone.h index 75af272b7..9b753b5e2 100644 --- a/src/Blocks/BlockStone.h +++ b/src/Blocks/BlockStone.h @@ -6,24 +6,18 @@ -class cBlockStoneHandler final : - public cBlockHandler +class cBlockStoneHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Convert stone to cobblestone, unless using silk-touch: - if ( - (a_BlockMeta == E_META_STONE_STONE) && - !ToolHasSilkTouch(a_Tool) - ) + if ((a_BlockMeta == E_META_STONE_STONE) && !ToolHasSilkTouch(a_Tool)) { return cItem(E_BLOCK_COBBLESTONE, 1, 0); } @@ -40,7 +34,3 @@ private: return 11; } }; - - - - diff --git a/src/Blocks/BlockSugarCane.h b/src/Blocks/BlockSugarCane.h index cffe667e5..d040b43a5 100644 --- a/src/Blocks/BlockSugarCane.h +++ b/src/Blocks/BlockSugarCane.h @@ -7,17 +7,14 @@ -class cBlockSugarCaneHandler final : - public cBlockPlant +class cBlockSugarCaneHandler final : public cBlockPlant { using Super = cBlockPlant; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_ITEM_SUGARCANE, 1, 0); @@ -41,13 +38,12 @@ private: case E_BLOCK_FARMLAND: case E_BLOCK_SAND: { - static const Vector3i Coords[] = - { - {-1, -1, 0}, - { 1, -1, 0}, - { 0, -1, -1}, - { 0, -1, 1}, - } ; + static const Vector3i Coords[] = { + {-1, -1, 0}, + {1, -1, 0}, + {0, -1, -1}, + {0, -1, 1}, + }; for (size_t i = 0; i < ARRAYCOUNT(Coords); i++) { BLOCKTYPE BlockType; @@ -91,18 +87,12 @@ private: { // Check the total height of the sugarcane blocks here: int top = a_RelPos.y + 1; - while ( - (top < cChunkDef::Height) && - (a_Chunk.GetBlock({a_RelPos.x, top, a_RelPos.z}) == E_BLOCK_SUGARCANE) - ) + while ((top < cChunkDef::Height) && (a_Chunk.GetBlock({a_RelPos.x, top, a_RelPos.z}) == E_BLOCK_SUGARCANE)) { ++top; } int bottom = a_RelPos.y - 1; - while ( - (bottom > 0) && - (a_Chunk.GetBlock({a_RelPos.x, bottom, a_RelPos.z}) == E_BLOCK_SUGARCANE) - ) + while ((bottom > 0) && (a_Chunk.GetBlock({a_RelPos.x, bottom, a_RelPos.z}) == E_BLOCK_SUGARCANE)) { --bottom; } @@ -133,8 +123,4 @@ private: } return paStay; } -} ; - - - - +}; diff --git a/src/Blocks/BlockTNT.h b/src/Blocks/BlockTNT.h index 470cfa91a..436d320bb 100644 --- a/src/Blocks/BlockTNT.h +++ b/src/Blocks/BlockTNT.h @@ -7,17 +7,14 @@ -class cBlockTNTHandler final : - public cBlockHandler +class cBlockTNTHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual void OnCancelRightClick( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -39,7 +36,3 @@ private: return 4; } }; - - - - diff --git a/src/Blocks/BlockTallGrass.h b/src/Blocks/BlockTallGrass.h index ea638c878..a98ca59b1 100644 --- a/src/Blocks/BlockTallGrass.h +++ b/src/Blocks/BlockTallGrass.h @@ -9,18 +9,22 @@ /** Handles the grass that is 1 block tall */ -class cBlockTallGrassHandler final : - public cBlockHandler +class cBlockTallGrassHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, const NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const override + private: + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + const NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly + ) const override { return true; } @@ -82,7 +86,7 @@ private: case E_META_TALL_GRASS_FERN: largeFlowerMeta = E_META_BIG_FLOWER_LARGE_FERN; break; default: return 0; } - a_Chunk.SetBlock(a_RelPos, E_BLOCK_BIG_FLOWER, largeFlowerMeta); + a_Chunk.SetBlock(a_RelPos, E_BLOCK_BIG_FLOWER, largeFlowerMeta); a_Chunk.SetBlock(a_RelPos.addedY(1), E_BLOCK_BIG_FLOWER, E_META_BIG_FLOWER_TOP); return 1; } @@ -96,8 +100,4 @@ private: UNUSED(a_Meta); return 7; } -} ; - - - - +}; diff --git a/src/Blocks/BlockTorch.h b/src/Blocks/BlockTorch.h index ad69cf5eb..56ee63820 100644 --- a/src/Blocks/BlockTorch.h +++ b/src/Blocks/BlockTorch.h @@ -13,13 +13,11 @@ -class cBlockTorchBaseHandler : - public cMetaRotator +class cBlockTorchBaseHandler : public cMetaRotator { using Super = cMetaRotator; -public: - + public: using Super::Super; @@ -37,16 +35,11 @@ public: { switch (a_BlockFace) { - case eBlockFace::BLOCK_FACE_YP: - return (a_BlockMeta & E_BLOCK_STAIRS_UPSIDE_DOWN); - case eBlockFace::BLOCK_FACE_XP: - return ((a_BlockMeta & 0b11) == E_BLOCK_STAIRS_XP); - case eBlockFace::BLOCK_FACE_XM: - return ((a_BlockMeta & 0b11) == E_BLOCK_STAIRS_XM); - case eBlockFace::BLOCK_FACE_ZP: - return ((a_BlockMeta & 0b11) == E_BLOCK_STAIRS_ZP); - case eBlockFace::BLOCK_FACE_ZM: - return ((a_BlockMeta & 0b11) == E_BLOCK_STAIRS_ZM); + case eBlockFace::BLOCK_FACE_YP: return (a_BlockMeta & E_BLOCK_STAIRS_UPSIDE_DOWN); + case eBlockFace::BLOCK_FACE_XP: return ((a_BlockMeta & 0b11) == E_BLOCK_STAIRS_XP); + case eBlockFace::BLOCK_FACE_XM: return ((a_BlockMeta & 0b11) == E_BLOCK_STAIRS_XM); + case eBlockFace::BLOCK_FACE_ZP: return ((a_BlockMeta & 0b11) == E_BLOCK_STAIRS_ZP); + case eBlockFace::BLOCK_FACE_ZM: return ((a_BlockMeta & 0b11) == E_BLOCK_STAIRS_ZM); default: { return false; @@ -88,12 +81,10 @@ public: } } -protected: - + protected: ~cBlockTorchBaseHandler() = default; -private: - + private: /** Converts the torch block's meta to the block face of the neighbor to which the torch is attached. */ inline static eBlockFace MetaDataToBlockFace(NIBBLETYPE a_MetaData) { @@ -142,19 +133,17 @@ private: UNUSED(a_Meta); return 0; } -} ; +}; -class cBlockTorchHandler final : - public cClearMetaOnDrop +class cBlockTorchHandler final : public cClearMetaOnDrop { using Super = cClearMetaOnDrop; -public: - + public: using Super::Super; }; @@ -162,21 +151,18 @@ public: -class cBlockRedstoneTorchHandler final : - public cBlockTorchBaseHandler +class cBlockRedstoneTorchHandler final : public cBlockTorchBaseHandler { using Super = cBlockTorchBaseHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Always drop the ON torch, meta 0: - return { E_BLOCK_REDSTONE_TORCH_ON }; + return {E_BLOCK_REDSTONE_TORCH_ON}; } virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override diff --git a/src/Blocks/BlockTrapdoor.h b/src/Blocks/BlockTrapdoor.h index 7f6f70e1e..eb710fea1 100644 --- a/src/Blocks/BlockTrapdoor.h +++ b/src/Blocks/BlockTrapdoor.h @@ -8,21 +8,16 @@ -class cBlockTrapdoorHandler final : - public cClearMetaOnDrop> +class cBlockTrapdoorHandler final + : public cClearMetaOnDrop> { using Super = cClearMetaOnDrop>; -public: - + public: using Super::Super; -private: - - virtual bool IsUseable(void) const override - { - return true; - } + private: + virtual bool IsUseable(void) const override { return true; } @@ -46,7 +41,12 @@ private: // Flip the ON bit on / off using the XOR bitwise operation NIBBLETYPE Meta = (a_ChunkInterface.GetBlockMeta(a_BlockPos) ^ 0x04); a_ChunkInterface.SetBlockMeta(a_BlockPos, Meta); - a_WorldInterface.GetBroadcastManager().BroadcastSoundParticleEffect(EffectID::SFX_RANDOM_FENCE_GATE_OPEN, a_BlockPos, 0, a_Player.GetClientHandle()); + a_WorldInterface.GetBroadcastManager().BroadcastSoundParticleEffect( + EffectID::SFX_RANDOM_FENCE_GATE_OPEN, + a_BlockPos, + 0, + a_Player.GetClientHandle() + ); return true; } @@ -96,7 +96,7 @@ private: UNUSED(a_Meta); switch (m_BlockType) { - case E_BLOCK_TRAPDOOR: return 13; + case E_BLOCK_TRAPDOOR: return 13; case E_BLOCK_IRON_TRAPDOOR: return 6; default: { @@ -106,7 +106,3 @@ private: } } }; - - - - diff --git a/src/Blocks/BlockTripwire.h b/src/Blocks/BlockTripwire.h index a2c5328e4..4f78f8c0c 100644 --- a/src/Blocks/BlockTripwire.h +++ b/src/Blocks/BlockTripwire.h @@ -7,17 +7,14 @@ -class cBlockTripwireHandler final : - public cBlockHandler +class cBlockTripwireHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_ITEM_STRING, 1, 0); @@ -33,7 +30,3 @@ private: return 0; } }; - - - - diff --git a/src/Blocks/BlockTripwireHook.h b/src/Blocks/BlockTripwireHook.h index ae553d66f..75f0fdd96 100644 --- a/src/Blocks/BlockTripwireHook.h +++ b/src/Blocks/BlockTripwireHook.h @@ -7,13 +7,12 @@ -class cBlockTripwireHookHandler final : - public cMetaRotator, 0x03, 0x02, 0x03, 0x00, 0x01> +class cBlockTripwireHookHandler final + : public cMetaRotator, 0x03, 0x02, 0x03, 0x00, 0x01> { using Super = cMetaRotator, 0x03, 0x02, 0x03, 0x00, 0x01>; -public: - + public: using Super::Super; inline static eBlockFace MetadataToDirection(NIBBLETYPE a_Meta) @@ -24,12 +23,11 @@ public: case 0x3: return BLOCK_FACE_XP; case 0x2: return BLOCK_FACE_ZM; case 0x0: return BLOCK_FACE_ZP; - default: ASSERT(!"Unhandled tripwire hook metadata!"); return BLOCK_FACE_NONE; + default: ASSERT(!"Unhandled tripwire hook metadata!"); return BLOCK_FACE_NONE; } } -private: - + private: virtual bool CanBeAt(const cChunk & a_Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) const override { const auto RearPosition = AddFaceDirection(a_Position, MetadataToDirection(a_Meta), true); @@ -53,7 +51,3 @@ private: return 0; } }; - - - - diff --git a/src/Blocks/BlockVines.h b/src/Blocks/BlockVines.h index a23ba1489..bf4972c9c 100644 --- a/src/Blocks/BlockVines.h +++ b/src/Blocks/BlockVines.h @@ -6,17 +6,14 @@ -class cBlockVinesHandler final : - public cBlockHandler +class cBlockVinesHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: static const NIBBLETYPE VINE_LOST_SUPPORT = 16; static const NIBBLETYPE VINE_UNCHANGED = 17; @@ -95,24 +92,21 @@ private: { int x, z; NIBBLETYPE Bit; - } Coords[] = - { - { 0, 1, 1}, // south, ZP - {-1, 0, 2}, // west, XM - { 0, -1, 4}, // north, ZM - { 1, 0, 8}, // east, XP - } ; + } Coords[] = { + {0, 1, 1}, // south, ZP + {-1, 0, 2}, // west, XM + {0, -1, 4}, // north, ZM + {1, 0, 8}, // east, XP + }; NIBBLETYPE MaxMeta = 0; for (auto & Coord : Coords) { - BLOCKTYPE BlockType; + BLOCKTYPE BlockType; NIBBLETYPE BlockMeta; auto checkPos = a_Position.addedXZ(Coord.x, Coord.z); - if ( - a_Chunk.UnboundedRelGetBlock(checkPos.x, checkPos.y, checkPos.z, BlockType, BlockMeta) && - IsBlockAttachable(BlockType) - ) + if (a_Chunk.UnboundedRelGetBlock(checkPos.x, checkPos.y, checkPos.z, BlockType, BlockMeta) && + IsBlockAttachable(BlockType)) { MaxMeta |= Coord.Bit; } @@ -127,7 +121,8 @@ private: NIBBLETYPE Common = a_CurrentMeta & MaxMeta; // Neighbors that we have and are legal. if (Common != a_CurrentMeta) { - bool HasTop = (a_Position.y < (cChunkDef::Height - 1)) && IsBlockAttachable(a_Chunk.GetBlock(a_Position.addedY(1))); + bool HasTop = + (a_Position.y < (cChunkDef::Height - 1)) && IsBlockAttachable(a_Chunk.GetBlock(a_Position.addedY(1))); if ((Common == 0) && !HasTop) // Meta equals 0 also means top. Make a last-ditch attempt to save the vine. { return VINE_LOST_SUPPORT; @@ -143,41 +138,51 @@ private: - virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const override + virtual void OnNeighborChanged(cChunkInterface & a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) + const override { - a_ChunkInterface.DoWithChunkAt(a_BlockPos, [&](cChunk & a_Chunk) - { - - const auto Position = cChunkDef::AbsoluteToRelative(a_BlockPos); - const auto MaxMeta = GetMaxMeta(a_Chunk, Position, a_Chunk.GetMeta(Position)); - - if (MaxMeta == VINE_UNCHANGED) - { - return false; - } - - // There is a neighbor missing, need to update the meta or even destroy the block. - - if (MaxMeta == VINE_LOST_SUPPORT) - { - // The vine just lost all its support, destroy the block: - a_Chunk.SetBlock(Position, E_BLOCK_AIR, 0); - } - else - { - // It lost some of its support, set it to what remains (SetBlock to notify neighbors): - a_Chunk.SetBlock(Position, E_BLOCK_VINES, MaxMeta); - } + a_ChunkInterface.DoWithChunkAt( + a_BlockPos, + [&](cChunk & a_Chunk) + { + const auto Position = cChunkDef::AbsoluteToRelative(a_BlockPos); + const auto MaxMeta = GetMaxMeta(a_Chunk, Position, a_Chunk.GetMeta(Position)); + + if (MaxMeta == VINE_UNCHANGED) + { + return false; + } + + // There is a neighbor missing, need to update the meta or even destroy the block. + + if (MaxMeta == VINE_LOST_SUPPORT) + { + // The vine just lost all its support, destroy the block: + a_Chunk.SetBlock(Position, E_BLOCK_AIR, 0); + } + else + { + // It lost some of its support, set it to what remains (SetBlock to notify neighbors): + a_Chunk.SetBlock(Position, E_BLOCK_VINES, MaxMeta); + } - return false; - }); + return false; + } + ); } - virtual bool DoesIgnoreBuildCollision(const cWorld & a_World, const cItem & a_HeldItem, const Vector3i a_Position, const NIBBLETYPE a_Meta, const eBlockFace a_ClickedBlockFace, const bool a_ClickedDirectly) const override + virtual bool DoesIgnoreBuildCollision( + const cWorld & a_World, + const cItem & a_HeldItem, + const Vector3i a_Position, + const NIBBLETYPE a_Meta, + const eBlockFace a_ClickedBlockFace, + const bool a_ClickedDirectly + ) const override { return !a_ClickedDirectly || (a_HeldItem.m_ItemType != m_BlockType); } @@ -264,8 +269,4 @@ private: UNUSED(a_Meta); return 7; } -} ; - - - - +}; diff --git a/src/Blocks/BlockWallBanner.h b/src/Blocks/BlockWallBanner.h index e0ebb8eee..123fea5e7 100644 --- a/src/Blocks/BlockWallBanner.h +++ b/src/Blocks/BlockWallBanner.h @@ -10,13 +10,11 @@ -class cBlockWallBannerHandler final : - public cBlockEntityHandler +class cBlockWallBannerHandler final : public cBlockEntityHandler { using Super = cBlockEntityHandler; -public: - + public: using Super::Super; virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override @@ -35,11 +33,11 @@ public: switch (a_Meta) { - case BLOCK_FACE_ZM: Offset = Vector3i( 0, 0, 1); break; - case BLOCK_FACE_ZP: Offset = Vector3i( 0, 0, -1); break; - case BLOCK_FACE_XM: Offset = Vector3i( 1, 0, 0); break; - case BLOCK_FACE_XP: Offset = Vector3i(-1, 0, 0); break; - default: return false; + case BLOCK_FACE_ZM: Offset = Vector3i(0, 0, 1); break; + case BLOCK_FACE_ZP: Offset = Vector3i(0, 0, -1); break; + case BLOCK_FACE_XM: Offset = Vector3i(1, 0, 0); break; + case BLOCK_FACE_XP: Offset = Vector3i(-1, 0, 0); break; + default: return false; } auto NeighborPos = a_Position + Offset; @@ -61,4 +59,4 @@ public: UNUSED(a_Meta); return 0; } -} ; +}; diff --git a/src/Blocks/BlockWallSign.h b/src/Blocks/BlockWallSign.h index f19e408fa..728134cc0 100644 --- a/src/Blocks/BlockWallSign.h +++ b/src/Blocks/BlockWallSign.h @@ -8,17 +8,14 @@ -class cBlockWallSignHandler final : - public cBlockHandler +class cBlockWallSignHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { return cItem(E_ITEM_SIGN, 1, 0); @@ -37,23 +34,24 @@ private: // The neighbor is not accessible (unloaded chunk), bail out without changing this return true; } - return (NeighborType == E_BLOCK_WALLSIGN) || (NeighborType == E_BLOCK_SIGN_POST) || cBlockInfo::IsSolid(NeighborType); + return (NeighborType == E_BLOCK_WALLSIGN) || (NeighborType == E_BLOCK_SIGN_POST) || + cBlockInfo::IsSolid(NeighborType); } - /** Returns the offset from the sign coords to the block to which the wallsign is attached, based on the wallsign's block meta. - Asserts / returns a zero vector on wrong meta. */ + /** Returns the offset from the sign coords to the block to which the wallsign is attached, based on the wallsign's + block meta. Asserts / returns a zero vector on wrong meta. */ static Vector3i GetOffsetBehindTheSign(NIBBLETYPE a_BlockMeta) { switch (a_BlockMeta) { - case 2: return Vector3i( 0, 0, 1); - case 3: return Vector3i( 0, 0, -1); - case 4: return Vector3i( 1, 0, 0); - case 5: return Vector3i(-1, 0, 0); + case 2: return Vector3i(0, 0, 1); + case 3: return Vector3i(0, 0, -1); + case 4: return Vector3i(1, 0, 0); + case 5: return Vector3i(-1, 0, 0); } ASSERT(!"Invalid wallsign block meta"); return Vector3i(); @@ -68,8 +66,4 @@ private: UNUSED(a_Meta); return 13; } -} ; - - - - +}; diff --git a/src/Blocks/BlockWorkbench.h b/src/Blocks/BlockWorkbench.h index a0ec3df4a..ebcd989ae 100644 --- a/src/Blocks/BlockWorkbench.h +++ b/src/Blocks/BlockWorkbench.h @@ -9,17 +9,14 @@ -class cBlockWorkbenchHandler final : - public cBlockHandler +class cBlockWorkbenchHandler final : public cBlockHandler { using Super = cBlockHandler; -public: - + public: using Super::Super; -private: - + private: virtual bool OnUse( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, @@ -40,10 +37,7 @@ private: - virtual bool IsUseable(void) const override - { - return true; - } + virtual bool IsUseable(void) const override { return true; } @@ -54,8 +48,4 @@ private: UNUSED(a_Meta); return 13; } -} ; - - - - +}; diff --git a/src/Blocks/BroadcastInterface.h b/src/Blocks/BroadcastInterface.h index 6c52a5156..d7c17b564 100644 --- a/src/Blocks/BroadcastInterface.h +++ b/src/Blocks/BroadcastInterface.h @@ -15,53 +15,133 @@ enum class EffectID : Int32; class cBroadcastInterface { -public: + public: virtual ~cBroadcastInterface() {} // Broadcast respective packets to all clients of the chunk where the event is taking place // (Please keep these alpha-sorted) - virtual void BroadcastAttachEntity (const cEntity & a_Entity, const cEntity & a_Vehicle) = 0; - virtual void BroadcastBlockAction (Vector3i a_BlockPos, Byte a_Byte1, Byte a_Byte2, BLOCKTYPE a_BlockType, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastBlockBreakAnimation (UInt32 a_EntityID, Vector3i a_BlockPos, Int8 a_Stage, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastBlockEntity (Vector3i a_BlockPos, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastBossBarUpdateHealth (const cEntity & a_Entity, UInt32 a_UniqueID, float a_FractionFilled) = 0; - virtual void BroadcastChat (const AString & a_Message, const cClientHandle * a_Exclude = nullptr, eMessageType a_ChatPrefix = mtCustom) = 0; - virtual void BroadcastChatInfo (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastChatFailure (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastChatSuccess (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastChatWarning (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastChatFatal (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastChatDeath (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastChat (const cCompositeChat & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastCollectEntity (const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastDestroyEntity (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastDetachEntity (const cEntity & a_Entity, const cEntity & a_PreviousVehicle) = 0; - virtual void BroadcastEntityEffect (const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastEntityEquipment (const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastEntityHeadLook (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastEntityLook (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastEntityMetadata (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastEntityPosition (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastEntityVelocity (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastEntityAnimation (const cEntity & a_Entity, EntityAnimation a_Animation, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastLeashEntity (const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) = 0; - virtual void BroadcastParticleEffect (const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastParticleEffect (const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastPlayerListAddPlayer (const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastPlayerListHeaderFooter (const cCompositeChat & a_Header, const cCompositeChat & a_Footer) = 0; - virtual void BroadcastPlayerListRemovePlayer (const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastPlayerListUpdateDisplayName(const cPlayer & a_Player, const AString & a_CustomName, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastPlayerListUpdateGameMode (const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastPlayerListUpdatePing () = 0; - virtual void BroadcastRemoveEntityEffect (const cEntity & a_Entity, int a_EffectID, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastScoreboardObjective (const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) = 0; - virtual void BroadcastScoreUpdate (const AString & a_Objective, const AString & a_PlayerName, cObjective::Score a_Score, Byte a_Mode) = 0; - virtual void BroadcastDisplayObjective (const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) = 0; - virtual void BroadcastSoundEffect (const AString & a_SoundName, Vector3d a_Position, float a_Volume, float a_Pitch, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastSoundParticleEffect (const EffectID a_EffectID, Vector3i a_SrcPos, int a_Data, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastSpawnEntity (cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastThunderbolt (Vector3i a_BlockPos, const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastTimeUpdate (const cClientHandle * a_Exclude = nullptr) = 0; - virtual void BroadcastUnleashEntity (const cEntity & a_Entity) = 0; - virtual void BroadcastWeather (eWeather a_Weather, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastAttachEntity(const cEntity & a_Entity, const cEntity & a_Vehicle) = 0; + virtual void BroadcastBlockAction( + Vector3i a_BlockPos, + Byte a_Byte1, + Byte a_Byte2, + BLOCKTYPE a_BlockType, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastBlockBreakAnimation( + UInt32 a_EntityID, + Vector3i a_BlockPos, + Int8 a_Stage, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastBlockEntity(Vector3i a_BlockPos, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastBossBarUpdateHealth(const cEntity & a_Entity, UInt32 a_UniqueID, float a_FractionFilled) = 0; + virtual void BroadcastChat( + const AString & a_Message, + const cClientHandle * a_Exclude = nullptr, + eMessageType a_ChatPrefix = mtCustom + ) = 0; + virtual void BroadcastChatInfo(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastChatFailure(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastChatSuccess(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastChatWarning(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastChatFatal(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastChatDeath(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastChat(const cCompositeChat & a_Message, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastCollectEntity( + const cEntity & a_Collected, + const cEntity & a_Collector, + unsigned a_Count, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastDestroyEntity(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastDetachEntity(const cEntity & a_Entity, const cEntity & a_PreviousVehicle) = 0; + virtual void BroadcastEntityEffect( + const cEntity & a_Entity, + int a_EffectID, + int a_Amplifier, + int a_Duration, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastEntityEquipment( + const cEntity & a_Entity, + short a_SlotNum, + const cItem & a_Item, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastEntityHeadLook(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastEntityLook(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastEntityMetadata(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastEntityPosition(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastEntityVelocity(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastEntityAnimation( + const cEntity & a_Entity, + EntityAnimation a_Animation, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastLeashEntity(const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) = 0; + virtual void BroadcastParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastPlayerListAddPlayer(const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastPlayerListHeaderFooter(const cCompositeChat & a_Header, const cCompositeChat & a_Footer) = 0; + virtual void BroadcastPlayerListRemovePlayer( + const cPlayer & a_Player, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastPlayerListUpdateDisplayName( + const cPlayer & a_Player, + const AString & a_CustomName, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastPlayerListUpdateGameMode( + const cPlayer & a_Player, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastPlayerListUpdatePing() = 0; + virtual void BroadcastRemoveEntityEffect( + const cEntity & a_Entity, + int a_EffectID, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) = 0; + virtual void BroadcastScoreUpdate( + const AString & a_Objective, + const AString & a_PlayerName, + cObjective::Score a_Score, + Byte a_Mode + ) = 0; + virtual void BroadcastDisplayObjective(const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) = 0; + virtual void BroadcastSoundEffect( + const AString & a_SoundName, + Vector3d a_Position, + float a_Volume, + float a_Pitch, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastSoundParticleEffect( + const EffectID a_EffectID, + Vector3i a_SrcPos, + int a_Data, + const cClientHandle * a_Exclude = nullptr + ) = 0; + virtual void BroadcastSpawnEntity(cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastThunderbolt(Vector3i a_BlockPos, const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastTimeUpdate(const cClientHandle * a_Exclude = nullptr) = 0; + virtual void BroadcastUnleashEntity(const cEntity & a_Entity) = 0; + virtual void BroadcastWeather(eWeather a_Weather, const cClientHandle * a_Exclude = nullptr) = 0; }; diff --git a/src/Blocks/ChunkInterface.cpp b/src/Blocks/ChunkInterface.cpp index 37ed70615..887598042 100644 --- a/src/Blocks/ChunkInterface.cpp +++ b/src/Blocks/ChunkInterface.cpp @@ -83,7 +83,13 @@ bool cChunkInterface::UseBlockEntity(cPlayer * a_Player, int a_BlockX, int a_Blo -bool cChunkInterface::ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) +bool cChunkInterface::ForEachChunkInRect( + int a_MinChunkX, + int a_MaxChunkX, + int a_MinChunkZ, + int a_MaxChunkZ, + cChunkDataCallback & a_Callback +) { return m_ChunkMap->ForEachChunkInRect(a_MinChunkX, a_MaxChunkX, a_MinChunkZ, a_MaxChunkZ, a_Callback); } @@ -92,7 +98,13 @@ bool cChunkInterface::ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a -bool cChunkInterface::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) +bool cChunkInterface::WriteBlockArea( + cBlockArea & a_Area, + int a_MinBlockX, + int a_MinBlockY, + int a_MinBlockZ, + int a_DataTypes +) { return m_ChunkMap->WriteBlockArea(a_Area, a_MinBlockX, a_MinBlockY, a_MinBlockZ, a_DataTypes); } diff --git a/src/Blocks/ChunkInterface.h b/src/Blocks/ChunkInterface.h index a8fcd6187..492390066 100644 --- a/src/Blocks/ChunkInterface.h +++ b/src/Blocks/ChunkInterface.h @@ -18,12 +18,13 @@ class cPlayer; -class cChunkInterface: - public cForEachChunkProvider +class cChunkInterface : public cForEachChunkProvider { -public: - - cChunkInterface(cChunkMap * a_ChunkMap) : m_ChunkMap(a_ChunkMap) {} + public: + cChunkInterface(cChunkMap * a_ChunkMap) : + m_ChunkMap(a_ChunkMap) + { + } bool DoWithChunkAt(Vector3i a_BlockPos, cFunctionRef a_Callback); @@ -65,9 +66,16 @@ public: returns true if the use was successful, return false to use the block as a "normal" block */ bool UseBlockEntity(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ); - virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) override; + virtual bool ForEachChunkInRect( + int a_MinChunkX, + int a_MaxChunkX, + int a_MinChunkZ, + int a_MaxChunkZ, + cChunkDataCallback & a_Callback + ) override; - virtual bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) override; + virtual bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) + override; bool DigBlock(cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, cEntity * a_Digger); @@ -75,10 +83,6 @@ public: void DropBlockAsPickups(Vector3i a_BlockPos, const cEntity * a_Digger = nullptr, const cItem * a_Tool = nullptr); -private: + private: cChunkMap * m_ChunkMap; }; - - - - diff --git a/src/Blocks/GetHandlerCompileTimeTemplate.h b/src/Blocks/GetHandlerCompileTimeTemplate.h index deebd4030..519c60018 100644 --- a/src/Blocks/GetHandlerCompileTimeTemplate.h +++ b/src/Blocks/GetHandlerCompileTimeTemplate.h @@ -12,17 +12,15 @@ class cBlockPistonHandler; -template -class GetHandlerCompileTime; +template class GetHandlerCompileTime; -template<> -class GetHandlerCompileTime +template <> class GetHandlerCompileTime { -public: + public: typedef cBlockTorchHandler type; }; @@ -30,10 +28,9 @@ public: -template<> -class GetHandlerCompileTime +template <> class GetHandlerCompileTime { -public: + public: typedef cBlockLeverHandler type; }; @@ -41,10 +38,9 @@ public: -template<> -class GetHandlerCompileTime +template <> class GetHandlerCompileTime { -public: + public: typedef cBlockButtonHandler type; }; @@ -52,10 +48,9 @@ public: -template<> -class GetHandlerCompileTime +template <> class GetHandlerCompileTime { -public: + public: typedef cBlockTripwireHookHandler type; }; @@ -63,10 +58,9 @@ public: -template<> -class GetHandlerCompileTime +template <> class GetHandlerCompileTime { -public: + public: typedef cBlockDoorHandler type; }; @@ -74,10 +68,8 @@ public: -template<> -class GetHandlerCompileTime +template <> class GetHandlerCompileTime { -public: + public: typedef cBlockPistonHandler type; }; - diff --git a/src/Blocks/Mixins.h b/src/Blocks/Mixins.h index fa8985737..955957c72 100644 --- a/src/Blocks/Mixins.h +++ b/src/Blocks/Mixins.h @@ -17,7 +17,7 @@ class cBlockLadder: public cMetaRotator // MSVC generates warnings for the templated AssertIfNotMatched parameter conditions, so disable it: #ifdef _MSC_VER - #pragma warning(disable: 4127) // Conditional expression is constant +#pragma warning(disable : 4127) // Conditional expression is constant #endif @@ -25,23 +25,18 @@ class cBlockLadder: public cMetaRotator /** Mixin to clear the block's meta value when converting to a pickup. */ -template -class cClearMetaOnDrop : - public Base +template class cClearMetaOnDrop : public Base { -public: - - constexpr cClearMetaOnDrop(BLOCKTYPE a_BlockType): + public: + constexpr cClearMetaOnDrop(BLOCKTYPE a_BlockType) : Base(a_BlockType) { } -protected: - + protected: ~cClearMetaOnDrop() = default; -private: - + private: virtual cItems ConvertToPickups(const NIBBLETYPE a_BlockMeta, const cItem * const a_Tool) const override { // Reset the meta to zero: @@ -54,21 +49,26 @@ private: /** Mixin for rotations and reflections following the standard pattern of "apply mask, then use a switch". -Inherit from this class providing your base class as Base, the BitMask for the direction bits in bitmask and the masked value for the directions in North, East, South, West. -There is also an aptional parameter AssertIfNotMatched, set this if it is invalid for a block to exist in any other state. */ -template -class cMetaRotator : - public Base +Inherit from this class providing your base class as Base, the BitMask for the direction bits in bitmask and the masked +value for the directions in North, East, South, West. There is also an aptional parameter AssertIfNotMatched, set this +if it is invalid for a block to exist in any other state. */ +template < + class Base, + NIBBLETYPE BitMask, + NIBBLETYPE North, + NIBBLETYPE East, + NIBBLETYPE South, + NIBBLETYPE West, + bool AssertIfNotMatched = false> +class cMetaRotator : public Base { -public: - - constexpr cMetaRotator(BLOCKTYPE a_BlockType): + public: + constexpr cMetaRotator(BLOCKTYPE a_BlockType) : Base(a_BlockType) { } -protected: - + protected: ~cMetaRotator() = default; virtual NIBBLETYPE MetaRotateCCW(NIBBLETYPE a_Meta) const override @@ -76,9 +76,9 @@ protected: NIBBLETYPE OtherMeta = a_Meta & (~BitMask); switch (a_Meta & BitMask) { - case South: return East | OtherMeta; + case South: return East | OtherMeta; case East: return North | OtherMeta; - case North: return West | OtherMeta; + case North: return West | OtherMeta; case West: return South | OtherMeta; } if (AssertIfNotMatched) @@ -97,9 +97,9 @@ protected: NIBBLETYPE OtherMeta = a_Meta & (~BitMask); switch (a_Meta & BitMask) { - case South: return West | OtherMeta; + case South: return West | OtherMeta; case West: return North | OtherMeta; - case North: return East | OtherMeta; + case North: return East | OtherMeta; case East: return South | OtherMeta; } if (AssertIfNotMatched) @@ -155,15 +155,12 @@ template < NIBBLETYPE East = 0x05, NIBBLETYPE South = 0x03, NIBBLETYPE West = 0x04, - bool AssertIfNotMatched = false -> -class cYawRotator : - public cMetaRotator + bool AssertIfNotMatched = false> +class cYawRotator : public cMetaRotator { using Super = cMetaRotator; -public: - + public: using Super::Super; @@ -189,8 +186,7 @@ public: } } -protected: - + protected: ~cYawRotator() = default; }; @@ -208,26 +204,26 @@ template < NIBBLETYPE South = 0x03, NIBBLETYPE West = 0x04, NIBBLETYPE Up = 0x00, - NIBBLETYPE Down = 0x01 -> -class cDisplacementYawRotator: - public cYawRotator + NIBBLETYPE Down = 0x01> +class cDisplacementYawRotator : public cYawRotator { using Super = cYawRotator; -public: - + public: using Super::Super; /** Converts the placement position, eye position as returned by cPlayer::GetEyePosition(), and - rotation value as returned by cPlayer::GetYaw() to the appropriate metadata value for a block placed by a player facing that way. */ - static NIBBLETYPE DisplacementYawToMetaData(const Vector3d a_PlacePosition, const Vector3d a_EyePosition, const double a_Rotation) + rotation value as returned by cPlayer::GetYaw() to the appropriate metadata value for a block placed by a player + facing that way. */ + static NIBBLETYPE DisplacementYawToMetaData( + const Vector3d a_PlacePosition, + const Vector3d a_EyePosition, + const double a_Rotation + ) { - if ( - const auto Displacement = a_EyePosition - a_PlacePosition.addedXZ(0.5, 0.5); - (std::abs(Displacement.x) < 2) && (std::abs(Displacement.z) < 2) - ) + if (const auto Displacement = a_EyePosition - a_PlacePosition.addedXZ(0.5, 0.5); + (std::abs(Displacement.x) < 2) && (std::abs(Displacement.z) < 2)) { if (Displacement.y > 2) { @@ -243,8 +239,7 @@ public: return Super::YawToMetaData(a_Rotation); } -protected: - + protected: ~cDisplacementYawRotator() = default; @@ -254,7 +249,7 @@ protected: switch (a_Meta & BitMask) { case Down: return Up | OtherMeta; // Down -> Up - case Up: return Down | OtherMeta; // Up -> Down + case Up: return Down | OtherMeta; // Up -> Down } // Not Facing Up or Down; No change. return a_Meta; diff --git a/src/Blocks/WorldInterface.h b/src/Blocks/WorldInterface.h index b3fc9878d..404a75407 100644 --- a/src/Blocks/WorldInterface.h +++ b/src/Blocks/WorldInterface.h @@ -10,36 +10,72 @@ class cItems; class cPlayer; using cBlockEntityCallback = cFunctionRef; -using cPlayerListCallback = cFunctionRef; -using cEntityCallback = cFunctionRef; +using cPlayerListCallback = cFunctionRef; +using cEntityCallback = cFunctionRef; class cWorldInterface { -public: + public: virtual ~cWorldInterface() {} virtual cTickTime GetTimeOfDay(void) const = 0; - virtual cTickTimeLong GetWorldAge(void) const = 0; + virtual cTickTimeLong GetWorldAge(void) const = 0; virtual eDimension GetDimension(void) const = 0; virtual cBroadcastInterface & GetBroadcastManager() = 0; - virtual void DoExplosionAt(double a_ExplosionSize, double a_BlockX, double a_BlockY, double a_BlockZ, bool a_CanCauseFire, eExplosionSource a_Source, void * a_SourceData) = 0; - - /** Calls the callback for the block entity at the specified coords; returns false if there's no block entity at those coords, true if found */ + virtual void DoExplosionAt( + double a_ExplosionSize, + double a_BlockX, + double a_BlockY, + double a_BlockZ, + bool a_CanCauseFire, + eExplosionSource a_Source, + void * a_SourceData + ) = 0; + + /** Calls the callback for the block entity at the specified coords; returns false if there's no block entity at + * those coords, true if found */ virtual bool DoWithBlockEntityAt(Vector3i a_Position, cBlockEntityCallback a_Callback) = 0; /** Spawns item pickups for each item in the list. May compress pickups if too many entities: */ - virtual void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_FlyAwaySpeed = 1.0, bool IsPlayerCreated = false) = 0; - - /** Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the speed specified. */ - virtual void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_SpeedX, double a_SpeedY, double a_SpeedZ, bool IsPlayerCreated = false) = 0; - - virtual UInt32 SpawnItemPickup(double a_PosX, double a_PosY, double a_PosZ, const cItem & a_Item, float a_SpeedX = 0.f, float a_SpeedY = 0.f, float a_SpeedZ = 0.f, int a_LifetimeTicks = 6000, bool a_CanCombine = true) = 0; + virtual void SpawnItemPickups( + const cItems & a_Pickups, + double a_BlockX, + double a_BlockY, + double a_BlockZ, + double a_FlyAwaySpeed = 1.0, + bool IsPlayerCreated = false + ) = 0; + + /** Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the + * speed specified. */ + virtual void SpawnItemPickups( + const cItems & a_Pickups, + double a_BlockX, + double a_BlockY, + double a_BlockZ, + double a_SpeedX, + double a_SpeedY, + double a_SpeedZ, + bool IsPlayerCreated = false + ) = 0; + + virtual UInt32 SpawnItemPickup( + double a_PosX, + double a_PosY, + double a_PosZ, + const cItem & a_Item, + float a_SpeedX = 0.f, + float a_SpeedY = 0.f, + float a_SpeedZ = 0.f, + int a_LifetimeTicks = 6000, + bool a_CanCombine = true + ) = 0; /** Spawns a mob of the specified type. Returns the mob's UniqueID if recognized and spawned, or cEntity::INVALID_ID on failure. */ @@ -49,8 +85,8 @@ public: Returns the UniqueID of the spawned experience orb, or cEntity::INVALID_ID on failure. */ virtual UInt32 SpawnExperienceOrb(double a_X, double a_Y, double a_Z, int a_Reward) = 0; - /** Spawns experience orbs of the specified total value at the given location. The orbs' values are split according to regular Minecraft rules. - Returns an vector of UniqueID of all the orbs. */ + /** Spawns experience orbs of the specified total value at the given location. The orbs' values are split according + to regular Minecraft rules. Returns an vector of UniqueID of all the orbs. */ virtual std::vector SpawnSplitExperienceOrbs(Vector3d a_Pos, int a_Reward) = 0; /** Sends the block on those coords to the player */ @@ -62,7 +98,8 @@ public: SendBlockTo(a_BlockPos.x, a_BlockPos.y, a_BlockPos.z, a_Player); } - /** Calls the callback for each player in the list; returns true if all players processed, false if the callback aborted by returning true */ + /** Calls the callback for each player in the list; returns true if all players processed, false if the callback + * aborted by returning true */ virtual bool ForEachPlayer(cPlayerListCallback a_Callback) = 0; /** Calls the callback for each entity that has a nonempty intersection with the specified boundingbox. @@ -96,5 +133,4 @@ public: /** Wakes up the simulators for the specified block */ virtual void WakeUpSimulators(Vector3i a_Block) = 0; - }; diff --git a/src/BoundingBox.cpp b/src/BoundingBox.cpp index 1356e165c..cbb63bc1b 100644 --- a/src/BoundingBox.cpp +++ b/src/BoundingBox.cpp @@ -10,8 +10,7 @@ cBoundingBox::cBoundingBox(double a_MinX, double a_MaxX, double a_MinY, double a_MaxY, double a_MinZ, double a_MaxZ) : - m_Min(a_MinX, a_MinY, a_MinZ), - m_Max(a_MaxX, a_MaxY, a_MaxZ) + m_Min(a_MinX, a_MinY, a_MinZ), m_Max(a_MaxX, a_MaxY, a_MaxZ) { } @@ -20,8 +19,7 @@ cBoundingBox::cBoundingBox(double a_MinX, double a_MaxX, double a_MinY, double a cBoundingBox::cBoundingBox(Vector3d a_Min, Vector3d a_Max) : - m_Min(a_Min), - m_Max(a_Max) + m_Min(a_Min), m_Max(a_Max) { } @@ -30,7 +28,7 @@ cBoundingBox::cBoundingBox(Vector3d a_Min, Vector3d a_Max) : cBoundingBox::cBoundingBox(Vector3d a_Pos, double a_Radius, double a_Height) : - m_Min(a_Pos.x - a_Radius, a_Pos.y, a_Pos.z - a_Radius), + m_Min(a_Pos.x - a_Radius, a_Pos.y, a_Pos.z - a_Radius), m_Max(a_Pos.x + a_Radius, a_Pos.y + a_Height, a_Pos.z + a_Radius) { } @@ -106,7 +104,7 @@ bool cBoundingBox::DoesIntersect(const cBoundingBox & a_Other) return ( ((a_Other.m_Min.x <= m_Max.x) && (a_Other.m_Max.x >= m_Min.x)) && // X coords intersect ((a_Other.m_Min.y <= m_Max.y) && (a_Other.m_Max.y >= m_Min.y)) && // Y coords intersect - ((a_Other.m_Min.z <= m_Max.z) && (a_Other.m_Max.z >= m_Min.z)) // Z coords intersect + ((a_Other.m_Min.z <= m_Max.z) && (a_Other.m_Max.z >= m_Min.z)) // Z coords intersect ); } @@ -171,8 +169,7 @@ bool cBoundingBox::IsInside(Vector3d a_Min, Vector3d a_Max) bool cBoundingBox::IsInside(Vector3d a_Min, Vector3d a_Max, Vector3d a_Point) { return ( - ((a_Point.x >= a_Min.x) && (a_Point.x <= a_Max.x)) && - ((a_Point.y >= a_Min.y) && (a_Point.y <= a_Max.y)) && + ((a_Point.x >= a_Min.x) && (a_Point.x <= a_Max.x)) && ((a_Point.y >= a_Min.y) && (a_Point.y <= a_Max.y)) && ((a_Point.z >= a_Min.z) && (a_Point.z <= a_Max.z)) ); } @@ -184,8 +181,7 @@ bool cBoundingBox::IsInside(Vector3d a_Min, Vector3d a_Max, Vector3d a_Point) bool cBoundingBox::IsInside(Vector3d a_Min, Vector3d a_Max, double a_X, double a_Y, double a_Z) { return ( - ((a_X >= a_Min.x) && (a_X <= a_Max.x)) && - ((a_Y >= a_Min.y) && (a_Y <= a_Max.y)) && + ((a_X >= a_Min.x) && (a_X <= a_Max.x)) && ((a_Y >= a_Min.y) && (a_Y <= a_Max.y)) && ((a_Z >= a_Min.z) && (a_Z <= a_Max.z)) ); } @@ -194,7 +190,8 @@ bool cBoundingBox::IsInside(Vector3d a_Min, Vector3d a_Max, double a_X, double a -bool cBoundingBox::CalcLineIntersection(Vector3d a_Line1, Vector3d a_Line2, double & a_LineCoeff, eBlockFace & a_Face) const +bool cBoundingBox::CalcLineIntersection(Vector3d a_Line1, Vector3d a_Line2, double & a_LineCoeff, eBlockFace & a_Face) + const { return CalcLineIntersection(m_Min, m_Max, a_Line1, a_Line2, a_LineCoeff, a_Face); } @@ -203,7 +200,14 @@ bool cBoundingBox::CalcLineIntersection(Vector3d a_Line1, Vector3d a_Line2, doub -bool cBoundingBox::CalcLineIntersection(Vector3d a_Min, Vector3d a_Max, Vector3d a_Line1, Vector3d a_Line2, double & a_LineCoeff, eBlockFace & a_Face) +bool cBoundingBox::CalcLineIntersection( + Vector3d a_Min, + Vector3d a_Max, + Vector3d a_Line1, + Vector3d a_Line2, + double & a_LineCoeff, + eBlockFace & a_Face +) { if (IsInside(a_Min, a_Max, a_Line1)) { @@ -287,7 +291,3 @@ bool cBoundingBox::Intersect(const cBoundingBox & a_Other, cBoundingBox & a_Inte a_Intersection.m_Max.z = std::min(m_Max.z, a_Other.m_Max.z); return (a_Intersection.m_Min.z < a_Intersection.m_Max.z); } - - - - diff --git a/src/BoundingBox.h b/src/BoundingBox.h index e62711658..a9024dd96 100644 --- a/src/BoundingBox.h +++ b/src/BoundingBox.h @@ -22,19 +22,20 @@ For intersection purposes, though, if the intersection is "sharp" in any coord ( the boxes are considered non-intersecting. */ class cBoundingBox { -public: + public: cBoundingBox(double a_MinX, double a_MaxX, double a_MinY, double a_MaxY, double a_MinZ, double a_MaxZ); cBoundingBox(Vector3d a_Min, Vector3d a_Max); cBoundingBox(Vector3d a_Pos, double a_Radius, double a_Height); /** Constructor that allows to define a bounding box given a center point (a_Pos), a horizontal radius (a_Radius), - a height starting from given center point (a_Height) and a vertical offset (a_VerticalOffset) to adjust the vertical starting point. - For example: cBoundingBox([0, 0, 0], 6, 6, -3) would create a bounding cube from (-3, -3, -3) to (3, 3, 3). */ + a height starting from given center point (a_Height) and a vertical offset (a_VerticalOffset) to adjust the vertical + starting point. For example: cBoundingBox([0, 0, 0], 6, 6, -3) would create a bounding cube from (-3, -3, -3) to (3, + 3, 3). */ cBoundingBox(Vector3d a_Pos, double a_Radius, double a_Height, double a_VerticalOffset); cBoundingBox(Vector3d a_Pos, double a_CubeLength); - #ifdef TOLUA_EXPOSITION // tolua isn't aware of implicitly generated copy constructors - cBoundingBox(const cBoundingBox & a_Orig); - #endif +#ifdef TOLUA_EXPOSITION // tolua isn't aware of implicitly generated copy constructors + cBoundingBox(const cBoundingBox & a_Orig); +#endif /** Moves the entire boundingbox by the specified offset */ void Move(double a_OffX, double a_OffY, double a_OffZ); @@ -42,7 +43,8 @@ public: /** Moves the entire boundingbox by the specified offset */ void Move(Vector3d a_Off); - /** Expands the bounding box by the specified amount in each direction (so the box becomes larger by 2 * Expand in each direction) */ + /** Expands the bounding box by the specified amount in each direction (so the box becomes larger by 2 * Expand in + * each direction) */ void Expand(double a_ExpandX, double a_ExpandY, double a_ExpandZ); /** Returns true if the two bounding boxes intersect */ @@ -72,16 +74,24 @@ public: // tolua_end /** Returns true if this bounding box is intersected by the line specified by its two points - Also calculates the distance along the line in which the intersection occurs, and the face hit (BLOCK_FACE_ constants) - Only forward collisions (a_LineCoeff >= 0) are returned. - Exported to Lua manually, because ToLua++ would generate needless input params (a_LineCoeff, a_Face). */ - bool CalcLineIntersection(Vector3d a_LinePoint1, Vector3d a_LinePoint2, double & a_LineCoeff, eBlockFace & a_Face) const; + Also calculates the distance along the line in which the intersection occurs, and the face hit (BLOCK_FACE_ + constants) Only forward collisions (a_LineCoeff >= 0) are returned. Exported to Lua manually, because ToLua++ would + generate needless input params (a_LineCoeff, a_Face). */ + bool CalcLineIntersection(Vector3d a_LinePoint1, Vector3d a_LinePoint2, double & a_LineCoeff, eBlockFace & a_Face) + const; /** Returns true if the specified bounding box is intersected by the line specified by its two points - Also calculates the distance along the line in which the intersection occurs, and the face hit (BLOCK_FACE_ constants) - Only forward collisions (a_LineCoeff >= 0) are returned. - Exported to Lua manually, because ToLua++ would generate needless input params (a_LineCoeff, a_Face). */ - static bool CalcLineIntersection(Vector3d a_Min, Vector3d a_Max, Vector3d a_LinePoint1, Vector3d a_LinePoint2, double & a_LineCoeff, eBlockFace & a_Face); + Also calculates the distance along the line in which the intersection occurs, and the face hit (BLOCK_FACE_ + constants) Only forward collisions (a_LineCoeff >= 0) are returned. Exported to Lua manually, because ToLua++ would + generate needless input params (a_LineCoeff, a_Face). */ + static bool CalcLineIntersection( + Vector3d a_Min, + Vector3d a_Max, + Vector3d a_LinePoint1, + Vector3d a_LinePoint2, + double & a_LineCoeff, + eBlockFace & a_Face + ); /** Calculates the intersection of the two bounding boxes; returns true if nonempty. Exported manually, because ToLua++ would generate needless input params (a_Intersection). */ @@ -102,12 +112,8 @@ public: // tolua_end -protected: + protected: Vector3d m_Min; Vector3d m_Max; -} ; // tolua_export - - - - +}; // tolua_export diff --git a/src/BrewingRecipes.cpp b/src/BrewingRecipes.cpp index 7bce72883..d0676d595 100644 --- a/src/BrewingRecipes.cpp +++ b/src/BrewingRecipes.cpp @@ -92,14 +92,22 @@ void cBrewingRecipes::AddRecipeFromLine(AString a_Line, unsigned int a_LineNum) if (!StringToInteger(InputAndIngredient[0], Recipe->Input.m_ItemDamage)) { - LOGWARNING("brewing.txt: line %d: Cannot parse the damage value for the input item\"%s\".", a_LineNum, InputAndIngredient[0].c_str()); + LOGWARNING( + "brewing.txt: line %d: Cannot parse the damage value for the input item\"%s\".", + a_LineNum, + InputAndIngredient[0].c_str() + ); LOGINFO("Offending line: \"%s\"", a_Line.c_str()); return; } if (!StringToInteger(IngredientAndOutput[1], Recipe->Output.m_ItemDamage)) { - LOGWARNING("brewing.txt: line %d: Cannot parse the damage value for the output item\"%s\".", a_LineNum, IngredientAndOutput[1].c_str()); + LOGWARNING( + "brewing.txt: line %d: Cannot parse the damage value for the output item\"%s\".", + a_LineNum, + IngredientAndOutput[1].c_str() + ); LOGINFO("Offending line: \"%s\"", a_Line.c_str()); return; } @@ -164,13 +172,16 @@ const cBrewingRecipes::cRecipe * cBrewingRecipes::GetRecipeFrom(const cItem & a_ // Search for the drinkable potion, the ingredients are the same short SplashItemDamage = a_Input.m_ItemDamage - 8192; - auto FoundRecipe = std::find_if(m_Recipes.cbegin(), m_Recipes.cend(), [&](const std::unique_ptr& a_Recipe) - { - return ( - (a_Recipe->Input.m_ItemDamage == SplashItemDamage) && - (a_Recipe->Ingredient.IsEqual(a_Ingredient)) - ); - }); + auto FoundRecipe = std::find_if( + m_Recipes.cbegin(), + m_Recipes.cend(), + [&](const std::unique_ptr & a_Recipe) + { + return ( + (a_Recipe->Input.m_ItemDamage == SplashItemDamage) && (a_Recipe->Ingredient.IsEqual(a_Ingredient)) + ); + } + ); if (FoundRecipe == m_Recipes.cend()) { @@ -230,7 +241,3 @@ bool cBrewingRecipes::IsFuel(const cItem & a_Item) const { return (a_Item.m_ItemType == E_ITEM_BLAZE_POWDER); } - - - - diff --git a/src/BrewingRecipes.h b/src/BrewingRecipes.h index 78e1c196b..1a8a9633b 100644 --- a/src/BrewingRecipes.h +++ b/src/BrewingRecipes.h @@ -13,7 +13,7 @@ class cBrewingRecipes { -public: + public: cBrewingRecipes(void); void ReloadRecipes(void); @@ -43,7 +43,8 @@ public: /** Returns true if the item is the fuel, false if not. */ bool IsFuel(const cItem & a_Item) const; -private: + + private: using cRecipes = std::vector>; void ClearRecipes(void); @@ -56,6 +57,7 @@ private: bool ParseItem(const AString & a_String, cItem & a_Item); /** The collection of parsed recipes. - GetRecipeFrom may cache splash variants of recipes here but the observable behaviour is constant, so this should be mutable. */ + GetRecipeFrom may cache splash variants of recipes here but the observable behaviour is constant, so this should be + mutable. */ mutable cRecipes m_Recipes; }; diff --git a/src/Broadcaster.cpp b/src/Broadcaster.cpp index 9369b8062..a6a841cf7 100644 --- a/src/Broadcaster.cpp +++ b/src/Broadcaster.cpp @@ -17,90 +17,97 @@ namespace { - /** Calls the function object a_Func for every active client in the world - \param a_World World the clients are in - \param a_Exclude Client for which a_Func should not be called - \param a_Func Function to be called with each non-excluded client */ - template - void ForClientsInWorld(cWorld & a_World, const cClientHandle * a_Exclude, Func a_Func) - { - a_World.ForEachPlayer([&](cPlayer & a_Player) +/** Calls the function object a_Func for every active client in the world +\param a_World World the clients are in +\param a_Exclude Client for which a_Func should not be called +\param a_Func Function to be called with each non-excluded client */ +template void ForClientsInWorld(cWorld & a_World, const cClientHandle * a_Exclude, Func a_Func) +{ + a_World.ForEachPlayer( + [&](cPlayer & a_Player) + { + cClientHandle * Client = a_Player.GetClientHandle(); + if ((Client != a_Exclude) && (Client != nullptr) && Client->IsLoggedIn() && !Client->IsDestroyed()) { - cClientHandle * Client = a_Player.GetClientHandle(); - if ((Client != a_Exclude) && (Client != nullptr) && Client->IsLoggedIn() && !Client->IsDestroyed()) - { - a_Func(*Client); - } - return false; + a_Func(*Client); } - ); - } + return false; + } + ); +} - /** Calls the function object a_Func for every client who has the specified chunk - \param a_ChunkCoords Coords of the chunk to query for clients - \param a_World World that the chunk is in - \param a_Exclude Client for which a_Func should not be called - \param a_Func Function to be called with each non-excluded client */ - template - void ForClientsWithChunk(const cChunkCoords a_ChunkCoords, cWorld & a_World, const cClientHandle * a_Exclude, Func a_Func) - { - a_World.DoWithChunk(a_ChunkCoords.m_ChunkX, a_ChunkCoords.m_ChunkZ, - [&](cChunk & a_Chunk) +/** Calls the function object a_Func for every client who has the specified chunk +\param a_ChunkCoords Coords of the chunk to query for clients +\param a_World World that the chunk is in +\param a_Exclude Client for which a_Func should not be called +\param a_Func Function to be called with each non-excluded client */ +template +void ForClientsWithChunk( + const cChunkCoords a_ChunkCoords, + cWorld & a_World, + const cClientHandle * a_Exclude, + Func a_Func +) +{ + a_World.DoWithChunk( + a_ChunkCoords.m_ChunkX, + a_ChunkCoords.m_ChunkZ, + [&](cChunk & a_Chunk) + { + for (auto * Client : a_Chunk.GetAllClients()) { - for (auto * Client : a_Chunk.GetAllClients()) + if (Client != a_Exclude) { - if (Client != a_Exclude) - { - a_Func(*Client); - } + a_Func(*Client); } - return true; } - ); - } + return true; + } + ); +} - /** Calls the function object a_Func for every client who has the chunk at the specified block position - \param a_WorldPos Coordinates of the block to query for clients - \param a_World World that the block is in - \param a_Exclude Client for which a_Func should not be called - \param a_Func Function to be called with each non-excluded client */ - template - void ForClientsWithChunkAtPos(const Vector3i a_WorldPos, cWorld & a_World, const cClientHandle * a_Exclude, Func a_Func) - { - ForClientsWithChunk(cChunkDef::BlockToChunk(a_WorldPos), a_World, a_Exclude, std::move(a_Func)); - } +/** Calls the function object a_Func for every client who has the chunk at the specified block position +\param a_WorldPos Coordinates of the block to query for clients +\param a_World World that the block is in +\param a_Exclude Client for which a_Func should not be called +\param a_Func Function to be called with each non-excluded client */ +template +void ForClientsWithChunkAtPos(const Vector3i a_WorldPos, cWorld & a_World, const cClientHandle * a_Exclude, Func a_Func) +{ + ForClientsWithChunk(cChunkDef::BlockToChunk(a_WorldPos), a_World, a_Exclude, std::move(a_Func)); +} - /** Calls the function object a_Func for every client who has the specified entity - \param a_Entity Entity to query for clients - \param a_World World that the block is in - \param a_Exclude Client for which a_Func should not be called - \param a_Func Function to be called with each non-excluded client */ - template - void ForClientsWithEntity(const cEntity & a_Entity, cWorld & a_World, const cClientHandle * a_Exclude, Func a_Func) +/** Calls the function object a_Func for every client who has the specified entity +\param a_Entity Entity to query for clients +\param a_World World that the block is in +\param a_Exclude Client for which a_Func should not be called +\param a_Func Function to be called with each non-excluded client */ +template +void ForClientsWithEntity(const cEntity & a_Entity, cWorld & a_World, const cClientHandle * a_Exclude, Func a_Func) +{ + cWorld::cLock Lock(a_World); // Lock world before accessing a_Entity + auto Chunk = a_Entity.GetParentChunk(); + if (Chunk != nullptr) { - cWorld::cLock Lock(a_World); // Lock world before accessing a_Entity - auto Chunk = a_Entity.GetParentChunk(); - if (Chunk != nullptr) + for (auto * Client : Chunk->GetAllClients()) { - for (auto * Client : Chunk->GetAllClients()) + if (Client != a_Exclude) { - if (Client != a_Exclude) - { - a_Func(*Client); - } + a_Func(*Client); } } - else // Some broadcasts happen before the entity's first tick sets its ParentChunk - { - ForClientsWithChunk({ a_Entity.GetChunkX(), a_Entity.GetChunkZ() }, a_World, a_Exclude, std::move(a_Func)); - } } -} // namespace (anonymous) + else // Some broadcasts happen before the entity's first tick sets its ParentChunk + { + ForClientsWithChunk({a_Entity.GetChunkX(), a_Entity.GetChunkZ()}, a_World, a_Exclude, std::move(a_Func)); + } +} +} // namespace @@ -108,10 +115,11 @@ namespace void cWorld::BroadcastAttachEntity(const cEntity & a_Entity, const cEntity & a_Vehicle) { - ForClientsWithEntity(a_Entity, *this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendAttachEntity(a_Entity, a_Vehicle); - } + ForClientsWithEntity( + a_Entity, + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendAttachEntity(a_Entity, a_Vehicle); } ); } @@ -119,12 +127,20 @@ void cWorld::BroadcastAttachEntity(const cEntity & a_Entity, const cEntity & a_V -void cWorld::BroadcastBlockAction(Vector3i a_BlockPos, Byte a_Byte1, Byte a_Byte2, BLOCKTYPE a_BlockType, const cClientHandle * a_Exclude) +void cWorld::BroadcastBlockAction( + Vector3i a_BlockPos, + Byte a_Byte1, + Byte a_Byte2, + BLOCKTYPE a_BlockType, + const cClientHandle * a_Exclude +) { - ForClientsWithChunkAtPos(a_BlockPos, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendBlockAction(a_BlockPos, static_cast(a_Byte1), static_cast(a_Byte2), a_BlockType); - } + ForClientsWithChunkAtPos( + a_BlockPos, + *this, + a_Exclude, + [&](cClientHandle & a_Client) + { a_Client.SendBlockAction(a_BlockPos, static_cast(a_Byte1), static_cast(a_Byte2), a_BlockType); } ); } @@ -132,12 +148,18 @@ void cWorld::BroadcastBlockAction(Vector3i a_BlockPos, Byte a_Byte1, Byte a_Byte -void cWorld::BroadcastBlockBreakAnimation(UInt32 a_EntityID, Vector3i a_BlockPos, Int8 a_Stage, const cClientHandle * a_Exclude) +void cWorld::BroadcastBlockBreakAnimation( + UInt32 a_EntityID, + Vector3i a_BlockPos, + Int8 a_Stage, + const cClientHandle * a_Exclude +) { - ForClientsWithChunkAtPos(a_BlockPos, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendBlockBreakAnim(a_EntityID, a_BlockPos, a_Stage); - } + ForClientsWithChunkAtPos( + a_BlockPos, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendBlockBreakAnim(a_EntityID, a_BlockPos, a_Stage); } ); } @@ -147,7 +169,9 @@ void cWorld::BroadcastBlockBreakAnimation(UInt32 a_EntityID, Vector3i a_BlockPos void cWorld::BroadcastBlockEntity(Vector3i a_BlockPos, const cClientHandle * a_Exclude) { - DoWithChunkAt(a_BlockPos, [&](cChunk & a_Chunk) + DoWithChunkAt( + a_BlockPos, + [&](cChunk & a_Chunk) { cBlockEntity * Entity = a_Chunk.GetBlockEntity(a_BlockPos); if (Entity == nullptr) @@ -173,10 +197,11 @@ void cWorld::BroadcastBlockEntity(Vector3i a_BlockPos, const cClientHandle * a_E void cWorld::BroadcastBossBarUpdateHealth(const cEntity & a_Entity, UInt32 a_UniqueID, float a_FractionFilled) { - ForClientsWithEntity(a_Entity, *this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendBossBarUpdateHealth(a_UniqueID, a_FractionFilled); - } + ForClientsWithEntity( + a_Entity, + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendBossBarUpdateHealth(a_UniqueID, a_FractionFilled); } ); } @@ -191,11 +216,7 @@ void cWorld::BroadcastChat(const AString & a_Message, const cClientHandle * a_Ex return; } - ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendChat(a_Message, a_ChatPrefix); - } - ); + ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) { a_Client.SendChat(a_Message, a_ChatPrefix); }); } @@ -204,23 +225,25 @@ void cWorld::BroadcastChat(const AString & a_Message, const cClientHandle * a_Ex void cWorld::BroadcastChat(const cCompositeChat & a_Message, const cClientHandle * a_Exclude) { - ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendChat(a_Message); - } - ); + ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) { a_Client.SendChat(a_Message); }); } -void cWorld::BroadcastCollectEntity(const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count, const cClientHandle * a_Exclude) +void cWorld::BroadcastCollectEntity( + const cEntity & a_Collected, + const cEntity & a_Collector, + unsigned a_Count, + const cClientHandle * a_Exclude +) { - ForClientsWithEntity(a_Collected, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendCollectEntity(a_Collected, a_Collector, a_Count); - } + ForClientsWithEntity( + a_Collected, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendCollectEntity(a_Collected, a_Collector, a_Count); } ); } @@ -230,10 +253,11 @@ void cWorld::BroadcastCollectEntity(const cEntity & a_Collected, const cEntity & void cWorld::BroadcastDestroyEntity(const cEntity & a_Entity, const cClientHandle * a_Exclude) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendDestroyEntity(a_Entity); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendDestroyEntity(a_Entity); } ); } @@ -243,10 +267,11 @@ void cWorld::BroadcastDestroyEntity(const cEntity & a_Entity, const cClientHandl void cWorld::BroadcastDetachEntity(const cEntity & a_Entity, const cEntity & a_PreviousVehicle) { - ForClientsWithEntity(a_Entity, *this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendDetachEntity(a_Entity, a_PreviousVehicle); - } + ForClientsWithEntity( + a_Entity, + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendDetachEntity(a_Entity, a_PreviousVehicle); } ); } @@ -256,10 +281,10 @@ void cWorld::BroadcastDetachEntity(const cEntity & a_Entity, const cEntity & a_P void cWorld::BroadcastDisplayObjective(const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) { - ForClientsInWorld(*this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendDisplayObjective(a_Objective, a_Display); - } + ForClientsInWorld( + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendDisplayObjective(a_Objective, a_Display); } ); } @@ -267,12 +292,19 @@ void cWorld::BroadcastDisplayObjective(const AString & a_Objective, cScoreboard: -void cWorld::BroadcastEntityEffect(const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration, const cClientHandle * a_Exclude) +void cWorld::BroadcastEntityEffect( + const cEntity & a_Entity, + int a_EffectID, + int a_Amplifier, + int a_Duration, + const cClientHandle * a_Exclude +) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendEntityEffect(a_Entity, a_EffectID, a_Amplifier, a_Duration); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendEntityEffect(a_Entity, a_EffectID, a_Amplifier, a_Duration); } ); } @@ -280,12 +312,18 @@ void cWorld::BroadcastEntityEffect(const cEntity & a_Entity, int a_EffectID, int -void cWorld::BroadcastEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item, const cClientHandle * a_Exclude) +void cWorld::BroadcastEntityEquipment( + const cEntity & a_Entity, + short a_SlotNum, + const cItem & a_Item, + const cClientHandle * a_Exclude +) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendEntityEquipment(a_Entity, a_SlotNum, a_Item); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendEntityEquipment(a_Entity, a_SlotNum, a_Item); } ); } @@ -295,10 +333,11 @@ void cWorld::BroadcastEntityEquipment(const cEntity & a_Entity, short a_SlotNum, void cWorld::BroadcastEntityHeadLook(const cEntity & a_Entity, const cClientHandle * a_Exclude) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendEntityHeadLook(a_Entity); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendEntityHeadLook(a_Entity); } ); } @@ -308,10 +347,11 @@ void cWorld::BroadcastEntityHeadLook(const cEntity & a_Entity, const cClientHand void cWorld::BroadcastEntityLook(const cEntity & a_Entity, const cClientHandle * a_Exclude) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendEntityLook(a_Entity); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendEntityLook(a_Entity); } ); } @@ -321,10 +361,11 @@ void cWorld::BroadcastEntityLook(const cEntity & a_Entity, const cClientHandle * void cWorld::BroadcastEntityMetadata(const cEntity & a_Entity, const cClientHandle * a_Exclude) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendEntityMetadata(a_Entity); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendEntityMetadata(a_Entity); } ); } @@ -334,10 +375,11 @@ void cWorld::BroadcastEntityMetadata(const cEntity & a_Entity, const cClientHand void cWorld::BroadcastEntityPosition(const cEntity & a_Entity, const cClientHandle * a_Exclude) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendEntityPosition(a_Entity); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendEntityPosition(a_Entity); } ); } @@ -347,10 +389,11 @@ void cWorld::BroadcastEntityPosition(const cEntity & a_Entity, const cClientHand void cWorld::BroadcastEntityProperties(const cEntity & a_Entity) { - ForClientsWithEntity(a_Entity, *this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendEntityProperties(a_Entity); - } + ForClientsWithEntity( + a_Entity, + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendEntityProperties(a_Entity); } ); } @@ -360,10 +403,11 @@ void cWorld::BroadcastEntityProperties(const cEntity & a_Entity) void cWorld::BroadcastEntityVelocity(const cEntity & a_Entity, const cClientHandle * a_Exclude) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendEntityVelocity(a_Entity); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendEntityVelocity(a_Entity); } ); } @@ -371,12 +415,17 @@ void cWorld::BroadcastEntityVelocity(const cEntity & a_Entity, const cClientHand -void cWorld::BroadcastEntityAnimation(const cEntity & a_Entity, EntityAnimation a_Animation, const cClientHandle * a_Exclude) +void cWorld::BroadcastEntityAnimation( + const cEntity & a_Entity, + EntityAnimation a_Animation, + const cClientHandle * a_Exclude +) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendEntityAnimation(a_Entity, a_Animation); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendEntityAnimation(a_Entity, a_Animation); } ); } @@ -386,10 +435,11 @@ void cWorld::BroadcastEntityAnimation(const cEntity & a_Entity, EntityAnimation void cWorld::BroadcastLeashEntity(const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) { - ForClientsWithEntity(a_Entity, *this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendLeashEntity(a_Entity, a_EntityLeashedTo); - } + ForClientsWithEntity( + a_Entity, + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendLeashEntity(a_Entity, a_EntityLeashedTo); } ); } @@ -397,12 +447,21 @@ void cWorld::BroadcastLeashEntity(const cEntity & a_Entity, const cEntity & a_En -void cWorld::BroadcastParticleEffect(const AString & a_ParticleName, const Vector3f a_Src, const Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, const cClientHandle * a_Exclude) +void cWorld::BroadcastParticleEffect( + const AString & a_ParticleName, + const Vector3f a_Src, + const Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + const cClientHandle * a_Exclude +) { - ForClientsWithChunkAtPos(a_Src, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendParticleEffect(a_ParticleName, a_Src, a_Offset, a_ParticleData, a_ParticleAmount); - } + ForClientsWithChunkAtPos( + a_Src, + *this, + a_Exclude, + [&](cClientHandle & a_Client) + { a_Client.SendParticleEffect(a_ParticleName, a_Src, a_Offset, a_ParticleData, a_ParticleAmount); } ); } @@ -410,12 +469,22 @@ void cWorld::BroadcastParticleEffect(const AString & a_ParticleName, const Vecto -void cWorld::BroadcastParticleEffect(const AString & a_ParticleName, const Vector3f a_Src, const Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data, const cClientHandle * a_Exclude) +void cWorld::BroadcastParticleEffect( + const AString & a_ParticleName, + const Vector3f a_Src, + const Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data, + const cClientHandle * a_Exclude +) { - ForClientsWithChunkAtPos(a_Src, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendParticleEffect(a_ParticleName, a_Src, a_Offset, a_ParticleData, a_ParticleAmount, a_Data); - } + ForClientsWithChunkAtPos( + a_Src, + *this, + a_Exclude, + [&](cClientHandle & a_Client) + { a_Client.SendParticleEffect(a_ParticleName, a_Src, a_Offset, a_ParticleData, a_ParticleAmount, a_Data); } ); } @@ -425,11 +494,7 @@ void cWorld::BroadcastParticleEffect(const AString & a_ParticleName, const Vecto void cWorld::BroadcastPlayerListAddPlayer(const cPlayer & a_Player, const cClientHandle * a_Exclude) { - ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendPlayerListAddPlayer(a_Player); - } - ); + ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) { a_Client.SendPlayerListAddPlayer(a_Player); }); } @@ -438,10 +503,10 @@ void cWorld::BroadcastPlayerListAddPlayer(const cPlayer & a_Player, const cClien void cWorld::BroadcastPlayerListHeaderFooter(const cCompositeChat & a_Header, const cCompositeChat & a_Footer) { - ForClientsInWorld(*this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendPlayerListHeaderFooter(a_Header, a_Footer); - } + ForClientsInWorld( + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendPlayerListHeaderFooter(a_Header, a_Footer); } ); } @@ -451,10 +516,10 @@ void cWorld::BroadcastPlayerListHeaderFooter(const cCompositeChat & a_Header, co void cWorld::BroadcastPlayerListRemovePlayer(const cPlayer & a_Player, const cClientHandle * a_Exclude) { - ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendPlayerListRemovePlayer(a_Player); - } + ForClientsInWorld( + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendPlayerListRemovePlayer(a_Player); } ); } @@ -462,12 +527,16 @@ void cWorld::BroadcastPlayerListRemovePlayer(const cPlayer & a_Player, const cCl -void cWorld::BroadcastPlayerListUpdateDisplayName(const cPlayer & a_Player, const AString & a_CustomName, const cClientHandle * a_Exclude) +void cWorld::BroadcastPlayerListUpdateDisplayName( + const cPlayer & a_Player, + const AString & a_CustomName, + const cClientHandle * a_Exclude +) { - ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendPlayerListUpdateDisplayName(a_Player, a_CustomName); - } + ForClientsInWorld( + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendPlayerListUpdateDisplayName(a_Player, a_CustomName); } ); } @@ -477,10 +546,10 @@ void cWorld::BroadcastPlayerListUpdateDisplayName(const cPlayer & a_Player, cons void cWorld::BroadcastPlayerListUpdateGameMode(const cPlayer & a_Player, const cClientHandle * a_Exclude) { - ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendPlayerListUpdateGameMode(a_Player); - } + ForClientsInWorld( + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendPlayerListUpdateGameMode(a_Player); } ); } @@ -490,11 +559,7 @@ void cWorld::BroadcastPlayerListUpdateGameMode(const cPlayer & a_Player, const c void cWorld::BroadcastPlayerListUpdatePing() { - ForClientsInWorld(*this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendPlayerListUpdatePing(); - } - ); + ForClientsInWorld(*this, nullptr, [&](cClientHandle & a_Client) { a_Client.SendPlayerListUpdatePing(); }); } @@ -503,10 +568,11 @@ void cWorld::BroadcastPlayerListUpdatePing() void cWorld::BroadcastRemoveEntityEffect(const cEntity & a_Entity, int a_EffectID, const cClientHandle * a_Exclude) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendRemoveEntityEffect(a_Entity, a_EffectID); - } + ForClientsWithEntity( + a_Entity, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendRemoveEntityEffect(a_Entity, a_EffectID); } ); } @@ -516,10 +582,10 @@ void cWorld::BroadcastRemoveEntityEffect(const cEntity & a_Entity, int a_EffectI void cWorld::BroadcastScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) { - ForClientsInWorld(*this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendScoreboardObjective(a_Name, a_DisplayName, a_Mode); - } + ForClientsInWorld( + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendScoreboardObjective(a_Name, a_DisplayName, a_Mode); } ); } @@ -527,12 +593,17 @@ void cWorld::BroadcastScoreboardObjective(const AString & a_Name, const AString -void cWorld::BroadcastScoreUpdate(const AString & a_Objective, const AString & a_PlayerName, cObjective::Score a_Score, Byte a_Mode) +void cWorld::BroadcastScoreUpdate( + const AString & a_Objective, + const AString & a_PlayerName, + cObjective::Score a_Score, + Byte a_Mode +) { - ForClientsInWorld(*this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendScoreUpdate(a_Objective, a_PlayerName, a_Score, a_Mode); - } + ForClientsInWorld( + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendScoreUpdate(a_Objective, a_PlayerName, a_Score, a_Mode); } ); } @@ -540,12 +611,19 @@ void cWorld::BroadcastScoreUpdate(const AString & a_Objective, const AString & a -void cWorld::BroadcastSoundEffect(const AString & a_SoundName, Vector3d a_Position, float a_Volume, float a_Pitch, const cClientHandle * a_Exclude) +void cWorld::BroadcastSoundEffect( + const AString & a_SoundName, + Vector3d a_Position, + float a_Volume, + float a_Pitch, + const cClientHandle * a_Exclude +) { - ForClientsWithChunkAtPos(a_Position, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendSoundEffect(a_SoundName, a_Position, a_Volume, a_Pitch); - } + ForClientsWithChunkAtPos( + a_Position, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendSoundEffect(a_SoundName, a_Position, a_Volume, a_Pitch); } ); } @@ -553,12 +631,18 @@ void cWorld::BroadcastSoundEffect(const AString & a_SoundName, Vector3d a_Positi -void cWorld::BroadcastSoundParticleEffect(const EffectID a_EffectID, Vector3i a_SrcPos, int a_Data, const cClientHandle * a_Exclude) +void cWorld::BroadcastSoundParticleEffect( + const EffectID a_EffectID, + Vector3i a_SrcPos, + int a_Data, + const cClientHandle * a_Exclude +) { - ForClientsWithChunkAtPos(a_SrcPos, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendSoundParticleEffect(a_EffectID, a_SrcPos, a_Data); - } + ForClientsWithChunkAtPos( + a_SrcPos, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendSoundParticleEffect(a_EffectID, a_SrcPos, a_Data); } ); } @@ -568,11 +652,7 @@ void cWorld::BroadcastSoundParticleEffect(const EffectID a_EffectID, Vector3i a_ void cWorld::BroadcastSpawnEntity(cEntity & a_Entity, const cClientHandle * a_Exclude) { - ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Entity.SpawnOn(a_Client); - } - ); + ForClientsWithEntity(a_Entity, *this, a_Exclude, [&](cClientHandle & a_Client) { a_Entity.SpawnOn(a_Client); }); } @@ -581,10 +661,11 @@ void cWorld::BroadcastSpawnEntity(cEntity & a_Entity, const cClientHandle * a_Ex void cWorld::BroadcastThunderbolt(Vector3i a_BlockPos, const cClientHandle * a_Exclude) { - ForClientsWithChunkAtPos(a_BlockPos, *this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendThunderbolt(a_BlockPos); - } + ForClientsWithChunkAtPos( + a_BlockPos, + *this, + a_Exclude, + [&](cClientHandle & a_Client) { a_Client.SendThunderbolt(a_BlockPos); } ); } @@ -594,10 +675,11 @@ void cWorld::BroadcastThunderbolt(Vector3i a_BlockPos, const cClientHandle * a_E void cWorld::BroadcastTimeUpdate(const cClientHandle * a_Exclude) { - ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendTimeUpdate(GetWorldAge(), GetWorldDate(), IsDaylightCycleEnabled()); - } + ForClientsInWorld( + *this, + a_Exclude, + [&](cClientHandle & a_Client) + { a_Client.SendTimeUpdate(GetWorldAge(), GetWorldDate(), IsDaylightCycleEnabled()); } ); } @@ -607,10 +689,11 @@ void cWorld::BroadcastTimeUpdate(const cClientHandle * a_Exclude) void cWorld::BroadcastUnleashEntity(const cEntity & a_Entity) { - ForClientsWithEntity(a_Entity, *this, nullptr, [&](cClientHandle & a_Client) - { - a_Client.SendUnleashEntity(a_Entity); - } + ForClientsWithEntity( + a_Entity, + *this, + nullptr, + [&](cClientHandle & a_Client) { a_Client.SendUnleashEntity(a_Entity); } ); } @@ -620,9 +703,5 @@ void cWorld::BroadcastUnleashEntity(const cEntity & a_Entity) void cWorld::BroadcastWeather(eWeather a_Weather, const cClientHandle * a_Exclude) { - ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) - { - a_Client.SendWeather(a_Weather); - } - ); + ForClientsInWorld(*this, a_Exclude, [&](cClientHandle & a_Client) { a_Client.SendWeather(a_Weather); }); } diff --git a/src/ByteBuffer.cpp b/src/ByteBuffer.cpp index 8121fc3ef..6326b6ce7 100644 --- a/src/ByteBuffer.cpp +++ b/src/ByteBuffer.cpp @@ -26,8 +26,12 @@ Unfortunately it is very slow, so it is disabled even for regular DEBUG builds. // If a string sent over the protocol is larger than this, a warning is emitted to the console #define MAX_STRING_SIZE (512 KiB) -#define NEEDBYTES(Num) if (!CanReadBytes(Num)) return false // Check if at least Num bytes can be read from the buffer, return false if not -#define PUTBYTES(Num) if (!CanWriteBytes(Num)) return false // Check if at least Num bytes can be written to the buffer, return false if not +#define NEEDBYTES(Num) \ + if (!CanReadBytes(Num)) \ + return false // Check if at least Num bytes can be read from the buffer, return false if not +#define PUTBYTES(Num) \ + if (!CanWriteBytes(Num)) \ + return false // Check if at least Num bytes can be written to the buffer, return false if not @@ -35,44 +39,44 @@ Unfortunately it is very slow, so it is disabled even for regular DEBUG builds. #ifdef DEBUG_SINGLE_THREAD_ACCESS - /** Simple RAII class that is used for checking that no two threads are using an object simultanously. - It requires the monitored object to provide the storage for a thread ID. - It uses that storage to check if the thread ID of consecutive calls is the same all the time. */ - class cSingleThreadAccessChecker +/** Simple RAII class that is used for checking that no two threads are using an object simultanously. +It requires the monitored object to provide the storage for a thread ID. +It uses that storage to check if the thread ID of consecutive calls is the same all the time. */ +class cSingleThreadAccessChecker +{ + public: + cSingleThreadAccessChecker(std::thread::id * a_ThreadID) : + m_ThreadID(a_ThreadID) { - public: - cSingleThreadAccessChecker(std::thread::id * a_ThreadID) : - m_ThreadID(a_ThreadID) - { - ASSERT( - (*a_ThreadID == std::this_thread::get_id()) || // Either the object is used by current thread... - (*a_ThreadID == m_EmptyThreadID) // ... or by no thread at all - ); + ASSERT( + (*a_ThreadID == std::this_thread::get_id()) || // Either the object is used by current thread... + (*a_ThreadID == m_EmptyThreadID) // ... or by no thread at all + ); - // Mark as being used by this thread: - *m_ThreadID = std::this_thread::get_id(); - } + // Mark as being used by this thread: + *m_ThreadID = std::this_thread::get_id(); + } - ~cSingleThreadAccessChecker() - { - // Mark as not being used by any thread: - *m_ThreadID = std::thread::id(); - } + ~cSingleThreadAccessChecker() + { + // Mark as not being used by any thread: + *m_ThreadID = std::thread::id(); + } - protected: - /** Points to the storage used for ID of the thread using the object. */ - std::thread::id * m_ThreadID; + protected: + /** Points to the storage used for ID of the thread using the object. */ + std::thread::id * m_ThreadID; - /** The value of an unassigned thread ID, used to speed up checking. */ - static std::thread::id m_EmptyThreadID; - }; + /** The value of an unassigned thread ID, used to speed up checking. */ + static std::thread::id m_EmptyThreadID; +}; - std::thread::id cSingleThreadAccessChecker::m_EmptyThreadID; +std::thread::id cSingleThreadAccessChecker::m_EmptyThreadID; - #define CHECK_THREAD cSingleThreadAccessChecker Checker(&m_ThreadID); +#define CHECK_THREAD cSingleThreadAccessChecker Checker(&m_ThreadID); #else - #define CHECK_THREAD +#define CHECK_THREAD #endif @@ -115,10 +119,10 @@ bool cByteBuffer::Write(const void * a_Bytes, size_t a_Count) // Store the current free space for a check after writing: size_t CurFreeSpace = GetFreeSpace(); - #ifndef NDEBUG - size_t CurReadableSpace = GetReadableSpace(); - size_t WrittenBytes = 0; - #endif +#ifndef NDEBUG + size_t CurReadableSpace = GetReadableSpace(); + size_t WrittenBytes = 0; +#endif if (CurFreeSpace < a_Count) { @@ -135,9 +139,9 @@ bool cByteBuffer::Write(const void * a_Bytes, size_t a_Count) memcpy(m_Buffer + m_WritePos, Bytes, TillEnd); Bytes += TillEnd; a_Count -= TillEnd; - #ifndef NDEBUG - WrittenBytes = TillEnd; - #endif +#ifndef NDEBUG + WrittenBytes = TillEnd; +#endif } m_WritePos = 0; } @@ -147,9 +151,9 @@ bool cByteBuffer::Write(const void * a_Bytes, size_t a_Count) { memcpy(m_Buffer + m_WritePos, Bytes, a_Count); m_WritePos += a_Count; - #ifndef NDEBUG - WrittenBytes += a_Count; - #endif +#ifndef NDEBUG + WrittenBytes += a_Count; +#endif } ASSERT(GetFreeSpace() == CurFreeSpace - WrittenBytes); @@ -424,7 +428,8 @@ bool cByteBuffer::ReadVarInt32(UInt32 & a_Value) ReadBuf(&b, 1); Value = Value | ((static_cast(b & 0x7f)) << Shift); Shift += 7; - } while ((b & 0x80) != 0); + } + while ((b & 0x80) != 0); a_Value = Value; return true; } @@ -446,7 +451,8 @@ bool cByteBuffer::ReadVarInt64(UInt64 & a_Value) ReadBuf(&b, 1); Value = Value | ((static_cast(b & 0x7f)) << Shift); Shift += 7; - } while ((b & 0x80) != 0); + } + while ((b & 0x80) != 0); a_Value = Value; return true; } @@ -475,7 +481,7 @@ bool cByteBuffer::ReadVarUTF8String(AString & a_Value) } // "Convert" a UTF-8 encoded string into system-native char. // This isn't great, better would be to use codecvt: - a_Value = { reinterpret_cast(Buffer.data()), Buffer.size() }; + a_Value = {reinterpret_cast(Buffer.data()), Buffer.size()}; return true; } @@ -490,10 +496,11 @@ bool cByteBuffer::ReadLEInt(int & a_Value) NEEDBYTES(4); ReadBuf(&a_Value, 4); - #ifdef IS_BIG_ENDIAN - // Convert: - a_Value = ((a_Value >> 24) & 0xff) | ((a_Value >> 16) & 0xff00) | ((a_Value >> 8) & 0xff0000) | (a_Value & 0xff000000); - #endif +#ifdef IS_BIG_ENDIAN + // Convert: + a_Value = + ((a_Value >> 24) & 0xff) | ((a_Value >> 16) & 0xff00) | ((a_Value >> 8) & 0xff0000) | (a_Value & 0xff000000); +#endif return true; } @@ -513,13 +520,15 @@ bool cByteBuffer::ReadXYZPosition64(int & a_BlockX, int & a_BlockY, int & a_Bloc // Convert the 64 received bits into 3 coords: UInt32 BlockXRaw = (Value >> 38) & 0x03ffffff; // Top 26 bits - UInt32 BlockYRaw = (Value >> 26) & 0x0fff; // Middle 12 bits - UInt32 BlockZRaw = (Value & 0x03ffffff); // Bottom 26 bits + UInt32 BlockYRaw = (Value >> 26) & 0x0fff; // Middle 12 bits + UInt32 BlockZRaw = (Value & 0x03ffffff); // Bottom 26 bits // If the highest bit in the number's range is set, convert the number into negative: - a_BlockX = ((BlockXRaw & 0x02000000) == 0) ? static_cast(BlockXRaw) : -(0x04000000 - static_cast(BlockXRaw)); - a_BlockY = ((BlockYRaw & 0x0800) == 0) ? static_cast(BlockYRaw) : -(0x01000 - static_cast(BlockYRaw)); - a_BlockZ = ((BlockZRaw & 0x02000000) == 0) ? static_cast(BlockZRaw) : -(0x04000000 - static_cast(BlockZRaw)); + a_BlockX = + ((BlockXRaw & 0x02000000) == 0) ? static_cast(BlockXRaw) : -(0x04000000 - static_cast(BlockXRaw)); + a_BlockY = ((BlockYRaw & 0x0800) == 0) ? static_cast(BlockYRaw) : -(0x01000 - static_cast(BlockYRaw)); + a_BlockZ = + ((BlockZRaw & 0x02000000) == 0) ? static_cast(BlockZRaw) : -(0x04000000 - static_cast(BlockZRaw)); return true; } @@ -548,12 +557,14 @@ bool cByteBuffer::ReadXZYPosition64(int & a_BlockX, int & a_BlockY, int & a_Bloc // Convert the 64 received bits into 3 coords: UInt32 BlockXRaw = (Value >> 38) & 0x03ffffff; // Top 26 bits UInt32 BlockZRaw = (Value >> 12) & 0x03ffffff; // Middle 26 bits - UInt32 BlockYRaw = (Value & 0x0fff); // Bottom 12 bits + UInt32 BlockYRaw = (Value & 0x0fff); // Bottom 12 bits // If the highest bit in the number's range is set, convert the number into negative: - a_BlockX = ((BlockXRaw & 0x02000000) == 0) ? static_cast(BlockXRaw) : (static_cast(BlockXRaw) - 0x04000000); - a_BlockY = ((BlockYRaw & 0x0800) == 0) ? static_cast(BlockYRaw) : (static_cast(BlockYRaw) - 0x01000); - a_BlockZ = ((BlockZRaw & 0x02000000) == 0) ? static_cast(BlockZRaw) : (static_cast(BlockZRaw) - 0x04000000); + a_BlockX = + ((BlockXRaw & 0x02000000) == 0) ? static_cast(BlockXRaw) : (static_cast(BlockXRaw) - 0x04000000); + a_BlockY = ((BlockYRaw & 0x0800) == 0) ? static_cast(BlockYRaw) : (static_cast(BlockYRaw) - 0x01000); + a_BlockZ = + ((BlockZRaw & 0x02000000) == 0) ? static_cast(BlockZRaw) : (static_cast(BlockZRaw) - 0x04000000); return true; } @@ -755,7 +766,8 @@ bool cByteBuffer::WriteVarInt32(UInt32 a_Value) b[idx] = (a_Value & 0x7f) | ((a_Value > 0x7f) ? 0x80 : 0x00); a_Value = a_Value >> 7; idx++; - } while (a_Value > 0); + } + while (a_Value > 0); return WriteBuf(b, idx); } @@ -777,7 +789,8 @@ bool cByteBuffer::WriteVarInt64(UInt64 a_Value) b[idx] = (a_Value & 0x7f) | ((a_Value > 0x7f) ? 0x80 : 0x00); a_Value = a_Value >> 7; idx++; - } while (a_Value > 0); + } + while (a_Value > 0); return WriteBuf(b, idx); } @@ -808,8 +821,7 @@ bool cByteBuffer::WriteXYZPosition64(Int32 a_BlockX, Int32 a_BlockY, Int32 a_Blo CHECK_THREAD CheckValid(); return WriteBEUInt64( - ((static_cast(a_BlockX) & 0x3FFFFFF) << 38) | - ((static_cast(a_BlockY) & 0xFFF) << 26) | + ((static_cast(a_BlockX) & 0x3FFFFFF) << 38) | ((static_cast(a_BlockY) & 0xFFF) << 26) | (static_cast(a_BlockZ) & 0x3FFFFFF) ); } @@ -823,8 +835,7 @@ bool cByteBuffer::WriteXZYPosition64(Int32 a_BlockX, Int32 a_BlockY, Int32 a_Blo CHECK_THREAD CheckValid(); return WriteBEUInt64( - ((static_cast(a_BlockX) & 0x3FFFFFF) << 38) | - ((static_cast(a_BlockZ) & 0x3FFFFFF) << 12) | + ((static_cast(a_BlockX) & 0x3FFFFFF) << 38) | ((static_cast(a_BlockZ) & 0x3FFFFFF) << 12) | (static_cast(a_BlockY) & 0xFFF) ); } @@ -1088,7 +1099,8 @@ size_t cByteBuffer::GetVarIntSize(UInt32 a_Value) // If the value cannot be expressed in 7 bits, it needs to take up another byte Count++; a_Value >>= 7; - } while (a_Value != 0); + } + while (a_Value != 0); return Count; } diff --git a/src/ByteBuffer.h b/src/ByteBuffer.h index 664887132..57e98d38a 100644 --- a/src/ByteBuffer.h +++ b/src/ByteBuffer.h @@ -30,8 +30,7 @@ their own synchronization. */ class cByteBuffer { -public: - + public: cByteBuffer(size_t a_BufferSize); ~cByteBuffer(); @@ -44,7 +43,8 @@ public: /** Returns the number of bytes that are currently in the ringbuffer. Note GetReadableBytes() */ size_t GetUsedSpace(void) const; - /** Returns the number of bytes that are currently available for reading (may be less than UsedSpace due to some data having been read already) */ + /** Returns the number of bytes that are currently available for reading (may be less than UsedSpace due to some + * data having been read already) */ size_t GetReadableSpace(void) const; /** Returns the current data start index. For debugging purposes. */ @@ -63,28 +63,29 @@ public: bool CanWriteBytes(size_t a_Count) const; // Read the specified datatype and advance the read pointer; return true if successfully read: - bool ReadBEInt8 (Int8 & a_Value); - bool ReadBEInt16 (Int16 & a_Value); - bool ReadBEInt32 (Int32 & a_Value); - bool ReadBEInt64 (Int64 & a_Value); - bool ReadBEUInt8 (UInt8 & a_Value); - bool ReadBEUInt16 (UInt16 & a_Value); - bool ReadBEUInt32 (UInt32 & a_Value); - bool ReadBEUInt64 (UInt64 & a_Value); - bool ReadBEFloat (float & a_Value); - bool ReadBEDouble (double & a_Value); - bool ReadBool (bool & a_Value); - bool ReadVarInt32 (UInt32 & a_Value); - bool ReadVarInt64 (UInt64 & a_Value); - bool ReadVarUTF8String (AString & a_Value); // string length as VarInt, then string as UTF-8 - bool ReadLEInt (int & a_Value); - bool ReadXYZPosition64 (int & a_BlockX, int & a_BlockY, int & a_BlockZ); - bool ReadXYZPosition64 (Vector3i & a_Position); - bool ReadXZYPosition64 (int & a_BlockX, int & a_BlockY, int & a_BlockZ); - bool ReadXZYPosition64 (Vector3i & a_Position); - bool ReadUUID (cUUID & a_Value); - - /** Reads VarInt, assigns it to anything that can be assigned from an UInt64 (unsigned short, char, Byte, double, ...) */ + bool ReadBEInt8(Int8 & a_Value); + bool ReadBEInt16(Int16 & a_Value); + bool ReadBEInt32(Int32 & a_Value); + bool ReadBEInt64(Int64 & a_Value); + bool ReadBEUInt8(UInt8 & a_Value); + bool ReadBEUInt16(UInt16 & a_Value); + bool ReadBEUInt32(UInt32 & a_Value); + bool ReadBEUInt64(UInt64 & a_Value); + bool ReadBEFloat(float & a_Value); + bool ReadBEDouble(double & a_Value); + bool ReadBool(bool & a_Value); + bool ReadVarInt32(UInt32 & a_Value); + bool ReadVarInt64(UInt64 & a_Value); + bool ReadVarUTF8String(AString & a_Value); // string length as VarInt, then string as UTF-8 + bool ReadLEInt(int & a_Value); + bool ReadXYZPosition64(int & a_BlockX, int & a_BlockY, int & a_BlockZ); + bool ReadXYZPosition64(Vector3i & a_Position); + bool ReadXZYPosition64(int & a_BlockX, int & a_BlockY, int & a_BlockZ); + bool ReadXZYPosition64(Vector3i & a_Position); + bool ReadUUID(cUUID & a_Value); + + /** Reads VarInt, assigns it to anything that can be assigned from an UInt64 (unsigned short, char, Byte, double, + * ...) */ template bool ReadVarInt(T & a_Value) { UInt64 v; @@ -97,24 +98,24 @@ public: } // Write the specified datatype; return true if successfully written - bool WriteBEInt8 (Int8 a_Value); - bool WriteBEInt8 (std::byte a_Value); - bool WriteBEInt16 (Int16 a_Value); - bool WriteBEInt32 (Int32 a_Value); - bool WriteBEInt64 (Int64 a_Value); - bool WriteBEUInt8 (UInt8 a_Value); - bool WriteBEUInt16 (UInt16 a_Value); - bool WriteBEUInt32 (UInt32 a_Value); - bool WriteBEUInt64 (UInt64 a_Value); - bool WriteBEFloat (float a_Value); - bool WriteBEDouble (double a_Value); - bool WriteBool (bool a_Value); - bool WriteVarInt32 (UInt32 a_Value); - bool WriteVarInt64 (UInt64 a_Value); - bool WriteVarUTF8String (const AString & a_Value); // string length as VarInt, then string as UTF-8 - bool WriteLEInt32 (Int32 a_Value); - bool WriteXYZPosition64 (Int32 a_BlockX, Int32 a_BlockY, Int32 a_BlockZ); - bool WriteXZYPosition64 (Int32 a_BlockX, Int32 a_BlockY, Int32 a_BlockZ); + bool WriteBEInt8(Int8 a_Value); + bool WriteBEInt8(std::byte a_Value); + bool WriteBEInt16(Int16 a_Value); + bool WriteBEInt32(Int32 a_Value); + bool WriteBEInt64(Int64 a_Value); + bool WriteBEUInt8(UInt8 a_Value); + bool WriteBEUInt16(UInt16 a_Value); + bool WriteBEUInt32(UInt32 a_Value); + bool WriteBEUInt64(UInt64 a_Value); + bool WriteBEFloat(float a_Value); + bool WriteBEDouble(double a_Value); + bool WriteBool(bool a_Value); + bool WriteVarInt32(UInt32 a_Value); + bool WriteVarInt64(UInt64 a_Value); + bool WriteVarUTF8String(const AString & a_Value); // string length as VarInt, then string as UTF-8 + bool WriteLEInt32(Int32 a_Value); + bool WriteXYZPosition64(Int32 a_BlockX, Int32 a_BlockY, Int32 a_BlockZ); + bool WriteXZYPosition64(Int32 a_BlockX, Int32 a_BlockY, Int32 a_BlockZ); /** Reads a_Count bytes into a_Buffer; returns true if successful */ bool ReadBuf(void * a_Buffer, size_t a_Count); @@ -143,7 +144,8 @@ public: /** Restarts next reading operation at the start of the ringbuffer */ void ResetRead(void); - /** Re-reads the data that has been read since the last commit to the current readpos. Used by ProtoProxy to duplicate communication */ + /** Re-reads the data that has been read since the last commit to the current readpos. Used by ProtoProxy to + * duplicate communication */ void ReadAgain(ContiguousByteBuffer & a_Out); /** Checks if the internal state is valid (read and write positions in the correct bounds) using ASSERTs */ @@ -152,21 +154,20 @@ public: /** Gets the number of bytes that are needed to represent the given VarInt */ static size_t GetVarIntSize(UInt32 a_Value); -protected: - + protected: std::byte * m_Buffer; size_t m_BufferSize; // Total size of the ringbuffer size_t m_DataStart; // Where the data starts in the ringbuffer - size_t m_WritePos; // Where the data ends in the ringbuffer - size_t m_ReadPos; // Where the next read will start in the ringbuffer + size_t m_WritePos; // Where the data ends in the ringbuffer + size_t m_ReadPos; // Where the next read will start in the ringbuffer - #ifndef NDEBUG - /** The ID of the thread currently accessing the object. - Used for checking that only one thread accesses the object at a time, via cSingleThreadAccessChecker. */ - mutable std::thread::id m_ThreadID; - #endif +#ifndef NDEBUG + /** The ID of the thread currently accessing the object. + Used for checking that only one thread accesses the object at a time, via cSingleThreadAccessChecker. */ + mutable std::thread::id m_ThreadID; +#endif /** Advances the m_ReadPos by a_Count bytes */ void AdvanceReadPos(size_t a_Count); -} ; +}; diff --git a/src/ChatColor.cpp b/src/ChatColor.cpp index 73658408b..9641b8413 100644 --- a/src/ChatColor.cpp +++ b/src/ChatColor.cpp @@ -2,31 +2,50 @@ #include "ChatColor.h" -const char * cChatColor::Color = "\xc2\xa7"; // The paragraph / section symbol in UTF-8 -const char * cChatColor::Delimiter = "\xc2\xa7"; // The paragraph / section symbol in UTF-8 -const char * cChatColor::Black = "\xc2\xa7""0"; -const char * cChatColor::Navy = "\xc2\xa7""1"; -const char * cChatColor::Green = "\xc2\xa7""2"; -const char * cChatColor::Blue = "\xc2\xa7""3"; -const char * cChatColor::Red = "\xc2\xa7""4"; -const char * cChatColor::Purple = "\xc2\xa7""5"; -const char * cChatColor::Gold = "\xc2\xa7""6"; -const char * cChatColor::LightGray = "\xc2\xa7""7"; -const char * cChatColor::Gray = "\xc2\xa7""8"; -const char * cChatColor::DarkPurple = "\xc2\xa7""9"; -const char * cChatColor::LightGreen = "\xc2\xa7""a"; -const char * cChatColor::LightBlue = "\xc2\xa7""b"; -const char * cChatColor::Rose = "\xc2\xa7""c"; -const char * cChatColor::LightPurple = "\xc2\xa7""d"; -const char * cChatColor::Yellow = "\xc2\xa7""e"; -const char * cChatColor::White = "\xc2\xa7""f"; - -const char * cChatColor::Random = "\xc2\xa7""k"; -const char * cChatColor::Bold = "\xc2\xa7""l"; -const char * cChatColor::Strikethrough = "\xc2\xa7""m"; -const char * cChatColor::Underlined = "\xc2\xa7""n"; -const char * cChatColor::Italic = "\xc2\xa7""o"; -const char * cChatColor::Plain = "\xc2\xa7""r"; - - +const char * cChatColor::Color = "\xc2\xa7"; // The paragraph / section symbol in UTF-8 +const char * cChatColor::Delimiter = "\xc2\xa7"; // The paragraph / section symbol in UTF-8 +const char * cChatColor::Black = "\xc2\xa7" + "0"; +const char * cChatColor::Navy = "\xc2\xa7" + "1"; +const char * cChatColor::Green = "\xc2\xa7" + "2"; +const char * cChatColor::Blue = "\xc2\xa7" + "3"; +const char * cChatColor::Red = "\xc2\xa7" + "4"; +const char * cChatColor::Purple = "\xc2\xa7" + "5"; +const char * cChatColor::Gold = "\xc2\xa7" + "6"; +const char * cChatColor::LightGray = "\xc2\xa7" + "7"; +const char * cChatColor::Gray = "\xc2\xa7" + "8"; +const char * cChatColor::DarkPurple = "\xc2\xa7" + "9"; +const char * cChatColor::LightGreen = "\xc2\xa7" + "a"; +const char * cChatColor::LightBlue = "\xc2\xa7" + "b"; +const char * cChatColor::Rose = "\xc2\xa7" + "c"; +const char * cChatColor::LightPurple = "\xc2\xa7" + "d"; +const char * cChatColor::Yellow = "\xc2\xa7" + "e"; +const char * cChatColor::White = "\xc2\xa7" + "f"; +const char * cChatColor::Random = "\xc2\xa7" + "k"; +const char * cChatColor::Bold = "\xc2\xa7" + "l"; +const char * cChatColor::Strikethrough = "\xc2\xa7" + "m"; +const char * cChatColor::Underlined = "\xc2\xa7" + "n"; +const char * cChatColor::Italic = "\xc2\xa7" + "o"; +const char * cChatColor::Plain = "\xc2\xa7" + "r"; diff --git a/src/ChatColor.h b/src/ChatColor.h index 0f39db844..66ca15e27 100644 --- a/src/ChatColor.h +++ b/src/ChatColor.h @@ -8,7 +8,7 @@ // tolua_begin class cChatColor { -public: + public: static const char * Delimiter; /** @deprecated use ChatColor::Delimiter instead */ diff --git a/src/Chunk.cpp b/src/Chunk.cpp index fa7faf1f0..3a74e84f6 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -2,7 +2,7 @@ #include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules #ifndef _WIN32 - #include +#include #endif @@ -38,10 +38,7 @@ //////////////////////////////////////////////////////////////////////////////// // cChunk: -cChunk::cChunk( - int a_ChunkX, int a_ChunkZ, - cChunkMap * a_ChunkMap, cWorld * a_World -): +cChunk::cChunk(int a_ChunkX, int a_ChunkZ, cChunkMap * a_ChunkMap, cWorld * a_World) : m_Presence(cpInvalid), m_IsLightValid(false), m_IsDirty(false), @@ -52,7 +49,7 @@ cChunk::cChunk( m_World(a_World), m_ChunkMap(a_ChunkMap), m_WaterSimulatorData(a_World->GetWaterSimulator()->CreateChunkData()), - m_LavaSimulatorData (a_World->GetLavaSimulator ()->CreateChunkData()), + m_LavaSimulatorData(a_World->GetLavaSimulator()->CreateChunkData()), m_RedstoneSimulatorData(a_World->GetRedstoneSimulator()->CreateChunkData()), m_AlwaysTicked(0) { @@ -191,13 +188,7 @@ void cChunk::MarkRegenerating(void) bool cChunk::HasPlayerEntities() const { - return std::any_of( - m_Entities.begin(), m_Entities.end(), - [](const auto & Entity) - { - return Entity->IsPlayer(); - } - ); + return std::any_of(m_Entities.begin(), m_Entities.end(), [](const auto & Entity) { return Entity->IsPlayer(); }); } @@ -206,12 +197,12 @@ bool cChunk::HasPlayerEntities() const bool cChunk::CanUnload(void) const { - return - m_LoadedByClient.empty() && // The chunk is not used by any client - !HasPlayerEntities() && // Ensure not only the absence of ClientHandlers, but also of cPlayer objects - !m_IsDirty && // The chunk has been saved properly or hasn't been touched since the load / gen - (m_StayCount == 0) && // The chunk is not in a ChunkStay - (m_Presence != cpQueued) ; // The chunk is not queued for loading / generating (otherwise multi-load / multi-gen could occur) + return m_LoadedByClient.empty() && // The chunk is not used by any client + !HasPlayerEntities() && // Ensure not only the absence of ClientHandlers, but also of cPlayer objects + !m_IsDirty && // The chunk has been saved properly or hasn't been touched since the load / gen + (m_StayCount == 0) && // The chunk is not in a ChunkStay + (m_Presence != cpQueued + ); // The chunk is not queued for loading / generating (otherwise multi-load / multi-gen could occur) } @@ -220,12 +211,12 @@ bool cChunk::CanUnload(void) const bool cChunk::CanUnloadAfterSaving(void) const { - return - m_LoadedByClient.empty() && // The chunk is not used by any client - !HasPlayerEntities() && // Ensure not only the absence of ClientHandlers, but also of cPlayer objects - m_IsDirty && // The chunk is dirty - (m_StayCount == 0) && // The chunk is not in a ChunkStay - (m_Presence != cpQueued) ; // The chunk is not queued for loading / generating (otherwise multi-load / multi-gen could occur) + return m_LoadedByClient.empty() && // The chunk is not used by any client + !HasPlayerEntities() && // Ensure not only the absence of ClientHandlers, but also of cPlayer objects + m_IsDirty && // The chunk is dirty + (m_StayCount == 0) && // The chunk is not in a ChunkStay + (m_Presence != cpQueued + ); // The chunk is not queued for loading / generating (otherwise multi-load / multi-gen could occur) } @@ -297,7 +288,7 @@ void cChunk::MarkLoadFailed(void) MarkDirty(); // The chunk is always needed, generate it: - m_World->GetGenerator().QueueGenerateChunk({ m_PosX, m_PosZ }, false); + m_World->GetGenerator().QueueGenerateChunk({m_PosX, m_PosZ}, false); } @@ -399,10 +390,7 @@ void cChunk::SetAllData(SetChunkData && a_SetChunkData) -void cChunk::SetLight( - const cChunkDef::BlockNibbles & a_BlockLight, - const cChunkDef::BlockNibbles & a_SkyLight -) +void cChunk::SetLight(const cChunkDef::BlockNibbles & a_BlockLight, const cChunkDef::BlockNibbles & a_SkyLight) { // TODO: We might get cases of wrong lighting when a chunk changes in the middle of a lighting calculation. // Postponing until we see how bad it is :) @@ -421,8 +409,11 @@ void cChunk::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock { if ((a_DataTypes & (cBlockArea::baTypes | cBlockArea::baMetas)) != (cBlockArea::baTypes | cBlockArea::baMetas)) { - LOGWARNING("cChunk::WriteBlockArea(): unsupported datatype request, can write only types + metas together (0x%x), requested 0x%x. Ignoring.", - (cBlockArea::baTypes | cBlockArea::baMetas), a_DataTypes & (cBlockArea::baTypes | cBlockArea::baMetas) + LOGWARNING( + "cChunk::WriteBlockArea(): unsupported datatype request, can write only types + metas together (0x%x), " + "requested 0x%x. Ignoring.", + (cBlockArea::baTypes | cBlockArea::baMetas), + a_DataTypes & (cBlockArea::baTypes | cBlockArea::baMetas) ); return; } @@ -430,9 +421,9 @@ void cChunk::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock // SizeX, SizeZ are the dimensions of the block data to copy to the chunk (size of the geometric union) int BlockStartX = std::max(a_MinBlockX, m_PosX * cChunkDef::Width); - int BlockEndX = std::min(a_MinBlockX + a_Area.GetSizeX(), (m_PosX + 1) * cChunkDef::Width); + int BlockEndX = std::min(a_MinBlockX + a_Area.GetSizeX(), (m_PosX + 1) * cChunkDef::Width); int BlockStartZ = std::max(a_MinBlockZ, m_PosZ * cChunkDef::Width); - int BlockEndZ = std::min(a_MinBlockZ + a_Area.GetSizeZ(), (m_PosZ + 1) * cChunkDef::Width); + int BlockEndZ = std::min(a_MinBlockZ + a_Area.GetSizeZ(), (m_PosZ + 1) * cChunkDef::Width); int SizeX = BlockEndX - BlockStartX; // Size of the union int SizeZ = BlockEndZ - BlockStartZ; int SizeY = std::min(a_Area.GetSizeY(), cChunkDef::Height - a_MinBlockY); @@ -442,7 +433,7 @@ void cChunk::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock int BaseZ = BlockStartZ - a_MinBlockZ; // Copy blocktype and blockmeta: - BLOCKTYPE * AreaBlockTypes = a_Area.GetBlockTypes(); + BLOCKTYPE * AreaBlockTypes = a_Area.GetBlockTypes(); NIBBLETYPE * AreaBlockMetas = a_Area.GetBlockMetas(); for (int y = 0; y < SizeY; y++) { @@ -467,10 +458,7 @@ void cChunk::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock // Erase all affected block entities: { // The affected area, in world coordinates. - cCuboid affectedArea( - { BlockStartX, a_MinBlockY, BlockStartZ }, - { BlockEndX, a_MinBlockY + SizeY - 1, BlockEndZ } - ); + cCuboid affectedArea({BlockStartX, a_MinBlockY, BlockStartZ}, {BlockEndX, a_MinBlockY + SizeY - 1, BlockEndZ}); // Where in the pending block entity send list to start removing the invalidated elements from. auto PendingRemove = m_PendingSendBlockEntities.end(); @@ -482,7 +470,11 @@ void cChunk::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock itr->second->Destroy(); itr->second->OnRemoveFromWorld(); - PendingRemove = std::remove(m_PendingSendBlockEntities.begin(), PendingRemove, itr->second.get()); // Search the remaining valid pending sends. + PendingRemove = std::remove( + m_PendingSendBlockEntities.begin(), + PendingRemove, + itr->second.get() + ); // Search the remaining valid pending sends. itr = m_BlockEntities.erase(itr); } else @@ -498,23 +490,21 @@ void cChunk::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock // Clone block entities from a_Area into this chunk: if ((a_DataTypes & cBlockArea::baBlockEntities) != 0) { - for (const auto & keyPair: a_Area.GetBlockEntities()) + for (const auto & keyPair : a_Area.GetBlockEntities()) { auto & be = keyPair.second; auto posX = be->GetPosX() + a_MinBlockX; auto posY = be->GetPosY() + a_MinBlockY; auto posZ = be->GetPosZ() + a_MinBlockZ; - if ( - (posX < m_PosX * cChunkDef::Width) || (posX >= m_PosX * cChunkDef::Width + cChunkDef::Width) || - (posZ < m_PosZ * cChunkDef::Width) || (posZ >= m_PosZ * cChunkDef::Width + cChunkDef::Width) - ) + if ((posX < m_PosX * cChunkDef::Width) || (posX >= m_PosX * cChunkDef::Width + cChunkDef::Width) || + (posZ < m_PosZ * cChunkDef::Width) || (posZ >= m_PosZ * cChunkDef::Width + cChunkDef::Width)) { continue; } // This block entity is inside the chunk. // The code above should have removed any that were here before: - ASSERT(GetBlockEntityRel(cChunkDef::AbsoluteToRelative({ posX, posY, posZ })) == nullptr); + ASSERT(GetBlockEntityRel(cChunkDef::AbsoluteToRelative({posX, posY, posZ})) == nullptr); // Clone, and add the new one: AddBlockEntity(be->Clone({posX, posY, posZ})); @@ -586,8 +576,8 @@ void cChunk::GetThreeRandomNumbers(int & a_X, int & a_Y, int & a_Z, int a_MaxX, int OverallMax = (a_MaxX * a_MaxY * a_MaxZ) - 1; int Random = m_World->GetTickRandomNumber(OverallMax); - a_X = Random % a_MaxX; - a_Y = (Random / a_MaxX) % a_MaxY; + a_X = Random % a_MaxX; + a_Y = (Random / a_MaxX) % a_MaxY; a_Z = ((Random / a_MaxX) / a_MaxY) % a_MaxZ; } @@ -626,9 +616,16 @@ void cChunk::SpawnMobs(cMobSpawner & a_MobSpawner) while ((NumberOfTries < 12) && (NumberOfSuccess < MaxNbOfSuccess)) { const int HorizontalRange = 20; // MG TODO : relocate - const int VerticalRange = 0; // MG TODO : relocate + const int VerticalRange = 0; // MG TODO : relocate int TryX, TryY, TryZ; - GetThreeRandomNumbers(TryX, TryY, TryZ, 2 * HorizontalRange + 1, 2 * VerticalRange + 1, 2 * HorizontalRange + 1); + GetThreeRandomNumbers( + TryX, + TryY, + TryZ, + 2 * HorizontalRange + 1, + 2 * VerticalRange + 1, + 2 * HorizontalRange + 1 + ); TryX -= HorizontalRange; TryY -= VerticalRange; TryZ -= HorizontalRange; @@ -673,7 +670,7 @@ void cChunk::SpawnMobs(cMobSpawner & a_MobSpawner) double ActualX = WorldX + 0.5; double ActualZ = WorldZ + 0.5; newMob->SetPosition(ActualX, WorldY, ActualZ); - FLOGD("Spawning {0} #{1} at {2}", newMob->GetClass(), newMob->GetUniqueID(), Vector3i{WorldX, WorldY, WorldZ}); + FLOGD("Spawning {0} #{1} at {2}", newMob->GetClass(), newMob->GetUniqueID(), Vector3i {WorldX, WorldY, WorldZ}); NumberOfSuccess++; } // while (retry) } @@ -701,7 +698,8 @@ void cChunk::Tick(std::chrono::milliseconds a_Dt) continue; } - if (!((*itr)->IsMob())) // Mobs are ticked inside cWorld::TickMobs() (as we don't have to tick them if they are far away from players) + if (!((*itr)->IsMob())) // Mobs are ticked inside cWorld::TickMobs() (as we don't have to tick them if they are + // far away from players) { // Tick all entities in this chunk (except mobs): ASSERT((*itr)->GetParentChunk() == this); @@ -709,18 +707,16 @@ void cChunk::Tick(std::chrono::milliseconds a_Dt) ASSERT((*itr)->GetParentChunk() == this); } - // Do not move mobs that are detached from the world to neighbors. They're either scheduled for teleportation or for removal. - // Because the schedulded destruction is going to look for them in this chunk. See cEntity::destroy. + // Do not move mobs that are detached from the world to neighbors. They're either scheduled for teleportation or + // for removal. Because the schedulded destruction is going to look for them in this chunk. See + // cEntity::destroy. if (!(*itr)->IsTicking()) { ++itr; continue; } - if ( - ((*itr)->GetChunkX() != m_PosX) || - ((*itr)->GetChunkZ() != m_PosZ) - ) + if (((*itr)->GetChunkX() != m_PosX) || ((*itr)->GetChunkZ() != m_PosZ)) { // Mark as dirty if it was a server-generated entity: if (!(*itr)->IsPlayer()) @@ -728,8 +724,8 @@ void cChunk::Tick(std::chrono::milliseconds a_Dt) MarkDirty(); } - // This block is very similar to RemoveEntity, except it uses an iterator to avoid scanning the whole m_Entities - // The entity moved out of the chunk, move it to the neighbor + // This block is very similar to RemoveEntity, except it uses an iterator to avoid scanning the whole + // m_Entities The entity moved out of the chunk, move it to the neighbor (*itr)->SetParentChunk(nullptr); MoveEntityToNewChunk(std::move(*itr)); @@ -746,7 +742,8 @@ void cChunk::Tick(std::chrono::milliseconds a_Dt) // Tick simulators: m_World->GetSimulatorManager()->SimulateChunk(a_Dt, m_PosX, m_PosZ, this); - // Check blocks after everything else to apply at least one round of queued ticks (i.e. cBlockHandler::Check) this tick: + // Check blocks after everything else to apply at least one round of queued ticks (i.e. cBlockHandler::Check) this + // tick: CheckBlocks(); } @@ -758,7 +755,8 @@ void cChunk::TickBlock(const Vector3i a_RelPos) { cChunkInterface ChunkInterface(this->GetWorld()->GetChunkMap()); cBlockInServerPluginInterface PluginInterface(*this->GetWorld()); - cBlockHandler::For(GetBlock(a_RelPos)).OnUpdate(ChunkInterface, *this->GetWorld(), PluginInterface, *this, a_RelPos); + cBlockHandler::For(GetBlock(a_RelPos)) + .OnUpdate(ChunkInterface, *this->GetWorld(), PluginInterface, *this, a_RelPos); } @@ -767,11 +765,16 @@ void cChunk::TickBlock(const Vector3i a_RelPos) void cChunk::MoveEntityToNewChunk(OwnedEntity a_Entity) { - cChunk * Neighbor = GetNeighborChunk(a_Entity->GetChunkX() * cChunkDef::Width, a_Entity->GetChunkZ() * cChunkDef::Width); + cChunk * Neighbor = + GetNeighborChunk(a_Entity->GetChunkX() * cChunkDef::Width, a_Entity->GetChunkZ() * cChunkDef::Width); if (Neighbor == nullptr) { - LOGWARNING("%s: Entity at %p (%s, ID %d) moving to a non-existent chunk.", - __FUNCTION__, static_cast(a_Entity.get()), a_Entity->GetClass(), a_Entity->GetUniqueID() + LOGWARNING( + "%s: Entity at %p (%s, ID %d) moving to a non-existent chunk.", + __FUNCTION__, + static_cast(a_Entity.get()), + a_Entity->GetClass(), + a_Entity->GetUniqueID() ); Neighbor = &m_ChunkMap->ConstructChunk(a_Entity->GetChunkX(), a_Entity->GetChunkZ()); @@ -781,25 +784,19 @@ void cChunk::MoveEntityToNewChunk(OwnedEntity a_Entity) auto & Entity = *a_Entity; Neighbor->AddEntity(std::move(a_Entity)); - class cMover : - public cClientDiffCallback + class cMover : public cClientDiffCallback { - virtual void Removed(cClientHandle * a_Client) override - { - a_Client->SendDestroyEntity(m_Entity); - } + virtual void Removed(cClientHandle * a_Client) override { a_Client->SendDestroyEntity(m_Entity); } - virtual void Added(cClientHandle * a_Client) override - { - m_Entity.SpawnOn(*a_Client); - } + virtual void Added(cClientHandle * a_Client) override { m_Entity.SpawnOn(*a_Client); } cEntity & m_Entity; - public: + public: cMover(cEntity & a_CallbackEntity) : m_Entity(a_CallbackEntity) - {} + { + } } Mover(Entity); m_ChunkMap->CompareChunkClients(this, Neighbor, Mover); @@ -837,7 +834,8 @@ void cChunk::TickBlocks(void) cBlockInServerPluginInterface PluginInterface(*m_World); // Tick random blocks, but the first one should be m_BlockToTick (so that SetNextBlockToTick() works): - cBlockHandler::For(GetBlock(m_BlockToTick)).OnUpdate(ChunkInterface, *m_World, PluginInterface, *this, m_BlockToTick); + cBlockHandler::For(GetBlock(m_BlockToTick)) + .OnUpdate(ChunkInterface, *m_World, PluginInterface, *this, m_BlockToTick); auto & Random = GetRandomProvider(); @@ -870,13 +868,8 @@ void cChunk::TickBlocks(void) void cChunk::ApplyWeatherToTop() { - if ( - (GetRandomProvider().RandBool(0.99)) || - ( - (m_World->GetWeather() != eWeather_Rain) && - (m_World->GetWeather() != eWeather_ThunderStorm) - ) - ) + if ((GetRandomProvider().RandBool(0.99)) || + ((m_World->GetWeather() != eWeather_Rain) && (m_World->GetWeather() != eWeather_ThunderStorm))) { // Not the right weather, or not at this tick; bail out return; @@ -900,16 +893,16 @@ void cChunk::ApplyWeatherToTop() } BLOCKTYPE TopBlock = GetBlock(X, Height, Z); - NIBBLETYPE TopMeta = GetMeta (X, Height, Z); + NIBBLETYPE TopMeta = GetMeta(X, Height, Z); if (m_World->IsDeepSnowEnabled() && (TopBlock == E_BLOCK_SNOW)) { int MaxSize = 7; - BLOCKTYPE BlockType[4]; + BLOCKTYPE BlockType[4]; NIBBLETYPE BlockMeta[4]; - UnboundedRelGetBlock(X - 1, Height, Z, BlockType[0], BlockMeta[0]); - UnboundedRelGetBlock(X + 1, Height, Z, BlockType[1], BlockMeta[1]); - UnboundedRelGetBlock(X, Height, Z - 1, BlockType[2], BlockMeta[2]); - UnboundedRelGetBlock(X, Height, Z + 1, BlockType[3], BlockMeta[3]); + UnboundedRelGetBlock(X - 1, Height, Z, BlockType[0], BlockMeta[0]); + UnboundedRelGetBlock(X + 1, Height, Z, BlockType[1], BlockMeta[1]); + UnboundedRelGetBlock(X, Height, Z - 1, BlockType[2], BlockMeta[2]); + UnboundedRelGetBlock(X, Height, Z + 1, BlockType[3], BlockMeta[3]); for (int i = 0; i < 4; i++) { switch (BlockType[i]) @@ -943,15 +936,9 @@ void cChunk::ApplyWeatherToTop() { SetBlock({X, Height, Z}, E_BLOCK_ICE, 0); } - else if ( - (m_World->IsDeepSnowEnabled()) && - ( - (TopBlock == E_BLOCK_RED_ROSE) || - (TopBlock == E_BLOCK_YELLOW_FLOWER) || - (TopBlock == E_BLOCK_RED_MUSHROOM) || - (TopBlock == E_BLOCK_BROWN_MUSHROOM) - ) - ) + else if ((m_World->IsDeepSnowEnabled()) && + ((TopBlock == E_BLOCK_RED_ROSE) || (TopBlock == E_BLOCK_YELLOW_FLOWER) || + (TopBlock == E_BLOCK_RED_MUSHROOM) || (TopBlock == E_BLOCK_BROWN_MUSHROOM))) { SetBlock({X, Height, Z}, E_BLOCK_SNOW, 0); } @@ -977,16 +964,25 @@ cItems cChunk::PickupsFromBlock(Vector3i a_RelPos, const cEntity * a_Digger, con if (BlockEntity != nullptr) { auto BlockEntityPickups = BlockEntity->ConvertToPickups(); - Pickups.insert(Pickups.end(), std::make_move_iterator(BlockEntityPickups.begin()), std::make_move_iterator(BlockEntityPickups.end())); + Pickups.insert( + Pickups.end(), + std::make_move_iterator(BlockEntityPickups.begin()), + std::make_move_iterator(BlockEntityPickups.end()) + ); } } - // TODO: this should be in cWorld::DropBlockAsPickups. When it's here we can't check the return value and cancel spawning: + // TODO: this should be in cWorld::DropBlockAsPickups. When it's here we can't check the return value and cancel + // spawning: cRoot::Get()->GetPluginManager()->CallHookBlockToPickups( *m_World, cChunkDef::RelativeToAbsolute(a_RelPos, GetPos()), - BlockType, BlockMeta, BlockEntity, - a_Digger, a_Tool, Pickups + BlockType, + BlockMeta, + BlockEntity, + a_Digger, + a_Tool, + Pickups ); return Pickups; @@ -1124,7 +1120,7 @@ bool cChunk::UnboundedRelGetBlockLights(Vector3i a_RelPos, NIBBLETYPE & a_BlockL return false; } a_BlockLight = chunk->GetBlockLight(a_RelPos); - a_SkyLight = chunk->GetSkyLight (a_RelPos); + a_SkyLight = chunk->GetSkyLight(a_RelPos); return true; } @@ -1217,7 +1213,7 @@ bool cChunk::IsWeatherWetAt(const Vector3i a_Position) const for (int y = GetHeight(a_Position.x, a_Position.z); y >= a_Position.y; y--) { - if (cBlockInfo::IsRainBlocker(GetBlock({ a_Position.x, y, a_Position.z }))) + if (cBlockInfo::IsRainBlocker(GetBlock({a_Position.x, y, a_Position.z}))) { return false; } @@ -1233,7 +1229,7 @@ bool cChunk::IsWeatherWetAt(const Vector3i a_Position) const void cChunk::WakeUpSimulators(void) { auto * WaterSimulator = m_World->GetWaterSimulator(); - auto * LavaSimulator = m_World->GetLavaSimulator(); + auto * LavaSimulator = m_World->GetLavaSimulator(); auto * RedstoneSimulator = m_World->GetRedstoneSimulator(); for (size_t SectionIdx = 0; SectionIdx != cChunkDef::NumSections; ++SectionIdx) @@ -1247,7 +1243,8 @@ void cChunk::WakeUpSimulators(void) for (size_t BlockIdx = 0; BlockIdx != ChunkBlockData::SectionBlockCount; ++BlockIdx) { const auto BlockType = (*Section)[BlockIdx]; - const auto Position = cChunkDef::IndexToCoordinate(BlockIdx + SectionIdx * ChunkBlockData::SectionBlockCount); + const auto Position = + cChunkDef::IndexToCoordinate(BlockIdx + SectionIdx * ChunkBlockData::SectionBlockCount); RedstoneSimulator->AddBlock(*this, Position, BlockType); WaterSimulator->AddBlock(*this, Position, BlockType); @@ -1271,7 +1268,8 @@ void cChunk::SetBlock(Vector3i a_RelPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_Blo GetWorld()->GetSimulatorManager()->WakeUp(*this, a_RelPos); // If there was a block entity, remove it: - if (const auto FindResult = m_BlockEntities.find(cChunkDef::MakeIndex(a_RelPos)); FindResult != m_BlockEntities.end()) + if (const auto FindResult = m_BlockEntities.find(cChunkDef::MakeIndex(a_RelPos)); + FindResult != m_BlockEntities.end()) { auto & BlockEntity = *FindResult->second; @@ -1279,13 +1277,17 @@ void cChunk::SetBlock(Vector3i a_RelPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_Blo BlockEntity.OnRemoveFromWorld(); m_BlockEntities.erase(FindResult); - m_PendingSendBlockEntities.erase(std::remove(m_PendingSendBlockEntities.begin(), m_PendingSendBlockEntities.end(), &BlockEntity), m_PendingSendBlockEntities.end()); + m_PendingSendBlockEntities.erase( + std::remove(m_PendingSendBlockEntities.begin(), m_PendingSendBlockEntities.end(), &BlockEntity), + m_PendingSendBlockEntities.end() + ); } // If the new block is a block entity, create the entity object: if (cBlockEntity::IsBlockEntityBlockType(a_BlockType)) { - AddBlockEntity(cBlockEntity::CreateByBlockType(a_BlockType, a_BlockMeta, RelativeToAbsolute(a_RelPos), m_World)); + AddBlockEntity(cBlockEntity::CreateByBlockType(a_BlockType, a_BlockMeta, RelativeToAbsolute(a_RelPos), m_World) + ); } } @@ -1295,52 +1297,50 @@ void cChunk::SetBlock(Vector3i a_RelPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_Blo void cChunk::FastSetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, BLOCKTYPE a_BlockMeta) { - ASSERT(cChunkDef::IsValidRelPos({ a_RelX, a_RelY, a_RelZ })); + ASSERT(cChunkDef::IsValidRelPos({a_RelX, a_RelY, a_RelZ})); ASSERT(IsValid()); const BLOCKTYPE OldBlockType = GetBlock(a_RelX, a_RelY, a_RelZ); - const BLOCKTYPE OldBlockMeta = m_BlockData.GetMeta({ a_RelX, a_RelY, a_RelZ }); + const BLOCKTYPE OldBlockMeta = m_BlockData.GetMeta({a_RelX, a_RelY, a_RelZ}); if ((OldBlockType == a_BlockType) && (OldBlockMeta == a_BlockMeta)) { return; } - bool ReplacingLiquids = ( - ((OldBlockType == E_BLOCK_STATIONARY_WATER) && (a_BlockType == E_BLOCK_WATER)) || // Replacing stationary water with water - ((OldBlockType == E_BLOCK_WATER) && (a_BlockType == E_BLOCK_STATIONARY_WATER)) || // Replacing water with stationary water - ((OldBlockType == E_BLOCK_STATIONARY_LAVA) && (a_BlockType == E_BLOCK_LAVA)) || // Replacing stationary lava with lava - ((OldBlockType == E_BLOCK_LAVA) && (a_BlockType == E_BLOCK_STATIONARY_LAVA)) // Replacing lava with stationary lava - ); + bool ReplacingLiquids = + (((OldBlockType == E_BLOCK_STATIONARY_WATER) && (a_BlockType == E_BLOCK_WATER) + ) || // Replacing stationary water with water + ((OldBlockType == E_BLOCK_WATER) && (a_BlockType == E_BLOCK_STATIONARY_WATER) + ) || // Replacing water with stationary water + ((OldBlockType == E_BLOCK_STATIONARY_LAVA) && (a_BlockType == E_BLOCK_LAVA) + ) || // Replacing stationary lava with lava + ((OldBlockType == E_BLOCK_LAVA) && (a_BlockType == E_BLOCK_STATIONARY_LAVA) + ) // Replacing lava with stationary lava + ); if (!ReplacingLiquids) { MarkDirty(); } - m_BlockData.SetBlock({ a_RelX, a_RelY, a_RelZ }, a_BlockType); + m_BlockData.SetBlock({a_RelX, a_RelY, a_RelZ}, a_BlockType); // Queue block to be sent only if ... - if ( - !( // ... the old and new blocktypes AREN'T leaves (because the client doesn't need meta updates) + if (!( // ... the old and new blocktypes AREN'T leaves (because the client doesn't need meta updates) ((OldBlockType == E_BLOCK_LEAVES) && (a_BlockType == E_BLOCK_LEAVES)) || ((OldBlockType == E_BLOCK_NEW_LEAVES) && (a_BlockType == E_BLOCK_NEW_LEAVES)) - ) && // ... AND ... - ( - (OldBlockMeta != a_BlockMeta) || (!ReplacingLiquids) - ) - ) + ) && // ... AND ... + ((OldBlockMeta != a_BlockMeta) || (!ReplacingLiquids))) { m_PendingSendBlocks.emplace_back(m_PosX, m_PosZ, a_RelX, a_RelY, a_RelZ, a_BlockType, a_BlockMeta); } - m_BlockData.SetMeta({ a_RelX, a_RelY, a_RelZ }, a_BlockMeta); + m_BlockData.SetMeta({a_RelX, a_RelY, a_RelZ}, a_BlockMeta); // ONLY recalculate lighting if it's necessary! - if ( - (cBlockInfo::GetLightValue (OldBlockType) != cBlockInfo::GetLightValue (a_BlockType)) || + if ((cBlockInfo::GetLightValue(OldBlockType) != cBlockInfo::GetLightValue(a_BlockType)) || (cBlockInfo::GetSpreadLightFalloff(OldBlockType) != cBlockInfo::GetSpreadLightFalloff(a_BlockType)) || - (cBlockInfo::IsTransparent (OldBlockType) != cBlockInfo::IsTransparent (a_BlockType)) - ) + (cBlockInfo::IsTransparent(OldBlockType) != cBlockInfo::IsTransparent(a_BlockType))) { m_IsLightValid = false; } @@ -1372,12 +1372,20 @@ void cChunk::FastSetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockT void cChunk::SendBlockTo(int a_RelX, int a_RelY, int a_RelZ, cClientHandle * a_Client) { - const auto BlockEntity = GetBlockEntityRel({ a_RelX, a_RelY, a_RelZ }); + const auto BlockEntity = GetBlockEntityRel({a_RelX, a_RelY, a_RelZ}); if (a_Client == nullptr) { // Queue the block (entity) for all clients in the chunk (will be sent in BroadcastPendingBlockChanges()): - m_PendingSendBlocks.emplace_back(m_PosX, m_PosZ, a_RelX, a_RelY, a_RelZ, GetBlock(a_RelX, a_RelY, a_RelZ), GetMeta(a_RelX, a_RelY, a_RelZ)); + m_PendingSendBlocks.emplace_back( + m_PosX, + m_PosZ, + a_RelX, + a_RelY, + a_RelZ, + GetBlock(a_RelX, a_RelY, a_RelZ), + GetMeta(a_RelX, a_RelY, a_RelZ) + ); if (BlockEntity != nullptr) { m_PendingSendBlockEntities.push_back(BlockEntity); @@ -1388,7 +1396,8 @@ void cChunk::SendBlockTo(int a_RelX, int a_RelY, int a_RelZ, cClientHandle * a_C const auto Position = PositionToWorldPosition(a_RelX, a_RelY, a_RelZ); a_Client->SendBlockChange(Position, GetBlock(a_RelX, a_RelY, a_RelZ), GetMeta(a_RelX, a_RelY, a_RelZ)); - // FS #268 - if a BlockEntity digging is cancelled by a plugin, the entire block entity must be re-sent to the client: + // FS #268 - if a BlockEntity digging is cancelled by a plugin, the entire block entity must be re-sent to the + // client: if (BlockEntity != nullptr) { BlockEntity->SendTo(*a_Client); @@ -1764,11 +1773,17 @@ void cChunk::GetBlockTypeMeta(Vector3i a_RelPos, BLOCKTYPE & a_BlockType, NIBBLE -void cChunk::GetBlockInfo(Vector3i a_RelPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_Meta, NIBBLETYPE & a_SkyLight, NIBBLETYPE & a_BlockLight) const +void cChunk::GetBlockInfo( + Vector3i a_RelPos, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_Meta, + NIBBLETYPE & a_SkyLight, + NIBBLETYPE & a_BlockLight +) const { - a_BlockType = GetBlock(a_RelPos); - a_Meta = m_BlockData.GetMeta(a_RelPos); - a_SkyLight = m_LightData.GetSkyLight(a_RelPos); + a_BlockType = GetBlock(a_RelPos); + a_Meta = m_BlockData.GetMeta(a_RelPos); + a_SkyLight = m_LightData.GetSkyLight(a_RelPos); a_BlockLight = m_LightData.GetBlockLight(a_RelPos); } @@ -1778,7 +1793,11 @@ void cChunk::GetBlockInfo(Vector3i a_RelPos, BLOCKTYPE & a_BlockType, NIBBLETYPE bool cChunk::GetChunkAndRelByAbsolute(const Vector3d & a_Position, cChunk ** a_Chunk, Vector3i & a_Rel) { - return GetChunkAndRelByAbsolute(Vector3i(FloorC(a_Position.x), FloorC(a_Position.y), FloorC(a_Position.z)), a_Chunk, a_Rel); + return GetChunkAndRelByAbsolute( + Vector3i(FloorC(a_Position.x), FloorC(a_Position.y), FloorC(a_Position.z)), + a_Chunk, + a_Rel + ); } @@ -1887,10 +1906,7 @@ cChunk * cChunk::GetRelNeighborChunkAdjustCoords(Vector3i & a_RelPos) const cChunk * ToReturn = const_cast(this); // The most common case: inside this chunk: - if ( - (a_RelPos.x >= 0) && (a_RelPos.x < cChunkDef::Width) && - (a_RelPos.z >= 0) && (a_RelPos.z < cChunkDef::Width) - ) + if ((a_RelPos.x >= 0) && (a_RelPos.x < cChunkDef::Width) && (a_RelPos.z >= 0) && (a_RelPos.z < cChunkDef::Width)) { return ToReturn; } @@ -1978,7 +1994,7 @@ NIBBLETYPE cChunk::GetTimeAlteredLight(NIBBLETYPE a_Skylight) const { a_Skylight -= m_World->GetSkyDarkness(); // Because NIBBLETYPE is unsigned, we clamp it to 0 .. 15 by checking for values above 15 - return (a_Skylight < 16)? a_Skylight : 0; + return (a_Skylight < 16) ? a_Skylight : 0; } diff --git a/src/Chunk.h b/src/Chunk.h index 6d8dc91db..aed2fe049 100644 --- a/src/Chunk.h +++ b/src/Chunk.h @@ -29,24 +29,28 @@ class cRedstoneSimulatorChunkData; struct SetChunkData; // A convenience macro for calling GetChunkAndRelByAbsolute. -#define PREPARE_REL_AND_CHUNK(Position, OriginalChunk) cChunk * Chunk; Vector3i Rel; bool RelSuccess = (OriginalChunk).GetChunkAndRelByAbsolute(Position, &Chunk, Rel) +#define PREPARE_REL_AND_CHUNK(Position, OriginalChunk) \ + cChunk * Chunk; \ + Vector3i Rel; \ + bool RelSuccess = (OriginalChunk).GetChunkAndRelByAbsolute(Position, &Chunk, Rel) class cChunk { -public: - + public: /** Represents the presence state of the chunk */ enum ePresence { - cpInvalid, /**< The chunk is not present at all and is not queued in the loader / generator */ - cpQueued, /**< The chunk is not present, but is queued for loading / generation */ - cpPresent, /**< The chunk is present */ + cpInvalid, /**< The chunk is not present at all and is not queued in the loader / generator */ + cpQueued, /**< The chunk is not present, but is queued for loading / generation */ + cpPresent, /**< The chunk is present */ }; cChunk( - int a_ChunkX, int a_ChunkZ, // Chunk coords - cChunkMap * a_ChunkMap, cWorld * a_World // Parent objects + int a_ChunkX, + int a_ChunkZ, // Chunk coords + cChunkMap * a_ChunkMap, + cWorld * a_World // Parent objects ); cChunk(const cChunk & Other) = delete; ~cChunk(); @@ -55,10 +59,10 @@ public: void BroadcastPendingChanges(void); /** Returns true iff the chunk block data is valid (loaded / generated) */ - bool IsValid(void) const {return (m_Presence == cpPresent); } + bool IsValid(void) const { return (m_Presence == cpPresent); } /** Returns true iff the chunk is in the queue for loading / generating */ - bool IsQueued(void) const {return (m_Presence == cpQueued); } + bool IsQueued(void) const { return (m_Presence == cpQueued); } /** Sets the chunk's presence. Wakes up any calls to cChunkMap::GetHeight() when setting to cpPresent. */ @@ -68,7 +72,7 @@ public: void MarkRegenerating(void); /** Returns true iff the chunk has changed since it was last saved. */ - bool IsDirty(void) const {return m_IsDirty; } + bool IsDirty(void) const { return m_IsDirty; } bool CanUnload(void) const; @@ -80,14 +84,15 @@ public: Not called during server shutdown; such cleanup during shutdown is unnecessary. */ void OnUnload(); - bool IsLightValid(void) const {return m_IsLightValid; } + bool IsLightValid(void) const { return m_IsLightValid; } /* To save a chunk, the WSSchema must: 1. Mark the chunk as being saved (MarkSaving()) 2. Get the chunk's data using GetAllData() 3. Mark the chunk as saved (MarkSaved()) - If anywhere inside this sequence another thread mmodifies the chunk, the chunk will not get marked as saved in MarkSaved() + If anywhere inside this sequence another thread mmodifies the chunk, the chunk will not get marked as saved in + MarkSaved() */ void MarkSaving(void); // Marks the chunk as being saved. void MarkSaved(void); // Marks the chunk as saved, if it didn't change from the last call to MarkSaving() @@ -104,10 +109,7 @@ public: Modifies the BlockEntity list in a_SetChunkData - moves the block entities into the chunk. */ void SetAllData(SetChunkData && a_SetChunkData); - void SetLight( - const cChunkDef::BlockNibbles & a_BlockLight, - const cChunkDef::BlockNibbles & a_SkyLight - ); + void SetLight(const cChunkDef::BlockNibbles & a_BlockLight, const cChunkDef::BlockNibbles & a_SkyLight); /** Writes the specified cBlockArea at the coords specified. Note that the coords may extend beyond the chunk! */ void WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes); @@ -137,27 +139,42 @@ public: void SetBlock(Vector3i a_RelBlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); // SetBlock() does a lot of work (heightmap, tickblocks, blockentities) so a BlockIdx version doesn't make sense - void FastSetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, BLOCKTYPE a_BlockMeta); // Doesn't force block updates on neighbors, use for simple changes such as grass growing etc. + void FastSetBlock( + int a_RelX, + int a_RelY, + int a_RelZ, + BLOCKTYPE a_BlockType, + BLOCKTYPE a_BlockMeta + ); // Doesn't force block updates on neighbors, use for simple changes such as grass growing etc. void FastSetBlock(Vector3i a_RelPos, BLOCKTYPE a_BlockType, BLOCKTYPE a_BlockMeta) { FastSetBlock(a_RelPos.x, a_RelPos.y, a_RelPos.z, a_BlockType, a_BlockMeta); } - BLOCKTYPE GetBlock(int a_RelX, int a_RelY, int a_RelZ) const { return m_BlockData.GetBlock({ a_RelX, a_RelY, a_RelZ }); } + BLOCKTYPE GetBlock(int a_RelX, int a_RelY, int a_RelZ) const + { + return m_BlockData.GetBlock({a_RelX, a_RelY, a_RelZ}); + } BLOCKTYPE GetBlock(Vector3i a_RelCoords) const { return m_BlockData.GetBlock(a_RelCoords); } void GetBlockTypeMeta(Vector3i a_RelPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const; void GetBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const { - GetBlockTypeMeta({ a_RelX, a_RelY, a_RelZ }, a_BlockType, a_BlockMeta); + GetBlockTypeMeta({a_RelX, a_RelY, a_RelZ}, a_BlockType, a_BlockMeta); } - void GetBlockInfo(Vector3i a_RelPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_Meta, NIBBLETYPE & a_SkyLight, NIBBLETYPE & a_BlockLight) const; + void GetBlockInfo( + Vector3i a_RelPos, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_Meta, + NIBBLETYPE & a_SkyLight, + NIBBLETYPE & a_BlockLight + ) const; /** Convert absolute coordinates into relative coordinates. Returns false on failure to obtain a valid chunk. Returns true otherwise. - @param a_Position The position you'd like to convert, a_Position need not be in the calling chunk and can safely be out - of its bounds, but for best performance, it should not be too far from the calling chunk. + @param a_Position The position you'd like to convert, a_Position need not be in the calling chunk and can safely be + out of its bounds, but for best performance, it should not be too far from the calling chunk. @param a_Chunk Returns the chunk in which a_Position is in. If a_Position is within the calling chunk's bounds, returns the calling chunk. For best performance, a_Position shouldn't be too far from the calling chunk. @param a_Rel Returns the converted relative position. Note that it is relative to the returned a_Chunk. @@ -166,8 +183,8 @@ public: /** Convert absolute coordinates into relative coordinates. Returns false on failure to obtain a valid chunk. Returns true otherwise. - @param a_Position The position you'd like to convert, a_Position need not be in the calling chunk and can safely be out - of its bounds, but for best performance, it should not be too far from the calling chunk. + @param a_Position The position you'd like to convert, a_Position need not be in the calling chunk and can safely be + out of its bounds, but for best performance, it should not be too far from the calling chunk. @param a_Chunk Returns the chunk in which a_Position is in. If a_Position is within the calling chunk's bounds, returns the calling chunk. For best performance, a_Position shouldn't be too far from the calling chunk. @param a_Rel Returns the converted relative position. Note that it is relative to the returned a_Chunk. @@ -188,7 +205,7 @@ public: Will try walking the neighbors first; if that fails, will query the chunkmap. */ cChunk * GetRelNeighborChunkAdjustCoords(Vector3i & a_RelPos) const; - EMCSBiome GetBiomeAt(int a_RelX, int a_RelZ) const {return cChunkDef::GetBiome(m_BiomeMap, a_RelX, a_RelZ); } + EMCSBiome GetBiomeAt(int a_RelX, int a_RelZ) const { return cChunkDef::GetBiome(m_BiomeMap, a_RelX, a_RelZ); } /** Sets the biome at the specified relative coords. Doesn't resend the chunk to clients. */ @@ -198,7 +215,7 @@ public: Sends the chunk to all relevant clients. */ void SetAreaBiome(int a_MinRelX, int a_MaxRelX, int a_MinRelZ, int a_MaxRelZ, EMCSBiome a_Biome); - int GetHeight( int a_X, int a_Z) const; + int GetHeight(int a_X, int a_Z) const; /** Returns true if it is sunny at the specified location. This takes into account biomes. */ bool IsWeatherSunnyAt(int a_RelX, int a_RelZ) const; @@ -232,34 +249,39 @@ public: bool HasEntity(UInt32 a_EntityID) const; - /** Calls the callback for each entity; returns true if all entities processed, false if the callback aborted by returning true */ + /** Calls the callback for each entity; returns true if all entities processed, false if the callback aborted by + * returning true */ bool ForEachEntity(cEntityCallback a_Callback) const; // Lua-accessible /** Calls the callback for each entity that has a nonempty intersection with the specified boundingbox. Returns true if all entities processed, false if the callback aborted by returning true. */ bool ForEachEntityInBox(const cBoundingBox & a_Box, cEntityCallback a_Callback) const; // Lua-accessible - /** Calls the callback if the entity with the specified ID is found, with the entity object as the callback param. Returns true if entity found. */ - bool DoWithEntityByID(UInt32 a_EntityID, cEntityCallback a_Callback, bool & a_CallbackResult) const; // Lua-accessible + /** Calls the callback if the entity with the specified ID is found, with the entity object as the callback param. + * Returns true if entity found. */ + bool DoWithEntityByID(UInt32 a_EntityID, cEntityCallback a_Callback, bool & a_CallbackResult) + const; // Lua-accessible - /** Calls the callback for each block entity; returns true if all block entities processed, false if the callback aborted by returning true */ + /** Calls the callback for each block entity; returns true if all block entities processed, false if the callback + * aborted by returning true */ bool ForEachBlockEntity(cBlockEntityCallback a_Callback); // Lua-accessible - /** Calls the callback for the block entity at the specified coords; returns false if there's no block entity at those coords, and whatever the callback returns if found. */ + /** Calls the callback for the block entity at the specified coords; returns false if there's no block entity at + * those coords, and whatever the callback returns if found. */ bool DoWithBlockEntityAt(Vector3i a_Position, cBlockEntityCallback a_Callback); // Lua-acessible /** Use block entity on coordinate. returns true if the use was successful, return false to use the block as a "normal" block */ bool UseBlockEntity(cPlayer * a_Player, int a_X, int a_Y, int a_Z); // [x, y, z] in world block coords - void SendBlockEntity (int a_BlockX, int a_BlockY, int a_BlockZ, cClientHandle & a_Client); + void SendBlockEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cClientHandle & a_Client); Vector3i PositionToWorldPosition(Vector3i a_RelPos) { return PositionToWorldPosition(a_RelPos.x, a_RelPos.y, a_RelPos.z); } - void PositionToWorldPosition(int a_RelX, int a_RelY, int a_RelZ, int & a_BlockX, int & a_BlockY, int & a_BlockZ); + void PositionToWorldPosition(int a_RelX, int a_RelY, int a_RelZ, int & a_BlockX, int & a_BlockY, int & a_BlockZ); Vector3i PositionToWorldPosition(int a_RelX, int a_RelY, int a_RelZ); inline void MarkDirty(void) @@ -271,28 +293,23 @@ public: /** Causes the specified block to be ticked on the next Tick() call. Plugins can use this via the cWorld:SetNextBlockToTick() API. Only one block coord per chunk may be set, a second call overwrites the first call */ - inline void SetNextBlockToTick(const Vector3i a_RelPos) - { - m_BlockToTick = a_RelPos; - } + inline void SetNextBlockToTick(const Vector3i a_RelPos) { m_BlockToTick = a_RelPos; } inline NIBBLETYPE GetMeta(int a_RelX, int a_RelY, int a_RelZ) const { - return m_BlockData.GetMeta({ a_RelX, a_RelY, a_RelZ }); + return m_BlockData.GetMeta({a_RelX, a_RelY, a_RelZ}); } NIBBLETYPE GetMeta(Vector3i a_RelPos) const { return m_BlockData.GetMeta(a_RelPos); } - void SetMeta(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_Meta) - { - SetMeta({ a_RelX, a_RelY, a_RelZ }, a_Meta); - } + void SetMeta(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_Meta) { SetMeta({a_RelX, a_RelY, a_RelZ}, a_Meta); } inline void SetMeta(Vector3i a_RelPos, NIBBLETYPE a_Meta) { m_BlockData.SetMeta(a_RelPos, a_Meta); MarkDirty(); - m_PendingSendBlocks.emplace_back(m_PosX, m_PosZ, a_RelPos.x, a_RelPos.y, a_RelPos.z, GetBlock(a_RelPos), a_Meta); + m_PendingSendBlocks + .emplace_back(m_PosX, m_PosZ, a_RelPos.x, a_RelPos.y, a_RelPos.z, GetBlock(a_RelPos), a_Meta); } /** Light alterations based on time */ @@ -300,90 +317,109 @@ public: /** Get the level of artificial light illuminating the block (0 - 15) */ inline NIBBLETYPE GetBlockLight(Vector3i a_RelPos) const { return m_LightData.GetBlockLight(a_RelPos); } - inline NIBBLETYPE GetBlockLight(int a_RelX, int a_RelY, int a_RelZ) const { return m_LightData.GetBlockLight({ a_RelX, a_RelY, a_RelZ }); } + inline NIBBLETYPE GetBlockLight(int a_RelX, int a_RelY, int a_RelZ) const + { + return m_LightData.GetBlockLight({a_RelX, a_RelY, a_RelZ}); + } /** Get the level of sky light illuminating the block (0 - 15) independent of daytime. */ inline NIBBLETYPE GetSkyLight(Vector3i a_RelPos) const { return m_LightData.GetSkyLight(a_RelPos); } - inline NIBBLETYPE GetSkyLight(int a_RelX, int a_RelY, int a_RelZ) const { return m_LightData.GetSkyLight({ a_RelX, a_RelY, a_RelZ }); } + inline NIBBLETYPE GetSkyLight(int a_RelX, int a_RelY, int a_RelZ) const + { + return m_LightData.GetSkyLight({a_RelX, a_RelY, a_RelZ}); + } /** Get the level of sky light illuminating the block (0 - 15), taking daytime into a account. */ - inline NIBBLETYPE GetSkyLightAltered(Vector3i a_RelPos) const { return GetTimeAlteredLight(m_LightData.GetSkyLight(a_RelPos)); } - inline NIBBLETYPE GetSkyLightAltered(int a_RelX, int a_RelY, int a_RelZ) const { return GetSkyLightAltered({ a_RelX, a_RelY, a_RelZ }); } + inline NIBBLETYPE GetSkyLightAltered(Vector3i a_RelPos) const + { + return GetTimeAlteredLight(m_LightData.GetSkyLight(a_RelPos)); + } + inline NIBBLETYPE GetSkyLightAltered(int a_RelX, int a_RelY, int a_RelZ) const + { + return GetSkyLightAltered({a_RelX, a_RelY, a_RelZ}); + } - /** Same as GetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + /** Same as GetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlock(Vector3i a_RelCoords, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const; /** OBSOLETE, use the Vector3i-based overload. Same as GetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) Returns true on success, false if queried chunk not loaded. */ - bool UnboundedRelGetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const + bool UnboundedRelGetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) + const { return UnboundedRelGetBlock({a_RelX, a_RelY, a_RelZ}, a_BlockType, a_BlockMeta); } - /** Same as GetBlockType(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + /** Same as GetBlockType(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockType(Vector3i a_RelCoords, BLOCKTYPE & a_BlockType) const; /** OBSOLETE, use the Vector3i-based overload. - Same as GetBlockType(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + Same as GetBlockType(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockType(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType) const { return UnboundedRelGetBlockType({a_RelX, a_RelY, a_RelZ}, a_BlockType); } - /** Same as GetBlockMeta(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + /** Same as GetBlockMeta(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockMeta(Vector3i a_RelPos, NIBBLETYPE & a_BlockMeta) const; /** OBSOLETE, use the Vector3i-based overload. - Same as GetBlockMeta(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + Same as GetBlockMeta(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockMeta(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE & a_BlockMeta) const { return UnboundedRelGetBlockMeta({a_RelX, a_RelY, a_RelZ}, a_BlockMeta); } - /** Same as GetBlockBlockLight(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + /** Same as GetBlockBlockLight(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in + such a case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockBlockLight(Vector3i a_RelPos, NIBBLETYPE & a_BlockLight) const; /** OBSOLETE, use the Vector3i-based overload. - Same as GetBlockBlockLight(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + Same as GetBlockBlockLight(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such + a case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockBlockLight(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE & a_BlockLight) const { return UnboundedRelGetBlockBlockLight({a_RelX, a_RelY, a_RelZ}, a_BlockLight); } - /** Same as GetBlockSkyLight(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + /** Same as GetBlockSkyLight(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in + such a case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockSkyLight(Vector3i a_RelPos, NIBBLETYPE & a_SkyLight) const; /** OBSOLETE, use the Vector3i-based overload. - Same as GetBlockSkyLight(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + Same as GetBlockSkyLight(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockSkyLight(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE & a_SkyLight) const { return UnboundedRelGetBlockSkyLight({a_RelX, a_RelY, a_RelZ}, a_SkyLight); } - /** Queries both BlockLight and SkyLight, relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + /** Queries both BlockLight and SkyLight, relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap + in such a case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelGetBlockLights(Vector3i a_RelPos, NIBBLETYPE & a_BlockLight, NIBBLETYPE & a_SkyLight) const; /** OBSOLETE, use the Vector3i-based overload. - Queries both BlockLight and SkyLight, relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ - bool UnboundedRelGetBlockLights(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE & a_BlockLight, NIBBLETYPE & a_SkyLight) const + Queries both BlockLight and SkyLight, relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in + such a case) Returns true on success, false if queried chunk not loaded. */ + bool UnboundedRelGetBlockLights( + int a_RelX, + int a_RelY, + int a_RelZ, + NIBBLETYPE & a_BlockLight, + NIBBLETYPE & a_SkyLight + ) const { return UnboundedRelGetBlockLights({a_RelX, a_RelY, a_RelZ}, a_BlockLight, a_SkyLight); } - /** Same as SetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + /** Same as SetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelSetBlock(Vector3i a_RelPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); /** OBSOLETE, use the Vector3i-based overload. @@ -394,13 +430,13 @@ public: return UnboundedRelSetBlock({a_RelX, a_RelY, a_RelZ}, a_BlockType, a_BlockMeta); } - /** Same as FastSetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + /** Same as FastSetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelFastSetBlock(Vector3i a_RelPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); /** OBSOLETE, use the Vector3i-based overload. - Same as FastSetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a case) - Returns true on success, false if queried chunk not loaded. */ + Same as FastSetBlock(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap in such a + case) Returns true on success, false if queried chunk not loaded. */ bool UnboundedRelFastSetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { return UnboundedRelFastSetBlock({a_RelX, a_RelY, a_RelZ}, a_BlockType, a_BlockMeta); @@ -409,10 +445,10 @@ public: // Per-chunk simulator data: - cFireSimulatorChunkData & GetFireSimulatorData (void) { return m_FireSimulatorData; } + cFireSimulatorChunkData & GetFireSimulatorData(void) { return m_FireSimulatorData; } cFluidSimulatorData * GetWaterSimulatorData(void) const { return m_WaterSimulatorData; } - cFluidSimulatorData * GetLavaSimulatorData (void) const { return m_LavaSimulatorData; } - cSandSimulatorChunkData & GetSandSimulatorData (void) { return m_SandSimulatorData; } + cFluidSimulatorData * GetLavaSimulatorData(void) const { return m_LavaSimulatorData; } + cSandSimulatorChunkData & GetSandSimulatorData(void) { return m_SandSimulatorData; } cRedstoneSimulatorChunkData * GetRedstoneSimulatorData(void) const { return m_RedstoneSimulatorData; } /** Returns the block entity at the specified (absolute) coords. @@ -422,7 +458,10 @@ public: /** OBSOLETE, use the Vector3i-based overload instead. Returns the block entity at the specified (absolute) coords. Returns nullptr if no such BE or outside this chunk. */ - cBlockEntity * GetBlockEntity(int a_BlockX, int a_BlockY, int a_BlockZ) { return GetBlockEntity({a_BlockX, a_BlockY, a_BlockZ}); } + cBlockEntity * GetBlockEntity(int a_BlockX, int a_BlockY, int a_BlockZ) + { + return GetBlockEntity({a_BlockX, a_BlockY, a_BlockZ}); + } /** Returns the block entity at the specified (relative) coords. Returns nullptr if no such BE. @@ -440,10 +479,7 @@ public: as at least one requests is active the chunk will be ticked). */ void SetAlwaysTicked(bool a_AlwaysTicked); - const auto & GetAllClients(void) const - { - return m_LoadedByClient; - } + const auto & GetAllClients(void) const { return m_LoadedByClient; } /** Converts the coord relative to this chunk into an absolute coord. Doesn't check relative coord validity. */ @@ -455,8 +491,7 @@ public: /** Returns true if slimes should spawn in the chunk. */ bool IsSlimeChunk() const; -private: - + private: friend class cChunkMap; struct sSetBlockQueueItem @@ -467,11 +502,25 @@ private: NIBBLETYPE m_BlockMeta; BLOCKTYPE m_PreviousType; - sSetBlockQueueItem(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Int64 a_Tick, BLOCKTYPE a_PreviousBlockType) : - m_Tick(a_Tick), m_RelX(a_RelX), m_RelY(a_RelY), m_RelZ(a_RelZ), m_BlockType(a_BlockType), m_BlockMeta(a_BlockMeta), m_PreviousType(a_PreviousBlockType) + sSetBlockQueueItem( + int a_RelX, + int a_RelY, + int a_RelZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Int64 a_Tick, + BLOCKTYPE a_PreviousBlockType + ) : + m_Tick(a_Tick), + m_RelX(a_RelX), + m_RelY(a_RelY), + m_RelZ(a_RelZ), + m_BlockType(a_BlockType), + m_BlockMeta(a_BlockMeta), + m_PreviousType(a_PreviousBlockType) { } - } ; + }; typedef std::vector sSetBlockQueueVector; @@ -479,9 +528,9 @@ private: /** Holds the presence status of the chunk - if it is present, or in the loader / generator queue, or unloaded */ ePresence m_Presence; - bool m_IsLightValid; // True if the blocklight and skylight are calculated - bool m_IsDirty; // True if the chunk has changed since it was last saved - bool m_IsSaving; // True if the chunk is being saved + bool m_IsLightValid; // True if the blocklight and skylight are calculated + bool m_IsDirty; // True if the chunk has changed since it was last saved + bool m_IsSaving; // True if the chunk is being saved /** Blocks that have changed and need to be sent to all clients. The protocol has a provision for coalescing block changes, and this is the buffer. @@ -490,7 +539,8 @@ private: /** Block entities that have been touched and need to be sent to all clients. Because block changes are buffered and we need to happen after them, this buffer exists too. - Pointers to block entities that were destroyed are guaranteed to be removed from this array by SetAllData, SetBlock, WriteBlockArea. */ + Pointers to block entities that were destroyed are guaranteed to be removed from this array by SetAllData, SetBlock, + WriteBlockArea. */ std::vector m_PendingSendBlockEntities; /** A queue of relative positions to call cBlockHandler::Check on. @@ -502,18 +552,19 @@ private: std::vector m_Entities; cBlockEntities m_BlockEntities; - /** Number of times the chunk has been requested to stay (by various cChunkStay objects); if zero, the chunk can be unloaded */ + /** Number of times the chunk has been requested to stay (by various cChunkStay objects); if zero, the chunk can be + * unloaded */ unsigned m_StayCount; int m_PosX, m_PosZ; - cWorld * m_World; + cWorld * m_World; cChunkMap * m_ChunkMap; ChunkBlockData m_BlockData; ChunkLightData m_LightData; cChunkDef::HeightMap m_HeightMap; - cChunkDef::BiomeMap m_BiomeMap; + cChunkDef::BiomeMap m_BiomeMap; /** Relative coords of the block to tick first in the next Tick() call. Plugins can use this to force a tick in a specific block, using cWorld:SetNextBlockToTick() API. */ @@ -526,8 +577,8 @@ private: // Per-chunk simulator data: cFireSimulatorChunkData m_FireSimulatorData; - cFluidSimulatorData * m_WaterSimulatorData; - cFluidSimulatorData * m_LavaSimulatorData; + cFluidSimulatorData * m_WaterSimulatorData; + cFluidSimulatorData * m_LavaSimulatorData; cSandSimulatorChunkData m_SandSimulatorData; cRedstoneSimulatorChunkData * m_RedstoneSimulatorData; @@ -564,7 +615,8 @@ private: Returns the number of stages the plant has grown, 0 if not a plant. */ int GrowPlantAt(Vector3i a_RelPos, int a_NumStages = 1); - /** Called by Tick() when an entity moves out of this chunk into a neighbor; moves the entity and sends spawn / despawn packet to clients */ + /** Called by Tick() when an entity moves out of this chunk into a neighbor; moves the entity and sends spawn / + * despawn packet to clients */ void MoveEntityToNewChunk(OwnedEntity a_Entity); /** Check m_Entities for cPlayer objects. */ diff --git a/src/ChunkData.cpp b/src/ChunkData.cpp index 318c0c481..cf9136f59 100644 --- a/src/ChunkData.cpp +++ b/src/ChunkData.cpp @@ -13,46 +13,46 @@ namespace { - struct SectionIndices - { - size_t Section = 0; // Index into m_Sections - size_t Index = 0; // Index into a single sChunkSection - }; +struct SectionIndices +{ + size_t Section = 0; // Index into m_Sections + size_t Index = 0; // Index into a single sChunkSection +}; - inline SectionIndices IndicesFromRelPos(const Vector3i a_RelPos) - { - ASSERT(cChunkDef::IsValidRelPos(a_RelPos)); +inline SectionIndices IndicesFromRelPos(const Vector3i a_RelPos) +{ + ASSERT(cChunkDef::IsValidRelPos(a_RelPos)); - return - { - static_cast(a_RelPos.y / cChunkDef::SectionHeight), - cChunkDef::MakeIndex(a_RelPos.x, a_RelPos.y % cChunkDef::SectionHeight, a_RelPos.z) - }; - } + return { + static_cast(a_RelPos.y / cChunkDef::SectionHeight), + cChunkDef::MakeIndex(a_RelPos.x, a_RelPos.y % cChunkDef::SectionHeight, a_RelPos.z) + }; +} - bool IsCompressed(const size_t ElementCount) - { - return ElementCount != ChunkBlockData::SectionBlockCount; - } +bool IsCompressed(const size_t ElementCount) +{ + return ElementCount != ChunkBlockData::SectionBlockCount; +} - template - ValueType UnpackDefaultValue(const ValueType DefaultValue) +template ValueType UnpackDefaultValue(const ValueType DefaultValue) +{ + if (IsCompressed(ElementCount)) { - if (IsCompressed(ElementCount)) - { - return DefaultValue & 0xF; - } - - return DefaultValue; + return DefaultValue & 0xF; } -} // namespace (anonymous) + + return DefaultValue; +} +} // namespace -template -void ChunkDataStore::Assign(const ChunkDataStore & a_Other) +template +void ChunkDataStore::Assign( + const ChunkDataStore & a_Other +) { for (size_t Y = 0; Y != cChunkDef::NumSections; Y++) { @@ -69,7 +69,7 @@ void ChunkDataStore::Assign(const Chunk -template +template ElementType ChunkDataStore::Get(const Vector3i a_Position) const { const auto Indices = IndicesFromRelPos(a_Position); @@ -94,8 +94,11 @@ ElementType ChunkDataStore::Get(const V -template -typename ChunkDataStore::Type * ChunkDataStore::GetSection(const size_t a_Y) const +template +typename ChunkDataStore::Type * ChunkDataStore< + ElementType, + ElementCount, + DefaultValue>::GetSection(const size_t a_Y) const { return Store[a_Y].get(); } @@ -104,7 +107,7 @@ typename ChunkDataStore::Type * ChunkDa -template +template void ChunkDataStore::Set(const Vector3i a_Position, const ElementType a_Value) { const auto Indices = IndicesFromRelPos(a_Position); @@ -135,8 +138,11 @@ void ChunkDataStore::Set(const Vector3i -template -void ChunkDataStore::SetSection(const ElementType (& a_Source)[ElementCount], const size_t a_Y) +template +void ChunkDataStore::SetSection( + const ElementType (&a_Source)[ElementCount], + const size_t a_Y +) { auto & Section = Store[a_Y]; const auto SourceEnd = std::end(a_Source); @@ -156,12 +162,13 @@ void ChunkDataStore::SetSection(const E -template -void ChunkDataStore::SetAll(const ElementType (& a_Source)[cChunkDef::NumSections * ElementCount]) +template +void ChunkDataStore::SetAll(const ElementType (&a_Source +)[cChunkDef::NumSections * ElementCount]) { for (size_t Y = 0; Y != cChunkDef::NumSections; Y++) { - SetSection(*reinterpret_cast(a_Source + Y * ElementCount), Y); + SetSection(*reinterpret_cast(a_Source + Y * ElementCount), Y); } } @@ -189,7 +196,11 @@ void ChunkBlockData::SetAll(const cChunkDef::BlockTypes & a_BlockSource, const c -void ChunkBlockData::SetSection(const SectionType & a_BlockSource, const SectionMetaType & a_MetaSource, const size_t a_Y) +void ChunkBlockData::SetSection( + const SectionType & a_BlockSource, + const SectionMetaType & a_MetaSource, + const size_t a_Y +) { m_Blocks.SetSection(a_BlockSource, a_Y); m_Metas.SetSection(a_MetaSource, a_Y); @@ -209,7 +220,10 @@ void ChunkLightData::Assign(const ChunkLightData & a_Other) -void ChunkLightData::SetAll(const cChunkDef::BlockNibbles & a_BlockLightSource, const cChunkDef::BlockNibbles & a_SkyLightSource) +void ChunkLightData::SetAll( + const cChunkDef::BlockNibbles & a_BlockLightSource, + const cChunkDef::BlockNibbles & a_SkyLightSource +) { m_BlockLights.SetAll(a_BlockLightSource); m_SkyLights.SetAll(a_SkyLightSource); @@ -219,7 +233,11 @@ void ChunkLightData::SetAll(const cChunkDef::BlockNibbles & a_BlockLightSource, -void ChunkLightData::SetSection(const SectionType & a_BlockLightSource, const SectionType & a_SkyLightSource, const size_t a_Y) +void ChunkLightData::SetSection( + const SectionType & a_BlockLightSource, + const SectionType & a_SkyLightSource, + const size_t a_Y +) { m_BlockLights.SetSection(a_BlockLightSource, a_Y); m_SkyLights.SetSection(a_SkyLightSource, a_Y); diff --git a/src/ChunkData.h b/src/ChunkData.h index 69ae1d5b8..84ca19d66 100644 --- a/src/ChunkData.h +++ b/src/ChunkData.h @@ -16,8 +16,7 @@ -template -struct ChunkDataStore +template struct ChunkDataStore { using Type = std::array; @@ -38,11 +37,11 @@ struct ChunkDataStore /** Copies the data from the specified flat section array into the internal representation. Allocates a section if needed for the operation. */ - void SetSection(const ElementType (& a_Source)[ElementCount], size_t a_Y); + void SetSection(const ElementType (&a_Source)[ElementCount], size_t a_Y); /** Copies the data from the specified flat array into the internal representation. Allocates sections that are needed for the operation. */ - void SetAll(const ElementType (& a_Source)[cChunkDef::NumSections * ElementCount]); + void SetAll(const ElementType (&a_Source)[cChunkDef::NumSections * ElementCount]); /** Contains all the sections this ChunkDataStore manages. */ std::unique_ptr Store[cChunkDef::NumSections]; @@ -54,8 +53,7 @@ struct ChunkDataStore class ChunkBlockData { -public: - + public: static constexpr size_t SectionBlockCount = cChunkDef::SectionHeight * cChunkDef::Width * cChunkDef::Width; static constexpr size_t SectionMetaCount = SectionBlockCount / 2; @@ -65,13 +63,11 @@ public: using SectionType = BLOCKTYPE[SectionBlockCount]; using SectionMetaType = NIBBLETYPE[SectionMetaCount]; -private: - + private: ChunkDataStore m_Blocks; ChunkDataStore m_Metas; -public: - + public: using BlockArray = decltype(m_Blocks)::Type; using MetaArray = decltype(m_Metas)::Type; @@ -96,8 +92,7 @@ public: class ChunkLightData { -public: - + public: static constexpr size_t SectionLightCount = (cChunkDef::SectionHeight * cChunkDef::Width * cChunkDef::Width) / 2; static constexpr NIBBLETYPE DefaultBlockLightValue = 0x00; @@ -105,13 +100,11 @@ public: using SectionType = NIBBLETYPE[SectionLightCount]; -private: - + private: ChunkDataStore m_BlockLights; ChunkDataStore m_SkyLights; -public: - + public: using LightArray = decltype(m_BlockLights)::Type; void Assign(const ChunkLightData & a_Other); @@ -133,26 +126,33 @@ public: /** Invokes the callback functor for every chunk section containing at least one present block or light section data. This is used to collect all data for all sections. In macro form to work around a Visual Studio 2017 ICE bug. */ -#define ChunkDef_ForEachSection(BlockData, LightData, Callback) \ - do \ - { \ - for (size_t Y = 0; Y < cChunkDef::NumSections; ++Y) \ - { \ - const auto Blocks = BlockData.GetSection(Y); \ - const auto Metas = BlockData.GetMetaSection(Y); \ - const auto BlockLights = LightData.GetBlockLightSection(Y); \ - const auto SkyLights = LightData.GetSkyLightSection(Y); \ +#define ChunkDef_ForEachSection(BlockData, LightData, Callback) \ + do \ + { \ + for (size_t Y = 0; Y < cChunkDef::NumSections; ++Y) \ + { \ + const auto Blocks = BlockData.GetSection(Y); \ + const auto Metas = BlockData.GetMetaSection(Y); \ + const auto BlockLights = LightData.GetBlockLightSection(Y); \ + const auto SkyLights = LightData.GetSkyLightSection(Y); \ if ((Blocks != nullptr) || (Metas != nullptr) || (BlockLights != nullptr) || (SkyLights != nullptr)) \ - { \ - Callback \ - } \ - } \ - } while (false) + { \ + Callback \ + } \ + } \ + } \ + while (false) extern template struct ChunkDataStore; -extern template struct ChunkDataStore; -extern template struct ChunkDataStore; +extern template struct ChunkDataStore< + NIBBLETYPE, + ChunkBlockData::SectionMetaCount, + ChunkLightData::DefaultBlockLightValue>; +extern template struct ChunkDataStore< + NIBBLETYPE, + ChunkLightData::SectionLightCount, + ChunkLightData::DefaultSkyLightValue>; diff --git a/src/ChunkDataCallback.h b/src/ChunkDataCallback.h index 49b3f1e2b..f9db5c341 100644 --- a/src/ChunkDataCallback.h +++ b/src/ChunkDataCallback.h @@ -18,50 +18,68 @@ /** Interface class used for getting data out of a chunk using the GetAllData() function. Implementation must use the pointers immediately and NOT store any of them for later use The virtual methods are called in the same order as they're declared here. */ -class cChunkDataCallback abstract -{ -public: +class cChunkDataCallback abstract {public: - virtual ~cChunkDataCallback() {} + virtual ~cChunkDataCallback() {} - /** Called before any other callbacks to inform of the current coords - (only in processes where multiple chunks can be processed, such as cWorld::ForEachChunkInRect()). - If false is returned, the chunk is skipped. */ - virtual bool Coords(int a_ChunkX, int a_ChunkZ) { UNUSED(a_ChunkX); UNUSED(a_ChunkZ); return true; } + /** Called before any other callbacks to inform of the current coords + (only in processes where multiple chunks can be processed, such as + cWorld::ForEachChunkInRect()). If false is returned, the chunk is skipped. */ + virtual bool Coords(int a_ChunkX, int a_ChunkZ) {UNUSED(a_ChunkX); +UNUSED(a_ChunkZ); +return true; +} - /** Called once to let know if the chunk lighting is valid. Return value is ignored */ - virtual void LightIsValid(bool a_IsLightValid) { UNUSED(a_IsLightValid); } +/** Called once to let know if the chunk lighting is valid. Return value is ignored */ +virtual void LightIsValid(bool a_IsLightValid) +{ + UNUSED(a_IsLightValid); +} - /** Called once to export block data. */ - virtual void ChunkData(const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData) { UNUSED(a_BlockData); UNUSED(a_LightData); } +/** Called once to export block data. */ +virtual void ChunkData(const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData) +{ + UNUSED(a_BlockData); + UNUSED(a_LightData); +} - /** Called once to provide heightmap data. */ - virtual void HeightMap(const cChunkDef::HeightMap & a_HeightMap) { UNUSED(a_HeightMap); } +/** Called once to provide heightmap data. */ +virtual void HeightMap(const cChunkDef::HeightMap & a_HeightMap) +{ + UNUSED(a_HeightMap); +} - /** Called once to provide biome data. */ - virtual void BiomeMap(const cChunkDef::BiomeMap & a_BiomeMap) { UNUSED(a_BiomeMap); } +/** Called once to provide biome data. */ +virtual void BiomeMap(const cChunkDef::BiomeMap & a_BiomeMap) +{ + UNUSED(a_BiomeMap); +} - /** Called for each entity in the chunk */ - virtual void Entity(cEntity * a_Entity) { UNUSED(a_Entity); } +/** Called for each entity in the chunk */ +virtual void Entity(cEntity * a_Entity) +{ + UNUSED(a_Entity); +} - /** Called for each blockentity in the chunk */ - virtual void BlockEntity(cBlockEntity * a_Entity) { UNUSED(a_Entity); } -} ; +/** Called for each blockentity in the chunk */ +virtual void BlockEntity(cBlockEntity * a_Entity) +{ + UNUSED(a_Entity); +} +} +; /** A simple implementation of the cChunkDataCallback interface that just copies the cChunkData */ -class cChunkDataCopyCollector : - public cChunkDataCallback +class cChunkDataCopyCollector : public cChunkDataCallback { -public: - + public: ChunkBlockData m_BlockData; ChunkLightData m_LightData; -private: - + private: virtual void ChunkData(const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData) override { m_BlockData.Assign(a_BlockData); diff --git a/src/ChunkDef.h b/src/ChunkDef.h index 7d99ca6e8..eb8545bd6 100644 --- a/src/ChunkDef.h +++ b/src/ChunkDef.h @@ -55,27 +55,27 @@ typedef unsigned char HEIGHTTYPE; /** Wraps the chunk coords into a single structure. */ class cChunkCoords { -public: + public: int m_ChunkX; int m_ChunkZ; - cChunkCoords(int a_ChunkX, int a_ChunkZ) : m_ChunkX(a_ChunkX), m_ChunkZ(a_ChunkZ) {} + cChunkCoords(int a_ChunkX, int a_ChunkZ) : + m_ChunkX(a_ChunkX), m_ChunkZ(a_ChunkZ) + { + } - bool operator == (const cChunkCoords & a_Other) const + bool operator==(const cChunkCoords & a_Other) const { return ((m_ChunkX == a_Other.m_ChunkX) && (m_ChunkZ == a_Other.m_ChunkZ)); } - bool operator != (const cChunkCoords & a_Other) const - { - return !(operator == (a_Other)); - } + bool operator!=(const cChunkCoords & a_Other) const { return !(operator==(a_Other)); } /** Simple comparison, to support ordering. */ - bool operator < (const cChunkCoords & a_Other) const + bool operator<(const cChunkCoords & a_Other) const { if (a_Other.m_ChunkX == m_ChunkX) { @@ -89,11 +89,8 @@ public: /** Returns a string that describes the chunk coords, suitable for logging. */ - AString ToString() const - { - return fmt::format(FMT_STRING("[{}, {}]"), m_ChunkX, m_ChunkZ); - } -} ; + AString ToString() const { return fmt::format(FMT_STRING("[{}, {}]"), m_ChunkX, m_ChunkZ); } +}; @@ -102,14 +99,14 @@ public: /** Implements custom fmtlib formatting for cChunkCoords. */ namespace fmt { - template <> struct formatter: formatter +template <> struct formatter : formatter +{ + auto format(cChunkCoords a_Coords, format_context & a_Ctx) { - auto format(cChunkCoords a_Coords, format_context & a_Ctx) - { - return format_to(a_Ctx.out(), "[{}, {}]", a_Coords.m_ChunkX, a_Coords.m_ChunkZ); - } - }; -} + return format_to(a_Ctx.out(), "[{}, {}]", a_Coords.m_ChunkX, a_Coords.m_ChunkZ); + } +}; +} // namespace fmt @@ -118,8 +115,7 @@ namespace fmt /** Constants used throughout the code, useful typedefs and utility functions */ class cChunkDef { -public: - + public: // Chunk dimensions: static const int Width = 16; static const int Height = 256; @@ -128,7 +124,8 @@ public: static const int SectionHeight = 16; static const size_t NumSections = (cChunkDef::Height / SectionHeight); - /** The type used for any heightmap operations and storage; idx = x + Width * z; Height points to the highest non-air block in the column */ + /** The type used for any heightmap operations and storage; idx = x + Width * z; Height points to the highest + * non-air block in the column */ typedef HEIGHTTYPE HeightMap[Width * Width]; /** The type used for any biomemap operations and storage inside Cuberite, @@ -144,7 +141,13 @@ public: /** Converts absolute block coords into relative (chunk + block) coords: */ - inline static void AbsoluteToRelative(/* in-out */ int & a_X, int & a_Y, int & a_Z, /* out */ int & a_ChunkX, int & a_ChunkZ) + inline static void AbsoluteToRelative( + /* in-out */ int & a_X, + int & a_Y, + int & a_Z, + /* out */ int & a_ChunkX, + int & a_ChunkZ + ) { UNUSED(a_Y); BlockToChunk(a_X, a_Z, a_ChunkX, a_ChunkZ); @@ -166,7 +169,11 @@ public: /** Converts the absolute coords into coords relative to the specified chunk. */ inline static Vector3i AbsoluteToRelative(Vector3i a_BlockPosition, cChunkCoords a_ChunkPos) { - return { a_BlockPosition.x - a_ChunkPos.m_ChunkX * Width, a_BlockPosition.y, a_BlockPosition.z - a_ChunkPos.m_ChunkZ * Width }; + return { + a_BlockPosition.x - a_ChunkPos.m_ChunkX * Width, + a_BlockPosition.y, + a_BlockPosition.z - a_ChunkPos.m_ChunkZ * Width + }; } @@ -189,20 +196,13 @@ public: /** Validates a width-coordinate. Returns false if width-coordiante is out of width bounds */ - inline static bool IsValidWidth(int a_Width) - { - return ((a_Width >= 0) && (a_Width < Width)); - } + inline static bool IsValidWidth(int a_Width) { return ((a_Width >= 0) && (a_Width < Width)); } /** Validates a chunk relative coordinate. Returns false if the coordiante is out of bounds for a chunk. */ inline static bool IsValidRelPos(Vector3i a_RelPos) { - return ( - IsValidWidth(a_RelPos.x) && - IsValidHeight(a_RelPos) && - IsValidWidth(a_RelPos.z) - ); + return (IsValidWidth(a_RelPos.x) && IsValidHeight(a_RelPos) && IsValidWidth(a_RelPos.z)); } @@ -211,7 +211,7 @@ public: { // This version is deprecated in favor of the vector version // If you're developing new code, use the other version. - const auto ChunkCoords = BlockToChunk({ a_X, 0, a_Z }); + const auto ChunkCoords = BlockToChunk({a_X, 0, a_Z}); a_ChunkX = ChunkCoords.m_ChunkX; a_ChunkZ = ChunkCoords.m_ChunkZ; } @@ -220,44 +220,41 @@ public: /** The Y coordinate of a_Pos is ignored */ inline static cChunkCoords BlockToChunk(const Vector3i a_Position) { - return { FAST_FLOOR_DIV(a_Position.x, Width), FAST_FLOOR_DIV(a_Position.z, Width) }; + return {FAST_FLOOR_DIV(a_Position.x, Width), FAST_FLOOR_DIV(a_Position.z, Width)}; } inline static size_t MakeIndex(int x, int y, int z) { - ASSERT(IsValidRelPos({ x, y, z })); + ASSERT(IsValidRelPos({x, y, z})); - #if AXIS_ORDER == AXIS_ORDER_XZY - // For some reason, NOT using the Horner schema is faster. Weird. - return static_cast(x + (z * Width) + (y * Width * Width)); // 1.2 uses XZY - #elif AXIS_ORDER == AXIS_ORDER_YZX - return static_cast(y + (z * Width) + (x * Height * Width)); // 1.1 uses YZX - #endif +#if AXIS_ORDER == AXIS_ORDER_XZY + // For some reason, NOT using the Horner schema is faster. Weird. + return static_cast(x + (z * Width) + (y * Width * Width)); // 1.2 uses XZY +#elif AXIS_ORDER == AXIS_ORDER_YZX + return static_cast(y + (z * Width) + (x * Height * Width)); // 1.1 uses YZX +#endif } - inline static size_t MakeIndex(Vector3i a_RelPos) - { - return MakeIndex(a_RelPos.x, a_RelPos.y, a_RelPos.z); - } + inline static size_t MakeIndex(Vector3i a_RelPos) { return MakeIndex(a_RelPos.x, a_RelPos.y, a_RelPos.z); } inline static Vector3i IndexToCoordinate(size_t index) { - #if AXIS_ORDER == AXIS_ORDER_XZY - return Vector3i( // 1.2 - static_cast(index % cChunkDef::Width), // X - static_cast(index / (cChunkDef::Width * cChunkDef::Width)), // Y - static_cast((index / cChunkDef::Width) % cChunkDef::Width) // Z - ); - #elif AXIS_ORDER == AXIS_ORDER_YZX - return Vector3i( // 1.1 - static_cast(index / (cChunkDef::Height * cChunkDef::Width)), // X - static_cast(index % cChunkDef::Height), // Y - static_cast((index / cChunkDef::Height) % cChunkDef::Width) // Z - ); - #endif +#if AXIS_ORDER == AXIS_ORDER_XZY + return Vector3i( // 1.2 + static_cast(index % cChunkDef::Width), // X + static_cast(index / (cChunkDef::Width * cChunkDef::Width)), // Y + static_cast((index / cChunkDef::Width) % cChunkDef::Width) // Z + ); +#elif AXIS_ORDER == AXIS_ORDER_YZX + return Vector3i( // 1.1 + static_cast(index / (cChunkDef::Height * cChunkDef::Width)), // X + static_cast(index % cChunkDef::Height), // Y + static_cast((index / cChunkDef::Height) % cChunkDef::Width) // Z + ); +#endif } @@ -358,7 +355,7 @@ public: { return (a_Buffer[a_Index / 2] >> ((a_Index & 1) * 4)) & 0x0f; } -} ; +}; @@ -368,8 +365,7 @@ public: Used primarily for entity moving while both chunks are locked. */ class cClientDiffCallback { -public: - + public: virtual ~cClientDiffCallback() {} /** Called for clients that are in Chunk1 and not in Chunk2, */ @@ -377,7 +373,7 @@ public: /** Called for clients that are in Chunk2 and not in Chunk1. */ virtual void Added(cClientHandle * a_Client) = 0; -} ; +}; @@ -390,12 +386,8 @@ struct sSetBlock BLOCKTYPE m_BlockType; NIBBLETYPE m_BlockMeta; - sSetBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta): - m_RelX(a_BlockX), - m_RelY(a_BlockY), - m_RelZ(a_BlockZ), - m_BlockType(a_BlockType), - m_BlockMeta(a_BlockMeta) + sSetBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) : + m_RelX(a_BlockX), m_RelY(a_BlockY), m_RelZ(a_BlockZ), m_BlockType(a_BlockType), m_BlockMeta(a_BlockMeta) { cChunkDef::AbsoluteToRelative(m_RelX, m_RelY, m_RelZ, m_ChunkX, m_ChunkZ); } @@ -405,9 +397,20 @@ struct sSetBlock { } - sSetBlock(int a_ChunkX, int a_ChunkZ, int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) : - m_RelX(a_RelX), m_RelY(a_RelY), m_RelZ(a_RelZ), - m_ChunkX(a_ChunkX), m_ChunkZ(a_ChunkZ), + sSetBlock( + int a_ChunkX, + int a_ChunkZ, + int a_RelX, + int a_RelY, + int a_RelZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ) : + m_RelX(a_RelX), + m_RelY(a_RelY), + m_RelZ(a_RelZ), + m_ChunkX(a_ChunkX), + m_ChunkZ(a_ChunkZ), m_BlockType(a_BlockType), m_BlockMeta(a_BlockMeta) { @@ -426,16 +429,10 @@ struct sSetBlock int GetZ(void) const { return m_RelZ + cChunkDef::Width * m_ChunkZ; } /** Returns the absolute coords of the stored block. */ - Vector3i GetAbsolutePos() const - { - return Vector3i(GetX(), GetY(), GetZ()); - } + Vector3i GetAbsolutePos() const { return Vector3i(GetX(), GetY(), GetZ()); } /** Returns the relative position of the stored block within its chunk. */ - Vector3i GetRelativePos() const - { - return Vector3i(m_RelX, m_RelY, m_RelZ); - } + Vector3i GetRelativePos() const { return Vector3i(m_RelX, m_RelY, m_RelZ); } }; typedef std::vector sSetBlockVector; @@ -447,12 +444,12 @@ typedef std::vector cChunkCoordsVector; -/** A simple hash function for chunk coords, we assume that chunk coords won't use more than 16 bits, so the hash is almost an identity. -Used for std::unordered_map */ +/** A simple hash function for chunk coords, we assume that chunk coords won't use more than 16 bits, so the hash is +almost an identity. Used for std::unordered_map */ class cChunkCoordsHash { -public: - size_t operator () (const cChunkCoords & a_Coords) const + public: + size_t operator()(const cChunkCoords & a_Coords) const { return (static_cast(a_Coords.m_ChunkX) << 16) ^ static_cast(a_Coords.m_ChunkZ); } @@ -465,13 +462,12 @@ public: /** Interface class used as a callback for operations that involve chunk coords */ class cChunkCoordCallback { -public: - + public: virtual ~cChunkCoordCallback() {} /** Called with the chunk's coords, and an optional operation status flag for operations that support it. */ virtual void Call(cChunkCoords a_Coords, bool a_IsSuccess) = 0; -} ; +}; @@ -480,11 +476,11 @@ public: /** Generic template that can store any kind of data together with a triplet of 3 coords */ template class cCoordWithData { -public: + public: int x; int y; int z; - X Data; + X Data; cCoordWithData(int a_X, int a_Y, int a_Z) : x(a_X), y(a_Y), z(a_Z), Data() @@ -495,9 +491,9 @@ public: x(a_X), y(a_Y), z(a_Z), Data(a_Data) { } -} ; +}; -typedef cCoordWithData cCoordWithInt; +typedef cCoordWithData cCoordWithInt; -typedef std::list cCoordWithIntList; +typedef std::list cCoordWithIntList; typedef std::vector cCoordWithIntVector; diff --git a/src/ChunkGeneratorThread.cpp b/src/ChunkGeneratorThread.cpp index f90134adf..bcdaf4650 100644 --- a/src/ChunkGeneratorThread.cpp +++ b/src/ChunkGeneratorThread.cpp @@ -18,10 +18,7 @@ const size_t QUEUE_SKIP_LIMIT = 500; cChunkGeneratorThread::cChunkGeneratorThread(void) : - Super("Chunk Generator"), - m_Generator(nullptr), - m_PluginInterface(nullptr), - m_ChunkSink(nullptr) + Super("Chunk Generator"), m_Generator(nullptr), m_PluginInterface(nullptr), m_ChunkSink(nullptr) { } @@ -38,7 +35,11 @@ cChunkGeneratorThread::~cChunkGeneratorThread() -bool cChunkGeneratorThread::Initialize(cPluginInterface & a_PluginInterface, cChunkSink & a_ChunkSink, cIniFile & a_IniFile) +bool cChunkGeneratorThread::Initialize( + cPluginInterface & a_PluginInterface, + cChunkSink & a_ChunkSink, + cIniFile & a_IniFile +) { m_PluginInterface = &a_PluginInterface; m_ChunkSink = &a_ChunkSink; @@ -83,7 +84,11 @@ void cChunkGeneratorThread::QueueGenerateChunk( // Add to queue, issue a warning if too many: if (m_Queue.size() >= QUEUE_WARNING_LIMIT) { - LOGWARN("WARNING: Adding chunk %s to generation queue; Queue is too big! (%zu)", a_Coords.ToString().c_str(), m_Queue.size()); + LOGWARN( + "WARNING: Adding chunk %s to generation queue; Queue is too big! (%zu)", + a_Coords.ToString().c_str(), + m_Queue.size() + ); } m_Queue.emplace_back(a_Coords, a_ForceRegeneration, a_Callback); } @@ -156,7 +161,8 @@ void cChunkGeneratorThread::Execute(void) // When the queue gets empty, the count is reset, so that waiting for the queue is not counted into the total time. int NumChunksGenerated = 0; // Number of chunks generated since the queue was last empty clock_t GenerationStart = clock(); // Clock tick when the queue started to fill - clock_t LastReportTick = clock(); // Clock tick of the last report made (so that performance isn't reported too often) + clock_t LastReportTick = + clock(); // Clock tick of the last report made (so that performance isn't reported too often) while (!m_ShouldTerminate) { @@ -199,8 +205,7 @@ void cChunkGeneratorThread::Execute(void) { LOG("Chunk generator performance: %.2f ch / sec (%d ch total)", static_cast(NumChunksGenerated) * CLOCKS_PER_SEC / (clock() - GenerationStart), - NumChunksGenerated - ); + NumChunksGenerated); LastReportTick = clock(); } @@ -250,10 +255,10 @@ void cChunkGeneratorThread::DoGenerate(cChunkCoords a_Coords) m_Generator->Generate(ChunkDesc); m_PluginInterface->CallHookChunkGenerated(ChunkDesc); - #ifndef NDEBUG - // Verify that the generator has produced valid data: - ChunkDesc.VerifyHeightmap(); - #endif +#ifndef NDEBUG + // Verify that the generator has produced valid data: + ChunkDesc.VerifyHeightmap(); +#endif m_ChunkSink->OnChunkGenerated(ChunkDesc); } diff --git a/src/ChunkGeneratorThread.h b/src/ChunkGeneratorThread.h index e6d1cff7b..67cd88f7b 100644 --- a/src/ChunkGeneratorThread.h +++ b/src/ChunkGeneratorThread.h @@ -21,17 +21,15 @@ Before generating, the thread checks if the chunk hasn't been already generated. It is theoretically possible to have multiple generator threads by having multiple instances of this object, but then it MAY happen that the chunk is generated twice. If the generator queue is overloaded, the generator skips chunks with no clients in them. */ -class cChunkGeneratorThread : - public cIsThread +class cChunkGeneratorThread : public cIsThread { using Super = cIsThread; -public: - + public: /** The interface through which the plugins are called for their OnChunkGenerating / OnChunkGenerated hooks. */ class cPluginInterface { - public: + public: // Force a virtual destructor virtual ~cPluginInterface() {} @@ -42,13 +40,13 @@ public: /** Called after the chunk is generated, before it is handed to the chunk sink. a_ChunkDesc contains the generated chunk data. Implementation may modify this data. */ virtual void CallHookChunkGenerated(cChunkDesc & a_ChunkDesc) = 0; - } ; + }; /** The interface through which the generated chunks are handed to the cWorld or whoever created us. */ class cChunkSink { - public: + public: // Force a virtual destructor virtual ~cChunkSink() {} @@ -70,10 +68,10 @@ public: /** Called to check whether the specified chunk is in the queued state. Currently used only in Debug-mode asserts. */ virtual bool IsChunkQueued(cChunkCoords a_Coords) = 0; - } ; + }; - cChunkGeneratorThread (void); + cChunkGeneratorThread(void); virtual ~cChunkGeneratorThread() override; /** Read settings from the ini file and initialize in preperation for being started. */ @@ -83,12 +81,17 @@ public: /** Queues the chunk for generation If a-ForceGenerate is set, the chunk is regenerated even if the data is already present in the chunksink. - a_Callback is called after the chunk is generated. If the chunk was already present, the callback is still called, even if not regenerating. - It is legal to set the callback to nullptr, no callback is called then. - If the generator becomes overloaded and skips this chunk, the callback is still called. */ - void QueueGenerateChunk(cChunkCoords a_Coords, bool a_ForceRegeneration, cChunkCoordCallback * a_Callback = nullptr); - - /** Generates the biomes for the specified chunk (directly, not in a separate thread). Used by the world loader if biomes failed loading. */ + a_Callback is called after the chunk is generated. If the chunk was already present, the callback is still called, + even if not regenerating. It is legal to set the callback to nullptr, no callback is called then. If the generator + becomes overloaded and skips this chunk, the callback is still called. */ + void QueueGenerateChunk( + cChunkCoords a_Coords, + bool a_ForceRegeneration, + cChunkCoordCallback * a_Callback = nullptr + ); + + /** Generates the biomes for the specified chunk (directly, not in a separate thread). Used by the world loader if + * biomes failed loading. */ void GenerateBiomes(cChunkCoords a_Coords, cChunkDef::BiomeMap & a_BiomeMap); void WaitForQueueEmpty(); @@ -101,8 +104,7 @@ public: EMCSBiome GetBiomeAt(int a_BlockX, int a_BlockZ); -private: - + private: struct QueueItem { /** The chunk coords */ @@ -114,10 +116,8 @@ private: /** Callback to call after generating. */ cChunkCoordCallback * m_Callback; - QueueItem(cChunkCoords a_Coords, bool a_ForceRegeneration, cChunkCoordCallback * a_Callback): - m_Coords(a_Coords), - m_ForceRegeneration(a_ForceRegeneration), - m_Callback(a_Callback) + QueueItem(cChunkCoords a_Coords, bool a_ForceRegeneration, cChunkCoordCallback * a_Callback) : + m_Coords(a_Coords), m_ForceRegeneration(a_ForceRegeneration), m_Callback(a_Callback) { } }; @@ -153,7 +153,3 @@ private: /** Generates the specified chunk and sets it into the chunksink. */ void DoGenerate(cChunkCoords a_Coords); }; - - - - diff --git a/src/ChunkMap.cpp b/src/ChunkMap.cpp index a2bc50fe9..a624b564c 100644 --- a/src/ChunkMap.cpp +++ b/src/ChunkMap.cpp @@ -39,10 +39,7 @@ cChunkMap::cChunkMap(cWorld * a_World) : cChunk & cChunkMap::ConstructChunk(int a_ChunkX, int a_ChunkZ) { // If not exists insert. Then, return the chunk at these coordinates: - return m_Chunks.try_emplace( - { a_ChunkX, a_ChunkZ }, - a_ChunkX, a_ChunkZ, this, m_World - ).first->second; + return m_Chunks.try_emplace({a_ChunkX, a_ChunkZ}, a_ChunkX, a_ChunkZ, this, m_World).first->second; } @@ -51,7 +48,8 @@ cChunk & cChunkMap::ConstructChunk(int a_ChunkX, int a_ChunkZ) cChunk & cChunkMap::GetChunk(int a_ChunkX, int a_ChunkZ) { - ASSERT(m_CSChunks.IsLockedByCurrentThread()); // m_CSChunks should already be locked by the operation that called us + ASSERT(m_CSChunks.IsLockedByCurrentThread() + ); // m_CSChunks should already be locked by the operation that called us auto & Chunk = ConstructChunk(a_ChunkX, a_ChunkZ); if (!Chunk.IsValid() && !Chunk.IsQueued()) @@ -70,7 +68,7 @@ cChunk * cChunkMap::FindChunk(int a_ChunkX, int a_ChunkZ) { ASSERT(m_CSChunks.IsLockedByCurrentThread()); - const auto Chunk = m_Chunks.find({ a_ChunkX, a_ChunkZ }); + const auto Chunk = m_Chunks.find({a_ChunkX, a_ChunkZ}); return (Chunk == m_Chunks.end()) ? nullptr : &Chunk->second; } @@ -82,7 +80,7 @@ const cChunk * cChunkMap::FindChunk(int a_ChunkX, int a_ChunkZ) const { ASSERT(m_CSChunks.IsLockedByCurrentThread()); - const auto Chunk = m_Chunks.find({ a_ChunkX, a_ChunkZ }); + const auto Chunk = m_Chunks.find({a_ChunkX, a_ChunkZ}); return (Chunk == m_Chunks.end()) ? nullptr : &Chunk->second; } @@ -197,7 +195,7 @@ void cChunkMap::MarkChunkSaving(int a_ChunkX, int a_ChunkZ) -void cChunkMap::MarkChunkSaved (int a_ChunkX, int a_ChunkZ) +void cChunkMap::MarkChunkSaved(int a_ChunkX, int a_ChunkZ) { cCSLock Lock(m_CSChunks); const auto Chunk = FindChunk(a_ChunkX, a_ChunkZ); @@ -228,7 +226,8 @@ void cChunkMap::SetChunkData(struct SetChunkData && a_SetChunkData) { if ((*itr)->ChunkAvailable(ChunkX, ChunkZ)) { - // The chunkstay wants to be disabled, add it to a list of to-be-disabled chunkstays for later processing: + // The chunkstay wants to be disabled, add it to a list of to-be-disabled chunkstays for later + // processing: ToBeDisabled.push_back(*itr); } } // for itr - m_ChunkStays[] @@ -249,7 +248,8 @@ void cChunkMap::SetChunkData(struct SetChunkData && a_SetChunkData) void cChunkMap::ChunkLighted( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, const cChunkDef::BlockNibbles & a_BlockLight, const cChunkDef::BlockNibbles & a_SkyLight ) @@ -380,7 +380,7 @@ bool cChunkMap::HasChunkAnyClients(int a_ChunkX, int a_ChunkZ) const -int cChunkMap::GetHeight(int a_BlockX, int a_BlockZ) +int cChunkMap::GetHeight(int a_BlockX, int a_BlockZ) { for (;;) { @@ -446,26 +446,29 @@ void cChunkMap::CollectPickupsByEntity(cEntity & a_Entity) auto BoundingBox = a_Entity.GetBoundingBox(); BoundingBox.Expand(1, 0.5, 1); - ForEachEntityInBox(BoundingBox, [&a_Entity](cEntity & Entity) - { - // Only pickups and projectiles can be picked up: - if (Entity.IsPickup()) - { - /* - LOG("Pickup %d being collected by player \"%s\", distance %f", - (*itr)->GetUniqueID(), a_Player->GetName().c_str(), SqrDist - ); - */ - static_cast(Entity).CollectedBy(a_Entity); - } - else if (Entity.IsProjectile() && a_Entity.IsPlayer()) + ForEachEntityInBox( + BoundingBox, + [&a_Entity](cEntity & Entity) { - static_cast(Entity).CollectedBy(static_cast(a_Entity)); - } + // Only pickups and projectiles can be picked up: + if (Entity.IsPickup()) + { + /* + LOG("Pickup %d being collected by player \"%s\", distance %f", + (*itr)->GetUniqueID(), a_Player->GetName().c_str(), SqrDist + ); + */ + static_cast(Entity).CollectedBy(a_Entity); + } + else if (Entity.IsProjectile() && a_Entity.IsPlayer()) + { + static_cast(Entity).CollectedBy(static_cast(a_Entity)); + } - // The entities will MarkDirty when they Destroy themselves - return false; - }); + // The entities will MarkDirty when they Destroy themselves + return false; + } + ); } @@ -602,7 +605,13 @@ bool cChunkMap::GetBlockTypeMeta(Vector3i a_BlockPos, BLOCKTYPE & a_BlockType, N -bool cChunkMap::GetBlockInfo(Vector3i a_BlockPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_Meta, NIBBLETYPE & a_SkyLight, NIBBLETYPE & a_BlockLight) const +bool cChunkMap::GetBlockInfo( + Vector3i a_BlockPos, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_Meta, + NIBBLETYPE & a_SkyLight, + NIBBLETYPE & a_BlockLight +) const { auto chunkPos = cChunkDef::BlockToChunk(a_BlockPos); auto relPos = cChunkDef::AbsoluteToRelative(a_BlockPos, chunkPos); @@ -635,20 +644,20 @@ void cChunkMap::ReplaceTreeBlocks(const sSetBlockVector & a_Blocks) Vector3i relPos(itr->m_RelX, itr->m_RelY, itr->m_RelZ); switch (Chunk->GetBlock(relPos)) { - CASE_TREE_OVERWRITTEN_BLOCKS: + CASE_TREE_OVERWRITTEN_BLOCKS: + { + Chunk->SetBlock(relPos, itr->m_BlockType, itr->m_BlockMeta); + break; + } + case E_BLOCK_LEAVES: + case E_BLOCK_NEW_LEAVES: + { + if ((itr->m_BlockType == E_BLOCK_LOG) || (itr->m_BlockType == E_BLOCK_NEW_LOG)) { Chunk->SetBlock(relPos, itr->m_BlockType, itr->m_BlockMeta); - break; - } - case E_BLOCK_LEAVES: - case E_BLOCK_NEW_LEAVES: - { - if ((itr->m_BlockType == E_BLOCK_LOG) || (itr->m_BlockType == E_BLOCK_NEW_LOG)) - { - Chunk->SetBlock(relPos, itr->m_BlockType, itr->m_BlockMeta); - } - break; } + break; + } } } // for itr - a_Blocks[] } @@ -819,7 +828,13 @@ void cChunkMap::SendBlockTo(int a_X, int a_Y, int a_Z, const cPlayer & a_Player) -void cChunkMap::CompareChunkClients(int a_ChunkX1, int a_ChunkZ1, int a_ChunkX2, int a_ChunkZ2, cClientDiffCallback & a_Callback) +void cChunkMap::CompareChunkClients( + int a_ChunkX1, + int a_ChunkZ1, + int a_ChunkX2, + int a_ChunkZ2, + cClientDiffCallback & a_Callback +) { cCSLock Lock(m_CSChunks); const auto Chunk1 = FindChunk(a_ChunkX1, a_ChunkZ1); @@ -910,8 +925,12 @@ void cChunkMap::AddEntity(OwnedEntity a_Entity) cCSLock Lock(m_CSChunks); if (FindChunk(a_Entity->GetChunkX(), a_Entity->GetChunkZ()) == nullptr) { - LOGWARNING("%s: Entity at %p (%s, ID %d) spawning in a non-existent chunk.", - __FUNCTION__, static_cast(a_Entity.get()), a_Entity->GetClass(), a_Entity->GetUniqueID() + LOGWARNING( + "%s: Entity at %p (%s, ID %d) spawning in a non-existent chunk.", + __FUNCTION__, + static_cast(a_Entity.get()), + a_Entity->GetClass(), + a_Entity->GetUniqueID() ); } @@ -935,7 +954,8 @@ void cChunkMap::AddEntity(OwnedEntity a_Entity) void cChunkMap::AddPlayer(std::unique_ptr a_Player) { cCSLock Lock(m_CSChunks); - auto & Chunk = ConstructChunk(a_Player->GetChunkX(), a_Player->GetChunkZ()); // Always construct the chunk for players + auto & Chunk = + ConstructChunk(a_Player->GetChunkX(), a_Player->GetChunkZ()); // Always construct the chunk for players ASSERT(!Chunk.HasEntity(a_Player->GetUniqueID())); Chunk.AddEntity(std::move(a_Player)); } @@ -1164,7 +1184,13 @@ bool cChunkMap::IsChunkLighted(int a_ChunkX, int a_ChunkZ) -bool cChunkMap::ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) +bool cChunkMap::ForEachChunkInRect( + int a_MinChunkX, + int a_MaxChunkX, + int a_MinChunkZ, + int a_MaxChunkZ, + cChunkDataCallback & a_Callback +) { bool Result = true; cCSLock Lock(m_CSChunks); @@ -1386,9 +1412,9 @@ void cChunkMap::UnloadUnusedChunks(void) cCSLock Lock(m_CSChunks); for (auto itr = m_Chunks.begin(); itr != m_Chunks.end();) { - if ( - itr->second.CanUnload() && // Can unload - !cPluginManager::Get()->CallHookChunkUnloading(*GetWorld(), itr->first.m_ChunkX, itr->first.m_ChunkZ) // Plugins agree + if (itr->second.CanUnload() && // Can unload + !cPluginManager::Get() + ->CallHookChunkUnloading(*GetWorld(), itr->first.m_ChunkX, itr->first.m_ChunkZ) // Plugins agree ) { // First notify plugins: @@ -1497,7 +1523,9 @@ void cChunkMap::AddChunkStay(cChunkStay & a_ChunkStay) cCSLock Lock(m_CSChunks); // Add it to the list: - ASSERT(std::find(m_ChunkStays.begin(), m_ChunkStays.end(), &a_ChunkStay) == m_ChunkStays.end()); // Has not yet been added + ASSERT( + std::find(m_ChunkStays.begin(), m_ChunkStays.end(), &a_ChunkStay) == m_ChunkStays.end() + ); // Has not yet been added m_ChunkStays.push_back(&a_ChunkStay); // Schedule all chunks to be loaded / generated, and mark each as locked: diff --git a/src/ChunkMap.h b/src/ChunkMap.h index 578c49b8a..12b8d25d3 100644 --- a/src/ChunkMap.h +++ b/src/ChunkMap.h @@ -26,9 +26,9 @@ class cDeadlockDetect; struct SetChunkData; -using cChunkCallback = cFunctionRef; -using cEntityCallback = cFunctionRef; -using cBlockEntityCallback = cFunctionRef; +using cChunkCallback = cFunctionRef; +using cEntityCallback = cFunctionRef; +using cBlockEntityCallback = cFunctionRef; @@ -36,8 +36,7 @@ using cBlockEntityCallback = cFunctionRef; class cChunkMap { -public: - + public: cChunkMap(cWorld * a_World); /** Sends the block entity, if it is at the coords specified, to a_Client */ @@ -47,10 +46,12 @@ public: returns true if the use was successful, return false to use the block as a "normal" block */ bool UseBlockEntity(cPlayer * a_Player, int a_X, int a_Y, int a_Z); - /** Calls the callback for the chunk specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, otherwise returns the same value as the callback */ + /** Calls the callback for the chunk specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, + * otherwise returns the same value as the callback */ bool DoWithChunk(int a_ChunkX, int a_ChunkZ, cChunkCallback a_Callback); - /** Calls the callback for the chunk at the block position specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, otherwise returns the same value as the callback */ + /** Calls the callback for the chunk at the block position specified, with ChunkMapCS locked; returns false if the + * chunk doesn't exist, otherwise returns the same value as the callback */ bool DoWithChunkAt(Vector3i a_BlockPos, cChunkCallback a_Callback); /** Wakes up simulators for the specified block */ @@ -59,13 +60,14 @@ public: // DEPRECATED, use the vector-parametered version instead. void WakeUpSimulators(int a_BlockX, int a_BlockY, int a_BlockZ) { - LOGWARNING("cChunkMap::WakeUpSimulators(int, int, int) is deprecated, use cChunkMap::WakeUpSimulators(Vector3i) instead."); + LOGWARNING("cChunkMap::WakeUpSimulators(int, int, int) is deprecated, use " + "cChunkMap::WakeUpSimulators(Vector3i) instead."); WakeUpSimulators(Vector3i(a_BlockX, a_BlockY, a_BlockZ)); } - void MarkChunkDirty (int a_ChunkX, int a_ChunkZ); - void MarkChunkSaving (int a_ChunkX, int a_ChunkZ); - void MarkChunkSaved (int a_ChunkX, int a_ChunkZ); + void MarkChunkDirty(int a_ChunkX, int a_ChunkZ); + void MarkChunkSaving(int a_ChunkX, int a_ChunkZ); + void MarkChunkSaved(int a_ChunkX, int a_ChunkZ); /** Sets the chunk data as either loaded from the storage or generated. BlockLight and BlockSkyLight are optional, if not present, chunk will be marked as unlighted. @@ -75,7 +77,8 @@ public: void SetChunkData(SetChunkData && a_SetChunkData); void ChunkLighted( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, const cChunkDef::BlockNibbles & a_BlockLight, const cChunkDef::BlockNibbles & a_SkyLight ); @@ -91,10 +94,10 @@ public: bool IsWeatherWetAt(int a_BlockX, int a_BlockZ) const; bool IsWeatherWetAt(Vector3i a_Position) const; - bool IsChunkValid (int a_ChunkX, int a_ChunkZ) const; - bool HasChunkAnyClients (int a_ChunkX, int a_ChunkZ) const; - int GetHeight (int a_BlockX, int a_BlockZ); // Waits for the chunk to get loaded / generated - bool TryGetHeight (int a_BlockX, int a_BlockZ, int & a_Height); // Returns false if chunk not loaded / generated + bool IsChunkValid(int a_ChunkX, int a_ChunkZ) const; + bool HasChunkAnyClients(int a_ChunkX, int a_ChunkZ) const; + int GetHeight(int a_BlockX, int a_BlockZ); // Waits for the chunk to get loaded / generated + bool TryGetHeight(int a_BlockX, int a_BlockZ, int & a_Height); // Returns false if chunk not loaded / generated /** Sets the block at the specified coords to the specified value. The replacement doesn't trigger block updates, nor wake up simulators. @@ -105,18 +108,24 @@ public: /** Makes the specified entity collect all the pickups around them. */ void CollectPickupsByEntity(cEntity & a_Entity); - BLOCKTYPE GetBlock (Vector3i a_BlockPos) const; - NIBBLETYPE GetBlockMeta (Vector3i a_BlockPos) const; - NIBBLETYPE GetBlockSkyLight (Vector3i a_BlockPos) const; + BLOCKTYPE GetBlock(Vector3i a_BlockPos) const; + NIBBLETYPE GetBlockMeta(Vector3i a_BlockPos) const; + NIBBLETYPE GetBlockSkyLight(Vector3i a_BlockPos) const; NIBBLETYPE GetBlockBlockLight(Vector3i a_BlockPos) const; /** Sets the meta for the specified block, while keeping the blocktype. Ignored if the chunk is invalid. */ void SetBlockMeta(Vector3i a_BlockPos, NIBBLETYPE a_BlockMeta); - void SetBlock (Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); - bool GetBlockTypeMeta (Vector3i a_BlockPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const; - bool GetBlockInfo (Vector3i, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_Meta, NIBBLETYPE & a_SkyLight, NIBBLETYPE & a_BlockLight) const; + void SetBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); + bool GetBlockTypeMeta(Vector3i a_BlockPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const; + bool GetBlockInfo( + Vector3i, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_Meta, + NIBBLETYPE & a_SkyLight, + NIBBLETYPE & a_BlockLight + ) const; /** Special function used for growing trees, replaces only blocks that tree may overwrite */ void ReplaceTreeBlocks(const sSetBlockVector & a_Blocks); @@ -133,8 +142,8 @@ public: bool SetAreaBiome(int a_MinX, int a_MaxX, int a_MinZ, int a_MaxZ, EMCSBiome a_Biome); /** Retrieves block types and metas of the specified blocks. - If a chunk is not loaded, doesn't modify the block and consults a_ContinueOnFailure whether to process the rest of the array. - Returns true if all blocks were read, false if any one failed. */ + If a chunk is not loaded, doesn't modify the block and consults a_ContinueOnFailure whether to process the rest of + the array. Returns true if all blocks were read, false if any one failed. */ bool GetBlocks(sSetBlockVector & a_Blocks, bool a_ContinueOnFailure); /** Removes the block at the specified coords and wakes up simulators. @@ -144,9 +153,9 @@ public: /** Returns all the pickups that would result if the a_Digger dug up the block at a_BlockPos using a_Tool. a_Digger is usually a player, but can be nullptr for natural causes. - a_Tool is an optional item used to dig up the block, used by the handlers (empty hand vs shears produce different pickups from leaves). - An empty hand is assumed if a_Tool is nullptr. - Returns an empty cItems object if the chunk is not present. */ + a_Tool is an optional item used to dig up the block, used by the handlers (empty hand vs shears produce different + pickups from leaves). An empty hand is assumed if a_Tool is nullptr. Returns an empty cItems object if the chunk is + not present. */ cItems PickupsFromBlock(Vector3i a_BlockPos, const cEntity * a_Digger, const cItem * a_Tool); /** Sends the block at the specified coords to the specified player. @@ -155,7 +164,13 @@ public: void SendBlockTo(int a_BlockX, int a_BlockY, int a_BlockZ, const cPlayer & a_Player); /** Compares clients of two chunks, calls the callback accordingly */ - void CompareChunkClients(int a_ChunkX1, int a_ChunkZ1, int a_ChunkX2, int a_ChunkZ2, cClientDiffCallback & a_Callback); + void CompareChunkClients( + int a_ChunkX1, + int a_ChunkZ1, + int a_ChunkX2, + int a_ChunkZ2, + cClientDiffCallback & a_Callback + ); /** Compares clients of two chunks, calls the callback accordingly */ void CompareChunkClients(cChunk * a_Chunk1, cChunk * a_Chunk2, cClientDiffCallback & a_Callback); @@ -182,10 +197,12 @@ public: Returns an owning reference to the found entity. */ OwnedEntity RemoveEntity(cEntity & a_Entity); - /** Calls the callback for each entity in the entire world; returns true if all entities processed, false if the callback aborted by returning true */ + /** Calls the callback for each entity in the entire world; returns true if all entities processed, false if the + * callback aborted by returning true */ bool ForEachEntity(cEntityCallback a_Callback) const; // Lua-accessible - /** Calls the callback for each entity in the specified chunk; returns true if all entities processed, false if the callback aborted by returning true */ + /** Calls the callback for each entity in the specified chunk; returns true if all entities processed, false if the + * callback aborted by returning true */ bool ForEachEntityInChunk(int a_ChunkX, int a_ChunkZ, cEntityCallback a_Callback); // Lua-accessible /** Calls the callback for each entity that has a nonempty intersection with the specified boundingbox. @@ -207,9 +224,13 @@ public: /** Queues the chunk for preparing - making sure that it's generated and lit. The specified chunk is queued to be loaded or generated, and lit if needed. - The specified callback is called after the chunk has been prepared. If there's no preparation to do, only the callback is called. - It is legal to call without the callback. */ - void PrepareChunk(int a_ChunkX, int a_ChunkZ, std::unique_ptr a_CallAfter = {}); // Lua-accessible + The specified callback is called after the chunk has been prepared. If there's no preparation to do, only the + callback is called. It is legal to call without the callback. */ + void PrepareChunk( + int a_ChunkX, + int a_ChunkZ, + std::unique_ptr a_CallAfter = {} + ); // Lua-accessible /** Queues the chunk for generating. First attempts to load the chunk from the storage. If that fails, queues the chunk for generating. */ @@ -218,18 +239,27 @@ public: /** Marks the chunk as failed-to-load */ void ChunkLoadFailed(int a_ChunkX, int a_ChunkZ); - /** Marks the chunk as being regenerated - all its clients want that chunk again (used by cWorld::RegenerateChunk()) */ + /** Marks the chunk as being regenerated - all its clients want that chunk again (used by cWorld::RegenerateChunk()) + */ void MarkChunkRegenerating(int a_ChunkX, int a_ChunkZ); bool IsChunkLighted(int a_ChunkX, int a_ChunkZ); - /** Calls the callback for each chunk in the coords specified (all cords are inclusive). Returns true if all chunks have been processed successfully */ - bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback); + /** Calls the callback for each chunk in the coords specified (all cords are inclusive). Returns true if all chunks + * have been processed successfully */ + bool ForEachChunkInRect( + int a_MinChunkX, + int a_MaxChunkX, + int a_MinChunkZ, + int a_MaxChunkZ, + cChunkDataCallback & a_Callback + ); /** Calls the callback for each loaded chunk. Returns true if all chunks have been processed successfully */ bool ForEachLoadedChunk(cFunctionRef a_Callback) const; - /** Writes the block area into the specified coords. Returns true if all chunks have been processed. Prefer cBlockArea::Write() instead. */ + /** Writes the block area into the specified coords. Returns true if all chunks have been processed. Prefer + * cBlockArea::Write() instead. */ bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes); /** Returns the number of valid chunks and the number of dirty chunks */ @@ -284,8 +314,7 @@ public: /** Removes this chunkmap's CS from the DeadlockDetect's tracked CSs. */ void UntrackInDeadlockDetect(cDeadlockDetect & a_DeadlockDetect); -private: - + private: // Chunks query their neighbors using FindChunk(), while being ticked friend class cChunk; @@ -314,10 +343,12 @@ private: /** Constructs a chunk and queues it for loading / generating if not valid, returning it */ cChunk & GetChunk(int a_ChunkX, int a_ChunkZ); - /** Locates a chunk ptr in the chunkmap; doesn't create it when not found; assumes m_CSChunks is locked. To be called only from cChunkMap. */ + /** Locates a chunk ptr in the chunkmap; doesn't create it when not found; assumes m_CSChunks is locked. To be + * called only from cChunkMap. */ cChunk * FindChunk(int a_ChunkX, int a_ChunkZ); - /** Locates a chunk ptr in the chunkmap; doesn't create it when not found; assumes m_CSChunks is locked. To be called only from cChunkMap. */ + /** Locates a chunk ptr in the chunkmap; doesn't create it when not found; assumes m_CSChunks is locked. To be + * called only from cChunkMap. */ const cChunk * FindChunk(int a_ChunkX, int a_ChunkZ) const; /** Adds a new cChunkStay descendant to the internal list of ChunkStays; loads its chunks. @@ -327,5 +358,4 @@ private: /** Removes the specified cChunkStay descendant from the internal list of ChunkStays. To be used only by cChunkStay; others should use cChunkStay::Disable() instead */ void DelChunkStay(cChunkStay & a_ChunkStay); - }; diff --git a/src/ChunkSender.cpp b/src/ChunkSender.cpp index 1fa74977f..d98dc0ef4 100644 --- a/src/ChunkSender.cpp +++ b/src/ChunkSender.cpp @@ -1,7 +1,8 @@ // ChunkSender.cpp -// Interfaces to the cChunkSender class representing the thread that waits for chunks becoming ready (loaded / generated) and sends them to clients +// Interfaces to the cChunkSender class representing the thread that waits for chunks becoming ready (loaded / +// generated) and sends them to clients @@ -23,17 +24,22 @@ /** Callback that can be used to notify chunk sender upon another chunkcoord notification */ -class cNotifyChunkSender : - public cChunkCoordCallback +class cNotifyChunkSender : public cChunkCoordCallback { virtual void Call(cChunkCoords a_Coords, bool a_IsSuccess) override { cChunkSender & ChunkSender = m_ChunkSender; m_World.DoWithChunk( - a_Coords.m_ChunkX, a_Coords.m_ChunkZ, - [&ChunkSender] (cChunk & a_Chunk) -> bool + a_Coords.m_ChunkX, + a_Coords.m_ChunkZ, + [&ChunkSender](cChunk & a_Chunk) -> bool { - ChunkSender.QueueSendChunkTo(a_Chunk.GetPosX(), a_Chunk.GetPosZ(), cChunkSender::Priority::High, a_Chunk.GetAllClients()); + ChunkSender.QueueSendChunkTo( + a_Chunk.GetPosX(), + a_Chunk.GetPosZ(), + cChunkSender::Priority::High, + a_Chunk.GetAllClients() + ); return true; } ); @@ -43,10 +49,9 @@ class cNotifyChunkSender : cWorld & m_World; -public: - cNotifyChunkSender(cChunkSender & a_ChunkSender, cWorld & a_World): - m_ChunkSender(a_ChunkSender), - m_World(a_World) + public: + cNotifyChunkSender(cChunkSender & a_ChunkSender, cWorld & a_World) : + m_ChunkSender(a_ChunkSender), m_World(a_World) { } }; @@ -59,9 +64,7 @@ public: // cChunkSender: cChunkSender::cChunkSender(cWorld & a_World) : - Super("Chunk Sender"), - m_World(a_World), - m_Serializer(m_World.GetDimension()) + Super("Chunk Sender"), m_World(a_World), m_Serializer(m_World.GetDimension()) { } @@ -93,7 +96,7 @@ void cChunkSender::QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, Priority a_Prior { ASSERT(a_Client != nullptr); { - cChunkCoords Chunk{a_ChunkX, a_ChunkZ}; + cChunkCoords Chunk {a_ChunkX, a_ChunkZ}; cCSLock Lock(m_CS); auto iter = m_ChunkInfo.find(Chunk); if (iter != m_ChunkInfo.end()) @@ -101,15 +104,15 @@ void cChunkSender::QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, Priority a_Prior auto & info = iter->second; if (info.m_Priority < a_Priority) // Was the chunk's priority boosted? { - m_SendChunks.push(sChunkQueue{a_Priority, Chunk}); + m_SendChunks.push(sChunkQueue {a_Priority, Chunk}); info.m_Priority = a_Priority; } info.m_Clients.insert(a_Client->shared_from_this()); } else { - m_SendChunks.push(sChunkQueue{a_Priority, Chunk}); - auto info = sSendChunk{Chunk, a_Priority}; + m_SendChunks.push(sChunkQueue {a_Priority, Chunk}); + auto info = sSendChunk {Chunk, a_Priority}; info.m_Clients.insert(a_Client->shared_from_this()); m_ChunkInfo.emplace(Chunk, info); } @@ -121,10 +124,15 @@ void cChunkSender::QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, Priority a_Prior -void cChunkSender::QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, Priority a_Priority, const std::vector & a_Clients) +void cChunkSender::QueueSendChunkTo( + int a_ChunkX, + int a_ChunkZ, + Priority a_Priority, + const std::vector & a_Clients +) { { - cChunkCoords Chunk{a_ChunkX, a_ChunkZ}; + cChunkCoords Chunk {a_ChunkX, a_ChunkZ}; cCSLock Lock(m_CS); auto iter = m_ChunkInfo.find(Chunk); if (iter != m_ChunkInfo.end()) @@ -132,7 +140,7 @@ void cChunkSender::QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, Priority a_Prior auto & info = iter->second; if (info.m_Priority < a_Priority) // Was the chunk's priority boosted? { - m_SendChunks.push(sChunkQueue{a_Priority, Chunk}); + m_SendChunks.push(sChunkQueue {a_Priority, Chunk}); info.m_Priority = a_Priority; } for (const auto & Client : a_Clients) @@ -142,8 +150,8 @@ void cChunkSender::QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, Priority a_Prior } else { - m_SendChunks.push(sChunkQueue{a_Priority, Chunk}); - auto info = sSendChunk{Chunk, a_Priority}; + m_SendChunks.push(sChunkQueue {a_Priority, Chunk}); + auto info = sSendChunk {Chunk, a_Priority}; for (const auto & Client : a_Clients) { info.m_Clients.insert(Client->shared_from_this()); @@ -251,29 +259,33 @@ void cChunkSender::SendChunk(int a_ChunkX, int a_ChunkZ, const WeakClients & a_C // Send entity packets: for (const auto EntityID : m_EntityIDs) { - m_World.DoWithEntityByID(EntityID, [Client](cEntity & a_Entity) - { - /* - // DEBUG: - LOGD("cChunkSender: Entity #%d (%s) at [%f, %f, %f] spawning for player \"%s\"", - a_Entity.GetUniqueID(), a_Entity.GetClass(), - a_Entity.GetPosition().x, a_Entity.GetPosition().y, a_Entity.GetPosition().z, - Client->GetUsername().c_str() - ); - */ - - /* This check looks highly suspect. - Its purpose is to check the client still has a valid player object associated, - since the player destroys itself when the client is destroyed. - It's done within the world lock to ensure correctness. - A better way involves fixing chunk sending (GH #3696) to obviate calling SpawnOn from this thread in the first place. */ - if (!Client->IsDestroyed()) + m_World.DoWithEntityByID( + EntityID, + [Client](cEntity & a_Entity) { - a_Entity.SpawnOn(*Client); + /* + // DEBUG: + LOGD("cChunkSender: Entity #%d (%s) at [%f, %f, %f] spawning for player \"%s\"", + a_Entity.GetUniqueID(), a_Entity.GetClass(), + a_Entity.GetPosition().x, a_Entity.GetPosition().y, a_Entity.GetPosition().z, + Client->GetUsername().c_str() + ); + */ + + /* This check looks highly suspect. + Its purpose is to check the client still has a valid player object associated, + since the player destroys itself when the client is destroyed. + It's done within the world lock to ensure correctness. + A better way involves fixing chunk sending (GH #3696) to obviate calling SpawnOn from this thread in + the first place. */ + if (!Client->IsDestroyed()) + { + a_Entity.SpawnOn(*Client); + } + + return true; } - - return true; - }); + ); } } diff --git a/src/ChunkSender.h b/src/ChunkSender.h index 75d261af5..ddb05a9c2 100644 --- a/src/ChunkSender.h +++ b/src/ChunkSender.h @@ -1,7 +1,8 @@ // ChunkSender.h -// Interfaces to the cChunkSender class representing the thread that waits for chunks becoming ready (loaded / generated) and sends them to clients +// Interfaces to the cChunkSender class representing the thread that waits for chunks becoming ready (loaded / +// generated) and sends them to clients /* The whole thing is a thread that runs in a loop, waiting for either: @@ -47,14 +48,12 @@ class cChunkSender; -class cChunkSender final : - public cIsThread, - public cChunkDataCopyCollector +class cChunkSender final : public cIsThread, + public cChunkDataCopyCollector { using Super = cIsThread; -public: - + public: cChunkSender(cWorld & a_World); virtual ~cChunkSender() override; @@ -72,10 +71,14 @@ public: /** Queues a chunk to be sent to a specific client */ void QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, Priority a_Priority, cClientHandle * a_Client); - void QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, Priority a_Priority, const std::vector & a_Clients); - -protected: - + void QueueSendChunkTo( + int a_ChunkX, + int a_ChunkZ, + Priority a_Priority, + const std::vector & a_Clients + ); + + protected: using WeakClients = std::set, std::owner_less>>; struct sChunkQueue @@ -83,7 +86,7 @@ protected: Priority m_Priority; cChunkCoords m_Chunk; - bool operator <(const sChunkQueue & a_Other) const + bool operator<(const sChunkQueue & a_Other) const { // The operator will return true to affirm we're less urgent than Other // This comparison depends on the Priority enum ordering lower priority as smaller: @@ -98,8 +101,7 @@ protected: WeakClients m_Clients; Priority m_Priority; sSendChunk(cChunkCoords a_Chunk, Priority a_Priority) : - m_Chunk(a_Chunk), - m_Priority(a_Priority) + m_Chunk(a_Chunk), m_Priority(a_Priority) { } }; @@ -109,7 +111,7 @@ protected: /** An instance of a chunk serializer, held to maintain its internal cache. */ cChunkDataSerializer m_Serializer; - cCriticalSection m_CS; + cCriticalSection m_CS; std::priority_queue m_SendChunks; std::unordered_map m_ChunkInfo; cEvent m_evtQueue; // Set when anything is added to m_ChunksReady @@ -118,20 +120,17 @@ protected: // NOTE that m_BlockData[] is inherited from the cChunkDataCollector unsigned char m_BiomeMap[cChunkDef::Width * cChunkDef::Width]; std::vector m_BlockEntities; // Coords of the block entities to send - std::vector m_EntityIDs; // Entity-IDs of the entities to send + std::vector m_EntityIDs; // Entity-IDs of the entities to send // cIsThread override: virtual void Execute(void) override; // cChunkDataCollector overrides: // (Note that they are called while the ChunkMap's CS is locked - don't do heavy calculations here!) - virtual void BiomeMap (const cChunkDef::BiomeMap & a_BiomeMap) override; - virtual void Entity (cEntity * a_Entity) override; - virtual void BlockEntity (cBlockEntity * a_Entity) override; + virtual void BiomeMap(const cChunkDef::BiomeMap & a_BiomeMap) override; + virtual void Entity(cEntity * a_Entity) override; + virtual void BlockEntity(cBlockEntity * a_Entity) override; /** Sends the specified chunk to all the specified clients */ void SendChunk(int a_ChunkX, int a_ChunkZ, const WeakClients & a_Clients); -} ; - - - +}; diff --git a/src/ChunkStay.cpp b/src/ChunkStay.cpp index 520d3cccb..738b35776 100644 --- a/src/ChunkStay.cpp +++ b/src/ChunkStay.cpp @@ -107,7 +107,8 @@ bool cChunkStay::ChunkAvailable(int a_ChunkX, int a_ChunkZ) { // Check if this is a chunk that we want: bool IsMine = false; - for (cChunkCoordsVector::iterator itr = m_OutstandingChunks.begin(), end = m_OutstandingChunks.end(); itr != end; ++itr) + for (cChunkCoordsVector::iterator itr = m_OutstandingChunks.begin(), end = m_OutstandingChunks.end(); itr != end; + ++itr) { if ((itr->m_ChunkX == a_ChunkX) && (itr->m_ChunkZ == a_ChunkZ)) { @@ -129,7 +130,3 @@ bool cChunkStay::ChunkAvailable(int a_ChunkX, int a_ChunkZ) } return false; } - - - - diff --git a/src/ChunkStay.h b/src/ChunkStay.h index 383d4d170..07b4fdf9a 100644 --- a/src/ChunkStay.h +++ b/src/ChunkStay.h @@ -34,7 +34,7 @@ different threads' - the caller, the Loader or the Generator thread. */ class cChunkStay { -public: + public: cChunkStay(void); /** Deletes the object. Note that this calls Clear(), which means that the ChunkStay needs to be disabled. */ @@ -54,9 +54,10 @@ public: /** Enables the ChunkStay on the specified chunkmap, causing it to load and generate chunks. All the contained chunks are queued for loading / generating. */ - void Enable (cChunkMap & a_ChunkMap); + void Enable(cChunkMap & a_ChunkMap); - /** Disables the ChunkStay, the chunks are released and the ChunkStay object can be edited with Add() and Remove() again */ + /** Disables the ChunkStay, the chunks are released and the ChunkStay object can be edited with Add() and Remove() + * again */ virtual void Disable(void); /** Returns all the chunks that should be kept */ @@ -66,14 +67,14 @@ public: virtual void OnChunkAvailable(int a_ChunkX, int a_ChunkZ) = 0; /** Called once all of the contained chunks are available. - If returns true, the ChunkStay is automatically disabled by the ChunkMap; if it returns false, the ChunkStay is kept. */ + If returns true, the ChunkStay is automatically disabled by the ChunkMap; if it returns false, the ChunkStay is + kept. */ virtual bool OnAllChunksAvailable(void) = 0; /** Called by the ChunkMap when the ChunkStay is disabled. The object may choose to delete itself. */ virtual void OnDisabled(void) = 0; -protected: - + protected: friend class cChunkMap; @@ -90,11 +91,7 @@ protected: /** Called by cChunkMap when a chunk is available, checks m_NumLoaded and triggers the appropriate callbacks. May be called for chunks outside this ChunkStay. - Returns true if the ChunkStay is to be automatically disabled by the ChunkMap; returns false to keep the ChunkStay. */ + Returns true if the ChunkStay is to be automatically disabled by the ChunkMap; returns false to keep the ChunkStay. + */ bool ChunkAvailable(int a_ChunkX, int a_ChunkZ); -} ; - - - - - +}; diff --git a/src/CircularBufferCompressor.h b/src/CircularBufferCompressor.h index 53c96bd15..2fa5b25ee 100644 --- a/src/CircularBufferCompressor.h +++ b/src/CircularBufferCompressor.h @@ -15,16 +15,14 @@ class cByteBuffer; class CircularBufferCompressor { -public: - + public: ContiguousByteBufferView GetView() const; Compression::Result Compress(); void ReadFrom(cByteBuffer & Buffer); void ReadFrom(cByteBuffer & Buffer, size_t Size); -private: - + private: Compression::Compressor m_Compressor; std::basic_string m_ContiguousIntermediate; }; @@ -35,15 +33,13 @@ private: class CircularBufferExtractor { -public: - + public: ContiguousByteBufferView GetView() const; Compression::Result Extract(size_t UncompressedSize); void ReadFrom(cByteBuffer & Buffer, size_t Size); -private: - + private: Compression::Extractor m_Extractor; std::basic_string m_ContiguousIntermediate; }; diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index 01c95095a..007b87a59 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -73,10 +73,14 @@ cClientHandle::cClientHandle(const AString & a_IPString, int a_ViewDistance) : m_RequestedViewDistance(a_ViewDistance), m_IPString(a_IPString), m_Player(nullptr), - m_CachedSentChunk(std::numeric_limits::max(), std::numeric_limits::max()), + m_CachedSentChunk( + std::numeric_limits::max(), + std::numeric_limits::max() + ), m_ProxyConnection(false), m_HasSentDC(false), - m_LastStreamedChunkX(std::numeric_limits::max()), // bogus chunk coords to force streaming upon login + m_LastStreamedChunkX(std::numeric_limits::max() + ), // bogus chunk coords to force streaming upon login m_LastStreamedChunkZ(std::numeric_limits::max()), m_TicksSinceLastPacket(0), m_TimeSinceLastUnloadCheck(0), @@ -124,11 +128,22 @@ void cClientHandle::Destroy(void) if (!SetState(csDestroyed)) { // Already called - LOGD("%s: client %p, \"%s\" already destroyed, bailing out", __FUNCTION__, static_cast(this), m_Username.c_str()); + LOGD( + "%s: client %p, \"%s\" already destroyed, bailing out", + __FUNCTION__, + static_cast(this), + m_Username.c_str() + ); return; } - LOGD("%s: destroying client %p, \"%s\" @ %s", __FUNCTION__, static_cast(this), m_Username.c_str(), m_IPString.c_str()); + LOGD( + "%s: destroying client %p, \"%s\" @ %s", + __FUNCTION__, + static_cast(this), + m_Username.c_str(), + m_IPString.c_str() + ); { cCSLock Lock(m_CSOutgoingData); @@ -144,8 +159,10 @@ void cClientHandle::Destroy(void) AString cClientHandle::FormatChatPrefix( - bool ShouldAppendChatPrefixes, const AString & a_ChatPrefixS, - const AString & m_Color1, const AString & m_Color2 + bool ShouldAppendChatPrefixes, + const AString & a_ChatPrefixS, + const AString & m_Color1, + const AString & m_Color2 ) { if (ShouldAppendChatPrefixes) @@ -162,24 +179,35 @@ AString cClientHandle::FormatChatPrefix( -AString cClientHandle::FormatMessageType(bool ShouldAppendChatPrefixes, eMessageType a_ChatPrefix, const AString & a_AdditionalData) +AString cClientHandle::FormatMessageType( + bool ShouldAppendChatPrefixes, + eMessageType a_ChatPrefix, + const AString & a_AdditionalData +) { switch (a_ChatPrefix) { - case mtCustom: return ""; - case mtFailure: return FormatChatPrefix(ShouldAppendChatPrefixes, "INFO", cChatColor::Rose, cChatColor::White); - case mtInformation: return FormatChatPrefix(ShouldAppendChatPrefixes, "INFO", cChatColor::Yellow, cChatColor::White); - case mtSuccess: return FormatChatPrefix(ShouldAppendChatPrefixes, "INFO", cChatColor::Green, cChatColor::White); - case mtWarning: return FormatChatPrefix(ShouldAppendChatPrefixes, "WARN", cChatColor::Rose, cChatColor::White); - case mtFatal: return FormatChatPrefix(ShouldAppendChatPrefixes, "FATAL", cChatColor::Red, cChatColor::White); - case mtDeath: return FormatChatPrefix(ShouldAppendChatPrefixes, "DEATH", cChatColor::Gray, cChatColor::White); - case mtJoin: return FormatChatPrefix(ShouldAppendChatPrefixes, "JOIN", cChatColor::Yellow, cChatColor::White); - case mtLeave: return FormatChatPrefix(ShouldAppendChatPrefixes, "LEAVE", cChatColor::Yellow, cChatColor::White); + case mtCustom: return ""; + case mtFailure: return FormatChatPrefix(ShouldAppendChatPrefixes, "INFO", cChatColor::Rose, cChatColor::White); + case mtInformation: + return FormatChatPrefix(ShouldAppendChatPrefixes, "INFO", cChatColor::Yellow, cChatColor::White); + case mtSuccess: return FormatChatPrefix(ShouldAppendChatPrefixes, "INFO", cChatColor::Green, cChatColor::White); + case mtWarning: return FormatChatPrefix(ShouldAppendChatPrefixes, "WARN", cChatColor::Rose, cChatColor::White); + case mtFatal: return FormatChatPrefix(ShouldAppendChatPrefixes, "FATAL", cChatColor::Red, cChatColor::White); + case mtDeath: return FormatChatPrefix(ShouldAppendChatPrefixes, "DEATH", cChatColor::Gray, cChatColor::White); + case mtJoin: return FormatChatPrefix(ShouldAppendChatPrefixes, "JOIN", cChatColor::Yellow, cChatColor::White); + case mtLeave: return FormatChatPrefix(ShouldAppendChatPrefixes, "LEAVE", cChatColor::Yellow, cChatColor::White); case mtPrivateMessage: { if (ShouldAppendChatPrefixes) { - return fmt::format(FMT_STRING("{}[MSG: {}] {}{}"), cChatColor::LightBlue, a_AdditionalData, cChatColor::White, cChatColor::Italic); + return fmt::format( + FMT_STRING("{}[MSG: {}] {}{}"), + cChatColor::LightBlue, + a_AdditionalData, + cChatColor::White, + cChatColor::Italic + ); } else { @@ -353,7 +381,8 @@ bool cClientHandle::BungeeAuthenticate() } else if (m_ProxyConnection) { - LOG("A player connected through a proxy without requiring a forwarding secret. If open to the internet, this is very insecure!"); + LOG("A player connected through a proxy without requiring a forwarding secret. If open to the internet, this " + "is very insecure!"); } return true; @@ -425,7 +454,8 @@ void cClientHandle::FinishAuthenticate() catch (const std::exception & Oops) { LOGWARNING("Player \"%s\" save or statistics file loading failed: %s", GetUsername().c_str(), Oops.what()); - Kick("Contact an operator.\n\nYour player's save files could not be parsed.\nTo avoid data loss you are prevented from joining."); + Kick("Contact an operator.\n\nYour player's save files could not be parsed.\nTo avoid data loss you are " + "prevented from joining."); return; } @@ -484,7 +514,8 @@ void cClientHandle::FinishAuthenticate() // Delay the first ping until the client "settles down" // This should fix #889, "BadCast exception, cannot convert bit to fm" error in client - m_PingStartTime = std::chrono::steady_clock::now() + std::chrono::seconds(3); // Send the first KeepAlive packet in 3 seconds + m_PingStartTime = + std::chrono::steady_clock::now() + std::chrono::seconds(3); // Send the first KeepAlive packet in 3 seconds // Remove the client handle from the server, it will be ticked from its cPlayer object from now on: cRoot::Get()->GetServer()->ClientMovedToWorld(this); @@ -492,7 +523,8 @@ void cClientHandle::FinishAuthenticate() SetState(csDownloadingWorld); m_Player->Initialize(std::move(Player), *World); - // LOGD("Client %s @ %s (%p) has been fully authenticated", m_Username.c_str(), m_IPString.c_str(), static_cast(this)); + // LOGD("Client %s @ %s (%p) has been fully authenticated", m_Username.c_str(), m_IPString.c_str(), static_cast(this)); } @@ -541,7 +573,8 @@ void cClientHandle::StreamNextChunks(void) cChunkCoords Coords(ChunkX, ChunkZ); // Checks if the chunk is in distance - if ((Diff(ChunkX, ChunkPosX) > m_CurrentViewDistance) || (Diff(ChunkZ, ChunkPosZ) > m_CurrentViewDistance)) + if ((Diff(ChunkX, ChunkPosX) > m_CurrentViewDistance) || + (Diff(ChunkZ, ChunkPosZ) > m_CurrentViewDistance)) { continue; } @@ -549,17 +582,19 @@ void cClientHandle::StreamNextChunks(void) // If the chunk already loading / loaded -> skip { cCSLock Lock(m_CSChunkLists); - if ( - (m_ChunksToSend.find(Coords) != m_ChunksToSend.end()) || - (m_LoadedChunks.find(Coords) != m_LoadedChunks.end()) - ) + if ((m_ChunksToSend.find(Coords) != m_ChunksToSend.end()) || + (m_LoadedChunks.find(Coords) != m_LoadedChunks.end())) { continue; } } // Unloaded chunk found -> Send it to the client. - StreamChunk(ChunkX, ChunkZ, ((Range <= 2) ? cChunkSender::Priority::Critical : cChunkSender::Priority::Medium)); + StreamChunk( + ChunkX, + ChunkZ, + ((Range <= 2) ? cChunkSender::Priority::Critical : cChunkSender::Priority::Medium) + ); if (++StreamedChunks == MAX_CHUNKS_STREAMED_PER_TICK) { @@ -577,10 +612,8 @@ void cClientHandle::StreamNextChunks(void) // If the chunk already loading / loaded -> skip { cCSLock Lock(m_CSChunkLists); - if ( - (m_ChunksToSend.find(Chunk) != m_ChunksToSend.end()) || - (m_LoadedChunks.find(Chunk) != m_LoadedChunks.end()) - ) + if ((m_ChunksToSend.find(Chunk) != m_ChunksToSend.end()) || + (m_LoadedChunks.find(Chunk) != m_LoadedChunks.end())) { return false; } @@ -594,7 +627,7 @@ void cClientHandle::StreamNextChunks(void) // For each distance, send the first unloaded chunk in a hollow square centered around current position: for (int i = -d; i <= d; ++i) { - if (StreamIfUnloaded({ ChunkPosX + d, ChunkPosZ + i }) || StreamIfUnloaded({ ChunkPosX - d, ChunkPosZ + i })) + if (StreamIfUnloaded({ChunkPosX + d, ChunkPosZ + i}) || StreamIfUnloaded({ChunkPosX - d, ChunkPosZ + i})) { if (++StreamedChunks == MAX_CHUNKS_STREAMED_PER_TICK) { @@ -604,7 +637,7 @@ void cClientHandle::StreamNextChunks(void) } for (int i = -d + 1; i < d; ++i) { - if (StreamIfUnloaded({ ChunkPosX + i, ChunkPosZ + d }) || StreamIfUnloaded({ ChunkPosX + i, ChunkPosZ - d })) + if (StreamIfUnloaded({ChunkPosX + i, ChunkPosZ + d}) || StreamIfUnloaded({ChunkPosX + i, ChunkPosZ - d})) { if (++StreamedChunks == MAX_CHUNKS_STREAMED_PER_TICK) { @@ -700,7 +733,11 @@ void cClientHandle::HandleAnimation(const bool a_SwingMainHand) return; } - m_Player->GetWorld()->BroadcastEntityAnimation(*m_Player, a_SwingMainHand ? EntityAnimation::PlayerMainHandSwings : EntityAnimation::PlayerOffHandSwings, this); + m_Player->GetWorld()->BroadcastEntityAnimation( + *m_Player, + a_SwingMainHand ? EntityAnimation::PlayerMainHandSwings : EntityAnimation::PlayerOffHandSwings, + this + ); } @@ -734,9 +771,12 @@ void cClientHandle::HandlePing(void) // Somebody tries to retrieve information about the server const cServer & Server = *cRoot::Get()->GetServer(); - auto Reply = fmt::format(FMT_STRING("{}{}{}{}{}"), - Server.GetDescription(), cChatColor::Delimiter, - Server.GetNumPlayers(), cChatColor::Delimiter, + auto Reply = fmt::format( + FMT_STRING("{}{}{}{}{}"), + Server.GetDescription(), + cChatColor::Delimiter, + Server.GetNumPlayers(), + cChatColor::Delimiter, Server.GetMaxPlayers() ); Kick(Reply); @@ -760,7 +800,8 @@ bool cClientHandle::HandleLogin() return false; } - // LOGD("Handling login for client %s @ %s (%p), state = %d", a_Username.c_str(), m_IPString.c_str(), static_cast(this), m_State.load()); + // LOGD("Handling login for client %s @ %s (%p), state = %d", a_Username.c_str(), m_IPString.c_str(), + // static_cast(this), m_State.load()); // Let the plugins know about this event, they may refuse the player: if (cRoot::Get()->GetPluginManager()->CallHookLogin(*this, m_ProtocolVersion, GetUsername())) @@ -786,12 +827,18 @@ void cClientHandle::HandleCreativeInventory(Int16 a_SlotNum, const cItem & a_Hel // This is for creative Inventory changes if (!m_Player->IsGameModeCreative()) { - LOGWARNING("Got a CreativeInventoryAction packet from user \"%s\" while not in creative mode. Ignoring.", m_Username.c_str()); + LOGWARNING( + "Got a CreativeInventoryAction packet from user \"%s\" while not in creative mode. Ignoring.", + m_Username.c_str() + ); return; } if (m_Player->GetWindow()->GetWindowType() != cWindow::wtInventory) { - LOGWARNING("Got a CreativeInventoryAction packet from user \"%s\" while not in the inventory window. Ignoring.", m_Username.c_str()); + LOGWARNING( + "Got a CreativeInventoryAction packet from user \"%s\" while not in the inventory window. Ignoring.", + m_Username.c_str() + ); return; } @@ -820,11 +867,8 @@ void cClientHandle::HandleEnchantItem(UInt8 a_WindowID, UInt8 a_Enchantment) } // Bail out if something's wrong with the window: - if ( - (m_Player->GetWindow() == nullptr) || - (m_Player->GetWindow()->GetWindowID() != a_WindowID) || - (m_Player->GetWindow()->GetWindowType() != cWindow::wtEnchantment) - ) + if ((m_Player->GetWindow() == nullptr) || (m_Player->GetWindow()->GetWindowID() != a_WindowID) || + (m_Player->GetWindow()->GetWindowType() != cWindow::wtEnchantment)) { LOGD("Player \"%s\" tried to enchant without a valid window - hacked client?", m_Username.c_str()); return; @@ -853,7 +897,8 @@ void cClientHandle::HandleEnchantItem(UInt8 a_WindowID, UInt8 a_Enchantment) const auto DeltaForLevel = -m_Player->GetCurrentXp() + m_Player->XpForLevel(TargetLevel); // The experience to add to get the same fill percent. - const auto DeltaForPercent = CurrentFillPercent * (m_Player->XpForLevel(TargetLevel + 1) - m_Player->XpForLevel(TargetLevel)); + const auto DeltaForPercent = + CurrentFillPercent * (m_Player->XpForLevel(TargetLevel + 1) - m_Player->XpForLevel(TargetLevel)); // Apply the experience delta, rounded for greater accuracy: m_Player->DeltaExperience(static_cast(std::lround(DeltaForLevel + DeltaForPercent))); @@ -917,7 +962,11 @@ void cClientHandle::HandlePluginMessage(const AString & a_Channel, const Contigu else if (!HasPluginChannel(a_Channel)) { // Ignore if client sent something but didn't register the channel first - LOGD("Player %s sent a plugin message on channel \"%s\", but didn't REGISTER it first", GetUsername().c_str(), a_Channel.c_str()); + LOGD( + "Player %s sent a plugin message on channel \"%s\", but didn't REGISTER it first", + GetUsername().c_str(), + a_Channel.c_str() + ); SendPluginMessage("UNREGISTER", a_Channel); return; } @@ -1014,11 +1063,8 @@ void cClientHandle::HandleBeaconSelection(unsigned a_PrimaryEffect, unsigned a_S BeaconWindow->GetBeaconEntity()->SetPrimaryEffect(PrimaryEffect); // Valid effect check. Vanilla don't check this, but we do it :) - if ( - (SecondaryEffect == cEntityEffect::effNoEffect) || - (SecondaryEffect == cEntityEffect::effRegeneration) || - (SecondaryEffect == BeaconWindow->GetBeaconEntity()->GetPrimaryEffect()) - ) + if ((SecondaryEffect == cEntityEffect::effNoEffect) || (SecondaryEffect == cEntityEffect::effRegeneration) || + (SecondaryEffect == BeaconWindow->GetBeaconEntity()->GetPrimaryEffect())) { BeaconWindow->GetBeaconEntity()->SetSecondaryEffect(SecondaryEffect); } @@ -1093,9 +1139,7 @@ void cClientHandle::HandleAnvilItemName(const AString & a_ItemName) void cClientHandle::HandleLeftClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, UInt8 a_Status) { - FLOGD("HandleLeftClick: {0}; Face: {1}; Stat: {2}", - a_BlockPos, a_BlockFace, a_Status - ); + FLOGD("HandleLeftClick: {0}; Face: {1}; Stat: {2}", a_BlockPos, a_BlockFace, a_Status); m_NumBlockChangeInteractionsThisTick++; @@ -1115,10 +1159,9 @@ void cClientHandle::HandleLeftClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, /* Check for clickthrough-blocks: When the user breaks a fire block, the client send the wrong block location. We must find the right block with the face direction. */ - if ( - const auto InterferingPosition = AddFaceDirection(a_BlockPos, a_BlockFace); - cChunkDef::IsValidHeight(InterferingPosition) && cBlockInfo::IsClickedThrough(m_Player->GetWorld()->GetBlock(InterferingPosition)) - ) + if (const auto InterferingPosition = AddFaceDirection(a_BlockPos, a_BlockFace); + cChunkDef::IsValidHeight(InterferingPosition) && + cBlockInfo::IsClickedThrough(m_Player->GetWorld()->GetBlock(InterferingPosition))) { a_BlockPos = InterferingPosition; } @@ -1131,11 +1174,13 @@ void cClientHandle::HandleLeftClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, } cPluginManager * PlgMgr = cRoot::Get()->GetPluginManager(); - if (m_Player->IsFrozen() || PlgMgr->CallHookPlayerLeftClick(*m_Player, a_BlockPos, a_BlockFace, static_cast(a_Status))) + if (m_Player->IsFrozen() || + PlgMgr->CallHookPlayerLeftClick(*m_Player, a_BlockPos, a_BlockFace, static_cast(a_Status))) { // A plugin doesn't agree with the action, replace the block on the client and quit: m_Player->SendBlocksAround(a_BlockPos, 2); - SendPlayerPosition(); // Prevents the player from falling through the block that was temporarily broken client side. + SendPlayerPosition( + ); // Prevents the player from falling through the block that was temporarily broken client side. return; } @@ -1145,7 +1190,8 @@ void cClientHandle::HandleLeftClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, { if (PlgMgr->CallHookPlayerTossingItem(*m_Player)) { - // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the consequences (possible inventory mismatch) + // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the + // consequences (possible inventory mismatch) return; } @@ -1165,13 +1211,18 @@ void cClientHandle::HandleLeftClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, { if (PlgMgr->CallHookPlayerShooting(*m_Player)) { - // A plugin doesn't agree with the action. The plugin itself is responsible for handling the consequences (possible inventory mismatch) + // A plugin doesn't agree with the action. The plugin itself is responsible for handling the + // consequences (possible inventory mismatch) return; } // When bow is in off-hand / shield slot if (m_Player->GetInventory().GetShieldSlot().m_ItemType == E_ITEM_BOW) { - m_Player->GetInventory().GetShieldSlot().GetHandler().OnItemShoot(m_Player, a_BlockPos, a_BlockFace); + m_Player->GetInventory().GetShieldSlot().GetHandler().OnItemShoot( + m_Player, + a_BlockPos, + a_BlockFace + ); } else { @@ -1204,10 +1255,12 @@ void cClientHandle::HandleLeftClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, { if (PlgMgr->CallHookPlayerTossingItem(*m_Player)) { - // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the consequences (possible inventory mismatch) + // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the + // consequences (possible inventory mismatch) return; } - m_Player->TossEquippedItem(64); // Toss entire slot - if there aren't enough items, the maximum will be ejected + m_Player->TossEquippedItem(64 + ); // Toss entire slot - if there aren't enough items, the maximum will be ejected return; } @@ -1244,9 +1297,7 @@ void cClientHandle::HandleBlockDigStarted(Vector3i a_BlockPos, eBlockFace a_Bloc return; } - if ( - m_HasStartedDigging && (a_BlockPos == m_LastDigBlockPos) - ) + if (m_HasStartedDigging && (a_BlockPos == m_LastDigBlockPos)) { // It is a duplicate packet, drop it right away return; @@ -1256,22 +1307,19 @@ void cClientHandle::HandleBlockDigStarted(Vector3i a_BlockPos, eBlockFace a_Bloc NIBBLETYPE DiggingMeta; m_Player->GetWorld()->GetBlockTypeMeta(a_BlockPos, DiggingBlock, DiggingMeta); - if ( - m_Player->IsGameModeCreative() && - ItemCategory::IsSword(m_Player->GetInventory().GetEquippedItem().m_ItemType) && - (DiggingBlock != E_BLOCK_FIRE) - ) + if (m_Player->IsGameModeCreative() && + ItemCategory::IsSword(m_Player->GetInventory().GetEquippedItem().m_ItemType) && (DiggingBlock != E_BLOCK_FIRE)) { // Players can't destroy blocks with a sword in the hand. return; } - // Set the last digging coords to the block being dug, so that they can be checked in DIG_FINISHED to avoid dig / aim bug in the client: + // Set the last digging coords to the block being dug, so that they can be checked in DIG_FINISHED to avoid dig / + // aim bug in the client: m_HasStartedDigging = true; m_LastDigBlockPos = a_BlockPos; - if ( - m_Player->IsGameModeCreative() || // In creative mode, digging is done immediately + if (m_Player->IsGameModeCreative() || // In creative mode, digging is done immediately m_Player->CanInstantlyMine(DiggingBlock) // Sometimes the player is fast enough to instantly mine ) { @@ -1296,7 +1344,9 @@ void cClientHandle::HandleBlockDigStarted(Vector3i a_BlockPos, eBlockFace a_Bloc cChunkInterface ChunkInterface(World->GetChunkMap()); cBlockHandler::For(DiggingBlock).OnDigging(ChunkInterface, *World, *m_Player, a_BlockPos); - m_Player->GetEquippedItem().GetHandler().OnDiggingBlock(World, m_Player, m_Player->GetEquippedItem(), a_BlockPos, a_BlockFace); + m_Player->GetEquippedItem() + .GetHandler() + .OnDiggingBlock(World, m_Player, m_Player->GetEquippedItem(), a_BlockPos, a_BlockFace); } @@ -1305,12 +1355,12 @@ void cClientHandle::HandleBlockDigStarted(Vector3i a_BlockPos, eBlockFace a_Bloc void cClientHandle::HandleBlockDigFinished(Vector3i a_BlockPos, eBlockFace a_BlockFace) { - if ( - !m_HasStartedDigging || // Hasn't received the DIG_STARTED packet + if (!m_HasStartedDigging || // Hasn't received the DIG_STARTED packet (m_LastDigBlockPos != a_BlockPos) // DIG_STARTED has had different pos ) { - FLOGD("Prevented a dig / aim bug in the client (finish {0} vs start {1}, HSD: {2})", + FLOGD( + "Prevented a dig / aim bug in the client (finish {0} vs start {1}, HSD: {2})", a_BlockPos, m_LastDigBlockPos, (m_HasStartedDigging ? "True" : "False") @@ -1328,13 +1378,21 @@ void cClientHandle::HandleBlockDigFinished(Vector3i a_BlockPos, eBlockFace a_Blo { m_BreakProgress += m_Player->GetMiningProgressPerTick(DugBlock); - // Check for very fast tools. Maybe instead of FASTBREAK_PERCENTAGE we should check we are within x multiplied by the progress per tick + // Check for very fast tools. Maybe instead of FASTBREAK_PERCENTAGE we should check we are within x multiplied + // by the progress per tick if (m_BreakProgress < FASTBREAK_PERCENTAGE) { - LOGD("Break progress of player %s was less than expected: %f < %f\n", m_Player->GetName().c_str(), m_BreakProgress * 100, FASTBREAK_PERCENTAGE * 100); - // AntiFastBreak doesn't agree with the breaking. Bail out. Send the block back to the client, so that it knows: + LOGD( + "Break progress of player %s was less than expected: %f < %f\n", + m_Player->GetName().c_str(), + m_BreakProgress * 100, + FASTBREAK_PERCENTAGE * 100 + ); + // AntiFastBreak doesn't agree with the breaking. Bail out. Send the block back to the client, so that it + // knows: m_Player->SendBlocksAround(a_BlockPos, 2); - SendPlayerPosition(); // Prevents the player from falling through the block that was temporarily broken client side. + SendPlayerPosition( + ); // Prevents the player from falling through the block that was temporarily broken client side. m_Player->SendMessage("FastBreak?"); // TODO Anticheat hook return; } @@ -1342,11 +1400,14 @@ void cClientHandle::HandleBlockDigFinished(Vector3i a_BlockPos, eBlockFace a_Blo cWorld * World = m_Player->GetWorld(); - if (cRoot::Get()->GetPluginManager()->CallHookPlayerBreakingBlock(*m_Player, a_BlockPos, a_BlockFace, DugBlock, DugMeta)) + if (cRoot::Get() + ->GetPluginManager() + ->CallHookPlayerBreakingBlock(*m_Player, a_BlockPos, a_BlockFace, DugBlock, DugMeta)) { // A plugin doesn't agree with the breaking. Bail out. Send the block back to the client, so that it knows: m_Player->SendBlocksAround(a_BlockPos, 2); - SendPlayerPosition(); // Prevents the player from falling through the block that was temporarily broken client side. + SendPlayerPosition( + ); // Prevents the player from falling through the block that was temporarily broken client side. return; } @@ -1359,7 +1420,9 @@ void cClientHandle::HandleBlockDigFinished(Vector3i a_BlockPos, eBlockFace a_Blo m_Player->AddFoodExhaustion(0.025); // Damage the tool, but not for 0 hardness blocks: - m_Player->UseEquippedItem(cBlockInfo::IsOneHitDig(DugBlock) ? cItemHandler::dlaBreakBlockInstant : cItemHandler::dlaBreakBlock); + m_Player->UseEquippedItem( + cBlockInfo::IsOneHitDig(DugBlock) ? cItemHandler::dlaBreakBlockInstant : cItemHandler::dlaBreakBlock + ); cChunkInterface ChunkInterface(World->GetChunkMap()); Vector3i absPos(a_BlockPos); @@ -1393,7 +1456,8 @@ void cClientHandle::FinishDigAnimation() // End dig animation m_BlockDigAnimStage = -1; // It seems that 10 ends block animation - m_Player->GetWorld()->BroadcastBlockBreakAnimation(static_cast(m_UniqueID), m_LastDigBlockPos, 10, this); + m_Player->GetWorld() + ->BroadcastBlockBreakAnimation(static_cast(m_UniqueID), m_LastDigBlockPos, 10, this); } m_LastDigBlockPos = s_IllegalPosition; @@ -1403,7 +1467,12 @@ void cClientHandle::FinishDigAnimation() -void cClientHandle::HandleRightClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_CursorPos, bool a_UsedMainHand) +void cClientHandle::HandleRightClick( + Vector3i a_BlockPos, + eBlockFace a_BlockFace, + Vector3i a_CursorPos, + bool a_UsedMainHand +) { /* This function handles three actions: (1) Place a block; @@ -1412,12 +1481,14 @@ void cClientHandle::HandleRightClick(Vector3i a_BlockPos, eBlockFace a_BlockFace Sneaking player will not use the block if hand is not empty. Frozen player can do nothing. - In Game Mode Spectator, player cannot use item or place block, but can interactive with some block depending on cBlockInfo::IsUseableBySpectator(BlockType) + In Game Mode Spectator, player cannot use item or place block, but can interactive with some block depending on + cBlockInfo::IsUseableBySpectator(BlockType) If the action failed, we need to send an update of the placed block or inventory to the client. Actions rejected by plugin will not lead to other attempts. - E.g., when opening a chest with a dirt in hand, if the plugin rejects opening the chest, the dirt will not be placed. */ + E.g., when opening a chest with a dirt in hand, if the plugin rejects opening the chest, the dirt will not be + placed. */ if ((a_BlockFace == BLOCK_FACE_NONE) || !cChunkDef::IsValidHeight(a_BlockPos)) { @@ -1425,16 +1496,25 @@ void cClientHandle::HandleRightClick(Vector3i a_BlockPos, eBlockFace a_BlockFace return; } - // TODO: We are still consuming the items in main hand. Remove this override when the off-hand consumption is handled correctly. + // TODO: We are still consuming the items in main hand. Remove this override when the off-hand consumption is + // handled correctly. a_UsedMainHand = true; cWorld * World = m_Player->GetWorld(); cPluginManager * PlgMgr = cRoot::Get()->GetPluginManager(); const cItem & HeldItem = a_UsedMainHand ? m_Player->GetEquippedItem() : m_Player->GetInventory().GetShieldSlot(); - FLOGD("HandleRightClick: {0}, face {1}, Cursor {2}, Hand: {3}, HeldItem: {4}", a_BlockPos, a_BlockFace, a_CursorPos, a_UsedMainHand, ItemToFullString(HeldItem)); + FLOGD( + "HandleRightClick: {0}, face {1}, Cursor {2}, Hand: {3}, HeldItem: {4}", + a_BlockPos, + a_BlockFace, + a_CursorPos, + a_UsedMainHand, + ItemToFullString(HeldItem) + ); - if (!PlgMgr->CallHookPlayerRightClick(*m_Player, a_BlockPos, a_BlockFace, a_CursorPos) && IsWithinReach(a_BlockPos) && !m_Player->IsFrozen()) + if (!PlgMgr->CallHookPlayerRightClick(*m_Player, a_BlockPos, a_BlockFace, a_CursorPos) && + IsWithinReach(a_BlockPos) && !m_Player->IsFrozen()) { BLOCKTYPE BlockType; NIBBLETYPE BlockMeta; @@ -1446,19 +1526,30 @@ void cClientHandle::HandleRightClick(Vector3i a_BlockPos, eBlockFace a_BlockFace const auto & ItemHandler = HeldItem.GetHandler(); const auto & BlockHandler = cBlockHandler::For(BlockType); - const bool BlockUsable = BlockHandler.IsUseable() && (m_Player->IsGameModeSpectator() ? cBlockInfo::IsUseableBySpectator(BlockType) : !(m_Player->IsCrouched() && !HeldItem.IsEmpty())); - const bool ItemPlaceable = ItemHandler.IsPlaceable() && !m_Player->IsGameModeAdventure() && !m_Player->IsGameModeSpectator(); + const bool BlockUsable = BlockHandler.IsUseable() && + (m_Player->IsGameModeSpectator() ? cBlockInfo::IsUseableBySpectator(BlockType) + : !(m_Player->IsCrouched() && !HeldItem.IsEmpty())); + const bool ItemPlaceable = + ItemHandler.IsPlaceable() && !m_Player->IsGameModeAdventure() && !m_Player->IsGameModeSpectator(); const bool ItemUseable = !m_Player->IsGameModeSpectator(); if (BlockUsable) { cChunkInterface ChunkInterface(World->GetChunkMap()); - if (!PlgMgr->CallHookPlayerUsingBlock(*m_Player, a_BlockPos, a_BlockFace, a_CursorPos, BlockType, BlockMeta)) + if (!PlgMgr + ->CallHookPlayerUsingBlock(*m_Player, a_BlockPos, a_BlockFace, a_CursorPos, BlockType, BlockMeta)) { // Use a block: if (BlockHandler.OnUse(ChunkInterface, *World, *m_Player, a_BlockPos, a_BlockFace, a_CursorPos)) { - PlgMgr->CallHookPlayerUsedBlock(*m_Player, a_BlockPos, a_BlockFace, a_CursorPos, BlockType, BlockMeta); + PlgMgr->CallHookPlayerUsedBlock( + *m_Player, + a_BlockPos, + a_BlockFace, + a_CursorPos, + BlockType, + BlockMeta + ); return; // Block use was successful, we're done. } @@ -1466,7 +1557,8 @@ void cClientHandle::HandleRightClick(Vector3i a_BlockPos, eBlockFace a_BlockFace if (ItemPlaceable) { // Place a block: - ItemHandler.OnPlayerPlace(*m_Player, HeldItem, a_BlockPos, BlockType, BlockMeta, a_BlockFace, a_CursorPos); + ItemHandler + .OnPlayerPlace(*m_Player, HeldItem, a_BlockPos, BlockType, BlockMeta, a_BlockFace, a_CursorPos); } return; @@ -1568,9 +1660,9 @@ void cClientHandle::HandleChat(const AString & a_Message) void cClientHandle::HandlePlayerLook(float a_Rotation, float a_Pitch, bool a_IsOnGround) { - m_Player->SetYaw (a_Rotation); - m_Player->SetHeadYaw (a_Rotation); - m_Player->SetPitch (a_Pitch); + m_Player->SetYaw(a_Rotation); + m_Player->SetHeadYaw(a_Rotation); + m_Player->SetPitch(a_Pitch); m_Player->SetTouchGround(a_IsOnGround); } @@ -1588,10 +1680,7 @@ void cClientHandle::HandlePlayerMove(Vector3d a_Pos, bool a_IsOnGround) #pragma clang diagnostic ignored "-Wfloat-equal" #endif - if ( - (OldPosition == a_Pos) && - (PreviousIsOnGround == a_IsOnGround) - ) + if ((OldPosition == a_Pos) && (PreviousIsOnGround == a_IsOnGround)) { // Nothing changed, no need to do anything: return; @@ -1623,7 +1712,8 @@ void cClientHandle::HandlePlayerMove(Vector3d a_Pos, bool a_IsOnGround) } // TODO: should do some checks to see if player is not moving through terrain - // TODO: Official server refuses position packets too far away from each other, kicking "hacked" clients; we should, too + // TODO: Official server refuses position packets too far away from each other, kicking "hacked" clients; we should, + // too m_Player->SetPosition(a_Pos); m_Player->SetTouchGround(a_IsOnGround); @@ -1662,11 +1752,14 @@ void cClientHandle::HandleSpectate(const cUUID & a_PlayerUUID) return; } - m_Player->GetWorld()->DoWithPlayerByUUID(a_PlayerUUID, [=](cPlayer & a_ToSpectate) - { - m_Player->TeleportToEntity(a_ToSpectate); - return true; - }); + m_Player->GetWorld()->DoWithPlayerByUUID( + a_PlayerUUID, + [=](cPlayer & a_ToSpectate) + { + m_Player->TeleportToEntity(a_ToSpectate); + return true; + } + ); } @@ -1709,11 +1802,20 @@ void cClientHandle::HandleWindowClose(UInt8 a_WindowID) -void cClientHandle::HandleWindowClick(UInt8 a_WindowID, Int16 a_SlotNum, eClickAction a_ClickAction, const cItem & a_HeldItem) +void cClientHandle::HandleWindowClick( + UInt8 a_WindowID, + Int16 a_SlotNum, + eClickAction a_ClickAction, + const cItem & a_HeldItem +) { - LOGD("WindowClick: WinID %d, SlotNum %d, action: %s, Item %s x %d", - a_WindowID, a_SlotNum, ClickActionToString(a_ClickAction), - ItemToString(a_HeldItem).c_str(), a_HeldItem.m_ItemCount + LOGD( + "WindowClick: WinID %d, SlotNum %d, action: %s, Item %s x %d", + a_WindowID, + a_SlotNum, + ClickActionToString(a_ClickAction), + ItemToString(a_HeldItem).c_str(), + a_HeldItem.m_ItemCount ); cWindow * Window = m_Player->GetWindow(); @@ -1732,8 +1834,10 @@ void cClientHandle::HandleWindowClick(UInt8 a_WindowID, Int16 a_SlotNum, eClickA void cClientHandle::HandleUpdateSign( Vector3i a_BlockPos, - const AString & a_Line1, const AString & a_Line2, - const AString & a_Line3, const AString & a_Line4 + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 ) { if (m_LastPlacedSign.Equals(a_BlockPos)) @@ -1754,11 +1858,14 @@ void cClientHandle::HandleUseEntity(UInt32 a_TargetEntityID, bool a_IsLeftClick) // If the player is a spectator, let him spectate if (m_Player->IsGameModeSpectator() && a_IsLeftClick) { - m_Player->GetWorld()->DoWithEntityByID(a_TargetEntityID, [=](cEntity & a_Entity) - { - m_Player->SpectateEntity(&a_Entity); - return true; - }); + m_Player->GetWorld()->DoWithEntityByID( + a_TargetEntityID, + [=](cEntity & a_Entity) + { + m_Player->SpectateEntity(&a_Entity); + return true; + } + ); return; } @@ -1766,21 +1873,18 @@ void cClientHandle::HandleUseEntity(UInt32 a_TargetEntityID, bool a_IsLeftClick) if (!a_IsLeftClick) { cWorld * World = m_Player->GetWorld(); - World->DoWithEntityByID(a_TargetEntityID, [=](cEntity & a_Entity) + World->DoWithEntityByID( + a_TargetEntityID, + [=](cEntity & a_Entity) { - if ( - cPluginManager::Get()->CallHookPlayerRightClickingEntity(*m_Player, a_Entity) || - ( - m_Player->IsGameModeSpectator() && // Spectators cannot interact with every entity - ( - !a_Entity.IsMinecart() || // They can only interact with minecarts - ( - (static_cast(a_Entity).GetPayload() != cMinecart::mpChest) && // And only if the type matches a minecart with a chest or - (static_cast(a_Entity).GetPayload() != cMinecart::mpHopper) // a minecart with a hopper - ) - ) - ) - ) + if (cPluginManager::Get()->CallHookPlayerRightClickingEntity(*m_Player, a_Entity) || + (m_Player->IsGameModeSpectator() && // Spectators cannot interact with every entity + (!a_Entity.IsMinecart() || // They can only interact with minecarts + ((static_cast(a_Entity).GetPayload() != cMinecart::mpChest + ) && // And only if the type matches a minecart with a chest or + (static_cast(a_Entity).GetPayload() != cMinecart::mpHopper + ) // a minecart with a hopper + )))) { return false; } @@ -1792,7 +1896,9 @@ void cClientHandle::HandleUseEntity(UInt32 a_TargetEntityID, bool a_IsLeftClick) } // If it is a left click, attack the entity: - m_Player->GetWorld()->DoWithEntityByID(a_TargetEntityID, [=](cEntity & a_Entity) + m_Player->GetWorld()->DoWithEntityByID( + a_TargetEntityID, + [=](cEntity & a_Entity) { if (!a_Entity.GetWorld()->IsPVPEnabled()) { @@ -1807,7 +1913,7 @@ void cClientHandle::HandleUseEntity(UInt32 a_TargetEntityID, bool a_IsLeftClick) m_Player->AddFoodExhaustion(0.3); if (a_Entity.IsPawn()) { - m_Player->NotifyNearbyWolves(static_cast(&a_Entity), true); + m_Player->NotifyNearbyWolves(static_cast(&a_Entity), true); } return true; } @@ -1824,7 +1930,8 @@ void cClientHandle::HandleUseItem(bool a_UsedMainHand) // In version 1.8.x, this function shares the same packet id with HandleRightClick. // In version >= 1.9, there is a new packet id for "Use Item". - // TODO: We are still consuming the items in main hand. Remove this override when the off-hand consumption is handled correctly. + // TODO: We are still consuming the items in main hand. Remove this override when the off-hand consumption is + // handled correctly. a_UsedMainHand = true; const cItem & HeldItem = a_UsedMainHand ? m_Player->GetEquippedItem() : m_Player->GetInventory().GetShieldSlot(); auto & ItemHandler = HeldItem.GetHandler(); @@ -1850,11 +1957,12 @@ void cClientHandle::HandleUseItem(bool a_UsedMainHand) if (ItemHandler.IsFood() || ItemHandler.IsDrinkable(HeldItem.m_ItemDamage)) { - if ( - ItemHandler.IsFood() && - (m_Player->IsSatiated() || m_Player->IsGameModeCreative()) && // Only non-creative or hungry players can eat - (HeldItem.m_ItemType != E_ITEM_GOLDEN_APPLE) && // Golden apple is a special case, it is used instead of eaten - (HeldItem.m_ItemType != E_ITEM_CHORUS_FRUIT) // Chorus fruit is a special case, it is used instead of eaten + if (ItemHandler.IsFood() && + (m_Player->IsSatiated() || m_Player->IsGameModeCreative() + ) && // Only non-creative or hungry players can eat + (HeldItem.m_ItemType != E_ITEM_GOLDEN_APPLE + ) && // Golden apple is a special case, it is used instead of eaten + (HeldItem.m_ItemType != E_ITEM_CHORUS_FRUIT) // Chorus fruit is a special case, it is used instead of eaten ) { // The player is satiated or in creative, and trying to eat @@ -2024,7 +2132,8 @@ void cClientHandle::SendData(const ContiguousByteBufferView a_Data) { if (m_HasSentDC) { - // This could crash the client, because they've already unloaded the world etc., and suddenly a wild packet appears (#31) + // This could crash the client, because they've already unloaded the world etc., and suddenly a wild packet + // appears (#31) return; } @@ -2056,7 +2165,10 @@ void cClientHandle::RemoveFromWorld(void) m_LastStreamedChunkZ = std::numeric_limits::max(); // Restart player unloaded chunk checking and freezing: - m_CachedSentChunk = cChunkCoords(std::numeric_limits::max(), std::numeric_limits::max()); + m_CachedSentChunk = cChunkCoords( + std::numeric_limits::max(), + std::numeric_limits::max() + ); } @@ -2126,7 +2238,8 @@ void cClientHandle::Tick(std::chrono::milliseconds a_Dt) if (m_Player->GetParentChunk()->IsValid()) { // Before iterating m_SentChunks, see if the player's coords equal m_CachedSentChunk - // If so, the chunk has been sent to the client. This is an optimization that saves an iteration of m_SentChunks. + // If so, the chunk has been sent to the client. This is an optimization that saves an iteration of + // m_SentChunks. if (cChunkCoords(m_Player->GetChunkX(), m_Player->GetChunkZ()) == m_CachedSentChunk) { m_HasSentPlayerChunk = true; @@ -2136,7 +2249,11 @@ void cClientHandle::Tick(std::chrono::milliseconds a_Dt) // This block is entered only when the player moves to a new chunk, invalidating the cached coords. // Otherwise the cached coords are used. cCSLock Lock(m_CSChunkLists); - auto itr = std::find(m_SentChunks.begin(), m_SentChunks.end(), cChunkCoords(m_Player->GetChunkX(), m_Player->GetChunkZ())); + auto itr = std::find( + m_SentChunks.begin(), + m_SentChunks.end(), + cChunkCoords(m_Player->GetChunkX(), m_Player->GetChunkZ()) + ); if (itr != m_SentChunks.end()) { m_CachedSentChunk = *itr; @@ -2154,8 +2271,10 @@ void cClientHandle::Tick(std::chrono::milliseconds a_Dt) m_Protocol->SendPlayerMoveLook(); m_State = csPlaying; - // Send resource pack (after a MoveLook, because sending it before the initial MoveLook cancels the download screen): - if (const auto & ResourcePackUrl = cRoot::Get()->GetServer()->GetResourcePackUrl(); !ResourcePackUrl.empty()) + // Send resource pack (after a MoveLook, because sending it before the initial MoveLook cancels the download + // screen): + if (const auto & ResourcePackUrl = cRoot::Get()->GetServer()->GetResourcePackUrl(); + !ResourcePackUrl.empty()) { SendResourcePack(ResourcePackUrl); } @@ -2202,7 +2321,12 @@ void cClientHandle::Tick(std::chrono::milliseconds a_Dt) } if (m_BlockDigAnimStage / 1000 != lastAnimVal / 1000) { - m_Player->GetWorld()->BroadcastBlockBreakAnimation(static_cast(m_UniqueID), m_BlockDigAnimPos, static_cast(m_BlockDigAnimStage / 1000), this); + m_Player->GetWorld()->BroadcastBlockBreakAnimation( + static_cast(m_UniqueID), + m_BlockDigAnimPos, + static_cast(m_BlockDigAnimStage / 1000), + this + ); } } @@ -2321,9 +2445,27 @@ void cClientHandle::SendBlockChanges(int a_ChunkX, int a_ChunkZ, const sSetBlock -void cClientHandle::SendBossBarAdd(UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) +void cClientHandle::SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog +) { - m_Protocol->SendBossBarAdd(a_UniqueID, a_Title, a_FractionFilled, a_Color, a_DivisionType, a_DarkenSky, a_PlayEndMusic, a_CreateFog); + m_Protocol->SendBossBarAdd( + a_UniqueID, + a_Title, + a_FractionFilled, + a_Color, + a_DivisionType, + a_DarkenSky, + a_PlayEndMusic, + a_CreateFog + ); } @@ -2434,7 +2576,11 @@ void cClientHandle::SendChatRaw(const AString & a_MessageRaw, eChatType a_Type) -void cClientHandle::SendChatAboveActionBar(const AString & a_Message, eMessageType a_ChatPrefix, const AString & a_AdditionalData) +void cClientHandle::SendChatAboveActionBar( + const AString & a_Message, + eMessageType a_ChatPrefix, + const AString & a_AdditionalData +) { cWorld * World = GetPlayer()->GetWorld(); if (World == nullptr) @@ -2463,7 +2609,11 @@ void cClientHandle::SendChatAboveActionBar(const cCompositeChat & a_Message) -void cClientHandle::SendChatSystem(const AString & a_Message, eMessageType a_ChatPrefix, const AString & a_AdditionalData) +void cClientHandle::SendChatSystem( + const AString & a_Message, + eMessageType a_ChatPrefix, + const AString & a_AdditionalData +) { cWorld * World = GetPlayer()->GetWorld(); if (World == nullptr) @@ -2501,7 +2651,7 @@ void cClientHandle::SendChunkData(int a_ChunkX, int a_ChunkZ, const ContiguousBy bool Found = false; { cCSLock Lock(m_CSChunkLists); - auto itr = m_ChunksToSend.find(cChunkCoords{a_ChunkX, a_ChunkZ}); + auto itr = m_ChunksToSend.find(cChunkCoords {a_ChunkX, a_ChunkZ}); if (itr != m_ChunksToSend.end()) { m_ChunksToSend.erase(itr); @@ -2512,8 +2662,9 @@ void cClientHandle::SendChunkData(int a_ChunkX, int a_ChunkZ, const ContiguousBy { // This just sometimes happens. If you have a reliably replicatable situation for this, go ahead and fix it // It's not a big issue anyway, just means that some chunks may be compressed several times - // LOG("Refusing to send chunk [%d, %d] to client \"%s\" at [%d, %d].", a_ChunkX, a_ChunkZ, m_Username.c_str(), m_Player->GetChunkX(), m_Player->GetChunkZ()); - // 2020 08 21: seems to happen going through nether portals on 1.8.9 + // LOG("Refusing to send chunk [%d, %d] to client \"%s\" at [%d, %d].", a_ChunkX, a_ChunkZ, + // m_Username.c_str(), m_Player->GetChunkX(), m_Player->GetChunkZ()); 2020 08 21: seems to happen going through + // nether portals on 1.8.9 return; } @@ -2754,7 +2905,13 @@ void cClientHandle::SendMapData(const cMap & a_Map, int a_DataStartX, int a_Data -void cClientHandle::SendParticleEffect(const AString & a_ParticleName, Vector3f a_Source, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount) +void cClientHandle::SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Source, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount +) { m_Protocol->SendParticleEffect(a_ParticleName, a_Source, a_Offset, a_ParticleData, a_ParticleAmount); } @@ -2763,7 +2920,14 @@ void cClientHandle::SendParticleEffect(const AString & a_ParticleName, Vector3f -void cClientHandle::SendParticleEffect(const AString & a_ParticleName, const Vector3f a_Src, const Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data) +void cClientHandle::SendParticleEffect( + const AString & a_ParticleName, + const Vector3f a_Src, + const Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data +) { m_Protocol->SendParticleEffect(a_ParticleName, a_Src, a_Offset, a_ParticleData, a_ParticleAmount, a_Data); } @@ -2853,7 +3017,12 @@ void cClientHandle::SendPlayerListUpdatePing() -void cClientHandle::SendPlayerMoveLook (const Vector3d a_Pos, const float a_Yaw, const float a_Pitch, const bool a_IsRelative) +void cClientHandle::SendPlayerMoveLook( + const Vector3d a_Pos, + const float a_Yaw, + const float a_Pitch, + const bool a_IsRelative +) { m_Protocol->SendPlayerMoveLook(a_Pos, a_Yaw, a_Pitch, a_IsRelative); } @@ -2902,8 +3071,11 @@ void cClientHandle::SendPlayerSpawn(const cPlayer & a_Player) return; } - LOGD("Spawning player \"%s\" on client \"%s\" @ %s", - a_Player.GetName().c_str(), GetPlayer()->GetName().c_str(), GetIPString().c_str() + LOGD( + "Spawning player \"%s\" on client \"%s\" @ %s", + a_Player.GetName().c_str(), + GetPlayer()->GetName().c_str(), + GetIPString().c_str() ); m_Protocol->SendPlayerSpawn(a_Player); @@ -2915,7 +3087,7 @@ void cClientHandle::SendPlayerSpawn(const cPlayer & a_Player) void cClientHandle::SendPluginMessage(const AString & a_Channel, const std::string_view a_Message) { - m_Protocol->SendPluginMessage(a_Channel, { reinterpret_cast(a_Message.data()), a_Message.size() }); + m_Protocol->SendPluginMessage(a_Channel, {reinterpret_cast(a_Message.data()), a_Message.size()}); } @@ -3005,7 +3177,12 @@ void cClientHandle::SendScoreboardObjective(const AString & a_Name, const AStrin -void cClientHandle::SendScoreUpdate(const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode) +void cClientHandle::SendScoreUpdate( + const AString & a_Objective, + const AString & a_Player, + cObjective::Score a_Score, + Byte a_Mode +) { m_Protocol->SendScoreUpdate(a_Objective, a_Player, a_Score, a_Mode); } @@ -3059,7 +3236,14 @@ void cClientHandle::SendSetRawTitle(const AString & a_Title) -void cClientHandle::SendSoundEffect(const AString & a_SoundName, double a_X, double a_Y, double a_Z, float a_Volume, float a_Pitch) +void cClientHandle::SendSoundEffect( + const AString & a_SoundName, + double a_X, + double a_Y, + double a_Z, + float a_Volume, + float a_Pitch +) { LOG("SendSoundEffect with double args is deprecated, use version with vector position parameter."); SendSoundEffect(a_SoundName, {a_X, a_Y, a_Z}, a_Volume, a_Pitch); @@ -3141,7 +3325,11 @@ void cClientHandle::SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int a_ -void cClientHandle::SendTimeUpdate(const cTickTimeLong a_WorldAge, const cTickTimeLong a_WorldDate, const bool a_DoDaylightCycle) +void cClientHandle::SendTimeUpdate( + const cTickTimeLong a_WorldAge, + const cTickTimeLong a_WorldDate, + const bool a_DoDaylightCycle +) { m_Protocol->SendTimeUpdate(a_WorldAge, a_WorldDate, a_DoDaylightCycle); } @@ -3176,13 +3364,13 @@ void cClientHandle::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) void cClientHandle::SendUpdateSign( Vector3i a_BlockPos, - const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4 + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 ) { - m_Protocol->SendUpdateSign( - a_BlockPos, - a_Line1, a_Line2, a_Line3, a_Line4 - ); + m_Protocol->SendUpdateSign(a_BlockPos, a_Line1, a_Line2, a_Line3, a_Line4); } @@ -3466,8 +3654,12 @@ void cClientHandle::OnRemoteClosed(void) void cClientHandle::OnError(int a_ErrorCode, const AString & a_ErrorMsg) { - LOGD("An error has occurred on client link for %s @ %s: %d (%s). Client disconnected.", - m_Username.c_str(), m_IPString.c_str(), a_ErrorCode, a_ErrorMsg.c_str() + LOGD( + "An error has occurred on client link for %s @ %s: %d (%s). Client disconnected.", + m_Username.c_str(), + m_IPString.c_str(), + a_ErrorCode, + a_ErrorMsg.c_str() ); SocketClosed(); } diff --git a/src/ClientHandle.h b/src/ClientHandle.h index a452d765a..f4cd87ec8 100644 --- a/src/ClientHandle.h +++ b/src/ClientHandle.h @@ -1,7 +1,8 @@ // cClientHandle.h -// Interfaces to the cClientHandle class representing a client connected to this server. The client need not be a player yet +// Interfaces to the cClientHandle class representing a client connected to this server. The client need not be a player +// yet @@ -47,15 +48,15 @@ typedef std::shared_ptr cClientHandlePtr; class cClientHandle // tolua_export - : public cTCPLink::cCallbacks, public std::enable_shared_from_this + : public cTCPLink::cCallbacks, + public std::enable_shared_from_this { // tolua_export -public: // tolua_export - - #if defined(ANDROID) - static const int DEFAULT_VIEW_DISTANCE = 4; // The default ViewDistance (used when no value is set in Settings.ini) - #else - static const int DEFAULT_VIEW_DISTANCE = 10; - #endif + public: // tolua_export +#if defined(ANDROID) + static const int DEFAULT_VIEW_DISTANCE = 4; // The default ViewDistance (used when no value is set in Settings.ini) +#else + static const int DEFAULT_VIEW_DISTANCE = 10; +#endif static const int MAX_VIEW_DISTANCE = 32; static const int MIN_VIEW_DISTANCE = 1; @@ -64,7 +65,8 @@ public: // tolua_export Can be set in settings.ini [AntiCheat] FastBreakPercentage=(from 0 to 100) */ static float FASTBREAK_PERCENTAGE; - /** Creates a new client with the specified IP address in its description and the specified initial view distance. */ + /** Creates a new client with the specified IP address in its description and the specified initial view distance. + */ cClientHandle(const AString & a_IPString, int a_ViewDistance); virtual ~cClientHandle() override; @@ -83,7 +85,11 @@ public: // tolua_export /** Sets the player's UUID, as used by the protocol. Used mainly by BungeeCord compatibility code - when authenticating is done on the BungeeCord server and the results are passed to MCS running in offline mode. */ - void SetUUID(const cUUID & a_UUID) { ASSERT(!a_UUID.IsNil()); m_UUID = a_UUID; } + void SetUUID(const cUUID & a_UUID) + { + ASSERT(!a_UUID.IsNil()); + m_UUID = a_UUID; + } const Json::Value & GetProperties(void) const { return m_Properties; } @@ -94,7 +100,8 @@ public: // tolua_export /** Generates an UUID based on the player name provided. This is used for the offline (non-auth) mode, when there's no UUID source. - Each username generates a unique and constant UUID, so that when the player reconnects with the same name, their UUID is the same. */ + Each username generates a unique and constant UUID, so that when the player reconnects with the same name, their + UUID is the same. */ static cUUID GenerateOfflineUUID(const AString & a_Username); // Exported in ManualBindings.cpp /** Returns true if the UUID is generated by online auth, false if it is an offline-generated UUID. @@ -113,11 +120,17 @@ public: // tolua_export void ProcessProtocolOut(); /** Formats the type of message with the proper color and prefix for sending to the client. */ - static AString FormatMessageType(bool ShouldAppendChatPrefixes, eMessageType a_ChatPrefix, const AString & a_AdditionalData); + static AString FormatMessageType( + bool ShouldAppendChatPrefixes, + eMessageType a_ChatPrefix, + const AString & a_AdditionalData + ); static AString FormatChatPrefix( - bool ShouldAppendChatPrefixes, const AString & a_ChatPrefixS, - const AString & m_Color1, const AString & m_Color2 + bool ShouldAppendChatPrefixes, + const AString & a_ChatPrefixS, + const AString & m_Color1, + const AString & m_Color2 ); void Kick(const AString & a_Reason); // tolua_export @@ -128,7 +141,8 @@ public: // tolua_export /** Authenticates ourselves, called by cAuthenticator supplying player details from Mojang. */ void Authenticate(AString && a_Name, const cUUID & a_UUID, Json::Value && a_Properties); - /** Sends a set number of new chunks to the player on every invocation, until all chunks in the view distance have been sent. */ + /** Sends a set number of new chunks to the player on every invocation, until all chunks in the view distance have + * been sent. */ void StreamNextChunks(); /** Remove all loaded chunks that are no longer in range */ @@ -144,116 +158,166 @@ public: // tolua_export void Destroy(void); - bool IsPlaying (void) const { return (m_State == csPlaying); } - bool IsDestroyed (void) const { return (m_State == csDestroyed); } + bool IsPlaying(void) const { return (m_State == csPlaying); } + bool IsDestroyed(void) const { return (m_State == csDestroyed); } // The following functions send the various packets: // (Please keep these alpha-sorted) - void SendAttachEntity (const cEntity & a_Entity, const cEntity & a_Vehicle); - void SendBlockAction (Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType); - void SendBlockBreakAnim (UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage); // tolua_export - void SendBlockChange (Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); // tolua_export - void SendBlockChanges (int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes); - void SendBossBarAdd (UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog); // tolua_export - void SendBossBarUpdateFlags (UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog); // tolua_export - void SendBossBarUpdateStyle (UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType); // tolua_export - void SendBossBarUpdateTitle (UInt32 a_UniqueID, const cCompositeChat & a_Title); // tolua_export - void SendBossBarRemove (UInt32 a_UniqueID); // tolua_export - void SendBossBarUpdateHealth (UInt32 a_UniqueID, float a_FractionFilled); // tolua_export - void SendCameraSetTo (const cEntity & a_Entity); - void SendChat (const AString & a_Message, eMessageType a_ChatPrefix, const AString & a_AdditionalData = ""); - void SendChat (const cCompositeChat & a_Message); - void SendChatRaw (const AString & a_MessageRaw, eChatType a_Type); - void SendChatAboveActionBar (const AString & a_Message, eMessageType a_ChatPrefix, const AString & a_AdditionalData = ""); - void SendChatAboveActionBar (const cCompositeChat & a_Message); - void SendChatSystem (const AString & a_Message, eMessageType a_ChatPrefix, const AString & a_AdditionalData = ""); - void SendChatSystem (const cCompositeChat & a_Message); - void SendChunkData (int a_ChunkX, int a_ChunkZ, ContiguousByteBufferView a_ChunkData); - void SendCollectEntity (const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count); // tolua_export - void SendDestroyEntity (const cEntity & a_Entity); // tolua_export - void SendDetachEntity (const cEntity & a_Entity, const cEntity & a_PreviousVehicle); // tolua_export - void SendDisconnect (const AString & a_Reason); - void SendDisplayObjective (const AString & a_Objective, cScoreboard::eDisplaySlot a_Display); - void SendEditSign (Vector3i a_BlockPos); // tolua_export - void SendEntityAnimation (const cEntity & a_Entity, EntityAnimation a_Animation); // tolua_export - void SendEntityEffect (const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration); - void SendEntityEquipment (const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item); - void SendEntityHeadLook (const cEntity & a_Entity); - void SendEntityLook (const cEntity & a_Entity); - void SendEntityMetadata (const cEntity & a_Entity); - void SendEntityPosition (const cEntity & a_Entity); - void SendEntityProperties (const cEntity & a_Entity); - void SendEntityVelocity (const cEntity & a_Entity); - void SendExperience (void); - void SendExperienceOrb (const cExpOrb & a_ExpOrb); - void SendExplosion (Vector3f a_Position, float a_Power); - void SendGameMode (eGameMode a_GameMode); - void SendHealth (void); - void SendHeldItemChange (int a_ItemIndex); - void SendHideTitle (void); // tolua_export - void SendInventorySlot (char a_WindowID, short a_SlotNum, const cItem & a_Item); - void SendLeashEntity (const cEntity & a_Entity, const cEntity & a_EntityLeashedTo); // tolua_export - void SendMapData (const cMap & a_Map, int a_DataStartX, int a_DataStartY); - void SendPaintingSpawn (const cPainting & a_Painting); - void SendParticleEffect (const AString & a_ParticleName, Vector3f a_Source, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount); - void SendParticleEffect (const AString & a_ParticleName, const Vector3f a_Src, const Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data); - void SendPlayerAbilities (void); - void SendPlayerListAddPlayer (const cPlayer & a_Player); - void SendPlayerListHeaderFooter (const cCompositeChat & a_Header, const cCompositeChat & a_Footer); // tolua_export - void SendPlayerListRemovePlayer (const cPlayer & a_Player); + void SendAttachEntity(const cEntity & a_Entity, const cEntity & a_Vehicle); + void SendBlockAction(Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType); + void SendBlockBreakAnim(UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage); // tolua_export + void SendBlockChange(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); // tolua_export + void SendBlockChanges(int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes); + // tolua_begin + void SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog + ); + // tolua_end + // tolua_begin + void SendBossBarUpdateFlags(UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog); + // tolua_end + // tolua_begin + void SendBossBarUpdateStyle(UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType); + // tolua_end + void SendBossBarUpdateTitle(UInt32 a_UniqueID, const cCompositeChat & a_Title); // tolua_export + void SendBossBarRemove(UInt32 a_UniqueID); // tolua_export + void SendBossBarUpdateHealth(UInt32 a_UniqueID, float a_FractionFilled); // tolua_export + void SendCameraSetTo(const cEntity & a_Entity); + void SendChat(const AString & a_Message, eMessageType a_ChatPrefix, const AString & a_AdditionalData = ""); + void SendChat(const cCompositeChat & a_Message); + void SendChatRaw(const AString & a_MessageRaw, eChatType a_Type); + void SendChatAboveActionBar( + const AString & a_Message, + eMessageType a_ChatPrefix, + const AString & a_AdditionalData = "" + ); + void SendChatAboveActionBar(const cCompositeChat & a_Message); + void SendChatSystem(const AString & a_Message, eMessageType a_ChatPrefix, const AString & a_AdditionalData = ""); + void SendChatSystem(const cCompositeChat & a_Message); + void SendChunkData(int a_ChunkX, int a_ChunkZ, ContiguousByteBufferView a_ChunkData); + void SendCollectEntity(const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count); // tolua_export + void SendDestroyEntity(const cEntity & a_Entity); // tolua_export + void SendDetachEntity(const cEntity & a_Entity, const cEntity & a_PreviousVehicle); // tolua_export + void SendDisconnect(const AString & a_Reason); + void SendDisplayObjective(const AString & a_Objective, cScoreboard::eDisplaySlot a_Display); + void SendEditSign(Vector3i a_BlockPos); // tolua_export + void SendEntityAnimation(const cEntity & a_Entity, EntityAnimation a_Animation); // tolua_export + void SendEntityEffect(const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration); + void SendEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item); + void SendEntityHeadLook(const cEntity & a_Entity); + void SendEntityLook(const cEntity & a_Entity); + void SendEntityMetadata(const cEntity & a_Entity); + void SendEntityPosition(const cEntity & a_Entity); + void SendEntityProperties(const cEntity & a_Entity); + void SendEntityVelocity(const cEntity & a_Entity); + void SendExperience(void); + void SendExperienceOrb(const cExpOrb & a_ExpOrb); + void SendExplosion(Vector3f a_Position, float a_Power); + void SendGameMode(eGameMode a_GameMode); + void SendHealth(void); + void SendHeldItemChange(int a_ItemIndex); + void SendHideTitle(void); // tolua_export + void SendInventorySlot(char a_WindowID, short a_SlotNum, const cItem & a_Item); + void SendLeashEntity(const cEntity & a_Entity, const cEntity & a_EntityLeashedTo); // tolua_export + void SendMapData(const cMap & a_Map, int a_DataStartX, int a_DataStartY); + void SendPaintingSpawn(const cPainting & a_Painting); + void SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Source, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount + ); + void SendParticleEffect( + const AString & a_ParticleName, + const Vector3f a_Src, + const Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data + ); + void SendPlayerAbilities(void); + void SendPlayerListAddPlayer(const cPlayer & a_Player); + void SendPlayerListHeaderFooter(const cCompositeChat & a_Header, const cCompositeChat & a_Footer); // tolua_export + void SendPlayerListRemovePlayer(const cPlayer & a_Player); void SendPlayerListUpdateDisplayName(const cPlayer & a_Player, const AString & a_CustomName); - void SendPlayerListUpdateGameMode (const cPlayer & a_Player); - void SendPlayerListUpdatePing (); - void SendPlayerMoveLook (Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative); - void SendPlayerMoveLook (void); - void SendPlayerPermissionLevel (void); - void SendPlayerPosition (void); - void SendPlayerSpawn (const cPlayer & a_Player); - void SendPluginMessage (const AString & a_Channel, std::string_view a_Message); // Exported in ManualBindings.cpp - void SendPluginMessage (const AString & a_Channel, ContiguousByteBufferView a_Message); - void SendRemoveEntityEffect (const cEntity & a_Entity, int a_EffectID); - void SendResourcePack (const AString & a_ResourcePackUrl); // tolua_export - void SendResetTitle (void); // tolua_export - void SendRespawn (eDimension a_Dimension, bool a_IsRespawningFromDeath); - void SendScoreUpdate (const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode); - void SendScoreboardObjective (const AString & a_Name, const AString & a_DisplayName, Byte a_Mode); - void SendSetSubTitle (const cCompositeChat & a_SubTitle); // tolua_export - void SendSetRawSubTitle (const AString & a_SubTitle); // tolua_export - void SendSetTitle (const cCompositeChat & a_Title); // tolua_export - void SendSetRawTitle (const AString & a_Title); // tolua_export - void SendSoundEffect (const AString & a_SoundName, double a_X, double a_Y, double a_Z, float a_Volume, float a_Pitch); // tolua_export - void SendSoundEffect (const AString & a_SoundName, Vector3d a_Position, float a_Volume, float a_Pitch); // tolua_export - void SendSoundParticleEffect (const EffectID a_EffectID, Vector3i a_Source, int a_Data); - void SendSpawnEntity (const cEntity & a_Entity); - void SendSpawnMob (const cMonster & a_Mob); - void SendStatistics (const StatisticsManager & a_Manager); - void SendTabCompletionResults (const AStringVector & a_Results); - void SendThunderbolt (Vector3i a_BlockPos); // tolua_export - void SendTitleTimes (int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks); // tolua_export - void SendTimeUpdate (cTickTimeLong a_WorldAge, cTickTimeLong a_WorldDate, bool a_DoDaylightCycle); - void SendUnleashEntity (const cEntity & a_Entity); // tolua_export - void SendUnloadChunk (int a_ChunkX, int a_ChunkZ); - void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity); - void SendUpdateSign (Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4); + void SendPlayerListUpdateGameMode(const cPlayer & a_Player); + void SendPlayerListUpdatePing(); + void SendPlayerMoveLook(Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative); + void SendPlayerMoveLook(void); + void SendPlayerPermissionLevel(void); + void SendPlayerPosition(void); + void SendPlayerSpawn(const cPlayer & a_Player); + void SendPluginMessage(const AString & a_Channel, std::string_view a_Message); // Exported in ManualBindings.cpp + void SendPluginMessage(const AString & a_Channel, ContiguousByteBufferView a_Message); + void SendRemoveEntityEffect(const cEntity & a_Entity, int a_EffectID); + void SendResourcePack(const AString & a_ResourcePackUrl); // tolua_export + void SendResetTitle(void); // tolua_export + void SendRespawn(eDimension a_Dimension, bool a_IsRespawningFromDeath); + void SendScoreUpdate(const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode); + void SendScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode); + void SendSetSubTitle(const cCompositeChat & a_SubTitle); // tolua_export + void SendSetRawSubTitle(const AString & a_SubTitle); // tolua_export + void SendSetTitle(const cCompositeChat & a_Title); // tolua_export + void SendSetRawTitle(const AString & a_Title); // tolua_export + // tolua_begin + void SendSoundEffect( + const AString & a_SoundName, + double a_X, + double a_Y, + double a_Z, + float a_Volume, + float a_Pitch + ); + void SendSoundEffect(const AString & a_SoundName, Vector3d a_Position, float a_Volume, float a_Pitch); + // tolua_end + void SendSoundParticleEffect(const EffectID a_EffectID, Vector3i a_Source, int a_Data); + void SendSpawnEntity(const cEntity & a_Entity); + void SendSpawnMob(const cMonster & a_Mob); + void SendStatistics(const StatisticsManager & a_Manager); + void SendTabCompletionResults(const AStringVector & a_Results); + void SendThunderbolt(Vector3i a_BlockPos); // tolua_export + void SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks); // tolua_export + void SendTimeUpdate(cTickTimeLong a_WorldAge, cTickTimeLong a_WorldDate, bool a_DoDaylightCycle); + void SendUnleashEntity(const cEntity & a_Entity); // tolua_export + void SendUnloadChunk(int a_ChunkX, int a_ChunkZ); + void SendUpdateBlockEntity(cBlockEntity & a_BlockEntity); + void SendUpdateSign( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 + ); /** Send a newly discovered recipe to show the notification and unlock in the recipe book */ - void SendUnlockRecipe (UInt32 a_RecipeId); + void SendUnlockRecipe(UInt32 a_RecipeId); /** Send already known recipes without notification but visible in the recipe book */ - void SendInitRecipes (UInt32 a_RecipeId); + void SendInitRecipes(UInt32 a_RecipeId); - void SendWeather (eWeather a_Weather); - void SendWholeInventory (const cWindow & a_Window); - void SendWindowClose (const cWindow & a_Window); - void SendWindowOpen (const cWindow & a_Window); - void SendWindowProperty (const cWindow & a_Window, size_t a_Property, short a_Value); + void SendWeather(eWeather a_Weather); + void SendWholeInventory(const cWindow & a_Window); + void SendWindowClose(const cWindow & a_Window); + void SendWindowOpen(const cWindow & a_Window); + void SendWindowProperty(const cWindow & a_Window, size_t a_Property, short a_Value); const AString & GetUsername(void) const; // tolua_export void SetUsername(AString && a_Username); // tolua_begin - inline short GetPing(void) const { return static_cast(std::chrono::duration_cast(m_Ping).count()); } + inline short GetPing(void) const + { + return static_cast(std::chrono::duration_cast(m_Ping).count()); + } /** Sets the maximal view distance. */ void SetViewDistance(int a_ViewDistance); @@ -293,10 +357,7 @@ public: // tolua_export } /** Mark a client connection as using Forge. Set by the protocol. */ - void SetIsForgeClient() - { - m_ForgeHandshake.IsForgeClient = true; - } + void SetIsForgeClient() { m_ForgeHandshake.IsForgeClient = true; } /** Returns true if the client wants the chunk specified to be sent (in m_ChunksToSend) */ bool WantsSendChunk(int a_ChunkX, int a_ChunkZ); @@ -349,13 +410,13 @@ public: // tolua_export otherwise the first instant when a username is received). Returns true if the player is to be let in, false if they were disconnected */ - bool HandleHandshake (const AString & a_Username); + bool HandleHandshake(const AString & a_Username); /** Handles a player exiting his bed. */ void HandleLeaveBed(); - void HandleKeepAlive (UInt32 a_KeepAliveID); - void HandleLeftClick (Vector3i a_BlockPos, eBlockFace a_BlockFace, UInt8 a_Status); + void HandleKeepAlive(UInt32 a_KeepAliveID); + void HandleLeftClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, UInt8 a_Status); /** Called when the protocol receives a MC|TrSel packet, indicating that the player used a trade in the NPC UI. */ @@ -364,9 +425,9 @@ public: // tolua_export /** Handles a player opening his inventory while riding a horse. */ void HandleOpenHorseInventory(); - void HandlePing (void); - void HandlePlayerAbilities (bool a_IsFlying, float FlyingSpeed, float WalkingSpeed); - void HandlePlayerLook (float a_Rotation, float a_Pitch, bool a_IsOnGround); + void HandlePing(void); + void HandlePlayerAbilities(bool a_IsFlying, float FlyingSpeed, float WalkingSpeed); + void HandlePlayerLook(float a_Rotation, float a_Pitch, bool a_IsOnGround); /** Verifies and sets player position, performing relevant checks. Calls relevant methods to process movement related statistics. @@ -376,12 +437,12 @@ public: // tolua_export void HandlePlayerMoveLook(Vector3d a_Pos, float a_Rotation, float a_Pitch, bool a_IsOnGround); - void HandlePluginMessage (const AString & a_Channel, ContiguousByteBufferView a_Message); - void HandleResourcePack (UInt8 a_Status); - void HandleRespawn (void); - void HandleRightClick (Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_Cursor, bool a_UsedMainHand); - void HandleSlotSelected (Int16 a_SlotNum); - void HandleSpectate (const cUUID & a_PlayerUUID); + void HandlePluginMessage(const AString & a_Channel, ContiguousByteBufferView a_Message); + void HandleResourcePack(UInt8 a_Status); + void HandleRespawn(void); + void HandleRightClick(Vector3i a_BlockPos, eBlockFace a_BlockFace, Vector3i a_Cursor, bool a_UsedMainHand); + void HandleSlotSelected(Int16 a_SlotNum); + void HandleSpectate(const cUUID & a_PlayerUUID); /** Handles a player sprinting or slowing back down. */ void HandleSprint(bool a_IsSprinting); @@ -389,21 +450,23 @@ public: // tolua_export /** Handles a player starting elytra flight while falling. */ void HandleStartElytraFlight(); - void HandleSteerVehicle (float Forward, float Sideways); - void HandleTabCompletion (const AString & a_Text); - void HandleUpdateSign ( + void HandleSteerVehicle(float Forward, float Sideways); + void HandleTabCompletion(const AString & a_Text); + void HandleUpdateSign( Vector3i a_BlockPos, - const AString & a_Line1, const AString & a_Line2, - const AString & a_Line3, const AString & a_Line4 + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 ); - void HandleUnmount (void); - void HandleUseEntity (UInt32 a_TargetEntityID, bool a_IsLeftClick); - void HandleUseItem (bool a_UsedMainHand); - void HandleWindowClick (UInt8 a_WindowID, Int16 a_SlotNum, eClickAction a_ClickAction, const cItem & a_HeldItem); - void HandleWindowClose (UInt8 a_WindowID); + void HandleUnmount(void); + void HandleUseEntity(UInt32 a_TargetEntityID, bool a_IsLeftClick); + void HandleUseItem(bool a_UsedMainHand); + void HandleWindowClick(UInt8 a_WindowID, Int16 a_SlotNum, eClickAction a_ClickAction, const cItem & a_HeldItem); + void HandleWindowClose(UInt8 a_WindowID); /** Called when a recipe from the recipe book is selected */ - void HandleCraftRecipe (UInt32 a_RecipeId); + void HandleCraftRecipe(UInt32 a_RecipeId); /** Called when the protocol has finished logging the user in. Return true to allow the user in; false to kick them. */ @@ -418,14 +481,14 @@ public: // tolua_export /** Called by the protocol recognizer when the protocol version is known. */ void SetProtocolVersion(UInt32 a_ProtocolVersion) { m_ProtocolVersion = a_ProtocolVersion; } - /** Returns the protocol version number of the protocol that the client is talking. Returns zero if the protocol version is not (yet) known. */ + /** Returns the protocol version number of the protocol that the client is talking. Returns zero if the protocol + * version is not (yet) known. */ UInt32 GetProtocolVersion(void) const { return m_ProtocolVersion; } // tolua_export bool IsPlayerChunkSent(); -private: - - friend class cForgeHandshake; // Needs access to FinishAuthenticate() + private: + friend class cForgeHandshake; // Needs access to FinishAuthenticate() /** The type used for storing the names of registered plugin channels. */ typedef std::set cChannels; @@ -448,10 +511,12 @@ private: AString m_Password; Json::Value m_Properties; - cCriticalSection m_CSChunkLists; + cCriticalSection m_CSChunkLists; std::unordered_set m_LoadedChunks; // Chunks that the player belongs to - std::unordered_set m_ChunksToSend; // Chunks that need to be sent to the player (queued because they weren't generated yet or there's not enough time to send them) - cChunkCoordsList m_SentChunks; // Chunks that are currently sent to the client + std::unordered_set + m_ChunksToSend; // Chunks that need to be sent to the player (queued because they weren't generated yet or + // there's not enough time to send them) + cChunkCoordsList m_SentChunks; // Chunks that are currently sent to the client cMultiVersionProtocol m_Protocol; @@ -471,16 +536,16 @@ private: /** A pointer to a World-owned player object, created in FinishAuthenticate when authentication succeeds. The player should only be accessed from the tick thread of the World that owns him. - After the player object is handed off to the World, its lifetime is managed automatically, and strongly owns this client handle. - The player self-destructs some time after the client handle enters the Destroyed state. - We are therefore guaranteed that while m_State < Destroyed, that is when when we need to access m_Player, m_Player is valid. */ + After the player object is handed off to the World, its lifetime is managed automatically, and strongly owns this + client handle. The player self-destructs some time after the client handle enters the Destroyed state. We are + therefore guaranteed that while m_State < Destroyed, that is when when we need to access m_Player, m_Player is + valid. */ cPlayer * m_Player; /** This is an optimization which saves you an iteration of m_SentChunks if you just want to know whether or not the player is standing at a sent chunk. - If this is equal to the coordinates of the chunk the player is currrently standing at, then this must be a sent chunk - and a member of m_SentChunks. - Otherwise, this contains an arbitrary value which should not be used. */ + If this is equal to the coordinates of the chunk the player is currrently standing at, then this must be a sent + chunk and a member of m_SentChunks. Otherwise, this contains an arbitrary value which should not be used. */ cChunkCoords m_CachedSentChunk; bool m_ProxyConnection; ///< True if player connected from a proxy (Bungee / Velocity) @@ -511,18 +576,20 @@ private: int m_BlockDigAnimSpeed; // Current speed of the animation (units ???) Vector3i m_BlockDigAnimPos; - // To avoid dig / aim bug in the client, store the last position given in a DIG_START packet and compare to that when processing the DIG_FINISH packet: + // To avoid dig / aim bug in the client, store the last position given in a DIG_START packet and compare to that + // when processing the DIG_FINISH packet: bool m_HasStartedDigging; Vector3i m_LastDigBlockPos; enum eState { - csConnected, ///< The client has just connected, waiting for their handshake / login - csAuthenticating, ///< The client has logged in, waiting for external authentication - csDownloadingWorld, ///< The client is waiting for chunks, we're waiting for the loader to provide and send them - csPlaying, ///< Normal gameplay - csDestroyed, ///< The client has been destroyed, the destructor is to be called from the owner thread - } ; + csConnected, ///< The client has just connected, waiting for their handshake / login + csAuthenticating, ///< The client has logged in, waiting for external authentication + csDownloadingWorld, ///< The client is waiting for chunks, we're waiting for the loader to provide and send + ///< them + csPlaying, ///< Normal gameplay + csDestroyed, ///< The client has been destroyed, the destructor is to be called from the owner thread + }; /* Mutex protecting m_State from concurrent writes. */ cCriticalSection m_CSState; @@ -530,8 +597,8 @@ private: /** The current (networking) state of the client. Protected from concurrent writes by m_CSState; but may be read by other threads concurrently. If a function depends on m_State or wants to change m_State, it needs to lock m_CSState. - However, if it only uses m_State for a quick bail out, or it doesn't break if the client disconnects in the middle of it, - it may just read m_State without locking m_CSState. */ + However, if it only uses m_State for a quick bail out, or it doesn't break if the client disconnects in the middle + of it, it may just read m_State without locking m_CSState. */ std::atomic m_State; /** Number of explosions sent this tick */ @@ -589,7 +656,7 @@ private: void StreamChunk(int a_ChunkX, int a_ChunkZ, cChunkSender::Priority a_Priority); /** Handles the DIG_STARTED dig packet: */ - void HandleBlockDigStarted (Vector3i a_BlockPos, eBlockFace a_BlockFace); + void HandleBlockDigStarted(Vector3i a_BlockPos, eBlockFace a_BlockFace); /** Handles the DIG_FINISHED dig packet: */ void HandleBlockDigFinished(Vector3i a_BlockPos, eBlockFace a_BlockFace); diff --git a/src/Color.cpp b/src/Color.cpp index bcaa3eff3..eeab3bdf0 100644 --- a/src/Color.cpp +++ b/src/Color.cpp @@ -6,10 +6,10 @@ -#define COLOR_RED_BITS 0x00FF0000 -#define COLOR_GREEN_BITS 0x0000FF00 -#define COLOR_BLUE_BITS 0x000000FF -#define COLOR_RED_OFFSET 16 +#define COLOR_RED_BITS 0x00FF0000 +#define COLOR_GREEN_BITS 0x0000FF00 +#define COLOR_BLUE_BITS 0x000000FF +#define COLOR_RED_OFFSET 16 #define COLOR_GREEN_OFFSET 8 @@ -18,7 +18,8 @@ void cColor::SetColor(unsigned char a_Red, unsigned char a_Green, unsigned char a_Blue) { - m_Color = (static_cast(a_Red) << COLOR_RED_OFFSET) + (static_cast(a_Green) << COLOR_GREEN_OFFSET) + (static_cast(a_Blue)); + m_Color = (static_cast(a_Red) << COLOR_RED_OFFSET) + + (static_cast(a_Green) << COLOR_GREEN_OFFSET) + (static_cast(a_Blue)); } @@ -36,7 +37,8 @@ void cColor::SetRed(unsigned char a_Red) void cColor::SetGreen(unsigned char a_Green) { - m_Color = (static_cast(a_Green) << COLOR_GREEN_OFFSET) + ((COLOR_RED_BITS | COLOR_BLUE_BITS) & m_Color); + m_Color = + (static_cast(a_Green) << COLOR_GREEN_OFFSET) + ((COLOR_RED_BITS | COLOR_BLUE_BITS) & m_Color); } diff --git a/src/Color.h b/src/Color.h index 059729bcf..5b5702efe 100644 --- a/src/Color.h +++ b/src/Color.h @@ -12,8 +12,7 @@ // tolua_begin class cColor { -public: - + public: enum eColorLimits : unsigned int { COLOR_MIN = 0, @@ -21,7 +20,7 @@ public: COLOR_LIMIT = 256, COLOR_NONE = 0xFFFFFFFF, }; - cColor() { m_Color = static_cast(COLOR_NONE);} + cColor() { m_Color = static_cast(COLOR_NONE); } cColor(unsigned char a_Red, unsigned char a_Green, unsigned char a_Blue) { SetColor(a_Red, a_Green, a_Blue); } /** Returns whether the color is a valid color */ diff --git a/src/CommandOutput.cpp b/src/CommandOutput.cpp index 0bd549fb0..4bc81bac2 100644 --- a/src/CommandOutput.cpp +++ b/src/CommandOutput.cpp @@ -50,7 +50,3 @@ void cLogCommandOutputCallback::Finished() // Clear the buffer for the next command output: m_Accum.clear(); } - - - - diff --git a/src/CommandOutput.h b/src/CommandOutput.h index 6ee859970..ab848aa76 100644 --- a/src/CommandOutput.h +++ b/src/CommandOutput.h @@ -14,7 +14,7 @@ The Out() function is called for any output the command has produced. Descendants override that function to provide specific processing of the output. */ class cCommandOutputCallback { -public: + public: virtual ~cCommandOutputCallback() {} // Force a virtual destructor in subclasses /** Called when the command wants to output anything; may be called multiple times */ @@ -29,15 +29,14 @@ public: /** Called when the command processing has been finished */ virtual void Finished() {} -} ; +}; /** Class that discards all command output */ -class cNullCommandOutputCallback : - public cCommandOutputCallback +class cNullCommandOutputCallback : public cCommandOutputCallback { // cCommandOutputCallback overrides: virtual void Out(const AString & a_Text) override @@ -45,20 +44,18 @@ class cNullCommandOutputCallback : // Do nothing UNUSED(a_Text); } -} ; +}; /** Accumulates all command output into a string. */ -class cStringAccumCommandOutputCallback: - public cCommandOutputCallback +class cStringAccumCommandOutputCallback : public cCommandOutputCallback { using Super = cCommandOutputCallback; -public: - + public: // cCommandOutputCallback overrides: virtual void Out(const AString & a_Text) override; virtual void Finished() override {} @@ -66,31 +63,29 @@ public: /** Returns the accumulated command output in a string. */ const AString & GetAccum() const { return m_Accum; } -protected: + protected: /** Output is stored here until the command finishes processing */ AString m_Accum; -} ; +}; /** Sends all command output to a log, line by line, when the command finishes processing */ -class cLogCommandOutputCallback : - public cStringAccumCommandOutputCallback +class cLogCommandOutputCallback : public cStringAccumCommandOutputCallback { -public: + public: // cStringAccumCommandOutputCallback overrides: virtual void Finished() override; -} ; +}; /** Sends all command output to a log, line by line; deletes self when command finishes processing */ -class cLogCommandDeleteSelfOutputCallback: - public cLogCommandOutputCallback +class cLogCommandDeleteSelfOutputCallback : public cLogCommandOutputCallback { using Super = cLogCommandOutputCallback; @@ -99,8 +94,4 @@ class cLogCommandDeleteSelfOutputCallback: Super::Finished(); delete this; } -} ; - - - - +}; diff --git a/src/CompositeChat.cpp b/src/CompositeChat.cpp index 94ed78197..3a676c23b 100644 --- a/src/CompositeChat.cpp +++ b/src/CompositeChat.cpp @@ -45,16 +45,20 @@ void cCompositeChat::Clear(void) void cCompositeChat::AddTextPart(const AString & a_Message, const AString & a_Style) { - m_Parts.push_back(TextPart{{ a_Message, a_Style, {} } }); + m_Parts.push_back(TextPart {{a_Message, a_Style, {}}}); } -void cCompositeChat::AddClientTranslatedPart(const AString & a_TranslationID, const AStringVector & a_Parameters, const AString & a_Style) +void cCompositeChat::AddClientTranslatedPart( + const AString & a_TranslationID, + const AStringVector & a_Parameters, + const AString & a_Style +) { - m_Parts.push_back(ClientTranslatedPart{{ a_TranslationID, a_Style, {} }, a_Parameters }); + m_Parts.push_back(ClientTranslatedPart {{a_TranslationID, a_Style, {}}, a_Parameters}); } @@ -63,7 +67,7 @@ void cCompositeChat::AddClientTranslatedPart(const AString & a_TranslationID, co void cCompositeChat::AddUrlPart(const AString & a_Text, const AString & a_Url, const AString & a_Style) { - m_Parts.push_back(UrlPart{{ a_Text, a_Style, {} }, a_Url }); + m_Parts.push_back(UrlPart {{a_Text, a_Style, {}}, a_Url}); } @@ -72,38 +76,46 @@ void cCompositeChat::AddUrlPart(const AString & a_Text, const AString & a_Url, c void cCompositeChat::AddRunCommandPart(const AString & a_Text, const AString & a_Command, const AString & a_Style) { - m_Parts.push_back(RunCommandPart{{{ a_Text, a_Style, {} }, a_Command } }); + m_Parts.push_back(RunCommandPart {{{a_Text, a_Style, {}}, a_Command}}); } -void cCompositeChat::AddSuggestCommandPart(const AString & a_Text, const AString & a_SuggestedCommand, const AString & a_Style) +void cCompositeChat::AddSuggestCommandPart( + const AString & a_Text, + const AString & a_SuggestedCommand, + const AString & a_Style +) { - m_Parts.push_back(SuggestCommandPart{{{ a_Text, a_Style, {} }, a_SuggestedCommand } }); + m_Parts.push_back(SuggestCommandPart {{{a_Text, a_Style, {}}, a_SuggestedCommand}}); } -void cCompositeChat::AddShowAchievementPart(const AString & a_PlayerName, const AString & a_Achievement, const AString & a_Style) +void cCompositeChat::AddShowAchievementPart( + const AString & a_PlayerName, + const AString & a_Achievement, + const AString & a_Style +) { - m_Parts.push_back(ShowAchievementPart{{ a_Achievement, a_Style, {} }, a_PlayerName }); + m_Parts.push_back(ShowAchievementPart {{a_Achievement, a_Style, {}}, a_PlayerName}); } /** -* Parse the input message to add colors or link then add it to the object. -* -* It detects every & of the message and the next character for it to colorize. -* It detect : in the text to detect link structures. -* -* @param a_ParseText The input text to parse -*/ + * Parse the input message to add colors or link then add it to the object. + * + * It detects every & of the message and the next character for it to colorize. + * It detect : in the text to detect link structures. + * + * @param a_ParseText The input text to parse + */ void cCompositeChat::ParseText(const AString & a_ParseText) { size_t len = a_ParseText.length(); @@ -117,7 +129,7 @@ void cCompositeChat::ParseText(const AString & a_ParseText) { case '&': //< Color code { - if ((i != 0) && (a_ParseText[i-1] == '\\')) + if ((i != 0) && (a_ParseText[i - 1] == '\\')) { CurrentText.append(a_ParseText, cursor, i - cursor - 1).append("&"); AddTextPart(CurrentText, CurrentStyle); @@ -148,26 +160,20 @@ void cCompositeChat::ParseText(const AString & a_ParseText) case ':': { - static const constexpr std::array LinkPrefixes = - { - { - "http", - "https" - } - }; + static const constexpr std::array LinkPrefixes = {{"http", "https"}}; for (const auto & Prefix : LinkPrefixes) { size_t PrefixLen = Prefix.size(); - if ( - (i >= cursor + PrefixLen) && // There is enough space in front of the colon for the prefix - (std::string_view(a_ParseText).substr(i - PrefixLen, PrefixLen) == Prefix) // the prefix matches + if ((i >= cursor + PrefixLen) && // There is enough space in front of the colon for the prefix + (std::string_view(a_ParseText).substr(i - PrefixLen, PrefixLen) == Prefix + ) // the prefix matches ) { // Add everything before this as a text part: - if (i > cursor+ PrefixLen) + if (i > cursor + PrefixLen) { CurrentText.append(a_ParseText.c_str() + cursor, i - cursor - PrefixLen); - cursor= i - PrefixLen; + cursor = i - PrefixLen; } if (!CurrentText.empty()) { @@ -183,7 +189,11 @@ void cCompositeChat::ParseText(const AString & a_ParseText) break; } } - AddUrlPart(a_ParseText.substr(cursor, i - cursor), a_ParseText.substr(cursor, i - cursor), CurrentStyle); + AddUrlPart( + a_ParseText.substr(cursor, i - cursor), + a_ParseText.substr(cursor, i - cursor), + CurrentStyle + ); cursor = i; break; } @@ -218,15 +228,17 @@ void cCompositeChat::UnderlineUrls(void) { for (auto & Part : m_Parts) { - std::visit(OverloadedVariantAccess - { - [](TextPart & a_Part) { }, - [](ClientTranslatedPart & a_Part) { }, - [](UrlPart & a_Part) { a_Part.Style += 'n'; }, - [](RunCommandPart & a_Part) { }, - [](SuggestCommandPart & a_Part) { }, - [](ShowAchievementPart & a_Part) { }, - }, Part); + std::visit( + OverloadedVariantAccess { + [](TextPart & a_Part) {}, + [](ClientTranslatedPart & a_Part) {}, + [](UrlPart & a_Part) { a_Part.Style += 'n'; }, + [](RunCommandPart & a_Part) {}, + [](SuggestCommandPart & a_Part) {}, + [](ShowAchievementPart & a_Part) {}, + }, + Part + ); } } @@ -239,15 +251,17 @@ AString cCompositeChat::ExtractText(void) const AString Msg; for (const auto & Part : m_Parts) { - std::visit(OverloadedVariantAccess - { - [&Msg](const TextPart & a_Part) { Msg.append(a_Part.Text); }, - [&Msg](const ClientTranslatedPart & a_Part) { Msg.append(a_Part.Text); }, - [&Msg](const UrlPart & a_Part) { Msg.append(a_Part.Url); }, - [&Msg](const RunCommandPart & a_Part) { Msg.append(a_Part.Text); }, - [&Msg](const SuggestCommandPart & a_Part) { Msg.append(a_Part.Text); }, - [ ](const ShowAchievementPart & a_Part) { }, - }, Part); + std::visit( + OverloadedVariantAccess { + [&Msg](const TextPart & a_Part) { Msg.append(a_Part.Text); }, + [&Msg](const ClientTranslatedPart & a_Part) { Msg.append(a_Part.Text); }, + [&Msg](const UrlPart & a_Part) { Msg.append(a_Part.Url); }, + [&Msg](const RunCommandPart & a_Part) { Msg.append(a_Part.Text); }, + [&Msg](const SuggestCommandPart & a_Part) { Msg.append(a_Part.Text); }, + [](const ShowAchievementPart & a_Part) {}, + }, + Part + ); } return Msg; } @@ -270,7 +284,7 @@ eLogLevel cCompositeChat::MessageTypeToLogLevel(eMessageType a_MessageType) case mtPrivateMessage: return eLogLevel::Regular; case mtJoin: return eLogLevel::Regular; case mtLeave: return eLogLevel::Regular; - case mtMaxPlusOne: break; + case mtMaxPlusOne: break; } ASSERT(!"Unhandled MessageType"); return eLogLevel::Error; @@ -283,95 +297,101 @@ eLogLevel cCompositeChat::MessageTypeToLogLevel(eMessageType a_MessageType) AString cCompositeChat::CreateJsonString(bool a_ShouldUseChatPrefixes) const { Json::Value Message; - Message["text"] = cClientHandle::FormatMessageType(a_ShouldUseChatPrefixes, GetMessageType(), GetAdditionalMessageTypeData()); // The client crashes without this field being present + Message["text"] = cClientHandle::FormatMessageType( + a_ShouldUseChatPrefixes, + GetMessageType(), + GetAdditionalMessageTypeData() + ); // The client crashes without this field being present for (const auto & Part : m_Parts) { Json::Value JsonPart; - std::visit(OverloadedVariantAccess - { - [this, &JsonPart](const TextPart & a_Part) - { - JsonPart["text"] = a_Part.Text; - AddChatPartStyle(JsonPart, a_Part.Style); - }, - [this, &JsonPart](const ClientTranslatedPart & a_Part) - { - JsonPart["translate"] = a_Part.Text; - Json::Value With; - for (const auto & Parameter : a_Part.Parameters) + std::visit( + OverloadedVariantAccess { + [this, &JsonPart](const TextPart & a_Part) { - With.append(Parameter); - } - if (!a_Part.Parameters.empty()) + JsonPart["text"] = a_Part.Text; + AddChatPartStyle(JsonPart, a_Part.Style); + }, + [this, &JsonPart](const ClientTranslatedPart & a_Part) { - JsonPart["with"] = With; - } - AddChatPartStyle(JsonPart, a_Part.Style); - }, - [this, &JsonPart](const UrlPart & a_Part) - { - JsonPart["text"] = a_Part.Text; - Json::Value Url; - Url["action"] = "open_url"; - Url["value"] = a_Part.Url; - JsonPart["clickEvent"] = Url; - AddChatPartStyle(JsonPart, a_Part.Style); - }, - [this, &JsonPart](const RunCommandPart & a_Part) - { - JsonPart["text"] = a_Part.Text; - Json::Value Cmd; - Cmd["action"] = "run_command"; - Cmd["value"] = a_Part.Command; - JsonPart["clickEvent"] = Cmd; - AddChatPartStyle(JsonPart, a_Part.Style); - }, - [this, &JsonPart](const SuggestCommandPart & a_Part) - { - JsonPart["text"] = a_Part.Text; - Json::Value Cmd; - Cmd["action"] = "suggest_command"; - Cmd["value"] = a_Part.Command; - JsonPart["clickEvent"] = Cmd; - AddChatPartStyle(JsonPart, a_Part.Style); - }, - [this, &JsonPart](const ShowAchievementPart & a_Part) - { - JsonPart["translate"] = "chat.type.achievement"; + JsonPart["translate"] = a_Part.Text; + Json::Value With; + for (const auto & Parameter : a_Part.Parameters) + { + With.append(Parameter); + } + if (!a_Part.Parameters.empty()) + { + JsonPart["with"] = With; + } + AddChatPartStyle(JsonPart, a_Part.Style); + }, + [this, &JsonPart](const UrlPart & a_Part) + { + JsonPart["text"] = a_Part.Text; + Json::Value Url; + Url["action"] = "open_url"; + Url["value"] = a_Part.Url; + JsonPart["clickEvent"] = Url; + AddChatPartStyle(JsonPart, a_Part.Style); + }, + [this, &JsonPart](const RunCommandPart & a_Part) + { + JsonPart["text"] = a_Part.Text; + Json::Value Cmd; + Cmd["action"] = "run_command"; + Cmd["value"] = a_Part.Command; + JsonPart["clickEvent"] = Cmd; + AddChatPartStyle(JsonPart, a_Part.Style); + }, + [this, &JsonPart](const SuggestCommandPart & a_Part) + { + JsonPart["text"] = a_Part.Text; + Json::Value Cmd; + Cmd["action"] = "suggest_command"; + Cmd["value"] = a_Part.Command; + JsonPart["clickEvent"] = Cmd; + AddChatPartStyle(JsonPart, a_Part.Style); + }, + [this, &JsonPart](const ShowAchievementPart & a_Part) + { + JsonPart["translate"] = "chat.type.achievement"; - Json::Value Ach; - Ach["action"] = "show_achievement"; - Ach["value"] = a_Part.Text; + Json::Value Ach; + Ach["action"] = "show_achievement"; + Ach["value"] = a_Part.Text; - Json::Value AchColourAndName; - AchColourAndName["color"] = "green"; - AchColourAndName["translate"] = a_Part.Text; - AchColourAndName["hoverEvent"] = Ach; + Json::Value AchColourAndName; + AchColourAndName["color"] = "green"; + AchColourAndName["translate"] = a_Part.Text; + AchColourAndName["hoverEvent"] = Ach; - Json::Value Extra; - Extra.append(AchColourAndName); + Json::Value Extra; + Extra.append(AchColourAndName); - Json::Value Name; - Name["text"] = a_Part.PlayerName; + Json::Value Name; + Name["text"] = a_Part.PlayerName; - Json::Value With; - With.append(Name); - With.append(Extra); + Json::Value With; + With.append(Name); + With.append(Extra); - JsonPart["with"] = With; - AddChatPartStyle(JsonPart, a_Part.Style); + JsonPart["with"] = With; + AddChatPartStyle(JsonPart, a_Part.Style); + }, }, - }, Part); + Part + ); Message["extra"].append(JsonPart); } // for itr - Parts[] - #if 1 - // Serialize as machine-readable string (no whitespace): - return JsonUtils::WriteFastString(Message); - #else - // Serialize as human-readable string (pretty-printed): - return JsonUtils::WriteStyledString(msg); - #endif +#if 1 + // Serialize as machine-readable string (no whitespace): + return JsonUtils::WriteFastString(Message); +#else + // Serialize as human-readable string (pretty-printed): + return JsonUtils::WriteStyledString(msg); +#endif } diff --git a/src/CompositeChat.h b/src/CompositeChat.h index 4150bccc4..216f49af8 100644 --- a/src/CompositeChat.h +++ b/src/CompositeChat.h @@ -32,7 +32,7 @@ If the protocol version doesn't support all the features, it degrades gracefully */ class cCompositeChat { -public: + public: // tolua_end @@ -41,60 +41,53 @@ public: AString Text; AString Style; AString AdditionalStyleData; - } ; + }; - struct TextPart: - public BasePart + struct TextPart : public BasePart { - } ; + }; - struct ClientTranslatedPart: - public BasePart + struct ClientTranslatedPart : public BasePart { AStringVector Parameters; - } ; + }; - struct UrlPart: - public BasePart + struct UrlPart : public BasePart { AString Url; - } ; + }; - struct CommandPart: - public BasePart + struct CommandPart : public BasePart { AString Command; - } ; + }; - struct RunCommandPart: - public CommandPart + struct RunCommandPart : public CommandPart { - } ; + }; - struct SuggestCommandPart: - public CommandPart + struct SuggestCommandPart : public CommandPart { - } ; + }; - struct ShowAchievementPart: - public BasePart + struct ShowAchievementPart : public BasePart { AString PlayerName; - } ; + }; @@ -118,7 +111,11 @@ public: void AddTextPart(const AString & a_Message, const AString & a_Style = ""); /** Adds a part that is translated client-side, with the formatting parameters and optional style. */ - void AddClientTranslatedPart(const AString & a_TranslationID, const AStringVector & a_Parameters, const AString & a_Style = ""); + void AddClientTranslatedPart( + const AString & a_TranslationID, + const AStringVector & a_Parameters, + const AString & a_Style = "" + ); /** Adds a part that opens an URL when clicked. The default style is underlined light blue text. */ @@ -130,12 +127,20 @@ public: /** Adds a part that suggests a command (enters it into the chat message area, but doesn't send) when clicked. The default style is underlined yellow text. */ - void AddSuggestCommandPart(const AString & a_Text, const AString & a_SuggestedCommand, const AString & a_Style = "nb"); + void AddSuggestCommandPart( + const AString & a_Text, + const AString & a_SuggestedCommand, + const AString & a_Style = "nb" + ); /** Adds a part that fully formats a specified achievement using client translatable strings Takes achievement name and player awarded to. Displays as {player} has earned the achievement {achievement_name}. */ - void AddShowAchievementPart(const AString & a_PlayerName, const AString & a_Achievement, const AString & a_Style = ""); + void AddShowAchievementPart( + const AString & a_PlayerName, + const AString & a_Achievement, + const AString & a_Style = "" + ); /** Parses text into various parts, adds those. Recognizes "http:" and "https:" URLs and &color-codes. */ @@ -145,8 +150,8 @@ public: void UnderlineUrls(void); /** Sets the message type, which is indicated by prefixes added to the message when serializing - Takes optional AdditionalMessageTypeData to set m_AdditionalMessageTypeData. See said variable for more documentation. - Exported manually, because ToLua++ would generate extra return values. */ + Takes optional AdditionalMessageTypeData to set m_AdditionalMessageTypeData. See said variable for more + documentation. Exported manually, because ToLua++ would generate extra return values. */ void SetMessageType(eMessageType a_MessageType, const AString & a_AdditionalMessageTypeData = ""); // tolua_begin @@ -175,10 +180,11 @@ public: /** Adds the chat part's style (represented by the part's stylestring) into the Json object. */ void AddChatPartStyle(Json::Value & a_Value, const AString & a_PartStyle) const; -protected: - + protected: /** All the parts that */ - std::vector> m_Parts; + std::vector< + std::variant> + m_Parts; /** The message type, as indicated by prefixes. */ eMessageType m_MessageType; @@ -186,4 +192,4 @@ protected: /** Additional data pertaining to message type, for example, the name of a mtPrivateMsg sender */ AString m_AdditionalMessageTypeData; -} ; // tolua_export +}; // tolua_export diff --git a/src/CraftingRecipes.cpp b/src/CraftingRecipes.cpp index bc1df4812..549fe2821 100644 --- a/src/CraftingRecipes.cpp +++ b/src/CraftingRecipes.cpp @@ -16,9 +16,7 @@ // cCraftingGrid: cCraftingGrid::cCraftingGrid(int a_Width, int a_Height) : - m_Width(a_Width), - m_Height(a_Height), - m_Items(new cItem[ToUnsigned(a_Width * a_Height)]) + m_Width(a_Width), m_Height(a_Height), m_Items(new cItem[ToUnsigned(a_Width * a_Height)]) { } @@ -67,8 +65,12 @@ cItem & cCraftingGrid::GetItem(int x, int y) const // Accessible through scripting, must verify parameters: if ((x < 0) || (x >= m_Width) || (y < 0) || (y >= m_Height)) { - LOGERROR("Attempted to get an invalid item from a crafting grid: (%d, %d), grid dimensions: (%d, %d).", - x, y, m_Width, m_Height + LOGERROR( + "Attempted to get an invalid item from a crafting grid: (%d, %d), grid dimensions: (%d, %d).", + x, + y, + m_Width, + m_Height ); return m_Items[0]; } @@ -84,8 +86,12 @@ void cCraftingGrid::SetItem(int x, int y, ENUM_ITEM_TYPE a_ItemType, char a_Item // Accessible through scripting, must verify parameters: if ((x < 0) || (x >= m_Width) || (y < 0) || (y >= m_Height)) { - LOGERROR("Attempted to set an invalid item in a crafting grid: (%d, %d), grid dimensions: (%d, %d).", - x, y, m_Width, m_Height + LOGERROR( + "Attempted to set an invalid item in a crafting grid: (%d, %d), grid dimensions: (%d, %d).", + x, + y, + m_Width, + m_Height ); return; } @@ -102,8 +108,12 @@ void cCraftingGrid::SetItem(int x, int y, const cItem & a_Item) // Accessible through scripting, must verify parameters: if ((x < 0) || (x >= m_Width) || (y < 0) || (y >= m_Height)) { - LOGERROR("Attempted to set an invalid item in a crafting grid: (%d, %d), grid dimensions: (%d, %d).", - x, y, m_Width, m_Height + LOGERROR( + "Attempted to set an invalid item in a crafting grid: (%d, %d), grid dimensions: (%d, %d).", + x, + y, + m_Width, + m_Height ); return; } @@ -117,10 +127,11 @@ void cCraftingGrid::SetItem(int x, int y, const cItem & a_Item) void cCraftingGrid::Clear(void) { - for (int y = 0; y < m_Height; y++) for (int x = 0; x < m_Width; x++) - { - m_Items[x + m_Width * y].Empty(); - } + for (int y = 0; y < m_Height; y++) + for (int x = 0; x < m_Width; x++) + { + m_Items[x + m_Width * y].Empty(); + } } @@ -131,49 +142,66 @@ void cCraftingGrid::ConsumeGrid(const cCraftingGrid & a_Grid) { if ((a_Grid.m_Width != m_Width) || (a_Grid.m_Height != m_Height)) { - LOGWARNING("Consuming a grid of different dimensions: (%d, %d) vs (%d, %d)", - a_Grid.m_Width, a_Grid.m_Height, m_Width, m_Height + LOGWARNING( + "Consuming a grid of different dimensions: (%d, %d) vs (%d, %d)", + a_Grid.m_Width, + a_Grid.m_Height, + m_Width, + m_Height ); } - int MinX = std::min(a_Grid.m_Width, m_Width); + int MinX = std::min(a_Grid.m_Width, m_Width); int MinY = std::min(a_Grid.m_Height, m_Height); - for (int y = 0; y < MinY; y++) for (int x = 0; x < MinX; x++) - { - int ThatIdx = x + a_Grid.m_Width * y; - if (a_Grid.m_Items[ThatIdx].IsEmpty()) + for (int y = 0; y < MinY; y++) + for (int x = 0; x < MinX; x++) { - continue; - } - int ThisIdx = x + m_Width * y; - if (a_Grid.m_Items[ThatIdx].m_ItemType != m_Items[ThisIdx].m_ItemType) - { - LOGWARNING("Consuming incompatible grids: item at (%d, %d) is %d in grid and %d in ingredients. Item not consumed.", - x, y, m_Items[ThisIdx].m_ItemType, a_Grid.m_Items[ThatIdx].m_ItemType - ); - continue; - } - char NumWantedItems = a_Grid.m_Items[ThatIdx].m_ItemCount; - if (NumWantedItems > m_Items[ThisIdx].m_ItemCount) - { - LOGWARNING("Consuming more items than there actually are in slot (%d, %d), item %d (want %d, have %d). Item zeroed out.", - x, y, m_Items[ThisIdx].m_ItemType, - NumWantedItems, m_Items[ThisIdx].m_ItemCount - ); - NumWantedItems = m_Items[ThisIdx].m_ItemCount; - } - m_Items[ThisIdx].m_ItemCount -= NumWantedItems; - if (m_Items[ThisIdx].m_ItemCount == 0) - { - if ((m_Items[ThisIdx].m_ItemType == E_ITEM_MILK) || (m_Items[ThisIdx].m_ItemType == E_ITEM_WATER_BUCKET) || (m_Items[ThisIdx].m_ItemType == E_ITEM_LAVA_BUCKET)) + int ThatIdx = x + a_Grid.m_Width * y; + if (a_Grid.m_Items[ThatIdx].IsEmpty()) { - m_Items[ThisIdx] = cItem(E_ITEM_BUCKET); + continue; } - else + int ThisIdx = x + m_Width * y; + if (a_Grid.m_Items[ThatIdx].m_ItemType != m_Items[ThisIdx].m_ItemType) { - m_Items[ThisIdx].Clear(); + LOGWARNING( + "Consuming incompatible grids: item at (%d, %d) is %d in grid and %d in ingredients. Item not " + "consumed.", + x, + y, + m_Items[ThisIdx].m_ItemType, + a_Grid.m_Items[ThatIdx].m_ItemType + ); + continue; } - } - } // for x, for y + char NumWantedItems = a_Grid.m_Items[ThatIdx].m_ItemCount; + if (NumWantedItems > m_Items[ThisIdx].m_ItemCount) + { + LOGWARNING( + "Consuming more items than there actually are in slot (%d, %d), item %d (want %d, have %d). Item " + "zeroed out.", + x, + y, + m_Items[ThisIdx].m_ItemType, + NumWantedItems, + m_Items[ThisIdx].m_ItemCount + ); + NumWantedItems = m_Items[ThisIdx].m_ItemCount; + } + m_Items[ThisIdx].m_ItemCount -= NumWantedItems; + if (m_Items[ThisIdx].m_ItemCount == 0) + { + if ((m_Items[ThisIdx].m_ItemType == E_ITEM_MILK) || + (m_Items[ThisIdx].m_ItemType == E_ITEM_WATER_BUCKET) || + (m_Items[ThisIdx].m_ItemType == E_ITEM_LAVA_BUCKET)) + { + m_Items[ThisIdx] = cItem(E_ITEM_BUCKET); + } + else + { + m_Items[ThisIdx].Clear(); + } + } + } // for x, for y } @@ -194,13 +222,19 @@ void cCraftingGrid::CopyToItems(cItem * a_Items) const void cCraftingGrid::Dump(void) { - for (int y = 0; y < m_Height; y++) for (int x = 0; x < m_Width; x++) - { - [[maybe_unused]] const int idx = x + m_Width * y; - LOGD("Slot (%d, %d): Type %d, health %d, count %d", - x, y, m_Items[idx].m_ItemType, m_Items[idx].m_ItemDamage, m_Items[idx].m_ItemCount - ); - } + for (int y = 0; y < m_Height; y++) + for (int x = 0; x < m_Width; x++) + { + [[maybe_unused]] const int idx = x + m_Width * y; + LOGD( + "Slot (%d, %d): Type %d, health %d, count %d", + x, + y, + m_Items[idx].m_ItemType, + m_Items[idx].m_ItemDamage, + m_Items[idx].m_ItemCount + ); + } } @@ -251,9 +285,7 @@ void cCraftingRecipe::Dump(void) { LOGD("Recipe ingredients:"); m_Ingredients.Dump(); - LOGD("Result: Type %d, health %d, count %d", - m_Result.m_ItemType, m_Result.m_ItemDamage, m_Result.m_ItemCount - ); + LOGD("Result: Type %d, health %d, count %d", m_Result.m_ItemType, m_Result.m_ItemDamage, m_Result.m_ItemCount); } @@ -282,18 +314,17 @@ cCraftingRecipes::~cCraftingRecipes() -bool cCraftingRecipes::IsNewCraftableRecipe(const cRecipe * a_Recipe, const cItem & a_Item, const std::set & a_KnownItems) +bool cCraftingRecipes::IsNewCraftableRecipe( + const cRecipe * a_Recipe, + const cItem & a_Item, + const std::set & a_KnownItems +) { bool ContainsNewItem = false; for (const auto & Ingredient : a_Recipe->m_Ingredients) { - if ( - (Ingredient.m_Item.m_ItemType == a_Item.m_ItemType) && - ( - (Ingredient.m_Item.m_ItemDamage == a_Item.m_ItemDamage) || - (Ingredient.m_Item.m_ItemDamage == -1) - ) - ) + if ((Ingredient.m_Item.m_ItemType == a_Item.m_ItemType) && + ((Ingredient.m_Item.m_ItemDamage == a_Item.m_ItemDamage) || (Ingredient.m_Item.m_ItemDamage == -1))) { ContainsNewItem = true; } @@ -309,7 +340,10 @@ bool cCraftingRecipes::IsNewCraftableRecipe(const cRecipe * a_Recipe, const cIte -std::vector cCraftingRecipes::FindNewRecipesForItem(const cItem & a_Item, const std::set & a_KnownItems) +std::vector cCraftingRecipes::FindNewRecipesForItem( + const cItem & a_Item, + const std::set & a_KnownItems +) { std::vector Recipes; for (UInt32 i = 0; i < m_Recipes.size(); i++) @@ -357,7 +391,9 @@ void cCraftingRecipes::GetRecipe(cPlayer & a_Player, cCraftingGrid & a_CraftingG } // Built-in recipes: - std::unique_ptr Recipe(FindRecipe(a_CraftingGrid.GetItems(), a_CraftingGrid.GetWidth(), a_CraftingGrid.GetHeight())); + std::unique_ptr Recipe( + FindRecipe(a_CraftingGrid.GetItems(), a_CraftingGrid.GetWidth(), a_CraftingGrid.GetHeight()) + ); a_Recipe.Clear(); if (Recipe.get() == nullptr) { @@ -598,9 +634,9 @@ bool cCraftingRecipes::ParseIngredient(const AString & a_String, cRecipe * a_Rec Slot.m_Item = Item; switch (Coords[0][0]) { - case '1': Slot.x = 0; break; - case '2': Slot.x = 1; break; - case '3': Slot.x = 2; break; + case '1': Slot.x = 0; break; + case '2': Slot.x = 1; break; + case '3': Slot.x = 2; break; case '*': Slot.x = -1; break; default: { @@ -609,9 +645,9 @@ bool cCraftingRecipes::ParseIngredient(const AString & a_String, cRecipe * a_Rec } switch (Coords[1][0]) { - case '1': Slot.y = 0; break; - case '2': Slot.y = 1; break; - case '3': Slot.y = 2; break; + case '1': Slot.y = 0; break; + case '2': Slot.y = 1; break; + case '3': Slot.y = 2; break; case '*': Slot.y = -1; break; default: { @@ -635,7 +671,8 @@ void cCraftingRecipes::NormalizeIngredients(cCraftingRecipes::cRecipe * a_Recipe // Calculate the minimum coords for ingredients, excluding the "anywhere" items: int MinX = MAX_GRID_WIDTH, MaxX = 0; int MinY = MAX_GRID_HEIGHT, MaxY = 0; - for (cRecipeSlots::const_iterator itr = a_Recipe->m_Ingredients.begin(); itr != a_Recipe->m_Ingredients.end(); ++itr) + for (cRecipeSlots::const_iterator itr = a_Recipe->m_Ingredients.begin(); itr != a_Recipe->m_Ingredients.end(); + ++itr) { if (itr->x >= 0) { @@ -661,7 +698,7 @@ void cCraftingRecipes::NormalizeIngredients(cCraftingRecipes::cRecipe * a_Recipe itr->y -= MinY; } } // for itr - a_Recipe->m_Ingredients[] - a_Recipe->m_Width = std::max(MaxX - MinX + 1, 1); + a_Recipe->m_Width = std::max(MaxX - MinX + 1, 1); a_Recipe->m_Height = std::max(MaxY - MinY + 1, 1); // TODO: Compress two same ingredients with the same coords into a single ingredient with increased item count @@ -671,24 +708,29 @@ void cCraftingRecipes::NormalizeIngredients(cCraftingRecipes::cRecipe * a_Recipe -cCraftingRecipes::cRecipe * cCraftingRecipes::FindRecipe(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight) +cCraftingRecipes::cRecipe * cCraftingRecipes::FindRecipe( + const cItem * a_CraftingGrid, + int a_GridWidth, + int a_GridHeight +) { ASSERT(a_GridWidth <= MAX_GRID_WIDTH); ASSERT(a_GridHeight <= MAX_GRID_HEIGHT); // Get the real bounds of the crafting grid: int GridLeft = MAX_GRID_WIDTH, GridTop = MAX_GRID_HEIGHT; - int GridRight = 0, GridBottom = 0; - for (int y = 0; y < a_GridHeight; y++) for (int x = 0; x < a_GridWidth; x++) - { - if (!a_CraftingGrid[x + y * a_GridWidth].IsEmpty()) + int GridRight = 0, GridBottom = 0; + for (int y = 0; y < a_GridHeight; y++) + for (int x = 0; x < a_GridWidth; x++) { - GridRight = std::max(x, GridRight); - GridBottom = std::max(y, GridBottom); - GridLeft = std::min(x, GridLeft); - GridTop = std::min(y, GridTop); + if (!a_CraftingGrid[x + y * a_GridWidth].IsEmpty()) + { + GridRight = std::max(x, GridRight); + GridBottom = std::max(y, GridBottom); + GridLeft = std::min(x, GridLeft); + GridTop = std::min(y, GridTop); + } } - } int GridWidth = GridRight - GridLeft + 1; int GridHeight = GridBottom - GridTop + 1; @@ -714,26 +756,33 @@ cCraftingRecipes::cRecipe * cCraftingRecipes::FindRecipe(const cItem * a_Craftin -cCraftingRecipes::cRecipe * cCraftingRecipes::FindRecipeCropped(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight, int a_GridStride) +cCraftingRecipes::cRecipe * cCraftingRecipes::FindRecipeCropped( + const cItem * a_CraftingGrid, + int a_GridWidth, + int a_GridHeight, + int a_GridStride +) { for (cRecipes::const_iterator itr = m_Recipes.begin(); itr != m_Recipes.end(); ++itr) { // Both the crafting grid and the recipes are normalized. The only variable possible is the "anywhere" items. - // This still means that the "anywhere" item may be the one that is offsetting the grid contents to the right or downwards, so we need to check all possible positions. - // E. g. recipe "A, * | B, 1:1 | ..." still needs to check grid for B at 2:2 (in case A was in grid's 1:1) - // Calculate the maximum offsets for this recipe relative to the grid size, and iterate through all combinations of offsets. - // Also, this calculation automatically filters out recipes that are too large for the current grid - the loop won't be entered at all. + // This still means that the "anywhere" item may be the one that is offsetting the grid contents to the right or + // downwards, so we need to check all possible positions. E. g. recipe "A, * | B, 1:1 | ..." still needs to + // check grid for B at 2:2 (in case A was in grid's 1:1) Calculate the maximum offsets for this recipe relative + // to the grid size, and iterate through all combinations of offsets. Also, this calculation automatically + // filters out recipes that are too large for the current grid - the loop won't be entered at all. - int MaxOfsX = a_GridWidth - (*itr)->m_Width; + int MaxOfsX = a_GridWidth - (*itr)->m_Width; int MaxOfsY = a_GridHeight - (*itr)->m_Height; - for (int x = 0; x <= MaxOfsX; x++) for (int y = 0; y <= MaxOfsY; y++) - { - cRecipe * Recipe = MatchRecipe(a_CraftingGrid, a_GridWidth, a_GridHeight, a_GridStride, *itr, x, y); - if (Recipe != nullptr) + for (int x = 0; x <= MaxOfsX; x++) + for (int y = 0; y <= MaxOfsY; y++) { - return Recipe; - } - } // for y, for x + cRecipe * Recipe = MatchRecipe(a_CraftingGrid, a_GridWidth, a_GridHeight, a_GridStride, *itr, x, y); + if (Recipe != nullptr) + { + return Recipe; + } + } // for y, for x } // for itr - m_Recipes[] // No matching recipe found @@ -744,12 +793,21 @@ cCraftingRecipes::cRecipe * cCraftingRecipes::FindRecipeCropped(const cItem * a_ -cCraftingRecipes::cRecipe * cCraftingRecipes::MatchRecipe(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight, int a_GridStride, const cRecipe * a_Recipe, int a_OffsetX, int a_OffsetY) +cCraftingRecipes::cRecipe * cCraftingRecipes::MatchRecipe( + const cItem * a_CraftingGrid, + int a_GridWidth, + int a_GridHeight, + int a_GridStride, + const cRecipe * a_Recipe, + int a_OffsetX, + int a_OffsetY +) { // Check the regular items first: bool HasMatched[MAX_GRID_WIDTH][MAX_GRID_HEIGHT]; memset(HasMatched, 0, sizeof(HasMatched)); - for (cRecipeSlots::const_iterator itrS = a_Recipe->m_Ingredients.begin(); itrS != a_Recipe->m_Ingredients.end(); ++itrS) + for (cRecipeSlots::const_iterator itrS = a_Recipe->m_Ingredients.begin(); itrS != a_Recipe->m_Ingredients.end(); + ++itrS) { if ((itrS->x < 0) || (itrS->y < 0)) { @@ -761,16 +819,11 @@ cCraftingRecipes::cRecipe * cCraftingRecipes::MatchRecipe(const cItem * a_Crafti int GridID = (itrS->x + a_OffsetX) + a_GridStride * (itrS->y + a_OffsetY); const cItem & Item = itrS->m_Item; - if ( - (itrS->x >= a_GridWidth) || - (itrS->y >= a_GridHeight) || - (Item.m_ItemType != a_CraftingGrid[GridID].m_ItemType) || // same item type? + if ((itrS->x >= a_GridWidth) || (itrS->y >= a_GridHeight) || + (Item.m_ItemType != a_CraftingGrid[GridID].m_ItemType) || // same item type? (Item.m_ItemCount > a_CraftingGrid[GridID].m_ItemCount) || // not enough items - ( - (Item.m_ItemDamage >= 0) && // should compare damage values? - (Item.m_ItemDamage != a_CraftingGrid[GridID].m_ItemDamage) - ) - ) + ((Item.m_ItemDamage >= 0) && // should compare damage values? + (Item.m_ItemDamage != a_CraftingGrid[GridID].m_ItemDamage))) { // Doesn't match return nullptr; @@ -782,14 +835,15 @@ cCraftingRecipes::cRecipe * cCraftingRecipes::MatchRecipe(const cItem * a_Crafti // The "anywhere" items are processed on a first-come-first-served basis. // Do not use a recipe with one horizontal and one vertical "anywhere" ("*:1, 1:*") as it may not match properly! cRecipeSlots MatchedSlots; // Stores the slots of "anywhere" items that have matched, with the match coords - for (cRecipeSlots::const_iterator itrS = a_Recipe->m_Ingredients.begin(); itrS != a_Recipe->m_Ingredients.end(); ++itrS) + for (cRecipeSlots::const_iterator itrS = a_Recipe->m_Ingredients.begin(); itrS != a_Recipe->m_Ingredients.end(); + ++itrS) { if ((itrS->x >= 0) && (itrS->y >= 0)) { // Regular item, already processed continue; } - int StartX = 0, EndX = a_GridWidth - 1; + int StartX = 0, EndX = a_GridWidth - 1; int StartY = 0, EndY = a_GridHeight - 1; if (itrS->x >= 0) { @@ -812,13 +866,10 @@ cCraftingRecipes::cRecipe * cCraftingRecipes::MatchRecipe(const cItem * a_Crafti continue; } int GridIdx = x + a_GridStride * y; - if ( - (a_CraftingGrid[GridIdx].m_ItemType == itrS->m_Item.m_ItemType) && - ( - (itrS->m_Item.m_ItemDamage < 0) || // doesn't want damage comparison - (itrS->m_Item.m_ItemDamage == a_CraftingGrid[GridIdx].m_ItemDamage) // the damage matches - ) - ) + if ((a_CraftingGrid[GridIdx].m_ItemType == itrS->m_Item.m_ItemType) && + ((itrS->m_Item.m_ItemDamage < 0) || // doesn't want damage comparison + (itrS->m_Item.m_ItemDamage == a_CraftingGrid[GridIdx].m_ItemDamage) // the damage matches + )) { HasMatched[x][y] = true; Found = true; @@ -840,21 +891,23 @@ cCraftingRecipes::cRecipe * cCraftingRecipes::MatchRecipe(const cItem * a_Crafti } // for itrS - a_Recipe->m_Ingredients[] // Check if the whole grid has matched: - for (int x = 0; x < a_GridWidth; x++) for (int y = 0; y < a_GridHeight; y++) - { - if (!HasMatched[x][y] && !a_CraftingGrid[x + a_GridStride * y].IsEmpty()) + for (int x = 0; x < a_GridWidth; x++) + for (int y = 0; y < a_GridHeight; y++) { - // There's an unmatched item in the grid - return nullptr; - } - } // for y, for x + if (!HasMatched[x][y] && !a_CraftingGrid[x + a_GridStride * y].IsEmpty()) + { + // There's an unmatched item in the grid + return nullptr; + } + } // for y, for x // The recipe has matched. Create a copy of the recipe and set its coords to match the crafting grid: std::unique_ptr Recipe = std::make_unique(); Recipe->m_Result = a_Recipe->m_Result; - Recipe->m_Width = a_Recipe->m_Width; + Recipe->m_Width = a_Recipe->m_Width; Recipe->m_Height = a_Recipe->m_Height; - for (cRecipeSlots::const_iterator itrS = a_Recipe->m_Ingredients.begin(); itrS != a_Recipe->m_Ingredients.end(); ++itrS) + for (cRecipeSlots::const_iterator itrS = a_Recipe->m_Ingredients.begin(); itrS != a_Recipe->m_Ingredients.end(); + ++itrS) { if ((itrS->x < 0) || (itrS->y < 0)) { @@ -868,7 +921,8 @@ cCraftingRecipes::cRecipe * cCraftingRecipes::MatchRecipe(const cItem * a_Crafti Recipe->m_Ingredients.insert(Recipe->m_Ingredients.end(), MatchedSlots.begin(), MatchedSlots.end()); // Handle the fireworks-related effects: - // We use Recipe instead of a_Recipe because we want the wildcard ingredients' slot numbers as well, which was just added previously + // We use Recipe instead of a_Recipe because we want the wildcard ingredients' slot numbers as well, which was just + // added previously HandleFireworks(a_CraftingGrid, Recipe.get(), a_GridStride, a_OffsetX, a_OffsetY); // Handle Dyed Leather @@ -881,14 +935,22 @@ cCraftingRecipes::cRecipe * cCraftingRecipes::MatchRecipe(const cItem * a_Crafti -void cCraftingRecipes::HandleFireworks(const cItem * a_CraftingGrid, cCraftingRecipes::cRecipe * a_Recipe, int a_GridStride, int a_OffsetX, int a_OffsetY) +void cCraftingRecipes::HandleFireworks( + const cItem * a_CraftingGrid, + cCraftingRecipes::cRecipe * a_Recipe, + int a_GridStride, + int a_OffsetX, + int a_OffsetY +) { // TODO: add support for more than one dye in the recipe - // A manual and temporary solution (listing everything) is in crafting.txt for fade colours, but a programmatic solutions needs to be done for everything else + // A manual and temporary solution (listing everything) is in crafting.txt for fade colours, but a programmatic + // solutions needs to be done for everything else if (a_Recipe->m_Result.m_ItemType == E_ITEM_FIREWORK_ROCKET) { - for (cRecipeSlots::const_iterator itr = a_Recipe->m_Ingredients.begin(); itr != a_Recipe->m_Ingredients.end(); ++itr) + for (cRecipeSlots::const_iterator itr = a_Recipe->m_Ingredients.begin(); itr != a_Recipe->m_Ingredients.end(); + ++itr) { switch (itr->m_Item.m_ItemType) { @@ -906,7 +968,10 @@ void cCraftingRecipes::HandleFireworks(const cItem * a_CraftingGrid, cCraftingRe break; } case E_ITEM_PAPER: break; - default: LOG("Unexpected item in firework rocket recipe, was the crafting file's fireworks section changed?"); break; + default: + LOG("Unexpected item in firework rocket recipe, was the crafting file's fireworks section changed?" + ); + break; } } } @@ -915,7 +980,8 @@ void cCraftingRecipes::HandleFireworks(const cItem * a_CraftingGrid, cCraftingRe std::vector DyeColours; bool FoundStar = false; - for (cRecipeSlots::const_iterator itr = a_Recipe->m_Ingredients.begin(); itr != a_Recipe->m_Ingredients.end(); ++itr) + for (cRecipeSlots::const_iterator itr = a_Recipe->m_Ingredients.begin(); itr != a_Recipe->m_Ingredients.end(); + ++itr) { switch (itr->m_Item.m_ItemType) { @@ -930,18 +996,22 @@ void cCraftingRecipes::HandleFireworks(const cItem * a_CraftingGrid, cCraftingRe case E_ITEM_DYE: { int GridID = (itr->x + a_OffsetX) + a_GridStride * (itr->y + a_OffsetY); - DyeColours.push_back(cFireworkItem::GetVanillaColourCodeFromDye(static_cast(a_CraftingGrid[GridID].m_ItemDamage & 0x0f))); + DyeColours.push_back(cFireworkItem::GetVanillaColourCodeFromDye( + static_cast(a_CraftingGrid[GridID].m_ItemDamage & 0x0f) + )); break; } - case E_ITEM_GUNPOWDER: break; - case E_ITEM_DIAMOND: a_Recipe->m_Result.m_FireworkItem.m_HasTrail = true; break; + case E_ITEM_GUNPOWDER: break; + case E_ITEM_DIAMOND: a_Recipe->m_Result.m_FireworkItem.m_HasTrail = true; break; case E_ITEM_GLOWSTONE_DUST: a_Recipe->m_Result.m_FireworkItem.m_HasFlicker = true; break; - case E_ITEM_FIRE_CHARGE: a_Recipe->m_Result.m_FireworkItem.m_Type = 1; break; - case E_ITEM_GOLD_NUGGET: a_Recipe->m_Result.m_FireworkItem.m_Type = 2; break; - case E_ITEM_FEATHER: a_Recipe->m_Result.m_FireworkItem.m_Type = 4; break; - case E_ITEM_HEAD: a_Recipe->m_Result.m_FireworkItem.m_Type = 3; break; - default: LOG("Unexpected item in firework star recipe, was the crafting file's fireworks section changed?"); break; // ermahgerd BARD ardmins + case E_ITEM_FIRE_CHARGE: a_Recipe->m_Result.m_FireworkItem.m_Type = 1; break; + case E_ITEM_GOLD_NUGGET: a_Recipe->m_Result.m_FireworkItem.m_Type = 2; break; + case E_ITEM_FEATHER: a_Recipe->m_Result.m_FireworkItem.m_Type = 4; break; + case E_ITEM_HEAD: a_Recipe->m_Result.m_FireworkItem.m_Type = 3; break; + default: + LOG("Unexpected item in firework star recipe, was the crafting file's fireworks section changed?"); + break; // ermahgerd BARD ardmins } } @@ -962,10 +1032,17 @@ void cCraftingRecipes::HandleFireworks(const cItem * a_CraftingGrid, cCraftingRe -void cCraftingRecipes::HandleDyedLeather(const cItem * a_CraftingGrid, cCraftingRecipes::cRecipe * a_Recipe, int a_GridStride, int a_GridWidth, int a_GridHeight) +void cCraftingRecipes::HandleDyedLeather( + const cItem * a_CraftingGrid, + cCraftingRecipes::cRecipe * a_Recipe, + int a_GridStride, + int a_GridWidth, + int a_GridHeight +) { short result_type = a_Recipe->m_Result.m_ItemType; - if ((result_type == E_ITEM_LEATHER_CAP) || (result_type == E_ITEM_LEATHER_TUNIC) || (result_type == E_ITEM_LEATHER_PANTS) || (result_type == E_ITEM_LEATHER_BOOTS)) + if ((result_type == E_ITEM_LEATHER_CAP) || (result_type == E_ITEM_LEATHER_TUNIC) || + (result_type == E_ITEM_LEATHER_PANTS) || (result_type == E_ITEM_LEATHER_BOOTS)) { bool found = false; cItem temp; diff --git a/src/CraftingRecipes.h b/src/CraftingRecipes.h index 7e4ac86ae..38936636b 100644 --- a/src/CraftingRecipes.h +++ b/src/CraftingRecipes.h @@ -19,19 +19,19 @@ class cPlayer; class cCraftingGrid // tolua_export { // tolua_export -public: + public: cCraftingGrid(const cCraftingGrid & a_Original); cCraftingGrid(int a_Width, int a_Height); // tolua_export cCraftingGrid(const cItem * a_Items, int a_Width, int a_Height); ~cCraftingGrid(); // tolua_begin - int GetWidth (void) const {return m_Width; } - int GetHeight(void) const {return m_Height; } - cItem & GetItem (int x, int y) const; - void SetItem (int x, int y, ENUM_ITEM_TYPE a_ItemType, char a_ItemCount, short a_ItemHealth); - void SetItem (int x, int y, const cItem & a_Item); - void Clear (void); + int GetWidth(void) const { return m_Width; } + int GetHeight(void) const { return m_Height; } + cItem & GetItem(int x, int y) const; + void SetItem(int x, int y, ENUM_ITEM_TYPE a_ItemType, char a_ItemCount, short a_ItemHealth); + void SetItem(int x, int y, const cItem & a_Item); + void Clear(void); /** Removes items in a_Grid from m_Items[] (used by cCraftingRecipe::ConsumeIngredients()) */ void ConsumeGrid(const cCraftingGrid & a_Grid); @@ -41,17 +41,17 @@ public: // tolua_end - cItem * GetItems(void) const {return m_Items; } + cItem * GetItems(void) const { return m_Items; } - /** Copies internal contents into the item array specified. Assumes that the array has the same dimensions as self */ - void CopyToItems(cItem * a_Items) const; + /** Copies internal contents into the item array specified. Assumes that the array has the same dimensions as self + */ + void CopyToItems(cItem * a_Items) const; -protected: - - int m_Width; - int m_Height; + protected: + int m_Width; + int m_Height; cItem * m_Items; -} ; // tolua_export +}; // tolua_export @@ -59,30 +59,24 @@ protected: class cCraftingRecipe // tolua_export { // tolua_export -public: + public: cCraftingRecipe(const cCraftingGrid & a_CraftingGrid); // tolua_begin - void Clear (void); - int GetIngredientsWidth (void) const {return m_Ingredients.GetWidth(); } - int GetIngredientsHeight(void) const {return m_Ingredients.GetHeight(); } - cItem & GetIngredient (int x, int y) const {return m_Ingredients.GetItem(x, y); } - const cItem & GetResult (void) const {return m_Result; } - void SetResult (ENUM_ITEM_TYPE a_ItemType, char a_ItemCount, short a_ItemHealth); - void SetResult (const cItem & a_Item) - { - m_Result = a_Item; - } - - void SetIngredient (int x, int y, ENUM_ITEM_TYPE a_ItemType, char a_ItemCount, short a_ItemHealth) + void Clear(void); + int GetIngredientsWidth(void) const { return m_Ingredients.GetWidth(); } + int GetIngredientsHeight(void) const { return m_Ingredients.GetHeight(); } + cItem & GetIngredient(int x, int y) const { return m_Ingredients.GetItem(x, y); } + const cItem & GetResult(void) const { return m_Result; } + void SetResult(ENUM_ITEM_TYPE a_ItemType, char a_ItemCount, short a_ItemHealth); + void SetResult(const cItem & a_Item) { m_Result = a_Item; } + + void SetIngredient(int x, int y, ENUM_ITEM_TYPE a_ItemType, char a_ItemCount, short a_ItemHealth) { m_Ingredients.SetItem(x, y, a_ItemType, a_ItemCount, a_ItemHealth); } - void SetIngredient (int x, int y, const cItem & a_Item) - { - m_Ingredients.SetItem(x, y, a_Item); - } + void SetIngredient(int x, int y, const cItem & a_Item) { m_Ingredients.SetItem(x, y, a_Item); } /** Consumes ingredients from the crafting grid specified */ void ConsumeIngredients(cCraftingGrid & a_CraftingGrid); @@ -91,11 +85,10 @@ public: void Dump(void); // tolua_end -protected: - + protected: cCraftingGrid m_Ingredients; // Adjusted to correspond to the input crafting grid! - cItem m_Result; -} ; // tolua_export + cItem m_Result; +}; // tolua_export @@ -116,8 +109,8 @@ To handle the crafting recipes internally efficient the vector index of the */ class cCraftingRecipes { -public: - static const int MAX_GRID_WIDTH = 3; + public: + static const int MAX_GRID_WIDTH = 3; static const int MAX_GRID_HEIGHT = 3; cCraftingRecipes(void); @@ -127,13 +120,16 @@ public: void GetRecipe(cPlayer & a_Player, cCraftingGrid & a_CraftingGrid, cCraftingRecipe & a_Recipe); /** Find recipes and returns the RecipeIds which contain the new item and all ingredients are in the known items */ - std::vector FindNewRecipesForItem(const cItem & a_Item, const std::set & a_KnownItems); + std::vector FindNewRecipesForItem( + const cItem & a_Item, + const std::set & a_KnownItems + ); struct cRecipeSlot { cItem m_Item; int x, y; // 1..3, or -1 for "any" - } ; + }; typedef std::vector cRecipeSlots; /** A single recipe, stored. Each recipe is normalized right after parsing (NormalizeIngredients()) @@ -141,13 +137,13 @@ public: struct cRecipe { cRecipeSlots m_Ingredients; - cItem m_Result; - AString m_RecipeName; + cItem m_Result; + AString m_RecipeName; // Size of the regular items in the recipe; "anywhere" items are excluded: int m_Width; int m_Height; - } ; + }; /** Returns the recipe by id */ cRecipe * GetRecipeById(UInt32 a_RecipeId); @@ -155,8 +151,7 @@ public: /** Gets a map of all recipes with name and recipe id */ const std::map & GetRecipeNameMap(); -protected: - + protected: typedef std::vector cRecipes; cRecipes m_Recipes; @@ -176,22 +171,45 @@ protected: /** Moves the recipe to top-left corner, sets its MinWidth / MinHeight */ void NormalizeIngredients(cRecipe * a_Recipe); - /** Finds a recipe matching the crafting grid. Returns a newly allocated recipe (with all its coords set) or nullptr if not found. Caller must delete return value! */ + /** Finds a recipe matching the crafting grid. Returns a newly allocated recipe (with all its coords set) or nullptr + * if not found. Caller must delete return value! */ cRecipe * FindRecipe(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight); /** Same as FindRecipe, but the grid is guaranteed to be of minimal dimensions needed */ cRecipe * FindRecipeCropped(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight, int a_GridStride); - /** Checks if the grid matches the specified recipe, offset by the specified offsets. Returns a matched cRecipe * if so, or nullptr if not matching. Caller must delete the return value! */ - cRecipe * MatchRecipe(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight, int a_GridStride, const cRecipe * a_Recipe, int a_OffsetX, int a_OffsetY); + /** Checks if the grid matches the specified recipe, offset by the specified offsets. Returns a matched cRecipe * if + * so, or nullptr if not matching. Caller must delete the return value! */ + cRecipe * MatchRecipe( + const cItem * a_CraftingGrid, + int a_GridWidth, + int a_GridHeight, + int a_GridStride, + const cRecipe * a_Recipe, + int a_OffsetX, + int a_OffsetY + ); /** Searches for anything firework related, and does the data setting if appropriate */ - void HandleFireworks(const cItem * a_CraftingGrid, cCraftingRecipes::cRecipe * a_Recipe, int a_GridStride, int a_OffsetX, int a_OffsetY); + void HandleFireworks( + const cItem * a_CraftingGrid, + cCraftingRecipes::cRecipe * a_Recipe, + int a_GridStride, + int a_OffsetX, + int a_OffsetY + ); - /** Searches for anything dye related for leather, calculates the appropriate color value, and sets the resulting value. */ - void HandleDyedLeather(const cItem * a_CraftingGrid, cCraftingRecipes::cRecipe * a_Recipe, int a_GridStride, int a_GridWidth, int a_GridHeight); + /** Searches for anything dye related for leather, calculates the appropriate color value, and sets the resulting + * value. */ + void HandleDyedLeather( + const cItem * a_CraftingGrid, + cCraftingRecipes::cRecipe * a_Recipe, + int a_GridStride, + int a_GridWidth, + int a_GridHeight + ); -private: + private: /** Mapping the minecraft recipe names to the internal cuberite recipe Ids */ std::map m_RecipeNameMap; @@ -208,4 +226,4 @@ private: /** Populates the RecipeNameMap */ void PopulateRecipeNameMap(void); -} ; +}; diff --git a/src/Cuboid.cpp b/src/Cuboid.cpp index a311edc63..cfde9d282 100644 --- a/src/Cuboid.cpp +++ b/src/Cuboid.cpp @@ -58,12 +58,8 @@ bool cCuboid::IsCompletelyInside(const cCuboid & a_Outer) const ASSERT(a_Outer.IsSorted()); return ( - (p1.x >= a_Outer.p1.x) && - (p2.x <= a_Outer.p2.x) && - (p1.y >= a_Outer.p1.y) && - (p2.y <= a_Outer.p2.y) && - (p1.z >= a_Outer.p1.z) && - (p2.z <= a_Outer.p2.z) + (p1.x >= a_Outer.p1.x) && (p2.x <= a_Outer.p2.x) && (p1.y >= a_Outer.p1.y) && (p2.y <= a_Outer.p2.y) && + (p1.z >= a_Outer.p1.z) && (p2.z <= a_Outer.p2.z) ); } @@ -192,11 +188,7 @@ void cCuboid::ClampZ(int a_MinZ, int a_MaxZ) bool cCuboid::IsSorted(void) const { - return ( - (p1.x <= p2.x) && - (p1.y <= p2.y) && - (p1.z <= p2.z) - ); + return ((p1.x <= p2.x) && (p1.y <= p2.y) && (p1.z <= p2.z)); } @@ -232,7 +224,3 @@ void cCuboid::Engulf(Vector3i a_Point) p2.z = a_Point.z; } } - - - - diff --git a/src/Cuboid.h b/src/Cuboid.h index 4fefb8f57..f804c4bcd 100644 --- a/src/Cuboid.h +++ b/src/Cuboid.h @@ -8,17 +8,23 @@ // tolua_begin class cCuboid { -public: + public: // p1 is expected to have the smaller of the coords; Sort() swaps coords to match this Vector3i p1, p2; cCuboid(void) {} - cCuboid(Vector3i a_p1, Vector3i a_p2) : p1(a_p1), p2(a_p2) {} - cCuboid(int a_X1, int a_Y1, int a_Z1) : p1(a_X1, a_Y1, a_Z1), p2(a_X1, a_Y1, a_Z1) {} + cCuboid(Vector3i a_p1, Vector3i a_p2) : + p1(a_p1), p2(a_p2) + { + } + cCuboid(int a_X1, int a_Y1, int a_Z1) : + p1(a_X1, a_Y1, a_Z1), p2(a_X1, a_Y1, a_Z1) + { + } - #ifdef TOLUA_EXPOSITION // tolua isn't aware of implicitly generated copy constructors - cCuboid(const cCuboid & a_Cuboid); - #endif +#ifdef TOLUA_EXPOSITION // tolua isn't aware of implicitly generated copy constructors + cCuboid(const cCuboid & a_Cuboid); +#endif // tolua_end // Exported in ManualBindings.cpp to support the old deprecated coord-based overload. @@ -59,20 +65,12 @@ public: bool IsInside(Vector3i v) const { - return ( - (v.x >= p1.x) && (v.x <= p2.x) && - (v.y >= p1.y) && (v.y <= p2.y) && - (v.z >= p1.z) && (v.z <= p2.z) - ); + return ((v.x >= p1.x) && (v.x <= p2.x) && (v.y >= p1.y) && (v.y <= p2.y) && (v.z >= p1.z) && (v.z <= p2.z)); } bool IsInside(Vector3d v) const { - return ( - (v.x >= p1.x) && (v.x <= p2.x) && - (v.y >= p1.y) && (v.y <= p2.y) && - (v.z >= p1.z) && (v.z <= p2.z) - ); + return ((v.x >= p1.x) && (v.x <= p2.x) && (v.y >= p1.y) && (v.y <= p2.y) && (v.z >= p1.z) && (v.z <= p2.z)); } // tolua_begin @@ -120,28 +118,20 @@ public: // tolua_end /** Checks the two cuboids for equality. */ - bool operator == (const cCuboid & aOther) const + bool operator==(const cCuboid & aOther) const { return ( - (p1.x == aOther.p1.x) && - (p1.y == aOther.p1.y) && - (p1.z == aOther.p1.z) && - (p2.x == aOther.p2.x) && - (p2.y == aOther.p2.y) && - (p2.z == aOther.p2.z) + (p1.x == aOther.p1.x) && (p1.y == aOther.p1.y) && (p1.z == aOther.p1.z) && (p2.x == aOther.p2.x) && + (p2.y == aOther.p2.y) && (p2.z == aOther.p2.z) ); } - bool operator != (const cCuboid & aOther) const - { - return !operator ==(aOther); - } + bool operator!=(const cCuboid & aOther) const { return !operator==(aOther); } // tolua_begin -private: - + private: /** Returns true if the two specified intervals have a non-empty union */ inline static bool DoIntervalsIntersect(int a_Min1, int a_Max1, int a_Min2, int a_Max2) { @@ -149,10 +139,5 @@ private: ASSERT(a_Min2 <= a_Max2); return ((a_Min1 <= a_Max2) && (a_Max1 >= a_Min2)); } - -} ; +}; // tolua_end - - - - diff --git a/src/DeadlockDetect.cpp b/src/DeadlockDetect.cpp index fc426d529..ae1bfbb23 100644 --- a/src/DeadlockDetect.cpp +++ b/src/DeadlockDetect.cpp @@ -21,8 +21,7 @@ const int CYCLE_MILLISECONDS = 100; cDeadlockDetect::cDeadlockDetect(void) : - Super("Deadlock Detector"), - m_IntervalSec(1000) + Super("Deadlock Detector"), m_IntervalSec(1000) { } @@ -36,13 +35,13 @@ cDeadlockDetect::~cDeadlockDetect() cCSLock lock(m_CS); if (!m_TrackedCriticalSections.empty()) { - LOGWARNING("DeadlockDetect: Some CS objects (%u) haven't been removed from tracking", static_cast(m_TrackedCriticalSections.size())); - for (const auto & tcs: m_TrackedCriticalSections) + LOGWARNING( + "DeadlockDetect: Some CS objects (%u) haven't been removed from tracking", + static_cast(m_TrackedCriticalSections.size()) + ); + for (const auto & tcs : m_TrackedCriticalSections) { - LOGWARNING(" CS %p / %s", - static_cast(tcs.first), - tcs.second.c_str() - ); + LOGWARNING(" CS %p / %s", static_cast(tcs.first), tcs.second.c_str()); } } } @@ -56,11 +55,13 @@ void cDeadlockDetect::Start(int a_IntervalSec) m_IntervalSec = a_IntervalSec; // Read the initial world data: - cRoot::Get()->ForEachWorld([=](cWorld & a_World) - { - SetWorldAge(a_World.GetName(), a_World.GetWorldAge()); - return false; - }); + cRoot::Get()->ForEachWorld( + [=](cWorld & a_World) + { + SetWorldAge(a_World.GetName(), a_World.GetWorldAge()); + return false; + } + ); Super::Start(); } @@ -102,11 +103,13 @@ void cDeadlockDetect::Execute(void) while (!m_ShouldTerminate) { // Check the world ages: - cRoot::Get()->ForEachWorld([=](cWorld & a_World) - { - CheckWorldAge(a_World.GetName(), a_World.GetWorldAge()); - return false; - }); + cRoot::Get()->ForEachWorld( + [=](cWorld & a_World) + { + CheckWorldAge(a_World.GetName(), a_World.GetWorldAge()); + return false; + } + ); std::this_thread::sleep_for(std::chrono::milliseconds(CYCLE_MILLISECONDS)); } // while (should run) @@ -158,8 +161,10 @@ void cDeadlockDetect::CheckWorldAge(const AString & a_WorldName, const cTickTime void cDeadlockDetect::DeadlockDetected(const AString & a_WorldName, const cTickTimeLong a_WorldAge) { - LOGERROR("Deadlock detected: world %s has been stuck at age %lld. Aborting the server.", - a_WorldName.c_str(), static_cast(a_WorldAge.count()) + LOGERROR( + "Deadlock detected: world %s has been stuck at age %lld. Aborting the server.", + a_WorldName.c_str(), + static_cast(a_WorldAge.count()) ); ListTrackedCSs(); ASSERT(!"Deadlock detected"); @@ -173,11 +178,12 @@ void cDeadlockDetect::DeadlockDetected(const AString & a_WorldName, const cTickT void cDeadlockDetect::ListTrackedCSs(void) { cCSLock lock(m_CS); - for (const auto & cs: m_TrackedCriticalSections) + for (const auto & cs : m_TrackedCriticalSections) { LOG("CS at %p, %s: RecursionCount = %d, ThreadIDHash = %04llx", - static_cast(cs.first), cs.second.c_str(), - cs.first->m_RecursionCount, static_cast(std::hash()(cs.first->m_OwningThreadID)) - ); + static_cast(cs.first), + cs.second.c_str(), + cs.first->m_RecursionCount, + static_cast(std::hash()(cs.first->m_OwningThreadID))); } } diff --git a/src/DeadlockDetect.h b/src/DeadlockDetect.h index 0016313ba..65e5223c9 100644 --- a/src/DeadlockDetect.h +++ b/src/DeadlockDetect.h @@ -20,13 +20,11 @@ Once we learn to write crashdumps programmatically, we should do so just before -class cDeadlockDetect: - public cIsThread +class cDeadlockDetect : public cIsThread { using Super = cIsThread; -public: - + public: cDeadlockDetect(); virtual ~cDeadlockDetect() override; @@ -42,7 +40,7 @@ public: /** Removes the CS from the tracking. */ void UntrackCriticalSection(cCriticalSection & a_CS); -protected: + protected: struct sWorldAge { /** Last m_WorldAge that has been detected in this world */ @@ -50,7 +48,7 @@ protected: /** Number of cycles for which the age has been the same */ int m_NumCyclesSame; - } ; + }; /** Maps world name -> sWorldAge */ typedef std::map WorldAges; @@ -74,7 +72,8 @@ protected: /** Sets the initial world age. */ void SetWorldAge(const AString & a_WorldName, cTickTimeLong a_Age); - /** Checks if the world's age has changed, updates the world's stats; calls DeadlockDetected() if deadlock detected. */ + /** Checks if the world's age has changed, updates the world's stats; calls DeadlockDetected() if deadlock detected. + */ void CheckWorldAge(const AString & a_WorldName, cTickTimeLong a_Age); /** Called when a deadlock is detected in a world. Aborts the server. @@ -84,8 +83,4 @@ protected: /** Outputs a listing of the tracked CSs, together with their name and state. */ void ListTrackedCSs(); -} ; - - - - +}; diff --git a/src/Defines.cpp b/src/Defines.cpp index 5493e6613..6a0ef1237 100644 --- a/src/Defines.cpp +++ b/src/Defines.cpp @@ -118,7 +118,7 @@ eBlockFace RotateBlockFaceCW(eBlockFace a_BlockFace) -eBlockFace ReverseBlockFace(eBlockFace a_BlockFace) +eBlockFace ReverseBlockFace(eBlockFace a_BlockFace) { switch (a_BlockFace) { @@ -142,12 +142,12 @@ AString BlockFaceToString(eBlockFace a_BlockFace) { switch (a_BlockFace) { - case BLOCK_FACE_XM: return "BLOCK_FACE_XM"; - case BLOCK_FACE_XP: return "BLOCK_FACE_XP"; - case BLOCK_FACE_YM: return "BLOCK_FACE_YM"; - case BLOCK_FACE_YP: return "BLOCK_FACE_YP"; - case BLOCK_FACE_ZM: return "BLOCK_FACE_ZM"; - case BLOCK_FACE_ZP: return "BLOCK_FACE_ZP"; + case BLOCK_FACE_XM: return "BLOCK_FACE_XM"; + case BLOCK_FACE_XP: return "BLOCK_FACE_XP"; + case BLOCK_FACE_YM: return "BLOCK_FACE_YM"; + case BLOCK_FACE_YP: return "BLOCK_FACE_YP"; + case BLOCK_FACE_ZM: return "BLOCK_FACE_ZM"; + case BLOCK_FACE_ZP: return "BLOCK_FACE_ZP"; case BLOCK_FACE_NONE: return "BLOCK_FACE_NONE"; } UNREACHABLE("Unsupported block face"); @@ -171,9 +171,8 @@ bool IsValidBlock(int a_BlockType) bool IsValidItem(int a_ItemType) { - if ( - ((a_ItemType >= E_ITEM_FIRST) && (a_ItemType <= E_ITEM_MAX_CONSECUTIVE_TYPE_ID)) || // Basic items range - ((a_ItemType >= E_ITEM_FIRST_DISC) && (a_ItemType <= E_ITEM_LAST_DISC)) // Music discs' special range + if (((a_ItemType >= E_ITEM_FIRST) && (a_ItemType <= E_ITEM_MAX_CONSECUTIVE_TYPE_ID)) || // Basic items range + ((a_ItemType >= E_ITEM_FIRST_DISC) && (a_ItemType <= E_ITEM_LAST_DISC)) // Music discs' special range ) { return true; @@ -206,16 +205,15 @@ eDimension StringToDimension(const AString & a_DimensionString) { eDimension m_Dimension; const char * m_String; - } DimensionMap [] = - { - { dimOverworld, "Overworld"}, - { dimOverworld, "Normal"}, - { dimOverworld, "World"}, - { dimNether, "Nether"}, - { dimNether, "Hell"}, // Alternate name for Nether - { dimEnd, "End"}, - { dimEnd, "Sky"}, // Old name for End - } ; + } DimensionMap[] = { + {dimOverworld, "Overworld"}, + {dimOverworld, "Normal"}, + {dimOverworld, "World"}, + {dimNether, "Nether"}, + {dimNether, "Hell"}, // Alternate name for Nether + {dimEnd, "End"}, + {dimEnd, "Sky"}, // Old name for End + }; for (size_t i = 0; i < ARRAYCOUNT(DimensionMap); i++) { if (NoCaseCompare(DimensionMap[i].m_String, a_DimensionString) == 0) @@ -240,11 +238,10 @@ AString DimensionToString(eDimension a_Dimension) { eDimension m_Dimension; const char * m_String; - } DimensionMap[] = - { - { dimOverworld, "Overworld" }, - { dimNether, "Nether" }, - { dimEnd, "End" }, + } DimensionMap[] = { + {dimOverworld, "Overworld"}, + {dimNether, "Nether"}, + {dimEnd, "End"}, }; for (size_t i = 0; i < ARRAYCOUNT(DimensionMap); i++) @@ -310,55 +307,54 @@ eDamageType StringToDamageType(const AString & a_DamageTypeString) // Decode using a built-in map: static struct { - eDamageType m_DamageType; + eDamageType m_DamageType; const char * m_String; - } DamageTypeMap [] = - { + } DamageTypeMap[] = { // Cannonical names: - { dtAttack, "dtAttack"}, - { dtRangedAttack, "dtRangedAttack"}, - { dtLightning, "dtLightning"}, - { dtFalling, "dtFalling"}, - { dtDrowning, "dtDrowning"}, - { dtSuffocating, "dtSuffocation"}, - { dtStarving, "dtStarving"}, - { dtCactusContact, "dtCactusContact"}, - { dtMagmaContact, "dtMagmaContact"}, - { dtLavaContact, "dtLavaContact"}, - { dtPoisoning, "dtPoisoning"}, - { dtWithering, "dtWithering"}, - { dtOnFire, "dtOnFire"}, - { dtFireContact, "dtFireContact"}, - { dtInVoid, "dtInVoid"}, - { dtPotionOfHarming, "dtPotionOfHarming"}, - { dtAdmin, "dtAdmin"}, - { dtExplosion, "dtExplosion"}, - { dtEnvironment, "dtEnvironment"}, + {dtAttack, "dtAttack"}, + {dtRangedAttack, "dtRangedAttack"}, + {dtLightning, "dtLightning"}, + {dtFalling, "dtFalling"}, + {dtDrowning, "dtDrowning"}, + {dtSuffocating, "dtSuffocation"}, + {dtStarving, "dtStarving"}, + {dtCactusContact, "dtCactusContact"}, + {dtMagmaContact, "dtMagmaContact"}, + {dtLavaContact, "dtLavaContact"}, + {dtPoisoning, "dtPoisoning"}, + {dtWithering, "dtWithering"}, + {dtOnFire, "dtOnFire"}, + {dtFireContact, "dtFireContact"}, + {dtInVoid, "dtInVoid"}, + {dtPotionOfHarming, "dtPotionOfHarming"}, + {dtAdmin, "dtAdmin"}, + {dtExplosion, "dtExplosion"}, + {dtEnvironment, "dtEnvironment"}, // Common synonyms: - { dtAttack, "dtPawnAttack"}, - { dtAttack, "dtEntityAttack"}, - { dtAttack, "dtMob"}, - { dtAttack, "dtMobAttack"}, - { dtRangedAttack, "dtArrowAttack"}, - { dtRangedAttack, "dtArrow"}, - { dtRangedAttack, "dtProjectile"}, - { dtFalling, "dtFall"}, - { dtDrowning, "dtDrown"}, - { dtSuffocating, "dtSuffocation"}, - { dtStarving, "dtStarvation"}, - { dtStarving, "dtHunger"}, - { dtCactusContact, "dtCactus"}, - { dtCactusContact, "dtCactuses"}, - { dtCactusContact, "dtCacti"}, - { dtMagmaContact, "dtMagma"}, - { dtLavaContact, "dtLava"}, - { dtPoisoning, "dtPoison"}, - { dtWithering, "dtWither"}, - { dtOnFire, "dtBurning"}, - { dtFireContact, "dtInFire"}, - { dtAdmin, "dtPlugin"}, - } ; + {dtAttack, "dtPawnAttack"}, + {dtAttack, "dtEntityAttack"}, + {dtAttack, "dtMob"}, + {dtAttack, "dtMobAttack"}, + {dtRangedAttack, "dtArrowAttack"}, + {dtRangedAttack, "dtArrow"}, + {dtRangedAttack, "dtProjectile"}, + {dtFalling, "dtFall"}, + {dtDrowning, "dtDrown"}, + {dtSuffocating, "dtSuffocation"}, + {dtStarving, "dtStarvation"}, + {dtStarving, "dtHunger"}, + {dtCactusContact, "dtCactus"}, + {dtCactusContact, "dtCactuses"}, + {dtCactusContact, "dtCacti"}, + {dtMagmaContact, "dtMagma"}, + {dtLavaContact, "dtLava"}, + {dtPoisoning, "dtPoison"}, + {dtWithering, "dtWither"}, + {dtOnFire, "dtBurning"}, + {dtFireContact, "dtInFire"}, + {dtAdmin, "dtPlugin"}, + }; for (size_t i = 0; i < ARRAYCOUNT(DamageTypeMap); i++) { if (NoCaseCompare(DamageTypeMap[i].m_String, a_DamageTypeString) == 0) @@ -379,7 +375,7 @@ void AddFaceDirection(int & a_BlockX, int & a_BlockY, int & a_BlockZ, eBlockFace { LOGWARNING("AddFaceDirection with X/Y/Z parameters is deprecated, use the vector version"); - const auto Offset = AddFaceDirection({ a_BlockX, a_BlockY, a_BlockZ }, a_BlockFace, a_bInverse); + const auto Offset = AddFaceDirection({a_BlockX, a_BlockY, a_BlockZ}, a_BlockFace, a_bInverse); a_BlockX = Offset.x; a_BlockY = Offset.y; a_BlockZ = Offset.z; @@ -395,12 +391,12 @@ Vector3i AddFaceDirection(const Vector3i a_Position, const eBlockFace a_BlockFac switch (a_BlockFace) { - case BLOCK_FACE_YP: return a_Position.addedY(+Offset); - case BLOCK_FACE_YM: return a_Position.addedY(-Offset); - case BLOCK_FACE_ZM: return a_Position.addedZ(-Offset); - case BLOCK_FACE_ZP: return a_Position.addedZ(+Offset); - case BLOCK_FACE_XP: return a_Position.addedX(+Offset); - case BLOCK_FACE_XM: return a_Position.addedX(-Offset); + case BLOCK_FACE_YP: return a_Position.addedY(+Offset); + case BLOCK_FACE_YM: return a_Position.addedY(-Offset); + case BLOCK_FACE_ZM: return a_Position.addedZ(-Offset); + case BLOCK_FACE_ZP: return a_Position.addedZ(+Offset); + case BLOCK_FACE_XP: return a_Position.addedX(+Offset); + case BLOCK_FACE_XM: return a_Position.addedX(-Offset); case BLOCK_FACE_NONE: break; } @@ -459,11 +455,8 @@ bool ItemCategory::IsAxe(short a_ItemType) bool ItemCategory::IsSword(short a_ItemID) { - return (a_ItemID == E_ITEM_WOODEN_SWORD) - || (a_ItemID == E_ITEM_STONE_SWORD) - || (a_ItemID == E_ITEM_IRON_SWORD) - || (a_ItemID == E_ITEM_GOLD_SWORD) - || (a_ItemID == E_ITEM_DIAMOND_SWORD); + return (a_ItemID == E_ITEM_WOODEN_SWORD) || (a_ItemID == E_ITEM_STONE_SWORD) || (a_ItemID == E_ITEM_IRON_SWORD) || + (a_ItemID == E_ITEM_GOLD_SWORD) || (a_ItemID == E_ITEM_DIAMOND_SWORD); } @@ -472,11 +465,8 @@ bool ItemCategory::IsSword(short a_ItemID) bool ItemCategory::IsHoe(short a_ItemID) { - return (a_ItemID == E_ITEM_WOODEN_HOE) - || (a_ItemID == E_ITEM_STONE_HOE) - || (a_ItemID == E_ITEM_IRON_HOE) - || (a_ItemID == E_ITEM_GOLD_HOE) - || (a_ItemID == E_ITEM_DIAMOND_HOE); + return (a_ItemID == E_ITEM_WOODEN_HOE) || (a_ItemID == E_ITEM_STONE_HOE) || (a_ItemID == E_ITEM_IRON_HOE) || + (a_ItemID == E_ITEM_GOLD_HOE) || (a_ItemID == E_ITEM_DIAMOND_HOE); } @@ -485,11 +475,8 @@ bool ItemCategory::IsHoe(short a_ItemID) bool ItemCategory::IsShovel(short a_ItemID) { - return (a_ItemID == E_ITEM_WOODEN_SHOVEL) - || (a_ItemID == E_ITEM_STONE_SHOVEL) - || (a_ItemID == E_ITEM_IRON_SHOVEL) - || (a_ItemID == E_ITEM_GOLD_SHOVEL) - || (a_ItemID == E_ITEM_DIAMOND_SHOVEL); + return (a_ItemID == E_ITEM_WOODEN_SHOVEL) || (a_ItemID == E_ITEM_STONE_SHOVEL) || + (a_ItemID == E_ITEM_IRON_SHOVEL) || (a_ItemID == E_ITEM_GOLD_SHOVEL) || (a_ItemID == E_ITEM_DIAMOND_SHOVEL); } @@ -498,11 +485,7 @@ bool ItemCategory::IsShovel(short a_ItemID) bool ItemCategory::IsTool(short a_ItemID) { - return IsPickaxe( a_ItemID) - || IsAxe ( a_ItemID) - || IsSword ( a_ItemID) - || IsHoe ( a_ItemID) - || IsShovel ( a_ItemID); + return IsPickaxe(a_ItemID) || IsAxe(a_ItemID) || IsSword(a_ItemID) || IsHoe(a_ItemID) || IsShovel(a_ItemID); } @@ -512,10 +495,8 @@ bool ItemCategory::IsTool(short a_ItemID) bool ItemCategory::IsHelmet(short a_ItemType) { return ( - (a_ItemType == E_ITEM_LEATHER_CAP) || - (a_ItemType == E_ITEM_GOLD_HELMET) || - (a_ItemType == E_ITEM_CHAIN_HELMET) || - (a_ItemType == E_ITEM_IRON_HELMET) || + (a_ItemType == E_ITEM_LEATHER_CAP) || (a_ItemType == E_ITEM_GOLD_HELMET) || + (a_ItemType == E_ITEM_CHAIN_HELMET) || (a_ItemType == E_ITEM_IRON_HELMET) || (a_ItemType == E_ITEM_DIAMOND_HELMET) ); } @@ -527,12 +508,9 @@ bool ItemCategory::IsHelmet(short a_ItemType) bool ItemCategory::IsChestPlate(short a_ItemType) { return ( - (a_ItemType == E_ITEM_ELYTRA) || - (a_ItemType == E_ITEM_LEATHER_TUNIC) || - (a_ItemType == E_ITEM_GOLD_CHESTPLATE) || - (a_ItemType == E_ITEM_CHAIN_CHESTPLATE) || - (a_ItemType == E_ITEM_IRON_CHESTPLATE) || - (a_ItemType == E_ITEM_DIAMOND_CHESTPLATE) + (a_ItemType == E_ITEM_ELYTRA) || (a_ItemType == E_ITEM_LEATHER_TUNIC) || + (a_ItemType == E_ITEM_GOLD_CHESTPLATE) || (a_ItemType == E_ITEM_CHAIN_CHESTPLATE) || + (a_ItemType == E_ITEM_IRON_CHESTPLATE) || (a_ItemType == E_ITEM_DIAMOND_CHESTPLATE) ); } @@ -543,10 +521,8 @@ bool ItemCategory::IsChestPlate(short a_ItemType) bool ItemCategory::IsLeggings(short a_ItemType) { return ( - (a_ItemType == E_ITEM_LEATHER_PANTS) || - (a_ItemType == E_ITEM_GOLD_LEGGINGS) || - (a_ItemType == E_ITEM_CHAIN_LEGGINGS) || - (a_ItemType == E_ITEM_IRON_LEGGINGS) || + (a_ItemType == E_ITEM_LEATHER_PANTS) || (a_ItemType == E_ITEM_GOLD_LEGGINGS) || + (a_ItemType == E_ITEM_CHAIN_LEGGINGS) || (a_ItemType == E_ITEM_IRON_LEGGINGS) || (a_ItemType == E_ITEM_DIAMOND_LEGGINGS) ); } @@ -558,11 +534,8 @@ bool ItemCategory::IsLeggings(short a_ItemType) bool ItemCategory::IsBoots(short a_ItemType) { return ( - (a_ItemType == E_ITEM_LEATHER_BOOTS) || - (a_ItemType == E_ITEM_GOLD_BOOTS) || - (a_ItemType == E_ITEM_CHAIN_BOOTS) || - (a_ItemType == E_ITEM_IRON_BOOTS) || - (a_ItemType == E_ITEM_DIAMOND_BOOTS) + (a_ItemType == E_ITEM_LEATHER_BOOTS) || (a_ItemType == E_ITEM_GOLD_BOOTS) || + (a_ItemType == E_ITEM_CHAIN_BOOTS) || (a_ItemType == E_ITEM_IRON_BOOTS) || (a_ItemType == E_ITEM_DIAMOND_BOOTS) ); } @@ -573,10 +546,8 @@ bool ItemCategory::IsBoots(short a_ItemType) bool ItemCategory::IsMinecart(short a_ItemType) { return ( - (a_ItemType == E_ITEM_MINECART) || - (a_ItemType == E_ITEM_CHEST_MINECART) || - (a_ItemType == E_ITEM_FURNACE_MINECART) || - (a_ItemType == E_ITEM_MINECART_WITH_TNT) || + (a_ItemType == E_ITEM_MINECART) || (a_ItemType == E_ITEM_CHEST_MINECART) || + (a_ItemType == E_ITEM_FURNACE_MINECART) || (a_ItemType == E_ITEM_MINECART_WITH_TNT) || (a_ItemType == E_ITEM_MINECART_WITH_HOPPER) ); } @@ -587,12 +558,7 @@ bool ItemCategory::IsMinecart(short a_ItemType) bool ItemCategory::IsArmor(short a_ItemType) { - return ( - IsHelmet(a_ItemType) || - IsChestPlate(a_ItemType) || - IsLeggings(a_ItemType) || - IsBoots(a_ItemType) - ); + return (IsHelmet(a_ItemType) || IsChestPlate(a_ItemType) || IsLeggings(a_ItemType) || IsBoots(a_ItemType)); } diff --git a/src/Defines.h b/src/Defines.h index ab0a639c4..e645e4660 100644 --- a/src/Defines.h +++ b/src/Defines.h @@ -27,7 +27,7 @@ enum { // Open to suggestion on naming convention here :) MAX_EXPERIENCE_ORB_SIZE = 2000 -} ; +}; @@ -37,25 +37,25 @@ enum enum eBlockFace { BLOCK_FACE_NONE = -1, // Interacting with no block face - swinging the item in the air - BLOCK_FACE_XM = 4, // Interacting with the X- face of the block - BLOCK_FACE_XP = 5, // Interacting with the X+ face of the block - BLOCK_FACE_YM = 0, // Interacting with the Y- face of the block - BLOCK_FACE_YP = 1, // Interacting with the Y+ face of the block - BLOCK_FACE_ZM = 2, // Interacting with the Z- face of the block - BLOCK_FACE_ZP = 3, // Interacting with the Z+ face of the block + BLOCK_FACE_XM = 4, // Interacting with the X- face of the block + BLOCK_FACE_XP = 5, // Interacting with the X+ face of the block + BLOCK_FACE_YM = 0, // Interacting with the Y- face of the block + BLOCK_FACE_YP = 1, // Interacting with the Y+ face of the block + BLOCK_FACE_ZM = 2, // Interacting with the Z- face of the block + BLOCK_FACE_ZP = 3, // Interacting with the Z+ face of the block // Synonyms using the (deprecated) world directions: BLOCK_FACE_BOTTOM = BLOCK_FACE_YM, // Interacting with the bottom face of the block - BLOCK_FACE_TOP = BLOCK_FACE_YP, // Interacting with the top face of the block - BLOCK_FACE_NORTH = BLOCK_FACE_ZM, // Interacting with the northern face of the block - BLOCK_FACE_SOUTH = BLOCK_FACE_ZP, // Interacting with the southern face of the block - BLOCK_FACE_WEST = BLOCK_FACE_XM, // Interacting with the western face of the block - BLOCK_FACE_EAST = BLOCK_FACE_XP, // Interacting with the eastern face of the block + BLOCK_FACE_TOP = BLOCK_FACE_YP, // Interacting with the top face of the block + BLOCK_FACE_NORTH = BLOCK_FACE_ZM, // Interacting with the northern face of the block + BLOCK_FACE_SOUTH = BLOCK_FACE_ZP, // Interacting with the southern face of the block + BLOCK_FACE_WEST = BLOCK_FACE_XM, // Interacting with the western face of the block + BLOCK_FACE_EAST = BLOCK_FACE_XP, // Interacting with the eastern face of the block // Bounds, used for range-checking: BLOCK_FACE_MIN = -1, - BLOCK_FACE_MAX = 5, -} ; + BLOCK_FACE_MAX = 5, +}; @@ -64,14 +64,14 @@ enum eBlockFace /** PlayerDigging status constants */ enum { - DIG_STATUS_STARTED = 0, - DIG_STATUS_CANCELLED = 1, - DIG_STATUS_FINISHED = 2, - DIG_STATUS_DROP_STACK = 3, - DIG_STATUS_DROP_HELD = 4, - DIG_STATUS_SHOOT_EAT = 5, + DIG_STATUS_STARTED = 0, + DIG_STATUS_CANCELLED = 1, + DIG_STATUS_FINISHED = 2, + DIG_STATUS_DROP_STACK = 3, + DIG_STATUS_DROP_HELD = 4, + DIG_STATUS_SHOOT_EAT = 5, DIG_STATUS_SWAP_ITEM_IN_HAND = 6, -} ; +}; @@ -115,7 +115,7 @@ enum eClickAction caUnknown = 255, // Keep this list in sync with ClickActionToString() function below! -} ; +}; @@ -123,23 +123,23 @@ enum eClickAction enum eGameMode { - eGameMode_NotSet = -1, - eGameMode_Survival = 0, - eGameMode_Creative = 1, + eGameMode_NotSet = -1, + eGameMode_Survival = 0, + eGameMode_Creative = 1, eGameMode_Adventure = 2, eGameMode_Spectator = 3, // Easier-to-use synonyms: - gmNotSet = eGameMode_NotSet, - gmSurvival = eGameMode_Survival, - gmCreative = eGameMode_Creative, + gmNotSet = eGameMode_NotSet, + gmSurvival = eGameMode_Survival, + gmCreative = eGameMode_Creative, gmAdventure = eGameMode_Adventure, gmSpectator = eGameMode_Spectator, // These two are used to check GameMode for validity when converting from integers. gmMax, // Gets automatically assigned gmMin = 0, -} ; +}; @@ -147,10 +147,10 @@ enum eGameMode enum eChatType { - ctChatBox = 0, - ctSystem = 1, + ctChatBox = 0, + ctSystem = 1, ctAboveActionBar = 2, -} ; +}; @@ -158,16 +158,16 @@ enum eChatType enum eWeather { - eWeather_Sunny = 0, - eWeather_Rain = 1, + eWeather_Sunny = 0, + eWeather_Rain = 1, eWeather_ThunderStorm = 2, // Easier-to-use synonyms: - wSunny = eWeather_Sunny, - wRain = eWeather_Rain, + wSunny = eWeather_Sunny, + wRain = eWeather_Rain, wThunderstorm = eWeather_ThunderStorm, - wStorm = wThunderstorm, -} ; + wStorm = wThunderstorm, +}; @@ -175,13 +175,13 @@ enum eWeather enum eMobHeadType { - SKULL_TYPE_SKELETON = 0, - SKULL_TYPE_WITHER = 1, - SKULL_TYPE_ZOMBIE = 2, - SKULL_TYPE_PLAYER = 3, - SKULL_TYPE_CREEPER = 4, - SKULL_TYPE_DRAGON = 5, -} ; + SKULL_TYPE_SKELETON = 0, + SKULL_TYPE_WITHER = 1, + SKULL_TYPE_ZOMBIE = 2, + SKULL_TYPE_PLAYER = 3, + SKULL_TYPE_CREEPER = 4, + SKULL_TYPE_DRAGON = 5, +}; @@ -205,7 +205,7 @@ enum eMobHeadRotation SKULL_ROTATION_WEST_NORTH_WEST = 13, SKULL_ROTATION_NORTH_WEST = 14, SKULL_ROTATION_NORTH_NORTH_WEST = 15, -} ; +}; @@ -229,11 +229,11 @@ enum eSkinPart /** Dimension of a world */ enum eDimension { - dimNether = -1, + dimNether = -1, dimOverworld = 0, - dimEnd = 1, - dimNotSet = 255, // For things that need an "indeterminate" state, such as cProtocol's LastSentDimension -} ; + dimEnd = 1, + dimNotSet = 255, // For things that need an "indeterminate" state, such as cProtocol's LastSentDimension +}; @@ -243,51 +243,51 @@ enum eDimension enum eDamageType { // Canonical names for the types (as documented in the plugin wiki): - dtAttack, // Being attacked by a mob - dtRangedAttack, // Being attacked by a projectile, possibly from a mob - dtLightning, // Hit by a lightning strike - dtFalling, // Falling down; dealt when hitting the ground - dtDrowning, // Drowning in water / lava - dtSuffocating, // Suffocating inside a block - dtStarving, // Hunger - dtCactusContact, // Contact with a cactus block - dtMagmaContact, // Contact with a magma block - dtLavaContact, // Contact with a lava block - dtPoisoning, // Having the poison effect - dtWithering, // Having the wither effect - dtOnFire, // Being on fire - dtFireContact, // Standing inside a fire block - dtInVoid, // Falling into the Void (Y < 0) + dtAttack, // Being attacked by a mob + dtRangedAttack, // Being attacked by a projectile, possibly from a mob + dtLightning, // Hit by a lightning strike + dtFalling, // Falling down; dealt when hitting the ground + dtDrowning, // Drowning in water / lava + dtSuffocating, // Suffocating inside a block + dtStarving, // Hunger + dtCactusContact, // Contact with a cactus block + dtMagmaContact, // Contact with a magma block + dtLavaContact, // Contact with a lava block + dtPoisoning, // Having the poison effect + dtWithering, // Having the wither effect + dtOnFire, // Being on fire + dtFireContact, // Standing inside a fire block + dtInVoid, // Falling into the Void (Y < 0) dtPotionOfHarming, - dtEnderPearl, // Thrown an ender pearl, teleported by it - dtAdmin, // Damage applied by an admin command - dtExplosion, // Damage applied by an explosion - dtEnvironment, // Damage dealt to mobs from environment: enderman in rain, snow golem in desert + dtEnderPearl, // Thrown an ender pearl, teleported by it + dtAdmin, // Damage applied by an admin command + dtExplosion, // Damage applied by an explosion + dtEnvironment, // Damage dealt to mobs from environment: enderman in rain, snow golem in desert // Some common synonyms: - dtPawnAttack = dtAttack, + dtPawnAttack = dtAttack, dtEntityAttack = dtAttack, - dtMob = dtAttack, - dtMobAttack = dtAttack, - dtArrowAttack = dtRangedAttack, - dtArrow = dtRangedAttack, - dtProjectile = dtRangedAttack, - dtFall = dtFalling, - dtDrown = dtDrowning, - dtSuffocation = dtSuffocating, - dtStarvation = dtStarving, - dtHunger = dtStarving, - dtCactus = dtCactusContact, - dtCactuses = dtCactusContact, - dtCacti = dtCactusContact, - dtMagma = dtMagmaContact, - dtLava = dtLavaContact, - dtPoison = dtPoisoning, - dtWither = dtWithering, - dtBurning = dtOnFire, - dtInFire = dtFireContact, - dtPlugin = dtAdmin, -} ; + dtMob = dtAttack, + dtMobAttack = dtAttack, + dtArrowAttack = dtRangedAttack, + dtArrow = dtRangedAttack, + dtProjectile = dtRangedAttack, + dtFall = dtFalling, + dtDrown = dtDrowning, + dtSuffocation = dtSuffocating, + dtStarvation = dtStarving, + dtHunger = dtStarving, + dtCactus = dtCactusContact, + dtCactuses = dtCactusContact, + dtCacti = dtCactusContact, + dtMagma = dtMagmaContact, + dtLava = dtLavaContact, + dtPoison = dtPoisoning, + dtWither = dtWithering, + dtBurning = dtOnFire, + dtInFire = dtFireContact, + dtPlugin = dtAdmin, +}; @@ -318,7 +318,7 @@ enum eExplosionSource esWitherBirth, esWitherSkull, esMax, -} ; +}; @@ -329,7 +329,7 @@ enum eShrapnelLevel slNone, slGravityAffectedOnly, slAll -} ; +}; @@ -342,7 +342,7 @@ enum eSpreadSource ssMushroomSpread, ssMycelSpread, ssVineSpread, -} ; +}; @@ -353,23 +353,23 @@ enum eMessageType // https://forum.cuberite.org/thread-1212.html // MessageType... - mtCustom, // Send raw data without any processing - mtFailure, // Something could not be done (i.e. command not executed due to insufficient privilege) - mtInformation, // Informational message (i.e. command usage) - mtSuccess, // Something executed successfully - mtWarning, // Something concerning (i.e. reload) is about to happen - mtFatal, // Something catastrophic occured (i.e. plugin crash) - mtDeath, // Denotes death of player + mtCustom, // Send raw data without any processing + mtFailure, // Something could not be done (i.e. command not executed due to insufficient privilege) + mtInformation, // Informational message (i.e. command usage) + mtSuccess, // Something executed successfully + mtWarning, // Something concerning (i.e. reload) is about to happen + mtFatal, // Something catastrophic occured (i.e. plugin crash) + mtDeath, // Denotes death of player mtPrivateMessage, // Player to player messaging identifier - mtJoin, // A player has joined the server - mtLeave, // A player has left the server - mtMaxPlusOne, // The first invalid type, used for checking on LuaAPI boundaries + mtJoin, // A player has joined the server + mtLeave, // A player has left the server + mtMaxPlusOne, // The first invalid type, used for checking on LuaAPI boundaries // Common aliases: - mtFail = mtFailure, + mtFail = mtFailure, mtError = mtFailure, - mtInfo = mtInformation, - mtPM = mtPrivateMessage, + mtInfo = mtInformation, + mtPM = mtPrivateMessage, }; @@ -542,7 +542,7 @@ eBlockFace RotateBlockFaceCCW(eBlockFace a_BlockFace); eBlockFace RotateBlockFaceCW(eBlockFace a_BlockFace); /** Returns a blockface opposite to the one specified. */ -eBlockFace ReverseBlockFace(eBlockFace a_BlockFace); +eBlockFace ReverseBlockFace(eBlockFace a_BlockFace); /** Returns the textual representation of the BlockFace constant. */ AString BlockFaceToString(eBlockFace a_BlockFace); @@ -553,7 +553,8 @@ bool IsValidBlock(int a_BlockType); /** Returns true if the specified item type is valid (known). */ bool IsValidItem(int a_ItemType); -/** Translates a dimension string to dimension enum. Takes either a number or a dimension alias (built-in). Returns dimOverworld on failure */ +/** Translates a dimension string to dimension enum. Takes either a number or a dimension alias (built-in). Returns + * dimOverworld on failure */ extern eDimension StringToDimension(const AString & a_DimensionString); /** Translates a dimension enum to dimension string. @@ -563,11 +564,12 @@ extern AString DimensionToString(eDimension a_Dimension); /** Translates damage type constant to a string representation (built-in). */ extern AString DamageTypeToString(eDamageType a_DamageType); -/** Translates a damage type string to damage type. Takes either a number or a damage type alias (built-in). Returns -1 on failure */ +/** Translates a damage type string to damage type. Takes either a number or a damage type alias (built-in). Returns -1 + * on failure */ extern eDamageType StringToDamageType(const AString & a_DamageString); -/** Modifies the specified coords so that they point to the block adjacent to the one specified through its specified face. -If a_Inverse is true, the opposite direction is used instead. */ +/** Modifies the specified coords so that they point to the block adjacent to the one specified through its specified +face. If a_Inverse is true, the opposite direction is used instead. */ void AddFaceDirection(int & a_BlockX, int & a_BlockY, int & a_BlockZ, eBlockFace a_BlockFace, bool a_bInverse = false); /** Returns the coords of a block that is neighboring the specified position through its specified face. @@ -613,8 +615,7 @@ inline void VectorToEuler(double a_X, double a_Y, double a_Z, double & a_Pan, do -template -inline T Diff(T a_Val1, T a_Val2) +template inline T Diff(T a_Val1, T a_Val2) { return std::abs(a_Val1 - a_Val2); } @@ -642,33 +643,33 @@ inline double NormalizeAngleDegrees(const double a_Degrees) namespace ItemCategory { - bool IsPickaxe(short a_ItemType); +bool IsPickaxe(short a_ItemType); - bool IsAxe(short a_ItemType); +bool IsAxe(short a_ItemType); - bool IsSword(short a_ItemType); +bool IsSword(short a_ItemType); - bool IsHoe(short a_ItemType); +bool IsHoe(short a_ItemType); - bool IsShovel(short a_ItemType); +bool IsShovel(short a_ItemType); - bool IsTool(short a_ItemType); +bool IsTool(short a_ItemType); - bool IsHelmet(short a_ItemType); +bool IsHelmet(short a_ItemType); - bool IsChestPlate(short a_ItemType); +bool IsChestPlate(short a_ItemType); - bool IsLeggings(short a_ItemType); +bool IsLeggings(short a_ItemType); - bool IsBoots(short a_ItemType); +bool IsBoots(short a_ItemType); - bool IsMinecart(short a_ItemType); +bool IsMinecart(short a_ItemType); - bool IsArmor(short a_ItemType); +bool IsArmor(short a_ItemType); - bool IsHorseArmor(short a_ItemType); +bool IsHorseArmor(short a_ItemType); - bool IsVillagerFood(short a_ItemType); -} +bool IsVillagerFood(short a_ItemType); +} // namespace ItemCategory // tolua_end diff --git a/src/Enchantments.cpp b/src/Enchantments.cpp index fbe4c8b95..f44609d31 100644 --- a/src/Enchantments.cpp +++ b/src/Enchantments.cpp @@ -33,7 +33,9 @@ cEnchantments::cEnchantments(const AString & a_StringSpec) void cEnchantments::Add(const cEnchantments & a_Other) { - for (cEnchantments::cMap::const_iterator itr = a_Other.m_Enchantments.begin(), end = a_Other.m_Enchantments.end(); itr != end; ++itr) + for (cEnchantments::cMap::const_iterator itr = a_Other.m_Enchantments.begin(), end = a_Other.m_Enchantments.end(); + itr != end; + ++itr) { SetLevel(itr->first, itr->second); } // for itr - a_Other.m_Enchantments[] @@ -98,7 +100,8 @@ AString cEnchantments::ToString() const { // Serialize all the enchantments into a string AString res; - for (cEnchantments::cMap::const_iterator itr = m_Enchantments.begin(), end = m_Enchantments.end(); itr != end; ++itr) + for (cEnchantments::cMap::const_iterator itr = m_Enchantments.begin(), end = m_Enchantments.end(); itr != end; + ++itr) { res.append(fmt::format(FMT_STRING("{}={};"), itr->first, itr->second)); } // for itr - m_Enchantments[] @@ -286,16 +289,15 @@ bool cEnchantments::CanAddEnchantment(int a_EnchantmentID) const return true; } - static const std::vector > IncompatibleEnchantments = - { + static const std::vector> IncompatibleEnchantments = { // Armor - { enchProtection, enchFireProtection, enchBlastProtection, enchProjectileProtection }, + {enchProtection, enchFireProtection, enchBlastProtection, enchProjectileProtection}, // Tool - { enchFortune, enchSilkTouch }, + {enchFortune, enchSilkTouch}, // Sword - { enchSharpness, enchSmite, enchBaneOfArthropods }, + {enchSharpness, enchSmite, enchBaneOfArthropods}, // Boots // {enchDepthStrider, enchFrostWalker}, @@ -304,12 +306,12 @@ bool cEnchantments::CanAddEnchantment(int a_EnchantmentID) const // {enchInfinity, enchMending} }; - for (const auto & excl: IncompatibleEnchantments) + for (const auto & excl : IncompatibleEnchantments) { if (excl.count(a_EnchantmentID) != 0) { // See if we also have any of the enchantments - for (auto ench: excl) + for (auto ench : excl) { if (GetLevel(ench) > 0) { @@ -331,34 +333,33 @@ int cEnchantments::StringToEnchantmentID(const AString & a_EnchantmentName) { int m_Value; const char * m_Name; - } EnchantmentNames[] = - { - { enchProtection, "Protection" }, - { enchFireProtection, "FireProtection" }, - { enchFeatherFalling, "FeatherFalling" }, - { enchBlastProtection, "BlastProtection" }, - { enchProjectileProtection, "ProjectileProtection" }, - { enchRespiration, "Respiration" }, - { enchAquaAffinity, "AquaAffinity" }, - { enchThorns, "Thorns" }, - { enchDepthStrider, "DepthStrider" }, - { enchSharpness, "Sharpness" }, - { enchSmite, "Smite" }, - { enchBaneOfArthropods, "BaneOfArthropods" }, - { enchKnockback, "Knockback" }, - { enchFireAspect, "FireAspect" }, - { enchLooting, "Looting" }, - { enchEfficiency, "Efficiency" }, - { enchSilkTouch, "SilkTouch" }, - { enchUnbreaking, "Unbreaking" }, - { enchFortune, "Fortune" }, - { enchPower, "Power" }, - { enchPunch, "Punch" }, - { enchFlame, "Flame" }, - { enchInfinity, "Infinity" }, - { enchLuckOfTheSea, "LuckOfTheSea" }, - { enchLure, "Lure" }, - } ; + } EnchantmentNames[] = { + {enchProtection, "Protection"}, + {enchFireProtection, "FireProtection"}, + {enchFeatherFalling, "FeatherFalling"}, + {enchBlastProtection, "BlastProtection"}, + {enchProjectileProtection, "ProjectileProtection"}, + {enchRespiration, "Respiration"}, + {enchAquaAffinity, "AquaAffinity"}, + {enchThorns, "Thorns"}, + {enchDepthStrider, "DepthStrider"}, + {enchSharpness, "Sharpness"}, + {enchSmite, "Smite"}, + {enchBaneOfArthropods, "BaneOfArthropods"}, + {enchKnockback, "Knockback"}, + {enchFireAspect, "FireAspect"}, + {enchLooting, "Looting"}, + {enchEfficiency, "Efficiency"}, + {enchSilkTouch, "SilkTouch"}, + {enchUnbreaking, "Unbreaking"}, + {enchFortune, "Fortune"}, + {enchPower, "Power"}, + {enchPunch, "Punch"}, + {enchFlame, "Flame"}, + {enchInfinity, "Infinity"}, + {enchLuckOfTheSea, "LuckOfTheSea"}, + {enchLure, "Lure"}, + }; // First try to parse as a number: int id = atoi(a_EnchantmentName.c_str()); @@ -382,7 +383,7 @@ int cEnchantments::StringToEnchantmentID(const AString & a_EnchantmentName) -bool cEnchantments::operator ==(const cEnchantments & a_Other) const +bool cEnchantments::operator==(const cEnchantments & a_Other) const { return m_Enchantments == a_Other.m_Enchantments; } @@ -391,7 +392,7 @@ bool cEnchantments::operator ==(const cEnchantments & a_Other) const -bool cEnchantments::operator !=(const cEnchantments & a_Other) const +bool cEnchantments::operator!=(const cEnchantments & a_Other) const { return m_Enchantments != a_Other.m_Enchantments; } @@ -400,7 +401,11 @@ bool cEnchantments::operator !=(const cEnchantments & a_Other) const -void cEnchantments::AddItemEnchantmentWeights(cWeightedEnchantments & a_Enchantments, short a_ItemType, unsigned a_EnchantmentLevel) +void cEnchantments::AddItemEnchantmentWeights( + cWeightedEnchantments & a_Enchantments, + short a_ItemType, + unsigned a_EnchantmentLevel +) { if (ItemCategory::IsSword(a_ItemType)) { @@ -1066,7 +1071,12 @@ void cEnchantments::AddItemEnchantmentWeights(cWeightedEnchantments & a_Enchantm -void cEnchantments::AddEnchantmentWeightToVector(cWeightedEnchantments & a_Enchantments, int a_Weight, int a_EnchantmentID, unsigned int a_EnchantmentLevel) +void cEnchantments::AddEnchantmentWeightToVector( + cWeightedEnchantments & a_Enchantments, + int a_Weight, + int a_EnchantmentID, + unsigned int a_EnchantmentLevel +) { cWeightedEnchantment weightedenchantment; weightedenchantment.m_Weight = a_Weight; @@ -1096,7 +1106,10 @@ void cEnchantments::RemoveEnchantmentWeightFromVector(cWeightedEnchantments & a_ -void cEnchantments::RemoveEnchantmentWeightFromVector(cWeightedEnchantments & a_Enchantments, const cEnchantments & a_Enchantment) +void cEnchantments::RemoveEnchantmentWeightFromVector( + cWeightedEnchantments & a_Enchantments, + const cEnchantments & a_Enchantment +) { for (cWeightedEnchantments::iterator it = a_Enchantments.begin(); it != a_Enchantments.end(); ++it) { @@ -1113,7 +1126,8 @@ void cEnchantments::RemoveEnchantmentWeightFromVector(cWeightedEnchantments & a_ void cEnchantments::CheckEnchantmentConflictsFromVector( - cWeightedEnchantments & a_Enchantments, const cEnchantments & a_FirstEnchantment + cWeightedEnchantments & a_Enchantments, + const cEnchantments & a_FirstEnchantment ) { if (a_FirstEnchantment.GetLevel(cEnchantments::enchProtection) > 0) @@ -1170,15 +1184,18 @@ void cEnchantments::CheckEnchantmentConflictsFromVector( -cEnchantments cEnchantments::GetRandomEnchantmentFromVector(const cWeightedEnchantments & a_Enchantments, MTRand & a_Random) +cEnchantments cEnchantments::GetRandomEnchantmentFromVector( + const cWeightedEnchantments & a_Enchantments, + MTRand & a_Random +) { int AllWeights = 0; - for (const auto & Enchantment: a_Enchantments) + for (const auto & Enchantment : a_Enchantments) { AllWeights += Enchantment.m_Weight; } int RandomNumber = a_Random.RandInt(AllWeights - 1); - for (const auto & Enchantment: a_Enchantments) + for (const auto & Enchantment : a_Enchantments) { RandomNumber -= Enchantment.m_Weight; if (RandomNumber < 0) @@ -1224,7 +1241,3 @@ cEnchantments cEnchantments::SelectEnchantmentFromVector(const cWeightedEnchantm // No enchantment picked, return an empty one (we probably shouldn't ever get here): return cEnchantments(); } - - - - diff --git a/src/Enchantments.h b/src/Enchantments.h index 941a763e7..0d4542987 100644 --- a/src/Enchantments.h +++ b/src/Enchantments.h @@ -40,39 +40,39 @@ Serialization will never put zero-level enchantments into the stringspec and wil // tolua_begin class cEnchantments { -public: + public: /** Individual enchantment IDs, corresponding to their NBT IDs: https://minecraft.wiki/w/Data_values#Enchantment_IDs - */ + */ enum eEnchantment { // Currently missing: Frost walker, curse of binding, sweeping edge, mending, and curse of vanishing. - enchProtection = 0, - enchFireProtection = 1, - enchFeatherFalling = 2, - enchBlastProtection = 3, + enchProtection = 0, + enchFireProtection = 1, + enchFeatherFalling = 2, + enchBlastProtection = 3, enchProjectileProtection = 4, - enchRespiration = 5, - enchAquaAffinity = 6, - enchThorns = 7, - enchDepthStrider = 8, - enchSharpness = 16, - enchSmite = 17, - enchBaneOfArthropods = 18, - enchKnockback = 19, - enchFireAspect = 20, - enchLooting = 21, - enchEfficiency = 32, - enchSilkTouch = 33, - enchUnbreaking = 34, - enchFortune = 35, - enchPower = 48, - enchPunch = 49, - enchFlame = 50, - enchInfinity = 51, - enchLuckOfTheSea = 61, - enchLure = 62, - } ; + enchRespiration = 5, + enchAquaAffinity = 6, + enchThorns = 7, + enchDepthStrider = 8, + enchSharpness = 16, + enchSmite = 17, + enchBaneOfArthropods = 18, + enchKnockback = 19, + enchFireAspect = 20, + enchLooting = 21, + enchEfficiency = 32, + enchSilkTouch = 33, + enchUnbreaking = 34, + enchFortune = 35, + enchPower = 48, + enchPunch = 49, + enchFlame = 50, + enchInfinity = 51, + enchLuckOfTheSea = 61, + enchLure = 62, + }; /** Creates an empty enchantments container */ cEnchantments(void); @@ -81,7 +81,8 @@ public: cEnchantments(const AString & a_StringSpec); /** Adds the enchantments contained in a_Other into this object. - Existing enchantments are preserved, unless a_Other specifies a different level, in which case the level is changed to the a_Other's one. */ + Existing enchantments are preserved, unless a_Other specifies a different level, in which case the level is changed + to the a_Other's one. */ void Add(const cEnchantments & a_Other); /** Adds enchantments in the stringspec; if a specified enchantment already exists, overwrites it */ @@ -105,14 +106,16 @@ public: /** Returns true if there are no enchantments */ bool IsEmpty(void) const; - /** Returns true if the given enchantment could be legally added to this object. Note that adding the enchantment may not actually increase the level. */ + /** Returns true if the given enchantment could be legally added to this object. Note that adding the enchantment + * may not actually increase the level. */ bool CanAddEnchantment(int a_EnchantmentID) const; - /** Converts enchantment name or ID (number in string) to the numeric representation; returns -1 if enchantment name not found; case insensitive */ + /** Converts enchantment name or ID (number in string) to the numeric representation; returns -1 if enchantment name + * not found; case insensitive */ static int StringToEnchantmentID(const AString & a_EnchantmentName); /** Returns true if a_Other contains exactly the same enchantments and levels */ - bool operator ==(const cEnchantments & a_Other) const; + bool operator==(const cEnchantments & a_Other) const; // tolua_end @@ -126,22 +129,40 @@ public: static unsigned int GetLevelCap(int a_EnchantmentID); /** Add enchantment weights from item to the vector */ - static void AddItemEnchantmentWeights(cWeightedEnchantments & a_Enchantments, short a_ItemType, unsigned a_EnchantmentLevel); + static void AddItemEnchantmentWeights( + cWeightedEnchantments & a_Enchantments, + short a_ItemType, + unsigned a_EnchantmentLevel + ); /** Add a enchantment with weight to the vector */ - static void AddEnchantmentWeightToVector(cWeightedEnchantments & a_Enchantments, int a_Weight, int a_EnchantmentID, unsigned int a_EnchantmentLevel); + static void AddEnchantmentWeightToVector( + cWeightedEnchantments & a_Enchantments, + int a_Weight, + int a_EnchantmentID, + unsigned int a_EnchantmentLevel + ); /** Remove the entire enchantment (with weight) from the vector */ static void RemoveEnchantmentWeightFromVector(cWeightedEnchantments & a_Enchantments, int a_EnchantmentID); /** Remove the entire enchantment (with weight) from the vector */ - static void RemoveEnchantmentWeightFromVector(cWeightedEnchantments & a_Enchantments, const cEnchantments & a_Enchantment); + static void RemoveEnchantmentWeightFromVector( + cWeightedEnchantments & a_Enchantments, + const cEnchantments & a_Enchantment + ); /** Check enchantment conflicts from enchantments from the vector */ - static void CheckEnchantmentConflictsFromVector(cWeightedEnchantments & a_Enchantments, const cEnchantments & a_FirstEnchantment); + static void CheckEnchantmentConflictsFromVector( + cWeightedEnchantments & a_Enchantments, + const cEnchantments & a_FirstEnchantment + ); /** Gets random enchantment from Vector and returns it, with randomness derived from the provided PRNG. */ - static cEnchantments GetRandomEnchantmentFromVector(const cWeightedEnchantments & a_Enchantments, MTRand & a_Random); + static cEnchantments GetRandomEnchantmentFromVector( + const cWeightedEnchantments & a_Enchantments, + MTRand & a_Random + ); /** Selects one enchantment from a Vector using cNoise. Mostly used for generators. Uses the enchantments' weights for the random distribution. @@ -149,25 +170,34 @@ public: static cEnchantments SelectEnchantmentFromVector(const cWeightedEnchantments & a_Enchantments, int a_Seed); /** Returns true if a_Other doesn't contain exactly the same enchantments and levels */ - bool operator !=(const cEnchantments & a_Other) const; + bool operator!=(const cEnchantments & a_Other) const; - /** Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or "StoredEnchantments") */ - friend void EnchantmentSerializer::WriteToNBTCompound(const cEnchantments & a_Enchantments, cFastNBTWriter & a_Writer, const AString & a_ListTagName); + /** Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or + * "StoredEnchantments") */ + friend void EnchantmentSerializer::WriteToNBTCompound( + const cEnchantments & a_Enchantments, + cFastNBTWriter & a_Writer, + const AString & a_ListTagName + ); /** Reads the enchantments from the specified NBT list tag (ench or StoredEnchantments) */ - friend void EnchantmentSerializer::ParseFromNBT(cEnchantments & a_Enchantments, const cParsedNBT & a_NBT, int a_EnchListTagIdx); + friend void EnchantmentSerializer::ParseFromNBT( + cEnchantments & a_Enchantments, + const cParsedNBT & a_NBT, + int a_EnchListTagIdx + ); -protected: + protected: /** Maps enchantment ID -> enchantment level */ typedef std::map cMap; /** Currently stored enchantments */ cMap m_Enchantments; -public: + public: /** Make this class iterable */ cMap::const_iterator begin() const { return m_Enchantments.begin(); } - cMap::const_iterator end() const { return m_Enchantments.end(); } + cMap::const_iterator end() const { return m_Enchantments.end(); } }; // tolua_export @@ -179,6 +209,3 @@ struct cWeightedEnchantment int m_Weight; cEnchantments m_Enchantments; }; - - - diff --git a/src/Endianness.h b/src/Endianness.h index 0e8bc8e99..cfa859328 100644 --- a/src/Endianness.h +++ b/src/Endianness.h @@ -1,7 +1,7 @@ #pragma once -#undef ntohll +#undef ntohll #define ntohll(x) (((static_cast(ntohl(static_cast(x)))) << 32) + ntohl(x >> 32)) @@ -12,8 +12,8 @@ inline UInt64 HostToNetwork8(const void * a_Value) { UInt64 buf; - memcpy( &buf, a_Value, sizeof( buf)); - buf = (( ( static_cast(htonl(static_cast(buf)))) << 32) + htonl(buf >> 32)); + memcpy(&buf, a_Value, sizeof(buf)); + buf = (((static_cast(htonl(static_cast(buf)))) << 32) + htonl(buf >> 32)); return buf; } @@ -24,8 +24,8 @@ inline UInt64 HostToNetwork8(const void * a_Value) inline UInt32 HostToNetwork4(const void * a_Value) { UInt32 buf; - memcpy( &buf, a_Value, sizeof( buf)); - buf = ntohl( buf); + memcpy(&buf, a_Value, sizeof(buf)); + buf = ntohl(buf); return buf; } @@ -80,7 +80,3 @@ inline float NetworkToHostFloat4(const void * a_Value) memcpy(&x, &buf, sizeof(float)); return x; } - - - - diff --git a/src/Entities/ArrowEntity.cpp b/src/Entities/ArrowEntity.cpp index c21f2a7f3..5f8988b61 100644 --- a/src/Entities/ArrowEntity.cpp +++ b/src/Entities/ArrowEntity.cpp @@ -9,7 +9,7 @@ -cArrowEntity::cArrowEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed): +cArrowEntity::cArrowEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed) : Super(pkArrow, a_Creator, a_Pos, a_Speed, 0.5f, 0.5f), m_PickupState(psNoPickup), m_DamageCoeff(2), @@ -20,8 +20,12 @@ cArrowEntity::cArrowEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed SetMass(0.1); SetGravity(-20.0f); - FLOGD("Created arrow {0} with speed {1:.02f} and rot {{{2:.02f}, {3:.02f}}}", - m_UniqueID, GetSpeed(), GetYaw(), GetPitch() + FLOGD( + "Created arrow {0} with speed {1:.02f} and rot {{{2:.02f}, {3:.02f}}}", + m_UniqueID, + GetSpeed(), + GetYaw(), + GetPitch() ); } @@ -81,7 +85,12 @@ void cArrowEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) m_HitBlockPos = (a_HitPos + (Speed / 100000)).Floor(); // Broadcast arrow hit sound - m_World->BroadcastSoundEffect("entity.arrow.hit", m_HitBlockPos, 0.5f, static_cast(0.75 + (static_cast((GetUniqueID() * 23) % 32)) / 64)); + m_World->BroadcastSoundEffect( + "entity.arrow.hit", + m_HitBlockPos, + 0.5f, + static_cast(0.75 + (static_cast((GetUniqueID() * 23) % 32)) / 64) + ); // Trigger any buttons that were hit // Wooden buttons will be depressed by the arrow @@ -129,7 +138,12 @@ void cArrowEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) } // Broadcast successful hit sound - GetWorld()->BroadcastSoundEffect("entity.arrow.hit", GetPosition(), 0.5, static_cast(0.75 + (static_cast((GetUniqueID() * 23) % 32)) / 64)); + GetWorld()->BroadcastSoundEffect( + "entity.arrow.hit", + GetPosition(), + 0.5, + static_cast(0.75 + (static_cast((GetUniqueID() * 23) % 32)) / 64) + ); Destroy(); } @@ -154,7 +168,12 @@ void cArrowEntity::CollectedBy(cPlayer & a_Dest) } GetWorld()->BroadcastCollectEntity(*this, a_Dest, 1); - GetWorld()->BroadcastSoundEffect("entity.item.pickup", GetPosition(), 0.3f, (1.2f + (static_cast((GetUniqueID() * 23) % 32)) / 64)); + GetWorld()->BroadcastSoundEffect( + "entity.item.pickup", + GetPosition(), + 0.3f, + (1.2f + (static_cast((GetUniqueID() * 23) % 32)) / 64) + ); m_bIsCollected = true; } } diff --git a/src/Entities/ArrowEntity.h b/src/Entities/ArrowEntity.h index 793e09401..5cf9fb1eb 100644 --- a/src/Entities/ArrowEntity.h +++ b/src/Entities/ArrowEntity.h @@ -17,8 +17,7 @@ // tolua_begin -class cArrowEntity : - public cProjectileEntity +class cArrowEntity : public cProjectileEntity { // tolua_end @@ -27,19 +26,19 @@ class cArrowEntity : // tolua_begin -public: - - /** Determines when the arrow can be picked up (depending on player gamemode). Corresponds to the MCA file "pickup" field */ + public: + /** Determines when the arrow can be picked up (depending on player gamemode). Corresponds to the MCA file "pickup" + * field */ enum ePickupState { - psNoPickup = 0, + psNoPickup = 0, psInSurvivalOrCreative = 1, - psInCreative = 2, - } ; + psInCreative = 2, + }; // tolua_end - static constexpr float ARROW_WATER_FRICTION = 50.0f; ///< Value used to calculate arrow speed in water + static constexpr float ARROW_WATER_FRICTION = 50.0f; ///< Value used to calculate arrow speed in water CLASS_PROTODEF(cArrowEntity) @@ -80,12 +79,12 @@ public: /** Sets the block arrow is in. To be used by the MCA loader only! */ void SetBlockHit(const Vector3i & a_BlockHit) { m_HitBlockPos = a_BlockHit; } -protected: - + protected: /** Determines when the arrow can be picked up by players */ ePickupState m_PickupState; - /** The coefficient applied to the damage that the arrow will deal, based on the bow enchantment. 2.0 for normal arrow */ + /** The coefficient applied to the damage that the arrow will deal, based on the bow enchantment. 2.0 for normal + * arrow */ double m_DamageCoeff; /** If true, the arrow deals more damage */ diff --git a/src/Entities/Boat.cpp b/src/Entities/Boat.cpp index 9ad0dd5f9..38a24ab65 100644 --- a/src/Entities/Boat.cpp +++ b/src/Entities/Boat.cpp @@ -16,8 +16,7 @@ class cBoatCollisionCallback { -public: - + public: cBoatCollisionCallback(cBoat & a_Boat, cEntity * a_Attachee) : m_Boat(a_Boat), m_Attachee(a_Attachee) { @@ -36,8 +35,7 @@ public: return false; } -protected: - + protected: cBoat & m_Boat; cEntity * m_Attachee; }; @@ -48,9 +46,12 @@ protected: cBoat::cBoat(Vector3d a_Pos, eMaterial a_Material) : Super(etBoat, a_Pos, 1.375f, 0.5625f), - m_LastDamage(0), m_ForwardDirection(0), - m_DamageTaken(0.0f), m_Material(a_Material), - m_RightPaddleUsed(false), m_LeftPaddleUsed(false) + m_LastDamage(0), + m_ForwardDirection(0), + m_DamageTaken(0.0f), + m_Material(a_Material), + m_RightPaddleUsed(false), + m_LeftPaddleUsed(false) { SetMass(20.0f); SetGravity(-16.0f); @@ -210,7 +211,7 @@ void cBoat::HandleSpeedFromAttachee(float a_Forward, float a_Sideways) return; } - Vector3d ToAddSpeed = m_Attachee->GetLookVector() * (a_Sideways * 0.4) ; + Vector3d ToAddSpeed = m_Attachee->GetLookVector() * (a_Sideways * 0.4); ToAddSpeed.y = 0; AddSpeed(ToAddSpeed); @@ -353,8 +354,7 @@ void cBoat::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) // Calculate boat's bounding box, run collision callback on all entities in said box cBoatCollisionCallback BoatCollisionCallback(*this, m_Attachee); Vector3d BoatPosition = GetPosition(); - cBoundingBox bbBoat( - Vector3d(BoatPosition.x, floor(BoatPosition.y), BoatPosition.z), GetWidth() / 2, GetHeight()); + cBoundingBox bbBoat(Vector3d(BoatPosition.x, floor(BoatPosition.y), BoatPosition.z), GetWidth() / 2, GetHeight()); m_World->ForEachEntityInBox(bbBoat, BoatCollisionCallback); // Return to calculating physics normally diff --git a/src/Entities/Boat.h b/src/Entities/Boat.h index 455e740e2..ddb7af93d 100644 --- a/src/Entities/Boat.h +++ b/src/Entities/Boat.h @@ -15,8 +15,7 @@ // tolua_begin -class cBoat: - public cEntity +class cBoat : public cEntity { // tolua_end @@ -24,7 +23,7 @@ class cBoat: // tolua_begin -public: + public: enum eMaterial { bmOak, @@ -63,7 +62,8 @@ public: /** Sets the eMaterial of the boat */ void SetMaterial(cBoat::eMaterial a_Material) { m_Material = a_Material; } - /** Returns the eMaterial that should be used for a boat created from the specified item. Returns bmOak if not a boat item */ + /** Returns the eMaterial that should be used for a boat created from the specified item. Returns bmOak if not a + * boat item */ static eMaterial ItemToMaterial(const cItem & a_Item); /** Returns the boat item of the boat material */ @@ -83,7 +83,8 @@ public: void SetLastDamage(int TimeSinceLastHit); void UpdatePaddles(bool rightPaddleUsed, bool leftPaddleUsed); -private: + + private: int m_LastDamage; int m_ForwardDirection; @@ -93,4 +94,4 @@ private: bool m_RightPaddleUsed; bool m_LeftPaddleUsed; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/EnderCrystal.h b/src/Entities/EnderCrystal.h index 7e783ffd2..8fa6acdbe 100644 --- a/src/Entities/EnderCrystal.h +++ b/src/Entities/EnderCrystal.h @@ -8,14 +8,12 @@ // tolua_begin -class cEnderCrystal : - public cEntity +class cEnderCrystal : public cEntity { // tolua_end using Super = cEntity; -public: - + public: CLASS_PROTODEF(cEnderCrystal) cEnderCrystal(Vector3d a_Pos, bool a_ShowBottom); @@ -35,8 +33,7 @@ public: // tolua_end -private: - + private: Vector3i m_BeamTarget; bool m_DisplayBeam; @@ -49,7 +46,3 @@ private: virtual void KilledBy(TakeDamageInfo & a_TDI) override; }; // tolua_export - - - - diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index 26ee7ed6f..8b4110b94 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -34,7 +34,7 @@ static UInt32 GetNextUniqueID(void) //////////////////////////////////////////////////////////////////////////////// // cEntity: -cEntity::cEntity(eEntityType a_EntityType, Vector3d a_Pos, float a_Width, float a_Height): +cEntity::cEntity(eEntityType a_EntityType, Vector3d a_Pos, float a_Width, float a_Height) : m_UniqueID(GetNextUniqueID()), m_Health(1), m_MaxHealth(1), @@ -69,7 +69,7 @@ cEntity::cEntity(eEntityType a_EntityType, Vector3d a_Pos, float a_Width, float m_Rot(0.0, 0.0, 0.0), m_Position(a_Pos), m_WaterSpeed(0, 0, 0), - m_Mass (0.001), // Default 1g + m_Mass(0.001), // Default 1g m_Width(a_Width), m_Height(a_Height), m_InvulnerableTicks(0) @@ -251,18 +251,23 @@ void cEntity::Destroy() } auto ParentChunkCoords = cChunkDef::BlockToChunk(GetPosition()); - m_World->QueueTask([this, ParentChunkCoords](cWorld & a_World) - { - LOGD("Destroying entity #%i (%s) from chunk (%d, %d)", - this->GetUniqueID(), this->GetClass(), - ParentChunkCoords.m_ChunkX, ParentChunkCoords.m_ChunkZ - ); - UNUSED(ParentChunkCoords); // Non Debug mode only + m_World->QueueTask( + [this, ParentChunkCoords](cWorld & a_World) + { + LOGD( + "Destroying entity #%i (%s) from chunk (%d, %d)", + this->GetUniqueID(), + this->GetClass(), + ParentChunkCoords.m_ChunkX, + ParentChunkCoords.m_ChunkZ + ); + UNUSED(ParentChunkCoords); // Non Debug mode only - // Make sure that RemoveEntity returned a valid smart pointer - // Also, not storing the returned pointer means automatic destruction - VERIFY(a_World.RemoveEntity(*this)); - }); + // Make sure that RemoveEntity returned a valid smart pointer + // Also, not storing the returned pointer means automatic destruction + VERIFY(a_World.RemoveEntity(*this)); + } + ); } @@ -295,12 +300,14 @@ void cEntity::TakeDamage(eDamageType a_DamageType, cEntity * a_Attacker, int a_R void cEntity::TakeDamage(eDamageType a_DamageType, UInt32 a_AttackerID, int a_RawDamage, double a_KnockbackAmount) { - m_World->DoWithEntityByID(a_AttackerID, [=](cEntity & a_Attacker) + m_World->DoWithEntityByID( + a_AttackerID, + [=](cEntity & a_Attacker) { cPawn * Attacker; if (a_Attacker.IsPawn()) { - Attacker = static_cast(&a_Attacker); + Attacker = static_cast(&a_Attacker); } else { @@ -317,7 +324,13 @@ void cEntity::TakeDamage(eDamageType a_DamageType, UInt32 a_AttackerID, int a_Ra -void cEntity::TakeDamage(eDamageType a_DamageType, cEntity * a_Attacker, int a_RawDamage, float a_FinalDamage, double a_KnockbackAmount) +void cEntity::TakeDamage( + eDamageType a_DamageType, + cEntity * a_Attacker, + int a_RawDamage, + float a_FinalDamage, + double a_KnockbackAmount +) { TakeDamageInfo TDI; TDI.DamageType = a_DamageType; @@ -358,7 +371,8 @@ void cEntity::TakeDamage(eDamageType a_DamageType, cEntity * a_Attacker, int a_R } // Apply slight height to knockback - Vector3d FinalKnockback = Vector3d(Heading.x * a_KnockbackAmount, Heading.y + KnockbackHeight, Heading.z * a_KnockbackAmount); + Vector3d FinalKnockback = + Vector3d(Heading.x * a_KnockbackAmount, Heading.y + KnockbackHeight, Heading.z * a_KnockbackAmount); TDI.Knockback = FinalKnockback; DoTakeDamage(TDI); @@ -502,7 +516,8 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI) // The duration of the effect is a random value between 1 and 1.5 seconds at level I, // increasing the max duration by 0.5 seconds each level. // Ref: https://minecraft.wiki/w/Enchanting#Bane_of_Arthropods - int Duration = 20 + GetRandomProvider().RandInt(BaneOfArthropodsLevel * 10); // Duration in ticks. + int Duration = + 20 + GetRandomProvider().RandInt(BaneOfArthropodsLevel * 10); // Duration in ticks. Monster->AddEntityEffect(cEntityEffect::effSlowness, Duration, 4); break; @@ -552,7 +567,8 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI) } unsigned int ThornsLevel = 0; - const cItem ArmorItems[] = { GetEquippedHelmet(), GetEquippedChestplate(), GetEquippedLeggings(), GetEquippedBoots() }; + const cItem ArmorItems[] = + {GetEquippedHelmet(), GetEquippedChestplate(), GetEquippedLeggings(), GetEquippedBoots()}; for (size_t i = 0; i < ARRAYCOUNT(ArmorItems); i++) { const cItem & Item = ArmorItems[i]; @@ -571,7 +587,8 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI) } } - Player->GetStatistics().Custom[CustomStatistic::DamageDealt] += FloorC(a_TDI.FinalDamage * 10 + 0.5); + Player->GetStatistics().Custom[CustomStatistic::DamageDealt] += + FloorC(a_TDI.FinalDamage * 10 + 0.5); } m_Health -= a_TDI.FinalDamage; @@ -583,15 +600,18 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI) SetSpeed(a_TDI.Knockback); } - m_World->BroadcastEntityAnimation(*this, [&a_TDI] - { - switch (a_TDI.DamageType) + m_World->BroadcastEntityAnimation( + *this, + [&a_TDI] { - case eDamageType::dtBurning: return EntityAnimation::PawnBurns; - case eDamageType::dtDrowning: return EntityAnimation::PawnDrowns; - default: return EntityAnimation::PawnHurts; - } - }()); + switch (a_TDI.DamageType) + { + case eDamageType::dtBurning: return EntityAnimation::PawnBurns; + case eDamageType::dtDrowning: return EntityAnimation::PawnDrowns; + default: return EntityAnimation::PawnHurts; + } + }() + ); m_InvulnerableTicks = 10; @@ -665,7 +685,8 @@ bool cEntity::ArmorCoversAgainst(eDamageType a_DamageType) { case dtOnFire: case dtSuffocating: - case dtDrowning: // TODO: This one could be a special case - in various MC versions (PC vs XBox) it is and isn't armor-protected + case dtDrowning: // TODO: This one could be a special case - in various MC versions (PC vs XBox) it is and + // isn't armor-protected case dtEnderPearl: case dtStarving: case dtInVoid: @@ -702,7 +723,8 @@ float cEntity::GetEnchantmentCoverAgainst(const cEntity * a_Attacker, eDamageTyp { int TotalEPF = 0; - const cItem ArmorItems[] = { GetEquippedHelmet(), GetEquippedChestplate(), GetEquippedLeggings(), GetEquippedBoots() }; + const cItem ArmorItems[] = + {GetEquippedHelmet(), GetEquippedChestplate(), GetEquippedLeggings(), GetEquippedBoots()}; for (size_t i = 0; i < ARRAYCOUNT(ArmorItems); i++) { const cItem & Item = ArmorItems[i]; @@ -712,7 +734,8 @@ float cEntity::GetEnchantmentCoverAgainst(const cEntity * a_Attacker, eDamageTyp TotalEPF += static_cast(Item.m_Enchantments.GetLevel(cEnchantments::enchProtection)) * 1; } - if ((a_DamageType == dtBurning) || (a_DamageType == dtFireContact) || (a_DamageType == dtLavaContact) || (a_DamageType == dtMagmaContact)) + if ((a_DamageType == dtBurning) || (a_DamageType == dtFireContact) || (a_DamageType == dtLavaContact) || + (a_DamageType == dtMagmaContact)) { TotalEPF += static_cast(Item.m_Enchantments.GetLevel(cEnchantments::enchFireProtection)) * 2; } @@ -745,7 +768,8 @@ float cEntity::GetEnchantmentBlastKnockbackReduction() { UInt32 MaxLevel = 0; - const cItem ArmorItems[] = { GetEquippedHelmet(), GetEquippedChestplate(), GetEquippedLeggings(), GetEquippedBoots() }; + const cItem ArmorItems[] = + {GetEquippedHelmet(), GetEquippedChestplate(), GetEquippedLeggings(), GetEquippedBoots()}; for (auto & Item : ArmorItems) { @@ -782,27 +806,36 @@ float cEntity::GetArmorCoverAgainst(const cEntity * a_Attacker, eDamageType a_Da int Toughness = 0; switch (GetEquippedHelmet().m_ItemType) { - case E_ITEM_LEATHER_CAP: ArmorValue += 1; break; - case E_ITEM_GOLD_HELMET: ArmorValue += 2; break; - case E_ITEM_CHAIN_HELMET: ArmorValue += 2; break; - case E_ITEM_IRON_HELMET: ArmorValue += 2; break; - case E_ITEM_DIAMOND_HELMET: ArmorValue += 3; Toughness += 2; break; + case E_ITEM_LEATHER_CAP: ArmorValue += 1; break; + case E_ITEM_GOLD_HELMET: ArmorValue += 2; break; + case E_ITEM_CHAIN_HELMET: ArmorValue += 2; break; + case E_ITEM_IRON_HELMET: ArmorValue += 2; break; + case E_ITEM_DIAMOND_HELMET: + ArmorValue += 3; + Toughness += 2; + break; } switch (GetEquippedChestplate().m_ItemType) { - case E_ITEM_LEATHER_TUNIC: ArmorValue += 3; break; - case E_ITEM_GOLD_CHESTPLATE: ArmorValue += 5; break; - case E_ITEM_CHAIN_CHESTPLATE: ArmorValue += 5; break; - case E_ITEM_IRON_CHESTPLATE: ArmorValue += 6; break; - case E_ITEM_DIAMOND_CHESTPLATE: ArmorValue += 8; Toughness += 2; break; + case E_ITEM_LEATHER_TUNIC: ArmorValue += 3; break; + case E_ITEM_GOLD_CHESTPLATE: ArmorValue += 5; break; + case E_ITEM_CHAIN_CHESTPLATE: ArmorValue += 5; break; + case E_ITEM_IRON_CHESTPLATE: ArmorValue += 6; break; + case E_ITEM_DIAMOND_CHESTPLATE: + ArmorValue += 8; + Toughness += 2; + break; } switch (GetEquippedLeggings().m_ItemType) { - case E_ITEM_LEATHER_PANTS: ArmorValue += 2; break; - case E_ITEM_GOLD_LEGGINGS: ArmorValue += 3; break; - case E_ITEM_CHAIN_LEGGINGS: ArmorValue += 4; break; - case E_ITEM_IRON_LEGGINGS: ArmorValue += 5; break; - case E_ITEM_DIAMOND_LEGGINGS: ArmorValue += 6; Toughness += 2; break; + case E_ITEM_LEATHER_PANTS: ArmorValue += 2; break; + case E_ITEM_GOLD_LEGGINGS: ArmorValue += 3; break; + case E_ITEM_CHAIN_LEGGINGS: ArmorValue += 4; break; + case E_ITEM_IRON_LEGGINGS: ArmorValue += 5; break; + case E_ITEM_DIAMOND_LEGGINGS: + ArmorValue += 6; + Toughness += 2; + break; } switch (GetEquippedBoots().m_ItemType) { @@ -810,7 +843,10 @@ float cEntity::GetArmorCoverAgainst(const cEntity * a_Attacker, eDamageType a_Da case E_ITEM_GOLD_BOOTS: ArmorValue += 1; break; case E_ITEM_CHAIN_BOOTS: ArmorValue += 1; break; case E_ITEM_IRON_BOOTS: ArmorValue += 2; break; - case E_ITEM_DIAMOND_BOOTS: ArmorValue += 3; Toughness += 2; break; + case E_ITEM_DIAMOND_BOOTS: + ArmorValue += 3; + Toughness += 2; + break; } // TODO: Special armor cases, such as wool, saddles, dog's collar @@ -868,11 +904,8 @@ void cEntity::KilledBy(TakeDamageInfo & a_TDI) } // Drop loot, unless the attacker was a creative mode player: - if ( - (a_TDI.Attacker == nullptr) || - !a_TDI.Attacker->IsPlayer() || - !static_cast(a_TDI.Attacker)->IsGameModeCreative() - ) + if ((a_TDI.Attacker == nullptr) || !a_TDI.Attacker->IsPlayer() || + !static_cast(a_TDI.Attacker)->IsGameModeCreative()) { cItems Drops; GetDrops(Drops, a_TDI.Attacker); @@ -955,27 +988,22 @@ void cEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } // Handle cactus damage or destruction: - if ( - IsMob() || IsPickup() || - (IsPlayer() && !((static_cast(this))->IsGameModeCreative() || (static_cast(this))->IsGameModeSpectator())) - ) + if (IsMob() || IsPickup() || + (IsPlayer() && + !((static_cast(this))->IsGameModeCreative() || + (static_cast(this))->IsGameModeSpectator()))) { DetectCacti(); } // Handle magma block damage - if - ( - IsOnGround() && - ( - (IsMob() && !static_cast(this)->IsFireproof()) || - ( - IsPlayer() && !((static_cast(this))->IsGameModeCreative() || (static_cast(this))->IsGameModeSpectator()) - && !static_cast(this)->IsFireproof() - && !static_cast(this)->HasEntityEffect(cEntityEffect::effFireResistance) - ) - ) - ) + if (IsOnGround() && + ((IsMob() && !static_cast(this)->IsFireproof()) || + (IsPlayer() && + !((static_cast(this))->IsGameModeCreative() || + (static_cast(this))->IsGameModeSpectator()) && + !static_cast(this)->IsFireproof() && + !static_cast(this)->HasEntityEffect(cEntityEffect::effFireResistance)))) { DetectMagma(); } @@ -1022,7 +1050,7 @@ void cEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) int RelBlockX = BlockX - (NextChunk->GetPosX() * cChunkDef::Width); int RelBlockZ = BlockZ - (NextChunk->GetPosZ() * cChunkDef::Width); - BLOCKTYPE BlockIn = NextChunk->GetBlock( RelBlockX, BlockY, RelBlockZ); + BLOCKTYPE BlockIn = NextChunk->GetBlock(RelBlockX, BlockY, RelBlockZ); BLOCKTYPE BlockBelow = (BlockY > 0) ? NextChunk->GetBlock(RelBlockX, BlockY - 1, RelBlockZ) : E_BLOCK_AIR; if (!cBlockInfo::IsSolid(BlockIn)) // Making sure we are not inside a solid block { @@ -1042,18 +1070,22 @@ void cEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) static const struct { int x, y, z; - } gCrossCoords[] = - { - { 1, 0, 0}, - {-1, 0, 0}, - { 0, 0, 1}, - { 0, 0, -1}, - } ; + } gCrossCoords[] = { + {1, 0, 0}, + {-1, 0, 0}, + {0, 0, 1}, + {0, 0, -1}, + }; bool IsNoAirSurrounding = true; for (size_t i = 0; i < ARRAYCOUNT(gCrossCoords); i++) { - if (!NextChunk->UnboundedRelGetBlockType(RelBlockX + gCrossCoords[i].x, BlockY, RelBlockZ + gCrossCoords[i].z, GotBlock)) + if (!NextChunk->UnboundedRelGetBlockType( + RelBlockX + gCrossCoords[i].x, + BlockY, + RelBlockZ + gCrossCoords[i].z, + GotBlock + )) { // The pickup is too close to an unloaded chunk, bail out of any physics handling return; @@ -1123,8 +1155,8 @@ void cEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) ApplyFriction(NextSpeed, 0.7, static_cast(DtSec.count())); } - // Adjust X and Z speed for COBWEB temporary. This speed modification should be handled inside block handlers since we - // might have different speed modifiers according to terrain. + // Adjust X and Z speed for COBWEB temporary. This speed modification should be handled inside block handlers since + // we might have different speed modifiers according to terrain. if (BlockIn == E_BLOCK_COBWEB) { NextSpeed.x *= 0.25; @@ -1137,16 +1169,16 @@ void cEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) m_WaterSpeed *= 0.9; // Reduce speed each tick auto AdjustSpeed = [](double & a_WaterSpeed, float a_WaterDir) + { + if (std::abs(a_WaterDir) > (0.05f / 0.4f)) { - if (std::abs(a_WaterDir) > (0.05f / 0.4f)) - { - a_WaterSpeed = 0.4 * a_WaterDir; - } - else if (std::abs(a_WaterSpeed) < 0.05) - { - a_WaterSpeed = 0.0; - } - }; + a_WaterSpeed = 0.4 * a_WaterDir; + } + else if (std::abs(a_WaterSpeed) < 0.05) + { + a_WaterSpeed = 0.0; + } + }; AdjustSpeed(m_WaterSpeed.x, WaterDir.x); AdjustSpeed(m_WaterSpeed.z, WaterDir.z); @@ -1158,7 +1190,14 @@ void cEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) Vector3i HitBlockCoords; eBlockFace HitBlockFace; Vector3d wantNextPos = NextPos + NextSpeed * DtSec.count(); - auto isHit = cLineBlockTracer::FirstSolidHitTrace(*GetWorld(), NextPos, wantNextPos, HitCoords, HitBlockCoords, HitBlockFace); + auto isHit = cLineBlockTracer::FirstSolidHitTrace( + *GetWorld(), + NextPos, + wantNextPos, + HitCoords, + HitBlockCoords, + HitBlockFace + ); if (isHit) { // Set our position to where the block was hit: @@ -1375,7 +1414,7 @@ void cEntity::DetectCacti(void) { for (int y = MinY; y <= MaxY; y++) { - if (GetWorld()->GetBlock({ x, y, z }) == E_BLOCK_CACTUS) + if (GetWorld()->GetBlock({x, y, z}) == E_BLOCK_CACTUS) { TakeDamage(dtCactusContact, nullptr, 1, 0); return; @@ -1404,7 +1443,7 @@ void cEntity::DetectMagma(void) { for (int y = MinY; y <= MaxY; y++) { - if (GetWorld()->GetBlock({ x, y, z }) == E_BLOCK_MAGMA) + if (GetWorld()->GetBlock({x, y, z}) == E_BLOCK_MAGMA) { TakeDamage(dtMagmaContact, nullptr, 1, 0); return; @@ -1452,7 +1491,8 @@ bool cEntity::DetectPortal() return false; } - if (IsPlayer() && !(static_cast(this))->IsGameModeCreative() && (m_PortalCooldownData.m_TicksDelayed != 80)) + if (IsPlayer() && !(static_cast(this))->IsGameModeCreative() && + (m_PortalCooldownData.m_TicksDelayed != 80)) { // Delay teleportation for four seconds if the entity is a non-creative player m_PortalCooldownData.m_TicksDelayed++; @@ -1475,8 +1515,14 @@ bool cEntity::DetectPortal() TargetPos.z *= 8.0; cWorld * TargetWorld = cRoot::Get()->GetWorld(GetWorld()->GetLinkedOverworldName()); - ASSERT(TargetWorld != nullptr); // The linkage checker should have prevented this at startup. See cWorld::start() - LOGD("Jumping %s -> %s", DimensionToString(dimNether).c_str(), DimensionToString(TargetWorld->GetDimension()).c_str()); + ASSERT( + TargetWorld != nullptr + ); // The linkage checker should have prevented this at startup. See cWorld::start() + LOGD( + "Jumping %s -> %s", + DimensionToString(dimNether).c_str(), + DimensionToString(TargetWorld->GetDimension()).c_str() + ); new cNetherPortalScanner(*this, *TargetWorld, TargetPos, cChunkDef::Height); return true; } @@ -1495,8 +1541,14 @@ bool cEntity::DetectPortal() TargetPos.z /= 8.0; cWorld * TargetWorld = cRoot::Get()->GetWorld(GetWorld()->GetLinkedNetherWorldName()); - ASSERT(TargetWorld != nullptr); // The linkage checker should have prevented this at startup. See cWorld::start() - LOGD("Jumping %s -> %s", DimensionToString(dimOverworld).c_str(), DimensionToString(TargetWorld->GetDimension()).c_str()); + ASSERT( + TargetWorld != nullptr + ); // The linkage checker should have prevented this at startup. See cWorld::start() + LOGD( + "Jumping %s -> %s", + DimensionToString(dimOverworld).c_str(), + DimensionToString(TargetWorld->GetDimension()).c_str() + ); new cNetherPortalScanner(*this, *TargetWorld, TargetPos, (cChunkDef::Height / 2)); return true; } @@ -1525,8 +1577,14 @@ bool cEntity::DetectPortal() m_PortalCooldownData.m_ShouldPreventTeleportation = true; cWorld * TargetWorld = cRoot::Get()->GetWorld(GetWorld()->GetLinkedOverworldName()); - ASSERT(TargetWorld != nullptr); // The linkage checker should have prevented this at startup. See cWorld::start() - LOGD("Jumping %s -> %s", DimensionToString(dimEnd).c_str(), DimensionToString(TargetWorld->GetDimension()).c_str()); + ASSERT( + TargetWorld != nullptr + ); // The linkage checker should have prevented this at startup. See cWorld::start() + LOGD( + "Jumping %s -> %s", + DimensionToString(dimEnd).c_str(), + DimensionToString(TargetWorld->GetDimension()).c_str() + ); if (IsPlayer()) { @@ -1550,11 +1608,16 @@ bool cEntity::DetectPortal() m_PortalCooldownData.m_ShouldPreventTeleportation = true; cWorld * TargetWorld = cRoot::Get()->GetWorld(GetWorld()->GetLinkedEndWorldName()); - ASSERT(TargetWorld != nullptr); // The linkage checker should have prevented this at startup. See cWorld::start() - LOGD("Jumping %s -> %s", DimensionToString(dimOverworld).c_str(), DimensionToString(TargetWorld->GetDimension()).c_str()); + ASSERT( + TargetWorld != nullptr + ); // The linkage checker should have prevented this at startup. See cWorld::start() + LOGD( + "Jumping %s -> %s", + DimensionToString(dimOverworld).c_str(), + DimensionToString(TargetWorld->GetDimension()).c_str() + ); return MoveToWorld(*TargetWorld, false); } - } default: break; } @@ -1588,10 +1651,14 @@ void cEntity::DoMoveToWorld(const sWorldChangeInfo & a_WorldChangeInfo) return; } - LOGD("Warping entity #%i (%s) from world \"%s\" to \"%s\". Source chunk: (%d, %d) ", - GetUniqueID(), GetClass(), - m_World->GetName(), a_WorldChangeInfo.m_NewWorld->GetName(), - GetChunkX(), GetChunkZ() + LOGD( + "Warping entity #%i (%s) from world \"%s\" to \"%s\". Source chunk: (%d, %d) ", + GetUniqueID(), + GetClass(), + m_World->GetName(), + a_WorldChangeInfo.m_NewWorld->GetName(), + GetChunkX(), + GetChunkZ() ); // Stop ticking, in preperation for detaching from this world. @@ -1626,7 +1693,7 @@ bool cEntity::MoveToWorld(cWorld & a_World, Vector3d a_NewPosition, bool a_SetPo // Create new world change info // (The last warp command always takes precedence) - m_WorldChangeInfo = { &a_World, a_NewPosition, a_SetPortalCooldown }; + m_WorldChangeInfo = {&a_World, a_NewPosition, a_SetPortalCooldown}; if (OldWorld != nullptr) { @@ -1644,8 +1711,8 @@ bool cEntity::MoveToWorld(cWorld & a_World, Vector3d a_NewPosition, bool a_SetPo The last invocation takes effect As of writing, cWorld ticks entities, clients, and then processes tasks - We may call MoveToWorld (any number of times - consider multiple /portal commands within a tick) in the first and second stages - Queue a task onto the third stage to invoke DoMoveToWorld ONCE with the last given destination world + We may call MoveToWorld (any number of times - consider multiple /portal commands within a tick) in the first and + second stages Queue a task onto the third stage to invoke DoMoveToWorld ONCE with the last given destination world Store entity IDs in case client tick found the player disconnected and immediately destroys the object After the move begins, no further calls to MoveToWorld is possible since neither the client nor entity is ticked @@ -1676,7 +1743,11 @@ bool cEntity::MoveToWorld(cWorld & a_World, Vector3d a_NewPosition, bool a_SetPo bool cEntity::MoveToWorld(cWorld & a_World, bool a_ShouldSendRespawn) { - return MoveToWorld(a_World, a_ShouldSendRespawn, Vector3i(a_World.GetSpawnX(), a_World.GetSpawnY(), a_World.GetSpawnZ())); + return MoveToWorld( + a_World, + a_ShouldSendRespawn, + Vector3i(a_World.GetSpawnX(), a_World.GetSpawnY(), a_World.GetSpawnZ()) + ); } @@ -1692,7 +1763,12 @@ bool cEntity::MoveToWorld(const AString & a_WorldName, bool a_ShouldSendRespawn) return false; } - return MoveToWorld(*World, Vector3i(World->GetSpawnX(), World->GetSpawnY(), World->GetSpawnZ()), false, a_ShouldSendRespawn); + return MoveToWorld( + *World, + Vector3i(World->GetSpawnX(), World->GetSpawnY(), World->GetSpawnZ()), + false, + a_ShouldSendRespawn + ); } @@ -1801,7 +1877,8 @@ void cEntity::HandleAir(void) // See if the entity is /submerged/ water (head is in water) // Get the type of block the entity is standing in: - int RespirationLevel = static_cast(GetEquippedHelmet().m_Enchantments.GetLevel(cEnchantments::enchRespiration)); + int RespirationLevel = + static_cast(GetEquippedHelmet().m_Enchantments.GetLevel(cEnchantments::enchRespiration)); if (IsHeadInWater()) { @@ -1846,7 +1923,6 @@ void cEntity::HandleAir(void) { m_AirTickTimer = DROWNING_TICKS + (RespirationLevel * 15 * 20); } - } } @@ -1952,8 +2028,10 @@ void cEntity::TeleportToEntity(cEntity & a_Entity) void cEntity::TeleportToCoords(double a_PosX, double a_PosY, double a_PosZ) { - // ask the plugins to allow teleport to the new position. - if (!cRoot::Get()->GetPluginManager()->CallHookEntityTeleport(*this, m_LastPosition, Vector3d(a_PosX, a_PosY, a_PosZ))) + // ask the plugins to allow teleport to the new position. + if (!cRoot::Get() + ->GetPluginManager() + ->CallHookEntityTeleport(*this, m_LastPosition, Vector3d(a_PosX, a_PosY, a_PosZ))) { SetPosition({a_PosX, a_PosY, a_PosZ}); } @@ -2080,10 +2158,7 @@ bool cEntity::IsA(const char * a_ClassName) const bool cEntity::IsAttachedTo(const cEntity * a_Entity) const { - return ( - (m_AttachedTo != nullptr) && - (a_Entity->GetUniqueID() == m_AttachedTo->GetUniqueID()) - ); + return ((m_AttachedTo != nullptr) && (a_Entity->GetUniqueID() == m_AttachedTo->GetUniqueID())); } @@ -2338,9 +2413,7 @@ void cEntity::BroadcastLeashedMobs() -void cEntity::OnDetach() -{ -} +void cEntity::OnDetach() {} @@ -2365,7 +2438,10 @@ void cEntity::BroadcastDeathMessage(TakeDamageInfo & a_TDI) } else { - Name = NamespaceSerializer::PrettifyEntityName(AString(NamespaceSerializer::From(Monster->GetMobType())), Monster->IsTame()); + Name = NamespaceSerializer::PrettifyEntityName( + AString(NamespaceSerializer::From(Monster->GetMobType())), + Monster->IsTame() + ); } } else @@ -2377,32 +2453,33 @@ void cEntity::BroadcastDeathMessage(TakeDamageInfo & a_TDI) if (a_TDI.Attacker == nullptr) { const AString DamageText = [&] + { + switch (a_TDI.DamageType) { - switch (a_TDI.DamageType) - { - case dtRangedAttack: return "was shot"; - case dtLightning: return "was plasmified by lightining"; - case dtFalling: return GetRandomProvider().RandBool() ? "fell to death" : "hit the ground too hard"; - case dtDrowning: return "drowned"; - case dtSuffocating: return GetRandomProvider().RandBool() ? "git merge'd into a block" : "fused with a block"; - case dtStarving: return "forgot the importance of food"; - case dtCactusContact: return "was impaled on a cactus"; - case dtMagmaContact: return "discovered the floor was lava"; - case dtLavaContact: return "was melted by lava"; - case dtPoisoning: return "died from septicaemia"; - case dtWithering: return "is a husk of their former selves"; - case dtOnFire: return "forgot to stop, drop, and roll"; - case dtFireContact: return "burnt themselves to death"; - case dtInVoid: return "somehow fell out of the world"; - case dtPotionOfHarming: return "was magicked to death"; - case dtEnderPearl: return "misused an ender pearl"; - case dtAdmin: return "was administrator'd"; - case dtExplosion: return "blew up"; - case dtAttack: return "was attacked by thin air"; - case dtEnvironment: return "played too much dress up"; // This is not vanilla - added a own pun - } - UNREACHABLE("Unsupported damage type"); - }(); + case dtRangedAttack: return "was shot"; + case dtLightning: return "was plasmified by lightining"; + case dtFalling: return GetRandomProvider().RandBool() ? "fell to death" : "hit the ground too hard"; + case dtDrowning: return "drowned"; + case dtSuffocating: + return GetRandomProvider().RandBool() ? "git merge'd into a block" : "fused with a block"; + case dtStarving: return "forgot the importance of food"; + case dtCactusContact: return "was impaled on a cactus"; + case dtMagmaContact: return "discovered the floor was lava"; + case dtLavaContact: return "was melted by lava"; + case dtPoisoning: return "died from septicaemia"; + case dtWithering: return "is a husk of their former selves"; + case dtOnFire: return "forgot to stop, drop, and roll"; + case dtFireContact: return "burnt themselves to death"; + case dtInVoid: return "somehow fell out of the world"; + case dtPotionOfHarming: return "was magicked to death"; + case dtEnderPearl: return "misused an ender pearl"; + case dtAdmin: return "was administrator'd"; + case dtExplosion: return "blew up"; + case dtAttack: return "was attacked by thin air"; + case dtEnvironment: return "played too much dress up"; // This is not vanilla - added a own pun + } + UNREACHABLE("Unsupported damage type"); + }(); auto DeathMessage = fmt::format(FMT_STRING("{} {}"), Name, DamageText); PluginManager->CallHookKilled(*this, a_TDI, DeathMessage); if (!DeathMessage.empty()) @@ -2431,7 +2508,10 @@ void cEntity::BroadcastDeathMessage(TakeDamageInfo & a_TDI) } else { - AString KillerName = NamespaceSerializer::PrettifyEntityName(AString(NamespaceSerializer::From(Monster->GetMobType())), Monster->IsTame()); + AString KillerName = NamespaceSerializer::PrettifyEntityName( + AString(NamespaceSerializer::From(Monster->GetMobType())), + Monster->IsTame() + ); DeathMessage = fmt::format(FMT_STRING("{0} was killed by a {1}"), Name, KillerName); } diff --git a/src/Entities/Entity.h b/src/Entities/Entity.h index 1f0c6e107..dad4dc6d1 100644 --- a/src/Entities/Entity.h +++ b/src/Entities/Entity.h @@ -10,37 +10,39 @@ // Place this macro in the public section of each cEntity descendant class and you're done :) -#define CLASS_PROTODEF(classname) \ - virtual bool IsA(const char * a_ClassName) const override\ - { \ +#define CLASS_PROTODEF(classname) \ + virtual bool IsA(const char * a_ClassName) const override \ + { \ return ((a_ClassName != nullptr) && ((strcmp(a_ClassName, #classname) == 0) || Super::IsA(a_ClassName))); \ - } \ - virtual const char * GetClass(void) const override \ - { \ - return #classname; \ - } \ - static const char * GetClassStatic(void) \ - { \ - return #classname; \ - } \ - virtual const char * GetParentClass(void) const override \ - { \ - return Super::GetClass(); \ + } \ + virtual const char * GetClass(void) const override \ + { \ + return #classname; \ + } \ + static const char * GetClassStatic(void) \ + { \ + return #classname; \ + } \ + virtual const char * GetParentClass(void) const override \ + { \ + return Super::GetClass(); \ } #define POSX_TOINT FloorC(GetPosX()) #define POSY_TOINT FloorC(GetPosY()) #define POSZ_TOINT FloorC(GetPosZ()) -#define POS_TOINT GetPosition().Floor() +#define POS_TOINT GetPosition().Floor() -#define GET_AND_VERIFY_CURRENT_CHUNK(ChunkVarName, X, Z) \ - cChunk * ChunkVarName = a_Chunk.GetNeighborChunk(X, Z); \ - do { \ +#define GET_AND_VERIFY_CURRENT_CHUNK(ChunkVarName, X, Z) \ + cChunk * ChunkVarName = a_Chunk.GetNeighborChunk(X, Z); \ + do \ + { \ if ((ChunkVarName == nullptr) || !ChunkVarName->IsValid()) \ - { \ - return; \ - } \ - } while (false) + { \ + return; \ + } \ + } \ + while (false) @@ -58,13 +60,13 @@ class cMonster; // tolua_begin struct TakeDamageInfo { - eDamageType DamageType; // Where does the damage come from? Being hit / on fire / contact with cactus / ... - cEntity * Attacker; // The attacking entity; valid only for dtAttack - int RawDamage; // What damage would the receiver get without any armor. Usually: attacker mob type + weapons - float FinalDamage; // What actual damage will be received. Usually: m_RawDamage minus armor - Vector3d Knockback; // The amount and direction of knockback received from the damage + eDamageType DamageType; // Where does the damage come from? Being hit / on fire / contact with cactus / ... + cEntity * Attacker; // The attacking entity; valid only for dtAttack + int RawDamage; // What damage would the receiver get without any armor. Usually: attacker mob type + weapons + float FinalDamage; // What actual damage will be received. Usually: m_RawDamage minus armor + Vector3d Knockback; // The amount and direction of knockback received from the damage // TODO: Effects - list of effects that the hit is causing. Unknown representation yet -} ; +}; // tolua_end @@ -74,7 +76,7 @@ struct TakeDamageInfo // tolua_begin class cEntity { -protected: + protected: /** State variables for MoveToWorld. */ struct sWorldChangeInfo { @@ -83,8 +85,7 @@ protected: bool m_SetPortalCooldown; }; -public: - + public: enum eEntityType { etEntity, // For all other types @@ -105,27 +106,28 @@ public: // Common variations etMob = etMonster, // DEPRECATED, use etMonster instead! - } ; + }; // tolua_end - static const int FIRE_TICKS_PER_DAMAGE = 10; ///< Ticks to wait between damaging an entity when it stands in fire - static const int FIRE_DAMAGE = 1; ///< Damage to deal when standing in fire - static const int LAVA_TICKS_PER_DAMAGE = 10; ///< Ticks to wait between damaging an entity when it stands in lava - static const int LAVA_DAMAGE = 4; ///< Damage to deal when standing in lava - static const int BURN_TICKS_PER_DAMAGE = 20; ///< Ticks to wait between damaging an entity when it is burning - static const int BURN_DAMAGE = 1; ///< Damage to deal when the entity is burning + static const int FIRE_TICKS_PER_DAMAGE = 10; ///< Ticks to wait between damaging an entity when it stands in fire + static const int FIRE_DAMAGE = 1; ///< Damage to deal when standing in fire + static const int LAVA_TICKS_PER_DAMAGE = 10; ///< Ticks to wait between damaging an entity when it stands in lava + static const int LAVA_DAMAGE = 4; ///< Damage to deal when standing in lava + static const int BURN_TICKS_PER_DAMAGE = 20; ///< Ticks to wait between damaging an entity when it is burning + static const int BURN_DAMAGE = 1; ///< Damage to deal when the entity is burning - static const int BURN_TICKS = 160; ///< Ticks to keep an entity burning after it has stood in lava / fire + static const int BURN_TICKS = 160; ///< Ticks to keep an entity burning after it has stood in lava / fire - static const int MAX_AIR_LEVEL = 300; ///< Maximum air an entity can have - static const int DROWNING_TICKS = 20; ///< Number of ticks per heart of damage + static const int MAX_AIR_LEVEL = 300; ///< Maximum air an entity can have + static const int DROWNING_TICKS = 20; ///< Number of ticks per heart of damage - static const int VOID_BOUNDARY = -64; ///< Y position to begin applying void damage - static const int FALL_DAMAGE_HEIGHT = 4; ///< Y difference after which fall damage is applied + static const int VOID_BOUNDARY = -64; ///< Y position to begin applying void damage + static const int FALL_DAMAGE_HEIGHT = 4; ///< Y difference after which fall damage is applied /** Special ID that is considered an "invalid value", signifying no entity. */ - static const UInt32 INVALID_ID = 0; // Exported to Lua in ManualBindings.cpp, ToLua doesn't parse initialized constants. + static const UInt32 INVALID_ID = + 0; // Exported to Lua in ManualBindings.cpp, ToLua doesn't parse initialized constants. cEntity(eEntityType a_EntityType, Vector3d a_Pos, float a_Width, float a_Height); @@ -155,22 +157,22 @@ public: eEntityType GetEntityType(void) const { return m_EntityType; } - bool IsArrow (void) const { return IsA("cArrowEntity"); } + bool IsArrow(void) const { return IsA("cArrowEntity"); } bool IsEnderCrystal(void) const { return (m_EntityType == etEnderCrystal); } - bool IsPlayer (void) const { return (m_EntityType == etPlayer); } - bool IsPickup (void) const { return (m_EntityType == etPickup); } - bool IsMob (void) const { return (m_EntityType == etMonster); } - bool IsPawn (void) const { return (IsMob() || IsPlayer()); } + bool IsPlayer(void) const { return (m_EntityType == etPlayer); } + bool IsPickup(void) const { return (m_EntityType == etPickup); } + bool IsMob(void) const { return (m_EntityType == etMonster); } + bool IsPawn(void) const { return (IsMob() || IsPlayer()); } bool IsFallingBlock(void) const { return (m_EntityType == etFallingBlock); } - bool IsMinecart (void) const { return (m_EntityType == etMinecart); } - bool IsBoat (void) const { return (m_EntityType == etBoat); } - bool IsTNT (void) const { return (m_EntityType == etTNT); } - bool IsProjectile (void) const { return (m_EntityType == etProjectile); } - bool IsExpOrb (void) const { return (m_EntityType == etExpOrb); } - bool IsFloater (void) const { return (m_EntityType == etFloater); } - bool IsItemFrame (void) const { return (m_EntityType == etItemFrame); } - bool IsLeashKnot (void) const { return (m_EntityType == etLeashKnot); } - bool IsPainting (void) const { return (m_EntityType == etPainting); } + bool IsMinecart(void) const { return (m_EntityType == etMinecart); } + bool IsBoat(void) const { return (m_EntityType == etBoat); } + bool IsTNT(void) const { return (m_EntityType == etTNT); } + bool IsProjectile(void) const { return (m_EntityType == etProjectile); } + bool IsExpOrb(void) const { return (m_EntityType == etExpOrb); } + bool IsFloater(void) const { return (m_EntityType == etFloater); } + bool IsItemFrame(void) const { return (m_EntityType == etItemFrame); } + bool IsLeashKnot(void) const { return (m_EntityType == etLeashKnot); } + bool IsPainting(void) const { return (m_EntityType == etPainting); } /** Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true) */ virtual bool IsA(const char * a_ClassName) const; @@ -189,20 +191,20 @@ public: cWorld * GetWorld(void) const { return m_World; } - double GetHeadYaw (void) const { return m_HeadYaw; } // In degrees - float GetHeight (void) const { return m_Height; } - double GetMass (void) const { return m_Mass; } - double GetPosX (void) const { return m_Position.x; } - double GetPosY (void) const { return m_Position.y; } - double GetPosZ (void) const { return m_Position.z; } - double GetYaw (void) const { return m_Rot.x; } // In degrees, [-180, +180) - double GetPitch (void) const { return m_Rot.y; } // In degrees, [-180, +180), but normal client clips to [-90, +90] - double GetRoll (void) const { return m_Rot.z; } // In degrees, unused in current client - Vector3d GetLookVector(void) const; - double GetSpeedX (void) const { return m_Speed.x; } - double GetSpeedY (void) const { return m_Speed.y; } - double GetSpeedZ (void) const { return m_Speed.z; } - float GetWidth (void) const { return m_Width; } + double GetHeadYaw(void) const { return m_HeadYaw; } // In degrees + float GetHeight(void) const { return m_Height; } + double GetMass(void) const { return m_Mass; } + double GetPosX(void) const { return m_Position.x; } + double GetPosY(void) const { return m_Position.y; } + double GetPosZ(void) const { return m_Position.z; } + double GetYaw(void) const { return m_Rot.x; } // In degrees, [-180, +180) + double GetPitch(void) const { return m_Rot.y; } // In degrees, [-180, +180), but normal client clips to [-90, +90] + double GetRoll(void) const { return m_Rot.z; } // In degrees, unused in current client + Vector3d GetLookVector(void) const; + double GetSpeedX(void) const { return m_Speed.x; } + double GetSpeedY(void) const { return m_Speed.y; } + double GetSpeedZ(void) const { return m_Speed.z; } + float GetWidth(void) const { return m_Width; } int GetChunkX(void) const { return FloorC(m_Position.x / cChunkDef::Width); } int GetChunkZ(void) const { return FloorC(m_Position.z / cChunkDef::Width); } @@ -210,16 +212,16 @@ public: // Get the Entity's axis aligned bounding box, with absolute (world-relative) coordinates. cBoundingBox GetBoundingBox() const { return cBoundingBox(GetPosition(), GetWidth() / 2, GetHeight()); } - void SetHeadYaw (double a_HeadYaw); - void SetMass (double a_Mass); - void SetPosX (double a_PosX) { SetPosition({a_PosX, m_Position.y, m_Position.z}); } - void SetPosY (double a_PosY) { SetPosition({m_Position.x, a_PosY, m_Position.z}); } - void SetPosZ (double a_PosZ) { SetPosition({m_Position.x, m_Position.y, a_PosZ}); } + void SetHeadYaw(double a_HeadYaw); + void SetMass(double a_Mass); + void SetPosX(double a_PosX) { SetPosition({a_PosX, m_Position.y, m_Position.z}); } + void SetPosY(double a_PosY) { SetPosition({m_Position.x, a_PosY, m_Position.z}); } + void SetPosZ(double a_PosZ) { SetPosition({m_Position.x, m_Position.y, a_PosZ}); } void SetPosition(double a_PosX, double a_PosY, double a_PosZ) { SetPosition({a_PosX, a_PosY, a_PosZ}); } void SetPosition(const Vector3d & a_Position); - void SetYaw (double a_Yaw); // In degrees, normalizes to [-180, +180) - void SetPitch (double a_Pitch); // In degrees, normalizes to [-180, +180) - void SetRoll (double a_Roll); // In degrees, normalizes to [-180, +180) + void SetYaw(double a_Yaw); // In degrees, normalizes to [-180, +180) + void SetPitch(double a_Pitch); // In degrees, normalizes to [-180, +180) + void SetRoll(double a_Roll); // In degrees, normalizes to [-180, +180) /** Sets the speed of the entity, measured in m / sec */ void SetSpeed(double a_SpeedX, double a_SpeedY, double a_SpeedZ); @@ -236,16 +238,19 @@ public: /** Sets the speed in the Z axis, leaving the other speed components intact. Measured in m / sec. */ void SetSpeedZ(double a_SpeedZ); - void AddPosX (double a_AddPosX) { AddPosition(a_AddPosX, 0, 0); } - void AddPosY (double a_AddPosY) { AddPosition(0, a_AddPosY, 0); } - void AddPosZ (double a_AddPosZ) { AddPosition(0, 0, a_AddPosZ); } - void AddPosition(double a_AddPosX, double a_AddPosY, double a_AddPosZ) { SetPosition(m_Position + Vector3d(a_AddPosX, a_AddPosY, a_AddPosZ)); } + void AddPosX(double a_AddPosX) { AddPosition(a_AddPosX, 0, 0); } + void AddPosY(double a_AddPosY) { AddPosition(0, a_AddPosY, 0); } + void AddPosZ(double a_AddPosZ) { AddPosition(0, 0, a_AddPosZ); } + void AddPosition(double a_AddPosX, double a_AddPosY, double a_AddPosZ) + { + SetPosition(m_Position + Vector3d(a_AddPosX, a_AddPosY, a_AddPosZ)); + } void AddPosition(const Vector3d & a_AddPos) { AddPosition(a_AddPos.x, a_AddPos.y, a_AddPos.z); } - void AddSpeed (double a_AddSpeedX, double a_AddSpeedY, double a_AddSpeedZ); - void AddSpeed (const Vector3d & a_AddSpeed) { AddSpeed(a_AddSpeed.x, a_AddSpeed.y, a_AddSpeed.z); } - void AddSpeedX (double a_AddSpeedX); - void AddSpeedY (double a_AddSpeedY); - void AddSpeedZ (double a_AddSpeedZ); + void AddSpeed(double a_AddSpeedX, double a_AddSpeedY, double a_AddSpeedZ); + void AddSpeed(const Vector3d & a_AddSpeed) { AddSpeed(a_AddSpeed.x, a_AddSpeed.y, a_AddSpeed.z); } + void AddSpeedX(double a_AddSpeedX); + void AddSpeedY(double a_AddSpeedY); + void AddSpeedZ(double a_AddSpeedZ); virtual void HandleSpeedFromAttachee(float a_Forward, float a_Sideways); void SteerVehicle(float a_Forward, float a_Sideways); @@ -253,11 +258,11 @@ public: inline UInt32 GetUniqueID(void) const { return m_UniqueID; } /** Deprecated. Use IsTicking instead. */ - inline bool IsDestroyed() const {return !IsTicking();} + inline bool IsDestroyed() const { return !IsTicking(); } - /** Returns true if the entity is valid and ticking. Returns false if the entity is not ticking and is about to leave - its current world either via teleportation or destruction. - If this returns false, you must stop using the cEntity pointer you have. */ + /** Returns true if the entity is valid and ticking. Returns false if the entity is not ticking and is about to + leave its current world either via teleportation or destruction. If this returns false, you must stop using the + cEntity pointer you have. */ bool IsTicking(void) const; // tolua_end @@ -265,17 +270,27 @@ public: void Destroy(); // tolua_begin - /** Makes this pawn take damage from an attack by a_Attacker. Damage values are calculated automatically and DoTakeDamage() called */ + /** Makes this pawn take damage from an attack by a_Attacker. Damage values are calculated automatically and + * DoTakeDamage() called */ void TakeDamage(cEntity & a_Attacker); - /** Makes this entity take the specified damage. The final damage is calculated using current armor, then DoTakeDamage() called */ + /** Makes this entity take the specified damage. The final damage is calculated using current armor, then + * DoTakeDamage() called */ void TakeDamage(eDamageType a_DamageType, cEntity * a_Attacker, int a_RawDamage, double a_KnockbackAmount); - /** Makes this entity take the specified damage. The final damage is calculated using current armor, then DoTakeDamage() called */ + /** Makes this entity take the specified damage. The final damage is calculated using current armor, then + * DoTakeDamage() called */ void TakeDamage(eDamageType a_DamageType, UInt32 a_Attacker, int a_RawDamage, double a_KnockbackAmount); - /** Makes this entity take the specified damage. The values are packed into a TDI, knockback calculated, then sent through DoTakeDamage() */ - void TakeDamage(eDamageType a_DamageType, cEntity * a_Attacker, int a_RawDamage, float a_FinalDamage, double a_KnockbackAmount); + /** Makes this entity take the specified damage. The values are packed into a TDI, knockback calculated, then sent + * through DoTakeDamage() */ + void TakeDamage( + eDamageType a_DamageType, + cEntity * a_Attacker, + int a_RawDamage, + float a_FinalDamage, + double a_KnockbackAmount + ); float GetGravity(void) const { return m_Gravity; } @@ -431,7 +446,12 @@ public: /** Teleports to the coordinates specified */ virtual void TeleportToCoords(double a_PosX, double a_PosY, double a_PosZ); - bool MoveToWorld(cWorld & a_World, Vector3d a_NewPosition, bool a_ShouldSetPortalCooldown = false, bool a_ShouldSendRespawn = true); + bool MoveToWorld( + cWorld & a_World, + Vector3d a_NewPosition, + bool a_ShouldSetPortalCooldown = false, + bool a_ShouldSendRespawn = true + ); bool MoveToWorld(cWorld & a_World, bool a_ShouldSendRespawn, Vector3d a_NewPosition) { @@ -447,10 +467,7 @@ public: // tolua_end /** Returns true if a world change is scheduled to happen. */ - bool IsWorldChangeScheduled() const - { - return (m_WorldChangeInfo.m_NewWorld != nullptr); - } + bool IsWorldChangeScheduled() const { return (m_WorldChangeInfo.m_NewWorld != nullptr); } /** Updates clients of changes in the entity. */ virtual void BroadcastMovementUpdate(const cClientHandle * a_Exclude = nullptr); @@ -483,13 +500,13 @@ public: // tolua_begin // COMMON metadata flags; descendants may override the defaults: - virtual bool IsCrouched (void) const { return false; } + virtual bool IsCrouched(void) const { return false; } virtual bool IsElytraFlying(void) const { return false; } - virtual bool IsInvisible (void) const { return false; } - virtual bool IsOnFire (void) const { return m_TicksLeftBurning > 0; } - virtual bool IsRclking (void) const { return false; } - virtual bool IsRiding (void) const { return false; } - virtual bool IsSprinting (void) const { return false; } + virtual bool IsInvisible(void) const { return false; } + virtual bool IsOnFire(void) const { return m_TicksLeftBurning > 0; } + virtual bool IsRclking(void) const { return false; } + virtual bool IsRiding(void) const { return false; } + virtual bool IsSprinting(void) const { return false; } /** Returns true if any part of the entity is in a fire block */ virtual bool IsInFire(void) const { return m_IsInFire; } @@ -523,7 +540,8 @@ public: /** Called when the specified player right-clicks this entity */ virtual void OnRightClicked(cPlayer & a_Player) {} - /** Returns the list of drops for this pawn when it is killed. May check a_Killer for special handling (sword of looting etc.). Called from KilledBy(). */ + /** Returns the list of drops for this pawn when it is killed. May check a_Killer for special handling (sword of + * looting etc.). Called from KilledBy(). */ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) { UNUSED(a_Drops); @@ -559,8 +577,7 @@ public: /** Announces a death message on chat about killing the entity. */ void BroadcastDeathMessage(TakeDamageInfo & a_TDI); -protected: - + protected: /** Structure storing the portal delay timer and cooldown boolean */ struct sPortalCooldownData { @@ -692,8 +709,7 @@ protected: /** Called when this entity dismounts from m_AttachedTo. */ virtual void OnDetach(); -private: - + private: /** Whether the entity is ticking or not. If not, it is scheduled for removal or world-teleportation. */ bool m_IsTicking; @@ -701,7 +717,7 @@ private: cChunk * m_ParentChunk; /** Measured in degrees, [-180, +180) */ - double m_HeadYaw; + double m_HeadYaw; /** Measured in degrees, [-180, +180) */ Vector3d m_Rot; @@ -715,7 +731,8 @@ private: /** Measured in Kilograms (Kg) */ double m_Mass; - /** Width of the entity, in the XZ plane. Since entities are represented as cylinders, this is more of a diameter. */ + /** Width of the entity, in the XZ plane. Since entities are represented as cylinders, this is more of a diameter. + */ float m_Width; /** Height of the entity (Y axis). */ @@ -732,4 +749,4 @@ private: /** List of players who are spectating this entity. */ std::vector m_Spectators; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/EntityEffect.cpp b/src/Entities/EntityEffect.cpp index ea3a90d9d..9121e916c 100644 --- a/src/Entities/EntityEffect.cpp +++ b/src/Entities/EntityEffect.cpp @@ -135,46 +135,37 @@ bool cEntityEffect::IsPotionDrinkable(short a_ItemDamage) -cEntityEffect::cEntityEffect(): - m_Ticks(0), - m_Duration(0), - m_Intensity(0), - m_DistanceModifier(1) +cEntityEffect::cEntityEffect() : + m_Ticks(0), m_Duration(0), m_Intensity(0), m_DistanceModifier(1) { - } -cEntityEffect::cEntityEffect(int a_Duration, short a_Intensity, double a_DistanceModifier): - m_Ticks(0), - m_Duration(a_Duration), - m_Intensity(a_Intensity), - m_DistanceModifier(a_DistanceModifier) +cEntityEffect::cEntityEffect(int a_Duration, short a_Intensity, double a_DistanceModifier) : + m_Ticks(0), m_Duration(a_Duration), m_Intensity(a_Intensity), m_DistanceModifier(a_DistanceModifier) { - } -cEntityEffect::cEntityEffect(const cEntityEffect & a_OtherEffect): +cEntityEffect::cEntityEffect(const cEntityEffect & a_OtherEffect) : m_Ticks(a_OtherEffect.m_Ticks), m_Duration(a_OtherEffect.m_Duration), m_Intensity(a_OtherEffect.m_Intensity), m_DistanceModifier(a_OtherEffect.m_DistanceModifier) { - } -cEntityEffect & cEntityEffect::operator =(cEntityEffect a_OtherEffect) +cEntityEffect & cEntityEffect::operator=(cEntityEffect a_OtherEffect) { std::swap(m_Ticks, a_OtherEffect.m_Ticks); std::swap(m_Duration, a_OtherEffect.m_Duration); @@ -187,35 +178,64 @@ cEntityEffect & cEntityEffect::operator =(cEntityEffect a_OtherEffect) -std::unique_ptr cEntityEffect::CreateEntityEffect(cEntityEffect::eType a_EffectType, int a_Duration, short a_Intensity, double a_DistanceModifier) +std::unique_ptr cEntityEffect::CreateEntityEffect( + cEntityEffect::eType a_EffectType, + int a_Duration, + short a_Intensity, + double a_DistanceModifier +) { switch (a_EffectType) { - case cEntityEffect::effNoEffect: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - - case cEntityEffect::effAbsorption: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effBlindness: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effFireResistance: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effHaste: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effHealthBoost: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effHunger: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effInstantDamage: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effInstantHealth: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effInvisibility: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effJumpBoost: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effMiningFatigue: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effNausea: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effNightVision: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effPoison: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effRegeneration: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effResistance: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effSaturation: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effSlowness: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effSpeed: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effStrength: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effWaterBreathing: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effWeakness: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); - case cEntityEffect::effWither: return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effNoEffect: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + + case cEntityEffect::effAbsorption: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effBlindness: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effFireResistance: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effHaste: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effHealthBoost: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effHunger: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effInstantDamage: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effInstantHealth: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effInvisibility: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effJumpBoost: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effMiningFatigue: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effNausea: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effNightVision: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effPoison: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effRegeneration: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effResistance: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effSaturation: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effSlowness: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effSpeed: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effStrength: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effWaterBreathing: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effWeakness: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); + case cEntityEffect::effWither: + return std::make_unique(a_Duration, a_Intensity, a_DistanceModifier); } UNREACHABLE("Unsupported entity effect"); } @@ -241,12 +261,12 @@ void cEntityEffectSpeed::OnActivate(cPawn & a_Target) { if (a_Target.IsMob()) { - cMonster * Mob = static_cast(&a_Target); + cMonster * Mob = static_cast(&a_Target); Mob->SetRelativeWalkSpeed(Mob->GetRelativeWalkSpeed() + 0.2 * m_Intensity); } else if (a_Target.IsPlayer()) { - cPlayer * Player = static_cast(&a_Target); + cPlayer * Player = static_cast(&a_Target); Player->SetNormalMaxSpeed(Player->GetNormalMaxSpeed() + 0.2 * m_Intensity); Player->SetSprintingMaxSpeed(Player->GetSprintingMaxSpeed() + 0.26 * m_Intensity); Player->SetFlyingMaxSpeed(Player->GetFlyingMaxSpeed() + 0.2 * m_Intensity); @@ -261,12 +281,12 @@ void cEntityEffectSpeed::OnDeactivate(cPawn & a_Target) { if (a_Target.IsMob()) { - cMonster * Mob = static_cast(&a_Target); + cMonster * Mob = static_cast(&a_Target); Mob->SetRelativeWalkSpeed(Mob->GetRelativeWalkSpeed() - 0.2 * m_Intensity); } else if (a_Target.IsPlayer()) { - cPlayer * Player = static_cast(&a_Target); + cPlayer * Player = static_cast(&a_Target); Player->SetNormalMaxSpeed(Player->GetNormalMaxSpeed() - 0.2 * m_Intensity); Player->SetSprintingMaxSpeed(Player->GetSprintingMaxSpeed() - 0.26 * m_Intensity); Player->SetFlyingMaxSpeed(Player->GetFlyingMaxSpeed() - 0.2 * m_Intensity); @@ -284,12 +304,12 @@ void cEntityEffectSlowness::OnActivate(cPawn & a_Target) { if (a_Target.IsMob()) { - cMonster * Mob = static_cast(&a_Target); + cMonster * Mob = static_cast(&a_Target); Mob->SetRelativeWalkSpeed(Mob->GetRelativeWalkSpeed() - 0.15 * m_Intensity); } else if (a_Target.IsPlayer()) { - cPlayer * Player = static_cast(&a_Target); + cPlayer * Player = static_cast(&a_Target); Player->SetNormalMaxSpeed(Player->GetNormalMaxSpeed() - 0.15 * m_Intensity); Player->SetSprintingMaxSpeed(Player->GetSprintingMaxSpeed() - 0.195 * m_Intensity); Player->SetFlyingMaxSpeed(Player->GetFlyingMaxSpeed() - 0.15 * m_Intensity); @@ -304,12 +324,12 @@ void cEntityEffectSlowness::OnDeactivate(cPawn & a_Target) { if (a_Target.IsMob()) { - cMonster * Mob = static_cast(&a_Target); + cMonster * Mob = static_cast(&a_Target); Mob->SetRelativeWalkSpeed(Mob->GetRelativeWalkSpeed() + 0.15 * m_Intensity); } else if (a_Target.IsPlayer()) { - cPlayer * Player = static_cast(&a_Target); + cPlayer * Player = static_cast(&a_Target); Player->SetNormalMaxSpeed(Player->GetNormalMaxSpeed() + 0.15 * m_Intensity); Player->SetSprintingMaxSpeed(Player->GetSprintingMaxSpeed() + 0.195 * m_Intensity); Player->SetFlyingMaxSpeed(Player->GetFlyingMaxSpeed() + 0.15 * m_Intensity); @@ -330,7 +350,12 @@ void cEntityEffectInstantHealth::OnActivate(cPawn & a_Target) if (a_Target.IsMob() && static_cast(a_Target).IsUndead()) { - a_Target.TakeDamage(dtPotionOfHarming, nullptr, amount, 0); // TODO: Store attacker in a pointer-safe way, pass to TakeDamage + a_Target.TakeDamage( + dtPotionOfHarming, + nullptr, + amount, + 0 + ); // TODO: Store attacker in a pointer-safe way, pass to TakeDamage return; } a_Target.Heal(amount); @@ -353,7 +378,12 @@ void cEntityEffectInstantDamage::OnActivate(cPawn & a_Target) a_Target.Heal(amount); return; } - a_Target.TakeDamage(dtPotionOfHarming, nullptr, amount, 0); // TODO: Store attacker in a pointer-safe way, pass to TakeDamage + a_Target.TakeDamage( + dtPotionOfHarming, + nullptr, + amount, + 0 + ); // TODO: Store attacker in a pointer-safe way, pass to TakeDamage } @@ -397,7 +427,9 @@ void cEntityEffectHunger::OnTick(cPawn & a_Target) if (a_Target.IsPlayer()) { cPlayer & Target = static_cast(a_Target); - Target.AddFoodExhaustion(0.025 * (static_cast(GetIntensity()) + 1.0)); // 0.5 per second = 0.025 per tick + Target.AddFoodExhaustion( + 0.025 * (static_cast(GetIntensity()) + 1.0) + ); // 0.5 per second = 0.025 per tick } } @@ -451,11 +483,7 @@ void cEntityEffectPoison::OnTick(cPawn & a_Target) cMonster & Target = static_cast(a_Target); // Doesn't effect undead mobs, spiders - if ( - Target.IsUndead() || - (Target.GetMobType() == mtSpider) || - (Target.GetMobType() == mtCaveSpider) - ) + if (Target.IsUndead() || (Target.GetMobType() == mtSpider) || (Target.GetMobType() == mtCaveSpider)) { return; } @@ -506,6 +534,8 @@ void cEntityEffectSaturation::OnTick(cPawn & a_Target) if (a_Target.IsPlayer()) { cPlayer & Target = static_cast(a_Target); - Target.SetFoodSaturationLevel(Target.GetFoodSaturationLevel() + (1 + m_Intensity)); // Increase saturation 1 per tick, adds 1 for every increase in level + Target.SetFoodSaturationLevel( + Target.GetFoodSaturationLevel() + (1 + m_Intensity) + ); // Increase saturation 1 per tick, adds 1 for every increase in level } } diff --git a/src/Entities/EntityEffect.h b/src/Entities/EntityEffect.h index b4e01d8d9..d8fa1aed0 100644 --- a/src/Entities/EntityEffect.h +++ b/src/Entities/EntityEffect.h @@ -5,36 +5,35 @@ class cPawn; // tolua_begin class cEntityEffect { -public: - + public: /** All types of entity effects (numbers correspond to protocol / storage types) */ enum eType { - effNoEffect = 0, - effSpeed = 1, - effSlowness = 2, - effHaste = 3, - effMiningFatigue = 4, - effStrength = 5, - effInstantHealth = 6, - effInstantDamage = 7, - effJumpBoost = 8, - effNausea = 9, - effRegeneration = 10, - effResistance = 11, + effNoEffect = 0, + effSpeed = 1, + effSlowness = 2, + effHaste = 3, + effMiningFatigue = 4, + effStrength = 5, + effInstantHealth = 6, + effInstantDamage = 7, + effJumpBoost = 8, + effNausea = 9, + effRegeneration = 10, + effResistance = 11, effFireResistance = 12, effWaterBreathing = 13, - effInvisibility = 14, - effBlindness = 15, - effNightVision = 16, - effHunger = 17, - effWeakness = 18, - effPoison = 19, - effWither = 20, - effHealthBoost = 21, - effAbsorption = 22, - effSaturation = 23, - } ; + effInvisibility = 14, + effBlindness = 15, + effNightVision = 16, + effHunger = 17, + effWeakness = 18, + effPoison = 19, + effWither = 20, + effHealthBoost = 21, + effAbsorption = 22, + effSaturation = 23, + }; /** Returns the potion color (used by the client for visuals), based on the potion's damage value */ static int GetPotionColor(short a_ItemDamage); @@ -44,7 +43,8 @@ public: static cEntityEffect::eType GetPotionEffectType(short a_ItemDamage); - /** Retrieves the intensity level from the potion's damage value. Returns 0 for level I potions, 1 for level II potions. */ + /** Retrieves the intensity level from the potion's damage value. Returns 0 for level I potions, 1 for level II + * potions. */ static short GetPotionEffectIntensity(short a_ItemDamage); @@ -71,7 +71,7 @@ public: /** Creates an entity effect by copying another @param a_OtherEffect The other effect to copy */ - cEntityEffect & operator =(cEntityEffect a_OtherEffect); + cEntityEffect & operator=(cEntityEffect a_OtherEffect); virtual ~cEntityEffect(void) = default; @@ -81,7 +81,12 @@ public: @param a_Duration How long this effect will last, in ticks @param a_Intensity How strong the effect will be applied @param a_DistanceModifier The distance modifier for affecting potency, defaults to 1 */ - static std::unique_ptr CreateEntityEffect(cEntityEffect::eType a_EffectType, int a_Duration, short a_Intensity, double a_DistanceModifier); + static std::unique_ptr CreateEntityEffect( + cEntityEffect::eType a_EffectType, + int a_Duration, + short a_Intensity, + double a_DistanceModifier + ); /** Returns how many ticks this effect has been active for */ int GetTicks(void) const { return m_Ticks; } @@ -95,9 +100,9 @@ public: /** Returns the distance modifier for affecting potency */ double GetDistanceModifier(void) const { return m_DistanceModifier; } - void SetTicks(int a_Ticks) { m_Ticks = a_Ticks; } - void SetDuration(int a_Duration) { m_Duration = a_Duration; } - void SetIntensity(short a_Intensity) { m_Intensity = a_Intensity; } + void SetTicks(int a_Ticks) { m_Ticks = a_Ticks; } + void SetDuration(int a_Duration) { m_Duration = a_Duration; } + void SetIntensity(short a_Intensity) { m_Intensity = a_Intensity; } void SetDistanceModifier(double a_DistanceModifier) { m_DistanceModifier = a_DistanceModifier; } /** Called on each tick. @@ -105,12 +110,12 @@ public: virtual void OnTick(cPawn & a_Target); /** Called when the effect is first added to an entity */ - virtual void OnActivate(cPawn & a_Target) { } + virtual void OnActivate(cPawn & a_Target) {} /** Called when the effect is removed from an entity */ - virtual void OnDeactivate(cPawn & a_Target) { } + virtual void OnDeactivate(cPawn & a_Target) {} -protected: + protected: /** How many ticks this effect has been active for */ int m_Ticks; @@ -128,14 +133,12 @@ protected: -class cEntityEffectSpeed: - public cEntityEffect +class cEntityEffectSpeed : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectSpeed(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectSpeed(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -149,14 +152,12 @@ public: -class cEntityEffectSlowness: - public cEntityEffect +class cEntityEffectSlowness : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectSlowness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectSlowness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -170,14 +171,12 @@ public: -class cEntityEffectHaste: - public cEntityEffect +class cEntityEffectHaste : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectHaste(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectHaste(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -187,14 +186,12 @@ public: -class cEntityEffectMiningFatigue: - public cEntityEffect +class cEntityEffectMiningFatigue : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectMiningFatigue(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectMiningFatigue(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -204,14 +201,12 @@ public: -class cEntityEffectStrength: - public cEntityEffect +class cEntityEffectStrength : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectStrength(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectStrength(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -221,14 +216,12 @@ public: -class cEntityEffectInstantHealth: - public cEntityEffect +class cEntityEffectInstantHealth : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectInstantHealth(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectInstantHealth(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -240,14 +233,12 @@ public: -class cEntityEffectInstantDamage: - public cEntityEffect +class cEntityEffectInstantDamage : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectInstantDamage(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectInstantDamage(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -259,14 +250,12 @@ public: -class cEntityEffectJumpBoost: - public cEntityEffect +class cEntityEffectJumpBoost : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectJumpBoost(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectJumpBoost(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -276,14 +265,12 @@ public: -class cEntityEffectNausea: - public cEntityEffect +class cEntityEffectNausea : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectNausea(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectNausea(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -293,14 +280,12 @@ public: -class cEntityEffectRegeneration: - public cEntityEffect +class cEntityEffectRegeneration : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectRegeneration(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectRegeneration(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -312,14 +297,12 @@ public: -class cEntityEffectResistance: - public cEntityEffect +class cEntityEffectResistance : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectResistance(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectResistance(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -329,14 +312,12 @@ public: -class cEntityEffectFireResistance: - public cEntityEffect +class cEntityEffectFireResistance : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectFireResistance(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectFireResistance(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -346,14 +327,12 @@ public: -class cEntityEffectWaterBreathing: - public cEntityEffect +class cEntityEffectWaterBreathing : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectWaterBreathing(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectWaterBreathing(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -363,22 +342,20 @@ public: -class cEntityEffectInvisibility: - public cEntityEffect +class cEntityEffectInvisibility : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectInvisibility(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectInvisibility(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } - virtual void OnActivate (cPawn & a_Target) override { BroadcastMetadata(a_Target); } + virtual void OnActivate(cPawn & a_Target) override { BroadcastMetadata(a_Target); } virtual void OnDeactivate(cPawn & a_Target) override { BroadcastMetadata(a_Target); } -private: + private: static void BroadcastMetadata(cPawn & a_Target); }; @@ -386,14 +363,12 @@ private: -class cEntityEffectBlindness: - public cEntityEffect +class cEntityEffectBlindness : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectBlindness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectBlindness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -403,14 +378,12 @@ public: -class cEntityEffectNightVision: - public cEntityEffect +class cEntityEffectNightVision : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectNightVision(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectNightVision(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -420,14 +393,12 @@ public: -class cEntityEffectHunger: - public cEntityEffect +class cEntityEffectHunger : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectHunger(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectHunger(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -440,14 +411,12 @@ public: -class cEntityEffectWeakness: - public cEntityEffect +class cEntityEffectWeakness : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectWeakness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectWeakness(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -460,14 +429,12 @@ public: -class cEntityEffectPoison: - public cEntityEffect +class cEntityEffectPoison : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectPoison(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectPoison(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -480,14 +447,12 @@ public: -class cEntityEffectWither: - public cEntityEffect +class cEntityEffectWither : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectWither(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectWither(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -500,14 +465,12 @@ public: -class cEntityEffectHealthBoost: - public cEntityEffect +class cEntityEffectHealthBoost : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectHealthBoost(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectHealthBoost(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -517,14 +480,12 @@ public: -class cEntityEffectAbsorption: - public cEntityEffect +class cEntityEffectAbsorption : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectAbsorption(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectAbsorption(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } @@ -534,21 +495,15 @@ public: -class cEntityEffectSaturation: - public cEntityEffect +class cEntityEffectSaturation : public cEntityEffect { using Super = cEntityEffect; -public: - - cEntityEffectSaturation(int a_Duration, short a_Intensity, double a_DistanceModifier = 1): + public: + cEntityEffectSaturation(int a_Duration, short a_Intensity, double a_DistanceModifier = 1) : Super(a_Duration, a_Intensity, a_DistanceModifier) { } virtual void OnTick(cPawn & a_Target) override; }; - - - - diff --git a/src/Entities/ExpBottleEntity.h b/src/Entities/ExpBottleEntity.h index b05f6da31..a26f18005 100644 --- a/src/Entities/ExpBottleEntity.h +++ b/src/Entities/ExpBottleEntity.h @@ -17,31 +17,24 @@ // tolua_begin -class cExpBottleEntity : - public cProjectileEntity +class cExpBottleEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cExpBottleEntity) cExpBottleEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed); -protected: - + protected: // cProjectileEntity overrides: virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override; - virtual void OnHitEntity (cEntity & a_EntityHit, Vector3d a_HitPos) override; + virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override; /** Breaks the bottle, fires its particle effects and sounds @param a_HitPos The position where the bottle will break */ void Break(Vector3d a_HitPos); }; // tolua_export - - - - diff --git a/src/Entities/ExpOrb.cpp b/src/Entities/ExpOrb.cpp index 125ea394a..852f60efb 100644 --- a/src/Entities/ExpOrb.cpp +++ b/src/Entities/ExpOrb.cpp @@ -5,10 +5,8 @@ #include "../ClientHandle.h" -cExpOrb::cExpOrb(Vector3d a_Pos, int a_Reward): - Super(etExpOrb, a_Pos, 0.5f, 0.5f), - m_Reward(a_Reward), - m_Timer(0) +cExpOrb::cExpOrb(Vector3d a_Pos, int a_Reward) : + Super(etExpOrb, a_Pos, 0.5f, 0.5f), m_Reward(a_Reward), m_Timer(0) { SetMaxHealth(5); SetHealth(5); @@ -37,41 +35,53 @@ void cExpOrb::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) m_TicksAlive++; // Find closest player within 6.5 meter (slightly increase detect range to have same effect in client) - bool FoundPlayer = m_World->DoWithNearestPlayer(GetPosition(), 6.5, [&](cPlayer & a_Player) -> bool - { - Vector3f a_PlayerPos(a_Player.GetPosition()); - a_PlayerPos.y += 0.8f; - Vector3f a_Distance = a_PlayerPos - GetPosition(); - double Distance = a_Distance.Length(); - - if (Distance < 0.7f) + bool FoundPlayer = m_World->DoWithNearestPlayer( + GetPosition(), + 6.5, + [&](cPlayer & a_Player) -> bool { - a_Player.DeltaExperience(m_Reward); + Vector3f a_PlayerPos(a_Player.GetPosition()); + a_PlayerPos.y += 0.8f; + Vector3f a_Distance = a_PlayerPos - GetPosition(); + double Distance = a_Distance.Length(); + + if (Distance < 0.7f) + { + a_Player.DeltaExperience(m_Reward); + + m_World->BroadcastSoundEffect( + "entity.experience_orb.pickup", + GetPosition(), + 0.5f, + (0.75f + (static_cast((GetUniqueID() * 23) % 32)) / 64) + ); + Destroy(); + return true; + } + + // Experience orb will "float" or glide toward the player up to a distance of 6 blocks. + // speeding up as they get nearer to the player, Speed range 6 - 12 m per second, accelerate 60 m per + // second^2 + Vector3d SpeedDelta(a_Distance); + SpeedDelta.Normalize(); + SpeedDelta *= 3; + + Vector3d CurrentSpeed = GetSpeed(); + CurrentSpeed += SpeedDelta; + if (CurrentSpeed.Length() > 12) + { + CurrentSpeed.Normalize(); + CurrentSpeed *= 12; + } + + SetSpeed(CurrentSpeed); + m_Gravity = 0; - m_World->BroadcastSoundEffect("entity.experience_orb.pickup", GetPosition(), 0.5f, (0.75f + (static_cast((GetUniqueID() * 23) % 32)) / 64)); - Destroy(); return true; - } - - // Experience orb will "float" or glide toward the player up to a distance of 6 blocks. - // speeding up as they get nearer to the player, Speed range 6 - 12 m per second, accelerate 60 m per second^2 - Vector3d SpeedDelta(a_Distance); - SpeedDelta.Normalize(); - SpeedDelta *= 3; - - Vector3d CurrentSpeed = GetSpeed(); - CurrentSpeed += SpeedDelta; - if (CurrentSpeed.Length() > 12) - { - CurrentSpeed.Normalize(); - CurrentSpeed *= 12; - } - - SetSpeed(CurrentSpeed); - m_Gravity = 0; - - return true; - }, false, true); // Don't check line of sight, ignore spectator mode player + }, + false, + true + ); // Don't check line of sight, ignore spectator mode player if (!FoundPlayer) { @@ -127,5 +137,3 @@ std::vector cExpOrb::Split(int a_Reward) return Rewards; } - - diff --git a/src/Entities/ExpOrb.h b/src/Entities/ExpOrb.h index 3a7f4ee69..cd1ee5ffb 100644 --- a/src/Entities/ExpOrb.h +++ b/src/Entities/ExpOrb.h @@ -8,15 +8,13 @@ // tolua_begin -class cExpOrb: - public cEntity +class cExpOrb : public cEntity { // tolua_end using Super = cEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cExpOrb) cExpOrb(Vector3d a_Pos, int a_Reward); @@ -47,9 +45,9 @@ public: // tolua_export /** Split reward into small values according to regular Minecraft rules */ static std::vector Split(int a_Reward); -protected: + protected: int m_Reward; /** The number of ticks that the entity has existed / timer between collect and destroy; in msec */ std::chrono::milliseconds m_Timer; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/FallingBlock.cpp b/src/Entities/FallingBlock.cpp index aa6baae82..9ceb215fb 100644 --- a/src/Entities/FallingBlock.cpp +++ b/src/Entities/FallingBlock.cpp @@ -11,10 +11,8 @@ -cFallingBlock::cFallingBlock(Vector3d a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta): - Super(etFallingBlock, a_Position, 0.98f, 0.98f), - m_BlockType(a_BlockType), - m_BlockMeta(a_BlockMeta) +cFallingBlock::cFallingBlock(Vector3d a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) : + Super(etFallingBlock, a_Position, 0.98f, 0.98f), m_BlockType(a_BlockType), m_BlockMeta(a_BlockMeta) { SetGravity(-16.0f); SetAirDrag(0.02f); @@ -57,8 +55,16 @@ void cFallingBlock::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) return; } - BLOCKTYPE BlockBelow = a_Chunk.GetBlock(BlockX - a_Chunk.GetPosX() * cChunkDef::Width, BlockY, BlockZ - a_Chunk.GetPosZ() * cChunkDef::Width); - NIBBLETYPE BelowMeta = a_Chunk.GetMeta(BlockX - a_Chunk.GetPosX() * cChunkDef::Width, BlockY, BlockZ - a_Chunk.GetPosZ() * cChunkDef::Width); + BLOCKTYPE BlockBelow = a_Chunk.GetBlock( + BlockX - a_Chunk.GetPosX() * cChunkDef::Width, + BlockY, + BlockZ - a_Chunk.GetPosZ() * cChunkDef::Width + ); + NIBBLETYPE BelowMeta = a_Chunk.GetMeta( + BlockX - a_Chunk.GetPosX() * cChunkDef::Width, + BlockY, + BlockZ - a_Chunk.GetPosZ() * cChunkDef::Width + ); if (cSandSimulator::DoesBreakFallingThrough(BlockBelow, BelowMeta)) { // Fallen onto a block that breaks this into pickups (e. g. half-slab) @@ -99,12 +105,9 @@ void cFallingBlock::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) AddPosition(GetSpeed() * MilliDt); // If not static (one billionth precision) broadcast movement - if ((fabs(GetSpeedX()) > std::numeric_limits::epsilon()) || (fabs(GetSpeedZ()) > std::numeric_limits::epsilon())) + if ((fabs(GetSpeedX()) > std::numeric_limits::epsilon()) || + (fabs(GetSpeedZ()) > std::numeric_limits::epsilon())) { BroadcastMovementUpdate(); } } - - - - diff --git a/src/Entities/FallingBlock.h b/src/Entities/FallingBlock.h index 5f083402b..a1f5dfd06 100644 --- a/src/Entities/FallingBlock.h +++ b/src/Entities/FallingBlock.h @@ -8,15 +8,13 @@ // tolua_begin -class cFallingBlock : - public cEntity +class cFallingBlock : public cEntity { // tolua_end using Super = cEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cFallingBlock) /** Creates a new falling block. @@ -25,7 +23,7 @@ public: // tolua_export // tolua_begin - BLOCKTYPE GetBlockType(void) const { return m_BlockType; } + BLOCKTYPE GetBlockType(void) const { return m_BlockType; } NIBBLETYPE GetBlockMeta(void) const { return m_BlockMeta; } // tolua_end @@ -34,11 +32,7 @@ public: // tolua_export virtual void SpawnOn(cClientHandle & a_ClientHandle) override; virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; -private: - BLOCKTYPE m_BlockType; + private: + BLOCKTYPE m_BlockType; NIBBLETYPE m_BlockMeta; -} ; // tolua_export - - - - +}; // tolua_export diff --git a/src/Entities/FireChargeEntity.cpp b/src/Entities/FireChargeEntity.cpp index edbc05e2c..81240293c 100644 --- a/src/Entities/FireChargeEntity.cpp +++ b/src/Entities/FireChargeEntity.cpp @@ -7,7 +7,7 @@ -cFireChargeEntity::cFireChargeEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed): +cFireChargeEntity::cFireChargeEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed) : Super(pkFireCharge, a_Creator, a_Pos, 0.3125f, 0.3125f) { SetSpeed(a_Speed); diff --git a/src/Entities/FireChargeEntity.h b/src/Entities/FireChargeEntity.h index 93e273c2c..29e519c9d 100644 --- a/src/Entities/FireChargeEntity.h +++ b/src/Entities/FireChargeEntity.h @@ -17,29 +17,22 @@ // tolua_begin -class cFireChargeEntity : - public cProjectileEntity +class cFireChargeEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cFireChargeEntity) cFireChargeEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed); -protected: - + protected: void Explode(Vector3i a_Block); // cProjectileEntity overrides: virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override; virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override; -} ; // tolua_export - - - - +}; // tolua_export diff --git a/src/Entities/FireworkEntity.h b/src/Entities/FireworkEntity.h index ce30c392e..aa3331341 100644 --- a/src/Entities/FireworkEntity.h +++ b/src/Entities/FireworkEntity.h @@ -17,15 +17,13 @@ // tolua_begin -class cFireworkEntity : - public cProjectileEntity +class cFireworkEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cFireworkEntity) cFireworkEntity(cEntity * a_Creator, Vector3d a_Pos, const cItem & a_Item); @@ -46,19 +44,13 @@ public: // tolua_export // tolua_end -protected: - + protected: // cProjectileEntity overrides: virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; -private: - + private: int m_TicksToExplosion; cItem m_FireworkItem; }; // tolua_export - - - - diff --git a/src/Entities/Floater.cpp b/src/Entities/Floater.cpp index 1fd4673bd..3a5856776 100644 --- a/src/Entities/Floater.cpp +++ b/src/Entities/Floater.cpp @@ -15,16 +15,12 @@ // cFloaterEntityCollisionCallback class cFloaterEntityCollisionCallback { -public: + public: cFloaterEntityCollisionCallback(cFloater * a_Floater, const Vector3d & a_Pos, const Vector3d & a_NextPos) : - m_Floater(a_Floater), - m_Pos(a_Pos), - m_NextPos(a_NextPos), - m_MinCoeff(1), - m_HitEntity(nullptr) + m_Floater(a_Floater), m_Pos(a_Pos), m_NextPos(a_NextPos), m_MinCoeff(1), m_HitEntity(nullptr) { } - bool operator () (cEntity & a_Entity) + bool operator()(cEntity & a_Entity) { if (!a_Entity.IsMob()) // Floaters can only pull mobs not other entities. { @@ -59,16 +55,17 @@ public: /** Returns true if the callback has encountered a true hit */ bool HasHit(void) const { return (m_MinCoeff < 1); } -protected: + protected: cFloater * m_Floater; const Vector3d & m_Pos; const Vector3d & m_NextPos; double m_MinCoeff; // The coefficient of the nearest hit on the Pos line // Although it's bad(tm) to store entity ptrs from a callback, we can afford it here, because the entire callback - // is processed inside the tick thread, so the entities won't be removed in between the calls and the final processing + // is processed inside the tick thread, so the entities won't be removed in between the calls and the final + // processing cEntity * m_HitEntity; // The nearest hit entity -} ; +}; @@ -112,7 +109,9 @@ void cFloater::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) auto & Random = GetRandomProvider(); if (IsBlockWater(Chunk->GetBlock(Rel)) && (Chunk->GetMeta(Rel) == 0)) { - if (!m_CanPickupItem && (m_AttachedMobID == cEntity::INVALID_ID)) // Check if you can't already pickup a fish and if the floater isn't attached to a mob. + if (!m_CanPickupItem && + (m_AttachedMobID == cEntity::INVALID_ID + )) // Check if you can't already pickup a fish and if the floater isn't attached to a mob. { if (m_CountDownTime <= 0) { @@ -124,16 +123,17 @@ void cFloater::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) m_CountDownTime = Random.RandInt(100, 900); LOGD("Floater %i can be picked up", GetUniqueID()); } - else if (m_CountDownTime == 20) // Calculate the position where the particles should spawn and start producing them. + else if (m_CountDownTime == + 20) // Calculate the position where the particles should spawn and start producing them. { LOGD("Started producing particles for floater %i", GetUniqueID()); m_ParticlePos.Set(GetPosX() + Random.RandInt(-4, 4), GetPosY(), GetPosZ() + Random.RandInt(-4, 4)); - m_World->BroadcastParticleEffect("splash", static_cast(m_ParticlePos), Vector3f{}, 0, 15); + m_World->BroadcastParticleEffect("splash", static_cast(m_ParticlePos), Vector3f {}, 0, 15); } else if (m_CountDownTime < 20) { m_ParticlePos = (m_ParticlePos + (GetPosition() - m_ParticlePos) / 6); - m_World->BroadcastParticleEffect("splash", static_cast(m_ParticlePos), Vector3f{}, 0, 15); + m_World->BroadcastParticleEffect("splash", static_cast(m_ParticlePos), Vector3f {}, 0, 15); } m_CountDownTime--; @@ -155,10 +155,8 @@ void cFloater::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } // Check water at the top of floater otherwise it floats into the air above the water - if ( - const auto Above = Rel.addedY(FloorC(GetPosY() + GetHeight())); - (Above.y < cChunkDef::Height) && IsBlockWater(m_World->GetBlock(Above)) - ) + if (const auto Above = Rel.addedY(FloorC(GetPosY() + GetHeight())); + (Above.y < cChunkDef::Height) && IsBlockWater(m_World->GetBlock(Above))) { SetSpeedY(0.7); } @@ -186,7 +184,10 @@ void cFloater::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } } - if (!m_World->DoWithEntityByID(m_PlayerID, [](cEntity &) { return true; })) // The owner doesn't exist anymore. Destroy the floater entity. + if (!m_World->DoWithEntityByID( + m_PlayerID, + [](cEntity &) { return true; } + )) // The owner doesn't exist anymore. Destroy the floater entity. { Destroy(); } diff --git a/src/Entities/Floater.h b/src/Entities/Floater.h index 0c20632db..9f0e67d70 100644 --- a/src/Entities/Floater.h +++ b/src/Entities/Floater.h @@ -8,15 +8,13 @@ // tolua_begin -class cFloater : - public cEntity +class cFloater : public cEntity { // tolua_end using Super = cEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cFloater) cFloater(Vector3d a_Pos, Vector3d a_Speed, UInt32 a_PlayerID, int a_CountDownTime); @@ -25,13 +23,13 @@ public: // tolua_export virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; // tolua_begin - bool CanPickup(void) const { return m_CanPickupItem; } - UInt32 GetOwnerID(void) const { return m_PlayerID; } + bool CanPickup(void) const { return m_CanPickupItem; } + UInt32 GetOwnerID(void) const { return m_PlayerID; } UInt32 GetAttachedMobID(void) const { return m_AttachedMobID; } - Vector3d GetBitePos(void) const { return m_BitePos; } + Vector3d GetBitePos(void) const { return m_BitePos; } // tolua_end -protected: + protected: // Position Vector3d m_ParticlePos; @@ -48,4 +46,4 @@ protected: // Entity IDs UInt32 m_PlayerID; UInt32 m_AttachedMobID; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/GhastFireballEntity.cpp b/src/Entities/GhastFireballEntity.cpp index 31dd3dbc9..544d9f494 100644 --- a/src/Entities/GhastFireballEntity.cpp +++ b/src/Entities/GhastFireballEntity.cpp @@ -7,7 +7,7 @@ -cGhastFireballEntity::cGhastFireballEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed): +cGhastFireballEntity::cGhastFireballEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed) : Super(pkGhastFireball, a_Creator, a_Pos, 1, 1) { SetSpeed(a_Speed); diff --git a/src/Entities/GhastFireballEntity.h b/src/Entities/GhastFireballEntity.h index 41ac7f75b..0066a181c 100644 --- a/src/Entities/GhastFireballEntity.h +++ b/src/Entities/GhastFireballEntity.h @@ -17,21 +17,18 @@ // tolua_begin -class cGhastFireballEntity : - public cProjectileEntity +class cGhastFireballEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cGhastFireballEntity) cGhastFireballEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed); -protected: - + protected: void Explode(Vector3i a_Block); // cProjectileEntity overrides: @@ -40,8 +37,4 @@ protected: // TODO: Deflecting the fireballs by arrow- or sword- hits -} ; // tolua_export - - - - +}; // tolua_export diff --git a/src/Entities/HangingEntity.cpp b/src/Entities/HangingEntity.cpp index 926c45fa1..4a8e0c006 100644 --- a/src/Entities/HangingEntity.cpp +++ b/src/Entities/HangingEntity.cpp @@ -12,8 +12,7 @@ cHangingEntity::cHangingEntity(eEntityType a_EntityType, eBlockFace a_Facing, Vector3d a_Pos) : - Super(a_EntityType, a_Pos, 0.5f, 0.5f), - m_Facing(cHangingEntity::BlockFaceToProtocolFace(a_Facing)) + Super(a_EntityType, a_Pos, 0.5f, 0.5f), m_Facing(cHangingEntity::BlockFaceToProtocolFace(a_Facing)) { SetMaxHealth(1); SetHealth(1); @@ -25,7 +24,8 @@ cHangingEntity::cHangingEntity(eEntityType a_EntityType, eBlockFace a_Facing, Ve bool cHangingEntity::IsValidSupportBlock(const BLOCKTYPE a_BlockType) { - return cBlockInfo::IsSolid(a_BlockType) && (a_BlockType != E_BLOCK_REDSTONE_REPEATER_OFF) && (a_BlockType != E_BLOCK_REDSTONE_REPEATER_ON); + return cBlockInfo::IsSolid(a_BlockType) && (a_BlockType != E_BLOCK_REDSTONE_REPEATER_OFF) && + (a_BlockType != E_BLOCK_REDSTONE_REPEATER_ON); } @@ -63,7 +63,8 @@ void cHangingEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } BLOCKTYPE Block; - const auto SupportPosition = AddFaceDirection(cChunkDef::AbsoluteToRelative(GetPosition()), ProtocolFaceToBlockFace(m_Facing), true); + const auto SupportPosition = + AddFaceDirection(cChunkDef::AbsoluteToRelative(GetPosition()), ProtocolFaceToBlockFace(m_Facing), true); if (!a_Chunk.UnboundedRelGetBlockType(SupportPosition, Block) || IsValidSupportBlock(Block)) { return; diff --git a/src/Entities/HangingEntity.h b/src/Entities/HangingEntity.h index a0e63d794..9cc7ee16b 100644 --- a/src/Entities/HangingEntity.h +++ b/src/Entities/HangingEntity.h @@ -8,15 +8,13 @@ // tolua_begin -class cHangingEntity : - public cEntity +class cHangingEntity : public cEntity { // tolua_end using Super = cEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cHangingEntity) cHangingEntity(eEntityType a_EntityType, eBlockFace a_BlockFace, Vector3d a_Pos); @@ -30,8 +28,10 @@ public: // tolua_export /** Returns if the given block can support hanging entity placements. */ static bool IsValidSupportBlock(BLOCKTYPE a_BlockType); // tolua_export + // tolua_begin /** Set the direction in which the entity is facing. */ - void SetFacing(eBlockFace a_Facing) { m_Facing = cHangingEntity::BlockFaceToProtocolFace(a_Facing); } // tolua_export + void SetFacing(eBlockFace a_Facing) { m_Facing = cHangingEntity::BlockFaceToProtocolFace(a_Facing); } + // tolua_end /** Set the direction in which the entity is facing. */ void SetProtocolFacing(Byte a_Facing) @@ -40,8 +40,7 @@ public: // tolua_export m_Facing = a_Facing; } -protected: - + protected: Byte m_Facing; virtual void KilledBy(TakeDamageInfo & a_TDI) override; @@ -51,7 +50,8 @@ protected: /** Converts protocol hanging item facing to eBlockFace values */ inline static eBlockFace ProtocolFaceToBlockFace(Byte a_ProtocolFace) { - // The client uses different values for item frame directions and block faces. Our constants are for the block faces, so we convert them here to item frame faces + // The client uses different values for item frame directions and block faces. Our constants are for the block + // faces, so we convert them here to item frame faces switch (a_ProtocolFace) { case 0: return BLOCK_FACE_ZP; @@ -72,7 +72,8 @@ protected: /** Converts eBlockFace values to protocol hanging item faces */ inline static Byte BlockFaceToProtocolFace(eBlockFace a_BlockFace) { - // The client uses different values for item frame directions and block faces. Our constants are for the block faces, so we convert them here to item frame faces + // The client uses different values for item frame directions and block faces. Our constants are for the block + // faces, so we convert them here to item frame faces switch (a_BlockFace) { case BLOCK_FACE_ZP: return 0; diff --git a/src/Entities/ItemFrame.cpp b/src/Entities/ItemFrame.cpp index 90d3bb049..18993e43b 100644 --- a/src/Entities/ItemFrame.cpp +++ b/src/Entities/ItemFrame.cpp @@ -10,10 +10,8 @@ -cItemFrame::cItemFrame(eBlockFace a_BlockFace, Vector3d a_Pos): - Super(etItemFrame, a_BlockFace, a_Pos), - m_Item(E_BLOCK_AIR), - m_ItemRotation(0) +cItemFrame::cItemFrame(eBlockFace a_BlockFace, Vector3d a_Pos) : + Super(etItemFrame, a_BlockFace, a_Pos), m_Item(E_BLOCK_AIR), m_ItemRotation(0) { } @@ -95,7 +93,7 @@ void cItemFrame::OnRightClicked(cPlayer & a_Player) } GetWorld()->BroadcastEntityMetadata(*this); // Update clients - GetParentChunk()->MarkDirty(); // Mark chunk dirty to save rotation or item + GetParentChunk()->MarkDirty(); // Mark chunk dirty to save rotation or item } diff --git a/src/Entities/ItemFrame.h b/src/Entities/ItemFrame.h index 08363e5d8..cb1cb82aa 100644 --- a/src/Entities/ItemFrame.h +++ b/src/Entities/ItemFrame.h @@ -8,15 +8,13 @@ // tolua_begin -class cItemFrame : - public cHangingEntity +class cItemFrame : public cHangingEntity { // tolua_end using Super = cHangingEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cItemFrame) cItemFrame(eBlockFace a_BlockFace, Vector3d a_Pos); @@ -37,8 +35,7 @@ public: // tolua_export // tolua_end -private: - + private: virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; virtual void GetDrops(cItems & a_Items, cEntity * a_Killer) override; virtual void OnRightClicked(cPlayer & a_Player) override; diff --git a/src/Entities/LeashKnot.cpp b/src/Entities/LeashKnot.cpp index e98ca52ec..a9c99f43d 100644 --- a/src/Entities/LeashKnot.cpp +++ b/src/Entities/LeashKnot.cpp @@ -15,9 +15,7 @@ cLeashKnot::cLeashKnot(eBlockFace a_BlockFace, Vector3d a_Pos) : - Super(etLeashKnot, a_BlockFace, a_Pos), - m_ShouldSelfDestroy(false), - m_TicksToSelfDestroy(20 * 1) + Super(etLeashKnot, a_BlockFace, a_Pos), m_ShouldSelfDestroy(false), m_TicksToSelfDestroy(20 * 1) { } @@ -42,7 +40,9 @@ void cLeashKnot::TiePlayersLeashedMobs(cPlayer & a_Player, bool a_ShouldBroadcas { // Check leashed nearby mobs to tie them to this knot // taking world from player (instead from this) because this can be called before entity was initialized - a_Player.GetWorld()->ForEachEntityInBox(cBoundingBox(GetPosition(), 8, 8, -4), [&](cEntity & a_Entity) + a_Player.GetWorld()->ForEachEntityInBox( + cBoundingBox(GetPosition(), 8, 8, -4), + [&](cEntity & a_Entity) { // If the entity is not a monster skip it if (a_Entity.GetEntityType() != cEntity::eEntityType::etMonster) @@ -50,7 +50,7 @@ void cLeashKnot::TiePlayersLeashedMobs(cPlayer & a_Player, bool a_ShouldBroadcas return false; } - auto & PotentialLeashed = static_cast(a_Entity); + auto & PotentialLeashed = static_cast(a_Entity); // If can't be leashed skip it if (!PotentialLeashed.CanBeLeashed()) @@ -59,11 +59,8 @@ void cLeashKnot::TiePlayersLeashedMobs(cPlayer & a_Player, bool a_ShouldBroadcas } // If it's not leashed to the player skip it - if ( - !PotentialLeashed.IsLeashed() || - !PotentialLeashed.GetLeashedTo()->IsPlayer() || - (PotentialLeashed.GetLeashedTo()->GetUniqueID() != a_Player.GetUniqueID()) - ) + if (!PotentialLeashed.IsLeashed() || !PotentialLeashed.GetLeashedTo()->IsPlayer() || + (PotentialLeashed.GetLeashedTo()->GetUniqueID() != a_Player.GetUniqueID())) { return false; } @@ -142,7 +139,9 @@ void cLeashKnot::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) cLeashKnot * cLeashKnot::FindKnotAtPos(cWorldInterface & a_WorldInterface, Vector3i a_BlockPos) { cLeashKnot * LeashKnot = nullptr; - a_WorldInterface.ForEachEntityInBox(cBoundingBox(a_BlockPos, 0.5, 1), [&](cEntity & a_Entity) + a_WorldInterface.ForEachEntityInBox( + cBoundingBox(a_BlockPos, 0.5, 1), + [&](cEntity & a_Entity) { if (a_Entity.IsLeashKnot()) { @@ -155,7 +154,3 @@ cLeashKnot * cLeashKnot::FindKnotAtPos(cWorldInterface & a_WorldInterface, Vecto return LeashKnot; } - - - - diff --git a/src/Entities/LeashKnot.h b/src/Entities/LeashKnot.h index 8a8d0a45e..e62222b74 100644 --- a/src/Entities/LeashKnot.h +++ b/src/Entities/LeashKnot.h @@ -10,14 +10,12 @@ class cWorldInterface; // tolua_begin -class cLeashKnot : - public cHangingEntity +class cLeashKnot : public cHangingEntity { // tolua_end using Super = cHangingEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cLeashKnot) cLeashKnot(eBlockFace a_BlockFace, Vector3d a_Pos); @@ -27,12 +25,13 @@ public: // tolua_export void SetShouldSelfDestroy() { m_ShouldSelfDestroy = true; } - /** Returns the leash knot entity representing the knot at the specified position. Returns nullptr if there's no knot. */ + /** Returns the leash knot entity representing the knot at the specified position. Returns nullptr if there's no + * knot. */ static cLeashKnot * FindKnotAtPos(cWorldInterface & a_WorldInterface, Vector3i a_BlockPos); -private: - - /** When a fence is destroyed, the knot on it gets destroyed after a while. This flag turns on the countdown to self destroy. */ + private: + /** When a fence is destroyed, the knot on it gets destroyed after a while. This flag turns on the countdown to self + * destroy. */ bool m_ShouldSelfDestroy; int m_TicksToSelfDestroy; @@ -43,7 +42,3 @@ private: virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; }; // tolua_export - - - - diff --git a/src/Entities/Minecart.cpp b/src/Entities/Minecart.cpp index 851161e4c..b985bd82c 100644 --- a/src/Entities/Minecart.cpp +++ b/src/Entities/Minecart.cpp @@ -28,7 +28,7 @@ class cMinecartAttachCallback { -public: + public: cMinecartAttachCallback(cMinecart & a_Minecart, cEntity * a_Attachee) : m_Minecart(a_Minecart), m_Attachee(a_Attachee) { @@ -46,8 +46,7 @@ public: return false; } -protected: - + protected: cMinecart & m_Minecart; cEntity * m_Attachee; }; @@ -58,8 +57,14 @@ protected: class cMinecartCollisionCallback { -public: - cMinecartCollisionCallback(Vector3d a_Pos, double a_Height, double a_Width, UInt32 a_UniqueID, UInt32 a_AttacheeUniqueID) : + public: + cMinecartCollisionCallback( + Vector3d a_Pos, + double a_Height, + double a_Width, + UInt32 a_UniqueID, + UInt32 a_AttacheeUniqueID + ) : m_DoesIntersect(false), m_CollidedEntityPos(0, 0, 0), m_Pos(a_Pos), @@ -70,17 +75,12 @@ public: { } - bool operator () (cEntity & a_Entity) + bool operator()(cEntity & a_Entity) { - if ( - ( - !a_Entity.IsPlayer() || - static_cast(a_Entity).IsGameModeSpectator() // Spectators doesn't collide with anything + if ((!a_Entity.IsPlayer() || + static_cast(a_Entity).IsGameModeSpectator() // Spectators doesn't collide with anything ) && - !a_Entity.IsMob() && - !a_Entity.IsMinecart() && - !a_Entity.IsBoat() - ) + !a_Entity.IsMob() && !a_Entity.IsMinecart() && !a_Entity.IsBoat()) { return false; } @@ -101,17 +101,11 @@ public: return false; } - bool FoundIntersection(void) const - { - return m_DoesIntersect; - } + bool FoundIntersection(void) const { return m_DoesIntersect; } - Vector3d GetCollidedEntityPosition(void) const - { - return m_CollidedEntityPos; - } + Vector3d GetCollidedEntityPosition(void) const { return m_CollidedEntityPos; } -protected: + protected: bool m_DoesIntersect; Vector3d m_CollidedEntityPos; @@ -129,7 +123,7 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cMinecart: -cMinecart::cMinecart(ePayload a_Payload, Vector3d a_Pos): +cMinecart::cMinecart(ePayload a_Payload, Vector3d a_Pos) : Super(etMinecart, a_Pos, 0.98f, 0.7f), m_Payload(a_Payload), m_LastDamage(0), @@ -186,7 +180,11 @@ void cMinecart::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) // Check if the rail is still there if (m_World->GetBlock(m_DetectorRailPosition) == E_BLOCK_DETECTOR_RAIL) { - m_World->SetBlock(m_DetectorRailPosition, E_BLOCK_DETECTOR_RAIL, m_World->GetBlockMeta(m_DetectorRailPosition) & 0x07); + m_World->SetBlock( + m_DetectorRailPosition, + E_BLOCK_DETECTOR_RAIL, + m_World->GetBlockMeta(m_DetectorRailPosition) & 0x07 + ); } m_bIsOnDetectorRail = false; @@ -230,9 +228,9 @@ void cMinecart::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) switch (InsideType) { - case E_BLOCK_RAIL: HandleRailPhysics(InsideMeta, a_Dt); break; + case E_BLOCK_RAIL: HandleRailPhysics(InsideMeta, a_Dt); break; case E_BLOCK_ACTIVATOR_RAIL: HandleActivatorRailPhysics(InsideMeta, a_Dt); break; - case E_BLOCK_POWERED_RAIL: HandlePoweredRailPhysics(InsideMeta); break; + case E_BLOCK_POWERED_RAIL: HandlePoweredRailPhysics(InsideMeta); break; case E_BLOCK_DETECTOR_RAIL: { m_DetectorRailPosition = Vector3i(POSX_TOINT, POSY_TOINT, POSZ_TOINT); @@ -243,12 +241,16 @@ void cMinecart::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) default: VERIFY(!"Unhandled rail type despite checking if block was rail!"); break; } - AddPosition(GetSpeed() * (static_cast(a_Dt.count()) / 1000)); // Commit changes; as we use our own engine when on rails, this needs to be done, whereas it is normally in Entity.cpp + AddPosition( + GetSpeed() * (static_cast(a_Dt.count()) / 1000) + ); // Commit changes; as we use our own engine when on rails, this needs to be done, whereas it is normally in + // Entity.cpp } else { // Not on rail, default physics - SetPosY(floor(GetPosY()) + 0.35); // HandlePhysics overrides this if minecart can fall, else, it is to stop ground clipping minecart bottom when off-rail + SetPosY(floor(GetPosY()) + 0.35); // HandlePhysics overrides this if minecart can fall, else, it is to stop + // ground clipping minecart bottom when off-rail Super::HandlePhysics(a_Dt, *chunk); } @@ -292,12 +294,12 @@ void cMinecart::HandleRailPhysics(NIBBLETYPE a_RailMeta, std::chrono::millisecon if (GetSpeedZ() > 0) { // Going SOUTH, slow down - ApplyAcceleration({ 0.0, 0.0, 1.0 }, -0.1); + ApplyAcceleration({0.0, 0.0, 1.0}, -0.1); } else { // Going NORTH, slow down - ApplyAcceleration({ 0.0, 0.0, -1.0 }, -0.1); + ApplyAcceleration({0.0, 0.0, -1.0}, -0.1); } } @@ -321,11 +323,11 @@ void cMinecart::HandleRailPhysics(NIBBLETYPE a_RailMeta, std::chrono::millisecon { if (GetSpeedX() > 0) { - ApplyAcceleration({ 1.0, 0.0, 0.0 }, -0.1); + ApplyAcceleration({1.0, 0.0, 0.0}, -0.1); } else { - ApplyAcceleration({ -1.0, 0.0, 0.0 }, -0.1); + ApplyAcceleration({-1.0, 0.0, 0.0}, -0.1); } } @@ -531,11 +533,11 @@ void cMinecart::HandlePoweredRailPhysics(NIBBLETYPE a_RailMeta) { if (GetSpeedZ() > NO_SPEED) { - ApplyAcceleration({ 0.0, 0.0, 1.0 }, Acceleration); + ApplyAcceleration({0.0, 0.0, 1.0}, Acceleration); } else { - ApplyAcceleration({ 0.0, 0.0, -1.0 }, Acceleration); + ApplyAcceleration({0.0, 0.0, -1.0}, Acceleration); } } // If rail is powered check for nearby blocks that could kick-start the minecart @@ -546,11 +548,11 @@ void cMinecart::HandlePoweredRailPhysics(NIBBLETYPE a_RailMeta) // Only kick-start the minecart if a block is on one side, but not both if (IsBlockZM && !IsBlockZP) { - ApplyAcceleration({ 0.0, 0.0, 1.0 }, Acceleration); + ApplyAcceleration({0.0, 0.0, 1.0}, Acceleration); } else if (!IsBlockZM && IsBlockZP) { - ApplyAcceleration({ 0.0, 0.0, -1.0 }, Acceleration); + ApplyAcceleration({0.0, 0.0, -1.0}, Acceleration); } } break; @@ -572,11 +574,11 @@ void cMinecart::HandlePoweredRailPhysics(NIBBLETYPE a_RailMeta) { if (GetSpeedX() > NO_SPEED) { - ApplyAcceleration({ 1.0, 0.0, 0.0 }, Acceleration); + ApplyAcceleration({1.0, 0.0, 0.0}, Acceleration); } else { - ApplyAcceleration({ -1.0, 0.0, 0.0 }, Acceleration); + ApplyAcceleration({-1.0, 0.0, 0.0}, Acceleration); } } // If rail is powered check for nearby blocks that could kick-start the minecart @@ -587,11 +589,11 @@ void cMinecart::HandlePoweredRailPhysics(NIBBLETYPE a_RailMeta) // Only kick-start the minecart if a block is on one side, but not both if (IsBlockXM && !IsBlockXP) { - ApplyAcceleration({ 1.0, 0.0, 0.0 }, Acceleration); + ApplyAcceleration({1.0, 0.0, 0.0}, Acceleration); } else if (!IsBlockXM && IsBlockXP) { - ApplyAcceleration({ -1.0, 0.0, 0.0 }, Acceleration); + ApplyAcceleration({-1.0, 0.0, 0.0}, Acceleration); } } break; @@ -603,12 +605,12 @@ void cMinecart::HandlePoweredRailPhysics(NIBBLETYPE a_RailMeta) if (GetSpeedX() >= NO_SPEED) { - ApplyAcceleration({ 1.0, 0.0, 0.0 }, Acceleration); + ApplyAcceleration({1.0, 0.0, 0.0}, Acceleration); SetSpeedY(-GetSpeedX()); } else { - ApplyAcceleration({ -1.0, 0.0, 0.0 }, Acceleration); + ApplyAcceleration({-1.0, 0.0, 0.0}, Acceleration); SetSpeedY(-GetSpeedX()); } break; @@ -620,12 +622,12 @@ void cMinecart::HandlePoweredRailPhysics(NIBBLETYPE a_RailMeta) if (GetSpeedX() > NO_SPEED) { - ApplyAcceleration({ 1.0, 0.0, 0.0 }, Acceleration); + ApplyAcceleration({1.0, 0.0, 0.0}, Acceleration); SetSpeedY(GetSpeedX()); } else { - ApplyAcceleration({ -1.0, 0.0, 0.0 }, Acceleration); + ApplyAcceleration({-1.0, 0.0, 0.0}, Acceleration); SetSpeedY(GetSpeedX()); } break; @@ -637,12 +639,12 @@ void cMinecart::HandlePoweredRailPhysics(NIBBLETYPE a_RailMeta) if (GetSpeedZ() >= NO_SPEED) { - ApplyAcceleration({ 0.0, 0.0, 1.0 }, Acceleration); + ApplyAcceleration({0.0, 0.0, 1.0}, Acceleration); SetSpeedY(-GetSpeedZ()); } else { - ApplyAcceleration({ 0.0, 0.0, -1.0 }, Acceleration); + ApplyAcceleration({0.0, 0.0, -1.0}, Acceleration); SetSpeedY(-GetSpeedZ()); } break; @@ -654,12 +656,12 @@ void cMinecart::HandlePoweredRailPhysics(NIBBLETYPE a_RailMeta) if (GetSpeedZ() > NO_SPEED) { - ApplyAcceleration({ 0.0, 0.0, 1.0 }, Acceleration); + ApplyAcceleration({0.0, 0.0, 1.0}, Acceleration); SetSpeedY(GetSpeedZ()); } else { - ApplyAcceleration({ 0.0, 0.0, -1.0 }, Acceleration); + ApplyAcceleration({0.0, 0.0, -1.0}, Acceleration); SetSpeedY(GetSpeedZ()); } break; @@ -714,7 +716,8 @@ void cMinecart::SnapToRail(NIBBLETYPE a_RailMeta) SetPosX(floor(GetPosX()) + 0.5); break; } - // Curved rail physics: once minecart has reached more than half of the block in the direction that it is travelling in, jerk it in the direction of curvature + // Curved rail physics: once minecart has reached more than half of the block in the direction that it is + // travelling in, jerk it in the direction of curvature case E_META_RAIL_CURVED_ZM_XM: { if (GetPosZ() > floor(GetPosZ()) + 0.5) @@ -850,10 +853,8 @@ bool cMinecart::IsBlockCollisionAtOffset(Vector3i a_Offset) return false; } - auto bbBlock = cBoundingBox( - static_cast(BlockPosition), - static_cast(BlockPosition + Vector3i(1, 1, 1)) - ); + auto bbBlock = + cBoundingBox(static_cast(BlockPosition), static_cast(BlockPosition + Vector3i(1, 1, 1))); return GetBoundingBox().DoesIntersect(bbBlock); } @@ -867,20 +868,20 @@ bool cMinecart::TestBlockCollision(NIBBLETYPE a_RailMeta) auto SpeedX = GetSpeedX(); auto SpeedZ = GetSpeedZ(); - // Don't do anything if minecarts aren't moving. - #ifdef __clang__ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wfloat-equal" - #endif +// Don't do anything if minecarts aren't moving. +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wfloat-equal" +#endif if ((SpeedX == 0) && (SpeedZ == 0)) { return false; } - #ifdef __clang__ - #pragma clang diagnostic pop - #endif +#ifdef __clang__ +#pragma clang diagnostic pop +#endif auto StopTheCart = true; auto StopOffset = Vector3d(); @@ -1051,10 +1052,10 @@ bool cMinecart::TestBlockCollision(NIBBLETYPE a_RailMeta) { SetSpeed(0, 0, 0); - #ifdef __clang__ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wfloat-equal" - #endif +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wfloat-equal" +#endif if (StopOffset.x != 0) { @@ -1065,9 +1066,9 @@ bool cMinecart::TestBlockCollision(NIBBLETYPE a_RailMeta) SetPosZ(POSZ_TOINT + StopOffset.z); } - #ifdef __clang__ - #pragma clang diagnostic pop - #endif +#ifdef __clang__ +#pragma clang diagnostic pop +#endif return true; } @@ -1082,7 +1083,10 @@ bool cMinecart::TestBlockCollision(NIBBLETYPE a_RailMeta) bool cMinecart::TestEntityCollision(NIBBLETYPE a_RailMeta) { cMinecartCollisionCallback MinecartCollisionCallback( - GetPosition(), GetHeight(), GetWidth(), GetUniqueID(), + GetPosition(), + GetHeight(), + GetWidth(), + GetUniqueID(), ((m_Attachee == nullptr) ? cEntity::INVALID_ID : m_Attachee->GetUniqueID()) ); int ChunkX, ChunkZ; @@ -1097,7 +1101,11 @@ bool cMinecart::TestEntityCollision(NIBBLETYPE a_RailMeta) // Collision was true, create bounding box for minecart, call attach callback for all entities within that box cMinecartAttachCallback MinecartAttachCallback(*this, m_Attachee); Vector3d MinecartPosition = GetPosition(); - cBoundingBox bbMinecart(Vector3d(MinecartPosition.x, floor(MinecartPosition.y), MinecartPosition.z), GetWidth() / 2, GetHeight()); + cBoundingBox bbMinecart( + Vector3d(MinecartPosition.x, floor(MinecartPosition.y), MinecartPosition.z), + GetWidth() / 2, + GetHeight() + ); m_World->ForEachEntityInBox(bbMinecart, MinecartAttachCallback); switch (a_RailMeta) @@ -1141,7 +1149,8 @@ bool cMinecart::TestEntityCollision(NIBBLETYPE a_RailMeta) case E_META_RAIL_CURVED_ZM_XM: case E_META_RAIL_CURVED_ZP_XP: { - Vector3d Distance = MinecartCollisionCallback.GetCollidedEntityPosition() - Vector3d(GetPosX(), 0, GetPosZ()); + Vector3d Distance = + MinecartCollisionCallback.GetCollidedEntityPosition() - Vector3d(GetPosX(), 0, GetPosZ()); // Prevent division by small numbers if (std::abs(Distance.z) < 0.001) @@ -1152,11 +1161,10 @@ bool cMinecart::TestEntityCollision(NIBBLETYPE a_RailMeta) /* Check to which side the minecart is to be pushed. Let's consider a z-x-coordinate system where the minecart is the center (0, 0). The minecart moves along the line x = -z, the perpendicular line to this is x = z. - In order to decide to which side the minecart is to be pushed, it must be checked on what side of the perpendicular line the pushing entity is located. */ - if ( - ((Distance.z > 0) && ((Distance.x / Distance.z) >= 1)) || - ((Distance.z < 0) && ((Distance.x / Distance.z) <= 1)) - ) + In order to decide to which side the minecart is to be pushed, it must be checked on what side of the + perpendicular line the pushing entity is located. */ + if (((Distance.z > 0) && ((Distance.x / Distance.z) >= 1)) || + ((Distance.z < 0) && ((Distance.x / Distance.z) <= 1))) { // Moving -X +Z if ((-GetSpeedX() * 0.4 / sqrt(2.0)) < 0.01) @@ -1190,7 +1198,8 @@ bool cMinecart::TestEntityCollision(NIBBLETYPE a_RailMeta) case E_META_RAIL_CURVED_ZM_XP: case E_META_RAIL_CURVED_ZP_XM: { - Vector3d Distance = MinecartCollisionCallback.GetCollidedEntityPosition() - Vector3d(GetPosX(), 0, GetPosZ()); + Vector3d Distance = + MinecartCollisionCallback.GetCollidedEntityPosition() - Vector3d(GetPosX(), 0, GetPosZ()); // Prevent division by small numbers if (std::abs(Distance.z) < 0.001) @@ -1201,11 +1210,10 @@ bool cMinecart::TestEntityCollision(NIBBLETYPE a_RailMeta) /* Check to which side the minecart is to be pushed. Let's consider a z-x-coordinate system where the minecart is the center (0, 0). The minecart moves along the line x = z, the perpendicular line to this is x = -z. - In order to decide to which side the minecart is to be pushed, it must be checked on what side of the perpendicular line the pushing entity is located. */ - if ( - ((Distance.z > 0) && ((Distance.x / Distance.z) <= -1)) || - ((Distance.z < 0) && ((Distance.x / Distance.z) >= -1)) - ) + In order to decide to which side the minecart is to be pushed, it must be checked on what side of the + perpendicular line the pushing entity is located. */ + if (((Distance.z > 0) && ((Distance.x / Distance.z) <= -1)) || + ((Distance.z < 0) && ((Distance.x / Distance.z) >= -1))) { // Moving +X +Z if ((GetSpeedX() * 0.4) < 0.01) @@ -1248,7 +1256,8 @@ bool cMinecart::TestEntityCollision(NIBBLETYPE a_RailMeta) bool cMinecart::DoTakeDamage(TakeDamageInfo & TDI) { - if ((TDI.Attacker != nullptr) && TDI.Attacker->IsPlayer() && static_cast(TDI.Attacker)->IsGameModeCreative()) + if ((TDI.Attacker != nullptr) && TDI.Attacker->IsPlayer() && + static_cast(TDI.Attacker)->IsGameModeCreative()) { TDI.FinalDamage = GetMaxHealth(); // Instant hit for creative SetInvulnerableTicks(0); @@ -1285,7 +1294,11 @@ void cMinecart::OnRemoveFromWorld(cWorld & a_World) { if (m_bIsOnDetectorRail) { - m_World->SetBlock(m_DetectorRailPosition, E_BLOCK_DETECTOR_RAIL, m_World->GetBlockMeta(m_DetectorRailPosition) & 0x07); + m_World->SetBlock( + m_DetectorRailPosition, + E_BLOCK_DETECTOR_RAIL, + m_World->GetBlockMeta(m_DetectorRailPosition) & 0x07 + ); } Super::OnRemoveFromWorld(a_World); @@ -1304,7 +1317,7 @@ void cMinecart::HandleSpeedFromAttachee(float a_Forward, float a_Sideways) return; } Vector3d LookVector = m_Attachee->GetLookVector(); - Vector3d ToAddSpeed = LookVector * (a_Forward * 0.4) ; + Vector3d ToAddSpeed = LookVector * (a_Forward * 0.4); ToAddSpeed.y = 0; AddSpeed(ToAddSpeed); } @@ -1336,10 +1349,8 @@ void cMinecart::ApplyAcceleration(Vector3d a_ForwardDirection, double a_Accelera //////////////////////////////////////////////////////////////////////////////// // cRideableMinecart: -cRideableMinecart::cRideableMinecart(Vector3d a_Pos, const cItem & a_Content, int a_ContentHeight): - Super(mpNone, a_Pos), - m_Content(a_Content), - m_ContentHeight(a_ContentHeight) +cRideableMinecart::cRideableMinecart(Vector3d a_Pos, const cItem & a_Content, int a_ContentHeight) : + Super(mpNone, a_Pos), m_Content(a_Content), m_ContentHeight(a_ContentHeight) { } @@ -1390,10 +1401,8 @@ void cRideableMinecart::OnRightClicked(cPlayer & a_Player) //////////////////////////////////////////////////////////////////////////////// // cMinecartWithChest: -cMinecartWithChest::cMinecartWithChest(Vector3d a_Pos): - Super(mpChest, a_Pos), - cEntityWindowOwner(this), - m_Contents(ContentsWidth, ContentsHeight) +cMinecartWithChest::cMinecartWithChest(Vector3d a_Pos) : + Super(mpChest, a_Pos), cEntityWindowOwner(this), m_Contents(ContentsWidth, ContentsHeight) { m_Contents.AddListener(*this); } @@ -1463,10 +1472,8 @@ void cMinecartWithChest::OpenNewWindow() //////////////////////////////////////////////////////////////////////////////// // cMinecartWithFurnace: -cMinecartWithFurnace::cMinecartWithFurnace(Vector3d a_Pos): - Super(mpFurnace, a_Pos), - m_FueledTimeLeft(-1), - m_IsFueled(false) +cMinecartWithFurnace::cMinecartWithFurnace(Vector3d a_Pos) : + Super(mpFurnace, a_Pos), m_FueledTimeLeft(-1), m_IsFueled(false) { } @@ -1539,7 +1546,7 @@ void cMinecartWithFurnace::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk //////////////////////////////////////////////////////////////////////////////// // cMinecartWithTNT: -cMinecartWithTNT::cMinecartWithTNT(Vector3d a_Pos): +cMinecartWithTNT::cMinecartWithTNT(Vector3d a_Pos) : Super(mpTNT, a_Pos) { } @@ -1603,7 +1610,7 @@ void cMinecartWithTNT::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) //////////////////////////////////////////////////////////////////////////////// // cMinecartWithHopper: -cMinecartWithHopper::cMinecartWithHopper(Vector3d a_Pos): +cMinecartWithHopper::cMinecartWithHopper(Vector3d a_Pos) : Super(mpHopper, a_Pos) { } diff --git a/src/Entities/Minecart.h b/src/Entities/Minecart.h index 5656f04ce..bf3c74da5 100644 --- a/src/Entities/Minecart.h +++ b/src/Entities/Minecart.h @@ -17,24 +17,23 @@ -class cMinecart : - public cEntity +class cMinecart : public cEntity { using Super = cEntity; -public: + public: CLASS_PROTODEF(cMinecart) /** Minecart payload, values correspond to packet subtype */ enum ePayload { - mpNone = 0, // Empty minecart, ridable by player or mobs - mpChest = 1, // Minecart-with-chest, can store a grid of 3 * 8 items + mpNone = 0, // Empty minecart, ridable by player or mobs + mpChest = 1, // Minecart-with-chest, can store a grid of 3 * 8 items mpFurnace = 2, // Minecart-with-furnace, can be powered - mpTNT = 3, // Minecart-with-TNT, can be blown up with activator rail - mpHopper = 5, // Minecart-with-hopper, can be hopper + mpTNT = 3, // Minecart-with-TNT, can be blown up with activator rail + mpHopper = 5, // Minecart-with-hopper, can be hopper // TODO: Spawner minecarts, (and possibly any block in a minecart with NBT editing) - } ; + }; // cEntity overrides: virtual void SpawnOn(cClientHandle & a_ClientHandle) override; @@ -46,8 +45,7 @@ public: int LastDamage(void) const { return m_LastDamage; } ePayload GetPayload(void) const { return m_Payload; } -protected: - + protected: ePayload m_Payload; int m_LastDamage; Vector3i m_DetectorRailPosition; @@ -59,7 +57,8 @@ protected: cMinecart(ePayload a_Payload, Vector3d a_Pos); /** Handles physics on normal rails - For each tick, slow down on flat rails, speed up or slow down on ascending / descending rails (depending on direction), and turn on curved rails. */ + For each tick, slow down on flat rails, speed up or slow down on ascending / descending rails (depending on + direction), and turn on curved rails. */ void HandleRailPhysics(NIBBLETYPE a_RailMeta, std::chrono::milliseconds a_Dt); /** Handles powered rail physics @@ -78,7 +77,8 @@ protected: /** Snaps a mincecart to a rail's axis, resetting its speed For curved rails, it changes the cart's direction as well as snapping it to axis */ void SnapToRail(NIBBLETYPE a_RailMeta); - /** Tests if a solid block is in front of a cart, and stops the cart (and returns true) if so; returns false if no obstruction */ + /** Tests if a solid block is in front of a cart, and stops the cart (and returns true) if so; returns false if no + * obstruction */ bool TestBlockCollision(NIBBLETYPE a_RailMeta); /** Tests if there is a block at the specified position which is impassable to minecarts */ bool IsSolidBlockAtPosition(Vector3i a_Offset); @@ -87,21 +87,20 @@ protected: bool IsBlockCollisionAtOffset(Vector3i a_Offset); - /** Tests if this mincecart's bounding box is intersecting another entity's bounding box (collision) and pushes mincecart away if necessary */ + /** Tests if this mincecart's bounding box is intersecting another entity's bounding box (collision) and pushes + * mincecart away if necessary */ bool TestEntityCollision(NIBBLETYPE a_RailMeta); -} ; +}; -class cRideableMinecart final : - public cMinecart +class cRideableMinecart final : public cMinecart { using Super = cMinecart; -public: - + public: CLASS_PROTODEF(cRideableMinecart) cRideableMinecart(Vector3d a_Pos, const cItem & a_Content, int a_ContentHeight); @@ -113,25 +112,22 @@ public: virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual void OnRightClicked(cPlayer & a_Player) override; -protected: - + protected: cItem m_Content; int m_ContentHeight; -} ; +}; -class cMinecartWithChest final : - public cMinecart, - public cItemGrid::cListener, - public cEntityWindowOwner +class cMinecartWithChest final : public cMinecart, + public cItemGrid::cListener, + public cEntityWindowOwner { using Super = cMinecart; -public: - + public: CLASS_PROTODEF(cMinecartWithChest) cMinecartWithChest(Vector3d a_Pos); @@ -146,8 +142,7 @@ public: void SetSlot(int a_Idx, const cItem & a_Item) { m_Contents.SetSlot(a_Idx, a_Item); } -protected: - + protected: cItemGrid m_Contents; void OpenNewWindow(void); @@ -171,19 +166,17 @@ protected: virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual void OnRemoveFromWorld(cWorld & a_World) override; virtual void OnRightClicked(cPlayer & a_Player) override; -} ; +}; -class cMinecartWithFurnace final : - public cMinecart +class cMinecartWithFurnace final : public cMinecart { using Super = cMinecart; -public: - + public: CLASS_PROTODEF(cMinecartWithFurnace) cMinecartWithFurnace(Vector3d a_Pos); @@ -194,59 +187,56 @@ public: virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; // Set functions. - void SetIsFueled(bool a_IsFueled, int a_FueledTimeLeft = -1) {m_IsFueled = a_IsFueled; m_FueledTimeLeft = a_FueledTimeLeft;} + void SetIsFueled(bool a_IsFueled, int a_FueledTimeLeft = -1) + { + m_IsFueled = a_IsFueled; + m_FueledTimeLeft = a_FueledTimeLeft; + } // Get functions. - int GetFueledTimeLeft(void) const {return m_FueledTimeLeft; } - bool IsFueled (void) const {return m_IsFueled;} - -private: + int GetFueledTimeLeft(void) const { return m_FueledTimeLeft; } + bool IsFueled(void) const { return m_IsFueled; } + private: int m_FueledTimeLeft; bool m_IsFueled; - -} ; +}; -class cMinecartWithTNT final : - public cMinecart +class cMinecartWithTNT final : public cMinecart { using Super = cMinecart; -public: - + public: CLASS_PROTODEF(cMinecartWithTNT) cMinecartWithTNT(Vector3d a_Pos); void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; -private: + private: int m_TNTFuseTicksLeft; bool m_isTNTFused = false; virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; void HandleActivatorRailPhysics(NIBBLETYPE a_RailMeta, std::chrono::milliseconds a_Dt) override; -} ; +}; -class cMinecartWithHopper final : - public cMinecart +class cMinecartWithHopper final : public cMinecart { using Super = cMinecart; -public: - + public: CLASS_PROTODEF(cMinecartWithHopper) cMinecartWithHopper(Vector3d a_Pos); -private: - + private: virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; -} ; +}; diff --git a/src/Entities/Painting.cpp b/src/Entities/Painting.cpp index dc1781fde..1f4ce9003 100644 --- a/src/Entities/Painting.cpp +++ b/src/Entities/Painting.cpp @@ -10,9 +10,8 @@ -cPainting::cPainting(const AString & a_Name, eBlockFace a_Direction, Vector3d a_Pos): - Super(etPainting, a_Direction, a_Pos), - m_Name(a_Name) +cPainting::cPainting(const AString & a_Name, eBlockFace a_Direction, Vector3d a_Pos) : + Super(etPainting, a_Direction, a_Pos), m_Name(a_Name) { } diff --git a/src/Entities/Painting.h b/src/Entities/Painting.h index f6ca5f000..8ad597b8d 100644 --- a/src/Entities/Painting.h +++ b/src/Entities/Painting.h @@ -8,15 +8,13 @@ // tolua_begin -class cPainting : - public cHangingEntity +class cPainting : public cHangingEntity { // tolua_end using Super = cHangingEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cPainting) cPainting(const AString & a_Name, eBlockFace a_Direction, Vector3d a_Pos); @@ -24,8 +22,7 @@ public: // tolua_export /** Returns the protocol name of the painting */ const AString & GetName(void) const { return m_Name; } // tolua_export -private: - + private: virtual void SpawnOn(cClientHandle & a_Client) override; virtual void GetDrops(cItems & a_Items, cEntity * a_Killer) override; virtual void KilledBy(TakeDamageInfo & a_TDI) override; @@ -33,7 +30,3 @@ private: AString m_Name; }; // tolua_export - - - - diff --git a/src/Entities/Pawn.cpp b/src/Entities/Pawn.cpp index 61653acd2..13190ddcb 100644 --- a/src/Entities/Pawn.cpp +++ b/src/Entities/Pawn.cpp @@ -66,7 +66,9 @@ void cPawn::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) // Spectators cannot push entities around if ((!IsPlayer()) || (!static_cast(this)->IsGameModeSpectator())) { - m_World->ForEachEntityInBox(GetBoundingBox(), [=](cEntity & a_Entity) + m_World->ForEachEntityInBox( + GetBoundingBox(), + [=](cEntity & a_Entity) { if (a_Entity.GetUniqueID() == GetUniqueID()) { @@ -74,7 +76,8 @@ void cPawn::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } // we only push other mobs, boats and minecarts - if ((a_Entity.GetEntityType() != etMonster) && (a_Entity.GetEntityType() != etMinecart) && (a_Entity.GetEntityType() != etBoat)) + if ((a_Entity.GetEntityType() != etMonster) && (a_Entity.GetEntityType() != etMinecart) && + (a_Entity.GetEntityType() != etBoat)) { return false; } @@ -183,10 +186,16 @@ void cPawn::HandleAir(void) -void cPawn::AddEntityEffect(cEntityEffect::eType a_EffectType, int a_Duration, short a_Intensity, double a_DistanceModifier) +void cPawn::AddEntityEffect( + cEntityEffect::eType a_EffectType, + int a_Duration, + short a_Intensity, + double a_DistanceModifier +) { // Check if the plugins allow the addition: - if (cPluginManager::Get()->CallHookEntityAddEffect(*this, a_EffectType, a_Duration, a_Intensity, a_DistanceModifier)) + if (cPluginManager::Get() + ->CallHookEntityAddEffect(*this, a_EffectType, a_Duration, a_Intensity, a_DistanceModifier)) { // A plugin disallows the addition, bail out. return; @@ -206,7 +215,10 @@ void cPawn::AddEntityEffect(cEntityEffect::eType a_EffectType, int a_Duration, s ExistingEffect->second->OnDeactivate(*this); } - auto Res = m_EntityEffects.emplace(a_EffectType, cEntityEffect::CreateEntityEffect(a_EffectType, a_Duration, a_Intensity, a_DistanceModifier)); + auto Res = m_EntityEffects.emplace( + a_EffectType, + cEntityEffect::CreateEntityEffect(a_EffectType, a_Duration, a_Intensity, a_DistanceModifier) + ); m_World->BroadcastEntityEffect(*this, a_EffectType, a_Intensity, a_Duration); cEntityEffect * Effect = Res.first->second.get(); Effect->OnActivate(*this); @@ -270,12 +282,15 @@ void cPawn::NoLongerTargetingMe(cMonster * a_Monster) cMonster * Monster = *i; if (Monster == a_Monster) { - ASSERT(Monster->GetTarget() != this); // The monster is notifying us it is no longer targeting us, assert if that's a lie + ASSERT( + Monster->GetTarget() != this + ); // The monster is notifying us it is no longer targeting us, assert if that's a lie m_TargetingMe.erase(i); return; } } - ASSERT(false); // If this happens, something is wrong. Perhaps the monster never called TargetingMe() or called NoLongerTargetingMe() twice. + ASSERT(false); // If this happens, something is wrong. Perhaps the monster never called TargetingMe() or called + // NoLongerTargetingMe() twice. } @@ -316,14 +331,17 @@ void cPawn::HandleFalling(void) will slow players down enough to have multiple updates that keep them alive) - Slime blocks reverse falling velocity, unless it's a crouching player, in which case they act as standard blocks. They also reset the topmost point of the damage calculation with each bounce, - so if the block is removed while the player is bouncing or crouches after a bounce, the last bounce's zenith is considered as fall damage. + so if the block is removed while the player is bouncing or crouches after a bounce, the last bounce's zenith is + considered as fall damage. With this in mind, we first check the block at the player's feet, then the one below that (because fences), and decide which behaviour we want to go with. */ - const auto BlockAtFoot = (cChunkDef::IsValidHeight(POS_TOINT)) ? GetWorld()->GetBlock(POS_TOINT) : static_cast(E_BLOCK_AIR); + const auto BlockAtFoot = + (cChunkDef::IsValidHeight(POS_TOINT)) ? GetWorld()->GetBlock(POS_TOINT) : static_cast(E_BLOCK_AIR); - /* We initialize these with what the foot is really IN, because for sampling we will move down with the epsilon above */ + /* We initialize these with what the foot is really IN, because for sampling we will move down with the epsilon + * above */ bool IsFootInWater = IsBlockWater(BlockAtFoot); bool IsFootOnSlimeBlock = false; @@ -331,22 +349,21 @@ void cPawn::HandleFalling(void) static const struct { int x, z; - } CrossSampleCoords[] = - { - { 0, 0 }, - { 1, 0 }, - { -1, 0 }, - { 0, 1 }, - { 0, -1 }, + } CrossSampleCoords[] = { + {0, 0}, + {1, 0}, + {-1, 0}, + {0, 1}, + {0, -1}, }; /* The blocks we're interested in relative to the player to account for larger than 1 blocks. This can be extended to do additional checks in case there are blocks that are represented as one block in memory but have a hitbox larger than 1 (like fences) */ - static const Vector3i BlockSampleOffsets[] = - { - { 0, 0, 0 }, // TODO: something went wrong here (offset 0?) - { 0, -1, 0 }, // Potentially causes mis-detection (IsFootInWater) when player stands on block diagonal to water (i.e. on side of pool) + static const Vector3i BlockSampleOffsets[] = { + {0, 0, 0}, // TODO: something went wrong here (offset 0?) + {0, -1, 0}, // Potentially causes mis-detection (IsFootInWater) when player stands on block diagonal to water + // (i.e. on side of pool) }; /* Here's the rough outline of how this mechanism works: @@ -355,10 +372,11 @@ void cPawn::HandleFalling(void) bool OnGround = false; for (size_t i = 0; i < ARRAYCOUNT(CrossSampleCoords); i++) { - /* We calculate from the player's position, one of the cross-offsets above, and we move it down slightly so it's beyond inaccuracy. - The added advantage of this method is that if the player is simply standing on the floor, - the point will move into the next block, and the floor() will retrieve that instead of air. */ - Vector3d CrossTestPosition = GetPosition() + Vector3d(CrossSampleCoords[i].x * HalfWidth, -EPS, CrossSampleCoords[i].z * HalfWidth); + /* We calculate from the player's position, one of the cross-offsets above, and we move it down slightly so it's + beyond inaccuracy. The added advantage of this method is that if the player is simply standing on the floor, the + point will move into the next block, and the floor() will retrieve that instead of air. */ + Vector3d CrossTestPosition = + GetPosition() + Vector3d(CrossSampleCoords[i].x * HalfWidth, -EPS, CrossSampleCoords[i].z * HalfWidth); /* We go through the blocks that we consider "relevant" */ for (size_t j = 0; j < ARRAYCOUNT(BlockSampleOffsets); j++) @@ -373,15 +391,18 @@ void cPawn::HandleFalling(void) BLOCKTYPE BlockType = GetWorld()->GetBlock(BlockTestPosition); NIBBLETYPE BlockMeta = GetWorld()->GetBlockMeta(BlockTestPosition); - /* we do the cross-shaped sampling to check for water / liquids, but only on our level because water blocks are never bigger than unit voxels */ + /* we do the cross-shaped sampling to check for water / liquids, but only on our level because water blocks + * are never bigger than unit voxels */ if (j == 0) { IsFootInWater |= IsBlockWater(BlockType); IsFootOnSlimeBlock |= (BlockType == E_BLOCK_SLIME_BLOCK); } - /* If the block is solid, and the blockhandler confirms the block to be inside, we're officially on the ground. */ - if ((cBlockInfo::IsSolid(BlockType)) && (cBlockHandler::For(BlockType).IsInsideBlock(CrossTestPosition - BlockTestPosition, BlockMeta))) + /* If the block is solid, and the blockhandler confirms the block to be inside, we're officially on the + * ground. */ + if ((cBlockInfo::IsSolid(BlockType)) && + (cBlockHandler::For(BlockType).IsInsideBlock(CrossTestPosition - BlockTestPosition, BlockMeta))) { OnGround = true; } @@ -418,14 +439,16 @@ void cPawn::HandleFalling(void) NOTE: this will only work in some cases; should be done in HandlePhysics() */ if (IsFootOnSlimeBlock && ShouldBounceOnSlime) { - // TODO: doesn't work too well, causes dissatisfactory experience for players on slime blocks - SetSpeedY(-GetSpeedY()); + // TODO: doesn't work too well, causes dissatisfactory experience for players on slime blocks - + // SetSpeedY(-GetSpeedY()); } // TODO: put player speed into GetSpeedY, and use that. // If flying, climbing, swimming, or going up... if (FallDamageAbsorbed || ((GetPosition() - m_LastPosition).y > 0)) { - // ...update the ground height to have the highest position of the player (i.e. jumping up adds to the eventual fall damage) + // ...update the ground height to have the highest position of the player (i.e. jumping up adds to the eventual + // fall damage) m_LastGroundHeight = GetPosY(); } @@ -435,7 +458,8 @@ void cPawn::HandleFalling(void) auto Damage = static_cast(FallHeight - 3.0); const auto Below = POS_TOINT.addedY(-1); - const auto BlockBelow = (cChunkDef::IsValidHeight(Below)) ? GetWorld()->GetBlock(Below) : static_cast(E_BLOCK_AIR); + const auto BlockBelow = + (cChunkDef::IsValidHeight(Below)) ? GetWorld()->GetBlock(Below) : static_cast(E_BLOCK_AIR); if ((Damage > 0) && !FallDamageAbsorbed) { @@ -454,10 +478,13 @@ void cPawn::HandleFalling(void) GetWorld()->BroadcastParticleEffect( "blockdust", GetPosition(), - { 0, 0, 0 }, - (Damage - 1.f) * ((0.3f - 0.1f) / (15.f - 1.f)) + 0.1f, // Map damage (1 - 15) to particle speed (0.1 - 0.3) - static_cast((Damage - 1.f) * ((50.f - 20.f) / (15.f - 1.f)) + 20.f), // Map damage (1 - 15) to particle quantity (20 - 50) - { { BlockBelow, 0 } } + {0, 0, 0}, + (Damage - 1.f) * ((0.3f - 0.1f) / (15.f - 1.f)) + + 0.1f, // Map damage (1 - 15) to particle speed (0.1 - 0.3) + static_cast( + (Damage - 1.f) * ((50.f - 20.f) / (15.f - 1.f)) + 20.f + ), // Map damage (1 - 15) to particle quantity (20 - 50) + {{BlockBelow, 0}} ); TakeDamage(dtFalling, nullptr, Damage, static_cast(Damage), 0); @@ -487,7 +514,11 @@ void cPawn::HandleFalling(void) -void cPawn::HandleFarmlandTrampling(const double a_FallHeight, const BLOCKTYPE a_BlockAtFoot, const BLOCKTYPE a_BlockBelow) +void cPawn::HandleFarmlandTrampling( + const double a_FallHeight, + const BLOCKTYPE a_BlockAtFoot, + const BLOCKTYPE a_BlockBelow +) { // No trampling if FallHeight <= 0.6875 if (a_FallHeight <= 0.6875) @@ -541,11 +572,14 @@ void cPawn::HandleFarmlandTrampling(const double a_FallHeight, const BLOCKTYPE a if (ShouldTrample) { - GetWorld()->DoWithChunkAt(AbsPos, [&](cChunk & Chunk) - { - cBlockFarmlandHandler::TurnToDirt(Chunk, AbsPos); - return true; - }); + GetWorld()->DoWithChunkAt( + AbsPos, + [&](cChunk & Chunk) + { + cBlockFarmlandHandler::TurnToDirt(Chunk, AbsPos); + return true; + } + ); } } @@ -565,7 +599,7 @@ void cPawn::OnRemoveFromWorld(cWorld & a_World) void cPawn::StopEveryoneFromTargetingMe() { - std::vector::iterator i = m_TargetingMe.begin(); + std::vector::iterator i = m_TargetingMe.begin(); while (i != m_TargetingMe.end()) { cMonster * Monster = *i; @@ -585,7 +619,7 @@ std::map cPawn::GetEntityEffects() const std::map Effects; for (auto & Effect : m_EntityEffects) { - Effects.insert({ Effect.first, Effect.second.get() }); + Effects.insert({Effect.first, Effect.second.get()}); } return Effects; } @@ -649,13 +683,20 @@ bool cPawn::DeductTotem(const eDamageType a_DamageType) -bool cPawn::FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, const Vector3i a_MinBoxCorner, const Vector3i a_MaxBoxCorner) +bool cPawn::FindTeleportDestination( + cWorld & a_World, + const int a_HeightRequired, + const unsigned int a_NumTries, + Vector3d & a_Destination, + const Vector3i a_MinBoxCorner, + const Vector3i a_MaxBoxCorner +) { /* Algorithm: Choose random destination. - Seek downwards, regardless of distance until the block is made of movement-blocking material: https://minecraft.wiki/w/Materials - Succeeds if no liquid or solid blocks prevents from standing at destination. + Seek downwards, regardless of distance until the block is made of movement-blocking material: + https://minecraft.wiki/w/Materials Succeeds if no liquid or solid blocks prevents from standing at destination. */ auto & Random = GetRandomProvider(); @@ -707,16 +748,36 @@ bool cPawn::FindTeleportDestination(cWorld & a_World, const int a_HeightRequired -bool cPawn::FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, const cBoundingBox a_BoundingBox) +bool cPawn::FindTeleportDestination( + cWorld & a_World, + const int a_HeightRequired, + const unsigned int a_NumTries, + Vector3d & a_Destination, + const cBoundingBox a_BoundingBox +) { - return FindTeleportDestination(a_World, a_HeightRequired, a_NumTries, a_Destination, a_BoundingBox.GetMin(), a_BoundingBox.GetMax()); + return FindTeleportDestination( + a_World, + a_HeightRequired, + a_NumTries, + a_Destination, + a_BoundingBox.GetMin(), + a_BoundingBox.GetMax() + ); } -bool cPawn::FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, Vector3i a_Centre, const int a_HalfCubeWidth) +bool cPawn::FindTeleportDestination( + cWorld & a_World, + const int a_HeightRequired, + const unsigned int a_NumTries, + Vector3d & a_Destination, + Vector3i a_Centre, + const int a_HalfCubeWidth +) { Vector3i MinCorner(a_Centre.x - a_HalfCubeWidth, a_Centre.y - a_HalfCubeWidth, a_Centre.z - a_HalfCubeWidth); Vector3i MaxCorner(a_Centre.x + a_HalfCubeWidth, a_Centre.y + a_HalfCubeWidth, a_Centre.z + a_HalfCubeWidth); diff --git a/src/Entities/Pawn.h b/src/Entities/Pawn.h index 721f9deb2..322118351 100644 --- a/src/Entities/Pawn.h +++ b/src/Entities/Pawn.h @@ -12,14 +12,12 @@ class cMonster; // tolua_begin -class cPawn: - public cEntity +class cPawn : public cEntity { // tolua_end using Super = cEntity; -public: - + public: CLASS_PROTODEF(cPawn) cPawn(eEntityType a_EntityType, float a_Width, float a_Height); @@ -56,7 +54,12 @@ public: a_EffectIntensity is the level of the effect (0 = Potion I, 1 = Potion II, etc). a_DistanceModifier is the scalar multiplied to the potion duration (only applies to splash potions). */ - void AddEntityEffect(cEntityEffect::eType a_EffectType, int a_EffectDurationTicks, short a_EffectIntensity, double a_DistanceModifier = 1); + void AddEntityEffect( + cEntityEffect::eType a_EffectType, + int a_EffectDurationTicks, + short a_EffectIntensity, + double a_DistanceModifier = 1 + ); /** Removes a currently applied entity effect. */ void RemoveEntityEffect(cEntityEffect::eType a_EffectType); @@ -83,21 +86,40 @@ public: // tolua_begin - static bool FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, const Vector3i a_MinBoxCorner, const Vector3i a_MaxBoxCorner); - - static bool FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, const cBoundingBox a_BoundingBox); + static bool FindTeleportDestination( + cWorld & a_World, + const int a_HeightRequired, + const unsigned int a_NumTries, + Vector3d & a_Destination, + const Vector3i a_MinBoxCorner, + const Vector3i a_MaxBoxCorner + ); + + static bool FindTeleportDestination( + cWorld & a_World, + const int a_HeightRequired, + const unsigned int a_NumTries, + Vector3d & a_Destination, + const cBoundingBox a_BoundingBox + ); /** Used by enderman and chorus fruit. Checks for valid destinations in a cube of length 2 * a_HalfCubeWidth centred at a_Centre. Returns true and places destination in a_Destination if successful. Returns false if destination could be found after a_NumTries attempts. Details at: https://minecraft.wiki/w/Enderman#Teleportation. */ - static bool FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, Vector3i a_Centre, const int a_HalfCubeWidth); + static bool FindTeleportDestination( + cWorld & a_World, + const int a_HeightRequired, + const unsigned int a_NumTries, + Vector3d & a_Destination, + Vector3i a_Centre, + const int a_HalfCubeWidth + ); // tolua_end -protected: - + protected: typedef std::map> tEffectMap; tEffectMap m_EntityEffects; @@ -106,12 +128,11 @@ protected: virtual void ResetPosition(Vector3d a_NewPosition) override; -private: - + private: /** A list of all monsters that are targeting this pawn. */ - std::vector m_TargetingMe; + std::vector m_TargetingMe; /** Attempt to activate a Totem of Undying. If activation for the given type of damage was successful, consumes the totem and returns true. */ bool DeductTotem(eDamageType a_DamageType); -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/Pickup.cpp b/src/Entities/Pickup.cpp index 05d1cd185..1568c2bb6 100644 --- a/src/Entities/Pickup.cpp +++ b/src/Entities/Pickup.cpp @@ -21,15 +21,13 @@ class cPickupCombiningCallback { -public: + public: cPickupCombiningCallback(Vector3d a_Position, cPickup * a_Pickup) : - m_FoundMatchingPickup(false), - m_Position(a_Position), - m_Pickup(a_Pickup) + m_FoundMatchingPickup(false), m_Position(a_Position), m_Pickup(a_Pickup) { } - bool operator () (cEntity & a_Entity) + bool operator()(cEntity & a_Entity) { ASSERT(a_Entity.IsTicking()); if (!a_Entity.IsPickup() || (a_Entity.GetUniqueID() <= m_Pickup->GetUniqueID()) || !a_Entity.IsOnGround()) @@ -46,7 +44,8 @@ public: if ((Distance < 1.2) && Item.IsEqual(m_Pickup->GetItem()) && OtherPickup.CanCombine()) { short CombineCount = static_cast(Item.m_ItemCount); - if ((CombineCount + static_cast(m_Pickup->GetItem().m_ItemCount)) > static_cast(Item.GetMaxStackSize())) + if ((CombineCount + static_cast(m_Pickup->GetItem().m_ItemCount)) > + static_cast(Item.GetMaxStackSize())) { CombineCount = Item.GetMaxStackSize() - m_Pickup->GetItem().m_ItemCount; } @@ -76,12 +75,9 @@ public: return false; } - inline bool FoundMatchingPickup() - { - return m_FoundMatchingPickup; - } + inline bool FoundMatchingPickup() { return m_FoundMatchingPickup; } -protected: + protected: bool m_FoundMatchingPickup; Vector3d m_Position; @@ -95,7 +91,14 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cPickup: -cPickup::cPickup(Vector3d a_Pos, const cItem & a_Item, bool IsPlayerCreated, Vector3f a_Speed, int a_LifetimeTicks, bool a_CanCombine): +cPickup::cPickup( + Vector3d a_Pos, + const cItem & a_Item, + bool IsPlayerCreated, + Vector3f a_Speed, + int a_LifetimeTicks, + bool a_CanCombine +) : Super(etPickup, a_Pos, 0.25f, 0.25f), m_Timer(0), m_Item(a_Item), @@ -143,7 +146,8 @@ void cPickup::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) int BlockX = POSX_TOINT; int BlockZ = POSZ_TOINT; - if ((BlockY >= 0) && (BlockY < cChunkDef::Height)) // Don't do anything except for falling when outside the world + if ((BlockY >= 0) && + (BlockY < cChunkDef::Height)) // Don't do anything except for falling when outside the world { // Position might have changed due to physics. So we have to make sure we have the correct chunk. GET_AND_VERIFY_CURRENT_CHUNK(CurrentChunk, BlockX, BlockZ); @@ -162,10 +166,11 @@ void cPickup::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } // Try to combine the pickup with adjacent same-item pickups: - if ((m_Item.m_ItemCount < m_Item.GetMaxStackSize()) && IsOnGround() && CanCombine()) // Don't combine if already full or not on ground + if ((m_Item.m_ItemCount < m_Item.GetMaxStackSize()) && IsOnGround() && + CanCombine()) // Don't combine if already full or not on ground { - // By using a_Chunk's ForEachEntity() instead of cWorld's, pickups don't combine across chunk boundaries. - // That is a small price to pay for not having to traverse the entire world for each entity. + // By using a_Chunk's ForEachEntity() instead of cWorld's, pickups don't combine across chunk + // boundaries. That is a small price to pay for not having to traverse the entire world for each entity. // The speedup in the tick thread is quite considerable. cPickupCombiningCallback PickupCombiningCallback(GetPosition(), this); a_Chunk.ForEachEntity(PickupCombiningCallback); @@ -215,7 +220,8 @@ bool cPickup::CollectedBy(cEntity & a_Dest) { if (m_bCollected) { - // LOG("Pickup %d cannot be collected by \"%s\", because it has already been collected.", m_UniqueID, a_Dest->GetName().c_str()); + // LOG("Pickup %d cannot be collected by \"%s\", because it has already been collected.", m_UniqueID, + // a_Dest->GetName().c_str()); return false; // It's already collected! } @@ -228,7 +234,8 @@ bool cPickup::CollectedBy(cEntity & a_Dest) // Two seconds if player created the pickup (vomiting), half a second if anything else if (m_Timer < (m_bIsPlayerCreated ? std::chrono::seconds(2) : std::chrono::milliseconds(500))) { - // LOG("Pickup %d cannot be collected by \"%s\", because it is not old enough.", m_UniqueID, a_Dest->GetName().c_str()); + // LOG("Pickup %d cannot be collected by \"%s\", because it is not old enough.", m_UniqueID, + // a_Dest->GetName().c_str()); return false; // Not old enough } @@ -253,7 +260,12 @@ bool cPickup::CollectedBy(cEntity & a_Dest) m_World->BroadcastCollectEntity(*this, a_Dest, static_cast(NumAdded)); // Also send the "pop" sound effect with a somewhat random pitch (fast-random using EntityID ;) - m_World->BroadcastSoundEffect("entity.item.pickup", GetPosition(), 0.3f, (1.2f + (static_cast((GetUniqueID() * 23) % 32)) / 64)); + m_World->BroadcastSoundEffect( + "entity.item.pickup", + GetPosition(), + 0.3f, + (1.2f + (static_cast((GetUniqueID() * 23) % 32)) / 64) + ); if (m_Item.m_ItemCount <= 0) { // All of the pickup has been collected, schedule the pickup for destroying @@ -278,7 +290,8 @@ bool cPickup::CollectedBy(cEntity & a_Dest) if (cRoot::Get()->GetPluginManager()->CallHookCollectingPickup(Player, *this)) { - // LOG("Pickup %d cannot be collected by \"%s\", because a plugin has said no.", m_UniqueID, a_Dest->GetName().c_str()); + // LOG("Pickup %d cannot be collected by \"%s\", because a plugin has said no.", m_UniqueID, + // a_Dest->GetName().c_str()); return false; } @@ -289,17 +302,22 @@ bool cPickup::CollectedBy(cEntity & a_Dest) switch (m_Item.m_ItemType) { case E_BLOCK_LOG: Player.AwardAchievement(CustomStatistic::AchMineWood); break; - case E_ITEM_LEATHER: Player.AwardAchievement(CustomStatistic::AchKillCow); break; + case E_ITEM_LEATHER: Player.AwardAchievement(CustomStatistic::AchKillCow); break; case E_ITEM_DIAMOND: Player.AwardAchievement(CustomStatistic::AchDiamonds); break; case E_ITEM_BLAZE_ROD: Player.AwardAchievement(CustomStatistic::AchBlazeRod); break; - default: break; + default: break; } m_Item.m_ItemCount -= NumAdded; m_World->BroadcastCollectEntity(*this, a_Dest, static_cast(NumAdded)); // Also send the "pop" sound effect with a somewhat random pitch (fast-random using EntityID ;) - m_World->BroadcastSoundEffect("entity.item.pickup", GetPosition(), 0.3f, (1.2f + (static_cast((GetUniqueID() * 23) % 32)) / 64)); + m_World->BroadcastSoundEffect( + "entity.item.pickup", + GetPosition(), + 0.3f, + (1.2f + (static_cast((GetUniqueID() * 23) % 32)) / 64) + ); if (m_Item.m_ItemCount <= 0) { // All of the pickup has been collected, schedule the pickup for destroying @@ -310,6 +328,7 @@ bool cPickup::CollectedBy(cEntity & a_Dest) } } - // LOG("Pickup %d cannot be collected by \"%s\", because there's no space in the inventory.", a_Dest->GetName().c_str(), m_UniqueID); + // LOG("Pickup %d cannot be collected by \"%s\", because there's no space in the inventory.", + // a_Dest->GetName().c_str(), m_UniqueID); return false; } diff --git a/src/Entities/Pickup.h b/src/Entities/Pickup.h index c995055ff..636428deb 100644 --- a/src/Entities/Pickup.h +++ b/src/Entities/Pickup.h @@ -15,21 +15,26 @@ class cPlayer; // tolua_begin -class cPickup : - public cEntity +class cPickup : public cEntity { // tolua_end using Super = cEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cPickup) - cPickup(Vector3d a_Pos, const cItem & a_Item, bool IsPlayerCreated, Vector3f a_Speed = Vector3f(), int a_LifetimeTicks = 6000, bool a_CanCombine = true); + cPickup( + Vector3d a_Pos, + const cItem & a_Item, + bool IsPlayerCreated, + Vector3f a_Speed = Vector3f(), + int a_LifetimeTicks = 6000, + bool a_CanCombine = true + ); - cItem & GetItem(void) {return m_Item; } // tolua_export - const cItem & GetItem(void) const {return m_Item; } + cItem & GetItem(void) { return m_Item; } // tolua_export + const cItem & GetItem(void) const { return m_Item; } virtual void SpawnOn(cClientHandle & a_ClientHandle) override; @@ -48,7 +53,7 @@ public: // tolua_export void SetCanCombine(bool a_CanCombine) { m_bCanCombine = a_CanCombine; } // tolua_export /** Returns the number of ticks that this entity has existed */ - int GetAge(void) const { return std::chrono::duration_cast(m_Timer).count(); } // tolua_export + int GetAge(void) const { return std::chrono::duration_cast(m_Timer).count(); } // tolua_export /** Set the number of ticks that this entity has existed */ void SetAge(int a_Age) { m_Timer = cTickTime(a_Age); } // tolua_export @@ -65,8 +70,7 @@ public: // tolua_export /** Returns true if created by player (i.e. vomiting), used for determining picking-up delay time */ bool IsPlayerCreated(void) const { return m_bIsPlayerCreated; } // tolua_export -private: - + private: /** The number of ticks that the entity has existed / timer between collect and destroy; in msec */ std::chrono::milliseconds m_Timer; diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp index de99a299d..05d7d6b5c 100644 --- a/src/Entities/Player.cpp +++ b/src/Entities/Player.cpp @@ -50,7 +50,7 @@ AString GetUUIDFolderName(const cUUID & a_Uuid) return res; } -} // namespace (anonymous) +} // namespace @@ -145,7 +145,8 @@ cPlayer::cPlayer(const std::shared_ptr & a_Client) : LoadFromDisk(); SetMaxHealth(MAX_HEALTH); - UpdateCapabilities(); // Only required for plugins listening to HOOK_SPAWNING_ENTITY to not read uninitialised variables. + UpdateCapabilities( + ); // Only required for plugins listening to HOOK_SPAWNING_ENTITY to not read uninitialised variables. } @@ -192,11 +193,11 @@ int cPlayer::CalcLevelFromXp(int a_XpTotal) // level 30+ if (a_XpTotal > XP_TO_LEVEL30) { - return static_cast((151.5 + sqrt( 22952.25 - (14 * (2220 - a_XpTotal)))) / 7); + return static_cast((151.5 + sqrt(22952.25 - (14 * (2220 - a_XpTotal)))) / 7); } // level 16 to 30 - return static_cast((29.5 + sqrt( 870.25 - (6 * ( 360 - a_XpTotal)))) / 3); + return static_cast((29.5 + sqrt(870.25 - (6 * (360 - a_XpTotal)))) / 3); } @@ -356,7 +357,8 @@ void cPlayer::SetTouchGround(bool a_bTouchGround) } UNUSED(a_bTouchGround); - /* Unfortunately whatever the reason, there are still desyncs in on-ground status between the client and server. For example: + /* Unfortunately whatever the reason, there are still desyncs in on-ground status between the client and server. For + example: 1. Walking off a ledge (whatever height) 2. Initial login Thus, it is too risky to compare their value against ours and kick them for hacking */ @@ -681,7 +683,8 @@ void cPlayer::SetCrouch(const bool a_ShouldCrouch) void cPlayer::SetElytraFlight(const bool a_ShouldElytraFly) { - if (a_ShouldElytraFly && IsStanding() && !IsOnGround() && !IsInWater() && !IsRiding() && (GetEquippedChestplate().m_ItemType == E_ITEM_ELYTRA)) + if (a_ShouldElytraFly && IsStanding() && !IsOnGround() && !IsInWater() && !IsRiding() && + (GetEquippedChestplate().m_ItemType == E_ITEM_ELYTRA)) { m_BodyStance = BodyStanceGliding(*this); } @@ -832,14 +835,16 @@ void cPlayer::NotifyNearbyWolves(cPawn * a_Opponent, bool a_IsPlayerInvolved) { ASSERT(a_Opponent != nullptr); - m_World->ForEachEntityInBox(cBoundingBox(GetPosition(), 16), [&] (cEntity & a_Entity) + m_World->ForEachEntityInBox( + cBoundingBox(GetPosition(), 16), + [&](cEntity & a_Entity) { if (a_Entity.IsMob()) { - auto & Mob = static_cast(a_Entity); + auto & Mob = static_cast(a_Entity); if (Mob.GetMobType() == mtWolf) { - auto & Wolf = static_cast(Mob); + auto & Wolf = static_cast(Mob); Wolf.ReceiveNearbyFightInfo(GetUUID(), a_Opponent, a_IsPlayerInvolved); } } @@ -858,7 +863,7 @@ void cPlayer::KilledBy(TakeDamageInfo & a_TDI) if (m_Health > 0) { - return; // not dead yet =] + return; // not dead yet =] } m_IsVisible = false; // So new clients don't see the player @@ -876,7 +881,7 @@ void cPlayer::KilledBy(TakeDamageInfo & a_TDI) { Pickups.Add(cItem(E_ITEM_RED_APPLE)); } - m_Stats.Custom[CustomStatistic::Drop] += static_cast(Pickups.Size()); + m_Stats.Custom[CustomStatistic::Drop] += static_cast(Pickups.Size()); m_World->SpawnItemPickups(Pickups, GetPosX(), GetPosY(), GetPosZ(), 10); SaveToDisk(); // Save it, yeah the world is a tough place ! @@ -964,7 +969,10 @@ void cPlayer::Respawn(void) const auto & DefaultWorld = *cRoot::Get()->GetDefaultWorld(); // If not, reset spawn to default and inform: - SetRespawnPosition(Vector3i(DefaultWorld.GetSpawnX(), DefaultWorld.GetSpawnY(), DefaultWorld.GetSpawnZ()), DefaultWorld); + SetRespawnPosition( + Vector3i(DefaultWorld.GetSpawnX(), DefaultWorld.GetSpawnY(), DefaultWorld.GetSpawnZ()), + DefaultWorld + ); SendAboveActionBarMessage("Your home bed was missing or obstructed"); } @@ -1410,8 +1418,10 @@ void cPlayer::AwardAchievement(const CustomStatistic a_Ach) void cPlayer::TeleportToCoords(double a_PosX, double a_PosY, double a_PosZ) { - // ask plugins to allow teleport to the new position. - if (!cRoot::Get()->GetPluginManager()->CallHookEntityTeleport(*this, m_LastPosition, Vector3d(a_PosX, a_PosY, a_PosZ))) + // ask plugins to allow teleport to the new position. + if (!cRoot::Get() + ->GetPluginManager() + ->CallHookEntityTeleport(*this, m_LastPosition, Vector3d(a_PosX, a_PosY, a_PosZ))) { m_IsTeleporting = true; @@ -1601,7 +1611,7 @@ bool cPlayer::HasPermission(const AString & a_Permission) const AStringVector Split = StringSplit(a_Permission, "."); // Iterate over all restrictions; if any matches, then return failure: - for (auto & Restriction: m_SplitRestrictions) + for (auto & Restriction : m_SplitRestrictions) { if (PermissionMatches(Split, Restriction)) { @@ -1610,7 +1620,7 @@ bool cPlayer::HasPermission(const AString & a_Permission) const } // for Restriction - m_SplitRestrictions[] // Iterate over all granted permissions; if any matches, then return success: - for (auto & Permission: m_SplitPermissions) + for (auto & Permission : m_SplitPermissions) { if (PermissionMatches(Split, Permission)) { @@ -1736,7 +1746,10 @@ void cPlayer::TossEquippedItem(char a_Amount) NewAmount = GetInventory().GetEquippedItem().m_ItemCount; // Drop only what's there } - GetInventory().GetHotbarGrid().ChangeSlotCount(GetInventory().GetEquippedSlotNum() /* Returns hotbar subslot, which HotbarGrid takes */, -a_Amount); + GetInventory().GetHotbarGrid().ChangeSlotCount( + GetInventory().GetEquippedSlotNum() /* Returns hotbar subslot, which HotbarGrid takes */, + -a_Amount + ); DroppedItem.m_ItemCount = NewAmount; Drops.push_back(DroppedItem); @@ -1833,7 +1846,9 @@ void cPlayer::LoadFromDisk() } // This is a new player whom we haven't seen yet with no save file, let them have the defaults: - LOG("Player \"%s\" (%s) save or statistics file not found, resetting to defaults", GetName().c_str(), UUID.ToShortString().c_str()); + LOG("Player \"%s\" (%s) save or statistics file not found, resetting to defaults", + GetName().c_str(), + UUID.ToShortString().c_str()); } m_CurrentWorldName = Root.get("world", cRoot::Get()->GetDefaultWorld()->GetName()).asString(); @@ -1845,26 +1860,28 @@ void cPlayer::LoadFromDisk() } else { - SetPosition(Vector3d(0.5, 0.5, 0.5) + Vector3i(m_World->GetSpawnX(), m_World->GetSpawnY(), m_World->GetSpawnZ())); + SetPosition( + Vector3d(0.5, 0.5, 0.5) + Vector3i(m_World->GetSpawnX(), m_World->GetSpawnY(), m_World->GetSpawnZ()) + ); } if (const auto & PlayerRotation = Root["rotation"]; PlayerRotation.size() == 3) { - SetYaw (PlayerRotation[0].asDouble()); + SetYaw(PlayerRotation[0].asDouble()); SetPitch(PlayerRotation[1].asDouble()); - SetRoll (PlayerRotation[2].asDouble()); + SetRoll(PlayerRotation[2].asDouble()); } - m_Health = Root.get("health", MAX_HEALTH).asFloat(); - m_AirLevel = Root.get("air", MAX_AIR_LEVEL).asInt(); - m_FoodLevel = Root.get("food", MAX_FOOD_LEVEL).asInt(); + m_Health = Root.get("health", MAX_HEALTH).asFloat(); + m_AirLevel = Root.get("air", MAX_AIR_LEVEL).asInt(); + m_FoodLevel = Root.get("food", MAX_FOOD_LEVEL).asInt(); m_FoodSaturationLevel = Root.get("foodSaturation", RESPAWN_FOOD_SATURATION).asDouble(); - m_FoodTickTimer = Root.get("foodTickTimer", 0).asInt(); + m_FoodTickTimer = Root.get("foodTickTimer", 0).asInt(); m_FoodExhaustionLevel = Root.get("foodExhaustion", 0).asDouble(); - m_LifetimeTotalXp = Root.get("xpTotal", 0).asInt(); - m_CurrentXp = Root.get("xpCurrent", 0).asInt(); - m_IsFlying = Root.get("isflying", 0).asBool(); - m_EnchantmentSeed = Root.get("enchantmentSeed", GetRandomProvider().RandInt()).asUInt(); + m_LifetimeTotalXp = Root.get("xpTotal", 0).asInt(); + m_CurrentXp = Root.get("xpCurrent", 0).asInt(); + m_IsFlying = Root.get("isflying", 0).asBool(); + m_EnchantmentSeed = Root.get("enchantmentSeed", GetRandomProvider().RandInt()).asUInt(); Json::Value & JSON_KnownItems = Root["knownItems"]; for (UInt32 i = 0; i < JSON_KnownItems.size(); i++) @@ -1899,8 +1916,12 @@ void cPlayer::LoadFromDisk() m_IsRespawnPointForced = Root.get("SpawnForced", true).asBool(); m_SpawnWorldName = Root.get("SpawnWorld", m_World->GetName()).asString(); - FLOGD("Player \"{0}\" with save file \"{1}\" is spawning at {2:.2f} in world \"{3}\"", - GetName(), FileName, GetPosition(), m_World->GetName() + FLOGD( + "Player \"{0}\" with save file \"{1}\" is spawning at {2:.2f} in world \"{3}\"", + GetName(), + FileName, + GetPosition(), + m_World->GetName() ); } @@ -1910,10 +1931,7 @@ void cPlayer::LoadFromDisk() void cPlayer::OpenHorseInventory() { - if ( - (m_AttachedTo == nullptr) || - !m_AttachedTo->IsMob() - ) + if ((m_AttachedTo == nullptr) || !m_AttachedTo->IsMob()) { return; } @@ -1975,31 +1993,31 @@ void cPlayer::SaveToDisk() } Json::Value root; - root["position"] = JSON_PlayerPosition; - root["rotation"] = JSON_PlayerRotation; - root["inventory"] = JSON_Inventory; - root["knownItems"] = JSON_KnownItems; - root["knownRecipes"] = JSON_KnownRecipes; - root["equippedItemSlot"] = m_Inventory.GetEquippedSlotNum(); + root["position"] = JSON_PlayerPosition; + root["rotation"] = JSON_PlayerRotation; + root["inventory"] = JSON_Inventory; + root["knownItems"] = JSON_KnownItems; + root["knownRecipes"] = JSON_KnownRecipes; + root["equippedItemSlot"] = m_Inventory.GetEquippedSlotNum(); root["enderchestinventory"] = JSON_EnderChestInventory; - root["health"] = m_Health; - root["xpTotal"] = m_LifetimeTotalXp; - root["xpCurrent"] = m_CurrentXp; - root["air"] = m_AirLevel; - root["food"] = m_FoodLevel; - root["foodSaturation"] = m_FoodSaturationLevel; - root["foodTickTimer"] = m_FoodTickTimer; - root["foodExhaustion"] = m_FoodExhaustionLevel; - root["isflying"] = IsFlying(); - root["lastknownname"] = GetName(); - root["SpawnX"] = GetLastBedPos().x; - root["SpawnY"] = GetLastBedPos().y; - root["SpawnZ"] = GetLastBedPos().z; - root["SpawnForced"] = m_IsRespawnPointForced; - root["SpawnWorld"] = m_SpawnWorldName; - root["enchantmentSeed"] = m_EnchantmentSeed; - root["world"] = m_CurrentWorldName; - root["gamemode"] = static_cast(m_GameMode); + root["health"] = m_Health; + root["xpTotal"] = m_LifetimeTotalXp; + root["xpCurrent"] = m_CurrentXp; + root["air"] = m_AirLevel; + root["food"] = m_FoodLevel; + root["foodSaturation"] = m_FoodSaturationLevel; + root["foodTickTimer"] = m_FoodTickTimer; + root["foodExhaustion"] = m_FoodExhaustionLevel; + root["isflying"] = IsFlying(); + root["lastknownname"] = GetName(); + root["SpawnX"] = GetLastBedPos().x; + root["SpawnY"] = GetLastBedPos().y; + root["SpawnZ"] = GetLastBedPos().z; + root["SpawnForced"] = m_IsRespawnPointForced; + root["SpawnWorld"] = m_SpawnWorldName; + root["enchantmentSeed"] = m_EnchantmentSeed; + root["world"] = m_CurrentWorldName; + root["gamemode"] = static_cast(m_GameMode); auto JsonData = JsonUtils::WriteStyledString(root); AString SourceFile = GetUUIDFileName(UUID); @@ -2007,15 +2025,19 @@ void cPlayer::SaveToDisk() cFile f; if (!f.Open(SourceFile, cFile::fmWrite)) { - LOGWARNING("Error writing player \"%s\" to file \"%s\": cannot open file. Player will lose their progress", - GetName().c_str(), SourceFile.c_str() + LOGWARNING( + "Error writing player \"%s\" to file \"%s\": cannot open file. Player will lose their progress", + GetName().c_str(), + SourceFile.c_str() ); return; } if (f.Write(JsonData.c_str(), JsonData.size()) != static_cast(JsonData.size())) { - LOGWARNING("Error writing player \"%s\" to file \"%s\": cannot save data. Player will lose their progress", - GetName().c_str(), SourceFile.c_str() + LOGWARNING( + "Error writing player \"%s\" to file \"%s\": cannot save data. Player will lose their progress", + GetName().c_str(), + SourceFile.c_str() ); return; } @@ -2078,8 +2100,8 @@ void cPlayer::UseItem(int a_SlotNumber, short a_Damage) // Ref: https://minecraft.wiki/w/Enchanting#Unbreaking unsigned int UnbreakingLevel = Item.m_Enchantments.GetLevel(cEnchantments::enchUnbreaking); - double chance = ItemCategory::IsArmor(Item.m_ItemType) - ? (0.6 + (0.4 / (UnbreakingLevel + 1))) : (1.0 / (UnbreakingLevel + 1)); + double chance = + ItemCategory::IsArmor(Item.m_ItemType) ? (0.6 + (0.4 / (UnbreakingLevel + 1))) : (1.0 / (UnbreakingLevel + 1)); // When durability is reduced by multiple points // Unbreaking is applied for each point of reduction. @@ -2101,11 +2123,16 @@ void cPlayer::UseItem(int a_SlotNumber, short a_Damage) { switch (a_SlotNumber) { - case cInventory::invArmorOffset: return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnHeadEquipmentBreaks); - case cInventory::invArmorOffset + 1: return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnChestEquipmentBreaks); - case cInventory::invArmorOffset + 2: return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnLegsEquipmentBreaks); - case cInventory::invArmorOffset + 3: return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnFeetEquipmentBreaks); - case cInventory::invShieldOffset: return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnOffHandEquipmentBreaks); + case cInventory::invArmorOffset: + return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnHeadEquipmentBreaks); + case cInventory::invArmorOffset + 1: + return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnChestEquipmentBreaks); + case cInventory::invArmorOffset + 2: + return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnLegsEquipmentBreaks); + case cInventory::invArmorOffset + 3: + return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnFeetEquipmentBreaks); + case cInventory::invShieldOffset: + return m_World->BroadcastEntityAnimation(*this, EntityAnimation::PawnOffHandEquipmentBreaks); } } } @@ -2182,7 +2209,9 @@ void cPlayer::HandleFloater() { return; } - m_World->DoWithEntityByID(m_FloaterID, [](cEntity & a_Entity) + m_World->DoWithEntityByID( + m_FloaterID, + [](cEntity & a_Entity) { a_Entity.Destroy(); return true; @@ -2241,7 +2270,8 @@ void cPlayer::UpdateMovementStats(const Vector3d & a_DeltaPos, bool a_PreviousIs { if (a_DeltaPos.y > 0.0) // Going up { - m_Stats.Custom[CustomStatistic::ClimbOneCm] += FloorC(a_DeltaPos.y * 100 + 0.5); + m_Stats.Custom[CustomStatistic::ClimbOneCm] += + FloorC(a_DeltaPos.y * 100 + 0.5); } } else if (IsInWater()) @@ -2285,7 +2315,8 @@ void cPlayer::UpdateMovementStats(const Vector3d & a_DeltaPos, bool a_PreviousIs else if (a_DeltaPos.y < 0.0) { // Increment statistic - m_Stats.Custom[CustomStatistic::FallOneCm] += static_cast(-a_DeltaPos.y * 100 + 0.5); + m_Stats.Custom[CustomStatistic::FallOneCm] += + static_cast(-a_DeltaPos.y * 100 + 0.5); } // TODO: good opportunity to detect illegal flight (check for falling tho) } @@ -2295,15 +2326,15 @@ void cPlayer::UpdateMovementStats(const Vector3d & a_DeltaPos, bool a_PreviousIs switch (m_AttachedTo->GetEntityType()) { case cEntity::etMinecart: m_Stats.Custom[CustomStatistic::MinecartOneCm] += Value; break; - case cEntity::etBoat: m_Stats.Custom[CustomStatistic::BoatOneCm] += Value; break; + case cEntity::etBoat: m_Stats.Custom[CustomStatistic::BoatOneCm] += Value; break; case cEntity::etMonster: { cMonster * Monster = static_cast(m_AttachedTo); switch (Monster->GetMobType()) { - case mtPig: m_Stats.Custom[CustomStatistic::PigOneCm] += Value; break; + case mtPig: m_Stats.Custom[CustomStatistic::PigOneCm] += Value; break; case mtHorse: m_Stats.Custom[CustomStatistic::HorseOneCm] += Value; break; - default: break; + default: break; } break; } @@ -2339,7 +2370,13 @@ void cPlayer::SendBlocksAround(Vector3i a_BlockPos, int a_Range) { for (int x = a_BlockPos.x - a_Range + 1; x < a_BlockPos.x + a_Range; x++) { - blks.emplace_back(x, y, z, E_BLOCK_AIR, static_cast(0)); // Use fake blocktype, it will get set later on. + blks.emplace_back( + x, + y, + z, + E_BLOCK_AIR, + static_cast(0) + ); // Use fake blocktype, it will get set later on. } } } // for y @@ -2353,7 +2390,7 @@ void cPlayer::SendBlocksAround(Vector3i a_BlockPos, int a_Range) // Divide the block changes by their respective chunks: std::unordered_map Changes; - for (const auto & blk: blks) + for (const auto & blk : blks) { Changes[cChunkCoords(blk.m_ChunkX, blk.m_ChunkZ)].push_back(blk); } // for blk - blks[] @@ -2376,19 +2413,22 @@ bool cPlayer::DoesPlacingBlocksIntersectEntity(const std::initializer_list PlacementBoxes; cBoundingBox PlacingBounds(0, 0, 0, 0, 0, 0); bool HasInitializedBounds = false; - for (auto blk: a_Blocks) + for (auto blk : a_Blocks) { int x = blk.GetX(); int y = blk.GetY(); int z = blk.GetZ(); - cBoundingBox BlockBox = cBlockHandler::For(blk.m_BlockType).GetPlacementCollisionBox( - m_World->GetBlock({ x - 1, y, z }), - m_World->GetBlock({ x + 1, y, z }), - (y == 0) ? static_cast(E_BLOCK_AIR) : m_World->GetBlock({ x, y - 1, z }), - (y == cChunkDef::Height - 1) ? static_cast(E_BLOCK_AIR) : m_World->GetBlock({ x, y + 1, z }), - m_World->GetBlock({ x, y, z - 1 }), - m_World->GetBlock({ x, y, z + 1 }) - ); + cBoundingBox BlockBox = + cBlockHandler::For(blk.m_BlockType) + .GetPlacementCollisionBox( + m_World->GetBlock({x - 1, y, z}), + m_World->GetBlock({x + 1, y, z}), + (y == 0) ? static_cast(E_BLOCK_AIR) : m_World->GetBlock({x, y - 1, z}), + (y == cChunkDef::Height - 1) ? static_cast(E_BLOCK_AIR) + : m_World->GetBlock({x, y + 1, z}), + m_World->GetBlock({x, y, z - 1}), + m_World->GetBlock({x, y, z + 1}) + ); BlockBox.Move(x, y, z); PlacementBoxes.push_back(BlockBox); @@ -2407,7 +2447,9 @@ bool cPlayer::DoesPlacingBlocksIntersectEntity(const std::initializer_listForEachEntityInBox(PlacingBounds, [&](cEntity & a_Entity) + return !World->ForEachEntityInBox( + PlacingBounds, + [&](cEntity & a_Entity) { // The distance inside the block the entity can still be. const double EPSILON = 0.0005; @@ -2446,7 +2488,7 @@ const cUUID & cPlayer::GetUUID(void) const bool cPlayer::PlaceBlock(const Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { - return PlaceBlocks({ { a_Position, a_BlockType, a_BlockMeta } }); + return PlaceBlocks({{a_Position, a_BlockType, a_BlockMeta}}); } @@ -2470,12 +2512,14 @@ bool cPlayer::PlaceBlocks(const std::initializer_list a_Blocks) // Check the blocks CanBeAt, and call the "placing" hooks; if any fail, abort: for (const auto & Block : a_Blocks) { - if ( - !m_World->DoWithChunkAt(Block.GetAbsolutePos(), [&Block](cChunk & a_Chunk) - { - return cBlockHandler::For(Block.m_BlockType).CanBeAt(a_Chunk, Block.GetRelativePos(), Block.m_BlockMeta); - }) - ) + if (!m_World->DoWithChunkAt( + Block.GetAbsolutePos(), + [&Block](cChunk & a_Chunk) + { + return cBlockHandler::For(Block.m_BlockType) + .CanBeAt(a_Chunk, Block.GetRelativePos(), Block.m_BlockMeta); + } + )) { return false; } @@ -2621,9 +2665,11 @@ float cPlayer::GetDigSpeed(BLOCKTYPE a_Block) // If we can harvest the block then we can apply material and enchantment bonuses if (GetEquippedItem().GetHandler().CanHarvestBlock(a_Block)) { - if (MiningSpeed > 1.0f) // If the base multiplier for this block is greater than 1, now we can check enchantments + if (MiningSpeed > + 1.0f) // If the base multiplier for this block is greater than 1, now we can check enchantments { - unsigned int EfficiencyModifier = GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::eEnchantment::enchEfficiency); + unsigned int EfficiencyModifier = + GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::eEnchantment::enchEfficiency); if (EfficiencyModifier > 0) // If an efficiency enchantment is present, apply formula as on wiki { MiningSpeed += (EfficiencyModifier * EfficiencyModifier) + 1; @@ -2650,16 +2696,16 @@ float cPlayer::GetDigSpeed(BLOCKTYPE a_Block) int intensity = MiningFatigue->GetIntensity(); switch (intensity) { - case 0: MiningSpeed *= 0.3f; break; - case 1: MiningSpeed *= 0.09f; break; - case 2: MiningSpeed *= 0.0027f; break; + case 0: MiningSpeed *= 0.3f; break; + case 1: MiningSpeed *= 0.09f; break; + case 2: MiningSpeed *= 0.0027f; break; default: MiningSpeed *= 0.00081f; break; - } } // 5x speed loss for being in water - if (IsInsideWater() && !(GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::eEnchantment::enchAquaAffinity) > 0)) + if (IsInsideWater() && + !(GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::eEnchantment::enchAquaAffinity) > 0)) { MiningSpeed /= 5.0f; } @@ -2774,10 +2820,8 @@ void cPlayer::TickFreezeCode() while (NewY < cChunkDef::Height - 2) { // If we find a position with enough space for the player - if ( - !cBlockInfo::IsSolid(Chunk->GetBlock(Rel.x, NewY, Rel.z)) && - !cBlockInfo::IsSolid(Chunk->GetBlock(Rel.x, NewY + 1, Rel.z)) - ) + if (!cBlockInfo::IsSolid(Chunk->GetBlock(Rel.x, NewY, Rel.z)) && + !cBlockInfo::IsSolid(Chunk->GetBlock(Rel.x, NewY + 1, Rel.z))) { // If the found position is not the same as the original if (NewY != Rel.y) @@ -2923,10 +2967,11 @@ bool cPlayer::DoTakeDamage(TakeDamageInfo & a_TDI) { if (a_TDI.Attacker->IsPawn()) { - NotifyNearbyWolves(static_cast(a_TDI.Attacker), true); + NotifyNearbyWolves(static_cast(a_TDI.Attacker), true); } } - m_Stats.Custom[CustomStatistic::DamageTaken] += FloorC(a_TDI.FinalDamage * 10 + 0.5); + m_Stats.Custom[CustomStatistic::DamageTaken] += + FloorC(a_TDI.FinalDamage * 10 + 0.5); return true; } return false; @@ -2938,10 +2983,7 @@ bool cPlayer::DoTakeDamage(TakeDamageInfo & a_TDI) float cPlayer::GetEnchantmentBlastKnockbackReduction() { - if ( - IsGameModeSpectator() || - (IsGameModeCreative() && !IsOnGround()) - ) + if (IsGameModeSpectator() || (IsGameModeCreative() && !IsOnGround())) { return 1; // No impact from explosion } @@ -3001,8 +3043,8 @@ void cPlayer::OnAddToWorld(cWorld & a_World) FreezeInternal(GetPosition(), false); // UpdateCapabilities was called in the constructor, and in OnRemoveFromWorld, possibly changing our visibility. - // If world is in spectator mode, invisibility will need updating. If we just connected, we might be on fire from a previous game. - // Hence, tell the client by sending metadata: + // If world is in spectator mode, invisibility will need updating. If we just connected, we might be on fire from a + // previous game. Hence, tell the client by sending metadata: m_ClientHandle->SendEntityMetadata(*this); // Send contents of the inventory window: @@ -3061,11 +3103,9 @@ void cPlayer::OnDetach() { for (int z = PosZ - 1; z <= (PosZ + 1); ++z) { - if ( - (m_World->GetBlock({ x, y, z }) == E_BLOCK_AIR) && - (m_World->GetBlock({ x, y + 1, z }) == E_BLOCK_AIR) && - cBlockInfo::IsSolid(m_World->GetBlock({ x, y - 1, z })) - ) + if ((m_World->GetBlock({x, y, z}) == E_BLOCK_AIR) && + (m_World->GetBlock({x, y + 1, z}) == E_BLOCK_AIR) && + cBlockInfo::IsSolid(m_World->GetBlock({x, y - 1, z}))) { TeleportToCoords(x + 0.5, y, z + 0.5); return; @@ -3092,7 +3132,8 @@ void cPlayer::OnRemoveFromWorld(cWorld & a_World) // Remove the client handle from the world: m_World->RemoveClientFromChunks(m_ClientHandle.get()); - if (m_ClientHandle->IsDestroyed()) // Note: checking IsWorldChangeScheduled not appropriate here since we can disconnecting while having a scheduled warp + if (m_ClientHandle->IsDestroyed()) // Note: checking IsWorldChangeScheduled not appropriate here since we can + // disconnecting while having a scheduled warp { // Disconnecting, do the necessary cleanup. // This isn't in the destructor to avoid crashing accessing destroyed objects during shutdown. @@ -3176,7 +3217,8 @@ void cPlayer::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } { - const auto TicksElapsed = static_cast(std::chrono::duration_cast(a_Dt).count()); + const auto TicksElapsed = + static_cast(std::chrono::duration_cast(a_Dt).count()); m_Stats.Custom[CustomStatistic::PlayOneMinute] += TicksElapsed; m_Stats.Custom[CustomStatistic::TimeSinceDeath] += TicksElapsed; @@ -3193,9 +3235,9 @@ void cPlayer::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) // Handle a frozen player: TickFreezeCode(); - if ( - m_IsFrozen || // Don't do Tick updates if frozen - IsWorldChangeScheduled() // If we're about to change worlds (e.g. respawn), abort processing all world interactions (GH #3939) + if (m_IsFrozen || // Don't do Tick updates if frozen + IsWorldChangeScheduled( + ) // If we're about to change worlds (e.g. respawn), abort processing all world interactions (GH #3939) ) { return; diff --git a/src/Entities/Player.h b/src/Entities/Player.h index cee8a1a9c..888bab90b 100644 --- a/src/Entities/Player.h +++ b/src/Entities/Player.h @@ -24,8 +24,7 @@ class cTeam; // tolua_begin -class cPlayer: - public cPawn +class cPlayer : public cPawn { // tolua_end @@ -80,8 +79,7 @@ class cPlayer: // tolua_begin -public: - + public: static const int MAX_HEALTH; static const int MAX_FOOD_LEVEL; @@ -93,7 +91,8 @@ public: cPlayer(const std::shared_ptr & a_Client); virtual ~cPlayer() override; - /** Called when spectation stops, because the player crouched or when the entity we're spectating gets removed from the world. */ + /** Called when spectation stops, because the player crouched or when the entity we're spectating gets removed from + * the world. */ void OnLoseSpectated(); // tolua_begin @@ -153,7 +152,7 @@ public: void SetTouchGround(bool a_bTouchGround); double GetEyeHeight(void) const; // tolua_export Vector3d GetEyePosition(void) const; // tolua_export - inline cInventory & GetInventory(void) { return m_Inventory; } // tolua_export + inline cInventory & GetInventory(void) { return m_Inventory; } // tolua_export inline const cInventory & GetInventory(void) const { return m_Inventory; } /** Gets the contents of the player's associated enderchest */ @@ -225,7 +224,6 @@ public: virtual bool IsFireproof() const override { return (m_IsFireproof || IsGameModeCreative() || IsGameModeSpectator()); - } /** Returns true if the player can be targeted by Mobs */ @@ -267,7 +265,8 @@ public: /** Opens the specified window; closes the current one first using CloseWindow() */ void OpenWindow(cWindow & a_Window); - /** Closes the current window, resets current window to m_InventoryWindow. A plugin may refuse the closing if a_CanRefuse is true */ + /** Closes the current window, resets current window to m_InventoryWindow. A plugin may refuse the closing if + * a_CanRefuse is true */ void CloseWindow(bool a_CanRefuse = true); /** Closes the current window if it matches the specified ID, resets current window to m_InventoryWindow */ @@ -278,7 +277,8 @@ public: // tolua_end /** Get a copy of the PRNG for enchanting related generation, don't use this for other purposes. - The PRNG's state is initialised with an internal seed, such that until PermuteEnchantmentSeed is called, this function returns the same PRNG. */ + The PRNG's state is initialised with an internal seed, such that until PermuteEnchantmentSeed is called, this + function returns the same PRNG. */ MTRand GetEnchantmentRandomProvider(); /** Permute the seed for enchanting related PRNGs, don't use this for other purposes. */ @@ -286,18 +286,18 @@ public: // tolua_begin - void SendMessage (const AString & a_Message); - void SendMessageInfo (const AString & a_Message); - void SendMessageFailure (const AString & a_Message); - void SendMessageSuccess (const AString & a_Message); - void SendMessageWarning (const AString & a_Message); - void SendMessageFatal (const AString & a_Message); - void SendMessagePrivateMsg (const AString & a_Message, const AString & a_Sender); - void SendMessage (const cCompositeChat & a_Message); - void SendMessageRaw (const AString & a_MessageRaw, eChatType a_Type = eChatType::ctChatBox); - void SendSystemMessage (const AString & a_Message); + void SendMessage(const AString & a_Message); + void SendMessageInfo(const AString & a_Message); + void SendMessageFailure(const AString & a_Message); + void SendMessageSuccess(const AString & a_Message); + void SendMessageWarning(const AString & a_Message); + void SendMessageFatal(const AString & a_Message); + void SendMessagePrivateMsg(const AString & a_Message, const AString & a_Sender); + void SendMessage(const cCompositeChat & a_Message); + void SendMessageRaw(const AString & a_MessageRaw, eChatType a_Type = eChatType::ctChatBox); + void SendSystemMessage(const AString & a_Message); void SendAboveActionBarMessage(const AString & a_Message); - void SendSystemMessage (const cCompositeChat & a_Message); + void SendSystemMessage(const cCompositeChat & a_Message); void SendAboveActionBarMessage(const cCompositeChat & a_Message); const AString & GetName(void) const; @@ -307,9 +307,12 @@ public: bool HasPermission(const AString & a_Permission) const; // tolua_export /** Returns true iff a_Permission matches the a_Template. - A match is defined by either being exactly the same, or each sub-item matches until there's a wildcard in a_Template. - Ie. {"a", "b", "c"} matches {"a", "b", "*"} but doesn't match {"a", "b"} */ - static bool PermissionMatches(const AStringVector & a_Permission, const AStringVector & a_Template); // Exported in ManualBindings with AString params + A match is defined by either being exactly the same, or each sub-item matches until there's a wildcard in + a_Template. Ie. {"a", "b", "c"} matches {"a", "b", "*"} but doesn't match {"a", "b"} */ + static bool PermissionMatches( + const AStringVector & a_Permission, + const AStringVector & a_Template + ); // Exported in ManualBindings with AString params /** Returns all the permissions that the player has assigned to them. */ const AStringVector & GetPermissions(void) const { return m_Permissions; } // Exported in ManualBindings.cpp @@ -351,18 +354,18 @@ public: /** Heals the player by the specified amount of HPs (positive only); sends health update */ virtual void Heal(int a_Health) override; - int GetFoodLevel (void) const { return m_FoodLevel; } - double GetFoodSaturationLevel (void) const { return m_FoodSaturationLevel; } - int GetFoodTickTimer (void) const { return m_FoodTickTimer; } - double GetFoodExhaustionLevel (void) const { return m_FoodExhaustionLevel; } + int GetFoodLevel(void) const { return m_FoodLevel; } + double GetFoodSaturationLevel(void) const { return m_FoodSaturationLevel; } + int GetFoodTickTimer(void) const { return m_FoodTickTimer; } + double GetFoodExhaustionLevel(void) const { return m_FoodExhaustionLevel; } /** Returns true if the player is satiated, i. e. their foodlevel is at the max and they cannot eat anymore */ bool IsSatiated(void) const { return (m_FoodLevel >= MAX_FOOD_LEVEL); } - void SetFoodLevel (int a_FoodLevel); - void SetFoodSaturationLevel (double a_FoodSaturationLevel); - void SetFoodTickTimer (int a_FoodTickTimer); - void SetFoodExhaustionLevel (double a_FoodExhaustionLevel); + void SetFoodLevel(int a_FoodLevel); + void SetFoodSaturationLevel(double a_FoodSaturationLevel); + void SetFoodTickTimer(int a_FoodTickTimer); + void SetFoodExhaustionLevel(double a_FoodExhaustionLevel); /** Adds to FoodLevel and FoodSaturationLevel, returns true if any food has been consumed, false if player "full" */ bool Feed(int a_Food, double a_Saturation); @@ -385,7 +388,11 @@ public: /** Returns true if the player has thrown out a floater */ bool IsFishing(void) const { return m_IsFishing; } - void SetIsFishing(bool a_IsFishing, UInt32 a_FloaterID = cEntity::INVALID_ID) { m_IsFishing = a_IsFishing; m_FloaterID = a_FloaterID; } + void SetIsFishing(bool a_IsFishing, UInt32 a_FloaterID = cEntity::INVALID_ID) + { + m_IsFishing = a_IsFishing; + m_FloaterID = a_FloaterID; + } UInt32 GetFloaterID(void) const { return m_FloaterID; } @@ -417,13 +424,14 @@ public: void Respawn(void); // tolua_export - void SetVisible( bool a_bVisible); // tolua_export + void SetVisible(bool a_bVisible); // tolua_export /** Saves all player data, such as inventory, to JSON. */ void SaveToDisk(void); /** Loads the player data from the save file. - Sets m_World to the world where the player will spawn, based on the stored world name or the default world by calling LoadFromFile(). */ + Sets m_World to the world where the player will spawn, based on the stored world name or the default world by + calling LoadFromFile(). */ void LoadFromDisk(); const AString & GetLoadedWorldName() const { return m_CurrentWorldName; } @@ -445,7 +453,7 @@ public: void UseItem(int a_SlotNumber, short a_Damage = 1); /** In UI windows, get the item that the player is dragging */ - cItem & GetDraggingItem(void) {return m_DraggingItem; } // tolua_export + cItem & GetDraggingItem(void) { return m_DraggingItem; } // tolua_export /** In UI windows, set the item that the player is dragging */ void SetDraggingItem(const cItem & a_Item); // tolua_export @@ -566,14 +574,15 @@ public: bool PlaceBlock(Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); /** Calls the block placement hooks and places the blocks in the world. - First the "placing" hooks for all the blocks are called, then the blocks are placed, and finally the "placed" hooks are called. - If the any of the "placing" hooks aborts, none of the blocks are placed and the function returns false. + First the "placing" hooks for all the blocks are called, then the blocks are placed, and finally the "placed" hooks + are called. If the any of the "placing" hooks aborts, none of the blocks are placed and the function returns false. Returns true if all the blocks are placed. */ bool PlaceBlocks(std::initializer_list a_Blocks); /** Notify nearby wolves that the player or one of the player's wolves took damage or did damage to an entity @param a_Opponent the opponent we're fighting. - @param a_IsPlayerInvolved Should be true if the player took or did damage, and false if one of the player's wolves took or did damage. + @param a_IsPlayerInvolved Should be true if the player took or did damage, and false if one of the player's wolves + took or did damage. */ void NotifyNearbyWolves(cPawn * a_Opponent, bool a_IsPlayerInvolved); @@ -604,12 +613,12 @@ public: virtual bool IsOnGround(void) const override { return m_bTouchGround; } virtual bool IsSprinting(void) const override; -private: - - typedef std::vector > AStringVectorVector; + private: + typedef std::vector> AStringVectorVector; /** The current body stance the player has adopted. */ - std::variant m_BodyStance; + std::variant + m_BodyStance; /** The name of the rank assigned to this player. */ AString m_Rank; @@ -642,7 +651,8 @@ private: /** Count-up to the healing or damaging action, based on m_FoodLevel */ int m_FoodTickTimer; - /** A "buffer" which adds up hunger before it is substracted from m_FoodSaturationLevel or m_FoodLevel. Each action adds a little */ + /** A "buffer" which adds up hunger before it is substracted from m_FoodSaturationLevel or m_FoodLevel. Each action + * adds a little */ double m_FoodExhaustionLevel; /** Stores the player's inventory, consisting of crafting grid, hotbar, and main slots */ @@ -655,11 +665,13 @@ private: cWindow * m_InventoryWindow; /** The player's potential respawn position, initialised to world spawn by default. - During player respawn from death, if m_IsRespawnPointForced is false and no bed exists here, it will be reset to world spawn. */ + During player respawn from death, if m_IsRespawnPointForced is false and no bed exists here, it will be reset to + world spawn. */ Vector3i m_RespawnPosition; /** The name of the world which the player respawns in upon death. - This is stored as a string to enable SaveToDisk to not touch cRoot, and thus can be safely called in the player's destructor. */ + This is stored as a string to enable SaveToDisk to not touch cRoot, and thus can be safely called in the player's + destructor. */ std::string m_SpawnWorldName; /** The name of the world which the player currently resides in. @@ -710,7 +722,8 @@ private: /** Was the player frozen manually by a plugin or automatically by the server? */ bool m_IsManuallyFrozen; - /** Whether we unconditionally respawn to m_RespawnPosition, or check if a bed is unobstructed and available first. */ + /** Whether we unconditionally respawn to m_RespawnPosition, or check if a bed is unobstructed and available first. + */ bool m_IsRespawnPointForced; /** Flag used by food handling system to determine whether a teleport has just happened. @@ -756,7 +769,8 @@ private: /** Called in each tick to handle food-related processing */ void HandleFood(void); - /** Called in each tick if the player is fishing to make sure the floater dissapears when the player doesn't have a fishing rod as equipped item. */ + /** Called in each tick if the player is fishing to make sure the floater dissapears when the player doesn't have a + * fishing rod as equipped item. */ void HandleFloater(void); /** Returns the filename for the player data based on the UUID given. @@ -776,10 +790,10 @@ private: /** Returns the dig speed using the current tool on the block a_Block. Returns one if using hand. If the player is using a tool that is good to break the block the value is higher. - If he has an enchanted tool with efficiency or he has a haste or mining fatique effect it gets multiplied by a specific factor depending on the strength of the effect or enchantment. - In he is in water it gets divided by 5 except if his tool is enchanted with aqua affinity. - If he is not on ground it also gets divided by 5. - Source: https://minecraft.wiki/w/Breaking#Calculation */ + If he has an enchanted tool with efficiency or he has a haste or mining fatique effect it gets multiplied by a + specific factor depending on the strength of the effect or enchantment. In he is in water it gets divided by 5 + except if his tool is enchanted with aqua affinity. If he is not on ground it also gets divided by 5. Source: + https://minecraft.wiki/w/Breaking#Calculation */ float GetDigSpeed(BLOCKTYPE a_Block); /** Add the recipe Id to the known recipes. @@ -807,4 +821,4 @@ private: virtual void SpawnOn(cClientHandle & a_Client) override; virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/ProjectileEntity.cpp b/src/Entities/ProjectileEntity.cpp index ea59c9c46..cfe33c13f 100644 --- a/src/Entities/ProjectileEntity.cpp +++ b/src/Entities/ProjectileEntity.cpp @@ -1,7 +1,8 @@ // ProjectileEntity.cpp -// Implements the cProjectileEntity class representing the common base class for projectiles, as well as individual projectile types +// Implements the cProjectileEntity class representing the common base class for projectiles, as well as individual +// projectile types #include "Globals.h" @@ -33,24 +34,23 @@ //////////////////////////////////////////////////////////////////////////////// // cProjectileTracerCallback: -class cProjectileTracerCallback : - public cBlockTracer::cCallbacks +class cProjectileTracerCallback : public cBlockTracer::cCallbacks { -public: + public: cProjectileTracerCallback(cProjectileEntity * a_Projectile) : - m_Projectile(a_Projectile), - m_SlowdownCoeff(0.99) // Default slowdown when not in water + m_Projectile(a_Projectile), m_SlowdownCoeff(0.99) // Default slowdown when not in water { } double GetSlowdownCoeff(void) const { return m_SlowdownCoeff; } -protected: + protected: cProjectileEntity * m_Projectile; double m_SlowdownCoeff; // cCallbacks overrides: - virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) + override { /* // DEBUG: @@ -66,14 +66,18 @@ protected: { // The projectile hit a solid block, calculate the exact hit coords: cBoundingBox bb(a_BlockPos, a_BlockPos + Vector3i(1, 1, 1)); // Bounding box of the block hit - const Vector3d LineStart = m_Projectile->GetPosition(); // Start point for the imaginary line that goes through the block hit - const Vector3d LineEnd = LineStart + m_Projectile->GetSpeed(); // End point for the imaginary line that goes through the block hit - double LineCoeff = 0; // Used to calculate where along the line an intersection with the bounding box occurs + const Vector3d LineStart = + m_Projectile->GetPosition(); // Start point for the imaginary line that goes through the block hit + const Vector3d LineEnd = LineStart + + m_Projectile->GetSpeed(); // End point for the imaginary line that goes through the block hit + double LineCoeff = + 0; // Used to calculate where along the line an intersection with the bounding box occurs eBlockFace Face; // Face hit if (bb.CalcLineIntersection(LineStart, LineEnd, LineCoeff, Face)) { - Vector3d Intersection = LineStart + m_Projectile->GetSpeed() * LineCoeff; // Point where projectile goes into the hit block + Vector3d Intersection = + LineStart + m_Projectile->GetSpeed() * LineCoeff; // Point where projectile goes into the hit block if (cPluginManager::Get()->CallHookProjectileHitBlock(*m_Projectile, a_BlockPos, Face, Intersection)) { @@ -96,14 +100,16 @@ protected: case E_BLOCK_STATIONARY_LAVA: { m_Projectile->StartBurning(30); - m_SlowdownCoeff = std::min(m_SlowdownCoeff, 0.9); // Slow down to 0.9* the speed each tick when moving through lava + m_SlowdownCoeff = + std::min(m_SlowdownCoeff, 0.9); // Slow down to 0.9* the speed each tick when moving through lava break; } case E_BLOCK_WATER: case E_BLOCK_STATIONARY_WATER: { m_Projectile->StopBurning(); - m_SlowdownCoeff = std::min(m_SlowdownCoeff, 0.8); // Slow down to 0.8* the speed each tick when moving through water + m_SlowdownCoeff = + std::min(m_SlowdownCoeff, 0.8); // Slow down to 0.8* the speed each tick when moving through water break; } } // switch (a_BlockType) @@ -111,7 +117,7 @@ protected: // Continue tracing return false; } -} ; +}; @@ -122,21 +128,20 @@ protected: class cProjectileEntityCollisionCallback { -public: - cProjectileEntityCollisionCallback(cProjectileEntity * a_Projectile, const Vector3d & a_Pos, const Vector3d & a_NextPos) : - m_Projectile(a_Projectile), - m_Pos(a_Pos), - m_NextPos(a_NextPos), - m_MinCoeff(1), - m_HitEntity(nullptr) + public: + cProjectileEntityCollisionCallback( + cProjectileEntity * a_Projectile, + const Vector3d & a_Pos, + const Vector3d & a_NextPos + ) : + m_Projectile(a_Projectile), m_Pos(a_Pos), m_NextPos(a_NextPos), m_MinCoeff(1), m_HitEntity(nullptr) { } - bool operator () (cEntity & a_Entity) + bool operator()(cEntity & a_Entity) { - if ( - (&a_Entity == m_Projectile) || // Do not check collisions with self + if ((&a_Entity == m_Projectile) || // Do not check collisions with self (a_Entity.GetUniqueID() == m_Projectile->GetCreatorUniqueID()) // Do not check whoever shot the projectile ) { @@ -149,8 +154,8 @@ public: auto EntBox = a_Entity.GetBoundingBox(); - // Instead of colliding the bounding box with another bounding box in motion, we collide an enlarged bounding box with a hairline. - // The results should be good enough for our purposes + // Instead of colliding the bounding box with another bounding box in motion, we collide an enlarged bounding + // box with a hairline. The results should be good enough for our purposes double LineCoeff; eBlockFace Face; EntBox.Expand(m_Projectile->GetWidth() / 2, m_Projectile->GetHeight() / 2, m_Projectile->GetWidth() / 2); @@ -160,16 +165,9 @@ public: return false; } - if ( - !a_Entity.IsMob() && - !a_Entity.IsMinecart() && - ( - !a_Entity.IsPlayer() || - static_cast(a_Entity).IsGameModeSpectator() - ) && - !a_Entity.IsBoat() && - !a_Entity.IsEnderCrystal() - ) + if (!a_Entity.IsMob() && !a_Entity.IsMinecart() && + (!a_Entity.IsPlayer() || static_cast(a_Entity).IsGameModeSpectator()) && !a_Entity.IsBoat() && + !a_Entity.IsEnderCrystal()) { // Not an entity that interacts with a projectile return false; @@ -201,16 +199,17 @@ public: /** Returns true if the callback has encountered a true hit */ bool HasHit(void) const { return (m_MinCoeff < 1); } -protected: + protected: cProjectileEntity * m_Projectile; const Vector3d & m_Pos; const Vector3d & m_NextPos; double m_MinCoeff; // The coefficient of the nearest hit on the Pos line // Although it's bad(tm) to store entity ptrs from a callback, we can afford it here, because the entire callback - // is processed inside the tick thread, so the entities won't be removed in between the calls and the final processing + // is processed inside the tick thread, so the entities won't be removed in between the calls and the final + // processing cEntity * m_HitEntity; // The nearest hit entity -} ; +}; @@ -219,7 +218,7 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cProjectileEntity: -cProjectileEntity::cProjectileEntity(eKind a_Kind, cEntity * a_Creator, Vector3d a_Pos, float a_Width, float a_Height): +cProjectileEntity::cProjectileEntity(eKind a_Kind, cEntity * a_Creator, Vector3d a_Pos, float a_Width, float a_Height) : Super(etProjectile, a_Pos, a_Width, a_Height), m_ProjectileKind(a_Kind), m_CreatorData( @@ -237,7 +236,14 @@ cProjectileEntity::cProjectileEntity(eKind a_Kind, cEntity * a_Creator, Vector3d -cProjectileEntity::cProjectileEntity(eKind a_Kind, cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed, float a_Width, float a_Height): +cProjectileEntity::cProjectileEntity( + eKind a_Kind, + cEntity * a_Creator, + Vector3d a_Pos, + Vector3d a_Speed, + float a_Width, + float a_Height +) : cProjectileEntity(a_Kind, a_Creator, a_Pos, a_Width, a_Height) { SetSpeed(a_Speed); @@ -265,15 +271,15 @@ std::unique_ptr cProjectileEntity::Create( switch (a_Kind) { - case pkArrow: return std::make_unique (a_Creator, a_Pos, Speed); - case pkEgg: return std::make_unique (a_Creator, a_Pos, Speed); + case pkArrow: return std::make_unique(a_Creator, a_Pos, Speed); + case pkEgg: return std::make_unique(a_Creator, a_Pos, Speed); case pkEnderPearl: return std::make_unique(a_Creator, a_Pos, Speed); - case pkSnowball: return std::make_unique (a_Creator, a_Pos, Speed); - case pkGhastFireball: return std::make_unique (a_Creator, a_Pos, Speed); - case pkFireCharge: return std::make_unique (a_Creator, a_Pos, Speed); - case pkExpBottle: return std::make_unique (a_Creator, a_Pos, Speed); - case pkSplashPotion: return std::make_unique (a_Creator, a_Pos, Speed, *a_Item); - case pkWitherSkull: return std::make_unique (a_Creator, a_Pos, Speed); + case pkSnowball: return std::make_unique(a_Creator, a_Pos, Speed); + case pkGhastFireball: return std::make_unique(a_Creator, a_Pos, Speed); + case pkFireCharge: return std::make_unique(a_Creator, a_Pos, Speed); + case pkExpBottle: return std::make_unique(a_Creator, a_Pos, Speed); + case pkSplashPotion: return std::make_unique(a_Creator, a_Pos, Speed, *a_Item); + case pkWitherSkull: return std::make_unique(a_Creator, a_Pos, Speed); case pkFirework: { ASSERT(a_Item != nullptr); @@ -301,9 +307,7 @@ void cProjectileEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) SetSpeed(0, 0, 0); // DEBUG: - FLOGD("Projectile {0}: pos {1:.02f}, hit solid block at face {2}", - m_UniqueID, a_HitPos, a_HitFace - ); + FLOGD("Projectile {0}: pos {1:.02f}, hit solid block at face {2}", m_UniqueID, a_HitPos, a_HitFace); m_IsInGround = true; } @@ -320,9 +324,11 @@ void cProjectileEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) if (a_EntityHit.IsPawn() && (GetCreatorName() != "")) { auto EntityHit = static_cast(&a_EntityHit); - m_World->DoWithEntityByID(GetCreatorUniqueID(), [=](cEntity & a_Hitter) + m_World->DoWithEntityByID( + GetCreatorUniqueID(), + [=](cEntity & a_Hitter) { - static_cast(a_Hitter).NotifyNearbyWolves(EntityHit, true); + static_cast(a_Hitter).NotifyNearbyWolves(EntityHit, true); return true; } ); @@ -393,7 +399,8 @@ void cProjectileEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a Vector3d HitPos = Pos + (NextPos - Pos) * EntityCollisionCallback.GetMinCoeff(); // DEBUG: - FLOGD("Projectile {0} has hit an entity {1} ({2}) at {3:.02f} (coeff {4:.03f})", + FLOGD( + "Projectile {0} has hit an entity {1} ({2}) at {3:.02f} (coeff {4:.03f})", m_UniqueID, EntityCollisionCallback.GetHitEntity()->GetUniqueID(), EntityCollisionCallback.GetHitEntity()->GetClass(), @@ -416,7 +423,8 @@ void cProjectileEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a // Something has been hit, abort all other processing return; } - // The tracer also checks the blocks for slowdown blocks - water and lava - and stores it for later in its SlowdownCoeff + // The tracer also checks the blocks for slowdown blocks - water and lava - and stores it for later in its + // SlowdownCoeff // Update the position: SetPosition(NextPos); @@ -455,4 +463,3 @@ void cProjectileEntity::CollectedBy(cPlayer & a_Dest) // Overriden in arrow UNUSED(a_Dest); } - diff --git a/src/Entities/ProjectileEntity.h b/src/Entities/ProjectileEntity.h index 1c8c00854..d86589490 100644 --- a/src/Entities/ProjectileEntity.h +++ b/src/Entities/ProjectileEntity.h @@ -17,8 +17,7 @@ // tolua_begin -class cProjectileEntity : - public cEntity +class cProjectileEntity : public cEntity { // tolua_end @@ -27,8 +26,7 @@ class cProjectileEntity : // tolua_begin -public: - + public: /** The kind of the projectile. */ enum eKind { @@ -42,14 +40,21 @@ public: pkSplashPotion, pkFirework, pkWitherSkull, - } ; + }; // tolua_end CLASS_PROTODEF(cProjectileEntity) cProjectileEntity(eKind a_Kind, cEntity * a_Creator, Vector3d a_Pos, float a_Width, float a_Height); - cProjectileEntity(eKind a_Kind, cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed, float a_Width, float a_Height); + cProjectileEntity( + eKind a_Kind, + cEntity * a_Creator, + Vector3d a_Pos, + Vector3d a_Speed, + float a_Width, + float a_Height + ); /** Creates a new instance of the specified projectile entity. a_Item is the item from which the projectile originated (such as firework or arrow). */ @@ -67,7 +72,9 @@ public: static std::unique_ptr Create( eKind a_Kind, cEntity * a_Creator, - double a_PosX, double a_PosY, double a_PosZ, + double a_PosX, + double a_PosY, + double a_PosZ, const cItem * a_Item, const Vector3d * a_Speed = nullptr ) @@ -75,7 +82,8 @@ public: return Create(a_Kind, a_Creator, {a_PosX, a_PosY, a_PosZ}, a_Item, a_Speed); } - /** Called by the physics blocktracer when the entity hits a solid block, the hit position and the face hit (BLOCK_FACE_) is given */ + /** Called by the physics blocktracer when the entity hits a solid block, the hit position and the face hit + * (BLOCK_FACE_) is given */ virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace); /** Called by the physics blocktracer when the entity hits another entity */ @@ -110,16 +118,13 @@ public: /** Sets the internal InGround flag. To be used by MCA loader only! */ void SetIsInGround(bool a_IsInGround) { m_IsInGround = a_IsInGround; } -protected: - + protected: /** A structure that stores the Entity ID and Playername of the projectile's creator Used to migitate invalid pointers caused by the creator being destroyed. */ struct CreatorData { CreatorData(UInt32 a_UniqueID, const AString & a_Name, const cEnchantments & a_Enchantments) : - m_UniqueID(a_UniqueID), - m_Name(a_Name), - m_Enchantments(a_Enchantments) + m_UniqueID(a_UniqueID), m_Name(a_Name), m_Enchantments(a_Enchantments) { } @@ -143,4 +148,4 @@ protected: virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void SpawnOn(cClientHandle & a_Client) final override; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/SplashPotionEntity.cpp b/src/Entities/SplashPotionEntity.cpp index dece6a1ea..935f93716 100644 --- a/src/Entities/SplashPotionEntity.cpp +++ b/src/Entities/SplashPotionEntity.cpp @@ -11,14 +11,8 @@ //////////////////////////////////////////////////////////////////////////////// // cSplashPotionEntity: -cSplashPotionEntity::cSplashPotionEntity( - cEntity * a_Creator, - Vector3d a_Pos, - Vector3d a_Speed, - const cItem & a_Item -): - Super(pkSplashPotion, a_Creator, a_Pos, a_Speed, 0.25f, 0.25f), - m_Item(a_Item) +cSplashPotionEntity::cSplashPotionEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed, const cItem & a_Item) : + Super(pkSplashPotion, a_Creator, a_Pos, a_Speed, 0.25f, 0.25f), m_Item(a_Item) { m_EntityEffectType = cEntityEffect::GetPotionEffectType(a_Item.m_ItemDamage); m_EntityEffect = cEntityEffect( @@ -35,27 +29,32 @@ cSplashPotionEntity::cSplashPotionEntity( void cSplashPotionEntity::Splash(Vector3d a_HitPos) { // Look for entities in 8.25 (width) x 4.25 (height) cuboid _centred_ on hit position: - m_World->ForEachEntityInBox({ a_HitPos.addedY(-4.25 / 2), 8.25 / 2, 4.25 }, [this, a_HitPos](cEntity & a_Entity) - { - if (!a_Entity.IsPawn()) + m_World->ForEachEntityInBox( + {a_HitPos.addedY(-4.25 / 2), 8.25 / 2, 4.25}, + [this, a_HitPos](cEntity & a_Entity) { - // Not an entity that can take effects + if (!a_Entity.IsPawn()) + { + // Not an entity that can take effects + return false; + } + + double SplashDistance = (a_Entity.GetPosition() - a_HitPos).Length(); + double Reduction = -0.25 * SplashDistance + + 1.0; // y = -0.25x + 1, where x is the distance from the player. Approximation for potion splash. + Reduction = std::max(Reduction, 0.0); + + static_cast(a_Entity).AddEntityEffect( + m_EntityEffectType, + m_EntityEffect.GetDuration(), + m_EntityEffect.GetIntensity(), + Reduction + ); return false; } - - double SplashDistance = (a_Entity.GetPosition() - a_HitPos).Length(); - double Reduction = -0.25 * SplashDistance + 1.0; // y = -0.25x + 1, where x is the distance from the player. Approximation for potion splash. - Reduction = std::max(Reduction, 0.0); - - static_cast(a_Entity).AddEntityEffect(m_EntityEffectType, m_EntityEffect.GetDuration(), m_EntityEffect.GetIntensity(), Reduction); - return false; - }); - - m_World->BroadcastSoundParticleEffect( - EffectID::PARTICLE_SPLASH_POTION, - a_HitPos.Floor(), - m_PotionColor ); + + m_World->BroadcastSoundParticleEffect(EffectID::PARTICLE_SPLASH_POTION, a_HitPos.Floor(), m_PotionColor); } diff --git a/src/Entities/SplashPotionEntity.h b/src/Entities/SplashPotionEntity.h index 30ca8997d..02a570bc9 100644 --- a/src/Entities/SplashPotionEntity.h +++ b/src/Entities/SplashPotionEntity.h @@ -21,39 +21,31 @@ class cEntity; // tolua_begin -class cSplashPotionEntity : - public cProjectileEntity +class cSplashPotionEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cSplashPotionEntity) - cSplashPotionEntity( - cEntity * a_Creator, - Vector3d a_Pos, - Vector3d a_Speed, - const cItem & a_Item - ); + cSplashPotionEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed, const cItem & a_Item); // tolua_begin cEntityEffect::eType GetEntityEffectType(void) const { return m_EntityEffectType; } - int GetPotionColor(void) const { return m_PotionColor; } - const cItem & GetItem(void) const { return m_Item; } + int GetPotionColor(void) const { return m_PotionColor; } + const cItem & GetItem(void) const { return m_Item; } void SetEntityEffectType(cEntityEffect::eType a_EntityEffectType) { m_EntityEffectType = a_EntityEffectType; } void SetPotionColor(int a_PotionColor) { m_PotionColor = a_PotionColor; } // tolua_end - cEntityEffect GetEntityEffect(void) const { return m_EntityEffect; } + cEntityEffect GetEntityEffect(void) const { return m_EntityEffect; } void SetEntityEffect(cEntityEffect a_EntityEffect) { m_EntityEffect = a_EntityEffect; } -private: - + private: cEntityEffect::eType m_EntityEffectType; cEntityEffect m_EntityEffect; int m_PotionColor; @@ -66,4 +58,4 @@ private: // cProjectileEntity overrides: virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override; virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/TNTEntity.cpp b/src/Entities/TNTEntity.cpp index 0d7340513..a56729e06 100644 --- a/src/Entities/TNTEntity.cpp +++ b/src/Entities/TNTEntity.cpp @@ -9,8 +9,7 @@ cTNTEntity::cTNTEntity(Vector3d a_Pos, unsigned a_FuseTicks) : - Super(etTNT, a_Pos, 0.98f, 0.98f), - m_FuseTicks(a_FuseTicks) + Super(etTNT, a_Pos, 0.98f, 0.98f), m_FuseTicks(a_FuseTicks) { SetGravity(-16.0f); SetAirDrag(0.02f); @@ -68,7 +67,3 @@ void cTNTEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) Explode(); } } - - - - diff --git a/src/Entities/TNTEntity.h b/src/Entities/TNTEntity.h index d181eee22..4ed20399e 100644 --- a/src/Entities/TNTEntity.h +++ b/src/Entities/TNTEntity.h @@ -7,16 +7,14 @@ // tolua_begin -class cTNTEntity: - public cEntity +class cTNTEntity : public cEntity { // tolua_end using Super = cEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cTNTEntity) cTNTEntity(Vector3d a_Pos, unsigned a_FuseTicks = 80); @@ -38,6 +36,6 @@ public: // tolua_export // tolua_end -protected: - unsigned m_FuseTicks; ///< How much ticks is left, while the tnt will explode + protected: + unsigned m_FuseTicks; ///< How much ticks is left, while the tnt will explode }; // tolua_export diff --git a/src/Entities/ThrownEggEntity.cpp b/src/Entities/ThrownEggEntity.cpp index 44cfda937..5654a43e0 100644 --- a/src/Entities/ThrownEggEntity.cpp +++ b/src/Entities/ThrownEggEntity.cpp @@ -7,7 +7,7 @@ -cThrownEggEntity::cThrownEggEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed): +cThrownEggEntity::cThrownEggEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed) : Super(pkEgg, a_Creator, a_Pos, a_Speed, 0.25f, 0.25f) { } diff --git a/src/Entities/ThrownEggEntity.h b/src/Entities/ThrownEggEntity.h index f20705b81..5c5252f26 100644 --- a/src/Entities/ThrownEggEntity.h +++ b/src/Entities/ThrownEggEntity.h @@ -17,21 +17,18 @@ // tolua_begin -class cThrownEggEntity : - public cProjectileEntity +class cThrownEggEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cThrownEggEntity) cThrownEggEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed); -private: - + private: /** Randomly decides whether to spawn a chicken where the egg lands. */ void TrySpawnChicken(Vector3d a_HitPos); @@ -39,4 +36,4 @@ private: virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override; virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/ThrownEnderPearlEntity.cpp b/src/Entities/ThrownEnderPearlEntity.cpp index 6fc21e179..8b41a7e92 100644 --- a/src/Entities/ThrownEnderPearlEntity.cpp +++ b/src/Entities/ThrownEnderPearlEntity.cpp @@ -10,7 +10,7 @@ -cThrownEnderPearlEntity::cThrownEnderPearlEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed): +cThrownEnderPearlEntity::cThrownEnderPearlEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed) : Super(pkEnderPearl, a_Creator, a_Pos, a_Speed, 0.25f, 0.25f) { } @@ -60,23 +60,25 @@ void cThrownEnderPearlEntity::TeleportCreator(Vector3d a_HitPos) - GetWorld()->FindAndDoWithPlayer(m_CreatorData.m_Name, [=](cPlayer & a_Entity) - { - - auto & Random = GetRandomProvider(); - - // 5% chance to spawn an endermite - if (Random.RandBool(0.05)) + GetWorld()->FindAndDoWithPlayer( + m_CreatorData.m_Name, + [=](cPlayer & a_Entity) { - Vector3d PlayerPosition = a_Entity.GetPosition(); - m_World->SpawnMob(PlayerPosition.x, PlayerPosition.y, PlayerPosition.z, mtEndermite); - } + auto & Random = GetRandomProvider(); + + // 5% chance to spawn an endermite + if (Random.RandBool(0.05)) + { + Vector3d PlayerPosition = a_Entity.GetPosition(); + m_World->SpawnMob(PlayerPosition.x, PlayerPosition.y, PlayerPosition.z, mtEndermite); + } - // Teleport the creator here, make them take 5 damage: - a_Entity.TeleportToCoords(a_HitPos.x, a_HitPos.y + 0.2, a_HitPos.z); - a_Entity.TakeDamage(dtEnderPearl, this, 5, 0); + // Teleport the creator here, make them take 5 damage: + a_Entity.TeleportToCoords(a_HitPos.x, a_HitPos.y + 0.2, a_HitPos.z); + a_Entity.TakeDamage(dtEnderPearl, this, 5, 0); - return false; - }); + return false; + } + ); } diff --git a/src/Entities/ThrownEnderPearlEntity.h b/src/Entities/ThrownEnderPearlEntity.h index f503c5398..9e75d7283 100644 --- a/src/Entities/ThrownEnderPearlEntity.h +++ b/src/Entities/ThrownEnderPearlEntity.h @@ -17,21 +17,18 @@ // tolua_begin -class cThrownEnderPearlEntity : - public cProjectileEntity +class cThrownEnderPearlEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cThrownEnderPearlEntity) cThrownEnderPearlEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed); -private: - + private: /** Teleports the creator where the ender pearl lands */ void TeleportCreator(Vector3d a_HitPos); @@ -39,4 +36,4 @@ private: virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override; virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/ThrownSnowballEntity.cpp b/src/Entities/ThrownSnowballEntity.cpp index ab8a5f012..84f6adf62 100644 --- a/src/Entities/ThrownSnowballEntity.cpp +++ b/src/Entities/ThrownSnowballEntity.cpp @@ -7,7 +7,7 @@ -cThrownSnowballEntity::cThrownSnowballEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed): +cThrownSnowballEntity::cThrownSnowballEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed) : Super(pkSnowball, a_Creator, a_Pos, a_Speed, 0.25f, 0.25f) { } diff --git a/src/Entities/ThrownSnowballEntity.h b/src/Entities/ThrownSnowballEntity.h index 84dc394dd..0e62b7627 100644 --- a/src/Entities/ThrownSnowballEntity.h +++ b/src/Entities/ThrownSnowballEntity.h @@ -17,23 +17,20 @@ // tolua_begin -class cThrownSnowballEntity : - public cProjectileEntity +class cThrownSnowballEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cThrownSnowballEntity) cThrownSnowballEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed); -private: - + private: // cProjectileEntity overrides: virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override; virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override; -} ; // tolua_export +}; // tolua_export diff --git a/src/Entities/WitherSkullEntity.cpp b/src/Entities/WitherSkullEntity.cpp index 22e474395..5b9e35ac3 100644 --- a/src/Entities/WitherSkullEntity.cpp +++ b/src/Entities/WitherSkullEntity.cpp @@ -1,5 +1,5 @@ -// WitherSkullEntity.cpp +// WitherSkullEntity.cpp // Implements the cWitherSkullEntity class representing the entity used by both blue and black wither skulls @@ -12,7 +12,7 @@ -cWitherSkullEntity::cWitherSkullEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed): +cWitherSkullEntity::cWitherSkullEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed) : Super(pkWitherSkull, a_Creator, a_Pos, 0.3125f, 0.3125f) { SetSpeed(a_Speed); @@ -45,7 +45,3 @@ void cWitherSkullEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) Destroy(); } - - - - diff --git a/src/Entities/WitherSkullEntity.h b/src/Entities/WitherSkullEntity.h index f335b1da7..a37e7b5a4 100644 --- a/src/Entities/WitherSkullEntity.h +++ b/src/Entities/WitherSkullEntity.h @@ -17,27 +17,20 @@ // tolua_begin -class cWitherSkullEntity : -public cProjectileEntity +class cWitherSkullEntity : public cProjectileEntity { // tolua_end using Super = cProjectileEntity; -public: // tolua_export - + public: // tolua_export CLASS_PROTODEF(cWitherSkullEntity) cWitherSkullEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed); -protected: - + protected: // cProjectileEntity overrides: virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override; virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override; -} ; // tolua_export - - - - +}; // tolua_export diff --git a/src/FastRandom.cpp b/src/FastRandom.cpp index 0ba5fb64a..5f362a1db 100644 --- a/src/FastRandom.cpp +++ b/src/FastRandom.cpp @@ -12,10 +12,10 @@ MTRand & GetRandomProvider() { thread_local MTRand Random = [] - { - cRandomDeviceSeeder Seeder; - return MTRand(Seeder); - }(); + { + cRandomDeviceSeeder Seeder; + return MTRand(Seeder); + }(); return Random; } @@ -26,10 +26,10 @@ MTRand & GetRandomProvider() UInt32 Detail::GetRandomSeed() { thread_local UInt32 SeedCounter = [] - { - std::random_device rd; - std::uniform_int_distribution dist; - return dist(rd); - }(); + { + std::random_device rd; + std::uniform_int_distribution dist; + return dist(rd); + }(); return ++SeedCounter; } diff --git a/src/FastRandom.h b/src/FastRandom.h index 7ae5949d4..797eacb63 100644 --- a/src/FastRandom.h +++ b/src/FastRandom.h @@ -22,43 +22,37 @@ prefer calls to GetRandomProvider over creating new instances. namespace Detail { - /** Returns a low quality seed. */ - UInt32 GetRandomSeed(); - - /** Aliases true_type if Char is any variant of char ignoring signed-ness. */ - template - using IsChar = typename std::is_same::type, signed char>::type; - - template - struct cUniformImpl : - public std::conditional< - IsChar::value, - typename std::conditional< // Match signed-ness of IntType - std::is_signed::value, - std::uniform_int_distribution, - std::uniform_int_distribution - >::type, - std::uniform_int_distribution - > - { - }; +/** Returns a low quality seed. */ +UInt32 GetRandomSeed(); + +/** Aliases true_type if Char is any variant of char ignoring signed-ness. */ +template using IsChar = typename std::is_same::type, signed char>::type; + +template +struct cUniformImpl : public std::conditional< + IsChar::value, + typename std::conditional< // Match signed-ness of IntType + std::is_signed::value, + std::uniform_int_distribution, + std::uniform_int_distribution>::type, + std::uniform_int_distribution> +{ +}; - /** uniform_int_distribution is undefined so this aliases a valid type. */ - template - using cUniform = typename cUniformImpl::type; -} +/** uniform_int_distribution is undefined so this aliases a valid type. */ +template using cUniform = typename cUniformImpl::type; +} // namespace Detail /** Class to wrap any random engine to provide a more convenient interface. */ -template -class cRandomWrapper +template class cRandomWrapper { -public: + public: /** Initialize with a low quality seed. */ - cRandomWrapper(): + cRandomWrapper() : m_Engine(Detail::GetRandomSeed()) { } @@ -66,7 +60,7 @@ public: /** Initialize with a SeedSequence. */ template - cRandomWrapper(SeedSeq & a_SeedSeq): + cRandomWrapper(SeedSeq & a_SeedSeq) : m_Engine(a_SeedSeq) { } @@ -74,18 +68,13 @@ public: /** Return a random IntType in the range [a_Min, a_Max]. */ - template - IntType RandInt(IntType a_Min, IntType a_Max) + template IntType RandInt(IntType a_Min, IntType a_Max) { ASSERT( - (a_Max >= a_Min) && - (a_Max <= std::numeric_limits::max()) && + (a_Max >= a_Min) && (a_Max <= std::numeric_limits::max()) && (a_Min >= std::numeric_limits::min()) ); - Detail::cUniform dist( - static_cast(a_Min), - static_cast(a_Max) - ); + Detail::cUniform dist(static_cast(a_Min), static_cast(a_Max)); return static_cast(dist(m_Engine)); } @@ -94,8 +83,7 @@ public: /** Return a random IntType in the range [0, a_Max]. */ - template - IntType RandInt(IntType a_Max) + template IntType RandInt(IntType a_Max) { ASSERT((a_Max >= 0) && (a_Max <= std::numeric_limits::max())); Detail::cUniform dist(IntType(0), static_cast(a_Max)); @@ -107,8 +95,7 @@ public: /** Return a random IntType in the range [0, std::numeric_limits::max()]. */ - template - IntType RandInt() + template IntType RandInt() { Detail::cUniform dist(IntType(0), std::numeric_limits::max()); return static_cast(dist(m_Engine)); @@ -119,8 +106,7 @@ public: /** Return a random RealType in the range [a_Min, a_Max). */ - template - RealType RandReal(RealType a_Min, RealType a_Max) + template RealType RandReal(RealType a_Min, RealType a_Max) { std::uniform_real_distribution dist(a_Min, a_Max); return dist(m_Engine); @@ -131,8 +117,7 @@ public: /** Return a random RealType in the range [0, a_Max). */ - template - RealType RandReal(RealType a_Max) + template RealType RandReal(RealType a_Max) { std::uniform_real_distribution dist(RealType(0), a_Max); return dist(m_Engine); @@ -143,8 +128,7 @@ public: /** Return a random RealType in the range [0, 1). */ - template - RealType RandReal() + template RealType RandReal() { std::uniform_real_distribution dist; return dist(m_Engine); @@ -165,13 +149,9 @@ public: /** Returns a reference to the underlying random engine. */ - RandomEngine & Engine() - { - return m_Engine; - } - -private: + RandomEngine & Engine() { return m_Engine; } + private: RandomEngine m_Engine; }; @@ -184,8 +164,7 @@ struct cRandomDeviceSeeder { using result_type = std::random_device::result_type; - template - void generate(Itr first, Itr last) + template void generate(Itr first, Itr last) { std::random_device rd; std::uniform_int_distribution dist; diff --git a/src/ForEachChunkProvider.h b/src/ForEachChunkProvider.h index ed9ba4ebb..47af731f3 100644 --- a/src/ForEachChunkProvider.h +++ b/src/ForEachChunkProvider.h @@ -1,8 +1,8 @@ // ForEachChunkProvider.h -// Declares the cForEachChunkProvider class which acts as an interface for classes that provide a ForEachChunkInRect() function -// Primarily serves as a decoupling between cBlockArea and cWorld +// Declares the cForEachChunkProvider class which acts as an interface for classes that provide a ForEachChunkInRect() +// function Primarily serves as a decoupling between cBlockArea and cWorld @@ -23,19 +23,27 @@ class cBlockArea; class cForEachChunkProvider { -public: + public: virtual ~cForEachChunkProvider() {} /** Calls the callback for each chunk in the specified range. */ - virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) = 0; + virtual bool ForEachChunkInRect( + int a_MinChunkX, + int a_MaxChunkX, + int a_MinChunkZ, + int a_MaxChunkZ, + cChunkDataCallback & a_Callback + ) = 0; /** Writes the block area into the specified coords. Returns true if all chunks have been processed. a_DataTypes is a bitmask of cBlockArea::baXXX constants ORed together. */ - virtual bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) = 0; + virtual bool WriteBlockArea( + cBlockArea & a_Area, + int a_MinBlockX, + int a_MinBlockY, + int a_MinBlockZ, + int a_DataTypes + ) = 0; }; - - - - diff --git a/src/FunctionRef.h b/src/FunctionRef.h index 753d540a7..9c3a1369c 100644 --- a/src/FunctionRef.h +++ b/src/FunctionRef.h @@ -2,8 +2,7 @@ #pragma once // Declared only so it can be partially specialized -template -class cFunctionRef; +template class cFunctionRef; /** A light-weight, type-erased reference to a function object. @@ -32,16 +31,15 @@ would not be if using a `std::function` (See #3990 for implications of this). - A `cFunctionRef` has no empty state but is non-owning and so is safe to call as long as the referred object is still alive. */ -template -class cFunctionRef +template class cFunctionRef { -public: + public: /** Construct from a function object. */ - template ::type, cFunctionRef>::value, - int>::type = 0 - > + int>::type = 0> cFunctionRef(FunctionObject && a_FunctionObject) { // Store an opaque reference to the object. @@ -52,16 +50,11 @@ public: } /** Call the referenced function object */ - Ret operator () (Args... a_Args) - { - return m_CallFunction(m_CallableData, std::forward(a_Args)...); - } - -private: + Ret operator()(Args... a_Args) { return m_CallFunction(m_CallableData, std::forward(a_Args)...); } + private: /** Function that performs the call. */ - template - static Ret ObjectFunctionCaller(void * a_Callable, Args... a_Args) + template static Ret ObjectFunctionCaller(void * a_Callable, Args... a_Args) { // Convert opaque reference to the concrete type. using ObjectPtr = typename std::add_pointer::type; @@ -71,7 +64,7 @@ private: return Object(std::forward(a_Args)...); } - using cCallFunction = Ret(*)(void *, Args...); + using cCallFunction = Ret (*)(void *, Args...); /** Type erased reference to a callable. */ void * m_CallableData; @@ -79,5 +72,3 @@ private: /** Function that knows how to call the type erased reference. */ cCallFunction m_CallFunction; }; - - diff --git a/src/FurnaceRecipe.cpp b/src/FurnaceRecipe.cpp index 7960523b2..eaac2f159 100644 --- a/src/FurnaceRecipe.cpp +++ b/src/FurnaceRecipe.cpp @@ -29,8 +29,8 @@ struct cFurnaceRecipe::sFurnaceRecipeState -cFurnaceRecipe::cFurnaceRecipe() - : m_pState(new sFurnaceRecipeState) +cFurnaceRecipe::cFurnaceRecipe() : + m_pState(new sFurnaceRecipeState) { ReloadRecipes(); } @@ -339,6 +339,3 @@ int cFurnaceRecipe::GetBurnTime(const cItem & a_Fuel) const } return BestFuel; } - - - diff --git a/src/FurnaceRecipe.h b/src/FurnaceRecipe.h index 84ee87092..5d3b4c8de 100644 --- a/src/FurnaceRecipe.h +++ b/src/FurnaceRecipe.h @@ -13,7 +13,7 @@ class cItem; class cFurnaceRecipe { -public: + public: cFurnaceRecipe(void); ~cFurnaceRecipe(); @@ -42,7 +42,7 @@ public: /** Returns the amount of time that the specified fuel burns, in ticks */ int GetBurnTime(const cItem & a_Fuel) const; -private: + private: void ClearRecipes(void); /** Parses the fuel contained in the line, adds it to m_pState's fuels. @@ -59,7 +59,3 @@ private: struct sFurnaceRecipeState; sFurnaceRecipeState * m_pState; }; - - - - diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index b71259f08..ddc818c2d 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -35,9 +35,9 @@ void cBioGenConstant::InitializeBiomeGen(cIniFile & a_IniFile) AString defaultBiome; switch (StringToDimension(a_IniFile.GetValue("General", "Dimension", "Overworld"))) { - case dimOverworld: defaultBiome = "Plains"; break; - case dimNether: defaultBiome = "Nether"; break; - case dimEnd: defaultBiome = "End"; break; + case dimOverworld: defaultBiome = "Plains"; break; + case dimNether: defaultBiome = "Nether"; break; + case dimEnd: defaultBiome = "End"; break; case dimNotSet: defaultBiome = "Swampland"; break; } AString Biome = a_IniFile.GetValueSet("Generator", "ConstantBiome", defaultBiome); @@ -57,11 +57,7 @@ void cBioGenConstant::InitializeBiomeGen(cIniFile & a_IniFile) // cBioGenCache: cBioGenCache::cBioGenCache(cBiomeGen & a_BioGenToCache, size_t a_CacheSize) : - m_BioGenToCache(a_BioGenToCache), - m_CacheSize(a_CacheSize), - m_NumHits(0), - m_NumMisses(0), - m_TotalChain(0) + m_BioGenToCache(a_BioGenToCache), m_CacheSize(a_CacheSize), m_NumHits(0), m_NumMisses(0), m_TotalChain(0) { m_CacheData.resize(m_CacheSize); m_CacheOrder.resize(m_CacheSize); @@ -79,8 +75,9 @@ void cBioGenCache::GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a { if (((m_NumHits + m_NumMisses) % 1024) == 10) { - // LOGD("BioGenCache: %u hits, %u misses, saved %.2f %%", static_cast(m_NumHits), static_cast(m_NumMisses), 100.0 * m_NumHits / (m_NumHits + m_NumMisses)); - // LOGD("BioGenCache: Avg cache chain length: %.2f", static_cast(m_TotalChain) / m_NumHits); + // LOGD("BioGenCache: %u hits, %u misses, saved %.2f %%", static_cast(m_NumHits), + // static_cast(m_NumMisses), 100.0 * m_NumHits / (m_NumHits + m_NumMisses)); LOGD("BioGenCache: Avg + // cache chain length: %.2f", static_cast(m_TotalChain) / m_NumHits); } for (size_t i = 0; i < m_CacheSize; i++) @@ -138,9 +135,12 @@ void cBioGenCache::InitializeBiomeGen(cIniFile & a_IniFile) //////////////////////////////////////////////////////////////////////////////// // cBioGenMulticache: -cBioGenMulticache::cBioGenMulticache(std::unique_ptr a_BioGenToCache, size_t a_SubCacheSize, size_t a_NumSubCaches) : - m_NumSubCaches(a_NumSubCaches), - m_Underlying(std::move(a_BioGenToCache)) +cBioGenMulticache::cBioGenMulticache( + std::unique_ptr a_BioGenToCache, + size_t a_SubCacheSize, + size_t a_NumSubCaches +) : + m_NumSubCaches(a_NumSubCaches), m_Underlying(std::move(a_BioGenToCache)) { m_Caches.reserve(a_NumSubCaches); for (size_t i = 0; i < a_NumSubCaches; i++) @@ -156,7 +156,9 @@ cBioGenMulticache::cBioGenMulticache(std::unique_ptr a_BioGenToCache, void cBioGenMulticache::GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap) { const size_t coefficient = 3; - const size_t cacheIdx = (static_cast(a_ChunkCoords.m_ChunkX) + coefficient * static_cast(a_ChunkCoords.m_ChunkZ)) % m_NumSubCaches; + const size_t cacheIdx = + (static_cast(a_ChunkCoords.m_ChunkX) + coefficient * static_cast(a_ChunkCoords.m_ChunkZ)) % + m_NumSubCaches; m_Caches[cacheIdx]->GenBiomes(a_ChunkCoords, a_BiomeMap); } @@ -221,30 +223,11 @@ void cBiomeGenList::InitializeBiomes(const AString & a_Biomes) } // There were no biomes, add default biomes: - static EMCSBiome Biomes[] = - { - biOcean, - biPlains, - biDesert, - biExtremeHills, - biForest, - biTaiga, - biSwampland, - biRiver, - biFrozenOcean, - biFrozenRiver, - biIcePlains, - biIceMountains, - biMushroomIsland, - biMushroomShore, - biBeach, - biDesertHills, - biForestHills, - biTaigaHills, - biExtremeHillsEdge, - biJungle, - biJungleHills, - } ; + static EMCSBiome Biomes[] = { + biOcean, biPlains, biDesert, biExtremeHills, biForest, biTaiga, biSwampland, + biRiver, biFrozenOcean, biFrozenRiver, biIcePlains, biIceMountains, biMushroomIsland, biMushroomShore, + biBeach, biDesertHills, biForestHills, biTaigaHills, biExtremeHillsEdge, biJungle, biJungleHills, + }; m_Biomes.reserve(ARRAYCOUNT(Biomes)); for (size_t i = 0; i < ARRAYCOUNT(Biomes); i++) { @@ -268,7 +251,9 @@ void cBioGenCheckerboard::GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::Biome for (int x = 0; x < cChunkDef::Width; x++) { int Add = cChunkDef::Width * a_ChunkCoords.m_ChunkX + x; - size_t BiomeIdx = static_cast((((Base + Add / m_BiomeSize) % m_BiomesCount) + m_BiomesCount) % m_BiomesCount); // Need to add and modulo twice because of negative numbers + size_t BiomeIdx = static_cast( + (((Base + Add / m_BiomeSize) % m_BiomesCount) + m_BiomesCount) % m_BiomesCount + ); // Need to add and modulo twice because of negative numbers a_BiomeMap[x + cChunkDef::Width * z] = m_Biomes[BiomeIdx]; } } @@ -281,8 +266,8 @@ void cBioGenCheckerboard::GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::Biome void cBioGenCheckerboard::InitializeBiomeGen(cIniFile & a_IniFile) { Super::InitializeBiomeGen(a_IniFile); - AString Biomes = a_IniFile.GetValueSet ("Generator", "CheckerBoardBiomes", ""); - m_BiomeSize = a_IniFile.GetValueSetI("Generator", "CheckerboardBiomeSize", 64); + AString Biomes = a_IniFile.GetValueSet("Generator", "CheckerBoardBiomes", ""); + m_BiomeSize = a_IniFile.GetValueSetI("Generator", "CheckerboardBiomeSize", 64); m_BiomeSize = (m_BiomeSize < 8) ? 8 : m_BiomeSize; InitializeBiomes(Biomes); } @@ -316,13 +301,13 @@ void cBioGenVoronoi::GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & void cBioGenVoronoi::InitializeBiomeGen(cIniFile & a_IniFile) { Super::InitializeBiomeGen(a_IniFile); - int CellSize = a_IniFile.GetValueSetI("Generator", "VoronoiCellSize", 128); - int JitterSize = a_IniFile.GetValueSetI("Generator", "VoronoiJitterSize", CellSize); + int CellSize = a_IniFile.GetValueSetI("Generator", "VoronoiCellSize", 128); + int JitterSize = a_IniFile.GetValueSetI("Generator", "VoronoiJitterSize", CellSize); int OddRowOffset = a_IniFile.GetValueSetI("Generator", "VoronoiOddRowOffset", 0); m_Voronoi.SetCellSize(CellSize); m_Voronoi.SetJitterSize(JitterSize); m_Voronoi.SetOddRowOffset(OddRowOffset); - InitializeBiomes(a_IniFile.GetValueSet ("Generator", "VoronoiBiomes", "")); + InitializeBiomes(a_IniFile.GetValueSet("Generator", "VoronoiBiomes", "")); } @@ -340,10 +325,11 @@ void cBioGenDistortedVoronoi::GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::B // Distortions for linear interpolation: int DistortX[cChunkDef::Width + 1][cChunkDef::Width + 1]; int DistortZ[cChunkDef::Width + 1][cChunkDef::Width + 1]; - for (int x = 0; x <= 4; x++) for (int z = 0; z <= 4; z++) - { - Distort(BaseX + x * 4, BaseZ + z * 4, DistortX[4 * x][4 * z], DistortZ[4 * x][4 * z]); - } + for (int x = 0; x <= 4; x++) + for (int z = 0; z <= 4; z++) + { + Distort(BaseX + x * 4, BaseZ + z * 4, DistortX[4 * x][4 * z], DistortZ[4 * x][4 * z]); + } LinearUpscale2DArrayInPlace(&DistortX[0][0]); LinearUpscale2DArrayInPlace(&DistortZ[0][0]); @@ -376,12 +362,40 @@ void cBioGenDistortedVoronoi::InitializeBiomeGen(cIniFile & a_IniFile) void cBioGenDistortedVoronoi::Distort(int a_BlockX, int a_BlockZ, int & a_DistortedX, int & a_DistortedZ) { - double NoiseX = m_Noise.CubicNoise3D(static_cast(a_BlockX / m_CellSize), static_cast(a_BlockZ / m_CellSize), 1000); - NoiseX += 0.5 * m_Noise.CubicNoise3D(2 * static_cast(a_BlockX / m_CellSize), 2 * static_cast(a_BlockZ / m_CellSize), 2000); - NoiseX += 0.08 * m_Noise.CubicNoise3D(16 * static_cast(a_BlockX / m_CellSize), 16 * static_cast(a_BlockZ / m_CellSize), 3000); - double NoiseZ = m_Noise.CubicNoise3D(static_cast(a_BlockX / m_CellSize), static_cast(a_BlockZ / m_CellSize), 4000); - NoiseZ += 0.5 * m_Noise.CubicNoise3D(2 * static_cast(a_BlockX / m_CellSize), 2 * static_cast(a_BlockZ / m_CellSize), 5000); - NoiseZ += 0.08 * m_Noise.CubicNoise3D(16 * static_cast(a_BlockX / m_CellSize), 16 * static_cast(a_BlockZ / m_CellSize), 6000); + double NoiseX = m_Noise.CubicNoise3D( + static_cast(a_BlockX / m_CellSize), + static_cast(a_BlockZ / m_CellSize), + 1000 + ); + NoiseX += 0.5 * + m_Noise.CubicNoise3D( + 2 * static_cast(a_BlockX / m_CellSize), + 2 * static_cast(a_BlockZ / m_CellSize), + 2000 + ); + NoiseX += 0.08 * + m_Noise.CubicNoise3D( + 16 * static_cast(a_BlockX / m_CellSize), + 16 * static_cast(a_BlockZ / m_CellSize), + 3000 + ); + double NoiseZ = m_Noise.CubicNoise3D( + static_cast(a_BlockX / m_CellSize), + static_cast(a_BlockZ / m_CellSize), + 4000 + ); + NoiseZ += 0.5 * + m_Noise.CubicNoise3D( + 2 * static_cast(a_BlockX / m_CellSize), + 2 * static_cast(a_BlockZ / m_CellSize), + 5000 + ); + NoiseZ += 0.08 * + m_Noise.CubicNoise3D( + 16 * static_cast(a_BlockX / m_CellSize), + 16 * static_cast(a_BlockZ / m_CellSize), + 6000 + ); a_DistortedX = a_BlockX + static_cast(m_CellSize * 0.5 * NoiseX); a_DistortedZ = a_BlockZ + static_cast(m_CellSize * 0.5 * NoiseZ); @@ -416,11 +430,13 @@ cBioGenMultiStepMap::cBioGenMultiStepMap(int a_Seed) : void cBioGenMultiStepMap::InitializeBiomeGen(cIniFile & a_IniFile) { - m_OceanCellSize = a_IniFile.GetValueSetI("Generator", "MultiStepMapOceanCellSize", m_OceanCellSize); - m_MushroomIslandSize = a_IniFile.GetValueSetI("Generator", "MultiStepMapMushroomIslandSize", m_MushroomIslandSize); - m_RiverCellSize = a_IniFile.GetValueSetI("Generator", "MultiStepMapRiverCellSize", m_RiverCellSize); - m_RiverWidthThreshold = a_IniFile.GetValueSetF("Generator", "MultiStepMapRiverWidth", m_RiverWidthThreshold); - m_LandBiomesSize = static_cast(a_IniFile.GetValueSetI("Generator", "MultiStepMapLandBiomeSize", static_cast(m_LandBiomesSize))); + m_OceanCellSize = a_IniFile.GetValueSetI("Generator", "MultiStepMapOceanCellSize", m_OceanCellSize); + m_MushroomIslandSize = a_IniFile.GetValueSetI("Generator", "MultiStepMapMushroomIslandSize", m_MushroomIslandSize); + m_RiverCellSize = a_IniFile.GetValueSetI("Generator", "MultiStepMapRiverCellSize", m_RiverCellSize); + m_RiverWidthThreshold = a_IniFile.GetValueSetF("Generator", "MultiStepMapRiverWidth", m_RiverWidthThreshold); + m_LandBiomesSize = static_cast( + a_IniFile.GetValueSetI("Generator", "MultiStepMapLandBiomeSize", static_cast(m_LandBiomesSize)) + ); } @@ -448,10 +464,11 @@ void cBioGenMultiStepMap::DecideOceanLandMushroom(cChunkCoords a_ChunkCoords, cC int DistortX[cChunkDef::Width + 1][cChunkDef::Width + 1]; int DistortZ[cChunkDef::Width + 1][cChunkDef::Width + 1]; int DistortSize = m_OceanCellSize / 2; - for (int x = 0; x <= 4; x++) for (int z = 0; z <= 4; z++) - { - Distort(BaseX + x * 4, BaseZ + z * 4, DistortX[4 * x][4 * z], DistortZ[4 * x][4 * z], DistortSize); - } + for (int x = 0; x <= 4; x++) + for (int z = 0; z <= 4; z++) + { + Distort(BaseX + x * 4, BaseZ + z * 4, DistortX[4 * x][4 * z], DistortZ[4 * x][4 * z], DistortSize); + } LinearUpscale2DArrayInPlace(&DistortX[0][0]); LinearUpscale2DArrayInPlace(&DistortZ[0][0]); @@ -471,31 +488,30 @@ void cBioGenMultiStepMap::DecideOceanLandMushroom(cChunkCoords a_ChunkCoords, cC { int RealCellZ = zc + CellZ - NEIGHBORHOOD_SIZE; int CellBlockZ = RealCellZ * m_OceanCellSize; - int OffsetX = (m_Noise2.IntNoise3DInt(RealCellX, 16 * RealCellX + 32 * RealCellZ, RealCellZ) / 8) % m_OceanCellSize; - int OffsetZ = (m_Noise4.IntNoise3DInt(RealCellX, 32 * RealCellX - 16 * RealCellZ, RealCellZ) / 8) % m_OceanCellSize; + int OffsetX = + (m_Noise2.IntNoise3DInt(RealCellX, 16 * RealCellX + 32 * RealCellZ, RealCellZ) / 8) % m_OceanCellSize; + int OffsetZ = + (m_Noise4.IntNoise3DInt(RealCellX, 32 * RealCellX - 16 * RealCellZ, RealCellZ) / 8) % m_OceanCellSize; SeedX[xc][zc] = CellBlockX + OffsetX; SeedZ[xc][zc] = CellBlockZ + OffsetZ; - SeedV[xc][zc] = (((m_Noise6.IntNoise3DInt(RealCellX, RealCellX - RealCellZ + 1000, RealCellZ) / 11) % 256) > 90) ? biOcean : (biInvalidBiome); + SeedV[xc][zc] = + (((m_Noise6.IntNoise3DInt(RealCellX, RealCellX - RealCellZ + 1000, RealCellZ) / 11) % 256) > 90) + ? biOcean + : (biInvalidBiome); } // for z } // for x - for (int xc = 1; xc < 2 * NEIGHBORHOOD_SIZE; xc++) for (int zc = 1; zc < 2 * NEIGHBORHOOD_SIZE; zc++) - { - if ( - (SeedV[xc ][zc] == biOcean) && - (SeedV[xc - 1][zc] == biOcean) && - (SeedV[xc + 1][zc] == biOcean) && - (SeedV[xc ][zc - 1] == biOcean) && - (SeedV[xc ][zc + 1] == biOcean) && - (SeedV[xc - 1][zc - 1] == biOcean) && - (SeedV[xc + 1][zc - 1] == biOcean) && - (SeedV[xc - 1][zc + 1] == biOcean) && - (SeedV[xc + 1][zc + 1] == biOcean) - ) - { - SeedV[xc][zc] = biMushroomIsland; + for (int xc = 1; xc < 2 * NEIGHBORHOOD_SIZE; xc++) + for (int zc = 1; zc < 2 * NEIGHBORHOOD_SIZE; zc++) + { + if ((SeedV[xc][zc] == biOcean) && (SeedV[xc - 1][zc] == biOcean) && (SeedV[xc + 1][zc] == biOcean) && + (SeedV[xc][zc - 1] == biOcean) && (SeedV[xc][zc + 1] == biOcean) && + (SeedV[xc - 1][zc - 1] == biOcean) && (SeedV[xc + 1][zc - 1] == biOcean) && + (SeedV[xc - 1][zc + 1] == biOcean) && (SeedV[xc + 1][zc + 1] == biOcean)) + { + SeedV[xc][zc] = biMushroomIsland; + } } - } // For each column find the nearest distorted cell and use its value as the biome: int MushroomOceanThreshold = m_OceanCellSize * m_OceanCellSize * m_MushroomIslandSize / 1024; @@ -509,28 +525,30 @@ void cBioGenMultiStepMap::DecideOceanLandMushroom(cChunkCoords a_ChunkCoords, cC int MinDist = m_OceanCellSize * m_OceanCellSize * 16; // There has to be a cell closer than this EMCSBiome Biome = biPlains; // Find the nearest cell seed: - for (int xs = 1; xs < 2 * NEIGHBORHOOD_SIZE; xs++) for (int zs = 1; zs < 2 * NEIGHBORHOOD_SIZE; zs++) - { - int Dist = (SeedX[xs][zs] - AbsoluteX) * (SeedX[xs][zs] - AbsoluteX) + (SeedZ[xs][zs] - AbsoluteZ) * (SeedZ[xs][zs] - AbsoluteZ); - if (Dist >= MinDist) + for (int xs = 1; xs < 2 * NEIGHBORHOOD_SIZE; xs++) + for (int zs = 1; zs < 2 * NEIGHBORHOOD_SIZE; zs++) { - continue; - } - MinDist = Dist; - Biome = SeedV[xs][zs]; - // Shrink mushroom biome and add a shore: - if (Biome == biMushroomIsland) - { - if (Dist > MushroomOceanThreshold) + int Dist = (SeedX[xs][zs] - AbsoluteX) * (SeedX[xs][zs] - AbsoluteX) + + (SeedZ[xs][zs] - AbsoluteZ) * (SeedZ[xs][zs] - AbsoluteZ); + if (Dist >= MinDist) { - Biome = biOcean; + continue; } - else if (Dist > MushroomShoreThreshold) + MinDist = Dist; + Biome = SeedV[xs][zs]; + // Shrink mushroom biome and add a shore: + if (Biome == biMushroomIsland) { - Biome = biMushroomShore; + if (Dist > MushroomOceanThreshold) + { + Biome = biOcean; + } + else if (Dist > MushroomShoreThreshold) + { + Biome = biMushroomShore; + } } - } - } // for zs, xs + } // for zs, xs cChunkDef::SetBiome(a_BiomeMap, x, z, Biome); } // for x @@ -556,7 +574,7 @@ void cBioGenMultiStepMap::AddRivers(cChunkCoords a_ChunkCoords, cChunkDef::Biome float NoiseCoordX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width + x) / m_RiverCellSize; - double Noise = m_Noise1.CubicNoise2D( NoiseCoordX, NoiseCoordZ); + double Noise = m_Noise1.CubicNoise2D(NoiseCoordX, NoiseCoordZ); Noise += 0.5 * m_Noise3.CubicNoise2D(2 * NoiseCoordX, 2 * NoiseCoordZ); Noise += 0.1 * m_Noise5.CubicNoise2D(8 * NoiseCoordX, 8 * NoiseCoordZ); @@ -588,12 +606,30 @@ void cBioGenMultiStepMap::ApplyTemperatureHumidity(cChunkCoords a_ChunkCoords, c void cBioGenMultiStepMap::Distort(int a_BlockX, int a_BlockZ, int & a_DistortedX, int & a_DistortedZ, int a_CellSize) { - double NoiseX = m_Noise3.CubicNoise2D( static_cast(a_BlockX / a_CellSize), static_cast(a_BlockZ / a_CellSize)); - NoiseX += 0.5 * m_Noise2.CubicNoise2D(2 * static_cast(a_BlockX / a_CellSize), 2 * static_cast(a_BlockZ / a_CellSize)); - NoiseX += 0.1 * m_Noise1.CubicNoise2D(16 * static_cast(a_BlockX / a_CellSize), 16 * static_cast(a_BlockZ / a_CellSize)); - double NoiseZ = m_Noise6.CubicNoise2D( static_cast(a_BlockX / a_CellSize), static_cast(a_BlockZ / a_CellSize)); - NoiseZ += 0.5 * m_Noise5.CubicNoise2D(2 * static_cast(a_BlockX / a_CellSize), 2 * static_cast(a_BlockZ / a_CellSize)); - NoiseZ += 0.1 * m_Noise4.CubicNoise2D(16 * static_cast(a_BlockX / a_CellSize), 16 * static_cast(a_BlockZ / a_CellSize)); + double NoiseX = + m_Noise3.CubicNoise2D(static_cast(a_BlockX / a_CellSize), static_cast(a_BlockZ / a_CellSize)); + NoiseX += 0.5 * + m_Noise2.CubicNoise2D( + 2 * static_cast(a_BlockX / a_CellSize), + 2 * static_cast(a_BlockZ / a_CellSize) + ); + NoiseX += 0.1 * + m_Noise1.CubicNoise2D( + 16 * static_cast(a_BlockX / a_CellSize), + 16 * static_cast(a_BlockZ / a_CellSize) + ); + double NoiseZ = + m_Noise6.CubicNoise2D(static_cast(a_BlockX / a_CellSize), static_cast(a_BlockZ / a_CellSize)); + NoiseZ += 0.5 * + m_Noise5.CubicNoise2D( + 2 * static_cast(a_BlockX / a_CellSize), + 2 * static_cast(a_BlockZ / a_CellSize) + ); + NoiseZ += 0.1 * + m_Noise4.CubicNoise2D( + 16 * static_cast(a_BlockX / a_CellSize), + 16 * static_cast(a_BlockZ / a_CellSize) + ); a_DistortedX = a_BlockX + static_cast(a_CellSize * 0.5 * NoiseX); a_DistortedZ = a_BlockZ + static_cast(a_CellSize * 0.5 * NoiseZ); @@ -603,7 +639,11 @@ void cBioGenMultiStepMap::Distort(int a_BlockX, int a_BlockZ, int & a_DistortedX -void cBioGenMultiStepMap::BuildTemperatureHumidityMaps(cChunkCoords a_ChunkCoords, IntMap & a_TemperatureMap, IntMap & a_HumidityMap) +void cBioGenMultiStepMap::BuildTemperatureHumidityMaps( + cChunkCoords a_ChunkCoords, + IntMap & a_TemperatureMap, + IntMap & a_HumidityMap +) { // Linear interpolation over 8x8 blocks; use double for better precision: DblMap TemperatureMap; @@ -615,12 +655,12 @@ void cBioGenMultiStepMap::BuildTemperatureHumidityMaps(cChunkCoords a_ChunkCoord { float NoiseCoordX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width + x) / m_LandBiomesSize; - double NoiseT = m_Noise1.CubicNoise2D( NoiseCoordX, NoiseCoordZ); + double NoiseT = m_Noise1.CubicNoise2D(NoiseCoordX, NoiseCoordZ); NoiseT += 0.5 * m_Noise2.CubicNoise2D(2 * NoiseCoordX, 2 * NoiseCoordZ); NoiseT += 0.1 * m_Noise3.CubicNoise2D(8 * NoiseCoordX, 8 * NoiseCoordZ); TemperatureMap[x + 17 * z] = NoiseT; - double NoiseH = m_Noise4.CubicNoise2D( NoiseCoordX, NoiseCoordZ); + double NoiseH = m_Noise4.CubicNoise2D(NoiseCoordX, NoiseCoordZ); NoiseH += 0.5 * m_Noise5.CubicNoise2D(2 * NoiseCoordX, 2 * NoiseCoordZ); NoiseH += 0.1 * m_Noise6.CubicNoise2D(8 * NoiseCoordX, 8 * NoiseCoordZ); HumidityMap[x + 17 * z] = NoiseH; @@ -633,7 +673,7 @@ void cBioGenMultiStepMap::BuildTemperatureHumidityMaps(cChunkCoords a_ChunkCoord for (size_t idx = 0; idx < ARRAYCOUNT(a_TemperatureMap); idx++) { a_TemperatureMap[idx] = Clamp(static_cast(128 + TemperatureMap[idx] * 128), 0, 255); - a_HumidityMap[idx] = Clamp(static_cast(128 + HumidityMap[idx] * 128), 0, 255); + a_HumidityMap[idx] = Clamp(static_cast(128 + HumidityMap[idx] * 128), 0, 255); } } @@ -641,28 +681,64 @@ void cBioGenMultiStepMap::BuildTemperatureHumidityMaps(cChunkCoords a_ChunkCoord -void cBioGenMultiStepMap::DecideLandBiomes(cChunkDef::BiomeMap & a_BiomeMap, const IntMap & a_TemperatureMap, const IntMap & a_HumidityMap) +void cBioGenMultiStepMap::DecideLandBiomes( + cChunkDef::BiomeMap & a_BiomeMap, + const IntMap & a_TemperatureMap, + const IntMap & a_HumidityMap +) { - static const EMCSBiome BiomeMap[] = - { - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - /* 0 */ biTundra, biTundra, biTundra, biTundra, biPlains, biPlains, biPlains, biPlains, biPlains, biPlains, biDesert, biDesert, biDesert, biDesert, biDesert, biDesert, - /* 1 */ biTundra, biTundra, biTundra, biTundra, biPlains, biPlains, biPlains, biPlains, biPlains, biPlains, biDesert, biDesert, biDesert, biDesert, biDesert, biDesert, - /* 2 */ biTundra, biTundra, biTundra, biTundra, biPlains, biExtremeHills, biPlains, biPlains, biPlains, biPlains, biDesert, biDesert, biDesertHills, biDesertHills, biDesert, biDesert, - /* 3 */ biTundra, biTundra, biTundra, biTundra, biExtremeHills, biExtremeHills, biPlains, biPlains, biPlains, biPlains, biDesert, biDesert, biDesertHills, biDesertHills, biDesert, biDesert, - /* 4 */ biTundra, biTundra, biIceMountains, biIceMountains, biExtremeHills, biExtremeHills, biPlains, biPlains, biPlains, biPlains, biForestHills, biForestHills, biExtremeHills, biExtremeHills, biDesertHills, biDesert, - /* 5 */ biTundra, biTundra, biIceMountains, biIceMountains, biExtremeHills, biExtremeHills, biPlains, biPlains, biPlains, biPlains, biForestHills, biForestHills, biExtremeHills, biExtremeHills, biDesertHills, biDesert, - /* 6 */ biTundra, biTundra, biIceMountains, biIceMountains, biForestHills, biForestHills, biForest, biForest, biForest, biForest, biForest, biForestHills, biExtremeHills, biExtremeHills, biPlains, biPlains, - /* 7 */ biTundra, biTundra, biIceMountains, biIceMountains, biForestHills, biForestHills, biForest, biForest, biForest, biForest, biForest, biForestHills, biExtremeHills, biExtremeHills, biPlains, biPlains, - /* 8 */ biTundra, biTundra, biTaiga, biTaiga, biForest, biForest, biForest, biForest, biForest, biForest, biForest, biForestHills, biExtremeHills, biExtremeHills, biPlains, biPlains, - /* 9 */ biTundra, biTundra, biTaiga, biTaiga, biForest, biForest, biForest, biForest, biForest, biForest, biForest, biForestHills, biExtremeHills, biExtremeHills, biPlains, biPlains, - /* 10 */ biTaiga, biTaiga, biTaiga, biIceMountains, biForestHills, biForestHills, biForest, biForest, biForest, biForest, biJungle, biJungle, biSwampland, biSwampland, biSwampland, biSwampland, - /* 11 */ biTaiga, biTaiga, biIceMountains, biIceMountains, biExtremeHills, biForestHills, biForest, biForest, biForest, biForest, biJungle, biJungle, biSwampland, biSwampland, biSwampland, biSwampland, - /* 12 */ biTaiga, biTaiga, biIceMountains, biIceMountains, biExtremeHills, biJungleHills, biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, biSwampland, biSwampland, biSwampland, biSwampland, - /* 13 */ biTaiga, biTaiga, biTaiga, biIceMountains, biJungleHills, biJungleHills, biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, biSwampland, biSwampland, biSwampland, biSwampland, - /* 14 */ biTaiga, biTaiga, biTaiga, biTaiga, biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, biSwampland, biSwampland, biSwampland, biSwampland, - /* 15 */ biTaiga, biTaiga, biTaiga, biTaiga, biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, biSwampland, biSwampland, biSwampland, biSwampland, - } ; + static const EMCSBiome BiomeMap[] = { + // 0 1 2 3 4 5 6 7 8 9 + // 10 11 12 13 14 15 + /* 0 */ biTundra, biTundra, biTundra, biTundra, biPlains, biPlains, + biPlains, biPlains, biPlains, biPlains, biDesert, biDesert, + biDesert, biDesert, biDesert, biDesert, + /* 1 */ biTundra, biTundra, biTundra, biTundra, biPlains, biPlains, + biPlains, biPlains, biPlains, biPlains, biDesert, biDesert, + biDesert, biDesert, biDesert, biDesert, + /* 2 */ biTundra, biTundra, biTundra, biTundra, biPlains, biExtremeHills, + biPlains, biPlains, biPlains, biPlains, biDesert, biDesert, + biDesertHills, biDesertHills, biDesert, biDesert, + /* 3 */ biTundra, biTundra, biTundra, biTundra, biExtremeHills, biExtremeHills, + biPlains, biPlains, biPlains, biPlains, biDesert, biDesert, + biDesertHills, biDesertHills, biDesert, biDesert, + /* 4 */ biTundra, biTundra, biIceMountains, biIceMountains, biExtremeHills, biExtremeHills, + biPlains, biPlains, biPlains, biPlains, biForestHills, biForestHills, + biExtremeHills, biExtremeHills, biDesertHills, biDesert, + /* 5 */ biTundra, biTundra, biIceMountains, biIceMountains, biExtremeHills, biExtremeHills, + biPlains, biPlains, biPlains, biPlains, biForestHills, biForestHills, + biExtremeHills, biExtremeHills, biDesertHills, biDesert, + /* 6 */ biTundra, biTundra, biIceMountains, biIceMountains, biForestHills, biForestHills, + biForest, biForest, biForest, biForest, biForest, biForestHills, + biExtremeHills, biExtremeHills, biPlains, biPlains, + /* 7 */ biTundra, biTundra, biIceMountains, biIceMountains, biForestHills, biForestHills, + biForest, biForest, biForest, biForest, biForest, biForestHills, + biExtremeHills, biExtremeHills, biPlains, biPlains, + /* 8 */ biTundra, biTundra, biTaiga, biTaiga, biForest, biForest, + biForest, biForest, biForest, biForest, biForest, biForestHills, + biExtremeHills, biExtremeHills, biPlains, biPlains, + /* 9 */ biTundra, biTundra, biTaiga, biTaiga, biForest, biForest, + biForest, biForest, biForest, biForest, biForest, biForestHills, + biExtremeHills, biExtremeHills, biPlains, biPlains, + /* 10 */ biTaiga, biTaiga, biTaiga, biIceMountains, biForestHills, biForestHills, + biForest, biForest, biForest, biForest, biJungle, biJungle, + biSwampland, biSwampland, biSwampland, biSwampland, + /* 11 */ biTaiga, biTaiga, biIceMountains, biIceMountains, biExtremeHills, biForestHills, + biForest, biForest, biForest, biForest, biJungle, biJungle, + biSwampland, biSwampland, biSwampland, biSwampland, + /* 12 */ biTaiga, biTaiga, biIceMountains, biIceMountains, biExtremeHills, biJungleHills, + biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, + biSwampland, biSwampland, biSwampland, biSwampland, + /* 13 */ biTaiga, biTaiga, biTaiga, biIceMountains, biJungleHills, biJungleHills, + biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, + biSwampland, biSwampland, biSwampland, biSwampland, + /* 14 */ biTaiga, biTaiga, biTaiga, biTaiga, biJungle, biJungle, + biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, + biSwampland, biSwampland, biSwampland, biSwampland, + /* 15 */ biTaiga, biTaiga, biTaiga, biTaiga, biJungle, biJungle, + biJungle, biJungle, biJungle, biJungle, biJungle, biJungle, + biSwampland, biSwampland, biSwampland, biSwampland, + }; for (int z = 0; z < cChunkDef::Width; z++) { int idxZ = 17 * z; @@ -675,7 +751,7 @@ void cBioGenMultiStepMap::DecideLandBiomes(cChunkDef::BiomeMap & a_BiomeMap, con } int idx = idxZ + x; int Temperature = a_TemperatureMap[idx] / 16; // -> [0..15] range - int Humidity = a_HumidityMap[idx] / 16; // -> [0..15] range + int Humidity = a_HumidityMap[idx] / 16; // -> [0..15] range cChunkDef::SetBiome(a_BiomeMap, x, z, BiomeMap[Temperature + 16 * Humidity]); } // for x } // for z @@ -701,7 +777,7 @@ void cBioGenMultiStepMap::FreezeWaterBiomes(cChunkDef::BiomeMap & a_BiomeMap, co { case biRiver: cChunkDef::SetBiome(a_BiomeMap, x, z, biFrozenRiver); break; case biOcean: cChunkDef::SetBiome(a_BiomeMap, x, z, biFrozenOcean); break; - default: break; + default: break; } } // for x idx += 1; @@ -751,33 +827,38 @@ void cBioGenTwoLevel::GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap // Distortions for linear interpolation: int DistortX[cChunkDef::Width + 1][cChunkDef::Width + 1]; int DistortZ[cChunkDef::Width + 1][cChunkDef::Width + 1]; - for (int x = 0; x <= 4; x++) for (int z = 0; z <= 4; z++) - { - float BlockX = static_cast(BaseX + x * 4); - float BlockZ = static_cast(BaseZ + z * 4); - double NoiseX = m_AmpX1 * m_Noise1.CubicNoise2D(BlockX * m_FreqX1, BlockZ * m_FreqX1); - NoiseX += m_AmpX2 * m_Noise2.CubicNoise2D(BlockX * m_FreqX2, BlockZ * m_FreqX2); - NoiseX += m_AmpX3 * m_Noise3.CubicNoise2D(BlockX * m_FreqX3, BlockZ * m_FreqX3); - double NoiseZ = m_AmpZ1 * m_Noise4.CubicNoise2D(BlockX * m_FreqZ1, BlockZ * m_FreqZ1); - NoiseZ += m_AmpZ2 * m_Noise5.CubicNoise2D(BlockX * m_FreqZ2, BlockZ * m_FreqZ2); - NoiseZ += m_AmpZ3 * m_Noise6.CubicNoise2D(BlockX * m_FreqZ3, BlockZ * m_FreqZ3); - - DistortX[4 * x][4 * z] = static_cast(BlockX + NoiseX); - DistortZ[4 * x][4 * z] = static_cast(BlockZ + NoiseZ); - } + for (int x = 0; x <= 4; x++) + for (int z = 0; z <= 4; z++) + { + float BlockX = static_cast(BaseX + x * 4); + float BlockZ = static_cast(BaseZ + z * 4); + double NoiseX = m_AmpX1 * m_Noise1.CubicNoise2D(BlockX * m_FreqX1, BlockZ * m_FreqX1); + NoiseX += m_AmpX2 * m_Noise2.CubicNoise2D(BlockX * m_FreqX2, BlockZ * m_FreqX2); + NoiseX += m_AmpX3 * m_Noise3.CubicNoise2D(BlockX * m_FreqX3, BlockZ * m_FreqX3); + double NoiseZ = m_AmpZ1 * m_Noise4.CubicNoise2D(BlockX * m_FreqZ1, BlockZ * m_FreqZ1); + NoiseZ += m_AmpZ2 * m_Noise5.CubicNoise2D(BlockX * m_FreqZ2, BlockZ * m_FreqZ2); + NoiseZ += m_AmpZ3 * m_Noise6.CubicNoise2D(BlockX * m_FreqZ3, BlockZ * m_FreqZ3); + + DistortX[4 * x][4 * z] = static_cast(BlockX + NoiseX); + DistortZ[4 * x][4 * z] = static_cast(BlockZ + NoiseZ); + } LinearUpscale2DArrayInPlace(&DistortX[0][0]); LinearUpscale2DArrayInPlace(&DistortZ[0][0]); - // Apply distortion to each block coord, then query the voronoi maps for biome group and biome index and choose biome based on that: + // Apply distortion to each block coord, then query the voronoi maps for biome group and biome index and choose + // biome based on that: for (int z = 0; z < cChunkDef::Width; z++) { for (int x = 0; x < cChunkDef::Width; x++) { int SeedX, SeedZ, MinDist2; int BiomeGroup = m_VoronoiLarge.GetValueAt(DistortX[x][z], DistortZ[x][z], SeedX, SeedZ, MinDist2) / 7; - size_t BiomeIdx = static_cast(m_VoronoiSmall.GetValueAt(DistortX[x][z], DistortZ[x][z], SeedX, SeedZ, MinDist2) / 11); - int MinDist1 = (DistortX[x][z] - SeedX) * (DistortX[x][z] - SeedX) + (DistortZ[x][z] - SeedZ) * (DistortZ[x][z] - SeedZ); + size_t BiomeIdx = static_cast( + m_VoronoiSmall.GetValueAt(DistortX[x][z], DistortZ[x][z], SeedX, SeedZ, MinDist2) / 11 + ); + int MinDist1 = (DistortX[x][z] - SeedX) * (DistortX[x][z] - SeedX) + + (DistortZ[x][z] - SeedZ) * (DistortZ[x][z] - SeedZ); cChunkDef::SetBiome(a_BiomeMap, x, z, SelectBiome(BiomeGroup, BiomeIdx, (MinDist1 < MinDist2 / 4) ? 1 : 0)); } } @@ -794,106 +875,300 @@ EMCSBiome cBioGenTwoLevel::SelectBiome(int a_BiomeGroup, size_t a_BiomeIdx, int { EMCSBiome InnerBiome; EMCSBiome OuterBiome; - } ; + }; - static BiomeLevels bgOceanBlocks[] = - { - { biOcean, biOcean, }, - { biOcean, biOcean, }, - { biOcean, biOcean, }, - { biOcean, biOcean, }, - { biOcean, biDeepOcean, }, - { biOcean, biDeepOcean, }, - { biDeepOcean, biDeepOcean, }, - { biDeepOcean, biDeepOcean, }, - { biDeepOcean, biDeepOcean, }, - { biDeepOcean, biDeepOcean, }, - { biMushroomIsland, biMushroomShore, } - } ; - static BiomeLevels bgFrozenBlocks[] = - { - { biIcePlains, biIcePlains, }, - { biIceMountains, biIceMountains, }, - { biFrozenOcean, biFrozenRiver, }, - { biColdTaiga, biColdTaiga, }, - { biColdTaigaHills, biColdTaigaHills, }, - { biColdTaigaM, biColdTaigaM, }, - { biIcePlainsSpikes, biIcePlainsSpikes, }, - { biExtremeHills, biExtremeHillsEdge, }, - { biExtremeHillsPlus, biExtremeHillsEdge, }, - { biExtremeHillsPlusM, biExtremeHillsPlusM, }, - } ; - static BiomeLevels bgTemperateBlocks[] = - { - { biBirchForestHills, biBirchForest, }, - { biBirchForest, biBirchForest, }, - { biBirchForestHillsM, biBirchForestM, }, - { biBirchForestM, biBirchForestM, }, - { biForest, biForestHills, }, - { biFlowerForest, biFlowerForest, }, - { biRoofedForest, biForest, }, - { biRoofedForest, biRoofedForest, }, - { biRoofedForestM, biForest, }, - { biPlains, biPlains, }, - { biSunflowerPlains, biSunflowerPlains, }, - { biSwampland, biSwampland, }, - { biSwamplandM, biSwamplandM, }, - } ; - static BiomeLevels bgWarmBlocks[] = - { - { biDesertHills, biDesert, }, - { biDesert, biDesert, }, - { biDesertM, biDesertM, }, - { biSavannaPlateau, biSavanna, }, - { biSavanna, biSavanna, }, - { biSavannaM, biSavannaM, }, - } ; - static BiomeLevels bgMesaBlocks[] = - { - { biMesaPlateau, biMesa, }, - { biMesaPlateauF, biMesa, }, - { biMesaPlateauFM, biMesa, }, - { biMesaPlateauM, biMesa, }, - { biMesaBryce, biMesaBryce, }, - { biSavanna, biSavanna, }, - { biSavannaPlateau, biSavanna, }, - } ; - static BiomeLevels bgConifersBlocks[] = - { - { biTaiga, biTaiga, }, - { biTaigaM, biTaigaM, }, - { biMegaTaiga, biMegaTaiga, }, - { biMegaSpruceTaiga, biMegaSpruceTaiga, }, - { biMegaSpruceTaigaHills, biMegaSpruceTaiga, } - } ; - static BiomeLevels bgDenseTreesBlocks[] = - { - { biJungleHills, biJungle, }, - { biJungle, biJungleEdge, }, - { biJungleM, biJungleEdgeM, }, - } ; + static BiomeLevels bgOceanBlocks[] = { + { + biOcean, + biOcean, + }, + { + biOcean, + biOcean, + }, + { + biOcean, + biOcean, + }, + { + biOcean, + biOcean, + }, + { + biOcean, + biDeepOcean, + }, + { + biOcean, + biDeepOcean, + }, + { + biDeepOcean, + biDeepOcean, + }, + { + biDeepOcean, + biDeepOcean, + }, + { + biDeepOcean, + biDeepOcean, + }, + { + biDeepOcean, + biDeepOcean, + }, + { + biMushroomIsland, + biMushroomShore, + } + }; + static BiomeLevels bgFrozenBlocks[] = { + { + biIcePlains, + biIcePlains, + }, + { + biIceMountains, + biIceMountains, + }, + { + biFrozenOcean, + biFrozenRiver, + }, + { + biColdTaiga, + biColdTaiga, + }, + { + biColdTaigaHills, + biColdTaigaHills, + }, + { + biColdTaigaM, + biColdTaigaM, + }, + { + biIcePlainsSpikes, + biIcePlainsSpikes, + }, + { + biExtremeHills, + biExtremeHillsEdge, + }, + { + biExtremeHillsPlus, + biExtremeHillsEdge, + }, + { + biExtremeHillsPlusM, + biExtremeHillsPlusM, + }, + }; + static BiomeLevels bgTemperateBlocks[] = { + { + biBirchForestHills, + biBirchForest, + }, + { + biBirchForest, + biBirchForest, + }, + { + biBirchForestHillsM, + biBirchForestM, + }, + { + biBirchForestM, + biBirchForestM, + }, + { + biForest, + biForestHills, + }, + { + biFlowerForest, + biFlowerForest, + }, + { + biRoofedForest, + biForest, + }, + { + biRoofedForest, + biRoofedForest, + }, + { + biRoofedForestM, + biForest, + }, + { + biPlains, + biPlains, + }, + { + biSunflowerPlains, + biSunflowerPlains, + }, + { + biSwampland, + biSwampland, + }, + { + biSwamplandM, + biSwamplandM, + }, + }; + static BiomeLevels bgWarmBlocks[] = { + { + biDesertHills, + biDesert, + }, + { + biDesert, + biDesert, + }, + { + biDesertM, + biDesertM, + }, + { + biSavannaPlateau, + biSavanna, + }, + { + biSavanna, + biSavanna, + }, + { + biSavannaM, + biSavannaM, + }, + }; + static BiomeLevels bgMesaBlocks[] = { + { + biMesaPlateau, + biMesa, + }, + { + biMesaPlateauF, + biMesa, + }, + { + biMesaPlateauFM, + biMesa, + }, + { + biMesaPlateauM, + biMesa, + }, + { + biMesaBryce, + biMesaBryce, + }, + { + biSavanna, + biSavanna, + }, + { + biSavannaPlateau, + biSavanna, + }, + }; + static BiomeLevels bgConifersBlocks[] = { + { + biTaiga, + biTaiga, + }, + { + biTaigaM, + biTaigaM, + }, + { + biMegaTaiga, + biMegaTaiga, + }, + { + biMegaSpruceTaiga, + biMegaSpruceTaiga, + }, + { + biMegaSpruceTaigaHills, + biMegaSpruceTaiga, + } + }; + static BiomeLevels bgDenseTreesBlocks[] = { + { + biJungleHills, + biJungle, + }, + { + biJungle, + biJungleEdge, + }, + { + biJungleM, + biJungleEdgeM, + }, + }; static struct { BiomeLevels * Biomes; - size_t Count; - } BiomeGroups[] = - { - { bgOceanBlocks, ARRAYCOUNT(bgOceanBlocks), }, - { bgOceanBlocks, ARRAYCOUNT(bgOceanBlocks), }, - { bgFrozenBlocks, ARRAYCOUNT(bgFrozenBlocks), }, - { bgFrozenBlocks, ARRAYCOUNT(bgFrozenBlocks), }, - { bgTemperateBlocks, ARRAYCOUNT(bgTemperateBlocks), }, - { bgTemperateBlocks, ARRAYCOUNT(bgTemperateBlocks), }, - { bgConifersBlocks, ARRAYCOUNT(bgConifersBlocks), }, - { bgConifersBlocks, ARRAYCOUNT(bgConifersBlocks), }, - { bgWarmBlocks, ARRAYCOUNT(bgWarmBlocks), }, - { bgWarmBlocks, ARRAYCOUNT(bgWarmBlocks), }, - { bgMesaBlocks, ARRAYCOUNT(bgMesaBlocks), }, - { bgDenseTreesBlocks, ARRAYCOUNT(bgDenseTreesBlocks), }, - } ; + size_t Count; + } BiomeGroups[] = { + { + bgOceanBlocks, + ARRAYCOUNT(bgOceanBlocks), + }, + { + bgOceanBlocks, + ARRAYCOUNT(bgOceanBlocks), + }, + { + bgFrozenBlocks, + ARRAYCOUNT(bgFrozenBlocks), + }, + { + bgFrozenBlocks, + ARRAYCOUNT(bgFrozenBlocks), + }, + { + bgTemperateBlocks, + ARRAYCOUNT(bgTemperateBlocks), + }, + { + bgTemperateBlocks, + ARRAYCOUNT(bgTemperateBlocks), + }, + { + bgConifersBlocks, + ARRAYCOUNT(bgConifersBlocks), + }, + { + bgConifersBlocks, + ARRAYCOUNT(bgConifersBlocks), + }, + { + bgWarmBlocks, + ARRAYCOUNT(bgWarmBlocks), + }, + { + bgWarmBlocks, + ARRAYCOUNT(bgWarmBlocks), + }, + { + bgMesaBlocks, + ARRAYCOUNT(bgMesaBlocks), + }, + { + bgDenseTreesBlocks, + ARRAYCOUNT(bgDenseTreesBlocks), + }, + }; size_t Group = static_cast(a_BiomeGroup) % ARRAYCOUNT(BiomeGroups); size_t Index = a_BiomeIdx % BiomeGroups[Group].Count; - return (a_DistLevel > 0) ? BiomeGroups[Group].Biomes[Index].InnerBiome : BiomeGroups[Group].Biomes[Index].OuterBiome; + return (a_DistLevel > 0) ? BiomeGroups[Group].Biomes[Index].InnerBiome + : BiomeGroups[Group].Biomes[Index].OuterBiome; } @@ -905,17 +1180,17 @@ void cBioGenTwoLevel::InitializeBiomeGen(cIniFile & a_IniFile) m_VoronoiLarge.SetCellSize(a_IniFile.GetValueSetI("Generator", "TwoLevelLargeCellSize", 1024)); m_VoronoiSmall.SetCellSize(a_IniFile.GetValueSetI("Generator", "TwoLevelSmallCellSize", 128)); m_FreqX1 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave1Freq", 0.01)); - m_AmpX1 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave1Amp", 80)); + m_AmpX1 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave1Amp", 80)); m_FreqX2 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave2Freq", 0.05)); - m_AmpX2 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave2Amp", 20)); + m_AmpX2 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave2Amp", 20)); m_FreqX3 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave3Freq", 0.1)); - m_AmpX3 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave3Amp", 8)); + m_AmpX3 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave3Amp", 8)); m_FreqZ1 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave1Freq", 0.01)); - m_AmpZ1 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave1Amp", 80)); + m_AmpZ1 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave1Amp", 80)); m_FreqZ2 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave2Freq", 0.05)); - m_AmpZ2 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave2Amp", 20)); + m_AmpZ2 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave2Amp", 20)); m_FreqZ3 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave3Freq", 0.1)); - m_AmpZ3 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave3Amp", 8)); + m_AmpZ3 = static_cast(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave3Amp", 8)); } @@ -925,84 +1200,179 @@ void cBioGenTwoLevel::InitializeBiomeGen(cIniFile & a_IniFile) //////////////////////////////////////////////////////////////////////////////// // cBioGenGrown: -class cBioGenGrown: - public cBiomeGen +class cBioGenGrown : public cBiomeGen { -public: + public: cBioGenGrown(int a_Seed) { auto FinalRivers = - std::make_shared>(a_Seed + 12) - | MakeIntGen>(a_Seed + 11) - | MakeIntGen>(a_Seed + 6) - | MakeIntGen>(a_Seed + 5) - | MakeIntGen>(a_Seed + 10) - | MakeIntGen>(a_Seed + 5) - | MakeIntGen>(a_Seed + 9) - | MakeIntGen>(a_Seed + 5) - | MakeIntGen>(a_Seed + 8) - | MakeIntGen>(a_Seed + 5) - | MakeIntGen>(a_Seed + 4) - | MakeIntGen>(a_Seed + 3) - | MakeIntGen>(a_Seed + 2) - | MakeIntGen>(a_Seed + 1); - - auto alteration = - std::make_shared>(a_Seed, - std::make_shared>(a_Seed, 20 - )); - - auto alteration2 = - std::make_shared>(a_Seed + 1, - std::make_shared>(a_Seed + 2, - std::make_shared>(a_Seed + 1, - std::make_shared>(a_Seed + 2, - std::make_shared>(a_Seed + 1, 10 - ))))); - - auto FinalBiomes = - std::make_shared> (a_Seed + 1, - std::make_shared>(a_Seed + 15, - std::make_shared> (a_Seed + 1, - std::make_shared> (a_Seed + 16, - std::make_shared> ( - std::make_shared> (a_Seed + 1, - std::make_shared> (a_Seed + 2004, 10, - std::make_shared> (a_Seed + 10, 500, biDeepOcean, - std::make_shared> (a_Seed + 1, biPlains, biSunflowerPlains, 20, - std::make_shared> (a_Seed + 5, alteration2, - std::make_shared> (a_Seed + 1, alteration, - std::make_shared> (a_Seed + 3, - std::make_shared>(a_Seed + 2, - std::make_shared> (a_Seed + 4, - std::make_shared> (a_Seed + 99, biIcePlains, biIcePlainsSpikes, 50, - std::make_shared> (a_Seed + 8, - std::make_shared> (a_Seed + 10, 300, biDeepOcean, - std::make_shared> (a_Seed + 9, 8, biMushroomIsland, - std::make_shared> (a_Seed + 3000, - std::make_shared> (a_Seed + 2000, 200, - std::make_shared> (a_Seed + 5, - std::make_shared> (a_Seed + 5, 50, - std::make_shared> ( - std::make_shared> (a_Seed + 2000, 200, - std::make_shared> (a_Seed + 7, - std::make_shared> (a_Seed + 8, 50, bgOcean, - std::make_shared> (a_Seed + 101, bgIce, bgTemperate, 150, - std::make_shared> (a_Seed + 2000, 200, - std::make_shared> (a_Seed + 9, 50, bgOcean, - std::make_shared> (a_Seed + 100, 30) - | MakeIntGen> (a_Seed + 10) - ))))))))))))))))))))))))))))); - - m_Gen = - std::make_shared>(a_Seed, - std::make_shared>(a_Seed, - std::make_shared>(a_Seed, - std::make_shared>(a_Seed, - std::make_shared> ( - FinalBiomes, FinalRivers - ))))); + std::make_shared>(a_Seed + 12) | MakeIntGen>(a_Seed + 11) | + MakeIntGen>(a_Seed + 6) | MakeIntGen>(a_Seed + 5) | + MakeIntGen>(a_Seed + 10) | MakeIntGen>(a_Seed + 5) | + MakeIntGen>(a_Seed + 9) | MakeIntGen>(a_Seed + 5) | + MakeIntGen>(a_Seed + 8) | MakeIntGen>(a_Seed + 5) | + MakeIntGen>(a_Seed + 4) | MakeIntGen>(a_Seed + 3) | + MakeIntGen>(a_Seed + 2) | MakeIntGen>(a_Seed + 1); + + auto alteration = std::make_shared>(a_Seed, std::make_shared>(a_Seed, 20)); + + auto alteration2 = std::make_shared>( + a_Seed + 1, + std::make_shared>( + a_Seed + 2, + std::make_shared>( + a_Seed + 1, + std::make_shared>(a_Seed + 2, std::make_shared>(a_Seed + 1, 10)) + ) + ) + ); + + auto FinalBiomes = std::make_shared>( + a_Seed + 1, + std::make_shared>( + a_Seed + 15, + std::make_shared>( + a_Seed + 1, + std::make_shared>( + a_Seed + 16, + std::make_shared>(std::make_shared>( + a_Seed + 1, + std::make_shared>( + a_Seed + 2004, + 10, + std::make_shared>( + a_Seed + 10, + 500, + biDeepOcean, + std::make_shared>( + a_Seed + 1, + biPlains, + biSunflowerPlains, + 20, + std::make_shared>( + a_Seed + 5, + alteration2, + std::make_shared>( + a_Seed + 1, + alteration, + std::make_shared>( + a_Seed + 3, + std::make_shared>( + a_Seed + 2, + std::make_shared>( + a_Seed + 4, + std::make_shared>( + a_Seed + 99, + biIcePlains, + biIcePlainsSpikes, + 50, + std::make_shared>( + a_Seed + 8, + std::make_shared>( + a_Seed + 10, + 300, + biDeepOcean, + std::make_shared>( + a_Seed + 9, + 8, + biMushroomIsland, + std::make_shared>( + a_Seed + 3000, + std::make_shared>( + a_Seed + 2000, + 200, + std::make_shared>( + a_Seed + 5, + std::make_shared< + cIntGenRareBiomeGroups<6>>( + a_Seed + 5, + 50, + std::make_shared< + cIntGenBiomeGroupEdges<6>>(std::make_shared< + cIntGenAddIslands< + 8>>( + a_Seed + 2000, + 200, + std::make_shared< + cIntGenZoom<8>>( + a_Seed + 7, + std::make_shared< + cIntGenSetRandomly<6>>( + a_Seed + 8, + 50, + bgOcean, + std::make_shared>( + a_Seed + + 101, + bgIce, + bgTemperate, + 150, + std::make_shared>( + a_Seed + + 2000, + 200, + std::make_shared>( + a_Seed + + 9, + 50, + bgOcean, + std::make_shared< + cIntGenLandOcean< + 5>>( + a_Seed + + 100, + 30 + ) | + MakeIntGen>( + a_Seed + + 10 + ) + ) + ) + ) + ) + ) + )) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + )) + ) + ) + ) + ); + + m_Gen = std::make_shared>( + a_Seed, + std::make_shared>( + a_Seed, + std::make_shared>( + a_Seed, + std::make_shared>( + a_Seed, + std::make_shared>(FinalBiomes, FinalRivers) + ) + ) + ) + ); } virtual void GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_Biomes) override @@ -1018,7 +1388,7 @@ public: } } -protected: + protected: std::shared_ptr> m_Gen; }; @@ -1029,90 +1399,223 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cBioGenProtGrown: -class cBioGenProtGrown: - public cBiomeGen +class cBioGenProtGrown : public cBiomeGen { -public: + public: cBioGenProtGrown(int a_Seed) { - auto FinalRivers = - std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 2, - std::make_shared(a_Seed + 3, - std::make_shared(a_Seed + 4, - std::make_shared(a_Seed + 5, - std::make_shared(a_Seed + 8, - std::make_shared(a_Seed + 5, - std::make_shared(a_Seed + 9, - std::make_shared(a_Seed + 5, - std::make_shared(a_Seed + 10, - std::make_shared(a_Seed + 5, - std::make_shared(a_Seed + 6, - std::make_shared(a_Seed + 11, - std::make_shared(a_Seed + 12, 2 - )))))))))))))); - - auto alteration = - std::make_shared(a_Seed, - std::make_shared(a_Seed, 20 - )); - - auto alteration2 = - std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 2, - std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 2, - std::make_shared(a_Seed + 1, 10 - ))))); - - auto FinalBiomes = - std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 15, - std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 16, - std::make_shared( - std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 2004, 10, - std::make_shared(a_Seed + 10, 500, biDeepOcean, - std::make_shared(a_Seed + 1, biPlains, biSunflowerPlains, 20, - std::make_shared(a_Seed + 5, alteration2, - std::make_shared(a_Seed + 1, alteration, - std::make_shared(a_Seed + 3, - std::make_shared(a_Seed + 2, - std::make_shared(a_Seed + 4, - std::make_shared(a_Seed + 99, biIcePlains, biIcePlainsSpikes, 50, - std::make_shared(a_Seed + 8, - std::make_shared(a_Seed + 10, 300, biDeepOcean, - std::make_shared(a_Seed + 9, 8, biMushroomIsland, - std::make_shared(a_Seed + 3000, - std::make_shared(a_Seed + 2000, 200, - std::make_shared(a_Seed + 5, - std::make_shared(a_Seed + 5, 50, - std::make_shared( - std::make_shared(a_Seed + 2000, 200, - std::make_shared(a_Seed + 7, - std::make_shared(a_Seed + 8, 50, bgOcean, - std::make_shared(a_Seed + 101, bgIce, bgTemperate, 150, - std::make_shared(a_Seed + 2000, 200, - std::make_shared(a_Seed + 9, 50, bgOcean, - std::make_shared(a_Seed + 10, - std::make_shared(a_Seed + 100, 30 - ))))))))))))))))))))))))))))))); - - m_Gen = - std::make_shared(a_Seed, - std::make_shared(a_Seed, - std::make_shared(a_Seed, - std::make_shared(a_Seed, - std::make_shared( - FinalBiomes, FinalRivers - ))))); + auto FinalRivers = std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 2, + std::make_shared( + a_Seed + 3, + std::make_shared( + a_Seed + 4, + std::make_shared( + a_Seed + 5, + std::make_shared( + a_Seed + 8, + std::make_shared( + a_Seed + 5, + std::make_shared( + a_Seed + 9, + std::make_shared( + a_Seed + 5, + std::make_shared( + a_Seed + 10, + std::make_shared( + a_Seed + 5, + std::make_shared( + a_Seed + 6, + std::make_shared( + a_Seed + 11, + std::make_shared(a_Seed + 12, 2) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ); + + auto alteration = std::make_shared(a_Seed, std::make_shared(a_Seed, 20)); + + auto alteration2 = std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 2, + std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 2, + std::make_shared(a_Seed + 1, 10) + ) + ) + ) + ); + + auto FinalBiomes = std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 15, + std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 16, + std::make_shared(std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 2004, + 10, + std::make_shared( + a_Seed + 10, + 500, + biDeepOcean, + std::make_shared( + a_Seed + 1, + biPlains, + biSunflowerPlains, + 20, + std::make_shared( + a_Seed + 5, + alteration2, + std::make_shared( + a_Seed + 1, + alteration, + std::make_shared( + a_Seed + 3, + std::make_shared( + a_Seed + 2, + std::make_shared( + a_Seed + 4, + std::make_shared( + a_Seed + 99, + biIcePlains, + biIcePlainsSpikes, + 50, + std::make_shared( + a_Seed + 8, + std::make_shared( + a_Seed + 10, + 300, + biDeepOcean, + std::make_shared( + a_Seed + 9, + 8, + biMushroomIsland, + std::make_shared( + a_Seed + 3000, + std::make_shared( + a_Seed + 2000, + 200, + std::make_shared( + a_Seed + 5, + std::make_shared< + cProtIntGenRareBiomeGroups>( + a_Seed + 5, + 50, + std::make_shared< + cProtIntGenBiomeGroupEdges>(std::make_shared< + cProtIntGenAddIslands>( + a_Seed + 2000, + 200, + std::make_shared< + cProtIntGenZoom>( + a_Seed + 7, + std::make_shared< + cProtIntGenSetRandomly>( + a_Seed + 8, + 50, + bgOcean, + std::make_shared< + cProtIntGenReplaceRandomly>( + a_Seed + + 101, + bgIce, + bgTemperate, + 150, + std::make_shared< + cProtIntGenAddIslands>( + a_Seed + + 2000, + 200, + std::make_shared< + cProtIntGenSetRandomly>( + a_Seed + + 9, + 50, + bgOcean, + std::make_shared< + cProtIntGenZoom>( + a_Seed + + 10, + std::make_shared< + cProtIntGenLandOcean>( + a_Seed + + 100, + 30 + ) + ) + ) + ) + ) + ) + ) + )) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + )) + ) + ) + ) + ); + + m_Gen = std::make_shared( + a_Seed, + std::make_shared( + a_Seed, + std::make_shared( + a_Seed, + std::make_shared( + a_Seed, + std::make_shared(FinalBiomes, FinalRivers) + ) + ) + ) + ); } virtual void GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_Biomes) override { int vals[16 * 16]; - m_Gen->GetInts(a_ChunkCoords.m_ChunkX * cChunkDef::Width, a_ChunkCoords.m_ChunkZ * cChunkDef::Width, 16, 16, vals); + m_Gen->GetInts( + a_ChunkCoords.m_ChunkX * cChunkDef::Width, + a_ChunkCoords.m_ChunkZ * cChunkDef::Width, + 16, + 16, + vals + ); for (int z = 0; z < cChunkDef::Width; z++) { for (int x = 0; x < cChunkDef::Width; x++) @@ -1122,7 +1625,7 @@ public: } } -protected: + protected: std::shared_ptr m_Gen; }; diff --git a/src/Generating/BioGen.h b/src/Generating/BioGen.h index 3c630e396..5ee2cf950 100644 --- a/src/Generating/BioGen.h +++ b/src/Generating/BioGen.h @@ -22,37 +22,35 @@ Interfaces to the various biome generators: -class cBioGenConstant : - public cBiomeGen +class cBioGenConstant : public cBiomeGen { -public: - cBioGenConstant(void) : m_Biome(biPlains) {} - -protected: + public: + cBioGenConstant(void) : + m_Biome(biPlains) + { + } + protected: EMCSBiome m_Biome; // cBiomeGen overrides: virtual void GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap) override; virtual void InitializeBiomeGen(cIniFile & a_IniFile) override; -} ; +}; /** A simple cache that stores N most recently generated chunks' biomes; N being settable upon creation */ -class cBioGenCache: - public cBiomeGen +class cBioGenCache : public cBiomeGen { using Super = cBiomeGen; -public: - + public: cBioGenCache(cBiomeGen & a_BioGenToCache, size_t a_CacheSize); -protected: - + protected: friend class cBioGenMulticache; cBiomeGen & m_BioGenToCache; @@ -62,17 +60,18 @@ protected: cChunkCoords m_Coords; cChunkDef::BiomeMap m_BiomeMap; - /** Default constructor: Fill in bogus coords so that the item is not used in the cache until properly calculated. */ - sCacheData(): + /** Default constructor: Fill in bogus coords so that the item is not used in the cache until properly + * calculated. */ + sCacheData() : m_Coords(0x7fffffff, 0x7fffffff) { } - } ; + }; // To avoid moving large amounts of data for the MRU behavior, we MRU-ize indices to an array of the actual data - size_t m_CacheSize; - std::vector m_CacheOrder; // MRU-ized order, indices into m_CacheData array - std::vector m_CacheData; // m_CacheData[m_CacheOrder[0]] is the most recently used + size_t m_CacheSize; + std::vector m_CacheOrder; // MRU-ized order, indices into m_CacheData array + std::vector m_CacheData; // m_CacheData[m_CacheOrder[0]] is the most recently used // Cache statistics size_t m_NumHits; @@ -81,26 +80,24 @@ protected: virtual void GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap) override; virtual void InitializeBiomeGen(cIniFile & a_IniFile) override; -} ; +}; -class cBioGenMulticache: - public cBiomeGen +class cBioGenMulticache : public cBiomeGen { using Super = cBiomeGen; -public: + public: /* Creates a new multicache - a cache that divides the caching into several sub-caches based on the chunk coords. This allows us to use shorter cache depths with faster lookups for more covered area. (#381) a_SubCacheSize defines the size of each sub-cache a_NumSubCaches defines how many sub-caches are used for the multicache. */ cBioGenMulticache(std::unique_ptr a_BioGenToCache, size_t a_SubCacheSize, size_t a_NumSubCaches); -protected: - + protected: /** Number of sub-caches. Pulled out of m_Caches.size() for faster access. */ size_t m_NumSubCaches; @@ -120,58 +117,51 @@ protected: /** Base class for generators that use a list of available biomes. This class takes care of the list. */ -class cBiomeGenList: - public cBiomeGen +class cBiomeGenList : public cBiomeGen { using Super = cBiomeGen; -protected: - + protected: // List of biomes that the generator is allowed to generate: typedef std::vector EMCSBiomes; EMCSBiomes m_Biomes; - int m_BiomesCount; // Pulled out of m_Biomes for faster access + int m_BiomesCount; // Pulled out of m_Biomes for faster access /** Parses the INI file setting string into m_Biomes. */ void InitializeBiomes(const AString & a_Biomes); -} ; +}; -class cBioGenCheckerboard: - public cBiomeGenList +class cBioGenCheckerboard : public cBiomeGenList { using Super = cBiomeGenList; -protected: - + protected: int m_BiomeSize; // cBiomeGen overrides: virtual void GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap) override; virtual void InitializeBiomeGen(cIniFile & a_IniFile) override; -} ; +}; -class cBioGenVoronoi: - public cBiomeGenList +class cBioGenVoronoi : public cBiomeGenList { using Super = cBiomeGenList; -public: - + public: cBioGenVoronoi(int a_Seed) : m_Voronoi(a_Seed) { } -protected: - + protected: cVoronoiMap m_Voronoi; // cBiomeGen overrides: @@ -179,27 +169,23 @@ protected: virtual void InitializeBiomeGen(cIniFile & a_IniFile) override; EMCSBiome VoronoiBiome(int a_BlockX, int a_BlockZ); -} ; +}; -class cBioGenDistortedVoronoi: - public cBiomeGenList +class cBioGenDistortedVoronoi : public cBiomeGenList { using Super = cBiomeGenList; -public: - - cBioGenDistortedVoronoi(int a_Seed): - m_Noise(a_Seed), - m_Voronoi(a_Seed), - m_CellSize(0) + public: + cBioGenDistortedVoronoi(int a_Seed) : + m_Noise(a_Seed), m_Voronoi(a_Seed), m_CellSize(0) { } -protected: + protected: /** Noise used for the distortion */ cNoise m_Noise; @@ -215,22 +201,20 @@ protected: /** Distorts the coords using a Perlin-like noise */ void Distort(int a_BlockX, int a_BlockZ, int & a_DistortedX, int & a_DistortedZ); -} ; +}; -class cBioGenMultiStepMap: - public cBiomeGen +class cBioGenMultiStepMap : public cBiomeGen { using Super = cBiomeGen; -public: - + public: cBioGenMultiStepMap(int a_Seed); -protected: + protected: // Noises used for composing the perlin-noise: cNoise m_Noise1; cNoise m_Noise2; @@ -239,22 +223,22 @@ protected: cNoise m_Noise5; cNoise m_Noise6; - int m_Seed; - int m_OceanCellSize; - int m_MushroomIslandSize; - int m_RiverCellSize; + int m_Seed; + int m_OceanCellSize; + int m_MushroomIslandSize; + int m_RiverCellSize; double m_RiverWidthThreshold; - float m_LandBiomesSize; + float m_LandBiomesSize; - typedef int IntMap[17 * 17]; // x + 17 * z, expected trimmed into [0..255] range + typedef int IntMap[17 * 17]; // x + 17 * z, expected trimmed into [0..255] range typedef double DblMap[17 * 17]; // x + 17 * z, expected trimmed into [0..1] range // cBiomeGen overrides: virtual void GenBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap) override; virtual void InitializeBiomeGen(cIniFile & a_IniFile) override; - /** Step 1: Decides between ocean, land and mushroom, using a DistVoronoi with special conditions and post-processing for mushroom islands - Sets biomes to biOcean, -1 (i.e. land), biMushroomIsland or biMushroomShore. */ + /** Step 1: Decides between ocean, land and mushroom, using a DistVoronoi with special conditions and + post-processing for mushroom islands Sets biomes to biOcean, -1 (i.e. land), biMushroomIsland or biMushroomShore. */ void DecideOceanLandMushroom(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap); /** Step 2: Add rivers to the land @@ -262,7 +246,8 @@ protected: void AddRivers(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap); /** Step 3: Decide land biomes using a temperature / humidity map; freeze ocean / river in low temperatures. - Flips all remaining "-1" biomes into land biomes. Also flips some biOcean and biRiver into biFrozenOcean, biFrozenRiver, based on temp map. */ + Flips all remaining "-1" biomes into land biomes. Also flips some biOcean and biRiver into biFrozenOcean, + biFrozenRiver, based on temp map. */ void ApplyTemperatureHumidity(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap); /** Distorts the coords using a Perlin-like noise, with a specified cell-size */ @@ -272,26 +257,28 @@ protected: void BuildTemperatureHumidityMaps(cChunkCoords a_ChunkCoords, IntMap & a_TemperatureMap, IntMap & a_HumidityMap); /** Flips all remaining "-1" biomes into land biomes using the two maps */ - void DecideLandBiomes(cChunkDef::BiomeMap & a_BiomeMap, const IntMap & a_TemperatureMap, const IntMap & a_HumidityMap); + void DecideLandBiomes( + cChunkDef::BiomeMap & a_BiomeMap, + const IntMap & a_TemperatureMap, + const IntMap & a_HumidityMap + ); /** Flips biOcean and biRiver into biFrozenOcean and biFrozenRiver if the temperature is too low */ void FreezeWaterBiomes(cChunkDef::BiomeMap & a_BiomeMap, const IntMap & a_TemperatureMap); -} ; +}; -class cBioGenTwoLevel: - public cBiomeGen +class cBioGenTwoLevel : public cBiomeGen { using Super = cBiomeGen; -public: - + public: cBioGenTwoLevel(int a_Seed); -protected: + protected: /** The Voronoi map that decides the groups of biomes */ cVoronoiMap m_VoronoiLarge; @@ -323,4 +310,4 @@ protected: Note that both params may overflow a_DistLevel is either 0 or 1; zero when it is at the edge of the small Voronoi cell, 1 near the center */ EMCSBiome SelectBiome(int a_BiomeGroup, size_t a_BiomeIdx, int a_DistLevel); -} ; +}; diff --git a/src/Generating/Caves.cpp b/src/Generating/Caves.cpp index 27978dd75..f41a9f389 100644 --- a/src/Generating/Caves.cpp +++ b/src/Generating/Caves.cpp @@ -13,14 +13,14 @@ Caves are generated in "nests" - groups of tunnels generated from a single point For each chunk, all the nests that could intersect it are generated. For each nest, first the schematic structure is generated (tunnel from ... to ..., branch, tunnel2 from ... to ...) Then each tunnel is randomized by inserting points in between its ends. -Finally each tunnel is smoothed and Bresenham-3D-ed so that it is a collection of spheres with their centers next to each other. -When the tunnels are ready, they are simply carved into the chunk, one by one. -To optimize, each tunnel keeps track of its bounding box, so that it can be skipped for chunks that don't intersect it. +Finally each tunnel is smoothed and Bresenham-3D-ed so that it is a collection of spheres with their centers next to +each other. When the tunnels are ready, they are simply carved into the chunk, one by one. To optimize, each tunnel +keeps track of its bounding box, so that it can be skipped for chunks that don't intersect it. MarbleCaves generator: -For each voxel a 3D noise function is evaluated, if the value crosses a boundary, the voxel is dug out, otherwise it is kept. -Problem with this is the amount of CPU work needed for each chunk. -Also the overall shape of the generated holes is unsatisfactory - there are whole "sheets" of holes in the ground. +For each voxel a 3D noise function is evaluated, if the value crosses a boundary, the voxel is dug out, otherwise it is +kept. Problem with this is the amount of CPU work needed for each chunk. Also the overall shape of the generated holes +is unsatisfactory - there are whole "sheets" of holes in the ground. DualRidgeCaves generator: Instead of evaluating a single noise function, two different noise functions are multiplied. This produces @@ -51,13 +51,10 @@ struct cCaveDefPoint int m_Radius; cCaveDefPoint(int a_BlockX, int a_BlockY, int a_BlockZ, int a_Radius) : - m_BlockX(a_BlockX), - m_BlockY(a_BlockY), - m_BlockZ(a_BlockZ), - m_Radius(a_Radius) + m_BlockX(a_BlockX), m_BlockY(a_BlockY), m_BlockZ(a_BlockZ), m_Radius(a_Radius) { } -} ; +}; typedef std::vector cCaveDefPoints; @@ -76,7 +73,8 @@ class cCaveTunnel /** Generates the shaping defpoints for the cave, based on the cave block coords and noise */ void Randomize(cNoise & a_Noise); - /** Refines (adds and smooths) defpoints from a_Src into a_Dst; returns false if no refinement possible (segments too short) */ + /** Refines (adds and smooths) defpoints from a_Src into a_Dst; returns false if no refinement possible (segments + * too short) */ bool RefineDefPoints(const cCaveDefPoints & a_Src, cCaveDefPoints & a_Dst); /** Does rounds of smoothing, two passes of RefineDefPoints(), as long as they return true */ @@ -88,27 +86,34 @@ class cCaveTunnel /** Calculates the bounding box of the points present */ void CalcBoundingBox(void); -public: + public: cCaveDefPoints m_Points; cCaveTunnel( - int a_BlockStartX, int a_BlockStartY, int a_BlockStartZ, int a_StartRadius, - int a_BlockEndX, int a_BlockEndY, int a_BlockEndZ, int a_EndRadius, + int a_BlockStartX, + int a_BlockStartY, + int a_BlockStartZ, + int a_StartRadius, + int a_BlockEndX, + int a_BlockEndY, + int a_BlockEndZ, + int a_EndRadius, cNoise & a_Noise ); /** Carves the tunnel into the chunk specified */ void ProcessChunk( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, cChunkDef::BlockTypes & a_BlockTypes, cChunkDesc::BlockNibbleBytes & a_BlockMetas, cChunkDef::HeightMap & a_HeightMap ); - #ifndef NDEBUG +#ifndef NDEBUG AString ExportAsSVG(int a_Color, int a_OffsetX, int a_OffsetZ) const; - #endif // !NDEBUG -} ; +#endif // !NDEBUG +}; typedef std::vector cCaveTunnels; @@ -117,13 +122,11 @@ typedef std::vector cCaveTunnels; /** A collection of connected tunnels, possibly branching. */ -class cStructGenWormNestCaves::cCaveSystem: - public cGridStructGen::cStructure +class cStructGenWormNestCaves::cCaveSystem : public cGridStructGen::cStructure { using Super = cGridStructGen::cStructure; -public: - + public: // The generating block position; is read directly in cStructGenWormNestCaves::GetCavesForChunk() int m_BlockX; int m_BlockZ; @@ -131,24 +134,22 @@ public: cCaveSystem(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ, int a_MaxOffset, int a_Size, cNoise & a_Noise); virtual ~cCaveSystem() override; -protected: + protected: int m_Size; cCaveTunnels m_Tunnels; void Clear(void); - /** Generates a_Segment successive tunnels, with possible branches. Generates the same output for the same [x, y, z, a_Segments] */ - void GenerateTunnelsFromPoint( - int a_OriginX, int a_OriginY, int a_OriginZ, - cNoise & a_Noise, int a_Segments - ); + /** Generates a_Segment successive tunnels, with possible branches. Generates the same output for the same [x, y, z, + * a_Segments] */ + void GenerateTunnelsFromPoint(int a_OriginX, int a_OriginY, int a_OriginZ, cNoise & a_Noise, int a_Segments); /** Returns a radius based on the location provided. */ int GetRadius(cNoise & a_Noise, int a_OriginX, int a_OriginY, int a_OriginZ); // cGridStructGen::cStructure overrides: virtual void DrawIntoChunk(cChunkDesc & a_ChunkDesc) override; -} ; +}; @@ -158,13 +159,19 @@ protected: // cCaveTunnel: cCaveTunnel::cCaveTunnel( - int a_BlockStartX, int a_BlockStartY, int a_BlockStartZ, int a_StartRadius, - int a_BlockEndX, int a_BlockEndY, int a_BlockEndZ, int a_EndRadius, + int a_BlockStartX, + int a_BlockStartY, + int a_BlockStartZ, + int a_StartRadius, + int a_BlockEndX, + int a_BlockEndY, + int a_BlockEndZ, + int a_EndRadius, cNoise & a_Noise ) { m_Points.emplace_back(a_BlockStartX, a_BlockStartY, a_BlockStartZ, a_StartRadius); - m_Points.emplace_back(a_BlockEndX, a_BlockEndY, a_BlockEndZ, a_EndRadius); + m_Points.emplace_back(a_BlockEndX, a_BlockEndY, a_BlockEndZ, a_EndRadius); if ((a_BlockStartY <= 0) && (a_BlockEndY <= 0)) { @@ -356,7 +363,7 @@ void cCaveTunnel::FinishLinear(void) } // move along x - PrevX += sx; + PrevX += sx; yd += dy; zd += dz; } @@ -456,7 +463,8 @@ void cCaveTunnel::CalcBoundingBox(void) void cCaveTunnel::ProcessChunk( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, cChunkDef::BlockTypes & a_BlockTypes, cChunkDesc::BlockNibbleBytes & a_BlockMetas, cChunkDef::HeightMap & a_HeightMap @@ -464,10 +472,8 @@ void cCaveTunnel::ProcessChunk( { int BaseX = a_ChunkX * cChunkDef::Width; int BaseZ = a_ChunkZ * cChunkDef::Width; - if ( - (BaseX > m_MaxBlockX) || (BaseX + cChunkDef::Width < m_MinBlockX) || - (BaseZ > m_MaxBlockZ) || (BaseZ + cChunkDef::Width < m_MinBlockZ) - ) + if ((BaseX > m_MaxBlockX) || (BaseX + cChunkDef::Width < m_MinBlockX) || (BaseZ > m_MaxBlockZ) || + (BaseZ + cChunkDef::Width < m_MinBlockZ)) { // Tunnel does not intersect the chunk at all, bail out return; @@ -479,12 +485,8 @@ void cCaveTunnel::ProcessChunk( int BlockEndZ = BlockStartZ + cChunkDef::Width; for (cCaveDefPoints::const_iterator itr = m_Points.begin(), end = m_Points.end(); itr != end; ++itr) { - if ( - (itr->m_BlockX + itr->m_Radius < BlockStartX) || - (itr->m_BlockX - itr->m_Radius > BlockEndX) || - (itr->m_BlockZ + itr->m_Radius < BlockStartZ) || - (itr->m_BlockZ - itr->m_Radius > BlockEndZ) - ) + if ((itr->m_BlockX + itr->m_Radius < BlockStartX) || (itr->m_BlockX - itr->m_Radius > BlockEndX) || + (itr->m_BlockZ + itr->m_Radius < BlockStartZ) || (itr->m_BlockZ - itr->m_Radius > BlockEndZ)) { // Cannot intersect, bail out early continue; @@ -495,38 +497,39 @@ void cCaveTunnel::ProcessChunk( int DifY = itr->m_BlockY; int DifZ = itr->m_BlockZ - BlockStartZ; // substitution for faster calc int Bottom = std::max(itr->m_BlockY - 3 * itr->m_Radius / 7, 1); - int Top = std::min(itr->m_BlockY + 3 * itr->m_Radius / 7, static_cast(cChunkDef::Height)); - int SqRad = itr->m_Radius * itr->m_Radius; - for (int z = 0; z < cChunkDef::Width; z++) for (int x = 0; x < cChunkDef::Width; x++) - { - for (int y = Bottom; y <= Top; y++) + int Top = std::min(itr->m_BlockY + 3 * itr->m_Radius / 7, static_cast(cChunkDef::Height)); + int SqRad = itr->m_Radius * itr->m_Radius; + for (int z = 0; z < cChunkDef::Width; z++) + for (int x = 0; x < cChunkDef::Width; x++) { - int SqDist = (DifX - x) * (DifX - x) + (DifY - y) * (DifY - y) + (DifZ - z) * (DifZ - z); - if (4 * SqDist <= SqRad) + for (int y = Bottom; y <= Top; y++) { - if (cBlockInfo::CanBeTerraformed(cChunkDef::GetBlock(a_BlockTypes, x, y, z))) + int SqDist = (DifX - x) * (DifX - x) + (DifY - y) * (DifY - y) + (DifZ - z) * (DifZ - z); + if (4 * SqDist <= SqRad) { - cChunkDef::SetBlock(a_BlockTypes, x, y, z, E_BLOCK_AIR); - } - } - else if (SqDist <= SqRad * 2) - { - if (cChunkDef::GetBlock(a_BlockTypes, x, y, z) == E_BLOCK_SAND) - { - const auto Index = cChunkDef::MakeIndex(x, y, z); - if (a_BlockMetas[Index] == 1) + if (cBlockInfo::CanBeTerraformed(cChunkDef::GetBlock(a_BlockTypes, x, y, z))) { - a_BlockMetas[Index] = 0; - cChunkDef::SetBlock(a_BlockTypes, x, y, z, E_BLOCK_RED_SANDSTONE); + cChunkDef::SetBlock(a_BlockTypes, x, y, z, E_BLOCK_AIR); } - else + } + else if (SqDist <= SqRad * 2) + { + if (cChunkDef::GetBlock(a_BlockTypes, x, y, z) == E_BLOCK_SAND) { - cChunkDef::SetBlock(a_BlockTypes, x, y, z, E_BLOCK_SANDSTONE); + const auto Index = cChunkDef::MakeIndex(x, y, z); + if (a_BlockMetas[Index] == 1) + { + a_BlockMetas[Index] = 0; + cChunkDef::SetBlock(a_BlockTypes, x, y, z, E_BLOCK_RED_SANDSTONE); + } + else + { + cChunkDef::SetBlock(a_BlockTypes, x, y, z, E_BLOCK_SANDSTONE); + } } } - } - } // for y - } // for x, z + } // for y + } // for x, z } // for itr - m_Points[] /* @@ -577,23 +580,30 @@ AString cCaveTunnel::ExportAsSVG(int a_Color, int a_OffsetX, int a_OffsetZ) cons //////////////////////////////////////////////////////////////////////////////// // cStructGenWormNestCaves::cCaveSystem: -cStructGenWormNestCaves::cCaveSystem::cCaveSystem(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ, int a_MaxOffset, int a_Size, cNoise & a_Noise) : - Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ), - m_Size(a_Size) +cStructGenWormNestCaves::cCaveSystem::cCaveSystem( + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ, + int a_MaxOffset, + int a_Size, + cNoise & a_Noise +) : + Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ), m_Size(a_Size) { int Num = 1 + a_Noise.IntNoise2DInt(a_OriginX, a_OriginZ) % 3; for (int i = 0; i < Num; i++) { int OriginX = a_OriginX + (a_Noise.IntNoise3DInt(13 * a_OriginX, 17 * a_OriginZ, 11 * i) / 19) % a_MaxOffset; int OriginZ = a_OriginZ + (a_Noise.IntNoise3DInt(17 * a_OriginX, 13 * a_OriginZ, 11 * i) / 23) % a_MaxOffset; - int OriginY = 20 + (a_Noise.IntNoise3DInt(19 * a_OriginX, 13 * a_OriginZ, 11 * i) / 17) % 20; + int OriginY = 20 + (a_Noise.IntNoise3DInt(19 * a_OriginX, 13 * a_OriginZ, 11 * i) / 17) % 20; // Generate three branches from the origin point: // The tunnels generated depend on X, Y, Z and Branches, // for the same set of numbers it generates the same offsets! // That's why we add a +1 to X in the third line - GenerateTunnelsFromPoint(OriginX, OriginY, OriginZ, a_Noise, 3); - GenerateTunnelsFromPoint(OriginX, OriginY, OriginZ, a_Noise, 2); + GenerateTunnelsFromPoint(OriginX, OriginY, OriginZ, a_Noise, 3); + GenerateTunnelsFromPoint(OriginX, OriginY, OriginZ, a_Noise, 2); GenerateTunnelsFromPoint(OriginX + 1, OriginY, OriginZ, a_Noise, 3); } } @@ -615,8 +625,8 @@ void cStructGenWormNestCaves::cCaveSystem::DrawIntoChunk(cChunkDesc & a_ChunkDes { int ChunkX = a_ChunkDesc.GetChunkX(); int ChunkZ = a_ChunkDesc.GetChunkZ(); - cChunkDef::BlockTypes & BlockTypes = a_ChunkDesc.GetBlockTypes(); - cChunkDef::HeightMap & HeightMap = a_ChunkDesc.GetHeightMap(); + cChunkDef::BlockTypes & BlockTypes = a_ChunkDesc.GetBlockTypes(); + cChunkDef::HeightMap & HeightMap = a_ChunkDesc.GetHeightMap(); cChunkDesc::BlockNibbleBytes & BlockMetas = a_ChunkDesc.GetBlockMetasUncompressed(); for (cCaveTunnels::const_iterator itr = m_Tunnels.begin(), end = m_Tunnels.end(); itr != end; ++itr) { @@ -642,17 +652,26 @@ void cStructGenWormNestCaves::cCaveSystem::Clear(void) void cStructGenWormNestCaves::cCaveSystem::GenerateTunnelsFromPoint( - int a_OriginX, int a_OriginY, int a_OriginZ, - cNoise & a_Noise, int a_NumSegments + int a_OriginX, + int a_OriginY, + int a_OriginZ, + cNoise & a_Noise, + int a_NumSegments ) { int DoubleSize = m_Size * 2; int Radius = GetRadius(a_Noise, a_OriginX + a_OriginY, a_OriginY + a_OriginZ, a_OriginZ + a_OriginX); for (int i = a_NumSegments - 1; i >= 0; --i) { - int EndX = a_OriginX + (((a_Noise.IntNoise3DInt(a_OriginX, a_OriginY, a_OriginZ + 11 * a_NumSegments) / 7) % DoubleSize) - m_Size) / 2; - int EndY = a_OriginY + (((a_Noise.IntNoise3DInt(a_OriginY, 13 * a_NumSegments, a_OriginZ + a_OriginX) / 7) % DoubleSize) - m_Size) / 4; - int EndZ = a_OriginZ + (((a_Noise.IntNoise3DInt(a_OriginZ + 17 * a_NumSegments, a_OriginX, a_OriginY) / 7) % DoubleSize) - m_Size) / 2; + int EndX = a_OriginX + + (((a_Noise.IntNoise3DInt(a_OriginX, a_OriginY, a_OriginZ + 11 * a_NumSegments) / 7) % DoubleSize) - m_Size + ) / 2; + int EndY = a_OriginY + + (((a_Noise.IntNoise3DInt(a_OriginY, 13 * a_NumSegments, a_OriginZ + a_OriginX) / 7) % DoubleSize) - m_Size + ) / 4; + int EndZ = a_OriginZ + + (((a_Noise.IntNoise3DInt(a_OriginZ + 17 * a_NumSegments, a_OriginX, a_OriginY) / 7) % DoubleSize) - m_Size + ) / 2; int EndR = GetRadius(a_Noise, a_OriginX + 7 * i, a_OriginY + 11 * i, a_OriginZ + a_OriginX); m_Tunnels.push_back(new cCaveTunnel(a_OriginX, a_OriginY, a_OriginZ, Radius, EndX, EndY, EndZ, EndR, a_Noise)); GenerateTunnelsFromPoint(EndX, EndY, EndZ, a_Noise, i); @@ -669,16 +688,18 @@ void cStructGenWormNestCaves::cCaveSystem::GenerateTunnelsFromPoint( int cStructGenWormNestCaves::cCaveSystem::GetRadius(cNoise & a_Noise, int a_OriginX, int a_OriginY, int a_OriginZ) { - // Instead of a flat distribution noise function, we need to shape it, so that most caves are smallish and only a few select are large + // Instead of a flat distribution noise function, we need to shape it, so that most caves are smallish and only a + // few select are large int rnd = a_Noise.IntNoise3DInt(a_OriginX, a_OriginY, a_OriginZ) / 11; /* // Not good enough: - // The algorithm of choice: emulate gauss-distribution noise by adding 3 flat noises, then fold it in half using absolute value. + // The algorithm of choice: emulate gauss-distribution noise by adding 3 flat noises, then fold it in half using + absolute value. // To save on processing, use one random value and extract 3 bytes to be separately added as the gaussian noise int sum = (rnd & 0xff) + ((rnd >> 8) & 0xff) + ((rnd >> 16) & 0xff); // sum is now a gaussian-distribution noise within [0 .. 767], with center at 384. - // We want mapping 384 -> 3, 0 -> 19, 768 -> 19, so divide by 24 to get [0 .. 31] with center at 16, then use abs() to fold around the center - int res = 3 + abs((sum / 24) - 16); + // We want mapping 384 -> 3, 0 -> 19, 768 -> 19, so divide by 24 to get [0 .. 31] with center at 16, then use abs() + to fold around the center int res = 3 + abs((sum / 24) - 16); */ // Algorithm of choice: random value in the range of zero to random value - heavily towards zero @@ -693,7 +714,12 @@ int cStructGenWormNestCaves::cCaveSystem::GetRadius(cNoise & a_Noise, int a_Orig //////////////////////////////////////////////////////////////////////////////// // cStructGenWormNestCaves: -cGridStructGen::cStructurePtr cStructGenWormNestCaves::CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) +cGridStructGen::cStructurePtr cStructGenWormNestCaves::CreateStructure( + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ +) { return cStructurePtr(new cCaveSystem(a_GridX, a_GridZ, a_OriginX, a_OriginZ, m_MaxOffset, m_Size, m_Noise)); } @@ -705,7 +731,7 @@ cGridStructGen::cStructurePtr cStructGenWormNestCaves::CreateStructure(int a_Gri //////////////////////////////////////////////////////////////////////////////// // cStructGenMarbleCaves: -static float GetMarbleNoise( float x, float y, float z, cNoise & a_Noise) +static float GetMarbleNoise(float x, float y, float z, cNoise & a_Noise) { static const float PI_2 = 1.57079633f; float oct1 = (a_Noise.CubicNoise3D(x * 0.1f, y * 0.1f, z * 0.1f)) * 4; @@ -747,7 +773,9 @@ void cStructGenMarbleCaves::GenFinish(cChunkDesc & a_ChunkDesc) const float yy = static_cast(y); const float WaveNoise = 1; - if (cosf(GetMarbleNoise(xx, yy * 0.5f, zz, Noise)) * fabs(cosf(yy * 0.2f + WaveNoise * 2) * 0.75f + WaveNoise) > 0.0005f) + if (cosf(GetMarbleNoise(xx, yy * 0.5f, zz, Noise)) * + fabs(cosf(yy * 0.2f + WaveNoise * 2) * 0.75f + WaveNoise) > + 0.0005f) { a_ChunkDesc.SetBlockType(x, y, z, E_BLOCK_AIR); } @@ -788,7 +816,3 @@ void cStructGenDualRidgeCaves::GenFinish(cChunkDesc & a_ChunkDesc) } // for x } // for z } - - - - diff --git a/src/Generating/Caves.h b/src/Generating/Caves.h index 82545b4e0..c057b4b4f 100644 --- a/src/Generating/Caves.h +++ b/src/Generating/Caves.h @@ -18,57 +18,52 @@ -class cStructGenMarbleCaves : - public cFinishGen +class cStructGenMarbleCaves : public cFinishGen { -public: - cStructGenMarbleCaves(int a_Seed) : m_Seed(a_Seed) {} - -protected: + public: + cStructGenMarbleCaves(int a_Seed) : + m_Seed(a_Seed) + { + } + protected: int m_Seed; // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cStructGenDualRidgeCaves : - public cFinishGen +class cStructGenDualRidgeCaves : public cFinishGen { -public: + public: cStructGenDualRidgeCaves(int a_Seed, float a_Threshold) : - m_Noise1(a_Seed), - m_Noise2(2 * a_Seed + 19999), - m_Seed(a_Seed), - m_Threshold(a_Threshold) + m_Noise1(a_Seed), m_Noise2(2 * a_Seed + 19999), m_Seed(a_Seed), m_Threshold(a_Threshold) { } -protected: + protected: cNoise m_Noise1; cNoise m_Noise2; - int m_Seed; - float m_Threshold; + int m_Seed; + float m_Threshold; // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cStructGenWormNestCaves: - public cGridStructGen +class cStructGenWormNestCaves : public cGridStructGen { using Super = cGridStructGen; -public: - + public: cStructGenWormNestCaves(int a_Seed, int a_Size = 64, int a_Grid = 96, int a_MaxOffset = 128) : Super(a_Seed, a_Grid, a_Grid, a_MaxOffset, a_MaxOffset, a_Size, a_Size, 100), m_Size(a_Size), @@ -77,18 +72,13 @@ public: { } -protected: - + protected: class cCaveSystem; // fwd: Caves.cpp - int m_Size; // relative size of the cave systems' caves. Average number of blocks of each initial tunnel - int m_MaxOffset; // maximum offset of the cave nest origin from the grid cell the nest belongs to - int m_Grid; // average spacing of the nests + int m_Size; // relative size of the cave systems' caves. Average number of blocks of each initial tunnel + int m_MaxOffset; // maximum offset of the cave nest origin from the grid cell the nest belongs to + int m_Grid; // average spacing of the nests // cGridStructGen override: virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override; -} ; - - - - +}; diff --git a/src/Generating/ChunkDesc.cpp b/src/Generating/ChunkDesc.cpp index b2a332489..847dfc2cf 100644 --- a/src/Generating/ChunkDesc.cpp +++ b/src/Generating/ChunkDesc.cpp @@ -1,7 +1,8 @@ // ChunkDesc.cpp -// Implements the cChunkDesc class representing the chunk description used while generating a chunk. This class is also exported to Lua for HOOK_CHUNK_GENERATING. +// Implements the cChunkDesc class representing the chunk description used while generating a chunk. This class is also +// exported to Lua for HOOK_CHUNK_GENERATING. #include "Globals.h" #include "ChunkDesc.h" @@ -25,8 +26,8 @@ cChunkDesc::cChunkDesc(cChunkCoords a_Coords) : memset(m_BlockTypes, 0, sizeof(cChunkDef::BlockTypes)); memset(m_BlockMeta, 0, sizeof(cChunkDef::BlockNibbles)); */ - memset(m_BiomeMap, 0, sizeof(cChunkDef::BiomeMap)); - memset(m_HeightMap, 0, sizeof(cChunkDef::HeightMap)); + memset(m_BiomeMap, 0, sizeof(cChunkDef::BiomeMap)); + memset(m_HeightMap, 0, sizeof(cChunkDef::HeightMap)); } @@ -69,7 +70,8 @@ void cChunkDesc::SetBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE -void cChunkDesc::GetBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const +void cChunkDesc::GetBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) + const { m_BlockArea.GetRelBlockTypeMeta(a_RelX, a_RelY, a_RelZ, a_BlockType, a_BlockMeta); } @@ -268,7 +270,13 @@ bool cChunkDesc::IsUsingDefaultFinish(void) const -void cChunkDesc::WriteBlockArea(const cBlockArea & a_BlockArea, int a_RelX, int a_RelY, int a_RelZ, cBlockArea::eMergeStrategy a_MergeStrategy) +void cChunkDesc::WriteBlockArea( + const cBlockArea & a_BlockArea, + int a_RelX, + int a_RelY, + int a_RelZ, + cBlockArea::eMergeStrategy a_MergeStrategy +) { m_BlockArea.Merge(a_BlockArea, a_RelX, a_RelY, a_RelZ, a_MergeStrategy); } @@ -277,7 +285,15 @@ void cChunkDesc::WriteBlockArea(const cBlockArea & a_BlockArea, int a_RelX, int -void cChunkDesc::ReadBlockArea(cBlockArea & a_Dest, int a_MinRelX, int a_MaxRelX, int a_MinRelY, int a_MaxRelY, int a_MinRelZ, int a_MaxRelZ) +void cChunkDesc::ReadBlockArea( + cBlockArea & a_Dest, + int a_MinRelX, + int a_MaxRelX, + int a_MinRelY, + int a_MaxRelY, + int a_MinRelZ, + int a_MaxRelZ +) { // Normalize the coords: if (a_MinRelX > a_MaxRelX) @@ -429,10 +445,14 @@ HEIGHTTYPE cChunkDesc::GetMinHeight(void) const void cChunkDesc::FillRelCuboid( - int a_MinX, int a_MaxX, - int a_MinY, int a_MaxY, - int a_MinZ, int a_MaxZ, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta ) { int MinX = std::max(a_MinX, 0); @@ -459,11 +479,16 @@ void cChunkDesc::FillRelCuboid( void cChunkDesc::ReplaceRelCuboid( - int a_MinX, int a_MaxX, - int a_MinY, int a_MaxY, - int a_MinZ, int a_MaxZ, - BLOCKTYPE a_SrcType, NIBBLETYPE a_SrcMeta, - BLOCKTYPE a_DstType, NIBBLETYPE a_DstMeta + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + BLOCKTYPE a_SrcType, + NIBBLETYPE a_SrcMeta, + BLOCKTYPE a_DstType, + NIBBLETYPE a_DstMeta ) { int MinX = std::max(a_MinX, 0); @@ -496,10 +521,14 @@ void cChunkDesc::ReplaceRelCuboid( void cChunkDesc::FloorRelCuboid( - int a_MinX, int a_MaxX, - int a_MinY, int a_MaxY, - int a_MinZ, int a_MaxZ, - BLOCKTYPE a_DstType, NIBBLETYPE a_DstMeta + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + BLOCKTYPE a_DstType, + NIBBLETYPE a_DstMeta ) { int MinX = std::max(a_MinX, 0); @@ -535,11 +564,16 @@ void cChunkDesc::FloorRelCuboid( void cChunkDesc::RandomFillRelCuboid( - int a_MinX, int a_MaxX, - int a_MinY, int a_MaxY, - int a_MinZ, int a_MaxZ, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - int a_RandomSeed, int a_ChanceOutOf10k + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + int a_RandomSeed, + int a_ChanceOutOf10k ) { cNoise Noise(a_RandomSeed); @@ -595,7 +629,11 @@ cBlockEntity * cChunkDesc::GetBlockEntity(int a_RelX, int a_RelY, int a_RelZ) int AbsZ = a_RelZ + m_Coords.m_ChunkZ * cChunkDef::Width; // The block entity is not created yet, try to create it and add to list: - auto be = cBlockEntity::CreateByBlockType(GetBlockType(a_RelX, a_RelY, a_RelZ), GetBlockMeta(a_RelX, a_RelY, a_RelZ), {AbsX, a_RelY, AbsZ}); + auto be = cBlockEntity::CreateByBlockType( + GetBlockType(a_RelX, a_RelY, a_RelZ), + GetBlockMeta(a_RelX, a_RelY, a_RelZ), + {AbsX, a_RelY, AbsZ} + ); if (be == nullptr) { // No block entity for this block type @@ -670,8 +708,3 @@ void cChunkDesc::VerifyHeightmap(void) } #endif // !NDEBUG - - - - - diff --git a/src/Generating/ChunkDesc.h b/src/Generating/ChunkDesc.h index d066660f1..1c5f9e256 100644 --- a/src/Generating/ChunkDesc.h +++ b/src/Generating/ChunkDesc.h @@ -1,7 +1,8 @@ // ChunkDesc.h -// Declares the cChunkDesc class representing the chunk description used while generating a chunk. This class is also exported to Lua for HOOK_CHUNK_GENERATING. +// Declares the cChunkDesc class representing the chunk description used while generating a chunk. This class is also +// exported to Lua for HOOK_CHUNK_GENERATING. @@ -26,7 +27,7 @@ class cBlockArea; // tolua_begin class cChunkDesc { -public: + public: // tolua_end /** The datatype used to represent the entire chunk worth of shape. @@ -55,8 +56,8 @@ public: // tolua_begin - void FillBlocks(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); - void SetBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); + void FillBlocks(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); + void SetBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); // tolua_end /** Returns the BlockType and BlockMeta at the specified coords. @@ -64,18 +65,18 @@ public: void GetBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) const; // tolua_begin - void SetBlockType(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType); - BLOCKTYPE GetBlockType(int a_RelX, int a_RelY, int a_RelZ) const; + void SetBlockType(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType); + BLOCKTYPE GetBlockType(int a_RelX, int a_RelY, int a_RelZ) const; - void SetBlockMeta(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_BlockMeta); + void SetBlockMeta(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_BlockMeta); NIBBLETYPE GetBlockMeta(int a_RelX, int a_RelY, int a_RelZ) const; - void SetBiome(int a_RelX, int a_RelZ, EMCSBiome a_BiomeID); - EMCSBiome GetBiome(int a_RelX, int a_RelZ) const; + void SetBiome(int a_RelX, int a_RelZ, EMCSBiome a_BiomeID); + EMCSBiome GetBiome(int a_RelX, int a_RelZ) const; // These operate on the heightmap, so they could get out of sync with the data // Use UpdateHeightmap() to re-calculate heightmap from the block data - void SetHeight(int a_RelX, int a_RelZ, HEIGHTTYPE a_Height); + void SetHeight(int a_RelX, int a_RelZ, HEIGHTTYPE a_Height); HEIGHTTYPE GetHeight(int a_RelX, int a_RelZ) const; // tolua_end @@ -117,11 +118,26 @@ public: void SetUseDefaultFinish(bool a_bUseDefaultFinish); bool IsUsingDefaultFinish(void) const; - /** Writes the block area into the chunk, with its origin set at the specified relative coords. Area's data overwrite everything in the chunk. */ - void WriteBlockArea(const cBlockArea & a_BlockArea, int a_RelX, int a_RelY, int a_RelZ, cBlockArea::eMergeStrategy a_MergeStrategy = cBlockArea::msOverwrite); + /** Writes the block area into the chunk, with its origin set at the specified relative coords. Area's data + * overwrite everything in the chunk. */ + void WriteBlockArea( + const cBlockArea & a_BlockArea, + int a_RelX, + int a_RelY, + int a_RelZ, + cBlockArea::eMergeStrategy a_MergeStrategy = cBlockArea::msOverwrite + ); /** Reads an area from the chunk into a cBlockArea, blocktypes and blockmetas */ - void ReadBlockArea(cBlockArea & a_Dest, int a_MinRelX, int a_MaxRelX, int a_MinRelY, int a_MaxRelY, int a_MinRelZ, int a_MaxRelZ); + void ReadBlockArea( + cBlockArea & a_Dest, + int a_MinRelX, + int a_MaxRelX, + int a_MinRelY, + int a_MaxRelY, + int a_MinRelZ, + int a_MaxRelZ + ); /** Returns the maximum height value in the heightmap. */ HEIGHTTYPE GetMaxHeight(void) const; @@ -131,91 +147,131 @@ public: /** Fills the relative cuboid with specified block; allows cuboid out of range of this chunk */ void FillRelCuboid( - int a_MinX, int a_MaxX, - int a_MinY, int a_MaxY, - int a_MinZ, int a_MaxZ, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta ); /** Fills the relative cuboid with specified block; allows cuboid out of range of this chunk */ void FillRelCuboid(const cCuboid & a_RelCuboid, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { FillRelCuboid( - a_RelCuboid.p1.x, a_RelCuboid.p2.x, - a_RelCuboid.p1.y, a_RelCuboid.p2.y, - a_RelCuboid.p1.z, a_RelCuboid.p2.z, - a_BlockType, a_BlockMeta + a_RelCuboid.p1.x, + a_RelCuboid.p2.x, + a_RelCuboid.p1.y, + a_RelCuboid.p2.y, + a_RelCuboid.p1.z, + a_RelCuboid.p2.z, + a_BlockType, + a_BlockMeta ); } /** Replaces the specified src blocks in the cuboid by the dst blocks; allows cuboid out of range of this chunk */ void ReplaceRelCuboid( - int a_MinX, int a_MaxX, - int a_MinY, int a_MaxY, - int a_MinZ, int a_MaxZ, - BLOCKTYPE a_SrcType, NIBBLETYPE a_SrcMeta, - BLOCKTYPE a_DstType, NIBBLETYPE a_DstMeta + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + BLOCKTYPE a_SrcType, + NIBBLETYPE a_SrcMeta, + BLOCKTYPE a_DstType, + NIBBLETYPE a_DstMeta ); /** Replaces the specified src blocks in the cuboid by the dst blocks; allows cuboid out of range of this chunk */ void ReplaceRelCuboid( const cCuboid & a_RelCuboid, - BLOCKTYPE a_SrcType, NIBBLETYPE a_SrcMeta, - BLOCKTYPE a_DstType, NIBBLETYPE a_DstMeta + BLOCKTYPE a_SrcType, + NIBBLETYPE a_SrcMeta, + BLOCKTYPE a_DstType, + NIBBLETYPE a_DstMeta ) { ReplaceRelCuboid( - a_RelCuboid.p1.x, a_RelCuboid.p2.x, - a_RelCuboid.p1.y, a_RelCuboid.p2.y, - a_RelCuboid.p1.z, a_RelCuboid.p2.z, - a_SrcType, a_SrcMeta, - a_DstType, a_DstMeta + a_RelCuboid.p1.x, + a_RelCuboid.p2.x, + a_RelCuboid.p1.y, + a_RelCuboid.p2.y, + a_RelCuboid.p1.z, + a_RelCuboid.p2.z, + a_SrcType, + a_SrcMeta, + a_DstType, + a_DstMeta ); } - /** Replaces the blocks in the cuboid by the dst blocks if they are considered non-floor (air, water); allows cuboid out of range of this chunk */ + /** Replaces the blocks in the cuboid by the dst blocks if they are considered non-floor (air, water); allows cuboid + * out of range of this chunk */ void FloorRelCuboid( - int a_MinX, int a_MaxX, - int a_MinY, int a_MaxY, - int a_MinZ, int a_MaxZ, - BLOCKTYPE a_DstType, NIBBLETYPE a_DstMeta + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + BLOCKTYPE a_DstType, + NIBBLETYPE a_DstMeta ); - /** Replaces the blocks in the cuboid by the dst blocks if they are considered non-floor (air, water); allows cuboid out of range of this chunk */ - void FloorRelCuboid( - const cCuboid & a_RelCuboid, - BLOCKTYPE a_DstType, NIBBLETYPE a_DstMeta - ) + /** Replaces the blocks in the cuboid by the dst blocks if they are considered non-floor (air, water); allows cuboid + * out of range of this chunk */ + void FloorRelCuboid(const cCuboid & a_RelCuboid, BLOCKTYPE a_DstType, NIBBLETYPE a_DstMeta) { FloorRelCuboid( - a_RelCuboid.p1.x, a_RelCuboid.p2.x, - a_RelCuboid.p1.y, a_RelCuboid.p2.y, - a_RelCuboid.p1.z, a_RelCuboid.p2.z, - a_DstType, a_DstMeta + a_RelCuboid.p1.x, + a_RelCuboid.p2.x, + a_RelCuboid.p1.y, + a_RelCuboid.p2.y, + a_RelCuboid.p1.z, + a_RelCuboid.p2.z, + a_DstType, + a_DstMeta ); } /** Fills the relative cuboid with specified block with a random chance; allows cuboid out of range of this chunk */ void RandomFillRelCuboid( - int a_MinX, int a_MaxX, - int a_MinY, int a_MaxY, - int a_MinZ, int a_MaxZ, - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - int a_RandomSeed, int a_ChanceOutOf10k + int a_MinX, + int a_MaxX, + int a_MinY, + int a_MaxY, + int a_MinZ, + int a_MaxZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + int a_RandomSeed, + int a_ChanceOutOf10k ); /** Fills the relative cuboid with specified block with a random chance; allows cuboid out of range of this chunk */ void RandomFillRelCuboid( - const cCuboid & a_RelCuboid, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - int a_RandomSeed, int a_ChanceOutOf10k + const cCuboid & a_RelCuboid, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + int a_RandomSeed, + int a_ChanceOutOf10k ) { RandomFillRelCuboid( - a_RelCuboid.p1.x, a_RelCuboid.p2.x, - a_RelCuboid.p1.y, a_RelCuboid.p2.y, - a_RelCuboid.p1.z, a_RelCuboid.p2.z, - a_BlockType, a_BlockMeta, - a_RandomSeed, a_ChanceOutOf10k + a_RelCuboid.p1.x, + a_RelCuboid.p2.x, + a_RelCuboid.p1.y, + a_RelCuboid.p2.y, + a_RelCuboid.p1.z, + a_RelCuboid.p2.z, + a_BlockType, + a_BlockMeta, + a_RandomSeed, + a_ChanceOutOf10k ); } @@ -231,42 +287,48 @@ public: // tolua_end // Accessors used by cChunkGenerator::Generator descendants: - inline cChunkDef::BiomeMap & GetBiomeMap (void) { return m_BiomeMap; } - inline cChunkDef::BlockTypes & GetBlockTypes (void) { return *(reinterpret_cast(m_BlockArea.GetBlockTypes())); } + inline cChunkDef::BiomeMap & GetBiomeMap(void) { return m_BiomeMap; } + inline cChunkDef::BlockTypes & GetBlockTypes(void) + { + return *(reinterpret_cast(m_BlockArea.GetBlockTypes())); + } // CANNOT, different compression! - // inline cChunkDef::BlockNibbles & GetBlockMetas (void) { return *((cChunkDef::BlockNibbles *)m_BlockArea.GetBlockMetas()); } - inline BlockNibbleBytes & GetBlockMetasUncompressed(void) { return *(reinterpret_cast(m_BlockArea.GetBlockMetas())); } - inline cChunkDef::HeightMap & GetHeightMap (void) { return m_HeightMap; } - inline cEntityList & GetEntities (void) { return m_Entities; } - inline cBlockEntities & GetBlockEntities (void) { return m_BlockEntities; } + // inline cChunkDef::BlockNibbles & GetBlockMetas (void) { return *((cChunkDef::BlockNibbles + // *)m_BlockArea.GetBlockMetas()); } + inline BlockNibbleBytes & GetBlockMetasUncompressed(void) + { + return *(reinterpret_cast(m_BlockArea.GetBlockMetas())); + } + inline cChunkDef::HeightMap & GetHeightMap(void) { return m_HeightMap; } + inline cEntityList & GetEntities(void) { return m_Entities; } + inline cBlockEntities & GetBlockEntities(void) { return m_BlockEntities; } - inline const cChunkDef::BiomeMap & GetBiomeMap() const { return m_BiomeMap; } - inline const cChunkDef::BlockTypes & GetBlockTypes() const { return *(reinterpret_cast(m_BlockArea.GetBlockTypes())); } - inline const cChunkDef::HeightMap & GetHeightMap() const { return m_HeightMap; } + inline const cChunkDef::BiomeMap & GetBiomeMap() const { return m_BiomeMap; } + inline const cChunkDef::BlockTypes & GetBlockTypes() const + { + return *(reinterpret_cast(m_BlockArea.GetBlockTypes())); + } + inline const cChunkDef::HeightMap & GetHeightMap() const { return m_HeightMap; } /** Compresses the metas from the BlockArea format (1 meta per byte) into regular format (2 metas per byte) */ void CompressBlockMetas(cChunkDef::BlockNibbles & a_DestMetas); - #ifndef NDEBUG +#ifndef NDEBUG /** Verifies that the heightmap corresponds to blocktype contents; if not, asserts on that column */ void VerifyHeightmap(void); - #endif // !NDEBUG +#endif // !NDEBUG -private: + private: cChunkCoords m_Coords; - cChunkDef::BiomeMap m_BiomeMap; - cBlockArea m_BlockArea; - cChunkDef::HeightMap m_HeightMap; - cEntityList m_Entities; - cBlockEntities m_BlockEntities; // Individual block entities are NOT owned by this object! + cChunkDef::BiomeMap m_BiomeMap; + cBlockArea m_BlockArea; + cChunkDef::HeightMap m_HeightMap; + cEntityList m_Entities; + cBlockEntities m_BlockEntities; // Individual block entities are NOT owned by this object! bool m_bUseDefaultBiomes; bool m_bUseDefaultHeight; bool m_bUseDefaultComposition; bool m_bUseDefaultFinish; -} ; // tolua_export - - - - +}; // tolua_export diff --git a/src/Generating/ChunkGenerator.cpp b/src/Generating/ChunkGenerator.cpp index b8486e3d6..f5318be78 100644 --- a/src/Generating/ChunkGenerator.cpp +++ b/src/Generating/ChunkGenerator.cpp @@ -74,7 +74,3 @@ EMCSBiome cChunkGenerator::GetBiomeAt(int a_BlockX, int a_BlockZ) GenerateBiomes({ChunkX, ChunkZ}, Biomes); return cChunkDef::GetBiome(Biomes, a_BlockX, a_BlockZ); } - - - - diff --git a/src/Generating/ChunkGenerator.h b/src/Generating/ChunkGenerator.h index 5b9f2c0ac..db53c5a0c 100644 --- a/src/Generating/ChunkGenerator.h +++ b/src/Generating/ChunkGenerator.h @@ -19,7 +19,7 @@ The cChunkGeneratorThread uses this interface to generate chunks for a single wo Ths calls to generate chunks are synchronous - they don't return until the chunk is fully generated. */ class cChunkGenerator { -public: + public: virtual ~cChunkGenerator() {} // Force a virtual destructor /** Called to initialize the generator on server startup. @@ -47,15 +47,10 @@ public: static std::unique_ptr CreateFromIniFile(cIniFile & a_IniFile); -protected: - + protected: /** The main seed, read from the INI file, used for the entire generator. */ int m_Seed; /** The dimension, read from the INI file. */ eDimension m_Dimension; }; - - - - diff --git a/src/Generating/CompoGen.cpp b/src/Generating/CompoGen.cpp index 02786ede9..77354ef6b 100644 --- a/src/Generating/CompoGen.cpp +++ b/src/Generating/CompoGen.cpp @@ -65,32 +65,16 @@ void cCompoGenSameBlock::InitializeCompoGen(cIniFile & a_IniFile) void cCompoGenDebugBiomes::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) { - static BLOCKTYPE Blocks[] = - { - E_BLOCK_STONE, - E_BLOCK_COBBLESTONE, - E_BLOCK_LOG, - E_BLOCK_PLANKS, - E_BLOCK_SANDSTONE, - E_BLOCK_WOOL, - E_BLOCK_COAL_ORE, - E_BLOCK_IRON_ORE, - E_BLOCK_GOLD_ORE, - E_BLOCK_DIAMOND_ORE, - E_BLOCK_LAPIS_ORE, - E_BLOCK_REDSTONE_ORE, - E_BLOCK_IRON_BLOCK, - E_BLOCK_GOLD_BLOCK, - E_BLOCK_DIAMOND_BLOCK, - E_BLOCK_LAPIS_BLOCK, - E_BLOCK_BRICK, - E_BLOCK_MOSSY_COBBLESTONE, - E_BLOCK_OBSIDIAN, - E_BLOCK_NETHERRACK, - E_BLOCK_SOULSAND, - E_BLOCK_NETHER_BRICK, - E_BLOCK_BEDROCK, - } ; + static BLOCKTYPE Blocks[] = { + E_BLOCK_STONE, E_BLOCK_COBBLESTONE, E_BLOCK_LOG, + E_BLOCK_PLANKS, E_BLOCK_SANDSTONE, E_BLOCK_WOOL, + E_BLOCK_COAL_ORE, E_BLOCK_IRON_ORE, E_BLOCK_GOLD_ORE, + E_BLOCK_DIAMOND_ORE, E_BLOCK_LAPIS_ORE, E_BLOCK_REDSTONE_ORE, + E_BLOCK_IRON_BLOCK, E_BLOCK_GOLD_BLOCK, E_BLOCK_DIAMOND_BLOCK, + E_BLOCK_LAPIS_BLOCK, E_BLOCK_BRICK, E_BLOCK_MOSSY_COBBLESTONE, + E_BLOCK_OBSIDIAN, E_BLOCK_NETHERRACK, E_BLOCK_SOULSAND, + E_BLOCK_NETHER_BRICK, E_BLOCK_BEDROCK, + }; a_ChunkDesc.SetHeightFromShape(a_Shape); a_ChunkDesc.FillBlocks(E_BLOCK_AIR, 0); @@ -146,9 +130,9 @@ void cCompoGenClassic::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc a_ChunkDesc.SetHeightFromShape(a_Shape); // The patterns to use for different situations, must be same length! - const BLOCKTYPE PatternGround[] = {m_BlockTop, m_BlockMiddle, m_BlockMiddle, m_BlockMiddle} ; - const BLOCKTYPE PatternBeach[] = {m_BlockBeach, m_BlockBeach, m_BlockBeach, m_BlockBeachBottom} ; - const BLOCKTYPE PatternOcean[] = {m_BlockMiddle, m_BlockMiddle, m_BlockMiddle, m_BlockBottom} ; + const BLOCKTYPE PatternGround[] = {m_BlockTop, m_BlockMiddle, m_BlockMiddle, m_BlockMiddle}; + const BLOCKTYPE PatternBeach[] = {m_BlockBeach, m_BlockBeach, m_BlockBeach, m_BlockBeachBottom}; + const BLOCKTYPE PatternOcean[] = {m_BlockMiddle, m_BlockMiddle, m_BlockMiddle, m_BlockBottom}; static int PatternLength = ARRAYCOUNT(PatternGround); ASSERT(ARRAYCOUNT(PatternGround) == ARRAYCOUNT(PatternBeach)); ASSERT(ARRAYCOUNT(PatternGround) == ARRAYCOUNT(PatternOcean)); @@ -196,15 +180,21 @@ void cCompoGenClassic::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc void cCompoGenClassic::InitializeCompoGen(cIniFile & a_IniFile) { - m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", m_SeaLevel); - m_BeachHeight = a_IniFile.GetValueSetI("Generator", "ClassicBeachHeight", m_BeachHeight); - m_BeachDepth = a_IniFile.GetValueSetI("Generator", "ClassicBeachDepth", m_BeachDepth); - m_BlockTop = static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockTop", "grass").m_ItemType); - m_BlockMiddle = static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockMiddle", "dirt").m_ItemType); - m_BlockBottom = static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockBottom", "stone").m_ItemType); - m_BlockBeach = static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockBeach", "sand").m_ItemType); - m_BlockBeachBottom = static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockBeachBottom", "sandstone").m_ItemType); - m_BlockSea = static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockSea", "stationarywater").m_ItemType); + m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", m_SeaLevel); + m_BeachHeight = a_IniFile.GetValueSetI("Generator", "ClassicBeachHeight", m_BeachHeight); + m_BeachDepth = a_IniFile.GetValueSetI("Generator", "ClassicBeachDepth", m_BeachDepth); + m_BlockTop = static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockTop", "grass").m_ItemType); + m_BlockMiddle = + static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockMiddle", "dirt").m_ItemType); + m_BlockBottom = + static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockBottom", "stone").m_ItemType); + m_BlockBeach = + static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockBeach", "sand").m_ItemType); + m_BlockBeachBottom = + static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockBeachBottom", "sandstone").m_ItemType + ); + m_BlockSea = + static_cast(GetIniItemSet(a_IniFile, "Generator", "ClassicBlockSea", "stationarywater").m_ItemType); } @@ -215,9 +205,7 @@ void cCompoGenClassic::InitializeCompoGen(cIniFile & a_IniFile) // cCompoGenNether: cCompoGenNether::cCompoGenNether(int a_Seed) : - m_Noise1(a_Seed + 10), - m_Noise2(a_Seed * a_Seed * 10 + a_Seed * 1000 + 6000), - m_MaxThreshold(25000) + m_Noise1(a_Seed + 10), m_Noise2(a_Seed * a_Seed * 10 + a_Seed * 1000 + 6000), m_MaxThreshold(25000) { } @@ -232,9 +220,10 @@ void cCompoGenNether::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc: const int SEGMENT_HEIGHT = 8; const int INTERPOL_X = 16; // Must be a divisor of 16 const int INTERPOL_Z = 16; // Must be a divisor of 16 - // Interpolate the chunk in 16 * SEGMENT_HEIGHT * 16 "segments", each SEGMENT_HEIGHT blocks high and each linearly interpolated separately. - // Have two buffers, one for the lowest floor and one for the highest floor, so that Y-interpolation can be done between them - // Then swap the buffers and use the previously-top one as the current-bottom, without recalculating it. + // Interpolate the chunk in 16 * SEGMENT_HEIGHT * 16 "segments", each SEGMENT_HEIGHT blocks high and each linearly + // interpolated separately. Have two buffers, one for the lowest floor and one for the highest floor, so that + // Y-interpolation can be done between them Then swap the buffers and use the previously-top one as the + // current-bottom, without recalculating it. int FloorBuf1[17 * 17]; int FloorBuf2[17 * 17]; @@ -244,73 +233,84 @@ void cCompoGenNether::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc: int BaseZ = a_ChunkDesc.GetChunkZ() * cChunkDef::Width; // Interpolate the lowest floor: - for (int z = 0; z <= 16 / INTERPOL_Z; z++) for (int x = 0; x <= 16 / INTERPOL_X; x++) - { - // We need to store the intermediate result in a volatile variable, otherwise gcc -O2 optimizes - // through the undefined behavior in cNoise and produces different data than the other platforms / build types (#4384) - volatile int intermediate = - m_Noise1.IntNoise3DInt(BaseX + INTERPOL_X * x, 0, BaseZ + INTERPOL_Z * z) * - m_Noise2.IntNoise3DInt(BaseX + INTERPOL_X * x, 0, BaseZ + INTERPOL_Z * z); - FloorLo[INTERPOL_X * x + 17 * INTERPOL_Z * z] = intermediate / 256; - } // for x, z - FloorLo[] + for (int z = 0; z <= 16 / INTERPOL_Z; z++) + for (int x = 0; x <= 16 / INTERPOL_X; x++) + { + // We need to store the intermediate result in a volatile variable, otherwise gcc -O2 optimizes + // through the undefined behavior in cNoise and produces different data than the other platforms / build + // types (#4384) + volatile int intermediate = m_Noise1.IntNoise3DInt(BaseX + INTERPOL_X * x, 0, BaseZ + INTERPOL_Z * z) * + m_Noise2.IntNoise3DInt(BaseX + INTERPOL_X * x, 0, BaseZ + INTERPOL_Z * z); + FloorLo[INTERPOL_X * x + 17 * INTERPOL_Z * z] = intermediate / 256; + } // for x, z - FloorLo[] LinearUpscale2DArrayInPlace<17, 17, INTERPOL_X, INTERPOL_Z>(FloorLo); // Interpolate segments: for (int Segment = 0; Segment < MaxHeight; Segment += SEGMENT_HEIGHT) { // First update the high floor: - for (int z = 0; z <= 16 / INTERPOL_Z; z++) for (int x = 0; x <= 16 / INTERPOL_X; x++) - { - // We need to store the intermediate result in a volatile variable, otherwise gcc -O2 optimizes - // through the undefined behavior in cNoise and produces different data than the other platforms / build types (#4384) - volatile int intermediate = - m_Noise1.IntNoise3DInt(BaseX + INTERPOL_X * x, Segment + SEGMENT_HEIGHT, BaseZ + INTERPOL_Z * z) * - m_Noise2.IntNoise3DInt(BaseX + INTERPOL_Z * x, Segment + SEGMENT_HEIGHT, BaseZ + INTERPOL_Z * z); - FloorHi[INTERPOL_X * x + 17 * INTERPOL_Z * z] = intermediate / 256; - } // for x, z - FloorLo[] + for (int z = 0; z <= 16 / INTERPOL_Z; z++) + for (int x = 0; x <= 16 / INTERPOL_X; x++) + { + // We need to store the intermediate result in a volatile variable, otherwise gcc -O2 optimizes + // through the undefined behavior in cNoise and produces different data than the other platforms / build + // types (#4384) + volatile int intermediate = + m_Noise1.IntNoise3DInt(BaseX + INTERPOL_X * x, Segment + SEGMENT_HEIGHT, BaseZ + INTERPOL_Z * z) * + m_Noise2.IntNoise3DInt(BaseX + INTERPOL_Z * x, Segment + SEGMENT_HEIGHT, BaseZ + INTERPOL_Z * z); + FloorHi[INTERPOL_X * x + 17 * INTERPOL_Z * z] = intermediate / 256; + } // for x, z - FloorLo[] LinearUpscale2DArrayInPlace<17, 17, INTERPOL_X, INTERPOL_Z>(FloorHi); // Interpolate between FloorLo and FloorHi: - for (int z = 0; z < 16; z++) for (int x = 0; x < 16; x++) - { - int Threshold = static_cast(m_Noise1.CubicNoise2D(static_cast(BaseX + x) / 75, static_cast(BaseZ + z) / 75) * m_MaxThreshold); - int Lo = FloorLo[x + 17 * z] / 256; - int Hi = FloorHi[x + 17 * z] / 256; - for (int y = 0; y < SEGMENT_HEIGHT; y++) + for (int z = 0; z < 16; z++) + for (int x = 0; x < 16; x++) { - int Val = Lo + (Hi - Lo) * y / SEGMENT_HEIGHT; - if (Val < Threshold) + int Threshold = static_cast( + m_Noise1.CubicNoise2D(static_cast(BaseX + x) / 75, static_cast(BaseZ + z) / 75) * + m_MaxThreshold + ); + int Lo = FloorLo[x + 17 * z] / 256; + int Hi = FloorHi[x + 17 * z] / 256; + for (int y = 0; y < SEGMENT_HEIGHT; y++) { - a_ChunkDesc.SetBlockType(x, y + Segment, z, E_BLOCK_NETHERRACK); + int Val = Lo + (Hi - Lo) * y / SEGMENT_HEIGHT; + if (Val < Threshold) + { + a_ChunkDesc.SetBlockType(x, y + Segment, z, E_BLOCK_NETHERRACK); + } } } - } // Swap the floors: std::swap(FloorLo, FloorHi); } // Bedrock at the bottom and at the top, cover ceiling with netherrack: - for (int z = 0; z < 16; z++) for (int x = 0; x < 16; x++) - { - a_ChunkDesc.SetBlockType(x, 0, z, E_BLOCK_BEDROCK); + for (int z = 0; z < 16; z++) + for (int x = 0; x < 16; x++) + { + a_ChunkDesc.SetBlockType(x, 0, z, E_BLOCK_BEDROCK); - int Height = a_ChunkDesc.GetHeight(x, z); - a_ChunkDesc.SetBlockType(x, Height, z, E_BLOCK_BEDROCK); + int Height = a_ChunkDesc.GetHeight(x, z); + a_ChunkDesc.SetBlockType(x, Height, z, E_BLOCK_BEDROCK); - NOISE_DATATYPE CeilingDisguise = (m_Noise1.CubicNoise2D(static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + x) / 10, static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + z) / 10)); - if (CeilingDisguise < 0) - { - CeilingDisguise = -CeilingDisguise; - } + NOISE_DATATYPE CeilingDisguise = (m_Noise1.CubicNoise2D( + static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + x) / 10, + static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + z) / 10 + )); + if (CeilingDisguise < 0) + { + CeilingDisguise = -CeilingDisguise; + } - int CeilingDisguiseHeight = Height - 2 - FloorC(CeilingDisguise * 3); + int CeilingDisguiseHeight = Height - 2 - FloorC(CeilingDisguise * 3); - for (int y = Height - 1; y > CeilingDisguiseHeight; y--) - { - a_ChunkDesc.SetBlockType(x, y, z, E_BLOCK_NETHERRACK); + for (int y = Height - 1; y > CeilingDisguiseHeight; y--) + { + a_ChunkDesc.SetBlockType(x, y, z, E_BLOCK_NETHERRACK); + } } - } } @@ -364,23 +364,21 @@ cCompoGenCache::~cCompoGenCache() void cCompoGenCache::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) { - #ifndef NDEBUG +#ifndef NDEBUG if (((m_NumHits + m_NumMisses) % 1024) == 10) { - // LOGD("CompoGenCache: %d hits, %d misses, saved %.2f %%", m_NumHits, m_NumMisses, 100.0 * m_NumHits / (m_NumHits + m_NumMisses)); - // LOGD("CompoGenCache: Avg cache chain length: %.2f", static_cast(m_TotalChain) / m_NumHits); + // LOGD("CompoGenCache: %d hits, %d misses, saved %.2f %%", m_NumHits, m_NumMisses, 100.0 * m_NumHits / + // (m_NumHits + m_NumMisses)); LOGD("CompoGenCache: Avg cache chain length: %.2f", + // static_cast(m_TotalChain) / m_NumHits); } - #endif // !NDEBUG +#endif // !NDEBUG int ChunkX = a_ChunkDesc.GetChunkX(); int ChunkZ = a_ChunkDesc.GetChunkZ(); for (int i = 0; i < m_CacheSize; i++) { - if ( - (m_CacheData[m_CacheOrder[i]].m_ChunkX != ChunkX) || - (m_CacheData[m_CacheOrder[i]].m_ChunkZ != ChunkZ) - ) + if ((m_CacheData[m_CacheOrder[i]].m_ChunkX != ChunkX) || (m_CacheData[m_CacheOrder[i]].m_ChunkZ != ChunkZ)) { continue; } @@ -395,9 +393,13 @@ void cCompoGenCache::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc:: m_CacheOrder[0] = Idx; // Use the cached data: - memcpy(a_ChunkDesc.GetBlockTypes(), m_CacheData[Idx].m_BlockTypes, sizeof(a_ChunkDesc.GetBlockTypes())); - memcpy(a_ChunkDesc.GetBlockMetasUncompressed(), m_CacheData[Idx].m_BlockMetas, sizeof(a_ChunkDesc.GetBlockMetasUncompressed())); - memcpy(a_ChunkDesc.GetHeightMap(), m_CacheData[Idx].m_HeightMap, sizeof(a_ChunkDesc.GetHeightMap())); + memcpy(a_ChunkDesc.GetBlockTypes(), m_CacheData[Idx].m_BlockTypes, sizeof(a_ChunkDesc.GetBlockTypes())); + memcpy( + a_ChunkDesc.GetBlockMetasUncompressed(), + m_CacheData[Idx].m_BlockMetas, + sizeof(a_ChunkDesc.GetBlockMetasUncompressed()) + ); + memcpy(a_ChunkDesc.GetHeightMap(), m_CacheData[Idx].m_HeightMap, sizeof(a_ChunkDesc.GetHeightMap())); m_NumHits++; m_TotalChain += i; @@ -415,9 +417,13 @@ void cCompoGenCache::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc:: m_CacheOrder[i] = m_CacheOrder[i - 1]; } // for i - m_CacheOrder[] m_CacheOrder[0] = Idx; - memcpy(m_CacheData[Idx].m_BlockTypes, a_ChunkDesc.GetBlockTypes(), sizeof(a_ChunkDesc.GetBlockTypes())); - memcpy(m_CacheData[Idx].m_BlockMetas, a_ChunkDesc.GetBlockMetasUncompressed(), sizeof(a_ChunkDesc.GetBlockMetasUncompressed())); - memcpy(m_CacheData[Idx].m_HeightMap, a_ChunkDesc.GetHeightMap(), sizeof(a_ChunkDesc.GetHeightMap())); + memcpy(m_CacheData[Idx].m_BlockTypes, a_ChunkDesc.GetBlockTypes(), sizeof(a_ChunkDesc.GetBlockTypes())); + memcpy( + m_CacheData[Idx].m_BlockMetas, + a_ChunkDesc.GetBlockMetasUncompressed(), + sizeof(a_ChunkDesc.GetBlockMetasUncompressed()) + ); + memcpy(m_CacheData[Idx].m_HeightMap, a_ChunkDesc.GetHeightMap(), sizeof(a_ChunkDesc.GetHeightMap())); m_CacheData[Idx].m_ChunkX = ChunkX; m_CacheData[Idx].m_ChunkZ = ChunkZ; } diff --git a/src/Generating/CompoGen.h b/src/Generating/CompoGen.h index 53154ec07..bc5eb104e 100644 --- a/src/Generating/CompoGen.h +++ b/src/Generating/CompoGen.h @@ -23,53 +23,47 @@ -class cCompoGenSameBlock : - public cTerrainCompositionGen +class cCompoGenSameBlock : public cTerrainCompositionGen { -public: + public: cCompoGenSameBlock(void) : - m_BlockType(E_BLOCK_STONE), - m_IsBedrocked(true) - {} - -protected: + m_BlockType(E_BLOCK_STONE), m_IsBedrocked(true) + { + } + protected: BLOCKTYPE m_BlockType; - bool m_IsBedrocked; + bool m_IsBedrocked; // cTerrainCompositionGen overrides: virtual void ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) override; virtual void InitializeCompoGen(cIniFile & a_IniFile) override; -} ; +}; -class cCompoGenDebugBiomes : - public cTerrainCompositionGen +class cCompoGenDebugBiomes : public cTerrainCompositionGen { -public: + public: cCompoGenDebugBiomes(void) {} -protected: - + protected: // cTerrainCompositionGen overrides: virtual void ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) override; -} ; +}; -class cCompoGenClassic : - public cTerrainCompositionGen +class cCompoGenClassic : public cTerrainCompositionGen { -public: + public: cCompoGenClassic(void); -protected: - + protected: int m_SeaLevel; int m_BeachHeight; int m_BeachDepth; @@ -83,19 +77,18 @@ protected: // cTerrainCompositionGen overrides: virtual void ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) override; virtual void InitializeCompoGen(cIniFile & a_IniFile) override; -} ; +}; -class cCompoGenNether : - public cTerrainCompositionGen +class cCompoGenNether : public cTerrainCompositionGen { -public: + public: cCompoGenNether(int a_Seed); -protected: + protected: cNoise m_Noise1; cNoise m_Noise2; @@ -104,17 +97,16 @@ protected: // cTerrainCompositionGen overrides: virtual void ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) override; virtual void InitializeCompoGen(cIniFile & a_IniFile) override; -} ; +}; /** Caches most-recently-used chunk composition of another composition generator. Caches only the types and metas */ -class cCompoGenCache : - public cTerrainCompositionGen +class cCompoGenCache : public cTerrainCompositionGen { -public: + public: cCompoGenCache(std::unique_ptr a_Underlying, int a_CacheSize); virtual ~cCompoGenCache() override; @@ -122,26 +114,25 @@ public: virtual void ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) override; virtual void InitializeCompoGen(cIniFile & a_IniFile) override; -protected: - + protected: std::unique_ptr m_Underlying; struct sCacheData { int m_ChunkX; int m_ChunkZ; - cChunkDef::BlockTypes m_BlockTypes; + cChunkDef::BlockTypes m_BlockTypes; cChunkDesc::BlockNibbleBytes m_BlockMetas; // The metas are uncompressed, 1 meta per byte - cChunkDef::HeightMap m_HeightMap; - } ; + cChunkDef::HeightMap m_HeightMap; + }; // To avoid moving large amounts of data for the MRU behavior, we MRU-ize indices to an array of the actual data - int m_CacheSize; - int * m_CacheOrder; // MRU-ized order, indices into m_CacheData array - sCacheData * m_CacheData; // m_CacheData[m_CacheOrder[0]] is the most recently used + int m_CacheSize; + int * m_CacheOrder; // MRU-ized order, indices into m_CacheData array + sCacheData * m_CacheData; // m_CacheData[m_CacheOrder[0]] is the most recently used // Cache statistics int m_NumHits; int m_NumMisses; int m_TotalChain; // Number of cache items walked to get to a hit (only added for hits) -} ; +}; diff --git a/src/Generating/CompoGenBiomal.cpp b/src/Generating/CompoGenBiomal.cpp index 967a4a89c..eea38be8a 100644 --- a/src/Generating/CompoGenBiomal.cpp +++ b/src/Generating/CompoGenBiomal.cpp @@ -24,10 +24,10 @@ Each pattern has 256 blocks so that there's no need to check pattern bounds when pattern - there will always be enough pattern left, even for the whole-chunk-height columns. */ class cPattern { -public: + public: struct BlockInfo { - BLOCKTYPE m_BlockType = E_BLOCK_STONE; + BLOCKTYPE m_BlockType = E_BLOCK_STONE; NIBBLETYPE m_BlockMeta = 0; }; @@ -47,9 +47,9 @@ public: const BlockInfo * Get(void) const { return m_Pattern; } -protected: + protected: BlockInfo m_Pattern[cChunkDef::Height] = {}; -} ; +}; @@ -58,97 +58,81 @@ protected: //////////////////////////////////////////////////////////////////////////////// // Land top block patterns: -static constexpr cPattern patGrass = -{ +static constexpr cPattern patGrass = { {E_BLOCK_GRASS, 0}, - {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, - {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, - {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, -} ; + {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, + {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, + {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, +}; -static constexpr cPattern patSand = -{ - { E_BLOCK_SAND, 0}, - { E_BLOCK_SAND, 0}, - { E_BLOCK_SAND, 0}, - { E_BLOCK_SANDSTONE, 0}, -} ; +static constexpr cPattern patSand = { + {E_BLOCK_SAND, 0}, + {E_BLOCK_SAND, 0}, + {E_BLOCK_SAND, 0}, + {E_BLOCK_SANDSTONE, 0}, +}; -static constexpr cPattern patDirt = -{ +static constexpr cPattern patDirt = { {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, -} ; +}; -static constexpr cPattern patPodzol = -{ +static constexpr cPattern patPodzol = { {E_BLOCK_DIRT, E_META_DIRT_PODZOL}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, -} ; +}; -static constexpr cPattern patGrassLess = -{ +static constexpr cPattern patGrassLess = { {E_BLOCK_DIRT, E_META_DIRT_GRASSLESS}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, {E_BLOCK_DIRT, E_META_DIRT_NORMAL}, -} ; +}; -static constexpr cPattern patMycelium = -{ +static constexpr cPattern patMycelium = { {E_BLOCK_MYCELIUM, 0}, - {E_BLOCK_DIRT, 0}, - {E_BLOCK_DIRT, 0}, - {E_BLOCK_DIRT, 0}, -} ; + {E_BLOCK_DIRT, 0}, + {E_BLOCK_DIRT, 0}, + {E_BLOCK_DIRT, 0}, +}; -static constexpr cPattern patGravel = -{ +static constexpr cPattern patGravel = { {E_BLOCK_GRAVEL, 0}, {E_BLOCK_GRAVEL, 0}, {E_BLOCK_GRAVEL, 0}, - {E_BLOCK_STONE, 0}, -} ; + {E_BLOCK_STONE, 0}, +}; -static constexpr cPattern patStone = -{ - {E_BLOCK_STONE, 0}, - {E_BLOCK_STONE, 0}, - {E_BLOCK_STONE, 0}, - {E_BLOCK_STONE, 0}, -} ; +static constexpr cPattern patStone = { + {E_BLOCK_STONE, 0}, + {E_BLOCK_STONE, 0}, + {E_BLOCK_STONE, 0}, + {E_BLOCK_STONE, 0}, +}; //////////////////////////////////////////////////////////////////////////////// // Ocean floor patterns: -static constexpr cPattern patOFSand = -{ - {E_BLOCK_SAND, 0}, +static constexpr cPattern patOFSand = {{E_BLOCK_SAND, 0}, {E_BLOCK_SAND, 0}, {E_BLOCK_SAND, 0}, {E_BLOCK_SANDSTONE, 0}}; + +static constexpr cPattern patOFClay = { + {E_BLOCK_CLAY, 0}, + {E_BLOCK_CLAY, 0}, {E_BLOCK_SAND, 0}, {E_BLOCK_SAND, 0}, - {E_BLOCK_SANDSTONE, 0} -} ; +}; -static constexpr cPattern patOFClay = -{ - { E_BLOCK_CLAY, 0}, - { E_BLOCK_CLAY, 0}, - { E_BLOCK_SAND, 0}, - { E_BLOCK_SAND, 0}, -} ; - -static constexpr cPattern patOFOrangeClay = -{ - { E_BLOCK_STAINED_CLAY, E_META_STAINED_GLASS_ORANGE}, - { E_BLOCK_STAINED_CLAY, E_META_STAINED_GLASS_ORANGE}, - { E_BLOCK_STAINED_CLAY, E_META_STAINED_GLASS_ORANGE}, -} ; +static constexpr cPattern patOFOrangeClay = { + {E_BLOCK_STAINED_CLAY, E_META_STAINED_GLASS_ORANGE}, + {E_BLOCK_STAINED_CLAY, E_META_STAINED_GLASS_ORANGE}, + {E_BLOCK_STAINED_CLAY, E_META_STAINED_GLASS_ORANGE}, +}; @@ -157,19 +141,16 @@ static constexpr cPattern patOFOrangeClay = //////////////////////////////////////////////////////////////////////////////// // cCompoGenBiomal: -class cCompoGenBiomal : - public cTerrainCompositionGen +class cCompoGenBiomal : public cTerrainCompositionGen { -public: + public: cCompoGenBiomal(int a_Seed) : - m_SeaLevel(62), - m_OceanFloorSelect(a_Seed + 1), - m_MesaFloor(a_Seed + 2) + m_SeaLevel(62), m_OceanFloorSelect(a_Seed + 1), m_MesaFloor(a_Seed + 2) { initMesaPattern(a_Seed); } -protected: + protected: /** The block height at which water is generated instead of air. */ HEIGHTTYPE m_SeaLevel; @@ -208,11 +189,10 @@ protected: /** Initializes the m_MesaPattern with a pattern based on the generator's seed. */ void initMesaPattern(int a_Seed) { - // In a loop, choose whether to use one, two or three layers of stained clay, then choose a color and width for each layer - // Separate each group with another layer of hardened clay + // In a loop, choose whether to use one, two or three layers of stained clay, then choose a color and width for + // each layer Separate each group with another layer of hardened clay cNoise patternNoise(a_Seed); - static NIBBLETYPE allowedColors[] = - { + static NIBBLETYPE allowedColors[] = { E_META_STAINED_CLAY_YELLOW, E_META_STAINED_CLAY_YELLOW, E_META_STAINED_CLAY_RED, @@ -228,13 +208,22 @@ protected: E_META_STAINED_CLAY_ORANGE, E_META_STAINED_CLAY_ORANGE, E_META_STAINED_CLAY_LIGHTGRAY, - } ; + }; static int layerSizes[] = // Adjust the chance so that thinner layers occur more commonly - { - 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, - 3, 3, - } ; + { + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 2, + 3, + 3, + }; int idx = ARRAYCOUNT(m_MesaPattern) - 1; while (idx >= 0) { @@ -246,13 +235,13 @@ protected: { int numBlocks = layerSizes[(static_cast(rnd) % ARRAYCOUNT(layerSizes))]; NIBBLETYPE Color = allowedColors[static_cast(rnd / 4) % ARRAYCOUNT(allowedColors)]; - if ( - ((numBlocks == 3) && (numLayers == 2)) || // In two-layer mode disallow the 3-high layers: - (Color == E_META_STAINED_CLAY_WHITE)) // White stained clay can ever be only 1 block high + if (((numBlocks == 3) && (numLayers == 2)) || // In two-layer mode disallow the 3-high layers: + (Color == E_META_STAINED_CLAY_WHITE)) // White stained clay can ever be only 1 block high { numBlocks = 1; } - numBlocks = std::min(idx + 1, numBlocks); // Limit by idx so that we don't have to check inside the loop + numBlocks = + std::min(idx + 1, numBlocks); // Limit by idx so that we don't have to check inside the loop rnd /= 32; for (int block = 0; block < numBlocks; block++, idx--) { @@ -341,10 +330,13 @@ protected: case biMegaSpruceTaigaHills: { // Select the pattern to use - podzol, grass or grassless dirt: - NOISE_DATATYPE NoiseX = (static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + a_RelX)) / FrequencyX; - NOISE_DATATYPE NoiseY = (static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + a_RelZ)) / FrequencyZ; + NOISE_DATATYPE NoiseX = + (static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + a_RelX)) / FrequencyX; + NOISE_DATATYPE NoiseY = + (static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + a_RelZ)) / FrequencyZ; NOISE_DATATYPE Val = m_OceanFloorSelect.CubicNoise2D(NoiseX, NoiseY); - const cPattern::BlockInfo * Pattern = (Val < -0.9) ? patGrassLess.Get() : ((Val > 0) ? patPodzol.Get() : patGrass.Get()); + const cPattern::BlockInfo * Pattern = + (Val < -0.9) ? patGrassLess.Get() : ((Val > 0) ? patPodzol.Get() : patGrass.Get()); FillColumnPattern(a_ChunkDesc, a_RelX, a_RelZ, Pattern, a_ShapeColumn); return; } @@ -383,8 +375,10 @@ protected: case biExtremeHillsM: { // Select the pattern to use - gravel, stone or grass: - NOISE_DATATYPE NoiseX = (static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + a_RelX)) / FrequencyX; - NOISE_DATATYPE NoiseY = (static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + a_RelZ)) / FrequencyZ; + NOISE_DATATYPE NoiseX = + (static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + a_RelX)) / FrequencyX; + NOISE_DATATYPE NoiseY = + (static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + a_RelZ)) / FrequencyZ; NOISE_DATATYPE Val = m_OceanFloorSelect.CubicNoise2D(NoiseX, NoiseY); const cPattern::BlockInfo * Pattern = (Val < 0.0) ? patStone.Get() : patGrass.Get(); FillColumnPattern(a_ChunkDesc, a_RelX, a_RelZ, Pattern, a_ShapeColumn); @@ -409,7 +403,13 @@ protected: /** Fills the specified column with the specified pattern; restarts the pattern when air is reached, switches to ocean floor pattern if ocean is reached. Always adds bedrock at the very bottom. */ - void FillColumnPattern(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelZ, const cPattern::BlockInfo * a_Pattern, const Byte * a_ShapeColumn) + void FillColumnPattern( + cChunkDesc & a_ChunkDesc, + int a_RelX, + int a_RelZ, + const cPattern::BlockInfo * a_Pattern, + const Byte * a_ShapeColumn + ) { bool HasHadWater = false; int PatternIdx = 0; @@ -424,7 +424,13 @@ protected: if (a_ShapeColumn[y] > 0) { // "ground" part, use the pattern: - a_ChunkDesc.SetBlockTypeMeta(a_RelX, y, a_RelZ, a_Pattern[PatternIdx].m_BlockType, a_Pattern[PatternIdx].m_BlockMeta); + a_ChunkDesc.SetBlockTypeMeta( + a_RelX, + y, + a_RelZ, + a_Pattern[PatternIdx].m_BlockType, + a_Pattern[PatternIdx].m_BlockMeta + ); PatternIdx++; continue; } @@ -476,8 +482,10 @@ protected: return; } - NOISE_DATATYPE NoiseX = (static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + a_RelX)) / FrequencyX; - NOISE_DATATYPE NoiseY = (static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + a_RelZ)) / FrequencyZ; + NOISE_DATATYPE NoiseX = + (static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + a_RelX)) / FrequencyX; + NOISE_DATATYPE NoiseY = + (static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + a_RelZ)) / FrequencyZ; int ClayFloor = m_SeaLevel - 6 + static_cast(4.f * m_MesaFloor.CubicNoise2D(NoiseX, NoiseY)); if (ClayFloor >= Top) { @@ -501,7 +509,8 @@ protected: } // Difficult case: use the mesa pattern and watch for overhangs: - int PatternIdx = cChunkDef::Height - (Top - ClayFloor); // We want the block at index ClayFloor to be pattern's 256th block (first stone) + int PatternIdx = cChunkDef::Height - + (Top - ClayFloor); // We want the block at index ClayFloor to be pattern's 256th block (first stone) const cPattern::BlockInfo * Pattern = m_MesaPattern; bool HasHadWater = false; for (int y = Top; y > 0; y--) @@ -509,7 +518,13 @@ protected: if (a_ShapeColumn[y] > 0) { // "ground" part, use the pattern: - a_ChunkDesc.SetBlockTypeMeta(a_RelX, y, a_RelZ, Pattern[PatternIdx].m_BlockType, Pattern[PatternIdx].m_BlockMeta); + a_ChunkDesc.SetBlockTypeMeta( + a_RelX, + y, + a_RelZ, + Pattern[PatternIdx].m_BlockType, + Pattern[PatternIdx].m_BlockMeta + ); PatternIdx++; continue; } @@ -576,7 +591,7 @@ protected: return patDirt.Get(); } } -} ; +}; diff --git a/src/Generating/ComposableGenerator.cpp b/src/Generating/ComposableGenerator.cpp index 14236a2e1..3c7f44f0a 100644 --- a/src/Generating/ComposableGenerator.cpp +++ b/src/Generating/ComposableGenerator.cpp @@ -1,7 +1,8 @@ // ComposableGenerator.cpp -// Implements the cComposableGenerator class representing the chunk generator that takes the composition approach to generating chunks +// Implements the cComposableGenerator class representing the chunk generator that takes the composition approach to +// generating chunks #include "Globals.h" @@ -115,10 +116,8 @@ std::unique_ptr cTerrainCompositionGen::CreateCompositio //////////////////////////////////////////////////////////////////////////////// // cComposableGenerator: -cComposableGenerator::cComposableGenerator(): - m_BiomeGen(), - m_ShapeGen(), - m_CompositionGen() +cComposableGenerator::cComposableGenerator() : + m_BiomeGen(), m_ShapeGen(), m_CompositionGen() { } @@ -205,10 +204,12 @@ void cComposableGenerator::InitializeGeneratorDefaults(cIniFile & a_IniFile, eDi { case dimOverworld: { - a_IniFile.GetValueSet("Generator", "BiomeGen", "Grown"); - a_IniFile.GetValueSet("Generator", "ShapeGen", "BiomalNoise3D"); + a_IniFile.GetValueSet("Generator", "BiomeGen", "Grown"); + a_IniFile.GetValueSet("Generator", "ShapeGen", "BiomalNoise3D"); a_IniFile.GetValueSet("Generator", "CompositionGen", "Biomal"); - a_IniFile.GetValueSet("Generator", "Finishers", + a_IniFile.GetValueSet( + "Generator", + "Finishers", "RoughRavines, " "WormNestCaves, " "WaterLakes, " @@ -238,14 +239,16 @@ void cComposableGenerator::InitializeGeneratorDefaults(cIniFile & a_IniFile, eDi case dimNether: { - a_IniFile.GetValueSet("Generator", "Generator", "Composable"); - a_IniFile.GetValueSet("Generator", "BiomeGen", "Constant"); - a_IniFile.GetValueSet("Generator", "ConstantBiome", "Nether"); - a_IniFile.GetValueSet("Generator", "ShapeGen", "HeightMap"); - a_IniFile.GetValueSet("Generator", "HeightGen", "Flat"); - a_IniFile.GetValueSet("Generator", "FlatHeight", "128"); - a_IniFile.GetValueSet("Generator", "CompositionGen", "Nether"); - a_IniFile.GetValueSet("Generator", "Finishers", + a_IniFile.GetValueSet("Generator", "Generator", "Composable"); + a_IniFile.GetValueSet("Generator", "BiomeGen", "Constant"); + a_IniFile.GetValueSet("Generator", "ConstantBiome", "Nether"); + a_IniFile.GetValueSet("Generator", "ShapeGen", "HeightMap"); + a_IniFile.GetValueSet("Generator", "HeightGen", "Flat"); + a_IniFile.GetValueSet("Generator", "FlatHeight", "128"); + a_IniFile.GetValueSet("Generator", "CompositionGen", "Nether"); + a_IniFile.GetValueSet( + "Generator", + "Finishers", "SoulsandRims, " "WormNestCaves, " "BottomLava, " @@ -254,17 +257,18 @@ void cComposableGenerator::InitializeGeneratorDefaults(cIniFile & a_IniFile, eDi "NetherOreNests, " "PieceStructures: NetherFort, " "GlowStone, " - "PreSimulator"); + "PreSimulator" + ); break; } // dimNether case dimEnd: { - a_IniFile.GetValueSet("Generator", "BiomeGen", "Constant"); - a_IniFile.GetValueSet("Generator", "ConstantBiome", "End"); - a_IniFile.GetValueSet("Generator", "ShapeGen", "End"); + a_IniFile.GetValueSet("Generator", "BiomeGen", "Constant"); + a_IniFile.GetValueSet("Generator", "ConstantBiome", "End"); + a_IniFile.GetValueSet("Generator", "ShapeGen", "End"); a_IniFile.GetValueSet("Generator", "CompositionGen", "End"); - a_IniFile.GetValueSet("Generator", "Finishers", "EnderDragonFightStructures"); + a_IniFile.GetValueSet("Generator", "Finishers", "EnderDragonFightStructures"); break; } // dimEnd @@ -295,8 +299,10 @@ void cComposableGenerator::InitBiomeGen(cIniFile & a_IniFile) int MultiCacheLength = a_IniFile.GetValueSetI("Generator", "BiomeGenMultiCacheLength", 128); if (CacheSize < 4) { - LOGWARNING("Biomegen cache size set too low, would hurt performance instead of helping. Increasing from %d to %d", - CacheSize, 4 + LOGWARNING( + "Biomegen cache size set too low, would hurt performance instead of helping. Increasing from %d to %d", + CacheSize, + 4 ); CacheSize = 4; } @@ -304,7 +310,11 @@ void cComposableGenerator::InitBiomeGen(cIniFile & a_IniFile) if (MultiCacheLength > 0) { LOGD("Enabling multicache for biomegen of length %d.", MultiCacheLength); - m_BiomeGen = std::make_unique(std::move(m_BiomeGen), static_cast(CacheSize), static_cast(MultiCacheLength)); + m_BiomeGen = std::make_unique( + std::move(m_BiomeGen), + static_cast(CacheSize), + static_cast(MultiCacheLength) + ); } else { @@ -319,12 +329,7 @@ void cComposableGenerator::InitBiomeGen(cIniFile & a_IniFile) void cComposableGenerator::InitShapeGen(cIniFile & a_IniFile) { bool CacheOffByDefault = false; - m_ShapeGen = cTerrainShapeGen::CreateShapeGen( - a_IniFile, - *m_BiomeGen, - m_Seed, - CacheOffByDefault - ); + m_ShapeGen = cTerrainShapeGen::CreateShapeGen(a_IniFile, *m_BiomeGen, m_Seed, CacheOffByDefault); /* // TODO @@ -334,8 +339,8 @@ void cComposableGenerator::InitShapeGen(cIniFile & a_IniFile) { if (CacheSize < 4) { - LOGWARNING("Heightgen cache size set too low, would hurt performance instead of helping. Increasing from %d to %d", - CacheSize, 4 + LOGWARNING("Heightgen cache size set too low, would hurt performance instead of helping. Increasing from %d + to %d", CacheSize, 4 ); CacheSize = 4; } @@ -351,12 +356,7 @@ void cComposableGenerator::InitShapeGen(cIniFile & a_IniFile) void cComposableGenerator::InitCompositionGen(cIniFile & a_IniFile) { - m_CompositionGen = cTerrainCompositionGen::CreateCompositionGen( - a_IniFile, - *m_BiomeGen, - *m_ShapeGen, - m_Seed - ); + m_CompositionGen = cTerrainCompositionGen::CreateCompositionGen(a_IniFile, *m_BiomeGen, *m_ShapeGen, m_Seed); // Add a cache over the composition generator: // Even a cache of size 1 is useful due to the CompositedHeiGen cache after us doing re-composition on its misses @@ -367,7 +367,11 @@ void cComposableGenerator::InitCompositionGen(cIniFile & a_IniFile) } // Create a cache of the composited heightmaps, so that finishers may use it: - m_CompositedHeightCache = std::make_unique(std::make_unique(*m_BiomeGen, *m_ShapeGen, *m_CompositionGen), 16, 128); + m_CompositedHeightCache = std::make_unique( + std::make_unique(*m_BiomeGen, *m_ShapeGen, *m_CompositionGen), + 16, + 128 + ); // 128 subcaches of depth 16 each = 0.5 MiB of RAM. Acceptable, for the amount of work this saves. } @@ -423,7 +427,9 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) AllowedBlocks.push_back(E_BLOCK_HARDENED_CLAY); AllowedBlocks.push_back(E_BLOCK_STAINED_CLAY); - m_FinishGens.push_back(std::make_unique(m_Seed, E_BLOCK_DEAD_BUSH, AllowedBiomes, 2, AllowedBlocks)); + m_FinishGens.push_back( + std::make_unique(m_Seed, E_BLOCK_DEAD_BUSH, AllowedBiomes, 2, AllowedBlocks) + ); } else if (NoCaseCompare(finisher, "DirectOverhangs") == 0) { @@ -431,7 +437,8 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) } else if (NoCaseCompare(finisher, "DirtPockets") == 0) { - auto Gen = std::make_unique(m_Seed + 1, cFinishGenOrePockets::DefaultNaturalPatches()); + auto Gen = + std::make_unique(m_Seed + 1, cFinishGenOrePockets::DefaultNaturalPatches()); Gen->Initialize(a_IniFile, "DirtPockets"); m_FinishGens.push_back(std::move(Gen)); } @@ -446,19 +453,28 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) } else if (NoCaseCompare(finisher, "DungeonRooms") == 0) { - int GridSize = a_IniFile.GetValueSetI("Generator", "DungeonRoomsGridSize", 48); - int MaxSize = a_IniFile.GetValueSetI("Generator", "DungeonRoomsMaxSize", 7); - int MinSize = a_IniFile.GetValueSetI("Generator", "DungeonRoomsMinSize", 5); - AString HeightDistrib = a_IniFile.GetValueSet ("Generator", "DungeonRoomsHeightDistrib", "0, 0; 10, 10; 11, 500; 40, 500; 60, 40; 90, 1"); - m_FinishGens.push_back(std::make_unique(*m_ShapeGen, m_Seed, GridSize, MaxSize, MinSize, HeightDistrib)); + int GridSize = a_IniFile.GetValueSetI("Generator", "DungeonRoomsGridSize", 48); + int MaxSize = a_IniFile.GetValueSetI("Generator", "DungeonRoomsMaxSize", 7); + int MinSize = a_IniFile.GetValueSetI("Generator", "DungeonRoomsMinSize", 5); + AString HeightDistrib = a_IniFile.GetValueSet( + "Generator", + "DungeonRoomsHeightDistrib", + "0, 0; 10, 10; 11, 500; 40, 500; 60, 40; 90, 1" + ); + m_FinishGens.push_back( + std::make_unique(*m_ShapeGen, m_Seed, GridSize, MaxSize, MinSize, HeightDistrib) + ); } else if (NoCaseCompare(finisher, "EnderDragonFightStructures") == 0) { - AString Pillars = a_IniFile.GetValueSet("Generator", "ObsidianPillars", + AString Pillars = a_IniFile.GetValueSet( + "Generator", + "ObsidianPillars", "76|3|false; 79|3|true; 82|3|true; " "85|4|false; 88|4|false; 91|4|false; " "94|5|false; 97|5|false; 100|5|false; " - "103|6|false"); + "103|6|false" + ); int Radius = a_IniFile.GetValueSetI("Generator", "ObsidianPillarsRadius", 43); auto Gen = std::make_unique(m_Seed); Gen->Init(Pillars, Radius); @@ -479,11 +495,15 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) else if (NoCaseCompare(finisher, "LavaLakes") == 0) { int Probability = a_IniFile.GetValueSetI("Generator", "LavaLakesProbability", 10); - m_FinishGens.push_back(std::make_unique(m_Seed * 5 + 16873, E_BLOCK_STATIONARY_LAVA, *m_ShapeGen, Probability)); + m_FinishGens.push_back( + std::make_unique(m_Seed * 5 + 16873, E_BLOCK_STATIONARY_LAVA, *m_ShapeGen, Probability) + ); } else if (NoCaseCompare(finisher, "LavaSprings") == 0) { - m_FinishGens.push_back(std::make_unique(m_Seed, E_BLOCK_LAVA, a_IniFile, m_Dimension)); + m_FinishGens.push_back( + std::make_unique(m_Seed, E_BLOCK_LAVA, a_IniFile, m_Dimension) + ); } else if (NoCaseCompare(finisher, "Lilypads") == 0) { @@ -497,7 +517,9 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) AllowedBlocks.push_back(E_BLOCK_WATER); AllowedBlocks.push_back(E_BLOCK_STATIONARY_WATER); - m_FinishGens.push_back(std::make_unique(m_Seed, E_BLOCK_LILY_PAD, AllowedBiomes, 4, AllowedBlocks)); + m_FinishGens.push_back( + std::make_unique(m_Seed, E_BLOCK_LILY_PAD, AllowedBiomes, 4, AllowedBlocks) + ); } else if (NoCaseCompare(finisher, "MarbleCaves") == 0) { @@ -505,20 +527,27 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) } else if (NoCaseCompare(finisher, "MineShafts") == 0) { - int GridSize = a_IniFile.GetValueSetI("Generator", "MineShaftsGridSize", 512); - int MaxOffset = a_IniFile.GetValueSetI("Generator", "MineShaftsMaxOffset", 256); - int MaxSystemSize = a_IniFile.GetValueSetI("Generator", "MineShaftsMaxSystemSize", 160); - int ChanceCorridor = a_IniFile.GetValueSetI("Generator", "MineShaftsChanceCorridor", 600); - int ChanceCrossing = a_IniFile.GetValueSetI("Generator", "MineShaftsChanceCrossing", 200); + int GridSize = a_IniFile.GetValueSetI("Generator", "MineShaftsGridSize", 512); + int MaxOffset = a_IniFile.GetValueSetI("Generator", "MineShaftsMaxOffset", 256); + int MaxSystemSize = a_IniFile.GetValueSetI("Generator", "MineShaftsMaxSystemSize", 160); + int ChanceCorridor = a_IniFile.GetValueSetI("Generator", "MineShaftsChanceCorridor", 600); + int ChanceCrossing = a_IniFile.GetValueSetI("Generator", "MineShaftsChanceCrossing", 200); int ChanceStaircase = a_IniFile.GetValueSetI("Generator", "MineShaftsChanceStaircase", 200); m_FinishGens.push_back(std::make_unique( - m_Seed, GridSize, MaxOffset, MaxSystemSize, - ChanceCorridor, ChanceCrossing, ChanceStaircase + m_Seed, + GridSize, + MaxOffset, + MaxSystemSize, + ChanceCorridor, + ChanceCrossing, + ChanceStaircase )); } else if (NoCaseCompare(finisher, "NaturalPatches") == 0) { - m_FinishGens.push_back(std::make_unique(m_Seed + 1, cFinishGenOreNests::DefaultNaturalPatches())); + m_FinishGens.push_back( + std::make_unique(m_Seed + 1, cFinishGenOreNests::DefaultNaturalPatches()) + ); } else if (NoCaseCompare(finisher, "NetherClumpFoliage") == 0) { @@ -526,11 +555,15 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) } else if (NoCaseCompare(finisher, "NetherOreNests") == 0) { - m_FinishGens.push_back(std::make_unique(m_Seed + 2, cFinishGenOreNests::DefaultNetherOres())); + m_FinishGens.push_back( + std::make_unique(m_Seed + 2, cFinishGenOreNests::DefaultNetherOres()) + ); } else if (NoCaseCompare(finisher, "OreNests") == 0) { - m_FinishGens.push_back(std::make_unique(m_Seed + 3, cFinishGenOreNests::DefaultOverworldOres())); + m_FinishGens.push_back( + std::make_unique(m_Seed + 3, cFinishGenOreNests::DefaultOverworldOres()) + ); } else if (NoCaseCompare(finisher, "OrePockets") == 0) { @@ -547,7 +580,8 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) { if (split.size() < 2) { - LOGWARNING("The PieceStructures generator needs the structures to use. Example: \"PieceStructures: NetherFort\"."); + LOGWARNING("The PieceStructures generator needs the structures to use. Example: \"PieceStructures: " + "NetherFort\"."); continue; } @@ -561,10 +595,12 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) { // Load the settings bool PreSimulateFallingBlocks = a_IniFile.GetValueSetB("Generator", "PreSimulatorFallingBlocks", true); - bool PreSimulateWater = a_IniFile.GetValueSetB("Generator", "PreSimulatorWater", true); - bool PreSimulateLava = a_IniFile.GetValueSetB("Generator", "PreSimulatorLava", true); + bool PreSimulateWater = a_IniFile.GetValueSetB("Generator", "PreSimulatorWater", true); + bool PreSimulateLava = a_IniFile.GetValueSetB("Generator", "PreSimulatorLava", true); - m_FinishGens.push_back(std::make_unique(PreSimulateFallingBlocks, PreSimulateWater, PreSimulateLava)); + m_FinishGens.push_back( + std::make_unique(PreSimulateFallingBlocks, PreSimulateWater, PreSimulateLava) + ); } else if (NoCaseCompare(finisher, "Ravines") == 0) { @@ -572,24 +608,28 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) } else if (NoCaseCompare(finisher, "RoughRavines") == 0) { - int GridSize = a_IniFile.GetValueSetI("Generator", "RoughRavinesGridSize", 256); - int MaxOffset = a_IniFile.GetValueSetI("Generator", "RoughRavinesMaxOffset", 128); - int MaxSize = a_IniFile.GetValueSetI("Generator", "RoughRavinesMaxSize", 128); - int MinSize = a_IniFile.GetValueSetI("Generator", "RoughRavinesMinSize", 64); - double MaxCenterWidth = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxCenterWidth", 8); - double MinCenterWidth = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinCenterWidth", 2); - double MaxRoughness = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxRoughness", 0.2); - double MinRoughness = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinRoughness", 0.05); - double MaxFloorHeightEdge = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxFloorHeightEdge", 8); - double MinFloorHeightEdge = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinFloorHeightEdge", 30); - double MaxFloorHeightCenter = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxFloorHeightCenter", 20); - double MinFloorHeightCenter = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinFloorHeightCenter", 6); - double MaxCeilingHeightEdge = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxCeilingHeightEdge", 56); - double MinCeilingHeightEdge = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinCeilingHeightEdge", 38); - double MaxCeilingHeightCenter = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxCeilingHeightCenter", 58); - double MinCeilingHeightCenter = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinCeilingHeightCenter", 36); + int GridSize = a_IniFile.GetValueSetI("Generator", "RoughRavinesGridSize", 256); + int MaxOffset = a_IniFile.GetValueSetI("Generator", "RoughRavinesMaxOffset", 128); + int MaxSize = a_IniFile.GetValueSetI("Generator", "RoughRavinesMaxSize", 128); + int MinSize = a_IniFile.GetValueSetI("Generator", "RoughRavinesMinSize", 64); + double MaxCenterWidth = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxCenterWidth", 8); + double MinCenterWidth = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinCenterWidth", 2); + double MaxRoughness = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxRoughness", 0.2); + double MinRoughness = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinRoughness", 0.05); + double MaxFloorHeightEdge = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxFloorHeightEdge", 8); + double MinFloorHeightEdge = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinFloorHeightEdge", 30); + double MaxFloorHeightCenter = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxFloorHeightCenter", 20); + double MinFloorHeightCenter = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinFloorHeightCenter", 6); + double MaxCeilingHeightEdge = a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxCeilingHeightEdge", 56); + double MinCeilingHeightEdge = a_IniFile.GetValueSetF("Generator", "RoughRavinesMinCeilingHeightEdge", 38); + double MaxCeilingHeightCenter = + a_IniFile.GetValueSetF("Generator", "RoughRavinesMaxCeilingHeightCenter", 58); + double MinCeilingHeightCenter = + a_IniFile.GetValueSetF("Generator", "RoughRavinesMinCeilingHeightCenter", 36); m_FinishGens.push_back(std::make_unique( - m_Seed, MaxSize, MinSize, + m_Seed, + MaxSize, + MinSize, static_cast(MaxCenterWidth), static_cast(MinCenterWidth), static_cast(MaxRoughness), @@ -602,14 +642,16 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) static_cast(MinCeilingHeightEdge), static_cast(MaxCeilingHeightCenter), static_cast(MinCeilingHeightCenter), - GridSize, MaxOffset + GridSize, + MaxOffset )); } else if (NoCaseCompare(finisher, "SinglePieceStructures") == 0) { if (split.size() < 2) { - LOGWARNING("The SinglePieceStructures generator needs the structures to use. Example: \"SinglePieceStructures: DesertPyramid\"."); + LOGWARNING("The SinglePieceStructures generator needs the structures to use. Example: " + "\"SinglePieceStructures: DesertPyramid\"."); continue; } @@ -629,9 +671,11 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) } else if (NoCaseCompare(finisher, "SprinkleFoliage") == 0) { - int MaxCactusHeight = a_IniFile.GetValueI("Plants", "MaxCactusHeight", 3); - int MaxSugarcaneHeight = a_IniFile.GetValueI("Plants", "MaxSugarcaneHeight", 3); - m_FinishGens.push_back(std::make_unique(m_Seed, MaxCactusHeight, MaxSugarcaneHeight)); + int MaxCactusHeight = a_IniFile.GetValueI("Plants", "MaxCactusHeight", 3); + int MaxSugarcaneHeight = a_IniFile.GetValueI("Plants", "MaxSugarcaneHeight", 3); + m_FinishGens.push_back( + std::make_unique(m_Seed, MaxCactusHeight, MaxSugarcaneHeight) + ); } else if (NoCaseCompare(finisher, "TallGrass") == 0) { @@ -639,19 +683,33 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) } else if (NoCaseCompare(finisher, "Trees") == 0) { - m_FinishGens.push_back(std::make_unique(m_Seed, *m_BiomeGen, *m_ShapeGen, *m_CompositionGen)); + m_FinishGens.push_back( + std::make_unique(m_Seed, *m_BiomeGen, *m_ShapeGen, *m_CompositionGen) + ); } else if (NoCaseCompare(finisher, "Villages") == 0) { - int GridSize = a_IniFile.GetValueSetI("Generator", "VillageGridSize", 384); - int MaxOffset = a_IniFile.GetValueSetI("Generator", "VillageMaxOffset", 128); - int MaxDepth = a_IniFile.GetValueSetI("Generator", "VillageMaxDepth", 2); - int MaxSize = a_IniFile.GetValueSetI("Generator", "VillageMaxSize", 128); + int GridSize = a_IniFile.GetValueSetI("Generator", "VillageGridSize", 384); + int MaxOffset = a_IniFile.GetValueSetI("Generator", "VillageMaxOffset", 128); + int MaxDepth = a_IniFile.GetValueSetI("Generator", "VillageMaxDepth", 2); + int MaxSize = a_IniFile.GetValueSetI("Generator", "VillageMaxSize", 128); int MinDensity = a_IniFile.GetValueSetI("Generator", "VillageMinDensity", 50); int MaxDensity = a_IniFile.GetValueSetI("Generator", "VillageMaxDensity", 80); AString PrefabList = a_IniFile.GetValueSet("Generator", "VillagePrefabs", "PlainsVillage, SandVillage"); auto Prefabs = StringSplitAndTrim(PrefabList, ","); - m_FinishGens.push_back(std::make_unique(m_Seed, GridSize, MaxOffset, MaxDepth, MaxSize, MinDensity, MaxDensity, *m_BiomeGen, *m_CompositedHeightCache, seaLevel, Prefabs)); + m_FinishGens.push_back(std::make_unique( + m_Seed, + GridSize, + MaxOffset, + MaxDepth, + MaxSize, + MinDensity, + MaxDensity, + *m_BiomeGen, + *m_CompositedHeightCache, + seaLevel, + Prefabs + )); } else if (NoCaseCompare(finisher, "Vines") == 0) { @@ -661,16 +719,20 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) else if (NoCaseCompare(finisher, "WaterLakes") == 0) { int Probability = a_IniFile.GetValueSetI("Generator", "WaterLakesProbability", 25); - m_FinishGens.push_back(std::make_unique(m_Seed * 3 + 652, E_BLOCK_STATIONARY_WATER, *m_ShapeGen, Probability)); + m_FinishGens.push_back( + std::make_unique(m_Seed * 3 + 652, E_BLOCK_STATIONARY_WATER, *m_ShapeGen, Probability) + ); } else if (NoCaseCompare(finisher, "WaterSprings") == 0) { - m_FinishGens.push_back(std::make_unique(m_Seed, E_BLOCK_WATER, a_IniFile, m_Dimension)); + m_FinishGens.push_back( + std::make_unique(m_Seed, E_BLOCK_WATER, a_IniFile, m_Dimension) + ); } else if (NoCaseCompare(finisher, "WormNestCaves") == 0) { - int Size = a_IniFile.GetValueSetI("Generator", "WormNestCavesSize", 64); - int Grid = a_IniFile.GetValueSetI("Generator", "WormNestCavesGrid", 96); + int Size = a_IniFile.GetValueSetI("Generator", "WormNestCavesSize", 64); + int Grid = a_IniFile.GetValueSetI("Generator", "WormNestCavesGrid", 96); int MaxOffset = a_IniFile.GetValueSetI("Generator", "WormNestMaxOffset", 32); m_FinishGens.push_back(std::make_unique(m_Seed, Size, Grid, MaxOffset)); } diff --git a/src/Generating/ComposableGenerator.h b/src/Generating/ComposableGenerator.h index 4105fbf83..0a7d99b7d 100644 --- a/src/Generating/ComposableGenerator.h +++ b/src/Generating/ComposableGenerator.h @@ -1,7 +1,8 @@ // ComposableGenerator.h -// Declares the cComposableGenerator class representing the chunk generator that takes the composition approach to generating chunks +// Declares the cComposableGenerator class representing the chunk generator that takes the composition approach to +// generating chunks /* Generating works by composing several algorithms: @@ -41,7 +42,7 @@ The output array is sequenced in the same way as the MapChunk packet's biome dat */ class cBiomeGen { -public: + public: virtual ~cBiomeGen() {} // Force a virtual destructor in descendants /** Generates biomes for the given chunk */ @@ -55,12 +56,8 @@ public: a_CacheOffByDefault gets set to whether the cache should be disabled by default. Used in BiomeVisualiser, too. Implemented in BioGen.cpp! */ - static std::unique_ptr CreateBiomeGen( - cIniFile & a_IniFile, - int a_Seed, - bool & a_CacheOffByDefault - ); -} ; + static std::unique_ptr CreateBiomeGen(cIniFile & a_IniFile, int a_Seed, bool & a_CacheOffByDefault); +}; @@ -70,14 +67,14 @@ public: A terrain shape generator takes chunk coords on input and outputs a 3D array of "shape" for that chunk. The shape here represents the distinction between air and solid; there's no representation of Water since that is added by the composition geenrator. -The output array is indexed [y + 256 * z + 16 * 256 * x], so that it's fast to later compose a single column of the terrain, -which is the dominant operation following the shape generation. -The generator may request biome information from the underlying BiomeGen, it may even request information for -other chunks than the one it's currently generating (neighbors - for averaging) +The output array is indexed [y + 256 * z + 16 * 256 * x], so that it's fast to later compose a single column of the +terrain, which is the dominant operation following the shape generation. The generator may request biome information +from the underlying BiomeGen, it may even request information for other chunks than the one it's currently generating +(neighbors - for averaging) */ class cTerrainShapeGen { -public: + public: virtual ~cTerrainShapeGen() {} // Force a virtual destructor in descendants /** Generates the shape for the given chunk */ @@ -87,9 +84,9 @@ public: virtual void InitializeShapeGen(cIniFile & a_IniFile) {} /** Creates the correct TerrainShapeGen descendant based on the ini file settings and the seed provided. - a_BiomeGen is the underlying biome generator, some shape generators may depend on it providing additional biomes data around the chunk - a_CacheOffByDefault gets set to whether the cache should be disabled by default - Implemented in ShapeGen.cpp! + a_BiomeGen is the underlying biome generator, some shape generators may depend on it providing additional biomes + data around the chunk a_CacheOffByDefault gets set to whether the cache should be disabled by default Implemented in + ShapeGen.cpp! */ static std::unique_ptr CreateShapeGen( cIniFile & a_IniFile, @@ -97,7 +94,7 @@ public: int a_Seed, bool & a_CacheOffByDefault ); -} ; +}; @@ -109,7 +106,7 @@ consume the heightmap is wasteful, so this interface is used instead; it has a c that data is retained. */ class cTerrainHeightGen { -public: + public: virtual ~cTerrainHeightGen() {} // Force a virtual destructor in descendants /** Retrieves the heightmap for the specified chunk. */ @@ -126,7 +123,11 @@ public: auto chunkCoords = cChunkDef::BlockToChunk({a_BlockX, 0, a_BlockZ}); cChunkDef::HeightMap heightMap; GenHeightMap(chunkCoords, heightMap); - return cChunkDef::GetHeight(heightMap, a_BlockX - chunkCoords.m_ChunkX * cChunkDef::Width, a_BlockZ - chunkCoords.m_ChunkZ * cChunkDef::Width); + return cChunkDef::GetHeight( + heightMap, + a_BlockX - chunkCoords.m_ChunkX * cChunkDef::Width, + a_BlockZ - chunkCoords.m_ChunkZ * cChunkDef::Width + ); } /** Creates a cTerrainHeightGen descendant based on the INI file settings. */ @@ -136,7 +137,7 @@ public: int a_Seed, bool & a_CacheOffByDefault ); -} ; +}; @@ -149,7 +150,7 @@ but it may request information for other chunks than the one it's currently gene */ class cTerrainCompositionGen { -public: + public: virtual ~cTerrainCompositionGen() {} // Force a virtual destructor in descendants /** Generates the chunk's composition into a_ChunkDesc, using the terrain shape provided in a_Shape. @@ -160,15 +161,16 @@ public: virtual void InitializeCompoGen(cIniFile & a_IniFile) {} /** Creates the correct TerrainCompositionGen descendant based on the ini file settings and the seed provided. - a_BiomeGen is the underlying biome generator, some composition generators may depend on it providing additional biomes around the chunk - a_ShapeGen is the underlying shape generator, some composition generators may depend on it providing additional shape around the chunk. */ + a_BiomeGen is the underlying biome generator, some composition generators may depend on it providing additional + biomes around the chunk a_ShapeGen is the underlying shape generator, some composition generators may depend on it + providing additional shape around the chunk. */ static std::unique_ptr CreateCompositionGen( cIniFile & a_IniFile, cBiomeGen & a_BiomeGen, cTerrainShapeGen & a_ShapeGen, int a_Seed ); -} ; +}; @@ -183,23 +185,21 @@ no longer relevant, all structure generators are considered finishers now (#398) */ class cFinishGen { -public: + public: virtual ~cFinishGen() {} // Force a virtual destructor in descendants virtual void GenFinish(cChunkDesc & a_ChunkDesc) = 0; -} ; +}; -class cComposableGenerator: - public cChunkGenerator +class cComposableGenerator : public cChunkGenerator { using Super = cChunkGenerator; -public: - + public: cComposableGenerator(); // cChunkGenerator::cGenerator overrides: @@ -212,8 +212,7 @@ public: static void InitializeGeneratorDefaults(cIniFile & a_IniFile, eDimension a_Dimension); -protected: - + protected: // The generator's composition: /** The biome generator. */ std::unique_ptr m_BiomeGen; @@ -242,4 +241,4 @@ protected: /** Reads the finishers from the ini and initializes m_FinishGens accordingly */ void InitFinishGens(cIniFile & a_IniFile); -} ; +}; diff --git a/src/Generating/CompositedHeiGen.h b/src/Generating/CompositedHeiGen.h index 6107d33ae..3153991b7 100644 --- a/src/Generating/CompositedHeiGen.h +++ b/src/Generating/CompositedHeiGen.h @@ -1,8 +1,9 @@ // CompositedHeiGen.h -// Declares the cCompositedHeiGen class representing a cTerrainHeightGen descendant that calculates heightmap of the composited terrain -// This is used to further cache heightmaps for chunks already generated for finishers that require only heightmap information +// Declares the cCompositedHeiGen class representing a cTerrainHeightGen descendant that calculates heightmap of the +// composited terrain This is used to further cache heightmaps for chunks already generated for finishers that require +// only heightmap information @@ -16,14 +17,15 @@ -class cCompositedHeiGen: - public cTerrainHeightGen +class cCompositedHeiGen : public cTerrainHeightGen { -public: - cCompositedHeiGen(cBiomeGen & a_BiomeGen, cTerrainShapeGen & a_ShapeGen, cTerrainCompositionGen & a_CompositionGen): - m_BiomeGen(a_BiomeGen), - m_ShapeGen(a_ShapeGen), - m_CompositionGen(a_CompositionGen) + public: + cCompositedHeiGen( + cBiomeGen & a_BiomeGen, + cTerrainShapeGen & a_ShapeGen, + cTerrainCompositionGen & a_CompositionGen + ) : + m_BiomeGen(a_BiomeGen), m_ShapeGen(a_ShapeGen), m_CompositionGen(a_CompositionGen) { } @@ -41,7 +43,7 @@ public: memcpy(a_HeightMap, desc.GetHeightMap(), sizeof(a_HeightMap)); } -protected: + protected: cBiomeGen & m_BiomeGen; cTerrainShapeGen & m_ShapeGen; cTerrainCompositionGen & m_CompositionGen; diff --git a/src/Generating/DistortedHeightmap.cpp b/src/Generating/DistortedHeightmap.cpp index 32b1a3a18..ce56148bf 100644 --- a/src/Generating/DistortedHeightmap.cpp +++ b/src/Generating/DistortedHeightmap.cpp @@ -23,96 +23,188 @@ Usually you'd want to keep both numbers the same. The numbers are "relative", not absolute maximum; overhangs of a slightly larger size are possible due to the way that noise is calculated. */ -const cDistortedHeightmap::sGenParam cDistortedHeightmap::m_GenParam[256] = -{ +const cDistortedHeightmap::sGenParam cDistortedHeightmap::m_GenParam[256] = { /* Biome | AmpX | AmpZ */ - /* biOcean */ { 1.5f, 1.5f}, - /* biPlains */ { 0.5f, 0.5f}, - /* biDesert */ { 0.5f, 0.5f}, + /* biOcean */ {1.5f, 1.5f}, + /* biPlains */ {0.5f, 0.5f}, + /* biDesert */ {0.5f, 0.5f}, /* biExtremeHills */ {16.0f, 16.0f}, - /* biForest */ { 3.0f, 3.0f}, - /* biTaiga */ { 1.5f, 1.5f}, - - /* biSwampland */ { 0.0f, 0.0f}, - /* biRiver */ { 0.0f, 0.0f}, - /* biNether */ { 0.0f, 0.0f}, // Unused, but must be here due to indexing - /* biSky */ { 0.0f, 0.0f}, // Unused, but must be here due to indexing - /* biFrozenOcean */ { 0.0f, 0.0f}, - /* biFrozenRiver */ { 0.0f, 0.0f}, - /* biIcePlains */ { 0.0f, 0.0f}, - /* biIceMountains */ { 8.0f, 8.0f}, - /* biMushroomIsland */ { 4.0f, 4.0f}, - /* biMushroomShore */ { 0.0f, 0.0f}, - /* biBeach */ { 0.0f, 0.0f}, - /* biDesertHills */ { 5.0f, 5.0f}, - /* biForestHills */ { 6.0f, 6.0f}, - /* biTaigaHills */ { 8.0f, 8.0f}, - /* biExtremeHillsEdge */ { 7.0f, 7.0f}, - /* biJungle */ { 4.0f, 4.0f}, - /* biJungleHills */ { 8.0f, 8.0f}, - /* biJungleEdge */ { 3.0f, 3.0f}, // 23 - /* biDeepOcean */ { 1.0f, 1.0f}, // 24 - /* biStoneBeach */ { 1.0f, 1.0f}, // 25 - /* biColdBeach */ { 1.0f, 1.0f}, // 26 - /* biBirchForest */ { 3.0f, 3.0f}, // 27 - /* biBirchForestHills */ { 6.0f, 6.0f}, // 28 - /* biRoofedForest */ { 3.0f, 3.0f}, // 29 - /* biColdTaiga */ { 0.5f, 0.5f}, // 30 - /* biColdTaigaHills */ { 4.0f, 4.0f}, // 31 - /* biMegaTaiga */ { 1.0f, 1.0f}, // 32 - /* biMegaTaigaHills */ { 4.0f, 4.0f}, // 33 + /* biForest */ {3.0f, 3.0f}, + /* biTaiga */ {1.5f, 1.5f}, + + /* biSwampland */ {0.0f, 0.0f}, + /* biRiver */ {0.0f, 0.0f}, + /* biNether */ {0.0f, 0.0f}, // Unused, but must be here due to indexing + /* biSky */ {0.0f, 0.0f}, // Unused, but must be here due to indexing + /* biFrozenOcean */ {0.0f, 0.0f}, + /* biFrozenRiver */ {0.0f, 0.0f}, + /* biIcePlains */ {0.0f, 0.0f}, + /* biIceMountains */ {8.0f, 8.0f}, + /* biMushroomIsland */ {4.0f, 4.0f}, + /* biMushroomShore */ {0.0f, 0.0f}, + /* biBeach */ {0.0f, 0.0f}, + /* biDesertHills */ {5.0f, 5.0f}, + /* biForestHills */ {6.0f, 6.0f}, + /* biTaigaHills */ {8.0f, 8.0f}, + /* biExtremeHillsEdge */ {7.0f, 7.0f}, + /* biJungle */ {4.0f, 4.0f}, + /* biJungleHills */ {8.0f, 8.0f}, + /* biJungleEdge */ {3.0f, 3.0f}, // 23 + /* biDeepOcean */ {1.0f, 1.0f}, // 24 + /* biStoneBeach */ {1.0f, 1.0f}, // 25 + /* biColdBeach */ {1.0f, 1.0f}, // 26 + /* biBirchForest */ {3.0f, 3.0f}, // 27 + /* biBirchForestHills */ {6.0f, 6.0f}, // 28 + /* biRoofedForest */ {3.0f, 3.0f}, // 29 + /* biColdTaiga */ {0.5f, 0.5f}, // 30 + /* biColdTaigaHills */ {4.0f, 4.0f}, // 31 + /* biMegaTaiga */ {1.0f, 1.0f}, // 32 + /* biMegaTaigaHills */ {4.0f, 4.0f}, // 33 /* biExtremeHillsPlus */ {32.0f, 32.0f}, // 34 - anyone say extreme plus? Make it extreme plus, then :) - /* biSavanna */ { 2.0f, 2.0f}, // 35 - /* biSavannaPlateau */ { 3.0f, 3.0f}, // 36 - /* biMesa */ { 2.0f, 2.0f}, // 37 - /* biMesaPlateauF */ { 2.0f, 2.0f}, // 38 - /* biMesaPlateau */ { 2.0f, 2.0f}, // 39 + /* biSavanna */ {2.0f, 2.0f}, // 35 + /* biSavannaPlateau */ {3.0f, 3.0f}, // 36 + /* biMesa */ {2.0f, 2.0f}, // 37 + /* biMesaPlateauF */ {2.0f, 2.0f}, // 38 + /* biMesaPlateau */ {2.0f, 2.0f}, // 39 // biomes 40 .. 128 are unused, 89 empty placeholders here: - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 40 .. 49 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 50 .. 59 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 60 .. 69 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 70 .. 79 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 80 .. 89 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 90 .. 99 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 100 .. 109 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 110 .. 119 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 120 .. 128 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 40 .. 49 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 50 .. 59 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 60 .. 69 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 70 .. 79 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 80 .. 89 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 90 .. 99 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 100 .. 109 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 110 .. 119 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 120 .. 128 // Release 1.7 biome variants: - /* biSunflowerPlains */ { 1.0f, 1.0f}, // 129 - /* biDesertM */ { 1.0f, 1.0f}, // 130 + /* biSunflowerPlains */ {1.0f, 1.0f}, // 129 + /* biDesertM */ {1.0f, 1.0f}, // 130 /* biExtremeHillsM */ {16.0f, 16.0f}, // 131 - /* biFlowerForest */ { 4.0f, 4.0f}, // 132 - /* biTaigaM */ { 3.0f, 3.0f}, // 133 - /* biSwamplandM */ { 0.0f, 0.0f}, // 134 + /* biFlowerForest */ {4.0f, 4.0f}, // 132 + /* biTaigaM */ {3.0f, 3.0f}, // 133 + /* biSwamplandM */ {0.0f, 0.0f}, // 134 // Biomes 135 .. 139 unused, 5 empty placeholders here: - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 135 .. 139 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 135 .. 139 - /* biIcePlainsSpikes */ { 1.0f, 1.0f}, // 140 + /* biIcePlainsSpikes */ {1.0f, 1.0f}, // 140 // Biomes 141 .. 148 unused, 8 empty placeholders here: - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 141 .. 148 - - /* biJungleM */ { 4.0f, 4.0f}, // 149 - {0.0f, 0.0f}, // 150 - /* biJungleEdgeM */ { 3.0f, 3.0f}, // 151 - {0.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, 0.0f}, // 152 .. 154 - /* biBirchForestM */ { 3.0f, 3.0f}, // 155 - /* biBirchForestHillsM */ { 5.0f, 5.0f}, // 156 - /* biRoofedForestM */ { 2.0f, 2.0f}, // 157 - /* biColdTaigaM */ { 1.0f, 1.0f}, // 158 - {0.0f, 0.0f}, // 159 - /* biMegaSpruceTaiga */ { 3.0f, 3.0f}, // 160 - /* biMegaSpruceTaigaHills */ { 3.0f, 3.0f}, // 161 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 141 .. 148 + + /* biJungleM */ {4.0f, 4.0f}, // 149 + {0.0f, 0.0f}, // 150 + /* biJungleEdgeM */ {3.0f, 3.0f}, // 151 + {0.0f, 0.0f}, + {0.0f, 0.0f}, + {0.0f, 0.0f}, // 152 .. 154 + /* biBirchForestM */ {3.0f, 3.0f}, // 155 + /* biBirchForestHillsM */ {5.0f, 5.0f}, // 156 + /* biRoofedForestM */ {2.0f, 2.0f}, // 157 + /* biColdTaigaM */ {1.0f, 1.0f}, // 158 + {0.0f, 0.0f}, // 159 + /* biMegaSpruceTaiga */ {3.0f, 3.0f}, // 160 + /* biMegaSpruceTaigaHills */ {3.0f, 3.0f}, // 161 /* biExtremeHillsPlusM */ {32.0f, 32.0f}, // 162 - /* biSavannaM */ { 2.0f, 2.0f}, // 163 - /* biSavannaPlateauM */ { 3.0f, 3.0f}, // 164 - /* biMesaBryce */ { 0.5f, 0.5f}, // 165 - /* biMesaPlateauFM */ { 2.0f, 2.0f}, // 166 - /* biMesaPlateauM */ { 2.0f, 2.0f}, // 167 -} ; + /* biSavannaM */ {2.0f, 2.0f}, // 163 + /* biSavannaPlateauM */ {3.0f, 3.0f}, // 164 + /* biMesaBryce */ {0.5f, 0.5f}, // 165 + /* biMesaPlateauFM */ {2.0f, 2.0f}, // 166 + /* biMesaPlateauM */ {2.0f, 2.0f}, // 167 +}; @@ -121,18 +213,21 @@ const cDistortedHeightmap::sGenParam cDistortedHeightmap::m_GenParam[256] = cDistortedHeightmap::cDistortedHeightmap(int a_Seed, cBiomeGen & a_BiomeGen) : m_NoiseDistortX(a_Seed + 1000), m_NoiseDistortZ(a_Seed + 2000), - m_CurChunkCoords(0x7fffffff, 0x7fffffff), // Set impossible coords for the chunk so that it's always considered stale + m_CurChunkCoords( + 0x7fffffff, + 0x7fffffff + ), // Set impossible coords for the chunk so that it's always considered stale m_BiomeGen(a_BiomeGen), m_UnderlyingHeiGen(a_Seed, a_BiomeGen), m_HeightGen(m_UnderlyingHeiGen, 64), m_IsInitialized(false) { - m_NoiseDistortX.AddOctave(static_cast(1), static_cast(0.5)); - m_NoiseDistortX.AddOctave(static_cast(0.5), static_cast(1)); + m_NoiseDistortX.AddOctave(static_cast(1), static_cast(0.5)); + m_NoiseDistortX.AddOctave(static_cast(0.5), static_cast(1)); m_NoiseDistortX.AddOctave(static_cast(0.25), static_cast(2)); - m_NoiseDistortZ.AddOctave(static_cast(1), static_cast(0.5)); - m_NoiseDistortZ.AddOctave(static_cast(0.5), static_cast(1)); + m_NoiseDistortZ.AddOctave(static_cast(1), static_cast(0.5)); + m_NoiseDistortZ.AddOctave(static_cast(0.5), static_cast(1)); m_NoiseDistortZ.AddOctave(static_cast(0.25), static_cast(2)); } @@ -148,7 +243,7 @@ void cDistortedHeightmap::Initialize(cIniFile & a_IniFile) } // Read the params from the INI file: - m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", 62); + m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", 62); m_FrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "DistortedHeightmapFrequencyX", 10)); m_FrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "DistortedHeightmapFrequencyY", 10)); m_FrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "DistortedHeightmapFrequencyZ", 10)); @@ -185,11 +280,13 @@ void cDistortedHeightmap::GenerateHeightArray(void) NOISE_DATATYPE DistortNoiseZ[DIM_X * DIM_Y * DIM_Z]; NOISE_DATATYPE Workspace[DIM_X * DIM_Y * DIM_Z]; NOISE_DATATYPE StartX = static_cast(m_CurChunkCoords.m_ChunkX * cChunkDef::Width) / m_FrequencyX; - NOISE_DATATYPE EndX = static_cast((m_CurChunkCoords.m_ChunkX + 1) * cChunkDef::Width - 1) / m_FrequencyX; + NOISE_DATATYPE EndX = + static_cast((m_CurChunkCoords.m_ChunkX + 1) * cChunkDef::Width - 1) / m_FrequencyX; NOISE_DATATYPE StartY = 0; - NOISE_DATATYPE EndY = static_cast(257) / m_FrequencyY; + NOISE_DATATYPE EndY = static_cast(257) / m_FrequencyY; NOISE_DATATYPE StartZ = static_cast(m_CurChunkCoords.m_ChunkZ * cChunkDef::Width) / m_FrequencyZ; - NOISE_DATATYPE EndZ = static_cast((m_CurChunkCoords.m_ChunkZ + 1) * cChunkDef::Width - 1) / m_FrequencyZ; + NOISE_DATATYPE EndZ = + static_cast((m_CurChunkCoords.m_ChunkZ + 1) * cChunkDef::Width - 1) / m_FrequencyZ; m_NoiseDistortX.Generate3D(DistortNoiseX, DIM_X, DIM_Y, DIM_Z, StartX, EndX, StartY, EndY, StartZ, EndZ, Workspace); m_NoiseDistortZ.Generate3D(DistortNoiseZ, DIM_X, DIM_Y, DIM_Z, StartX, EndX, StartY, EndY, StartZ, EndZ, Workspace); @@ -211,18 +308,17 @@ void cDistortedHeightmap::GenerateHeightArray(void) DistX += static_cast(m_CurChunkCoords.m_ChunkX * cChunkDef::Width + x * INTERPOL_X); DistZ += static_cast(m_CurChunkCoords.m_ChunkZ * cChunkDef::Width + z * INTERPOL_Z); // Adding 0.5 helps alleviate the interpolation artifacts - DistHei[NoiseArrayIdx + x] = static_cast(GetHeightmapAt(DistX, DistZ)) + static_cast(0.5); + DistHei[NoiseArrayIdx + x] = + static_cast(GetHeightmapAt(DistX, DistZ)) + static_cast(0.5); } } } // Upscale the distorted heightmap into full dimensions: - LinearUpscale3DArray( - DistHei, DIM_X, DIM_Y, DIM_Z, - m_DistortedHeightmap, INTERPOL_X, INTERPOL_Y, INTERPOL_Z - ); + LinearUpscale3DArray(DistHei, DIM_X, DIM_Y, DIM_Z, m_DistortedHeightmap, INTERPOL_X, INTERPOL_Y, INTERPOL_Z); - // DEBUG: Debug3DNoise(m_DistortedHeightmap, 17, 257, 17, fmt::format(FMT_STRING("DistortedHeightmap_{}_{}"), m_CurChunkX, m_CurChunkZ)); + // DEBUG: Debug3DNoise(m_DistortedHeightmap, 17, 257, 17, fmt::format(FMT_STRING("DistortedHeightmap_{}_{}"), + // m_CurChunkX, m_CurChunkZ)); } @@ -305,7 +401,13 @@ void cDistortedHeightmap::UpdateDistortAmps(void) { for (int x = 0; x < DIM_Z; x++) { - GetDistortAmpsAt(Biomes, x * INTERPOL_X, z * INTERPOL_Z, m_DistortAmpX[x + DIM_X * z], m_DistortAmpZ[x + DIM_X * z]); + GetDistortAmpsAt( + Biomes, + x * INTERPOL_X, + z * INTERPOL_Z, + m_DistortAmpX[x + DIM_X * z], + m_DistortAmpZ[x + DIM_X * z] + ); } } } @@ -314,7 +416,13 @@ void cDistortedHeightmap::UpdateDistortAmps(void) -void cDistortedHeightmap::GetDistortAmpsAt(BiomeNeighbors & a_Neighbors, int a_RelX, int a_RelZ, NOISE_DATATYPE & a_DistortAmpX, NOISE_DATATYPE & a_DistortAmpZ) +void cDistortedHeightmap::GetDistortAmpsAt( + BiomeNeighbors & a_Neighbors, + int a_RelX, + int a_RelZ, + NOISE_DATATYPE & a_DistortAmpX, + NOISE_DATATYPE & a_DistortAmpZ +) { // Sum up how many biomes of each type there are in the neighborhood: int BiomeCounts[256]; @@ -370,7 +478,3 @@ void cDistortedHeightmap::GetDistortAmpsAt(BiomeNeighbors & a_Neighbors, int a_R a_DistortAmpX = AmpX / Sum; a_DistortAmpZ = AmpZ / Sum; } - - - - diff --git a/src/Generating/DistortedHeightmap.h b/src/Generating/DistortedHeightmap.h index f523b8109..34d33438d 100644 --- a/src/Generating/DistortedHeightmap.h +++ b/src/Generating/DistortedHeightmap.h @@ -22,13 +22,12 @@ -class cDistortedHeightmap : - public cTerrainShapeGen +class cDistortedHeightmap : public cTerrainShapeGen { -public: + public: cDistortedHeightmap(int a_Seed, cBiomeGen & a_BiomeGen); -protected: + protected: typedef cChunkDef::BiomeMap BiomeNeighbors[3][3]; // Linear upscaling step sizes, must be divisors of cChunkDef::Width and cChunkDef::Height, respectively: @@ -37,9 +36,9 @@ protected: static const int INTERPOL_Z = 8; // Linear upscaling buffer dimensions, calculated from the step sizes: - static const int DIM_X = 1 + (17 / INTERPOL_X); + static const int DIM_X = 1 + (17 / INTERPOL_X); static const int DIM_Y = 1 + (257 / INTERPOL_Y); - static const int DIM_Z = 1 + (17 / INTERPOL_Z); + static const int DIM_Z = 1 + (17 / INTERPOL_Z); cPerlinNoise m_NoiseDistortX; cPerlinNoise m_NoiseDistortZ; @@ -69,14 +68,15 @@ protected: { NOISE_DATATYPE m_DistortAmpX; NOISE_DATATYPE m_DistortAmpZ; - } ; + }; static const sGenParam m_GenParam[256]; // Distortion amplitudes for each direction, before linear upscaling NOISE_DATATYPE m_DistortAmpX[DIM_X * DIM_Z]; NOISE_DATATYPE m_DistortAmpZ[DIM_X * DIM_Z]; - /** True if Initialize() has been called. Used to initialize-once even with multiple init entrypoints (HeiGen / CompoGen). */ + /** True if Initialize() has been called. Used to initialize-once even with multiple init entrypoints (HeiGen / + * CompoGen). */ bool m_IsInitialized; @@ -93,7 +93,13 @@ protected: void UpdateDistortAmps(void); /** Calculates the X and Z distortion amplitudes based on the neighbors' biomes. */ - void GetDistortAmpsAt(BiomeNeighbors & a_Neighbors, int a_RelX, int a_RelZ, NOISE_DATATYPE & a_DistortAmpX, NOISE_DATATYPE & a_DistortAmpZ); + void GetDistortAmpsAt( + BiomeNeighbors & a_Neighbors, + int a_RelX, + int a_RelZ, + NOISE_DATATYPE & a_DistortAmpX, + NOISE_DATATYPE & a_DistortAmpZ + ); /** Reads the settings from the ini file. Skips reading if already initialized. */ void Initialize(cIniFile & a_IniFile); @@ -102,4 +108,4 @@ protected: // cTerrainShapeGen overrides: virtual void GenShape(cChunkCoords a_ChunkCoords, cChunkDesc::Shape & a_Shape) override; virtual void InitializeShapeGen(cIniFile & a_IniFile) override; -} ; +}; diff --git a/src/Generating/DungeonRoomsFinisher.cpp b/src/Generating/DungeonRoomsFinisher.cpp index 96dd28333..c52d7257f 100644 --- a/src/Generating/DungeonRoomsFinisher.cpp +++ b/src/Generating/DungeonRoomsFinisher.cpp @@ -24,20 +24,21 @@ static const int ROOM_HEIGHT = 4; //////////////////////////////////////////////////////////////////////////////// // cDungeonRoom: -class cDungeonRoom: - public cGridStructGen::cStructure +class cDungeonRoom : public cGridStructGen::cStructure { using Super = cGridStructGen::cStructure; -public: - + public: cDungeonRoom( - int a_GridX, int a_GridZ, - int a_OriginX, int a_OriginZ, - int a_HalfSizeX, int a_HalfSizeZ, + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ, + int a_HalfSizeX, + int a_HalfSizeZ, int a_FloorHeight, cNoise & a_Noise - ): + ) : Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ), m_StartX(a_OriginX - a_HalfSizeX), m_EndX(a_OriginX + a_HalfSizeX), @@ -57,7 +58,7 @@ public: int FirstChestPos = rnd % NumPositions; // The corner positions are a bit more likely, but we don't mind rnd = rnd / 512; int SecondChestPos = (FirstChestPos + 2 + (rnd % (NumPositions - 3))) % NumPositions; - m_Chest1 = DecodeChestCoords(FirstChestPos, SizeX, SizeZ); + m_Chest1 = DecodeChestCoords(FirstChestPos, SizeX, SizeZ); m_Chest2 = DecodeChestCoords(SecondChestPos, SizeX, SizeZ); // Choose what the mobspawner will spawn. @@ -77,8 +78,7 @@ public: } } -protected: - + protected: // The X range of the room, start inclusive, end exclusive: int m_StartX, m_EndX; @@ -126,16 +126,25 @@ protected: - /** Fills the specified area of blocks in the chunk with the specified blocktype if they are one of the overwritten block types. - The coords are absolute, start coords are inclusive, end coords are exclusive. */ - void ReplaceCuboid(cChunkDesc & a_ChunkDesc, int a_StartX, int a_StartY, int a_StartZ, int a_EndX, int a_EndY, int a_EndZ, BLOCKTYPE a_DstBlockType) + /** Fills the specified area of blocks in the chunk with the specified blocktype if they are one of the overwritten + block types. The coords are absolute, start coords are inclusive, end coords are exclusive. */ + void ReplaceCuboid( + cChunkDesc & a_ChunkDesc, + int a_StartX, + int a_StartY, + int a_StartZ, + int a_EndX, + int a_EndY, + int a_EndZ, + BLOCKTYPE a_DstBlockType + ) { int BlockX = a_ChunkDesc.GetChunkX() * cChunkDef::Width; int BlockZ = a_ChunkDesc.GetChunkZ() * cChunkDef::Width; int RelStartX = Clamp(a_StartX - BlockX, 0, cChunkDef::Width); int RelStartZ = Clamp(a_StartZ - BlockZ, 0, cChunkDef::Width); - int RelEndX = Clamp(a_EndX - BlockX, 0, cChunkDef::Width); - int RelEndZ = Clamp(a_EndZ - BlockZ, 0, cChunkDef::Width); + int RelEndX = Clamp(a_EndX - BlockX, 0, cChunkDef::Width); + int RelEndZ = Clamp(a_EndZ - BlockZ, 0, cChunkDef::Width); for (int y = a_StartY; y < a_EndY; y++) { for (int z = RelStartZ; z < RelEndZ; z++) @@ -153,16 +162,27 @@ protected: - /** Fills the specified area of blocks in the chunk with a random pattern of the specified blocktypes, if they are one of the overwritten block types. - The coords are absolute, start coords are inclusive, end coords are exclusive. The first blocktype uses 75% chance, the second 25% chance. */ - void ReplaceCuboidRandom(cChunkDesc & a_ChunkDesc, int a_StartX, int a_StartY, int a_StartZ, int a_EndX, int a_EndY, int a_EndZ, BLOCKTYPE a_DstBlockType1, BLOCKTYPE a_DstBlockType2) + /** Fills the specified area of blocks in the chunk with a random pattern of the specified blocktypes, if they are + one of the overwritten block types. The coords are absolute, start coords are inclusive, end coords are exclusive. + The first blocktype uses 75% chance, the second 25% chance. */ + void ReplaceCuboidRandom( + cChunkDesc & a_ChunkDesc, + int a_StartX, + int a_StartY, + int a_StartZ, + int a_EndX, + int a_EndY, + int a_EndZ, + BLOCKTYPE a_DstBlockType1, + BLOCKTYPE a_DstBlockType2 + ) { int BlockX = a_ChunkDesc.GetChunkX() * cChunkDef::Width; int BlockZ = a_ChunkDesc.GetChunkZ() * cChunkDef::Width; int RelStartX = Clamp(a_StartX - BlockX, 0, cChunkDef::Width - 1); int RelStartZ = Clamp(a_StartZ - BlockZ, 0, cChunkDef::Width - 1); - int RelEndX = Clamp(a_EndX - BlockX, 0, cChunkDef::Width); - int RelEndZ = Clamp(a_EndZ - BlockZ, 0, cChunkDef::Width); + int RelEndX = Clamp(a_EndX - BlockX, 0, cChunkDef::Width); + int RelEndZ = Clamp(a_EndZ - BlockZ, 0, cChunkDef::Width); auto & rnd = GetRandomProvider(); for (int y = a_StartY; y < a_EndY; y++) { @@ -188,9 +208,8 @@ protected: { int RelX = a_Chest.x - a_ChunkDesc.GetChunkX() * cChunkDef::Width; int RelZ = a_Chest.z - a_ChunkDesc.GetChunkZ() * cChunkDef::Width; - if ( - (RelX < 0) || (RelX >= cChunkDef::Width) || // The X coord is not in this chunk - (RelZ < 0) || (RelZ >= cChunkDef::Width) // The Z coord is not in this chunk + if ((RelX < 0) || (RelX >= cChunkDef::Width) || // The X coord is not in this chunk + (RelZ < 0) || (RelZ >= cChunkDef::Width) // The Z coord is not in this chunk ) { return; @@ -198,34 +217,34 @@ protected: a_ChunkDesc.SetBlockTypeMeta(RelX, m_FloorHeight + 1, RelZ, E_BLOCK_CHEST, static_cast(a_Chest.y)); // Fill the chest with random loot - static const cLootProbab LootProbab[] = - { + static const cLootProbab LootProbab[] = { // Item, MinAmount, MaxAmount, Weight - { cItem(E_ITEM_GOLDEN_APPLE), 1, 1, 1 }, - { cItem(E_ITEM_DIAMOND_HORSE_ARMOR), 1, 1, 1 }, - { cItem(E_ITEM_GOLD_HORSE_ARMOR), 1, 1, 2 }, - { cItem(E_ITEM_GOLD), 1, 4, 2 }, - { cItem(E_ITEM_13_DISC), 1, 1, 4 }, - { cItem(E_ITEM_CAT_DISC), 1, 1, 4 }, - { cItem(E_ITEM_IRON_HORSE_ARMOR), 1, 1, 5 }, - { cItem(E_ITEM_IRON), 1, 4, 10 }, - { cItem(E_ITEM_WHEAT), 1, 4, 10 }, - { cItem(E_ITEM_GUNPOWDER), 1, 4, 10 }, - { cItem(E_ITEM_STRING), 1, 4, 10 }, - { cItem(E_ITEM_REDSTONE_DUST), 1, 4, 10 }, - { cItem(E_ITEM_COAL), 1, 4, 10 }, - { cItem(E_ITEM_BONE), 1, 4, 10 }, - { cItem(E_ITEM_ROTTEN_FLESH), 1, 4, 10 }, - { cItem(E_ITEM_SADDLE), 1, 1, 10 }, - { cItem(E_ITEM_BUCKET), 1, 1, 10 }, - { cItem(E_ITEM_BREAD), 1, 1, 10 }, - { cItem(E_ITEM_NAME_TAG), 1, 1, 10 }, - { cItem(E_ITEM_BEETROOT_SEEDS), 2, 4, 10 }, - { cItem(E_ITEM_MELON_SEEDS), 2, 4, 10 }, - { cItem(E_ITEM_PUMPKIN_SEEDS), 2, 4, 10 }, - } ; - - cChestEntity * ChestEntity = static_cast(a_ChunkDesc.GetBlockEntity(RelX, m_FloorHeight + 1, RelZ)); + {cItem(E_ITEM_GOLDEN_APPLE), 1, 1, 1}, + {cItem(E_ITEM_DIAMOND_HORSE_ARMOR), 1, 1, 1}, + {cItem(E_ITEM_GOLD_HORSE_ARMOR), 1, 1, 2}, + {cItem(E_ITEM_GOLD), 1, 4, 2}, + {cItem(E_ITEM_13_DISC), 1, 1, 4}, + {cItem(E_ITEM_CAT_DISC), 1, 1, 4}, + {cItem(E_ITEM_IRON_HORSE_ARMOR), 1, 1, 5}, + {cItem(E_ITEM_IRON), 1, 4, 10}, + {cItem(E_ITEM_WHEAT), 1, 4, 10}, + {cItem(E_ITEM_GUNPOWDER), 1, 4, 10}, + {cItem(E_ITEM_STRING), 1, 4, 10}, + {cItem(E_ITEM_REDSTONE_DUST), 1, 4, 10}, + {cItem(E_ITEM_COAL), 1, 4, 10}, + {cItem(E_ITEM_BONE), 1, 4, 10}, + {cItem(E_ITEM_ROTTEN_FLESH), 1, 4, 10}, + {cItem(E_ITEM_SADDLE), 1, 1, 10}, + {cItem(E_ITEM_BUCKET), 1, 1, 10}, + {cItem(E_ITEM_BREAD), 1, 1, 10}, + {cItem(E_ITEM_NAME_TAG), 1, 1, 10}, + {cItem(E_ITEM_BEETROOT_SEEDS), 2, 4, 10}, + {cItem(E_ITEM_MELON_SEEDS), 2, 4, 10}, + {cItem(E_ITEM_PUMPKIN_SEEDS), 2, 4, 10}, + }; + + cChestEntity * ChestEntity = + static_cast(a_ChunkDesc.GetBlockEntity(RelX, m_FloorHeight + 1, RelZ)); ASSERT((ChestEntity != nullptr) && (ChestEntity->GetBlockType() == E_BLOCK_CHEST)); cNoise Noise(a_ChunkDesc.GetChunkX() ^ a_ChunkDesc.GetChunkZ()); int NumSlots = 3 + ((Noise.IntNoise3DInt(a_Chest.x, a_Chest.y, a_Chest.z) / 11) % 4); @@ -238,12 +257,10 @@ protected: // cGridStructGen::cStructure override: virtual void DrawIntoChunk(cChunkDesc & a_ChunkDesc) override { - if ( - (m_EndX < a_ChunkDesc.GetChunkX() * cChunkDef::Width) || + if ((m_EndX < a_ChunkDesc.GetChunkX() * cChunkDef::Width) || (m_StartX >= a_ChunkDesc.GetChunkX() * cChunkDef::Width + cChunkDef::Width) || - (m_EndZ < a_ChunkDesc.GetChunkZ() * cChunkDef::Width) || - (m_StartZ >= a_ChunkDesc.GetChunkZ() * cChunkDef::Width + cChunkDef::Width) - ) + (m_EndZ < a_ChunkDesc.GetChunkZ() * cChunkDef::Width) || + (m_StartZ >= a_ChunkDesc.GetChunkZ() * cChunkDef::Width + cChunkDef::Width)) { // The chunk is not intersecting the room at all, bail out return; @@ -251,14 +268,24 @@ protected: int b = m_FloorHeight + 1; // Bottom int t = m_FloorHeight + 1 + ROOM_HEIGHT; // Top - ReplaceCuboidRandom(a_ChunkDesc, m_StartX, m_FloorHeight, m_StartZ, m_EndX + 1, b, m_EndZ + 1, E_BLOCK_MOSSY_COBBLESTONE, E_BLOCK_COBBLESTONE); // Floor + ReplaceCuboidRandom( + a_ChunkDesc, + m_StartX, + m_FloorHeight, + m_StartZ, + m_EndX + 1, + b, + m_EndZ + 1, + E_BLOCK_MOSSY_COBBLESTONE, + E_BLOCK_COBBLESTONE + ); // Floor ReplaceCuboid(a_ChunkDesc, m_StartX + 1, b, m_StartZ + 1, m_EndX, t, m_EndZ, E_BLOCK_AIR); // Insides // Walls: - ReplaceCuboid(a_ChunkDesc, m_StartX, b, m_StartZ, m_StartX + 1, t, m_EndZ, E_BLOCK_COBBLESTONE); // XM wall - ReplaceCuboid(a_ChunkDesc, m_EndX, b, m_StartZ, m_EndX + 1, t, m_EndZ, E_BLOCK_COBBLESTONE); // XP wall - ReplaceCuboid(a_ChunkDesc, m_StartX, b, m_StartZ, m_EndX + 1, t, m_StartZ + 1, E_BLOCK_COBBLESTONE); // ZM wall - ReplaceCuboid(a_ChunkDesc, m_StartX, b, m_EndZ, m_EndX + 1, t, m_EndZ + 1, E_BLOCK_COBBLESTONE); // ZP wall + ReplaceCuboid(a_ChunkDesc, m_StartX, b, m_StartZ, m_StartX + 1, t, m_EndZ, E_BLOCK_COBBLESTONE); // XM wall + ReplaceCuboid(a_ChunkDesc, m_EndX, b, m_StartZ, m_EndX + 1, t, m_EndZ, E_BLOCK_COBBLESTONE); // XP wall + ReplaceCuboid(a_ChunkDesc, m_StartX, b, m_StartZ, m_EndX + 1, t, m_StartZ + 1, E_BLOCK_COBBLESTONE); // ZM wall + ReplaceCuboid(a_ChunkDesc, m_StartX, b, m_EndZ, m_EndX + 1, t, m_EndZ + 1, E_BLOCK_COBBLESTONE); // ZP wall // Place chests: TryPlaceChest(a_ChunkDesc, m_Chest1); @@ -267,18 +294,16 @@ protected: // Place the spawner: int CenterX = (m_StartX + m_EndX) / 2 - a_ChunkDesc.GetChunkX() * cChunkDef::Width; int CenterZ = (m_StartZ + m_EndZ) / 2 - a_ChunkDesc.GetChunkZ() * cChunkDef::Width; - if ( - (CenterX >= 0) && (CenterX < cChunkDef::Width) && - (CenterZ >= 0) && (CenterZ < cChunkDef::Width) - ) + if ((CenterX >= 0) && (CenterX < cChunkDef::Width) && (CenterZ >= 0) && (CenterZ < cChunkDef::Width)) { a_ChunkDesc.SetBlockTypeMeta(CenterX, b, CenterZ, E_BLOCK_MOB_SPAWNER, 0); - cMobSpawnerEntity * MobSpawner = static_cast(a_ChunkDesc.GetBlockEntity(CenterX, b, CenterZ)); + cMobSpawnerEntity * MobSpawner = + static_cast(a_ChunkDesc.GetBlockEntity(CenterX, b, CenterZ)); ASSERT((MobSpawner != nullptr) && (MobSpawner->GetBlockType() == E_BLOCK_MOB_SPAWNER)); MobSpawner->SetEntity(m_MonsterType); } } -} ; +}; @@ -287,7 +312,14 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cDungeonRoomsFinisher: -cDungeonRoomsFinisher::cDungeonRoomsFinisher(cTerrainShapeGen & a_ShapeGen, int a_Seed, int a_GridSize, int a_MaxSize, int a_MinSize, const AString & a_HeightDistrib) : +cDungeonRoomsFinisher::cDungeonRoomsFinisher( + cTerrainShapeGen & a_ShapeGen, + int a_Seed, + int a_GridSize, + int a_MaxSize, + int a_MinSize, + const AString & a_HeightDistrib +) : Super(a_Seed + 100, a_GridSize, a_GridSize, a_GridSize, a_GridSize, a_MaxSize, a_MaxSize, 1024), m_ShapeGen(a_ShapeGen), m_MaxHalfSize((a_MaxSize + 1) / 2), @@ -308,7 +340,12 @@ cDungeonRoomsFinisher::cDungeonRoomsFinisher(cTerrainShapeGen & a_ShapeGen, int -cDungeonRoomsFinisher::cStructurePtr cDungeonRoomsFinisher::CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) +cDungeonRoomsFinisher::cStructurePtr cDungeonRoomsFinisher::CreateStructure( + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ +) { // Select a random room size in each direction: int rnd = m_Noise.IntNoise2DInt(a_OriginX, a_OriginZ) / 7; @@ -335,5 +372,6 @@ cDungeonRoomsFinisher::cStructurePtr cDungeonRoomsFinisher::CreateStructure(int } // Create the dungeon room descriptor: - return cStructurePtr(new cDungeonRoom(a_GridX, a_GridZ, a_OriginX, a_OriginZ, HalfSizeX, HalfSizeZ, height, m_Noise)); + return cStructurePtr(new cDungeonRoom(a_GridX, a_GridZ, a_OriginX, a_OriginZ, HalfSizeX, HalfSizeZ, height, m_Noise) + ); } diff --git a/src/Generating/DungeonRoomsFinisher.h b/src/Generating/DungeonRoomsFinisher.h index bd5380448..92e2a747b 100644 --- a/src/Generating/DungeonRoomsFinisher.h +++ b/src/Generating/DungeonRoomsFinisher.h @@ -16,21 +16,25 @@ -class cDungeonRoomsFinisher: - public cGridStructGen +class cDungeonRoomsFinisher : public cGridStructGen { using Super = cGridStructGen; -public: - + public: /** Creates a new dungeon room finisher. a_ShapeGen is the underlying terrain shape generator, so that the rooms can always be placed under the terrain. a_MaxSize and a_MinSize are the maximum and minimum sizes of the room's internal (air) area, in blocks across. a_HeightDistrib is the string defining the height distribution for the rooms (cProbabDistrib format). */ - cDungeonRoomsFinisher(cTerrainShapeGen & a_ShapeGen, int a_Seed, int a_GridSize, int a_MaxSize, int a_MinSize, const AString & a_HeightDistrib); - -protected: - + cDungeonRoomsFinisher( + cTerrainShapeGen & a_ShapeGen, + int a_Seed, + int a_GridSize, + int a_MaxSize, + int a_MinSize, + const AString & a_HeightDistrib + ); + + protected: /** The shape gen that is used for limiting the rooms' Y coords */ cTerrainShapeGen & m_ShapeGen; @@ -40,10 +44,11 @@ protected: /** Minimum half-size (from center to wall) of the dungeon room's inner (air) area. Default is 2 (vanilla). */ int m_MinHalfSize; - /** The height probability distribution to make the spawners more common in layers 10 - 40, less common outside this range. */ + /** The height probability distribution to make the spawners more common in layers 10 - 40, less common outside this + * range. */ cProbabDistrib m_HeightProbability; // cGridStructGen overrides: virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override; -} ; +}; diff --git a/src/Generating/EndGen.cpp b/src/Generating/EndGen.cpp index a0aa672dc..8c90a1d4a 100644 --- a/src/Generating/EndGen.cpp +++ b/src/Generating/EndGen.cpp @@ -20,9 +20,9 @@ enum INTERPOL_Z = 4, // Size of chunk data, downscaled before interpolation: - DIM_X = 16 / INTERPOL_X + 1, + DIM_X = 16 / INTERPOL_X + 1, DIM_Y = 256 / INTERPOL_Y + 1, - DIM_Z = 16 / INTERPOL_Z + 1, + DIM_Z = 16 / INTERPOL_Z + 1, }; @@ -63,16 +63,31 @@ void cEndGen::InitializeShapeGen(cIniFile & a_IniFile) m_IslandThickness = a_IniFile.GetValueSetI("Generator", "EndGenIslandThickness", m_IslandThickness); m_IslandYOffset = a_IniFile.GetValueSetI("Generator", "EndGenIslandYOffset", m_IslandYOffset); - m_MainIslandFrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "EndGenMainFrequencyX", m_MainIslandFrequencyX)); - m_MainIslandFrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "EndGenMainFrequencyY", m_MainIslandFrequencyY)); - m_MainIslandFrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "EndGenMainFrequencyZ", m_MainIslandFrequencyZ)); - m_MainIslandMinThreshold = static_cast(a_IniFile.GetValueSetF("Generator", "EndGenMainMinThreshold", m_MainIslandMinThreshold)); - - m_SmallIslandFrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "EndGenSmallFrequencyX", m_SmallIslandFrequencyX)); - m_SmallIslandFrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "EndGenSmallFrequencyY", m_SmallIslandFrequencyY)); - m_SmallIslandFrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "EndGenSmallFrequencyZ", m_SmallIslandFrequencyZ)); - m_SmallIslandMinThreshold = static_cast(a_IniFile.GetValueSetF("Generator", "EndGenSmallMinThreshold", m_SmallIslandMinThreshold)); - + m_MainIslandFrequencyX = + static_cast(a_IniFile.GetValueSetF("Generator", "EndGenMainFrequencyX", m_MainIslandFrequencyX) + ); + m_MainIslandFrequencyY = + static_cast(a_IniFile.GetValueSetF("Generator", "EndGenMainFrequencyY", m_MainIslandFrequencyY) + ); + m_MainIslandFrequencyZ = + static_cast(a_IniFile.GetValueSetF("Generator", "EndGenMainFrequencyZ", m_MainIslandFrequencyZ) + ); + m_MainIslandMinThreshold = static_cast( + a_IniFile.GetValueSetF("Generator", "EndGenMainMinThreshold", m_MainIslandMinThreshold) + ); + + m_SmallIslandFrequencyX = static_cast( + a_IniFile.GetValueSetF("Generator", "EndGenSmallFrequencyX", m_SmallIslandFrequencyX) + ); + m_SmallIslandFrequencyY = static_cast( + a_IniFile.GetValueSetF("Generator", "EndGenSmallFrequencyY", m_SmallIslandFrequencyY) + ); + m_SmallIslandFrequencyZ = static_cast( + a_IniFile.GetValueSetF("Generator", "EndGenSmallFrequencyZ", m_SmallIslandFrequencyZ) + ); + m_SmallIslandMinThreshold = static_cast( + a_IniFile.GetValueSetF("Generator", "EndGenSmallMinThreshold", m_SmallIslandMinThreshold) + ); } @@ -101,18 +116,19 @@ void cEndGen::GenerateNoiseArray(void) NOISE_DATATYPE Workspace[DIM_X * DIM_Y * DIM_Z]; // [x + DIM_X * z + DIM_X * DIM_Z * y] // Choose the frequency to use depending on the distance from spawn. - auto distanceFromSpawn = cChunkDef::RelativeToAbsolute({ cChunkDef::Width / 2, 0, cChunkDef::Width / 2 }, m_LastChunkCoords).Length(); + auto distanceFromSpawn = + cChunkDef::RelativeToAbsolute({cChunkDef::Width / 2, 0, cChunkDef::Width / 2}, m_LastChunkCoords).Length(); auto frequencyX = distanceFromSpawn > m_MainIslandSize * 2 ? m_SmallIslandFrequencyX : m_MainIslandFrequencyX; auto frequencyY = distanceFromSpawn > m_MainIslandSize * 2 ? m_SmallIslandFrequencyY : m_MainIslandFrequencyY; auto frequencyZ = distanceFromSpawn > m_MainIslandSize * 2 ? m_SmallIslandFrequencyZ : m_MainIslandFrequencyZ; // Generate the downscaled noise: - auto StartX = static_cast(m_LastChunkCoords.m_ChunkX * cChunkDef::Width) / frequencyX; - auto EndX = static_cast((m_LastChunkCoords.m_ChunkX + 1) * cChunkDef::Width) / frequencyX; - auto StartZ = static_cast(m_LastChunkCoords.m_ChunkZ * cChunkDef::Width) / frequencyZ; - auto EndZ = static_cast((m_LastChunkCoords.m_ChunkZ + 1) * cChunkDef::Width) / frequencyZ; + auto StartX = static_cast(m_LastChunkCoords.m_ChunkX * cChunkDef::Width) / frequencyX; + auto EndX = static_cast((m_LastChunkCoords.m_ChunkX + 1) * cChunkDef::Width) / frequencyX; + auto StartZ = static_cast(m_LastChunkCoords.m_ChunkZ * cChunkDef::Width) / frequencyZ; + auto EndZ = static_cast((m_LastChunkCoords.m_ChunkZ + 1) * cChunkDef::Width) / frequencyZ; auto StartY = 0.0f; - auto EndY = static_cast(cChunkDef::Height) / frequencyY; + auto EndY = static_cast(cChunkDef::Height) / frequencyY; m_Perlin.Generate3D(NoiseData, DIM_X, DIM_Z, DIM_Y, StartX, EndX, StartZ, EndZ, StartY, EndY, Workspace); // Add distance: @@ -144,15 +160,17 @@ void cEndGen::GenShape(cChunkCoords a_ChunkCoords, cChunkDesc::Shape & a_Shape) int MaxY = std::min(static_cast(1.75 * m_IslandThickness + m_IslandYOffset), cChunkDef::Height - 1); // Choose which threshold to use depending on the distance from spawn. - double chunkDistanceFromSpawn = cChunkDef::RelativeToAbsolute({ cChunkDef::Width / 2, 0, cChunkDef::Width / 2 }, a_ChunkCoords).Length(); - double minThreshold = chunkDistanceFromSpawn > m_MainIslandSize * 2 ? m_SmallIslandMinThreshold : m_MainIslandMinThreshold; + double chunkDistanceFromSpawn = + cChunkDef::RelativeToAbsolute({cChunkDef::Width / 2, 0, cChunkDef::Width / 2}, a_ChunkCoords).Length(); + double minThreshold = + chunkDistanceFromSpawn > m_MainIslandSize * 2 ? m_SmallIslandMinThreshold : m_MainIslandMinThreshold; for (int z = 0; z < cChunkDef::Width; z++) { for (int x = 0; x < cChunkDef::Width; x++) { // Calculate the required treshold based on the distance from spawn. // This way a void can be generated between the main island and the other islands. - double distanceFromSpawn = cChunkDef::RelativeToAbsolute({ x, 0, z }, a_ChunkCoords).Length(); + double distanceFromSpawn = cChunkDef::RelativeToAbsolute({x, 0, z}, a_ChunkCoords).Length(); double pow = std::pow((distanceFromSpawn - m_MainIslandSize) / m_MainIslandSize / 2, 3); double mult = 3 * ((distanceFromSpawn - m_MainIslandSize) / m_MainIslandSize); double threshold = std::min(pow - mult, minThreshold); @@ -163,7 +181,13 @@ void cEndGen::GenShape(cChunkCoords a_ChunkCoords, cChunkDesc::Shape & a_Shape) } for (int y = m_IslandYOffset; y < MaxY; y++) { - cChunkDesc::SetShapeIsSolidAt(a_Shape, x, y, z, m_NoiseArray[(y - m_IslandYOffset) * 17 * 17 + z * 17 + x] <= threshold); + cChunkDesc::SetShapeIsSolidAt( + a_Shape, + x, + y, + z, + m_NoiseArray[(y - m_IslandYOffset) * 17 * 17 + z * 17 + x] <= threshold + ); } for (int y = MaxY; y < cChunkDef::Height; y++) { @@ -194,7 +218,3 @@ void cEndGen::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & } // for x } // for z } - - - - diff --git a/src/Generating/EndGen.h b/src/Generating/EndGen.h index 4763352b2..3b17e14ba 100644 --- a/src/Generating/EndGen.h +++ b/src/Generating/EndGen.h @@ -16,15 +16,13 @@ -class cEndGen : - public cTerrainShapeGen, - public cTerrainCompositionGen +class cEndGen : public cTerrainShapeGen, + public cTerrainCompositionGen { -public: + public: cEndGen(int a_Seed); -protected: - + protected: /** Seed for the noise */ int m_Seed; @@ -67,4 +65,4 @@ protected: // cTerrainCompositionGen overrides: virtual void ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) override; -} ; +}; diff --git a/src/Generating/EnderDragonFightStructuresGen.cpp b/src/Generating/EnderDragonFightStructuresGen.cpp index 89292e078..ed3eaec2f 100644 --- a/src/Generating/EnderDragonFightStructuresGen.cpp +++ b/src/Generating/EnderDragonFightStructuresGen.cpp @@ -6,59 +6,106 @@ #include "../Entities/EnderCrystal.h" #include "../WorldStorage/SchematicFileSerializer.h" -const std::array cEnderDragonFightStructuresGen::m_CagePos = -{ - { - // First layer - {-2, -1, -2}, {-2, -1, -1}, {-2, -1, 0}, {-2, -1, 1}, {-2, -1, 2}, - {2, -1, -2}, {2, -1, -1}, {2, -1, 0}, {2, -1, 1}, {2, -1, 2}, - {-1, -1, -2}, {0, -1, -2}, {1, -1, -2}, - {-1, -1, 2}, {0, -1, 2}, {1, -1, 2}, - - // Second layer - {-2, 0, -2}, {-2, 0, -1}, {-2, 0, 0}, {-2, 0, 1}, {-2, 0, 2}, - {2, 0, -2}, {2, 0, -1}, {2, 0, 0}, {2, 0, 1}, {2, 0, 2}, - {-1, 0, -2}, {0, 0, -2}, {1, 0, -2}, - {-1, 0, 2}, {0, 0, 2}, {1, 0, 2}, - - // Third layer - {-2, 1, -2}, {-2, 1, -1}, {-2, 1, 0}, {-2, 1, 1}, {-2, 1, 2}, - {2, 1, -2}, {2, 1, -1}, {2, 1, 0}, {2, 1, 1}, {2, 1, 2}, - {-1, 1, -2}, {0, 1, -2}, {1, 1, -2}, - {-1, 1, 2}, {0, 1, 2}, {1, 1, 2}, - } -}; - - - - - -const std::array cEnderDragonFightStructuresGen::m_CageAir = -{ - { - // First layer - {-1, -1, -1}, {0, -1, -1}, {1, -1, -1}, - {-1, -1, 1}, {0, -1, 1}, {1, -1, 1}, - {-1, -1, 0}, {1, -1, 0}, - - // Second layer - {-1, 0, -1}, {0, 0, -1}, {1, 0, -1}, - {-1, 0, 1}, {0, 0, 1}, {1, 0, 1}, - {-1, 0, 0}, {1, 0, 0}, {0, 0, 0}, - - // Third layer - {-1, 1, -1}, {0, 1, -1}, {1, 1, -1}, - {-1, 1, 1}, {0, 1, 1}, {1, 1, 1}, - {-1, 1, 0}, {1, 1, 0}, {0, 1, 0}, - } -}; +const std::array cEnderDragonFightStructuresGen::m_CagePos = {{ + // First layer + {-2, -1, -2}, + {-2, -1, -1}, + {-2, -1, 0}, + {-2, -1, 1}, + {-2, -1, 2}, + {2, -1, -2}, + {2, -1, -1}, + {2, -1, 0}, + {2, -1, 1}, + {2, -1, 2}, + {-1, -1, -2}, + {0, -1, -2}, + {1, -1, -2}, + {-1, -1, 2}, + {0, -1, 2}, + {1, -1, 2}, + + // Second layer + {-2, 0, -2}, + {-2, 0, -1}, + {-2, 0, 0}, + {-2, 0, 1}, + {-2, 0, 2}, + {2, 0, -2}, + {2, 0, -1}, + {2, 0, 0}, + {2, 0, 1}, + {2, 0, 2}, + {-1, 0, -2}, + {0, 0, -2}, + {1, 0, -2}, + {-1, 0, 2}, + {0, 0, 2}, + {1, 0, 2}, + + // Third layer + {-2, 1, -2}, + {-2, 1, -1}, + {-2, 1, 0}, + {-2, 1, 1}, + {-2, 1, 2}, + {2, 1, -2}, + {2, 1, -1}, + {2, 1, 0}, + {2, 1, 1}, + {2, 1, 2}, + {-1, 1, -2}, + {0, 1, -2}, + {1, 1, -2}, + {-1, 1, 2}, + {0, 1, 2}, + {1, 1, 2}, +}}; + + + + + +const std::array cEnderDragonFightStructuresGen::m_CageAir = {{ + // First layer + {-1, -1, -1}, + {0, -1, -1}, + {1, -1, -1}, + {-1, -1, 1}, + {0, -1, 1}, + {1, -1, 1}, + {-1, -1, 0}, + {1, -1, 0}, + + // Second layer + {-1, 0, -1}, + {0, 0, -1}, + {1, 0, -1}, + {-1, 0, 1}, + {0, 0, 1}, + {1, 0, 1}, + {-1, 0, 0}, + {1, 0, 0}, + {0, 0, 0}, + + // Third layer + {-1, 1, -1}, + {0, 1, -1}, + {1, 1, -1}, + {-1, 1, 1}, + {0, 1, 1}, + {1, 1, 1}, + {-1, 1, 0}, + {1, 1, 0}, + {0, 1, 0}, +}}; cEnderDragonFightStructuresGen::cEnderDragonFightStructuresGen(int a_Seed) : - m_Noise(a_Seed) + m_Noise(a_Seed) { } @@ -70,13 +117,21 @@ void cEnderDragonFightStructuresGen::Init(const AString & a_TowerProperties, int { const auto ChunkWidth = cChunkDef::Width; // Loads the fountain schematic - if (!cFile::IsFile(AString("Prefabs") + cFile::GetPathSeparator() + "SinglePieceStructures" + cFile::GetPathSeparator() + "EndFountain.schematic")) + if (!cFile::IsFile( + AString("Prefabs") + cFile::GetPathSeparator() + "SinglePieceStructures" + cFile::GetPathSeparator() + + "EndFountain.schematic" + )) { - LOGWARNING("EnderDragonFightStructuresGen is missing its end fountain prefab, please update your Cuberite server files! There will be no end fountain!"); + LOGWARNING("EnderDragonFightStructuresGen is missing its end fountain prefab, please update your Cuberite " + "server files! There will be no end fountain!"); } else { - cSchematicFileSerializer::LoadFromSchematicFile(m_Fountain, AString("Prefabs") + cFile::GetPathSeparator() + "SinglePieceStructures" + cFile::GetPathSeparator() + "EndFountain.schematic"); + cSchematicFileSerializer::LoadFromSchematicFile( + m_Fountain, + AString("Prefabs") + cFile::GetPathSeparator() + "SinglePieceStructures" + cFile::GetPathSeparator() + + "EndFountain.schematic" + ); } // Reads the given tower properties @@ -87,10 +142,16 @@ void cEnderDragonFightStructuresGen::Init(const AString & a_TowerProperties, int const auto TowerPropertyVector = StringSplitAndTrim(TowerProperty, "|"); if (TowerPropertyVector.size() != 3) { - LOGWARNING("Got unknown parameters on generating obsidian pillars: %s, Please use \"Height|Radius|HasCage\"; ...", TowerProperty); + LOGWARNING( + "Got unknown parameters on generating obsidian pillars: %s, Please use \"Height|Radius|HasCage\"; ...", + TowerProperty + ); continue; } - int Height = std::min(std::stoi(TowerPropertyVector[0]), cChunkDef::Height - 2); // The highest block placed is two blocks above the given height (the cage above some towers) + int Height = std::min( + std::stoi(TowerPropertyVector[0]), + cChunkDef::Height - 2 + ); // The highest block placed is two blocks above the given height (the cage above some towers) int Radius = std::stoi(TowerPropertyVector[1]); bool HasCage; if (NoCaseCompare(TowerPropertyVector[2], "true") == 0) @@ -103,7 +164,11 @@ void cEnderDragonFightStructuresGen::Init(const AString & a_TowerProperties, int } else { - LOGWARNING("Got unknown value for boolean of the tower: %s should have a cage! %s. Tower will not be generated!", TowerProperty, TowerPropertyVector[2]); + LOGWARNING( + "Got unknown value for boolean of the tower: %s should have a cage! %s. Tower will not be generated!", + TowerProperty, + TowerPropertyVector[2] + ); continue; } TowerProperties.push_back({Vector3d(), Height, Radius, HasCage}); @@ -111,7 +176,11 @@ void cEnderDragonFightStructuresGen::Init(const AString & a_TowerProperties, int // A random angle in radian double Angle = m_Noise.IntNoise1D(m_Noise.GetSeed()) * M_PI + M_PI; // Shuffles the order of the towers - std::shuffle(TowerProperties.begin(), TowerProperties.end(), std::default_random_engine(static_cast(m_Noise.GetSeed()))); + std::shuffle( + TowerProperties.begin(), + TowerProperties.end(), + std::default_random_engine(static_cast(m_Noise.GetSeed())) + ); // Generate Positions in a circle for (size_t I = 0; I < TowerProperties.size(); I++) { @@ -119,9 +188,11 @@ void cEnderDragonFightStructuresGen::Init(const AString & a_TowerProperties, int TowerProperties[I].m_Pos = TowerPos; // Check all crossed chunks - for (int X = -TowerProperties[I].m_Radius - ChunkWidth; X <= TowerProperties[I].m_Radius + ChunkWidth; X+=std::min(TowerProperties[I].m_Radius, ChunkWidth)) + for (int X = -TowerProperties[I].m_Radius - ChunkWidth; X <= TowerProperties[I].m_Radius + ChunkWidth; + X += std::min(TowerProperties[I].m_Radius, ChunkWidth)) { - for (int Z = -TowerProperties[I].m_Radius - ChunkWidth; Z <= TowerProperties[I].m_Radius + ChunkWidth; Z+=std::min(TowerProperties[I].m_Radius, ChunkWidth)) + for (int Z = -TowerProperties[I].m_Radius - ChunkWidth; Z <= TowerProperties[I].m_Radius + ChunkWidth; + Z += std::min(TowerProperties[I].m_Radius, ChunkWidth)) { auto Chunk = cChunkDef::BlockToChunk({TowerPos.x + X, 0, TowerPos.z + Z}); // Update limits @@ -151,13 +222,11 @@ void cEnderDragonFightStructuresGen::Init(const AString & a_TowerProperties, int -void cEnderDragonFightStructuresGen::GenFinish(cChunkDesc &a_ChunkDesc) +void cEnderDragonFightStructuresGen::GenFinish(cChunkDesc & a_ChunkDesc) { auto Coords = a_ChunkDesc.GetChunkCoords(); // If not in the chunks to write - if ((Coords.m_ChunkX > m_MaxX) || - (Coords.m_ChunkX < m_MinX) || - (Coords.m_ChunkZ > m_MaxZ) || + if ((Coords.m_ChunkX > m_MaxX) || (Coords.m_ChunkX < m_MinX) || (Coords.m_ChunkZ > m_MaxZ) || (Coords.m_ChunkZ < m_MinZ)) { return; @@ -167,10 +236,11 @@ void cEnderDragonFightStructuresGen::GenFinish(cChunkDesc &a_ChunkDesc) { /* auto EnderDragon = std::make_unique(); - EnderDragon->SetPosition({0.0, static_cast(a_ChunkDesc.GetHeight(0, 0) + 20), 0.0}); // Spawns the dragon 20 blocks above the terrain at (0, 0) - a_ChunkDesc.GetEntities().emplace_back(std::move(EnderDragon)); + EnderDragon->SetPosition({0.0, static_cast(a_ChunkDesc.GetHeight(0, 0) + 20), 0.0}); // Spawns the + dragon 20 blocks above the terrain at (0, 0) a_ChunkDesc.GetEntities().emplace_back(std::move(EnderDragon)); */ // Todo: 25.10.20 - Add the ender dragon spawning when the dragon behaves properly - 12xx12 - a_ChunkDesc.WriteBlockArea(m_Fountain, + a_ChunkDesc.WriteBlockArea( + m_Fountain, static_cast(FloorC(-m_Fountain.GetSizeX() / 2)), 62, static_cast(FloorC(-m_Fountain.GetSizeX() / 2)), @@ -179,7 +249,8 @@ void cEnderDragonFightStructuresGen::GenFinish(cChunkDesc &a_ChunkDesc) } else if (Coords == cChunkCoords({-1, 0})) { - a_ChunkDesc.WriteBlockArea(m_Fountain, + a_ChunkDesc.WriteBlockArea( + m_Fountain, cChunkDef::Width - static_cast(FloorC(m_Fountain.GetSizeX() / 2)), 62, static_cast(FloorC(-m_Fountain.GetSizeZ() / 2)), @@ -188,19 +259,23 @@ void cEnderDragonFightStructuresGen::GenFinish(cChunkDesc &a_ChunkDesc) } else if (Coords == cChunkCoords({0, -1})) { - a_ChunkDesc.WriteBlockArea(m_Fountain, + a_ChunkDesc.WriteBlockArea( + m_Fountain, static_cast(FloorC(-m_Fountain.GetSizeX() / 2)), 62, cChunkDef::Width - static_cast(FloorC(m_Fountain.GetSizeZ() / 2)), - cBlockArea::msSpongePrint); + cBlockArea::msSpongePrint + ); } else if (Coords == cChunkCoords({-1, -1})) { - a_ChunkDesc.WriteBlockArea(m_Fountain, + a_ChunkDesc.WriteBlockArea( + m_Fountain, cChunkDef::Width - static_cast(FloorC(m_Fountain.GetSizeX() / 2)), 62, cChunkDef::Width - static_cast(FloorC(m_Fountain.GetSizeZ() / 2)), - cBlockArea::msSpongePrint); + cBlockArea::msSpongePrint + ); } auto It = m_TowerPos.find(Coords); if (It == m_TowerPos.end()) @@ -217,7 +292,7 @@ void cEnderDragonFightStructuresGen::GenFinish(cChunkDesc &a_ChunkDesc) -void cEnderDragonFightStructuresGen::PlaceTower(cChunkDesc &a_ChunkDesc, const sTowerProperties & a_Properties) +void cEnderDragonFightStructuresGen::PlaceTower(cChunkDesc & a_ChunkDesc, const sTowerProperties & a_Properties) { auto Pos = cChunkDef::AbsoluteToRelative(a_Properties.m_Pos, a_ChunkDesc.GetChunkCoords()); // Place obsidian pillar @@ -229,7 +304,8 @@ void cEnderDragonFightStructuresGen::PlaceTower(cChunkDesc &a_ChunkDesc, const s if (cChunkDef::IsValidRelPos(NewPos)) { // The 3 was achieved by trial and error till the shape matched the notchian implementation - if ((NewPos - Vector3i(Pos.x, 1, Pos.z)).SqrLength() < a_Properties.m_Radius * a_Properties.m_Radius - 3) + if ((NewPos - Vector3i(Pos.x, 1, Pos.z)).SqrLength() < + a_Properties.m_Radius * a_Properties.m_Radius - 3) { for (int Y = 0; Y <= a_Properties.m_Height - 2; Y++) { @@ -248,7 +324,12 @@ void cEnderDragonFightStructuresGen::PlaceTower(cChunkDesc &a_ChunkDesc, const s { if (cChunkDef::IsValidRelPos(Vector3d(Pos.x, a_Properties.m_Height, Pos.z) + Offset)) { - a_ChunkDesc.SetBlockType(Pos.x + Offset.x, a_Properties.m_Height + Offset.y, Pos.z + Offset.z, E_BLOCK_IRON_BARS); + a_ChunkDesc.SetBlockType( + Pos.x + Offset.x, + a_Properties.m_Height + Offset.y, + Pos.z + Offset.z, + E_BLOCK_IRON_BARS + ); } } // Remove any block that may generate inside the cage @@ -256,7 +337,8 @@ void cEnderDragonFightStructuresGen::PlaceTower(cChunkDesc &a_ChunkDesc, const s { if (cChunkDef::IsValidRelPos(Pos + Offset)) { - a_ChunkDesc.SetBlockType(Pos.x + Offset.x, a_Properties.m_Height + Offset.y, Pos.z + Offset.z, E_BLOCK_AIR); + a_ChunkDesc + .SetBlockType(Pos.x + Offset.x, a_Properties.m_Height + Offset.y, Pos.z + Offset.z, E_BLOCK_AIR); } } // Place roof @@ -279,7 +361,8 @@ void cEnderDragonFightStructuresGen::PlaceTower(cChunkDesc &a_ChunkDesc, const s // Spawn the fire a_ChunkDesc.SetBlockType(Pos.x, a_Properties.m_Height, Pos.z, E_BLOCK_FIRE); // Spawn the ender crystal of the origin position is in this chunk - auto EnderCrystal = std::make_unique(Vector3d(0.5, a_Properties.m_Height, 0.5) + a_Properties.m_Pos, true); + auto EnderCrystal = + std::make_unique(Vector3d(0.5, a_Properties.m_Height, 0.5) + a_Properties.m_Pos, true); a_ChunkDesc.GetEntities().emplace_back(std::move(EnderCrystal)); } } diff --git a/src/Generating/EnderDragonFightStructuresGen.h b/src/Generating/EnderDragonFightStructuresGen.h index 7d415e80b..3108d6051 100644 --- a/src/Generating/EnderDragonFightStructuresGen.h +++ b/src/Generating/EnderDragonFightStructuresGen.h @@ -9,14 +9,13 @@ https://minecraft.wiki/w/Ender_Dragon #include "FinishGen.h" -class cEnderDragonFightStructuresGen : - public cFinishGen +class cEnderDragonFightStructuresGen : public cFinishGen { -public: + public: cEnderDragonFightStructuresGen(int a_Seed); void Init(const AString & a_TowerProperties, int a_Radius); -protected: + protected: struct sTowerProperties { Vector3i m_Pos; @@ -33,6 +32,6 @@ protected: int m_MinX = -1, m_MaxX = 1, m_MinZ = -1, m_MaxZ = 1; - void GenFinish(cChunkDesc &a_ChunkDesc) override; + void GenFinish(cChunkDesc & a_ChunkDesc) override; void PlaceTower(cChunkDesc & a_ChunkDesc, const sTowerProperties & a_TowerProperties); }; diff --git a/src/Generating/FinishGen.cpp b/src/Generating/FinishGen.cpp index f899a1dbb..f8a1cb82b 100644 --- a/src/Generating/FinishGen.cpp +++ b/src/Generating/FinishGen.cpp @@ -20,14 +20,15 @@ -#define DEF_NETHER_WATER_SPRINGS "0, 1; 255, 1" -#define DEF_NETHER_LAVA_SPRINGS "0, 0; 30, 0; 31, 50; 120, 50; 127, 0" -#define DEF_OVERWORLD_WATER_SPRINGS "0, 0; 10, 10; 11, 75; 16, 83; 20, 83; 24, 78; 32, 62; 40, 40; 44, 15; 48, 7; 56, 2; 64, 1; 255, 0" -#define DEF_OVERWORLD_LAVA_SPRINGS "0, 0; 10, 5; 11, 45; 48, 2; 64, 1; 255, 0" -#define DEF_END_WATER_SPRINGS "0, 1; 255, 1" -#define DEF_END_LAVA_SPRINGS "0, 1; 255, 1" -#define DEF_ANIMAL_SPAWN_PERCENT 10 -#define DEF_NO_ANIMALS 0 +#define DEF_NETHER_WATER_SPRINGS "0, 1; 255, 1" +#define DEF_NETHER_LAVA_SPRINGS "0, 0; 30, 0; 31, 50; 120, 50; 127, 0" +#define DEF_OVERWORLD_WATER_SPRINGS \ + "0, 0; 10, 10; 11, 75; 16, 83; 20, 83; 24, 78; 32, 62; 40, 40; 44, 15; 48, 7; 56, 2; 64, 1; 255, 0" +#define DEF_OVERWORLD_LAVA_SPRINGS "0, 0; 10, 5; 11, 45; 48, 2; 64, 1; 255, 0" +#define DEF_END_WATER_SPRINGS "0, 1; 255, 1" +#define DEF_END_LAVA_SPRINGS "0, 1; 255, 1" +#define DEF_ANIMAL_SPAWN_PERCENT 10 +#define DEF_NO_ANIMALS 0 @@ -89,7 +90,13 @@ void cFinishGenNetherClumpFoliage::GenFinish(cChunkDesc & a_ChunkDesc) -void cFinishGenNetherClumpFoliage::TryPlaceClump(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_Block) +void cFinishGenNetherClumpFoliage::TryPlaceClump( + cChunkDesc & a_ChunkDesc, + int a_RelX, + int a_RelY, + int a_RelZ, + BLOCKTYPE a_Block +) { bool IsFireBlock = a_Block == E_BLOCK_FIRE; @@ -137,11 +144,8 @@ void cFinishGenNetherClumpFoliage::TryPlaceClump(cChunkDesc & a_ChunkDesc, int a int zz = a_ChunkDesc.GetChunkZ() * cChunkDef::Width + z; for (int y = MinY; y < MaxY; y++) { - if ( - ((x < 0) || (x >= cChunkDef::Width)) || - ((y < 0) || (y >= cChunkDef::Height)) || - ((z < 0) || (z >= cChunkDef::Width)) - ) + if (((x < 0) || (x >= cChunkDef::Width)) || ((y < 0) || (y >= cChunkDef::Height)) || + ((z < 0) || (z >= cChunkDef::Width))) { continue; } @@ -228,7 +232,14 @@ void cFinishGenClumpTopBlock::GenFinish(cChunkDesc & a_ChunkDesc) Weight -= Block.m_Weight; if (Weight < 0) { - TryPlaceFoliageClump(a_ChunkDesc, PosX, PosZ, Block.m_BlockType, Block.m_BlockMeta, Block.m_BlockType == E_BLOCK_BIG_FLOWER); + TryPlaceFoliageClump( + a_ChunkDesc, + PosX, + PosZ, + Block.m_BlockType, + Block.m_BlockMeta, + Block.m_BlockType == E_BLOCK_BIG_FLOWER + ); break; } } @@ -239,12 +250,21 @@ void cFinishGenClumpTopBlock::GenFinish(cChunkDesc & a_ChunkDesc) -void cFinishGenClumpTopBlock::TryPlaceFoliageClump(cChunkDesc & a_ChunkDesc, int a_CenterX, int a_CenterZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, bool a_IsDoubleTall) +void cFinishGenClumpTopBlock::TryPlaceFoliageClump( + cChunkDesc & a_ChunkDesc, + int a_CenterX, + int a_CenterZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + bool a_IsDoubleTall +) { int ChunkX = a_ChunkDesc.GetChunkX(); int ChunkZ = a_ChunkDesc.GetChunkZ(); - int NumBlocks = m_Noise.IntNoise2DInt(a_CenterX + ChunkX * 16, a_CenterZ + ChunkZ * 16) % (MAX_NUM_FOLIAGE - MIN_NUM_FOLIAGE) + MIN_NUM_FOLIAGE + 1; + int NumBlocks = + m_Noise.IntNoise2DInt(a_CenterX + ChunkX * 16, a_CenterZ + ChunkZ * 16) % (MAX_NUM_FOLIAGE - MIN_NUM_FOLIAGE) + + MIN_NUM_FOLIAGE + 1; for (int i = 1; i < NumBlocks; i++) { int Rnd = m_Noise.IntNoise2DInt(ChunkX + ChunkZ + i, ChunkX - ChunkZ - i) / 59; @@ -259,11 +279,9 @@ void cFinishGenClumpTopBlock::TryPlaceFoliageClump(cChunkDesc & a_ChunkDesc, int } auto GroundBlockType = a_ChunkDesc.GetBlockType(x, Top, z); - if ( - (GroundBlockType == E_BLOCK_GRASS) || ( - (GroundBlockType == E_BLOCK_MYCELIUM) && ((a_BlockType == E_BLOCK_RED_MUSHROOM) || (a_BlockType == E_BLOCK_BROWN_MUSHROOM)) - ) - ) + if ((GroundBlockType == E_BLOCK_GRASS) || + ((GroundBlockType == E_BLOCK_MYCELIUM) && + ((a_BlockType == E_BLOCK_RED_MUSHROOM) || (a_BlockType == E_BLOCK_BROWN_MUSHROOM)))) { a_ChunkDesc.SetBlockTypeMeta(x, Top + 1, z, a_BlockType, a_BlockMeta); if (a_IsDoubleTall) @@ -277,14 +295,16 @@ void cFinishGenClumpTopBlock::TryPlaceFoliageClump(cChunkDesc & a_ChunkDesc, int } } } - } -void cFinishGenClumpTopBlock::ParseConfigurationString(const AString & a_RawClumpInfo, std::vector & a_Output) +void cFinishGenClumpTopBlock::ParseConfigurationString( + const AString & a_RawClumpInfo, + std::vector & a_Output +) { // Initialize the vector for all biomes. for (int i = static_cast(a_Output.size()); i <= static_cast(biMaxVariantBiome); i++) @@ -298,7 +318,10 @@ void cFinishGenClumpTopBlock::ParseConfigurationString(const AString & a_RawClum // Information about a clump is divided in 2 parts. The biomes they can be in and the blocks that can be placed. if (ClumpInfo.size() != 2) { - LOGWARNING("OverworldClumpFoliage: Data missing for \"%s\". Please divide biome and blocks with a semi colon", a_RawClumpInfo.c_str()); + LOGWARNING( + "OverworldClumpFoliage: Data missing for \"%s\". Please divide biome and blocks with a semi colon", + a_RawClumpInfo.c_str() + ); return; } @@ -325,13 +348,19 @@ void cFinishGenClumpTopBlock::ParseConfigurationString(const AString & a_RawClum int MinNumClump = 1; if (!StringToInteger(BiomeInfo[1], MinNumClump)) { - LOGWARNING("OverworldClumpFoliage: Invalid data in \"%s\". Second parameter is either not existing or a number", RawBiomeInfo.c_str()); + LOGWARNING( + "OverworldClumpFoliage: Invalid data in \"%s\". Second parameter is either not existing or a " + "number", + RawBiomeInfo.c_str() + ); continue; } a_Output[BiomeIndex].m_MinNumClumpsPerChunk = MinNumClump; - // In case the minimum number is higher than the current maximum value we change the max to the minimum value. - a_Output[BiomeIndex].m_MaxNumClumpsPerChunk = std::max(MinNumClump, a_Output[BiomeIndex].m_MaxNumClumpsPerChunk); + // In case the minimum number is higher than the current maximum value we change the max to the minimum + // value. + a_Output[BiomeIndex].m_MaxNumClumpsPerChunk = + std::max(MinNumClump, a_Output[BiomeIndex].m_MaxNumClumpsPerChunk); } else if (BiomeInfo.size() == 3) { @@ -339,7 +368,10 @@ void cFinishGenClumpTopBlock::ParseConfigurationString(const AString & a_RawClum int MinNumClumps = 0, MaxNumClumps = 1; if (!StringToInteger(BiomeInfo[1], MinNumClumps) || !StringToInteger(BiomeInfo[2], MaxNumClumps)) { - LOGWARNING("Invalid data in \"%s\". Second parameter is either not existing or a number", RawBiomeInfo.c_str()); + LOGWARNING( + "Invalid data in \"%s\". Second parameter is either not existing or a number", + RawBiomeInfo.c_str() + ); continue; } @@ -359,7 +391,9 @@ void cFinishGenClumpTopBlock::ParseConfigurationString(const AString & a_RawClum // Construct the FoliageInfo: a_Output[BiomeIndex].m_Blocks.emplace_back( - static_cast(Block.m_ItemType), static_cast(Block.m_ItemDamage), 100 + static_cast(Block.m_ItemType), + static_cast(Block.m_ItemDamage), + 100 ); } } @@ -369,7 +403,10 @@ void cFinishGenClumpTopBlock::ParseConfigurationString(const AString & a_RawClum -std::vector cFinishGenClumpTopBlock::ParseIniFile(cIniFile & a_IniFile, const AString & a_ClumpPrefix) +std::vector cFinishGenClumpTopBlock::ParseIniFile( + cIniFile & a_IniFile, + const AString & a_ClumpPrefix +) { std::vector Foliage; int NumGeneratorValues = a_IniFile.GetNumValues("Generator"); @@ -386,14 +423,64 @@ std::vector cFinishGenClumpTopBlock::ParseIn if (Foliage.empty()) { - cFinishGenClumpTopBlock::ParseConfigurationString(a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-1", "Forest, -2, 2; ForestHills, -3, 2; FlowerForest = yellowflower; redflower; lilac; rosebush"), Foliage); - cFinishGenClumpTopBlock::ParseConfigurationString(a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-2", "Plains, -2, 1; SunflowerPlains = yellowflower; redflower; azurebluet; redtulip; orangetulip; whitetulip; pinktulip; oxeyedaisy"), Foliage); - cFinishGenClumpTopBlock::ParseConfigurationString(a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-3", "SunflowerPlains, 1, 2 = sunflower"), Foliage); - cFinishGenClumpTopBlock::ParseConfigurationString(a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-4", "FlowerForest, 2, 5 = allium; redtulip; orangetulip; whitetulip; pinktulip; oxeyedaisy"), Foliage); - cFinishGenClumpTopBlock::ParseConfigurationString(a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-5", "Swampland; SwamplandM = brownmushroom; redmushroom; blueorchid"), Foliage); - cFinishGenClumpTopBlock::ParseConfigurationString(a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-6", "MushroomIsland; MushroomShore; MegaTaiga; MegaTaigaHills; MegaSpruceTaiga; MegaSpruceTaigaHills = brownmushroom; redmushroom"), Foliage); - cFinishGenClumpTopBlock::ParseConfigurationString(a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-7", "RoofedForest, 1, 5; RoofedForestM, 1, 5 = rosebush; peony; lilac; grass"), Foliage); - cFinishGenClumpTopBlock::ParseConfigurationString(a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-8", "MegaTaiga; MegaTaigaHills = deadbush"), Foliage); + cFinishGenClumpTopBlock::ParseConfigurationString( + a_IniFile.GetValueSet( + "Generator", + a_ClumpPrefix + "-1", + "Forest, -2, 2; ForestHills, -3, 2; FlowerForest = yellowflower; redflower; lilac; rosebush" + ), + Foliage + ); + cFinishGenClumpTopBlock::ParseConfigurationString( + a_IniFile.GetValueSet( + "Generator", + a_ClumpPrefix + "-2", + "Plains, -2, 1; SunflowerPlains = yellowflower; redflower; azurebluet; redtulip; orangetulip; " + "whitetulip; pinktulip; oxeyedaisy" + ), + Foliage + ); + cFinishGenClumpTopBlock::ParseConfigurationString( + a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-3", "SunflowerPlains, 1, 2 = sunflower"), + Foliage + ); + cFinishGenClumpTopBlock::ParseConfigurationString( + a_IniFile.GetValueSet( + "Generator", + a_ClumpPrefix + "-4", + "FlowerForest, 2, 5 = allium; redtulip; orangetulip; whitetulip; pinktulip; oxeyedaisy" + ), + Foliage + ); + cFinishGenClumpTopBlock::ParseConfigurationString( + a_IniFile.GetValueSet( + "Generator", + a_ClumpPrefix + "-5", + "Swampland; SwamplandM = brownmushroom; redmushroom; blueorchid" + ), + Foliage + ); + cFinishGenClumpTopBlock::ParseConfigurationString( + a_IniFile.GetValueSet( + "Generator", + a_ClumpPrefix + "-6", + "MushroomIsland; MushroomShore; MegaTaiga; MegaTaigaHills; MegaSpruceTaiga; MegaSpruceTaigaHills = " + "brownmushroom; redmushroom" + ), + Foliage + ); + cFinishGenClumpTopBlock::ParseConfigurationString( + a_IniFile.GetValueSet( + "Generator", + a_ClumpPrefix + "-7", + "RoofedForest, 1, 5; RoofedForestM, 1, 5 = rosebush; peony; lilac; grass" + ), + Foliage + ); + cFinishGenClumpTopBlock::ParseConfigurationString( + a_IniFile.GetValueSet("Generator", a_ClumpPrefix + "-8", "MegaTaiga; MegaTaigaHills = deadbush"), + Foliage + ); } return Foliage; @@ -411,7 +498,8 @@ void cFinishGenGlowStone::GenFinish(cChunkDesc & a_ChunkDesc) int ChunkX = a_ChunkDesc.GetChunkX(); int ChunkZ = a_ChunkDesc.GetChunkZ(); - // Change the number of attempts to create a vein depending on the maximum height of the chunk. A standard Nether could have 5 veins at most. + // Change the number of attempts to create a vein depending on the maximum height of the chunk. A standard Nether + // could have 5 veins at most. int NumGlowStone = m_Noise.IntNoise2DInt(ChunkX, ChunkZ) % a_ChunkDesc.GetMaxHeight() / 23; for (int i = 1; i <= NumGlowStone; i++) @@ -421,7 +509,7 @@ void cFinishGenGlowStone::GenFinish(cChunkDesc & a_ChunkDesc) // Generate X / Z coordinates. int X = Size + (m_Noise.IntNoise2DInt(i, Size) % (cChunkDef::Width - Size * 2)); - int Z = Size + (m_Noise.IntNoise2DInt(X, i) % (cChunkDef::Width - Size * 2)); + int Z = Size + (m_Noise.IntNoise2DInt(X, i) % (cChunkDef::Width - Size * 2)); int Height = a_ChunkDesc.GetHeight(X, Z); for (int y = Height; y > Size; y--) @@ -454,22 +542,32 @@ void cFinishGenGlowStone::GenFinish(cChunkDesc & a_ChunkDesc) -void cFinishGenGlowStone::TryPlaceGlowstone(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ, int a_Size, int a_NumStrings) +void cFinishGenGlowStone::TryPlaceGlowstone( + cChunkDesc & a_ChunkDesc, + int a_RelX, + int a_RelY, + int a_RelZ, + int a_Size, + int a_NumStrings +) { // The starting point of every glowstone string Vector3i StartPoint = Vector3i(a_RelX, a_RelY, a_RelZ); // Array with possible directions for a string of glowstone to go to. - const Vector3i AvailableDirections[] = - { - { -1, 0, 0 }, { 1, 0, 0 }, - { 0, -1, 0 }, // Don't let the glowstone go up - { 0, 0, -1 }, { 0, 0, 1 }, + const Vector3i AvailableDirections[] = { + {-1, 0, 0}, + {1, 0, 0}, + {0, -1, 0}, // Don't let the glowstone go up + {0, 0, -1}, + {0, 0, 1}, // Diagonal direction. Only X or Z with Y. // If all were changed the glowstone string looks awkward - { 0, -1, 1 }, { 1, -1, 0 }, - { 0, -1, -1 }, { -1, -1, 0 }, + {0, -1, 1}, + {1, -1, 0}, + {0, -1, -1}, + {-1, -1, 0}, }; @@ -484,13 +582,18 @@ void cFinishGenGlowStone::TryPlaceGlowstone(cChunkDesc & a_ChunkDesc, int a_RelX for (int j = 0; j < a_Size; j++) { - Vector3i Direction = AvailableDirections[static_cast(m_Noise.IntNoise3DInt(CurrentPos.x, CurrentPos.y * i, CurrentPos.z)) % ARRAYCOUNT(AvailableDirections)]; + Vector3i Direction = AvailableDirections + [static_cast(m_Noise.IntNoise3DInt(CurrentPos.x, CurrentPos.y * i, CurrentPos.z)) % + ARRAYCOUNT(AvailableDirections)]; int Attempts = 2; // multiply by 1 would make no difference, so multiply by 2 instead while (Direction.Equals(PreviousDirection)) { // To make the glowstone branches look better we want to make the direction change every time. - Direction = AvailableDirections[static_cast(m_Noise.IntNoise3DInt(CurrentPos.x, CurrentPos.y * i * Attempts, CurrentPos.z)) % ARRAYCOUNT(AvailableDirections)]; + Direction = AvailableDirections + [static_cast(m_Noise.IntNoise3DInt(CurrentPos.x, CurrentPos.y * i * Attempts, CurrentPos.z) + ) % + ARRAYCOUNT(AvailableDirections)]; Attempts++; } @@ -499,7 +602,8 @@ void cFinishGenGlowStone::TryPlaceGlowstone(cChunkDesc & a_ChunkDesc, int a_RelX // Update the position of the glowstone string CurrentPos += Direction; - if (cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(CurrentPos.x, CurrentPos.y, CurrentPos.z)) && (a_ChunkDesc.GetBlockType(CurrentPos.x, CurrentPos.y, CurrentPos.z) != E_BLOCK_GLOWSTONE)) + if (cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(CurrentPos.x, CurrentPos.y, CurrentPos.z)) && + (a_ChunkDesc.GetBlockType(CurrentPos.x, CurrentPos.y, CurrentPos.z) != E_BLOCK_GLOWSTONE)) { // The glowstone hit something solid, and it wasn't glowstone. Stop the string. break; @@ -529,7 +633,8 @@ void cFinishGenTallGrass::GenFinish(cChunkDesc & a_ChunkDesc) int BiomeDensity = GetBiomeDensity(a_ChunkDesc.GetBiome(x, z)); // Choose if we want to place long grass here. If not then bail out: - if ((m_Noise.IntNoise2DInt(xx + m_Noise.IntNoise1DInt(xx), zz + m_Noise.IntNoise1DInt(zz)) / 7 % 100) > BiomeDensity) + if ((m_Noise.IntNoise2DInt(xx + m_Noise.IntNoise1DInt(xx), zz + m_Noise.IntNoise1DInt(zz)) / 7 % 100) > + BiomeDensity) { continue; } @@ -546,13 +651,8 @@ void cFinishGenTallGrass::GenFinish(cChunkDesc & a_ChunkDesc) auto BlockBelow = a_ChunkDesc.GetBlockType(x, y - 1, z); bool failed = false; // marker if the search for a valid position was successful - while ( - (BlockBelow == E_BLOCK_LEAVES) || - (BlockBelow == E_BLOCK_NEW_LEAVES) || - (BlockBelow == E_BLOCK_LOG) || - (BlockBelow == E_BLOCK_NEW_LOG) || - (BlockBelow == E_BLOCK_AIR) - ) + while ((BlockBelow == E_BLOCK_LEAVES) || (BlockBelow == E_BLOCK_NEW_LEAVES) || + (BlockBelow == E_BLOCK_LOG) || (BlockBelow == E_BLOCK_NEW_LOG) || (BlockBelow == E_BLOCK_AIR)) { y--; if (!cChunkDef::IsValidHeight({x, y - 1, z})) @@ -569,11 +669,11 @@ void cFinishGenTallGrass::GenFinish(cChunkDesc & a_ChunkDesc) } // Check if long grass can be placed: - if ( - (a_ChunkDesc.GetBlockType(x, y, z) != E_BLOCK_AIR) || - ((a_ChunkDesc.GetBlockType(x, y - 1, z) != E_BLOCK_GRASS) && (a_ChunkDesc.GetBlockType(x, y - 1, z) != E_BLOCK_DIRT)) + if ((a_ChunkDesc.GetBlockType(x, y, z) != E_BLOCK_AIR) || + ((a_ChunkDesc.GetBlockType(x, y - 1, z) != E_BLOCK_GRASS) && + (a_ChunkDesc.GetBlockType(x, y - 1, z) != E_BLOCK_DIRT)) - ) + ) { continue; } @@ -596,7 +696,9 @@ void cFinishGenTallGrass::GenFinish(cChunkDesc & a_ChunkDesc) NIBBLETYPE Meta; if (CanGrassGrow(a_ChunkDesc.GetBiome(x, z))) { - Meta = (m_Noise.IntNoise2DInt(xx * 100, zz * 100) / 7 % 100) > 25 ? E_META_BIG_FLOWER_DOUBLE_TALL_GRASS : E_META_BIG_FLOWER_LARGE_FERN; + Meta = (m_Noise.IntNoise2DInt(xx * 100, zz * 100) / 7 % 100) > 25 + ? E_META_BIG_FLOWER_DOUBLE_TALL_GRASS + : E_META_BIG_FLOWER_LARGE_FERN; } else { @@ -849,10 +951,7 @@ bool cFinishGenSprinkleFoliage::TryAddCactus(cChunkDesc & a_ChunkDesc, int a_Rel } // We'll be doing comparison to neighbors, so require the coords to be 1 block away from the chunk edges: - if ( - (a_RelX < 1) || (a_RelX >= cChunkDef::Width - 1) || - (a_RelZ < 1) || (a_RelZ >= cChunkDef::Width - 1) - ) + if ((a_RelX < 1) || (a_RelX >= cChunkDef::Width - 1) || (a_RelZ < 1) || (a_RelZ >= cChunkDef::Width - 1)) { return false; } @@ -862,12 +961,10 @@ bool cFinishGenSprinkleFoliage::TryAddCactus(cChunkDesc & a_ChunkDesc, int a_Rel const bool cactusExists = i != 0; const int y = a_RelY + 1; - if ( - cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(a_RelX + 1, y, a_RelZ)) || - cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(a_RelX - 1, y, a_RelZ)) || - cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(a_RelX, y, a_RelZ + 1)) || - cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(a_RelX, y, a_RelZ - 1)) - ) + if (cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(a_RelX + 1, y, a_RelZ)) || + cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(a_RelX - 1, y, a_RelZ)) || + cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(a_RelX, y, a_RelZ + 1)) || + cBlockInfo::IsSolid(a_ChunkDesc.GetBlockType(a_RelX, y, a_RelZ - 1))) { return cactusExists; } @@ -909,22 +1006,17 @@ bool cFinishGenSprinkleFoliage::TryAddSugarcane(cChunkDesc & a_ChunkDesc, int a_ } // We'll be doing comparison to neighbors, so require the coords to be 1 block away from the chunk edges: - if ( - (a_RelX < 1) || (a_RelX >= cChunkDef::Width - 1) || - (a_RelZ < 1) || (a_RelZ >= cChunkDef::Width - 1) - ) + if ((a_RelX < 1) || (a_RelX >= cChunkDef::Width - 1) || (a_RelZ < 1) || (a_RelZ >= cChunkDef::Width - 1)) { return false; } // Water is required next to the block below the sugarcane (if the block below isn't sugarcane already) - if ( - !IsWater(a_ChunkDesc.GetBlockType(a_RelX - 1, a_RelY, a_RelZ)) && + if (!IsWater(a_ChunkDesc.GetBlockType(a_RelX - 1, a_RelY, a_RelZ)) && !IsWater(a_ChunkDesc.GetBlockType(a_RelX + 1, a_RelY, a_RelZ)) && - !IsWater(a_ChunkDesc.GetBlockType(a_RelX, a_RelY, a_RelZ - 1)) && - !IsWater(a_ChunkDesc.GetBlockType(a_RelX, a_RelY, a_RelZ + 1)) && - a_ChunkDesc.GetBlockType(a_RelX, a_RelY, a_RelZ) != E_BLOCK_SUGARCANE - ) + !IsWater(a_ChunkDesc.GetBlockType(a_RelX, a_RelY, a_RelZ - 1)) && + !IsWater(a_ChunkDesc.GetBlockType(a_RelX, a_RelY, a_RelZ + 1)) && + a_ChunkDesc.GetBlockType(a_RelX, a_RelY, a_RelZ) != E_BLOCK_SUGARCANE) { return false; } @@ -972,7 +1064,7 @@ void cFinishGenSprinkleFoliage::GenFinish(cChunkDesc & a_ChunkDesc) } const float xx = static_cast(BlockX); - float val1 = m_Noise.CubicNoise2D(xx * 0.1f, zz * 0.1f); + float val1 = m_Noise.CubicNoise2D(xx * 0.1f, zz * 0.1f); float val2 = m_Noise.CubicNoise2D(xx * 0.01f, zz * 0.01f); switch (a_ChunkDesc.GetBlockType(x, Top, z)) { @@ -1017,12 +1109,7 @@ void cFinishGenSprinkleFoliage::GenFinish(cChunkDesc & a_ChunkDesc) bool cFinishGenSprinkleFoliage::IsDesertVariant(EMCSBiome a_Biome) { - return - ( - (a_Biome == biDesertHills) || - (a_Biome == biDesert) || - (a_Biome == biDesertM) - ); + return ((a_Biome == biDesertHills) || (a_Biome == biDesert) || (a_Biome == biDesertM)); } @@ -1055,12 +1142,10 @@ void cFinishGenSoulsandRims::GenFinish(cChunkDesc & a_ChunkDesc) continue; } - if ( - ((a_ChunkDesc.GetBlockType(x, y + 1, z) != E_BLOCK_AIR) && - ( a_ChunkDesc.GetBlockType(x, y + 2, z) != E_BLOCK_AIR)) || + if (((a_ChunkDesc.GetBlockType(x, y + 1, z) != E_BLOCK_AIR) && + (a_ChunkDesc.GetBlockType(x, y + 2, z) != E_BLOCK_AIR)) || ((a_ChunkDesc.GetBlockType(x, y - 1, z) != E_BLOCK_AIR) && - ( a_ChunkDesc.GetBlockType(x, y - 2, z) != E_BLOCK_AIR)) - ) + (a_ChunkDesc.GetBlockType(x, y - 2, z) != E_BLOCK_AIR))) { continue; } @@ -1225,14 +1310,15 @@ void cFinishGenBottomLava::GenFinish(cChunkDesc & a_ChunkDesc) cChunkDef::BlockTypes & BlockTypes = a_ChunkDesc.GetBlockTypes(); for (int y = m_Level; y > 0; y--) { - for (int z = 0; z < cChunkDef::Width; z++) for (int x = 0; x < cChunkDef::Width; x++) - { - const auto Index = cChunkDef::MakeIndex(x, y, z); - if (BlockTypes[Index] == E_BLOCK_AIR) + for (int z = 0; z < cChunkDef::Width; z++) + for (int x = 0; x < cChunkDef::Width; x++) { - BlockTypes[Index] = E_BLOCK_STATIONARY_LAVA; - } - } // for x, for z + const auto Index = cChunkDef::MakeIndex(x, y, z); + if (BlockTypes[Index] == E_BLOCK_AIR) + { + BlockTypes[Index] = E_BLOCK_STATIONARY_LAVA; + } + } // for x, for z } // for y } @@ -1243,7 +1329,11 @@ void cFinishGenBottomLava::GenFinish(cChunkDesc & a_ChunkDesc) //////////////////////////////////////////////////////////////////////////////// // cFinishGenPreSimulator: -cFinishGenPreSimulator::cFinishGenPreSimulator(bool a_PreSimulateFallingBlocks, bool a_PreSimulateWater, bool a_PreSimulateLava) : +cFinishGenPreSimulator::cFinishGenPreSimulator( + bool a_PreSimulateFallingBlocks, + bool a_PreSimulateWater, + bool a_PreSimulateLava +) : m_PreSimulateFallingBlocks(a_PreSimulateFallingBlocks), m_PreSimulateWater(a_PreSimulateWater), m_PreSimulateLava(a_PreSimulateLava) @@ -1264,12 +1354,22 @@ void cFinishGenPreSimulator::GenFinish(cChunkDesc & a_ChunkDesc) if (m_PreSimulateWater) { - StationarizeFluid(a_ChunkDesc.GetBlockTypes(), a_ChunkDesc.GetHeightMap(), E_BLOCK_WATER, E_BLOCK_STATIONARY_WATER); + StationarizeFluid( + a_ChunkDesc.GetBlockTypes(), + a_ChunkDesc.GetHeightMap(), + E_BLOCK_WATER, + E_BLOCK_STATIONARY_WATER + ); } if (m_PreSimulateLava) { - StationarizeFluid(a_ChunkDesc.GetBlockTypes(), a_ChunkDesc.GetHeightMap(), E_BLOCK_LAVA, E_BLOCK_STATIONARY_LAVA); + StationarizeFluid( + a_ChunkDesc.GetBlockTypes(), + a_ChunkDesc.GetHeightMap(), + E_BLOCK_LAVA, + E_BLOCK_STATIONARY_LAVA + ); } // TODO: other operations } @@ -1341,8 +1441,8 @@ void cFinishGenPreSimulator::CollapseSandGravel(cChunkDesc & a_ChunkDesc) void cFinishGenPreSimulator::StationarizeFluid( - cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change - cChunkDef::HeightMap & a_HeightMap, // Height map to read + cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change + cChunkDef::HeightMap & a_HeightMap, // Height map to read BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid ) @@ -1362,14 +1462,7 @@ void cFinishGenPreSimulator::StationarizeFluid( static const struct { int x, y, z; - } Coords[] = - { - {1, 0, 0}, - {-1, 0, 0}, - {0, 0, 1}, - {0, 0, -1}, - {0, -1, 0} - } ; + } Coords[] = {{1, 0, 0}, {-1, 0, 0}, {0, 0, 1}, {0, 0, -1}, {0, -1, 0}}; BLOCKTYPE BlockToSet = a_StationaryFluid; // By default, don't simulate this block for (size_t i = 0; i < ARRAYCOUNT(Coords); i++) { @@ -1377,7 +1470,8 @@ void cFinishGenPreSimulator::StationarizeFluid( { continue; } - BLOCKTYPE Neighbor = cChunkDef::GetBlock(a_BlockTypes, x + Coords[i].x, y + Coords[i].y, z + Coords[i].z); + BLOCKTYPE Neighbor = + cChunkDef::GetBlock(a_BlockTypes, x + Coords[i].x, y + Coords[i].y, z + Coords[i].z); if ((Neighbor == E_BLOCK_AIR) || cFluidSimulator::CanWashAway(Neighbor)) { // There is an air / washable neighbor, simulate this block @@ -1422,8 +1516,15 @@ void cFinishGenPreSimulator::StationarizeFluid( //////////////////////////////////////////////////////////////////////////////// // cFinishGenFluidSprings: -cFinishGenFluidSprings::cFinishGenFluidSprings(int a_Seed, BLOCKTYPE a_Fluid, cIniFile & a_IniFile, eDimension a_Dimension) : - m_Noise(a_Seed + a_Fluid * 100), // Need to take fluid into account, otherwise water and lava springs generate next to each other +cFinishGenFluidSprings::cFinishGenFluidSprings( + int a_Seed, + BLOCKTYPE a_Fluid, + cIniFile & a_IniFile, + eDimension a_Dimension +) : + m_Noise( + a_Seed + a_Fluid * 100 + ), // Need to take fluid into account, otherwise water and lava springs generate next to each other m_HeightDistribution(cChunkDef::Height - 1), m_Fluid(a_Fluid) { @@ -1460,7 +1561,8 @@ cFinishGenFluidSprings::cFinishGenFluidSprings(int a_Seed, BLOCKTYPE a_Fluid, cI AString HeightDistribution = a_IniFile.GetValueSet(SectionName, "HeightDistribution", DefaultHeightDistribution); if (!m_HeightDistribution.SetDefString(HeightDistribution) || (m_HeightDistribution.GetSum() <= 0)) { - LOGWARNING("[%sSprings]: HeightDistribution is invalid, using the default of \"%s\".", + LOGWARNING( + "[%sSprings]: HeightDistribution is invalid, using the default of \"%s\".", (a_Fluid == E_BLOCK_WATER) ? "Water" : "Lava", DefaultHeightDistribution.c_str() ); @@ -1475,7 +1577,8 @@ cFinishGenFluidSprings::cFinishGenFluidSprings(int a_Seed, BLOCKTYPE a_Fluid, cI void cFinishGenFluidSprings::GenFinish(cChunkDesc & a_ChunkDesc) { - int ChanceRnd = (m_Noise.IntNoise3DInt(128 * a_ChunkDesc.GetChunkX(), 512, 256 * a_ChunkDesc.GetChunkZ()) / 13) % 100; + int ChanceRnd = + (m_Noise.IntNoise3DInt(128 * a_ChunkDesc.GetChunkX(), 512, 256 * a_ChunkDesc.GetChunkZ()) / 13) % 100; if (ChanceRnd > m_Chance) { // Not in this chunk @@ -1528,14 +1631,13 @@ bool cFinishGenFluidSprings::TryPlaceSpring(cChunkDesc & a_ChunkDesc, int x, int static const struct { int x, y, z; - } Coords[] = - { - {-1, 0, 0}, - { 1, 0, 0}, - { 0, -1, 0}, - { 0, 0, -1}, - { 0, 0, 1}, - } ; + } Coords[] = { + {-1, 0, 0}, + {1, 0, 0}, + {0, -1, 0}, + {0, 0, -1}, + {0, 0, 1}, + }; int NumAirNeighbors = 0; for (size_t i = 0; i < ARRAYCOUNT(Coords); i++) { @@ -1593,10 +1695,14 @@ cFinishGenPassiveMobs::cFinishGenPassiveMobs(int a_Seed, cIniFile & a_IniFile, e break; } } // switch (dimension) - m_AnimalProbability = a_IniFile.GetValueSetI(SectionName, "AnimalSpawnChunkPercentage", DefaultAnimalSpawnChunkPercentage); + m_AnimalProbability = + a_IniFile.GetValueSetI(SectionName, "AnimalSpawnChunkPercentage", DefaultAnimalSpawnChunkPercentage); if ((m_AnimalProbability < 0) || (m_AnimalProbability > 100)) { - LOGWARNING("[Animals]: AnimalSpawnChunkPercentage is invalid, using the default of \"%d\".", DefaultAnimalSpawnChunkPercentage); + LOGWARNING( + "[Animals]: AnimalSpawnChunkPercentage is invalid, using the default of \"%d\".", + DefaultAnimalSpawnChunkPercentage + ); m_AnimalProbability = DefaultAnimalSpawnChunkPercentage; } } @@ -1627,7 +1733,13 @@ void cFinishGenPassiveMobs::GenFinish(cChunkDesc & a_ChunkDesc) { int PackCenterX = (m_Noise.IntNoise2DInt(chunkX + chunkZ, Tries) / 7) % cChunkDef::Width; int PackCenterZ = (m_Noise.IntNoise2DInt(chunkX, chunkZ + Tries) / 7) % cChunkDef::Width; - if (TrySpawnAnimals(a_ChunkDesc, PackCenterX, a_ChunkDesc.GetHeight(PackCenterX, PackCenterZ), PackCenterZ, RandomMob)) + if (TrySpawnAnimals( + a_ChunkDesc, + PackCenterX, + a_ChunkDesc.GetHeight(PackCenterX, PackCenterZ), + PackCenterZ, + RandomMob + )) { for (int i = 0; i < 3; i++) { @@ -1645,15 +1757,21 @@ void cFinishGenPassiveMobs::GenFinish(cChunkDesc & a_ChunkDesc) -bool cFinishGenPassiveMobs::TrySpawnAnimals(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ, eMonsterType AnimalToSpawn) +bool cFinishGenPassiveMobs::TrySpawnAnimals( + cChunkDesc & a_ChunkDesc, + int a_RelX, + int a_RelY, + int a_RelZ, + eMonsterType AnimalToSpawn +) { if ((a_RelY >= cChunkDef::Height - 1) || (a_RelY <= 0)) { return false; } - BLOCKTYPE BlockAtHead = a_ChunkDesc.GetBlockType(a_RelX, a_RelY + 1, a_RelZ); - BLOCKTYPE BlockAtFeet = a_ChunkDesc.GetBlockType(a_RelX, a_RelY, a_RelZ); + BLOCKTYPE BlockAtHead = a_ChunkDesc.GetBlockType(a_RelX, a_RelY + 1, a_RelZ); + BLOCKTYPE BlockAtFeet = a_ChunkDesc.GetBlockType(a_RelX, a_RelY, a_RelZ); BLOCKTYPE BlockUnderFeet = a_ChunkDesc.GetBlockType(a_RelX, a_RelY - 1, a_RelZ); // Check block below (opaque, grass, water), and above (air) @@ -1661,19 +1779,14 @@ bool cFinishGenPassiveMobs::TrySpawnAnimals(cChunkDesc & a_ChunkDesc, int a_RelX { return false; } - if ( - (AnimalToSpawn != mtSquid) && - (BlockAtHead != E_BLOCK_AIR) && - (BlockAtFeet != E_BLOCK_AIR) && - (!cBlockInfo::IsTransparent(BlockUnderFeet)) - ) + if ((AnimalToSpawn != mtSquid) && (BlockAtHead != E_BLOCK_AIR) && (BlockAtFeet != E_BLOCK_AIR) && + (!cBlockInfo::IsTransparent(BlockUnderFeet))) { return false; } - if ( - (BlockUnderFeet != E_BLOCK_GRASS) && - ((AnimalToSpawn == mtWolf) || (AnimalToSpawn == mtRabbit) || (AnimalToSpawn == mtCow) || (AnimalToSpawn == mtSheep) || (AnimalToSpawn == mtChicken) || (AnimalToSpawn == mtPig)) - ) + if ((BlockUnderFeet != E_BLOCK_GRASS) && + ((AnimalToSpawn == mtWolf) || (AnimalToSpawn == mtRabbit) || (AnimalToSpawn == mtCow) || + (AnimalToSpawn == mtSheep) || (AnimalToSpawn == mtChicken) || (AnimalToSpawn == mtPig))) { return false; } @@ -1720,7 +1833,8 @@ eMonsterType cFinishGenPassiveMobs::GetRandomMob(cChunkDesc & a_ChunkDesc) return mtInvalidType; } - auto RandMob = (static_cast(m_Noise.IntNoise2DInt(chunkX - chunkZ + 2, chunkX + 5) / 7) % ListOfSpawnables.size()); + auto RandMob = + (static_cast(m_Noise.IntNoise2DInt(chunkX - chunkZ + 2, chunkX + 5) / 7) % ListOfSpawnables.size()); return ListOfSpawnables[RandMob]; } @@ -1736,12 +1850,15 @@ void cFinishGenOres::GenFinish(cChunkDesc & a_ChunkDesc) int seq = 1; // Generate the ores from the ore list. - for (const auto & ore: m_OreInfos) + for (const auto & ore : m_OreInfos) { GenerateOre( a_ChunkDesc, - ore.m_BlockType, ore.m_BlockMeta, - ore.m_MaxHeight, ore.m_NumNests, ore.m_NestSize, + ore.m_BlockType, + ore.m_BlockMeta, + ore.m_MaxHeight, + ore.m_NumNests, + ore.m_NestSize, seq ); seq++; @@ -1754,17 +1871,16 @@ void cFinishGenOres::GenFinish(cChunkDesc & a_ChunkDesc) const cFinishGenOres::OreInfos & cFinishGenOres::DefaultOverworldOres(void) { - static OreInfos res - { + static OreInfos res { // OreType, OreMeta, MaxHeight, NumNests, NestSize - {E_BLOCK_COAL_ORE, 0, 127, 20, 16}, - {E_BLOCK_IRON_ORE, 0, 64, 20, 8}, - {E_BLOCK_GOLD_ORE, 0, 32, 2, 8}, - {E_BLOCK_REDSTONE_ORE, 0, 16, 8, 7}, - {E_BLOCK_DIAMOND_ORE, 0, 15, 1, 7}, - {E_BLOCK_LAPIS_ORE, 0, 30, 1, 6}, - {E_BLOCK_EMERALD_ORE, 0, 32, 11, 1}, - {E_BLOCK_SILVERFISH_EGG, 0, 64, 7, 9}, + {E_BLOCK_COAL_ORE, 0, 127, 20, 16}, + {E_BLOCK_IRON_ORE, 0, 64, 20, 8}, + {E_BLOCK_GOLD_ORE, 0, 32, 2, 8}, + {E_BLOCK_REDSTONE_ORE, 0, 16, 8, 7}, + {E_BLOCK_DIAMOND_ORE, 0, 15, 1, 7}, + {E_BLOCK_LAPIS_ORE, 0, 30, 1, 6}, + {E_BLOCK_EMERALD_ORE, 0, 32, 11, 1}, + {E_BLOCK_SILVERFISH_EGG, 0, 64, 7, 9}, }; return res; } @@ -1775,10 +1891,9 @@ const cFinishGenOres::OreInfos & cFinishGenOres::DefaultOverworldOres(void) const cFinishGenOres::OreInfos & cFinishGenOres::DefaultNetherOres(void) { - static OreInfos res - { + static OreInfos res { // OreType, OreMeta, MaxHeight, NumNests, NestSize - {E_BLOCK_NETHER_QUARTZ_ORE, 0, 127, 20, 8}, + {E_BLOCK_NETHER_QUARTZ_ORE, 0, 127, 20, 8}, }; return res; } @@ -1789,14 +1904,13 @@ const cFinishGenOres::OreInfos & cFinishGenOres::DefaultNetherOres(void) const cFinishGenOres::OreInfos & cFinishGenOres::DefaultNaturalPatches(void) { - static OreInfos res - { + static OreInfos res { // OreType, OreMeta, MaxHeight, NumNests, NestSize - {E_BLOCK_DIRT, 0, 127, 20, 32}, - {E_BLOCK_GRAVEL, 0, 127, 10, 32}, - {E_BLOCK_STONE, E_META_STONE_GRANITE, 127, 20, 32}, - {E_BLOCK_STONE, E_META_STONE_DIORITE, 127, 20, 32}, - {E_BLOCK_STONE, E_META_STONE_ANDESITE, 127, 20, 32}, + {E_BLOCK_DIRT, 0, 127, 20, 32}, + {E_BLOCK_GRAVEL, 0, 127, 10, 32}, + {E_BLOCK_STONE, E_META_STONE_GRANITE, 127, 20, 32}, + {E_BLOCK_STONE, E_META_STONE_DIORITE, 127, 20, 32}, + {E_BLOCK_STONE, E_META_STONE_ANDESITE, 127, 20, 32}, }; return res; } @@ -1812,13 +1926,16 @@ cFinishGenOres::OreInfos cFinishGenOres::OreInfosFromString(const AString & a_Or OreInfos res; auto ores = StringSplitAndTrim(a_OreInfosString, "|"); - for (const auto & ore: ores) + for (const auto & ore : ores) { auto parts = StringSplitAndTrim(ore, ":"); if (parts.size() != 5) { - LOGWARNING("Cannot parse ore information from string, not enough OreInfo members (exp 5, got %d). Offending item: \"%s\".", - static_cast(parts.size()), ore.c_str() + LOGWARNING( + "Cannot parse ore information from string, not enough OreInfo members (exp 5, got %d). Offending item: " + "\"%s\".", + static_cast(parts.size()), + ore.c_str() ); continue; } @@ -1830,12 +1947,8 @@ cFinishGenOres::OreInfos cFinishGenOres::OreInfosFromString(const AString & a_Or } NIBBLETYPE oreMeta; int maxHeight, numNests, nestSize; - if ( - !StringToInteger(parts[1], oreMeta) || - !StringToInteger(parts[2], maxHeight) || - !StringToInteger(parts[3], numNests) || - !StringToInteger(parts[4], nestSize) - ) + if (!StringToInteger(parts[1], oreMeta) || !StringToInteger(parts[2], maxHeight) || + !StringToInteger(parts[3], numNests) || !StringToInteger(parts[4], nestSize)) { LOGWARNING("Cannot parse ore information from string, invalid number in OreInfo \"%s\".", ore.c_str()); continue; @@ -1852,15 +1965,19 @@ cFinishGenOres::OreInfos cFinishGenOres::OreInfosFromString(const AString & a_Or AString cFinishGenOres::OreInfosToString(const cFinishGenOres::OreInfos & a_OreInfos) { AString res; - for (const auto & ore: a_OreInfos) + for (const auto & ore : a_OreInfos) { if (!res.empty()) { res.append(" | "); } - res.append(fmt::format(FMT_STRING("{}:{}:{}:{}:{}"), - ItemTypeToString(ore.m_BlockType), ore.m_BlockMeta, - ore.m_MaxHeight, ore.m_NumNests, ore.m_NestSize + res.append(fmt::format( + FMT_STRING("{}:{}:{}:{}:{}"), + ItemTypeToString(ore.m_BlockType), + ore.m_BlockMeta, + ore.m_MaxHeight, + ore.m_NumNests, + ore.m_NestSize )); } // for ore - a_OreInfos[] return res; @@ -1884,30 +2001,30 @@ void cFinishGenOres::SetSeed(int a_Seed) void cFinishGenOreNests::GenerateOre( cChunkDesc & a_ChunkDesc, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta, - int a_MaxHeight, int a_NumNests, int a_NestSize, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta, + int a_MaxHeight, + int a_NumNests, + int a_NestSize, int a_Seq ) { - // This function generates several "nests" of ore, each nest consisting of number of ore blocks relatively adjacent to each other. - // It does so by making a random XYZ walk and adding ore along the way in cuboids of different (random) sizes - // Only "terraformable" blocks get replaced with ore, all other blocks stay (so the nest can actually be smaller than specified). + // This function generates several "nests" of ore, each nest consisting of number of ore blocks relatively adjacent + // to each other. It does so by making a random XYZ walk and adding ore along the way in cuboids of different + // (random) sizes Only "terraformable" blocks get replaced with ore, all other blocks stay (so the nest can actually + // be smaller than specified). // If there is an attempt to generate Emerald ores in a chunk with no mountains biome abort // There are just four points sampled to avoid searching all 16 * 16 blocks: if (a_OreType == E_BLOCK_EMERALD_ORE) { - const auto BiomeSampleOne = a_ChunkDesc.GetBiome( 4, 4); - const auto BiomeSampleTwo = a_ChunkDesc.GetBiome( 4, 12); - const auto BiomeSampleThree = a_ChunkDesc.GetBiome(12, 4); - const auto BiomeSampleFour = a_ChunkDesc.GetBiome(12, 12); + const auto BiomeSampleOne = a_ChunkDesc.GetBiome(4, 4); + const auto BiomeSampleTwo = a_ChunkDesc.GetBiome(4, 12); + const auto BiomeSampleThree = a_ChunkDesc.GetBiome(12, 4); + const auto BiomeSampleFour = a_ChunkDesc.GetBiome(12, 12); - if ( - !IsBiomeMountain(BiomeSampleOne) && - !IsBiomeMountain(BiomeSampleTwo) && - !IsBiomeMountain(BiomeSampleThree) && - !IsBiomeMountain(BiomeSampleFour) - ) + if (!IsBiomeMountain(BiomeSampleOne) && !IsBiomeMountain(BiomeSampleTwo) && + !IsBiomeMountain(BiomeSampleThree) && !IsBiomeMountain(BiomeSampleFour)) { return; } @@ -1917,17 +2034,13 @@ void cFinishGenOreNests::GenerateOre( // https://minecraft.wiki/w/Gold_Ore if (a_OreType == E_BLOCK_GOLD_ORE) { - const auto BiomeSampleOne = a_ChunkDesc.GetBiome( 4, 4); - const auto BiomeSampleTwo = a_ChunkDesc.GetBiome( 4, 12); - const auto BiomeSampleThree = a_ChunkDesc.GetBiome(12, 4); - const auto BiomeSampleFour = a_ChunkDesc.GetBiome(12, 12); + const auto BiomeSampleOne = a_ChunkDesc.GetBiome(4, 4); + const auto BiomeSampleTwo = a_ChunkDesc.GetBiome(4, 12); + const auto BiomeSampleThree = a_ChunkDesc.GetBiome(12, 4); + const auto BiomeSampleFour = a_ChunkDesc.GetBiome(12, 12); - if ( - IsBiomeMesa(BiomeSampleOne) || - IsBiomeMesa(BiomeSampleTwo) || - IsBiomeMesa(BiomeSampleThree) || - IsBiomeMesa(BiomeSampleFour) - ) + if (IsBiomeMesa(BiomeSampleOne) || IsBiomeMesa(BiomeSampleTwo) || IsBiomeMesa(BiomeSampleThree) || + IsBiomeMesa(BiomeSampleFour)) { a_MaxHeight = 76; a_NumNests = 22; // 2 times default + 20 times mesa bonus @@ -1936,17 +2049,13 @@ void cFinishGenOreNests::GenerateOre( if (a_OreType == E_BLOCK_SILVERFISH_EGG) { - const auto BiomeSampleOne = a_ChunkDesc.GetBiome( 4, 4); - const auto BiomeSampleTwo = a_ChunkDesc.GetBiome( 4, 12); - const auto BiomeSampleThree = a_ChunkDesc.GetBiome(12, 4); - const auto BiomeSampleFour = a_ChunkDesc.GetBiome(12, 12); + const auto BiomeSampleOne = a_ChunkDesc.GetBiome(4, 4); + const auto BiomeSampleTwo = a_ChunkDesc.GetBiome(4, 12); + const auto BiomeSampleThree = a_ChunkDesc.GetBiome(12, 4); + const auto BiomeSampleFour = a_ChunkDesc.GetBiome(12, 12); - if ( - !IsBiomeMountain(BiomeSampleOne) && - !IsBiomeMountain(BiomeSampleTwo) && - !IsBiomeMountain(BiomeSampleThree) && - !IsBiomeMountain(BiomeSampleFour) - ) + if (!IsBiomeMountain(BiomeSampleOne) && !IsBiomeMountain(BiomeSampleTwo) && + !IsBiomeMountain(BiomeSampleThree) && !IsBiomeMountain(BiomeSampleFour)) { return; } @@ -1965,7 +2074,8 @@ void cFinishGenOreNests::GenerateOre( nestRnd /= cChunkDef::Width; int BaseY = nestRnd % a_MaxHeight; nestRnd /= a_MaxHeight; - int NestSize = a_NestSize + (nestRnd % (std::max(a_NestSize, 4) / 4)); // The actual nest size may be up to 1 / 4 larger + int NestSize = + a_NestSize + (nestRnd % (std::max(a_NestSize, 4) / 4)); // The actual nest size may be up to 1 / 4 larger int Num = 0; while (Num < NestSize) { @@ -2065,21 +2175,65 @@ void cFinishGenOrePockets::Initialize(cIniFile & a_IniFile, const AString & a_Ge void cFinishGenOrePockets::GenerateOre( cChunkDesc & a_ChunkDesc, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta, - int a_MaxHeight, int a_NumNests, int a_NestSize, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta, + int a_MaxHeight, + int a_NumNests, + int a_NestSize, int a_Seq ) { // This function generates several "pockets" of the specified ore // Each chunk can contain only pockets that are generated for that chunk, or for its XM / ZM neighbors. - // Generate for the 3 neighbors in the XP / ZP direction as well, so that pockets crossing the boundaries are accounted for as well: + // Generate for the 3 neighbors in the XP / ZP direction as well, so that pockets crossing the boundaries are + // accounted for as well: int chunkZ = a_ChunkDesc.GetChunkZ(); int chunkX = a_ChunkDesc.GetChunkX(); - imprintChunkOrePockets(chunkX - 1, chunkZ - 1, a_ChunkDesc, a_OreType, a_OreMeta, a_MaxHeight, a_NumNests, a_NestSize, a_Seq); - imprintChunkOrePockets(chunkX - 1, chunkZ, a_ChunkDesc, a_OreType, a_OreMeta, a_MaxHeight, a_NumNests, a_NestSize, a_Seq); - imprintChunkOrePockets(chunkX, chunkZ - 1, a_ChunkDesc, a_OreType, a_OreMeta, a_MaxHeight, a_NumNests, a_NestSize, a_Seq); - imprintChunkOrePockets(chunkX, chunkZ, a_ChunkDesc, a_OreType, a_OreMeta, a_MaxHeight, a_NumNests, a_NestSize, a_Seq); + imprintChunkOrePockets( + chunkX - 1, + chunkZ - 1, + a_ChunkDesc, + a_OreType, + a_OreMeta, + a_MaxHeight, + a_NumNests, + a_NestSize, + a_Seq + ); + imprintChunkOrePockets( + chunkX - 1, + chunkZ, + a_ChunkDesc, + a_OreType, + a_OreMeta, + a_MaxHeight, + a_NumNests, + a_NestSize, + a_Seq + ); + imprintChunkOrePockets( + chunkX, + chunkZ - 1, + a_ChunkDesc, + a_OreType, + a_OreMeta, + a_MaxHeight, + a_NumNests, + a_NestSize, + a_Seq + ); + imprintChunkOrePockets( + chunkX, + chunkZ, + a_ChunkDesc, + a_OreType, + a_OreMeta, + a_MaxHeight, + a_NumNests, + a_NestSize, + a_Seq + ); } @@ -2087,10 +2241,14 @@ void cFinishGenOrePockets::GenerateOre( void cFinishGenOrePockets::imprintChunkOrePockets( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, cChunkDesc & a_ChunkDesc, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta, - int a_MaxHeight, int a_NumNests, int a_NestSize, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta, + int a_MaxHeight, + int a_NumNests, + int a_NestSize, int a_Seq ) { @@ -2106,12 +2264,7 @@ void cFinishGenOrePockets::imprintChunkOrePockets( nestRnd /= cChunkDef::Width; int baseY = nestRnd % a_MaxHeight; nestRnd /= a_MaxHeight; - imprintPocket( - a_ChunkDesc, - baseX, baseY, baseZ, - a_NestSize, i + 200 * a_Seq, - a_OreType, a_OreMeta - ); + imprintPocket(a_ChunkDesc, baseX, baseY, baseZ, a_NestSize, i + 200 * a_Seq, a_OreType, a_OreMeta); } // for i - NumNests } @@ -2121,16 +2274,20 @@ void cFinishGenOrePockets::imprintChunkOrePockets( void cFinishGenOrePockets::imprintPocket( cChunkDesc & a_ChunkDesc, - int a_MinPocketX, int a_PocketY, int a_MinPocketZ, - int a_NestSize, int a_Seq, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta + int a_MinPocketX, + int a_PocketY, + int a_MinPocketZ, + int a_NestSize, + int a_Seq, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta ) { // A line segment in a random direction is chosen. Then, several spheres are formed along this line segment, // with their diameters diminishing towards the line ends (one half of a sinusoid) double x1 = static_cast(a_MinPocketX) + 0.5; - double y1 = static_cast(a_PocketY) + 0.5; + double y1 = static_cast(a_PocketY) + 0.5; double z1 = static_cast(a_MinPocketZ) + 0.5; int rnd = m_Noise.IntNoise2DInt(a_MinPocketX + 7 * a_Seq, a_MinPocketZ + a_PocketY * 11) / 7; double angle = static_cast(rnd % 256) / (256.0 * M_PI / 2.0); // range [0 .. pi / 2] @@ -2163,8 +2320,12 @@ void cFinishGenOrePockets::imprintPocket( void cFinishGenOrePockets::imprintSphere( cChunkDesc & a_ChunkDesc, - double a_SphereX, double a_SphereY, double a_SphereZ, double a_Radius, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta + double a_SphereX, + double a_SphereY, + double a_SphereZ, + double a_Radius, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta ) { // Get the sphere's bounding box, unioned with the chunk's bounding box (possibly empty): @@ -2239,7 +2400,8 @@ void cFinishGenOrePockets::imprintSphere( -cFinishGenForestRocks::cFinishGenForestRocks(int a_Seed, cIniFile & a_IniFile) : m_Noise(a_Seed) +cFinishGenForestRocks::cFinishGenForestRocks(int a_Seed, cIniFile & a_IniFile) : + m_Noise(a_Seed) { } @@ -2254,7 +2416,7 @@ void cFinishGenForestRocks::GenFinish(cChunkDesc & a_ChunkDesc) m_Noise.IntNoise2DInt(a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ()) % cChunkDef::Width, 0, m_Noise.IntNoise2DInt(a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ()) % cChunkDef::Width - ); + ); Pos.y = a_ChunkDesc.GetHeight(Pos.x, Pos.z) % cChunkDef::Height; auto Biome = a_ChunkDesc.GetBiome(Pos.x, Pos.z); @@ -2294,7 +2456,8 @@ void cFinishGenForestRocks::GenFinish(cChunkDesc & a_ChunkDesc) Pos.y -= Radius - 1; - // Pos.y = Clamp(Pos.y - m_Noise.IntNoise2DInt(a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ()) % Radius + 1, 0, cChunkDef::Height); + // Pos.y = Clamp(Pos.y - m_Noise.IntNoise2DInt(a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ()) % Radius + 1, 0, + // cChunkDef::Height); for (int x = -Radius; x <= Radius; x++) { @@ -2302,7 +2465,7 @@ void cFinishGenForestRocks::GenFinish(cChunkDesc & a_ChunkDesc) { for (int z = -Radius; z <= Radius; z++) { - if (!cChunkDef::IsValidRelPos({ Pos.x + x, Pos.y + y, Pos.z + z })) + if (!cChunkDef::IsValidRelPos({Pos.x + x, Pos.y + y, Pos.z + z})) { continue; } diff --git a/src/Generating/FinishGen.h b/src/Generating/FinishGen.h index dae05ffa8..9d53ab837 100644 --- a/src/Generating/FinishGen.h +++ b/src/Generating/FinishGen.h @@ -26,56 +26,51 @@ -class cFinishGenSnow : - public cFinishGen +class cFinishGenSnow : public cFinishGen { -protected: + protected: // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cFinishGenIce : - public cFinishGen +class cFinishGenIce : public cFinishGen { -protected: + protected: // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cFinishGenNetherClumpFoliage : - public cFinishGen +class cFinishGenNetherClumpFoliage : public cFinishGen { -public: + public: cFinishGenNetherClumpFoliage(int a_Seed) : - m_Noise(a_Seed), - m_Seed(a_Seed) + m_Noise(a_Seed), m_Seed(a_Seed) { } -protected: + protected: cNoise m_Noise; - int m_Seed; + int m_Seed; void TryPlaceClump(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_Block); virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cFinishGenClumpTopBlock : - public cFinishGen +class cFinishGenClumpTopBlock : public cFinishGen { -public: + public: // Contains the meta, type and weight for a clump block struct FoliageInfo { @@ -84,10 +79,9 @@ public: int m_Weight; FoliageInfo(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_Weight) : - m_BlockType(a_BlockType), - m_BlockMeta(a_BlockMeta), - m_Weight(a_Weight) - {} + m_BlockType(a_BlockType), m_BlockMeta(a_BlockMeta), m_Weight(a_Weight) + { + } }; // Contains the minimum and maximum amount of clumps for a biome and it's blocks. @@ -98,34 +92,34 @@ public: std::vector m_Blocks; BiomeInfo() : - m_MinNumClumpsPerChunk(0), - m_MaxNumClumpsPerChunk(2), - m_Blocks() - {} + m_MinNumClumpsPerChunk(0), m_MaxNumClumpsPerChunk(2), m_Blocks() + { + } BiomeInfo(int a_MinNumClumpsPerChunk, int a_MaxNumClumpsPerChunk, std::vector a_Blocks) : m_MinNumClumpsPerChunk(a_MinNumClumpsPerChunk), m_MaxNumClumpsPerChunk(a_MaxNumClumpsPerChunk), m_Blocks(std::move(a_Blocks)) - {} + { + } }; cFinishGenClumpTopBlock(int a_Seed, std::vector a_BlockList) : - m_Noise(a_Seed), - m_FlowersPerBiome() + m_Noise(a_Seed), m_FlowersPerBiome() { std::swap(a_BlockList, m_FlowersPerBiome); } /** Parses a string and puts a vector with a length of biMaxVariantBiome in a_Output. - The format of the string is ";". This can also be repeated with a | */ + The format of the string is ";". This can also be + repeated with a | */ static void ParseConfigurationString(const AString & a_String, std::vector & a_Output); /** Parses an inifile in search for all clumps */ static std::vector ParseIniFile(cIniFile & a_IniFile, const AString & a_ClumpPrefix); -protected: + protected: cNoise m_Noise; std::vector m_FlowersPerBiome; @@ -138,7 +132,14 @@ protected: /** The maximum range a foliage can be placed from the center of the clump */ const int RANGE_FROM_CENTER = 5; - void TryPlaceFoliageClump(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, bool a_IsDoubleTall); + void TryPlaceFoliageClump( + cChunkDesc & a_ChunkDesc, + int a_RelX, + int a_RelZ, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + bool a_IsDoubleTall + ); virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; }; @@ -146,35 +147,35 @@ protected: -class cFinishGenGlowStone : - public cFinishGen +class cFinishGenGlowStone : public cFinishGen { -public: + public: cFinishGenGlowStone(int a_Seed) : - m_Noise(a_Seed), - m_Seed(a_Seed) + m_Noise(a_Seed), m_Seed(a_Seed) { } -protected: + protected: cNoise m_Noise; - int m_Seed; + int m_Seed; void TryPlaceGlowstone(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ, int a_Size, int a_NumStrings); virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cFinishGenTallGrass : - public cFinishGen +class cFinishGenTallGrass : public cFinishGen { -public: - cFinishGenTallGrass(int a_Seed) : m_Noise(a_Seed), m_Seed(a_Seed) {} + public: + cFinishGenTallGrass(int a_Seed) : + m_Noise(a_Seed), m_Seed(a_Seed) + { + } -protected: + protected: cNoise m_Noise; int m_Seed; @@ -191,21 +192,19 @@ protected: -class cFinishGenVines : - public cFinishGen +class cFinishGenVines : public cFinishGen { -public: + public: cFinishGenVines(int a_Seed, int a_Level) : - m_Noise(a_Seed), - m_Level(a_Level) + m_Noise(a_Seed), m_Level(a_Level) { } bool IsJungleVariant(EMCSBiome a_Biome); -protected: + protected: cNoise m_Noise; - int m_Level; + int m_Level; virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; }; @@ -214,46 +213,47 @@ protected: -class cFinishGenSoulsandRims : - public cFinishGen +class cFinishGenSoulsandRims : public cFinishGen { -public: + public: cFinishGenSoulsandRims(int a_Seed) : m_Noise(a_Seed) { } -protected: + protected: cNoise m_Noise; virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cFinishGenSprinkleFoliage : - public cFinishGen +class cFinishGenSprinkleFoliage : public cFinishGen { -public: - cFinishGenSprinkleFoliage(int a_Seed, int a_MaxCactusHeight, int a_MaxSugarcaneHeight): + public: + cFinishGenSprinkleFoliage(int a_Seed, int a_MaxCactusHeight, int a_MaxSugarcaneHeight) : m_Noise(a_Seed), m_Seed(a_Seed), m_MaxCactusHeight(a_MaxCactusHeight), m_MaxSugarcaneHeight(a_MaxSugarcaneHeight) { } -protected: + + protected: cNoise m_Noise; - int m_Seed; - int m_MaxCactusHeight; - int m_MaxSugarcaneHeight; + int m_Seed; + int m_MaxCactusHeight; + int m_MaxSugarcaneHeight; - /** Tries to place sugarcane at the coords specified, returns true if successful, updates the top variable (hence the & a_RefY) */ + /** Tries to place sugarcane at the coords specified, returns true if successful, updates the top variable (hence + * the & a_RefY) */ bool TryAddSugarcane(cChunkDesc & a_ChunkDesc, int a_RelX, HEIGHTTYPE & a_RelY, int a_RelZ); - /** Tries to place cactus at the coords specified, returns true if successful, updates the top variable (hence the & a_RefY) */ + /** Tries to place cactus at the coords specified, returns true if successful, updates the top variable (hence the & + * a_RefY) */ bool TryAddCactus(cChunkDesc & a_ChunkDesc, int a_RelX, HEIGHTTYPE & a_RelY, int a_RelZ); // Returns true is the specified biome is a desert or its variant @@ -261,7 +261,7 @@ protected: // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; @@ -271,10 +271,9 @@ protected: Used for: - Lilypads finisher - DeadBushes finisher */ -class cFinishGenSingleTopBlock : - public cFinishGen +class cFinishGenSingleTopBlock : public cFinishGen { -public: + public: typedef std::vector BlockList; bool m_IsAllowedBelow[256]; @@ -283,12 +282,13 @@ public: cFinishGenSingleTopBlock( - int a_Seed, BLOCKTYPE a_BlockType, BiomeList a_Biomes, int a_Amount, + int a_Seed, + BLOCKTYPE a_BlockType, + BiomeList a_Biomes, + int a_Amount, BlockList a_AllowedBelow ) : - m_Noise(a_Seed), - m_BlockType(a_BlockType), - m_Amount(a_Amount) + m_Noise(a_Seed), m_BlockType(a_BlockType), m_Amount(a_Amount) { // Initialize all the block types. for (size_t idx = 0; idx < ARRAYCOUNT(m_IsAllowedBelow); ++idx) @@ -315,7 +315,7 @@ public: } } -protected: + protected: cNoise m_Noise; BLOCKTYPE m_BlockType; @@ -326,55 +326,47 @@ protected: int GetNumToGen(const cChunkDef::BiomeMap & a_BiomeMap); /** Returns true if the given biome is a biome that is allowed. */ - inline bool IsAllowedBiome(EMCSBiome a_Biome) - { - return m_IsBiomeAllowed[a_Biome]; - } + inline bool IsAllowedBiome(EMCSBiome a_Biome) { return m_IsBiomeAllowed[a_Biome]; } /** Returns true if the given blocktype may be below m_BlockType */ - inline bool IsAllowedBlockBelow(BLOCKTYPE a_BlockBelow) - { - return m_IsAllowedBelow[a_BlockBelow]; - } + inline bool IsAllowedBlockBelow(BLOCKTYPE a_BlockBelow) { return m_IsAllowedBelow[a_BlockBelow]; } // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cFinishGenBottomLava : - public cFinishGen +class cFinishGenBottomLava : public cFinishGen { -public: + public: cFinishGenBottomLava(int a_Level) : m_Level(a_Level) { } int GetLevel(void) const { return m_Level; } -protected: + + protected: int m_Level; // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cFinishGenPreSimulator : - public cFinishGen +class cFinishGenPreSimulator : public cFinishGen { -public: + public: cFinishGenPreSimulator(bool a_PreSimulateFallingBlocks, bool a_PreSimulateWater, bool a_PreSimulateLava); -protected: - + protected: bool m_PreSimulateFallingBlocks; bool m_PreSimulateWater; bool m_PreSimulateLava; @@ -386,39 +378,37 @@ protected: - if all surroundings are of the same fluid, makes it stationary; otherwise makes it flowing (excl. top) - all fluid on the chunk's edge is made flowing */ void StationarizeFluid( - cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change - cChunkDef::HeightMap & a_HeightMap, // Height map to read + cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change + cChunkDef::HeightMap & a_HeightMap, // Height map to read BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid ); // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cFinishGenFluidSprings : - public cFinishGen +class cFinishGenFluidSprings : public cFinishGen { -public: + public: cFinishGenFluidSprings(int a_Seed, BLOCKTYPE a_Fluid, cIniFile & a_IniFile, eDimension a_Dimension); -protected: - - cNoise m_Noise; + protected: + cNoise m_Noise; cProbabDistrib m_HeightDistribution; - BLOCKTYPE m_Fluid; - int m_Chance; ///< Chance, [0..100], that a spring will be generated in a chunk + BLOCKTYPE m_Fluid; + int m_Chance; ///< Chance, [0..100], that a spring will be generated in a chunk // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; /** Tries to place a spring at the specified coords, checks neighbors. Returns true if successful. */ bool TryPlaceSpring(cChunkDesc & a_ChunkDesc, int x, int y, int z); -} ; +}; @@ -426,15 +416,12 @@ protected: /** This class populates generated chunks with packs of biome-dependant animals Animals: cows, sheep, pigs, mooshrooms, squid, horses, wolves, ocelots */ -class cFinishGenPassiveMobs : - public cFinishGen +class cFinishGenPassiveMobs : public cFinishGen { -public: - + public: cFinishGenPassiveMobs(int a_Seed, cIniFile & a_IniFile, eDimension a_Dimension); -protected: - + protected: /** The noise used as the source of randomness */ cNoise m_Noise; @@ -445,13 +432,14 @@ protected: // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; - /** Returns false if an animal cannot spawn at given coords, else adds it to the chunk's entity list and returns true */ + /** Returns false if an animal cannot spawn at given coords, else adds it to the chunk's entity list and returns + * true */ bool TrySpawnAnimals(cChunkDesc & a_ChunkDesc, int x, int y, int z, eMonsterType AnimalToSpawn); /** Picks a random animal from biome-dependant list for a random position in the chunk. Returns the chosen mob type, or mtInvalid if no mob chosen. */ eMonsterType GetRandomMob(cChunkDesc & a_ChunkDesc); -} ; +}; @@ -460,28 +448,23 @@ protected: /** Base class for generators that have an ore list attached to them. Provides the storage and parsing for the ore list, as well as the generic plumbing for generating individual ores. Descendants should override GenerateOre() to provide the specific ore generation technique. -Note that this class uses the "Nest" terminology for individual packs of ore, it doesn't imply any shape or algorithm. */ -class cFinishGenOres: - public cFinishGen +Note that this class uses the "Nest" terminology for individual packs of ore, it doesn't imply any shape or algorithm. +*/ +class cFinishGenOres : public cFinishGen { using Super = cFinishGen; -public: - + public: struct OreInfo { - BLOCKTYPE m_BlockType; // The type of the nest. + BLOCKTYPE m_BlockType; // The type of the nest. NIBBLETYPE m_BlockMeta; // The block meta - int m_MaxHeight; // The highest possible a nest can occur - int m_NumNests; // How many nests per chunk - int m_NestSize; // The amount of blocks a nest can have. + int m_MaxHeight; // The highest possible a nest can occur + int m_NumNests; // How many nests per chunk + int m_NestSize; // The amount of blocks a nest can have. OreInfo() : - m_BlockType(0), - m_BlockMeta(0), - m_MaxHeight(0), - m_NumNests(0), - m_NestSize(0) + m_BlockType(0), m_BlockMeta(0), m_MaxHeight(0), m_NumNests(0), m_NestSize(0) { } @@ -497,9 +480,8 @@ public: typedef std::vector OreInfos; - cFinishGenOres(int a_Seed, const OreInfos & a_OreInfos): - m_Noise(a_Seed), - m_OreInfos(a_OreInfos) + cFinishGenOres(int a_Seed, const OreInfos & a_OreInfos) : + m_Noise(a_Seed), m_OreInfos(a_OreInfos) { } @@ -512,7 +494,8 @@ public: /** Returns a vector of OreInfo structures describing the default Nether ores, usable in the constructor. */ static const OreInfos & DefaultNetherOres(void); - /** Returns a vector of OreInfo structures describing the default Overworld non-ore pockets (dirt, diorite etc), usable in the constructor. */ + /** Returns a vector of OreInfo structures describing the default Overworld non-ore pockets (dirt, diorite etc), + * usable in the constructor. */ static const OreInfos & DefaultNaturalPatches(void); /** Parses the parameter string into OreInfos array. @@ -528,7 +511,7 @@ public: /** (Re-)sets the seed used by the internal generating mechanisms. */ void SetSeed(int a_Seed); -protected: + protected: /** The noise used for generating. */ cNoise m_Noise; @@ -537,11 +520,15 @@ protected: /** Generates a single ore in the specified chunk image. - a_Seq is the sequencing number (used as a complement to seed to make each ore in the same chunk have different nests) */ + a_Seq is the sequencing number (used as a complement to seed to make each ore in the same chunk have different + nests) */ virtual void GenerateOre( cChunkDesc & a_ChunkDesc, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta, - int a_MaxHeight, int a_NumNests, int a_NestSize, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta, + int a_MaxHeight, + int a_NumNests, + int a_NestSize, int a_Seq ) = 0; @@ -552,64 +539,71 @@ protected: -class cFinishGenOreNests: - public cFinishGenOres +class cFinishGenOreNests : public cFinishGenOres { using Super = cFinishGenOres; -public: - - cFinishGenOreNests(int a_Seed, const OreInfos & a_OreInfos): + public: + cFinishGenOreNests(int a_Seed, const OreInfos & a_OreInfos) : Super(a_Seed, a_OreInfos) - {} - -protected: + { + } + protected: // cFinishGenOreClumps overrides: virtual void GenerateOre( cChunkDesc & a_ChunkDesc, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta, - int a_MaxHeight, int a_NumNests, int a_NestSize, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta, + int a_MaxHeight, + int a_NumNests, + int a_NestSize, int a_Seq ) override; -} ; +}; -class cFinishGenOrePockets: - public cFinishGenOres +class cFinishGenOrePockets : public cFinishGenOres { using Super = cFinishGenOres; -public: - - cFinishGenOrePockets(int a_Seed, const OreInfos & a_OreInfos): + public: + cFinishGenOrePockets(int a_Seed, const OreInfos & a_OreInfos) : Super(a_Seed, a_OreInfos) - {} + { + } /** Reads the configuration from the specified INI file. - a_GenName is the name of the generator (this class may be used for OrePockets and DirtPockets, each has a different default). */ + a_GenName is the name of the generator (this class may be used for OrePockets and DirtPockets, each has a different + default). */ void Initialize(cIniFile & a_IniFile, const AString & a_GenName); -protected: - + protected: // cFinishGenOreClumps overrides: virtual void GenerateOre( cChunkDesc & a_ChunkDesc, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta, - int a_MaxNestHeight, int a_NumNests, int a_NestSize, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta, + int a_MaxNestHeight, + int a_NumNests, + int a_NestSize, int a_Seq ) override; - /** Calculates the pockets for the specified chunk and imprints them into the specified ChunkDesc (not necessarily the same chunk). - a_Seq is the sequence number of the ore, to provide another source of randomness. */ + /** Calculates the pockets for the specified chunk and imprints them into the specified ChunkDesc (not necessarily + the same chunk). a_Seq is the sequence number of the ore, to provide another source of randomness. */ void imprintChunkOrePockets( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, cChunkDesc & a_ChunkDesc, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta, - int a_MaxHeight, int a_NumNests, int a_NestSize, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta, + int a_MaxHeight, + int a_NumNests, + int a_NestSize, int a_Seq ); @@ -618,16 +612,24 @@ protected: a_Seq is the sequence number of the ore, to provide another source of randomness. */ void imprintPocket( cChunkDesc & a_ChunkDesc, - int a_MinPocketX, int a_PocketY, int a_MinPocketZ, - int a_NestSize, int a_Seq, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta + int a_MinPocketX, + int a_PocketY, + int a_MinPocketZ, + int a_NestSize, + int a_Seq, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta ); /** Imprints a single sphere of the specified ore at the specified coords. */ void imprintSphere( cChunkDesc & a_ChunkDesc, - double a_SphereX, double a_SphereY, double a_SphereZ, double a_Radius, - BLOCKTYPE a_OreType, NIBBLETYPE a_OreMeta + double a_SphereX, + double a_SphereY, + double a_SphereZ, + double a_Radius, + BLOCKTYPE a_OreType, + NIBBLETYPE a_OreMeta ); }; @@ -635,13 +637,12 @@ protected: -class cFinishGenForestRocks: - public cFinishGen +class cFinishGenForestRocks : public cFinishGen { -public: + public: cFinishGenForestRocks(int a_Seed, cIniFile & a_IniFile); virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -private: + private: cNoise m_Noise; }; diff --git a/src/Generating/GridStructGen.cpp b/src/Generating/GridStructGen.cpp index 4a565f220..9868aa15f 100644 --- a/src/Generating/GridStructGen.cpp +++ b/src/Generating/GridStructGen.cpp @@ -1,7 +1,8 @@ // GridStructGen.cpp -// Implements the cGridStructGen class representing a common base class for structure generators that place structures in a semi-random grid +// Implements the cGridStructGen class representing a common base class for structure generators that place structures +// in a semi-random grid #include "Globals.h" #include "GridStructGen.h" @@ -16,24 +17,22 @@ /** A cStructure descendant representing an empty structure. Used when the generator descended from cGridStructGen doesn't return any structure, to keep at least the Origin coords so that the structure isn't queried over and over again. */ -class cEmptyStructure: - public cGridStructGen::cStructure +class cEmptyStructure : public cGridStructGen::cStructure { using Super = cGridStructGen::cStructure; -public: - + public: cEmptyStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) : Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ) { } -protected: + protected: virtual void DrawIntoChunk(cChunkDesc & a_ChunkDesc) override { // Do nothing } -} ; +}; @@ -41,9 +40,12 @@ protected: cGridStructGen::cGridStructGen( int a_Seed, - int a_GridSizeX, int a_GridSizeZ, - int a_MaxOffsetX, int a_MaxOffsetZ, - int a_MaxStructureSizeX, int a_MaxStructureSizeZ, + int a_GridSizeX, + int a_GridSizeZ, + int a_MaxOffsetX, + int a_MaxOffsetZ, + int a_MaxStructureSizeX, + int a_MaxStructureSizeZ, size_t a_MaxCacheSize ) : m_Seed(a_Seed), @@ -66,13 +68,17 @@ cGridStructGen::cGridStructGen( LOG("Grid Size cannot be zero, setting to 1"); m_GridSizeZ = 1; } - size_t NumStructuresPerQuery = static_cast(((m_MaxStructureSizeX + m_MaxOffsetX) / m_GridSizeX + 1) * ((m_MaxStructureSizeZ + m_MaxOffsetZ) / m_GridSizeZ + 1)); + size_t NumStructuresPerQuery = static_cast( + ((m_MaxStructureSizeX + m_MaxOffsetX) / m_GridSizeX + 1) * + ((m_MaxStructureSizeZ + m_MaxOffsetZ) / m_GridSizeZ + 1) + ); if (NumStructuresPerQuery > m_MaxCacheSize) { m_MaxCacheSize = NumStructuresPerQuery * 4; LOGINFO( "cGridStructGen: The cache size is too small (%u), increasing the cache size to %u to avoid inefficiency.", - static_cast(a_MaxCacheSize), static_cast(m_MaxCacheSize) + static_cast(a_MaxCacheSize), + static_cast(m_MaxCacheSize) ); } } @@ -81,7 +87,7 @@ cGridStructGen::cGridStructGen( -cGridStructGen::cGridStructGen(int a_Seed): +cGridStructGen::cGridStructGen(int a_Seed) : m_BaseSeed(a_Seed), m_Seed(a_Seed), m_Noise(a_Seed), @@ -102,13 +108,13 @@ cGridStructGen::cGridStructGen(int a_Seed): void cGridStructGen::SetGeneratorParams(const AStringMap & a_GeneratorParams) { ASSERT(m_Cache.empty()); // No changing the params after chunks are generated - m_GridSizeX = GetStringMapInteger (a_GeneratorParams, "GridSizeX", m_GridSizeX); - m_GridSizeZ = GetStringMapInteger (a_GeneratorParams, "GridSizeZ", m_GridSizeZ); - m_MaxOffsetX = GetStringMapInteger (a_GeneratorParams, "MaxOffsetX", m_MaxOffsetX); - m_MaxOffsetZ = GetStringMapInteger (a_GeneratorParams, "MaxOffsetZ", m_MaxOffsetZ); - m_MaxStructureSizeX = GetStringMapInteger (a_GeneratorParams, "MaxStructureSizeX", m_MaxStructureSizeX); - m_MaxStructureSizeZ = GetStringMapInteger (a_GeneratorParams, "MaxStructureSizeZ", m_MaxStructureSizeZ); - m_MaxCacheSize = GetStringMapInteger(a_GeneratorParams, "MaxCacheSize", m_MaxCacheSize); + m_GridSizeX = GetStringMapInteger(a_GeneratorParams, "GridSizeX", m_GridSizeX); + m_GridSizeZ = GetStringMapInteger(a_GeneratorParams, "GridSizeZ", m_GridSizeZ); + m_MaxOffsetX = GetStringMapInteger(a_GeneratorParams, "MaxOffsetX", m_MaxOffsetX); + m_MaxOffsetZ = GetStringMapInteger(a_GeneratorParams, "MaxOffsetZ", m_MaxOffsetZ); + m_MaxStructureSizeX = GetStringMapInteger(a_GeneratorParams, "MaxStructureSizeX", m_MaxStructureSizeX); + m_MaxStructureSizeZ = GetStringMapInteger(a_GeneratorParams, "MaxStructureSizeZ", m_MaxStructureSizeZ); + m_MaxCacheSize = GetStringMapInteger(a_GeneratorParams, "MaxCacheSize", m_MaxCacheSize); // Silently fix out-of-range parameters: if (m_MaxOffsetX < 1) @@ -149,10 +155,8 @@ void cGridStructGen::GetStructuresForChunk(int a_ChunkX, int a_ChunkZ, cStructur // Walk the cache, move each structure that we want into a_Structures: for (cStructurePtrs::iterator itr = m_Cache.begin(), end = m_Cache.end(); itr != end;) { - if ( - ((*itr)->m_GridX >= MinX) && ((*itr)->m_GridX < MaxX) && - ((*itr)->m_GridZ >= MinZ) && ((*itr)->m_GridZ < MaxZ) - ) + if (((*itr)->m_GridX >= MinX) && ((*itr)->m_GridX < MaxX) && ((*itr)->m_GridZ >= MinZ) && + ((*itr)->m_GridZ < MaxZ)) { // want a_Structures.push_back(*itr); @@ -183,8 +187,10 @@ void cGridStructGen::GetStructuresForChunk(int a_ChunkX, int a_ChunkZ, cStructur } // for itr - a_Structures[] if (!Found) { - int OriginX = GridX + ((m_Noise.IntNoise2DInt(GridX + 3, GridZ + 5) / 7) % (m_MaxOffsetX * 2)) - m_MaxOffsetX; - int OriginZ = GridZ + ((m_Noise.IntNoise2DInt(GridX + 5, GridZ + 3) / 7) % (m_MaxOffsetZ * 2)) - m_MaxOffsetZ; + int OriginX = + GridX + ((m_Noise.IntNoise2DInt(GridX + 3, GridZ + 5) / 7) % (m_MaxOffsetX * 2)) - m_MaxOffsetX; + int OriginZ = + GridZ + ((m_Noise.IntNoise2DInt(GridX + 5, GridZ + 3) / 7) % (m_MaxOffsetZ * 2)) - m_MaxOffsetZ; cStructurePtr Structure = CreateStructure(GridX, GridZ, OriginX, OriginZ); if (Structure.get() == nullptr) { @@ -196,7 +202,7 @@ void cGridStructGen::GetStructuresForChunk(int a_ChunkX, int a_ChunkZ, cStructur } // for x // Copy a_Forts into m_Cache to the beginning: - cStructurePtrs StructuresCopy (a_Structures); + cStructurePtrs StructuresCopy(a_Structures); m_Cache.splice(m_Cache.begin(), StructuresCopy, StructuresCopy.begin(), StructuresCopy.end()); // Trim the cache if it's too long: @@ -228,8 +234,3 @@ void cGridStructGen::GenFinish(cChunkDesc & a_ChunkDesc) (*itr)->DrawIntoChunk(a_ChunkDesc); } // for itr - Structures[] } - - - - - diff --git a/src/Generating/GridStructGen.h b/src/Generating/GridStructGen.h index 49d138217..0f06862ca 100644 --- a/src/Generating/GridStructGen.h +++ b/src/Generating/GridStructGen.h @@ -1,7 +1,8 @@ // GridStructGen.h -// Declares the cGridStructGen class representing a common base class for structure generators that place structures in a semi-random grid +// Declares the cGridStructGen class representing a common base class for structure generators that place structures in +// a semi-random grid @@ -41,14 +42,13 @@ The descendant must use a specific cStructure descendant to provide the actual s The structure must provide the DrawIntoChunk() function that generates the structure into the chunk data, and can override the GetCacheCost() function that returns the cost of that structure in the cache. */ -class cGridStructGen : - public cFinishGen +class cGridStructGen : public cFinishGen { -public: + public: /** Represents a single structure that occupies the grid point. Knows how to draw itself into a chunk. */ class cStructure { - public: + public: /** The grid point for which the structure is generated. */ int m_GridX, m_GridZ; @@ -57,11 +57,8 @@ public: /** Creates a structure that has its origin set at the specified coords. */ - cStructure (int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) : - m_GridX(a_GridX), - m_GridZ(a_GridZ), - m_OriginX(a_OriginX), - m_OriginZ(a_OriginZ) + cStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) : + m_GridX(a_GridX), m_GridZ(a_GridZ), m_OriginX(a_OriginX), m_OriginZ(a_OriginZ) { } @@ -73,16 +70,19 @@ public: /** Returns the cost of keeping this structure in the cache */ virtual size_t GetCacheCost(void) const { return 1; } - } ; + }; typedef std::shared_ptr cStructurePtr; typedef std::list cStructurePtrs; cGridStructGen( int a_Seed, - int a_GridSizeX, int a_GridSizeZ, - int a_MaxOffsetX, int a_MaxOffsetZ, - int a_MaxStructureSizeX, int a_MaxStructureSizeZ, + int a_GridSizeX, + int a_GridSizeZ, + int a_MaxOffsetX, + int a_MaxOffsetZ, + int a_MaxStructureSizeX, + int a_MaxStructureSizeZ, size_t a_MaxCacheSize ); @@ -97,12 +97,13 @@ public: // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -protected: + protected: /** Base seed of the world for which the generator generates chunk. */ int m_BaseSeed; /** Seed for generating grid offsets and also available for descendants. - Calculated from m_BaseSeed by adding the SeedOffset parameter loaded from the cubeset file (if applicable); otherwise the same as m_BaseSeed. */ + Calculated from m_BaseSeed by adding the SeedOffset parameter loaded from the cubeset file (if applicable); + otherwise the same as m_BaseSeed. */ int m_Seed; /** The noise used for generating grid offsets. */ @@ -149,9 +150,4 @@ protected: // Functions for the descendants to override: /** Create a new structure at the specified gridpoint */ virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) = 0; -} ; - - - - - +}; diff --git a/src/Generating/HeiGen.cpp b/src/Generating/HeiGen.cpp index 2e4b4fb3c..978fae4a8 100644 --- a/src/Generating/HeiGen.cpp +++ b/src/Generating/HeiGen.cpp @@ -19,39 +19,97 @@ //////////////////////////////////////////////////////////////////////////////// // cHeiGenSteppy: -class cHeiGenSteppy: - public cTerrainHeightGen +class cHeiGenSteppy : public cTerrainHeightGen { -public: + public: cHeiGenSteppy(int a_Seed) : m_Seed(a_Seed) { - m_Gen = - std::make_shared>( - std::make_shared (a_Seed + 1, - std::make_shared (a_Seed + 2, - std::make_shared (a_Seed + 3, - std::make_shared (a_Seed + 4, - std::make_shared (a_Seed + 5, 1, - std::make_shared (a_Seed + 6, - std::make_shared (a_Seed + 7, - std::make_shared (a_Seed + 8, 60, - std::make_shared (a_Seed + 9, 1, - std::make_shared (a_Seed + 1, - std::make_shared (a_Seed + 2, - std::make_shared (a_Seed + 3, 60, - std::make_shared (a_Seed + 4, - std::make_shared (a_Seed + 5, - std::make_shared (a_Seed + 6, 60, - std::make_shared (a_Seed + 7, 10, 50, 50, - std::make_shared (a_Seed + 8, - std::make_shared (a_Seed + 9, - std::make_shared (a_Seed + 1, 10, 50, 50, - std::make_shared (a_Seed + 2, 2, - std::make_shared (a_Seed + 3, - std::make_shared (a_Seed + 4, - std::make_shared (a_Seed + 5, 10) - ))))))))))))))))))))))); + m_Gen = std::make_shared>(std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 2, + std::make_shared( + a_Seed + 3, + std::make_shared( + a_Seed + 4, + std::make_shared( + a_Seed + 5, + 1, + std::make_shared( + a_Seed + 6, + std::make_shared( + a_Seed + 7, + std::make_shared( + a_Seed + 8, + 60, + std::make_shared( + a_Seed + 9, + 1, + std::make_shared( + a_Seed + 1, + std::make_shared( + a_Seed + 2, + std::make_shared( + a_Seed + 3, + 60, + std::make_shared( + a_Seed + 4, + std::make_shared( + a_Seed + 5, + std::make_shared( + a_Seed + 6, + 60, + std::make_shared( + a_Seed + 7, + 10, + 50, + 50, + std::make_shared( + a_Seed + 8, + std::make_shared( + a_Seed + 9, + std::make_shared( + a_Seed + 1, + 10, + 50, + 50, + std::make_shared( + a_Seed + 2, + 2, + std::make_shared< + cProtIntGenZoom>( + a_Seed + 3, + std::make_shared< + cProtIntGenZoom>( + a_Seed + 4, + std::make_shared< + cProtIntGenChoice>( + a_Seed + 5, + 10 + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + )); } // cTerrainHeightGen overrides: @@ -59,8 +117,11 @@ public: { int heights[cChunkDef::Width * cChunkDef::Width]; m_Gen->GetInts( - a_ChunkCoords.m_ChunkX * cChunkDef::Width, a_ChunkCoords.m_ChunkZ * cChunkDef::Width, - static_cast(cChunkDef::Width), static_cast(cChunkDef::Width), heights + a_ChunkCoords.m_ChunkX * cChunkDef::Width, + a_ChunkCoords.m_ChunkZ * cChunkDef::Width, + static_cast(cChunkDef::Width), + static_cast(cChunkDef::Width), + heights ); for (size_t i = 0; i < ARRAYCOUNT(heights); i++) { @@ -68,7 +129,7 @@ public: } } -protected: + protected: int m_Seed; std::shared_ptr m_Gen; @@ -107,11 +168,7 @@ void cHeiGenFlat::InitializeHeightGen(cIniFile & a_IniFile) // cHeiGenCache: cHeiGenCache::cHeiGenCache(cTerrainHeightGen & a_HeiGenToCache, size_t a_CacheSize) : - m_HeiGenToCache(a_HeiGenToCache), - m_CacheSize(a_CacheSize), - m_NumHits(0), - m_NumMisses(0), - m_TotalChain(0) + m_HeiGenToCache(a_HeiGenToCache), m_CacheSize(a_CacheSize), m_NumHits(0), m_NumMisses(0), m_TotalChain(0) { m_CacheOrder.resize(a_CacheSize); m_CacheData.resize(a_CacheSize); @@ -130,8 +187,8 @@ void cHeiGenCache::GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightMap /* if (((m_NumHits + m_NumMisses) % 1024) == 10) { - LOGD("HeiGenCache: %d hits, %d misses, saved %.2f %%", m_NumHits, m_NumMisses, 100.0 * m_NumHits / (m_NumHits + m_NumMisses)); - LOGD("HeiGenCache: Avg cache chain length: %.2f", static_cast(m_TotalChain) / m_NumHits); + LOGD("HeiGenCache: %d hits, %d misses, saved %.2f %%", m_NumHits, m_NumMisses, 100.0 * m_NumHits / (m_NumHits + + m_NumMisses)); LOGD("HeiGenCache: Avg cache chain length: %.2f", static_cast(m_TotalChain) / m_NumHits); } //*/ @@ -219,9 +276,12 @@ bool cHeiGenCache::GetHeightAt(int a_ChunkX, int a_ChunkZ, int a_RelX, int a_Rel //////////////////////////////////////////////////////////////////////////////// // cHeiGenMultiCache: -cHeiGenMultiCache::cHeiGenMultiCache(std::unique_ptr a_HeiGenToCache, size_t a_SubCacheSize, size_t a_NumSubCaches): - m_NumSubCaches(a_NumSubCaches), - m_Underlying(std::move(a_HeiGenToCache)) +cHeiGenMultiCache::cHeiGenMultiCache( + std::unique_ptr a_HeiGenToCache, + size_t a_SubCacheSize, + size_t a_NumSubCaches +) : + m_NumSubCaches(a_NumSubCaches), m_Underlying(std::move(a_HeiGenToCache)) { // Create the individual sub-caches: m_SubCaches.reserve(a_NumSubCaches); @@ -238,7 +298,9 @@ cHeiGenMultiCache::cHeiGenMultiCache(std::unique_ptr a_HeiGen void cHeiGenMultiCache::GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightMap & a_HeightMap) { // Get the subcache responsible for this chunk: - const size_t cacheIdx = (static_cast(a_ChunkCoords.m_ChunkX) + m_CoeffZ * static_cast(a_ChunkCoords.m_ChunkZ)) % m_NumSubCaches; + const size_t cacheIdx = + (static_cast(a_ChunkCoords.m_ChunkX) + m_CoeffZ * static_cast(a_ChunkCoords.m_ChunkZ)) % + m_NumSubCaches; // Ask the subcache: m_SubCaches[cacheIdx]->GenHeightMap(a_ChunkCoords, a_HeightMap); @@ -328,7 +390,8 @@ void cHeiGenClassic::GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightM { const float xx = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width + x); - HEIGHTTYPE hei = static_cast(Clamp(static_cast(64 + (GetNoise(xx * 0.05f, zz * 0.05f) * 16)), 10, 250)); + HEIGHTTYPE hei = + static_cast(Clamp(static_cast(64 + (GetNoise(xx * 0.05f, zz * 0.05f) * 16)), 10, 250)); cChunkDef::SetHeight(a_HeightMap, x, z, hei); } // for x } // for z @@ -343,9 +406,9 @@ void cHeiGenClassic::InitializeHeightGen(cIniFile & a_IniFile) m_HeightFreq1 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightFreq1", 0.1)); m_HeightFreq2 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightFreq2", 1.0)); m_HeightFreq3 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightFreq3", 2.0)); - m_HeightAmp1 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightAmp1", 1.0)); - m_HeightAmp2 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightAmp2", 0.5)); - m_HeightAmp3 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightAmp3", 0.5)); + m_HeightAmp1 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightAmp1", 1.0)); + m_HeightAmp2 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightAmp2", 0.5)); + m_HeightAmp3 = static_cast(a_IniFile.GetValueSetF("Generator", "ClassicHeightAmp3", 0.5)); } @@ -356,10 +419,7 @@ void cHeiGenClassic::InitializeHeightGen(cIniFile & a_IniFile) // cHeiGenMountains: cHeiGenMountains::cHeiGenMountains(int a_Seed) : - m_Seed(a_Seed), - m_MountainNoise(a_Seed + 100), - m_DitchNoise(a_Seed + 200), - m_Perlin(a_Seed + 300) + m_Seed(a_Seed), m_MountainNoise(a_Seed + 100), m_DitchNoise(a_Seed + 200), m_Perlin(a_Seed + 300) { } @@ -370,9 +430,9 @@ cHeiGenMountains::cHeiGenMountains(int a_Seed) : void cHeiGenMountains::GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightMap & a_HeightMap) { NOISE_DATATYPE StartX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width); - NOISE_DATATYPE EndX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width + cChunkDef::Width - 1); + NOISE_DATATYPE EndX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width + cChunkDef::Width - 1); NOISE_DATATYPE StartZ = static_cast(a_ChunkCoords.m_ChunkZ * cChunkDef::Width); - NOISE_DATATYPE EndZ = static_cast(a_ChunkCoords.m_ChunkZ * cChunkDef::Width + cChunkDef::Width - 1); + NOISE_DATATYPE EndZ = static_cast(a_ChunkCoords.m_ChunkZ * cChunkDef::Width + cChunkDef::Width - 1); NOISE_DATATYPE Workspace[16 * 16]; NOISE_DATATYPE MountainNoise[16 * 16]; NOISE_DATATYPE DitchNoise[16 * 16]; @@ -386,7 +446,9 @@ void cHeiGenMountains::GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::Heigh for (int x = 0; x < cChunkDef::Width; x++) { int idx = IdxZ + x; - HEIGHTTYPE hei = static_cast(Clamp(100 - static_cast((MountainNoise[idx] - DitchNoise[idx] + PerlinNoise[idx]) * 15), 10, 250)); + HEIGHTTYPE hei = static_cast( + Clamp(100 - static_cast((MountainNoise[idx] - DitchNoise[idx] + PerlinNoise[idx]) * 15), 10, 250) + ); cChunkDef::SetHeight(a_HeightMap, x, z, hei); } // for x } // for z @@ -399,10 +461,10 @@ void cHeiGenMountains::GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::Heigh void cHeiGenMountains::InitializeHeightGen(cIniFile & a_IniFile) { // TODO: Read the params from an INI file - m_MountainNoise.AddOctave(0.1f, 0.2f); + m_MountainNoise.AddOctave(0.1f, 0.2f); m_MountainNoise.AddOctave(0.05f, 0.4f); m_MountainNoise.AddOctave(0.02f, 1.0f); - m_DitchNoise.AddOctave(0.1f, 0.2f); + m_DitchNoise.AddOctave(0.1f, 0.2f); m_DitchNoise.AddOctave(0.05f, 0.4f); m_DitchNoise.AddOctave(0.02f, 1.0f); @@ -416,95 +478,187 @@ void cHeiGenMountains::InitializeHeightGen(cIniFile & a_IniFile) //////////////////////////////////////////////////////////////////////////////// // cHeiGenBiomal: -const cHeiGenBiomal::sGenParam cHeiGenBiomal::m_GenParam[256] = -{ +const cHeiGenBiomal::sGenParam cHeiGenBiomal::m_GenParam[256] = { /* Fast-changing | Middle-changing | Slow-changing | */ /* Biome | Freq1 | Amp1 | Freq2 | Amp2 | Freq3 | Amp3 | BaseHeight */ - /* biOcean */ { 0.1f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 50}, - /* biPlains */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, - /* biDesert */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, - /* biExtremeHills */ { 0.2f, 4.0f, 0.05f, 20.0f, 0.01f, 16.0f, 100}, - /* biForest */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, - /* biTaiga */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, - /* biSwampland */ { 0.1f, 1.1f, 0.05f, 1.5f, 0.02f, 2.5f, 61.5}, - /* biRiver */ { 0.2f, 0.1f, 0.05f, 0.1f, 0.01f, 0.1f, 56}, - /* biNether */ { 0.1f, 0.0f, 0.01f, 0.0f, 0.01f, 0.0f, 0}, // Unused, but must be here due to indexing - /* biSky */ { 0.1f, 0.0f, 0.01f, 0.0f, 0.01f, 0.0f, 0}, // Unused, but must be here due to indexing - /* biFrozenOcean */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, - /* biFrozenRiver */ { 0.2f, 0.1f, 0.05f, 0.1f, 0.01f, 0.1f, 56}, - /* biIcePlains */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, - /* biIceMountains */ { 0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, - /* biMushroomIsland */ { 0.1f, 2.0f, 0.05f, 8.0f, 0.01f, 6.0f, 80}, - /* biMushroomShore */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 64}, - /* biBeach */ { 0.1f, 0.5f, 0.05f, 1.0f, 0.01f, 1.0f, 64}, - /* biDesertHills */ { 0.2f, 2.0f, 0.05f, 5.0f, 0.01f, 4.0f, 75}, - /* biForestHills */ { 0.2f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 80}, - /* biTaigaHills */ { 0.2f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 80}, - /* biExtremeHillsEdge */ { 0.2f, 3.0f, 0.05f, 16.0f, 0.01f, 12.0f, 80}, - /* biJungle */ { 0.1f, 3.0f, 0.05f, 6.0f, 0.01f, 6.0f, 70}, - /* biJungleHills */ { 0.2f, 3.0f, 0.05f, 12.0f, 0.01f, 10.0f, 80}, - /* biJungleEdge */ { 0.1f, 3.0f, 0.05f, 6.0f, 0.01f, 6.0f, 70}, - /* biDeepOcean */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, - /* biStoneBeach */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, - /* biColdBeach */ { 0.1f, 0.5f, 0.05f, 1.0f, 0.01f, 1.0f, 64}, - /* biBirchForest */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, - /* biBirchForestHills */ { 0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, - /* biRoofedForest */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, - /* biColdTaiga */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, - /* biColdTaigaHills */ { 0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, - /* biMegaTaiga */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, - /* biMegaTaigaHills */ { 0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, - /* biExtremeHillsPlus */ { 0.2f, 4.0f, 0.05f, 20.0f, 0.01f, 16.0f, 120}, - /* biSavanna */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, - /* biSavannaPlateau */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, - /* biMesa */ { 0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 70}, // 165 - /* biMesaPlateauF */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, - /* biMesaPlateau */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, + /* biOcean */ {0.1f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 50}, + /* biPlains */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, + /* biDesert */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, + /* biExtremeHills */ {0.2f, 4.0f, 0.05f, 20.0f, 0.01f, 16.0f, 100}, + /* biForest */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, + /* biTaiga */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, + /* biSwampland */ {0.1f, 1.1f, 0.05f, 1.5f, 0.02f, 2.5f, 61.5}, + /* biRiver */ {0.2f, 0.1f, 0.05f, 0.1f, 0.01f, 0.1f, 56}, + /* biNether */ {0.1f, 0.0f, 0.01f, 0.0f, 0.01f, 0.0f, 0}, // Unused, but must be here due to indexing + /* biSky */ {0.1f, 0.0f, 0.01f, 0.0f, 0.01f, 0.0f, 0}, // Unused, but must be here due to indexing + /* biFrozenOcean */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, + /* biFrozenRiver */ {0.2f, 0.1f, 0.05f, 0.1f, 0.01f, 0.1f, 56}, + /* biIcePlains */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, + /* biIceMountains */ {0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, + /* biMushroomIsland */ {0.1f, 2.0f, 0.05f, 8.0f, 0.01f, 6.0f, 80}, + /* biMushroomShore */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 64}, + /* biBeach */ {0.1f, 0.5f, 0.05f, 1.0f, 0.01f, 1.0f, 64}, + /* biDesertHills */ {0.2f, 2.0f, 0.05f, 5.0f, 0.01f, 4.0f, 75}, + /* biForestHills */ {0.2f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 80}, + /* biTaigaHills */ {0.2f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 80}, + /* biExtremeHillsEdge */ {0.2f, 3.0f, 0.05f, 16.0f, 0.01f, 12.0f, 80}, + /* biJungle */ {0.1f, 3.0f, 0.05f, 6.0f, 0.01f, 6.0f, 70}, + /* biJungleHills */ {0.2f, 3.0f, 0.05f, 12.0f, 0.01f, 10.0f, 80}, + /* biJungleEdge */ {0.1f, 3.0f, 0.05f, 6.0f, 0.01f, 6.0f, 70}, + /* biDeepOcean */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, + /* biStoneBeach */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, + /* biColdBeach */ {0.1f, 0.5f, 0.05f, 1.0f, 0.01f, 1.0f, 64}, + /* biBirchForest */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, + /* biBirchForestHills */ {0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, + /* biRoofedForest */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, + /* biColdTaiga */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, + /* biColdTaigaHills */ {0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, + /* biMegaTaiga */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, + /* biMegaTaigaHills */ {0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, + /* biExtremeHillsPlus */ {0.2f, 4.0f, 0.05f, 20.0f, 0.01f, 16.0f, 120}, + /* biSavanna */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, + /* biSavannaPlateau */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, + /* biMesa */ {0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 70}, // 165 + /* biMesaPlateauF */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, + /* biMesaPlateau */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, // biomes 40 .. 128 are unused, 89 empty placeholders here: - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 40 .. 49 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 50 .. 59 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 60 .. 69 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 70 .. 79 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 80 .. 89 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 90 .. 99 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 100 .. 109 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 110 .. 119 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 120 .. 128 - - /* biSunflowerPlains */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 129 - /* biDesertM */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 130 - /* biExtremeHillsM */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 131 - /* biFlowerForest */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 132 - /* biTaigaM */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 133 - /* biSwamplandM */ { 1.0f, 3.0f, 1.10f, 7.0f, 0.01f, 0.01f, 60}, // 134 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 40 .. 49 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 50 .. 59 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 60 .. 69 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 70 .. 79 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 80 .. 89 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 90 .. 99 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 100 .. 109 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 110 .. 119 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 120 .. 128 + + /* biSunflowerPlains */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 129 + /* biDesertM */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 130 + /* biExtremeHillsM */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 131 + /* biFlowerForest */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 132 + /* biTaigaM */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 133 + /* biSwamplandM */ {1.0f, 3.0f, 1.10f, 7.0f, 0.01f, 0.01f, 60}, // 134 // Biomes 135 .. 139 unused, 5 empty placeholders here: - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 135 .. 139 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 135 .. 139 - /* biIcePlainsSpikes */ { 0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 140 + /* biIcePlainsSpikes */ {0.1f, 2.0f, 0.05f, 12.0f, 0.01f, 10.0f, 40}, // 140 // Biomes 141 .. 148 unused, 8 empty placeholders here: - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 141 .. 148 - - /* biJungleM */ { 0.1f, 3.0f, 0.05f, 6.0f, 0.01f, 6.0f, 70}, // 149 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 150 - /* biJungleEdgeM */ { 0.1f, 3.0f, 0.05f, 6.0f, 0.01f, 6.0f, 70}, // 151 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 152 .. 154 - /* biBirchForestM */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, // 155 - /* biBirchForestHillsM */ { 0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, // 156 - /* biRoofedForestM */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, // 157 - /* biColdTaigaM */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, // 158 - {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 159 - /* biMegaSpruceTaiga */ { 0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, // 160 - /* biMegaSpruceTaigaHills */ { 0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, // 161 - /* biExtremeHillsPlusM */ { 0.2f, 4.0f, 0.05f, 20.0f, 0.01f, 16.0f, 120}, // 162 - /* biSavannaM */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, // 163 - /* biSavannaPlateauM */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, // 164 - /* biMesaBryce */ { 0.2f, 2.0f, 0.1f, 30.0f, 0.01f, 8.0f, 80}, - /* biMesaPlateauFM */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, // 166 - /* biMesaPlateauM */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, // 167 -} ; + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 141 .. 148 + + /* biJungleM */ {0.1f, 3.0f, 0.05f, 6.0f, 0.01f, 6.0f, 70}, // 149 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 150 + /* biJungleEdgeM */ {0.1f, 3.0f, 0.05f, 6.0f, 0.01f, 6.0f, 70}, // 151 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 152 .. 154 + /* biBirchForestM */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, // 155 + /* biBirchForestHillsM */ {0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, // 156 + /* biRoofedForestM */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, // 157 + /* biColdTaigaM */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, // 158 + {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0}, // 159 + /* biMegaSpruceTaiga */ {0.1f, 1.0f, 0.05f, 2.0f, 0.01f, 4.0f, 70}, // 160 + /* biMegaSpruceTaigaHills */ {0.2f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 80}, // 161 + /* biExtremeHillsPlusM */ {0.2f, 4.0f, 0.05f, 20.0f, 0.01f, 16.0f, 120}, // 162 + /* biSavannaM */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, // 163 + /* biSavannaPlateauM */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, // 164 + /* biMesaBryce */ {0.2f, 2.0f, 0.1f, 30.0f, 0.01f, 8.0f, 80}, + /* biMesaPlateauFM */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, // 166 + /* biMesaPlateauM */ {0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 80}, // 167 +}; @@ -559,7 +713,13 @@ void cHeiGenBiomal::InitializeHeightGen(cIniFile & a_IniFile) -NOISE_DATATYPE cHeiGenBiomal::GetHeightAt(int a_RelX, int a_RelZ, int a_ChunkX, int a_ChunkZ, const cHeiGenBiomal::BiomeNeighbors & a_BiomeNeighbors) +NOISE_DATATYPE cHeiGenBiomal::GetHeightAt( + int a_RelX, + int a_RelZ, + int a_ChunkX, + int a_ChunkZ, + const cHeiGenBiomal::BiomeNeighbors & a_BiomeNeighbors +) { // Sum up how many biomes of each type there are in the neighborhood: int BiomeCounts[256]; @@ -606,9 +766,15 @@ NOISE_DATATYPE cHeiGenBiomal::GetHeightAt(int a_RelX, int a_RelZ, int a_ChunkX, ASSERT(m_GenParam[i].m_HeightFreq3 < 1000); */ - NOISE_DATATYPE oct1 = m_Noise.CubicNoise2D(BlockX * m_GenParam[i].m_HeightFreq1, BlockZ * m_GenParam[i].m_HeightFreq1) * m_GenParam[i].m_HeightAmp1; - NOISE_DATATYPE oct2 = m_Noise.CubicNoise2D(BlockX * m_GenParam[i].m_HeightFreq2, BlockZ * m_GenParam[i].m_HeightFreq2) * m_GenParam[i].m_HeightAmp2; - NOISE_DATATYPE oct3 = m_Noise.CubicNoise2D(BlockX * m_GenParam[i].m_HeightFreq3, BlockZ * m_GenParam[i].m_HeightFreq3) * m_GenParam[i].m_HeightAmp3; + NOISE_DATATYPE oct1 = + m_Noise.CubicNoise2D(BlockX * m_GenParam[i].m_HeightFreq1, BlockZ * m_GenParam[i].m_HeightFreq1) * + m_GenParam[i].m_HeightAmp1; + NOISE_DATATYPE oct2 = + m_Noise.CubicNoise2D(BlockX * m_GenParam[i].m_HeightFreq2, BlockZ * m_GenParam[i].m_HeightFreq2) * + m_GenParam[i].m_HeightAmp2; + NOISE_DATATYPE oct3 = + m_Noise.CubicNoise2D(BlockX * m_GenParam[i].m_HeightFreq3, BlockZ * m_GenParam[i].m_HeightFreq3) * + m_GenParam[i].m_HeightAmp3; Height += BiomeCounts[i] * (m_GenParam[i].m_BaseHeight + oct1 + oct2 + oct3); } NOISE_DATATYPE res = Height / Sum; @@ -627,20 +793,16 @@ NOISE_DATATYPE cHeiGenBiomal::GetHeightAt(int a_RelX, int a_RelZ, int a_ChunkX, //////////////////////////////////////////////////////////////////////////////// // cHeiGenMinMax: -class cHeiGenMinMax: - public cTerrainHeightGen +class cHeiGenMinMax : public cTerrainHeightGen { using Super = cTerrainHeightGen; /** Size of the averaging process, in columns (for each direction). Must be less than 16. */ static const int AVERAGING_SIZE = 4; -public: - - cHeiGenMinMax(int a_Seed, cBiomeGen & a_BiomeGen): - m_Noise(a_Seed), - m_BiomeGen(a_BiomeGen), - m_TotalWeight(0) + public: + cHeiGenMinMax(int a_Seed, cBiomeGen & a_BiomeGen) : + m_Noise(a_Seed), m_BiomeGen(a_BiomeGen), m_TotalWeight(0) { // Initialize the weights: for (int z = 0; z <= AVERAGING_SIZE * 2; z++) @@ -653,9 +815,9 @@ public: } // Initialize the Perlin generator: - m_Perlin.AddOctave(0.04f, 0.2f); - m_Perlin.AddOctave(0.02f, 0.1f); - m_Perlin.AddOctave(0.01f, 0.05f); + m_Perlin.AddOctave(0.04f, 0.2f); + m_Perlin.AddOctave(0.02f, 0.1f); + m_Perlin.AddOctave(0.01f, 0.05f); } @@ -663,10 +825,14 @@ public: { // Generate the biomes for the 3 * 3 neighbors: cChunkDef::BiomeMap neighborBiomes[3][3]; - for (int z = 0; z < 3; z++) for (int x = 0; x < 3; x++) - { - m_BiomeGen.GenBiomes({a_ChunkCoords.m_ChunkX + x - 1, a_ChunkCoords.m_ChunkZ + z - 1}, neighborBiomes[z][x]); - } + for (int z = 0; z < 3; z++) + for (int x = 0; x < 3; x++) + { + m_BiomeGen.GenBiomes( + {a_ChunkCoords.m_ChunkX + x - 1, a_ChunkCoords.m_ChunkZ + z - 1}, + neighborBiomes[z][x] + ); + } // Get the min and max heights based on the biomes: double minHeight[cChunkDef::Width * cChunkDef::Width]; @@ -680,13 +846,13 @@ public: for (int relz = 0; relz <= AVERAGING_SIZE * 2; relz++) { int bz = z + 16 + relz - AVERAGING_SIZE; // Biome Z coord relative to the neighborBiomes start - int cz = bz / 16; // Chunk Z coord relative to the neighborBiomes start - bz = bz % 16; // Biome Z coord relative to cz in neighborBiomes + int cz = bz / 16; // Chunk Z coord relative to the neighborBiomes start + bz = bz % 16; // Biome Z coord relative to cz in neighborBiomes for (int relx = 0; relx <= AVERAGING_SIZE * 2; relx++) { int bx = x + 16 + relx - AVERAGING_SIZE; // Biome X coord relative to the neighborBiomes start - int cx = bx / 16; // Chunk X coord relative to the neighborBiomes start - bx = bx % 16; // Biome X coord relative to cz in neighborBiomes + int cx = bx / 16; // Chunk X coord relative to the neighborBiomes start + bx = bx % 16; // Biome X coord relative to cz in neighborBiomes // Get the biome's min and max heights: double bmin, bmax; @@ -730,7 +896,7 @@ public: // No settings available } -protected: + protected: cNoise m_Noise; cPerlinNoise m_Perlin; @@ -750,67 +916,250 @@ protected: { switch (a_Biome) { - case biBeach: a_Min = 61; a_Max = 64; break; - case biBirchForest: a_Min = 63; a_Max = 75; break; - case biBirchForestHills: a_Min = 63; a_Max = 90; break; - case biBirchForestHillsM: a_Min = 63; a_Max = 90; break; - case biBirchForestM: a_Min = 63; a_Max = 75; break; - case biColdBeach: a_Min = 61; a_Max = 64; break; - case biColdTaiga: a_Min = 63; a_Max = 75; break; - case biColdTaigaHills: a_Min = 63; a_Max = 90; break; - case biColdTaigaM: a_Min = 63; a_Max = 75; break; - case biDeepOcean: a_Min = 30; a_Max = 60; break; - case biDesert: a_Min = 63; a_Max = 70; break; - case biDesertHills: a_Min = 63; a_Max = 85; break; - case biDesertM: a_Min = 63; a_Max = 70; break; - case biEnd: a_Min = 10; a_Max = 100; break; - case biExtremeHills: a_Min = 60; a_Max = 120; break; - case biExtremeHillsEdge: a_Min = 63; a_Max = 100; break; - case biExtremeHillsM: a_Min = 60; a_Max = 120; break; - case biExtremeHillsPlus: a_Min = 60; a_Max = 140; break; - case biExtremeHillsPlusM: a_Min = 60; a_Max = 140; break; - case biFlowerForest: a_Min = 63; a_Max = 75; break; - case biForest: a_Min = 63; a_Max = 75; break; - case biForestHills: a_Min = 63; a_Max = 90; break; - case biFrozenOcean: a_Min = 45; a_Max = 64; break; - case biFrozenRiver: a_Min = 60; a_Max = 62; break; - case biIceMountains: a_Min = 63; a_Max = 90; break; - case biIcePlains: a_Min = 63; a_Max = 70; break; - case biIcePlainsSpikes: a_Min = 60; a_Max = 70; break; - case biJungle: a_Min = 60; a_Max = 80; break; - case biJungleEdge: a_Min = 62; a_Max = 75; break; - case biJungleEdgeM: a_Min = 62; a_Max = 75; break; - case biJungleHills: a_Min = 60; a_Max = 90; break; - case biJungleM: a_Min = 60; a_Max = 75; break; - case biMegaSpruceTaiga: a_Min = 63; a_Max = 75; break; - case biMegaSpruceTaigaHills: a_Min = 63; a_Max = 90; break; - case biMegaTaiga: a_Min = 63; a_Max = 75; break; - case biMegaTaigaHills: a_Min = 63; a_Max = 90; break; - case biMesa: a_Min = 63; a_Max = 90; break; - case biMesaBryce: a_Min = 60; a_Max = 67; break; - case biMesaPlateau: a_Min = 75; a_Max = 85; break; - case biMesaPlateauF: a_Min = 80; a_Max = 90; break; - case biMesaPlateauFM: a_Min = 80; a_Max = 90; break; - case biMesaPlateauM: a_Min = 75; a_Max = 85; break; - case biMushroomIsland: a_Min = 63; a_Max = 90; break; - case biMushroomShore: a_Min = 60; a_Max = 75; break; - case biNether: a_Min = 10; a_Max = 100; break; - case biOcean: a_Min = 45; a_Max = 64; break; - case biPlains: a_Min = 63; a_Max = 70; break; - case biRiver: a_Min = 60; a_Max = 62; break; - case biRoofedForest: a_Min = 63; a_Max = 75; break; - case biRoofedForestM: a_Min = 63; a_Max = 75; break; - case biSavanna: a_Min = 63; a_Max = 75; break; - case biSavannaM: a_Min = 63; a_Max = 80; break; - case biSavannaPlateau: a_Min = 75; a_Max = 100; break; - case biSavannaPlateauM: a_Min = 80; a_Max = 160; break; - case biStoneBeach: a_Min = 60; a_Max = 64; break; - case biSunflowerPlains: a_Min = 63; a_Max = 70; break; - case biSwampland: a_Min = 60; a_Max = 67; break; - case biSwamplandM: a_Min = 61; a_Max = 67; break; - case biTaiga: a_Min = 63; a_Max = 75; break; - case biTaigaHills: a_Min = 63; a_Max = 90; break; - case biTaigaM: a_Min = 63; a_Max = 80; break; + case biBeach: + a_Min = 61; + a_Max = 64; + break; + case biBirchForest: + a_Min = 63; + a_Max = 75; + break; + case biBirchForestHills: + a_Min = 63; + a_Max = 90; + break; + case biBirchForestHillsM: + a_Min = 63; + a_Max = 90; + break; + case biBirchForestM: + a_Min = 63; + a_Max = 75; + break; + case biColdBeach: + a_Min = 61; + a_Max = 64; + break; + case biColdTaiga: + a_Min = 63; + a_Max = 75; + break; + case biColdTaigaHills: + a_Min = 63; + a_Max = 90; + break; + case biColdTaigaM: + a_Min = 63; + a_Max = 75; + break; + case biDeepOcean: + a_Min = 30; + a_Max = 60; + break; + case biDesert: + a_Min = 63; + a_Max = 70; + break; + case biDesertHills: + a_Min = 63; + a_Max = 85; + break; + case biDesertM: + a_Min = 63; + a_Max = 70; + break; + case biEnd: + a_Min = 10; + a_Max = 100; + break; + case biExtremeHills: + a_Min = 60; + a_Max = 120; + break; + case biExtremeHillsEdge: + a_Min = 63; + a_Max = 100; + break; + case biExtremeHillsM: + a_Min = 60; + a_Max = 120; + break; + case biExtremeHillsPlus: + a_Min = 60; + a_Max = 140; + break; + case biExtremeHillsPlusM: + a_Min = 60; + a_Max = 140; + break; + case biFlowerForest: + a_Min = 63; + a_Max = 75; + break; + case biForest: + a_Min = 63; + a_Max = 75; + break; + case biForestHills: + a_Min = 63; + a_Max = 90; + break; + case biFrozenOcean: + a_Min = 45; + a_Max = 64; + break; + case biFrozenRiver: + a_Min = 60; + a_Max = 62; + break; + case biIceMountains: + a_Min = 63; + a_Max = 90; + break; + case biIcePlains: + a_Min = 63; + a_Max = 70; + break; + case biIcePlainsSpikes: + a_Min = 60; + a_Max = 70; + break; + case biJungle: + a_Min = 60; + a_Max = 80; + break; + case biJungleEdge: + a_Min = 62; + a_Max = 75; + break; + case biJungleEdgeM: + a_Min = 62; + a_Max = 75; + break; + case biJungleHills: + a_Min = 60; + a_Max = 90; + break; + case biJungleM: + a_Min = 60; + a_Max = 75; + break; + case biMegaSpruceTaiga: + a_Min = 63; + a_Max = 75; + break; + case biMegaSpruceTaigaHills: + a_Min = 63; + a_Max = 90; + break; + case biMegaTaiga: + a_Min = 63; + a_Max = 75; + break; + case biMegaTaigaHills: + a_Min = 63; + a_Max = 90; + break; + case biMesa: + a_Min = 63; + a_Max = 90; + break; + case biMesaBryce: + a_Min = 60; + a_Max = 67; + break; + case biMesaPlateau: + a_Min = 75; + a_Max = 85; + break; + case biMesaPlateauF: + a_Min = 80; + a_Max = 90; + break; + case biMesaPlateauFM: + a_Min = 80; + a_Max = 90; + break; + case biMesaPlateauM: + a_Min = 75; + a_Max = 85; + break; + case biMushroomIsland: + a_Min = 63; + a_Max = 90; + break; + case biMushroomShore: + a_Min = 60; + a_Max = 75; + break; + case biNether: + a_Min = 10; + a_Max = 100; + break; + case biOcean: + a_Min = 45; + a_Max = 64; + break; + case biPlains: + a_Min = 63; + a_Max = 70; + break; + case biRiver: + a_Min = 60; + a_Max = 62; + break; + case biRoofedForest: + a_Min = 63; + a_Max = 75; + break; + case biRoofedForestM: + a_Min = 63; + a_Max = 75; + break; + case biSavanna: + a_Min = 63; + a_Max = 75; + break; + case biSavannaM: + a_Min = 63; + a_Max = 80; + break; + case biSavannaPlateau: + a_Min = 75; + a_Max = 100; + break; + case biSavannaPlateauM: + a_Min = 80; + a_Max = 160; + break; + case biStoneBeach: + a_Min = 60; + a_Max = 64; + break; + case biSunflowerPlains: + a_Min = 63; + a_Max = 70; + break; + case biSwampland: + a_Min = 60; + a_Max = 67; + break; + case biSwamplandM: + a_Min = 61; + a_Max = 67; + break; + case biTaiga: + a_Min = 63; + a_Max = 75; + break; + case biTaigaHills: + a_Min = 63; + a_Max = 90; + break; + case biTaigaM: + a_Min = 63; + a_Max = 80; + break; case biInvalidBiome: case biNumBiomes: case biVariant: @@ -832,7 +1181,12 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cTerrainHeightGen: -std::unique_ptr cTerrainHeightGen::CreateHeightGen(cIniFile & a_IniFile, cBiomeGen & a_BiomeGen, int a_Seed, bool & a_CacheOffByDefault) +std::unique_ptr cTerrainHeightGen::CreateHeightGen( + cIniFile & a_IniFile, + cBiomeGen & a_BiomeGen, + int a_Seed, + bool & a_CacheOffByDefault +) { AString HeightGenName = a_IniFile.GetValueSet("Generator", "HeightGen", ""); if (HeightGenName.empty()) @@ -854,14 +1208,14 @@ std::unique_ptr cTerrainHeightGen::CreateHeightGen(cIniFile & } else if (NoCaseCompare(HeightGenName, "DistortedHeightmap") == 0) { - // Not a heightmap-based generator, but it used to be accessible via HeightGen, so we need to skip making the default out of it - // Return an empty pointer, the caller will create the proper generator: + // Not a heightmap-based generator, but it used to be accessible via HeightGen, so we need to skip making the + // default out of it Return an empty pointer, the caller will create the proper generator: return nullptr; } else if (NoCaseCompare(HeightGenName, "End") == 0) { - // Not a heightmap-based generator, but it used to be accessible via HeightGen, so we need to skip making the default out of it - // Return an empty pointer, the caller will create the proper generator: + // Not a heightmap-based generator, but it used to be accessible via HeightGen, so we need to skip making the + // default out of it Return an empty pointer, the caller will create the proper generator: return nullptr; } else if (NoCaseCompare(HeightGenName, "MinMax") == 0) @@ -874,8 +1228,8 @@ std::unique_ptr cTerrainHeightGen::CreateHeightGen(cIniFile & } else if (NoCaseCompare(HeightGenName, "BiomalNoise3D") == 0) { - // Not a heightmap-based generator, but it used to be accessible via HeightGen, so we need to skip making the default out of it - // Return an empty pointer, the caller will create the proper generator: + // Not a heightmap-based generator, but it used to be accessible via HeightGen, so we need to skip making the + // default out of it Return an empty pointer, the caller will create the proper generator: return nullptr; } else if (NoCaseCompare(HeightGenName, "Steppy") == 0) @@ -884,8 +1238,8 @@ std::unique_ptr cTerrainHeightGen::CreateHeightGen(cIniFile & } else if (NoCaseCompare(HeightGenName, "Noise3D") == 0) { - // Not a heightmap-based generator, but it used to be accessible via HeightGen, so we need to skip making the default out of it - // Return an empty pointer, the caller will create the proper generator: + // Not a heightmap-based generator, but it used to be accessible via HeightGen, so we need to skip making the + // default out of it Return an empty pointer, the caller will create the proper generator: return nullptr; } else if (NoCaseCompare(HeightGenName, "Biomal") == 0) @@ -918,8 +1272,3 @@ std::unique_ptr cTerrainHeightGen::CreateHeightGen(cIniFile & return res; } - - - - - diff --git a/src/Generating/HeiGen.h b/src/Generating/HeiGen.h index 6f2101043..d40c052c5 100644 --- a/src/Generating/HeiGen.h +++ b/src/Generating/HeiGen.h @@ -24,10 +24,9 @@ Also implements the heightmap cache /** A simple cache that stores N most recently generated chunks' heightmaps; N being settable upon creation */ -class cHeiGenCache : - public cTerrainHeightGen +class cHeiGenCache : public cTerrainHeightGen { -public: + public: cHeiGenCache(cTerrainHeightGen & a_HeiGenToCache, size_t a_CacheSize); // cTerrainHeightGen overrides: @@ -37,42 +36,46 @@ public: /** Retrieves height at the specified point in the cache, returns true if found, false if not found */ bool GetHeightAt(int a_ChunkX, int a_ChunkZ, int a_RelX, int a_RelZ, HEIGHTTYPE & a_Height); -protected: + protected: struct sCacheData { cChunkCoords m_Coords; cChunkDef::HeightMap m_HeightMap; /** Default constructor: Fill in bogus coords, so that the item is not used until properly calculated. */ - sCacheData(): + sCacheData() : m_Coords(0x7fffffff, 0x7fffffff) - {} - } ; + { + } + }; /** The terrain height generator that is being cached. */ cTerrainHeightGen & m_HeiGenToCache; // To avoid moving large amounts of data for the MRU behavior, we MRU-ize indices to an array of the actual data - size_t m_CacheSize; - std::vector m_CacheOrder; // MRU-ized order, indices into m_CacheData array - std::vector m_CacheData; // m_CacheData[m_CacheOrder[0]] is the most recently used + size_t m_CacheSize; + std::vector m_CacheOrder; // MRU-ized order, indices into m_CacheData array + std::vector m_CacheData; // m_CacheData[m_CacheOrder[0]] is the most recently used // Cache statistics size_t m_NumHits; size_t m_NumMisses; size_t m_TotalChain; // Number of cache items walked to get to a hit (only added for hits) -} ; +}; /** Caches heightmaps in multiple underlying caches to improve the distribution and lower the chain length. */ -class cHeiGenMultiCache: - public cTerrainHeightGen +class cHeiGenMultiCache : public cTerrainHeightGen { -public: - cHeiGenMultiCache(std::unique_ptr a_HeightGenToCache, size_t a_SubCacheSize, size_t a_NumSubCaches); + public: + cHeiGenMultiCache( + std::unique_ptr a_HeightGenToCache, + size_t a_SubCacheSize, + size_t a_NumSubCaches + ); // cTerrainHeightGen overrides: virtual void GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightMap & a_HeightMap) override; @@ -81,8 +84,7 @@ public: /** Retrieves height at the specified point in the cache, returns true if found, false if not found */ bool GetHeightAt(int a_ChunkX, int a_ChunkZ, int a_RelX, int a_RelZ, HEIGHTTYPE & a_Height); -protected: - + protected: /** The coefficient used to turn Z coords into index (x + Coeff * z). */ static const size_t m_CoeffZ = 5; @@ -100,33 +102,32 @@ protected: -class cHeiGenFlat : - public cTerrainHeightGen +class cHeiGenFlat : public cTerrainHeightGen { -public: - cHeiGenFlat(void) : m_Height(5) {} - -protected: + public: + cHeiGenFlat(void) : + m_Height(5) + { + } + protected: HEIGHTTYPE m_Height; // cTerrainHeightGen overrides: virtual void GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightMap & a_HeightMap) override; virtual void InitializeHeightGen(cIniFile & a_IniFile) override; -} ; +}; -class cHeiGenClassic : - public cTerrainHeightGen +class cHeiGenClassic : public cTerrainHeightGen { -public: + public: cHeiGenClassic(int a_Seed); -protected: - + protected: int m_Seed; cNoise m_Noise; float m_HeightFreq1, m_HeightAmp1; @@ -138,20 +139,18 @@ protected: // cTerrainHeightGen overrides: virtual void GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightMap & a_HeightMap) override; virtual void InitializeHeightGen(cIniFile & a_IniFile) override; -} ; +}; -class cHeiGenMountains : - public cTerrainHeightGen +class cHeiGenMountains : public cTerrainHeightGen { -public: + public: cHeiGenMountains(int a_Seed); -protected: - + protected: int m_Seed; cRidgedMultiNoise m_MountainNoise; cRidgedMultiNoise m_DitchNoise; @@ -160,35 +159,32 @@ protected: // cTerrainHeightGen overrides: virtual void GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightMap & a_HeightMap) override; virtual void InitializeHeightGen(cIniFile & a_IniFile) override; -} ; +}; -class cHeiGenBiomal: - public cTerrainHeightGen +class cHeiGenBiomal : public cTerrainHeightGen { using Super = cTerrainHeightGen; -public: - - cHeiGenBiomal(int a_Seed, cBiomeGen & a_BiomeGen): - m_Noise(a_Seed), - m_BiomeGen(a_BiomeGen) + public: + cHeiGenBiomal(int a_Seed, cBiomeGen & a_BiomeGen) : + m_Noise(a_Seed), m_BiomeGen(a_BiomeGen) { } // cTerrainHeightGen overrides: virtual void GenHeightMap(cChunkCoords a_ChunkCoords, cChunkDef::HeightMap & a_HeightMap) override; - virtual HEIGHTTYPE GetHeightAt(int a_BlockX, int a_BlockZ) override // Need to provide this override due to clang's overzealous detection of overloaded virtuals + virtual HEIGHTTYPE GetHeightAt(int a_BlockX, int a_BlockZ) + override // Need to provide this override due to clang's overzealous detection of overloaded virtuals { return Super::GetHeightAt(a_BlockX, a_BlockZ); } virtual void InitializeHeightGen(cIniFile & a_IniFile) override; -protected: - + protected: typedef cChunkDef::BiomeMap BiomeNeighbors[3][3]; cNoise m_Noise; @@ -201,9 +197,15 @@ protected: float m_HeightFreq2, m_HeightAmp2; float m_HeightFreq3, m_HeightAmp3; float m_BaseHeight; - } ; + }; static const sGenParam m_GenParam[256]; - NOISE_DATATYPE GetHeightAt(int a_RelX, int a_RelZ, int a_ChunkX, int a_ChunkZ, const BiomeNeighbors & a_BiomeNeighbors); -} ; + NOISE_DATATYPE GetHeightAt( + int a_RelX, + int a_RelZ, + int a_ChunkX, + int a_ChunkZ, + const BiomeNeighbors & a_BiomeNeighbors + ); +}; diff --git a/src/Generating/IntGen.h b/src/Generating/IntGen.h index b56567f9f..bfc489102 100644 --- a/src/Generating/IntGen.h +++ b/src/Generating/IntGen.h @@ -37,24 +37,22 @@ by using templates. /** Constants representing the biome group designators. */ -const int bgOcean = 0; -const int bgDesert = 1; -const int bgTemperate = 2; -const int bgMountains = 3; -const int bgIce = 4; +const int bgOcean = 0; +const int bgDesert = 1; +const int bgTemperate = 2; +const int bgMountains = 3; +const int bgIce = 4; const int bgLandOceanMax = 4; // Maximum biome group value generated in the landOcean generator -const int bgfRare = 1024; // Flag added to values to generate rare biomes for the group +const int bgfRare = 1024; // Flag added to values to generate rare biomes for the group /** Interface that all the generator classes provide. */ -template -class cIntGen +template class cIntGen { -public: - + public: using IntGenType = cIntGen; /** Force a virtual destructor in all descendants. @@ -66,67 +64,57 @@ public: /** Generates the array of templated size into a_Values, based on given min coords. */ virtual void GetInts(int a_MinX, int a_MinZ, Values & a_Values) = 0; - }; // Code adapted from https://stackoverflow.com/questions/7858817/unpacking-a-tuple-to-call-a-matching-function-pointer -template -struct sSeq +template struct sSeq { }; -template -struct sGens : sGens +template struct sGens : sGens { }; -template -struct sGens<0, S...> +template struct sGens<0, S...> { using type = sSeq; }; -template -class cIntGenFactory +template class cIntGenFactory { -public: - + public: using Generator = Gen; - cIntGenFactory(Args&&... a_args) : + cIntGenFactory(Args &&... a_args) : m_args(std::make_tuple(std::forward(a_args)...)) { } - template - std::shared_ptr construct(LhsGen&& a_Lhs) + template std::shared_ptr construct(LhsGen && a_Lhs) { return construct_impl(std::forward(a_Lhs), typename sGens::type()); } -private: + private: std::tuple m_args; - template - std::shared_ptr construct_impl(LhsGen&& a_Lhs, sSeq) + template std::shared_ptr construct_impl(LhsGen && a_Lhs, sSeq) { return std::make_shared(std::get(m_args)..., std::forward(a_Lhs)); } - }; -template -std::shared_ptr operator| (std::shared_ptr a_Lhs, cIntGenFactory a_Rhs) +template +std::shared_ptr operator|(std::shared_ptr a_Lhs, cIntGenFactory a_Rhs) { return a_Rhs.construct(static_cast>(a_Lhs)); } -template -cIntGenFactory MakeIntGen(Args&&... a_Args) +template cIntGenFactory MakeIntGen(Args &&... a_Args) { return cIntGenFactory(std::forward(a_Args)...); } @@ -134,20 +122,17 @@ cIntGenFactory MakeIntGen(Args&&... a_Args) /** Provides additional cNoise member and its helper functions. */ -template -class cIntGenWithNoise: - public cIntGen +template class cIntGenWithNoise : public cIntGen { using Super = cIntGen; -public: - - cIntGenWithNoise(int a_Seed): + public: + cIntGenWithNoise(int a_Seed) : m_Noise(a_Seed) { } -protected: + protected: cNoise m_Noise; /** Chooses one of a_Val1 or a_Val2, based on m_Noise and the coordinates for querying the noise. */ @@ -176,15 +161,12 @@ protected: /** Generates a 2D array of random integers in the specified range [0 .. Range). */ -template -class cIntGenChoice: - public cIntGenWithNoise +template class cIntGenChoice : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - - cIntGenChoice(int a_Seed): + public: + cIntGenChoice(int a_Seed) : Super(a_Seed) { } @@ -210,17 +192,13 @@ public: /** Decides between the ocean and landmass biomes. Has a threshold (in percent) of how much land, the larger the threshold, the more land. Generates 0 for ocean, biome group ID for landmass. */ -template -class cIntGenLandOcean: - public cIntGenWithNoise +template class cIntGenLandOcean : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - - cIntGenLandOcean(int a_Seed, int a_Threshold): - Super(a_Seed), - m_Threshold(a_Threshold) + public: + cIntGenLandOcean(int a_Seed, int a_Threshold) : + Super(a_Seed), m_Threshold(a_Threshold) { } @@ -244,7 +222,7 @@ public: } } -protected: + protected: int m_Threshold; }; @@ -255,25 +233,20 @@ protected: /** Zooms the underlying value array to twice the size. Uses random-neighbor for the pixels in-between. This means that the zoome out image is randomly distorted. Applying zoom several times provides all the distortion that the generators need. */ -template -class cIntGenZoom: - public cIntGenWithNoise +template class cIntGenZoom : public cIntGenWithNoise { using Super = cIntGenWithNoise; -protected: - + protected: static const int m_LowerSizeX = (SizeX / 2) + 2; static const int m_LowerSizeZ = (SizeZ / 2) + 2; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenZoom(int a_Seed, Underlying a_UnderlyingGen): - Super(a_Seed), - m_UnderlyingGen(a_UnderlyingGen) + cIntGenZoom(int a_Seed, Underlying a_UnderlyingGen) : + Super(a_Seed), m_UnderlyingGen(a_UnderlyingGen) { } @@ -304,7 +277,7 @@ public: int RndZ = (z + lowerMinZ) * 2; cache[idx] = PrevZ0; cache[idx + lowStepX] = Super::ChooseRandomOne(RndX, RndZ + 1, PrevZ0, PrevZ1); - cache[idx + 1] = Super::ChooseRandomOne(RndX, RndZ - 1, PrevZ0, ValX1Z0); + cache[idx + 1] = Super::ChooseRandomOne(RndX, RndZ - 1, PrevZ0, ValX1Z0); cache[idx + 1 + lowStepX] = Super::ChooseRandomOne(RndX, RndZ, PrevZ0, ValX1Z0, PrevZ1, ValX1Z1); idx += 2; PrevZ0 = ValX1Z0; @@ -319,7 +292,7 @@ public: } } -protected: + protected: Underlying m_UnderlyingGen; }; @@ -329,23 +302,19 @@ protected: /** Smoothes out some artifacts generated by the zooming - mostly single-pixel values. Compares each pixel to its neighbors and if the neighbors are equal, changes the pixel to their value. */ -template -class cIntGenSmooth: - public cIntGenWithNoise +template class cIntGenSmooth : public cIntGenWithNoise { using Super = cIntGenWithNoise; static const int m_LowerSizeX = SizeX + 2; static const int m_LowerSizeZ = SizeZ + 2; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenSmooth(int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(a_Underlying) + cIntGenSmooth(int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(a_Underlying) { } @@ -363,10 +332,10 @@ public: int NoiseZ = a_MinZ + z; for (int x = 0; x < SizeX; x++) { - int val = lowerData[x + 1 + (z + 1) * m_LowerSizeX]; - int above = lowerData[x + 1 + z * m_LowerSizeX]; + int val = lowerData[x + 1 + (z + 1) * m_LowerSizeX]; + int above = lowerData[x + 1 + z * m_LowerSizeX]; int below = lowerData[x + 1 + (z + 2) * m_LowerSizeX]; - int left = lowerData[x + (z + 1) * m_LowerSizeX]; + int left = lowerData[x + (z + 1) * m_LowerSizeX]; int right = lowerData[x + 2 + (z + 1) * m_LowerSizeX]; if ((left == right) && (above == below)) @@ -398,7 +367,7 @@ public: } } -protected: + protected: Underlying m_Underlying; }; @@ -407,21 +376,18 @@ protected: /** Converts land biomes at the edge of an ocean into the respective beach biome. */ -template -class cIntGenBeaches: - public cIntGen +template class cIntGenBeaches : public cIntGen { using Super = cIntGen; static const int m_UnderlyingSizeX = SizeX + 2; static const int m_UnderlyingSizeZ = SizeZ + 2; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenBeaches(Underlying a_Underlying): + cIntGenBeaches(Underlying a_Underlying) : m_Underlying(a_Underlying) { } @@ -430,8 +396,7 @@ public: virtual void GetInts(int a_MinX, int a_MinZ, typename Super::Values & a_Values) override { // Map for biome -> its beach: - static const int ToBeach[] = - { + static const int ToBeach[] = { /* biOcean */ biOcean, /* biPlains */ biBeach, /* biDesert */ biBeach, @@ -483,10 +448,10 @@ public: { for (int x = 0; x < SizeX; x++) { - int val = lowerValues[x + 1 + (z + 1) * m_UnderlyingSizeX]; - int above = lowerValues[x + 1 + z * m_UnderlyingSizeX]; + int val = lowerValues[x + 1 + (z + 1) * m_UnderlyingSizeX]; + int above = lowerValues[x + 1 + z * m_UnderlyingSizeX]; int below = lowerValues[x + 1 + (z + 2) * m_UnderlyingSizeX]; - int left = lowerValues[x + (z + 1) * m_UnderlyingSizeX]; + int left = lowerValues[x + (z + 1) * m_UnderlyingSizeX]; int right = lowerValues[x + 2 + (z + 1) * m_UnderlyingSizeX]; if (!IsBiomeOcean(val)) { @@ -501,7 +466,7 @@ public: } } -protected: + protected: Underlying m_Underlying; }; @@ -511,21 +476,16 @@ protected: /** Generates the underlying numbers and then randomly changes some ocean group pixels into random land biome group pixels, based on the predefined chance. */ -template -class cIntGenAddIslands: - public cIntGenWithNoise +template class cIntGenAddIslands : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenAddIslands(int a_Seed, int a_Chance, Underlying a_Underlying): - Super(a_Seed), - m_Chance(a_Chance), - m_Underlying(a_Underlying) + cIntGenAddIslands(int a_Seed, int a_Chance, Underlying a_Underlying) : + Super(a_Seed), m_Chance(a_Chance), m_Underlying(a_Underlying) { } @@ -549,7 +509,7 @@ public: } // for z } -protected: + protected: /** Chance, in permille, of an island being generated in ocean. */ int m_Chance; @@ -561,21 +521,18 @@ protected: /** A filter that adds an edge biome group between two biome groups that need an edge between them. */ -template -class cIntGenBiomeGroupEdges: - public cIntGen +template class cIntGenBiomeGroupEdges : public cIntGen { using Super = cIntGen; static const int m_UnderlyingSizeX = SizeX + 2; static const int m_UnderlyingSizeZ = SizeZ + 2; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenBiomeGroupEdges(Underlying a_Underlying): + cIntGenBiomeGroupEdges(Underlying a_Underlying) : m_Underlying(a_Underlying) { } @@ -592,22 +549,18 @@ public: { for (int x = 0; x < SizeX; x++) { - int val = lowerValues[x + 1 + (z + 1) * m_UnderlyingSizeX]; - int above = lowerValues[x + 1 + z * m_UnderlyingSizeX]; + int val = lowerValues[x + 1 + (z + 1) * m_UnderlyingSizeX]; + int above = lowerValues[x + 1 + z * m_UnderlyingSizeX]; int below = lowerValues[x + 1 + (z + 2) * m_UnderlyingSizeX]; - int left = lowerValues[x + (z + 1) * m_UnderlyingSizeX]; + int left = lowerValues[x + (z + 1) * m_UnderlyingSizeX]; int right = lowerValues[x + 2 + (z + 1) * m_UnderlyingSizeX]; switch (val) { // Desert should neighbor only oceans, desert and temperates; change to temperate when another: case bgDesert: { - if ( - !isDesertCompatible(above) || - !isDesertCompatible(below) || - !isDesertCompatible(left) || - !isDesertCompatible(right) - ) + if (!isDesertCompatible(above) || !isDesertCompatible(below) || !isDesertCompatible(left) || + !isDesertCompatible(right)) { val = bgTemperate; } @@ -617,12 +570,7 @@ public: // Ice should not neighbor deserts; change to temperate: case bgIce: { - if ( - (above == bgDesert) || - (below == bgDesert) || - (left == bgDesert) || - (right == bgDesert) - ) + if ((above == bgDesert) || (below == bgDesert) || (left == bgDesert) || (right == bgDesert)) { val = bgTemperate; } @@ -634,7 +582,7 @@ public: } // for z } -protected: + protected: Underlying m_Underlying; @@ -663,20 +611,16 @@ protected: /** Turns biome group indices into real biomes. For each pixel, takes its biome group and chooses a random biome from that group; replaces the value with that biome. */ -template -class cIntGenBiomes: - public cIntGenWithNoise +template class cIntGenBiomes : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenBiomes(int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(a_Underlying) + cIntGenBiomes(int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(a_Underlying) { } @@ -684,74 +628,88 @@ public: virtual void GetInts(int a_MinX, int a_MinZ, typename Super::Values & a_Values) override { // Define the per-biome-group biomes: - static const int oceanBiomes[] = - { + static const int oceanBiomes[] = { biOcean, // biDeepOcean, }; // Same as oceanBiomes, there are no rare oceanic biomes (mushroom islands are handled separately) - static const int rareOceanBiomes[] = - { + static const int rareOceanBiomes[] = { biOcean, }; - static const int desertBiomes[] = - { - biDesert, biDesert, biDesert, biDesert, biDesert, biDesert, biSavanna, biSavanna, biPlains, + static const int desertBiomes[] = { + biDesert, + biDesert, + biDesert, + biDesert, + biDesert, + biDesert, + biSavanna, + biSavanna, + biPlains, }; - static const int rareDesertBiomes[] = - { - biMesaPlateau, biMesaPlateauF, + static const int rareDesertBiomes[] = { + biMesaPlateau, + biMesaPlateauF, }; - static const int temperateBiomes[] = - { - biForest, biForest, biRoofedForest, biExtremeHills, biPlains, biBirchForest, biSwampland, + static const int temperateBiomes[] = { + biForest, + biForest, + biRoofedForest, + biExtremeHills, + biPlains, + biBirchForest, + biSwampland, }; - static const int rareTemperateBiomes[] = - { + static const int rareTemperateBiomes[] = { biJungle, // Jungle is not strictly temperate, but let's piggyback it here }; - static const int mountainBiomes[] = - { - biExtremeHills, biForest, biTaiga, biPlains, + static const int mountainBiomes[] = { + biExtremeHills, + biForest, + biTaiga, + biPlains, }; - static const int rareMountainBiomes[] = - { + static const int rareMountainBiomes[] = { biMegaTaiga, }; - static const int iceBiomes[] = - { - biIcePlains, biIcePlains, biIcePlains, biIcePlains, biColdTaiga, + static const int iceBiomes[] = { + biIcePlains, + biIcePlains, + biIcePlains, + biIcePlains, + biColdTaiga, }; // Same as iceBiomes, there's no rare ice biome - static const int rareIceBiomes[] = - { - biIcePlains, biIcePlains, biIcePlains, biIcePlains, biColdTaiga, + static const int rareIceBiomes[] = { + biIcePlains, + biIcePlains, + biIcePlains, + biIcePlains, + biColdTaiga, }; - static const cBiomesInGroups biomesInGroups[] = - { - /* bgOcean */ { static_cast(ARRAYCOUNT(oceanBiomes)), oceanBiomes}, - /* bgDesert */ { static_cast(ARRAYCOUNT(desertBiomes)), desertBiomes}, - /* bgTemperate */ { static_cast(ARRAYCOUNT(temperateBiomes)), temperateBiomes}, - /* bgMountains */ { static_cast(ARRAYCOUNT(mountainBiomes)), mountainBiomes}, - /* bgIce */ { static_cast(ARRAYCOUNT(iceBiomes)), iceBiomes}, + static const cBiomesInGroups biomesInGroups[] = { + /* bgOcean */ {static_cast(ARRAYCOUNT(oceanBiomes)), oceanBiomes}, + /* bgDesert */ {static_cast(ARRAYCOUNT(desertBiomes)), desertBiomes}, + /* bgTemperate */ {static_cast(ARRAYCOUNT(temperateBiomes)), temperateBiomes}, + /* bgMountains */ {static_cast(ARRAYCOUNT(mountainBiomes)), mountainBiomes}, + /* bgIce */ {static_cast(ARRAYCOUNT(iceBiomes)), iceBiomes}, }; - static const cBiomesInGroups rareBiomesInGroups[] = - { - /* bgOcean */ { static_cast(ARRAYCOUNT(rareOceanBiomes)), rareOceanBiomes}, - /* bgDesert */ { static_cast(ARRAYCOUNT(rareDesertBiomes)), rareDesertBiomes}, - /* bgTemperate */ { static_cast(ARRAYCOUNT(rareTemperateBiomes)), rareTemperateBiomes}, - /* bgMountains */ { static_cast(ARRAYCOUNT(rareMountainBiomes)), rareMountainBiomes}, - /* bgIce */ { static_cast(ARRAYCOUNT(rareIceBiomes)), rareIceBiomes}, + static const cBiomesInGroups rareBiomesInGroups[] = { + /* bgOcean */ {static_cast(ARRAYCOUNT(rareOceanBiomes)), rareOceanBiomes}, + /* bgDesert */ {static_cast(ARRAYCOUNT(rareDesertBiomes)), rareDesertBiomes}, + /* bgTemperate */ {static_cast(ARRAYCOUNT(rareTemperateBiomes)), rareTemperateBiomes}, + /* bgMountains */ {static_cast(ARRAYCOUNT(rareMountainBiomes)), rareMountainBiomes}, + /* bgIce */ {static_cast(ARRAYCOUNT(rareIceBiomes)), rareIceBiomes}, }; // Generate the underlying values, representing biome groups: @@ -764,17 +722,16 @@ public: for (int x = 0; x < SizeX; x++) { size_t val = static_cast(a_Values[x + IdxZ]); - const cBiomesInGroups & Biomes = (val > bgfRare) ? - rareBiomesInGroups[(val & (bgfRare - 1)) % ARRAYCOUNT(rareBiomesInGroups)] : - biomesInGroups[val % ARRAYCOUNT(biomesInGroups)]; + const cBiomesInGroups & Biomes = (val > bgfRare) + ? rareBiomesInGroups[(val & (bgfRare - 1)) % ARRAYCOUNT(rareBiomesInGroups)] + : biomesInGroups[val % ARRAYCOUNT(biomesInGroups)]; int rnd = (Super::m_Noise.IntNoise2DInt(x + a_MinX, z + a_MinZ) / 7); a_Values[x + IdxZ] = Biomes.Biomes[rnd % Biomes.Count]; } } } -protected: - + protected: struct cBiomesInGroups { const int Count; @@ -791,23 +748,16 @@ protected: /** Randomly replaces pixels of one value to another value, using the given chance. */ -template -class cIntGenReplaceRandomly: - public cIntGenWithNoise +template class cIntGenReplaceRandomly : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenReplaceRandomly(int a_From, int a_To, int a_Chance, int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_From(a_From), - m_To(a_To), - m_Chance(a_Chance), - m_Underlying(a_Underlying) + cIntGenReplaceRandomly(int a_From, int a_To, int a_Chance, int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_From(a_From), m_To(a_To), m_Chance(a_Chance), m_Underlying(a_Underlying) { } @@ -837,7 +787,7 @@ public: } -protected: + protected: /** The original value to be replaced. */ int m_From; @@ -858,20 +808,16 @@ protected: It first checks for oceans, if there is an ocean in the Biomes, it keeps the ocean. If there's no ocean, it checks Rivers for a river, if there is a river, it uses the Biomes to select either regular river or frozen river, based on the biome. */ -template -class cIntGenMixRivers: - public cIntGen +template class cIntGenMixRivers : public cIntGen { using Super = cIntGen; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenMixRivers(Underlying a_Biomes, Underlying a_Rivers): - m_Biomes(a_Biomes), - m_Rivers(a_Rivers) + cIntGenMixRivers(Underlying a_Biomes, Underlying a_Rivers) : + m_Biomes(a_Biomes), m_Rivers(a_Rivers) { } @@ -914,7 +860,7 @@ public: } // for z } -protected: + protected: Underlying m_Biomes; Underlying m_Rivers; }; @@ -926,23 +872,19 @@ protected: /** Generates a river based on the underlying data. This is basically an edge detector over the underlying data. The rivers are the edges where the underlying data changes from one pixel to its neighbor. */ -template -class cIntGenRiver: - public cIntGenWithNoise +template class cIntGenRiver : public cIntGenWithNoise { using Super = cIntGenWithNoise; static const int UnderlyingSizeX = SizeX + 2; static const int UnderlyingSizeZ = SizeZ + 2; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenRiver(int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(a_Underlying) + cIntGenRiver(int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(a_Underlying) { } @@ -960,9 +902,9 @@ public: { int Above = Cache[x + 1 + z * UnderlyingSizeX]; int Below = Cache[x + 1 + (z + 2) * UnderlyingSizeX]; - int Left = Cache[x + (z + 1) * UnderlyingSizeX]; + int Left = Cache[x + (z + 1) * UnderlyingSizeX]; int Right = Cache[x + 2 + (z + 1) * UnderlyingSizeX]; - int val = Cache[x + 1 + (z + 1) * UnderlyingSizeX]; + int val = Cache[x + 1 + (z + 1) * UnderlyingSizeX]; if ((val == Above) && (val == Below) && (val == Left) && (val == Right)) { @@ -977,7 +919,7 @@ public: } // for z } -protected: + protected: Underlying m_Underlying; }; @@ -987,25 +929,19 @@ protected: /** Turns some of the oceans into the specified biome. Used for mushroom and deep ocean. The biome is only placed if at least 3 of its neighbors are ocean and only with the specified chance. */ -template -class cIntGenAddToOcean: - public cIntGenWithNoise +template class cIntGenAddToOcean : public cIntGenWithNoise { using Super = cIntGenWithNoise; static const int UnderlyingSizeX = SizeX + 2; static const int UnderlyingSizeZ = SizeZ + 2; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenAddToOcean(int a_Seed, int a_Chance, int a_ToValue, Underlying a_Underlying): - Super(a_Seed), - m_Chance(a_Chance), - m_ToValue(a_ToValue), - m_Underlying(a_Underlying) + cIntGenAddToOcean(int a_Seed, int a_Chance, int a_ToValue, Underlying a_Underlying) : + Super(a_Seed), m_Chance(a_Chance), m_ToValue(a_ToValue), m_Underlying(a_Underlying) { } @@ -1031,7 +967,7 @@ public: // Count the ocean neighbors: int Above = Cache[x + 1 + z * UnderlyingSizeX]; int Below = Cache[x + 1 + (z + 2) * UnderlyingSizeX]; - int Left = Cache[x + (z + 1) * UnderlyingSizeX]; + int Left = Cache[x + (z + 1) * UnderlyingSizeX]; int Right = Cache[x + 2 + (z + 1) * UnderlyingSizeX]; int NumOceanNeighbors = 0; if (IsBiomeOcean(Above)) @@ -1052,10 +988,8 @@ public: } // If at least 3 ocean neighbors and the chance is right, change: - if ( - (NumOceanNeighbors >= 3) && - ((Super::m_Noise.IntNoise2DInt(x + a_MinX, z + a_MinZ) / 7) % 1000 < m_Chance) - ) + if ((NumOceanNeighbors >= 3) && + ((Super::m_Noise.IntNoise2DInt(x + a_MinX, z + a_MinZ) / 7) % 1000 < m_Chance)) { a_Values[x + z * SizeX] = m_ToValue; } @@ -1067,7 +1001,7 @@ public: } // for z } -protected: + protected: /** Chance, in permille, of changing the biome. */ int m_Chance; @@ -1082,22 +1016,16 @@ protected: /** Changes random pixels of the underlying data to the specified value. */ -template -class cIntGenSetRandomly: - public cIntGenWithNoise +template class cIntGenSetRandomly : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenSetRandomly(int a_Seed, int a_Chance, int a_ToValue, Underlying a_Underlying): - Super(a_Seed), - m_Chance(a_Chance), - m_ToValue(a_ToValue), - m_Underlying(a_Underlying) + cIntGenSetRandomly(int a_Seed, int a_Chance, int a_ToValue, Underlying a_Underlying) : + Super(a_Seed), m_Chance(a_Chance), m_ToValue(a_ToValue), m_Underlying(a_Underlying) { } @@ -1121,7 +1049,7 @@ public: } } -protected: + protected: /** Chance, in permille, of changing each pixel. */ int m_Chance; @@ -1136,21 +1064,16 @@ protected: /** Adds a "rare" flag to random biome groups, based on the given chance. */ -template -class cIntGenRareBiomeGroups: - public cIntGenWithNoise +template class cIntGenRareBiomeGroups : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenRareBiomeGroups(int a_Seed, int a_Chance, Underlying a_Underlying): - Super(a_Seed), - m_Chance(a_Chance), - m_Underlying(a_Underlying) + cIntGenRareBiomeGroups(int a_Seed, int a_Chance, Underlying a_Underlying) : + Super(a_Seed), m_Chance(a_Chance), m_Underlying(a_Underlying) { } @@ -1175,7 +1098,7 @@ public: } } -protected: + protected: /** Chance, in permille, of changing each pixel into the rare biome group. */ int m_Chance; @@ -1189,21 +1112,16 @@ protected: /** Changes biomes in the parent data into an alternate versions (usually "hill" variants), in such places that have their alterations set. */ -template -class cIntGenAlternateBiomes: - public cIntGenWithNoise +template class cIntGenAlternateBiomes : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenAlternateBiomes(int a_Seed, Underlying a_Alterations, Underlying a_BaseBiomes): - Super(a_Seed), - m_Alterations(a_Alterations), - m_BaseBiomes(a_BaseBiomes) + cIntGenAlternateBiomes(int a_Seed, Underlying a_Alterations, Underlying a_BaseBiomes) : + Super(a_Seed), m_Alterations(a_Alterations), m_BaseBiomes(a_BaseBiomes) { } @@ -1229,26 +1147,26 @@ public: switch (val) { case biBirchForest: val = biBirchForestHills; break; - case biDesert: val = biDesertHills; break; + case biDesert: val = biDesertHills; break; case biExtremeHills: val = biExtremeHillsPlus; break; - case biForest: val = biForestHills; break; - case biIcePlains: val = biIceMountains; break; - case biJungle: val = biJungleHills; break; - case biMegaTaiga: val = biMegaTaigaHills; break; - case biMesaPlateau: val = biMesa; break; - case biMesaPlateauF: val = biMesa; break; - case biMesaPlateauM: val = biMesa; break; - case biMesaPlateauFM: val = biMesa; break; - case biPlains: val = biForest; break; - case biRoofedForest: val = biPlains; break; - case biSavanna: val = biSavannaPlateau; break; - case biTaiga: val = biTaigaHills; break; + case biForest: val = biForestHills; break; + case biIcePlains: val = biIceMountains; break; + case biJungle: val = biJungleHills; break; + case biMegaTaiga: val = biMegaTaigaHills; break; + case biMesaPlateau: val = biMesa; break; + case biMesaPlateauF: val = biMesa; break; + case biMesaPlateauM: val = biMesa; break; + case biMesaPlateauFM: val = biMesa; break; + case biPlains: val = biForest; break; + case biRoofedForest: val = biPlains; break; + case biSavanna: val = biSavannaPlateau; break; + case biTaiga: val = biTaigaHills; break; } a_Values[idx] = val; } // for idx - a_Values[] } -protected: + protected: Underlying m_Alterations; Underlying m_BaseBiomes; }; @@ -1258,23 +1176,19 @@ protected: /** Adds an edge between two specifically incompatible biomes, such as mesa and forest. */ -template -class cIntGenBiomeEdges: - public cIntGenWithNoise +template class cIntGenBiomeEdges : public cIntGenWithNoise { using Super = cIntGenWithNoise; static const int m_LowerSizeX = SizeX + 2; static const int m_LowerSizeZ = SizeZ + 2; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenBiomeEdges(int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(a_Underlying) + cIntGenBiomeEdges(int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(a_Underlying) { } @@ -1291,9 +1205,9 @@ public: for (int x = 0; x < SizeX; x++) { int biome = lowerValues[x + 1 + (z + 1) * m_LowerSizeX]; - int above = lowerValues[x + 1 + z * m_LowerSizeX]; + int above = lowerValues[x + 1 + z * m_LowerSizeX]; int below = lowerValues[x + 1 + (z + 2) * m_LowerSizeX]; - int left = lowerValues[x + (z + 1) * m_LowerSizeX]; + int left = lowerValues[x + (z + 1) * m_LowerSizeX]; int right = lowerValues[x + 2 + (z + 1) * m_LowerSizeX]; switch (biome) @@ -1302,12 +1216,10 @@ public: case biDesertM: case biDesertHills: { - if ( - IsBiomeVeryCold(static_cast(above)) || + if (IsBiomeVeryCold(static_cast(above)) || IsBiomeVeryCold(static_cast(below)) || - IsBiomeVeryCold(static_cast(left)) || - IsBiomeVeryCold(static_cast(right)) - ) + IsBiomeVeryCold(static_cast(left)) || + IsBiomeVeryCold(static_cast(right))) { biome = biPlains; } @@ -1319,12 +1231,8 @@ public: case biMesaPlateauFM: case biMesaPlateauM: { - if ( - !isMesaCompatible(above) || - !isMesaCompatible(below) || - !isMesaCompatible(left) || - !isMesaCompatible(right) - ) + if (!isMesaCompatible(above) || !isMesaCompatible(below) || !isMesaCompatible(left) || + !isMesaCompatible(right)) { biome = biDesert; } @@ -1334,12 +1242,8 @@ public: case biJungle: case biJungleM: { - if ( - !isJungleCompatible(above) || - !isJungleCompatible(below) || - !isJungleCompatible(left) || - !isJungleCompatible(right) - ) + if (!isJungleCompatible(above) || !isJungleCompatible(below) || !isJungleCompatible(left) || + !isJungleCompatible(right)) { biome = (biome == biJungle) ? biJungleEdge : biJungleEdgeM; } @@ -1349,12 +1253,10 @@ public: case biSwampland: case biSwamplandM: { - if ( - IsBiomeNoDownfall(static_cast(above)) || + if (IsBiomeNoDownfall(static_cast(above)) || IsBiomeNoDownfall(static_cast(below)) || - IsBiomeNoDownfall(static_cast(left)) || - IsBiomeNoDownfall(static_cast(right)) - ) + IsBiomeNoDownfall(static_cast(left)) || + IsBiomeNoDownfall(static_cast(right))) { biome = biPlains; } @@ -1368,7 +1270,7 @@ public: } -protected: + protected: Underlying m_Underlying; @@ -1422,21 +1324,16 @@ protected: /** Changes biomes in the parent data into their alternate versions ("M" variants), in such places that have their alterations set. */ -template -class cIntGenMBiomes: - public cIntGenWithNoise +template class cIntGenMBiomes : public cIntGenWithNoise { using Super = cIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr>; - cIntGenMBiomes(int a_Seed, Underlying a_Alteration, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(a_Underlying), - m_Alteration(a_Alteration) + cIntGenMBiomes(int a_Seed, Underlying a_Alteration, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(a_Underlying), m_Alteration(a_Alteration) { } @@ -1459,31 +1356,31 @@ public: // Ice spikes biome was removed from here, because it was generated way too often switch (a_Values[idx]) { - case biPlains: a_Values[idx] = biSunflowerPlains; break; - case biDesert: a_Values[idx] = biDesertM; break; - case biExtremeHills: a_Values[idx] = biExtremeHillsM; break; - case biForest: a_Values[idx] = biFlowerForest; break; - case biTaiga: a_Values[idx] = biTaigaM; break; - case biSwampland: a_Values[idx] = biSwamplandM; break; - case biJungle: a_Values[idx] = biJungleM; break; - case biJungleEdge: a_Values[idx] = biJungleEdgeM; break; - case biBirchForest: a_Values[idx] = biBirchForestM; break; - case biBirchForestHills: a_Values[idx] = biBirchForestHillsM; break; - case biRoofedForest: a_Values[idx] = biRoofedForestM; break; - case biColdTaiga: a_Values[idx] = biColdTaigaM; break; - case biMegaSpruceTaiga: a_Values[idx] = biMegaSpruceTaiga; break; + case biPlains: a_Values[idx] = biSunflowerPlains; break; + case biDesert: a_Values[idx] = biDesertM; break; + case biExtremeHills: a_Values[idx] = biExtremeHillsM; break; + case biForest: a_Values[idx] = biFlowerForest; break; + case biTaiga: a_Values[idx] = biTaigaM; break; + case biSwampland: a_Values[idx] = biSwamplandM; break; + case biJungle: a_Values[idx] = biJungleM; break; + case biJungleEdge: a_Values[idx] = biJungleEdgeM; break; + case biBirchForest: a_Values[idx] = biBirchForestM; break; + case biBirchForestHills: a_Values[idx] = biBirchForestHillsM; break; + case biRoofedForest: a_Values[idx] = biRoofedForestM; break; + case biColdTaiga: a_Values[idx] = biColdTaigaM; break; + case biMegaSpruceTaiga: a_Values[idx] = biMegaSpruceTaiga; break; case biMegaSpruceTaigaHills: a_Values[idx] = biMegaSpruceTaigaHills; break; - case biExtremeHillsPlus: a_Values[idx] = biExtremeHillsPlusM; break; - case biSavanna: a_Values[idx] = biSavannaM; break; - case biSavannaPlateau: a_Values[idx] = biSavannaPlateauM; break; - case biMesa: a_Values[idx] = biMesaBryce; break; - case biMesaPlateauF: a_Values[idx] = biMesaPlateauFM; break; - case biMesaPlateau: a_Values[idx] = biMesaBryce; break; + case biExtremeHillsPlus: a_Values[idx] = biExtremeHillsPlusM; break; + case biSavanna: a_Values[idx] = biSavannaM; break; + case biSavannaPlateau: a_Values[idx] = biSavannaPlateauM; break; + case biMesa: a_Values[idx] = biMesaBryce; break; + case biMesaPlateauF: a_Values[idx] = biMesaPlateauFM; break; + case biMesaPlateau: a_Values[idx] = biMesaBryce; break; } } // for idx - a_Values[] / alterations[] } -protected: + protected: Underlying m_Underlying; Underlying m_Alteration; }; diff --git a/src/Generating/MineShafts.cpp b/src/Generating/MineShafts.cpp index 189b28095..265fb79d4 100644 --- a/src/Generating/MineShafts.cpp +++ b/src/Generating/MineShafts.cpp @@ -28,14 +28,14 @@ in a depth-first processing. Each of the descendants will branch randomly, if no class cMineShaft abstract { -public: + public: enum eKind { mskDirtRoom, mskCorridor, mskCrossing, mskStaircase, - } ; + }; enum eDirection @@ -44,34 +44,28 @@ public: dirZP, dirXM, dirZM, - } ; + }; cStructGenMineShafts::cMineShaftSystem & m_ParentSystem; - eKind m_Kind; + eKind m_Kind; cCuboid m_BoundingBox; cMineShaft(cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, eKind a_Kind) : - m_ParentSystem(a_ParentSystem), - m_Kind(a_Kind) + m_ParentSystem(a_ParentSystem), m_Kind(a_Kind) { } cMineShaft(cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, eKind a_Kind, const cCuboid & a_BoundingBox) : - m_ParentSystem(a_ParentSystem), - m_Kind(a_Kind), - m_BoundingBox(a_BoundingBox) + m_ParentSystem(a_ParentSystem), m_Kind(a_Kind), m_BoundingBox(a_BoundingBox) { } virtual ~cMineShaft() {} /** Returns true if this mineshaft intersects the specified cuboid */ - bool DoesIntersect(const cCuboid & a_Other) - { - return m_BoundingBox.DoesIntersect(a_Other); - } + bool DoesIntersect(const cCuboid & a_Other) { return m_BoundingBox.DoesIntersect(a_Other); } /** If recursion level is not too large, appends more branches to the parent system, using exit points specific to this class. */ @@ -79,7 +73,7 @@ public: /** Imprints this shape into the specified chunk's data */ virtual void ProcessChunk(cChunkDesc & a_ChunkDesc) = 0; -} ; +}; using cMineShafts = std::vector; @@ -87,53 +81,57 @@ using cMineShafts = std::vector; -class cMineShaftDirtRoom: - public cMineShaft +class cMineShaftDirtRoom : public cMineShaft { using Super = cMineShaft; -public: - + public: cMineShaftDirtRoom(cStructGenMineShafts::cMineShaftSystem & a_Parent, cNoise & a_Noise); // cMineShaft overrides: virtual void AppendBranches(int a_RecursionLevel, cNoise & a_Noise) override; virtual void ProcessChunk(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cMineShaftCorridor: - public cMineShaft +class cMineShaftCorridor : public cMineShaft { using Super = cMineShaft; -public: - + public: /** Creates a new Corridor attached to the specified pivot point and direction. Checks all ParentSystem's objects and disallows intersecting. Initializes the new object to fit. May return nullptr if cannot fit. */ static cMineShaft * CreateAndFit( cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, - int a_PivotX, int a_PivotY, int a_PivotZ, eDirection a_Direction, + int a_PivotX, + int a_PivotY, + int a_PivotZ, + eDirection a_Direction, cNoise & a_Noise ); -protected: + protected: static const int MAX_SEGMENTS = 5; - int m_NumSegments; + int m_NumSegments; eDirection m_Direction; - bool m_HasFullBeam[MAX_SEGMENTS]; ///< If true, segment at that index has a full beam support (planks in the top center block) - int m_ChestPosition; ///< If <0, no chest; otherwise an offset from m_BoundingBox's p1.x or p1.z, depenging on m_Direction - int m_SpawnerPosition; ///< If <0, no spawner; otherwise an offset from m_BoundingBox's p1.x or p1.z, depenging on m_Direction - bool m_HasTracks; ///< If true, random tracks will be placed on the floor + bool m_HasFullBeam[MAX_SEGMENTS]; ///< If true, segment at that index has a full beam support (planks in the top + ///< center block) + int m_ChestPosition; ///< If <0, no chest; otherwise an offset from m_BoundingBox's p1.x or p1.z, depenging on + ///< m_Direction + int m_SpawnerPosition; ///< If <0, no spawner; otherwise an offset from m_BoundingBox's p1.x or p1.z, depenging on + ///< m_Direction + bool m_HasTracks; ///< If true, random tracks will be placed on the floor cMineShaftCorridor( cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, - const cCuboid & a_BoundingBox, int a_NumSegments, eDirection a_Direction, + const cCuboid & a_BoundingBox, + int a_NumSegments, + eDirection a_Direction, cNoise & a_Noise ); @@ -152,52 +150,51 @@ protected: /** Randomly places torches around the central beam block */ void PlaceTorches(cChunkDesc & a_ChunkDesc); -} ; +}; -class cMineShaftCrossing: - public cMineShaft +class cMineShaftCrossing : public cMineShaft { using Super = cMineShaft; -public: - + public: /** Creates a new Crossing attached to the specified pivot point and direction. Checks all ParentSystem's objects and disallows intersecting. Initializes the new object to fit. May return nullptr if cannot fit. */ static cMineShaft * CreateAndFit( cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, - int a_PivotX, int a_PivotY, int a_PivotZ, eDirection a_Direction, + int a_PivotX, + int a_PivotY, + int a_PivotZ, + eDirection a_Direction, cNoise & a_Noise ); -protected: + protected: cMineShaftCrossing(cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, const cCuboid & a_BoundingBox); // cMineShaft overrides: virtual void AppendBranches(int a_RecursionLevel, cNoise & a_Noise) override; virtual void ProcessChunk(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cMineShaftStaircase: - public cMineShaft +class cMineShaftStaircase : public cMineShaft { using Super = cMineShaft; -public: - + public: enum eSlope { sUp, sDown, - } ; + }; /** Creates a new Staircase attached to the specified pivot point and direction. Checks all ParentSystem's objects and disallows intersecting. Initializes the new object to fit. @@ -205,13 +202,16 @@ public: */ static cMineShaft * CreateAndFit( cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, - int a_PivotX, int a_PivotY, int a_PivotZ, eDirection a_Direction, + int a_PivotX, + int a_PivotY, + int a_PivotZ, + eDirection a_Direction, cNoise & a_Noise ); -protected: + protected: eDirection m_Direction; - eSlope m_Slope; + eSlope m_Slope; cMineShaftStaircase( @@ -224,36 +224,41 @@ protected: // cMineShaft overrides: virtual void AppendBranches(int a_RecursionLevel, cNoise & a_Noise) override; virtual void ProcessChunk(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cStructGenMineShafts::cMineShaftSystem: - public cGridStructGen::cStructure +class cStructGenMineShafts::cMineShaftSystem : public cGridStructGen::cStructure { using Super = cGridStructGen::cStructure; -public: - - int m_GridSize; ///< Maximum offset of the dirtroom from grid center, * 2, in each direction - int m_MaxRecursion; ///< Maximum recursion level (initialized from cStructGenMineShafts::m_MaxRecursion) - int m_ProbLevelCorridor; ///< Probability level of a branch object being the corridor - int m_ProbLevelCrossing; ///< Probability level of a branch object being the crossing, minus Corridor - int m_ProbLevelStaircase; ///< Probability level of a branch object being the staircase, minus Crossing - int m_ChanceChest; ///< Chance [0 .. 250] that a corridor has a chest in it - int m_ChanceSpawner; ///< Chance [0 .. 250] that a corridor has a spawner in it - int m_ChanceTorch; ///< Chance [0 .. 10k] for a torch appearing attached to a corridor's beam - cMineShafts m_MineShafts; ///< List of cMineShaft descendants that comprise this system - cCuboid m_BoundingBox; ///< Bounding box into which all of the components need to fit + public: + int m_GridSize; ///< Maximum offset of the dirtroom from grid center, * 2, in each direction + int m_MaxRecursion; ///< Maximum recursion level (initialized from cStructGenMineShafts::m_MaxRecursion) + int m_ProbLevelCorridor; ///< Probability level of a branch object being the corridor + int m_ProbLevelCrossing; ///< Probability level of a branch object being the crossing, minus Corridor + int m_ProbLevelStaircase; ///< Probability level of a branch object being the staircase, minus Crossing + int m_ChanceChest; ///< Chance [0 .. 250] that a corridor has a chest in it + int m_ChanceSpawner; ///< Chance [0 .. 250] that a corridor has a spawner in it + int m_ChanceTorch; ///< Chance [0 .. 10k] for a torch appearing attached to a corridor's beam + cMineShafts m_MineShafts; ///< List of cMineShaft descendants that comprise this system + cCuboid m_BoundingBox; ///< Bounding box into which all of the components need to fit /** Creates and generates the entire system */ cMineShaftSystem( - int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ, - int a_GridSize, int a_MaxSystemSize, cNoise & a_Noise, - int a_ProbLevelCorridor, int a_ProbLevelCrossing, int a_ProbLevelStaircase + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ, + int a_GridSize, + int a_MaxSystemSize, + cNoise & a_Noise, + int a_ProbLevelCorridor, + int a_ProbLevelCrossing, + int a_ProbLevelStaircase ); virtual ~cMineShaftSystem() override; @@ -262,17 +267,21 @@ public: if it fits, appends it to the list and calls its AppendBranches() */ void AppendBranch( - int a_BlockX, int a_BlockY, int a_BlockZ, - cMineShaft::eDirection a_Direction, cNoise & a_Noise, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + cMineShaft::eDirection a_Direction, + cNoise & a_Noise, int a_RecursionLevel ); - /** Returns true if none of the objects in m_MineShafts intersect with the specified bounding box and the bounding box is valid */ + /** Returns true if none of the objects in m_MineShafts intersect with the specified bounding box and the bounding + * box is valid */ bool CanAppend(const cCuboid & a_BoundingBox); // cGridStructGen::cStructure overrides: virtual void DrawIntoChunk(cChunkDesc & a_Chunk) override; -} ; +}; @@ -282,9 +291,16 @@ public: // cStructGenMineShafts::cMineShaftSystem: cStructGenMineShafts::cMineShaftSystem::cMineShaftSystem( - int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ, - int a_GridSize, int a_MaxSystemSize, cNoise & a_Noise, - int a_ProbLevelCorridor, int a_ProbLevelCrossing, int a_ProbLevelStaircase + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ, + int a_GridSize, + int a_MaxSystemSize, + cNoise & a_Noise, + int a_ProbLevelCorridor, + int a_ProbLevelCrossing, + int a_ProbLevelStaircase ) : Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ), m_GridSize(a_GridSize), @@ -302,7 +318,7 @@ cStructGenMineShafts::cMineShaftSystem::cMineShaftSystem( m_MineShafts.push_back(Start); m_BoundingBox.Assign( - {Start->m_BoundingBox.p1.x - a_MaxSystemSize / 2, 2, Start->m_BoundingBox.p1.z - a_MaxSystemSize / 2}, + {Start->m_BoundingBox.p1.x - a_MaxSystemSize / 2, 2, Start->m_BoundingBox.p1.z - a_MaxSystemSize / 2}, {Start->m_BoundingBox.p2.x + a_MaxSystemSize / 2, 50, Start->m_BoundingBox.p2.z + a_MaxSystemSize / 2} ); @@ -344,8 +360,11 @@ void cStructGenMineShafts::cMineShaftSystem::DrawIntoChunk(cChunkDesc & a_Chunk) void cStructGenMineShafts::cMineShaftSystem::AppendBranch( - int a_PivotX, int a_PivotY, int a_PivotZ, - cMineShaft::eDirection a_Direction, cNoise & a_Noise, + int a_PivotX, + int a_PivotY, + int a_PivotZ, + cMineShaft::eDirection a_Direction, + cNoise & a_Noise, int a_RecursionLevel ) { @@ -435,17 +454,45 @@ void cMineShaftDirtRoom::AppendBranches(int a_RecursionLevel, cNoise & a_Noise) for (int x = m_BoundingBox.p1.x + 1; x < m_BoundingBox.p2.x; x += 4) { int rnd = a_Noise.IntNoise3DInt(x, a_RecursionLevel, m_BoundingBox.p1.z) / 7; - m_ParentSystem.AppendBranch(x, m_BoundingBox.p1.y + (rnd % Height), m_BoundingBox.p1.z - 1, dirZM, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + x, + m_BoundingBox.p1.y + (rnd % Height), + m_BoundingBox.p1.z - 1, + dirZM, + a_Noise, + a_RecursionLevel + ); rnd >>= 4; - m_ParentSystem.AppendBranch(x, m_BoundingBox.p1.y + (rnd % Height), m_BoundingBox.p2.z + 1, dirZP, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + x, + m_BoundingBox.p1.y + (rnd % Height), + m_BoundingBox.p2.z + 1, + dirZP, + a_Noise, + a_RecursionLevel + ); } for (int z = m_BoundingBox.p1.z + 1; z < m_BoundingBox.p2.z; z += 4) { int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x, a_RecursionLevel, z) / 13; - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x - 1, m_BoundingBox.p1.y + (rnd % Height), z, dirXM, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x - 1, + m_BoundingBox.p1.y + (rnd % Height), + z, + dirXM, + a_Noise, + a_RecursionLevel + ); rnd >>= 4; - m_ParentSystem.AppendBranch(m_BoundingBox.p2.x + 1, m_BoundingBox.p1.y + (rnd % Height), z, dirXP, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p2.x + 1, + m_BoundingBox.p1.y + (rnd % Height), + z, + dirXP, + a_Noise, + a_RecursionLevel + ); } } @@ -457,12 +504,8 @@ void cMineShaftDirtRoom::ProcessChunk(cChunkDesc & a_ChunkDesc) { int BlockX = a_ChunkDesc.GetChunkX() * cChunkDef::Width; int BlockZ = a_ChunkDesc.GetChunkZ() * cChunkDef::Width; - if ( - (m_BoundingBox.p1.x > BlockX + cChunkDef::Width) || - (m_BoundingBox.p1.z > BlockZ + cChunkDef::Width) || - (m_BoundingBox.p2.x < BlockX) || - (m_BoundingBox.p2.z < BlockZ) - ) + if ((m_BoundingBox.p1.x > BlockX + cChunkDef::Width) || (m_BoundingBox.p1.z > BlockZ + cChunkDef::Width) || + (m_BoundingBox.p2.x < BlockX) || (m_BoundingBox.p2.z < BlockZ)) { // Early bailout - cannot intersect this chunk return; @@ -500,7 +543,9 @@ void cMineShaftDirtRoom::ProcessChunk(cChunkDesc & a_ChunkDesc) cMineShaftCorridor::cMineShaftCorridor( cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, - const cCuboid & a_BoundingBox, int a_NumSegments, eDirection a_Direction, + const cCuboid & a_BoundingBox, + int a_NumSegments, + eDirection a_Direction, cNoise & a_Noise ) : Super(a_ParentSystem, mskCorridor, a_BoundingBox), @@ -538,20 +583,40 @@ cMineShaftCorridor::cMineShaftCorridor( cMineShaft * cMineShaftCorridor::CreateAndFit( cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, - int a_PivotX, int a_PivotY, int a_PivotZ, eDirection a_Direction, + int a_PivotX, + int a_PivotY, + int a_PivotZ, + eDirection a_Direction, cNoise & a_Noise ) { cCuboid BoundingBox(a_PivotX, a_PivotY - 1, a_PivotZ); BoundingBox.p2.y += 3; - int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7; + int rnd = + a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7; int NumSegments = 2 + (rnd) % (MAX_SEGMENTS - 1); // 2 .. MAX_SEGMENTS switch (a_Direction) { - case dirXP: BoundingBox.p2.x += NumSegments * 5 - 1; BoundingBox.p1.z -= 1; BoundingBox.p2.z += 1; break; - case dirXM: BoundingBox.p1.x -= NumSegments * 5 - 1; BoundingBox.p1.z -= 1; BoundingBox.p2.z += 1; break; - case dirZP: BoundingBox.p2.z += NumSegments * 5 - 1; BoundingBox.p1.x -= 1; BoundingBox.p2.x += 1; break; - case dirZM: BoundingBox.p1.z -= NumSegments * 5 - 1; BoundingBox.p1.x -= 1; BoundingBox.p2.x += 1; break; + case dirXP: + BoundingBox.p2.x += NumSegments * 5 - 1; + BoundingBox.p1.z -= 1; + BoundingBox.p2.z += 1; + break; + case dirXM: + BoundingBox.p1.x -= NumSegments * 5 - 1; + BoundingBox.p1.z -= 1; + BoundingBox.p2.z += 1; + break; + case dirZP: + BoundingBox.p2.z += NumSegments * 5 - 1; + BoundingBox.p1.x -= 1; + BoundingBox.p2.x += 1; + break; + case dirZM: + BoundingBox.p1.z -= NumSegments * 5 - 1; + BoundingBox.p1.x -= 1; + BoundingBox.p2.x += 1; + break; } if (!a_ParentSystem.CanAppend(BoundingBox)) { @@ -566,67 +631,172 @@ cMineShaft * cMineShaftCorridor::CreateAndFit( void cMineShaftCorridor::AppendBranches(int a_RecursionLevel, cNoise & a_Noise) { - int Outerrnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 7; + int Outerrnd = + a_Noise.IntNoise3DInt(m_BoundingBox.p1.x, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 7; // Prefer the same height, but allow for up to one block height displacement: int OuterHeight = m_BoundingBox.p1.y + ((Outerrnd % 4) + ((Outerrnd >> 3) % 3)) / 2; switch (m_Direction) { case dirXM: { - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x - 1, OuterHeight, m_BoundingBox.p1.z + 1, dirXM, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x - 1, + OuterHeight, + m_BoundingBox.p1.z + 1, + dirXM, + a_Noise, + a_RecursionLevel + ); for (int i = m_NumSegments; i >= 0; i--) { - int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x + i + 10, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 11; + int rnd = a_Noise.IntNoise3DInt( + m_BoundingBox.p1.x + i + 10, + m_BoundingBox.p1.y + a_RecursionLevel, + m_BoundingBox.p1.z + ) / + 11; int Height = m_BoundingBox.p1.y + ((rnd % 4) + ((rnd >> 3) % 3)) / 2; rnd >>= 6; int Ofs = 1 + rnd % (m_NumSegments * 5 - 2); - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + Ofs, Height, m_BoundingBox.p1.z - 1, dirZM, a_Noise, a_RecursionLevel); - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + Ofs, Height, m_BoundingBox.p2.z + 1, dirZP, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x + Ofs, + Height, + m_BoundingBox.p1.z - 1, + dirZM, + a_Noise, + a_RecursionLevel + ); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x + Ofs, + Height, + m_BoundingBox.p2.z + 1, + dirZP, + a_Noise, + a_RecursionLevel + ); } break; } case dirXP: { - m_ParentSystem.AppendBranch(m_BoundingBox.p2.x + 1, OuterHeight, m_BoundingBox.p1.z + 1, dirXP, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p2.x + 1, + OuterHeight, + m_BoundingBox.p1.z + 1, + dirXP, + a_Noise, + a_RecursionLevel + ); for (int i = m_NumSegments; i >= 0; i--) { - int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x + i + 10, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 11; + int rnd = a_Noise.IntNoise3DInt( + m_BoundingBox.p1.x + i + 10, + m_BoundingBox.p1.y + a_RecursionLevel, + m_BoundingBox.p1.z + ) / + 11; int Height = m_BoundingBox.p1.y + ((rnd % 4) + ((rnd >> 3) % 3)) / 2; rnd >>= 6; int Ofs = 1 + rnd % (m_NumSegments * 5 - 2); - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + Ofs, Height, m_BoundingBox.p1.z - 1, dirZM, a_Noise, a_RecursionLevel); - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + Ofs, Height, m_BoundingBox.p2.z + 1, dirZP, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x + Ofs, + Height, + m_BoundingBox.p1.z - 1, + dirZM, + a_Noise, + a_RecursionLevel + ); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x + Ofs, + Height, + m_BoundingBox.p2.z + 1, + dirZP, + a_Noise, + a_RecursionLevel + ); } break; } case dirZM: { - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + 1, OuterHeight, m_BoundingBox.p1.z - 1, dirZM, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x + 1, + OuterHeight, + m_BoundingBox.p1.z - 1, + dirZM, + a_Noise, + a_RecursionLevel + ); for (int i = m_NumSegments; i >= 0; i--) { - int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x + i + 10, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 11; + int rnd = a_Noise.IntNoise3DInt( + m_BoundingBox.p1.x + i + 10, + m_BoundingBox.p1.y + a_RecursionLevel, + m_BoundingBox.p1.z + ) / + 11; int Height = m_BoundingBox.p1.y + ((rnd % 4) + ((rnd >> 3) % 3)) / 2; rnd >>= 6; int Ofs = 1 + rnd % (m_NumSegments * 5 - 2); - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x - 1, Height, m_BoundingBox.p1.z + Ofs, dirXM, a_Noise, a_RecursionLevel); - m_ParentSystem.AppendBranch(m_BoundingBox.p2.x + 1, Height, m_BoundingBox.p1.z + Ofs, dirXP, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x - 1, + Height, + m_BoundingBox.p1.z + Ofs, + dirXM, + a_Noise, + a_RecursionLevel + ); + m_ParentSystem.AppendBranch( + m_BoundingBox.p2.x + 1, + Height, + m_BoundingBox.p1.z + Ofs, + dirXP, + a_Noise, + a_RecursionLevel + ); } break; } case dirZP: { - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + 1, OuterHeight, m_BoundingBox.p2.z + 1, dirZP, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x + 1, + OuterHeight, + m_BoundingBox.p2.z + 1, + dirZP, + a_Noise, + a_RecursionLevel + ); for (int i = m_NumSegments; i >= 0; i--) { - int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x + i + 10, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 11; + int rnd = a_Noise.IntNoise3DInt( + m_BoundingBox.p1.x + i + 10, + m_BoundingBox.p1.y + a_RecursionLevel, + m_BoundingBox.p1.z + ) / + 11; int Height = m_BoundingBox.p1.y + ((rnd % 4) + ((rnd >> 3) % 3)) / 2; rnd >>= 6; int Ofs = 1 + rnd % (m_NumSegments * 5 - 2); - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x - 1, Height, m_BoundingBox.p1.z + Ofs, dirXM, a_Noise, a_RecursionLevel); - m_ParentSystem.AppendBranch(m_BoundingBox.p2.x + 1, Height, m_BoundingBox.p1.z + Ofs, dirXP, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x - 1, + Height, + m_BoundingBox.p1.z + Ofs, + dirXM, + a_Noise, + a_RecursionLevel + ); + m_ParentSystem.AppendBranch( + m_BoundingBox.p2.x + 1, + Height, + m_BoundingBox.p1.z + Ofs, + dirXP, + a_Noise, + a_RecursionLevel + ); } break; } @@ -654,7 +824,7 @@ void cMineShaftCorridor::ProcessChunk(cChunkDesc & a_ChunkDesc) { // Cobwebs around the spider spawner a_ChunkDesc.RandomFillRelCuboid(RelBoundingBox, E_BLOCK_COBWEB, 0, (BlockX ^ (BlockZ + BlockZ)), 8000); - a_ChunkDesc.RandomFillRelCuboid(Top, E_BLOCK_COBWEB, 0, (BlockX ^ (BlockZ + BlockX)), 5000); + a_ChunkDesc.RandomFillRelCuboid(Top, E_BLOCK_COBWEB, 0, (BlockX ^ (BlockZ + BlockX)), 5000); } a_ChunkDesc.RandomFillRelCuboid(Top, E_BLOCK_COBWEB, 0, (BlockX ^ (BlockZ + BlockX + 10)), 500); RelBoundingBox.p1.y = m_BoundingBox.p1.y; @@ -745,21 +915,20 @@ void cMineShaftCorridor::ProcessChunk(cChunkDesc & a_ChunkDesc) void cMineShaftCorridor::PlaceChest(cChunkDesc & a_ChunkDesc) { - static const cLootProbab LootProbab[] = - { + static const cLootProbab LootProbab[] = { // Item, MinAmount, MaxAmount, Weight - { cItem(E_ITEM_IRON), 1, 5, 10 }, - { cItem(E_ITEM_GOLD), 1, 3, 5 }, - { cItem(E_ITEM_REDSTONE_DUST), 4, 9, 5 }, - { cItem(E_ITEM_DIAMOND), 1, 2, 3 }, - { cItem(E_ITEM_DYE, 1, 4), 4, 9, 5 }, // lapis lazuli dye - { cItem(E_ITEM_COAL), 3, 8, 10 }, - { cItem(E_ITEM_BREAD), 1, 3, 15 }, - { cItem(E_ITEM_IRON_PICKAXE), 1, 1, 1 }, - { cItem(E_BLOCK_MINECART_TRACKS), 4, 8, 1 }, - { cItem(E_ITEM_MELON_SEEDS), 2, 4, 10 }, - { cItem(E_ITEM_PUMPKIN_SEEDS), 2, 4, 10 }, - } ; + {cItem(E_ITEM_IRON), 1, 5, 10}, + {cItem(E_ITEM_GOLD), 1, 3, 5}, + {cItem(E_ITEM_REDSTONE_DUST), 4, 9, 5}, + {cItem(E_ITEM_DIAMOND), 1, 2, 3}, + {cItem(E_ITEM_DYE, 1, 4), 4, 9, 5}, // lapis lazuli dye + {cItem(E_ITEM_COAL), 3, 8, 10}, + {cItem(E_ITEM_BREAD), 1, 3, 15}, + {cItem(E_ITEM_IRON_PICKAXE), 1, 1, 1}, + {cItem(E_BLOCK_MINECART_TRACKS), 4, 8, 1}, + {cItem(E_ITEM_MELON_SEEDS), 2, 4, 10}, + {cItem(E_ITEM_PUMPKIN_SEEDS), 2, 4, 10}, + }; if (m_ChestPosition < 0) { @@ -795,13 +964,11 @@ void cMineShaftCorridor::PlaceChest(cChunkDesc & a_ChunkDesc) UNREACHABLE("Unsupported corridor direction"); }(); - if ( - (x >= 0) && (x < cChunkDef::Width) && - (z >= 0) && (z < cChunkDef::Width) - ) + if ((x >= 0) && (x < cChunkDef::Width) && (z >= 0) && (z < cChunkDef::Width)) { a_ChunkDesc.SetBlockTypeMeta(x, m_BoundingBox.p1.y + 1, z, E_BLOCK_CHEST, Meta); - cChestEntity * ChestEntity = static_cast(a_ChunkDesc.GetBlockEntity(x, m_BoundingBox.p1.y + 1, z)); + cChestEntity * ChestEntity = + static_cast(a_ChunkDesc.GetBlockEntity(x, m_BoundingBox.p1.y + 1, z)); ASSERT((ChestEntity != nullptr) && (ChestEntity->GetBlockType() == E_BLOCK_CHEST)); cNoise Noise(a_ChunkDesc.GetChunkX() ^ a_ChunkDesc.GetChunkZ()); int NumSlots = 3 + ((Noise.IntNoise3DInt(x, m_BoundingBox.p1.y, z) / 11) % 4); @@ -844,7 +1011,13 @@ void cMineShaftCorridor::PlaceTracks(cChunkDesc & a_ChunkDesc) break; } } // switch (direction) - a_ChunkDesc.RandomFillRelCuboid(Box, E_BLOCK_MINECART_TRACKS, Meta, a_ChunkDesc.GetChunkX() + a_ChunkDesc.GetChunkZ(), 6000); + a_ChunkDesc.RandomFillRelCuboid( + Box, + E_BLOCK_MINECART_TRACKS, + Meta, + a_ChunkDesc.GetChunkX() + a_ChunkDesc.GetChunkZ(), + 6000 + ); } @@ -875,13 +1048,13 @@ void cMineShaftCorridor::PlaceSpawner(cChunkDesc & a_ChunkDesc) break; } } - if ( - (SpawnerRelX >= 0) && (SpawnerRelX < cChunkDef::Width) && - (SpawnerRelZ >= 0) && (SpawnerRelZ < cChunkDef::Width) - ) + if ((SpawnerRelX >= 0) && (SpawnerRelX < cChunkDef::Width) && (SpawnerRelZ >= 0) && + (SpawnerRelZ < cChunkDef::Width)) { a_ChunkDesc.SetBlockTypeMeta(SpawnerRelX, m_BoundingBox.p1.y + 1, SpawnerRelZ, E_BLOCK_MOB_SPAWNER, 0); - cMobSpawnerEntity * MobSpawner = static_cast(a_ChunkDesc.GetBlockEntity(SpawnerRelX, m_BoundingBox.p1.y + 1, SpawnerRelZ)); + cMobSpawnerEntity * MobSpawner = static_cast( + a_ChunkDesc.GetBlockEntity(SpawnerRelX, m_BoundingBox.p1.y + 1, SpawnerRelZ) + ); ASSERT((MobSpawner != nullptr) && (MobSpawner->GetBlockType() == E_BLOCK_MOB_SPAWNER)); MobSpawner->SetEntity(mtCaveSpider); } @@ -975,7 +1148,10 @@ void cMineShaftCorridor::PlaceTorches(cChunkDesc & a_ChunkDesc) //////////////////////////////////////////////////////////////////////////////// // cMineShaftCrossing: -cMineShaftCrossing::cMineShaftCrossing(cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, const cCuboid & a_BoundingBox) : +cMineShaftCrossing::cMineShaftCrossing( + cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, + const cCuboid & a_BoundingBox +) : Super(a_ParentSystem, mskCrossing, a_BoundingBox) { } @@ -986,12 +1162,16 @@ cMineShaftCrossing::cMineShaftCrossing(cStructGenMineShafts::cMineShaftSystem & cMineShaft * cMineShaftCrossing::CreateAndFit( cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, - int a_PivotX, int a_PivotY, int a_PivotZ, eDirection a_Direction, + int a_PivotX, + int a_PivotY, + int a_PivotZ, + eDirection a_Direction, cNoise & a_Noise ) { cCuboid BoundingBox(a_PivotX, a_PivotY - 1, a_PivotZ); - int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7; + int rnd = + a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7; BoundingBox.p2.y += 3; if ((rnd % 4) < 2) { @@ -1007,10 +1187,26 @@ cMineShaft * cMineShaftCrossing::CreateAndFit( } switch (a_Direction) { - case dirXP: BoundingBox.p2.x += 4; BoundingBox.p1.z -= 2; BoundingBox.p2.z += 2; break; - case dirXM: BoundingBox.p1.x -= 4; BoundingBox.p1.z -= 2; BoundingBox.p2.z += 2; break; - case dirZP: BoundingBox.p2.z += 4; BoundingBox.p1.x -= 2; BoundingBox.p2.x += 2; break; - case dirZM: BoundingBox.p1.z -= 4; BoundingBox.p1.x -= 2; BoundingBox.p2.x += 2; break; + case dirXP: + BoundingBox.p2.x += 4; + BoundingBox.p1.z -= 2; + BoundingBox.p2.z += 2; + break; + case dirXM: + BoundingBox.p1.x -= 4; + BoundingBox.p1.z -= 2; + BoundingBox.p2.z += 2; + break; + case dirZP: + BoundingBox.p2.z += 4; + BoundingBox.p1.x -= 2; + BoundingBox.p2.x += 2; + break; + case dirZM: + BoundingBox.p1.z -= 4; + BoundingBox.p1.x -= 2; + BoundingBox.p2.x += 2; + break; } if (!a_ParentSystem.CanAppend(BoundingBox)) { @@ -1029,19 +1225,18 @@ void cMineShaftCrossing::AppendBranches(int a_RecursionLevel, cNoise & a_Noise) { int x, y, z; eDirection dir; - } Exits[] = - { + } Exits[] = { // Bottom level: - {-1, 1, 2, dirXM}, - { 2, 1, -1, dirZM}, - { 5, 1, 2, dirXP}, - { 2, 1, 5, dirZP}, + {-1, 1, 2, dirXM}, + {2, 1, -1, dirZM}, + {5, 1, 2, dirXP}, + {2, 1, 5, dirZP}, // Top level: - {-1, 5, 2, dirXM}, - { 2, 5, -1, dirZM}, - { 5, 5, 2, dirXP}, - { 2, 5, 5, dirZP}, - } ; + {-1, 5, 2, dirXM}, + {2, 5, -1, dirZM}, + {5, 5, 2, dirXP}, + {2, 5, 5, dirZP}, + }; for (size_t i = 0; i < ARRAYCOUNT(Exits); i++) { if (m_BoundingBox.p1.y + Exits[i].y >= m_BoundingBox.p2.y) @@ -1051,7 +1246,14 @@ void cMineShaftCrossing::AppendBranches(int a_RecursionLevel, cNoise & a_Noise) } int Height = m_BoundingBox.p1.y + Exits[i].y; - m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + Exits[i].x, Height, m_BoundingBox.p1.z + Exits[i].z, Exits[i].dir, a_Noise, a_RecursionLevel); + m_ParentSystem.AppendBranch( + m_BoundingBox.p1.x + Exits[i].x, + Height, + m_BoundingBox.p1.z + Exits[i].z, + Exits[i].dir, + a_Noise, + a_RecursionLevel + ); } // for i } @@ -1085,17 +1287,17 @@ void cMineShaftCrossing::ProcessChunk(cChunkDesc & a_ChunkDesc) // The air on the edges: int Mid = Floor + 2; - a_ChunkDesc.FillRelCuboid(box.p1.x, box.p1.x, Floor, Mid, box.p1.z + 1, box.p2.z - 1, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid(box.p2.x, box.p2.x, Floor, Mid, box.p1.z + 1, box.p2.z - 1, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid(box.p1.x + 1, box.p2.x - 1, Floor, Mid, box.p1.z, box.p1.z, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid(box.p1.x + 1, box.p2.x - 1, Floor, Mid, box.p2.z, box.p2.z, E_BLOCK_AIR, 0); + a_ChunkDesc.FillRelCuboid(box.p1.x, box.p1.x, Floor, Mid, box.p1.z + 1, box.p2.z - 1, E_BLOCK_AIR, 0); + a_ChunkDesc.FillRelCuboid(box.p2.x, box.p2.x, Floor, Mid, box.p1.z + 1, box.p2.z - 1, E_BLOCK_AIR, 0); + a_ChunkDesc.FillRelCuboid(box.p1.x + 1, box.p2.x - 1, Floor, Mid, box.p1.z, box.p1.z, E_BLOCK_AIR, 0); + a_ChunkDesc.FillRelCuboid(box.p1.x + 1, box.p2.x - 1, Floor, Mid, box.p2.z, box.p2.z, E_BLOCK_AIR, 0); Mid += 2; if (Mid < Ceil) { - a_ChunkDesc.FillRelCuboid(box.p1.x, box.p1.x, Mid, Ceil, box.p1.z + 1, box.p2.z - 1, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid(box.p2.x, box.p2.x, Mid, Ceil, box.p1.z + 1, box.p2.z - 1, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid(box.p1.x + 1, box.p2.x - 1, Mid, Ceil, box.p1.z, box.p1.z, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid(box.p1.x + 1, box.p2.x - 1, Mid, Ceil, box.p2.z, box.p2.z, E_BLOCK_AIR, 0); + a_ChunkDesc.FillRelCuboid(box.p1.x, box.p1.x, Mid, Ceil, box.p1.z + 1, box.p2.z - 1, E_BLOCK_AIR, 0); + a_ChunkDesc.FillRelCuboid(box.p2.x, box.p2.x, Mid, Ceil, box.p1.z + 1, box.p2.z - 1, E_BLOCK_AIR, 0); + a_ChunkDesc.FillRelCuboid(box.p1.x + 1, box.p2.x - 1, Mid, Ceil, box.p1.z, box.p1.z, E_BLOCK_AIR, 0); + a_ChunkDesc.FillRelCuboid(box.p1.x + 1, box.p2.x - 1, Mid, Ceil, box.p2.z, box.p2.z, E_BLOCK_AIR, 0); } // The floor, if needed: @@ -1116,9 +1318,7 @@ cMineShaftStaircase::cMineShaftStaircase( eDirection a_Direction, eSlope a_Slope ) : - Super(a_ParentSystem, mskStaircase, a_BoundingBox), - m_Direction(a_Direction), - m_Slope(a_Slope) + Super(a_ParentSystem, mskStaircase, a_BoundingBox), m_Direction(a_Direction), m_Slope(a_Slope) { } @@ -1128,11 +1328,15 @@ cMineShaftStaircase::cMineShaftStaircase( cMineShaft * cMineShaftStaircase::CreateAndFit( cStructGenMineShafts::cMineShaftSystem & a_ParentSystem, - int a_PivotX, int a_PivotY, int a_PivotZ, eDirection a_Direction, + int a_PivotX, + int a_PivotY, + int a_PivotZ, + eDirection a_Direction, cNoise & a_Noise ) { - int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7; + int rnd = + a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7; cCuboid Box; switch (a_Direction) { @@ -1179,10 +1383,22 @@ void cMineShaftStaircase::AppendBranches(int a_RecursionLevel, cNoise & a_Noise) int Height = m_BoundingBox.p1.y + ((m_Slope == sDown) ? 1 : 5); switch (m_Direction) { - case dirXM: m_ParentSystem.AppendBranch(m_BoundingBox.p1.x - 1, Height, m_BoundingBox.p1.z + 1, dirXM, a_Noise, a_RecursionLevel); break; - case dirXP: m_ParentSystem.AppendBranch(m_BoundingBox.p2.x + 1, Height, m_BoundingBox.p1.z + 1, dirXP, a_Noise, a_RecursionLevel); break; - case dirZM: m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + 1, Height, m_BoundingBox.p1.z - 1, dirZM, a_Noise, a_RecursionLevel); break; - case dirZP: m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + 1, Height, m_BoundingBox.p2.z + 1, dirZP, a_Noise, a_RecursionLevel); break; + case dirXM: + m_ParentSystem + .AppendBranch(m_BoundingBox.p1.x - 1, Height, m_BoundingBox.p1.z + 1, dirXM, a_Noise, a_RecursionLevel); + break; + case dirXP: + m_ParentSystem + .AppendBranch(m_BoundingBox.p2.x + 1, Height, m_BoundingBox.p1.z + 1, dirXP, a_Noise, a_RecursionLevel); + break; + case dirZM: + m_ParentSystem + .AppendBranch(m_BoundingBox.p1.x + 1, Height, m_BoundingBox.p1.z - 1, dirZM, a_Noise, a_RecursionLevel); + break; + case dirZP: + m_ParentSystem + .AppendBranch(m_BoundingBox.p1.x + 1, Height, m_BoundingBox.p2.z + 1, dirZP, a_Noise, a_RecursionLevel); + break; } } @@ -1196,12 +1412,7 @@ void cMineShaftStaircase::ProcessChunk(cChunkDesc & a_ChunkDesc) int BlockZ = a_ChunkDesc.GetChunkZ() * cChunkDef::Width; cCuboid RelB(m_BoundingBox); RelB.Move({-BlockX, 0, -BlockZ}); - if ( - (RelB.p1.x >= cChunkDef::Width) || - (RelB.p1.z >= cChunkDef::Width) || - (RelB.p2.x < 0) || - (RelB.p2.z < 0) - ) + if ((RelB.p1.x >= cChunkDef::Width) || (RelB.p1.z >= cChunkDef::Width) || (RelB.p2.x < 0) || (RelB.p2.z < 0)) { // No intersection between this staircase and this chunk return; @@ -1216,15 +1427,44 @@ void cMineShaftStaircase::ProcessChunk(cChunkDesc & a_ChunkDesc) { case dirXM: { - a_ChunkDesc.FillRelCuboid (RelB.p2.x - 1, RelB.p2.x, SFloor, SFloor + 2, RelB.p1.z, RelB.p2.z, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid (RelB.p1.x, RelB.p1.x + 1, DFloor, DFloor + 2, RelB.p1.z, RelB.p2.z, E_BLOCK_AIR, 0); - a_ChunkDesc.FloorRelCuboid(RelB.p2.x - 1, RelB.p2.x, SFloor - 1, SFloor - 1, RelB.p1.z, RelB.p2.z, E_BLOCK_PLANKS, 0); - a_ChunkDesc.FloorRelCuboid(RelB.p1.x, RelB.p1.x + 1, DFloor - 1, DFloor - 1, RelB.p1.z, RelB.p2.z, E_BLOCK_PLANKS, 0); + a_ChunkDesc + .FillRelCuboid(RelB.p2.x - 1, RelB.p2.x, SFloor, SFloor + 2, RelB.p1.z, RelB.p2.z, E_BLOCK_AIR, 0); + a_ChunkDesc + .FillRelCuboid(RelB.p1.x, RelB.p1.x + 1, DFloor, DFloor + 2, RelB.p1.z, RelB.p2.z, E_BLOCK_AIR, 0); + a_ChunkDesc.FloorRelCuboid( + RelB.p2.x - 1, + RelB.p2.x, + SFloor - 1, + SFloor - 1, + RelB.p1.z, + RelB.p2.z, + E_BLOCK_PLANKS, + 0 + ); + a_ChunkDesc.FloorRelCuboid( + RelB.p1.x, + RelB.p1.x + 1, + DFloor - 1, + DFloor - 1, + RelB.p1.z, + RelB.p2.z, + E_BLOCK_PLANKS, + 0 + ); Box.Assign({RelB.p2.x - 2, SFloor + InitAdd, RelB.p1.z}, {RelB.p2.x - 2, SFloor + 3 + InitAdd, RelB.p2.z}); for (int i = 0; i < 4; i++) { a_ChunkDesc.FillRelCuboid(Box, E_BLOCK_AIR, 0); - a_ChunkDesc.FloorRelCuboid(Box.p1.x, Box.p2.x, Box.p1.y - 1, Box.p1.y - 1, Box.p1.z, Box.p2.z, E_BLOCK_PLANKS, 0); + a_ChunkDesc.FloorRelCuboid( + Box.p1.x, + Box.p2.x, + Box.p1.y - 1, + Box.p1.y - 1, + Box.p1.z, + Box.p2.z, + E_BLOCK_PLANKS, + 0 + ); Box.Move({-1, Add, 0}); } break; @@ -1232,15 +1472,44 @@ void cMineShaftStaircase::ProcessChunk(cChunkDesc & a_ChunkDesc) case dirXP: { - a_ChunkDesc.FillRelCuboid (RelB.p1.x, RelB.p1.x + 1, SFloor, SFloor + 2, RelB.p1.z, RelB.p2.z, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid (RelB.p2.x - 1, RelB.p2.x, DFloor, DFloor + 2, RelB.p1.z, RelB.p2.z, E_BLOCK_AIR, 0); - a_ChunkDesc.FloorRelCuboid(RelB.p1.x, RelB.p1.x + 1, SFloor - 1, SFloor - 1, RelB.p1.z, RelB.p2.z, E_BLOCK_PLANKS, 0); - a_ChunkDesc.FloorRelCuboid(RelB.p2.x - 1, RelB.p2.x, DFloor - 1, DFloor - 1, RelB.p1.z, RelB.p2.z, E_BLOCK_PLANKS, 0); + a_ChunkDesc + .FillRelCuboid(RelB.p1.x, RelB.p1.x + 1, SFloor, SFloor + 2, RelB.p1.z, RelB.p2.z, E_BLOCK_AIR, 0); + a_ChunkDesc + .FillRelCuboid(RelB.p2.x - 1, RelB.p2.x, DFloor, DFloor + 2, RelB.p1.z, RelB.p2.z, E_BLOCK_AIR, 0); + a_ChunkDesc.FloorRelCuboid( + RelB.p1.x, + RelB.p1.x + 1, + SFloor - 1, + SFloor - 1, + RelB.p1.z, + RelB.p2.z, + E_BLOCK_PLANKS, + 0 + ); + a_ChunkDesc.FloorRelCuboid( + RelB.p2.x - 1, + RelB.p2.x, + DFloor - 1, + DFloor - 1, + RelB.p1.z, + RelB.p2.z, + E_BLOCK_PLANKS, + 0 + ); Box.Assign({RelB.p1.x + 2, SFloor + InitAdd, RelB.p1.z}, {RelB.p1.x + 2, SFloor + 3 + InitAdd, RelB.p2.z}); for (int i = 0; i < 4; i++) { a_ChunkDesc.FillRelCuboid(Box, E_BLOCK_AIR, 0); - a_ChunkDesc.FloorRelCuboid(Box.p1.x, Box.p2.x, Box.p1.y - 1, Box.p1.y - 1, Box.p1.z, Box.p2.z, E_BLOCK_PLANKS, 0); + a_ChunkDesc.FloorRelCuboid( + Box.p1.x, + Box.p2.x, + Box.p1.y - 1, + Box.p1.y - 1, + Box.p1.z, + Box.p2.z, + E_BLOCK_PLANKS, + 0 + ); Box.Move({1, Add, 0}); } break; @@ -1248,15 +1517,44 @@ void cMineShaftStaircase::ProcessChunk(cChunkDesc & a_ChunkDesc) case dirZM: { - a_ChunkDesc.FillRelCuboid (RelB.p1.x, RelB.p2.x, SFloor, SFloor + 2, RelB.p2.z - 1, RelB.p2.z, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid (RelB.p1.x, RelB.p2.x, DFloor, DFloor + 2, RelB.p1.z, RelB.p1.z + 1, E_BLOCK_AIR, 0); - a_ChunkDesc.FloorRelCuboid(RelB.p1.x, RelB.p2.x, SFloor - 1, SFloor - 1, RelB.p2.z - 1, RelB.p2.z, E_BLOCK_PLANKS, 0); - a_ChunkDesc.FloorRelCuboid(RelB.p1.x, RelB.p2.x, DFloor - 1, DFloor - 1, RelB.p1.z, RelB.p1.z + 1, E_BLOCK_PLANKS, 0); + a_ChunkDesc + .FillRelCuboid(RelB.p1.x, RelB.p2.x, SFloor, SFloor + 2, RelB.p2.z - 1, RelB.p2.z, E_BLOCK_AIR, 0); + a_ChunkDesc + .FillRelCuboid(RelB.p1.x, RelB.p2.x, DFloor, DFloor + 2, RelB.p1.z, RelB.p1.z + 1, E_BLOCK_AIR, 0); + a_ChunkDesc.FloorRelCuboid( + RelB.p1.x, + RelB.p2.x, + SFloor - 1, + SFloor - 1, + RelB.p2.z - 1, + RelB.p2.z, + E_BLOCK_PLANKS, + 0 + ); + a_ChunkDesc.FloorRelCuboid( + RelB.p1.x, + RelB.p2.x, + DFloor - 1, + DFloor - 1, + RelB.p1.z, + RelB.p1.z + 1, + E_BLOCK_PLANKS, + 0 + ); Box.Assign({RelB.p1.x, SFloor + InitAdd, RelB.p2.z - 2}, {RelB.p2.x, SFloor + 3 + InitAdd, RelB.p2.z - 2}); for (int i = 0; i < 4; i++) { a_ChunkDesc.FillRelCuboid(Box, E_BLOCK_AIR, 0); - a_ChunkDesc.FloorRelCuboid(Box.p1.x, Box.p2.x, Box.p1.y - 1, Box.p1.y - 1, Box.p1.z, Box.p2.z, E_BLOCK_PLANKS, 0); + a_ChunkDesc.FloorRelCuboid( + Box.p1.x, + Box.p2.x, + Box.p1.y - 1, + Box.p1.y - 1, + Box.p1.z, + Box.p2.z, + E_BLOCK_PLANKS, + 0 + ); Box.Move({0, Add, -1}); } break; @@ -1264,15 +1562,44 @@ void cMineShaftStaircase::ProcessChunk(cChunkDesc & a_ChunkDesc) case dirZP: { - a_ChunkDesc.FillRelCuboid (RelB.p1.x, RelB.p2.x, SFloor, SFloor + 2, RelB.p1.z, RelB.p1.z + 1, E_BLOCK_AIR, 0); - a_ChunkDesc.FillRelCuboid (RelB.p1.x, RelB.p2.x, DFloor, DFloor + 2, RelB.p2.z - 1, RelB.p2.z, E_BLOCK_AIR, 0); - a_ChunkDesc.FloorRelCuboid(RelB.p1.x, RelB.p2.x, SFloor - 1, SFloor - 1, RelB.p1.z, RelB.p1.z + 1, E_BLOCK_PLANKS, 0); - a_ChunkDesc.FloorRelCuboid(RelB.p1.x, RelB.p2.x, DFloor - 1, DFloor - 1, RelB.p2.z - 1, RelB.p2.z, E_BLOCK_PLANKS, 0); + a_ChunkDesc + .FillRelCuboid(RelB.p1.x, RelB.p2.x, SFloor, SFloor + 2, RelB.p1.z, RelB.p1.z + 1, E_BLOCK_AIR, 0); + a_ChunkDesc + .FillRelCuboid(RelB.p1.x, RelB.p2.x, DFloor, DFloor + 2, RelB.p2.z - 1, RelB.p2.z, E_BLOCK_AIR, 0); + a_ChunkDesc.FloorRelCuboid( + RelB.p1.x, + RelB.p2.x, + SFloor - 1, + SFloor - 1, + RelB.p1.z, + RelB.p1.z + 1, + E_BLOCK_PLANKS, + 0 + ); + a_ChunkDesc.FloorRelCuboid( + RelB.p1.x, + RelB.p2.x, + DFloor - 1, + DFloor - 1, + RelB.p2.z - 1, + RelB.p2.z, + E_BLOCK_PLANKS, + 0 + ); Box.Assign({RelB.p1.x, SFloor + InitAdd, RelB.p1.z + 2}, {RelB.p2.x, SFloor + 3 + InitAdd, RelB.p1.z + 2}); for (int i = 0; i < 4; i++) { a_ChunkDesc.FillRelCuboid(Box, E_BLOCK_AIR, 0); - a_ChunkDesc.FloorRelCuboid(Box.p1.x, Box.p2.x, Box.p1.y - 1, Box.p1.y - 1, Box.p1.z, Box.p2.z, E_BLOCK_PLANKS, 0); + a_ChunkDesc.FloorRelCuboid( + Box.p1.x, + Box.p2.x, + Box.p1.y - 1, + Box.p1.y - 1, + Box.p1.z, + Box.p2.z, + E_BLOCK_PLANKS, + 0 + ); Box.Move({0, Add, 1}); } break; @@ -1289,8 +1616,13 @@ void cMineShaftStaircase::ProcessChunk(cChunkDesc & a_ChunkDesc) // cStructGenMineShafts: cStructGenMineShafts::cStructGenMineShafts( - int a_Seed, int a_GridSize, int a_MaxOffset, int a_MaxSystemSize, - int a_ChanceCorridor, int a_ChanceCrossing, int a_ChanceStaircase + int a_Seed, + int a_GridSize, + int a_MaxOffset, + int a_MaxSystemSize, + int a_ChanceCorridor, + int a_ChanceCrossing, + int a_ChanceStaircase ) : Super(a_Seed, a_GridSize, a_GridSize, a_MaxOffset, a_MaxOffset, a_MaxSystemSize, a_MaxSystemSize, 100), m_GridSize(a_GridSize), @@ -1305,11 +1637,23 @@ cStructGenMineShafts::cStructGenMineShafts( -cGridStructGen::cStructurePtr cStructGenMineShafts::CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) +cGridStructGen::cStructurePtr cStructGenMineShafts::CreateStructure( + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ +) { - return cStructurePtr(new cMineShaftSystem(a_GridX, a_GridZ, a_OriginX, a_OriginZ, m_GridSize, m_MaxSystemSize, m_Noise, m_ProbLevelCorridor, m_ProbLevelCrossing, m_ProbLevelStaircase)); + return cStructurePtr(new cMineShaftSystem( + a_GridX, + a_GridZ, + a_OriginX, + a_OriginZ, + m_GridSize, + m_MaxSystemSize, + m_Noise, + m_ProbLevelCorridor, + m_ProbLevelCrossing, + m_ProbLevelStaircase + )); } - - - - diff --git a/src/Generating/MineShafts.h b/src/Generating/MineShafts.h index 43eff2055..e3f6595a2 100644 --- a/src/Generating/MineShafts.h +++ b/src/Generating/MineShafts.h @@ -15,18 +15,22 @@ -class cStructGenMineShafts : - public cGridStructGen +class cStructGenMineShafts : public cGridStructGen { typedef cGridStructGen Super; -public: + public: cStructGenMineShafts( - int a_Seed, int a_GridSize, int a_MaxOffset, int a_MaxSystemSize, - int a_ChanceCorridor, int a_ChanceCrossing, int a_ChanceStaircase + int a_Seed, + int a_GridSize, + int a_MaxOffset, + int a_MaxSystemSize, + int a_ChanceCorridor, + int a_ChanceCrossing, + int a_ChanceStaircase ); -protected: + protected: friend class cMineShaft; friend class cMineShaftDirtRoom; friend class cMineShaftCorridor; @@ -34,16 +38,12 @@ protected: friend class cMineShaftStaircase; class cMineShaftSystem; // fwd: MineShafts.cpp - int m_GridSize; ///< Average spacing of the systems - int m_MaxSystemSize; ///< Maximum blcok size of a mineshaft system - int m_ProbLevelCorridor; ///< Probability level of a branch object being the corridor - int m_ProbLevelCrossing; ///< Probability level of a branch object being the crossing, minus Corridor - int m_ProbLevelStaircase; ///< Probability level of a branch object being the staircase, minus Crossing + int m_GridSize; ///< Average spacing of the systems + int m_MaxSystemSize; ///< Maximum blcok size of a mineshaft system + int m_ProbLevelCorridor; ///< Probability level of a branch object being the corridor + int m_ProbLevelCrossing; ///< Probability level of a branch object being the crossing, minus Corridor + int m_ProbLevelStaircase; ///< Probability level of a branch object being the staircase, minus Crossing // cGridStructGen overrides: virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override; -} ; - - - - +}; diff --git a/src/Generating/Noise3DGenerator.cpp b/src/Generating/Noise3DGenerator.cpp index ecf135a26..2882d147e 100644 --- a/src/Generating/Noise3DGenerator.cpp +++ b/src/Generating/Noise3DGenerator.cpp @@ -148,21 +148,19 @@ public: //////////////////////////////////////////////////////////////////////////////// // cNoise3DGenerator: -cNoise3DGenerator::cNoise3DGenerator(): - Super(), - m_Perlin(1000), - m_Cubic(1000) +cNoise3DGenerator::cNoise3DGenerator() : + Super(), m_Perlin(1000), m_Cubic(1000) { - m_Perlin.AddOctave(1, 1); - m_Perlin.AddOctave(2, 0.5); - m_Perlin.AddOctave(4, 0.25); - m_Perlin.AddOctave(8, 0.125); + m_Perlin.AddOctave(1, 1); + m_Perlin.AddOctave(2, 0.5); + m_Perlin.AddOctave(4, 0.25); + m_Perlin.AddOctave(8, 0.125); m_Perlin.AddOctave(16, 0.0625); - m_Cubic.AddOctave(1, 1); - m_Cubic.AddOctave(2, 0.5); - m_Cubic.AddOctave(4, 0.25); - m_Cubic.AddOctave(8, 0.125); + m_Cubic.AddOctave(1, 1); + m_Cubic.AddOctave(2, 0.5); + m_Cubic.AddOctave(4, 0.25); + m_Cubic.AddOctave(8, 0.125); m_Cubic.AddOctave(16, 0.0625); } @@ -182,13 +180,14 @@ cNoise3DGenerator::~cNoise3DGenerator() void cNoise3DGenerator::Initialize(cIniFile & a_IniFile) { // Params: - m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", 62); - m_HeightAmplification = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DHeightAmplification", 0.1)); - m_MidPoint = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DMidPoint", 68)); - m_FrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyX", 8)); - m_FrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyY", 8)); - m_FrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyZ", 8)); - m_AirThreshold = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DAirThreshold", 0.5)); + m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", 62); + m_HeightAmplification = + static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DHeightAmplification", 0.1)); + m_MidPoint = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DMidPoint", 68)); + m_FrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyX", 8)); + m_FrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyY", 8)); + m_FrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyZ", 8)); + m_AirThreshold = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DAirThreshold", 0.5)); } @@ -237,7 +236,7 @@ void cNoise3DGenerator::Generate(cChunkDesc & a_ChunkDesc) } a_ChunkDesc.UpdateHeightmap(); - ComposeTerrain (a_ChunkDesc); + ComposeTerrain(a_ChunkDesc); } @@ -250,12 +249,12 @@ void cNoise3DGenerator::GenerateNoiseArray(cChunkCoords a_ChunkCoords, NOISE_DAT NOISE_DATATYPE NoiseW[DIM_X * DIM_Y * DIM_Z]; // Workspace that the noise calculation can use and trash // Our noise array has different layout, XZY, instead of regular chunk's XYZ, that's why the coords are "renamed" - NOISE_DATATYPE StartX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width) / m_FrequencyX; - NOISE_DATATYPE EndX = static_cast((a_ChunkCoords.m_ChunkX + 1) * cChunkDef::Width) / m_FrequencyX; - NOISE_DATATYPE StartZ = static_cast(a_ChunkCoords.m_ChunkZ * cChunkDef::Width) / m_FrequencyZ; - NOISE_DATATYPE EndZ = static_cast((a_ChunkCoords.m_ChunkZ + 1) * cChunkDef::Width) / m_FrequencyZ; + NOISE_DATATYPE StartX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width) / m_FrequencyX; + NOISE_DATATYPE EndX = static_cast((a_ChunkCoords.m_ChunkX + 1) * cChunkDef::Width) / m_FrequencyX; + NOISE_DATATYPE StartZ = static_cast(a_ChunkCoords.m_ChunkZ * cChunkDef::Width) / m_FrequencyZ; + NOISE_DATATYPE EndZ = static_cast((a_ChunkCoords.m_ChunkZ + 1) * cChunkDef::Width) / m_FrequencyZ; NOISE_DATATYPE StartY = 0; - NOISE_DATATYPE EndY = static_cast(256) / m_FrequencyY; + NOISE_DATATYPE EndY = static_cast(256) / m_FrequencyY; m_Perlin.Generate3D(NoiseO, DIM_X, DIM_Y, DIM_Z, StartX, EndX, StartY, EndY, StartZ, EndZ, NoiseW); @@ -283,10 +282,7 @@ void cNoise3DGenerator::GenerateNoiseArray(cChunkCoords a_ChunkCoords, NOISE_DAT } // Upscale the Perlin noise into full-blown chunk dimensions: - LinearUpscale3DArray( - NoiseO, DIM_X, DIM_Y, DIM_Z, - a_OutNoise, UPSCALE_X, UPSCALE_Y, UPSCALE_Z - ); + LinearUpscale3DArray(NoiseO, DIM_X, DIM_Y, DIM_Z, a_OutNoise, UPSCALE_X, UPSCALE_Y, UPSCALE_Z); } @@ -375,21 +371,26 @@ void cNoise3DComposable::Initialize(cIniFile & a_IniFile) { // Params: // The defaults generate extreme hills terrain - m_HeightAmplification = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DHeightAmplification", 0.045)); - m_MidPoint = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DMidPoint", 75)); - m_FrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyX", 40)); - m_FrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyY", 40)); - m_FrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyZ", 40)); - m_BaseFrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DBaseFrequencyX", 40)); - m_BaseFrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DBaseFrequencyZ", 40)); - m_ChoiceFrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DChoiceFrequencyX", 40)); - m_ChoiceFrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DChoiceFrequencyY", 80)); - m_ChoiceFrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DChoiceFrequencyZ", 40)); - m_AirThreshold = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DAirThreshold", 0)); - int NumChoiceOctaves = a_IniFile.GetValueSetI("Generator", "Noise3DNumChoiceOctaves", 4); + m_HeightAmplification = + static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DHeightAmplification", 0.045)); + m_MidPoint = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DMidPoint", 75)); + m_FrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyX", 40)); + m_FrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyY", 40)); + m_FrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DFrequencyZ", 40)); + m_BaseFrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DBaseFrequencyX", 40)); + m_BaseFrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DBaseFrequencyZ", 40)); + m_ChoiceFrequencyX = + static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DChoiceFrequencyX", 40)); + m_ChoiceFrequencyY = + static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DChoiceFrequencyY", 80)); + m_ChoiceFrequencyZ = + static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DChoiceFrequencyZ", 40)); + m_AirThreshold = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DAirThreshold", 0)); + int NumChoiceOctaves = a_IniFile.GetValueSetI("Generator", "Noise3DNumChoiceOctaves", 4); int NumDensityOctaves = a_IniFile.GetValueSetI("Generator", "Noise3DNumDensityOctaves", 6); - int NumBaseOctaves = a_IniFile.GetValueSetI("Generator", "Noise3DNumBaseOctaves", 6); - NOISE_DATATYPE BaseNoiseAmplitude = static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DBaseAmplitude", 1)); + int NumBaseOctaves = a_IniFile.GetValueSetI("Generator", "Noise3DNumBaseOctaves", 6); + NOISE_DATATYPE BaseNoiseAmplitude = + static_cast(a_IniFile.GetValueSetF("Generator", "Noise3DBaseAmplitude", 1)); // Add octaves for the choice noise: NOISE_DATATYPE wavlen = 1, ampl = 0.5; @@ -401,7 +402,8 @@ void cNoise3DComposable::Initialize(cIniFile & a_IniFile) } // Add octaves for the density noises: - wavlen = 1; ampl = 1; + wavlen = 1; + ampl = 1; for (int i = 0; i < NumDensityOctaves; i++) { m_DensityNoiseA.AddOctave(wavlen, ampl); @@ -411,7 +413,8 @@ void cNoise3DComposable::Initialize(cIniFile & a_IniFile) } // Add octaves for the base noise: - wavlen = 1; ampl = BaseNoiseAmplitude; + wavlen = 1; + ampl = BaseNoiseAmplitude; for (int i = 0; i < NumBaseOctaves; i++) { m_BaseNoise.AddOctave(wavlen, ampl); @@ -441,11 +444,57 @@ void cNoise3DComposable::GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCoords) NOISE_DATATYPE BaseNoise[5 * 5]; NOISE_DATATYPE BlockX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width); NOISE_DATATYPE BlockZ = static_cast(a_ChunkCoords.m_ChunkZ * cChunkDef::Width); - // Note that we have to swap the X and Y coords, because noise generator uses [x + SizeX * y + SizeX * SizeY * z] ordering and we want "BlockY" to be "x": - m_ChoiceNoise.Generate3D (ChoiceNoise, 33, 5, 5, 0, 257 / m_ChoiceFrequencyY, BlockX / m_ChoiceFrequencyX, (BlockX + 17) / m_ChoiceFrequencyX, BlockZ / m_ChoiceFrequencyZ, (BlockZ + 17) / m_ChoiceFrequencyZ, Workspace); - m_DensityNoiseA.Generate3D(DensityNoiseA, 33, 5, 5, 0, 257 / m_FrequencyY, BlockX / m_FrequencyX, (BlockX + 17) / m_FrequencyX, BlockZ / m_FrequencyZ, (BlockZ + 17) / m_FrequencyZ, Workspace); - m_DensityNoiseB.Generate3D(DensityNoiseB, 33, 5, 5, 0, 257 / m_FrequencyY, BlockX / m_FrequencyX, (BlockX + 17) / m_FrequencyX, BlockZ / m_FrequencyZ, (BlockZ + 17) / m_FrequencyZ, Workspace); - m_BaseNoise.Generate2D (BaseNoise, 5, 5, BlockX / m_BaseFrequencyX, (BlockX + 17) / m_BaseFrequencyX, BlockZ / m_FrequencyZ, (BlockZ + 17) / m_FrequencyZ, Workspace); + // Note that we have to swap the X and Y coords, because noise generator uses [x + SizeX * y + SizeX * SizeY * z] + // ordering and we want "BlockY" to be "x": + m_ChoiceNoise.Generate3D( + ChoiceNoise, + 33, + 5, + 5, + 0, + 257 / m_ChoiceFrequencyY, + BlockX / m_ChoiceFrequencyX, + (BlockX + 17) / m_ChoiceFrequencyX, + BlockZ / m_ChoiceFrequencyZ, + (BlockZ + 17) / m_ChoiceFrequencyZ, + Workspace + ); + m_DensityNoiseA.Generate3D( + DensityNoiseA, + 33, + 5, + 5, + 0, + 257 / m_FrequencyY, + BlockX / m_FrequencyX, + (BlockX + 17) / m_FrequencyX, + BlockZ / m_FrequencyZ, + (BlockZ + 17) / m_FrequencyZ, + Workspace + ); + m_DensityNoiseB.Generate3D( + DensityNoiseB, + 33, + 5, + 5, + 0, + 257 / m_FrequencyY, + BlockX / m_FrequencyX, + (BlockX + 17) / m_FrequencyX, + BlockZ / m_FrequencyZ, + (BlockZ + 17) / m_FrequencyZ, + Workspace + ); + m_BaseNoise.Generate2D( + BaseNoise, + 5, + 5, + BlockX / m_BaseFrequencyX, + (BlockX + 17) / m_BaseFrequencyX, + BlockZ / m_FrequencyZ, + (BlockZ + 17) / m_FrequencyZ, + Workspace + ); // Calculate the final noise based on the partial noises: for (int z = 0; z < 5; z++) @@ -457,7 +506,8 @@ void cNoise3DComposable::GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCoords) { NOISE_DATATYPE AddHeight = (static_cast(y * 8) - m_MidPoint) * m_HeightAmplification; - // If "underground", make the terrain smoother by forcing the vertical linear gradient into steeper slope: + // If "underground", make the terrain smoother by forcing the vertical linear gradient into steeper + // slope: if (AddHeight < 0) { AddHeight *= 4; @@ -471,7 +521,8 @@ void cNoise3DComposable::GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCoords) // Decide between the two density noises: int idx = 33 * x + 33 * 5 * z + y; - Workspace[idx] = ClampedLerp(DensityNoiseA[idx], DensityNoiseB[idx], 8 * (ChoiceNoise[idx] + 0.5f)) + AddHeight + curBaseNoise; + Workspace[idx] = ClampedLerp(DensityNoiseA[idx], DensityNoiseB[idx], 8 * (ChoiceNoise[idx] + 0.5f)) + + AddHeight + curBaseNoise; } } } @@ -493,7 +544,8 @@ void cNoise3DComposable::GenShape(cChunkCoords a_ChunkCoords, cChunkDesc::Shape { for (int y = 0; y < cChunkDef::Height; y++) { - a_Shape[y + x * 256 + z * 256 * 16] = (m_NoiseArray[y + 257 * x + 257 * 17 * z] > m_AirThreshold) ? 0 : 1; + a_Shape[y + x * 256 + z * 256 * 16] = + (m_NoiseArray[y + 257 * x + 257 * 17 * z] > m_AirThreshold) ? 0 : 1; } } // for x } // for z @@ -512,7 +564,10 @@ cBiomalNoise3DComposable::cBiomalNoise3DComposable(int a_Seed, cBiomeGen & a_Bio m_DensityNoiseB(a_Seed + 2), m_BaseNoise(a_Seed + 3), m_BiomeGen(a_BiomeGen), - m_LastChunkCoords(0x7fffffff, 0x7fffffff) // Set impossible coords for the chunk so that it's always considered stale + m_LastChunkCoords( + 0x7fffffff, + 0x7fffffff + ) // Set impossible coords for the chunk so that it's always considered stale { // Generate the weight distribution for summing up neighboring biomes: m_WeightSum = 0; @@ -520,7 +575,9 @@ cBiomalNoise3DComposable::cBiomalNoise3DComposable(int a_Seed, cBiomeGen & a_Bio { for (int x = 0; x <= AVERAGING_SIZE * 2; x++) { - m_Weight[z][x] = static_cast((AVERAGING_SIZE - std::abs(AVERAGING_SIZE - x)) + (AVERAGING_SIZE - std::abs(AVERAGING_SIZE - z))); + m_Weight[z][x] = static_cast( + (AVERAGING_SIZE - std::abs(AVERAGING_SIZE - x)) + (AVERAGING_SIZE - std::abs(AVERAGING_SIZE - z)) + ); m_WeightSum += m_Weight[z][x]; } } @@ -534,20 +591,26 @@ void cBiomalNoise3DComposable::Initialize(cIniFile & a_IniFile) { // Params: // The defaults generate extreme hills terrain - m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", 62); - m_FrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DFrequencyX", 40)); - m_FrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DFrequencyY", 40)); - m_FrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DFrequencyZ", 40)); - m_BaseFrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DBaseFrequencyX", 40)); - m_BaseFrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DBaseFrequencyZ", 40)); - m_ChoiceFrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DChoiceFrequencyX", 40)); - m_ChoiceFrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DChoiceFrequencyY", 80)); - m_ChoiceFrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DChoiceFrequencyZ", 40)); - m_AirThreshold = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DAirThreshold", 0)); - int NumChoiceOctaves = a_IniFile.GetValueSetI("Generator", "BiomalNoise3DNumChoiceOctaves", 4); + m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", 62); + m_FrequencyX = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DFrequencyX", 40)); + m_FrequencyY = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DFrequencyY", 40)); + m_FrequencyZ = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DFrequencyZ", 40)); + m_BaseFrequencyX = + static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DBaseFrequencyX", 40)); + m_BaseFrequencyZ = + static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DBaseFrequencyZ", 40)); + m_ChoiceFrequencyX = + static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DChoiceFrequencyX", 40)); + m_ChoiceFrequencyY = + static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DChoiceFrequencyY", 80)); + m_ChoiceFrequencyZ = + static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DChoiceFrequencyZ", 40)); + m_AirThreshold = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DAirThreshold", 0)); + int NumChoiceOctaves = a_IniFile.GetValueSetI("Generator", "BiomalNoise3DNumChoiceOctaves", 4); int NumDensityOctaves = a_IniFile.GetValueSetI("Generator", "BiomalNoise3DNumDensityOctaves", 6); - int NumBaseOctaves = a_IniFile.GetValueSetI("Generator", "BiomalNoise3DNumBaseOctaves", 6); - NOISE_DATATYPE BaseNoiseAmplitude = static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DBaseAmplitude", 1)); + int NumBaseOctaves = a_IniFile.GetValueSetI("Generator", "BiomalNoise3DNumBaseOctaves", 6); + NOISE_DATATYPE BaseNoiseAmplitude = + static_cast(a_IniFile.GetValueSetF("Generator", "BiomalNoise3DBaseAmplitude", 1)); // Add octaves for the choice noise: NOISE_DATATYPE wavlen = 1, ampl = 0.5; @@ -559,7 +622,8 @@ void cBiomalNoise3DComposable::Initialize(cIniFile & a_IniFile) } // Add octaves for the density noises: - wavlen = 1; ampl = 1; + wavlen = 1; + ampl = 1; for (int i = 0; i < NumDensityOctaves; i++) { m_DensityNoiseA.AddOctave(wavlen, ampl); @@ -569,7 +633,8 @@ void cBiomalNoise3DComposable::Initialize(cIniFile & a_IniFile) } // Add octaves for the base noise: - wavlen = 1; ampl = BaseNoiseAmplitude; + wavlen = 1; + ampl = BaseNoiseAmplitude; for (int i = 0; i < NumBaseOctaves; i++) { m_BaseNoise.AddOctave(wavlen, ampl); @@ -604,11 +669,57 @@ void cBiomalNoise3DComposable::GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCo NOISE_DATATYPE BaseNoise[5 * 5]; NOISE_DATATYPE BlockX = static_cast(a_ChunkCoords.m_ChunkX * cChunkDef::Width); NOISE_DATATYPE BlockZ = static_cast(a_ChunkCoords.m_ChunkZ * cChunkDef::Width); - // Note that we have to swap the X and Y coords, because noise generator uses [x + SizeX * y + SizeX * SizeY * z] ordering and we want "BlockY" to be "x": - m_ChoiceNoise.Generate3D (ChoiceNoise, 33, 5, 5, 0, 257 / m_ChoiceFrequencyY, BlockX / m_ChoiceFrequencyX, (BlockX + 17) / m_ChoiceFrequencyX, BlockZ / m_ChoiceFrequencyZ, (BlockZ + 17) / m_ChoiceFrequencyZ, Workspace); - m_DensityNoiseA.Generate3D(DensityNoiseA, 33, 5, 5, 0, 257 / m_FrequencyY, BlockX / m_FrequencyX, (BlockX + 17) / m_FrequencyX, BlockZ / m_FrequencyZ, (BlockZ + 17) / m_FrequencyZ, Workspace); - m_DensityNoiseB.Generate3D(DensityNoiseB, 33, 5, 5, 0, 257 / m_FrequencyY, BlockX / m_FrequencyX, (BlockX + 17) / m_FrequencyX, BlockZ / m_FrequencyZ, (BlockZ + 17) / m_FrequencyZ, Workspace); - m_BaseNoise.Generate2D (BaseNoise, 5, 5, BlockX / m_BaseFrequencyX, (BlockX + 17) / m_BaseFrequencyX, BlockZ / m_FrequencyZ, (BlockZ + 17) / m_FrequencyZ, Workspace); + // Note that we have to swap the X and Y coords, because noise generator uses [x + SizeX * y + SizeX * SizeY * z] + // ordering and we want "BlockY" to be "x": + m_ChoiceNoise.Generate3D( + ChoiceNoise, + 33, + 5, + 5, + 0, + 257 / m_ChoiceFrequencyY, + BlockX / m_ChoiceFrequencyX, + (BlockX + 17) / m_ChoiceFrequencyX, + BlockZ / m_ChoiceFrequencyZ, + (BlockZ + 17) / m_ChoiceFrequencyZ, + Workspace + ); + m_DensityNoiseA.Generate3D( + DensityNoiseA, + 33, + 5, + 5, + 0, + 257 / m_FrequencyY, + BlockX / m_FrequencyX, + (BlockX + 17) / m_FrequencyX, + BlockZ / m_FrequencyZ, + (BlockZ + 17) / m_FrequencyZ, + Workspace + ); + m_DensityNoiseB.Generate3D( + DensityNoiseB, + 33, + 5, + 5, + 0, + 257 / m_FrequencyY, + BlockX / m_FrequencyX, + (BlockX + 17) / m_FrequencyX, + BlockZ / m_FrequencyZ, + (BlockZ + 17) / m_FrequencyZ, + Workspace + ); + m_BaseNoise.Generate2D( + BaseNoise, + 5, + 5, + BlockX / m_BaseFrequencyX, + (BlockX + 17) / m_BaseFrequencyX, + BlockZ / m_FrequencyZ, + (BlockZ + 17) / m_FrequencyZ, + Workspace + ); // Calculate the final noise based on the partial noises: for (int z = 0; z < 5; z++) @@ -622,7 +733,8 @@ void cBiomalNoise3DComposable::GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCo { NOISE_DATATYPE AddHeight = (static_cast(y * 8) - curMidPoint) * curHeightAmp; - // If "underground", make the terrain smoother by forcing the vertical linear gradient into steeper slope: + // If "underground", make the terrain smoother by forcing the vertical linear gradient into steeper + // slope: if (AddHeight < 0) { AddHeight *= 4; @@ -635,7 +747,8 @@ void cBiomalNoise3DComposable::GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCo // Decide between the two density noises: int idx = 33 * x + y + 33 * 5 * z; - Workspace[idx] = ClampedLerp(DensityNoiseA[idx], DensityNoiseB[idx], 8 * (ChoiceNoise[idx] + 0.5f)) + AddHeight + curBaseNoise; + Workspace[idx] = ClampedLerp(DensityNoiseA[idx], DensityNoiseB[idx], 8 * (ChoiceNoise[idx] + 0.5f)) + + AddHeight + curBaseNoise; } } } @@ -646,7 +759,11 @@ void cBiomalNoise3DComposable::GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCo -void cBiomalNoise3DComposable::CalcBiomeParamArrays(cChunkCoords a_ChunkCoords, ChunkParam & a_HeightAmp, ChunkParam & a_MidPoint) +void cBiomalNoise3DComposable::CalcBiomeParamArrays( + cChunkCoords a_ChunkCoords, + ChunkParam & a_HeightAmp, + ChunkParam & a_MidPoint +) { // Generate the 3 * 3 chunks of biomes around this chunk: cChunkDef::BiomeMap neighborBiomes[3 * 3]; @@ -654,7 +771,10 @@ void cBiomalNoise3DComposable::CalcBiomeParamArrays(cChunkCoords a_ChunkCoords, { for (int x = 0; x < 3; x++) { - m_BiomeGen.GenBiomes({a_ChunkCoords.m_ChunkX + x - 1, a_ChunkCoords.m_ChunkZ + z - 1}, neighborBiomes[x + 3 * z]); + m_BiomeGen.GenBiomes( + {a_ChunkCoords.m_ChunkX + x - 1, a_ChunkCoords.m_ChunkZ + z - 1}, + neighborBiomes[x + 3 * z] + ); } } @@ -668,14 +788,15 @@ void cBiomalNoise3DComposable::CalcBiomeParamArrays(cChunkCoords a_ChunkCoords, // Add up the biomes around this point: for (int relz = 0; relz <= AVERAGING_SIZE * 2; ++relz) { - int colz = 16 + z * 4 + relz - AVERAGING_SIZE; // Biome Z coord relative to the neighborBiomes start - int neicellz = colz / 16; // Chunk Z coord relative to the neighborBiomes start - int neirelz = colz % 16; // Biome Z coord relative to cz in neighborBiomes + int colz = 16 + z * 4 + relz - AVERAGING_SIZE; // Biome Z coord relative to the neighborBiomes start + int neicellz = colz / 16; // Chunk Z coord relative to the neighborBiomes start + int neirelz = colz % 16; // Biome Z coord relative to cz in neighborBiomes for (int relx = 0; relx <= AVERAGING_SIZE * 2; ++relx) { - int colx = 16 + x * 4 + relx - AVERAGING_SIZE; // Biome X coord relative to the neighborBiomes start - int neicellx = colx / 16; // Chunk X coord relative to the neighborBiomes start - int neirelx = colx % 16; // Biome X coord relative to cz in neighborBiomes + int colx = + 16 + x * 4 + relx - AVERAGING_SIZE; // Biome X coord relative to the neighborBiomes start + int neicellx = colx / 16; // Chunk X coord relative to the neighborBiomes start + int neirelx = colx % 16; // Biome X coord relative to cz in neighborBiomes EMCSBiome biome = cChunkDef::GetBiome(neighborBiomes[neicellx + neicellz * 3], neirelx, neirelz); NOISE_DATATYPE heightAmp, midPoint; GetBiomeParams(biome, heightAmp, midPoint); @@ -693,71 +814,258 @@ void cBiomalNoise3DComposable::CalcBiomeParamArrays(cChunkCoords a_ChunkCoords, -void cBiomalNoise3DComposable::GetBiomeParams(EMCSBiome a_Biome, NOISE_DATATYPE & a_HeightAmp, NOISE_DATATYPE & a_MidPoint) +void cBiomalNoise3DComposable::GetBiomeParams( + EMCSBiome a_Biome, + NOISE_DATATYPE & a_HeightAmp, + NOISE_DATATYPE & a_MidPoint +) { switch (a_Biome) { - case biBeach: a_HeightAmp = 0.2f; a_MidPoint = 60; break; - case biBirchForest: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biBirchForestHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biBirchForestHillsM: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biBirchForestM: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biColdBeach: a_HeightAmp = 0.3f; a_MidPoint = 62; break; - case biColdTaiga: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biColdTaigaM: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biColdTaigaHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biDesertHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biDeepOcean: a_HeightAmp = 0.17f; a_MidPoint = 35; break; - case biDesert: a_HeightAmp = 0.29f; a_MidPoint = 62; break; - case biDesertM: a_HeightAmp = 0.29f; a_MidPoint = 62; break; - case biEnd: a_HeightAmp = 0.15f; a_MidPoint = 64; break; - case biExtremeHills: a_HeightAmp = 0.045f; a_MidPoint = 75; break; - case biExtremeHillsEdge: a_HeightAmp = 0.1f; a_MidPoint = 70; break; - case biExtremeHillsM: a_HeightAmp = 0.045f; a_MidPoint = 75; break; - case biExtremeHillsPlus: a_HeightAmp = 0.04f; a_MidPoint = 80; break; - case biExtremeHillsPlusM: a_HeightAmp = 0.04f; a_MidPoint = 80; break; - case biFlowerForest: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biForest: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biForestHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biFrozenRiver: a_HeightAmp = 0.4f; a_MidPoint = 54; break; - case biFrozenOcean: a_HeightAmp = 0.12f; a_MidPoint = 45; break; - case biIceMountains: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biIcePlains: a_HeightAmp = 0.3f; a_MidPoint = 62; break; - case biIcePlainsSpikes: a_HeightAmp = 0.3f; a_MidPoint = 62; break; - case biJungle: a_HeightAmp = 0.1f; a_MidPoint = 63; break; - case biJungleEdge: a_HeightAmp = 0.15f; a_MidPoint = 62; break; - case biJungleEdgeM: a_HeightAmp = 0.15f; a_MidPoint = 62; break; - case biJungleHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biJungleM: a_HeightAmp = 0.1f; a_MidPoint = 63; break; - case biMegaSpruceTaiga: a_HeightAmp = 0.09f; a_MidPoint = 64; break; - case biMegaSpruceTaigaHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biMegaTaiga: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biMegaTaigaHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break; - case biMesa: a_HeightAmp = 0.09f; a_MidPoint = 61; break; - case biMesaBryce: a_HeightAmp = 0.15f; a_MidPoint = 61; break; - case biMesaPlateau: a_HeightAmp = 0.25f; a_MidPoint = 86; break; - case biMesaPlateauF: a_HeightAmp = 0.25f; a_MidPoint = 96; break; - case biMesaPlateauFM: a_HeightAmp = 0.25f; a_MidPoint = 96; break; - case biMesaPlateauM: a_HeightAmp = 0.25f; a_MidPoint = 86; break; - case biMushroomShore: a_HeightAmp = 0.075f; a_MidPoint = 60; break; - case biMushroomIsland: a_HeightAmp = 0.06f; a_MidPoint = 80; break; - case biNether: a_HeightAmp = 0.01f; a_MidPoint = 64; break; - case biOcean: a_HeightAmp = 0.12f; a_MidPoint = 45; break; - case biPlains: a_HeightAmp = 0.3f; a_MidPoint = 62; break; - case biRiver: a_HeightAmp = 0.4f; a_MidPoint = 54; break; - case biRoofedForest: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biRoofedForestM: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biSavanna: a_HeightAmp = 0.3f; a_MidPoint = 62; break; - case biSavannaM: a_HeightAmp = 0.3f; a_MidPoint = 62; break; - case biSavannaPlateau: a_HeightAmp = 0.3f; a_MidPoint = 85; break; - case biSavannaPlateauM: a_HeightAmp = 0.012f; a_MidPoint = 105; break; - case biStoneBeach: a_HeightAmp = 0.075f; a_MidPoint = 60; break; - case biSunflowerPlains: a_HeightAmp = 0.3f; a_MidPoint = 62; break; - case biSwampland: a_HeightAmp = 0.25f; a_MidPoint = 59; break; - case biSwamplandM: a_HeightAmp = 0.11f; a_MidPoint = 59; break; - case biTaiga: a_HeightAmp = 0.1f; a_MidPoint = 64; break; - case biTaigaM: a_HeightAmp = 0.1f; a_MidPoint = 70; break; - case biTaigaHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break; + case biBeach: + a_HeightAmp = 0.2f; + a_MidPoint = 60; + break; + case biBirchForest: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biBirchForestHills: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biBirchForestHillsM: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biBirchForestM: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biColdBeach: + a_HeightAmp = 0.3f; + a_MidPoint = 62; + break; + case biColdTaiga: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biColdTaigaM: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biColdTaigaHills: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biDesertHills: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biDeepOcean: + a_HeightAmp = 0.17f; + a_MidPoint = 35; + break; + case biDesert: + a_HeightAmp = 0.29f; + a_MidPoint = 62; + break; + case biDesertM: + a_HeightAmp = 0.29f; + a_MidPoint = 62; + break; + case biEnd: + a_HeightAmp = 0.15f; + a_MidPoint = 64; + break; + case biExtremeHills: + a_HeightAmp = 0.045f; + a_MidPoint = 75; + break; + case biExtremeHillsEdge: + a_HeightAmp = 0.1f; + a_MidPoint = 70; + break; + case biExtremeHillsM: + a_HeightAmp = 0.045f; + a_MidPoint = 75; + break; + case biExtremeHillsPlus: + a_HeightAmp = 0.04f; + a_MidPoint = 80; + break; + case biExtremeHillsPlusM: + a_HeightAmp = 0.04f; + a_MidPoint = 80; + break; + case biFlowerForest: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biForest: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biForestHills: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biFrozenRiver: + a_HeightAmp = 0.4f; + a_MidPoint = 54; + break; + case biFrozenOcean: + a_HeightAmp = 0.12f; + a_MidPoint = 45; + break; + case biIceMountains: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biIcePlains: + a_HeightAmp = 0.3f; + a_MidPoint = 62; + break; + case biIcePlainsSpikes: + a_HeightAmp = 0.3f; + a_MidPoint = 62; + break; + case biJungle: + a_HeightAmp = 0.1f; + a_MidPoint = 63; + break; + case biJungleEdge: + a_HeightAmp = 0.15f; + a_MidPoint = 62; + break; + case biJungleEdgeM: + a_HeightAmp = 0.15f; + a_MidPoint = 62; + break; + case biJungleHills: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biJungleM: + a_HeightAmp = 0.1f; + a_MidPoint = 63; + break; + case biMegaSpruceTaiga: + a_HeightAmp = 0.09f; + a_MidPoint = 64; + break; + case biMegaSpruceTaigaHills: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biMegaTaiga: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biMegaTaigaHills: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; + case biMesa: + a_HeightAmp = 0.09f; + a_MidPoint = 61; + break; + case biMesaBryce: + a_HeightAmp = 0.15f; + a_MidPoint = 61; + break; + case biMesaPlateau: + a_HeightAmp = 0.25f; + a_MidPoint = 86; + break; + case biMesaPlateauF: + a_HeightAmp = 0.25f; + a_MidPoint = 96; + break; + case biMesaPlateauFM: + a_HeightAmp = 0.25f; + a_MidPoint = 96; + break; + case biMesaPlateauM: + a_HeightAmp = 0.25f; + a_MidPoint = 86; + break; + case biMushroomShore: + a_HeightAmp = 0.075f; + a_MidPoint = 60; + break; + case biMushroomIsland: + a_HeightAmp = 0.06f; + a_MidPoint = 80; + break; + case biNether: + a_HeightAmp = 0.01f; + a_MidPoint = 64; + break; + case biOcean: + a_HeightAmp = 0.12f; + a_MidPoint = 45; + break; + case biPlains: + a_HeightAmp = 0.3f; + a_MidPoint = 62; + break; + case biRiver: + a_HeightAmp = 0.4f; + a_MidPoint = 54; + break; + case biRoofedForest: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biRoofedForestM: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biSavanna: + a_HeightAmp = 0.3f; + a_MidPoint = 62; + break; + case biSavannaM: + a_HeightAmp = 0.3f; + a_MidPoint = 62; + break; + case biSavannaPlateau: + a_HeightAmp = 0.3f; + a_MidPoint = 85; + break; + case biSavannaPlateauM: + a_HeightAmp = 0.012f; + a_MidPoint = 105; + break; + case biStoneBeach: + a_HeightAmp = 0.075f; + a_MidPoint = 60; + break; + case biSunflowerPlains: + a_HeightAmp = 0.3f; + a_MidPoint = 62; + break; + case biSwampland: + a_HeightAmp = 0.25f; + a_MidPoint = 59; + break; + case biSwamplandM: + a_HeightAmp = 0.11f; + a_MidPoint = 59; + break; + case biTaiga: + a_HeightAmp = 0.1f; + a_MidPoint = 64; + break; + case biTaigaM: + a_HeightAmp = 0.1f; + a_MidPoint = 70; + break; + case biTaigaHills: + a_HeightAmp = 0.075f; + a_MidPoint = 68; + break; case biInvalidBiome: case biNumBiomes: case biVariant: @@ -786,7 +1094,8 @@ void cBiomalNoise3DComposable::GenShape(cChunkCoords a_ChunkCoords, cChunkDesc:: { for (int y = 0; y < cChunkDef::Height; y++) { - a_Shape[y + x * 256 + z * 256 * 16] = (m_NoiseArray[y + 257 * x + 257 * 17 * z] > m_AirThreshold) ? 0 : 1; + a_Shape[y + x * 256 + z * 256 * 16] = + (m_NoiseArray[y + 257 * x + 257 * 17 * z] > m_AirThreshold) ? 0 : 1; } } // for x } // for z diff --git a/src/Generating/Noise3DGenerator.h b/src/Generating/Noise3DGenerator.h index 9aceffc1d..820d1cbed 100644 --- a/src/Generating/Noise3DGenerator.h +++ b/src/Generating/Noise3DGenerator.h @@ -20,13 +20,11 @@ -class cNoise3DGenerator: - public cChunkGenerator +class cNoise3DGenerator : public cChunkGenerator { using Super = cChunkGenerator; -public: - + public: cNoise3DGenerator(); virtual ~cNoise3DGenerator() override; @@ -34,16 +32,16 @@ public: virtual void GenerateBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap) override; virtual void Generate(cChunkDesc & a_ChunkDesc) override; -protected: + protected: // Linear interpolation step sizes, must be divisors of cChunkDef::Width and cChunkDef::Height, respectively: static const int UPSCALE_X = 4; static const int UPSCALE_Y = 8; static const int UPSCALE_Z = 4; // Linear interpolation buffer dimensions, calculated from the step sizes: - static const int DIM_X = 1 + cChunkDef::Width / UPSCALE_X; + static const int DIM_X = 1 + cChunkDef::Width / UPSCALE_X; static const int DIM_Y = 1 + cChunkDef::Height / UPSCALE_Y; - static const int DIM_Z = 1 + cChunkDef::Width / UPSCALE_Z; + static const int DIM_Z = 1 + cChunkDef::Width / UPSCALE_Z; /** The base 3D noise source for the actual composition */ cOctavedNoise m_Perlin; @@ -51,7 +49,7 @@ protected: /** The noise used for heightmap directing. */ cOctavedNoise m_Cubic; - int m_SeaLevel; + int m_SeaLevel; NOISE_DATATYPE m_HeightAmplification; NOISE_DATATYPE m_MidPoint; // Where the vertical "center" of the noise should be NOISE_DATATYPE m_FrequencyX; @@ -64,21 +62,20 @@ protected: /** Composes terrain - adds dirt, grass and sand */ void ComposeTerrain(cChunkDesc & a_ChunkDesc); -} ; +}; -class cNoise3DComposable : - public cTerrainShapeGen +class cNoise3DComposable : public cTerrainShapeGen { -public: + public: cNoise3DComposable(int a_Seed); void Initialize(cIniFile & a_IniFile); -protected: + protected: /** The 3D noise that is used to choose between density noise A and B. */ cOctavedNoise> m_ChoiceNoise; @@ -120,27 +117,27 @@ protected: NOISE_DATATYPE m_NoiseArray[17 * 17 * 257]; // x + 17 * z + 17 * 17 * y - /** Generates the 3D noise array used for terrain generation (m_NoiseArray), unless the LastChunk coords are equal to coords given */ + /** Generates the 3D noise array used for terrain generation (m_NoiseArray), unless the LastChunk coords are equal + * to coords given */ void GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCoords); // cTerrainHeightGen overrides: virtual void GenShape(cChunkCoords a_ChunkCoords, cChunkDesc::Shape & a_Shape) override; virtual void InitializeShapeGen(cIniFile & a_IniFile) override { Initialize(a_IniFile); } -} ; +}; -class cBiomalNoise3DComposable : - public cTerrainShapeGen +class cBiomalNoise3DComposable : public cTerrainShapeGen { -public: + public: cBiomalNoise3DComposable(int a_Seed, cBiomeGen & a_BiomeGen); void Initialize(cIniFile & a_IniFile); -protected: + protected: /** Number of columns around the pixel to query for biomes for averaging. Must be less than or equal to 16. */ static const int AVERAGING_SIZE = 9; @@ -194,7 +191,8 @@ protected: NOISE_DATATYPE m_WeightSum; - /** Generates the 3D noise array used for terrain generation (m_NoiseArray), unless the LastChunk coords are equal to coords given */ + /** Generates the 3D noise array used for terrain generation (m_NoiseArray), unless the LastChunk coords are equal + * to coords given */ void GenerateNoiseArrayIfNeeded(cChunkCoords a_ChunkCoords); /** Calculates the biome-related parameters for the chunk. */ @@ -206,4 +204,4 @@ protected: // cTerrainShapeGen overrides: virtual void GenShape(cChunkCoords a_ChunkCoords, cChunkDesc::Shape & a_Shape) override; virtual void InitializeShapeGen(cIniFile & a_IniFile) override { Initialize(a_IniFile); } -} ; +}; diff --git a/src/Generating/PieceGeneratorBFSTree.cpp b/src/Generating/PieceGeneratorBFSTree.cpp index 2e26463f2..eb0a6af3d 100644 --- a/src/Generating/PieceGeneratorBFSTree.cpp +++ b/src/Generating/PieceGeneratorBFSTree.cpp @@ -1,7 +1,8 @@ // PieceGeneratorBFSTree.cpp -// Implements the cPieceGeneratorBFSTree class for generating structures composed of individual "pieces" in a simple tree +// Implements the cPieceGeneratorBFSTree class for generating structures composed of individual "pieces" in a simple +// tree /* The generator keeps a pool of currently-open connectors, chooses one at random and tries to place a piece on it, thus possibly extending the pool of open connectors with the new piece's ones (like breadth-first search). @@ -19,10 +20,8 @@ thus possibly extending the pool of open connectors with the new piece's ones (l //////////////////////////////////////////////////////////////////////////////// // cPieceGeneratorBFSTree: -cPieceGeneratorBFSTree::cPieceGeneratorBFSTree(cPiecePool & a_PiecePool, int a_Seed): - m_PiecePool(a_PiecePool), - m_Noise(a_Seed), - m_Seed(a_Seed) +cPieceGeneratorBFSTree::cPieceGeneratorBFSTree(cPiecePool & a_PiecePool, int a_Seed) : + m_PiecePool(a_PiecePool), m_Noise(a_Seed), m_Seed(a_Seed) { } @@ -30,7 +29,11 @@ cPieceGeneratorBFSTree::cPieceGeneratorBFSTree(cPiecePool & a_PiecePool, int a_S -cPlacedPiecePtr cPieceGeneratorBFSTree::PlaceStartingPiece(int a_BlockX, int a_BlockZ, cFreeConnectors & a_OutConnectors) +cPlacedPiecePtr cPieceGeneratorBFSTree::PlaceStartingPiece( + int a_BlockX, + int a_BlockZ, + cFreeConnectors & a_OutConnectors +) { m_PiecePool.Reset(); int rnd = m_Noise.IntNoise2DInt(a_BlockX, a_BlockZ) / 7; @@ -109,7 +112,10 @@ bool cPieceGeneratorBFSTree::TryPlacePieceAtConnector( int WantedConnectorType = -a_Connector.m_Type; cPieces AvailablePieces = m_PiecePool.GetPiecesWithConnector(WantedConnectorType); Connections.reserve(AvailablePieces.size()); - Vector3i ConnPos = cPiece::cConnector::AddDirection(a_Connector.m_Pos, a_Connector.m_Direction); // The position at which the new connector should be placed - 1 block away from the current connector + Vector3i ConnPos = cPiece::cConnector::AddDirection( + a_Connector.m_Pos, + a_Connector.m_Direction + ); // The position at which the new connector should be placed - 1 block away from the current connector int WeightTotal = 0; for (cPieces::iterator itrP = AvailablePieces.begin(), endP = AvailablePieces.end(); itrP != endP; ++itrP) { @@ -130,7 +136,8 @@ bool cPieceGeneratorBFSTree::TryPlacePieceAtConnector( continue; } // This is a same-type connector, find out how to rotate to it: - int NumCCWRotations = cPiece::cConnector::GetNumCCWRotationsToFit(a_Connector.m_Direction, itrC->m_Direction); + int NumCCWRotations = + cPiece::cConnector::GetNumCCWRotationsToFit(a_Connector.m_Direction, itrC->m_Direction); if ((NumCCWRotations < 0) || !(*itrP)->CanRotateCCW(NumCCWRotations)) { // Doesn't support this rotation @@ -138,7 +145,8 @@ bool cPieceGeneratorBFSTree::TryPlacePieceAtConnector( } // Check if the piece's VerticalLimit allows this connection: - if ((verticalLimit != nullptr) && (!verticalLimit->CanBeAtHeight(ConnPos.x, ConnPos.z, ConnPos.y - itrC->m_Pos.y))) + if ((verticalLimit != nullptr) && + (!verticalLimit->CanBeAtHeight(ConnPos.x, ConnPos.z, ConnPos.y - itrC->m_Pos.y))) { continue; } @@ -163,7 +171,8 @@ bool cPieceGeneratorBFSTree::TryPlacePieceAtConnector( // Choose a random connection from the list, based on the weights: int rnd = (m_Noise.IntNoise3DInt(a_Connector.m_Pos.x, a_Connector.m_Pos.y, a_Connector.m_Pos.z) / 7) % WeightTotal; size_t ChosenIndex = 0; - for (cConnections::const_iterator itr = Connections.begin(), end = Connections.end(); itr != end; ++itr, ++ChosenIndex) + for (cConnections::const_iterator itr = Connections.begin(), end = Connections.end(); itr != end; + ++itr, ++ChosenIndex) { rnd -= itr->m_Weight; if (rnd <= 0) @@ -188,7 +197,10 @@ bool cPieceGeneratorBFSTree::TryPlacePieceAtConnector( // This is the connector through which we have been connected to the parent, don't add continue; } - a_OutConnectors.emplace_back(PlacedPiece.get(), Conn.m_Piece->RotateMoveConnector(*itr, Conn.m_NumCCWRotations, ConnPos.x, ConnPos.y, ConnPos.z)); + a_OutConnectors.emplace_back( + PlacedPiece.get(), + Conn.m_Piece->RotateMoveConnector(*itr, Conn.m_NumCCWRotations, ConnPos.x, ConnPos.y, ConnPos.z) + ); } a_OutPieces.push_back(std::move(PlacedPiece)); @@ -290,18 +302,26 @@ void cPieceGeneratorBFSTree::PlacePieces(int a_BlockX, int a_BlockZ, int a_MaxDe //* // DEBUG: -void cPieceGeneratorBFSTree::DebugConnectorPool(const cPieceGeneratorBFSTree::cFreeConnectors & a_ConnectorPool, size_t a_NumProcessed) +void cPieceGeneratorBFSTree::DebugConnectorPool( + const cPieceGeneratorBFSTree::cFreeConnectors & a_ConnectorPool, + size_t a_NumProcessed +) { fmt::print(" Connector pool: {0} items\n", a_ConnectorPool.size() - a_NumProcessed); size_t idx = 0; typedef cPieceGeneratorBFSTree::cFreeConnectors::difference_type difType; - for (auto itr = a_ConnectorPool.cbegin() + static_cast(a_NumProcessed), end = a_ConnectorPool.cend(); itr != end; ++itr, ++idx) + for (auto itr = a_ConnectorPool.cbegin() + static_cast(a_NumProcessed), end = a_ConnectorPool.cend(); + itr != end; + ++itr, ++idx) { - fmt::print(" {0}: {{{1}, {2}, {3}}}, type {4}, direction {5}, depth {6}\n", + fmt::print( + " {0}: {{{1}, {2}, {3}}}, type {4}, direction {5}, depth {6}\n", idx, - itr->m_Connector.m_Pos.x, itr->m_Connector.m_Pos.y, itr->m_Connector.m_Pos.z, + itr->m_Connector.m_Pos.x, + itr->m_Connector.m_Pos.y, + itr->m_Connector.m_Pos.z, itr->m_Connector.m_Type, cPiece::cConnector::DirectionToString(itr->m_Connector.m_Direction), itr->m_Piece->GetDepth() @@ -317,11 +337,13 @@ void cPieceGeneratorBFSTree::DebugConnectorPool(const cPieceGeneratorBFSTree::cF //////////////////////////////////////////////////////////////////////////////// // cPieceGeneratorBFSTree::cConnection: -cPieceGeneratorBFSTree::cConnection::cConnection(cPiece & a_Piece, cPiece::cConnector & a_Connector, int a_NumCCWRotations, int a_Weight) : - m_Piece(&a_Piece), - m_Connector(a_Connector), - m_NumCCWRotations(a_NumCCWRotations), - m_Weight(a_Weight) +cPieceGeneratorBFSTree::cConnection::cConnection( + cPiece & a_Piece, + cPiece::cConnector & a_Connector, + int a_NumCCWRotations, + int a_Weight +) : + m_Piece(&a_Piece), m_Connector(a_Connector), m_NumCCWRotations(a_NumCCWRotations), m_Weight(a_Weight) { } @@ -333,11 +355,6 @@ cPieceGeneratorBFSTree::cConnection::cConnection(cPiece & a_Piece, cPiece::cConn // cPieceGeneratorBFSTree::cFreeConnector: cPieceGeneratorBFSTree::cFreeConnector::cFreeConnector(cPlacedPiece * a_Piece, const cPiece::cConnector & a_Connector) : - m_Piece(a_Piece), - m_Connector(a_Connector) + m_Piece(a_Piece), m_Connector(a_Connector) { } - - - - diff --git a/src/Generating/PieceGeneratorBFSTree.h b/src/Generating/PieceGeneratorBFSTree.h index 33d2e5350..e261d78b7 100644 --- a/src/Generating/PieceGeneratorBFSTree.h +++ b/src/Generating/PieceGeneratorBFSTree.h @@ -18,7 +18,7 @@ class cPieceGeneratorBFSTree { -public: + public: /** Creates a new object tied to the specified PiecePool, using the specified seed. */ cPieceGeneratorBFSTree(cPiecePool & a_PiecePool, int a_Seed); @@ -28,15 +28,14 @@ public: void PlacePieces(int a_BlockX, int a_BlockZ, int a_MaxDepth, cPlacedPieces & a_OutPieces); -protected: - + protected: /** The type used for storing a connection from one piece to another, while building the piece tree. */ struct cConnection { - cPiece * m_Piece; // The piece being connected - cPiece::cConnector m_Connector; // The piece's connector being used (relative non-rotated coords) - int m_NumCCWRotations; // Number of rotations necessary to match the two connectors - int m_Weight; // Relative chance that this connection will be chosen + cPiece * m_Piece; // The piece being connected + cPiece::cConnector m_Connector; // The piece's connector being used (relative non-rotated coords) + int m_NumCCWRotations; // Number of rotations necessary to match the two connectors + int m_Weight; // Relative chance that this connection will be chosen cConnection(cPiece & a_Piece, cPiece::cConnector & a_Connector, int a_NumCCWRotations, int a_Weight); }; @@ -70,32 +69,29 @@ protected: /** Tries to place a new piece at the specified (placed) connector. Returns true if successful. */ bool TryPlacePieceAtConnector( - const cPlacedPiece & a_ParentPiece, // The existing piece to a new piece should be placed - const cPiece::cConnector & a_Connector, // The existing connector (world-coords) to which a new piece should be placed - cPlacedPieces & a_OutPieces, // Already placed pieces, to be checked for intersections - cFreeConnectors & a_OutConnectors // List of free connectors to which the new connectors will be placed + const cPlacedPiece & a_ParentPiece, // The existing piece to a new piece should be placed + const cPiece::cConnector & + a_Connector, // The existing connector (world-coords) to which a new piece should be placed + cPlacedPieces & a_OutPieces, // Already placed pieces, to be checked for intersections + cFreeConnectors & a_OutConnectors // List of free connectors to which the new connectors will be placed ); /** Checks if the specified piece would fit with the already-placed pieces, using the specified connector and number of CCW rotations. a_ExistingConnector is in world-coords and is already rotated properly - a_ToPos is the world-coords position on which the new connector should be placed (1 block away from a_ExistingConnector, in its Direction) - a_NewConnector is in the original (non-rotated) coords. - Returns true if the piece fits, false if not. */ + a_ToPos is the world-coords position on which the new connector should be placed (1 block away from + a_ExistingConnector, in its Direction) a_NewConnector is in the original (non-rotated) coords. Returns true if the + piece fits, false if not. */ bool CheckConnection( const cPiece::cConnector & a_ExistingConnector, // The existing connector - const Vector3i & a_ToPos, // The position on which the new connector should be placed - const cPiece & a_Piece, // The new piece - const cPiece::cConnector & a_NewConnector, // The connector of the new piece - int a_NumCCWRotations, // Number of rotations for the new piece to align the connector - const cPlacedPieces & a_OutPieces // All the already-placed pieces to check + const Vector3i & a_ToPos, // The position on which the new connector should be placed + const cPiece & a_Piece, // The new piece + const cPiece::cConnector & a_NewConnector, // The connector of the new piece + int a_NumCCWRotations, // Number of rotations for the new piece to align the connector + const cPlacedPieces & a_OutPieces // All the already-placed pieces to check ); /** DEBUG: Outputs all the connectors in the pool into stdout. a_NumProcessed signals the number of connectors from the pool that should be considered processed (not listed). */ void DebugConnectorPool(const cFreeConnectors & a_ConnectorPool, size_t a_NumProcessed); -} ; - - - - +}; diff --git a/src/Generating/PieceModifier.cpp b/src/Generating/PieceModifier.cpp index d81487bf8..ba25fd3d0 100644 --- a/src/Generating/PieceModifier.cpp +++ b/src/Generating/PieceModifier.cpp @@ -18,10 +18,9 @@ static const int SEED_OFFSET = 135 * 13; //////////////////////////////////////////////////////////////////////////////// /** A modifier which is pseudo-randomly replacing blocks to other types and metas. */ -class cPieceModifierRandomizeBlocks: - public cPiece::cPieceModifier +class cPieceModifierRandomizeBlocks : public cPiece::cPieceModifier { -public: + public: cPieceModifierRandomizeBlocks(void) : m_Seed() { @@ -44,7 +43,11 @@ public: BLOCKTYPE blockType = static_cast(BlockStringToType(blocksToReplace[i])); if ((blockType == E_BLOCK_AIR) && !NoCaseCompare(blocksToReplace[i], "Air")) { - CONDWARNING(a_LogWarnings, "Cannot parse block type from string \"%s\"!", blocksToReplace[i].c_str()); + CONDWARNING( + a_LogWarnings, + "Cannot parse block type from string \"%s\"!", + blocksToReplace[i].c_str() + ); return false; } m_BlocksToReplace[blockType] = 1; @@ -97,7 +100,7 @@ public: { AString block = BlocksToRandomize[i]; - cRandomizedBlock Block{}; + cRandomizedBlock Block {}; if (isMultiMeta) { @@ -107,9 +110,12 @@ public: auto sqBrEnd = block.find(']'); if (sqBrEnd != block.size() - 1) { - CONDWARNING(a_LogWarnings, "If present, block meta params must be at the end of block to randomize definition \"%s\"!", block.c_str()); + CONDWARNING( + a_LogWarnings, + "If present, block meta params must be at the end of block to randomize definition \"%s\"!", + block.c_str() + ); return false; - } AString metaParamsStr = block.substr(sqBrStart + 1, block.size() - sqBrStart - 2); @@ -125,7 +131,6 @@ public: Block.m_MaxNoiseMeta = metaParamsInt[3]; block = block.substr(0, sqBrStart); - } // No meta randomization for this block } @@ -142,19 +147,14 @@ public: if ((BlockType != E_BLOCK_AIR) && !NoCaseCompare(BlockParams[0], "Air")) { // Failed to parse block type - CONDWARNING( - a_LogWarnings, "Cannot parse block type from string \"%s\"!", - BlockParams[0].c_str()); + CONDWARNING(a_LogWarnings, "Cannot parse block type from string \"%s\"!", BlockParams[0].c_str()); return false; } if (!StringToInteger(BlockParams[1], BlockWeight)) { // Failed to parse the crop weight: - CONDWARNING( - a_LogWarnings, - "Cannot parse block weight from string \"%s\"!", - BlockParams[1].c_str()); + CONDWARNING(a_LogWarnings, "Cannot parse block weight from string \"%s\"!", BlockParams[1].c_str()); return false; } @@ -188,7 +188,12 @@ public: if (!StringToInteger(MetaParams[i], Value)) { // Failed to parse meta parameter from string: - CONDWARNING(a_LogWarnings, "Cannot parse meta param from string \"%s\", meta: %s!", MetaParams[i].c_str(), a_Meta.c_str()); + CONDWARNING( + a_LogWarnings, + "Cannot parse meta param from string \"%s\", meta: %s!", + MetaParams[i].c_str(), + a_Meta.c_str() + ); return false; } @@ -237,7 +242,9 @@ public: { if (m_BlocksToReplace.count(BlockTypes[i])) { - float BlockRnd = PieceNoise.IntNoise2DInRange(a_PieceRot, static_cast(i), 0.0F, static_cast(m_AllWeights)); + float BlockRnd = + PieceNoise + .IntNoise2DInRange(a_PieceRot, static_cast(i), 0.0F, static_cast(m_AllWeights)); int weightDelta = 0; for (auto & blockToRnd : m_BlocksToRandomize) @@ -250,7 +257,16 @@ public: // Per block meta params if (blockToRnd.m_MinMeta < blockToRnd.m_MaxMeta) { - int BlockMetaRnd = std::clamp(static_cast(PieceNoise.IntNoise2DInRange(a_PieceRot*2, static_cast(i), static_cast(blockToRnd.m_MinNoiseMeta), static_cast(blockToRnd.m_MaxNoiseMeta))), blockToRnd.m_MinMeta, blockToRnd.m_MaxMeta); + int BlockMetaRnd = std::clamp( + static_cast(PieceNoise.IntNoise2DInRange( + a_PieceRot * 2, + static_cast(i), + static_cast(blockToRnd.m_MinNoiseMeta), + static_cast(blockToRnd.m_MaxNoiseMeta) + )), + blockToRnd.m_MinMeta, + blockToRnd.m_MaxMeta + ); BlockMetas[i] = static_cast(BlockMetaRnd); } else if ((blockToRnd.m_MaxMeta > -1) && (blockToRnd.m_MaxMeta == blockToRnd.m_MinMeta)) @@ -265,7 +281,16 @@ public: // All blocks meta params if (m_MaxMeta > m_MinMeta) { - int BlockMetaRnd = std::clamp(static_cast(PieceNoise.IntNoise2DInRange(a_PieceRot * 2, static_cast(i), static_cast(m_MinNoiseMeta), static_cast(m_MaxNoiseMeta))), m_MinMeta, m_MaxMeta); + int BlockMetaRnd = std::clamp( + static_cast(PieceNoise.IntNoise2DInRange( + a_PieceRot * 2, + static_cast(i), + static_cast(m_MinNoiseMeta), + static_cast(m_MaxNoiseMeta) + )), + m_MinMeta, + m_MaxMeta + ); BlockMetas[i] = static_cast(BlockMetaRnd); } else if ((m_MaxMeta > -1) && (m_MaxMeta == m_MinMeta)) @@ -277,11 +302,9 @@ public: } // for i - BlockTypes[] } - virtual void AssignSeed(int a_Seed) override - { - m_Seed = a_Seed + SEED_OFFSET; - } -protected: + virtual void AssignSeed(int a_Seed) override { m_Seed = a_Seed + SEED_OFFSET; } + + protected: int m_Seed; int m_AllWeights = 0; @@ -312,14 +335,22 @@ protected: //////////////////////////////////////////////////////////////////////////////// // CreatePieceModifierFromString: -bool CreatePieceModifierFromString(const AString & a_Definition, std::shared_ptr & a_Modifiers, bool a_LogWarnings) +bool CreatePieceModifierFromString( + const AString & a_Definition, + std::shared_ptr & a_Modifiers, + bool a_LogWarnings +) { auto idxCurlyStart = a_Definition.find('{'); auto idxCurlyFirstEnd = a_Definition.find('}'); if ((idxCurlyStart == AString::npos) && (idxCurlyFirstEnd == AString::npos)) { - CONDWARNING(a_LogWarnings, "Piece metadata \"Modifiers\" needs at least one valid modifier definition \"%s\"!", a_Definition.c_str()); + CONDWARNING( + a_LogWarnings, + "Piece metadata \"Modifiers\" needs at least one valid modifier definition \"%s\"!", + a_Definition.c_str() + ); return false; } @@ -381,7 +412,3 @@ bool CreatePieceModifierFromString(const AString & a_Definition, std::shared_ptr return true; } - - - - diff --git a/src/Generating/PieceModifier.h b/src/Generating/PieceModifier.h index 88fba5070..e6850d975 100644 --- a/src/Generating/PieceModifier.h +++ b/src/Generating/PieceModifier.h @@ -15,7 +15,11 @@ -bool CreatePieceModifierFromString(const AString & a_Definition, std::shared_ptr & a_Modifiers, bool a_LogWarnings); +bool CreatePieceModifierFromString( + const AString & a_Definition, + std::shared_ptr & a_Modifiers, + bool a_LogWarnings +); @@ -24,7 +28,7 @@ bool CreatePieceModifierFromString(const AString & a_Definition, std::shared_ptr /** Used to store block type, meta, weight and some more params */ class cRandomizedBlock { -public: + public: BLOCKTYPE m_Type; int m_Weight; diff --git a/src/Generating/PiecePool.cpp b/src/Generating/PiecePool.cpp index a7c28e75a..1c4dcd34d 100644 --- a/src/Generating/PiecePool.cpp +++ b/src/Generating/PiecePool.cpp @@ -1,8 +1,9 @@ // PiecePool.cpp // Implements the cPiecePool class representing a pool of cPieces - "parts" of a structure, used in piece-generators -// A cPiece is a single static part of a structure that can rotate around the Y axis, has connectors to other pieces and knows how to draw itself into the world. -// The pool manages the pieces and provides lists of its pieces matching criteria, and provides relative weights for the random distribution of pieces. +// A cPiece is a single static part of a structure that can rotate around the Y axis, has connectors to other pieces and +// knows how to draw itself into the world. The pool manages the pieces and provides lists of its pieces matching +// criteria, and provides relative weights for the random distribution of pieces. #include "Globals.h" #include "PiecePool.h" @@ -104,7 +105,13 @@ Vector3i cPiece::RotatePos(const Vector3i & a_Pos, int a_NumCCWRotations) const -cPiece::cConnector cPiece::RotateMoveConnector(const cConnector & a_Connector, int a_NumCCWRotations, int a_MoveX, int a_MoveY, int a_MoveZ) const +cPiece::cConnector cPiece::RotateMoveConnector( + const cConnector & a_Connector, + int a_NumCCWRotations, + int a_MoveX, + int a_MoveY, + int a_MoveZ +) const { cPiece::cConnector res(a_Connector); @@ -184,9 +191,7 @@ cCuboid cPiece::RotateMoveHitBox(int a_NumCCWRotations, int a_MoveX, int a_MoveY // cPiece::cConnector: cPiece::cConnector::cConnector(int a_X, int a_Y, int a_Z, int a_Type, eDirection a_Direction) : - m_Pos(a_X, a_Y, a_Z), - m_Type(a_Type), - m_Direction(a_Direction) + m_Pos(a_X, a_Y, a_Z), m_Type(a_Type), m_Direction(a_Direction) { } @@ -195,9 +200,7 @@ cPiece::cConnector::cConnector(int a_X, int a_Y, int a_Z, int a_Type, eDirection cPiece::cConnector::cConnector(const Vector3i & a_Pos, int a_Type, eDirection a_Direction) : - m_Pos(a_Pos), - m_Type(a_Type), - m_Direction(a_Direction) + m_Pos(a_Pos), m_Type(a_Type), m_Direction(a_Direction) { } @@ -209,20 +212,20 @@ Vector3i cPiece::cConnector::AddDirection(const Vector3i & a_Pos, eDirection a_D { switch (a_Direction) { - case dirXM: return Vector3i(a_Pos.x - 1, a_Pos.y, a_Pos.z); - case dirXP: return Vector3i(a_Pos.x + 1, a_Pos.y, a_Pos.z); - case dirYM: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); - case dirYP: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); - case dirZM: return Vector3i(a_Pos.x, a_Pos.y, a_Pos.z - 1); - case dirZP: return Vector3i(a_Pos.x, a_Pos.y, a_Pos.z + 1); - case dirYM_XM_ZM: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); - case dirYM_XM_ZP: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); - case dirYM_XP_ZM: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); - case dirYM_XP_ZP: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); - case dirYP_XM_ZM: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); - case dirYP_XM_ZP: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); - case dirYP_XP_ZM: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); - case dirYP_XP_ZP: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); + case dirXM: return Vector3i(a_Pos.x - 1, a_Pos.y, a_Pos.z); + case dirXP: return Vector3i(a_Pos.x + 1, a_Pos.y, a_Pos.z); + case dirYM: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); + case dirYP: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); + case dirZM: return Vector3i(a_Pos.x, a_Pos.y, a_Pos.z - 1); + case dirZP: return Vector3i(a_Pos.x, a_Pos.y, a_Pos.z + 1); + case dirYM_XM_ZM: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); + case dirYM_XM_ZP: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); + case dirYM_XP_ZM: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); + case dirYM_XP_ZP: return Vector3i(a_Pos.x, a_Pos.y - 1, a_Pos.z); + case dirYP_XM_ZM: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); + case dirYP_XM_ZP: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); + case dirYP_XP_ZM: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); + case dirYP_XP_ZP: return Vector3i(a_Pos.x, a_Pos.y + 1, a_Pos.z); } UNREACHABLE("Unsupported connector direction"); } @@ -372,23 +375,23 @@ int cPiece::cConnector::GetNumCCWRotationsToFit(eDirection a_FixedDir, eDirectio // Translation of direction - direction -> number of CCW rotations needed: // You need DirectionRotationTable[fixed][rot] CCW turns to connect rot to fixed (they are opposite) // -1 if not possible - static const int DirectionRotationTable[14][14] = - { - /* YM, YP, ZM, ZP, XM, XP, YM-XM-ZM, YM-XM-ZP, YM-XP-ZM, YM-XP-ZP, YP-XM-ZM, YP-XM-ZP, YP-XP-ZM, YP-XP-ZP */ - /* YM */ { 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, - /* YP */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, - /* ZM */ {-1, -1, 2, 0, 1, 3, -1, -1, -1, -1, -1, -1, -1, -1}, - /* ZP */ {-1, -1, 0, 2, 3, 1, -1, -1, -1, -1, -1, -1, -1, -1}, - /* XM */ {-1, -1, 3, 1, 2, 0, -1, -1, -1, -1, -1, -1, -1, -1}, - /* XP */ {-1, -1, 1, 3, 0, 2, -1, -1, -1, -1, -1, -1, -1, -1}, - /* YM-XM-ZM */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 3, 1, 2}, - /* YM-XM-ZP */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 2, 3}, - /* YM-XP-ZM */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 2, 0, 1}, - /* YM-XP-ZP */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 3, 0}, - /* YP-XM-ZM */ {-1, -1, -1, -1, -1, -1, 0, 3, 1, 2, -1, -1, -1, -1}, - /* YP-XM-ZP */ {-1, -1, -1, -1, -1, -1, 1, 0, 2, 3, -1, -1, -1, -1}, - /* YP-XP-ZM */ {-1, -1, -1, -1, -1, -1, 3, 2, 0, 1, -1, -1, -1, -1}, - /* YP-XP-ZP */ {-1, -1, -1, -1, -1, -1, 2, 1, 3, 0, -1, -1, -1, -1}, + static const int DirectionRotationTable[14][14] = { + /* YM, YP, ZM, ZP, XM, XP, YM-XM-ZM, YM-XM-ZP, YM-XP-ZM, YM-XP-ZP, YP-XM-ZM, YP-XM-ZP, YP-XP-ZM, + YP-XP-ZP */ + /* YM */ {0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, + /* YP */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, + /* ZM */ {-1, -1, 2, 0, 1, 3, -1, -1, -1, -1, -1, -1, -1, -1}, + /* ZP */ {-1, -1, 0, 2, 3, 1, -1, -1, -1, -1, -1, -1, -1, -1}, + /* XM */ {-1, -1, 3, 1, 2, 0, -1, -1, -1, -1, -1, -1, -1, -1}, + /* XP */ {-1, -1, 1, 3, 0, 2, -1, -1, -1, -1, -1, -1, -1, -1}, + /* YM-XM-ZM */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 3, 1, 2}, + /* YM-XM-ZP */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 2, 3}, + /* YM-XP-ZM */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 2, 0, 1}, + /* YM-XP-ZP */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 3, 0}, + /* YP-XM-ZM */ {-1, -1, -1, -1, -1, -1, 0, 3, 1, 2, -1, -1, -1, -1}, + /* YP-XM-ZP */ {-1, -1, -1, -1, -1, -1, 1, 0, 2, 3, -1, -1, -1, -1}, + /* YP-XP-ZM */ {-1, -1, -1, -1, -1, -1, 3, 2, 0, 1, -1, -1, -1, -1}, + /* YP-XP-ZP */ {-1, -1, -1, -1, -1, -1, 2, 1, 3, 0, -1, -1, -1, -1}, }; return DirectionRotationTable[a_FixedDir][a_RotatingDir]; @@ -417,8 +420,7 @@ bool cPiece::cConnector::StringToDirection(const AString & a_Value, eDirection & { const char * m_String; eDirection m_Value; - } StringDirections[] = - { + } StringDirections[] = { {"x-", dirXM}, {"x+", dirXP}, {"y-", dirYM}, @@ -465,7 +467,12 @@ bool cPiece::cConnector::StringToDirection(const AString & a_Value, eDirection & //////////////////////////////////////////////////////////////////////////////// // cPlacedPiece: -cPlacedPiece::cPlacedPiece(const cPlacedPiece * a_Parent, const cPiece & a_Piece, const Vector3i & a_Coords, int a_NumCCWRotations) : +cPlacedPiece::cPlacedPiece( + const cPlacedPiece * a_Parent, + const cPiece & a_Piece, + const Vector3i & a_Coords, + int a_NumCCWRotations +) : m_Parent(a_Parent), m_Piece(&a_Piece), m_Coords(a_Coords), @@ -506,7 +513,3 @@ void cPlacedPiece::MoveToGroundBy(int a_OffsetY) m_Coords.y += a_OffsetY; m_HasBeenMovedToGround = true; } - - - - diff --git a/src/Generating/PiecePool.h b/src/Generating/PiecePool.h index 5897f32c7..adfa9204b 100644 --- a/src/Generating/PiecePool.h +++ b/src/Generating/PiecePool.h @@ -19,7 +19,7 @@ /** Represents a single piece. Can have multiple connectors of different types where other pieces can connect. */ class cPiece { -public: + public: // Force a virtual destructor in all descendants virtual ~cPiece() {} @@ -28,22 +28,25 @@ public: enum eDirection { // The following values correspond to equivalent eBlockFace values: - dirXM = BLOCK_FACE_XM, // Pointing towards the X- side of the prefab - dirXP = BLOCK_FACE_XP, // Pointing towards the X+ side of the prefab - dirYM = BLOCK_FACE_YM, // Pointing towards the Y- side of the prefab, doesn't change with rotation around the Y axis - dirYP = BLOCK_FACE_YP, // Pointing towards the Y+ side of the prefab, doesn't change with rotation around the Y axis - dirZM = BLOCK_FACE_ZM, // Pointing towards the Z- side of the prefab - dirZP = BLOCK_FACE_ZP, // Pointing towards the Z+ side of the prefab + dirXM = BLOCK_FACE_XM, // Pointing towards the X- side of the prefab + dirXP = BLOCK_FACE_XP, // Pointing towards the X+ side of the prefab + dirYM = BLOCK_FACE_YM, // Pointing towards the Y- side of the prefab, doesn't change with rotation around + // the Y axis + dirYP = BLOCK_FACE_YP, // Pointing towards the Y+ side of the prefab, doesn't change with rotation around + // the Y axis + dirZM = BLOCK_FACE_ZM, // Pointing towards the Z- side of the prefab + dirZP = BLOCK_FACE_ZP, // Pointing towards the Z+ side of the prefab // Special kind of the vertical connectors (changes with rotation around the Y axis) - dirYM_XM_ZM = BLOCK_FACE_MAX + 1, // Pointing towards the Y- side of the prefab, conceptually at the X- Z- corner of the block - dirYM_XM_ZP, // Pointing towards the Y- side of the prefab, conceptually at the X- Z+ corner of the block - dirYM_XP_ZM, // Pointing towards the Y- side of the prefab, conceptually at the X+ Z- corner of the block - dirYM_XP_ZP, // Pointing towards the Y- side of the prefab, conceptually at the X+ Z+ corner of the block - dirYP_XM_ZM, // Pointing towards the Y+ side of the prefab, conceptually at the X- Z- corner of the block - dirYP_XM_ZP, // Pointing towards the Y+ side of the prefab, conceptually at the X- Z+ corner of the block - dirYP_XP_ZM, // Pointing towards the Y+ side of the prefab, conceptually at the X+ Z- corner of the block - dirYP_XP_ZP, // Pointing towards the Y+ side of the prefab, conceptually at the X+ Z+ corner of the block + dirYM_XM_ZM = BLOCK_FACE_MAX + + 1, // Pointing towards the Y- side of the prefab, conceptually at the X- Z- corner of the block + dirYM_XM_ZP, // Pointing towards the Y- side of the prefab, conceptually at the X- Z+ corner of the block + dirYM_XP_ZM, // Pointing towards the Y- side of the prefab, conceptually at the X+ Z- corner of the block + dirYM_XP_ZP, // Pointing towards the Y- side of the prefab, conceptually at the X+ Z+ corner of the block + dirYP_XM_ZM, // Pointing towards the Y+ side of the prefab, conceptually at the X- Z- corner of the block + dirYP_XM_ZP, // Pointing towards the Y+ side of the prefab, conceptually at the X- Z+ corner of the block + dirYP_XP_ZM, // Pointing towards the Y+ side of the prefab, conceptually at the X+ Z- corner of the block + dirYP_XP_ZP, // Pointing towards the Y+ side of the prefab, conceptually at the X+ Z+ corner of the block }; /** Position relative to the piece */ @@ -80,10 +83,10 @@ public: /** Returns the direction corresponding to the given direction rotated 90 degrees CW around the Y axis. */ static eDirection RotateDirectionCW(eDirection a_Direction); - /** Returns the number of CCW rotations that a_RotatingDir requires in order to be the counter-direction of a_FixedDir. - Ie. if you have a connector with a_FixedDir and you're rotating a piece that has a connector with a_RotatingDir, - how many CCW rotations it needs to make the connectors compatible. - Returns -1 if it is impossible to fit the two directions. */ + /** Returns the number of CCW rotations that a_RotatingDir requires in order to be the counter-direction of + a_FixedDir. Ie. if you have a connector with a_FixedDir and you're rotating a piece that has a connector with + a_RotatingDir, how many CCW rotations it needs to make the connectors compatible. Returns -1 if it is impossible + to fit the two directions. */ static int GetNumCCWRotationsToFit(eDirection a_FixedDir, eDirection a_RotatingDir); /** Converts the string representation of a direction into the eDirection enum value. @@ -99,7 +102,7 @@ public: Descendants can override the GetVerticalPlacement() method to provide custom placement decisions. */ class cVerticalStrategy { - public: + public: // Force a virtual destructor in descendants virtual ~cVerticalStrategy() {} @@ -107,15 +110,21 @@ public: virtual int GetVerticalPlacement(int a_BlockX, int a_BlockZ) = 0; /** Initializes the strategy's parameters from the string representation. - a_Params is the string containing only the parameters (substring after the first pipe character in the strategy description string). - If a_LogWarnings is true, logs any problems to the console. - Returns true if successful, false if the string parsing failed. - Used when loading the strategy from a file. */ + a_Params is the string containing only the parameters (substring after the first pipe character in the strategy + description string). If a_LogWarnings is true, logs any problems to the console. Returns true if successful, + false if the string parsing failed. Used when loading the strategy from a file. */ virtual bool InitializeFromString(const AString & a_Params, bool a_LogWarnings) = 0; /** Called when the piece pool is assigned to a generator, so that the strategies may bind to the underlying subgenerators. */ - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) {} + virtual void AssignGens( + int a_Seed, + cBiomeGen & a_BiomeGen, + cTerrainHeightGen & a_TerrainHeightGen, + int a_SeaLevel + ) + { + } }; typedef std::shared_ptr cVerticalStrategyPtr; @@ -125,7 +134,7 @@ public: Each placed piece can have a limit, represented by this class, that gets queried for validity of the placement. */ class cVerticalLimit { - public: + public: virtual ~cVerticalLimit() {} /** Called to inquire whether the specified piece can be placed at the specified height. @@ -134,15 +143,21 @@ public: virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) = 0; /** Initializes the limit's parameters from the string representation. - a_Params is the string containing only the parameters (substring after the first pipe character in the limit description string). - Returns true if successful, false if the string parsing failed. - If a_LogWarnings is true, any error while parsing the string is output to the server console. - Used when loading the limit from a file. */ + a_Params is the string containing only the parameters (substring after the first pipe character in the limit + description string). Returns true if successful, false if the string parsing failed. If a_LogWarnings is true, + any error while parsing the string is output to the server console. Used when loading the limit from a file. */ virtual bool InitializeFromString(const AString & a_Params, bool a_LogWarnings) = 0; /** Called when the piece pool is assigned to a generator, so that the limits may bind to the underlying subgenerators. */ - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) {} + virtual void AssignGens( + int a_Seed, + cBiomeGen & a_BiomeGen, + cTerrainHeightGen & a_TerrainHeightGen, + int a_SeaLevel + ) + { + } }; typedef std::shared_ptr cVerticalLimitPtr; @@ -151,7 +166,7 @@ public: /** Base class (interface) for piece modifiers. */ class cPieceModifier { - public: + public: // Force a virtual destructor in descendants virtual ~cPieceModifier() {} @@ -215,20 +230,11 @@ public: m_VerticalStrategy = std::move(a_VerticalStrategy); } - cVerticalStrategyPtr GetVerticalStrategy(void) const - { - return m_VerticalStrategy; - } + cVerticalStrategyPtr GetVerticalStrategy(void) const { return m_VerticalStrategy; } - cVerticalLimitPtr GetVerticalLimit(void) const - { - return m_VerticalLimit; - } + cVerticalLimitPtr GetVerticalLimit(void) const { return m_VerticalLimit; } - cPieceModifiers GetModifiers(void) const - { - return m_Modifiers; - } + cPieceModifiers GetModifiers(void) const { return m_Modifiers; } /** Sets the vertical strategy based on the description in the string. If a_LogWarnings is true, logs the parsing problems into the server console. @@ -250,10 +256,21 @@ public: Vector3i RotatePos(const Vector3i & a_Pos, int a_NumCCWRotations) const; /** Returns a copy of the connector that is rotated and then moved by the specified amounts. */ - cConnector RotateMoveConnector(const cConnector & a_Connector, int a_NumCCWRotations, int a_MoveX, int a_MoveY, int a_MoveZ) const; - - /** Returns the hitbox after the specified number of rotations and moved so that a_MyConnector is placed at a_ToConnectorPos. */ - cCuboid RotateHitBoxToConnector(const cConnector & a_MyConnector, const Vector3i & a_ToConnectorPos, int a_NumCCWRotations) const; + cConnector RotateMoveConnector( + const cConnector & a_Connector, + int a_NumCCWRotations, + int a_MoveX, + int a_MoveY, + int a_MoveZ + ) const; + + /** Returns the hitbox after the specified number of rotations and moved so that a_MyConnector is placed at + * a_ToConnectorPos. */ + cCuboid RotateHitBoxToConnector( + const cConnector & a_MyConnector, + const Vector3i & a_ToConnectorPos, + int a_NumCCWRotations + ) const; /** Returns the hitbox after the specified number of CCW rotations and moved by the specified amounts. */ cCuboid RotateMoveHitBox(int a_NumCCWRotations, int a_MoveX, int a_MoveY, int a_MoveZ) const; @@ -276,7 +293,7 @@ Provides lists of pieces based on criteria (IsStarting, HasConnector). Provides per-piece weights for random distribution of individual pieces. */ class cPiecePool { -public: + public: // Force a virtual destructor in all descendants: virtual ~cPiecePool() {} @@ -288,10 +305,11 @@ public: Multiple starting points are supported, one of the returned piece will be chosen. */ virtual cPieces GetStartingPieces(void) = 0; - /** Returns the relative weight with which the a_NewPiece is to be selected for placing under a_PlacedPiece through a_ExistingConnector. - a_ExistingConnector is the original connector, before any movement or rotation is applied to it. - This allows the pool to tweak the piece's chances, based on the previous pieces in the tree and the connector used. - The higher the number returned, the higher the chance the piece will be chosen. 0 means the piece will never be chosen. */ + /** Returns the relative weight with which the a_NewPiece is to be selected for placing under a_PlacedPiece through + a_ExistingConnector. a_ExistingConnector is the original connector, before any movement or rotation is applied to + it. This allows the pool to tweak the piece's chances, based on the previous pieces in the tree and the connector + used. The higher the number returned, the higher the chance the piece will be chosen. 0 means the piece will never + be chosen. */ virtual int GetPieceWeight( const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector, @@ -303,12 +321,9 @@ public: /** Returns the relative weight with which the a_NewPiece is to be selected for placing as the first piece. This allows the pool to tweak the piece's chances. - The higher the number returned, the higher the chance the piece will be chosen. 0 means the piece will not be chosen. - If all pieces return 0, a random piece is chosen, with all equal chances. */ - virtual int GetStartingPieceWeight(const cPiece & a_NewPiece) - { - return 1; - } + The higher the number returned, the higher the chance the piece will be chosen. 0 means the piece will not be + chosen. If all pieces return 0, a random piece is chosen, with all equal chances. */ + virtual int GetStartingPieceWeight(const cPiece & a_NewPiece) { return 1; } /** Called after a piece is placed, to notify the pool that it has been used. The pool may adjust the pieces it will return the next time. */ @@ -326,16 +341,21 @@ public: /** Represents a single piece that has been placed to specific coords in the world. */ class cPlacedPiece { -public: - cPlacedPiece(const cPlacedPiece * a_Parent, const cPiece & a_Piece, const Vector3i & a_Coords, int a_NumCCWRotations); - - const cPlacedPiece * GetParent (void) const { return m_Parent; } - const cPiece & GetPiece (void) const { return *m_Piece; } - const Vector3i & GetCoords (void) const { return m_Coords; } - int GetNumCCWRotations (void) const { return m_NumCCWRotations; } - const cCuboid & GetHitBox (void) const { return m_HitBox; } - int GetDepth (void) const { return m_Depth; } - bool HasBeenMovedToGround(void) const { return m_HasBeenMovedToGround; } + public: + cPlacedPiece( + const cPlacedPiece * a_Parent, + const cPiece & a_Piece, + const Vector3i & a_Coords, + int a_NumCCWRotations + ); + + const cPlacedPiece * GetParent(void) const { return m_Parent; } + const cPiece & GetPiece(void) const { return *m_Piece; } + const Vector3i & GetCoords(void) const { return m_Coords; } + int GetNumCCWRotations(void) const { return m_NumCCWRotations; } + const cCuboid & GetHitBox(void) const { return m_HitBox; } + int GetDepth(void) const { return m_Depth; } + bool HasBeenMovedToGround(void) const { return m_HasBeenMovedToGround; } /** Returns the coords as a modifiable object. */ Vector3i & GetCoords(void) { return m_Coords; } @@ -353,13 +373,13 @@ public: Used eg. by village houses. */ void MoveToGroundBy(int a_OffsetY); -protected: + protected: const cPlacedPiece * m_Parent; const cPiece * m_Piece; Vector3i m_Coords; int m_NumCCWRotations; cCuboid m_HitBox; // Hitbox of the placed piece, in world coords - int m_Depth; // Depth in the generated piece tree + int m_Depth; // Depth in the generated piece tree /** Set to true once the piece has been moved Y-wise. Used eg. by village houses. */ diff --git a/src/Generating/PieceStructuresGen.cpp b/src/Generating/PieceStructuresGen.cpp index a0c30a538..1ac655798 100644 --- a/src/Generating/PieceStructuresGen.cpp +++ b/src/Generating/PieceStructuresGen.cpp @@ -13,14 +13,12 @@ -class cPieceStructuresGen::cGen: - public cGridStructGen +class cPieceStructuresGen::cGen : public cGridStructGen { using Super = cGridStructGen; -public: - - cGen(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel, const AString & a_Name): + public: + cGen(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel, const AString & a_Name) : Super(a_Seed), m_BiomeGen(a_BiomeGen), m_HeightGen(a_HeightGen), @@ -43,8 +41,11 @@ public: } if (NoCaseCompare(m_PiecePool.GetIntendedUse(), "PieceStructures") != 0) { - LOGWARNING("PieceStructures generator: File %s is intended for use in \"%s\", rather than piece structures. Loading the file, but the generator may behave unexpectedly.", - a_FileName.c_str(), m_PiecePool.GetIntendedUse().c_str() + LOGWARNING( + "PieceStructures generator: File %s is intended for use in \"%s\", rather than piece structures. " + "Loading the file, but the generator may behave unexpectedly.", + a_FileName.c_str(), + m_PiecePool.GetIntendedUse().c_str() ); } m_PiecePool.AssignGens(m_Seed, m_BiomeGen, m_HeightGen, m_SeaLevel); @@ -65,19 +66,25 @@ public: cPlacedPieces OutPieces; cPieceGeneratorBFSTree PieceTree(m_PiecePool, m_Seed); PieceTree.PlacePieces(a_OriginX, a_OriginZ, m_MaxDepth, OutPieces); - return std::make_shared(a_GridX, a_GridZ, a_OriginX, a_OriginZ, std::move(OutPieces), m_HeightGen); + return std::make_shared( + a_GridX, + a_GridZ, + a_OriginX, + a_OriginZ, + std::move(OutPieces), + m_HeightGen + ); } -protected: - + protected: /** The type used for storing a connection from one piece to another, while building the piece tree. */ struct cConnection { - cPiece * m_Piece; // The piece being connected - cPiece::cConnector m_Connector; // The piece's connector being used (relative non-rotated coords) - int m_NumCCWRotations; // Number of rotations necessary to match the two connectors - int m_Weight; // Relative chance that this connection will be chosen + cPiece * m_Piece; // The piece being connected + cPiece::cConnector m_Connector; // The piece's connector being used (relative non-rotated coords) + int m_NumCCWRotations; // Number of rotations necessary to match the two connectors + int m_Weight; // Relative chance that this connection will be chosen cConnection(cPiece & a_Piece, cPiece::cConnector & a_Connector, int a_NumCCWRotations, int a_Weight); }; @@ -97,7 +104,8 @@ protected: /** The underlying biome generator that defines whether the structure is created or not */ cBiomeGen & m_BiomeGen; - /** The underlying height generator, used to position the prefabs crossing chunk borders if they are set to FitGround. */ + /** The underlying height generator, used to position the prefabs crossing chunk borders if they are set to + * FitGround. */ cTerrainHeightGen & m_HeightGen; /** The world's sea level, if available. Used for some cVerticalStrategy descendants. */ @@ -120,7 +128,7 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cPieceStructuresGen: -cPieceStructuresGen::cPieceStructuresGen(int a_Seed): +cPieceStructuresGen::cPieceStructuresGen(int a_Seed) : m_Seed(a_Seed) { } @@ -129,13 +137,19 @@ cPieceStructuresGen::cPieceStructuresGen(int a_Seed): -bool cPieceStructuresGen::Initialize(const AString & a_Prefabs, int a_SeaLevel, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen) +bool cPieceStructuresGen::Initialize( + const AString & a_Prefabs, + int a_SeaLevel, + cBiomeGen & a_BiomeGen, + cTerrainHeightGen & a_HeightGen +) { // Load each piecepool: auto Structures = StringSplitAndTrim(a_Prefabs, "|"); for (const auto & Structure : Structures) { - auto FileName = fmt::format(FMT_STRING("Prefabs{0}PieceStructures{0}{1}.cubeset"), cFile::PathSeparator(), Structure); + auto FileName = + fmt::format(FMT_STRING("Prefabs{0}PieceStructures{0}{1}.cubeset"), cFile::PathSeparator(), Structure); if (!cFile::IsFile(FileName)) { FileName.append(".gz"); @@ -155,7 +169,10 @@ bool cPieceStructuresGen::Initialize(const AString & a_Prefabs, int a_SeaLevel, // Report a warning if no generators available: if (m_Gens.empty()) { - LOGWARNING("The PieceStructures generator was asked to generate \"%s\", but none of the prefabs are valid.", a_Prefabs); + LOGWARNING( + "The PieceStructures generator was asked to generate \"%s\", but none of the prefabs are valid.", + a_Prefabs + ); return false; } return true; diff --git a/src/Generating/PieceStructuresGen.h b/src/Generating/PieceStructuresGen.h index 224e6b262..be5272045 100644 --- a/src/Generating/PieceStructuresGen.h +++ b/src/Generating/PieceStructuresGen.h @@ -21,13 +21,11 @@ cPieceGenerator instance. -class cPieceStructuresGen: - public cFinishGen +class cPieceStructuresGen : public cFinishGen { using Super = cFinishGen; -public: - + public: cPieceStructuresGen(int a_Seed); /** Initializes the generator based on the specified prefab sets. @@ -39,7 +37,7 @@ public: // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -protected: + protected: /** The generator doing the work for a single prefab set. Forward-declared so that its implementation changes don't affect the header. */ class cGen; diff --git a/src/Generating/Prefab.cpp b/src/Generating/Prefab.cpp index 0a7b2a89b..ed67d3785 100644 --- a/src/Generating/Prefab.cpp +++ b/src/Generating/Prefab.cpp @@ -80,7 +80,13 @@ cPrefab::cPrefab(const cBlockArea & a_Image) : -cPrefab::cPrefab(const AString & a_BlockDefinitions, const AString & a_BlockData, int a_SizeX, int a_SizeY, int a_SizeZ) : +cPrefab::cPrefab( + const AString & a_BlockDefinitions, + const AString & a_BlockData, + int a_SizeX, + int a_SizeY, + int a_SizeZ +) : m_Size(a_SizeX, a_SizeY, a_SizeZ), m_AllowedRotations(0), m_MergeStrategy(cBlockArea::msOverwrite), @@ -149,10 +155,8 @@ void cPrefab::Draw(cChunkDesc & a_Dest, const Vector3i & a_Placement, int a_NumR const cBlockArea & Image = m_BlockArea[a_NumRotations]; // If the placement is outside this chunk, bail out: - if ( - (Placement.x > cChunkDef::Width) || (Placement.x + Image.GetSizeX() < 0) || - (Placement.z > cChunkDef::Width) || (Placement.z + Image.GetSizeZ() < 0) - ) + if ((Placement.x > cChunkDef::Width) || (Placement.x + Image.GetSizeX() < 0) || (Placement.z > cChunkDef::Width) || + (Placement.z + Image.GetSizeZ() < 0)) { return; } @@ -382,7 +386,8 @@ void cPrefab::ParseBlockImage(const CharMap & a_CharMap, const char * a_BlockIma { for (int z = 0; z < m_Size.z; z++) { - const unsigned char * BlockImage = reinterpret_cast(a_BlockImage + y * m_Size.x * m_Size.z + z * m_Size.x); + const unsigned char * BlockImage = + reinterpret_cast(a_BlockImage + y * m_Size.x * m_Size.z + z * m_Size.x); for (int x = 0; x < m_Size.x; x++) { const sBlockTypeDef & MappedValue = a_CharMap[BlockImage[x]]; @@ -432,7 +437,9 @@ void cPrefab::ParseConnectors(const char * a_ConnectorsDef) // Add the connector: m_Connectors.push_back(cPiece::cConnector( - atoi(Coords[0].c_str()), atoi(Coords[1].c_str()), atoi(Coords[2].c_str()), // Connector pos + atoi(Coords[0].c_str()), + atoi(Coords[1].c_str()), + atoi(Coords[2].c_str()), // Connector pos atoi(Defs[0].c_str()), // Connector type Direction )); @@ -524,7 +531,3 @@ bool cPrefab::CanRotateCCW(int a_NumRotations) const // Or the proper bit in m_AllowedRotations is set return (a_NumRotations == 0) || ((m_AllowedRotations & (1 << ((a_NumRotations + 3) % 4))) != 0); } - - - - diff --git a/src/Generating/Prefab.h b/src/Generating/Prefab.h index 6cec8caa0..08b8ab3cf 100644 --- a/src/Generating/Prefab.h +++ b/src/Generating/Prefab.h @@ -28,16 +28,16 @@ class cChunkDesc; -class cPrefab : - public cPiece +class cPrefab : public cPiece { -public: + public: /** How to handle the space between the prefab bottom and the terrain top. */ enum eExtendFloorStrategy { - efsNone, ///< No processing, the prefab is left "floating in the air" + efsNone, ///< No processing, the prefab is left "floating in the air" efsRepeatBottomTillNonAir, ///< Repeat the bottom-most block down until the first non-air block - efsRepeatBottomTillSolid, ///< Repeat the bottom-most block down until the first solid block; non-solids are overwritten + efsRepeatBottomTillSolid, ///< Repeat the bottom-most block down until the first solid block; non-solids are + ///< overwritten }; struct sDef @@ -87,7 +87,8 @@ public: /** The weight to add to this piece's base per-depth chance if the previous piece is the same. Can be positive or negative. - This is used e. g. to make nether bridges prefer spanning multiple segments or to penalize turrets next to each other. */ + This is used e. g. to make nether bridges prefer spanning multiple segments or to penalize turrets next to each + other. */ int m_AddWeightIfSame; /** If true, the piece will be moved Y-wise so that its first connector is sitting on the terrain. @@ -102,7 +103,8 @@ public: /** Creates a prefab based on the given BlockArea and allowed rotations. */ cPrefab(const cBlockArea & a_Image, int a_AllowedRotations); - /** Creates a prefab based on the given BlockArea. Allowed rotations can be added later on using SetAllowedRotations(). */ + /** Creates a prefab based on the given BlockArea. Allowed rotations can be added later on using + * SetAllowedRotations(). */ cPrefab(const cBlockArea & a_Image); /** Creates a prefab based on the specified block data, using the char-to-block map in a_BlockDefinitions. @@ -156,11 +158,11 @@ public: /** Sets the internal hitbox to the specified value. */ void SetHitBox(const cCuboid & a_HitBox) { m_HitBox = a_HitBox; } -protected: + protected: /** Packs complete definition of a single block, for per-letter assignment. */ struct sBlockTypeDef { - BLOCKTYPE m_BlockType; + BLOCKTYPE m_BlockType; NIBBLETYPE m_BlockMeta; }; @@ -206,7 +208,8 @@ protected: /** The weight to add to this piece's base per-depth chance if the previous piece is the same. Can be positive or negative. - This is used e. g. to make nether bridges prefer spanning multiple segments or to penalize turrets next to each other. */ + This is used e. g. to make nether bridges prefer spanning multiple segments or to penalize turrets next to each + other. */ int m_AddWeightIfSame; /** If true, the piece will be moved Y-wise so that its first connector is sitting on the terrain. @@ -224,7 +227,8 @@ protected: To be called only from this class's constructor! */ void AddRotatedBlockAreas(void); - /** Parses the CharMap in the definition into a CharMap binary data used for translating the definition into BlockArea. */ + /** Parses the CharMap in the definition into a CharMap binary data used for translating the definition into + * BlockArea. */ void ParseCharMap(CharMap & a_CharMapOut, const char * a_CharMapDef); /** Parses the Image in the definition into m_BlockArea[0]'s block types and metas, using the specified CharMap. */ @@ -233,7 +237,3 @@ protected: /** Parses the connectors definition text into m_Connectors member. */ void ParseConnectors(const char * a_ConnectorsDef); }; - - - - diff --git a/src/Generating/PrefabPiecePool.cpp b/src/Generating/PrefabPiecePool.cpp index 4293f38aa..7fc2b6c2c 100644 --- a/src/Generating/PrefabPiecePool.cpp +++ b/src/Generating/PrefabPiecePool.cpp @@ -1,7 +1,8 @@ // PrefabPiecePool.cpp -// Implements the cPrefabPiecePool class that represents a cPiecePool descendant that uses cPrefab instances as the pieces +// Implements the cPrefabPiecePool class that represents a cPiecePool descendant that uses cPrefab instances as the +// pieces #include "Globals.h" #include "PrefabPiecePool.h" @@ -18,14 +19,14 @@ static std::map & GetMergeStrategyMap(void) if (msmap.empty()) { // This is the first use, initialize the map: - msmap["msOverwrite"] = cBlockArea::msOverwrite; - msmap["msFillAir"] = cBlockArea::msFillAir; - msmap["msImprint"] = cBlockArea::msImprint; - msmap["msLake"] = cBlockArea::msLake; - msmap["msSpongePrint"] = cBlockArea::msSpongePrint; - msmap["msDifference"] = cBlockArea::msDifference; + msmap["msOverwrite"] = cBlockArea::msOverwrite; + msmap["msFillAir"] = cBlockArea::msFillAir; + msmap["msImprint"] = cBlockArea::msImprint; + msmap["msLake"] = cBlockArea::msLake; + msmap["msSpongePrint"] = cBlockArea::msSpongePrint; + msmap["msDifference"] = cBlockArea::msDifference; msmap["msSimpleCompare"] = cBlockArea::msSimpleCompare; - msmap["msMask"] = cBlockArea::msMask; + msmap["msMask"] = cBlockArea::msMask; } return msmap; } @@ -37,17 +38,17 @@ static std::map & GetMergeStrategyMap(void) //////////////////////////////////////////////////////////////////////////////// // cPrefabPiecePool: -cPrefabPiecePool::cPrefabPiecePool(void) -{ -} +cPrefabPiecePool::cPrefabPiecePool(void) {} cPrefabPiecePool::cPrefabPiecePool( - const cPrefab::sDef * a_PieceDefs, size_t a_NumPieceDefs, - const cPrefab::sDef * a_StartingPieceDefs, size_t a_NumStartingPieceDefs, + const cPrefab::sDef * a_PieceDefs, + size_t a_NumPieceDefs, + const cPrefab::sDef * a_StartingPieceDefs, + size_t a_NumStartingPieceDefs, int a_DefaultStartingPieceHeight ) { @@ -112,7 +113,8 @@ void cPrefabPiecePool::AddStartingPieceDefs( ) { ASSERT(a_StartingPieceDefs != nullptr); - auto verticalStrategy = CreateVerticalStrategyFromString(fmt::format(FMT_STRING("Fixed|{}"), a_DefaultPieceHeight), false); + auto verticalStrategy = + CreateVerticalStrategyFromString(fmt::format(FMT_STRING("Fixed|{}"), a_DefaultPieceHeight), false); for (size_t i = 0; i < a_NumStartingPieceDefs; i++) { cPrefab * Prefab = new cPrefab(a_StartingPieceDefs[i]); @@ -152,19 +154,24 @@ bool cPrefabPiecePool::LoadFromString(const AString & a_Contents, const AString try { const auto Extracted = Compression::Extractor().ExtractGZip( - { - reinterpret_cast(a_Contents.data()), a_Contents.size() - }); + {reinterpret_cast(a_Contents.data()), a_Contents.size()} + ); // Here we do an extra std::string conversion, hardly efficient, but... - // Better would be refactor into LoadFromByteView for the GZip decompression path, and getting cFile to support std::byte. + // Better would be refactor into LoadFromByteView for the GZip decompression path, and getting cFile to + // support std::byte. // ...so it'll do for now. return LoadFromString(std::string(Extracted.GetStringView()), a_FileName, a_LogWarnings); } catch (const std::exception & Oops) { - CONDWARNING(a_LogWarnings, "Failed to decompress Gzip data in file %s. %s", a_FileName.c_str(), Oops.what()); + CONDWARNING( + a_LogWarnings, + "Failed to decompress Gzip data in file %s. %s", + a_FileName.c_str(), + Oops.what() + ); return false; } } @@ -251,7 +258,7 @@ bool cPrefabPiecePool::LoadFromCubesetVer1(const AString & a_FileName, cLuaState while (true) { lua_pushinteger(a_LuaState, idx); // stk: [Pieces] [idx] - lua_gettable(a_LuaState, -2); // stk: [Pieces] [PieceItem] + lua_gettable(a_LuaState, -2); // stk: [Pieces] [PieceItem] if (!lua_istable(a_LuaState, -1)) { // The PieceItem is not present, we've iterated over all items @@ -272,7 +279,12 @@ bool cPrefabPiecePool::LoadFromCubesetVer1(const AString & a_FileName, cLuaState -bool cPrefabPiecePool::LoadCubesetPieceVer1(const AString & a_FileName, cLuaState & a_LuaState, int a_PieceIndex, bool a_LogWarnings) +bool cPrefabPiecePool::LoadCubesetPieceVer1( + const AString & a_FileName, + cLuaState & a_LuaState, + int a_PieceIndex, + bool a_LogWarnings +) { ASSERT(lua_istable(a_LuaState, -1)); @@ -285,16 +297,18 @@ bool cPrefabPiecePool::LoadCubesetPieceVer1(const AString & a_FileName, cLuaStat // Read the hitbox dimensions: cCuboid Hitbox; - if ( - !a_LuaState.GetNamedValue("Hitbox.MinX", Hitbox.p1.x) || + if (!a_LuaState.GetNamedValue("Hitbox.MinX", Hitbox.p1.x) || !a_LuaState.GetNamedValue("Hitbox.MinY", Hitbox.p1.y) || !a_LuaState.GetNamedValue("Hitbox.MinZ", Hitbox.p1.z) || !a_LuaState.GetNamedValue("Hitbox.MaxX", Hitbox.p2.x) || - !a_LuaState.GetNamedValue("Hitbox.MaxY", Hitbox.p2.y) || - !a_LuaState.GetNamedValue("Hitbox.MaxZ", Hitbox.p2.z) - ) + !a_LuaState.GetNamedValue("Hitbox.MaxY", Hitbox.p2.y) || !a_LuaState.GetNamedValue("Hitbox.MaxZ", Hitbox.p2.z)) { - CONDWARNING(a_LogWarnings, "Cannot load piece %s from file %s, it's missing hitbox information", PieceName, a_FileName); + CONDWARNING( + a_LogWarnings, + "Cannot load piece %s from file %s, it's missing hitbox information", + PieceName, + a_FileName + ); return false; } @@ -330,8 +344,11 @@ bool cPrefabPiecePool::LoadCubesetPieceVer1(const AString & a_FileName, cLuaStat { if (prefab->GetVerticalStrategy() == nullptr) { - CONDWARNING(a_LogWarnings, "Starting prefab %s in file %s doesn't have its VerticalStrategy set. Setting to Fixed|150.", - PieceName, a_FileName + CONDWARNING( + a_LogWarnings, + "Starting prefab %s in file %s doesn't have its VerticalStrategy set. Setting to Fixed|150.", + PieceName, + a_FileName ); VERIFY(prefab->SetVerticalStrategyFromString("Fixed|150", false)); } @@ -379,8 +396,13 @@ std::unique_ptr cPrefabPiecePool::LoadPrefabFromCubesetVer1( } catch (const std::exception & Oops) { - CONDWARNING(a_LogWarnings, "Cannot load schematic file \"%s\" for piece %s in cubeset %s. %s", - SchematicFileName.c_str(), a_PieceName.c_str(), a_FileName.c_str(), Oops.what() + CONDWARNING( + a_LogWarnings, + "Cannot load schematic file \"%s\" for piece %s in cubeset %s. %s", + SchematicFileName.c_str(), + a_PieceName.c_str(), + a_FileName.c_str(), + Oops.what() ); return nullptr; } @@ -390,13 +412,16 @@ std::unique_ptr cPrefabPiecePool::LoadPrefabFromCubesetVer1( // There's no referenced schematic file, load from BlockDefinitions / BlockData. // Get references to the data and the table.concat function: cLuaState::cRef TableConcat, BlockDefinitions, BlockData; - if ( - !a_LuaState.GetNamedGlobal("table.concat", TableConcat) || + if (!a_LuaState.GetNamedGlobal("table.concat", TableConcat) || !a_LuaState.GetNamedValue("BlockDefinitions", BlockDefinitions) || - !a_LuaState.GetNamedValue("BlockData", BlockData) - ) + !a_LuaState.GetNamedValue("BlockData", BlockData)) { - CONDWARNING(a_LogWarnings, "Cannot parse block data for piece %s in cubeset %s", a_PieceName.c_str(), a_FileName.c_str()); + CONDWARNING( + a_LogWarnings, + "Cannot parse block data for piece %s in cubeset %s", + a_PieceName.c_str(), + a_FileName.c_str() + ); return nullptr; } @@ -404,7 +429,12 @@ std::unique_ptr cPrefabPiecePool::LoadPrefabFromCubesetVer1( AString BlockDefStr; if (!a_LuaState.Call(TableConcat, BlockDefinitions, "\n", cLuaState::Return, BlockDefStr)) { - CONDWARNING(a_LogWarnings, "Cannot concat block definitions for piece %s in cubeset %s", a_PieceName.c_str(), a_FileName.c_str()); + CONDWARNING( + a_LogWarnings, + "Cannot concat block definitions for piece %s in cubeset %s", + a_PieceName.c_str(), + a_FileName.c_str() + ); return nullptr; } @@ -412,28 +442,39 @@ std::unique_ptr cPrefabPiecePool::LoadPrefabFromCubesetVer1( AString BlockDataStr; if (!a_LuaState.Call(TableConcat, BlockData, "", cLuaState::Return, BlockDataStr)) { - CONDWARNING(a_LogWarnings, "Cannot concat block data for piece %s in cubeset %s", a_PieceName.c_str(), a_FileName.c_str()); + CONDWARNING( + a_LogWarnings, + "Cannot concat block data for piece %s in cubeset %s", + a_PieceName.c_str(), + a_FileName.c_str() + ); return nullptr; } // Read the size: int SizeX = 0, SizeY = 0, SizeZ = 0; - if ( - !a_LuaState.GetNamedValue("Size.x", SizeX) || - !a_LuaState.GetNamedValue("Size.y", SizeY) || - !a_LuaState.GetNamedValue("Size.z", SizeZ) - ) - { - CONDWARNING(a_LogWarnings, "Cannot load piece %s from file %s, its size information is missing", a_PieceName.c_str(), a_FileName.c_str()); + if (!a_LuaState.GetNamedValue("Size.x", SizeX) || !a_LuaState.GetNamedValue("Size.y", SizeY) || + !a_LuaState.GetNamedValue("Size.z", SizeZ)) + { + CONDWARNING( + a_LogWarnings, + "Cannot load piece %s from file %s, its size information is missing", + a_PieceName.c_str(), + a_FileName.c_str() + ); return nullptr; } // Check that the size matches the data length: if (static_cast(SizeX * SizeY * SizeZ) != BlockDataStr.size()) { - CONDWARNING(a_LogWarnings, "Cannot create piece %s from file %s, its size (%d) doesn't match the blockdata length (%u)", - a_PieceName.c_str(), a_FileName.c_str(), - SizeX * SizeY * SizeZ, static_cast(BlockDataStr.size()) + CONDWARNING( + a_LogWarnings, + "Cannot create piece %s from file %s, its size (%d) doesn't match the blockdata length (%u)", + a_PieceName.c_str(), + a_FileName.c_str(), + SizeX * SizeY * SizeZ, + static_cast(BlockDataStr.size()) ); return nullptr; } @@ -457,7 +498,12 @@ bool cPrefabPiecePool::ReadConnectorsCubesetVer1( auto conns = a_LuaState.WalkToValue("Connectors"); if (!conns.IsValid()) { - CONDWARNING(a_LogWarnings, "Cannot load piece %s from file %s, it has no connectors definition.", a_PieceName.c_str(), a_FileName.c_str()); + CONDWARNING( + a_LogWarnings, + "Cannot load piece %s from file %s, it has no connectors definition.", + a_PieceName.c_str(), + a_FileName.c_str() + ); return false; } @@ -467,7 +513,7 @@ bool cPrefabPiecePool::ReadConnectorsCubesetVer1( while (true) { lua_pushinteger(a_LuaState, idx); // stk: [Connectors] [idx] - lua_gettable(a_LuaState, -2); // stk: [Connectors] [conn] + lua_gettable(a_LuaState, -2); // stk: [Connectors] [conn] if (!lua_istable(a_LuaState, -1)) { // The connector is not present, we've iterated over all items @@ -477,19 +523,22 @@ bool cPrefabPiecePool::ReadConnectorsCubesetVer1( int Type = 0, RelX = 0, RelY = 0, RelZ = 0; AString DirectionStr; cPiece::cConnector::eDirection Direction = cPiece::cConnector::dirYM; - if ( - !a_LuaState.GetNamedValue("Type", Type) || - !a_LuaState.GetNamedValue("RelX", RelX) || - !a_LuaState.GetNamedValue("RelY", RelY) || - !a_LuaState.GetNamedValue("RelZ", RelZ) || + if (!a_LuaState.GetNamedValue("Type", Type) || !a_LuaState.GetNamedValue("RelX", RelX) || + !a_LuaState.GetNamedValue("RelY", RelY) || !a_LuaState.GetNamedValue("RelZ", RelZ) || !a_LuaState.GetNamedValue("Direction", DirectionStr) || - !cPiece::cConnector::StringToDirection(DirectionStr, Direction) - ) + !cPiece::cConnector::StringToDirection(DirectionStr, Direction)) { if (a_LogWarnings) { - FLOGWARNING("Piece {0} in file {1} has a malformed Connector at index {2} ({3}, type {4}, direction {5}). Skipping the connector.", - a_PieceName, a_FileName, idx, Vector3i{RelX, RelY, RelZ}, Type, DirectionStr + FLOGWARNING( + "Piece {0} in file {1} has a malformed Connector at index {2} ({3}, type {4}, direction {5}). " + "Skipping the connector.", + a_PieceName, + a_FileName, + idx, + Vector3i {RelX, RelY, RelZ}, + Type, + DirectionStr ); } res = false; @@ -526,12 +575,12 @@ bool cPrefabPiecePool::ReadPieceMetadataCubesetVer1( // Get the values: int AddWeightIfSame = 0, DefaultWeight = 100, MoveToGround = 0; AString DepthWeight, MergeStrategy, VerticalLimit, VerticalStrategy; - a_LuaState.GetNamedValue("AddWeightIfSame", AddWeightIfSame); - a_LuaState.GetNamedValue("DefaultWeight", DefaultWeight); - a_LuaState.GetNamedValue("DepthWeight", DepthWeight); - a_LuaState.GetNamedValue("MergeStrategy", MergeStrategy); - a_LuaState.GetNamedValue("MoveToGround", MoveToGround); - a_LuaState.GetNamedValue("VerticalLimit", VerticalLimit); + a_LuaState.GetNamedValue("AddWeightIfSame", AddWeightIfSame); + a_LuaState.GetNamedValue("DefaultWeight", DefaultWeight); + a_LuaState.GetNamedValue("DepthWeight", DepthWeight); + a_LuaState.GetNamedValue("MergeStrategy", MergeStrategy); + a_LuaState.GetNamedValue("MoveToGround", MoveToGround); + a_LuaState.GetNamedValue("VerticalLimit", VerticalLimit); a_LuaState.GetNamedValue("VerticalStrategy", VerticalStrategy); // Apply the values: @@ -542,8 +591,12 @@ bool cPrefabPiecePool::ReadPieceMetadataCubesetVer1( auto strategy = msmap.find(MergeStrategy); if (strategy == msmap.end()) { - CONDWARNING(a_LogWarnings, "Unknown merge strategy (\"%s\") specified for piece %s in file %s. Using msSpongePrint instead.", - MergeStrategy.c_str(), a_PieceName.c_str(), a_FileName.c_str() + CONDWARNING( + a_LogWarnings, + "Unknown merge strategy (\"%s\") specified for piece %s in file %s. Using msSpongePrint instead.", + MergeStrategy.c_str(), + a_PieceName.c_str(), + a_FileName.c_str() ); a_Prefab->SetMergeStrategy(cBlockArea::msSpongePrint); } @@ -560,10 +613,13 @@ bool cPrefabPiecePool::ReadPieceMetadataCubesetVer1( int ShouldExpandFloor; if (a_LuaState.GetNamedValue("ShouldExpandFloor", ShouldExpandFloor)) { - LOG("Piece \"%s\" in file \"%s\" is using the old \"ShouldExpandFloor\" attribute. Use the new \"ExpandFloorStrategy\" attribute instead for more options.", - a_PieceName.c_str(), a_FileName.c_str() + LOG("Piece \"%s\" in file \"%s\" is using the old \"ShouldExpandFloor\" attribute. Use the new " + "\"ExpandFloorStrategy\" attribute instead for more options.", + a_PieceName.c_str(), + a_FileName.c_str()); + a_Prefab->SetExtendFloorStrategy( + (ShouldExpandFloor != 0) ? cPrefab::efsRepeatBottomTillNonAir : cPrefab::efsNone ); - a_Prefab->SetExtendFloorStrategy((ShouldExpandFloor != 0) ? cPrefab::efsRepeatBottomTillNonAir : cPrefab::efsNone); } } else @@ -581,8 +637,11 @@ bool cPrefabPiecePool::ReadPieceMetadataCubesetVer1( { if (lcExpandFloorStrategyStr != "none") { - LOGWARNING("Piece \"%s\" in file \"%s\" is using an unknown \"ExpandFloorStrategy\" attribute value: \"%s\"", - a_PieceName.c_str(), a_FileName.c_str(), ExpandFloorStrategyStr.c_str() + LOGWARNING( + "Piece \"%s\" in file \"%s\" is using an unknown \"ExpandFloorStrategy\" attribute value: \"%s\"", + a_PieceName.c_str(), + a_FileName.c_str(), + ExpandFloorStrategyStr.c_str() ); } a_Prefab->SetExtendFloorStrategy(cPrefab::efsNone); @@ -592,8 +651,12 @@ bool cPrefabPiecePool::ReadPieceMetadataCubesetVer1( { if (!a_Prefab->SetVerticalLimitFromString(VerticalLimit, a_LogWarnings)) { - CONDWARNING(a_LogWarnings, "Unknown VerticalLimit (\"%s\") specified for piece %s in file %s. Using no limit instead.", - VerticalLimit.c_str(), a_PieceName.c_str(), a_FileName.c_str() + CONDWARNING( + a_LogWarnings, + "Unknown VerticalLimit (\"%s\") specified for piece %s in file %s. Using no limit instead.", + VerticalLimit.c_str(), + a_PieceName.c_str(), + a_FileName.c_str() ); } } @@ -612,10 +675,7 @@ bool cPrefabPiecePool::ReadPieceMetadataCubesetVer1( -void cPrefabPiecePool::ApplyBaseMetadataCubesetVer1( - const AString & a_FileName, - bool a_LogWarnings -) +void cPrefabPiecePool::ApplyBaseMetadataCubesetVer1(const AString & a_FileName, bool a_LogWarnings) { // Set the metadata values to defaults: m_MinDensity = 100; @@ -627,10 +687,10 @@ void cPrefabPiecePool::ApplyBaseMetadataCubesetVer1( // Read the metadata values: m_IntendedUse = GetMetadata("IntendedUse"); - GetStringMapInteger(m_Metadata, "MaxDensity", m_MaxDensity); - GetStringMapInteger(m_Metadata, "MinDensity", m_MinDensity); - GetStringMapInteger(m_Metadata, "VillageRoadBlockType", m_VillageRoadBlockType); - GetStringMapInteger(m_Metadata, "VillageRoadBlockMeta", m_VillageRoadBlockMeta); + GetStringMapInteger(m_Metadata, "MaxDensity", m_MaxDensity); + GetStringMapInteger(m_Metadata, "MinDensity", m_MinDensity); + GetStringMapInteger(m_Metadata, "VillageRoadBlockType", m_VillageRoadBlockType); + GetStringMapInteger(m_Metadata, "VillageRoadBlockMeta", m_VillageRoadBlockMeta); GetStringMapInteger(m_Metadata, "VillageWaterRoadBlockType", m_VillageWaterRoadBlockType); GetStringMapInteger(m_Metadata, "VillageWaterRoadBlockMeta", m_VillageWaterRoadBlockMeta); @@ -651,13 +711,16 @@ void cPrefabPiecePool::ApplyBaseMetadataCubesetVer1( else { auto biomes = StringSplitAndTrim(allowedBiomes, ","); - for (const auto & biome: biomes) + for (const auto & biome : biomes) { EMCSBiome b = StringToBiome(biome); if (b == biInvalidBiome) { - CONDWARNING(a_LogWarnings, "Invalid biome (\"%s\") specified in AllowedBiomes in cubeset file %s. Skipping the biome.", - biome.c_str(), a_FileName.c_str() + CONDWARNING( + a_LogWarnings, + "Invalid biome (\"%s\") specified in AllowedBiomes in cubeset file %s. Skipping the biome.", + biome.c_str(), + a_FileName.c_str() ); continue; } @@ -717,7 +780,7 @@ AString cPrefabPiecePool::GetMetadata(const AString & a_ParamName) const void cPrefabPiecePool::AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel) { // Assign the generator linkage to all starting pieces' VerticalStrategies: - for (auto & piece: m_StartingPieces) + for (auto & piece : m_StartingPieces) { auto verticalStrategy = piece->GetVerticalStrategy(); if (verticalStrategy != nullptr) @@ -727,7 +790,7 @@ void cPrefabPiecePool::AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHe } // for piece - m_StartingPieces[] // Assign the generator linkage to all pieces' VerticalLimits: - for (auto & piece: m_AllPieces) + for (auto & piece : m_AllPieces) { auto verticalLimit = piece->GetVerticalLimit(); if (verticalLimit != nullptr) @@ -774,7 +837,11 @@ cPieces cPrefabPiecePool::GetStartingPieces(void) -int cPrefabPiecePool::GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector, const cPiece & a_NewPiece) +int cPrefabPiecePool::GetPieceWeight( + const cPlacedPiece & a_PlacedPiece, + const cPiece::cConnector & a_ExistingConnector, + const cPiece & a_NewPiece +) { return (static_cast(a_NewPiece)).GetPieceWeight(a_PlacedPiece, a_ExistingConnector); } diff --git a/src/Generating/PrefabPiecePool.h b/src/Generating/PrefabPiecePool.h index 708b9be57..7e6e33fc8 100644 --- a/src/Generating/PrefabPiecePool.h +++ b/src/Generating/PrefabPiecePool.h @@ -23,10 +23,9 @@ class cLuaState; -class cPrefabPiecePool : - public cPiecePool +class cPrefabPiecePool : public cPiecePool { -public: + public: /** Creates an empty instance. Prefabs can be added by calling AddPieceDefs() and AddStartingPieceDefs(). */ cPrefabPiecePool(void); @@ -39,8 +38,10 @@ public: If a_DefaultStartingPieceHeight is non-negative, it is applied to each starting piece as its fixed height (for the GetStartingPieceHeight() call). */ cPrefabPiecePool( - const cPrefab::sDef * a_PieceDefs, size_t a_NumPieceDefs, - const cPrefab::sDef * a_StartingPieceDefs, size_t a_NumStartingPieceDefs, + const cPrefab::sDef * a_PieceDefs, + size_t a_NumPieceDefs, + const cPrefab::sDef * a_StartingPieceDefs, + size_t a_NumStartingPieceDefs, int a_DefaultStartingPieceHeight = -1 ); @@ -92,9 +93,9 @@ public: const AString & GetIntendedUse(void) const { return m_IntendedUse; } int GetMinDensity(void) const { return m_MinDensity; } int GetMaxDensity(void) const { return m_MaxDensity; } - BLOCKTYPE GetVillageRoadBlockType (void) const { return m_VillageRoadBlockType; } - NIBBLETYPE GetVillageRoadBlockMeta (void) const { return m_VillageRoadBlockMeta; } - BLOCKTYPE GetVillageWaterRoadBlockType(void) const { return m_VillageWaterRoadBlockType; } + BLOCKTYPE GetVillageRoadBlockType(void) const { return m_VillageRoadBlockType; } + NIBBLETYPE GetVillageRoadBlockMeta(void) const { return m_VillageRoadBlockMeta; } + BLOCKTYPE GetVillageWaterRoadBlockType(void) const { return m_VillageWaterRoadBlockType; } NIBBLETYPE GetVillageWaterRoadBlockMeta(void) const { return m_VillageWaterRoadBlockMeta; } /** Returns true if a_Biome is among the accepted biomes in the m_AcceptedBiomes metadata member. */ @@ -113,13 +114,16 @@ public: // cPiecePool overrides: virtual cPieces GetPiecesWithConnector(int a_ConnectorType) override; virtual cPieces GetStartingPieces(void) override; - virtual int GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector, const cPiece & a_NewPiece) override; + virtual int GetPieceWeight( + const cPlacedPiece & a_PlacedPiece, + const cPiece::cConnector & a_ExistingConnector, + const cPiece & a_NewPiece + ) override; virtual int GetStartingPieceWeight(const cPiece & a_NewPiece) override; virtual void PiecePlaced(const cPiece & a_Piece) override; virtual void Reset(void) override; -protected: - + protected: /** The type used to map a connector type to the list of pieces with that connector */ typedef std::map cPiecesMap; @@ -197,9 +201,9 @@ protected: Returns true on success, false on failure. The connectors are added into the a_Prefab object. No Connectors table is considered a failure, empty Connectors table is considered a success. - If any of the connectors are malformed, it is considered a failure, although the rest of the connectors will still load. - a_PieceName is the identification of the piece, used for logging only. - If a_LogWarnings is true, logs a warning to console when loading fails. */ + If any of the connectors are malformed, it is considered a failure, although the rest of the connectors will still + load. a_PieceName is the identification of the piece, used for logging only. If a_LogWarnings is true, logs a + warning to console when loading fails. */ bool ReadConnectorsCubesetVer1( const AString & a_FileName, cLuaState & a_LuaState, @@ -225,20 +229,9 @@ protected: /** Reads the metadata for the entire pool from the cubeset file, stores it in the m_Metadata map. Returns true on success, false on failure. If a_LogWarnings is true, logs a warning to console when loading fails. */ - bool ReadPoolMetadataCubesetVer1( - const AString & a_FileName, - cLuaState & a_LuaState, - bool a_LogWarnings - ); + bool ReadPoolMetadataCubesetVer1(const AString & a_FileName, cLuaState & a_LuaState, bool a_LogWarnings); /** Applies the base known metadata from the m_Metadata map into this pool. If a_LogWarnings is true, logs a warning to console when loading fails. */ - void ApplyBaseMetadataCubesetVer1( - const AString & a_FileName, - bool a_LogWarnings - ); -} ; - - - - + void ApplyBaseMetadataCubesetVer1(const AString & a_FileName, bool a_LogWarnings); +}; diff --git a/src/Generating/PrefabStructure.cpp b/src/Generating/PrefabStructure.cpp index 9814610b4..c83f768d4 100644 --- a/src/Generating/PrefabStructure.cpp +++ b/src/Generating/PrefabStructure.cpp @@ -1,7 +1,8 @@ // PrefabStructure.cpp -// Implements the cPrefabStructure class representing a cGridStructGen::cStructure descendant based on placed cPrefab instances +// Implements the cPrefabStructure class representing a cGridStructGen::cStructure descendant based on placed cPrefab +// instances #include "Globals.h" #include "PrefabStructure.h" @@ -12,14 +13,14 @@ cPrefabStructure::cPrefabStructure( - int a_GridX, int a_GridZ, - int a_OriginX, int a_OriginZ, + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ, cPlacedPieces && a_Pieces, cTerrainHeightGen & a_HeightGen -): - Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ), - m_Pieces(std::move(a_Pieces)), - m_HeightGen(a_HeightGen) +) : + Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ), m_Pieces(std::move(a_Pieces)), m_HeightGen(a_HeightGen) { } diff --git a/src/Generating/PrefabStructure.h b/src/Generating/PrefabStructure.h index 8b489d866..1b781c4e1 100644 --- a/src/Generating/PrefabStructure.h +++ b/src/Generating/PrefabStructure.h @@ -1,7 +1,8 @@ // PrefabStructure.h -// Declares the cPrefabStructure class representing a cGridStructGen::cStructure descendant based on placed cPrefab instances +// Declares the cPrefabStructure class representing a cGridStructGen::cStructure descendant based on placed cPrefab +// instances @@ -16,21 +17,21 @@ -class cPrefabStructure: - public cGridStructGen::cStructure +class cPrefabStructure : public cGridStructGen::cStructure { using Super = cGridStructGen::cStructure; -public: - + public: cPrefabStructure( - int a_GridX, int a_GridZ, - int a_OriginX, int a_OriginZ, + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ, cPlacedPieces && a_Pieces, cTerrainHeightGen & a_HeightGen ); -protected: + protected: /** The pieces placed by the generator. */ cPlacedPieces m_Pieces; diff --git a/src/Generating/ProtIntGen.h b/src/Generating/ProtIntGen.h index 290998075..1ab1b8096 100644 --- a/src/Generating/ProtIntGen.h +++ b/src/Generating/ProtIntGen.h @@ -33,7 +33,7 @@ This value is used only if there isn't an override in place. To adjust the actual buffer size, just do a "#define PROT_INT_BUFFER_SIZE 9000" before including this header. Note, however, that you should use a consistent value throughout a single project. */ #ifndef PROT_INT_BUFFER_SIZE - #define PROT_INT_BUFFER_SIZE 900 +#define PROT_INT_BUFFER_SIZE 900 #endif @@ -43,13 +43,12 @@ Note, however, that you should use a consistent value throughout a single projec /** Interface that all the generator classes provide. */ class cProtIntGen { -protected: + protected: /** Maximum size of the generated area. Adjust the constant if you need larger areas, these are just so that we can use fixed-size buffers. */ static const int m_BufferSize = PROT_INT_BUFFER_SIZE; -public: - + public: /** Type of the generic interface used for storing links to the underlying generators. */ using Underlying = std::shared_ptr; @@ -59,7 +58,7 @@ public: virtual ~cProtIntGen() {} /** Generates the array of specified size into a_Values, based on given min coords. */ - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) = 0; + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) = 0; }; @@ -67,19 +66,17 @@ public: /** Provides additional cNoise member and its helper functions. */ -class cProtIntGenWithNoise: - public cProtIntGen +class cProtIntGenWithNoise : public cProtIntGen { using Super = cProtIntGen; -public: - - cProtIntGenWithNoise(int a_Seed): + public: + cProtIntGenWithNoise(int a_Seed) : m_Noise(a_Seed) { } -protected: + protected: cNoise m_Noise; /** Chooses one of a_Val1 or a_Val2, based on m_Noise and the coordinates for querying the noise. */ @@ -108,33 +105,31 @@ protected: /** Generates a 2D array of random integers in the specified range [0 .. Range). */ -class cProtIntGenChoice: - public cProtIntGenWithNoise +class cProtIntGenChoice : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenChoice(int a_Seed, int a_Range): - Super(a_Seed), - m_Range(a_Range) + public: + cProtIntGenChoice(int a_Seed, int a_Range) : + Super(a_Seed), m_Range(a_Range) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { for (size_t z = 0; z < a_SizeZ; z++) { int BaseZ = a_MinZ + static_cast(z); for (size_t x = 0; x < a_SizeX; x++) { - a_Values[x + a_SizeX * z] = (Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), BaseZ) / 7) % m_Range; + a_Values[x + a_SizeX * z] = + (Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), BaseZ) / 7) % m_Range; } } // for z } -protected: + protected: int m_Range; }; @@ -145,21 +140,18 @@ protected: /** Decides between the ocean and landmass biomes. Has a threshold (in percent) of how much land, the larger the threshold, the more land. Generates 0 for ocean, biome group ID for landmass. */ -class cProtIntGenLandOcean: - public cProtIntGenWithNoise +class cProtIntGenLandOcean : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenLandOcean(int a_Seed, int a_Threshold): - Super(a_Seed), - m_Threshold(a_Threshold) + public: + cProtIntGenLandOcean(int a_Seed, int a_Threshold) : + Super(a_Seed), m_Threshold(a_Threshold) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { for (size_t z = 0; z < a_SizeZ; z++) { @@ -172,13 +164,14 @@ public: } // If the centerpoint of the world is within the area, set it to bgTemperate, always: - if ((a_MinX <= 0) && (a_MinZ <= 0) && (a_MinX + static_cast(a_SizeX) > 0) && (a_MinZ + static_cast(a_SizeZ) > 0)) + if ((a_MinX <= 0) && (a_MinZ <= 0) && (a_MinX + static_cast(a_SizeX) > 0) && + (a_MinZ + static_cast(a_SizeZ) > 0)) { a_Values[static_cast(-a_MinX) - static_cast(a_MinZ) * a_SizeX] = bgTemperate; } } -protected: + protected: int m_Threshold; }; @@ -189,21 +182,18 @@ protected: /** Zooms the underlying value array to twice the size. Uses random-neighbor for the pixels in-between. This means that the zoome out image is randomly distorted. Applying zoom several times provides all the distortion that the generators need. */ -class cProtIntGenZoom: - public cProtIntGenWithNoise +class cProtIntGenZoom : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenZoom(int a_Seed, Underlying a_UnderlyingGen): - Super(a_Seed), - m_UnderlyingGen(std::move(a_UnderlyingGen)) + public: + cProtIntGenZoom(int a_Seed, Underlying a_UnderlyingGen) : + Super(a_Seed), m_UnderlyingGen(std::move(a_UnderlyingGen)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Get the coords for the lower generator: int lowerMinX = a_MinX >> 1; @@ -235,7 +225,7 @@ public: int RndZ = (static_cast(z) + lowerMinZ) * 2; cache[idx] = PrevZ0; cache[idx + lowStepX] = Super::chooseRandomOne(RndX, RndZ + 1, PrevZ0, PrevZ1); - cache[idx + 1] = Super::chooseRandomOne(RndX, RndZ - 1, PrevZ0, ValX1Z0); + cache[idx + 1] = Super::chooseRandomOne(RndX, RndZ - 1, PrevZ0, ValX1Z0); cache[idx + 1 + lowStepX] = Super::chooseRandomOne(RndX, RndZ, PrevZ0, ValX1Z0, PrevZ1, ValX1Z1); idx += 2; PrevZ0 = ValX1Z0; @@ -250,7 +240,7 @@ public: } } -protected: + protected: Underlying m_UnderlyingGen; }; @@ -260,21 +250,18 @@ protected: /** Smoothes out some artifacts generated by the zooming - mostly single-pixel values. Compares each pixel to its neighbors and if the neighbors are equal, changes the pixel to their value. */ -class cProtIntGenSmooth: - public cProtIntGenWithNoise +class cProtIntGenSmooth : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenSmooth(int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenSmooth(int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: size_t lowerSizeX = a_SizeX + 2; @@ -290,10 +277,10 @@ public: int NoiseZ = a_MinZ + static_cast(z); for (size_t x = 0; x < a_SizeX; x++) { - int val = lowerData[x + 1 + (z + 1) * lowerSizeX]; - int above = lowerData[x + 1 + z * lowerSizeX]; + int val = lowerData[x + 1 + (z + 1) * lowerSizeX]; + int above = lowerData[x + 1 + z * lowerSizeX]; int below = lowerData[x + 1 + (z + 2) * lowerSizeX]; - int left = lowerData[x + (z + 1) * lowerSizeX]; + int left = lowerData[x + (z + 1) * lowerSizeX]; int right = lowerData[x + 2 + (z + 1) * lowerSizeX]; if ((left == right) && (above == below)) @@ -325,7 +312,7 @@ public: } } -protected: + protected: Underlying m_Underlying; }; @@ -334,20 +321,18 @@ protected: /** Averages the values of the underlying 2 * 2 neighbors. */ -class cProtIntGenAvgValues: - public cProtIntGen +class cProtIntGenAvgValues : public cProtIntGen { using Super = cProtIntGen; -public: - - cProtIntGenAvgValues(Underlying a_Underlying): + public: + cProtIntGenAvgValues(Underlying a_Underlying) : m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: size_t lowerSizeX = a_SizeX + 1; @@ -362,15 +347,14 @@ public: for (size_t x = 0; x < a_SizeX; x++) { size_t idxLower = x + lowerSizeX * z; - a_Values[x + a_SizeX * z] = ( - lowerData[idxLower] + lowerData[idxLower + 1] + - lowerData[idxLower + lowerSizeX] + lowerData[idxLower + lowerSizeX + 1] - ) / 4; + a_Values[x + a_SizeX * z] = (lowerData[idxLower] + lowerData[idxLower + 1] + + lowerData[idxLower + lowerSizeX] + lowerData[idxLower + lowerSizeX + 1]) / + 4; } } } -protected: + protected: Underlying m_Underlying; }; @@ -379,20 +363,18 @@ protected: /** Averages the values of the underlying 4 * 4 neighbors. */ -class cProtIntGenAvg4Values: - public cProtIntGen +class cProtIntGenAvg4Values : public cProtIntGen { using Super = cProtIntGen; -public: - - cProtIntGenAvg4Values(Underlying a_Underlying): + public: + cProtIntGenAvg4Values(Underlying a_Underlying) : m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: size_t lowerSizeX = a_SizeX + 4; @@ -410,17 +392,19 @@ public: size_t idxLower2 = idxLower1 + lowerSizeX; size_t idxLower3 = idxLower1 + 2 * lowerSizeX; size_t idxLower4 = idxLower1 + 3 * lowerSizeX; - a_Values[x + a_SizeX * z] = ( - 1 * lowerData[idxLower1] + 2 * lowerData[idxLower1 + 1] + 2 * lowerData[idxLower1 + 2] + 1 * lowerData[idxLower1 + 3] + - 2 * lowerData[idxLower2] + 32 * lowerData[idxLower2 + 1] + 32 * lowerData[idxLower2 + 2] + 2 * lowerData[idxLower2 + 3] + - 2 * lowerData[idxLower3] + 32 * lowerData[idxLower3 + 1] + 32 * lowerData[idxLower3 + 2] + 2 * lowerData[idxLower3 + 3] + - 1 * lowerData[idxLower4] + 2 * lowerData[idxLower4 + 1] + 2 * lowerData[idxLower4 + 2] + 1 * lowerData[idxLower4 + 3] - ) / 148; + a_Values[x + a_SizeX * z] = + (1 * lowerData[idxLower1] + 2 * lowerData[idxLower1 + 1] + 2 * lowerData[idxLower1 + 2] + + 1 * lowerData[idxLower1 + 3] + 2 * lowerData[idxLower2] + 32 * lowerData[idxLower2 + 1] + + 32 * lowerData[idxLower2 + 2] + 2 * lowerData[idxLower2 + 3] + 2 * lowerData[idxLower3] + + 32 * lowerData[idxLower3 + 1] + 32 * lowerData[idxLower3 + 2] + 2 * lowerData[idxLower3 + 3] + + 1 * lowerData[idxLower4] + 2 * lowerData[idxLower4 + 1] + 2 * lowerData[idxLower4 + 2] + + 1 * lowerData[idxLower4 + 3]) / + 148; } } } -protected: + protected: Underlying m_Underlying; }; @@ -429,21 +413,18 @@ protected: /** Averages the values of the underlying 3 * 3 neighbors with custom weight. */ -template -class cProtIntGenWeightAvg: - public cProtIntGen +template class cProtIntGenWeightAvg : public cProtIntGen { using Super = cProtIntGen; -public: - - cProtIntGenWeightAvg(Underlying a_Underlying): + public: + cProtIntGenWeightAvg(Underlying a_Underlying) : m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: size_t lowerSizeX = a_SizeX + 3; @@ -460,16 +441,18 @@ public: size_t idxLower1 = x + lowerSizeX * z; size_t idxLower2 = idxLower1 + lowerSizeX; size_t idxLower3 = idxLower1 + 2 * lowerSizeX; - a_Values[x + a_SizeX * z] = ( - WeightDiagonal * lowerData[idxLower1] + WeightCardinal * lowerData[idxLower1 + 1] + WeightDiagonal * lowerData[idxLower1 + 2] + - WeightCardinal * lowerData[idxLower2] + WeightCenter * lowerData[idxLower2 + 1] + WeightCardinal * lowerData[idxLower2 + 2] + - WeightDiagonal * lowerData[idxLower3] + WeightCardinal * lowerData[idxLower3 + 1] + WeightDiagonal * lowerData[idxLower3 + 2] - ) / (4 * WeightDiagonal + 4 * WeightCardinal + WeightCenter); + a_Values[x + a_SizeX * z] = + (WeightDiagonal * lowerData[idxLower1] + WeightCardinal * lowerData[idxLower1 + 1] + + WeightDiagonal * lowerData[idxLower1 + 2] + WeightCardinal * lowerData[idxLower2] + + WeightCenter * lowerData[idxLower2 + 1] + WeightCardinal * lowerData[idxLower2 + 2] + + WeightDiagonal * lowerData[idxLower3] + WeightCardinal * lowerData[idxLower3 + 1] + + WeightDiagonal * lowerData[idxLower3 + 2]) / + (4 * WeightDiagonal + 4 * WeightCardinal + WeightCenter); } } } -protected: + protected: Underlying m_Underlying; }; @@ -478,24 +461,18 @@ protected: /** Replaces random values of the underlying data with random integers in the specified range [Min .. Min + Range). */ -class cProtIntGenRndChoice: - public cProtIntGenWithNoise +class cProtIntGenRndChoice : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenRndChoice(int a_Seed, int a_ChancePct, int a_Min, int a_Range, Underlying a_Underlying): - Super(a_Seed), - m_ChancePct(a_ChancePct), - m_Min(a_Min), - m_Range(a_Range), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenRndChoice(int a_Seed, int a_ChancePct, int a_Min, int a_Range, Underlying a_Underlying) : + Super(a_Seed), m_ChancePct(a_ChancePct), m_Min(a_Min), m_Range(a_Range), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values); @@ -508,13 +485,14 @@ public: { if (((Super::m_Noise.IntNoise2DInt(BaseZ, a_MinX + static_cast(x)) / 13) % 101) < m_ChancePct) { - a_Values[x + a_SizeX * z] = m_Min + (Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), BaseZ) / 7) % m_Range; + a_Values[x + a_SizeX * z] = + m_Min + (Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), BaseZ) / 7) % m_Range; } } // for x } // for z } -protected: + protected: int m_ChancePct; int m_Min; int m_Range; @@ -526,23 +504,18 @@ protected: /** Adds a random value in range [-a_HalfRange, +a_HalfRange] to each of the underlying values. */ -class cProtIntGenAddRnd: - public cProtIntGenWithNoise +class cProtIntGenAddRnd : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenAddRnd(int a_Seed, int a_HalfRange, Underlying a_Underlying): - Super(a_Seed), - m_Range(a_HalfRange * 2 + 1), - m_HalfRange(a_HalfRange), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenAddRnd(int a_Seed, int a_HalfRange, Underlying a_Underlying) : + Super(a_Seed), m_Range(a_HalfRange * 2 + 1), m_HalfRange(a_HalfRange), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values); @@ -553,13 +526,14 @@ public: int NoiseZ = a_MinZ + static_cast(z); for (size_t x = 0; x < a_SizeX; x++) { - int noiseVal = ((Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), NoiseZ) / 7) % m_Range) - m_HalfRange; + int noiseVal = + ((Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), NoiseZ) / 7) % m_Range) - m_HalfRange; a_Values[x + z * a_SizeX] += noiseVal; } } } -protected: + protected: int m_Range; int m_HalfRange; Underlying m_Underlying; @@ -570,22 +544,18 @@ protected: /** Replaces random underlying values with the average of the neighbors. */ -class cProtIntGenRndAvg: - public cProtIntGenWithNoise +class cProtIntGenRndAvg : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenRndAvg(int a_Seed, int a_AvgChancePct, Underlying a_Underlying): - Super(a_Seed), - m_AvgChancePct(a_AvgChancePct), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenRndAvg(int a_Seed, int a_AvgChancePct, Underlying a_Underlying) : + Super(a_Seed), m_AvgChancePct(a_AvgChancePct), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: size_t lowerSizeX = a_SizeX + 2; @@ -604,10 +574,9 @@ public: if (((Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), NoiseZ) / 7) % 100) > m_AvgChancePct) { // Average the 4 neighbors: - a_Values[x + z * a_SizeX] = ( - lowerData[idxLower - 1] + lowerData[idxLower + 1] + - lowerData[idxLower - lowerSizeX] + lowerData[idxLower + lowerSizeX] - ) / 4; + a_Values[x + z * a_SizeX] = (lowerData[idxLower - 1] + lowerData[idxLower + 1] + + lowerData[idxLower - lowerSizeX] + lowerData[idxLower + lowerSizeX]) / + 4; } else { @@ -618,7 +587,7 @@ public: } } -protected: + protected: int m_AvgChancePct; Underlying m_Underlying; }; @@ -628,22 +597,18 @@ protected: /** Replaces random underlying values with a random value in between the max and min of the neighbors. */ -class cProtIntGenRndBetween: - public cProtIntGenWithNoise +class cProtIntGenRndBetween : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenRndBetween(int a_Seed, int a_AvgChancePct, Underlying a_Underlying): - Super(a_Seed), - m_AvgChancePct(a_AvgChancePct), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenRndBetween(int a_Seed, int a_AvgChancePct, Underlying a_Underlying) : + Super(a_Seed), m_AvgChancePct(a_AvgChancePct), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: size_t lowerSizeX = a_SizeX + 2; @@ -662,9 +627,17 @@ public: if (((Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), NoiseZ) / 7) % 100) > m_AvgChancePct) { // Chose a value in between the min and max neighbor: - int min = std::min(std::min(lowerData[idxLower - 1], lowerData[idxLower + 1]), std::min(lowerData[idxLower - lowerSizeX], lowerData[idxLower + lowerSizeX])); - int max = std::max(std::max(lowerData[idxLower - 1], lowerData[idxLower + 1]), std::max(lowerData[idxLower - lowerSizeX], lowerData[idxLower + lowerSizeX])); - a_Values[x + z * a_SizeX] = min + ((Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), NoiseZ + 10) / 7) % (max - min + 1)); + int min = std::min( + std::min(lowerData[idxLower - 1], lowerData[idxLower + 1]), + std::min(lowerData[idxLower - lowerSizeX], lowerData[idxLower + lowerSizeX]) + ); + int max = std::max( + std::max(lowerData[idxLower - 1], lowerData[idxLower + 1]), + std::max(lowerData[idxLower - lowerSizeX], lowerData[idxLower + lowerSizeX]) + ); + a_Values[x + z * a_SizeX] = min + + ((Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), NoiseZ + 10) / 7) % (max - min + 1) + ); } else { @@ -675,7 +648,7 @@ public: } } -protected: + protected: int m_AvgChancePct; Underlying m_Underlying; }; @@ -685,24 +658,21 @@ protected: /** Converts land biomes at the edge of an ocean into the respective beach biome. */ -class cProtIntGenBeaches: - public cProtIntGen +class cProtIntGenBeaches : public cProtIntGen { using Super = cProtIntGen; -public: - - cProtIntGenBeaches(Underlying a_Underlying): + public: + cProtIntGenBeaches(Underlying a_Underlying) : m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Map for biome -> its beach: - static const int ToBeach[] = - { + static const int ToBeach[] = { /* biOcean */ biOcean, /* biPlains */ biBeach, /* biDesert */ biBeach, @@ -757,10 +727,10 @@ public: { for (size_t x = 0; x < a_SizeX; x++) { - int val = lowerValues[x + 1 + (z + 1) * lowerSizeX]; - int above = lowerValues[x + 1 + z * lowerSizeX]; + int val = lowerValues[x + 1 + (z + 1) * lowerSizeX]; + int above = lowerValues[x + 1 + z * lowerSizeX]; int below = lowerValues[x + 1 + (z + 2) * lowerSizeX]; - int left = lowerValues[x + (z + 1) * lowerSizeX]; + int left = lowerValues[x + (z + 1) * lowerSizeX]; int right = lowerValues[x + 2 + (z + 1) * lowerSizeX]; if (!IsBiomeOcean(val)) { @@ -775,7 +745,7 @@ public: } } -protected: + protected: Underlying m_Underlying; }; @@ -785,25 +755,21 @@ protected: /** Generates the underlying numbers and then randomly changes some ocean group pixels into random land biome group pixels, based on the predefined chance. */ -class cProtIntGenAddIslands: - public cProtIntGenWithNoise +class cProtIntGenAddIslands : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr; - cProtIntGenAddIslands(int a_Seed, int a_Chance, Underlying a_Underlying): - Super(a_Seed), - m_Chance(a_Chance), - m_Underlying(std::move(a_Underlying)) + cProtIntGenAddIslands(int a_Seed, int a_Chance, Underlying a_Underlying) : + Super(a_Seed), m_Chance(a_Chance), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values); for (size_t z = 0; z < a_SizeZ; z++) @@ -812,7 +778,8 @@ public: { if (a_Values[x + z * a_SizeX] == bgOcean) { - int rnd = Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), a_MinZ + static_cast(z)) / 7; + int rnd = + Super::m_Noise.IntNoise2DInt(a_MinX + static_cast(x), a_MinZ + static_cast(z)) / 7; if (rnd % 1000 < m_Chance) { a_Values[x + z * a_SizeX] = (rnd / 1003) % bgLandOceanMax; @@ -822,7 +789,7 @@ public: } } -protected: + protected: /** Chance of each ocean pixel being converted, in permille. */ int m_Chance; @@ -834,14 +801,12 @@ protected: /** A filter that adds an edge biome group between two biome groups that need an edge between them. */ -class cProtIntGenBiomeGroupEdges: - public cProtIntGen +class cProtIntGenBiomeGroupEdges : public cProtIntGen { using Super = cProtIntGen; -public: - - cProtIntGenBiomeGroupEdges(Underlying a_Underlying): + public: + cProtIntGenBiomeGroupEdges(Underlying a_Underlying) : m_Underlying(std::move(a_Underlying)) { } @@ -861,22 +826,18 @@ public: { for (size_t x = 0; x < a_SizeX; x++) { - int val = lowerValues[x + 1 + (z + 1) * lowerSizeX]; - int Above = lowerValues[x + 1 + z * lowerSizeX]; + int val = lowerValues[x + 1 + (z + 1) * lowerSizeX]; + int Above = lowerValues[x + 1 + z * lowerSizeX]; int Below = lowerValues[x + 1 + (z + 2) * lowerSizeX]; - int Left = lowerValues[x + (z + 1) * lowerSizeX]; + int Left = lowerValues[x + (z + 1) * lowerSizeX]; int Right = lowerValues[x + 2 + (z + 1) * lowerSizeX]; switch (val) { // Desert should neighbor only oceans, desert and temperates; change to temperate when another: case bgDesert: { - if ( - !isDesertCompatible(Above) || - !isDesertCompatible(Below) || - !isDesertCompatible(Left) || - !isDesertCompatible(Right) - ) + if (!isDesertCompatible(Above) || !isDesertCompatible(Below) || !isDesertCompatible(Left) || + !isDesertCompatible(Right)) { val = bgTemperate; } @@ -886,12 +847,7 @@ public: // Ice should not neighbor deserts; change to temperate: case bgIce: { - if ( - (Above == bgDesert) || - (Below == bgDesert) || - (Left == bgDesert) || - (Right == bgDesert) - ) + if ((Above == bgDesert) || (Below == bgDesert) || (Left == bgDesert) || (Right == bgDesert)) { val = bgTemperate; } @@ -903,7 +859,7 @@ public: } // for z } -protected: + protected: Underlying m_Underlying; @@ -932,91 +888,102 @@ protected: /** Turns biome group indices into real biomes. For each pixel, takes its biome group and chooses a random biome from that group; replaces the value with that biome. */ -class cProtIntGenBiomes: - public cProtIntGenWithNoise +class cProtIntGenBiomes : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenBiomes(int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenBiomes(int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Define the per-biome-group biomes: - static const int oceanBiomes[] = - { + static const int oceanBiomes[] = { biOcean, // biDeepOcean, }; // Same as oceanBiomes, there are no rare oceanic biomes (mushroom islands are handled separately) - static const int rareOceanBiomes[] = - { + static const int rareOceanBiomes[] = { biOcean, }; - static const int desertBiomes[] = - { - biDesert, biDesert, biDesert, biDesert, biDesert, biDesert, biSavanna, biSavanna, biPlains, + static const int desertBiomes[] = { + biDesert, + biDesert, + biDesert, + biDesert, + biDesert, + biDesert, + biSavanna, + biSavanna, + biPlains, }; - static const int rareDesertBiomes[] = - { - biMesaPlateau, biMesaPlateauF, + static const int rareDesertBiomes[] = { + biMesaPlateau, + biMesaPlateauF, }; - static const int temperateBiomes[] = - { - biForest, biForest, biRoofedForest, biExtremeHills, biPlains, biBirchForest, biSwampland, + static const int temperateBiomes[] = { + biForest, + biForest, + biRoofedForest, + biExtremeHills, + biPlains, + biBirchForest, + biSwampland, }; - static const int rareTemperateBiomes[] = - { + static const int rareTemperateBiomes[] = { biJungle, // Jungle is not strictly temperate, but let's piggyback it here }; - static const int mountainBiomes[] = - { - biExtremeHills, biForest, biTaiga, biPlains, + static const int mountainBiomes[] = { + biExtremeHills, + biForest, + biTaiga, + biPlains, }; - static const int rareMountainBiomes[] = - { + static const int rareMountainBiomes[] = { biMegaTaiga, }; - static const int iceBiomes[] = - { - biIcePlains, biIcePlains, biIcePlains, biIcePlains, biColdTaiga, + static const int iceBiomes[] = { + biIcePlains, + biIcePlains, + biIcePlains, + biIcePlains, + biColdTaiga, }; // Same as iceBiomes, there's no rare ice biome - static const int rareIceBiomes[] = - { - biIcePlains, biIcePlains, biIcePlains, biIcePlains, biColdTaiga, + static const int rareIceBiomes[] = { + biIcePlains, + biIcePlains, + biIcePlains, + biIcePlains, + biColdTaiga, }; - static const cBiomesInGroups biomesInGroups[] = - { - /* bgOcean */ { static_cast(ARRAYCOUNT(oceanBiomes)), oceanBiomes}, - /* bgDesert */ { static_cast(ARRAYCOUNT(desertBiomes)), desertBiomes}, - /* bgTemperate */ { static_cast(ARRAYCOUNT(temperateBiomes)), temperateBiomes}, - /* bgMountains */ { static_cast(ARRAYCOUNT(mountainBiomes)), mountainBiomes}, - /* bgIce */ { static_cast(ARRAYCOUNT(iceBiomes)), iceBiomes}, + static const cBiomesInGroups biomesInGroups[] = { + /* bgOcean */ {static_cast(ARRAYCOUNT(oceanBiomes)), oceanBiomes}, + /* bgDesert */ {static_cast(ARRAYCOUNT(desertBiomes)), desertBiomes}, + /* bgTemperate */ {static_cast(ARRAYCOUNT(temperateBiomes)), temperateBiomes}, + /* bgMountains */ {static_cast(ARRAYCOUNT(mountainBiomes)), mountainBiomes}, + /* bgIce */ {static_cast(ARRAYCOUNT(iceBiomes)), iceBiomes}, }; - static const cBiomesInGroups rareBiomesInGroups[] = - { - /* bgOcean */ { static_cast(ARRAYCOUNT(rareOceanBiomes)), rareOceanBiomes}, - /* bgDesert */ { static_cast(ARRAYCOUNT(rareDesertBiomes)), rareDesertBiomes}, - /* bgTemperate */ { static_cast(ARRAYCOUNT(rareTemperateBiomes)), rareTemperateBiomes}, - /* bgMountains */ { static_cast(ARRAYCOUNT(rareMountainBiomes)), rareMountainBiomes}, - /* bgIce */ { static_cast(ARRAYCOUNT(rareIceBiomes)), rareIceBiomes}, + static const cBiomesInGroups rareBiomesInGroups[] = { + /* bgOcean */ {static_cast(ARRAYCOUNT(rareOceanBiomes)), rareOceanBiomes}, + /* bgDesert */ {static_cast(ARRAYCOUNT(rareDesertBiomes)), rareDesertBiomes}, + /* bgTemperate */ {static_cast(ARRAYCOUNT(rareTemperateBiomes)), rareTemperateBiomes}, + /* bgMountains */ {static_cast(ARRAYCOUNT(rareMountainBiomes)), rareMountainBiomes}, + /* bgIce */ {static_cast(ARRAYCOUNT(rareIceBiomes)), rareIceBiomes}, }; // Generate the underlying values, representing biome groups: @@ -1030,17 +997,17 @@ public: for (size_t x = 0; x < a_SizeX; x++) { int val = a_Values[x + IdxZ]; - const cBiomesInGroups & Biomes = (val > bgfRare) ? - rareBiomesInGroups[(val & (bgfRare - 1)) % ARRAYCOUNT(rareBiomesInGroups)] : - biomesInGroups[static_cast(val) % ARRAYCOUNT(biomesInGroups)]; - int rnd = (Super::m_Noise.IntNoise2DInt(static_cast(x) + a_MinX, static_cast(z) + a_MinZ) / 7); + const cBiomesInGroups & Biomes = (val > bgfRare) + ? rareBiomesInGroups[(val & (bgfRare - 1)) % ARRAYCOUNT(rareBiomesInGroups)] + : biomesInGroups[static_cast(val) % ARRAYCOUNT(biomesInGroups)]; + int rnd = + (Super::m_Noise.IntNoise2DInt(static_cast(x) + a_MinX, static_cast(z) + a_MinZ) / 7); a_Values[x + IdxZ] = Biomes.Biomes[rnd % Biomes.Count]; } } } -protected: - + protected: struct cBiomesInGroups { const int Count; @@ -1057,27 +1024,21 @@ protected: /** Randomly replaces pixels of one value to another value, using the given chance. */ -class cProtIntGenReplaceRandomly: - public cProtIntGenWithNoise +class cProtIntGenReplaceRandomly : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - + public: using Underlying = std::shared_ptr; - cProtIntGenReplaceRandomly(int a_Seed, int a_From, int a_To, int a_Chance, Underlying a_Underlying): - Super(a_Seed), - m_From(a_From), - m_To(a_To), - m_Chance(a_Chance), - m_Underlying(std::move(a_Underlying)) + cProtIntGenReplaceRandomly(int a_Seed, int a_From, int a_To, int a_Chance, Underlying a_Underlying) : + Super(a_Seed), m_From(a_From), m_To(a_To), m_Chance(a_Chance), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying values: m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values); @@ -1091,7 +1052,8 @@ public: size_t idx = x + idxZ; if (a_Values[idx] == m_From) { - int rnd = Super::m_Noise.IntNoise2DInt(static_cast(x) + a_MinX, static_cast(z) + a_MinZ) / 7; + int rnd = + Super::m_Noise.IntNoise2DInt(static_cast(x) + a_MinX, static_cast(z) + a_MinZ) / 7; if (rnd % 1000 < m_Chance) { a_Values[idx] = m_To; @@ -1102,7 +1064,7 @@ public: } -protected: + protected: /** The original value to be replaced. */ int m_From; @@ -1123,21 +1085,18 @@ protected: It first checks for oceans, if there is an ocean in the Biomes, it keeps the ocean. If there's no ocean, it checks Rivers for a river, if there is a river, it uses the Biomes to select either regular river or frozen river, based on the biome. */ -class cProtIntGenMixRivers: - public cProtIntGen +class cProtIntGenMixRivers : public cProtIntGen { using Super = cProtIntGen; -public: - - cProtIntGenMixRivers(Underlying a_Biomes, Underlying a_Rivers): - m_Biomes(std::move(a_Biomes)), - m_Rivers(std::move(a_Rivers)) + public: + cProtIntGenMixRivers(Underlying a_Biomes, Underlying a_Rivers) : + m_Biomes(std::move(a_Biomes)), m_Rivers(std::move(a_Rivers)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying data: ASSERT(a_SizeX * a_SizeZ <= m_BufferSize); @@ -1176,7 +1135,7 @@ public: } // for z } -protected: + protected: Underlying m_Biomes; Underlying m_Rivers; }; @@ -1188,21 +1147,18 @@ protected: /** Generates a river based on the underlying data. This is basically an edge detector over the underlying data. The rivers are the edges where the underlying data changes from one pixel to its neighbor. */ -class cProtIntGenRiver: - public cProtIntGenWithNoise +class cProtIntGenRiver : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenRiver(int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenRiver(int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying data: size_t lowerSizeX = a_SizeX + 2; @@ -1216,11 +1172,11 @@ public: { for (size_t x = 0; x < a_SizeX; x++) { - int Above = lowerValues[x + 1 + z * lowerSizeX]; + int Above = lowerValues[x + 1 + z * lowerSizeX]; int Below = lowerValues[x + 1 + (z + 2) * lowerSizeX]; - int Left = lowerValues[x + (z + 1) * lowerSizeX]; + int Left = lowerValues[x + (z + 1) * lowerSizeX]; int Right = lowerValues[x + 2 + (z + 1) * lowerSizeX]; - int val = lowerValues[x + 1 + (z + 1) * lowerSizeX]; + int val = lowerValues[x + 1 + (z + 1) * lowerSizeX]; if ((val == Above) && (val == Below) && (val == Left) && (val == Right)) { @@ -1235,7 +1191,7 @@ public: } // for z } -protected: + protected: Underlying m_Underlying; }; @@ -1245,23 +1201,18 @@ protected: /** Turns some of the oceans into the specified biome. Used for mushroom and deep ocean. The biome is only placed if at least 3 of its neighbors are ocean and only with the specified chance. */ -class cProtIntGenAddToOcean: - public cProtIntGenWithNoise +class cProtIntGenAddToOcean : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenAddToOcean(int a_Seed, int a_Chance, int a_ToValue, Underlying a_Underlying): - Super(a_Seed), - m_Chance(a_Chance), - m_ToValue(a_ToValue), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenAddToOcean(int a_Seed, int a_Chance, int a_ToValue, Underlying a_Underlying) : + Super(a_Seed), m_Chance(a_Chance), m_ToValue(a_ToValue), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying data: size_t lowerSizeX = a_SizeX + 2; @@ -1283,9 +1234,9 @@ public: } // Count the ocean neighbors: - int Above = lowerValues[x + 1 + z * lowerSizeX]; + int Above = lowerValues[x + 1 + z * lowerSizeX]; int Below = lowerValues[x + 1 + (z + 2) * lowerSizeX]; - int Left = lowerValues[x + (z + 1) * lowerSizeX]; + int Left = lowerValues[x + (z + 1) * lowerSizeX]; int Right = lowerValues[x + 2 + (z + 1) * lowerSizeX]; int NumOceanNeighbors = 0; if (IsBiomeOcean(Above)) @@ -1306,10 +1257,10 @@ public: } // If at least 3 ocean neighbors and the chance is right, change: - if ( - (NumOceanNeighbors >= 3) && - ((Super::m_Noise.IntNoise2DInt(static_cast(x) + a_MinX, static_cast(z) + a_MinZ) / 7) % 1000 < m_Chance) - ) + if ((NumOceanNeighbors >= 3) && + ((Super::m_Noise.IntNoise2DInt(static_cast(x) + a_MinX, static_cast(z) + a_MinZ) / 7) % + 1000 < + m_Chance)) { a_Values[x + z * a_SizeX] = m_ToValue; } @@ -1321,7 +1272,7 @@ public: } // for z } -protected: + protected: /** Chance, in permille, of changing the biome. */ int m_Chance; @@ -1336,23 +1287,18 @@ protected: /** Changes random pixels of the underlying data to the specified value. */ -class cProtIntGenSetRandomly: - public cProtIntGenWithNoise +class cProtIntGenSetRandomly : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenSetRandomly(int a_Seed, int a_Chance, int a_ToValue, Underlying a_Underlying): - Super(a_Seed), - m_Chance(a_Chance), - m_ToValue(a_ToValue), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenSetRandomly(int a_Seed, int a_Chance, int a_ToValue, Underlying a_Underlying) : + Super(a_Seed), m_Chance(a_Chance), m_ToValue(a_ToValue), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying data: m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values); @@ -1371,7 +1317,7 @@ public: } } -protected: + protected: /** Chance, in permille, of changing each pixel. */ int m_Chance; @@ -1386,22 +1332,18 @@ protected: /** Adds a "rare" flag to random biome groups, based on the given chance. */ -class cProtIntGenRareBiomeGroups: - public cProtIntGenWithNoise +class cProtIntGenRareBiomeGroups : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenRareBiomeGroups(int a_Seed, int a_Chance, Underlying a_Underlying): - Super(a_Seed), - m_Chance(a_Chance), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenRareBiomeGroups(int a_Seed, int a_Chance, Underlying a_Underlying) : + Super(a_Seed), m_Chance(a_Chance), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying data: m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values); @@ -1421,7 +1363,7 @@ public: } } -protected: + protected: /** Chance, in permille, of changing each pixel into the rare biome group. */ int m_Chance; @@ -1435,22 +1377,18 @@ protected: /** Changes biomes in the parent data into an alternate versions (usually "hill" variants), in such places that have their alterations set. */ -class cProtIntGenAlternateBiomes: - public cProtIntGenWithNoise +class cProtIntGenAlternateBiomes : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenAlternateBiomes(int a_Seed, Underlying a_Alterations, Underlying a_BaseBiomes): - Super(a_Seed), - m_Alterations(std::move(a_Alterations)), - m_BaseBiomes(std::move(a_BaseBiomes)) + public: + cProtIntGenAlternateBiomes(int a_Seed, Underlying a_Alterations, Underlying a_BaseBiomes) : + Super(a_Seed), m_Alterations(std::move(a_Alterations)), m_BaseBiomes(std::move(a_BaseBiomes)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the base biomes and the alterations: m_BaseBiomes->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values); @@ -1472,26 +1410,26 @@ public: switch (val) { case biBirchForest: val = biBirchForestHills; break; - case biDesert: val = biDesertHills; break; + case biDesert: val = biDesertHills; break; case biExtremeHills: val = biExtremeHillsPlus; break; - case biForest: val = biForestHills; break; - case biIcePlains: val = biIceMountains; break; - case biJungle: val = biJungleHills; break; - case biMegaTaiga: val = biMegaTaigaHills; break; - case biMesaPlateau: val = biMesa; break; - case biMesaPlateauF: val = biMesa; break; - case biMesaPlateauM: val = biMesa; break; - case biMesaPlateauFM: val = biMesa; break; - case biPlains: val = biForest; break; - case biRoofedForest: val = biPlains; break; - case biSavanna: val = biSavannaPlateau; break; - case biTaiga: val = biTaigaHills; break; + case biForest: val = biForestHills; break; + case biIcePlains: val = biIceMountains; break; + case biJungle: val = biJungleHills; break; + case biMegaTaiga: val = biMegaTaigaHills; break; + case biMesaPlateau: val = biMesa; break; + case biMesaPlateauF: val = biMesa; break; + case biMesaPlateauM: val = biMesa; break; + case biMesaPlateauFM: val = biMesa; break; + case biPlains: val = biForest; break; + case biRoofedForest: val = biPlains; break; + case biSavanna: val = biSavannaPlateau; break; + case biTaiga: val = biTaigaHills; break; } a_Values[idx] = val; } // for idx - a_Values[] } -protected: + protected: Underlying m_Alterations; Underlying m_BaseBiomes; }; @@ -1501,21 +1439,18 @@ protected: /** Adds an edge between two specifically incompatible biomes, such as mesa and forest. */ -class cProtIntGenBiomeEdges: - public cProtIntGenWithNoise +class cProtIntGenBiomeEdges : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenBiomeEdges(int a_Seed, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(std::move(a_Underlying)) + public: + cProtIntGenBiomeEdges(int a_Seed, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(std::move(a_Underlying)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying biomes: size_t lowerSizeX = a_SizeX + 2; @@ -1530,9 +1465,9 @@ public: for (size_t x = 0; x < a_SizeX; x++) { int biome = lowerValues[x + 1 + (z + 1) * lowerSizeX]; - int above = lowerValues[x + 1 + z * lowerSizeX]; + int above = lowerValues[x + 1 + z * lowerSizeX]; int below = lowerValues[x + 1 + (z + 2) * lowerSizeX]; - int left = lowerValues[x + (z + 1) * lowerSizeX]; + int left = lowerValues[x + (z + 1) * lowerSizeX]; int right = lowerValues[x + 2 + (z + 1) * lowerSizeX]; switch (biome) @@ -1541,12 +1476,10 @@ public: case biDesertM: case biDesertHills: { - if ( - IsBiomeVeryCold(static_cast(above)) || + if (IsBiomeVeryCold(static_cast(above)) || IsBiomeVeryCold(static_cast(below)) || - IsBiomeVeryCold(static_cast(left)) || - IsBiomeVeryCold(static_cast(right)) - ) + IsBiomeVeryCold(static_cast(left)) || + IsBiomeVeryCold(static_cast(right))) { biome = biPlains; } @@ -1558,12 +1491,8 @@ public: case biMesaPlateauFM: case biMesaPlateauM: { - if ( - !isMesaCompatible(above) || - !isMesaCompatible(below) || - !isMesaCompatible(left) || - !isMesaCompatible(right) - ) + if (!isMesaCompatible(above) || !isMesaCompatible(below) || !isMesaCompatible(left) || + !isMesaCompatible(right)) { biome = biDesert; } @@ -1573,12 +1502,8 @@ public: case biJungle: case biJungleM: { - if ( - !isJungleCompatible(above) || - !isJungleCompatible(below) || - !isJungleCompatible(left) || - !isJungleCompatible(right) - ) + if (!isJungleCompatible(above) || !isJungleCompatible(below) || !isJungleCompatible(left) || + !isJungleCompatible(right)) { biome = (biome == biJungle) ? biJungleEdge : biJungleEdgeM; } @@ -1588,12 +1513,10 @@ public: case biSwampland: case biSwamplandM: { - if ( - IsBiomeNoDownfall(static_cast(above)) || + if (IsBiomeNoDownfall(static_cast(above)) || IsBiomeNoDownfall(static_cast(below)) || - IsBiomeNoDownfall(static_cast(left)) || - IsBiomeNoDownfall(static_cast(right)) - ) + IsBiomeNoDownfall(static_cast(left)) || + IsBiomeNoDownfall(static_cast(right))) { biome = biPlains; } @@ -1607,7 +1530,7 @@ public: } -protected: + protected: Underlying m_Underlying; @@ -1661,22 +1584,18 @@ protected: /** Changes biomes in the parent data into their alternate versions ("M" variants), in such places that have their alterations set. */ -class cProtIntGenMBiomes: - public cProtIntGenWithNoise +class cProtIntGenMBiomes : public cProtIntGenWithNoise { using Super = cProtIntGenWithNoise; -public: - - cProtIntGenMBiomes(int a_Seed, Underlying a_Alteration, Underlying a_Underlying): - Super(a_Seed), - m_Underlying(std::move(a_Underlying)), - m_Alteration(std::move(a_Alteration)) + public: + cProtIntGenMBiomes(int a_Seed, Underlying a_Alteration, Underlying a_Underlying) : + Super(a_Seed), m_Underlying(std::move(a_Underlying)), m_Alteration(std::move(a_Alteration)) { } - virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override + virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int * a_Values) override { // Generate the underlying biomes and the alterations: m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values); @@ -1695,35 +1614,31 @@ public: // Ice spikes biome was removed from here, because it was generated way too often switch (a_Values[idx]) { - case biPlains: a_Values[idx] = biSunflowerPlains; break; - case biDesert: a_Values[idx] = biDesertM; break; - case biExtremeHills: a_Values[idx] = biExtremeHillsM; break; - case biForest: a_Values[idx] = biFlowerForest; break; - case biTaiga: a_Values[idx] = biTaigaM; break; - case biSwampland: a_Values[idx] = biSwamplandM; break; - case biJungle: a_Values[idx] = biJungleM; break; - case biJungleEdge: a_Values[idx] = biJungleEdgeM; break; - case biBirchForest: a_Values[idx] = biBirchForestM; break; - case biBirchForestHills: a_Values[idx] = biBirchForestHillsM; break; - case biRoofedForest: a_Values[idx] = biRoofedForestM; break; - case biColdTaiga: a_Values[idx] = biColdTaigaM; break; - case biMegaSpruceTaiga: a_Values[idx] = biMegaSpruceTaiga; break; + case biPlains: a_Values[idx] = biSunflowerPlains; break; + case biDesert: a_Values[idx] = biDesertM; break; + case biExtremeHills: a_Values[idx] = biExtremeHillsM; break; + case biForest: a_Values[idx] = biFlowerForest; break; + case biTaiga: a_Values[idx] = biTaigaM; break; + case biSwampland: a_Values[idx] = biSwamplandM; break; + case biJungle: a_Values[idx] = biJungleM; break; + case biJungleEdge: a_Values[idx] = biJungleEdgeM; break; + case biBirchForest: a_Values[idx] = biBirchForestM; break; + case biBirchForestHills: a_Values[idx] = biBirchForestHillsM; break; + case biRoofedForest: a_Values[idx] = biRoofedForestM; break; + case biColdTaiga: a_Values[idx] = biColdTaigaM; break; + case biMegaSpruceTaiga: a_Values[idx] = biMegaSpruceTaiga; break; case biMegaSpruceTaigaHills: a_Values[idx] = biMegaSpruceTaigaHills; break; - case biExtremeHillsPlus: a_Values[idx] = biExtremeHillsPlusM; break; - case biSavanna: a_Values[idx] = biSavannaM; break; - case biSavannaPlateau: a_Values[idx] = biSavannaPlateauM; break; - case biMesa: a_Values[idx] = biMesaBryce; break; - case biMesaPlateauF: a_Values[idx] = biMesaPlateauFM; break; - case biMesaPlateau: a_Values[idx] = biMesaBryce; break; + case biExtremeHillsPlus: a_Values[idx] = biExtremeHillsPlusM; break; + case biSavanna: a_Values[idx] = biSavannaM; break; + case biSavannaPlateau: a_Values[idx] = biSavannaPlateauM; break; + case biMesa: a_Values[idx] = biMesaBryce; break; + case biMesaPlateauF: a_Values[idx] = biMesaPlateauFM; break; + case biMesaPlateau: a_Values[idx] = biMesaBryce; break; } } // for idx - a_Values[] / alterations[] } -protected: + protected: Underlying m_Underlying; Underlying m_Alteration; }; - - - - diff --git a/src/Generating/Ravines.cpp b/src/Generating/Ravines.cpp index 57c806ba5..37c09c2b8 100644 --- a/src/Generating/Ravines.cpp +++ b/src/Generating/Ravines.cpp @@ -24,14 +24,10 @@ struct cRavDefPoint int m_Bottom; cRavDefPoint(int a_BlockX, int a_BlockZ, int a_Radius, int a_Top, int a_Bottom) : - m_BlockX(a_BlockX), - m_BlockZ(a_BlockZ), - m_Radius(a_Radius), - m_Top (a_Top), - m_Bottom(a_Bottom) + m_BlockX(a_BlockX), m_BlockZ(a_BlockZ), m_Radius(a_Radius), m_Top(a_Top), m_Bottom(a_Bottom) { } -} ; +}; using cRavDefPoints = std::vector; @@ -39,8 +35,7 @@ using cRavDefPoints = std::vector; -class cStructGenRavines::cRavine: - public cGridStructGen::cStructure +class cStructGenRavines::cRavine : public cGridStructGen::cStructure { using Super = cGridStructGen::cStructure; @@ -59,19 +54,18 @@ class cStructGenRavines::cRavine: /** Linearly interpolates the points so that the maximum distance between two neighbors is max 1 block */ void FinishLinear(void); -public: - + public: cRavine(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ, int a_Size, cNoise & a_Noise); - #ifndef NDEBUG +#ifndef NDEBUG /** Exports itself as a SVG line definition */ AString ExportAsSVG(int a_Color, int a_OffsetX = 0, int a_OffsetZ = 0) const; - #endif // !NDEBUG +#endif // !NDEBUG -protected: + protected: // cGridStructGen::cStructure overrides: virtual void DrawIntoChunk(cChunkDesc & a_ChunkDesc) override; -} ; +}; @@ -81,8 +75,7 @@ protected: // cStructGenRavines: cStructGenRavines::cStructGenRavines(int a_Seed, int a_Size) : - Super(a_Seed, a_Size, a_Size, a_Size, a_Size, a_Size * 2, a_Size * 2, 100), - m_Size(a_Size) + Super(a_Seed, a_Size, a_Size, a_Size, a_Size, a_Size * 2, a_Size * 2, 100), m_Size(a_Size) { } @@ -102,7 +95,14 @@ cGridStructGen::cStructurePtr cStructGenRavines::CreateStructure(int a_GridX, in //////////////////////////////////////////////////////////////////////////////// // cStructGenRavines::cRavine -cStructGenRavines::cRavine::cRavine(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ, int a_Size, cNoise & a_Noise) : +cStructGenRavines::cRavine::cRavine( + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ, + int a_Size, + cNoise & a_Noise +) : Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ) { // Calculate the ravine shape-defining points: @@ -123,23 +123,31 @@ cStructGenRavines::cRavine::cRavine(int a_GridX, int a_GridZ, int a_OriginX, int void cStructGenRavines::cRavine::GenerateBaseDefPoints(int a_BlockX, int a_BlockZ, int a_Size, cNoise & a_Noise) { // Modify the size slightly to have different-sized ravines (1 / 2 to 1 / 1 of a_Size): - a_Size = (512 + ((a_Noise.IntNoise3DInt(19 * a_BlockX, 11 * a_BlockZ, a_BlockX + a_BlockZ) / 17) % 512)) * a_Size / 1024; + a_Size = + (512 + ((a_Noise.IntNoise3DInt(19 * a_BlockX, 11 * a_BlockZ, a_BlockX + a_BlockZ) / 17) % 512)) * a_Size / 1024; // The complete offset of the ravine from its cellpoint, up to 2 * a_Size in each direction - int OffsetX = (((a_Noise.IntNoise3DInt(50 * a_BlockX, 30 * a_BlockZ, 0) / 9) % (2 * a_Size)) + ((a_Noise.IntNoise3DInt(30 * a_BlockX, 50 * a_BlockZ, 1000) / 7) % (2 * a_Size)) - 2 * a_Size) / 2; - int OffsetZ = (((a_Noise.IntNoise3DInt(50 * a_BlockX, 30 * a_BlockZ, 2000) / 7) % (2 * a_Size)) + ((a_Noise.IntNoise3DInt(30 * a_BlockX, 50 * a_BlockZ, 3000) / 9) % (2 * a_Size)) - 2 * a_Size) / 2; + int OffsetX = (((a_Noise.IntNoise3DInt(50 * a_BlockX, 30 * a_BlockZ, 0) / 9) % (2 * a_Size)) + + ((a_Noise.IntNoise3DInt(30 * a_BlockX, 50 * a_BlockZ, 1000) / 7) % (2 * a_Size)) - 2 * a_Size) / + 2; + int OffsetZ = (((a_Noise.IntNoise3DInt(50 * a_BlockX, 30 * a_BlockZ, 2000) / 7) % (2 * a_Size)) + + ((a_Noise.IntNoise3DInt(30 * a_BlockX, 50 * a_BlockZ, 3000) / 9) % (2 * a_Size)) - 2 * a_Size) / + 2; int CenterX = a_BlockX + OffsetX; int CenterZ = a_BlockZ + OffsetZ; // Get the base angle in which the ravine "axis" goes: - float Angle = static_cast((static_cast((a_Noise.IntNoise3DInt(20 * a_BlockX, 70 * a_BlockZ, 6000) / 9) % 16384)) / 16384.0 * M_PI); + float Angle = static_cast( + (static_cast((a_Noise.IntNoise3DInt(20 * a_BlockX, 70 * a_BlockZ, 6000) / 9) % 16384)) / 16384.0 * M_PI + ); float xc = sinf(Angle); float zc = cosf(Angle); // Calculate the definition points and radii: - int MaxRadius = static_cast(sqrt(12.0 + ((a_Noise.IntNoise2DInt(61 * a_BlockX, 97 * a_BlockZ) / 13) % a_Size) / 16)); - int Top = 32 + ((a_Noise.IntNoise2DInt(13 * a_BlockX, 17 * a_BlockZ) / 23) % 32); - int Bottom = 5 + ((a_Noise.IntNoise2DInt(17 * a_BlockX, 29 * a_BlockZ) / 13) % 32); + int MaxRadius = + static_cast(sqrt(12.0 + ((a_Noise.IntNoise2DInt(61 * a_BlockX, 97 * a_BlockZ) / 13) % a_Size) / 16)); + int Top = 32 + ((a_Noise.IntNoise2DInt(13 * a_BlockX, 17 * a_BlockZ) / 23) % 32); + int Bottom = 5 + ((a_Noise.IntNoise2DInt(17 * a_BlockX, 29 * a_BlockZ) / 13) % 32); int Mid = (Top + Bottom) / 2; int DefinitionPointX = CenterX - static_cast(xc * a_Size / 2); int DefinitionPointZ = CenterZ - static_cast(zc * a_Size / 2); @@ -154,8 +162,8 @@ void cStructGenRavines::cRavine::GenerateBaseDefPoints(int a_BlockX, int a_Block int PointX = LineX + static_cast(zc * Amplitude); int PointZ = LineZ - static_cast(xc * Amplitude); int Radius = MaxRadius - abs(i - NUM_RAVINE_POINTS / 2); // TODO: better radius function - int ThisTop = Top + ((a_Noise.IntNoise3DInt(7 * a_BlockX, 19 * a_BlockZ, i * 31) / 13) % 8) - 4; - int ThisBottom = Bottom + ((a_Noise.IntNoise3DInt(19 * a_BlockX, 7 * a_BlockZ, i * 31) / 13) % 8) - 4; + int ThisTop = Top + ((a_Noise.IntNoise3DInt(7 * a_BlockX, 19 * a_BlockZ, i * 31) / 13) % 8) - 4; + int ThisBottom = Bottom + ((a_Noise.IntNoise3DInt(19 * a_BlockX, 7 * a_BlockZ, i * 31) / 13) % 8) - 4; m_Points.emplace_back(PointX, PointZ, Radius, ThisTop, ThisBottom); } // for i - m_Points[] DefinitionPointX = CenterX + static_cast(xc * a_Size / 2); @@ -197,7 +205,7 @@ void cStructGenRavines::cRavine::RefineDefPoints(const cRavDefPoints & a_Src, cR continue; } int dr = itr->m_Radius - PrevR; - int dt = itr->m_Top - PrevT; + int dt = itr->m_Top - PrevT; int db = itr->m_Bottom - PrevB; int Rad1 = std::max(PrevR + 1 * dr / 4, 1); int Rad2 = std::max(PrevR + 3 * dr / 4, 1); @@ -231,7 +239,8 @@ void cStructGenRavines::cRavine::FinishLinear(void) { // For each segment, use Bresenham's line algorithm to draw a "line" of defpoints // _X 2012_07_20: I tried modifying this algorithm to produce "thick" lines (only one coord change per point) - // But the results were about the same as the original, so I disposed of it again - no need to use twice the count of points + // But the results were about the same as the original, so I disposed of it again - no need to use twice the count + // of points cRavDefPoints Pts; std::swap(Pts, m_Points); @@ -290,29 +299,45 @@ AString cStructGenRavines::cRavine::ExportAsSVG(int a_Color, int a_OffsetX, int SVG.append("\"/>\n"); // Base point highlight: - SVG.append(fmt::format(FMT_STRING("\n"), - a_OffsetX + m_OriginX - 5, a_OffsetZ + m_OriginZ, a_OffsetX + m_OriginX + 5, a_OffsetZ + m_OriginZ + SVG.append(fmt::format( + FMT_STRING("\n"), + a_OffsetX + m_OriginX - 5, + a_OffsetZ + m_OriginZ, + a_OffsetX + m_OriginX + 5, + a_OffsetZ + m_OriginZ )); - SVG.append(fmt::format(FMT_STRING("\n"), - a_OffsetX + m_OriginX, a_OffsetZ + m_OriginZ - 5, a_OffsetX + m_OriginX, a_OffsetZ + m_OriginZ + 5 + SVG.append(fmt::format( + FMT_STRING("\n"), + a_OffsetX + m_OriginX, + a_OffsetZ + m_OriginZ - 5, + a_OffsetX + m_OriginX, + a_OffsetZ + m_OriginZ + 5 )); // A gray line from the base point to the first point of the ravine, for identification: - SVG.append(fmt::format(FMT_STRING("\n"), - a_OffsetX + m_OriginX, a_OffsetZ + m_OriginZ, a_OffsetX + m_Points.front().m_BlockX, a_OffsetZ + m_Points.front().m_BlockZ + SVG.append(fmt::format( + FMT_STRING("\n"), + a_OffsetX + m_OriginX, + a_OffsetZ + m_OriginZ, + a_OffsetX + m_Points.front().m_BlockX, + a_OffsetZ + m_Points.front().m_BlockZ )); // Offset guides: if (a_OffsetX > 0) { - SVG.append(fmt::format(FMT_STRING("\n"), - a_OffsetX, a_OffsetX + SVG.append(fmt::format( + FMT_STRING("\n"), + a_OffsetX, + a_OffsetX )); } if (a_OffsetZ > 0) { - SVG.append(fmt::format(FMT_STRING("\n"), - a_OffsetZ, a_OffsetZ + SVG.append(fmt::format( + FMT_STRING("\n"), + a_OffsetZ, + a_OffsetZ )); } return SVG; @@ -331,66 +356,61 @@ void cStructGenRavines::cRavine::DrawIntoChunk(cChunkDesc & a_ChunkDesc) int BlockEndZ = BlockStartZ + cChunkDef::Width; for (cRavDefPoints::const_iterator itr = m_Points.begin(), end = m_Points.end(); itr != end; ++itr) { - if ( - (itr->m_BlockX + itr->m_Radius < BlockStartX) || - (itr->m_BlockX - itr->m_Radius > BlockEndX) || - (itr->m_BlockZ + itr->m_Radius < BlockStartZ) || - (itr->m_BlockZ - itr->m_Radius > BlockEndZ) - ) + if ((itr->m_BlockX + itr->m_Radius < BlockStartX) || (itr->m_BlockX - itr->m_Radius > BlockEndX) || + (itr->m_BlockZ + itr->m_Radius < BlockStartZ) || (itr->m_BlockZ - itr->m_Radius > BlockEndZ)) { // Cannot intersect, bail out early continue; } // Carve out a cylinder around the xz point, m_Radius in diameter, from Bottom to Top: - int RadiusSq = itr->m_Radius * itr->m_Radius; // instead of doing sqrt for each distance, we do sqr of the radius + int RadiusSq = + itr->m_Radius * itr->m_Radius; // instead of doing sqrt for each distance, we do sqr of the radius int DifX = BlockStartX - itr->m_BlockX; // substitution for faster calc int DifZ = BlockStartZ - itr->m_BlockZ; // substitution for faster calc - for (int x = 0; x < cChunkDef::Width; x++) for (int z = 0; z < cChunkDef::Width; z++) - { - #ifndef NDEBUG - // DEBUG: Make the ravine shapepoints visible on a single layer (so that we can see with Minutor what's going on) - if ((DifX + x == 0) && (DifZ + z == 0)) + for (int x = 0; x < cChunkDef::Width; x++) + for (int z = 0; z < cChunkDef::Width; z++) { - a_ChunkDesc.SetBlockType(x, 4, z, E_BLOCK_LAPIS_ORE); - } - #endif // !NDEBUG +#ifndef NDEBUG + // DEBUG: Make the ravine shapepoints visible on a single layer (so that we can see with Minutor what's + // going on) + if ((DifX + x == 0) && (DifZ + z == 0)) + { + a_ChunkDesc.SetBlockType(x, 4, z, E_BLOCK_LAPIS_ORE); + } +#endif // !NDEBUG - int DistSq = (DifX + x) * (DifX + x) + (DifZ + z) * (DifZ + z); - if (DistSq <= RadiusSq) - { - int Top = std::min(itr->m_Top, static_cast(cChunkDef::Height)); // Stupid gcc needs int cast - for (int y = std::max(itr->m_Bottom, 1); y <= Top; y++) + int DistSq = (DifX + x) * (DifX + x) + (DifZ + z) * (DifZ + z); + if (DistSq <= RadiusSq) { - switch (a_ChunkDesc.GetBlockType(x, y, z)) + int Top = std::min(itr->m_Top, static_cast(cChunkDef::Height)); // Stupid gcc needs int cast + for (int y = std::max(itr->m_Bottom, 1); y <= Top; y++) { - // Only carve out these specific block types - case E_BLOCK_DIRT: - case E_BLOCK_GRASS: - case E_BLOCK_STONE: - case E_BLOCK_COBBLESTONE: - case E_BLOCK_GRAVEL: - case E_BLOCK_SAND: - case E_BLOCK_SANDSTONE: - case E_BLOCK_NETHERRACK: - case E_BLOCK_COAL_ORE: - case E_BLOCK_IRON_ORE: - case E_BLOCK_GOLD_ORE: - case E_BLOCK_DIAMOND_ORE: - case E_BLOCK_REDSTONE_ORE: - case E_BLOCK_REDSTONE_ORE_GLOWING: + switch (a_ChunkDesc.GetBlockType(x, y, z)) { - a_ChunkDesc.SetBlockType(x, y, z, E_BLOCK_AIR); - break; + // Only carve out these specific block types + case E_BLOCK_DIRT: + case E_BLOCK_GRASS: + case E_BLOCK_STONE: + case E_BLOCK_COBBLESTONE: + case E_BLOCK_GRAVEL: + case E_BLOCK_SAND: + case E_BLOCK_SANDSTONE: + case E_BLOCK_NETHERRACK: + case E_BLOCK_COAL_ORE: + case E_BLOCK_IRON_ORE: + case E_BLOCK_GOLD_ORE: + case E_BLOCK_DIAMOND_ORE: + case E_BLOCK_REDSTONE_ORE: + case E_BLOCK_REDSTONE_ORE_GLOWING: + { + a_ChunkDesc.SetBlockType(x, y, z, E_BLOCK_AIR); + break; + } + default: break; } - default: break; } } - } - } // for x, z - a_BlockTypes + } // for x, z - a_BlockTypes } // for itr - m_Points[] } - - - - diff --git a/src/Generating/Ravines.h b/src/Generating/Ravines.h index d1d0e0076..bb3206d4b 100644 --- a/src/Generating/Ravines.h +++ b/src/Generating/Ravines.h @@ -15,16 +15,14 @@ -class cStructGenRavines: - public cGridStructGen +class cStructGenRavines : public cGridStructGen { using Super = cGridStructGen; -public: - + public: cStructGenRavines(int a_Seed, int a_Size); -protected: + protected: class cRavine; // fwd: Ravines.cpp int m_Size; // Max size, in blocks, of the ravines generated @@ -32,7 +30,4 @@ protected: // cGridStructGen overrides: virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override; -} ; - - - +}; diff --git a/src/Generating/RoughRavines.cpp b/src/Generating/RoughRavines.cpp index a39f7922d..a98582771 100644 --- a/src/Generating/RoughRavines.cpp +++ b/src/Generating/RoughRavines.cpp @@ -15,20 +15,27 @@ //////////////////////////////////////////////////////////////////////////////// // cRoughRavine: -class cRoughRavine: - public cGridStructGen::cStructure +class cRoughRavine : public cGridStructGen::cStructure { using Super = cGridStructGen::cStructure; -public: - + public: cRoughRavine( - int a_Seed, size_t a_Size, - float a_CenterWidth, float a_Roughness, - float a_FloorHeightEdge1, float a_FloorHeightEdge2, float a_FloorHeightCenter, - float a_CeilingHeightEdge1, float a_CeilingHeightEdge2, float a_CeilingHeightCenter, - int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ - ): + int a_Seed, + size_t a_Size, + float a_CenterWidth, + float a_Roughness, + float a_FloorHeightEdge1, + float a_FloorHeightEdge2, + float a_FloorHeightCenter, + float a_CeilingHeightEdge1, + float a_CeilingHeightEdge2, + float a_CeilingHeightCenter, + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ + ) : Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ), m_Seed(a_Seed + 100), m_Noise(a_Seed + 100), @@ -40,12 +47,19 @@ public: m_DefPoints.resize(Max + 1); int rnd = m_Noise.IntNoise2DInt(a_OriginX, a_OriginZ) / 7; float Len = static_cast(a_Size); - float Angle = static_cast(rnd); // Angle is in radians, will be wrapped in the "sin" and "cos" operations + float Angle = + static_cast(rnd); // Angle is in radians, will be wrapped in the "sin" and "cos" operations float OfsX = sinf(Angle) * Len; float OfsZ = cosf(Angle) * Len; - m_DefPoints[0].Set (a_OriginX - OfsX, a_OriginZ - OfsZ, 1, a_CeilingHeightEdge1, a_FloorHeightEdge1); - m_DefPoints[Half].Set(static_cast(a_OriginX), static_cast(a_OriginZ), a_CenterWidth, a_CeilingHeightCenter, a_FloorHeightCenter); - m_DefPoints[Max].Set (a_OriginX + OfsX, a_OriginZ + OfsZ, 1, a_CeilingHeightEdge2, a_FloorHeightEdge2); + m_DefPoints[0].Set(a_OriginX - OfsX, a_OriginZ - OfsZ, 1, a_CeilingHeightEdge1, a_FloorHeightEdge1); + m_DefPoints[Half].Set( + static_cast(a_OriginX), + static_cast(a_OriginZ), + a_CenterWidth, + a_CeilingHeightCenter, + a_FloorHeightCenter + ); + m_DefPoints[Max].Set(a_OriginX + OfsX, a_OriginZ + OfsZ, 1, a_CeilingHeightEdge2, a_FloorHeightEdge2); // Calculate the points in between, recursively: SubdivideLine(0, Half); @@ -55,7 +69,7 @@ public: InitPerHeightRadius(a_GridX, a_GridZ); } -protected: + protected: struct sRavineDefPoint { float m_X; @@ -100,7 +114,7 @@ protected: float MidX = (p1.m_X + p2.m_X) / 2; float MidZ = (p1.m_Z + p2.m_Z) / 2; float MidR = (p1.m_Radius + p2.m_Radius) / 2 + 0.1f; - float MidT = (p1.m_Top + p2.m_Top) / 2; + float MidT = (p1.m_Top + p2.m_Top) / 2; float MidB = (p1.m_Bottom + p2.m_Bottom) / 2; // Adjust the midpoint by a small amount of perpendicular vector in a random one of its two directions: @@ -162,12 +176,10 @@ protected: int BlockEndZ = BlockStartZ + cChunkDef::Width; for (sRavineDefPoints::const_iterator itr = m_DefPoints.begin(), end = m_DefPoints.end(); itr != end; ++itr) { - if ( - (ceilf (itr->m_X + itr->m_Radius + 2) < BlockStartX) || + if ((ceilf(itr->m_X + itr->m_Radius + 2) < BlockStartX) || (floorf(itr->m_X - itr->m_Radius - 2) > BlockEndX) || - (ceilf (itr->m_Z + itr->m_Radius + 2) < BlockStartZ) || - (floorf(itr->m_Z - itr->m_Radius - 2) > BlockEndZ) - ) + (ceilf(itr->m_Z + itr->m_Radius + 2) < BlockStartZ) || + (floorf(itr->m_Z - itr->m_Radius - 2) > BlockEndZ)) { // Cannot intersect, bail out early continue; @@ -175,41 +187,44 @@ protected: // Carve out a cylinder around the xz point, up to (m_Radius + 2) in diameter, from Bottom to Top: // On each height level, use m_PerHeightRadius[] to modify the actual radius used - // EnlargedRadiusSq is the square of the radius enlarged by the maximum m_PerHeightRadius offset - anything outside it will never be touched. + // EnlargedRadiusSq is the square of the radius enlarged by the maximum m_PerHeightRadius offset - anything + // outside it will never be touched. float RadiusSq = (itr->m_Radius + 2) * (itr->m_Radius + 2); float DifX = BlockStartX - itr->m_X; // substitution for faster calc float DifZ = BlockStartZ - itr->m_Z; // substitution for faster calc - for (int x = 0; x < cChunkDef::Width; x++) for (int z = 0; z < cChunkDef::Width; z++) - { - #ifndef NDEBUG - // DEBUG: Make the roughravine shapepoints visible on a single layer (so that we can see with Minutor what's going on) - if ((FloorC(DifX + x) == 0) && (FloorC(DifZ + z) == 0)) - { - a_ChunkDesc.SetBlockType(x, 4, z, E_BLOCK_LAPIS_ORE); - } - #endif // !NDEBUG - - // If the column is outside the enlarged radius, bail out completely - float DistSq = (DifX + x) * (DifX + x) + (DifZ + z) * (DifZ + z); - if (DistSq > RadiusSq) + for (int x = 0; x < cChunkDef::Width; x++) + for (int z = 0; z < cChunkDef::Width; z++) { - continue; - } +#ifndef NDEBUG + // DEBUG: Make the roughravine shapepoints visible on a single layer (so that we can see with + // Minutor what's going on) + if ((FloorC(DifX + x) == 0) && (FloorC(DifZ + z) == 0)) + { + a_ChunkDesc.SetBlockType(x, 4, z, E_BLOCK_LAPIS_ORE); + } +#endif // !NDEBUG - int Top = std::min(CeilC(itr->m_Top), +cChunkDef::Height); - for (int y = std::max(FloorC(itr->m_Bottom), 1); y <= Top; y++) - { - if ((itr->m_Radius + m_PerHeightRadius[y]) * (itr->m_Radius + m_PerHeightRadius[y]) < DistSq) + // If the column is outside the enlarged radius, bail out completely + float DistSq = (DifX + x) * (DifX + x) + (DifZ + z) * (DifZ + z); + if (DistSq > RadiusSq) { continue; } - if (cBlockInfo::CanBeTerraformed(a_ChunkDesc.GetBlockType(x, y, z))) + int Top = std::min(CeilC(itr->m_Top), +cChunkDef::Height); + for (int y = std::max(FloorC(itr->m_Bottom), 1); y <= Top; y++) { - a_ChunkDesc.SetBlockType(x, y, z, E_BLOCK_AIR); - } - } // for y - } // for x, z - a_BlockTypes + if ((itr->m_Radius + m_PerHeightRadius[y]) * (itr->m_Radius + m_PerHeightRadius[y]) < DistSq) + { + continue; + } + + if (cBlockInfo::CanBeTerraformed(a_ChunkDesc.GetBlockType(x, y, z))) + { + a_ChunkDesc.SetBlockType(x, y, z, E_BLOCK_AIR); + } + } // for y + } // for x, z - a_BlockTypes } // for itr - m_Points[] } }; @@ -223,14 +238,22 @@ protected: cRoughRavines::cRoughRavines( int a_Seed, - int a_MaxSize, int a_MinSize, - float a_MaxCenterWidth, float a_MinCenterWidth, - float a_MaxRoughness, float a_MinRoughness, - float a_MaxFloorHeightEdge, float a_MinFloorHeightEdge, - float a_MaxFloorHeightCenter, float a_MinFloorHeightCenter, - float a_MaxCeilingHeightEdge, float a_MinCeilingHeightEdge, - float a_MaxCeilingHeightCenter, float a_MinCeilingHeightCenter, - int a_GridSize, int a_MaxOffset + int a_MaxSize, + int a_MinSize, + float a_MaxCenterWidth, + float a_MinCenterWidth, + float a_MaxRoughness, + float a_MinRoughness, + float a_MaxFloorHeightEdge, + float a_MinFloorHeightEdge, + float a_MaxFloorHeightCenter, + float a_MinFloorHeightCenter, + float a_MaxCeilingHeightEdge, + float a_MinCeilingHeightEdge, + float a_MaxCeilingHeightCenter, + float a_MinCeilingHeightCenter, + int a_GridSize, + int a_MaxOffset ) : Super(a_Seed, a_GridSize, a_GridSize, a_MaxOffset, a_MaxOffset, a_MaxSize, a_MaxSize, 64), m_MaxSize(a_MaxSize), @@ -276,26 +299,39 @@ cRoughRavines::cRoughRavines( cGridStructGen::cStructurePtr cRoughRavines::CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) { // Pick a random value for each of the ravine's parameters: - size_t Size = static_cast(m_MinSize + (m_Noise.IntNoise2DInt(a_GridX, a_GridZ) / 7) % (m_MaxSize - m_MinSize)); // Random int from m_MinSize to m_MaxSize - float CenterWidth = m_Noise.IntNoise2DInRange(a_GridX + 10, a_GridZ, m_MinCenterWidth, m_MaxCenterWidth); - float Roughness = m_Noise.IntNoise2DInRange(a_GridX + 20, a_GridZ, m_MinRoughness, m_MaxRoughness); - float FloorHeightEdge1 = m_Noise.IntNoise2DInRange(a_GridX + 30, a_GridZ, m_MinFloorHeightEdge, m_MaxFloorHeightEdge); - float FloorHeightEdge2 = m_Noise.IntNoise2DInRange(a_GridX + 40, a_GridZ, m_MinFloorHeightEdge, m_MaxFloorHeightEdge); - float FloorHeightCenter = m_Noise.IntNoise2DInRange(a_GridX + 50, a_GridZ, m_MinFloorHeightCenter, m_MaxFloorHeightCenter); - float CeilingHeightEdge1 = m_Noise.IntNoise2DInRange(a_GridX + 60, a_GridZ, m_MinCeilingHeightEdge, m_MaxCeilingHeightEdge); - float CeilingHeightEdge2 = m_Noise.IntNoise2DInRange(a_GridX + 70, a_GridZ, m_MinCeilingHeightEdge, m_MaxCeilingHeightEdge); - float CeilingHeightCenter = m_Noise.IntNoise2DInRange(a_GridX + 80, a_GridZ, m_MinCeilingHeightCenter, m_MaxCeilingHeightCenter); + size_t Size = static_cast( + m_MinSize + (m_Noise.IntNoise2DInt(a_GridX, a_GridZ) / 7) % (m_MaxSize - m_MinSize) + ); // Random int from m_MinSize to m_MaxSize + float CenterWidth = m_Noise.IntNoise2DInRange(a_GridX + 10, a_GridZ, m_MinCenterWidth, m_MaxCenterWidth); + float Roughness = m_Noise.IntNoise2DInRange(a_GridX + 20, a_GridZ, m_MinRoughness, m_MaxRoughness); + float FloorHeightEdge1 = + m_Noise.IntNoise2DInRange(a_GridX + 30, a_GridZ, m_MinFloorHeightEdge, m_MaxFloorHeightEdge); + float FloorHeightEdge2 = + m_Noise.IntNoise2DInRange(a_GridX + 40, a_GridZ, m_MinFloorHeightEdge, m_MaxFloorHeightEdge); + float FloorHeightCenter = + m_Noise.IntNoise2DInRange(a_GridX + 50, a_GridZ, m_MinFloorHeightCenter, m_MaxFloorHeightCenter); + float CeilingHeightEdge1 = + m_Noise.IntNoise2DInRange(a_GridX + 60, a_GridZ, m_MinCeilingHeightEdge, m_MaxCeilingHeightEdge); + float CeilingHeightEdge2 = + m_Noise.IntNoise2DInRange(a_GridX + 70, a_GridZ, m_MinCeilingHeightEdge, m_MaxCeilingHeightEdge); + float CeilingHeightCenter = + m_Noise.IntNoise2DInRange(a_GridX + 80, a_GridZ, m_MinCeilingHeightCenter, m_MaxCeilingHeightCenter); // Create a ravine: return cStructurePtr(new cRoughRavine( m_Seed, - Size, CenterWidth, Roughness, - FloorHeightEdge1, FloorHeightEdge2, FloorHeightCenter, - CeilingHeightEdge1, CeilingHeightEdge2, CeilingHeightCenter, - a_GridX, a_GridZ, a_OriginX, a_OriginZ + Size, + CenterWidth, + Roughness, + FloorHeightEdge1, + FloorHeightEdge2, + FloorHeightCenter, + CeilingHeightEdge1, + CeilingHeightEdge2, + CeilingHeightCenter, + a_GridX, + a_GridZ, + a_OriginX, + a_OriginZ )); } - - - - diff --git a/src/Generating/RoughRavines.h b/src/Generating/RoughRavines.h index 88b2f2e6d..4636d6e2f 100644 --- a/src/Generating/RoughRavines.h +++ b/src/Generating/RoughRavines.h @@ -14,26 +14,32 @@ -class cRoughRavines: - public cGridStructGen +class cRoughRavines : public cGridStructGen { using Super = cGridStructGen; -public: - + public: cRoughRavines( int a_Seed, - int a_MaxSize, int a_MinSize, - float a_MaxCenterWidth, float a_MinCenterWidth, - float a_MaxRoughness, float a_MinRoughness, - float a_MaxFloorHeightEdge, float a_MinFloorHeightEdge, - float a_MaxFloorHeightCenter, float a_MinFloorHeightCenter, - float a_MaxCeilingHeightEdge, float a_MinCeilingHeightEdge, - float a_MaxCeilingHeightCenter, float a_MinCeilingHeightCenter, - int a_GridSize, int a_MaxOffset + int a_MaxSize, + int a_MinSize, + float a_MaxCenterWidth, + float a_MinCenterWidth, + float a_MaxRoughness, + float a_MinRoughness, + float a_MaxFloorHeightEdge, + float a_MinFloorHeightEdge, + float a_MaxFloorHeightCenter, + float a_MinFloorHeightCenter, + float a_MaxCeilingHeightEdge, + float a_MinCeilingHeightEdge, + float a_MaxCeilingHeightCenter, + float a_MinCeilingHeightCenter, + int a_GridSize, + int a_MaxOffset ); -protected: + protected: /** Maximum size of the ravine, in each of the X / Z axis */ int m_MaxSize; @@ -79,7 +85,3 @@ protected: // cGridStructGen overrides: virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override; }; - - - - diff --git a/src/Generating/ShapeGen.cpp b/src/Generating/ShapeGen.cpp index f46c0c8e9..8d2f22c8b 100644 --- a/src/Generating/ShapeGen.cpp +++ b/src/Generating/ShapeGen.cpp @@ -19,11 +19,10 @@ // cTerrainHeightToShapeGen: /** Converts old-style height-generators into new-style shape-generators. */ -class cTerrainHeightToShapeGen: - public cTerrainShapeGen +class cTerrainHeightToShapeGen : public cTerrainShapeGen { -public: - cTerrainHeightToShapeGen(std::unique_ptr a_HeightGen): + public: + cTerrainHeightToShapeGen(std::unique_ptr a_HeightGen) : m_HeightGen(std::move(a_HeightGen)) { } @@ -56,12 +55,9 @@ public: } - virtual void InitializeShapeGen(cIniFile & a_IniFile) override - { - m_HeightGen->InitializeHeightGen(a_IniFile); - } + virtual void InitializeShapeGen(cIniFile & a_IniFile) override { m_HeightGen->InitializeHeightGen(a_IniFile); } -protected: + protected: /** The height generator being converted. */ std::unique_ptr m_HeightGen; }; diff --git a/src/Generating/SinglePieceStructuresGen.cpp b/src/Generating/SinglePieceStructuresGen.cpp index 375e87fdf..165c60c3a 100644 --- a/src/Generating/SinglePieceStructuresGen.cpp +++ b/src/Generating/SinglePieceStructuresGen.cpp @@ -9,17 +9,13 @@ //////////////////////////////////////////////////////////////////////////////// // cSinglePieceStructuresGen::cGen -class cSinglePieceStructuresGen::cGen : - public cGridStructGen +class cSinglePieceStructuresGen::cGen : public cGridStructGen { using Super = cGridStructGen; -public: - cGen(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel, const AString & a_Name): - Super(a_Seed), - m_BiomeGen(a_BiomeGen), - m_HeightGen(a_HeightGen), - m_SeaLevel(a_SeaLevel), - m_Name(a_Name) + + public: + cGen(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel, const AString & a_Name) : + Super(a_Seed), m_BiomeGen(a_BiomeGen), m_HeightGen(a_HeightGen), m_SeaLevel(a_SeaLevel), m_Name(a_Name) { } @@ -38,8 +34,11 @@ public: } if (NoCaseCompare(m_PiecePool.GetIntendedUse(), "SinglePieceStructures") != 0) { - LOGWARNING("SinglePieceStructures generator: File %s is intended for use in \"%s\", rather than single piece structures. Loading the file, but the generator may behave unexpectedly.", - a_FileName.c_str(), m_PiecePool.GetIntendedUse().c_str() + LOGWARNING( + "SinglePieceStructures generator: File %s is intended for use in \"%s\", rather than single piece " + "structures. Loading the file, but the generator may behave unexpectedly.", + a_FileName.c_str(), + m_PiecePool.GetIntendedUse().c_str() ); } m_PiecePool.AssignGens(m_Seed, m_BiomeGen, m_HeightGen, m_SeaLevel); @@ -71,7 +70,14 @@ public: } cPlacedPieces OutPiece; OutPiece.push_back(GetPiece(a_OriginX, a_OriginZ)); - return std::make_shared(a_GridX, a_GridZ, a_OriginX, a_OriginZ, std::move(OutPiece), m_HeightGen); + return std::make_shared( + a_GridX, + a_GridZ, + a_OriginX, + a_OriginZ, + std::move(OutPiece), + m_HeightGen + ); } @@ -126,15 +132,17 @@ public: int BlockY = StartingPiece->GetStartingPieceHeight(a_BlockX, a_BlockZ); ASSERT(BlockY >= 0); // The vertical strategy should have been provided and should give valid coords - cPlacedPiece * Piece = new cPlacedPiece(nullptr, *StartingPiece, Vector3i(a_BlockX, BlockY, a_BlockZ), Rotation); + cPlacedPiece * Piece = + new cPlacedPiece(nullptr, *StartingPiece, Vector3i(a_BlockX, BlockY, a_BlockZ), Rotation); return cPlacedPiecePtr(Piece); } -protected: + protected: /** The underlying biome generator that defines whether the structure is created or not */ cBiomeGen & m_BiomeGen; - /** The underlying height generator, used to position the prefabs crossing chunk borders if they are set to FitGround. */ + /** The underlying height generator, used to position the prefabs crossing chunk borders if they are set to + * FitGround. */ cTerrainHeightGen & m_HeightGen; /** The world's sea level, if available. Used for some cVerticalStrategy descendants. */ @@ -160,13 +168,19 @@ cSinglePieceStructuresGen::cSinglePieceStructuresGen(int a_Seed) : -bool cSinglePieceStructuresGen::Initialize(const AString & a_Prefabs, int a_SeaLevel, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen) +bool cSinglePieceStructuresGen::Initialize( + const AString & a_Prefabs, + int a_SeaLevel, + cBiomeGen & a_BiomeGen, + cTerrainHeightGen & a_HeightGen +) { // Load each piecepool: auto Structures = StringSplitAndTrim(a_Prefabs, "|"); - for (const auto & S: Structures) + for (const auto & S : Structures) { - auto FileName = fmt::format(FMT_STRING("Prefabs{0}SinglePieceStructures{0}{1}.cubeset"), cFile::PathSeparator(), S); + auto FileName = + fmt::format(FMT_STRING("Prefabs{0}SinglePieceStructures{0}{1}.cubeset"), cFile::PathSeparator(), S); if (!cFile::IsFile(FileName)) { FileName.append(".gz"); @@ -187,7 +201,10 @@ bool cSinglePieceStructuresGen::Initialize(const AString & a_Prefabs, int a_SeaL // Report a warning if no generators available: if (m_Gens.empty()) { - LOGWARNING("The PieceStructures generator was asked to generate \"%s\", but none of the prefabs are valid.", a_Prefabs); + LOGWARNING( + "The PieceStructures generator was asked to generate \"%s\", but none of the prefabs are valid.", + a_Prefabs + ); return false; } return true; @@ -199,7 +216,7 @@ bool cSinglePieceStructuresGen::Initialize(const AString & a_Prefabs, int a_SeaL void cSinglePieceStructuresGen::GenFinish(cChunkDesc & a_Chunk) { - for (auto & Gen: m_Gens) + for (auto & Gen : m_Gens) { Gen->GenFinish(a_Chunk); } diff --git a/src/Generating/SinglePieceStructuresGen.h b/src/Generating/SinglePieceStructuresGen.h index 386d0f9ae..3edde2f4a 100644 --- a/src/Generating/SinglePieceStructuresGen.h +++ b/src/Generating/SinglePieceStructuresGen.h @@ -18,12 +18,11 @@ This uses the cGridStructGen to generate the structures on the map This is similar to the Piece Structure Generator but only placing one possible structure The Exported cubeset MUST have all possible structures as start structures or the server crashes on generation else it isn't accessible from the m_Piecepool. */ -class cSinglePieceStructuresGen : - public cFinishGen +class cSinglePieceStructuresGen : public cFinishGen { -using Super = cFinishGen; + using Super = cFinishGen; -public: + public: cSinglePieceStructuresGen(int a_Seed); /** Initializes the generator based on the specified prefab sets. @@ -36,7 +35,7 @@ public: // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -protected: + protected: /** The generator doing the work for a single prefab set. Forward-declared so that its implementation changes don't affect the header. */ class cGen; diff --git a/src/Generating/StructGen.cpp b/src/Generating/StructGen.cpp index 2b497e9a5..3e6a70996 100644 --- a/src/Generating/StructGen.cpp +++ b/src/Generating/StructGen.cpp @@ -37,12 +37,13 @@ void cStructGenTrees::GenFinish(cChunkDesc & a_ChunkDesc) Dest = &WorkerDesc; WorkerDesc.SetChunkCoords({BaseX, BaseZ}); - // TODO: This may cause a lot of wasted calculations, instead of pulling data out of a single (cChunkDesc) cache + // TODO: This may cause a lot of wasted calculations, instead of pulling data out of a single + // (cChunkDesc) cache cChunkDesc::Shape workerShape; - m_BiomeGen.GenBiomes ({BaseX, BaseZ}, WorkerDesc.GetBiomeMap()); - m_ShapeGen.GenShape ({BaseX, BaseZ}, workerShape); - WorkerDesc.SetHeightFromShape (workerShape); + m_BiomeGen.GenBiomes({BaseX, BaseZ}, WorkerDesc.GetBiomeMap()); + m_ShapeGen.GenShape({BaseX, BaseZ}, workerShape); + WorkerDesc.SetHeightFromShape(workerShape); m_CompositionGen.ComposeTerrain(WorkerDesc, workerShape); } else @@ -60,7 +61,9 @@ void cStructGenTrees::GenFinish(cChunkDesc & a_ChunkDesc) Pos.z = (m_Noise.IntNoise3DInt(BaseX - BaseZ, 0, BaseZ) / 19) % cChunkDef::Width; Pos.y = Dest->GetHeight(Pos.x, Pos.z); - if (std::abs(m_Noise.IntNoise3D(BaseX * cChunkDef::Width + Pos.x, Pos.y, BaseZ * cChunkDef::Width + Pos.z)) <= NumTrees) + if (std::abs( + m_Noise.IntNoise3D(BaseX * cChunkDef::Width + Pos.x, Pos.y, BaseZ * cChunkDef::Width + Pos.z) + ) <= NumTrees) { GenerateSingleTree(BaseX, BaseZ, 0, Pos, *Dest, OutsideLogs, OutsideOther); } @@ -94,7 +97,9 @@ void cStructGenTrees::GenFinish(cChunkDesc & a_ChunkDesc) void cStructGenTrees::GenerateSingleTree( - int a_ChunkX, int a_ChunkZ, int a_Seq, + int a_ChunkX, + int a_ChunkZ, + int a_Seq, Vector3i a_Pos, cChunkDesc & a_ChunkDesc, sSetBlockVector & a_OutsideLogs, @@ -108,17 +113,20 @@ void cStructGenTrees::GenerateSingleTree( // Check the block underneath the tree: BLOCKTYPE TopBlock = a_ChunkDesc.GetBlockType(a_Pos.x, a_Pos.y, a_Pos.z); - if ((TopBlock != E_BLOCK_DIRT) && (TopBlock != E_BLOCK_GRASS) && (TopBlock != E_BLOCK_FARMLAND) && (TopBlock != E_BLOCK_MYCELIUM)) + if ((TopBlock != E_BLOCK_DIRT) && (TopBlock != E_BLOCK_GRASS) && (TopBlock != E_BLOCK_FARMLAND) && + (TopBlock != E_BLOCK_MYCELIUM)) { return; } sSetBlockVector TreeLogs, TreeOther; GetTreeImageByBiome( - { a_ChunkX * cChunkDef::Width + a_Pos.x, a_Pos.y + 1, a_ChunkZ * cChunkDef::Width + a_Pos.z }, - m_Noise, a_Seq, + {a_ChunkX * cChunkDef::Width + a_Pos.x, a_Pos.y + 1, a_ChunkZ * cChunkDef::Width + a_Pos.z}, + m_Noise, + a_Seq, a_ChunkDesc.GetBiome(a_Pos.x, a_Pos.z), - TreeLogs, TreeOther + TreeLogs, + TreeOther ); // Check if the generated image fits the terrain. Only the logs are checked: @@ -138,20 +146,20 @@ void cStructGenTrees::GenerateSingleTree( BLOCKTYPE Block = a_ChunkDesc.GetBlockType(itr->m_RelX, itr->m_RelY, itr->m_RelZ); switch (Block) { - CASE_TREE_ALLOWED_BLOCKS: - { - break; - } - default: - { - // There's something in the way, abort this tree altogether - return; - } + CASE_TREE_ALLOWED_BLOCKS: + { + break; + } + default: + { + // There's something in the way, abort this tree altogether + return; + } } } ApplyTreeImage(a_ChunkX, a_ChunkZ, a_ChunkDesc, TreeOther, a_OutsideOther); - ApplyTreeImage(a_ChunkX, a_ChunkZ, a_ChunkDesc, TreeLogs, a_OutsideLogs); + ApplyTreeImage(a_ChunkX, a_ChunkZ, a_ChunkDesc, TreeLogs, a_OutsideLogs); } @@ -159,7 +167,8 @@ void cStructGenTrees::GenerateSingleTree( void cStructGenTrees::ApplyTreeImage( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, cChunkDesc & a_ChunkDesc, const sSetBlockVector & a_Image, sSetBlockVector & a_Overflow @@ -186,12 +195,11 @@ void cStructGenTrees::ApplyTreeImage( } CASE_TREE_OVERWRITTEN_BLOCKS: { - a_ChunkDesc.SetBlockTypeMeta(itr->m_RelX, itr->m_RelY, itr->m_RelZ, itr->m_BlockType, itr->m_BlockMeta); + a_ChunkDesc + .SetBlockTypeMeta(itr->m_RelX, itr->m_RelY, itr->m_RelZ, itr->m_BlockType, itr->m_BlockMeta); // If grass is below our tree, turn it to dirt - if ( - (cBlockInfo::IsSolid(itr->m_BlockType)) && - (a_ChunkDesc.GetBlockType(itr->m_RelX, itr->m_RelY - 1, itr->m_RelZ) == E_BLOCK_GRASS) - ) + if ((cBlockInfo::IsSolid(itr->m_BlockType)) && + (a_ChunkDesc.GetBlockType(itr->m_RelX, itr->m_RelY - 1, itr->m_RelZ) == E_BLOCK_GRASS)) { a_ChunkDesc.SetBlockType(itr->m_RelX, itr->m_RelY - 1, itr->m_RelZ, E_BLOCK_DIRT); } @@ -212,10 +220,7 @@ void cStructGenTrees::ApplyTreeImage( -double cStructGenTrees::GetNumTrees( - int a_ChunkX, int a_ChunkZ, - const cChunkDef::BiomeMap & a_Biomes -) +double cStructGenTrees::GetNumTrees(int a_ChunkX, int a_ChunkZ, const cChunkDef::BiomeMap & a_Biomes) { auto BiomeTrees = [](EMCSBiome a_Biome) { @@ -316,22 +321,23 @@ void cStructGenLakes::GenFinish(cChunkDesc & a_ChunkDesc) int ChunkX = a_ChunkDesc.GetChunkX(); int ChunkZ = a_ChunkDesc.GetChunkZ(); - for (int z = -1; z < 2; z++) for (int x = -1; x < 2; x++) - { - if (((m_Noise.IntNoise2DInt(ChunkX + x, ChunkZ + z) / 17) % 100) > m_Probability) + for (int z = -1; z < 2; z++) + for (int x = -1; x < 2; x++) { - continue; - } + if (((m_Noise.IntNoise2DInt(ChunkX + x, ChunkZ + z) / 17) % 100) > m_Probability) + { + continue; + } - cBlockArea Lake; - CreateLakeImage(ChunkX + x, ChunkZ + z, a_ChunkDesc.GetMinHeight(), Lake); + cBlockArea Lake; + CreateLakeImage(ChunkX + x, ChunkZ + z, a_ChunkDesc.GetMinHeight(), Lake); - int OfsX = Lake.GetOriginX() + x * cChunkDef::Width; - int OfsZ = Lake.GetOriginZ() + z * cChunkDef::Width; + int OfsX = Lake.GetOriginX() + x * cChunkDef::Width; + int OfsZ = Lake.GetOriginZ() + z * cChunkDef::Width; - // Merge the lake into the current data - a_ChunkDesc.WriteBlockArea(Lake, OfsX, Lake.GetOriginY(), OfsZ, cBlockArea::msLake); - } // for x, z - neighbor chunks + // Merge the lake into the current data + a_ChunkDesc.WriteBlockArea(Lake, OfsX, Lake.GetOriginY(), OfsZ, cBlockArea::msLake); + } // for x, z - neighbor chunks } @@ -343,13 +349,16 @@ void cStructGenLakes::CreateLakeImage(int a_ChunkX, int a_ChunkZ, int a_MaxLakeH a_Lake.Create(16, 8, 16); a_Lake.Fill(cBlockArea::baTypes, E_BLOCK_SPONGE); // Sponge is the NOP blocktype for lake merging strategy - // Make a random position in the chunk by using a random 16 block XZ offset and random height up to chunk's max height minus 6 + // Make a random position in the chunk by using a random 16 block XZ offset and random height up to chunk's max + // height minus 6 int MinHeight = std::max(a_MaxLakeHeight - 6, 2); int Rnd = m_Noise.IntNoise3DInt(a_ChunkX, 128, a_ChunkZ) / 11; - // Random offset [-8 .. 8], with higher probability around 0; add up four three-bit-wide randoms [0 .. 28], divide and subtract to get range + // Random offset [-8 .. 8], with higher probability around 0; add up four three-bit-wide randoms [0 .. 28], divide + // and subtract to get range int OffsetX = 4 * ((Rnd & 0x07) + ((Rnd & 0x38) >> 3) + ((Rnd & 0x1c0) >> 6) + ((Rnd & 0xe00) >> 9)) / 7 - 8; Rnd >>= 12; - // Random offset [-8 .. 8], with higher probability around 0; add up four three-bit-wide randoms [0 .. 28], divide and subtract to get range + // Random offset [-8 .. 8], with higher probability around 0; add up four three-bit-wide randoms [0 .. 28], divide + // and subtract to get range int OffsetZ = 4 * ((Rnd & 0x07) + ((Rnd & 0x38) >> 3) + ((Rnd & 0x1c0) >> 6) + ((Rnd & 0xe00) >> 9)) / 7 - 8; Rnd = m_Noise.IntNoise3DInt(a_ChunkX, 512, a_ChunkZ) / 13; // Random height [1 .. MinHeight] with preference to center heights @@ -399,13 +408,14 @@ void cStructGenLakes::CreateLakeImage(int a_ChunkX, int a_ChunkZ, int a_MaxLakeH // Turn air in the bottom half into liquid: for (int y = 0; y < 4; y++) { - for (int z = 0; z < 16; z++) for (int x = 0; x < 16; x++) - { - if (BlockTypes[x + z * 16 + y * 16 * 16] == E_BLOCK_AIR) + for (int z = 0; z < 16; z++) + for (int x = 0; x < 16; x++) { - BlockTypes[x + z * 16 + y * 16 * 16] = m_Fluid; - } - } // for z, x + if (BlockTypes[x + z * 16 + y * 16 * 16] == E_BLOCK_AIR) + { + BlockTypes[x + z * 16 + y * 16 * 16] = m_Fluid; + } + } // for z, x } // for y // TODO: Turn sponge next to lava into stone @@ -421,8 +431,7 @@ void cStructGenLakes::CreateLakeImage(int a_ChunkX, int a_ChunkZ, int a_MaxLakeH // cStructGenDirectOverhangs: cStructGenDirectOverhangs::cStructGenDirectOverhangs(int a_Seed) : - m_Noise1(a_Seed), - m_Noise2(a_Seed + 1000) + m_Noise1(a_Seed), m_Noise2(a_Seed + 1000) { } @@ -443,9 +452,10 @@ void cStructGenDirectOverhangs::GenFinish(cChunkDesc & a_ChunkDesc) const int SEGMENT_HEIGHT = 8; const int INTERPOL_X = 16; // Must be a divisor of 16 const int INTERPOL_Z = 16; // Must be a divisor of 16 - // Interpolate the chunk in 16 * SEGMENT_HEIGHT * 16 "segments", each SEGMENT_HEIGHT blocks high and each linearly interpolated separately. - // Have two buffers, one for the lowest floor and one for the highest floor, so that Y-interpolation can be done between them - // Then swap the buffers and use the previously-top one as the current-bottom, without recalculating it. + // Interpolate the chunk in 16 * SEGMENT_HEIGHT * 16 "segments", each SEGMENT_HEIGHT blocks high and each linearly + // interpolated separately. Have two buffers, one for the lowest floor and one for the highest floor, so that + // Y-interpolation can be done between them Then swap the buffers and use the previously-top one as the + // current-bottom, without recalculating it. int FloorBuf1[17 * 17]; int FloorBuf2[17 * 17]; @@ -456,48 +466,50 @@ void cStructGenDirectOverhangs::GenFinish(cChunkDesc & a_ChunkDesc) int BaseY = 63; // Interpolate the lowest floor: - for (int z = 0; z <= 16 / INTERPOL_Z; z++) for (int x = 0; x <= 16 / INTERPOL_X; x++) - { - FloorLo[INTERPOL_X * x + 17 * INTERPOL_Z * z] = - m_Noise1.IntNoise3DInt(BaseX + INTERPOL_X * x, BaseY, BaseZ + INTERPOL_Z * z) * - m_Noise2.IntNoise3DInt(BaseX + INTERPOL_X * x, BaseY, BaseZ + INTERPOL_Z * z) / - 256; - } // for x, z - FloorLo[] + for (int z = 0; z <= 16 / INTERPOL_Z; z++) + for (int x = 0; x <= 16 / INTERPOL_X; x++) + { + FloorLo[INTERPOL_X * x + 17 * INTERPOL_Z * z] = + m_Noise1.IntNoise3DInt(BaseX + INTERPOL_X * x, BaseY, BaseZ + INTERPOL_Z * z) * + m_Noise2.IntNoise3DInt(BaseX + INTERPOL_X * x, BaseY, BaseZ + INTERPOL_Z * z) / 256; + } // for x, z - FloorLo[] LinearUpscale2DArrayInPlace<17, 17, INTERPOL_X, INTERPOL_Z>(FloorLo); // Interpolate segments: for (int Segment = BaseY; Segment < MaxHeight; Segment += SEGMENT_HEIGHT) { // First update the high floor: - for (int z = 0; z <= 16 / INTERPOL_Z; z++) for (int x = 0; x <= 16 / INTERPOL_X; x++) - { - FloorHi[INTERPOL_X * x + 17 * INTERPOL_Z * z] = ( - m_Noise1.IntNoise3DInt(BaseX + INTERPOL_X * x, Segment + SEGMENT_HEIGHT, BaseZ + INTERPOL_Z * z) * - m_Noise2.IntNoise3DInt(BaseX + INTERPOL_Z * x, Segment + SEGMENT_HEIGHT, BaseZ + INTERPOL_Z * z) / 256 - ); - } // for x, z - FloorLo[] + for (int z = 0; z <= 16 / INTERPOL_Z; z++) + for (int x = 0; x <= 16 / INTERPOL_X; x++) + { + FloorHi[INTERPOL_X * x + 17 * INTERPOL_Z * z] = + (m_Noise1.IntNoise3DInt(BaseX + INTERPOL_X * x, Segment + SEGMENT_HEIGHT, BaseZ + INTERPOL_Z * z) * + m_Noise2.IntNoise3DInt(BaseX + INTERPOL_Z * x, Segment + SEGMENT_HEIGHT, BaseZ + INTERPOL_Z * z) / + 256); + } // for x, z - FloorLo[] LinearUpscale2DArrayInPlace<17, 17, INTERPOL_X, INTERPOL_Z>(FloorHi); // Interpolate between FloorLo and FloorHi: - for (int z = 0; z < 16; z++) for (int x = 0; x < 16; x++) - { - EMCSBiome biome = a_ChunkDesc.GetBiome(x, z); - - if ((biome == biExtremeHills) || (biome == biExtremeHillsEdge)) + for (int z = 0; z < 16; z++) + for (int x = 0; x < 16; x++) { - int Lo = FloorLo[x + 17 * z] / 256; - int Hi = FloorHi[x + 17 * z] / 256; - for (int y = 0; y < SEGMENT_HEIGHT; y++) + EMCSBiome biome = a_ChunkDesc.GetBiome(x, z); + + if ((biome == biExtremeHills) || (biome == biExtremeHillsEdge)) { - int Val = Lo + (Hi - Lo) * y / SEGMENT_HEIGHT; - if (Val < 0) + int Lo = FloorLo[x + 17 * z] / 256; + int Hi = FloorHi[x + 17 * z] / 256; + for (int y = 0; y < SEGMENT_HEIGHT; y++) { - a_ChunkDesc.SetBlockType(x, y + Segment, z, E_BLOCK_AIR); - } - } // for y - break; - } // if (biome) - } // for z, x + int Val = Lo + (Hi - Lo) * y / SEGMENT_HEIGHT; + if (Val < 0) + { + a_ChunkDesc.SetBlockType(x, y + Segment, z, E_BLOCK_AIR); + } + } // for y + break; + } // if (biome) + } // for z, x // Swap the floors: std::swap(FloorLo, FloorHi); @@ -537,10 +549,7 @@ bool cStructGenDirectOverhangs::HasWantedBiome(cChunkDesc & a_ChunkDesc) const // cStructGenDistortedMembraneOverhangs: cStructGenDistortedMembraneOverhangs::cStructGenDistortedMembraneOverhangs(int a_Seed) : - m_NoiseX(a_Seed + 1000), - m_NoiseY(a_Seed + 2000), - m_NoiseZ(a_Seed + 3000), - m_NoiseH(a_Seed + 4000) + m_NoiseX(a_Seed + 1000), m_NoiseY(a_Seed + 2000), m_NoiseZ(a_Seed + 3000), m_NoiseH(a_Seed + 4000) { } @@ -559,14 +568,17 @@ void cStructGenDistortedMembraneOverhangs::GenFinish(cChunkDesc & a_ChunkDesc) BLOCKTYPE ReplacementBlock = (y > 62) ? E_BLOCK_AIR : E_BLOCK_STATIONARY_WATER; for (int z = 0; z < cChunkDef::Width; z++) { - NOISE_DATATYPE NoiseZ = static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + z) / Frequency; + NOISE_DATATYPE NoiseZ = + static_cast(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + z) / Frequency; for (int x = 0; x < cChunkDef::Width; x++) { - NOISE_DATATYPE NoiseX = static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + x) / Frequency; + NOISE_DATATYPE NoiseX = + static_cast(a_ChunkDesc.GetChunkX() * cChunkDef::Width + x) / Frequency; NOISE_DATATYPE DistortX = m_NoiseX.CubicNoise3D(NoiseX, NoiseY, NoiseZ) * Amount; NOISE_DATATYPE DistortY = m_NoiseY.CubicNoise3D(NoiseX, NoiseY, NoiseZ) * Amount; NOISE_DATATYPE DistortZ = m_NoiseZ.CubicNoise3D(NoiseX, NoiseY, NoiseZ) * Amount; - int MembraneHeight = 96 - static_cast((DistortY + m_NoiseH.CubicNoise2D(NoiseX + DistortX, NoiseZ + DistortZ)) * 30); + int MembraneHeight = 96 - + static_cast((DistortY + m_NoiseH.CubicNoise2D(NoiseX + DistortX, NoiseZ + DistortZ)) * 30); if (MembraneHeight < y) { a_ChunkDesc.SetBlockType(x, y, z, ReplacementBlock); diff --git a/src/Generating/StructGen.h b/src/Generating/StructGen.h index ec3ed89f6..0e6c5da82 100644 --- a/src/Generating/StructGen.h +++ b/src/Generating/StructGen.h @@ -18,24 +18,28 @@ -class cStructGenTrees : - public cFinishGen +class cStructGenTrees : public cFinishGen { -public: - cStructGenTrees(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainShapeGen & a_ShapeGen, cTerrainCompositionGen & a_CompositionGen) : + public: + cStructGenTrees( + int a_Seed, + cBiomeGen & a_BiomeGen, + cTerrainShapeGen & a_ShapeGen, + cTerrainCompositionGen & a_CompositionGen + ) : m_Seed(a_Seed), m_Noise(a_Seed), m_BiomeGen(a_BiomeGen), m_ShapeGen(a_ShapeGen), m_CompositionGen(a_CompositionGen) - {} - -protected: + { + } + protected: int m_Seed; cNoise m_Noise; - cBiomeGen & m_BiomeGen; - cTerrainShapeGen & m_ShapeGen; + cBiomeGen & m_BiomeGen; + cTerrainShapeGen & m_ShapeGen; cTerrainCompositionGen & m_CompositionGen; /** Generates and applies an image of a single tree. @@ -43,16 +47,19 @@ protected: Parts of the tree outside the chunk are stored in a_OutsideXYZ */ void GenerateSingleTree( - int a_ChunkX, int a_ChunkZ, int a_Seq, + int a_ChunkX, + int a_ChunkZ, + int a_Seq, Vector3i a_Pos, cChunkDesc & a_ChunkDesc, sSetBlockVector & a_OutsideLogs, sSetBlockVector & a_OutsideOther - ) ; + ); /** Applies an image into chunk blockdata; all blocks outside the chunk will be appended to a_Overflow. */ void ApplyTreeImage( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, cChunkDesc & a_ChunkDesc, const sSetBlockVector & a_Image, sSetBlockVector & a_Overflow @@ -61,36 +68,28 @@ protected: /** Get the the number of trees to generate in a_Chunk If the value is between 0 and 1, it should be interpreted as the probability that a tree should be generated. */ - double GetNumTrees( - int a_ChunkX, int a_ChunkZ, - const cChunkDef::BiomeMap & a_Biomes - ); + double GetNumTrees(int a_ChunkX, int a_ChunkZ, const cChunkDef::BiomeMap & a_Biomes); // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; -class cStructGenLakes : - public cFinishGen +class cStructGenLakes : public cFinishGen { -public: + public: cStructGenLakes(int a_Seed, BLOCKTYPE a_Fluid, cTerrainShapeGen & a_ShapeGen, int a_Probability) : - m_Noise(a_Seed), - m_Seed(a_Seed), - m_Fluid(a_Fluid), - m_ShapeGen(a_ShapeGen), - m_Probability(a_Probability) + m_Noise(a_Seed), m_Seed(a_Seed), m_Fluid(a_Fluid), m_ShapeGen(a_ShapeGen), m_Probability(a_Probability) { } -protected: - cNoise m_Noise; - int m_Seed; - BLOCKTYPE m_Fluid; + protected: + cNoise m_Noise; + int m_Seed; + BLOCKTYPE m_Fluid; cTerrainShapeGen & m_ShapeGen; /** Chance, [0 .. 100], of a chunk having the lake. */ @@ -102,39 +101,37 @@ protected: /** Creates a lake image for the specified chunk into a_Lake. */ void CreateLakeImage(int a_ChunkX, int a_ChunkZ, int a_MaxLakeHeight, cBlockArea & a_Lake); -} ; +}; -class cStructGenDirectOverhangs : - public cFinishGen +class cStructGenDirectOverhangs : public cFinishGen { -public: + public: cStructGenDirectOverhangs(int a_Seed); -protected: - cNoise m_Noise1; - cNoise m_Noise2; + protected: + cNoise m_Noise1; + cNoise m_Noise2; // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; bool HasWantedBiome(cChunkDesc & a_ChunkDesc) const; -} ; +}; -class cStructGenDistortedMembraneOverhangs : - public cFinishGen +class cStructGenDistortedMembraneOverhangs : public cFinishGen { -public: + public: cStructGenDistortedMembraneOverhangs(int a_Seed); -protected: + protected: cNoise m_NoiseX; cNoise m_NoiseY; cNoise m_NoiseZ; @@ -142,4 +139,4 @@ protected: // cFinishGen override: virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; +}; diff --git a/src/Generating/Trees.cpp b/src/Generating/Trees.cpp index 385bafb2e..fd9f48e7d 100644 --- a/src/Generating/Trees.cpp +++ b/src/Generating/Trees.cpp @@ -23,41 +23,29 @@ typedef struct NIBBLETYPE Meta; } sMetaCoords; -static const sCoords Corners[] = -{ +static const sCoords Corners[] = { {-1, -1}, {-1, 1}, {1, -1}, {1, 1}, -} ; +}; /** Chooses a direction for a branch to go to based on the start position (a_BlockPos) and a_Seq. */ static const Vector3d & pickBranchDirection(const cNoise a_Noise, Vector3i a_BlockPos, int a_Seq) { - static const std::array directions = - { - { - { -1, 0, 0 }, { 0, 0, -1 }, - { -1, 0, 1 }, { -1, 0, -1 }, - { 1, 0, 1 }, { 1, 0, -1 }, - { 1, 0, 0 }, { 0, 0, 1 }, - - { -0.5, 0, 0 }, { 0, 0, -0.5 }, - { -0.5, 0, 0.5 }, { -0.5, 0, -0.5 }, - { 0.5, 0, 0.5 }, { 0.5, 0, -0.5 }, - { 0.5, 0, 0 }, { 0, 0, 0.5 }, - - { -1, 0.5, 0 }, { 0, 0.5, -1 }, - { -1, 0.5, 1 }, { -1, 0.5, -1 }, - { 1, 0.5, 1 }, { 1, 0.5, -1 }, - { 1, 0.5, 0 }, { 0, 0.5, 1 }, - - { -0.5, 0.5, 0 }, { 0, 0.5, -0.5 }, - { -0.5, 0.5, 0.5 }, { -0.5, 0.5, -0.5 }, - { 0.5, 0.5, 0.5 }, { 0.5, 0.5, -0.5 }, - { 0.5, 0.5, 0 }, { 0, 0.5, 0.5 }, - } - }; + static const std::array directions = {{ + {-1, 0, 0}, {0, 0, -1}, {-1, 0, 1}, {-1, 0, -1}, + {1, 0, 1}, {1, 0, -1}, {1, 0, 0}, {0, 0, 1}, + + {-0.5, 0, 0}, {0, 0, -0.5}, {-0.5, 0, 0.5}, {-0.5, 0, -0.5}, + {0.5, 0, 0.5}, {0.5, 0, -0.5}, {0.5, 0, 0}, {0, 0, 0.5}, + + {-1, 0.5, 0}, {0, 0.5, -1}, {-1, 0.5, 1}, {-1, 0.5, -1}, + {1, 0.5, 1}, {1, 0.5, -1}, {1, 0.5, 0}, {0, 0.5, 1}, + + {-0.5, 0.5, 0}, {0, 0.5, -0.5}, {-0.5, 0.5, 0.5}, {-0.5, 0.5, -0.5}, + {0.5, 0.5, 0.5}, {0.5, 0.5, -0.5}, {0.5, 0.5, 0}, {0, 0.5, 0.5}, + }}; size_t index = static_cast(a_Noise.IntNoise3DInt(a_BlockPos * a_Seq)) % directions.size(); return directions[index]; @@ -65,190 +53,186 @@ static const Vector3d & pickBranchDirection(const cNoise a_Noise, Vector3i a_Blo // BigO = a big ring of blocks, used for generating horz slices of treetops, the number indicates the radius -static const sCoords BigO1[] = -{ - /* -1 */ {0, -1}, - /* 0 */ {-1, 0}, {1, 0}, - /* 1 */ {0, 1}, -} ; +static const sCoords BigO1[] = { + /* -1 */ {0, -1}, + /* 0 */ {-1, 0}, + {1, 0}, + /* 1 */ {0, 1}, +}; -static const sCoords BigO2[] = -{ - /* -2 */ {-1, -2}, {0, -2}, {1, -2}, +static const sCoords BigO2[] = { + /* -2 */ {-1, -2}, {0, -2}, {1, -2}, /* -1 */ {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, - /* 0 */ {-2, 0}, {-1, 0}, {1, 0}, {2, 0}, - /* 1 */ {-2, 1}, {-1, 1}, {0, 1}, {1, 1}, {2, 1}, - /* 2 */ {-1, 2}, {0, 2}, {1, 2}, -} ; + /* 0 */ {-2, 0}, {-1, 0}, {1, 0}, {2, 0}, + /* 1 */ {-2, 1}, {-1, 1}, {0, 1}, {1, 1}, {2, 1}, + /* 2 */ {-1, 2}, {0, 2}, {1, 2}, +}; -static const sCoords BigO3[] = -{ - /* -3 */ {-2, -3}, {-1, -3}, {0, -3}, {1, -3}, {2, -3}, +static const sCoords BigO3[] = { + /* -3 */ {-2, -3}, {-1, -3}, {0, -3}, {1, -3}, {2, -3}, /* -2 */ {-3, -2}, {-2, -2}, {-1, -2}, {0, -2}, {1, -2}, {2, -2}, {3, -2}, /* -1 */ {-3, -1}, {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, - /* 0 */ {-3, 0}, {-2, 0}, {-1, 0}, {1, 0}, {2, 0}, {3, 0}, - /* 1 */ {-3, 1}, {-2, 1}, {-1, 1}, {0, 1}, {1, 1}, {2, 1}, {3, 1}, - /* 2 */ {-3, 2}, {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, - /* 3 */ {-2, 3}, {-1, 3}, {0, 3}, {1, 3}, {2, 3}, -} ; + /* 0 */ {-3, 0}, {-2, 0}, {-1, 0}, {1, 0}, {2, 0}, {3, 0}, + /* 1 */ {-3, 1}, {-2, 1}, {-1, 1}, {0, 1}, {1, 1}, {2, 1}, {3, 1}, + /* 2 */ {-3, 2}, {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, + /* 3 */ {-2, 3}, {-1, 3}, {0, 3}, {1, 3}, {2, 3}, +}; static const sCoords BigO4[] = // Part of dark oak tree -{ - /* -4 */ {-2, -4}, {-1, -4}, {0, -4}, {1, -4}, {2, -4}, - /* -3 */ {-3, -3}, {-2, -3}, {-1, -3}, {0, -3}, {1, -3}, {2, -3}, {3, -3}, - /* -2 */ {-4, -2}, {-3, -2}, {-2, -2}, {-1, -2}, {0, -2}, {1, -2}, {2, -2}, {3, -2}, {4, -2}, - /* -1 */ {-4, -1}, {-3, -1}, {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, {4, -1}, - /* 0 */ {-4, 0}, {-3, 0}, {-2, 0}, {-1, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, - /* 1 */ {-4, 1}, {-3, 1}, {-2, 1}, {-1, 1}, {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, - /* 2 */ {-4, 2}, {-3, 2}, {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, - /* 3 */ {-3, 3}, {-2, 3}, {-1, 3}, {0, 3}, {1, 3}, {2, 3}, {3, 3}, - /* 4 */ {-2, 4}, {-1, 4}, {0, 4}, {1, 4}, {2, 4}, + { + /* -4 */ {-2, -4}, {-1, -4}, {0, -4}, {1, -4}, {2, -4}, + /* -3 */ {-3, -3}, {-2, -3}, {-1, -3}, {0, -3}, {1, -3}, {2, -3}, {3, -3}, + /* -2 */ {-4, -2}, {-3, -2}, {-2, -2}, {-1, -2}, {0, -2}, {1, -2}, {2, -2}, {3, -2}, {4, -2}, + /* -1 */ {-4, -1}, {-3, -1}, {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, {4, -1}, + /* 0 */ {-4, 0}, {-3, 0}, {-2, 0}, {-1, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, + /* 1 */ {-4, 1}, {-3, 1}, {-2, 1}, {-1, 1}, {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, + /* 2 */ {-4, 2}, {-3, 2}, {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, + /* 3 */ {-3, 3}, {-2, 3}, {-1, 3}, {0, 3}, {1, 3}, {2, 3}, {3, 3}, + /* 4 */ {-2, 4}, {-1, 4}, {0, 4}, {1, 4}, {2, 4}, }; -static const sCoords BigO3Jungle[] = -{ - /* -3 */ {0, -3}, {1, -3}, - /* -2 */ {-1, -2}, {0, -2}, {1, -2}, {2, -2}, - /* -1 */ {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, - /* 0 */ {-3, 0}, {-2, 0}, {-1, 0}, {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, - /* 1 */ {-3, 1}, {-2, 1}, {-1, 1}, {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, - /* 2 */ {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, - /* 3 */ {-1, 3}, {0, 3}, {1, 3}, {2, 3}, - /* 4 */ {0, 4}, {1, 4}, +static const sCoords BigO3Jungle[] = { + /* -3 */ {0, -3}, {1, -3}, + /* -2 */ {-1, -2}, {0, -2}, {1, -2}, {2, -2}, + /* -1 */ {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, + /* 0 */ {-3, 0}, {-2, 0}, {-1, 0}, {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, + /* 1 */ {-3, 1}, {-2, 1}, {-1, 1}, {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, + /* 2 */ {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, + /* 3 */ {-1, 3}, {0, 3}, {1, 3}, {2, 3}, + /* 4 */ {0, 4}, {1, 4}, }; -static const sCoords BigO4Jungle[] = -{ - /* -4 */ {0, -4}, {1, -4}, - /* -3 */ {-2, -3}, {-1, -3}, {0, -3}, {1, -3}, {2, -3}, {3, -3}, - /* -2 */ {-3, -2}, {-2, -2}, {-1, -2}, {0, -2}, {1, -2}, {2, -2}, {3, -2}, {4, -2}, - /* -1 */ {-3, -1}, {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, {4, -1}, - /* 0 */ {-4, 0}, {-3, 0}, {-2, 0}, {-1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, - /* 1 */ {-4, 1}, {-3, 1}, {-2, 1}, {-1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, - /* 2 */ {-3, 2}, {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, - /* 3 */ {-3, 3}, {-2, 3}, {-1, 3}, {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, - /* 4 */ {-2, 4}, {-1, 4}, {0, 4}, {1, 4}, {2, 4}, {3, 4}, - /* 5 */ {0, 5}, {1, 5}, +static const sCoords BigO4Jungle[] = { + /* -4 */ {0, -4}, {1, -4}, + /* -3 */ {-2, -3}, {-1, -3}, {0, -3}, {1, -3}, {2, -3}, {3, -3}, + /* -2 */ {-3, -2}, {-2, -2}, {-1, -2}, {0, -2}, {1, -2}, {2, -2}, {3, -2}, {4, -2}, + /* -1 */ {-3, -1}, {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, {4, -1}, + /* 0 */ {-4, 0}, {-3, 0}, {-2, 0}, {-1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, + /* 1 */ {-4, 1}, {-3, 1}, {-2, 1}, {-1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, + /* 2 */ {-3, 2}, {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, + /* 3 */ {-3, 3}, {-2, 3}, {-1, 3}, {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, + /* 4 */ {-2, 4}, {-1, 4}, {0, 4}, {1, 4}, {2, 4}, {3, 4}, + /* 5 */ {0, 5}, {1, 5}, }; -static const sCoords BigO5Jungle[] = -{ - /* -5 */ {0, -5}, {1, -5}, - /* -4 */ {-2, -4}, {-1, -4}, {0, -4}, {1, -4}, {2, -4}, {3, -4}, - /* -3 */ {-3, -3}, {-2, -3}, {-1, -3}, {0, -3}, {1, -3}, {2, -3}, {3, -3}, {4, -3}, - /* -2 */ {-4, -2}, {-3, -2}, {-2, -2}, {-1, -2}, {0, -2}, {1, -2}, {2, -2}, {3, -2}, {4, -2}, {5, -2}, - /* -1 */ {-4, -1}, {-3, -1}, {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, {4, -1}, {5, -1}, - /* 0 */ {-5, 0}, {-4, 0}, {-3, 0}, {-2, 0}, {-1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, - /* 1 */ {-5, 1}, {-4, 1}, {-3, 1}, {-2, 1}, {-1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, - /* 2 */ {-4, 2}, {-3, 2}, {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, - /* 3 */ {-4, 3}, {-3, 3}, {-2, 3}, {-1, 3}, {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, - /* 4 */ {-3, 4}, {-2, 4}, {-1, 4}, {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, - /* 5 */ {-2, 5}, {-1, 5}, {0, 5}, {1, 5}, {2, 5}, {3, 5}, - /* 6 */ {0, 6}, {1, 6}, -} ; - -static const sCoords TopLargePine[] = -{ - /* 0 */ {0, 0}, {1, 0}, - /* 1 */ {0, 1}, {1, 1}, -} ; +static const sCoords BigO5Jungle[] = { + /* -5 */ {0, -5}, {1, -5}, + /* -4 */ {-2, -4}, {-1, -4}, {0, -4}, {1, -4}, {2, -4}, {3, -4}, + /* -3 */ {-3, -3}, {-2, -3}, {-1, -3}, {0, -3}, {1, -3}, {2, -3}, {3, -3}, {4, -3}, + /* -2 */ {-4, -2}, {-3, -2}, {-2, -2}, {-1, -2}, {0, -2}, {1, -2}, {2, -2}, {3, -2}, {4, -2}, {5, -2}, + /* -1 */ {-4, -1}, {-3, -1}, {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, {4, -1}, {5, -1}, + /* 0 */ {-5, 0}, {-4, 0}, {-3, 0}, {-2, 0}, {-1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, + /* 1 */ {-5, 1}, {-4, 1}, {-3, 1}, {-2, 1}, {-1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, + /* 2 */ {-4, 2}, {-3, 2}, {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, + /* 3 */ {-4, 3}, {-3, 3}, {-2, 3}, {-1, 3}, {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, + /* 4 */ {-3, 4}, {-2, 4}, {-1, 4}, {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, + /* 5 */ {-2, 5}, {-1, 5}, {0, 5}, {1, 5}, {2, 5}, {3, 5}, + /* 6 */ {0, 6}, {1, 6}, +}; -static const sCoords BigOF2Pine[] = -{ - /* -1 */ {0, -1}, {1, -1}, - /* 0 */ {-1, 0}, {0, 0}, {1, 0}, {2, 0}, - /* 1 */ {-1, 1}, {0, 1}, {1, 1}, {2, 1}, - /* 2 */ {0, 2}, {1, 2}, -} ; +static const sCoords TopLargePine[] = { + /* 0 */ {0, 0}, + {1, 0}, + /* 1 */ {0, 1}, + {1, 1}, +}; -static const sCoords BigO2Pine[] = -{ - /* -2 */ {0, -2}, {1, -2}, - /* -1 */ {-1, -1}, {0, -1}, {1, -1}, {2, -1}, - /* 0 */ {-2, 0}, {-1, 0}, {2, 0}, {3, 0}, - /* 1 */ {-2, 1}, {-1, 1}, {2, 1}, {3, 1}, - /* 2 */ {-1, 2}, {0, 2}, {1, 2}, {2, 2}, - /* 3 */ {0, 3}, {1, 3}, -} ; - -static const sCoords BigO3Pine[] = -{ - /* -3 */ {0, -3}, {1, -3}, - /* -2 */ {-1, -2}, {0, -2}, {1, -2}, {2, -2}, - /* -1 */ {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, - /* 0 */ {-3, 0}, {-2, 0}, {-1, 0}, {2, 0}, {3, 0}, {4, 0}, - /* 1 */ {-3, 1}, {-2, 1}, {-1, 1}, {2, 1}, {3, 1}, {4, 1}, - /* 2 */ {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, - /* 3 */ {-1, 3}, {0, 3}, {1, 3}, {2, 3}, - /* 4 */ {0, 4}, {1, 4}, +static const sCoords BigOF2Pine[] = { + /* -1 */ {0, -1}, + {1, -1}, + /* 0 */ {-1, 0}, + {0, 0}, + {1, 0}, + {2, 0}, + /* 1 */ {-1, 1}, + {0, 1}, + {1, 1}, + {2, 1}, + /* 2 */ {0, 2}, + {1, 2}, }; -static const sCoords BigO1Spruce[] = -{ - /* -1 */ {0, -1}, {1, -1}, - /* 0 */ {-1, 0}, {2, 0}, - /* 1 */ {-1, 1}, {2, 1}, - /* 2 */ {0, 2}, {1, 2}, -} ; +static const sCoords BigO2Pine[] = { + /* -2 */ {0, -2}, {1, -2}, + /* -1 */ {-1, -1}, {0, -1}, {1, -1}, {2, -1}, + /* 0 */ {-2, 0}, {-1, 0}, {2, 0}, {3, 0}, + /* 1 */ {-2, 1}, {-1, 1}, {2, 1}, {3, 1}, + /* 2 */ {-1, 2}, {0, 2}, {1, 2}, {2, 2}, + /* 3 */ {0, 3}, {1, 3}, +}; + +static const sCoords BigO3Pine[] = { + /* -3 */ {0, -3}, {1, -3}, + /* -2 */ {-1, -2}, {0, -2}, {1, -2}, {2, -2}, + /* -1 */ {-2, -1}, {-1, -1}, {0, -1}, {1, -1}, {2, -1}, {3, -1}, + /* 0 */ {-3, 0}, {-2, 0}, {-1, 0}, {2, 0}, {3, 0}, {4, 0}, + /* 1 */ {-3, 1}, {-2, 1}, {-1, 1}, {2, 1}, {3, 1}, {4, 1}, + /* 2 */ {-2, 2}, {-1, 2}, {0, 2}, {1, 2}, {2, 2}, {3, 2}, + /* 3 */ {-1, 3}, {0, 3}, {1, 3}, {2, 3}, + /* 4 */ {0, 4}, {1, 4}, +}; + +static const sCoords BigO1Spruce[] = { + /* -1 */ {0, -1}, + {1, -1}, + /* 0 */ {-1, 0}, + {2, 0}, + /* 1 */ {-1, 1}, + {2, 1}, + /* 2 */ {0, 2}, + {1, 2}, +}; typedef struct { const sCoords * Coords; - size_t Count; + size_t Count; } sCoordsArr; -static const sCoordsArr BigOLayers[] = -{ +static const sCoordsArr BigOLayers[] = { {BigO1, ARRAYCOUNT(BigO1)}, {BigO2, ARRAYCOUNT(BigO2)}, {BigO3, ARRAYCOUNT(BigO3)}, {BigO4, ARRAYCOUNT(BigO4)}, -} ; +}; -static const sCoordsArr BigOJungleLayers[] = -{ +static const sCoordsArr BigOJungleLayers[] = { {BigO5Jungle, ARRAYCOUNT(BigO5Jungle)}, {BigO4Jungle, ARRAYCOUNT(BigO4Jungle)}, {BigO3Jungle, ARRAYCOUNT(BigO3Jungle)}, }; -static const sCoordsArr BigOPineLayers[] = -{ +static const sCoordsArr BigOPineLayers[] = { {BigO3Pine, ARRAYCOUNT(BigO3Pine)}, {BigO2Pine, ARRAYCOUNT(BigO2Pine)}, {BigOF2Pine, ARRAYCOUNT(BigOF2Pine)}, {TopLargePine, ARRAYCOUNT(TopLargePine)}, }; -static const sCoordsArr BigOSpruceLayersV1[] = -{ +static const sCoordsArr BigOSpruceLayersV1[] = { {BigO1Spruce, ARRAYCOUNT(BigO1Spruce)}, {nullptr, 0}, }; -static const sCoordsArr BigOSpruceLayersV2[] = -{ +static const sCoordsArr BigOSpruceLayersV2[] = { {BigO2Pine, ARRAYCOUNT(BigO2Pine)}, {BigO1Spruce, ARRAYCOUNT(BigO1Spruce)}, }; -static const sCoordsArr BigOSpruceLayersV3[] = -{ +static const sCoordsArr BigOSpruceLayersV3[] = { {BigO3Pine, ARRAYCOUNT(BigO3Pine)}, {BigO2Pine, ARRAYCOUNT(BigO2Pine)}, }; -static const sCoordsArr BigOSpruceLayersV4[] = -{ +static const sCoordsArr BigOSpruceLayersV4[] = { {BigO4Jungle, ARRAYCOUNT(BigO4Jungle)}, {BigO3Pine, ARRAYCOUNT(BigO3Pine)}, }; -static const sCoordsArr BigOSpruceTop[] = -{ +static const sCoordsArr BigOSpruceTop[] = { {BigO1Spruce, ARRAYCOUNT(BigO1Spruce)}, {TopLargePine, ARRAYCOUNT(TopLargePine)}, }; @@ -258,7 +242,16 @@ static const sCoordsArr BigOSpruceTop[] = /** Pushes a specified layer of blocks of the same type around (x, h, z) into a_Blocks */ -inline void PushCoordBlocks(int a_BlockX, int a_Height, int a_BlockZ, sSetBlockVector & a_Blocks, const sCoords * a_Coords, size_t a_NumCoords, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) +inline void PushCoordBlocks( + int a_BlockX, + int a_Height, + int a_BlockZ, + sSetBlockVector & a_Blocks, + const sCoords * a_Coords, + size_t a_NumCoords, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta +) { for (size_t i = 0; i < a_NumCoords; i++) { @@ -270,7 +263,18 @@ inline void PushCoordBlocks(int a_BlockX, int a_Height, int a_BlockZ, sSetBlockV -inline void PushCornerBlocks(int a_BlockX, int a_Height, int a_BlockZ, int a_Seq, cNoise & a_Noise, int a_Chance, sSetBlockVector & a_Blocks, int a_CornersDist, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) +inline void PushCornerBlocks( + int a_BlockX, + int a_Height, + int a_BlockZ, + int a_Seq, + cNoise & a_Noise, + int a_Chance, + sSetBlockVector & a_Blocks, + int a_CornersDist, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta +) { for (size_t i = 0; i < ARRAYCOUNT(Corners); i++) { @@ -287,7 +291,19 @@ inline void PushCornerBlocks(int a_BlockX, int a_Height, int a_BlockZ, int a_Seq -inline void PushSomeColumns(int a_BlockX, int a_Height, int a_BlockZ, int a_ColumnHeight, int a_Seq, cNoise & a_Noise, int a_Chance, sSetBlockVector & a_Blocks, const sMetaCoords * a_Coords, size_t a_NumCoords, BLOCKTYPE a_BlockType) +inline void PushSomeColumns( + int a_BlockX, + int a_Height, + int a_BlockZ, + int a_ColumnHeight, + int a_Seq, + cNoise & a_Noise, + int a_Chance, + sSetBlockVector & a_Blocks, + const sMetaCoords * a_Coords, + size_t a_NumCoords, + BLOCKTYPE a_BlockType +) { for (size_t i = 0; i < a_NumCoords; i++) { @@ -307,7 +323,14 @@ inline void PushSomeColumns(int a_BlockX, int a_Height, int a_BlockZ, int a_Colu -void GetTreeImageByBiome(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, EMCSBiome a_Biome, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetTreeImageByBiome( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + EMCSBiome a_Biome, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { switch (a_Biome) { @@ -519,7 +542,13 @@ void GetTreeImageByBiome(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, EMCSB -void GetAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetAppleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { if (a_Noise.IntNoise3DInt(a_BlockPos.addedX(32 * a_Seq).addedY(32 * a_Seq)) < 0x73333333) { @@ -535,7 +564,13 @@ void GetAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlo -void GetSmallAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetSmallAppleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { /* Small apple tree has: - a top plus (no log) @@ -545,7 +580,7 @@ void GetSmallAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sS */ int Random = a_Noise.IntNoise3DInt(a_BlockPos.addedX(64 * a_Seq)) >> 3; - HEIGHTTYPE Heights[] = {1, 2, 2, 3} ; + HEIGHTTYPE Heights[] = {1, 2, 2, 3}; HEIGHTTYPE Height = 1 + Heights[Random & 3]; Random >>= 2; @@ -563,8 +598,28 @@ void GetSmallAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sS // 2 BigO2 + corners layers: for (int i = 0; i < 2; i++) { - PushCoordBlocks (a_BlockPos.x, Hei, a_BlockPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); - PushCornerBlocks(a_BlockPos.x, Hei, a_BlockPos.z, a_Seq, a_Noise, 0x5000000 - i * 0x10000000, a_OtherBlocks, 2, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + a_BlockPos.x, + Hei, + a_BlockPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); + PushCornerBlocks( + a_BlockPos.x, + Hei, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5000000 - i * 0x10000000, + a_OtherBlocks, + 2, + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); a_LogBlocks.emplace_back(a_BlockPos.x, Hei, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_APPLE); Hei++; } // for i - 2* @@ -572,14 +627,43 @@ void GetSmallAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sS // Optional BigO1 + corners layer: if ((Random & 1) == 0) { - PushCoordBlocks (a_BlockPos.x, Hei, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); - PushCornerBlocks(a_BlockPos.x, Hei, a_BlockPos.z, a_Seq, a_Noise, 0x6000000, a_OtherBlocks, 1, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + a_BlockPos.x, + Hei, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); + PushCornerBlocks( + a_BlockPos.x, + Hei, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x6000000, + a_OtherBlocks, + 1, + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); a_LogBlocks.emplace_back(a_BlockPos.x, Hei, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_APPLE); Hei++; } // Top plus: - PushCoordBlocks(a_BlockPos.x, Hei, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + a_BlockPos.x, + Hei, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); a_OtherBlocks.emplace_back(a_BlockPos.x, Hei, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); } @@ -587,7 +671,13 @@ void GetSmallAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sS -void GetLargeAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetLargeAppleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { int Height = 7 + a_Noise.IntNoise3DInt(a_BlockPos) % 4; @@ -599,7 +689,15 @@ void GetLargeAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sS Vector3d BranchDirection = pickBranchDirection(a_Noise, a_BlockPos.addedY(i * a_Seq), a_Seq) / 3; int BranchLength = 2 + a_Noise.IntNoise3DInt(a_BlockPos * a_Seq) % 3; - GetTreeBranch(E_BLOCK_LOG, E_META_LOG_APPLE, a_BlockPos.addedY(i), BranchLength, BranchStartDirection, BranchDirection, a_LogBlocks); + GetTreeBranch( + E_BLOCK_LOG, + E_META_LOG_APPLE, + a_BlockPos.addedY(i), + BranchLength, + BranchStartDirection, + BranchDirection, + a_LogBlocks + ); } // Place leaves around each log block @@ -610,12 +708,39 @@ void GetLargeAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sS int Z = itr.GetZ(); a_OtherBlocks.emplace_back(X, itr.m_RelY - 2, Z, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); - PushCoordBlocks(X, itr.m_RelY - 2, Z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + X, + itr.m_RelY - 2, + Z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); for (int y = -1; y <= 1; y++) { - PushCoordBlocks (X, itr.m_RelY + y, Z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + X, + itr.m_RelY + y, + Z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); } - PushCoordBlocks(X, itr.m_RelY + 2, Z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + X, + itr.m_RelY + 2, + Z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); a_OtherBlocks.emplace_back(X, itr.m_RelY + 2, Z, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); } @@ -630,10 +755,18 @@ void GetLargeAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sS -Vector3d GetTreeBranch(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_BlockPos, int a_BranchLength, Vector3d a_StartDirection, Vector3d a_Direction, sSetBlockVector & a_LogBlocks) +Vector3d GetTreeBranch( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_BlockPos, + int a_BranchLength, + Vector3d a_StartDirection, + Vector3d a_Direction, + sSetBlockVector & a_LogBlocks +) { Vector3d CurrentPos = Vector3d(a_BlockPos); - Vector3d Direction = a_StartDirection; + Vector3d Direction = a_StartDirection; for (int i = 0; i < a_BranchLength; i++) { CurrentPos += Direction; @@ -670,7 +803,13 @@ NIBBLETYPE GetLogMetaFromDirection(NIBBLETYPE a_BlockMeta, Vector3d a_Direction) -void GetBirchTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetBirchTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { HEIGHTTYPE Height = 5 + static_cast(a_Noise.IntNoise3DInt(a_BlockPos.addedX(64 * a_Seq)) % 3); @@ -686,20 +825,75 @@ void GetBirchTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlo int h = a_BlockPos.y + Height; // Top layer - just the Plus: - PushCoordBlocks(a_BlockPos.x, h, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); - a_OtherBlocks.emplace_back(a_BlockPos.x, h, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); // There's no log at this layer + PushCoordBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); + a_OtherBlocks.emplace_back( + a_BlockPos.x, + h, + a_BlockPos.z, + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); // There's no log at this layer h--; // Second layer - log, Plus and maybe Corners: - PushCoordBlocks (a_BlockPos.x, h, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); - PushCornerBlocks(a_BlockPos.x, h, a_BlockPos.z, a_Seq, a_Noise, 0x5fffffff, a_OtherBlocks, 1, E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); + PushCoordBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); + PushCornerBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5fffffff, + a_OtherBlocks, + 1, + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); h--; // Third and fourth layers - BigO2 and maybe 2 * Corners: for (int Row = 0; Row < 2; Row++) { - PushCoordBlocks (a_BlockPos.x, h, a_BlockPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); - PushCornerBlocks(a_BlockPos.x, h, a_BlockPos.z, a_Seq, a_Noise, 0x3fffffff + Row * 0x10000000, a_OtherBlocks, 2, E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); + PushCoordBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); + PushCornerBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x3fffffff + Row * 0x10000000, + a_OtherBlocks, + 2, + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); h--; } // for Row - 2* } @@ -708,7 +902,13 @@ void GetBirchTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlo -void GetAcaciaTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetAcaciaTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { // Calculate a base height int Height = 2 + (a_Noise.IntNoise3DInt(a_BlockPos) / 11 % 3); @@ -720,12 +920,15 @@ void GetAcaciaTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBl } // Array with possible directions for a branch to go to. - const Vector3i AvailableDirections[] = - { - { -1, 1, 0 }, { 0, 1, -1 }, - { -1, 1, 1 }, { -1, 1, -1 }, - { 1, 1, 1 }, { 1, 1, -1 }, - { 1, 1, 0 }, { 0, 1, 1 }, + const Vector3i AvailableDirections[] = { + {-1, 1, 0}, + {0, 1, -1}, + {-1, 1, 1}, + {-1, 1, -1}, + {1, 1, 1}, + {1, 1, -1}, + {1, 1, 0}, + {0, 1, 1}, }; // Get a direction for the trunk to go to. @@ -734,11 +937,38 @@ void GetAcaciaTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBl // Calculate a height for the branch between 1 and 3 int BranchHeight = a_Noise.IntNoise3DInt(a_BlockPos) % 3 + 1; - Vector3i BranchPos = GetTreeBranch(E_BLOCK_NEW_LOG, E_META_NEW_LOG_ACACIA_WOOD, a_BlockPos.addedY(Height - 1), BranchHeight, Vector3i(BranchDirection), Vector3i(BranchDirection), a_LogBlocks).Floor(); + Vector3i BranchPos = GetTreeBranch( + E_BLOCK_NEW_LOG, + E_META_NEW_LOG_ACACIA_WOOD, + a_BlockPos.addedY(Height - 1), + BranchHeight, + Vector3i(BranchDirection), + Vector3i(BranchDirection), + a_LogBlocks + ) + .Floor(); // Add the leaves to the top of the branch - PushCoordBlocks(BranchPos.x, BranchPos.y, BranchPos.z, a_OtherBlocks, BigO3, ARRAYCOUNT(BigO3), E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_ACACIA); - PushCoordBlocks(BranchPos.x, BranchPos.y + 1, BranchPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_ACACIA); + PushCoordBlocks( + BranchPos.x, + BranchPos.y, + BranchPos.z, + a_OtherBlocks, + BigO3, + ARRAYCOUNT(BigO3), + E_BLOCK_NEW_LEAVES, + E_META_NEWLEAVES_ACACIA + ); + PushCoordBlocks( + BranchPos.x, + BranchPos.y + 1, + BranchPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_NEW_LEAVES, + E_META_NEWLEAVES_ACACIA + ); a_OtherBlocks.emplace_back(BranchPos.x, BranchPos.y + 1, BranchPos.z, E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_ACACIA); // Choose if we have to add another branch @@ -754,11 +984,38 @@ void GetAcaciaTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBl // Calculate a new height for the second branch BranchHeight = a_Noise.IntNoise3DInt(a_BlockPos * a_Seq) % 3 + 1; - BranchPos = GetTreeBranch(E_BLOCK_NEW_LOG, E_META_NEW_LOG_ACACIA_WOOD, a_BlockPos.addedY(Height - 1), BranchHeight, BranchDirection, BranchDirection, a_LogBlocks).Floor(); + BranchPos = GetTreeBranch( + E_BLOCK_NEW_LOG, + E_META_NEW_LOG_ACACIA_WOOD, + a_BlockPos.addedY(Height - 1), + BranchHeight, + BranchDirection, + BranchDirection, + a_LogBlocks + ) + .Floor(); // And add the leaves ontop of the second branch - PushCoordBlocks(BranchPos.x, BranchPos.y, BranchPos.z, a_OtherBlocks, BigO3, ARRAYCOUNT(BigO3), E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_ACACIA); - PushCoordBlocks(BranchPos.x, BranchPos.y + 1, BranchPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_ACACIA); + PushCoordBlocks( + BranchPos.x, + BranchPos.y, + BranchPos.z, + a_OtherBlocks, + BigO3, + ARRAYCOUNT(BigO3), + E_BLOCK_NEW_LEAVES, + E_META_NEWLEAVES_ACACIA + ); + PushCoordBlocks( + BranchPos.x, + BranchPos.y + 1, + BranchPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_NEW_LEAVES, + E_META_NEWLEAVES_ACACIA + ); a_OtherBlocks.emplace_back(BranchPos.x, BranchPos.y + 1, BranchPos.z, E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_ACACIA); } @@ -766,7 +1023,13 @@ void GetAcaciaTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBl -void GetDarkoakTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetDarkoakTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { // Pick a height int Height = 5 + (a_Noise.IntNoise3DInt(a_BlockPos.addedX(32 * a_Seq).addedZ(32 * a_Seq)) / 11) % 4; @@ -777,7 +1040,8 @@ void GetDarkoakTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetB a_LogBlocks.emplace_back(a_BlockPos.addedY(i), E_BLOCK_NEW_LOG, E_META_NEW_LOG_DARK_OAK_WOOD); a_LogBlocks.emplace_back(a_BlockPos.addedX(1).addedY(i), E_BLOCK_NEW_LOG, E_META_NEW_LOG_DARK_OAK_WOOD); a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedZ(1), E_BLOCK_NEW_LOG, E_META_NEW_LOG_DARK_OAK_WOOD); - a_LogBlocks.emplace_back(a_BlockPos.addedX(1).addedY(i).addedZ(1), E_BLOCK_NEW_LOG, E_META_NEW_LOG_DARK_OAK_WOOD); + a_LogBlocks + .emplace_back(a_BlockPos.addedX(1).addedY(i).addedZ(1), E_BLOCK_NEW_LOG, E_META_NEW_LOG_DARK_OAK_WOOD); } // Prevent floating trees by placing dirt under them @@ -809,11 +1073,13 @@ void GetDarkoakTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetB } } - int y = Height - (a_Noise.IntNoise3DInt(a_BlockPos.addedX(x).addedZ(z).addedY(i * a_Seq)) % (Height - (Height / 4))); + int y = Height - + (a_Noise.IntNoise3DInt(a_BlockPos.addedX(x).addedZ(z).addedY(i * a_Seq)) % (Height - (Height / 4))); for (int Y = y; Y < Height; Y++) { - a_LogBlocks.emplace_back(a_BlockPos.addedX(x).addedY(Y).addedZ(z), E_BLOCK_NEW_LOG, E_META_NEW_LOG_DARK_OAK_WOOD); + a_LogBlocks + .emplace_back(a_BlockPos.addedX(x).addedY(Y).addedZ(z), E_BLOCK_NEW_LOG, E_META_NEW_LOG_DARK_OAK_WOOD); } } @@ -822,14 +1088,54 @@ void GetDarkoakTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetB // The lower two leaves layers are BigO4 with log in the middle and possibly corners: for (int i = 0; i < 2; i++) { - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO4, ARRAYCOUNT(BigO4), E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_DARK_OAK); - PushCornerBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_Seq, a_Noise, 0x5fffffff, a_OtherBlocks, 3, E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_DARK_OAK); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO4, + ARRAYCOUNT(BigO4), + E_BLOCK_NEW_LEAVES, + E_META_NEWLEAVES_DARK_OAK + ); + PushCornerBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5fffffff, + a_OtherBlocks, + 3, + E_BLOCK_NEW_LEAVES, + E_META_NEWLEAVES_DARK_OAK + ); hei++; } // for i < 2 // The top leaves layer is a BigO3 with leaves in the middle and possibly corners: - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO3, ARRAYCOUNT(BigO3), E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_DARK_OAK); - PushCornerBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_Seq, a_Noise, 0x5fffffff, a_OtherBlocks, 3, E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_DARK_OAK); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO3, + ARRAYCOUNT(BigO3), + E_BLOCK_NEW_LEAVES, + E_META_NEWLEAVES_DARK_OAK + ); + PushCornerBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5fffffff, + a_OtherBlocks, + 3, + E_BLOCK_NEW_LEAVES, + E_META_NEWLEAVES_DARK_OAK + ); a_OtherBlocks.emplace_back(a_BlockPos.x, hei, a_BlockPos.z, E_BLOCK_NEW_LEAVES, E_META_NEWLEAVES_DARK_OAK); } @@ -837,7 +1143,13 @@ void GetDarkoakTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetB -void GetTallBirchTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetTallBirchTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { HEIGHTTYPE Height = 9 + static_cast(a_Noise.IntNoise3DInt(a_BlockPos.addedX(64 * a_Seq)) % 3); @@ -853,20 +1165,75 @@ void GetTallBirchTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSe int h = a_BlockPos.y + Height; // Top layer - just the Plus: - PushCoordBlocks(a_BlockPos.x, h, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); - a_OtherBlocks.emplace_back(a_BlockPos.x, h, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); // There's no log at this layer + PushCoordBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); + a_OtherBlocks.emplace_back( + a_BlockPos.x, + h, + a_BlockPos.z, + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); // There's no log at this layer h--; // Second layer - log, Plus and maybe Corners: - PushCoordBlocks (a_BlockPos.x, h, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); - PushCornerBlocks(a_BlockPos.x, h, a_BlockPos.z, a_Seq, a_Noise, 0x5fffffff, a_OtherBlocks, 1, E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); + PushCoordBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); + PushCornerBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5fffffff, + a_OtherBlocks, + 1, + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); h--; // Third and fourth layers - BigO2 and maybe 2 * Corners: for (int Row = 0; Row < 2; Row++) { - PushCoordBlocks (a_BlockPos.x, h, a_BlockPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); - PushCornerBlocks(a_BlockPos.x, h, a_BlockPos.z, a_Seq, a_Noise, 0x3fffffff + Row * 0x10000000, a_OtherBlocks, 2, E_BLOCK_LEAVES, E_META_LEAVES_BIRCH); + PushCoordBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); + PushCornerBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x3fffffff + Row * 0x10000000, + a_OtherBlocks, + 2, + E_BLOCK_LEAVES, + E_META_LEAVES_BIRCH + ); h--; } // for Row - 2* } @@ -875,7 +1242,14 @@ void GetTallBirchTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSe -void GetConiferTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large) +void GetConiferTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks, + bool a_Large +) { // Half chance for a spruce, half for a pine and for the large ones 3 chances for a pine and one for spruce: if (a_Noise.IntNoise3DInt(a_BlockPos.addedX(64 * a_Seq).addedZ(32 * a_Seq)) < (a_Large ? 0x20000000 : 0x40000000)) @@ -892,7 +1266,14 @@ void GetConiferTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetB -void GetSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large) +void GetSpruceTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks, + bool a_Large +) { if (a_Large) { @@ -902,14 +1283,20 @@ void GetSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBl { GetSmallSpruceTreeImage(a_BlockPos, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks); } - } -void GetPineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large) +void GetPineTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks, + bool a_Large +) { if (a_Large) { @@ -919,14 +1306,19 @@ void GetPineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBloc { GetSmallPineTreeImage(a_BlockPos, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks); } - } -void GetSmallSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetSmallSpruceTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { // Spruces have a top section with layer sizes of (0, 1, 0) or only (1, 0), // then 1 - 3 sections of ascending sizes (1, 2) [most often], (1, 3) or (1, 2, 3) @@ -936,7 +1328,7 @@ void GetSmallSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s // (each of the mod8 remainders has a very different chance of occurrence) - that's why we divide by 8 int MyRandom = a_Noise.IntNoise3DInt(a_BlockPos.addedX(32 * a_Seq).addedY(32 * a_Seq)) / 8; - static const HEIGHTTYPE sHeights[] = {1, 2, 2, 3}; + static const HEIGHTTYPE sHeights[] = {1, 2, 2, 3}; HEIGHTTYPE Height = sHeights[MyRandom & 3]; MyRandom >>= 2; @@ -954,7 +1346,16 @@ void GetSmallSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s // Optional size-1 bottom leaves layer: if ((MyRandom & 1) == 0) { - PushCoordBlocks(a_BlockPos.x, Height, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + Height, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); a_OtherBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); Height++; } @@ -971,28 +1372,91 @@ void GetSmallSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s case 0: case 1: { - PushCoordBlocks(a_BlockPos.x, Height, a_BlockPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); - PushCoordBlocks(a_BlockPos.x, Height + 1, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); - a_LogBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + Height, + a_BlockPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); + PushCoordBlocks( + a_BlockPos.x, + Height + 1, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); + a_LogBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); a_LogBlocks.emplace_back(a_BlockPos.x, Height + 1, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); Height += 2; break; } case 2: { - PushCoordBlocks(a_BlockPos.x, Height, a_BlockPos.z, a_OtherBlocks, BigO3, ARRAYCOUNT(BigO3), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); - PushCoordBlocks(a_BlockPos.x, Height + 1, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); - a_LogBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + Height, + a_BlockPos.z, + a_OtherBlocks, + BigO3, + ARRAYCOUNT(BigO3), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); + PushCoordBlocks( + a_BlockPos.x, + Height + 1, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); + a_LogBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); a_LogBlocks.emplace_back(a_BlockPos.x, Height + 1, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); Height += 2; break; } case 3: { - PushCoordBlocks(a_BlockPos.x, Height, a_BlockPos.z, a_OtherBlocks, BigO3, ARRAYCOUNT(BigO3), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); - PushCoordBlocks(a_BlockPos.x, Height + 1, a_BlockPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); - PushCoordBlocks(a_BlockPos.x, Height + 2, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); - a_LogBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + Height, + a_BlockPos.z, + a_OtherBlocks, + BigO3, + ARRAYCOUNT(BigO3), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); + PushCoordBlocks( + a_BlockPos.x, + Height + 1, + a_BlockPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); + PushCoordBlocks( + a_BlockPos.x, + Height + 2, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); + a_LogBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); a_LogBlocks.emplace_back(a_BlockPos.x, Height + 1, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); a_LogBlocks.emplace_back(a_BlockPos.x, Height + 2, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); Height += 3; @@ -1005,16 +1469,34 @@ void GetSmallSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s if ((MyRandom & 1) == 0) { // (0, 1, 0) top: - a_LogBlocks.emplace_back (a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); - PushCoordBlocks (a_BlockPos.x, Height + 1, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); + a_LogBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + Height + 1, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); a_OtherBlocks.emplace_back(a_BlockPos.x, Height + 1, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); a_OtherBlocks.emplace_back(a_BlockPos.x, Height + 2, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); } else { // (1, 0) top: - a_OtherBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); - PushCoordBlocks (a_BlockPos.x, Height + 1, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); + a_OtherBlocks.emplace_back(a_BlockPos.x, Height, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + Height + 1, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); a_OtherBlocks.emplace_back(a_BlockPos.x, Height + 1, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); } } @@ -1023,11 +1505,26 @@ void GetSmallSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s -static void LargeSpruceAddRing(Vector3i a_BlockPos, int & a_Height, const sCoordsArr* const a_Ring, size_t a_RingCount, sSetBlockVector & a_OtherBlocks) +static void LargeSpruceAddRing( + Vector3i a_BlockPos, + int & a_Height, + const sCoordsArr * const a_Ring, + size_t a_RingCount, + sSetBlockVector & a_OtherBlocks +) { - for (size_t i = 0; i < a_RingCount ; i++) - { - PushCoordBlocks(a_BlockPos.x, a_Height--, a_BlockPos.z, a_OtherBlocks, a_Ring[a_RingCount - 1 - i].Coords, a_Ring[a_RingCount - 1 - i].Count, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); + for (size_t i = 0; i < a_RingCount; i++) + { + PushCoordBlocks( + a_BlockPos.x, + a_Height--, + a_BlockPos.z, + a_OtherBlocks, + a_Ring[a_RingCount - 1 - i].Coords, + a_Ring[a_RingCount - 1 - i].Count, + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); } } @@ -1037,24 +1534,32 @@ static void LargeSpruceAddRing(Vector3i a_BlockPos, int & a_Height, const sCoord const int MIN_LARGE_SPRUCE_TREE_RINGS = 3; const int MAX_LARGE_SPRUCE_TREE_RINGS = 11; -void GetLargeSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetLargeSpruceTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { int Height = 20 + (a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * a_Seq)) / 11) % 12; - int LeavesRingCount = - MIN_LARGE_SPRUCE_TREE_RINGS + - (a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * a_Seq)) / 13) % (1 + MAX_LARGE_SPRUCE_TREE_RINGS - MIN_LARGE_SPRUCE_TREE_RINGS); + int LeavesRingCount = MIN_LARGE_SPRUCE_TREE_RINGS + + (a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * a_Seq)) / 13) % + (1 + MAX_LARGE_SPRUCE_TREE_RINGS - MIN_LARGE_SPRUCE_TREE_RINGS); int RingRadius = 0; a_LogBlocks.reserve(static_cast(Height) * 4); - a_OtherBlocks.reserve(ARRAYCOUNT(BigO1Spruce) + ARRAYCOUNT(TopLargePine) + - MAX_LARGE_SPRUCE_TREE_RINGS * (ARRAYCOUNT(BigO4Jungle) + ARRAYCOUNT(BigO3Pine) + ARRAYCOUNT(BigO2Pine))); + a_OtherBlocks.reserve( + ARRAYCOUNT(BigO1Spruce) + ARRAYCOUNT(TopLargePine) + + MAX_LARGE_SPRUCE_TREE_RINGS * (ARRAYCOUNT(BigO4Jungle) + ARRAYCOUNT(BigO3Pine) + ARRAYCOUNT(BigO2Pine)) + ); for (int i = 0; i < Height; i++) { - a_LogBlocks.emplace_back(a_BlockPos.addedY(i), E_BLOCK_LOG, E_META_LOG_CONIFER); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedX(1), E_BLOCK_LOG, E_META_LOG_CONIFER); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedZ(1), E_BLOCK_LOG, E_META_LOG_CONIFER); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i), E_BLOCK_LOG, E_META_LOG_CONIFER); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedX(1), E_BLOCK_LOG, E_META_LOG_CONIFER); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedZ(1), E_BLOCK_LOG, E_META_LOG_CONIFER); a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(1, 1), E_BLOCK_LOG, E_META_LOG_CONIFER); } int hei = a_BlockPos.y + Height - 1; @@ -1062,23 +1567,33 @@ void GetLargeSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s // Prevent floating trees by placing dirt under them for (int i = 1; i < 5; i++) { - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i), E_BLOCK_DIRT, E_META_DIRT_NORMAL); - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedX(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedZ(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedX(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedZ(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedXZ(1, 1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); } // Place the top. for (size_t i = 0; i < ARRAYCOUNT(BigOSpruceTop); i++) { - PushCoordBlocks(a_BlockPos.x, hei++, a_BlockPos.z, a_OtherBlocks, BigOSpruceTop[i].Coords, BigOSpruceTop[i].Count, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + hei++, + a_BlockPos.z, + a_OtherBlocks, + BigOSpruceTop[i].Coords, + BigOSpruceTop[i].Count, + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); } hei = a_BlockPos.y + Height - 2; for (int i = 0; i < LeavesRingCount; i++) { - unsigned int Val = static_cast(a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * i)) / 23) % 8; + unsigned int Val = + static_cast(a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * i)) / 23) % 8; if ((Val < 4) && RingRadius < 3) { RingRadius++; @@ -1120,7 +1635,6 @@ void GetLargeSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s { break; } - } } @@ -1128,7 +1642,13 @@ void GetLargeSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s -void GetSmallPineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetSmallPineTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { // Tall, little leaves on top. The top leaves are arranged in a shape of two cones joined by their bases. // There can be one or two layers representing the cone bases (SameSizeMax) @@ -1172,7 +1692,16 @@ void GetSmallPineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSe break; } ASSERT(static_cast(LayerSize) < ARRAYCOUNT(BigOLayers)); - PushCoordBlocks(a_BlockPos.x, h, a_BlockPos.z, a_OtherBlocks, BigOLayers[LayerSize].Coords, BigOLayers[LayerSize].Count, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + h, + a_BlockPos.z, + a_OtherBlocks, + BigOLayers[LayerSize].Coords, + BigOLayers[LayerSize].Count, + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); h--; } } @@ -1181,18 +1710,26 @@ void GetSmallPineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSe -void GetLargePineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetLargePineTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { int Height = 20 + (a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * a_Seq)) / 11) % 12; a_LogBlocks.reserve(static_cast(Height) * 4); - a_OtherBlocks.reserve(ARRAYCOUNT(BigO3Pine) + ARRAYCOUNT(BigO2Pine) + ARRAYCOUNT(BigOF2Pine) + ARRAYCOUNT(TopLargePine)); + a_OtherBlocks.reserve( + ARRAYCOUNT(BigO3Pine) + ARRAYCOUNT(BigO2Pine) + ARRAYCOUNT(BigOF2Pine) + ARRAYCOUNT(TopLargePine) + ); for (int i = 0; i < Height; i++) { - a_LogBlocks.emplace_back(a_BlockPos.addedY(i), E_BLOCK_LOG, E_META_LOG_CONIFER); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedX(1), E_BLOCK_LOG, E_META_LOG_CONIFER); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedZ(1), E_BLOCK_LOG, E_META_LOG_CONIFER); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i), E_BLOCK_LOG, E_META_LOG_CONIFER); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedX(1), E_BLOCK_LOG, E_META_LOG_CONIFER); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedZ(1), E_BLOCK_LOG, E_META_LOG_CONIFER); a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(1, 1), E_BLOCK_LOG, E_META_LOG_CONIFER); } int hei = a_BlockPos.y + Height - 2; @@ -1200,16 +1737,25 @@ void GetLargePineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSe // Prevent floating trees by placing dirt under them for (int i = 1; i < 5; i++) { - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i), E_BLOCK_DIRT, E_META_DIRT_NORMAL); - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedX(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedZ(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedX(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedZ(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedXZ(1, 1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); } // Place the canopy. for (size_t i = 0; i < ARRAYCOUNT(BigOPineLayers); i++) { - PushCoordBlocks(a_BlockPos.x, hei++, a_BlockPos.z, a_OtherBlocks, BigOPineLayers[i].Coords, BigOPineLayers[i].Count, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER); + PushCoordBlocks( + a_BlockPos.x, + hei++, + a_BlockPos.z, + a_OtherBlocks, + BigOPineLayers[i].Coords, + BigOPineLayers[i].Count, + E_BLOCK_LEAVES, + E_META_LEAVES_CONIFER + ); } } @@ -1217,21 +1763,28 @@ void GetLargePineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSe -void GetSwampTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetSwampTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { // Vines are around the BigO3, but not in the corners; need proper meta for direction - static const sMetaCoords Vines[] = - { + static const sMetaCoords Vines[] = { {-2, -4, 1}, {-1, -4, 1}, {0, -4, 1}, {1, -4, 1}, {2, -4, 1}, // North face - {-2, 4, 4}, {-1, 4, 4}, {0, 4, 4}, {1, 4, 4}, {2, 4, 4}, // South face - {4, -2, 2}, {4, -1, 2}, {4, 0, 2}, {4, 1, 2}, {4, 2, 2}, // East face + {-2, 4, 4}, {-1, 4, 4}, {0, 4, 4}, {1, 4, 4}, {2, 4, 4}, // South face + {4, -2, 2}, {4, -1, 2}, {4, 0, 2}, {4, 1, 2}, {4, 2, 2}, // East face {-4, -2, 8}, {-4, -1, 8}, {-4, 0, 8}, {-4, 1, 8}, {-4, 2, 8}, // West face - } ; + }; int Height = 3 + (a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * a_Seq)) / 8) % 3; a_LogBlocks.reserve(static_cast(Height)); - a_OtherBlocks.reserve(2 * ARRAYCOUNT(BigO2) + 2 * ARRAYCOUNT(BigO3) + static_cast(Height) * ARRAYCOUNT(Vines) + 20); + a_OtherBlocks.reserve( + 2 * ARRAYCOUNT(BigO2) + 2 * ARRAYCOUNT(BigO3) + static_cast(Height) * ARRAYCOUNT(Vines) + 20 + ); for (int i = 0; i < Height; i++) { @@ -1240,21 +1793,73 @@ void GetSwampTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlo int hei = a_BlockPos.y + Height - 2; // Put vines around the lowermost leaves layer: - PushSomeColumns(a_BlockPos.x, hei, a_BlockPos.z, Height, a_Seq, a_Noise, 0x3fffffff, a_OtherBlocks, Vines, ARRAYCOUNT(Vines), E_BLOCK_VINES); + PushSomeColumns( + a_BlockPos.x, + hei, + a_BlockPos.z, + Height, + a_Seq, + a_Noise, + 0x3fffffff, + a_OtherBlocks, + Vines, + ARRAYCOUNT(Vines), + E_BLOCK_VINES + ); // The lower two leaves layers are BigO3 with log in the middle and possibly corners: for (int i = 0; i < 2; i++) { - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO3, ARRAYCOUNT(BigO3), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); - PushCornerBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_Seq, a_Noise, 0x5fffffff, a_OtherBlocks, 3, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO3, + ARRAYCOUNT(BigO3), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); + PushCornerBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5fffffff, + a_OtherBlocks, + 3, + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); hei++; } // for i - 2* // The upper two leaves layers are BigO2 with leaves in the middle and possibly corners: for (int i = 0; i < 2; i++) { - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); - PushCornerBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_Seq, a_Noise, 0x5fffffff, a_OtherBlocks, 3, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); + PushCornerBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5fffffff, + a_OtherBlocks, + 3, + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); a_OtherBlocks.emplace_back(a_BlockPos.x, hei, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); hei++; } // for i - 2* @@ -1264,17 +1869,41 @@ void GetSwampTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlo -void GetAppleBushImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetAppleBushImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { a_OtherBlocks.reserve(3 + ARRAYCOUNT(BigO2) + ARRAYCOUNT(BigO1)); int hei = a_BlockPos.y; a_LogBlocks.emplace_back(a_BlockPos.x, hei, a_BlockPos.z, E_BLOCK_LOG, E_META_LOG_JUNGLE); - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); hei++; a_OtherBlocks.emplace_back(a_BlockPos.x, hei, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_APPLE); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_APPLE + ); hei++; a_OtherBlocks.emplace_back(a_BlockPos.x, hei, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_APPLE); @@ -1284,7 +1913,14 @@ void GetAppleBushImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlo -void GetJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large) +void GetJungleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks, + bool a_Large +) { if (!a_Large) { @@ -1300,27 +1936,40 @@ void GetJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBl -void GetLargeJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetLargeJungleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { - static const sMetaCoords VinesTrunk[] = - { - {0, -1, 1}, {1, -1, 1}, // North face - {0, 2, 4}, {1, 2, 4}, // South face - {-1, 1, 8}, {-1, 0, 8}, // West face - {2, 1, 2}, {2, 0, 2}, // East face + static const sMetaCoords VinesTrunk[] = { + {0, -1, 1}, + {1, -1, 1}, // North face + {0, 2, 4}, + {1, 2, 4}, // South face + {-1, 1, 8}, + {-1, 0, 8}, // West face + {2, 1, 2}, + {2, 0, 2}, // East face }; - int Height = 10 + ((a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * a_Seq)) / 11) % 20); // 10 < Height < 29 + int Height = + 10 + ((a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(32 * a_Seq, 32 * a_Seq)) / 11) % 20); // 10 < Height < 29 a_LogBlocks.reserve(static_cast(Height) * 4); - a_OtherBlocks.reserve(2 * ARRAYCOUNT(BigO5Jungle) + ARRAYCOUNT(BigO4Jungle) + ARRAYCOUNT(BigO3Jungle) + static_cast(Height) * 4 + 50); + a_OtherBlocks.reserve( + 2 * ARRAYCOUNT(BigO5Jungle) + ARRAYCOUNT(BigO4Jungle) + ARRAYCOUNT(BigO3Jungle) + + static_cast(Height) * 4 + 50 + ); // Generates the main trunk for (int i = 0; i < Height; i++) { - a_LogBlocks.emplace_back(a_BlockPos.addedY(i), E_BLOCK_LOG, E_META_LOG_JUNGLE); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedX(1), E_BLOCK_LOG, E_META_LOG_JUNGLE); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedZ(1), E_BLOCK_LOG, E_META_LOG_JUNGLE); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i), E_BLOCK_LOG, E_META_LOG_JUNGLE); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedX(1), E_BLOCK_LOG, E_META_LOG_JUNGLE); + a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedZ(1), E_BLOCK_LOG, E_META_LOG_JUNGLE); a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(1, 1), E_BLOCK_LOG, E_META_LOG_JUNGLE); // Randomly place vines around the trunk @@ -1330,46 +1979,117 @@ void GetLargeJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s { continue; } - a_OtherBlocks.emplace_back(a_BlockPos.addedXZ(VinesTrunk[j].x, VinesTrunk[j].z).addedY(i), E_BLOCK_VINES, VinesTrunk[j].Meta); + a_OtherBlocks.emplace_back( + a_BlockPos.addedXZ(VinesTrunk[j].x, VinesTrunk[j].z).addedY(i), + E_BLOCK_VINES, + VinesTrunk[j].Meta + ); } } // Prevent floating trees by placing dirt under them for (int i = 1; i < 5; i++) { - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i), E_BLOCK_DIRT, E_META_DIRT_NORMAL); - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedX(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); - a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedZ(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedX(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); + a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedZ(1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); a_OtherBlocks.emplace_back(a_BlockPos.addedY(-i).addedXZ(1, 1), E_BLOCK_DIRT, E_META_DIRT_NORMAL); } int NumBranches = std::max( (a_Noise.IntNoise2DInt(a_BlockPos.x * a_Seq, a_BlockPos.z * a_Seq) / 10) % 4, // The Original Calculation - FloorC(Height / 10.0f) // Just to assure that no massive trees spawn with just one branch - ); - int BranchStartHeight = 6 + Height % 5; // 6 < BranchStartHeight < 10 + FloorC(Height / 10.0f) // Just to assure that no massive trees spawn with just one branch + ); + int BranchStartHeight = 6 + Height % 5; // 6 < BranchStartHeight < 10 int BranchInterval = (Height - 6 - BranchStartHeight) / NumBranches; - for (int i = BranchStartHeight; i < (Height - 6); i += BranchInterval) // Stop 6 blocks before reaching the top + for (int i = BranchStartHeight; i < (Height - 6); i += BranchInterval) // Stop 6 blocks before reaching the top { // Get a direction for the trunk to go to. Vector3d BranchStartDirection = pickBranchDirection(a_Noise, a_BlockPos.addedY(i), a_Seq); Vector3d BranchDirection = pickBranchDirection(a_Noise, a_BlockPos.addedY(i * a_Seq), a_Seq) / 3; int BranchLength = 2 + a_Noise.IntNoise3DInt(a_BlockPos * a_Seq) % 2; - Vector3i BranchEndPosition = GetTreeBranch(E_BLOCK_LOG, E_META_LOG_JUNGLE, a_BlockPos.addedY(i), BranchLength, BranchStartDirection, BranchDirection, a_LogBlocks).Floor(); + Vector3i BranchEndPosition = GetTreeBranch( + E_BLOCK_LOG, + E_META_LOG_JUNGLE, + a_BlockPos.addedY(i), + BranchLength, + BranchStartDirection, + BranchDirection, + a_LogBlocks + ) + .Floor(); // There's a chance that there is a third leaf level on a branch - if ((a_Noise.IntNoise3DInt(a_BlockPos.x * a_Seq, a_BlockPos.y * a_Seq, a_BlockPos.z * a_Seq) % 4) == 0) // A quarter chance + if ((a_Noise.IntNoise3DInt(a_BlockPos.x * a_Seq, a_BlockPos.y * a_Seq, a_BlockPos.z * a_Seq) % 4) == + 0) // A quarter chance { - PushCoordBlocks(BranchEndPosition.x, BranchEndPosition.y, BranchEndPosition.z, a_OtherBlocks, BigO3, ARRAYCOUNT(BigO3), E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); - PushCoordBlocks(BranchEndPosition.x, BranchEndPosition.y + 1, BranchEndPosition.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); - PushCoordBlocks(BranchEndPosition.x, BranchEndPosition.y + 2, BranchEndPosition.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); - a_OtherBlocks.emplace_back(BranchEndPosition.x, BranchEndPosition.y + 2, BranchEndPosition.z, E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); + PushCoordBlocks( + BranchEndPosition.x, + BranchEndPosition.y, + BranchEndPosition.z, + a_OtherBlocks, + BigO3, + ARRAYCOUNT(BigO3), + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); + PushCoordBlocks( + BranchEndPosition.x, + BranchEndPosition.y + 1, + BranchEndPosition.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); + PushCoordBlocks( + BranchEndPosition.x, + BranchEndPosition.y + 2, + BranchEndPosition.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); + a_OtherBlocks.emplace_back( + BranchEndPosition.x, + BranchEndPosition.y + 2, + BranchEndPosition.z, + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); } else { - PushCoordBlocks(BranchEndPosition.x, BranchEndPosition.y, BranchEndPosition.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); - PushCoordBlocks(BranchEndPosition.x, BranchEndPosition.y + 1, BranchEndPosition.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); - a_OtherBlocks.emplace_back(BranchEndPosition.x, BranchEndPosition.y + 1, BranchEndPosition.z, E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); + PushCoordBlocks( + BranchEndPosition.x, + BranchEndPosition.y, + BranchEndPosition.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); + PushCoordBlocks( + BranchEndPosition.x, + BranchEndPosition.y + 1, + BranchEndPosition.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); + a_OtherBlocks.emplace_back( + BranchEndPosition.x, + BranchEndPosition.y + 1, + BranchEndPosition.z, + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); } } @@ -1377,7 +2097,16 @@ void GetLargeJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s int CanopyHeight = a_BlockPos.y + Height - 2; for (size_t i = 0; i < ARRAYCOUNT(BigOJungleLayers); i++) { - PushCoordBlocks(a_BlockPos.x, CanopyHeight++, a_BlockPos.z, a_OtherBlocks, BigOJungleLayers[i].Coords, BigOJungleLayers[i].Count, E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); + PushCoordBlocks( + a_BlockPos.x, + CanopyHeight++, + a_BlockPos.z, + a_OtherBlocks, + BigOJungleLayers[i].Coords, + BigOJungleLayers[i].Count, + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); } } @@ -1385,25 +2114,30 @@ void GetLargeJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s -void GetSmallJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetSmallJungleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { // Vines are around the BigO3, but not in the corners; need proper meta for direction - static const sMetaCoords Vines[] = - { + static const sMetaCoords Vines[] = { {-2, -4, 1}, {-1, -4, 1}, {0, -4, 1}, {1, -4, 1}, {2, -4, 1}, // North face - {-2, 4, 4}, {-1, 4, 4}, {0, 4, 4}, {1, 4, 4}, {2, 4, 4}, // South face - {4, -2, 2}, {4, -1, 2}, {4, 0, 2}, {4, 1, 2}, {4, 2, 2}, // East face - {-4, -2, 8}, {-4, -1, 8}, {-4, 0, 8}, {-4, 1, 8}, // West face + {-2, 4, 4}, {-1, 4, 4}, {0, 4, 4}, {1, 4, 4}, {2, 4, 4}, // South face + {4, -2, 2}, {4, -1, 2}, {4, 0, 2}, {4, 1, 2}, {4, 2, 2}, // East face + {-4, -2, 8}, {-4, -1, 8}, {-4, 0, 8}, {-4, 1, 8}, // West face // TODO: proper metas and height: {0, 1, 1}, {0, -1, 4}, {-1, 0, 2}, {1, 1, 8}, // Around the tunk - } ; + }; int Height = 7 + (a_Noise.IntNoise3DInt(a_BlockPos.addedXZ(5 * a_Seq, 5 * a_Seq)) / 5) % 3; a_LogBlocks.reserve(static_cast(Height)); a_OtherBlocks.reserve( - 2 * ARRAYCOUNT(BigO3) + // O3 layer, 2x - 2 * ARRAYCOUNT(BigO2) + // O2 layer, 2x - ARRAYCOUNT(BigO1) + 1 + // Plus on the top + 2 * ARRAYCOUNT(BigO3) + // O3 layer, 2x + 2 * ARRAYCOUNT(BigO2) + // O2 layer, 2x + ARRAYCOUNT(BigO1) + 1 + // Plus on the top static_cast(Height) * ARRAYCOUNT(Vines) + // Vines 50 // some safety ); @@ -1415,26 +2149,87 @@ void GetSmallJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s int hei = a_BlockPos.y + Height - 3; // Put vines around the lowermost leaves layer: - PushSomeColumns(a_BlockPos.x, hei, a_BlockPos.z, Height, a_Seq, a_Noise, 0x3fffffff, a_OtherBlocks, Vines, ARRAYCOUNT(Vines), E_BLOCK_VINES); + PushSomeColumns( + a_BlockPos.x, + hei, + a_BlockPos.z, + Height, + a_Seq, + a_Noise, + 0x3fffffff, + a_OtherBlocks, + Vines, + ARRAYCOUNT(Vines), + E_BLOCK_VINES + ); // The lower two leaves layers are BigO3 with log in the middle and possibly corners: for (int i = 0; i < 2; i++) { - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO3, ARRAYCOUNT(BigO3), E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); - PushCornerBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_Seq, a_Noise, 0x5fffffff, a_OtherBlocks, 3, E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO3, + ARRAYCOUNT(BigO3), + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); + PushCornerBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5fffffff, + a_OtherBlocks, + 3, + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); hei++; } // for i - 2* // Two layers of BigO2 leaves, possibly with corners: for (int i = 0; i < 1; i++) { - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO2, ARRAYCOUNT(BigO2), E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); - PushCornerBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_Seq, a_Noise, 0x5fffffff, a_OtherBlocks, 2, E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO2, + ARRAYCOUNT(BigO2), + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); + PushCornerBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_Seq, + a_Noise, + 0x5fffffff, + a_OtherBlocks, + 2, + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); hei++; } // for i - 2* // Top plus, all leaves: - PushCoordBlocks(a_BlockPos.x, hei, a_BlockPos.z, a_OtherBlocks, BigO1, ARRAYCOUNT(BigO1), E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); + PushCoordBlocks( + a_BlockPos.x, + hei, + a_BlockPos.z, + a_OtherBlocks, + BigO1, + ARRAYCOUNT(BigO1), + E_BLOCK_LEAVES, + E_META_LEAVES_JUNGLE + ); a_OtherBlocks.emplace_back(a_BlockPos.x, hei, a_BlockPos.z, E_BLOCK_LEAVES, E_META_LEAVES_JUNGLE); } @@ -1442,7 +2237,13 @@ void GetSmallJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s -void GetRedMushroomTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetRedMushroomTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { static constexpr int Height = 4; @@ -1453,43 +2254,89 @@ void GetRedMushroomTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, s if (i != 0) { // NORTH SIDE - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(-1, -2), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH_WEST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(0, -2), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(1, -2), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH_EAST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(i).addedXZ(-1, -2), + E_BLOCK_HUGE_RED_MUSHROOM, + E_META_MUSHROOM_NORTH_WEST + ); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(i).addedXZ(0, -2), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(i).addedXZ(1, -2), + E_BLOCK_HUGE_RED_MUSHROOM, + E_META_MUSHROOM_NORTH_EAST + ); // WEST SIDE - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(-2, -1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH_WEST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(-2, 0), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_WEST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(-2, 1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH_WEST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(i).addedXZ(-2, -1), + E_BLOCK_HUGE_RED_MUSHROOM, + E_META_MUSHROOM_NORTH_WEST + ); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(i).addedXZ(-2, 0), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_WEST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(i).addedXZ(-2, 1), + E_BLOCK_HUGE_RED_MUSHROOM, + E_META_MUSHROOM_SOUTH_WEST + ); // SOUTH SIDE - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(-1, 2), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH_WEST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(0, 2), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(1, 2), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH_EAST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(i).addedXZ(-1, 2), + E_BLOCK_HUGE_RED_MUSHROOM, + E_META_MUSHROOM_SOUTH_WEST + ); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(i).addedXZ(0, 2), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(i).addedXZ(1, 2), + E_BLOCK_HUGE_RED_MUSHROOM, + E_META_MUSHROOM_SOUTH_EAST + ); // EAST SIDE - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(2, -1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH_EAST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(2, 0), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_EAST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(i).addedXZ(2, 1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH_EAST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(i).addedXZ(2, -1), + E_BLOCK_HUGE_RED_MUSHROOM, + E_META_MUSHROOM_NORTH_EAST + ); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(i).addedXZ(2, 0), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_EAST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(i).addedXZ(2, 1), + E_BLOCK_HUGE_RED_MUSHROOM, + E_META_MUSHROOM_SOUTH_EAST + ); } } // Top Layer - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-1, -1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH_WEST); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(Height).addedXZ(-1, -1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH_WEST); a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedX(-1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_WEST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-1, 1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH_WEST); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(Height).addedXZ(-1, 1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH_WEST); a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedZ(-1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH); a_LogBlocks.emplace_back(a_BlockPos.addedY(Height), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_CENTER); a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedZ(1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(1, -1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH_EAST); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(Height).addedXZ(1, -1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_NORTH_EAST); a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedX(1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_EAST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(1, 1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH_EAST); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(Height).addedXZ(1, 1), E_BLOCK_HUGE_RED_MUSHROOM, E_META_MUSHROOM_SOUTH_EAST); } -void GetBrownMushroomTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks) +void GetBrownMushroomTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +) { static constexpr int Height = 4; static constexpr int Radius = 2; @@ -1504,32 +2351,78 @@ void GetBrownMushroomTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, { for (int z = -Radius; z <= Radius; z++) { - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(x, z), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_CENTER); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(x, z), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_CENTER + ); } } for (int i = 0; i < Border; i++) { // NORTH SIDE - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-1, -3).addedX(i), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_NORTH); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(-1, -3).addedX(i), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_NORTH + ); // WEST SIDE - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-3, -1).addedZ(i), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_WEST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(-3, -1).addedZ(i), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_WEST + ); // SOUTH SIDE - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-1, 3).addedX(i), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_SOUTH); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(-1, 3).addedX(i), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_SOUTH + ); // EAST SIDE - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(3, -1).addedZ(i), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_EAST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(3, -1).addedZ(i), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_EAST + ); } // Corners - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(3, 2), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_SOUTH_EAST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(2, 3), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_SOUTH_EAST); - - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-2, 3), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_SOUTH_WEST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-3, 2), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_SOUTH_WEST); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(Height).addedXZ(3, 2), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_SOUTH_EAST); + a_LogBlocks + .emplace_back(a_BlockPos.addedY(Height).addedXZ(2, 3), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_SOUTH_EAST); + + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(-2, 3), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_SOUTH_WEST + ); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(-3, 2), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_SOUTH_WEST + ); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-2, -3), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_NORTH_WEST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(-3, -2), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_NORTH_WEST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(-2, -3), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_NORTH_WEST + ); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(-3, -2), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_NORTH_WEST + ); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(2, -3), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_NORTH_EAST); - a_LogBlocks.emplace_back(a_BlockPos.addedY(Height).addedXZ(3, -2), E_BLOCK_HUGE_BROWN_MUSHROOM, E_META_MUSHROOM_NORTH_EAST); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(2, -3), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_NORTH_EAST + ); + a_LogBlocks.emplace_back( + a_BlockPos.addedY(Height).addedXZ(3, -2), + E_BLOCK_HUGE_BROWN_MUSHROOM, + E_META_MUSHROOM_NORTH_EAST + ); } diff --git a/src/Generating/Trees.h b/src/Generating/Trees.h index 0ffeed30c..82c33cf53 100644 --- a/src/Generating/Trees.h +++ b/src/Generating/Trees.h @@ -25,101 +25,258 @@ logs can overwrite others(leaves), but others shouldn't overwrite logs. This is // Blocks that don't block tree growth: #define CASE_TREE_ALLOWED_BLOCKS \ - case E_BLOCK_AIR: \ - case E_BLOCK_LEAVES: \ - case E_BLOCK_NEW_LEAVES: \ - case E_BLOCK_SNOW: \ - case E_BLOCK_TALL_GRASS: \ - case E_BLOCK_DEAD_BUSH: \ - case E_BLOCK_SAPLING: \ + case E_BLOCK_AIR: \ + case E_BLOCK_LEAVES: \ + case E_BLOCK_NEW_LEAVES: \ + case E_BLOCK_SNOW: \ + case E_BLOCK_TALL_GRASS: \ + case E_BLOCK_DEAD_BUSH: \ + case E_BLOCK_SAPLING: \ case E_BLOCK_VINES // Blocks that a tree may overwrite when growing: -#define CASE_TREE_OVERWRITTEN_BLOCKS \ - case E_BLOCK_AIR: \ - /* case E_BLOCK_LEAVES: LEAVES are a special case, they can be overwritten only by log. Handled in cChunkMap::ReplaceTreeBlocks(). */ \ - case E_BLOCK_SNOW: \ - case E_BLOCK_TALL_GRASS: \ - case E_BLOCK_BIG_FLOWER: \ - case E_BLOCK_DEAD_BUSH: \ - case E_BLOCK_SAPLING: \ +#define CASE_TREE_OVERWRITTEN_BLOCKS \ + case E_BLOCK_AIR: \ + /* case E_BLOCK_LEAVES: LEAVES are a special case, they can be overwritten only by log. Handled in \ + * cChunkMap::ReplaceTreeBlocks(). */ \ + case E_BLOCK_SNOW: \ + case E_BLOCK_TALL_GRASS: \ + case E_BLOCK_BIG_FLOWER: \ + case E_BLOCK_DEAD_BUSH: \ + case E_BLOCK_SAPLING: \ case E_BLOCK_VINES -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a tree at the specified coords (lowest trunk block) in the specified biome */ -void GetTreeImageByBiome(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, EMCSBiome a_Biome, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a tree at the specified coords + * (lowest trunk block) in the specified biome */ +void GetTreeImageByBiome( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + EMCSBiome a_Biome, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random apple tree */ -void GetAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a small (nonbranching) apple tree */ -void GetSmallAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a large (branching) apple tree */ -void GetLargeAppleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetAppleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a small (nonbranching) apple + * tree */ +void GetSmallAppleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a large (branching) apple tree + */ +void GetLargeAppleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks with the logs of a tree branch of the provided log type. The length of the branch can be changed with the a_BranchLength. The initial direction is a_StartDirection. The direction can be manipulated with a_Direction to create a curve. Returns the position of the last log block placed. */ -Vector3d GetTreeBranch(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_BlockPos, int a_BranchLength, Vector3d a_StartDirection, Vector3d a_Direction, sSetBlockVector & a_LogBlocks); +Vector3d GetTreeBranch( + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_BlockPos, + int a_BranchLength, + Vector3d a_StartDirection, + Vector3d a_Direction, + sSetBlockVector & a_LogBlocks +); /** Returns the meta for a log from the given direction */ NIBBLETYPE GetLogMetaFromDirection(NIBBLETYPE a_BlockMeta, Vector3d a_Direction); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random birch tree */ -void GetBirchTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetBirchTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random acacia tree */ -void GetAcaciaTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetAcaciaTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random darkoak tree */ -void GetDarkoakTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetDarkoakTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random large birch tree */ -void GetTallBirchTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random conifer tree. The probability to get a large pine is higher than a spruce tree */ -void GetConiferTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large = false); +void GetTallBirchTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random conifer tree. The + * probability to get a large pine is higher than a spruce tree */ +void GetConiferTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks, + bool a_Large = false +); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random spruce */ -void GetSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large = false); +void GetSpruceTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks, + bool a_Large = false +); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random pine */ -void GetPineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large = false); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random small spruce (short conifer, two layers of leaves) */ -void GetSmallSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random small pine (tall conifer, little leaves at top) */ -void GetSmallPineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random large spruce (short conifer, multiple layers of leaves) */ -void GetLargeSpruceTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random large pine (tall conifer, little leaves at top) */ -void GetLargePineTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetPineTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks, + bool a_Large = false +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random small spruce (short + * conifer, two layers of leaves) */ +void GetSmallSpruceTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random small pine (tall + * conifer, little leaves at top) */ +void GetSmallPineTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random large spruce (short + * conifer, multiple layers of leaves) */ +void GetLargeSpruceTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random large pine (tall + * conifer, little leaves at top) */ +void GetLargePineTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random swampland tree */ -void GetSwampTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random apple bush (for jungles) */ -void GetAppleBushImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetSwampTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random apple bush (for + * jungles) */ +void GetAppleBushImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a random jungle tree */ -void GetJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a large jungle tree (2x2 trunk) */ -void GetLargeJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); - -/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a small jungle tree (1x1 trunk) */ -void GetSmallJungleTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetJungleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks, + bool a_Large +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a large jungle tree (2x2 trunk) + */ +void GetLargeJungleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); + +/** Fills a_LogBlocks and a_OtherBlocks (dirt & leaves) with the blocks required to form a small jungle tree (1x1 trunk) + */ +void GetSmallJungleTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks and a_OtherBlocks with the blocks required to form the red mushroom */ -void GetRedMushroomTreeImage(Vector3i vector3, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetRedMushroomTreeImage( + Vector3i vector3, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); /** Fills a_LogBlocks and a_OtherBlocks with the blocks required to form the brown mushroom */ -void GetBrownMushroomTreeImage(Vector3i a_BlockPos, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); +void GetBrownMushroomTreeImage( + Vector3i a_BlockPos, + cNoise & a_Noise, + int a_Seq, + sSetBlockVector & a_LogBlocks, + sSetBlockVector & a_OtherBlocks +); diff --git a/src/Generating/TwoHeights.cpp b/src/Generating/TwoHeights.cpp index 91c67608c..bdea22441 100644 --- a/src/Generating/TwoHeights.cpp +++ b/src/Generating/TwoHeights.cpp @@ -14,18 +14,13 @@ -class cTwoHeights: - public cTerrainShapeGen +class cTwoHeights : public cTerrainShapeGen { using Super = cTerrainShapeGen; -public: - - cTwoHeights(int a_Seed, cBiomeGen & a_BiomeGen): - m_Seed(a_Seed), - m_Choice(a_Seed), - m_HeightA(a_Seed + 1, a_BiomeGen), - m_HeightB(a_Seed + 2, a_BiomeGen) + public: + cTwoHeights(int a_Seed, cBiomeGen & a_BiomeGen) : + m_Seed(a_Seed), m_Choice(a_Seed), m_HeightA(a_Seed + 1, a_BiomeGen), m_HeightB(a_Seed + 2, a_BiomeGen) { } @@ -44,10 +39,10 @@ public: NOISE_DATATYPE workspace[33 * 5 * 5]; NOISE_DATATYPE startX = 0; NOISE_DATATYPE endX = 256 * m_FrequencyY; - NOISE_DATATYPE startY = a_ChunkCoords.m_ChunkX * cChunkDef::Width * m_FrequencyX; - NOISE_DATATYPE endY = (a_ChunkCoords.m_ChunkX * cChunkDef::Width + cChunkDef::Width + 1) * m_FrequencyX; - NOISE_DATATYPE startZ = a_ChunkCoords.m_ChunkZ * cChunkDef::Width * m_FrequencyZ; - NOISE_DATATYPE endZ = (a_ChunkCoords.m_ChunkZ * cChunkDef::Width + cChunkDef::Width + 1) * m_FrequencyZ; + NOISE_DATATYPE startY = a_ChunkCoords.m_ChunkX * cChunkDef::Width * m_FrequencyX; + NOISE_DATATYPE endY = (a_ChunkCoords.m_ChunkX * cChunkDef::Width + cChunkDef::Width + 1) * m_FrequencyX; + NOISE_DATATYPE startZ = a_ChunkCoords.m_ChunkZ * cChunkDef::Width * m_FrequencyZ; + NOISE_DATATYPE endZ = (a_ChunkCoords.m_ChunkZ * cChunkDef::Width + cChunkDef::Width + 1) * m_FrequencyZ; m_Choice.Generate3D(smallChoice, 33, 5, 5, startX, endX, startY, endY, startZ, endZ, workspace); NOISE_DATATYPE choice[257 * 17 * 17]; LinearUpscale3DArray(smallChoice, 33, 5, 5, choice, 8, 4, 4); @@ -93,7 +88,7 @@ public: } } -protected: + protected: int m_Seed; /** The noise used to decide between the two heightmaps. */ diff --git a/src/Generating/VerticalLimit.cpp b/src/Generating/VerticalLimit.cpp index 8ae8c4d9b..49548a3e3 100644 --- a/src/Generating/VerticalLimit.cpp +++ b/src/Generating/VerticalLimit.cpp @@ -16,38 +16,38 @@ If no value is in the string, both values are left unchanged. If only the minimum is in the string, it is assigned to both a_Min and a_Max. */ namespace VerticalLimit { - static bool ParseRange(const AString & a_Params, int & a_Min, int & a_Max, bool a_LogWarnings) +static bool ParseRange(const AString & a_Params, int & a_Min, int & a_Max, bool a_LogWarnings) +{ + auto params = StringSplitAndTrim(a_Params, "|"); + if (params.size() == 0) { - auto params = StringSplitAndTrim(a_Params, "|"); - if (params.size() == 0) - { - // No params, generate directly on top: - return true; - } - if (!StringToInteger(params[0], a_Min)) - { - // Failed to parse the min rel height: - CONDWARNING(a_LogWarnings, "Cannot parse minimum height from string \"%s\"!", params[0].c_str()); - return false; - } - if (params.size() == 1) - { - // Only one param was given, there's no range - a_Max = a_Min; - return true; - } - if (!StringToInteger(params[1], a_Max)) - { - CONDWARNING(a_LogWarnings, "Cannot parse maximum height from string \"%s\"!", params[1].c_str()); - return false; - } - if (a_Max < a_Min) - { - std::swap(a_Max, a_Min); - } + // No params, generate directly on top: return true; } + if (!StringToInteger(params[0], a_Min)) + { + // Failed to parse the min rel height: + CONDWARNING(a_LogWarnings, "Cannot parse minimum height from string \"%s\"!", params[0].c_str()); + return false; + } + if (params.size() == 1) + { + // Only one param was given, there's no range + a_Max = a_Min; + return true; + } + if (!StringToInteger(params[1], a_Max)) + { + CONDWARNING(a_LogWarnings, "Cannot parse maximum height from string \"%s\"!", params[1].c_str()); + return false; + } + if (a_Max < a_Min) + { + std::swap(a_Max, a_Min); + } + return true; } +} // namespace VerticalLimit @@ -55,22 +55,21 @@ namespace VerticalLimit //////////////////////////////////////////////////////////////////////////////// /** Limit that accepts any height. The default for all pieces. */ -class cVerticalLimitNone: - public cPiece::cVerticalLimit +class cVerticalLimitNone : public cPiece::cVerticalLimit { -public: - virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override - { - // Any height is okay - return true; - } + public: + virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override + { + // Any height is okay + return true; + } - virtual bool InitializeFromString(const AString & a_Params, bool a_LogWarnings) override - { - // No parameters to read, no checks being done - return true; - } + virtual bool InitializeFromString(const AString & a_Params, bool a_LogWarnings) override + { + // No parameters to read, no checks being done + return true; + } }; @@ -79,14 +78,10 @@ public: //////////////////////////////////////////////////////////////////////////////// /** Limit that accepts heights above the specified minimum fixed height. */ -class cVerticalLimitAbove: - public cPiece::cVerticalLimit +class cVerticalLimitAbove : public cPiece::cVerticalLimit { -public: - virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override - { - return (a_Height >= m_MinHeight); - } + public: + virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override { return (a_Height >= m_MinHeight); } virtual bool InitializeFromString(const AString & a_Params, bool a_LogWarnings) override @@ -100,7 +95,7 @@ public: return true; } -protected: + protected: /** The minimum accepted height. */ int m_MinHeight; }; @@ -111,10 +106,9 @@ protected: //////////////////////////////////////////////////////////////////////////////// /** Limit that accepts heights that are a specified number of blocks above terrain. */ -class cVerticalLimitAboveTerrain: - public cPiece::cVerticalLimit +class cVerticalLimitAboveTerrain : public cPiece::cVerticalLimit { -public: + public: virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override { ASSERT(m_TerrainHeightGen != nullptr); @@ -122,7 +116,7 @@ public: int compareHeight = a_Height - terrainHeight; return ( (compareHeight >= m_MinBlocksAbove) && // Above the minimum - (compareHeight <= m_MaxBlocksAbove) // and below the maximum + (compareHeight <= m_MaxBlocksAbove) // and below the maximum ); } @@ -136,12 +130,13 @@ public: } - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) override + virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) + override { m_TerrainHeightGen = &a_TerrainHeightGen; } -protected: + protected: /** The underlying height generator. */ cTerrainHeightGen * m_TerrainHeightGen; @@ -158,10 +153,9 @@ protected: //////////////////////////////////////////////////////////////////////////////// /** Limit that accepts heights that are a specified number of blocks above terrain and sealevel, whichever is higher. */ -class cVerticalLimitAboveTerrainAndOcean: - public cPiece::cVerticalLimit +class cVerticalLimitAboveTerrainAndOcean : public cPiece::cVerticalLimit { -public: + public: virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override { ASSERT(m_TerrainHeightGen != nullptr); @@ -169,7 +163,7 @@ public: int compareHeight = a_Height - std::max(terrainHeight, m_SeaLevel); return ( (compareHeight >= m_MinBlocksAbove) && // Above the minimum - (compareHeight <= m_MaxBlocksAbove) // and below the maximum + (compareHeight <= m_MaxBlocksAbove) // and below the maximum ); } @@ -183,13 +177,14 @@ public: } - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) override + virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) + override { m_TerrainHeightGen = &a_TerrainHeightGen; m_SeaLevel = a_SeaLevel; } -protected: + protected: /** The underlying height generator. */ cTerrainHeightGen * m_TerrainHeightGen; @@ -210,14 +205,10 @@ protected: //////////////////////////////////////////////////////////////////////////////// /** Limit that accepts heights below the specified fixed height. NOTE that the query height is the BOTTOM of the piece. */ -class cVerticalLimitBelow: - public cPiece::cVerticalLimit +class cVerticalLimitBelow : public cPiece::cVerticalLimit { -public: - virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override - { - return (a_Height <= m_MaxHeight); - } + public: + virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override { return (a_Height <= m_MaxHeight); } virtual bool InitializeFromString(const AString & a_Params, bool a_LogWarnings) override @@ -231,7 +222,7 @@ public: return true; } -protected: + protected: /** The maximum accepted height. */ int m_MaxHeight; }; @@ -243,18 +234,14 @@ protected: //////////////////////////////////////////////////////////////////////////////// /** Limit that accepts heights that are within a specified range below terrain. NOTE that the query height is the BOTTOM of the piece. */ -class cVerticalLimitBelowTerrain: - public cPiece::cVerticalLimit +class cVerticalLimitBelowTerrain : public cPiece::cVerticalLimit { -public: + public: virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override { auto terrainHeight = m_TerrainHeightGen->GetHeightAt(a_BlockX, a_BlockZ); auto compareHeight = terrainHeight - a_Height; - return ( - (compareHeight >= m_MinBlocksBelow) && - (compareHeight <= m_MaxBlocksBelow) - ); + return ((compareHeight >= m_MinBlocksBelow) && (compareHeight <= m_MaxBlocksBelow)); } @@ -267,12 +254,13 @@ public: } - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) override + virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) + override { m_TerrainHeightGen = &a_TerrainHeightGen; } -protected: + protected: /** The underlying height generator. */ cTerrainHeightGen * m_TerrainHeightGen; @@ -289,18 +277,14 @@ protected: //////////////////////////////////////////////////////////////////////////////// /** Limit that accepts heights that are a specified number of blocks below terrain or sealevel, whichever is higher. */ -class cVerticalLimitBelowTerrainOrOcean: - public cPiece::cVerticalLimit +class cVerticalLimitBelowTerrainOrOcean : public cPiece::cVerticalLimit { -public: + public: virtual bool CanBeAtHeight(int a_BlockX, int a_BlockZ, int a_Height) override { int terrainHeight = m_TerrainHeightGen->GetHeightAt(a_BlockX, a_BlockZ); auto compareHeight = std::max(terrainHeight, m_SeaLevel) - a_Height; - return ( - (compareHeight >= m_MinBlocksBelow) && - (compareHeight <= m_MaxBlocksBelow) - ); + return ((compareHeight >= m_MinBlocksBelow) && (compareHeight <= m_MaxBlocksBelow)); } @@ -313,13 +297,14 @@ public: } - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) override + virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) + override { m_TerrainHeightGen = &a_TerrainHeightGen; m_SeaLevel = a_SeaLevel; } -protected: + protected: /** The underlying height generator. */ cTerrainHeightGen * m_TerrainHeightGen; diff --git a/src/Generating/VerticalLimit.h b/src/Generating/VerticalLimit.h index aeb41c1e8..8c11d2ea1 100644 --- a/src/Generating/VerticalLimit.h +++ b/src/Generating/VerticalLimit.h @@ -20,7 +20,3 @@ a_LimitDesc is in the format "|". The params and the pipe ma If an unknown class is requested or the param parsing fails, nullptr is returned. If a_LogWarnings is true, any problem is reported into the server console. */ cPiece::cVerticalLimitPtr CreateVerticalLimitFromString(const AString & a_LimitDesc, bool a_LogWarnings); - - - - diff --git a/src/Generating/VerticalStrategy.cpp b/src/Generating/VerticalStrategy.cpp index 3b0307167..6b8ba2983 100644 --- a/src/Generating/VerticalStrategy.cpp +++ b/src/Generating/VerticalStrategy.cpp @@ -25,39 +25,39 @@ If a_LogWarnings is true, outputs failure reasons to console. The range is returned in a_Min and a_Range, they are left unchanged if the range value is not present in the string. */ namespace VerticalStrategy { - static bool ParseRange(const AString & a_Params, int & a_Min, int & a_Range, bool a_LogWarnings) +static bool ParseRange(const AString & a_Params, int & a_Min, int & a_Range, bool a_LogWarnings) +{ + auto params = StringSplitAndTrim(a_Params, "|"); + if (params.size() == 0) { - auto params = StringSplitAndTrim(a_Params, "|"); - if (params.size() == 0) - { - // No params, generate directly on top: - return true; - } - if (!StringToInteger(params[0], a_Min)) - { - // Failed to parse the min rel height: - CONDWARNING(a_LogWarnings, "Cannot parse minimum height from string \"%s\"!", params[0].c_str()); - return false; - } - if (params.size() == 1) - { - // Only one param was given, there's no range - return true; - } - int maxHeight = a_Min; - if (!StringToInteger(params[1], maxHeight)) - { - CONDWARNING(a_LogWarnings, "Cannot parse maximum height from string \"%s\"!", params[1].c_str()); - return false; - } - if (maxHeight < a_Min) - { - std::swap(maxHeight, a_Min); - } - a_Range = maxHeight - a_Min + 1; + // No params, generate directly on top: return true; } + if (!StringToInteger(params[0], a_Min)) + { + // Failed to parse the min rel height: + CONDWARNING(a_LogWarnings, "Cannot parse minimum height from string \"%s\"!", params[0].c_str()); + return false; + } + if (params.size() == 1) + { + // Only one param was given, there's no range + return true; + } + int maxHeight = a_Min; + if (!StringToInteger(params[1], maxHeight)) + { + CONDWARNING(a_LogWarnings, "Cannot parse maximum height from string \"%s\"!", params[1].c_str()); + return false; + } + if (maxHeight < a_Min) + { + std::swap(maxHeight, a_Min); + } + a_Range = maxHeight - a_Min + 1; + return true; } +} // namespace VerticalStrategy @@ -65,20 +65,16 @@ namespace VerticalStrategy //////////////////////////////////////////////////////////////////////////////// /** A vertical strategy that places the piece at a predefined height. */ -class cVerticalStrategyFixed: - public cPiece::cVerticalStrategy +class cVerticalStrategyFixed : public cPiece::cVerticalStrategy { -public: - cVerticalStrategyFixed(void): + public: + cVerticalStrategyFixed(void) : m_Height(-1000) // Default to "unassigned" height { } - virtual int GetVerticalPlacement(int a_BlockX, int a_BlockZ) override - { - return m_Height; - } + virtual int GetVerticalPlacement(int a_BlockX, int a_BlockZ) override { return m_Height; } virtual bool InitializeFromString(const AString & a_Params, bool a_LogWarnings) override @@ -92,7 +88,7 @@ public: return true; } -protected: + protected: /** Height at which the pieces are placed. Note that this height may be outside the world, so that only a part of the piece is generated. */ int m_Height; @@ -104,11 +100,10 @@ protected: //////////////////////////////////////////////////////////////////////////////// /** A vertical strategy that places the piece in a random height between two heights. */ -class cVerticalStrategyRange: - public cPiece::cVerticalStrategy +class cVerticalStrategyRange : public cPiece::cVerticalStrategy { -public: - cVerticalStrategyRange(void): + public: + cVerticalStrategyRange(void) : m_Seed(0), m_Min(-1), // Default to "unassigned" height m_Range(1) @@ -135,7 +130,11 @@ public: int Max = 0; if (!StringToInteger(params[0], m_Min) || !StringToInteger(params[1], Max)) { - CONDWARNING(a_LogWarnings, "Cannot parse the minimum or maximum height from string \"%s\"!", a_Params.c_str()); + CONDWARNING( + a_LogWarnings, + "Cannot parse the minimum or maximum height from string \"%s\"!", + a_Params.c_str() + ); return false; } if (m_Min > Max) @@ -147,12 +146,13 @@ public: } - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) override + virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_TerrainHeightGen, int a_SeaLevel) + override { m_Seed = a_Seed + SEED_OFFSET; } -protected: + protected: /** Seed for the random generator. Received in AssignGens(). */ int m_Seed; @@ -166,11 +166,9 @@ protected: //////////////////////////////////////////////////////////////////////////////// /** A vertical strategy that places the piece in a specified range relative to the top of the terrain. */ -class cVerticalStrategyTerrainTop: - public cPiece::cVerticalStrategy +class cVerticalStrategyTerrainTop : public cPiece::cVerticalStrategy { -public: - + public: virtual int GetVerticalPlacement(int a_BlockX, int a_BlockZ) override { ASSERT(m_HeightGen != nullptr); @@ -181,7 +179,12 @@ public: m_HeightGen->GenHeightMap({ChunkX, ChunkZ}, HeightMap); cNoise noise(m_Seed); int rel = m_MinRelHeight + (noise.IntNoise2DInt(a_BlockX, a_BlockZ) / 7) % m_RelHeightRange + 1; - return cChunkDef::GetHeight(HeightMap, a_BlockX - ChunkX * cChunkDef::Width, a_BlockZ - ChunkZ * cChunkDef::Width) + rel; + return cChunkDef::GetHeight( + HeightMap, + a_BlockX - ChunkX * cChunkDef::Width, + a_BlockZ - ChunkZ * cChunkDef::Width + ) + + rel; } @@ -194,13 +197,14 @@ public: } - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel) override + virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel) + override { m_Seed = a_Seed + SEED_OFFSET; m_HeightGen = &a_HeightGen; } -protected: + protected: /** Seed for the random generator. */ int m_Seed; @@ -220,11 +224,9 @@ protected: //////////////////////////////////////////////////////////////////////////////// /** A vertical strategy that places the piece within a range on top of the terrain or ocean, whichever's higher. */ -class cVerticalStrategyTerrainOrOceanTop: - public cPiece::cVerticalStrategy +class cVerticalStrategyTerrainOrOceanTop : public cPiece::cVerticalStrategy { -public: - + public: virtual int GetVerticalPlacement(int a_BlockX, int a_BlockZ) override { ASSERT(m_HeightGen != nullptr); @@ -233,7 +235,9 @@ public: cChunkDef::BlockToChunk(a_BlockX, a_BlockZ, ChunkX, ChunkZ); cChunkDef::HeightMap HeightMap; m_HeightGen->GenHeightMap({ChunkX, ChunkZ}, HeightMap); - int terrainHeight = static_cast(cChunkDef::GetHeight(HeightMap, a_BlockX - ChunkX * cChunkDef::Width, a_BlockZ - ChunkZ * cChunkDef::Width)); + int terrainHeight = static_cast( + cChunkDef::GetHeight(HeightMap, a_BlockX - ChunkX * cChunkDef::Width, a_BlockZ - ChunkZ * cChunkDef::Width) + ); terrainHeight = std::max(1 + terrainHeight, m_SeaLevel); cNoise noise(m_Seed); int rel = m_MinRelHeight + (noise.IntNoise2DInt(a_BlockX, a_BlockZ) / 7) % m_RelHeightRange + 1; @@ -250,14 +254,15 @@ public: } - virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel) override + virtual void AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel) + override { m_Seed = a_Seed + SEED_OFFSET; m_HeightGen = &a_HeightGen; m_SeaLevel = a_SeaLevel; } -protected: + protected: /** Seed for the random generator. */ int m_Seed; diff --git a/src/Generating/VerticalStrategy.h b/src/Generating/VerticalStrategy.h index d42f85d4b..535b4feab 100644 --- a/src/Generating/VerticalStrategy.h +++ b/src/Generating/VerticalStrategy.h @@ -19,7 +19,3 @@ a_StrategyDesc is in the format "|". The params and the pipe may be omitted. If an unknown class is requested or the param parsing fails, nullptr is returned. */ cPiece::cVerticalStrategyPtr CreateVerticalStrategyFromString(const AString & a_StrategyDesc, bool a_LogWarnings); - - - - diff --git a/src/Generating/VillageGen.cpp b/src/Generating/VillageGen.cpp index d7edf688d..395c1911c 100644 --- a/src/Generating/VillageGen.cpp +++ b/src/Generating/VillageGen.cpp @@ -37,26 +37,23 @@ per-village density setting, the cVillage class itself implements the cPiecePool calls to the underlying cVillagePiecePool, after processing the density check. */ -class cVillagePiecePool: - public cPrefabPiecePool +class cVillagePiecePool : public cPrefabPiecePool { using Super = cPrefabPiecePool; -public: - + public: cVillagePiecePool( - const cPrefab::sDef * a_PieceDefs, size_t a_NumPieceDefs, - const cPrefab::sDef * a_StartingPieceDefs, size_t a_NumStartingPieceDefs - ): + const cPrefab::sDef * a_PieceDefs, + size_t a_NumPieceDefs, + const cPrefab::sDef * a_StartingPieceDefs, + size_t a_NumStartingPieceDefs + ) : Super(a_PieceDefs, a_NumPieceDefs, a_StartingPieceDefs, a_NumStartingPieceDefs) { AddRoadPieces(); } - cVillagePiecePool(void) - { - AddRoadPieces(); - } + cVillagePiecePool(void) { AddRoadPieces(); } void AddRoadPieces(void) { @@ -67,7 +64,7 @@ public: BA.Create(len, 1, 3, cBlockArea::baTypes | cBlockArea::baMetas); BA.Fill(cBlockArea::baTypes | cBlockArea::baMetas, E_BLOCK_GRAVEL, 0); cPrefab * RoadPiece = new cPrefab(BA, 1); - RoadPiece->AddConnector(0, 0, 1, cPiece::cConnector::dirXM, -2); + RoadPiece->AddConnector(0, 0, 1, cPiece::cConnector::dirXM, -2); RoadPiece->AddConnector(len - 1, 0, 1, cPiece::cConnector::dirXP, -2); RoadPiece->SetDefaultWeight(100); @@ -93,10 +90,15 @@ public: // cPrefabPiecePool overrides: - virtual int GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector, const cPiece & a_NewPiece) override + virtual int GetPieceWeight( + const cPlacedPiece & a_PlacedPiece, + const cPiece::cConnector & a_ExistingConnector, + const cPiece & a_NewPiece + ) override { // Roads cannot branch T-wise (appending -2 connector to a +2 connector on a 1-high piece): - if ((a_ExistingConnector.m_Type == 2) && (a_PlacedPiece.GetDepth() > 0) && (a_PlacedPiece.GetPiece().GetSize().y == 1)) + if ((a_ExistingConnector.m_Type == 2) && (a_PlacedPiece.GetDepth() > 0) && + (a_PlacedPiece.GetPiece().GetSize().y == 1)) { return 0; } @@ -109,24 +111,24 @@ public: -class cVillageGen::cVillage: - public cGridStructGen::cStructure, - protected cPiecePool +class cVillageGen::cVillage : public cGridStructGen::cStructure, + protected cPiecePool { using Super = cGridStructGen::cStructure; -public: - + public: cVillage( int a_Seed, - int a_GridX, int a_GridZ, - int a_OriginX, int a_OriginZ, + int a_GridX, + int a_GridZ, + int a_OriginX, + int a_OriginZ, int a_MaxRoadDepth, int a_MaxSize, int a_Density, cVillagePiecePool & a_Prefabs, cTerrainHeightGen & a_HeightGen - ): + ) : Super(a_GridX, a_GridZ, a_OriginX, a_OriginZ), m_Seed(a_Seed), m_Noise(a_Seed), @@ -149,7 +151,7 @@ public: } -protected: + protected: /** Seed for the random functions */ int m_Seed; @@ -258,10 +260,7 @@ protected: } - virtual cPieces GetStartingPieces(void) override - { - return m_Prefabs.GetStartingPieces(); - } + virtual cPieces GetStartingPieces(void) override { return m_Prefabs.GetStartingPieces(); } virtual int GetPieceWeight( @@ -292,16 +291,10 @@ protected: } - virtual void PiecePlaced(const cPiece & a_Piece) override - { - m_Prefabs.PiecePlaced(a_Piece); - } + virtual void PiecePlaced(const cPiece & a_Piece) override { m_Prefabs.PiecePlaced(a_Piece); } - virtual void Reset(void) override - { - m_Prefabs.Reset(); - } + virtual void Reset(void) override { m_Prefabs.Reset(); } void MoveAllDescendants(cPlacedPieces & a_PlacedPieces, size_t a_Pivot, int a_HeightDifference) @@ -310,9 +303,9 @@ protected: auto & Pivot = a_PlacedPieces[a_Pivot]; for (size_t i = a_Pivot + 1; i < num; i++) { - if ( - (a_PlacedPieces[i]->GetParent() == Pivot.get()) && // It is a direct dependant of the pivot - !(static_cast(a_PlacedPieces[i]->GetPiece())).ShouldMoveToGround() // It attaches strictly by connectors + if ((a_PlacedPieces[i]->GetParent() == Pivot.get()) && // It is a direct dependant of the pivot + !(static_cast(a_PlacedPieces[i]->GetPiece())) + .ShouldMoveToGround() // It attaches strictly by connectors ) { a_PlacedPieces[i]->MoveToGroundBy(a_HeightDifference); @@ -320,7 +313,7 @@ protected: } } // for i - a_PlacedPieces[] } -} ; +}; @@ -351,7 +344,7 @@ cVillageGen::cVillageGen( m_BiomeGen(a_BiomeGen), m_HeightGen(a_HeightGen) { - for (const auto & toLoad: a_PrefabsToLoad) + for (const auto & toLoad : a_PrefabsToLoad) { auto prefabs = std::make_shared(); auto fileName = fmt::format(FMT_STRING("Prefabs{0}Villages{0}{1}.cubeset"), cFile::GetPathSeparator(), toLoad); @@ -359,8 +352,11 @@ cVillageGen::cVillageGen( { if (NoCaseCompare(prefabs->GetIntendedUse(), "village") != 0) { - LOGWARNING("Village generator: File %s is intended for use in \"%s\", rather than villages. Loading the file, but the generator may behave unexpectedly.", - fileName, prefabs->GetIntendedUse() + LOGWARNING( + "Village generator: File %s is intended for use in \"%s\", rather than villages. Loading the file, " + "but the generator may behave unexpectedly.", + fileName, + prefabs->GetIntendedUse() ); } prefabs->AssignGens(a_Seed, m_BiomeGen, m_HeightGen, a_SeaLevel); @@ -382,16 +378,18 @@ cGridStructGen::cStructurePtr cVillageGen::CreateStructure(int a_GridX, int a_Gr m_BiomeGen.GenBiomes({ChunkX, ChunkZ}, Biomes); // Get a list of pools that support each biome within the chunk: - // If just one column's biome is not allowed, the pool is not used because it's likely that an unfriendly biome is too close + // If just one column's biome is not allowed, the pool is not used because it's likely that an unfriendly biome is + // too close auto availablePools = m_Pools; for (size_t i = 0; i < ARRAYCOUNT(Biomes); i++) { auto biome = Biomes[i]; - availablePools.erase(std::remove_if(availablePools.begin(), availablePools.end(), - [biome](std::shared_ptr & a_Pool) - { - return !a_Pool->IsBiomeAllowed(biome); - }), + availablePools.erase( + std::remove_if( + availablePools.begin(), + availablePools.end(), + [biome](std::shared_ptr & a_Pool) { return !a_Pool->IsBiomeAllowed(biome); } + ), availablePools.end() ); // Bail out if no compatible pools left: @@ -422,5 +420,16 @@ cGridStructGen::cStructurePtr cVillageGen::CreateStructure(int a_GridX, int a_Gr } // Create a village based on the chosen prefabs: - return cStructurePtr(new cVillage(m_Seed, a_GridX, a_GridZ, a_OriginX, a_OriginZ, m_MaxDepth, m_MaxSize, Density, *pool.get(), m_HeightGen)); + return cStructurePtr(new cVillage( + m_Seed, + a_GridX, + a_GridZ, + a_OriginX, + a_OriginZ, + m_MaxDepth, + m_MaxSize, + Density, + *pool.get(), + m_HeightGen + )); } diff --git a/src/Generating/VillageGen.h b/src/Generating/VillageGen.h index c59c089d3..b2e8b1f18 100644 --- a/src/Generating/VillageGen.h +++ b/src/Generating/VillageGen.h @@ -23,13 +23,11 @@ class cVillagePiecePool; -class cVillageGen: - public cGridStructGen +class cVillageGen : public cGridStructGen { using Super = cGridStructGen; -public: - + public: /** Creates a new instance of the generator with the specified parameters. */ cVillageGen( int a_Seed, @@ -37,14 +35,15 @@ public: int a_MaxOffset, int a_MaxDepth, int a_MaxSize, - int a_MinDensity, int a_MaxDensity, + int a_MinDensity, + int a_MaxDensity, cBiomeGen & a_BiomeGen, cTerrainHeightGen & a_HeightGen, int a_SeaLevel, const AStringVector & a_PrefabsToLoad ); -protected: + protected: class cVillage; // fwd: VillageGen.cpp typedef std::vector> cVillagePiecePools; @@ -75,4 +74,4 @@ protected: // cGridStructGen overrides: virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override; -} ; +}; diff --git a/src/Globals.cpp b/src/Globals.cpp index 13c6ae709..680afbf75 100644 --- a/src/Globals.cpp +++ b/src/Globals.cpp @@ -4,7 +4,3 @@ // This file is used for precompiled header generation in MSVC environments #include "Globals.h" - - - - diff --git a/src/Globals.h b/src/Globals.h index 7c2af3d11..eed2fa04b 100644 --- a/src/Globals.h +++ b/src/Globals.h @@ -16,37 +16,38 @@ // Compiler-dependent stuff: #if defined(_MSC_VER) - // Use non-standard defines in - #define _USE_MATH_DEFINES - - #ifndef NDEBUG - // Override the "new" operator to include file and line specification for debugging memory leaks - // Ref.: https://social.msdn.microsoft.com/Forums/en-US/ebc7dd7a-f3c6-49f1-8a60-e381052f21b6/debugging-memory-leaks?forum=vcgeneral#53f0cc89-62fe-45e8-bbf0-56b89f2a1901 - // This causes MSVC Debug runs to produce a report upon program exit, that contains memory-leaks - // together with the file:line information about where the memory was allocated. - // Note that this doesn't work with placement-new, which needs to temporarily #undef the macro - // (See AllocationPool.h for an example). - #define _CRTDBG_MAP_ALLOC - #include - #include - #define DEBUG_CLIENTBLOCK new(_CLIENT_BLOCK, __FILE__, __LINE__) - #define new DEBUG_CLIENTBLOCK - // For some reason this works magically - each "new X" gets replaced as "new(_CLIENT_BLOCK, "file", line) X" - // The CRT has a definition for this operator new that stores the debugging info for leak-finding later. - #endif - - #define UNREACHABLE_INTRINSIC __assume(false) +// Use non-standard defines in +#define _USE_MATH_DEFINES + +#ifndef NDEBUG +// Override the "new" operator to include file and line specification for debugging memory leaks +// Ref.: +// https://social.msdn.microsoft.com/Forums/en-US/ebc7dd7a-f3c6-49f1-8a60-e381052f21b6/debugging-memory-leaks?forum=vcgeneral#53f0cc89-62fe-45e8-bbf0-56b89f2a1901 +// This causes MSVC Debug runs to produce a report upon program exit, that contains memory-leaks +// together with the file:line information about where the memory was allocated. +// Note that this doesn't work with placement-new, which needs to temporarily #undef the macro +// (See AllocationPool.h for an example). +#define _CRTDBG_MAP_ALLOC +#include +#include +#define DEBUG_CLIENTBLOCK new (_CLIENT_BLOCK, __FILE__, __LINE__) +#define new DEBUG_CLIENTBLOCK +// For some reason this works magically - each "new X" gets replaced as "new(_CLIENT_BLOCK, "file", line) X" +// The CRT has a definition for this operator new that stores the debugging info for leak-finding later. +#endif + +#define UNREACHABLE_INTRINSIC __assume(false) #elif defined(__GNUC__) - // TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? - #define abstract +// TODO: Can GCC explicitly mark classes as abstract (no instances can be created)? +#define abstract - #define UNREACHABLE_INTRINSIC __builtin_unreachable() +#define UNREACHABLE_INTRINSIC __builtin_unreachable() #else - #error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" +#error "You are using an unsupported compiler, you might need to #define some stuff here for your compiler" #endif @@ -57,19 +58,19 @@ // A macro to disallow the copy constructor and operator = functions // This should be used in the declarations for any class that shouldn't allow copying itself #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName &) = delete; \ - TypeName & operator =(const TypeName &) = delete + TypeName(const TypeName &) = delete; \ + TypeName & operator=(const TypeName &) = delete // A macro that is used to mark unused local variables, to avoid pedantic warnings in gcc / clang / MSVC // Note that in MSVC it requires the full type of X to be known -#define UNUSED_VAR(X) (void)(X) +#define UNUSED_VAR(X) (void) (X) // A macro that is used to mark unused function parameters, to avoid pedantic warnings in gcc // Written so that the full type of param needn't be known #ifdef _MSC_VER - #define UNUSED(X) +#define UNUSED(X) #else - #define UNUSED UNUSED_VAR +#define UNUSED UNUSED_VAR #endif @@ -78,29 +79,31 @@ // OS-dependent stuff: #ifdef _WIN32 - #define NOMINMAX // Windows SDK defines min and max macros, messing up with our std::min and std::max usage. - #define WIN32_LEAN_AND_MEAN - #define _WIN32_WINNT 0x0501 // We want to target Windows XP with Service Pack 2 & Windows Server 2003 with Service Pack 1 and higher. - - // Use CryptoAPI primitives when targeting a version that supports encrypting with AES-CFB8 smaller than a full block at a time. - #define PLATFORM_CRYPTOGRAPHY (_WIN32_WINNT >= 0x0602) - - #include - #include - #include // IPv6 stuff - - // Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant: - #ifdef GetFreeSpace - #undef GetFreeSpace - #endif // GetFreeSpace +#define NOMINMAX // Windows SDK defines min and max macros, messing up with our std::min and std::max usage. +#define WIN32_LEAN_AND_MEAN +#define _WIN32_WINNT \ + 0x0501 // We want to target Windows XP with Service Pack 2 & Windows Server 2003 with Service Pack 1 and higher. + +// Use CryptoAPI primitives when targeting a version that supports encrypting with AES-CFB8 smaller than a full block at +// a time. +#define PLATFORM_CRYPTOGRAPHY (_WIN32_WINNT >= 0x0602) + +#include +#include +#include // IPv6 stuff + +// Windows SDK defines GetFreeSpace as a constant, probably a Win16 API remnant: +#ifdef GetFreeSpace +#undef GetFreeSpace +#endif // GetFreeSpace #else - #define PLATFORM_CRYPTOGRAPHY 0 +#define PLATFORM_CRYPTOGRAPHY 0 - #include - #include - #include - #include - #include +#include +#include +#include +#include +#include #endif @@ -149,21 +152,20 @@ // Integral types with predefined sizes: typedef signed long long Int64; -typedef signed int Int32; -typedef signed short Int16; -typedef signed char Int8; +typedef signed int Int32; +typedef signed short Int16; +typedef signed char Int8; typedef unsigned long long UInt64; -typedef unsigned int UInt32; -typedef unsigned short UInt16; -typedef unsigned char UInt8; +typedef unsigned int UInt32; +typedef unsigned short UInt16; +typedef unsigned char UInt8; typedef unsigned char Byte; typedef Byte ColourID; -template -class SizeChecker +template class SizeChecker { static_assert(sizeof(T) == Size, "Check the size of integral types"); }; @@ -189,35 +191,31 @@ template class SizeChecker; #ifdef TEST_GLOBALS - // Basic logging function implementations - namespace Logger - { +// Basic logging function implementations +namespace Logger +{ - inline void LogFormat( - std::string_view a_Format, eLogLevel, fmt::format_args a_ArgList - ) - { - fmt::vprint(a_Format, a_ArgList); - putchar('\n'); - fflush(stdout); - } +inline void LogFormat(std::string_view a_Format, eLogLevel, fmt::format_args a_ArgList) +{ + fmt::vprint(a_Format, a_ArgList); + putchar('\n'); + fflush(stdout); +} - inline void LogPrintf( - std::string_view a_Format, eLogLevel, fmt::printf_args a_ArgList - ) - { - fmt::vprintf(a_Format, a_ArgList); - putchar('\n'); - fflush(stdout); - } +inline void LogPrintf(std::string_view a_Format, eLogLevel, fmt::printf_args a_ArgList) +{ + fmt::vprintf(a_Format, a_ArgList); + putchar('\n'); + fflush(stdout); +} - inline void LogSimple(std::string_view a_Message, eLogLevel) - { - fmt::print("{}\n", a_Message); - fflush(stdout); - } +inline void LogSimple(std::string_view a_Message, eLogLevel) +{ + fmt::print("{}\n", a_Message); + fflush(stdout); +} - } // namespace Logger +} // namespace Logger #endif @@ -231,8 +229,8 @@ template class SizeChecker; #define ARRAYCOUNT(X) (sizeof(X) / sizeof(*(X))) /** Allows arithmetic expressions like "32 KiB" (but consider using parenthesis around it, "(32 KiB)") */ -#define KiB * 1024 -#define MiB * 1024 * 1024 +#define KiB *1024 +#define MiB *1024 * 1024 /** Faster than (int)floorf((float)x / (float)div) */ #define FAST_FLOOR_DIV(x, div) (((x) - (((x) < 0) ? ((div) - 1) : 0)) / (div)) @@ -240,52 +238,62 @@ template class SizeChecker; // Own version of ASSERT() that plays nicely with the testing framework #ifdef TEST_GLOBALS - class cAssertFailure +class cAssertFailure +{ + AString mExpression; + AString mFileName; + int mLineNumber; + + public: + cAssertFailure(const AString & aExpression, const AString & aFileName, int aLineNumber) : + mExpression(aExpression), mFileName(aFileName), mLineNumber(aLineNumber) { - AString mExpression; - AString mFileName; - int mLineNumber; - - public: - cAssertFailure(const AString & aExpression, const AString & aFileName, int aLineNumber): - mExpression(aExpression), - mFileName(aFileName), - mLineNumber(aLineNumber) - { - } - - const AString & expression() const { return mExpression; } - const AString & fileName() const { return mFileName; } - int lineNumber() const { return mLineNumber; } - }; - - #ifdef NDEBUG - #define ASSERT(x) - #else - #define ASSERT(x) do { if (!(x)) { throw cAssertFailure(#x, __FILE__, __LINE__);} } while (0) - #endif - - // Pretty much the same as ASSERT() but stays in Release builds - #define VERIFY(x) (!!(x) || ( LOGERROR("Verification failed: %s, file %s, line %i", #x, __FILE__, __LINE__), std::abort(), 0)) + } + + const AString & expression() const { return mExpression; } + const AString & fileName() const { return mFileName; } + int lineNumber() const { return mLineNumber; } +}; + +#ifdef NDEBUG +#define ASSERT(x) +#else +#define ASSERT(x) \ + do \ + { \ + if (!(x)) \ + { \ + throw cAssertFailure(#x, __FILE__, __LINE__); \ + } \ + } \ + while (0) +#endif + +// Pretty much the same as ASSERT() but stays in Release builds +#define VERIFY(x) \ + (!!(x) || (LOGERROR("Verification failed: %s, file %s, line %i", #x, __FILE__, __LINE__), std::abort(), 0)) #else // TEST_GLOBALS - #ifdef NDEBUG - #define ASSERT(x) - #else - #define ASSERT(x) ( !!(x) || ( LOGERROR("Assertion failed: %s, file %s, line %i", #x, __FILE__, __LINE__), std::abort(), 0)) - #endif +#ifdef NDEBUG +#define ASSERT(x) +#else +#define ASSERT(x) \ + (!!(x) || (LOGERROR("Assertion failed: %s, file %s, line %i", #x, __FILE__, __LINE__), std::abort(), 0)) +#endif - // Pretty much the same as ASSERT() but stays in Release builds - #define VERIFY(x) (!!(x) || ( LOGERROR("Verification failed: %s, file %s, line %i", #x, __FILE__, __LINE__), std::abort(), 0)) +// Pretty much the same as ASSERT() but stays in Release builds +#define VERIFY(x) \ + (!!(x) || (LOGERROR("Verification failed: %s, file %s, line %i", #x, __FILE__, __LINE__), std::abort(), 0)) #endif // else TEST_GLOBALS // Use to mark code that should be impossible to reach. #ifdef NDEBUG - #define UNREACHABLE(x) UNREACHABLE_INTRINSIC +#define UNREACHABLE(x) UNREACHABLE_INTRINSIC #else - #define UNREACHABLE(x) ( FLOGERROR("Hit unreachable code: {0}, file {1}, line {2}", #x, __FILE__, __LINE__), std::abort(), 0) +#define UNREACHABLE(x) \ + (FLOGERROR("Hit unreachable code: {0}, file {1}, line {2}", #x, __FILE__, __LINE__), std::abort(), 0) #endif @@ -294,18 +302,19 @@ template class SizeChecker; namespace cpp20 { - template - std::enable_if_t && (std::extent_v == 0), std::unique_ptr> make_unique_for_overwrite(std::size_t a_Size) - { - return std::unique_ptr(new std::remove_extent_t[a_Size]); - } +template +std::enable_if_t && (std::extent_v == 0), std::unique_ptr> make_unique_for_overwrite( + std::size_t a_Size +) +{ + return std::unique_ptr(new std::remove_extent_t[a_Size]); +} - template - std::enable_if_t, std::unique_ptr> make_unique_for_overwrite() - { - return std::unique_ptr(new T); - } +template std::enable_if_t, std::unique_ptr> make_unique_for_overwrite() +{ + return std::unique_ptr(new T); } +} // namespace cpp20 @@ -324,16 +333,18 @@ std::visit( , YourVariant); You can use constant references if you want to. */ -template struct OverloadedVariantAccess : Ts... { using Ts::operator()...; }; -template OverloadedVariantAccess(Ts...)->OverloadedVariantAccess; +template struct OverloadedVariantAccess : Ts... +{ + using Ts::operator()...; +}; +template OverloadedVariantAccess(Ts...) -> OverloadedVariantAccess; /** Clamp X to the specified range. */ -template -T Clamp(T a_Value, T a_Min, T a_Max) +template T Clamp(T a_Value, T a_Min, T a_Max) { return (a_Value < a_Min) ? a_Min : ((a_Value > a_Max) ? a_Max : a_Value); } @@ -343,15 +354,13 @@ T Clamp(T a_Value, T a_Min, T a_Max) /** Floors a value, then casts it to C (an int by default). */ -template -typename std::enable_if::value, C>::type FloorC(T a_Value) +template typename std::enable_if::value, C>::type FloorC(T a_Value) { return static_cast(std::floor(a_Value)); } /** Ceils a value, then casts it to C (an int by default). */ -template -typename std::enable_if::value, C>::type CeilC(T a_Value) +template typename std::enable_if::value, C>::type CeilC(T a_Value) { return static_cast(std::ceil(a_Value)); } @@ -361,13 +370,14 @@ typename std::enable_if::value, C>::type CeilC(T a_Value) // A time duration representing a Minecraft tick (50 ms), capable of storing at least 32'767 ticks. -using cTickTime = std::chrono::duration>>; +using cTickTime = + std::chrono::duration>>; // A time duration representing a Minecraft tick (50 ms), capable of storing at least a 64 bit signed duration. using cTickTimeLong = std::chrono::duration; /** Converts a literal to a tick time. */ -constexpr cTickTimeLong operator ""_tick(const unsigned long long a_Ticks) +constexpr cTickTimeLong operator""_tick(const unsigned long long a_Ticks) { return cTickTimeLong(a_Ticks); } @@ -376,15 +386,14 @@ using ContiguousByteBuffer = std::basic_string; using ContiguousByteBufferView = std::basic_string_view; #ifndef TOLUA_TEMPLATE_BIND - #define TOLUA_TEMPLATE_BIND(x) +#define TOLUA_TEMPLATE_BIND(x) #endif #ifdef TOLUA_EXPOSITION - #error TOLUA_EXPOSITION should never actually be defined +#error TOLUA_EXPOSITION should never actually be defined #endif -template -auto ToUnsigned(T a_Val) +template auto ToUnsigned(T a_Val) { ASSERT(a_Val >= 0); return static_cast>(a_Val); diff --git a/src/HTTP/EnvelopeParser.cpp b/src/HTTP/EnvelopeParser.cpp index 15ab95380..2d58ee99b 100644 --- a/src/HTTP/EnvelopeParser.cpp +++ b/src/HTTP/EnvelopeParser.cpp @@ -1,7 +1,8 @@ // EnvelopeParser.cpp -// Implements the cEnvelopeParser class representing a parser for RFC-822 envelope headers, used both in HTTP and in MIME +// Implements the cEnvelopeParser class representing a parser for RFC-822 envelope headers, used both in HTTP and in +// MIME #include "Globals.h" #include "EnvelopeParser.h" @@ -11,8 +12,7 @@ cEnvelopeParser::cEnvelopeParser(cCallbacks & a_Callbacks) : - m_Callbacks(a_Callbacks), - m_IsInHeaders(true) + m_Callbacks(a_Callbacks), m_IsInHeaders(true) { } @@ -59,7 +59,8 @@ size_t cEnvelopeParser::Parse(const char * a_Data, size_t a_Size) } Last = idxCRLF + 2; idxCRLF = m_IncomingData.find("\r\n", idxCRLF + 2); - } while (idxCRLF != AString::npos); + } + while (idxCRLF != AString::npos); m_IncomingData.erase(0, Last); // Parsed all lines and still expecting more @@ -133,7 +134,3 @@ bool cEnvelopeParser::ParseLine(const char * a_Data, size_t a_Size) // No colon was found, key-less header?? return false; } - - - - diff --git a/src/HTTP/EnvelopeParser.h b/src/HTTP/EnvelopeParser.h index 2fa930539..a1f0905a0 100644 --- a/src/HTTP/EnvelopeParser.h +++ b/src/HTTP/EnvelopeParser.h @@ -15,16 +15,16 @@ class cEnvelopeParser { -public: + public: class cCallbacks { - public: + public: // Force a virtual destructor in descendants: virtual ~cCallbacks() {} /** Called when a full header line is parsed */ virtual void OnHeaderLine(const AString & a_Key, const AString & a_Value) = 0; - } ; + }; cEnvelopeParser(cCallbacks & a_Callbacks); @@ -44,11 +44,12 @@ public: /** Sets the IsInHeaders flag; used by cMultipartParser to simplify the parser initial conditions */ void SetIsInHeaders(bool a_IsInHeaders) { m_IsInHeaders = a_IsInHeaders; } -public: + public: /** Callbacks to call for the various events */ cCallbacks & m_Callbacks; - /** Set to true while the parser is still parsing the envelope headers. Once set to true, the parser will not consume any more data. */ + /** Set to true while the parser is still parsing the envelope headers. Once set to true, the parser will not + * consume any more data. */ bool m_IsInHeaders; /** Buffer for the incoming data until it is parsed */ @@ -66,8 +67,4 @@ public: /** Parses one line of header data. Returns true if successful */ bool ParseLine(const char * a_Data, size_t a_Size); -} ; - - - - +}; diff --git a/src/HTTP/HTTPFormParser.cpp b/src/HTTP/HTTPFormParser.cpp index d5b58d2f4..7e0ca86f0 100644 --- a/src/HTTP/HTTPFormParser.cpp +++ b/src/HTTP/HTTPFormParser.cpp @@ -13,10 +13,7 @@ cHTTPFormParser::cHTTPFormParser(const cHTTPIncomingRequest & a_Request, cCallbacks & a_Callbacks) : - m_Callbacks(a_Callbacks), - m_IsValid(true), - m_IsCurrentPartFile(false), - m_FileHasBeenAnnounced(false) + m_Callbacks(a_Callbacks), m_IsValid(true), m_IsCurrentPartFile(false), m_FileHasBeenAnnounced(false) { if (a_Request.GetMethod() == "GET") { @@ -54,11 +51,7 @@ cHTTPFormParser::cHTTPFormParser(const cHTTPIncomingRequest & a_Request, cCallba cHTTPFormParser::cHTTPFormParser(eKind a_Kind, const char * a_Data, size_t a_Size, cCallbacks & a_Callbacks) : - m_Callbacks(a_Callbacks), - m_Kind(a_Kind), - m_IsValid(true), - m_IsCurrentPartFile(false), - m_FileHasBeenAnnounced(false) + m_Callbacks(a_Callbacks), m_Kind(a_Kind), m_IsValid(true), m_IsCurrentPartFile(false), m_FileHasBeenAnnounced(false) { Parse(a_Data, a_Size); } @@ -126,10 +119,7 @@ bool cHTTPFormParser::HasFormData(const cHTTPIncomingRequest & a_Request) return ( (ContentType == "application/x-www-form-urlencoded") || (strncmp(ContentType.c_str(), "multipart/form-data", 19) == 0) || - ( - (a_Request.GetMethod() == "GET") && - (a_Request.GetURL().find('?') != AString::npos) - ) + ((a_Request.GetMethod() == "GET") && (a_Request.GetURL().find('?') != AString::npos)) ); } @@ -150,7 +140,8 @@ void cHTTPFormParser::BeginMultipart(const cHTTPIncomingRequest & a_Request) void cHTTPFormParser::ParseFormUrlEncoded(void) { // Parse m_IncomingData for all the variables; no more data is incoming, since this is called from Finish() - // This may not be the most performant version, but we don't care, the form data is small enough and we're not a full-fledged web server anyway + // This may not be the most performant version, but we don't care, the form data is small enough and we're not a + // full-fledged web server anyway AStringVector Lines = StringSplit(m_IncomingData, "&"); for (AStringVector::iterator itr = Lines.begin(), end = Lines.end(); itr != end; ++itr) { @@ -295,7 +286,3 @@ void cHTTPFormParser::OnPartEnd(void) m_CurrentPartName.clear(); m_CurrentPartFileName.clear(); } - - - - diff --git a/src/HTTP/HTTPFormParser.h b/src/HTTP/HTTPFormParser.h index 6bf3e7d78..e4c441bd0 100644 --- a/src/HTTP/HTTPFormParser.h +++ b/src/HTTP/HTTPFormParser.h @@ -21,21 +21,21 @@ class cHTTPIncomingRequest; -class cHTTPFormParser : - public std::map, - public cMultipartParser::cCallbacks +class cHTTPFormParser : public std::map, + public cMultipartParser::cCallbacks { -public: + public: enum eKind { - fpkURL, ///< The form has been transmitted as parameters to a GET request - fpkFormUrlEncoded, ///< The form has been POSTed or PUT, with Content-Type of "application/x-www-form-urlencoded" - fpkMultipart, ///< The form has been POSTed or PUT, with Content-Type of "multipart/form-data" - } ; + fpkURL, ///< The form has been transmitted as parameters to a GET request + fpkFormUrlEncoded, ///< The form has been POSTed or PUT, with Content-Type of + ///< "application/x-www-form-urlencoded" + fpkMultipart, ///< The form has been POSTed or PUT, with Content-Type of "multipart/form-data" + }; class cCallbacks { - public: + public: // Force a virtual destructor in descendants: virtual ~cCallbacks() {} @@ -47,7 +47,7 @@ public: /** Called when the current file part has ended in the form data */ virtual void OnFileEnd(cHTTPFormParser & a_Parser) = 0; - } ; + }; /** Creates a parser that is tied to a request and notifies of various events using a callback mechanism */ @@ -66,8 +66,7 @@ public: /** Returns true if the headers suggest the request has form data parseable by this class */ static bool HasFormData(const cHTTPIncomingRequest & a_Request); -protected: - + protected: /** The callbacks to call for incoming file data */ cCallbacks & m_Callbacks; @@ -77,7 +76,8 @@ protected: /** Buffer for the incoming data until it's parsed */ AString m_IncomingData; - /** True if the information received so far is a valid form; set to false on first problem. Further parsing is skipped when false. */ + /** True if the information received so far is a valid form; set to false on first problem. Further parsing is + * skipped when false. */ bool m_IsValid; /** The parser for the multipart data, if used */ @@ -103,12 +103,8 @@ protected: void ParseFormUrlEncoded(void); // cMultipartParser::cCallbacks overrides: - virtual void OnPartStart (void) override; + virtual void OnPartStart(void) override; virtual void OnPartHeader(const AString & a_Key, const AString & a_Value) override; - virtual void OnPartData (const char * a_Data, size_t a_Size) override; - virtual void OnPartEnd (void) override; -} ; - - - - + virtual void OnPartData(const char * a_Data, size_t a_Size) override; + virtual void OnPartEnd(void) override; +}; diff --git a/src/HTTP/HTTPMessage.cpp b/src/HTTP/HTTPMessage.cpp index 827842ef9..56ed82571 100644 --- a/src/HTTP/HTTPMessage.cpp +++ b/src/HTTP/HTTPMessage.cpp @@ -12,8 +12,8 @@ // Disable MSVC warnings: #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4355) // 'this' : used in base member initializer list +#pragma warning(push) +#pragma warning(disable : 4355) // 'this' : used in base member initializer list #endif @@ -24,8 +24,7 @@ // cHTTPMessage: cHTTPMessage::cHTTPMessage(eKind a_Kind) : - m_Kind(a_Kind), - m_ContentLength(AString::npos) + m_Kind(a_Kind), m_ContentLength(AString::npos) { } @@ -104,11 +103,8 @@ void cHTTPOutgoingResponse::AppendToData(AString & a_DataStream) const //////////////////////////////////////////////////////////////////////////////// // cHTTPIncomingRequest: -cHTTPIncomingRequest::cHTTPIncomingRequest(const AString & a_Method, const AString & a_URL): - Super(mkRequest), - m_Method(a_Method), - m_URL(a_URL), - m_HasAuth(false) +cHTTPIncomingRequest::cHTTPIncomingRequest(const AString & a_Method, const AString & a_URL) : + Super(mkRequest), m_Method(a_Method), m_URL(a_URL), m_HasAuth(false) { } @@ -135,10 +131,7 @@ AString cHTTPIncomingRequest::GetURLPath(void) const void cHTTPIncomingRequest::AddHeader(const AString & a_Key, const AString & a_Value) { - if ( - (NoCaseCompare(a_Key, "Authorization") == 0) && - (strncmp(a_Value.c_str(), "Basic ", 6) == 0) - ) + if ((NoCaseCompare(a_Key, "Authorization") == 0) && (strncmp(a_Value.c_str(), "Basic ", 6) == 0)) { AString UserPass = Base64Decode(a_Value.substr(6)); size_t idxCol = UserPass.find(':'); @@ -155,7 +148,3 @@ void cHTTPIncomingRequest::AddHeader(const AString & a_Key, const AString & a_Va } Super::AddHeader(a_Key, a_Value); } - - - - diff --git a/src/HTTP/HTTPMessage.h b/src/HTTP/HTTPMessage.h index f73957748..d6df46d9f 100644 --- a/src/HTTP/HTTPMessage.h +++ b/src/HTTP/HTTPMessage.h @@ -15,18 +15,18 @@ class cHTTPMessage { -public: + public: enum eStatus { HTTP_OK = 200, HTTP_BAD_REQUEST = 400, - } ; + }; enum eKind { mkRequest, mkResponse, - } ; + }; cHTTPMessage(eKind a_Kind); @@ -36,14 +36,13 @@ public: /** Adds a header into the internal map of headers. Recognizes special headers: Content-Type and Content-Length */ virtual void AddHeader(const AString & a_Key, const AString & a_Value); - void SetContentType (const AString & a_ContentType) { m_ContentType = a_ContentType; } - void SetContentLength(size_t a_ContentLength) { m_ContentLength = a_ContentLength; } + void SetContentType(const AString & a_ContentType) { m_ContentType = a_ContentType; } + void SetContentLength(size_t a_ContentLength) { m_ContentLength = a_ContentLength; } - const AString & GetContentType (void) const { return m_ContentType; } - size_t GetContentLength(void) const { return m_ContentLength; } - -protected: + const AString & GetContentType(void) const { return m_ContentType; } + size_t GetContentLength(void) const { return m_ContentLength; } + protected: using cNameValueMap = std::map; @@ -59,43 +58,39 @@ protected: AString::npos when the object is created. Parsed by AddHeader() or set directly by SetContentLength() */ size_t m_ContentLength; -} ; +}; /** Stores outgoing response headers and serializes them to an HTTP data stream. */ -class cHTTPOutgoingResponse: - public cHTTPMessage +class cHTTPOutgoingResponse : public cHTTPMessage { using Super = cHTTPMessage; -public: - + public: cHTTPOutgoingResponse(void); /** Appends the response to the specified datastream - response line and headers. The body will be sent later directly through cConnection::Send() */ void AppendToData(AString & a_DataStream) const; -} ; +}; /** Provides storage for an incoming HTTP request. */ -class cHTTPIncomingRequest: - public cHTTPMessage +class cHTTPIncomingRequest : public cHTTPMessage { using Super = cHTTPMessage; -public: - + public: /** Base class for anything that can be used as the UserData for the request. */ class cUserData { - public: + public: // Force a virtual destructor in descendants: virtual ~cUserData() {} }; @@ -135,8 +130,7 @@ public: Overrides the parent to add recognizing additional headers: auth and keepalive. */ virtual void AddHeader(const AString & a_Key, const AString & a_Value) override; -protected: - + protected: /** Method of the request (GET / PUT / POST / ...) */ AString m_Method; diff --git a/src/HTTP/HTTPMessageParser.cpp b/src/HTTP/HTTPMessageParser.cpp index de3cf6518..759639f96 100644 --- a/src/HTTP/HTTPMessageParser.cpp +++ b/src/HTTP/HTTPMessageParser.cpp @@ -11,9 +11,8 @@ -cHTTPMessageParser::cHTTPMessageParser(cHTTPMessageParser::cCallbacks & a_Callbacks): - m_Callbacks(a_Callbacks), - m_EnvelopeParser(*this) +cHTTPMessageParser::cHTTPMessageParser(cHTTPMessageParser::cCallbacks & a_Callbacks) : + m_Callbacks(a_Callbacks), m_EnvelopeParser(*this) { Reset(); } @@ -36,7 +35,9 @@ size_t cHTTPMessageParser::Parse(const char * a_Data, size_t a_Size) { m_Buffer.append(a_Data, a_Size); auto bytesConsumedFirstLine = ParseFirstLine(); - ASSERT(bytesConsumedFirstLine <= inBufferSoFar + a_Size); // Haven't consumed more data than there is in the buffer + ASSERT( + bytesConsumedFirstLine <= inBufferSoFar + a_Size + ); // Haven't consumed more data than there is in the buffer ASSERT(bytesConsumedFirstLine > inBufferSoFar); // Have consumed at least the previous buffer contents if (m_FirstLine.empty()) { @@ -55,7 +56,9 @@ size_t cHTTPMessageParser::Parse(const char * a_Data, size_t a_Size) m_Callbacks.OnError("Failed to parse the envelope"); return AString::npos; } - ASSERT(bytesConsumedEnvelope <= bytesConsumedFirstLine + a_Size); // Haven't consumed more data than there was in the buffer + ASSERT( + bytesConsumedEnvelope <= bytesConsumedFirstLine + a_Size + ); // Haven't consumed more data than there was in the buffer m_Buffer.erase(0, bytesConsumedEnvelope); if (!m_EnvelopeParser.IsInHeaders()) { @@ -218,7 +221,3 @@ void cHTTPMessageParser::OnBodyFinished(void) m_IsFinished = true; m_Callbacks.OnBodyFinished(); } - - - - diff --git a/src/HTTP/HTTPMessageParser.h b/src/HTTP/HTTPMessageParser.h index 307714243..7512afcb0 100644 --- a/src/HTTP/HTTPMessageParser.h +++ b/src/HTTP/HTTPMessageParser.h @@ -17,14 +17,13 @@ -class cHTTPMessageParser: - protected cEnvelopeParser::cCallbacks, - protected cTransferEncodingParser::cCallbacks +class cHTTPMessageParser : protected cEnvelopeParser::cCallbacks, + protected cTransferEncodingParser::cCallbacks { -public: + public: class cCallbacks { - public: + public: // Force a virtual destructor in descendants: virtual ~cCallbacks() {} @@ -66,8 +65,7 @@ public: void Reset(void); -protected: - + protected: /** The callbacks used for reporting. */ cCallbacks & m_Callbacks; @@ -120,7 +118,3 @@ protected: virtual void OnBodyData(const void * a_Data, size_t a_Size) override; virtual void OnBodyFinished(void) override; }; - - - - diff --git a/src/HTTP/HTTPServer.cpp b/src/HTTP/HTTPServer.cpp index 42e1159ac..e8336cd98 100644 --- a/src/HTTP/HTTPServer.cpp +++ b/src/HTTP/HTTPServer.cpp @@ -1,7 +1,8 @@ // HTTPServer.cpp -// Implements the cHTTPServer class representing a HTTP webserver that uses cListenThread and cSocketThreads for processing +// Implements the cHTTPServer class representing a HTTP webserver that uses cListenThread and cSocketThreads for +// processing #include "Globals.h" #include "HTTPServer.h" @@ -17,8 +18,8 @@ // Disable MSVC warnings: #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4355) // 'this' : used in base member initializer list +#pragma warning(push) +#pragma warning(disable : 4355) // 'this' : used in base member initializer list #endif @@ -28,17 +29,15 @@ //////////////////////////////////////////////////////////////////////////////// // cHTTPServerListenCallbacks: -class cHTTPServerListenCallbacks: - public cNetwork::cListenCallbacks +class cHTTPServerListenCallbacks : public cNetwork::cListenCallbacks { -public: - cHTTPServerListenCallbacks(cHTTPServer & a_HTTPServer, UInt16 a_Port): - m_HTTPServer(a_HTTPServer), - m_Port(a_Port) + public: + cHTTPServerListenCallbacks(cHTTPServer & a_HTTPServer, UInt16 a_Port) : + m_HTTPServer(a_HTTPServer), m_Port(a_Port) { } -protected: + protected: /** The HTTP server instance that we're attached to. */ cHTTPServer & m_HTTPServer; @@ -46,7 +45,8 @@ protected: UInt16 m_Port; // cNetwork::cListenCallbacks overrides: - virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) override + virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) + override { return m_HTTPServer.OnIncomingConnection(a_RemoteIPAddress, a_RemotePort); } @@ -86,7 +86,7 @@ bool cHTTPServer::Initialize(void) { // Read the HTTPS cert + key: AString CertFile = cFile::ReadWholeFile("webadmin/httpscert.crt"); - AString KeyFile = cFile::ReadWholeFile("webadmin/httpskey.pem"); + AString KeyFile = cFile::ReadWholeFile("webadmin/httpskey.pem"); if (!CertFile.empty() && !KeyFile.empty()) { auto Cert = std::make_shared(); @@ -118,7 +118,8 @@ bool cHTTPServer::Initialize(void) if (m_SslConfig == nullptr) { LOGWARNING("WebServer: The server will run in unsecured HTTP mode."); - LOGINFO("Put a valid HTTPS certificate in file 'webadmin/httpscert.crt' and its corresponding private key to 'webadmin/httpskey.pem' (without any password) to enable HTTPS support"); + LOGINFO("Put a valid HTTPS certificate in file 'webadmin/httpscert.crt' and its corresponding private key to " + "'webadmin/httpskey.pem' (without any password) to enable HTTPS support"); } else { @@ -155,7 +156,7 @@ bool cHTTPServer::Start(cCallbacks & a_Callbacks, const AStringVector & a_Ports) // Inform the admin about the ports opened: AString reportPorts; - for (const auto & port: ports) + for (const auto & port : ports) { if (!reportPorts.empty()) { @@ -214,7 +215,12 @@ void cHTTPServer::NewRequest(cHTTPServerConnection & a_Connection, cHTTPIncoming -void cHTTPServer::RequestBody(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request, const void * a_Data, size_t a_Size) +void cHTTPServer::RequestBody( + cHTTPServerConnection & a_Connection, + cHTTPIncomingRequest & a_Request, + const void * a_Data, + size_t a_Size +) { m_Callbacks->OnRequestBody(a_Connection, a_Request, static_cast(a_Data), a_Size); } @@ -227,7 +233,3 @@ void cHTTPServer::RequestFinished(cHTTPServerConnection & a_Connection, cHTTPInc { m_Callbacks->OnRequestFinished(a_Connection, a_Request); } - - - - diff --git a/src/HTTP/HTTPServer.h b/src/HTTP/HTTPServer.h index 33f316b51..1e09e9cc9 100644 --- a/src/HTTP/HTTPServer.h +++ b/src/HTTP/HTTPServer.h @@ -1,7 +1,8 @@ // HTTPServer.h -// Declares the cHTTPServer class representing a HTTP webserver that uses cListenThread and cSocketThreads for processing +// Declares the cHTTPServer class representing a HTTP webserver that uses cListenThread and cSocketThreads for +// processing @@ -29,10 +30,10 @@ class cSslConfig; class cHTTPServer { -public: + public: class cCallbacks { - public: + public: virtual ~cCallbacks() {} /** Called when a new request arrives over a connection and all its headers have been parsed. @@ -41,11 +42,16 @@ public: /** Called when another part of request body has arrived. May be called multiple times for a single request. */ - virtual void OnRequestBody(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request, const char * a_Data, size_t a_Size) = 0; + virtual void OnRequestBody( + cHTTPServerConnection & a_Connection, + cHTTPIncomingRequest & a_Request, + const char * a_Data, + size_t a_Size + ) = 0; /** Called when the request body has been fully received in previous calls to OnRequestBody() */ virtual void OnRequestFinished(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request) = 0; - } ; + }; cHTTPServer(void); virtual ~cHTTPServer(); @@ -59,7 +65,7 @@ public: /** Stops the server, drops all current connections */ void Stop(void); -protected: + protected: friend class cHTTPServerConnection; friend class cSslHTTPServerConnection; friend class cHTTPServerListenCallbacks; @@ -83,13 +89,14 @@ protected: /** Called by cHTTPConenction when it receives more data for the request body. May be called multiple times for a single request. */ - void RequestBody(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request, const void * a_Data, size_t a_Size); - - /** Called by cHTTPServerConnection when it detects that the request has finished (all of its body has been received) */ + void RequestBody( + cHTTPServerConnection & a_Connection, + cHTTPIncomingRequest & a_Request, + const void * a_Data, + size_t a_Size + ); + + /** Called by cHTTPServerConnection when it detects that the request has finished (all of its body has been + * received) */ void RequestFinished(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request); -} ; - - - - - +}; diff --git a/src/HTTP/HTTPServerConnection.cpp b/src/HTTP/HTTPServerConnection.cpp index f79f08517..fa2b78eb5 100644 --- a/src/HTTP/HTTPServerConnection.cpp +++ b/src/HTTP/HTTPServerConnection.cpp @@ -13,8 +13,7 @@ cHTTPServerConnection::cHTTPServerConnection(cHTTPServer & a_HTTPServer) : - m_HTTPServer(a_HTTPServer), - m_Parser(*this) + m_HTTPServer(a_HTTPServer), m_Parser(*this) { } @@ -43,7 +42,10 @@ void cHTTPServerConnection::SendStatusAndReason(int a_StatusCode, const AString void cHTTPServerConnection::SendNeedAuth(const AString & a_Realm) { - SendData(fmt::format(FMT_STRING("HTTP/1.1 401 Unauthorized\r\nWWW-Authenticate: Basic realm=\"{}\"\r\nContent-Length: 0\r\n\r\n"), a_Realm)); + SendData(fmt::format( + FMT_STRING("HTTP/1.1 401 Unauthorized\r\nWWW-Authenticate: Basic realm=\"{}\"\r\nContent-Length: 0\r\n\r\n"), + a_Realm + )); m_CurrentRequest.reset(); m_Parser.Reset(); } diff --git a/src/HTTP/HTTPServerConnection.h b/src/HTTP/HTTPServerConnection.h index 22e243d93..2459a63ed 100644 --- a/src/HTTP/HTTPServerConnection.h +++ b/src/HTTP/HTTPServerConnection.h @@ -24,11 +24,10 @@ class cHTTPIncomingRequest; -class cHTTPServerConnection : - public cTCPLink::cCallbacks, - public cHTTPMessageParser::cCallbacks +class cHTTPServerConnection : public cTCPLink::cCallbacks, + public cHTTPMessageParser::cCallbacks { -public: + public: /** Creates a new instance, connected to the specified HTTP server instance */ cHTTPServerConnection(cHTTPServer & a_HTTPServer); @@ -60,7 +59,7 @@ public: /** Terminates the connection; finishes any request being currently processed */ void Terminate(void); -protected: + protected: typedef std::map cNameValueMap; /** The parent webserver that is to be notified of events on this connection */ @@ -104,15 +103,7 @@ protected: /** Sends the raw data over the link. Descendants may provide data transformations (SSL etc.) via the overridable SendData() function. */ - void SendData(const AString & a_Data) - { - SendData(a_Data.data(), a_Data.size()); - } -} ; + void SendData(const AString & a_Data) { SendData(a_Data.data(), a_Data.size()); } +}; typedef std::vector cHTTPServerConnections; - - - - - diff --git a/src/HTTP/MultipartParser.cpp b/src/HTTP/MultipartParser.cpp index 09f4fd02a..6dfcd1620 100644 --- a/src/HTTP/MultipartParser.cpp +++ b/src/HTTP/MultipartParser.cpp @@ -13,8 +13,8 @@ // Disable MSVC warnings: #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4355) // 'this' : used in base member initializer list +#pragma warning(push) +#pragma warning(disable : 4355) // 'this' : used in base member initializer list #endif @@ -92,10 +92,7 @@ ThisIsIgnoredEpilogue"; cMultipartParser::cMultipartParser(const AString & a_ContentType, cCallbacks & a_Callbacks) : - m_Callbacks(a_Callbacks), - m_IsValid(true), - m_EnvelopeParser(*this), - m_HasHadData(false) + m_Callbacks(a_Callbacks), m_IsValid(true), m_EnvelopeParser(*this), m_HasHadData(false) { // Check that the content type is multipart: AString ContentType(a_ContentType); @@ -127,7 +124,8 @@ cMultipartParser::cMultipartParser(const AString & a_ContentType, cCallbacks & a return; } - // Set the envelope parser for parsing the body, so that our Parse() function parses the ignored prefix data as a body + // Set the envelope parser for parsing the body, so that our Parse() function parses the ignored prefix data as a + // body m_EnvelopeParser.SetIsInHeaders(false); // Append an initial CRLF to the incoming data, so that a body starting with the boundary line will get caught @@ -203,8 +201,7 @@ void cMultipartParser::Parse(const char * a_Data, size_t a_Size) } return; } - if ( - (LineEnd - idxBoundary != m_Boundary.size()) && // Line length not equal to boundary + if ((LineEnd - idxBoundary != m_Boundary.size()) && // Line length not equal to boundary (LineEnd - idxBoundary != m_Boundary.size() + 2) // Line length not equal to boundary end ) { @@ -234,7 +231,8 @@ void cMultipartParser::Parse(const char * a_Data, size_t a_Size) continue; } - // It's a line, but not a boundary. It can be fully sent to the data receiver, since a boundary cannot cross lines + // It's a line, but not a boundary. It can be fully sent to the data receiver, since a boundary cannot cross + // lines m_Callbacks.OnPartData(m_IncomingData.c_str(), LineEnd); m_IncomingData.erase(0, LineEnd); } // while (true) @@ -248,7 +246,3 @@ void cMultipartParser::OnHeaderLine(const AString & a_Key, const AString & a_Val { m_Callbacks.OnPartHeader(a_Key, a_Value); } - - - - diff --git a/src/HTTP/MultipartParser.h b/src/HTTP/MultipartParser.h index 4f20b2bed..df836366a 100644 --- a/src/HTTP/MultipartParser.h +++ b/src/HTTP/MultipartParser.h @@ -15,13 +15,12 @@ -class cMultipartParser : - protected cEnvelopeParser::cCallbacks +class cMultipartParser : protected cEnvelopeParser::cCallbacks { -public: + public: class cCallbacks { - public: + public: // Force a virtual destructor in descendants: virtual ~cCallbacks() {} @@ -36,7 +35,7 @@ public: /** Called when the current part ends */ virtual void OnPartEnd(void) = 0; - } ; + }; /** Creates the parser, expects to find the boundary in a_ContentType */ cMultipartParser(const AString & a_ContentType, cCallbacks & a_Callbacks); @@ -44,7 +43,7 @@ public: /** Parses more incoming data */ void Parse(const char * a_Data, size_t a_Size); -protected: + protected: /** The callbacks to call for various parsing events */ cCallbacks & m_Callbacks; @@ -60,20 +59,18 @@ protected: /** The boundary, excluding both the initial "--" and the terminating CRLF */ AString m_Boundary; - /** Set to true if some data for the current part has already been signalized to m_Callbacks. Used for proper CRLF inserting. */ + /** Set to true if some data for the current part has already been signalized to m_Callbacks. Used for proper CRLF + * inserting. */ bool m_HasHadData; /** Parse one line of incoming data. The CRLF has already been stripped from a_Data / a_Size */ void ParseLine(const char * a_Data, size_t a_Size); - /** Parse one line of incoming data in the headers section of a part. The CRLF has already been stripped from a_Data / a_Size */ + /** Parse one line of incoming data in the headers section of a part. The CRLF has already been stripped from a_Data + * / a_Size */ void ParseHeaderLine(const char * a_Data, size_t a_Size); // cEnvelopeParser overrides: virtual void OnHeaderLine(const AString & a_Key, const AString & a_Value) override; -} ; - - - - +}; diff --git a/src/HTTP/NameValueParser.cpp b/src/HTTP/NameValueParser.cpp index d62d05929..4273eec40 100644 --- a/src/HTTP/NameValueParser.cpp +++ b/src/HTTP/NameValueParser.cpp @@ -72,8 +72,7 @@ public: // cNameValueParser: cNameValueParser::cNameValueParser(bool a_AllowsKeyOnly) : - m_State(psKeySpace), - m_AllowsKeyOnly(a_AllowsKeyOnly) + m_State(psKeySpace), m_AllowsKeyOnly(a_AllowsKeyOnly) { } @@ -82,8 +81,7 @@ cNameValueParser::cNameValueParser(bool a_AllowsKeyOnly) : cNameValueParser::cNameValueParser(const char * a_Data, size_t a_Size, bool a_AllowsKeyOnly) : - m_State(psKeySpace), - m_AllowsKeyOnly(a_AllowsKeyOnly) + m_State(psKeySpace), m_AllowsKeyOnly(a_AllowsKeyOnly) { Parse(a_Data, a_Size); } @@ -405,7 +403,3 @@ bool cNameValueParser::Finish(void) } UNREACHABLE("Unsupported name value parser state"); } - - - - diff --git a/src/HTTP/NameValueParser.h b/src/HTTP/NameValueParser.h index e205079db..203f7f032 100644 --- a/src/HTTP/NameValueParser.h +++ b/src/HTTP/NameValueParser.h @@ -13,10 +13,9 @@ -class cNameValueParser : - public std::map +class cNameValueParser : public std::map { -public: + public: /** Creates an empty parser */ cNameValueParser(bool a_AllowsKeyOnly = true); @@ -35,20 +34,20 @@ public: /** Returns true if the parser expects no more data */ bool IsFinished(void) const { return ((m_State == psInvalid) || (m_State == psFinished)); } -protected: + protected: enum eState { - psKeySpace, ///< Parsing the space in front of the next key - psKey, ///< Currently adding more chars to the key in m_CurrentKey - psEqualSpace, ///< Space after m_CurrentKey - psEqual, ///< Just parsed the = sign after a name + psKeySpace, ///< Parsing the space in front of the next key + psKey, ///< Currently adding more chars to the key in m_CurrentKey + psEqualSpace, ///< Space after m_CurrentKey + psEqual, ///< Just parsed the = sign after a name psValueInSQuotes, ///< Just parsed a Single-quote sign after the Equal sign psValueInDQuotes, ///< Just parsed a Double-quote sign after the Equal sign - psValueRaw, ///< Just parsed a raw value without a quote - psAfterValue, ///< Just finished parsing the value, waiting for semicolon or data end - psInvalid, ///< The parser has encountered an invalid input; further parsing is skipped - psFinished, ///< The parser has already been instructed to finish and doesn't expect any more data - } ; + psValueRaw, ///< Just parsed a raw value without a quote + psAfterValue, ///< Just finished parsing the value, waiting for semicolon or data end + psInvalid, ///< The parser has encountered an invalid input; further parsing is skipped + psFinished, ///< The parser has already been instructed to finish and doesn't expect any more data + }; /** The current state of the parser */ eState m_State; @@ -61,10 +60,4 @@ protected: /** Buffer for the current Value; */ AString m_CurrentValue; - - -} ; - - - - +}; diff --git a/src/HTTP/SslHTTPServerConnection.cpp b/src/HTTP/SslHTTPServerConnection.cpp index b6f9f246a..b32a24a88 100644 --- a/src/HTTP/SslHTTPServerConnection.cpp +++ b/src/HTTP/SslHTTPServerConnection.cpp @@ -12,10 +12,10 @@ cSslHTTPServerConnection::cSslHTTPServerConnection( - cHTTPServer & a_HTTPServer, const std::shared_ptr & a_Config -): - Super(a_HTTPServer), - m_Ssl(64000) + cHTTPServer & a_HTTPServer, + const std::shared_ptr & a_Config +) : + Super(a_HTTPServer), m_Ssl(64000) { if (a_Config != nullptr) { @@ -115,7 +115,3 @@ void cSslHTTPServerConnection::SendData(const void * a_Data, size_t a_Size) } } } - - - - diff --git a/src/HTTP/SslHTTPServerConnection.h b/src/HTTP/SslHTTPServerConnection.h index 157aa9326..2d293c605 100644 --- a/src/HTTP/SslHTTPServerConnection.h +++ b/src/HTTP/SslHTTPServerConnection.h @@ -16,27 +16,21 @@ -class cSslHTTPServerConnection: - public cHTTPServerConnection +class cSslHTTPServerConnection : public cHTTPServerConnection { using Super = cHTTPServerConnection; -public: - + public: /** Creates a new connection on the specified server. Sends the specified cert as the server certificate, uses the private key for decryption. */ cSslHTTPServerConnection(cHTTPServer & a_HTTPServer, const std::shared_ptr & a_Config); virtual ~cSslHTTPServerConnection() override; -protected: + protected: cBufferedSslContext m_Ssl; // cHTTPConnection overrides: virtual void OnReceivedData(const char * a_Data, size_t a_Size) override; // Data is received from the client virtual void SendData(const void * a_Data, size_t a_Size) override; // Data is to be sent to client -} ; - - - - +}; diff --git a/src/HTTP/TransferEncodingParser.cpp b/src/HTTP/TransferEncodingParser.cpp index 925c919d3..4d5442b12 100644 --- a/src/HTTP/TransferEncodingParser.cpp +++ b/src/HTTP/TransferEncodingParser.cpp @@ -1,7 +1,8 @@ // TransferEncodingParser.cpp -// Implements the cTransferEncodingParser class and its descendants representing the parsers for the various transfer encodings (chunked etc.) +// Implements the cTransferEncodingParser class and its descendants representing the parsers for the various transfer +// encodings (chunked etc.) #include "Globals.h" #include "TransferEncodingParser.h" @@ -14,34 +15,29 @@ //////////////////////////////////////////////////////////////////////////////// // cChunkedTEParser: -class cChunkedTEParser: - public cTransferEncodingParser, - public cEnvelopeParser::cCallbacks +class cChunkedTEParser : public cTransferEncodingParser, + public cEnvelopeParser::cCallbacks { using Super = cTransferEncodingParser; -public: - - cChunkedTEParser(Super::cCallbacks & a_Callbacks): - Super(a_Callbacks), - m_State(psChunkLength), - m_ChunkDataLengthLeft(0), - m_TrailerParser(*this) + public: + cChunkedTEParser(Super::cCallbacks & a_Callbacks) : + Super(a_Callbacks), m_State(psChunkLength), m_ChunkDataLengthLeft(0), m_TrailerParser(*this) { } -protected: + protected: enum eState { - psChunkLength, ///< Parsing the chunk length hex number + psChunkLength, ///< Parsing the chunk length hex number psChunkLengthTrailer, ///< Any trailer (chunk extension) specified after the chunk length - psChunkLengthLF, ///< The LF character after the CR character terminating the chunk length - psChunkData, ///< Relaying chunk data - psChunkDataCR, ///< Skipping the extra CR character after chunk data - psChunkDataLF, ///< Skipping the extra LF character after chunk data - psTrailer, ///< Received an empty chunk, parsing the trailer (through the envelope parser) - psFinished, ///< The parser has finished parsing, either successfully or with an error + psChunkLengthLF, ///< The LF character after the CR character terminating the chunk length + psChunkData, ///< Relaying chunk data + psChunkDataCR, ///< Skipping the extra CR character after chunk data + psChunkDataLF, ///< Skipping the extra LF character after chunk data + psTrailer, ///< Received an empty chunk, parsing the trailer (through the envelope parser) + psFinished, ///< The parser has finished parsing, either successfully or with an error }; /** The current state of the parser (parsing chunk length / chunk data). */ @@ -69,7 +65,8 @@ protected: size_t ParseChunkLength(const char * a_Data, size_t a_Size) { // Expected input: [;] - // Only the hexnumber is parsed into m_ChunkDataLengthLeft, the rest is postponed into psChunkLengthTrailer or psChunkLengthLF + // Only the hexnumber is parsed into m_ChunkDataLengthLeft, the rest is postponed into psChunkLengthTrailer or + // psChunkLengthLF for (size_t i = 0; i < a_Size; i++) { switch (a_Data[i]) @@ -85,7 +82,8 @@ protected: case '8': case '9': { - m_ChunkDataLengthLeft = m_ChunkDataLengthLeft * 16 + static_cast(a_Data[i] - '0'); + m_ChunkDataLengthLeft = + m_ChunkDataLengthLeft * 16 + static_cast(a_Data[i] - '0'); break; } case 'a': @@ -95,7 +93,8 @@ protected: case 'e': case 'f': { - m_ChunkDataLengthLeft = m_ChunkDataLengthLeft * 16 + static_cast(a_Data[i] - 'a' + 10); + m_ChunkDataLengthLeft = + m_ChunkDataLengthLeft * 16 + static_cast(a_Data[i] - 'a' + 10); break; } case 'A': @@ -105,7 +104,8 @@ protected: case 'E': case 'F': { - m_ChunkDataLengthLeft = m_ChunkDataLengthLeft * 16 + static_cast(a_Data[i] - 'A' + 10); + m_ChunkDataLengthLeft = + m_ChunkDataLengthLeft * 16 + static_cast(a_Data[i] - 'A' + 10); break; } case '\r': @@ -247,8 +247,8 @@ protected: /** Parses the incoming data, the current state is psChunkDataCR. - The trailer is normally a set of "Header: Value" lines, terminated by an empty line. Use the m_TrailerParser for that. - Returns the number of bytes consumed from the input, or AString::npos on error (calls the Error handler). */ + The trailer is normally a set of "Header: Value" lines, terminated by an empty line. Use the m_TrailerParser for + that. Returns the number of bytes consumed from the input, or AString::npos on error (calls the Error handler). */ size_t ParseTrailer(const char * a_Data, size_t a_Size) { auto res = m_TrailerParser.Parse(a_Data, a_Size); @@ -273,14 +273,14 @@ protected: size_t consumed = 0; switch (m_State) { - case psChunkLength: consumed = ParseChunkLength (a_Data, a_Size); break; + case psChunkLength: consumed = ParseChunkLength(a_Data, a_Size); break; case psChunkLengthTrailer: consumed = ParseChunkLengthTrailer(a_Data, a_Size); break; - case psChunkLengthLF: consumed = ParseChunkLengthLF (a_Data, a_Size); break; - case psChunkData: consumed = ParseChunkData (a_Data, a_Size); break; - case psChunkDataCR: consumed = ParseChunkDataCR (a_Data, a_Size); break; - case psChunkDataLF: consumed = ParseChunkDataLF (a_Data, a_Size); break; - case psTrailer: consumed = ParseTrailer (a_Data, a_Size); break; - case psFinished: consumed = 0; break; // Not supposed to happen, but Clang complains without it + case psChunkLengthLF: consumed = ParseChunkLengthLF(a_Data, a_Size); break; + case psChunkData: consumed = ParseChunkData(a_Data, a_Size); break; + case psChunkDataCR: consumed = ParseChunkDataCR(a_Data, a_Size); break; + case psChunkDataLF: consumed = ParseChunkDataLF(a_Data, a_Size); break; + case psTrailer: consumed = ParseTrailer(a_Data, a_Size); break; + case psFinished: consumed = 0; break; // Not supposed to happen, but Clang complains without it } if (consumed == AString::npos) { @@ -296,7 +296,10 @@ protected: { if (m_State != psFinished) { - Error(fmt::format(FMT_STRING("ChunkedTransferEncoding: Finish signal received before the data stream ended (state: {})"), m_State)); + Error(fmt::format( + FMT_STRING("ChunkedTransferEncoding: Finish signal received before the data stream ended (state: {})"), + m_State + )); } m_State = psFinished; } @@ -316,21 +319,18 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cIdentityTEParser: -class cIdentityTEParser: - public cTransferEncodingParser +class cIdentityTEParser : public cTransferEncodingParser { using Super = cTransferEncodingParser; -public: - - cIdentityTEParser(cCallbacks & a_Callbacks, size_t a_ContentLength): - Super(a_Callbacks), - m_BytesLeft(a_ContentLength) + public: + cIdentityTEParser(cCallbacks & a_Callbacks, size_t a_ContentLength) : + Super(a_Callbacks), m_BytesLeft(a_ContentLength) { } -protected: + protected: /** How many bytes of content are left before the message ends. */ size_t m_BytesLeft; @@ -390,7 +390,3 @@ cTransferEncodingParserPtr cTransferEncodingParser::Create( } return nullptr; } - - - - diff --git a/src/HTTP/TransferEncodingParser.h b/src/HTTP/TransferEncodingParser.h index 328186029..0e6ef3f50 100644 --- a/src/HTTP/TransferEncodingParser.h +++ b/src/HTTP/TransferEncodingParser.h @@ -20,10 +20,10 @@ typedef std::shared_ptr cTransferEncodingParserPtr; /** Used as both the interface that all the parsers share and the (static) factory creating such parsers. */ class cTransferEncodingParser { -public: + public: class cCallbacks { - public: + public: // Force a virtual destructor in descendants virtual ~cCallbacks() {} @@ -42,8 +42,8 @@ public: virtual ~cTransferEncodingParser() {} /** Parses the incoming data and calls the appropriate callbacks. - Returns the number of bytes from the end of a_Data that is already not part of this message (if the parser can detect it). - Returns AString::npos on an error. */ + Returns the number of bytes from the end of a_Data that is already not part of this message (if the parser can + detect it). Returns AString::npos on an error. */ virtual size_t Parse(const char * a_Data, size_t a_Size) = 0; /** To be called when the stream is terminated from the source (connection closed). @@ -60,17 +60,13 @@ public: size_t a_ContentLength ); -protected: + protected: /** The callbacks used to report progress. */ cCallbacks & m_Callbacks; - cTransferEncodingParser(cCallbacks & a_Callbacks): + cTransferEncodingParser(cCallbacks & a_Callbacks) : m_Callbacks(a_Callbacks) { } }; - - - - diff --git a/src/HTTP/UrlClient.cpp b/src/HTTP/UrlClient.cpp index 24eeef0f1..433d2b928 100644 --- a/src/HTTP/UrlClient.cpp +++ b/src/HTTP/UrlClient.cpp @@ -25,56 +25,49 @@ using cSchemeHandlerPtr = std::shared_ptr; namespace { - /** Callbacks implementing the blocking UrlClient behavior. */ - class cBlockingHTTPCallbacks : - public cUrlClient::cCallbacks +/** Callbacks implementing the blocking UrlClient behavior. */ +class cBlockingHTTPCallbacks : public cUrlClient::cCallbacks +{ + public: + explicit cBlockingHTTPCallbacks(std::shared_ptr a_Event, AString & a_ResponseBody) : + m_Event(std::move(a_Event)), m_ResponseBody(a_ResponseBody), m_IsError(false) { - public: - - explicit cBlockingHTTPCallbacks(std::shared_ptr a_Event, AString & a_ResponseBody) : - m_Event(std::move(a_Event)), m_ResponseBody(a_ResponseBody), - m_IsError(false) - { - } + } - void OnBodyFinished() override - { - m_Event->Set(); - } + void OnBodyFinished() override { m_Event->Set(); } - void OnError(const AString & a_ErrorMsg) override - { - LOGERROR("%s %d: HTTP Error: %s", __FILE__, __LINE__, a_ErrorMsg.c_str()); - m_IsError = true; - m_Event->Set(); - } + void OnError(const AString & a_ErrorMsg) override + { + LOGERROR("%s %d: HTTP Error: %s", __FILE__, __LINE__, a_ErrorMsg.c_str()); + m_IsError = true; + m_Event->Set(); + } - void OnBodyData(const void * a_Data, size_t a_Size) override - { - m_ResponseBody.append(static_cast(a_Data), a_Size); - } + void OnBodyData(const void * a_Data, size_t a_Size) override + { + m_ResponseBody.append(static_cast(a_Data), a_Size); + } - std::shared_ptr m_Event; + std::shared_ptr m_Event; - /** The accumulator for the partial body data, so that OnBodyFinished() can send the entire thing at once. */ - AString & m_ResponseBody; + /** The accumulator for the partial body data, so that OnBodyFinished() can send the entire thing at once. */ + AString & m_ResponseBody; - /** Indicates whether an error was encountered while processing the request. */ - bool m_IsError; - }; -} + /** Indicates whether an error was encountered while processing the request. */ + bool m_IsError; +}; +} // namespace -class cUrlClientRequest: - public cNetwork::cConnectCallbacks, - public cTCPLink::cCallbacks +class cUrlClientRequest : public cNetwork::cConnectCallbacks, + public cTCPLink::cCallbacks { friend class cHttpSchemeHandler; -public: + public: static std::pair Request( const AString & a_Method, const AString & a_URL, @@ -86,9 +79,9 @@ public: { // Create a new instance of cUrlClientRequest, wrapped in a SharedPtr, so that it has a controlled lifetime. // Cannot use std::make_shared, because the constructor is not public - std::shared_ptr ptr (new cUrlClientRequest( - a_Method, a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options - )); + std::shared_ptr ptr( + new cUrlClientRequest(a_Method, a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options) + ); return ptr->DoRequest(ptr); } @@ -164,8 +157,7 @@ public: return Cert; } -protected: - + protected: /** Method to be used for the request */ AString m_Method; @@ -211,7 +203,7 @@ protected: AStringMap && a_Headers, const AString & a_Body, const AStringMap & a_Options - ): + ) : m_Method(a_Method), m_Url(a_Url), m_Callbacks(std::move(a_Callbacks)), @@ -237,10 +229,7 @@ protected: // cTCPLink::cCallbacks override: TCP link created - virtual void OnLinkCreated(cTCPLinkPtr a_Link) override - { - m_Link = a_Link; - } + virtual void OnLinkCreated(cTCPLinkPtr a_Link) override { m_Link = a_Link; } // cTCPLink::cCallbacks override: TLS handshake completed on the link: @@ -267,8 +256,8 @@ from right after connecting to the TCP link till the link is closed. For an example of a specific handler, see the cHttpSchemeHandler class. */ class cSchemeHandler abstract { -public: - cSchemeHandler(cUrlClientRequest & a_ParentRequest): + public: + cSchemeHandler(cUrlClientRequest & a_ParentRequest) : m_ParentRequest(a_ParentRequest) { } @@ -294,7 +283,7 @@ public: Sending data on the link is not an error, but the data won't be delivered. */ virtual void OnRemoteClosed(void) = 0; -protected: + protected: cUrlClientRequest & m_ParentRequest; }; @@ -303,19 +292,14 @@ protected: /** cSchemeHandler descendant that handles HTTP (and HTTPS) requests. */ -class cHttpSchemeHandler: - public cSchemeHandler, - protected cHTTPMessageParser::cCallbacks +class cHttpSchemeHandler : public cSchemeHandler, + protected cHTTPMessageParser::cCallbacks { using Super = cSchemeHandler; -public: - - cHttpSchemeHandler(cUrlClientRequest & a_ParentRequest, bool a_IsTls): - Super(a_ParentRequest), - m_Parser(*this), - m_IsTls(a_IsTls), - m_IsRedirect(false) + public: + cHttpSchemeHandler(cUrlClientRequest & a_ParentRequest, bool a_IsTls) : + Super(a_ParentRequest), m_Parser(*this), m_IsTls(a_IsTls), m_IsRedirect(false) { } @@ -325,7 +309,11 @@ public: m_Link = &a_Link; if (m_IsTls) { - m_Link->StartTLSClient(m_ParentRequest.GetOwnCert(), m_ParentRequest.GetOwnPrivKey(), m_ParentRequest.GetTrustedRootCAs()); + m_Link->StartTLSClient( + m_ParentRequest.GetOwnCert(), + m_ParentRequest.GetOwnPrivKey(), + m_ParentRequest.GetTrustedRootCAs() + ); } else { @@ -354,7 +342,7 @@ public: // Send the headers: m_Link->Send(fmt::format(FMT_STRING("Host: {}\r\n"), m_ParentRequest.m_UrlHost)); m_Link->Send(fmt::format(FMT_STRING("Content-Length: {}\r\n"), m_ParentRequest.m_Body.size())); - for (const auto & hdr: m_ParentRequest.m_Headers) + for (const auto & hdr : m_ParentRequest.m_Headers) { m_Link->Send(fmt::format(FMT_STRING("{}: {}\r\n"), hdr.first, hdr.second)); } // for itr - m_Headers[] @@ -379,16 +367,10 @@ public: } - virtual void OnTlsHandshakeCompleted(void) override - { - SendRequest(); - } + virtual void OnTlsHandshakeCompleted(void) override { SendRequest(); } - virtual void OnRemoteClosed(void) override - { - m_Link = nullptr; - } + virtual void OnRemoteClosed(void) override { m_Link = nullptr; } // cHTTPResponseParser::cCallbacks overrides: @@ -405,20 +387,27 @@ public: auto idxFirstSpace = a_FirstLine.find(' '); if (idxFirstSpace == AString::npos) { - m_ParentRequest.CallErrorCallback(fmt::format(FMT_STRING("Failed to parse HTTP status line \"{}\", no space delimiter."), a_FirstLine)); + m_ParentRequest.CallErrorCallback( + fmt::format(FMT_STRING("Failed to parse HTTP status line \"{}\", no space delimiter."), a_FirstLine) + ); return; } auto idxSecondSpace = a_FirstLine.find(' ', idxFirstSpace + 1); if (idxSecondSpace == AString::npos) { - m_ParentRequest.CallErrorCallback(fmt::format(FMT_STRING("Failed to parse HTTP status line \"{}\", missing second space delimiter."), a_FirstLine)); + m_ParentRequest.CallErrorCallback(fmt::format( + FMT_STRING("Failed to parse HTTP status line \"{}\", missing second space delimiter."), + a_FirstLine + )); return; } int resultCode; auto resultCodeStr = a_FirstLine.substr(idxFirstSpace + 1, idxSecondSpace - idxFirstSpace - 1); if (!StringToInteger(resultCodeStr, resultCode)) { - m_ParentRequest.CallErrorCallback(fmt::format(FMT_STRING("Failed to parse HTTP result code from response \"{}\""), resultCodeStr)); + m_ParentRequest.CallErrorCallback( + fmt::format(FMT_STRING("Failed to parse HTTP result code from response \"{}\""), resultCodeStr) + ); return; } @@ -435,7 +424,8 @@ public: return; } } - m_ParentRequest.GetCallbacks().OnStatusLine(a_FirstLine.substr(0, idxFirstSpace), resultCode, a_FirstLine.substr(idxSecondSpace + 1)); + m_ParentRequest.GetCallbacks() + .OnStatusLine(a_FirstLine.substr(0, idxFirstSpace), resultCode, a_FirstLine.substr(idxSecondSpace + 1)); } @@ -497,8 +487,7 @@ public: } } -protected: - + protected: /** The network link. */ cTCPLink * m_Link; @@ -508,9 +497,9 @@ protected: /** If true, the TLS should be started on the link before sending the request (used for https). */ bool m_IsTls; - /** Set to true if the first line contains a redirecting HTTP status code and the options specify to follow redirects. - If true, and the parent request allows redirects, neither headers not the body contents are reported through the callbacks, - and after the entire request is parsed, the redirect is attempted. */ + /** Set to true if the first line contains a redirecting HTTP status code and the options specify to follow + redirects. If true, and the parent request allows redirects, neither headers not the body contents are reported + through the callbacks, and after the entire request is parsed, the redirect is attempted. */ bool m_IsRedirect; /** The Location where the request should be redirected. @@ -644,7 +633,17 @@ std::pair cUrlClientRequest::DoRequest(const std::shared_ptr cUrlClient::Request( const AStringMap & a_Options ) { - return cUrlClientRequest::Request( - a_Method, a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options - ); + return cUrlClientRequest::Request(a_Method, a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options); } @@ -698,9 +695,7 @@ std::pair cUrlClient::Get( const AStringMap & a_Options ) { - return cUrlClientRequest::Request( - "GET", a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options - ); + return cUrlClientRequest::Request("GET", a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options); } @@ -715,9 +710,7 @@ std::pair cUrlClient::Post( const AStringMap & a_Options ) { - return cUrlClientRequest::Request( - "POST", a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options - ); + return cUrlClientRequest::Request("POST", a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options); } @@ -732,9 +725,7 @@ std::pair cUrlClient::Put( const AStringMap & a_Options ) { - return cUrlClientRequest::Request( - "PUT", a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options - ); + return cUrlClientRequest::Request("PUT", a_URL, std::move(a_Callbacks), std::move(a_Headers), a_Body, a_Options); } @@ -752,7 +743,8 @@ std::pair cUrlClient::BlockingRequest( auto EvtFinished = std::make_shared(); AString Response; auto Callbacks = std::make_shared(EvtFinished, Response); - auto [Success, ErrorMessage] = cUrlClient::Request(a_Method, a_URL, Callbacks, std::move(a_Headers), a_Body, a_Options); + auto [Success, ErrorMessage] = + cUrlClient::Request(a_Method, a_URL, Callbacks, std::move(a_Headers), a_Body, a_Options); if (Success) { if (!EvtFinished->Wait(10000)) @@ -813,8 +805,3 @@ std::pair cUrlClient::BlockingPut( { return BlockingRequest("PUT", a_URL, std::move(a_Headers), a_Body, a_Options); } - - - - - diff --git a/src/HTTP/UrlClient.h b/src/HTTP/UrlClient.h index 6de18672a..402a3f3b3 100644 --- a/src/HTTP/UrlClient.h +++ b/src/HTTP/UrlClient.h @@ -6,10 +6,11 @@ /* Options that can be set via the Options parameter to the cUrlClient calls: "MaxRedirects": The maximum number of allowed redirects before the client refuses a redirect with an error -"OwnCert": The client certificate to use, if requested by the server. Any string that can be parsed by cX509Cert. -"OwnPrivKey": The private key appropriate for OwnCert. Any string that can be parsed by cCryptoKey. +"OwnCert": The client certificate to use, if requested by the server. Any string that can be parsed by +cX509Cert. "OwnPrivKey": The private key appropriate for OwnCert. Any string that can be parsed by cCryptoKey. "OwnPrivKeyPassword": The password for OwnPrivKey. If not present or empty, no password is assumed. -"TrustedRootCAs": The trusted root CA certificates (\n-delimited concatenated PEM format) to be used for peer cert verification. If not present, peer cert is not verified. +"TrustedRootCAs": The trusted root CA certificates (\n-delimited concatenated PEM format) to be used for peer cert +verification. If not present, peer cert is not verified. Behavior: - If a redirect is received, and redirection is allowed, the redirection is reported via OnRedirecting() callback @@ -33,11 +34,11 @@ without reporting the redirect's headers nor body. class cUrlClient { -public: + public: /** Callbacks that are used for progress and result reporting. */ class cCallbacks { - public: + public: // Force a virtual destructor in descendants: virtual ~cCallbacks() {} @@ -51,8 +52,9 @@ public: virtual bool OnCertificateReceived() { return true; } /** Called for TLS connections, when the TLS handshake has been completed. - An empty default implementation is provided so that clients don't need to reimplement it unless they are interested in the event. */ - virtual void OnTlsHandshakeCompleted() { } + An empty default implementation is provided so that clients don't need to reimplement it unless they are + interested in the event. */ + virtual void OnTlsHandshakeCompleted() {} /** Called after the entire request has been sent to the remote peer. */ virtual void OnRequestSent() {} @@ -72,8 +74,8 @@ public: This can be called multiple times, as data arrives over the network. */ virtual void OnBodyData(const void * a_Data, size_t a_Size) {} - /** Called after the response body has been fully reported by OnBody() calls, unless the response is an allowed redirect. - There will be no more OnBody() calls. */ + /** Called after the response body has been fully reported by OnBody() calls, unless the response is an allowed + redirect. There will be no more OnBody() calls. */ virtual void OnBodyFinished() {} /** Called when an asynchronous error is encountered. */ @@ -93,11 +95,11 @@ public: /** Used for HTTP status codes. */ enum eHTTPStatus { - HTTP_STATUS_OK = 200, - HTTP_STATUS_MULTIPLE_CHOICES = 300, // MAY have a redirect using the "Location" header - HTTP_STATUS_MOVED_PERMANENTLY = 301, // redirect using the "Location" header - HTTP_STATUS_FOUND = 302, // redirect using the "Location" header - HTTP_STATUS_SEE_OTHER = 303, // redirect using the "Location" header + HTTP_STATUS_OK = 200, + HTTP_STATUS_MULTIPLE_CHOICES = 300, // MAY have a redirect using the "Location" header + HTTP_STATUS_MOVED_PERMANENTLY = 301, // redirect using the "Location" header + HTTP_STATUS_FOUND = 302, // redirect using the "Location" header + HTTP_STATUS_SEE_OTHER = 303, // redirect using the "Location" header HTTP_STATUS_TEMPORARY_REDIRECT = 307, // redirect using the "Location" header }; @@ -182,7 +184,3 @@ public: const AStringMap & a_Options = {} ); }; - - - - diff --git a/src/HTTP/UrlParser.cpp b/src/HTTP/UrlParser.cpp index f89aaad45..41cb0f428 100644 --- a/src/HTTP/UrlParser.cpp +++ b/src/HTTP/UrlParser.cpp @@ -155,11 +155,8 @@ std::pair cUrlParser::Parse( } // Parse the Authority part into individual components: - auto res = ParseAuthorityPart( - a_Url.substr(authStart, idxFirstSlash - authStart), - a_Username, a_Password, - a_Host, a_Port - ); + auto res = + ParseAuthorityPart(a_Url.substr(authStart, idxFirstSlash - authStart), a_Username, a_Password, a_Host, a_Port); if (!res.first) { return res; @@ -205,7 +202,3 @@ std::pair cUrlParser::Validate(const AString & a_Url) UInt16 Port; return Parse(a_Url, UrlScheme, UrlUsername, UrlPassword, UrlHost, Port, UrlPath, UrlQuery, UrlFragment); } - - - - diff --git a/src/HTTP/UrlParser.h b/src/HTTP/UrlParser.h index 76018460a..1027aba2e 100644 --- a/src/HTTP/UrlParser.h +++ b/src/HTTP/UrlParser.h @@ -15,7 +15,7 @@ class cUrlParser { -public: + public: /** Returns true if the specified scheme (http, ftp, mailto, ...) is recognized by the URL parser. Is case sensitive, known schemes are always lowercase. */ static bool IsKnownScheme(const AString & a_Scheme) { return (GetDefaultPort(a_Scheme) > 0); } @@ -55,7 +55,3 @@ public: /** Checks if the supplied URL is valid */ static std::pair Validate(const AString & a_Url); }; - - - - diff --git a/src/IniFile.cpp b/src/IniFile.cpp index a5e2bc41c..cb943a0af 100644 --- a/src/IniFile.cpp +++ b/src/IniFile.cpp @@ -27,9 +27,9 @@ #include "IniFile.h" #if defined(WIN32) - #define iniEOL endl +#define iniEOL endl #else - #define iniEOL '\r' << endl +#define iniEOL '\r' << endl #endif using namespace std; @@ -55,8 +55,8 @@ bool cIniFile::ReadFile(const AString & a_FileName, bool a_AllowExampleRedirect) // Normally you would use ifstream, but the SGI CC compiler has // a few bugs with ifstream. So ... fstream used. fstream f; - AString line; - AString keyname, valuename, value; + AString line; + AString keyname, valuename, value; AString::size_type pLeft, pRight; bool IsFromExampleRedirect = false; @@ -132,10 +132,7 @@ bool cIniFile::ReadFile(const AString & a_FileName, bool a_AllowExampleRedirect) { case '[': { - if ( - ((pRight = line.find_last_of("]")) != AString::npos) && - (pRight > pLeft) - ) + if (((pRight = line.find_last_of("]")) != AString::npos) && (pRight > pLeft)) { keyname = line.substr(pLeft + 1, pRight - pLeft - 1); AddKeyName(keyname); @@ -335,7 +332,8 @@ int cIniFile::GetNumValues(const AString & keyname) const AString cIniFile::GetValueName(const int keyID, const int valueID) const { - if ((keyID < static_cast(m_Keys.size())) && (valueID < static_cast(m_Keys[static_cast(keyID)].m_Names.size()))) + if ((keyID < static_cast(m_Keys.size())) && + (valueID < static_cast(m_Keys[static_cast(keyID)].m_Names.size()))) { return m_Keys[static_cast(keyID)].m_Names[static_cast(valueID)]; } @@ -396,7 +394,8 @@ void cIniFile::AddValueF(const AString & a_KeyName, const AString & a_ValueName, bool cIniFile::SetValue(const int keyID, const int valueID, const AString & value) { - if ((static_cast(keyID) >= m_Keys.size()) || (static_cast(valueID) >= m_Keys[static_cast(keyID)].m_Names.size())) + if ((static_cast(keyID) >= m_Keys.size()) || + (static_cast(valueID) >= m_Keys[static_cast(keyID)].m_Names.size())) { return false; } @@ -408,7 +407,12 @@ bool cIniFile::SetValue(const int keyID, const int valueID, const AString & valu -bool cIniFile::SetValue(const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value, const bool a_CreateIfNotExists) +bool cIniFile::SetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value, + const bool a_CreateIfNotExists +) { int keyID = FindKey(a_KeyName); if (keyID == noID) @@ -442,7 +446,12 @@ bool cIniFile::SetValue(const AString & a_KeyName, const AString & a_ValueName, -bool cIniFile::SetValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value, const bool a_CreateIfNotExists) +bool cIniFile::SetValueI( + const AString & a_KeyName, + const AString & a_ValueName, + const int a_Value, + const bool a_CreateIfNotExists +) { return SetValue(a_KeyName, a_ValueName, fmt::format(FMT_STRING("{}"), a_Value), a_CreateIfNotExists); } @@ -451,7 +460,12 @@ bool cIniFile::SetValueI(const AString & a_KeyName, const AString & a_ValueName, -bool cIniFile::SetValueI(const AString & a_Keyname, const AString & a_ValueName, const Int64 a_Value, const bool a_CreateIfNotExists) +bool cIniFile::SetValueI( + const AString & a_Keyname, + const AString & a_ValueName, + const Int64 a_Value, + const bool a_CreateIfNotExists +) { return SetValue(a_Keyname, a_ValueName, fmt::format(FMT_STRING("{}"), a_Value), a_CreateIfNotExists); } @@ -460,7 +474,12 @@ bool cIniFile::SetValueI(const AString & a_Keyname, const AString & a_ValueName, -bool cIniFile::SetValueF(const AString & a_KeyName, const AString & a_ValueName, double const a_Value, const bool a_CreateIfNotExists) +bool cIniFile::SetValueF( + const AString & a_KeyName, + const AString & a_ValueName, + double const a_Value, + const bool a_CreateIfNotExists +) { return SetValue(a_KeyName, a_ValueName, fmt::format(FMT_STRING("{}"), a_Value), a_CreateIfNotExists); } @@ -471,7 +490,8 @@ bool cIniFile::SetValueF(const AString & a_KeyName, const AString & a_ValueName, AString cIniFile::GetValue(const int keyID, const int valueID, const AString & defValue) const { - if ((keyID < static_cast(m_Keys.size())) && (valueID < static_cast(m_Keys[static_cast(keyID)].m_Names.size()))) + if ((keyID < static_cast(m_Keys.size())) && + (valueID < static_cast(m_Keys[static_cast(keyID)].m_Names.size()))) { return m_Keys[static_cast(keyID)].m_Values[static_cast(valueID)]; } @@ -585,7 +605,8 @@ Int64 cIniFile::GetValueSetI(const AString & keyname, const AString & valuename, bool cIniFile::DeleteValueByID(const int keyID, const int valueID) { - if ((keyID < static_cast(m_Keys.size())) && (valueID < static_cast(m_Keys[static_cast(keyID)].m_Names.size()))) + if ((keyID < static_cast(m_Keys.size())) && + (valueID < static_cast(m_Keys[static_cast(keyID)].m_Names.size()))) { // This looks strange, but is neccessary. vector::iterator npos = m_Keys[static_cast(keyID)].m_Names.begin() + valueID; @@ -631,7 +652,7 @@ bool cIniFile::DeleteKey(const AString & keyname) } vector::iterator npos = m_Names.begin() + keyID; - vector::iterator kpos = m_Keys.begin() + keyID; + vector::iterator kpos = m_Keys.begin() + keyID; m_Names.erase(npos, npos + 1); m_Keys.erase(kpos, kpos + 1); @@ -740,7 +761,10 @@ bool cIniFile::AddKeyComment(const int keyID, const AString & comment) { if (keyID < static_cast(m_Keys.size())) { - m_Keys[static_cast(keyID)].m_Comments.resize(m_Keys[static_cast(keyID)].m_Comments.size() + 1, comment); + m_Keys[static_cast(keyID)].m_Comments.resize( + m_Keys[static_cast(keyID)].m_Comments.size() + 1, + comment + ); return true; } return false; @@ -766,7 +790,8 @@ bool cIniFile::AddKeyComment(const AString & keyname, const AString & comment) AString cIniFile::GetKeyComment(const int keyID, const int commentID) const { - if ((keyID < static_cast(m_Keys.size())) && (commentID < static_cast(m_Keys[static_cast(keyID)].m_Comments.size()))) + if ((keyID < static_cast(m_Keys.size())) && + (commentID < static_cast(m_Keys[static_cast(keyID)].m_Comments.size()))) { return m_Keys[static_cast(keyID)].m_Comments[static_cast(commentID)]; } @@ -793,7 +818,8 @@ AString cIniFile::GetKeyComment(const AString & keyname, const int commentID) co bool cIniFile::DeleteKeyComment(const int keyID, const int commentID) { - if ((keyID < static_cast(m_Keys.size())) && (commentID < static_cast(m_Keys[static_cast(keyID)].m_Comments.size()))) + if ((keyID < static_cast(m_Keys.size())) && + (commentID < static_cast(m_Keys[static_cast(keyID)].m_Comments.size()))) { vector::iterator cpos = m_Keys[static_cast(keyID)].m_Comments.begin() + commentID; m_Keys[static_cast(keyID)].m_Comments.erase(cpos, cpos + 1); @@ -870,7 +896,7 @@ AString cIniFile::CheckCase(const AString & s) const void cIniFile::RemoveBom(AString & a_line) const { // The BOM sequence for UTF-8 is 0xEF, 0xBB, 0xBF - static unsigned const char BOM[] = { 0xEF, 0xBB, 0xBF }; + static unsigned const char BOM[] = {0xEF, 0xBB, 0xBF}; // The BOM sequence, if present, is always th e first three characters of the input. const AString ref = a_line.substr(0, 3); @@ -911,7 +937,10 @@ std::vector> cIniFile::GetValues(AString a_keyName) } for (size_t valueID = 0; valueID < m_Keys[static_cast(keyID)].m_Names.size(); ++valueID) { - ret.emplace_back(m_Keys[static_cast(keyID)].m_Names[valueID], m_Keys[static_cast(keyID)].m_Values[valueID]); + ret.emplace_back( + m_Keys[static_cast(keyID)].m_Names[valueID], + m_Keys[static_cast(keyID)].m_Values[valueID] + ); } return ret; } @@ -962,6 +991,3 @@ AStringVector ReadUpgradeIniPorts( return Ports; } - - - diff --git a/src/IniFile.h b/src/IniFile.h index 204c03891..216cd7eff 100644 --- a/src/IniFile.h +++ b/src/IniFile.h @@ -20,8 +20,8 @@ #include "SettingsRepositoryInterface.h" -#define MAX_KEYNAME 128 -#define MAX_VALUENAME 128 +#define MAX_KEYNAME 128 +#define MAX_VALUENAME 128 #define MAX_VALUEDATA 2048 @@ -30,11 +30,9 @@ // tolua_begin -class cIniFile: - public cSettingsRepositoryInterface +class cIniFile : public cSettingsRepositoryInterface { -private: - + private: // tolua_end using Super = cSettingsRepositoryInterface; @@ -49,9 +47,9 @@ private: std::vector m_Names; std::vector m_Values; std::vector m_Comments; - } ; + }; - std::vector m_Keys; + std::vector m_Keys; std::vector m_Names; std::vector m_Comments; @@ -63,8 +61,7 @@ private: // tolua_begin -public: - + public: // NOTE: This has to be present for ToLua++'s parser to output the noID constant into the API // We don't want to export the entire base class, so the constant needs to get pulled into this descendant enum @@ -86,7 +83,7 @@ public: // Sets whether or not keynames and valuenames should be case sensitive. // The default is case insensitive. - void CaseSensitive (void) { m_IsCaseInsensitive = false; } + void CaseSensitive(void) { m_IsCaseInsensitive = false; } void CaseInsensitive(void) { m_IsCaseInsensitive = true; } /** Reads the contents of the specified ini file @@ -133,28 +130,28 @@ public: // Gets value of [keyname] valuename =. // Overloaded to return string, int, and double. // Returns defValue if key / value not found. - AString GetValue (const AString & keyname, const AString & valuename, const AString & defValue = "") const override; - AString GetValue (const int keyID, const int valueID, const AString & defValue = "") const; - double GetValueF(const AString & keyname, const AString & valuename, const double defValue = 0) const; - int GetValueI(const AString & keyname, const AString & valuename, const int defValue = 0) const; - bool GetValueB(const AString & keyname, const AString & valuename, const bool defValue = false) const + AString GetValue(const AString & keyname, const AString & valuename, const AString & defValue = "") const override; + AString GetValue(const int keyID, const int valueID, const AString & defValue = "") const; + double GetValueF(const AString & keyname, const AString & valuename, const double defValue = 0) const; + int GetValueI(const AString & keyname, const AString & valuename, const int defValue = 0) const; + bool GetValueB(const AString & keyname, const AString & valuename, const bool defValue = false) const { return (GetValueI(keyname, valuename, defValue ? 1 : 0) != 0); } // Gets the value; if not found, write the default to the INI file - AString GetValueSet (const AString & keyname, const AString & valuename, const AString & defValue = "") override; - double GetValueSetF(const AString & keyname, const AString & valuename, const double defValue = 0.0); - int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) override; - Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) override; - bool GetValueSetB(const AString & keyname, const AString & valuename, const bool defValue = false) override + AString GetValueSet(const AString & keyname, const AString & valuename, const AString & defValue = "") override; + double GetValueSetF(const AString & keyname, const AString & valuename, const double defValue = 0.0); + int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) override; + Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) override; + bool GetValueSetB(const AString & keyname, const AString & valuename, const bool defValue = false) override { return (GetValueSetI(keyname, valuename, defValue ? 1 : 0) != 0); } // Adds a new value to the specified key. // If a value of the same name already exists, creates another one (non-standard INI file) - void AddValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) override; + void AddValue(const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) override; void AddValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value); void AddValueB(const AString & a_KeyName, const AString & a_ValueName, const bool a_Value) { @@ -166,15 +163,40 @@ public: // Specify the optional parameter as false (0) if you do not want the value created if it doesn't exist. // Returns true if value set, false otherwise. // Overloaded to accept string, int, and double. - bool SetValue (const int keyID, const int valueID, const AString & value); - bool SetValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value, const bool a_CreateIfNotExists = true) override; - bool SetValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value, const bool a_CreateIfNotExists = true) override; - bool SetValueI(const AString & a_Keyname, const AString & a_ValueName, const Int64 a_Value, const bool a_CreateIfNotExists = true); - bool SetValueB(const AString & a_KeyName, const AString & a_ValueName, const bool a_Value, const bool a_CreateIfNotExists = true) + bool SetValue(const int keyID, const int valueID, const AString & value); + bool SetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value, + const bool a_CreateIfNotExists = true + ) override; + bool SetValueI( + const AString & a_KeyName, + const AString & a_ValueName, + const int a_Value, + const bool a_CreateIfNotExists = true + ) override; + bool SetValueI( + const AString & a_Keyname, + const AString & a_ValueName, + const Int64 a_Value, + const bool a_CreateIfNotExists = true + ); + bool SetValueB( + const AString & a_KeyName, + const AString & a_ValueName, + const bool a_Value, + const bool a_CreateIfNotExists = true + ) { return SetValueI(a_KeyName, a_ValueName, int(a_Value), a_CreateIfNotExists); } - bool SetValueF(const AString & a_KeyName, const AString & a_ValueName, const double a_Value, const bool a_CreateIfNotExists = true); + bool SetValueF( + const AString & a_KeyName, + const AString & a_ValueName, + const double a_Value, + const bool a_CreateIfNotExists = true + ); // Deletes specified value. // Returns true if value existed and deleted, false otherwise. @@ -189,7 +211,7 @@ public: // Header comments are those comments before the first key. /** Returns the number of header comments */ - int GetNumHeaderComments(void) {return static_cast(m_Comments.size());} + int GetNumHeaderComments(void) { return static_cast(m_Comments.size()); } /** Adds a header comment */ void AddHeaderComment(const AString & comment); @@ -201,7 +223,7 @@ public: bool DeleteHeaderComment(int commentID); /** Deletes all header comments */ - void DeleteHeaderComments(void) {m_Comments.clear();} + void DeleteHeaderComments(void) { m_Comments.clear(); } // Key comment functions. @@ -241,10 +263,11 @@ public: -/** Reads the list of ports from the INI file, possibly upgrading from IPv4 / IPv6-specific values into new version-agnostic value. -Reads the list of ports from a_PortsValueName. If that value doesn't exist or is empty, the list is combined from values -in a_OldIPv4ValueName and a_OldIPv6ValueName; in this case the old values are removed from the INI file. -If there is none of the three values or they are all empty, the default is used and stored in the Ports value. */ +/** Reads the list of ports from the INI file, possibly upgrading from IPv4 / IPv6-specific values into new +version-agnostic value. Reads the list of ports from a_PortsValueName. If that value doesn't exist or is empty, the list +is combined from values in a_OldIPv4ValueName and a_OldIPv6ValueName; in this case the old values are removed from the +INI file. If there is none of the three values or they are all empty, the default is used and stored in the Ports value. +*/ AStringVector ReadUpgradeIniPorts( cSettingsRepositoryInterface & a_Settings, const AString & a_KeyName, @@ -253,6 +276,3 @@ AStringVector ReadUpgradeIniPorts( const AString & a_OldIPv6ValueName, const AString & a_DefaultValue ); - - - diff --git a/src/Inventory.cpp b/src/Inventory.cpp index 914122cee..cdf4784fa 100644 --- a/src/Inventory.cpp +++ b/src/Inventory.cpp @@ -18,10 +18,10 @@ cInventory::cInventory(cPlayer & a_Owner) : - m_ArmorSlots (1, 4), // 1 x 4 slots + m_ArmorSlots(1, 4), // 1 x 4 slots m_InventorySlots(9, 3), // 9 x 3 slots - m_HotbarSlots (9, 1), // 9 x 1 slots - m_ShieldSlots (1, 1), // 1 x 1 slots + m_HotbarSlots(9, 1), // 9 x 1 slots + m_ShieldSlots(1, 1), // 1 x 1 slots m_Owner(a_Owner) { // Ask each ItemGrid to report changes to us: @@ -58,18 +58,34 @@ int cInventory::HowManyCanFit(const cItem & a_ItemStack, bool a_ConsiderEmptySlo -int cInventory::HowManyCanFit(const cItem & a_ItemStack, int a_BeginSlotNum, int a_EndSlotNum, bool a_ConsiderEmptySlots) +int cInventory::HowManyCanFit( + const cItem & a_ItemStack, + int a_BeginSlotNum, + int a_EndSlotNum, + bool a_ConsiderEmptySlots +) { UNUSED(a_ConsiderEmptySlots); if ((a_BeginSlotNum < 0) || (a_BeginSlotNum >= invNumSlots)) { - LOGWARNING("%s: Bad BeginSlotNum, got %d, there are %d slots; correcting to 0.", __FUNCTION__, a_BeginSlotNum, invNumSlots - 1); + LOGWARNING( + "%s: Bad BeginSlotNum, got %d, there are %d slots; correcting to 0.", + __FUNCTION__, + a_BeginSlotNum, + invNumSlots - 1 + ); a_BeginSlotNum = 0; } if ((a_EndSlotNum < 0) || (a_EndSlotNum >= invNumSlots)) { - LOGWARNING("%s: Bad EndSlotNum, got %d, there are %d slots; correcting to %d.", __FUNCTION__, a_BeginSlotNum, invNumSlots, invNumSlots - 1); + LOGWARNING( + "%s: Bad EndSlotNum, got %d, there are %d slots; correcting to %d.", + __FUNCTION__, + a_BeginSlotNum, + invNumSlots, + invNumSlots - 1 + ); a_EndSlotNum = invNumSlots - 1; } if (a_BeginSlotNum > a_EndSlotNum) @@ -222,7 +238,7 @@ cItem * cInventory::FindItem(const cItem & a_RecipeItem) return Item; } - return m_InventorySlots.FindItem(a_RecipeItem); + return m_InventorySlots.FindItem(a_RecipeItem); } @@ -260,7 +276,10 @@ int cInventory::ReplaceOneEquippedItem(const cItem & a_Item, bool a_TryOtherSlot cItem ItemsToAdd = a_Item; if (EquippedItem.IsEqual(ItemsToAdd)) { - auto AmountToAdd = std::min(static_cast(ItemsToAdd.GetMaxStackSize() - EquippedItem.m_ItemCount), ItemsToAdd.m_ItemCount); + auto AmountToAdd = std::min( + static_cast(ItemsToAdd.GetMaxStackSize() - EquippedItem.m_ItemCount), + ItemsToAdd.m_ItemCount + ); EquippedItem.m_ItemCount += AmountToAdd; SetEquippedItem(EquippedItem); @@ -289,11 +308,8 @@ int cInventory::ReplaceOneEquippedItem(const cItem & a_Item, bool a_TryOtherSlot int cInventory::HowManyItems(const cItem & a_Item) { - return - m_ArmorSlots.HowManyItems(a_Item) + - m_InventorySlots.HowManyItems(a_Item) + - m_HotbarSlots.HowManyItems(a_Item) + - m_ShieldSlots.HowManyItems(a_Item); + return m_ArmorSlots.HowManyItems(a_Item) + m_InventorySlots.HowManyItems(a_Item) + + m_HotbarSlots.HowManyItems(a_Item) + m_ShieldSlots.HowManyItems(a_Item); } @@ -314,7 +330,12 @@ void cInventory::SetSlot(int a_SlotNum, const cItem & a_Item) { if ((a_SlotNum < 0) || (a_SlotNum >= invNumSlots)) { - LOGWARNING("%s: requesting an invalid slot index: %d out of %d. Ignoring.", __FUNCTION__, a_SlotNum, invNumSlots - 1); + LOGWARNING( + "%s: requesting an invalid slot index: %d out of %d. Ignoring.", + __FUNCTION__, + a_SlotNum, + invNumSlots - 1 + ); return; } @@ -391,7 +412,12 @@ const cItem & cInventory::GetSlot(int a_SlotNum) const { if ((a_SlotNum < 0) || (a_SlotNum >= invNumSlots)) { - LOGWARNING("%s: requesting an invalid slot index: %d out of %d. Returning the first inventory slot instead.", __FUNCTION__, a_SlotNum, invNumSlots - 1); + LOGWARNING( + "%s: requesting an invalid slot index: %d out of %d. Returning the first inventory slot instead.", + __FUNCTION__, + a_SlotNum, + invNumSlots - 1 + ); return m_InventorySlots.GetSlot(0); } int GridSlotNum = 0; @@ -399,7 +425,11 @@ const cItem & cInventory::GetSlot(int a_SlotNum) const if (Grid == nullptr) { // Something went wrong, but we don't know what. We must return a value, so return the first inventory slot - LOGWARNING("%s(%d): requesting an invalid ItemGrid, returning the first inventory slot instead.", __FUNCTION__, a_SlotNum); + LOGWARNING( + "%s(%d): requesting an invalid ItemGrid, returning the first inventory slot instead.", + __FUNCTION__, + a_SlotNum + ); return m_InventorySlots.GetSlot(0); } return Grid->GetSlot(GridSlotNum); @@ -413,7 +443,12 @@ const cItem & cInventory::GetArmorSlot(int a_ArmorSlotNum) const { if ((a_ArmorSlotNum < 0) || (a_ArmorSlotNum >= invArmorCount)) { - LOGWARNING("%s: requesting an invalid slot index: %d out of %d. Returning the first one instead", __FUNCTION__, a_ArmorSlotNum, invArmorCount - 1); + LOGWARNING( + "%s: requesting an invalid slot index: %d out of %d. Returning the first one instead", + __FUNCTION__, + a_ArmorSlotNum, + invArmorCount - 1 + ); return m_ArmorSlots.GetSlot(0); } return m_ArmorSlots.GetSlot(a_ArmorSlotNum); @@ -427,7 +462,12 @@ const cItem & cInventory::GetInventorySlot(int a_InventorySlotNum) const { if ((a_InventorySlotNum < 0) || (a_InventorySlotNum >= invInventoryCount)) { - LOGWARNING("%s: requesting an invalid slot index: %d out of %d. Returning the first one instead", __FUNCTION__, a_InventorySlotNum, invInventoryCount - 1); + LOGWARNING( + "%s: requesting an invalid slot index: %d out of %d. Returning the first one instead", + __FUNCTION__, + a_InventorySlotNum, + invInventoryCount - 1 + ); return m_InventorySlots.GetSlot(0); } return m_InventorySlots.GetSlot(a_InventorySlotNum); @@ -441,7 +481,12 @@ const cItem & cInventory::GetHotbarSlot(int a_SlotNum) const { if ((a_SlotNum < 0) || (a_SlotNum >= invHotbarCount)) { - LOGWARNING("%s: requesting an invalid slot index: %d out of %d. Returning the first one instead", __FUNCTION__, a_SlotNum, invHotbarCount - 1); + LOGWARNING( + "%s: requesting an invalid slot index: %d out of %d. Returning the first one instead", + __FUNCTION__, + a_SlotNum, + invHotbarCount - 1 + ); return m_HotbarSlots.GetSlot(0); } return m_HotbarSlots.GetSlot(a_SlotNum); @@ -473,7 +518,12 @@ void cInventory::SetEquippedSlotNum(int a_SlotNum) { if ((a_SlotNum < 0) || (a_SlotNum >= invHotbarCount)) { - LOGWARNING("%s: requesting invalid slot index: %d out of %d. Setting 0 instead.", __FUNCTION__, a_SlotNum, invHotbarCount - 1); + LOGWARNING( + "%s: requesting invalid slot index: %d out of %d. Setting 0 instead.", + __FUNCTION__, + a_SlotNum, + invHotbarCount - 1 + ); m_EquippedSlotNum = 0; } else @@ -565,7 +615,11 @@ void cInventory::SendSlot(int a_SlotNum) // Sanitize items that are not completely empty (ie. count == 0, but type != empty) Item.Empty(); } - m_Owner.GetClientHandle()->SendInventorySlot(0, static_cast(a_SlotNum + 5), Item); // Slots in the client are numbered "+ 5" because of crafting grid and result + m_Owner.GetClientHandle()->SendInventorySlot( + 0, + static_cast(a_SlotNum + 5), + Item + ); // Slots in the client are numbered "+ 5" because of crafting grid and result } @@ -847,8 +901,10 @@ void cInventory::OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) if ((a_ItemGrid == &m_ArmorSlots) && (World != nullptr)) { World->BroadcastEntityEquipment( - m_Owner, static_cast(ArmorSlotNumToEntityEquipmentID(static_cast(a_SlotNum))), - m_ArmorSlots.GetSlot(a_SlotNum), m_Owner.GetClientHandle() + m_Owner, + static_cast(ArmorSlotNumToEntityEquipmentID(static_cast(a_SlotNum))), + m_ArmorSlots.GetSlot(a_SlotNum), + m_Owner.GetClientHandle() ); } diff --git a/src/Inventory.h b/src/Inventory.h index c54da5975..553f6ec7e 100644 --- a/src/Inventory.h +++ b/src/Inventory.h @@ -9,7 +9,7 @@ namespace Json { - class Value; +class Value; }; class cPlayer; @@ -32,24 +32,23 @@ You can use the invArmorOffset, invInventoryOffset and invHotbarOffset constants class cInventory : // tolua_end public cItemGrid::cListener - // tolua_begin +// tolua_begin { -public: - + public: // Counts and offsets to individual parts of the inventory, as used by GetSlot() / SetSlot() / HowManyCanFit(): enum { - invArmorCount = 4, - invInventoryCount = 9 * 3, - invHotbarCount = 9, - invShieldCount = 1, // Number of slots in shield slots grid - - invArmorOffset = 0, - invInventoryOffset = invArmorOffset + invArmorCount, - invHotbarOffset = invInventoryOffset + invInventoryCount, - invShieldOffset = invHotbarOffset + invHotbarCount, // Offset where shield slots start - invNumSlots = invShieldOffset + invShieldCount - } ; + invArmorCount = 4, + invInventoryCount = 9 * 3, + invHotbarCount = 9, + invShieldCount = 1, // Number of slots in shield slots grid + + invArmorOffset = 0, + invInventoryOffset = invArmorOffset + invArmorCount, + invHotbarOffset = invInventoryOffset + invInventoryCount, + invShieldOffset = invHotbarOffset + invHotbarCount, // Offset where shield slots start + invNumSlots = invShieldOffset + invShieldCount + }; // tolua_end @@ -66,7 +65,12 @@ public: int HowManyCanFit(const cItem & a_ItemStack, bool a_ConsiderEmptySlots = true); /** Returns how many items of the specified type would fit into the slot range specified */ - int HowManyCanFit(const cItem & a_ItemStack, int a_BeginSlotNum, int a_EndSlotNum, bool a_ConsiderEmptySlots = true); + int HowManyCanFit( + const cItem & a_ItemStack, + int a_BeginSlotNum, + int a_EndSlotNum, + bool a_ConsiderEmptySlots = true + ); /** Adds as many items out of a_ItemStack as can fit. If a_AllowNewStacks is set to false, only existing stacks can be topped up; @@ -145,21 +149,21 @@ public: /** Returns current equiped item */ const cItem & GetEquippedItem(void) const; /** Puts a_Item item in a_SlotNum slot number */ - void SetSlot(int a_SlotNum, const cItem & a_Item); + void SetSlot(int a_SlotNum, const cItem & a_Item); /** Puts a_Item item in a_ArmorSlotNum slot number in armor slots */ - void SetArmorSlot(int a_ArmorSlotNum, const cItem & a_Item); + void SetArmorSlot(int a_ArmorSlotNum, const cItem & a_Item); /** Puts a_Item item in a_InventorySlotNum slot number in inventory slots */ - void SetInventorySlot(int a_InventorySlotNum, const cItem & a_Item); + void SetInventorySlot(int a_InventorySlotNum, const cItem & a_Item); /** Puts a_Item item in a_HotBarSlotNum slot number in hotbar slots */ - void SetHotbarSlot(int a_HotBarSlotNum, const cItem & a_Item); + void SetHotbarSlot(int a_HotBarSlotNum, const cItem & a_Item); /** Sets current item in shield slot */ - void SetShieldSlot(const cItem & a_Item); + void SetShieldSlot(const cItem & a_Item); /** Sets current item in the equipped hotbar slot */ - void SetEquippedItem(const cItem & a_Item); + void SetEquippedItem(const cItem & a_Item); /** Sets equiped item to the a_SlotNum slot number */ - void SetEquippedSlotNum(int a_SlotNum); + void SetEquippedSlotNum(int a_SlotNum); /** Returns slot number of equiped item */ - int GetEquippedSlotNum(void) { return m_EquippedSlotNum; } + int GetEquippedSlotNum(void) { return m_EquippedSlotNum; } /** Adds (or subtracts, if a_AddToCount is negative) to the count of items in the specified slot. If the slot is empty, ignores the call. @@ -173,10 +177,10 @@ public: /** Adds the specified damage to the currently held item; deletes the item and returns true if the item broke. */ bool DamageEquippedItem(short a_Amount = 1); - const cItem & GetEquippedHelmet (void) const { return m_ArmorSlots.GetSlot(0); } + const cItem & GetEquippedHelmet(void) const { return m_ArmorSlots.GetSlot(0); } const cItem & GetEquippedChestplate(void) const { return m_ArmorSlots.GetSlot(1); } - const cItem & GetEquippedLeggings (void) const { return m_ArmorSlots.GetSlot(2); } - const cItem & GetEquippedBoots (void) const { return m_ArmorSlots.GetSlot(3); } + const cItem & GetEquippedLeggings(void) const { return m_ArmorSlots.GetSlot(2); } + const cItem & GetEquippedBoots(void) const { return m_ArmorSlots.GetSlot(3); } // tolua_end @@ -192,7 +196,7 @@ public: void SaveToJson(Json::Value & a_Value); bool LoadFromJson(Json::Value & a_Value); -protected: + protected: bool AddToBar(cItem & a_Item, const int a_Offset, const int a_Size, bool * a_bChangedSlots, int a_Mode = 0); cItemGrid m_ArmorSlots; @@ -204,10 +208,12 @@ protected: cPlayer & m_Owner; - /** Returns the ItemGrid and the (grid-local) slot number for a (global) slot number; return nullptr for invalid SlotNum */ + /** Returns the ItemGrid and the (grid-local) slot number for a (global) slot number; return nullptr for invalid + * SlotNum */ const cItemGrid * GetGridForSlotNum(int a_SlotNum, int & a_GridSlotNum) const; - /** Returns the ItemGrid and the (grid-local) slot number for a (global) slot number; return nullptr for invalid SlotNum */ + /** Returns the ItemGrid and the (grid-local) slot number for a (global) slot number; return nullptr for invalid + * SlotNum */ cItemGrid * GetGridForSlotNum(int a_SlotNum, int & a_GridSlotNum); // cItemGrid::cListener override: diff --git a/src/Item.cpp b/src/Item.cpp index 853a77359..d6109042c 100644 --- a/src/Item.cpp +++ b/src/Item.cpp @@ -13,7 +13,7 @@ -cItem::cItem(): +cItem::cItem() : m_ItemType(E_ITEM_EMPTY), m_ItemCount(0), m_ItemDamage(0), @@ -35,14 +35,14 @@ cItem::cItem( const AString & a_Enchantments, const AString & a_CustomName, const AStringVector & a_LoreTable -): - m_ItemType (a_ItemType), - m_ItemCount (a_ItemCount), - m_ItemDamage (a_ItemDamage), +) : + m_ItemType(a_ItemType), + m_ItemCount(a_ItemCount), + m_ItemDamage(a_ItemDamage), m_Enchantments(a_Enchantments), - m_CustomName (a_CustomName), - m_LoreTable (a_LoreTable), - m_RepairCost (0), + m_CustomName(a_CustomName), + m_LoreTable(a_LoreTable), + m_RepairCost(0), m_FireworkItem(), m_ItemColor() { @@ -119,58 +119,58 @@ short cItem::GetMaxDamage(void) const { switch (m_ItemType) { - case E_ITEM_BOW: return 384; - case E_ITEM_CHAIN_BOOTS: return 196; - case E_ITEM_CHAIN_CHESTPLATE:return 241; - case E_ITEM_CHAIN_HELMET: return 166; - case E_ITEM_CHAIN_LEGGINGS: return 226; - case E_ITEM_DIAMOND_AXE: return 1561; - case E_ITEM_DIAMOND_BOOTS: return 430; + case E_ITEM_BOW: return 384; + case E_ITEM_CHAIN_BOOTS: return 196; + case E_ITEM_CHAIN_CHESTPLATE: return 241; + case E_ITEM_CHAIN_HELMET: return 166; + case E_ITEM_CHAIN_LEGGINGS: return 226; + case E_ITEM_DIAMOND_AXE: return 1561; + case E_ITEM_DIAMOND_BOOTS: return 430; case E_ITEM_DIAMOND_CHESTPLATE: return 529; - case E_ITEM_DIAMOND_HELMET: return 364; - case E_ITEM_DIAMOND_HOE: return 1561; - case E_ITEM_DIAMOND_LEGGINGS:return 496; - case E_ITEM_DIAMOND_PICKAXE: return 1561; - case E_ITEM_DIAMOND_SHOVEL: return 1561; - case E_ITEM_DIAMOND_SWORD: return 1561; - case E_ITEM_ELYTRA: return 432; - case E_ITEM_FLINT_AND_STEEL: return 64; - case E_ITEM_FISHING_ROD: return 65; - case E_ITEM_GOLD_AXE: return 32; - case E_ITEM_GOLD_BOOTS: return 92; - case E_ITEM_GOLD_CHESTPLATE: return 113; - case E_ITEM_GOLD_HELMET: return 78; - case E_ITEM_GOLD_HOE: return 32; - case E_ITEM_GOLD_LEGGINGS: return 106; - case E_ITEM_GOLD_PICKAXE: return 32; - case E_ITEM_GOLD_SHOVEL: return 32; - case E_ITEM_GOLD_SWORD: return 32; - case E_ITEM_IRON_AXE: return 250; - case E_ITEM_IRON_BOOTS: return 196; - case E_ITEM_IRON_CHESTPLATE: return 241; - case E_ITEM_IRON_HELMET: return 166; - case E_ITEM_IRON_HOE: return 250; - case E_ITEM_IRON_LEGGINGS: return 226; - case E_ITEM_IRON_PICKAXE: return 250; - case E_ITEM_IRON_SHOVEL: return 250; - case E_ITEM_IRON_SWORD: return 250; - case E_ITEM_LEATHER_BOOTS: return 66; - case E_ITEM_LEATHER_CAP: return 55; - case E_ITEM_LEATHER_PANTS: return 76; - case E_ITEM_LEATHER_TUNIC: return 81; - case E_ITEM_SHEARS: return 250; - case E_ITEM_STONE_AXE: return 131; - case E_ITEM_STONE_HOE: return 131; - case E_ITEM_STONE_PICKAXE: return 131; - case E_ITEM_STONE_SHOVEL: return 131; - case E_ITEM_STONE_SWORD: return 131; - case E_ITEM_WOODEN_AXE: return 59; - case E_ITEM_WOODEN_HOE: return 59; - case E_ITEM_WOODEN_PICKAXE: return 59; - case E_ITEM_WOODEN_SHOVEL: return 59; - case E_ITEM_WOODEN_SWORD: return 59; - - default: return 0; + case E_ITEM_DIAMOND_HELMET: return 364; + case E_ITEM_DIAMOND_HOE: return 1561; + case E_ITEM_DIAMOND_LEGGINGS: return 496; + case E_ITEM_DIAMOND_PICKAXE: return 1561; + case E_ITEM_DIAMOND_SHOVEL: return 1561; + case E_ITEM_DIAMOND_SWORD: return 1561; + case E_ITEM_ELYTRA: return 432; + case E_ITEM_FLINT_AND_STEEL: return 64; + case E_ITEM_FISHING_ROD: return 65; + case E_ITEM_GOLD_AXE: return 32; + case E_ITEM_GOLD_BOOTS: return 92; + case E_ITEM_GOLD_CHESTPLATE: return 113; + case E_ITEM_GOLD_HELMET: return 78; + case E_ITEM_GOLD_HOE: return 32; + case E_ITEM_GOLD_LEGGINGS: return 106; + case E_ITEM_GOLD_PICKAXE: return 32; + case E_ITEM_GOLD_SHOVEL: return 32; + case E_ITEM_GOLD_SWORD: return 32; + case E_ITEM_IRON_AXE: return 250; + case E_ITEM_IRON_BOOTS: return 196; + case E_ITEM_IRON_CHESTPLATE: return 241; + case E_ITEM_IRON_HELMET: return 166; + case E_ITEM_IRON_HOE: return 250; + case E_ITEM_IRON_LEGGINGS: return 226; + case E_ITEM_IRON_PICKAXE: return 250; + case E_ITEM_IRON_SHOVEL: return 250; + case E_ITEM_IRON_SWORD: return 250; + case E_ITEM_LEATHER_BOOTS: return 66; + case E_ITEM_LEATHER_CAP: return 55; + case E_ITEM_LEATHER_PANTS: return 76; + case E_ITEM_LEATHER_TUNIC: return 81; + case E_ITEM_SHEARS: return 250; + case E_ITEM_STONE_AXE: return 131; + case E_ITEM_STONE_HOE: return 131; + case E_ITEM_STONE_PICKAXE: return 131; + case E_ITEM_STONE_SHOVEL: return 131; + case E_ITEM_STONE_SWORD: return 131; + case E_ITEM_WOODEN_AXE: return 59; + case E_ITEM_WOODEN_HOE: return 59; + case E_ITEM_WOODEN_PICKAXE: return 59; + case E_ITEM_WOODEN_SHOVEL: return 59; + case E_ITEM_WOODEN_SWORD: return 59; + + default: return 0; } } @@ -292,9 +292,15 @@ void cItem::FromJson(const Json::Value & a_Value) int red = a_Value.get("Color_Red", -1).asInt(); int green = a_Value.get("Color_Green", -1).asInt(); int blue = a_Value.get("Color_Blue", -1).asInt(); - if ((red > -1) && (red < static_cast(cColor::COLOR_LIMIT)) && (green > -1) && (green < static_cast(cColor::COLOR_LIMIT)) && (blue > -1) && (blue < static_cast(cColor::COLOR_LIMIT))) + if ((red > -1) && (red < static_cast(cColor::COLOR_LIMIT)) && (green > -1) && + (green < static_cast(cColor::COLOR_LIMIT)) && (blue > -1) && + (blue < static_cast(cColor::COLOR_LIMIT))) { - m_ItemColor.SetColor(static_cast(red), static_cast(green), static_cast(blue)); + m_ItemColor.SetColor( + static_cast(red), + static_cast(green), + static_cast(blue) + ); } else if ((red != -1) || (blue != -1) || (green != -1)) { @@ -321,14 +327,9 @@ void cItem::FromJson(const Json::Value & a_Value) bool cItem::IsEnchantable(short a_ItemType, bool a_FromBook) { - if ( - ItemCategory::IsAxe(a_ItemType) || - ItemCategory::IsSword(a_ItemType) || - ItemCategory::IsShovel(a_ItemType) || - ItemCategory::IsPickaxe(a_ItemType) || - (a_FromBook && ItemCategory::IsHoe(a_ItemType)) || - ItemCategory::IsArmor(a_ItemType) - ) + if (ItemCategory::IsAxe(a_ItemType) || ItemCategory::IsSword(a_ItemType) || ItemCategory::IsShovel(a_ItemType) || + ItemCategory::IsPickaxe(a_ItemType) || (a_FromBook && ItemCategory::IsHoe(a_ItemType)) || + ItemCategory::IsArmor(a_ItemType)) { return true; } @@ -365,60 +366,60 @@ unsigned cItem::GetEnchantability() case E_ITEM_WOODEN_PICKAXE: case E_ITEM_WOODEN_SHOVEL: case E_ITEM_WOODEN_AXE: - case E_ITEM_WOODEN_HOE: return 15; + case E_ITEM_WOODEN_HOE: return 15; case E_ITEM_LEATHER_CAP: case E_ITEM_LEATHER_TUNIC: case E_ITEM_LEATHER_PANTS: - case E_ITEM_LEATHER_BOOTS: return 15; + case E_ITEM_LEATHER_BOOTS: return 15; case E_ITEM_STONE_SWORD: case E_ITEM_STONE_PICKAXE: case E_ITEM_STONE_SHOVEL: case E_ITEM_STONE_AXE: - case E_ITEM_STONE_HOE: return 5; + case E_ITEM_STONE_HOE: return 5; case E_ITEM_IRON_HELMET: case E_ITEM_IRON_CHESTPLATE: case E_ITEM_IRON_LEGGINGS: - case E_ITEM_IRON_BOOTS: return 9; + case E_ITEM_IRON_BOOTS: return 9; case E_ITEM_IRON_SWORD: case E_ITEM_IRON_PICKAXE: case E_ITEM_IRON_SHOVEL: case E_ITEM_IRON_AXE: - case E_ITEM_IRON_HOE: return 14; + case E_ITEM_IRON_HOE: return 14; case E_ITEM_CHAIN_HELMET: case E_ITEM_CHAIN_CHESTPLATE: case E_ITEM_CHAIN_LEGGINGS: - case E_ITEM_CHAIN_BOOTS: return 12; + case E_ITEM_CHAIN_BOOTS: return 12; case E_ITEM_DIAMOND_HELMET: case E_ITEM_DIAMOND_CHESTPLATE: case E_ITEM_DIAMOND_LEGGINGS: - case E_ITEM_DIAMOND_BOOTS: return 10; + case E_ITEM_DIAMOND_BOOTS: return 10; case E_ITEM_DIAMOND_SWORD: case E_ITEM_DIAMOND_PICKAXE: case E_ITEM_DIAMOND_SHOVEL: case E_ITEM_DIAMOND_AXE: - case E_ITEM_DIAMOND_HOE: return 10; + case E_ITEM_DIAMOND_HOE: return 10; case E_ITEM_GOLD_HELMET: case E_ITEM_GOLD_CHESTPLATE: case E_ITEM_GOLD_LEGGINGS: - case E_ITEM_GOLD_BOOTS: return 25; + case E_ITEM_GOLD_BOOTS: return 25; case E_ITEM_GOLD_SWORD: case E_ITEM_GOLD_PICKAXE: case E_ITEM_GOLD_SHOVEL: case E_ITEM_GOLD_AXE: - case E_ITEM_GOLD_HOE: return 22; + case E_ITEM_GOLD_HOE: return 22; case E_ITEM_FISHING_ROD: case E_ITEM_BOW: - case E_ITEM_BOOK: return 1; + case E_ITEM_BOOK: return 1; } return 0; @@ -441,7 +442,8 @@ bool cItem::EnchantByXPLevels(unsigned a_NumXPLevels, MTRand & a_Random) return false; } - const auto ModifiedEnchantmentLevel = a_NumXPLevels + a_Random.RandInt(Enchantability / 4) + a_Random.RandInt(Enchantability / 4) + 1; + const auto ModifiedEnchantmentLevel = + a_NumXPLevels + a_Random.RandInt(Enchantability / 4) + a_Random.RandInt(Enchantability / 4) + 1; const auto RandomBonus = 1.0F + (a_Random.RandReal() + a_Random.RandReal() - 1.0F) * 0.15F; const auto FinalEnchantmentLevel = static_cast(ModifiedEnchantmentLevel * RandomBonus + 0.5F); @@ -554,8 +556,7 @@ bool cItem::CanHaveEnchantment(int a_EnchantmentID) // as of July 2017 (Minecraft 1.12). // Hand tool enchantments - static const std::set SwordEnchantments = - { + static const std::set SwordEnchantments = { cEnchantments::enchBaneOfArthropods, cEnchantments::enchFireAspect, cEnchantments::enchKnockback, @@ -564,8 +565,7 @@ bool cItem::CanHaveEnchantment(int a_EnchantmentID) cEnchantments::enchSmite, cEnchantments::enchUnbreaking }; - static const std::set AxeEnchantments = - { + static const std::set AxeEnchantments = { cEnchantments::enchBaneOfArthropods, cEnchantments::enchEfficiency, cEnchantments::enchFortune, @@ -574,34 +574,17 @@ bool cItem::CanHaveEnchantment(int a_EnchantmentID) cEnchantments::enchSmite, cEnchantments::enchUnbreaking }; - static const std::set ToolEnchantments = - { + static const std::set ToolEnchantments = { cEnchantments::enchEfficiency, cEnchantments::enchFortune, cEnchantments::enchSilkTouch, cEnchantments::enchUnbreaking }; - static const std::set ShearEnchantments = - { - cEnchantments::enchEfficiency, - cEnchantments::enchUnbreaking - }; + static const std::set ShearEnchantments = {cEnchantments::enchEfficiency, cEnchantments::enchUnbreaking}; static const std::set BowEnchantments = - { - cEnchantments::enchFlame, - cEnchantments::enchInfinity, - cEnchantments::enchPower, - cEnchantments::enchPunch - }; - static const std::set FishingEnchantments = - { - cEnchantments::enchLuckOfTheSea, - cEnchantments::enchLure - }; - static const std::set MiscEnchantments = - { - cEnchantments::enchUnbreaking - }; + {cEnchantments::enchFlame, cEnchantments::enchInfinity, cEnchantments::enchPower, cEnchantments::enchPunch}; + static const std::set FishingEnchantments = {cEnchantments::enchLuckOfTheSea, cEnchantments::enchLure}; + static const std::set MiscEnchantments = {cEnchantments::enchUnbreaking}; if (ItemCategory::IsSword(m_ItemType)) { @@ -627,14 +610,14 @@ bool cItem::CanHaveEnchantment(int a_EnchantmentID) { return FishingEnchantments.count(a_EnchantmentID) > 0; } - if (ItemCategory::IsHoe(m_ItemType) || (m_ItemType == E_ITEM_FLINT_AND_STEEL) || (m_ItemType == E_ITEM_CARROT_ON_STICK) || (m_ItemType == E_ITEM_SHIELD)) + if (ItemCategory::IsHoe(m_ItemType) || (m_ItemType == E_ITEM_FLINT_AND_STEEL) || + (m_ItemType == E_ITEM_CARROT_ON_STICK) || (m_ItemType == E_ITEM_SHIELD)) { return MiscEnchantments.count(a_EnchantmentID) > 0; } // Armor enchantments - static const std::set ArmorEnchantments = - { + static const std::set ArmorEnchantments = { cEnchantments::enchBlastProtection, cEnchantments::enchFireProtection, cEnchantments::enchProjectileProtection, @@ -642,13 +625,8 @@ bool cItem::CanHaveEnchantment(int a_EnchantmentID) cEnchantments::enchThorns, cEnchantments::enchUnbreaking }; - static const std::set HatOnlyEnchantments = - { - cEnchantments::enchAquaAffinity, - cEnchantments::enchRespiration - }; - static const std::set BootOnlyEnchantments = - { + static const std::set HatOnlyEnchantments = {cEnchantments::enchAquaAffinity, cEnchantments::enchRespiration}; + static const std::set BootOnlyEnchantments = { cEnchantments::enchDepthStrider, cEnchantments::enchFeatherFalling }; @@ -716,7 +694,11 @@ cItem * cItems::Get(int a_Idx) { if ((a_Idx < 0) || (a_Idx >= static_cast(size()))) { - LOGWARNING("cItems: Attempt to get an out-of-bounds item at index %d; there are currently %zu items. Returning a nil.", a_Idx, size()); + LOGWARNING( + "cItems: Attempt to get an out-of-bounds item at index %d; there are currently %zu items. Returning a nil.", + a_Idx, + size() + ); return nullptr; } return &at(static_cast(a_Idx)); @@ -730,7 +712,11 @@ void cItems::Set(int a_Idx, const cItem & a_Item) { if ((a_Idx < 0) || (a_Idx >= static_cast(size()))) { - LOGWARNING("cItems: Attempt to set an item at an out-of-bounds index %d; there are currently %zu items. Not setting.", a_Idx, size()); + LOGWARNING( + "cItems: Attempt to set an item at an out-of-bounds index %d; there are currently %zu items. Not setting.", + a_Idx, + size() + ); return; } at(static_cast(a_Idx)) = a_Item; @@ -744,7 +730,11 @@ void cItems::Delete(int a_Idx) { if ((a_Idx < 0) || (a_Idx >= static_cast(size()))) { - LOGWARNING("cItems: Attempt to delete an item at an out-of-bounds index %d; there are currently %zu items. Ignoring.", a_Idx, size()); + LOGWARNING( + "cItems: Attempt to delete an item at an out-of-bounds index %d; there are currently %zu items. Ignoring.", + a_Idx, + size() + ); return; } erase(begin() + a_Idx); @@ -758,7 +748,11 @@ void cItems::Set(int a_Idx, short a_ItemType, char a_ItemCount, short a_ItemDama { if ((a_Idx < 0) || (a_Idx >= static_cast(size()))) { - LOGWARNING("cItems: Attempt to set an item at an out-of-bounds index %d; there are currently %zu items. Not setting.", a_Idx, size()); + LOGWARNING( + "cItems: Attempt to set an item at an out-of-bounds index %d; there are currently %zu items. Not setting.", + a_Idx, + size() + ); return; } at(static_cast(a_Idx)) = cItem(a_ItemType, a_ItemCount, a_ItemDamage); diff --git a/src/Item.h b/src/Item.h index a3379ebdc..65e20de79 100644 --- a/src/Item.h +++ b/src/Item.h @@ -25,7 +25,7 @@ class cColor; namespace Json { - class Value; +class Value; } @@ -35,7 +35,7 @@ namespace Json // tolua_begin class cItem { -public: + public: /** Creates an empty item */ cItem(void); @@ -49,14 +49,14 @@ public: const AStringVector & a_LoreTable = {} ); - // The constructor is disabled in code, because the compiler generates it anyway, - // but it needs to stay because ToLua needs to generate the binding for it - #ifdef TOLUA_EXPOSITION +// The constructor is disabled in code, because the compiler generates it anyway, +// but it needs to stay because ToLua needs to generate the binding for it +#ifdef TOLUA_EXPOSITION /** Creates an exact copy of the item */ cItem(const cItem & a_CopyFrom); - #endif +#endif /** Empties the item and frees up any dynamic storage used by the internals. */ void Empty(void); @@ -66,21 +66,15 @@ public: void Clear(void); /** Returns true if the item represents an empty stack - either the type is invalid, or count is zero. */ - bool IsEmpty(void) const - { - return ((m_ItemType <= 0) || (m_ItemCount <= 0)); - } + bool IsEmpty(void) const { return ((m_ItemType <= 0) || (m_ItemCount <= 0)); } /* Returns true if this itemstack can stack with the specified stack (types match, enchantments etc.) ItemCounts are ignored. */ bool IsEqual(const cItem & a_Item) const { return ( - IsSameType(a_Item) && - (m_ItemDamage == a_Item.m_ItemDamage) && - (m_Enchantments == a_Item.m_Enchantments) && - (m_CustomName == a_Item.m_CustomName) && - (m_LoreTable == a_Item.m_LoreTable) && + IsSameType(a_Item) && (m_ItemDamage == a_Item.m_ItemDamage) && (m_Enchantments == a_Item.m_Enchantments) && + (m_CustomName == a_Item.m_CustomName) && (m_LoreTable == a_Item.m_LoreTable) && m_FireworkItem.IsEqualTo(a_Item.m_FireworkItem) ); } @@ -92,10 +86,7 @@ public: } - bool IsBothNameAndLoreEmpty(void) const - { - return (m_CustomName.empty() && m_LoreTable.empty()); - } + bool IsBothNameAndLoreEmpty(void) const { return (m_CustomName.empty() && m_LoreTable.empty()); } bool IsCustomNameEmpty(void) const { return (m_CustomName.empty()); } @@ -155,20 +146,21 @@ public: XP cost of the transfer. */ int AddEnchantmentsFromItem(const cItem & a_Other); // tolua_export - /** Returns whether or not this item is allowed to have the given enchantment. Note: Does not check whether the enchantment is exclusive with the current enchantments on the item. */ + /** Returns whether or not this item is allowed to have the given enchantment. Note: Does not check whether the + * enchantment is exclusive with the current enchantments on the item. */ bool CanHaveEnchantment(int a_EnchantmentID); // tolua_begin - short m_ItemType; - char m_ItemCount; - short m_ItemDamage; - cEnchantments m_Enchantments; - AString m_CustomName; + short m_ItemType; + char m_ItemCount; + short m_ItemDamage; + cEnchantments m_Enchantments; + AString m_CustomName; // tolua_end - AStringVector m_LoreTable; // Exported in ManualBindings.cpp + AStringVector m_LoreTable; // Exported in ManualBindings.cpp /** Compares two items for the same type or category. Type of item is defined @@ -181,7 +173,7 @@ public: */ struct sItemCompare { - bool operator() (const cItem & a_Lhs, const cItem & a_Rhs) const + bool operator()(const cItem & a_Lhs, const cItem & a_Rhs) const { if (a_Lhs.m_ItemType != a_Rhs.m_ItemType) { @@ -197,9 +189,9 @@ public: // tolua_begin - int m_RepairCost; - cFireworkItem m_FireworkItem; - cColor m_ItemColor; + int m_RepairCost; + cFireworkItem m_FireworkItem; + cColor m_ItemColor; }; // tolua_end @@ -213,12 +205,11 @@ Note that this class is zero-indexed! class cItems // tolua_export : public std::vector { // tolua_export -public: - + public: cItems(const cItems &) = default; cItems(cItems &&) = default; - cItems & operator = (const cItems &) = default; - cItems & operator = (cItems &&) = default; + cItems & operator=(const cItems &) = default; + cItems & operator=(cItems &&) = default; /** Constructs a new instance containing the specified item. */ cItems(cItem && a_InitialItem); @@ -228,19 +219,19 @@ public: /** Need a Lua-accessible constructor */ cItems(void) {} - cItem * Get (int a_Idx); - void Set (int a_Idx, const cItem & a_Item); - void Add (const cItem & a_Item) {push_back(a_Item); } - void Add (short a_ItemType) { emplace_back(a_ItemType); } - void Add (short a_ItemType, char a_ItemCount) { emplace_back(a_ItemType, a_ItemCount); } - void Delete(int a_Idx); - void Clear (void) {clear(); } - size_t Size (void) const { return size(); } - void Set (int a_Idx, short a_ItemType, char a_ItemCount, short a_ItemDamage); - bool Contains(const cItem & a_Item); - bool ContainsType(const cItem & a_Item); - - void Add (short a_ItemType, char a_ItemCount, short a_ItemDamage) + cItem * Get(int a_Idx); + void Set(int a_Idx, const cItem & a_Item); + void Add(const cItem & a_Item) { push_back(a_Item); } + void Add(short a_ItemType) { emplace_back(a_ItemType); } + void Add(short a_ItemType, char a_ItemCount) { emplace_back(a_ItemType, a_ItemCount); } + void Delete(int a_Idx); + void Clear(void) { clear(); } + size_t Size(void) const { return size(); } + void Set(int a_Idx, short a_ItemType, char a_ItemCount, short a_ItemDamage); + bool Contains(const cItem & a_Item); + bool ContainsType(const cItem & a_Item); + + void Add(short a_ItemType, char a_ItemCount, short a_ItemDamage) { emplace_back(a_ItemType, a_ItemCount, a_ItemDamage); } @@ -249,7 +240,7 @@ public: void AddItemGrid(const cItemGrid & a_ItemGrid); // tolua_end -} ; // tolua_export +}; // tolua_export @@ -258,9 +249,9 @@ public: /** Used to store loot probability tables */ class cLootProbab { -public: + public: cItem m_Item; - int m_MinAmount; - int m_MaxAmount; - int m_Weight; -} ; + int m_MinAmount; + int m_MaxAmount; + int m_Weight; +}; diff --git a/src/ItemGrid.cpp b/src/ItemGrid.cpp index 33e50d1d0..379db741a 100644 --- a/src/ItemGrid.cpp +++ b/src/ItemGrid.cpp @@ -12,11 +12,8 @@ -cItemGrid::cItemGrid(int a_Width, int a_Height): - m_Width(a_Width), - m_Height(a_Height), - m_Slots(a_Width * a_Height), - m_IsInTriggerListeners(false) +cItemGrid::cItemGrid(int a_Width, int a_Height) : + m_Width(a_Width), m_Height(a_Height), m_Slots(a_Width * a_Height), m_IsInTriggerListeners(false) { } @@ -35,10 +32,7 @@ bool cItemGrid::IsValidSlotNum(int a_SlotNum) const bool cItemGrid::IsValidSlotCoords(int a_X, int a_Y) const { - return ( - (a_X >= 0) && (a_X < m_Width) && - (a_Y >= 0) && (a_Y < m_Height) - ); + return ((a_X >= 0) && (a_X < m_Width) && (a_Y >= 0) && (a_Y < m_Height)); } @@ -49,8 +43,13 @@ int cItemGrid::GetSlotNum(int a_X, int a_Y) const { if (!IsValidSlotCoords(a_X, a_Y)) { - LOGWARNING("%s: coords out of range: (%d, %d) in grid of size (%d, %d)", - __FUNCTION__, a_X, a_Y, m_Width, m_Height + LOGWARNING( + "%s: coords out of range: (%d, %d) in grid of size (%d, %d)", + __FUNCTION__, + a_X, + a_Y, + m_Width, + m_Height ); return -1; } @@ -65,9 +64,7 @@ void cItemGrid::GetSlotCoords(int a_SlotNum, int & a_X, int & a_Y) const { if (!IsValidSlotNum(a_SlotNum)) { - LOGWARNING("%s: SlotNum out of range: %d in grid of range %d", - __FUNCTION__, a_SlotNum, m_Slots.size() - ); + LOGWARNING("%s: SlotNum out of range: %d in grid of range %d", __FUNCTION__, a_SlotNum, m_Slots.size()); a_X = -1; a_Y = -1; return; @@ -106,9 +103,7 @@ const cItem & cItemGrid::GetSlot(int a_SlotNum) const { if (!IsValidSlotNum(a_SlotNum)) { - LOGWARNING("%s: Invalid slot number, %d out of %d slots", - __FUNCTION__, a_SlotNum, m_Slots.size() - ); + LOGWARNING("%s: Invalid slot number, %d out of %d slots", __FUNCTION__, a_SlotNum, m_Slots.size()); a_SlotNum = 0; } return m_Slots.GetAt(a_SlotNum); @@ -140,9 +135,7 @@ void cItemGrid::SetSlot(int a_SlotNum, const cItem & a_Item) { if (!IsValidSlotNum(a_SlotNum)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots", - __FUNCTION__, a_SlotNum, m_Slots.size() - ); + LOGWARNING("%s: Invalid slot number %d out of %d slots", __FUNCTION__, a_SlotNum, m_Slots.size()); return; } @@ -179,9 +172,7 @@ void cItemGrid::EmptySlot(int a_SlotNum) { if (!IsValidSlotNum(a_SlotNum)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots", - __FUNCTION__, a_SlotNum, m_Slots.size() - ); + LOGWARNING("%s: Invalid slot number %d out of %d slots", __FUNCTION__, a_SlotNum, m_Slots.size()); return; } @@ -204,9 +195,7 @@ bool cItemGrid::IsSlotEmpty(int a_SlotNum) const { if (!IsValidSlotNum(a_SlotNum)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots", - __FUNCTION__, a_SlotNum, m_Slots.size() - ); + LOGWARNING("%s: Invalid slot number %d out of %d slots", __FUNCTION__, a_SlotNum, m_Slots.size()); return true; } return m_Slots.GetAt(a_SlotNum).IsEmpty(); @@ -284,9 +273,7 @@ char cItemGrid::AddItemToSlot(const cItem & a_ItemStack, int a_Slot, int a_Num, { if (!IsValidSlotNum(a_Slot)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots", - __FUNCTION__, a_Slot, m_Slots.size() - ); + LOGWARNING("%s: Invalid slot number %d out of %d slots", __FUNCTION__, a_Slot, m_Slots.size()); return 0; } @@ -317,9 +304,7 @@ char cItemGrid::AddItem(cItem & a_ItemStack, bool a_AllowNewStacks, int a_Priori if ((a_PrioritySlot != -1) && !IsValidSlotNum(a_PrioritySlot)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots", - __FUNCTION__, a_PrioritySlot, m_Slots.size() - ); + LOGWARNING("%s: Invalid slot number %d out of %d slots", __FUNCTION__, a_PrioritySlot, m_Slots.size()); a_PrioritySlot = -1; } @@ -329,13 +314,7 @@ char cItemGrid::AddItem(cItem & a_ItemStack, bool a_AllowNewStacks, int a_Priori } // Try prioritySlot first: - if ( - (a_PrioritySlot != -1) && - ( - m_Slots[a_PrioritySlot].IsEmpty() || - m_Slots[a_PrioritySlot].IsEqual(a_ItemStack) - ) - ) + if ((a_PrioritySlot != -1) && (m_Slots[a_PrioritySlot].IsEmpty() || m_Slots[a_PrioritySlot].IsEqual(a_ItemStack))) { NumLeft -= AddItemToSlot(a_ItemStack, a_PrioritySlot, NumLeft, MaxStack); } @@ -450,9 +429,8 @@ cItem * cItemGrid::FindItem(const cItem & a_RecipeItem) for (int i = 0; i < m_Slots.size(); i++) { // Items are equal if none is greater the other - auto compare = cItem::sItemCompare{}; - if (!compare(a_RecipeItem, m_Slots[i]) && - !compare(m_Slots[i], a_RecipeItem)) + auto compare = cItem::sItemCompare {}; + if (!compare(a_RecipeItem, m_Slots[i]) && !compare(m_Slots[i], a_RecipeItem)) { return &m_Slots[i]; } @@ -469,8 +447,11 @@ char cItemGrid::ChangeSlotCount(int a_SlotNum, char a_AddToCount) { if (!IsValidSlotNum(a_SlotNum)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots, ignoring the call, returning -1", - __FUNCTION__, a_SlotNum, m_Slots.size() + LOGWARNING( + "%s: Invalid slot number %d out of %d slots, ignoring the call, returning -1", + __FUNCTION__, + a_SlotNum, + m_Slots.size() ); return -1; } @@ -517,8 +498,11 @@ cItem cItemGrid::RemoveOneItem(int a_SlotNum) { if (!IsValidSlotNum(a_SlotNum)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots, ignoring the call, returning empty item", - __FUNCTION__, a_SlotNum, m_Slots.size() + LOGWARNING( + "%s: Invalid slot number %d out of %d slots, ignoring the call, returning empty item", + __FUNCTION__, + a_SlotNum, + m_Slots.size() ); return cItem(); } @@ -651,9 +635,7 @@ int cItemGrid::GetNextEmptySlot(int a_StartFrom) const { if ((a_StartFrom != -1) && !IsValidSlotNum(a_StartFrom)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots", - __FUNCTION__, a_StartFrom, m_Slots.size() - ); + LOGWARNING("%s: Invalid slot number %d out of %d slots", __FUNCTION__, a_StartFrom, m_Slots.size()); a_StartFrom = -1; } @@ -675,9 +657,7 @@ int cItemGrid::GetNextUsedSlot(int a_StartFrom) const { if ((a_StartFrom != -1) && !IsValidSlotNum(a_StartFrom)) { - LOGWARNING("%s: Invalid slot number %d out of %d slots", - __FUNCTION__, a_StartFrom, m_Slots.size() - ); + LOGWARNING("%s: Invalid slot number %d out of %d slots", __FUNCTION__, a_StartFrom, m_Slots.size()); a_StartFrom = -1; } @@ -749,7 +729,12 @@ bool cItemGrid::DamageItem(int a_X, int a_Y, short a_Amount) -void cItemGrid::GenerateRandomLootWithBooks(const cLootProbab * a_LootProbabs, size_t a_CountLootProbabs, int a_NumSlots, int a_Seed) +void cItemGrid::GenerateRandomLootWithBooks( + const cLootProbab * a_LootProbabs, + size_t a_CountLootProbabs, + int a_NumSlots, + int a_Seed +) { // Calculate the total weight: int TotalProbab = 1; @@ -769,12 +754,18 @@ void cItemGrid::GenerateRandomLootWithBooks(const cLootProbab * a_LootProbabs, s // Choose the enchantments cWeightedEnchantments Enchantments; - cEnchantments::AddItemEnchantmentWeights(Enchantments, E_ITEM_BOOK, static_cast(24 + Noise.IntNoise2DInt(a_Seed, TotalProbab) % 7)); - int NumEnchantments = Noise.IntNoise3DInt(TotalProbab, Rnd, a_Seed) % 5; // The number of enchantments this book wil get. + cEnchantments::AddItemEnchantmentWeights( + Enchantments, + E_ITEM_BOOK, + static_cast(24 + Noise.IntNoise2DInt(a_Seed, TotalProbab) % 7) + ); + int NumEnchantments = + Noise.IntNoise3DInt(TotalProbab, Rnd, a_Seed) % 5; // The number of enchantments this book wil get. for (int j = 0; j <= NumEnchantments; j++) { - cEnchantments Enchantment = cEnchantments::SelectEnchantmentFromVector(Enchantments, Noise.IntNoise2DInt(NumEnchantments, i)); + cEnchantments Enchantment = + cEnchantments::SelectEnchantmentFromVector(Enchantments, Noise.IntNoise2DInt(NumEnchantments, i)); CurrentLoot.m_Enchantments.Add(Enchantment); cEnchantments::RemoveEnchantmentWeightFromVector(Enchantments, Enchantment); cEnchantments::CheckEnchantmentConflictsFromVector(Enchantments, Enchantment); @@ -788,7 +779,10 @@ void cItemGrid::GenerateRandomLootWithBooks(const cLootProbab * a_LootProbabs, s CurrentLoot = a_LootProbabs[j].m_Item; if ((a_LootProbabs[j].m_MaxAmount - a_LootProbabs[j].m_MinAmount) > 0) { - CurrentLoot.m_ItemCount = static_cast(a_LootProbabs[j].m_MinAmount + (Rnd % (a_LootProbabs[j].m_MaxAmount - a_LootProbabs[j].m_MinAmount))); + CurrentLoot.m_ItemCount = static_cast( + a_LootProbabs[j].m_MinAmount + + (Rnd % (a_LootProbabs[j].m_MaxAmount - a_LootProbabs[j].m_MinAmount)) + ); } else { diff --git a/src/ItemGrid.h b/src/ItemGrid.h index 24acb3c9a..28f45cfeb 100644 --- a/src/ItemGrid.h +++ b/src/ItemGrid.h @@ -18,25 +18,25 @@ // tolua_begin class cItemGrid { -public: + public: // tolua_end /** This class is used as a callback for when a slot changes */ class cListener { - public: + public: virtual ~cListener() {} /** Called whenever a slot changes */ virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) = 0; - } ; + }; typedef std::vector cListeners; cItemGrid(int a_Width, int a_Height); // tolua_begin - int GetWidth (void) const { return m_Width; } - int GetHeight (void) const { return m_Height; } + int GetWidth(void) const { return m_Width; } + int GetHeight(void) const { return m_Height; } int GetNumSlots(void) const { return m_Slots.size(); } /** Converts XY coords into slot number; returns -1 on invalid coords */ @@ -82,9 +82,9 @@ public: /** Adds as many items out of a_ItemStack as can fit. If a_AllowNewStacks is set to false, only existing stacks can be topped up; If a_AllowNewStacks is set to true, empty slots can be used for the rest. - If a_PrioritySlot is set to a positive value, then the corresponding slot will be used first (if empty or compatible with added items). - If a_PrioritySlot is set to -1, regular order applies. - Returns the number of items that fit. + If a_PrioritySlot is set to a positive value, then the corresponding slot will be used first (if empty or + compatible with added items). If a_PrioritySlot is set to -1, regular order applies. Returns the number of items + that fit. */ char AddItem(cItem & a_ItemStack, bool a_AllowNewStacks = true, int a_PrioritySlot = -1); @@ -92,9 +92,9 @@ public: The a_ItemStackList is modified to reflect the leftover items. If a_AllowNewStacks is set to false, only existing stacks can be topped up; If a_AllowNewStacks is set to true, empty slots can be used for the rest. - If a_PrioritySlot is set to a positive value, then the corresponding slot will be used first (if empty or compatible with added items). - If a_PrioritySlot is set to -1, regular order applies. - Returns the total number of items that fit. + If a_PrioritySlot is set to a positive value, then the corresponding slot will be used first (if empty or compatible + with added items). If a_PrioritySlot is set to -1, regular order applies. Returns the total number of items that + fit. */ char AddItems(cItems & a_ItemStackList, bool a_AllowNewStacks = true, int a_PrioritySlot = -1); @@ -171,11 +171,18 @@ public: /** Generates random loot from the specified loot probability table, with a chance of enchanted books added. A total of a_NumSlots are taken by the loot. - Cannot export to Lua due to raw array a_LootProbabs. TODO: Make this exportable / export through ManualBindings.cpp with a Lua table as LootProbabs + Cannot export to Lua due to raw array a_LootProbabs. TODO: Make this exportable / export through ManualBindings.cpp + with a Lua table as LootProbabs */ - void GenerateRandomLootWithBooks(const cLootProbab * a_LootProbabs, size_t a_CountLootProbabs, int a_NumSlots, int a_Seed); - - /** Adds a callback that gets called whenever a slot changes. Must not be called from within the listener callback! */ + void GenerateRandomLootWithBooks( + const cLootProbab * a_LootProbabs, + size_t a_CountLootProbabs, + int a_NumSlots, + int a_Seed + ); + + /** Adds a callback that gets called whenever a slot changes. Must not be called from within the listener callback! + */ void AddListener(cListener & a_Listener); /** Removes a slot-change-callback. Must not be called from within the listener callback! */ @@ -183,14 +190,16 @@ public: // tolua_begin -protected: - int m_Width; - int m_Height; + protected: + int m_Width; + int m_Height; cLazyArray m_Slots; - cListeners m_Listeners; ///< Listeners which should be notified on slot changes; the pointers are not owned by this object + cListeners + m_Listeners; ///< Listeners which should be notified on slot changes; the pointers are not owned by this object cCriticalSection m_CSListeners; ///< CS that guards the m_Listeners against multi-thread access - bool m_IsInTriggerListeners; ///< Set to true while TriggerListeners is running, to detect attempts to manipulate listener list while triggerring + bool m_IsInTriggerListeners; ///< Set to true while TriggerListeners is running, to detect attempts to manipulate + ///< listener list while triggerring /** Calls all m_Listeners for the specified slot number */ void TriggerListeners(int a_SlotNum); @@ -199,5 +208,5 @@ protected: Returns the number of items that did fit. */ char AddItemToSlot(const cItem & a_ItemStack, int a_Slot, int a_Num, int a_MaxStack); -} ; +}; // tolua_end diff --git a/src/Items/ItemAnvil.h b/src/Items/ItemAnvil.h index 3262c322c..2b8b5e3f1 100644 --- a/src/Items/ItemAnvil.h +++ b/src/Items/ItemAnvil.h @@ -8,18 +8,21 @@ -class cItemAnvilHandler final : - public cItemHandler +class cItemAnvilHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { return a_Player.PlaceBlock( a_PlacePosition, diff --git a/src/Items/ItemArmor.h b/src/Items/ItemArmor.h index eb7e31c79..287ec3296 100644 --- a/src/Items/ItemArmor.h +++ b/src/Items/ItemArmor.h @@ -8,13 +8,11 @@ -class cItemArmorHandler final : - public cItemHandler +class cItemArmorHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -100,7 +98,8 @@ public: { return (a_ItemType == E_ITEM_GOLD); } - case E_ITEM_ELYTRA: // TODO: require Phantom Membrane instead of leather starting from protocol version 369 or 1.13 release + case E_ITEM_ELYTRA: // TODO: require Phantom Membrane instead of leather starting from protocol version 369 + // or 1.13 release case E_ITEM_LEATHER_BOOTS: case E_ITEM_LEATHER_CAP: case E_ITEM_LEATHER_PANTS: @@ -111,9 +110,4 @@ public: } return false; } - -} ; - - - - +}; diff --git a/src/Items/ItemAxe.h b/src/Items/ItemAxe.h index 3cd82fb73..21c7a84be 100644 --- a/src/Items/ItemAxe.h +++ b/src/Items/ItemAxe.h @@ -8,13 +8,11 @@ -class cItemAxeHandler final : - public cItemHandler +class cItemAxeHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -23,9 +21,9 @@ public: { switch (a_Action) { - case dlaAttackEntity: return 2; - case dlaBreakBlock: return 1; - case dlaBreakBlockInstant: return 0; + case dlaAttackEntity: return 2; + case dlaBreakBlock: return 1; + case dlaBreakBlockInstant: return 0; } UNREACHABLE("Unsupported durability loss action"); } @@ -42,15 +40,14 @@ public: { switch (m_ItemType) { - case E_ITEM_WOODEN_AXE: return 2.0f; - case E_ITEM_STONE_AXE: return 4.0f; - case E_ITEM_IRON_AXE: return 6.0f; - case E_ITEM_GOLD_AXE: return 12.0f; + case E_ITEM_WOODEN_AXE: return 2.0f; + case E_ITEM_STONE_AXE: return 4.0f; + case E_ITEM_IRON_AXE: return 6.0f; + case E_ITEM_GOLD_AXE: return 12.0f; case E_ITEM_DIAMOND_AXE: return 8.0f; } } ASSERT(!"Something is wrong here... Maybe they are axes out of a new material?"); return 1.0f; } - -} ; +}; diff --git a/src/Items/ItemBanner.h b/src/Items/ItemBanner.h index 551c41429..cc73cf96e 100644 --- a/src/Items/ItemBanner.h +++ b/src/Items/ItemBanner.h @@ -12,18 +12,21 @@ -class cItemBannerHandler final: - public cItemHandler +class cItemBannerHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Cannot place a banner at "no face" and from the bottom: if ((a_ClickedBlockFace == BLOCK_FACE_NONE) || (a_ClickedBlockFace == BLOCK_FACE_BOTTOM)) @@ -36,15 +39,21 @@ private: return false; } - a_Player.GetWorld()->DoWithBlockEntityAt(a_PlacePosition, [&a_HeldItem](cBlockEntity & a_BlockEntity) - { - ASSERT((a_BlockEntity.GetBlockType() == E_BLOCK_STANDING_BANNER) || (a_BlockEntity.GetBlockType() == E_BLOCK_WALL_BANNER)); + a_Player.GetWorld()->DoWithBlockEntityAt( + a_PlacePosition, + [&a_HeldItem](cBlockEntity & a_BlockEntity) + { + ASSERT( + (a_BlockEntity.GetBlockType() == E_BLOCK_STANDING_BANNER) || + (a_BlockEntity.GetBlockType() == E_BLOCK_WALL_BANNER) + ); - cBannerEntity & BannerEntity = static_cast(a_BlockEntity); - BannerEntity.SetBaseColor(static_cast(a_HeldItem.m_ItemDamage)); - BannerEntity.SetCustomName(a_HeldItem.m_CustomName); - return false; - }); + cBannerEntity & BannerEntity = static_cast(a_BlockEntity); + BannerEntity.SetBaseColor(static_cast(a_HeldItem.m_ItemDamage)); + BannerEntity.SetCustomName(a_HeldItem.m_CustomName); + return false; + } + ); return true; } @@ -53,10 +62,7 @@ private: - virtual bool IsPlaceable(void) const override - { - return true; - } + virtual bool IsPlaceable(void) const override { return true; } diff --git a/src/Items/ItemBed.h b/src/Items/ItemBed.h index a2e254171..5c6d77243 100644 --- a/src/Items/ItemBed.h +++ b/src/Items/ItemBed.h @@ -9,17 +9,21 @@ -class cItemBedHandler final : - public cItemHandler +class cItemBedHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { const auto BlockMeta = cBlockBedHandler::YawToMetaData(a_Player.GetYaw()); const auto HeadPosition = a_PlacePosition + cBlockBedHandler::MetaDataToDirection(BlockMeta); @@ -31,19 +35,17 @@ public: // Vanilla only allows beds to be placed into air. // Check if there is empty space for the "head" block: - if (!cBlockHandler::For(HeadType).DoesIgnoreBuildCollision(World, a_HeldItem, HeadPosition, HeadMeta, a_ClickedBlockFace, false)) + if (!cBlockHandler::For(HeadType) + .DoesIgnoreBuildCollision(World, a_HeldItem, HeadPosition, HeadMeta, a_ClickedBlockFace, false)) { return false; } // The "foot", and the "head" block: - if ( - !a_Player.PlaceBlocks( - { - { a_PlacePosition, E_BLOCK_BED, BlockMeta }, - { HeadPosition, E_BLOCK_BED, static_cast(BlockMeta | 0x08) } - }) - ) + if (!a_Player.PlaceBlocks( + {{a_PlacePosition, E_BLOCK_BED, BlockMeta}, + {HeadPosition, E_BLOCK_BED, static_cast(BlockMeta | 0x08)}} + )) { return false; } @@ -62,8 +64,5 @@ public: } - virtual bool IsPlaceable(void) const override - { - return true; - } + virtual bool IsPlaceable(void) const override { return true; } }; diff --git a/src/Items/ItemBigFlower.h b/src/Items/ItemBigFlower.h index cbdecbed7..4a498d020 100644 --- a/src/Items/ItemBigFlower.h +++ b/src/Items/ItemBigFlower.h @@ -8,16 +8,20 @@ -class cItemBigFlowerHandler final: - public cItemHandler +class cItemBigFlowerHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Needs at least two free blocks to build in: if (a_PlacePosition.y >= (cChunkDef::Height - 1)) @@ -31,15 +35,15 @@ public: NIBBLETYPE TopMeta; World.GetBlockTypeMeta(TopPos, TopType, TopMeta); - if (!cBlockHandler::For(TopType).DoesIgnoreBuildCollision(World, a_HeldItem, TopPos, TopMeta, a_ClickedBlockFace, false)) + if (!cBlockHandler::For(TopType) + .DoesIgnoreBuildCollision(World, a_HeldItem, TopPos, TopMeta, a_ClickedBlockFace, false)) { return false; } return a_Player.PlaceBlocks( - { - { a_PlacePosition, E_BLOCK_BIG_FLOWER, static_cast(a_HeldItem.m_ItemDamage & 0x07) }, - { TopPos, E_BLOCK_BIG_FLOWER, E_META_BIG_FLOWER_TOP } - }); + {{a_PlacePosition, E_BLOCK_BIG_FLOWER, static_cast(a_HeldItem.m_ItemDamage & 0x07)}, + {TopPos, E_BLOCK_BIG_FLOWER, E_META_BIG_FLOWER_TOP}} + ); } }; diff --git a/src/Items/ItemBoat.h b/src/Items/ItemBoat.h index 4fc041787..cb97e785f 100644 --- a/src/Items/ItemBoat.h +++ b/src/Items/ItemBoat.h @@ -8,13 +8,11 @@ -class cItemBoatHandler final: - public cItemHandler +class cItemBoatHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -37,19 +35,23 @@ public: } // Find the actual placement position by tracing line of sight until non-air block: - class cCallbacks: - public cBlockTracer::cCallbacks + class cCallbacks : public cBlockTracer::cCallbacks { - public: + public: Vector3d m_Pos; bool m_HasFound; - cCallbacks(): + cCallbacks() : m_HasFound(false) { } - virtual bool OnNextBlock(Vector3i a_CBBlockPos, BLOCKTYPE a_CBBlockType, NIBBLETYPE a_CBBlockMeta, eBlockFace a_CBEntryFace) override + virtual bool OnNextBlock( + Vector3i a_CBBlockPos, + BLOCKTYPE a_CBBlockType, + NIBBLETYPE a_CBBlockMeta, + eBlockFace a_CBEntryFace + ) override { if (a_CBBlockType != E_BLOCK_AIR) { @@ -81,7 +83,10 @@ public: } // Spawn block at water level - if (a_World->SpawnBoat(Callbacks.m_Pos + Vector3d(0.5, 1, 0.5), cBoat::ItemToMaterial(a_Player->GetEquippedItem())) == cEntity::INVALID_ID) + if (a_World->SpawnBoat( + Callbacks.m_Pos + Vector3d(0.5, 1, 0.5), + cBoat::ItemToMaterial(a_Player->GetEquippedItem()) + ) == cEntity::INVALID_ID) { return false; } @@ -94,4 +99,4 @@ public: return true; } -} ; +}; diff --git a/src/Items/ItemBottle.h b/src/Items/ItemBottle.h index a324eb101..ee390dc16 100644 --- a/src/Items/ItemBottle.h +++ b/src/Items/ItemBottle.h @@ -9,13 +9,11 @@ -class cItemBottleHandler final: - public cItemHandler +class cItemBottleHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -27,20 +25,24 @@ public: Returns false if not. */ bool GetBlockFromTrace(cWorld * a_World, cPlayer * a_Player, Vector3i & a_BlockPos) const { - class cCallbacks: - public cBlockTracer::cCallbacks + class cCallbacks : public cBlockTracer::cCallbacks { - public: + public: Vector3i m_Pos; - bool m_HasHitFluid; + bool m_HasHitFluid; - cCallbacks(): + cCallbacks() : m_HasHitFluid(false) { } - virtual bool OnNextBlock(Vector3i a_BlockPosition, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + virtual bool OnNextBlock( + Vector3i a_BlockPosition, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + eBlockFace a_EntryFace + ) override { if (IsBlockWater(a_BlockType)) { @@ -98,8 +100,4 @@ public: } return true; } -} ; - - - - +}; diff --git a/src/Items/ItemBow.h b/src/Items/ItemBow.h index d1993c03c..a7d5b683d 100644 --- a/src/Items/ItemBow.h +++ b/src/Items/ItemBow.h @@ -8,13 +8,11 @@ -class cItemBowHandler final: - public cItemHandler +class cItemBowHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -73,12 +71,8 @@ public: { return; } - a_Player->GetWorld()->BroadcastSoundEffect( - "entity.arrow.shoot", - a_Player->GetPosition(), - 0.5, - static_cast(Force) - ); + a_Player->GetWorld() + ->BroadcastSoundEffect("entity.arrow.shoot", a_Player->GetPosition(), 0.5, static_cast(Force)); if (!a_Player->IsGameModeCreative()) { if (a_Player->GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::enchInfinity) == 0) @@ -97,4 +91,4 @@ public: ArrowPtr->StartBurning(100); } } -} ; +}; diff --git a/src/Items/ItemBucket.h b/src/Items/ItemBucket.h index e7fa0fe38..ab2cb8fd1 100644 --- a/src/Items/ItemBucket.h +++ b/src/Items/ItemBucket.h @@ -13,17 +13,14 @@ -class cItemBucketHandler final : - public cItemHandler +class cItemBucketHandler final : public cItemHandler { using Super = cItemHandler; -public: - - constexpr cItemBucketHandler(int a_ItemType): + public: + constexpr cItemBucketHandler(int a_ItemType) : Super(a_ItemType) { - } @@ -41,9 +38,28 @@ public: { switch (m_ItemType) { - case E_ITEM_BUCKET: return ScoopUpFluid(a_World, a_Player, a_HeldItem, a_ClickedBlockPos, a_ClickedBlockFace); - case E_ITEM_LAVA_BUCKET: return PlaceFluid (a_World, a_Player, a_PluginInterface, a_HeldItem, a_ClickedBlockPos, a_ClickedBlockFace, E_BLOCK_LAVA); - case E_ITEM_WATER_BUCKET: return PlaceFluid (a_World, a_Player, a_PluginInterface, a_HeldItem, a_ClickedBlockPos, a_ClickedBlockFace, E_BLOCK_WATER); + case E_ITEM_BUCKET: + return ScoopUpFluid(a_World, a_Player, a_HeldItem, a_ClickedBlockPos, a_ClickedBlockFace); + case E_ITEM_LAVA_BUCKET: + return PlaceFluid( + a_World, + a_Player, + a_PluginInterface, + a_HeldItem, + a_ClickedBlockPos, + a_ClickedBlockFace, + E_BLOCK_LAVA + ); + case E_ITEM_WATER_BUCKET: + return PlaceFluid( + a_World, + a_Player, + a_PluginInterface, + a_HeldItem, + a_ClickedBlockPos, + a_ClickedBlockFace, + E_BLOCK_WATER + ); default: { ASSERT(!"Unhandled ItemType"); @@ -56,7 +72,13 @@ public: - bool ScoopUpFluid(cWorld * a_World, cPlayer * a_Player, const cItem & a_Item, const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace) const + bool ScoopUpFluid( + cWorld * a_World, + cPlayer * a_Player, + const cItem & a_Item, + const Vector3i a_ClickedBlockPos, + eBlockFace a_ClickedBlockFace + ) const { // Players can't pick up fluid while in adventure mode. if (a_Player->IsGameModeAdventure()) @@ -125,8 +147,13 @@ public: bool PlaceFluid( - cWorld * a_World, cPlayer * a_Player, cBlockPluginInterface & a_PluginInterface, const cItem & a_Item, - const Vector3i a_BlockPos, eBlockFace a_BlockFace, BLOCKTYPE a_FluidBlock + cWorld * a_World, + cPlayer * a_Player, + cBlockPluginInterface & a_PluginInterface, + const cItem & a_Item, + const Vector3i a_BlockPos, + eBlockFace a_BlockFace, + BLOCKTYPE a_FluidBlock ) const { // Players can't place fluid while in adventure mode. @@ -165,13 +192,15 @@ public: // Wash away anything that was there prior to placing: if (cFluidSimulator::CanWashAway(CurrentBlockType)) { - if (a_PluginInterface.CallHookPlayerBreakingBlock(*a_Player, BlockPos, EntryFace, CurrentBlockType, CurrentBlockMeta)) + if (a_PluginInterface + .CallHookPlayerBreakingBlock(*a_Player, BlockPos, EntryFace, CurrentBlockType, CurrentBlockMeta)) { // Plugin disagrees with the washing-away return false; } a_World->DropBlockAsPickups(BlockPos, a_Player, nullptr); - a_PluginInterface.CallHookPlayerBrokenBlock(*a_Player, BlockPos, EntryFace, CurrentBlockType, CurrentBlockMeta); + a_PluginInterface + .CallHookPlayerBrokenBlock(*a_Player, BlockPos, EntryFace, CurrentBlockType, CurrentBlockMeta); } // Place the actual fluid block: @@ -184,12 +213,11 @@ public: bool GetBlockFromTrace(cWorld * a_World, cPlayer * a_Player, Vector3i & a_BlockPos) const { - class cCallbacks : - public cBlockTracer::cCallbacks + class cCallbacks : public cBlockTracer::cCallbacks { - public: + public: Vector3i m_Pos; - bool m_HasHitFluid; + bool m_HasHitFluid; cCallbacks(void) : @@ -197,11 +225,17 @@ public: { } - virtual bool OnNextBlock(Vector3i a_BlockPosition, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + virtual bool OnNextBlock( + Vector3i a_BlockPosition, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + eBlockFace a_EntryFace + ) override { if (IsBlockWater(a_BlockType) || IsBlockLava(a_BlockType)) { - if (a_BlockMeta != 0) // GetBlockFromTrace is called for scooping up fluids; the hit block should be a source + if (a_BlockMeta != + 0) // GetBlockFromTrace is called for scooping up fluids; the hit block should be a source { return false; } @@ -233,18 +267,29 @@ public: - bool GetPlacementCoordsFromTrace(cWorld * a_World, cPlayer * a_Player, Vector3i & a_BlockPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta, eBlockFace & a_BlockFace) const + bool GetPlacementCoordsFromTrace( + cWorld * a_World, + cPlayer * a_Player, + Vector3i & a_BlockPos, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_BlockMeta, + eBlockFace & a_BlockFace + ) const { - class cCallbacks : - public cBlockTracer::cCallbacks + class cCallbacks : public cBlockTracer::cCallbacks { - public: - Vector3i m_Pos; - BLOCKTYPE m_ReplacedBlockType; + public: + Vector3i m_Pos; + BLOCKTYPE m_ReplacedBlockType; NIBBLETYPE m_ReplacedBlockMeta; eBlockFace m_EntryFace; - virtual bool OnNextBlock(Vector3i a_CBBlockPos, BLOCKTYPE a_CBBlockType, NIBBLETYPE a_CBBlockMeta, eBlockFace a_CBEntryFace) override + virtual bool OnNextBlock( + Vector3i a_CBBlockPos, + BLOCKTYPE a_CBBlockType, + NIBBLETYPE a_CBBlockMeta, + eBlockFace a_CBEntryFace + ) override { if ((a_CBBlockType != E_BLOCK_AIR) && !IsBlockLiquid(a_CBBlockType)) { @@ -253,7 +298,10 @@ public: m_EntryFace = static_cast(a_CBEntryFace); if (!cFluidSimulator::CanWashAway(a_CBBlockType)) { - a_CBBlockPos = AddFaceDirection(a_CBBlockPos, a_CBEntryFace); // Was an unwashawayable block, can't overwrite it! + a_CBBlockPos = AddFaceDirection( + a_CBBlockPos, + a_CBEntryFace + ); // Was an unwashawayable block, can't overwrite it! } m_Pos = a_CBBlockPos; // (Block could be washed away, replace it) return true; // Abort tracing @@ -266,9 +314,9 @@ public: Vector3d Start(a_Player->GetEyePosition()); Vector3d End(a_Player->GetEyePosition() + a_Player->GetLookVector() * 5); - // cLineBlockTracer::Trace() returns true when whole line was traversed. By returning true from the callback when we hit something, - // we ensure that this never happens if liquid could be placed - // Use this to judge whether the position is valid + // cLineBlockTracer::Trace() returns true when whole line was traversed. By returning true from the callback + // when we hit something, we ensure that this never happens if liquid could be placed Use this to judge whether + // the position is valid if (!Tracer.Trace(Start, End)) { a_BlockPos = Callbacks.m_Pos; diff --git a/src/Items/ItemButton.h b/src/Items/ItemButton.h index c106f393f..9736661c2 100644 --- a/src/Items/ItemButton.h +++ b/src/Items/ItemButton.h @@ -7,17 +7,14 @@ -class cItemButtonHandler final : - public cItemHandler +class cItemButtonHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: /** Converts the block face of the neighbor to which the button is attached, to the block meta for this button. */ static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace) { @@ -38,8 +35,18 @@ private: } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), BlockFaceToMetaData(a_ClickedBlockFace)); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + BlockFaceToMetaData(a_ClickedBlockFace) + ); } }; diff --git a/src/Items/ItemChest.h b/src/Items/ItemChest.h index db5bd4493..687da626d 100644 --- a/src/Items/ItemChest.h +++ b/src/Items/ItemChest.h @@ -8,28 +8,30 @@ -class cItemChestHandler final : - public cItemHandler +class cItemChestHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; cItemChestHandler(const cItemChestHandler &) = delete; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Check that there is at most one single neighbor of the same chest type: - static const Vector3i CrossCoords[] = - { - {-1, 0, 0}, - { 0, 0, -1}, - { 1, 0, 0}, - { 0, 0, 1}, + static const Vector3i CrossCoords[] = { + {-1, 0, 0}, + {0, 0, -1}, + {1, 0, 0}, + {0, 0, 1}, }; auto & World = *a_Player.GetWorld(); diff --git a/src/Items/ItemChorusFruit.h b/src/Items/ItemChorusFruit.h index d60c2730f..077752099 100644 --- a/src/Items/ItemChorusFruit.h +++ b/src/Items/ItemChorusFruit.h @@ -8,13 +8,11 @@ -class cItemChorusFruitHandler final: - public cItemFoodHandler +class cItemChorusFruitHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - + public: constexpr cItemChorusFruitHandler(int a_ItemType) : Super(a_ItemType, FoodInfo(4, 2.4)) { @@ -40,5 +38,4 @@ public: } return true; } - }; diff --git a/src/Items/ItemCloth.h b/src/Items/ItemCloth.h index 149bd642b..cdee8e6d1 100644 --- a/src/Items/ItemCloth.h +++ b/src/Items/ItemCloth.h @@ -7,17 +7,11 @@ -class cItemClothHandler final : - public cItemHandler +class cItemClothHandler final : public cItemHandler { -public: - constexpr cItemClothHandler(int a_ItemType) - : cItemHandler(a_ItemType) + public: + constexpr cItemClothHandler(int a_ItemType) : + cItemHandler(a_ItemType) { - } -} ; - - - - +}; diff --git a/src/Items/ItemComparator.h b/src/Items/ItemComparator.h index 48db85959..95ef6e7ff 100644 --- a/src/Items/ItemComparator.h +++ b/src/Items/ItemComparator.h @@ -8,24 +8,29 @@ -class cItemComparatorHandler final: - public cItemHandler +class cItemComparatorHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_INACTIVE_COMPARATOR, cBlockComparatorHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + E_BLOCK_INACTIVE_COMPARATOR, + cBlockComparatorHandler::YawToMetaData(a_Player.GetYaw()) + ); } - virtual bool IsPlaceable(void) const override - { - return true; - } -} ; + virtual bool IsPlaceable(void) const override { return true; } +}; diff --git a/src/Items/ItemCookedFish.h b/src/Items/ItemCookedFish.h index 32933e058..06ceb3fc8 100644 --- a/src/Items/ItemCookedFish.h +++ b/src/Items/ItemCookedFish.h @@ -7,22 +7,19 @@ -class cItemCookedFishHandler final: - public cItemFoodHandler +class cItemCookedFishHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - - constexpr cItemCookedFishHandler(int a_ItemType): + public: + constexpr cItemCookedFishHandler(int a_ItemType) : Super(a_ItemType, FoodInfo(0, 0)) { } virtual FoodInfo GetFoodInfo(const cItem * a_Item) const override { - static const FoodInfo CookedFishInfos[] = - { + static const FoodInfo CookedFishInfos[] = { FoodInfo(5, 6.0), // Cooked fish FoodInfo(6, 9.6), // Cooked salmon }; @@ -34,5 +31,4 @@ public: } return CookedFishInfos[a_Item->m_ItemDamage]; } - }; diff --git a/src/Items/ItemDefaultItem.h b/src/Items/ItemDefaultItem.h index afd5ab126..e00d4c008 100644 --- a/src/Items/ItemDefaultItem.h +++ b/src/Items/ItemDefaultItem.h @@ -7,10 +7,8 @@ -class cDefaultItemHandler final : - public cItemHandler +class cDefaultItemHandler final : public cItemHandler { -public: - + public: using cItemHandler::cItemHandler; }; diff --git a/src/Items/ItemDoor.h b/src/Items/ItemDoor.h index 6538a5bef..555aa3980 100644 --- a/src/Items/ItemDoor.h +++ b/src/Items/ItemDoor.h @@ -9,23 +9,26 @@ -class cItemDoorHandler final: - public cItemHandler +class cItemDoorHandler final : public cItemHandler { using Super = cItemHandler; -public: - - constexpr cItemDoorHandler(int a_ItemType): + public: + constexpr cItemDoorHandler(int a_ItemType) : Super(a_ItemType) { - } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Vanilla only allows door placement while clicking on the top face of the block below the door: if (a_ClickedBlockFace != BLOCK_FACE_TOP) @@ -37,14 +40,14 @@ public: BLOCKTYPE BlockType; switch (m_ItemType) { - case E_ITEM_WOODEN_DOOR: BlockType = E_BLOCK_OAK_DOOR; break; - case E_ITEM_IRON_DOOR: BlockType = E_BLOCK_IRON_DOOR; break; - case E_ITEM_SPRUCE_DOOR: BlockType = E_BLOCK_SPRUCE_DOOR; break; - case E_ITEM_BIRCH_DOOR: BlockType = E_BLOCK_BIRCH_DOOR; break; - case E_ITEM_JUNGLE_DOOR: BlockType = E_BLOCK_JUNGLE_DOOR; break; + case E_ITEM_WOODEN_DOOR: BlockType = E_BLOCK_OAK_DOOR; break; + case E_ITEM_IRON_DOOR: BlockType = E_BLOCK_IRON_DOOR; break; + case E_ITEM_SPRUCE_DOOR: BlockType = E_BLOCK_SPRUCE_DOOR; break; + case E_ITEM_BIRCH_DOOR: BlockType = E_BLOCK_BIRCH_DOOR; break; + case E_ITEM_JUNGLE_DOOR: BlockType = E_BLOCK_JUNGLE_DOOR; break; case E_ITEM_DARK_OAK_DOOR: BlockType = E_BLOCK_DARK_OAK_DOOR; break; - case E_ITEM_ACACIA_DOOR: BlockType = E_BLOCK_ACACIA_DOOR; break; - default: UNREACHABLE("Unhandled door type"); + case E_ITEM_ACACIA_DOOR: BlockType = E_BLOCK_ACACIA_DOOR; break; + default: UNREACHABLE("Unhandled door type"); } const auto & World = *a_Player.GetWorld(); @@ -56,7 +59,14 @@ public: NIBBLETYPE TopMeta; World.GetBlockTypeMeta(UpperBlockPosition, TopType, TopMeta); - if (!cBlockHandler::For(TopType).DoesIgnoreBuildCollision(World, a_HeldItem, UpperBlockPosition, TopMeta, a_ClickedBlockFace, false)) + if (!cBlockHandler::For(TopType).DoesIgnoreBuildCollision( + World, + a_HeldItem, + UpperBlockPosition, + TopMeta, + a_ClickedBlockFace, + false + )) { return false; } @@ -81,18 +91,16 @@ public: // DEBUG: FLOGD("Door being placed at {0}", a_PlacePosition); FLOGD("RelDirToOutside: {0}", RelDirToOutside); - FLOGD("Left neighbor at {0}: {1} ({2})", LeftNeighborPos, LeftNeighborBlock, ItemTypeToString(LeftNeighborBlock)); - FLOGD("Right neighbor at {0}: {1} ({2})", RightNeighborPos, RightNeighborBlock, ItemTypeToString(RightNeighborBlock)); + FLOGD("Left neighbor at {0}: {1} ({2})", LeftNeighborPos, LeftNeighborBlock, + ItemTypeToString(LeftNeighborBlock)); FLOGD("Right neighbor at {0}: {1} ({2})", RightNeighborPos, + RightNeighborBlock, ItemTypeToString(RightNeighborBlock)); */ - if ( - cBlockDoorHandler::IsDoorBlockType(LeftNeighborBlock) || // The block to the left is a door block - ( - !cBlockInfo::IsSolid(LeftNeighborBlock) && // Prioritize hinge on the left side - cBlockInfo::IsSolid(RightNeighborBlock) && // The block to the right is solid... - !cBlockDoorHandler::IsDoorBlockType(RightNeighborBlock) // ... but not a door - ) - ) + if (cBlockDoorHandler::IsDoorBlockType(LeftNeighborBlock) || // The block to the left is a door block + (!cBlockInfo::IsSolid(LeftNeighborBlock) && // Prioritize hinge on the left side + cBlockInfo::IsSolid(RightNeighborBlock) && // The block to the right is solid... + !cBlockDoorHandler::IsDoorBlockType(RightNeighborBlock) // ... but not a door + )) { // DEBUG: LOGD("Setting hinge to right side"); UpperBlockMeta = 0x09; // Upper block | hinge on right @@ -100,17 +108,12 @@ public: // Set the blocks: return a_Player.PlaceBlocks( - { - { a_PlacePosition, BlockType, LowerBlockMeta }, - { UpperBlockPosition, BlockType, UpperBlockMeta } - }); + {{a_PlacePosition, BlockType, LowerBlockMeta}, {UpperBlockPosition, BlockType, UpperBlockMeta}} + ); } - virtual bool IsPlaceable(void) const override - { - return true; - } -} ; + virtual bool IsPlaceable(void) const override { return true; } +}; diff --git a/src/Items/ItemDropSpenser.h b/src/Items/ItemDropSpenser.h index 68f2cc137..e44a017be 100644 --- a/src/Items/ItemDropSpenser.h +++ b/src/Items/ItemDropSpenser.h @@ -8,19 +8,30 @@ -class cItemDropSpenserHandler final : - public cItemHandler +class cItemDropSpenserHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), cBlockDropSpenserHandler::DisplacementYawToMetaData(a_PlacePosition, a_Player.GetEyePosition(), a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + cBlockDropSpenserHandler::DisplacementYawToMetaData( + a_PlacePosition, + a_Player.GetEyePosition(), + a_Player.GetYaw() + ) + ); } }; diff --git a/src/Items/ItemDye.h b/src/Items/ItemDye.h index 636a1b477..4c28e63b3 100644 --- a/src/Items/ItemDye.h +++ b/src/Items/ItemDye.h @@ -10,12 +10,11 @@ -class cItemDyeHandler final : - public cItemHandler +class cItemDyeHandler final : public cItemHandler { using Super = cItemHandler; -public: + public: using Super::Super; @@ -43,7 +42,8 @@ public: } } } - else if ((a_HeldItem.m_ItemDamage == E_META_DYE_BROWN) && (a_ClickedBlockFace >= BLOCK_FACE_ZM) && (a_ClickedBlockFace <= BLOCK_FACE_XP)) + else if ((a_HeldItem.m_ItemDamage == E_META_DYE_BROWN) && (a_ClickedBlockFace >= BLOCK_FACE_ZM) && + (a_ClickedBlockFace <= BLOCK_FACE_XP)) { // Players can't place blocks while in adventure mode. if (a_Player->IsGameModeAdventure()) @@ -126,7 +126,8 @@ public: case E_BLOCK_BEETROOTS: { // Fix GH #4805. - // Bonemeal should only advance growth, not spawn produce, and should not be consumed if plant at maturity: + // Bonemeal should only advance growth, not spawn produce, and should not be consumed if plant at + // maturity: if (a_World.GrowPlantAt(a_BlockPos, 1) <= 0) { return false; @@ -157,10 +158,14 @@ public: cItems Pickups; switch (BlockMeta) { - case E_META_BIG_FLOWER_SUNFLOWER: Pickups.Add(E_BLOCK_BIG_FLOWER, 1, E_META_BIG_FLOWER_SUNFLOWER); break; - case E_META_BIG_FLOWER_LILAC: Pickups.Add(E_BLOCK_BIG_FLOWER, 1, E_META_BIG_FLOWER_LILAC); break; - case E_META_BIG_FLOWER_ROSE_BUSH: Pickups.Add(E_BLOCK_BIG_FLOWER, 1, E_META_BIG_FLOWER_ROSE_BUSH); break; - case E_META_BIG_FLOWER_PEONY: Pickups.Add(E_BLOCK_BIG_FLOWER, 1, E_META_BIG_FLOWER_PEONY); break; + case E_META_BIG_FLOWER_SUNFLOWER: + Pickups.Add(E_BLOCK_BIG_FLOWER, 1, E_META_BIG_FLOWER_SUNFLOWER); + break; + case E_META_BIG_FLOWER_LILAC: Pickups.Add(E_BLOCK_BIG_FLOWER, 1, E_META_BIG_FLOWER_LILAC); break; + case E_META_BIG_FLOWER_ROSE_BUSH: + Pickups.Add(E_BLOCK_BIG_FLOWER, 1, E_META_BIG_FLOWER_ROSE_BUSH); + break; + case E_META_BIG_FLOWER_PEONY: Pickups.Add(E_BLOCK_BIG_FLOWER, 1, E_META_BIG_FLOWER_PEONY); break; } // TODO: Should we call any hook for this? a_World.SpawnItemPickups(Pickups, a_BlockPos); @@ -201,10 +206,10 @@ public: return true; } - // TODO: case E_BLOCK_SWEET_BERRY_BUSH: - // TODO: case E_BLOCK_SEA_PICKLE: - // TODO: case E_BLOCK_KELP: - // TODO: case E_BLOCK_BAMBOO: + // TODO: case E_BLOCK_SWEET_BERRY_BUSH: + // TODO: case E_BLOCK_SEA_PICKLE: + // TODO: case E_BLOCK_KELP: + // TODO: case E_BLOCK_BAMBOO: } // switch (blockType) return false; } @@ -284,13 +289,17 @@ public: case 0: a_World.SetBlock(a_Position, E_BLOCK_DANDELION, 0); break; case 1: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_POPPY); break; case 2: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_ALLIUM); break; - case 3: a_World.SetBlock(a_Position, E_BLOCK_RED_ROSE, 0); break; // was renamed to Azure Bluet later + case 3: + a_World.SetBlock(a_Position, E_BLOCK_RED_ROSE, 0); + break; // was renamed to Azure Bluet later case 4: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_RED_TULIP); break; case 5: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_PINK_TULIP); break; case 6: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_WHITE_TULIP); break; case 7: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_ORANGE_TULIP); break; - case 8: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_OXEYE_DAISY); break; - // TODO: Add cornflower + case 8: + a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_OXEYE_DAISY); + break; + // TODO: Add cornflower } break; } @@ -307,13 +316,17 @@ public: case 0: a_World.SetBlock(a_Position, E_BLOCK_DANDELION, 0); break; case 1: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_POPPY); break; case 2: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_ALLIUM); break; - case 3: a_World.SetBlock(a_Position, E_BLOCK_RED_ROSE, 0); break; // was renamed to Azure Bluet later + case 3: + a_World.SetBlock(a_Position, E_BLOCK_RED_ROSE, 0); + break; // was renamed to Azure Bluet later case 4: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_RED_TULIP); break; case 5: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_PINK_TULIP); break; case 6: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_WHITE_TULIP); break; case 7: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_ORANGE_TULIP); break; - case 8: a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_OXEYE_DAISY); break; - // TODO: Add cornflower, lily of the valley + case 8: + a_World.SetBlock(a_Position, E_BLOCK_FLOWER, E_META_FLOWER_OXEYE_DAISY); + break; + // TODO: Add cornflower, lily of the valley } break; } @@ -342,30 +355,26 @@ public: } } - /** Walks adjacent grass blocks up to 7 taxicab distance away from a_Position and calls the Planter function on the first suitable one found. - Does nothing if no position suitable for growing was found. */ - template - static void FindAdjacentGrassAnd(cWorld & a_World, const Vector3i a_Position) + /** Walks adjacent grass blocks up to 7 taxicab distance away from a_Position and calls the Planter function on the + first suitable one found. Does nothing if no position suitable for growing was found. */ + template static void FindAdjacentGrassAnd(cWorld & a_World, const Vector3i a_Position) { auto & Random = GetRandomProvider(); auto Position = a_Position; // Maximum 7 taxicab distance away from centre: - for ( - int Tries = 0; - Tries != 8; - Tries++, - - // Get the adjacent block to visit this iteration: - Position += Vector3i( - Random.RandInt(-1, 1), - Random.RandInt(-1, 1) * (Random.RandInt(2) / 2), // Y offset, with discouragement to values that aren't zero - Random.RandInt(-1, 1) - ) - ) + for (int Tries = 0; Tries != 8; + Tries++, + + // Get the adjacent block to visit this iteration: + Position += Vector3i( + Random.RandInt(-1, 1), + Random.RandInt(-1, 1) * + (Random.RandInt(2) / 2), // Y offset, with discouragement to values that aren't zero + Random.RandInt(-1, 1) + )) { - if ( - !cChunkDef::IsValidHeight(Position) || + if (!cChunkDef::IsValidHeight(Position) || (a_World.GetBlock(Position) != E_BLOCK_GRASS) // Are we looking at grass? ) { @@ -395,8 +404,4 @@ public: return; } } -} ; - - - - +}; diff --git a/src/Items/ItemEmptyMap.h b/src/Items/ItemEmptyMap.h index d06102fab..af72c5cad 100644 --- a/src/Items/ItemEmptyMap.h +++ b/src/Items/ItemEmptyMap.h @@ -7,15 +7,13 @@ -class cItemEmptyMapHandler final: - public cItemHandler +class cItemEmptyMapHandler final : public cItemHandler { using Super = cItemHandler; static const unsigned int DEFAULT_SCALE = 0; -public: - + public: using Super::Super; @@ -34,7 +32,8 @@ public: UNUSED(a_HeldItem); UNUSED(a_ClickedBlockFace); - // The map center is fixed at the central point of the 8x8 block of chunks you are standing in when you right-click it. + // The map center is fixed at the central point of the 8x8 block of chunks you are standing in when you + // right-click it. const int RegionWidth = cChunkDef::Width * 8; @@ -51,4 +50,4 @@ public: a_Player->ReplaceOneEquippedItemTossRest(cItem(E_ITEM_MAP, 1, static_cast(NewMap->GetID() & 0x7fff))); return true; } -} ; +}; diff --git a/src/Items/ItemEnchantingTable.h b/src/Items/ItemEnchantingTable.h index c89de2a34..804456194 100644 --- a/src/Items/ItemEnchantingTable.h +++ b/src/Items/ItemEnchantingTable.h @@ -9,18 +9,21 @@ -class cItemEnchantingTableHandler final: - public cItemHandler +class cItemEnchantingTableHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { if (!Super::CommitPlacement(a_Player, a_HeldItem, a_PlacePosition, a_ClickedBlockFace, a_CursorPosition)) { @@ -32,20 +35,20 @@ private: return true; } - a_Player.GetWorld()->DoWithBlockEntityAt(a_PlacePosition, [&a_HeldItem](cBlockEntity & a_BlockEntity) - { - ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_ENCHANTMENT_TABLE); + a_Player.GetWorld()->DoWithBlockEntityAt( + a_PlacePosition, + [&a_HeldItem](cBlockEntity & a_BlockEntity) + { + ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_ENCHANTMENT_TABLE); - static_cast(a_BlockEntity).SetCustomName(a_HeldItem.m_CustomName); - return false; - }); + static_cast(a_BlockEntity).SetCustomName(a_HeldItem.m_CustomName); + return false; + } + ); return true; } - virtual bool IsPlaceable(void) const override - { - return true; - } -} ; + virtual bool IsPlaceable(void) const override { return true; } +}; diff --git a/src/Items/ItemEndCrystal.h b/src/Items/ItemEndCrystal.h index 976bc83ec..4653354f1 100644 --- a/src/Items/ItemEndCrystal.h +++ b/src/Items/ItemEndCrystal.h @@ -9,13 +9,11 @@ -class cItemEndCrystalHandler final : - public cItemHandler +class cItemEndCrystalHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: constexpr cItemEndCrystalHandler(int a_ItemType) : Super(a_ItemType) { @@ -23,10 +21,13 @@ public: virtual bool OnItemUse( - cWorld * a_World, cPlayer * a_Player, - cBlockPluginInterface & a_PluginInterface, const cItem & a_HeldItem, + cWorld * a_World, + cPlayer * a_Player, + cBlockPluginInterface & a_PluginInterface, + const cItem & a_HeldItem, const Vector3i a_BlockPos, - eBlockFace a_ClickedBlockFace) const override + eBlockFace a_ClickedBlockFace + ) const override { // Must click a valid block: if (a_ClickedBlockFace < 0) @@ -34,12 +35,10 @@ public: return false; } - if ( - const auto BlockType = a_World->GetBlock(a_BlockPos); + if (const auto BlockType = a_World->GetBlock(a_BlockPos); // Don't place if placement block is not obsidian or bedrock: - (BlockType != E_BLOCK_OBSIDIAN) && (BlockType != E_BLOCK_BEDROCK) - ) + (BlockType != E_BLOCK_OBSIDIAN) && (BlockType != E_BLOCK_BEDROCK)) { return false; } diff --git a/src/Items/ItemEndPortalFrame.h b/src/Items/ItemEndPortalFrame.h index 4f4d8a81f..3f4a6310e 100644 --- a/src/Items/ItemEndPortalFrame.h +++ b/src/Items/ItemEndPortalFrame.h @@ -8,19 +8,26 @@ -class cItemEndPortalFrameHandler final : - public cItemHandler +class cItemEndPortalFrameHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_END_PORTAL_FRAME, cBlockEndPortalFrameHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + E_BLOCK_END_PORTAL_FRAME, + cBlockEndPortalFrameHandler::YawToMetaData(a_Player.GetYaw()) + ); } }; diff --git a/src/Items/ItemEnderChest.h b/src/Items/ItemEnderChest.h index 120abb8e6..401a54d1d 100644 --- a/src/Items/ItemEnderChest.h +++ b/src/Items/ItemEnderChest.h @@ -8,19 +8,26 @@ -class cItemEnderChestHandler final : - public cItemHandler +class cItemEnderChestHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_ENDER_CHEST, cBlockEnderChestHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + E_BLOCK_ENDER_CHEST, + cBlockEnderChestHandler::YawToMetaData(a_Player.GetYaw()) + ); } }; diff --git a/src/Items/ItemEyeOfEnder.h b/src/Items/ItemEyeOfEnder.h index fc6fac336..6418d50ad 100644 --- a/src/Items/ItemEyeOfEnder.h +++ b/src/Items/ItemEyeOfEnder.h @@ -8,14 +8,12 @@ -class cItemEyeOfEnderHandler final: - public cItemThrowableHandler +class cItemEyeOfEnderHandler final : public cItemThrowableHandler { using Super = cItemThrowableHandler; -public: - - constexpr cItemEyeOfEnderHandler(int a_ItemType): + public: + constexpr cItemEyeOfEnderHandler(int a_ItemType) : Super(a_ItemType, cProjectileEntity::pkSnowball, 30) { } @@ -25,7 +23,10 @@ public: virtual bool OnItemUse( - cWorld * a_World, cPlayer * a_Player, cBlockPluginInterface & a_PluginInterface, const cItem & a_Item, + cWorld * a_World, + cPlayer * a_Player, + cBlockPluginInterface & a_PluginInterface, + const cItem & a_Item, const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace ) const override @@ -41,7 +42,11 @@ public: // Fill the portal frame. E_META_END_PORTAL_EYE is the bit for holding the eye of ender. if ((FacingMeta & E_META_END_PORTAL_FRAME_EYE) != E_META_END_PORTAL_FRAME_EYE) { - a_World->SetBlock(a_ClickedBlockPos, E_BLOCK_END_PORTAL_FRAME, FacingMeta | E_META_END_PORTAL_FRAME_EYE); + a_World->SetBlock( + a_ClickedBlockPos, + E_BLOCK_END_PORTAL_FRAME, + FacingMeta | E_META_END_PORTAL_FRAME_EYE + ); if (!a_Player->IsGameModeCreative()) { a_Player->GetInventory().RemoveOneEquippedItem(); @@ -67,7 +72,12 @@ public: /** Returns false if portal cannot be made, true if portal was made. */ - static bool FindAndSetPortal(Vector3i a_FirstFrame, NIBBLETYPE a_Direction, cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface) + static bool FindAndSetPortal( + Vector3i a_FirstFrame, + NIBBLETYPE a_Direction, + cChunkInterface & a_ChunkInterface, + cWorldInterface & a_WorldInterface + ) { /* PORTAL FINDING ALGORITH @@ -75,8 +85,10 @@ public: - Get clicked base block - Check diagonally (clockwise) for another portal block - if exists, and has eye, Continue. Abort if any are facing the wrong direction. - - if doesn't exist, check horizontally (the block to the left of this block). Abort if there is no horizontal block. - - After a corner has been met, traverse the portal clockwise, ensuring valid portal frames connect the rectangle. + - if doesn't exist, check horizontally (the block to the left of this block). Abort if there is no + horizontal block. + - After a corner has been met, traverse the portal clockwise, ensuring valid portal frames connect the + rectangle. - Track the NorthWest Corner, and the dimensions. - If dimensions are valid, create the portal. */ @@ -87,25 +99,23 @@ public: const int MAX_PORTAL_WIDTH = 4; // Directions to use for the clockwise traversal. - static const Vector3i Left[] = - { - { 1, 0, 0}, // 0, South, left block is East / XP - { 0, 0, 1}, // 1, West, left block is South / ZP - {-1, 0, 0}, // 2, North, left block is West / XM - { 0, 0, -1}, // 3, East, left block is North / ZM + static const Vector3i Left[] = { + {1, 0, 0}, // 0, South, left block is East / XP + {0, 0, 1}, // 1, West, left block is South / ZP + {-1, 0, 0}, // 2, North, left block is West / XM + {0, 0, -1}, // 3, East, left block is North / ZM }; - static const Vector3i LeftForward[] = - { - { 1, 0, 1}, // 0, South, left block is SouthEast / XP ZP - {-1, 0, 1}, // 1, West, left block is SouthWest / XM ZP + static const Vector3i LeftForward[] = { + {1, 0, 1}, // 0, South, left block is SouthEast / XP ZP + {-1, 0, 1}, // 1, West, left block is SouthWest / XM ZP {-1, 0, -1}, // 2, North, left block is NorthWest / XM ZM - { 1, 0, -1}, // 3, East, left block is NorthEast / XP ZM + {1, 0, -1}, // 3, East, left block is NorthEast / XP ZM }; int EdgesComplete = -1; // We start search _before_ finding the first edge Vector3i NorthWestCorner; - int EdgeWidth[4] = { 1, 1, 1, 1 }; + int EdgeWidth[4] = {1, 1, 1, 1}; NIBBLETYPE CurrentDirection = a_Direction; Vector3i CurrentPos = a_FirstFrame; @@ -171,7 +181,8 @@ public: { for (int j = 0; j < EdgeWidth[1]; j++) { - a_ChunkInterface.SetBlock(NorthWestCorner.x + i, NorthWestCorner.y, NorthWestCorner.z + j, E_BLOCK_END_PORTAL, 0); + a_ChunkInterface + .SetBlock(NorthWestCorner.x + i, NorthWestCorner.y, NorthWestCorner.z + j, E_BLOCK_END_PORTAL, 0); } } return true; @@ -189,8 +200,7 @@ public: return ( a_ChunkInterface.GetBlockTypeMeta(a_BlockPos, BlockType, BlockMeta) && - (BlockType == E_BLOCK_END_PORTAL_FRAME) && - (BlockMeta == (a_ShouldFace | E_META_END_PORTAL_FRAME_EYE)) + (BlockType == E_BLOCK_END_PORTAL_FRAME) && (BlockMeta == (a_ShouldFace | E_META_END_PORTAL_FRAME_EYE)) ); } @@ -198,13 +208,5 @@ public: /** Return true if this block is a portal frame. */ - static bool IsPortalFrame(BLOCKTYPE BlockType) - { - return (BlockType == E_BLOCK_END_PORTAL_FRAME); - } -} ; - - - - - + static bool IsPortalFrame(BLOCKTYPE BlockType) { return (BlockType == E_BLOCK_END_PORTAL_FRAME); } +}; diff --git a/src/Items/ItemFenceGate.h b/src/Items/ItemFenceGate.h index a3e02f5b1..8a8436120 100644 --- a/src/Items/ItemFenceGate.h +++ b/src/Items/ItemFenceGate.h @@ -8,19 +8,26 @@ -class cItemFenceGateHandler final : - public cItemHandler +class cItemFenceGateHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), cBlockFenceGateHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + cBlockFenceGateHandler::YawToMetaData(a_Player.GetYaw()) + ); } }; diff --git a/src/Items/ItemFishingRod.h b/src/Items/ItemFishingRod.h index 840ff7d5c..34f7c0875 100644 --- a/src/Items/ItemFishingRod.h +++ b/src/Items/ItemFishingRod.h @@ -14,14 +14,13 @@ // cFloaterCallback class cFloaterCallback { -public: + public: cFloaterCallback(void) : - m_CanPickup(false), - m_AttachedMobID(cEntity::INVALID_ID) + m_CanPickup(false), m_AttachedMobID(cEntity::INVALID_ID) { } - bool operator () (cEntity & a_Entity) + bool operator()(cEntity & a_Entity) { auto & Floater = static_cast(a_Entity); m_CanPickup = Floater.CanPickup(); @@ -32,30 +31,28 @@ public: return true; } - bool CanPickup(void) const { return m_CanPickup; } - bool IsAttached(void) const { return (m_AttachedMobID != cEntity::INVALID_ID); } + bool CanPickup(void) const { return m_CanPickup; } + bool IsAttached(void) const { return (m_AttachedMobID != cEntity::INVALID_ID); } UInt32 GetAttachedMobID(void) const { return m_AttachedMobID; } - Vector3d GetPos(void) const { return m_Pos; } - Vector3d GetBitePos(void) const { return m_BitePos; } + Vector3d GetPos(void) const { return m_Pos; } + Vector3d GetBitePos(void) const { return m_BitePos; } -protected: + protected: bool m_CanPickup; UInt32 m_AttachedMobID; Vector3d m_Pos; Vector3d m_BitePos; -} ; +}; -class cItemFishingRodHandler final: - public cItemHandler +class cItemFishingRodHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -84,9 +81,11 @@ public: { // Cast a hook: auto & Random = GetRandomProvider(); - auto CountDownTime = Random.RandInt(100, 900) - static_cast(a_Player->GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::enchLure) * 100); + auto CountDownTime = Random.RandInt(100, 900) - + static_cast(a_Player->GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::enchLure) * 100); auto Floater = std::make_unique( - a_Player->GetEyePosition(), a_Player->GetLookVector() * 15, + a_Player->GetEyePosition(), + a_Player->GetLookVector() * 15, a_Player->GetUniqueID(), CountDownTime ); @@ -104,7 +103,8 @@ public: - /** Reels back the fishing line, reeling any attached mob, or creating fished loot, or just breaking the fishing rod. */ + /** Reels back the fishing line, reeling any attached mob, or creating fished loot, or just breaking the fishing + * rod. */ void ReelIn(cWorld & a_World, cPlayer & a_Player) const { cFloaterCallback FloaterInfo; @@ -140,7 +140,9 @@ public: void ReelInEntity(cWorld & a_World, cPlayer & a_Player, UInt32 a_EntityID) const { auto PlayerPos = a_Player.GetPosition(); - a_World.DoWithEntityByID(a_EntityID, [=](cEntity & a_Entity) + a_World.DoWithEntityByID( + a_EntityID, + [=](cEntity & a_Entity) { auto Speed = PlayerPos - a_Entity.GetPosition(); a_Entity.AddSpeed(Speed); @@ -156,7 +158,8 @@ public: void ReelInLoot(cWorld & a_World, cPlayer & a_Player, const Vector3d a_FloaterBitePos) const { - auto LotSLevel = std::min(a_Player.GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::enchLuckOfTheSea), 3u); + auto LotSLevel = + std::min(a_Player.GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::enchLuckOfTheSea), 3u); // Chances for getting an item from the category for each level of Luck of the Sea (0 - 3) const int TreasureChances[] = {50, 71, 92, 113}; // 5% | 7.1% | 9.2% | 11.3% @@ -303,4 +306,4 @@ public: // Notify plugins cRoot::Get()->GetPluginManager()->CallHookPlayerFished(a_Player, Drops, Experience); } -} ; +}; diff --git a/src/Items/ItemFood.h b/src/Items/ItemFood.h index 7ec879b5d..a70351305 100644 --- a/src/Items/ItemFood.h +++ b/src/Items/ItemFood.h @@ -7,24 +7,18 @@ -class cItemFoodHandler: - public cItemHandler +class cItemFoodHandler : public cItemHandler { using Super = cItemHandler; -public: - - constexpr cItemFoodHandler(int a_ItemType, FoodInfo a_FoodInfo): - Super(a_ItemType), - m_FoodInfo(a_FoodInfo) + public: + constexpr cItemFoodHandler(int a_ItemType, FoodInfo a_FoodInfo) : + Super(a_ItemType), m_FoodInfo(a_FoodInfo) { } - virtual bool IsFood(void) const override - { - return true; - } + virtual bool IsFood(void) const override { return true; } virtual FoodInfo GetFoodInfo(const cItem * a_Item) const override { @@ -47,14 +41,13 @@ public: return true; } -protected: + protected: FoodInfo m_FoodInfo; ~cItemFoodHandler() = default; }; -class cItemSimpleFoodHandler final: - public cItemFoodHandler +class cItemSimpleFoodHandler final : public cItemFoodHandler { using cItemFoodHandler::cItemFoodHandler; }; diff --git a/src/Items/ItemFoodSeeds.h b/src/Items/ItemFoodSeeds.h index 381bcc4eb..3d2db455c 100644 --- a/src/Items/ItemFoodSeeds.h +++ b/src/Items/ItemFoodSeeds.h @@ -8,25 +8,18 @@ -class cItemFoodSeedsHandler final: - public cItemSeedsHandler +class cItemFoodSeedsHandler final : public cItemSeedsHandler { using Super = cItemSeedsHandler; -public: - - constexpr cItemFoodSeedsHandler(int a_ItemType, FoodInfo a_FoodInfo): - Super(a_ItemType), - m_FoodInfo(a_FoodInfo) + public: + constexpr cItemFoodSeedsHandler(int a_ItemType, FoodInfo a_FoodInfo) : + Super(a_ItemType), m_FoodInfo(a_FoodInfo) { - } - virtual bool IsFood(void) const override - { - return true; - } + virtual bool IsFood(void) const override { return true; } virtual FoodInfo GetFoodInfo(const cItem * a_Item) const override { @@ -49,7 +42,6 @@ public: return true; } -protected: + protected: FoodInfo m_FoodInfo; - }; diff --git a/src/Items/ItemFurnace.h b/src/Items/ItemFurnace.h index 48f725f4f..54c91136f 100644 --- a/src/Items/ItemFurnace.h +++ b/src/Items/ItemFurnace.h @@ -8,19 +8,23 @@ -class cItemFurnaceHandler final : - public cItemHandler +class cItemFurnaceHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_FURNACE, cBlockFurnaceHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player + .PlaceBlock(a_PlacePosition, E_BLOCK_FURNACE, cBlockFurnaceHandler::YawToMetaData(a_Player.GetYaw())); } }; diff --git a/src/Items/ItemGlazedTerracotta.h b/src/Items/ItemGlazedTerracotta.h index 0ce74d5aa..cf6c63af1 100644 --- a/src/Items/ItemGlazedTerracotta.h +++ b/src/Items/ItemGlazedTerracotta.h @@ -8,19 +8,26 @@ -class cItemGlazedTerracottaHandler final : - public cItemHandler +class cItemGlazedTerracottaHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), cBlockGlazedTerracottaHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + cBlockGlazedTerracottaHandler::YawToMetaData(a_Player.GetYaw()) + ); } }; diff --git a/src/Items/ItemGoldenApple.h b/src/Items/ItemGoldenApple.h index 25ed284e6..9bcc210d8 100644 --- a/src/Items/ItemGoldenApple.h +++ b/src/Items/ItemGoldenApple.h @@ -7,14 +7,12 @@ -class cItemGoldenAppleHandler final: - public cItemFoodHandler +class cItemGoldenAppleHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - - constexpr cItemGoldenAppleHandler(int a_ItemType): + public: + constexpr cItemGoldenAppleHandler(int a_ItemType) : Super(a_ItemType, FoodInfo(4, 9.6)) { } @@ -43,5 +41,4 @@ public: return true; } - }; diff --git a/src/Items/ItemHandler.cpp b/src/Items/ItemHandler.cpp index 11b544815..617dc08aa 100644 --- a/src/Items/ItemHandler.cpp +++ b/src/Items/ItemHandler.cpp @@ -98,469 +98,470 @@ namespace { - constexpr cDefaultItemHandler Item11DiscHandler (E_ITEM_11_DISC); - constexpr cDefaultItemHandler Item13DiscHandler (E_ITEM_13_DISC); - constexpr cItemBoatHandler ItemAcaciaBoatHandler (E_ITEM_ACACIA_BOAT); - constexpr cDefaultItemHandler ItemAcaciaDoorBlockHandler (E_BLOCK_ACACIA_DOOR); - constexpr cItemDoorHandler ItemAcaciaDoorHandler (E_ITEM_ACACIA_DOOR); - constexpr cItemFenceGateHandler ItemAcaciaFenceGateHandler (E_BLOCK_ACACIA_FENCE_GATE); - constexpr cDefaultItemHandler ItemAcaciaFenceHandler (E_BLOCK_ACACIA_FENCE); - constexpr cItemStairsHandler ItemAcaciaStairsHandler (E_BLOCK_ACACIA_WOOD_STAIRS); - constexpr cItemRailHandler ItemActivatorRailHandler (E_BLOCK_ACTIVATOR_RAIL); - constexpr cDefaultItemHandler ItemActiveComparatorHandler (E_BLOCK_ACTIVE_COMPARATOR); - constexpr cDefaultItemHandler ItemAirHandler (E_BLOCK_AIR); - constexpr cItemAnvilHandler ItemAnvilHandler (E_BLOCK_ANVIL); - constexpr cItemSimpleFoodHandler ItemAppleHandler (E_ITEM_RED_APPLE, cItemHandler::FoodInfo(4, 2.4)); - constexpr cDefaultItemHandler ItemArmorStandHandler (E_ITEM_ARMOR_STAND); - constexpr cDefaultItemHandler ItemArrowHandler (E_ITEM_ARROW); - constexpr cItemSimpleFoodHandler ItemBakedPotatoHandler (E_ITEM_BAKED_POTATO, cItemHandler::FoodInfo(5, 6)); - constexpr cItemBannerHandler ItemBannerHandler (E_ITEM_BANNER); - constexpr cDefaultItemHandler ItemBarrierHandler (E_BLOCK_BARRIER); - constexpr cDefaultItemHandler ItemBeaconHandler (E_BLOCK_BEACON); - constexpr cDefaultItemHandler ItemBedBlockHandler (E_BLOCK_BED); - constexpr cItemBedHandler ItemBedHandler (E_ITEM_BED); - constexpr cDefaultItemHandler ItemBedrockHandler (E_BLOCK_BEDROCK); - constexpr cItemSimpleFoodHandler ItemBeetrootHandler (E_ITEM_BEETROOT, cItemHandler::FoodInfo(1, 1.2)); - constexpr cDefaultItemHandler ItemBeetrootsBlockHandler (E_BLOCK_BEETROOTS); - constexpr cItemSimpleSeedsHandler ItemBeetrootSeedsHandler (E_ITEM_BEETROOT_SEEDS); - constexpr cItemSoupHandler ItemBeetrootSoupHandler (E_ITEM_BEETROOT_SOUP, cItemHandler::FoodInfo(6, 7.2)); - constexpr cItemBigFlowerHandler ItemBigFlowerHandler (E_BLOCK_BIG_FLOWER); - constexpr cItemBoatHandler ItemBirchBoatHandler (E_ITEM_BIRCH_BOAT); - constexpr cDefaultItemHandler ItemBirchDoorBlockHandler (E_BLOCK_BIRCH_DOOR); - constexpr cItemDoorHandler ItemBirchDoorHandler (E_ITEM_BIRCH_DOOR); - constexpr cItemFenceGateHandler ItemBirchFenceGateHandler (E_BLOCK_BIRCH_FENCE_GATE); - constexpr cDefaultItemHandler ItemBirchFenceHandler (E_BLOCK_BIRCH_FENCE); - constexpr cItemStairsHandler ItemBirchStairsHandler (E_BLOCK_BIRCH_WOOD_STAIRS); - constexpr cItemGlazedTerracottaHandler ItemBlackGlazedTerracottaHandler (E_BLOCK_BLACK_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemBlackShulkerBoxHandler (E_BLOCK_BLACK_SHULKER_BOX); - constexpr cDefaultItemHandler ItemBlazePowderHandler (E_ITEM_BLAZE_POWDER); - constexpr cDefaultItemHandler ItemBlazeRodHandler (E_ITEM_BLAZE_ROD); - constexpr cDefaultItemHandler ItemBlocksDiscHandler (E_ITEM_BLOCKS_DISC); - constexpr cItemGlazedTerracottaHandler ItemBlueGlazedTerracottaHandler (E_BLOCK_BLUE_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemBlueShulkerBoxHandler (E_BLOCK_BLUE_SHULKER_BOX); - constexpr cDefaultItemHandler ItemBoneBlockHandler (E_BLOCK_BONE_BLOCK); - constexpr cDefaultItemHandler ItemBoneHandler (E_ITEM_BONE); - constexpr cDefaultItemHandler ItemBookAndQuillHandler (E_ITEM_BOOK_AND_QUILL); - constexpr cDefaultItemHandler ItemBookHandler (E_ITEM_BOOK); - constexpr cDefaultItemHandler ItemBookshelfHandler (E_BLOCK_BOOKCASE); - constexpr cItemBottleOEnchantingHandler ItemBottleOEnchantingHandler (E_ITEM_BOTTLE_O_ENCHANTING); - constexpr cItemBowHandler ItemBowHandler (E_ITEM_BOW); - constexpr cDefaultItemHandler ItemBowlHandler (E_ITEM_BOWL); - constexpr cItemSimpleFoodHandler ItemBreadHandler (E_ITEM_BREAD, cItemHandler::FoodInfo(5, 6)); - constexpr cDefaultItemHandler ItemBrewingStandBlockHandler (E_BLOCK_BREWING_STAND); - constexpr cSimplePlaceableItemHandler ItemBrewingStandHandler (E_ITEM_BREWING_STAND, E_BLOCK_BREWING_STAND); - constexpr cDefaultItemHandler ItemBrickHandler (E_ITEM_CLAY_BRICK); - constexpr cDefaultItemHandler ItemBricksHandler (E_BLOCK_BRICK); - constexpr cItemStairsHandler ItemBricksStairsHandler (E_BLOCK_BRICK_STAIRS); - constexpr cItemGlazedTerracottaHandler ItemBrownGlazedTerracottaHandler (E_BLOCK_BROWN_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemBrownMushroomBlockHandler (E_BLOCK_BROWN_MUSHROOM); - constexpr cDefaultItemHandler ItemBrownShulkerBoxHandler (E_BLOCK_BROWN_SHULKER_BOX); - constexpr cItemBucketHandler ItemBucketHandler (E_ITEM_BUCKET); - constexpr cDefaultItemHandler ItemCactusHandler (E_BLOCK_CACTUS); - constexpr cDefaultItemHandler ItemCakeBlockHandler (E_BLOCK_CAKE); - constexpr cSimplePlaceableItemHandler ItemCakeHandler (E_ITEM_CAKE, E_BLOCK_CAKE); - constexpr cDefaultItemHandler ItemCarpetHandler (E_BLOCK_CARPET); - constexpr cItemFoodSeedsHandler ItemCarrotHandler (E_ITEM_CARROT, cItemHandler::FoodInfo(3, 6.6)); - constexpr cDefaultItemHandler ItemCarrotOnStickHandler (E_ITEM_CARROT_ON_STICK); - constexpr cDefaultItemHandler ItemCarrotsBlockHandler (E_BLOCK_CARROTS); - constexpr cDefaultItemHandler ItemCatDiscHandler (E_ITEM_CAT_DISC); - constexpr cDefaultItemHandler ItemCauldronBlockHandler (E_BLOCK_CAULDRON); - constexpr cSimplePlaceableItemHandler ItemCauldronHandler (E_ITEM_CAULDRON, E_BLOCK_CAULDRON);; - constexpr cItemArmorHandler ItemChainBootsHandler (E_ITEM_CHAIN_BOOTS); - constexpr cItemArmorHandler ItemChainChestplateHandler (E_ITEM_CHAIN_CHESTPLATE); - constexpr cDefaultItemHandler ItemChainCommandBlockHandler (E_BLOCK_CHAIN_COMMAND_BLOCK); - constexpr cItemArmorHandler ItemChainHelmetHandler (E_ITEM_CHAIN_HELMET); - constexpr cItemArmorHandler ItemChainLeggingsHandler (E_ITEM_CHAIN_LEGGINGS); - constexpr cItemChestHandler ItemChestHandler (E_BLOCK_CHEST); - constexpr cItemMinecartHandler ItemChestMinecartHandler (E_ITEM_CHEST_MINECART); - constexpr cDefaultItemHandler ItemChirpDiscHandler (E_ITEM_CHIRP_DISC); - constexpr cDefaultItemHandler ItemChorusFlowerHandler (E_BLOCK_CHORUS_FLOWER); - constexpr cItemChorusFruitHandler ItemChorusFruitHandler (E_ITEM_CHORUS_FRUIT); - constexpr cDefaultItemHandler ItemChorusPlantHandler (E_BLOCK_CHORUS_PLANT); - constexpr cDefaultItemHandler ItemClayBlockHandler (E_BLOCK_CLAY); - constexpr cDefaultItemHandler ItemClayHandler (E_ITEM_CLAY); - constexpr cDefaultItemHandler ItemClockHandler (E_ITEM_CLOCK); - constexpr cDefaultItemHandler ItemCoalBlockHandler (E_BLOCK_BLOCK_OF_COAL); - constexpr cDefaultItemHandler ItemCoalHandler (E_ITEM_COAL); - constexpr cDefaultItemHandler ItemCoalOreHandler (E_BLOCK_COAL_ORE); - constexpr cDefaultItemHandler ItemCobblestoneHandler (E_BLOCK_COBBLESTONE); - constexpr cItemStairsHandler ItemCobblestoneStairsHandler (E_BLOCK_COBBLESTONE_STAIRS); - constexpr cDefaultItemHandler ItemCobblestoneWallHandler (E_BLOCK_COBBLESTONE_WALL); - constexpr cDefaultItemHandler ItemCobwebHandler (E_BLOCK_COBWEB); - constexpr cDefaultItemHandler ItemCocoaPodHandler (E_BLOCK_COCOA_POD); - constexpr cDefaultItemHandler ItemCommandBlockHandler (E_BLOCK_COMMAND_BLOCK); - constexpr cItemComparatorHandler ItemComparatorHandler (E_ITEM_COMPARATOR); - constexpr cDefaultItemHandler ItemCompassHandler (E_ITEM_COMPASS); - constexpr cDefaultItemHandler ItemConcreteBlockHandler (E_BLOCK_CONCRETE); - constexpr cDefaultItemHandler ItemConcretePowderHandler (E_BLOCK_CONCRETE_POWDER); - constexpr cItemSimpleFoodHandler ItemCookedBeefHandler (E_ITEM_STEAK, cItemHandler::FoodInfo(8, 12.8)); - constexpr cItemSimpleFoodHandler ItemCookedChickenHandler (E_ITEM_COOKED_CHICKEN, cItemHandler::FoodInfo(6, 7.2)); - constexpr cItemCookedFishHandler ItemCookedFishHandler (E_ITEM_COOKED_FISH); - constexpr cItemSimpleFoodHandler ItemCookedMuttonHandler (E_ITEM_COOKED_MUTTON, cItemHandler::FoodInfo(6, 9.6)); - constexpr cItemSimpleFoodHandler ItemCookedPorkchopHandler (E_ITEM_COOKED_PORKCHOP, cItemHandler::FoodInfo(8, 12.8)); - constexpr cItemSimpleFoodHandler ItemCookedRabbitHandler (E_ITEM_COOKED_RABBIT, cItemHandler::FoodInfo(5, 6)); - constexpr cItemSimpleFoodHandler ItemCookieHandler (E_ITEM_COOKIE, cItemHandler::FoodInfo(2, 0.5)); - constexpr cItemGlazedTerracottaHandler ItemCyanGlazedTerracottaHandler (E_BLOCK_CYAN_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemCyanShulkerBoxHandler (E_BLOCK_CYAN_SHULKER_BOX); - constexpr cDefaultItemHandler ItemDandelionHandler (E_BLOCK_DANDELION); - constexpr cItemBoatHandler ItemDarkOakBoatHandler (E_ITEM_DARK_OAK_BOAT); - constexpr cDefaultItemHandler ItemDarkOakDoorBlockHandler (E_BLOCK_DARK_OAK_DOOR); - constexpr cItemDoorHandler ItemDarkOakDoorHandler (E_ITEM_DARK_OAK_DOOR); - constexpr cItemFenceGateHandler ItemDarkOakFenceGateHandler (E_BLOCK_DARK_OAK_FENCE_GATE); - constexpr cDefaultItemHandler ItemDarkOakFenceHandler (E_BLOCK_DARK_OAK_FENCE); - constexpr cItemStairsHandler ItemDarkOakStairsHandler (E_BLOCK_DARK_OAK_WOOD_STAIRS); - constexpr cDefaultItemHandler ItemDaylightSensorBlockHandler (E_BLOCK_DAYLIGHT_SENSOR); - constexpr cDefaultItemHandler ItemDeadBushHandler (E_BLOCK_DEAD_BUSH); - constexpr cItemRailHandler ItemDetectorRailHandler (E_BLOCK_DETECTOR_RAIL); - constexpr cItemAxeHandler ItemDiamondAxeHandler (E_ITEM_DIAMOND_AXE); - constexpr cDefaultItemHandler ItemDiamondBlockHandler (E_BLOCK_DIAMOND_BLOCK); - constexpr cItemArmorHandler ItemDiamondBootsHandler (E_ITEM_DIAMOND_BOOTS); - constexpr cItemArmorHandler ItemDiamondChestplateHandler (E_ITEM_DIAMOND_CHESTPLATE); - constexpr cDefaultItemHandler ItemDiamondHandler (E_ITEM_DIAMOND); - constexpr cItemArmorHandler ItemDiamondHelmetHandler (E_ITEM_DIAMOND_HELMET); - constexpr cItemHoeHandler ItemDiamondHoeHandler (E_ITEM_DIAMOND_HOE); - constexpr cDefaultItemHandler ItemDiamondHorseArmorHandler (E_ITEM_DIAMOND_HORSE_ARMOR); - constexpr cItemArmorHandler ItemDiamondLeggingsHandler (E_ITEM_DIAMOND_LEGGINGS); - constexpr cDefaultItemHandler ItemDiamondOreHandler (E_BLOCK_DIAMOND_ORE); - constexpr cItemPickaxeHandler ItemDiamondPickaxeHandler (E_ITEM_DIAMOND_PICKAXE); - constexpr cItemShovelHandler ItemDiamondShovelHandler (E_ITEM_DIAMOND_SHOVEL); - constexpr cItemSwordHandler ItemDiamondSwordHandler (E_ITEM_DIAMOND_SWORD); - constexpr cDefaultItemHandler ItemDirtHandler (E_BLOCK_DIRT); - constexpr cItemDropSpenserHandler ItemDispenserHandler (E_BLOCK_DISPENSER); - constexpr cDefaultItemHandler ItemDoubleOakSlabHandler (E_BLOCK_DOUBLE_WOODEN_SLAB); - constexpr cDefaultItemHandler ItemDoubleRedSandstoneSlabHandler (E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB); - constexpr cDefaultItemHandler ItemDoubleStoneSlabHandler (E_BLOCK_DOUBLE_STONE_SLAB); - constexpr cDefaultItemHandler ItemDragonBreathHandler (E_ITEM_DRAGON_BREATH); - constexpr cDefaultItemHandler ItemDragonEggBlockHandler (E_BLOCK_DRAGON_EGG); - constexpr cItemDropSpenserHandler ItemDropperHandler (E_BLOCK_DROPPER); - constexpr cItemDyeHandler ItemDyeHandler (E_ITEM_DYE); - constexpr cItemEggHandler ItemEggHandler (E_ITEM_EGG); - constexpr cItemArmorHandler ItemElytraHandler (E_ITEM_ELYTRA); - constexpr cDefaultItemHandler ItemEmeraldBlockHandler (E_BLOCK_EMERALD_BLOCK); - constexpr cDefaultItemHandler ItemEmeraldHandler (E_ITEM_EMERALD); - constexpr cDefaultItemHandler ItemEmeraldOreHandler (E_BLOCK_EMERALD_ORE); - constexpr cItemEmptyMapHandler ItemEmptyMapHandler (E_ITEM_EMPTY_MAP); - constexpr cDefaultItemHandler ItemEnchantedBookHandler (E_ITEM_ENCHANTED_BOOK); - constexpr cItemEnchantingTableHandler ItemEnchantingTableHandler (E_BLOCK_ENCHANTMENT_TABLE); - constexpr cDefaultItemHandler ItemEndBricksHandler (E_BLOCK_END_BRICKS); - constexpr cItemEndCrystalHandler ItemEndCrystalHandler (E_ITEM_END_CRYSTAL); - constexpr cItemEnderChestHandler ItemEnderChestHandler (E_BLOCK_ENDER_CHEST); - constexpr cItemEnderPearlHandler ItemEnderPearlHandler (E_ITEM_ENDER_PEARL); - constexpr cDefaultItemHandler ItemEndGatewayHandler (E_BLOCK_END_GATEWAY); - constexpr cDefaultItemHandler ItemEndPortalBlockHandler (E_BLOCK_END_PORTAL); - constexpr cItemEndPortalFrameHandler ItemEndPortalFrameHandler (E_BLOCK_END_PORTAL_FRAME); - constexpr cDefaultItemHandler ItemEndRodHandler (E_BLOCK_END_ROD); - constexpr cDefaultItemHandler ItemEndStoneBlockHandler (E_BLOCK_END_STONE); - constexpr cItemEyeOfEnderHandler ItemEyeOfEnderHandler (E_ITEM_EYE_OF_ENDER); - constexpr cDefaultItemHandler ItemFarDiscHandler (E_ITEM_FAR_DISC); - constexpr cDefaultItemHandler ItemFarmlandHandler (E_BLOCK_FARMLAND); - constexpr cDefaultItemHandler ItemFeatherHandler (E_ITEM_FEATHER); - constexpr cDefaultItemHandler ItemFermentedSpiderEyeHandler (E_ITEM_FERMENTED_SPIDER_EYE); - constexpr cDefaultItemHandler ItemFireBlockHandler (E_BLOCK_FIRE); - constexpr cItemLighterHandler ItemFireChargeHandler (E_ITEM_FIRE_CHARGE); - constexpr cItemFireworkHandler ItemFireworkRocketHandler (E_ITEM_FIREWORK_ROCKET); - constexpr cDefaultItemHandler ItemFireworkStarHandler (E_ITEM_FIREWORK_STAR); - constexpr cItemFishingRodHandler ItemFishingRodHandler (E_ITEM_FISHING_ROD); - constexpr cItemLighterHandler ItemFlintAndSteelHandler (E_ITEM_FLINT_AND_STEEL); - constexpr cDefaultItemHandler ItemFlintHandler (E_ITEM_FLINT); - constexpr cDefaultItemHandler ItemFlowerPotBlockHandler (E_BLOCK_FLOWER_POT); - constexpr cSimplePlaceableItemHandler ItemFlowerPotHandler (E_ITEM_FLOWER_POT, E_BLOCK_FLOWER_POT); - constexpr cDefaultItemHandler ItemFrostedIceHandler (E_BLOCK_FROSTED_ICE); - constexpr cItemFurnaceHandler ItemFurnaceHandler (E_BLOCK_FURNACE); - constexpr cItemMinecartHandler ItemFurnaceMinecartHandler (E_ITEM_FURNACE_MINECART); - constexpr cDefaultItemHandler ItemGhastTearHandler (E_ITEM_GHAST_TEAR); - constexpr cItemBottleHandler ItemGlassBottleHandler (E_ITEM_GLASS_BOTTLE); - constexpr cDefaultItemHandler ItemGlassHandler (E_BLOCK_GLASS); - constexpr cDefaultItemHandler ItemGlassPaneHandler (E_BLOCK_GLASS_PANE); - constexpr cDefaultItemHandler ItemGlisteringMelonHandler (E_ITEM_GLISTERING_MELON); - constexpr cDefaultItemHandler ItemGlowstoneBlockHandler (E_BLOCK_GLOWSTONE); - constexpr cDefaultItemHandler ItemGlowstoneDustHandler (E_ITEM_GLOWSTONE_DUST); - constexpr cDefaultItemHandler ItemGoldBlockHandler (E_BLOCK_GOLD_BLOCK); - constexpr cItemGoldenAppleHandler ItemGoldenAppleHandler (E_ITEM_GOLDEN_APPLE); - constexpr cItemAxeHandler ItemGoldenAxeHandler (E_ITEM_GOLD_AXE); - constexpr cItemArmorHandler ItemGoldenBootsHandler (E_ITEM_GOLD_BOOTS); - constexpr cItemSimpleFoodHandler ItemGoldenCarrotHandler (E_ITEM_GOLDEN_CARROT, cItemHandler::FoodInfo(6, 14.4)); - constexpr cItemArmorHandler ItemGoldenChestplateHandler (E_ITEM_GOLD_CHESTPLATE); - constexpr cItemArmorHandler ItemGoldenHelmetHandler (E_ITEM_GOLD_HELMET); - constexpr cItemHoeHandler ItemGoldenHoeHandler (E_ITEM_GOLD_HOE); - constexpr cDefaultItemHandler ItemGoldenHorseArmorHandler (E_ITEM_GOLD_HORSE_ARMOR); - constexpr cItemArmorHandler ItemGoldenLeggingsHandler (E_ITEM_GOLD_LEGGINGS); - constexpr cItemPickaxeHandler ItemGoldenPickaxeHandler (E_ITEM_GOLD_PICKAXE); - constexpr cItemShovelHandler ItemGoldenShovelHandler (E_ITEM_GOLD_SHOVEL); - constexpr cItemSwordHandler ItemGoldenSwordHandler (E_ITEM_GOLD_SWORD); - constexpr cDefaultItemHandler ItemGoldHandler (E_ITEM_GOLD); - constexpr cDefaultItemHandler ItemGoldNuggetHandler (E_ITEM_GOLD_NUGGET); - constexpr cDefaultItemHandler ItemGoldOreHandler (E_BLOCK_GOLD_ORE); - constexpr cDefaultItemHandler ItemGrassBlockHandler (E_BLOCK_GRASS); - constexpr cDefaultItemHandler ItemGrassPathHandler (E_BLOCK_GRASS_PATH); - constexpr cDefaultItemHandler ItemGravelHandler (E_BLOCK_GRAVEL); - constexpr cItemGlazedTerracottaHandler ItemGrayGlazedTerracottaHandler (E_BLOCK_GRAY_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemGrayShulkerBoxHandler (E_BLOCK_GRAY_SHULKER_BOX); - constexpr cItemGlazedTerracottaHandler ItemGreenGlazedTerracottaHandler (E_BLOCK_GREEN_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemGreenShulkerBoxHandler (E_BLOCK_GREEN_SHULKER_BOX); - constexpr cDefaultItemHandler ItemGunpowderHandler (E_ITEM_GUNPOWDER); - constexpr cDefaultItemHandler ItemHardenedClayHandler (E_BLOCK_HARDENED_CLAY); - constexpr cItemSidewaysHandler ItemHayBaleHandler (E_BLOCK_HAY_BALE); - constexpr cDefaultItemHandler ItemHeadBlockHandler (E_BLOCK_HEAD); - constexpr cItemMobHeadHandler ItemHeadHandler (E_ITEM_HEAD); - constexpr cDefaultItemHandler ItemHeavyWeightedPressurePlateHandler (E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE); - constexpr cItemHopperHandler ItemHopperHandler (E_BLOCK_HOPPER); - constexpr cDefaultItemHandler ItemHugeBrownMushroomBlockHandler (E_BLOCK_HUGE_BROWN_MUSHROOM); - constexpr cDefaultItemHandler ItemHugeRedMushroomBlockHandler (E_BLOCK_HUGE_RED_MUSHROOM); - constexpr cDefaultItemHandler ItemIceHandler (E_BLOCK_ICE); - constexpr cDefaultItemHandler ItemInactiveComparatorHandler (E_BLOCK_INACTIVE_COMPARATOR); - constexpr cDefaultItemHandler ItemInvertedDaylightSensorHandler (E_BLOCK_INVERTED_DAYLIGHT_SENSOR); - constexpr cItemAxeHandler ItemIronAxeHandler (E_ITEM_IRON_AXE); - constexpr cDefaultItemHandler ItemIronBarsBlockHandler (E_BLOCK_IRON_BARS); - constexpr cDefaultItemHandler ItemIronBlockHandler (E_BLOCK_IRON_BLOCK); - constexpr cItemArmorHandler ItemIronBootsHandler (E_ITEM_IRON_BOOTS); - constexpr cItemArmorHandler ItemIronChestplateHandler (E_ITEM_IRON_CHESTPLATE); - constexpr cDefaultItemHandler ItemIronDoorBlockHandler (E_BLOCK_IRON_DOOR); - constexpr cItemDoorHandler ItemIronDoorHandler (E_ITEM_IRON_DOOR); - constexpr cDefaultItemHandler ItemIronHandler (E_ITEM_IRON); - constexpr cItemArmorHandler ItemIronHelmetHandler (E_ITEM_IRON_HELMET); - constexpr cItemHoeHandler ItemIronHoeHandler (E_ITEM_IRON_HOE); - constexpr cDefaultItemHandler ItemIronHorseArmorHandler (E_ITEM_IRON_HORSE_ARMOR); - constexpr cItemArmorHandler ItemIronLeggingsHandler (E_ITEM_IRON_LEGGINGS); - constexpr cDefaultItemHandler ItemIronNuggetHandler (E_ITEM_IRON_NUGGET); - constexpr cDefaultItemHandler ItemIronOreHandler (E_BLOCK_IRON_ORE); - constexpr cItemPickaxeHandler ItemIronPickaxeHandler (E_ITEM_IRON_PICKAXE); - constexpr cItemShovelHandler ItemIronShovelHandler (E_ITEM_IRON_SHOVEL); - constexpr cItemSwordHandler ItemIronSwordHandler (E_ITEM_IRON_SWORD); - constexpr cItemTrapdoorHandler ItemIronTrapdoorHandler (E_BLOCK_IRON_TRAPDOOR); - constexpr cItemItemFrameHandler ItemItemFrameHandler (E_ITEM_ITEM_FRAME); - constexpr cItemJackOLanternHandler ItemJackOLanternHandler (E_BLOCK_JACK_O_LANTERN); - constexpr cDefaultItemHandler ItemJukeboxHandler (E_BLOCK_JUKEBOX); - constexpr cItemBoatHandler ItemJungleBoatHandler (E_ITEM_JUNGLE_BOAT); - constexpr cDefaultItemHandler ItemJungleDoorBlockHandler (E_BLOCK_JUNGLE_DOOR); - constexpr cItemDoorHandler ItemJungleDoorHandler (E_ITEM_JUNGLE_DOOR); - constexpr cItemFenceGateHandler ItemJungleFenceGateHandler (E_BLOCK_JUNGLE_FENCE_GATE); - constexpr cDefaultItemHandler ItemJungleFenceHandler (E_BLOCK_JUNGLE_FENCE); - constexpr cItemStairsHandler ItemJungleStairsHandler (E_BLOCK_JUNGLE_WOOD_STAIRS); - constexpr cItemLadderHandler ItemLadderHandler (E_BLOCK_LADDER); - constexpr cDefaultItemHandler ItemLapisBlockHandler (E_BLOCK_LAPIS_BLOCK); - constexpr cDefaultItemHandler ItemLapisOreHandler (E_BLOCK_LAPIS_ORE); - constexpr cItemBucketHandler ItemLavaBucketHandler (E_ITEM_LAVA_BUCKET); - constexpr cDefaultItemHandler ItemLavaHandler (E_BLOCK_LAVA); - constexpr cDefaultItemHandler ItemLeashHandler (E_ITEM_LEAD); - constexpr cItemArmorHandler ItemLeatherBootsHandler (E_ITEM_LEATHER_BOOTS); - constexpr cItemArmorHandler ItemLeatherCapHandler (E_ITEM_LEATHER_CAP); - constexpr cDefaultItemHandler ItemLeatherHandler (E_ITEM_LEATHER); - constexpr cItemArmorHandler ItemLeatherPantsHandler (E_ITEM_LEATHER_PANTS); - constexpr cItemArmorHandler ItemLeatherTunicHandler (E_ITEM_LEATHER_TUNIC); - constexpr cItemLeavesHandler ItemLeavesHandler (E_BLOCK_LEAVES); - constexpr cItemLeverHandler ItemLeverHandler (E_BLOCK_LEVER); - constexpr cItemGlazedTerracottaHandler ItemLightBlueGlazedTerracottaHandler (E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemLightBlueShulkerBoxHandler (E_BLOCK_LIGHT_BLUE_SHULKER_BOX); - constexpr cItemGlazedTerracottaHandler ItemLightGrayGlazedTerracottaHandler (E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemLightGrayShulkerBoxHandler (E_BLOCK_LIGHT_GRAY_SHULKER_BOX); - constexpr cDefaultItemHandler ItemLightWeightedPressurePlateHandler (E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE); - constexpr cItemLilypadHandler ItemLilypadHandler (E_BLOCK_LILY_PAD); - constexpr cItemGlazedTerracottaHandler ItemLimeGlazedTerracottaHandler (E_BLOCK_LIME_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemLimeShulkerBoxHandler (E_BLOCK_LIME_SHULKER_BOX); - constexpr cItemPotionHandler ItemLingeringPotionHandler (E_ITEM_LINGERING_POTION); - constexpr cDefaultItemHandler ItemLitFurnaceHandler (E_BLOCK_LIT_FURNACE); - constexpr cItemSidewaysHandler ItemLogHandler (E_BLOCK_LOG); - constexpr cItemGlazedTerracottaHandler ItemMagentaGlazedTerracottaHandler (E_BLOCK_MAGENTA_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemMagentaShulkerBoxHandler (E_BLOCK_MAGENTA_SHULKER_BOX); - constexpr cDefaultItemHandler ItemMagmaBlockHandler (E_BLOCK_MAGMA); - constexpr cDefaultItemHandler ItemMagmaCreamHandler (E_ITEM_MAGMA_CREAM); - constexpr cDefaultItemHandler ItemMallDiscHandler (E_ITEM_MALL_DISC); - constexpr cItemMapHandler ItemMapHandler (E_ITEM_MAP); - constexpr cDefaultItemHandler ItemMellohiDiscHandler (E_ITEM_MELLOHI_DISC); - constexpr cDefaultItemHandler ItemMelonBlockHandler (E_BLOCK_MELON); - constexpr cItemSimpleSeedsHandler ItemMelonSeedsHandler (E_ITEM_MELON_SEEDS); - constexpr cItemSimpleFoodHandler ItemMelonSliceHandler (E_ITEM_MELON_SLICE, cItemHandler::FoodInfo(2, 1.2)); - constexpr cDefaultItemHandler ItemMelonStemHandler (E_BLOCK_MELON_STEM); - constexpr cItemMilkHandler ItemMilkHandler (E_ITEM_MILK); - constexpr cItemMinecartHandler ItemMinecartHandler (E_ITEM_MINECART); - constexpr cItemMinecartHandler ItemMinecartWithCommandBlockHandler (E_ITEM_MINECART_WITH_COMMAND_BLOCK); - constexpr cItemMinecartHandler ItemMinecartWithHopperHandler (E_ITEM_MINECART_WITH_HOPPER); - constexpr cItemMinecartHandler ItemMinecartWithTNTHandler (E_ITEM_MINECART_WITH_TNT); - constexpr cDefaultItemHandler ItemMobSpawnerBlockHandler (E_BLOCK_MOB_SPAWNER); - constexpr cDefaultItemHandler ItemMossyCobblestoneHandler (E_BLOCK_MOSSY_COBBLESTONE); - constexpr cItemSoupHandler ItemMushroomSoupHandler (E_ITEM_MUSHROOM_SOUP, cItemHandler::FoodInfo(6, 7.2)); - constexpr cDefaultItemHandler ItemMyceliumHandler (E_BLOCK_MYCELIUM); - constexpr cDefaultItemHandler ItemNameTagHandler (E_ITEM_NAME_TAG); - constexpr cDefaultItemHandler ItemNetherBrickFenceHandler (E_BLOCK_NETHER_BRICK_FENCE); - constexpr cDefaultItemHandler ItemNetherBrickHandler (E_ITEM_NETHER_BRICK); - constexpr cDefaultItemHandler ItemNetherBricksHandler (E_BLOCK_NETHER_BRICK); - constexpr cItemStairsHandler ItemNetherBrickStairsHandler (E_BLOCK_NETHER_BRICK_STAIRS); - constexpr cDefaultItemHandler ItemNetherPortalBlockHandler (E_BLOCK_NETHER_PORTAL); - constexpr cDefaultItemHandler ItemNetherQuartzHandler (E_ITEM_NETHER_QUARTZ); - constexpr cDefaultItemHandler ItemNetherQuartzOreHandler (E_BLOCK_NETHER_QUARTZ_ORE); - constexpr cDefaultItemHandler ItemNetherrackHandler (E_BLOCK_NETHERRACK); - constexpr cDefaultItemHandler ItemNetherStarHandler (E_ITEM_NETHER_STAR); - constexpr cDefaultItemHandler ItemNetherWartBlockHandler (E_BLOCK_NETHER_WART_BLOCK); - constexpr cItemNetherWartHandler ItemNetherWartHandler (E_ITEM_NETHER_WART); - constexpr cDefaultItemHandler ItemNetherWartTechnicalBlockHandler (E_BLOCK_NETHER_WART); - constexpr cItemLeavesHandler ItemNewLeavesHandler (E_BLOCK_NEW_LEAVES); - constexpr cItemSidewaysHandler ItemNewLogHandler (E_BLOCK_NEW_LOG); - constexpr cDefaultItemHandler ItemNoteBlockHandler (E_BLOCK_NOTE_BLOCK); - constexpr cItemBoatHandler ItemOakBoatHandler (E_ITEM_BOAT); - constexpr cItemButtonHandler ItemOakButtonHandler (E_BLOCK_WOODEN_BUTTON); - constexpr cDefaultItemHandler ItemOakDoorBlockHandler (E_BLOCK_OAK_DOOR); - constexpr cItemDoorHandler ItemOakDoorHandler (E_ITEM_WOODEN_DOOR); - constexpr cItemFenceGateHandler ItemOakFenceGateHandler (E_BLOCK_OAK_FENCE_GATE); - constexpr cDefaultItemHandler ItemOakFenceHandler (E_BLOCK_FENCE); - constexpr cItemSlabHandler ItemOakSlabHandler (E_BLOCK_WOODEN_SLAB); - constexpr cItemStairsHandler ItemOakStairsHandler (E_BLOCK_OAK_WOOD_STAIRS); - constexpr cItemTrapdoorHandler ItemOakTrapdoorHandler (E_BLOCK_TRAPDOOR); - constexpr cItemObserverHandler ItemObserverHandler (E_BLOCK_OBSERVER); - constexpr cDefaultItemHandler ItemObsidianHandler (E_BLOCK_OBSIDIAN); - constexpr cItemGlazedTerracottaHandler ItemOrangeGlazedTerracottaHandler (E_BLOCK_ORANGE_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemOrangeShulkerBoxHandler (E_BLOCK_ORANGE_SHULKER_BOX); - constexpr cDefaultItemHandler ItemPackedIceHandler (E_BLOCK_PACKED_ICE); - constexpr cItemPaintingHandler ItemPaintingHandler (E_ITEM_PAINTING); - constexpr cDefaultItemHandler ItemPaperHandler (E_ITEM_PAPER); - constexpr cItemGlazedTerracottaHandler ItemPinkGlazedTerracottaHandler (E_BLOCK_PINK_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemPinkShulkerBoxHandler (E_BLOCK_PINK_SHULKER_BOX); - constexpr cDefaultItemHandler ItemPistonExtensionHandler (E_BLOCK_PISTON_EXTENSION); - constexpr cItemPistonHandler ItemPistonHandler (E_BLOCK_PISTON); - constexpr cDefaultItemHandler ItemPistonMovedBlockHandler (E_BLOCK_PISTON_MOVED_BLOCK); - constexpr cItemPlanksHandler ItemPlanksHandler (E_BLOCK_PLANKS); - constexpr cItemPoisonousPotatoHandler ItemPoisonousPotatoHandler (E_ITEM_POISONOUS_POTATO); - constexpr cDefaultItemHandler ItemPoppedChorusFruitHandler (E_ITEM_POPPED_CHORUS_FRUIT); - constexpr cDefaultItemHandler ItemPoppyHandler (E_BLOCK_FLOWER); - constexpr cDefaultItemHandler ItemPotatoesBlockHandler (E_BLOCK_POTATOES); - constexpr cItemFoodSeedsHandler ItemPotatoHandler (E_ITEM_POTATO, cItemHandler::FoodInfo(1, 0.6)); - constexpr cItemPotionHandler ItemPotionHandler (E_ITEM_POTION); - constexpr cItemRailHandler ItemPoweredRailHandler (E_BLOCK_POWERED_RAIL); - constexpr cDefaultItemHandler ItemPrismarineBlockHandler (E_BLOCK_PRISMARINE_BLOCK); - constexpr cDefaultItemHandler ItemPrismarineCrystalsHandler (E_ITEM_PRISMARINE_CRYSTALS); - constexpr cDefaultItemHandler ItemPrismarineShardHandler (E_ITEM_PRISMARINE_SHARD); - constexpr cItemPumpkinHandler ItemPumpkinHandler (E_BLOCK_PUMPKIN); - constexpr cItemSimpleFoodHandler ItemPumpkinPieHandler (E_ITEM_PUMPKIN_PIE, cItemHandler::FoodInfo(8, 4.8)); - constexpr cItemSimpleSeedsHandler ItemPumpkinSeedsHandler (E_ITEM_PUMPKIN_SEEDS); - constexpr cDefaultItemHandler ItemPumpkinStemHandler (E_BLOCK_PUMPKIN_STEM); - constexpr cItemGlazedTerracottaHandler ItemPurpleGlazedTerracottaHandler (E_BLOCK_PURPLE_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemPurpleShulkerBoxHandler (E_BLOCK_PURPLE_SHULKER_BOX); - constexpr cDefaultItemHandler ItemPurpurBlockHandler (E_BLOCK_PURPUR_BLOCK); - constexpr cDefaultItemHandler ItemPurpurDoubleSlabHandler (E_BLOCK_PURPUR_DOUBLE_SLAB); - constexpr cDefaultItemHandler ItemPurpurPillarHandler (E_BLOCK_PURPUR_PILLAR); - constexpr cItemSlabHandler ItemPurpurSlabHandler (E_BLOCK_PURPUR_SLAB); - constexpr cItemStairsHandler ItemPurpurStairsHandler (E_BLOCK_PURPUR_STAIRS); - constexpr cItemQuartzHandler ItemQuartzBlockHandler (E_BLOCK_QUARTZ_BLOCK); - constexpr cItemStairsHandler ItemQuartzStairsHandler (E_BLOCK_QUARTZ_STAIRS); - constexpr cDefaultItemHandler ItemRabbitHideHandler (E_ITEM_RABBIT_HIDE); - constexpr cDefaultItemHandler ItemRabbitsFootHandler (E_ITEM_RABBITS_FOOT); - constexpr cItemSoupHandler ItemRabbitStewHandler (E_ITEM_RABBIT_STEW, cItemHandler::FoodInfo(10, 12)); - constexpr cItemRailHandler ItemRailHandler (E_BLOCK_RAIL); - constexpr cItemSimpleFoodHandler ItemRawBeefHandler (E_ITEM_RAW_BEEF, cItemHandler::FoodInfo(3, 1.8)); - constexpr cItemRawChickenHandler ItemRawChickenHandler (E_ITEM_RAW_CHICKEN); - constexpr cItemRawFishHandler ItemRawFishHandler (E_ITEM_RAW_FISH); - constexpr cItemSimpleFoodHandler ItemRawMuttonHandler (E_ITEM_RAW_MUTTON, cItemHandler::FoodInfo(2, 1.2)); - constexpr cItemSimpleFoodHandler ItemRawPorkchopHandler (E_ITEM_RAW_PORKCHOP, cItemHandler::FoodInfo(3, 1.8)); - constexpr cItemSimpleFoodHandler ItemRawRabbitHandler (E_ITEM_RAW_RABBIT, cItemHandler::FoodInfo(3, 1.8)); - constexpr cItemGlazedTerracottaHandler ItemRedGlazedTerracottaHandler (E_BLOCK_RED_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemRedMushroomBlockHandler (E_BLOCK_RED_MUSHROOM); - constexpr cDefaultItemHandler ItemRedNetherBricksHandler (E_BLOCK_RED_NETHER_BRICK); - constexpr cDefaultItemHandler ItemRedSandstoneHandler (E_BLOCK_RED_SANDSTONE); - constexpr cItemSlabHandler ItemRedSandstoneSlabHandler (E_BLOCK_RED_SANDSTONE_SLAB); - constexpr cItemStairsHandler ItemRedSandstoneStairsHandler (E_BLOCK_RED_SANDSTONE_STAIRS); - constexpr cDefaultItemHandler ItemRedShulkerBoxHandler (E_BLOCK_RED_SHULKER_BOX); - constexpr cDefaultItemHandler ItemRedstoneBlockHandler (E_BLOCK_BLOCK_OF_REDSTONE); - constexpr cItemRedstoneDustHandler ItemRedstoneDustHandler (E_ITEM_REDSTONE_DUST); - constexpr cDefaultItemHandler ItemRedstoneLampOffHandler (E_BLOCK_REDSTONE_LAMP_OFF); - constexpr cDefaultItemHandler ItemRedstoneLampOnHandler (E_BLOCK_REDSTONE_LAMP_ON); - constexpr cDefaultItemHandler ItemRedstoneOreGlowingHandler (E_BLOCK_REDSTONE_ORE_GLOWING); - constexpr cDefaultItemHandler ItemRedstoneOreHandler (E_BLOCK_REDSTONE_ORE); - constexpr cItemRedstoneRepeaterHandler ItemRedstoneRepeaterHandler (E_ITEM_REDSTONE_REPEATER); - constexpr cDefaultItemHandler ItemRedstoneRepeaterOffHandler (E_BLOCK_REDSTONE_REPEATER_OFF); - constexpr cDefaultItemHandler ItemRedstoneRepeaterOnHandler (E_BLOCK_REDSTONE_REPEATER_ON); - constexpr cItemTorchHandler ItemRedstoneTorchHandler (E_BLOCK_REDSTONE_TORCH_ON); - constexpr cDefaultItemHandler ItemRedstoneTorchOffBlockHandler (E_BLOCK_REDSTONE_TORCH_OFF); - constexpr cDefaultItemHandler ItemRedstoneWireHandler (E_BLOCK_REDSTONE_WIRE); - constexpr cDefaultItemHandler ItemRepeatingCommandBlockHandler (E_BLOCK_REPEATING_COMMAND_BLOCK); - constexpr cItemRottenFleshHandler ItemRottenFleshHandler (E_ITEM_ROTTEN_FLESH); - constexpr cDefaultItemHandler ItemSaddleHandler (E_ITEM_SADDLE); - constexpr cDefaultItemHandler ItemSandHandler (E_BLOCK_SAND); - constexpr cDefaultItemHandler ItemSandstoneHandler (E_BLOCK_SANDSTONE); - constexpr cItemStairsHandler ItemSandstoneStairsHandler (E_BLOCK_SANDSTONE_STAIRS); - constexpr cItemSaplingHandler ItemSaplingHandler (E_BLOCK_SAPLING); - constexpr cDefaultItemHandler ItemSeaLanternHandler (E_BLOCK_SEA_LANTERN); - constexpr cItemSimpleSeedsHandler ItemSeedsHandler (E_ITEM_SEEDS); - constexpr cItemShearsHandler ItemShearsHandler (E_ITEM_SHEARS); - constexpr cDefaultItemHandler ItemShieldHandler (E_ITEM_SHIELD); - constexpr cDefaultItemHandler ItemShulkerShellHandler (E_ITEM_SHULKER_SHELL); - constexpr cItemSignHandler ItemSignHandler (E_ITEM_SIGN); - constexpr cDefaultItemHandler ItemSignPostHandler (E_BLOCK_SIGN_POST); - constexpr cDefaultItemHandler ItemSilverfishEggBlockHandler (E_BLOCK_SILVERFISH_EGG); - constexpr cDefaultItemHandler ItemSlimeballHandler (E_ITEM_SLIMEBALL); - constexpr cDefaultItemHandler ItemSlimeBlockHandler (E_BLOCK_SLIME_BLOCK); - constexpr cItemSnowballHandler ItemSnowballHandler (E_ITEM_SNOWBALL); - constexpr cDefaultItemHandler ItemSnowBlockHandler (E_BLOCK_SNOW_BLOCK); - constexpr cItemSnowHandler ItemSnowHandler (E_BLOCK_SNOW); - constexpr cDefaultItemHandler ItemSoulsandHandler (E_BLOCK_SOULSAND); - constexpr cItemSpawnEggHandler ItemSpawnEggHandler (E_ITEM_SPAWN_EGG); - constexpr cDefaultItemHandler ItemSpectralArrowHandler (E_ITEM_SPECTRAL_ARROW); - constexpr cItemSpiderEyeHandler ItemSpiderEyeHandler (E_ITEM_SPIDER_EYE); - constexpr cItemPotionHandler ItemSplashPotionHandler (E_ITEM_SPLASH_POTION); - constexpr cDefaultItemHandler ItemSpongeHandler (E_BLOCK_SPONGE); - constexpr cItemBoatHandler ItemSpruceBoatHandler (E_ITEM_SPRUCE_BOAT); - constexpr cDefaultItemHandler ItemSpruceDoorBlockHandler (E_BLOCK_SPRUCE_DOOR); - constexpr cItemDoorHandler ItemSpruceDoorHandler (E_ITEM_SPRUCE_DOOR); - constexpr cItemFenceGateHandler ItemSpruceFenceGateHandler (E_BLOCK_SPRUCE_FENCE_GATE); - constexpr cDefaultItemHandler ItemSpruceFenceHandler (E_BLOCK_SPRUCE_FENCE); - constexpr cItemStairsHandler ItemSpruceStairsHandler (E_BLOCK_SPRUCE_WOOD_STAIRS); - constexpr cDefaultItemHandler ItemStainedGlassHandler (E_BLOCK_STAINED_GLASS); - constexpr cDefaultItemHandler ItemStainedGlassPaneHandler (E_BLOCK_STAINED_GLASS_PANE); - constexpr cDefaultItemHandler ItemStalDiscHandler (E_ITEM_STAL_DISC); - constexpr cDefaultItemHandler ItemStandingBannerHandler (E_BLOCK_STANDING_BANNER); - constexpr cDefaultItemHandler ItemStationaryLavaHandler (E_BLOCK_STATIONARY_LAVA); - constexpr cDefaultItemHandler ItemStationaryWaterHandler (E_BLOCK_STATIONARY_WATER); - constexpr cDefaultItemHandler ItemStickHandler (E_ITEM_STICK); - constexpr cItemPistonHandler ItemStickyPistonHandler (E_BLOCK_STICKY_PISTON); - constexpr cItemAxeHandler ItemStoneAxeHandler (E_ITEM_STONE_AXE); - constexpr cDefaultItemHandler ItemStoneBricksHandler (E_BLOCK_STONE_BRICKS); - constexpr cItemStairsHandler ItemStoneBrickStairsHandler (E_BLOCK_STONE_BRICK_STAIRS); - constexpr cItemButtonHandler ItemStoneButtonHandler (E_BLOCK_STONE_BUTTON); - constexpr cDefaultItemHandler ItemStoneHandler (E_BLOCK_STONE); - constexpr cItemHoeHandler ItemStoneHoeHandler (E_ITEM_STONE_HOE); - constexpr cItemPickaxeHandler ItemStonePickaxeHandler (E_ITEM_STONE_PICKAXE); - constexpr cDefaultItemHandler ItemStonePressurePlateHandler (E_BLOCK_STONE_PRESSURE_PLATE); - constexpr cItemShovelHandler ItemStoneShovelHandler (E_ITEM_STONE_SHOVEL); - constexpr cItemSlabHandler ItemStoneSlabHandler (E_BLOCK_STONE_SLAB); - constexpr cItemSwordHandler ItemStoneSwordHandler (E_ITEM_STONE_SWORD); - constexpr cDefaultItemHandler ItemStradDiscHandler (E_ITEM_STRAD_DISC); - constexpr cSimplePlaceableItemHandler ItemStringHandler (E_ITEM_STRING, E_BLOCK_TRIPWIRE); - constexpr cDefaultItemHandler ItemStructureBlockHandler (E_BLOCK_STRUCTURE_BLOCK); - constexpr cDefaultItemHandler ItemStructureVoidHandler (E_BLOCK_STRUCTURE_VOID); - constexpr cDefaultItemHandler ItemSugarCaneBlockHandler (E_BLOCK_SUGARCANE); - constexpr cSimplePlaceableItemHandler ItemSugarCaneHandler (E_ITEM_SUGARCANE, E_BLOCK_SUGARCANE); - constexpr cDefaultItemHandler ItemSugarHandler (E_ITEM_SUGAR); - constexpr cDefaultItemHandler ItemTallGrassHandler (E_BLOCK_TALL_GRASS); - constexpr cDefaultItemHandler ItemTerracottaHandler (E_BLOCK_TERRACOTTA); - constexpr cDefaultItemHandler ItemTippedArrowHandler (E_ITEM_TIPPED_ARROW); - constexpr cDefaultItemHandler ItemTNTHandler (E_BLOCK_TNT); - constexpr cItemTorchHandler ItemTorchHandler (E_BLOCK_TORCH); - constexpr cDefaultItemHandler ItemTotemOfUndyingHandler (E_ITEM_TOTEM_OF_UNDYING); - constexpr cItemChestHandler ItemTrappedChestHandler (E_BLOCK_TRAPPED_CHEST); - constexpr cDefaultItemHandler ItemTripwireHandler (E_BLOCK_TRIPWIRE); - constexpr cItemTripwireHookHandler ItemTripwireHookHandler (E_BLOCK_TRIPWIRE_HOOK); - constexpr cItemVinesHandler ItemVinesHandler (E_BLOCK_VINES); - constexpr cDefaultItemHandler ItemWaitDiscHandler (E_ITEM_WAIT_DISC); - constexpr cDefaultItemHandler ItemWallBannerHandler (E_BLOCK_WALL_BANNER); - constexpr cDefaultItemHandler ItemWallsignHandler (E_BLOCK_WALLSIGN); - constexpr cDefaultItemHandler ItemWardDiscHandler (E_ITEM_WARD_DISC); - constexpr cItemBucketHandler ItemWaterBucketHandler (E_ITEM_WATER_BUCKET); - constexpr cDefaultItemHandler ItemWaterHandler (E_BLOCK_WATER); - constexpr cDefaultItemHandler ItemWheatBlockHandler (E_BLOCK_WHEAT); - constexpr cDefaultItemHandler ItemWheatHandler (E_ITEM_WHEAT); - constexpr cItemGlazedTerracottaHandler ItemWhiteGlazedTerracottaHandler (E_BLOCK_WHITE_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemWhiteShulkerBoxHandler (E_BLOCK_WHITE_SHULKER_BOX); - constexpr cItemAxeHandler ItemWoodenAxeHandler (E_ITEM_WOODEN_AXE); - constexpr cItemHoeHandler ItemWoodenHoeHandler (E_ITEM_WOODEN_HOE); - constexpr cItemPickaxeHandler ItemWoodenPickaxeHandler (E_ITEM_WOODEN_PICKAXE); - constexpr cDefaultItemHandler ItemWoodenPressurePlateHandler (E_BLOCK_WOODEN_PRESSURE_PLATE); - constexpr cItemShovelHandler ItemWoodenShovelHandler (E_ITEM_WOODEN_SHOVEL); - constexpr cItemSwordHandler ItemWoodenSwordHandler (E_ITEM_WOODEN_SWORD); - constexpr cItemClothHandler ItemWoolHandler (E_BLOCK_WOOL); - constexpr cDefaultItemHandler ItemWorkbenchHandler (E_BLOCK_WORKBENCH); - constexpr cDefaultItemHandler ItemWrittenBookHandler (E_ITEM_WRITTEN_BOOK); - constexpr cItemGlazedTerracottaHandler ItemYellowGlazedTerracottaHandler (E_BLOCK_YELLOW_GLAZED_TERRACOTTA); - constexpr cDefaultItemHandler ItemYellowShulkerBoxHandler (E_BLOCK_YELLOW_SHULKER_BOX); -} +constexpr cDefaultItemHandler Item11DiscHandler(E_ITEM_11_DISC); +constexpr cDefaultItemHandler Item13DiscHandler(E_ITEM_13_DISC); +constexpr cItemBoatHandler ItemAcaciaBoatHandler(E_ITEM_ACACIA_BOAT); +constexpr cDefaultItemHandler ItemAcaciaDoorBlockHandler(E_BLOCK_ACACIA_DOOR); +constexpr cItemDoorHandler ItemAcaciaDoorHandler(E_ITEM_ACACIA_DOOR); +constexpr cItemFenceGateHandler ItemAcaciaFenceGateHandler(E_BLOCK_ACACIA_FENCE_GATE); +constexpr cDefaultItemHandler ItemAcaciaFenceHandler(E_BLOCK_ACACIA_FENCE); +constexpr cItemStairsHandler ItemAcaciaStairsHandler(E_BLOCK_ACACIA_WOOD_STAIRS); +constexpr cItemRailHandler ItemActivatorRailHandler(E_BLOCK_ACTIVATOR_RAIL); +constexpr cDefaultItemHandler ItemActiveComparatorHandler(E_BLOCK_ACTIVE_COMPARATOR); +constexpr cDefaultItemHandler ItemAirHandler(E_BLOCK_AIR); +constexpr cItemAnvilHandler ItemAnvilHandler(E_BLOCK_ANVIL); +constexpr cItemSimpleFoodHandler ItemAppleHandler(E_ITEM_RED_APPLE, cItemHandler::FoodInfo(4, 2.4)); +constexpr cDefaultItemHandler ItemArmorStandHandler(E_ITEM_ARMOR_STAND); +constexpr cDefaultItemHandler ItemArrowHandler(E_ITEM_ARROW); +constexpr cItemSimpleFoodHandler ItemBakedPotatoHandler(E_ITEM_BAKED_POTATO, cItemHandler::FoodInfo(5, 6)); +constexpr cItemBannerHandler ItemBannerHandler(E_ITEM_BANNER); +constexpr cDefaultItemHandler ItemBarrierHandler(E_BLOCK_BARRIER); +constexpr cDefaultItemHandler ItemBeaconHandler(E_BLOCK_BEACON); +constexpr cDefaultItemHandler ItemBedBlockHandler(E_BLOCK_BED); +constexpr cItemBedHandler ItemBedHandler(E_ITEM_BED); +constexpr cDefaultItemHandler ItemBedrockHandler(E_BLOCK_BEDROCK); +constexpr cItemSimpleFoodHandler ItemBeetrootHandler(E_ITEM_BEETROOT, cItemHandler::FoodInfo(1, 1.2)); +constexpr cDefaultItemHandler ItemBeetrootsBlockHandler(E_BLOCK_BEETROOTS); +constexpr cItemSimpleSeedsHandler ItemBeetrootSeedsHandler(E_ITEM_BEETROOT_SEEDS); +constexpr cItemSoupHandler ItemBeetrootSoupHandler(E_ITEM_BEETROOT_SOUP, cItemHandler::FoodInfo(6, 7.2)); +constexpr cItemBigFlowerHandler ItemBigFlowerHandler(E_BLOCK_BIG_FLOWER); +constexpr cItemBoatHandler ItemBirchBoatHandler(E_ITEM_BIRCH_BOAT); +constexpr cDefaultItemHandler ItemBirchDoorBlockHandler(E_BLOCK_BIRCH_DOOR); +constexpr cItemDoorHandler ItemBirchDoorHandler(E_ITEM_BIRCH_DOOR); +constexpr cItemFenceGateHandler ItemBirchFenceGateHandler(E_BLOCK_BIRCH_FENCE_GATE); +constexpr cDefaultItemHandler ItemBirchFenceHandler(E_BLOCK_BIRCH_FENCE); +constexpr cItemStairsHandler ItemBirchStairsHandler(E_BLOCK_BIRCH_WOOD_STAIRS); +constexpr cItemGlazedTerracottaHandler ItemBlackGlazedTerracottaHandler(E_BLOCK_BLACK_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemBlackShulkerBoxHandler(E_BLOCK_BLACK_SHULKER_BOX); +constexpr cDefaultItemHandler ItemBlazePowderHandler(E_ITEM_BLAZE_POWDER); +constexpr cDefaultItemHandler ItemBlazeRodHandler(E_ITEM_BLAZE_ROD); +constexpr cDefaultItemHandler ItemBlocksDiscHandler(E_ITEM_BLOCKS_DISC); +constexpr cItemGlazedTerracottaHandler ItemBlueGlazedTerracottaHandler(E_BLOCK_BLUE_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemBlueShulkerBoxHandler(E_BLOCK_BLUE_SHULKER_BOX); +constexpr cDefaultItemHandler ItemBoneBlockHandler(E_BLOCK_BONE_BLOCK); +constexpr cDefaultItemHandler ItemBoneHandler(E_ITEM_BONE); +constexpr cDefaultItemHandler ItemBookAndQuillHandler(E_ITEM_BOOK_AND_QUILL); +constexpr cDefaultItemHandler ItemBookHandler(E_ITEM_BOOK); +constexpr cDefaultItemHandler ItemBookshelfHandler(E_BLOCK_BOOKCASE); +constexpr cItemBottleOEnchantingHandler ItemBottleOEnchantingHandler(E_ITEM_BOTTLE_O_ENCHANTING); +constexpr cItemBowHandler ItemBowHandler(E_ITEM_BOW); +constexpr cDefaultItemHandler ItemBowlHandler(E_ITEM_BOWL); +constexpr cItemSimpleFoodHandler ItemBreadHandler(E_ITEM_BREAD, cItemHandler::FoodInfo(5, 6)); +constexpr cDefaultItemHandler ItemBrewingStandBlockHandler(E_BLOCK_BREWING_STAND); +constexpr cSimplePlaceableItemHandler ItemBrewingStandHandler(E_ITEM_BREWING_STAND, E_BLOCK_BREWING_STAND); +constexpr cDefaultItemHandler ItemBrickHandler(E_ITEM_CLAY_BRICK); +constexpr cDefaultItemHandler ItemBricksHandler(E_BLOCK_BRICK); +constexpr cItemStairsHandler ItemBricksStairsHandler(E_BLOCK_BRICK_STAIRS); +constexpr cItemGlazedTerracottaHandler ItemBrownGlazedTerracottaHandler(E_BLOCK_BROWN_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemBrownMushroomBlockHandler(E_BLOCK_BROWN_MUSHROOM); +constexpr cDefaultItemHandler ItemBrownShulkerBoxHandler(E_BLOCK_BROWN_SHULKER_BOX); +constexpr cItemBucketHandler ItemBucketHandler(E_ITEM_BUCKET); +constexpr cDefaultItemHandler ItemCactusHandler(E_BLOCK_CACTUS); +constexpr cDefaultItemHandler ItemCakeBlockHandler(E_BLOCK_CAKE); +constexpr cSimplePlaceableItemHandler ItemCakeHandler(E_ITEM_CAKE, E_BLOCK_CAKE); +constexpr cDefaultItemHandler ItemCarpetHandler(E_BLOCK_CARPET); +constexpr cItemFoodSeedsHandler ItemCarrotHandler(E_ITEM_CARROT, cItemHandler::FoodInfo(3, 6.6)); +constexpr cDefaultItemHandler ItemCarrotOnStickHandler(E_ITEM_CARROT_ON_STICK); +constexpr cDefaultItemHandler ItemCarrotsBlockHandler(E_BLOCK_CARROTS); +constexpr cDefaultItemHandler ItemCatDiscHandler(E_ITEM_CAT_DISC); +constexpr cDefaultItemHandler ItemCauldronBlockHandler(E_BLOCK_CAULDRON); +constexpr cSimplePlaceableItemHandler ItemCauldronHandler(E_ITEM_CAULDRON, E_BLOCK_CAULDRON); +; +constexpr cItemArmorHandler ItemChainBootsHandler(E_ITEM_CHAIN_BOOTS); +constexpr cItemArmorHandler ItemChainChestplateHandler(E_ITEM_CHAIN_CHESTPLATE); +constexpr cDefaultItemHandler ItemChainCommandBlockHandler(E_BLOCK_CHAIN_COMMAND_BLOCK); +constexpr cItemArmorHandler ItemChainHelmetHandler(E_ITEM_CHAIN_HELMET); +constexpr cItemArmorHandler ItemChainLeggingsHandler(E_ITEM_CHAIN_LEGGINGS); +constexpr cItemChestHandler ItemChestHandler(E_BLOCK_CHEST); +constexpr cItemMinecartHandler ItemChestMinecartHandler(E_ITEM_CHEST_MINECART); +constexpr cDefaultItemHandler ItemChirpDiscHandler(E_ITEM_CHIRP_DISC); +constexpr cDefaultItemHandler ItemChorusFlowerHandler(E_BLOCK_CHORUS_FLOWER); +constexpr cItemChorusFruitHandler ItemChorusFruitHandler(E_ITEM_CHORUS_FRUIT); +constexpr cDefaultItemHandler ItemChorusPlantHandler(E_BLOCK_CHORUS_PLANT); +constexpr cDefaultItemHandler ItemClayBlockHandler(E_BLOCK_CLAY); +constexpr cDefaultItemHandler ItemClayHandler(E_ITEM_CLAY); +constexpr cDefaultItemHandler ItemClockHandler(E_ITEM_CLOCK); +constexpr cDefaultItemHandler ItemCoalBlockHandler(E_BLOCK_BLOCK_OF_COAL); +constexpr cDefaultItemHandler ItemCoalHandler(E_ITEM_COAL); +constexpr cDefaultItemHandler ItemCoalOreHandler(E_BLOCK_COAL_ORE); +constexpr cDefaultItemHandler ItemCobblestoneHandler(E_BLOCK_COBBLESTONE); +constexpr cItemStairsHandler ItemCobblestoneStairsHandler(E_BLOCK_COBBLESTONE_STAIRS); +constexpr cDefaultItemHandler ItemCobblestoneWallHandler(E_BLOCK_COBBLESTONE_WALL); +constexpr cDefaultItemHandler ItemCobwebHandler(E_BLOCK_COBWEB); +constexpr cDefaultItemHandler ItemCocoaPodHandler(E_BLOCK_COCOA_POD); +constexpr cDefaultItemHandler ItemCommandBlockHandler(E_BLOCK_COMMAND_BLOCK); +constexpr cItemComparatorHandler ItemComparatorHandler(E_ITEM_COMPARATOR); +constexpr cDefaultItemHandler ItemCompassHandler(E_ITEM_COMPASS); +constexpr cDefaultItemHandler ItemConcreteBlockHandler(E_BLOCK_CONCRETE); +constexpr cDefaultItemHandler ItemConcretePowderHandler(E_BLOCK_CONCRETE_POWDER); +constexpr cItemSimpleFoodHandler ItemCookedBeefHandler(E_ITEM_STEAK, cItemHandler::FoodInfo(8, 12.8)); +constexpr cItemSimpleFoodHandler ItemCookedChickenHandler(E_ITEM_COOKED_CHICKEN, cItemHandler::FoodInfo(6, 7.2)); +constexpr cItemCookedFishHandler ItemCookedFishHandler(E_ITEM_COOKED_FISH); +constexpr cItemSimpleFoodHandler ItemCookedMuttonHandler(E_ITEM_COOKED_MUTTON, cItemHandler::FoodInfo(6, 9.6)); +constexpr cItemSimpleFoodHandler ItemCookedPorkchopHandler(E_ITEM_COOKED_PORKCHOP, cItemHandler::FoodInfo(8, 12.8)); +constexpr cItemSimpleFoodHandler ItemCookedRabbitHandler(E_ITEM_COOKED_RABBIT, cItemHandler::FoodInfo(5, 6)); +constexpr cItemSimpleFoodHandler ItemCookieHandler(E_ITEM_COOKIE, cItemHandler::FoodInfo(2, 0.5)); +constexpr cItemGlazedTerracottaHandler ItemCyanGlazedTerracottaHandler(E_BLOCK_CYAN_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemCyanShulkerBoxHandler(E_BLOCK_CYAN_SHULKER_BOX); +constexpr cDefaultItemHandler ItemDandelionHandler(E_BLOCK_DANDELION); +constexpr cItemBoatHandler ItemDarkOakBoatHandler(E_ITEM_DARK_OAK_BOAT); +constexpr cDefaultItemHandler ItemDarkOakDoorBlockHandler(E_BLOCK_DARK_OAK_DOOR); +constexpr cItemDoorHandler ItemDarkOakDoorHandler(E_ITEM_DARK_OAK_DOOR); +constexpr cItemFenceGateHandler ItemDarkOakFenceGateHandler(E_BLOCK_DARK_OAK_FENCE_GATE); +constexpr cDefaultItemHandler ItemDarkOakFenceHandler(E_BLOCK_DARK_OAK_FENCE); +constexpr cItemStairsHandler ItemDarkOakStairsHandler(E_BLOCK_DARK_OAK_WOOD_STAIRS); +constexpr cDefaultItemHandler ItemDaylightSensorBlockHandler(E_BLOCK_DAYLIGHT_SENSOR); +constexpr cDefaultItemHandler ItemDeadBushHandler(E_BLOCK_DEAD_BUSH); +constexpr cItemRailHandler ItemDetectorRailHandler(E_BLOCK_DETECTOR_RAIL); +constexpr cItemAxeHandler ItemDiamondAxeHandler(E_ITEM_DIAMOND_AXE); +constexpr cDefaultItemHandler ItemDiamondBlockHandler(E_BLOCK_DIAMOND_BLOCK); +constexpr cItemArmorHandler ItemDiamondBootsHandler(E_ITEM_DIAMOND_BOOTS); +constexpr cItemArmorHandler ItemDiamondChestplateHandler(E_ITEM_DIAMOND_CHESTPLATE); +constexpr cDefaultItemHandler ItemDiamondHandler(E_ITEM_DIAMOND); +constexpr cItemArmorHandler ItemDiamondHelmetHandler(E_ITEM_DIAMOND_HELMET); +constexpr cItemHoeHandler ItemDiamondHoeHandler(E_ITEM_DIAMOND_HOE); +constexpr cDefaultItemHandler ItemDiamondHorseArmorHandler(E_ITEM_DIAMOND_HORSE_ARMOR); +constexpr cItemArmorHandler ItemDiamondLeggingsHandler(E_ITEM_DIAMOND_LEGGINGS); +constexpr cDefaultItemHandler ItemDiamondOreHandler(E_BLOCK_DIAMOND_ORE); +constexpr cItemPickaxeHandler ItemDiamondPickaxeHandler(E_ITEM_DIAMOND_PICKAXE); +constexpr cItemShovelHandler ItemDiamondShovelHandler(E_ITEM_DIAMOND_SHOVEL); +constexpr cItemSwordHandler ItemDiamondSwordHandler(E_ITEM_DIAMOND_SWORD); +constexpr cDefaultItemHandler ItemDirtHandler(E_BLOCK_DIRT); +constexpr cItemDropSpenserHandler ItemDispenserHandler(E_BLOCK_DISPENSER); +constexpr cDefaultItemHandler ItemDoubleOakSlabHandler(E_BLOCK_DOUBLE_WOODEN_SLAB); +constexpr cDefaultItemHandler ItemDoubleRedSandstoneSlabHandler(E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB); +constexpr cDefaultItemHandler ItemDoubleStoneSlabHandler(E_BLOCK_DOUBLE_STONE_SLAB); +constexpr cDefaultItemHandler ItemDragonBreathHandler(E_ITEM_DRAGON_BREATH); +constexpr cDefaultItemHandler ItemDragonEggBlockHandler(E_BLOCK_DRAGON_EGG); +constexpr cItemDropSpenserHandler ItemDropperHandler(E_BLOCK_DROPPER); +constexpr cItemDyeHandler ItemDyeHandler(E_ITEM_DYE); +constexpr cItemEggHandler ItemEggHandler(E_ITEM_EGG); +constexpr cItemArmorHandler ItemElytraHandler(E_ITEM_ELYTRA); +constexpr cDefaultItemHandler ItemEmeraldBlockHandler(E_BLOCK_EMERALD_BLOCK); +constexpr cDefaultItemHandler ItemEmeraldHandler(E_ITEM_EMERALD); +constexpr cDefaultItemHandler ItemEmeraldOreHandler(E_BLOCK_EMERALD_ORE); +constexpr cItemEmptyMapHandler ItemEmptyMapHandler(E_ITEM_EMPTY_MAP); +constexpr cDefaultItemHandler ItemEnchantedBookHandler(E_ITEM_ENCHANTED_BOOK); +constexpr cItemEnchantingTableHandler ItemEnchantingTableHandler(E_BLOCK_ENCHANTMENT_TABLE); +constexpr cDefaultItemHandler ItemEndBricksHandler(E_BLOCK_END_BRICKS); +constexpr cItemEndCrystalHandler ItemEndCrystalHandler(E_ITEM_END_CRYSTAL); +constexpr cItemEnderChestHandler ItemEnderChestHandler(E_BLOCK_ENDER_CHEST); +constexpr cItemEnderPearlHandler ItemEnderPearlHandler(E_ITEM_ENDER_PEARL); +constexpr cDefaultItemHandler ItemEndGatewayHandler(E_BLOCK_END_GATEWAY); +constexpr cDefaultItemHandler ItemEndPortalBlockHandler(E_BLOCK_END_PORTAL); +constexpr cItemEndPortalFrameHandler ItemEndPortalFrameHandler(E_BLOCK_END_PORTAL_FRAME); +constexpr cDefaultItemHandler ItemEndRodHandler(E_BLOCK_END_ROD); +constexpr cDefaultItemHandler ItemEndStoneBlockHandler(E_BLOCK_END_STONE); +constexpr cItemEyeOfEnderHandler ItemEyeOfEnderHandler(E_ITEM_EYE_OF_ENDER); +constexpr cDefaultItemHandler ItemFarDiscHandler(E_ITEM_FAR_DISC); +constexpr cDefaultItemHandler ItemFarmlandHandler(E_BLOCK_FARMLAND); +constexpr cDefaultItemHandler ItemFeatherHandler(E_ITEM_FEATHER); +constexpr cDefaultItemHandler ItemFermentedSpiderEyeHandler(E_ITEM_FERMENTED_SPIDER_EYE); +constexpr cDefaultItemHandler ItemFireBlockHandler(E_BLOCK_FIRE); +constexpr cItemLighterHandler ItemFireChargeHandler(E_ITEM_FIRE_CHARGE); +constexpr cItemFireworkHandler ItemFireworkRocketHandler(E_ITEM_FIREWORK_ROCKET); +constexpr cDefaultItemHandler ItemFireworkStarHandler(E_ITEM_FIREWORK_STAR); +constexpr cItemFishingRodHandler ItemFishingRodHandler(E_ITEM_FISHING_ROD); +constexpr cItemLighterHandler ItemFlintAndSteelHandler(E_ITEM_FLINT_AND_STEEL); +constexpr cDefaultItemHandler ItemFlintHandler(E_ITEM_FLINT); +constexpr cDefaultItemHandler ItemFlowerPotBlockHandler(E_BLOCK_FLOWER_POT); +constexpr cSimplePlaceableItemHandler ItemFlowerPotHandler(E_ITEM_FLOWER_POT, E_BLOCK_FLOWER_POT); +constexpr cDefaultItemHandler ItemFrostedIceHandler(E_BLOCK_FROSTED_ICE); +constexpr cItemFurnaceHandler ItemFurnaceHandler(E_BLOCK_FURNACE); +constexpr cItemMinecartHandler ItemFurnaceMinecartHandler(E_ITEM_FURNACE_MINECART); +constexpr cDefaultItemHandler ItemGhastTearHandler(E_ITEM_GHAST_TEAR); +constexpr cItemBottleHandler ItemGlassBottleHandler(E_ITEM_GLASS_BOTTLE); +constexpr cDefaultItemHandler ItemGlassHandler(E_BLOCK_GLASS); +constexpr cDefaultItemHandler ItemGlassPaneHandler(E_BLOCK_GLASS_PANE); +constexpr cDefaultItemHandler ItemGlisteringMelonHandler(E_ITEM_GLISTERING_MELON); +constexpr cDefaultItemHandler ItemGlowstoneBlockHandler(E_BLOCK_GLOWSTONE); +constexpr cDefaultItemHandler ItemGlowstoneDustHandler(E_ITEM_GLOWSTONE_DUST); +constexpr cDefaultItemHandler ItemGoldBlockHandler(E_BLOCK_GOLD_BLOCK); +constexpr cItemGoldenAppleHandler ItemGoldenAppleHandler(E_ITEM_GOLDEN_APPLE); +constexpr cItemAxeHandler ItemGoldenAxeHandler(E_ITEM_GOLD_AXE); +constexpr cItemArmorHandler ItemGoldenBootsHandler(E_ITEM_GOLD_BOOTS); +constexpr cItemSimpleFoodHandler ItemGoldenCarrotHandler(E_ITEM_GOLDEN_CARROT, cItemHandler::FoodInfo(6, 14.4)); +constexpr cItemArmorHandler ItemGoldenChestplateHandler(E_ITEM_GOLD_CHESTPLATE); +constexpr cItemArmorHandler ItemGoldenHelmetHandler(E_ITEM_GOLD_HELMET); +constexpr cItemHoeHandler ItemGoldenHoeHandler(E_ITEM_GOLD_HOE); +constexpr cDefaultItemHandler ItemGoldenHorseArmorHandler(E_ITEM_GOLD_HORSE_ARMOR); +constexpr cItemArmorHandler ItemGoldenLeggingsHandler(E_ITEM_GOLD_LEGGINGS); +constexpr cItemPickaxeHandler ItemGoldenPickaxeHandler(E_ITEM_GOLD_PICKAXE); +constexpr cItemShovelHandler ItemGoldenShovelHandler(E_ITEM_GOLD_SHOVEL); +constexpr cItemSwordHandler ItemGoldenSwordHandler(E_ITEM_GOLD_SWORD); +constexpr cDefaultItemHandler ItemGoldHandler(E_ITEM_GOLD); +constexpr cDefaultItemHandler ItemGoldNuggetHandler(E_ITEM_GOLD_NUGGET); +constexpr cDefaultItemHandler ItemGoldOreHandler(E_BLOCK_GOLD_ORE); +constexpr cDefaultItemHandler ItemGrassBlockHandler(E_BLOCK_GRASS); +constexpr cDefaultItemHandler ItemGrassPathHandler(E_BLOCK_GRASS_PATH); +constexpr cDefaultItemHandler ItemGravelHandler(E_BLOCK_GRAVEL); +constexpr cItemGlazedTerracottaHandler ItemGrayGlazedTerracottaHandler(E_BLOCK_GRAY_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemGrayShulkerBoxHandler(E_BLOCK_GRAY_SHULKER_BOX); +constexpr cItemGlazedTerracottaHandler ItemGreenGlazedTerracottaHandler(E_BLOCK_GREEN_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemGreenShulkerBoxHandler(E_BLOCK_GREEN_SHULKER_BOX); +constexpr cDefaultItemHandler ItemGunpowderHandler(E_ITEM_GUNPOWDER); +constexpr cDefaultItemHandler ItemHardenedClayHandler(E_BLOCK_HARDENED_CLAY); +constexpr cItemSidewaysHandler ItemHayBaleHandler(E_BLOCK_HAY_BALE); +constexpr cDefaultItemHandler ItemHeadBlockHandler(E_BLOCK_HEAD); +constexpr cItemMobHeadHandler ItemHeadHandler(E_ITEM_HEAD); +constexpr cDefaultItemHandler ItemHeavyWeightedPressurePlateHandler(E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE); +constexpr cItemHopperHandler ItemHopperHandler(E_BLOCK_HOPPER); +constexpr cDefaultItemHandler ItemHugeBrownMushroomBlockHandler(E_BLOCK_HUGE_BROWN_MUSHROOM); +constexpr cDefaultItemHandler ItemHugeRedMushroomBlockHandler(E_BLOCK_HUGE_RED_MUSHROOM); +constexpr cDefaultItemHandler ItemIceHandler(E_BLOCK_ICE); +constexpr cDefaultItemHandler ItemInactiveComparatorHandler(E_BLOCK_INACTIVE_COMPARATOR); +constexpr cDefaultItemHandler ItemInvertedDaylightSensorHandler(E_BLOCK_INVERTED_DAYLIGHT_SENSOR); +constexpr cItemAxeHandler ItemIronAxeHandler(E_ITEM_IRON_AXE); +constexpr cDefaultItemHandler ItemIronBarsBlockHandler(E_BLOCK_IRON_BARS); +constexpr cDefaultItemHandler ItemIronBlockHandler(E_BLOCK_IRON_BLOCK); +constexpr cItemArmorHandler ItemIronBootsHandler(E_ITEM_IRON_BOOTS); +constexpr cItemArmorHandler ItemIronChestplateHandler(E_ITEM_IRON_CHESTPLATE); +constexpr cDefaultItemHandler ItemIronDoorBlockHandler(E_BLOCK_IRON_DOOR); +constexpr cItemDoorHandler ItemIronDoorHandler(E_ITEM_IRON_DOOR); +constexpr cDefaultItemHandler ItemIronHandler(E_ITEM_IRON); +constexpr cItemArmorHandler ItemIronHelmetHandler(E_ITEM_IRON_HELMET); +constexpr cItemHoeHandler ItemIronHoeHandler(E_ITEM_IRON_HOE); +constexpr cDefaultItemHandler ItemIronHorseArmorHandler(E_ITEM_IRON_HORSE_ARMOR); +constexpr cItemArmorHandler ItemIronLeggingsHandler(E_ITEM_IRON_LEGGINGS); +constexpr cDefaultItemHandler ItemIronNuggetHandler(E_ITEM_IRON_NUGGET); +constexpr cDefaultItemHandler ItemIronOreHandler(E_BLOCK_IRON_ORE); +constexpr cItemPickaxeHandler ItemIronPickaxeHandler(E_ITEM_IRON_PICKAXE); +constexpr cItemShovelHandler ItemIronShovelHandler(E_ITEM_IRON_SHOVEL); +constexpr cItemSwordHandler ItemIronSwordHandler(E_ITEM_IRON_SWORD); +constexpr cItemTrapdoorHandler ItemIronTrapdoorHandler(E_BLOCK_IRON_TRAPDOOR); +constexpr cItemItemFrameHandler ItemItemFrameHandler(E_ITEM_ITEM_FRAME); +constexpr cItemJackOLanternHandler ItemJackOLanternHandler(E_BLOCK_JACK_O_LANTERN); +constexpr cDefaultItemHandler ItemJukeboxHandler(E_BLOCK_JUKEBOX); +constexpr cItemBoatHandler ItemJungleBoatHandler(E_ITEM_JUNGLE_BOAT); +constexpr cDefaultItemHandler ItemJungleDoorBlockHandler(E_BLOCK_JUNGLE_DOOR); +constexpr cItemDoorHandler ItemJungleDoorHandler(E_ITEM_JUNGLE_DOOR); +constexpr cItemFenceGateHandler ItemJungleFenceGateHandler(E_BLOCK_JUNGLE_FENCE_GATE); +constexpr cDefaultItemHandler ItemJungleFenceHandler(E_BLOCK_JUNGLE_FENCE); +constexpr cItemStairsHandler ItemJungleStairsHandler(E_BLOCK_JUNGLE_WOOD_STAIRS); +constexpr cItemLadderHandler ItemLadderHandler(E_BLOCK_LADDER); +constexpr cDefaultItemHandler ItemLapisBlockHandler(E_BLOCK_LAPIS_BLOCK); +constexpr cDefaultItemHandler ItemLapisOreHandler(E_BLOCK_LAPIS_ORE); +constexpr cItemBucketHandler ItemLavaBucketHandler(E_ITEM_LAVA_BUCKET); +constexpr cDefaultItemHandler ItemLavaHandler(E_BLOCK_LAVA); +constexpr cDefaultItemHandler ItemLeashHandler(E_ITEM_LEAD); +constexpr cItemArmorHandler ItemLeatherBootsHandler(E_ITEM_LEATHER_BOOTS); +constexpr cItemArmorHandler ItemLeatherCapHandler(E_ITEM_LEATHER_CAP); +constexpr cDefaultItemHandler ItemLeatherHandler(E_ITEM_LEATHER); +constexpr cItemArmorHandler ItemLeatherPantsHandler(E_ITEM_LEATHER_PANTS); +constexpr cItemArmorHandler ItemLeatherTunicHandler(E_ITEM_LEATHER_TUNIC); +constexpr cItemLeavesHandler ItemLeavesHandler(E_BLOCK_LEAVES); +constexpr cItemLeverHandler ItemLeverHandler(E_BLOCK_LEVER); +constexpr cItemGlazedTerracottaHandler ItemLightBlueGlazedTerracottaHandler(E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemLightBlueShulkerBoxHandler(E_BLOCK_LIGHT_BLUE_SHULKER_BOX); +constexpr cItemGlazedTerracottaHandler ItemLightGrayGlazedTerracottaHandler(E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemLightGrayShulkerBoxHandler(E_BLOCK_LIGHT_GRAY_SHULKER_BOX); +constexpr cDefaultItemHandler ItemLightWeightedPressurePlateHandler(E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE); +constexpr cItemLilypadHandler ItemLilypadHandler(E_BLOCK_LILY_PAD); +constexpr cItemGlazedTerracottaHandler ItemLimeGlazedTerracottaHandler(E_BLOCK_LIME_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemLimeShulkerBoxHandler(E_BLOCK_LIME_SHULKER_BOX); +constexpr cItemPotionHandler ItemLingeringPotionHandler(E_ITEM_LINGERING_POTION); +constexpr cDefaultItemHandler ItemLitFurnaceHandler(E_BLOCK_LIT_FURNACE); +constexpr cItemSidewaysHandler ItemLogHandler(E_BLOCK_LOG); +constexpr cItemGlazedTerracottaHandler ItemMagentaGlazedTerracottaHandler(E_BLOCK_MAGENTA_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemMagentaShulkerBoxHandler(E_BLOCK_MAGENTA_SHULKER_BOX); +constexpr cDefaultItemHandler ItemMagmaBlockHandler(E_BLOCK_MAGMA); +constexpr cDefaultItemHandler ItemMagmaCreamHandler(E_ITEM_MAGMA_CREAM); +constexpr cDefaultItemHandler ItemMallDiscHandler(E_ITEM_MALL_DISC); +constexpr cItemMapHandler ItemMapHandler(E_ITEM_MAP); +constexpr cDefaultItemHandler ItemMellohiDiscHandler(E_ITEM_MELLOHI_DISC); +constexpr cDefaultItemHandler ItemMelonBlockHandler(E_BLOCK_MELON); +constexpr cItemSimpleSeedsHandler ItemMelonSeedsHandler(E_ITEM_MELON_SEEDS); +constexpr cItemSimpleFoodHandler ItemMelonSliceHandler(E_ITEM_MELON_SLICE, cItemHandler::FoodInfo(2, 1.2)); +constexpr cDefaultItemHandler ItemMelonStemHandler(E_BLOCK_MELON_STEM); +constexpr cItemMilkHandler ItemMilkHandler(E_ITEM_MILK); +constexpr cItemMinecartHandler ItemMinecartHandler(E_ITEM_MINECART); +constexpr cItemMinecartHandler ItemMinecartWithCommandBlockHandler(E_ITEM_MINECART_WITH_COMMAND_BLOCK); +constexpr cItemMinecartHandler ItemMinecartWithHopperHandler(E_ITEM_MINECART_WITH_HOPPER); +constexpr cItemMinecartHandler ItemMinecartWithTNTHandler(E_ITEM_MINECART_WITH_TNT); +constexpr cDefaultItemHandler ItemMobSpawnerBlockHandler(E_BLOCK_MOB_SPAWNER); +constexpr cDefaultItemHandler ItemMossyCobblestoneHandler(E_BLOCK_MOSSY_COBBLESTONE); +constexpr cItemSoupHandler ItemMushroomSoupHandler(E_ITEM_MUSHROOM_SOUP, cItemHandler::FoodInfo(6, 7.2)); +constexpr cDefaultItemHandler ItemMyceliumHandler(E_BLOCK_MYCELIUM); +constexpr cDefaultItemHandler ItemNameTagHandler(E_ITEM_NAME_TAG); +constexpr cDefaultItemHandler ItemNetherBrickFenceHandler(E_BLOCK_NETHER_BRICK_FENCE); +constexpr cDefaultItemHandler ItemNetherBrickHandler(E_ITEM_NETHER_BRICK); +constexpr cDefaultItemHandler ItemNetherBricksHandler(E_BLOCK_NETHER_BRICK); +constexpr cItemStairsHandler ItemNetherBrickStairsHandler(E_BLOCK_NETHER_BRICK_STAIRS); +constexpr cDefaultItemHandler ItemNetherPortalBlockHandler(E_BLOCK_NETHER_PORTAL); +constexpr cDefaultItemHandler ItemNetherQuartzHandler(E_ITEM_NETHER_QUARTZ); +constexpr cDefaultItemHandler ItemNetherQuartzOreHandler(E_BLOCK_NETHER_QUARTZ_ORE); +constexpr cDefaultItemHandler ItemNetherrackHandler(E_BLOCK_NETHERRACK); +constexpr cDefaultItemHandler ItemNetherStarHandler(E_ITEM_NETHER_STAR); +constexpr cDefaultItemHandler ItemNetherWartBlockHandler(E_BLOCK_NETHER_WART_BLOCK); +constexpr cItemNetherWartHandler ItemNetherWartHandler(E_ITEM_NETHER_WART); +constexpr cDefaultItemHandler ItemNetherWartTechnicalBlockHandler(E_BLOCK_NETHER_WART); +constexpr cItemLeavesHandler ItemNewLeavesHandler(E_BLOCK_NEW_LEAVES); +constexpr cItemSidewaysHandler ItemNewLogHandler(E_BLOCK_NEW_LOG); +constexpr cDefaultItemHandler ItemNoteBlockHandler(E_BLOCK_NOTE_BLOCK); +constexpr cItemBoatHandler ItemOakBoatHandler(E_ITEM_BOAT); +constexpr cItemButtonHandler ItemOakButtonHandler(E_BLOCK_WOODEN_BUTTON); +constexpr cDefaultItemHandler ItemOakDoorBlockHandler(E_BLOCK_OAK_DOOR); +constexpr cItemDoorHandler ItemOakDoorHandler(E_ITEM_WOODEN_DOOR); +constexpr cItemFenceGateHandler ItemOakFenceGateHandler(E_BLOCK_OAK_FENCE_GATE); +constexpr cDefaultItemHandler ItemOakFenceHandler(E_BLOCK_FENCE); +constexpr cItemSlabHandler ItemOakSlabHandler(E_BLOCK_WOODEN_SLAB); +constexpr cItemStairsHandler ItemOakStairsHandler(E_BLOCK_OAK_WOOD_STAIRS); +constexpr cItemTrapdoorHandler ItemOakTrapdoorHandler(E_BLOCK_TRAPDOOR); +constexpr cItemObserverHandler ItemObserverHandler(E_BLOCK_OBSERVER); +constexpr cDefaultItemHandler ItemObsidianHandler(E_BLOCK_OBSIDIAN); +constexpr cItemGlazedTerracottaHandler ItemOrangeGlazedTerracottaHandler(E_BLOCK_ORANGE_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemOrangeShulkerBoxHandler(E_BLOCK_ORANGE_SHULKER_BOX); +constexpr cDefaultItemHandler ItemPackedIceHandler(E_BLOCK_PACKED_ICE); +constexpr cItemPaintingHandler ItemPaintingHandler(E_ITEM_PAINTING); +constexpr cDefaultItemHandler ItemPaperHandler(E_ITEM_PAPER); +constexpr cItemGlazedTerracottaHandler ItemPinkGlazedTerracottaHandler(E_BLOCK_PINK_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemPinkShulkerBoxHandler(E_BLOCK_PINK_SHULKER_BOX); +constexpr cDefaultItemHandler ItemPistonExtensionHandler(E_BLOCK_PISTON_EXTENSION); +constexpr cItemPistonHandler ItemPistonHandler(E_BLOCK_PISTON); +constexpr cDefaultItemHandler ItemPistonMovedBlockHandler(E_BLOCK_PISTON_MOVED_BLOCK); +constexpr cItemPlanksHandler ItemPlanksHandler(E_BLOCK_PLANKS); +constexpr cItemPoisonousPotatoHandler ItemPoisonousPotatoHandler(E_ITEM_POISONOUS_POTATO); +constexpr cDefaultItemHandler ItemPoppedChorusFruitHandler(E_ITEM_POPPED_CHORUS_FRUIT); +constexpr cDefaultItemHandler ItemPoppyHandler(E_BLOCK_FLOWER); +constexpr cDefaultItemHandler ItemPotatoesBlockHandler(E_BLOCK_POTATOES); +constexpr cItemFoodSeedsHandler ItemPotatoHandler(E_ITEM_POTATO, cItemHandler::FoodInfo(1, 0.6)); +constexpr cItemPotionHandler ItemPotionHandler(E_ITEM_POTION); +constexpr cItemRailHandler ItemPoweredRailHandler(E_BLOCK_POWERED_RAIL); +constexpr cDefaultItemHandler ItemPrismarineBlockHandler(E_BLOCK_PRISMARINE_BLOCK); +constexpr cDefaultItemHandler ItemPrismarineCrystalsHandler(E_ITEM_PRISMARINE_CRYSTALS); +constexpr cDefaultItemHandler ItemPrismarineShardHandler(E_ITEM_PRISMARINE_SHARD); +constexpr cItemPumpkinHandler ItemPumpkinHandler(E_BLOCK_PUMPKIN); +constexpr cItemSimpleFoodHandler ItemPumpkinPieHandler(E_ITEM_PUMPKIN_PIE, cItemHandler::FoodInfo(8, 4.8)); +constexpr cItemSimpleSeedsHandler ItemPumpkinSeedsHandler(E_ITEM_PUMPKIN_SEEDS); +constexpr cDefaultItemHandler ItemPumpkinStemHandler(E_BLOCK_PUMPKIN_STEM); +constexpr cItemGlazedTerracottaHandler ItemPurpleGlazedTerracottaHandler(E_BLOCK_PURPLE_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemPurpleShulkerBoxHandler(E_BLOCK_PURPLE_SHULKER_BOX); +constexpr cDefaultItemHandler ItemPurpurBlockHandler(E_BLOCK_PURPUR_BLOCK); +constexpr cDefaultItemHandler ItemPurpurDoubleSlabHandler(E_BLOCK_PURPUR_DOUBLE_SLAB); +constexpr cDefaultItemHandler ItemPurpurPillarHandler(E_BLOCK_PURPUR_PILLAR); +constexpr cItemSlabHandler ItemPurpurSlabHandler(E_BLOCK_PURPUR_SLAB); +constexpr cItemStairsHandler ItemPurpurStairsHandler(E_BLOCK_PURPUR_STAIRS); +constexpr cItemQuartzHandler ItemQuartzBlockHandler(E_BLOCK_QUARTZ_BLOCK); +constexpr cItemStairsHandler ItemQuartzStairsHandler(E_BLOCK_QUARTZ_STAIRS); +constexpr cDefaultItemHandler ItemRabbitHideHandler(E_ITEM_RABBIT_HIDE); +constexpr cDefaultItemHandler ItemRabbitsFootHandler(E_ITEM_RABBITS_FOOT); +constexpr cItemSoupHandler ItemRabbitStewHandler(E_ITEM_RABBIT_STEW, cItemHandler::FoodInfo(10, 12)); +constexpr cItemRailHandler ItemRailHandler(E_BLOCK_RAIL); +constexpr cItemSimpleFoodHandler ItemRawBeefHandler(E_ITEM_RAW_BEEF, cItemHandler::FoodInfo(3, 1.8)); +constexpr cItemRawChickenHandler ItemRawChickenHandler(E_ITEM_RAW_CHICKEN); +constexpr cItemRawFishHandler ItemRawFishHandler(E_ITEM_RAW_FISH); +constexpr cItemSimpleFoodHandler ItemRawMuttonHandler(E_ITEM_RAW_MUTTON, cItemHandler::FoodInfo(2, 1.2)); +constexpr cItemSimpleFoodHandler ItemRawPorkchopHandler(E_ITEM_RAW_PORKCHOP, cItemHandler::FoodInfo(3, 1.8)); +constexpr cItemSimpleFoodHandler ItemRawRabbitHandler(E_ITEM_RAW_RABBIT, cItemHandler::FoodInfo(3, 1.8)); +constexpr cItemGlazedTerracottaHandler ItemRedGlazedTerracottaHandler(E_BLOCK_RED_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemRedMushroomBlockHandler(E_BLOCK_RED_MUSHROOM); +constexpr cDefaultItemHandler ItemRedNetherBricksHandler(E_BLOCK_RED_NETHER_BRICK); +constexpr cDefaultItemHandler ItemRedSandstoneHandler(E_BLOCK_RED_SANDSTONE); +constexpr cItemSlabHandler ItemRedSandstoneSlabHandler(E_BLOCK_RED_SANDSTONE_SLAB); +constexpr cItemStairsHandler ItemRedSandstoneStairsHandler(E_BLOCK_RED_SANDSTONE_STAIRS); +constexpr cDefaultItemHandler ItemRedShulkerBoxHandler(E_BLOCK_RED_SHULKER_BOX); +constexpr cDefaultItemHandler ItemRedstoneBlockHandler(E_BLOCK_BLOCK_OF_REDSTONE); +constexpr cItemRedstoneDustHandler ItemRedstoneDustHandler(E_ITEM_REDSTONE_DUST); +constexpr cDefaultItemHandler ItemRedstoneLampOffHandler(E_BLOCK_REDSTONE_LAMP_OFF); +constexpr cDefaultItemHandler ItemRedstoneLampOnHandler(E_BLOCK_REDSTONE_LAMP_ON); +constexpr cDefaultItemHandler ItemRedstoneOreGlowingHandler(E_BLOCK_REDSTONE_ORE_GLOWING); +constexpr cDefaultItemHandler ItemRedstoneOreHandler(E_BLOCK_REDSTONE_ORE); +constexpr cItemRedstoneRepeaterHandler ItemRedstoneRepeaterHandler(E_ITEM_REDSTONE_REPEATER); +constexpr cDefaultItemHandler ItemRedstoneRepeaterOffHandler(E_BLOCK_REDSTONE_REPEATER_OFF); +constexpr cDefaultItemHandler ItemRedstoneRepeaterOnHandler(E_BLOCK_REDSTONE_REPEATER_ON); +constexpr cItemTorchHandler ItemRedstoneTorchHandler(E_BLOCK_REDSTONE_TORCH_ON); +constexpr cDefaultItemHandler ItemRedstoneTorchOffBlockHandler(E_BLOCK_REDSTONE_TORCH_OFF); +constexpr cDefaultItemHandler ItemRedstoneWireHandler(E_BLOCK_REDSTONE_WIRE); +constexpr cDefaultItemHandler ItemRepeatingCommandBlockHandler(E_BLOCK_REPEATING_COMMAND_BLOCK); +constexpr cItemRottenFleshHandler ItemRottenFleshHandler(E_ITEM_ROTTEN_FLESH); +constexpr cDefaultItemHandler ItemSaddleHandler(E_ITEM_SADDLE); +constexpr cDefaultItemHandler ItemSandHandler(E_BLOCK_SAND); +constexpr cDefaultItemHandler ItemSandstoneHandler(E_BLOCK_SANDSTONE); +constexpr cItemStairsHandler ItemSandstoneStairsHandler(E_BLOCK_SANDSTONE_STAIRS); +constexpr cItemSaplingHandler ItemSaplingHandler(E_BLOCK_SAPLING); +constexpr cDefaultItemHandler ItemSeaLanternHandler(E_BLOCK_SEA_LANTERN); +constexpr cItemSimpleSeedsHandler ItemSeedsHandler(E_ITEM_SEEDS); +constexpr cItemShearsHandler ItemShearsHandler(E_ITEM_SHEARS); +constexpr cDefaultItemHandler ItemShieldHandler(E_ITEM_SHIELD); +constexpr cDefaultItemHandler ItemShulkerShellHandler(E_ITEM_SHULKER_SHELL); +constexpr cItemSignHandler ItemSignHandler(E_ITEM_SIGN); +constexpr cDefaultItemHandler ItemSignPostHandler(E_BLOCK_SIGN_POST); +constexpr cDefaultItemHandler ItemSilverfishEggBlockHandler(E_BLOCK_SILVERFISH_EGG); +constexpr cDefaultItemHandler ItemSlimeballHandler(E_ITEM_SLIMEBALL); +constexpr cDefaultItemHandler ItemSlimeBlockHandler(E_BLOCK_SLIME_BLOCK); +constexpr cItemSnowballHandler ItemSnowballHandler(E_ITEM_SNOWBALL); +constexpr cDefaultItemHandler ItemSnowBlockHandler(E_BLOCK_SNOW_BLOCK); +constexpr cItemSnowHandler ItemSnowHandler(E_BLOCK_SNOW); +constexpr cDefaultItemHandler ItemSoulsandHandler(E_BLOCK_SOULSAND); +constexpr cItemSpawnEggHandler ItemSpawnEggHandler(E_ITEM_SPAWN_EGG); +constexpr cDefaultItemHandler ItemSpectralArrowHandler(E_ITEM_SPECTRAL_ARROW); +constexpr cItemSpiderEyeHandler ItemSpiderEyeHandler(E_ITEM_SPIDER_EYE); +constexpr cItemPotionHandler ItemSplashPotionHandler(E_ITEM_SPLASH_POTION); +constexpr cDefaultItemHandler ItemSpongeHandler(E_BLOCK_SPONGE); +constexpr cItemBoatHandler ItemSpruceBoatHandler(E_ITEM_SPRUCE_BOAT); +constexpr cDefaultItemHandler ItemSpruceDoorBlockHandler(E_BLOCK_SPRUCE_DOOR); +constexpr cItemDoorHandler ItemSpruceDoorHandler(E_ITEM_SPRUCE_DOOR); +constexpr cItemFenceGateHandler ItemSpruceFenceGateHandler(E_BLOCK_SPRUCE_FENCE_GATE); +constexpr cDefaultItemHandler ItemSpruceFenceHandler(E_BLOCK_SPRUCE_FENCE); +constexpr cItemStairsHandler ItemSpruceStairsHandler(E_BLOCK_SPRUCE_WOOD_STAIRS); +constexpr cDefaultItemHandler ItemStainedGlassHandler(E_BLOCK_STAINED_GLASS); +constexpr cDefaultItemHandler ItemStainedGlassPaneHandler(E_BLOCK_STAINED_GLASS_PANE); +constexpr cDefaultItemHandler ItemStalDiscHandler(E_ITEM_STAL_DISC); +constexpr cDefaultItemHandler ItemStandingBannerHandler(E_BLOCK_STANDING_BANNER); +constexpr cDefaultItemHandler ItemStationaryLavaHandler(E_BLOCK_STATIONARY_LAVA); +constexpr cDefaultItemHandler ItemStationaryWaterHandler(E_BLOCK_STATIONARY_WATER); +constexpr cDefaultItemHandler ItemStickHandler(E_ITEM_STICK); +constexpr cItemPistonHandler ItemStickyPistonHandler(E_BLOCK_STICKY_PISTON); +constexpr cItemAxeHandler ItemStoneAxeHandler(E_ITEM_STONE_AXE); +constexpr cDefaultItemHandler ItemStoneBricksHandler(E_BLOCK_STONE_BRICKS); +constexpr cItemStairsHandler ItemStoneBrickStairsHandler(E_BLOCK_STONE_BRICK_STAIRS); +constexpr cItemButtonHandler ItemStoneButtonHandler(E_BLOCK_STONE_BUTTON); +constexpr cDefaultItemHandler ItemStoneHandler(E_BLOCK_STONE); +constexpr cItemHoeHandler ItemStoneHoeHandler(E_ITEM_STONE_HOE); +constexpr cItemPickaxeHandler ItemStonePickaxeHandler(E_ITEM_STONE_PICKAXE); +constexpr cDefaultItemHandler ItemStonePressurePlateHandler(E_BLOCK_STONE_PRESSURE_PLATE); +constexpr cItemShovelHandler ItemStoneShovelHandler(E_ITEM_STONE_SHOVEL); +constexpr cItemSlabHandler ItemStoneSlabHandler(E_BLOCK_STONE_SLAB); +constexpr cItemSwordHandler ItemStoneSwordHandler(E_ITEM_STONE_SWORD); +constexpr cDefaultItemHandler ItemStradDiscHandler(E_ITEM_STRAD_DISC); +constexpr cSimplePlaceableItemHandler ItemStringHandler(E_ITEM_STRING, E_BLOCK_TRIPWIRE); +constexpr cDefaultItemHandler ItemStructureBlockHandler(E_BLOCK_STRUCTURE_BLOCK); +constexpr cDefaultItemHandler ItemStructureVoidHandler(E_BLOCK_STRUCTURE_VOID); +constexpr cDefaultItemHandler ItemSugarCaneBlockHandler(E_BLOCK_SUGARCANE); +constexpr cSimplePlaceableItemHandler ItemSugarCaneHandler(E_ITEM_SUGARCANE, E_BLOCK_SUGARCANE); +constexpr cDefaultItemHandler ItemSugarHandler(E_ITEM_SUGAR); +constexpr cDefaultItemHandler ItemTallGrassHandler(E_BLOCK_TALL_GRASS); +constexpr cDefaultItemHandler ItemTerracottaHandler(E_BLOCK_TERRACOTTA); +constexpr cDefaultItemHandler ItemTippedArrowHandler(E_ITEM_TIPPED_ARROW); +constexpr cDefaultItemHandler ItemTNTHandler(E_BLOCK_TNT); +constexpr cItemTorchHandler ItemTorchHandler(E_BLOCK_TORCH); +constexpr cDefaultItemHandler ItemTotemOfUndyingHandler(E_ITEM_TOTEM_OF_UNDYING); +constexpr cItemChestHandler ItemTrappedChestHandler(E_BLOCK_TRAPPED_CHEST); +constexpr cDefaultItemHandler ItemTripwireHandler(E_BLOCK_TRIPWIRE); +constexpr cItemTripwireHookHandler ItemTripwireHookHandler(E_BLOCK_TRIPWIRE_HOOK); +constexpr cItemVinesHandler ItemVinesHandler(E_BLOCK_VINES); +constexpr cDefaultItemHandler ItemWaitDiscHandler(E_ITEM_WAIT_DISC); +constexpr cDefaultItemHandler ItemWallBannerHandler(E_BLOCK_WALL_BANNER); +constexpr cDefaultItemHandler ItemWallsignHandler(E_BLOCK_WALLSIGN); +constexpr cDefaultItemHandler ItemWardDiscHandler(E_ITEM_WARD_DISC); +constexpr cItemBucketHandler ItemWaterBucketHandler(E_ITEM_WATER_BUCKET); +constexpr cDefaultItemHandler ItemWaterHandler(E_BLOCK_WATER); +constexpr cDefaultItemHandler ItemWheatBlockHandler(E_BLOCK_WHEAT); +constexpr cDefaultItemHandler ItemWheatHandler(E_ITEM_WHEAT); +constexpr cItemGlazedTerracottaHandler ItemWhiteGlazedTerracottaHandler(E_BLOCK_WHITE_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemWhiteShulkerBoxHandler(E_BLOCK_WHITE_SHULKER_BOX); +constexpr cItemAxeHandler ItemWoodenAxeHandler(E_ITEM_WOODEN_AXE); +constexpr cItemHoeHandler ItemWoodenHoeHandler(E_ITEM_WOODEN_HOE); +constexpr cItemPickaxeHandler ItemWoodenPickaxeHandler(E_ITEM_WOODEN_PICKAXE); +constexpr cDefaultItemHandler ItemWoodenPressurePlateHandler(E_BLOCK_WOODEN_PRESSURE_PLATE); +constexpr cItemShovelHandler ItemWoodenShovelHandler(E_ITEM_WOODEN_SHOVEL); +constexpr cItemSwordHandler ItemWoodenSwordHandler(E_ITEM_WOODEN_SWORD); +constexpr cItemClothHandler ItemWoolHandler(E_BLOCK_WOOL); +constexpr cDefaultItemHandler ItemWorkbenchHandler(E_BLOCK_WORKBENCH); +constexpr cDefaultItemHandler ItemWrittenBookHandler(E_ITEM_WRITTEN_BOOK); +constexpr cItemGlazedTerracottaHandler ItemYellowGlazedTerracottaHandler(E_BLOCK_YELLOW_GLAZED_TERRACOTTA); +constexpr cDefaultItemHandler ItemYellowShulkerBoxHandler(E_BLOCK_YELLOW_SHULKER_BOX); +} // namespace @@ -570,469 +571,468 @@ const cItemHandler & cItemHandler::For(int a_ItemType) { switch (a_ItemType) { - case E_BLOCK_ACACIA_DOOR: return ItemAcaciaDoorBlockHandler; - case E_BLOCK_ACACIA_FENCE: return ItemAcaciaFenceHandler; - case E_BLOCK_ACACIA_FENCE_GATE: return ItemAcaciaFenceGateHandler; - case E_BLOCK_ACACIA_WOOD_STAIRS: return ItemAcaciaStairsHandler; - case E_BLOCK_ACTIVATOR_RAIL: return ItemActivatorRailHandler; - case E_BLOCK_ACTIVE_COMPARATOR: return ItemActiveComparatorHandler; - case E_BLOCK_AIR: return ItemAirHandler; - case E_BLOCK_ANVIL: return ItemAnvilHandler; - case E_BLOCK_BARRIER: return ItemBarrierHandler; - case E_BLOCK_BEACON: return ItemBeaconHandler; - case E_BLOCK_BED: return ItemBedBlockHandler; - case E_BLOCK_BEDROCK: return ItemBedrockHandler; - case E_BLOCK_BEETROOTS: return ItemBeetrootsBlockHandler; - case E_BLOCK_BIG_FLOWER: return ItemBigFlowerHandler; - case E_BLOCK_BIRCH_DOOR: return ItemBirchDoorBlockHandler; - case E_BLOCK_BIRCH_FENCE: return ItemBirchFenceHandler; - case E_BLOCK_BIRCH_FENCE_GATE: return ItemBirchFenceGateHandler; - case E_BLOCK_BIRCH_WOOD_STAIRS: return ItemBirchStairsHandler; - case E_BLOCK_BLACK_GLAZED_TERRACOTTA: return ItemBlackGlazedTerracottaHandler; - case E_BLOCK_BLACK_SHULKER_BOX: return ItemBlackShulkerBoxHandler; - case E_BLOCK_BLOCK_OF_COAL: return ItemCoalBlockHandler; - case E_BLOCK_BLOCK_OF_REDSTONE: return ItemRedstoneBlockHandler; - case E_BLOCK_BLUE_GLAZED_TERRACOTTA: return ItemBlueGlazedTerracottaHandler; - case E_BLOCK_BLUE_SHULKER_BOX: return ItemBlueShulkerBoxHandler; - case E_BLOCK_BONE_BLOCK: return ItemBoneBlockHandler; - case E_BLOCK_BOOKCASE: return ItemBookshelfHandler; - case E_BLOCK_BREWING_STAND: return ItemBrewingStandBlockHandler; - case E_BLOCK_BRICK: return ItemBrickHandler; - case E_BLOCK_BRICK_STAIRS: return ItemBricksStairsHandler; - case E_BLOCK_BROWN_GLAZED_TERRACOTTA: return ItemBrownGlazedTerracottaHandler; - case E_BLOCK_BROWN_MUSHROOM: return ItemBrownMushroomBlockHandler; - case E_BLOCK_BROWN_SHULKER_BOX: return ItemBrownShulkerBoxHandler; - case E_BLOCK_CACTUS: return ItemCactusHandler; - case E_BLOCK_CAKE: return ItemCakeBlockHandler; - case E_BLOCK_CARPET: return ItemCarpetHandler; - case E_BLOCK_CARROTS: return ItemCarrotsBlockHandler; - case E_BLOCK_CAULDRON: return ItemCauldronBlockHandler; - case E_BLOCK_CHAIN_COMMAND_BLOCK: return ItemChainCommandBlockHandler; - case E_BLOCK_CHEST: return ItemChestHandler; - case E_BLOCK_CHORUS_FLOWER: return ItemChorusFlowerHandler; - case E_BLOCK_CHORUS_PLANT: return ItemChorusPlantHandler; - case E_BLOCK_CLAY: return ItemClayBlockHandler; - case E_BLOCK_COAL_ORE: return ItemCoalOreHandler; - case E_BLOCK_COBBLESTONE: return ItemCobblestoneHandler; - case E_BLOCK_COBBLESTONE_STAIRS: return ItemCobblestoneStairsHandler; - case E_BLOCK_COBBLESTONE_WALL: return ItemCobblestoneWallHandler; - case E_BLOCK_COBWEB: return ItemCobwebHandler; - case E_BLOCK_COCOA_POD: return ItemCocoaPodHandler; - case E_BLOCK_COMMAND_BLOCK: return ItemCommandBlockHandler; - case E_BLOCK_CONCRETE: return ItemConcreteBlockHandler; - case E_BLOCK_CONCRETE_POWDER: return ItemConcretePowderHandler; - case E_BLOCK_CRAFTING_TABLE: return ItemWorkbenchHandler; - case E_BLOCK_CYAN_GLAZED_TERRACOTTA: return ItemCyanGlazedTerracottaHandler; - case E_BLOCK_CYAN_SHULKER_BOX: return ItemCyanShulkerBoxHandler; - case E_BLOCK_DANDELION: return ItemDandelionHandler; - case E_BLOCK_DARK_OAK_DOOR: return ItemDarkOakDoorBlockHandler; - case E_BLOCK_DARK_OAK_FENCE: return ItemDarkOakFenceHandler; - case E_BLOCK_DARK_OAK_FENCE_GATE: return ItemDarkOakFenceGateHandler; - case E_BLOCK_DARK_OAK_WOOD_STAIRS: return ItemDarkOakStairsHandler; - case E_BLOCK_DAYLIGHT_SENSOR: return ItemDaylightSensorBlockHandler; - case E_BLOCK_DEAD_BUSH: return ItemDeadBushHandler; - case E_BLOCK_DETECTOR_RAIL: return ItemDetectorRailHandler; - case E_BLOCK_DIAMOND_BLOCK: return ItemDiamondBlockHandler; - case E_BLOCK_DIAMOND_ORE: return ItemDiamondOreHandler; - case E_BLOCK_DIRT: return ItemDirtHandler; - case E_BLOCK_DISPENSER: return ItemDispenserHandler; - case E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB: return ItemDoubleRedSandstoneSlabHandler; - case E_BLOCK_DOUBLE_STONE_SLAB: return ItemDoubleStoneSlabHandler; - case E_BLOCK_DOUBLE_WOODEN_SLAB: return ItemDoubleOakSlabHandler; - case E_BLOCK_DRAGON_EGG: return ItemDragonEggBlockHandler; - case E_BLOCK_DROPPER: return ItemDropperHandler; - case E_BLOCK_EMERALD_BLOCK: return ItemEmeraldBlockHandler; - case E_BLOCK_EMERALD_ORE: return ItemEmeraldOreHandler; - case E_BLOCK_ENCHANTMENT_TABLE: return ItemEnchantingTableHandler; - case E_BLOCK_ENDER_CHEST: return ItemEnderChestHandler; - case E_BLOCK_END_BRICKS: return ItemEndBricksHandler; - case E_BLOCK_END_GATEWAY: return ItemEndGatewayHandler; - case E_BLOCK_END_PORTAL: return ItemEndPortalBlockHandler; - case E_BLOCK_END_PORTAL_FRAME: return ItemEndPortalFrameHandler; - case E_BLOCK_END_ROD: return ItemEndRodHandler; - case E_BLOCK_END_STONE: return ItemEndStoneBlockHandler; - case E_BLOCK_FARMLAND: return ItemFarmlandHandler; - case E_BLOCK_FENCE: return ItemOakFenceHandler; - case E_BLOCK_FIRE: return ItemFireBlockHandler; - case E_BLOCK_FLOWER: return ItemPoppyHandler; - case E_BLOCK_FLOWER_POT: return ItemFlowerPotBlockHandler; - case E_BLOCK_FROSTED_ICE: return ItemFrostedIceHandler; - case E_BLOCK_FURNACE: return ItemFurnaceHandler; - case E_BLOCK_GLASS: return ItemGlassHandler; - case E_BLOCK_GLASS_PANE: return ItemGlassPaneHandler; - case E_BLOCK_GLOWSTONE: return ItemGlowstoneBlockHandler; - case E_BLOCK_GOLD_BLOCK: return ItemGoldBlockHandler; - case E_BLOCK_GOLD_ORE: return ItemGoldOreHandler; - case E_BLOCK_GRASS: return ItemGrassBlockHandler; - case E_BLOCK_GRASS_PATH: return ItemGrassPathHandler; - case E_BLOCK_GRAVEL: return ItemGravelHandler; - case E_BLOCK_GRAY_GLAZED_TERRACOTTA: return ItemGrayGlazedTerracottaHandler; - case E_BLOCK_GRAY_SHULKER_BOX: return ItemGrayShulkerBoxHandler; - case E_BLOCK_GREEN_GLAZED_TERRACOTTA: return ItemGreenGlazedTerracottaHandler; - case E_BLOCK_GREEN_SHULKER_BOX: return ItemGreenShulkerBoxHandler; - case E_BLOCK_HARDENED_CLAY: return ItemHardenedClayHandler; - case E_BLOCK_HAY_BALE: return ItemHayBaleHandler; - case E_BLOCK_HEAD: return ItemHeadBlockHandler; - case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: return ItemHeavyWeightedPressurePlateHandler; - case E_BLOCK_HOPPER: return ItemHopperHandler; - case E_BLOCK_HUGE_BROWN_MUSHROOM: return ItemHugeBrownMushroomBlockHandler; - case E_BLOCK_HUGE_RED_MUSHROOM: return ItemHugeRedMushroomBlockHandler; - case E_BLOCK_ICE: return ItemIceHandler; - case E_BLOCK_INACTIVE_COMPARATOR: return ItemInactiveComparatorHandler; - case E_BLOCK_INVERTED_DAYLIGHT_SENSOR: return ItemInvertedDaylightSensorHandler; - case E_BLOCK_IRON_BARS: return ItemIronBarsBlockHandler; - case E_BLOCK_IRON_BLOCK: return ItemIronBlockHandler; - case E_BLOCK_IRON_DOOR: return ItemIronDoorBlockHandler; - case E_BLOCK_IRON_ORE: return ItemIronOreHandler; - case E_BLOCK_IRON_TRAPDOOR: return ItemIronTrapdoorHandler; - case E_BLOCK_JACK_O_LANTERN: return ItemJackOLanternHandler; - case E_BLOCK_JUKEBOX: return ItemJukeboxHandler; - case E_BLOCK_JUNGLE_DOOR: return ItemJungleDoorBlockHandler; - case E_BLOCK_JUNGLE_FENCE: return ItemJungleFenceHandler; - case E_BLOCK_JUNGLE_FENCE_GATE: return ItemJungleFenceGateHandler; - case E_BLOCK_JUNGLE_WOOD_STAIRS: return ItemJungleStairsHandler; - case E_BLOCK_LADDER: return ItemLadderHandler; - case E_BLOCK_LAPIS_BLOCK: return ItemLapisBlockHandler; - case E_BLOCK_LAPIS_ORE: return ItemLapisOreHandler; - case E_BLOCK_LAVA: return ItemLavaHandler; - case E_BLOCK_LEAVES: return ItemLeavesHandler; - case E_BLOCK_LEVER: return ItemLeverHandler; - case E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA: return ItemLightBlueGlazedTerracottaHandler; - case E_BLOCK_LIGHT_BLUE_SHULKER_BOX: return ItemLightBlueShulkerBoxHandler; - case E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA: return ItemLightGrayGlazedTerracottaHandler; - case E_BLOCK_LIGHT_GRAY_SHULKER_BOX: return ItemLightGrayShulkerBoxHandler; - case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: return ItemLightWeightedPressurePlateHandler; - case E_BLOCK_LILY_PAD: return ItemLilypadHandler; - case E_BLOCK_LIME_GLAZED_TERRACOTTA: return ItemLimeGlazedTerracottaHandler; - case E_BLOCK_LIME_SHULKER_BOX: return ItemLimeShulkerBoxHandler; - case E_BLOCK_LIT_FURNACE: return ItemLitFurnaceHandler; - case E_BLOCK_LOG: return ItemLogHandler; - case E_BLOCK_MAGENTA_GLAZED_TERRACOTTA: return ItemMagentaGlazedTerracottaHandler; - case E_BLOCK_MAGENTA_SHULKER_BOX: return ItemMagentaShulkerBoxHandler; - case E_BLOCK_MAGMA: return ItemMagmaBlockHandler; - case E_BLOCK_MELON: return ItemMelonBlockHandler; - case E_BLOCK_MELON_STEM: return ItemMelonStemHandler; - case E_BLOCK_MOB_SPAWNER: return ItemMobSpawnerBlockHandler; - case E_BLOCK_MOSSY_COBBLESTONE: return ItemMossyCobblestoneHandler; - case E_BLOCK_MYCELIUM: return ItemMyceliumHandler; - case E_BLOCK_NETHERRACK: return ItemNetherrackHandler; - case E_BLOCK_NETHER_BRICK: return ItemNetherBricksHandler; - case E_BLOCK_NETHER_BRICK_FENCE: return ItemNetherBrickFenceHandler; - case E_BLOCK_NETHER_BRICK_STAIRS: return ItemNetherBrickStairsHandler; - case E_BLOCK_NETHER_PORTAL: return ItemNetherPortalBlockHandler; - case E_BLOCK_NETHER_QUARTZ_ORE: return ItemNetherQuartzOreHandler; - case E_BLOCK_NETHER_WART: return ItemNetherWartTechnicalBlockHandler; - case E_BLOCK_NETHER_WART_BLOCK: return ItemNetherWartBlockHandler; - case E_BLOCK_NEW_LEAVES: return ItemNewLeavesHandler; - case E_BLOCK_NEW_LOG: return ItemNewLogHandler; - case E_BLOCK_NOTE_BLOCK: return ItemNoteBlockHandler; - case E_BLOCK_OAK_DOOR: return ItemOakDoorBlockHandler; - case E_BLOCK_OAK_FENCE_GATE: return ItemOakFenceGateHandler; - case E_BLOCK_OAK_WOOD_STAIRS: return ItemOakStairsHandler; - case E_BLOCK_OBSERVER: return ItemObserverHandler; - case E_BLOCK_OBSIDIAN: return ItemObsidianHandler; - case E_BLOCK_ORANGE_GLAZED_TERRACOTTA: return ItemOrangeGlazedTerracottaHandler; - case E_BLOCK_ORANGE_SHULKER_BOX: return ItemOrangeShulkerBoxHandler; - case E_BLOCK_PACKED_ICE: return ItemPackedIceHandler; - case E_BLOCK_PINK_GLAZED_TERRACOTTA: return ItemPinkGlazedTerracottaHandler; - case E_BLOCK_PINK_SHULKER_BOX: return ItemPinkShulkerBoxHandler; - case E_BLOCK_PISTON: return ItemPistonHandler; - case E_BLOCK_PISTON_EXTENSION: return ItemPistonExtensionHandler; - case E_BLOCK_PISTON_MOVED_BLOCK: return ItemPistonMovedBlockHandler; - case E_BLOCK_PLANKS: return ItemPlanksHandler; - case E_BLOCK_POTATOES: return ItemPotatoesBlockHandler; - case E_BLOCK_POWERED_RAIL: return ItemPoweredRailHandler; - case E_BLOCK_PRISMARINE_BLOCK: return ItemPrismarineBlockHandler; - case E_BLOCK_PUMPKIN: return ItemPumpkinHandler; - case E_BLOCK_PUMPKIN_STEM: return ItemPumpkinStemHandler; - case E_BLOCK_PURPLE_GLAZED_TERRACOTTA: return ItemPurpleGlazedTerracottaHandler; - case E_BLOCK_PURPLE_SHULKER_BOX: return ItemPurpleShulkerBoxHandler; - case E_BLOCK_PURPUR_BLOCK: return ItemPurpurBlockHandler; - case E_BLOCK_PURPUR_DOUBLE_SLAB: return ItemPurpurDoubleSlabHandler; - case E_BLOCK_PURPUR_PILLAR: return ItemPurpurPillarHandler; - case E_BLOCK_PURPUR_SLAB: return ItemPurpurSlabHandler; - case E_BLOCK_PURPUR_STAIRS: return ItemPurpurStairsHandler; - case E_BLOCK_QUARTZ_BLOCK: return ItemQuartzBlockHandler; - case E_BLOCK_QUARTZ_STAIRS: return ItemQuartzStairsHandler; - case E_BLOCK_RAIL: return ItemRailHandler; - case E_BLOCK_REDSTONE_LAMP_OFF: return ItemRedstoneLampOffHandler; - case E_BLOCK_REDSTONE_LAMP_ON: return ItemRedstoneLampOnHandler; - case E_BLOCK_REDSTONE_ORE: return ItemRedstoneOreHandler; - case E_BLOCK_REDSTONE_ORE_GLOWING: return ItemRedstoneOreGlowingHandler; - case E_BLOCK_REDSTONE_REPEATER_OFF: return ItemRedstoneRepeaterOffHandler; - case E_BLOCK_REDSTONE_REPEATER_ON: return ItemRedstoneRepeaterOnHandler; - case E_BLOCK_REDSTONE_TORCH_OFF: return ItemRedstoneTorchOffBlockHandler; - case E_BLOCK_REDSTONE_TORCH_ON: return ItemRedstoneTorchHandler; - case E_BLOCK_REDSTONE_WIRE: return ItemRedstoneWireHandler; - case E_BLOCK_RED_GLAZED_TERRACOTTA: return ItemRedGlazedTerracottaHandler; - case E_BLOCK_RED_MUSHROOM: return ItemRedMushroomBlockHandler; - case E_BLOCK_RED_NETHER_BRICK: return ItemRedNetherBricksHandler; - case E_BLOCK_RED_SANDSTONE: return ItemRedSandstoneHandler; - case E_BLOCK_RED_SANDSTONE_SLAB: return ItemRedSandstoneSlabHandler; - case E_BLOCK_RED_SANDSTONE_STAIRS: return ItemRedSandstoneStairsHandler; - case E_BLOCK_RED_SHULKER_BOX: return ItemRedShulkerBoxHandler; - case E_BLOCK_REPEATING_COMMAND_BLOCK: return ItemRepeatingCommandBlockHandler; - case E_BLOCK_SAND: return ItemSandHandler; - case E_BLOCK_SANDSTONE: return ItemSandstoneHandler; - case E_BLOCK_SANDSTONE_STAIRS: return ItemSandstoneStairsHandler; - case E_BLOCK_SAPLING: return ItemSaplingHandler; - case E_BLOCK_SEA_LANTERN: return ItemSeaLanternHandler; - case E_BLOCK_SIGN_POST: return ItemSignPostHandler; - case E_BLOCK_SILVERFISH_EGG: return ItemSilverfishEggBlockHandler; - case E_BLOCK_SLIME_BLOCK: return ItemSlimeBlockHandler; - case E_BLOCK_SNOW: return ItemSnowHandler; - case E_BLOCK_SNOW_BLOCK: return ItemSnowBlockHandler; - case E_BLOCK_SOULSAND: return ItemSoulsandHandler; - case E_BLOCK_SPONGE: return ItemSpongeHandler; - case E_BLOCK_SPRUCE_DOOR: return ItemSpruceDoorBlockHandler; - case E_BLOCK_SPRUCE_FENCE: return ItemSpruceFenceHandler; - case E_BLOCK_SPRUCE_FENCE_GATE: return ItemSpruceFenceGateHandler; - case E_BLOCK_SPRUCE_WOOD_STAIRS: return ItemSpruceStairsHandler; - case E_BLOCK_STAINED_GLASS: return ItemStainedGlassHandler; - case E_BLOCK_STAINED_GLASS_PANE: return ItemStainedGlassPaneHandler; - case E_BLOCK_STANDING_BANNER: return ItemStandingBannerHandler; - case E_BLOCK_STATIONARY_LAVA : return ItemStationaryLavaHandler; - case E_BLOCK_STATIONARY_WATER: return ItemStationaryWaterHandler; - case E_BLOCK_STICKY_PISTON: return ItemStickyPistonHandler; - case E_BLOCK_STONE: return ItemStoneHandler; - case E_BLOCK_STONE_BRICKS: return ItemStoneBricksHandler; - case E_BLOCK_STONE_BRICK_STAIRS: return ItemStoneBrickStairsHandler; - case E_BLOCK_STONE_BUTTON: return ItemStoneButtonHandler; - case E_BLOCK_STONE_PRESSURE_PLATE: return ItemStonePressurePlateHandler; - case E_BLOCK_STONE_SLAB: return ItemStoneSlabHandler; - case E_BLOCK_STRUCTURE_BLOCK: return ItemStructureBlockHandler; - case E_BLOCK_STRUCTURE_VOID: return ItemStructureVoidHandler; - case E_BLOCK_SUGARCANE: return ItemSugarCaneBlockHandler; - case E_BLOCK_TALL_GRASS: return ItemTallGrassHandler; - case E_BLOCK_TERRACOTTA: return ItemTerracottaHandler; - case E_BLOCK_TNT: return ItemTNTHandler; - case E_BLOCK_TORCH: return ItemTorchHandler; - case E_BLOCK_TRAPDOOR: return ItemOakTrapdoorHandler; - case E_BLOCK_TRAPPED_CHEST: return ItemTrappedChestHandler; - case E_BLOCK_TRIPWIRE: return ItemTripwireHandler; - case E_BLOCK_TRIPWIRE_HOOK: return ItemTripwireHookHandler; - case E_BLOCK_VINES: return ItemVinesHandler; - case E_BLOCK_WALLSIGN: return ItemWallsignHandler; - case E_BLOCK_WALL_BANNER: return ItemWallBannerHandler; - case E_BLOCK_WATER: return ItemWaterHandler; - case E_BLOCK_WHEAT: return ItemWheatBlockHandler; - case E_BLOCK_WHITE_GLAZED_TERRACOTTA: return ItemWhiteGlazedTerracottaHandler; - case E_BLOCK_WHITE_SHULKER_BOX: return ItemWhiteShulkerBoxHandler; - case E_BLOCK_WOODEN_BUTTON: return ItemOakButtonHandler; - case E_BLOCK_WOODEN_PRESSURE_PLATE: return ItemWoodenPressurePlateHandler; - case E_BLOCK_WOODEN_SLAB: return ItemOakSlabHandler; - case E_BLOCK_WOOL: return ItemWoolHandler; - case E_BLOCK_YELLOW_GLAZED_TERRACOTTA: return ItemYellowGlazedTerracottaHandler; - case E_BLOCK_YELLOW_SHULKER_BOX: return ItemYellowShulkerBoxHandler; - case E_ITEM_11_DISC: return Item11DiscHandler; - case E_ITEM_13_DISC: return Item13DiscHandler; - case E_ITEM_ACACIA_BOAT: return ItemAcaciaBoatHandler; - case E_ITEM_ACACIA_DOOR: return ItemAcaciaDoorHandler; - case E_ITEM_ARMOR_STAND: return ItemArmorStandHandler; - case E_ITEM_ARROW: return ItemArrowHandler; - case E_ITEM_BAKED_POTATO: return ItemBakedPotatoHandler; - case E_ITEM_BANNER: return ItemBannerHandler; - case E_ITEM_BED: return ItemBedHandler; - case E_ITEM_BEETROOT: return ItemBeetrootHandler; - case E_ITEM_BEETROOT_SEEDS: return ItemBeetrootSeedsHandler; - case E_ITEM_BEETROOT_SOUP: return ItemBeetrootSoupHandler; - case E_ITEM_BIRCH_BOAT: return ItemBirchBoatHandler; - case E_ITEM_BIRCH_DOOR: return ItemBirchDoorHandler; - case E_ITEM_BLAZE_POWDER: return ItemBlazePowderHandler; - case E_ITEM_BLAZE_ROD: return ItemBlazeRodHandler; - case E_ITEM_BLOCKS_DISC: return ItemBlocksDiscHandler; - case E_ITEM_BOAT: return ItemOakBoatHandler; - case E_ITEM_BONE: return ItemBoneHandler; - case E_ITEM_BOOK: return ItemBookHandler; - case E_ITEM_BOOK_AND_QUILL: return ItemBookAndQuillHandler; - case E_ITEM_BOTTLE_O_ENCHANTING: return ItemBottleOEnchantingHandler; - case E_ITEM_BOW: return ItemBowHandler; - case E_ITEM_BOWL: return ItemBowlHandler; - case E_ITEM_BREAD: return ItemBreadHandler; - case E_ITEM_BREWING_STAND: return ItemBrewingStandHandler; - case E_ITEM_BUCKET: return ItemBucketHandler; - case E_ITEM_CAKE: return ItemCakeHandler; - case E_ITEM_CARROT: return ItemCarrotHandler; - case E_ITEM_CARROT_ON_STICK: return ItemCarrotOnStickHandler; - case E_ITEM_CAT_DISC: return ItemCatDiscHandler; - case E_ITEM_CAULDRON: return ItemCauldronHandler; - case E_ITEM_CHAIN_BOOTS: return ItemChainBootsHandler; - case E_ITEM_CHAIN_CHESTPLATE: return ItemChainChestplateHandler; - case E_ITEM_CHAIN_HELMET: return ItemChainHelmetHandler; - case E_ITEM_CHAIN_LEGGINGS: return ItemChainLeggingsHandler; - case E_ITEM_CHEST_MINECART: return ItemChestMinecartHandler; - case E_ITEM_CHIRP_DISC: return ItemChirpDiscHandler; - case E_ITEM_CHORUS_FRUIT: return ItemChorusFruitHandler; - case E_ITEM_CLAY: return ItemClayHandler; - case E_ITEM_CLAY_BRICK: return ItemBricksHandler; - case E_ITEM_CLOCK: return ItemClockHandler; - case E_ITEM_COAL: return ItemCoalHandler; - case E_ITEM_COMPARATOR: return ItemComparatorHandler; - case E_ITEM_COMPASS: return ItemCompassHandler; - case E_ITEM_COOKED_CHICKEN: return ItemCookedChickenHandler; - case E_ITEM_COOKED_FISH: return ItemCookedFishHandler; - case E_ITEM_COOKED_MUTTON: return ItemCookedMuttonHandler; - case E_ITEM_COOKED_PORKCHOP: return ItemCookedPorkchopHandler; - case E_ITEM_COOKED_RABBIT: return ItemCookedRabbitHandler; - case E_ITEM_COOKIE: return ItemCookieHandler; - case E_ITEM_DARK_OAK_BOAT: return ItemDarkOakBoatHandler; - case E_ITEM_DARK_OAK_DOOR: return ItemDarkOakDoorHandler; - case E_ITEM_DIAMOND: return ItemDiamondHandler; - case E_ITEM_DIAMOND_AXE: return ItemDiamondAxeHandler; - case E_ITEM_DIAMOND_BOOTS: return ItemDiamondBootsHandler; - case E_ITEM_DIAMOND_CHESTPLATE: return ItemDiamondChestplateHandler; - case E_ITEM_DIAMOND_HELMET: return ItemDiamondHelmetHandler; - case E_ITEM_DIAMOND_HOE: return ItemDiamondHoeHandler; - case E_ITEM_DIAMOND_HORSE_ARMOR: return ItemDiamondHorseArmorHandler; - case E_ITEM_DIAMOND_LEGGINGS: return ItemDiamondLeggingsHandler; - case E_ITEM_DIAMOND_PICKAXE: return ItemDiamondPickaxeHandler; - case E_ITEM_DIAMOND_SHOVEL: return ItemDiamondShovelHandler; - case E_ITEM_DIAMOND_SWORD: return ItemDiamondSwordHandler; - case E_ITEM_DRAGON_BREATH: return ItemDragonBreathHandler; - case E_ITEM_DYE: return ItemDyeHandler; - case E_ITEM_EGG: return ItemEggHandler; - case E_ITEM_ELYTRA: return ItemElytraHandler; - case E_ITEM_EMERALD: return ItemEmeraldHandler; - case E_ITEM_EMPTY_MAP: return ItemEmptyMapHandler; - case E_ITEM_ENCHANTED_BOOK: return ItemEnchantedBookHandler; - case E_ITEM_ENDER_PEARL: return ItemEnderPearlHandler; - case E_ITEM_END_CRYSTAL: return ItemEndCrystalHandler; - case E_ITEM_EYE_OF_ENDER: return ItemEyeOfEnderHandler; - case E_ITEM_FAR_DISC: return ItemFarDiscHandler; - case E_ITEM_FEATHER: return ItemFeatherHandler; - case E_ITEM_FERMENTED_SPIDER_EYE: return ItemFermentedSpiderEyeHandler; - case E_ITEM_FIREWORK_ROCKET: return ItemFireworkRocketHandler; - case E_ITEM_FIREWORK_STAR: return ItemFireworkStarHandler; - case E_ITEM_FIRE_CHARGE: return ItemFireChargeHandler; - case E_ITEM_FISHING_ROD: return ItemFishingRodHandler; - case E_ITEM_FLINT: return ItemFlintHandler; - case E_ITEM_FLINT_AND_STEEL: return ItemFlintAndSteelHandler; - case E_ITEM_FLOWER_POT: return ItemFlowerPotHandler; - case E_ITEM_FURNACE_MINECART: return ItemFurnaceMinecartHandler; - case E_ITEM_GHAST_TEAR: return ItemGhastTearHandler; - case E_ITEM_GLASS_BOTTLE: return ItemGlassBottleHandler; - case E_ITEM_GLISTERING_MELON: return ItemGlisteringMelonHandler; - case E_ITEM_GLOWSTONE_DUST: return ItemGlowstoneDustHandler; - case E_ITEM_GOLD: return ItemGoldHandler; - case E_ITEM_GOLDEN_APPLE: return ItemGoldenAppleHandler; - case E_ITEM_GOLDEN_CARROT: return ItemGoldenCarrotHandler; - case E_ITEM_GOLD_AXE: return ItemGoldenAxeHandler; - case E_ITEM_GOLD_BOOTS: return ItemGoldenBootsHandler; - case E_ITEM_GOLD_CHESTPLATE: return ItemGoldenChestplateHandler; - case E_ITEM_GOLD_HELMET: return ItemGoldenHelmetHandler; - case E_ITEM_GOLD_HOE: return ItemGoldenHoeHandler; - case E_ITEM_GOLD_HORSE_ARMOR: return ItemGoldenHorseArmorHandler; - case E_ITEM_GOLD_LEGGINGS: return ItemGoldenLeggingsHandler; - case E_ITEM_GOLD_NUGGET: return ItemGoldNuggetHandler; - case E_ITEM_GOLD_PICKAXE: return ItemGoldenPickaxeHandler; - case E_ITEM_GOLD_SHOVEL: return ItemGoldenShovelHandler; - case E_ITEM_GOLD_SWORD: return ItemGoldenSwordHandler; - case E_ITEM_GUNPOWDER: return ItemGunpowderHandler; - case E_ITEM_HEAD: return ItemHeadHandler; - case E_ITEM_IRON: return ItemIronHandler; - case E_ITEM_IRON_AXE: return ItemIronAxeHandler; - case E_ITEM_IRON_BOOTS: return ItemIronBootsHandler; - case E_ITEM_IRON_CHESTPLATE: return ItemIronChestplateHandler; - case E_ITEM_IRON_DOOR: return ItemIronDoorHandler; - case E_ITEM_IRON_HELMET: return ItemIronHelmetHandler; - case E_ITEM_IRON_HOE: return ItemIronHoeHandler; - case E_ITEM_IRON_HORSE_ARMOR: return ItemIronHorseArmorHandler; - case E_ITEM_IRON_LEGGINGS: return ItemIronLeggingsHandler; - case E_ITEM_IRON_NUGGET: return ItemIronNuggetHandler; - case E_ITEM_IRON_PICKAXE: return ItemIronPickaxeHandler; - case E_ITEM_IRON_SHOVEL: return ItemIronShovelHandler; - case E_ITEM_IRON_SWORD: return ItemIronSwordHandler; - case E_ITEM_ITEM_FRAME: return ItemItemFrameHandler; - case E_ITEM_JUNGLE_BOAT: return ItemJungleBoatHandler; - case E_ITEM_JUNGLE_DOOR: return ItemJungleDoorHandler; - case E_ITEM_LAVA_BUCKET: return ItemLavaBucketHandler; - case E_ITEM_LEASH: return ItemLeashHandler; - case E_ITEM_LEATHER: return ItemLeatherHandler; - case E_ITEM_LEATHER_BOOTS: return ItemLeatherBootsHandler; - case E_ITEM_LEATHER_CAP: return ItemLeatherCapHandler; - case E_ITEM_LEATHER_PANTS: return ItemLeatherPantsHandler; - case E_ITEM_LEATHER_TUNIC: return ItemLeatherTunicHandler; - case E_ITEM_LINGERING_POTION: return ItemLingeringPotionHandler; - case E_ITEM_MAGMA_CREAM: return ItemMagmaCreamHandler; - case E_ITEM_MALL_DISC: return ItemMallDiscHandler; - case E_ITEM_MAP: return ItemMapHandler; - case E_ITEM_MELLOHI_DISC: return ItemMellohiDiscHandler; - case E_ITEM_MELON_SEEDS: return ItemMelonSeedsHandler; - case E_ITEM_MELON_SLICE: return ItemMelonSliceHandler; - case E_ITEM_MILK: return ItemMilkHandler; - case E_ITEM_MINECART: return ItemMinecartHandler; - case E_ITEM_MINECART_WITH_COMMAND_BLOCK: return ItemMinecartWithCommandBlockHandler; - case E_ITEM_MINECART_WITH_HOPPER: return ItemMinecartWithHopperHandler; - case E_ITEM_MINECART_WITH_TNT: return ItemMinecartWithTNTHandler; - case E_ITEM_MUSHROOM_SOUP: return ItemMushroomSoupHandler; - case E_ITEM_NAME_TAG: return ItemNameTagHandler; - case E_ITEM_NETHER_BRICK: return ItemNetherBrickHandler; - case E_ITEM_NETHER_QUARTZ: return ItemNetherQuartzHandler; - case E_ITEM_NETHER_STAR: return ItemNetherStarHandler; - case E_ITEM_NETHER_WART: return ItemNetherWartHandler; - case E_ITEM_PAINTING: return ItemPaintingHandler; - case E_ITEM_PAPER: return ItemPaperHandler; - case E_ITEM_POISONOUS_POTATO: return ItemPoisonousPotatoHandler; - case E_ITEM_POPPED_CHORUS_FRUIT: return ItemPoppedChorusFruitHandler; - case E_ITEM_POTATO: return ItemPotatoHandler; - case E_ITEM_POTION: return ItemPotionHandler; - case E_ITEM_PRISMARINE_CRYSTALS: return ItemPrismarineCrystalsHandler; - case E_ITEM_PRISMARINE_SHARD: return ItemPrismarineShardHandler; - case E_ITEM_PUMPKIN_PIE: return ItemPumpkinPieHandler; - case E_ITEM_PUMPKIN_SEEDS: return ItemPumpkinSeedsHandler; - case E_ITEM_RABBITS_FOOT: return ItemRabbitsFootHandler; - case E_ITEM_RABBIT_HIDE: return ItemRabbitHideHandler; - case E_ITEM_RABBIT_STEW: return ItemRabbitStewHandler; - case E_ITEM_RAW_BEEF: return ItemRawBeefHandler; - case E_ITEM_RAW_CHICKEN: return ItemRawChickenHandler; - case E_ITEM_RAW_FISH: return ItemRawFishHandler; - case E_ITEM_RAW_MUTTON: return ItemRawMuttonHandler; - case E_ITEM_RAW_PORKCHOP: return ItemRawPorkchopHandler; - case E_ITEM_RAW_RABBIT: return ItemRawRabbitHandler; - case E_ITEM_REDSTONE_DUST: return ItemRedstoneDustHandler; - case E_ITEM_REDSTONE_REPEATER: return ItemRedstoneRepeaterHandler; - case E_ITEM_RED_APPLE: return ItemAppleHandler; - case E_ITEM_ROTTEN_FLESH: return ItemRottenFleshHandler; - case E_ITEM_SADDLE: return ItemSaddleHandler; - case E_ITEM_SEEDS: return ItemSeedsHandler; - case E_ITEM_SHEARS: return ItemShearsHandler; - case E_ITEM_SHIELD: return ItemShieldHandler; - case E_ITEM_SHULKER_SHELL: return ItemShulkerShellHandler; - case E_ITEM_SIGN: return ItemSignHandler; - case E_ITEM_SLIMEBALL: return ItemSlimeballHandler; - case E_ITEM_SNOWBALL: return ItemSnowballHandler; - case E_ITEM_SPAWN_EGG: return ItemSpawnEggHandler; - case E_ITEM_SPECTRAL_ARROW: return ItemSpectralArrowHandler; - case E_ITEM_SPIDER_EYE: return ItemSpiderEyeHandler; - case E_ITEM_SPLASH_POTION: return ItemSplashPotionHandler; - case E_ITEM_SPRUCE_BOAT: return ItemSpruceBoatHandler; - case E_ITEM_SPRUCE_DOOR: return ItemSpruceDoorHandler; - case E_ITEM_STAL_DISC: return ItemStalDiscHandler; - case E_ITEM_STEAK: return ItemCookedBeefHandler; - case E_ITEM_STICK: return ItemStickHandler; - case E_ITEM_STONE_AXE: return ItemStoneAxeHandler; - case E_ITEM_STONE_HOE: return ItemStoneHoeHandler; - case E_ITEM_STONE_PICKAXE: return ItemStonePickaxeHandler; - case E_ITEM_STONE_SHOVEL: return ItemStoneShovelHandler; - case E_ITEM_STONE_SWORD: return ItemStoneSwordHandler; - case E_ITEM_STRAD_DISC: return ItemStradDiscHandler; - case E_ITEM_STRING: return ItemStringHandler; - case E_ITEM_SUGAR: return ItemSugarHandler; - case E_ITEM_SUGAR_CANE: return ItemSugarCaneHandler; - case E_ITEM_TIPPED_ARROW: return ItemTippedArrowHandler; - case E_ITEM_TOTEM_OF_UNDYING: return ItemTotemOfUndyingHandler; - case E_ITEM_WAIT_DISC: return ItemWaitDiscHandler; - case E_ITEM_WARD_DISC: return ItemWardDiscHandler; - case E_ITEM_WATER_BUCKET: return ItemWaterBucketHandler; - case E_ITEM_WHEAT: return ItemWheatHandler; - case E_ITEM_WOODEN_AXE: return ItemWoodenAxeHandler; - case E_ITEM_WOODEN_DOOR: return ItemOakDoorHandler; - case E_ITEM_WOODEN_HOE: return ItemWoodenHoeHandler; - case E_ITEM_WOODEN_PICKAXE: return ItemWoodenPickaxeHandler; - case E_ITEM_WOODEN_SHOVEL: return ItemWoodenShovelHandler; - case E_ITEM_WOODEN_SWORD: return ItemWoodenSwordHandler; - case E_ITEM_WRITTEN_BOOK: return ItemWrittenBookHandler; - + case E_BLOCK_ACACIA_DOOR: return ItemAcaciaDoorBlockHandler; + case E_BLOCK_ACACIA_FENCE: return ItemAcaciaFenceHandler; + case E_BLOCK_ACACIA_FENCE_GATE: return ItemAcaciaFenceGateHandler; + case E_BLOCK_ACACIA_WOOD_STAIRS: return ItemAcaciaStairsHandler; + case E_BLOCK_ACTIVATOR_RAIL: return ItemActivatorRailHandler; + case E_BLOCK_ACTIVE_COMPARATOR: return ItemActiveComparatorHandler; + case E_BLOCK_AIR: return ItemAirHandler; + case E_BLOCK_ANVIL: return ItemAnvilHandler; + case E_BLOCK_BARRIER: return ItemBarrierHandler; + case E_BLOCK_BEACON: return ItemBeaconHandler; + case E_BLOCK_BED: return ItemBedBlockHandler; + case E_BLOCK_BEDROCK: return ItemBedrockHandler; + case E_BLOCK_BEETROOTS: return ItemBeetrootsBlockHandler; + case E_BLOCK_BIG_FLOWER: return ItemBigFlowerHandler; + case E_BLOCK_BIRCH_DOOR: return ItemBirchDoorBlockHandler; + case E_BLOCK_BIRCH_FENCE: return ItemBirchFenceHandler; + case E_BLOCK_BIRCH_FENCE_GATE: return ItemBirchFenceGateHandler; + case E_BLOCK_BIRCH_WOOD_STAIRS: return ItemBirchStairsHandler; + case E_BLOCK_BLACK_GLAZED_TERRACOTTA: return ItemBlackGlazedTerracottaHandler; + case E_BLOCK_BLACK_SHULKER_BOX: return ItemBlackShulkerBoxHandler; + case E_BLOCK_BLOCK_OF_COAL: return ItemCoalBlockHandler; + case E_BLOCK_BLOCK_OF_REDSTONE: return ItemRedstoneBlockHandler; + case E_BLOCK_BLUE_GLAZED_TERRACOTTA: return ItemBlueGlazedTerracottaHandler; + case E_BLOCK_BLUE_SHULKER_BOX: return ItemBlueShulkerBoxHandler; + case E_BLOCK_BONE_BLOCK: return ItemBoneBlockHandler; + case E_BLOCK_BOOKCASE: return ItemBookshelfHandler; + case E_BLOCK_BREWING_STAND: return ItemBrewingStandBlockHandler; + case E_BLOCK_BRICK: return ItemBrickHandler; + case E_BLOCK_BRICK_STAIRS: return ItemBricksStairsHandler; + case E_BLOCK_BROWN_GLAZED_TERRACOTTA: return ItemBrownGlazedTerracottaHandler; + case E_BLOCK_BROWN_MUSHROOM: return ItemBrownMushroomBlockHandler; + case E_BLOCK_BROWN_SHULKER_BOX: return ItemBrownShulkerBoxHandler; + case E_BLOCK_CACTUS: return ItemCactusHandler; + case E_BLOCK_CAKE: return ItemCakeBlockHandler; + case E_BLOCK_CARPET: return ItemCarpetHandler; + case E_BLOCK_CARROTS: return ItemCarrotsBlockHandler; + case E_BLOCK_CAULDRON: return ItemCauldronBlockHandler; + case E_BLOCK_CHAIN_COMMAND_BLOCK: return ItemChainCommandBlockHandler; + case E_BLOCK_CHEST: return ItemChestHandler; + case E_BLOCK_CHORUS_FLOWER: return ItemChorusFlowerHandler; + case E_BLOCK_CHORUS_PLANT: return ItemChorusPlantHandler; + case E_BLOCK_CLAY: return ItemClayBlockHandler; + case E_BLOCK_COAL_ORE: return ItemCoalOreHandler; + case E_BLOCK_COBBLESTONE: return ItemCobblestoneHandler; + case E_BLOCK_COBBLESTONE_STAIRS: return ItemCobblestoneStairsHandler; + case E_BLOCK_COBBLESTONE_WALL: return ItemCobblestoneWallHandler; + case E_BLOCK_COBWEB: return ItemCobwebHandler; + case E_BLOCK_COCOA_POD: return ItemCocoaPodHandler; + case E_BLOCK_COMMAND_BLOCK: return ItemCommandBlockHandler; + case E_BLOCK_CONCRETE: return ItemConcreteBlockHandler; + case E_BLOCK_CONCRETE_POWDER: return ItemConcretePowderHandler; + case E_BLOCK_CRAFTING_TABLE: return ItemWorkbenchHandler; + case E_BLOCK_CYAN_GLAZED_TERRACOTTA: return ItemCyanGlazedTerracottaHandler; + case E_BLOCK_CYAN_SHULKER_BOX: return ItemCyanShulkerBoxHandler; + case E_BLOCK_DANDELION: return ItemDandelionHandler; + case E_BLOCK_DARK_OAK_DOOR: return ItemDarkOakDoorBlockHandler; + case E_BLOCK_DARK_OAK_FENCE: return ItemDarkOakFenceHandler; + case E_BLOCK_DARK_OAK_FENCE_GATE: return ItemDarkOakFenceGateHandler; + case E_BLOCK_DARK_OAK_WOOD_STAIRS: return ItemDarkOakStairsHandler; + case E_BLOCK_DAYLIGHT_SENSOR: return ItemDaylightSensorBlockHandler; + case E_BLOCK_DEAD_BUSH: return ItemDeadBushHandler; + case E_BLOCK_DETECTOR_RAIL: return ItemDetectorRailHandler; + case E_BLOCK_DIAMOND_BLOCK: return ItemDiamondBlockHandler; + case E_BLOCK_DIAMOND_ORE: return ItemDiamondOreHandler; + case E_BLOCK_DIRT: return ItemDirtHandler; + case E_BLOCK_DISPENSER: return ItemDispenserHandler; + case E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB: return ItemDoubleRedSandstoneSlabHandler; + case E_BLOCK_DOUBLE_STONE_SLAB: return ItemDoubleStoneSlabHandler; + case E_BLOCK_DOUBLE_WOODEN_SLAB: return ItemDoubleOakSlabHandler; + case E_BLOCK_DRAGON_EGG: return ItemDragonEggBlockHandler; + case E_BLOCK_DROPPER: return ItemDropperHandler; + case E_BLOCK_EMERALD_BLOCK: return ItemEmeraldBlockHandler; + case E_BLOCK_EMERALD_ORE: return ItemEmeraldOreHandler; + case E_BLOCK_ENCHANTMENT_TABLE: return ItemEnchantingTableHandler; + case E_BLOCK_ENDER_CHEST: return ItemEnderChestHandler; + case E_BLOCK_END_BRICKS: return ItemEndBricksHandler; + case E_BLOCK_END_GATEWAY: return ItemEndGatewayHandler; + case E_BLOCK_END_PORTAL: return ItemEndPortalBlockHandler; + case E_BLOCK_END_PORTAL_FRAME: return ItemEndPortalFrameHandler; + case E_BLOCK_END_ROD: return ItemEndRodHandler; + case E_BLOCK_END_STONE: return ItemEndStoneBlockHandler; + case E_BLOCK_FARMLAND: return ItemFarmlandHandler; + case E_BLOCK_FENCE: return ItemOakFenceHandler; + case E_BLOCK_FIRE: return ItemFireBlockHandler; + case E_BLOCK_FLOWER: return ItemPoppyHandler; + case E_BLOCK_FLOWER_POT: return ItemFlowerPotBlockHandler; + case E_BLOCK_FROSTED_ICE: return ItemFrostedIceHandler; + case E_BLOCK_FURNACE: return ItemFurnaceHandler; + case E_BLOCK_GLASS: return ItemGlassHandler; + case E_BLOCK_GLASS_PANE: return ItemGlassPaneHandler; + case E_BLOCK_GLOWSTONE: return ItemGlowstoneBlockHandler; + case E_BLOCK_GOLD_BLOCK: return ItemGoldBlockHandler; + case E_BLOCK_GOLD_ORE: return ItemGoldOreHandler; + case E_BLOCK_GRASS: return ItemGrassBlockHandler; + case E_BLOCK_GRASS_PATH: return ItemGrassPathHandler; + case E_BLOCK_GRAVEL: return ItemGravelHandler; + case E_BLOCK_GRAY_GLAZED_TERRACOTTA: return ItemGrayGlazedTerracottaHandler; + case E_BLOCK_GRAY_SHULKER_BOX: return ItemGrayShulkerBoxHandler; + case E_BLOCK_GREEN_GLAZED_TERRACOTTA: return ItemGreenGlazedTerracottaHandler; + case E_BLOCK_GREEN_SHULKER_BOX: return ItemGreenShulkerBoxHandler; + case E_BLOCK_HARDENED_CLAY: return ItemHardenedClayHandler; + case E_BLOCK_HAY_BALE: return ItemHayBaleHandler; + case E_BLOCK_HEAD: return ItemHeadBlockHandler; + case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: return ItemHeavyWeightedPressurePlateHandler; + case E_BLOCK_HOPPER: return ItemHopperHandler; + case E_BLOCK_HUGE_BROWN_MUSHROOM: return ItemHugeBrownMushroomBlockHandler; + case E_BLOCK_HUGE_RED_MUSHROOM: return ItemHugeRedMushroomBlockHandler; + case E_BLOCK_ICE: return ItemIceHandler; + case E_BLOCK_INACTIVE_COMPARATOR: return ItemInactiveComparatorHandler; + case E_BLOCK_INVERTED_DAYLIGHT_SENSOR: return ItemInvertedDaylightSensorHandler; + case E_BLOCK_IRON_BARS: return ItemIronBarsBlockHandler; + case E_BLOCK_IRON_BLOCK: return ItemIronBlockHandler; + case E_BLOCK_IRON_DOOR: return ItemIronDoorBlockHandler; + case E_BLOCK_IRON_ORE: return ItemIronOreHandler; + case E_BLOCK_IRON_TRAPDOOR: return ItemIronTrapdoorHandler; + case E_BLOCK_JACK_O_LANTERN: return ItemJackOLanternHandler; + case E_BLOCK_JUKEBOX: return ItemJukeboxHandler; + case E_BLOCK_JUNGLE_DOOR: return ItemJungleDoorBlockHandler; + case E_BLOCK_JUNGLE_FENCE: return ItemJungleFenceHandler; + case E_BLOCK_JUNGLE_FENCE_GATE: return ItemJungleFenceGateHandler; + case E_BLOCK_JUNGLE_WOOD_STAIRS: return ItemJungleStairsHandler; + case E_BLOCK_LADDER: return ItemLadderHandler; + case E_BLOCK_LAPIS_BLOCK: return ItemLapisBlockHandler; + case E_BLOCK_LAPIS_ORE: return ItemLapisOreHandler; + case E_BLOCK_LAVA: return ItemLavaHandler; + case E_BLOCK_LEAVES: return ItemLeavesHandler; + case E_BLOCK_LEVER: return ItemLeverHandler; + case E_BLOCK_LIGHT_BLUE_GLAZED_TERRACOTTA: return ItemLightBlueGlazedTerracottaHandler; + case E_BLOCK_LIGHT_BLUE_SHULKER_BOX: return ItemLightBlueShulkerBoxHandler; + case E_BLOCK_LIGHT_GRAY_GLAZED_TERRACOTTA: return ItemLightGrayGlazedTerracottaHandler; + case E_BLOCK_LIGHT_GRAY_SHULKER_BOX: return ItemLightGrayShulkerBoxHandler; + case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: return ItemLightWeightedPressurePlateHandler; + case E_BLOCK_LILY_PAD: return ItemLilypadHandler; + case E_BLOCK_LIME_GLAZED_TERRACOTTA: return ItemLimeGlazedTerracottaHandler; + case E_BLOCK_LIME_SHULKER_BOX: return ItemLimeShulkerBoxHandler; + case E_BLOCK_LIT_FURNACE: return ItemLitFurnaceHandler; + case E_BLOCK_LOG: return ItemLogHandler; + case E_BLOCK_MAGENTA_GLAZED_TERRACOTTA: return ItemMagentaGlazedTerracottaHandler; + case E_BLOCK_MAGENTA_SHULKER_BOX: return ItemMagentaShulkerBoxHandler; + case E_BLOCK_MAGMA: return ItemMagmaBlockHandler; + case E_BLOCK_MELON: return ItemMelonBlockHandler; + case E_BLOCK_MELON_STEM: return ItemMelonStemHandler; + case E_BLOCK_MOB_SPAWNER: return ItemMobSpawnerBlockHandler; + case E_BLOCK_MOSSY_COBBLESTONE: return ItemMossyCobblestoneHandler; + case E_BLOCK_MYCELIUM: return ItemMyceliumHandler; + case E_BLOCK_NETHERRACK: return ItemNetherrackHandler; + case E_BLOCK_NETHER_BRICK: return ItemNetherBricksHandler; + case E_BLOCK_NETHER_BRICK_FENCE: return ItemNetherBrickFenceHandler; + case E_BLOCK_NETHER_BRICK_STAIRS: return ItemNetherBrickStairsHandler; + case E_BLOCK_NETHER_PORTAL: return ItemNetherPortalBlockHandler; + case E_BLOCK_NETHER_QUARTZ_ORE: return ItemNetherQuartzOreHandler; + case E_BLOCK_NETHER_WART: return ItemNetherWartTechnicalBlockHandler; + case E_BLOCK_NETHER_WART_BLOCK: return ItemNetherWartBlockHandler; + case E_BLOCK_NEW_LEAVES: return ItemNewLeavesHandler; + case E_BLOCK_NEW_LOG: return ItemNewLogHandler; + case E_BLOCK_NOTE_BLOCK: return ItemNoteBlockHandler; + case E_BLOCK_OAK_DOOR: return ItemOakDoorBlockHandler; + case E_BLOCK_OAK_FENCE_GATE: return ItemOakFenceGateHandler; + case E_BLOCK_OAK_WOOD_STAIRS: return ItemOakStairsHandler; + case E_BLOCK_OBSERVER: return ItemObserverHandler; + case E_BLOCK_OBSIDIAN: return ItemObsidianHandler; + case E_BLOCK_ORANGE_GLAZED_TERRACOTTA: return ItemOrangeGlazedTerracottaHandler; + case E_BLOCK_ORANGE_SHULKER_BOX: return ItemOrangeShulkerBoxHandler; + case E_BLOCK_PACKED_ICE: return ItemPackedIceHandler; + case E_BLOCK_PINK_GLAZED_TERRACOTTA: return ItemPinkGlazedTerracottaHandler; + case E_BLOCK_PINK_SHULKER_BOX: return ItemPinkShulkerBoxHandler; + case E_BLOCK_PISTON: return ItemPistonHandler; + case E_BLOCK_PISTON_EXTENSION: return ItemPistonExtensionHandler; + case E_BLOCK_PISTON_MOVED_BLOCK: return ItemPistonMovedBlockHandler; + case E_BLOCK_PLANKS: return ItemPlanksHandler; + case E_BLOCK_POTATOES: return ItemPotatoesBlockHandler; + case E_BLOCK_POWERED_RAIL: return ItemPoweredRailHandler; + case E_BLOCK_PRISMARINE_BLOCK: return ItemPrismarineBlockHandler; + case E_BLOCK_PUMPKIN: return ItemPumpkinHandler; + case E_BLOCK_PUMPKIN_STEM: return ItemPumpkinStemHandler; + case E_BLOCK_PURPLE_GLAZED_TERRACOTTA: return ItemPurpleGlazedTerracottaHandler; + case E_BLOCK_PURPLE_SHULKER_BOX: return ItemPurpleShulkerBoxHandler; + case E_BLOCK_PURPUR_BLOCK: return ItemPurpurBlockHandler; + case E_BLOCK_PURPUR_DOUBLE_SLAB: return ItemPurpurDoubleSlabHandler; + case E_BLOCK_PURPUR_PILLAR: return ItemPurpurPillarHandler; + case E_BLOCK_PURPUR_SLAB: return ItemPurpurSlabHandler; + case E_BLOCK_PURPUR_STAIRS: return ItemPurpurStairsHandler; + case E_BLOCK_QUARTZ_BLOCK: return ItemQuartzBlockHandler; + case E_BLOCK_QUARTZ_STAIRS: return ItemQuartzStairsHandler; + case E_BLOCK_RAIL: return ItemRailHandler; + case E_BLOCK_REDSTONE_LAMP_OFF: return ItemRedstoneLampOffHandler; + case E_BLOCK_REDSTONE_LAMP_ON: return ItemRedstoneLampOnHandler; + case E_BLOCK_REDSTONE_ORE: return ItemRedstoneOreHandler; + case E_BLOCK_REDSTONE_ORE_GLOWING: return ItemRedstoneOreGlowingHandler; + case E_BLOCK_REDSTONE_REPEATER_OFF: return ItemRedstoneRepeaterOffHandler; + case E_BLOCK_REDSTONE_REPEATER_ON: return ItemRedstoneRepeaterOnHandler; + case E_BLOCK_REDSTONE_TORCH_OFF: return ItemRedstoneTorchOffBlockHandler; + case E_BLOCK_REDSTONE_TORCH_ON: return ItemRedstoneTorchHandler; + case E_BLOCK_REDSTONE_WIRE: return ItemRedstoneWireHandler; + case E_BLOCK_RED_GLAZED_TERRACOTTA: return ItemRedGlazedTerracottaHandler; + case E_BLOCK_RED_MUSHROOM: return ItemRedMushroomBlockHandler; + case E_BLOCK_RED_NETHER_BRICK: return ItemRedNetherBricksHandler; + case E_BLOCK_RED_SANDSTONE: return ItemRedSandstoneHandler; + case E_BLOCK_RED_SANDSTONE_SLAB: return ItemRedSandstoneSlabHandler; + case E_BLOCK_RED_SANDSTONE_STAIRS: return ItemRedSandstoneStairsHandler; + case E_BLOCK_RED_SHULKER_BOX: return ItemRedShulkerBoxHandler; + case E_BLOCK_REPEATING_COMMAND_BLOCK: return ItemRepeatingCommandBlockHandler; + case E_BLOCK_SAND: return ItemSandHandler; + case E_BLOCK_SANDSTONE: return ItemSandstoneHandler; + case E_BLOCK_SANDSTONE_STAIRS: return ItemSandstoneStairsHandler; + case E_BLOCK_SAPLING: return ItemSaplingHandler; + case E_BLOCK_SEA_LANTERN: return ItemSeaLanternHandler; + case E_BLOCK_SIGN_POST: return ItemSignPostHandler; + case E_BLOCK_SILVERFISH_EGG: return ItemSilverfishEggBlockHandler; + case E_BLOCK_SLIME_BLOCK: return ItemSlimeBlockHandler; + case E_BLOCK_SNOW: return ItemSnowHandler; + case E_BLOCK_SNOW_BLOCK: return ItemSnowBlockHandler; + case E_BLOCK_SOULSAND: return ItemSoulsandHandler; + case E_BLOCK_SPONGE: return ItemSpongeHandler; + case E_BLOCK_SPRUCE_DOOR: return ItemSpruceDoorBlockHandler; + case E_BLOCK_SPRUCE_FENCE: return ItemSpruceFenceHandler; + case E_BLOCK_SPRUCE_FENCE_GATE: return ItemSpruceFenceGateHandler; + case E_BLOCK_SPRUCE_WOOD_STAIRS: return ItemSpruceStairsHandler; + case E_BLOCK_STAINED_GLASS: return ItemStainedGlassHandler; + case E_BLOCK_STAINED_GLASS_PANE: return ItemStainedGlassPaneHandler; + case E_BLOCK_STANDING_BANNER: return ItemStandingBannerHandler; + case E_BLOCK_STATIONARY_LAVA: return ItemStationaryLavaHandler; + case E_BLOCK_STATIONARY_WATER: return ItemStationaryWaterHandler; + case E_BLOCK_STICKY_PISTON: return ItemStickyPistonHandler; + case E_BLOCK_STONE: return ItemStoneHandler; + case E_BLOCK_STONE_BRICKS: return ItemStoneBricksHandler; + case E_BLOCK_STONE_BRICK_STAIRS: return ItemStoneBrickStairsHandler; + case E_BLOCK_STONE_BUTTON: return ItemStoneButtonHandler; + case E_BLOCK_STONE_PRESSURE_PLATE: return ItemStonePressurePlateHandler; + case E_BLOCK_STONE_SLAB: return ItemStoneSlabHandler; + case E_BLOCK_STRUCTURE_BLOCK: return ItemStructureBlockHandler; + case E_BLOCK_STRUCTURE_VOID: return ItemStructureVoidHandler; + case E_BLOCK_SUGARCANE: return ItemSugarCaneBlockHandler; + case E_BLOCK_TALL_GRASS: return ItemTallGrassHandler; + case E_BLOCK_TERRACOTTA: return ItemTerracottaHandler; + case E_BLOCK_TNT: return ItemTNTHandler; + case E_BLOCK_TORCH: return ItemTorchHandler; + case E_BLOCK_TRAPDOOR: return ItemOakTrapdoorHandler; + case E_BLOCK_TRAPPED_CHEST: return ItemTrappedChestHandler; + case E_BLOCK_TRIPWIRE: return ItemTripwireHandler; + case E_BLOCK_TRIPWIRE_HOOK: return ItemTripwireHookHandler; + case E_BLOCK_VINES: return ItemVinesHandler; + case E_BLOCK_WALLSIGN: return ItemWallsignHandler; + case E_BLOCK_WALL_BANNER: return ItemWallBannerHandler; + case E_BLOCK_WATER: return ItemWaterHandler; + case E_BLOCK_WHEAT: return ItemWheatBlockHandler; + case E_BLOCK_WHITE_GLAZED_TERRACOTTA: return ItemWhiteGlazedTerracottaHandler; + case E_BLOCK_WHITE_SHULKER_BOX: return ItemWhiteShulkerBoxHandler; + case E_BLOCK_WOODEN_BUTTON: return ItemOakButtonHandler; + case E_BLOCK_WOODEN_PRESSURE_PLATE: return ItemWoodenPressurePlateHandler; + case E_BLOCK_WOODEN_SLAB: return ItemOakSlabHandler; + case E_BLOCK_WOOL: return ItemWoolHandler; + case E_BLOCK_YELLOW_GLAZED_TERRACOTTA: return ItemYellowGlazedTerracottaHandler; + case E_BLOCK_YELLOW_SHULKER_BOX: return ItemYellowShulkerBoxHandler; + case E_ITEM_11_DISC: return Item11DiscHandler; + case E_ITEM_13_DISC: return Item13DiscHandler; + case E_ITEM_ACACIA_BOAT: return ItemAcaciaBoatHandler; + case E_ITEM_ACACIA_DOOR: return ItemAcaciaDoorHandler; + case E_ITEM_ARMOR_STAND: return ItemArmorStandHandler; + case E_ITEM_ARROW: return ItemArrowHandler; + case E_ITEM_BAKED_POTATO: return ItemBakedPotatoHandler; + case E_ITEM_BANNER: return ItemBannerHandler; + case E_ITEM_BED: return ItemBedHandler; + case E_ITEM_BEETROOT: return ItemBeetrootHandler; + case E_ITEM_BEETROOT_SEEDS: return ItemBeetrootSeedsHandler; + case E_ITEM_BEETROOT_SOUP: return ItemBeetrootSoupHandler; + case E_ITEM_BIRCH_BOAT: return ItemBirchBoatHandler; + case E_ITEM_BIRCH_DOOR: return ItemBirchDoorHandler; + case E_ITEM_BLAZE_POWDER: return ItemBlazePowderHandler; + case E_ITEM_BLAZE_ROD: return ItemBlazeRodHandler; + case E_ITEM_BLOCKS_DISC: return ItemBlocksDiscHandler; + case E_ITEM_BOAT: return ItemOakBoatHandler; + case E_ITEM_BONE: return ItemBoneHandler; + case E_ITEM_BOOK: return ItemBookHandler; + case E_ITEM_BOOK_AND_QUILL: return ItemBookAndQuillHandler; + case E_ITEM_BOTTLE_O_ENCHANTING: return ItemBottleOEnchantingHandler; + case E_ITEM_BOW: return ItemBowHandler; + case E_ITEM_BOWL: return ItemBowlHandler; + case E_ITEM_BREAD: return ItemBreadHandler; + case E_ITEM_BREWING_STAND: return ItemBrewingStandHandler; + case E_ITEM_BUCKET: return ItemBucketHandler; + case E_ITEM_CAKE: return ItemCakeHandler; + case E_ITEM_CARROT: return ItemCarrotHandler; + case E_ITEM_CARROT_ON_STICK: return ItemCarrotOnStickHandler; + case E_ITEM_CAT_DISC: return ItemCatDiscHandler; + case E_ITEM_CAULDRON: return ItemCauldronHandler; + case E_ITEM_CHAIN_BOOTS: return ItemChainBootsHandler; + case E_ITEM_CHAIN_CHESTPLATE: return ItemChainChestplateHandler; + case E_ITEM_CHAIN_HELMET: return ItemChainHelmetHandler; + case E_ITEM_CHAIN_LEGGINGS: return ItemChainLeggingsHandler; + case E_ITEM_CHEST_MINECART: return ItemChestMinecartHandler; + case E_ITEM_CHIRP_DISC: return ItemChirpDiscHandler; + case E_ITEM_CHORUS_FRUIT: return ItemChorusFruitHandler; + case E_ITEM_CLAY: return ItemClayHandler; + case E_ITEM_CLAY_BRICK: return ItemBricksHandler; + case E_ITEM_CLOCK: return ItemClockHandler; + case E_ITEM_COAL: return ItemCoalHandler; + case E_ITEM_COMPARATOR: return ItemComparatorHandler; + case E_ITEM_COMPASS: return ItemCompassHandler; + case E_ITEM_COOKED_CHICKEN: return ItemCookedChickenHandler; + case E_ITEM_COOKED_FISH: return ItemCookedFishHandler; + case E_ITEM_COOKED_MUTTON: return ItemCookedMuttonHandler; + case E_ITEM_COOKED_PORKCHOP: return ItemCookedPorkchopHandler; + case E_ITEM_COOKED_RABBIT: return ItemCookedRabbitHandler; + case E_ITEM_COOKIE: return ItemCookieHandler; + case E_ITEM_DARK_OAK_BOAT: return ItemDarkOakBoatHandler; + case E_ITEM_DARK_OAK_DOOR: return ItemDarkOakDoorHandler; + case E_ITEM_DIAMOND: return ItemDiamondHandler; + case E_ITEM_DIAMOND_AXE: return ItemDiamondAxeHandler; + case E_ITEM_DIAMOND_BOOTS: return ItemDiamondBootsHandler; + case E_ITEM_DIAMOND_CHESTPLATE: return ItemDiamondChestplateHandler; + case E_ITEM_DIAMOND_HELMET: return ItemDiamondHelmetHandler; + case E_ITEM_DIAMOND_HOE: return ItemDiamondHoeHandler; + case E_ITEM_DIAMOND_HORSE_ARMOR: return ItemDiamondHorseArmorHandler; + case E_ITEM_DIAMOND_LEGGINGS: return ItemDiamondLeggingsHandler; + case E_ITEM_DIAMOND_PICKAXE: return ItemDiamondPickaxeHandler; + case E_ITEM_DIAMOND_SHOVEL: return ItemDiamondShovelHandler; + case E_ITEM_DIAMOND_SWORD: return ItemDiamondSwordHandler; + case E_ITEM_DRAGON_BREATH: return ItemDragonBreathHandler; + case E_ITEM_DYE: return ItemDyeHandler; + case E_ITEM_EGG: return ItemEggHandler; + case E_ITEM_ELYTRA: return ItemElytraHandler; + case E_ITEM_EMERALD: return ItemEmeraldHandler; + case E_ITEM_EMPTY_MAP: return ItemEmptyMapHandler; + case E_ITEM_ENCHANTED_BOOK: return ItemEnchantedBookHandler; + case E_ITEM_ENDER_PEARL: return ItemEnderPearlHandler; + case E_ITEM_END_CRYSTAL: return ItemEndCrystalHandler; + case E_ITEM_EYE_OF_ENDER: return ItemEyeOfEnderHandler; + case E_ITEM_FAR_DISC: return ItemFarDiscHandler; + case E_ITEM_FEATHER: return ItemFeatherHandler; + case E_ITEM_FERMENTED_SPIDER_EYE: return ItemFermentedSpiderEyeHandler; + case E_ITEM_FIREWORK_ROCKET: return ItemFireworkRocketHandler; + case E_ITEM_FIREWORK_STAR: return ItemFireworkStarHandler; + case E_ITEM_FIRE_CHARGE: return ItemFireChargeHandler; + case E_ITEM_FISHING_ROD: return ItemFishingRodHandler; + case E_ITEM_FLINT: return ItemFlintHandler; + case E_ITEM_FLINT_AND_STEEL: return ItemFlintAndSteelHandler; + case E_ITEM_FLOWER_POT: return ItemFlowerPotHandler; + case E_ITEM_FURNACE_MINECART: return ItemFurnaceMinecartHandler; + case E_ITEM_GHAST_TEAR: return ItemGhastTearHandler; + case E_ITEM_GLASS_BOTTLE: return ItemGlassBottleHandler; + case E_ITEM_GLISTERING_MELON: return ItemGlisteringMelonHandler; + case E_ITEM_GLOWSTONE_DUST: return ItemGlowstoneDustHandler; + case E_ITEM_GOLD: return ItemGoldHandler; + case E_ITEM_GOLDEN_APPLE: return ItemGoldenAppleHandler; + case E_ITEM_GOLDEN_CARROT: return ItemGoldenCarrotHandler; + case E_ITEM_GOLD_AXE: return ItemGoldenAxeHandler; + case E_ITEM_GOLD_BOOTS: return ItemGoldenBootsHandler; + case E_ITEM_GOLD_CHESTPLATE: return ItemGoldenChestplateHandler; + case E_ITEM_GOLD_HELMET: return ItemGoldenHelmetHandler; + case E_ITEM_GOLD_HOE: return ItemGoldenHoeHandler; + case E_ITEM_GOLD_HORSE_ARMOR: return ItemGoldenHorseArmorHandler; + case E_ITEM_GOLD_LEGGINGS: return ItemGoldenLeggingsHandler; + case E_ITEM_GOLD_NUGGET: return ItemGoldNuggetHandler; + case E_ITEM_GOLD_PICKAXE: return ItemGoldenPickaxeHandler; + case E_ITEM_GOLD_SHOVEL: return ItemGoldenShovelHandler; + case E_ITEM_GOLD_SWORD: return ItemGoldenSwordHandler; + case E_ITEM_GUNPOWDER: return ItemGunpowderHandler; + case E_ITEM_HEAD: return ItemHeadHandler; + case E_ITEM_IRON: return ItemIronHandler; + case E_ITEM_IRON_AXE: return ItemIronAxeHandler; + case E_ITEM_IRON_BOOTS: return ItemIronBootsHandler; + case E_ITEM_IRON_CHESTPLATE: return ItemIronChestplateHandler; + case E_ITEM_IRON_DOOR: return ItemIronDoorHandler; + case E_ITEM_IRON_HELMET: return ItemIronHelmetHandler; + case E_ITEM_IRON_HOE: return ItemIronHoeHandler; + case E_ITEM_IRON_HORSE_ARMOR: return ItemIronHorseArmorHandler; + case E_ITEM_IRON_LEGGINGS: return ItemIronLeggingsHandler; + case E_ITEM_IRON_NUGGET: return ItemIronNuggetHandler; + case E_ITEM_IRON_PICKAXE: return ItemIronPickaxeHandler; + case E_ITEM_IRON_SHOVEL: return ItemIronShovelHandler; + case E_ITEM_IRON_SWORD: return ItemIronSwordHandler; + case E_ITEM_ITEM_FRAME: return ItemItemFrameHandler; + case E_ITEM_JUNGLE_BOAT: return ItemJungleBoatHandler; + case E_ITEM_JUNGLE_DOOR: return ItemJungleDoorHandler; + case E_ITEM_LAVA_BUCKET: return ItemLavaBucketHandler; + case E_ITEM_LEASH: return ItemLeashHandler; + case E_ITEM_LEATHER: return ItemLeatherHandler; + case E_ITEM_LEATHER_BOOTS: return ItemLeatherBootsHandler; + case E_ITEM_LEATHER_CAP: return ItemLeatherCapHandler; + case E_ITEM_LEATHER_PANTS: return ItemLeatherPantsHandler; + case E_ITEM_LEATHER_TUNIC: return ItemLeatherTunicHandler; + case E_ITEM_LINGERING_POTION: return ItemLingeringPotionHandler; + case E_ITEM_MAGMA_CREAM: return ItemMagmaCreamHandler; + case E_ITEM_MALL_DISC: return ItemMallDiscHandler; + case E_ITEM_MAP: return ItemMapHandler; + case E_ITEM_MELLOHI_DISC: return ItemMellohiDiscHandler; + case E_ITEM_MELON_SEEDS: return ItemMelonSeedsHandler; + case E_ITEM_MELON_SLICE: return ItemMelonSliceHandler; + case E_ITEM_MILK: return ItemMilkHandler; + case E_ITEM_MINECART: return ItemMinecartHandler; + case E_ITEM_MINECART_WITH_COMMAND_BLOCK: return ItemMinecartWithCommandBlockHandler; + case E_ITEM_MINECART_WITH_HOPPER: return ItemMinecartWithHopperHandler; + case E_ITEM_MINECART_WITH_TNT: return ItemMinecartWithTNTHandler; + case E_ITEM_MUSHROOM_SOUP: return ItemMushroomSoupHandler; + case E_ITEM_NAME_TAG: return ItemNameTagHandler; + case E_ITEM_NETHER_BRICK: return ItemNetherBrickHandler; + case E_ITEM_NETHER_QUARTZ: return ItemNetherQuartzHandler; + case E_ITEM_NETHER_STAR: return ItemNetherStarHandler; + case E_ITEM_NETHER_WART: return ItemNetherWartHandler; + case E_ITEM_PAINTING: return ItemPaintingHandler; + case E_ITEM_PAPER: return ItemPaperHandler; + case E_ITEM_POISONOUS_POTATO: return ItemPoisonousPotatoHandler; + case E_ITEM_POPPED_CHORUS_FRUIT: return ItemPoppedChorusFruitHandler; + case E_ITEM_POTATO: return ItemPotatoHandler; + case E_ITEM_POTION: return ItemPotionHandler; + case E_ITEM_PRISMARINE_CRYSTALS: return ItemPrismarineCrystalsHandler; + case E_ITEM_PRISMARINE_SHARD: return ItemPrismarineShardHandler; + case E_ITEM_PUMPKIN_PIE: return ItemPumpkinPieHandler; + case E_ITEM_PUMPKIN_SEEDS: return ItemPumpkinSeedsHandler; + case E_ITEM_RABBITS_FOOT: return ItemRabbitsFootHandler; + case E_ITEM_RABBIT_HIDE: return ItemRabbitHideHandler; + case E_ITEM_RABBIT_STEW: return ItemRabbitStewHandler; + case E_ITEM_RAW_BEEF: return ItemRawBeefHandler; + case E_ITEM_RAW_CHICKEN: return ItemRawChickenHandler; + case E_ITEM_RAW_FISH: return ItemRawFishHandler; + case E_ITEM_RAW_MUTTON: return ItemRawMuttonHandler; + case E_ITEM_RAW_PORKCHOP: return ItemRawPorkchopHandler; + case E_ITEM_RAW_RABBIT: return ItemRawRabbitHandler; + case E_ITEM_REDSTONE_DUST: return ItemRedstoneDustHandler; + case E_ITEM_REDSTONE_REPEATER: return ItemRedstoneRepeaterHandler; + case E_ITEM_RED_APPLE: return ItemAppleHandler; + case E_ITEM_ROTTEN_FLESH: return ItemRottenFleshHandler; + case E_ITEM_SADDLE: return ItemSaddleHandler; + case E_ITEM_SEEDS: return ItemSeedsHandler; + case E_ITEM_SHEARS: return ItemShearsHandler; + case E_ITEM_SHIELD: return ItemShieldHandler; + case E_ITEM_SHULKER_SHELL: return ItemShulkerShellHandler; + case E_ITEM_SIGN: return ItemSignHandler; + case E_ITEM_SLIMEBALL: return ItemSlimeballHandler; + case E_ITEM_SNOWBALL: return ItemSnowballHandler; + case E_ITEM_SPAWN_EGG: return ItemSpawnEggHandler; + case E_ITEM_SPECTRAL_ARROW: return ItemSpectralArrowHandler; + case E_ITEM_SPIDER_EYE: return ItemSpiderEyeHandler; + case E_ITEM_SPLASH_POTION: return ItemSplashPotionHandler; + case E_ITEM_SPRUCE_BOAT: return ItemSpruceBoatHandler; + case E_ITEM_SPRUCE_DOOR: return ItemSpruceDoorHandler; + case E_ITEM_STAL_DISC: return ItemStalDiscHandler; + case E_ITEM_STEAK: return ItemCookedBeefHandler; + case E_ITEM_STICK: return ItemStickHandler; + case E_ITEM_STONE_AXE: return ItemStoneAxeHandler; + case E_ITEM_STONE_HOE: return ItemStoneHoeHandler; + case E_ITEM_STONE_PICKAXE: return ItemStonePickaxeHandler; + case E_ITEM_STONE_SHOVEL: return ItemStoneShovelHandler; + case E_ITEM_STONE_SWORD: return ItemStoneSwordHandler; + case E_ITEM_STRAD_DISC: return ItemStradDiscHandler; + case E_ITEM_STRING: return ItemStringHandler; + case E_ITEM_SUGAR: return ItemSugarHandler; + case E_ITEM_SUGAR_CANE: return ItemSugarCaneHandler; + case E_ITEM_TIPPED_ARROW: return ItemTippedArrowHandler; + case E_ITEM_TOTEM_OF_UNDYING: return ItemTotemOfUndyingHandler; + case E_ITEM_WAIT_DISC: return ItemWaitDiscHandler; + case E_ITEM_WARD_DISC: return ItemWardDiscHandler; + case E_ITEM_WATER_BUCKET: return ItemWaterBucketHandler; + case E_ITEM_WHEAT: return ItemWheatHandler; + case E_ITEM_WOODEN_AXE: return ItemWoodenAxeHandler; + case E_ITEM_WOODEN_DOOR: return ItemOakDoorHandler; + case E_ITEM_WOODEN_HOE: return ItemWoodenHoeHandler; + case E_ITEM_WOODEN_PICKAXE: return ItemWoodenPickaxeHandler; + case E_ITEM_WOODEN_SHOVEL: return ItemWoodenShovelHandler; + case E_ITEM_WOODEN_SWORD: return ItemWoodenSwordHandler; + case E_ITEM_WRITTEN_BOOK: return ItemWrittenBookHandler; } ASSERT("Unknown item type!"); return ItemAirHandler; @@ -1042,12 +1042,28 @@ const cItemHandler & cItemHandler::For(int a_ItemType) -void cItemHandler::OnPlayerPlace(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_ClickedPosition, const BLOCKTYPE a_ClickedBlockType, const NIBBLETYPE a_ClickedBlockMeta, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const +void cItemHandler::OnPlayerPlace( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_ClickedPosition, + const BLOCKTYPE a_ClickedBlockType, + const NIBBLETYPE a_ClickedBlockMeta, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition +) const { const auto & World = *a_Player.GetWorld(); // Check if the block ignores build collision (water, grass etc.): - if (cBlockHandler::For(a_ClickedBlockType).DoesIgnoreBuildCollision(World, a_HeldItem, a_ClickedPosition, a_ClickedBlockMeta, a_ClickedBlockFace, true)) + if (cBlockHandler::For(a_ClickedBlockType) + .DoesIgnoreBuildCollision( + World, + a_HeldItem, + a_ClickedPosition, + a_ClickedBlockMeta, + a_ClickedBlockFace, + true + )) { // Try to place the block at the clicked position: if (!CommitPlacement(a_Player, a_HeldItem, a_ClickedPosition, a_ClickedBlockFace, a_CursorPosition)) @@ -1069,9 +1085,10 @@ void cItemHandler::OnPlayerPlace(cPlayer & a_Player, const cItem & a_HeldItem, c return; } - // Clicked on side of block, make sure that placement won't be cancelled if there is a slab able to be double slabbed. - // No need to do combinability (dblslab) checks, client will do that here. - if (!cBlockHandler::For(PlaceBlock).DoesIgnoreBuildCollision(World, a_HeldItem, PlacePosition, PlaceMeta, a_ClickedBlockFace, false)) + // Clicked on side of block, make sure that placement won't be cancelled if there is a slab able to be double + // slabbed. No need to do combinability (dblslab) checks, client will do that here. + if (!cBlockHandler::For(PlaceBlock) + .DoesIgnoreBuildCollision(World, a_HeldItem, PlacePosition, PlaceMeta, a_ClickedBlockFace, false)) { // Tried to place a block into another? // Happens when you place a block aiming at side of block with a torch on it or stem beside it. @@ -1101,8 +1118,12 @@ void cItemHandler::OnPlayerPlace(cPlayer & a_Player, const cItem & a_HeldItem, c bool cItemHandler::OnItemUse( - cWorld * a_World, cPlayer * a_Player, cBlockPluginInterface & a_PluginInterface, const cItem & a_Item, - const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace + cWorld * a_World, + cPlayer * a_Player, + cBlockPluginInterface & a_PluginInterface, + const cItem & a_Item, + const Vector3i a_ClickedBlockPos, + eBlockFace a_ClickedBlockFace ) const { UNUSED(a_World); @@ -1472,7 +1493,13 @@ float cItemHandler::GetBlockBreakingStrength(BLOCKTYPE a_Block) const -bool cItemHandler::CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const +bool cItemHandler::CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition +) const { ASSERT(m_ItemType < 256); // Items with IDs above 255 should all be handled by specific handlers. diff --git a/src/Items/ItemHandler.h b/src/Items/ItemHandler.h index 8b8c8d2d3..949582eb8 100644 --- a/src/Items/ItemHandler.h +++ b/src/Items/ItemHandler.h @@ -20,8 +20,7 @@ class cBlockPluginInterface; class cItemHandler { -public: - + public: friend class cItem; /** Actions that may cause durability of an item may be lost, where the @@ -34,7 +33,8 @@ public: dlaBreakBlockInstant, }; - constexpr cItemHandler(int a_ItemType) : m_ItemType(a_ItemType) + constexpr cItemHandler(int a_ItemType) : + m_ItemType(a_ItemType) { } @@ -44,7 +44,15 @@ public: a_ClickedBlockFace is the face has been clicked to place this item. a_CursorPosition is the position of the player's cursor within a_ClickedBlockFace. If the block placement is refused inside this call, it will automatically revert the client-side changes. */ - void OnPlayerPlace(cPlayer & a_Player, const cItem & a_HeldItem, Vector3i a_ClickedPosition, BLOCKTYPE a_ClickedBlockType, NIBBLETYPE a_ClickedBlockMeta, eBlockFace a_ClickedBlockFace, Vector3i a_CursorPosition) const; + void OnPlayerPlace( + cPlayer & a_Player, + const cItem & a_HeldItem, + Vector3i a_ClickedPosition, + BLOCKTYPE a_ClickedBlockType, + NIBBLETYPE a_ClickedBlockMeta, + eBlockFace a_ClickedBlockFace, + Vector3i a_CursorPosition + ) const; /** Called when the player tries to use the item (right mouse button). Descendants can return false to abort the usage (default behavior). */ @@ -64,7 +72,8 @@ public: UNUSED(a_BlockFace); } - /** Called every tick while the item is on the player's inventory (used by maps, for example) - For now, called only for equipped items */ + /** Called every tick while the item is on the player's inventory (used by maps, for example) - For now, called only + * for equipped items */ virtual void OnUpdate(cWorld * a_World, cPlayer * a_Player, const cItem & a_Item) const { UNUSED(a_World); @@ -74,7 +83,9 @@ public: /** Called while the player digs a block using this item */ virtual bool OnDiggingBlock( - cWorld * a_World, cPlayer * a_Player, const cItem & a_HeldItem, + cWorld * a_World, + cPlayer * a_Player, + const cItem & a_HeldItem, const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace ) const; @@ -83,7 +94,7 @@ public: virtual void OnEntityAttack(cPlayer * a_Attacker, cEntity * a_AttackedEntity) const; /** Called after the player has eaten this item. */ - virtual void OnFoodEaten(cWorld *a_World, cPlayer *a_Player, cItem *a_Item) const; + virtual void OnFoodEaten(cWorld * a_World, cPlayer * a_Player, cItem * a_Item) const; /** Get the durability lost which the item will get, when a specified action was performed. This is only relevant for uses where the damage taken may @@ -95,15 +106,14 @@ public: struct FoodInfo { - int FoodLevel; + int FoodLevel; double Saturation; constexpr FoodInfo(int a_FoodLevel, double a_Saturation) : - FoodLevel(a_FoodLevel), - Saturation(a_Saturation) + FoodLevel(a_FoodLevel), Saturation(a_Saturation) { } - } ; + }; /** Returns the FoodInfo for this item. (FoodRecovery and Saturation) */ virtual FoodInfo GetFoodInfo(const cItem * a_Item) const; @@ -123,8 +133,8 @@ public: /** Can the anvil repair this item, when a_Item is the second input? */ virtual bool CanRepairWithRawMaterial(short a_ItemType) const; - /** Returns whether this tool / item can harvest a specific block (e.g. iron pickaxe can harvest diamond ore, but wooden one can't). - Defaults to false unless overridden. */ + /** Returns whether this tool / item can harvest a specific block (e.g. iron pickaxe can harvest diamond ore, but + wooden one can't). Defaults to false unless overridden. */ virtual bool CanHarvestBlock(BLOCKTYPE a_BlockType) const; /** Returns the strength to break a specific block. @@ -132,8 +142,7 @@ public: virtual float GetBlockBreakingStrength(BLOCKTYPE a_Block) const; -protected: - + protected: static const cItemHandler & For(int a_ItemType); ~cItemHandler() = default; @@ -142,8 +151,14 @@ protected: /** Performs the actual placement of this placeable item. The descendant handler should call a_Player.PlaceBlock(s) supplying correct values for the newly placed block. - The default handler uses the stored block type and meta copied from the lowest 4 bits of the player's equipped item's damage value. - Handlers return what a_Player.PlaceBlock(s) returns, indicating whether the placement was successful. */ - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, Vector3i a_PlacePosition, eBlockFace a_ClickedBlockFace, Vector3i a_CursorPosition) const; + The default handler uses the stored block type and meta copied from the lowest 4 bits of the player's equipped + item's damage value. Handlers return what a_Player.PlaceBlock(s) returns, indicating whether the placement was + successful. */ + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + Vector3i a_PlacePosition, + eBlockFace a_ClickedBlockFace, + Vector3i a_CursorPosition + ) const; }; - diff --git a/src/Items/ItemHoe.h b/src/Items/ItemHoe.h index 2bca5f5ca..5b9b8f0ef 100644 --- a/src/Items/ItemHoe.h +++ b/src/Items/ItemHoe.h @@ -9,13 +9,11 @@ -class cItemHoeHandler final: - public cItemHandler +class cItemHoeHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -57,7 +55,8 @@ public: } // Transform: - auto NewBlockType = ((BlockType == E_BLOCK_DIRT) && (BlockMeta == E_META_DIRT_COARSE)) ? E_BLOCK_DIRT : E_BLOCK_FARMLAND; + auto NewBlockType = + ((BlockType == E_BLOCK_DIRT) && (BlockMeta == E_META_DIRT_COARSE)) ? E_BLOCK_DIRT : E_BLOCK_FARMLAND; a_World->SetBlock(a_ClickedBlockPos, NewBlockType, 0); a_World->BroadcastSoundEffect("item.hoe.till", a_ClickedBlockPos + Vector3d(0.5, 0.5, 0.5), 1.0f, 0.8f); a_Player->UseEquippedItem(); @@ -72,10 +71,10 @@ public: { switch (a_Action) { - case dlaAttackEntity: return 1; - case dlaBreakBlock: return 0; - case dlaBreakBlockInstant: return 0; + case dlaAttackEntity: return 1; + case dlaBreakBlock: return 0; + case dlaBreakBlockInstant: return 0; } UNREACHABLE("Unsupported durability loss action"); } -} ; +}; diff --git a/src/Items/ItemHopper.h b/src/Items/ItemHopper.h index 7b010ce5f..83f35a4bd 100644 --- a/src/Items/ItemHopper.h +++ b/src/Items/ItemHopper.h @@ -7,17 +7,14 @@ -class cItemHopperHandler final : - public cItemHandler +class cItemHopperHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: inline static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace) { switch (a_BlockFace) @@ -28,12 +25,18 @@ private: case BLOCK_FACE_NORTH: return E_META_HOPPER_FACING_ZP; case BLOCK_FACE_SOUTH: return E_META_HOPPER_FACING_ZM; case BLOCK_FACE_WEST: return E_META_HOPPER_FACING_XP; - default: UNREACHABLE("Unsupported block face"); + default: UNREACHABLE("Unsupported block face"); } } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_HOPPER, BlockFaceToMetaData(a_ClickedBlockFace)); } diff --git a/src/Items/ItemItemFrame.h b/src/Items/ItemItemFrame.h index 70923c549..c7496ef3c 100644 --- a/src/Items/ItemItemFrame.h +++ b/src/Items/ItemItemFrame.h @@ -9,13 +9,11 @@ -class cItemItemFrameHandler final: - public cItemHandler +class cItemItemFrameHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -32,7 +30,8 @@ public: ) const override { // Can only place on a side face: - if ((a_ClickedBlockFace == BLOCK_FACE_NONE) || (a_ClickedBlockFace == BLOCK_FACE_YP) || (a_ClickedBlockFace == BLOCK_FACE_YM)) + if ((a_ClickedBlockFace == BLOCK_FACE_NONE) || (a_ClickedBlockFace == BLOCK_FACE_YP) || + (a_ClickedBlockFace == BLOCK_FACE_YM)) { return false; } @@ -67,7 +66,3 @@ public: return true; } }; - - - - diff --git a/src/Items/ItemJackOLantern.h b/src/Items/ItemJackOLantern.h index acd233701..0432b2ecc 100644 --- a/src/Items/ItemJackOLantern.h +++ b/src/Items/ItemJackOLantern.h @@ -8,20 +8,27 @@ -class cItemJackOLanternHandler final : - public cItemHandler +class cItemJackOLanternHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Re-use the pumpkin converter for lanterns: - return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_JACK_O_LANTERN, cBlockPumpkinHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + E_BLOCK_JACK_O_LANTERN, + cBlockPumpkinHandler::YawToMetaData(a_Player.GetYaw()) + ); } }; diff --git a/src/Items/ItemLadder.h b/src/Items/ItemLadder.h index a778fee6c..a8e73961e 100644 --- a/src/Items/ItemLadder.h +++ b/src/Items/ItemLadder.h @@ -8,17 +8,14 @@ -class cItemLadderHandler final : - public cItemHandler +class cItemLadderHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: /** Converts the block face of the neighbor to which the ladder is attached to the ladder block's meta. */ static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_NeighborBlockFace) { @@ -30,12 +27,18 @@ private: case BLOCK_FACE_XP: return 0x5; case BLOCK_FACE_YM: case BLOCK_FACE_YP: return 0x2; - default: UNREACHABLE("Unsupported neighbor block face"); + default: UNREACHABLE("Unsupported neighbor block face"); } } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { const auto & World = *a_Player.GetWorld(); const auto ClickedBlockType = World.GetBlock(AddFaceDirection(a_PlacePosition, a_ClickedBlockFace, true)); @@ -60,7 +63,8 @@ private: Returns BLOCK_FACE_NONE on failure. */ static eBlockFace FindSuitableFace(const cWorld & a_World, const Vector3i a_Position) { - for (const auto Face : { BLOCK_FACE_ZM, BLOCK_FACE_XP, BLOCK_FACE_ZP, BLOCK_FACE_XM }) // Loop through all faces in specific order. + for (const auto Face : + {BLOCK_FACE_ZM, BLOCK_FACE_XP, BLOCK_FACE_ZP, BLOCK_FACE_XM}) // Loop through all faces in specific order. { // The direction of Face is relative to the direction the ladder faces. // This is the position, computed inverted, that such a ladder would attach to. diff --git a/src/Items/ItemLeaves.h b/src/Items/ItemLeaves.h index b4795bf29..060a6395a 100644 --- a/src/Items/ItemLeaves.h +++ b/src/Items/ItemLeaves.h @@ -7,29 +7,31 @@ -class cItemLeavesHandler final : - public cItemHandler +class cItemLeavesHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { return a_Player.PlaceBlock( a_PlacePosition, static_cast(m_ItemType), - static_cast(a_HeldItem.m_ItemDamage | 0x4) // 0x4 bit set means this is a player-placed leaves block, not to be decayed. + static_cast( + a_HeldItem.m_ItemDamage | 0x4 + ) // 0x4 bit set means this is a player-placed leaves block, not to be decayed. ); } -} ; - - - - +}; diff --git a/src/Items/ItemLever.h b/src/Items/ItemLever.h index e3791e460..58c0acce7 100644 --- a/src/Items/ItemLever.h +++ b/src/Items/ItemLever.h @@ -7,17 +7,14 @@ -class cItemLeverHandler final : - public cItemHandler +class cItemLeverHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: /** Converts the block face of the neighbor to which the lever is attached to the lever block's meta. */ static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace) { @@ -36,8 +33,18 @@ private: } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), BlockFaceToMetaData(a_ClickedBlockFace)); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + BlockFaceToMetaData(a_ClickedBlockFace) + ); } }; diff --git a/src/Items/ItemLighter.h b/src/Items/ItemLighter.h index 2402dd0e1..6ad1462f7 100644 --- a/src/Items/ItemLighter.h +++ b/src/Items/ItemLighter.h @@ -9,13 +9,11 @@ -class cItemLighterHandler final: - public cItemHandler +class cItemLighterHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -76,4 +74,4 @@ public: return false; } -} ; +}; diff --git a/src/Items/ItemLilypad.h b/src/Items/ItemLilypad.h index f13212b07..b676b1ae6 100644 --- a/src/Items/ItemLilypad.h +++ b/src/Items/ItemLilypad.h @@ -9,17 +9,14 @@ -class cItemLilypadHandler final: - public cItemHandler +class cItemLilypadHandler final : public cItemHandler { using Super = cItemHandler; -public: - - constexpr cItemLilypadHandler(int a_ItemType): + public: + constexpr cItemLilypadHandler(int a_ItemType) : Super(a_ItemType) { - } @@ -53,12 +50,8 @@ public: const auto PlacePos = AddFaceDirection(a_ClickedBlockPos, a_ClickedBlockFace); // Lilypad should not replace non air and non water blocks: - if ( - const auto BlockToReplace = a_World->GetBlock(PlacePos); - (BlockToReplace != E_BLOCK_AIR) && - (BlockToReplace != E_BLOCK_WATER) && - (BlockToReplace != E_BLOCK_STATIONARY_WATER) - ) + if (const auto BlockToReplace = a_World->GetBlock(PlacePos); (BlockToReplace != E_BLOCK_AIR) && + (BlockToReplace != E_BLOCK_WATER) && (BlockToReplace != E_BLOCK_STATIONARY_WATER)) { return false; } @@ -70,11 +63,8 @@ public: } // Lilypad should be placed only if there is a water block below: - if ( - const auto BlockBelow = a_World->GetBlock(Below); - (BlockBelow != E_BLOCK_WATER) && - (BlockBelow != E_BLOCK_STATIONARY_WATER) - ) + if (const auto BlockBelow = a_World->GetBlock(Below); + (BlockBelow != E_BLOCK_WATER) && (BlockBelow != E_BLOCK_STATIONARY_WATER)) { return false; } @@ -88,21 +78,23 @@ public: return true; } - class cCallbacks: - public cBlockTracer::cCallbacks + class cCallbacks : public cBlockTracer::cCallbacks { - public: - - virtual bool OnNextBlock(Vector3i a_CBBlockPos, BLOCKTYPE a_CBBlockType, NIBBLETYPE a_CBBlockMeta, eBlockFace a_CBEntryFace) override + public: + virtual bool OnNextBlock( + Vector3i a_CBBlockPos, + BLOCKTYPE a_CBBlockType, + NIBBLETYPE a_CBBlockMeta, + eBlockFace a_CBEntryFace + ) override { - if ( - !IsBlockWater(a_CBBlockType) || - (a_CBBlockMeta != 0) // The hit block should be a source + if (!IsBlockWater(a_CBBlockType) || (a_CBBlockMeta != 0) // The hit block should be a source ) { - // TODO: Vanilla stops the trace. However, we need to continue the trace, to work around our lack of block bounding box support - // which would otherwise mean we misbehave when clicking through the voxel a (e.g.) button occupies. Now, however, we misbehave - // when clicking on a block near water... Nonetheless, the former would cause ghost blocks, so continue for now. + // TODO: Vanilla stops the trace. However, we need to continue the trace, to work around our lack of + // block bounding box support which would otherwise mean we misbehave when clicking through the + // voxel a (e.g.) button occupies. Now, however, we misbehave when clicking on a block near water... + // Nonetheless, the former would cause ghost blocks, so continue for now. // Ignore and continue trace: return false; diff --git a/src/Items/ItemMap.h b/src/Items/ItemMap.h index 83ec7cbc4..066e3fe28 100644 --- a/src/Items/ItemMap.h +++ b/src/Items/ItemMap.h @@ -7,15 +7,13 @@ -class cItemMapHandler final: - public cItemHandler +class cItemMapHandler final : public cItemHandler { using Super = cItemHandler; static const unsigned int DEFAULT_RADIUS = 128; -public: - + public: using Super::Super; virtual void OnUpdate(cWorld * a_World, cPlayer * a_Player, const cItem & a_Item) const override @@ -30,4 +28,4 @@ public: Map->UpdateRadius(*a_Player, DEFAULT_RADIUS); Map->UpdateClient(a_Player); } -} ; +}; diff --git a/src/Items/ItemMilk.h b/src/Items/ItemMilk.h index fb346ec45..3c069286c 100644 --- a/src/Items/ItemMilk.h +++ b/src/Items/ItemMilk.h @@ -5,13 +5,11 @@ -class cItemMilkHandler final: - public cItemHandler +class cItemMilkHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; virtual bool IsDrinkable(short a_ItemDamage) const override diff --git a/src/Items/ItemMinecart.h b/src/Items/ItemMinecart.h index 444e9e7d4..6b7bdbf8e 100644 --- a/src/Items/ItemMinecart.h +++ b/src/Items/ItemMinecart.h @@ -5,13 +5,11 @@ -class cItemMinecartHandler final: - public cItemHandler +class cItemMinecartHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -66,5 +64,4 @@ public: } return true; } - -} ; +}; diff --git a/src/Items/ItemMobHead.h b/src/Items/ItemMobHead.h index aa4189589..76275803b 100644 --- a/src/Items/ItemMobHead.h +++ b/src/Items/ItemMobHead.h @@ -9,20 +9,24 @@ -class cItemMobHeadHandler final : - public cItemHandler +class cItemMobHeadHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Cannot place a head at "no face" and from the bottom: if ((a_ClickedBlockFace == BLOCK_FACE_NONE) || (a_ClickedBlockFace == BLOCK_FACE_BOTTOM)) @@ -55,28 +59,36 @@ public: /** Called after placing a regular head block with no mob spawning. Adjusts the mob head entity based on the equipped item's data. */ - void RegularHeadPlaced(const cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace) const + void RegularHeadPlaced( + const cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace + ) const { const auto HeadType = static_cast(a_HeldItem.m_ItemDamage); const auto BlockMeta = static_cast(a_ClickedBlockFace); // Use a callback to set the properties of the mob head block entity: - a_Player.GetWorld()->DoWithBlockEntityAt(a_PlacePosition, [&a_Player, HeadType, BlockMeta](cBlockEntity & a_BlockEntity) - { - ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_HEAD); + a_Player.GetWorld()->DoWithBlockEntityAt( + a_PlacePosition, + [&a_Player, HeadType, BlockMeta](cBlockEntity & a_BlockEntity) + { + ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_HEAD); - auto & MobHeadEntity = static_cast(a_BlockEntity); + auto & MobHeadEntity = static_cast(a_BlockEntity); - int Rotation = 0; - if (BlockMeta == 1) - { - Rotation = FloorC(a_Player.GetYaw() * 16.0f / 360.0f + 0.5f) & 0x0f; - } + int Rotation = 0; + if (BlockMeta == 1) + { + Rotation = FloorC(a_Player.GetYaw() * 16.0f / 360.0f + 0.5f) & 0x0f; + } - MobHeadEntity.SetType(HeadType); - MobHeadEntity.SetRotation(static_cast(Rotation)); - return false; - }); + MobHeadEntity.SetType(HeadType); + MobHeadEntity.SetRotation(static_cast(Rotation)); + return false; + } + ); } @@ -94,22 +106,17 @@ public: } // Check for all relevant wither locations: - static const Vector3i RelCoords[] = - { - { 0, 0, 0}, - { 1, 0, 0}, - {-1, 0, 0}, - { 0, 0, 1}, - { 0, 0, -1}, + static const Vector3i RelCoords[] = { + {0, 0, 0}, + {1, 0, 0}, + {-1, 0, 0}, + {0, 0, 1}, + {0, 0, -1}, }; for (auto & RelCoord : RelCoords) { - if (TrySpawnWitherAt( - *a_Player.GetWorld(), a_Player, - a_BlockPos, - RelCoord.x, RelCoord.z - )) + if (TrySpawnWitherAt(*a_Player.GetWorld(), a_Player, a_BlockPos, RelCoord.x, RelCoord.z)) { return true; } @@ -124,52 +131,39 @@ public: but assumed to be a head instead. Offset is used to shift the image around the X and Z axis. Returns true iff the wither was created successfully. */ - bool TrySpawnWitherAt( - cWorld & a_World, cPlayer & a_Player, - Vector3i a_PlacedHeadPos, - int a_OffsetX, int a_OffsetZ - ) const + bool TrySpawnWitherAt(cWorld & a_World, cPlayer & a_Player, Vector3i a_PlacedHeadPos, int a_OffsetX, int a_OffsetZ) + const { // Image for the wither at the X axis: - static const sSetBlock ImageWitherX[] = - { - {-1, 0, 0, E_BLOCK_HEAD, 0}, - { 0, 0, 0, E_BLOCK_HEAD, 0}, - { 1, 0, 0, E_BLOCK_HEAD, 0}, + static const sSetBlock ImageWitherX[] = { + {-1, 0, 0, E_BLOCK_HEAD, 0}, + {0, 0, 0, E_BLOCK_HEAD, 0}, + {1, 0, 0, E_BLOCK_HEAD, 0}, {-1, -1, 0, E_BLOCK_SOULSAND, 0}, - { 0, -1, 0, E_BLOCK_SOULSAND, 0}, - { 1, -1, 0, E_BLOCK_SOULSAND, 0}, - {-1, -2, 0, E_BLOCK_AIR, 0}, - { 0, -2, 0, E_BLOCK_SOULSAND, 0}, - { 1, -2, 0, E_BLOCK_AIR, 0}, + {0, -1, 0, E_BLOCK_SOULSAND, 0}, + {1, -1, 0, E_BLOCK_SOULSAND, 0}, + {-1, -2, 0, E_BLOCK_AIR, 0}, + {0, -2, 0, E_BLOCK_SOULSAND, 0}, + {1, -2, 0, E_BLOCK_AIR, 0}, }; // Image for the wither at the Z axis: - static const sSetBlock ImageWitherZ[] = - { - { 0, 0, -1, E_BLOCK_HEAD, 0}, - { 0, 0, 0, E_BLOCK_HEAD, 0}, - { 0, 0, 1, E_BLOCK_HEAD, 0}, - { 0, -1, -1, E_BLOCK_SOULSAND, 0}, - { 0, -1, 0, E_BLOCK_SOULSAND, 0}, - { 0, -1, 1, E_BLOCK_SOULSAND, 0}, - { 0, -2, -1, E_BLOCK_AIR, 0}, - { 0, -2, 0, E_BLOCK_SOULSAND, 0}, - { 0, -2, 1, E_BLOCK_AIR, 0}, + static const sSetBlock ImageWitherZ[] = { + {0, 0, -1, E_BLOCK_HEAD, 0}, + {0, 0, 0, E_BLOCK_HEAD, 0}, + {0, 0, 1, E_BLOCK_HEAD, 0}, + {0, -1, -1, E_BLOCK_SOULSAND, 0}, + {0, -1, 0, E_BLOCK_SOULSAND, 0}, + {0, -1, 1, E_BLOCK_SOULSAND, 0}, + {0, -2, -1, E_BLOCK_AIR, 0}, + {0, -2, 0, E_BLOCK_SOULSAND, 0}, + {0, -2, 1, E_BLOCK_AIR, 0}, }; // Try to spawn the wither from each image: return ( - TrySpawnWitherFromImage( - a_World, a_Player, ImageWitherX, - a_PlacedHeadPos, - a_OffsetX, a_OffsetZ - ) || - TrySpawnWitherFromImage( - a_World, a_Player, ImageWitherZ, - a_PlacedHeadPos, - a_OffsetX, a_OffsetZ - ) + TrySpawnWitherFromImage(a_World, a_Player, ImageWitherX, a_PlacedHeadPos, a_OffsetX, a_OffsetZ) || + TrySpawnWitherFromImage(a_World, a_Player, ImageWitherZ, a_PlacedHeadPos, a_OffsetX, a_OffsetZ) ); } @@ -183,9 +177,12 @@ public: Offset is used to shift the image around the X and Z axis. Returns true iff the wither was created successfully. */ bool TrySpawnWitherFromImage( - cWorld & a_World, cPlayer & a_Player, const sSetBlock (& a_Image)[9], + cWorld & a_World, + cPlayer & a_Player, + const sSetBlock (&a_Image)[9], Vector3i a_PlacedHeadPos, - int a_OffsetX, int a_OffsetZ + int a_OffsetX, + int a_OffsetZ ) const { std::array PositionsToClear; @@ -200,7 +197,8 @@ public: a_PlacedHeadPos.z + a_OffsetZ + a_Image[i].GetZ() ); - // If the query is for the head the player is about to place (remember, it hasn't been set into the world yet), short-circuit-evaluate it: + // If the query is for the head the player is about to place (remember, it hasn't been set into the world + // yet), short-circuit-evaluate it: if (Block == a_PlacedHeadPos) { if (a_Image[i].m_BlockType != E_BLOCK_HEAD) @@ -228,15 +226,16 @@ public: } // If it is a mob head, check it's a wither skull using the block entity: - if ( - (BlockType == E_BLOCK_HEAD) && - !a_World.DoWithBlockEntityAt(Block, [&](cBlockEntity & a_BlockEntity) - { - ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_HEAD); - - return static_cast(a_BlockEntity).GetType() == SKULL_TYPE_WITHER; - }) - ) + if ((BlockType == E_BLOCK_HEAD) && + !a_World.DoWithBlockEntityAt( + Block, + [&](cBlockEntity & a_BlockEntity) + { + ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_HEAD); + + return static_cast(a_BlockEntity).GetType() == SKULL_TYPE_WITHER; + } + )) { return false; } @@ -246,20 +245,17 @@ public: } // for i - a_Image // All image blocks matched, try replace the image with air blocks: - if ( - !a_Player.PlaceBlocks( - { - { PositionsToClear[0], E_BLOCK_AIR, 0 }, - { PositionsToClear[1], E_BLOCK_AIR, 0 }, - { PositionsToClear[2], E_BLOCK_AIR, 0 }, - { PositionsToClear[3], E_BLOCK_AIR, 0 }, - { PositionsToClear[4], E_BLOCK_AIR, 0 }, - { PositionsToClear[5], E_BLOCK_AIR, 0 }, - { PositionsToClear[6], E_BLOCK_AIR, 0 }, - { PositionsToClear[7], E_BLOCK_AIR, 0 }, - { PositionsToClear[8], E_BLOCK_AIR, 0 }, - }) - ) + if (!a_Player.PlaceBlocks({ + {PositionsToClear[0], E_BLOCK_AIR, 0}, + {PositionsToClear[1], E_BLOCK_AIR, 0}, + {PositionsToClear[2], E_BLOCK_AIR, 0}, + {PositionsToClear[3], E_BLOCK_AIR, 0}, + {PositionsToClear[4], E_BLOCK_AIR, 0}, + {PositionsToClear[5], E_BLOCK_AIR, 0}, + {PositionsToClear[6], E_BLOCK_AIR, 0}, + {PositionsToClear[7], E_BLOCK_AIR, 0}, + {PositionsToClear[8], E_BLOCK_AIR, 0}, + })) { return false; } @@ -267,7 +263,13 @@ public: // Spawn the wither: int BlockX = a_PlacedHeadPos.x + a_OffsetX; int BlockZ = a_PlacedHeadPos.z + a_OffsetZ; - a_World.SpawnMob(static_cast(BlockX) + 0.5, a_PlacedHeadPos.y - 2, static_cast(BlockZ) + 0.5, mtWither, false); + a_World.SpawnMob( + static_cast(BlockX) + 0.5, + a_PlacedHeadPos.y - 2, + static_cast(BlockZ) + 0.5, + mtWither, + false + ); AwardSpawnWitherAchievement(a_World, {BlockX, a_PlacedHeadPos.y - 2, BlockZ}); return true; } @@ -280,7 +282,8 @@ public: void AwardSpawnWitherAchievement(cWorld & a_World, Vector3i a_BlockPos) const { Vector3f Pos(a_BlockPos); - a_World.ForEachPlayer([=](cPlayer & a_Player) + a_World.ForEachPlayer( + [=](cPlayer & a_Player) { // If player is close, award achievement: double Dist = (a_Player.GetPosition() - Pos).Length(); @@ -320,12 +323,5 @@ public: - virtual bool IsPlaceable(void) const override - { - return true; - } -} ; - - - - + virtual bool IsPlaceable(void) const override { return true; } +}; diff --git a/src/Items/ItemNetherWart.h b/src/Items/ItemNetherWart.h index 936e93f31..4bf225f46 100644 --- a/src/Items/ItemNetherWart.h +++ b/src/Items/ItemNetherWart.h @@ -8,20 +8,24 @@ -class cItemNetherWartHandler final: - public cItemHandler +class cItemNetherWartHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Only allow planting nether wart onto the top side of the block: if (a_ClickedBlockFace != BLOCK_FACE_TOP) @@ -36,8 +40,5 @@ public: - virtual bool IsPlaceable(void) const override - { - return true; - } -} ; + virtual bool IsPlaceable(void) const override { return true; } +}; diff --git a/src/Items/ItemObserver.h b/src/Items/ItemObserver.h index 719618410..cc7f58f94 100644 --- a/src/Items/ItemObserver.h +++ b/src/Items/ItemObserver.h @@ -8,19 +8,30 @@ -class cItemObserverHandler final : - public cItemHandler +class cItemObserverHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_OBSERVER, cBlockObserverHandler::DisplacementYawToMetaData(a_PlacePosition, a_Player.GetEyePosition(), a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + E_BLOCK_OBSERVER, + cBlockObserverHandler::DisplacementYawToMetaData( + a_PlacePosition, + a_Player.GetEyePosition(), + a_Player.GetYaw() + ) + ); } }; diff --git a/src/Items/ItemPainting.h b/src/Items/ItemPainting.h index 40e43f87e..80fbac921 100644 --- a/src/Items/ItemPainting.h +++ b/src/Items/ItemPainting.h @@ -10,13 +10,11 @@ -class cItemPaintingHandler final: - public cItemHandler +class cItemPaintingHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -33,11 +31,8 @@ public: ) const override { // Paintings can't be flatly placed: - if ( - (a_ClickedBlockFace == BLOCK_FACE_NONE) || - (a_ClickedBlockFace == BLOCK_FACE_YM) || - (a_ClickedBlockFace == BLOCK_FACE_YP) - ) + if ((a_ClickedBlockFace == BLOCK_FACE_NONE) || (a_ClickedBlockFace == BLOCK_FACE_YM) || + (a_ClickedBlockFace == BLOCK_FACE_YP)) { return false; } @@ -57,40 +52,18 @@ public: } // Define all the possible painting titles - static const AString gPaintingTitlesList[] = - { - { "Kebab" }, - { "Aztec" }, - { "Alban" }, - { "Aztec2" }, - { "Bomb" }, - { "Plant" }, - { "Wasteland" }, - { "Wanderer" }, - { "Graham" }, - { "Pool" }, - { "Courbet" }, - { "Sunset" }, - { "Sea" }, - { "Creebet" }, - { "Match" }, - { "Bust" }, - { "Stage" }, - { "Void" }, - { "SkullAndRoses" }, - { "Wither" }, - { "Fighters" }, - { "Skeleton" }, - { "DonkeyKong" }, - { "Pointer" }, - { "Pigscene" }, - { "BurningSkull" } + static const AString gPaintingTitlesList[] = { + {"Kebab"}, {"Aztec"}, {"Alban"}, {"Aztec2"}, {"Bomb"}, {"Plant"}, {"Wasteland"}, + {"Wanderer"}, {"Graham"}, {"Pool"}, {"Courbet"}, {"Sunset"}, {"Sea"}, {"Creebet"}, + {"Match"}, {"Bust"}, {"Stage"}, {"Void"}, {"SkullAndRoses"}, {"Wither"}, {"Fighters"}, + {"Skeleton"}, {"DonkeyKong"}, {"Pointer"}, {"Pigscene"}, {"BurningSkull"} }; auto PaintingTitle = gPaintingTitlesList[a_World->GetTickRandomNumber(ARRAYCOUNT(gPaintingTitlesList) - 1)]; // A painting, centred so pickups spawn nicely. - auto Painting = std::make_unique(PaintingTitle, a_ClickedBlockFace, Vector3d(0.5, 0.5, 0.5) + PlacePos); + auto Painting = + std::make_unique(PaintingTitle, a_ClickedBlockFace, Vector3d(0.5, 0.5, 0.5) + PlacePos); auto PaintingPtr = Painting.get(); if (!PaintingPtr->Initialize(std::move(Painting), *a_World)) { @@ -104,7 +77,3 @@ public: return true; } }; - - - - diff --git a/src/Items/ItemPickaxe.h b/src/Items/ItemPickaxe.h index 3c38e372f..42576f632 100644 --- a/src/Items/ItemPickaxe.h +++ b/src/Items/ItemPickaxe.h @@ -5,17 +5,14 @@ -class cItemPickaxeHandler final: - public cItemHandler +class cItemPickaxeHandler final : public cItemHandler { using Super = cItemHandler; -public: - - constexpr cItemPickaxeHandler(int a_ItemType): + public: + constexpr cItemPickaxeHandler(int a_ItemType) : Super(a_ItemType) { - } @@ -24,9 +21,9 @@ public: { switch (a_Action) { - case dlaAttackEntity: return 2; - case dlaBreakBlock: return 1; - case dlaBreakBlockInstant: return 0; + case dlaAttackEntity: return 2; + case dlaBreakBlock: return 1; + case dlaBreakBlockInstant: return 0; } UNREACHABLE("Unsupported durability loss action"); } @@ -43,7 +40,7 @@ public: case E_ITEM_IRON_PICKAXE: return 3; case E_ITEM_DIAMOND_PICKAXE: return 4; - default: return 0; + default: return 0; } } @@ -189,5 +186,4 @@ public: ASSERT(!"Something is wrong here... Maybe they are pickaxes out of a new material?"); return 1.0f; } - -} ; +}; diff --git a/src/Items/ItemPiston.h b/src/Items/ItemPiston.h index 8a1611a69..a4263b515 100644 --- a/src/Items/ItemPiston.h +++ b/src/Items/ItemPiston.h @@ -8,19 +8,30 @@ -class cItemPistonHandler final: - public cItemHandler +class cItemPistonHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), cBlockPistonHandler::DisplacementYawToMetaData(a_PlacePosition, a_Player.GetEyePosition(), a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + cBlockPistonHandler::DisplacementYawToMetaData( + a_PlacePosition, + a_Player.GetEyePosition(), + a_Player.GetYaw() + ) + ); } }; diff --git a/src/Items/ItemPlanks.h b/src/Items/ItemPlanks.h index 0bc079806..28f69b62f 100644 --- a/src/Items/ItemPlanks.h +++ b/src/Items/ItemPlanks.h @@ -7,19 +7,26 @@ -class cItemPlanksHandler final : - public cItemHandler +class cItemPlanksHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), static_cast(a_HeldItem.m_ItemDamage)); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + static_cast(a_HeldItem.m_ItemDamage) + ); } }; diff --git a/src/Items/ItemPoisonousPotato.h b/src/Items/ItemPoisonousPotato.h index 849633b5b..7e47f1713 100644 --- a/src/Items/ItemPoisonousPotato.h +++ b/src/Items/ItemPoisonousPotato.h @@ -7,14 +7,12 @@ -class cItemPoisonousPotatoHandler final: - public cItemFoodHandler +class cItemPoisonousPotatoHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - - constexpr cItemPoisonousPotatoHandler(int a_ItemType): + public: + constexpr cItemPoisonousPotatoHandler(int a_ItemType) : Super(a_ItemType, FoodInfo(2, 1.2)) { } @@ -33,5 +31,4 @@ public: return true; } - }; diff --git a/src/Items/ItemPotion.h b/src/Items/ItemPotion.h index 48841652d..dfd0b5a4b 100644 --- a/src/Items/ItemPotion.h +++ b/src/Items/ItemPotion.h @@ -4,13 +4,11 @@ #include "../Entities/EntityEffect.h" -class cItemPotionHandler final: - public cItemHandler +class cItemPotionHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -50,9 +48,22 @@ public: Vector3d Speed = a_Player->GetLookVector() * 14; // Play sound - a_World->BroadcastSoundEffect("entity.arrow.shoot", a_Player->GetPosition() - Vector3d(0, a_Player->GetHeight(), 0), 0.5f, 0.4f / GetRandomProvider().RandReal(0.8f, 1.2f)); + a_World->BroadcastSoundEffect( + "entity.arrow.shoot", + a_Player->GetPosition() - Vector3d(0, a_Player->GetHeight(), 0), + 0.5f, + 0.4f / GetRandomProvider().RandReal(0.8f, 1.2f) + ); - if (a_World->CreateProjectile(Pos.x, Pos.y, Pos.z, cProjectileEntity::pkSplashPotion, a_Player, &a_Player->GetEquippedItem(), &Speed) == cEntity::INVALID_ID) + if (a_World->CreateProjectile( + Pos.x, + Pos.y, + Pos.z, + cProjectileEntity::pkSplashPotion, + a_Player, + &a_Player->GetEquippedItem(), + &Speed + ) == cEntity::INVALID_ID) { return false; } @@ -92,7 +103,3 @@ public: return true; } }; - - - - diff --git a/src/Items/ItemPumpkin.h b/src/Items/ItemPumpkin.h index 2effb4989..78d53b759 100644 --- a/src/Items/ItemPumpkin.h +++ b/src/Items/ItemPumpkin.h @@ -8,18 +8,21 @@ -class cItemPumpkinHandler final: - public cItemHandler +class cItemPumpkinHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // First try spawning a snow golem or an iron golem: if (TrySpawnGolem(a_Player, a_PlacePosition)) @@ -30,15 +33,17 @@ private: } // No golem at these coords, place the block normally: - return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_PUMPKIN, cBlockPumpkinHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player + .PlaceBlock(a_PlacePosition, E_BLOCK_PUMPKIN, cBlockPumpkinHandler::YawToMetaData(a_Player.GetYaw())); } - /** Spawns a snow / iron golem if the shape matches the recipe, supposing that the block placed at the specified coords is a pumpkin. - Returns true if the golem blocks are removed (for spawning), false if the recipe is not matched. */ + /** Spawns a snow / iron golem if the shape matches the recipe, supposing that the block placed at the specified + coords is a pumpkin. Returns true if the golem blocks are removed (for spawning), false if the recipe is not + matched. */ bool TrySpawnGolem(cPlayer & a_Player, const Vector3i a_PumpkinPos) const { // A golem can't form with a pumpkin below level 2 or above level 255: @@ -66,9 +71,9 @@ private: - /** Spawns a snow golem if the shape matches the recipe, supposing that the block placed at the specified coords is a pumpkin. - Returns true if the golem blocks are removed (for spawning), false if the recipe is not matched. - Assumes that the block below the specified block has already been checked and is a snow block. */ + /** Spawns a snow golem if the shape matches the recipe, supposing that the block placed at the specified coords is + a pumpkin. Returns true if the golem blocks are removed (for spawning), false if the recipe is not matched. Assumes + that the block below the specified block has already been checked and is a snow block. */ bool TrySpawnSnowGolem(cWorld & a_World, cPlayer & a_Player, const Vector3i a_PumpkinPos) const { ASSERT(a_PumpkinPos.y > 1); @@ -81,14 +86,11 @@ private: } // Try to place air blocks where the original recipe blocks were: - if ( - !a_Player.PlaceBlocks( - { - { a_PumpkinPos, E_BLOCK_AIR, 0 }, // Head - { a_PumpkinPos.addedY(-1), E_BLOCK_AIR, 0 }, // Torso - { a_PumpkinPos.addedY(-2), E_BLOCK_AIR, 0 } // Legs - }) - ) + if (!a_Player.PlaceBlocks({ + {a_PumpkinPos, E_BLOCK_AIR, 0}, // Head + {a_PumpkinPos.addedY(-1), E_BLOCK_AIR, 0}, // Torso + {a_PumpkinPos.addedY(-2), E_BLOCK_AIR, 0} // Legs + })) { return false; } @@ -103,9 +105,9 @@ private: - /** Spawns an iron golem if the shape matches the recipe, supposing that the block placed at the specified coords is a pumpkin. - Returns true if the golem blocks are removed (for spawning), false if the recipe is not matched. - Assumes that the block below the specified block has already been checked and is an iron block. */ + /** Spawns an iron golem if the shape matches the recipe, supposing that the block placed at the specified coords is + a pumpkin. Returns true if the golem blocks are removed (for spawning), false if the recipe is not matched. Assumes + that the block below the specified block has already been checked and is an iron block. */ bool TrySpawnIronGolem(cWorld & a_World, cPlayer & a_Player, const Vector3i a_PumpkinPos) const { ASSERT(a_PumpkinPos.y > 1); @@ -119,33 +121,27 @@ private: // Check the two arm directions (X, Z) using a loop over two sets of offset vectors: auto BodyPos = a_PumpkinPos.addedY(-1); - static const Vector3i ArmOffsets[] = - { + static const Vector3i ArmOffsets[] = { {1, 0, 0}, {0, 0, 1}, }; for (size_t i = 0; i < ARRAYCOUNT(ArmOffsets); i++) { // If the arm blocks don't match, bail out of this loop repetition: - if ( - (a_World.GetBlock(BodyPos + ArmOffsets[i]) != E_BLOCK_IRON_BLOCK) || - (a_World.GetBlock(BodyPos - ArmOffsets[i]) != E_BLOCK_IRON_BLOCK) - ) + if ((a_World.GetBlock(BodyPos + ArmOffsets[i]) != E_BLOCK_IRON_BLOCK) || + (a_World.GetBlock(BodyPos - ArmOffsets[i]) != E_BLOCK_IRON_BLOCK)) { continue; } // Try to place air blocks where the original recipe blocks were: - if ( - !a_Player.PlaceBlocks( - { - { a_PumpkinPos, E_BLOCK_AIR, 0 }, // Head - { BodyPos, E_BLOCK_AIR, 0 }, // Torso - { BodyPos.addedY(-1), E_BLOCK_AIR, 0 }, // Legs - { BodyPos + ArmOffsets[i], E_BLOCK_AIR, 0 }, // Arm - { BodyPos - ArmOffsets[i], E_BLOCK_AIR, 0 } // Arm - }) - ) + if (!a_Player.PlaceBlocks({ + {a_PumpkinPos, E_BLOCK_AIR, 0}, // Head + {BodyPos, E_BLOCK_AIR, 0}, // Torso + {BodyPos.addedY(-1), E_BLOCK_AIR, 0}, // Legs + {BodyPos + ArmOffsets[i], E_BLOCK_AIR, 0}, // Arm + {BodyPos - ArmOffsets[i], E_BLOCK_AIR, 0} // Arm + })) { return false; } diff --git a/src/Items/ItemQuartz.h b/src/Items/ItemQuartz.h index 5f49e76dc..e32b39330 100644 --- a/src/Items/ItemQuartz.h +++ b/src/Items/ItemQuartz.h @@ -7,17 +7,14 @@ -class cItemQuartzHandler final: - public cItemHandler +class cItemQuartzHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: /** Converts the block face of the pillar block's "base" to the block's metadata. */ static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace) { @@ -45,7 +42,13 @@ private: } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { const auto Meta = static_cast(a_Player.GetEquippedItem().m_ItemDamage); diff --git a/src/Items/ItemRail.h b/src/Items/ItemRail.h index a53f620b2..24c93d7b8 100644 --- a/src/Items/ItemRail.h +++ b/src/Items/ItemRail.h @@ -8,21 +8,28 @@ -class cItemRailHandler final : - public cItemHandler +class cItemRailHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { cChunkInterface ChunkInterface(a_Player.GetWorld()->GetChunkMap()); const auto RailType = static_cast(a_HeldItem.m_ItemType); - return a_Player.PlaceBlock(a_PlacePosition, RailType, cBlockRailHandler::FindMeta(ChunkInterface, a_PlacePosition, RailType)); + return a_Player.PlaceBlock( + a_PlacePosition, + RailType, + cBlockRailHandler::FindMeta(ChunkInterface, a_PlacePosition, RailType) + ); } }; diff --git a/src/Items/ItemRawChicken.h b/src/Items/ItemRawChicken.h index f3522b449..2bf067d71 100644 --- a/src/Items/ItemRawChicken.h +++ b/src/Items/ItemRawChicken.h @@ -7,14 +7,12 @@ -class cItemRawChickenHandler final: - public cItemFoodHandler +class cItemRawChickenHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - - constexpr cItemRawChickenHandler(int a_ItemType): + public: + constexpr cItemRawChickenHandler(int a_ItemType) : Super(a_ItemType, FoodInfo(2, 1.2)) { } @@ -33,5 +31,4 @@ public: return true; } - }; diff --git a/src/Items/ItemRawFish.h b/src/Items/ItemRawFish.h index e741aa3e0..e6022b4a1 100644 --- a/src/Items/ItemRawFish.h +++ b/src/Items/ItemRawFish.h @@ -7,22 +7,19 @@ -class cItemRawFishHandler final: - public cItemFoodHandler +class cItemRawFishHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - - constexpr cItemRawFishHandler(int a_ItemType): + public: + constexpr cItemRawFishHandler(int a_ItemType) : Super(a_ItemType, FoodInfo(0, 0)) { } virtual FoodInfo GetFoodInfo(const cItem * a_Item) const override { - static const FoodInfo RawFishInfos[] = - { + static const FoodInfo RawFishInfos[] = { FoodInfo(2, 0.4), // Raw fish FoodInfo(2, 0.2), // Raw salmon FoodInfo(1, 0.2), // Clownfish @@ -54,5 +51,4 @@ public: return true; } - }; diff --git a/src/Items/ItemRedstoneDust.h b/src/Items/ItemRedstoneDust.h index 803dd601d..cd96de3ac 100644 --- a/src/Items/ItemRedstoneDust.h +++ b/src/Items/ItemRedstoneDust.h @@ -7,20 +7,24 @@ -class cItemRedstoneDustHandler final: - public cItemHandler +class cItemRedstoneDustHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_REDSTONE_WIRE, 0); } @@ -29,12 +33,5 @@ public: - virtual bool IsPlaceable(void) const override - { - return true; - } -} ; - - - - + virtual bool IsPlaceable(void) const override { return true; } +}; diff --git a/src/Items/ItemRedstoneRepeater.h b/src/Items/ItemRedstoneRepeater.h index 2f20d294a..3980774e1 100644 --- a/src/Items/ItemRedstoneRepeater.h +++ b/src/Items/ItemRedstoneRepeater.h @@ -8,34 +8,35 @@ -class cItemRedstoneRepeaterHandler final : - public cItemHandler +class cItemRedstoneRepeaterHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, E_BLOCK_REDSTONE_REPEATER_OFF, cBlockRedstoneRepeaterHandler::YawToMetaData(a_Player.GetYaw())); + return a_Player.PlaceBlock( + a_PlacePosition, + E_BLOCK_REDSTONE_REPEATER_OFF, + cBlockRedstoneRepeaterHandler::YawToMetaData(a_Player.GetYaw()) + ); } - virtual bool IsPlaceable() const override - { - return true; - } -} ; - - - - + virtual bool IsPlaceable() const override { return true; } +}; diff --git a/src/Items/ItemRottenFlesh.h b/src/Items/ItemRottenFlesh.h index 9eb7f2119..0ec30ecf4 100644 --- a/src/Items/ItemRottenFlesh.h +++ b/src/Items/ItemRottenFlesh.h @@ -7,14 +7,12 @@ -class cItemRottenFleshHandler final: - public cItemFoodHandler +class cItemRottenFleshHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - - constexpr cItemRottenFleshHandler(int a_ItemType): + public: + constexpr cItemRottenFleshHandler(int a_ItemType) : Super(a_ItemType, FoodInfo(4, 0.8)) { } @@ -33,5 +31,4 @@ public: return true; } - }; diff --git a/src/Items/ItemSapling.h b/src/Items/ItemSapling.h index 59fd81350..31572dad4 100644 --- a/src/Items/ItemSapling.h +++ b/src/Items/ItemSapling.h @@ -7,22 +7,28 @@ -class cItemSaplingHandler final : - public cItemHandler +class cItemSaplingHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { return a_Player.PlaceBlock( a_PlacePosition, static_cast(m_ItemType), - static_cast(a_HeldItem.m_ItemDamage & 0x07) // Allow only the lowest 3 bits (top bit is for growth). + static_cast( + a_HeldItem.m_ItemDamage & 0x07 + ) // Allow only the lowest 3 bits (top bit is for growth). ); } -} ; +}; diff --git a/src/Items/ItemSeeds.h b/src/Items/ItemSeeds.h index 821afb443..f9879764a 100644 --- a/src/Items/ItemSeeds.h +++ b/src/Items/ItemSeeds.h @@ -8,24 +8,27 @@ -class cItemSeedsHandler: - public cItemHandler +class cItemSeedsHandler : public cItemHandler { using Super = cItemHandler; -public: - - constexpr cItemSeedsHandler(int a_ItemType): + public: + constexpr cItemSeedsHandler(int a_ItemType) : Super(a_ItemType) { - } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Only allow planting seeds from the top side of the block: if (a_ClickedBlockFace != BLOCK_FACE_TOP) @@ -38,12 +41,12 @@ public: // Get the produce block based on the seed item: switch (m_ItemType) { - case E_ITEM_BEETROOT_SEEDS: BlockType = E_BLOCK_BEETROOTS; break; - case E_ITEM_CARROT: BlockType = E_BLOCK_CARROTS; break; - case E_ITEM_MELON_SEEDS: BlockType = E_BLOCK_MELON_STEM; break; - case E_ITEM_POTATO: BlockType = E_BLOCK_POTATOES; break; + case E_ITEM_BEETROOT_SEEDS: BlockType = E_BLOCK_BEETROOTS; break; + case E_ITEM_CARROT: BlockType = E_BLOCK_CARROTS; break; + case E_ITEM_MELON_SEEDS: BlockType = E_BLOCK_MELON_STEM; break; + case E_ITEM_POTATO: BlockType = E_BLOCK_POTATOES; break; case E_ITEM_PUMPKIN_SEEDS: BlockType = E_BLOCK_PUMPKIN_STEM; break; - case E_ITEM_SEEDS: BlockType = E_BLOCK_CROPS; break; + case E_ITEM_SEEDS: BlockType = E_BLOCK_CROPS; break; default: UNREACHABLE("Unsupported seed type"); } @@ -54,20 +57,13 @@ public: - virtual bool IsPlaceable(void) const override - { - return true; - } + virtual bool IsPlaceable(void) const override { return true; } -protected: + protected: ~cItemSeedsHandler() = default; -} ; +}; -class cItemSimpleSeedsHandler final: - public cItemSeedsHandler +class cItemSimpleSeedsHandler final : public cItemSeedsHandler { using cItemSeedsHandler::cItemSeedsHandler; }; - - - diff --git a/src/Items/ItemShears.h b/src/Items/ItemShears.h index 5f8e9e2f1..31016b8ae 100644 --- a/src/Items/ItemShears.h +++ b/src/Items/ItemShears.h @@ -9,13 +9,11 @@ -class cItemShearsHandler final: - public cItemHandler +class cItemShearsHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; @@ -69,9 +67,9 @@ public: { switch (a_Action) { - case dlaAttackEntity: return 0; - case dlaBreakBlock: return 0; - case dlaBreakBlockInstant: return 1; + case dlaAttackEntity: return 0; + case dlaBreakBlock: return 0; + case dlaBreakBlockInstant: return 1; } UNREACHABLE("Unsupported durability loss action"); } @@ -95,4 +93,4 @@ public: return Super::GetBlockBreakingStrength(a_Block); } } -} ; +}; diff --git a/src/Items/ItemShovel.h b/src/Items/ItemShovel.h index 1be2aa6cc..e659ff892 100644 --- a/src/Items/ItemShovel.h +++ b/src/Items/ItemShovel.h @@ -12,13 +12,11 @@ -class cItemShovelHandler final: - public cItemHandler +class cItemShovelHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; diff --git a/src/Items/ItemSideways.h b/src/Items/ItemSideways.h index c1d68c1a6..d273eb93d 100644 --- a/src/Items/ItemSideways.h +++ b/src/Items/ItemSideways.h @@ -11,17 +11,14 @@ /** Handler for blocks that have 3 orientations (hay bale, log), specified by the upper 2 bits in meta. Handles setting the correct orientation on placement. Additionally supports the metadata specifying block sub-type in its lower 2 bits. */ -class cItemSidewaysHandler final : - public cItemHandler +class cItemSidewaysHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace, NIBBLETYPE a_Meta) { switch (a_BlockFace) @@ -46,8 +43,18 @@ private: } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), BlockFaceToMetaData(a_ClickedBlockFace, static_cast(a_HeldItem.m_ItemDamage))); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + BlockFaceToMetaData(a_ClickedBlockFace, static_cast(a_HeldItem.m_ItemDamage)) + ); } }; diff --git a/src/Items/ItemSign.h b/src/Items/ItemSign.h index 8cda673dd..4c40a757d 100644 --- a/src/Items/ItemSign.h +++ b/src/Items/ItemSign.h @@ -9,17 +9,14 @@ -class cItemSignHandler final: - public cItemHandler +class cItemSignHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: /** Converts the block face of the neighbor to which the wallsign is attached to the wallsign block's meta. */ static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_NeighborBlockFace) { @@ -40,7 +37,13 @@ private: } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { if (a_ClickedBlockFace == BLOCK_FACE_TOP) { @@ -60,10 +63,7 @@ private: } - virtual bool IsPlaceable(void) const override - { - return true; - } + virtual bool IsPlaceable(void) const override { return true; } /** Converts the (player) rotation to placed-signpost block meta. */ @@ -79,8 +79,4 @@ private: return static_cast(a_Rotation) % 16; } -} ; - - - - +}; diff --git a/src/Items/ItemSlab.h b/src/Items/ItemSlab.h index e0a405fe0..678106a65 100644 --- a/src/Items/ItemSlab.h +++ b/src/Items/ItemSlab.h @@ -7,25 +7,32 @@ -class cItemSlabHandler final: - public cItemHandler +class cItemSlabHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { // Confer BlockSlab.h, which we're in cahoots with to make the below logic work. // If clicking a slab, combine it into a double-slab: if (cBlockSlabHandler::IsAnySlabType(a_Player.GetWorld()->GetBlock(a_PlacePosition))) { - if (!a_Player.PlaceBlock(a_PlacePosition, GetDoubleSlabType(static_cast(a_HeldItem.m_ItemType)), static_cast(a_HeldItem.m_ItemDamage))) + if (!a_Player.PlaceBlock( + a_PlacePosition, + GetDoubleSlabType(static_cast(a_HeldItem.m_ItemType)), + static_cast(a_HeldItem.m_ItemDamage) + )) { return false; } @@ -35,7 +42,11 @@ private: } // Set the correct metadata based on player equipped item: - if (!a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), FaceToMetaData(static_cast(a_HeldItem.m_ItemDamage), a_ClickedBlockFace, a_CursorPosition))) + if (!a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + FaceToMetaData(static_cast(a_HeldItem.m_ItemDamage), a_ClickedBlockFace, a_CursorPosition) + )) { return false; } @@ -50,7 +61,11 @@ private: } - static NIBBLETYPE FaceToMetaData(const NIBBLETYPE a_BaseMeta, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) + static NIBBLETYPE FaceToMetaData( + const NIBBLETYPE a_BaseMeta, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) { switch (a_ClickedBlockFace) { @@ -90,10 +105,10 @@ private: { switch (a_SingleSlabBlockType) { - case E_BLOCK_STONE_SLAB: return E_BLOCK_DOUBLE_STONE_SLAB; - case E_BLOCK_WOODEN_SLAB: return E_BLOCK_DOUBLE_WOODEN_SLAB; + case E_BLOCK_STONE_SLAB: return E_BLOCK_DOUBLE_STONE_SLAB; + case E_BLOCK_WOODEN_SLAB: return E_BLOCK_DOUBLE_WOODEN_SLAB; case E_BLOCK_RED_SANDSTONE_SLAB: return E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB; - case E_BLOCK_PURPUR_SLAB: return E_BLOCK_PURPUR_DOUBLE_SLAB; + case E_BLOCK_PURPUR_SLAB: return E_BLOCK_PURPUR_DOUBLE_SLAB; } UNREACHABLE("Unhandled slab type"); } diff --git a/src/Items/ItemSnow.h b/src/Items/ItemSnow.h index 87fa71e5f..ff79b2863 100644 --- a/src/Items/ItemSnow.h +++ b/src/Items/ItemSnow.h @@ -7,18 +7,21 @@ -class cItemSnowHandler final : - public cItemHandler +class cItemSnowHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { BLOCKTYPE Block; NIBBLETYPE Meta; diff --git a/src/Items/ItemSoup.h b/src/Items/ItemSoup.h index 974a410a8..9d0f5f36f 100644 --- a/src/Items/ItemSoup.h +++ b/src/Items/ItemSoup.h @@ -8,17 +8,14 @@ -class cItemSoupHandler final: - public cItemFoodHandler +class cItemSoupHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - - constexpr cItemSoupHandler(int a_ItemType, FoodInfo a_FoodInfo): + public: + constexpr cItemSoupHandler(int a_ItemType, FoodInfo a_FoodInfo) : Super(a_ItemType, a_FoodInfo) { - } virtual bool EatItem(cPlayer * a_Player, cItem * a_Item) const override @@ -36,5 +33,4 @@ public: return true; } - }; diff --git a/src/Items/ItemSpawnEgg.h b/src/Items/ItemSpawnEgg.h index 639a3e273..df5fd19fd 100644 --- a/src/Items/ItemSpawnEgg.h +++ b/src/Items/ItemSpawnEgg.h @@ -9,13 +9,11 @@ -class cItemSpawnEggHandler final: - public cItemHandler +class cItemSpawnEggHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; virtual bool OnItemUse( @@ -40,9 +38,9 @@ public: } auto MonsterType = ItemDamageToMonsterType(a_HeldItem.m_ItemDamage); - if ( - (MonsterType != mtInvalidType) && // Valid monster type - (a_World->SpawnMob(PlacementPos.x + 0.5, PlacementPos.y, PlacementPos.z + 0.5, MonsterType, false) != cEntity::INVALID_ID)) // Spawning succeeded + if ((MonsterType != mtInvalidType) && // Valid monster type + (a_World->SpawnMob(PlacementPos.x + 0.5, PlacementPos.y, PlacementPos.z + 0.5, MonsterType, false) != + cEntity::INVALID_ID)) // Spawning succeeded { if (!a_Player->IsGameModeCreative()) { @@ -94,7 +92,7 @@ public: case E_META_SPAWN_EGG_ZOMBIE: return mtZombie; case E_META_SPAWN_EGG_ZOMBIE_PIGMAN: return mtZombiePigman; case E_META_SPAWN_EGG_ZOMBIE_VILLAGER: return mtZombieVillager; - default: return mtInvalidType; + default: return mtInvalidType; } } -} ; +}; diff --git a/src/Items/ItemSpiderEye.h b/src/Items/ItemSpiderEye.h index 63631e30c..0f420d1b9 100644 --- a/src/Items/ItemSpiderEye.h +++ b/src/Items/ItemSpiderEye.h @@ -7,14 +7,12 @@ -class cItemSpiderEyeHandler final: - public cItemFoodHandler +class cItemSpiderEyeHandler final : public cItemFoodHandler { using Super = cItemFoodHandler; -public: - - constexpr cItemSpiderEyeHandler(int a_ItemType): + public: + constexpr cItemSpiderEyeHandler(int a_ItemType) : Super(a_ItemType, FoodInfo(2, 3.2)) { } @@ -30,5 +28,4 @@ public: return true; } - }; diff --git a/src/Items/ItemStairs.h b/src/Items/ItemStairs.h index 8a937ae56..745199cb9 100644 --- a/src/Items/ItemStairs.h +++ b/src/Items/ItemStairs.h @@ -8,25 +8,30 @@ -class cItemStairsHandler final : - public cItemHandler +class cItemStairsHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { NIBBLETYPE Meta = cBlockStairsHandler::YawToMetaData(a_Player.GetYaw()); switch (a_ClickedBlockFace) { - case BLOCK_FACE_TOP: break; - case BLOCK_FACE_BOTTOM: Meta |= 0x4; break; // When placing onto a bottom face, always place an upside-down stairs block. + case BLOCK_FACE_TOP: break; + case BLOCK_FACE_BOTTOM: + Meta |= 0x4; + break; // When placing onto a bottom face, always place an upside-down stairs block. case BLOCK_FACE_EAST: case BLOCK_FACE_NORTH: case BLOCK_FACE_SOUTH: diff --git a/src/Items/ItemSword.h b/src/Items/ItemSword.h index ddc6632e4..83ec32c19 100644 --- a/src/Items/ItemSword.h +++ b/src/Items/ItemSword.h @@ -8,13 +8,11 @@ -class cItemSwordHandler final : - public cItemHandler +class cItemSwordHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; virtual bool CanHarvestBlock(BLOCKTYPE a_BlockType) const override @@ -45,9 +43,9 @@ public: { switch (a_Action) { - case dlaAttackEntity: return 1; - case dlaBreakBlock: return 2; - case dlaBreakBlockInstant: return 0; + case dlaAttackEntity: return 1; + case dlaBreakBlock: return 2; + case dlaBreakBlockInstant: return 0; } UNREACHABLE("Unsupported durability loss action"); } @@ -62,12 +60,8 @@ public: } else { - if ( - IsBlockMaterialPlants(a_Block) || - IsBlockMaterialVine(a_Block) || - IsBlockMaterialLeaves(a_Block) || - IsBlockMaterialGourd(a_Block) - ) + if (IsBlockMaterialPlants(a_Block) || IsBlockMaterialVine(a_Block) || IsBlockMaterialLeaves(a_Block) || + IsBlockMaterialGourd(a_Block)) { return 1.5f; } @@ -77,5 +71,4 @@ public: } } } - -} ; +}; diff --git a/src/Items/ItemThrowable.h b/src/Items/ItemThrowable.h index 65f44c72a..06a5478ae 100644 --- a/src/Items/ItemThrowable.h +++ b/src/Items/ItemThrowable.h @@ -10,17 +10,13 @@ -class cItemThrowableHandler: - public cItemHandler +class cItemThrowableHandler : public cItemHandler { using Super = cItemHandler; -public: - - constexpr cItemThrowableHandler(int a_ItemType, cProjectileEntity::eKind a_ProjectileKind, double a_SpeedCoeff): - Super(a_ItemType), - m_ProjectileKind(a_ProjectileKind), - m_SpeedCoeff(a_SpeedCoeff) + public: + constexpr cItemThrowableHandler(int a_ItemType, cProjectileEntity::eKind a_ProjectileKind, double a_SpeedCoeff) : + Super(a_ItemType), m_ProjectileKind(a_ProjectileKind), m_SpeedCoeff(a_SpeedCoeff) { } @@ -41,13 +37,26 @@ public: auto Speed = a_Player->GetLookVector() * m_SpeedCoeff; // Create the projectile: - if (a_World->CreateProjectile(Pos.x, Pos.y, Pos.z, m_ProjectileKind, a_Player, &a_Player->GetEquippedItem(), &Speed) == cEntity::INVALID_ID) + if (a_World->CreateProjectile( + Pos.x, + Pos.y, + Pos.z, + m_ProjectileKind, + a_Player, + &a_Player->GetEquippedItem(), + &Speed + ) == cEntity::INVALID_ID) { return false; } // Play sound: - a_World->BroadcastSoundEffect("entity.arrow.shoot", a_Player->GetPosition() - Vector3d(0, a_Player->GetHeight(), 0), 0.5f, 0.4f / GetRandomProvider().RandReal(0.8f, 1.2f)); + a_World->BroadcastSoundEffect( + "entity.arrow.shoot", + a_Player->GetPosition() - Vector3d(0, a_Player->GetHeight(), 0), + 0.5f, + 0.4f / GetRandomProvider().RandReal(0.8f, 1.2f) + ); // Remove from inventory if (!a_Player->IsGameModeCreative()) @@ -58,8 +67,7 @@ public: return true; } -protected: - + protected: /** The kind of projectile to create when shooting */ cProjectileEntity::eKind m_ProjectileKind; @@ -67,70 +75,62 @@ protected: double m_SpeedCoeff; ~cItemThrowableHandler() = default; -} ; +}; -class cItemEggHandler final: - public cItemThrowableHandler +class cItemEggHandler final : public cItemThrowableHandler { using Super = cItemThrowableHandler; -public: - - constexpr cItemEggHandler(int a_ItemType): + public: + constexpr cItemEggHandler(int a_ItemType) : Super(a_ItemType, cProjectileEntity::pkEgg, 30) { } -} ; +}; -class cItemSnowballHandler final: - public cItemThrowableHandler +class cItemSnowballHandler final : public cItemThrowableHandler { using Super = cItemThrowableHandler; -public: - - constexpr cItemSnowballHandler(int a_ItemType): + public: + constexpr cItemSnowballHandler(int a_ItemType) : Super(a_ItemType, cProjectileEntity::pkSnowball, 30) { } -} ; +}; -class cItemEnderPearlHandler final: - public cItemThrowableHandler +class cItemEnderPearlHandler final : public cItemThrowableHandler { using Super = cItemThrowableHandler; -public: - - constexpr cItemEnderPearlHandler(int a_ItemType): + public: + constexpr cItemEnderPearlHandler(int a_ItemType) : Super(a_ItemType, cProjectileEntity::pkEnderPearl, 30) { } -} ; +}; -class cItemBottleOEnchantingHandler final : - public cItemThrowableHandler +class cItemBottleOEnchantingHandler final : public cItemThrowableHandler { using Super = cItemThrowableHandler; -public: - - constexpr cItemBottleOEnchantingHandler(int a_ItemType): + public: + constexpr cItemBottleOEnchantingHandler(int a_ItemType) : Super(a_ItemType, cProjectileEntity::pkExpBottle, 14) { } @@ -140,14 +140,12 @@ public: -class cItemFireworkHandler final: - public cItemThrowableHandler +class cItemFireworkHandler final : public cItemThrowableHandler { using Super = cItemThrowableHandler; -public: - - constexpr cItemFireworkHandler(int a_ItemType): + public: + constexpr cItemFireworkHandler(int a_ItemType) : Super(a_ItemType, cProjectileEntity::pkFirework, 0) { } @@ -170,7 +168,12 @@ public: return false; } - if (a_World->CreateProjectile(Vector3d(a_ClickedBlockPos) + Vector3d(0.5, 1, 0.5), m_ProjectileKind, a_Player, &a_Player->GetEquippedItem()) == 0) + if (a_World->CreateProjectile( + Vector3d(a_ClickedBlockPos) + Vector3d(0.5, 1, 0.5), + m_ProjectileKind, + a_Player, + &a_Player->GetEquippedItem() + ) == 0) { return false; } diff --git a/src/Items/ItemTorch.h b/src/Items/ItemTorch.h index 753ac09a9..ccba2a179 100644 --- a/src/Items/ItemTorch.h +++ b/src/Items/ItemTorch.h @@ -8,38 +8,45 @@ -class cItemTorchHandler final : - public cItemHandler +class cItemTorchHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: /** Converts the block face of the neighbor to which the torch is attached, to the torch block's meta. */ static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace) { switch (a_BlockFace) { - case BLOCK_FACE_TOP: return E_META_TORCH_FLOOR; - case BLOCK_FACE_EAST: return E_META_TORCH_EAST; - case BLOCK_FACE_WEST: return E_META_TORCH_WEST; - case BLOCK_FACE_NORTH: return E_META_TORCH_NORTH; - case BLOCK_FACE_SOUTH: return E_META_TORCH_SOUTH; - default: UNREACHABLE("Unsupported block face"); + case BLOCK_FACE_TOP: return E_META_TORCH_FLOOR; + case BLOCK_FACE_EAST: return E_META_TORCH_EAST; + case BLOCK_FACE_WEST: return E_META_TORCH_WEST; + case BLOCK_FACE_NORTH: return E_META_TORCH_NORTH; + case BLOCK_FACE_SOUTH: return E_META_TORCH_SOUTH; + default: UNREACHABLE("Unsupported block face"); } } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { const auto & World = *a_Player.GetWorld(); BLOCKTYPE ClickedBlockType; NIBBLETYPE ClickedBlockMeta; - World.GetBlockTypeMeta(AddFaceDirection(a_PlacePosition, a_ClickedBlockFace, true), ClickedBlockType, ClickedBlockMeta); + World.GetBlockTypeMeta( + AddFaceDirection(a_PlacePosition, a_ClickedBlockFace, true), + ClickedBlockType, + ClickedBlockMeta + ); // Try finding a suitable neighbor block face for the torch; start with the given one: if (!cBlockTorchHandler::CanBePlacedOn(ClickedBlockType, ClickedBlockMeta, a_ClickedBlockFace)) @@ -53,7 +60,11 @@ private: } } - return a_Player.PlaceBlock(a_PlacePosition, static_cast(a_HeldItem.m_ItemType), BlockFaceToMetaData(a_ClickedBlockFace)); + return a_Player.PlaceBlock( + a_PlacePosition, + static_cast(a_HeldItem.m_ItemType), + BlockFaceToMetaData(a_ClickedBlockFace) + ); } @@ -61,7 +72,9 @@ private: Returns BLOCK_FACE_NONE on failure. */ static eBlockFace FindSuitableFace(const cWorld & a_World, const Vector3i a_Position) { - for (const auto Face : { BLOCK_FACE_ZM, BLOCK_FACE_XP, BLOCK_FACE_ZP, BLOCK_FACE_XM, BLOCK_FACE_YP }) // Loop through all faces in specific order. + for (const auto Face : + {BLOCK_FACE_ZM, BLOCK_FACE_XP, BLOCK_FACE_ZP, BLOCK_FACE_XM, BLOCK_FACE_YP + }) // Loop through all faces in specific order. { // The direction of Face is relative to the direction the torch faces. // This is the position, computed inverted, that such a torch would attach to. diff --git a/src/Items/ItemTrapdoor.h b/src/Items/ItemTrapdoor.h index 337e8ea15..c5c23d036 100644 --- a/src/Items/ItemTrapdoor.h +++ b/src/Items/ItemTrapdoor.h @@ -8,17 +8,14 @@ -class cItemTrapdoorHandler final : - public cItemHandler +class cItemTrapdoorHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: inline static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace) { switch (a_BlockFace) @@ -27,12 +24,18 @@ private: case BLOCK_FACE_ZM: return 0x0; case BLOCK_FACE_XP: return 0x3; case BLOCK_FACE_XM: return 0x2; - default: UNREACHABLE("Unsupported block face"); + default: UNREACHABLE("Unsupported block face"); } } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { NIBBLETYPE Meta; diff --git a/src/Items/ItemTripwireHook.h b/src/Items/ItemTripwireHook.h index b30f3c85c..10d26c741 100644 --- a/src/Items/ItemTripwireHook.h +++ b/src/Items/ItemTripwireHook.h @@ -7,17 +7,14 @@ -class cItemTripwireHookHandler final : - public cItemHandler +class cItemTripwireHookHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - + private: static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace) { switch (a_BlockFace) @@ -26,12 +23,18 @@ private: case BLOCK_FACE_XP: return 0x3; case BLOCK_FACE_ZM: return 0x2; case BLOCK_FACE_ZP: return 0x0; - default: UNREACHABLE("Unsupported block face"); + default: UNREACHABLE("Unsupported block face"); } } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { if ((a_ClickedBlockFace == BLOCK_FACE_YP) || (a_ClickedBlockFace == BLOCK_FACE_YM)) { diff --git a/src/Items/ItemVines.h b/src/Items/ItemVines.h index 07b6ec23e..d863a5e0f 100644 --- a/src/Items/ItemVines.h +++ b/src/Items/ItemVines.h @@ -7,18 +7,21 @@ -class cItemVinesHandler final : - public cItemHandler +class cItemVinesHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: using Super::Super; -private: - - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + private: + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { BLOCKTYPE Block; NIBBLETYPE Meta; @@ -31,7 +34,7 @@ private: case BLOCK_FACE_SOUTH: PlaceMeta = 0x4; break; case BLOCK_FACE_WEST: PlaceMeta = 0x8; break; case BLOCK_FACE_EAST: PlaceMeta = 0x2; break; - default: return false; + default: return false; } if (Block == E_BLOCK_VINES) diff --git a/src/Items/SimplePlaceableItemHandler.h b/src/Items/SimplePlaceableItemHandler.h index 2bfe756af..fa4eb6d8f 100644 --- a/src/Items/SimplePlaceableItemHandler.h +++ b/src/Items/SimplePlaceableItemHandler.h @@ -6,32 +6,31 @@ -class cSimplePlaceableItemHandler final: - public cItemHandler +class cSimplePlaceableItemHandler final : public cItemHandler { using Super = cItemHandler; -public: - + public: constexpr cSimplePlaceableItemHandler(int a_ItemType, BLOCKTYPE a_BlockType) : - Super(a_ItemType), - m_BlockType(a_BlockType) + Super(a_ItemType), m_BlockType(a_BlockType) { } - virtual bool IsPlaceable(void) const override - { - return true; - } + virtual bool IsPlaceable(void) const override { return true; } - virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) const override + virtual bool CommitPlacement( + cPlayer & a_Player, + const cItem & a_HeldItem, + const Vector3i a_PlacePosition, + const eBlockFace a_ClickedBlockFace, + const Vector3i a_CursorPosition + ) const override { return a_Player.PlaceBlock(a_PlacePosition, m_BlockType, 0); } -private: - + private: BLOCKTYPE m_BlockType; }; diff --git a/src/JsonUtils.cpp b/src/JsonUtils.cpp index 2c6c8efbc..05cdb6de2 100644 --- a/src/JsonUtils.cpp +++ b/src/JsonUtils.cpp @@ -44,8 +44,7 @@ bool ParseString(const AString & a_JsonStr, Json::Value & a_Root, AString * a_Er -AString SerializeSingleValueJsonObject( - const AString & a_Key, const AString & a_Value) +AString SerializeSingleValueJsonObject(const AString & a_Key, const AString & a_Value) { Json::Value root; root[a_Key] = a_Value; diff --git a/src/JsonUtils.h b/src/JsonUtils.h index fc35e9f0a..aa2427148 100644 --- a/src/JsonUtils.h +++ b/src/JsonUtils.h @@ -17,4 +17,4 @@ bool ParseString(const AString & a_JsonStr, Json::Value & a_Root, AString * a_Er /** Creates a Json string representing an object with the specified single value. */ extern AString SerializeSingleValueJsonObject(const AString & a_Key, const AString & a_Value); -} +} // namespace JsonUtils diff --git a/src/LazyArray.h b/src/LazyArray.h index dbb772585..7d7c66e2d 100644 --- a/src/LazyArray.h +++ b/src/LazyArray.h @@ -4,14 +4,12 @@ /** A dynamic array that defers allocation to the first modifying access. Const references from the array before allocation will all be to the same default constructed value. It is therefore important that default constructed values are indistinguishable from each other. */ -template -class cLazyArray +template class cLazyArray { - static_assert((!std::is_reference::value && !std::is_array::value), - "cLazyArray: T must be a value type"); - static_assert(std::is_default_constructible::value, - "cLazyArray: T must be default constructible"); -public: + static_assert((!std::is_reference::value && !std::is_array::value), "cLazyArray: T must be a value type"); + static_assert(std::is_default_constructible::value, "cLazyArray: T must be default constructible"); + + public: using value_type = T; using pointer = T *; using const_pointer = const T *; @@ -21,14 +19,14 @@ public: using iterator = pointer; using const_iterator = const_pointer; - cLazyArray(size_type a_Size) noexcept: - m_Size{ a_Size } + cLazyArray(size_type a_Size) noexcept : + m_Size {a_Size} { ASSERT(a_Size > 0); } - cLazyArray(const cLazyArray & a_Other): - m_Size{ a_Other.m_Size } + cLazyArray(const cLazyArray & a_Other) : + m_Size {a_Other.m_Size} { if (a_Other.IsStorageAllocated()) { @@ -37,45 +35,41 @@ public: } } - cLazyArray(cLazyArray && a_Other) noexcept: - m_Array{ std::move(a_Other.m_Array) }, - m_Size{ a_Other.m_Size } + cLazyArray(cLazyArray && a_Other) noexcept : + m_Array {std::move(a_Other.m_Array)}, m_Size {a_Other.m_Size} { } - cLazyArray & operator = (const cLazyArray & a_Other) + cLazyArray & operator=(const cLazyArray & a_Other) { cLazyArray(a_Other).swap(*this); return *this; } - cLazyArray & operator = (cLazyArray && a_Other) noexcept + cLazyArray & operator=(cLazyArray && a_Other) noexcept { m_Array = std::move(a_Other.m_Array); m_Size = a_Other.m_Size; return *this; } - T & operator [] (size_type a_Idx) + T & operator[](size_type a_Idx) { ASSERT((0 <= a_Idx) && (a_Idx < m_Size)); return data()[a_Idx]; } - const T & operator [] (size_type a_Idx) const - { - return GetAt(a_Idx); - } + const T & operator[](size_type a_Idx) const { return GetAt(a_Idx); } // STL style interface const_iterator cbegin() const { return data(); } - iterator begin() { return data(); } - const_iterator begin() const { return cbegin(); } + iterator begin() { return data(); } + const_iterator begin() const { return cbegin(); } const_iterator cend() const { return data() + m_Size; } - iterator end() { return data() + m_Size; } - const_iterator end() const { return cend(); } + iterator end() { return data() + m_Size; } + const_iterator end() const { return cend(); } size_type size() const noexcept { return m_Size; } @@ -101,10 +95,7 @@ public: std::swap(m_Size, a_Other.m_Size); } - friend void swap(cLazyArray & a_Lhs, cLazyArray & a_Rhs) noexcept - { - a_Lhs.swap(a_Rhs); - } + friend void swap(cLazyArray & a_Lhs, cLazyArray & a_Rhs) noexcept { a_Lhs.swap(a_Rhs); } // Extra functions to help avoid allocation @@ -126,9 +117,8 @@ public: /** Returns true if the array has already been allocated. */ bool IsStorageAllocated() const noexcept { return (m_Array != nullptr); } -private: + private: // Mutable so const data() can allocate the array mutable std::unique_ptr m_Array; size_type m_Size; }; - diff --git a/src/LightingThread.cpp b/src/LightingThread.cpp index 69daa9c09..71209b3f0 100644 --- a/src/LightingThread.cpp +++ b/src/LightingThread.cpp @@ -13,9 +13,9 @@ -/** Chunk data callback that takes the chunk data and puts them into cLightingThread's m_BlockTypes[] / m_HeightMap[]: */ -class cReader : - public cChunkDataCallback +/** Chunk data callback that takes the chunk data and puts them into cLightingThread's m_BlockTypes[] / m_HeightMap[]: + */ +class cReader : public cChunkDataCallback { virtual void ChunkData(const ChunkBlockData & a_BlockData, const ChunkLightData &) override { @@ -41,7 +41,8 @@ class cReader : OutputIdx += 3; } // Skip into the next y-level in the 3x3 chunk blob; each level has cChunkDef::Width * 9 rows - // We've already walked cChunkDef::Width * 3 in the "for z" cycle, that makes cChunkDef::Width * 6 rows left to skip + // We've already walked cChunkDef::Width * 3 in the "for z" cycle, that makes cChunkDef::Width * 6 rows + // left to skip OutputIdx += cChunkDef::Width * 6; } } @@ -51,8 +52,11 @@ class cReader : virtual void HeightMap(const cChunkDef::HeightMap & a_Heightmap) override { // Copy the entire heightmap, distribute it into the 3x3 chunk blob: - typedef struct {HEIGHTTYPE m_Row[16]; } ROW; - const ROW * InputRows = reinterpret_cast(a_Heightmap); + typedef struct + { + HEIGHTTYPE m_Row[16]; + } ROW; + const ROW * InputRows = reinterpret_cast(a_Heightmap); ROW * OutputRows = reinterpret_cast(m_HeightMap); int InputIdx = 0; int OutputIdx = m_ReadingChunkX + m_ReadingChunkZ * cChunkDef::Width * 3; @@ -74,23 +78,21 @@ class cReader : m_MaxHeight = MaxHeight; } -public: + public: int m_ReadingChunkX; // 0, 1 or 2; x-offset of the chunk we're reading from the BlockTypes start int m_ReadingChunkZ; // 0, 1 or 2; z-offset of the chunk we're reading from the BlockTypes start HEIGHTTYPE m_MaxHeight; // Maximum value in this chunk's heightmap - BLOCKTYPE * m_BlockTypes; // 3x3 chunks of block types, organized as a single XZY blob of data (instead of 3x3 XZY blobs) - HEIGHTTYPE * m_HeightMap; // 3x3 chunks of height map, organized as a single XZY blob of data (instead of 3x3 XZY blobs) + BLOCKTYPE * + m_BlockTypes; // 3x3 chunks of block types, organized as a single XZY blob of data (instead of 3x3 XZY blobs) + HEIGHTTYPE * + m_HeightMap; // 3x3 chunks of height map, organized as a single XZY blob of data (instead of 3x3 XZY blobs) cReader(BLOCKTYPE * a_BlockTypes, HEIGHTTYPE * a_HeightMap) : - m_ReadingChunkX(0), - m_ReadingChunkZ(0), - m_MaxHeight(0), - m_BlockTypes(a_BlockTypes), - m_HeightMap(a_HeightMap) + m_ReadingChunkX(0), m_ReadingChunkZ(0), m_MaxHeight(0), m_BlockTypes(a_BlockTypes), m_HeightMap(a_HeightMap) { std::fill_n(m_BlockTypes, cChunkDef::NumBlocks * 9, E_BLOCK_AIR); } -} ; +}; @@ -99,11 +101,8 @@ public: //////////////////////////////////////////////////////////////////////////////// // cLightingThread: -cLightingThread::cLightingThread(cWorld & a_World): - Super("Lighting Executor"), - m_World(a_World), - m_MaxHeight(0), - m_NumSeeds(0) +cLightingThread::cLightingThread(cWorld & a_World) : + Super("Lighting Executor"), m_World(a_World), m_MaxHeight(0), m_NumSeeds(0) { } @@ -342,7 +341,7 @@ void cLightingThread::ReadChunks(int a_ChunkX, int a_ChunkZ) } // for x memset(m_BlockLight, 0, sizeof(m_BlockLight)); - memset(m_SkyLight, 0, sizeof(m_SkyLight)); + memset(m_SkyLight, 0, sizeof(m_SkyLight)); m_MaxHeight = Reader.m_MaxHeight; } @@ -359,7 +358,11 @@ void cLightingThread::PrepareSkyLight(void) // Fill the top of the chunk with all-light: if (m_MaxHeight < cChunkDef::Height - 1) { - std::fill(m_SkyLight + (m_MaxHeight + 1) * BlocksPerYLayer, m_SkyLight + ARRAYCOUNT(m_SkyLight), static_cast(15)); + std::fill( + m_SkyLight + (m_MaxHeight + 1) * BlocksPerYLayer, + m_SkyLight + ARRAYCOUNT(m_SkyLight), + static_cast(15) + ); } // Walk every column that has all XZ neighbors @@ -372,21 +375,22 @@ void cLightingThread::PrepareSkyLight(void) // Find the lowest block in this column that receives full sunlight (go through transparent blocks): int Current = m_HeightMap[idx]; ASSERT(Current < cChunkDef::Height); - while ( - (Current >= 0) && - cBlockInfo::IsTransparent(m_BlockTypes[idx + Current * BlocksPerYLayer]) && - !cBlockInfo::IsSkylightDispersant(m_BlockTypes[idx + Current * BlocksPerYLayer]) - ) + while ((Current >= 0) && cBlockInfo::IsTransparent(m_BlockTypes[idx + Current * BlocksPerYLayer]) && + !cBlockInfo::IsSkylightDispersant(m_BlockTypes[idx + Current * BlocksPerYLayer])) { Current -= 1; // Sunlight goes down unchanged through this block } Current += 1; // Point to the last sunlit block, rather than the first non-transparent one - // The other neighbors don't need transparent-block-checking. At worst we'll have a few dud seeds above the ground. + // The other neighbors don't need transparent-block-checking. At worst we'll have a few dud seeds above the + // ground. int Neighbor1 = m_HeightMap[idx + 1] + 1; // X + 1 int Neighbor2 = m_HeightMap[idx - 1] + 1; // X - 1 int Neighbor3 = m_HeightMap[idx + cChunkDef::Width * 3] + 1; // Z + 1 int Neighbor4 = m_HeightMap[idx - cChunkDef::Width * 3] + 1; // Z - 1 - int MaxNeighbor = std::max(std::max(Neighbor1, Neighbor2), std::max(Neighbor3, Neighbor4)); // Maximum of the four neighbors + int MaxNeighbor = std::max( + std::max(Neighbor1, Neighbor2), + std::max(Neighbor3, Neighbor4) + ); // Maximum of the four neighbors // Fill the column from m_MaxHeight to Current with all-light: for (int y = m_MaxHeight, Index = idx + y * BlocksPerYLayer; y >= Current; y--, Index -= BlocksPerYLayer) @@ -472,8 +476,12 @@ void cLightingThread::CalcLight(NIBBLETYPE * a_Light) void cLightingThread::CalcLightStep( NIBBLETYPE * a_Light, - size_t a_NumSeedsIn, unsigned char * a_IsSeedIn, unsigned int * a_SeedIdxIn, - size_t & a_NumSeedsOut, unsigned char * a_IsSeedOut, unsigned int * a_SeedIdxOut + size_t a_NumSeedsIn, + unsigned char * a_IsSeedIn, + unsigned int * a_SeedIdxIn, + size_t & a_NumSeedsOut, + unsigned char * a_IsSeedOut, + unsigned int * a_SeedIdxOut ) { UNUSED(a_IsSeedIn); @@ -533,7 +541,8 @@ void cLightingThread::CompressLight(NIBBLETYPE * a_LightArray, NIBBLETYPE * a_Ch InIdx += cChunkDef::Width * 2; } // Skip into the next y-level in the 3x3 chunk blob; each level has cChunkDef::Width * 9 rows - // We've already walked cChunkDef::Width * 3 in the "for z" cycle, that makes cChunkDef::Width * 6 rows left to skip + // We've already walked cChunkDef::Width * 3 in the "for z" cycle, that makes cChunkDef::Width * 6 rows left to + // skip InIdx += cChunkDef::Width * cChunkDef::Width * 6; } } @@ -544,8 +553,11 @@ void cLightingThread::CompressLight(NIBBLETYPE * a_LightArray, NIBBLETYPE * a_Ch void cLightingThread::PropagateLight( NIBBLETYPE * a_Light, - unsigned int a_SrcIdx, unsigned int a_DstIdx, - size_t & a_NumSeedsOut, unsigned char * a_IsSeedOut, unsigned int * a_SeedIdxOut + unsigned int a_SrcIdx, + unsigned int a_DstIdx, + size_t & a_NumSeedsOut, + unsigned char * a_IsSeedOut, + unsigned int * a_SeedIdxOut ) { ASSERT(a_SrcIdx < ARRAYCOUNT(m_SkyLight)); @@ -587,7 +599,12 @@ void cLightingThread::QueueChunkStay(cLightingChunkStay & a_ChunkStay) //////////////////////////////////////////////////////////////////////////////// // cLightingThread::cLightingChunkStay: -cLightingThread::cLightingChunkStay::cLightingChunkStay(cLightingThread & a_LightingThread, int a_ChunkX, int a_ChunkZ, std::unique_ptr a_CallbackAfter) : +cLightingThread::cLightingChunkStay::cLightingChunkStay( + cLightingThread & a_LightingThread, + int a_ChunkX, + int a_ChunkZ, + std::unique_ptr a_CallbackAfter +) : m_LightingThread(a_LightingThread), m_ChunkX(a_ChunkX), m_ChunkZ(a_ChunkZ), @@ -596,9 +613,9 @@ cLightingThread::cLightingChunkStay::cLightingChunkStay(cLightingThread & a_Ligh Add(a_ChunkX + 1, a_ChunkZ + 1); Add(a_ChunkX + 1, a_ChunkZ); Add(a_ChunkX + 1, a_ChunkZ - 1); - Add(a_ChunkX, a_ChunkZ + 1); - Add(a_ChunkX, a_ChunkZ); - Add(a_ChunkX, a_ChunkZ - 1); + Add(a_ChunkX, a_ChunkZ + 1); + Add(a_ChunkX, a_ChunkZ); + Add(a_ChunkX, a_ChunkZ - 1); Add(a_ChunkX - 1, a_ChunkZ + 1); Add(a_ChunkX - 1, a_ChunkZ); Add(a_ChunkX - 1, a_ChunkZ - 1); @@ -624,7 +641,3 @@ void cLightingThread::cLightingChunkStay::OnDisabled(void) { // Nothing needed in this callback } - - - - diff --git a/src/LightingThread.h b/src/LightingThread.h index 1097558a4..a1e52e2aa 100644 --- a/src/LightingThread.h +++ b/src/LightingThread.h @@ -45,13 +45,11 @@ class cWorld; -class cLightingThread: - public cIsThread +class cLightingThread : public cIsThread { using Super = cIsThread; -public: - + public: cLightingThread(cWorld & a_World); virtual ~cLightingThread() override; @@ -66,20 +64,23 @@ public: size_t GetQueueLength(void); -protected: - - class cLightingChunkStay : - public cChunkStay + protected: + class cLightingChunkStay : public cChunkStay { - public: + public: cLightingThread & m_LightingThread; int m_ChunkX; int m_ChunkZ; std::unique_ptr m_CallbackAfter; - cLightingChunkStay(cLightingThread & a_LightingThread, int a_ChunkX, int a_ChunkZ, std::unique_ptr a_CallbackAfter); + cLightingChunkStay( + cLightingThread & a_LightingThread, + int a_ChunkX, + int a_ChunkZ, + std::unique_ptr a_CallbackAfter + ); - protected: + protected: virtual void OnChunkAvailable(int a_ChunkX, int a_ChunkZ) override { UNUSED(a_ChunkX); @@ -87,7 +88,7 @@ protected: } virtual bool OnAllChunksAvailable(void) override; virtual void OnDisabled(void) override; - } ; + }; typedef std::list cChunkStays; @@ -103,33 +104,34 @@ protected: /** The ChunkStays that are waiting for load. Used for stopping the thread. */ cChunkStays m_PendingQueue; - cEvent m_evtItemAdded; // Set when queue is appended, or to stop the thread - cEvent m_evtQueueEmpty; // Set when the queue gets empty + cEvent m_evtItemAdded; // Set when queue is appended, or to stop the thread + cEvent m_evtQueueEmpty; // Set when the queue gets empty /** The highest block in the current 3x3 chunk data */ HEIGHTTYPE m_MaxHeight; // Buffers for the 3x3 chunk data - // These buffers alone are 1.7 MiB in size, therefore they cannot be located on the stack safely - some architectures may have only 1 MiB for stack, or even less - // Placing the buffers into the object means that this object can light chunks only in one thread! - // The blobs are XZY organized as a whole, instead of 3x3 XZY-organized subarrays -> + // These buffers alone are 1.7 MiB in size, therefore they cannot be located on the stack safely - some + // architectures may have only 1 MiB for stack, or even less Placing the buffers into the object means that this + // object can light chunks only in one thread! The blobs are XZY organized as a whole, instead of 3x3 XZY-organized + // subarrays -> // -> This means data has to be scatterred when reading and gathered when writing! static const int BlocksPerYLayer = cChunkDef::Width * cChunkDef::Width * 3 * 3; - BLOCKTYPE m_BlockTypes[BlocksPerYLayer * cChunkDef::Height]; + BLOCKTYPE m_BlockTypes[BlocksPerYLayer * cChunkDef::Height]; NIBBLETYPE m_BlockLight[BlocksPerYLayer * cChunkDef::Height]; - NIBBLETYPE m_SkyLight [BlocksPerYLayer * cChunkDef::Height]; - HEIGHTTYPE m_HeightMap [BlocksPerYLayer]; + NIBBLETYPE m_SkyLight[BlocksPerYLayer * cChunkDef::Height]; + HEIGHTTYPE m_HeightMap[BlocksPerYLayer]; // Seed management (5.7 MiB) // Two buffers, in each calc step one is set as input and the other as output, then in the next step they're swapped // Each seed is represented twice in this structure - both as a "list" and as a "position". // "list" allows fast traversal from seed to seed // "position" allows fast checking if a coord is already a seed - unsigned char m_IsSeed1 [BlocksPerYLayer * cChunkDef::Height]; - unsigned int m_SeedIdx1[BlocksPerYLayer * cChunkDef::Height]; - unsigned char m_IsSeed2 [BlocksPerYLayer * cChunkDef::Height]; - unsigned int m_SeedIdx2[BlocksPerYLayer * cChunkDef::Height]; + unsigned char m_IsSeed1[BlocksPerYLayer * cChunkDef::Height]; + unsigned int m_SeedIdx1[BlocksPerYLayer * cChunkDef::Height]; + unsigned char m_IsSeed2[BlocksPerYLayer * cChunkDef::Height]; + unsigned int m_SeedIdx2[BlocksPerYLayer * cChunkDef::Height]; size_t m_NumSeeds; virtual void Execute(void) override; @@ -152,8 +154,12 @@ protected: /** Does one step in the light calculation - one seed propagation and seed recalculation */ void CalcLightStep( NIBBLETYPE * a_Light, - size_t a_NumSeedsIn, unsigned char * a_IsSeedIn, unsigned int * a_SeedIdxIn, - size_t & a_NumSeedsOut, unsigned char * a_IsSeedOut, unsigned int * a_SeedIdxOut + size_t a_NumSeedsIn, + unsigned char * a_IsSeedIn, + unsigned int * a_SeedIdxIn, + size_t & a_NumSeedsOut, + unsigned char * a_IsSeedOut, + unsigned int * a_SeedIdxOut ); /** Compresses from 1-block-per-byte (faster calc) into 2-blocks-per-byte (MC storage): */ @@ -161,16 +167,14 @@ protected: void PropagateLight( NIBBLETYPE * a_Light, - unsigned int a_SrcIdx, unsigned int a_DstIdx, - size_t & a_NumSeedsOut, unsigned char * a_IsSeedOut, unsigned int * a_SeedIdxOut + unsigned int a_SrcIdx, + unsigned int a_DstIdx, + size_t & a_NumSeedsOut, + unsigned char * a_IsSeedOut, + unsigned int * a_SeedIdxOut ); /** Queues a chunkstay that has all of its chunks loaded. Called by cLightingChunkStay when all of its chunks are loaded. */ void QueueChunkStay(cLightingChunkStay & a_ChunkStay); - -} ; - - - - +}; diff --git a/src/LineBlockTracer.cpp b/src/LineBlockTracer.cpp index 49eba9ac8..ddc0aa880 100644 --- a/src/LineBlockTracer.cpp +++ b/src/LineBlockTracer.cpp @@ -1,7 +1,8 @@ // LineBlockTracer.cpp -// Implements the cLineBlockTracer class representing a cBlockTracer that traces along a straight line between two points +// Implements the cLineBlockTracer class representing a cBlockTracer that traces along a straight line between two +// points #include "Globals.h" #include "LineBlockTracer.h" @@ -15,13 +16,7 @@ cLineBlockTracer::cLineBlockTracer(cWorld & a_World, cCallbacks & a_Callbacks) : - Super(a_World, a_Callbacks), - m_Start(), - m_End(), - m_Diff(), - m_Dir(), - m_Current(), - m_CurrentFace(BLOCK_FACE_NONE) + Super(a_World, a_Callbacks), m_Start(), m_End(), m_Diff(), m_Dir(), m_Current(), m_CurrentFace(BLOCK_FACE_NONE) { } @@ -29,7 +24,12 @@ cLineBlockTracer::cLineBlockTracer(cWorld & a_World, cCallbacks & a_Callbacks) : -bool cLineBlockTracer::Trace(cWorld & a_World, cBlockTracer::cCallbacks & a_Callbacks, const Vector3d a_Start, const Vector3d a_End) +bool cLineBlockTracer::Trace( + cWorld & a_World, + cBlockTracer::cCallbacks & a_Callbacks, + const Vector3d a_Start, + const Vector3d a_End +) { cLineBlockTracer Tracer(a_World, a_Callbacks); return Tracer.Trace(a_Start, a_End); @@ -41,20 +41,24 @@ bool cLineBlockTracer::Trace(cWorld & a_World, cBlockTracer::cCallbacks & a_Call bool cLineBlockTracer::LineOfSightTrace(cWorld & a_World, const Vector3d & a_Start, const Vector3d & a_End, int a_Sight) { - static class LineOfSightCallbacks: - public cLineBlockTracer::cCallbacks + static class LineOfSightCallbacks : public cLineBlockTracer::cCallbacks { bool m_IsAirOpaque; bool m_IsWaterOpaque; bool m_IsLavaOpaque; - public: - LineOfSightCallbacks(bool a_IsAirOpaque, bool a_IsWaterOpaque, bool a_IsLavaOpaque): - m_IsAirOpaque(a_IsAirOpaque), - m_IsWaterOpaque(a_IsWaterOpaque), - m_IsLavaOpaque(a_IsLavaOpaque) - {} - - virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + + public: + LineOfSightCallbacks(bool a_IsAirOpaque, bool a_IsWaterOpaque, bool a_IsLavaOpaque) : + m_IsAirOpaque(a_IsAirOpaque), m_IsWaterOpaque(a_IsWaterOpaque), m_IsLavaOpaque(a_IsLavaOpaque) + { + } + + virtual bool OnNextBlock( + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + eBlockFace a_EntryFace + ) override { switch (a_BlockType) { @@ -63,14 +67,10 @@ bool cLineBlockTracer::LineOfSightTrace(cWorld & a_World, const Vector3d & a_Sta case E_BLOCK_STATIONARY_LAVA: return m_IsLavaOpaque; case E_BLOCK_STATIONARY_WATER: return m_IsWaterOpaque; case E_BLOCK_WATER: return m_IsWaterOpaque; - default: return true; + default: return true; } } - } callbacks( - (a_Sight & losAir) == 0, - (a_Sight & losWater) == 0, - (a_Sight & losLava) == 0 - ); + } callbacks((a_Sight & losAir) == 0, (a_Sight & losWater) == 0, (a_Sight & losLava) == 0); return Trace(a_World, callbacks, a_Start, a_End); } @@ -80,16 +80,23 @@ bool cLineBlockTracer::LineOfSightTrace(cWorld & a_World, const Vector3d & a_Sta bool cLineBlockTracer::FirstSolidHitTrace( cWorld & a_World, - const Vector3d & a_Start, const Vector3d & a_End, + const Vector3d & a_Start, + const Vector3d & a_End, Vector3d & a_HitCoords, - Vector3i & a_HitBlockCoords, eBlockFace & a_HitBlockFace + Vector3i & a_HitBlockCoords, + eBlockFace & a_HitBlockFace ) { - class cSolidHitCallbacks: - public cCallbacks + class cSolidHitCallbacks : public cCallbacks { - public: - cSolidHitCallbacks(const Vector3d & a_CBStart, const Vector3d & a_CBEnd, Vector3d & a_CBHitCoords, Vector3i & a_CBHitBlockCoords, eBlockFace & a_CBHitBlockFace): + public: + cSolidHitCallbacks( + const Vector3d & a_CBStart, + const Vector3d & a_CBEnd, + Vector3d & a_CBHitCoords, + Vector3i & a_CBHitBlockCoords, + eBlockFace & a_CBHitBlockFace + ) : m_Start(a_CBStart), m_End(a_CBEnd), m_HitCoords(a_CBHitCoords), @@ -98,7 +105,12 @@ bool cLineBlockTracer::FirstSolidHitTrace( { } - virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + virtual bool OnNextBlock( + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + eBlockFace a_EntryFace + ) override { if (!cBlockInfo::IsSolid(a_BlockType)) { @@ -109,7 +121,8 @@ bool cLineBlockTracer::FirstSolidHitTrace( m_HitBlockCoords = a_BlockPos; m_HitBlockFace = a_EntryFace; cBoundingBox bb(a_BlockPos, a_BlockPos + Vector3i(1, 1, 1)); // Bounding box of the block hit - double LineCoeff = 0; // Used to calculate where along the line an intersection with the bounding box occurs + double LineCoeff = + 0; // Used to calculate where along the line an intersection with the bounding box occurs eBlockFace Face; // Face hit if (!bb.CalcLineIntersection(m_Start, m_End, LineCoeff, Face)) { @@ -120,7 +133,7 @@ bool cLineBlockTracer::FirstSolidHitTrace( return true; } - protected: + protected: const Vector3d & m_Start; const Vector3d & m_End; Vector3d & m_HitCoords; @@ -169,7 +182,7 @@ bool cLineBlockTracer::Trace(const Vector3d a_Start, const Vector3d a_End) m_Current = m_Start.Floor(); - m_Diff = m_End - m_Start; + m_Diff = m_End - m_Start; // The actual trace is handled with ChunkMapCS locked by calling our ChunkCallback for the specified chunk int BlockX = FloorC(m_Start.x); @@ -268,9 +281,18 @@ bool cLineBlockTracer::MoveToNextBlock(void) // Based on the wall hit, adjust the current coords switch (Direction) { - case dirX: m_Current.x += m_Dir.x; m_CurrentFace = (m_Dir.x > 0) ? BLOCK_FACE_XM : BLOCK_FACE_XP; break; - case dirY: m_Current.y += m_Dir.y; m_CurrentFace = (m_Dir.y > 0) ? BLOCK_FACE_YM : BLOCK_FACE_YP; break; - case dirZ: m_Current.z += m_Dir.z; m_CurrentFace = (m_Dir.z > 0) ? BLOCK_FACE_ZM : BLOCK_FACE_ZP; break; + case dirX: + m_Current.x += m_Dir.x; + m_CurrentFace = (m_Dir.x > 0) ? BLOCK_FACE_XM : BLOCK_FACE_XP; + break; + case dirY: + m_Current.y += m_Dir.y; + m_CurrentFace = (m_Dir.y > 0) ? BLOCK_FACE_YM : BLOCK_FACE_YP; + break; + case dirZ: + m_Current.z += m_Dir.z; + m_CurrentFace = (m_Dir.z > 0) ? BLOCK_FACE_ZM : BLOCK_FACE_ZP; + break; case dirNONE: return false; } return true; @@ -282,7 +304,9 @@ bool cLineBlockTracer::MoveToNextBlock(void) bool cLineBlockTracer::ChunkCallback(cChunk * a_Chunk) { - ASSERT((m_Current.y >= 0) && (m_Current.y < cChunkDef::Height)); // This should be provided by FixStartAboveWorld() / FixStartBelowWorld() + ASSERT( + (m_Current.y >= 0) && (m_Current.y < cChunkDef::Height) + ); // This should be provided by FixStartAboveWorld() / FixStartBelowWorld() // This is the actual line tracing loop. for (;;) @@ -341,6 +365,3 @@ bool cLineBlockTracer::ChunkCallback(cChunk * a_Chunk) } } } - - - diff --git a/src/LineBlockTracer.h b/src/LineBlockTracer.h index b1dacee20..180d98f2f 100644 --- a/src/LineBlockTracer.h +++ b/src/LineBlockTracer.h @@ -22,19 +22,17 @@ class cChunk; -class cLineBlockTracer: - public cBlockTracer +class cLineBlockTracer : public cBlockTracer { using Super = cBlockTracer; -public: - + public: enum eLineOfSight { // Bit flags used for LineOfSightTrace's Sight parameter: - losAir = 1, // Can see through air + losAir = 1, // Can see through air losWater = 2, // Can see through water - losLava = 4, // Can see through lava + losLava = 4, // Can see through lava // Common combinations: losAirWaterLava = losAir | losWater | losLava, @@ -54,24 +52,25 @@ public: static bool Trace(cWorld & a_World, cCallbacks & a_Callbacks, const Vector3d a_Start, const Vector3d a_End); /** Returns true if the two positions are within line of sight (not obscured by blocks). - a_Sight specifies which blocks are considered transparent for the trace, is an OR-combination of eLineOfSight constants. */ + a_Sight specifies which blocks are considered transparent for the trace, is an OR-combination of eLineOfSight + constants. */ static bool LineOfSightTrace(cWorld & a_World, const Vector3d & a_Start, const Vector3d & a_End, int a_Sight); /** Traces until the first solid block is hit (or until end, whichever comes first. If a solid block was hit, returns true and fills a_HitCoords, a_HitBlockCoords and a_HitBlockFace. - If a_End is encountered without hitting any solid block, returns false and doesn't touch a_HitCoords, a_HitBlockCoords nor a_HitBlockFace. - a_HitCoords is the exact coords of the hit, - a_HitBlockCoords are the coords of the solid block that was hit, - a_HitBlockFace is the face of the solid block that was hit. */ + If a_End is encountered without hitting any solid block, returns false and doesn't touch a_HitCoords, + a_HitBlockCoords nor a_HitBlockFace. a_HitCoords is the exact coords of the hit, a_HitBlockCoords are the coords of + the solid block that was hit, a_HitBlockFace is the face of the solid block that was hit. */ static bool FirstSolidHitTrace( cWorld & a_World, - const Vector3d & a_Start, const Vector3d & a_End, + const Vector3d & a_Start, + const Vector3d & a_End, Vector3d & a_HitCoords, Vector3i & a_HitBlockCoords, eBlockFace & a_HitBlockFace ); -protected: + protected: /** The start point of the trace */ Vector3d m_Start; @@ -97,14 +96,12 @@ protected: /** Adjusts the start point below the world to just at the world's bottom */ void FixStartBelowWorld(void); - /** Calculates the XZ coords of an intersection with the specified Yconst plane; assumes that such an intersection exists */ + /** Calculates the XZ coords of an intersection with the specified Yconst plane; assumes that such an intersection + * exists */ void CalcXZIntersection(double a_Y, double & a_IntersectX, double & a_IntersectZ); /** Moves m_Current to the next block on the line; returns false if no move is possible (reached the end) */ bool MoveToNextBlock(void); bool ChunkCallback(cChunk * a_Chunk); -} ; - - - +}; diff --git a/src/LinearInterpolation.cpp b/src/LinearInterpolation.cpp index f0465385d..b09d13609 100644 --- a/src/LinearInterpolation.cpp +++ b/src/LinearInterpolation.cpp @@ -55,12 +55,7 @@ public: // Puts linearly interpolated values from one array into another array. 1D version -void LinearInterpolate1DArray( - float * a_Src, - int a_SrcSizeX, - float * a_Dst, - int a_DstSizeX -) +void LinearInterpolate1DArray(float * a_Src, int a_SrcSizeX, float * a_Dst, int a_DstSizeX) { a_Dst[0] = a_Src[0]; int DstSizeXm1 = a_DstSizeX - 1; @@ -85,9 +80,11 @@ void LinearInterpolate1DArray( // Puts linearly interpolated values from one array into another array. 2D version void LinearInterpolate2DArray( float * a_Src, - int a_SrcSizeX, int a_SrcSizeY, + int a_SrcSizeX, + int a_SrcSizeY, float * a_Dst, - int a_DstSizeX, int a_DstSizeY + int a_DstSizeX, + int a_DstSizeY ) { ASSERT(a_DstSizeX > 0); @@ -98,8 +95,8 @@ void LinearInterpolate2DArray( // Calculate interpolation ratios and src indices along each axis: float RatioX[MAX_INTERPOL_SIZEX]; float RatioY[MAX_INTERPOL_SIZEY]; - int SrcIdxX[MAX_INTERPOL_SIZEX]; - int SrcIdxY[MAX_INTERPOL_SIZEY]; + int SrcIdxX[MAX_INTERPOL_SIZEX]; + int SrcIdxY[MAX_INTERPOL_SIZEY]; for (int x = 1; x < a_DstSizeX; x++) { SrcIdxX[x] = x * (a_SrcSizeX - 1) / (a_DstSizeX - 1); @@ -111,7 +108,8 @@ void LinearInterpolate2DArray( RatioY[y] = (static_cast(y * (a_SrcSizeY - 1)) / (a_DstSizeY - 1)) - SrcIdxY[y]; } - // Special values at the ends. Notice especially the last indices being (size - 2) with ratio set to 1, to avoid index overflow: + // Special values at the ends. Notice especially the last indices being (size - 2) with ratio set to 1, to avoid + // index overflow: SrcIdxX[0] = 0; RatioX[0] = 0; SrcIdxY[0] = 0; @@ -131,9 +129,9 @@ void LinearInterpolate2DArray( for (int x = 0; x < a_DstSizeX; x++) { // The four src corners of the current "cell": - float LoXLoY = a_Src[SrcIdxX[x] + idxLoY]; + float LoXLoY = a_Src[SrcIdxX[x] + idxLoY]; float HiXLoY = a_Src[SrcIdxX[x] + 1 + idxLoY]; - float LoXHiY = a_Src[SrcIdxX[x] + idxHiY]; + float LoXHiY = a_Src[SrcIdxX[x] + idxHiY]; float HiXHiY = a_Src[SrcIdxX[x] + 1 + idxHiY]; // Linear interpolation along the X axis: @@ -153,9 +151,13 @@ void LinearInterpolate2DArray( void LinearInterpolate3DArray( float * a_Src, - int a_SrcSizeX, int a_SrcSizeY, int a_SrcSizeZ, + int a_SrcSizeX, + int a_SrcSizeY, + int a_SrcSizeZ, float * a_Dst, - int a_DstSizeX, int a_DstSizeY, int a_DstSizeZ + int a_DstSizeX, + int a_DstSizeY, + int a_DstSizeZ ) { ASSERT(a_DstSizeX > 0); @@ -169,9 +171,9 @@ void LinearInterpolate3DArray( float RatioX[MAX_INTERPOL_SIZEX]; float RatioY[MAX_INTERPOL_SIZEY]; float RatioZ[MAX_INTERPOL_SIZEZ]; - int SrcIdxX[MAX_INTERPOL_SIZEX]; - int SrcIdxY[MAX_INTERPOL_SIZEY]; - int SrcIdxZ[MAX_INTERPOL_SIZEZ]; + int SrcIdxX[MAX_INTERPOL_SIZEX]; + int SrcIdxY[MAX_INTERPOL_SIZEY]; + int SrcIdxZ[MAX_INTERPOL_SIZEZ]; for (int x = 1; x < a_DstSizeX; x++) { SrcIdxX[x] = x * (a_SrcSizeX - 1) / (a_DstSizeX - 1); @@ -188,19 +190,20 @@ void LinearInterpolate3DArray( RatioZ[z] = (static_cast(z * (a_SrcSizeZ - 1)) / (a_DstSizeZ - 1)) - SrcIdxZ[z]; } - // Special values at the ends. Notice especially the last indices being (size - 2) with ratio set to 1, to avoid index overflow: + // Special values at the ends. Notice especially the last indices being (size - 2) with ratio set to 1, to avoid + // index overflow: SrcIdxX[0] = 0; - RatioX[0] = 0; + RatioX[0] = 0; SrcIdxY[0] = 0; - RatioY[0] = 0; + RatioY[0] = 0; SrcIdxZ[0] = 0; - RatioZ[0] = 0; + RatioZ[0] = 0; SrcIdxX[a_DstSizeX - 1] = a_SrcSizeX - 2; - RatioX[a_DstSizeX - 1] = 1; + RatioX[a_DstSizeX - 1] = 1; SrcIdxY[a_DstSizeY - 1] = a_SrcSizeY - 2; - RatioY[a_DstSizeY - 1] = 1; + RatioY[a_DstSizeY - 1] = 1; SrcIdxZ[a_DstSizeZ - 1] = a_SrcSizeZ - 2; - RatioZ[a_DstSizeZ - 1] = 1; + RatioZ[a_DstSizeZ - 1] = 1; // Output all the dst array values using the indices and ratios: int idx = 0; @@ -217,13 +220,13 @@ void LinearInterpolate3DArray( for (int x = 0; x < a_DstSizeX; x++) { // The eight src corners of the current "cell": - float LoXLoYLoZ = a_Src[SrcIdxX[x] + idxLoY + idxLoZ]; + float LoXLoYLoZ = a_Src[SrcIdxX[x] + idxLoY + idxLoZ]; float HiXLoYLoZ = a_Src[SrcIdxX[x] + 1 + idxLoY + idxLoZ]; - float LoXHiYLoZ = a_Src[SrcIdxX[x] + idxHiY + idxLoZ]; + float LoXHiYLoZ = a_Src[SrcIdxX[x] + idxHiY + idxLoZ]; float HiXHiYLoZ = a_Src[SrcIdxX[x] + 1 + idxHiY + idxLoZ]; - float LoXLoYHiZ = a_Src[SrcIdxX[x] + idxLoY + idxHiZ]; + float LoXLoYHiZ = a_Src[SrcIdxX[x] + idxLoY + idxHiZ]; float HiXLoYHiZ = a_Src[SrcIdxX[x] + 1 + idxLoY + idxHiZ]; - float LoXHiYHiZ = a_Src[SrcIdxX[x] + idxHiY + idxHiZ]; + float LoXHiYHiZ = a_Src[SrcIdxX[x] + idxHiY + idxHiZ]; float HiXHiYHiZ = a_Src[SrcIdxX[x] + 1 + idxHiY + idxHiZ]; // Linear interpolation along the Z axis: @@ -243,8 +246,3 @@ void LinearInterpolate3DArray( } // for y } // for z } - - - - - diff --git a/src/LinearInterpolation.h b/src/LinearInterpolation.h index a00b2c98a..800dc1607 100644 --- a/src/LinearInterpolation.h +++ b/src/LinearInterpolation.h @@ -25,10 +25,10 @@ const int MAX_INTERPOL_SIZEZ = 256; ///< Maximum Z-size of the interpolated arr /** Puts linearly interpolated values from one array into another array. 1D version */ void LinearInterpolate1DArray( - float * a_Src, ///< Src array + float * a_Src, ///< Src array int a_SrcSizeX, ///< Count of the src array - float * a_Dst, ///< Src array - int a_DstSizeX ///< Count of the dst array + float * a_Dst, ///< Src array + int a_DstSizeX ///< Count of the dst array ); @@ -37,10 +37,12 @@ void LinearInterpolate1DArray( /** Puts linearly interpolated values from one array into another array. 2D version */ void LinearInterpolate2DArray( - float * a_Src, ///< Src array, [x + a_SrcSizeX * y] - int a_SrcSizeX, int a_SrcSizeY, ///< Count of the src array, in each direction - float * a_Dst, ///< Dst array, [x + a_DstSizeX * y] - int a_DstSizeX, int a_DstSizeY ///< Count of the dst array, in each direction + float * a_Src, ///< Src array, [x + a_SrcSizeX * y] + int a_SrcSizeX, + int a_SrcSizeY, ///< Count of the src array, in each direction + float * a_Dst, ///< Dst array, [x + a_DstSizeX * y] + int a_DstSizeX, + int a_DstSizeY ///< Count of the dst array, in each direction ); @@ -49,12 +51,12 @@ void LinearInterpolate2DArray( /** Puts linearly interpolated values from one array into another array. 3D version */ void LinearInterpolate3DArray( - float * a_Src, ///< Src array, [x + a_SrcSizeX * y + a_SrcSizeX * a_SrcSizeY * z] - int a_SrcSizeX, int a_SrcSizeY, int a_SrcSizeZ, ///< Count of the src array, in each direction - float * a_Dst, ///< Dst array, [x + a_DstSizeX * y + a_DstSizeX * a_DstSizeY * z] - int a_DstSizeX, int a_DstSizeY, int a_DstSizeZ ///< Count of the dst array, in each direction + float * a_Src, ///< Src array, [x + a_SrcSizeX * y + a_SrcSizeX * a_SrcSizeY * z] + int a_SrcSizeX, + int a_SrcSizeY, + int a_SrcSizeZ, ///< Count of the src array, in each direction + float * a_Dst, ///< Dst array, [x + a_DstSizeX * y + a_DstSizeX * a_DstSizeY * z] + int a_DstSizeX, + int a_DstSizeY, + int a_DstSizeZ ///< Count of the dst array, in each direction ); - - - - diff --git a/src/LinearUpscale.h b/src/LinearUpscale.h index 7f3269be5..6ef47bf5c 100644 --- a/src/LinearUpscale.h +++ b/src/LinearUpscale.h @@ -39,10 +39,11 @@ Works in-place (input is already present at the correct output coords) Uses templates to make it possible for the compiler to further optimizer the loops */ template < - int SizeX, int SizeY, // Dimensions of the array - int AnchorStepX, int AnchorStepY, - typename TYPE -> + int SizeX, + int SizeY, // Dimensions of the array + int AnchorStepX, + int AnchorStepY, + typename TYPE> void LinearUpscale2DArrayInPlace(TYPE * a_Array) { // First interpolate columns where the anchor points are: @@ -53,7 +54,7 @@ void LinearUpscale2DArrayInPlace(TYPE * a_Array) for (int x = 0; x < SizeX; x += AnchorStepX) { TYPE StartValue = a_Array[Idx]; - TYPE EndValue = a_Array[Idx + SizeX * AnchorStepY]; + TYPE EndValue = a_Array[Idx + SizeX * AnchorStepY]; TYPE Diff = EndValue - StartValue; for (int CellY = 1; CellY < AnchorStepY; CellY++) { @@ -71,7 +72,7 @@ void LinearUpscale2DArrayInPlace(TYPE * a_Array) for (int x = 0; x < LastXCell; x += AnchorStepX) { TYPE StartValue = a_Array[Idx]; - TYPE EndValue = a_Array[Idx + AnchorStepX]; + TYPE EndValue = a_Array[Idx + AnchorStepX]; TYPE Diff = EndValue - StartValue; for (int CellX = 1; CellX < AnchorStepX; CellX++) { @@ -90,11 +91,14 @@ void LinearUpscale2DArrayInPlace(TYPE * a_Array) Linearly interpolates values in the array between the equidistant anchor points (upscales). Works on two arrays, input is packed and output is to be completely constructed. */ -template void LinearUpscale2DArray( - TYPE * a_Src, ///< Source array of size a_SrcSizeX x a_SrcSizeY - int a_SrcSizeX, int a_SrcSizeY, ///< Dimensions of the src array - TYPE * a_Dst, ///< Dest array, of size (a_SrcSizeX * a_UpscaleX + 1) x (a_SrcSizeY * a_UpscaleY + 1) - int a_UpscaleX, int a_UpscaleY ///< Upscale factor for each direction +template +void LinearUpscale2DArray( + TYPE * a_Src, ///< Source array of size a_SrcSizeX x a_SrcSizeY + int a_SrcSizeX, + int a_SrcSizeY, ///< Dimensions of the src array + TYPE * a_Dst, ///< Dest array, of size (a_SrcSizeX * a_UpscaleX + 1) x (a_SrcSizeY * a_UpscaleY + 1) + int a_UpscaleX, + int a_UpscaleY ///< Upscale factor for each direction ) { // For optimization reasons, we're storing the upscaling ratios in a fixed-size arrays of these sizes @@ -161,11 +165,17 @@ template void LinearUpscale2DArray( Linearly interpolates values in the array between the equidistant anchor points (upscales). Works on two arrays, input is packed and output is to be completely constructed. */ -template void LinearUpscale3DArray( - TYPE * a_Src, ///< Source array of size a_SrcSizeX x a_SrcSizeY x a_SrcSizeZ - int a_SrcSizeX, int a_SrcSizeY, int a_SrcSizeZ, ///< Dimensions of the src array - TYPE * a_Dst, ///< Dest array, of size (a_SrcSizeX * a_UpscaleX + 1) x (a_SrcSizeY * a_UpscaleY + 1) x (a_SrcSizeZ * a_UpscaleZ + 1) - int a_UpscaleX, int a_UpscaleY, int a_UpscaleZ ///< Upscale factor for each direction +template +void LinearUpscale3DArray( + TYPE * a_Src, ///< Source array of size a_SrcSizeX x a_SrcSizeY x a_SrcSizeZ + int a_SrcSizeX, + int a_SrcSizeY, + int a_SrcSizeZ, ///< Dimensions of the src array + TYPE * a_Dst, ///< Dest array, of size (a_SrcSizeX * a_UpscaleX + 1) x (a_SrcSizeY * a_UpscaleY + 1) x (a_SrcSizeZ + ///< * a_UpscaleZ + 1) + int a_UpscaleX, + int a_UpscaleY, + int a_UpscaleZ ///< Upscale factor for each direction ) { // For optimization reasons, we're storing the upscaling ratios in a fixed-size arrays of these sizes @@ -248,8 +258,3 @@ template void LinearUpscale3DArray( } // for y } // for z } - - - - - diff --git a/src/Logger.cpp b/src/Logger.cpp index 434218824..438fba5e9 100644 --- a/src/Logger.cpp +++ b/src/Logger.cpp @@ -4,7 +4,7 @@ #include "OSSupport/IsThread.h" #ifdef _WIN32 - #include +#include #endif @@ -25,14 +25,15 @@ static void WriteLogOpener(fmt::memory_buffer & Buffer) #ifndef NDEBUG const auto ThreadID = std::hash()(std::this_thread::get_id()); fmt::format_to( - Buffer, "[{0:04x}|{1:02d}:{2:02d}:{3:02d}] ", - ThreadID, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec + Buffer, + "[{0:04x}|{1:02d}:{2:02d}:{3:02d}] ", + ThreadID, + timeinfo.tm_hour, + timeinfo.tm_min, + timeinfo.tm_sec ); #else - fmt::format_to( - Buffer, "[{0:02d}:{1:02d}:{2:02d}] ", - timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec - ); + fmt::format_to(Buffer, "[{0:02d}:{1:02d}:{2:02d}] ", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec); #endif } @@ -119,7 +120,7 @@ cLogger::cAttachment cLogger::AttachListener(std::unique_ptr a_Listen cCSLock Lock(m_CriticalSection); m_LogListeners.push_back(std::move(a_Listener)); } - return cAttachment{nonOwning}; + return cAttachment {nonOwning}; } @@ -129,16 +130,11 @@ cLogger::cAttachment cLogger::AttachListener(std::unique_ptr a_Listen void cLogger::DetachListener(cListener * a_Listener) { cCSLock Lock(m_CriticalSection); - m_LogListeners.erase( - std::remove_if( - m_LogListeners.begin(), - m_LogListeners.end(), - [=](std::unique_ptr & a_OtherListener) -> bool - { - return a_OtherListener.get() == a_Listener; - } - ) - ); + m_LogListeners.erase(std::remove_if( + m_LogListeners.begin(), + m_LogListeners.end(), + [=](std::unique_ptr & a_OtherListener) -> bool { return a_OtherListener.get() == a_Listener; } + )); } diff --git a/src/Logger.h b/src/Logger.h index fee2554be..20341e9a3 100644 --- a/src/Logger.h +++ b/src/Logger.h @@ -4,23 +4,24 @@ class cLogger { -public: - + public: class cListener { - public: + public: virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) = 0; - virtual ~cListener(){} + virtual ~cListener() {} }; class cAttachment { - public: - - cAttachment() : m_listener(nullptr) {} - cAttachment(cAttachment && a_other) - : m_listener(a_other.m_listener) + public: + cAttachment() : + m_listener(nullptr) + { + } + cAttachment(cAttachment && a_other) : + m_listener(a_other.m_listener) { a_other.m_listener = nullptr; } @@ -40,13 +41,15 @@ public: return *this; } - private: - + private: cListener * m_listener; friend class cLogger; - cAttachment(cListener * a_listener) : m_listener(a_listener) {} + cAttachment(cListener * a_listener) : + m_listener(a_listener) + { + } }; /** Log a message formatted with a printf style formatting string. */ @@ -65,8 +68,7 @@ public: // Must be called before calling GetInstance in a multithreaded context static void InitiateMultithreading(); -private: - + private: cCriticalSection m_CriticalSection; std::vector> m_LogListeners; diff --git a/src/LoggerListeners.cpp b/src/LoggerListeners.cpp index eccbc5292..39a7fb16f 100644 --- a/src/LoggerListeners.cpp +++ b/src/LoggerListeners.cpp @@ -4,27 +4,25 @@ #include "LoggerListeners.h" #if defined(_WIN32) - #include // Needed for _isatty(), not available on Linux - #include +#include // Needed for _isatty(), not available on Linux +#include #endif -#if defined(_WIN32) || defined (__linux) || defined (__APPLE__) - class cColouredConsoleListener - : public cLogger::cListener - { - protected: - - virtual void SetLogColour(eLogLevel a_LogLevel) = 0; - virtual void SetDefaultLogColour() = 0; +#if defined(_WIN32) || defined(__linux) || defined(__APPLE__) +class cColouredConsoleListener : public cLogger::cListener +{ + protected: + virtual void SetLogColour(eLogLevel a_LogLevel) = 0; + virtual void SetDefaultLogColour() = 0; - virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override - { - SetLogColour(a_LogLevel); - fwrite(a_Message.data(), sizeof(char), a_Message.size(), stdout); - SetDefaultLogColour(); - } - }; + virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override + { + SetLogColour(a_LogLevel); + fwrite(a_Message.data(), sizeof(char), a_Message.size(), stdout); + SetDefaultLogColour(); + } +}; #endif @@ -32,124 +30,116 @@ #ifdef _WIN32 - class cWindowsConsoleListener: - public cColouredConsoleListener +class cWindowsConsoleListener : public cColouredConsoleListener +{ + using Super = cColouredConsoleListener; + + public: + cWindowsConsoleListener(HANDLE a_Console, WORD a_DefaultConsoleAttrib) : + m_Console(a_Console), m_DefaultConsoleAttrib(a_DefaultConsoleAttrib) { - using Super = cColouredConsoleListener; + } - public: +#ifndef NDEBUG + virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override + { + Super::Log(a_Message, a_LogLevel); + // In a Windows Debug build, output the log to debug console as well: + OutputDebugStringA(AString(a_Message).c_str()); + } +#endif - cWindowsConsoleListener(HANDLE a_Console, WORD a_DefaultConsoleAttrib): - m_Console(a_Console), - m_DefaultConsoleAttrib(a_DefaultConsoleAttrib) - { - } - #ifndef NDEBUG - virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override + virtual void SetLogColour(eLogLevel a_LogLevel) override + { + // by default, gray on black + WORD Attrib = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; + switch (a_LogLevel) + { + case eLogLevel::Regular: { - Super::Log(a_Message, a_LogLevel); - // In a Windows Debug build, output the log to debug console as well: - OutputDebugStringA(AString(a_Message).c_str()); + // Gray on black + Attrib = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; + break; } - #endif - - - virtual void SetLogColour(eLogLevel a_LogLevel) override - { - // by default, gray on black - WORD Attrib = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; - switch (a_LogLevel) + case eLogLevel::Info: + { + // Yellow on black + Attrib = FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY; + break; + } + case eLogLevel::Warning: + { + // Red on black + Attrib = FOREGROUND_RED | FOREGROUND_INTENSITY; + break; + } + case eLogLevel::Error: { - case eLogLevel::Regular: - { - // Gray on black - Attrib = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; - break; - } - case eLogLevel::Info: - { - // Yellow on black - Attrib = FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY; - break; - } - case eLogLevel::Warning: - { - // Red on black - Attrib = FOREGROUND_RED | FOREGROUND_INTENSITY; - break; - } - case eLogLevel::Error: - { - // Black on red - Attrib = BACKGROUND_RED | BACKGROUND_INTENSITY; - break; - } + // Black on red + Attrib = BACKGROUND_RED | BACKGROUND_INTENSITY; + break; } - SetConsoleTextAttribute(m_Console, Attrib); } + SetConsoleTextAttribute(m_Console, Attrib); + } - virtual void SetDefaultLogColour() override - { - SetConsoleTextAttribute(m_Console, m_DefaultConsoleAttrib); - } + virtual void SetDefaultLogColour() override { SetConsoleTextAttribute(m_Console, m_DefaultConsoleAttrib); } - private: - - HANDLE m_Console; - WORD m_DefaultConsoleAttrib; - }; + private: + HANDLE m_Console; + WORD m_DefaultConsoleAttrib; +}; -#elif defined (__linux) || defined (__APPLE__) +#elif defined(__linux) || defined(__APPLE__) - class cANSIConsoleListener - : public cColouredConsoleListener +class cANSIConsoleListener : public cColouredConsoleListener +{ + public: + virtual void SetLogColour(eLogLevel a_LogLevel) override { - public: - virtual void SetLogColour(eLogLevel a_LogLevel) override + switch (a_LogLevel) { - switch (a_LogLevel) + case eLogLevel::Regular: { - case eLogLevel::Regular: - { - // Whatever the console default is - printf("\x1b[0m"); - break; - } - case eLogLevel::Info: - { - // Yellow on black - printf("\x1b[33;1m"); - break; - } - case eLogLevel::Warning: - { - // Red on black - printf("\x1b[31;1m"); - break; - } - case eLogLevel::Error: - { - // Yellow on red - printf("\x1b[1;33;41;1m"); - break; - } + // Whatever the console default is + printf("\x1b[0m"); + break; + } + case eLogLevel::Info: + { + // Yellow on black + printf("\x1b[33;1m"); + break; + } + case eLogLevel::Warning: + { + // Red on black + printf("\x1b[31;1m"); + break; + } + case eLogLevel::Error: + { + // Yellow on red + printf("\x1b[1;33;41;1m"); + break; } } + } - virtual void SetDefaultLogColour() override - { - // Whatever the console default is - printf("\x1b[0m"); - fflush(stdout); - } - }; + virtual void SetDefaultLogColour() override + { + // Whatever the console default is + printf("\x1b[0m"); + fflush(stdout); + } +}; #endif @@ -157,10 +147,9 @@ -class cVanillaCPPConsoleListener - : public cLogger::cListener +class cVanillaCPPConsoleListener : public cLogger::cListener { -public: + public: virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override { switch (a_LogLevel) @@ -195,12 +184,9 @@ public: // Listener for when stdout is closed, i.e. When running as a daemon. -class cNullConsoleListener - : public cLogger::cListener +class cNullConsoleListener : public cLogger::cListener { - virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override - { - } + virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override {} }; @@ -214,34 +200,34 @@ std::unique_ptr MakeConsoleListener(bool a_IsService) return std::make_unique(); } - #ifdef _WIN32 - // See whether we are writing to a console the default console attrib: - bool ShouldColorOutput = (_isatty(_fileno(stdin)) != 0); - if (ShouldColorOutput) - { - CONSOLE_SCREEN_BUFFER_INFO sbi; - HANDLE Console = GetStdHandle(STD_OUTPUT_HANDLE); - GetConsoleScreenBufferInfo(Console, &sbi); - WORD DefaultConsoleAttrib = sbi.wAttributes; - return std::make_unique(Console, DefaultConsoleAttrib); - } - else - { - return std::make_unique(); - } - #elif defined (__linux) || defined (__APPLE__) - // TODO: lookup terminal in terminfo - if (isatty(fileno(stdout))) - { - return std::make_unique(); - } - else - { - return std::make_unique(); - } - #else +#ifdef _WIN32 + // See whether we are writing to a console the default console attrib: + bool ShouldColorOutput = (_isatty(_fileno(stdin)) != 0); + if (ShouldColorOutput) + { + CONSOLE_SCREEN_BUFFER_INFO sbi; + HANDLE Console = GetStdHandle(STD_OUTPUT_HANDLE); + GetConsoleScreenBufferInfo(Console, &sbi); + WORD DefaultConsoleAttrib = sbi.wAttributes; + return std::make_unique(Console, DefaultConsoleAttrib); + } + else + { return std::make_unique(); - #endif + } +#elif defined(__linux) || defined(__APPLE__) + // TODO: lookup terminal in terminfo + if (isatty(fileno(stdout))) + { + return std::make_unique(); + } + else + { + return std::make_unique(); + } +#else + return std::make_unique(); +#endif } @@ -251,11 +237,9 @@ std::unique_ptr MakeConsoleListener(bool a_IsService) //////////////////////////////////////////////////////////////////////////////// // cFileListener: -class cFileListener - : public cLogger::cListener +class cFileListener : public cLogger::cListener { -public: - + public: cFileListener() {} bool Open() @@ -267,7 +251,8 @@ public: FMT_STRING("logs/LOG_{}.txt"), std::chrono::duration_cast>>( std::chrono::system_clock::now().time_since_epoch() - ).count() + ) + .count() ), cFile::fmAppend ); @@ -312,8 +297,7 @@ public: } } -private: - + private: cFile m_File; }; @@ -330,5 +314,3 @@ std::pair> MakeFileListener() } return {true, std::move(listener)}; } - - diff --git a/src/LoggerListeners.h b/src/LoggerListeners.h index d150b9b49..aab96862d 100644 --- a/src/LoggerListeners.h +++ b/src/LoggerListeners.h @@ -3,7 +3,3 @@ std::unique_ptr MakeConsoleListener(bool a_IsService); std::pair> MakeFileListener(); - - - - diff --git a/src/LoggerSimple.h b/src/LoggerSimple.h index 37ed36bc6..67802c320 100644 --- a/src/LoggerSimple.h +++ b/src/LoggerSimple.h @@ -13,64 +13,52 @@ enum class eLogLevel namespace Logger { -extern void LogFormat( - std::string_view a_Format, eLogLevel a_LogLevel, fmt::format_args a_ArgList -); -extern void LogPrintf( - std::string_view a_Format, eLogLevel a_LogLevel, fmt::printf_args a_ArgList -); +extern void LogFormat(std::string_view a_Format, eLogLevel a_LogLevel, fmt::format_args a_ArgList); +extern void LogPrintf(std::string_view a_Format, eLogLevel a_LogLevel, fmt::printf_args a_ArgList); extern void LogSimple(std::string_view a_Message, eLogLevel a_LogLevel); } // namespace Logger // python style format specified logging -template -void FLOG(std::string_view a_Format, const Args & ... args) +template void FLOG(std::string_view a_Format, const Args &... args) { Logger::LogFormat(a_Format, eLogLevel::Regular, fmt::make_format_args(args...)); } -template -void FLOGINFO(std::string_view a_Format, const Args & ... args) +template void FLOGINFO(std::string_view a_Format, const Args &... args) { Logger::LogFormat(a_Format, eLogLevel::Info, fmt::make_format_args(args...)); } -template -void FLOGWARNING(std::string_view a_Format, const Args & ... args) +template void FLOGWARNING(std::string_view a_Format, const Args &... args) { Logger::LogFormat(a_Format, eLogLevel::Warning, fmt::make_format_args(args...)); } -template -void FLOGERROR(std::string_view a_Format, const Args & ... args) +template void FLOGERROR(std::string_view a_Format, const Args &... args) { Logger::LogFormat(a_Format, eLogLevel::Error, fmt::make_format_args(args...)); } // printf style format specified logging (DEPRECATED) -template -void LOG(std::string_view a_Format, const Args & ... args) +template void LOG(std::string_view a_Format, const Args &... args) { Logger::LogPrintf(a_Format, eLogLevel::Regular, fmt::make_printf_args(args...)); } -template -void LOGINFO(std::string_view a_Format, const Args & ... args) +template void LOGINFO(std::string_view a_Format, const Args &... args) { Logger::LogPrintf(a_Format, eLogLevel::Info, fmt::make_printf_args(args...)); } -template -void LOGWARNING(std::string_view a_Format, const Args & ... args) +template void LOGWARNING(std::string_view a_Format, const Args &... args) { Logger::LogPrintf(a_Format, eLogLevel::Warning, fmt::make_printf_args(args...)); } -template -void LOGERROR(std::string_view a_Format, const Args & ... args) +template void LOGERROR(std::string_view a_Format, const Args &... args) { Logger::LogPrintf(a_Format, eLogLevel::Error, fmt::make_printf_args(args...)); } @@ -80,26 +68,28 @@ void LOGERROR(std::string_view a_Format, const Args & ... args) // In debug builds, translate LOGD to LOG, otherwise leave it out altogether: #if !defined(NDEBUG) || defined(TEST_GLOBALS) - #define LOGD LOG +#define LOGD LOG #else - #define LOGD(...) +#define LOGD(...) #endif // !NDEBUG #define LOGWARN LOGWARNING #if !defined(NDEBUG) || defined(TEST_GLOBALS) - #define FLOGD FLOG +#define FLOGD FLOG #else - #define FLOGD(...) +#define FLOGD(...) #endif // !NDEBUG #define FLOGWARN FLOGWARNING // Conditionally log a warning -#define CONDWARNING(ShouldLog, ...) \ - do { \ - if (ShouldLog) \ - { \ +#define CONDWARNING(ShouldLog, ...) \ + do \ + { \ + if (ShouldLog) \ + { \ LOGWARNING(__VA_ARGS__); \ - } \ - } while (false) + } \ + } \ + while (false) diff --git a/src/Map.cpp b/src/Map.cpp index 3691d0ab0..7c63d8ceb 100644 --- a/src/Map.cpp +++ b/src/Map.cpp @@ -16,14 +16,15 @@ -cMap::cMap(unsigned int a_ID, cWorld * a_World): +cMap::cMap(unsigned int a_ID, cWorld * a_World) : m_ID(a_ID), m_Width(cChunkDef::Width * 8), m_Height(cChunkDef::Width * 8), m_Scale(3), m_CenterX(0), m_CenterZ(0), - m_Dirty(false), // This constructor is for an empty map object which will be filled by the caller with the correct values - it does not need saving. + m_Dirty(false), // This constructor is for an empty map object which will be filled by the caller with the correct + // values - it does not need saving. m_World(a_World), m_Name(fmt::format(FMT_STRING("map_{}"), m_ID)) { @@ -34,7 +35,7 @@ cMap::cMap(unsigned int a_ID, cWorld * a_World): -cMap::cMap(unsigned int a_ID, int a_CenterX, int a_CenterZ, cWorld * a_World, unsigned int a_Scale): +cMap::cMap(unsigned int a_ID, int a_CenterX, int a_CenterZ, cWorld * a_World, unsigned int a_Scale) : m_ID(a_ID), m_Width(cChunkDef::Width * 8), m_Height(cChunkDef::Width * 8), @@ -73,8 +74,8 @@ void cMap::UpdateRadius(int a_PixelX, int a_PixelZ, unsigned int a_Radius) unsigned int StartX = static_cast(Clamp(a_PixelX - PixelRadius, 0, static_cast(m_Width))); unsigned int StartZ = static_cast(Clamp(a_PixelZ - PixelRadius, 0, static_cast(m_Height))); - unsigned int EndX = static_cast(Clamp(a_PixelX + PixelRadius, 0, static_cast(m_Width))); - unsigned int EndZ = static_cast(Clamp(a_PixelZ + PixelRadius, 0, static_cast(m_Height))); + unsigned int EndX = static_cast(Clamp(a_PixelX + PixelRadius, 0, static_cast(m_Width))); + unsigned int EndZ = static_cast(Clamp(a_PixelZ + PixelRadius, 0, static_cast(m_Height))); for (unsigned int X = StartX; X < EndX; ++X) { @@ -99,7 +100,7 @@ void cMap::UpdateRadius(cPlayer & a_Player, unsigned int a_Radius) { int PixelWidth = static_cast(GetPixelWidth()); - int PixelX = static_cast(a_Player.GetPosX() - m_CenterX) / PixelWidth + static_cast(m_Width / 2); + int PixelX = static_cast(a_Player.GetPosX() - m_CenterX) / PixelWidth + static_cast(m_Width / 2); int PixelZ = static_cast(a_Player.GetPosZ() - m_CenterZ) / PixelWidth + static_cast(m_Height / 2); UpdateRadius(PixelX, PixelZ, a_Radius); @@ -111,7 +112,7 @@ void cMap::UpdateRadius(cPlayer & a_Player, unsigned int a_Radius) bool cMap::UpdatePixel(unsigned int a_X, unsigned int a_Z) { - int BlockX = m_CenterX + static_cast((a_X - m_Width / 2) * GetPixelWidth()); + int BlockX = m_CenterX + static_cast((a_X - m_Width / 2) * GetPixelWidth()); int BlockZ = m_CenterZ + static_cast((a_Z - m_Height / 2) * GetPixelWidth()); int ChunkX, ChunkZ; @@ -123,7 +124,10 @@ bool cMap::UpdatePixel(unsigned int a_X, unsigned int a_Z) ASSERT(m_World != nullptr); ColorID PixelData; - m_World->DoWithChunk(ChunkX, ChunkZ, [&](cChunk & a_Chunk) + m_World->DoWithChunk( + ChunkX, + ChunkZ, + [&](cChunk & a_Chunk) { if (GetDimension() == dimNether) { @@ -132,7 +136,7 @@ bool cMap::UpdatePixel(unsigned int a_X, unsigned int a_Z) return false; } - static const std::array BrightnessID = { { 3, 0, 1, 2 } }; // Darkest to lightest + static const std::array BrightnessID = {{3, 0, 1, 2}}; // Darkest to lightest BLOCKTYPE TargetBlock; NIBBLETYPE TargetMeta; @@ -151,7 +155,9 @@ bool cMap::UpdatePixel(unsigned int a_X, unsigned int a_Z) } else if (ColourID == 0) { - while (((--Height) != -1) && ((ColourID = cBlockHandler::For(a_Chunk.GetBlock(RelX, Height, RelZ)).GetMapBaseColourID(a_Chunk.GetMeta(RelX, Height, RelZ))) == 0)) + while (((--Height) != -1) && + ((ColourID = cBlockHandler::For(a_Chunk.GetBlock(RelX, Height, RelZ)) + .GetMapBaseColourID(a_Chunk.GetMeta(RelX, Height, RelZ))) == 0)) { continue; } @@ -159,7 +165,10 @@ bool cMap::UpdatePixel(unsigned int a_X, unsigned int a_Z) // Multiply base color ID by 4 and add brightness ID const int BrightnessIDSize = static_cast(BrightnessID.size()); - PixelData = ColourID * 4 + BrightnessID[static_cast(Clamp((BrightnessIDSize * Height) / ChunkHeight, 0, BrightnessIDSize - 1))]; + PixelData = ColourID * 4 + + BrightnessID[static_cast( + Clamp((BrightnessIDSize * Height) / ChunkHeight, 0, BrightnessIDSize - 1) + )]; return false; } ); @@ -333,8 +342,3 @@ unsigned int cMap::GetPixelWidth(void) const { return static_cast(pow(2.0, static_cast(m_Scale))); } - - - - - diff --git a/src/Map.h b/src/Map.h index 645f84c08..e9e4f65ec 100644 --- a/src/Map.h +++ b/src/Map.h @@ -33,27 +33,22 @@ decorators are automatically managed (allocated and freed) by their parent cMap */ struct cMapDecorator { -public: - + public: enum class eType { - E_TYPE_PLAYER = 0x00, - E_TYPE_ITEM_FRAME = 0x01, + E_TYPE_PLAYER = 0x00, + E_TYPE_ITEM_FRAME = 0x01, /** Player outside of the boundaries of the map. */ E_TYPE_PLAYER_OUTSIDE = 0x06 }; cMapDecorator(eType a_Type, unsigned int a_X, unsigned int a_Z, int a_Rot) : - m_Type(a_Type), - m_PixelX(a_X), - m_PixelZ(a_Z), - m_Rot(a_Rot) + m_Type(a_Type), m_PixelX(a_X), m_PixelZ(a_Z), m_Rot(a_Rot) { } -public: - + public: unsigned int GetPixelX(void) const { return m_PixelX; } unsigned int GetPixelZ(void) const { return m_PixelZ; } @@ -61,15 +56,13 @@ public: eType GetType(void) const { return m_Type; } -private: - + private: eType m_Type; unsigned int m_PixelX; unsigned int m_PixelZ; int m_Rot; - }; @@ -81,25 +74,24 @@ private: /** Encapsulates an in-game world map. */ class cMap { -public: - + public: enum eBaseColor { - E_BASE_COLOR_TRANSPARENT = 0, /* Air */ - E_BASE_COLOR_LIGHT_GREEN = 4, /* Grass */ + E_BASE_COLOR_TRANSPARENT = 0, /* Air */ + E_BASE_COLOR_LIGHT_GREEN = 4, /* Grass */ E_BASE_COLOR_LIGHT_BLUE = 5, - E_BASE_COLOR_LIGHT_BROWN = 8, /* Sand */ - E_BASE_COLOR_GRAY_1 = 12, /* Cloth */ - E_BASE_COLOR_RED = 16, /* TNT */ - E_BASE_COLOR_PALE_BLUE = 20, /* Ice */ - E_BASE_COLOR_GRAY_2 = 24, /* Iron */ - E_BASE_COLOR_DARK_GREEN = 28, /* Foliage */ - E_BASE_COLOR_WHITE = 32, /* Snow */ - E_BASE_COLOR_LIGHT_GRAY = 36, /* Clay */ - E_BASE_COLOR_BROWN = 40, /* Dirt */ - E_BASE_COLOR_DARK_GRAY = 44, /* Stone */ - E_BASE_COLOR_BLUE = 48, /* Water */ - E_BASE_COLOR_DARK_BROWN = 52 /* Wood */ + E_BASE_COLOR_LIGHT_BROWN = 8, /* Sand */ + E_BASE_COLOR_GRAY_1 = 12, /* Cloth */ + E_BASE_COLOR_RED = 16, /* TNT */ + E_BASE_COLOR_PALE_BLUE = 20, /* Ice */ + E_BASE_COLOR_GRAY_2 = 24, /* Iron */ + E_BASE_COLOR_DARK_GREEN = 28, /* Foliage */ + E_BASE_COLOR_WHITE = 32, /* Snow */ + E_BASE_COLOR_LIGHT_GRAY = 36, /* Clay */ + E_BASE_COLOR_BROWN = 40, /* Dirt */ + E_BASE_COLOR_DARK_GRAY = 44, /* Stone */ + E_BASE_COLOR_BLUE = 48, /* Water */ + E_BASE_COLOR_DARK_BROWN = 52 /* Wood */ }; typedef Byte ColorID; @@ -141,7 +133,7 @@ public: ColorID GetPixel(unsigned int a_X, unsigned int a_Z); - unsigned int GetWidth (void) const { return m_Width; } + unsigned int GetWidth(void) const { return m_Width; } unsigned int GetHeight(void) const { return m_Height; } unsigned int GetScale(void) const { return m_Scale; } @@ -169,8 +161,7 @@ public: const cColorList & GetData(void) const { return m_Data; } -private: - + private: /** Update the specified pixel. */ bool UpdatePixel(unsigned int a_X, unsigned int a_Z); @@ -202,6 +193,3 @@ private: friend class cMapSerializer; }; // tolua_export - - - diff --git a/src/MapManager.cpp b/src/MapManager.cpp index f7b393648..a0b38af29 100644 --- a/src/MapManager.cpp +++ b/src/MapManager.cpp @@ -20,8 +20,7 @@ cMapManager::cMapManager(cWorld * a_World) : - m_World(a_World), - m_TicksUntilNextSave(MAP_DATA_SAVE_INTERVAL) + m_World(a_World), m_TicksUntilNextSave(MAP_DATA_SAVE_INTERVAL) { ASSERT(m_World != nullptr); } @@ -182,8 +181,3 @@ void cMapManager::SaveMapData(void) } } } - - - - - diff --git a/src/MapManager.h b/src/MapManager.h index d20fe6683..0fc05faec 100644 --- a/src/MapManager.h +++ b/src/MapManager.h @@ -27,7 +27,7 @@ using cMapCallback = cFunctionRef; /** Manages the in-game maps of a single world - Thread safe. */ class cMapManager { -public: + public: // tolua_end cMapManager(cWorld * a_World); @@ -54,8 +54,7 @@ public: void SaveMapData(void); -private: - + private: typedef std::vector cMapList; cCriticalSection m_CS; @@ -69,6 +68,3 @@ private: unsigned int m_TicksUntilNextSave; }; // tolua_export - - - diff --git a/src/Matrix4.h b/src/Matrix4.h index 03ea6a93b..715a58174 100644 --- a/src/Matrix4.h +++ b/src/Matrix4.h @@ -15,29 +15,22 @@ template class Matrix4 { - TOLUA_TEMPLATE_BIND((T, float, double)) + TOLUA_TEMPLATE_BIND((T, float, double) ) // tolua_end -public: - + public: T cell[16]; // tolua_begin - inline Matrix4(void) - { - Identity(); - } + inline Matrix4(void) { Identity(); } - inline Matrix4(const Matrix4 & a_Rhs) - { - *this = a_Rhs; - } + inline Matrix4(const Matrix4 & a_Rhs) { *this = a_Rhs; } // tolua_end - inline Matrix4 & operator = (const Matrix4 & a_Rhs) + inline Matrix4 & operator=(const Matrix4 & a_Rhs) { for (unsigned int i = 0; i < 16; ++i) { @@ -48,7 +41,7 @@ public: // tolua_begin - inline T & operator [] (int a_N) + inline T & operator[](int a_N) { ASSERT(a_N < 16); return cell[a_N]; @@ -56,8 +49,8 @@ public: inline void Identity() { - cell[1] = cell[2] = cell[3] = cell[4] = 0; - cell[6] = cell[7] = cell[8] = cell[9] = 0; + cell[1] = cell[2] = cell[3] = cell[4] = 0; + cell[6] = cell[7] = cell[8] = cell[9] = 0; cell[11] = cell[12] = cell[13] = cell[14] = 0; cell[0] = cell[5] = cell[10] = cell[15] = 1; @@ -81,8 +74,10 @@ public: Identity(); - cell[5] = cx; cell[6] = sx; - cell[9] = -sx; cell[10] = cx; + cell[5] = cx; + cell[6] = sx; + cell[9] = -sx; + cell[10] = cx; } inline void RotateY(T a_RY) @@ -92,8 +87,10 @@ public: Identity(); - cell[0] = cy; cell[2] = -sy; - cell[8] = sy; cell[10] = cy; + cell[0] = cy; + cell[2] = -sy; + cell[8] = sy; + cell[10] = cy; } inline void RotateZ(T a_RZ) @@ -103,21 +100,23 @@ public: Identity(); - cell[0] = cz; cell[1] = sz; - cell[4] = -sz; cell[5] = cz; + cell[0] = cz; + cell[1] = sz; + cell[4] = -sz; + cell[5] = cz; } inline void Translate(const Vector3 & a_Pos) { - cell[3] += a_Pos.x; - cell[7] += a_Pos.y; + cell[3] += a_Pos.x; + cell[7] += a_Pos.y; cell[11] += a_Pos.z; } inline void SetTranslation(const Vector3 & a_Pos) { - cell[3] = a_Pos.x; - cell[7] = a_Pos.y; + cell[3] = a_Pos.x; + cell[7] = a_Pos.y; cell[11] = a_Pos.z; } @@ -129,12 +128,9 @@ public: { for (unsigned int r = 0; r < 4; ++r) { - res.cell[r * 4 + c] = ( - cell[r * 4 + 0] * m2.cell[c + 0] + - cell[r * 4 + 1] * m2.cell[c + 4] + - cell[r * 4 + 2] * m2.cell[c + 8] + - cell[r * 4 + 3] * m2.cell[c + 12] - ); + res.cell[r * 4 + c] = + (cell[r * 4 + 0] * m2.cell[c + 0] + cell[r * 4 + 1] * m2.cell[c + 4] + + cell[r * 4 + 2] * m2.cell[c + 8] + cell[r * 4 + 3] * m2.cell[c + 12]); } } @@ -143,9 +139,9 @@ public: inline Vector3 Transform(const Vector3 & v) const { - T x = cell[0] * v.x + cell[1] * v.y + cell[2] * v.z + cell[3]; - T y = cell[4] * v.x + cell[5] * v.y + cell[6] * v.z + cell[7]; - T z = cell[8] * v.x + cell[9] * v.y + cell[10] * v.z + cell[11]; + T x = cell[0] * v.x + cell[1] * v.y + cell[2] * v.z + cell[3]; + T y = cell[4] * v.x + cell[5] * v.y + cell[6] * v.z + cell[7]; + T z = cell[8] * v.x + cell[9] * v.y + cell[10] * v.z + cell[11]; return Vector3(x, y, z); } @@ -171,25 +167,16 @@ public: cell[i] = t.cell[i]; } - cell[3] = tx * cell[0] + ty * cell[1] + tz * cell[2]; - cell[7] = tx * cell[4] + ty * cell[5] + tz * cell[6]; + cell[3] = tx * cell[0] + ty * cell[1] + tz * cell[2]; + cell[7] = tx * cell[4] + ty * cell[5] + tz * cell[6]; cell[11] = tx * cell[8] + ty * cell[9] + tz * cell[10]; } - inline Vector3 GetXColumn(void) const - { - return Vector3(cell[0], cell[1], cell[2]); - } + inline Vector3 GetXColumn(void) const { return Vector3(cell[0], cell[1], cell[2]); } - inline Vector3 GetYColumn(void) const - { - return Vector3(cell[4], cell[5], cell[6]); - } + inline Vector3 GetYColumn(void) const { return Vector3(cell[4], cell[5], cell[6]); } - inline Vector3 GetZColumn(void) const - { - return Vector3(cell[8], cell[9], cell[10]); - } + inline Vector3 GetZColumn(void) const { return Vector3(cell[8], cell[9], cell[10]); } inline void SetXColumn(const Vector3 & a_X) { @@ -207,8 +194,8 @@ public: inline void SetZColumn(const Vector3 & a_Z) { - cell[8] = a_Z.x; - cell[9] = a_Z.y; + cell[8] = a_Z.x; + cell[9] = a_Z.y; cell[10] = a_Z.z; } }; @@ -219,10 +206,5 @@ public: // tolua_begin typedef Matrix4 Matrix4d; -typedef Matrix4 Matrix4f; +typedef Matrix4 Matrix4f; // tolua_end - - - - - diff --git a/src/MemorySettingsRepository.cpp b/src/MemorySettingsRepository.cpp index 0b4502779..7a10c843c 100644 --- a/src/MemorySettingsRepository.cpp +++ b/src/MemorySettingsRepository.cpp @@ -32,7 +32,7 @@ bool cMemorySettingsRepository::HasValue(const AString & a_KeyName, const AStrin int cMemorySettingsRepository::AddKeyName(const AString & a_keyname) { - m_Map.emplace(a_keyname, std::unordered_multimap{}); + m_Map.emplace(a_keyname, std::unordered_multimap {}); return 0; } @@ -67,7 +67,11 @@ bool cMemorySettingsRepository::DeleteKeyComment(const AString & keyname, const -void cMemorySettingsRepository::AddValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) +void cMemorySettingsRepository::AddValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value +) { if (m_Writable) { @@ -79,7 +83,7 @@ void cMemorySettingsRepository::AddValue (const AString & a_KeyName, const AStri -void cMemorySettingsRepository::AddValue (const AString & a_KeyName, const AString & a_ValueName, Int64 a_Value) +void cMemorySettingsRepository::AddValue(const AString & a_KeyName, const AString & a_ValueName, Int64 a_Value) { if (m_Writable) { @@ -91,7 +95,7 @@ void cMemorySettingsRepository::AddValue (const AString & a_KeyName, const AStri -void cMemorySettingsRepository::AddValue (const AString & a_KeyName, const AString & a_ValueName, bool a_Value) +void cMemorySettingsRepository::AddValue(const AString & a_KeyName, const AString & a_ValueName, bool a_Value) { if (m_Writable) { @@ -117,7 +121,11 @@ std::vector> cMemorySettingsRepository::GetValues(AS -AString cMemorySettingsRepository::GetValue (const AString & a_KeyName, const AString & a_ValueName, const AString & defValue) const +AString cMemorySettingsRepository::GetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & defValue +) const { auto outerIter = m_Map.find(a_KeyName); if (outerIter == m_Map.end()) @@ -136,7 +144,11 @@ AString cMemorySettingsRepository::GetValue (const AString & a_KeyName, const AS -AString cMemorySettingsRepository::GetValueSet (const AString & a_KeyName, const AString & a_ValueName, const AString & defValue) +AString cMemorySettingsRepository::GetValueSet( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & defValue +) { auto outerIter = m_Map.find(a_KeyName); if (outerIter == m_Map.end()) @@ -178,7 +190,11 @@ int cMemorySettingsRepository::GetValueSetI(const AString & a_KeyName, const ASt -Int64 cMemorySettingsRepository::GetValueSetI(const AString & a_KeyName, const AString & a_ValueName, const Int64 defValue) +Int64 cMemorySettingsRepository::GetValueSetI( + const AString & a_KeyName, + const AString & a_ValueName, + const Int64 defValue +) { auto outerIter = m_Map.find(a_KeyName); if (outerIter == m_Map.end()) @@ -199,7 +215,11 @@ Int64 cMemorySettingsRepository::GetValueSetI(const AString & a_KeyName, const A -bool cMemorySettingsRepository::GetValueSetB(const AString & a_KeyName, const AString & a_ValueName, const bool defValue) +bool cMemorySettingsRepository::GetValueSetB( + const AString & a_KeyName, + const AString & a_ValueName, + const bool defValue +) { auto outerIter = m_Map.find(a_KeyName); if (outerIter == m_Map.end()) @@ -220,7 +240,12 @@ bool cMemorySettingsRepository::GetValueSetB(const AString & a_KeyName, const AS -bool cMemorySettingsRepository::SetValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value, const bool a_CreateIfNotExists) +bool cMemorySettingsRepository::SetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value, + const bool a_CreateIfNotExists +) { if (!m_Writable) { @@ -252,7 +277,12 @@ bool cMemorySettingsRepository::SetValue (const AString & a_KeyName, const AStri -bool cMemorySettingsRepository::SetValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value, const bool a_CreateIfNotExists) +bool cMemorySettingsRepository::SetValueI( + const AString & a_KeyName, + const AString & a_ValueName, + const int a_Value, + const bool a_CreateIfNotExists +) { if (!m_Writable) { @@ -312,4 +342,3 @@ bool cMemorySettingsRepository::Flush() { return true; } - diff --git a/src/MemorySettingsRepository.h b/src/MemorySettingsRepository.h index a2dec8548..b4fa5ed0c 100644 --- a/src/MemorySettingsRepository.h +++ b/src/MemorySettingsRepository.h @@ -5,8 +5,7 @@ class cMemorySettingsRepository : public cSettingsRepositoryInterface { -public: - + public: virtual bool KeyExists(const AString keyname) const override; virtual bool HasValue(const AString & a_KeyName, const AString & a_ValueName) const override; @@ -19,76 +18,95 @@ public: virtual bool DeleteKeyComment(const AString & keyname, const int commentID) override; - virtual void AddValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) override; - void AddValue (const AString & a_KeyName, const AString & a_ValueName, const Int64 a_Value); - void AddValue (const AString & a_KeyName, const AString & a_ValueName, const bool a_Value); + virtual void AddValue(const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) override; + void AddValue(const AString & a_KeyName, const AString & a_ValueName, const Int64 a_Value); + void AddValue(const AString & a_KeyName, const AString & a_ValueName, const bool a_Value); virtual std::vector> GetValues(AString a_keyName) override; - virtual AString GetValue (const AString & keyname, const AString & valuename, const AString & defValue = "") const override; - - - virtual AString GetValueSet (const AString & keyname, const AString & valuename, const AString & defValue = "") override; - virtual int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) override; - virtual Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) override; - virtual bool GetValueSetB(const AString & keyname, const AString & valuename, const bool defValue = false) override; - - virtual bool SetValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value, const bool a_CreateIfNotExists = true) override; - virtual bool SetValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value, const bool a_CreateIfNotExists = true) override; + virtual AString GetValue(const AString & keyname, const AString & valuename, const AString & defValue = "") + const override; + + + virtual AString GetValueSet(const AString & keyname, const AString & valuename, const AString & defValue = "") + override; + virtual int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) override; + virtual Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) override; + virtual bool GetValueSetB(const AString & keyname, const AString & valuename, const bool defValue = false) override; + + virtual bool SetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value, + const bool a_CreateIfNotExists = true + ) override; + virtual bool SetValueI( + const AString & a_KeyName, + const AString & a_ValueName, + const int a_Value, + const bool a_CreateIfNotExists = true + ) override; virtual bool DeleteValue(const AString & keyname, const AString & valuename) override; virtual bool Flush() override; - void SetReadOnly() - { - m_Writable = false; - } - -private: + void SetReadOnly() { m_Writable = false; } + private: bool m_Writable = true; struct sValue { - sValue(AString value): - #ifndef NDEBUG - m_Type(eType::String), - #endif - m_stringValue (std::move(value)) + sValue(AString value) : +#ifndef NDEBUG + m_Type(eType::String), +#endif + m_stringValue(std::move(value)) { } - sValue(Int64 value): - #ifndef NDEBUG - m_Type(eType::Int64), - #endif + sValue(Int64 value) : +#ifndef NDEBUG + m_Type(eType::Int64), +#endif m_intValue(value) { } - sValue(bool value): - #ifndef NDEBUG - m_Type(eType::Bool), - #endif + sValue(bool value) : +#ifndef NDEBUG + m_Type(eType::Bool), +#endif m_boolValue(value) { } - AString getStringValue() const { ASSERT(m_Type == eType::String); return m_stringValue; } - Int64 getIntValue() const { ASSERT(m_Type == eType::Int64); return m_intValue; } - bool getBoolValue() const { ASSERT(m_Type == eType::Bool); return m_boolValue; } - - private: + AString getStringValue() const + { + ASSERT(m_Type == eType::String); + return m_stringValue; + } + Int64 getIntValue() const + { + ASSERT(m_Type == eType::Int64); + return m_intValue; + } + bool getBoolValue() const + { + ASSERT(m_Type == eType::Bool); + return m_boolValue; + } - #ifndef NDEBUG - enum class eType - { - String, - Int64, - Bool - } m_Type; - #endif + private: +#ifndef NDEBUG + enum class eType + { + String, + Int64, + Bool + } m_Type; +#endif AString m_stringValue; union @@ -98,6 +116,5 @@ private: }; }; - std::unordered_map> m_Map{}; + std::unordered_map> m_Map {}; }; - diff --git a/src/MobCensus.cpp b/src/MobCensus.cpp index d6db2f9e5..c7c1e7c81 100644 --- a/src/MobCensus.cpp +++ b/src/MobCensus.cpp @@ -19,9 +19,10 @@ void cMobCensus::CollectMob(cMonster & a_Monster, cChunk & a_Chunk, double a_Dis bool cMobCensus::IsCapped(cMonster::eFamily a_MobFamily) { - const int ratio = 319; // This should be 256 as we are only supposed to take account from chunks that are in 17 x 17 from a player - // but for now, we use all chunks loaded by players. that means 19 x 19 chunks. That's why we use 256 * (19 * 19) / (17 * 17) = 319 - // MG TODO : code the correct count + const int ratio = 319; // This should be 256 as we are only supposed to take account from chunks that are in 17 x + // 17 from a player + // but for now, we use all chunks loaded by players. that means 19 x 19 chunks. That's why we use 256 * (19 * 19) / + // (17 * 17) = 319 MG TODO : code the correct count const auto MobCap = ((GetCapMultiplier(a_MobFamily) * GetNumChunks()) / ratio); return (MobCap < m_MobFamilyCollecter.GetNumberOfCollectedMobs(a_MobFamily)); } @@ -79,13 +80,24 @@ cMobProximityCounter & cMobCensus::GetProximityCounter(void) void cMobCensus::Logd() { - LOGD("Hostile mobs : %d %s", m_MobFamilyCollecter.GetNumberOfCollectedMobs(cMonster::mfHostile), IsCapped(cMonster::mfHostile) ? "(capped)" : ""); - LOGD("Ambient mobs : %d %s", m_MobFamilyCollecter.GetNumberOfCollectedMobs(cMonster::mfAmbient), IsCapped(cMonster::mfAmbient) ? "(capped)" : ""); - LOGD("Water mobs : %d %s", m_MobFamilyCollecter.GetNumberOfCollectedMobs(cMonster::mfWater), IsCapped(cMonster::mfWater) ? "(capped)" : ""); - LOGD("Passive mobs : %d %s", m_MobFamilyCollecter.GetNumberOfCollectedMobs(cMonster::mfPassive), IsCapped(cMonster::mfPassive) ? "(capped)" : ""); + LOGD( + "Hostile mobs : %d %s", + m_MobFamilyCollecter.GetNumberOfCollectedMobs(cMonster::mfHostile), + IsCapped(cMonster::mfHostile) ? "(capped)" : "" + ); + LOGD( + "Ambient mobs : %d %s", + m_MobFamilyCollecter.GetNumberOfCollectedMobs(cMonster::mfAmbient), + IsCapped(cMonster::mfAmbient) ? "(capped)" : "" + ); + LOGD( + "Water mobs : %d %s", + m_MobFamilyCollecter.GetNumberOfCollectedMobs(cMonster::mfWater), + IsCapped(cMonster::mfWater) ? "(capped)" : "" + ); + LOGD( + "Passive mobs : %d %s", + m_MobFamilyCollecter.GetNumberOfCollectedMobs(cMonster::mfPassive), + IsCapped(cMonster::mfPassive) ? "(capped)" : "" + ); } - - - - - diff --git a/src/MobCensus.h b/src/MobCensus.h index 1d1123cfa..677b16e03 100644 --- a/src/MobCensus.h +++ b/src/MobCensus.h @@ -24,7 +24,7 @@ as side effect 2 : it also know the caps for mobs number and can compare census */ class cMobCensus { -public: + public: /** Returns the nested proximity counter */ cMobProximityCounter & GetProximityCounter(void); @@ -41,7 +41,7 @@ public: /** log the results of census to server console */ void Logd(void); -protected : + protected: cMobProximityCounter m_ProximityCounter; cMobFamilyCollecter m_MobFamilyCollecter; @@ -52,8 +52,4 @@ protected : /** Returns the cap multiplier value of the given monster family */ static int GetCapMultiplier(cMonster::eFamily a_MobFamily); -} ; - - - - +}; diff --git a/src/MobFamilyCollecter.cpp b/src/MobFamilyCollecter.cpp index 7b12e3faf..f6a3e71ec 100644 --- a/src/MobFamilyCollecter.cpp +++ b/src/MobFamilyCollecter.cpp @@ -21,7 +21,3 @@ int cMobFamilyCollecter::GetNumberOfCollectedMobs(cMonster::eFamily a_Family) { return static_cast(m_Mobs[a_Family].size()); } - - - - diff --git a/src/MobFamilyCollecter.h b/src/MobFamilyCollecter.h index 70e908d4b..afeb4b769 100644 --- a/src/MobFamilyCollecter.h +++ b/src/MobFamilyCollecter.h @@ -8,10 +8,10 @@ /** This class is used to collect the list of mobs for each family -*/ + */ class cMobFamilyCollecter { -public : + public: typedef const std::set tMobFamilyList; // collect a mob @@ -20,11 +20,6 @@ public : // return the number of mobs for this family int GetNumberOfCollectedMobs(cMonster::eFamily a_Family); -protected : - std::map > m_Mobs; - -} ; - - - - + protected: + std::map> m_Mobs; +}; diff --git a/src/MobProximityCounter.cpp b/src/MobProximityCounter.cpp index 488b6c3dd..a33c7685b 100644 --- a/src/MobProximityCounter.cpp +++ b/src/MobProximityCounter.cpp @@ -17,10 +17,12 @@ void cMobProximityCounter::CollectMob(cEntity & a_Monster, cChunk & a_Chunk, dou if (it == m_MonsterToDistance.end()) { sDistanceAndChunk newDistanceAndChunk(a_Distance, a_Chunk); - std::pair result = m_MonsterToDistance.insert(tMonsterToDistance::value_type(&a_Monster, newDistanceAndChunk)); + std::pair result = + m_MonsterToDistance.insert(tMonsterToDistance::value_type(&a_Monster, newDistanceAndChunk)); if (!result.second) { - ASSERT(!"A collected Monster was not found inside distance map using find(), but insert() said there already is a key for it"); + ASSERT(!"A collected Monster was not found inside distance map using find(), but insert() said there " + "already is a key for it"); } } else @@ -33,7 +35,6 @@ void cMobProximityCounter::CollectMob(cEntity & a_Monster, cChunk & a_Chunk, dou } m_EligibleForSpawnChunks.insert(&a_Chunk); - } @@ -44,7 +45,9 @@ void cMobProximityCounter::convertMaps() { for (tMonsterToDistance::const_iterator itr = m_MonsterToDistance.begin(); itr != m_MonsterToDistance.end(); ++itr) { - m_DistanceToMonster.insert(tDistanceToMonster::value_type(itr->second.m_Distance, sMonsterAndChunk(*itr->first, *itr->second.m_Chunk))); + m_DistanceToMonster.insert( + tDistanceToMonster::value_type(itr->second.m_Distance, sMonsterAndChunk(*itr->first, *itr->second.m_Chunk)) + ); } } @@ -52,14 +55,17 @@ void cMobProximityCounter::convertMaps() -cMobProximityCounter::sIterablePair cMobProximityCounter::getMobWithinThosesDistances(double a_DistanceMin, double a_DistanceMax) +cMobProximityCounter::sIterablePair cMobProximityCounter::getMobWithinThosesDistances( + double a_DistanceMin, + double a_DistanceMax +) { sIterablePair toReturn; toReturn.m_Count = 0; toReturn.m_Begin = m_DistanceToMonster.end(); toReturn.m_End = m_DistanceToMonster.end(); - a_DistanceMin *= a_DistanceMin;// this is because is use square distance + a_DistanceMin *= a_DistanceMin; // this is because is use square distance a_DistanceMax *= a_DistanceMax; if (m_DistanceToMonster.empty()) @@ -87,7 +93,7 @@ cMobProximityCounter::sIterablePair cMobProximityCounter::getMobWithinThosesDist } else { - toReturn.m_Count ++; + toReturn.m_Count++; } } } diff --git a/src/MobProximityCounter.h b/src/MobProximityCounter.h index fc1551560..21963e344 100644 --- a/src/MobProximityCounter.h +++ b/src/MobProximityCounter.h @@ -10,26 +10,32 @@ class cEntity; // as the behaviour and even life of mobs depends on the distance to closest player class cMobProximityCounter { -protected : + protected: // structs used for later maps (see m_MonsterToDistance and m_DistanceToMonster) struct sDistanceAndChunk { - sDistanceAndChunk(double a_Distance, cChunk & a_Chunk) : m_Distance(a_Distance), m_Chunk(&a_Chunk) {} + sDistanceAndChunk(double a_Distance, cChunk & a_Chunk) : + m_Distance(a_Distance), m_Chunk(&a_Chunk) + { + } double m_Distance; cChunk * m_Chunk; }; struct sMonsterAndChunk { - sMonsterAndChunk(cEntity & a_Monster, cChunk & a_Chunk) : m_Monster(a_Monster), m_Chunk(a_Chunk) {} + sMonsterAndChunk(cEntity & a_Monster, cChunk & a_Chunk) : + m_Monster(a_Monster), m_Chunk(a_Chunk) + { + } cEntity & m_Monster; cChunk & m_Chunk; }; -public : + public: typedef std::map tMonsterToDistance; typedef std::multimap tDistanceToMonster; -protected : + protected: // this map is filled during collection phase, it will be later transformed into DistanceToMonster tMonsterToDistance m_MonsterToDistance; @@ -37,14 +43,14 @@ protected : tDistanceToMonster m_DistanceToMonster; // this are the collected chunks. Used to determinate the number of elligible chunk for spawning. - std::set m_EligibleForSpawnChunks; + std::set m_EligibleForSpawnChunks; -protected : + protected: // transform monsterToDistance map (that was usefull for collecting) into distanceToMonster // that will be usefull for picking up. void convertMaps(); -public : + public: // count a mob on a specified chunk with specified distance to an unkown player // if the distance is shortest than the one collected, this become the new closest // distance and the chunk become the "hosting" chunk (that is the one that will perform the action) @@ -60,5 +66,4 @@ public : int m_Count; }; sIterablePair getMobWithinThosesDistances(double a_DistanceMin, double a_DistanceMax); - }; diff --git a/src/MobSpawner.cpp b/src/MobSpawner.cpp index d5ed79fc4..68a479839 100644 --- a/src/MobSpawner.cpp +++ b/src/MobSpawner.cpp @@ -10,10 +10,8 @@ -cMobSpawner::cMobSpawner(cMonster::eFamily a_MonsterFamily, const std::set& a_AllowedTypes) : - m_MonsterFamily(a_MonsterFamily), - m_NewPack(true), - m_MobType(mtInvalidType) +cMobSpawner::cMobSpawner(cMonster::eFamily a_MonsterFamily, const std::set & a_AllowedTypes) : + m_MonsterFamily(a_MonsterFamily), m_NewPack(true), m_MobType(mtInvalidType) { for (std::set::const_iterator itr = a_AllowedTypes.begin(); itr != a_AllowedTypes.end(); ++itr) { @@ -72,7 +70,13 @@ eMonsterType cMobSpawner::ChooseMobType(EMCSBiome a_Biome) -bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType a_MobType, EMCSBiome a_Biome, bool a_DisableSolidBelowCheck) +bool cMobSpawner::CanSpawnHere( + cChunk * a_Chunk, + Vector3i a_RelPos, + eMonsterType a_MobType, + EMCSBiome a_Biome, + bool a_DisableSolidBelowCheck +) { if ((a_RelPos.y >= cChunkDef::Height - 1) || (a_RelPos.y <= 0)) { @@ -81,7 +85,7 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType if (cChunkDef::IsValidHeight(a_RelPos.addedY(-1)) && (a_Chunk->GetBlock(a_RelPos.addedY(-1)) == E_BLOCK_BEDROCK)) { - return false; // Make sure mobs do not spawn on bedrock. + return false; // Make sure mobs do not spawn on bedrock. } auto & Random = GetRandomProvider(); @@ -98,36 +102,26 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType { case mtBat: { - return - ( - (a_RelPos.y <= 63) && - (BlockLight <= 4) && - (SkyLight <= 4) && - (TargetBlock == E_BLOCK_AIR) && + return ( + (a_RelPos.y <= 63) && (BlockLight <= 4) && (SkyLight <= 4) && (TargetBlock == E_BLOCK_AIR) && (!cBlockInfo::IsTransparent(BlockAbove)) ); } case mtBlaze: { - return - ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && - (Random.RandBool()) + return ( + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && + ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && (Random.RandBool()) ); } case mtCaveSpider: { - return - ( + return ( (TargetBlock == E_BLOCK_AIR) && - ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && - (SkyLight <= 7) && - (BlockLight <= 7) && - (Random.RandBool()) + ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && (SkyLight <= 7) && + (BlockLight <= 7) && (Random.RandBool()) ); } @@ -138,11 +132,8 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType case mtRabbit: case mtSheep: { - return - ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - (BlockBelow == E_BLOCK_GRASS) && + return ( + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && (BlockBelow == E_BLOCK_GRASS) && (SkyLight >= 9) ); } @@ -151,14 +142,10 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType case mtSkeleton: case mtZombie: { - return - ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && - (SkyLight <= 7) && - (BlockLight <= 7) && - (Random.RandBool()) + return ( + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && + ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && (SkyLight <= 7) && + (BlockLight <= 7) && (Random.RandBool()) ); } @@ -170,13 +157,9 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType if (blockTop == E_BLOCK_AIR) { blockTop = a_Chunk->GetBlock(a_RelPos.addedY(3)); - return - ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - (blockTop == E_BLOCK_AIR) && - ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && - (SkyLight <= 7) && + return ( + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && (blockTop == E_BLOCK_AIR) && + ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && (SkyLight <= 7) && (BlockLight <= 7) ); } @@ -186,23 +169,12 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType case mtGhast: { - return - ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - (Random.RandBool(0.01)) - ); + return ((TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && (Random.RandBool(0.01))); } case mtGuardian: { - return - ( - IsBlockWater(TargetBlock) && - IsBlockWater(BlockBelow) && - (a_RelPos.y >= 45) && - (a_RelPos.y <= 62) - ); + return (IsBlockWater(TargetBlock) && IsBlockWater(BlockBelow) && (a_RelPos.y >= 45) && (a_RelPos.y <= 62)); } case mtMagmaCube: @@ -210,57 +182,34 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType { const int AMOUNT_MOON_PHASES = 8; auto maxLight = Random.RandInt(0, 7); - auto moonPhaseNumber = static_cast(std::floor(a_Chunk->GetWorld()->GetWorldAge().count() / 24000)) % AMOUNT_MOON_PHASES; - auto moonThreshold = static_cast(std::abs(moonPhaseNumber - (AMOUNT_MOON_PHASES / 2)) / (AMOUNT_MOON_PHASES / 2)); - return - ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - ( - (!cBlockInfo::IsTransparent(BlockBelow)) || - (a_DisableSolidBelowCheck)) && - ( - ( - (a_RelPos.y <= 40) && - a_Chunk->IsSlimeChunk() - ) || - ( - (a_Biome == biSwampland) && - (a_RelPos.y >= 50) && - (a_RelPos.y <= 70) && - (SkyLight <= maxLight) && - (BlockLight <= maxLight) && - (Random.RandBool(moonThreshold)) && - (Random.RandBool(0.5)) - ) - ) + auto moonPhaseNumber = + static_cast(std::floor(a_Chunk->GetWorld()->GetWorldAge().count() / 24000)) % AMOUNT_MOON_PHASES; + auto moonThreshold = + static_cast(std::abs(moonPhaseNumber - (AMOUNT_MOON_PHASES / 2)) / (AMOUNT_MOON_PHASES / 2)); + return ( + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && + ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && + (((a_RelPos.y <= 40) && a_Chunk->IsSlimeChunk()) || + ((a_Biome == biSwampland) && (a_RelPos.y >= 50) && (a_RelPos.y <= 70) && (SkyLight <= maxLight) && + (BlockLight <= maxLight) && (Random.RandBool(moonThreshold)) && (Random.RandBool(0.5)))) ); } case mtMooshroom: { - return - ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - (BlockBelow == E_BLOCK_MYCELIUM) && - ( - (a_Biome == biMushroomShore) || - (a_Biome == biMushroomIsland) - ) + return ( + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && (BlockBelow == E_BLOCK_MYCELIUM) && + ((a_Biome == biMushroomShore) || (a_Biome == biMushroomIsland)) ); } case mtOcelot: { return ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - ( - (BlockBelow == E_BLOCK_GRASS) || (BlockBelow == E_BLOCK_LEAVES) || (BlockBelow == E_BLOCK_NEW_LEAVES) + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && + ((BlockBelow == E_BLOCK_GRASS) || (BlockBelow == E_BLOCK_LEAVES) || (BlockBelow == E_BLOCK_NEW_LEAVES) ) && - (a_RelPos.y >= 62) && - (Random.RandBool(2.0 / 3.0)) + (a_RelPos.y >= 62) && (Random.RandBool(2.0 / 3.0)) ); } @@ -278,13 +227,10 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType { return false; } - HasFloor = ( - HasFloor || - ( - a_Chunk->UnboundedRelGetBlockType(a_RelPos + Vector3i(x, -1, z), TargetBlock) && - !cBlockInfo::IsTransparent(TargetBlock) - ) - ); + HasFloor = + (HasFloor || + (a_Chunk->UnboundedRelGetBlockType(a_RelPos + Vector3i(x, -1, z), TargetBlock) && + !cBlockInfo::IsTransparent(TargetBlock))); } } return CanSpawn && HasFloor && (SkyLight <= 7) && (BlockLight <= 7); @@ -292,49 +238,32 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType case mtSquid: { - return ( - IsBlockWater(TargetBlock) && - (a_RelPos.y >= 45) && - (a_RelPos.y <= 62) - ); + return (IsBlockWater(TargetBlock) && (a_RelPos.y >= 45) && (a_RelPos.y <= 62)); } case mtWitherSkeleton: { return ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && - ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && - (SkyLight <= 7) && - (BlockLight <= 7) && - (Random.RandBool(0.6)) + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && + ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) && (SkyLight <= 7) && + (BlockLight <= 7) && (Random.RandBool(0.6)) ); } case mtWolf: { return ( - (TargetBlock == E_BLOCK_GRASS) && - (BlockAbove == E_BLOCK_AIR) && - ( - (a_Biome == biColdTaiga) || - (a_Biome == biColdTaigaHills) || - (a_Biome == biColdTaigaM) || - (a_Biome == biForest) || - (a_Biome == biTaiga) || - (a_Biome == biTaigaHills) || - (a_Biome == biTaigaM) || - (a_Biome == biMegaTaiga) || - (a_Biome == biMegaTaigaHills) - ) + (TargetBlock == E_BLOCK_GRASS) && (BlockAbove == E_BLOCK_AIR) && + ((a_Biome == biColdTaiga) || (a_Biome == biColdTaigaHills) || (a_Biome == biColdTaigaM) || + (a_Biome == biForest) || (a_Biome == biTaiga) || (a_Biome == biTaigaHills) || (a_Biome == biTaigaM) || + (a_Biome == biMegaTaiga) || (a_Biome == biMegaTaigaHills)) ); } case mtZombiePigman: { return ( - (TargetBlock == E_BLOCK_AIR) && - (BlockAbove == E_BLOCK_AIR) && + (TargetBlock == E_BLOCK_AIR) && (BlockAbove == E_BLOCK_AIR) && ((!cBlockInfo::IsTransparent(BlockBelow)) || (a_DisableSolidBelowCheck)) ); } @@ -440,13 +369,8 @@ std::set cMobSpawner::GetAllowedMobTypes(EMCSBiome a_Biome) } // Overworld - if ( - (a_Biome != biDesertHills) && - (a_Biome != biDesert) && - (a_Biome != biDesertM) && - (a_Biome != biBeach) && - (a_Biome != biOcean) && - (a_Biome != biDeepOcean)) + if ((a_Biome != biDesertHills) && (a_Biome != biDesert) && (a_Biome != biDesertM) && (a_Biome != biBeach) && + (a_Biome != biOcean) && (a_Biome != biDeepOcean)) { ListOfSpawnables.insert(mtSheep); ListOfSpawnables.insert(mtPig); @@ -482,16 +406,7 @@ cMonster * cMobSpawner::TryToSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, EMCS // If too close to any player, don't spawn anything auto AbsPos = a_Chunk->RelativeToAbsolute(a_RelPos); static const double RangeLimit = 24; - if ( - a_Chunk->GetWorld()->DoWithNearestPlayer( - AbsPos, - RangeLimit, - [](cPlayer & a_Player) - { - return true; - } - ) - ) + if (a_Chunk->GetWorld()->DoWithNearestPlayer(AbsPos, RangeLimit, [](cPlayer & a_Player) { return true; })) { return nullptr; } @@ -549,7 +464,3 @@ bool cMobSpawner::CanSpawnAnything(void) { return !m_AllowedTypes.empty(); } - - - - diff --git a/src/MobSpawner.h b/src/MobSpawner.h index 6625114a1..61306507a 100644 --- a/src/MobSpawner.h +++ b/src/MobSpawner.h @@ -14,7 +14,7 @@ but it also has dynamic part depending on the world.ini settings. */ class cMobSpawner { -public : + public: /** Constructor a_MobFamily is the Family of mobs that this spawner will spawn a_AllowedTypes is the set of types allowed for mobs it will spawn. Empty set would result in no spawn at all @@ -37,20 +37,22 @@ public : // return true if there is at least one allowed type bool CanSpawnAnything(void); - std::vector> & getSpawned(void) - { - return m_Spawned; - } + std::vector> & getSpawned(void) { return m_Spawned; } /** Returns true if specified type of mob can spawn on specified block */ - static bool CanSpawnHere(cChunk * a_Chunk, Vector3i a_RelPos, eMonsterType a_MobType, EMCSBiome a_Biome, bool a_DisableSolidBelowCheck = false); + static bool CanSpawnHere( + cChunk * a_Chunk, + Vector3i a_RelPos, + eMonsterType a_MobType, + EMCSBiome a_Biome, + bool a_DisableSolidBelowCheck = false + ); /** Returns all mob types that can spawn that biome */ static std::set GetAllowedMobTypes(EMCSBiome a_Biome); -protected : - + protected: /** Returns a random type that can spawn in the specified biome. Returns mtInvalidType if none is possible. */ eMonsterType ChooseMobType(EMCSBiome a_Biome); @@ -60,8 +62,4 @@ protected : bool m_NewPack; eMonsterType m_MobType; std::vector> m_Spawned; -} ; - - - - +}; diff --git a/src/Mobs/AggressiveMonster.cpp b/src/Mobs/AggressiveMonster.cpp index c93985b90..16b83c4a6 100644 --- a/src/Mobs/AggressiveMonster.cpp +++ b/src/Mobs/AggressiveMonster.cpp @@ -11,7 +11,15 @@ -cAggressiveMonster::cAggressiveMonster(const AString & a_ConfigName, eMonsterType a_MobType, const AString & a_SoundHurt, const AString & a_SoundDeath, const AString & a_SoundAmbient, float a_Width, float a_Height) : +cAggressiveMonster::cAggressiveMonster( + const AString & a_ConfigName, + eMonsterType a_MobType, + const AString & a_SoundHurt, + const AString & a_SoundDeath, + const AString & a_SoundAmbient, + float a_Width, + float a_Height +) : Super(a_ConfigName, a_MobType, a_SoundHurt, a_SoundDeath, a_SoundAmbient, a_Width, a_Height) { m_EMPersonality = AGGRESSIVE; @@ -54,8 +62,9 @@ cMonster * cAggressiveMonster::GetMonsterOfTypeInSight(eMonsterType a_MobType, u class cCallback : public cBlockTracer::cCallbacks { - public: - bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + public: + bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) + override { return a_BlockType != E_BLOCK_AIR; } @@ -81,18 +90,18 @@ cMonster * cAggressiveMonster::GetMonsterOfTypeInSight(eMonsterType a_MobType, u Vector3d TargetPosition = Other.GetPosition().addedY(Other.GetHeight()); double TargetDistance = (MyHeadPosition - TargetPosition).SqrLength(); - if ( - (MinimumDistance > TargetDistance) && - (TargetDistance < (a_SightDistance * a_SightDistance)) - ) + if ((MinimumDistance > TargetDistance) && (TargetDistance < (a_SightDistance * a_SightDistance))) { - FoundTarget = & Other; + FoundTarget = &Other; return true; } return false; }; - cBoundingBox CheckZone(GetPosition().addedXZ(-a_SightDistance, -a_SightDistance), GetPosition().addedXZ(a_SightDistance, a_SightDistance)); + cBoundingBox CheckZone( + GetPosition().addedXZ(-a_SightDistance, -a_SightDistance), + GetPosition().addedXZ(a_SightDistance, a_SightDistance) + ); m_World->ForEachEntityInBox(CheckZone, Callback); return FoundTarget; } @@ -120,19 +129,17 @@ void cAggressiveMonster::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) CheckEventSeePlayer(a_Chunk); } - if ( - (GetTarget() != nullptr) && - TargetIsInRange() && + if ((GetTarget() != nullptr) && TargetIsInRange() && cLineBlockTracer::LineOfSightTrace( *GetWorld(), GetPosition().addedY(GetHeight()), GetTarget()->GetPosition().addedY(GetTarget()->GetHeight()), (IsNetherNative() ? cLineBlockTracer::losAirWaterLava : cLineBlockTracer::losAirWater) ) && - (GetHealth() > 0.0) - ) + (GetHealth() > 0.0)) { - // Attack if reached destination, target isn't null, and have a clear line of sight to target (so won't attack through walls) + // Attack if reached destination, target isn't null, and have a clear line of sight to target (so won't attack + // through walls) Attack(a_Dt); } } diff --git a/src/Mobs/AggressiveMonster.h b/src/Mobs/AggressiveMonster.h index 48ed7932e..8e8588754 100644 --- a/src/Mobs/AggressiveMonster.h +++ b/src/Mobs/AggressiveMonster.h @@ -7,13 +7,11 @@ -class cAggressiveMonster: - public cMonster +class cAggressiveMonster : public cMonster { using Super = cMonster; -public: - + public: cAggressiveMonster( const AString & a_ConfigName, eMonsterType a_MobType, @@ -24,24 +22,24 @@ public: float a_Height ); - virtual void Tick (std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void InStateChasing(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void EventSeePlayer(cPlayer * a_Player, cChunk & a_Chunk) override; /** - * Check if a monster of certain type is in sight - * - * @param a_mobtype the mob type to find - * @param SightDistance max distance to check - * - * @return pointer to the mob found - */ - cMonster * GetMonsterOfTypeInSight(eMonsterType a_mobtype, unsigned int SightDistance=16); + * Check if a monster of certain type is in sight + * + * @param a_mobtype the mob type to find + * @param SightDistance max distance to check + * + * @return pointer to the mob found + */ + cMonster * GetMonsterOfTypeInSight(eMonsterType a_mobtype, unsigned int SightDistance = 16); /** Try to perform attack - returns true if attack was deemed successful (hit player, fired projectile, creeper exploded, etc.) even if it didn't actually do damage - return false if e.g. the mob is still in cooldown from a previous attack */ + returns true if attack was deemed successful (hit player, fired projectile, creeper exploded, etc.) even if it + didn't actually do damage return false if e.g. the mob is still in cooldown from a previous attack */ virtual bool Attack(std::chrono::milliseconds a_Dt); -} ; +}; diff --git a/src/Mobs/Bat.cpp b/src/Mobs/Bat.cpp index 28ae76f6f..fbeb3d7f4 100644 --- a/src/Mobs/Bat.cpp +++ b/src/Mobs/Bat.cpp @@ -11,5 +11,3 @@ cBat::cBat(void) : SetGravity(-2.0f); SetAirDrag(0.05f); } - - diff --git a/src/Mobs/Bat.h b/src/Mobs/Bat.h index 0d57cd6dd..c460e490c 100644 --- a/src/Mobs/Bat.h +++ b/src/Mobs/Bat.h @@ -7,20 +7,14 @@ -class cBat: - public cPassiveMonster +class cBat : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: cBat(); CLASS_PROTODEF(cBat) - bool IsHanging(void) const {return false; } -} ; - - - - + bool IsHanging(void) const { return false; } +}; diff --git a/src/Mobs/Blaze.cpp b/src/Mobs/Blaze.cpp index f5939834a..9c8a9ec71 100644 --- a/src/Mobs/Blaze.cpp +++ b/src/Mobs/Blaze.cpp @@ -60,11 +60,7 @@ void cBlaze::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) if (m_IsCharging) { m_ChargeTimer++; - if ( - (m_ChargeTimer == 5) || - (m_ChargeTimer == 10) || - (m_ChargeTimer == 15) - ) + if ((m_ChargeTimer == 5) || (m_ChargeTimer == 10) || (m_ChargeTimer == 15)) { Vector3d Speed = GetLookVector() * 20; Speed.y = Speed.y + 1; diff --git a/src/Mobs/Blaze.h b/src/Mobs/Blaze.h index 9ebc1ffcf..35708a4d9 100644 --- a/src/Mobs/Blaze.h +++ b/src/Mobs/Blaze.h @@ -7,19 +7,16 @@ -class cBlaze: - public cAggressiveMonster +class cBlaze : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cBlaze(); CLASS_PROTODEF(cBlaze) -private: - + private: virtual bool Attack(std::chrono::milliseconds a_Dt) override; virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual bool IsNetherNative(void) override { return true; } @@ -31,4 +28,4 @@ private: /** Number of ticks since the blaze started charging. Used to create 3 successive projectiles. */ int m_ChargeTimer; -} ; +}; diff --git a/src/Mobs/CaveSpider.cpp b/src/Mobs/CaveSpider.cpp index bd9e5f07b..61b8e119c 100644 --- a/src/Mobs/CaveSpider.cpp +++ b/src/Mobs/CaveSpider.cpp @@ -64,7 +64,3 @@ void cCaveSpider::GetDrops(cItems & a_Drops, cEntity * a_Killer) AddRandomUncommonDropItem(a_Drops, 33.0f, E_ITEM_SPIDER_EYE); } } - - - - diff --git a/src/Mobs/CaveSpider.h b/src/Mobs/CaveSpider.h index 3e3fef4ff..474fd5ac0 100644 --- a/src/Mobs/CaveSpider.h +++ b/src/Mobs/CaveSpider.h @@ -6,13 +6,11 @@ -class cCaveSpider: - public cAggressiveMonster +class cCaveSpider : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cCaveSpider(); CLASS_PROTODEF(cCaveSpider) @@ -20,8 +18,4 @@ public: virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual bool Attack(std::chrono::milliseconds a_Dt) override; virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; -} ; - - - - +}; diff --git a/src/Mobs/Chicken.cpp b/src/Mobs/Chicken.cpp index cc9609450..a2f868291 100644 --- a/src/Mobs/Chicken.cpp +++ b/src/Mobs/Chicken.cpp @@ -33,10 +33,7 @@ void cChicken::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) return; // Babies don't lay eggs } - if ( - ((m_EggDropTimer == 6000) && GetRandomProvider().RandBool()) || - m_EggDropTimer == 12000 - ) + if (((m_EggDropTimer == 6000) && GetRandomProvider().RandBool()) || m_EggDropTimer == 12000) { cItems Drops; m_EggDropTimer = 0; diff --git a/src/Mobs/Chicken.h b/src/Mobs/Chicken.h index 5e84a61c8..c9d54ce5a 100644 --- a/src/Mobs/Chicken.h +++ b/src/Mobs/Chicken.h @@ -6,13 +6,11 @@ -class cChicken: - public cPassiveMonster +class cChicken : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: cChicken(); CLASS_PROTODEF(cChicken) @@ -30,10 +28,6 @@ public: virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; -private: - + private: int m_EggDropTimer; -} ; - - - +}; diff --git a/src/Mobs/Cow.h b/src/Mobs/Cow.h index 657c48cce..f27e186ed 100644 --- a/src/Mobs/Cow.h +++ b/src/Mobs/Cow.h @@ -7,13 +7,11 @@ -class cCow: - public cPassiveMonster +class cCow : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: cCow(); CLASS_PROTODEF(cCow) @@ -21,13 +19,5 @@ public: virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual void OnRightClicked(cPlayer & a_Player) override; - virtual void GetFollowedItems(cItems & a_Items) override - { - a_Items.Add(E_ITEM_WHEAT); - } - -} ; - - - - + virtual void GetFollowedItems(cItems & a_Items) override { a_Items.Add(E_ITEM_WHEAT); } +}; diff --git a/src/Mobs/Creeper.cpp b/src/Mobs/Creeper.cpp index 0461bcc2a..7f8c6a3d7 100644 --- a/src/Mobs/Creeper.cpp +++ b/src/Mobs/Creeper.cpp @@ -76,20 +76,16 @@ void cCreeper::GetDrops(cItems & a_Drops, cEntity * a_Killer) AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_GUNPOWDER); // If the creeper was killed by a skeleton, add a random music disc drop: - if ( - (a_Killer != nullptr) && - a_Killer->IsProjectile() && + if ((a_Killer != nullptr) && a_Killer->IsProjectile() && ((static_cast(a_Killer))->GetCreatorUniqueID() != cEntity::INVALID_ID)) { auto ProjectileCreatorCallback = [](cEntity & a_Entity) - { - return ( - a_Entity.IsMob() && - ((static_cast(a_Entity)).GetMobType() == mtSkeleton) - ); - }; - - if (GetWorld()->DoWithEntityByID(static_cast(a_Killer)->GetCreatorUniqueID(), ProjectileCreatorCallback)) + { return (a_Entity.IsMob() && ((static_cast(a_Entity)).GetMobType() == mtSkeleton)); }; + + if (GetWorld()->DoWithEntityByID( + static_cast(a_Killer)->GetCreatorUniqueID(), + ProjectileCreatorCallback + )) { AddRandomDropItem(a_Drops, 1, 1, static_cast(m_World->GetTickRandomNumber(11) + E_ITEM_FIRST_DISC)); } @@ -126,7 +122,12 @@ bool cCreeper::Attack(std::chrono::milliseconds a_Dt) if (!m_bIsBlowing) { - m_World->BroadcastSoundEffect("entity.creeper.primed", GetPosition(), 1.f, (0.75f + (static_cast((GetUniqueID() * 23) % 32)) / 64)); + m_World->BroadcastSoundEffect( + "entity.creeper.primed", + GetPosition(), + 1.f, + (0.75f + (static_cast((GetUniqueID() * 23) % 32)) / 64) + ); m_bIsBlowing = true; m_World->BroadcastEntityMetadata(*this); @@ -149,7 +150,12 @@ void cCreeper::OnRightClicked(cPlayer & a_Player) { a_Player.UseEquippedItem(); } - m_World->BroadcastSoundEffect("entity.creeper.primed", GetPosition(), 1.f, (0.75f + (static_cast((GetUniqueID() * 23) % 32)) / 64)); + m_World->BroadcastSoundEffect( + "entity.creeper.primed", + GetPosition(), + 1.f, + (0.75f + (static_cast((GetUniqueID() * 23) % 32)) / 64) + ); m_bIsBlowing = true; m_World->BroadcastEntityMetadata(*this); m_BurnedWithFlintAndSteel = true; diff --git a/src/Mobs/Creeper.h b/src/Mobs/Creeper.h index 5a21cca2a..825f1e07b 100644 --- a/src/Mobs/Creeper.h +++ b/src/Mobs/Creeper.h @@ -7,13 +7,11 @@ -class cCreeper: - public cAggressiveMonster +class cCreeper : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cCreeper(); CLASS_PROTODEF(cCreeper) @@ -24,17 +22,11 @@ public: virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void OnRightClicked(cPlayer & a_Player) override; - bool IsBlowing(void) const {return m_bIsBlowing; } - bool IsCharged(void) const {return m_bIsCharged; } - bool IsBurnedWithFlintAndSteel(void) const {return m_BurnedWithFlintAndSteel; } - -private: + bool IsBlowing(void) const { return m_bIsBlowing; } + bool IsCharged(void) const { return m_bIsCharged; } + bool IsBurnedWithFlintAndSteel(void) const { return m_BurnedWithFlintAndSteel; } + private: bool m_bIsBlowing, m_bIsCharged, m_BurnedWithFlintAndSteel; int m_ExplodingTimer; - -} ; - - - - +}; diff --git a/src/Mobs/EnderDragon.cpp b/src/Mobs/EnderDragon.cpp index 30b3ed0fb..bfd2c9f16 100644 --- a/src/Mobs/EnderDragon.cpp +++ b/src/Mobs/EnderDragon.cpp @@ -10,7 +10,15 @@ cEnderDragon::cEnderDragon(void) : - Super("EnderDragon", mtEnderDragon, "entity.enderdragon.hurt", "entity.enderdragon.death", "entity.enderdragon.ambient", 16, 8) + Super( + "EnderDragon", + mtEnderDragon, + "entity.enderdragon.hurt", + "entity.enderdragon.death", + "entity.enderdragon.ambient", + 16, + 8 + ) { } @@ -47,5 +55,14 @@ void cEnderDragon::SpawnOn(cClientHandle & a_Client) Super::SpawnOn(a_Client); // Red boss bar with no divisions that plays boss music and creates fog: - a_Client.SendBossBarAdd(GetUniqueID(), cCompositeChat("Ender Dragon"), GetHealth() / GetMaxHealth(), BossBarColor::Red, BossBarDivisionType::None, false, true, true); + a_Client.SendBossBarAdd( + GetUniqueID(), + cCompositeChat("Ender Dragon"), + GetHealth() / GetMaxHealth(), + BossBarColor::Red, + BossBarDivisionType::None, + false, + true, + true + ); } diff --git a/src/Mobs/EnderDragon.h b/src/Mobs/EnderDragon.h index ffc39218c..1d90e0026 100644 --- a/src/Mobs/EnderDragon.h +++ b/src/Mobs/EnderDragon.h @@ -7,13 +7,11 @@ -class cEnderDragon: - public cAggressiveMonster +class cEnderDragon : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cEnderDragon(); CLASS_PROTODEF(cEnderDragon) @@ -21,4 +19,4 @@ public: virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual void SpawnOn(cClientHandle & a_Client) override; -} ; +}; diff --git a/src/Mobs/Enderman.cpp b/src/Mobs/Enderman.cpp index 3711d7f07..f601693ca 100644 --- a/src/Mobs/Enderman.cpp +++ b/src/Mobs/Enderman.cpp @@ -13,16 +13,13 @@ // cPlayerLookCheck class cPlayerLookCheck { -public: - + public: cPlayerLookCheck(Vector3d a_EndermanHeadPosition, int a_SightDistance) : - m_Player(nullptr), - m_EndermanHeadPosition(a_EndermanHeadPosition), - m_SightDistance(a_SightDistance) + m_Player(nullptr), m_EndermanHeadPosition(a_EndermanHeadPosition), m_SightDistance(a_SightDistance) { } - bool operator () (cPlayer & a_Player) + bool operator()(cPlayer & a_Player) { // Don't check players who cannot be targeted if (!a_Player.CanMobsTarget()) @@ -55,7 +52,12 @@ public: } // TODO: Check if endermen are angered through water in Vanilla - if (!cLineBlockTracer::LineOfSightTrace(*a_Player.GetWorld(), m_EndermanHeadPosition, PlayerHeadPosition, cLineBlockTracer::losAirWater)) + if (!cLineBlockTracer::LineOfSightTrace( + *a_Player.GetWorld(), + m_EndermanHeadPosition, + PlayerHeadPosition, + cLineBlockTracer::losAirWater + )) { // No direct line of sight return false; @@ -67,19 +69,26 @@ public: cPlayer * GetPlayer(void) const { return m_Player; } -protected: - + protected: cPlayer * m_Player; Vector3d m_EndermanHeadPosition; int m_SightDistance; -} ; +}; cEnderman::cEnderman(void) : - Super("Enderman", mtEnderman, "entity.endermen.hurt", "entity.endermen.death", "entity.endermen.ambient", 0.6f, 2.9f), + Super( + "Enderman", + mtEnderman, + "entity.endermen.hurt", + "entity.endermen.death", + "entity.endermen.ambient", + 0.6f, + 2.9f + ), m_bIsScreaming(false), m_CarriedBlock(E_BLOCK_AIR), m_CarriedMeta(0) diff --git a/src/Mobs/Enderman.h b/src/Mobs/Enderman.h index 1e2a6f52e..6bd0be193 100644 --- a/src/Mobs/Enderman.h +++ b/src/Mobs/Enderman.h @@ -7,13 +7,11 @@ -class cEnderman: - public cPassiveAggressiveMonster +class cEnderman : public cPassiveAggressiveMonster { using Super = cPassiveAggressiveMonster; -public: - + public: cEnderman(); CLASS_PROTODEF(cEnderman) @@ -23,14 +21,12 @@ public: virtual void EventLosePlayer(void) override; virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; - bool IsScreaming(void) const {return m_bIsScreaming; } - BLOCKTYPE GetCarriedBlock(void) const {return m_CarriedBlock; } - NIBBLETYPE GetCarriedMeta(void) const {return m_CarriedMeta; } - -private: + bool IsScreaming(void) const { return m_bIsScreaming; } + BLOCKTYPE GetCarriedBlock(void) const { return m_CarriedBlock; } + NIBBLETYPE GetCarriedMeta(void) const { return m_CarriedMeta; } + private: bool m_bIsScreaming; BLOCKTYPE m_CarriedBlock; NIBBLETYPE m_CarriedMeta; - -} ; +}; diff --git a/src/Mobs/Endermite.cpp b/src/Mobs/Endermite.cpp index 3a89de98a..c511551ee 100644 --- a/src/Mobs/Endermite.cpp +++ b/src/Mobs/Endermite.cpp @@ -13,7 +13,15 @@ cEndermite::cEndermite() : - Super("Endermite", mtEndermite, "entity.endermite.hurt", "entity.endermite.death", "entity.endermite.ambient", 0.4f, 0.3f), + Super( + "Endermite", + mtEndermite, + "entity.endermite.hurt", + "entity.endermite.death", + "entity.endermite.ambient", + 0.4f, + 0.3f + ), m_Timer(0), m_Lifetime(2 * 1000 * 60) // 2 minutes (2 * 1000 (mili to sec) * 60 (sec to min) * 2 because tick = 0.5 sec) { @@ -36,6 +44,5 @@ void cEndermite::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { Destroy(); } - } } diff --git a/src/Mobs/Endermite.h b/src/Mobs/Endermite.h index 9e0102a07..a9e277b7b 100644 --- a/src/Mobs/Endermite.h +++ b/src/Mobs/Endermite.h @@ -5,8 +5,7 @@ -class cEndermite: - public cAggressiveMonster +class cEndermite : public cAggressiveMonster { using Super = cAggressiveMonster; @@ -14,11 +13,10 @@ class cEndermite: std::chrono::milliseconds m_Timer; std::chrono::milliseconds m_Lifetime; -public: - + public: cEndermite(); CLASS_PROTODEF(cEndermite) void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; -} ; +}; diff --git a/src/Mobs/Ghast.h b/src/Mobs/Ghast.h index 755ec3b89..64184bac0 100644 --- a/src/Mobs/Ghast.h +++ b/src/Mobs/Ghast.h @@ -7,21 +7,18 @@ -class cGhast: - public cAggressiveMonster +class cGhast : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cGhast(); CLASS_PROTODEF(cGhast) bool IsCharging(void) const { return m_IsCharging; } -private: - + private: virtual bool Attack(std::chrono::milliseconds a_Dt) override; virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; @@ -37,4 +34,4 @@ private: /** Number of ticks until a projectile is created. Only used while m_IsCharging is true. */ int m_TicksUntilShot; -} ; +}; diff --git a/src/Mobs/Giant.cpp b/src/Mobs/Giant.cpp index ad5e0da54..4237ffe3e 100644 --- a/src/Mobs/Giant.cpp +++ b/src/Mobs/Giant.cpp @@ -10,7 +10,6 @@ cGiant::cGiant(void) : Super("Giant", mtGiant, "entity.zombie.hurt", "entity.zombie.death", "entity.zombie.ambient", 3.6f, 12) { - } @@ -21,7 +20,3 @@ void cGiant::GetDrops(cItems & a_Drops, cEntity * a_Killer) { AddRandomDropItem(a_Drops, 10, 50, E_ITEM_ROTTEN_FLESH); } - - - - diff --git a/src/Mobs/Giant.h b/src/Mobs/Giant.h index 46298717c..18d77fd2c 100644 --- a/src/Mobs/Giant.h +++ b/src/Mobs/Giant.h @@ -7,20 +7,14 @@ -class cGiant: - public cAggressiveMonster +class cGiant : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cGiant(void); CLASS_PROTODEF(cGiant) virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; -} ; - - - - +}; diff --git a/src/Mobs/Guardian.cpp b/src/Mobs/Guardian.cpp index f9c80d1e5..2fe4e3dec 100644 --- a/src/Mobs/Guardian.cpp +++ b/src/Mobs/Guardian.cpp @@ -9,7 +9,15 @@ cGuardian::cGuardian(void) : - Super("Guardian", mtGuardian, "entity.guardian.hurt", "entity.guardian.death", "entity.guardian.ambient", 0.85f, 0.85f) + Super( + "Guardian", + mtGuardian, + "entity.guardian.hurt", + "entity.guardian.death", + "entity.guardian.ambient", + 0.85f, + 0.85f + ) { } @@ -27,7 +35,12 @@ void cGuardian::GetDrops(cItems & a_Drops, cEntity * a_Killer) } AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_PRISMARINE_SHARD); AddRandomDropItem(a_Drops, 0, 1 + LootingLevel, E_ITEM_RAW_FISH); - AddRandomDropItem(a_Drops, 0, 1 + LootingLevel, E_ITEM_PRISMARINE_CRYSTALS); // TODO: Prismarine Crystals only drop if the raw fish drop is 0 + AddRandomDropItem( + a_Drops, + 0, + 1 + LootingLevel, + E_ITEM_PRISMARINE_CRYSTALS + ); // TODO: Prismarine Crystals only drop if the raw fish drop is 0 } @@ -50,7 +63,3 @@ void cGuardian::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) Super::Tick(a_Dt, a_Chunk); } - - - - diff --git a/src/Mobs/Guardian.h b/src/Mobs/Guardian.h index 5867c1f42..0fd52c582 100644 --- a/src/Mobs/Guardian.h +++ b/src/Mobs/Guardian.h @@ -7,13 +7,11 @@ -class cGuardian: - public cAggressiveMonster +class cGuardian : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cGuardian(); virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; @@ -25,8 +23,4 @@ public: // Guardians do not drown (or float) virtual void HandleAir(void) override {} virtual void SetSwimState(cChunk & a_Chunk) override {} -} ; - - - - +}; diff --git a/src/Mobs/Horse.cpp b/src/Mobs/Horse.cpp index 9f0507b09..22a14b175 100644 --- a/src/Mobs/Horse.cpp +++ b/src/Mobs/Horse.cpp @@ -67,10 +67,26 @@ void cHorse::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (Random.RandBool(0.02)) { - m_World->BroadcastSoundParticleEffect(EffectID::PARTICLE_SMOKE, GetPosition().Floor(), int(SmokeDirection::SOUTH_EAST)); - m_World->BroadcastSoundParticleEffect(EffectID::PARTICLE_SMOKE, GetPosition().Floor(), int(SmokeDirection::SOUTH_WEST)); - m_World->BroadcastSoundParticleEffect(EffectID::PARTICLE_SMOKE, GetPosition().Floor(), int(SmokeDirection::NORTH_EAST)); - m_World->BroadcastSoundParticleEffect(EffectID::PARTICLE_SMOKE, GetPosition().Floor(), int(SmokeDirection::NORTH_WEST)); + m_World->BroadcastSoundParticleEffect( + EffectID::PARTICLE_SMOKE, + GetPosition().Floor(), + int(SmokeDirection::SOUTH_EAST) + ); + m_World->BroadcastSoundParticleEffect( + EffectID::PARTICLE_SMOKE, + GetPosition().Floor(), + int(SmokeDirection::SOUTH_WEST) + ); + m_World->BroadcastSoundParticleEffect( + EffectID::PARTICLE_SMOKE, + GetPosition().Floor(), + int(SmokeDirection::NORTH_EAST) + ); + m_World->BroadcastSoundParticleEffect( + EffectID::PARTICLE_SMOKE, + GetPosition().Floor(), + int(SmokeDirection::NORTH_WEST) + ); m_World->BroadcastSoundEffect("entity.horse.angry", GetPosition(), 1.0f, 1.0f); m_Attachee->Detach(); @@ -80,7 +96,7 @@ void cHorse::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } else { - m_World->BroadcastParticleEffect("heart", static_cast(GetPosition()), Vector3f{}, 0, 5); + m_World->BroadcastParticleEffect("heart", static_cast(GetPosition()), Vector3f {}, 0, 5); MetadataDirty = true; m_bIsTame = true; } @@ -139,13 +155,7 @@ void cHorse::OnRightClicked(cPlayer & a_Player) auto EquipedItemType = a_Player.GetEquippedItem().m_ItemType; - if ( - !IsSaddled() && - ( - (EquipedItemType == E_ITEM_SADDLE) || - ItemCategory::IsHorseArmor(EquipedItemType) - ) - ) + if (!IsSaddled() && ((EquipedItemType == E_ITEM_SADDLE) || ItemCategory::IsHorseArmor(EquipedItemType))) { // Player is holding a horse inventory item, open the window: PlayerOpenWindow(a_Player); diff --git a/src/Mobs/Horse.h b/src/Mobs/Horse.h index 4f35071c0..ae552f0d6 100644 --- a/src/Mobs/Horse.h +++ b/src/Mobs/Horse.h @@ -8,14 +8,12 @@ -class cHorse: - public cPassiveMonster, - public cEntityWindowOwner +class cHorse : public cPassiveMonster, + public cEntityWindowOwner { using Super = cPassiveMonster; -public: - + public: cHorse(int Type, int Color, int Style, int TameTimes); CLASS_PROTODEF(cHorse) @@ -27,16 +25,16 @@ public: virtual void OnRemoveFromWorld(cWorld & a_World) override; virtual void OnRightClicked(cPlayer & a_Player) override; - bool IsSaddled (void) const {return !m_Saddle.IsEmpty(); } - bool IsChested (void) const {return m_bHasChest; } - bool IsEating (void) const {return m_bIsEating; } - bool IsRearing (void) const {return m_bIsRearing; } - bool IsMthOpen (void) const {return m_bIsMouthOpen; } - bool IsTame (void) const override {return m_bIsTame; } - int GetHorseType (void) const {return m_Type; } - int GetHorseColor (void) const {return m_Color; } - int GetHorseStyle (void) const {return m_Style; } - int GetHorseArmour (void) const; + bool IsSaddled(void) const { return !m_Saddle.IsEmpty(); } + bool IsChested(void) const { return m_bHasChest; } + bool IsEating(void) const { return m_bIsEating; } + bool IsRearing(void) const { return m_bIsRearing; } + bool IsMthOpen(void) const { return m_bIsMouthOpen; } + bool IsTame(void) const override { return m_bIsTame; } + int GetHorseType(void) const { return m_Type; } + int GetHorseColor(void) const { return m_Color; } + int GetHorseStyle(void) const { return m_Style; } + int GetHorseArmour(void) const; /** Set the horse's saddle to the given item. @param a_SaddleItem should be either a saddle or empty. */ @@ -46,8 +44,8 @@ public: @param a_SaddleItem should be either a type of horse armor or empty. */ void SetHorseArmor(cItem a_ArmorItem); - const cItem & GetHorseSaddle() const { return m_Saddle; } - const cItem & GetHorseArmorItem() const { return m_Armor; } + const cItem & GetHorseSaddle() const { return m_Saddle; } + const cItem & GetHorseArmorItem() const { return m_Armor; } virtual void GetBreedingItems(cItems & a_Items) override { @@ -57,12 +55,10 @@ public: void PlayerOpenWindow(cPlayer & a_Player); -private: - + private: bool m_bHasChest, m_bIsEating, m_bIsRearing, m_bIsMouthOpen, m_bIsTame; int m_Type, m_Color, m_Style, m_TimesToTame, m_TameAttemptTimes, m_RearTickCount; float m_MaxSpeed; cItem m_Saddle; cItem m_Armor; - -} ; +}; diff --git a/src/Mobs/IronGolem.cpp b/src/Mobs/IronGolem.cpp index 0ad25f822..0797cdaed 100644 --- a/src/Mobs/IronGolem.cpp +++ b/src/Mobs/IronGolem.cpp @@ -8,7 +8,15 @@ cIronGolem::cIronGolem(void) : - Super("IronGolem", mtIronGolem, "entity.irongolem.hurt", "entity.irongolem.death", "entity.irongolem.ambient", 1.4f, 2.7f) + Super( + "IronGolem", + mtIronGolem, + "entity.irongolem.hurt", + "entity.irongolem.death", + "entity.irongolem.ambient", + 1.4f, + 2.7f + ) { } @@ -22,7 +30,3 @@ void cIronGolem::GetDrops(cItems & a_Drops, cEntity * a_Killer) AddRandomDropItem(a_Drops, 0, 5, E_ITEM_IRON); AddRandomDropItem(a_Drops, 0, 2, E_BLOCK_FLOWER); } - - - - diff --git a/src/Mobs/IronGolem.h b/src/Mobs/IronGolem.h index 92b0e42fd..17b6f66d5 100644 --- a/src/Mobs/IronGolem.h +++ b/src/Mobs/IronGolem.h @@ -7,13 +7,11 @@ -class cIronGolem: - public cPassiveAggressiveMonster +class cIronGolem : public cPassiveAggressiveMonster { using Super = cPassiveAggressiveMonster; -public: - + public: cIronGolem(); CLASS_PROTODEF(cIronGolem) @@ -23,8 +21,4 @@ public: // Iron golems do not drown nor float virtual void HandleAir(void) override {} virtual void SetSwimState(cChunk & a_Chunk) override {} -} ; - - - - +}; diff --git a/src/Mobs/MagmaCube.cpp b/src/Mobs/MagmaCube.cpp index 28bc63ef9..339fc8136 100644 --- a/src/Mobs/MagmaCube.cpp +++ b/src/Mobs/MagmaCube.cpp @@ -10,7 +10,7 @@ cMagmaCube::cMagmaCube(int a_Size) : Super( "MagmaCube", mtMagmaCube, - fmt::format(FMT_STRING("entity.{}magmacube.hurt"), GetSizeName(a_Size)), + fmt::format(FMT_STRING("entity.{}magmacube.hurt"), GetSizeName(a_Size)), fmt::format(FMT_STRING("entity.{}magmacube.death"), GetSizeName(a_Size)), "", 0.51f * a_Size, diff --git a/src/Mobs/MagmaCube.h b/src/Mobs/MagmaCube.h index 07794cc5a..bf1be2e19 100644 --- a/src/Mobs/MagmaCube.h +++ b/src/Mobs/MagmaCube.h @@ -6,13 +6,11 @@ -class cMagmaCube: - public cAggressiveMonster +class cMagmaCube : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: /** Creates a MagmaCube of the specified size; with 1 being the smallest */ cMagmaCube(int a_Size); @@ -24,11 +22,10 @@ public: Returns either "big" or "small". */ static AString GetSizeName(int a_Size); -private: - + private: virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual bool IsNetherNative(void) override { return true; } /** Size of the MagmaCube, with 1 being the smallest */ int m_Size; -} ; +}; diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp index 788d1b66f..cbdb062f4 100644 --- a/src/Mobs/Monster.cpp +++ b/src/Mobs/Monster.cpp @@ -36,43 +36,42 @@ static const struct const char * m_lcName; const char * m_VanillaName; const char * m_VanillaNameNBT; -} g_MobTypeNames[] = -{ - {mtBat, "bat", "Bat", "bat"}, - {mtBlaze, "blaze", "Blaze", "blaze"}, - {mtCaveSpider, "cavespider", "CaveSpider", "cave_spider"}, - {mtChicken, "chicken", "Chicken", "chicken"}, - {mtCow, "cow", "Cow", "cow"}, - {mtCreeper, "creeper", "Creeper", "creeper"}, - {mtEnderman, "enderman", "Enderman", "enderman"}, - {mtEndermite, "endermite", "Endermite", "endermite"}, - {mtEnderDragon, "enderdragon", "EnderDragon", "ender_dragon"}, - {mtGhast, "ghast", "Ghast", "ghast"}, - {mtGiant, "giant", "Giant", "giant"}, - {mtGuardian, "guardian", "Guardian", "guardian"}, - {mtHorse, "horse", "EntityHorse", "horse"}, - {mtIronGolem, "irongolem", "VillagerGolem", "iron_golem"}, - {mtMagmaCube, "magmacube", "LavaSlime", "magma_cube"}, - {mtMooshroom, "mooshroom", "MushroomCow", "mooshroom"}, - {mtOcelot, "ocelot", "Ozelot", "ocelot"}, - {mtPig, "pig", "Pig", "pig"}, - {mtRabbit, "rabbit", "Rabbit", "rabbit"}, - {mtSheep, "sheep", "Sheep", "sheep"}, - {mtSilverfish, "silverfish", "Silverfish", "silverfish"}, - {mtSkeleton, "skeleton", "Skeleton", "skeleton"}, - {mtSlime, "slime", "Slime", "slime"}, - {mtSnowGolem, "snowgolem", "SnowMan", "snow_golem"}, - {mtSpider, "spider", "Spider", "spider"}, - {mtSquid, "squid", "Squid", "squid"}, - {mtVillager, "villager", "Villager", "villager"}, - {mtWitch, "witch", "Witch", "witch"}, - {mtWither, "wither", "WitherBoss", "wither"}, +} g_MobTypeNames[] = { + {mtBat, "bat", "Bat", "bat"}, + {mtBlaze, "blaze", "Blaze", "blaze"}, + {mtCaveSpider, "cavespider", "CaveSpider", "cave_spider"}, + {mtChicken, "chicken", "Chicken", "chicken"}, + {mtCow, "cow", "Cow", "cow"}, + {mtCreeper, "creeper", "Creeper", "creeper"}, + {mtEnderman, "enderman", "Enderman", "enderman"}, + {mtEndermite, "endermite", "Endermite", "endermite"}, + {mtEnderDragon, "enderdragon", "EnderDragon", "ender_dragon"}, + {mtGhast, "ghast", "Ghast", "ghast"}, + {mtGiant, "giant", "Giant", "giant"}, + {mtGuardian, "guardian", "Guardian", "guardian"}, + {mtHorse, "horse", "EntityHorse", "horse"}, + {mtIronGolem, "irongolem", "VillagerGolem", "iron_golem"}, + {mtMagmaCube, "magmacube", "LavaSlime", "magma_cube"}, + {mtMooshroom, "mooshroom", "MushroomCow", "mooshroom"}, + {mtOcelot, "ocelot", "Ozelot", "ocelot"}, + {mtPig, "pig", "Pig", "pig"}, + {mtRabbit, "rabbit", "Rabbit", "rabbit"}, + {mtSheep, "sheep", "Sheep", "sheep"}, + {mtSilverfish, "silverfish", "Silverfish", "silverfish"}, + {mtSkeleton, "skeleton", "Skeleton", "skeleton"}, + {mtSlime, "slime", "Slime", "slime"}, + {mtSnowGolem, "snowgolem", "SnowMan", "snow_golem"}, + {mtSpider, "spider", "Spider", "spider"}, + {mtSquid, "squid", "Squid", "squid"}, + {mtVillager, "villager", "Villager", "villager"}, + {mtWitch, "witch", "Witch", "witch"}, + {mtWither, "wither", "WitherBoss", "wither"}, {mtWitherSkeleton, "witherskeleton", "WitherSkeleton", "wither_skeleton"}, - {mtWolf, "wolf", "Wolf", "wolf"}, - {mtZombie, "zombie", "Zombie", "zombie"}, - {mtZombiePigman, "zombiepigman", "PigZombie", "zombie_pigman"}, + {mtWolf, "wolf", "Wolf", "wolf"}, + {mtZombie, "zombie", "Zombie", "zombie"}, + {mtZombiePigman, "zombiepigman", "PigZombie", "zombie_pigman"}, {mtZombieVillager, "zombievillager", "ZombieVillager", "zombie_villager"}, -} ; +}; @@ -81,47 +80,56 @@ static const struct //////////////////////////////////////////////////////////////////////////////// // cMonster: -cMonster::cMonster(const AString & a_ConfigName, eMonsterType a_MobType, const AString & a_SoundHurt, const AString & a_SoundDeath, const AString & a_SoundAmbient, float a_Width, float a_Height) - : Super(etMonster, a_Width, a_Height) - , m_EMState(IDLE) - , m_EMPersonality(AGGRESSIVE) - , m_PathFinder(a_Width, a_Height) - , m_PathfinderActivated(false) - , m_JumpCoolDown(0) - , m_IdleInterval(0) - , m_DestroyTimer(0) - , m_MobType(a_MobType) - , m_CustomName() - , m_CustomNameAlwaysVisible(false) - , m_SoundHurt(a_SoundHurt) - , m_SoundDeath(a_SoundDeath) - , m_SoundAmbient(a_SoundAmbient) - , m_AttackRate(3) - , m_AttackDamage(1) - , m_AttackRange(1) - , m_AttackCoolDownTicksLeft(0) - , m_SightDistance(25) - , m_DropChanceWeapon(0.085f) - , m_DropChanceHelmet(0.085f) - , m_DropChanceChestplate(0.085f) - , m_DropChanceLeggings(0.085f) - , m_DropChanceBoots(0.085f) - , m_CanPickUpLoot(true) - , m_TicksSinceLastDamaged(100) - , m_BurnsInDaylight(false) - , m_RelativeWalkSpeed(1) - , m_Age(1) - , m_AgingTimer(TPS * 60 * 20) // about 20 minutes - , m_WasLastTargetAPlayer(false) - , m_LeashedTo(nullptr) - , m_LeashToPos(nullptr) - , m_IsLeashActionJustDone(false) - , m_CanBeLeashed(GetMobFamily() == eFamily::mfPassive) - , m_LovePartner(nullptr) - , m_LoveTimer(0) - , m_LoveCooldown(0) - , m_MatingTimer(0) - , m_Target(nullptr) +cMonster::cMonster( + const AString & a_ConfigName, + eMonsterType a_MobType, + const AString & a_SoundHurt, + const AString & a_SoundDeath, + const AString & a_SoundAmbient, + float a_Width, + float a_Height +) : + Super(etMonster, a_Width, a_Height), + m_EMState(IDLE), + m_EMPersonality(AGGRESSIVE), + m_PathFinder(a_Width, a_Height), + m_PathfinderActivated(false), + m_JumpCoolDown(0), + m_IdleInterval(0), + m_DestroyTimer(0), + m_MobType(a_MobType), + m_CustomName(), + m_CustomNameAlwaysVisible(false), + m_SoundHurt(a_SoundHurt), + m_SoundDeath(a_SoundDeath), + m_SoundAmbient(a_SoundAmbient), + m_AttackRate(3), + m_AttackDamage(1), + m_AttackRange(1), + m_AttackCoolDownTicksLeft(0), + m_SightDistance(25), + m_DropChanceWeapon(0.085f), + m_DropChanceHelmet(0.085f), + m_DropChanceChestplate(0.085f), + m_DropChanceLeggings(0.085f), + m_DropChanceBoots(0.085f), + m_CanPickUpLoot(true), + m_TicksSinceLastDamaged(100), + m_BurnsInDaylight(false), + m_RelativeWalkSpeed(1), + m_Age(1), + m_AgingTimer(TPS * 60 * 20) // about 20 minutes + , + m_WasLastTargetAPlayer(false), + m_LeashedTo(nullptr), + m_LeashToPos(nullptr), + m_IsLeashActionJustDone(false), + m_CanBeLeashed(GetMobFamily() == eFamily::mfPassive), + m_LovePartner(nullptr), + m_LoveTimer(0), + m_LoveCooldown(0), + m_MatingTimer(0), + m_Target(nullptr) { if (!a_ConfigName.empty()) { @@ -189,17 +197,18 @@ void cMonster::MoveToWayPoint(cChunk & a_Chunk) { if (DoesPosYRequireJump(FloorC(m_NextWayPointPosition.y))) { - if ( - (IsOnGround() && (GetSpeed().SqrLength() <= 0.5)) || // If walking on the ground, we need to slow down first, otherwise we miss the jump - IsInWater() - ) + if ((IsOnGround() && (GetSpeed().SqrLength() <= 0.5) + ) || // If walking on the ground, we need to slow down first, otherwise we miss the jump + IsInWater()) { m_bOnGround = false; m_JumpCoolDown = 20; AddPosY(1.6); // Jump!! SetSpeedY(1); SetSpeedX(3.2 * (m_NextWayPointPosition.x - GetPosition().x)); // Move forward in a preset speed. - SetSpeedZ(3.2 * (m_NextWayPointPosition.z - GetPosition().z)); // The numbers were picked based on trial and error + SetSpeedZ( + 3.2 * (m_NextWayPointPosition.z - GetPosition().z) + ); // The numbers were picked based on trial and error } } } @@ -297,7 +306,9 @@ void cMonster::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) HandleDaylightBurning(*Chunk, WouldBurnAt(GetPosition(), *Chunk)); bool a_IsFollowingPath = false; - if (m_PathfinderActivated && (GetMobType() != mtGhast)) // Pathfinder is currently disabled for ghasts, which have their own flying mechanism + if (m_PathfinderActivated && + (GetMobType() != mtGhast + )) // Pathfinder is currently disabled for ghasts, which have their own flying mechanism { if (ReachedFinalDestination() || (m_LeashToPos != nullptr)) { @@ -306,21 +317,26 @@ void cMonster::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) else { // Note that m_NextWayPointPosition is actually returned by GetNextWayPoint) - switch (m_PathFinder.GetNextWayPoint(*Chunk, GetPosition(), &m_FinalDestination, &m_NextWayPointPosition, m_EMState == IDLE)) + switch (m_PathFinder.GetNextWayPoint( + *Chunk, + GetPosition(), + &m_FinalDestination, + &m_NextWayPointPosition, + m_EMState == IDLE + )) { case ePathFinderStatus::PATH_FOUND: { - /* If I burn in daylight, and I won't burn where I'm standing, and I'll burn in my next position, and at least one of those is true: + /* If I burn in daylight, and I won't burn where I'm standing, and I'll burn in my next position, + and at least one of those is true: 1. I am idle 2. I was not hurt by a player recently. Then STOP. */ - if ( - m_BurnsInDaylight && ((m_TicksSinceLastDamaged >= 100) || (m_EMState == IDLE)) && - WouldBurnAt(m_NextWayPointPosition, *Chunk) && - !WouldBurnAt(GetPosition(), *Chunk) - ) + if (m_BurnsInDaylight && ((m_TicksSinceLastDamaged >= 100) || (m_EMState == IDLE)) && + WouldBurnAt(m_NextWayPointPosition, *Chunk) && !WouldBurnAt(GetPosition(), *Chunk)) { - // If we burn in daylight, and we would burn at the next step, and we won't burn where we are right now, and we weren't provoked recently: + // If we burn in daylight, and we would burn at the next step, and we won't burn where we are + // right now, and we weren't provoked recently: StopMovingToPosition(); } else @@ -337,7 +353,6 @@ void cMonster::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) } default: { - } } } @@ -402,11 +417,15 @@ void cMonster::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) void cMonster::CalcLeashActions(std::chrono::milliseconds a_Dt) { - // This mob just spotted in the world and [m_LeashToPos not null] shows that should be leashed to a leash knot at m_LeashToPos. - // This keeps trying until knot is found. Leash knot may be in a different chunk that needn't or can't be loaded yet. + // This mob just spotted in the world and [m_LeashToPos not null] shows that should be leashed to a leash knot at + // m_LeashToPos. This keeps trying until knot is found. Leash knot may be in a different chunk that needn't or can't + // be loaded yet. if (!IsLeashed() && (m_LeashToPos != nullptr)) { - auto LeashKnot = cLeashKnot::FindKnotAtPos(*m_World, { FloorC(m_LeashToPos->x), FloorC(m_LeashToPos->y), FloorC(m_LeashToPos->z) }); + auto LeashKnot = cLeashKnot::FindKnotAtPos( + *m_World, + {FloorC(m_LeashToPos->x), FloorC(m_LeashToPos->y), FloorC(m_LeashToPos->z)} + ); if (LeashKnot != nullptr) { LeashTo(*LeashKnot); @@ -419,9 +438,9 @@ void cMonster::CalcLeashActions(std::chrono::milliseconds a_Dt) return; } - static const double CloseFollowDistance = 1.8; // The closest the mob will path towards the leashed to entity - static const double LeashNaturalLength = 5.0; // The closest the mob is actively pulled towards the entity - static const double LeashMaximumLength = 10.0; // Length where the leash breaks + static const double CloseFollowDistance = 1.8; // The closest the mob will path towards the leashed to entity + static const double LeashNaturalLength = 5.0; // The closest the mob is actively pulled towards the entity + static const double LeashMaximumLength = 10.0; // Length where the leash breaks static const double LeashSpringConstant = 20.0; // How stiff the leash is const auto LeashedToPos = m_LeashedTo->GetPosition(); @@ -460,7 +479,7 @@ void cMonster::CalcLeashActions(std::chrono::milliseconds a_Dt) { const Vector3d TargetBlock((LeashedToPos - Direction * CloseFollowDistance).Floor()); // Move to centre of target block face - MoveToPosition(TargetBlock + Vector3d{ 0.5, 0.0, 0.5 }); + MoveToPosition(TargetBlock + Vector3d {0.5, 0.0, 0.5}); } } @@ -583,12 +602,9 @@ bool cMonster::DoTakeDamage(TakeDamageInfo & a_TDI) if ((a_TDI.Attacker != nullptr) && a_TDI.Attacker->IsPawn()) { - if ( - (!a_TDI.Attacker->IsPlayer()) || - (static_cast(a_TDI.Attacker)->CanMobsTarget()) - ) + if ((!a_TDI.Attacker->IsPlayer()) || (static_cast(a_TDI.Attacker)->CanMobsTarget())) { - SetTarget(static_cast(a_TDI.Attacker)); + SetTarget(static_cast(a_TDI.Attacker)); } m_TicksSinceLastDamaged = 0; } @@ -716,7 +732,8 @@ void cMonster::OnRightClicked(cPlayer & a_Player) } else if (IsLeashed()) { - // Mob is already leashed but client anticipates the server action and draws a leash link, so we need to send current leash to cancel it + // Mob is already leashed but client anticipates the server action and draws a leash link, so we need to send + // current leash to cancel it m_World->BroadcastLeashEntity(*this, *this->GetLeashedTo()); } else if (CanBeLeashed() && (EquippedItem.m_ItemType == E_ITEM_LEASH)) @@ -747,28 +764,33 @@ void cMonster::CheckEventSeePlayer(cChunk & a_Chunk) const auto MyHeadPosition = GetPosition().addedY(GetHeight()); // Enumerate all players within sight: - m_World->ForEachPlayer([this, &TargetPlayer, &ClosestDistance, MyHeadPosition](cPlayer & a_Player) - { - if (!a_Player.CanMobsTarget()) + m_World->ForEachPlayer( + [this, &TargetPlayer, &ClosestDistance, MyHeadPosition](cPlayer & a_Player) { - return false; - } + if (!a_Player.CanMobsTarget()) + { + return false; + } - const auto TargetHeadPosition = a_Player.GetPosition().addedY(a_Player.GetHeight()); - const auto TargetDistance = (TargetHeadPosition - MyHeadPosition).SqrLength(); + const auto TargetHeadPosition = a_Player.GetPosition().addedY(a_Player.GetHeight()); + const auto TargetDistance = (TargetHeadPosition - MyHeadPosition).SqrLength(); + + // TODO: Currently all mobs see through lava, but only Nether-native mobs should be able to. + if ((TargetDistance < ClosestDistance) && + cLineBlockTracer::LineOfSightTrace( + *GetWorld(), + MyHeadPosition, + TargetHeadPosition, + cLineBlockTracer::losAirWaterLava + )) + { + TargetPlayer = &a_Player; + ClosestDistance = TargetDistance; + } - // TODO: Currently all mobs see through lava, but only Nether-native mobs should be able to. - if ( - (TargetDistance < ClosestDistance) && - cLineBlockTracer::LineOfSightTrace(*GetWorld(), MyHeadPosition, TargetHeadPosition, cLineBlockTracer::losAirWaterLava) - ) - { - TargetPlayer = &a_Player; - ClosestDistance = TargetDistance; + return false; } - - return false; - }); + ); // Target him if suitable player found: if (TargetPlayer != nullptr) @@ -798,7 +820,7 @@ void cMonster::CheckEventLostPlayer(const std::chrono::milliseconds a_Dt) } // Check if the target is too far away: - if (!Target->GetBoundingBox().DoesIntersect({ GetPosition(), m_SightDistance * 2.0 })) + if (!Target->GetBoundingBox().DoesIntersect({GetPosition(), m_SightDistance * 2.0})) { EventLosePlayer(); return; @@ -806,7 +828,12 @@ void cMonster::CheckEventLostPlayer(const std::chrono::milliseconds a_Dt) const auto MyHeadPosition = GetPosition().addedY(GetHeight()); const auto TargetHeadPosition = Target->GetPosition().addedY(Target->GetHeight()); - if (!cLineBlockTracer::LineOfSightTrace(*GetWorld(), MyHeadPosition, TargetHeadPosition, cLineBlockTracer::losAirWaterLava)) + if (!cLineBlockTracer::LineOfSightTrace( + *GetWorld(), + MyHeadPosition, + TargetHeadPosition, + cLineBlockTracer::losAirWaterLava + )) { if ((m_LoseSightAbandonTargetTimer += a_Dt) > std::chrono::seconds(4)) { @@ -815,7 +842,8 @@ void cMonster::CheckEventLostPlayer(const std::chrono::milliseconds a_Dt) } else { - // Subtract the amount of time we "handled" instead of setting to zero, so we don't ignore a large a_Dt of say, 8s: + // Subtract the amount of time we "handled" instead of setting to zero, so we don't ignore a large a_Dt of say, + // 8s: m_LoseSightAbandonTargetTimer -= std::min(std::chrono::milliseconds(4000), m_LoseSightAbandonTargetTimer); } } @@ -869,7 +897,7 @@ void cMonster::InStateIdle(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) Dist.x = static_cast(Random.RandInt(-5, 5)); Dist.z = static_cast(Random.RandInt(-5, 5)); - if ((Dist.SqrLength() > 2) && (rem >= 3)) + if ((Dist.SqrLength() > 2) && (rem >= 3)) { Vector3d Destination(GetPosX() + Dist.x, GetPosition().y, GetPosZ() + Dist.z); @@ -920,8 +948,10 @@ void cMonster::InStateEscaping(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) if (GetTarget() != nullptr) { Vector3d newloc = GetPosition(); - newloc.x = (GetTarget()->GetPosition().x < newloc.x)? (newloc.x + m_SightDistance): (newloc.x - m_SightDistance); - newloc.z = (GetTarget()->GetPosition().z < newloc.z)? (newloc.z + m_SightDistance): (newloc.z - m_SightDistance); + newloc.x = + (GetTarget()->GetPosition().x < newloc.x) ? (newloc.x + m_SightDistance) : (newloc.x - m_SightDistance); + newloc.z = + (GetTarget()->GetPosition().z < newloc.z) ? (newloc.z + m_SightDistance) : (newloc.z - m_SightDistance); MoveToPosition(newloc); } else @@ -936,7 +966,8 @@ void cMonster::InStateEscaping(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) void cMonster::ResetAttackCooldown() { - m_AttackCoolDownTicksLeft = static_cast(TPS * m_AttackRate); // A second has 20 ticks, an attack rate of 1 means 1 hit every second + m_AttackCoolDownTicksLeft = + static_cast(TPS * m_AttackRate); // A second has 20 ticks, an attack rate of 1 means 1 hit every second } @@ -1105,26 +1136,28 @@ cMonster::eFamily cMonster::FamilyFromType(eMonsterType a_Type) switch (a_Type) { - case mtBat: return mfAmbient; - case mtBlaze: return mfHostile; - case mtCat: return mfPassive; - case mtCaveSpider: return mfHostile; - case mtChicken: return mfPassive; - case mtCod: return mfWater; - case mtCow: return mfPassive; - case mtCreeper: return mfHostile; - case mtDolphin: return mfWater; - case mtDonkey: return mfPassive; - case mtDrowned: return mfHostile; - case mtElderGuardian: return mfHostile; - case mtEnderDragon: return mfNoSpawn; - case mtEnderman: return mfHostile; - case mtEndermite: return mfHostile; - case mtEvoker: return mfHostile; - case mtFox: return mfPassive; - case mtGhast: return mfHostile; - case mtGiant: return mfNoSpawn; - case mtGuardian: return mfWater; // Just because they have special spawning conditions. TODO: If Watertemples have been added, this needs to be edited! + case mtBat: return mfAmbient; + case mtBlaze: return mfHostile; + case mtCat: return mfPassive; + case mtCaveSpider: return mfHostile; + case mtChicken: return mfPassive; + case mtCod: return mfWater; + case mtCow: return mfPassive; + case mtCreeper: return mfHostile; + case mtDolphin: return mfWater; + case mtDonkey: return mfPassive; + case mtDrowned: return mfHostile; + case mtElderGuardian: return mfHostile; + case mtEnderDragon: return mfNoSpawn; + case mtEnderman: return mfHostile; + case mtEndermite: return mfHostile; + case mtEvoker: return mfHostile; + case mtFox: return mfPassive; + case mtGhast: return mfHostile; + case mtGiant: return mfNoSpawn; + case mtGuardian: + return mfWater; // Just because they have special spawning conditions. TODO: If Watertemples have been + // added, this needs to be edited! case mtHoglin: return mfHostile; case mtHorse: return mfPassive; case mtHusk: return mfHostile; @@ -1187,11 +1220,11 @@ cTickTime cMonster::GetSpawnDelay(cMonster::eFamily a_MobFamily) { switch (a_MobFamily) { - case mfHostile: return 40_tick; - case mfPassive: return 40_tick; - case mfAmbient: return 40_tick; - case mfWater: return 400_tick; - case mfNoSpawn: return -1_tick; + case mfHostile: return 40_tick; + case mfPassive: return 40_tick; + case mfAmbient: return 40_tick; + case mfWater: return 400_tick; + case mfNoSpawn: return -1_tick; } UNREACHABLE("Unhandled mob family"); } @@ -1201,7 +1234,7 @@ cTickTime cMonster::GetSpawnDelay(cMonster::eFamily a_MobFamily) /** Sets the target. */ -void cMonster::SetTarget (cPawn * a_NewTarget) +void cMonster::SetTarget(cPawn * a_NewTarget) { ASSERT((a_NewTarget == nullptr) || (IsTicking())); if (m_Target == a_NewTarget) @@ -1224,7 +1257,6 @@ void cMonster::SetTarget (cPawn * a_NewTarget) m_Target->TargetingMe(this); m_WasLastTargetAPlayer = m_Target->IsPlayer(); } - } @@ -1326,7 +1358,7 @@ std::unique_ptr cMonster::NewMonsterFromType(eMonsterType a_MobType) -void cMonster::EngageLoveMode(cMonster *a_Partner) +void cMonster::EngageLoveMode(cMonster * a_Partner) { m_LovePartner = a_Partner; m_MatingTimer = 50; // about 3 seconds of mating @@ -1343,7 +1375,8 @@ void cMonster::ResetLoveMode() m_MatingTimer = 0; m_LoveCooldown = TPS * 60 * 5; // 5 minutes - // when an animal is in love mode, the client only stops sending the hearts if we let them know it's in cooldown, which is done with the "age" metadata + // when an animal is in love mode, the client only stops sending the hearts if we let them know it's in cooldown, + // which is done with the "age" metadata m_World->BroadcastEntityMetadata(*this); } @@ -1371,11 +1404,14 @@ void cMonster::LoveTick(void) cMonster * Baby = nullptr; - m_World->DoWithEntityByID(BabyID, [&](cEntity & a_Entity) - { - Baby = static_cast(&a_Entity); - return true; - }); + m_World->DoWithEntityByID( + BabyID, + [&](cEntity & a_Entity) + { + Baby = static_cast(&a_Entity); + return true; + } + ); if (Baby != nullptr) { @@ -1384,15 +1420,18 @@ void cMonster::LoveTick(void) m_World->SpawnExperienceOrb(Pos.x, Pos.y, Pos.z, GetRandomProvider().RandInt(1, 6)); - m_World->DoWithPlayerByUUID(m_Feeder, [&] (cPlayer & a_Player) - { - a_Player.GetStatistics().Custom[CustomStatistic::AnimalsBred]++; - if (GetMobType() == eMonsterType::mtCow) + m_World->DoWithPlayerByUUID( + m_Feeder, + [&](cPlayer & a_Player) { - a_Player.AwardAchievement(CustomStatistic::AchBreedCow); + a_Player.GetStatistics().Custom[CustomStatistic::AnimalsBred]++; + if (GetMobType() == eMonsterType::mtCow) + { + a_Player.AwardAchievement(CustomStatistic::AchBreedCow); + } + return true; } - return true; - }); + ); m_LovePartner->ResetLoveMode(); ResetLoveMode(); } @@ -1404,17 +1443,21 @@ void cMonster::LoveTick(void) GetFollowedItems(FollowedItems); if (FollowedItems.Size() > 0) { - m_World->DoWithNearestPlayer(GetPosition(), static_cast(m_SightDistance), [&](cPlayer & a_Player) -> bool - { - const cItem & EquippedItem = a_Player.GetEquippedItem(); - if (FollowedItems.ContainsType(EquippedItem)) + m_World->DoWithNearestPlayer( + GetPosition(), + static_cast(m_SightDistance), + [&](cPlayer & a_Player) -> bool { - Vector3d PlayerPos = a_Player.GetPosition(); - MoveToPosition(PlayerPos); - } + const cItem & EquippedItem = a_Player.GetEquippedItem(); + if (FollowedItems.ContainsType(EquippedItem)) + { + Vector3d PlayerPos = a_Player.GetPosition(); + MoveToPosition(PlayerPos); + } - return true; - }); + return true; + } + ); } } @@ -1423,36 +1466,39 @@ void cMonster::LoveTick(void) { if (m_LovePartner == nullptr) { - m_World->ForEachEntityInBox(cBoundingBox(GetPosition(), 8, 8), [=](cEntity & a_Entity) - { - // If the entity is not a monster, don't breed with it - // Also, do not self-breed - if ((a_Entity.GetEntityType() != etMonster) || (&a_Entity == this)) + m_World->ForEachEntityInBox( + cBoundingBox(GetPosition(), 8, 8), + [=](cEntity & a_Entity) { - return false; - } + // If the entity is not a monster, don't breed with it + // Also, do not self-breed + if ((a_Entity.GetEntityType() != etMonster) || (&a_Entity == this)) + { + return false; + } - auto & Me = static_cast(*this); - auto & PotentialPartner = static_cast(a_Entity); + auto & Me = static_cast(*this); + auto & PotentialPartner = static_cast(a_Entity); - // If the potential partner is not of the same species, don't breed with it - if (PotentialPartner.GetMobType() != Me.GetMobType()) - { - return false; - } + // If the potential partner is not of the same species, don't breed with it + if (PotentialPartner.GetMobType() != Me.GetMobType()) + { + return false; + } - // If the potential partner is not in love - // Or they already have a mate, do not breed with them - if ((!PotentialPartner.IsInLove()) || (PotentialPartner.GetPartner() != nullptr)) - { - return false; - } + // If the potential partner is not in love + // Or they already have a mate, do not breed with them + if ((!PotentialPartner.IsInLove()) || (PotentialPartner.GetPartner() != nullptr)) + { + return false; + } - // All conditions met, let's breed! - PotentialPartner.EngageLoveMode(&Me); - Me.EngageLoveMode(&PotentialPartner); - return true; - }); + // All conditions met, let's breed! + PotentialPartner.EngageLoveMode(&Me); + Me.EngageLoveMode(&PotentialPartner); + return true; + } + ); } m_LoveTimer--; @@ -1495,10 +1541,10 @@ void cMonster::RightClickFeed(cPlayer & a_Player) if (EquippedItem.m_ItemType == E_ITEM_SPAWN_EGG) { eMonsterType MonsterType = cItemSpawnEggHandler::ItemDamageToMonsterType(EquippedItem.m_ItemDamage); - if ( - (MonsterType == m_MobType) && - (m_World->SpawnMob(GetPosX(), GetPosY(), GetPosZ(), m_MobType, true) != cEntity::INVALID_ID) // Spawning succeeded - ) + if ((MonsterType == m_MobType) && + (m_World->SpawnMob(GetPosX(), GetPosY(), GetPosZ(), m_MobType, true) != cEntity::INVALID_ID + ) // Spawning succeeded + ) { if (!a_Player.IsGameModeCreative()) { @@ -1515,7 +1561,13 @@ void cMonster::RightClickFeed(cPlayer & a_Player) -void cMonster::AddRandomDropItem(cItems & a_Drops, unsigned int a_Min, unsigned int a_Max, short a_Item, short a_ItemHealth) +void cMonster::AddRandomDropItem( + cItems & a_Drops, + unsigned int a_Min, + unsigned int a_Max, + short a_Item, + short a_ItemHealth +) { auto Count = GetRandomProvider().RandInt(a_Min, a_Max); auto MaxStackSize = static_cast(cItem(a_Item).GetMaxStackSize()); @@ -1669,11 +1721,10 @@ bool cMonster::WouldBurnAt(Vector3d a_Location, cChunk & a_Chunk) return false; } - if ( - (Chunk->GetBlock(Rel) != E_BLOCK_SOULSAND) && // Not on soulsand - (GetWorld()->GetTimeOfDay() < 13000_tick) && // Daytime - Chunk->IsWeatherSunnyAt(Rel.x, Rel.z) && // Not raining - !IsInWater() // Isn't swimming + if ((Chunk->GetBlock(Rel) != E_BLOCK_SOULSAND) && // Not on soulsand + (GetWorld()->GetTimeOfDay() < 13000_tick) && // Daytime + Chunk->IsWeatherSunnyAt(Rel.x, Rel.z) && // Not raining + !IsInWater() // Isn't swimming ) { int MobHeight = CeilC(a_Location.y + GetHeight()) - 1; // The block Y coord of the mob's head @@ -1683,8 +1734,8 @@ bool cMonster::WouldBurnAt(Vector3d a_Location, cChunk & a_Chunk) } // Start with the highest block and scan down to just above the mob's head. // If a non transparent is found, return false (do not burn). Otherwise return true. - // Note that this loop is not a performance concern as transparent blocks are rare and the loop almost always bailes out - // instantly.(An exception is e.g. standing under a long column of glass). + // Note that this loop is not a performance concern as transparent blocks are rare and the loop almost always + // bailes out instantly.(An exception is e.g. standing under a long column of glass). int CurrentBlock = Chunk->GetHeight(Rel.x, Rel.z); while (CurrentBlock > MobHeight) { @@ -1702,7 +1753,6 @@ bool cMonster::WouldBurnAt(Vector3d a_Location, cChunk & a_Chunk) --CurrentBlock; } return true; - } return false; } diff --git a/src/Mobs/Monster.h b/src/Mobs/Monster.h index 0127ec4ce..c3b513682 100644 --- a/src/Mobs/Monster.h +++ b/src/Mobs/Monster.h @@ -13,8 +13,7 @@ class cClientHandle; // tolua_begin -class cMonster: - public cPawn +class cMonster : public cPawn { // tolua_end @@ -23,29 +22,47 @@ class cMonster: // tolua_begin -public: - + public: enum eFamily { - mfHostile = 0, // Spider, Zombies ... - mfPassive = 1, // Cows, Pigs - mfAmbient = 2, // Bats - mfWater = 3, // Squid, Guardian + mfHostile = 0, // Spider, Zombies ... + mfPassive = 1, // Cows, Pigs + mfAmbient = 2, // Bats + mfWater = 3, // Squid, Guardian mfNoSpawn - } ; + }; // tolua_end - enum MState{ATTACKING, IDLE, CHASING, ESCAPING} m_EMState; - enum MPersonality{PASSIVE, AGGRESSIVE, COWARDLY} m_EMPersonality; + enum MState + { + ATTACKING, + IDLE, + CHASING, + ESCAPING + } m_EMState; + enum MPersonality + { + PASSIVE, + AGGRESSIVE, + COWARDLY + } m_EMPersonality; /** Creates the mob object. If a_ConfigName is not empty, the configuration is loaded using GetMonsterConfig() a_MobType is the type of the mob (also used in the protocol ( http://wiki.vg/Entities#Mobs 2012_12_22)) a_SoundHurt and a_SoundDeath are assigned into m_SoundHurt and m_SoundDeath, respectively */ - cMonster(const AString & a_ConfigName, eMonsterType a_MobType, const AString & a_SoundHurt, const AString & a_SoundDeath, const AString & a_SoundAmbient, float a_Width, float a_Height); + cMonster( + const AString & a_ConfigName, + eMonsterType a_MobType, + const AString & a_SoundHurt, + const AString & a_SoundDeath, + const AString & a_SoundAmbient, + float a_Width, + float a_Height + ); CLASS_PROTODEF(cMonster) @@ -118,8 +135,8 @@ public: virtual void EventLosePlayer(void); virtual void CheckEventLostPlayer(std::chrono::milliseconds a_Dt); - virtual void InStateIdle (std::chrono::milliseconds a_Dt, cChunk & a_Chunk); - virtual void InStateChasing (std::chrono::milliseconds a_Dt, cChunk & a_Chunk); + virtual void InStateIdle(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); + virtual void InStateChasing(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); virtual void InStateEscaping(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); double GetAttackRate() { return m_AttackRate; } @@ -149,13 +166,13 @@ public: void SetRelativeWalkSpeed(double a_WalkSpeed) { m_RelativeWalkSpeed = a_WalkSpeed; } // tolua_export // Overridables to handle ageable mobs - virtual bool IsTame (void) const { return false; } - virtual bool IsSitting (void) const { return false; } + virtual bool IsTame(void) const { return false; } + virtual bool IsSitting(void) const { return false; } // tolua_begin - bool IsBaby (void) const { return m_Age < 0; } - int GetAge (void) const { return m_Age; } - void SetAge(int a_Age) { m_Age = a_Age; } + bool IsBaby(void) const { return m_Age < 0; } + int GetAge(void) const { return m_Age; } + void SetAge(int a_Age) { m_Age = a_Age; } // tolua_end @@ -199,7 +216,7 @@ public: static AString MobTypeToVanillaNBT(eMonsterType a_MobType); /** Sets the target that this mob will chase. Pass a nullptr to unset. */ - void SetTarget (cPawn * a_NewTarget); + void SetTarget(cPawn * a_NewTarget); /** Unset the target without notifying the target entity. Do not use this, use SetTarget(nullptr) instead. This is only used by cPawn internally. */ @@ -220,24 +237,28 @@ public: /* the breeding processing */ /** Returns the items that the animal of this class follows when a player holds it in hand. */ - virtual void GetFollowedItems(cItems & a_Items) { } + virtual void GetFollowedItems(cItems & a_Items) {} - /** Returns the items that make the animal breed - this is usually the same as the ones that make the animal follow, but not necessarily. */ + /** Returns the items that make the animal breed - this is usually the same as the ones that make the animal follow, + * but not necessarily. */ virtual void GetBreedingItems(cItems & a_Items) { GetFollowedItems(a_Items); } /** Called after the baby is born, allows the baby to inherit the parents' properties (color, etc.) */ - virtual void InheritFromParents(cMonster * a_Parent1, cMonster * a_Parent2) { } + virtual void InheritFromParents(cMonster * a_Parent1, cMonster * a_Parent2) {} /** Returns the partner which the monster is currently mating with. */ cMonster * GetPartner(void) const { return m_LovePartner; } - /** Start the mating process. Causes the monster to keep bumping into the partner until m_MatingTimer reaches zero. */ + /** Start the mating process. Causes the monster to keep bumping into the partner until m_MatingTimer reaches zero. + */ void EngageLoveMode(cMonster * a_Partner); - /** Finish the mating process. Called after a baby is born. Resets all breeding related timers and sets m_LoveCooldown to 20 minutes. */ + /** Finish the mating process. Called after a baby is born. Resets all breeding related timers and sets + * m_LoveCooldown to 20 minutes. */ void ResetLoveMode(); - /** Returns whether the monster has just been fed and is ready to mate. If this is "true" and GetPartner isn't "nullptr", then the monster is mating. */ + /** Returns whether the monster has just been fed and is ready to mate. If this is "true" and GetPartner isn't + * "nullptr", then the monster is mating. */ bool IsInLove() const { return (m_LoveTimer > 0); } /** Returns whether the monster is tired of breeding and is in the cooldown state. */ @@ -249,12 +270,12 @@ public: /** Right click call to process feeding */ void RightClickFeed(cPlayer & a_Player); -protected: - + protected: /** The pathfinder instance handles pathfinding for this monster. */ cPathFinder m_PathFinder; - /** Stores if pathfinder is being used - set when final destination is set, and unset when stopped moving to final destination */ + /** Stores if pathfinder is being used - set when final destination is set, and unset when stopped moving to final + * destination */ bool m_PathfinderActivated; /** Coordinates of the next position that should be reached */ @@ -270,7 +291,10 @@ protected: int FindFirstNonAirBlockPosition(double a_PosX, double a_PosZ); /** Returns if the ultimate, final destination has been reached. */ - bool ReachedFinalDestination(void) { return ((m_FinalDestination - GetPosition()).SqrLength() < WAYPOINT_RADIUS * WAYPOINT_RADIUS); } + bool ReachedFinalDestination(void) + { + return ((m_FinalDestination - GetPosition()).SqrLength() < WAYPOINT_RADIUS * WAYPOINT_RADIUS); + } /** Returns whether or not the target is close enough for attack. */ bool TargetIsInRange(void) @@ -337,7 +361,8 @@ protected: /** Entity leashed to */ cEntity * m_LeashedTo; - /** Entity pos where this mob was leashed to. Used when deserializing the chunk in order to make the mob find the leash knot. */ + /** Entity pos where this mob was leashed to. Used when deserializing the chunk in order to make the mob find the + * leash knot. */ std::unique_ptr m_LeashToPos; /** Mob has ben leashed or unleashed in current player action. Avoids double actions on horses. */ @@ -347,18 +372,27 @@ protected: bool m_CanBeLeashed; /** Adds a random number of a_Item between a_Min and a_Max to itemdrops a_Drops */ - void AddRandomDropItem(cItems & a_Drops, unsigned int a_Min, unsigned int a_Max, short a_Item, short a_ItemHealth = 0); + void AddRandomDropItem( + cItems & a_Drops, + unsigned int a_Min, + unsigned int a_Max, + short a_Item, + short a_ItemHealth = 0 + ); /** Adds a item a_Item with the chance of a_Chance (in percent) to itemdrops a_Drops */ void AddRandomUncommonDropItem(cItems & a_Drops, float a_Chance, short a_Item, short a_ItemHealth = 0); - /** Adds one rare item out of the list of rare items a_Items modified by the looting level a_LootingLevel(I-III or custom) to the itemdrop a_Drops */ + /** Adds one rare item out of the list of rare items a_Items modified by the looting level a_LootingLevel(I-III or + * custom) to the itemdrop a_Drops */ void AddRandomRareDropItem(cItems & a_Drops, cItems & a_Items, unsigned int a_LootingLevel); - /** Adds armor that is equipped with the chance saved in m_DropChance[...] (this will be greter than 1 if picked up or 0.085 + (0.01 per LootingLevel) if born with) to the drop */ + /** Adds armor that is equipped with the chance saved in m_DropChance[...] (this will be greter than 1 if picked up + * or 0.085 + (0.01 per LootingLevel) if born with) to the drop */ void AddRandomArmorDropItem(cItems & a_Drops, unsigned int a_LootingLevel); - /** Adds weapon that is equipped with the chance saved in m_DropChance[...] (this will be greter than 1 if picked up or 0.085 + (0.01 per LootingLevel) if born with) to the drop */ + /** Adds weapon that is equipped with the chance saved in m_DropChance[...] (this will be greter than 1 if picked up + * or 0.085 + (0.01 per LootingLevel) if born with) to the drop */ void AddRandomWeaponDropItem(cItems & a_Drops, unsigned int a_LootingLevel); /* The breeding processing */ @@ -369,16 +403,19 @@ protected: /** Remembers the player is was last fed by for statistics tracking */ cUUID m_Feeder; - /** If above 0, the monster is in love mode, and will breed if a nearby monster is also in love mode. Decrements by 1 per tick till reaching zero. */ + /** If above 0, the monster is in love mode, and will breed if a nearby monster is also in love mode. Decrements by + * 1 per tick till reaching zero. */ int m_LoveTimer; - /** If above 0, the monster is in cooldown mode and will refuse to breed. Decrements by 1 per tick till reaching zero. */ + /** If above 0, the monster is in cooldown mode and will refuse to breed. Decrements by 1 per tick till reaching + * zero. */ int m_LoveCooldown; - /** The monster is engaged in mating, once this reaches zero, a baby will be born. Decrements by 1 per tick till reaching zero, then a baby is made and ResetLoveMode() is called. */ + /** The monster is engaged in mating, once this reaches zero, a baby will be born. Decrements by 1 per tick till + * reaching zero, then a baby is made and ResetLoveMode() is called. */ int m_MatingTimer; -private: + private: /** A pointer to the entity this mobile is aiming to reach. The validity of this pointer SHALL be guaranteed by the pointee; it MUST be reset when the pointee changes worlds or is destroyed. */ @@ -387,4 +424,4 @@ private: /** Leash calculations inside Tick function */ void CalcLeashActions(std::chrono::milliseconds a_Dt); -} ; // tolua_export +}; // tolua_export diff --git a/src/Mobs/MonsterTypes.h b/src/Mobs/MonsterTypes.h index 5a591b31f..31c05eb01 100644 --- a/src/Mobs/MonsterTypes.h +++ b/src/Mobs/MonsterTypes.h @@ -13,48 +13,48 @@ enum eMonsterType mtBat, mtBlaze, - mtCat, // Added in 1.14 + mtCat, // Added in 1.14 mtCaveSpider, mtChicken, - mtCod, // Added in 1.13 + mtCod, // Added in 1.13 mtCow, mtCreeper, - mtDolphin, // Added in 1.13 - mtDonkey, // Added in 1.6 - mtDrowned, // Added in 1.13 - mtElderGuardian, // Added in 1.13 + mtDolphin, // Added in 1.13 + mtDonkey, // Added in 1.6 + mtDrowned, // Added in 1.13 + mtElderGuardian, // Added in 1.13 mtEnderDragon, mtEnderman, - mtEndermite, // Added in 1.8 - mtEvoker, // Added in 1.11 - mtFox, // Added in 1.14 + mtEndermite, // Added in 1.8 + mtEvoker, // Added in 1.11 + mtFox, // Added in 1.14 mtGhast, mtGiant, mtGuardian, mtHorse, - mtHoglin, // Added in 1.16 - mtHusk, // Added in 1.10 - mtIllusioner, // Added in 1.12 + mtHoglin, // Added in 1.16 + mtHusk, // Added in 1.10 + mtIllusioner, // Added in 1.12 mtIronGolem, - mtLlama, // Added in 1.11 + mtLlama, // Added in 1.11 mtMagmaCube, mtMooshroom, - mtMule, // Added in 1.6 + mtMule, // Added in 1.6 mtOcelot, - mtPanda, // Added in 1.14 - mtParrot, // Added in 1.12 - mtPhantom, // Added in 1.13 + mtPanda, // Added in 1.14 + mtParrot, // Added in 1.12 + mtPhantom, // Added in 1.13 mtPig, - mtPiglin, // Added in 1.16 - mtPiglinBrute, // Added in 1.16 - mtPillager, // Added in 1.14 - mtPolarBear, // Added in 1.10 - mtPufferfish, // Added in 1.13 + mtPiglin, // Added in 1.16 + mtPiglinBrute, // Added in 1.16 + mtPillager, // Added in 1.14 + mtPolarBear, // Added in 1.10 + mtPufferfish, // Added in 1.13 mtRabbit, - mtRavager, // Added in 1.14 - mtSalmon, // Added in 1.13 + mtRavager, // Added in 1.14 + mtSalmon, // Added in 1.13 mtSheep, - mtShulker, // Added in 1.9 + mtShulker, // Added in 1.9 mtSilverfish, mtSkeleton, mtSkeletonHorse, @@ -62,27 +62,27 @@ enum eMonsterType mtSnowGolem, mtSpider, mtSquid, - mtStray, // Added in 1.10 - mtStrider, // Added in 1.16 - mtTraderLlama, // Added in 1.11 - mtTropicalFish, // Added in 1.13 - mtTurtle, // Added in 1.13 - mtVex, // Added in 1.11 + mtStray, // Added in 1.10 + mtStrider, // Added in 1.16 + mtTraderLlama, // Added in 1.11 + mtTropicalFish, // Added in 1.13 + mtTurtle, // Added in 1.13 + mtVex, // Added in 1.11 mtVillager, - mtVindicator, // Added in 1.11 - mtWanderingTrader, // Added in 1.14 + mtVindicator, // Added in 1.11 + mtWanderingTrader, // Added in 1.14 mtWitch, mtWither, mtWitherSkeleton, mtWolf, - mtZoglin, // Added in 1.16 + mtZoglin, // Added in 1.16 mtZombie, - mtZombieHorse, // Added in 1.6 + mtZombieHorse, // Added in 1.6 mtZombifiedPiglin, mtZombieVillager, // Synonyms: mtZombiePigman = mtZombifiedPiglin, -} ; +}; // tolua_end diff --git a/src/Mobs/Mooshroom.cpp b/src/Mobs/Mooshroom.cpp index 35eb7f3d1..102e47943 100644 --- a/src/Mobs/Mooshroom.cpp +++ b/src/Mobs/Mooshroom.cpp @@ -48,7 +48,8 @@ void cMooshroom::OnRightClicked(cPlayer & a_Player) { a_Player.ReplaceOneEquippedItemTossRest(cItem(E_ITEM_MILK)); } - } break; + } + break; case E_ITEM_BOWL: { // Soup the cow. @@ -56,7 +57,8 @@ void cMooshroom::OnRightClicked(cPlayer & a_Player) { a_Player.ReplaceOneEquippedItemTossRest(cItem(E_ITEM_MUSHROOM_SOUP)); } - } break; + } + break; case E_ITEM_SHEARS: { if (!a_Player.IsGameModeCreative()) @@ -69,6 +71,7 @@ void cMooshroom::OnRightClicked(cPlayer & a_Player) m_World->SpawnItemPickups(Drops, GetPosX(), GetPosY(), GetPosZ(), 10); m_World->SpawnMob(GetPosX(), GetPosY(), GetPosZ(), mtCow, false); Destroy(); - } break; + } + break; } } diff --git a/src/Mobs/Mooshroom.h b/src/Mobs/Mooshroom.h index 7ecd45c5b..8b4a7e02b 100644 --- a/src/Mobs/Mooshroom.h +++ b/src/Mobs/Mooshroom.h @@ -7,13 +7,11 @@ -class cMooshroom: - public cPassiveMonster +class cMooshroom : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: cMooshroom(); CLASS_PROTODEF(cMooshroom) @@ -21,12 +19,5 @@ public: virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual void OnRightClicked(cPlayer & a_Player) override; - virtual void GetFollowedItems(cItems & a_Items) override - { - a_Items.Add(E_ITEM_WHEAT); - } -} ; - - - - + virtual void GetFollowedItems(cItems & a_Items) override { a_Items.Add(E_ITEM_WHEAT); } +}; diff --git a/src/Mobs/Ocelot.cpp b/src/Mobs/Ocelot.cpp index a3c505e96..f3ad9ccaf 100644 --- a/src/Mobs/Ocelot.cpp +++ b/src/Mobs/Ocelot.cpp @@ -48,31 +48,36 @@ void cOcelot::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (m_CheckPlayerTickCount == 23) { - m_World->DoWithNearestPlayer(GetPosition(), 10, [&](cPlayer & a_Player) -> bool - { - cItems Items; - GetBreedingItems(Items); - if (Items.ContainsType(a_Player.GetEquippedItem().m_ItemType)) + m_World->DoWithNearestPlayer( + GetPosition(), + 10, + [&](cPlayer & a_Player) -> bool { - if (!IsBegging()) + cItems Items; + GetBreedingItems(Items); + if (Items.ContainsType(a_Player.GetEquippedItem().m_ItemType)) { - SetIsBegging(true); - m_World->BroadcastEntityMetadata(*this); - } + if (!IsBegging()) + { + SetIsBegging(true); + m_World->BroadcastEntityMetadata(*this); + } - MoveToPosition(a_Player.GetPosition()); - } - else - { - if (IsBegging()) + MoveToPosition(a_Player.GetPosition()); + } + else { - SetIsBegging(false); - m_World->BroadcastEntityMetadata(*this); + if (IsBegging()) + { + SetIsBegging(false); + m_World->BroadcastEntityMetadata(*this); + } } - } - return true; - }, true); + return true; + }, + true + ); m_CheckPlayerTickCount = 0; } else @@ -142,10 +147,7 @@ void cOcelot::OnRightClicked(cPlayer & a_Player) { if (!IsTame()) { - if ( - IsBegging() && - ((a_Player.GetPosition() - GetPosition()).Length() <= 3) - ) + if (IsBegging() && ((a_Player.GetPosition() - GetPosition()).Length() <= 3)) { cItems Items; GetBreedingItems(Items); diff --git a/src/Mobs/Ocelot.h b/src/Mobs/Ocelot.h index 28deef4b4..ca91e8950 100644 --- a/src/Mobs/Ocelot.h +++ b/src/Mobs/Ocelot.h @@ -8,20 +8,18 @@ -class cOcelot: - public cPassiveMonster +class cOcelot : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: enum eCatType { ctWildOcelot, ctTuxedo, ctTabby, ctSiamese, - } ; + }; cOcelot(void); @@ -30,46 +28,38 @@ public: virtual void OnRightClicked(cPlayer & a_Player) override; virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void TickFollowPlayer(); - virtual void GetBreedingItems(cItems & a_Items) override - { - a_Items.Add(E_ITEM_RAW_FISH); - } + virtual void GetBreedingItems(cItems & a_Items) override { a_Items.Add(E_ITEM_RAW_FISH); } virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; // Get functions - bool IsSitting (void) const override { return m_IsSitting; } - bool IsTame (void) const override { return m_IsTame; } - bool IsBegging (void) const { return m_IsBegging; } - AString GetOwnerName (void) const { return m_OwnerName; } - cUUID GetOwnerUUID (void) const { return m_OwnerUUID; } - eCatType GetOcelotType (void) const { return m_CatType; } + bool IsSitting(void) const override { return m_IsSitting; } + bool IsTame(void) const override { return m_IsTame; } + bool IsBegging(void) const { return m_IsBegging; } + AString GetOwnerName(void) const { return m_OwnerName; } + cUUID GetOwnerUUID(void) const { return m_OwnerUUID; } + eCatType GetOcelotType(void) const { return m_CatType; } // Set functions - void SetIsSitting (bool a_IsSitting) { m_IsSitting = a_IsSitting; } - void SetIsTame (bool a_IsTame) { m_IsTame = a_IsTame; } - void SetIsBegging (bool a_IsBegging) { m_IsBegging = a_IsBegging; } - void SetOwner (const AString & a_NewOwnerName, const cUUID & a_NewOwnerUUID) + void SetIsSitting(bool a_IsSitting) { m_IsSitting = a_IsSitting; } + void SetIsTame(bool a_IsTame) { m_IsTame = a_IsTame; } + void SetIsBegging(bool a_IsBegging) { m_IsBegging = a_IsBegging; } + void SetOwner(const AString & a_NewOwnerName, const cUUID & a_NewOwnerUUID) { m_OwnerName = a_NewOwnerName; m_OwnerUUID = a_NewOwnerUUID; } - void SetCatType (eCatType a_CatType) { m_CatType = a_CatType; } + void SetCatType(eCatType a_CatType) { m_CatType = a_CatType; } /** Returns true if there's a cat sitting above the given position */ static bool IsCatSittingOnBlock(cWorld * a_World, Vector3d a_BlockPosition); -protected: - - bool m_IsSitting; - bool m_IsTame; - bool m_IsBegging; - eCatType m_CatType; + protected: + bool m_IsSitting; + bool m_IsTame; + bool m_IsBegging; + eCatType m_CatType; /** Only check for a nearby player holding the breeding items every 23 ticks. */ - int m_CheckPlayerTickCount; - AString m_OwnerName; - cUUID m_OwnerUUID; -} ; - - - - + int m_CheckPlayerTickCount; + AString m_OwnerName; + cUUID m_OwnerUUID; +}; diff --git a/src/Mobs/PassiveAggressiveMonster.cpp b/src/Mobs/PassiveAggressiveMonster.cpp index 16f8d7fdd..a74e393b9 100644 --- a/src/Mobs/PassiveAggressiveMonster.cpp +++ b/src/Mobs/PassiveAggressiveMonster.cpp @@ -9,7 +9,15 @@ -cPassiveAggressiveMonster::cPassiveAggressiveMonster(const AString & a_ConfigName, eMonsterType a_MobType, const AString & a_SoundHurt, const AString & a_SoundDeath, const AString & a_SoundAmbient, float a_Width, float a_Height) : +cPassiveAggressiveMonster::cPassiveAggressiveMonster( + const AString & a_ConfigName, + eMonsterType a_MobType, + const AString & a_SoundHurt, + const AString & a_SoundDeath, + const AString & a_SoundAmbient, + float a_Width, + float a_Height +) : Super(a_ConfigName, a_MobType, a_SoundHurt, a_SoundDeath, a_SoundAmbient, a_Width, a_Height) { m_EMPersonality = PASSIVE; @@ -44,5 +52,3 @@ void cPassiveAggressiveMonster::EventSeePlayer(cPlayer *, cChunk & a_Chunk) { // don't do anything, neutral mobs don't react to just seeing the player } - - diff --git a/src/Mobs/PassiveAggressiveMonster.h b/src/Mobs/PassiveAggressiveMonster.h index 50ecdb0c2..ac186b940 100644 --- a/src/Mobs/PassiveAggressiveMonster.h +++ b/src/Mobs/PassiveAggressiveMonster.h @@ -7,13 +7,11 @@ -class cPassiveAggressiveMonster: - public cAggressiveMonster +class cPassiveAggressiveMonster : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cPassiveAggressiveMonster( const AString & a_ConfigName, eMonsterType a_MobType, @@ -26,8 +24,4 @@ public: virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; virtual void EventSeePlayer(cPlayer *, cChunk & a_Chunk) override; -} ; - - - - +}; diff --git a/src/Mobs/PassiveMonster.cpp b/src/Mobs/PassiveMonster.cpp index e86d7c87d..44b01714e 100644 --- a/src/Mobs/PassiveMonster.cpp +++ b/src/Mobs/PassiveMonster.cpp @@ -10,7 +10,15 @@ -cPassiveMonster::cPassiveMonster(const AString & a_ConfigName, eMonsterType a_MobType, const AString & a_SoundHurt, const AString & a_SoundDeath, const AString & a_SoundAmbient, float a_Width, float a_Height) : +cPassiveMonster::cPassiveMonster( + const AString & a_ConfigName, + eMonsterType a_MobType, + const AString & a_SoundHurt, + const AString & a_SoundDeath, + const AString & a_SoundAmbient, + float a_Width, + float a_Height +) : Super(a_ConfigName, a_MobType, a_SoundHurt, a_SoundDeath, a_SoundAmbient, a_Width, a_Height) { m_EMPersonality = PASSIVE; @@ -63,6 +71,3 @@ void cPassiveMonster::OnRightClicked(cPlayer & a_Player) Super::OnRightClicked(a_Player); Super::RightClickFeed(a_Player); } - - - diff --git a/src/Mobs/PassiveMonster.h b/src/Mobs/PassiveMonster.h index 283326904..619c50363 100644 --- a/src/Mobs/PassiveMonster.h +++ b/src/Mobs/PassiveMonster.h @@ -8,13 +8,11 @@ -class cPassiveMonster: - public cMonster +class cPassiveMonster : public cMonster { using Super = cMonster; -public: - + public: cPassiveMonster( const AString & a_ConfigName, eMonsterType a_MobType, diff --git a/src/Mobs/Path.cpp b/src/Mobs/Path.cpp index 05ccd6c39..6dd2d4100 100644 --- a/src/Mobs/Path.cpp +++ b/src/Mobs/Path.cpp @@ -19,7 +19,7 @@ -bool compareHeuristics::operator()(cPathCell * & a_Cell1, cPathCell * & a_Cell2) +bool compareHeuristics::operator()(cPathCell *& a_Cell1, cPathCell *& a_Cell2) { return a_Cell1->m_F > a_Cell2->m_F; } @@ -31,12 +31,16 @@ bool compareHeuristics::operator()(cPathCell * & a_Cell1, cPathCell * & a_Cell2) /* cPath implementation */ cPath::cPath( cChunk & a_Chunk, - const Vector3d & a_StartingPoint, const Vector3d & a_EndingPoint, int a_MaxSteps, - double a_BoundingBoxWidth, double a_BoundingBoxHeight + const Vector3d & a_StartingPoint, + const Vector3d & a_EndingPoint, + int a_MaxSteps, + double a_BoundingBoxWidth, + double a_BoundingBoxHeight ) : m_StepsLeft(a_MaxSteps), m_IsValid(true), - m_CurrentPoint(0), // GetNextPoint increments this to 1, but that's fine, since the first cell is always a_StartingPoint + m_CurrentPoint(0 + ), // GetNextPoint increments this to 1, but that's fine, since the first cell is always a_StartingPoint m_Chunk(&a_Chunk), m_BadChunkFound(false) { @@ -72,9 +76,9 @@ cPath::cPath( -cPath::cPath() : m_IsValid(false) +cPath::cPath() : + m_IsValid(false) { - } @@ -170,17 +174,11 @@ bool cPath::StepOnce() // If true, no need to do more checks in that direction - bool DoneEast = false, - DoneWest = false, - DoneNorth = false, - DoneSouth = false; + bool DoneEast = false, DoneWest = false, DoneNorth = false, DoneSouth = false; // If true, we can walk in that direction without changing height // This is used for deciding if to calculate diagonals - bool WalkableEast = false, - WalkableWest = false, - WalkableNorth = false, - WalkableSouth = false; + bool WalkableEast = false, WalkableWest = false, WalkableNorth = false, WalkableSouth = false; // If we can jump without hitting the ceiling if (BodyFitsIn(CurrentCell->m_Location + Vector3i(0, 1, 0), CurrentCell->m_Location)) @@ -211,7 +209,6 @@ bool cPath::StepOnce() { DoneSouth = true; } - } @@ -222,7 +219,7 @@ bool cPath::StepOnce() { for (int y = 0; y >= -3; --y) { - if (ProcessIfWalkable(CurrentCell->m_Location + Vector3i(1, y, 0), CurrentCell, NORMAL_G_COST)) + if (ProcessIfWalkable(CurrentCell->m_Location + Vector3i(1, y, 0), CurrentCell, NORMAL_G_COST)) { DoneEast = true; if (y == 0) @@ -238,7 +235,7 @@ bool cPath::StepOnce() { for (int y = 0; y >= -3; --y) { - if (ProcessIfWalkable(CurrentCell->m_Location + Vector3i(-1, y, 0), CurrentCell, NORMAL_G_COST)) + if (ProcessIfWalkable(CurrentCell->m_Location + Vector3i(-1, y, 0), CurrentCell, NORMAL_G_COST)) { DoneWest = true; if (y == 0) @@ -254,7 +251,7 @@ bool cPath::StepOnce() { for (int y = 0; y >= -3; --y) { - if (ProcessIfWalkable(CurrentCell->m_Location + Vector3i(0, y, 1), CurrentCell, NORMAL_G_COST)) + if (ProcessIfWalkable(CurrentCell->m_Location + Vector3i(0, y, 1), CurrentCell, NORMAL_G_COST)) { DoneSouth = true; if (y == 0) @@ -337,10 +334,10 @@ void cPath::BuildPath() { CurrentCell->m_Location.y -= 30; } - m_PathPoints.push_back(CurrentCell->m_Location); // Populate the cPath with points. All midpoints are added. Destination is added. Source is excluded. + m_PathPoints.push_back(CurrentCell->m_Location + ); // Populate the cPath with points. All midpoints are added. Destination is added. Source is excluded. CurrentCell = CurrentCell->m_Parent; } - } @@ -350,7 +347,7 @@ void cPath::BuildPath() void cPath::FinishCalculation() { m_Map.clear(); - m_OpenList = std::priority_queue, compareHeuristics>{}; + m_OpenList = std::priority_queue, compareHeuristics> {}; } @@ -375,9 +372,9 @@ void cPath::OpenListAdd(cPathCell * a_Cell) { a_Cell->m_Status = eCellStatus::OPENLIST; m_OpenList.push(a_Cell); - #ifdef COMPILING_PATHFIND_DEBUGGER +#ifdef COMPILING_PATHFIND_DEBUGGER si::setBlock(a_Cell->m_Location.x, a_Cell->m_Location.y, a_Cell->m_Location.z, debug_open, SetMini(a_Cell)); - #endif +#endif } @@ -388,15 +385,16 @@ cPathCell * cPath::OpenListPop() // Popping from the open list also means addin { if (m_OpenList.size() == 0) { - return nullptr; // We've exhausted the search space and nothing was found, this will trigger a PATH_NOT_FOUND or NEARBY_FOUND status. + return nullptr; // We've exhausted the search space and nothing was found, this will trigger a PATH_NOT_FOUND + // or NEARBY_FOUND status. } cPathCell * Ret = m_OpenList.top(); m_OpenList.pop(); Ret->m_Status = eCellStatus::CLOSEDLIST; - #ifdef COMPILING_PATHFIND_DEBUGGER +#ifdef COMPILING_PATHFIND_DEBUGGER si::setBlock((Ret)->m_Location.x, (Ret)->m_Location.y, (Ret)->m_Location.z, debug_closed, SetMini(Ret)); - #endif +#endif return Ret; } @@ -440,20 +438,22 @@ void cPath::ProcessCell(cPathCell * a_Cell, cPathCell * a_Caller, int a_GDelta) a_Cell->m_G = 0; } - // Calculate H. This is A*'s Heuristics value. - #if DISTANCE_MANHATTAN == 1 - // Manhattan distance. DeltaX + DeltaY + DeltaZ. - a_Cell->m_H = 10 * (abs(a_Cell->m_Location.x-m_Destination.x) + abs(a_Cell->m_Location.y-m_Destination.y) + abs(a_Cell->m_Location.z-m_Destination.z)); - #else - // Euclidian distance. sqrt(DeltaX^2 + DeltaY^2 + DeltaZ^2), more precise. - a_Cell->m_H = static_castm_H)>((a_Cell->m_Location - m_Destination).Length() * 10); - #endif - - #if HEURISTICS_ONLY == 1 - a_Cell->m_F = a_Cell->m_H; // Greedy search. https://en.wikipedia.org/wiki/Greedy_search - #else - a_Cell->m_F = a_Cell->m_H + a_Cell->m_G; // Regular A*. - #endif +// Calculate H. This is A*'s Heuristics value. +#if DISTANCE_MANHATTAN == 1 + // Manhattan distance. DeltaX + DeltaY + DeltaZ. + a_Cell->m_H = 10 * + (abs(a_Cell->m_Location.x - m_Destination.x) + abs(a_Cell->m_Location.y - m_Destination.y) + + abs(a_Cell->m_Location.z - m_Destination.z)); +#else + // Euclidian distance. sqrt(DeltaX^2 + DeltaY^2 + DeltaZ^2), more precise. + a_Cell->m_H = static_castm_H)>((a_Cell->m_Location - m_Destination).Length() * 10); +#endif + +#if HEURISTICS_ONLY == 1 + a_Cell->m_F = a_Cell->m_H; // Greedy search. https://en.wikipedia.org/wiki/Greedy_search +#else + a_Cell->m_F = a_Cell->m_H + a_Cell->m_G; // Regular A*. +#endif OpenListAdd(a_Cell); return; @@ -467,7 +467,6 @@ void cPath::ProcessCell(cPathCell * a_Cell, cPathCell * a_Caller, int a_GDelta) a_Cell->m_H = a_Cell->m_F + a_Cell->m_G; a_Cell->m_Parent = a_Caller; } - } @@ -494,7 +493,8 @@ void cPath::FillCellAttributes(cPathCell & a_Cell) m_BadChunkFound = true; a_Cell.m_IsSolid = true; a_Cell.m_IsSpecial = false; - a_Cell.m_BlockType = E_BLOCK_AIR; // m_BlockType is never used when m_IsSpecial is false, but it may be used if we implement dijkstra + a_Cell.m_BlockType = E_BLOCK_AIR; // m_BlockType is never used when m_IsSpecial is false, but it may be used if + // we implement dijkstra return; } m_Chunk = Chunk; @@ -512,9 +512,11 @@ void cPath::FillCellAttributes(cPathCell & a_Cell) if (BlockTypeIsSpecial(BlockType)) { a_Cell.m_IsSpecial = true; - a_Cell.m_IsSolid = true; // Specials are solids only from a certain direction. But their m_IsSolid is always true + a_Cell.m_IsSolid = + true; // Specials are solids only from a certain direction. But their m_IsSolid is always true } - else if ((!cBlockInfo::IsSolid(a_Cell.m_BlockType)) && IsBlockFence(GetCell(Location + Vector3i(0, -1, 0))->m_BlockType)) + else if ((!cBlockInfo::IsSolid(a_Cell.m_BlockType)) && + IsBlockFence(GetCell(Location + Vector3i(0, -1, 0))->m_BlockType)) { // Nonsolid blocks with fences below them are consider Special Solids. That is, they sometimes behave as solids. a_Cell.m_IsSpecial = true; @@ -526,7 +528,6 @@ void cPath::FillCellAttributes(cPathCell & a_Cell) a_Cell.m_IsSpecial = false; a_Cell.m_IsSolid = cBlockInfo::IsSolid(BlockType); } - } @@ -541,11 +542,11 @@ cPathCell * cPath::GetCell(const Vector3i & a_Location) m_Map[a_Location].m_Location = a_Location; FillCellAttributes(m_Map[a_Location]); m_Map[a_Location].m_Status = eCellStatus::NOLIST; - #ifdef COMPILING_PATHFIND_DEBUGGER - #ifdef COMPILING_PATHFIND_DEBUGGER_MARK_UNCHECKED - si::setBlock(a_Location.x, a_Location.y, a_Location.z, debug_unchecked, Cell->m_IsSolid ? NORMAL : MINI); - #endif - #endif +#ifdef COMPILING_PATHFIND_DEBUGGER +#ifdef COMPILING_PATHFIND_DEBUGGER_MARK_UNCHECKED + si::setBlock(a_Location.x, a_Location.y, a_Location.z, debug_unchecked, Cell->m_IsSolid ? NORMAL : MINI); +#endif +#endif return &m_Map[a_Location]; } else @@ -581,7 +582,11 @@ bool cPath::BodyFitsIn(const Vector3i & a_Location, const Vector3i & a_Source) { if (CurrentCell->m_IsSpecial) { - if (SpecialIsSolidFromThisDirection(CurrentCell->m_BlockType, CurrentCell->m_BlockMeta, a_Location - a_Source)) + if (SpecialIsSolidFromThisDirection( + CurrentCell->m_BlockType, + CurrentCell->m_BlockMeta, + a_Location - a_Source + )) { return false; } @@ -629,7 +634,7 @@ bool cPath::BlockTypeIsSpecial(BLOCKTYPE a_Type) -bool cPath::SpecialIsSolidFromThisDirection(BLOCKTYPE a_Type, NIBBLETYPE a_Meta, const Vector3i & a_Direction) +bool cPath::SpecialIsSolidFromThisDirection(BLOCKTYPE a_Type, NIBBLETYPE a_Meta, const Vector3i & a_Direction) { if (a_Direction == Vector3i(0, 0, 0)) { diff --git a/src/Mobs/Path.h b/src/Mobs/Path.h index 90b2525f7..78abf7c2a 100644 --- a/src/Mobs/Path.h +++ b/src/Mobs/Path.h @@ -12,42 +12,55 @@ class cPath; #include "../FastRandom.h" #ifdef COMPILING_PATHFIND_DEBUGGER - /* Note: the COMPILING_PATHFIND_DEBUGGER flag is used by Native / WiseOldMan95 to debug - this class outside of Cuberite. This preprocessor flag is never set when compiling Cuberite. */ - #include "PathFinderIrrlicht_Head.h" +/* Note: the COMPILING_PATHFIND_DEBUGGER flag is used by Native / WiseOldMan95 to debug +this class outside of Cuberite. This preprocessor flag is never set when compiling Cuberite. */ +#include "PathFinderIrrlicht_Head.h" #endif -//fwd: ../Chunk.h +// fwd: ../Chunk.h class cChunk; /* Various little structs and classes */ -enum class ePathFinderStatus {CALCULATING, PATH_FOUND, PATH_NOT_FOUND, NEARBY_FOUND}; -enum class eCellStatus {OPENLIST, CLOSEDLIST, NOLIST}; +enum class ePathFinderStatus +{ + CALCULATING, + PATH_FOUND, + PATH_NOT_FOUND, + NEARBY_FOUND +}; +enum class eCellStatus +{ + OPENLIST, + CLOSEDLIST, + NOLIST +}; /** The pathfinder has 3 types of cells (cPathCell). 1 - empty. m_IsSolid is false, m_IsSpecial is false. Air cells are always traversable by A*. 2 - occupied / solid. m_IsSolid is true, m_IsSpecial is false. Air cells are never traversable by A*. 3 - Special. m_IsSolid is true, m_IsSpecial is true. These cells are special: They may either behave as empty -or as occupied / solid, depending on the mob's direction of movement. For instance, an airblock above a fence is a special cell, -because when mobs attempt to travel to it by jumping, it acts as a solid. But when mobs fall and land on top of a fence, -it acts as air. Special cells include: Doors, ladders, trapdoors, water, gates. +or as occupied / solid, depending on the mob's direction of movement. For instance, an airblock above a fence is a +special cell, because when mobs attempt to travel to it by jumping, it acts as a solid. But when mobs fall and land on +top of a fence, it acts as air. Special cells include: Doors, ladders, trapdoors, water, gates. The main function which handles special blocks is SpecialIsSolidFromThisDirection. This function receives a BlockType, a meta, and a direction of travel, then it uses those 3 parameters to decide whether the special block should behave as a solid or as air in this particular direction of travel. -Currently, only fences and water are handled properly. The function always returns "true" (meaning: treat as occuiped/solid) for -the rest of the blocks. This will be fixed once the physics engine issues are fixed. */ +Currently, only fences and water are handled properly. The function always returns "true" (meaning: treat as +occuiped/solid) for the rest of the blocks. This will be fixed once the physics engine issues are fixed. */ struct cPathCell { - Vector3i m_Location; // Location of the cell in the world. + Vector3i m_Location; // Location of the cell in the world. int m_F, m_G, m_H; // F, G, H as defined in regular A*. eCellStatus m_Status; // Which list is the cell in? Either non, open, or closed. cPathCell * m_Parent; // Cell's parent, as defined in regular A*. - bool m_IsSolid; // Is the cell an air or a solid? Partial solids are considered solids. If m_IsSpecial is true, this is always true. - bool m_IsSpecial; // The cell is special - it acts as "solid" or "air" depending on direction, e.g. door or top of fence. + bool m_IsSolid; // Is the cell an air or a solid? Partial solids are considered solids. If m_IsSpecial is true, + // this is always true. + bool m_IsSpecial; // The cell is special - it acts as "solid" or "air" depending on direction, e.g. door or top of + // fence. BLOCKTYPE m_BlockType; NIBBLETYPE m_BlockMeta; }; @@ -57,8 +70,8 @@ struct cPathCell class compareHeuristics { -public: - bool operator()(cPathCell * & a_V1, cPathCell * & a_V2); + public: + bool operator()(cPathCell *& a_V1, cPathCell *& a_V2); }; @@ -67,20 +80,26 @@ public: class cPath { -public: + public: /** Creates a pathfinder instance. After calling this, you are expected to call CalculationStep() once per tick or once per several ticks until it returns something other than CALCULATING. - @param a_StartingPoint The function expects this position to be the lowest block the mob is in, a rule of thumb: "The block where the Zombie's knees are at". + @param a_StartingPoint The function expects this position to be the lowest block the mob is in, a rule of thumb: + "The block where the Zombie's knees are at". @param a_EndingPoint "The block where the Zombie's knees want to be". @param a_MaxSteps The maximum steps before giving up. - @param a_BoundingBoxWidth the character's boundingbox width in blocks. Currently the parameter is ignored and 1 is assumed. - @param a_BoundingBoxHeight the character's boundingbox width in blocks. Currently the parameter is ignored and 2 is assumed. */ + @param a_BoundingBoxWidth the character's boundingbox width in blocks. Currently the parameter is ignored and 1 is + assumed. + @param a_BoundingBoxHeight the character's boundingbox width in blocks. Currently the parameter is ignored and 2 is + assumed. */ cPath( cChunk & a_Chunk, - const Vector3d & a_StartingPoint, const Vector3d & a_EndingPoint, int a_MaxSteps, - double a_BoundingBoxWidth, double a_BoundingBoxHeight + const Vector3d & a_StartingPoint, + const Vector3d & a_EndingPoint, + int a_MaxSteps, + double a_BoundingBoxWidth, + double a_BoundingBoxHeight ); /** Creates an invalid path which is not usable. You shouldn't call any method other than isValid on such a path. */ @@ -94,11 +113,11 @@ public: cPath & operator=(cPath && a_other) = delete; /** Performs part of the path calculation and returns the appropriate status. - If PATH_FOUND is returned, the path was found, and you can call query the instance for waypoints via GetNextWayPoint, etc. - If NEARBY_FOUND is returned, it means that the destination is not reachable, but a nearby destination - is reachable. If the user likes the alternative destination, they can call AcceptNearbyPath to treat the path as found, - and to make consequent calls to step return PATH_FOUND - If PATH_NOT_FOUND is returned, then no path was found. */ + If PATH_FOUND is returned, the path was found, and you can call query the instance for waypoints via + GetNextWayPoint, etc. If NEARBY_FOUND is returned, it means that the destination is not reachable, but a nearby + destination is reachable. If the user likes the alternative destination, they can call AcceptNearbyPath to treat the + path as found, and to make consequent calls to step return PATH_FOUND If PATH_NOT_FOUND is returned, then no path + was found. */ ePathFinderStatus CalculationStep(cChunk & a_Chunk); /** Called after the PathFinder's step returns NEARBY_FOUND. @@ -136,10 +155,7 @@ public: /** Returns true if this path is properly initialized. Returns false if this path was initialized with an empty constructor. If false, the path is unusable and you should not call any methods. */ - inline bool IsValid() const - { - return m_IsValid; - } + inline bool IsValid() const { return m_IsValid; } /** The amount of waypoints left to return. */ inline size_t WayPointsLeft() const @@ -151,12 +167,12 @@ public: -private: - + private: /* General */ bool StepOnce(); // The public version just calls this version * CALCULATIONS_PER_CALL times. void FinishCalculation(); // Clears the memory used for calculating the path. - void FinishCalculation(ePathFinderStatus a_NewStatus); // Clears the memory used for calculating the path and changes the status. + void FinishCalculation(ePathFinderStatus a_NewStatus + ); // Clears the memory used for calculating the path and changes the status. void AttemptToFindAlternative(); void BuildPath(); @@ -166,11 +182,11 @@ private: bool ProcessIfWalkable(const Vector3i & a_Location, cPathCell * a_Source, int a_Cost); /* Map management */ - void ProcessCell(cPathCell * a_Cell, cPathCell * a_Caller, int a_GDelta); + void ProcessCell(cPathCell * a_Cell, cPathCell * a_Caller, int a_GDelta); cPathCell * GetCell(const Vector3i & a_location); /* Pathfinding fields */ - std::priority_queue, compareHeuristics> m_OpenList; + std::priority_queue, compareHeuristics> m_OpenList; std::unordered_map> m_Map; Vector3i m_Destination; Vector3i m_Source; @@ -197,9 +213,9 @@ private: bool IsWalkable(const Vector3i & a_Location, const Vector3i & a_Source); bool BodyFitsIn(const Vector3i & a_Location, const Vector3i & a_Source); bool BlockTypeIsSpecial(BLOCKTYPE a_Type); - bool SpecialIsSolidFromThisDirection(BLOCKTYPE a_Type, NIBBLETYPE a_Meta, const Vector3i & a_Direction); + bool SpecialIsSolidFromThisDirection(BLOCKTYPE a_Type, NIBBLETYPE a_Meta, const Vector3i & a_Direction); bool HasSolidBelow(const Vector3i & a_Location); - #ifdef COMPILING_PATHFIND_DEBUGGER - #include "../path_irrlicht.cpp" - #endif +#ifdef COMPILING_PATHFIND_DEBUGGER +#include "../path_irrlicht.cpp" +#endif }; diff --git a/src/Mobs/PathFinder.cpp b/src/Mobs/PathFinder.cpp index 2e832918a..0fb2dda20 100644 --- a/src/Mobs/PathFinder.cpp +++ b/src/Mobs/PathFinder.cpp @@ -9,10 +9,7 @@ cPathFinder::cPathFinder(float a_MobWidth, float a_MobHeight) : - m_Width(a_MobWidth), - m_Height(a_MobHeight), - m_GiveUpCounter(0), - m_NotFoundCooldown(0) + m_Width(a_MobWidth), m_Height(a_MobHeight), m_GiveUpCounter(0), m_NotFoundCooldown(0) { } @@ -20,7 +17,13 @@ cPathFinder::cPathFinder(float a_MobWidth, float a_MobHeight) : -ePathFinderStatus cPathFinder::GetNextWayPoint(cChunk & a_Chunk, const Vector3d & a_Source, Vector3d * a_Destination, Vector3d * a_OutputWaypoint, bool a_DontCare) +ePathFinderStatus cPathFinder::GetNextWayPoint( + cChunk & a_Chunk, + const Vector3d & a_Source, + Vector3d * a_Destination, + Vector3d * a_OutputWaypoint, + bool a_DontCare +) { m_FinalDestination = *a_Destination; m_Source = a_Source; @@ -69,11 +72,13 @@ ePathFinderStatus cPathFinder::GetNextWayPoint(cChunk & a_Chunk, const Vector3d if (a_DontCare) { m_FinalDestination = m_PathDestination; - *a_Destination = m_FinalDestination; // Modify the mob's final destination because it doesn't care about reaching an exact spot + *a_Destination = m_FinalDestination; // Modify the mob's final destination because it doesn't care + // about reaching an exact spot } else { - m_DeviationOrigin = m_FinalDestination; // This is the only case in which m_DeviationOrigin != m_PathDestination + m_DeviationOrigin = + m_FinalDestination; // This is the only case in which m_DeviationOrigin != m_PathDestination } return ePathFinderStatus::CALCULATING; // The next call will trigger the PATH_FOUND case @@ -124,7 +129,6 @@ ePathFinderStatus cPathFinder::GetNextWayPoint(cChunk & a_Chunk, const Vector3d { *a_OutputWaypoint = m_FinalDestination; return ePathFinderStatus::PATH_FOUND; - } else { @@ -139,7 +143,8 @@ ePathFinderStatus cPathFinder::GetNextWayPoint(cChunk & a_Chunk, const Vector3d Waypoint.y = 0; Source.y = 0; - if (m_Path->IsFirstPoint() || (((Waypoint - Source).SqrLength() < WAYPOINT_RADIUS) && (m_Source.y >= m_WayPoint.y))) + if (m_Path->IsFirstPoint() || + (((Waypoint - Source).SqrLength() < WAYPOINT_RADIUS) && (m_Source.y >= m_WayPoint.y))) { // if the mob has just started or if the mob reached a waypoint, give them a new waypoint. m_WayPoint = m_Path->GetNextPoint(); @@ -148,7 +153,8 @@ ePathFinderStatus cPathFinder::GetNextWayPoint(cChunk & a_Chunk, const Vector3d } else { - // Otherwise, the mob is still walking towards its waypoint, we'll patiently wait. We won't update m_WayPoint. + // Otherwise, the mob is still walking towards its waypoint, we'll patiently wait. We won't update + // m_WayPoint. *a_OutputWaypoint = m_WayPoint; return ePathFinderStatus::PATH_FOUND; } @@ -161,7 +167,7 @@ ePathFinderStatus cPathFinder::GetNextWayPoint(cChunk & a_Chunk, const Vector3d -void cPathFinder::ResetPathFinding(cChunk &a_Chunk) +void cPathFinder::ResetPathFinding(cChunk & a_Chunk) { m_GiveUpCounter = 40; m_NoPathToTarget = false; @@ -192,26 +198,22 @@ bool cPathFinder::EnsureProperPoint(Vector3d & a_Vector, cChunk & a_Chunk) if (!cChunkDef::IsValidHeight(Below)) { return false; - } auto BelowRel = cChunkDef::AbsoluteToRelative(Below); Chunk->GetBlockTypeMeta(BelowRel, BlockType, BlockMeta); if (!(IsWaterOrSolid(BlockType))) { - constexpr std::array Offsets = - { - { - {-1, 0, 0}, - {1, 0, 0}, - {0, 0, -1}, - {0, 0, 1}, - {-1, 0, -1}, - {-1, 0, 1}, - {1, 0, -1}, - {1, 0, 1}, - } - }; + constexpr std::array Offsets = {{ + {-1, 0, 0}, + {1, 0, 0}, + {0, 0, -1}, + {0, 0, 1}, + {-1, 0, -1}, + {-1, 0, 1}, + {1, 0, -1}, + {1, 0, 1}, + }}; // Looks for a neighbouring block one block in x or z direction that is water or solid. bool InTheAir = true; diff --git a/src/Mobs/PathFinder.h b/src/Mobs/PathFinder.h index a4843744a..0c7c8aa5f 100644 --- a/src/Mobs/PathFinder.h +++ b/src/Mobs/PathFinder.h @@ -7,11 +7,12 @@ /** This class wraps cPath. cPath is a "dumb device" - You give it point A and point B, and it returns a full path path. cPathFinder - You give it a constant stream of point A (where you are) and point B (where you want to go), -and it tells you where to go next. It manages path recalculation internally, and is much more efficient that calling cPath every step. */ +and it tells you where to go next. It manages path recalculation internally, and is much more efficient that calling +cPath every step. */ class cPathFinder { -public: + public: /** Creates a cPathFinder instance. Each mob should have one cPathFinder throughout its lifetime. @param a_MobWidth The mob width. @param a_MobHeight The mob height. @@ -23,23 +24,32 @@ public: The mob is expected to call this function tick as long as it is following a path. @param a_Chunk The chunk in which the mob is currently at. @param a_Source The mob's position. a_Source's coordinates are expected to be within the chunk given in a_Chunk. - @param a_Destination The position the mob would like to reach. If a_ExactPath is true, the PathFinder may modify this. + @param a_Destination The position the mob would like to reach. If a_ExactPath is true, the PathFinder may modify + this. @param a_OutputWaypoint An output parameter: The next waypoint to go to. @param a_DontCare If true, the mob doesn't care where to go, and the Pathfinder may modify a_Destination. This should usually be false. An exception is a wandering idle mob which doesn't care about its final destination. In the future, idle mobs shouldn't use A* at all. Returns an ePathFinderStatus. - ePathFinderStatus:CALCULATING - The PathFinder is still processing a path. Nothing was written to a_OutputWaypoint. The mob should probably not move. - ePathFinderStatus:PATH_FOUND - The PathFinder has found a path to the target. The next waypoint was written a_OutputWaypoint. The mob should probably move to a_OutputWaypoint. - ePathFinderStatus:NEARBY_FOUND - The PathFinder did not find a destination to the target but did find a nearby spot. The next waypoint was written a_OutputWaypoint. The mob should probably move to a_OutputWaypoint. - ePathFinderStatus:PATH_NOT_FOUND - The PathFinder did not find a destination to the target. Nothing was written to a_OutputWaypoint. The mob should probably not move. + ePathFinderStatus:CALCULATING - The PathFinder is still processing a path. Nothing was written to a_OutputWaypoint. + The mob should probably not move. ePathFinderStatus:PATH_FOUND - The PathFinder has found a path to the target. The + next waypoint was written a_OutputWaypoint. The mob should probably move to a_OutputWaypoint. + ePathFinderStatus:NEARBY_FOUND - The PathFinder did not find a destination to the target but did find a nearby spot. + The next waypoint was written a_OutputWaypoint. The mob should probably move to a_OutputWaypoint. + ePathFinderStatus:PATH_NOT_FOUND - The PathFinder did not find a destination to the target. Nothing was written to + a_OutputWaypoint. The mob should probably not move. Note: Once NEARBY_FOUND is returned once, subsequent calls return PATH_FOUND. */ - ePathFinderStatus GetNextWayPoint(cChunk & a_Chunk, const Vector3d & a_Source, Vector3d * a_Destination, Vector3d * a_OutputWaypoint, bool a_DontCare = false); - -private: - + ePathFinderStatus GetNextWayPoint( + cChunk & a_Chunk, + const Vector3d & a_Source, + Vector3d * a_Destination, + Vector3d * a_OutputWaypoint, + bool a_DontCare = false + ); + + private: /** The width of the Mob which owns this PathFinder. */ float m_Width; @@ -78,11 +88,12 @@ private: /** Ensures the location is not in the air or under water. May change the Y coordinate of the given vector. 1. If a_Vector is the position of water, a_Vector's Y will be modified to point to the first air block above it. - 2. If a_Vector is the position of air, a_Vector's Y will be modified to point to the first airblock below it which has solid or water beneath. */ + 2. If a_Vector is the position of air, a_Vector's Y will be modified to point to the first airblock below it which + has solid or water beneath. */ bool EnsureProperPoint(Vector3d & a_Vector, cChunk & a_Chunk); /** Resets a pathfinding task, typically because m_FinalDestination has deviated too much from m_DeviationOrigin. */ - void ResetPathFinding(cChunk &a_Chunk); + void ResetPathFinding(cChunk & a_Chunk); /** Return true the the blocktype is either water or solid */ bool IsWaterOrSolid(BLOCKTYPE a_BlockType); diff --git a/src/Mobs/Pig.cpp b/src/Mobs/Pig.cpp index 5e7c18bf8..d279634a7 100644 --- a/src/Mobs/Pig.cpp +++ b/src/Mobs/Pig.cpp @@ -10,8 +10,7 @@ cPig::cPig(void) : - Super("Pig", mtPig, "entity.pig.hurt", "entity.pig.death", "entity.pig.ambient", 0.9f, 0.9f), - m_bIsSaddled(false) + Super("Pig", mtPig, "entity.pig.hurt", "entity.pig.death", "entity.pig.ambient", 0.9f, 0.9f), m_bIsSaddled(false) { } @@ -101,7 +100,7 @@ void cPig::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (m_Attachee->IsPlayer() && (m_Attachee->GetEquippedWeapon().m_ItemType == E_ITEM_CARROT_ON_STICK)) { - MoveToPosition((m_Attachee->GetPosition()) + (m_Attachee->GetLookVector()*10)); + MoveToPosition((m_Attachee->GetPosition()) + (m_Attachee->GetLookVector() * 10)); } } } @@ -125,7 +124,3 @@ bool cPig::DoTakeDamage(TakeDamageInfo & a_TDI) } return true; } - - - - diff --git a/src/Mobs/Pig.h b/src/Mobs/Pig.h index fe2837bec..8fc7bacf0 100644 --- a/src/Mobs/Pig.h +++ b/src/Mobs/Pig.h @@ -7,13 +7,11 @@ -class cPig: - public cPassiveMonster +class cPig : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: cPig(); CLASS_PROTODEF(cPig) @@ -25,19 +23,10 @@ public: virtual void OnRightClicked(cPlayer & a_Player) override; virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; - virtual void GetFollowedItems(cItems & a_Items) override - { - a_Items.Add(E_ITEM_CARROT); - } + virtual void GetFollowedItems(cItems & a_Items) override { a_Items.Add(E_ITEM_CARROT); } bool IsSaddled(void) const { return m_bIsSaddled; } -private: - + private: bool m_bIsSaddled; - -} ; - - - - +}; diff --git a/src/Mobs/Rabbit.cpp b/src/Mobs/Rabbit.cpp index d0d2fe4c1..01854af19 100644 --- a/src/Mobs/Rabbit.cpp +++ b/src/Mobs/Rabbit.cpp @@ -10,9 +10,12 @@ cRabbit::cRabbit(void) : - cRabbit(static_cast(GetRandomProvider().RandInt( - static_cast(eRabbitType::SaltAndPepper) // Max possible Rabbit-Type - )), 0) + cRabbit( + static_cast(GetRandomProvider().RandInt( + static_cast(eRabbitType::SaltAndPepper) // Max possible Rabbit-Type + )), + 0 + ) { } @@ -49,4 +52,3 @@ void cRabbit::GetDrops(cItems & a_Drops, cEntity * a_Killer) RareDrops.Add(cItem(E_ITEM_RABBITS_FOOT)); AddRandomRareDropItem(a_Drops, RareDrops, LootingLevel); } - diff --git a/src/Mobs/Rabbit.h b/src/Mobs/Rabbit.h index 33a9f7fa4..4a1fe9784 100644 --- a/src/Mobs/Rabbit.h +++ b/src/Mobs/Rabbit.h @@ -9,12 +9,12 @@ enum class eRabbitType : UInt8 { - Brown = 0, - White = 1, - Black = 2, - BlackAndWhite = 3, - Gold = 4, - SaltAndPepper = 5, + Brown = 0, + White = 1, + Black = 2, + BlackAndWhite = 3, + Gold = 4, + SaltAndPepper = 5, TheKillerBunny = 99 }; @@ -22,13 +22,11 @@ enum class eRabbitType : UInt8 -class cRabbit: - public cPassiveMonster +class cRabbit : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: cRabbit(); cRabbit(eRabbitType Type, int MoreCarrotTicks = 0); @@ -42,11 +40,10 @@ public: a_Items.Add(E_BLOCK_DANDELION); } - eRabbitType GetRabbitType() const { return m_Type; } - int GetMoreCarrotTicks() const { return m_MoreCarrotTicks; } - -private: + eRabbitType GetRabbitType() const { return m_Type; } + int GetMoreCarrotTicks() const { return m_MoreCarrotTicks; } + private: eRabbitType m_Type; int m_MoreCarrotTicks; // Ticks until the Rabbit eat planted Carrots -} ; +}; diff --git a/src/Mobs/Sheep.cpp b/src/Mobs/Sheep.cpp index be4def2b7..cc0c0d880 100644 --- a/src/Mobs/Sheep.cpp +++ b/src/Mobs/Sheep.cpp @@ -113,11 +113,13 @@ void cSheep::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) if (m_TimeToStopEating == 0) { - if (m_World->GetBlock({ PosX, PosY, PosZ }) == E_BLOCK_GRASS) // Make sure grass hasn't been destroyed in the meantime + if (m_World->GetBlock({PosX, PosY, PosZ}) == + E_BLOCK_GRASS) // Make sure grass hasn't been destroyed in the meantime { // The sheep ate the grass so we change it to dirt - m_World->SetBlock({ PosX, PosY, PosZ }, E_BLOCK_DIRT, 0); - GetWorld()->BroadcastSoundParticleEffect(EffectID::PARTICLE_BLOCK_BREAK, { PosX, PosY, PosZ }, E_BLOCK_GRASS); + m_World->SetBlock({PosX, PosY, PosZ}, E_BLOCK_DIRT, 0); + GetWorld() + ->BroadcastSoundParticleEffect(EffectID::PARTICLE_BLOCK_BREAK, {PosX, PosY, PosZ}, E_BLOCK_GRASS); m_IsSheared = false; m_World->BroadcastEntityMetadata(*this); } @@ -127,7 +129,7 @@ void cSheep::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (GetRandomProvider().RandBool(1.0 / 600.0)) { - if (m_World->GetBlock({ PosX, PosY, PosZ }) == E_BLOCK_GRASS) + if (m_World->GetBlock({PosX, PosY, PosZ}) == E_BLOCK_GRASS) { m_World->BroadcastEntityAnimation(*this, EntityAnimation::SheepEatsGrass); m_TimeToStopEating = 40; @@ -145,26 +147,25 @@ void cSheep::InheritFromParents(cMonster * a_Parent1, cMonster * a_Parent2) static const struct { short Parent1, Parent2, Child; - } ColorInheritance[] = - { - { E_META_WOOL_BLUE, E_META_WOOL_RED, E_META_WOOL_PURPLE }, - { E_META_WOOL_BLUE, E_META_WOOL_GREEN, E_META_WOOL_CYAN }, - { E_META_WOOL_YELLOW, E_META_WOOL_RED, E_META_WOOL_ORANGE }, - { E_META_WOOL_GREEN, E_META_WOOL_WHITE, E_META_WOOL_LIGHTGREEN }, - { E_META_WOOL_RED, E_META_WOOL_WHITE, E_META_WOOL_PINK }, - { E_META_WOOL_WHITE, E_META_WOOL_BLACK, E_META_WOOL_GRAY }, - { E_META_WOOL_PURPLE, E_META_WOOL_PINK, E_META_WOOL_MAGENTA }, - { E_META_WOOL_WHITE, E_META_WOOL_GRAY, E_META_WOOL_LIGHTGRAY }, - { E_META_WOOL_BLUE, E_META_WOOL_WHITE, E_META_WOOL_LIGHTBLUE }, + } ColorInheritance[] = { + {E_META_WOOL_BLUE, E_META_WOOL_RED, E_META_WOOL_PURPLE}, + {E_META_WOOL_BLUE, E_META_WOOL_GREEN, E_META_WOOL_CYAN}, + {E_META_WOOL_YELLOW, E_META_WOOL_RED, E_META_WOOL_ORANGE}, + {E_META_WOOL_GREEN, E_META_WOOL_WHITE, E_META_WOOL_LIGHTGREEN}, + {E_META_WOOL_RED, E_META_WOOL_WHITE, E_META_WOOL_PINK}, + {E_META_WOOL_WHITE, E_META_WOOL_BLACK, E_META_WOOL_GRAY}, + {E_META_WOOL_PURPLE, E_META_WOOL_PINK, E_META_WOOL_MAGENTA}, + {E_META_WOOL_WHITE, E_META_WOOL_GRAY, E_META_WOOL_LIGHTGRAY}, + {E_META_WOOL_BLUE, E_META_WOOL_WHITE, E_META_WOOL_LIGHTBLUE}, }; cSheep * Parent1 = static_cast(a_Parent1); cSheep * Parent2 = static_cast(a_Parent2); for (size_t i = 0; i < ARRAYCOUNT(ColorInheritance); i++) { - if ( - ((Parent1->GetFurColor() == ColorInheritance[i].Parent1) && (Parent2->GetFurColor() == ColorInheritance[i].Parent2)) || - ((Parent1->GetFurColor() == ColorInheritance[i].Parent2) && (Parent2->GetFurColor() == ColorInheritance[i].Parent1)) - ) + if (((Parent1->GetFurColor() == ColorInheritance[i].Parent1) && + (Parent2->GetFurColor() == ColorInheritance[i].Parent2)) || + ((Parent1->GetFurColor() == ColorInheritance[i].Parent2) && + (Parent2->GetFurColor() == ColorInheritance[i].Parent1))) { SetFurColor(ColorInheritance[i].Child); return; diff --git a/src/Mobs/Sheep.h b/src/Mobs/Sheep.h index 786dad206..b767fc058 100644 --- a/src/Mobs/Sheep.h +++ b/src/Mobs/Sheep.h @@ -7,13 +7,11 @@ -class cSheep: - public cPassiveMonster +class cSheep : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: /** The number is the color of the sheep. Use E_META_WOOL_* constants for the wool color. If you type -1, the server will generate a random color @@ -27,10 +25,7 @@ public: virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void InheritFromParents(cMonster * a_Parent1, cMonster * a_Parent2) override; - virtual void GetFollowedItems(cItems & a_Items) override - { - a_Items.Add(E_ITEM_WHEAT); - } + virtual void GetFollowedItems(cItems & a_Items) override { a_Items.Add(E_ITEM_WHEAT); } /** Generates a random color for the sheep like the vanilla server. The percent's where used are from the wiki: https://minecraft.wiki/w/Sheep#Breeding */ @@ -42,13 +37,8 @@ public: int GetFurColor(void) const { return m_WoolColor; } void SetFurColor(int a_WoolColor) { m_WoolColor = a_WoolColor; } -private: + private: bool m_IsSheared; int m_WoolColor; int m_TimeToStopEating; - -} ; - - - - +}; diff --git a/src/Mobs/Silverfish.cpp b/src/Mobs/Silverfish.cpp index 37684f8bc..76407151e 100644 --- a/src/Mobs/Silverfish.cpp +++ b/src/Mobs/Silverfish.cpp @@ -13,7 +13,15 @@ cSilverfish::cSilverfish() : - Super("Silverfish", mtSilverfish, "entity.silverfish.hurt", "entity.silverfish.death", "entity.silverfish.ambient", 0.4f, 0.3f) + Super( + "Silverfish", + mtSilverfish, + "entity.silverfish.hurt", + "entity.silverfish.death", + "entity.silverfish.ambient", + 0.4f, + 0.3f + ) { } @@ -21,7 +29,7 @@ cSilverfish::cSilverfish() : -bool cSilverfish::DoTakeDamage(TakeDamageInfo &a_TDI) +bool cSilverfish::DoTakeDamage(TakeDamageInfo & a_TDI) { // Call on our brethren to attack! // TODO: stop this if /gamerule mobGriefing is set to false @@ -76,7 +84,7 @@ bool cSilverfish::DoTakeDamage(TakeDamageInfo &a_TDI) { for (int OffsetZ = -HalfSide; OffsetZ <= HalfSide; OffsetZ++) { - if (CheckInfested({ OffsetX, +HalfSide, OffsetZ }) || CheckInfested({ OffsetX, -HalfSide, OffsetZ })) + if (CheckInfested({OffsetX, +HalfSide, OffsetZ}) || CheckInfested({OffsetX, -HalfSide, OffsetZ})) { return true; } @@ -87,7 +95,7 @@ bool cSilverfish::DoTakeDamage(TakeDamageInfo &a_TDI) { for (int OffsetY = -HalfSide + 1; OffsetY <= HalfSide - 1; OffsetY++) { - if (CheckInfested({ OffsetX, OffsetY, +HalfSide }) || CheckInfested({ OffsetX, OffsetY, -HalfSide })) + if (CheckInfested({OffsetX, OffsetY, +HalfSide}) || CheckInfested({OffsetX, OffsetY, -HalfSide})) { return true; } @@ -98,7 +106,7 @@ bool cSilverfish::DoTakeDamage(TakeDamageInfo &a_TDI) { for (int OffsetY = -HalfSide + 1; OffsetY <= HalfSide - 1; OffsetY++) { - if (CheckInfested({ +HalfSide, OffsetY, OffsetZ }) || CheckInfested({ -HalfSide, OffsetY, OffsetZ })) + if (CheckInfested({+HalfSide, OffsetY, OffsetZ}) || CheckInfested({-HalfSide, OffsetY, OffsetZ})) { return true; } diff --git a/src/Mobs/Silverfish.h b/src/Mobs/Silverfish.h index 3b8ffa6e6..1f3c8dcca 100644 --- a/src/Mobs/Silverfish.h +++ b/src/Mobs/Silverfish.h @@ -7,16 +7,14 @@ -class cSilverfish: - public cAggressiveMonster +class cSilverfish : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cSilverfish(); CLASS_PROTODEF(cSilverfish) virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; -} ; +}; diff --git a/src/Mobs/Skeleton.cpp b/src/Mobs/Skeleton.cpp index 12081207f..89f87067c 100644 --- a/src/Mobs/Skeleton.cpp +++ b/src/Mobs/Skeleton.cpp @@ -10,7 +10,15 @@ cSkeleton::cSkeleton(void) : - Super("Skeleton", mtSkeleton, "entity.skeleton.hurt", "entity.skeleton.death", "entity.skeleton.ambient", 0.6f, 1.99f), + Super( + "Skeleton", + mtSkeleton, + "entity.skeleton.hurt", + "entity.skeleton.death", + "entity.skeleton.ambient", + 0.6f, + 1.99f + ), m_ChargingBow(false) { } @@ -61,7 +69,8 @@ void cSkeleton::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) bool cSkeleton::Attack(std::chrono::milliseconds a_Dt) { - StopMovingToPosition(); // Todo handle this in a better way, the skeleton does some uneeded recalcs due to inStateChasing + StopMovingToPosition( + ); // Todo handle this in a better way, the skeleton does some uneeded recalcs due to inStateChasing auto & Random = GetRandomProvider(); if (!m_ChargingBow) @@ -73,7 +82,11 @@ bool cSkeleton::Attack(std::chrono::milliseconds a_Dt) if ((GetTarget() != nullptr) && (m_AttackCoolDownTicksLeft == 0)) { - Vector3d Inaccuracy = Vector3d(Random.RandReal(-0.25, 0.25), Random.RandReal(-0.25, 0.25), Random.RandReal(-0.25, 0.25)); + Vector3d Inaccuracy = Vector3d( + Random.RandReal(-0.25, 0.25), + Random.RandReal(-0.25, 0.25), + Random.RandReal(-0.25, 0.25) + ); Vector3d Speed = (GetTarget()->GetPosition() + Inaccuracy - GetPosition()) * 5; Speed.y += Random.RandInt(-1, 1); diff --git a/src/Mobs/Skeleton.h b/src/Mobs/Skeleton.h index 486bfe609..12ca5c1ba 100644 --- a/src/Mobs/Skeleton.h +++ b/src/Mobs/Skeleton.h @@ -7,13 +7,11 @@ -class cSkeleton: - public cAggressiveMonster +class cSkeleton : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cSkeleton(); CLASS_PROTODEF(cSkeleton) @@ -28,8 +26,6 @@ public: bool IsChargingBow() const { return m_ChargingBow; } -private: - + private: bool m_ChargingBow; - -} ; +}; diff --git a/src/Mobs/Slime.cpp b/src/Mobs/Slime.cpp index 320fa3c8a..43761a6ee 100644 --- a/src/Mobs/Slime.cpp +++ b/src/Mobs/Slime.cpp @@ -10,9 +10,10 @@ cSlime::cSlime(int a_Size) : - Super("Slime", + Super( + "Slime", mtSlime, - fmt::format(FMT_STRING("entity.{}slime.hurt"), GetSizeName(a_Size)), + fmt::format(FMT_STRING("entity.{}slime.hurt"), GetSizeName(a_Size)), fmt::format(FMT_STRING("entity.{}slime.death"), GetSizeName(a_Size)), "", 0.51f * a_Size, @@ -80,17 +81,18 @@ void cSlime::KilledBy(TakeDamageInfo & a_TDI) double AddZ = (i / 2 - 0.5) * m_Size / 4.0; // Queue slimes to be spawned after the 1 second death animation has finished playing: - m_World->ScheduleTask(cTickTime(20), [ - Position = GetPosition() + Vector3d(AddX, 0.5, AddZ), - Yaw = Random.RandReal(360.0f), - Size = m_Size / 2 - ](cWorld & a_World) - { - auto NewSlime = std::make_unique(Size); - NewSlime->SetPosition(Position); - NewSlime->SetYaw(Yaw); - a_World.SpawnMobFinalize(std::move(NewSlime)); - }); + m_World->ScheduleTask( + cTickTime(20), + [Position = GetPosition() + Vector3d(AddX, 0.5, AddZ), + Yaw = Random.RandReal(360.0f), + Size = m_Size / 2](cWorld & a_World) + { + auto NewSlime = std::make_unique(Size); + NewSlime->SetPosition(Position); + NewSlime->SetYaw(Yaw); + a_World.SpawnMobFinalize(std::move(NewSlime)); + } + ); } } Super::KilledBy(a_TDI); @@ -108,7 +110,3 @@ AString cSlime::GetSizeName(int a_Size) } return ""; } - - - - diff --git a/src/Mobs/Slime.h b/src/Mobs/Slime.h index e1be964eb..1bbaa28f2 100644 --- a/src/Mobs/Slime.h +++ b/src/Mobs/Slime.h @@ -7,13 +7,11 @@ -class cSlime: - public cAggressiveMonster +class cSlime : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: /** Creates a slime of the specified size; size can be 1, 2 or 4, with 1 is the smallest and 4 is the tallest. */ cSlime(int a_Size); @@ -30,13 +28,8 @@ public: Returns either "big" or "small". */ static AString GetSizeName(int a_Size); -protected: - + protected: /** Size of the slime, with 1 being the smallest. Vanilla uses sizes 1, 2 and 4 only. */ int m_Size; -} ; - - - - +}; diff --git a/src/Mobs/SnowGolem.cpp b/src/Mobs/SnowGolem.cpp index fabcfb070..d5fb015b0 100644 --- a/src/Mobs/SnowGolem.cpp +++ b/src/Mobs/SnowGolem.cpp @@ -67,12 +67,17 @@ bool cSnowGolem::Attack(std::chrono::milliseconds a_Dt) UNUSED(a_Dt); // Comment inherited from skeletons - StopMovingToPosition(); // Todo handle this in a better way, the snowman does some uneeded recalcs due to inStateChasing + StopMovingToPosition( + ); // Todo handle this in a better way, the snowman does some uneeded recalcs due to inStateChasing if ((GetTarget() != nullptr) && (m_AttackCoolDownTicksLeft == 0)) { auto & Random = GetRandomProvider(); - Vector3d Inaccuracy = Vector3d(Random.RandReal(-0.75, 0.75), Random.RandReal(-0.75, 0.75), Random.RandReal(-0.75, 0.75)); + Vector3d Inaccuracy = Vector3d( + Random.RandReal(-0.75, 0.75), + Random.RandReal(-0.75, 0.75), + Random.RandReal(-0.75, 0.75) + ); // The projectile is launched from the head const auto HeadPos = GetPosition().addedY(1.5); diff --git a/src/Mobs/SnowGolem.h b/src/Mobs/SnowGolem.h index 6c6e88868..1d18f6cfe 100644 --- a/src/Mobs/SnowGolem.h +++ b/src/Mobs/SnowGolem.h @@ -7,13 +7,11 @@ -class cSnowGolem: - public cPassiveAggressiveMonster +class cSnowGolem : public cPassiveAggressiveMonster { using Super = cPassiveAggressiveMonster; -public: - + public: cSnowGolem(); CLASS_PROTODEF(cSnowGolem) @@ -21,8 +19,4 @@ public: virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual bool Attack(std::chrono::milliseconds a_Dt) override; -} ; - - - - +}; diff --git a/src/Mobs/Spider.h b/src/Mobs/Spider.h index 2a0b9861e..92e640b38 100644 --- a/src/Mobs/Spider.h +++ b/src/Mobs/Spider.h @@ -7,13 +7,11 @@ -class cSpider: - public cAggressiveMonster +class cSpider : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cSpider(); CLASS_PROTODEF(cSpider) @@ -21,8 +19,4 @@ public: virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual void EventSeePlayer(cPlayer *, cChunk & a_Chunk) override; virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; -} ; - - - - +}; diff --git a/src/Mobs/Squid.h b/src/Mobs/Squid.h index a2cc48b13..c85c43cea 100644 --- a/src/Mobs/Squid.h +++ b/src/Mobs/Squid.h @@ -7,13 +7,11 @@ -class cSquid: - public cPassiveMonster +class cSquid : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: cSquid(); virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; @@ -24,8 +22,4 @@ public: // Squids do not drown (or float) virtual void HandleAir(void) override {} -} ; - - - - +}; diff --git a/src/Mobs/Villager.cpp b/src/Mobs/Villager.cpp index aa5409e4d..b9746f189 100644 --- a/src/Mobs/Villager.cpp +++ b/src/Mobs/Villager.cpp @@ -12,7 +12,15 @@ cVillager::cVillager(eVillagerType VillagerType) : - Super("Villager", mtVillager, "entity.villager.hurt", "entity.villager.death", "entity.villager.ambient", 0.6f, 1.95f), + Super( + "Villager", + mtVillager, + "entity.villager.hurt", + "entity.villager.death", + "entity.villager.ambient", + 0.6f, + 1.95f + ), m_ActionCountDown(-1), m_Type(VillagerType), m_FarmerAction(faIdling), @@ -118,7 +126,9 @@ void cVillager::TickFarmer() MoveToPosition(static_cast(m_CropsPos) + Vector3d(0.5, 0, 0.5)); // Forcing the farmer to look at the work spots. - Vector3d Direction = (m_FinalDestination - (GetPosition() + Vector3d(0, 1.6, 0))); // We get the direction from the eyes of the farmer to the work spot. + Vector3d Direction = + (m_FinalDestination - (GetPosition() + Vector3d(0, 1.6, 0)) + ); // We get the direction from the eyes of the farmer to the work spot. Direction.Normalize(); SetPitch(std::asin(-Direction.y) / M_PI * 180); } @@ -155,7 +165,6 @@ void cVillager::TickFarmer() { ScanAreaForWork(); } - } @@ -171,17 +180,18 @@ void cVillager::ScanAreaForWork() // Read area to be checked for crops. cBlockArea Surrounding; - Surrounding.Read( - *m_World, - MinPos, MaxPos - ); + Surrounding.Read(*m_World, MinPos, MaxPos); for (int I = 0; I < FARMER_RANDOM_TICK_SPEED; I++) { for (int Y = MinPos.y; Y <= MaxPos.y; Y++) { // Pick random coordinates and check for crops. - Vector3i CandidatePos(MinPos.x + m_World->GetTickRandomNumber(MaxPos.x - MinPos.x - 1), Y, MinPos.z + m_World->GetTickRandomNumber(MaxPos.z - MinPos.z - 1)); + Vector3i CandidatePos( + MinPos.x + m_World->GetTickRandomNumber(MaxPos.x - MinPos.x - 1), + Y, + MinPos.z + m_World->GetTickRandomNumber(MaxPos.z - MinPos.z - 1) + ); // A villager can harvest this. if (IsHarvestable(CandidatePos)) @@ -222,7 +232,11 @@ void cVillager::HandleFarmerTryHarvestCrops() // Check if the blocks didn't change while the villager was walking to the coordinates. if (IsHarvestable(m_CropsPos)) { - m_World->BroadcastSoundParticleEffect(EffectID::PARTICLE_BLOCK_BREAK, m_CropsPos, m_World->GetBlock(m_CropsPos)); + m_World->BroadcastSoundParticleEffect( + EffectID::PARTICLE_BLOCK_BREAK, + m_CropsPos, + m_World->GetBlock(m_CropsPos) + ); m_World->DropBlockAsPickups(m_CropsPos, this, nullptr); // Applying 0.5 second cooldown. m_ActionCountDown = 10; @@ -239,7 +253,7 @@ void cVillager::CheckForNearbyCrops() // Search for adjacent crops - constexpr std::array Directions = { Vector3i{0, 0, -1}, {0, 0, 1}, {1, 0, 0}, {-1, 0, 0} }; + constexpr std::array Directions = {Vector3i {0, 0, -1}, {0, 0, 1}, {1, 0, 0}, {-1, 0, 0}}; for (Vector3i Direction : Directions) { @@ -257,7 +271,6 @@ void cVillager::CheckForNearbyCrops() MoveToPosition(static_cast(m_CropsPos) + Vector3d(0.5, 0, 0.5)); return; } - } // There is no more work to do around the previous crops. @@ -350,10 +363,8 @@ void cVillager::HandleFarmerTryPlaceCrops() bool cVillager::CanPlantCrops() { - return m_Inventory.HasItems(cItem(E_ITEM_SEEDS)) || - m_Inventory.HasItems(cItem(E_ITEM_BEETROOT_SEEDS)) || - m_Inventory.HasItems(cItem(E_ITEM_POTATO)) || - m_Inventory.HasItems(cItem(E_ITEM_CARROT)); + return m_Inventory.HasItems(cItem(E_ITEM_SEEDS)) || m_Inventory.HasItems(cItem(E_ITEM_BEETROOT_SEEDS)) || + m_Inventory.HasItems(cItem(E_ITEM_POTATO)) || m_Inventory.HasItems(cItem(E_ITEM_CARROT)); } @@ -395,7 +406,8 @@ bool cVillager::IsHarvestable(Vector3i a_CropsPos) bool cVillager::IsPlantable(Vector3i a_CropsPos) { - return (m_World->GetBlock(a_CropsPos.addedY(-1)) == E_BLOCK_FARMLAND) && (m_World->GetBlock(a_CropsPos) == E_BLOCK_AIR); + return (m_World->GetBlock(a_CropsPos.addedY(-1)) == E_BLOCK_FARMLAND) && + (m_World->GetBlock(a_CropsPos) == E_BLOCK_AIR); } diff --git a/src/Mobs/Villager.h b/src/Mobs/Villager.h index ef1c9e70f..947c1981a 100644 --- a/src/Mobs/Villager.h +++ b/src/Mobs/Villager.h @@ -8,23 +8,21 @@ -class cVillager: - public cPassiveMonster +class cVillager : public cPassiveMonster { using Super = cPassiveMonster; -public: - + public: enum eVillagerType { - vtFarmer = 0, - vtLibrarian = 1, - vtPriest = 2, + vtFarmer = 0, + vtLibrarian = 1, + vtPriest = 2, vtBlacksmith = 3, - vtButcher = 4, - vtGeneric = 5, + vtButcher = 4, + vtGeneric = 5, vtMax - } ; + }; cVillager(eVillagerType VillagerType); @@ -35,8 +33,8 @@ public: // cEntity overrides virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; - virtual void Tick (std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; - virtual void KilledBy (TakeDamageInfo & a_TDI) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; + virtual void KilledBy(TakeDamageInfo & a_TDI) override; // cVillager functions /** Returns the villager hidden inventory (8 slots). */ @@ -58,7 +56,7 @@ public: faIdling, faPlanting, faHarvesting, - } ; + }; static const int FARMER_RANDOM_TICK_SPEED = 5; /** With 10% chance, it takes about 20 seconds to find a spot. */ @@ -69,13 +67,16 @@ public: /** Tick function for farmers. */ void TickFarmer(); - /** Searches in a 31x3x31 area to harvest crops or spaces to plant crops. If it found some it will navigate to them. */ + /** Searches in a 31x3x31 area to harvest crops or spaces to plant crops. If it found some it will navigate to them. + */ void ScanAreaForWork(); - /** Looks if the farmer has reached it's destination, and if it's still crops and the destination is closer then 1 block it will harvest them. */ + /** Looks if the farmer has reached it's destination, and if it's still crops and the destination is closer then 1 + * block it will harvest them. */ void HandleFarmerTryHarvestCrops(); - /** Looks if the farmer has reached it's destination, and if it's still non obstructed farmland and the destination is closer then 1 block it will plant crops. */ + /** Looks if the farmer has reached it's destination, and if it's still non obstructed farmland and the destination + * is closer then 1 block it will plant crops. */ void HandleFarmerTryPlaceCrops(); /** Checking for harvesting or planting nearby crops */ @@ -85,25 +86,16 @@ public: bool CanPlantCrops(); /** Returns whether the farmer is not working. */ - bool IsIdling() - { - return m_FarmerAction == faIdling; - } + bool IsIdling() { return m_FarmerAction == faIdling; } // Get and set functions. - int GetVilType(void) const { return m_Type; } + int GetVilType(void) const { return m_Type; } eFarmerAction GetFarmerAction(void) const { return m_FarmerAction; } -private: - + private: int m_ActionCountDown; int m_Type; eFarmerAction m_FarmerAction; Vector3i m_CropsPos; cItemGrid m_Inventory; - -} ; - - - - +}; diff --git a/src/Mobs/Witch.cpp b/src/Mobs/Witch.cpp index 8cf8aaae2..a49a8ab0d 100644 --- a/src/Mobs/Witch.cpp +++ b/src/Mobs/Witch.cpp @@ -42,7 +42,3 @@ void cWitch::GetDrops(cItems & a_Drops, cEntity * a_Killer) } AddRandomWeaponDropItem(a_Drops, LootingLevel); } - - - - diff --git a/src/Mobs/Witch.h b/src/Mobs/Witch.h index 44f4ba271..4134230fb 100644 --- a/src/Mobs/Witch.h +++ b/src/Mobs/Witch.h @@ -7,22 +7,16 @@ -class cWitch: - public cAggressiveMonster +class cWitch : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cWitch(); CLASS_PROTODEF(cWitch) virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; - bool IsAngry(void) const {return ((m_EMState == ATTACKING) || (m_EMState == CHASING)); } -} ; - - - - + bool IsAngry(void) const { return ((m_EMState == ATTACKING) || (m_EMState == CHASING)); } +}; diff --git a/src/Mobs/Wither.cpp b/src/Mobs/Wither.cpp index 87f5e170d..2d2f87992 100644 --- a/src/Mobs/Wither.cpp +++ b/src/Mobs/Wither.cpp @@ -77,7 +77,8 @@ void cWither::KilledBy(TakeDamageInfo & a_TDI) Super::KilledBy(a_TDI); Vector3d Pos = GetPosition(); - m_World->ForEachPlayer([=](cPlayer & a_Player) + m_World->ForEachPlayer( + [=](cPlayer & a_Player) { // TODO 2014-05-21 xdot: Vanilla minecraft uses an AABB check instead of a radius one double Dist = (a_Player.GetPosition() - Pos).Length(); @@ -100,7 +101,16 @@ void cWither::SpawnOn(cClientHandle & a_Client) Super::SpawnOn(a_Client); // Purple boss bar with no divisions that darkens the sky: - a_Client.SendBossBarAdd(GetUniqueID(), cCompositeChat("Wither"), GetHealth() / GetMaxHealth(), BossBarColor::Purple, BossBarDivisionType::None, true, false, false); + a_Client.SendBossBarAdd( + GetUniqueID(), + cCompositeChat("Wither"), + GetHealth() / GetMaxHealth(), + BossBarColor::Purple, + BossBarDivisionType::None, + true, + false, + false + ); } diff --git a/src/Mobs/Wither.h b/src/Mobs/Wither.h index f6afb1e6d..8eb634dd9 100644 --- a/src/Mobs/Wither.h +++ b/src/Mobs/Wither.h @@ -7,13 +7,11 @@ -class cWither: - public cAggressiveMonster +class cWither : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cWither(); CLASS_PROTODEF(cWither) @@ -33,9 +31,8 @@ public: virtual void SpawnOn(cClientHandle & a_Client) override; virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; -private: - - /** The number of ticks of invulnerability left after being initially created. Zero once invulnerability has expired. */ + private: + /** The number of ticks of invulnerability left after being initially created. Zero once invulnerability has + * expired. */ unsigned int m_WitherInvulnerableTicks; - -} ; +}; diff --git a/src/Mobs/WitherSkeleton.cpp b/src/Mobs/WitherSkeleton.cpp index e2acd8036..7d800e56f 100644 --- a/src/Mobs/WitherSkeleton.cpp +++ b/src/Mobs/WitherSkeleton.cpp @@ -9,7 +9,15 @@ cWitherSkeleton::cWitherSkeleton(void) : - Super("WitherSkeleton", mtWitherSkeleton, "entity.wither_skeleton.hurt", "entity.wither_skeleton.death", "entity.wither_skeleton.ambient", 0.7f, 2.4f) + Super( + "WitherSkeleton", + mtWitherSkeleton, + "entity.wither_skeleton.hurt", + "entity.wither_skeleton.death", + "entity.wither_skeleton.ambient", + 0.7f, + 2.4f + ) { } diff --git a/src/Mobs/WitherSkeleton.h b/src/Mobs/WitherSkeleton.h index 8aa7574df..c4a710bbf 100644 --- a/src/Mobs/WitherSkeleton.h +++ b/src/Mobs/WitherSkeleton.h @@ -7,21 +7,18 @@ -class cWitherSkeleton: - public cAggressiveMonster +class cWitherSkeleton : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cWitherSkeleton(); CLASS_PROTODEF(cWitherSkeleton) -private: - + private: virtual bool Attack(std::chrono::milliseconds a_Dt) override; virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual bool IsNetherNative(void) override { return true; } virtual void SpawnOn(cClientHandle & a_ClientHandle) override; -} ; +}; diff --git a/src/Mobs/Wolf.cpp b/src/Mobs/Wolf.cpp index 553ca1c73..45647ffba 100644 --- a/src/Mobs/Wolf.cpp +++ b/src/Mobs/Wolf.cpp @@ -42,14 +42,14 @@ bool cWolf::DoTakeDamage(TakeDamageInfo & a_TDI) { if (m_IsTame) { - if ((static_cast(currTarget)->GetUUID() == m_OwnerUUID)) + if ((static_cast(currTarget)->GetUUID() == m_OwnerUUID)) { SetTarget(PreviousTarget); // Do not attack owner } else { SetIsSitting(false); - NotifyAlliesOfFight(static_cast(a_TDI.Attacker)); + NotifyAlliesOfFight(static_cast(a_TDI.Attacker)); } } else @@ -60,7 +60,7 @@ bool cWolf::DoTakeDamage(TakeDamageInfo & a_TDI) else if (m_IsTame) { SetIsSitting(false); - NotifyAlliesOfFight(static_cast(a_TDI.Attacker)); + NotifyAlliesOfFight(static_cast(a_TDI.Attacker)); } } @@ -80,7 +80,9 @@ void cWolf::NotifyAlliesOfFight(cPawn * a_Opponent) } m_NotificationCooldown = 15; - m_World->DoWithPlayerByUUID(m_OwnerUUID, [=](cPlayer & a_Player) + m_World->DoWithPlayerByUUID( + m_OwnerUUID, + [=](cPlayer & a_Player) { a_Player.NotifyNearbyWolves(a_Opponent, false); return false; @@ -105,9 +107,8 @@ bool cWolf::Attack(std::chrono::milliseconds a_Dt) } } - NotifyAlliesOfFight(static_cast(GetTarget())); + NotifyAlliesOfFight(static_cast(GetTarget())); return Super::Attack(a_Dt); - } @@ -116,10 +117,7 @@ bool cWolf::Attack(std::chrono::milliseconds a_Dt) void cWolf::ReceiveNearbyFightInfo(const cUUID & a_PlayerID, cPawn * a_Opponent, bool a_IsPlayerInvolved) { - if ( - (a_Opponent == nullptr) || IsSitting() || (!IsTame()) || - (!a_Opponent->IsPawn()) || (a_PlayerID != m_OwnerUUID) - ) + if ((a_Opponent == nullptr) || IsSitting() || (!IsTame()) || (!a_Opponent->IsPawn()) || (a_PlayerID != m_OwnerUUID)) { return; } @@ -156,8 +154,6 @@ void cWolf::ReceiveNearbyFightInfo(const cUUID & a_PlayerID, cPawn * a_Opponent, } SetTarget(a_Opponent); - - } @@ -263,9 +259,9 @@ void cWolf::OnRightClicked(cPlayer & a_Player) if ((EquippedItemType == E_ITEM_SPAWN_EGG) && (!IsTame())) { eMonsterType MonsterType = cItemSpawnEggHandler::ItemDamageToMonsterType(EquippedItem.m_ItemDamage); - if ( - (MonsterType == m_MobType) && - (m_World->SpawnMob(GetPosX(), GetPosY(), GetPosZ(), m_MobType, true) != cEntity::INVALID_ID)) // Spawning succeeded + if ((MonsterType == m_MobType) && + (m_World->SpawnMob(GetPosX(), GetPosY(), GetPosZ(), m_MobType, true) != cEntity::INVALID_ID + )) // Spawning succeeded { if (!a_Player.IsGameModeCreative()) { @@ -305,47 +301,51 @@ void cWolf::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) if (GetTarget() == nullptr) { - m_World->DoWithNearestPlayer(GetPosition(), static_cast(m_SightDistance), [&](cPlayer & a_Player) -> bool - { - switch (a_Player.GetEquippedItem().m_ItemType) + m_World->DoWithNearestPlayer( + GetPosition(), + static_cast(m_SightDistance), + [&](cPlayer & a_Player) -> bool { - case E_ITEM_BONE: - case E_ITEM_RAW_BEEF: - case E_ITEM_STEAK: - case E_ITEM_RAW_CHICKEN: - case E_ITEM_COOKED_CHICKEN: - case E_ITEM_ROTTEN_FLESH: - case E_ITEM_RAW_PORKCHOP: - case E_ITEM_COOKED_PORKCHOP: + switch (a_Player.GetEquippedItem().m_ItemType) { - if (!IsBegging()) + case E_ITEM_BONE: + case E_ITEM_RAW_BEEF: + case E_ITEM_STEAK: + case E_ITEM_RAW_CHICKEN: + case E_ITEM_COOKED_CHICKEN: + case E_ITEM_ROTTEN_FLESH: + case E_ITEM_RAW_PORKCHOP: + case E_ITEM_COOKED_PORKCHOP: { - SetIsBegging(true); - m_World->BroadcastEntityMetadata(*this); - } + if (!IsBegging()) + { + SetIsBegging(true); + m_World->BroadcastEntityMetadata(*this); + } - m_FinalDestination = a_Player.GetPosition(); // So that we will look at a player holding food + m_FinalDestination = a_Player.GetPosition(); // So that we will look at a player holding food - // Don't move to the player if the wolf is sitting. - if (!IsSitting()) - { - MoveToPosition(a_Player.GetPosition()); - } + // Don't move to the player if the wolf is sitting. + if (!IsSitting()) + { + MoveToPosition(a_Player.GetPosition()); + } - break; - } - default: - { - if (IsBegging()) + break; + } + default: { - SetIsBegging(false); - m_World->BroadcastEntityMetadata(*this); + if (IsBegging()) + { + SetIsBegging(false); + m_World->BroadcastEntityMetadata(*this); + } } } - } - return true; - }); + return true; + } + ); } else { diff --git a/src/Mobs/Wolf.h b/src/Mobs/Wolf.h index d3b689ef3..71e214f36 100644 --- a/src/Mobs/Wolf.h +++ b/src/Mobs/Wolf.h @@ -9,13 +9,11 @@ class cEntity; -class cWolf: - public cPassiveAggressiveMonster +class cWolf : public cPassiveAggressiveMonster { using Super = cPassiveAggressiveMonster; -public: - + public: cWolf(); CLASS_PROTODEF(cWolf) @@ -28,21 +26,21 @@ public: virtual bool Attack(std::chrono::milliseconds a_Dt) override; // Get functions - bool IsSitting (void) const override { return m_IsSitting; } - bool IsTame (void) const override { return m_IsTame; } - bool IsBegging (void) const { return m_IsBegging; } - bool IsAngry (void) const { return m_IsAngry; } - AString GetOwnerName (void) const { return m_OwnerName; } - cUUID GetOwnerUUID (void) const { return m_OwnerUUID; } - int GetCollarColor(void) const { return m_CollarColor; } + bool IsSitting(void) const override { return m_IsSitting; } + bool IsTame(void) const override { return m_IsTame; } + bool IsBegging(void) const { return m_IsBegging; } + bool IsAngry(void) const { return m_IsAngry; } + AString GetOwnerName(void) const { return m_OwnerName; } + cUUID GetOwnerUUID(void) const { return m_OwnerUUID; } + int GetCollarColor(void) const { return m_CollarColor; } // Set functions - void SetIsSitting (bool a_IsSitting) { m_IsSitting = a_IsSitting; } - void SetIsTame (bool a_IsTame) { m_IsTame = a_IsTame; } - void SetIsBegging (bool a_IsBegging) { m_IsBegging = a_IsBegging; } - void SetIsAngry (bool a_IsAngry) { m_IsAngry = a_IsAngry; } - void SetCollarColor(int a_CollarColor) { m_CollarColor = a_CollarColor; } - void SetOwner (const AString & a_NewOwnerName, const cUUID & a_NewOwnerUUID) + void SetIsSitting(bool a_IsSitting) { m_IsSitting = a_IsSitting; } + void SetIsTame(bool a_IsTame) { m_IsTame = a_IsTame; } + void SetIsBegging(bool a_IsBegging) { m_IsBegging = a_IsBegging; } + void SetIsAngry(bool a_IsAngry) { m_IsAngry = a_IsAngry; } + void SetCollarColor(int a_CollarColor) { m_CollarColor = a_CollarColor; } + void SetOwner(const AString & a_NewOwnerName, const cUUID & a_NewOwnerUUID) { m_OwnerName = a_NewOwnerName; m_OwnerUUID = a_NewOwnerUUID; @@ -76,18 +74,13 @@ public: } -protected: - - bool m_IsSitting; - bool m_IsTame; - bool m_IsBegging; - bool m_IsAngry; + protected: + bool m_IsSitting; + bool m_IsTame; + bool m_IsBegging; + bool m_IsAngry; AString m_OwnerName; - cUUID m_OwnerUUID; - int m_CollarColor; - int m_NotificationCooldown; -} ; - - - - + cUUID m_OwnerUUID; + int m_CollarColor; + int m_NotificationCooldown; +}; diff --git a/src/Mobs/Zombie.h b/src/Mobs/Zombie.h index 111847ea3..940e22d78 100644 --- a/src/Mobs/Zombie.h +++ b/src/Mobs/Zombie.h @@ -6,22 +6,15 @@ -class cZombie: - public cAggressiveMonster +class cZombie : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cZombie(); CLASS_PROTODEF(cZombie) virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual bool IsUndead(void) override { return true; } - -} ; - - - - +}; diff --git a/src/Mobs/ZombiePigman.cpp b/src/Mobs/ZombiePigman.cpp index 755f585ab..b26350075 100644 --- a/src/Mobs/ZombiePigman.cpp +++ b/src/Mobs/ZombiePigman.cpp @@ -9,7 +9,15 @@ cZombiePigman::cZombiePigman(void) : - Super("ZombiePigman", mtZombiePigman, "entity.zombie_pig.hurt", "entity.zombie_pig.death", "entity.zombie_pig.ambient", 0.6f, 1.95f) + Super( + "ZombiePigman", + mtZombiePigman, + "entity.zombie_pig.hurt", + "entity.zombie_pig.death", + "entity.zombie_pig.ambient", + 0.6f, + 1.95f + ) { } diff --git a/src/Mobs/ZombiePigman.h b/src/Mobs/ZombiePigman.h index 93535a3ce..7ccff687e 100644 --- a/src/Mobs/ZombiePigman.h +++ b/src/Mobs/ZombiePigman.h @@ -6,22 +6,19 @@ -class cZombiePigman: - public cPassiveAggressiveMonster +class cZombiePigman : public cPassiveAggressiveMonster { using Super = cPassiveAggressiveMonster; -public: - + public: cZombiePigman(); CLASS_PROTODEF(cZombiePigman) -private: - + private: virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; virtual bool IsUndead(void) override { return true; } virtual bool IsNetherNative(void) override { return true; } virtual void KilledBy(TakeDamageInfo & a_TDI) override; virtual void SpawnOn(cClientHandle & a_ClientHandle) override; -} ; +}; diff --git a/src/Mobs/ZombieVillager.cpp b/src/Mobs/ZombieVillager.cpp index cde099947..ae7ad96ca 100644 --- a/src/Mobs/ZombieVillager.cpp +++ b/src/Mobs/ZombieVillager.cpp @@ -11,7 +11,15 @@ cZombieVillager::cZombieVillager(cVillager::eVillagerType a_Profession) : - Super("ZombieVillager", mtZombieVillager, "entity.zombie_villager.hurt", "entity.zombie_villager.death", "entity.ambient", 0.6f, 1.95f), + Super( + "ZombieVillager", + mtZombieVillager, + "entity.zombie_villager.hurt", + "entity.zombie_villager.death", + "entity.ambient", + 0.6f, + 1.95f + ), m_ConversionTime(-1), m_Profession(a_Profession) { diff --git a/src/Mobs/ZombieVillager.h b/src/Mobs/ZombieVillager.h index 2a3e67959..989d86e8c 100644 --- a/src/Mobs/ZombieVillager.h +++ b/src/Mobs/ZombieVillager.h @@ -7,28 +7,24 @@ -class cZombieVillager: - public cAggressiveMonster +class cZombieVillager : public cAggressiveMonster { using Super = cAggressiveMonster; -public: - + public: cZombieVillager(cVillager::eVillagerType a_Profession); CLASS_PROTODEF(cZombieVillager) - virtual void GetDrops (cItems & a_Drops, cEntity * a_Killer = nullptr) override; - virtual void Tick (std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; - virtual void OnRightClicked (cPlayer & a_Player) override; - virtual bool IsUndead (void) override { return true; } - - int ConversionTime (void) const { return m_ConversionTime; } - cVillager::eVillagerType GetProfession (void) const { return m_Profession; } + virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; + virtual void OnRightClicked(cPlayer & a_Player) override; + virtual bool IsUndead(void) override { return true; } -private: + int ConversionTime(void) const { return m_ConversionTime; } + cVillager::eVillagerType GetProfession(void) const { return m_Profession; } + private: int m_ConversionTime; cVillager::eVillagerType m_Profession; - -} ; +}; diff --git a/src/MonsterConfig.cpp b/src/MonsterConfig.cpp index 271a72a7f..ee0265eab 100644 --- a/src/MonsterConfig.cpp +++ b/src/MonsterConfig.cpp @@ -12,13 +12,13 @@ struct cMonsterConfig::sAttributesStruct { AString m_Name; - int m_SightDistance; - int m_AttackDamage; - double m_AttackRange; - double m_AttackRate; - double m_MaxHealth; - bool m_IsFireproof; - bool m_BurnsInDaylight; + int m_SightDistance; + int m_AttackDamage; + double m_AttackRange; + double m_AttackRate; + double m_MaxHealth; + bool m_IsFireproof; + bool m_BurnsInDaylight; }; @@ -28,15 +28,15 @@ struct cMonsterConfig::sAttributesStruct struct cMonsterConfig::sMonsterConfigState { AString MonsterTypes; - std::list< sAttributesStruct > AttributesList; + std::list AttributesList; }; -cMonsterConfig::cMonsterConfig(void) - : m_pState( new sMonsterConfigState) +cMonsterConfig::cMonsterConfig(void) : + m_pState(new sMonsterConfigState) { Initialize(); } @@ -70,12 +70,12 @@ void cMonsterConfig::Initialize() sAttributesStruct Attributes; AString Name = MonstersIniFile.GetKeyName(i); Attributes.m_Name = Name; - Attributes.m_AttackDamage = MonstersIniFile.GetValueI(Name, "AttackDamage", 0); - Attributes.m_AttackRange = MonstersIniFile.GetValueF(Name, "AttackRange", 0); - Attributes.m_SightDistance = MonstersIniFile.GetValueI(Name, "SightDistance", 0); - Attributes.m_AttackRate = MonstersIniFile.GetValueF(Name, "AttackRate", 0); - Attributes.m_MaxHealth = MonstersIniFile.GetValueF(Name, "MaxHealth", 1); - Attributes.m_IsFireproof = MonstersIniFile.GetValueB(Name, "IsFireproof", false); + Attributes.m_AttackDamage = MonstersIniFile.GetValueI(Name, "AttackDamage", 0); + Attributes.m_AttackRange = MonstersIniFile.GetValueF(Name, "AttackRange", 0); + Attributes.m_SightDistance = MonstersIniFile.GetValueI(Name, "SightDistance", 0); + Attributes.m_AttackRate = MonstersIniFile.GetValueF(Name, "AttackRate", 0); + Attributes.m_MaxHealth = MonstersIniFile.GetValueF(Name, "MaxHealth", 1); + Attributes.m_IsFireproof = MonstersIniFile.GetValueB(Name, "IsFireproof", false); Attributes.m_BurnsInDaylight = MonstersIniFile.GetValueB(Name, "BurnsInDaylight", false); m_pState->AttributesList.push_front(Attributes); } // for i - SplitList[] @@ -92,19 +92,14 @@ void cMonsterConfig::AssignAttributes(cMonster * a_Monster, const AString & a_Na { if (itr->m_Name.compare(a_Name) == 0) { - a_Monster->SetAttackDamage (itr->m_AttackDamage); - a_Monster->SetAttackRange (itr->m_AttackRange); - a_Monster->SetSightDistance (itr->m_SightDistance); - a_Monster->SetAttackRate (static_cast(itr->m_AttackRate)); - a_Monster->SetMaxHealth (static_cast(itr->m_MaxHealth)); - a_Monster->SetIsFireproof (itr->m_IsFireproof); + a_Monster->SetAttackDamage(itr->m_AttackDamage); + a_Monster->SetAttackRange(itr->m_AttackRange); + a_Monster->SetSightDistance(itr->m_SightDistance); + a_Monster->SetAttackRate(static_cast(itr->m_AttackRate)); + a_Monster->SetMaxHealth(static_cast(itr->m_MaxHealth)); + a_Monster->SetIsFireproof(itr->m_IsFireproof); a_Monster->SetBurnsInDaylight(itr->m_BurnsInDaylight); return; } } // for itr - m_pState->AttributesList[] } - - - - - diff --git a/src/MonsterConfig.h b/src/MonsterConfig.h index 55a01549b..03219c3ca 100644 --- a/src/MonsterConfig.h +++ b/src/MonsterConfig.h @@ -14,19 +14,15 @@ class cMonster; class cMonsterConfig { -public: + public: cMonsterConfig(void); ~cMonsterConfig(); void AssignAttributes(cMonster * a_Monster, const AString & a_Name); -private: + private: struct sAttributesStruct; struct sMonsterConfigState; sMonsterConfigState * m_pState; void Initialize(); -} ; - - - - +}; diff --git a/src/NetherPortalScanner.cpp b/src/NetherPortalScanner.cpp index b5f49eb2c..2d39e9dc6 100644 --- a/src/NetherPortalScanner.cpp +++ b/src/NetherPortalScanner.cpp @@ -17,7 +17,12 @@ const double cNetherPortalScanner::AcrossOffset = 0.5; -cNetherPortalScanner::cNetherPortalScanner(cEntity & a_MovingEntity, cWorld & a_DestinationWorld, Vector3d a_DestPosition, int a_MaxY) : +cNetherPortalScanner::cNetherPortalScanner( + cEntity & a_MovingEntity, + cWorld & a_DestinationWorld, + Vector3d a_DestPosition, + int a_MaxY +) : m_EntityID(a_MovingEntity.GetUniqueID()), m_SourceWorld(*a_MovingEntity.GetWorld()), m_World(a_DestinationWorld), @@ -50,9 +55,15 @@ void cNetherPortalScanner::OnChunkAvailable(int a_ChunkX, int a_ChunkZ) { class PortalSearchCallback : public cChunkDataCallback { - public: - - PortalSearchCallback(const int a_ChunkX, const int a_ChunkZ, bool & a_FoundPortal, Vector3i & a_PortalLoc, const Vector3d a_Position, const int a_MaxY) : + public: + PortalSearchCallback( + const int a_ChunkX, + const int a_ChunkZ, + bool & a_FoundPortal, + Vector3i & a_PortalLoc, + const Vector3d a_Position, + const int a_MaxY + ) : m_ChunkX(a_ChunkX), m_ChunkZ(a_ChunkZ), m_FoundPortal(a_FoundPortal), @@ -62,8 +73,7 @@ void cNetherPortalScanner::OnChunkAvailable(int a_ChunkX, int a_ChunkZ) { } - private: - + private: virtual void ChunkData(const ChunkBlockData & a_BlockData, const ChunkLightData &) override { for (size_t Y = 0; Y < cChunkDef::NumSections; ++Y) @@ -89,7 +99,11 @@ void cNetherPortalScanner::OnChunkAvailable(int a_ChunkX, int a_ChunkZ) continue; } - Vector3d PortalLoc = Vector3d(Coordinate.x + m_ChunkX * cChunkDef::Width, Coordinate.y, Coordinate.z + m_ChunkZ * cChunkDef::Width); + Vector3d PortalLoc = Vector3d( + Coordinate.x + m_ChunkX * cChunkDef::Width, + Coordinate.y, + Coordinate.z + m_ChunkZ * cChunkDef::Width + ); if (!m_FoundPortal) { m_FoundPortal = true; @@ -113,7 +127,7 @@ void cNetherPortalScanner::OnChunkAvailable(int a_ChunkX, int a_ChunkZ) const int m_MaxY; } Callback(a_ChunkX, a_ChunkZ, m_FoundPortal, m_PortalLoc, m_Position, m_MaxY); - [[maybe_unused]] const bool Result = m_World.GetChunkData({ a_ChunkX, a_ChunkZ }, Callback); + [[maybe_unused]] const bool Result = m_World.GetChunkData({a_ChunkX, a_ChunkZ}, Callback); ASSERT(Result); } @@ -244,11 +258,11 @@ void cNetherPortalScanner::BuildNetherPortal(Vector3i a_Location, Direction a_Di { if (a_Direction == Direction::Y) { - m_World.SetBlock({ x + i, y + k, z + j }, E_BLOCK_AIR, 0); + m_World.SetBlock({x + i, y + k, z + j}, E_BLOCK_AIR, 0); } else if (a_Direction == Direction::X) { - m_World.SetBlock({ x + j, y + k, z + i }, E_BLOCK_AIR, 0); + m_World.SetBlock({x + j, y + k, z + i}, E_BLOCK_AIR, 0); } } } @@ -262,11 +276,11 @@ void cNetherPortalScanner::BuildNetherPortal(Vector3i a_Location, Direction a_Di // +2 on the short axis because that's where we deposit the entity if (a_Direction == Direction::Y) { - m_World.SetBlock({ x + 2, y, z + j }, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + 2, y, z + j}, E_BLOCK_OBSIDIAN, 0); } else if (a_Direction == Direction::X) { - m_World.SetBlock({ x + j, y, z + 2 }, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + j, y, z + 2}, E_BLOCK_OBSIDIAN, 0); } } } @@ -276,26 +290,26 @@ void cNetherPortalScanner::BuildNetherPortal(Vector3i a_Location, Direction a_Di { if (a_Direction == Direction::Y) { - m_World.SetBlock({ x + 1, y + i, z }, E_BLOCK_OBSIDIAN, 0); - m_World.SetBlock({ x + 1, y + i, z + 3 }, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + 1, y + i, z}, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + 1, y + i, z + 3}, E_BLOCK_OBSIDIAN, 0); } else if (a_Direction == Direction::X) { - m_World.SetBlock({ x, y + i, z + 1 }, E_BLOCK_OBSIDIAN, 0); - m_World.SetBlock({ x + 3, y + i, z + 1 }, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x, y + i, z + 1}, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + 3, y + i, z + 1}, E_BLOCK_OBSIDIAN, 0); } } for (int i = 0; i < PortalLength; i++) { if (a_Direction == Direction::Y) { - m_World.SetBlock({ x + 1, y + 4, z + i }, E_BLOCK_OBSIDIAN, 0); - m_World.SetBlock({ x + 1, y, z + i }, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + 1, y + 4, z + i}, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + 1, y, z + i}, E_BLOCK_OBSIDIAN, 0); } else if (a_Direction == Direction::X) { - m_World.SetBlock({ x + i, y + 4, z + 1 }, E_BLOCK_OBSIDIAN, 0); - m_World.SetBlock({ x + i, y, z + 1 }, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + i, y + 4, z + 1}, E_BLOCK_OBSIDIAN, 0); + m_World.SetBlock({x + i, y, z + 1}, E_BLOCK_OBSIDIAN, 0); } } @@ -357,4 +371,3 @@ void cNetherPortalScanner::OnDisabled(void) delete this; } - diff --git a/src/NetherPortalScanner.h b/src/NetherPortalScanner.h index b6d66a088..d54aa8a57 100644 --- a/src/NetherPortalScanner.h +++ b/src/NetherPortalScanner.h @@ -14,7 +14,7 @@ class cWorld; // This is the chunk stay which finds nearby nether portals class cNetherPortalScanner : public cChunkStay { -public: + public: cNetherPortalScanner(cEntity & a_MovingEntity, cWorld & a_DestinationWorld, Vector3d a_DestPosition, int a_MaxY); virtual void OnChunkAvailable(int a_ChunkX, int a_ChunkY) override; virtual bool OnAllChunksAvailable(void) override; @@ -26,8 +26,7 @@ public: Y }; -private: - + private: /** Length and height, including the obsidian. */ static const int PortalLength = 4; static const int PortalHeight = 5; diff --git a/src/Noise/InterpolNoise.h b/src/Noise/InterpolNoise.h index 12b167dbe..241ea72ff 100644 --- a/src/Noise/InterpolNoise.h +++ b/src/Noise/InterpolNoise.h @@ -1,7 +1,8 @@ // InterpolNoise.h -// Implements the cInterpolNoise class template representing a noise that interpolates the values between integer coords from a single set of neighbors +// Implements the cInterpolNoise class template representing a noise that interpolates the values between integer coords +// from a single set of neighbors @@ -20,17 +21,17 @@ //////////////////////////////////////////////////////////////////////////////// // cInterpolCell2D: -template -class cInterpolCell2D +template class cInterpolCell2D { -public: + public: cInterpolCell2D( - const cNoise & a_Noise, ///< Noise to use for generating the random values + const cNoise & a_Noise, ///< Noise to use for generating the random values NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Count of the array, in each direction + int a_SizeX, + int a_SizeY, ///< Count of the array, in each direction const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values - const NOISE_DATATYPE * a_FracY ///< Pointer to the attay that stores the Y fractional values - ): + const NOISE_DATATYPE * a_FracY ///< Pointer to the attay that stores the Y fractional values + ) : m_Noise(a_Noise), m_WorkRnds(&m_Workspace1), m_CurFloorX(0), @@ -45,10 +46,7 @@ public: /** Generates part of the output noise array using the current m_WorkRnds[] values */ - void Generate( - int a_FromX, int a_ToX, - int a_FromY, int a_ToY - ) + void Generate(int a_FromX, int a_ToX, int a_FromY, int a_ToY) { for (int y = a_FromY; y < a_ToY; y++) { @@ -70,8 +68,8 @@ public: { m_CurFloorX = a_FloorX; m_CurFloorY = a_FloorY; - (*m_WorkRnds)[0][0] = m_Noise.IntNoise2D(m_CurFloorX, m_CurFloorY); - (*m_WorkRnds)[0][1] = m_Noise.IntNoise2D(m_CurFloorX, m_CurFloorY + 1); + (*m_WorkRnds)[0][0] = m_Noise.IntNoise2D(m_CurFloorX, m_CurFloorY); + (*m_WorkRnds)[0][1] = m_Noise.IntNoise2D(m_CurFloorX, m_CurFloorY + 1); (*m_WorkRnds)[1][0] = m_Noise.IntNoise2D(m_CurFloorX + 1, m_CurFloorY); (*m_WorkRnds)[1][1] = m_Noise.IntNoise2D(m_CurFloorX + 1, m_CurFloorY + 1); } @@ -112,7 +110,7 @@ public: m_CurFloorY = a_NewFloorY; } -protected: + protected: typedef NOISE_DATATYPE Workspace[2][2]; /** The noise used for generating the values at integral coords. */ @@ -139,7 +137,7 @@ protected: /** Arrays holding the fractional values of the coords in each direction. */ const NOISE_DATATYPE * m_FracX; const NOISE_DATATYPE * m_FracY; -} ; +}; @@ -150,20 +148,21 @@ protected: /** Holds a cache of the last calculated integral noise values and interpolates between them en masse. Provides a massive optimization for cInterpolNoise. -Works by calculating multiple noise values (that have the same integral noise coords) at once. The underlying noise values -needn't be recalculated for these values, only the interpolation is done within the unit cube. */ -template -class cInterpolCell3D +Works by calculating multiple noise values (that have the same integral noise coords) at once. The underlying noise +values needn't be recalculated for these values, only the interpolation is done within the unit cube. */ +template class cInterpolCell3D { -public: + public: cInterpolCell3D( - const cNoise & a_Noise, ///< Noise to use for generating the random values - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Count of the array, in each direction - const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values - const NOISE_DATATYPE * a_FracY, ///< Pointer to the attay that stores the Y fractional values - const NOISE_DATATYPE * a_FracZ ///< Pointer to the array that stores the Z fractional values - ): + const cNoise & a_Noise, ///< Noise to use for generating the random values + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Count of the array, in each direction + const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values + const NOISE_DATATYPE * a_FracY, ///< Pointer to the attay that stores the Y fractional values + const NOISE_DATATYPE * a_FracZ ///< Pointer to the array that stores the Z fractional values + ) : m_Noise(a_Noise), m_WorkRnds(&m_Workspace1), m_CurFloorX(0), @@ -181,11 +180,7 @@ public: /** Generates part of the output array using current m_WorkRnds[]. */ - void Generate( - int a_FromX, int a_ToX, - int a_FromY, int a_ToY, - int a_FromZ, int a_ToZ - ) + void Generate(int a_FromX, int a_ToX, int a_FromY, int a_ToY, int a_FromZ, int a_ToZ) { for (int z = a_FromZ; z < a_ToZ; z++) { @@ -221,14 +216,21 @@ public: m_CurFloorX = a_FloorX; m_CurFloorY = a_FloorY; m_CurFloorZ = a_FloorZ; - (*m_WorkRnds)[0][0][0] = static_cast(m_Noise.IntNoise3D(m_CurFloorX, m_CurFloorY, m_CurFloorZ)); - (*m_WorkRnds)[0][0][1] = static_cast(m_Noise.IntNoise3D(m_CurFloorX, m_CurFloorY, m_CurFloorZ + 1)); - (*m_WorkRnds)[0][1][0] = static_cast(m_Noise.IntNoise3D(m_CurFloorX, m_CurFloorY + 1, m_CurFloorZ)); - (*m_WorkRnds)[0][1][1] = static_cast(m_Noise.IntNoise3D(m_CurFloorX, m_CurFloorY + 1, m_CurFloorZ + 1)); - (*m_WorkRnds)[1][0][0] = static_cast(m_Noise.IntNoise3D(m_CurFloorX + 1, m_CurFloorY, m_CurFloorZ)); - (*m_WorkRnds)[1][0][1] = static_cast(m_Noise.IntNoise3D(m_CurFloorX + 1, m_CurFloorY, m_CurFloorZ + 1)); - (*m_WorkRnds)[1][1][0] = static_cast(m_Noise.IntNoise3D(m_CurFloorX + 1, m_CurFloorY + 1, m_CurFloorZ)); - (*m_WorkRnds)[1][1][1] = static_cast(m_Noise.IntNoise3D(m_CurFloorX + 1, m_CurFloorY + 1, m_CurFloorZ + 1)); + (*m_WorkRnds)[0][0][0] = static_cast(m_Noise.IntNoise3D(m_CurFloorX, m_CurFloorY, m_CurFloorZ)); + (*m_WorkRnds)[0][0][1] = + static_cast(m_Noise.IntNoise3D(m_CurFloorX, m_CurFloorY, m_CurFloorZ + 1)); + (*m_WorkRnds)[0][1][0] = + static_cast(m_Noise.IntNoise3D(m_CurFloorX, m_CurFloorY + 1, m_CurFloorZ)); + (*m_WorkRnds)[0][1][1] = + static_cast(m_Noise.IntNoise3D(m_CurFloorX, m_CurFloorY + 1, m_CurFloorZ + 1)); + (*m_WorkRnds)[1][0][0] = + static_cast(m_Noise.IntNoise3D(m_CurFloorX + 1, m_CurFloorY, m_CurFloorZ)); + (*m_WorkRnds)[1][0][1] = + static_cast(m_Noise.IntNoise3D(m_CurFloorX + 1, m_CurFloorY, m_CurFloorZ + 1)); + (*m_WorkRnds)[1][1][0] = + static_cast(m_Noise.IntNoise3D(m_CurFloorX + 1, m_CurFloorY + 1, m_CurFloorZ)); + (*m_WorkRnds)[1][1][1] = + static_cast(m_Noise.IntNoise3D(m_CurFloorX + 1, m_CurFloorY + 1, m_CurFloorZ + 1)); } @@ -275,7 +277,7 @@ public: m_CurFloorZ = a_NewFloorZ; } -protected: + protected: typedef NOISE_DATATYPE Workspace[2][2][2]; /** The noise used for generating the values at integral coords. */ @@ -303,7 +305,7 @@ protected: const NOISE_DATATYPE * m_FracX; const NOISE_DATATYPE * m_FracY; const NOISE_DATATYPE * m_FracZ; -} ; +}; @@ -312,32 +314,31 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cInterpolNoise: -template -class cInterpolNoise +template class cInterpolNoise { /** Maximum size, for each direction, of the generated array. */ static const int MAX_SIZE = 256; -public: - cInterpolNoise(int a_Seed): + public: + cInterpolNoise(int a_Seed) : m_Noise(a_Seed) { } /** Sets a new seed for the generators. Relays the seed to the underlying noise. */ - void SetSeed(int a_Seed) - { - m_Noise.SetSeed(a_Seed); - } + void SetSeed(int a_Seed) { m_Noise.SetSeed(a_Seed); } /** Fills a 2D array with the values of the noise. */ void Generate2D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction ) const { ASSERT(a_SizeX > 0); @@ -384,11 +385,16 @@ public: /** Fills a 3D array with the values of the noise. */ void Generate3D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction - NOISE_DATATYPE a_StartZ, NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Z direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE a_StartZ, + NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Z direction ) const { // Check params: @@ -417,11 +423,7 @@ public: CalcFloorFrac(a_SizeY, a_StartY, a_EndY, FloorY, FracY, SameY, NumSameY); CalcFloorFrac(a_SizeZ, a_StartZ, a_EndZ, FloorZ, FracZ, SameZ, NumSameZ); - cInterpolCell3D Cell( - m_Noise, a_Array, - a_SizeX, a_SizeY, a_SizeZ, - FracX, FracY, FracZ - ); + cInterpolCell3D Cell(m_Noise, a_Array, a_SizeX, a_SizeY, a_SizeZ, FracX, FracY, FracZ); Cell.InitWorkRnds(FloorX[0], FloorY[0], FloorZ[0]); @@ -461,8 +463,7 @@ public: } // for z } -protected: - + protected: /** The noise used for the underlying value generation. */ cNoise m_Noise; @@ -474,9 +475,12 @@ protected: a_NumSame will receive the count of a_Same elements (total count of different integral parts). */ void CalcFloorFrac( int a_Size, - NOISE_DATATYPE a_Start, NOISE_DATATYPE a_End, - int * a_Floor, NOISE_DATATYPE * a_Frac, - int * a_Same, int & a_NumSame + NOISE_DATATYPE a_Start, + NOISE_DATATYPE a_End, + int * a_Floor, + NOISE_DATATYPE * a_Frac, + int * a_Same, + int & a_NumSame ) const { ASSERT(a_Size > 0); @@ -528,6 +532,3 @@ struct Interp5Deg }; typedef cInterpolNoise cInterp5DegNoise; - - - diff --git a/src/Noise/Noise.cpp b/src/Noise/Noise.cpp index 136d124a0..51cc4708f 100644 --- a/src/Noise/Noise.cpp +++ b/src/Noise/Noise.cpp @@ -112,7 +112,14 @@ public: //////////////////////////////////////////////////////////////////////////////// // Globals: -void Debug3DNoise(const NOISE_DATATYPE * a_Noise, size_t a_SizeX, size_t a_SizeY, size_t a_SizeZ, const AString & a_FileNameBase, NOISE_DATATYPE a_Coeff) +void Debug3DNoise( + const NOISE_DATATYPE * a_Noise, + size_t a_SizeX, + size_t a_SizeY, + size_t a_SizeZ, + const AString & a_FileNameBase, + NOISE_DATATYPE a_Coeff +) { const int BUF_SIZE = 512; ASSERT(a_SizeX <= BUF_SIZE); // Just stretch it, if needed @@ -129,7 +136,8 @@ void Debug3DNoise(const NOISE_DATATYPE * a_Noise, size_t a_SizeX, size_t a_SizeY unsigned char buf[BUF_SIZE]; for (size_t x = 0; x < a_SizeX; x++) { - buf[x] = static_cast(Clamp(static_cast(128 + a_Coeff * a_Noise[idx++]), 0, 255)); + buf[x] = + static_cast(Clamp(static_cast(128 + a_Coeff * a_Noise[idx++]), 0, 255)); } f1.Write(buf, a_SizeX); } // for y @@ -150,7 +158,8 @@ void Debug3DNoise(const NOISE_DATATYPE * a_Noise, size_t a_SizeX, size_t a_SizeY unsigned char buf[BUF_SIZE]; for (size_t x = 0; x < a_SizeX; x++) { - buf[x] = static_cast(Clamp(static_cast(128 + a_Coeff * a_Noise[idx++]), 0, 255)); + buf[x] = + static_cast(Clamp(static_cast(128 + a_Coeff * a_Noise[idx++]), 0, 255)); } f2.Write(buf, a_SizeX); } // for z @@ -165,7 +174,13 @@ void Debug3DNoise(const NOISE_DATATYPE * a_Noise, size_t a_SizeX, size_t a_SizeY -void Debug2DNoise(const NOISE_DATATYPE * a_Noise, size_t a_SizeX, size_t a_SizeY, const AString & a_FileNameBase, NOISE_DATATYPE a_Coeff) +void Debug2DNoise( + const NOISE_DATATYPE * a_Noise, + size_t a_SizeX, + size_t a_SizeY, + const AString & a_FileNameBase, + NOISE_DATATYPE a_Coeff +) { const int BUF_SIZE = 512; ASSERT(a_SizeX <= BUF_SIZE); // Just stretch it, if needed @@ -195,20 +210,18 @@ void Debug2DNoise(const NOISE_DATATYPE * a_Noise, size_t a_SizeX, size_t a_SizeY class cCubicCell2D { -public: + public: cCubicCell2D( - const cNoise & a_Noise, ///< Noise to use for generating the random values + const cNoise & a_Noise, ///< Noise to use for generating the random values NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Count of the array, in each direction + int a_SizeX, + int a_SizeY, ///< Count of the array, in each direction const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values - const NOISE_DATATYPE * a_FracY ///< Pointer to the attay that stores the Y fractional values + const NOISE_DATATYPE * a_FracY ///< Pointer to the attay that stores the Y fractional values ); /** Uses current m_WorkRnds[] to generate part of the array */ - void Generate( - int a_FromX, int a_ToX, - int a_FromY, int a_ToY - ); + void Generate(int a_FromX, int a_ToX, int a_FromY, int a_ToY); /** Initializes m_WorkRnds[] with the specified Floor values */ void InitWorkRnds(int a_FloorX, int a_FloorY); @@ -216,12 +229,13 @@ public: /** Updates m_WorkRnds[] for the new Floor values. */ void Move(int a_NewFloorX, int a_NewFloorY); -protected: + protected: typedef NOISE_DATATYPE Workspace[4][4]; const cNoise & m_Noise; - Workspace * m_WorkRnds; ///< The current random values; points to either m_Workspace1 or m_Workspace2 (doublebuffering) + Workspace * + m_WorkRnds; ///< The current random values; points to either m_Workspace1 or m_Workspace2 (doublebuffering) Workspace m_Workspace1; ///< Buffer 1 for workspace doublebuffering, used in Move() Workspace m_Workspace2; ///< Buffer 2 for workspace doublebuffering, used in Move() int m_CurFloorX; @@ -231,18 +245,19 @@ protected: int m_SizeX, m_SizeY; const NOISE_DATATYPE * m_FracX; const NOISE_DATATYPE * m_FracY; -} ; +}; cCubicCell2D::cCubicCell2D( - const cNoise & a_Noise, ///< Noise to use for generating the random values + const cNoise & a_Noise, ///< Noise to use for generating the random values NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Count of the array, in each direction + int a_SizeX, + int a_SizeY, ///< Count of the array, in each direction const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values - const NOISE_DATATYPE * a_FracY ///< Pointer to the attay that stores the Y fractional values + const NOISE_DATATYPE * a_FracY ///< Pointer to the attay that stores the Y fractional values ) : m_Noise(a_Noise), m_WorkRnds(&m_Workspace1), @@ -260,19 +275,40 @@ cCubicCell2D::cCubicCell2D( -void cCubicCell2D::Generate( - int a_FromX, int a_ToX, - int a_FromY, int a_ToY -) +void cCubicCell2D::Generate(int a_FromX, int a_ToX, int a_FromY, int a_ToY) { for (int y = a_FromY; y < a_ToY; y++) { NOISE_DATATYPE Interp[4]; NOISE_DATATYPE FracY = m_FracY[y]; - Interp[0] = cNoise::CubicInterpolate((*m_WorkRnds)[0][0], (*m_WorkRnds)[0][1], (*m_WorkRnds)[0][2], (*m_WorkRnds)[0][3], FracY); - Interp[1] = cNoise::CubicInterpolate((*m_WorkRnds)[1][0], (*m_WorkRnds)[1][1], (*m_WorkRnds)[1][2], (*m_WorkRnds)[1][3], FracY); - Interp[2] = cNoise::CubicInterpolate((*m_WorkRnds)[2][0], (*m_WorkRnds)[2][1], (*m_WorkRnds)[2][2], (*m_WorkRnds)[2][3], FracY); - Interp[3] = cNoise::CubicInterpolate((*m_WorkRnds)[3][0], (*m_WorkRnds)[3][1], (*m_WorkRnds)[3][2], (*m_WorkRnds)[3][3], FracY); + Interp[0] = cNoise::CubicInterpolate( + (*m_WorkRnds)[0][0], + (*m_WorkRnds)[0][1], + (*m_WorkRnds)[0][2], + (*m_WorkRnds)[0][3], + FracY + ); + Interp[1] = cNoise::CubicInterpolate( + (*m_WorkRnds)[1][0], + (*m_WorkRnds)[1][1], + (*m_WorkRnds)[1][2], + (*m_WorkRnds)[1][3], + FracY + ); + Interp[2] = cNoise::CubicInterpolate( + (*m_WorkRnds)[2][0], + (*m_WorkRnds)[2][1], + (*m_WorkRnds)[2][2], + (*m_WorkRnds)[2][3], + FracY + ); + Interp[3] = cNoise::CubicInterpolate( + (*m_WorkRnds)[3][0], + (*m_WorkRnds)[3][1], + (*m_WorkRnds)[3][2], + (*m_WorkRnds)[3][3], + FracY + ); int idx = y * m_SizeX + a_FromX; for (int x = a_FromX; x < a_ToX; x++) { @@ -346,22 +382,20 @@ void cCubicCell2D::Move(int a_NewFloorX, int a_NewFloorY) class cCubicCell3D { -public: + public: cCubicCell3D( - const cNoise & a_Noise, ///< Noise to use for generating the random values - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Count of the array, in each direction - const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values - const NOISE_DATATYPE * a_FracY, ///< Pointer to the attay that stores the Y fractional values - const NOISE_DATATYPE * a_FracZ ///< Pointer to the array that stores the Z fractional values + const cNoise & a_Noise, ///< Noise to use for generating the random values + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Count of the array, in each direction + const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values + const NOISE_DATATYPE * a_FracY, ///< Pointer to the attay that stores the Y fractional values + const NOISE_DATATYPE * a_FracZ ///< Pointer to the array that stores the Z fractional values ); /** Uses current m_WorkRnds[] to generate part of the array */ - void Generate( - int a_FromX, int a_ToX, - int a_FromY, int a_ToY, - int a_FromZ, int a_ToZ - ); + void Generate(int a_FromX, int a_ToX, int a_FromY, int a_ToY, int a_FromZ, int a_ToZ); /** Initializes m_WorkRnds[] with the specified Floor values */ void InitWorkRnds(int a_FloorX, int a_FloorY, int a_FloorZ); @@ -369,12 +403,13 @@ public: /** Updates m_WorkRnds[] for the new Floor values. */ void Move(int a_NewFloorX, int a_NewFloorY, int a_NewFloorZ); -protected: + protected: typedef NOISE_DATATYPE Workspace[4][4][4]; const cNoise & m_Noise; - Workspace * m_WorkRnds; ///< The current random values; points to either m_Workspace1 or m_Workspace2 (doublebuffering) + Workspace * + m_WorkRnds; ///< The current random values; points to either m_Workspace1 or m_Workspace2 (doublebuffering) Workspace m_Workspace1; ///< Buffer 1 for workspace doublebuffering, used in Move() Workspace m_Workspace2; ///< Buffer 2 for workspace doublebuffering, used in Move() int m_CurFloorX; @@ -386,19 +421,21 @@ protected: const NOISE_DATATYPE * m_FracX; const NOISE_DATATYPE * m_FracY; const NOISE_DATATYPE * m_FracZ; -} ; +}; cCubicCell3D::cCubicCell3D( - const cNoise & a_Noise, ///< Noise to use for generating the random values - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Count of the array, in each direction - const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values - const NOISE_DATATYPE * a_FracY, ///< Pointer to the attay that stores the Y fractional values - const NOISE_DATATYPE * a_FracZ ///< Pointer to the array that stores the Z fractional values + const cNoise & a_Noise, ///< Noise to use for generating the random values + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Count of the array, in each direction + const NOISE_DATATYPE * a_FracX, ///< Pointer to the array that stores the X fractional values + const NOISE_DATATYPE * a_FracY, ///< Pointer to the attay that stores the Y fractional values + const NOISE_DATATYPE * a_FracZ ///< Pointer to the array that stores the Z fractional values ) : m_Noise(a_Noise), m_WorkRnds(&m_Workspace1), @@ -419,11 +456,7 @@ cCubicCell3D::cCubicCell3D( -void cCubicCell3D::Generate( - int a_FromX, int a_ToX, - int a_FromY, int a_ToY, - int a_FromZ, int a_ToZ -) +void cCubicCell3D::Generate(int a_FromX, int a_ToX, int a_FromY, int a_ToY, int a_FromZ, int a_ToZ) { for (int z = a_FromZ; z < a_ToZ; z++) { @@ -434,7 +467,13 @@ void cCubicCell3D::Generate( { for (int y = 0; y < 4; y++) { - Interp2[x][y] = cNoise::CubicInterpolate((*m_WorkRnds)[x][y][0], (*m_WorkRnds)[x][y][1], (*m_WorkRnds)[x][y][2], (*m_WorkRnds)[x][y][3], FracZ); + Interp2[x][y] = cNoise::CubicInterpolate( + (*m_WorkRnds)[x][y][0], + (*m_WorkRnds)[x][y][1], + (*m_WorkRnds)[x][y][2], + (*m_WorkRnds)[x][y][3], + FracZ + ); } } for (int y = a_FromY; y < a_ToY; y++) @@ -574,7 +613,13 @@ NOISE_DATATYPE cNoise::CubicNoise1D(NOISE_DATATYPE a_X) const { int BaseX = FAST_FLOOR(a_X); NOISE_DATATYPE FracX = a_X - BaseX; - return CubicInterpolate(IntNoise1D(BaseX - 1), IntNoise1D(BaseX), IntNoise1D(BaseX + 1), IntNoise1D(BaseX + 2), FracX); + return CubicInterpolate( + IntNoise1D(BaseX - 1), + IntNoise1D(BaseX), + IntNoise1D(BaseX + 1), + IntNoise1D(BaseX + 2), + FracX + ); } @@ -595,12 +640,31 @@ NOISE_DATATYPE cNoise::CubicNoise2D(NOISE_DATATYPE a_X, NOISE_DATATYPE a_Y) cons const int BaseX = FAST_FLOOR(a_X); const int BaseY = FAST_FLOOR(a_Y); - const NOISE_DATATYPE points[4][4] = - { - { IntNoise2D(BaseX - 1, BaseY - 1), IntNoise2D(BaseX, BaseY - 1), IntNoise2D(BaseX + 1, BaseY - 1), IntNoise2D(BaseX + 2, BaseY - 1), }, - { IntNoise2D(BaseX - 1, BaseY), IntNoise2D(BaseX, BaseY), IntNoise2D(BaseX + 1, BaseY), IntNoise2D(BaseX + 2, BaseY), }, - { IntNoise2D(BaseX - 1, BaseY + 1), IntNoise2D(BaseX, BaseY + 1), IntNoise2D(BaseX + 1, BaseY + 1), IntNoise2D(BaseX + 2, BaseY + 1), }, - { IntNoise2D(BaseX - 1, BaseY + 2), IntNoise2D(BaseX, BaseY + 2), IntNoise2D(BaseX + 1, BaseY + 2), IntNoise2D(BaseX + 2, BaseY + 2), }, + const NOISE_DATATYPE points[4][4] = { + { + IntNoise2D(BaseX - 1, BaseY - 1), + IntNoise2D(BaseX, BaseY - 1), + IntNoise2D(BaseX + 1, BaseY - 1), + IntNoise2D(BaseX + 2, BaseY - 1), + }, + { + IntNoise2D(BaseX - 1, BaseY), + IntNoise2D(BaseX, BaseY), + IntNoise2D(BaseX + 1, BaseY), + IntNoise2D(BaseX + 2, BaseY), + }, + { + IntNoise2D(BaseX - 1, BaseY + 1), + IntNoise2D(BaseX, BaseY + 1), + IntNoise2D(BaseX + 1, BaseY + 1), + IntNoise2D(BaseX + 2, BaseY + 1), + }, + { + IntNoise2D(BaseX - 1, BaseY + 2), + IntNoise2D(BaseX, BaseY + 2), + IntNoise2D(BaseX + 1, BaseY + 2), + IntNoise2D(BaseX + 2, BaseY + 2), + }, }; const NOISE_DATATYPE FracX = a_X - BaseX; @@ -624,66 +688,158 @@ NOISE_DATATYPE cNoise::CubicNoise3D(NOISE_DATATYPE a_X, NOISE_DATATYPE a_Y, NOIS const int BaseY = FAST_FLOOR(a_Y); const int BaseZ = FAST_FLOOR(a_Z); - const NOISE_DATATYPE points1[4][4] = - { - { IntNoise3D(BaseX - 1, BaseY - 1, BaseZ - 1), IntNoise3D(BaseX, BaseY - 1, BaseZ - 1), IntNoise3D(BaseX + 1, BaseY - 1, BaseZ - 1), IntNoise3D(BaseX + 2, BaseY - 1, BaseZ - 1), }, - { IntNoise3D(BaseX - 1, BaseY, BaseZ - 1), IntNoise3D(BaseX, BaseY, BaseZ - 1), IntNoise3D(BaseX + 1, BaseY, BaseZ - 1), IntNoise3D(BaseX + 2, BaseY, BaseZ - 1), }, - { IntNoise3D(BaseX - 1, BaseY + 1, BaseZ - 1), IntNoise3D(BaseX, BaseY + 1, BaseZ - 1), IntNoise3D(BaseX + 1, BaseY + 1, BaseZ - 1), IntNoise3D(BaseX + 2, BaseY + 1, BaseZ - 1), }, - { IntNoise3D(BaseX - 1, BaseY + 2, BaseZ - 1), IntNoise3D(BaseX, BaseY + 2, BaseZ - 1), IntNoise3D(BaseX + 1, BaseY + 2, BaseZ - 1), IntNoise3D(BaseX + 2, BaseY + 2, BaseZ - 1), }, + const NOISE_DATATYPE points1[4][4] = { + { + IntNoise3D(BaseX - 1, BaseY - 1, BaseZ - 1), + IntNoise3D(BaseX, BaseY - 1, BaseZ - 1), + IntNoise3D(BaseX + 1, BaseY - 1, BaseZ - 1), + IntNoise3D(BaseX + 2, BaseY - 1, BaseZ - 1), + }, + { + IntNoise3D(BaseX - 1, BaseY, BaseZ - 1), + IntNoise3D(BaseX, BaseY, BaseZ - 1), + IntNoise3D(BaseX + 1, BaseY, BaseZ - 1), + IntNoise3D(BaseX + 2, BaseY, BaseZ - 1), + }, + { + IntNoise3D(BaseX - 1, BaseY + 1, BaseZ - 1), + IntNoise3D(BaseX, BaseY + 1, BaseZ - 1), + IntNoise3D(BaseX + 1, BaseY + 1, BaseZ - 1), + IntNoise3D(BaseX + 2, BaseY + 1, BaseZ - 1), + }, + { + IntNoise3D(BaseX - 1, BaseY + 2, BaseZ - 1), + IntNoise3D(BaseX, BaseY + 2, BaseZ - 1), + IntNoise3D(BaseX + 1, BaseY + 2, BaseZ - 1), + IntNoise3D(BaseX + 2, BaseY + 2, BaseZ - 1), + }, }; - const NOISE_DATATYPE FracX = (a_X) - BaseX; - const NOISE_DATATYPE x1interp1 = CubicInterpolate(points1[0][0], points1[0][1], points1[0][2], points1[0][3], FracX); - const NOISE_DATATYPE x1interp2 = CubicInterpolate(points1[1][0], points1[1][1], points1[1][2], points1[1][3], FracX); - const NOISE_DATATYPE x1interp3 = CubicInterpolate(points1[2][0], points1[2][1], points1[2][2], points1[2][3], FracX); - const NOISE_DATATYPE x1interp4 = CubicInterpolate(points1[3][0], points1[3][1], points1[3][2], points1[3][3], FracX); - - const NOISE_DATATYPE points2[4][4] = - { - { IntNoise3D(BaseX - 1, BaseY - 1, BaseZ), IntNoise3D(BaseX, BaseY - 1, BaseZ), IntNoise3D(BaseX + 1, BaseY - 1, BaseZ), IntNoise3D(BaseX + 2, BaseY - 1, BaseZ), }, - { IntNoise3D(BaseX - 1, BaseY, BaseZ), IntNoise3D(BaseX, BaseY, BaseZ), IntNoise3D(BaseX + 1, BaseY, BaseZ), IntNoise3D(BaseX + 2, BaseY, BaseZ), }, - { IntNoise3D(BaseX - 1, BaseY + 1, BaseZ), IntNoise3D(BaseX, BaseY + 1, BaseZ), IntNoise3D(BaseX + 1, BaseY + 1, BaseZ), IntNoise3D(BaseX + 2, BaseY + 1, BaseZ), }, - { IntNoise3D(BaseX - 1, BaseY + 2, BaseZ), IntNoise3D(BaseX, BaseY + 2, BaseZ), IntNoise3D(BaseX + 1, BaseY + 2, BaseZ), IntNoise3D(BaseX + 2, BaseY + 2, BaseZ), }, + const NOISE_DATATYPE FracX = (a_X) -BaseX; + const NOISE_DATATYPE x1interp1 = + CubicInterpolate(points1[0][0], points1[0][1], points1[0][2], points1[0][3], FracX); + const NOISE_DATATYPE x1interp2 = + CubicInterpolate(points1[1][0], points1[1][1], points1[1][2], points1[1][3], FracX); + const NOISE_DATATYPE x1interp3 = + CubicInterpolate(points1[2][0], points1[2][1], points1[2][2], points1[2][3], FracX); + const NOISE_DATATYPE x1interp4 = + CubicInterpolate(points1[3][0], points1[3][1], points1[3][2], points1[3][3], FracX); + + const NOISE_DATATYPE points2[4][4] = { + { + IntNoise3D(BaseX - 1, BaseY - 1, BaseZ), + IntNoise3D(BaseX, BaseY - 1, BaseZ), + IntNoise3D(BaseX + 1, BaseY - 1, BaseZ), + IntNoise3D(BaseX + 2, BaseY - 1, BaseZ), + }, + { + IntNoise3D(BaseX - 1, BaseY, BaseZ), + IntNoise3D(BaseX, BaseY, BaseZ), + IntNoise3D(BaseX + 1, BaseY, BaseZ), + IntNoise3D(BaseX + 2, BaseY, BaseZ), + }, + { + IntNoise3D(BaseX - 1, BaseY + 1, BaseZ), + IntNoise3D(BaseX, BaseY + 1, BaseZ), + IntNoise3D(BaseX + 1, BaseY + 1, BaseZ), + IntNoise3D(BaseX + 2, BaseY + 1, BaseZ), + }, + { + IntNoise3D(BaseX - 1, BaseY + 2, BaseZ), + IntNoise3D(BaseX, BaseY + 2, BaseZ), + IntNoise3D(BaseX + 1, BaseY + 2, BaseZ), + IntNoise3D(BaseX + 2, BaseY + 2, BaseZ), + }, }; - const NOISE_DATATYPE x2interp1 = CubicInterpolate(points2[0][0], points2[0][1], points2[0][2], points2[0][3], FracX); - const NOISE_DATATYPE x2interp2 = CubicInterpolate(points2[1][0], points2[1][1], points2[1][2], points2[1][3], FracX); - const NOISE_DATATYPE x2interp3 = CubicInterpolate(points2[2][0], points2[2][1], points2[2][2], points2[2][3], FracX); - const NOISE_DATATYPE x2interp4 = CubicInterpolate(points2[3][0], points2[3][1], points2[3][2], points2[3][3], FracX); + const NOISE_DATATYPE x2interp1 = + CubicInterpolate(points2[0][0], points2[0][1], points2[0][2], points2[0][3], FracX); + const NOISE_DATATYPE x2interp2 = + CubicInterpolate(points2[1][0], points2[1][1], points2[1][2], points2[1][3], FracX); + const NOISE_DATATYPE x2interp3 = + CubicInterpolate(points2[2][0], points2[2][1], points2[2][2], points2[2][3], FracX); + const NOISE_DATATYPE x2interp4 = + CubicInterpolate(points2[3][0], points2[3][1], points2[3][2], points2[3][3], FracX); - const NOISE_DATATYPE points3[4][4] = - { - { IntNoise3D(BaseX - 1, BaseY - 1, BaseZ + 1), IntNoise3D(BaseX, BaseY - 1, BaseZ + 1), IntNoise3D(BaseX + 1, BaseY - 1, BaseZ + 1), IntNoise3D(BaseX + 2, BaseY - 1, BaseZ + 1), }, - { IntNoise3D(BaseX - 1, BaseY, BaseZ + 1), IntNoise3D(BaseX, BaseY, BaseZ + 1), IntNoise3D(BaseX + 1, BaseY, BaseZ + 1), IntNoise3D(BaseX + 2, BaseY, BaseZ + 1), }, - { IntNoise3D(BaseX - 1, BaseY + 1, BaseZ + 1), IntNoise3D(BaseX, BaseY + 1, BaseZ + 1), IntNoise3D(BaseX + 1, BaseY + 1, BaseZ + 1), IntNoise3D(BaseX + 2, BaseY + 1, BaseZ + 1), }, - { IntNoise3D(BaseX - 1, BaseY + 2, BaseZ + 1), IntNoise3D(BaseX, BaseY + 2, BaseZ + 1), IntNoise3D(BaseX + 1, BaseY + 2, BaseZ + 1), IntNoise3D(BaseX + 2, BaseY + 2, BaseZ + 1), }, + const NOISE_DATATYPE points3[4][4] = { + { + IntNoise3D(BaseX - 1, BaseY - 1, BaseZ + 1), + IntNoise3D(BaseX, BaseY - 1, BaseZ + 1), + IntNoise3D(BaseX + 1, BaseY - 1, BaseZ + 1), + IntNoise3D(BaseX + 2, BaseY - 1, BaseZ + 1), + }, + { + IntNoise3D(BaseX - 1, BaseY, BaseZ + 1), + IntNoise3D(BaseX, BaseY, BaseZ + 1), + IntNoise3D(BaseX + 1, BaseY, BaseZ + 1), + IntNoise3D(BaseX + 2, BaseY, BaseZ + 1), + }, + { + IntNoise3D(BaseX - 1, BaseY + 1, BaseZ + 1), + IntNoise3D(BaseX, BaseY + 1, BaseZ + 1), + IntNoise3D(BaseX + 1, BaseY + 1, BaseZ + 1), + IntNoise3D(BaseX + 2, BaseY + 1, BaseZ + 1), + }, + { + IntNoise3D(BaseX - 1, BaseY + 2, BaseZ + 1), + IntNoise3D(BaseX, BaseY + 2, BaseZ + 1), + IntNoise3D(BaseX + 1, BaseY + 2, BaseZ + 1), + IntNoise3D(BaseX + 2, BaseY + 2, BaseZ + 1), + }, }; - const NOISE_DATATYPE x3interp1 = CubicInterpolate(points3[0][0], points3[0][1], points3[0][2], points3[0][3], FracX); - const NOISE_DATATYPE x3interp2 = CubicInterpolate(points3[1][0], points3[1][1], points3[1][2], points3[1][3], FracX); - const NOISE_DATATYPE x3interp3 = CubicInterpolate(points3[2][0], points3[2][1], points3[2][2], points3[2][3], FracX); - const NOISE_DATATYPE x3interp4 = CubicInterpolate(points3[3][0], points3[3][1], points3[3][2], points3[3][3], FracX); + const NOISE_DATATYPE x3interp1 = + CubicInterpolate(points3[0][0], points3[0][1], points3[0][2], points3[0][3], FracX); + const NOISE_DATATYPE x3interp2 = + CubicInterpolate(points3[1][0], points3[1][1], points3[1][2], points3[1][3], FracX); + const NOISE_DATATYPE x3interp3 = + CubicInterpolate(points3[2][0], points3[2][1], points3[2][2], points3[2][3], FracX); + const NOISE_DATATYPE x3interp4 = + CubicInterpolate(points3[3][0], points3[3][1], points3[3][2], points3[3][3], FracX); - const NOISE_DATATYPE points4[4][4] = - { - { IntNoise3D(BaseX - 1, BaseY - 1, BaseZ + 2), IntNoise3D(BaseX, BaseY - 1, BaseZ + 2), IntNoise3D(BaseX + 1, BaseY - 1, BaseZ + 2), IntNoise3D(BaseX + 2, BaseY - 1, BaseZ + 2), }, - { IntNoise3D(BaseX - 1, BaseY, BaseZ + 2), IntNoise3D(BaseX, BaseY, BaseZ + 2), IntNoise3D(BaseX + 1, BaseY, BaseZ + 2), IntNoise3D(BaseX + 2, BaseY, BaseZ + 2), }, - { IntNoise3D(BaseX - 1, BaseY + 1, BaseZ + 2), IntNoise3D(BaseX, BaseY + 1, BaseZ + 2), IntNoise3D(BaseX + 1, BaseY + 1, BaseZ + 2), IntNoise3D(BaseX + 2, BaseY + 1, BaseZ + 2), }, - { IntNoise3D(BaseX - 1, BaseY + 2, BaseZ + 2), IntNoise3D(BaseX, BaseY + 2, BaseZ + 2), IntNoise3D(BaseX + 1, BaseY + 2, BaseZ + 2), IntNoise3D(BaseX + 2, BaseY + 2, BaseZ + 2), }, + const NOISE_DATATYPE points4[4][4] = { + { + IntNoise3D(BaseX - 1, BaseY - 1, BaseZ + 2), + IntNoise3D(BaseX, BaseY - 1, BaseZ + 2), + IntNoise3D(BaseX + 1, BaseY - 1, BaseZ + 2), + IntNoise3D(BaseX + 2, BaseY - 1, BaseZ + 2), + }, + { + IntNoise3D(BaseX - 1, BaseY, BaseZ + 2), + IntNoise3D(BaseX, BaseY, BaseZ + 2), + IntNoise3D(BaseX + 1, BaseY, BaseZ + 2), + IntNoise3D(BaseX + 2, BaseY, BaseZ + 2), + }, + { + IntNoise3D(BaseX - 1, BaseY + 1, BaseZ + 2), + IntNoise3D(BaseX, BaseY + 1, BaseZ + 2), + IntNoise3D(BaseX + 1, BaseY + 1, BaseZ + 2), + IntNoise3D(BaseX + 2, BaseY + 1, BaseZ + 2), + }, + { + IntNoise3D(BaseX - 1, BaseY + 2, BaseZ + 2), + IntNoise3D(BaseX, BaseY + 2, BaseZ + 2), + IntNoise3D(BaseX + 1, BaseY + 2, BaseZ + 2), + IntNoise3D(BaseX + 2, BaseY + 2, BaseZ + 2), + }, }; - const NOISE_DATATYPE x4interp1 = CubicInterpolate(points4[0][0], points4[0][1], points4[0][2], points4[0][3], FracX); - const NOISE_DATATYPE x4interp2 = CubicInterpolate(points4[1][0], points4[1][1], points4[1][2], points4[1][3], FracX); - const NOISE_DATATYPE x4interp3 = CubicInterpolate(points4[2][0], points4[2][1], points4[2][2], points4[2][3], FracX); - const NOISE_DATATYPE x4interp4 = CubicInterpolate(points4[3][0], points4[3][1], points4[3][2], points4[3][3], FracX); + const NOISE_DATATYPE x4interp1 = + CubicInterpolate(points4[0][0], points4[0][1], points4[0][2], points4[0][3], FracX); + const NOISE_DATATYPE x4interp2 = + CubicInterpolate(points4[1][0], points4[1][1], points4[1][2], points4[1][3], FracX); + const NOISE_DATATYPE x4interp3 = + CubicInterpolate(points4[2][0], points4[2][1], points4[2][2], points4[2][3], FracX); + const NOISE_DATATYPE x4interp4 = + CubicInterpolate(points4[3][0], points4[3][1], points4[3][2], points4[3][3], FracX); - const NOISE_DATATYPE FracY = (a_Y) - BaseY; + const NOISE_DATATYPE FracY = (a_Y) -BaseY; const NOISE_DATATYPE yinterp1 = CubicInterpolate(x1interp1, x1interp2, x1interp3, x1interp4, FracY); const NOISE_DATATYPE yinterp2 = CubicInterpolate(x2interp1, x2interp2, x2interp3, x2interp4, FracY); const NOISE_DATATYPE yinterp3 = CubicInterpolate(x3interp1, x3interp2, x3interp3, x3interp4, FracY); const NOISE_DATATYPE yinterp4 = CubicInterpolate(x4interp1, x4interp2, x4interp3, x4interp4, FracY); - const NOISE_DATATYPE FracZ = (a_Z) - BaseZ; + const NOISE_DATATYPE FracZ = (a_Z) -BaseZ; return CubicInterpolate(yinterp1, yinterp2, yinterp3, yinterp4, FracZ); } @@ -704,10 +860,13 @@ cCubicNoise::cCubicNoise(int a_Seed) : void cCubicNoise::Generate2D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Size of the array (num doubles), in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, ///< Size of the array (num doubles), in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction ) const { ASSERT(a_SizeX > 0); @@ -762,11 +921,16 @@ void cCubicNoise::Generate2D( void cCubicNoise::Generate3D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Size of the array (num doubles), in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction - NOISE_DATATYPE a_StartZ, NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Size of the array (num doubles), in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE a_StartZ, + NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Y direction ) const { ASSERT(a_SizeX < MAX_SIZE); @@ -791,11 +955,7 @@ void cCubicNoise::Generate3D( CalcFloorFrac(a_SizeY, a_StartY, a_EndY, FloorY, FracY, SameY, NumSameY); CalcFloorFrac(a_SizeZ, a_StartZ, a_EndZ, FloorZ, FracZ, SameZ, NumSameZ); - cCubicCell3D Cell( - m_Noise, a_Array, - a_SizeX, a_SizeY, a_SizeZ, - FracX, FracY, FracZ - ); + cCubicCell3D Cell(m_Noise, a_Array, a_SizeX, a_SizeY, a_SizeZ, FracX, FracY, FracZ); Cell.InitWorkRnds(FloorX[0], FloorY[0], FloorZ[0]); @@ -841,9 +1001,12 @@ void cCubicNoise::Generate3D( void cCubicNoise::CalcFloorFrac( int a_Size, - NOISE_DATATYPE a_Start, NOISE_DATATYPE a_End, - int * a_Floor, NOISE_DATATYPE * a_Frac, - int * a_Same, int & a_NumSame + NOISE_DATATYPE a_Start, + NOISE_DATATYPE a_End, + int * a_Floor, + NOISE_DATATYPE * a_Frac, + int * a_Same, + int & a_NumSame ) const { ASSERT(a_Size > 0); @@ -914,9 +1077,12 @@ cImprovedNoise::cImprovedNoise(int a_Seed) void cImprovedNoise::Generate2D( NOISE_DATATYPE * a_Array, - int a_SizeX, int a_SizeY, - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY + int a_SizeX, + int a_SizeY, + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY ) const { size_t idx = 0; @@ -938,17 +1104,25 @@ void cImprovedNoise::Generate2D( NOISE_DATATYPE fadeX = Fade(noiseXFrac); // Hash the coordinates: - int A = m_Perm[xCoord] + yCoord; + int A = m_Perm[xCoord] + yCoord; int AA = m_Perm[A]; int AB = m_Perm[A + 1]; - int B = m_Perm[xCoord + 1] + yCoord; + int B = m_Perm[xCoord + 1] + yCoord; int BA = m_Perm[B]; int BB = m_Perm[B + 1]; // Lerp the gradients: a_Array[idx++] = Lerp( - Lerp(Grad(m_Perm[AA], noiseXFrac, noiseYFrac, 0), Grad(m_Perm[BA], noiseXFrac - 1, noiseYFrac, 0), fadeX), - Lerp(Grad(m_Perm[AB], noiseXFrac, noiseYFrac - 1, 0), Grad(m_Perm[BB], noiseXFrac - 1, noiseYFrac - 1, 0), fadeX), + Lerp( + Grad(m_Perm[AA], noiseXFrac, noiseYFrac, 0), + Grad(m_Perm[BA], noiseXFrac - 1, noiseYFrac, 0), + fadeX + ), + Lerp( + Grad(m_Perm[AB], noiseXFrac, noiseYFrac - 1, 0), + Grad(m_Perm[BB], noiseXFrac - 1, noiseYFrac - 1, 0), + fadeX + ), fadeY ); } // for x @@ -961,10 +1135,15 @@ void cImprovedNoise::Generate2D( void cImprovedNoise::Generate3D( NOISE_DATATYPE * a_Array, - int a_SizeX, int a_SizeY, int a_SizeZ, - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY, - NOISE_DATATYPE a_StartZ, NOISE_DATATYPE a_EndZ + int a_SizeX, + int a_SizeY, + int a_SizeZ, + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY, + NOISE_DATATYPE a_StartZ, + NOISE_DATATYPE a_EndZ ) const { size_t idx = 0; @@ -994,10 +1173,10 @@ void cImprovedNoise::Generate3D( NOISE_DATATYPE fadeX = Fade(noiseXFrac); // Hash the coordinates: - int A = m_Perm[xCoord] + yCoord; + int A = m_Perm[xCoord] + yCoord; int AA = m_Perm[A] + zCoord; int AB = m_Perm[A + 1] + zCoord; - int B = m_Perm[xCoord + 1] + yCoord; + int B = m_Perm[xCoord + 1] + yCoord; int BA = m_Perm[B] + zCoord; int BB = m_Perm[B + 1] + zCoord; @@ -1005,13 +1184,29 @@ void cImprovedNoise::Generate3D( // TODO: This may be optimized by swapping the coords and recalculating most lerps only "once every x" a_Array[idx++] = Lerp( Lerp( - Lerp(Grad(m_Perm[AA], noiseXFrac, noiseYFrac, noiseZFrac), Grad(m_Perm[BA], noiseXFrac - 1, noiseYFrac, noiseZFrac), fadeX), - Lerp(Grad(m_Perm[AB], noiseXFrac, noiseYFrac - 1, noiseZFrac), Grad(m_Perm[BB], noiseXFrac - 1, noiseYFrac - 1, noiseZFrac), fadeX), + Lerp( + Grad(m_Perm[AA], noiseXFrac, noiseYFrac, noiseZFrac), + Grad(m_Perm[BA], noiseXFrac - 1, noiseYFrac, noiseZFrac), + fadeX + ), + Lerp( + Grad(m_Perm[AB], noiseXFrac, noiseYFrac - 1, noiseZFrac), + Grad(m_Perm[BB], noiseXFrac - 1, noiseYFrac - 1, noiseZFrac), + fadeX + ), fadeY ), Lerp( - Lerp(Grad(m_Perm[AA + 1], noiseXFrac, noiseYFrac, noiseZFrac - 1), Grad(m_Perm[BA + 1], noiseXFrac - 1, noiseYFrac, noiseZFrac - 1), fadeX), - Lerp(Grad(m_Perm[AB + 1], noiseXFrac, noiseYFrac - 1, noiseZFrac - 1), Grad(m_Perm[BB + 1], noiseXFrac - 1, noiseYFrac - 1, noiseZFrac - 1), fadeX), + Lerp( + Grad(m_Perm[AA + 1], noiseXFrac, noiseYFrac, noiseZFrac - 1), + Grad(m_Perm[BA + 1], noiseXFrac - 1, noiseYFrac, noiseZFrac - 1), + fadeX + ), + Lerp( + Grad(m_Perm[AB + 1], noiseXFrac, noiseYFrac - 1, noiseZFrac - 1), + Grad(m_Perm[BB + 1], noiseXFrac - 1, noiseYFrac - 1, noiseZFrac - 1), + fadeX + ), fadeY ), fadeZ @@ -1031,13 +1226,8 @@ NOISE_DATATYPE cImprovedNoise::GetValueAt(int a_X, int a_Y, int a_Z) a_X = a_X & 255; a_Y = a_Y & 255; a_Z = a_Z & 255; - int A = m_Perm[a_X] + a_Y; + int A = m_Perm[a_X] + a_Y; int AA = m_Perm[A] + a_Z; return Grad(m_Perm[AA], 1, 1, 1); } - - - - - diff --git a/src/Noise/Noise.h b/src/Noise/Noise.h index 87e67b630..4286d13fb 100644 --- a/src/Noise/Noise.h +++ b/src/Noise/Noise.h @@ -18,7 +18,7 @@ typedef float NOISE_DATATYPE; class cNoise { -public: + public: cNoise(int a_Seed); cNoise(const cNoise & a_Noise); @@ -34,7 +34,8 @@ public: return a_Min + std::abs(IntNoise2D(a_X, a_Y)) * (a_Max - a_Min); } - // Note: These functions have a mod8-irregular chance - each of the mod8 remainders has different chance of occurrence. Divide by 8 to rectify. + // Note: These functions have a mod8-irregular chance - each of the mod8 remainders has different chance of + // occurrence. Divide by 8 to rectify. inline int IntNoise1DInt(int a_X) const; inline int IntNoise2DInt(int a_X, int a_Y) const; inline int IntNoise3DInt(int a_X, int a_Y, int a_Z) const; @@ -42,23 +43,29 @@ public: NOISE_DATATYPE LinearNoise1D(NOISE_DATATYPE a_X) const; NOISE_DATATYPE CosineNoise1D(NOISE_DATATYPE a_X) const; - NOISE_DATATYPE CubicNoise1D (NOISE_DATATYPE a_X) const; + NOISE_DATATYPE CubicNoise1D(NOISE_DATATYPE a_X) const; NOISE_DATATYPE SmoothNoise1D(int a_X) const; - NOISE_DATATYPE CubicNoise2D (NOISE_DATATYPE a_X, NOISE_DATATYPE a_Y) const; + NOISE_DATATYPE CubicNoise2D(NOISE_DATATYPE a_X, NOISE_DATATYPE a_Y) const; - NOISE_DATATYPE CubicNoise3D (NOISE_DATATYPE a_X, NOISE_DATATYPE a_Y, NOISE_DATATYPE a_Z) const; + NOISE_DATATYPE CubicNoise3D(NOISE_DATATYPE a_X, NOISE_DATATYPE a_Y, NOISE_DATATYPE a_Z) const; void SetSeed(int a_Seed) { m_Seed = a_Seed; } int GetSeed(void) const { return m_Seed; } - inline static NOISE_DATATYPE CubicInterpolate (NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, NOISE_DATATYPE a_C, NOISE_DATATYPE a_D, NOISE_DATATYPE a_Pct); + inline static NOISE_DATATYPE CubicInterpolate( + NOISE_DATATYPE a_A, + NOISE_DATATYPE a_B, + NOISE_DATATYPE a_C, + NOISE_DATATYPE a_D, + NOISE_DATATYPE a_Pct + ); inline static NOISE_DATATYPE CosineInterpolate(NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, NOISE_DATATYPE a_Pct); inline static NOISE_DATATYPE LinearInterpolate(NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, NOISE_DATATYPE a_Pct); -private: + private: int m_Seed; -} ; +}; @@ -66,7 +73,7 @@ private: class cCubicNoise { -public: + public: /** Maximum size of each dimension of the query arrays. */ static const int MAX_SIZE = 512; @@ -77,24 +84,31 @@ public: /** Fills a 2D array with the values of the noise. */ void Generate2D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction ) const; /** Fills a 3D array with the values of the noise. */ void Generate3D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction - NOISE_DATATYPE a_StartZ, NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Z direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE a_StartZ, + NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Z direction ) const; -protected: - + protected: /** Noise used for integral random values. */ cNoise m_Noise; @@ -106,11 +120,14 @@ protected: a_NumSame will receive the count of a_Same elements (total count of different integral parts). */ void CalcFloorFrac( int a_Size, - NOISE_DATATYPE a_Start, NOISE_DATATYPE a_End, - int * a_Floor, NOISE_DATATYPE * a_Frac, - int * a_Same, int & a_NumSame + NOISE_DATATYPE a_Start, + NOISE_DATATYPE a_End, + int * a_Floor, + NOISE_DATATYPE * a_Frac, + int * a_Same, + int & a_NumSame ) const; -} ; +}; @@ -120,7 +137,7 @@ protected: Implementation adapted from Perlin's Java implementation: https://mrl.nyu.edu/~perlin/noise/ */ class cImprovedNoise { -public: + public: /** Constructs a new instance of the noise obbject. Note that this operation is quite expensive (the permutation array being constructed). */ cImprovedNoise(int a_Seed); @@ -128,36 +145,40 @@ public: /** Fills a 2D array with the values of the noise. */ void Generate2D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction ) const; /** Fills a 3D array with the values of the noise. */ void Generate3D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction - NOISE_DATATYPE a_StartZ, NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Z direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE a_StartZ, + NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Z direction ) const; /** Returns the value at the specified integral coords. Used for raw speed measurement. */ NOISE_DATATYPE GetValueAt(int a_X, int a_Y, int a_Z); -protected: - + protected: /** The permutation table used by the noise function. Initialized using seed. */ int m_Perm[512]; /** Calculates the fade curve, 6 * t^5 - 15 * t^4 + 10 * t^3. */ - inline static NOISE_DATATYPE Fade(NOISE_DATATYPE a_T) - { - return a_T * a_T * a_T * (a_T * (a_T * 6 - 15) + 10); - } + inline static NOISE_DATATYPE Fade(NOISE_DATATYPE a_T) { return a_T * a_T * a_T * (a_T * (a_T * 6 - 15) + 10); } /** Returns the gradient value based on the hash. */ inline static NOISE_DATATYPE Grad(int a_Hash, NOISE_DATATYPE a_X, NOISE_DATATYPE a_Y, NOISE_DATATYPE a_Z) @@ -211,7 +232,8 @@ NOISE_DATATYPE cNoise::IntNoise3D(int a_X, int a_Y, int a_Z) const { int n = a_X + a_Y * 57 + a_Z * 57 * 57 + m_Seed * 57 * 57 * 57; n = (n << 13) ^ n; - return (static_cast(1) - + return ( + static_cast(1) - static_cast((n * (n * n * 15731 + 789221) + 1376312589) & 0x7fffffff) / 1073741824.0f ); // returns a float number in the range of [-1, 1] @@ -271,7 +293,13 @@ int cNoise::IntNoise3DInt(Vector3i a_Pos) const -NOISE_DATATYPE cNoise::CubicInterpolate(NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, NOISE_DATATYPE a_C, NOISE_DATATYPE a_D, NOISE_DATATYPE a_Pct) +NOISE_DATATYPE cNoise::CubicInterpolate( + NOISE_DATATYPE a_A, + NOISE_DATATYPE a_B, + NOISE_DATATYPE a_C, + NOISE_DATATYPE a_D, + NOISE_DATATYPE a_Pct +) { NOISE_DATATYPE P = (a_D - a_C) - (a_A - a_B); NOISE_DATATYPE Q = (a_A - a_B) - P; @@ -288,8 +316,9 @@ NOISE_DATATYPE cNoise::CubicInterpolate(NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, NOISE_DATATYPE cNoise::CosineInterpolate(NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, NOISE_DATATYPE a_Pct) { const NOISE_DATATYPE ft = a_Pct * static_cast(3.1415927); - const NOISE_DATATYPE f = static_cast(static_cast(1 - cos(ft)) * static_cast(0.5)); - return a_A * (1 - f) + a_B * f; + const NOISE_DATATYPE f = + static_cast(static_cast(1 - cos(ft)) * static_cast(0.5)); + return a_A * (1 - f) + a_B * f; } @@ -298,7 +327,7 @@ NOISE_DATATYPE cNoise::CosineInterpolate(NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, NOISE_DATATYPE cNoise::LinearInterpolate(NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, NOISE_DATATYPE a_Pct) { - return a_A * (1 - a_Pct) + a_B * a_Pct; + return a_A * (1 - a_Pct) + a_B * a_Pct; } @@ -310,11 +339,24 @@ NOISE_DATATYPE cNoise::LinearInterpolate(NOISE_DATATYPE a_A, NOISE_DATATYPE a_B, /** Exports the noise array into a file. a_Coeff specifies the value that each array value is multiplied by before being converted into a byte. */ -extern void Debug2DNoise(const NOISE_DATATYPE * a_Array, size_t a_SizeX, size_t a_SizeY, const AString & a_FileNameBase, NOISE_DATATYPE a_Coeff = 32); +extern void Debug2DNoise( + const NOISE_DATATYPE * a_Array, + size_t a_SizeX, + size_t a_SizeY, + const AString & a_FileNameBase, + NOISE_DATATYPE a_Coeff = 32 +); /** Exports the noise array into a set of files, ordered by XY and XZ. a_Coeff specifies the value that each array value is multiplied by before being converted into a byte. */ -extern void Debug3DNoise(const NOISE_DATATYPE * a_Array, size_t a_SizeX, size_t a_SizeY, size_t a_SizeZ, const AString & a_FileNameBase, NOISE_DATATYPE a_Coeff = 32); +extern void Debug3DNoise( + const NOISE_DATATYPE * a_Array, + size_t a_SizeX, + size_t a_SizeY, + size_t a_SizeZ, + const AString & a_FileNameBase, + NOISE_DATATYPE a_Coeff = 32 +); diff --git a/src/Noise/OctavedNoise.h b/src/Noise/OctavedNoise.h index b9f3d132e..a6d431802 100644 --- a/src/Noise/OctavedNoise.h +++ b/src/Noise/OctavedNoise.h @@ -1,7 +1,8 @@ // OctavedNoise.h -// Implements the cOctavedNoise class template representing a noise generator that layers several octaves of another noise +// Implements the cOctavedNoise class template representing a noise generator that layers several octaves of another +// noise @@ -13,11 +14,10 @@ -template -class cOctavedNoise +template class cOctavedNoise { -public: - cOctavedNoise(int a_Seed = 0): + public: + cOctavedNoise(int a_Seed = 0) : m_Seed(a_Seed) { } @@ -27,7 +27,7 @@ public: void SetSeed(int a_Seed) { m_Seed = a_Seed; - for (auto oct: m_Octaves) + for (auto oct : m_Octaves) { oct->SetSeed(a_Seed); } @@ -43,11 +43,14 @@ public: /** Fills a 2D array with the values of the noise. */ void Generate2D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction - NOISE_DATATYPE * a_Workspace = nullptr ///< Workspace that this function can use and trash. + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE * a_Workspace = nullptr ///< Workspace that this function can use and trash. ) const { // Check that state is alright: @@ -70,9 +73,13 @@ public: { const cOctave & FirstOctave = m_Octaves.front(); FirstOctave.m_Noise.Generate2D( - a_Workspace, a_SizeX, a_SizeY, - a_StartX * FirstOctave.m_Frequency, a_EndX * FirstOctave.m_Frequency, - a_StartY * FirstOctave.m_Frequency, a_EndY * FirstOctave.m_Frequency + a_Workspace, + a_SizeX, + a_SizeY, + a_StartX * FirstOctave.m_Frequency, + a_EndX * FirstOctave.m_Frequency, + a_StartY * FirstOctave.m_Frequency, + a_EndY * FirstOctave.m_Frequency ); NOISE_DATATYPE Amplitude = FirstOctave.m_Amplitude; for (int i = 0; i < ArrayCount; i++) @@ -86,9 +93,13 @@ public: { // Generate the noise for the octave: itr->m_Noise.Generate2D( - a_Workspace, a_SizeX, a_SizeY, - a_StartX * itr->m_Frequency, a_EndX * itr->m_Frequency, - a_StartY * itr->m_Frequency, a_EndY * itr->m_Frequency + a_Workspace, + a_SizeX, + a_SizeY, + a_StartX * itr->m_Frequency, + a_EndX * itr->m_Frequency, + a_StartY * itr->m_Frequency, + a_EndY * itr->m_Frequency ); // Add it into the output: NOISE_DATATYPE Amplitude = itr->m_Amplitude; @@ -102,12 +113,18 @@ public: /** Fills a 3D array with the values of the noise. */ void Generate3D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction - NOISE_DATATYPE a_StartZ, NOISE_DATATYPE a_EndZ, ///< Noise-space coords of the array in the Z direction - NOISE_DATATYPE * a_Workspace = nullptr ///< Workspace that this function can use and trash, same size as a_Array + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE a_StartZ, + NOISE_DATATYPE a_EndZ, ///< Noise-space coords of the array in the Z direction + NOISE_DATATYPE * a_Workspace = + nullptr ///< Workspace that this function can use and trash, same size as a_Array ) const { // Check that state is alright: @@ -130,10 +147,16 @@ public: { const cOctave & FirstOctave = m_Octaves.front(); FirstOctave.m_Noise.Generate3D( - a_Workspace, a_SizeX, a_SizeY, a_SizeZ, - a_StartX * FirstOctave.m_Frequency, a_EndX * FirstOctave.m_Frequency, - a_StartY * FirstOctave.m_Frequency, a_EndY * FirstOctave.m_Frequency, - a_StartZ * FirstOctave.m_Frequency, a_EndZ * FirstOctave.m_Frequency + a_Workspace, + a_SizeX, + a_SizeY, + a_SizeZ, + a_StartX * FirstOctave.m_Frequency, + a_EndX * FirstOctave.m_Frequency, + a_StartY * FirstOctave.m_Frequency, + a_EndY * FirstOctave.m_Frequency, + a_StartZ * FirstOctave.m_Frequency, + a_EndZ * FirstOctave.m_Frequency ); NOISE_DATATYPE Amplitude = FirstOctave.m_Amplitude; for (int i = 0; i < ArrayCount; i++) @@ -147,10 +170,16 @@ public: { // Generate the noise for the octave: itr->m_Noise.Generate3D( - a_Workspace, a_SizeX, a_SizeY, a_SizeZ, - a_StartX * itr->m_Frequency, a_EndX * itr->m_Frequency, - a_StartY * itr->m_Frequency, a_EndY * itr->m_Frequency, - a_StartZ * itr->m_Frequency, a_EndZ * itr->m_Frequency + a_Workspace, + a_SizeX, + a_SizeY, + a_SizeZ, + a_StartX * itr->m_Frequency, + a_EndX * itr->m_Frequency, + a_StartY * itr->m_Frequency, + a_EndY * itr->m_Frequency, + a_StartZ * itr->m_Frequency, + a_EndZ * itr->m_Frequency ); // Add it into the output: NOISE_DATATYPE Amplitude = itr->m_Amplitude; @@ -161,11 +190,11 @@ public: } // for itr - m_Octaves[] } -protected: + protected: /** Stores information and state for one octave of the noise. */ class cOctave { - public: + public: N m_Noise; /** Coord multiplier. */ @@ -175,12 +204,10 @@ protected: NOISE_DATATYPE m_Amplitude; cOctave(int a_Seed, NOISE_DATATYPE a_Frequency, NOISE_DATATYPE a_Amplitude) : - m_Noise(a_Seed), - m_Frequency(a_Frequency), - m_Amplitude(a_Amplitude) + m_Noise(a_Seed), m_Frequency(a_Frequency), m_Amplitude(a_Amplitude) { } - } ; + }; typedef std::vector cOctaves; @@ -190,7 +217,3 @@ protected: /** The octaves that compose this noise. */ cOctaves m_Octaves; }; - - - - diff --git a/src/Noise/RidgedNoise.h b/src/Noise/RidgedNoise.h index f59a0512f..4402faa72 100644 --- a/src/Noise/RidgedNoise.h +++ b/src/Noise/RidgedNoise.h @@ -13,45 +13,40 @@ -template -class cRidgedNoise +template class cRidgedNoise { -public: + public: /** Creates a new instance with the seed set to 0. */ - cRidgedNoise(void): + cRidgedNoise(void) : m_Noise(0) { } /** Creates a new instance with the specified seed. */ - cRidgedNoise(int a_Seed): + cRidgedNoise(int a_Seed) : m_Noise(a_Seed) { } /** Sets the seed for the underlying noise. */ - void SetSeed(int a_Seed) - { - m_Noise.SetSeed(a_Seed); - } + void SetSeed(int a_Seed) { m_Noise.SetSeed(a_Seed); } /** Fills a 2D array with the values of the noise. */ void Generate2D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] - int a_SizeX, int a_SizeY, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y] + int a_SizeX, + int a_SizeY, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY ///< Noise-space coords of the array in the Y direction ) const { int ArrayCount = a_SizeX * a_SizeY; - m_Noise.Generate2D( - a_Array, a_SizeX, a_SizeY, - a_StartX, a_EndX, - a_StartY, a_EndY - ); + m_Noise.Generate2D(a_Array, a_SizeX, a_SizeY, a_StartX, a_EndX, a_StartY, a_EndY); for (int i = 0; i < ArrayCount; i++) { a_Array[i] = std::abs(a_Array[i]); @@ -61,31 +56,26 @@ public: /** Fills a 3D array with the values of the noise. */ void Generate3D( - NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] - int a_SizeX, int a_SizeY, int a_SizeZ, ///< Count of the array, in each direction - NOISE_DATATYPE a_StartX, NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction - NOISE_DATATYPE a_StartY, NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction - NOISE_DATATYPE a_StartZ, NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Z direction + NOISE_DATATYPE * a_Array, ///< Array to generate into [x + a_SizeX * y + a_SizeX * a_SizeY * z] + int a_SizeX, + int a_SizeY, + int a_SizeZ, ///< Count of the array, in each direction + NOISE_DATATYPE a_StartX, + NOISE_DATATYPE a_EndX, ///< Noise-space coords of the array in the X direction + NOISE_DATATYPE a_StartY, + NOISE_DATATYPE a_EndY, ///< Noise-space coords of the array in the Y direction + NOISE_DATATYPE a_StartZ, + NOISE_DATATYPE a_EndZ ///< Noise-space coords of the array in the Z direction ) const { int ArrayCount = a_SizeX * a_SizeY * a_SizeZ; - m_Noise.Generate2D( - a_Array, a_SizeX, a_SizeY, a_SizeZ, - a_StartX, a_EndX, - a_StartY, a_EndY, - a_StartZ, a_EndZ - ); + m_Noise.Generate2D(a_Array, a_SizeX, a_SizeY, a_SizeZ, a_StartX, a_EndX, a_StartY, a_EndY, a_StartZ, a_EndZ); for (int i = 0; i < ArrayCount; i++) { a_Array[i] = std::abs(a_Array[i]); } } -protected: + protected: N m_Noise; -} ; - - - - - +}; diff --git a/src/OSSupport/AtomicUniquePtr.h b/src/OSSupport/AtomicUniquePtr.h index 92debbac6..b1867ac1a 100644 --- a/src/OSSupport/AtomicUniquePtr.h +++ b/src/OSSupport/AtomicUniquePtr.h @@ -4,41 +4,38 @@ /** An RAII wrapper for std::atomic. */ -template -class cAtomicUniquePtr +template class cAtomicUniquePtr { -public: + public: static_assert(!std::is_array::value, "cAtomicUniquePtr does not support arrays"); DISALLOW_COPY_AND_ASSIGN(cAtomicUniquePtr); - cAtomicUniquePtr() noexcept: + cAtomicUniquePtr() noexcept : m_Ptr(nullptr) { } - cAtomicUniquePtr(std::unique_ptr a_Ptr) noexcept: + cAtomicUniquePtr(std::unique_ptr a_Ptr) noexcept : m_Ptr(a_Ptr.release()) { } - cAtomicUniquePtr & operator = (std::unique_ptr a_Ptr) noexcept + cAtomicUniquePtr & operator=(std::unique_ptr a_Ptr) noexcept { store(std::move(a_Ptr)); return *this; } - ~cAtomicUniquePtr() noexcept - { - delete load(); - } + ~cAtomicUniquePtr() noexcept { delete load(); } - operator T * () const noexcept - { - return load(); - } + operator T *() const noexcept { return load(); } - bool compare_exchange_weak(T *& a_Expected, std::unique_ptr && a_Desired, std::memory_order a_Order = std::memory_order_seq_cst) noexcept + bool compare_exchange_weak( + T *& a_Expected, + std::unique_ptr && a_Desired, + std::memory_order a_Order = std::memory_order_seq_cst + ) noexcept { bool DidExchange = m_Ptr.compare_exchange_weak(a_Expected, a_Desired.get(), a_Order); if (DidExchange) @@ -49,7 +46,11 @@ public: return DidExchange; } - bool compare_exchange_strong(T *& a_Expected, std::unique_ptr && a_Desired, std::memory_order a_Order = std::memory_order_seq_cst) noexcept + bool compare_exchange_strong( + T *& a_Expected, + std::unique_ptr && a_Desired, + std::memory_order a_Order = std::memory_order_seq_cst + ) noexcept { bool DidExchange = m_Ptr.compare_exchange_strong(a_Expected, a_Desired.get(), a_Order); if (DidExchange) @@ -60,15 +61,15 @@ public: return DidExchange; } - std::unique_ptr exchange(std::unique_ptr a_Ptr, std::memory_order a_Order = std::memory_order_seq_cst) noexcept + std::unique_ptr exchange( + std::unique_ptr a_Ptr, + std::memory_order a_Order = std::memory_order_seq_cst + ) noexcept { - return std::unique_ptr{ m_Ptr.exchange(a_Ptr.release(), a_Order) }; + return std::unique_ptr {m_Ptr.exchange(a_Ptr.release(), a_Order)}; } - T * load(std::memory_order a_Order = std::memory_order_seq_cst) const noexcept - { - return m_Ptr.load(a_Order); - } + T * load(std::memory_order a_Order = std::memory_order_seq_cst) const noexcept { return m_Ptr.load(a_Order); } void store(std::unique_ptr a_Ptr, std::memory_order a_Order = std::memory_order_seq_cst) noexcept { @@ -76,6 +77,6 @@ public: delete m_Ptr.exchange(a_Ptr.release(), a_Order); } -private: - std::atomic m_Ptr; + private: + std::atomic m_Ptr; }; diff --git a/src/OSSupport/ConsoleSignalHandler.h b/src/OSSupport/ConsoleSignalHandler.h index 23e63d555..ee877ba3e 100644 --- a/src/OSSupport/ConsoleSignalHandler.h +++ b/src/OSSupport/ConsoleSignalHandler.h @@ -33,14 +33,13 @@ static void NonCtrlHandler(int a_Signal) { PrintStackTrace(); - LOGERROR( - "Failure report: \n\n" - " :( | Cuberite has encountered an error and needs to close\n" - " | SIGSEGV: Segmentation fault\n" - " |\n" + LOGERROR("Failure report: \n\n" + " :( | Cuberite has encountered an error and needs to close\n" + " | SIGSEGV: Segmentation fault\n" + " |\n" #ifdef BUILD_ID - " | Cuberite " BUILD_SERIES_NAME " (id: " BUILD_ID ")\n" - " | from commit " BUILD_COMMIT_ID "\n" + " | Cuberite " BUILD_SERIES_NAME " (id: " BUILD_ID ")\n" + " | from commit " BUILD_COMMIT_ID "\n" #endif ); @@ -54,14 +53,13 @@ static void NonCtrlHandler(int a_Signal) { PrintStackTrace(); - LOGERROR( - "Failure report: \n\n" - " :( | Cuberite has encountered an error and needs to close\n" - " | SIGABRT: Server self-terminated due to an internal fault\n" - " |\n" + LOGERROR("Failure report: \n\n" + " :( | Cuberite has encountered an error and needs to close\n" + " | SIGABRT: Server self-terminated due to an internal fault\n" + " |\n" #ifdef BUILD_ID - " | Cuberite " BUILD_SERIES_NAME " (id: " BUILD_ID ")\n" - " | from commit " BUILD_COMMIT_ID "\n" + " | Cuberite " BUILD_SERIES_NAME " (id: " BUILD_ID ")\n" + " | from commit " BUILD_COMMIT_ID "\n" #endif ); @@ -110,21 +108,21 @@ static BOOL CtrlHandler(DWORD fdwCtrlType) namespace ConsoleSignalHandler { - static void Register() - { - std::signal(SIGSEGV, NonCtrlHandler); - std::signal(SIGTERM, NonCtrlHandler); - std::signal(SIGINT, NonCtrlHandler); - std::signal(SIGABRT, NonCtrlHandler); +static void Register() +{ + std::signal(SIGSEGV, NonCtrlHandler); + std::signal(SIGTERM, NonCtrlHandler); + std::signal(SIGINT, NonCtrlHandler); + std::signal(SIGABRT, NonCtrlHandler); #ifdef SIGABRT_COMPAT - std::signal(SIGABRT_COMPAT, NonCtrlHandler); + std::signal(SIGABRT_COMPAT, NonCtrlHandler); #endif #ifdef SIGPIPE - std::signal(SIGPIPE, SIG_IGN); // Ignore (PR #2487). + std::signal(SIGPIPE, SIG_IGN); // Ignore (PR #2487). #endif #ifdef _WIN32 - SetConsoleCtrlHandler(reinterpret_cast(CtrlHandler), TRUE); + SetConsoleCtrlHandler(reinterpret_cast(CtrlHandler), TRUE); #endif - } -}; +} +}; // namespace ConsoleSignalHandler diff --git a/src/OSSupport/CriticalSection.cpp b/src/OSSupport/CriticalSection.cpp index 27284acb0..d902e3268 100644 --- a/src/OSSupport/CriticalSection.cpp +++ b/src/OSSupport/CriticalSection.cpp @@ -9,7 +9,7 @@ //////////////////////////////////////////////////////////////////////////////// // cCriticalSection: -cCriticalSection::cCriticalSection(): +cCriticalSection::cCriticalSection() : m_RecursionCount(0) { } @@ -63,9 +63,8 @@ bool cCriticalSection::IsLockedByCurrentThread(void) //////////////////////////////////////////////////////////////////////////////// // cCSLock -cCSLock::cCSLock(cCriticalSection * a_CS) - : m_CS(a_CS) - , m_IsLocked(false) +cCSLock::cCSLock(cCriticalSection * a_CS) : + m_CS(a_CS), m_IsLocked(false) { Lock(); } @@ -74,9 +73,8 @@ cCSLock::cCSLock(cCriticalSection * a_CS) -cCSLock::cCSLock(cCriticalSection & a_CS) - : m_CS(&a_CS) - , m_IsLocked(false) +cCSLock::cCSLock(cCriticalSection & a_CS) : + m_CS(&a_CS), m_IsLocked(false) { Lock(); } @@ -137,7 +135,3 @@ cCSUnlock::~cCSUnlock() { m_Lock.Lock(); } - - - - diff --git a/src/OSSupport/CriticalSection.h b/src/OSSupport/CriticalSection.h index 275d1a7e8..7634e5a8c 100644 --- a/src/OSSupport/CriticalSection.h +++ b/src/OSSupport/CriticalSection.h @@ -7,9 +7,10 @@ class cCriticalSection { - friend class cDeadlockDetect; // Allow the DeadlockDetect to read the internals, so that it may output some statistics + friend class cDeadlockDetect; // Allow the DeadlockDetect to read the internals, so that it may output some + // statistics -public: + public: void Lock(void); void Unlock(void); @@ -17,29 +18,28 @@ public: /** Returns true if the CS is currently locked. Note that since it relies on the m_RecursionCount value, it is inherently thread-unsafe, prone to false positives. - Also, due to multithreading, the state can change between this when function is evaluated and the returned value is used. - To be used in ASSERT(IsLocked()) only. */ + Also, due to multithreading, the state can change between this when function is evaluated and the returned value is + used. To be used in ASSERT(IsLocked()) only. */ bool IsLocked(void); /** Returns true if the CS is currently locked by the thread calling this function. Note that since it relies on the m_RecursionCount value, it is inherently thread-unsafe, prone to false positives. - Also, due to multithreading, the state can change between this when function is evaluated and the returned value is used. - To be used in ASSERT(IsLockedByCurrentThread()) only. */ + Also, due to multithreading, the state can change between this when function is evaluated and the returned value is + used. To be used in ASSERT(IsLockedByCurrentThread()) only. */ bool IsLockedByCurrentThread(void); -private: - + private: /** Number of times that this CS is currently locked (levels of recursion). Zero if not locked. - Note that this value should be considered true only when the CS is locked; without the lock, it is UndefinedBehavior to even read it, - but making it std::atomic would impose too much of a runtime penalty. - It is only ever read without the lock in the DeadlockDetect, where the server is terminating anyway. */ + Note that this value should be considered true only when the CS is locked; without the lock, it is UndefinedBehavior + to even read it, but making it std::atomic would impose too much of a runtime penalty. It is only ever read without + the lock in the DeadlockDetect, where the server is terminating anyway. */ int m_RecursionCount; /** ID of the thread that is currently holding the CS. - Note that this value should be considered true only when the CS is locked; without the lock, it is UndefinedBehavior to even read it, - but making it std::atomic would impose too much of a runtime penalty. - When unlocked, the value stored here has no meaning, it may be an ID of a previous holder, or it could be any garbage. - It is only ever read without the lock in the DeadlockDetect, where the server is terminating anyway. */ + Note that this value should be considered true only when the CS is locked; without the lock, it is UndefinedBehavior + to even read it, but making it std::atomic would impose too much of a runtime penalty. When unlocked, the value + stored here has no meaning, it may be an ID of a previous holder, or it could be any garbage. It is only ever read + without the lock in the DeadlockDetect, where the server is terminating anyway. */ std::thread::id m_OwningThreadID; std::recursive_mutex m_Mutex; @@ -53,12 +53,12 @@ class cCSLock { cCriticalSection * m_CS; - // Unlike a cCriticalSection, this object should be used from a single thread, therefore access to m_IsLocked is not threadsafe - // In Windows, it is an error to call cCriticalSection::Unlock() multiple times if the lock is not held, + // Unlike a cCriticalSection, this object should be used from a single thread, therefore access to m_IsLocked is not + // threadsafe In Windows, it is an error to call cCriticalSection::Unlock() multiple times if the lock is not held, // therefore we need to check this value whether we are locked or not. bool m_IsLocked; -public: + public: cCSLock(cCriticalSection * a_CS); cCSLock(cCriticalSection & a_CS); ~cCSLock(); @@ -67,9 +67,9 @@ public: void Lock(void); void Unlock(void); -private: + private: DISALLOW_COPY_AND_ASSIGN(cCSLock); -} ; +}; @@ -79,14 +79,11 @@ private: class cCSUnlock { cCSLock & m_Lock; -public: + + public: cCSUnlock(cCSLock & a_Lock); ~cCSUnlock(); -private: + private: DISALLOW_COPY_AND_ASSIGN(cCSUnlock); -} ; - - - - +}; diff --git a/src/OSSupport/Event.cpp b/src/OSSupport/Event.cpp index 623357766..dc1cfbb37 100644 --- a/src/OSSupport/Event.cpp +++ b/src/OSSupport/Event.cpp @@ -24,7 +24,7 @@ void cEvent::Wait(void) { { std::unique_lock Lock(m_Mutex); - m_CondVar.wait(Lock, [this](){ return m_ShouldContinue; }); + m_CondVar.wait(Lock, [this]() { return m_ShouldContinue; }); m_ShouldContinue = false; } } @@ -38,8 +38,9 @@ bool cEvent::Wait(unsigned a_TimeoutMSec) auto dst = std::chrono::system_clock::now() + std::chrono::milliseconds(a_TimeoutMSec); bool Result; { - std::unique_lock Lock(m_Mutex); // We assume that this lock is acquired without much delay - we are the only user of the mutex - Result = m_CondVar.wait_until(Lock, dst, [this](){ return m_ShouldContinue; }); + std::unique_lock Lock(m_Mutex + ); // We assume that this lock is acquired without much delay - we are the only user of the mutex + Result = m_CondVar.wait_until(Lock, dst, [this]() { return m_ShouldContinue; }); m_ShouldContinue = false; } return Result; @@ -70,8 +71,3 @@ void cEvent::SetAll(void) } m_CondVar.notify_all(); } - - - - - diff --git a/src/OSSupport/Event.h b/src/OSSupport/Event.h index ad4f07595..bcbb12998 100644 --- a/src/OSSupport/Event.h +++ b/src/OSSupport/Event.h @@ -16,7 +16,7 @@ class cEvent { -public: + public: cEvent(void); /** Waits until the event has been set. @@ -35,8 +35,7 @@ public: Returns true if the event was signalled, false if the timeout was hit or there was an error. */ bool Wait(unsigned a_TimeoutMSec); -private: - + private: /** Used for checking for spurious wakeups. */ bool m_ShouldContinue; @@ -45,9 +44,4 @@ private: /** The condition variable used as the Event. */ std::condition_variable m_CondVar; -} ; - - - - - +}; diff --git a/src/OSSupport/File.cpp b/src/OSSupport/File.cpp index ba90f4038..88545af3d 100644 --- a/src/OSSupport/File.cpp +++ b/src/OSSupport/File.cpp @@ -8,9 +8,9 @@ #include "File.h" #include #ifdef _WIN32 - #include // for _SH_DENYWRITE +#include // for _SH_DENYWRITE #else - #include +#include #endif // _WIN32 @@ -61,10 +61,10 @@ bool cFile::Open(const AString & iFileName, eMode iMode) const char * Mode = nullptr; switch (iMode) { - case fmRead: Mode = "rb"; break; - case fmWrite: Mode = "wb"; break; + case fmRead: Mode = "rb"; break; + case fmWrite: Mode = "wb"; break; case fmReadWrite: Mode = "rb+"; break; - case fmAppend: Mode = "a+"; break; + case fmAppend: Mode = "a+"; break; } if (Mode == nullptr) { @@ -72,11 +72,11 @@ bool cFile::Open(const AString & iFileName, eMode iMode) return false; } - #ifdef _WIN32 - m_File = _fsopen((iFileName).c_str(), Mode, _SH_DENYWR); - #else - m_File = fopen((iFileName).c_str(), Mode); - #endif // _WIN32 +#ifdef _WIN32 + m_File = _fsopen((iFileName).c_str(), Mode, _SH_DENYWR); +#else + m_File = fopen((iFileName).c_str(), Mode); +#endif // _WIN32 if ((m_File == nullptr) && (iMode == fmReadWrite)) { @@ -85,12 +85,11 @@ bool cFile::Open(const AString & iFileName, eMode iMode) // So now we know either the file doesn't exist or we don't have rights, no need to worry about file contents. // Simply re-open for read-writing, erasing existing contents: - #ifdef _WIN32 - m_File = _fsopen((iFileName).c_str(), "wb+", _SH_DENYWR); - #else - m_File = fopen((iFileName).c_str(), "wb+"); - #endif // _WIN32 - +#ifdef _WIN32 + m_File = _fsopen((iFileName).c_str(), "wb+", _SH_DENYWR); +#else + m_File = fopen((iFileName).c_str(), "wb+"); +#endif // _WIN32 } return (m_File != nullptr); } @@ -141,7 +140,7 @@ bool cFile::IsEOF(void) const -int cFile::Read (void * a_Buffer, size_t a_NumBytes) +int cFile::Read(void * a_Buffer, size_t a_NumBytes) { ASSERT(IsOpen()); @@ -150,7 +149,8 @@ int cFile::Read (void * a_Buffer, size_t a_NumBytes) return -1; } - return static_cast(fread(a_Buffer, 1, a_NumBytes, m_File)); // fread() returns the portion of Count parameter actually read, so we need to send a_a_NumBytes as Count + return static_cast(fread(a_Buffer, 1, a_NumBytes, m_File) + ); // fread() returns the portion of Count parameter actually read, so we need to send a_a_NumBytes as Count } @@ -186,7 +186,8 @@ int cFile::Write(const void * a_Buffer, size_t a_NumBytes) return -1; } - int res = static_cast(fwrite(a_Buffer, 1, a_NumBytes, m_File)); // fwrite() returns the portion of Count parameter actually written, so we need to send a_NumBytes as Count + int res = static_cast(fwrite(a_Buffer, 1, a_NumBytes, m_File) + ); // fwrite() returns the portion of Count parameter actually written, so we need to send a_NumBytes as Count return res; } @@ -194,7 +195,7 @@ int cFile::Write(const void * a_Buffer, size_t a_NumBytes) -long cFile::Seek (int iPosition) +long cFile::Seek(int iPosition) { ASSERT(IsOpen()); @@ -214,7 +215,7 @@ long cFile::Seek (int iPosition) -long cFile::Tell (void) const +long cFile::Tell(void) const { ASSERT(IsOpen()); @@ -283,7 +284,8 @@ int cFile::ReadRestOfFile(AString & a_Contents) auto DataSize = static_cast(TotalSize - Position); - a_Contents.resize(DataSize); // TODO: investigate if worth hacking around std::string internals to avoid initialisation + a_Contents.resize(DataSize + ); // TODO: investigate if worth hacking around std::string internals to avoid initialisation return Read(a_Contents.data(), DataSize); } @@ -319,11 +321,11 @@ bool cFile::Delete(const AString & a_Path) bool cFile::DeleteFolder(const AString & a_FolderName) { - #ifdef _WIN32 - return (RemoveDirectoryA(a_FolderName.c_str()) != 0); - #else // _WIN32 - return (rmdir(a_FolderName.c_str()) == 0); - #endif // else _WIN32 +#ifdef _WIN32 + return (RemoveDirectoryA(a_FolderName.c_str()) != 0); +#else // _WIN32 + return (rmdir(a_FolderName.c_str()) == 0); +#endif // else _WIN32 } @@ -333,7 +335,7 @@ bool cFile::DeleteFolder(const AString & a_FolderName) bool cFile::DeleteFolderContents(const AString & a_FolderName) { auto Contents = cFile::GetFolderContents(a_FolderName); - for (const auto & item: Contents) + for (const auto & item : Contents) { // Remove the item: auto WholePath = a_FolderName + GetPathSeparator() + item; @@ -385,22 +387,22 @@ bool cFile::Rename(const AString & a_OrigFileName, const AString & a_NewFileName bool cFile::Copy(const AString & a_SrcFileName, const AString & a_DstFileName) { - #ifdef _WIN32 - return (CopyFileA(a_SrcFileName.c_str(), a_DstFileName.c_str(), FALSE) != 0); - #else - // Other OSs don't have a direct CopyFile equivalent, do it the harder way: - std::ifstream src(a_SrcFileName.c_str(), std::ios::binary); - std::ofstream dst(a_DstFileName.c_str(), std::ios::binary); - if (dst.good()) - { - dst << src.rdbuf(); - return true; - } - else - { - return false; - } - #endif +#ifdef _WIN32 + return (CopyFileA(a_SrcFileName.c_str(), a_DstFileName.c_str(), FALSE) != 0); +#else + // Other OSs don't have a direct CopyFile equivalent, do it the harder way: + std::ifstream src(a_SrcFileName.c_str(), std::ios::binary); + std::ofstream dst(a_DstFileName.c_str(), std::ios::binary); + if (dst.good()) + { + dst << src.rdbuf(); + return true; + } + else + { + return false; + } +#endif } @@ -409,13 +411,13 @@ bool cFile::Copy(const AString & a_SrcFileName, const AString & a_DstFileName) bool cFile::IsFolder(const AString & a_Path) { - #ifdef _WIN32 - DWORD FileAttrib = GetFileAttributesA(a_Path.c_str()); - return ((FileAttrib != INVALID_FILE_ATTRIBUTES) && ((FileAttrib & FILE_ATTRIBUTE_DIRECTORY) != 0)); - #else - struct stat st; - return ((stat(a_Path.c_str(), &st) == 0) && S_ISDIR(st.st_mode)); - #endif +#ifdef _WIN32 + DWORD FileAttrib = GetFileAttributesA(a_Path.c_str()); + return ((FileAttrib != INVALID_FILE_ATTRIBUTES) && ((FileAttrib & FILE_ATTRIBUTE_DIRECTORY) != 0)); +#else + struct stat st; + return ((stat(a_Path.c_str(), &st) == 0) && S_ISDIR(st.st_mode)); +#endif } @@ -424,13 +426,16 @@ bool cFile::IsFolder(const AString & a_Path) bool cFile::IsFile(const AString & a_Path) { - #ifdef _WIN32 - DWORD FileAttrib = GetFileAttributesA(a_Path.c_str()); - return ((FileAttrib != INVALID_FILE_ATTRIBUTES) && ((FileAttrib & (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_DEVICE)) == 0)); - #else - struct stat st; - return ((stat(a_Path.c_str(), &st) == 0) && S_ISREG(st.st_mode)); - #endif +#ifdef _WIN32 + DWORD FileAttrib = GetFileAttributesA(a_Path.c_str()); + return ( + (FileAttrib != INVALID_FILE_ATTRIBUTES) && + ((FileAttrib & (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_DEVICE)) == 0) + ); +#else + struct stat st; + return ((stat(a_Path.c_str(), &st) == 0) && S_ISREG(st.st_mode)); +#endif } @@ -453,11 +458,11 @@ long cFile::GetSize(const AString & a_FileName) bool cFile::CreateFolder(const AString & a_FolderPath) { - #ifdef _WIN32 - return (CreateDirectoryA(a_FolderPath.c_str(), nullptr) != 0); - #else - return (mkdir(a_FolderPath.c_str(), S_IRWXU | S_IRWXG | S_IRWXO) == 0); - #endif +#ifdef _WIN32 + return (CreateDirectoryA(a_FolderPath.c_str(), nullptr) != 0); +#else + return (mkdir(a_FolderPath.c_str(), S_IRWXU | S_IRWXG | S_IRWXO) == 0); +#endif } @@ -476,11 +481,11 @@ bool cFile::CreateFolderRecursive(const AString & a_FolderPath) auto len = a_FolderPath.length(); for (decltype(len) i = 0; i < len; i++) { - #ifdef _WIN32 +#ifdef _WIN32 if ((a_FolderPath[i] == '\\') || (a_FolderPath[i] == '/')) - #else +#else if (a_FolderPath[i] == '/') - #endif +#endif { CreateFolder(a_FolderPath.substr(0, i)); } @@ -499,69 +504,61 @@ AStringVector cFile::GetFolderContents(const AString & a_Folder) { AStringVector AllFiles; - #ifdef _WIN32 +#ifdef _WIN32 - // If the folder name doesn't contain the terminating slash / backslash, add it: - AString FileFilter = a_Folder; - if ( - !FileFilter.empty() && - (FileFilter[FileFilter.length() - 1] != '\\') && - (FileFilter[FileFilter.length() - 1] != '/') - ) - { - FileFilter.push_back('\\'); - } + // If the folder name doesn't contain the terminating slash / backslash, add it: + AString FileFilter = a_Folder; + if (!FileFilter.empty() && (FileFilter[FileFilter.length() - 1] != '\\') && + (FileFilter[FileFilter.length() - 1] != '/')) + { + FileFilter.push_back('\\'); + } - // Find all files / folders: - FileFilter.append("*.*"); - HANDLE hFind; - WIN32_FIND_DATAA FindFileData; - if ((hFind = FindFirstFileA(FileFilter.c_str(), &FindFileData)) != INVALID_HANDLE_VALUE) + // Find all files / folders: + FileFilter.append("*.*"); + HANDLE hFind; + WIN32_FIND_DATAA FindFileData; + if ((hFind = FindFirstFileA(FileFilter.c_str(), &FindFileData)) != INVALID_HANDLE_VALUE) + { + do { - do + if ((strcmp(FindFileData.cFileName, ".") == 0) || (strcmp(FindFileData.cFileName, "..") == 0)) { - if ( - (strcmp(FindFileData.cFileName, ".") == 0) || - (strcmp(FindFileData.cFileName, "..") == 0) - ) - { - continue; - } - AllFiles.push_back(FindFileData.cFileName); - } while (FindNextFileA(hFind, &FindFileData)); - FindClose(hFind); + continue; + } + AllFiles.push_back(FindFileData.cFileName); } + while (FindNextFileA(hFind, &FindFileData)); + FindClose(hFind); + } - #else // _WIN32 +#else // _WIN32 - DIR * dp; - AString Folder = a_Folder; - if (Folder.empty()) - { - Folder = "."; - } - if ((dp = opendir(Folder.c_str())) == nullptr) - { - LOGERROR("Error (%i) opening directory \"%s\"\n", errno, Folder.c_str()); - } - else + DIR * dp; + AString Folder = a_Folder; + if (Folder.empty()) + { + Folder = "."; + } + if ((dp = opendir(Folder.c_str())) == nullptr) + { + LOGERROR("Error (%i) opening directory \"%s\"\n", errno, Folder.c_str()); + } + else + { + struct dirent * dirp; + while ((dirp = readdir(dp)) != nullptr) { - struct dirent *dirp; - while ((dirp = readdir(dp)) != nullptr) + if ((strcmp(dirp->d_name, ".") == 0) || (strcmp(dirp->d_name, "..") == 0)) { - if ( - (strcmp(dirp->d_name, ".") == 0) || - (strcmp(dirp->d_name, "..") == 0) - ) - { - continue; - } - AllFiles.push_back(dirp->d_name); + continue; } - closedir(dp); + AllFiles.push_back(dirp->d_name); } + closedir(dp); + } - #endif // else _WIN32 +#endif // else _WIN32 return AllFiles; } @@ -590,17 +587,17 @@ AString cFile::ChangeFileExt(const AString & a_FileName, const AString & a_NewEx { auto res = a_FileName; - // If the path separator is the last character of the string, return the string unmodified (refers to a folder): - #if defined(_MSC_VER) - // Find either path separator - MSVC CRT accepts slashes as separators, too - auto LastPathSep = res.find_last_of("/\\"); - #elif defined(_WIN32) - // Windows with different CRTs support only the backslash separator - auto LastPathSep = res.rfind('\\'); - #else - // Linux supports only the slash separator - auto LastPathSep = res.rfind('/'); - #endif +// If the path separator is the last character of the string, return the string unmodified (refers to a folder): +#if defined(_MSC_VER) + // Find either path separator - MSVC CRT accepts slashes as separators, too + auto LastPathSep = res.find_last_of("/\\"); +#elif defined(_WIN32) + // Windows with different CRTs support only the backslash separator + auto LastPathSep = res.rfind('\\'); +#else + // Linux supports only the slash separator + auto LastPathSep = res.rfind('/'); +#endif if ((LastPathSep != AString::npos) && (LastPathSep + 1 == res.size())) { return res; @@ -608,9 +605,9 @@ AString cFile::ChangeFileExt(const AString & a_FileName, const AString & a_NewEx // Append or replace the extension: auto DotPos = res.rfind('.'); - if ( - (DotPos == AString::npos) || // No dot found - ((LastPathSep != AString::npos) && (LastPathSep > DotPos)) // Last dot is before the last path separator (-> in folder name) + if ((DotPos == AString::npos) || // No dot found + ((LastPathSep != AString::npos) && (LastPathSep > DotPos) + ) // Last dot is before the last path separator (-> in folder name) ) { // No extension, just append the new one: @@ -649,17 +646,17 @@ unsigned cFile::GetLastModificationTime(const AString & a_FileName) { return 0; } - #if defined(_WIN32) - // Windows returns times in local time already - return static_cast(st.st_mtime); - #elif defined(ANDROID) - // Identical to Linux below, but st_mtime is an unsigned long, so cast is needed: - auto Time = static_cast(st.st_mtime); - return static_cast(mktime(localtime(&Time))); - #else - // Linux returns UTC time, convert to local timezone: - return static_cast(mktime(localtime(&st.st_mtime))); - #endif +#if defined(_WIN32) + // Windows returns times in local time already + return static_cast(st.st_mtime); +#elif defined(ANDROID) + // Identical to Linux below, but st_mtime is an unsigned long, so cast is needed: + auto Time = static_cast(st.st_mtime); + return static_cast(mktime(localtime(&Time))); +#else + // Linux returns UTC time, convert to local timezone: + return static_cast(mktime(localtime(&st.st_mtime))); +#endif } @@ -668,11 +665,11 @@ unsigned cFile::GetLastModificationTime(const AString & a_FileName) AString cFile::GetPathSeparator() { - #ifdef _WIN32 - return "\\"; - #else - return "/"; - #endif +#ifdef _WIN32 + return "\\"; +#else + return "/"; +#endif } @@ -681,11 +678,11 @@ AString cFile::GetPathSeparator() AString cFile::GetExecutableExt() { - #ifdef _WIN32 - return ".exe"; - #else - return ""; - #endif +#ifdef _WIN32 + return ".exe"; +#else + return ""; +#endif } @@ -701,8 +698,7 @@ void cFile::Flush() -template -FileStream::FileStream(const std::string & Path) +template FileStream::FileStream(const std::string & Path) { // Except on failbit, which is what open sets on failure: FileStream::exceptions(FileStream::failbit | FileStream::badbit); diff --git a/src/OSSupport/File.h b/src/OSSupport/File.h index 975b78cd7..207d2a09e 100644 --- a/src/OSSupport/File.h +++ b/src/OSSupport/File.h @@ -36,26 +36,26 @@ For reading entire files into memory, just use the static cFile::ReadWholeFile() class cFile { -public: - + public: // tolua_end inline static char PathSeparator() { - #ifdef _WIN32 - return '\\'; - #else - return '/'; - #endif +#ifdef _WIN32 + return '\\'; +#else + return '/'; +#endif } /** The mode in which to open the file */ enum eMode { - fmRead, // Read-only. If the file doesn't exist, object will not be valid - fmWrite, // Write-only. If the file already exists, it will be overwritten - fmReadWrite, // Read / write. If the file already exists, it will be left intact; writing will overwrite the data from the beginning - fmAppend // Write-only. If the file already exists cursor will be moved to the end of the file - } ; + fmRead, // Read-only. If the file doesn't exist, object will not be valid + fmWrite, // Write-only. If the file already exists, it will be overwritten + fmReadWrite, // Read / write. If the file already exists, it will be left intact; writing will overwrite the + // data from the beginning + fmAppend // Write-only. If the file already exists cursor will be moved to the end of the file + }; /** Simple constructor - creates an unopened file object, use Open() to open / create a real file */ cFile(void); @@ -71,37 +71,39 @@ public: bool IsOpen(void) const; bool IsEOF(void) const; - /** Reads up to a_NumBytes bytes into a_Buffer, returns the number of bytes actually read, or -1 on failure; asserts if not open */ + /** Reads up to a_NumBytes bytes into a_Buffer, returns the number of bytes actually read, or -1 on failure; asserts + * if not open */ int Read(void * a_Buffer, size_t a_NumBytes); - /** Reads up to a_NumBytes bytes, returns the bytes actually read, or empty string on failure; asserts if not open */ + /** Reads up to a_NumBytes bytes, returns the bytes actually read, or empty string on failure; asserts if not open + */ std::basic_string Read(size_t a_NumBytes); - /** Writes up to a_NumBytes bytes from a_Buffer, returns the number of bytes actually written, or -1 on failure; asserts if not open */ + /** Writes up to a_NumBytes bytes from a_Buffer, returns the number of bytes actually written, or -1 on failure; + * asserts if not open */ int Write(const void * a_Buffer, size_t a_NumBytes); - int Write(std::string_view a_String) - { - return Write(a_String.data(), a_String.size()); - } + int Write(std::string_view a_String) { return Write(a_String.data(), a_String.size()); } /** Seeks to iPosition bytes from file start, returns old position or -1 for failure; asserts if not open */ - long Seek (int iPosition); + long Seek(int iPosition); /** Returns the current position (bytes from file start) or -1 for failure; asserts if not open */ - long Tell (void) const; + long Tell(void) const; /** Returns the size of file, in bytes, or -1 for failure; asserts if not open */ long GetSize(void) const; - /** Reads the file from current position till EOF into an AString; returns the number of bytes read or -1 for error */ + /** Reads the file from current position till EOF into an AString; returns the number of bytes read or -1 for error + */ int ReadRestOfFile(AString & a_Contents); /** Returns true if the file specified exists */ static bool Exists(const AString & a_FileName); // Exported in ManualBindings.cpp /** Deletes a file or a folder, returns true if successful. - Prefer to use DeleteFile or DeleteFolder, since those don't have the penalty of checking whether a_Path is a folder. */ + Prefer to use DeleteFile or DeleteFolder, since those don't have the penalty of checking whether a_Path is a folder. + */ static bool Delete(const AString & a_Path); // Exported in ManualBindings.cpp /** Deletes a file, returns true if successful. @@ -138,7 +140,8 @@ public: /** Creates a new folder with the specified name, creating its parents if needed. Path may be relative or absolute. Returns true if the folder exists at the end of the operation (either created, or already existed). - Supports only paths that use the path separator used by the current platform (MSVC CRT supports slashes for file paths, too, but this function doesn't) */ + Supports only paths that use the path separator used by the current platform (MSVC CRT supports slashes for file + paths, too, but this function doesn't) */ static bool CreateFolderRecursive(const AString & a_FolderPath); // Exported in ManualBindings.cpp /** Returns the entire contents of the specified file as a string. Returns empty string on error. */ @@ -146,7 +149,10 @@ public: /** Returns a_FileName with its extension changed to a_NewExt. a_FileName may contain path specification. */ - static AString ChangeFileExt(const AString & a_FileName, const AString & a_NewExt); // Exported in ManualBindings.cpp + static AString ChangeFileExt( + const AString & a_FileName, + const AString & a_NewExt + ); // Exported in ManualBindings.cpp /** Returns the last modification time (in current timezone) of the specified file. The value returned is in the same units as the value returned by time() function. @@ -157,7 +163,8 @@ public: // tolua_begin /** Returns the path separator used by the current platform. - Note that the platform / CRT may support additional path separators (such as slashes on Windows), these don't get reported. */ + Note that the platform / CRT may support additional path separators (such as slashes on Windows), these don't get + reported. */ static AString GetPathSeparator(); /** Returns the customary executable extension used by the current platform. */ @@ -171,20 +178,18 @@ public: /** Flushes all the bufferef output into the file (only when writing) */ void Flush(); -private: + private: FILE * m_File; -} ; // tolua_export +}; // tolua_export /** A wrapper for file streams that enables exceptions. */ -template -class FileStream final : public StreamType +template class FileStream final : public StreamType { -public: - + public: FileStream(const std::string & Path); FileStream(const std::string & Path, const typename FileStream::openmode Mode); }; diff --git a/src/OSSupport/GZipFile.cpp b/src/OSSupport/GZipFile.cpp index 0bf26dfed..a08fe2441 100644 --- a/src/OSSupport/GZipFile.cpp +++ b/src/OSSupport/GZipFile.cpp @@ -14,8 +14,8 @@ Compression::Result GZipFile::ReadRestOfFile(const std::string & a_FileName) { InputFileStream File(a_FileName, InputFileStream::binary); - const std::string Input{ std::istreambuf_iterator(File), std::istreambuf_iterator() }; - const ContiguousByteBufferView Data{ reinterpret_cast(Input.data()), Input.size() }; + const std::string Input {std::istreambuf_iterator(File), std::istreambuf_iterator()}; + const ContiguousByteBufferView Data {reinterpret_cast(Input.data()), Input.size()}; return Compression::Extractor().ExtractGZip(Data); } @@ -26,5 +26,6 @@ Compression::Result GZipFile::ReadRestOfFile(const std::string & a_FileName) void GZipFile::Write(const std::string & a_FileName, ContiguousByteBufferView a_Contents) { - OutputFileStream(a_FileName, OutputFileStream::binary) << Compression::Compressor().CompressGZip(a_Contents).GetStringView(); + OutputFileStream(a_FileName, OutputFileStream::binary) + << Compression::Compressor().CompressGZip(a_Contents).GetStringView(); } diff --git a/src/OSSupport/GZipFile.h b/src/OSSupport/GZipFile.h index dd4999339..9ce53ed26 100644 --- a/src/OSSupport/GZipFile.h +++ b/src/OSSupport/GZipFile.h @@ -17,9 +17,9 @@ namespace GZipFile { - /** Reads the rest of the file and returns the decompressed contents. */ - Compression::Result ReadRestOfFile(const std::string & a_FileName); +/** Reads the rest of the file and returns the decompressed contents. */ +Compression::Result ReadRestOfFile(const std::string & a_FileName); - /** Writes a_Contents into file, compressing it along the way. */ - void Write(const std::string & a_FileName, ContiguousByteBufferView a_Contents); -} ; +/** Writes a_Contents into file, compressing it along the way. */ +void Write(const std::string & a_FileName, ContiguousByteBufferView a_Contents); +}; // namespace GZipFile diff --git a/src/OSSupport/GetAddressInfoError.h b/src/OSSupport/GetAddressInfoError.h index 43869fb63..3dbefb426 100644 --- a/src/OSSupport/GetAddressInfoError.h +++ b/src/OSSupport/GetAddressInfoError.h @@ -5,25 +5,22 @@ /** Returns the readable form of a getaddressinfo type error code */ inline AString ErrorString(int a_ErrorCode) { - // Note gai_strerror is not threadsafe on windows - #ifdef _WIN32 - char ErrorStr[GAI_STRERROR_BUFFER_SIZE + 1]; +// Note gai_strerror is not threadsafe on windows +#ifdef _WIN32 + char ErrorStr[GAI_STRERROR_BUFFER_SIZE + 1]; - int MsgLen = FormatMessageA( - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS | - FORMAT_MESSAGE_MAX_WIDTH_MASK, - nullptr, - a_ErrorCode, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - ErrorStr, - sizeof(ErrorStr) - 1, - nullptr - ); + int MsgLen = FormatMessageA( + FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, + nullptr, + a_ErrorCode, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + ErrorStr, + sizeof(ErrorStr) - 1, + nullptr + ); - return AString(ErrorStr, MsgLen); - #else - return gai_strerror(a_ErrorCode); - #endif + return AString(ErrorStr, MsgLen); +#else + return gai_strerror(a_ErrorCode); +#endif } - diff --git a/src/OSSupport/HostnameLookup.cpp b/src/OSSupport/HostnameLookup.cpp index d86430d83..a1489c389 100644 --- a/src/OSSupport/HostnameLookup.cpp +++ b/src/OSSupport/HostnameLookup.cpp @@ -15,9 +15,8 @@ //////////////////////////////////////////////////////////////////////////////// // cHostnameLookup: -cHostnameLookup::cHostnameLookup(const AString & a_Hostname, cNetwork::cResolveNameCallbacksPtr a_Callbacks): - m_Callbacks(std::move(a_Callbacks)), - m_Hostname(a_Hostname) +cHostnameLookup::cHostnameLookup(const AString & a_Hostname, cNetwork::cResolveNameCallbacksPtr a_Callbacks) : + m_Callbacks(std::move(a_Callbacks)), m_Hostname(a_Hostname) { } @@ -28,24 +27,26 @@ cHostnameLookup::cHostnameLookup(const AString & a_Hostname, cNetwork::cResolveN void cHostnameLookup::Lookup(const AString & a_Hostname, cNetwork::cResolveNameCallbacksPtr a_Callbacks) { // Cannot use std::make_shared here, constructor is not accessible - cHostnameLookupPtr Lookup{ new cHostnameLookup(a_Hostname, std::move(a_Callbacks)) }; + cHostnameLookupPtr Lookup {new cHostnameLookup(a_Hostname, std::move(a_Callbacks))}; // Note the Lookup object is owned solely by this lambda which is destroyed after it runs - cNetworkSingleton::Get().GetLookupThread().ScheduleLookup([=]() - { - // Start the lookup: - addrinfo hints; - memset(&hints, 0, sizeof(hints)); - hints.ai_protocol = IPPROTO_TCP; - hints.ai_socktype = SOCK_STREAM; - hints.ai_family = AF_UNSPEC; - hints.ai_flags = AI_CANONNAME; - - addrinfo * Result; - int ErrCode = getaddrinfo(Lookup->m_Hostname.c_str(), nullptr, &hints, &Result); - - Lookup->Callback(ErrCode, Result); - }); + cNetworkSingleton::Get().GetLookupThread().ScheduleLookup( + [=]() + { + // Start the lookup: + addrinfo hints; + memset(&hints, 0, sizeof(hints)); + hints.ai_protocol = IPPROTO_TCP; + hints.ai_socktype = SOCK_STREAM; + hints.ai_family = AF_UNSPEC; + hints.ai_flags = AI_CANONNAME; + + addrinfo * Result; + int ErrCode = getaddrinfo(Lookup->m_Hostname.c_str(), nullptr, &hints, &Result); + + Lookup->Callback(ErrCode, Result); + } + ); } @@ -64,7 +65,7 @@ void cHostnameLookup::Callback(int a_ErrCode, addrinfo * a_Addr) // Call the success handler for each entry received: bool HasResolved = false; addrinfo * OrigAddr = a_Addr; - for (;a_Addr != nullptr; a_Addr = a_Addr->ai_next) + for (; a_Addr != nullptr; a_Addr = a_Addr->ai_next) { char IP[128]; switch (a_Addr->ai_family) @@ -74,7 +75,8 @@ void cHostnameLookup::Callback(int a_ErrCode, addrinfo * a_Addr) sockaddr_in * sin = reinterpret_cast(a_Addr->ai_addr); if (!m_Callbacks->OnNameResolvedV4(m_Hostname, sin)) { - // Callback indicated that the IP shouldn't be serialized to a string, just continue with the next address: + // Callback indicated that the IP shouldn't be serialized to a string, just continue with the next + // address: HasResolved = true; continue; } @@ -86,7 +88,8 @@ void cHostnameLookup::Callback(int a_ErrCode, addrinfo * a_Addr) sockaddr_in6 * sin = reinterpret_cast(a_Addr->ai_addr); if (!m_Callbacks->OnNameResolvedV6(m_Hostname, sin)) { - // Callback indicated that the IP shouldn't be serialized to a string, just continue with the next address: + // Callback indicated that the IP shouldn't be serialized to a string, just continue with the next + // address: HasResolved = true; continue; } @@ -122,15 +125,8 @@ void cHostnameLookup::Callback(int a_ErrCode, addrinfo * a_Addr) //////////////////////////////////////////////////////////////////////////////// // cNetwork API: -bool cNetwork::HostnameToIP( - const AString & a_Hostname, - cNetwork::cResolveNameCallbacksPtr a_Callbacks -) +bool cNetwork::HostnameToIP(const AString & a_Hostname, cNetwork::cResolveNameCallbacksPtr a_Callbacks) { cHostnameLookup::Lookup(a_Hostname, std::move(a_Callbacks)); return true; } - - - - diff --git a/src/OSSupport/HostnameLookup.h b/src/OSSupport/HostnameLookup.h index 9189ef021..77f4a6b06 100644 --- a/src/OSSupport/HostnameLookup.h +++ b/src/OSSupport/HostnameLookup.h @@ -20,12 +20,11 @@ /** Holds information about an in-progress Hostname-to-IP lookup. */ class cHostnameLookup { -public: + public: /** Creates a lookup object and schedules the lookup. */ static void Lookup(const AString & a_Hostname, cNetwork::cResolveNameCallbacksPtr a_Callbacks); -protected: - + protected: /** Creates the lookup object. Doesn't start the lookup yet. */ cHostnameLookup(const AString & a_Hostname, cNetwork::cResolveNameCallbacksPtr a_Callbacks); @@ -39,8 +38,3 @@ protected: }; typedef std::shared_ptr cHostnameLookupPtr; typedef std::vector cHostnameLookupPtrs; - - - - - diff --git a/src/OSSupport/IPLookup.cpp b/src/OSSupport/IPLookup.cpp index f730110b9..42bf3a92a 100644 --- a/src/OSSupport/IPLookup.cpp +++ b/src/OSSupport/IPLookup.cpp @@ -16,9 +16,8 @@ //////////////////////////////////////////////////////////////////////////////// // cIPLookup: -cIPLookup::cIPLookup(const AString & a_IP, cNetwork::cResolveNameCallbacksPtr a_Callbacks): - m_Callbacks(std::move(a_Callbacks)), - m_IP(a_IP) +cIPLookup::cIPLookup(const AString & a_IP, cNetwork::cResolveNameCallbacksPtr a_Callbacks) : + m_Callbacks(std::move(a_Callbacks)), m_IP(a_IP) { ASSERT(m_Callbacks != nullptr); } @@ -29,36 +28,41 @@ cIPLookup::cIPLookup(const AString & a_IP, cNetwork::cResolveNameCallbacksPtr a_ void cIPLookup::Lookup(const AString & a_IP, cNetwork::cResolveNameCallbacksPtr a_Callbacks) { - cIPLookupPtr Lookup{ new cIPLookup(a_IP, std::move(a_Callbacks)) }; // Cannot use std::make_shared here, constructor is not accessible + cIPLookupPtr Lookup {new cIPLookup(a_IP, std::move(a_Callbacks)) + }; // Cannot use std::make_shared here, constructor is not accessible // Note the Lookup object is owned solely by this lambda which is destroyed after it runs - cNetworkSingleton::Get().GetLookupThread().ScheduleLookup([=]() - { - sockaddr_storage sa; - int salen = sizeof(sa); - memset(&sa, 0, sizeof(sa)); - - int ErrCode = evutil_parse_sockaddr_port(Lookup->m_IP.c_str(), reinterpret_cast(&sa), &salen); - - if (ErrCode != 0) + cNetworkSingleton::Get().GetLookupThread().ScheduleLookup( + [=]() { - LOGD("Failed to parse IP address \"%s\".", Lookup->m_IP.c_str()); - Lookup->Callback(ErrCode, nullptr); - return; + sockaddr_storage sa; + int salen = sizeof(sa); + memset(&sa, 0, sizeof(sa)); + + int ErrCode = evutil_parse_sockaddr_port(Lookup->m_IP.c_str(), reinterpret_cast(&sa), &salen); + + if (ErrCode != 0) + { + LOGD("Failed to parse IP address \"%s\".", Lookup->m_IP.c_str()); + Lookup->Callback(ErrCode, nullptr); + return; + } + + char Hostname[NI_MAXHOST]; + char ServInfo[NI_MAXSERV]; + + ErrCode = getnameinfo( + reinterpret_cast(&sa), + static_cast(salen), + Hostname, + sizeof(Hostname), + ServInfo, + sizeof(ServInfo), + 0 + ); + Lookup->Callback(ErrCode, Hostname); } - - char Hostname[NI_MAXHOST]; - char ServInfo[NI_MAXSERV]; - - ErrCode = getnameinfo( - reinterpret_cast(&sa), - static_cast(salen), - Hostname, sizeof(Hostname), - ServInfo, sizeof(ServInfo), - 0 - ); - Lookup->Callback(ErrCode, Hostname); - }); + ); } @@ -88,15 +92,8 @@ void cIPLookup::Callback(int a_Result, const char * a_Address) //////////////////////////////////////////////////////////////////////////////// // cNetwork API: -bool cNetwork::IPToHostName( - const AString & a_IP, - cNetwork::cResolveNameCallbacksPtr a_Callbacks -) +bool cNetwork::IPToHostName(const AString & a_IP, cNetwork::cResolveNameCallbacksPtr a_Callbacks) { cIPLookup::Lookup(a_IP, std::move(a_Callbacks)); return true; } - - - - diff --git a/src/OSSupport/IPLookup.h b/src/OSSupport/IPLookup.h index 4e3065f1c..f612f14ee 100644 --- a/src/OSSupport/IPLookup.h +++ b/src/OSSupport/IPLookup.h @@ -20,13 +20,11 @@ /** Holds information about an in-progress IP-to-Hostname lookup. */ class cIPLookup { -public: - + public: /** Creates a lookup object and schedules the lookup. */ static void Lookup(const AString & a_IP, cNetwork::cResolveNameCallbacksPtr a_Callbacks); -protected: - + protected: /** The callbacks to call for resolved names / errors. */ cNetwork::cResolveNameCallbacksPtr m_Callbacks; @@ -41,8 +39,3 @@ protected: }; typedef std::shared_ptr cIPLookupPtr; typedef std::vector cIPLookupPtrs; - - - - - diff --git a/src/OSSupport/IsThread.cpp b/src/OSSupport/IsThread.cpp index 03ca2bfc4..23abaad3e 100644 --- a/src/OSSupport/IsThread.cpp +++ b/src/OSSupport/IsThread.cpp @@ -14,8 +14,7 @@ // cIsThread: cIsThread::cIsThread(AString && a_ThreadName) : - m_ShouldTerminate(false), - m_ThreadName(std::move(a_ThreadName)) + m_ShouldTerminate(false), m_ThreadName(std::move(a_ThreadName)) { } @@ -106,15 +105,15 @@ void cIsThread::SetThreadName() const #pragma pack(push, 8) struct THREADNAME_INFO { - DWORD dwType; // Must be 0x1000. - LPCSTR szName; // Pointer to name (in user addr space). - DWORD dwThreadID; // Thread ID (-1 = caller thread). - DWORD dwFlags; // Reserved for future use, must be zero. + DWORD dwType; // Must be 0x1000. + LPCSTR szName; // Pointer to name (in user addr space). + DWORD dwThreadID; // Thread ID (-1 = caller thread). + DWORD dwFlags; // Reserved for future use, must be zero. }; #pragma pack(pop) const DWORD NAME_EXCEPTION = 0x406D1388; - const THREADNAME_INFO Name = { 0x1000, m_ThreadName.c_str(), static_cast(-1), 0 }; + const THREADNAME_INFO Name = {0x1000, m_ThreadName.c_str(), static_cast(-1), 0}; __try { diff --git a/src/OSSupport/IsThread.h b/src/OSSupport/IsThread.h index 4c2131d24..b53be5f4d 100644 --- a/src/OSSupport/IsThread.h +++ b/src/OSSupport/IsThread.h @@ -7,7 +7,8 @@ Usage: To have a new thread, declare a class descending from cIsThread. Then override its Execute() method to provide your thread processing. -In the descending class' constructor call the Start() method to start the thread once you're finished with initialization. +In the descending class' constructor call the Start() method to start the thread once you're finished with +initialization. */ @@ -22,8 +23,7 @@ In the descending class' constructor call the Start() method to start the thread class cIsThread { -public: - + public: cIsThread(AString && a_ThreadName); virtual ~cIsThread(); @@ -36,16 +36,14 @@ public: /** Returns true if the thread calling this function is the thread contained within this object. */ bool IsCurrentThread(void) const { return std::this_thread::get_id() == m_Thread.get_id(); } -protected: - + protected: /** This function, overloaded by the descendants, is called in the new thread. */ virtual void Execute(void) = 0; /** The overriden Execute() method should check this value periodically and terminate if this is true. */ std::atomic m_ShouldTerminate; -private: - + private: /** The thread object which holds the created thread for later manipulation */ std::thread m_Thread; @@ -53,13 +51,15 @@ private: AString m_ThreadName; /** The event that is used to wait with the thread's execution until the thread object is fully initialized. - This prevents the IsCurrentThread() call to fail because of a race-condition where the thread starts before m_Thread has been fully assigned. */ + This prevents the IsCurrentThread() call to fail because of a race-condition where the thread starts before m_Thread + has been fully assigned. */ cEvent m_Initialisation; /** This is the main thread entrypoint. - Wrapper for Execute() that waits for the initialization event, to prevent race conditions in thread initialization. */ + Wrapper for Execute() that waits for the initialization event, to prevent race conditions in thread initialization. + */ void Entrypoint(void); /** Sets the name of the current thread to be the name provided in m_ThreadName. */ void SetThreadName() const; -} ; +}; diff --git a/src/OSSupport/MiniDumpWriter.h b/src/OSSupport/MiniDumpWriter.h index c223fa9fb..f02b2f784 100644 --- a/src/OSSupport/MiniDumpWriter.h +++ b/src/OSSupport/MiniDumpWriter.h @@ -34,16 +34,18 @@ using MiniDumpWriteDumpFunction = decltype(&MiniDumpWriteDump); static HINSTANCE m_DbgHelp; static MiniDumpWriteDumpFunction s_WriteMiniDump; // The function in dbghlp DLL that creates dump files -static wchar_t s_DumpFileName[MAX_PATH]; // Filename of the dump file; hes to be created before the dump handler kicks in -static char s_ExceptionStack[128 * 1024]; // Substitute stack, just in case the handler kicks in because of "insufficient stack space" +static wchar_t + s_DumpFileName[MAX_PATH]; // Filename of the dump file; hes to be created before the dump handler kicks in +static char s_ExceptionStack[128 * 1024]; // Substitute stack, just in case the handler kicks in because of + // "insufficient stack space" static MINIDUMP_TYPE s_DumpFlags = MiniDumpNormal; // By default dump only the stack and some helpers -/** This function gets called just before the "program executed an illegal instruction and will be terminated" or similar. -Its purpose is to create the crashdump using the dbghlp DLLs */ +/** This function gets called just before the "program executed an illegal instruction and will be terminated" or +similar. Its purpose is to create the crashdump using the dbghlp DLLs */ static LONG WINAPI LastChanceExceptionFilter(__in struct _EXCEPTION_POINTERS * a_ExceptionInfo) { char * newStack = &s_ExceptionStack[sizeof(s_ExceptionStack) - 1]; @@ -51,19 +53,28 @@ static LONG WINAPI LastChanceExceptionFilter(__in struct _EXCEPTION_POINTERS * a // Use the substitute stack: _asm - { + { mov oldStack, esp mov esp, newStack - } + } - MINIDUMP_EXCEPTION_INFORMATION ExcInformation; + MINIDUMP_EXCEPTION_INFORMATION ExcInformation; ExcInformation.ThreadId = GetCurrentThreadId(); ExcInformation.ExceptionPointers = a_ExceptionInfo; ExcInformation.ClientPointers = 0; // Write the dump file: - HANDLE dumpFile = CreateFile(s_DumpFileName, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); - s_WriteMiniDump(GetCurrentProcess(), GetCurrentProcessId(), dumpFile, s_DumpFlags, (a_ExceptionInfo) ? &ExcInformation : nullptr, nullptr, nullptr); + HANDLE dumpFile = + CreateFile(s_DumpFileName, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); + s_WriteMiniDump( + GetCurrentProcess(), + GetCurrentProcessId(), + dumpFile, + s_DumpFlags, + (a_ExceptionInfo) ? &ExcInformation : nullptr, + nullptr, + nullptr + ); CloseHandle(dumpFile); // Revert to old stack: @@ -81,64 +92,58 @@ static LONG WINAPI LastChanceExceptionFilter(__in struct _EXCEPTION_POINTERS * a namespace MiniDumpWriter { - static void Register() - { - // Magic code to produce dump-files on Windows if the server crashes: - - m_DbgHelp = LoadLibrary(L"DBGHELP.DLL"); - if (m_DbgHelp == INVALID_HANDLE_VALUE) - { - return; - } +static void Register() +{ + // Magic code to produce dump-files on Windows if the server crashes: - s_WriteMiniDump = (MiniDumpWriteDumpFunction)GetProcAddress(m_DbgHelp, "MiniDumpWriteDump"); - if (s_WriteMiniDump != nullptr) - { - ASSERT(swprintf(s_DumpFileName, ARRAYCOUNT(s_DumpFileName), L"crash_mcs_%x.dmp", GetCurrentProcessId()) > 0); - SetUnhandledExceptionFilter(LastChanceExceptionFilter); - } + m_DbgHelp = LoadLibrary(L"DBGHELP.DLL"); + if (m_DbgHelp == INVALID_HANDLE_VALUE) + { + return; + } - // End of dump-file magic + s_WriteMiniDump = (MiniDumpWriteDumpFunction) GetProcAddress(m_DbgHelp, "MiniDumpWriteDump"); + if (s_WriteMiniDump != nullptr) + { + ASSERT(swprintf(s_DumpFileName, ARRAYCOUNT(s_DumpFileName), L"crash_mcs_%x.dmp", GetCurrentProcessId()) > 0); + SetUnhandledExceptionFilter(LastChanceExceptionFilter); } - static void AddDumpFlags(const MiniDumpFlags a_Flags) + // End of dump-file magic +} + +static void AddDumpFlags(const MiniDumpFlags a_Flags) +{ + switch (a_Flags) { - switch (a_Flags) + case MiniDumpFlags::WithDataSegments: + { + s_DumpFlags = static_cast(s_DumpFlags | MINIDUMP_TYPE::MiniDumpWithDataSegs); + break; + } + case MiniDumpFlags::WithFullMemory: { - case MiniDumpFlags::WithDataSegments: - { - s_DumpFlags = static_cast(s_DumpFlags | MINIDUMP_TYPE::MiniDumpWithDataSegs); - break; - } - case MiniDumpFlags::WithFullMemory: - { - s_DumpFlags = static_cast(s_DumpFlags | MINIDUMP_TYPE::MiniDumpWithFullMemory); - break; - } + s_DumpFlags = static_cast(s_DumpFlags | MINIDUMP_TYPE::MiniDumpWithFullMemory); + break; } } +} - static void Unregister() - { - FreeLibrary(m_DbgHelp); - } -}; +static void Unregister() +{ + FreeLibrary(m_DbgHelp); +} +}; // namespace MiniDumpWriter #else namespace MiniDumpWriter { - static void Register() - { - } +static void Register() {} - static void AddDumpFlags(const MiniDumpFlags) - { - } +static void AddDumpFlags(const MiniDumpFlags) {} - static void Unregister() - { - } -}; +static void Unregister() {} +}; // namespace MiniDumpWriter #endif diff --git a/src/OSSupport/Network.h b/src/OSSupport/Network.h index ca31d9948..17a213a47 100644 --- a/src/OSSupport/Network.h +++ b/src/OSSupport/Network.h @@ -14,7 +14,7 @@ #ifdef __FreeBSD__ - #include +#include #endif @@ -42,15 +42,16 @@ class cTCPLink { friend class cNetwork; -public: + public: class cCallbacks { - public: + public: // Force a virtual destructor for all descendants: virtual ~cCallbacks() {} /** Called when the cTCPLink for the connection is created. - The callback may store the cTCPLink instance for later use, but it should remove it in OnError(), OnRemoteClosed() or right after Close(). */ + The callback may store the cTCPLink instance for later use, but it should remove it in OnError(), + OnRemoteClosed() or right after Close(). */ virtual void OnLinkCreated(cTCPLinkPtr a_Link) = 0; /** Called when there's data incoming from the remote peer. */ @@ -62,7 +63,8 @@ public: virtual void OnRemoteClosed(void) = 0; /** Called when the TLS handshake has been completed and communication can continue regularly. - Has an empty default implementation, so that link callback descendants don't need to specify TLS handlers when they don't use TLS at all. */ + Has an empty default implementation, so that link callback descendants don't need to specify TLS handlers when + they don't use TLS at all. */ virtual void OnTlsHandshakeCompleted(void) {} /** Called when an error is detected on the connection. */ @@ -75,15 +77,14 @@ public: virtual ~cTCPLink() {} /** Queues the specified data for sending to the remote peer. - Returns true on success, false on failure. Note that this success or failure only reports the queue status, not the actual data delivery. */ + Returns true on success, false on failure. Note that this success or failure only reports the queue status, not the + actual data delivery. */ virtual bool Send(const void * a_Data, size_t a_Length) = 0; /** Queues the specified data for sending to the remote peer. - Returns true on success, false on failure. Note that this success or failure only reports the queue status, not the actual data delivery. */ - bool Send(const AString & a_Data) - { - return Send(a_Data.data(), a_Data.size()); - } + Returns true on success, false on failure. Note that this success or failure only reports the queue status, not the + actual data delivery. */ + bool Send(const AString & a_Data) { return Send(a_Data.data(), a_Data.size()); } /** Returns the IP address of the local endpoint of the connection. */ virtual AString GetLocalIP(void) const = 0; @@ -134,13 +135,13 @@ public: /** Returns the callbacks that are used. */ cCallbacksPtr GetCallbacks(void) const { return m_Callbacks; } -protected: + protected: /** Callbacks to be used for the various situations. */ cCallbacksPtr m_Callbacks; /** Creates a new link, with the specified callbacks. */ - cTCPLink(cCallbacksPtr a_Callbacks): + cTCPLink(cCallbacksPtr a_Callbacks) : m_Callbacks(std::move(a_Callbacks)) { } @@ -154,8 +155,8 @@ protected: class cServerHandle { friend class cNetwork; -public: + public: // Force a virtual destructor for all descendants: virtual ~cServerHandle() {} @@ -174,11 +175,11 @@ public: /** Interface that provides methods available on UDP communication endpoints. */ class cUDPEndpoint { -public: + public: /** Interface for the callbacks for events that can happen on the endpoint. */ class cCallbacks { - public: + public: // Force a virtual destructor in all descendants: virtual ~cCallbacks() {} @@ -186,7 +187,12 @@ public: virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) = 0; /** Called when there is an incoming datagram from a remote host. */ - virtual void OnReceivedData(const char * a_Data, size_t a_Size, const AString & a_RemoteHost, UInt16 a_RemotePort) = 0; + virtual void OnReceivedData( + const char * a_Data, + size_t a_Size, + const AString & a_RemoteHost, + UInt16 a_RemotePort + ) = 0; }; @@ -211,13 +217,13 @@ public: Without this call, sending to a broadcast address using Send() may fail. */ virtual void EnableBroadcasts(void) = 0; -protected: + protected: /** The callbacks used for various events on the endpoint. */ cCallbacks & m_Callbacks; /** Creates a new instance of an endpoint, with the specified callbacks. */ - cUDPEndpoint(cCallbacks & a_Callbacks): + cUDPEndpoint(cCallbacks & a_Callbacks) : m_Callbacks(a_Callbacks) { } @@ -231,11 +237,11 @@ typedef std::shared_ptr cUDPEndpointPtr; class cNetwork { -public: + public: /** Callbacks used for connecting to other servers as a client. */ class cConnectCallbacks { - public: + public: // Force a virtual destructor for all descendants: virtual ~cConnectCallbacks() {} @@ -252,7 +258,7 @@ public: /** Callbacks used when listening for incoming connections as a server. */ class cListenCallbacks { - public: + public: // Force a virtual destructor for all descendants: virtual ~cListenCallbacks() {} @@ -260,7 +266,10 @@ public: Returns the link callbacks that the server should use for the newly created link. If a nullptr is returned, the connection is dropped immediately; otherwise a new cTCPLink instance is created and OnAccepted() is called. */ - virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) = 0; + virtual cTCPLink::cCallbacksPtr OnIncomingConnection( + const AString & a_RemoteIPAddress, + UInt16 a_RemotePort + ) = 0; /** Called when the TCP server created with Listen() creates a new link for an incoming connection. Provides the newly created Link that can be used for communication. @@ -276,7 +285,7 @@ public: /** Callbacks used when resolving names to IPs. */ class cResolveNameCallbacks { - public: + public: // Force a virtual destructor for all descendants: virtual ~cResolveNameCallbacks() {} @@ -310,11 +319,10 @@ public: /** Queues a TCP connection to be made to the specified host. - Calls one the connection callbacks (success, error) when the connection is successfully established, or upon failure. - The a_LinkCallbacks is passed to the newly created cTCPLink. - Returns true if queueing was successful, false on failure to queue. - Note that the return value doesn't report the success of the actual connection; the connection is established asynchronously in the background. - Implemented in TCPLinkImpl.cpp. */ + Calls one the connection callbacks (success, error) when the connection is successfully established, or upon + failure. The a_LinkCallbacks is passed to the newly created cTCPLink. Returns true if queueing was successful, false + on failure to queue. Note that the return value doesn't report the success of the actual connection; the connection + is established asynchronously in the background. Implemented in TCPLinkImpl.cpp. */ static bool Connect( const AString & a_Host, UInt16 a_Port, @@ -328,32 +336,23 @@ public: A cTCPLink with the specified link callbacks is created for each connection. Returns a cServerHandle that can be used to query the operation status and close the server. Implemented in ServerHandleImpl.cpp. */ - static cServerHandlePtr Listen( - UInt16 a_Port, - cListenCallbacksPtr a_ListenCallbacks - ); + static cServerHandlePtr Listen(UInt16 a_Port, cListenCallbacksPtr a_ListenCallbacks); /** Queues a DNS query to resolve the specified hostname to IP address. Calls one of the callbacks when the resolving succeeds, or when it fails. Returns true if queueing was successful, false if not. - Note that the return value doesn't report the success of the actual lookup; the lookup happens asynchronously on the background. - Implemented in HostnameLookup.cpp. */ - static bool HostnameToIP( - const AString & a_Hostname, - cResolveNameCallbacksPtr a_Callbacks - ); + Note that the return value doesn't report the success of the actual lookup; the lookup happens asynchronously on the + background. Implemented in HostnameLookup.cpp. */ + static bool HostnameToIP(const AString & a_Hostname, cResolveNameCallbacksPtr a_Callbacks); /** Queues a DNS query to resolve the specified IP address to a hostname. Calls one of the callbacks when the resolving succeeds, or when it fails. Returns true if queueing was successful, false if not. - Note that the return value doesn't report the success of the actual lookup; the lookup happens asynchronously on the background. - Implemented in IPLookup.cpp. */ - static bool IPToHostName( - const AString & a_IP, - cResolveNameCallbacksPtr a_Callbacks - ); + Note that the return value doesn't report the success of the actual lookup; the lookup happens asynchronously on the + background. Implemented in IPLookup.cpp. */ + static bool IPToHostName(const AString & a_IP, cResolveNameCallbacksPtr a_Callbacks); /** Opens up an UDP endpoint for sending and receiving UDP datagrams on the specified port. If a_Port is 0, the OS is free to assign any port number it likes to the endpoint. @@ -363,6 +362,3 @@ public: /** Returns all local IP addresses for network interfaces currently available. */ static AStringVector EnumLocalIPAddresses(void); }; - - - diff --git a/src/OSSupport/NetworkInterfaceEnum.cpp b/src/OSSupport/NetworkInterfaceEnum.cpp index 439710c38..6cfc60b77 100644 --- a/src/OSSupport/NetworkInterfaceEnum.cpp +++ b/src/OSSupport/NetworkInterfaceEnum.cpp @@ -8,13 +8,13 @@ #include "event2/util.h" #if defined(_WIN32) - #include - #pragma comment(lib, "IPHLPAPI.lib") +#include +#pragma comment(lib, "IPHLPAPI.lib") #elif !defined(ANDROID) // _WIN32 - #include - #include - #include - #include +#include +#include +#include +#include #endif // else _WIN32 @@ -92,72 +92,70 @@ AStringVector cNetwork::EnumLocalIPAddresses(void) { AStringVector res; - #if defined(_WIN32) - - // Query the OS for all adapters' addresses: - char buffer[64 KiB]; // A buffer backing the address list - PIP_ADAPTER_ADDRESSES pAddresses = reinterpret_cast(&buffer); - ULONG outBufLen = sizeof(buffer); - DWORD dwRetVal = GetAdaptersAddresses( - AF_UNSPEC, - GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME, nullptr, - pAddresses, &outBufLen - ); - if (dwRetVal != ERROR_SUCCESS) +#if defined(_WIN32) + + // Query the OS for all adapters' addresses: + char buffer[64 KiB]; // A buffer backing the address list + PIP_ADAPTER_ADDRESSES pAddresses = reinterpret_cast(&buffer); + ULONG outBufLen = sizeof(buffer); + DWORD dwRetVal = GetAdaptersAddresses( + AF_UNSPEC, + GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME, + nullptr, + pAddresses, + &outBufLen + ); + if (dwRetVal != ERROR_SUCCESS) + { + LOG("GetAdaptersAddresses() failed: %u", dwRetVal); + return res; + } + + // Enumerate all active adapters + for (auto pCurrAddresses = pAddresses; pCurrAddresses != nullptr; pCurrAddresses = pCurrAddresses->Next) + { + if (pCurrAddresses->OperStatus != IfOperStatusUp) { - LOG("GetAdaptersAddresses() failed: %u", dwRetVal); - return res; + // Adapter not active, skip it: + continue; } - // Enumerate all active adapters - for (auto pCurrAddresses = pAddresses; pCurrAddresses != nullptr; pCurrAddresses = pCurrAddresses->Next) + // Collect all IP addresses on this adapter: + for (auto pUnicast = pCurrAddresses->FirstUnicastAddress; pUnicast != nullptr; pUnicast = pUnicast->Next) { - if (pCurrAddresses->OperStatus != IfOperStatusUp) + auto Address = PrintAddress(pUnicast->Address); + if (!Address.empty()) { - // Adapter not active, skip it: - continue; + res.push_back(Address); } + } // for pUnicast + } // for pCurrAddresses - // Collect all IP addresses on this adapter: - for (auto pUnicast = pCurrAddresses->FirstUnicastAddress; pUnicast != nullptr; pUnicast = pUnicast->Next) - { - auto Address = PrintAddress(pUnicast->Address); - if (!Address.empty()) - { - res.push_back(Address); - } - } // for pUnicast - } // for pCurrAddresses - - #elif !defined(ANDROID) // _WIN32 +#elif !defined(ANDROID) // _WIN32 - struct ifaddrs * ifAddrStruct = nullptr; - getifaddrs(&ifAddrStruct); + struct ifaddrs * ifAddrStruct = nullptr; + getifaddrs(&ifAddrStruct); - for (auto ifa = ifAddrStruct; ifa != nullptr; ifa = ifa->ifa_next) + for (auto ifa = ifAddrStruct; ifa != nullptr; ifa = ifa->ifa_next) + { + if (ifa->ifa_addr == nullptr) { - if (ifa->ifa_addr == nullptr) - { - continue; - } - - auto Address = PrintAddress(ifa); - if (!Address.empty()) - { - res.emplace_back(Address); - } + continue; } - if (ifAddrStruct != nullptr) + auto Address = PrintAddress(ifa); + if (!Address.empty()) { - freeifaddrs(ifAddrStruct); + res.emplace_back(Address); } + } - #endif // else _WIN32 + if (ifAddrStruct != nullptr) + { + freeifaddrs(ifAddrStruct); + } + +#endif // else _WIN32 return res; } - - - - diff --git a/src/OSSupport/NetworkLookup.cpp b/src/OSSupport/NetworkLookup.cpp index 8a0e54015..458294c11 100644 --- a/src/OSSupport/NetworkLookup.cpp +++ b/src/OSSupport/NetworkLookup.cpp @@ -41,7 +41,7 @@ void cNetworkLookup::Stop() { m_ShouldTerminate = true; m_WorkQueue.Clear(); - m_WorkQueue.EnqueueItem([](){}); // Dummy work to wake up the thread + m_WorkQueue.EnqueueItem([]() {}); // Dummy work to wake up the thread cIsThread::Stop(); } @@ -58,6 +58,3 @@ void cNetworkLookup::Execute() Work(); } } - - - diff --git a/src/OSSupport/NetworkLookup.h b/src/OSSupport/NetworkLookup.h index 416219947..bb01de407 100644 --- a/src/OSSupport/NetworkLookup.h +++ b/src/OSSupport/NetworkLookup.h @@ -14,11 +14,9 @@ -class cNetworkLookup : - public cIsThread +class cNetworkLookup : public cIsThread { -public: - + public: cNetworkLookup(); virtual ~cNetworkLookup() override; @@ -28,15 +26,11 @@ public: /** Cancels any scheduled lookups and joins the lookup thread. */ void Stop(); -protected: - + protected: /** Process the queue until the thread is stopped. */ virtual void Execute() override final; -private: - + private: /** The queue of lookup tasks waiting to be executed. */ cQueue> m_WorkQueue; }; - - diff --git a/src/OSSupport/NetworkSingleton.cpp b/src/OSSupport/NetworkSingleton.cpp index e022f4fec..e13f96515 100644 --- a/src/OSSupport/NetworkSingleton.cpp +++ b/src/OSSupport/NetworkSingleton.cpp @@ -49,30 +49,30 @@ void cNetworkSingleton::Initialise(void) // Start the lookup thread m_LookupThread.Start(); - // Windows: initialize networking: - #ifdef _WIN32 - WSADATA wsaData; - memset(&wsaData, 0, sizeof(wsaData)); - int res = WSAStartup (MAKEWORD(2, 2), &wsaData); - if (res != 0) - { - int err = WSAGetLastError(); - LOGWARNING("WSAStartup failed: %d, WSAGLE = %d (%s)", res, err, evutil_socket_error_to_string(err)); - exit(1); - } - #endif // _WIN32 +// Windows: initialize networking: +#ifdef _WIN32 + WSADATA wsaData; + memset(&wsaData, 0, sizeof(wsaData)); + int res = WSAStartup(MAKEWORD(2, 2), &wsaData); + if (res != 0) + { + int err = WSAGetLastError(); + LOGWARNING("WSAStartup failed: %d, WSAGLE = %d (%s)", res, err, evutil_socket_error_to_string(err)); + exit(1); + } +#endif // _WIN32 // Initialize LibEvent logging: event_set_log_callback(LogCallback); - // Initialize threading: - #if defined(EVTHREAD_USE_WINDOWS_THREADS_IMPLEMENTED) - evthread_use_windows_threads(); - #elif defined(EVTHREAD_USE_PTHREADS_IMPLEMENTED) - evthread_use_pthreads(); - #else - #error No threading implemented for EVTHREAD - #endif +// Initialize threading: +#if defined(EVTHREAD_USE_WINDOWS_THREADS_IMPLEMENTED) + evthread_use_windows_threads(); +#elif defined(EVTHREAD_USE_PTHREADS_IMPLEMENTED) + evthread_use_pthreads(); +#else +#error No threading implemented for EVTHREAD +#endif // Create the main event_base: event_config * config = event_config_new(); @@ -88,7 +88,8 @@ void cNetworkSingleton::Initialise(void) // Create the event loop thread: m_HasTerminated = false; m_EventLoopThread = std::thread(RunEventLoop, this); - m_StartupEvent.Wait(); // Wait for the LibEvent loop to actually start running (otherwise calling Terminate too soon would hang, see #3228) + m_StartupEvent.Wait(); // Wait for the LibEvent loop to actually start running (otherwise calling Terminate too + // soon would hang, see #3228) } @@ -133,7 +134,8 @@ void cNetworkSingleton::Terminate(void) libevent_global_shutdown(); // Set the HasTerminated flag: - // (Only set the flag after everything has been removed, to avoid the random failures in the Google-test, caused by links terminating after this flag was set) + // (Only set the flag after everything has been removed, to avoid the random failures in the Google-test, caused by + // links terminating after this flag was set) m_HasTerminated = true; } @@ -145,10 +147,10 @@ void cNetworkSingleton::LogCallback(int a_Severity, const char * a_Msg) { switch (a_Severity) { - case _EVENT_LOG_DEBUG: LOGD ("LibEvent: %s", a_Msg); break; - case _EVENT_LOG_MSG: LOG ("LibEvent: %s", a_Msg); break; + case _EVENT_LOG_DEBUG: LOGD("LibEvent: %s", a_Msg); break; + case _EVENT_LOG_MSG: LOG("LibEvent: %s", a_Msg); break; case _EVENT_LOG_WARN: LOGWARNING("LibEvent: %s", a_Msg); break; - case _EVENT_LOG_ERR: LOGERROR ("LibEvent: %s", a_Msg); break; + case _EVENT_LOG_ERR: LOGERROR("LibEvent: %s", a_Msg); break; default: { LOGWARNING("LibEvent: Unknown log severity (%d): %s", a_Severity, a_Msg); @@ -164,7 +166,7 @@ void cNetworkSingleton::LogCallback(int a_Severity, const char * a_Msg) void cNetworkSingleton::RunEventLoop(cNetworkSingleton * a_Self) { auto timer = evtimer_new(a_Self->m_EventBase, SignalizeStartup, a_Self); - timeval timeout{}; // Zero timeout - execute immediately + timeval timeout {}; // Zero timeout - execute immediately evtimer_add(timer, &timeout); event_base_loop(a_Self->m_EventBase, EVLOOP_NO_EXIT_ON_EMPTY); event_free(timer); @@ -238,7 +240,3 @@ void cNetworkSingleton::RemoveServer(const cServerHandle * a_Server) } } // for itr - m_Servers[] } - - - - diff --git a/src/OSSupport/NetworkSingleton.h b/src/OSSupport/NetworkSingleton.h index 2a2d0cef3..d2af6d3c8 100644 --- a/src/OSSupport/NetworkSingleton.h +++ b/src/OSSupport/NetworkSingleton.h @@ -37,7 +37,7 @@ typedef std::vector cServerHandlePtrs; class cNetworkSingleton { -public: + public: cNetworkSingleton(); ~cNetworkSingleton() noexcept(false); @@ -50,7 +50,8 @@ public: /** Terminates all network-related threads. To be used only on app shutdown or restart. - MSVC runtime requires that the LibEvent networking be shut down before the main() function is exitted; this is the way to do it. */ + MSVC runtime requires that the LibEvent networking be shut down before the main() function is exitted; this is the + way to do it. */ void Terminate(void); /** Returns the main LibEvent handle for event registering. */ @@ -76,8 +77,7 @@ public: Used by the underlying server handle implementation when the server is closed. */ void RemoveServer(const cServerHandle * a_Server); -protected: - + protected: /** The main LibEvent container for driving the event loop. */ event_base * m_EventBase; @@ -112,12 +112,3 @@ protected: /** Callback called by LibEvent when the event loop is started. */ static void SignalizeStartup(evutil_socket_t a_Socket, short a_Events, void * a_Self); }; - - - - - - - - - diff --git a/src/OSSupport/Queue.h b/src/OSSupport/Queue.h index d5a4bd443..da0c88ec0 100644 --- a/src/OSSupport/Queue.h +++ b/src/OSSupport/Queue.h @@ -19,15 +19,14 @@ implements the functions Delete() and Combine(). An example is given in cQueueFuncs and is used as the default behavior. */ /** This empty struct allows for the callback functions to be inlined */ -template -struct cQueueFuncs +template struct cQueueFuncs { -public: - + public: /** Called when an Item is deleted from the queue without being returned */ static void Delete(T) {} - /** Called when an Item is inserted with EnqueueItemIfNotPresent and there is another equal value already inserted */ + /** Called when an Item is inserted with EnqueueItemIfNotPresent and there is another equal value already inserted + */ static void Combine(T & a_existing, const T & a_new) { UNUSED(a_existing); @@ -39,8 +38,7 @@ public: -template > -class cQueue +template > class cQueue { // The actual storage type for the queue typedef typename std::list QueueType; @@ -48,7 +46,7 @@ class cQueue // Make iterator an alias for the QueueType's iterator typedef typename QueueType::iterator iterator; -public: + public: cQueue() {} ~cQueue() {} @@ -62,7 +60,8 @@ public: } - /** Enqueues an item in the queue if not already present (as determined by operator ==). Blocks other threads from accessing the queue. */ + /** Enqueues an item in the queue if not already present (as determined by operator ==). Blocks other threads from + * accessing the queue. */ void EnqueueItemIfNotPresent(ItemType a_Item) { cCSLock Lock(m_CS); @@ -164,8 +163,7 @@ public: /** Removes all items for which the predicate returns true. */ - template - void RemoveIf(Predicate a_Predicate) + template void RemoveIf(Predicate a_Predicate) { cCSLock Lock(m_CS); for (auto itr = m_Contents.begin(); itr != m_Contents.end();) @@ -185,7 +183,7 @@ public: } // for itr - m_Contents[] } -private: + private: /** The contents of the queue */ QueueType m_Contents; @@ -198,7 +196,3 @@ private: /** Event that is signalled when an item is removed (both dequeued or erased) */ cEvent m_evtRemoved; }; - - - - diff --git a/src/OSSupport/ServerHandleImpl.cpp b/src/OSSupport/ServerHandleImpl.cpp index 669a0f83f..227f224aa 100644 --- a/src/OSSupport/ServerHandleImpl.cpp +++ b/src/OSSupport/ServerHandleImpl.cpp @@ -17,15 +17,15 @@ namespace ServerHandleImplHelper { - static bool IsValidSocket(evutil_socket_t a_Socket) - { +static bool IsValidSocket(evutil_socket_t a_Socket) +{ #ifdef _WIN32 - return (a_Socket != INVALID_SOCKET); + return (a_Socket != INVALID_SOCKET); #else // _WIN32 - return (a_Socket >= 0); + return (a_Socket >= 0); #endif // else _WIN32 - } } +} // namespace ServerHandleImplHelper @@ -34,7 +34,7 @@ namespace ServerHandleImplHelper //////////////////////////////////////////////////////////////////////////////// // cServerHandleImpl: -cServerHandleImpl::cServerHandleImpl(cNetwork::cListenCallbacksPtr a_ListenCallbacks): +cServerHandleImpl::cServerHandleImpl(cNetwork::cListenCallbacksPtr a_ListenCallbacks) : m_ListenCallbacks(std::move(a_ListenCallbacks)), m_ConnListener(nullptr), m_SecondaryConnListener(nullptr), @@ -82,7 +82,7 @@ void cServerHandleImpl::Close(void) cCSLock Lock(m_CS); std::swap(Conns, m_Connections); } - for (const auto & conn: Conns) + for (const auto & conn : Conns) { conn->Shutdown(); } @@ -98,12 +98,9 @@ void cServerHandleImpl::Close(void) -cServerHandleImplPtr cServerHandleImpl::Listen( - UInt16 a_Port, - cNetwork::cListenCallbacksPtr a_ListenCallbacks -) +cServerHandleImplPtr cServerHandleImpl::Listen(UInt16 a_Port, cNetwork::cListenCallbacksPtr a_ListenCallbacks) { - cServerHandleImplPtr res{new cServerHandleImpl(std::move(a_ListenCallbacks))}; + cServerHandleImplPtr res {new cServerHandleImpl(std::move(a_ListenCallbacks))}; res->m_SelfPtr = res; if (res->Listen(a_Port)) { @@ -141,8 +138,11 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) if (!ServerHandleImplHelper::IsValidSocket(MainSock)) { m_ErrorCode = EVUTIL_SOCKET_ERROR(); - m_ErrorMsg = fmt::format(FMT_STRING("Cannot create a server socket for port {}: {} ({})"), - a_Port, m_ErrorCode, evutil_socket_error_to_string(m_ErrorCode) + m_ErrorMsg = fmt::format( + FMT_STRING("Cannot create a server socket for port {}: {} ({})"), + a_Port, + m_ErrorCode, + evutil_socket_error_to_string(m_ErrorCode) ); return false; } @@ -151,8 +151,11 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) if (evutil_make_listen_socket_reuseable(MainSock) != 0) { m_ErrorCode = EVUTIL_SOCKET_ERROR(); - m_ErrorMsg = fmt::format(FMT_STRING("Port {} cannot be made reusable: {} ({}). Restarting the server might not work."), - a_Port, m_ErrorCode, evutil_socket_error_to_string(m_ErrorCode) + m_ErrorMsg = fmt::format( + FMT_STRING("Port {} cannot be made reusable: {} ({}). Restarting the server might not work."), + a_Port, + m_ErrorCode, + evutil_socket_error_to_string(m_ErrorCode) ); LOG("%s", m_ErrorMsg); } @@ -165,8 +168,11 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) if (bind(MainSock, reinterpret_cast(&name), sizeof(name)) != 0) { m_ErrorCode = EVUTIL_SOCKET_ERROR(); - m_ErrorMsg = fmt::format(FMT_STRING("Cannot bind IPv4 socket to port {}: {} ({})"), - a_Port, m_ErrorCode, evutil_socket_error_to_string(m_ErrorCode) + m_ErrorMsg = fmt::format( + FMT_STRING("Cannot bind IPv4 socket to port {}: {} ({})"), + a_Port, + m_ErrorCode, + evutil_socket_error_to_string(m_ErrorCode) ); evutil_closesocket(MainSock); return false; @@ -176,21 +182,24 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) { // IPv6 socket created, switch it into "dualstack" mode: UInt32 Zero = 0; - #ifdef _WIN32 - // WinXP doesn't support this feature, so if the setting fails, create another socket later on: - int res = setsockopt(MainSock, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast(&Zero), sizeof(Zero)); - err = EVUTIL_SOCKET_ERROR(); - NeedsTwoSockets = ((res == SOCKET_ERROR) && (err == WSAENOPROTOOPT)); - #else - setsockopt(MainSock, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast(&Zero), sizeof(Zero)); - #endif +#ifdef _WIN32 + // WinXP doesn't support this feature, so if the setting fails, create another socket later on: + int res = setsockopt(MainSock, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast(&Zero), sizeof(Zero)); + err = EVUTIL_SOCKET_ERROR(); + NeedsTwoSockets = ((res == SOCKET_ERROR) && (err == WSAENOPROTOOPT)); +#else + setsockopt(MainSock, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast(&Zero), sizeof(Zero)); +#endif // Allow the port to be reused right after the socket closes: if (evutil_make_listen_socket_reuseable(MainSock) != 0) { m_ErrorCode = EVUTIL_SOCKET_ERROR(); - m_ErrorMsg = fmt::format(FMT_STRING("Port {} cannot be made reusable: {} ({}). Restarting the server might not work."), - a_Port, m_ErrorCode, evutil_socket_error_to_string(m_ErrorCode) + m_ErrorMsg = fmt::format( + FMT_STRING("Port {} cannot be made reusable: {} ({}). Restarting the server might not work."), + a_Port, + m_ErrorCode, + evutil_socket_error_to_string(m_ErrorCode) ); LOG("%s", m_ErrorMsg); } @@ -203,7 +212,12 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) if (bind(MainSock, reinterpret_cast(&name), sizeof(name)) != 0) { m_ErrorCode = EVUTIL_SOCKET_ERROR(); - m_ErrorMsg = fmt::format(FMT_STRING("Cannot bind IPv6 socket to port {}: {} ({})"), a_Port, m_ErrorCode, evutil_socket_error_to_string(m_ErrorCode)); + m_ErrorMsg = fmt::format( + FMT_STRING("Cannot bind IPv6 socket to port {}: {} ({})"), + a_Port, + m_ErrorCode, + evutil_socket_error_to_string(m_ErrorCode) + ); evutil_closesocket(MainSock); return false; } @@ -211,18 +225,35 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) if (evutil_make_socket_nonblocking(MainSock) != 0) { m_ErrorCode = EVUTIL_SOCKET_ERROR(); - m_ErrorMsg = fmt::format(FMT_STRING("Cannot make socket on port {} non-blocking: {} ({})"), a_Port, m_ErrorCode, evutil_socket_error_to_string(m_ErrorCode)); + m_ErrorMsg = fmt::format( + FMT_STRING("Cannot make socket on port {} non-blocking: {} ({})"), + a_Port, + m_ErrorCode, + evutil_socket_error_to_string(m_ErrorCode) + ); evutil_closesocket(MainSock); return false; } if (listen(MainSock, SOMAXCONN) != 0) { m_ErrorCode = EVUTIL_SOCKET_ERROR(); - m_ErrorMsg = fmt::format(FMT_STRING("Cannot listen on port {}: {} ({})"), a_Port, m_ErrorCode, evutil_socket_error_to_string(m_ErrorCode)); + m_ErrorMsg = fmt::format( + FMT_STRING("Cannot listen on port {}: {} ({})"), + a_Port, + m_ErrorCode, + evutil_socket_error_to_string(m_ErrorCode) + ); evutil_closesocket(MainSock); return false; } - m_ConnListener = evconnlistener_new(cNetworkSingleton::Get().GetEventBase(), Callback, this, LEV_OPT_CLOSE_ON_FREE | LEV_OPT_REUSEABLE, 0, MainSock); + m_ConnListener = evconnlistener_new( + cNetworkSingleton::Get().GetEventBase(), + Callback, + this, + LEV_OPT_CLOSE_ON_FREE | LEV_OPT_REUSEABLE, + 0, + MainSock + ); m_IsListening = true; if (!NeedsTwoSockets) @@ -245,8 +276,12 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) if (evutil_make_listen_socket_reuseable(SecondSock) != 0) { m_ErrorCode = EVUTIL_SOCKET_ERROR(); - m_ErrorMsg = fmt::format(FMT_STRING("Port {} cannot be made reusable (second socket): {} ({}). Restarting the server might not work."), - a_Port, m_ErrorCode, evutil_socket_error_to_string(m_ErrorCode) + m_ErrorMsg = fmt::format( + FMT_STRING("Port {} cannot be made reusable (second socket): {} ({}). Restarting the server might not work." + ), + a_Port, + m_ErrorCode, + evutil_socket_error_to_string(m_ErrorCode) ); LOG("%s", m_ErrorMsg); } @@ -255,7 +290,11 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) if (evutil_make_socket_nonblocking(SecondSock) != 0) { err = EVUTIL_SOCKET_ERROR(); - LOGD("evutil_make_socket_nonblocking() failed for secondary socket: %d, %s", err, evutil_socket_error_to_string(err)); + LOGD( + "evutil_make_socket_nonblocking() failed for secondary socket: %d, %s", + err, + evutil_socket_error_to_string(err) + ); evutil_closesocket(SecondSock); return true; // Report as success, the primary socket is working } @@ -283,7 +322,14 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) UNUSED(err); - m_SecondaryConnListener = evconnlistener_new(cNetworkSingleton::Get().GetEventBase(), Callback, this, LEV_OPT_CLOSE_ON_FREE | LEV_OPT_REUSEABLE, 0, SecondSock); + m_SecondaryConnListener = evconnlistener_new( + cNetworkSingleton::Get().GetEventBase(), + Callback, + this, + LEV_OPT_CLOSE_ON_FREE | LEV_OPT_REUSEABLE, + 0, + SecondSock + ); return true; } @@ -291,7 +337,13 @@ bool cServerHandleImpl::Listen(UInt16 a_Port) -void cServerHandleImpl::Callback(evconnlistener * a_Listener, evutil_socket_t a_Socket, sockaddr * a_Addr, int a_Len, void * a_Self) +void cServerHandleImpl::Callback( + evconnlistener * a_Listener, + evutil_socket_t a_Socket, + sockaddr * a_Addr, + int a_Len, + void * a_Self +) { // Cast to true self: cServerHandleImpl * Self = static_cast(a_Self); @@ -332,7 +384,8 @@ void cServerHandleImpl::Callback(evconnlistener * a_Listener, evutil_socket_t a_ setsockopt(a_Socket, IPPROTO_TCP, TCP_NODELAY, reinterpret_cast(&one), sizeof(one)); // Create a new cTCPLink for the incoming connection: - cTCPLinkImplPtr Link = std::make_shared(a_Socket, LinkCallbacks, Self->m_SelfPtr, a_Addr, static_cast(a_Len)); + cTCPLinkImplPtr Link = + std::make_shared(a_Socket, LinkCallbacks, Self->m_SelfPtr, a_Addr, static_cast(a_Len)); { cCSLock Lock(Self->m_CS); Self->m_Connections.push_back(Link); @@ -368,15 +421,7 @@ void cServerHandleImpl::RemoveLink(const cTCPLinkImpl * a_Link) //////////////////////////////////////////////////////////////////////////////// // cNetwork API: -cServerHandlePtr cNetwork::Listen( - UInt16 a_Port, - cNetwork::cListenCallbacksPtr a_ListenCallbacks -) +cServerHandlePtr cNetwork::Listen(UInt16 a_Port, cNetwork::cListenCallbacksPtr a_ListenCallbacks) { return cServerHandleImpl::Listen(a_Port, std::move(a_ListenCallbacks)); } - - - - - diff --git a/src/OSSupport/ServerHandleImpl.h b/src/OSSupport/ServerHandleImpl.h index eb0dca386..af06d971f 100644 --- a/src/OSSupport/ServerHandleImpl.h +++ b/src/OSSupport/ServerHandleImpl.h @@ -31,37 +31,34 @@ typedef std::vector cServerHandleImplPtrs; -class cServerHandleImpl: - public cServerHandle +class cServerHandleImpl : public cServerHandle { using Super = cServerHandle; friend class cTCPLinkImpl; -public: - + public: /** Closes the server, dropping all the connections. */ virtual ~cServerHandleImpl() override; /** Creates a new server instance listening on the specified port. Both IPv4 and IPv6 interfaces are used, if possible. - Always returns a server instance; in the event of a failure, the instance holds the error details. Use IsListening() to query success. */ - static cServerHandleImplPtr Listen( - UInt16 a_Port, - cNetwork::cListenCallbacksPtr a_ListenCallbacks - ); + Always returns a server instance; in the event of a failure, the instance holds the error details. Use IsListening() + to query success. */ + static cServerHandleImplPtr Listen(UInt16 a_Port, cNetwork::cListenCallbacksPtr a_ListenCallbacks); // cServerHandle overrides: virtual void Close(void) override; virtual bool IsListening(void) const override { return m_IsListening; } -protected: + protected: /** The callbacks used to notify about incoming connections. */ cNetwork::cListenCallbacksPtr m_ListenCallbacks; /** The LibEvent handle representing the main listening socket. */ evconnlistener * m_ConnListener; - /** The LibEvent handle representing the secondary listening socket (only when side-by-side listening is needed, such as WinXP). */ + /** The LibEvent handle representing the secondary listening socket (only when side-by-side listening is needed, + * such as WinXP). */ evconnlistener * m_SecondaryConnListener; /** Set to true when the server is initialized successfully and is listening for incoming connections. */ @@ -93,14 +90,15 @@ protected: bool Listen(UInt16 a_Port); /** The callback called by LibEvent upon incoming connection. */ - static void Callback(evconnlistener * a_Listener, evutil_socket_t a_Socket, sockaddr * a_Addr, int a_Len, void * a_Self); + static void Callback( + evconnlistener * a_Listener, + evutil_socket_t a_Socket, + sockaddr * a_Addr, + int a_Len, + void * a_Self + ); /** Removes the specified link from m_Connections. Called by cTCPLinkImpl when the link is terminated. */ void RemoveLink(const cTCPLinkImpl * a_Link); }; - - - - - diff --git a/src/OSSupport/SleepResolutionBooster.h b/src/OSSupport/SleepResolutionBooster.h index f090f6963..956a009ef 100644 --- a/src/OSSupport/SleepResolutionBooster.h +++ b/src/OSSupport/SleepResolutionBooster.h @@ -25,42 +25,36 @@ static TIMECAPS g_Resolution; namespace SleepResolutionBooster { - static void Register() +static void Register() +{ + // Default sleep resolution on Windows isn't accurate enough (GH #5140) so try to boost it: + if ((timeGetDevCaps(&g_Resolution, sizeof(g_Resolution)) == MMSYSERR_NOERROR) && + (timeBeginPeriod(g_Resolution.wPeriodMin) == MMSYSERR_NOERROR)) { - // Default sleep resolution on Windows isn't accurate enough (GH #5140) so try to boost it: - if ( - (timeGetDevCaps(&g_Resolution, sizeof(g_Resolution)) == MMSYSERR_NOERROR) && - (timeBeginPeriod(g_Resolution.wPeriodMin) == MMSYSERR_NOERROR) - ) - { - return; - } - - // Max < Min sentinel for failure, to prevent bogus timeEndPeriod calls: - g_Resolution.wPeriodMax = 0; - g_Resolution.wPeriodMin = 1; + return; } - static void Unregister() + // Max < Min sentinel for failure, to prevent bogus timeEndPeriod calls: + g_Resolution.wPeriodMax = 0; + g_Resolution.wPeriodMin = 1; +} + +static void Unregister() +{ + if (g_Resolution.wPeriodMax >= g_Resolution.wPeriodMin) { - if (g_Resolution.wPeriodMax >= g_Resolution.wPeriodMin) - { - timeEndPeriod(g_Resolution.wPeriodMin); - } + timeEndPeriod(g_Resolution.wPeriodMin); } -}; +} +}; // namespace SleepResolutionBooster #else namespace SleepResolutionBooster { - static void Register() - { - } +static void Register() {} - static void Unregister() - { - } -}; +static void Unregister() {} +}; // namespace SleepResolutionBooster #endif diff --git a/src/OSSupport/StackTrace.cpp b/src/OSSupport/StackTrace.cpp index 77c5a3724..5466d0617 100644 --- a/src/OSSupport/StackTrace.cpp +++ b/src/OSSupport/StackTrace.cpp @@ -6,12 +6,12 @@ #include "Globals.h" #include "StackTrace.h" #ifdef _WIN32 - #include "WinStackWalker.h" +#include "WinStackWalker.h" #else - #ifdef __GLIBC__ - #include - #endif - #include +#ifdef __GLIBC__ +#include +#endif +#include #endif @@ -20,23 +20,20 @@ void PrintStackTrace(void) { - #ifdef _WIN32 - class PrintingStackWalker: - public WinStackWalker - { - virtual void OnOutput(LPCSTR szText) override - { - std::fputs(szText, stdout); - } - } sw; - sw.ShowCallstack(); - #else - #ifdef __GLIBC__ - // Use the backtrace() function to get and output the stackTrace: - // Code adapted from https://stackoverflow.com/questions/77005/how-to-generate-a-stacktrace-when-my-gcc-c-app-crashes - void * stackTrace[30]; - auto numItems = backtrace(stackTrace, ARRAYCOUNT(stackTrace)); - backtrace_symbols_fd(stackTrace, numItems, STDERR_FILENO); - #endif - #endif +#ifdef _WIN32 + class PrintingStackWalker : public WinStackWalker + { + virtual void OnOutput(LPCSTR szText) override { std::fputs(szText, stdout); } + } sw; + sw.ShowCallstack(); +#else +#ifdef __GLIBC__ + // Use the backtrace() function to get and output the stackTrace: + // Code adapted from + // https://stackoverflow.com/questions/77005/how-to-generate-a-stacktrace-when-my-gcc-c-app-crashes + void * stackTrace[30]; + auto numItems = backtrace(stackTrace, ARRAYCOUNT(stackTrace)); + backtrace_symbols_fd(stackTrace, numItems, STDERR_FILENO); +#endif +#endif } diff --git a/src/OSSupport/StackTrace.h b/src/OSSupport/StackTrace.h index 228a00077..cff1bb8af 100644 --- a/src/OSSupport/StackTrace.h +++ b/src/OSSupport/StackTrace.h @@ -9,7 +9,3 @@ /** Prints the stacktrace for the current thread. */ extern void PrintStackTrace(void); - - - - diff --git a/src/OSSupport/StartAsService.h b/src/OSSupport/StartAsService.h index fe078f303..a7811494b 100644 --- a/src/OSSupport/StartAsService.h +++ b/src/OSSupport/StartAsService.h @@ -13,16 +13,13 @@ class StartAsService { -public: - + public: /** Make a Windows service. */ - template - static bool MakeIntoService() + template static bool MakeIntoService() { - SERVICE_TABLE_ENTRY ServiceTable[] = - { - { g_ServiceName, (LPSERVICE_MAIN_FUNCTION)serviceMain }, - { nullptr, nullptr } + SERVICE_TABLE_ENTRY ServiceTable[] = { + {g_ServiceName, (LPSERVICE_MAIN_FUNCTION) serviceMain}, + {nullptr, nullptr} }; if (StartServiceCtrlDispatcher(ServiceTable) == FALSE) @@ -33,8 +30,7 @@ public: return true; } -private: - + private: /** Set the internal status of the service */ static void serviceSetState(DWORD acceptedControls, DWORD newState, DWORD exitCode) { @@ -64,8 +60,7 @@ private: } /* Startup logic for running as a service */ - template - static void WINAPI serviceMain(DWORD argc, TCHAR *argv[]) + template static void WINAPI serviceMain(DWORD argc, TCHAR * argv[]) { wchar_t applicationFilename[MAX_PATH]; wchar_t applicationDirectory[MAX_PATH]; @@ -110,7 +105,7 @@ private: serviceSetState(SERVICE_ACCEPT_STOP, SERVICE_RUNNING, 0); char MultibyteArgV0[MAX_PATH]; - char * MultibyteArgV[] = { MultibyteArgV0 }; + char * MultibyteArgV[] = {MultibyteArgV0}; const auto OutputSize = std::size(MultibyteArgV0); const auto TranslateResult = std::wcstombs(MultibyteArgV0, argv[0], OutputSize); @@ -132,9 +127,9 @@ private: serviceSetState(0, SERVICE_STOPPED, Return); } - static inline SERVICE_STATUS_HANDLE g_StatusHandle = nullptr; - static inline HANDLE g_ServiceThread = INVALID_HANDLE_VALUE; - static inline wchar_t g_ServiceName[] = L"Cuberite"; + static inline SERVICE_STATUS_HANDLE g_StatusHandle = nullptr; + static inline HANDLE g_ServiceThread = INVALID_HANDLE_VALUE; + static inline wchar_t g_ServiceName[] = L"Cuberite"; }; #else @@ -142,8 +137,7 @@ private: struct StartAsService { /** Make a UNIX daemon. */ - template - static bool MakeIntoService() + template static bool MakeIntoService() { pid_t pid = fork(); @@ -159,7 +153,7 @@ struct StartAsService return true; } - // Child process now goes quiet, running in the background. + // Child process now goes quiet, running in the background. close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); diff --git a/src/OSSupport/Stopwatch.h b/src/OSSupport/Stopwatch.h index 7676b3856..647f4773a 100644 --- a/src/OSSupport/Stopwatch.h +++ b/src/OSSupport/Stopwatch.h @@ -15,24 +15,22 @@ class cStopwatch { -public: - cStopwatch(const AString & a_Name): - m_Name(a_Name), - m_StartTime(std::chrono::high_resolution_clock::now()) + public: + cStopwatch(const AString & a_Name) : + m_Name(a_Name), m_StartTime(std::chrono::high_resolution_clock::now()) { } ~cStopwatch() { - auto duration = std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - m_StartTime).count(); + auto duration = std::chrono::duration_cast( + std::chrono::high_resolution_clock::now() - m_StartTime + ) + .count(); LOG("Stopwatch: %s took %.03f sec", m_Name, static_cast(duration) / 1000); } -protected: + protected: AString m_Name; std::chrono::high_resolution_clock::time_point m_StartTime; }; - - - - diff --git a/src/OSSupport/TCPLinkImpl.cpp b/src/OSSupport/TCPLinkImpl.cpp index 1e12f27ab..d1cc2e8d2 100644 --- a/src/OSSupport/TCPLinkImpl.cpp +++ b/src/OSSupport/TCPLinkImpl.cpp @@ -17,9 +17,13 @@ //////////////////////////////////////////////////////////////////////////////// // cTCPLinkImpl: -cTCPLinkImpl::cTCPLinkImpl(const std::string & a_Host, cTCPLink::cCallbacksPtr a_LinkCallbacks): +cTCPLinkImpl::cTCPLinkImpl(const std::string & a_Host, cTCPLink::cCallbacksPtr a_LinkCallbacks) : Super(std::move(a_LinkCallbacks)), - m_BufferEvent(bufferevent_socket_new(cNetworkSingleton::Get().GetEventBase(), -1, BEV_OPT_CLOSE_ON_FREE | BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS)), + m_BufferEvent(bufferevent_socket_new( + cNetworkSingleton::Get().GetEventBase(), + -1, + BEV_OPT_CLOSE_ON_FREE | BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS + )), m_LocalPort(0), m_RemoteHost(a_Host), m_RemotePort(0), @@ -37,9 +41,13 @@ cTCPLinkImpl::cTCPLinkImpl( cServerHandleImplPtr a_Server, const sockaddr * a_Address, socklen_t a_AddrLen -): +) : Super(std::move(a_LinkCallbacks)), - m_BufferEvent(bufferevent_socket_new(cNetworkSingleton::Get().GetEventBase(), a_Socket, BEV_OPT_CLOSE_ON_FREE | BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS)), + m_BufferEvent(bufferevent_socket_new( + cNetworkSingleton::Get().GetEventBase(), + a_Socket, + BEV_OPT_CLOSE_ON_FREE | BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS + )), m_Server(std::move(a_Server)), m_LocalPort(0), m_RemotePort(0), @@ -66,32 +74,34 @@ cTCPLinkImpl::~cTCPLinkImpl() -cTCPLinkImplPtr cTCPLinkImpl::Connect(const AString & a_Host, UInt16 a_Port, cTCPLink::cCallbacksPtr a_LinkCallbacks, cNetwork::cConnectCallbacksPtr a_ConnectCallbacks) +cTCPLinkImplPtr cTCPLinkImpl::Connect( + const AString & a_Host, + UInt16 a_Port, + cTCPLink::cCallbacksPtr a_LinkCallbacks, + cNetwork::cConnectCallbacksPtr a_ConnectCallbacks +) { ASSERT(a_LinkCallbacks != nullptr); ASSERT(a_ConnectCallbacks != nullptr); // Create a new link: - cTCPLinkImplPtr res{new cTCPLinkImpl(a_Host, std::move(a_LinkCallbacks))}; // Cannot use std::make_shared here, constructor is not accessible + cTCPLinkImplPtr res {new cTCPLinkImpl(a_Host, std::move(a_LinkCallbacks)) + }; // Cannot use std::make_shared here, constructor is not accessible res->m_ConnectCallbacks = std::move(a_ConnectCallbacks); cNetworkSingleton::Get().AddLink(res); res->m_Callbacks->OnLinkCreated(res); res->Enable(res); // Callback to connect after performing lookup: - class cHostnameCallback : - public cNetwork::cResolveNameCallbacks + class cHostnameCallback : public cNetwork::cResolveNameCallbacks { cTCPLinkImplPtr m_Link; UInt16 m_Port; bool m_IsConnecting; - public: - - cHostnameCallback(cTCPLinkImplPtr a_Link, UInt16 a_ConnectPort): - m_Link(std::move(a_Link)), - m_Port(a_ConnectPort), - m_IsConnecting(false) + public: + cHostnameCallback(cTCPLinkImplPtr a_Link, UInt16 a_ConnectPort) : + m_Link(std::move(a_Link)), m_Port(a_ConnectPort), m_IsConnecting(false) { } @@ -135,13 +145,9 @@ cTCPLinkImplPtr cTCPLinkImpl::Connect(const AString & a_Host, UInt16 a_Port, cTC } // Don't need to do anything for these - virtual void OnFinished() override - { - } + virtual void OnFinished() override {} - virtual void OnNameResolved(const AString & a_Name, const AString & a_IP) override - { - } + virtual void OnNameResolved(const AString & a_Name, const AString & a_IP) override {} }; // Schedule the host query @@ -242,11 +248,7 @@ void cTCPLinkImpl::Close(void) -AString cTCPLinkImpl::StartTLSClient( - cX509CertPtr a_OwnCert, - cCryptoKeyPtr a_OwnPrivKey, - cX509CertPtr a_TrustedRootCAs -) +AString cTCPLinkImpl::StartTLSClient(cX509CertPtr a_OwnCert, cCryptoKeyPtr a_OwnPrivKey, cX509CertPtr a_TrustedRootCAs) { // Check preconditions: if (m_TlsContext != nullptr) @@ -298,11 +300,7 @@ AString cTCPLinkImpl::StartTLSClient( -AString cTCPLinkImpl::StartTLSServer( - cX509CertPtr a_OwnCert, - cCryptoKeyPtr a_OwnPrivKey, - const AString & a_StartTLSData -) +AString cTCPLinkImpl::StartTLSServer(cX509CertPtr a_OwnCert, cCryptoKeyPtr a_OwnPrivKey, const AString & a_StartTLSData) { // Check preconditions: if (m_TlsContext != nullptr) @@ -529,11 +527,11 @@ void cTCPLinkImpl::UpdateRemoteAddress(void) void cTCPLinkImpl::DoActualShutdown(void) { - #ifdef _WIN32 - shutdown(bufferevent_getfd(m_BufferEvent), SD_SEND); - #else - shutdown(bufferevent_getfd(m_BufferEvent), SHUT_WR); - #endif +#ifdef _WIN32 + shutdown(bufferevent_getfd(m_BufferEvent), SD_SEND); +#else + shutdown(bufferevent_getfd(m_BufferEvent), SHUT_WR); +#endif bufferevent_disable(m_BufferEvent, EV_WRITE); } @@ -563,7 +561,7 @@ void cTCPLinkImpl::ReceivedCleartextData(const char * a_Data, size_t a_Length) //////////////////////////////////////////////////////////////////////////////// // cTCPLinkImpl::cLinkTlsContext: -cTCPLinkImpl::cLinkTlsContext::cLinkTlsContext(cTCPLinkImpl & a_Link): +cTCPLinkImpl::cLinkTlsContext::cLinkTlsContext(cTCPLinkImpl & a_Link) : m_Link(a_Link) { } @@ -724,11 +722,7 @@ bool cNetwork::Connect( ) { // Add a connection request to the queue: - cTCPLinkImplPtr Conn = cTCPLinkImpl::Connect(a_Host, a_Port, std::move(a_LinkCallbacks), std::move(a_ConnectCallbacks)); + cTCPLinkImplPtr Conn = + cTCPLinkImpl::Connect(a_Host, a_Port, std::move(a_LinkCallbacks), std::move(a_ConnectCallbacks)); return (Conn != nullptr); } - - - - - diff --git a/src/OSSupport/TCPLinkImpl.h b/src/OSSupport/TCPLinkImpl.h index 44e515504..1ce4b0232 100644 --- a/src/OSSupport/TCPLinkImpl.h +++ b/src/OSSupport/TCPLinkImpl.h @@ -31,13 +31,11 @@ typedef std::vector cTCPLinkImplPtrs; -class cTCPLinkImpl: - public cTCPLink +class cTCPLinkImpl : public cTCPLink { using Super = cTCPLink; -public: - + public: /** Creates a new link based on the given socket. Used for connections accepted in a server using cNetwork::Listen(). a_Host is the hostname used for TLS SNI (can be empty in cases TLS is not used). @@ -57,7 +55,12 @@ public: /** Queues a connection request to the specified host. a_ConnectCallbacks must be valid. Returns a link that has the connection request queued, or NULL for failure. */ - static cTCPLinkImplPtr Connect(const AString & a_Host, UInt16 a_Port, cTCPLink::cCallbacksPtr a_LinkCallbacks, cNetwork::cConnectCallbacksPtr a_ConnectCallbacks); + static cTCPLinkImplPtr Connect( + const AString & a_Host, + UInt16 a_Port, + cTCPLink::cCallbacksPtr a_LinkCallbacks, + cNetwork::cConnectCallbacksPtr a_ConnectCallbacks + ); /** Enables communication over the link. Links are created with communication disabled, so that creation callbacks can be called first. @@ -73,27 +76,19 @@ public: virtual UInt16 GetRemotePort(void) const override { return m_RemotePort; } virtual void Shutdown(void) override; virtual void Close(void) override; - virtual AString StartTLSClient( - cX509CertPtr a_OwnCert, - cCryptoKeyPtr a_OwnPrivKey, - cX509CertPtr a_TrustedRootCAs - ) override; - virtual AString StartTLSServer( - cX509CertPtr a_OwnCert, - cCryptoKeyPtr a_OwnPrivKey, - const AString & a_StartTLSData - ) override; - -protected: + virtual AString StartTLSClient(cX509CertPtr a_OwnCert, cCryptoKeyPtr a_OwnPrivKey, cX509CertPtr a_TrustedRootCAs) + override; + virtual AString StartTLSServer(cX509CertPtr a_OwnCert, cCryptoKeyPtr a_OwnPrivKey, const AString & a_StartTLSData) + override; + protected: // fwd: class cLinkTlsContext; typedef std::shared_ptr cLinkTlsContextPtr; typedef std::weak_ptr cLinkTlsContextWPtr; /** Wrapper around cSslContext that is used when this link is being encrypted by SSL. */ - class cLinkTlsContext : - public cSslContext + class cLinkTlsContext : public cSslContext { cTCPLinkImpl & m_Link; @@ -106,7 +101,7 @@ protected: /** Shared ownership of self, so that this object can keep itself alive for as long as it needs. */ cLinkTlsContextWPtr m_Self; - public: + public: cLinkTlsContext(cTCPLinkImpl & a_Link); /** Shares ownership of self, so that this object can keep itself alive for as long as it needs. */ @@ -134,10 +129,7 @@ protected: virtual int SendEncrypted(const unsigned char * a_Buffer, size_t a_NumBytes) override; /** Returns true if the context's associated TCP link is the same link as a_Link. */ - bool IsLink(cTCPLinkImpl * a_Link) - { - return (a_Link == &m_Link); - } + bool IsLink(cTCPLinkImpl * a_Link) { return (a_Link == &m_Link); } }; @@ -216,7 +208,3 @@ protected: /** Called by the TLS when it has decoded a piece of incoming cleartext data from the socket. */ void ReceivedCleartextData(const char * a_Data, size_t a_Length); }; - - - - diff --git a/src/OSSupport/UDPEndpointImpl.cpp b/src/OSSupport/UDPEndpointImpl.cpp index 2550c5378..3ae5db485 100644 --- a/src/OSSupport/UDPEndpointImpl.cpp +++ b/src/OSSupport/UDPEndpointImpl.cpp @@ -16,15 +16,15 @@ namespace UDPEndpointImplHelper { - static bool IsValidSocket(evutil_socket_t a_Socket) - { +static bool IsValidSocket(evutil_socket_t a_Socket) +{ #ifdef _WIN32 - return (a_Socket != INVALID_SOCKET); + return (a_Socket != INVALID_SOCKET); #else // _WIN32 - return (a_Socket >= 0); + return (a_Socket >= 0); #endif // else _WIN32 - } } +} // namespace UDPEndpointImplHelper @@ -37,8 +37,8 @@ static void ConvertIPv4ToMappedIPv6(sockaddr_in & a_SrcAddr, sockaddr_in6 & a_Ds a_DstAddr.sin6_family = AF_INET6; a_DstAddr.sin6_addr.s6_addr[10] = 0xff; a_DstAddr.sin6_addr.s6_addr[11] = 0xff; - a_DstAddr.sin6_addr.s6_addr[12] = static_cast((a_SrcAddr.sin_addr.s_addr >> 0) & 0xff); - a_DstAddr.sin6_addr.s6_addr[13] = static_cast((a_SrcAddr.sin_addr.s_addr >> 8) & 0xff); + a_DstAddr.sin6_addr.s6_addr[12] = static_cast((a_SrcAddr.sin_addr.s_addr >> 0) & 0xff); + a_DstAddr.sin6_addr.s6_addr[13] = static_cast((a_SrcAddr.sin_addr.s_addr >> 8) & 0xff); a_DstAddr.sin6_addr.s6_addr[14] = static_cast((a_SrcAddr.sin_addr.s_addr >> 16) & 0xff); a_DstAddr.sin6_addr.s6_addr[15] = static_cast((a_SrcAddr.sin_addr.s_addr >> 24) & 0xff); a_DstAddr.sin6_port = a_SrcAddr.sin_port; @@ -54,11 +54,16 @@ static void ConvertIPv4ToMappedIPv6(sockaddr_in & a_SrcAddr, sockaddr_in6 & a_Ds /** A hostname-to-IP resolver callback that sends the data stored within to the resolved IP address. This is used for sending UDP datagrams to hostnames, so that the cUDPEndpoint::Send() doesn't block. Instead an instance of this callback is queued for resolving and the data is sent once the IP is resolved. */ -class cUDPSendAfterLookup: - public cNetwork::cResolveNameCallbacks +class cUDPSendAfterLookup : public cNetwork::cResolveNameCallbacks { -public: - cUDPSendAfterLookup(const AString & a_Data, UInt16 a_Port, evutil_socket_t a_MainSock, evutil_socket_t a_SecondSock, bool a_IsMainSockIPv6): + public: + cUDPSendAfterLookup( + const AString & a_Data, + UInt16 a_Port, + evutil_socket_t a_MainSock, + evutil_socket_t a_SecondSock, + bool a_IsMainSockIPv6 + ) : m_Data(a_Data), m_Port(a_Port), m_MainSock(a_MainSock), @@ -69,7 +74,7 @@ public: { } -protected: + protected: /** The data to send after the hostname is resolved. */ AString m_Data; @@ -137,20 +142,41 @@ protected: { if (m_HasIPv6) { - sendto(m_MainSock, m_Data.data(), m_Data.size(), 0, reinterpret_cast(&m_AddrIPv6), static_cast(sizeof(m_AddrIPv6))); + sendto( + m_MainSock, + m_Data.data(), + m_Data.size(), + 0, + reinterpret_cast(&m_AddrIPv6), + static_cast(sizeof(m_AddrIPv6)) + ); } else if (m_HasIPv4) { // If the secondary socket is valid, it is an IPv4 socket, so use that: if (m_SecondSock != -1) { - sendto(m_SecondSock, m_Data.data(), m_Data.size(), 0, reinterpret_cast(&m_AddrIPv4), static_cast(sizeof(m_AddrIPv4))); + sendto( + m_SecondSock, + m_Data.data(), + m_Data.size(), + 0, + reinterpret_cast(&m_AddrIPv4), + static_cast(sizeof(m_AddrIPv4)) + ); } else { // Need an address conversion from IPv4 to IPv6-mapped-IPv4: ConvertIPv4ToMappedIPv6(m_AddrIPv4, m_AddrIPv6); - sendto(m_MainSock, m_Data.data(), m_Data.size(), 0, reinterpret_cast(&m_AddrIPv6), static_cast(sizeof(m_AddrIPv6))); + sendto( + m_MainSock, + m_Data.data(), + m_Data.size(), + 0, + reinterpret_cast(&m_AddrIPv6), + static_cast(sizeof(m_AddrIPv6)) + ); } } else @@ -167,7 +193,14 @@ protected: LOGD("UDP endpoint queued sendto: Name not resolved to IPv4 for an IPv4-only socket"); return; } - sendto(m_MainSock, m_Data.data(), m_Data.size(), 0, reinterpret_cast(&m_AddrIPv4), static_cast(sizeof(m_AddrIPv4))); + sendto( + m_MainSock, + m_Data.data(), + m_Data.size(), + 0, + reinterpret_cast(&m_AddrIPv4), + static_cast(sizeof(m_AddrIPv4)) + ); } } @@ -184,7 +217,7 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cUDPEndpointImpl: -cUDPEndpointImpl::cUDPEndpointImpl(UInt16 a_Port, cUDPEndpoint::cCallbacks & a_Callbacks): +cUDPEndpointImpl::cUDPEndpointImpl(UInt16 a_Port, cUDPEndpoint::cCallbacks & a_Callbacks) : Super(a_Callbacks), m_Port(0), m_MainSock(-1), @@ -270,7 +303,8 @@ bool cUDPEndpointImpl::Send(const AString & a_Payload, const AString & a_Host, U if (evutil_parse_sockaddr_port(a_Host.c_str(), reinterpret_cast(&sa), &salen) != 0) { // a_Host is a hostname, we need to do a lookup first: - auto queue = std::make_shared(a_Payload, a_Port, m_MainSock, m_SecondarySock, m_IsMainSockIPv6); + auto queue = + std::make_shared(a_Payload, a_Port, m_MainSock, m_SecondarySock, m_IsMainSockIPv6); return cNetwork::HostnameToIP(a_Host, queue); } @@ -287,19 +321,40 @@ bool cUDPEndpointImpl::Send(const AString & a_Payload, const AString & a_Host, U if (UDPEndpointImplHelper::IsValidSocket(m_SecondarySock)) { // The secondary socket, which is always IPv4, is present: - NumSent = static_cast(sendto(m_SecondarySock, a_Payload.data(), a_Payload.size(), 0, reinterpret_cast(&sa), static_cast(salen))); + NumSent = static_cast(sendto( + m_SecondarySock, + a_Payload.data(), + a_Payload.size(), + 0, + reinterpret_cast(&sa), + static_cast(salen) + )); } else { // Need to convert IPv4 to IPv6 address before sending: sockaddr_in6 IPv6; ConvertIPv4ToMappedIPv6(*reinterpret_cast(&sa), IPv6); - NumSent = static_cast(sendto(m_MainSock, a_Payload.data(), a_Payload.size(), 0, reinterpret_cast(&IPv6), static_cast(sizeof(IPv6)))); + NumSent = static_cast(sendto( + m_MainSock, + a_Payload.data(), + a_Payload.size(), + 0, + reinterpret_cast(&IPv6), + static_cast(sizeof(IPv6)) + )); } } else { - NumSent = static_cast(sendto(m_MainSock, a_Payload.data(), a_Payload.size(), 0, reinterpret_cast(&sa), static_cast(salen))); + NumSent = static_cast(sendto( + m_MainSock, + a_Payload.data(), + a_Payload.size(), + 0, + reinterpret_cast(&sa), + static_cast(salen) + )); } break; } @@ -307,7 +362,14 @@ bool cUDPEndpointImpl::Send(const AString & a_Payload, const AString & a_Host, U case AF_INET6: { reinterpret_cast(&sa)->sin6_port = htons(a_Port); - NumSent = static_cast(sendto(m_MainSock, a_Payload.data(), a_Payload.size(), 0, reinterpret_cast(&sa), static_cast(salen))); + NumSent = static_cast(sendto( + m_MainSock, + a_Payload.data(), + a_Payload.size(), + 0, + reinterpret_cast(&sa), + static_cast(salen) + )); break; } default: @@ -332,7 +394,13 @@ void cUDPEndpointImpl::EnableBroadcasts(void) int broadcastInt = 1; char broadcastChar = 1; // (Note that Windows uses const char * for option values, while Linux uses const void *) - if (setsockopt(m_MainSock, SOL_SOCKET, SO_BROADCAST, reinterpret_cast(&broadcastInt), sizeof(broadcastInt)) == -1) + if (setsockopt( + m_MainSock, + SOL_SOCKET, + SO_BROADCAST, + reinterpret_cast(&broadcastInt), + sizeof(broadcastInt) + ) == -1) { if (setsockopt(m_MainSock, SOL_SOCKET, SO_BROADCAST, &broadcastChar, sizeof(broadcastChar)) == -1) { @@ -347,7 +415,12 @@ void cUDPEndpointImpl::EnableBroadcasts(void) if (setsockopt(m_SecondarySock, SOL_SOCKET, SO_BROADCAST, &broadcastChar, sizeof(broadcastChar)) == -1) { int err = EVUTIL_SOCKET_ERROR(); - LOGWARNING("Cannot enable broadcasts on port %d (secondary): %d (%s)", m_Port, err, evutil_socket_error_to_string(err)); + LOGWARNING( + "Cannot enable broadcasts on port %d (secondary): %d (%s)", + m_Port, + err, + evutil_socket_error_to_string(err) + ); } } return; @@ -356,10 +429,21 @@ void cUDPEndpointImpl::EnableBroadcasts(void) // Enable broadcasts on the secondary socket, if opened (use int, it worked for primary): if (UDPEndpointImplHelper::IsValidSocket(m_SecondarySock)) { - if (setsockopt(m_SecondarySock, SOL_SOCKET, SO_BROADCAST, reinterpret_cast(&broadcastInt), sizeof(broadcastInt)) == -1) + if (setsockopt( + m_SecondarySock, + SOL_SOCKET, + SO_BROADCAST, + reinterpret_cast(&broadcastInt), + sizeof(broadcastInt) + ) == -1) { int err = EVUTIL_SOCKET_ERROR(); - LOGWARNING("Cannot enable broadcasts on port %d (secondary): %d (%s)", m_Port, err, evutil_socket_error_to_string(err)); + LOGWARNING( + "Cannot enable broadcasts on port %d (secondary): %d (%s)", + m_Port, + err, + evutil_socket_error_to_string(err) + ); } } } @@ -392,8 +476,14 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) if (!UDPEndpointImplHelper::IsValidSocket(m_MainSock)) { err = EVUTIL_SOCKET_ERROR(); - m_Callbacks.OnError(err, fmt::format(FMT_STRING("Cannot create UDP socket for port {}: {} ({})"), - a_Port, err, evutil_socket_error_to_string(err)) + m_Callbacks.OnError( + err, + fmt::format( + FMT_STRING("Cannot create UDP socket for port {}: {} ({})"), + a_Port, + err, + evutil_socket_error_to_string(err) + ) ); return; } @@ -403,8 +493,9 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) { err = EVUTIL_SOCKET_ERROR(); LOG("UDP Port %d cannot be made reusable: %d (%s). Restarting the server might not work.", - a_Port, err, evutil_socket_error_to_string(err) - ); + a_Port, + err, + evutil_socket_error_to_string(err)); } // Bind to all interfaces: @@ -415,8 +506,14 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) if (bind(m_MainSock, reinterpret_cast(&name), sizeof(name)) != 0) { err = EVUTIL_SOCKET_ERROR(); - m_Callbacks.OnError(err, fmt::format(FMT_STRING("Cannot bind UDP port {}: {} ({})"), - a_Port, err, evutil_socket_error_to_string(err)) + m_Callbacks.OnError( + err, + fmt::format( + FMT_STRING("Cannot bind UDP port {}: {} ({})"), + a_Port, + err, + evutil_socket_error_to_string(err) + ) ); evutil_closesocket(m_MainSock); return; @@ -426,22 +523,24 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) { // IPv6 socket created, switch it into "dualstack" mode: UInt32 Zero = 0; - #ifdef _WIN32 - // WinXP doesn't support this feature, so if the setting fails, create another socket later on: - int res = setsockopt(m_MainSock, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast(&Zero), sizeof(Zero)); - err = EVUTIL_SOCKET_ERROR(); - NeedsTwoSockets = ((res == SOCKET_ERROR) && (err == WSAENOPROTOOPT)); - #else +#ifdef _WIN32 + // WinXP doesn't support this feature, so if the setting fails, create another socket later on: + int res = setsockopt(m_MainSock, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast(&Zero), sizeof(Zero)); - #endif + err = EVUTIL_SOCKET_ERROR(); + NeedsTwoSockets = ((res == SOCKET_ERROR) && (err == WSAENOPROTOOPT)); +#else + setsockopt(m_MainSock, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast(&Zero), sizeof(Zero)); +#endif // Allow the port to be reused right after the socket closes: if (evutil_make_listen_socket_reuseable(m_MainSock) != 0) { - err = EVUTIL_SOCKET_ERROR(); + err = EVUTIL_SOCKET_ERROR(); LOG("UDP Port %d cannot be made reusable: %d (%s). Restarting the server might not work.", - a_Port, err, evutil_socket_error_to_string(err) - ); + a_Port, + err, + evutil_socket_error_to_string(err)); } // Bind to all interfaces: @@ -452,8 +551,14 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) if (bind(m_MainSock, reinterpret_cast(&name), sizeof(name)) != 0) { err = EVUTIL_SOCKET_ERROR(); - m_Callbacks.OnError(err, fmt::format(FMT_STRING("Cannot bind to UDP port {}: {} ({})"), - a_Port, err, evutil_socket_error_to_string(err)) + m_Callbacks.OnError( + err, + fmt::format( + FMT_STRING("Cannot bind to UDP port {}: {} ({})"), + a_Port, + err, + evutil_socket_error_to_string(err) + ) ); evutil_closesocket(m_MainSock); return; @@ -462,13 +567,20 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) if (evutil_make_socket_nonblocking(m_MainSock) != 0) { err = EVUTIL_SOCKET_ERROR(); - m_Callbacks.OnError(err, fmt::format(FMT_STRING("Cannot make socket on UDP port {} nonblocking: {} ({})"), - a_Port, err, evutil_socket_error_to_string(err)) + m_Callbacks.OnError( + err, + fmt::format( + FMT_STRING("Cannot make socket on UDP port {} nonblocking: {} ({})"), + a_Port, + err, + evutil_socket_error_to_string(err) + ) ); evutil_closesocket(m_MainSock); return; } - m_MainEvent = event_new(cNetworkSingleton::Get().GetEventBase(), m_MainSock, EV_READ | EV_PERSIST, RawCallback, this); + m_MainEvent = + event_new(cNetworkSingleton::Get().GetEventBase(), m_MainSock, EV_READ | EV_PERSIST, RawCallback, this); event_add(m_MainEvent, nullptr); // Read the actual port number on which the socket is listening: @@ -507,7 +619,12 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) { // Don't report as an error, the primary socket is working err = EVUTIL_SOCKET_ERROR(); - LOGD("Socket creation failed for secondary UDP socket for port %d: %d, %s", m_Port, err, evutil_socket_error_to_string(err)); + LOGD( + "Socket creation failed for secondary UDP socket for port %d: %d, %s", + m_Port, + err, + evutil_socket_error_to_string(err) + ); return; } @@ -516,8 +633,11 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) { // Don't report as an error, the primary socket is working err = EVUTIL_SOCKET_ERROR(); - LOGD("UDP Port %d cannot be made reusable (second socket): %d (%s). Restarting the server might not work.", - a_Port, err, evutil_socket_error_to_string(err) + LOGD( + "UDP Port %d cannot be made reusable (second socket): %d (%s). Restarting the server might not work.", + a_Port, + err, + evutil_socket_error_to_string(err) ); evutil_closesocket(m_SecondarySock); m_SecondarySock = -1; @@ -529,7 +649,11 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) { // Don't report as an error, the primary socket is working err = EVUTIL_SOCKET_ERROR(); - LOGD("evutil_make_socket_nonblocking() failed for secondary UDP socket: %d, %s", err, evutil_socket_error_to_string(err)); + LOGD( + "evutil_make_socket_nonblocking() failed for secondary UDP socket: %d, %s", + err, + evutil_socket_error_to_string(err) + ); evutil_closesocket(m_SecondarySock); m_SecondarySock = -1; return; @@ -550,7 +674,8 @@ void cUDPEndpointImpl::Open(UInt16 a_Port) return; } - m_SecondaryEvent = event_new(cNetworkSingleton::Get().GetEventBase(), m_SecondarySock, EV_READ | EV_PERSIST, RawCallback, this); + m_SecondaryEvent = + event_new(cNetworkSingleton::Get().GetEventBase(), m_SecondarySock, EV_READ | EV_PERSIST, RawCallback, this); event_add(m_SecondaryEvent, nullptr); } @@ -621,7 +746,3 @@ cUDPEndpointPtr cNetwork::CreateUDPEndpoint(UInt16 a_Port, cUDPEndpoint::cCallba { return std::make_shared(a_Port, a_Callbacks); } - - - - diff --git a/src/OSSupport/UDPEndpointImpl.h b/src/OSSupport/UDPEndpointImpl.h index 32263d388..a9c49b506 100644 --- a/src/OSSupport/UDPEndpointImpl.h +++ b/src/OSSupport/UDPEndpointImpl.h @@ -24,13 +24,11 @@ typedef std::shared_ptr cUDPEndpointImplPtr; -class cUDPEndpointImpl: - public cUDPEndpoint +class cUDPEndpointImpl : public cUDPEndpoint { using Super = cUDPEndpoint; -public: - + public: /** Creates a new instance of the endpoint, with the specified callbacks. Tries to open on the specified port; if it fails, the endpoint is left in the "closed" state. If a_Port is 0, the OS is free to assign any port number it likes to the endpoint. */ @@ -45,7 +43,7 @@ public: virtual bool Send(const AString & a_Payload, const AString & a_Host, UInt16 a_Port) override; virtual void EnableBroadcasts(void) override; -protected: + protected: /** The local port on which the endpoint is open. If this is zero, it means the endpoint is closed - either opening has failed, or it has been closed explicitly. */ UInt16 m_Port; @@ -68,7 +66,8 @@ protected: /** Creates and opens the socket on the specified port. If a_Port is 0, the OS is free to assign any port number it likes to the endpoint. - If the opening fails, the OnError() callback is called and the endpoint is left "closed" (IsOpen() returns false). */ + If the opening fails, the OnError() callback is called and the endpoint is left "closed" (IsOpen() returns false). + */ void Open(UInt16 a_Port); /** The callback that LibEvent calls when an event occurs on one of the sockets. @@ -78,7 +77,3 @@ protected: /** The callback that is called when an event occurs on one of the sockets. */ void Callback(evutil_socket_t a_Socket, short a_What); }; - - - - diff --git a/src/OSSupport/WinStackWalker.cpp b/src/OSSupport/WinStackWalker.cpp index a48ce07aa..93c1e4977 100644 --- a/src/OSSupport/WinStackWalker.cpp +++ b/src/OSSupport/WinStackWalker.cpp @@ -46,14 +46,14 @@ NOTE: 2017-06-16 madmaxoft: Removed the legacy VS code and generally cleaned up #include #pragma comment(lib, "version.lib") // for "VerQueryValue" -#pragma warning(disable:4826) -#pragma warning(disable:4996) // "GetVersionEx" was declared deprecated +#pragma warning(disable : 4826) +#pragma warning(disable : 4996) // "GetVersionEx" was declared deprecated #include "WinStackWalker.h" #pragma pack(push, 8) - #include +#include #pragma pack(pop) @@ -61,8 +61,7 @@ NOTE: 2017-06-16 madmaxoft: Removed the legacy VS code and generally cleaned up // Copy szSrc to szDest, but at most nMaxDestSize bytes. Always NUL-terminate -template -static void MyStrCpy(CHAR (&szDest)[COUNT], const CHAR * szSrc) +template static void MyStrCpy(CHAR (&szDest)[COUNT], const CHAR * szSrc) { auto len = strlen(szSrc); if (len < COUNT) @@ -89,7 +88,7 @@ static void MyStrCpy(CHAR (&szDest)[COUNT], const CHAR * szSrc) class StackWalkerInternal { -public: + public: StackWalkerInternal(WinStackWalker * parent, HANDLE hProcess) { m_parent = parent; @@ -147,41 +146,45 @@ public: _tcscat_s(szTemp, _T(".local")); if (GetFileAttributes(szTemp) == INVALID_FILE_ATTRIBUTES) { - // ".local" file does not exist, so we can try to load the dbghelp.dll from the "Debugging Tools for Windows" - // Ok, first try the new path according to the archtitecture: - #ifdef _M_IX86 - if ((m_hDbhHelp == nullptr) && (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) +// ".local" file does not exist, so we can try to load the dbghelp.dll from the "Debugging Tools for Windows" +// Ok, first try the new path according to the archtitecture: +#ifdef _M_IX86 + if ((m_hDbhHelp == nullptr) && + (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) + { + _tcscat_s(szTemp, _T("\\Debugging Tools for Windows (x86)\\dbghelp.dll")); + // now check if the file exists: + if (GetFileAttributes(szTemp) != INVALID_FILE_ATTRIBUTES) { - _tcscat_s(szTemp, _T("\\Debugging Tools for Windows (x86)\\dbghelp.dll")); - // now check if the file exists: - if (GetFileAttributes(szTemp) != INVALID_FILE_ATTRIBUTES) - { - m_hDbhHelp = LoadLibrary(szTemp); - } + m_hDbhHelp = LoadLibrary(szTemp); } - #elif _M_X64 - if ((m_hDbhHelp == nullptr) && (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) + } +#elif _M_X64 + if ((m_hDbhHelp == nullptr) && + (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) + { + _tcscat_s(szTemp, _T("\\Debugging Tools for Windows (x64)\\dbghelp.dll")); + // now check if the file exists: + if (GetFileAttributes(szTemp) != INVALID_FILE_ATTRIBUTES) { - _tcscat_s(szTemp, _T("\\Debugging Tools for Windows (x64)\\dbghelp.dll")); - // now check if the file exists: - if (GetFileAttributes(szTemp) != INVALID_FILE_ATTRIBUTES) - { - m_hDbhHelp = LoadLibrary(szTemp); - } + m_hDbhHelp = LoadLibrary(szTemp); } - #elif _M_IA64 - if ((m_hDbhHelp == nullptr) && (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) + } +#elif _M_IA64 + if ((m_hDbhHelp == nullptr) && + (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) + { + _tcscat_s(szTemp, _T("\\Debugging Tools for Windows (ia64)\\dbghelp.dll")); + // now check if the file exists: + if (GetFileAttributes(szTemp) != INVALID_FILE_ATTRIBUTES) { - _tcscat_s(szTemp, _T("\\Debugging Tools for Windows (ia64)\\dbghelp.dll")); - // now check if the file exists: - if (GetFileAttributes(szTemp) != INVALID_FILE_ATTRIBUTES) - { - m_hDbhHelp = LoadLibrary(szTemp); - } + m_hDbhHelp = LoadLibrary(szTemp); } - #endif + } +#endif // If still not found, try the old directories... - if ((m_hDbhHelp == nullptr) && (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) + if ((m_hDbhHelp == nullptr) && + (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) { _tcscat_s(szTemp, _T("\\Debugging Tools for Windows\\dbghelp.dll")); // now check if the file exists: @@ -190,17 +193,18 @@ public: m_hDbhHelp = LoadLibrary(szTemp); } } - #if defined _M_X64 || defined _M_IA64 - // Still not found? Then try to load the (old) 64-Bit version: - if ((m_hDbhHelp == nullptr) && (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) +#if defined _M_X64 || defined _M_IA64 + // Still not found? Then try to load the (old) 64-Bit version: + if ((m_hDbhHelp == nullptr) && + (GetEnvironmentVariable(_T("ProgramFiles"), szTemp, ARRAYCOUNT(szTemp)) > 0)) + { + _tcscat_s(szTemp, _T("\\Debugging Tools for Windows 64-Bit\\dbghelp.dll")); + if (GetFileAttributes(szTemp) != INVALID_FILE_ATTRIBUTES) { - _tcscat_s(szTemp, _T("\\Debugging Tools for Windows 64-Bit\\dbghelp.dll")); - if (GetFileAttributes(szTemp) != INVALID_FILE_ATTRIBUTES) - { - m_hDbhHelp = LoadLibrary(szTemp); - } + m_hDbhHelp = LoadLibrary(szTemp); } - #endif + } +#endif } } if (m_hDbhHelp == nullptr) // if not already loaded, try to load a default-one @@ -211,28 +215,26 @@ public: { return FALSE; } - pSI = (tSI)GetProcAddress(m_hDbhHelp, "SymInitialize"); - pSC = (tSC)GetProcAddress(m_hDbhHelp, "SymCleanup"); + pSI = (tSI) GetProcAddress(m_hDbhHelp, "SymInitialize"); + pSC = (tSC) GetProcAddress(m_hDbhHelp, "SymCleanup"); - pSW = (tSW)GetProcAddress(m_hDbhHelp, "StackWalk64"); - pSGO = (tSGO)GetProcAddress(m_hDbhHelp, "SymGetOptions"); - pSSO = (tSSO)GetProcAddress(m_hDbhHelp, "SymSetOptions"); + pSW = (tSW) GetProcAddress(m_hDbhHelp, "StackWalk64"); + pSGO = (tSGO) GetProcAddress(m_hDbhHelp, "SymGetOptions"); + pSSO = (tSSO) GetProcAddress(m_hDbhHelp, "SymSetOptions"); - pSFTA = (tSFTA)GetProcAddress(m_hDbhHelp, "SymFunctionTableAccess64"); - pSGLFA = (tSGLFA)GetProcAddress(m_hDbhHelp, "SymGetLineFromAddr64"); - pSGMB = (tSGMB)GetProcAddress(m_hDbhHelp, "SymGetModuleBase64"); - pSGMI = (tSGMI)GetProcAddress(m_hDbhHelp, "SymGetModuleInfo64"); + pSFTA = (tSFTA) GetProcAddress(m_hDbhHelp, "SymFunctionTableAccess64"); + pSGLFA = (tSGLFA) GetProcAddress(m_hDbhHelp, "SymGetLineFromAddr64"); + pSGMB = (tSGMB) GetProcAddress(m_hDbhHelp, "SymGetModuleBase64"); + pSGMI = (tSGMI) GetProcAddress(m_hDbhHelp, "SymGetModuleInfo64"); // pSGMI_V3 = (tSGMI_V3) GetProcAddress(m_hDbhHelp, "SymGetModuleInfo64"); - pSGSFA = (tSGSFA)GetProcAddress(m_hDbhHelp, "SymGetSymFromAddr64"); - pUDSN = (tUDSN)GetProcAddress(m_hDbhHelp, "UnDecorateSymbolName"); - pSLM = (tSLM)GetProcAddress(m_hDbhHelp, "SymLoadModule64"); - pSGSP = (tSGSP)GetProcAddress(m_hDbhHelp, "SymGetSearchPath"); - - if ( - (pSC == nullptr) || (pSFTA == nullptr) || (pSGMB == nullptr) || (pSGMI == nullptr) || - (pSGO == nullptr) || (pSGSFA == nullptr) || (pSI == nullptr) || (pSSO == nullptr) || - (pSW == nullptr) || (pUDSN == nullptr) || (pSLM == nullptr) - ) + pSGSFA = (tSGSFA) GetProcAddress(m_hDbhHelp, "SymGetSymFromAddr64"); + pUDSN = (tUDSN) GetProcAddress(m_hDbhHelp, "UnDecorateSymbolName"); + pSLM = (tSLM) GetProcAddress(m_hDbhHelp, "SymLoadModule64"); + pSGSP = (tSGSP) GetProcAddress(m_hDbhHelp, "SymGetSearchPath"); + + if ((pSC == nullptr) || (pSFTA == nullptr) || (pSGMB == nullptr) || (pSGMI == nullptr) || (pSGO == nullptr) || + (pSGSFA == nullptr) || (pSI == nullptr) || (pSSO == nullptr) || (pSW == nullptr) || (pUDSN == nullptr) || + (pSLM == nullptr)) { FreeLibrary(m_hDbhHelp); m_hDbhHelp = nullptr; @@ -255,7 +257,7 @@ public: symOptions |= SYMOPT_FAIL_CRITICAL_ERRORS; symOptions = this->pSSO(symOptions); - char buf[WinStackWalker::STACKWALK_MAX_NAMELEN] = { 0 }; + char buf[WinStackWalker::STACKWALK_MAX_NAMELEN] = {0}; if (this->pSGSP != nullptr) { if (this->pSGSP(m_hProcess, buf, static_cast(sizeof(buf))) == FALSE) @@ -263,7 +265,7 @@ public: this->m_parent->OnDbgHelpErr("SymGetSearchPath", GetLastError(), 0); } } - char szUserName[1024] = { 0 }; + char szUserName[1024] = {0}; DWORD dwSize = static_cast(sizeof(szUserName)); GetUserNameA(szUserName, &dwSize); this->m_parent->OnSymInit(buf, symOptions, szUserName); @@ -281,69 +283,86 @@ public: HANDLE m_hProcess; LPSTR m_szSymPath; - #pragma pack(push, 8) +#pragma pack(push, 8) struct IMAGEHLP_MODULE64_V2 { - DWORD SizeOfStruct; // set to sizeof(IMAGEHLP_MODULE64) - DWORD64 BaseOfImage; // base load address of module - DWORD ImageSize; // virtual size of the loaded module - DWORD TimeDateStamp; // date / time stamp from pe header - DWORD CheckSum; // checksum from the pe header - DWORD NumSyms; // number of symbols in the symbol table - SYM_TYPE SymType; // type of symbols loaded - CHAR ModuleName[32]; // module name - CHAR ImageName[256]; // image name - CHAR LoadedImageName[256]; // symbol file name + DWORD SizeOfStruct; // set to sizeof(IMAGEHLP_MODULE64) + DWORD64 BaseOfImage; // base load address of module + DWORD ImageSize; // virtual size of the loaded module + DWORD TimeDateStamp; // date / time stamp from pe header + DWORD CheckSum; // checksum from the pe header + DWORD NumSyms; // number of symbols in the symbol table + SYM_TYPE SymType; // type of symbols loaded + CHAR ModuleName[32]; // module name + CHAR ImageName[256]; // image name + CHAR LoadedImageName[256]; // symbol file name }; - #pragma pack(pop) +#pragma pack(pop) // SymCleanup() - typedef BOOL(__stdcall *tSC)(IN HANDLE hProcess); + typedef BOOL(__stdcall * tSC)(IN HANDLE hProcess); tSC pSC; // SymFunctionTableAccess64() - typedef PVOID(__stdcall *tSFTA)(HANDLE hProcess, DWORD64 AddrBase); + typedef PVOID(__stdcall * tSFTA)(HANDLE hProcess, DWORD64 AddrBase); tSFTA pSFTA; // SymGetLineFromAddr64() - typedef BOOL(__stdcall *tSGLFA)(IN HANDLE hProcess, IN DWORD64 dwAddr, OUT PDWORD pdwDisplacement, OUT PIMAGEHLP_LINE64 Line); + typedef BOOL(__stdcall * tSGLFA)( + IN HANDLE hProcess, + IN DWORD64 dwAddr, + OUT PDWORD pdwDisplacement, + OUT PIMAGEHLP_LINE64 Line + ); tSGLFA pSGLFA; // SymGetModuleBase64() - typedef DWORD64(__stdcall *tSGMB)(IN HANDLE hProcess, IN DWORD64 dwAddr); + typedef DWORD64(__stdcall * tSGMB)(IN HANDLE hProcess, IN DWORD64 dwAddr); tSGMB pSGMB; // SymGetModuleInfo64() - typedef BOOL(__stdcall *tSGMI)(IN HANDLE hProcess, IN DWORD64 dwAddr, OUT IMAGEHLP_MODULE64_V2 *ModuleInfo); + typedef BOOL(__stdcall * tSGMI)(IN HANDLE hProcess, IN DWORD64 dwAddr, OUT IMAGEHLP_MODULE64_V2 * ModuleInfo); tSGMI pSGMI; - // // SymGetModuleInfo64() - // typedef BOOL (__stdcall *tSGMI_V3)( IN HANDLE hProcess, IN DWORD64 dwAddr, OUT IMAGEHLP_MODULE64_V3 *ModuleInfo); - // tSGMI_V3 pSGMI_V3; + // // SymGetModuleInfo64() + // typedef BOOL (__stdcall *tSGMI_V3)( IN HANDLE hProcess, IN DWORD64 dwAddr, OUT IMAGEHLP_MODULE64_V3 *ModuleInfo); + // tSGMI_V3 pSGMI_V3; // SymGetOptions() - typedef DWORD(__stdcall *tSGO)(VOID); + typedef DWORD(__stdcall * tSGO)(VOID); tSGO pSGO; // SymGetSymFromAddr64() - typedef BOOL(__stdcall *tSGSFA)(IN HANDLE hProcess, IN DWORD64 dwAddr, OUT PDWORD64 pdwDisplacement, OUT PIMAGEHLP_SYMBOL64 Symbol); + typedef BOOL(__stdcall * tSGSFA)( + IN HANDLE hProcess, + IN DWORD64 dwAddr, + OUT PDWORD64 pdwDisplacement, + OUT PIMAGEHLP_SYMBOL64 Symbol + ); tSGSFA pSGSFA; // SymInitialize() - typedef BOOL(__stdcall *tSI)(IN HANDLE hProcess, IN PSTR UserSearchPath, IN BOOL fInvadeProcess); + typedef BOOL(__stdcall * tSI)(IN HANDLE hProcess, IN PSTR UserSearchPath, IN BOOL fInvadeProcess); tSI pSI; // SymLoadModule64() - typedef DWORD64(__stdcall *tSLM)(IN HANDLE hProcess, IN HANDLE hFile, IN PSTR ImageName, IN PSTR ModuleName, IN DWORD64 BaseOfDll, IN DWORD SizeOfDll); + typedef DWORD64(__stdcall * tSLM)( + IN HANDLE hProcess, + IN HANDLE hFile, + IN PSTR ImageName, + IN PSTR ModuleName, + IN DWORD64 BaseOfDll, + IN DWORD SizeOfDll + ); tSLM pSLM; // SymSetOptions() - typedef DWORD(__stdcall *tSSO)(IN DWORD SymOptions); + typedef DWORD(__stdcall * tSSO)(IN DWORD SymOptions); tSSO pSSO; // StackWalk64() - typedef BOOL(__stdcall *tSW)( + typedef BOOL(__stdcall * tSW)( DWORD MachineType, HANDLE hProcess, HANDLE hThread, @@ -352,51 +371,53 @@ public: PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine, PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine, PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine, - PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress); + PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress + ); tSW pSW; // UnDecorateSymbolName() - typedef DWORD(__stdcall WINAPI *tUDSN)(PCSTR DecoratedName, PSTR UnDecoratedName, DWORD UndecoratedLength, DWORD Flags); + typedef DWORD(__stdcall WINAPI * + tUDSN)(PCSTR DecoratedName, PSTR UnDecoratedName, DWORD UndecoratedLength, DWORD Flags); tUDSN pUDSN; - typedef BOOL(__stdcall WINAPI *tSGSP)(HANDLE hProcess, PSTR SearchPath, DWORD SearchPathLength); + typedef BOOL(__stdcall WINAPI * tSGSP)(HANDLE hProcess, PSTR SearchPath, DWORD SearchPathLength); tSGSP pSGSP; -private: - // **************************************** ToolHelp32 ************************ - #define MAX_MODULE_NAME32 255 - #define TH32CS_SNAPMODULE 0x00000008 + private: +// **************************************** ToolHelp32 ************************ +#define MAX_MODULE_NAME32 255 +#define TH32CS_SNAPMODULE 0x00000008 - #pragma pack(push, 8) +#pragma pack(push, 8) typedef struct tagMODULEENTRY32 { - DWORD dwSize; - DWORD th32ModuleID; // This module - DWORD th32ProcessID; // owning process - DWORD GlblcntUsage; // Global usage count on the module - DWORD ProccntUsage; // Module usage count in th32ProcessID's context - BYTE * modBaseAddr; // Base address of module in th32ProcessID's context - DWORD modBaseSize; // Size in bytes of module starting at modBaseAddr - HMODULE hModule; // The hModule of this module in th32ProcessID's context - char szModule[MAX_MODULE_NAME32 + 1]; - char szExePath[MAX_PATH]; + DWORD dwSize; + DWORD th32ModuleID; // This module + DWORD th32ProcessID; // owning process + DWORD GlblcntUsage; // Global usage count on the module + DWORD ProccntUsage; // Module usage count in th32ProcessID's context + BYTE * modBaseAddr; // Base address of module in th32ProcessID's context + DWORD modBaseSize; // Size in bytes of module starting at modBaseAddr + HMODULE hModule; // The hModule of this module in th32ProcessID's context + char szModule[MAX_MODULE_NAME32 + 1]; + char szExePath[MAX_PATH]; } MODULEENTRY32; - typedef MODULEENTRY32 * PMODULEENTRY32; - typedef MODULEENTRY32 * LPMODULEENTRY32; - #pragma pack(pop) + typedef MODULEENTRY32 * PMODULEENTRY32; + typedef MODULEENTRY32 * LPMODULEENTRY32; +#pragma pack(pop) BOOL GetModuleListTH32(HANDLE hProcess, DWORD pid) { // CreateToolhelp32Snapshot() - typedef HANDLE(__stdcall *tCT32S)(DWORD dwFlags, DWORD th32ProcessID); + typedef HANDLE(__stdcall * tCT32S)(DWORD dwFlags, DWORD th32ProcessID); // Module32First() - typedef BOOL(__stdcall *tM32F)(HANDLE hSnapshot, LPMODULEENTRY32 lpme); + typedef BOOL(__stdcall * tM32F)(HANDLE hSnapshot, LPMODULEENTRY32 lpme); // Module32Next() - typedef BOOL(__stdcall *tM32N)(HANDLE hSnapshot, LPMODULEENTRY32 lpme); + typedef BOOL(__stdcall * tM32N)(HANDLE hSnapshot, LPMODULEENTRY32 lpme); // try both dlls... - const TCHAR *dllname[] = { _T("kernel32.dll"), _T("tlhelp32.dll") }; + const TCHAR * dllname[] = {_T("kernel32.dll"), _T("tlhelp32.dll")}; HINSTANCE hToolhelp = nullptr; tCT32S pCT32S = nullptr; tM32F pM32F = nullptr; @@ -414,9 +435,9 @@ private: { continue; } - pCT32S = (tCT32S)GetProcAddress(hToolhelp, "CreateToolhelp32Snapshot"); - pM32F = (tM32F)GetProcAddress(hToolhelp, "Module32First"); - pM32N = (tM32N)GetProcAddress(hToolhelp, "Module32Next"); + pCT32S = (tCT32S) GetProcAddress(hToolhelp, "CreateToolhelp32Snapshot"); + pM32F = (tM32F) GetProcAddress(hToolhelp, "Module32First"); + pM32N = (tM32N) GetProcAddress(hToolhelp, "Module32Next"); if ((pCT32S != nullptr) && (pM32F != nullptr) && (pM32N != nullptr)) { break; // found the functions! @@ -431,7 +452,7 @@ private: } hSnap = pCT32S(TH32CS_SNAPMODULE, pid); - if (hSnap == (HANDLE)-1) + if (hSnap == (HANDLE) -1) { FreeLibrary(hToolhelp); return FALSE; @@ -441,7 +462,7 @@ private: int cnt = 0; while (keepGoing) { - this->LoadModule(hProcess, me.szExePath, me.szModule, (DWORD64)me.modBaseAddr, me.modBaseSize); + this->LoadModule(hProcess, me.szExePath, me.szModule, (DWORD64) me.modBaseAddr, me.modBaseSize); cnt++; keepGoing = !!pM32N(hSnap, &me); } @@ -469,13 +490,13 @@ private: BOOL GetModuleListPSAPI(HANDLE hProcess) { // EnumProcessModules() - typedef BOOL(__stdcall *tEPM)(HANDLE hProcess, HMODULE *lphModule, DWORD cb, LPDWORD lpcbNeeded); + typedef BOOL(__stdcall * tEPM)(HANDLE hProcess, HMODULE * lphModule, DWORD cb, LPDWORD lpcbNeeded); // GetModuleFileNameEx() - typedef DWORD(__stdcall *tGMFNE)(HANDLE hProcess, HMODULE hModule, LPSTR lpFilename, DWORD nSize); + typedef DWORD(__stdcall * tGMFNE)(HANDLE hProcess, HMODULE hModule, LPSTR lpFilename, DWORD nSize); // GetModuleBaseName() - typedef DWORD(__stdcall *tGMBN)(HANDLE hProcess, HMODULE hModule, LPSTR lpFilename, DWORD nSize); + typedef DWORD(__stdcall * tGMBN)(HANDLE hProcess, HMODULE hModule, LPSTR lpFilename, DWORD nSize); // GetModuleInformation() - typedef BOOL(__stdcall *tGMI)(HANDLE hProcess, HMODULE hModule, LPMODULEINFO pmi, DWORD nSize); + typedef BOOL(__stdcall * tGMI)(HANDLE hProcess, HMODULE hModule, LPMODULEINFO pmi, DWORD nSize); HINSTANCE hPsapi; tEPM pEPM; @@ -486,9 +507,9 @@ private: DWORD i; DWORD cbNeeded; MODULEINFO mi; - HMODULE *hMods = 0; - char *tt = nullptr; - char *tt2 = nullptr; + HMODULE * hMods = 0; + char * tt = nullptr; + char * tt2 = nullptr; const SIZE_T TTBUFLEN = 8096; int cnt = 0; @@ -498,10 +519,10 @@ private: return FALSE; } - pEPM = (tEPM)GetProcAddress(hPsapi, "EnumProcessModules"); - pGMFNE = (tGMFNE)GetProcAddress(hPsapi, "GetModuleFileNameExA"); - pGMBN = (tGMFNE)GetProcAddress(hPsapi, "GetModuleBaseNameA"); - pGMI = (tGMI)GetProcAddress(hPsapi, "GetModuleInformation"); + pEPM = (tEPM) GetProcAddress(hPsapi, "EnumProcessModules"); + pGMFNE = (tGMFNE) GetProcAddress(hPsapi, "GetModuleFileNameExA"); + pGMBN = (tGMFNE) GetProcAddress(hPsapi, "GetModuleBaseNameA"); + pGMI = (tGMI) GetProcAddress(hPsapi, "GetModuleInformation"); if ((pEPM == nullptr) || (pGMFNE == nullptr) || (pGMBN == nullptr) || (pGMI == nullptr)) { // we couldn't find all functions @@ -509,9 +530,9 @@ private: return FALSE; } - hMods = (HMODULE*)malloc(sizeof(HMODULE) * (TTBUFLEN / sizeof HMODULE)); - tt = (char*)malloc(sizeof(char) * TTBUFLEN); - tt2 = (char*)malloc(sizeof(char) * TTBUFLEN); + hMods = (HMODULE *) malloc(sizeof(HMODULE) * (TTBUFLEN / sizeof HMODULE)); + tt = (char *) malloc(sizeof(char) * TTBUFLEN); + tt2 = (char *) malloc(sizeof(char) * TTBUFLEN); if ((hMods == nullptr) || (tt == nullptr) || (tt2 == nullptr)) { goto cleanup; @@ -538,7 +559,7 @@ private: tt2[0] = 0; pGMBN(hProcess, hMods[i], tt2, TTBUFLEN); - DWORD dwRes = this->LoadModule(hProcess, tt, tt2, (DWORD64)mi.lpBaseOfDll, mi.SizeOfImage); + DWORD dwRes = this->LoadModule(hProcess, tt, tt2, (DWORD64) mi.lpBaseOfDll, mi.SizeOfImage); if (dwRes != ERROR_SUCCESS) { this->m_parent->OnDbgHelpErr("LoadModule", dwRes, 0); @@ -546,7 +567,7 @@ private: cnt++; } - cleanup: + cleanup: if (hPsapi != nullptr) { FreeLibrary(hPsapi); @@ -573,8 +594,8 @@ private: DWORD LoadModule(HANDLE hProcess, LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWORD size) { - CHAR *szImg = _strdup(img); - CHAR *szMod = _strdup(mod); + CHAR * szImg = _strdup(img); + CHAR * szMod = _strdup(mod); DWORD result = ERROR_SUCCESS; if ((szImg == nullptr) || (szMod == nullptr)) { @@ -593,7 +614,7 @@ private: // try to retrive the file-version: if ((this->m_parent->m_options & WinStackWalker::RetrieveFileVersion) != 0) { - VS_FIXEDFILEINFO *fInfo = nullptr; + VS_FIXEDFILEINFO * fInfo = nullptr; DWORD dwHandle; DWORD dwSize = GetFileVersionInfoSizeA(szImg, &dwHandle); if (dwSize > 0) @@ -605,13 +626,14 @@ private: { UINT len; TCHAR szSubBlock[] = _T("\\"); - if (VerQueryValue(vData, szSubBlock, (LPVOID*)&fInfo, &len) == 0) + if (VerQueryValue(vData, szSubBlock, (LPVOID *) &fInfo, &len) == 0) { fInfo = nullptr; } else { - fileVersion = ((ULONGLONG)fInfo->dwFileVersionLS) + ((ULONGLONG)fInfo->dwFileVersionMS << 32); + fileVersion = + ((ULONGLONG) fInfo->dwFileVersionLS) + ((ULONGLONG) fInfo->dwFileVersionMS << 32); } } free(vData); @@ -621,23 +643,24 @@ private: // Retrive some additional-infos about the module IMAGEHLP_MODULE64_V2 Module; - const char *szSymType = "-unknown-"; + const char * szSymType = "-unknown-"; if (this->GetModuleInfo(hProcess, baseAddr, &Module) != FALSE) { switch (Module.SymType) { - case SymNone: szSymType = "-nosymbols-"; break; - case SymCoff: szSymType = "COFF"; break; - case SymCv: szSymType = "CV"; break; - case SymPdb: szSymType = "PDB"; break; - case SymExport: szSymType = "-exported-"; break; + case SymNone: szSymType = "-nosymbols-"; break; + case SymCoff: szSymType = "COFF"; break; + case SymCv: szSymType = "CV"; break; + case SymPdb: szSymType = "PDB"; break; + case SymExport: szSymType = "-exported-"; break; case SymDeferred: szSymType = "-deferred-"; break; case SymSym: szSymType = "SYM"; break; case 7: szSymType = "DIA"; break; case 8: szSymType = "Virtual"; break; } } - this->m_parent->OnLoadModule(img, mod, baseAddr, size, result, szSymType, Module.LoadedImageName, fileVersion); + this->m_parent + ->OnLoadModule(img, mod, baseAddr, size, result, szSymType, Module.LoadedImageName, fileVersion); } if (szImg != nullptr) { @@ -654,7 +677,7 @@ private: -public: + public: BOOL LoadModules(HANDLE hProcess, DWORD dwProcessId) { // first try toolhelp32 @@ -667,7 +690,7 @@ public: } - BOOL GetModuleInfo(HANDLE hProcess, DWORD64 baseAddr, IMAGEHLP_MODULE64_V2 *pModuleInfo) + BOOL GetModuleInfo(HANDLE hProcess, DWORD64 baseAddr, IMAGEHLP_MODULE64_V2 * pModuleInfo) { if (this->pSGMI == nullptr) { @@ -675,14 +698,15 @@ public: return FALSE; } pModuleInfo->SizeOfStruct = sizeof(IMAGEHLP_MODULE64_V2); - void * pData = malloc(4096); // reserve enough memory, so the bug in v6.3.5.1 does not lead to memory-overwrites... + void * pData = + malloc(4096); // reserve enough memory, so the bug in v6.3.5.1 does not lead to memory-overwrites... if (pData == nullptr) { SetLastError(ERROR_NOT_ENOUGH_MEMORY); return FALSE; } memcpy(pData, pModuleInfo, sizeof(IMAGEHLP_MODULE64_V2)); - if (this->pSGMI(hProcess, baseAddr, (IMAGEHLP_MODULE64_V2*)pData) != FALSE) + if (this->pSGMI(hProcess, baseAddr, (IMAGEHLP_MODULE64_V2 *) pData) != FALSE) { // only copy as much memory as is reserved... memcpy(pModuleInfo, pData, sizeof(IMAGEHLP_MODULE64_V2)); @@ -770,11 +794,11 @@ BOOL WinStackWalker::LoadModules() } // Build the sym-path: - char *szSymPath = nullptr; + char * szSymPath = nullptr; if ((this->m_options & SymBuildPath) != 0) { const size_t nSymPathLen = 4096; - szSymPath = (char*)malloc(nSymPathLen); + szSymPath = (char *) malloc(nSymPathLen); if (szSymPath == nullptr) { SetLastError(ERROR_NOT_ENOUGH_MEMORY); @@ -804,7 +828,7 @@ BOOL WinStackWalker::LoadModules() if (GetModuleFileNameA(nullptr, szTemp, nTempLen) > 0) { szTemp[nTempLen - 1] = 0; - for (char *p = (szTemp + strlen(szTemp) - 1); p >= szTemp; --p) + for (char * p = (szTemp + strlen(szTemp) - 1); p >= szTemp; --p) { // locate the rightmost path separator if ((*p == '\\') || (*p == '/') || (*p == ':')) @@ -893,11 +917,16 @@ BOOL WinStackWalker::LoadModules() static WinStackWalker::PReadProcessMemoryRoutine s_readMemoryFunction = nullptr; static LPVOID s_readMemoryFunction_UserData = nullptr; -BOOL WinStackWalker::ShowCallstack(HANDLE hThread, const CONTEXT *context, PReadProcessMemoryRoutine readMemoryFunction, LPVOID pUserData) +BOOL WinStackWalker::ShowCallstack( + HANDLE hThread, + const CONTEXT * context, + PReadProcessMemoryRoutine readMemoryFunction, + LPVOID pUserData +) { CONTEXT c; CallstackEntry csEntry; - IMAGEHLP_SYMBOL64 *pSym = nullptr; + IMAGEHLP_SYMBOL64 * pSym = nullptr; StackWalkerInternal::IMAGEHLP_MODULE64_V2 Module; IMAGEHLP_LINE64 Line; int frameNum; @@ -946,38 +975,38 @@ BOOL WinStackWalker::ShowCallstack(HANDLE hThread, const CONTEXT *context, PRead STACKFRAME64 s; // in / out stackframe memset(&s, 0, sizeof(s)); DWORD imageType; - #ifdef _M_IX86 - // normally, call ImageNtHeader() and use machine info from PE header - imageType = IMAGE_FILE_MACHINE_I386; - s.AddrPC.Offset = c.Eip; - s.AddrPC.Mode = AddrModeFlat; - s.AddrFrame.Offset = c.Ebp; - s.AddrFrame.Mode = AddrModeFlat; - s.AddrStack.Offset = c.Esp; - s.AddrStack.Mode = AddrModeFlat; - #elif _M_X64 - imageType = IMAGE_FILE_MACHINE_AMD64; - s.AddrPC.Offset = c.Rip; - s.AddrPC.Mode = AddrModeFlat; - s.AddrFrame.Offset = c.Rsp; - s.AddrFrame.Mode = AddrModeFlat; - s.AddrStack.Offset = c.Rsp; - s.AddrStack.Mode = AddrModeFlat; - #elif _M_IA64 - imageType = IMAGE_FILE_MACHINE_IA64; - s.AddrPC.Offset = c.StIIP; - s.AddrPC.Mode = AddrModeFlat; - s.AddrFrame.Offset = c.IntSp; - s.AddrFrame.Mode = AddrModeFlat; - s.AddrBStore.Offset = c.RsBSP; - s.AddrBStore.Mode = AddrModeFlat; - s.AddrStack.Offset = c.IntSp; - s.AddrStack.Mode = AddrModeFlat; - #else - #error "Platform not supported!" - #endif - - pSym = (IMAGEHLP_SYMBOL64 *)malloc(sizeof(IMAGEHLP_SYMBOL64) + STACKWALK_MAX_NAMELEN); +#ifdef _M_IX86 + // normally, call ImageNtHeader() and use machine info from PE header + imageType = IMAGE_FILE_MACHINE_I386; + s.AddrPC.Offset = c.Eip; + s.AddrPC.Mode = AddrModeFlat; + s.AddrFrame.Offset = c.Ebp; + s.AddrFrame.Mode = AddrModeFlat; + s.AddrStack.Offset = c.Esp; + s.AddrStack.Mode = AddrModeFlat; +#elif _M_X64 + imageType = IMAGE_FILE_MACHINE_AMD64; + s.AddrPC.Offset = c.Rip; + s.AddrPC.Mode = AddrModeFlat; + s.AddrFrame.Offset = c.Rsp; + s.AddrFrame.Mode = AddrModeFlat; + s.AddrStack.Offset = c.Rsp; + s.AddrStack.Mode = AddrModeFlat; +#elif _M_IA64 + imageType = IMAGE_FILE_MACHINE_IA64; + s.AddrPC.Offset = c.StIIP; + s.AddrPC.Mode = AddrModeFlat; + s.AddrFrame.Offset = c.IntSp; + s.AddrFrame.Mode = AddrModeFlat; + s.AddrBStore.Offset = c.RsBSP; + s.AddrBStore.Mode = AddrModeFlat; + s.AddrStack.Offset = c.IntSp; + s.AddrStack.Mode = AddrModeFlat; +#else +#error "Platform not supported!" +#endif + + pSym = (IMAGEHLP_SYMBOL64 *) malloc(sizeof(IMAGEHLP_SYMBOL64) + STACKWALK_MAX_NAMELEN); if (!pSym) { goto cleanup; // not enough memory... @@ -992,14 +1021,24 @@ BOOL WinStackWalker::ShowCallstack(HANDLE hThread, const CONTEXT *context, PRead memset(&Module, 0, sizeof(Module)); Module.SizeOfStruct = sizeof(Module); - for (frameNum = 0; ; ++frameNum) + for (frameNum = 0;; ++frameNum) { // get next stack frame (StackWalk64(), SymFunctionTableAccess64(), SymGetModuleBase64()) // if this returns ERROR_INVALID_ADDRESS (487) or ERROR_NOACCESS (998), you can // assume that either you are done, or that the stack is so hosed that the next // deeper frame could not be found. // CONTEXT need not to be suplied if imageTyp is IMAGE_FILE_MACHINE_I386! - if (!this->m_sw->pSW(imageType, this->m_hProcess, hThread, &s, &c, myReadProcMem, this->m_sw->pSFTA, this->m_sw->pSGMB, nullptr)) + if (!this->m_sw->pSW( + imageType, + this->m_hProcess, + hThread, + &s, + &c, + myReadProcMem, + this->m_sw->pSFTA, + this->m_sw->pSGMB, + nullptr + )) { // INFO: "StackWalk64" does not set "GetLastError"... this->OnDbgHelpErr("StackWalk64", 0, s.AddrPC.Offset); @@ -1037,8 +1076,18 @@ BOOL WinStackWalker::ShowCallstack(HANDLE hThread, const CONTEXT *context, PRead { MyStrCpy(csEntry.name, pSym->Name); // UnDecorateSymbolName() - this->m_sw->pUDSN(pSym->Name, csEntry.undName, static_cast(sizeof(csEntry.undName)), UNDNAME_NAME_ONLY); - this->m_sw->pUDSN(pSym->Name, csEntry.undFullName, static_cast(sizeof(csEntry.undFullName)), UNDNAME_COMPLETE); + this->m_sw->pUDSN( + pSym->Name, + csEntry.undName, + static_cast(sizeof(csEntry.undName)), + UNDNAME_NAME_ONLY + ); + this->m_sw->pUDSN( + pSym->Name, + csEntry.undFullName, + static_cast(sizeof(csEntry.undFullName)), + UNDNAME_COMPLETE + ); } else { @@ -1127,24 +1176,32 @@ cleanup: BOOL __stdcall WinStackWalker::myReadProcMem( - HANDLE hProcess, - DWORD64 qwBaseAddress, - PVOID lpBuffer, - DWORD nSize, - LPDWORD lpNumberOfBytesRead + HANDLE hProcess, + DWORD64 qwBaseAddress, + PVOID lpBuffer, + DWORD nSize, + LPDWORD lpNumberOfBytesRead ) { if (s_readMemoryFunction == nullptr) { SIZE_T st; - BOOL bRet = ReadProcessMemory(hProcess, (LPVOID)qwBaseAddress, lpBuffer, nSize, &st); - *lpNumberOfBytesRead = (DWORD)st; - // printf("ReadMemory: hProcess: %p, baseAddr: %p, buffer: %p, size: %d, read: %d, result: %d\n", hProcess, (LPVOID) qwBaseAddress, lpBuffer, nSize, (DWORD) st, (DWORD) bRet); + BOOL bRet = ReadProcessMemory(hProcess, (LPVOID) qwBaseAddress, lpBuffer, nSize, &st); + *lpNumberOfBytesRead = (DWORD) st; + // printf("ReadMemory: hProcess: %p, baseAddr: %p, buffer: %p, size: %d, read: %d, result: %d\n", hProcess, + // (LPVOID) qwBaseAddress, lpBuffer, nSize, (DWORD) st, (DWORD) bRet); return bRet; } else { - return s_readMemoryFunction(hProcess, qwBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead, s_readMemoryFunction_UserData); + return s_readMemoryFunction( + hProcess, + qwBaseAddress, + lpBuffer, + nSize, + lpNumberOfBytesRead, + s_readMemoryFunction_UserData + ); } } @@ -1152,7 +1209,16 @@ BOOL __stdcall WinStackWalker::myReadProcMem( -void WinStackWalker::OnLoadModule(LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWORD size, DWORD result, LPCSTR symType, LPCSTR pdbName, ULONGLONG fileVersion) +void WinStackWalker::OnLoadModule( + LPCSTR img, + LPCSTR mod, + DWORD64 baseAddr, + DWORD size, + DWORD result, + LPCSTR symType, + LPCSTR pdbName, + ULONGLONG fileVersion +) { /* // Uncomment to be notified of loaded DLL modules. @@ -1160,7 +1226,8 @@ void WinStackWalker::OnLoadModule(LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWOR char buffer[STACKWALK_MAX_NAMELEN]; if (fileVersion == 0) { - _snprintf_s(buffer, sizeof(buffer), "%s:%s (%p), size: %d (result: %d), SymType: '%s', PDB: '%s'\n", img, mod, (LPVOID)baseAddr, size, result, symType, pdbName); + _snprintf_s(buffer, sizeof(buffer), "%s:%s (%p), size: %d (result: %d), SymType: '%s', PDB: '%s'\n", img, mod, + (LPVOID)baseAddr, size, result, symType, pdbName); } else { @@ -1168,7 +1235,8 @@ void WinStackWalker::OnLoadModule(LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWOR DWORD v3 = (DWORD)(fileVersion >> 16) & 0xFFFF; DWORD v2 = (DWORD)(fileVersion >> 32) & 0xFFFF; DWORD v1 = (DWORD)(fileVersion >> 48) & 0xFFFF; - _snprintf_s(buffer, sizeof(buffer), "%s:%s (%p), size: %d (result: %d), SymType: '%s', PDB: '%s', fileVersion: %d.%d.%d.%d\n", img, mod, (LPVOID)baseAddr, size, result, symType, pdbName, v1, v2, v3, v4); + _snprintf_s(buffer, sizeof(buffer), "%s:%s (%p), size: %d (result: %d), SymType: '%s', PDB: '%s', fileVersion: + %d.%d.%d.%d\n", img, mod, (LPVOID)baseAddr, size, result, symType, pdbName, v1, v2, v3, v4); } OnOutput(buffer); */ @@ -1178,7 +1246,7 @@ void WinStackWalker::OnLoadModule(LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWOR -void WinStackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry &entry) +void WinStackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry & entry) { CHAR buffer[STACKWALK_MAX_NAMELEN + MAX_PATH + 100]; if ((eType == lastEntry) || (entry.offset == 0)) @@ -1204,7 +1272,15 @@ void WinStackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry & { MyStrCpy(entry.moduleName, "(module-name not available)"); } - _snprintf_s(buffer, sizeof(buffer), "%p (%s): %s: %s\n", (LPVOID)entry.offset, entry.moduleName, entry.lineFileName, entry.name); + _snprintf_s( + buffer, + sizeof(buffer), + "%p (%s): %s: %s\n", + (LPVOID) entry.offset, + entry.moduleName, + entry.lineFileName, + entry.name + ); } else { @@ -1220,7 +1296,7 @@ void WinStackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry & void WinStackWalker::OnDbgHelpErr(LPCSTR szFuncName, DWORD gle, DWORD64 addr) { CHAR buffer[STACKWALK_MAX_NAMELEN]; - _snprintf_s(buffer, sizeof(buffer), "ERROR: %s, GetLastError: %d (Address: %p)\n", szFuncName, gle, (LPVOID)addr); + _snprintf_s(buffer, sizeof(buffer), "ERROR: %s, GetLastError: %d (Address: %p)\n", szFuncName, gle, (LPVOID) addr); OnOutput(buffer); } @@ -1231,17 +1307,31 @@ void WinStackWalker::OnDbgHelpErr(LPCSTR szFuncName, DWORD gle, DWORD64 addr) void WinStackWalker::OnSymInit(LPCSTR szSearchPath, DWORD symOptions, LPCSTR szUserName) { CHAR buffer[STACKWALK_MAX_NAMELEN]; - _snprintf_s(buffer, sizeof(buffer), "SymInit: Symbol-SearchPath: '%s', symOptions: %d, UserName: '%s'\n", szSearchPath, symOptions, szUserName); + _snprintf_s( + buffer, + sizeof(buffer), + "SymInit: Symbol-SearchPath: '%s', symOptions: %d, UserName: '%s'\n", + szSearchPath, + symOptions, + szUserName + ); OnOutput(buffer); // Also display the OS-version OSVERSIONINFOEXA ver; ZeroMemory(&ver, sizeof(OSVERSIONINFOEXA)); ver.dwOSVersionInfoSize = sizeof(ver); - if (GetVersionExA((OSVERSIONINFOA*)&ver) != FALSE) + if (GetVersionExA((OSVERSIONINFOA *) &ver) != FALSE) { - _snprintf_s(buffer, sizeof(buffer), "OS-Version: %d.%d.%d (%s) 0x%x-0x%x\n", - ver.dwMajorVersion, ver.dwMinorVersion, ver.dwBuildNumber, - ver.szCSDVersion, ver.wSuiteMask, ver.wProductType + _snprintf_s( + buffer, + sizeof(buffer), + "OS-Version: %d.%d.%d (%s) 0x%x-0x%x\n", + ver.dwMajorVersion, + ver.dwMinorVersion, + ver.dwBuildNumber, + ver.szCSDVersion, + ver.wSuiteMask, + ver.wProductType ); OnOutput(buffer); } diff --git a/src/OSSupport/WinStackWalker.h b/src/OSSupport/WinStackWalker.h index 0479bd17b..002efa711 100644 --- a/src/OSSupport/WinStackWalker.h +++ b/src/OSSupport/WinStackWalker.h @@ -46,7 +46,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. class StackWalkerInternal; // forward class WinStackWalker { -public: + public: enum StackWalkOptions { // No addition info will be retrived @@ -91,31 +91,31 @@ public: WinStackWalker(DWORD dwProcessId, HANDLE hProcess); virtual ~WinStackWalker(); - typedef BOOL(__stdcall *PReadProcessMemoryRoutine)( - HANDLE hProcess, - DWORD64 qwBaseAddress, - PVOID lpBuffer, - DWORD nSize, - LPDWORD lpNumberOfBytesRead, - LPVOID pUserData // optional data, which was passed in "ShowCallstack" + typedef BOOL(__stdcall * PReadProcessMemoryRoutine)( + HANDLE hProcess, + DWORD64 qwBaseAddress, + PVOID lpBuffer, + DWORD nSize, + LPDWORD lpNumberOfBytesRead, + LPVOID pUserData // optional data, which was passed in "ShowCallstack" ); BOOL LoadModules(); BOOL ShowCallstack( HANDLE hThread = GetCurrentThread(), - const CONTEXT *context = nullptr, + const CONTEXT * context = nullptr, PReadProcessMemoryRoutine readMemoryFunction = nullptr, LPVOID pUserData = nullptr // optional to identify some data in the 'readMemoryFunction'-callback ); -protected: + protected: enum { STACKWALK_MAX_NAMELEN = 1024, ///< Max name length for found symbols }; -protected: + protected: // Entry for each Callstack-Entry struct CallstackEntry { @@ -134,15 +134,29 @@ protected: CHAR loadedImageName[STACKWALK_MAX_NAMELEN]; }; - enum CallstackEntryType { firstEntry, nextEntry, lastEntry }; + enum CallstackEntryType + { + firstEntry, + nextEntry, + lastEntry + }; virtual void OnSymInit(LPCSTR szSearchPath, DWORD symOptions, LPCSTR szUserName); - virtual void OnLoadModule(LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWORD size, DWORD result, LPCSTR symType, LPCSTR pdbName, ULONGLONG fileVersion); - virtual void OnCallstackEntry(CallstackEntryType eType, CallstackEntry &entry); + virtual void OnLoadModule( + LPCSTR img, + LPCSTR mod, + DWORD64 baseAddr, + DWORD size, + DWORD result, + LPCSTR symType, + LPCSTR pdbName, + ULONGLONG fileVersion + ); + virtual void OnCallstackEntry(CallstackEntryType eType, CallstackEntry & entry); virtual void OnDbgHelpErr(LPCSTR szFuncName, DWORD gle, DWORD64 addr); virtual void OnOutput(LPCSTR szText); - StackWalkerInternal *m_sw; + StackWalkerInternal * m_sw; HANDLE m_hProcess; DWORD m_dwProcessId; BOOL m_modulesLoaded; @@ -151,7 +165,13 @@ protected: int m_options; int m_MaxRecursionCount; - static BOOL __stdcall myReadProcMem(HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead); + static BOOL __stdcall myReadProcMem( + HANDLE hProcess, + DWORD64 qwBaseAddress, + PVOID lpBuffer, + DWORD nSize, + LPDWORD lpNumberOfBytesRead + ); friend StackWalkerInternal; }; @@ -160,12 +180,13 @@ protected: #define GET_CURRENT_CONTEXT(c, contextFlags) \ - do \ - { \ - memset(&c, 0, sizeof(CONTEXT)); \ - c.ContextFlags = contextFlags; \ - RtlCaptureContext(&c); \ - } while (false); + do \ + { \ + memset(&c, 0, sizeof(CONTEXT)); \ + c.ContextFlags = contextFlags; \ + RtlCaptureContext(&c); \ + } \ + while (false); diff --git a/src/OpaqueWorld.h b/src/OpaqueWorld.h index d0d4e7fd0..7ff4b5353 100644 --- a/src/OpaqueWorld.h +++ b/src/OpaqueWorld.h @@ -11,15 +11,24 @@ class cWorldInterface; /** Utilities to allow casting a cWorld to one of its interfaces without including World.h. */ namespace World { - // Defined in World.cpp - cBroadcastInterface * GetBroadcastInterface(cWorld * a_World); - cForEachChunkProvider * GetFECProvider (cWorld * a_World); - cWorldInterface * GetWorldInterface (cWorld * a_World); +// Defined in World.cpp +cBroadcastInterface * GetBroadcastInterface(cWorld * a_World); +cForEachChunkProvider * GetFECProvider(cWorld * a_World); +cWorldInterface * GetWorldInterface(cWorld * a_World); - inline cBroadcastInterface & GetBroadcastInterface(cWorld & a_World) { return *GetBroadcastInterface(&a_World); } - inline cForEachChunkProvider & GetFECProvider (cWorld & a_World) { return *GetFECProvider(&a_World); } - inline cWorldInterface & GetWorldInterface (cWorld & a_World) { return *GetWorldInterface(&a_World); } - - // cChunkInterface is more like a pimpl for cChunkMap than an interface so it needs to be returned by value - cChunkInterface GetChunkInterface(cWorld & a_World); +inline cBroadcastInterface & GetBroadcastInterface(cWorld & a_World) +{ + return *GetBroadcastInterface(&a_World); +} +inline cForEachChunkProvider & GetFECProvider(cWorld & a_World) +{ + return *GetFECProvider(&a_World); } +inline cWorldInterface & GetWorldInterface(cWorld & a_World) +{ + return *GetWorldInterface(&a_World); +} + +// cChunkInterface is more like a pimpl for cChunkMap than an interface so it needs to be returned by value +cChunkInterface GetChunkInterface(cWorld & a_World); +} // namespace World diff --git a/src/OverridesSettingsRepository.cpp b/src/OverridesSettingsRepository.cpp index d07c39c73..1ff7df942 100644 --- a/src/OverridesSettingsRepository.cpp +++ b/src/OverridesSettingsRepository.cpp @@ -2,9 +2,11 @@ #include "Globals.h" #include "OverridesSettingsRepository.h" -cOverridesSettingsRepository::cOverridesSettingsRepository(std::unique_ptr a_Main, cSettingsRepositoryInterface & a_Overrides) : - m_Main(std::move(a_Main)), - m_Overrides(&a_Overrides) +cOverridesSettingsRepository::cOverridesSettingsRepository( + std::unique_ptr a_Main, + cSettingsRepositoryInterface & a_Overrides +) : + m_Main(std::move(a_Main)), m_Overrides(&a_Overrides) { } @@ -89,7 +91,11 @@ bool cOverridesSettingsRepository::DeleteKeyComment(const AString & a_keyname, c -void cOverridesSettingsRepository::AddValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) +void cOverridesSettingsRepository::AddValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value +) { if (m_Overrides->HasValue(a_KeyName, a_ValueName)) { @@ -135,7 +141,11 @@ std::vector> cOverridesSettingsRepository::GetValues -AString cOverridesSettingsRepository::GetValue(const AString & a_KeyName, const AString & a_ValueName, const AString & defValue) const +AString cOverridesSettingsRepository::GetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & defValue +) const { if (m_Overrides->HasValue(a_KeyName, a_ValueName)) { @@ -151,7 +161,11 @@ AString cOverridesSettingsRepository::GetValue(const AString & a_KeyName, const -AString cOverridesSettingsRepository::GetValueSet (const AString & a_KeyName, const AString & a_ValueName, const AString & defValue) +AString cOverridesSettingsRepository::GetValueSet( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & defValue +) { if (m_Overrides->HasValue(a_KeyName, a_ValueName)) { @@ -167,7 +181,11 @@ AString cOverridesSettingsRepository::GetValueSet (const AString & a_KeyName, co -int cOverridesSettingsRepository::GetValueSetI(const AString & a_KeyName, const AString & a_ValueName, const int defValue) +int cOverridesSettingsRepository::GetValueSetI( + const AString & a_KeyName, + const AString & a_ValueName, + const int defValue +) { if (m_Overrides->HasValue(a_KeyName, a_ValueName)) { @@ -183,7 +201,11 @@ int cOverridesSettingsRepository::GetValueSetI(const AString & a_KeyName, const -Int64 cOverridesSettingsRepository::GetValueSetI(const AString & a_KeyName, const AString & a_ValueName, const Int64 defValue) +Int64 cOverridesSettingsRepository::GetValueSetI( + const AString & a_KeyName, + const AString & a_ValueName, + const Int64 defValue +) { if (m_Overrides->HasValue(a_KeyName, a_ValueName)) { @@ -199,7 +221,11 @@ Int64 cOverridesSettingsRepository::GetValueSetI(const AString & a_KeyName, cons -bool cOverridesSettingsRepository::GetValueSetB(const AString & a_KeyName, const AString & a_ValueName, const bool defValue) +bool cOverridesSettingsRepository::GetValueSetB( + const AString & a_KeyName, + const AString & a_ValueName, + const bool defValue +) { if (m_Overrides->HasValue(a_KeyName, a_ValueName)) { @@ -215,7 +241,12 @@ bool cOverridesSettingsRepository::GetValueSetB(const AString & a_KeyName, const -bool cOverridesSettingsRepository::SetValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value, const bool a_CreateIfNotExists) +bool cOverridesSettingsRepository::SetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value, + const bool a_CreateIfNotExists +) { if (m_Overrides->HasValue(a_KeyName, a_ValueName)) { @@ -231,7 +262,12 @@ bool cOverridesSettingsRepository::SetValue (const AString & a_KeyName, const AS -bool cOverridesSettingsRepository::SetValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value, const bool a_CreateIfNotExists) +bool cOverridesSettingsRepository::SetValueI( + const AString & a_KeyName, + const AString & a_ValueName, + const int a_Value, + const bool a_CreateIfNotExists +) { if (m_Overrides->HasValue(a_KeyName, a_ValueName)) { @@ -267,4 +303,3 @@ bool cOverridesSettingsRepository::Flush() { return m_Overrides->Flush() && m_Main->Flush(); } - diff --git a/src/OverridesSettingsRepository.h b/src/OverridesSettingsRepository.h index fdb2d7d17..84f13cbd2 100644 --- a/src/OverridesSettingsRepository.h +++ b/src/OverridesSettingsRepository.h @@ -6,8 +6,11 @@ class cOverridesSettingsRepository : public cSettingsRepositoryInterface { -public: - cOverridesSettingsRepository(std::unique_ptr a_Main, cSettingsRepositoryInterface & a_Overrides); + public: + cOverridesSettingsRepository( + std::unique_ptr a_Main, + cSettingsRepositoryInterface & a_Overrides + ); virtual ~cOverridesSettingsRepository() override = default; @@ -23,28 +26,37 @@ public: virtual bool DeleteKeyComment(const AString & keyname, const int commentID) override; - virtual void AddValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) override; + virtual void AddValue(const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) override; virtual std::vector> GetValues(AString a_keyName) override; - virtual AString GetValue (const AString & keyname, const AString & valuename, const AString & defValue = "") const override; - - virtual AString GetValueSet (const AString & keyname, const AString & valuename, const AString & defValue = "") override; - virtual int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) override; - virtual Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) override; - virtual bool GetValueSetB(const AString & keyname, const AString & valuename, const bool defValue = false) override; - - virtual bool SetValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value, const bool a_CreateIfNotExists = true) override; - virtual bool SetValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value, const bool a_CreateIfNotExists = true) override; + virtual AString GetValue(const AString & keyname, const AString & valuename, const AString & defValue = "") + const override; + + virtual AString GetValueSet(const AString & keyname, const AString & valuename, const AString & defValue = "") + override; + virtual int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) override; + virtual Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) override; + virtual bool GetValueSetB(const AString & keyname, const AString & valuename, const bool defValue = false) override; + + virtual bool SetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value, + const bool a_CreateIfNotExists = true + ) override; + virtual bool SetValueI( + const AString & a_KeyName, + const AString & a_ValueName, + const int a_Value, + const bool a_CreateIfNotExists = true + ) override; virtual bool DeleteValue(const AString & keyname, const AString & valuename) override; virtual bool Flush() override; -private: - + private: std::unique_ptr m_Main; cSettingsRepositoryInterface * m_Overrides; - }; - diff --git a/src/PalettedBlockArea.cpp b/src/PalettedBlockArea.cpp index fd1dcf332..3e8393620 100644 --- a/src/PalettedBlockArea.cpp +++ b/src/PalettedBlockArea.cpp @@ -14,7 +14,11 @@ PalettedBlockArea::PalettedBlockArea() -PalettedBlockArea PalettedBlockArea::createFilled(Vector3i aSize, const AString & aBlockTypeName, const BlockState & aBlockState) +PalettedBlockArea PalettedBlockArea::createFilled( + Vector3i aSize, + const AString & aBlockTypeName, + const BlockState & aBlockState +) { ASSERT(aSize.x > 0); ASSERT(aSize.y > 0); @@ -77,7 +81,10 @@ UInt32 PalettedBlockArea::paletteIndex(const AString & aBlockTypeName, const Blo -std::pair PalettedBlockArea::maybePaletteIndex(const AString & aBlockTypeName, const BlockState & aBlockState) const +std::pair PalettedBlockArea::maybePaletteIndex( + const AString & aBlockTypeName, + const BlockState & aBlockState +) const { return mPalette.maybeIndex(aBlockTypeName, aBlockState); } @@ -117,7 +124,7 @@ const std::pair & PalettedBlockArea::paletteEntry(UInt32 aP bool PalettedBlockArea::isPositionValid(Vector3i aPos) const { return ( - (aPos.x >= 0) && (aPos.y >= 0) && (aPos.z >= 0) && // Non-negative coords + (aPos.x >= 0) && (aPos.y >= 0) && (aPos.z >= 0) && // Non-negative coords (aPos.x < mSize.x) && (aPos.y < mSize.y) && (aPos.z < mSize.z) // Fit into size ); } diff --git a/src/PalettedBlockArea.h b/src/PalettedBlockArea.h index 5ded7bcb4..5613e1b81 100644 --- a/src/PalettedBlockArea.h +++ b/src/PalettedBlockArea.h @@ -19,11 +19,14 @@ The PalettedBlockArea always contains Blocks and their associated BlockEntities, There's no way to instantiate this class directly, you need to use either createFilled(), or read from cWorld. */ class PalettedBlockArea { -public: - + public: /** Creates a new PBA of the specified size filled with the specified block. Throws if there is an error (memory allocation etc.) */ - static PalettedBlockArea createFilled(Vector3i aSize, const AString & aBlockTypeName, const BlockState & aBlockState); + static PalettedBlockArea createFilled( + Vector3i aSize, + const AString & aBlockTypeName, + const BlockState & aBlockState + ); /** Returns the actual size of the area in all 3 axes. */ const Vector3i & size() const { return mSize; } @@ -93,8 +96,7 @@ public: const BlockTypePalette & palette() { return mPalette; } -protected: - + protected: /** The palette used in the area. */ BlockTypePalette mPalette; diff --git a/src/Physics/Explodinator.cpp b/src/Physics/Explodinator.cpp index af1d1da34..835fb589a 100644 --- a/src/Physics/Explodinator.cpp +++ b/src/Physics/Explodinator.cpp @@ -16,198 +16,215 @@ namespace Explodinator { - static const auto StepUnit = 0.3f; - static const auto KnockbackFactor = 25U; - static const auto StepAttenuation = 0.225f; - static const auto TraceCubeSideLength = 16U; - static const auto BoundingBoxStepUnit = 0.5; - - /** Converts an absolute floating-point Position into a Chunk-relative one. */ - static Vector3f AbsoluteToRelative(const Vector3f a_Position, const cChunkCoords a_ChunkPosition) - { - return { a_Position.x - a_ChunkPosition.m_ChunkX * cChunkDef::Width, a_Position.y, a_Position.z - a_ChunkPosition.m_ChunkZ * cChunkDef::Width }; - } +static const auto StepUnit = 0.3f; +static const auto KnockbackFactor = 25U; +static const auto StepAttenuation = 0.225f; +static const auto TraceCubeSideLength = 16U; +static const auto BoundingBoxStepUnit = 0.5; + +/** Converts an absolute floating-point Position into a Chunk-relative one. */ +static Vector3f AbsoluteToRelative(const Vector3f a_Position, const cChunkCoords a_ChunkPosition) +{ + return { + a_Position.x - a_ChunkPosition.m_ChunkX * cChunkDef::Width, + a_Position.y, + a_Position.z - a_ChunkPosition.m_ChunkZ * cChunkDef::Width + }; +} + +/** Make a From Chunk-relative Position into a To Chunk-relative position. */ +static Vector3f RebaseRelativePosition(const cChunkCoords a_From, const cChunkCoords a_To, const Vector3f a_Position) +{ + return { + a_Position.x + (a_From.m_ChunkX - a_To.m_ChunkX) * cChunkDef::Width, + a_Position.y, + a_Position.z + (a_From.m_ChunkZ - a_To.m_ChunkZ) * cChunkDef::Width + }; +} - /** Make a From Chunk-relative Position into a To Chunk-relative position. */ - static Vector3f RebaseRelativePosition(const cChunkCoords a_From, const cChunkCoords a_To, const Vector3f a_Position) +/** Returns how much of an explosion Destruction Lazor's (tm) intensity the given block attenuates. +Values are scaled as 0.3 * (0.3 + Wiki) since some compilers miss the constant folding optimisation. +Wiki values are https://minecraft.wiki/w/Explosion#Blast_resistance as of 2021-02-06. */ +static float GetExplosionAbsorption(const BLOCKTYPE Block) +{ + switch (Block) { - return - { - a_Position.x + (a_From.m_ChunkX - a_To.m_ChunkX) * cChunkDef::Width, - a_Position.y, - a_Position.z + (a_From.m_ChunkZ - a_To.m_ChunkZ) * cChunkDef::Width - }; + case E_BLOCK_BEDROCK: + case E_BLOCK_COMMAND_BLOCK: + case E_BLOCK_END_GATEWAY: + case E_BLOCK_END_PORTAL: + case E_BLOCK_END_PORTAL_FRAME: return 1080000.09f; + case E_BLOCK_ANVIL: + case E_BLOCK_ENCHANTMENT_TABLE: + case E_BLOCK_OBSIDIAN: return 360.09f; + case E_BLOCK_ENDER_CHEST: return 180.09f; + case E_BLOCK_LAVA: + case E_BLOCK_STATIONARY_LAVA: + case E_BLOCK_WATER: + case E_BLOCK_STATIONARY_WATER: return 30.09f; + case E_BLOCK_DRAGON_EGG: + case E_BLOCK_END_STONE: + case E_BLOCK_END_BRICKS: return 2.79f; + case E_BLOCK_STONE: + case E_BLOCK_BLOCK_OF_COAL: + case E_BLOCK_DIAMOND_BLOCK: + case E_BLOCK_EMERALD_BLOCK: + case E_BLOCK_GOLD_BLOCK: + case E_BLOCK_IRON_BLOCK: + case E_BLOCK_BLOCK_OF_REDSTONE: + case E_BLOCK_BRICK: + case E_BLOCK_BRICK_STAIRS: + case E_BLOCK_COBBLESTONE: + case E_BLOCK_COBBLESTONE_STAIRS: + case E_BLOCK_IRON_BARS: + case E_BLOCK_JUKEBOX: + case E_BLOCK_MOSSY_COBBLESTONE: + case E_BLOCK_NETHER_BRICK: + case E_BLOCK_NETHER_BRICK_FENCE: + case E_BLOCK_NETHER_BRICK_STAIRS: + case E_BLOCK_PRISMARINE_BLOCK: + case E_BLOCK_STONE_BRICKS: + case E_BLOCK_STONE_BRICK_STAIRS: + case E_BLOCK_COBBLESTONE_WALL: return 1.89f; + case E_BLOCK_IRON_DOOR: + case E_BLOCK_IRON_TRAPDOOR: + case E_BLOCK_MOB_SPAWNER: return 1.59f; + case E_BLOCK_HOPPER: return 1.53f; + case E_BLOCK_TERRACOTTA: return 1.35f; + case E_BLOCK_COBWEB: return 1.29f; + case E_BLOCK_DISPENSER: + case E_BLOCK_DROPPER: + case E_BLOCK_FURNACE: + case E_BLOCK_OBSERVER: return 1.14f; + case E_BLOCK_BEACON: + case E_BLOCK_COAL_ORE: + case E_BLOCK_COCOA_POD: + case E_BLOCK_DIAMOND_ORE: + case E_BLOCK_EMERALD_ORE: + case E_BLOCK_GOLD_ORE: + case E_BLOCK_IRON_ORE: + case E_BLOCK_LAPIS_BLOCK: + case E_BLOCK_LAPIS_ORE: + case E_BLOCK_NETHER_QUARTZ_ORE: + case E_BLOCK_PLANKS: + case E_BLOCK_REDSTONE_ORE: + case E_BLOCK_FENCE: + case E_BLOCK_FENCE_GATE: + case E_BLOCK_WOODEN_DOOR: + case E_BLOCK_WOODEN_SLAB: + case E_BLOCK_WOODEN_STAIRS: + case E_BLOCK_TRAPDOOR: return 0.99f; + case E_BLOCK_CHEST: + case E_BLOCK_WORKBENCH: + case E_BLOCK_TRAPPED_CHEST: return 0.84f; + case E_BLOCK_BONE_BLOCK: + case E_BLOCK_CAULDRON: + case E_BLOCK_LOG: return 0.69f; // nIcE + case E_BLOCK_CONCRETE: return 0.63f; + case E_BLOCK_BOOKCASE: return 0.54f; + case E_BLOCK_STANDING_BANNER: + case E_BLOCK_WALL_BANNER: + case E_BLOCK_JACK_O_LANTERN: + case E_BLOCK_MELON: + case E_BLOCK_HEAD: + case E_BLOCK_NETHER_WART_BLOCK: + case E_BLOCK_PUMPKIN: + case E_BLOCK_SIGN_POST: + case E_BLOCK_WALLSIGN: return 0.39f; + case E_BLOCK_QUARTZ_BLOCK: + case E_BLOCK_QUARTZ_STAIRS: + case E_BLOCK_RED_SANDSTONE: + case E_BLOCK_RED_SANDSTONE_STAIRS: + case E_BLOCK_SANDSTONE: + case E_BLOCK_SANDSTONE_STAIRS: + case E_BLOCK_WOOL: return 0.33f; + case E_BLOCK_SILVERFISH_EGG: return 0.315f; + case E_BLOCK_ACTIVATOR_RAIL: + case E_BLOCK_DETECTOR_RAIL: + case E_BLOCK_POWERED_RAIL: + case E_BLOCK_RAIL: return 0.3f; + case E_BLOCK_GRASS_PATH: + case E_BLOCK_CLAY: + case E_BLOCK_FARMLAND: + case E_BLOCK_GRASS: + case E_BLOCK_GRAVEL: + case E_BLOCK_SPONGE: return 0.27f; + case E_BLOCK_BREWING_STAND: + case E_BLOCK_STONE_BUTTON: + case E_BLOCK_WOODEN_BUTTON: + case E_BLOCK_CAKE: + case E_BLOCK_CONCRETE_POWDER: + case E_BLOCK_DIRT: + case E_BLOCK_FROSTED_ICE: + case E_BLOCK_HAY_BALE: + case E_BLOCK_ICE: return 0.24f; + default: return 0.09f; } +} - /** Returns how much of an explosion Destruction Lazor's (tm) intensity the given block attenuates. - Values are scaled as 0.3 * (0.3 + Wiki) since some compilers miss the constant folding optimisation. - Wiki values are https://minecraft.wiki/w/Explosion#Blast_resistance as of 2021-02-06. */ - static float GetExplosionAbsorption(const BLOCKTYPE Block) +/** Calculates the approximate percentage of an Entity's bounding box that is exposed to an explosion centred at + * Position. */ +static float CalculateEntityExposure( + const cChunk & a_Chunk, + const cEntity & a_Entity, + const Vector3f a_Position, + const int a_SquareRadius +) +{ + class LineOfSightCallbacks final : public cLineBlockTracer::cCallbacks { - switch (Block) + virtual bool OnNextBlock( + Vector3i a_BlockPos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + eBlockFace a_EntryFace + ) override { - case E_BLOCK_BEDROCK: - case E_BLOCK_COMMAND_BLOCK: - case E_BLOCK_END_GATEWAY: - case E_BLOCK_END_PORTAL: - case E_BLOCK_END_PORTAL_FRAME: return 1080000.09f; - case E_BLOCK_ANVIL: - case E_BLOCK_ENCHANTMENT_TABLE: - case E_BLOCK_OBSIDIAN: return 360.09f; - case E_BLOCK_ENDER_CHEST: return 180.09f; - case E_BLOCK_LAVA: - case E_BLOCK_STATIONARY_LAVA: - case E_BLOCK_WATER: - case E_BLOCK_STATIONARY_WATER: return 30.09f; - case E_BLOCK_DRAGON_EGG: - case E_BLOCK_END_STONE: - case E_BLOCK_END_BRICKS: return 2.79f; - case E_BLOCK_STONE: - case E_BLOCK_BLOCK_OF_COAL: - case E_BLOCK_DIAMOND_BLOCK: - case E_BLOCK_EMERALD_BLOCK: - case E_BLOCK_GOLD_BLOCK: - case E_BLOCK_IRON_BLOCK: - case E_BLOCK_BLOCK_OF_REDSTONE: - case E_BLOCK_BRICK: - case E_BLOCK_BRICK_STAIRS: - case E_BLOCK_COBBLESTONE: - case E_BLOCK_COBBLESTONE_STAIRS: - case E_BLOCK_IRON_BARS: - case E_BLOCK_JUKEBOX: - case E_BLOCK_MOSSY_COBBLESTONE: - case E_BLOCK_NETHER_BRICK: - case E_BLOCK_NETHER_BRICK_FENCE: - case E_BLOCK_NETHER_BRICK_STAIRS: - case E_BLOCK_PRISMARINE_BLOCK: - case E_BLOCK_STONE_BRICKS: - case E_BLOCK_STONE_BRICK_STAIRS: - case E_BLOCK_COBBLESTONE_WALL: return 1.89f; - case E_BLOCK_IRON_DOOR: - case E_BLOCK_IRON_TRAPDOOR: - case E_BLOCK_MOB_SPAWNER: return 1.59f; - case E_BLOCK_HOPPER: return 1.53f; - case E_BLOCK_TERRACOTTA: return 1.35f; - case E_BLOCK_COBWEB: return 1.29f; - case E_BLOCK_DISPENSER: - case E_BLOCK_DROPPER: - case E_BLOCK_FURNACE: - case E_BLOCK_OBSERVER: return 1.14f; - case E_BLOCK_BEACON: - case E_BLOCK_COAL_ORE: - case E_BLOCK_COCOA_POD: - case E_BLOCK_DIAMOND_ORE: - case E_BLOCK_EMERALD_ORE: - case E_BLOCK_GOLD_ORE: - case E_BLOCK_IRON_ORE: - case E_BLOCK_LAPIS_BLOCK: - case E_BLOCK_LAPIS_ORE: - case E_BLOCK_NETHER_QUARTZ_ORE: - case E_BLOCK_PLANKS: - case E_BLOCK_REDSTONE_ORE: - case E_BLOCK_FENCE: - case E_BLOCK_FENCE_GATE: - case E_BLOCK_WOODEN_DOOR: - case E_BLOCK_WOODEN_SLAB: - case E_BLOCK_WOODEN_STAIRS: - case E_BLOCK_TRAPDOOR: return 0.99f; - case E_BLOCK_CHEST: - case E_BLOCK_WORKBENCH: - case E_BLOCK_TRAPPED_CHEST: return 0.84f; - case E_BLOCK_BONE_BLOCK: - case E_BLOCK_CAULDRON: - case E_BLOCK_LOG: return 0.69f; // nIcE - case E_BLOCK_CONCRETE: return 0.63f; - case E_BLOCK_BOOKCASE: return 0.54f; - case E_BLOCK_STANDING_BANNER: - case E_BLOCK_WALL_BANNER: - case E_BLOCK_JACK_O_LANTERN: - case E_BLOCK_MELON: - case E_BLOCK_HEAD: - case E_BLOCK_NETHER_WART_BLOCK: - case E_BLOCK_PUMPKIN: - case E_BLOCK_SIGN_POST: - case E_BLOCK_WALLSIGN: return 0.39f; - case E_BLOCK_QUARTZ_BLOCK: - case E_BLOCK_QUARTZ_STAIRS: - case E_BLOCK_RED_SANDSTONE: - case E_BLOCK_RED_SANDSTONE_STAIRS: - case E_BLOCK_SANDSTONE: - case E_BLOCK_SANDSTONE_STAIRS: - case E_BLOCK_WOOL: return 0.33f; - case E_BLOCK_SILVERFISH_EGG: return 0.315f; - case E_BLOCK_ACTIVATOR_RAIL: - case E_BLOCK_DETECTOR_RAIL: - case E_BLOCK_POWERED_RAIL: - case E_BLOCK_RAIL: return 0.3f; - case E_BLOCK_GRASS_PATH: - case E_BLOCK_CLAY: - case E_BLOCK_FARMLAND: - case E_BLOCK_GRASS: - case E_BLOCK_GRAVEL: - case E_BLOCK_SPONGE: return 0.27f; - case E_BLOCK_BREWING_STAND: - case E_BLOCK_STONE_BUTTON: - case E_BLOCK_WOODEN_BUTTON: - case E_BLOCK_CAKE: - case E_BLOCK_CONCRETE_POWDER: - case E_BLOCK_DIRT: - case E_BLOCK_FROSTED_ICE: - case E_BLOCK_HAY_BALE: - case E_BLOCK_ICE: return 0.24f; - default: return 0.09f; + return a_BlockType != E_BLOCK_AIR; } - } + } Callback; + + const Vector3d Position = a_Position; + unsigned Unobstructed = 0, Total = 0; + const auto Box = a_Entity.GetBoundingBox(); + cLineBlockTracer Tracer(*a_Chunk.GetWorld(), Callback); - /** Calculates the approximate percentage of an Entity's bounding box that is exposed to an explosion centred at Position. */ - static float CalculateEntityExposure(const cChunk & a_Chunk, const cEntity & a_Entity, const Vector3f a_Position, const int a_SquareRadius) + for (double X = Box.GetMinX(); X < Box.GetMaxX(); X += BoundingBoxStepUnit) { - class LineOfSightCallbacks final : public cLineBlockTracer::cCallbacks + for (double Y = Box.GetMinY(); Y < Box.GetMaxY(); Y += BoundingBoxStepUnit) { - virtual bool OnNextBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, eBlockFace a_EntryFace) override + for (double Z = Box.GetMinZ(); Z < Box.GetMaxZ(); Z += BoundingBoxStepUnit) { - return a_BlockType != E_BLOCK_AIR; - } - } Callback; - - const Vector3d Position = a_Position; - unsigned Unobstructed = 0, Total = 0; - const auto Box = a_Entity.GetBoundingBox(); - cLineBlockTracer Tracer(*a_Chunk.GetWorld(), Callback); + const Vector3d Destination {X, Y, Z}; + if ((Destination - Position).SqrLength() > a_SquareRadius) + { + // Don't bother with points outside our designated area-of-effect + // This is, surprisingly, a massive amount of work saved (~3m to detonate a sphere of 37k TNT + // before, ~1m after): + continue; + } - for (double X = Box.GetMinX(); X < Box.GetMaxX(); X += BoundingBoxStepUnit) - { - for (double Y = Box.GetMinY(); Y < Box.GetMaxY(); Y += BoundingBoxStepUnit) - { - for (double Z = Box.GetMinZ(); Z < Box.GetMaxZ(); Z += BoundingBoxStepUnit) + if (Tracer.Trace(a_Position, Destination)) { - const Vector3d Destination{X, Y, Z}; - if ((Destination - Position).SqrLength() > a_SquareRadius) - { - // Don't bother with points outside our designated area-of-effect - // This is, surprisingly, a massive amount of work saved (~3m to detonate a sphere of 37k TNT before, ~1m after): - continue; - } - - if (Tracer.Trace(a_Position, Destination)) - { - Unobstructed++; - } - Total++; + Unobstructed++; } + Total++; } } - - return (Total == 0) ? 0 : (static_cast(Unobstructed) / Total); } - /** Applies distance-based damage and knockback to all entities within the explosion's effect range. */ - static void DamageEntities(const cChunk & a_Chunk, const Vector3f a_Position, const int a_Power) - { - const auto Radius = a_Power * 2; - const auto SquareRadius = Radius * Radius; + return (Total == 0) ? 0 : (static_cast(Unobstructed) / Total); +} + +/** Applies distance-based damage and knockback to all entities within the explosion's effect range. */ +static void DamageEntities(const cChunk & a_Chunk, const Vector3f a_Position, const int a_Power) +{ + const auto Radius = a_Power * 2; + const auto SquareRadius = Radius * Radius; - a_Chunk.GetWorld()->ForEachEntityInBox({ a_Position, Radius * 2.f }, [&a_Chunk, a_Position, a_Power, Radius, SquareRadius](cEntity & Entity) + a_Chunk.GetWorld()->ForEachEntityInBox( + {a_Position, Radius * 2.f}, + [&a_Chunk, a_Position, a_Power, Radius, SquareRadius](cEntity & Entity) { // Percentage of rays unobstructed. const auto Exposure = CalculateEntityExposure(a_Chunk, Entity, a_Position, SquareRadius); @@ -234,210 +251,310 @@ namespace Explodinator // Continue iteration: return false; - }); + } + ); +} + +/** Returns true if block should always drop when exploded. +Currently missing conduits from 1.13 */ +static bool BlockAlwaysDrops(const BLOCKTYPE a_Block) +{ + if (IsBlockShulkerBox(a_Block)) + { + return true; } - /** Returns true if block should always drop when exploded. - Currently missing conduits from 1.13 */ - static bool BlockAlwaysDrops(const BLOCKTYPE a_Block) + switch (a_Block) { - if (IsBlockShulkerBox(a_Block)) - { - return true; - } + case E_BLOCK_DRAGON_EGG: + case E_BLOCK_BEACON: + case E_BLOCK_HEAD: return true; + } - switch (a_Block) - { - case E_BLOCK_DRAGON_EGG: - case E_BLOCK_BEACON: - case E_BLOCK_HEAD: return true; - } + return false; +} - return false; - } +/** Sets the block at the given position, updating surroundings. */ +static void SetBlock( + cWorld & a_World, + cChunk & a_Chunk, + const Vector3i a_AbsolutePosition, + const Vector3i a_RelativePosition, + const BLOCKTYPE a_DestroyedBlock, + const BLOCKTYPE a_NewBlock, + const cEntity * const a_ExplodingEntity +) +{ + const auto DestroyedMeta = a_Chunk.GetMeta(a_RelativePosition); - /** Sets the block at the given position, updating surroundings. */ - static void SetBlock(cWorld & a_World, cChunk & a_Chunk, const Vector3i a_AbsolutePosition, const Vector3i a_RelativePosition, const BLOCKTYPE a_DestroyedBlock, const BLOCKTYPE a_NewBlock, const cEntity * const a_ExplodingEntity) - { - const auto DestroyedMeta = a_Chunk.GetMeta(a_RelativePosition); + // SetBlock wakes up all simulators for the area, so that water and lava flows and sand falls into the blasted holes + // It also is responsible for calling cBlockHandler::OnNeighborChanged to pop off blocks that fail CanBeAt + // An explicit call to cBlockHandler::OnBroken handles the destruction of multiblock structures + // References at (FS #391, GH #4418): + a_Chunk.SetBlock(a_RelativePosition, a_NewBlock, 0); - // SetBlock wakes up all simulators for the area, so that water and lava flows and sand falls into the blasted holes - // It also is responsible for calling cBlockHandler::OnNeighborChanged to pop off blocks that fail CanBeAt - // An explicit call to cBlockHandler::OnBroken handles the destruction of multiblock structures - // References at (FS #391, GH #4418): - a_Chunk.SetBlock(a_RelativePosition, a_NewBlock, 0); + cChunkInterface Interface(a_World.GetChunkMap()); + cBlockHandler::For(a_DestroyedBlock) + .OnBroken(Interface, a_World, a_AbsolutePosition, a_DestroyedBlock, DestroyedMeta, a_ExplodingEntity); +} - cChunkInterface Interface(a_World.GetChunkMap()); - cBlockHandler::For(a_DestroyedBlock).OnBroken(Interface, a_World, a_AbsolutePosition, a_DestroyedBlock, DestroyedMeta, a_ExplodingEntity); +/** Work out what should happen when an explosion destroys the given block. +Tasks include lighting TNT, dropping pickups, setting fire and flinging shrapnel according to Minecraft rules. +OK, _mostly_ Minecraft rules. */ +static void DestroyBlock( + cChunk & a_Chunk, + const Vector3i a_Position, + const int a_Power, + const bool a_Fiery, + const cEntity * const a_ExplodingEntity +) +{ + const auto DestroyedBlock = a_Chunk.GetBlock(a_Position); + if (DestroyedBlock == E_BLOCK_AIR) + { + // There's nothing left for us here, but a barren and empty land + // Let's go. + return; } - /** Work out what should happen when an explosion destroys the given block. - Tasks include lighting TNT, dropping pickups, setting fire and flinging shrapnel according to Minecraft rules. - OK, _mostly_ Minecraft rules. */ - static void DestroyBlock(cChunk & a_Chunk, const Vector3i a_Position, const int a_Power, const bool a_Fiery, const cEntity * const a_ExplodingEntity) - { - const auto DestroyedBlock = a_Chunk.GetBlock(a_Position); - if (DestroyedBlock == E_BLOCK_AIR) - { - // There's nothing left for us here, but a barren and empty land - // Let's go. - return; - } + auto & World = *a_Chunk.GetWorld(); + auto & Random = GetRandomProvider(); + const auto Absolute = cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()); - auto & World = *a_Chunk.GetWorld(); - auto & Random = GetRandomProvider(); - const auto Absolute = cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()); + if (DestroyedBlock == E_BLOCK_TNT) // If the block is TNT we should set it off + { + // Random fuse between 10 to 30 game ticks. + const int FuseTime = Random.RandInt(10, 30); - if (DestroyedBlock == E_BLOCK_TNT) // If the block is TNT we should set it off + // Activate the TNT, with initial velocity and no fuse sound: + World.SpawnPrimedTNT(Vector3d(0.5, 0, 0.5) + Absolute, FuseTime, 1, false); + } + else if ((a_ExplodingEntity != nullptr) && + (a_ExplodingEntity->IsTNT() || BlockAlwaysDrops(DestroyedBlock) || Random.RandBool(1.f / a_Power) + )) // For TNT explosions, destroying a block that always drops, or if RandBool, drop pickups + { + const auto DestroyedMeta = a_Chunk.GetMeta(a_Position); + a_Chunk.GetWorld()->SpawnItemPickups( + cBlockHandler::For(DestroyedBlock).ConvertToPickups(DestroyedMeta), + Absolute + ); + } + else if (a_Fiery && Random.RandBool(1 / 3.0)) // 33% chance of starting fires if it can start fires + { + const auto Below = a_Position.addedY(-1); + if ((Below.y >= 0) && cBlockInfo::FullyOccupiesVoxel(a_Chunk.GetBlock(Below))) { - // Random fuse between 10 to 30 game ticks. - const int FuseTime = Random.RandInt(10, 30); - - // Activate the TNT, with initial velocity and no fuse sound: - World.SpawnPrimedTNT(Vector3d(0.5, 0, 0.5) + Absolute, FuseTime, 1, false); + // Start a fire: + SetBlock(World, a_Chunk, Absolute, a_Position, DestroyedBlock, E_BLOCK_FIRE, a_ExplodingEntity); + return; } - else if ((a_ExplodingEntity != nullptr) && (a_ExplodingEntity->IsTNT() || BlockAlwaysDrops(DestroyedBlock) || Random.RandBool(1.f / a_Power))) // For TNT explosions, destroying a block that always drops, or if RandBool, drop pickups + } + else if (const auto Shrapnel = World.GetTNTShrapnelLevel(); + (Shrapnel > slNone) && Random.RandBool(0)) // Currently 0% chance of flinging stuff around + { + // If the block is shrapnel-able, make a falling block entity out of it: + if (((Shrapnel == slAll) && cBlockInfo::FullyOccupiesVoxel(DestroyedBlock)) || + ((Shrapnel == slGravityAffectedOnly) && cSandSimulator::IsAllowedBlock(DestroyedBlock))) { const auto DestroyedMeta = a_Chunk.GetMeta(a_Position); - a_Chunk.GetWorld()->SpawnItemPickups(cBlockHandler::For(DestroyedBlock).ConvertToPickups(DestroyedMeta), Absolute); + auto FallingBlock = + std::make_unique(Vector3d(0.5, 0, 0.5) + Absolute, DestroyedBlock, DestroyedMeta); + // TODO: correct velocity FallingBlock->SetSpeedY(40); + FallingBlock->Initialize(std::move(FallingBlock), World); } - else if (a_Fiery && Random.RandBool(1 / 3.0)) // 33% chance of starting fires if it can start fires - { - const auto Below = a_Position.addedY(-1); - if ((Below.y >= 0) && cBlockInfo::FullyOccupiesVoxel(a_Chunk.GetBlock(Below))) - { - // Start a fire: - SetBlock(World, a_Chunk, Absolute, a_Position, DestroyedBlock, E_BLOCK_FIRE, a_ExplodingEntity); - return; - } - } - else if (const auto Shrapnel = World.GetTNTShrapnelLevel(); (Shrapnel > slNone) && Random.RandBool(0)) // Currently 0% chance of flinging stuff around - { - // If the block is shrapnel-able, make a falling block entity out of it: - if ( - ((Shrapnel == slAll) && cBlockInfo::FullyOccupiesVoxel(DestroyedBlock)) || - ((Shrapnel == slGravityAffectedOnly) && cSandSimulator::IsAllowedBlock(DestroyedBlock)) - ) - { - const auto DestroyedMeta = a_Chunk.GetMeta(a_Position); - auto FallingBlock = std::make_unique(Vector3d(0.5, 0, 0.5) + Absolute, DestroyedBlock, DestroyedMeta); - // TODO: correct velocity FallingBlock->SetSpeedY(40); - FallingBlock->Initialize(std::move(FallingBlock), World); - } - } - - SetBlock(World, a_Chunk, Absolute, a_Position, DestroyedBlock, E_BLOCK_AIR, a_ExplodingEntity); } - /** Traces the path taken by one Explosion Lazor (tm) with given direction and intensity, that will destroy blocks until it is exhausted. */ - static void DestructionTrace(cChunk * a_Chunk, Vector3f a_Origin, const Vector3f a_Direction, const int a_Power, const bool a_Fiery, float a_Intensity, const cEntity * const a_ExplodingEntity) - { - // The current position the ray is at. - auto Checkpoint = a_Origin; + SetBlock(World, a_Chunk, Absolute, a_Position, DestroyedBlock, E_BLOCK_AIR, a_ExplodingEntity); +} - // The displacement that the ray in one iteration step should travel. - const auto Step = a_Direction.NormalizeCopy() * StepUnit; +/** Traces the path taken by one Explosion Lazor (tm) with given direction and intensity, that will destroy blocks until + * it is exhausted. */ +static void DestructionTrace( + cChunk * a_Chunk, + Vector3f a_Origin, + const Vector3f a_Direction, + const int a_Power, + const bool a_Fiery, + float a_Intensity, + const cEntity * const a_ExplodingEntity +) +{ + // The current position the ray is at. + auto Checkpoint = a_Origin; + + // The displacement that the ray in one iteration step should travel. + const auto Step = a_Direction.NormalizeCopy() * StepUnit; - // Loop until intensity runs out: - while (a_Intensity > 0) + // Loop until intensity runs out: + while (a_Intensity > 0) + { + auto Position = Checkpoint.Floor(); + if (!cChunkDef::IsValidHeight(Position)) { - auto Position = Checkpoint.Floor(); - if (!cChunkDef::IsValidHeight(Position)) - { - break; - } + break; + } - const auto Neighbour = a_Chunk->GetRelNeighborChunkAdjustCoords(Position); - if ((Neighbour == nullptr) || !Neighbour->IsValid()) - { - break; - } + const auto Neighbour = a_Chunk->GetRelNeighborChunkAdjustCoords(Position); + if ((Neighbour == nullptr) || !Neighbour->IsValid()) + { + break; + } - a_Intensity -= GetExplosionAbsorption(Neighbour->GetBlock(Position)); - if (a_Intensity <= 0) - { - // The ray is exhausted: - break; - } + a_Intensity -= GetExplosionAbsorption(Neighbour->GetBlock(Position)); + if (a_Intensity <= 0) + { + // The ray is exhausted: + break; + } - DestroyBlock(*Neighbour, Position, a_Power, a_Fiery, a_ExplodingEntity); + DestroyBlock(*Neighbour, Position, a_Power, a_Fiery, a_ExplodingEntity); - // Adjust coordinates to be relative to the neighbour chunk: - Checkpoint = RebaseRelativePosition(a_Chunk->GetPos(), Neighbour->GetPos(), Checkpoint); - a_Origin = RebaseRelativePosition(a_Chunk->GetPos(), Neighbour->GetPos(), a_Origin); - a_Chunk = Neighbour; + // Adjust coordinates to be relative to the neighbour chunk: + Checkpoint = RebaseRelativePosition(a_Chunk->GetPos(), Neighbour->GetPos(), Checkpoint); + a_Origin = RebaseRelativePosition(a_Chunk->GetPos(), Neighbour->GetPos(), a_Origin); + a_Chunk = Neighbour; - // Increment the simulation, weaken the ray: - Checkpoint += Step; - a_Intensity -= StepAttenuation; - } - } - - /** Returns a random intensity for an Explosion Lazor (tm) as a function of the explosion's power. */ - static float RandomIntensity(MTRand & a_Random, const int a_Power) - { - return a_Power * (0.7f + a_Random.RandReal(0.6f)); + // Increment the simulation, weaken the ray: + Checkpoint += Step; + a_Intensity -= StepAttenuation; } +} - /** Sends out Explosion Lazors (tm) originating from the given position that destroy blocks. */ - static void DamageBlocks(cChunk & a_Chunk, const Vector3f a_Position, const int a_Power, const bool a_Fiery, const cEntity * const a_ExplodingEntity) - { - // Oh boy... Better hope you have a hot cache, 'cos this little manoeuvre's gonna cost us 1352 raytraces in one tick... - const int HalfSide = TraceCubeSideLength / 2; - auto & Random = GetRandomProvider(); +/** Returns a random intensity for an Explosion Lazor (tm) as a function of the explosion's power. */ +static float RandomIntensity(MTRand & a_Random, const int a_Power) +{ + return a_Power * (0.7f + a_Random.RandReal(0.6f)); +} - // The following loops implement the tracing algorithm described in http://minecraft.wiki/w/Explosion +/** Sends out Explosion Lazors (tm) originating from the given position that destroy blocks. */ +static void DamageBlocks( + cChunk & a_Chunk, + const Vector3f a_Position, + const int a_Power, + const bool a_Fiery, + const cEntity * const a_ExplodingEntity +) +{ + // Oh boy... Better hope you have a hot cache, 'cos this little manoeuvre's gonna cost us 1352 raytraces in one + // tick... + const int HalfSide = TraceCubeSideLength / 2; + auto & Random = GetRandomProvider(); - // Trace rays from the explosion centre to all points in a square of area TraceCubeSideLength * TraceCubeSideLength - // for the top and bottom sides: - for (float OffsetX = -HalfSide; OffsetX < HalfSide; OffsetX++) - { - for (float OffsetZ = -HalfSide; OffsetZ < HalfSide; OffsetZ++) - { - DestructionTrace(&a_Chunk, a_Position, Vector3f(OffsetX, +HalfSide, OffsetZ), a_Power, a_Fiery, RandomIntensity(Random, a_Power), a_ExplodingEntity); - DestructionTrace(&a_Chunk, a_Position, Vector3f(OffsetX, -HalfSide, OffsetZ), a_Power, a_Fiery, RandomIntensity(Random, a_Power), a_ExplodingEntity); - } - } + // The following loops implement the tracing algorithm described in http://minecraft.wiki/w/Explosion - // Left and right sides, avoid duplicates at top and bottom edges: - for (float OffsetX = -HalfSide; OffsetX < HalfSide; OffsetX++) + // Trace rays from the explosion centre to all points in a square of area TraceCubeSideLength * TraceCubeSideLength + // for the top and bottom sides: + for (float OffsetX = -HalfSide; OffsetX < HalfSide; OffsetX++) + { + for (float OffsetZ = -HalfSide; OffsetZ < HalfSide; OffsetZ++) { - for (float OffsetY = -HalfSide + 1; OffsetY < HalfSide - 1; OffsetY++) - { - DestructionTrace(&a_Chunk, a_Position, Vector3f(OffsetX, OffsetY, +HalfSide), a_Power, a_Fiery, RandomIntensity(Random, a_Power), a_ExplodingEntity); - DestructionTrace(&a_Chunk, a_Position, Vector3f(OffsetX, OffsetY, -HalfSide), a_Power, a_Fiery, RandomIntensity(Random, a_Power), a_ExplodingEntity); - } + DestructionTrace( + &a_Chunk, + a_Position, + Vector3f(OffsetX, +HalfSide, OffsetZ), + a_Power, + a_Fiery, + RandomIntensity(Random, a_Power), + a_ExplodingEntity + ); + DestructionTrace( + &a_Chunk, + a_Position, + Vector3f(OffsetX, -HalfSide, OffsetZ), + a_Power, + a_Fiery, + RandomIntensity(Random, a_Power), + a_ExplodingEntity + ); } + } - // Front and back sides, avoid all edges: - for (float OffsetZ = -HalfSide + 1; OffsetZ < HalfSide - 1; OffsetZ++) + // Left and right sides, avoid duplicates at top and bottom edges: + for (float OffsetX = -HalfSide; OffsetX < HalfSide; OffsetX++) + { + for (float OffsetY = -HalfSide + 1; OffsetY < HalfSide - 1; OffsetY++) { - for (float OffsetY = -HalfSide + 1; OffsetY < HalfSide - 1; OffsetY++) - { - DestructionTrace(&a_Chunk, a_Position, Vector3f(+HalfSide, OffsetY, OffsetZ), a_Power, a_Fiery, RandomIntensity(Random, a_Power), a_ExplodingEntity); - DestructionTrace(&a_Chunk, a_Position, Vector3f(-HalfSide, OffsetY, OffsetZ), a_Power, a_Fiery, RandomIntensity(Random, a_Power), a_ExplodingEntity); - } + DestructionTrace( + &a_Chunk, + a_Position, + Vector3f(OffsetX, OffsetY, +HalfSide), + a_Power, + a_Fiery, + RandomIntensity(Random, a_Power), + a_ExplodingEntity + ); + DestructionTrace( + &a_Chunk, + a_Position, + Vector3f(OffsetX, OffsetY, -HalfSide), + a_Power, + a_Fiery, + RandomIntensity(Random, a_Power), + a_ExplodingEntity + ); } } - /** Sends an explosion packet to all clients in the given chunk. */ - static void LagTheClient(cChunk & a_Chunk, const Vector3f a_Position, const int a_Power) + // Front and back sides, avoid all edges: + for (float OffsetZ = -HalfSide + 1; OffsetZ < HalfSide - 1; OffsetZ++) { - for (const auto Client : a_Chunk.GetAllClients()) + for (float OffsetY = -HalfSide + 1; OffsetY < HalfSide - 1; OffsetY++) { - Client->SendExplosion(a_Position, static_cast(a_Power)); + DestructionTrace( + &a_Chunk, + a_Position, + Vector3f(+HalfSide, OffsetY, OffsetZ), + a_Power, + a_Fiery, + RandomIntensity(Random, a_Power), + a_ExplodingEntity + ); + DestructionTrace( + &a_Chunk, + a_Position, + Vector3f(-HalfSide, OffsetY, OffsetZ), + a_Power, + a_Fiery, + RandomIntensity(Random, a_Power), + a_ExplodingEntity + ); } } +} - void Kaboom(cWorld & a_World, const Vector3f a_Position, const int a_Power, const bool a_Fiery, const cEntity * const a_ExplodingEntity) +/** Sends an explosion packet to all clients in the given chunk. */ +static void LagTheClient(cChunk & a_Chunk, const Vector3f a_Position, const int a_Power) +{ + for (const auto Client : a_Chunk.GetAllClients()) { - a_World.DoWithChunkAt(a_Position.Floor(), [a_Position, a_Power, a_Fiery, a_ExplodingEntity](cChunk & a_Chunk) + Client->SendExplosion(a_Position, static_cast(a_Power)); + } +} + +void Kaboom( + cWorld & a_World, + const Vector3f a_Position, + const int a_Power, + const bool a_Fiery, + const cEntity * const a_ExplodingEntity +) +{ + a_World.DoWithChunkAt( + a_Position.Floor(), + [a_Position, a_Power, a_Fiery, a_ExplodingEntity](cChunk & a_Chunk) { LagTheClient(a_Chunk, a_Position, a_Power); DamageEntities(a_Chunk, a_Position, a_Power); - DamageBlocks(a_Chunk, AbsoluteToRelative(a_Position, a_Chunk.GetPos()), a_Power, a_Fiery, a_ExplodingEntity); + DamageBlocks( + a_Chunk, + AbsoluteToRelative(a_Position, a_Chunk.GetPos()), + a_Power, + a_Fiery, + a_ExplodingEntity + ); return false; - }); - } + } + ); } +} // namespace Explodinator diff --git a/src/Physics/Explodinator.h b/src/Physics/Explodinator.h index e3beeadd0..b505a476f 100644 --- a/src/Physics/Explodinator.h +++ b/src/Physics/Explodinator.h @@ -13,9 +13,9 @@ class cWorld; namespace Explodinator { - /** Creates an explosion of Power, centred at Position, with ability to set fires as provided. - For maximum efficiency, Position should be in the centre of the entity or block that exploded. - The entity pointer is used to trigger OnBreak for the destroyed blocks. - Kaboom indeed, you drunken wretch. */ - void Kaboom(cWorld & World, Vector3f Position, int Power, bool Fiery, const cEntity * a_ExplodingEntity); -} +/** Creates an explosion of Power, centred at Position, with ability to set fires as provided. +For maximum efficiency, Position should be in the centre of the entity or block that exploded. +The entity pointer is used to trigger OnBreak for the destroyed blocks. +Kaboom indeed, you drunken wretch. */ +void Kaboom(cWorld & World, Vector3f Position, int Power, bool Fiery, const cEntity * a_ExplodingEntity); +} // namespace Explodinator diff --git a/src/ProbabDistrib.cpp b/src/ProbabDistrib.cpp index 07981d031..87bdfd8dc 100644 --- a/src/ProbabDistrib.cpp +++ b/src/ProbabDistrib.cpp @@ -11,8 +11,7 @@ cProbabDistrib::cProbabDistrib(int a_MaxValue) : - m_MaxValue(a_MaxValue), - m_Sum(-1) + m_MaxValue(a_MaxValue), m_Sum(-1) { } @@ -75,11 +74,8 @@ bool cProbabDistrib::SetDefString(const AString & a_DefString) return false; } int Value = atoi(Split[0].c_str()); - int Prob = atoi(Split[1].c_str()); - if ( - ((Value == 0) && (Split[0] != "0")) || - ((Prob == 0) && (Split[1] != "0")) - ) + int Prob = atoi(Split[1].c_str()); + if (((Value == 0) && (Split[0] != "0")) || ((Prob == 0) && (Split[1] != "0"))) { // Number parse error return false; @@ -128,12 +124,8 @@ int cProbabDistrib::MapValue(int a_OrigValue) const ASSERT(Hi - Lo == 1); // Linearly interpolate between Lo and Hi: - int ProbDif = m_Cumulative[Hi].m_Probability - m_Cumulative[Lo].m_Probability; + int ProbDif = m_Cumulative[Hi].m_Probability - m_Cumulative[Lo].m_Probability; ProbDif = (ProbDif != 0) ? ProbDif : 1; int ValueDif = m_Cumulative[Hi].m_Value - m_Cumulative[Lo].m_Value; return m_Cumulative[Lo].m_Value + (a_OrigValue - m_Cumulative[Lo].m_Probability) * ValueDif / ProbDif; } - - - - diff --git a/src/ProbabDistrib.h b/src/ProbabDistrib.h index a051c29d3..d0611e6d3 100644 --- a/src/ProbabDistrib.h +++ b/src/ProbabDistrib.h @@ -28,26 +28,26 @@ Usage: class cProbabDistrib { -public: + public: class cPoint { - public: + public: int m_Value; int m_Probability; cPoint(int a_Value, int a_Probability) : - m_Value(a_Value), - m_Probability(a_Probability) + m_Value(a_Value), m_Probability(a_Probability) { } - } ; + }; typedef std::vector cPoints; cProbabDistrib(int a_MaxValue); - /** Sets the distribution curve using an array of [value, probability] points, linearly interpolated. a_Points must not be empty. */ + /** Sets the distribution curve using an array of [value, probability] points, linearly interpolated. a_Points must + * not be empty. */ void SetPoints(const cPoints & a_Points); /** Sets the distribution curve using a definition string; returns true on successful parse */ @@ -61,8 +61,7 @@ public: int GetSum(void) const { return m_Sum; } -protected: - + protected: int m_MaxValue; /** Cumulative probability of the values, sorted, for fast bsearch lookup */ @@ -70,8 +69,4 @@ protected: /** Sum of all the probabilities across all values in the domain; -1 if not set */ int m_Sum; -} ; - - - - +}; diff --git a/src/Protocol/Authenticator.cpp b/src/Protocol/Authenticator.cpp index 41eac82d3..2aaf6fded 100644 --- a/src/Protocol/Authenticator.cpp +++ b/src/Protocol/Authenticator.cpp @@ -18,7 +18,7 @@ -constexpr char DEFAULT_AUTH_SERVER[] = "sessionserver.mojang.com"; +constexpr char DEFAULT_AUTH_SERVER[] = "sessionserver.mojang.com"; constexpr char DEFAULT_AUTH_ADDRESS[] = "/session/minecraft/hasJoined?username=%USERNAME%&serverId=%SERVERID%"; @@ -26,10 +26,7 @@ constexpr char DEFAULT_AUTH_ADDRESS[] = "/session/minecraft/hasJoined?username=% cAuthenticator::cAuthenticator(void) : - Super("Authenticator"), - m_Server(DEFAULT_AUTH_SERVER), - m_Address(DEFAULT_AUTH_ADDRESS), - m_ShouldAuthenticate(true) + Super("Authenticator"), m_Server(DEFAULT_AUTH_SERVER), m_Address(DEFAULT_AUTH_ADDRESS), m_ShouldAuthenticate(true) { } @@ -48,18 +45,16 @@ cAuthenticator::~cAuthenticator() void cAuthenticator::ReadSettings(cSettingsRepositoryInterface & a_Settings) { - m_Server = a_Settings.GetValueSet ("Authentication", "Server", DEFAULT_AUTH_SERVER); - m_Address = a_Settings.GetValueSet ("Authentication", "Address", DEFAULT_AUTH_ADDRESS); + m_Server = a_Settings.GetValueSet("Authentication", "Server", DEFAULT_AUTH_SERVER); + m_Address = a_Settings.GetValueSet("Authentication", "Address", DEFAULT_AUTH_ADDRESS); m_ShouldAuthenticate = a_Settings.GetValueSetB("Authentication", "Authenticate", true); // prepend https:// if missing constexpr std::string_view HttpPrefix = "http://"; constexpr std::string_view HttpsPrefix = "https://"; - if ( - (std::string_view(m_Server).substr(0, HttpPrefix.size()) != HttpPrefix) && - (std::string_view(m_Server).substr(0, HttpsPrefix.size()) != HttpsPrefix) - ) + if ((std::string_view(m_Server).substr(0, HttpPrefix.size()) != HttpPrefix) && + (std::string_view(m_Server).substr(0, HttpsPrefix.size()) != HttpsPrefix)) { m_Server = "https://" + m_Server; } @@ -68,7 +63,14 @@ void cAuthenticator::ReadSettings(cSettingsRepositoryInterface & a_Settings) auto [IsSuccessful, ErrorMessage] = cUrlParser::Validate(m_Server); if (!IsSuccessful) { - LOGWARNING("%s %d: Supplied invalid URL for configuration value [Authentication: Server]: \"%s\", using default! Error: %s", __FUNCTION__, __LINE__, m_Server.c_str(), ErrorMessage.c_str()); + LOGWARNING( + "%s %d: Supplied invalid URL for configuration value [Authentication: Server]: \"%s\", using default! " + "Error: %s", + __FUNCTION__, + __LINE__, + m_Server.c_str(), + ErrorMessage.c_str() + ); m_Server = DEFAULT_AUTH_SERVER; } } @@ -77,7 +79,14 @@ void cAuthenticator::ReadSettings(cSettingsRepositoryInterface & a_Settings) auto [IsSuccessful, ErrorMessage] = cUrlParser::Validate(m_Server); if (!IsSuccessful) { - LOGWARNING("%s %d: Supplied invalid URL for configuration value [Authentication: Address]: \"%s\", using default! Error: %s", __FUNCTION__, __LINE__, m_Address.c_str(), ErrorMessage.c_str()); + LOGWARNING( + "%s %d: Supplied invalid URL for configuration value [Authentication: Address]: \"%s\", using default! " + "Error: %s", + __FUNCTION__, + __LINE__, + m_Address.c_str(), + ErrorMessage.c_str() + ); m_Address = DEFAULT_AUTH_ADDRESS; } } @@ -87,7 +96,11 @@ void cAuthenticator::ReadSettings(cSettingsRepositoryInterface & a_Settings) -void cAuthenticator::Authenticate(int a_ClientID, const std::string_view a_Username, const std::string_view a_ServerHash) +void cAuthenticator::Authenticate( + int a_ClientID, + const std::string_view a_Username, + const std::string_view a_ServerHash +) { if (!m_ShouldAuthenticate) { @@ -173,7 +186,12 @@ void cAuthenticator::Execute(void) -bool cAuthenticator::AuthWithYggdrasil(AString & a_UserName, const AString & a_ServerId, cUUID & a_UUID, Json::Value & a_Properties) const +bool cAuthenticator::AuthWithYggdrasil( + AString & a_UserName, + const AString & a_ServerId, + cUUID & a_UUID, + Json::Value & a_Properties +) const { LOGD("Trying to authenticate user %s", a_UserName.c_str()); @@ -218,7 +236,8 @@ bool cAuthenticator::AuthWithYggdrasil(AString & a_UserName, const AString & a_S #ifdef ENABLE_PROPERTIES -/* In case we want to export this function to the plugin API later - don't forget to add the relevant INI configuration lines for DEFAULT_PROPERTIES_ADDRESS */ +/* In case we want to export this function to the plugin API later - don't forget to add the relevant INI configuration + * lines for DEFAULT_PROPERTIES_ADDRESS */ #define DEFAULT_PROPERTIES_ADDRESS "/session/minecraft/profile/%UUID%" @@ -254,7 +273,3 @@ bool cAuthenticator::GetPlayerProperties(const AString & a_UUID, Json::Value & a return true; } #endif - - - - diff --git a/src/Protocol/Authenticator.h b/src/Protocol/Authenticator.h index 1987de8b3..c1e3967c6 100644 --- a/src/Protocol/Authenticator.h +++ b/src/Protocol/Authenticator.h @@ -1,10 +1,10 @@ // cAuthenticator.h -// Interfaces to the cAuthenticator class representing the thread that authenticates users against the official Mojang servers -// Authentication prevents "hackers" from joining with an arbitrary username (possibly impersonating the server admins) -// For more info, see http://wiki.vg/Session -// In Cuberite, authentication is implemented as a single thread that receives queued auth requests and dispatches them one by one. +// Interfaces to the cAuthenticator class representing the thread that authenticates users against the official Mojang +// servers Authentication prevents "hackers" from joining with an arbitrary username (possibly impersonating the server +// admins) For more info, see http://wiki.vg/Session In Cuberite, authentication is implemented as a single thread that +// receives queued auth requests and dispatches them one by one. @@ -20,20 +20,18 @@ class cSettingsRepositoryInterface; namespace Json { - class Value; +class Value; } -class cAuthenticator: - public cIsThread +class cAuthenticator : public cIsThread { using Super = cIsThread; -public: - + public: cAuthenticator(); virtual ~cAuthenticator() override; @@ -49,19 +47,16 @@ public: /** Stops the authenticator thread. The thread may be started and stopped repeatedly */ void Stop(void); -private: - + private: class cUser { - public: - int m_ClientID; + public: + int m_ClientID; AString m_Name; AString m_ServerID; cUser(int a_ClientID, const std::string_view a_Name, const std::string_view a_ServerID) : - m_ClientID(a_ClientID), - m_Name(a_Name), - m_ServerID(a_ServerID) + m_ClientID(a_ClientID), m_Name(a_Name), m_ServerID(a_ServerID) { } }; @@ -69,8 +64,8 @@ private: using cUserList = std::deque; cCriticalSection m_CS; - cUserList m_Queue; - cEvent m_QueueNonempty; + cUserList m_Queue; + cEvent m_QueueNonempty; /** The server that is to be contacted for auth / UUID conversions */ AString m_Server; @@ -82,16 +77,13 @@ private: AString m_Address; AString m_PropertiesAddress; - bool m_ShouldAuthenticate; + bool m_ShouldAuthenticate; /** cIsThread override: */ virtual void Execute(void) override; /** Returns true if the user authenticated okay, false on error Returns the case-corrected username, UUID, and properties (eg. skin). */ - bool AuthWithYggdrasil(AString & a_UserName, const AString & a_ServerId, cUUID & a_UUID, Json::Value & a_Properties) const; + bool AuthWithYggdrasil(AString & a_UserName, const AString & a_ServerId, cUUID & a_UUID, Json::Value & a_Properties) + const; }; - - - - diff --git a/src/Protocol/ChunkDataSerializer.cpp b/src/Protocol/ChunkDataSerializer.cpp index cfabc6e31..7095126bd 100644 --- a/src/Protocol/ChunkDataSerializer.cpp +++ b/src/Protocol/ChunkDataSerializer.cpp @@ -16,40 +16,39 @@ namespace { - std::pair GetSectionBitmask(const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData) - { - size_t Present = 0; - UInt16 Mask = 0; +std::pair GetSectionBitmask(const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData) +{ + size_t Present = 0; + UInt16 Mask = 0; - ChunkDef_ForEachSection(a_BlockData, a_LightData, - { - Present++; - Mask |= (1 << Y); - }); + ChunkDef_ForEachSection(a_BlockData, a_LightData, { + Present++; + Mask |= (1 << Y); + }); - return { Mask, Present }; - } + return {Mask, Present}; +} - auto PaletteLegacy(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) - { - return (a_BlockType << 4) | a_Meta; - } +auto PaletteLegacy(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) +{ + return (a_BlockType << 4) | a_Meta; +} - auto Palette393(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) - { - return Palette_1_13::From(PaletteUpgrade::FromBlock(a_BlockType, a_Meta)); - } +auto Palette393(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) +{ + return Palette_1_13::From(PaletteUpgrade::FromBlock(a_BlockType, a_Meta)); +} - auto Palette401(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) - { - return Palette_1_13_1::From(PaletteUpgrade::FromBlock(a_BlockType, a_Meta)); - } +auto Palette401(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) +{ + return Palette_1_13_1::From(PaletteUpgrade::FromBlock(a_BlockType, a_Meta)); +} - auto Palette477(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) - { - return Palette_1_14::From(PaletteUpgrade::FromBlock(a_BlockType, a_Meta)); - } +auto Palette477(const BLOCKTYPE a_BlockType, const NIBBLETYPE a_Meta) +{ + return Palette_1_14::From(PaletteUpgrade::FromBlock(a_BlockType, a_Meta)); } +} // namespace @@ -59,8 +58,7 @@ namespace // cChunkDataSerializer: cChunkDataSerializer::cChunkDataSerializer(const eDimension a_Dimension) : - m_Packet(512 KiB), - m_Dimension(a_Dimension) + m_Packet(512 KiB), m_Dimension(a_Dimension) { } @@ -68,7 +66,14 @@ cChunkDataSerializer::cChunkDataSerializer(const eDimension a_Dimension) : -void cChunkDataSerializer::SendToClients(const int a_ChunkX, const int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap, const ClientHandles & a_SendTo) +void cChunkDataSerializer::SendToClients( + const int a_ChunkX, + const int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap, + const ClientHandles & a_SendTo +) { for (const auto & Client : a_SendTo) { @@ -99,7 +104,15 @@ void cChunkDataSerializer::SendToClients(const int a_ChunkX, const int a_ChunkZ, } case cProtocol::Version::v1_13: { - Serialize(Client, a_ChunkX, a_ChunkZ, a_BlockData, a_LightData, a_BiomeMap, CacheVersion::v393); // This version didn't last very long xD + Serialize( + Client, + a_ChunkX, + a_ChunkZ, + a_BlockData, + a_LightData, + a_BiomeMap, + CacheVersion::v393 + ); // This version didn't last very long xD continue; } case cProtocol::Version::v1_13_1: @@ -132,7 +145,15 @@ void cChunkDataSerializer::SendToClients(const int a_ChunkX, const int a_ChunkZ, -inline void cChunkDataSerializer::Serialize(const ClientHandles::value_type & a_Client, const int a_ChunkX, const int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap, const CacheVersion a_CacheVersion) +inline void cChunkDataSerializer::Serialize( + const ClientHandles::value_type & a_Client, + const int a_ChunkX, + const int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap, + const CacheVersion a_CacheVersion +) { auto & Cache = m_Cache[static_cast(a_CacheVersion)]; if (Cache.Engaged) @@ -185,7 +206,13 @@ inline void cChunkDataSerializer::Serialize(const ClientHandles::value_type & a_ -inline void cChunkDataSerializer::Serialize47(const int a_ChunkX, const int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap) +inline void cChunkDataSerializer::Serialize47( + const int a_ChunkX, + const int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap +) { // This function returns the fully compressed packet (including packet size), not the raw packet! @@ -195,7 +222,7 @@ inline void cChunkDataSerializer::Serialize47(const int a_ChunkX, const int a_Ch m_Packet.WriteVarInt32(0x21); // Packet id (Chunk Data packet) m_Packet.WriteBEInt32(a_ChunkX); m_Packet.WriteBEInt32(a_ChunkZ); - m_Packet.WriteBool(true); // "Ground-up continuous", or rather, "biome data present" flag + m_Packet.WriteBool(true); // "Ground-up continuous", or rather, "biome data present" flag // Minecraft 1.8 does not like completely empty packets // Send one completely empty chunk section if this is the case @@ -204,18 +231,18 @@ inline void cChunkDataSerializer::Serialize47(const int a_ChunkX, const int a_Ch // Write the chunk size: // Account for the single empty section if sending an empty chunk const int BiomeDataSize = cChunkDef::Width * cChunkDef::Width; - const size_t ChunkSize = ( - (Bitmask.second ? Bitmask.second : 1) * (ChunkBlockData::SectionBlockCount * 2 + ChunkLightData::SectionLightCount * 2) + // Blocks and lighting - BiomeDataSize // Biome data - ); + const size_t ChunkSize = + ((Bitmask.second ? Bitmask.second : 1) * + (ChunkBlockData::SectionBlockCount * 2 + ChunkLightData::SectionLightCount * 2) + // Blocks and lighting + BiomeDataSize // Biome data + ); m_Packet.WriteVarInt32(static_cast(ChunkSize)); // Chunk written as seperate arrays of (blocktype + meta), blocklight and skylight // each array stores all present sections of the same kind packed together // Write the block types to the packet: - ChunkDef_ForEachSection(a_BlockData, a_LightData, - { + ChunkDef_ForEachSection(a_BlockData, a_LightData, { const bool BlocksExist = Blocks != nullptr; const bool MetasExist = Metas != nullptr; @@ -229,8 +256,7 @@ inline void cChunkDataSerializer::Serialize47(const int a_ChunkX, const int a_Ch }); // Write the block lights: - ChunkDef_ForEachSection(a_BlockData, a_LightData, - { + ChunkDef_ForEachSection(a_BlockData, a_LightData, { if (BlockLights == nullptr) { m_Packet.WriteBuf(ChunkLightData::SectionLightCount, ChunkLightData::DefaultBlockLightValue); @@ -242,8 +268,7 @@ inline void cChunkDataSerializer::Serialize47(const int a_ChunkX, const int a_Ch }); // Write the sky lights: - ChunkDef_ForEachSection(a_BlockData, a_LightData, - { + ChunkDef_ForEachSection(a_BlockData, a_LightData, { if (SkyLights == nullptr) { m_Packet.WriteBuf(ChunkLightData::SectionLightCount, ChunkLightData::DefaultSkyLightValue); @@ -275,13 +300,20 @@ inline void cChunkDataSerializer::Serialize47(const int a_ChunkX, const int a_Ch -inline void cChunkDataSerializer::Serialize107(const int a_ChunkX, const int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap) +inline void cChunkDataSerializer::Serialize107( + const int a_ChunkX, + const int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap +) { // This function returns the fully compressed packet (including packet size), not the raw packet! // Below variables tagged static because of https://developercommunity.visualstudio.com/content/problem/367326 static constexpr UInt8 BitsPerEntry = 13; - static constexpr size_t ChunkSectionDataArraySize = (ChunkBlockData::SectionBlockCount * BitsPerEntry) / 8 / 8; // Convert from bit count to long count + static constexpr size_t ChunkSectionDataArraySize = + (ChunkBlockData::SectionBlockCount * BitsPerEntry) / 8 / 8; // Convert from bit count to long count const auto Bitmask = GetSectionBitmask(a_BlockData, a_LightData); @@ -289,16 +321,16 @@ inline void cChunkDataSerializer::Serialize107(const int a_ChunkX, const int a_C m_Packet.WriteVarInt32(0x20); // Packet id (Chunk Data packet) m_Packet.WriteBEInt32(a_ChunkX); m_Packet.WriteBEInt32(a_ChunkZ); - m_Packet.WriteBool(true); // "Ground-up continuous", or rather, "biome data present" flag + m_Packet.WriteBool(true); // "Ground-up continuous", or rather, "biome data present" flag m_Packet.WriteVarInt32(Bitmask.first); - size_t ChunkSectionSize = ( - 1 + // Bits per block - set to 13, so the global palette is used and the palette has a length of 0 - 1 + // Palette length - 2 + // Data array length VarInt - 2 bytes for the current value - ChunkSectionDataArraySize * 8 + // Actual block data - multiplied by 8 because first number is longs - ChunkLightData::SectionLightCount // Block light - ); + size_t ChunkSectionSize = + (1 + // Bits per block - set to 13, so the global palette is used and the palette has a length of 0 + 1 + // Palette length + 2 + // Data array length VarInt - 2 bytes for the current value + ChunkSectionDataArraySize * 8 + // Actual block data - multiplied by 8 because first number is longs + ChunkLightData::SectionLightCount // Block light + ); if (m_Dimension == dimOverworld) { @@ -307,17 +339,13 @@ inline void cChunkDataSerializer::Serialize107(const int a_ChunkX, const int a_C } const size_t BiomeDataSize = cChunkDef::Width * cChunkDef::Width; - const size_t ChunkSize = ( - ChunkSectionSize * Bitmask.second + - BiomeDataSize - ); + const size_t ChunkSize = (ChunkSectionSize * Bitmask.second + BiomeDataSize); // Write the chunk size: m_Packet.WriteVarInt32(static_cast(ChunkSize)); // Write each chunk section... - ChunkDef_ForEachSection(a_BlockData, a_LightData, - { + ChunkDef_ForEachSection(a_BlockData, a_LightData, { m_Packet.WriteBEUInt8(BitsPerEntry); m_Packet.WriteVarInt32(0); // Palette length is 0 m_Packet.WriteVarInt32(static_cast(ChunkSectionDataArraySize)); @@ -333,13 +361,20 @@ inline void cChunkDataSerializer::Serialize107(const int a_ChunkX, const int a_C -inline void cChunkDataSerializer::Serialize110(const int a_ChunkX, const int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap) +inline void cChunkDataSerializer::Serialize110( + const int a_ChunkX, + const int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap +) { // This function returns the fully compressed packet (including packet size), not the raw packet! // Below variables tagged static because of https://developercommunity.visualstudio.com/content/problem/367326 static constexpr UInt8 BitsPerEntry = 13; - static constexpr size_t ChunkSectionDataArraySize = (ChunkBlockData::SectionBlockCount * BitsPerEntry) / 8 / 8; // Convert from bit count to long count + static constexpr size_t ChunkSectionDataArraySize = + (ChunkBlockData::SectionBlockCount * BitsPerEntry) / 8 / 8; // Convert from bit count to long count const auto Bitmask = GetSectionBitmask(a_BlockData, a_LightData); @@ -347,16 +382,16 @@ inline void cChunkDataSerializer::Serialize110(const int a_ChunkX, const int a_C m_Packet.WriteVarInt32(0x20); // Packet id (Chunk Data packet) m_Packet.WriteBEInt32(a_ChunkX); m_Packet.WriteBEInt32(a_ChunkZ); - m_Packet.WriteBool(true); // "Ground-up continuous", or rather, "biome data present" flag + m_Packet.WriteBool(true); // "Ground-up continuous", or rather, "biome data present" flag m_Packet.WriteVarInt32(Bitmask.first); - size_t ChunkSectionSize = ( - 1 + // Bits per block - set to 13, so the global palette is used and the palette has a length of 0 - 1 + // Palette length - 2 + // Data array length VarInt - 2 bytes for the current value - ChunkSectionDataArraySize * 8 + // Actual block data - multiplied by 8 because first number is longs - ChunkLightData::SectionLightCount // Block light - ); + size_t ChunkSectionSize = + (1 + // Bits per block - set to 13, so the global palette is used and the palette has a length of 0 + 1 + // Palette length + 2 + // Data array length VarInt - 2 bytes for the current value + ChunkSectionDataArraySize * 8 + // Actual block data - multiplied by 8 because first number is longs + ChunkLightData::SectionLightCount // Block light + ); if (m_Dimension == dimOverworld) { @@ -365,17 +400,13 @@ inline void cChunkDataSerializer::Serialize110(const int a_ChunkX, const int a_C } const size_t BiomeDataSize = cChunkDef::Width * cChunkDef::Width; - const size_t ChunkSize = ( - ChunkSectionSize * Bitmask.second + - BiomeDataSize - ); + const size_t ChunkSize = (ChunkSectionSize * Bitmask.second + BiomeDataSize); // Write the chunk size: m_Packet.WriteVarInt32(static_cast(ChunkSize)); // Write each chunk section... - ChunkDef_ForEachSection(a_BlockData, a_LightData, - { + ChunkDef_ForEachSection(a_BlockData, a_LightData, { m_Packet.WriteBEUInt8(BitsPerEntry); m_Packet.WriteVarInt32(0); // Palette length is 0 m_Packet.WriteVarInt32(static_cast(ChunkSectionDataArraySize)); @@ -395,7 +426,13 @@ inline void cChunkDataSerializer::Serialize110(const int a_ChunkX, const int a_C template -inline void cChunkDataSerializer::Serialize393(const int a_ChunkX, const int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap) +inline void cChunkDataSerializer::Serialize393( + const int a_ChunkX, + const int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap +) { // This function returns the fully compressed packet (including packet size), not the raw packet! // Below variables tagged static because of https://developercommunity.visualstudio.com/content/problem/367326 @@ -412,12 +449,13 @@ inline void cChunkDataSerializer::Serialize393(const int a_ChunkX, const int a_C m_Packet.WriteBool(true); // "Ground-up continuous", or rather, "biome data present" flag m_Packet.WriteVarInt32(Bitmask.first); - size_t ChunkSectionSize = ( - 1 + // Bits per entry, BEUInt8, 1 byte - m_Packet.GetVarIntSize(static_cast(ChunkSectionDataArraySize)) + // Field containing "size of whole section", VarInt32, variable size - ChunkSectionDataArraySize * 8 + // Actual section data, lots of bytes (multiplier 1 long = 8 bytes) - ChunkLightData::SectionLightCount // Size of blocklight which is always sent - ); + size_t ChunkSectionSize = + (1 + // Bits per entry, BEUInt8, 1 byte + m_Packet.GetVarIntSize(static_cast(ChunkSectionDataArraySize) + ) + // Field containing "size of whole section", VarInt32, variable size + ChunkSectionDataArraySize * 8 + // Actual section data, lots of bytes (multiplier 1 long = 8 bytes) + ChunkLightData::SectionLightCount // Size of blocklight which is always sent + ); if (m_Dimension == dimOverworld) { @@ -426,17 +464,15 @@ inline void cChunkDataSerializer::Serialize393(const int a_ChunkX, const int a_C } const size_t BiomeDataSize = cChunkDef::Width * cChunkDef::Width; - const size_t ChunkSize = ( - ChunkSectionSize * Bitmask.second + - BiomeDataSize * 4 // Biome data now BE ints - ); + const size_t ChunkSize = + (ChunkSectionSize * Bitmask.second + BiomeDataSize * 4 // Biome data now BE ints + ); // Write the chunk size in bytes: m_Packet.WriteVarInt32(static_cast(ChunkSize)); // Write each chunk section... - ChunkDef_ForEachSection(a_BlockData, a_LightData, - { + ChunkDef_ForEachSection(a_BlockData, a_LightData, { m_Packet.WriteBEUInt8(BitsPerEntry); m_Packet.WriteVarInt32(static_cast(ChunkSectionDataArraySize)); WriteBlockSectionSeamless(Blocks, Metas, BitsPerEntry); @@ -457,7 +493,13 @@ inline void cChunkDataSerializer::Serialize393(const int a_ChunkX, const int a_C -inline void cChunkDataSerializer::Serialize477(const int a_ChunkX, const int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap) +inline void cChunkDataSerializer::Serialize477( + const int a_ChunkX, + const int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap +) { // This function returns the fully compressed packet (including packet size), not the raw packet! // Below variables tagged static because of https://developercommunity.visualstudio.com/content/problem/367326 @@ -483,25 +525,24 @@ inline void cChunkDataSerializer::Serialize477(const int a_ChunkX, const int a_C m_Packet.Write(Writer.GetResult().data(), Writer.GetResult().size()); } - const size_t ChunkSectionSize = ( - 2 + // Block count, BEInt16, 2 bytes - 1 + // Bits per entry, BEUInt8, 1 byte - m_Packet.GetVarIntSize(static_cast(ChunkSectionDataArraySize)) + // Field containing "size of whole section", VarInt32, variable size - ChunkSectionDataArraySize * 8 // Actual section data, lots of bytes (multiplier 1 long = 8 bytes) - ); + const size_t ChunkSectionSize = + (2 + // Block count, BEInt16, 2 bytes + 1 + // Bits per entry, BEUInt8, 1 byte + m_Packet.GetVarIntSize(static_cast(ChunkSectionDataArraySize) + ) + // Field containing "size of whole section", VarInt32, variable size + ChunkSectionDataArraySize * 8 // Actual section data, lots of bytes (multiplier 1 long = 8 bytes) + ); const size_t BiomeDataSize = cChunkDef::Width * cChunkDef::Width; - const size_t ChunkSize = ( - ChunkSectionSize * Bitmask.second + - BiomeDataSize * 4 // Biome data now BE ints - ); + const size_t ChunkSize = + (ChunkSectionSize * Bitmask.second + BiomeDataSize * 4 // Biome data now BE ints + ); // Write the chunk size in bytes: m_Packet.WriteVarInt32(static_cast(ChunkSize)); // Write each chunk section... - ChunkDef_ForEachSection(a_BlockData, a_LightData, - { + ChunkDef_ForEachSection(a_BlockData, a_LightData, { m_Packet.WriteBEInt16(-1); m_Packet.WriteBEUInt8(BitsPerEntry); m_Packet.WriteVarInt32(static_cast(ChunkSectionDataArraySize)); @@ -523,7 +564,11 @@ inline void cChunkDataSerializer::Serialize477(const int a_ChunkX, const int a_C template -inline void cChunkDataSerializer::WriteBlockSectionSeamless(const ChunkBlockData::BlockArray * a_Blocks, const ChunkBlockData::MetaArray * a_Metas, const UInt8 a_BitsPerEntry) +inline void cChunkDataSerializer::WriteBlockSectionSeamless( + const ChunkBlockData::BlockArray * a_Blocks, + const ChunkBlockData::MetaArray * a_Metas, + const UInt8 a_BitsPerEntry +) { // https://wiki.vg/Chunk_Format#Data_structure @@ -572,7 +617,10 @@ inline void cChunkDataSerializer::WriteBlockSectionSeamless(const ChunkBlockData -inline void cChunkDataSerializer::WriteLightSectionGrouped(const ChunkLightData::LightArray * const a_BlockLights, const ChunkLightData::LightArray * const a_SkyLights) +inline void cChunkDataSerializer::WriteLightSectionGrouped( + const ChunkLightData::LightArray * const a_BlockLights, + const ChunkLightData::LightArray * const a_SkyLights +) { // Write lighting: if (a_BlockLights == nullptr) diff --git a/src/Protocol/ChunkDataSerializer.h b/src/Protocol/ChunkDataSerializer.h index d440098f6..191b001b0 100644 --- a/src/Protocol/ChunkDataSerializer.h +++ b/src/Protocol/ChunkDataSerializer.h @@ -43,34 +43,85 @@ class cChunkDataSerializer bool Engaged = false; }; -public: - + public: cChunkDataSerializer(eDimension a_Dimension); /** For each client, serializes the chunk into their protocol version and sends it. Parameters are the coordinates of the chunk to serialise, and the data and biome data read from the chunk. */ - void SendToClients(int a_ChunkX, int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap, const ClientHandles & a_SendTo); - -private: - + void SendToClients( + int a_ChunkX, + int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap, + const ClientHandles & a_SendTo + ); + + private: /** Serialises the given chunk, storing the result into the given cache entry, and sends the data. If the cache entry is already present, simply re-uses it. */ - inline void Serialize(const ClientHandles::value_type & a_Client, int a_ChunkX, int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap, CacheVersion a_CacheVersion); - - inline void Serialize47 (int a_ChunkX, int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap); // Release 1.8 - inline void Serialize107(int a_ChunkX, int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap); // Release 1.9 - inline void Serialize110(int a_ChunkX, int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap); // Release 1.9.4 + inline void Serialize( + const ClientHandles::value_type & a_Client, + int a_ChunkX, + int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap, + CacheVersion a_CacheVersion + ); + + inline void Serialize47( + int a_ChunkX, + int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap + ); // Release 1.8 + inline void Serialize107( + int a_ChunkX, + int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap + ); // Release 1.9 + inline void Serialize110( + int a_ChunkX, + int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap + ); // Release 1.9.4 template - inline void Serialize393(int a_ChunkX, int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap); // Release 1.13 - 1.13.2 - inline void Serialize477(int a_ChunkX, int a_ChunkZ, const ChunkBlockData & a_BlockData, const ChunkLightData & a_LightData, const unsigned char * a_BiomeMap); // Release 1.14 - 1.14.4 + inline void Serialize393( + int a_ChunkX, + int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap + ); // Release 1.13 - 1.13.2 + inline void Serialize477( + int a_ChunkX, + int a_ChunkZ, + const ChunkBlockData & a_BlockData, + const ChunkLightData & a_LightData, + const unsigned char * a_BiomeMap + ); // Release 1.14 - 1.14.4 /** Writes all blocks in a chunk section into a series of Int64. - Writes start from the bit directly subsequent to the previous write's end, possibly crossing over to the next Int64. */ + Writes start from the bit directly subsequent to the previous write's end, possibly crossing over to the next Int64. + */ template - inline void WriteBlockSectionSeamless(const ChunkBlockData::BlockArray * a_Blocks, const ChunkBlockData::MetaArray * a_Metas, UInt8 a_BitsPerEntry); + inline void WriteBlockSectionSeamless( + const ChunkBlockData::BlockArray * a_Blocks, + const ChunkBlockData::MetaArray * a_Metas, + UInt8 a_BitsPerEntry + ); /** Copies all lights in a chunk section into the packet, block light followed immediately by sky light. */ - inline void WriteLightSectionGrouped(const ChunkLightData::LightArray * a_BlockLights, const ChunkLightData::LightArray * a_SkyLights); + inline void WriteLightSectionGrouped( + const ChunkLightData::LightArray * a_BlockLights, + const ChunkLightData::LightArray * a_SkyLights + ); /** Finalises the data, compresses it if required, and stores it into cache. */ inline void CompressPacketInto(ChunkDataCache & a_Cache); @@ -87,4 +138,4 @@ private: /** A cache, mapping protocol version to a fully serialised chunk. It is used during a single invocation of SendToClients with more than one client. */ std::array(CacheVersion::Last) + 1> m_Cache; -} ; +}; diff --git a/src/Protocol/ForgeHandshake.cpp b/src/Protocol/ForgeHandshake.cpp index bf58acf9e..38162871c 100644 --- a/src/Protocol/ForgeHandshake.cpp +++ b/src/Protocol/ForgeHandshake.cpp @@ -16,37 +16,36 @@ /** Discriminator byte values prefixing the FML|HS packets to determine their type. */ namespace Discriminator { - static const Int8 ServerHello = 0; - static const Int8 ClientHello = 1; - static const Int8 ModList = 2; - static const Int8 RegistryData = 3; - // static const Int8 HandshakeReset = -2; - static const Int8 HandshakeAck = -1; -} +static const Int8 ServerHello = 0; +static const Int8 ClientHello = 1; +static const Int8 ModList = 2; +static const Int8 RegistryData = 3; +// static const Int8 HandshakeReset = -2; +static const Int8 HandshakeAck = -1; +} // namespace Discriminator /** Client handshake state phases. */ namespace ClientPhase { - static const Int8 WAITINGSERVERDATA = 2; - static const Int8 WAITINGSERVERCOMPLETE = 3; - static const Int8 PENDINGCOMPLETE = 4; - static const Int8 COMPLETE = 5; -} +static const Int8 WAITINGSERVERDATA = 2; +static const Int8 WAITINGSERVERCOMPLETE = 3; +static const Int8 PENDINGCOMPLETE = 4; +static const Int8 COMPLETE = 5; +} // namespace ClientPhase /** Server handshake state phases. */ namespace ServerPhase { - static const auto WAITINGCACK = std::byte(2); - static const auto COMPLETE = std::byte(3); -} +static const auto WAITINGCACK = std::byte(2); +static const auto COMPLETE = std::byte(3); +} // namespace ServerPhase cForgeHandshake::cForgeHandshake() : - IsForgeClient(false), - m_Errored(false) + IsForgeClient(false), m_Errored(false) { } @@ -80,7 +79,7 @@ void cForgeHandshake::AugmentServerListPing(cClientHandle & a_Client, Json::Valu Modinfo["type"] = "FML"; Json::Value ModList(Json::arrayValue); - for (auto & item: Mods) + for (auto & item : Mods) { Json::Value Mod; Mod["modid"] = item.first; @@ -100,11 +99,11 @@ void cForgeHandshake::BeginForgeHandshake(cClientHandle & a_Client) { ASSERT(IsForgeClient); - static const std::array Channels{{ "FML|HS", "FML", "FML|MP", "FML", "FORGE" }}; + static const std::array Channels {{"FML|HS", "FML", "FML|MP", "FML", "FORGE"}}; ContiguousByteBuffer ChannelsString; - for (auto & Channel: Channels) + for (auto & Channel : Channels) { - ChannelsString.append({ reinterpret_cast(Channel.data()), Channel.size() }); + ChannelsString.append({reinterpret_cast(Channel.data()), Channel.size()}); ChannelsString.push_back(std::byte(0)); } @@ -186,7 +185,10 @@ void cForgeHandshake::HandleClientHello(cClientHandle & a_Client, const Contiguo LOGD("Received ClientHello with FML protocol version %d", FmlProtocolVersion); if (FmlProtocolVersion != 2) { - SetError(fmt::format(FMT_STRING("Unsupported FML client protocol version received in ClientHello: {}"), FmlProtocolVersion)); + SetError(fmt::format( + FMT_STRING("Unsupported FML client protocol version received in ClientHello: {}"), + FmlProtocolVersion + )); } } else @@ -205,7 +207,7 @@ void cForgeHandshake::HandleModList(cClientHandle & a_Client, const ContiguousBy auto ClientMods = ParseModList(a_Data.substr(1)); AString ClientModsString; - for (auto & item: ClientMods) + for (auto & item : ClientMods) { ClientModsString.append(fmt::format(FMT_STRING("{}@{}, "), item.first, item.second)); } @@ -232,9 +234,9 @@ void cForgeHandshake::HandleModList(cClientHandle & a_Client, const ContiguousBy Buf.WriteBEInt8(Discriminator::ModList); Buf.WriteVarInt32(static_cast(ModCount)); - for (const auto & item: ServerMods) + for (const auto & item : ServerMods) { - Buf.WriteVarUTF8String(item.first); // name + Buf.WriteVarUTF8String(item.first); // name Buf.WriteVarUTF8String(item.second); // version } @@ -331,7 +333,9 @@ void cForgeHandshake::DataReceived(cClientHandle & a_Client, const ContiguousByt { if (!IsForgeClient) { - SetError(fmt::format(FMT_STRING("Received unexpected Forge data from non-Forge client ({} bytes)"), a_Data.size())); + SetError( + fmt::format(FMT_STRING("Received unexpected Forge data from non-Forge client ({} bytes)"), a_Data.size()) + ); return; } if (m_Errored) diff --git a/src/Protocol/ForgeHandshake.h b/src/Protocol/ForgeHandshake.h index 7c3969b96..f57b584a8 100644 --- a/src/Protocol/ForgeHandshake.h +++ b/src/Protocol/ForgeHandshake.h @@ -22,8 +22,7 @@ class cClientHandle; class cForgeHandshake { -public: - + public: /** True if the client advertised itself as a Forge client. */ bool IsForgeClient; @@ -41,8 +40,7 @@ public: /** Process received data from the client advancing the Forge handshake. */ void DataReceived(cClientHandle & a_Client, ContiguousByteBufferView a_Data); -private: - + private: /** True if the Forge handshake is in an errored state. */ bool m_Errored; diff --git a/src/Protocol/MojangAPI.cpp b/src/Protocol/MojangAPI.cpp index 278e3f773..b3c748f33 100644 --- a/src/Protocol/MojangAPI.cpp +++ b/src/Protocol/MojangAPI.cpp @@ -1,7 +1,8 @@ // MojangAPI.cpp -// Implements the cMojangAPI class representing the various API points provided by Mojang's webservices, and a cache for their results +// Implements the cMojangAPI class representing the various API points provided by Mojang's webservices, and a cache for +// their results #include "Globals.h" #include "MojangAPI.h" @@ -31,9 +32,9 @@ const int MAX_PER_QUERY = 100; -constexpr char DEFAULT_NAME_TO_UUID_SERVER[] = "api.mojang.com"; -constexpr char DEFAULT_NAME_TO_UUID_ADDRESS[] = "/profiles/minecraft"; -constexpr char DEFAULT_UUID_TO_PROFILE_SERVER[] = "sessionserver.mojang.com"; +constexpr char DEFAULT_NAME_TO_UUID_SERVER[] = "api.mojang.com"; +constexpr char DEFAULT_NAME_TO_UUID_ADDRESS[] = "/profiles/minecraft"; +constexpr char DEFAULT_UUID_TO_PROFILE_SERVER[] = "sessionserver.mojang.com"; constexpr char DEFAULT_UUID_TO_PROFILE_ADDRESS[] = "/session/minecraft/profile/%UUID%?unsigned=false"; @@ -42,69 +43,68 @@ constexpr char DEFAULT_UUID_TO_PROFILE_ADDRESS[] = "/session/minecraft/profile/% namespace MojangTrustedRootCAs { - /** Returns the Options that should be used for cUrlClient queries to the Mojang APIs. */ - static const AStringMap & UrlClientOptions() - { - static const AString CertString = - // DigiCert Global Root CA (sessionserver.mojang.com, api.mojang.com) - // Downloaded from https://www.digicert.com/kb/digicert-root-certificates.htm - - // DigiCert Global Root CA - "-----BEGIN CERTIFICATE-----\n" - "MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n" - "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" - "d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\n" - "QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT\n" - "MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\n" - "b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG\n" - "9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\n" - "CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97\n" - "nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n" - "43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\n" - "T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4\n" - "gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO\n" - "BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\n" - "TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw\n" - "DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\n" - "hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg\n" - "06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF\n" - "PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\n" - "YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\n" - "CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n" - "-----END CERTIFICATE-----\n" - - // AAA Certificate Services (authserver.ely.by GH#4832) - // Downloaded from https://www.tbs-certificates.co.uk/FAQ/en/Comodo_AAA_Certificate_Services.html - "-----BEGIN CERTIFICATE-----\n" - "MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb\n" - "MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow\n" - "GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj\n" - "YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL\n" - "MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE\n" - "BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM\n" - "GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP\n" - "ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua\n" - "BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe\n" - "3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4\n" - "YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR\n" - "rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm\n" - "ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU\n" - "oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF\n" - "MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v\n" - "QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t\n" - "b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF\n" - "AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q\n" - "GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz\n" - "Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2\n" - "G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi\n" - "l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3\n" - "smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==\n" - "-----END CERTIFICATE-----\n" - ; - static const AStringMap UrlClientOptions = {{"TrustedRootCAs", CertString}}; - return UrlClientOptions; - } +/** Returns the Options that should be used for cUrlClient queries to the Mojang APIs. */ +static const AStringMap & UrlClientOptions() +{ + static const AString CertString = + // DigiCert Global Root CA (sessionserver.mojang.com, api.mojang.com) + // Downloaded from https://www.digicert.com/kb/digicert-root-certificates.htm + + // DigiCert Global Root CA + "-----BEGIN CERTIFICATE-----\n" + "MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n" + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" + "d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\n" + "QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT\n" + "MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\n" + "b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG\n" + "9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\n" + "CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97\n" + "nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n" + "43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\n" + "T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4\n" + "gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO\n" + "BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\n" + "TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw\n" + "DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\n" + "hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg\n" + "06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF\n" + "PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\n" + "YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\n" + "CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n" + "-----END CERTIFICATE-----\n" + + // AAA Certificate Services (authserver.ely.by GH#4832) + // Downloaded from https://www.tbs-certificates.co.uk/FAQ/en/Comodo_AAA_Certificate_Services.html + "-----BEGIN CERTIFICATE-----\n" + "MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb\n" + "MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow\n" + "GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj\n" + "YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL\n" + "MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE\n" + "BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM\n" + "GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP\n" + "ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua\n" + "BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe\n" + "3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4\n" + "YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR\n" + "rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm\n" + "ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU\n" + "oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF\n" + "MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v\n" + "QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t\n" + "b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF\n" + "AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q\n" + "GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz\n" + "Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2\n" + "G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi\n" + "l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3\n" + "smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==\n" + "-----END CERTIFICATE-----\n"; + static const AStringMap UrlClientOptions = {{"TrustedRootCAs", CertString}}; + return UrlClientOptions; } +} // namespace MojangTrustedRootCAs @@ -119,11 +119,7 @@ cMojangAPI::sProfile::sProfile( const Json::Value & a_Properties, Int64 a_DateTime ) : - m_PlayerName(a_PlayerName), - m_UUID(a_UUID), - m_Textures(), - m_TexturesSignature(), - m_DateTime(a_DateTime) + m_PlayerName(a_PlayerName), m_UUID(a_UUID), m_Textures(), m_TexturesSignature(), m_DateTime(a_DateTime) { /* Example a_Profile contents: @@ -131,8 +127,10 @@ cMojangAPI::sProfile::sProfile( [ { "name": "textures", - "value": "eyJ0aW1lc3RhbXAiOjE0MDcwNzAzMjEyNzEsInByb2ZpbGVJZCI6ImIxY2FmMjQyMDJhODQxYTc4MDU1YTA3OWM0NjBlZWU3IiwicHJvZmlsZU5hbWUiOiJ4b2Z0IiwiaXNQdWJsaWMiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iNzc5YmFiZjVhNTg3Zjk0OGFkNjc0N2VhOTEyNzU0MjliNjg4Mjk1YWUzYzA3YmQwZTJmNWJmNGQwNTIifX19", - "signature": "XCty+jGEF39hEPrPhYNnCX087kPaoCjYruzYI/DS4nkL5hbjnkSM5Rh15hnUyv/FHhC8OF5rif3D1tQjtMI19KSVaXoUFXpbJM8/+PB8GDgEbX8Fc3u9nYkzOcM/xfxdYsFAdFhLQMkvase/BZLSuPhdy9DdI+TCrO7xuSTZfYmmwVuWo3w5gCY+mSIAnqltnOzaOOTcly75xvO0WYpVk7nJdnR2tvSi0wfrQPDrIg/uzhX7p0SnDqijmBU4QaNez/TNKiFxy69dAzt0RSotlQzqkDbyVKhhv9a4eY8h3pXi4UMftKEj4FAKczxLImkukJXuOn5NN15/Q+le0rJVBC60/xjKIVzltEsMN6qjWD0lQjey7WEL+4pGhCVuWY5KzuZjFvgqszuJTFz7lo+bcHiceldJtea8/fa02eTRObZvdLxbWC9ZfFY0IhpOVKfcLdno/ddDMNMQMi5kMrJ8MZZ/PcW1w5n7MMGWPGCla1kOaC55AL0QYSMGRVEZqgU9wXI5M7sHGZKGM4mWxkbEJYBkpI/p3GyxWgV6v33ZWlsz65TqlNrR1gCLaoFCm7Sif8NqPBZUAONHYon0roXhin/DyEanS93WV6i6FC1Wisscjq2AcvnOlgTo/5nN/1QsMbjNumuMGo37sqjRqlXoPb8zEUbAhhztYuJjEfQ2Rd8=" + "value": + "eyJ0aW1lc3RhbXAiOjE0MDcwNzAzMjEyNzEsInByb2ZpbGVJZCI6ImIxY2FmMjQyMDJhODQxYTc4MDU1YTA3OWM0NjBlZWU3IiwicHJvZmlsZU5hbWUiOiJ4b2Z0IiwiaXNQdWJsaWMiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iNzc5YmFiZjVhNTg3Zjk0OGFkNjc0N2VhOTEyNzU0MjliNjg4Mjk1YWUzYzA3YmQwZTJmNWJmNGQwNTIifX19", + "signature": + "XCty+jGEF39hEPrPhYNnCX087kPaoCjYruzYI/DS4nkL5hbjnkSM5Rh15hnUyv/FHhC8OF5rif3D1tQjtMI19KSVaXoUFXpbJM8/+PB8GDgEbX8Fc3u9nYkzOcM/xfxdYsFAdFhLQMkvase/BZLSuPhdy9DdI+TCrO7xuSTZfYmmwVuWo3w5gCY+mSIAnqltnOzaOOTcly75xvO0WYpVk7nJdnR2tvSi0wfrQPDrIg/uzhX7p0SnDqijmBU4QaNez/TNKiFxy69dAzt0RSotlQzqkDbyVKhhv9a4eY8h3pXi4UMftKEj4FAKczxLImkukJXuOn5NN15/Q+le0rJVBC60/xjKIVzltEsMN6qjWD0lQjey7WEL+4pGhCVuWY5KzuZjFvgqszuJTFz7lo+bcHiceldJtea8/fa02eTRObZvdLxbWC9ZfFY0IhpOVKfcLdno/ddDMNMQMi5kMrJ8MZZ/PcW1w5n7MMGWPGCla1kOaC55AL0QYSMGRVEZqgU9wXI5M7sHGZKGM4mWxkbEJYBkpI/p3GyxWgV6v33ZWlsz65TqlNrR1gCLaoFCm7Sif8NqPBZUAONHYon0roXhin/DyEanS93WV6i6FC1Wisscjq2AcvnOlgTo/5nN/1QsMbjNumuMGo37sqjRqlXoPb8zEUbAhhztYuJjEfQ2Rd8=" } ] */ @@ -164,16 +162,13 @@ cMojangAPI::sProfile::sProfile( //////////////////////////////////////////////////////////////////////////////// // cMojangAPI::cUpdateThread: -class cMojangAPI::cUpdateThread: - public cIsThread +class cMojangAPI::cUpdateThread : public cIsThread { using Super = cIsThread; -public: - - cUpdateThread(cMojangAPI & a_MojangAPI): - Super("MojangAPI Updater"), - m_MojangAPI(a_MojangAPI) + public: + cUpdateThread(cMojangAPI & a_MojangAPI) : + Super("MojangAPI Updater"), m_MojangAPI(a_MojangAPI) { } @@ -187,8 +182,7 @@ public: Stop(); } -protected: - + protected: /** The cMojangAPI instance to update. */ cMojangAPI & m_MojangAPI; @@ -202,9 +196,11 @@ protected: do { m_MojangAPI.Update(); - } while (!m_ShouldTerminate && !m_evtNotify.Wait(60 * 60 * 1000)); // Repeat every 60 minutes until termination request + } + while (!m_ShouldTerminate && !m_evtNotify.Wait(60 * 60 * 1000) + ); // Repeat every 60 minutes until termination request } -} ; +}; @@ -213,9 +209,8 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cMojangAPI: -cMojangAPI::cMojangAPI(): - m_RankMgr(nullptr), - m_UpdateThread(new cUpdateThread(*this)) +cMojangAPI::cMojangAPI() : + m_RankMgr(nullptr), m_UpdateThread(new cUpdateThread(*this)) { } @@ -234,10 +229,12 @@ cMojangAPI::~cMojangAPI() void cMojangAPI::Start(cSettingsRepositoryInterface & a_Settings, bool a_ShouldAuth) { - auto NameToUUIDServer = a_Settings.GetValueSet("MojangAPI", "NameToUUIDServer", DEFAULT_NAME_TO_UUID_SERVER); - auto NameToUUIDAddress = a_Settings.GetValueSet("MojangAPI", "NameToUUIDAddress", DEFAULT_NAME_TO_UUID_ADDRESS); - auto UUIDToProfileServer = a_Settings.GetValueSet("MojangAPI", "UUIDToProfileServer", DEFAULT_UUID_TO_PROFILE_SERVER); - auto UUIDToProfileAddress = a_Settings.GetValueSet("MojangAPI", "UUIDToProfileAddress", DEFAULT_UUID_TO_PROFILE_ADDRESS); + auto NameToUUIDServer = a_Settings.GetValueSet("MojangAPI", "NameToUUIDServer", DEFAULT_NAME_TO_UUID_SERVER); + auto NameToUUIDAddress = a_Settings.GetValueSet("MojangAPI", "NameToUUIDAddress", DEFAULT_NAME_TO_UUID_ADDRESS); + auto UUIDToProfileServer = + a_Settings.GetValueSet("MojangAPI", "UUIDToProfileServer", DEFAULT_UUID_TO_PROFILE_SERVER); + auto UUIDToProfileAddress = + a_Settings.GetValueSet("MojangAPI", "UUIDToProfileAddress", DEFAULT_UUID_TO_PROFILE_ADDRESS); m_NameToUUIDUrl = "https://" + NameToUUIDServer + NameToUUIDAddress; m_UUIDToProfileUrl = "https://" + UUIDToProfileServer + UUIDToProfileAddress; LoadCachesFromDisk(); @@ -259,7 +256,7 @@ cUUID cMojangAPI::GetUUIDFromPlayerName(const AString & a_PlayerName, bool a_Use // Request the cache to query the name if not yet cached: if (!a_UseOnlyCached) { - AStringVector PlayerNames{ lcPlayerName }; + AStringVector PlayerNames {lcPlayerName}; CacheNamesToUUIDs(PlayerNames); } @@ -395,7 +392,8 @@ void cMojangAPI::LoadCachesFromDisk(void) // Open up the SQLite DB: SQLite::Database db("MojangAPI.sqlite", SQLite::OPEN_READWRITE | SQLite::OPEN_CREATE); db.exec("CREATE TABLE IF NOT EXISTS PlayerNameToUUID (PlayerName, UUID, DateTime)"); - db.exec("CREATE TABLE IF NOT EXISTS UUIDToProfile (UUID, PlayerName, Textures, TexturesSignature, DateTime)"); + db.exec("CREATE TABLE IF NOT EXISTS UUIDToProfile (UUID, PlayerName, Textures, TexturesSignature, DateTime)" + ); // Retrieve all entries: { @@ -404,7 +402,7 @@ void cMojangAPI::LoadCachesFromDisk(void) { AString PlayerName = stmt.getColumn(0); AString StringUUID = stmt.getColumn(1); - Int64 DateTime = stmt.getColumn(2); + Int64 DateTime = stmt.getColumn(2); cUUID UUID; if (!UUID.FromString(StringUUID)) @@ -417,14 +415,17 @@ void cMojangAPI::LoadCachesFromDisk(void) } } { - SQLite::Statement stmt(db, "SELECT PlayerName, UUID, Textures, TexturesSignature, DateTime FROM UUIDToProfile"); + SQLite::Statement stmt( + db, + "SELECT PlayerName, UUID, Textures, TexturesSignature, DateTime FROM UUIDToProfile" + ); while (stmt.executeStep()) { - AString PlayerName = stmt.getColumn(0); - AString StringUUID = stmt.getColumn(1); - AString Textures = stmt.getColumn(2); + AString PlayerName = stmt.getColumn(0); + AString StringUUID = stmt.getColumn(1); + AString Textures = stmt.getColumn(2); AString TexturesSignature = stmt.getColumn(2); - Int64 DateTime = stmt.getColumn(4); + Int64 DateTime = stmt.getColumn(4); cUUID UUID; if (!UUID.FromString(StringUUID)) @@ -482,7 +483,11 @@ void cMojangAPI::SaveCachesToDisk(void) // Save all cache entries - m_UUIDToProfile: { - SQLite::Statement stmt(db, "INSERT INTO UUIDToProfile(UUID, PlayerName, Textures, TexturesSignature, DateTime) VALUES (?, ?, ?, ?, ?)"); + SQLite::Statement stmt( + db, + "INSERT INTO UUIDToProfile(UUID, PlayerName, Textures, TexturesSignature, DateTime) VALUES (?, ?, ?, " + "?, ?)" + ); cCSLock Lock(m_CSUUIDToProfile); for (auto & UUIDToProfile : m_UUIDToProfile) { @@ -553,7 +558,12 @@ void cMojangAPI::QueryNamesToUUIDs(AStringVector & a_NamesToQuery) auto RequestBody = JsonUtils::WriteFastString(root); // Create and send the HTTP request - auto [IsSuccessful, Response] = cUrlClient::BlockingPost(m_NameToUUIDUrl, {}, std::move(RequestBody), MojangTrustedRootCAs::UrlClientOptions()); + auto [IsSuccessful, Response] = cUrlClient::BlockingPost( + m_NameToUUIDUrl, + {}, + std::move(RequestBody), + MojangTrustedRootCAs::UrlClientOptions() + ); if (!IsSuccessful) { continue; @@ -564,7 +574,11 @@ void cMojangAPI::QueryNamesToUUIDs(AStringVector & a_NamesToQuery) AString ParseError; if (!JsonUtils::ParseString(Response, root, &ParseError) || !root.isArray()) { - LOGWARNING("%s failed: Cannot parse received data (NameToUUID) to JSON: \"%s\"", __METHOD_NAME__, ParseError); + LOGWARNING( + "%s failed: Cannot parse received data (NameToUUID) to JSON: \"%s\"", + __METHOD_NAME__, + ParseError + ); LOGD("Response body:\n%s", CreateHexDump(HexDump, Response.data(), Response.size(), 16)); continue; } @@ -660,8 +674,10 @@ void cMojangAPI::QueryUUIDToProfile(const cUUID & a_UUID) [ { "name": "textures", - "value": "eyJ0aW1lc3RhbXAiOjE0MDcwNzAzMjEyNzEsInByb2ZpbGVJZCI6ImIxY2FmMjQyMDJhODQxYTc4MDU1YTA3OWM0NjBlZWU3IiwicHJvZmlsZU5hbWUiOiJ4b2Z0IiwiaXNQdWJsaWMiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iNzc5YmFiZjVhNTg3Zjk0OGFkNjc0N2VhOTEyNzU0MjliNjg4Mjk1YWUzYzA3YmQwZTJmNWJmNGQwNTIifX19", - "signature": "XCty+jGEF39hEPrPhYNnCX087kPaoCjYruzYI/DS4nkL5hbjnkSM5Rh15hnUyv/FHhC8OF5rif3D1tQjtMI19KSVaXoUFXpbJM8/+PB8GDgEbX8Fc3u9nYkzOcM/xfxdYsFAdFhLQMkvase/BZLSuPhdy9DdI+TCrO7xuSTZfYmmwVuWo3w5gCY+mSIAnqltnOzaOOTcly75xvO0WYpVk7nJdnR2tvSi0wfrQPDrIg/uzhX7p0SnDqijmBU4QaNez/TNKiFxy69dAzt0RSotlQzqkDbyVKhhv9a4eY8h3pXi4UMftKEj4FAKczxLImkukJXuOn5NN15/Q+le0rJVBC60/xjKIVzltEsMN6qjWD0lQjey7WEL+4pGhCVuWY5KzuZjFvgqszuJTFz7lo+bcHiceldJtea8/fa02eTRObZvdLxbWC9ZfFY0IhpOVKfcLdno/ddDMNMQMi5kMrJ8MZZ/PcW1w5n7MMGWPGCla1kOaC55AL0QYSMGRVEZqgU9wXI5M7sHGZKGM4mWxkbEJYBkpI/p3GyxWgV6v33ZWlsz65TqlNrR1gCLaoFCm7Sif8NqPBZUAONHYon0roXhin/DyEanS93WV6i6FC1Wisscjq2AcvnOlgTo/5nN/1QsMbjNumuMGo37sqjRqlXoPb8zEUbAhhztYuJjEfQ2Rd8=" + "value": + "eyJ0aW1lc3RhbXAiOjE0MDcwNzAzMjEyNzEsInByb2ZpbGVJZCI6ImIxY2FmMjQyMDJhODQxYTc4MDU1YTA3OWM0NjBlZWU3IiwicHJvZmlsZU5hbWUiOiJ4b2Z0IiwiaXNQdWJsaWMiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iNzc5YmFiZjVhNTg3Zjk0OGFkNjc0N2VhOTEyNzU0MjliNjg4Mjk1YWUzYzA3YmQwZTJmNWJmNGQwNTIifX19", + "signature": + "XCty+jGEF39hEPrPhYNnCX087kPaoCjYruzYI/DS4nkL5hbjnkSM5Rh15hnUyv/FHhC8OF5rif3D1tQjtMI19KSVaXoUFXpbJM8/+PB8GDgEbX8Fc3u9nYkzOcM/xfxdYsFAdFhLQMkvase/BZLSuPhdy9DdI+TCrO7xuSTZfYmmwVuWo3w5gCY+mSIAnqltnOzaOOTcly75xvO0WYpVk7nJdnR2tvSi0wfrQPDrIg/uzhX7p0SnDqijmBU4QaNez/TNKiFxy69dAzt0RSotlQzqkDbyVKhhv9a4eY8h3pXi4UMftKEj4FAKczxLImkukJXuOn5NN15/Q+le0rJVBC60/xjKIVzltEsMN6qjWD0lQjey7WEL+4pGhCVuWY5KzuZjFvgqszuJTFz7lo+bcHiceldJtea8/fa02eTRObZvdLxbWC9ZfFY0IhpOVKfcLdno/ddDMNMQMi5kMrJ8MZZ/PcW1w5n7MMGWPGCla1kOaC55AL0QYSMGRVEZqgU9wXI5M7sHGZKGM4mWxkbEJYBkpI/p3GyxWgV6v33ZWlsz65TqlNrR1gCLaoFCm7Sif8NqPBZUAONHYon0roXhin/DyEanS93WV6i6FC1Wisscjq2AcvnOlgTo/5nN/1QsMbjNumuMGo37sqjRqlXoPb8zEUbAhhztYuJjEfQ2Rd8=" } ] } @@ -745,7 +761,9 @@ void cMojangAPI::Update(void) } if (!ProfileUUIDs.empty()) { - LOG("%s: Updating uuid-to-profile cache for %u uuids", __METHOD_NAME__, static_cast(ProfileUUIDs.size())); + LOG("%s: Updating uuid-to-profile cache for %u uuids", + __METHOD_NAME__, + static_cast(ProfileUUIDs.size())); for (const auto & UUID : ProfileUUIDs) { QueryUUIDToProfile(UUID); diff --git a/src/Protocol/MojangAPI.h b/src/Protocol/MojangAPI.h index 6d550662c..02dd2a315 100644 --- a/src/Protocol/MojangAPI.h +++ b/src/Protocol/MojangAPI.h @@ -1,7 +1,8 @@ // MojangAPI.h -// Declares the cMojangAPI class representing the various API points provided by Mojang's webservices, and a cache for their results +// Declares the cMojangAPI class representing the various API points provided by Mojang's webservices, and a cache for +// their results @@ -22,7 +23,7 @@ class cRankManager; namespace Json { - class Value; +class Value; } @@ -32,7 +33,7 @@ class cSettingsRepositoryInterface; // tolua_begin class cMojangAPI { -public: + public: // tolua_end cMojangAPI(void); @@ -47,7 +48,8 @@ public: If a_UseOnlyCached is true, the function only consults the cached values. If a_UseOnlyCached is false and the name is not found in the cache, it is looked up online, which is a blocking operation, do not use this in world-tick thread! - If you have multiple names to resolve, use the GetUUIDsFromPlayerNames() function, it uses a single request for multiple names. */ + If you have multiple names to resolve, use the GetUUIDsFromPlayerNames() function, it uses a single request for + multiple names. */ cUUID GetUUIDFromPlayerName(const AString & a_PlayerName, bool a_UseOnlyCached = false); /** Converts a UUID into a playername. @@ -78,7 +80,7 @@ public: /** Sets the m_RankMgr that is used for name-uuid notifications. Accepts nullptr to remove the binding. */ void SetRankManager(cRankManager * a_RankManager) { m_RankMgr = a_RankManager; } -protected: + protected: /** The thread that periodically checks for stale data and re-queries it from the server. */ class cUpdateThread; @@ -86,19 +88,15 @@ protected: /** Holds data for a single player profile. */ struct sProfile { - AString m_PlayerName; // Case-correct playername - cUUID m_UUID; // Player UUID - AString m_Textures; // The Textures field of the profile properties + AString m_PlayerName; // Case-correct playername + cUUID m_UUID; // Player UUID + AString m_Textures; // The Textures field of the profile properties AString m_TexturesSignature; // The signature of the Textures field of the profile properties - Int64 m_DateTime; // UNIXtime of the profile lookup + Int64 m_DateTime; // UNIXtime of the profile lookup /** Default constructor for the container's sake. */ sProfile(void) : - m_PlayerName(), - m_UUID(), - m_Textures(), - m_TexturesSignature(), - m_DateTime(time(nullptr)) + m_PlayerName(), m_UUID(), m_Textures(), m_TexturesSignature(), m_DateTime(time(nullptr)) { } @@ -174,9 +172,9 @@ protected: /** Saves the caches to a disk storage. */ void SaveCachesToDisk(void); - /** Makes sure all specified names are in the m_PlayerNameToUUID cache. Downloads any missing ones from Mojang API servers. - Names that are not valid are not added into the cache. - ASSUMEs that a_PlayerNames contains lowercased player names. */ + /** Makes sure all specified names are in the m_PlayerNameToUUID cache. Downloads any missing ones from Mojang API + servers. Names that are not valid are not added into the cache. ASSUMEs that a_PlayerNames contains lowercased + player names. */ void CacheNamesToUUIDs(const AStringVector & a_PlayerNames); /** Queries all the specified names and stores them into the m_PlayerNameToUUID cache. @@ -189,18 +187,15 @@ protected: UUIDs that are not valid will not be added into the cache. */ void CacheUUIDToProfile(const cUUID & a_UUID); - /** Queries the specified UUID's profile and stores it in the m_UUIDToProfile cache. If already present, updates the cache entry. - UUIDs that are not valid will not be added into the cache. */ + /** Queries the specified UUID's profile and stores it in the m_UUIDToProfile cache. If already present, updates the + cache entry. UUIDs that are not valid will not be added into the cache. */ void QueryUUIDToProfile(const cUUID & a_UUID); /** Called for each name-uuid pairing that is discovered. If assigned, notifies the m_RankManager of the event. */ void NotifyNameUUID(const AString & a_PlayerName, const cUUID & a_PlayerUUID); - /** Updates the stale values in the DB from the Mojang servers. Called from the cUpdateThread, blocks on the HTTPS API calls. */ + /** Updates the stale values in the DB from the Mojang servers. Called from the cUpdateThread, blocks on the HTTPS + * API calls. */ void Update(void); -} ; // tolua_export - - - - +}; // tolua_export diff --git a/src/Protocol/Packetizer.h b/src/Protocol/Packetizer.h index ccf7234cd..5993fe70c 100644 --- a/src/Protocol/Packetizer.h +++ b/src/Protocol/Packetizer.h @@ -26,30 +26,34 @@ class cUUID; /** Macros used to read packets more easily */ #define HANDLE_READ(ByteBuf, Proc, Type, Var) \ - Type Var; \ - do { \ - if (!ByteBuf.Proc(Var))\ - {\ - return;\ - } \ - } while (false) + Type Var; \ + do \ + { \ + if (!ByteBuf.Proc(Var)) \ + { \ + return; \ + } \ + } \ + while (false) #define HANDLE_PACKET_READ(ByteBuf, Proc, Type, Var) \ - Type Var; \ - do { \ - { \ - if (!ByteBuf.Proc(Var)) \ - { \ - ByteBuf.CheckValid(); \ - return false; \ - } \ - ByteBuf.CheckValid(); \ - } \ - } while (false) + Type Var; \ + do \ + { \ + { \ + if (!ByteBuf.Proc(Var)) \ + { \ + ByteBuf.CheckValid(); \ + return false; \ + } \ + ByteBuf.CheckValid(); \ + } \ + } \ + while (false) @@ -58,7 +62,7 @@ class cUUID; /** Composes an individual packet in the protocol's m_OutPacketBuffer; sends it just before being destructed. */ class cPacketizer { -public: + public: /** Starts serializing a new packet into the protocol's m_OutPacketBuffer. Locks the protocol's m_CSPacket to avoid multithreading issues. */ cPacketizer(cProtocol & a_Protocol, cProtocol::ePacketType a_PacketType) : @@ -73,87 +77,45 @@ public: /** Sends the packet via the contained protocol's SendPacket() function. */ ~cPacketizer(); - inline void WriteBool(bool a_Value) - { - VERIFY(m_Out.WriteBool(a_Value)); - } + inline void WriteBool(bool a_Value) { VERIFY(m_Out.WriteBool(a_Value)); } - inline void WriteBEUInt8(UInt8 a_Value) - { - VERIFY(m_Out.WriteBEUInt8(a_Value)); - } + inline void WriteBEUInt8(UInt8 a_Value) { VERIFY(m_Out.WriteBEUInt8(a_Value)); } - inline void WriteBEInt8(Int8 a_Value) - { - VERIFY(m_Out.WriteBEInt8(a_Value)); - } + inline void WriteBEInt8(Int8 a_Value) { VERIFY(m_Out.WriteBEInt8(a_Value)); } - inline void WriteBEInt16(Int16 a_Value) - { - VERIFY(m_Out.WriteBEInt16(a_Value)); - } + inline void WriteBEInt16(Int16 a_Value) { VERIFY(m_Out.WriteBEInt16(a_Value)); } - inline void WriteBEUInt16(UInt16 a_Value) - { - VERIFY(m_Out.WriteBEUInt16(a_Value)); - } + inline void WriteBEUInt16(UInt16 a_Value) { VERIFY(m_Out.WriteBEUInt16(a_Value)); } - inline void WriteBEInt32(Int32 a_Value) - { - VERIFY(m_Out.WriteBEInt32(a_Value)); - } + inline void WriteBEInt32(Int32 a_Value) { VERIFY(m_Out.WriteBEInt32(a_Value)); } - inline void WriteBEUInt32(UInt32 a_Value) - { - VERIFY(m_Out.WriteBEUInt32(a_Value)); - } + inline void WriteBEUInt32(UInt32 a_Value) { VERIFY(m_Out.WriteBEUInt32(a_Value)); } - inline void WriteBEInt64(Int64 a_Value) - { - VERIFY(m_Out.WriteBEInt64(a_Value)); - } + inline void WriteBEInt64(Int64 a_Value) { VERIFY(m_Out.WriteBEInt64(a_Value)); } - inline void WriteBEUInt64(UInt64 a_Value) - { - VERIFY(m_Out.WriteBEUInt64(a_Value)); - } + inline void WriteBEUInt64(UInt64 a_Value) { VERIFY(m_Out.WriteBEUInt64(a_Value)); } - inline void WriteBEFloat(float a_Value) - { - VERIFY(m_Out.WriteBEFloat(a_Value)); - } + inline void WriteBEFloat(float a_Value) { VERIFY(m_Out.WriteBEFloat(a_Value)); } - inline void WriteBEDouble(double a_Value) - { - VERIFY(m_Out.WriteBEDouble(a_Value)); - } + inline void WriteBEDouble(double a_Value) { VERIFY(m_Out.WriteBEDouble(a_Value)); } - inline void WriteVarInt32(UInt32 a_Value) - { - VERIFY(m_Out.WriteVarInt32(a_Value)); - } + inline void WriteVarInt32(UInt32 a_Value) { VERIFY(m_Out.WriteVarInt32(a_Value)); } - inline void WriteString(const AString & a_Value) - { - VERIFY(m_Out.WriteVarUTF8String(a_Value)); - } + inline void WriteString(const AString & a_Value) { VERIFY(m_Out.WriteVarUTF8String(a_Value)); } - inline void WriteBuf(const ContiguousByteBufferView a_Data) - { - VERIFY(m_Out.Write(a_Data.data(), a_Data.size())); - } + inline void WriteBuf(const ContiguousByteBufferView a_Data) { VERIFY(m_Out.Write(a_Data.data(), a_Data.size())); } /** Writes the specified block position as a single encoded 64-bit BigEndian integer. @@ -199,7 +161,7 @@ public: Used for logging the packets. */ static AString PacketTypeToStr(cProtocol::ePacketType a_PacketType); -protected: + protected: /** The protocol instance in which the packet is being constructed. */ cProtocol & m_Protocol; @@ -212,8 +174,4 @@ protected: /** Type of the contained packet. Used for logging purposes, the packet type is encoded into m_Out immediately in constructor. */ cProtocol::ePacketType m_PacketType; -} ; - - - - +}; diff --git a/src/Protocol/Palettes/Palette_1_13.cpp b/src/Protocol/Palettes/Palette_1_13.cpp index d60c7a516..6f3b578ac 100644 --- a/src/Protocol/Palettes/Palette_1_13.cpp +++ b/src/Protocol/Palettes/Palette_1_13.cpp @@ -4,8711 +4,26219 @@ namespace Palette_1_13 { - UInt32 From(const BlockState Block) - { - using namespace Block; +UInt32 From(const BlockState Block) +{ + using namespace Block; - switch (Block.ID) - { - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5399; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5400; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5401; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5402; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5403; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5404; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5405; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5406; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5407; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5408; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5409; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5410; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5411; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5412; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5413; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5414; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5415; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5416; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5417; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5418; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5419; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5420; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5421; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5422; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 7869; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 7870; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 7871; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 7872; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 7873; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 7874; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 7875; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 7876; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 7877; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 7878; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 7879; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 7880; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 7881; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 7882; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 7883; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 7884; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 7885; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 7886; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 7887; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 7888; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 7889; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 7890; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 7891; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 7892; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 7893; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 7894; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 7895; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 7896; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 7897; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 7898; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 7899; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 7900; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 7901; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 7902; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 7903; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 7904; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 7905; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 7906; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 7907; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 7908; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 7909; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 7910; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 7911; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 7912; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 7913; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 7914; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 7915; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 7916; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 7917; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 7918; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 7919; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 7920; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 7921; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 7922; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 7923; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 7924; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 7925; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 7926; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 7927; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 7928; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 7929; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 7930; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 7931; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 7932; - case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 7615; - case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 7616; - case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 7619; - case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 7620; - case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 7623; - case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 7624; - case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 7627; - case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 7628; - case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 7631; - case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 7632; - case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 7635; - case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 7636; - case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 7639; - case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 7640; - case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 7643; - case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 7644; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7453; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7454; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7455; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7456; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7457; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7458; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7459; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7460; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7461; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7462; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7463; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7464; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7465; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7466; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7467; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7468; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7469; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7470; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7471; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7472; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7473; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7474; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7475; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7476; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7477; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7478; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7479; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7480; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7481; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7482; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7483; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7484; - case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 200; - case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 201; - case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 202; - case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 203; - case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 204; - case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 205; - case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 206; - case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 207; - case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 208; - case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 209; - case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 210; - case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 211; - case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 212; - case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 213; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 84; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 85; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 86; - case AcaciaPlanks::AcaciaPlanks().ID: return 19; - case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3375; - case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3376; - case AcaciaSapling::AcaciaSapling(0).ID: return 29; - case AcaciaSapling::AcaciaSapling(1).ID: return 30; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 7282; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 7284; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 7286; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6333; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6335; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6337; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6339; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6341; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6343; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6345; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6347; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6349; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6351; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6353; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6355; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6357; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6359; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6361; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6363; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6365; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6367; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6369; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6371; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6373; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6375; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6377; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6379; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6381; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6383; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6385; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6387; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6389; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6391; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6393; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6395; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6397; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6399; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6401; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6403; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6405; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6407; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6409; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6411; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: return 3850; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: return 3852; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: return 3854; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: return 3856; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 3858; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 3860; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 3862; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 3864; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: return 3866; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: return 3868; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: return 3870; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: return 3872; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 3874; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 3876; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 3878; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 3880; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: return 3882; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: return 3884; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: return 3886; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: return 3888; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 3890; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 3892; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 3894; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 3896; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: return 3898; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: return 3900; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: return 3902; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: return 3904; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 3906; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 3908; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 3910; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 3912; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 120; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 121; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 122; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 5780; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 5781; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 5782; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 5783; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 5784; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 5785; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 5786; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 5787; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 5788; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 5789; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 5790; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 5791; - case Air::Air().ID: return -0; - case Allium::Allium().ID: return 1114; - case Andesite::Andesite().ID: return 6; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5567; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5568; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 5569; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 5570; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4248; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4249; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4250; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4251; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4244; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4245; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4246; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4247; - case AzureBluet::AzureBluet().ID: return 1115; - case Barrier::Barrier().ID: return 6493; - case Beacon::Beacon().ID: return 5136; - case Bedrock::Bedrock().ID: return 33; - case Beetroots::Beetroots(0).ID: return 8158; - case Beetroots::Beetroots(1).ID: return 8159; - case Beetroots::Beetroots(2).ID: return 8160; - case Beetroots::Beetroots(3).ID: return 8161; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5351; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5352; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5353; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5354; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5355; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5356; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5357; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5358; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5359; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5360; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5361; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5362; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5363; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5364; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5365; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5366; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5367; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5368; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5369; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5370; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5371; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5372; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5373; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5374; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 7741; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 7742; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 7743; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 7744; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 7745; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 7746; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 7747; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 7748; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 7749; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 7750; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 7751; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 7752; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 7753; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 7754; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 7755; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 7756; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 7757; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 7758; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 7759; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 7760; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 7761; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 7762; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 7763; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 7764; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 7765; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 7766; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 7767; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 7768; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 7769; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 7770; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 7771; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 7772; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 7773; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 7774; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 7775; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 7776; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 7777; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 7778; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 7779; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 7780; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 7781; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 7782; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 7783; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 7784; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 7785; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 7786; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 7787; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 7788; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 7789; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 7790; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 7791; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 7792; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 7793; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 7794; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 7795; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 7796; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 7797; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 7798; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 7799; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 7800; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 7801; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 7802; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 7803; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 7804; - case BirchFence::BirchFence(true, true, true, true).ID: return 7551; - case BirchFence::BirchFence(true, true, true, false).ID: return 7552; - case BirchFence::BirchFence(true, true, false, true).ID: return 7555; - case BirchFence::BirchFence(true, true, false, false).ID: return 7556; - case BirchFence::BirchFence(true, false, true, true).ID: return 7559; - case BirchFence::BirchFence(true, false, true, false).ID: return 7560; - case BirchFence::BirchFence(true, false, false, true).ID: return 7563; - case BirchFence::BirchFence(true, false, false, false).ID: return 7564; - case BirchFence::BirchFence(false, true, true, true).ID: return 7567; - case BirchFence::BirchFence(false, true, true, false).ID: return 7568; - case BirchFence::BirchFence(false, true, false, true).ID: return 7571; - case BirchFence::BirchFence(false, true, false, false).ID: return 7572; - case BirchFence::BirchFence(false, false, true, true).ID: return 7575; - case BirchFence::BirchFence(false, false, true, false).ID: return 7576; - case BirchFence::BirchFence(false, false, false, true).ID: return 7579; - case BirchFence::BirchFence(false, false, false, false).ID: return 7580; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7389; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7390; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7391; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7392; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7393; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7394; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7395; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7396; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7397; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7398; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7399; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7400; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7401; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7402; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7403; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7404; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7405; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7406; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7407; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7408; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7409; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7410; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7411; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7412; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7413; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7414; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7415; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7416; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7417; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7418; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7419; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7420; - case BirchLeaves::BirchLeaves(1, true).ID: return 172; - case BirchLeaves::BirchLeaves(1, false).ID: return 173; - case BirchLeaves::BirchLeaves(2, true).ID: return 174; - case BirchLeaves::BirchLeaves(2, false).ID: return 175; - case BirchLeaves::BirchLeaves(3, true).ID: return 176; - case BirchLeaves::BirchLeaves(3, false).ID: return 177; - case BirchLeaves::BirchLeaves(4, true).ID: return 178; - case BirchLeaves::BirchLeaves(4, false).ID: return 179; - case BirchLeaves::BirchLeaves(5, true).ID: return 180; - case BirchLeaves::BirchLeaves(5, false).ID: return 181; - case BirchLeaves::BirchLeaves(6, true).ID: return 182; - case BirchLeaves::BirchLeaves(6, false).ID: return 183; - case BirchLeaves::BirchLeaves(7, true).ID: return 184; - case BirchLeaves::BirchLeaves(7, false).ID: return 185; - case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 78; - case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 79; - case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 80; - case BirchPlanks::BirchPlanks().ID: return 17; - case BirchPressurePlate::BirchPressurePlate(true).ID: return 3371; - case BirchPressurePlate::BirchPressurePlate(false).ID: return 3372; - case BirchSapling::BirchSapling(0).ID: return 25; - case BirchSapling::BirchSapling(1).ID: return 26; - case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 7270; - case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 7272; - case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 7274; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 4965; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 4967; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 4969; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 4971; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 4973; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 4975; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 4977; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 4979; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 4981; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 4983; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 4985; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 4987; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 4989; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 4991; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 4993; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 4995; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 4997; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 4999; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5001; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5003; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5005; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5007; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5009; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5011; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5013; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5015; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5017; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5019; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5021; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5023; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5025; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5027; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5029; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5031; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5033; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5035; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5037; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5039; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5041; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5043; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: return 3722; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: return 3724; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: return 3726; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: return 3728; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: return 3730; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: return 3732; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: return 3734; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: return 3736; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: return 3738; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: return 3740; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: return 3742; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: return 3744; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: return 3746; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: return 3748; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: return 3750; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: return 3752; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: return 3754; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: return 3756; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: return 3758; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: return 3760; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: return 3762; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: return 3764; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: return 3766; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: return 3768; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: return 3770; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: return 3772; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: return 3774; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: return 3776; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: return 3778; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: return 3780; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: return 3782; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: return 3784; - case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 114; - case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 115; - case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 116; - case BlackBanner::BlackBanner(0).ID: return 7094; - case BlackBanner::BlackBanner(1).ID: return 7095; - case BlackBanner::BlackBanner(2).ID: return 7096; - case BlackBanner::BlackBanner(3).ID: return 7097; - case BlackBanner::BlackBanner(4).ID: return 7098; - case BlackBanner::BlackBanner(5).ID: return 7099; - case BlackBanner::BlackBanner(6).ID: return 7100; - case BlackBanner::BlackBanner(7).ID: return 7101; - case BlackBanner::BlackBanner(8).ID: return 7102; - case BlackBanner::BlackBanner(9).ID: return 7103; - case BlackBanner::BlackBanner(10).ID: return 7104; - case BlackBanner::BlackBanner(11).ID: return 7105; - case BlackBanner::BlackBanner(12).ID: return 7106; - case BlackBanner::BlackBanner(13).ID: return 7107; - case BlackBanner::BlackBanner(14).ID: return 7108; - case BlackBanner::BlackBanner(15).ID: return 7109; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 988; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 989; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 990; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 991; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 992; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 993; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 994; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 995; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 996; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 997; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 998; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 999; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1000; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1001; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1002; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1003; - case BlackCarpet::BlackCarpet().ID: return 6838; - case BlackConcrete::BlackConcrete().ID: return 8392; - case BlackConcretePowder::BlackConcretePowder().ID: return 8408; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8373; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8374; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8375; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8376; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8307; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8308; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8309; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8310; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8311; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8312; - case BlackStainedGlass::BlackStainedGlass().ID: return 3592; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 6302; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 6303; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 6306; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 6307; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 6310; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 6311; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 6314; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 6315; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 6318; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 6319; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 6322; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 6323; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 6326; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 6327; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 6330; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 6331; - case BlackTerracotta::BlackTerracotta().ID: return 5819; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7170; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7171; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7172; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7173; - case BlackWool::BlackWool().ID: return 1098; - case BlueBanner::BlueBanner(0).ID: return 7030; - case BlueBanner::BlueBanner(1).ID: return 7031; - case BlueBanner::BlueBanner(2).ID: return 7032; - case BlueBanner::BlueBanner(3).ID: return 7033; - case BlueBanner::BlueBanner(4).ID: return 7034; - case BlueBanner::BlueBanner(5).ID: return 7035; - case BlueBanner::BlueBanner(6).ID: return 7036; - case BlueBanner::BlueBanner(7).ID: return 7037; - case BlueBanner::BlueBanner(8).ID: return 7038; - case BlueBanner::BlueBanner(9).ID: return 7039; - case BlueBanner::BlueBanner(10).ID: return 7040; - case BlueBanner::BlueBanner(11).ID: return 7041; - case BlueBanner::BlueBanner(12).ID: return 7042; - case BlueBanner::BlueBanner(13).ID: return 7043; - case BlueBanner::BlueBanner(14).ID: return 7044; - case BlueBanner::BlueBanner(15).ID: return 7045; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 924; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 925; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 926; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 927; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 928; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 929; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 930; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 931; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 932; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 933; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 934; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 935; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 936; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 937; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 938; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 939; - case BlueCarpet::BlueCarpet().ID: return 6834; - case BlueConcrete::BlueConcrete().ID: return 8388; - case BlueConcretePowder::BlueConcretePowder().ID: return 8404; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8357; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8358; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8359; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8360; - case BlueIce::BlueIce().ID: return 8572; - case BlueOrchid::BlueOrchid().ID: return 1113; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8283; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8284; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8285; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8286; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8287; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8288; - case BlueStainedGlass::BlueStainedGlass().ID: return 3588; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 6174; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 6175; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 6178; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 6179; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 6182; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 6183; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 6186; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 6187; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 6190; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 6191; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 6194; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 6195; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 6198; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 6199; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 6202; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 6203; - case BlueTerracotta::BlueTerracotta().ID: return 5815; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7154; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7155; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7156; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7157; - case BlueWool::BlueWool().ID: return 1094; - case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 8195; - case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 8196; - case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 8197; - case Bookshelf::Bookshelf().ID: return 1127; - case BrainCoral::BrainCoral().ID: return 8460; - case BrainCoralBlock::BrainCoralBlock().ID: return 8455; - case BrainCoralFan::BrainCoralFan().ID: return 8557; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8513; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8515; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8517; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8519; - case BrewingStand::BrewingStand(true, true, true).ID: return 4613; - case BrewingStand::BrewingStand(true, true, false).ID: return 4614; - case BrewingStand::BrewingStand(true, false, true).ID: return 4615; - case BrewingStand::BrewingStand(true, false, false).ID: return 4616; - case BrewingStand::BrewingStand(false, true, true).ID: return 4617; - case BrewingStand::BrewingStand(false, true, false).ID: return 4618; - case BrewingStand::BrewingStand(false, false, true).ID: return 4619; - case BrewingStand::BrewingStand(false, false, false).ID: return 4620; - case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 7318; - case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 7320; - case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 7322; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4333; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4335; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4337; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4339; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4341; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4343; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4345; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4347; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4349; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4351; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4353; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4355; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4357; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4359; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4361; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4363; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4365; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4367; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4369; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4371; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4373; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4375; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4377; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4379; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4381; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4383; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4385; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4387; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4389; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4391; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4393; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4395; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4397; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4399; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4401; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4403; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4405; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4407; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4409; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4411; - case Bricks::Bricks().ID: return 1125; - case BrownBanner::BrownBanner(0).ID: return 7046; - case BrownBanner::BrownBanner(1).ID: return 7047; - case BrownBanner::BrownBanner(2).ID: return 7048; - case BrownBanner::BrownBanner(3).ID: return 7049; - case BrownBanner::BrownBanner(4).ID: return 7050; - case BrownBanner::BrownBanner(5).ID: return 7051; - case BrownBanner::BrownBanner(6).ID: return 7052; - case BrownBanner::BrownBanner(7).ID: return 7053; - case BrownBanner::BrownBanner(8).ID: return 7054; - case BrownBanner::BrownBanner(9).ID: return 7055; - case BrownBanner::BrownBanner(10).ID: return 7056; - case BrownBanner::BrownBanner(11).ID: return 7057; - case BrownBanner::BrownBanner(12).ID: return 7058; - case BrownBanner::BrownBanner(13).ID: return 7059; - case BrownBanner::BrownBanner(14).ID: return 7060; - case BrownBanner::BrownBanner(15).ID: return 7061; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 940; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 941; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 942; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 943; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 944; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 945; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 946; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 947; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 948; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 949; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 950; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 951; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 952; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 953; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 954; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 955; - case BrownCarpet::BrownCarpet().ID: return 6835; - case BrownConcrete::BrownConcrete().ID: return 8389; - case BrownConcretePowder::BrownConcretePowder().ID: return 8405; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8361; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8362; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8363; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8364; - case BrownMushroom::BrownMushroom().ID: return 1121; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 3987; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 3988; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 3989; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 3990; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 3991; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 3992; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 3993; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 3994; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 3995; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 3996; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 3997; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 3998; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 3999; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4000; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4001; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4002; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4003; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4004; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4005; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4006; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4007; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4008; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4009; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4010; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4011; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4012; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4013; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4014; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4015; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4016; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4017; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4018; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4019; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4020; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4021; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4022; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4023; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4024; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4025; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4026; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4027; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4028; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4029; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4030; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4031; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4032; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4033; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4034; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4035; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4036; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4037; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4038; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4039; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4040; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4041; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4042; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4043; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4044; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4045; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4046; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4047; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4048; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4049; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4050; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8289; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8290; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8291; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8292; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8293; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8294; - case BrownStainedGlass::BrownStainedGlass().ID: return 3589; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 6206; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 6207; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 6210; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 6211; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 6214; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 6215; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 6218; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 6219; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 6222; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 6223; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 6226; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 6227; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 6230; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 6231; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 6234; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 6235; - case BrownTerracotta::BrownTerracotta().ID: return 5816; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7158; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7159; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7160; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7161; - case BrownWool::BrownWool().ID: return 1095; - case BubbleColumn::BubbleColumn(true).ID: return 8576; - case BubbleColumn::BubbleColumn(false).ID: return 8577; - case BubbleCoral::BubbleCoral().ID: return 8461; - case BubbleCoralBlock::BubbleCoralBlock().ID: return 8456; - case BubbleCoralFan::BubbleCoralFan().ID: return 8559; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8521; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8523; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8525; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8527; - case Cactus::Cactus(0).ID: return 3425; - case Cactus::Cactus(1).ID: return 3426; - case Cactus::Cactus(2).ID: return 3427; - case Cactus::Cactus(3).ID: return 3428; - case Cactus::Cactus(4).ID: return 3429; - case Cactus::Cactus(5).ID: return 3430; - case Cactus::Cactus(6).ID: return 3431; - case Cactus::Cactus(7).ID: return 3432; - case Cactus::Cactus(8).ID: return 3433; - case Cactus::Cactus(9).ID: return 3434; - case Cactus::Cactus(10).ID: return 3435; - case Cactus::Cactus(11).ID: return 3436; - case Cactus::Cactus(12).ID: return 3437; - case Cactus::Cactus(13).ID: return 3438; - case Cactus::Cactus(14).ID: return 3439; - case Cactus::Cactus(15).ID: return 3440; - case Cake::Cake(0).ID: return 3506; - case Cake::Cake(1).ID: return 3507; - case Cake::Cake(2).ID: return 3508; - case Cake::Cake(3).ID: return 3509; - case Cake::Cake(4).ID: return 3510; - case Cake::Cake(5).ID: return 3511; - case Cake::Cake(6).ID: return 3512; - case Carrots::Carrots(0).ID: return 5287; - case Carrots::Carrots(1).ID: return 5288; - case Carrots::Carrots(2).ID: return 5289; - case Carrots::Carrots(3).ID: return 5290; - case Carrots::Carrots(4).ID: return 5291; - case Carrots::Carrots(5).ID: return 5292; - case Carrots::Carrots(6).ID: return 5293; - case Carrots::Carrots(7).ID: return 5294; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 3498; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 3499; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 3500; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 3501; - case Cauldron::Cauldron(0).ID: return 4621; - case Cauldron::Cauldron(1).ID: return 4622; - case Cauldron::Cauldron(2).ID: return 4623; - case Cauldron::Cauldron(3).ID: return 4624; - case CaveAir::CaveAir().ID: return 8575; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8176; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8177; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8178; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8179; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8180; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8181; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8182; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8183; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8184; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8185; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8186; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8187; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 1729; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 1731; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 1733; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 1735; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 1737; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 1739; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 1741; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 1743; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 1745; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 1747; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 1749; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 1751; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5571; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5572; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 5573; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 5574; - case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 5696; - case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 7175; - case ChiseledSandstone::ChiseledSandstone().ID: return 246; - case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 3986; - case ChorusFlower::ChorusFlower(0).ID: return 8067; - case ChorusFlower::ChorusFlower(1).ID: return 8068; - case ChorusFlower::ChorusFlower(2).ID: return 8069; - case ChorusFlower::ChorusFlower(3).ID: return 8070; - case ChorusFlower::ChorusFlower(4).ID: return 8071; - case ChorusFlower::ChorusFlower(5).ID: return 8072; - case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 8003; - case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 8004; - case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 8005; - case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 8006; - case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 8007; - case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 8008; - case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 8009; - case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 8010; - case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 8011; - case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 8012; - case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 8013; - case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 8014; - case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 8015; - case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 8016; - case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 8017; - case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 8018; - case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 8019; - case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 8020; - case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 8021; - case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 8022; - case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 8023; - case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 8024; - case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 8025; - case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 8026; - case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 8027; - case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 8028; - case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 8029; - case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 8030; - case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 8031; - case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 8032; - case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 8033; - case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 8034; - case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 8035; - case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 8036; - case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 8037; - case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 8038; - case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 8039; - case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 8040; - case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 8041; - case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 8042; - case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 8043; - case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 8044; - case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 8045; - case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 8046; - case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 8047; - case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 8048; - case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 8049; - case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 8050; - case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 8051; - case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 8052; - case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 8053; - case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 8054; - case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 8055; - case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 8056; - case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 8057; - case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 8058; - case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 8059; - case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 8060; - case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 8061; - case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 8062; - case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 8063; - case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 8064; - case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 8065; - case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 8066; - case Clay::Clay().ID: return 3441; - case CoalBlock::CoalBlock().ID: return 6840; - case CoalOre::CoalOre().ID: return 71; - case CoarseDirt::CoarseDirt().ID: return 11; - case Cobblestone::Cobblestone().ID: return 14; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 7312; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 7314; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 7316; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3190; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3192; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3194; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3196; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3198; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3200; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3202; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3204; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3206; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3208; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3210; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3212; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3214; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3216; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3218; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3220; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3222; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3224; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3226; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3228; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3230; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3232; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3234; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3236; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3238; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3240; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3242; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3244; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3246; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3248; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3250; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3252; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3254; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3256; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3258; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3260; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3262; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3264; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3266; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3268; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5139; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5140; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5143; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5144; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5147; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5148; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5151; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5152; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5155; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5156; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5159; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5160; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5163; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5164; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5167; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5168; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5171; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5172; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5175; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5176; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5179; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5180; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5183; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5184; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5187; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5188; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5191; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5192; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5195; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5196; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5199; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5200; - case Cobweb::Cobweb().ID: return 1040; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 4638; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 4639; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 4640; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 4641; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 4642; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 4643; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 4644; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 4645; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 4646; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 4647; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 4648; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 4649; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5124; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5125; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5126; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5127; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5128; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5129; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5130; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5131; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5132; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5133; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5134; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5135; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 5635; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 5636; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 5637; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 5638; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 5639; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 5640; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 5641; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 5642; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 5643; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 5644; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 5645; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 5646; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 5647; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 5648; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 5649; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 5650; - case Conduit::Conduit().ID: return 8573; - case CrackedStoneBricks::CrackedStoneBricks().ID: return 3985; - case CraftingTable::CraftingTable().ID: return 3050; - case CreeperHead::CreeperHead(0).ID: return 5531; - case CreeperHead::CreeperHead(1).ID: return 5532; - case CreeperHead::CreeperHead(2).ID: return 5533; - case CreeperHead::CreeperHead(3).ID: return 5534; - case CreeperHead::CreeperHead(4).ID: return 5535; - case CreeperHead::CreeperHead(5).ID: return 5536; - case CreeperHead::CreeperHead(6).ID: return 5537; - case CreeperHead::CreeperHead(7).ID: return 5538; - case CreeperHead::CreeperHead(8).ID: return 5539; - case CreeperHead::CreeperHead(9).ID: return 5540; - case CreeperHead::CreeperHead(10).ID: return 5541; - case CreeperHead::CreeperHead(11).ID: return 5542; - case CreeperHead::CreeperHead(12).ID: return 5543; - case CreeperHead::CreeperHead(13).ID: return 5544; - case CreeperHead::CreeperHead(14).ID: return 5545; - case CreeperHead::CreeperHead(15).ID: return 5546; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5527; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5528; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5529; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5530; - case CutRedSandstone::CutRedSandstone().ID: return 7176; - case CutSandstone::CutSandstone().ID: return 247; - case CyanBanner::CyanBanner(0).ID: return 6998; - case CyanBanner::CyanBanner(1).ID: return 6999; - case CyanBanner::CyanBanner(2).ID: return 7000; - case CyanBanner::CyanBanner(3).ID: return 7001; - case CyanBanner::CyanBanner(4).ID: return 7002; - case CyanBanner::CyanBanner(5).ID: return 7003; - case CyanBanner::CyanBanner(6).ID: return 7004; - case CyanBanner::CyanBanner(7).ID: return 7005; - case CyanBanner::CyanBanner(8).ID: return 7006; - case CyanBanner::CyanBanner(9).ID: return 7007; - case CyanBanner::CyanBanner(10).ID: return 7008; - case CyanBanner::CyanBanner(11).ID: return 7009; - case CyanBanner::CyanBanner(12).ID: return 7010; - case CyanBanner::CyanBanner(13).ID: return 7011; - case CyanBanner::CyanBanner(14).ID: return 7012; - case CyanBanner::CyanBanner(15).ID: return 7013; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 892; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 893; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 894; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 895; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 896; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 897; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 898; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 899; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 900; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 901; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 902; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 903; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 904; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 905; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 906; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 907; - case CyanCarpet::CyanCarpet().ID: return 6832; - case CyanConcrete::CyanConcrete().ID: return 8386; - case CyanConcretePowder::CyanConcretePowder().ID: return 8402; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8349; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8350; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8351; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8352; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8271; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8272; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8273; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8274; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8275; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8276; - case CyanStainedGlass::CyanStainedGlass().ID: return 3586; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 6110; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 6111; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 6114; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 6115; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 6118; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 6119; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 6122; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 6123; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 6126; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 6127; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 6130; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 6131; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 6134; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 6135; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 6138; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 6139; - case CyanTerracotta::CyanTerracotta().ID: return 5813; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7146; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7147; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7148; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7149; - case CyanWool::CyanWool().ID: return 1092; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5575; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5576; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 5577; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 5578; - case Dandelion::Dandelion().ID: return 1111; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5423; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5424; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5425; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5426; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5427; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5428; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5429; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5430; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5431; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5432; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5433; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5434; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5435; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5436; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5437; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5438; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5439; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5440; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5441; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5442; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5443; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5444; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5445; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5446; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 7933; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 7934; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 7935; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 7936; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 7937; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 7938; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 7939; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 7940; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 7941; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 7942; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 7943; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 7944; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 7945; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 7946; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 7947; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 7948; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 7949; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 7950; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 7951; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 7952; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 7953; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 7954; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 7955; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 7956; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 7957; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 7958; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 7959; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 7960; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 7961; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 7962; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 7963; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 7964; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 7965; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 7966; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 7967; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 7968; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 7969; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 7970; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 7971; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 7972; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 7973; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 7974; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 7975; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 7976; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 7977; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 7978; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 7979; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 7980; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 7981; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 7982; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 7983; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 7984; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 7985; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 7986; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 7987; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 7988; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 7989; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 7990; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 7991; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 7992; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 7993; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 7994; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 7995; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 7996; - case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 7647; - case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 7648; - case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 7651; - case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 7652; - case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 7655; - case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 7656; - case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 7659; - case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 7660; - case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 7663; - case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 7664; - case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 7667; - case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 7668; - case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 7671; - case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 7672; - case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 7675; - case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 7676; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7485; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7486; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7487; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7488; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7489; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7490; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7491; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7492; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7493; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7494; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7495; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7496; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7497; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7498; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7499; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7500; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7501; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7502; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7503; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7504; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7505; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7506; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7507; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7508; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7509; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7510; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7511; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7512; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7513; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7514; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7515; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7516; - case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 214; - case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 215; - case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 216; - case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 217; - case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 218; - case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 219; - case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 220; - case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 221; - case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 222; - case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 223; - case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 224; - case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 225; - case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 226; - case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 227; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 87; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 88; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 89; - case DarkOakPlanks::DarkOakPlanks().ID: return 20; - case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3377; - case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3378; - case DarkOakSapling::DarkOakSapling(0).ID: return 31; - case DarkOakSapling::DarkOakSapling(1).ID: return 32; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 7288; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 7290; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 7292; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6413; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6415; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6417; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6419; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6421; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6423; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6425; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6427; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6429; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6431; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6433; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6435; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6437; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6439; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6441; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6443; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6445; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6447; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6449; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6451; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6453; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6455; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6457; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6459; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6461; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6463; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6465; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6467; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6469; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6471; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6473; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6475; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6477; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6479; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6481; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6483; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6485; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6487; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6489; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6491; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: return 3914; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: return 3916; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: return 3918; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: return 3920; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 3922; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 3924; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 3926; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 3928; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: return 3930; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: return 3932; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: return 3934; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: return 3936; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 3938; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 3940; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 3942; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 3944; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: return 3946; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: return 3948; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: return 3950; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: return 3952; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 3954; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 3956; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 3958; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 3960; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: return 3962; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: return 3964; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: return 3966; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: return 3968; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 3970; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 3972; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 3974; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 3976; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 123; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 124; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 125; - case DarkPrismarine::DarkPrismarine().ID: return 6560; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 6814; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 6816; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 6818; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 6722; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6724; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 6726; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6728; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 6730; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 6732; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6734; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 6736; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6738; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 6740; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 6742; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6744; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 6746; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6748; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 6750; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 6752; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6754; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 6756; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6758; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 6760; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 6762; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6764; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 6766; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6768; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 6770; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 6772; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6774; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 6776; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6778; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 6780; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 6782; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6784; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 6786; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6788; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 6790; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 6792; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6794; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 6796; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6798; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 6800; - case DaylightDetector::DaylightDetector(true, 0).ID: return 5651; - case DaylightDetector::DaylightDetector(true, 1).ID: return 5652; - case DaylightDetector::DaylightDetector(true, 2).ID: return 5653; - case DaylightDetector::DaylightDetector(true, 3).ID: return 5654; - case DaylightDetector::DaylightDetector(true, 4).ID: return 5655; - case DaylightDetector::DaylightDetector(true, 5).ID: return 5656; - case DaylightDetector::DaylightDetector(true, 6).ID: return 5657; - case DaylightDetector::DaylightDetector(true, 7).ID: return 5658; - case DaylightDetector::DaylightDetector(true, 8).ID: return 5659; - case DaylightDetector::DaylightDetector(true, 9).ID: return 5660; - case DaylightDetector::DaylightDetector(true, 10).ID: return 5661; - case DaylightDetector::DaylightDetector(true, 11).ID: return 5662; - case DaylightDetector::DaylightDetector(true, 12).ID: return 5663; - case DaylightDetector::DaylightDetector(true, 13).ID: return 5664; - case DaylightDetector::DaylightDetector(true, 14).ID: return 5665; - case DaylightDetector::DaylightDetector(true, 15).ID: return 5666; - case DaylightDetector::DaylightDetector(false, 0).ID: return 5667; - case DaylightDetector::DaylightDetector(false, 1).ID: return 5668; - case DaylightDetector::DaylightDetector(false, 2).ID: return 5669; - case DaylightDetector::DaylightDetector(false, 3).ID: return 5670; - case DaylightDetector::DaylightDetector(false, 4).ID: return 5671; - case DaylightDetector::DaylightDetector(false, 5).ID: return 5672; - case DaylightDetector::DaylightDetector(false, 6).ID: return 5673; - case DaylightDetector::DaylightDetector(false, 7).ID: return 5674; - case DaylightDetector::DaylightDetector(false, 8).ID: return 5675; - case DaylightDetector::DaylightDetector(false, 9).ID: return 5676; - case DaylightDetector::DaylightDetector(false, 10).ID: return 5677; - case DaylightDetector::DaylightDetector(false, 11).ID: return 5678; - case DaylightDetector::DaylightDetector(false, 12).ID: return 5679; - case DaylightDetector::DaylightDetector(false, 13).ID: return 5680; - case DaylightDetector::DaylightDetector(false, 14).ID: return 5681; - case DaylightDetector::DaylightDetector(false, 15).ID: return 5682; - case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 8450; - case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 8547; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8473; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8475; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8477; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8479; - case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 8451; - case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 8549; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8481; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8483; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8485; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8487; - case DeadBush::DeadBush().ID: return 1043; - case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 8452; - case DeadFireCoralFan::DeadFireCoralFan().ID: return 8551; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8489; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8491; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8493; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8495; - case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 8453; - case DeadHornCoralFan::DeadHornCoralFan().ID: return 8553; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8497; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8499; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8501; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8503; - case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 8449; - case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 8545; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8465; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8467; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8469; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8471; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1016; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1017; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1018; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1019; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1020; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1021; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1022; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1023; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1024; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1025; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1026; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1027; - case DiamondBlock::DiamondBlock().ID: return 3049; - case DiamondOre::DiamondOre().ID: return 3048; - case Diorite::Diorite().ID: return 4; - case Dirt::Dirt().ID: return 10; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 233; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 234; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 235; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 236; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 237; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 238; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 239; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 240; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 241; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 242; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 243; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 244; - case DragonEgg::DragonEgg().ID: return 4635; - case DragonHead::DragonHead(0).ID: return 5551; - case DragonHead::DragonHead(1).ID: return 5552; - case DragonHead::DragonHead(2).ID: return 5553; - case DragonHead::DragonHead(3).ID: return 5554; - case DragonHead::DragonHead(4).ID: return 5555; - case DragonHead::DragonHead(5).ID: return 5556; - case DragonHead::DragonHead(6).ID: return 5557; - case DragonHead::DragonHead(7).ID: return 5558; - case DragonHead::DragonHead(8).ID: return 5559; - case DragonHead::DragonHead(9).ID: return 5560; - case DragonHead::DragonHead(10).ID: return 5561; - case DragonHead::DragonHead(11).ID: return 5562; - case DragonHead::DragonHead(12).ID: return 5563; - case DragonHead::DragonHead(13).ID: return 5564; - case DragonHead::DragonHead(14).ID: return 5565; - case DragonHead::DragonHead(15).ID: return 5566; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5547; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5548; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5549; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5550; - case DriedKelpBlock::DriedKelpBlock().ID: return 8436; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 5792; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 5793; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 5794; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 5795; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 5796; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 5797; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 5798; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 5799; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 5800; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 5801; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 5802; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 5803; - case EmeraldBlock::EmeraldBlock().ID: return 4883; - case EmeraldOre::EmeraldOre().ID: return 4730; - case EnchantingTable::EnchantingTable().ID: return 4612; - case EndGateway::EndGateway().ID: return 8163; - case EndPortal::EndPortal().ID: return 4625; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 4626; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 4627; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 4628; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 4629; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 4630; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 4631; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 4632; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 4633; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 7997; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 7998; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 7999; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 8000; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 8001; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 8002; - case EndStone::EndStone().ID: return 4634; - case EndStoneBricks::EndStoneBricks().ID: return 8157; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 4732; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 4734; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 4736; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 4738; - case Farmland::Farmland(0).ID: return 3059; - case Farmland::Farmland(1).ID: return 3060; - case Farmland::Farmland(2).ID: return 3061; - case Farmland::Farmland(3).ID: return 3062; - case Farmland::Farmland(4).ID: return 3063; - case Farmland::Farmland(5).ID: return 3064; - case Farmland::Farmland(6).ID: return 3065; - case Farmland::Farmland(7).ID: return 3066; - case Fern::Fern().ID: return 1042; - case Fire::Fire(0, true, true, true, true, true).ID: return 1135; - case Fire::Fire(0, true, true, true, true, false).ID: return 1136; - case Fire::Fire(0, true, true, true, false, true).ID: return 1137; - case Fire::Fire(0, true, true, true, false, false).ID: return 1138; - case Fire::Fire(0, true, true, false, true, true).ID: return 1139; - case Fire::Fire(0, true, true, false, true, false).ID: return 1140; - case Fire::Fire(0, true, true, false, false, true).ID: return 1141; - case Fire::Fire(0, true, true, false, false, false).ID: return 1142; - case Fire::Fire(0, true, false, true, true, true).ID: return 1143; - case Fire::Fire(0, true, false, true, true, false).ID: return 1144; - case Fire::Fire(0, true, false, true, false, true).ID: return 1145; - case Fire::Fire(0, true, false, true, false, false).ID: return 1146; - case Fire::Fire(0, true, false, false, true, true).ID: return 1147; - case Fire::Fire(0, true, false, false, true, false).ID: return 1148; - case Fire::Fire(0, true, false, false, false, true).ID: return 1149; - case Fire::Fire(0, true, false, false, false, false).ID: return 1150; - case Fire::Fire(0, false, true, true, true, true).ID: return 1151; - case Fire::Fire(0, false, true, true, true, false).ID: return 1152; - case Fire::Fire(0, false, true, true, false, true).ID: return 1153; - case Fire::Fire(0, false, true, true, false, false).ID: return 1154; - case Fire::Fire(0, false, true, false, true, true).ID: return 1155; - case Fire::Fire(0, false, true, false, true, false).ID: return 1156; - case Fire::Fire(0, false, true, false, false, true).ID: return 1157; - case Fire::Fire(0, false, true, false, false, false).ID: return 1158; - case Fire::Fire(0, false, false, true, true, true).ID: return 1159; - case Fire::Fire(0, false, false, true, true, false).ID: return 1160; - case Fire::Fire(0, false, false, true, false, true).ID: return 1161; - case Fire::Fire(0, false, false, true, false, false).ID: return 1162; - case Fire::Fire(0, false, false, false, true, true).ID: return 1163; - case Fire::Fire(0, false, false, false, true, false).ID: return 1164; - case Fire::Fire(0, false, false, false, false, true).ID: return 1165; - case Fire::Fire(0, false, false, false, false, false).ID: return 1166; - case Fire::Fire(1, true, true, true, true, true).ID: return 1167; - case Fire::Fire(1, true, true, true, true, false).ID: return 1168; - case Fire::Fire(1, true, true, true, false, true).ID: return 1169; - case Fire::Fire(1, true, true, true, false, false).ID: return 1170; - case Fire::Fire(1, true, true, false, true, true).ID: return 1171; - case Fire::Fire(1, true, true, false, true, false).ID: return 1172; - case Fire::Fire(1, true, true, false, false, true).ID: return 1173; - case Fire::Fire(1, true, true, false, false, false).ID: return 1174; - case Fire::Fire(1, true, false, true, true, true).ID: return 1175; - case Fire::Fire(1, true, false, true, true, false).ID: return 1176; - case Fire::Fire(1, true, false, true, false, true).ID: return 1177; - case Fire::Fire(1, true, false, true, false, false).ID: return 1178; - case Fire::Fire(1, true, false, false, true, true).ID: return 1179; - case Fire::Fire(1, true, false, false, true, false).ID: return 1180; - case Fire::Fire(1, true, false, false, false, true).ID: return 1181; - case Fire::Fire(1, true, false, false, false, false).ID: return 1182; - case Fire::Fire(1, false, true, true, true, true).ID: return 1183; - case Fire::Fire(1, false, true, true, true, false).ID: return 1184; - case Fire::Fire(1, false, true, true, false, true).ID: return 1185; - case Fire::Fire(1, false, true, true, false, false).ID: return 1186; - case Fire::Fire(1, false, true, false, true, true).ID: return 1187; - case Fire::Fire(1, false, true, false, true, false).ID: return 1188; - case Fire::Fire(1, false, true, false, false, true).ID: return 1189; - case Fire::Fire(1, false, true, false, false, false).ID: return 1190; - case Fire::Fire(1, false, false, true, true, true).ID: return 1191; - case Fire::Fire(1, false, false, true, true, false).ID: return 1192; - case Fire::Fire(1, false, false, true, false, true).ID: return 1193; - case Fire::Fire(1, false, false, true, false, false).ID: return 1194; - case Fire::Fire(1, false, false, false, true, true).ID: return 1195; - case Fire::Fire(1, false, false, false, true, false).ID: return 1196; - case Fire::Fire(1, false, false, false, false, true).ID: return 1197; - case Fire::Fire(1, false, false, false, false, false).ID: return 1198; - case Fire::Fire(2, true, true, true, true, true).ID: return 1199; - case Fire::Fire(2, true, true, true, true, false).ID: return 1200; - case Fire::Fire(2, true, true, true, false, true).ID: return 1201; - case Fire::Fire(2, true, true, true, false, false).ID: return 1202; - case Fire::Fire(2, true, true, false, true, true).ID: return 1203; - case Fire::Fire(2, true, true, false, true, false).ID: return 1204; - case Fire::Fire(2, true, true, false, false, true).ID: return 1205; - case Fire::Fire(2, true, true, false, false, false).ID: return 1206; - case Fire::Fire(2, true, false, true, true, true).ID: return 1207; - case Fire::Fire(2, true, false, true, true, false).ID: return 1208; - case Fire::Fire(2, true, false, true, false, true).ID: return 1209; - case Fire::Fire(2, true, false, true, false, false).ID: return 1210; - case Fire::Fire(2, true, false, false, true, true).ID: return 1211; - case Fire::Fire(2, true, false, false, true, false).ID: return 1212; - case Fire::Fire(2, true, false, false, false, true).ID: return 1213; - case Fire::Fire(2, true, false, false, false, false).ID: return 1214; - case Fire::Fire(2, false, true, true, true, true).ID: return 1215; - case Fire::Fire(2, false, true, true, true, false).ID: return 1216; - case Fire::Fire(2, false, true, true, false, true).ID: return 1217; - case Fire::Fire(2, false, true, true, false, false).ID: return 1218; - case Fire::Fire(2, false, true, false, true, true).ID: return 1219; - case Fire::Fire(2, false, true, false, true, false).ID: return 1220; - case Fire::Fire(2, false, true, false, false, true).ID: return 1221; - case Fire::Fire(2, false, true, false, false, false).ID: return 1222; - case Fire::Fire(2, false, false, true, true, true).ID: return 1223; - case Fire::Fire(2, false, false, true, true, false).ID: return 1224; - case Fire::Fire(2, false, false, true, false, true).ID: return 1225; - case Fire::Fire(2, false, false, true, false, false).ID: return 1226; - case Fire::Fire(2, false, false, false, true, true).ID: return 1227; - case Fire::Fire(2, false, false, false, true, false).ID: return 1228; - case Fire::Fire(2, false, false, false, false, true).ID: return 1229; - case Fire::Fire(2, false, false, false, false, false).ID: return 1230; - case Fire::Fire(3, true, true, true, true, true).ID: return 1231; - case Fire::Fire(3, true, true, true, true, false).ID: return 1232; - case Fire::Fire(3, true, true, true, false, true).ID: return 1233; - case Fire::Fire(3, true, true, true, false, false).ID: return 1234; - case Fire::Fire(3, true, true, false, true, true).ID: return 1235; - case Fire::Fire(3, true, true, false, true, false).ID: return 1236; - case Fire::Fire(3, true, true, false, false, true).ID: return 1237; - case Fire::Fire(3, true, true, false, false, false).ID: return 1238; - case Fire::Fire(3, true, false, true, true, true).ID: return 1239; - case Fire::Fire(3, true, false, true, true, false).ID: return 1240; - case Fire::Fire(3, true, false, true, false, true).ID: return 1241; - case Fire::Fire(3, true, false, true, false, false).ID: return 1242; - case Fire::Fire(3, true, false, false, true, true).ID: return 1243; - case Fire::Fire(3, true, false, false, true, false).ID: return 1244; - case Fire::Fire(3, true, false, false, false, true).ID: return 1245; - case Fire::Fire(3, true, false, false, false, false).ID: return 1246; - case Fire::Fire(3, false, true, true, true, true).ID: return 1247; - case Fire::Fire(3, false, true, true, true, false).ID: return 1248; - case Fire::Fire(3, false, true, true, false, true).ID: return 1249; - case Fire::Fire(3, false, true, true, false, false).ID: return 1250; - case Fire::Fire(3, false, true, false, true, true).ID: return 1251; - case Fire::Fire(3, false, true, false, true, false).ID: return 1252; - case Fire::Fire(3, false, true, false, false, true).ID: return 1253; - case Fire::Fire(3, false, true, false, false, false).ID: return 1254; - case Fire::Fire(3, false, false, true, true, true).ID: return 1255; - case Fire::Fire(3, false, false, true, true, false).ID: return 1256; - case Fire::Fire(3, false, false, true, false, true).ID: return 1257; - case Fire::Fire(3, false, false, true, false, false).ID: return 1258; - case Fire::Fire(3, false, false, false, true, true).ID: return 1259; - case Fire::Fire(3, false, false, false, true, false).ID: return 1260; - case Fire::Fire(3, false, false, false, false, true).ID: return 1261; - case Fire::Fire(3, false, false, false, false, false).ID: return 1262; - case Fire::Fire(4, true, true, true, true, true).ID: return 1263; - case Fire::Fire(4, true, true, true, true, false).ID: return 1264; - case Fire::Fire(4, true, true, true, false, true).ID: return 1265; - case Fire::Fire(4, true, true, true, false, false).ID: return 1266; - case Fire::Fire(4, true, true, false, true, true).ID: return 1267; - case Fire::Fire(4, true, true, false, true, false).ID: return 1268; - case Fire::Fire(4, true, true, false, false, true).ID: return 1269; - case Fire::Fire(4, true, true, false, false, false).ID: return 1270; - case Fire::Fire(4, true, false, true, true, true).ID: return 1271; - case Fire::Fire(4, true, false, true, true, false).ID: return 1272; - case Fire::Fire(4, true, false, true, false, true).ID: return 1273; - case Fire::Fire(4, true, false, true, false, false).ID: return 1274; - case Fire::Fire(4, true, false, false, true, true).ID: return 1275; - case Fire::Fire(4, true, false, false, true, false).ID: return 1276; - case Fire::Fire(4, true, false, false, false, true).ID: return 1277; - case Fire::Fire(4, true, false, false, false, false).ID: return 1278; - case Fire::Fire(4, false, true, true, true, true).ID: return 1279; - case Fire::Fire(4, false, true, true, true, false).ID: return 1280; - case Fire::Fire(4, false, true, true, false, true).ID: return 1281; - case Fire::Fire(4, false, true, true, false, false).ID: return 1282; - case Fire::Fire(4, false, true, false, true, true).ID: return 1283; - case Fire::Fire(4, false, true, false, true, false).ID: return 1284; - case Fire::Fire(4, false, true, false, false, true).ID: return 1285; - case Fire::Fire(4, false, true, false, false, false).ID: return 1286; - case Fire::Fire(4, false, false, true, true, true).ID: return 1287; - case Fire::Fire(4, false, false, true, true, false).ID: return 1288; - case Fire::Fire(4, false, false, true, false, true).ID: return 1289; - case Fire::Fire(4, false, false, true, false, false).ID: return 1290; - case Fire::Fire(4, false, false, false, true, true).ID: return 1291; - case Fire::Fire(4, false, false, false, true, false).ID: return 1292; - case Fire::Fire(4, false, false, false, false, true).ID: return 1293; - case Fire::Fire(4, false, false, false, false, false).ID: return 1294; - case Fire::Fire(5, true, true, true, true, true).ID: return 1295; - case Fire::Fire(5, true, true, true, true, false).ID: return 1296; - case Fire::Fire(5, true, true, true, false, true).ID: return 1297; - case Fire::Fire(5, true, true, true, false, false).ID: return 1298; - case Fire::Fire(5, true, true, false, true, true).ID: return 1299; - case Fire::Fire(5, true, true, false, true, false).ID: return 1300; - case Fire::Fire(5, true, true, false, false, true).ID: return 1301; - case Fire::Fire(5, true, true, false, false, false).ID: return 1302; - case Fire::Fire(5, true, false, true, true, true).ID: return 1303; - case Fire::Fire(5, true, false, true, true, false).ID: return 1304; - case Fire::Fire(5, true, false, true, false, true).ID: return 1305; - case Fire::Fire(5, true, false, true, false, false).ID: return 1306; - case Fire::Fire(5, true, false, false, true, true).ID: return 1307; - case Fire::Fire(5, true, false, false, true, false).ID: return 1308; - case Fire::Fire(5, true, false, false, false, true).ID: return 1309; - case Fire::Fire(5, true, false, false, false, false).ID: return 1310; - case Fire::Fire(5, false, true, true, true, true).ID: return 1311; - case Fire::Fire(5, false, true, true, true, false).ID: return 1312; - case Fire::Fire(5, false, true, true, false, true).ID: return 1313; - case Fire::Fire(5, false, true, true, false, false).ID: return 1314; - case Fire::Fire(5, false, true, false, true, true).ID: return 1315; - case Fire::Fire(5, false, true, false, true, false).ID: return 1316; - case Fire::Fire(5, false, true, false, false, true).ID: return 1317; - case Fire::Fire(5, false, true, false, false, false).ID: return 1318; - case Fire::Fire(5, false, false, true, true, true).ID: return 1319; - case Fire::Fire(5, false, false, true, true, false).ID: return 1320; - case Fire::Fire(5, false, false, true, false, true).ID: return 1321; - case Fire::Fire(5, false, false, true, false, false).ID: return 1322; - case Fire::Fire(5, false, false, false, true, true).ID: return 1323; - case Fire::Fire(5, false, false, false, true, false).ID: return 1324; - case Fire::Fire(5, false, false, false, false, true).ID: return 1325; - case Fire::Fire(5, false, false, false, false, false).ID: return 1326; - case Fire::Fire(6, true, true, true, true, true).ID: return 1327; - case Fire::Fire(6, true, true, true, true, false).ID: return 1328; - case Fire::Fire(6, true, true, true, false, true).ID: return 1329; - case Fire::Fire(6, true, true, true, false, false).ID: return 1330; - case Fire::Fire(6, true, true, false, true, true).ID: return 1331; - case Fire::Fire(6, true, true, false, true, false).ID: return 1332; - case Fire::Fire(6, true, true, false, false, true).ID: return 1333; - case Fire::Fire(6, true, true, false, false, false).ID: return 1334; - case Fire::Fire(6, true, false, true, true, true).ID: return 1335; - case Fire::Fire(6, true, false, true, true, false).ID: return 1336; - case Fire::Fire(6, true, false, true, false, true).ID: return 1337; - case Fire::Fire(6, true, false, true, false, false).ID: return 1338; - case Fire::Fire(6, true, false, false, true, true).ID: return 1339; - case Fire::Fire(6, true, false, false, true, false).ID: return 1340; - case Fire::Fire(6, true, false, false, false, true).ID: return 1341; - case Fire::Fire(6, true, false, false, false, false).ID: return 1342; - case Fire::Fire(6, false, true, true, true, true).ID: return 1343; - case Fire::Fire(6, false, true, true, true, false).ID: return 1344; - case Fire::Fire(6, false, true, true, false, true).ID: return 1345; - case Fire::Fire(6, false, true, true, false, false).ID: return 1346; - case Fire::Fire(6, false, true, false, true, true).ID: return 1347; - case Fire::Fire(6, false, true, false, true, false).ID: return 1348; - case Fire::Fire(6, false, true, false, false, true).ID: return 1349; - case Fire::Fire(6, false, true, false, false, false).ID: return 1350; - case Fire::Fire(6, false, false, true, true, true).ID: return 1351; - case Fire::Fire(6, false, false, true, true, false).ID: return 1352; - case Fire::Fire(6, false, false, true, false, true).ID: return 1353; - case Fire::Fire(6, false, false, true, false, false).ID: return 1354; - case Fire::Fire(6, false, false, false, true, true).ID: return 1355; - case Fire::Fire(6, false, false, false, true, false).ID: return 1356; - case Fire::Fire(6, false, false, false, false, true).ID: return 1357; - case Fire::Fire(6, false, false, false, false, false).ID: return 1358; - case Fire::Fire(7, true, true, true, true, true).ID: return 1359; - case Fire::Fire(7, true, true, true, true, false).ID: return 1360; - case Fire::Fire(7, true, true, true, false, true).ID: return 1361; - case Fire::Fire(7, true, true, true, false, false).ID: return 1362; - case Fire::Fire(7, true, true, false, true, true).ID: return 1363; - case Fire::Fire(7, true, true, false, true, false).ID: return 1364; - case Fire::Fire(7, true, true, false, false, true).ID: return 1365; - case Fire::Fire(7, true, true, false, false, false).ID: return 1366; - case Fire::Fire(7, true, false, true, true, true).ID: return 1367; - case Fire::Fire(7, true, false, true, true, false).ID: return 1368; - case Fire::Fire(7, true, false, true, false, true).ID: return 1369; - case Fire::Fire(7, true, false, true, false, false).ID: return 1370; - case Fire::Fire(7, true, false, false, true, true).ID: return 1371; - case Fire::Fire(7, true, false, false, true, false).ID: return 1372; - case Fire::Fire(7, true, false, false, false, true).ID: return 1373; - case Fire::Fire(7, true, false, false, false, false).ID: return 1374; - case Fire::Fire(7, false, true, true, true, true).ID: return 1375; - case Fire::Fire(7, false, true, true, true, false).ID: return 1376; - case Fire::Fire(7, false, true, true, false, true).ID: return 1377; - case Fire::Fire(7, false, true, true, false, false).ID: return 1378; - case Fire::Fire(7, false, true, false, true, true).ID: return 1379; - case Fire::Fire(7, false, true, false, true, false).ID: return 1380; - case Fire::Fire(7, false, true, false, false, true).ID: return 1381; - case Fire::Fire(7, false, true, false, false, false).ID: return 1382; - case Fire::Fire(7, false, false, true, true, true).ID: return 1383; - case Fire::Fire(7, false, false, true, true, false).ID: return 1384; - case Fire::Fire(7, false, false, true, false, true).ID: return 1385; - case Fire::Fire(7, false, false, true, false, false).ID: return 1386; - case Fire::Fire(7, false, false, false, true, true).ID: return 1387; - case Fire::Fire(7, false, false, false, true, false).ID: return 1388; - case Fire::Fire(7, false, false, false, false, true).ID: return 1389; - case Fire::Fire(7, false, false, false, false, false).ID: return 1390; - case Fire::Fire(8, true, true, true, true, true).ID: return 1391; - case Fire::Fire(8, true, true, true, true, false).ID: return 1392; - case Fire::Fire(8, true, true, true, false, true).ID: return 1393; - case Fire::Fire(8, true, true, true, false, false).ID: return 1394; - case Fire::Fire(8, true, true, false, true, true).ID: return 1395; - case Fire::Fire(8, true, true, false, true, false).ID: return 1396; - case Fire::Fire(8, true, true, false, false, true).ID: return 1397; - case Fire::Fire(8, true, true, false, false, false).ID: return 1398; - case Fire::Fire(8, true, false, true, true, true).ID: return 1399; - case Fire::Fire(8, true, false, true, true, false).ID: return 1400; - case Fire::Fire(8, true, false, true, false, true).ID: return 1401; - case Fire::Fire(8, true, false, true, false, false).ID: return 1402; - case Fire::Fire(8, true, false, false, true, true).ID: return 1403; - case Fire::Fire(8, true, false, false, true, false).ID: return 1404; - case Fire::Fire(8, true, false, false, false, true).ID: return 1405; - case Fire::Fire(8, true, false, false, false, false).ID: return 1406; - case Fire::Fire(8, false, true, true, true, true).ID: return 1407; - case Fire::Fire(8, false, true, true, true, false).ID: return 1408; - case Fire::Fire(8, false, true, true, false, true).ID: return 1409; - case Fire::Fire(8, false, true, true, false, false).ID: return 1410; - case Fire::Fire(8, false, true, false, true, true).ID: return 1411; - case Fire::Fire(8, false, true, false, true, false).ID: return 1412; - case Fire::Fire(8, false, true, false, false, true).ID: return 1413; - case Fire::Fire(8, false, true, false, false, false).ID: return 1414; - case Fire::Fire(8, false, false, true, true, true).ID: return 1415; - case Fire::Fire(8, false, false, true, true, false).ID: return 1416; - case Fire::Fire(8, false, false, true, false, true).ID: return 1417; - case Fire::Fire(8, false, false, true, false, false).ID: return 1418; - case Fire::Fire(8, false, false, false, true, true).ID: return 1419; - case Fire::Fire(8, false, false, false, true, false).ID: return 1420; - case Fire::Fire(8, false, false, false, false, true).ID: return 1421; - case Fire::Fire(8, false, false, false, false, false).ID: return 1422; - case Fire::Fire(9, true, true, true, true, true).ID: return 1423; - case Fire::Fire(9, true, true, true, true, false).ID: return 1424; - case Fire::Fire(9, true, true, true, false, true).ID: return 1425; - case Fire::Fire(9, true, true, true, false, false).ID: return 1426; - case Fire::Fire(9, true, true, false, true, true).ID: return 1427; - case Fire::Fire(9, true, true, false, true, false).ID: return 1428; - case Fire::Fire(9, true, true, false, false, true).ID: return 1429; - case Fire::Fire(9, true, true, false, false, false).ID: return 1430; - case Fire::Fire(9, true, false, true, true, true).ID: return 1431; - case Fire::Fire(9, true, false, true, true, false).ID: return 1432; - case Fire::Fire(9, true, false, true, false, true).ID: return 1433; - case Fire::Fire(9, true, false, true, false, false).ID: return 1434; - case Fire::Fire(9, true, false, false, true, true).ID: return 1435; - case Fire::Fire(9, true, false, false, true, false).ID: return 1436; - case Fire::Fire(9, true, false, false, false, true).ID: return 1437; - case Fire::Fire(9, true, false, false, false, false).ID: return 1438; - case Fire::Fire(9, false, true, true, true, true).ID: return 1439; - case Fire::Fire(9, false, true, true, true, false).ID: return 1440; - case Fire::Fire(9, false, true, true, false, true).ID: return 1441; - case Fire::Fire(9, false, true, true, false, false).ID: return 1442; - case Fire::Fire(9, false, true, false, true, true).ID: return 1443; - case Fire::Fire(9, false, true, false, true, false).ID: return 1444; - case Fire::Fire(9, false, true, false, false, true).ID: return 1445; - case Fire::Fire(9, false, true, false, false, false).ID: return 1446; - case Fire::Fire(9, false, false, true, true, true).ID: return 1447; - case Fire::Fire(9, false, false, true, true, false).ID: return 1448; - case Fire::Fire(9, false, false, true, false, true).ID: return 1449; - case Fire::Fire(9, false, false, true, false, false).ID: return 1450; - case Fire::Fire(9, false, false, false, true, true).ID: return 1451; - case Fire::Fire(9, false, false, false, true, false).ID: return 1452; - case Fire::Fire(9, false, false, false, false, true).ID: return 1453; - case Fire::Fire(9, false, false, false, false, false).ID: return 1454; - case Fire::Fire(10, true, true, true, true, true).ID: return 1455; - case Fire::Fire(10, true, true, true, true, false).ID: return 1456; - case Fire::Fire(10, true, true, true, false, true).ID: return 1457; - case Fire::Fire(10, true, true, true, false, false).ID: return 1458; - case Fire::Fire(10, true, true, false, true, true).ID: return 1459; - case Fire::Fire(10, true, true, false, true, false).ID: return 1460; - case Fire::Fire(10, true, true, false, false, true).ID: return 1461; - case Fire::Fire(10, true, true, false, false, false).ID: return 1462; - case Fire::Fire(10, true, false, true, true, true).ID: return 1463; - case Fire::Fire(10, true, false, true, true, false).ID: return 1464; - case Fire::Fire(10, true, false, true, false, true).ID: return 1465; - case Fire::Fire(10, true, false, true, false, false).ID: return 1466; - case Fire::Fire(10, true, false, false, true, true).ID: return 1467; - case Fire::Fire(10, true, false, false, true, false).ID: return 1468; - case Fire::Fire(10, true, false, false, false, true).ID: return 1469; - case Fire::Fire(10, true, false, false, false, false).ID: return 1470; - case Fire::Fire(10, false, true, true, true, true).ID: return 1471; - case Fire::Fire(10, false, true, true, true, false).ID: return 1472; - case Fire::Fire(10, false, true, true, false, true).ID: return 1473; - case Fire::Fire(10, false, true, true, false, false).ID: return 1474; - case Fire::Fire(10, false, true, false, true, true).ID: return 1475; - case Fire::Fire(10, false, true, false, true, false).ID: return 1476; - case Fire::Fire(10, false, true, false, false, true).ID: return 1477; - case Fire::Fire(10, false, true, false, false, false).ID: return 1478; - case Fire::Fire(10, false, false, true, true, true).ID: return 1479; - case Fire::Fire(10, false, false, true, true, false).ID: return 1480; - case Fire::Fire(10, false, false, true, false, true).ID: return 1481; - case Fire::Fire(10, false, false, true, false, false).ID: return 1482; - case Fire::Fire(10, false, false, false, true, true).ID: return 1483; - case Fire::Fire(10, false, false, false, true, false).ID: return 1484; - case Fire::Fire(10, false, false, false, false, true).ID: return 1485; - case Fire::Fire(10, false, false, false, false, false).ID: return 1486; - case Fire::Fire(11, true, true, true, true, true).ID: return 1487; - case Fire::Fire(11, true, true, true, true, false).ID: return 1488; - case Fire::Fire(11, true, true, true, false, true).ID: return 1489; - case Fire::Fire(11, true, true, true, false, false).ID: return 1490; - case Fire::Fire(11, true, true, false, true, true).ID: return 1491; - case Fire::Fire(11, true, true, false, true, false).ID: return 1492; - case Fire::Fire(11, true, true, false, false, true).ID: return 1493; - case Fire::Fire(11, true, true, false, false, false).ID: return 1494; - case Fire::Fire(11, true, false, true, true, true).ID: return 1495; - case Fire::Fire(11, true, false, true, true, false).ID: return 1496; - case Fire::Fire(11, true, false, true, false, true).ID: return 1497; - case Fire::Fire(11, true, false, true, false, false).ID: return 1498; - case Fire::Fire(11, true, false, false, true, true).ID: return 1499; - case Fire::Fire(11, true, false, false, true, false).ID: return 1500; - case Fire::Fire(11, true, false, false, false, true).ID: return 1501; - case Fire::Fire(11, true, false, false, false, false).ID: return 1502; - case Fire::Fire(11, false, true, true, true, true).ID: return 1503; - case Fire::Fire(11, false, true, true, true, false).ID: return 1504; - case Fire::Fire(11, false, true, true, false, true).ID: return 1505; - case Fire::Fire(11, false, true, true, false, false).ID: return 1506; - case Fire::Fire(11, false, true, false, true, true).ID: return 1507; - case Fire::Fire(11, false, true, false, true, false).ID: return 1508; - case Fire::Fire(11, false, true, false, false, true).ID: return 1509; - case Fire::Fire(11, false, true, false, false, false).ID: return 1510; - case Fire::Fire(11, false, false, true, true, true).ID: return 1511; - case Fire::Fire(11, false, false, true, true, false).ID: return 1512; - case Fire::Fire(11, false, false, true, false, true).ID: return 1513; - case Fire::Fire(11, false, false, true, false, false).ID: return 1514; - case Fire::Fire(11, false, false, false, true, true).ID: return 1515; - case Fire::Fire(11, false, false, false, true, false).ID: return 1516; - case Fire::Fire(11, false, false, false, false, true).ID: return 1517; - case Fire::Fire(11, false, false, false, false, false).ID: return 1518; - case Fire::Fire(12, true, true, true, true, true).ID: return 1519; - case Fire::Fire(12, true, true, true, true, false).ID: return 1520; - case Fire::Fire(12, true, true, true, false, true).ID: return 1521; - case Fire::Fire(12, true, true, true, false, false).ID: return 1522; - case Fire::Fire(12, true, true, false, true, true).ID: return 1523; - case Fire::Fire(12, true, true, false, true, false).ID: return 1524; - case Fire::Fire(12, true, true, false, false, true).ID: return 1525; - case Fire::Fire(12, true, true, false, false, false).ID: return 1526; - case Fire::Fire(12, true, false, true, true, true).ID: return 1527; - case Fire::Fire(12, true, false, true, true, false).ID: return 1528; - case Fire::Fire(12, true, false, true, false, true).ID: return 1529; - case Fire::Fire(12, true, false, true, false, false).ID: return 1530; - case Fire::Fire(12, true, false, false, true, true).ID: return 1531; - case Fire::Fire(12, true, false, false, true, false).ID: return 1532; - case Fire::Fire(12, true, false, false, false, true).ID: return 1533; - case Fire::Fire(12, true, false, false, false, false).ID: return 1534; - case Fire::Fire(12, false, true, true, true, true).ID: return 1535; - case Fire::Fire(12, false, true, true, true, false).ID: return 1536; - case Fire::Fire(12, false, true, true, false, true).ID: return 1537; - case Fire::Fire(12, false, true, true, false, false).ID: return 1538; - case Fire::Fire(12, false, true, false, true, true).ID: return 1539; - case Fire::Fire(12, false, true, false, true, false).ID: return 1540; - case Fire::Fire(12, false, true, false, false, true).ID: return 1541; - case Fire::Fire(12, false, true, false, false, false).ID: return 1542; - case Fire::Fire(12, false, false, true, true, true).ID: return 1543; - case Fire::Fire(12, false, false, true, true, false).ID: return 1544; - case Fire::Fire(12, false, false, true, false, true).ID: return 1545; - case Fire::Fire(12, false, false, true, false, false).ID: return 1546; - case Fire::Fire(12, false, false, false, true, true).ID: return 1547; - case Fire::Fire(12, false, false, false, true, false).ID: return 1548; - case Fire::Fire(12, false, false, false, false, true).ID: return 1549; - case Fire::Fire(12, false, false, false, false, false).ID: return 1550; - case Fire::Fire(13, true, true, true, true, true).ID: return 1551; - case Fire::Fire(13, true, true, true, true, false).ID: return 1552; - case Fire::Fire(13, true, true, true, false, true).ID: return 1553; - case Fire::Fire(13, true, true, true, false, false).ID: return 1554; - case Fire::Fire(13, true, true, false, true, true).ID: return 1555; - case Fire::Fire(13, true, true, false, true, false).ID: return 1556; - case Fire::Fire(13, true, true, false, false, true).ID: return 1557; - case Fire::Fire(13, true, true, false, false, false).ID: return 1558; - case Fire::Fire(13, true, false, true, true, true).ID: return 1559; - case Fire::Fire(13, true, false, true, true, false).ID: return 1560; - case Fire::Fire(13, true, false, true, false, true).ID: return 1561; - case Fire::Fire(13, true, false, true, false, false).ID: return 1562; - case Fire::Fire(13, true, false, false, true, true).ID: return 1563; - case Fire::Fire(13, true, false, false, true, false).ID: return 1564; - case Fire::Fire(13, true, false, false, false, true).ID: return 1565; - case Fire::Fire(13, true, false, false, false, false).ID: return 1566; - case Fire::Fire(13, false, true, true, true, true).ID: return 1567; - case Fire::Fire(13, false, true, true, true, false).ID: return 1568; - case Fire::Fire(13, false, true, true, false, true).ID: return 1569; - case Fire::Fire(13, false, true, true, false, false).ID: return 1570; - case Fire::Fire(13, false, true, false, true, true).ID: return 1571; - case Fire::Fire(13, false, true, false, true, false).ID: return 1572; - case Fire::Fire(13, false, true, false, false, true).ID: return 1573; - case Fire::Fire(13, false, true, false, false, false).ID: return 1574; - case Fire::Fire(13, false, false, true, true, true).ID: return 1575; - case Fire::Fire(13, false, false, true, true, false).ID: return 1576; - case Fire::Fire(13, false, false, true, false, true).ID: return 1577; - case Fire::Fire(13, false, false, true, false, false).ID: return 1578; - case Fire::Fire(13, false, false, false, true, true).ID: return 1579; - case Fire::Fire(13, false, false, false, true, false).ID: return 1580; - case Fire::Fire(13, false, false, false, false, true).ID: return 1581; - case Fire::Fire(13, false, false, false, false, false).ID: return 1582; - case Fire::Fire(14, true, true, true, true, true).ID: return 1583; - case Fire::Fire(14, true, true, true, true, false).ID: return 1584; - case Fire::Fire(14, true, true, true, false, true).ID: return 1585; - case Fire::Fire(14, true, true, true, false, false).ID: return 1586; - case Fire::Fire(14, true, true, false, true, true).ID: return 1587; - case Fire::Fire(14, true, true, false, true, false).ID: return 1588; - case Fire::Fire(14, true, true, false, false, true).ID: return 1589; - case Fire::Fire(14, true, true, false, false, false).ID: return 1590; - case Fire::Fire(14, true, false, true, true, true).ID: return 1591; - case Fire::Fire(14, true, false, true, true, false).ID: return 1592; - case Fire::Fire(14, true, false, true, false, true).ID: return 1593; - case Fire::Fire(14, true, false, true, false, false).ID: return 1594; - case Fire::Fire(14, true, false, false, true, true).ID: return 1595; - case Fire::Fire(14, true, false, false, true, false).ID: return 1596; - case Fire::Fire(14, true, false, false, false, true).ID: return 1597; - case Fire::Fire(14, true, false, false, false, false).ID: return 1598; - case Fire::Fire(14, false, true, true, true, true).ID: return 1599; - case Fire::Fire(14, false, true, true, true, false).ID: return 1600; - case Fire::Fire(14, false, true, true, false, true).ID: return 1601; - case Fire::Fire(14, false, true, true, false, false).ID: return 1602; - case Fire::Fire(14, false, true, false, true, true).ID: return 1603; - case Fire::Fire(14, false, true, false, true, false).ID: return 1604; - case Fire::Fire(14, false, true, false, false, true).ID: return 1605; - case Fire::Fire(14, false, true, false, false, false).ID: return 1606; - case Fire::Fire(14, false, false, true, true, true).ID: return 1607; - case Fire::Fire(14, false, false, true, true, false).ID: return 1608; - case Fire::Fire(14, false, false, true, false, true).ID: return 1609; - case Fire::Fire(14, false, false, true, false, false).ID: return 1610; - case Fire::Fire(14, false, false, false, true, true).ID: return 1611; - case Fire::Fire(14, false, false, false, true, false).ID: return 1612; - case Fire::Fire(14, false, false, false, false, true).ID: return 1613; - case Fire::Fire(14, false, false, false, false, false).ID: return 1614; - case Fire::Fire(15, true, true, true, true, true).ID: return 1615; - case Fire::Fire(15, true, true, true, true, false).ID: return 1616; - case Fire::Fire(15, true, true, true, false, true).ID: return 1617; - case Fire::Fire(15, true, true, true, false, false).ID: return 1618; - case Fire::Fire(15, true, true, false, true, true).ID: return 1619; - case Fire::Fire(15, true, true, false, true, false).ID: return 1620; - case Fire::Fire(15, true, true, false, false, true).ID: return 1621; - case Fire::Fire(15, true, true, false, false, false).ID: return 1622; - case Fire::Fire(15, true, false, true, true, true).ID: return 1623; - case Fire::Fire(15, true, false, true, true, false).ID: return 1624; - case Fire::Fire(15, true, false, true, false, true).ID: return 1625; - case Fire::Fire(15, true, false, true, false, false).ID: return 1626; - case Fire::Fire(15, true, false, false, true, true).ID: return 1627; - case Fire::Fire(15, true, false, false, true, false).ID: return 1628; - case Fire::Fire(15, true, false, false, false, true).ID: return 1629; - case Fire::Fire(15, true, false, false, false, false).ID: return 1630; - case Fire::Fire(15, false, true, true, true, true).ID: return 1631; - case Fire::Fire(15, false, true, true, true, false).ID: return 1632; - case Fire::Fire(15, false, true, true, false, true).ID: return 1633; - case Fire::Fire(15, false, true, true, false, false).ID: return 1634; - case Fire::Fire(15, false, true, false, true, true).ID: return 1635; - case Fire::Fire(15, false, true, false, true, false).ID: return 1636; - case Fire::Fire(15, false, true, false, false, true).ID: return 1637; - case Fire::Fire(15, false, true, false, false, false).ID: return 1638; - case Fire::Fire(15, false, false, true, true, true).ID: return 1639; - case Fire::Fire(15, false, false, true, true, false).ID: return 1640; - case Fire::Fire(15, false, false, true, false, true).ID: return 1641; - case Fire::Fire(15, false, false, true, false, false).ID: return 1642; - case Fire::Fire(15, false, false, false, true, true).ID: return 1643; - case Fire::Fire(15, false, false, false, true, false).ID: return 1644; - case Fire::Fire(15, false, false, false, false, true).ID: return 1645; - case Fire::Fire(15, false, false, false, false, false).ID: return 1646; - case FireCoral::FireCoral().ID: return 8462; - case FireCoralBlock::FireCoralBlock().ID: return 8457; - case FireCoralFan::FireCoralFan().ID: return 8561; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8529; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8531; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8533; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8535; - case FlowerPot::FlowerPot().ID: return 5265; - case FrostedIce::FrostedIce(0).ID: return 8188; - case FrostedIce::FrostedIce(1).ID: return 8189; - case FrostedIce::FrostedIce(2).ID: return 8190; - case FrostedIce::FrostedIce(3).ID: return 8191; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3067; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3068; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3069; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3070; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3071; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3072; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3073; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3074; - case Glass::Glass().ID: return 230; - case GlassPane::GlassPane(true, true, true, true).ID: return 4213; - case GlassPane::GlassPane(true, true, true, false).ID: return 4214; - case GlassPane::GlassPane(true, true, false, true).ID: return 4217; - case GlassPane::GlassPane(true, true, false, false).ID: return 4218; - case GlassPane::GlassPane(true, false, true, true).ID: return 4221; - case GlassPane::GlassPane(true, false, true, false).ID: return 4222; - case GlassPane::GlassPane(true, false, false, true).ID: return 4225; - case GlassPane::GlassPane(true, false, false, false).ID: return 4226; - case GlassPane::GlassPane(false, true, true, true).ID: return 4229; - case GlassPane::GlassPane(false, true, true, false).ID: return 4230; - case GlassPane::GlassPane(false, true, false, true).ID: return 4233; - case GlassPane::GlassPane(false, true, false, false).ID: return 4234; - case GlassPane::GlassPane(false, false, true, true).ID: return 4237; - case GlassPane::GlassPane(false, false, true, false).ID: return 4238; - case GlassPane::GlassPane(false, false, false, true).ID: return 4241; - case GlassPane::GlassPane(false, false, false, false).ID: return 4242; - case Glowstone::Glowstone().ID: return 3495; - case GoldBlock::GoldBlock().ID: return 1123; - case GoldOre::GoldOre().ID: return 69; - case Granite::Granite().ID: return 2; - case Grass::Grass().ID: return 1041; - case GrassBlock::GrassBlock(true).ID: return 8; - case GrassBlock::GrassBlock(false).ID: return 9; - case GrassPath::GrassPath().ID: return 8162; - case Gravel::Gravel().ID: return 68; - case GrayBanner::GrayBanner(0).ID: return 6966; - case GrayBanner::GrayBanner(1).ID: return 6967; - case GrayBanner::GrayBanner(2).ID: return 6968; - case GrayBanner::GrayBanner(3).ID: return 6969; - case GrayBanner::GrayBanner(4).ID: return 6970; - case GrayBanner::GrayBanner(5).ID: return 6971; - case GrayBanner::GrayBanner(6).ID: return 6972; - case GrayBanner::GrayBanner(7).ID: return 6973; - case GrayBanner::GrayBanner(8).ID: return 6974; - case GrayBanner::GrayBanner(9).ID: return 6975; - case GrayBanner::GrayBanner(10).ID: return 6976; - case GrayBanner::GrayBanner(11).ID: return 6977; - case GrayBanner::GrayBanner(12).ID: return 6978; - case GrayBanner::GrayBanner(13).ID: return 6979; - case GrayBanner::GrayBanner(14).ID: return 6980; - case GrayBanner::GrayBanner(15).ID: return 6981; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 860; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 861; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 862; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 863; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 864; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 865; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 866; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 867; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 868; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 869; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 870; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 871; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 872; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 873; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 874; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 875; - case GrayCarpet::GrayCarpet().ID: return 6830; - case GrayConcrete::GrayConcrete().ID: return 8384; - case GrayConcretePowder::GrayConcretePowder().ID: return 8400; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8341; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8342; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8343; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8344; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8259; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8260; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8261; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8262; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8263; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8264; - case GrayStainedGlass::GrayStainedGlass().ID: return 3584; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 6046; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 6047; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 6050; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 6051; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 6054; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 6055; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 6058; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 6059; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 6062; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 6063; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 6066; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 6067; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 6070; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 6071; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 6074; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 6075; - case GrayTerracotta::GrayTerracotta().ID: return 5811; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7138; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7139; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7140; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7141; - case GrayWool::GrayWool().ID: return 1090; - case GreenBanner::GreenBanner(0).ID: return 7062; - case GreenBanner::GreenBanner(1).ID: return 7063; - case GreenBanner::GreenBanner(2).ID: return 7064; - case GreenBanner::GreenBanner(3).ID: return 7065; - case GreenBanner::GreenBanner(4).ID: return 7066; - case GreenBanner::GreenBanner(5).ID: return 7067; - case GreenBanner::GreenBanner(6).ID: return 7068; - case GreenBanner::GreenBanner(7).ID: return 7069; - case GreenBanner::GreenBanner(8).ID: return 7070; - case GreenBanner::GreenBanner(9).ID: return 7071; - case GreenBanner::GreenBanner(10).ID: return 7072; - case GreenBanner::GreenBanner(11).ID: return 7073; - case GreenBanner::GreenBanner(12).ID: return 7074; - case GreenBanner::GreenBanner(13).ID: return 7075; - case GreenBanner::GreenBanner(14).ID: return 7076; - case GreenBanner::GreenBanner(15).ID: return 7077; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 956; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 957; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 958; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 959; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 960; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 961; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 962; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 963; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 964; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 965; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 966; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 967; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 968; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 969; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 970; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 971; - case GreenCarpet::GreenCarpet().ID: return 6836; - case GreenConcrete::GreenConcrete().ID: return 8390; - case GreenConcretePowder::GreenConcretePowder().ID: return 8406; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8365; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8366; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8367; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8368; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8295; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8296; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8297; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8298; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8299; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8300; - case GreenStainedGlass::GreenStainedGlass().ID: return 3590; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 6238; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 6239; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 6242; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 6243; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 6246; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 6247; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 6250; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 6251; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 6254; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 6255; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 6258; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 6259; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 6262; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 6263; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 6266; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 6267; - case GreenTerracotta::GreenTerracotta().ID: return 5817; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7162; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7163; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7164; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7165; - case GreenWool::GreenWool().ID: return 1096; - case HayBale::HayBale(HayBale::Axis::X).ID: return 6820; - case HayBale::HayBale(HayBale::Axis::Y).ID: return 6821; - case HayBale::HayBale(HayBale::Axis::Z).ID: return 6822; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 5619; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 5620; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 5621; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 5622; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 5623; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 5624; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 5625; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 5626; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 5627; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 5628; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 5629; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 5630; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 5631; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 5632; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 5633; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 5634; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 5685; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5686; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5687; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 5688; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 5689; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 5690; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5691; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5692; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 5693; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 5694; - case HornCoral::HornCoral().ID: return 8463; - case HornCoralBlock::HornCoralBlock().ID: return 8458; - case HornCoralFan::HornCoralFan().ID: return 8563; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8537; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8539; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8541; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8543; - case Ice::Ice().ID: return 3423; - case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 3982; - case InfestedCobblestone::InfestedCobblestone().ID: return 3978; - case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 3981; - case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 3980; - case InfestedStone::InfestedStone().ID: return 3977; - case InfestedStoneBricks::InfestedStoneBricks().ID: return 3979; - case IronBars::IronBars(true, true, true, true).ID: return 4181; - case IronBars::IronBars(true, true, true, false).ID: return 4182; - case IronBars::IronBars(true, true, false, true).ID: return 4185; - case IronBars::IronBars(true, true, false, false).ID: return 4186; - case IronBars::IronBars(true, false, true, true).ID: return 4189; - case IronBars::IronBars(true, false, true, false).ID: return 4190; - case IronBars::IronBars(true, false, false, true).ID: return 4193; - case IronBars::IronBars(true, false, false, false).ID: return 4194; - case IronBars::IronBars(false, true, true, true).ID: return 4197; - case IronBars::IronBars(false, true, true, false).ID: return 4198; - case IronBars::IronBars(false, true, false, true).ID: return 4201; - case IronBars::IronBars(false, true, false, false).ID: return 4202; - case IronBars::IronBars(false, false, true, true).ID: return 4205; - case IronBars::IronBars(false, false, true, false).ID: return 4206; - case IronBars::IronBars(false, false, false, true).ID: return 4209; - case IronBars::IronBars(false, false, false, false).ID: return 4210; - case IronBlock::IronBlock().ID: return 1124; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3303; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3304; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3305; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3306; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3307; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3308; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3309; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3310; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3311; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3312; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3313; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3314; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3315; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3316; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3317; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3318; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3319; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3320; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3321; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3322; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3323; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3324; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3325; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3326; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3327; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3328; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3329; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3330; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3331; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3332; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3333; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3334; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3335; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3336; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3337; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3338; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3339; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3340; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3341; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3342; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3343; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3344; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3345; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3346; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3347; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3348; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3349; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3350; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3351; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3352; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3353; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3354; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3355; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3356; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3357; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3358; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3359; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3360; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3361; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3362; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3363; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3364; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3365; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3366; - case IronOre::IronOre().ID: return 70; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 6495; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: return 6497; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: return 6499; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: return 6501; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: return 6503; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: return 6505; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: return 6507; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: return 6509; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 6511; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: return 6513; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: return 6515; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: return 6517; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: return 6519; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: return 6521; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: return 6523; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: return 6525; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 6527; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: return 6529; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: return 6531; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: return 6533; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: return 6535; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: return 6537; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: return 6539; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: return 6541; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 6543; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: return 6545; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: return 6547; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: return 6549; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: return 6551; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: return 6553; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: return 6555; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: return 6557; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 3502; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 3503; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 3504; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 3505; - case Jukebox::Jukebox(true).ID: return 3458; - case Jukebox::Jukebox(false).ID: return 3459; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5375; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5376; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5377; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5378; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5379; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5380; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5381; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5382; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5383; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5384; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5385; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5386; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5387; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5388; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5389; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5390; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5391; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5392; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5393; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5394; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5395; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5396; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5397; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5398; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 7805; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 7806; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 7807; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 7808; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 7809; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 7810; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 7811; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 7812; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 7813; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 7814; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 7815; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 7816; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 7817; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 7818; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 7819; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 7820; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 7821; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 7822; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 7823; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 7824; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 7825; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 7826; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 7827; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 7828; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 7829; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 7830; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 7831; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 7832; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 7833; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 7834; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 7835; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 7836; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 7837; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 7838; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 7839; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 7840; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 7841; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 7842; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 7843; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 7844; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 7845; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 7846; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 7847; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 7848; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 7849; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 7850; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 7851; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 7852; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 7853; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 7854; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 7855; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 7856; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 7857; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 7858; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 7859; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 7860; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 7861; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 7862; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 7863; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 7864; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 7865; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 7866; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 7867; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 7868; - case JungleFence::JungleFence(true, true, true, true).ID: return 7583; - case JungleFence::JungleFence(true, true, true, false).ID: return 7584; - case JungleFence::JungleFence(true, true, false, true).ID: return 7587; - case JungleFence::JungleFence(true, true, false, false).ID: return 7588; - case JungleFence::JungleFence(true, false, true, true).ID: return 7591; - case JungleFence::JungleFence(true, false, true, false).ID: return 7592; - case JungleFence::JungleFence(true, false, false, true).ID: return 7595; - case JungleFence::JungleFence(true, false, false, false).ID: return 7596; - case JungleFence::JungleFence(false, true, true, true).ID: return 7599; - case JungleFence::JungleFence(false, true, true, false).ID: return 7600; - case JungleFence::JungleFence(false, true, false, true).ID: return 7603; - case JungleFence::JungleFence(false, true, false, false).ID: return 7604; - case JungleFence::JungleFence(false, false, true, true).ID: return 7607; - case JungleFence::JungleFence(false, false, true, false).ID: return 7608; - case JungleFence::JungleFence(false, false, false, true).ID: return 7611; - case JungleFence::JungleFence(false, false, false, false).ID: return 7612; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7421; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7422; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7423; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7424; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7425; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7426; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7427; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7428; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7429; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7430; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7431; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7432; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7433; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7434; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7435; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7436; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7437; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7438; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7439; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7440; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7441; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7442; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7443; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7444; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7445; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7446; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7447; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7448; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7449; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7450; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7451; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7452; - case JungleLeaves::JungleLeaves(1, true).ID: return 186; - case JungleLeaves::JungleLeaves(1, false).ID: return 187; - case JungleLeaves::JungleLeaves(2, true).ID: return 188; - case JungleLeaves::JungleLeaves(2, false).ID: return 189; - case JungleLeaves::JungleLeaves(3, true).ID: return 190; - case JungleLeaves::JungleLeaves(3, false).ID: return 191; - case JungleLeaves::JungleLeaves(4, true).ID: return 192; - case JungleLeaves::JungleLeaves(4, false).ID: return 193; - case JungleLeaves::JungleLeaves(5, true).ID: return 194; - case JungleLeaves::JungleLeaves(5, false).ID: return 195; - case JungleLeaves::JungleLeaves(6, true).ID: return 196; - case JungleLeaves::JungleLeaves(6, false).ID: return 197; - case JungleLeaves::JungleLeaves(7, true).ID: return 198; - case JungleLeaves::JungleLeaves(7, false).ID: return 199; - case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 81; - case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 82; - case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 83; - case JunglePlanks::JunglePlanks().ID: return 18; - case JunglePressurePlate::JunglePressurePlate(true).ID: return 3373; - case JunglePressurePlate::JunglePressurePlate(false).ID: return 3374; - case JungleSapling::JungleSapling(0).ID: return 27; - case JungleSapling::JungleSapling(1).ID: return 28; - case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 7276; - case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 7278; - case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 7280; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5045; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5047; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5049; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5051; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5053; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5055; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5057; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5059; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5061; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5063; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5065; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5067; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5069; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5071; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5073; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5075; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5077; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5079; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5081; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5083; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5085; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5087; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5089; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5091; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5093; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5095; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5097; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5099; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5101; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5103; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5105; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5107; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5109; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5111; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5113; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5115; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5117; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5119; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5121; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5123; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: return 3786; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: return 3788; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: return 3790; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: return 3792; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: return 3794; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: return 3796; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: return 3798; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: return 3800; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: return 3802; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: return 3804; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: return 3806; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: return 3808; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: return 3810; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: return 3812; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: return 3814; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: return 3816; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: return 3818; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: return 3820; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: return 3822; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: return 3824; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: return 3826; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: return 3828; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: return 3830; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: return 3832; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: return 3834; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: return 3836; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: return 3838; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: return 3840; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: return 3842; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: return 3844; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: return 3846; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: return 3848; - case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 117; - case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 118; - case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 119; - case Kelp::Kelp(0).ID: return 8409; - case Kelp::Kelp(1).ID: return 8410; - case Kelp::Kelp(2).ID: return 8411; - case Kelp::Kelp(3).ID: return 8412; - case Kelp::Kelp(4).ID: return 8413; - case Kelp::Kelp(5).ID: return 8414; - case Kelp::Kelp(6).ID: return 8415; - case Kelp::Kelp(7).ID: return 8416; - case Kelp::Kelp(8).ID: return 8417; - case Kelp::Kelp(9).ID: return 8418; - case Kelp::Kelp(10).ID: return 8419; - case Kelp::Kelp(11).ID: return 8420; - case Kelp::Kelp(12).ID: return 8421; - case Kelp::Kelp(13).ID: return 8422; - case Kelp::Kelp(14).ID: return 8423; - case Kelp::Kelp(15).ID: return 8424; - case Kelp::Kelp(16).ID: return 8425; - case Kelp::Kelp(17).ID: return 8426; - case Kelp::Kelp(18).ID: return 8427; - case Kelp::Kelp(19).ID: return 8428; - case Kelp::Kelp(20).ID: return 8429; - case Kelp::Kelp(21).ID: return 8430; - case Kelp::Kelp(22).ID: return 8431; - case Kelp::Kelp(23).ID: return 8432; - case Kelp::Kelp(24).ID: return 8433; - case Kelp::Kelp(25).ID: return 8434; - case KelpPlant::KelpPlant().ID: return 8435; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3172; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3174; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3176; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3178; - case LapisBlock::LapisBlock().ID: return 232; - case LapisOre::LapisOre().ID: return 231; - case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 6852; - case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 6853; - case Lava::Lava(0).ID: return 50; - case Lava::Lava(1).ID: return 51; - case Lava::Lava(2).ID: return 52; - case Lava::Lava(3).ID: return 53; - case Lava::Lava(4).ID: return 54; - case Lava::Lava(5).ID: return 55; - case Lava::Lava(6).ID: return 56; - case Lava::Lava(7).ID: return 57; - case Lava::Lava(8).ID: return 58; - case Lava::Lava(9).ID: return 59; - case Lava::Lava(10).ID: return 60; - case Lava::Lava(11).ID: return 61; - case Lava::Lava(12).ID: return 62; - case Lava::Lava(13).ID: return 63; - case Lava::Lava(14).ID: return 64; - case Lava::Lava(15).ID: return 65; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3277; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3278; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3279; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3280; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3281; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3282; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3283; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3284; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3285; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3286; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3287; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3288; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3289; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3290; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3291; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3292; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3293; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3294; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3295; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3296; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3297; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3298; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3299; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3300; - case LightBlueBanner::LightBlueBanner(0).ID: return 6902; - case LightBlueBanner::LightBlueBanner(1).ID: return 6903; - case LightBlueBanner::LightBlueBanner(2).ID: return 6904; - case LightBlueBanner::LightBlueBanner(3).ID: return 6905; - case LightBlueBanner::LightBlueBanner(4).ID: return 6906; - case LightBlueBanner::LightBlueBanner(5).ID: return 6907; - case LightBlueBanner::LightBlueBanner(6).ID: return 6908; - case LightBlueBanner::LightBlueBanner(7).ID: return 6909; - case LightBlueBanner::LightBlueBanner(8).ID: return 6910; - case LightBlueBanner::LightBlueBanner(9).ID: return 6911; - case LightBlueBanner::LightBlueBanner(10).ID: return 6912; - case LightBlueBanner::LightBlueBanner(11).ID: return 6913; - case LightBlueBanner::LightBlueBanner(12).ID: return 6914; - case LightBlueBanner::LightBlueBanner(13).ID: return 6915; - case LightBlueBanner::LightBlueBanner(14).ID: return 6916; - case LightBlueBanner::LightBlueBanner(15).ID: return 6917; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 796; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 797; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 798; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 799; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 800; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 801; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 802; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 803; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 804; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 805; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 806; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 807; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 808; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 809; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 810; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 811; - case LightBlueCarpet::LightBlueCarpet().ID: return 6826; - case LightBlueConcrete::LightBlueConcrete().ID: return 8380; - case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 8396; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8325; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8326; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8327; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8328; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8235; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8236; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8237; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8238; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8239; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8240; - case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 3580; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 5918; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 5919; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 5922; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 5923; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 5926; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 5927; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 5930; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 5931; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 5934; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 5935; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 5938; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 5939; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 5942; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 5943; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 5946; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 5947; - case LightBlueTerracotta::LightBlueTerracotta().ID: return 5807; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7122; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7123; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7124; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7125; - case LightBlueWool::LightBlueWool().ID: return 1086; - case LightGrayBanner::LightGrayBanner(0).ID: return 6982; - case LightGrayBanner::LightGrayBanner(1).ID: return 6983; - case LightGrayBanner::LightGrayBanner(2).ID: return 6984; - case LightGrayBanner::LightGrayBanner(3).ID: return 6985; - case LightGrayBanner::LightGrayBanner(4).ID: return 6986; - case LightGrayBanner::LightGrayBanner(5).ID: return 6987; - case LightGrayBanner::LightGrayBanner(6).ID: return 6988; - case LightGrayBanner::LightGrayBanner(7).ID: return 6989; - case LightGrayBanner::LightGrayBanner(8).ID: return 6990; - case LightGrayBanner::LightGrayBanner(9).ID: return 6991; - case LightGrayBanner::LightGrayBanner(10).ID: return 6992; - case LightGrayBanner::LightGrayBanner(11).ID: return 6993; - case LightGrayBanner::LightGrayBanner(12).ID: return 6994; - case LightGrayBanner::LightGrayBanner(13).ID: return 6995; - case LightGrayBanner::LightGrayBanner(14).ID: return 6996; - case LightGrayBanner::LightGrayBanner(15).ID: return 6997; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 876; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 877; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 878; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 879; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 880; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 881; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 882; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 883; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 884; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 885; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 886; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 887; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 888; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 889; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 890; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 891; - case LightGrayCarpet::LightGrayCarpet().ID: return 6831; - case LightGrayConcrete::LightGrayConcrete().ID: return 8385; - case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 8401; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8345; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8346; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8347; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8348; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8265; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8266; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8267; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8268; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8269; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8270; - case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 3585; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 6078; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 6079; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 6082; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 6083; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 6086; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 6087; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 6090; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 6091; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 6094; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 6095; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 6098; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 6099; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 6102; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 6103; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 6106; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 6107; - case LightGrayTerracotta::LightGrayTerracotta().ID: return 5812; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7142; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7143; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7144; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7145; - case LightGrayWool::LightGrayWool().ID: return 1091; - case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 5603; - case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 5604; - case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 5605; - case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 5606; - case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 5607; - case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 5608; - case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 5609; - case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 5610; - case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 5611; - case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 5612; - case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 5613; - case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 5614; - case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 5615; - case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 5616; - case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 5617; - case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 5618; - case Lilac::Lilac(Lilac::Half::Upper).ID: return 6844; - case Lilac::Lilac(Lilac::Half::Lower).ID: return 6845; - case LilyPad::LilyPad().ID: return 4494; - case LimeBanner::LimeBanner(0).ID: return 6934; - case LimeBanner::LimeBanner(1).ID: return 6935; - case LimeBanner::LimeBanner(2).ID: return 6936; - case LimeBanner::LimeBanner(3).ID: return 6937; - case LimeBanner::LimeBanner(4).ID: return 6938; - case LimeBanner::LimeBanner(5).ID: return 6939; - case LimeBanner::LimeBanner(6).ID: return 6940; - case LimeBanner::LimeBanner(7).ID: return 6941; - case LimeBanner::LimeBanner(8).ID: return 6942; - case LimeBanner::LimeBanner(9).ID: return 6943; - case LimeBanner::LimeBanner(10).ID: return 6944; - case LimeBanner::LimeBanner(11).ID: return 6945; - case LimeBanner::LimeBanner(12).ID: return 6946; - case LimeBanner::LimeBanner(13).ID: return 6947; - case LimeBanner::LimeBanner(14).ID: return 6948; - case LimeBanner::LimeBanner(15).ID: return 6949; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 828; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 829; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 830; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 831; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 832; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 833; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 834; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 835; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 836; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 837; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 838; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 839; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 840; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 841; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 842; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 843; - case LimeCarpet::LimeCarpet().ID: return 6828; - case LimeConcrete::LimeConcrete().ID: return 8382; - case LimeConcretePowder::LimeConcretePowder().ID: return 8398; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8333; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8334; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8335; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8336; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8247; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8248; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8249; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8250; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8251; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8252; - case LimeStainedGlass::LimeStainedGlass().ID: return 3582; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 5982; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 5983; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 5986; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 5987; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 5990; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 5991; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 5994; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 5995; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 5998; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 5999; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 6002; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 6003; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 6006; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 6007; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 6010; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 6011; - case LimeTerracotta::LimeTerracotta().ID: return 5809; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7130; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7131; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7132; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7133; - case LimeWool::LimeWool().ID: return 1088; - case MagentaBanner::MagentaBanner(0).ID: return 6886; - case MagentaBanner::MagentaBanner(1).ID: return 6887; - case MagentaBanner::MagentaBanner(2).ID: return 6888; - case MagentaBanner::MagentaBanner(3).ID: return 6889; - case MagentaBanner::MagentaBanner(4).ID: return 6890; - case MagentaBanner::MagentaBanner(5).ID: return 6891; - case MagentaBanner::MagentaBanner(6).ID: return 6892; - case MagentaBanner::MagentaBanner(7).ID: return 6893; - case MagentaBanner::MagentaBanner(8).ID: return 6894; - case MagentaBanner::MagentaBanner(9).ID: return 6895; - case MagentaBanner::MagentaBanner(10).ID: return 6896; - case MagentaBanner::MagentaBanner(11).ID: return 6897; - case MagentaBanner::MagentaBanner(12).ID: return 6898; - case MagentaBanner::MagentaBanner(13).ID: return 6899; - case MagentaBanner::MagentaBanner(14).ID: return 6900; - case MagentaBanner::MagentaBanner(15).ID: return 6901; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 780; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 781; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 782; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 783; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 784; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 785; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 786; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 787; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 788; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 789; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 790; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 791; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 792; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 793; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 794; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 795; - case MagentaCarpet::MagentaCarpet().ID: return 6825; - case MagentaConcrete::MagentaConcrete().ID: return 8379; - case MagentaConcretePowder::MagentaConcretePowder().ID: return 8395; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8321; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8322; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8323; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8324; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8229; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8230; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8231; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8232; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8233; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8234; - case MagentaStainedGlass::MagentaStainedGlass().ID: return 3579; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 5886; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 5887; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 5890; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 5891; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 5894; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 5895; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 5898; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 5899; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 5902; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 5903; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 5906; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 5907; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 5910; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 5911; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 5914; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 5915; - case MagentaTerracotta::MagentaTerracotta().ID: return 5806; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7118; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7119; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7120; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7121; - case MagentaWool::MagentaWool().ID: return 1085; - case MagmaBlock::MagmaBlock().ID: return 8192; - case Melon::Melon().ID: return 4243; - case MelonStem::MelonStem(0).ID: return 4260; - case MelonStem::MelonStem(1).ID: return 4261; - case MelonStem::MelonStem(2).ID: return 4262; - case MelonStem::MelonStem(3).ID: return 4263; - case MelonStem::MelonStem(4).ID: return 4264; - case MelonStem::MelonStem(5).ID: return 4265; - case MelonStem::MelonStem(6).ID: return 4266; - case MelonStem::MelonStem(7).ID: return 4267; - case MossyCobblestone::MossyCobblestone().ID: return 1128; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5203; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5204; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5207; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5208; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5211; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5212; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5215; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5216; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5219; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5220; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5223; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5224; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5227; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5228; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5231; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5232; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5235; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5236; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5239; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5240; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5243; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5244; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5247; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5248; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5251; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5252; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5255; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5256; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5259; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5260; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5263; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5264; - case MossyStoneBricks::MossyStoneBricks().ID: return 3984; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1099; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1100; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1101; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1102; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1103; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1104; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1105; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1106; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1107; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1108; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1109; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1110; - case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4115; - case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4116; - case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4117; - case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4118; - case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4119; - case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4120; - case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4121; - case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4122; - case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4123; - case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4124; - case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4125; - case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4126; - case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4127; - case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4128; - case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4129; - case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4130; - case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4131; - case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4132; - case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4133; - case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4134; - case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4135; - case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4136; - case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4137; - case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4138; - case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4139; - case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4140; - case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4141; - case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4142; - case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4143; - case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4144; - case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4145; - case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4146; - case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4147; - case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4148; - case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4149; - case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4150; - case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4151; - case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4152; - case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4153; - case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4154; - case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4155; - case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4156; - case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4157; - case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4158; - case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4159; - case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4160; - case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4161; - case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4162; - case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4163; - case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4164; - case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4165; - case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4166; - case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4167; - case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4168; - case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4169; - case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4170; - case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4171; - case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4172; - case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4173; - case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4174; - case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4175; - case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4176; - case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4177; - case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4178; - case Mycelium::Mycelium(true).ID: return 4492; - case Mycelium::Mycelium(false).ID: return 4493; - case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 4498; - case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 4499; - case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 4502; - case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 4503; - case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 4506; - case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 4507; - case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 4510; - case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 4511; - case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 4514; - case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 4515; - case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 4518; - case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 4519; - case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 4522; - case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 4523; - case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 4526; - case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 4527; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 7330; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 7332; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 7334; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 4529; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 4531; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 4533; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 4535; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 4537; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 4539; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 4541; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 4543; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 4545; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 4547; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 4549; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 4551; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 4553; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 4555; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 4557; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 4559; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 4561; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 4563; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 4565; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 4567; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 4569; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 4571; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 4573; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 4575; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 4577; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 4579; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 4581; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 4583; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 4585; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 4587; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 4589; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 4591; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 4593; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 4595; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 4597; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 4599; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 4601; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 4603; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 4605; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 4607; - case NetherBricks::NetherBricks().ID: return 4495; - case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 3496; - case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 3497; - case NetherQuartzOre::NetherQuartzOre().ID: return 5684; - case NetherWart::NetherWart(0).ID: return 4608; - case NetherWart::NetherWart(1).ID: return 4609; - case NetherWart::NetherWart(2).ID: return 4610; - case NetherWart::NetherWart(3).ID: return 4611; - case NetherWartBlock::NetherWartBlock().ID: return 8193; - case Netherrack::Netherrack().ID: return 3493; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 248; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 249; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 250; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 251; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 252; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 253; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 254; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 255; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 256; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 257; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 258; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 259; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 260; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 261; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 262; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 263; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 264; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 265; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 266; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 267; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 268; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 269; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 270; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 271; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 272; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 273; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 274; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 275; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 276; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 277; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 278; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 279; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 280; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 281; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 282; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 283; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 284; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 285; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 286; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 287; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 288; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 289; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 290; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 291; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 292; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 293; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 294; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 295; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 296; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 297; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 298; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 299; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 300; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 301; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 302; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 303; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 304; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 305; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 306; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 307; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 308; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 309; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 310; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 311; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 312; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 313; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 314; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 315; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 316; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 317; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 318; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 319; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 320; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 321; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 322; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 323; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 324; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 325; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 326; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 327; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 328; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 329; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 330; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 331; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 332; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 333; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 334; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 335; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 336; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 337; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 338; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 339; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 340; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 341; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 342; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 343; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 344; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 345; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 346; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 347; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 348; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 349; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 350; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 351; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 352; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 353; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 354; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 355; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 356; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 357; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 358; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 359; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 360; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 361; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 362; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 363; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 364; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 365; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 366; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 367; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 368; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 369; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 370; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 371; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 372; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 373; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 374; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 375; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 376; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 377; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 378; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 379; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 380; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 381; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 382; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 383; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 384; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 385; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 386; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 387; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 388; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 389; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 390; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 391; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 392; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 393; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 394; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 395; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 396; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 397; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 398; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 399; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 400; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 401; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 402; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 403; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 404; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 405; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 406; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 407; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 408; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 409; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 410; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 411; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 412; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 413; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 414; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 415; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 416; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 417; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 418; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 419; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 420; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 421; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 422; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 423; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 424; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 425; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 426; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 427; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 428; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 429; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 430; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 431; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 432; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 433; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 434; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 435; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 436; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 437; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 438; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 439; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 440; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 441; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 442; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 443; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 444; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 445; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 446; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 447; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 448; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 449; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 450; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 451; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 452; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 453; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 454; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 455; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 456; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 457; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 458; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 459; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 460; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 461; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 462; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 463; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 464; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 465; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 466; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 467; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 468; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 469; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 470; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 471; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 472; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 473; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 474; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 475; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 476; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 477; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 478; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 479; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 480; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 481; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 482; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 483; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 484; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 485; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 486; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 487; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 488; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 489; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 490; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 491; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 492; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 493; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 494; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 495; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 496; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 497; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 498; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 499; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 500; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 501; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 502; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 503; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 504; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 505; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 506; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 507; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 508; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 509; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 510; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 511; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 512; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 513; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 514; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 515; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 516; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 517; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 518; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 519; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 520; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 521; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 522; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 523; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 524; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 525; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 526; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 527; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 528; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 529; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 530; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 531; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 532; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 533; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 534; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 535; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 536; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 537; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 538; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 539; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 540; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 541; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 542; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 543; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 544; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 545; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 546; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 547; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 548; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 549; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 550; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 551; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 552; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 553; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 554; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 555; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 556; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 557; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 558; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 559; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 560; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 561; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 562; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 563; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 564; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 565; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 566; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 567; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 568; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 569; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 570; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 571; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 572; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 573; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 574; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 575; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 576; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 577; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 578; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 579; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 580; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 581; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 582; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 583; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 584; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 585; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 586; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 587; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 588; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 589; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 590; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 591; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 592; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 593; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 594; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 595; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 596; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 597; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 598; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 599; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 600; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 601; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 602; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 603; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 604; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 605; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 606; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 607; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 608; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 609; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 610; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 611; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 612; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 613; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 614; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 615; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 616; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 617; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 618; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 619; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 620; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 621; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 622; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 623; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 624; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 625; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 626; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 627; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 628; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 629; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 630; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 631; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 632; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 633; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 634; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 635; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 636; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 637; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 638; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 639; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 640; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 641; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 642; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 643; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 644; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 645; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 646; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 647; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 648; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 649; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 650; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 651; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 652; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 653; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 654; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 655; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 656; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 657; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 658; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 659; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 660; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 661; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 662; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 663; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 664; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 665; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 666; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 667; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 668; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 669; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 670; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 671; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 672; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 673; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 674; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 675; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 676; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 677; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 678; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 679; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 680; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 681; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 682; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 683; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 684; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 685; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 686; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 687; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 688; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 689; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 690; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 691; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 692; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 693; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 694; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 695; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 696; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 697; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 698; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 699; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 700; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 701; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 702; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 703; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 704; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 705; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 706; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 707; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 708; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 709; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 710; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 711; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 712; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 713; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 714; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 715; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 716; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 717; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 718; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 719; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 720; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 721; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 722; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 723; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 724; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 725; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 726; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 727; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 728; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 729; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 730; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 731; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 732; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 733; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 734; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 735; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 736; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 737; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 738; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 739; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 740; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 741; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 742; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 743; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 744; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 745; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 746; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 747; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5303; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5304; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5305; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5306; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5307; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5308; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5309; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5310; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5311; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5312; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5313; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5314; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5315; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5316; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5317; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5318; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5319; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5320; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5321; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5322; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5323; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5324; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5325; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5326; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3107; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3108; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3109; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3110; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3111; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3112; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3113; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3114; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3115; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3116; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3117; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3118; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3119; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3120; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3121; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3122; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3123; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3124; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3125; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3126; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3127; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3128; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3129; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3130; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3131; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3132; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3133; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3134; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3135; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3136; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3137; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3138; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3139; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3140; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3141; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3142; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3143; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3144; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3145; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3146; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3147; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3148; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3149; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3150; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3151; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3152; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3153; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3154; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3155; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3156; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3157; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3158; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3159; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3160; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3161; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3162; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3163; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3164; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3165; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3166; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3167; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3168; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3169; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3170; - case OakFence::OakFence(true, true, true, true).ID: return 3462; - case OakFence::OakFence(true, true, true, false).ID: return 3463; - case OakFence::OakFence(true, true, false, true).ID: return 3466; - case OakFence::OakFence(true, true, false, false).ID: return 3467; - case OakFence::OakFence(true, false, true, true).ID: return 3470; - case OakFence::OakFence(true, false, true, false).ID: return 3471; - case OakFence::OakFence(true, false, false, true).ID: return 3474; - case OakFence::OakFence(true, false, false, false).ID: return 3475; - case OakFence::OakFence(false, true, true, true).ID: return 3478; - case OakFence::OakFence(false, true, true, false).ID: return 3479; - case OakFence::OakFence(false, true, false, true).ID: return 3482; - case OakFence::OakFence(false, true, false, false).ID: return 3483; - case OakFence::OakFence(false, false, true, true).ID: return 3486; - case OakFence::OakFence(false, false, true, false).ID: return 3487; - case OakFence::OakFence(false, false, false, true).ID: return 3490; - case OakFence::OakFence(false, false, false, false).ID: return 3491; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4300; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4301; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4302; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4303; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4304; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4305; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4306; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4307; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4308; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4309; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4310; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4311; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4312; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4313; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4314; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4315; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4316; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4317; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4318; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4319; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4320; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4321; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4322; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4323; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4324; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4325; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4326; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4327; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4328; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4329; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4330; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4331; - case OakLeaves::OakLeaves(1, true).ID: return 144; - case OakLeaves::OakLeaves(1, false).ID: return 145; - case OakLeaves::OakLeaves(2, true).ID: return 146; - case OakLeaves::OakLeaves(2, false).ID: return 147; - case OakLeaves::OakLeaves(3, true).ID: return 148; - case OakLeaves::OakLeaves(3, false).ID: return 149; - case OakLeaves::OakLeaves(4, true).ID: return 150; - case OakLeaves::OakLeaves(4, false).ID: return 151; - case OakLeaves::OakLeaves(5, true).ID: return 152; - case OakLeaves::OakLeaves(5, false).ID: return 153; - case OakLeaves::OakLeaves(6, true).ID: return 154; - case OakLeaves::OakLeaves(6, false).ID: return 155; - case OakLeaves::OakLeaves(7, true).ID: return 156; - case OakLeaves::OakLeaves(7, false).ID: return 157; - case OakLog::OakLog(OakLog::Axis::X).ID: return 72; - case OakLog::OakLog(OakLog::Axis::Y).ID: return 73; - case OakLog::OakLog(OakLog::Axis::Z).ID: return 74; - case OakPlanks::OakPlanks().ID: return 15; - case OakPressurePlate::OakPressurePlate(true).ID: return 3367; - case OakPressurePlate::OakPressurePlate(false).ID: return 3368; - case OakSapling::OakSapling(0).ID: return 21; - case OakSapling::OakSapling(1).ID: return 22; - case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 7258; - case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 7260; - case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 7262; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1649; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1651; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1653; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1655; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1657; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1659; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1661; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1663; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1665; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1667; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1669; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1671; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1673; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1675; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1677; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1679; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1681; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1683; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1685; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1687; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1689; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1691; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1693; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1695; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1697; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1699; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1701; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1703; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1705; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1707; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1709; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1711; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1713; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1715; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1717; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1719; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1721; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1723; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1725; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1727; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 3594; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 3596; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 3598; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 3600; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 3602; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: return 3604; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: return 3606; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: return 3608; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 3610; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 3612; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 3614; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 3616; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 3618; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: return 3620; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: return 3622; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: return 3624; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 3626; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 3628; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 3630; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 3632; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 3634; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: return 3636; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: return 3638; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: return 3640; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 3642; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 3644; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 3646; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 3648; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 3650; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: return 3652; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: return 3654; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: return 3656; - case OakWood::OakWood(OakWood::Axis::X).ID: return 108; - case OakWood::OakWood(OakWood::Axis::Y).ID: return 109; - case OakWood::OakWood(OakWood::Axis::Z).ID: return 110; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 8199; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 8200; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 8201; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 8202; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 8203; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 8204; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 8205; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 8206; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 8207; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 8208; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 8209; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 8210; - case Obsidian::Obsidian().ID: return 1129; - case OrangeBanner::OrangeBanner(0).ID: return 6870; - case OrangeBanner::OrangeBanner(1).ID: return 6871; - case OrangeBanner::OrangeBanner(2).ID: return 6872; - case OrangeBanner::OrangeBanner(3).ID: return 6873; - case OrangeBanner::OrangeBanner(4).ID: return 6874; - case OrangeBanner::OrangeBanner(5).ID: return 6875; - case OrangeBanner::OrangeBanner(6).ID: return 6876; - case OrangeBanner::OrangeBanner(7).ID: return 6877; - case OrangeBanner::OrangeBanner(8).ID: return 6878; - case OrangeBanner::OrangeBanner(9).ID: return 6879; - case OrangeBanner::OrangeBanner(10).ID: return 6880; - case OrangeBanner::OrangeBanner(11).ID: return 6881; - case OrangeBanner::OrangeBanner(12).ID: return 6882; - case OrangeBanner::OrangeBanner(13).ID: return 6883; - case OrangeBanner::OrangeBanner(14).ID: return 6884; - case OrangeBanner::OrangeBanner(15).ID: return 6885; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 764; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 765; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 766; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 767; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 768; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 769; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 770; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 771; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 772; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 773; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 774; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 775; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 776; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 777; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 778; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 779; - case OrangeCarpet::OrangeCarpet().ID: return 6824; - case OrangeConcrete::OrangeConcrete().ID: return 8378; - case OrangeConcretePowder::OrangeConcretePowder().ID: return 8394; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8317; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8318; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8319; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8320; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8223; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8224; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8225; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8226; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8227; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8228; - case OrangeStainedGlass::OrangeStainedGlass().ID: return 3578; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 5854; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 5855; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 5858; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 5859; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 5862; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 5863; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 5866; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 5867; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 5870; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 5871; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 5874; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 5875; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 5878; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 5879; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 5882; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 5883; - case OrangeTerracotta::OrangeTerracotta().ID: return 5805; - case OrangeTulip::OrangeTulip().ID: return 1117; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7114; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7115; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7116; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7117; - case OrangeWool::OrangeWool().ID: return 1084; - case OxeyeDaisy::OxeyeDaisy().ID: return 1120; - case PackedIce::PackedIce().ID: return 6841; - case Peony::Peony(Peony::Half::Upper).ID: return 6848; - case Peony::Peony(Peony::Half::Lower).ID: return 6849; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 7306; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 7308; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 7310; - case PinkBanner::PinkBanner(0).ID: return 6950; - case PinkBanner::PinkBanner(1).ID: return 6951; - case PinkBanner::PinkBanner(2).ID: return 6952; - case PinkBanner::PinkBanner(3).ID: return 6953; - case PinkBanner::PinkBanner(4).ID: return 6954; - case PinkBanner::PinkBanner(5).ID: return 6955; - case PinkBanner::PinkBanner(6).ID: return 6956; - case PinkBanner::PinkBanner(7).ID: return 6957; - case PinkBanner::PinkBanner(8).ID: return 6958; - case PinkBanner::PinkBanner(9).ID: return 6959; - case PinkBanner::PinkBanner(10).ID: return 6960; - case PinkBanner::PinkBanner(11).ID: return 6961; - case PinkBanner::PinkBanner(12).ID: return 6962; - case PinkBanner::PinkBanner(13).ID: return 6963; - case PinkBanner::PinkBanner(14).ID: return 6964; - case PinkBanner::PinkBanner(15).ID: return 6965; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 844; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 845; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 846; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 847; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 848; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 849; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 850; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 851; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 852; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 853; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 854; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 855; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 856; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 857; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 858; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 859; - case PinkCarpet::PinkCarpet().ID: return 6829; - case PinkConcrete::PinkConcrete().ID: return 8383; - case PinkConcretePowder::PinkConcretePowder().ID: return 8399; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8337; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8338; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8339; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8340; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8253; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8254; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8255; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8256; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8257; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8258; - case PinkStainedGlass::PinkStainedGlass().ID: return 3583; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 6014; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 6015; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 6018; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 6019; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 6022; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 6023; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 6026; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 6027; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 6030; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 6031; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 6034; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 6035; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 6038; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 6039; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 6042; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 6043; - case PinkTerracotta::PinkTerracotta().ID: return 5810; - case PinkTulip::PinkTulip().ID: return 1119; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7134; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7135; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7136; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7137; - case PinkWool::PinkWool().ID: return 1089; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1047; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1048; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1049; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1050; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1051; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1052; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1053; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1054; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1055; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1056; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1057; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1058; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1059; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1060; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1061; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1062; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1063; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1064; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1065; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1066; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1067; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1068; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1069; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1070; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1071; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1072; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1073; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1074; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1075; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1076; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1077; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1078; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1079; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1080; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1081; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1082; - case PlayerHead::PlayerHead(0).ID: return 5511; - case PlayerHead::PlayerHead(1).ID: return 5512; - case PlayerHead::PlayerHead(2).ID: return 5513; - case PlayerHead::PlayerHead(3).ID: return 5514; - case PlayerHead::PlayerHead(4).ID: return 5515; - case PlayerHead::PlayerHead(5).ID: return 5516; - case PlayerHead::PlayerHead(6).ID: return 5517; - case PlayerHead::PlayerHead(7).ID: return 5518; - case PlayerHead::PlayerHead(8).ID: return 5519; - case PlayerHead::PlayerHead(9).ID: return 5520; - case PlayerHead::PlayerHead(10).ID: return 5521; - case PlayerHead::PlayerHead(11).ID: return 5522; - case PlayerHead::PlayerHead(12).ID: return 5523; - case PlayerHead::PlayerHead(13).ID: return 5524; - case PlayerHead::PlayerHead(14).ID: return 5525; - case PlayerHead::PlayerHead(15).ID: return 5526; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5507; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5508; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5509; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5510; - case Podzol::Podzol(true).ID: return 12; - case Podzol::Podzol(false).ID: return 13; - case PolishedAndesite::PolishedAndesite().ID: return 7; - case PolishedDiorite::PolishedDiorite().ID: return 5; - case PolishedGranite::PolishedGranite().ID: return 3; - case Poppy::Poppy().ID: return 1112; - case Potatoes::Potatoes(0).ID: return 5295; - case Potatoes::Potatoes(1).ID: return 5296; - case Potatoes::Potatoes(2).ID: return 5297; - case Potatoes::Potatoes(3).ID: return 5298; - case Potatoes::Potatoes(4).ID: return 5299; - case Potatoes::Potatoes(5).ID: return 5300; - case Potatoes::Potatoes(6).ID: return 5301; - case Potatoes::Potatoes(7).ID: return 5302; - case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 5270; - case PottedAllium::PottedAllium().ID: return 5276; - case PottedAzureBluet::PottedAzureBluet().ID: return 5277; - case PottedBirchSapling::PottedBirchSapling().ID: return 5268; - case PottedBlueOrchid::PottedBlueOrchid().ID: return 5275; - case PottedBrownMushroom::PottedBrownMushroom().ID: return 5284; - case PottedCactus::PottedCactus().ID: return 5286; - case PottedDandelion::PottedDandelion().ID: return 5273; - case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 5271; - case PottedDeadBush::PottedDeadBush().ID: return 5285; - case PottedFern::PottedFern().ID: return 5272; - case PottedJungleSapling::PottedJungleSapling().ID: return 5269; - case PottedOakSapling::PottedOakSapling().ID: return 5266; - case PottedOrangeTulip::PottedOrangeTulip().ID: return 5279; - case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 5282; - case PottedPinkTulip::PottedPinkTulip().ID: return 5281; - case PottedPoppy::PottedPoppy().ID: return 5274; - case PottedRedMushroom::PottedRedMushroom().ID: return 5283; - case PottedRedTulip::PottedRedTulip().ID: return 5278; - case PottedSpruceSapling::PottedSpruceSapling().ID: return 5267; - case PottedWhiteTulip::PottedWhiteTulip().ID: return 5280; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1004; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1005; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1006; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1007; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1008; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1009; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1010; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1011; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1012; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1013; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1014; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1015; - case Prismarine::Prismarine().ID: return 6558; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 6808; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 6810; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 6812; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 6642; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6644; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 6646; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6648; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 6650; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 6652; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6654; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 6656; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6658; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 6660; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 6662; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6664; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 6666; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6668; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 6670; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 6672; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6674; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 6676; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6678; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 6680; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 6682; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6684; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 6686; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6688; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 6690; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 6692; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6694; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 6696; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6698; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 6700; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 6702; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6704; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 6706; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6708; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 6710; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 6712; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6714; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 6716; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6718; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 6720; - case PrismarineBricks::PrismarineBricks().ID: return 6559; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 6802; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 6804; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 6806; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 6562; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 6564; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 6566; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 6568; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 6570; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 6572; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 6574; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 6576; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 6578; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 6580; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 6582; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 6584; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 6586; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 6588; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 6590; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 6592; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 6594; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 6596; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 6598; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 6600; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 6602; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 6604; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 6606; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 6608; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 6610; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 6612; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 6614; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 6616; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 6618; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 6620; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 6622; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 6624; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 6626; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 6628; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 6630; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 6632; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 6634; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 6636; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 6638; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 6640; - case Pumpkin::Pumpkin().ID: return 3492; - case PumpkinStem::PumpkinStem(0).ID: return 4252; - case PumpkinStem::PumpkinStem(1).ID: return 4253; - case PumpkinStem::PumpkinStem(2).ID: return 4254; - case PumpkinStem::PumpkinStem(3).ID: return 4255; - case PumpkinStem::PumpkinStem(4).ID: return 4256; - case PumpkinStem::PumpkinStem(5).ID: return 4257; - case PumpkinStem::PumpkinStem(6).ID: return 4258; - case PumpkinStem::PumpkinStem(7).ID: return 4259; - case PurpleBanner::PurpleBanner(0).ID: return 7014; - case PurpleBanner::PurpleBanner(1).ID: return 7015; - case PurpleBanner::PurpleBanner(2).ID: return 7016; - case PurpleBanner::PurpleBanner(3).ID: return 7017; - case PurpleBanner::PurpleBanner(4).ID: return 7018; - case PurpleBanner::PurpleBanner(5).ID: return 7019; - case PurpleBanner::PurpleBanner(6).ID: return 7020; - case PurpleBanner::PurpleBanner(7).ID: return 7021; - case PurpleBanner::PurpleBanner(8).ID: return 7022; - case PurpleBanner::PurpleBanner(9).ID: return 7023; - case PurpleBanner::PurpleBanner(10).ID: return 7024; - case PurpleBanner::PurpleBanner(11).ID: return 7025; - case PurpleBanner::PurpleBanner(12).ID: return 7026; - case PurpleBanner::PurpleBanner(13).ID: return 7027; - case PurpleBanner::PurpleBanner(14).ID: return 7028; - case PurpleBanner::PurpleBanner(15).ID: return 7029; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 908; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 909; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 910; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 911; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 912; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 913; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 914; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 915; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 916; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 917; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 918; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 919; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 920; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 921; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 922; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 923; - case PurpleCarpet::PurpleCarpet().ID: return 6833; - case PurpleConcrete::PurpleConcrete().ID: return 8387; - case PurpleConcretePowder::PurpleConcretePowder().ID: return 8403; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8353; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8354; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8355; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8356; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8277; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8278; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8279; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8280; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8281; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8282; - case PurpleStainedGlass::PurpleStainedGlass().ID: return 3587; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 6142; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 6143; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 6146; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 6147; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 6150; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 6151; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 6154; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 6155; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 6158; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 6159; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 6162; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 6163; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 6166; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 6167; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 6170; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 6171; - case PurpleTerracotta::PurpleTerracotta().ID: return 5814; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7150; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7151; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7152; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7153; - case PurpleWool::PurpleWool().ID: return 1093; - case PurpurBlock::PurpurBlock().ID: return 8073; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 8074; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 8075; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 8076; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 7348; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 7350; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 7352; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8078; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8080; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8082; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8084; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8086; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8088; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8090; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8092; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8094; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8096; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8098; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8100; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8102; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8104; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8106; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8108; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8110; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8112; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8114; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8116; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8118; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8120; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8122; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8124; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8126; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8128; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8130; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8132; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8134; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8136; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8138; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8140; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8142; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8144; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8146; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8148; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8150; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8152; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8154; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8156; - case QuartzBlock::QuartzBlock().ID: return 5695; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 5697; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 5698; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 5699; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 7336; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 7338; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 7340; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 5701; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 5703; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 5705; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 5707; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 5709; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 5711; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 5713; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 5715; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 5717; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 5719; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 5721; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 5723; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 5725; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 5727; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 5729; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 5731; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 5733; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 5735; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 5737; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 5739; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 5741; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 5743; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 5745; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 5747; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 5749; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 5751; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 5753; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 5755; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 5757; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 5759; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 5761; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 5763; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 5765; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 5767; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 5769; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 5771; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 5773; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 5775; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 5777; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 5779; - case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3179; - case Rail::Rail(Rail::Shape::EastWest).ID: return 3180; - case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3181; - case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3182; - case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3183; - case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3184; - case Rail::Rail(Rail::Shape::SouthEast).ID: return 3185; - case Rail::Rail(Rail::Shape::SouthWest).ID: return 3186; - case Rail::Rail(Rail::Shape::NorthWest).ID: return 3187; - case Rail::Rail(Rail::Shape::NorthEast).ID: return 3188; - case RedBanner::RedBanner(0).ID: return 7078; - case RedBanner::RedBanner(1).ID: return 7079; - case RedBanner::RedBanner(2).ID: return 7080; - case RedBanner::RedBanner(3).ID: return 7081; - case RedBanner::RedBanner(4).ID: return 7082; - case RedBanner::RedBanner(5).ID: return 7083; - case RedBanner::RedBanner(6).ID: return 7084; - case RedBanner::RedBanner(7).ID: return 7085; - case RedBanner::RedBanner(8).ID: return 7086; - case RedBanner::RedBanner(9).ID: return 7087; - case RedBanner::RedBanner(10).ID: return 7088; - case RedBanner::RedBanner(11).ID: return 7089; - case RedBanner::RedBanner(12).ID: return 7090; - case RedBanner::RedBanner(13).ID: return 7091; - case RedBanner::RedBanner(14).ID: return 7092; - case RedBanner::RedBanner(15).ID: return 7093; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 972; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 973; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 974; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 975; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 976; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 977; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 978; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 979; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 980; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 981; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 982; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 983; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 984; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 985; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 986; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 987; - case RedCarpet::RedCarpet().ID: return 6837; - case RedConcrete::RedConcrete().ID: return 8391; - case RedConcretePowder::RedConcretePowder().ID: return 8407; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8369; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8370; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8371; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8372; - case RedMushroom::RedMushroom().ID: return 1122; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4051; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4052; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4053; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4054; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4055; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4056; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4057; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4058; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4059; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4060; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4061; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4062; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4063; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4064; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4065; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4066; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4067; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4068; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4069; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4070; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4071; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4072; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4073; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4074; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4075; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4076; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4077; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4078; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4079; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4080; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4081; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4082; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4083; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4084; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4085; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4086; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4087; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4088; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4089; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4090; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4091; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4092; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4093; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4094; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4095; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4096; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4097; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4098; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4099; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4100; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4101; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4102; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4103; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4104; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4105; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4106; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4107; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4108; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4109; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4110; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4111; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4112; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4113; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4114; - case RedNetherBricks::RedNetherBricks().ID: return 8194; - case RedSand::RedSand().ID: return 67; - case RedSandstone::RedSandstone().ID: return 7174; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 7342; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 7344; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 7346; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7178; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7180; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7182; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7184; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7186; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7188; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7190; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7192; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7194; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7196; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7198; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7200; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7202; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7204; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7206; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7208; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7210; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7212; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7214; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7216; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7218; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7220; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7222; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7224; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7226; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7228; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7230; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7232; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7234; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7236; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7238; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7240; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7242; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7244; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7246; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7248; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7250; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7252; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7254; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7256; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8301; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8302; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8303; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8304; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8305; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8306; - case RedStainedGlass::RedStainedGlass().ID: return 3591; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 6270; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 6271; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 6274; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 6275; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 6278; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 6279; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 6282; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 6283; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 6286; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 6287; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 6290; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 6291; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 6294; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 6295; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 6298; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 6299; - case RedTerracotta::RedTerracotta().ID: return 5818; - case RedTulip::RedTulip().ID: return 1116; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7166; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7167; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7168; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7169; - case RedWool::RedWool().ID: return 1097; - case RedstoneBlock::RedstoneBlock().ID: return 5683; - case RedstoneLamp::RedstoneLamp(true).ID: return 4636; - case RedstoneLamp::RedstoneLamp(false).ID: return 4637; - case RedstoneOre::RedstoneOre(true).ID: return 3379; - case RedstoneOre::RedstoneOre(false).ID: return 3380; - case RedstoneTorch::RedstoneTorch(true).ID: return 3381; - case RedstoneTorch::RedstoneTorch(false).ID: return 3382; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3383; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3384; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3385; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3386; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3387; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3388; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3389; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3390; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1752; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1753; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1754; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1755; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1756; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1757; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1758; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1759; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1760; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1761; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1762; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1763; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1764; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1765; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1766; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1767; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1768; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1769; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1770; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1771; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1772; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1773; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1774; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1775; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1776; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1777; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1778; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1779; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1780; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1781; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1782; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1783; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1784; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1785; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1786; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1787; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1788; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1789; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1790; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1791; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1792; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1793; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1794; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1795; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1796; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1797; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1798; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1799; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1800; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1801; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1802; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1803; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1804; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1805; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1806; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1807; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1808; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1809; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1810; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1811; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1812; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1813; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1814; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1815; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1816; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1817; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1818; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1819; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1820; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1821; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1822; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1823; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1824; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1825; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1826; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1827; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1828; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1829; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1830; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1831; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1832; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1833; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1834; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1835; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1836; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1837; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1838; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1839; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1840; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1841; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1842; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1843; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1844; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1845; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1846; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1847; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1848; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1849; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1850; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1851; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1852; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1853; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1854; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1855; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1856; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1857; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1858; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1859; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1860; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1861; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1862; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1863; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1864; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1865; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1866; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1867; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1868; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1869; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1870; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1871; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1872; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1873; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1874; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1875; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1876; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1877; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1878; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1879; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1880; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1881; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1882; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1883; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1884; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1885; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1886; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1887; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1888; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1889; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1890; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1891; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1892; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1893; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1895; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1896; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1897; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1898; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1899; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1900; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1901; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1902; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1903; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1904; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1905; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1906; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1907; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1908; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1909; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1910; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1911; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1912; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1913; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1914; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1915; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1916; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1917; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1918; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1919; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1920; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1921; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1922; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1923; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1924; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1925; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1926; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1927; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1928; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1929; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1930; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1931; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1932; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1933; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1934; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1935; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1936; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1937; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1938; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1939; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1940; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1941; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1942; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1943; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1944; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1945; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1946; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1947; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1948; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1949; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1950; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1951; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1952; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1953; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1954; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1955; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1956; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1957; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1958; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1959; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1960; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1961; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1962; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1963; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1964; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1965; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1966; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1967; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1968; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1969; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1970; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1971; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1972; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1973; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1974; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1975; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1976; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1977; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1978; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1979; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1980; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1981; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1982; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1983; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1984; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1985; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1986; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1987; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1988; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1989; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1990; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1991; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1992; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1993; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1994; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1995; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1996; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1997; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1998; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1999; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2000; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2001; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2002; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2003; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2004; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2005; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2006; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2007; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2008; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2009; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2010; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2011; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2012; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2013; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2014; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2015; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2016; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2017; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2018; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2019; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2020; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2021; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2022; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2023; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2024; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2025; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2026; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2027; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2028; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2029; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2030; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2031; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2032; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2033; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2034; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2035; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2036; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2037; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2038; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2039; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2040; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2041; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2042; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2043; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2044; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2045; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2046; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2047; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2048; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2049; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2050; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2051; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2052; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2053; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2054; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2055; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2056; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2057; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2058; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2059; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2060; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2061; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2062; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2063; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2064; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2065; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2066; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2067; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2068; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2069; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2070; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2071; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2072; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2073; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2074; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2075; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2076; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2077; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2078; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2079; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2080; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2081; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2082; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2083; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2084; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2085; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2086; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2087; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2088; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2089; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2090; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2091; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2092; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2093; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2094; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2095; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2096; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2097; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2098; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2099; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2100; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2101; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2102; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2103; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2104; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2105; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2106; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2107; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2108; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2109; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2110; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2111; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2112; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2113; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2114; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2115; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2116; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2117; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2118; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2119; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2120; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2121; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2122; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2123; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2124; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2125; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2126; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2127; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2128; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2129; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2130; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2131; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2132; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2133; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2134; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2135; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2136; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2137; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2138; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2139; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2140; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2141; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2142; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2143; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2144; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2145; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2146; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2147; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2148; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2149; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2150; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2151; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2152; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2153; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2154; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2155; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2156; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2157; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2158; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2159; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2160; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2161; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2162; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2163; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2164; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2165; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2166; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2167; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2168; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2169; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2170; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2171; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2172; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2173; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2174; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2175; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2176; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2177; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2178; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2179; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2180; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2181; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2182; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2183; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2184; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2185; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2186; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2187; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2188; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2189; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2190; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2191; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2192; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2193; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2194; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2195; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2196; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2197; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2198; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2199; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2200; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2201; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2202; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2203; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2204; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2205; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2206; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2207; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2208; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2209; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2210; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2211; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2212; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2213; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2214; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2215; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2216; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2217; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2218; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2219; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2220; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2221; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2222; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2223; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2224; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2225; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2226; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2227; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2228; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2229; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2230; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2231; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2232; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2233; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2234; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2235; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2236; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2237; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2238; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2239; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2240; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2241; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2242; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2243; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2244; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2245; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2246; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2247; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2248; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2249; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2250; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2251; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2252; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2253; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2254; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2255; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2256; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2257; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2258; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2259; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2260; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2261; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2262; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2263; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2264; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2265; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2266; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2267; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2268; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2269; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2270; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2271; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2272; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2273; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2274; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2275; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2276; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2277; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2278; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2279; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2280; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2281; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2282; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2283; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2284; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2285; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2286; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2287; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2288; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2289; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2290; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2291; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2292; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2293; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2294; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2295; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2296; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2297; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2298; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2299; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2300; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2301; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2302; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2303; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2304; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2305; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2306; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2307; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2308; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2309; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2310; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2311; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2312; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2313; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2314; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2315; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2316; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2317; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2318; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2319; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2320; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2321; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2322; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2323; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2324; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2325; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2326; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2327; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2328; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2329; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2330; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2331; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2332; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2333; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2334; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2335; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2336; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2337; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2338; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2339; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2340; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2341; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2342; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2343; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2344; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2345; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2346; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2347; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2348; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2349; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2350; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2351; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2352; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2353; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2354; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2355; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2356; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2357; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2358; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2359; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2360; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2361; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2362; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2363; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2364; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2365; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2366; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2367; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2368; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2369; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2370; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2371; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2372; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2373; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2374; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2375; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2376; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2377; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2378; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2379; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2380; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2381; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2382; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2383; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2384; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2385; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2386; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2387; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2388; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2389; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2390; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2391; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2392; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2393; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2394; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2395; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2396; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2397; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2398; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2399; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2400; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2401; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2402; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2403; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2404; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2405; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2406; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2407; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2408; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2409; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2410; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2411; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2412; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2413; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2414; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2415; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2416; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2417; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2418; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2419; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2420; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2421; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2422; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2423; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2424; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2425; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2426; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2427; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2428; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2429; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2430; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2431; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2432; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2433; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2434; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2435; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2436; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2437; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2438; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2439; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2440; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2441; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2442; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2443; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2444; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2445; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2446; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2447; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2448; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2449; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2450; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2451; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2452; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2453; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2454; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2455; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2456; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2457; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2458; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2459; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2460; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2461; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2462; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2463; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2464; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2465; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2466; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2467; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2468; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2469; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2470; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2471; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2472; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2473; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2474; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2475; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2476; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2477; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2478; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2479; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2480; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2481; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2482; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2483; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2484; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2485; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2486; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2487; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2488; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2489; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2490; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2491; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2492; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2493; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2494; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2495; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2496; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2497; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2498; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2499; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2500; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2501; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2502; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2503; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2504; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2505; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2506; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2507; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2508; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2509; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2510; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2511; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2512; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2513; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2514; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2515; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2516; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2517; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2518; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2519; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2520; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2521; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2522; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2523; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2524; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2525; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2526; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2527; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2528; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2529; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2530; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2531; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2532; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2533; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2534; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2535; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2536; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2537; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2538; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2539; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2540; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2541; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2542; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2543; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2544; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2545; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2546; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2547; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2548; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2549; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2550; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2551; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2552; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2553; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2554; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2555; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2556; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2557; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2558; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2559; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2560; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2561; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2562; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2563; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2564; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2565; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2566; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2567; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2568; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2569; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2570; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2571; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2572; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2573; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2574; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2575; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2576; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2577; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2578; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2579; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2580; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2581; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2582; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2583; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2584; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2585; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2586; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2587; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2588; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2589; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2590; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2591; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2592; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2593; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2594; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2595; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2596; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2597; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2598; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2599; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2600; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2601; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2602; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2603; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2604; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2605; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2606; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2607; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2608; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2609; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2610; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2611; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2612; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2613; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2614; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2615; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2616; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2617; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2618; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2619; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2620; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2621; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2622; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2623; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2624; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2625; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2626; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2627; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2628; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2629; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2630; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2631; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2632; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2633; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2634; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2635; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2636; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2637; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2638; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2639; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2640; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2641; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2642; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2643; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2644; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2645; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2646; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2647; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2648; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2649; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2650; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2651; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2652; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2653; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2654; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2655; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2656; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2657; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2658; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2659; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2660; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2661; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2662; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2663; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2664; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2665; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2666; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2667; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2668; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2669; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2670; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2671; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2672; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2673; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2674; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2675; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2676; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2677; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2678; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2679; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2680; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2681; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2682; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2683; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2684; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2685; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2686; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2687; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2688; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2689; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2690; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2691; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2692; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2693; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2694; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2695; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2696; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2697; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2698; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2699; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2700; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2701; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2702; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2703; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2704; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2705; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2706; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2707; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2708; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2709; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2710; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2711; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2712; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2713; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2714; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2715; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2716; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2717; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2718; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2719; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2720; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2721; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2722; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2723; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2724; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2725; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2726; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2727; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2728; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2729; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2730; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2731; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2732; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2733; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2734; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2735; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2736; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2737; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2738; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2739; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2740; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2741; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2742; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2743; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2744; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2745; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2746; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2747; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2748; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2749; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2750; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2751; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2752; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2753; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2754; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2755; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2756; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2757; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2758; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2759; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2760; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2761; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2762; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2763; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2764; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2765; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2766; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2767; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2768; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2769; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2770; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2771; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2772; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2773; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2774; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2775; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2776; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2777; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2778; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2779; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2780; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2781; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2782; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2783; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2784; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2785; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2786; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2787; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2788; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2789; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2790; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2791; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2792; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2793; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2794; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2795; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2796; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2797; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2798; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2799; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2800; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2801; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2802; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2803; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2804; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2805; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2806; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2807; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2808; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2809; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2810; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2811; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2812; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2813; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2814; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2815; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2816; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2817; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2818; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2819; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2820; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2821; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2822; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2823; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2824; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2825; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2826; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2827; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2828; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2829; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2830; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2831; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2832; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2833; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2834; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2835; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2836; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2837; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2838; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2839; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2840; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2841; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2842; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2843; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2844; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2845; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2846; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2847; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2848; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2849; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2850; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2851; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2852; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2853; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2854; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2855; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2856; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2857; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2858; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2859; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2860; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2861; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2862; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2863; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2864; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2865; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2866; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2867; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2868; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2869; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2870; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2871; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2872; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2873; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2874; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2875; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2876; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2877; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2878; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2879; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2880; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2881; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2882; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2883; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2884; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2885; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2886; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2887; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2888; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2889; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2890; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2891; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2892; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2893; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2895; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2896; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2897; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2898; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2899; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2900; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2901; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2902; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2903; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2904; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2905; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2906; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2907; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2908; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2909; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2910; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2911; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2912; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2913; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2914; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2915; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2916; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2917; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2918; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2919; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2920; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2921; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2922; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2923; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2924; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2925; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2926; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2927; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2928; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2929; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2930; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2931; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2932; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2933; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2934; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2935; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2936; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2937; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2938; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2939; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2940; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2941; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2942; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2943; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2944; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2945; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2946; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2947; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2948; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2949; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2950; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2951; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2952; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2953; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2954; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2955; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2956; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2957; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2958; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2959; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2960; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2961; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2962; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2963; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2964; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2965; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2966; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2967; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2968; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2969; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2970; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2971; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2972; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2973; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2974; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2975; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2976; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2977; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2978; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2979; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2980; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2981; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2982; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2983; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2984; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2985; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2986; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2987; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2988; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2989; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2990; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2991; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2992; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2993; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2994; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2995; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2996; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2997; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2998; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2999; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3000; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3001; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3002; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3003; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3004; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3005; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3006; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3007; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3008; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3009; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3010; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3011; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3012; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3013; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3014; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3015; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3016; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3017; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3018; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3019; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3020; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3021; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3022; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3023; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3024; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3025; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3026; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3027; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3028; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3029; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3030; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3031; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3032; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3033; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3034; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3035; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3036; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3037; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3038; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3039; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3040; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3041; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3042; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3043; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3044; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3045; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3046; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3047; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3513; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3514; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3515; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3516; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3517; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3518; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3519; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3520; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3521; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3522; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3523; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3524; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3525; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3526; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3527; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3528; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3529; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3530; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3531; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3532; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3533; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3534; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3535; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3536; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3537; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3538; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3539; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3540; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3541; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3542; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3543; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3544; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3545; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3546; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3547; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3548; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3549; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3550; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3551; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3552; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3553; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3554; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3555; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3556; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3557; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3558; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3559; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3560; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3561; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3562; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3563; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3564; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3565; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3566; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3567; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3568; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3569; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3570; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3571; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3572; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3573; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3574; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3575; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3576; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8164; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8165; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8166; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8167; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8168; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8169; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8170; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8171; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8172; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8173; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8174; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8175; - case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 6846; - case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 6847; - case Sand::Sand().ID: return 66; - case Sandstone::Sandstone().ID: return 245; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 7300; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 7302; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 7304; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 4651; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 4653; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 4655; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 4657; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 4659; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 4661; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 4663; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 4665; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 4667; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 4669; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 4671; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 4673; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 4675; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 4677; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 4679; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 4681; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 4683; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 4685; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 4687; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 4689; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 4691; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 4693; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 4695; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 4697; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 4699; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 4701; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 4703; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 4705; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 4707; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 4709; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 4711; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 4713; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 4715; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 4717; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 4719; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 4721; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 4723; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 4725; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 4727; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 4729; - case SeaLantern::SeaLantern().ID: return 6819; - case SeaPickle::SeaPickle(1).ID: return 8565; - case SeaPickle::SeaPickle(2).ID: return 8567; - case SeaPickle::SeaPickle(3).ID: return 8569; - case SeaPickle::SeaPickle(4).ID: return 8571; - case Seagrass::Seagrass().ID: return 1044; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8211; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8212; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8213; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8214; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8215; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8216; - case OakSign::OakSign(0).ID: return 3076; - case OakSign::OakSign(1).ID: return 3078; - case OakSign::OakSign(2).ID: return 3080; - case OakSign::OakSign(3).ID: return 3082; - case OakSign::OakSign(4).ID: return 3084; - case OakSign::OakSign(5).ID: return 3086; - case OakSign::OakSign(6).ID: return 3088; - case OakSign::OakSign(7).ID: return 3090; - case OakSign::OakSign(8).ID: return 3092; - case OakSign::OakSign(9).ID: return 3094; - case OakSign::OakSign(10).ID: return 3096; - case OakSign::OakSign(11).ID: return 3098; - case OakSign::OakSign(12).ID: return 3100; - case OakSign::OakSign(13).ID: return 3102; - case OakSign::OakSign(14).ID: return 3104; - case OakSign::OakSign(15).ID: return 3106; - case SkeletonSkull::SkeletonSkull(0).ID: return 5451; - case SkeletonSkull::SkeletonSkull(1).ID: return 5452; - case SkeletonSkull::SkeletonSkull(2).ID: return 5453; - case SkeletonSkull::SkeletonSkull(3).ID: return 5454; - case SkeletonSkull::SkeletonSkull(4).ID: return 5455; - case SkeletonSkull::SkeletonSkull(5).ID: return 5456; - case SkeletonSkull::SkeletonSkull(6).ID: return 5457; - case SkeletonSkull::SkeletonSkull(7).ID: return 5458; - case SkeletonSkull::SkeletonSkull(8).ID: return 5459; - case SkeletonSkull::SkeletonSkull(9).ID: return 5460; - case SkeletonSkull::SkeletonSkull(10).ID: return 5461; - case SkeletonSkull::SkeletonSkull(11).ID: return 5462; - case SkeletonSkull::SkeletonSkull(12).ID: return 5463; - case SkeletonSkull::SkeletonSkull(13).ID: return 5464; - case SkeletonSkull::SkeletonSkull(14).ID: return 5465; - case SkeletonSkull::SkeletonSkull(15).ID: return 5466; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5447; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5448; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5449; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5450; - case SlimeBlock::SlimeBlock().ID: return 6492; - case SmoothQuartz::SmoothQuartz().ID: return 7355; - case SmoothRedSandstone::SmoothRedSandstone().ID: return 7356; - case SmoothSandstone::SmoothSandstone().ID: return 7354; - case SmoothStone::SmoothStone().ID: return 7353; - case Snow::Snow(1).ID: return 3415; - case Snow::Snow(2).ID: return 3416; - case Snow::Snow(3).ID: return 3417; - case Snow::Snow(4).ID: return 3418; - case Snow::Snow(5).ID: return 3419; - case Snow::Snow(6).ID: return 3420; - case Snow::Snow(7).ID: return 3421; - case Snow::Snow(8).ID: return 3422; - case SnowBlock::SnowBlock().ID: return 3424; - case SoulSand::SoulSand().ID: return 3494; - case Spawner::Spawner().ID: return 1647; - case Sponge::Sponge().ID: return 228; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5327; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5328; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5329; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5330; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5331; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5332; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5333; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5334; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5335; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5336; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5337; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5338; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5339; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5340; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5341; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5342; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5343; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5344; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5345; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5346; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5347; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5348; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5349; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5350; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 7677; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 7678; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 7679; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 7680; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 7681; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 7682; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 7683; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 7684; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 7685; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 7686; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 7687; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 7688; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 7689; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 7690; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 7691; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 7692; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 7693; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 7694; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 7695; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 7696; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 7697; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 7698; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 7699; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 7700; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 7701; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 7702; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 7703; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 7704; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 7705; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 7706; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 7707; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 7708; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 7709; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 7710; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 7711; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 7712; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 7713; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 7714; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 7715; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 7716; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 7717; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 7718; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 7719; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 7720; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 7721; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 7722; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 7723; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 7724; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 7725; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 7726; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 7727; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 7728; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 7729; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 7730; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 7731; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 7732; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 7733; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 7734; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 7735; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 7736; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 7737; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 7738; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 7739; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 7740; - case SpruceFence::SpruceFence(true, true, true, true).ID: return 7519; - case SpruceFence::SpruceFence(true, true, true, false).ID: return 7520; - case SpruceFence::SpruceFence(true, true, false, true).ID: return 7523; - case SpruceFence::SpruceFence(true, true, false, false).ID: return 7524; - case SpruceFence::SpruceFence(true, false, true, true).ID: return 7527; - case SpruceFence::SpruceFence(true, false, true, false).ID: return 7528; - case SpruceFence::SpruceFence(true, false, false, true).ID: return 7531; - case SpruceFence::SpruceFence(true, false, false, false).ID: return 7532; - case SpruceFence::SpruceFence(false, true, true, true).ID: return 7535; - case SpruceFence::SpruceFence(false, true, true, false).ID: return 7536; - case SpruceFence::SpruceFence(false, true, false, true).ID: return 7539; - case SpruceFence::SpruceFence(false, true, false, false).ID: return 7540; - case SpruceFence::SpruceFence(false, false, true, true).ID: return 7543; - case SpruceFence::SpruceFence(false, false, true, false).ID: return 7544; - case SpruceFence::SpruceFence(false, false, false, true).ID: return 7547; - case SpruceFence::SpruceFence(false, false, false, false).ID: return 7548; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7357; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7358; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7359; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7360; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7361; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7362; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7363; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7364; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7365; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7366; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7367; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7368; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7369; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7370; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7371; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7372; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7373; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7374; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7375; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7376; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7377; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7378; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7379; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7380; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7381; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7382; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7383; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7384; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7385; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7386; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7387; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7388; - case SpruceLeaves::SpruceLeaves(1, true).ID: return 158; - case SpruceLeaves::SpruceLeaves(1, false).ID: return 159; - case SpruceLeaves::SpruceLeaves(2, true).ID: return 160; - case SpruceLeaves::SpruceLeaves(2, false).ID: return 161; - case SpruceLeaves::SpruceLeaves(3, true).ID: return 162; - case SpruceLeaves::SpruceLeaves(3, false).ID: return 163; - case SpruceLeaves::SpruceLeaves(4, true).ID: return 164; - case SpruceLeaves::SpruceLeaves(4, false).ID: return 165; - case SpruceLeaves::SpruceLeaves(5, true).ID: return 166; - case SpruceLeaves::SpruceLeaves(5, false).ID: return 167; - case SpruceLeaves::SpruceLeaves(6, true).ID: return 168; - case SpruceLeaves::SpruceLeaves(6, false).ID: return 169; - case SpruceLeaves::SpruceLeaves(7, true).ID: return 170; - case SpruceLeaves::SpruceLeaves(7, false).ID: return 171; - case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 75; - case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 76; - case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 77; - case SprucePlanks::SprucePlanks().ID: return 16; - case SprucePressurePlate::SprucePressurePlate(true).ID: return 3369; - case SprucePressurePlate::SprucePressurePlate(false).ID: return 3370; - case SpruceSapling::SpruceSapling(0).ID: return 23; - case SpruceSapling::SpruceSapling(1).ID: return 24; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 7264; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 7266; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 7268; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 4885; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 4887; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 4889; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 4891; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 4893; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 4895; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 4897; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 4899; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 4901; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 4903; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 4905; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 4907; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 4909; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 4911; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 4913; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 4915; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 4917; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 4919; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 4921; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 4923; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 4925; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 4927; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 4929; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 4931; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 4933; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 4935; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 4937; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 4939; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 4941; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 4943; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 4945; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 4947; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 4949; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 4951; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 4953; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 4955; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 4957; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 4959; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 4961; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 4963; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: return 3658; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: return 3660; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: return 3662; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: return 3664; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 3666; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 3668; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 3670; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 3672; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: return 3674; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: return 3676; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: return 3678; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: return 3680; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 3682; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 3684; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 3686; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 3688; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: return 3690; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: return 3692; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: return 3694; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: return 3696; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 3698; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 3700; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 3702; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 3704; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: return 3706; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: return 3708; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: return 3710; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: return 3712; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 3714; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 3716; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 3718; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 3720; - case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 111; - case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 112; - case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 113; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1028; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1029; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1030; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1031; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1032; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1033; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1034; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1035; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1036; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1037; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1038; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1039; - case Stone::Stone().ID: return 1; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 7324; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 7326; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 7328; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4413; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4415; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4417; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4419; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4421; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4423; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4425; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4427; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4429; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4431; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4433; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4435; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4437; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4439; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4441; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4443; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4445; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4447; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4449; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4451; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4453; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4455; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4457; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4459; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4461; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4463; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4465; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4467; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4469; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4471; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4473; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4475; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4477; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4479; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4481; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4483; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4485; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4487; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4489; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4491; - case StoneBricks::StoneBricks().ID: return 3983; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3391; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3392; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3393; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3394; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3395; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3396; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3397; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3398; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3399; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3400; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3401; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3402; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3403; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3404; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3405; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3406; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3407; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3408; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3409; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3410; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3411; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3412; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3413; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3414; - case StonePressurePlate::StonePressurePlate(true).ID: return 3301; - case StonePressurePlate::StonePressurePlate(false).ID: return 3302; - case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 7294; - case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 7296; - case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 7298; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 99; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 100; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 101; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 138; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 139; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 140; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 93; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 94; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 95; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 132; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 133; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 134; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 102; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 103; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 104; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 141; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 142; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 143; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 96; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 97; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 98; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 135; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 136; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 137; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 105; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 106; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 107; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 126; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 127; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 128; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 90; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 91; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 92; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 129; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 130; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 131; - case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 8578; - case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 8579; - case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 8580; - case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 8581; - case StructureVoid::StructureVoid().ID: return 8198; - case SugarCane::SugarCane(0).ID: return 3442; - case SugarCane::SugarCane(1).ID: return 3443; - case SugarCane::SugarCane(2).ID: return 3444; - case SugarCane::SugarCane(3).ID: return 3445; - case SugarCane::SugarCane(4).ID: return 3446; - case SugarCane::SugarCane(5).ID: return 3447; - case SugarCane::SugarCane(6).ID: return 3448; - case SugarCane::SugarCane(7).ID: return 3449; - case SugarCane::SugarCane(8).ID: return 3450; - case SugarCane::SugarCane(9).ID: return 3451; - case SugarCane::SugarCane(10).ID: return 3452; - case SugarCane::SugarCane(11).ID: return 3453; - case SugarCane::SugarCane(12).ID: return 3454; - case SugarCane::SugarCane(13).ID: return 3455; - case SugarCane::SugarCane(14).ID: return 3456; - case SugarCane::SugarCane(15).ID: return 3457; - case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 6842; - case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 6843; - case TNT::TNT(true).ID: return 1126; - case TNT::TNT(false).ID: return 1126; - case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 6850; - case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 6851; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1045; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1046; - case Terracotta::Terracotta().ID: return 6839; - case Torch::Torch().ID: return 1130; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 5580; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 5582; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 5584; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 5586; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 5588; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 5590; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 5592; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 5594; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 5596; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 5598; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 5600; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 5602; - case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 4755; - case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 4756; - case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 4757; - case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 4758; - case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 4759; - case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 4760; - case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 4761; - case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 4762; - case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 4763; - case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 4764; - case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 4765; - case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 4766; - case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 4767; - case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 4768; - case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 4769; - case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 4770; - case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 4771; - case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 4772; - case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 4773; - case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 4774; - case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 4775; - case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 4776; - case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 4777; - case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 4778; - case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 4779; - case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 4780; - case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 4781; - case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 4782; - case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 4783; - case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 4784; - case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 4785; - case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 4786; - case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 4787; - case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 4788; - case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 4789; - case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 4790; - case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 4791; - case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 4792; - case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 4793; - case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 4794; - case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 4795; - case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 4796; - case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 4797; - case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 4798; - case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 4799; - case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 4800; - case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 4801; - case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 4802; - case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 4803; - case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 4804; - case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 4805; - case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 4806; - case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 4807; - case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 4808; - case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 4809; - case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 4810; - case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 4811; - case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 4812; - case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 4813; - case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 4814; - case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 4815; - case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 4816; - case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 4817; - case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 4818; - case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 4819; - case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 4820; - case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 4821; - case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 4822; - case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 4823; - case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 4824; - case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 4825; - case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 4826; - case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 4827; - case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 4828; - case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 4829; - case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 4830; - case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 4831; - case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 4832; - case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 4833; - case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 4834; - case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 4835; - case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 4836; - case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 4837; - case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 4838; - case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 4839; - case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 4840; - case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 4841; - case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 4842; - case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 4843; - case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 4844; - case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 4845; - case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 4846; - case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 4847; - case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 4848; - case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 4849; - case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 4850; - case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 4851; - case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 4852; - case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 4853; - case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 4854; - case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 4855; - case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 4856; - case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 4857; - case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 4858; - case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 4859; - case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 4860; - case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 4861; - case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 4862; - case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 4863; - case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 4864; - case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 4865; - case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 4866; - case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 4867; - case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 4868; - case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 4869; - case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 4870; - case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 4871; - case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 4872; - case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 4873; - case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 4874; - case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 4875; - case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 4876; - case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 4877; - case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 4878; - case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 4879; - case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 4880; - case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 4881; - case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 4882; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 4739; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 4740; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 4741; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 4742; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 4743; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 4744; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 4745; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 4746; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 4747; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 4748; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 4749; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 4750; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 4751; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 4752; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 4753; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 4754; - case TubeCoral::TubeCoral().ID: return 8459; - case TubeCoralBlock::TubeCoralBlock().ID: return 8454; - case TubeCoralFan::TubeCoralFan().ID: return 8555; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8505; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8507; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8509; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8511; - case TurtleEgg::TurtleEgg(1, 0).ID: return 8437; - case TurtleEgg::TurtleEgg(1, 1).ID: return 8438; - case TurtleEgg::TurtleEgg(1, 2).ID: return 8439; - case TurtleEgg::TurtleEgg(2, 0).ID: return 8440; - case TurtleEgg::TurtleEgg(2, 1).ID: return 8441; - case TurtleEgg::TurtleEgg(2, 2).ID: return 8442; - case TurtleEgg::TurtleEgg(3, 0).ID: return 8443; - case TurtleEgg::TurtleEgg(3, 1).ID: return 8444; - case TurtleEgg::TurtleEgg(3, 2).ID: return 8445; - case TurtleEgg::TurtleEgg(4, 0).ID: return 8446; - case TurtleEgg::TurtleEgg(4, 1).ID: return 8447; - case TurtleEgg::TurtleEgg(4, 2).ID: return 8448; - case Vine::Vine(true, true, true, true, true).ID: return 4268; - case Vine::Vine(true, true, true, true, false).ID: return 4269; - case Vine::Vine(true, true, true, false, true).ID: return 4270; - case Vine::Vine(true, true, true, false, false).ID: return 4271; - case Vine::Vine(true, true, false, true, true).ID: return 4272; - case Vine::Vine(true, true, false, true, false).ID: return 4273; - case Vine::Vine(true, true, false, false, true).ID: return 4274; - case Vine::Vine(true, true, false, false, false).ID: return 4275; - case Vine::Vine(true, false, true, true, true).ID: return 4276; - case Vine::Vine(true, false, true, true, false).ID: return 4277; - case Vine::Vine(true, false, true, false, true).ID: return 4278; - case Vine::Vine(true, false, true, false, false).ID: return 4279; - case Vine::Vine(true, false, false, true, true).ID: return 4280; - case Vine::Vine(true, false, false, true, false).ID: return 4281; - case Vine::Vine(true, false, false, false, true).ID: return 4282; - case Vine::Vine(true, false, false, false, false).ID: return 4283; - case Vine::Vine(false, true, true, true, true).ID: return 4284; - case Vine::Vine(false, true, true, true, false).ID: return 4285; - case Vine::Vine(false, true, true, false, true).ID: return 4286; - case Vine::Vine(false, true, true, false, false).ID: return 4287; - case Vine::Vine(false, true, false, true, true).ID: return 4288; - case Vine::Vine(false, true, false, true, false).ID: return 4289; - case Vine::Vine(false, true, false, false, true).ID: return 4290; - case Vine::Vine(false, true, false, false, false).ID: return 4291; - case Vine::Vine(false, false, true, true, true).ID: return 4292; - case Vine::Vine(false, false, true, true, false).ID: return 4293; - case Vine::Vine(false, false, true, false, true).ID: return 4294; - case Vine::Vine(false, false, true, false, false).ID: return 4295; - case Vine::Vine(false, false, false, true, true).ID: return 4296; - case Vine::Vine(false, false, false, true, false).ID: return 4297; - case Vine::Vine(false, false, false, false, true).ID: return 4298; - case Vine::Vine(false, false, false, false, false).ID: return 4299; - case VoidAir::VoidAir().ID: return 8574; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3270; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3272; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3274; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3276; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1131; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1132; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1133; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1134; - case Water::Water(0).ID: return 34; - case Water::Water(1).ID: return 35; - case Water::Water(2).ID: return 36; - case Water::Water(3).ID: return 37; - case Water::Water(4).ID: return 38; - case Water::Water(5).ID: return 39; - case Water::Water(6).ID: return 40; - case Water::Water(7).ID: return 41; - case Water::Water(8).ID: return 42; - case Water::Water(9).ID: return 43; - case Water::Water(10).ID: return 44; - case Water::Water(11).ID: return 45; - case Water::Water(12).ID: return 46; - case Water::Water(13).ID: return 47; - case Water::Water(14).ID: return 48; - case Water::Water(15).ID: return 49; - case WetSponge::WetSponge().ID: return 229; - case Wheat::Wheat(0).ID: return 3051; - case Wheat::Wheat(1).ID: return 3052; - case Wheat::Wheat(2).ID: return 3053; - case Wheat::Wheat(3).ID: return 3054; - case Wheat::Wheat(4).ID: return 3055; - case Wheat::Wheat(5).ID: return 3056; - case Wheat::Wheat(6).ID: return 3057; - case Wheat::Wheat(7).ID: return 3058; - case WhiteBanner::WhiteBanner(0).ID: return 6854; - case WhiteBanner::WhiteBanner(1).ID: return 6855; - case WhiteBanner::WhiteBanner(2).ID: return 6856; - case WhiteBanner::WhiteBanner(3).ID: return 6857; - case WhiteBanner::WhiteBanner(4).ID: return 6858; - case WhiteBanner::WhiteBanner(5).ID: return 6859; - case WhiteBanner::WhiteBanner(6).ID: return 6860; - case WhiteBanner::WhiteBanner(7).ID: return 6861; - case WhiteBanner::WhiteBanner(8).ID: return 6862; - case WhiteBanner::WhiteBanner(9).ID: return 6863; - case WhiteBanner::WhiteBanner(10).ID: return 6864; - case WhiteBanner::WhiteBanner(11).ID: return 6865; - case WhiteBanner::WhiteBanner(12).ID: return 6866; - case WhiteBanner::WhiteBanner(13).ID: return 6867; - case WhiteBanner::WhiteBanner(14).ID: return 6868; - case WhiteBanner::WhiteBanner(15).ID: return 6869; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 748; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 749; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 750; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 751; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 752; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 753; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 754; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 755; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 756; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 757; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 758; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 759; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 760; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 761; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 762; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 763; - case WhiteCarpet::WhiteCarpet().ID: return 6823; - case WhiteConcrete::WhiteConcrete().ID: return 8377; - case WhiteConcretePowder::WhiteConcretePowder().ID: return 8393; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8313; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8314; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8315; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8316; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8217; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8218; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8219; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8220; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8221; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8222; - case WhiteStainedGlass::WhiteStainedGlass().ID: return 3577; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 5822; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 5823; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 5826; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 5827; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 5830; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 5831; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 5834; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 5835; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 5838; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 5839; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 5842; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 5843; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 5846; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 5847; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 5850; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 5851; - case WhiteTerracotta::WhiteTerracotta().ID: return 5804; - case WhiteTulip::WhiteTulip().ID: return 1118; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7110; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7111; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7112; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7113; - case WhiteWool::WhiteWool().ID: return 1083; - case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 5471; - case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 5472; - case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 5473; - case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 5474; - case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 5475; - case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 5476; - case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 5477; - case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 5478; - case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 5479; - case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 5480; - case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 5481; - case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 5482; - case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 5483; - case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 5484; - case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 5485; - case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 5486; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5467; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5468; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5469; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5470; - case YellowBanner::YellowBanner(0).ID: return 6918; - case YellowBanner::YellowBanner(1).ID: return 6919; - case YellowBanner::YellowBanner(2).ID: return 6920; - case YellowBanner::YellowBanner(3).ID: return 6921; - case YellowBanner::YellowBanner(4).ID: return 6922; - case YellowBanner::YellowBanner(5).ID: return 6923; - case YellowBanner::YellowBanner(6).ID: return 6924; - case YellowBanner::YellowBanner(7).ID: return 6925; - case YellowBanner::YellowBanner(8).ID: return 6926; - case YellowBanner::YellowBanner(9).ID: return 6927; - case YellowBanner::YellowBanner(10).ID: return 6928; - case YellowBanner::YellowBanner(11).ID: return 6929; - case YellowBanner::YellowBanner(12).ID: return 6930; - case YellowBanner::YellowBanner(13).ID: return 6931; - case YellowBanner::YellowBanner(14).ID: return 6932; - case YellowBanner::YellowBanner(15).ID: return 6933; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 812; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 813; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 814; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 815; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 816; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 817; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 818; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 819; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 820; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 821; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 822; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 823; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 824; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 825; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 826; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 827; - case YellowCarpet::YellowCarpet().ID: return 6827; - case YellowConcrete::YellowConcrete().ID: return 8381; - case YellowConcretePowder::YellowConcretePowder().ID: return 8397; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8329; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8330; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8331; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8332; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8241; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8242; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8243; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8244; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8245; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8246; - case YellowStainedGlass::YellowStainedGlass().ID: return 3581; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 5950; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 5951; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 5954; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 5955; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 5958; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 5959; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 5962; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 5963; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 5966; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 5967; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 5970; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 5971; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 5974; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 5975; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 5978; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 5979; - case YellowTerracotta::YellowTerracotta().ID: return 5808; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7126; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7127; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7128; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7129; - case YellowWool::YellowWool().ID: return 1087; - case ZombieHead::ZombieHead(0).ID: return 5491; - case ZombieHead::ZombieHead(1).ID: return 5492; - case ZombieHead::ZombieHead(2).ID: return 5493; - case ZombieHead::ZombieHead(3).ID: return 5494; - case ZombieHead::ZombieHead(4).ID: return 5495; - case ZombieHead::ZombieHead(5).ID: return 5496; - case ZombieHead::ZombieHead(6).ID: return 5497; - case ZombieHead::ZombieHead(7).ID: return 5498; - case ZombieHead::ZombieHead(8).ID: return 5499; - case ZombieHead::ZombieHead(9).ID: return 5500; - case ZombieHead::ZombieHead(10).ID: return 5501; - case ZombieHead::ZombieHead(11).ID: return 5502; - case ZombieHead::ZombieHead(12).ID: return 5503; - case ZombieHead::ZombieHead(13).ID: return 5504; - case ZombieHead::ZombieHead(14).ID: return 5505; - case ZombieHead::ZombieHead(15).ID: return 5506; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5487; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5488; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5489; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5490; - default: return 0; - } + switch (Block.ID) + { + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5399; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5400; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5401; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5402; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5403; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5404; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5405; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5406; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5407; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5408; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5409; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5410; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5411; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5412; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5413; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5414; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5415; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5416; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5417; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5418; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5419; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5420; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5421; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5422; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7869; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7870; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7871; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7872; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7873; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7874; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7875; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7876; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7877; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7878; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7879; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7880; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7881; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7882; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7883; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7884; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7885; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7886; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7887; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7888; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7889; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7890; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7891; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7892; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7893; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7894; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7895; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7896; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7897; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7898; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7899; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7900; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7901; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7902; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7903; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7904; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7905; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7906; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7907; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7908; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7909; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7910; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7911; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7912; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7913; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7914; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7915; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7916; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7917; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7918; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7919; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7920; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7921; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7922; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7923; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7924; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7925; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7926; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7927; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7928; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7929; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7930; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7931; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7932; + case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 7615; + case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 7616; + case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 7619; + case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 7620; + case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 7623; + case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 7624; + case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 7627; + case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 7628; + case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 7631; + case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 7632; + case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 7635; + case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 7636; + case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 7639; + case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 7640; + case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 7643; + case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 7644; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7453; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7454; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7455; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7456; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7457; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7458; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7459; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7460; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7461; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7462; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7463; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7464; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7465; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7466; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7467; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7468; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7469; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7470; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7471; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7472; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7473; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7474; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7475; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7476; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7477; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7478; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7479; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7480; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7481; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7482; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7483; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7484; + case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 200; + case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 201; + case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 202; + case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 203; + case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 204; + case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 205; + case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 206; + case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 207; + case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 208; + case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 209; + case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 210; + case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 211; + case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 212; + case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 213; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 84; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 85; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 86; + case AcaciaPlanks::AcaciaPlanks().ID: return 19; + case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3375; + case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3376; + case AcaciaSapling::AcaciaSapling(0).ID: return 29; + case AcaciaSapling::AcaciaSapling(1).ID: return 30; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 7282; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 7284; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 7286; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6333; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6335; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6337; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6339; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6341; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6343; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6345; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6347; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6349; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6351; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6353; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6355; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6357; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6359; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6361; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6363; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6365; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6367; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6369; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6371; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6373; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6375; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6377; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6379; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6381; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6383; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6385; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6387; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6389; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6391; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6393; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6395; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6397; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6399; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6401; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6403; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6405; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6407; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6409; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6411; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 3850; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 3852; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 3854; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 3856; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 3858; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 3860; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 3862; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 3864; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 3866; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 3868; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 3870; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 3872; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 3874; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 3876; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 3878; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 3880; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 3882; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 3884; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 3886; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 3888; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 3890; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 3892; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 3894; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 3896; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 3898; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 3900; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 3902; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 3904; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 3906; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 3908; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 3910; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 3912; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 120; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 121; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 122; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 5780; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 5781; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 5782; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 5783; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 5784; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 5785; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 5786; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 5787; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 5788; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 5789; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 5790; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 5791; + case Air::Air().ID: return -0; + case Allium::Allium().ID: return 1114; + case Andesite::Andesite().ID: return 6; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5567; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5568; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 5569; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 5570; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4248; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4249; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4250; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4251; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4244; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4245; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4246; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4247; + case AzureBluet::AzureBluet().ID: return 1115; + case Barrier::Barrier().ID: return 6493; + case Beacon::Beacon().ID: return 5136; + case Bedrock::Bedrock().ID: return 33; + case Beetroots::Beetroots(0).ID: return 8158; + case Beetroots::Beetroots(1).ID: return 8159; + case Beetroots::Beetroots(2).ID: return 8160; + case Beetroots::Beetroots(3).ID: return 8161; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5351; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5352; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5353; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5354; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5355; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5356; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5357; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5358; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5359; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5360; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5361; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5362; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5363; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5364; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5365; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5366; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5367; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5368; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5369; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5370; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5371; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5372; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5373; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5374; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 7741; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7742; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7743; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7744; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7745; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7746; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7747; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7748; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 7749; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7750; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7751; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7752; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7753; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7754; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7755; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7756; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 7757; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7758; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7759; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7760; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7761; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7762; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7763; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7764; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 7765; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7766; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7767; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7768; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7769; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7770; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7771; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7772; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 7773; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7774; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7775; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7776; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7777; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7778; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7779; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7780; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 7781; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7782; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7783; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7784; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7785; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7786; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7787; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7788; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 7789; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7790; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7791; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7792; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7793; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7794; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7795; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7796; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 7797; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7798; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7799; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7800; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7801; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7802; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7803; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7804; + case BirchFence::BirchFence(true, true, true, true).ID: return 7551; + case BirchFence::BirchFence(true, true, true, false).ID: return 7552; + case BirchFence::BirchFence(true, true, false, true).ID: return 7555; + case BirchFence::BirchFence(true, true, false, false).ID: return 7556; + case BirchFence::BirchFence(true, false, true, true).ID: return 7559; + case BirchFence::BirchFence(true, false, true, false).ID: return 7560; + case BirchFence::BirchFence(true, false, false, true).ID: return 7563; + case BirchFence::BirchFence(true, false, false, false).ID: return 7564; + case BirchFence::BirchFence(false, true, true, true).ID: return 7567; + case BirchFence::BirchFence(false, true, true, false).ID: return 7568; + case BirchFence::BirchFence(false, true, false, true).ID: return 7571; + case BirchFence::BirchFence(false, true, false, false).ID: return 7572; + case BirchFence::BirchFence(false, false, true, true).ID: return 7575; + case BirchFence::BirchFence(false, false, true, false).ID: return 7576; + case BirchFence::BirchFence(false, false, false, true).ID: return 7579; + case BirchFence::BirchFence(false, false, false, false).ID: return 7580; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7389; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7390; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7391; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7392; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7393; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7394; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7395; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7396; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7397; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7398; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7399; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7400; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7401; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7402; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7403; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7404; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7405; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7406; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7407; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7408; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7409; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7410; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7411; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7412; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7413; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7414; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7415; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7416; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7417; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7418; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7419; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7420; + case BirchLeaves::BirchLeaves(1, true).ID: return 172; + case BirchLeaves::BirchLeaves(1, false).ID: return 173; + case BirchLeaves::BirchLeaves(2, true).ID: return 174; + case BirchLeaves::BirchLeaves(2, false).ID: return 175; + case BirchLeaves::BirchLeaves(3, true).ID: return 176; + case BirchLeaves::BirchLeaves(3, false).ID: return 177; + case BirchLeaves::BirchLeaves(4, true).ID: return 178; + case BirchLeaves::BirchLeaves(4, false).ID: return 179; + case BirchLeaves::BirchLeaves(5, true).ID: return 180; + case BirchLeaves::BirchLeaves(5, false).ID: return 181; + case BirchLeaves::BirchLeaves(6, true).ID: return 182; + case BirchLeaves::BirchLeaves(6, false).ID: return 183; + case BirchLeaves::BirchLeaves(7, true).ID: return 184; + case BirchLeaves::BirchLeaves(7, false).ID: return 185; + case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 78; + case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 79; + case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 80; + case BirchPlanks::BirchPlanks().ID: return 17; + case BirchPressurePlate::BirchPressurePlate(true).ID: return 3371; + case BirchPressurePlate::BirchPressurePlate(false).ID: return 3372; + case BirchSapling::BirchSapling(0).ID: return 25; + case BirchSapling::BirchSapling(1).ID: return 26; + case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 7270; + case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 7272; + case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 7274; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 4965; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 4967; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 4969; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 4971; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 4973; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 4975; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 4977; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 4979; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 4981; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 4983; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 4985; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 4987; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 4989; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 4991; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 4993; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 4995; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 4997; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 4999; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5001; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5003; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5005; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5007; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5009; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5011; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5013; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5015; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5017; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5019; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5021; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5023; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5025; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5027; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5029; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5031; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5033; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5035; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5037; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5039; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5041; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5043; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: + return 3722; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: + return 3724; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: + return 3726; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: + return 3728; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 3730; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 3732; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 3734; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 3736; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: + return 3738; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: + return 3740; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: + return 3742; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: + return 3744; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 3746; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 3748; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 3750; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 3752; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: + return 3754; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: + return 3756; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: + return 3758; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: + return 3760; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 3762; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 3764; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 3766; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 3768; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: + return 3770; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: + return 3772; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: + return 3774; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: + return 3776; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 3778; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 3780; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 3782; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 3784; + case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 114; + case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 115; + case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 116; + case BlackBanner::BlackBanner(0).ID: return 7094; + case BlackBanner::BlackBanner(1).ID: return 7095; + case BlackBanner::BlackBanner(2).ID: return 7096; + case BlackBanner::BlackBanner(3).ID: return 7097; + case BlackBanner::BlackBanner(4).ID: return 7098; + case BlackBanner::BlackBanner(5).ID: return 7099; + case BlackBanner::BlackBanner(6).ID: return 7100; + case BlackBanner::BlackBanner(7).ID: return 7101; + case BlackBanner::BlackBanner(8).ID: return 7102; + case BlackBanner::BlackBanner(9).ID: return 7103; + case BlackBanner::BlackBanner(10).ID: return 7104; + case BlackBanner::BlackBanner(11).ID: return 7105; + case BlackBanner::BlackBanner(12).ID: return 7106; + case BlackBanner::BlackBanner(13).ID: return 7107; + case BlackBanner::BlackBanner(14).ID: return 7108; + case BlackBanner::BlackBanner(15).ID: return 7109; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 988; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 989; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 990; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 991; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 992; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 993; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 994; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 995; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 996; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 997; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 998; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 999; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1000; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1001; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1002; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1003; + case BlackCarpet::BlackCarpet().ID: return 6838; + case BlackConcrete::BlackConcrete().ID: return 8392; + case BlackConcretePowder::BlackConcretePowder().ID: return 8408; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8373; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8374; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8375; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8376; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8307; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8308; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8309; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8310; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8311; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8312; + case BlackStainedGlass::BlackStainedGlass().ID: return 3592; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 6302; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 6303; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 6306; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 6307; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 6310; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 6311; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 6314; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 6315; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 6318; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 6319; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 6322; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 6323; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 6326; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 6327; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 6330; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 6331; + case BlackTerracotta::BlackTerracotta().ID: return 5819; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7170; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7171; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7172; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7173; + case BlackWool::BlackWool().ID: return 1098; + case BlueBanner::BlueBanner(0).ID: return 7030; + case BlueBanner::BlueBanner(1).ID: return 7031; + case BlueBanner::BlueBanner(2).ID: return 7032; + case BlueBanner::BlueBanner(3).ID: return 7033; + case BlueBanner::BlueBanner(4).ID: return 7034; + case BlueBanner::BlueBanner(5).ID: return 7035; + case BlueBanner::BlueBanner(6).ID: return 7036; + case BlueBanner::BlueBanner(7).ID: return 7037; + case BlueBanner::BlueBanner(8).ID: return 7038; + case BlueBanner::BlueBanner(9).ID: return 7039; + case BlueBanner::BlueBanner(10).ID: return 7040; + case BlueBanner::BlueBanner(11).ID: return 7041; + case BlueBanner::BlueBanner(12).ID: return 7042; + case BlueBanner::BlueBanner(13).ID: return 7043; + case BlueBanner::BlueBanner(14).ID: return 7044; + case BlueBanner::BlueBanner(15).ID: return 7045; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 924; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 925; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 926; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 927; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 928; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 929; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 930; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 931; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 932; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 933; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 934; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 935; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 936; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 937; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 938; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 939; + case BlueCarpet::BlueCarpet().ID: return 6834; + case BlueConcrete::BlueConcrete().ID: return 8388; + case BlueConcretePowder::BlueConcretePowder().ID: return 8404; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8357; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8358; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8359; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8360; + case BlueIce::BlueIce().ID: return 8572; + case BlueOrchid::BlueOrchid().ID: return 1113; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8283; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8284; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8285; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8286; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8287; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8288; + case BlueStainedGlass::BlueStainedGlass().ID: return 3588; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 6174; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 6175; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 6178; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 6179; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 6182; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 6183; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 6186; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 6187; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 6190; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 6191; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 6194; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 6195; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 6198; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 6199; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 6202; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 6203; + case BlueTerracotta::BlueTerracotta().ID: return 5815; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7154; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7155; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7156; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7157; + case BlueWool::BlueWool().ID: return 1094; + case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 8195; + case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 8196; + case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 8197; + case Bookshelf::Bookshelf().ID: return 1127; + case BrainCoral::BrainCoral().ID: return 8460; + case BrainCoralBlock::BrainCoralBlock().ID: return 8455; + case BrainCoralFan::BrainCoralFan().ID: return 8557; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8513; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8515; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8517; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8519; + case BrewingStand::BrewingStand(true, true, true).ID: return 4613; + case BrewingStand::BrewingStand(true, true, false).ID: return 4614; + case BrewingStand::BrewingStand(true, false, true).ID: return 4615; + case BrewingStand::BrewingStand(true, false, false).ID: return 4616; + case BrewingStand::BrewingStand(false, true, true).ID: return 4617; + case BrewingStand::BrewingStand(false, true, false).ID: return 4618; + case BrewingStand::BrewingStand(false, false, true).ID: return 4619; + case BrewingStand::BrewingStand(false, false, false).ID: return 4620; + case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 7318; + case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 7320; + case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 7322; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4333; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4335; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4337; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4339; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4341; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4343; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4345; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4347; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4349; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4351; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4353; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4355; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4357; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4359; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4361; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4363; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4365; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4367; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4369; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4371; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4373; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4375; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4377; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4379; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4381; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4383; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4385; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4387; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4389; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4391; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4393; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4395; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4397; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4399; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4401; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4403; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4405; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4407; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4409; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4411; + case Bricks::Bricks().ID: return 1125; + case BrownBanner::BrownBanner(0).ID: return 7046; + case BrownBanner::BrownBanner(1).ID: return 7047; + case BrownBanner::BrownBanner(2).ID: return 7048; + case BrownBanner::BrownBanner(3).ID: return 7049; + case BrownBanner::BrownBanner(4).ID: return 7050; + case BrownBanner::BrownBanner(5).ID: return 7051; + case BrownBanner::BrownBanner(6).ID: return 7052; + case BrownBanner::BrownBanner(7).ID: return 7053; + case BrownBanner::BrownBanner(8).ID: return 7054; + case BrownBanner::BrownBanner(9).ID: return 7055; + case BrownBanner::BrownBanner(10).ID: return 7056; + case BrownBanner::BrownBanner(11).ID: return 7057; + case BrownBanner::BrownBanner(12).ID: return 7058; + case BrownBanner::BrownBanner(13).ID: return 7059; + case BrownBanner::BrownBanner(14).ID: return 7060; + case BrownBanner::BrownBanner(15).ID: return 7061; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 940; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 941; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 942; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 943; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 944; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 945; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 946; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 947; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 948; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 949; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 950; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 951; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 952; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 953; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 954; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 955; + case BrownCarpet::BrownCarpet().ID: return 6835; + case BrownConcrete::BrownConcrete().ID: return 8389; + case BrownConcretePowder::BrownConcretePowder().ID: return 8405; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8361; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8362; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8363; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8364; + case BrownMushroom::BrownMushroom().ID: return 1121; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 3987; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 3988; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 3989; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 3990; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 3991; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 3992; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 3993; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 3994; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 3995; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 3996; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 3997; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 3998; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 3999; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4000; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4001; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4002; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4003; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4004; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4005; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4006; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4007; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4008; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4009; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4010; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4011; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4012; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4013; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4014; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4015; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4016; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4017; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4018; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4019; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4020; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4021; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4022; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4023; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4024; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4025; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4026; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4027; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4028; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4029; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4030; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4031; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4032; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4033; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4034; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4035; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4036; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4037; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4038; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4039; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4040; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4041; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4042; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4043; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4044; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4045; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4046; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4047; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4048; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4049; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4050; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8289; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8290; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8291; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8292; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8293; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8294; + case BrownStainedGlass::BrownStainedGlass().ID: return 3589; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 6206; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 6207; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 6210; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 6211; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 6214; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 6215; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 6218; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 6219; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 6222; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 6223; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 6226; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 6227; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 6230; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 6231; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 6234; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 6235; + case BrownTerracotta::BrownTerracotta().ID: return 5816; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7158; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7159; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7160; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7161; + case BrownWool::BrownWool().ID: return 1095; + case BubbleColumn::BubbleColumn(true).ID: return 8576; + case BubbleColumn::BubbleColumn(false).ID: return 8577; + case BubbleCoral::BubbleCoral().ID: return 8461; + case BubbleCoralBlock::BubbleCoralBlock().ID: return 8456; + case BubbleCoralFan::BubbleCoralFan().ID: return 8559; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8521; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8523; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8525; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8527; + case Cactus::Cactus(0).ID: return 3425; + case Cactus::Cactus(1).ID: return 3426; + case Cactus::Cactus(2).ID: return 3427; + case Cactus::Cactus(3).ID: return 3428; + case Cactus::Cactus(4).ID: return 3429; + case Cactus::Cactus(5).ID: return 3430; + case Cactus::Cactus(6).ID: return 3431; + case Cactus::Cactus(7).ID: return 3432; + case Cactus::Cactus(8).ID: return 3433; + case Cactus::Cactus(9).ID: return 3434; + case Cactus::Cactus(10).ID: return 3435; + case Cactus::Cactus(11).ID: return 3436; + case Cactus::Cactus(12).ID: return 3437; + case Cactus::Cactus(13).ID: return 3438; + case Cactus::Cactus(14).ID: return 3439; + case Cactus::Cactus(15).ID: return 3440; + case Cake::Cake(0).ID: return 3506; + case Cake::Cake(1).ID: return 3507; + case Cake::Cake(2).ID: return 3508; + case Cake::Cake(3).ID: return 3509; + case Cake::Cake(4).ID: return 3510; + case Cake::Cake(5).ID: return 3511; + case Cake::Cake(6).ID: return 3512; + case Carrots::Carrots(0).ID: return 5287; + case Carrots::Carrots(1).ID: return 5288; + case Carrots::Carrots(2).ID: return 5289; + case Carrots::Carrots(3).ID: return 5290; + case Carrots::Carrots(4).ID: return 5291; + case Carrots::Carrots(5).ID: return 5292; + case Carrots::Carrots(6).ID: return 5293; + case Carrots::Carrots(7).ID: return 5294; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 3498; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 3499; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 3500; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 3501; + case Cauldron::Cauldron(0).ID: return 4621; + case Cauldron::Cauldron(1).ID: return 4622; + case Cauldron::Cauldron(2).ID: return 4623; + case Cauldron::Cauldron(3).ID: return 4624; + case CaveAir::CaveAir().ID: return 8575; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8176; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8177; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8178; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8179; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8180; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8181; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8182; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8183; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8184; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8185; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8186; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8187; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 1729; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 1731; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 1733; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 1735; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 1737; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 1739; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 1741; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 1743; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 1745; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 1747; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 1749; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 1751; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5571; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5572; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 5573; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 5574; + case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 5696; + case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 7175; + case ChiseledSandstone::ChiseledSandstone().ID: return 246; + case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 3986; + case ChorusFlower::ChorusFlower(0).ID: return 8067; + case ChorusFlower::ChorusFlower(1).ID: return 8068; + case ChorusFlower::ChorusFlower(2).ID: return 8069; + case ChorusFlower::ChorusFlower(3).ID: return 8070; + case ChorusFlower::ChorusFlower(4).ID: return 8071; + case ChorusFlower::ChorusFlower(5).ID: return 8072; + case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 8003; + case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 8004; + case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 8005; + case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 8006; + case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 8007; + case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 8008; + case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 8009; + case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 8010; + case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 8011; + case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 8012; + case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 8013; + case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 8014; + case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 8015; + case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 8016; + case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 8017; + case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 8018; + case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 8019; + case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 8020; + case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 8021; + case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 8022; + case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 8023; + case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 8024; + case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 8025; + case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 8026; + case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 8027; + case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 8028; + case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 8029; + case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 8030; + case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 8031; + case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 8032; + case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 8033; + case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 8034; + case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 8035; + case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 8036; + case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 8037; + case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 8038; + case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 8039; + case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 8040; + case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 8041; + case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 8042; + case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 8043; + case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 8044; + case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 8045; + case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 8046; + case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 8047; + case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 8048; + case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 8049; + case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 8050; + case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 8051; + case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 8052; + case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 8053; + case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 8054; + case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 8055; + case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 8056; + case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 8057; + case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 8058; + case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 8059; + case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 8060; + case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 8061; + case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 8062; + case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 8063; + case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 8064; + case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 8065; + case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 8066; + case Clay::Clay().ID: return 3441; + case CoalBlock::CoalBlock().ID: return 6840; + case CoalOre::CoalOre().ID: return 71; + case CoarseDirt::CoarseDirt().ID: return 11; + case Cobblestone::Cobblestone().ID: return 14; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 7312; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 7314; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 7316; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3190; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3192; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3194; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3196; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3198; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3200; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3202; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3204; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3206; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3208; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3210; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3212; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3214; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3216; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3218; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3220; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3222; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3224; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3226; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3228; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3230; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3232; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3234; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3236; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3238; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3240; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3242; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3244; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3246; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3248; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3250; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3252; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3254; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3256; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3258; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3260; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3262; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3264; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3266; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3268; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5139; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5140; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5143; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5144; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5147; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5148; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5151; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5152; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5155; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5156; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5159; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5160; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5163; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5164; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5167; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5168; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5171; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5172; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5175; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5176; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5179; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5180; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5183; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5184; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5187; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5188; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5191; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5192; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5195; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5196; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5199; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5200; + case Cobweb::Cobweb().ID: return 1040; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 4638; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 4639; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 4640; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 4641; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 4642; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 4643; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 4644; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 4645; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 4646; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 4647; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 4648; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 4649; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5124; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5125; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5126; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5127; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5128; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5129; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5130; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5131; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5132; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5133; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5134; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5135; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 5635; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 5636; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 5637; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 5638; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 5639; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 5640; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 5641; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 5642; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 5643; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 5644; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 5645; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 5646; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 5647; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 5648; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 5649; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 5650; + case Conduit::Conduit().ID: return 8573; + case CrackedStoneBricks::CrackedStoneBricks().ID: return 3985; + case CraftingTable::CraftingTable().ID: return 3050; + case CreeperHead::CreeperHead(0).ID: return 5531; + case CreeperHead::CreeperHead(1).ID: return 5532; + case CreeperHead::CreeperHead(2).ID: return 5533; + case CreeperHead::CreeperHead(3).ID: return 5534; + case CreeperHead::CreeperHead(4).ID: return 5535; + case CreeperHead::CreeperHead(5).ID: return 5536; + case CreeperHead::CreeperHead(6).ID: return 5537; + case CreeperHead::CreeperHead(7).ID: return 5538; + case CreeperHead::CreeperHead(8).ID: return 5539; + case CreeperHead::CreeperHead(9).ID: return 5540; + case CreeperHead::CreeperHead(10).ID: return 5541; + case CreeperHead::CreeperHead(11).ID: return 5542; + case CreeperHead::CreeperHead(12).ID: return 5543; + case CreeperHead::CreeperHead(13).ID: return 5544; + case CreeperHead::CreeperHead(14).ID: return 5545; + case CreeperHead::CreeperHead(15).ID: return 5546; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5527; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5528; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5529; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5530; + case CutRedSandstone::CutRedSandstone().ID: return 7176; + case CutSandstone::CutSandstone().ID: return 247; + case CyanBanner::CyanBanner(0).ID: return 6998; + case CyanBanner::CyanBanner(1).ID: return 6999; + case CyanBanner::CyanBanner(2).ID: return 7000; + case CyanBanner::CyanBanner(3).ID: return 7001; + case CyanBanner::CyanBanner(4).ID: return 7002; + case CyanBanner::CyanBanner(5).ID: return 7003; + case CyanBanner::CyanBanner(6).ID: return 7004; + case CyanBanner::CyanBanner(7).ID: return 7005; + case CyanBanner::CyanBanner(8).ID: return 7006; + case CyanBanner::CyanBanner(9).ID: return 7007; + case CyanBanner::CyanBanner(10).ID: return 7008; + case CyanBanner::CyanBanner(11).ID: return 7009; + case CyanBanner::CyanBanner(12).ID: return 7010; + case CyanBanner::CyanBanner(13).ID: return 7011; + case CyanBanner::CyanBanner(14).ID: return 7012; + case CyanBanner::CyanBanner(15).ID: return 7013; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 892; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 893; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 894; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 895; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 896; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 897; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 898; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 899; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 900; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 901; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 902; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 903; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 904; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 905; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 906; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 907; + case CyanCarpet::CyanCarpet().ID: return 6832; + case CyanConcrete::CyanConcrete().ID: return 8386; + case CyanConcretePowder::CyanConcretePowder().ID: return 8402; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8349; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8350; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8351; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8352; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8271; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8272; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8273; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8274; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8275; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8276; + case CyanStainedGlass::CyanStainedGlass().ID: return 3586; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 6110; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 6111; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 6114; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 6115; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 6118; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 6119; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 6122; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 6123; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 6126; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 6127; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 6130; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 6131; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 6134; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 6135; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 6138; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 6139; + case CyanTerracotta::CyanTerracotta().ID: return 5813; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7146; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7147; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7148; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7149; + case CyanWool::CyanWool().ID: return 1092; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5575; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5576; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 5577; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 5578; + case Dandelion::Dandelion().ID: return 1111; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5423; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5424; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5425; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5426; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5427; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5428; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5429; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5430; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5431; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5432; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5433; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5434; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5435; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5436; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5437; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5438; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: + return 5439; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: + return 5440; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: + return 5441; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: + return 5442; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: + return 5443; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: + return 5444; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: + return 5445; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: + return 5446; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7933; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7934; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7935; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7936; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7937; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7938; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7939; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7940; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7941; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7942; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7943; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7944; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7945; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7946; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7947; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7948; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7949; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7950; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7951; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7952; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7953; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7954; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7955; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7956; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7957; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7958; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7959; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7960; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7961; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7962; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7963; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7964; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7965; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7966; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7967; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7968; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7969; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7970; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7971; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7972; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7973; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7974; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7975; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7976; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7977; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7978; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7979; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7980; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7981; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7982; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7983; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7984; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7985; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7986; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7987; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7988; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7989; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7990; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7991; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7992; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7993; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7994; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7995; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7996; + case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 7647; + case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 7648; + case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 7651; + case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 7652; + case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 7655; + case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 7656; + case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 7659; + case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 7660; + case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 7663; + case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 7664; + case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 7667; + case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 7668; + case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 7671; + case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 7672; + case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 7675; + case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 7676; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7485; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7486; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7487; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7488; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7489; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7490; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7491; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7492; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7493; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7494; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7495; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7496; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7497; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7498; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7499; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7500; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7501; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7502; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7503; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7504; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7505; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7506; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7507; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7508; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7509; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7510; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7511; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7512; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7513; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7514; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7515; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7516; + case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 214; + case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 215; + case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 216; + case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 217; + case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 218; + case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 219; + case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 220; + case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 221; + case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 222; + case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 223; + case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 224; + case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 225; + case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 226; + case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 227; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 87; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 88; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 89; + case DarkOakPlanks::DarkOakPlanks().ID: return 20; + case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3377; + case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3378; + case DarkOakSapling::DarkOakSapling(0).ID: return 31; + case DarkOakSapling::DarkOakSapling(1).ID: return 32; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 7288; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 7290; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 7292; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6413; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6415; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6417; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6419; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6421; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6423; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6425; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6427; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6429; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6431; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6433; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6435; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6437; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6439; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6441; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6443; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6445; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6447; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6449; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6451; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6453; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6455; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6457; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6459; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6461; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6463; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6465; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6467; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6469; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6471; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6473; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6475; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6477; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6479; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6481; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6483; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6485; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6487; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6489; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6491; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 3914; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 3916; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 3918; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 3920; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 3922; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 3924; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 3926; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 3928; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 3930; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 3932; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 3934; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 3936; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 3938; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 3940; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 3942; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 3944; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 3946; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 3948; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 3950; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 3952; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 3954; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 3956; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 3958; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 3960; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 3962; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 3964; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 3966; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 3968; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 3970; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 3972; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 3974; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 3976; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 123; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 124; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 125; + case DarkPrismarine::DarkPrismarine().ID: return 6560; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 6814; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 6816; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 6818; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6722; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6724; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6726; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6728; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6730; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6732; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6734; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6736; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6738; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6740; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6742; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6744; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6746; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6748; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6750; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6752; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6754; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6756; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6758; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6760; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6762; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6764; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6766; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6768; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6770; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6772; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6774; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6776; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6778; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6780; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6782; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6784; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6786; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6788; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6790; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6792; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6794; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6796; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6798; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6800; + case DaylightDetector::DaylightDetector(true, 0).ID: return 5651; + case DaylightDetector::DaylightDetector(true, 1).ID: return 5652; + case DaylightDetector::DaylightDetector(true, 2).ID: return 5653; + case DaylightDetector::DaylightDetector(true, 3).ID: return 5654; + case DaylightDetector::DaylightDetector(true, 4).ID: return 5655; + case DaylightDetector::DaylightDetector(true, 5).ID: return 5656; + case DaylightDetector::DaylightDetector(true, 6).ID: return 5657; + case DaylightDetector::DaylightDetector(true, 7).ID: return 5658; + case DaylightDetector::DaylightDetector(true, 8).ID: return 5659; + case DaylightDetector::DaylightDetector(true, 9).ID: return 5660; + case DaylightDetector::DaylightDetector(true, 10).ID: return 5661; + case DaylightDetector::DaylightDetector(true, 11).ID: return 5662; + case DaylightDetector::DaylightDetector(true, 12).ID: return 5663; + case DaylightDetector::DaylightDetector(true, 13).ID: return 5664; + case DaylightDetector::DaylightDetector(true, 14).ID: return 5665; + case DaylightDetector::DaylightDetector(true, 15).ID: return 5666; + case DaylightDetector::DaylightDetector(false, 0).ID: return 5667; + case DaylightDetector::DaylightDetector(false, 1).ID: return 5668; + case DaylightDetector::DaylightDetector(false, 2).ID: return 5669; + case DaylightDetector::DaylightDetector(false, 3).ID: return 5670; + case DaylightDetector::DaylightDetector(false, 4).ID: return 5671; + case DaylightDetector::DaylightDetector(false, 5).ID: return 5672; + case DaylightDetector::DaylightDetector(false, 6).ID: return 5673; + case DaylightDetector::DaylightDetector(false, 7).ID: return 5674; + case DaylightDetector::DaylightDetector(false, 8).ID: return 5675; + case DaylightDetector::DaylightDetector(false, 9).ID: return 5676; + case DaylightDetector::DaylightDetector(false, 10).ID: return 5677; + case DaylightDetector::DaylightDetector(false, 11).ID: return 5678; + case DaylightDetector::DaylightDetector(false, 12).ID: return 5679; + case DaylightDetector::DaylightDetector(false, 13).ID: return 5680; + case DaylightDetector::DaylightDetector(false, 14).ID: return 5681; + case DaylightDetector::DaylightDetector(false, 15).ID: return 5682; + case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 8450; + case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 8547; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8473; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8475; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8477; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8479; + case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 8451; + case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 8549; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8481; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8483; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8485; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8487; + case DeadBush::DeadBush().ID: return 1043; + case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 8452; + case DeadFireCoralFan::DeadFireCoralFan().ID: return 8551; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8489; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8491; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8493; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8495; + case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 8453; + case DeadHornCoralFan::DeadHornCoralFan().ID: return 8553; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8497; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8499; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8501; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8503; + case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 8449; + case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 8545; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8465; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8467; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8469; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8471; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1016; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1017; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1018; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1019; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1020; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1021; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1022; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1023; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1024; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1025; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1026; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1027; + case DiamondBlock::DiamondBlock().ID: return 3049; + case DiamondOre::DiamondOre().ID: return 3048; + case Diorite::Diorite().ID: return 4; + case Dirt::Dirt().ID: return 10; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 233; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 234; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 235; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 236; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 237; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 238; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 239; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 240; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 241; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 242; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 243; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 244; + case DragonEgg::DragonEgg().ID: return 4635; + case DragonHead::DragonHead(0).ID: return 5551; + case DragonHead::DragonHead(1).ID: return 5552; + case DragonHead::DragonHead(2).ID: return 5553; + case DragonHead::DragonHead(3).ID: return 5554; + case DragonHead::DragonHead(4).ID: return 5555; + case DragonHead::DragonHead(5).ID: return 5556; + case DragonHead::DragonHead(6).ID: return 5557; + case DragonHead::DragonHead(7).ID: return 5558; + case DragonHead::DragonHead(8).ID: return 5559; + case DragonHead::DragonHead(9).ID: return 5560; + case DragonHead::DragonHead(10).ID: return 5561; + case DragonHead::DragonHead(11).ID: return 5562; + case DragonHead::DragonHead(12).ID: return 5563; + case DragonHead::DragonHead(13).ID: return 5564; + case DragonHead::DragonHead(14).ID: return 5565; + case DragonHead::DragonHead(15).ID: return 5566; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5547; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5548; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5549; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5550; + case DriedKelpBlock::DriedKelpBlock().ID: return 8436; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 5792; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 5793; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 5794; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 5795; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 5796; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 5797; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 5798; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 5799; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 5800; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 5801; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 5802; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 5803; + case EmeraldBlock::EmeraldBlock().ID: return 4883; + case EmeraldOre::EmeraldOre().ID: return 4730; + case EnchantingTable::EnchantingTable().ID: return 4612; + case EndGateway::EndGateway().ID: return 8163; + case EndPortal::EndPortal().ID: return 4625; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 4626; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 4627; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 4628; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 4629; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 4630; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 4631; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 4632; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 4633; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 7997; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 7998; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 7999; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 8000; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 8001; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 8002; + case EndStone::EndStone().ID: return 4634; + case EndStoneBricks::EndStoneBricks().ID: return 8157; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 4732; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 4734; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 4736; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 4738; + case Farmland::Farmland(0).ID: return 3059; + case Farmland::Farmland(1).ID: return 3060; + case Farmland::Farmland(2).ID: return 3061; + case Farmland::Farmland(3).ID: return 3062; + case Farmland::Farmland(4).ID: return 3063; + case Farmland::Farmland(5).ID: return 3064; + case Farmland::Farmland(6).ID: return 3065; + case Farmland::Farmland(7).ID: return 3066; + case Fern::Fern().ID: return 1042; + case Fire::Fire(0, true, true, true, true, true).ID: return 1135; + case Fire::Fire(0, true, true, true, true, false).ID: return 1136; + case Fire::Fire(0, true, true, true, false, true).ID: return 1137; + case Fire::Fire(0, true, true, true, false, false).ID: return 1138; + case Fire::Fire(0, true, true, false, true, true).ID: return 1139; + case Fire::Fire(0, true, true, false, true, false).ID: return 1140; + case Fire::Fire(0, true, true, false, false, true).ID: return 1141; + case Fire::Fire(0, true, true, false, false, false).ID: return 1142; + case Fire::Fire(0, true, false, true, true, true).ID: return 1143; + case Fire::Fire(0, true, false, true, true, false).ID: return 1144; + case Fire::Fire(0, true, false, true, false, true).ID: return 1145; + case Fire::Fire(0, true, false, true, false, false).ID: return 1146; + case Fire::Fire(0, true, false, false, true, true).ID: return 1147; + case Fire::Fire(0, true, false, false, true, false).ID: return 1148; + case Fire::Fire(0, true, false, false, false, true).ID: return 1149; + case Fire::Fire(0, true, false, false, false, false).ID: return 1150; + case Fire::Fire(0, false, true, true, true, true).ID: return 1151; + case Fire::Fire(0, false, true, true, true, false).ID: return 1152; + case Fire::Fire(0, false, true, true, false, true).ID: return 1153; + case Fire::Fire(0, false, true, true, false, false).ID: return 1154; + case Fire::Fire(0, false, true, false, true, true).ID: return 1155; + case Fire::Fire(0, false, true, false, true, false).ID: return 1156; + case Fire::Fire(0, false, true, false, false, true).ID: return 1157; + case Fire::Fire(0, false, true, false, false, false).ID: return 1158; + case Fire::Fire(0, false, false, true, true, true).ID: return 1159; + case Fire::Fire(0, false, false, true, true, false).ID: return 1160; + case Fire::Fire(0, false, false, true, false, true).ID: return 1161; + case Fire::Fire(0, false, false, true, false, false).ID: return 1162; + case Fire::Fire(0, false, false, false, true, true).ID: return 1163; + case Fire::Fire(0, false, false, false, true, false).ID: return 1164; + case Fire::Fire(0, false, false, false, false, true).ID: return 1165; + case Fire::Fire(0, false, false, false, false, false).ID: return 1166; + case Fire::Fire(1, true, true, true, true, true).ID: return 1167; + case Fire::Fire(1, true, true, true, true, false).ID: return 1168; + case Fire::Fire(1, true, true, true, false, true).ID: return 1169; + case Fire::Fire(1, true, true, true, false, false).ID: return 1170; + case Fire::Fire(1, true, true, false, true, true).ID: return 1171; + case Fire::Fire(1, true, true, false, true, false).ID: return 1172; + case Fire::Fire(1, true, true, false, false, true).ID: return 1173; + case Fire::Fire(1, true, true, false, false, false).ID: return 1174; + case Fire::Fire(1, true, false, true, true, true).ID: return 1175; + case Fire::Fire(1, true, false, true, true, false).ID: return 1176; + case Fire::Fire(1, true, false, true, false, true).ID: return 1177; + case Fire::Fire(1, true, false, true, false, false).ID: return 1178; + case Fire::Fire(1, true, false, false, true, true).ID: return 1179; + case Fire::Fire(1, true, false, false, true, false).ID: return 1180; + case Fire::Fire(1, true, false, false, false, true).ID: return 1181; + case Fire::Fire(1, true, false, false, false, false).ID: return 1182; + case Fire::Fire(1, false, true, true, true, true).ID: return 1183; + case Fire::Fire(1, false, true, true, true, false).ID: return 1184; + case Fire::Fire(1, false, true, true, false, true).ID: return 1185; + case Fire::Fire(1, false, true, true, false, false).ID: return 1186; + case Fire::Fire(1, false, true, false, true, true).ID: return 1187; + case Fire::Fire(1, false, true, false, true, false).ID: return 1188; + case Fire::Fire(1, false, true, false, false, true).ID: return 1189; + case Fire::Fire(1, false, true, false, false, false).ID: return 1190; + case Fire::Fire(1, false, false, true, true, true).ID: return 1191; + case Fire::Fire(1, false, false, true, true, false).ID: return 1192; + case Fire::Fire(1, false, false, true, false, true).ID: return 1193; + case Fire::Fire(1, false, false, true, false, false).ID: return 1194; + case Fire::Fire(1, false, false, false, true, true).ID: return 1195; + case Fire::Fire(1, false, false, false, true, false).ID: return 1196; + case Fire::Fire(1, false, false, false, false, true).ID: return 1197; + case Fire::Fire(1, false, false, false, false, false).ID: return 1198; + case Fire::Fire(2, true, true, true, true, true).ID: return 1199; + case Fire::Fire(2, true, true, true, true, false).ID: return 1200; + case Fire::Fire(2, true, true, true, false, true).ID: return 1201; + case Fire::Fire(2, true, true, true, false, false).ID: return 1202; + case Fire::Fire(2, true, true, false, true, true).ID: return 1203; + case Fire::Fire(2, true, true, false, true, false).ID: return 1204; + case Fire::Fire(2, true, true, false, false, true).ID: return 1205; + case Fire::Fire(2, true, true, false, false, false).ID: return 1206; + case Fire::Fire(2, true, false, true, true, true).ID: return 1207; + case Fire::Fire(2, true, false, true, true, false).ID: return 1208; + case Fire::Fire(2, true, false, true, false, true).ID: return 1209; + case Fire::Fire(2, true, false, true, false, false).ID: return 1210; + case Fire::Fire(2, true, false, false, true, true).ID: return 1211; + case Fire::Fire(2, true, false, false, true, false).ID: return 1212; + case Fire::Fire(2, true, false, false, false, true).ID: return 1213; + case Fire::Fire(2, true, false, false, false, false).ID: return 1214; + case Fire::Fire(2, false, true, true, true, true).ID: return 1215; + case Fire::Fire(2, false, true, true, true, false).ID: return 1216; + case Fire::Fire(2, false, true, true, false, true).ID: return 1217; + case Fire::Fire(2, false, true, true, false, false).ID: return 1218; + case Fire::Fire(2, false, true, false, true, true).ID: return 1219; + case Fire::Fire(2, false, true, false, true, false).ID: return 1220; + case Fire::Fire(2, false, true, false, false, true).ID: return 1221; + case Fire::Fire(2, false, true, false, false, false).ID: return 1222; + case Fire::Fire(2, false, false, true, true, true).ID: return 1223; + case Fire::Fire(2, false, false, true, true, false).ID: return 1224; + case Fire::Fire(2, false, false, true, false, true).ID: return 1225; + case Fire::Fire(2, false, false, true, false, false).ID: return 1226; + case Fire::Fire(2, false, false, false, true, true).ID: return 1227; + case Fire::Fire(2, false, false, false, true, false).ID: return 1228; + case Fire::Fire(2, false, false, false, false, true).ID: return 1229; + case Fire::Fire(2, false, false, false, false, false).ID: return 1230; + case Fire::Fire(3, true, true, true, true, true).ID: return 1231; + case Fire::Fire(3, true, true, true, true, false).ID: return 1232; + case Fire::Fire(3, true, true, true, false, true).ID: return 1233; + case Fire::Fire(3, true, true, true, false, false).ID: return 1234; + case Fire::Fire(3, true, true, false, true, true).ID: return 1235; + case Fire::Fire(3, true, true, false, true, false).ID: return 1236; + case Fire::Fire(3, true, true, false, false, true).ID: return 1237; + case Fire::Fire(3, true, true, false, false, false).ID: return 1238; + case Fire::Fire(3, true, false, true, true, true).ID: return 1239; + case Fire::Fire(3, true, false, true, true, false).ID: return 1240; + case Fire::Fire(3, true, false, true, false, true).ID: return 1241; + case Fire::Fire(3, true, false, true, false, false).ID: return 1242; + case Fire::Fire(3, true, false, false, true, true).ID: return 1243; + case Fire::Fire(3, true, false, false, true, false).ID: return 1244; + case Fire::Fire(3, true, false, false, false, true).ID: return 1245; + case Fire::Fire(3, true, false, false, false, false).ID: return 1246; + case Fire::Fire(3, false, true, true, true, true).ID: return 1247; + case Fire::Fire(3, false, true, true, true, false).ID: return 1248; + case Fire::Fire(3, false, true, true, false, true).ID: return 1249; + case Fire::Fire(3, false, true, true, false, false).ID: return 1250; + case Fire::Fire(3, false, true, false, true, true).ID: return 1251; + case Fire::Fire(3, false, true, false, true, false).ID: return 1252; + case Fire::Fire(3, false, true, false, false, true).ID: return 1253; + case Fire::Fire(3, false, true, false, false, false).ID: return 1254; + case Fire::Fire(3, false, false, true, true, true).ID: return 1255; + case Fire::Fire(3, false, false, true, true, false).ID: return 1256; + case Fire::Fire(3, false, false, true, false, true).ID: return 1257; + case Fire::Fire(3, false, false, true, false, false).ID: return 1258; + case Fire::Fire(3, false, false, false, true, true).ID: return 1259; + case Fire::Fire(3, false, false, false, true, false).ID: return 1260; + case Fire::Fire(3, false, false, false, false, true).ID: return 1261; + case Fire::Fire(3, false, false, false, false, false).ID: return 1262; + case Fire::Fire(4, true, true, true, true, true).ID: return 1263; + case Fire::Fire(4, true, true, true, true, false).ID: return 1264; + case Fire::Fire(4, true, true, true, false, true).ID: return 1265; + case Fire::Fire(4, true, true, true, false, false).ID: return 1266; + case Fire::Fire(4, true, true, false, true, true).ID: return 1267; + case Fire::Fire(4, true, true, false, true, false).ID: return 1268; + case Fire::Fire(4, true, true, false, false, true).ID: return 1269; + case Fire::Fire(4, true, true, false, false, false).ID: return 1270; + case Fire::Fire(4, true, false, true, true, true).ID: return 1271; + case Fire::Fire(4, true, false, true, true, false).ID: return 1272; + case Fire::Fire(4, true, false, true, false, true).ID: return 1273; + case Fire::Fire(4, true, false, true, false, false).ID: return 1274; + case Fire::Fire(4, true, false, false, true, true).ID: return 1275; + case Fire::Fire(4, true, false, false, true, false).ID: return 1276; + case Fire::Fire(4, true, false, false, false, true).ID: return 1277; + case Fire::Fire(4, true, false, false, false, false).ID: return 1278; + case Fire::Fire(4, false, true, true, true, true).ID: return 1279; + case Fire::Fire(4, false, true, true, true, false).ID: return 1280; + case Fire::Fire(4, false, true, true, false, true).ID: return 1281; + case Fire::Fire(4, false, true, true, false, false).ID: return 1282; + case Fire::Fire(4, false, true, false, true, true).ID: return 1283; + case Fire::Fire(4, false, true, false, true, false).ID: return 1284; + case Fire::Fire(4, false, true, false, false, true).ID: return 1285; + case Fire::Fire(4, false, true, false, false, false).ID: return 1286; + case Fire::Fire(4, false, false, true, true, true).ID: return 1287; + case Fire::Fire(4, false, false, true, true, false).ID: return 1288; + case Fire::Fire(4, false, false, true, false, true).ID: return 1289; + case Fire::Fire(4, false, false, true, false, false).ID: return 1290; + case Fire::Fire(4, false, false, false, true, true).ID: return 1291; + case Fire::Fire(4, false, false, false, true, false).ID: return 1292; + case Fire::Fire(4, false, false, false, false, true).ID: return 1293; + case Fire::Fire(4, false, false, false, false, false).ID: return 1294; + case Fire::Fire(5, true, true, true, true, true).ID: return 1295; + case Fire::Fire(5, true, true, true, true, false).ID: return 1296; + case Fire::Fire(5, true, true, true, false, true).ID: return 1297; + case Fire::Fire(5, true, true, true, false, false).ID: return 1298; + case Fire::Fire(5, true, true, false, true, true).ID: return 1299; + case Fire::Fire(5, true, true, false, true, false).ID: return 1300; + case Fire::Fire(5, true, true, false, false, true).ID: return 1301; + case Fire::Fire(5, true, true, false, false, false).ID: return 1302; + case Fire::Fire(5, true, false, true, true, true).ID: return 1303; + case Fire::Fire(5, true, false, true, true, false).ID: return 1304; + case Fire::Fire(5, true, false, true, false, true).ID: return 1305; + case Fire::Fire(5, true, false, true, false, false).ID: return 1306; + case Fire::Fire(5, true, false, false, true, true).ID: return 1307; + case Fire::Fire(5, true, false, false, true, false).ID: return 1308; + case Fire::Fire(5, true, false, false, false, true).ID: return 1309; + case Fire::Fire(5, true, false, false, false, false).ID: return 1310; + case Fire::Fire(5, false, true, true, true, true).ID: return 1311; + case Fire::Fire(5, false, true, true, true, false).ID: return 1312; + case Fire::Fire(5, false, true, true, false, true).ID: return 1313; + case Fire::Fire(5, false, true, true, false, false).ID: return 1314; + case Fire::Fire(5, false, true, false, true, true).ID: return 1315; + case Fire::Fire(5, false, true, false, true, false).ID: return 1316; + case Fire::Fire(5, false, true, false, false, true).ID: return 1317; + case Fire::Fire(5, false, true, false, false, false).ID: return 1318; + case Fire::Fire(5, false, false, true, true, true).ID: return 1319; + case Fire::Fire(5, false, false, true, true, false).ID: return 1320; + case Fire::Fire(5, false, false, true, false, true).ID: return 1321; + case Fire::Fire(5, false, false, true, false, false).ID: return 1322; + case Fire::Fire(5, false, false, false, true, true).ID: return 1323; + case Fire::Fire(5, false, false, false, true, false).ID: return 1324; + case Fire::Fire(5, false, false, false, false, true).ID: return 1325; + case Fire::Fire(5, false, false, false, false, false).ID: return 1326; + case Fire::Fire(6, true, true, true, true, true).ID: return 1327; + case Fire::Fire(6, true, true, true, true, false).ID: return 1328; + case Fire::Fire(6, true, true, true, false, true).ID: return 1329; + case Fire::Fire(6, true, true, true, false, false).ID: return 1330; + case Fire::Fire(6, true, true, false, true, true).ID: return 1331; + case Fire::Fire(6, true, true, false, true, false).ID: return 1332; + case Fire::Fire(6, true, true, false, false, true).ID: return 1333; + case Fire::Fire(6, true, true, false, false, false).ID: return 1334; + case Fire::Fire(6, true, false, true, true, true).ID: return 1335; + case Fire::Fire(6, true, false, true, true, false).ID: return 1336; + case Fire::Fire(6, true, false, true, false, true).ID: return 1337; + case Fire::Fire(6, true, false, true, false, false).ID: return 1338; + case Fire::Fire(6, true, false, false, true, true).ID: return 1339; + case Fire::Fire(6, true, false, false, true, false).ID: return 1340; + case Fire::Fire(6, true, false, false, false, true).ID: return 1341; + case Fire::Fire(6, true, false, false, false, false).ID: return 1342; + case Fire::Fire(6, false, true, true, true, true).ID: return 1343; + case Fire::Fire(6, false, true, true, true, false).ID: return 1344; + case Fire::Fire(6, false, true, true, false, true).ID: return 1345; + case Fire::Fire(6, false, true, true, false, false).ID: return 1346; + case Fire::Fire(6, false, true, false, true, true).ID: return 1347; + case Fire::Fire(6, false, true, false, true, false).ID: return 1348; + case Fire::Fire(6, false, true, false, false, true).ID: return 1349; + case Fire::Fire(6, false, true, false, false, false).ID: return 1350; + case Fire::Fire(6, false, false, true, true, true).ID: return 1351; + case Fire::Fire(6, false, false, true, true, false).ID: return 1352; + case Fire::Fire(6, false, false, true, false, true).ID: return 1353; + case Fire::Fire(6, false, false, true, false, false).ID: return 1354; + case Fire::Fire(6, false, false, false, true, true).ID: return 1355; + case Fire::Fire(6, false, false, false, true, false).ID: return 1356; + case Fire::Fire(6, false, false, false, false, true).ID: return 1357; + case Fire::Fire(6, false, false, false, false, false).ID: return 1358; + case Fire::Fire(7, true, true, true, true, true).ID: return 1359; + case Fire::Fire(7, true, true, true, true, false).ID: return 1360; + case Fire::Fire(7, true, true, true, false, true).ID: return 1361; + case Fire::Fire(7, true, true, true, false, false).ID: return 1362; + case Fire::Fire(7, true, true, false, true, true).ID: return 1363; + case Fire::Fire(7, true, true, false, true, false).ID: return 1364; + case Fire::Fire(7, true, true, false, false, true).ID: return 1365; + case Fire::Fire(7, true, true, false, false, false).ID: return 1366; + case Fire::Fire(7, true, false, true, true, true).ID: return 1367; + case Fire::Fire(7, true, false, true, true, false).ID: return 1368; + case Fire::Fire(7, true, false, true, false, true).ID: return 1369; + case Fire::Fire(7, true, false, true, false, false).ID: return 1370; + case Fire::Fire(7, true, false, false, true, true).ID: return 1371; + case Fire::Fire(7, true, false, false, true, false).ID: return 1372; + case Fire::Fire(7, true, false, false, false, true).ID: return 1373; + case Fire::Fire(7, true, false, false, false, false).ID: return 1374; + case Fire::Fire(7, false, true, true, true, true).ID: return 1375; + case Fire::Fire(7, false, true, true, true, false).ID: return 1376; + case Fire::Fire(7, false, true, true, false, true).ID: return 1377; + case Fire::Fire(7, false, true, true, false, false).ID: return 1378; + case Fire::Fire(7, false, true, false, true, true).ID: return 1379; + case Fire::Fire(7, false, true, false, true, false).ID: return 1380; + case Fire::Fire(7, false, true, false, false, true).ID: return 1381; + case Fire::Fire(7, false, true, false, false, false).ID: return 1382; + case Fire::Fire(7, false, false, true, true, true).ID: return 1383; + case Fire::Fire(7, false, false, true, true, false).ID: return 1384; + case Fire::Fire(7, false, false, true, false, true).ID: return 1385; + case Fire::Fire(7, false, false, true, false, false).ID: return 1386; + case Fire::Fire(7, false, false, false, true, true).ID: return 1387; + case Fire::Fire(7, false, false, false, true, false).ID: return 1388; + case Fire::Fire(7, false, false, false, false, true).ID: return 1389; + case Fire::Fire(7, false, false, false, false, false).ID: return 1390; + case Fire::Fire(8, true, true, true, true, true).ID: return 1391; + case Fire::Fire(8, true, true, true, true, false).ID: return 1392; + case Fire::Fire(8, true, true, true, false, true).ID: return 1393; + case Fire::Fire(8, true, true, true, false, false).ID: return 1394; + case Fire::Fire(8, true, true, false, true, true).ID: return 1395; + case Fire::Fire(8, true, true, false, true, false).ID: return 1396; + case Fire::Fire(8, true, true, false, false, true).ID: return 1397; + case Fire::Fire(8, true, true, false, false, false).ID: return 1398; + case Fire::Fire(8, true, false, true, true, true).ID: return 1399; + case Fire::Fire(8, true, false, true, true, false).ID: return 1400; + case Fire::Fire(8, true, false, true, false, true).ID: return 1401; + case Fire::Fire(8, true, false, true, false, false).ID: return 1402; + case Fire::Fire(8, true, false, false, true, true).ID: return 1403; + case Fire::Fire(8, true, false, false, true, false).ID: return 1404; + case Fire::Fire(8, true, false, false, false, true).ID: return 1405; + case Fire::Fire(8, true, false, false, false, false).ID: return 1406; + case Fire::Fire(8, false, true, true, true, true).ID: return 1407; + case Fire::Fire(8, false, true, true, true, false).ID: return 1408; + case Fire::Fire(8, false, true, true, false, true).ID: return 1409; + case Fire::Fire(8, false, true, true, false, false).ID: return 1410; + case Fire::Fire(8, false, true, false, true, true).ID: return 1411; + case Fire::Fire(8, false, true, false, true, false).ID: return 1412; + case Fire::Fire(8, false, true, false, false, true).ID: return 1413; + case Fire::Fire(8, false, true, false, false, false).ID: return 1414; + case Fire::Fire(8, false, false, true, true, true).ID: return 1415; + case Fire::Fire(8, false, false, true, true, false).ID: return 1416; + case Fire::Fire(8, false, false, true, false, true).ID: return 1417; + case Fire::Fire(8, false, false, true, false, false).ID: return 1418; + case Fire::Fire(8, false, false, false, true, true).ID: return 1419; + case Fire::Fire(8, false, false, false, true, false).ID: return 1420; + case Fire::Fire(8, false, false, false, false, true).ID: return 1421; + case Fire::Fire(8, false, false, false, false, false).ID: return 1422; + case Fire::Fire(9, true, true, true, true, true).ID: return 1423; + case Fire::Fire(9, true, true, true, true, false).ID: return 1424; + case Fire::Fire(9, true, true, true, false, true).ID: return 1425; + case Fire::Fire(9, true, true, true, false, false).ID: return 1426; + case Fire::Fire(9, true, true, false, true, true).ID: return 1427; + case Fire::Fire(9, true, true, false, true, false).ID: return 1428; + case Fire::Fire(9, true, true, false, false, true).ID: return 1429; + case Fire::Fire(9, true, true, false, false, false).ID: return 1430; + case Fire::Fire(9, true, false, true, true, true).ID: return 1431; + case Fire::Fire(9, true, false, true, true, false).ID: return 1432; + case Fire::Fire(9, true, false, true, false, true).ID: return 1433; + case Fire::Fire(9, true, false, true, false, false).ID: return 1434; + case Fire::Fire(9, true, false, false, true, true).ID: return 1435; + case Fire::Fire(9, true, false, false, true, false).ID: return 1436; + case Fire::Fire(9, true, false, false, false, true).ID: return 1437; + case Fire::Fire(9, true, false, false, false, false).ID: return 1438; + case Fire::Fire(9, false, true, true, true, true).ID: return 1439; + case Fire::Fire(9, false, true, true, true, false).ID: return 1440; + case Fire::Fire(9, false, true, true, false, true).ID: return 1441; + case Fire::Fire(9, false, true, true, false, false).ID: return 1442; + case Fire::Fire(9, false, true, false, true, true).ID: return 1443; + case Fire::Fire(9, false, true, false, true, false).ID: return 1444; + case Fire::Fire(9, false, true, false, false, true).ID: return 1445; + case Fire::Fire(9, false, true, false, false, false).ID: return 1446; + case Fire::Fire(9, false, false, true, true, true).ID: return 1447; + case Fire::Fire(9, false, false, true, true, false).ID: return 1448; + case Fire::Fire(9, false, false, true, false, true).ID: return 1449; + case Fire::Fire(9, false, false, true, false, false).ID: return 1450; + case Fire::Fire(9, false, false, false, true, true).ID: return 1451; + case Fire::Fire(9, false, false, false, true, false).ID: return 1452; + case Fire::Fire(9, false, false, false, false, true).ID: return 1453; + case Fire::Fire(9, false, false, false, false, false).ID: return 1454; + case Fire::Fire(10, true, true, true, true, true).ID: return 1455; + case Fire::Fire(10, true, true, true, true, false).ID: return 1456; + case Fire::Fire(10, true, true, true, false, true).ID: return 1457; + case Fire::Fire(10, true, true, true, false, false).ID: return 1458; + case Fire::Fire(10, true, true, false, true, true).ID: return 1459; + case Fire::Fire(10, true, true, false, true, false).ID: return 1460; + case Fire::Fire(10, true, true, false, false, true).ID: return 1461; + case Fire::Fire(10, true, true, false, false, false).ID: return 1462; + case Fire::Fire(10, true, false, true, true, true).ID: return 1463; + case Fire::Fire(10, true, false, true, true, false).ID: return 1464; + case Fire::Fire(10, true, false, true, false, true).ID: return 1465; + case Fire::Fire(10, true, false, true, false, false).ID: return 1466; + case Fire::Fire(10, true, false, false, true, true).ID: return 1467; + case Fire::Fire(10, true, false, false, true, false).ID: return 1468; + case Fire::Fire(10, true, false, false, false, true).ID: return 1469; + case Fire::Fire(10, true, false, false, false, false).ID: return 1470; + case Fire::Fire(10, false, true, true, true, true).ID: return 1471; + case Fire::Fire(10, false, true, true, true, false).ID: return 1472; + case Fire::Fire(10, false, true, true, false, true).ID: return 1473; + case Fire::Fire(10, false, true, true, false, false).ID: return 1474; + case Fire::Fire(10, false, true, false, true, true).ID: return 1475; + case Fire::Fire(10, false, true, false, true, false).ID: return 1476; + case Fire::Fire(10, false, true, false, false, true).ID: return 1477; + case Fire::Fire(10, false, true, false, false, false).ID: return 1478; + case Fire::Fire(10, false, false, true, true, true).ID: return 1479; + case Fire::Fire(10, false, false, true, true, false).ID: return 1480; + case Fire::Fire(10, false, false, true, false, true).ID: return 1481; + case Fire::Fire(10, false, false, true, false, false).ID: return 1482; + case Fire::Fire(10, false, false, false, true, true).ID: return 1483; + case Fire::Fire(10, false, false, false, true, false).ID: return 1484; + case Fire::Fire(10, false, false, false, false, true).ID: return 1485; + case Fire::Fire(10, false, false, false, false, false).ID: return 1486; + case Fire::Fire(11, true, true, true, true, true).ID: return 1487; + case Fire::Fire(11, true, true, true, true, false).ID: return 1488; + case Fire::Fire(11, true, true, true, false, true).ID: return 1489; + case Fire::Fire(11, true, true, true, false, false).ID: return 1490; + case Fire::Fire(11, true, true, false, true, true).ID: return 1491; + case Fire::Fire(11, true, true, false, true, false).ID: return 1492; + case Fire::Fire(11, true, true, false, false, true).ID: return 1493; + case Fire::Fire(11, true, true, false, false, false).ID: return 1494; + case Fire::Fire(11, true, false, true, true, true).ID: return 1495; + case Fire::Fire(11, true, false, true, true, false).ID: return 1496; + case Fire::Fire(11, true, false, true, false, true).ID: return 1497; + case Fire::Fire(11, true, false, true, false, false).ID: return 1498; + case Fire::Fire(11, true, false, false, true, true).ID: return 1499; + case Fire::Fire(11, true, false, false, true, false).ID: return 1500; + case Fire::Fire(11, true, false, false, false, true).ID: return 1501; + case Fire::Fire(11, true, false, false, false, false).ID: return 1502; + case Fire::Fire(11, false, true, true, true, true).ID: return 1503; + case Fire::Fire(11, false, true, true, true, false).ID: return 1504; + case Fire::Fire(11, false, true, true, false, true).ID: return 1505; + case Fire::Fire(11, false, true, true, false, false).ID: return 1506; + case Fire::Fire(11, false, true, false, true, true).ID: return 1507; + case Fire::Fire(11, false, true, false, true, false).ID: return 1508; + case Fire::Fire(11, false, true, false, false, true).ID: return 1509; + case Fire::Fire(11, false, true, false, false, false).ID: return 1510; + case Fire::Fire(11, false, false, true, true, true).ID: return 1511; + case Fire::Fire(11, false, false, true, true, false).ID: return 1512; + case Fire::Fire(11, false, false, true, false, true).ID: return 1513; + case Fire::Fire(11, false, false, true, false, false).ID: return 1514; + case Fire::Fire(11, false, false, false, true, true).ID: return 1515; + case Fire::Fire(11, false, false, false, true, false).ID: return 1516; + case Fire::Fire(11, false, false, false, false, true).ID: return 1517; + case Fire::Fire(11, false, false, false, false, false).ID: return 1518; + case Fire::Fire(12, true, true, true, true, true).ID: return 1519; + case Fire::Fire(12, true, true, true, true, false).ID: return 1520; + case Fire::Fire(12, true, true, true, false, true).ID: return 1521; + case Fire::Fire(12, true, true, true, false, false).ID: return 1522; + case Fire::Fire(12, true, true, false, true, true).ID: return 1523; + case Fire::Fire(12, true, true, false, true, false).ID: return 1524; + case Fire::Fire(12, true, true, false, false, true).ID: return 1525; + case Fire::Fire(12, true, true, false, false, false).ID: return 1526; + case Fire::Fire(12, true, false, true, true, true).ID: return 1527; + case Fire::Fire(12, true, false, true, true, false).ID: return 1528; + case Fire::Fire(12, true, false, true, false, true).ID: return 1529; + case Fire::Fire(12, true, false, true, false, false).ID: return 1530; + case Fire::Fire(12, true, false, false, true, true).ID: return 1531; + case Fire::Fire(12, true, false, false, true, false).ID: return 1532; + case Fire::Fire(12, true, false, false, false, true).ID: return 1533; + case Fire::Fire(12, true, false, false, false, false).ID: return 1534; + case Fire::Fire(12, false, true, true, true, true).ID: return 1535; + case Fire::Fire(12, false, true, true, true, false).ID: return 1536; + case Fire::Fire(12, false, true, true, false, true).ID: return 1537; + case Fire::Fire(12, false, true, true, false, false).ID: return 1538; + case Fire::Fire(12, false, true, false, true, true).ID: return 1539; + case Fire::Fire(12, false, true, false, true, false).ID: return 1540; + case Fire::Fire(12, false, true, false, false, true).ID: return 1541; + case Fire::Fire(12, false, true, false, false, false).ID: return 1542; + case Fire::Fire(12, false, false, true, true, true).ID: return 1543; + case Fire::Fire(12, false, false, true, true, false).ID: return 1544; + case Fire::Fire(12, false, false, true, false, true).ID: return 1545; + case Fire::Fire(12, false, false, true, false, false).ID: return 1546; + case Fire::Fire(12, false, false, false, true, true).ID: return 1547; + case Fire::Fire(12, false, false, false, true, false).ID: return 1548; + case Fire::Fire(12, false, false, false, false, true).ID: return 1549; + case Fire::Fire(12, false, false, false, false, false).ID: return 1550; + case Fire::Fire(13, true, true, true, true, true).ID: return 1551; + case Fire::Fire(13, true, true, true, true, false).ID: return 1552; + case Fire::Fire(13, true, true, true, false, true).ID: return 1553; + case Fire::Fire(13, true, true, true, false, false).ID: return 1554; + case Fire::Fire(13, true, true, false, true, true).ID: return 1555; + case Fire::Fire(13, true, true, false, true, false).ID: return 1556; + case Fire::Fire(13, true, true, false, false, true).ID: return 1557; + case Fire::Fire(13, true, true, false, false, false).ID: return 1558; + case Fire::Fire(13, true, false, true, true, true).ID: return 1559; + case Fire::Fire(13, true, false, true, true, false).ID: return 1560; + case Fire::Fire(13, true, false, true, false, true).ID: return 1561; + case Fire::Fire(13, true, false, true, false, false).ID: return 1562; + case Fire::Fire(13, true, false, false, true, true).ID: return 1563; + case Fire::Fire(13, true, false, false, true, false).ID: return 1564; + case Fire::Fire(13, true, false, false, false, true).ID: return 1565; + case Fire::Fire(13, true, false, false, false, false).ID: return 1566; + case Fire::Fire(13, false, true, true, true, true).ID: return 1567; + case Fire::Fire(13, false, true, true, true, false).ID: return 1568; + case Fire::Fire(13, false, true, true, false, true).ID: return 1569; + case Fire::Fire(13, false, true, true, false, false).ID: return 1570; + case Fire::Fire(13, false, true, false, true, true).ID: return 1571; + case Fire::Fire(13, false, true, false, true, false).ID: return 1572; + case Fire::Fire(13, false, true, false, false, true).ID: return 1573; + case Fire::Fire(13, false, true, false, false, false).ID: return 1574; + case Fire::Fire(13, false, false, true, true, true).ID: return 1575; + case Fire::Fire(13, false, false, true, true, false).ID: return 1576; + case Fire::Fire(13, false, false, true, false, true).ID: return 1577; + case Fire::Fire(13, false, false, true, false, false).ID: return 1578; + case Fire::Fire(13, false, false, false, true, true).ID: return 1579; + case Fire::Fire(13, false, false, false, true, false).ID: return 1580; + case Fire::Fire(13, false, false, false, false, true).ID: return 1581; + case Fire::Fire(13, false, false, false, false, false).ID: return 1582; + case Fire::Fire(14, true, true, true, true, true).ID: return 1583; + case Fire::Fire(14, true, true, true, true, false).ID: return 1584; + case Fire::Fire(14, true, true, true, false, true).ID: return 1585; + case Fire::Fire(14, true, true, true, false, false).ID: return 1586; + case Fire::Fire(14, true, true, false, true, true).ID: return 1587; + case Fire::Fire(14, true, true, false, true, false).ID: return 1588; + case Fire::Fire(14, true, true, false, false, true).ID: return 1589; + case Fire::Fire(14, true, true, false, false, false).ID: return 1590; + case Fire::Fire(14, true, false, true, true, true).ID: return 1591; + case Fire::Fire(14, true, false, true, true, false).ID: return 1592; + case Fire::Fire(14, true, false, true, false, true).ID: return 1593; + case Fire::Fire(14, true, false, true, false, false).ID: return 1594; + case Fire::Fire(14, true, false, false, true, true).ID: return 1595; + case Fire::Fire(14, true, false, false, true, false).ID: return 1596; + case Fire::Fire(14, true, false, false, false, true).ID: return 1597; + case Fire::Fire(14, true, false, false, false, false).ID: return 1598; + case Fire::Fire(14, false, true, true, true, true).ID: return 1599; + case Fire::Fire(14, false, true, true, true, false).ID: return 1600; + case Fire::Fire(14, false, true, true, false, true).ID: return 1601; + case Fire::Fire(14, false, true, true, false, false).ID: return 1602; + case Fire::Fire(14, false, true, false, true, true).ID: return 1603; + case Fire::Fire(14, false, true, false, true, false).ID: return 1604; + case Fire::Fire(14, false, true, false, false, true).ID: return 1605; + case Fire::Fire(14, false, true, false, false, false).ID: return 1606; + case Fire::Fire(14, false, false, true, true, true).ID: return 1607; + case Fire::Fire(14, false, false, true, true, false).ID: return 1608; + case Fire::Fire(14, false, false, true, false, true).ID: return 1609; + case Fire::Fire(14, false, false, true, false, false).ID: return 1610; + case Fire::Fire(14, false, false, false, true, true).ID: return 1611; + case Fire::Fire(14, false, false, false, true, false).ID: return 1612; + case Fire::Fire(14, false, false, false, false, true).ID: return 1613; + case Fire::Fire(14, false, false, false, false, false).ID: return 1614; + case Fire::Fire(15, true, true, true, true, true).ID: return 1615; + case Fire::Fire(15, true, true, true, true, false).ID: return 1616; + case Fire::Fire(15, true, true, true, false, true).ID: return 1617; + case Fire::Fire(15, true, true, true, false, false).ID: return 1618; + case Fire::Fire(15, true, true, false, true, true).ID: return 1619; + case Fire::Fire(15, true, true, false, true, false).ID: return 1620; + case Fire::Fire(15, true, true, false, false, true).ID: return 1621; + case Fire::Fire(15, true, true, false, false, false).ID: return 1622; + case Fire::Fire(15, true, false, true, true, true).ID: return 1623; + case Fire::Fire(15, true, false, true, true, false).ID: return 1624; + case Fire::Fire(15, true, false, true, false, true).ID: return 1625; + case Fire::Fire(15, true, false, true, false, false).ID: return 1626; + case Fire::Fire(15, true, false, false, true, true).ID: return 1627; + case Fire::Fire(15, true, false, false, true, false).ID: return 1628; + case Fire::Fire(15, true, false, false, false, true).ID: return 1629; + case Fire::Fire(15, true, false, false, false, false).ID: return 1630; + case Fire::Fire(15, false, true, true, true, true).ID: return 1631; + case Fire::Fire(15, false, true, true, true, false).ID: return 1632; + case Fire::Fire(15, false, true, true, false, true).ID: return 1633; + case Fire::Fire(15, false, true, true, false, false).ID: return 1634; + case Fire::Fire(15, false, true, false, true, true).ID: return 1635; + case Fire::Fire(15, false, true, false, true, false).ID: return 1636; + case Fire::Fire(15, false, true, false, false, true).ID: return 1637; + case Fire::Fire(15, false, true, false, false, false).ID: return 1638; + case Fire::Fire(15, false, false, true, true, true).ID: return 1639; + case Fire::Fire(15, false, false, true, true, false).ID: return 1640; + case Fire::Fire(15, false, false, true, false, true).ID: return 1641; + case Fire::Fire(15, false, false, true, false, false).ID: return 1642; + case Fire::Fire(15, false, false, false, true, true).ID: return 1643; + case Fire::Fire(15, false, false, false, true, false).ID: return 1644; + case Fire::Fire(15, false, false, false, false, true).ID: return 1645; + case Fire::Fire(15, false, false, false, false, false).ID: return 1646; + case FireCoral::FireCoral().ID: return 8462; + case FireCoralBlock::FireCoralBlock().ID: return 8457; + case FireCoralFan::FireCoralFan().ID: return 8561; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8529; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8531; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8533; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8535; + case FlowerPot::FlowerPot().ID: return 5265; + case FrostedIce::FrostedIce(0).ID: return 8188; + case FrostedIce::FrostedIce(1).ID: return 8189; + case FrostedIce::FrostedIce(2).ID: return 8190; + case FrostedIce::FrostedIce(3).ID: return 8191; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3067; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3068; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3069; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3070; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3071; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3072; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3073; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3074; + case Glass::Glass().ID: return 230; + case GlassPane::GlassPane(true, true, true, true).ID: return 4213; + case GlassPane::GlassPane(true, true, true, false).ID: return 4214; + case GlassPane::GlassPane(true, true, false, true).ID: return 4217; + case GlassPane::GlassPane(true, true, false, false).ID: return 4218; + case GlassPane::GlassPane(true, false, true, true).ID: return 4221; + case GlassPane::GlassPane(true, false, true, false).ID: return 4222; + case GlassPane::GlassPane(true, false, false, true).ID: return 4225; + case GlassPane::GlassPane(true, false, false, false).ID: return 4226; + case GlassPane::GlassPane(false, true, true, true).ID: return 4229; + case GlassPane::GlassPane(false, true, true, false).ID: return 4230; + case GlassPane::GlassPane(false, true, false, true).ID: return 4233; + case GlassPane::GlassPane(false, true, false, false).ID: return 4234; + case GlassPane::GlassPane(false, false, true, true).ID: return 4237; + case GlassPane::GlassPane(false, false, true, false).ID: return 4238; + case GlassPane::GlassPane(false, false, false, true).ID: return 4241; + case GlassPane::GlassPane(false, false, false, false).ID: return 4242; + case Glowstone::Glowstone().ID: return 3495; + case GoldBlock::GoldBlock().ID: return 1123; + case GoldOre::GoldOre().ID: return 69; + case Granite::Granite().ID: return 2; + case Grass::Grass().ID: return 1041; + case GrassBlock::GrassBlock(true).ID: return 8; + case GrassBlock::GrassBlock(false).ID: return 9; + case GrassPath::GrassPath().ID: return 8162; + case Gravel::Gravel().ID: return 68; + case GrayBanner::GrayBanner(0).ID: return 6966; + case GrayBanner::GrayBanner(1).ID: return 6967; + case GrayBanner::GrayBanner(2).ID: return 6968; + case GrayBanner::GrayBanner(3).ID: return 6969; + case GrayBanner::GrayBanner(4).ID: return 6970; + case GrayBanner::GrayBanner(5).ID: return 6971; + case GrayBanner::GrayBanner(6).ID: return 6972; + case GrayBanner::GrayBanner(7).ID: return 6973; + case GrayBanner::GrayBanner(8).ID: return 6974; + case GrayBanner::GrayBanner(9).ID: return 6975; + case GrayBanner::GrayBanner(10).ID: return 6976; + case GrayBanner::GrayBanner(11).ID: return 6977; + case GrayBanner::GrayBanner(12).ID: return 6978; + case GrayBanner::GrayBanner(13).ID: return 6979; + case GrayBanner::GrayBanner(14).ID: return 6980; + case GrayBanner::GrayBanner(15).ID: return 6981; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 860; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 861; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 862; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 863; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 864; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 865; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 866; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 867; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 868; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 869; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 870; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 871; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 872; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 873; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 874; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 875; + case GrayCarpet::GrayCarpet().ID: return 6830; + case GrayConcrete::GrayConcrete().ID: return 8384; + case GrayConcretePowder::GrayConcretePowder().ID: return 8400; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8341; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8342; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8343; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8344; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8259; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8260; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8261; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8262; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8263; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8264; + case GrayStainedGlass::GrayStainedGlass().ID: return 3584; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 6046; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 6047; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 6050; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 6051; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 6054; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 6055; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 6058; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 6059; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 6062; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 6063; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 6066; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 6067; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 6070; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 6071; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 6074; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 6075; + case GrayTerracotta::GrayTerracotta().ID: return 5811; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7138; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7139; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7140; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7141; + case GrayWool::GrayWool().ID: return 1090; + case GreenBanner::GreenBanner(0).ID: return 7062; + case GreenBanner::GreenBanner(1).ID: return 7063; + case GreenBanner::GreenBanner(2).ID: return 7064; + case GreenBanner::GreenBanner(3).ID: return 7065; + case GreenBanner::GreenBanner(4).ID: return 7066; + case GreenBanner::GreenBanner(5).ID: return 7067; + case GreenBanner::GreenBanner(6).ID: return 7068; + case GreenBanner::GreenBanner(7).ID: return 7069; + case GreenBanner::GreenBanner(8).ID: return 7070; + case GreenBanner::GreenBanner(9).ID: return 7071; + case GreenBanner::GreenBanner(10).ID: return 7072; + case GreenBanner::GreenBanner(11).ID: return 7073; + case GreenBanner::GreenBanner(12).ID: return 7074; + case GreenBanner::GreenBanner(13).ID: return 7075; + case GreenBanner::GreenBanner(14).ID: return 7076; + case GreenBanner::GreenBanner(15).ID: return 7077; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 956; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 957; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 958; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 959; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 960; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 961; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 962; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 963; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 964; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 965; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 966; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 967; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 968; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 969; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 970; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 971; + case GreenCarpet::GreenCarpet().ID: return 6836; + case GreenConcrete::GreenConcrete().ID: return 8390; + case GreenConcretePowder::GreenConcretePowder().ID: return 8406; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8365; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8366; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8367; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8368; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8295; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8296; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8297; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8298; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8299; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8300; + case GreenStainedGlass::GreenStainedGlass().ID: return 3590; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 6238; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 6239; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 6242; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 6243; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 6246; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 6247; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 6250; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 6251; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 6254; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 6255; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 6258; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 6259; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 6262; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 6263; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 6266; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 6267; + case GreenTerracotta::GreenTerracotta().ID: return 5817; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7162; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7163; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7164; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7165; + case GreenWool::GreenWool().ID: return 1096; + case HayBale::HayBale(HayBale::Axis::X).ID: return 6820; + case HayBale::HayBale(HayBale::Axis::Y).ID: return 6821; + case HayBale::HayBale(HayBale::Axis::Z).ID: return 6822; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 5619; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 5620; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 5621; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 5622; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 5623; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 5624; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 5625; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 5626; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 5627; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 5628; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 5629; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 5630; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 5631; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 5632; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 5633; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 5634; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 5685; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5686; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5687; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 5688; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 5689; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 5690; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5691; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5692; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 5693; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 5694; + case HornCoral::HornCoral().ID: return 8463; + case HornCoralBlock::HornCoralBlock().ID: return 8458; + case HornCoralFan::HornCoralFan().ID: return 8563; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8537; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8539; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8541; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8543; + case Ice::Ice().ID: return 3423; + case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 3982; + case InfestedCobblestone::InfestedCobblestone().ID: return 3978; + case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 3981; + case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 3980; + case InfestedStone::InfestedStone().ID: return 3977; + case InfestedStoneBricks::InfestedStoneBricks().ID: return 3979; + case IronBars::IronBars(true, true, true, true).ID: return 4181; + case IronBars::IronBars(true, true, true, false).ID: return 4182; + case IronBars::IronBars(true, true, false, true).ID: return 4185; + case IronBars::IronBars(true, true, false, false).ID: return 4186; + case IronBars::IronBars(true, false, true, true).ID: return 4189; + case IronBars::IronBars(true, false, true, false).ID: return 4190; + case IronBars::IronBars(true, false, false, true).ID: return 4193; + case IronBars::IronBars(true, false, false, false).ID: return 4194; + case IronBars::IronBars(false, true, true, true).ID: return 4197; + case IronBars::IronBars(false, true, true, false).ID: return 4198; + case IronBars::IronBars(false, true, false, true).ID: return 4201; + case IronBars::IronBars(false, true, false, false).ID: return 4202; + case IronBars::IronBars(false, false, true, true).ID: return 4205; + case IronBars::IronBars(false, false, true, false).ID: return 4206; + case IronBars::IronBars(false, false, false, true).ID: return 4209; + case IronBars::IronBars(false, false, false, false).ID: return 4210; + case IronBlock::IronBlock().ID: return 1124; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3303; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3304; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3305; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3306; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3307; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3308; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3309; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3310; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3311; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3312; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3313; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3314; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3315; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3316; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3317; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3318; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3319; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3320; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3321; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3322; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3323; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3324; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3325; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3326; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3327; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3328; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3329; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3330; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3331; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3332; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3333; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3334; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3335; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3336; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3337; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3338; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3339; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3340; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3341; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3342; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3343; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3344; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3345; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3346; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3347; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3348; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3349; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3350; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3351; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3352; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3353; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3354; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3355; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3356; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3357; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3358; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3359; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3360; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3361; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3362; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3363; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3364; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3365; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3366; + case IronOre::IronOre().ID: return 70; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 6495; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: + return 6497; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: + return 6499; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: + return 6501; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: + return 6503; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: + return 6505; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: + return 6507; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: + return 6509; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 6511; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: + return 6513; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: + return 6515; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: + return 6517; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: + return 6519; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: + return 6521; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: + return 6523; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: + return 6525; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 6527; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: + return 6529; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: + return 6531; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: + return 6533; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: + return 6535; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: + return 6537; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: + return 6539; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: + return 6541; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 6543; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: + return 6545; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: + return 6547; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: + return 6549; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: + return 6551; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: + return 6553; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: + return 6555; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: + return 6557; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 3502; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 3503; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 3504; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 3505; + case Jukebox::Jukebox(true).ID: return 3458; + case Jukebox::Jukebox(false).ID: return 3459; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5375; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5376; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5377; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5378; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5379; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5380; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5381; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5382; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5383; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5384; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5385; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5386; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5387; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5388; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5389; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5390; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5391; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5392; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5393; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5394; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5395; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5396; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5397; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5398; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7805; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7806; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7807; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7808; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7809; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7810; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7811; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7812; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7813; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7814; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7815; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7816; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7817; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7818; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7819; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7820; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7821; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7822; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7823; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7824; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7825; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7826; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7827; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7828; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7829; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7830; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7831; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7832; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7833; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7834; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7835; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7836; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7837; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7838; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7839; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7840; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7841; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7842; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7843; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7844; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7845; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7846; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7847; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7848; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7849; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7850; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7851; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7852; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7853; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7854; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7855; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7856; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7857; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7858; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7859; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7860; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7861; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7862; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7863; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7864; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7865; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7866; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7867; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7868; + case JungleFence::JungleFence(true, true, true, true).ID: return 7583; + case JungleFence::JungleFence(true, true, true, false).ID: return 7584; + case JungleFence::JungleFence(true, true, false, true).ID: return 7587; + case JungleFence::JungleFence(true, true, false, false).ID: return 7588; + case JungleFence::JungleFence(true, false, true, true).ID: return 7591; + case JungleFence::JungleFence(true, false, true, false).ID: return 7592; + case JungleFence::JungleFence(true, false, false, true).ID: return 7595; + case JungleFence::JungleFence(true, false, false, false).ID: return 7596; + case JungleFence::JungleFence(false, true, true, true).ID: return 7599; + case JungleFence::JungleFence(false, true, true, false).ID: return 7600; + case JungleFence::JungleFence(false, true, false, true).ID: return 7603; + case JungleFence::JungleFence(false, true, false, false).ID: return 7604; + case JungleFence::JungleFence(false, false, true, true).ID: return 7607; + case JungleFence::JungleFence(false, false, true, false).ID: return 7608; + case JungleFence::JungleFence(false, false, false, true).ID: return 7611; + case JungleFence::JungleFence(false, false, false, false).ID: return 7612; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7421; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7422; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7423; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7424; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7425; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7426; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7427; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7428; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7429; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7430; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7431; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7432; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7433; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7434; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7435; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7436; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7437; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7438; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7439; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7440; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7441; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7442; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7443; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7444; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7445; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7446; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7447; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7448; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7449; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7450; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7451; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7452; + case JungleLeaves::JungleLeaves(1, true).ID: return 186; + case JungleLeaves::JungleLeaves(1, false).ID: return 187; + case JungleLeaves::JungleLeaves(2, true).ID: return 188; + case JungleLeaves::JungleLeaves(2, false).ID: return 189; + case JungleLeaves::JungleLeaves(3, true).ID: return 190; + case JungleLeaves::JungleLeaves(3, false).ID: return 191; + case JungleLeaves::JungleLeaves(4, true).ID: return 192; + case JungleLeaves::JungleLeaves(4, false).ID: return 193; + case JungleLeaves::JungleLeaves(5, true).ID: return 194; + case JungleLeaves::JungleLeaves(5, false).ID: return 195; + case JungleLeaves::JungleLeaves(6, true).ID: return 196; + case JungleLeaves::JungleLeaves(6, false).ID: return 197; + case JungleLeaves::JungleLeaves(7, true).ID: return 198; + case JungleLeaves::JungleLeaves(7, false).ID: return 199; + case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 81; + case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 82; + case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 83; + case JunglePlanks::JunglePlanks().ID: return 18; + case JunglePressurePlate::JunglePressurePlate(true).ID: return 3373; + case JunglePressurePlate::JunglePressurePlate(false).ID: return 3374; + case JungleSapling::JungleSapling(0).ID: return 27; + case JungleSapling::JungleSapling(1).ID: return 28; + case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 7276; + case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 7278; + case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 7280; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5045; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5047; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5049; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5051; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5053; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5055; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5057; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5059; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5061; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5063; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5065; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5067; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5069; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5071; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5073; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5075; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5077; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5079; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5081; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5083; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5085; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5087; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5089; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5091; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5093; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5095; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5097; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5099; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5101; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5103; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5105; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5107; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5109; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5111; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5113; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5115; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5117; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5119; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5121; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5123; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: + return 3786; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: + return 3788; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: + return 3790; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: + return 3792; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 3794; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 3796; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 3798; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 3800; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: + return 3802; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: + return 3804; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: + return 3806; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: + return 3808; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 3810; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 3812; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 3814; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 3816; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: + return 3818; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: + return 3820; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: + return 3822; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: + return 3824; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 3826; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 3828; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 3830; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 3832; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: + return 3834; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: + return 3836; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: + return 3838; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: + return 3840; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 3842; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 3844; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 3846; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 3848; + case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 117; + case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 118; + case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 119; + case Kelp::Kelp(0).ID: return 8409; + case Kelp::Kelp(1).ID: return 8410; + case Kelp::Kelp(2).ID: return 8411; + case Kelp::Kelp(3).ID: return 8412; + case Kelp::Kelp(4).ID: return 8413; + case Kelp::Kelp(5).ID: return 8414; + case Kelp::Kelp(6).ID: return 8415; + case Kelp::Kelp(7).ID: return 8416; + case Kelp::Kelp(8).ID: return 8417; + case Kelp::Kelp(9).ID: return 8418; + case Kelp::Kelp(10).ID: return 8419; + case Kelp::Kelp(11).ID: return 8420; + case Kelp::Kelp(12).ID: return 8421; + case Kelp::Kelp(13).ID: return 8422; + case Kelp::Kelp(14).ID: return 8423; + case Kelp::Kelp(15).ID: return 8424; + case Kelp::Kelp(16).ID: return 8425; + case Kelp::Kelp(17).ID: return 8426; + case Kelp::Kelp(18).ID: return 8427; + case Kelp::Kelp(19).ID: return 8428; + case Kelp::Kelp(20).ID: return 8429; + case Kelp::Kelp(21).ID: return 8430; + case Kelp::Kelp(22).ID: return 8431; + case Kelp::Kelp(23).ID: return 8432; + case Kelp::Kelp(24).ID: return 8433; + case Kelp::Kelp(25).ID: return 8434; + case KelpPlant::KelpPlant().ID: return 8435; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3172; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3174; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3176; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3178; + case LapisBlock::LapisBlock().ID: return 232; + case LapisOre::LapisOre().ID: return 231; + case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 6852; + case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 6853; + case Lava::Lava(0).ID: return 50; + case Lava::Lava(1).ID: return 51; + case Lava::Lava(2).ID: return 52; + case Lava::Lava(3).ID: return 53; + case Lava::Lava(4).ID: return 54; + case Lava::Lava(5).ID: return 55; + case Lava::Lava(6).ID: return 56; + case Lava::Lava(7).ID: return 57; + case Lava::Lava(8).ID: return 58; + case Lava::Lava(9).ID: return 59; + case Lava::Lava(10).ID: return 60; + case Lava::Lava(11).ID: return 61; + case Lava::Lava(12).ID: return 62; + case Lava::Lava(13).ID: return 63; + case Lava::Lava(14).ID: return 64; + case Lava::Lava(15).ID: return 65; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3277; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3278; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3279; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3280; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3281; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3282; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3283; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3284; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3285; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3286; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3287; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3288; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3289; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3290; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3291; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3292; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3293; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3294; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3295; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3296; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3297; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3298; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3299; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3300; + case LightBlueBanner::LightBlueBanner(0).ID: return 6902; + case LightBlueBanner::LightBlueBanner(1).ID: return 6903; + case LightBlueBanner::LightBlueBanner(2).ID: return 6904; + case LightBlueBanner::LightBlueBanner(3).ID: return 6905; + case LightBlueBanner::LightBlueBanner(4).ID: return 6906; + case LightBlueBanner::LightBlueBanner(5).ID: return 6907; + case LightBlueBanner::LightBlueBanner(6).ID: return 6908; + case LightBlueBanner::LightBlueBanner(7).ID: return 6909; + case LightBlueBanner::LightBlueBanner(8).ID: return 6910; + case LightBlueBanner::LightBlueBanner(9).ID: return 6911; + case LightBlueBanner::LightBlueBanner(10).ID: return 6912; + case LightBlueBanner::LightBlueBanner(11).ID: return 6913; + case LightBlueBanner::LightBlueBanner(12).ID: return 6914; + case LightBlueBanner::LightBlueBanner(13).ID: return 6915; + case LightBlueBanner::LightBlueBanner(14).ID: return 6916; + case LightBlueBanner::LightBlueBanner(15).ID: return 6917; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 796; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 797; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 798; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 799; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 800; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 801; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 802; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 803; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 804; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 805; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 806; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 807; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 808; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 809; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 810; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 811; + case LightBlueCarpet::LightBlueCarpet().ID: return 6826; + case LightBlueConcrete::LightBlueConcrete().ID: return 8380; + case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 8396; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8325; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8326; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8327; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8328; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8235; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8236; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8237; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8238; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8239; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8240; + case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 3580; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 5918; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 5919; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 5922; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 5923; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 5926; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 5927; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 5930; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 5931; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 5934; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 5935; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 5938; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 5939; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 5942; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 5943; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 5946; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 5947; + case LightBlueTerracotta::LightBlueTerracotta().ID: return 5807; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7122; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7123; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7124; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7125; + case LightBlueWool::LightBlueWool().ID: return 1086; + case LightGrayBanner::LightGrayBanner(0).ID: return 6982; + case LightGrayBanner::LightGrayBanner(1).ID: return 6983; + case LightGrayBanner::LightGrayBanner(2).ID: return 6984; + case LightGrayBanner::LightGrayBanner(3).ID: return 6985; + case LightGrayBanner::LightGrayBanner(4).ID: return 6986; + case LightGrayBanner::LightGrayBanner(5).ID: return 6987; + case LightGrayBanner::LightGrayBanner(6).ID: return 6988; + case LightGrayBanner::LightGrayBanner(7).ID: return 6989; + case LightGrayBanner::LightGrayBanner(8).ID: return 6990; + case LightGrayBanner::LightGrayBanner(9).ID: return 6991; + case LightGrayBanner::LightGrayBanner(10).ID: return 6992; + case LightGrayBanner::LightGrayBanner(11).ID: return 6993; + case LightGrayBanner::LightGrayBanner(12).ID: return 6994; + case LightGrayBanner::LightGrayBanner(13).ID: return 6995; + case LightGrayBanner::LightGrayBanner(14).ID: return 6996; + case LightGrayBanner::LightGrayBanner(15).ID: return 6997; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 876; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 877; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 878; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 879; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 880; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 881; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 882; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 883; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 884; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 885; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 886; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 887; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 888; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 889; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 890; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 891; + case LightGrayCarpet::LightGrayCarpet().ID: return 6831; + case LightGrayConcrete::LightGrayConcrete().ID: return 8385; + case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 8401; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8345; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8346; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8347; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8348; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8265; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8266; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8267; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8268; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8269; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8270; + case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 3585; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 6078; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 6079; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 6082; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 6083; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 6086; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 6087; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 6090; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 6091; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 6094; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 6095; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 6098; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 6099; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 6102; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 6103; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 6106; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 6107; + case LightGrayTerracotta::LightGrayTerracotta().ID: return 5812; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7142; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7143; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7144; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7145; + case LightGrayWool::LightGrayWool().ID: return 1091; + case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 5603; + case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 5604; + case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 5605; + case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 5606; + case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 5607; + case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 5608; + case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 5609; + case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 5610; + case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 5611; + case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 5612; + case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 5613; + case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 5614; + case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 5615; + case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 5616; + case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 5617; + case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 5618; + case Lilac::Lilac(Lilac::Half::Upper).ID: return 6844; + case Lilac::Lilac(Lilac::Half::Lower).ID: return 6845; + case LilyPad::LilyPad().ID: return 4494; + case LimeBanner::LimeBanner(0).ID: return 6934; + case LimeBanner::LimeBanner(1).ID: return 6935; + case LimeBanner::LimeBanner(2).ID: return 6936; + case LimeBanner::LimeBanner(3).ID: return 6937; + case LimeBanner::LimeBanner(4).ID: return 6938; + case LimeBanner::LimeBanner(5).ID: return 6939; + case LimeBanner::LimeBanner(6).ID: return 6940; + case LimeBanner::LimeBanner(7).ID: return 6941; + case LimeBanner::LimeBanner(8).ID: return 6942; + case LimeBanner::LimeBanner(9).ID: return 6943; + case LimeBanner::LimeBanner(10).ID: return 6944; + case LimeBanner::LimeBanner(11).ID: return 6945; + case LimeBanner::LimeBanner(12).ID: return 6946; + case LimeBanner::LimeBanner(13).ID: return 6947; + case LimeBanner::LimeBanner(14).ID: return 6948; + case LimeBanner::LimeBanner(15).ID: return 6949; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 828; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 829; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 830; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 831; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 832; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 833; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 834; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 835; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 836; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 837; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 838; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 839; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 840; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 841; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 842; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 843; + case LimeCarpet::LimeCarpet().ID: return 6828; + case LimeConcrete::LimeConcrete().ID: return 8382; + case LimeConcretePowder::LimeConcretePowder().ID: return 8398; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8333; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8334; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8335; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8336; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8247; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8248; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8249; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8250; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8251; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8252; + case LimeStainedGlass::LimeStainedGlass().ID: return 3582; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 5982; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 5983; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 5986; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 5987; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 5990; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 5991; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 5994; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 5995; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 5998; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 5999; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 6002; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 6003; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 6006; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 6007; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 6010; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 6011; + case LimeTerracotta::LimeTerracotta().ID: return 5809; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7130; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7131; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7132; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7133; + case LimeWool::LimeWool().ID: return 1088; + case MagentaBanner::MagentaBanner(0).ID: return 6886; + case MagentaBanner::MagentaBanner(1).ID: return 6887; + case MagentaBanner::MagentaBanner(2).ID: return 6888; + case MagentaBanner::MagentaBanner(3).ID: return 6889; + case MagentaBanner::MagentaBanner(4).ID: return 6890; + case MagentaBanner::MagentaBanner(5).ID: return 6891; + case MagentaBanner::MagentaBanner(6).ID: return 6892; + case MagentaBanner::MagentaBanner(7).ID: return 6893; + case MagentaBanner::MagentaBanner(8).ID: return 6894; + case MagentaBanner::MagentaBanner(9).ID: return 6895; + case MagentaBanner::MagentaBanner(10).ID: return 6896; + case MagentaBanner::MagentaBanner(11).ID: return 6897; + case MagentaBanner::MagentaBanner(12).ID: return 6898; + case MagentaBanner::MagentaBanner(13).ID: return 6899; + case MagentaBanner::MagentaBanner(14).ID: return 6900; + case MagentaBanner::MagentaBanner(15).ID: return 6901; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 780; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 781; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 782; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 783; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 784; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 785; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 786; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 787; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 788; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 789; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 790; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 791; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 792; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 793; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 794; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 795; + case MagentaCarpet::MagentaCarpet().ID: return 6825; + case MagentaConcrete::MagentaConcrete().ID: return 8379; + case MagentaConcretePowder::MagentaConcretePowder().ID: return 8395; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8321; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8322; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8323; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8324; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8229; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8230; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8231; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8232; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8233; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8234; + case MagentaStainedGlass::MagentaStainedGlass().ID: return 3579; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 5886; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 5887; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 5890; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 5891; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 5894; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 5895; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 5898; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 5899; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 5902; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 5903; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 5906; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 5907; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 5910; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 5911; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 5914; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 5915; + case MagentaTerracotta::MagentaTerracotta().ID: return 5806; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7118; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7119; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7120; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7121; + case MagentaWool::MagentaWool().ID: return 1085; + case MagmaBlock::MagmaBlock().ID: return 8192; + case Melon::Melon().ID: return 4243; + case MelonStem::MelonStem(0).ID: return 4260; + case MelonStem::MelonStem(1).ID: return 4261; + case MelonStem::MelonStem(2).ID: return 4262; + case MelonStem::MelonStem(3).ID: return 4263; + case MelonStem::MelonStem(4).ID: return 4264; + case MelonStem::MelonStem(5).ID: return 4265; + case MelonStem::MelonStem(6).ID: return 4266; + case MelonStem::MelonStem(7).ID: return 4267; + case MossyCobblestone::MossyCobblestone().ID: return 1128; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5203; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5204; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5207; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5208; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5211; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5212; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5215; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5216; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5219; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5220; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5223; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5224; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5227; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5228; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5231; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5232; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5235; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5236; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5239; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5240; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5243; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5244; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5247; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5248; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5251; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5252; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5255; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5256; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5259; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5260; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5263; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5264; + case MossyStoneBricks::MossyStoneBricks().ID: return 3984; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1099; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1100; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1101; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1102; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1103; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1104; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1105; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1106; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1107; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1108; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1109; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1110; + case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4115; + case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4116; + case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4117; + case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4118; + case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4119; + case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4120; + case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4121; + case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4122; + case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4123; + case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4124; + case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4125; + case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4126; + case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4127; + case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4128; + case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4129; + case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4130; + case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4131; + case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4132; + case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4133; + case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4134; + case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4135; + case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4136; + case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4137; + case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4138; + case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4139; + case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4140; + case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4141; + case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4142; + case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4143; + case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4144; + case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4145; + case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4146; + case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4147; + case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4148; + case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4149; + case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4150; + case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4151; + case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4152; + case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4153; + case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4154; + case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4155; + case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4156; + case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4157; + case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4158; + case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4159; + case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4160; + case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4161; + case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4162; + case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4163; + case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4164; + case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4165; + case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4166; + case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4167; + case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4168; + case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4169; + case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4170; + case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4171; + case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4172; + case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4173; + case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4174; + case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4175; + case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4176; + case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4177; + case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4178; + case Mycelium::Mycelium(true).ID: return 4492; + case Mycelium::Mycelium(false).ID: return 4493; + case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 4498; + case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 4499; + case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 4502; + case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 4503; + case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 4506; + case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 4507; + case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 4510; + case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 4511; + case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 4514; + case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 4515; + case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 4518; + case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 4519; + case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 4522; + case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 4523; + case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 4526; + case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 4527; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 7330; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 7332; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 7334; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4529; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4531; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4533; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4535; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4537; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4539; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4541; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4543; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4545; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4547; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4549; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4551; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4553; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4555; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4557; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4559; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4561; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4563; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4565; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4567; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4569; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4571; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4573; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4575; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4577; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4579; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4581; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4583; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4585; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4587; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4589; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4591; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4593; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4595; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4597; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4599; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4601; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4603; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4605; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4607; + case NetherBricks::NetherBricks().ID: return 4495; + case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 3496; + case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 3497; + case NetherQuartzOre::NetherQuartzOre().ID: return 5684; + case NetherWart::NetherWart(0).ID: return 4608; + case NetherWart::NetherWart(1).ID: return 4609; + case NetherWart::NetherWart(2).ID: return 4610; + case NetherWart::NetherWart(3).ID: return 4611; + case NetherWartBlock::NetherWartBlock().ID: return 8193; + case Netherrack::Netherrack().ID: return 3493; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 248; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 249; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 250; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 251; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 252; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 253; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 254; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 255; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 256; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 257; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 258; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 259; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 260; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 261; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 262; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 263; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 264; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 265; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 266; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 267; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 268; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 269; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 270; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 271; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 272; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 273; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 274; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 275; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 276; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 277; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 278; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 279; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 280; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 281; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 282; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 283; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 284; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 285; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 286; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 287; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 288; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 289; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 290; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 291; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 292; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 293; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 294; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 295; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 296; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 297; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 298; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 299; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 300; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 301; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 302; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 303; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 304; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 305; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 306; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 307; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 308; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 309; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 310; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 311; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 312; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 313; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 314; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 315; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 316; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 317; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 318; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 319; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 320; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 321; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 322; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 323; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 324; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 325; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 326; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 327; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 328; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 329; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 330; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 331; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 332; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 333; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 334; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 335; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 336; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 337; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 338; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 339; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 340; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 341; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 342; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 343; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 344; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 345; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 346; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 347; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 348; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 349; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 350; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 351; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 352; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 353; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 354; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 355; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 356; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 357; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 358; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 359; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 360; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 361; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 362; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 363; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 364; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 365; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 366; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 367; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 368; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 369; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 370; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 371; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 372; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 373; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 374; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 375; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 376; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 377; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 378; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 379; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 380; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 381; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 382; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 383; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 384; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 385; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 386; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 387; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 388; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 389; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 390; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 391; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 392; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 393; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 394; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 395; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 396; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 397; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 398; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 399; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 400; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 401; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 402; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 403; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 404; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 405; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 406; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 407; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 408; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 409; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 410; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 411; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 412; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 413; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 414; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 415; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 416; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 417; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 418; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 419; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 420; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 421; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 422; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 423; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 424; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 425; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 426; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 427; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 428; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 429; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 430; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 431; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 432; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 433; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 434; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 435; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 436; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 437; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 438; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 439; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 440; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 441; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 442; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 443; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 444; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 445; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 446; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 447; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 448; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 449; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 450; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 451; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 452; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 453; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 454; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 455; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 456; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 457; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 458; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 459; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 460; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 461; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 462; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 463; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 464; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 465; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 466; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 467; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 468; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 469; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 470; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 471; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 472; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 473; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 474; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 475; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 476; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 477; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 478; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 479; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 480; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 481; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 482; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 483; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 484; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 485; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 486; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 487; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 488; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 489; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 490; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 491; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 492; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 493; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 494; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 495; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 496; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 497; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 498; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 499; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 500; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 501; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 502; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 503; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 504; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 505; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 506; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 507; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 508; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 509; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 510; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 511; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 512; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 513; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 514; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 515; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 516; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 517; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 518; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 519; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 520; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 521; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 522; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 523; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 524; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 525; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 526; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 527; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 528; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 529; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 530; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 531; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 532; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 533; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 534; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 535; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 536; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 537; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 538; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 539; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 540; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 541; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 542; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 543; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 544; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 545; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 546; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 547; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 548; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 549; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 550; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 551; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 552; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 553; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 554; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 555; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 556; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 557; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 558; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 559; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 560; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 561; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 562; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 563; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 564; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 565; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 566; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 567; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 568; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 569; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 570; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 571; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 572; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 573; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 574; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 575; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 576; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 577; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 578; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 579; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 580; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 581; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 582; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 583; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 584; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 585; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 586; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 587; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 588; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 589; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 590; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 591; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 592; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 593; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 594; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 595; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 596; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 597; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 598; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 599; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 600; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 601; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 602; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 603; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 604; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 605; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 606; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 607; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 608; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 609; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 610; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 611; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 612; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 613; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 614; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 615; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 616; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 617; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 618; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 619; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 620; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 621; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 622; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 623; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 624; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 625; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 626; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 627; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 628; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 629; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 630; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 631; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 632; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 633; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 634; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 635; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 636; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 637; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 638; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 639; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 640; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 641; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 642; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 643; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 644; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 645; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 646; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 647; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 648; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 649; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 650; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 651; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 652; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 653; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 654; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 655; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 656; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 657; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 658; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 659; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 660; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 661; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 662; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 663; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 664; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 665; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 666; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 667; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 668; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 669; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 670; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 671; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 672; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 673; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 674; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 675; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 676; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 677; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 678; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 679; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 680; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 681; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 682; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 683; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 684; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 685; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 686; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 687; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 688; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 689; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 690; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 691; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 692; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 693; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 694; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 695; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 696; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 697; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 698; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 699; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 700; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 701; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 702; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 703; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 704; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 705; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 706; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 707; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 708; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 709; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 710; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 711; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 712; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 713; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 714; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 715; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 716; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 717; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 718; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 719; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 720; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 721; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 722; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 723; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 724; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 725; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 726; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 727; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 728; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 729; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 730; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 731; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 732; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 733; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 734; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 735; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 736; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 737; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 738; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 739; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 740; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 741; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 742; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 743; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 744; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 745; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 746; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 747; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5303; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5304; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5305; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5306; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5307; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5308; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5309; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5310; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5311; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5312; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5313; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5314; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5315; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5316; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5317; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5318; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5319; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5320; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5321; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5322; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5323; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5324; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5325; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5326; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3107; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3108; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3109; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3110; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3111; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3112; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3113; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3114; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3115; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3116; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3117; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3118; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3119; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3120; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3121; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3122; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3123; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3124; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3125; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3126; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3127; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3128; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3129; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3130; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3131; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3132; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3133; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3134; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3135; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3136; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3137; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3138; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3139; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3140; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3141; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3142; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3143; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3144; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3145; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3146; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3147; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3148; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3149; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3150; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3151; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3152; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3153; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3154; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3155; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3156; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3157; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3158; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3159; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3160; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3161; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3162; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3163; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3164; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3165; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3166; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3167; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3168; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3169; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3170; + case OakFence::OakFence(true, true, true, true).ID: return 3462; + case OakFence::OakFence(true, true, true, false).ID: return 3463; + case OakFence::OakFence(true, true, false, true).ID: return 3466; + case OakFence::OakFence(true, true, false, false).ID: return 3467; + case OakFence::OakFence(true, false, true, true).ID: return 3470; + case OakFence::OakFence(true, false, true, false).ID: return 3471; + case OakFence::OakFence(true, false, false, true).ID: return 3474; + case OakFence::OakFence(true, false, false, false).ID: return 3475; + case OakFence::OakFence(false, true, true, true).ID: return 3478; + case OakFence::OakFence(false, true, true, false).ID: return 3479; + case OakFence::OakFence(false, true, false, true).ID: return 3482; + case OakFence::OakFence(false, true, false, false).ID: return 3483; + case OakFence::OakFence(false, false, true, true).ID: return 3486; + case OakFence::OakFence(false, false, true, false).ID: return 3487; + case OakFence::OakFence(false, false, false, true).ID: return 3490; + case OakFence::OakFence(false, false, false, false).ID: return 3491; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4300; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4301; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4302; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4303; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4304; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4305; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4306; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4307; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4308; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4309; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4310; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4311; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4312; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4313; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4314; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4315; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4316; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4317; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4318; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4319; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4320; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4321; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4322; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4323; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4324; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4325; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4326; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4327; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4328; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4329; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4330; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4331; + case OakLeaves::OakLeaves(1, true).ID: return 144; + case OakLeaves::OakLeaves(1, false).ID: return 145; + case OakLeaves::OakLeaves(2, true).ID: return 146; + case OakLeaves::OakLeaves(2, false).ID: return 147; + case OakLeaves::OakLeaves(3, true).ID: return 148; + case OakLeaves::OakLeaves(3, false).ID: return 149; + case OakLeaves::OakLeaves(4, true).ID: return 150; + case OakLeaves::OakLeaves(4, false).ID: return 151; + case OakLeaves::OakLeaves(5, true).ID: return 152; + case OakLeaves::OakLeaves(5, false).ID: return 153; + case OakLeaves::OakLeaves(6, true).ID: return 154; + case OakLeaves::OakLeaves(6, false).ID: return 155; + case OakLeaves::OakLeaves(7, true).ID: return 156; + case OakLeaves::OakLeaves(7, false).ID: return 157; + case OakLog::OakLog(OakLog::Axis::X).ID: return 72; + case OakLog::OakLog(OakLog::Axis::Y).ID: return 73; + case OakLog::OakLog(OakLog::Axis::Z).ID: return 74; + case OakPlanks::OakPlanks().ID: return 15; + case OakPressurePlate::OakPressurePlate(true).ID: return 3367; + case OakPressurePlate::OakPressurePlate(false).ID: return 3368; + case OakSapling::OakSapling(0).ID: return 21; + case OakSapling::OakSapling(1).ID: return 22; + case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 7258; + case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 7260; + case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 7262; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1649; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1651; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1653; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1655; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1657; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1659; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1661; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1663; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1665; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1667; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1669; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1671; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1673; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1675; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1677; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1679; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1681; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1683; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1685; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1687; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1689; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1691; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1693; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1695; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1697; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1699; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1701; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1703; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1705; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1707; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1709; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1711; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1713; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1715; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1717; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1719; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1721; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1723; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1725; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1727; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 3594; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 3596; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 3598; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 3600; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 3602; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: + return 3604; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: + return 3606; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: + return 3608; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 3610; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 3612; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 3614; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 3616; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 3618; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: + return 3620; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: + return 3622; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: + return 3624; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 3626; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 3628; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 3630; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 3632; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 3634; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: + return 3636; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: + return 3638; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: + return 3640; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 3642; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 3644; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 3646; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 3648; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 3650; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: + return 3652; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: + return 3654; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: + return 3656; + case OakWood::OakWood(OakWood::Axis::X).ID: return 108; + case OakWood::OakWood(OakWood::Axis::Y).ID: return 109; + case OakWood::OakWood(OakWood::Axis::Z).ID: return 110; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 8199; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 8200; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 8201; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 8202; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 8203; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 8204; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 8205; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 8206; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 8207; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 8208; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 8209; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 8210; + case Obsidian::Obsidian().ID: return 1129; + case OrangeBanner::OrangeBanner(0).ID: return 6870; + case OrangeBanner::OrangeBanner(1).ID: return 6871; + case OrangeBanner::OrangeBanner(2).ID: return 6872; + case OrangeBanner::OrangeBanner(3).ID: return 6873; + case OrangeBanner::OrangeBanner(4).ID: return 6874; + case OrangeBanner::OrangeBanner(5).ID: return 6875; + case OrangeBanner::OrangeBanner(6).ID: return 6876; + case OrangeBanner::OrangeBanner(7).ID: return 6877; + case OrangeBanner::OrangeBanner(8).ID: return 6878; + case OrangeBanner::OrangeBanner(9).ID: return 6879; + case OrangeBanner::OrangeBanner(10).ID: return 6880; + case OrangeBanner::OrangeBanner(11).ID: return 6881; + case OrangeBanner::OrangeBanner(12).ID: return 6882; + case OrangeBanner::OrangeBanner(13).ID: return 6883; + case OrangeBanner::OrangeBanner(14).ID: return 6884; + case OrangeBanner::OrangeBanner(15).ID: return 6885; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 764; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 765; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 766; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 767; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 768; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 769; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 770; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 771; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 772; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 773; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 774; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 775; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 776; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 777; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 778; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 779; + case OrangeCarpet::OrangeCarpet().ID: return 6824; + case OrangeConcrete::OrangeConcrete().ID: return 8378; + case OrangeConcretePowder::OrangeConcretePowder().ID: return 8394; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8317; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8318; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8319; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8320; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8223; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8224; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8225; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8226; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8227; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8228; + case OrangeStainedGlass::OrangeStainedGlass().ID: return 3578; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 5854; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 5855; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 5858; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 5859; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 5862; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 5863; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 5866; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 5867; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 5870; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 5871; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 5874; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 5875; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 5878; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 5879; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 5882; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 5883; + case OrangeTerracotta::OrangeTerracotta().ID: return 5805; + case OrangeTulip::OrangeTulip().ID: return 1117; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7114; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7115; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7116; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7117; + case OrangeWool::OrangeWool().ID: return 1084; + case OxeyeDaisy::OxeyeDaisy().ID: return 1120; + case PackedIce::PackedIce().ID: return 6841; + case Peony::Peony(Peony::Half::Upper).ID: return 6848; + case Peony::Peony(Peony::Half::Lower).ID: return 6849; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 7306; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 7308; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 7310; + case PinkBanner::PinkBanner(0).ID: return 6950; + case PinkBanner::PinkBanner(1).ID: return 6951; + case PinkBanner::PinkBanner(2).ID: return 6952; + case PinkBanner::PinkBanner(3).ID: return 6953; + case PinkBanner::PinkBanner(4).ID: return 6954; + case PinkBanner::PinkBanner(5).ID: return 6955; + case PinkBanner::PinkBanner(6).ID: return 6956; + case PinkBanner::PinkBanner(7).ID: return 6957; + case PinkBanner::PinkBanner(8).ID: return 6958; + case PinkBanner::PinkBanner(9).ID: return 6959; + case PinkBanner::PinkBanner(10).ID: return 6960; + case PinkBanner::PinkBanner(11).ID: return 6961; + case PinkBanner::PinkBanner(12).ID: return 6962; + case PinkBanner::PinkBanner(13).ID: return 6963; + case PinkBanner::PinkBanner(14).ID: return 6964; + case PinkBanner::PinkBanner(15).ID: return 6965; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 844; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 845; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 846; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 847; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 848; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 849; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 850; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 851; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 852; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 853; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 854; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 855; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 856; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 857; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 858; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 859; + case PinkCarpet::PinkCarpet().ID: return 6829; + case PinkConcrete::PinkConcrete().ID: return 8383; + case PinkConcretePowder::PinkConcretePowder().ID: return 8399; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8337; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8338; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8339; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8340; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8253; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8254; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8255; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8256; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8257; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8258; + case PinkStainedGlass::PinkStainedGlass().ID: return 3583; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 6014; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 6015; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 6018; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 6019; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 6022; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 6023; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 6026; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 6027; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 6030; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 6031; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 6034; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 6035; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 6038; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 6039; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 6042; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 6043; + case PinkTerracotta::PinkTerracotta().ID: return 5810; + case PinkTulip::PinkTulip().ID: return 1119; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7134; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7135; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7136; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7137; + case PinkWool::PinkWool().ID: return 1089; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1047; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1048; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1049; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1050; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1051; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1052; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1053; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1054; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1055; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1056; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1057; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1058; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1059; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1060; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1061; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1062; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1063; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1064; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1065; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1066; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1067; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1068; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1069; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1070; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1071; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1072; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1073; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1074; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1075; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1076; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1077; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1078; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1079; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1080; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1081; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1082; + case PlayerHead::PlayerHead(0).ID: return 5511; + case PlayerHead::PlayerHead(1).ID: return 5512; + case PlayerHead::PlayerHead(2).ID: return 5513; + case PlayerHead::PlayerHead(3).ID: return 5514; + case PlayerHead::PlayerHead(4).ID: return 5515; + case PlayerHead::PlayerHead(5).ID: return 5516; + case PlayerHead::PlayerHead(6).ID: return 5517; + case PlayerHead::PlayerHead(7).ID: return 5518; + case PlayerHead::PlayerHead(8).ID: return 5519; + case PlayerHead::PlayerHead(9).ID: return 5520; + case PlayerHead::PlayerHead(10).ID: return 5521; + case PlayerHead::PlayerHead(11).ID: return 5522; + case PlayerHead::PlayerHead(12).ID: return 5523; + case PlayerHead::PlayerHead(13).ID: return 5524; + case PlayerHead::PlayerHead(14).ID: return 5525; + case PlayerHead::PlayerHead(15).ID: return 5526; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5507; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5508; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5509; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5510; + case Podzol::Podzol(true).ID: return 12; + case Podzol::Podzol(false).ID: return 13; + case PolishedAndesite::PolishedAndesite().ID: return 7; + case PolishedDiorite::PolishedDiorite().ID: return 5; + case PolishedGranite::PolishedGranite().ID: return 3; + case Poppy::Poppy().ID: return 1112; + case Potatoes::Potatoes(0).ID: return 5295; + case Potatoes::Potatoes(1).ID: return 5296; + case Potatoes::Potatoes(2).ID: return 5297; + case Potatoes::Potatoes(3).ID: return 5298; + case Potatoes::Potatoes(4).ID: return 5299; + case Potatoes::Potatoes(5).ID: return 5300; + case Potatoes::Potatoes(6).ID: return 5301; + case Potatoes::Potatoes(7).ID: return 5302; + case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 5270; + case PottedAllium::PottedAllium().ID: return 5276; + case PottedAzureBluet::PottedAzureBluet().ID: return 5277; + case PottedBirchSapling::PottedBirchSapling().ID: return 5268; + case PottedBlueOrchid::PottedBlueOrchid().ID: return 5275; + case PottedBrownMushroom::PottedBrownMushroom().ID: return 5284; + case PottedCactus::PottedCactus().ID: return 5286; + case PottedDandelion::PottedDandelion().ID: return 5273; + case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 5271; + case PottedDeadBush::PottedDeadBush().ID: return 5285; + case PottedFern::PottedFern().ID: return 5272; + case PottedJungleSapling::PottedJungleSapling().ID: return 5269; + case PottedOakSapling::PottedOakSapling().ID: return 5266; + case PottedOrangeTulip::PottedOrangeTulip().ID: return 5279; + case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 5282; + case PottedPinkTulip::PottedPinkTulip().ID: return 5281; + case PottedPoppy::PottedPoppy().ID: return 5274; + case PottedRedMushroom::PottedRedMushroom().ID: return 5283; + case PottedRedTulip::PottedRedTulip().ID: return 5278; + case PottedSpruceSapling::PottedSpruceSapling().ID: return 5267; + case PottedWhiteTulip::PottedWhiteTulip().ID: return 5280; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1004; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1005; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1006; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1007; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1008; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1009; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1010; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1011; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1012; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1013; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1014; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1015; + case Prismarine::Prismarine().ID: return 6558; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 6808; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 6810; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 6812; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6642; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6644; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6646; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6648; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6650; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6652; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6654; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6656; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6658; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6660; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6662; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6664; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6666; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6668; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6670; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6672; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6674; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6676; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6678; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6680; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6682; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6684; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6686; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6688; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6690; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6692; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6694; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6696; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6698; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6700; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6702; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6704; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6706; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6708; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6710; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6712; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6714; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6716; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6718; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6720; + case PrismarineBricks::PrismarineBricks().ID: return 6559; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 6802; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 6804; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 6806; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6562; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6564; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6566; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6568; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6570; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6572; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6574; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6576; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6578; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6580; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6582; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6584; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6586; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6588; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6590; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6592; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6594; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6596; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6598; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6600; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6602; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6604; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6606; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6608; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6610; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6612; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6614; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6616; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6618; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6620; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6622; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6624; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6626; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6628; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6630; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6632; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6634; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6636; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6638; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6640; + case Pumpkin::Pumpkin().ID: return 3492; + case PumpkinStem::PumpkinStem(0).ID: return 4252; + case PumpkinStem::PumpkinStem(1).ID: return 4253; + case PumpkinStem::PumpkinStem(2).ID: return 4254; + case PumpkinStem::PumpkinStem(3).ID: return 4255; + case PumpkinStem::PumpkinStem(4).ID: return 4256; + case PumpkinStem::PumpkinStem(5).ID: return 4257; + case PumpkinStem::PumpkinStem(6).ID: return 4258; + case PumpkinStem::PumpkinStem(7).ID: return 4259; + case PurpleBanner::PurpleBanner(0).ID: return 7014; + case PurpleBanner::PurpleBanner(1).ID: return 7015; + case PurpleBanner::PurpleBanner(2).ID: return 7016; + case PurpleBanner::PurpleBanner(3).ID: return 7017; + case PurpleBanner::PurpleBanner(4).ID: return 7018; + case PurpleBanner::PurpleBanner(5).ID: return 7019; + case PurpleBanner::PurpleBanner(6).ID: return 7020; + case PurpleBanner::PurpleBanner(7).ID: return 7021; + case PurpleBanner::PurpleBanner(8).ID: return 7022; + case PurpleBanner::PurpleBanner(9).ID: return 7023; + case PurpleBanner::PurpleBanner(10).ID: return 7024; + case PurpleBanner::PurpleBanner(11).ID: return 7025; + case PurpleBanner::PurpleBanner(12).ID: return 7026; + case PurpleBanner::PurpleBanner(13).ID: return 7027; + case PurpleBanner::PurpleBanner(14).ID: return 7028; + case PurpleBanner::PurpleBanner(15).ID: return 7029; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 908; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 909; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 910; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 911; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 912; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 913; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 914; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 915; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 916; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 917; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 918; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 919; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 920; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 921; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 922; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 923; + case PurpleCarpet::PurpleCarpet().ID: return 6833; + case PurpleConcrete::PurpleConcrete().ID: return 8387; + case PurpleConcretePowder::PurpleConcretePowder().ID: return 8403; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8353; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8354; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8355; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8356; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8277; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8278; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8279; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8280; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8281; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8282; + case PurpleStainedGlass::PurpleStainedGlass().ID: return 3587; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 6142; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 6143; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 6146; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 6147; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 6150; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 6151; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 6154; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 6155; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 6158; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 6159; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 6162; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 6163; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 6166; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 6167; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 6170; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 6171; + case PurpleTerracotta::PurpleTerracotta().ID: return 5814; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7150; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7151; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7152; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7153; + case PurpleWool::PurpleWool().ID: return 1093; + case PurpurBlock::PurpurBlock().ID: return 8073; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 8074; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 8075; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 8076; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 7348; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 7350; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 7352; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8078; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8080; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8082; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8084; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8086; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8088; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8090; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8092; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8094; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8096; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8098; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8100; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8102; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8104; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8106; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8108; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8110; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8112; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8114; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8116; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8118; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8120; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8122; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8124; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8126; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8128; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8130; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8132; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8134; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8136; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8138; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8140; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8142; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8144; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8146; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8148; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8150; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8152; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8154; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8156; + case QuartzBlock::QuartzBlock().ID: return 5695; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 5697; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 5698; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 5699; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 7336; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 7338; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 7340; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 5701; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5703; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5705; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5707; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5709; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 5711; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5713; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5715; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5717; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5719; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 5721; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5723; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5725; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5727; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5729; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 5731; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5733; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5735; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5737; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5739; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 5741; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5743; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5745; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5747; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5749; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 5751; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5753; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5755; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5757; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5759; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 5761; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5763; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5765; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5767; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5769; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 5771; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5773; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5775; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5777; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5779; + case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3179; + case Rail::Rail(Rail::Shape::EastWest).ID: return 3180; + case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3181; + case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3182; + case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3183; + case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3184; + case Rail::Rail(Rail::Shape::SouthEast).ID: return 3185; + case Rail::Rail(Rail::Shape::SouthWest).ID: return 3186; + case Rail::Rail(Rail::Shape::NorthWest).ID: return 3187; + case Rail::Rail(Rail::Shape::NorthEast).ID: return 3188; + case RedBanner::RedBanner(0).ID: return 7078; + case RedBanner::RedBanner(1).ID: return 7079; + case RedBanner::RedBanner(2).ID: return 7080; + case RedBanner::RedBanner(3).ID: return 7081; + case RedBanner::RedBanner(4).ID: return 7082; + case RedBanner::RedBanner(5).ID: return 7083; + case RedBanner::RedBanner(6).ID: return 7084; + case RedBanner::RedBanner(7).ID: return 7085; + case RedBanner::RedBanner(8).ID: return 7086; + case RedBanner::RedBanner(9).ID: return 7087; + case RedBanner::RedBanner(10).ID: return 7088; + case RedBanner::RedBanner(11).ID: return 7089; + case RedBanner::RedBanner(12).ID: return 7090; + case RedBanner::RedBanner(13).ID: return 7091; + case RedBanner::RedBanner(14).ID: return 7092; + case RedBanner::RedBanner(15).ID: return 7093; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 972; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 973; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 974; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 975; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 976; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 977; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 978; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 979; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 980; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 981; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 982; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 983; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 984; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 985; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 986; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 987; + case RedCarpet::RedCarpet().ID: return 6837; + case RedConcrete::RedConcrete().ID: return 8391; + case RedConcretePowder::RedConcretePowder().ID: return 8407; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8369; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8370; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8371; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8372; + case RedMushroom::RedMushroom().ID: return 1122; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4051; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4052; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4053; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4054; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4055; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4056; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4057; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4058; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4059; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4060; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4061; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4062; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4063; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4064; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4065; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4066; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4067; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4068; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4069; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4070; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4071; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4072; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4073; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4074; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4075; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4076; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4077; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4078; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4079; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4080; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4081; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4082; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4083; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4084; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4085; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4086; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4087; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4088; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4089; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4090; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4091; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4092; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4093; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4094; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4095; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4096; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4097; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4098; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4099; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4100; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4101; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4102; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4103; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4104; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4105; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4106; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4107; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4108; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4109; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4110; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4111; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4112; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4113; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4114; + case RedNetherBricks::RedNetherBricks().ID: return 8194; + case RedSand::RedSand().ID: return 67; + case RedSandstone::RedSandstone().ID: return 7174; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 7342; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 7344; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 7346; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7178; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7180; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7182; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7184; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7186; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7188; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7190; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7192; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7194; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7196; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7198; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7200; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7202; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7204; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7206; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7208; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7210; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7212; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7214; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7216; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7218; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7220; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7222; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7224; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7226; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7228; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7230; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7232; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7234; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7236; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7238; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7240; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7242; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7244; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7246; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7248; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7250; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7252; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7254; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7256; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8301; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8302; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8303; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8304; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8305; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8306; + case RedStainedGlass::RedStainedGlass().ID: return 3591; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 6270; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 6271; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 6274; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 6275; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 6278; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 6279; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 6282; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 6283; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 6286; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 6287; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 6290; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 6291; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 6294; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 6295; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 6298; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 6299; + case RedTerracotta::RedTerracotta().ID: return 5818; + case RedTulip::RedTulip().ID: return 1116; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7166; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7167; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7168; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7169; + case RedWool::RedWool().ID: return 1097; + case RedstoneBlock::RedstoneBlock().ID: return 5683; + case RedstoneLamp::RedstoneLamp(true).ID: return 4636; + case RedstoneLamp::RedstoneLamp(false).ID: return 4637; + case RedstoneOre::RedstoneOre(true).ID: return 3379; + case RedstoneOre::RedstoneOre(false).ID: return 3380; + case RedstoneTorch::RedstoneTorch(true).ID: return 3381; + case RedstoneTorch::RedstoneTorch(false).ID: return 3382; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3383; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3384; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3385; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3386; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3387; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3388; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3389; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3390; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1752; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1753; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1754; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1755; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1756; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1757; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1758; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1759; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1760; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1761; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1762; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1763; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1764; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1765; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1766; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1767; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1768; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1769; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1770; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1771; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1772; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1773; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1774; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1775; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1776; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1777; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1778; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1779; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1780; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1781; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1782; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1783; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1784; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1785; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1786; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1787; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1788; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1789; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1790; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1791; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1792; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1793; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1794; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1795; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1796; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1797; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1798; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1799; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1800; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1801; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1802; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1803; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1804; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1805; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1806; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1807; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1808; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1809; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1810; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1811; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1812; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1813; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1814; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1815; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1816; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1817; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1818; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1819; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1820; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1821; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1822; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1823; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1824; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1825; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1826; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1827; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1828; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1829; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1830; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1831; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1832; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1833; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1834; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1835; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1836; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1837; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1838; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1839; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1840; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1841; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1842; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1843; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1844; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1845; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1846; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1847; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1848; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1849; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1850; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1851; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1852; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1853; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1854; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1855; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1856; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1857; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1858; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1859; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1860; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1861; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1862; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1863; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1864; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1865; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1866; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1867; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1868; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1869; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1870; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1871; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1872; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1873; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1874; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1875; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1876; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1877; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1878; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1879; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1880; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1881; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1882; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1883; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1884; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1885; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1886; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1887; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1888; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1889; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1890; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1891; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1892; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1893; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1895; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1896; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1897; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1898; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1899; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1900; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1901; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1902; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1903; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1904; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1905; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1906; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1907; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1908; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1909; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1910; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1911; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1912; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1913; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1914; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1915; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1916; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1917; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1918; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1919; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1920; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1921; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1922; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1923; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1924; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1925; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1926; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1927; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1928; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1929; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1930; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1931; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1932; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1933; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1934; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1935; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1936; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1937; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1938; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1939; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1940; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1941; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1942; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1943; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1944; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1945; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1946; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1947; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1948; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1949; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1950; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1951; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1952; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1953; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1954; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1955; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1956; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1957; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1958; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1959; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1960; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1961; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1962; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1963; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1964; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1965; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1966; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1967; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1968; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1969; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1970; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1971; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1972; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1973; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1974; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1975; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1976; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1977; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1978; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1979; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1980; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1981; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1982; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1983; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1984; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1985; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1986; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1987; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1988; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1989; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1990; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1991; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1992; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1993; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1994; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1995; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1996; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1997; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1998; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1999; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2000; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2001; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2002; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2003; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2004; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2005; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2006; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2007; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2008; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2009; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2010; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2011; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2012; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2013; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2014; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2015; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2016; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2017; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2018; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2019; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2020; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2021; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2022; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2023; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2024; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2025; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2026; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2027; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2028; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2029; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2030; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2031; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2032; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2033; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2034; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2035; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2036; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2037; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2038; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2039; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2040; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2041; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2042; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2043; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2044; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2045; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2046; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2047; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2048; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2049; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2050; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2051; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2052; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2053; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2054; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2055; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2056; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2057; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2058; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2059; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2060; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2061; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2062; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2063; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2064; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2065; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2066; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2067; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2068; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2069; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2070; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2071; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2072; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2073; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2074; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2075; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2076; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2077; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2078; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2079; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2080; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2081; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2082; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2083; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2084; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2085; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2086; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2087; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2088; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2089; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2090; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2091; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2092; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2093; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2094; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2095; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2096; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2097; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2098; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2099; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2100; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2101; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2102; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2103; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2104; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2105; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2106; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2107; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2108; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2109; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2110; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2111; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2112; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2113; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2114; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2115; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2116; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2117; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2118; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2119; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2120; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2121; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2122; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2123; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2124; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2125; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2126; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2127; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2128; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2129; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2130; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2131; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2132; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2133; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2134; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2135; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2136; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2137; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2138; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2139; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2140; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2141; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2142; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2143; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2144; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2145; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2146; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2147; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2148; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2149; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2150; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2151; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2152; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2153; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2154; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2155; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2156; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2157; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2158; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2159; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2160; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2161; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2162; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2163; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2164; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2165; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2166; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2167; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2168; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2169; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2170; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2171; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2172; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2173; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2174; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2175; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2176; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2177; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2178; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2179; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2180; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2181; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2182; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2183; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2184; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2185; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2186; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2187; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2188; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2189; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2190; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2191; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2192; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2193; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2194; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2195; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2196; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2197; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2198; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2199; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2200; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2201; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2202; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2203; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2204; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2205; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2206; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2207; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2208; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2209; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2210; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2211; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2212; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2213; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2214; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2215; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2216; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2217; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2218; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2219; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2220; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2221; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2222; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2223; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2224; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2225; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2226; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2227; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2228; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2229; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2230; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2231; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2232; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2233; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2234; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2235; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2236; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2237; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2238; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2239; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2240; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2241; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2242; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2243; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2244; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2245; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2246; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2247; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2248; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2249; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2250; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2251; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2252; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2253; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2254; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2255; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2256; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2257; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2258; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2259; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2260; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2261; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2262; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2263; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2264; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2265; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2266; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2267; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2268; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2269; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2270; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2271; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2272; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2273; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2274; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2275; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2276; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2277; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2278; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2279; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2280; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2281; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2282; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2283; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2284; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2285; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2286; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2287; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2288; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2289; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2290; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2291; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2292; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2293; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2294; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2295; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2296; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2297; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2298; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2299; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2300; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2301; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2302; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2303; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2304; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2305; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2306; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2307; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2308; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2309; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2310; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2311; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2312; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2313; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2314; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2315; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2316; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2317; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2318; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2319; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2320; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2321; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2322; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2323; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2324; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2325; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2326; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2327; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2328; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2329; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2330; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2331; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2332; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2333; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2334; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2335; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2336; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2337; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2338; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2339; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2340; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2341; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2342; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2343; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2344; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2345; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2346; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2347; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2348; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2349; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2350; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2351; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2352; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2353; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2354; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2355; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2356; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2357; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2358; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2359; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2360; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2361; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2362; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2363; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2364; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2365; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2366; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2367; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2368; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2369; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2370; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2371; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2372; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2373; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2374; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2375; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2376; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2377; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2378; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2379; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2380; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2381; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2382; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2383; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2384; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2385; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2386; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2387; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2388; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2389; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2390; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2391; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2392; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2393; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2394; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2395; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2396; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2397; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2398; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2399; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2400; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2401; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2402; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2403; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2404; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2405; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2406; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2407; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2408; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2409; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2410; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2411; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2412; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2413; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2414; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2415; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2416; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2417; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2418; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2419; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2420; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2421; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2422; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2423; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2424; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2425; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2426; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2427; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2428; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2429; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2430; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2431; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2432; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2433; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2434; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2435; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2436; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2437; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2438; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2439; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2440; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2441; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2442; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2443; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2444; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2445; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2446; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2447; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2448; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2449; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2450; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2451; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2452; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2453; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2454; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2455; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2456; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2457; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2458; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2459; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2460; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2461; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2462; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2463; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2464; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2465; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2466; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2467; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2468; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2469; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2470; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2471; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2472; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2473; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2474; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2475; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2476; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2477; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2478; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2479; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2480; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2481; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2482; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2483; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2484; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2485; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2486; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2487; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2488; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2489; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2490; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2491; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2492; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2493; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2494; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2495; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2496; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2497; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2498; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2499; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2500; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2501; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2502; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2503; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2504; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2505; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2506; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2507; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2508; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2509; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2510; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2511; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2512; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2513; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2514; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2515; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2516; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2517; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2518; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2519; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2520; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2521; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2522; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2523; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2524; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2525; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2526; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2527; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2528; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2529; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2530; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2531; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2532; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2533; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2534; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2535; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2536; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2537; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2538; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2539; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2540; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2541; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2542; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2543; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2544; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2545; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2546; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2547; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2548; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2549; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2550; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2551; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2552; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2553; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2554; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2555; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2556; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2557; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2558; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2559; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2560; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2561; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2562; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2563; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2564; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2565; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2566; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2567; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2568; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2569; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2570; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2571; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2572; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2573; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2574; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2575; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2576; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2577; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2578; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2579; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2580; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2581; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2582; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2583; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2584; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2585; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2586; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2587; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2588; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2589; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2590; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2591; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2592; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2593; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2594; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2595; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2596; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2597; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2598; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2599; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2600; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2601; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2602; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2603; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2604; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2605; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2606; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2607; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2608; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2609; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2610; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2611; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2612; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2613; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2614; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2615; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2616; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2617; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2618; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2619; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2620; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2621; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2622; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2623; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2624; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2625; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2626; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2627; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2628; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2629; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2630; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2631; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2632; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2633; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2634; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2635; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2636; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2637; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2638; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2639; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2640; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2641; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2642; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2643; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2644; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2645; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2646; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2647; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2648; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2649; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2650; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2651; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2652; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2653; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2654; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2655; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2656; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2657; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2658; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2659; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2660; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2661; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2662; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2663; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2664; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2665; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2666; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2667; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2668; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2669; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2670; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2671; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2672; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2673; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2674; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2675; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2676; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2677; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2678; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2679; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2680; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2681; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2682; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2683; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2684; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2685; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2686; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2687; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2688; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2689; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2690; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2691; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2692; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2693; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2694; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2695; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2696; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2697; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2698; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2699; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2700; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2701; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2702; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2703; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2704; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2705; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2706; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2707; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2708; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2709; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2710; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2711; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2712; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2713; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2714; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2715; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2716; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2717; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2718; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2719; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2720; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2721; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2722; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2723; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2724; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2725; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2726; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2727; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2728; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2729; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2730; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2731; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2732; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2733; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2734; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2735; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2736; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2737; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2738; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2739; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2740; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2741; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2742; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2743; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2744; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2745; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2746; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2747; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2748; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2749; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2750; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2751; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2752; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2753; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2754; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2755; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2756; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2757; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2758; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2759; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2760; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2761; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2762; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2763; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2764; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2765; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2766; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2767; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2768; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2769; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2770; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2771; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2772; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2773; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2774; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2775; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2776; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2777; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2778; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2779; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2780; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2781; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2782; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2783; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2784; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2785; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2786; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2787; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2788; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2789; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2790; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2791; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2792; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2793; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2794; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2795; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2796; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2797; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2798; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2799; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2800; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2801; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2802; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2803; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2804; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2805; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2806; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2807; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2808; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2809; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2810; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2811; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2812; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2813; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2814; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2815; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2816; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2817; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2818; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2819; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2820; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2821; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2822; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2823; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2824; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2825; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2826; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2827; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2828; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2829; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2830; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2831; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2832; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2833; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2834; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2835; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2836; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2837; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2838; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2839; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2840; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2841; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2842; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2843; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2844; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2845; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2846; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2847; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2848; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2849; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2850; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2851; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2852; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2853; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2854; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2855; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2856; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2857; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2858; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2859; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2860; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2861; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2862; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2863; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2864; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2865; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2866; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2867; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2868; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2869; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2870; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2871; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2872; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2873; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2874; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2875; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2876; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2877; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2878; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2879; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2880; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2881; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2882; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2883; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2884; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2885; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2886; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2887; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2888; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2889; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2890; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2891; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2892; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2893; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2895; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2896; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2897; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2898; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2899; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2900; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2901; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2902; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2903; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2904; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2905; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2906; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2907; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2908; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2909; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2910; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2911; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2912; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2913; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2914; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2915; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2916; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2917; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2918; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2919; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2920; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2921; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2922; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2923; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2924; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2925; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2926; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2927; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2928; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2929; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2930; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2931; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2932; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2933; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2934; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2935; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2936; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2937; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2938; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2939; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2940; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2941; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2942; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2943; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2944; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2945; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2946; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2947; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2948; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2949; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2950; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2951; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2952; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2953; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2954; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2955; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2956; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2957; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2958; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2959; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2960; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2961; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2962; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2963; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2964; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2965; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2966; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2967; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2968; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2969; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2970; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2971; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2972; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2973; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2974; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2975; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2976; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2977; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2978; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2979; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2980; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2981; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2982; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2983; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2984; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2985; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2986; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2987; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2988; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2989; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2990; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2991; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2992; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2993; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2994; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2995; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2996; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2997; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2998; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2999; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3000; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3001; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3002; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3003; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3004; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3005; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3006; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3007; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3008; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3009; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3010; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3011; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3012; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3013; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3014; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3015; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3016; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3017; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3018; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3019; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3020; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3021; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3022; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3023; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3024; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3025; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3026; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3027; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3028; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3029; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3030; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3031; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3032; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3033; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3034; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3035; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3036; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3037; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3038; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3039; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3040; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3041; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3042; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3043; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3044; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3045; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3046; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3047; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3513; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3514; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3515; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3516; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3517; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3518; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3519; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3520; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3521; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3522; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3523; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3524; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3525; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3526; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3527; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3528; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3529; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3530; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3531; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3532; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3533; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3534; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3535; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3536; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3537; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3538; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3539; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3540; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3541; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3542; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3543; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3544; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3545; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3546; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3547; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3548; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3549; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3550; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3551; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3552; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3553; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3554; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3555; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3556; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3557; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3558; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3559; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3560; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3561; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3562; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3563; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3564; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3565; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3566; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3567; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3568; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3569; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3570; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3571; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3572; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3573; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3574; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3575; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3576; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8164; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8165; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8166; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8167; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8168; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8169; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8170; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8171; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8172; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8173; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8174; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8175; + case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 6846; + case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 6847; + case Sand::Sand().ID: return 66; + case Sandstone::Sandstone().ID: return 245; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 7300; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 7302; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 7304; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4651; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4653; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4655; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4657; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4659; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4661; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4663; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4665; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4667; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4669; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4671; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4673; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4675; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4677; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4679; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4681; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4683; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4685; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4687; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4689; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4691; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4693; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4695; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4697; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4699; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4701; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4703; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4705; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4707; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4709; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4711; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4713; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4715; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4717; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4719; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4721; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4723; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4725; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4727; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4729; + case SeaLantern::SeaLantern().ID: return 6819; + case SeaPickle::SeaPickle(1).ID: return 8565; + case SeaPickle::SeaPickle(2).ID: return 8567; + case SeaPickle::SeaPickle(3).ID: return 8569; + case SeaPickle::SeaPickle(4).ID: return 8571; + case Seagrass::Seagrass().ID: return 1044; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8211; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8212; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8213; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8214; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8215; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8216; + case OakSign::OakSign(0).ID: return 3076; + case OakSign::OakSign(1).ID: return 3078; + case OakSign::OakSign(2).ID: return 3080; + case OakSign::OakSign(3).ID: return 3082; + case OakSign::OakSign(4).ID: return 3084; + case OakSign::OakSign(5).ID: return 3086; + case OakSign::OakSign(6).ID: return 3088; + case OakSign::OakSign(7).ID: return 3090; + case OakSign::OakSign(8).ID: return 3092; + case OakSign::OakSign(9).ID: return 3094; + case OakSign::OakSign(10).ID: return 3096; + case OakSign::OakSign(11).ID: return 3098; + case OakSign::OakSign(12).ID: return 3100; + case OakSign::OakSign(13).ID: return 3102; + case OakSign::OakSign(14).ID: return 3104; + case OakSign::OakSign(15).ID: return 3106; + case SkeletonSkull::SkeletonSkull(0).ID: return 5451; + case SkeletonSkull::SkeletonSkull(1).ID: return 5452; + case SkeletonSkull::SkeletonSkull(2).ID: return 5453; + case SkeletonSkull::SkeletonSkull(3).ID: return 5454; + case SkeletonSkull::SkeletonSkull(4).ID: return 5455; + case SkeletonSkull::SkeletonSkull(5).ID: return 5456; + case SkeletonSkull::SkeletonSkull(6).ID: return 5457; + case SkeletonSkull::SkeletonSkull(7).ID: return 5458; + case SkeletonSkull::SkeletonSkull(8).ID: return 5459; + case SkeletonSkull::SkeletonSkull(9).ID: return 5460; + case SkeletonSkull::SkeletonSkull(10).ID: return 5461; + case SkeletonSkull::SkeletonSkull(11).ID: return 5462; + case SkeletonSkull::SkeletonSkull(12).ID: return 5463; + case SkeletonSkull::SkeletonSkull(13).ID: return 5464; + case SkeletonSkull::SkeletonSkull(14).ID: return 5465; + case SkeletonSkull::SkeletonSkull(15).ID: return 5466; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5447; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5448; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5449; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5450; + case SlimeBlock::SlimeBlock().ID: return 6492; + case SmoothQuartz::SmoothQuartz().ID: return 7355; + case SmoothRedSandstone::SmoothRedSandstone().ID: return 7356; + case SmoothSandstone::SmoothSandstone().ID: return 7354; + case SmoothStone::SmoothStone().ID: return 7353; + case Snow::Snow(1).ID: return 3415; + case Snow::Snow(2).ID: return 3416; + case Snow::Snow(3).ID: return 3417; + case Snow::Snow(4).ID: return 3418; + case Snow::Snow(5).ID: return 3419; + case Snow::Snow(6).ID: return 3420; + case Snow::Snow(7).ID: return 3421; + case Snow::Snow(8).ID: return 3422; + case SnowBlock::SnowBlock().ID: return 3424; + case SoulSand::SoulSand().ID: return 3494; + case Spawner::Spawner().ID: return 1647; + case Sponge::Sponge().ID: return 228; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5327; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5328; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5329; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5330; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5331; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5332; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5333; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5334; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5335; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5336; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5337; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5338; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5339; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5340; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5341; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5342; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5343; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5344; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5345; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5346; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5347; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5348; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5349; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5350; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7677; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7678; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7679; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7680; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7681; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7682; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7683; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7684; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7685; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7686; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7687; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7688; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7689; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7690; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7691; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7692; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7693; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7694; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7695; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7696; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7697; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7698; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7699; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7700; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7701; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7702; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7703; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7704; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7705; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7706; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7707; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7708; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7709; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7710; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7711; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7712; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7713; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7714; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7715; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7716; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7717; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7718; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7719; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7720; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7721; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7722; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7723; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7724; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7725; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7726; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7727; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7728; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7729; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7730; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7731; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7732; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7733; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7734; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7735; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7736; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7737; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7738; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7739; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7740; + case SpruceFence::SpruceFence(true, true, true, true).ID: return 7519; + case SpruceFence::SpruceFence(true, true, true, false).ID: return 7520; + case SpruceFence::SpruceFence(true, true, false, true).ID: return 7523; + case SpruceFence::SpruceFence(true, true, false, false).ID: return 7524; + case SpruceFence::SpruceFence(true, false, true, true).ID: return 7527; + case SpruceFence::SpruceFence(true, false, true, false).ID: return 7528; + case SpruceFence::SpruceFence(true, false, false, true).ID: return 7531; + case SpruceFence::SpruceFence(true, false, false, false).ID: return 7532; + case SpruceFence::SpruceFence(false, true, true, true).ID: return 7535; + case SpruceFence::SpruceFence(false, true, true, false).ID: return 7536; + case SpruceFence::SpruceFence(false, true, false, true).ID: return 7539; + case SpruceFence::SpruceFence(false, true, false, false).ID: return 7540; + case SpruceFence::SpruceFence(false, false, true, true).ID: return 7543; + case SpruceFence::SpruceFence(false, false, true, false).ID: return 7544; + case SpruceFence::SpruceFence(false, false, false, true).ID: return 7547; + case SpruceFence::SpruceFence(false, false, false, false).ID: return 7548; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7357; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7358; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7359; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7360; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7361; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7362; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7363; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7364; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7365; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7366; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7367; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7368; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7369; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7370; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7371; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7372; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7373; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7374; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7375; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7376; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7377; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7378; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7379; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7380; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7381; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7382; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7383; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7384; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7385; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7386; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7387; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7388; + case SpruceLeaves::SpruceLeaves(1, true).ID: return 158; + case SpruceLeaves::SpruceLeaves(1, false).ID: return 159; + case SpruceLeaves::SpruceLeaves(2, true).ID: return 160; + case SpruceLeaves::SpruceLeaves(2, false).ID: return 161; + case SpruceLeaves::SpruceLeaves(3, true).ID: return 162; + case SpruceLeaves::SpruceLeaves(3, false).ID: return 163; + case SpruceLeaves::SpruceLeaves(4, true).ID: return 164; + case SpruceLeaves::SpruceLeaves(4, false).ID: return 165; + case SpruceLeaves::SpruceLeaves(5, true).ID: return 166; + case SpruceLeaves::SpruceLeaves(5, false).ID: return 167; + case SpruceLeaves::SpruceLeaves(6, true).ID: return 168; + case SpruceLeaves::SpruceLeaves(6, false).ID: return 169; + case SpruceLeaves::SpruceLeaves(7, true).ID: return 170; + case SpruceLeaves::SpruceLeaves(7, false).ID: return 171; + case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 75; + case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 76; + case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 77; + case SprucePlanks::SprucePlanks().ID: return 16; + case SprucePressurePlate::SprucePressurePlate(true).ID: return 3369; + case SprucePressurePlate::SprucePressurePlate(false).ID: return 3370; + case SpruceSapling::SpruceSapling(0).ID: return 23; + case SpruceSapling::SpruceSapling(1).ID: return 24; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 7264; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 7266; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 7268; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 4885; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4887; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4889; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4891; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4893; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 4895; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4897; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4899; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4901; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4903; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 4905; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4907; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4909; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4911; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4913; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 4915; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4917; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4919; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4921; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4923; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 4925; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4927; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4929; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4931; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4933; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 4935; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4937; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4939; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4941; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4943; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 4945; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4947; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4949; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4951; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4953; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 4955; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4957; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4959; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4961; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4963; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: + return 3658; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: + return 3660; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: + return 3662; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: + return 3664; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 3666; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 3668; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 3670; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 3672; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: + return 3674; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: + return 3676; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: + return 3678; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: + return 3680; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 3682; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 3684; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 3686; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 3688; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: + return 3690; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: + return 3692; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: + return 3694; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: + return 3696; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 3698; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 3700; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 3702; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 3704; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: + return 3706; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: + return 3708; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: + return 3710; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: + return 3712; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 3714; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 3716; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 3718; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 3720; + case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 111; + case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 112; + case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 113; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1028; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1029; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1030; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1031; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1032; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1033; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1034; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1035; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1036; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1037; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1038; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1039; + case Stone::Stone().ID: return 1; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 7324; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 7326; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 7328; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4413; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4415; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4417; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4419; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4421; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4423; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4425; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4427; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4429; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4431; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4433; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4435; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4437; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4439; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4441; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4443; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4445; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4447; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4449; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4451; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4453; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4455; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4457; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4459; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4461; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4463; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4465; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4467; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4469; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4471; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4473; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4475; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4477; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4479; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4481; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4483; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4485; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4487; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4489; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4491; + case StoneBricks::StoneBricks().ID: return 3983; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3391; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3392; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3393; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3394; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3395; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3396; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3397; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3398; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3399; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3400; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3401; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3402; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3403; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3404; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3405; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3406; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3407; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3408; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3409; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3410; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3411; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3412; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3413; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3414; + case StonePressurePlate::StonePressurePlate(true).ID: return 3301; + case StonePressurePlate::StonePressurePlate(false).ID: return 3302; + case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 7294; + case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 7296; + case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 7298; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 99; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 100; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 101; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 138; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 139; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 140; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 93; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 94; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 95; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 132; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 133; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 134; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 102; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 103; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 104; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 141; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 142; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 143; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 96; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 97; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 98; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 135; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 136; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 137; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 105; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 106; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 107; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 126; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 127; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 128; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 90; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 91; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 92; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 129; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 130; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 131; + case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 8578; + case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 8579; + case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 8580; + case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 8581; + case StructureVoid::StructureVoid().ID: return 8198; + case SugarCane::SugarCane(0).ID: return 3442; + case SugarCane::SugarCane(1).ID: return 3443; + case SugarCane::SugarCane(2).ID: return 3444; + case SugarCane::SugarCane(3).ID: return 3445; + case SugarCane::SugarCane(4).ID: return 3446; + case SugarCane::SugarCane(5).ID: return 3447; + case SugarCane::SugarCane(6).ID: return 3448; + case SugarCane::SugarCane(7).ID: return 3449; + case SugarCane::SugarCane(8).ID: return 3450; + case SugarCane::SugarCane(9).ID: return 3451; + case SugarCane::SugarCane(10).ID: return 3452; + case SugarCane::SugarCane(11).ID: return 3453; + case SugarCane::SugarCane(12).ID: return 3454; + case SugarCane::SugarCane(13).ID: return 3455; + case SugarCane::SugarCane(14).ID: return 3456; + case SugarCane::SugarCane(15).ID: return 3457; + case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 6842; + case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 6843; + case TNT::TNT(true).ID: return 1126; + case TNT::TNT(false).ID: return 1126; + case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 6850; + case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 6851; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1045; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1046; + case Terracotta::Terracotta().ID: return 6839; + case Torch::Torch().ID: return 1130; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 5580; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 5582; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 5584; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 5586; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 5588; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 5590; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 5592; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 5594; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 5596; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 5598; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 5600; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 5602; + case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 4755; + case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 4756; + case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 4757; + case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 4758; + case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 4759; + case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 4760; + case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 4761; + case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 4762; + case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 4763; + case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 4764; + case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 4765; + case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 4766; + case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 4767; + case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 4768; + case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 4769; + case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 4770; + case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 4771; + case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 4772; + case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 4773; + case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 4774; + case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 4775; + case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 4776; + case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 4777; + case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 4778; + case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 4779; + case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 4780; + case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 4781; + case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 4782; + case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 4783; + case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 4784; + case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 4785; + case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 4786; + case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 4787; + case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 4788; + case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 4789; + case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 4790; + case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 4791; + case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 4792; + case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 4793; + case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 4794; + case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 4795; + case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 4796; + case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 4797; + case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 4798; + case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 4799; + case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 4800; + case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 4801; + case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 4802; + case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 4803; + case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 4804; + case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 4805; + case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 4806; + case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 4807; + case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 4808; + case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 4809; + case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 4810; + case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 4811; + case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 4812; + case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 4813; + case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 4814; + case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 4815; + case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 4816; + case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 4817; + case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 4818; + case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 4819; + case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 4820; + case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 4821; + case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 4822; + case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 4823; + case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 4824; + case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 4825; + case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 4826; + case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 4827; + case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 4828; + case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 4829; + case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 4830; + case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 4831; + case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 4832; + case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 4833; + case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 4834; + case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 4835; + case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 4836; + case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 4837; + case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 4838; + case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 4839; + case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 4840; + case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 4841; + case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 4842; + case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 4843; + case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 4844; + case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 4845; + case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 4846; + case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 4847; + case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 4848; + case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 4849; + case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 4850; + case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 4851; + case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 4852; + case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 4853; + case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 4854; + case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 4855; + case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 4856; + case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 4857; + case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 4858; + case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 4859; + case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 4860; + case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 4861; + case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 4862; + case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 4863; + case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 4864; + case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 4865; + case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 4866; + case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 4867; + case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 4868; + case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 4869; + case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 4870; + case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 4871; + case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 4872; + case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 4873; + case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 4874; + case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 4875; + case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 4876; + case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 4877; + case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 4878; + case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 4879; + case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 4880; + case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 4881; + case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 4882; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 4739; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 4740; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 4741; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 4742; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 4743; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 4744; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 4745; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 4746; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 4747; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 4748; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 4749; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 4750; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 4751; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 4752; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 4753; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 4754; + case TubeCoral::TubeCoral().ID: return 8459; + case TubeCoralBlock::TubeCoralBlock().ID: return 8454; + case TubeCoralFan::TubeCoralFan().ID: return 8555; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8505; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8507; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8509; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8511; + case TurtleEgg::TurtleEgg(1, 0).ID: return 8437; + case TurtleEgg::TurtleEgg(1, 1).ID: return 8438; + case TurtleEgg::TurtleEgg(1, 2).ID: return 8439; + case TurtleEgg::TurtleEgg(2, 0).ID: return 8440; + case TurtleEgg::TurtleEgg(2, 1).ID: return 8441; + case TurtleEgg::TurtleEgg(2, 2).ID: return 8442; + case TurtleEgg::TurtleEgg(3, 0).ID: return 8443; + case TurtleEgg::TurtleEgg(3, 1).ID: return 8444; + case TurtleEgg::TurtleEgg(3, 2).ID: return 8445; + case TurtleEgg::TurtleEgg(4, 0).ID: return 8446; + case TurtleEgg::TurtleEgg(4, 1).ID: return 8447; + case TurtleEgg::TurtleEgg(4, 2).ID: return 8448; + case Vine::Vine(true, true, true, true, true).ID: return 4268; + case Vine::Vine(true, true, true, true, false).ID: return 4269; + case Vine::Vine(true, true, true, false, true).ID: return 4270; + case Vine::Vine(true, true, true, false, false).ID: return 4271; + case Vine::Vine(true, true, false, true, true).ID: return 4272; + case Vine::Vine(true, true, false, true, false).ID: return 4273; + case Vine::Vine(true, true, false, false, true).ID: return 4274; + case Vine::Vine(true, true, false, false, false).ID: return 4275; + case Vine::Vine(true, false, true, true, true).ID: return 4276; + case Vine::Vine(true, false, true, true, false).ID: return 4277; + case Vine::Vine(true, false, true, false, true).ID: return 4278; + case Vine::Vine(true, false, true, false, false).ID: return 4279; + case Vine::Vine(true, false, false, true, true).ID: return 4280; + case Vine::Vine(true, false, false, true, false).ID: return 4281; + case Vine::Vine(true, false, false, false, true).ID: return 4282; + case Vine::Vine(true, false, false, false, false).ID: return 4283; + case Vine::Vine(false, true, true, true, true).ID: return 4284; + case Vine::Vine(false, true, true, true, false).ID: return 4285; + case Vine::Vine(false, true, true, false, true).ID: return 4286; + case Vine::Vine(false, true, true, false, false).ID: return 4287; + case Vine::Vine(false, true, false, true, true).ID: return 4288; + case Vine::Vine(false, true, false, true, false).ID: return 4289; + case Vine::Vine(false, true, false, false, true).ID: return 4290; + case Vine::Vine(false, true, false, false, false).ID: return 4291; + case Vine::Vine(false, false, true, true, true).ID: return 4292; + case Vine::Vine(false, false, true, true, false).ID: return 4293; + case Vine::Vine(false, false, true, false, true).ID: return 4294; + case Vine::Vine(false, false, true, false, false).ID: return 4295; + case Vine::Vine(false, false, false, true, true).ID: return 4296; + case Vine::Vine(false, false, false, true, false).ID: return 4297; + case Vine::Vine(false, false, false, false, true).ID: return 4298; + case Vine::Vine(false, false, false, false, false).ID: return 4299; + case VoidAir::VoidAir().ID: return 8574; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3270; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3272; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3274; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3276; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1131; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1132; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1133; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1134; + case Water::Water(0).ID: return 34; + case Water::Water(1).ID: return 35; + case Water::Water(2).ID: return 36; + case Water::Water(3).ID: return 37; + case Water::Water(4).ID: return 38; + case Water::Water(5).ID: return 39; + case Water::Water(6).ID: return 40; + case Water::Water(7).ID: return 41; + case Water::Water(8).ID: return 42; + case Water::Water(9).ID: return 43; + case Water::Water(10).ID: return 44; + case Water::Water(11).ID: return 45; + case Water::Water(12).ID: return 46; + case Water::Water(13).ID: return 47; + case Water::Water(14).ID: return 48; + case Water::Water(15).ID: return 49; + case WetSponge::WetSponge().ID: return 229; + case Wheat::Wheat(0).ID: return 3051; + case Wheat::Wheat(1).ID: return 3052; + case Wheat::Wheat(2).ID: return 3053; + case Wheat::Wheat(3).ID: return 3054; + case Wheat::Wheat(4).ID: return 3055; + case Wheat::Wheat(5).ID: return 3056; + case Wheat::Wheat(6).ID: return 3057; + case Wheat::Wheat(7).ID: return 3058; + case WhiteBanner::WhiteBanner(0).ID: return 6854; + case WhiteBanner::WhiteBanner(1).ID: return 6855; + case WhiteBanner::WhiteBanner(2).ID: return 6856; + case WhiteBanner::WhiteBanner(3).ID: return 6857; + case WhiteBanner::WhiteBanner(4).ID: return 6858; + case WhiteBanner::WhiteBanner(5).ID: return 6859; + case WhiteBanner::WhiteBanner(6).ID: return 6860; + case WhiteBanner::WhiteBanner(7).ID: return 6861; + case WhiteBanner::WhiteBanner(8).ID: return 6862; + case WhiteBanner::WhiteBanner(9).ID: return 6863; + case WhiteBanner::WhiteBanner(10).ID: return 6864; + case WhiteBanner::WhiteBanner(11).ID: return 6865; + case WhiteBanner::WhiteBanner(12).ID: return 6866; + case WhiteBanner::WhiteBanner(13).ID: return 6867; + case WhiteBanner::WhiteBanner(14).ID: return 6868; + case WhiteBanner::WhiteBanner(15).ID: return 6869; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 748; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 749; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 750; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 751; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 752; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 753; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 754; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 755; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 756; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 757; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 758; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 759; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 760; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 761; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 762; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 763; + case WhiteCarpet::WhiteCarpet().ID: return 6823; + case WhiteConcrete::WhiteConcrete().ID: return 8377; + case WhiteConcretePowder::WhiteConcretePowder().ID: return 8393; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8313; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8314; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8315; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8316; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8217; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8218; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8219; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8220; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8221; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8222; + case WhiteStainedGlass::WhiteStainedGlass().ID: return 3577; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 5822; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 5823; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 5826; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 5827; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 5830; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 5831; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 5834; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 5835; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 5838; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 5839; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 5842; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 5843; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 5846; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 5847; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 5850; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 5851; + case WhiteTerracotta::WhiteTerracotta().ID: return 5804; + case WhiteTulip::WhiteTulip().ID: return 1118; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7110; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7111; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7112; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7113; + case WhiteWool::WhiteWool().ID: return 1083; + case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 5471; + case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 5472; + case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 5473; + case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 5474; + case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 5475; + case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 5476; + case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 5477; + case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 5478; + case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 5479; + case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 5480; + case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 5481; + case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 5482; + case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 5483; + case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 5484; + case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 5485; + case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 5486; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5467; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5468; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5469; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5470; + case YellowBanner::YellowBanner(0).ID: return 6918; + case YellowBanner::YellowBanner(1).ID: return 6919; + case YellowBanner::YellowBanner(2).ID: return 6920; + case YellowBanner::YellowBanner(3).ID: return 6921; + case YellowBanner::YellowBanner(4).ID: return 6922; + case YellowBanner::YellowBanner(5).ID: return 6923; + case YellowBanner::YellowBanner(6).ID: return 6924; + case YellowBanner::YellowBanner(7).ID: return 6925; + case YellowBanner::YellowBanner(8).ID: return 6926; + case YellowBanner::YellowBanner(9).ID: return 6927; + case YellowBanner::YellowBanner(10).ID: return 6928; + case YellowBanner::YellowBanner(11).ID: return 6929; + case YellowBanner::YellowBanner(12).ID: return 6930; + case YellowBanner::YellowBanner(13).ID: return 6931; + case YellowBanner::YellowBanner(14).ID: return 6932; + case YellowBanner::YellowBanner(15).ID: return 6933; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 812; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 813; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 814; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 815; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 816; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 817; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 818; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 819; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 820; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 821; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 822; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 823; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 824; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 825; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 826; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 827; + case YellowCarpet::YellowCarpet().ID: return 6827; + case YellowConcrete::YellowConcrete().ID: return 8381; + case YellowConcretePowder::YellowConcretePowder().ID: return 8397; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8329; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8330; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8331; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8332; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8241; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8242; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8243; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8244; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8245; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8246; + case YellowStainedGlass::YellowStainedGlass().ID: return 3581; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 5950; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 5951; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 5954; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 5955; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 5958; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 5959; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 5962; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 5963; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 5966; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 5967; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 5970; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 5971; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 5974; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 5975; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 5978; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 5979; + case YellowTerracotta::YellowTerracotta().ID: return 5808; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7126; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7127; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7128; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7129; + case YellowWool::YellowWool().ID: return 1087; + case ZombieHead::ZombieHead(0).ID: return 5491; + case ZombieHead::ZombieHead(1).ID: return 5492; + case ZombieHead::ZombieHead(2).ID: return 5493; + case ZombieHead::ZombieHead(3).ID: return 5494; + case ZombieHead::ZombieHead(4).ID: return 5495; + case ZombieHead::ZombieHead(5).ID: return 5496; + case ZombieHead::ZombieHead(6).ID: return 5497; + case ZombieHead::ZombieHead(7).ID: return 5498; + case ZombieHead::ZombieHead(8).ID: return 5499; + case ZombieHead::ZombieHead(9).ID: return 5500; + case ZombieHead::ZombieHead(10).ID: return 5501; + case ZombieHead::ZombieHead(11).ID: return 5502; + case ZombieHead::ZombieHead(12).ID: return 5503; + case ZombieHead::ZombieHead(13).ID: return 5504; + case ZombieHead::ZombieHead(14).ID: return 5505; + case ZombieHead::ZombieHead(15).ID: return 5506; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5487; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5488; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5489; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5490; + default: return 0; } +} - UInt32 From(const Item ID) +UInt32 From(const Item ID) +{ + switch (ID) { - switch (ID) - { - case Item::AcaciaBoat: return 762; - case Item::AcaciaButton: return 245; - case Item::AcaciaDoor: return 460; - case Item::AcaciaFence: return 179; - case Item::AcaciaFenceGate: return 214; - case Item::AcaciaLeaves: return 60; - case Item::AcaciaLog: return 36; - case Item::AcaciaPlanks: return 17; - case Item::AcaciaPressurePlate: return 164; - case Item::AcaciaSapling: return 23; - case Item::AcaciaSlab: return 116; - case Item::AcaciaStairs: return 301; - case Item::AcaciaTrapdoor: return 191; - case Item::AcaciaWood: return 54; - case Item::ActivatorRail: return 261; - case Item::Air: return -0; - case Item::Allium: return 101; - case Item::Andesite: return 6; - case Item::Anvil: return 247; - case Item::Apple: return 471; - case Item::ArmorStand: return 721; - case Item::Arrow: return 473; - case Item::AzureBluet: return 102; - case Item::BakedPotato: return 694; - case Item::Barrier: return 279; - case Item::BatSpawnEgg: return 634; - case Item::Beacon: return 238; - case Item::Bedrock: return 25; - case Item::Beef: return 614; - case Item::Beetroot: return 749; - case Item::BeetrootSeeds: return 750; - case Item::BeetrootSoup: return 751; - case Item::BirchBoat: return 760; - case Item::BirchButton: return 243; - case Item::BirchDoor: return 458; - case Item::BirchFence: return 177; - case Item::BirchFenceGate: return 212; - case Item::BirchLeaves: return 58; - case Item::BirchLog: return 34; - case Item::BirchPlanks: return 15; - case Item::BirchPressurePlate: return 162; - case Item::BirchSapling: return 21; - case Item::BirchSlab: return 114; - case Item::BirchStairs: return 235; - case Item::BirchTrapdoor: return 189; - case Item::BirchWood: return 52; - case Item::BlackBanner: return 745; - case Item::BlackBed: return 606; - case Item::BlackCarpet: return 297; - case Item::BlackConcrete: return 410; - case Item::BlackConcretePowder: return 426; - case Item::BlackGlazedTerracotta: return 394; - case Item::BlackShulkerBox: return 378; - case Item::BlackStainedGlass: return 326; - case Item::BlackStainedGlassPane: return 342; - case Item::BlackTerracotta: return 278; - case Item::BlackWool: return 97; - case Item::BlazePowder: return 628; - case Item::BlazeRod: return 620; - case Item::BlazeSpawnEgg: return 635; - case Item::BlueBanner: return 741; - case Item::BlueBed: return 602; - case Item::BlueCarpet: return 293; - case Item::BlueConcrete: return 406; - case Item::BlueConcretePowder: return 422; - case Item::BlueGlazedTerracotta: return 390; - case Item::BlueIce: return 453; - case Item::BlueOrchid: return 100; - case Item::BlueShulkerBox: return 374; - case Item::BlueStainedGlass: return 322; - case Item::BlueStainedGlassPane: return 338; - case Item::BlueTerracotta: return 274; - case Item::BlueWool: return 93; - case Item::Bone: return 588; - case Item::BoneBlock: return 359; - case Item::BoneMeal: return 587; - case Item::Book: return 557; - case Item::Bookshelf: return 137; - case Item::Bow: return 472; - case Item::Bowl: return 493; - case Item::BrainCoral: return 439; - case Item::BrainCoralBlock: return 434; - case Item::BrainCoralFan: return 444; - case Item::Bread: return 509; - case Item::BrewingStand: return 630; - case Item::Brick: return 551; - case Item::BrickSlab: return 122; - case Item::BrickStairs: return 216; - case Item::Bricks: return 135; - case Item::BrownBanner: return 742; - case Item::BrownBed: return 603; - case Item::BrownCarpet: return 294; - case Item::BrownConcrete: return 407; - case Item::BrownConcretePowder: return 423; - case Item::BrownGlazedTerracotta: return 391; - case Item::BrownMushroom: return 108; - case Item::BrownMushroomBlock: return 203; - case Item::BrownShulkerBox: return 375; - case Item::BrownStainedGlass: return 323; - case Item::BrownStainedGlassPane: return 339; - case Item::BrownTerracotta: return 275; - case Item::BrownWool: return 94; - case Item::BubbleCoral: return 440; - case Item::BubbleCoralBlock: return 435; - case Item::BubbleCoralFan: return 445; - case Item::Bucket: return 537; - case Item::Cactus: return 172; - case Item::GreenDye: return 574; - case Item::Cake: return 590; - case Item::Carrot: return 692; - case Item::CarrotOnAStick: return 704; - case Item::CarvedPumpkin: return 182; - case Item::Cauldron: return 631; - case Item::CaveSpiderSpawnEgg: return 636; - case Item::ChainCommandBlock: return 355; - case Item::ChainmailBoots: return 517; - case Item::ChainmailChestplate: return 515; - case Item::ChainmailHelmet: return 514; - case Item::ChainmailLeggings: return 516; - case Item::Charcoal: return 475; - case Item::Chest: return 149; - case Item::ChestMinecart: return 559; - case Item::Chicken: return 616; - case Item::ChickenSpawnEgg: return 637; - case Item::ChippedAnvil: return 248; - case Item::ChiseledQuartzBlock: return 257; - case Item::ChiseledRedSandstone: return 351; - case Item::ChiseledSandstone: return 69; - case Item::ChiseledStoneBricks: return 202; - case Item::ChorusFlower: return 143; - case Item::ChorusFruit: return 747; - case Item::ChorusPlant: return 142; - case Item::Clay: return 173; - case Item::ClayBall: return 552; - case Item::Clock: return 564; - case Item::Coal: return 474; - case Item::CoalBlock: return 299; - case Item::CoalOre: return 31; - case Item::CoarseDirt: return 10; - case Item::Cobblestone: return 12; - case Item::CobblestoneSlab: return 121; - case Item::CobblestoneStairs: return 157; - case Item::CobblestoneWall: return 239; - case Item::Cobweb: return 75; - case Item::CocoaBeans: return 575; - case Item::Cod: return 566; - case Item::CodBucket: return 549; - case Item::CodSpawnEgg: return 638; - case Item::CommandBlock: return 237; - case Item::CommandBlockMinecart: return 727; - case Item::Comparator: return 463; - case Item::Compass: return 562; - case Item::Conduit: return 454; - case Item::CookedBeef: return 615; - case Item::CookedChicken: return 617; - case Item::CookedCod: return 570; - case Item::CookedMutton: return 729; - case Item::CookedPorkchop: return 532; - case Item::CookedRabbit: return 717; - case Item::CookedSalmon: return 571; - case Item::Cookie: return 607; - case Item::CowSpawnEgg: return 639; - case Item::CrackedStoneBricks: return 201; - case Item::CraftingTable: return 152; - case Item::CreeperHead: return 702; - case Item::CreeperSpawnEgg: return 640; - case Item::CutRedSandstone: return 352; - case Item::CutSandstone: return 70; - case Item::CyanBanner: return 739; - case Item::CyanBed: return 600; - case Item::CyanCarpet: return 291; - case Item::CyanConcrete: return 404; - case Item::CyanConcretePowder: return 420; - case Item::CyanDye: return 578; - case Item::CyanGlazedTerracotta: return 388; - case Item::CyanShulkerBox: return 372; - case Item::CyanStainedGlass: return 320; - case Item::CyanStainedGlassPane: return 336; - case Item::CyanTerracotta: return 272; - case Item::CyanWool: return 91; - case Item::DamagedAnvil: return 249; - case Item::Dandelion: return 98; - case Item::YellowDye: return 583; - case Item::DarkOakBoat: return 763; - case Item::DarkOakButton: return 246; - case Item::DarkOakDoor: return 461; - case Item::DarkOakFence: return 180; - case Item::DarkOakFenceGate: return 215; - case Item::DarkOakLeaves: return 61; - case Item::DarkOakLog: return 37; - case Item::DarkOakPlanks: return 18; - case Item::DarkOakPressurePlate: return 165; - case Item::DarkOakSapling: return 24; - case Item::DarkOakSlab: return 117; - case Item::DarkOakStairs: return 302; - case Item::DarkOakTrapdoor: return 192; - case Item::DarkOakWood: return 55; - case Item::DarkPrismarine: return 345; - case Item::DarkPrismarineSlab: return 130; - case Item::DarkPrismarineStairs: return 348; - case Item::DaylightDetector: return 253; - case Item::DeadBrainCoralBlock: return 429; - case Item::DeadBrainCoralFan: return 449; - case Item::DeadBubbleCoralBlock: return 430; - case Item::DeadBubbleCoralFan: return 450; - case Item::DeadBush: return 78; - case Item::DeadFireCoralBlock: return 431; - case Item::DeadFireCoralFan: return 451; - case Item::DeadHornCoralBlock: return 432; - case Item::DeadHornCoralFan: return 452; - case Item::DeadTubeCoralBlock: return 428; - case Item::DeadTubeCoralFan: return 448; - case Item::DebugStick: return 768; - case Item::DetectorRail: return 73; - case Item::Diamond: return 476; - case Item::DiamondAxe: return 491; - case Item::DiamondBlock: return 151; - case Item::DiamondBoots: return 525; - case Item::DiamondChestplate: return 523; - case Item::DiamondHelmet: return 522; - case Item::DiamondHoe: return 505; - case Item::DiamondHorseArmor: return 724; - case Item::DiamondLeggings: return 524; - case Item::DiamondOre: return 150; - case Item::DiamondPickaxe: return 490; - case Item::DiamondShovel: return 489; - case Item::DiamondSword: return 488; - case Item::Diorite: return 4; - case Item::Dirt: return 9; - case Item::Dispenser: return 67; - case Item::DolphinSpawnEgg: return 641; - case Item::DonkeySpawnEgg: return 642; - case Item::DragonBreath: return 752; - case Item::DragonEgg: return 227; - case Item::DragonHead: return 703; - case Item::DriedKelp: return 611; - case Item::DriedKelpBlock: return 555; - case Item::Dropper: return 262; - case Item::DrownedSpawnEgg: return 643; - case Item::Egg: return 561; - case Item::ElderGuardianSpawnEgg: return 644; - case Item::Elytra: return 758; - case Item::Emerald: return 689; - case Item::EmeraldBlock: return 233; - case Item::EmeraldOre: return 230; - case Item::EnchantedBook: return 709; - case Item::EnchantedGoldenApple: return 535; - case Item::EnchantingTable: return 223; - case Item::EndCrystal: return 746; - case Item::EndPortalFrame: return 224; - case Item::EndRod: return 141; - case Item::EndStone: return 225; - case Item::EndStoneBricks: return 226; - case Item::EnderChest: return 231; - case Item::EnderEye: return 632; - case Item::EnderPearl: return 619; - case Item::EndermanSpawnEgg: return 645; - case Item::EndermiteSpawnEgg: return 646; - case Item::EvokerSpawnEgg: return 647; - case Item::ExperienceBottle: return 685; - case Item::Farmland: return 153; - case Item::Feather: return 500; - case Item::FermentedSpiderEye: return 627; - case Item::Fern: return 77; - case Item::FilledMap: return 608; - case Item::FireCharge: return 686; - case Item::FireCoral: return 441; - case Item::FireCoralBlock: return 436; - case Item::FireCoralFan: return 446; - case Item::FireworkRocket: return 707; - case Item::FireworkStar: return 708; - case Item::FishingRod: return 563; - case Item::Flint: return 530; - case Item::FlintAndSteel: return 470; - case Item::FlowerPot: return 691; - case Item::Furnace: return 154; - case Item::FurnaceMinecart: return 560; - case Item::GhastSpawnEgg: return 648; - case Item::GhastTear: return 621; - case Item::Glass: return 64; - case Item::GlassBottle: return 625; - case Item::GlassPane: return 207; - case Item::GlisteringMelonSlice: return 633; - case Item::Glowstone: return 185; - case Item::GlowstoneDust: return 565; - case Item::GoldBlock: return 110; - case Item::GoldIngot: return 478; - case Item::GoldNugget: return 622; - case Item::GoldOre: return 29; - case Item::GoldenApple: return 534; - case Item::GoldenAxe: return 498; - case Item::GoldenBoots: return 529; - case Item::GoldenCarrot: return 697; - case Item::GoldenChestplate: return 527; - case Item::GoldenHelmet: return 526; - case Item::GoldenHoe: return 506; - case Item::GoldenHorseArmor: return 723; - case Item::GoldenLeggings: return 528; - case Item::GoldenPickaxe: return 497; - case Item::GoldenShovel: return 496; - case Item::GoldenSword: return 495; - case Item::Granite: return 2; - case Item::Grass: return 76; - case Item::GrassBlock: return 8; - case Item::GrassPath: return 304; - case Item::Gravel: return 28; - case Item::GrayBanner: return 737; - case Item::GrayBed: return 598; - case Item::GrayCarpet: return 289; - case Item::GrayConcrete: return 402; - case Item::GrayConcretePowder: return 418; - case Item::GrayDye: return 580; - case Item::GrayGlazedTerracotta: return 386; - case Item::GrayShulkerBox: return 370; - case Item::GrayStainedGlass: return 318; - case Item::GrayStainedGlassPane: return 334; - case Item::GrayTerracotta: return 270; - case Item::GrayWool: return 89; - case Item::GreenBanner: return 743; - case Item::GreenBed: return 604; - case Item::GreenCarpet: return 295; - case Item::GreenConcrete: return 408; - case Item::GreenConcretePowder: return 424; - case Item::GreenGlazedTerracotta: return 392; - case Item::GreenShulkerBox: return 376; - case Item::GreenStainedGlass: return 324; - case Item::GreenStainedGlassPane: return 340; - case Item::GreenTerracotta: return 276; - case Item::GreenWool: return 95; - case Item::GuardianSpawnEgg: return 649; - case Item::Gunpowder: return 501; - case Item::HayBale: return 281; - case Item::HeartOfTheSea: return 784; - case Item::HeavyWeightedPressurePlate: return 252; - case Item::Hopper: return 256; - case Item::HopperMinecart: return 713; - case Item::HornCoral: return 442; - case Item::HornCoralBlock: return 437; - case Item::HornCoralFan: return 447; - case Item::HorseSpawnEgg: return 650; - case Item::HuskSpawnEgg: return 651; - case Item::Ice: return 170; - case Item::InfestedChiseledStoneBricks: return 198; - case Item::InfestedCobblestone: return 194; - case Item::InfestedCrackedStoneBricks: return 197; - case Item::InfestedMossyStoneBricks: return 196; - case Item::InfestedStone: return 193; - case Item::InfestedStoneBricks: return 195; - case Item::InkSac: return 572; - case Item::IronAxe: return 469; - case Item::IronBars: return 206; - case Item::IronBlock: return 111; - case Item::IronBoots: return 521; - case Item::IronChestplate: return 519; - case Item::IronDoor: return 455; - case Item::IronHelmet: return 518; - case Item::IronHoe: return 504; - case Item::IronHorseArmor: return 722; - case Item::IronIngot: return 477; - case Item::IronLeggings: return 520; - case Item::IronNugget: return 766; - case Item::IronOre: return 30; - case Item::IronPickaxe: return 468; - case Item::IronShovel: return 467; - case Item::IronSword: return 479; - case Item::IronTrapdoor: return 280; - case Item::ItemFrame: return 690; - case Item::JackOLantern: return 186; - case Item::Jukebox: return 174; - case Item::JungleBoat: return 761; - case Item::JungleButton: return 244; - case Item::JungleDoor: return 459; - case Item::JungleFence: return 178; - case Item::JungleFenceGate: return 213; - case Item::JungleLeaves: return 59; - case Item::JungleLog: return 35; - case Item::JunglePlanks: return 16; - case Item::JunglePressurePlate: return 163; - case Item::JungleSapling: return 22; - case Item::JungleSlab: return 115; - case Item::JungleStairs: return 236; - case Item::JungleTrapdoor: return 190; - case Item::JungleWood: return 53; - case Item::Kelp: return 554; - case Item::KnowledgeBook: return 767; - case Item::Ladder: return 155; - case Item::LapisBlock: return 66; - case Item::LapisLazuli: return 576; - case Item::LapisOre: return 65; - case Item::LargeFern: return 310; - case Item::LavaBucket: return 539; - case Item::Lead: return 725; - case Item::Leather: return 545; - case Item::LeatherBoots: return 513; - case Item::LeatherChestplate: return 511; - case Item::LeatherHelmet: return 510; - case Item::LeatherLeggings: return 512; - case Item::Lever: return 158; - case Item::LightBlueBanner: return 733; - case Item::LightBlueBed: return 594; - case Item::LightBlueCarpet: return 285; - case Item::LightBlueConcrete: return 398; - case Item::LightBlueConcretePowder: return 414; - case Item::LightBlueDye: return 584; - case Item::LightBlueGlazedTerracotta: return 382; - case Item::LightBlueShulkerBox: return 366; - case Item::LightBlueStainedGlass: return 314; - case Item::LightBlueStainedGlassPane: return 330; - case Item::LightBlueTerracotta: return 266; - case Item::LightBlueWool: return 85; - case Item::LightGrayBanner: return 738; - case Item::LightGrayBed: return 599; - case Item::LightGrayCarpet: return 290; - case Item::LightGrayConcrete: return 403; - case Item::LightGrayConcretePowder: return 419; - case Item::LightGrayDye: return 579; - case Item::LightGrayGlazedTerracotta: return 387; - case Item::LightGrayShulkerBox: return 371; - case Item::LightGrayStainedGlass: return 319; - case Item::LightGrayStainedGlassPane: return 335; - case Item::LightGrayTerracotta: return 271; - case Item::LightGrayWool: return 90; - case Item::LightWeightedPressurePlate: return 251; - case Item::Lilac: return 306; - case Item::LilyPad: return 219; - case Item::LimeBanner: return 735; - case Item::LimeBed: return 596; - case Item::LimeCarpet: return 287; - case Item::LimeConcrete: return 400; - case Item::LimeConcretePowder: return 416; - case Item::LimeDye: return 582; - case Item::LimeGlazedTerracotta: return 384; - case Item::LimeShulkerBox: return 368; - case Item::LimeStainedGlass: return 316; - case Item::LimeStainedGlassPane: return 332; - case Item::LimeTerracotta: return 268; - case Item::LimeWool: return 87; - case Item::LingeringPotion: return 756; - case Item::LlamaSpawnEgg: return 652; - case Item::MagentaBanner: return 732; - case Item::MagentaBed: return 593; - case Item::MagentaCarpet: return 284; - case Item::MagentaConcrete: return 397; - case Item::MagentaConcretePowder: return 413; - case Item::MagentaDye: return 585; - case Item::MagentaGlazedTerracotta: return 381; - case Item::MagentaShulkerBox: return 365; - case Item::MagentaStainedGlass: return 313; - case Item::MagentaStainedGlassPane: return 329; - case Item::MagentaTerracotta: return 265; - case Item::MagentaWool: return 84; - case Item::MagmaBlock: return 356; - case Item::MagmaCream: return 629; - case Item::MagmaCubeSpawnEgg: return 653; - case Item::Map: return 696; - case Item::Melon: return 208; - case Item::MelonSeeds: return 613; - case Item::MelonSlice: return 610; - case Item::MilkBucket: return 546; - case Item::Minecart: return 540; - case Item::MooshroomSpawnEgg: return 654; - case Item::MossyCobblestone: return 138; - case Item::MossyCobblestoneWall: return 240; - case Item::MossyStoneBricks: return 200; - case Item::MuleSpawnEgg: return 655; - case Item::MushroomStem: return 205; - case Item::MushroomStew: return 494; - case Item::MusicDisc11: return 779; - case Item::MusicDisc13: return 769; - case Item::MusicDiscBlocks: return 771; - case Item::MusicDiscCat: return 770; - case Item::MusicDiscChirp: return 772; - case Item::MusicDiscFar: return 773; - case Item::MusicDiscMall: return 774; - case Item::MusicDiscMellohi: return 775; - case Item::MusicDiscStal: return 776; - case Item::MusicDiscStrad: return 777; - case Item::MusicDiscWait: return 780; - case Item::MusicDiscWard: return 778; - case Item::Mutton: return 728; - case Item::Mycelium: return 218; - case Item::NameTag: return 726; - case Item::NautilusShell: return 783; - case Item::NetherBrick: return 710; - case Item::NetherBrickFence: return 221; - case Item::NetherBrickSlab: return 124; - case Item::NetherBrickStairs: return 222; - case Item::NetherBricks: return 220; - case Item::NetherQuartzOre: return 255; - case Item::NetherStar: return 705; - case Item::NetherWart: return 623; - case Item::NetherWartBlock: return 357; - case Item::Netherrack: return 183; - case Item::NoteBlock: return 71; - case Item::OakBoat: return 544; - case Item::OakButton: return 241; - case Item::OakDoor: return 456; - case Item::OakFence: return 175; - case Item::OakFenceGate: return 210; - case Item::OakLeaves: return 56; - case Item::OakLog: return 32; - case Item::OakPlanks: return 13; - case Item::OakPressurePlate: return 160; - case Item::OakSapling: return 19; - case Item::OakSlab: return 112; - case Item::OakStairs: return 148; - case Item::OakTrapdoor: return 187; - case Item::OakWood: return 50; - case Item::Observer: return 361; - case Item::Obsidian: return 139; - case Item::OcelotSpawnEgg: return 656; - case Item::OrangeBanner: return 731; - case Item::OrangeBed: return 592; - case Item::OrangeCarpet: return 283; - case Item::OrangeConcrete: return 396; - case Item::OrangeConcretePowder: return 412; - case Item::OrangeDye: return 586; - case Item::OrangeGlazedTerracotta: return 380; - case Item::OrangeShulkerBox: return 364; - case Item::OrangeStainedGlass: return 312; - case Item::OrangeStainedGlassPane: return 328; - case Item::OrangeTerracotta: return 264; - case Item::OrangeTulip: return 104; - case Item::OrangeWool: return 83; - case Item::OxeyeDaisy: return 107; - case Item::PackedIce: return 300; - case Item::Painting: return 533; - case Item::Paper: return 556; - case Item::ParrotSpawnEgg: return 657; - case Item::Peony: return 308; - case Item::PetrifiedOakSlab: return 120; - case Item::PhantomMembrane: return 782; - case Item::PhantomSpawnEgg: return 658; - case Item::PigSpawnEgg: return 659; - case Item::PinkBanner: return 736; - case Item::PinkBed: return 597; - case Item::PinkCarpet: return 288; - case Item::PinkConcrete: return 401; - case Item::PinkConcretePowder: return 417; - case Item::PinkDye: return 581; - case Item::PinkGlazedTerracotta: return 385; - case Item::PinkShulkerBox: return 369; - case Item::PinkStainedGlass: return 317; - case Item::PinkStainedGlassPane: return 333; - case Item::PinkTerracotta: return 269; - case Item::PinkTulip: return 106; - case Item::PinkWool: return 88; - case Item::Piston: return 81; - case Item::PlayerHead: return 700; - case Item::Podzol: return 11; - case Item::PoisonousPotato: return 695; - case Item::PolarBearSpawnEgg: return 660; - case Item::PolishedAndesite: return 7; - case Item::PolishedDiorite: return 5; - case Item::PolishedGranite: return 3; - case Item::PoppedChorusFruit: return 748; - case Item::Poppy: return 99; - case Item::Porkchop: return 531; - case Item::Potato: return 693; - case Item::Potion: return 624; - case Item::PoweredRail: return 72; - case Item::Prismarine: return 343; - case Item::PrismarineBrickSlab: return 129; - case Item::PrismarineBrickStairs: return 347; - case Item::PrismarineBricks: return 344; - case Item::PrismarineCrystals: return 715; - case Item::PrismarineShard: return 714; - case Item::PrismarineSlab: return 128; - case Item::PrismarineStairs: return 346; - case Item::Pufferfish: return 569; - case Item::PufferfishBucket: return 547; - case Item::PufferfishSpawnEgg: return 661; - case Item::Pumpkin: return 181; - case Item::PumpkinPie: return 706; - case Item::PumpkinSeeds: return 612; - case Item::PurpleBanner: return 740; - case Item::PurpleBed: return 601; - case Item::PurpleCarpet: return 292; - case Item::PurpleConcrete: return 405; - case Item::PurpleConcretePowder: return 421; - case Item::PurpleDye: return 577; - case Item::PurpleGlazedTerracotta: return 389; - case Item::PurpleShulkerBox: return 373; - case Item::PurpleStainedGlass: return 321; - case Item::PurpleStainedGlassPane: return 337; - case Item::PurpleTerracotta: return 273; - case Item::PurpleWool: return 92; - case Item::PurpurBlock: return 144; - case Item::PurpurPillar: return 145; - case Item::PurpurSlab: return 127; - case Item::PurpurStairs: return 146; - case Item::Quartz: return 711; - case Item::QuartzBlock: return 258; - case Item::QuartzPillar: return 259; - case Item::QuartzSlab: return 125; - case Item::QuartzStairs: return 260; - case Item::Rabbit: return 716; - case Item::RabbitFoot: return 719; - case Item::RabbitHide: return 720; - case Item::RabbitSpawnEgg: return 662; - case Item::RabbitStew: return 718; - case Item::Rail: return 156; - case Item::RedBanner: return 744; - case Item::RedBed: return 605; - case Item::RedCarpet: return 296; - case Item::RedConcrete: return 409; - case Item::RedConcretePowder: return 425; - case Item::RedGlazedTerracotta: return 393; - case Item::RedMushroom: return 109; - case Item::RedMushroomBlock: return 204; - case Item::RedNetherBricks: return 358; - case Item::RedSand: return 27; - case Item::RedSandstone: return 350; - case Item::RedSandstoneSlab: return 126; - case Item::RedSandstoneStairs: return 353; - case Item::RedShulkerBox: return 377; - case Item::RedStainedGlass: return 325; - case Item::RedStainedGlassPane: return 341; - case Item::RedTerracotta: return 277; - case Item::RedTulip: return 103; - case Item::RedWool: return 96; - case Item::Redstone: return 542; - case Item::RedstoneBlock: return 254; - case Item::RedstoneLamp: return 228; - case Item::RedstoneOre: return 166; - case Item::RedstoneTorch: return 167; - case Item::Repeater: return 462; - case Item::RepeatingCommandBlock: return 354; - case Item::RoseBush: return 307; - case Item::RedDye: return 573; - case Item::RottenFlesh: return 618; - case Item::Saddle: return 541; - case Item::Salmon: return 567; - case Item::SalmonBucket: return 548; - case Item::SalmonSpawnEgg: return 663; - case Item::Sand: return 26; - case Item::Sandstone: return 68; - case Item::SandstoneSlab: return 119; - case Item::SandstoneStairs: return 229; - case Item::Scute: return 466; - case Item::SeaLantern: return 349; - case Item::SeaPickle: return 80; - case Item::Seagrass: return 79; - case Item::Shears: return 609; - case Item::SheepSpawnEgg: return 664; - case Item::Shield: return 757; - case Item::ShulkerBox: return 362; - case Item::ShulkerShell: return 765; - case Item::ShulkerSpawnEgg: return 665; - case Item::OakSign: return 536; - case Item::SilverfishSpawnEgg: return 666; - case Item::SkeletonHorseSpawnEgg: return 668; - case Item::SkeletonSkull: return 698; - case Item::SkeletonSpawnEgg: return 667; - case Item::SlimeBall: return 558; - case Item::SlimeBlock: return 303; - case Item::SlimeSpawnEgg: return 669; - case Item::SmoothQuartz: return 131; - case Item::SmoothRedSandstone: return 132; - case Item::SmoothSandstone: return 133; - case Item::SmoothStone: return 134; - case Item::Snow: return 169; - case Item::SnowBlock: return 171; - case Item::Snowball: return 543; - case Item::SoulSand: return 184; - case Item::Spawner: return 147; - case Item::SpectralArrow: return 754; - case Item::SpiderEye: return 626; - case Item::SpiderSpawnEgg: return 670; - case Item::SplashPotion: return 753; - case Item::Sponge: return 62; - case Item::SpruceBoat: return 759; - case Item::SpruceButton: return 242; - case Item::SpruceDoor: return 457; - case Item::SpruceFence: return 176; - case Item::SpruceFenceGate: return 211; - case Item::SpruceLeaves: return 57; - case Item::SpruceLog: return 33; - case Item::SprucePlanks: return 14; - case Item::SprucePressurePlate: return 161; - case Item::SpruceSapling: return 20; - case Item::SpruceSlab: return 113; - case Item::SpruceStairs: return 234; - case Item::SpruceTrapdoor: return 188; - case Item::SpruceWood: return 51; - case Item::SquidSpawnEgg: return 671; - case Item::Stick: return 492; - case Item::StickyPiston: return 74; - case Item::Stone: return 1; - case Item::StoneAxe: return 487; - case Item::StoneBrickSlab: return 123; - case Item::StoneBrickStairs: return 217; - case Item::StoneBricks: return 199; - case Item::StoneButton: return 168; - case Item::StoneHoe: return 503; - case Item::StonePickaxe: return 486; - case Item::StonePressurePlate: return 159; - case Item::StoneShovel: return 485; - case Item::StoneSlab: return 118; - case Item::StoneSword: return 484; - case Item::StraySpawnEgg: return 672; - case Item::String: return 499; - case Item::StrippedAcaciaLog: return 42; - case Item::StrippedAcaciaWood: return 48; - case Item::StrippedBirchLog: return 40; - case Item::StrippedBirchWood: return 46; - case Item::StrippedDarkOakLog: return 43; - case Item::StrippedDarkOakWood: return 49; - case Item::StrippedJungleLog: return 41; - case Item::StrippedJungleWood: return 47; - case Item::StrippedOakLog: return 38; - case Item::StrippedOakWood: return 44; - case Item::StrippedSpruceLog: return 39; - case Item::StrippedSpruceWood: return 45; - case Item::StructureBlock: return 464; - case Item::StructureVoid: return 360; - case Item::Sugar: return 589; - case Item::SugarCane: return 553; - case Item::Sunflower: return 305; - case Item::TallGrass: return 309; - case Item::Terracotta: return 298; - case Item::TippedArrow: return 755; - case Item::TNT: return 136; - case Item::TNTMinecart: return 712; - case Item::Torch: return 140; - case Item::TotemOfUndying: return 764; - case Item::TrappedChest: return 250; - case Item::Trident: return 781; - case Item::TripwireHook: return 232; - case Item::TropicalFish: return 568; - case Item::TropicalFishBucket: return 550; - case Item::TropicalFishSpawnEgg: return 673; - case Item::TubeCoral: return 438; - case Item::TubeCoralBlock: return 433; - case Item::TubeCoralFan: return 443; - case Item::TurtleEgg: return 427; - case Item::TurtleHelmet: return 465; - case Item::TurtleSpawnEgg: return 674; - case Item::VexSpawnEgg: return 675; - case Item::VillagerSpawnEgg: return 676; - case Item::VindicatorSpawnEgg: return 677; - case Item::Vine: return 209; - case Item::WaterBucket: return 538; - case Item::WetSponge: return 63; - case Item::Wheat: return 508; - case Item::WheatSeeds: return 507; - case Item::WhiteBanner: return 730; - case Item::WhiteBed: return 591; - case Item::WhiteCarpet: return 282; - case Item::WhiteConcrete: return 395; - case Item::WhiteConcretePowder: return 411; - case Item::WhiteGlazedTerracotta: return 379; - case Item::WhiteShulkerBox: return 363; - case Item::WhiteStainedGlass: return 311; - case Item::WhiteStainedGlassPane: return 327; - case Item::WhiteTerracotta: return 263; - case Item::WhiteTulip: return 105; - case Item::WhiteWool: return 82; - case Item::WitchSpawnEgg: return 678; - case Item::WitherSkeletonSkull: return 699; - case Item::WitherSkeletonSpawnEgg: return 679; - case Item::WolfSpawnEgg: return 680; - case Item::WoodenAxe: return 483; - case Item::WoodenHoe: return 502; - case Item::WoodenPickaxe: return 482; - case Item::WoodenShovel: return 481; - case Item::WoodenSword: return 480; - case Item::WritableBook: return 687; - case Item::WrittenBook: return 688; - case Item::YellowBanner: return 734; - case Item::YellowBed: return 595; - case Item::YellowCarpet: return 286; - case Item::YellowConcrete: return 399; - case Item::YellowConcretePowder: return 415; - case Item::YellowGlazedTerracotta: return 383; - case Item::YellowShulkerBox: return 367; - case Item::YellowStainedGlass: return 315; - case Item::YellowStainedGlassPane: return 331; - case Item::YellowTerracotta: return 267; - case Item::YellowWool: return 86; - case Item::ZombieHead: return 701; - case Item::ZombieHorseSpawnEgg: return 682; - case Item::ZombiePigmanSpawnEgg: return 683; - case Item::ZombieSpawnEgg: return 681; - case Item::ZombieVillagerSpawnEgg: return 684; - default: return 0; - } + case Item::AcaciaBoat: return 762; + case Item::AcaciaButton: return 245; + case Item::AcaciaDoor: return 460; + case Item::AcaciaFence: return 179; + case Item::AcaciaFenceGate: return 214; + case Item::AcaciaLeaves: return 60; + case Item::AcaciaLog: return 36; + case Item::AcaciaPlanks: return 17; + case Item::AcaciaPressurePlate: return 164; + case Item::AcaciaSapling: return 23; + case Item::AcaciaSlab: return 116; + case Item::AcaciaStairs: return 301; + case Item::AcaciaTrapdoor: return 191; + case Item::AcaciaWood: return 54; + case Item::ActivatorRail: return 261; + case Item::Air: return -0; + case Item::Allium: return 101; + case Item::Andesite: return 6; + case Item::Anvil: return 247; + case Item::Apple: return 471; + case Item::ArmorStand: return 721; + case Item::Arrow: return 473; + case Item::AzureBluet: return 102; + case Item::BakedPotato: return 694; + case Item::Barrier: return 279; + case Item::BatSpawnEgg: return 634; + case Item::Beacon: return 238; + case Item::Bedrock: return 25; + case Item::Beef: return 614; + case Item::Beetroot: return 749; + case Item::BeetrootSeeds: return 750; + case Item::BeetrootSoup: return 751; + case Item::BirchBoat: return 760; + case Item::BirchButton: return 243; + case Item::BirchDoor: return 458; + case Item::BirchFence: return 177; + case Item::BirchFenceGate: return 212; + case Item::BirchLeaves: return 58; + case Item::BirchLog: return 34; + case Item::BirchPlanks: return 15; + case Item::BirchPressurePlate: return 162; + case Item::BirchSapling: return 21; + case Item::BirchSlab: return 114; + case Item::BirchStairs: return 235; + case Item::BirchTrapdoor: return 189; + case Item::BirchWood: return 52; + case Item::BlackBanner: return 745; + case Item::BlackBed: return 606; + case Item::BlackCarpet: return 297; + case Item::BlackConcrete: return 410; + case Item::BlackConcretePowder: return 426; + case Item::BlackGlazedTerracotta: return 394; + case Item::BlackShulkerBox: return 378; + case Item::BlackStainedGlass: return 326; + case Item::BlackStainedGlassPane: return 342; + case Item::BlackTerracotta: return 278; + case Item::BlackWool: return 97; + case Item::BlazePowder: return 628; + case Item::BlazeRod: return 620; + case Item::BlazeSpawnEgg: return 635; + case Item::BlueBanner: return 741; + case Item::BlueBed: return 602; + case Item::BlueCarpet: return 293; + case Item::BlueConcrete: return 406; + case Item::BlueConcretePowder: return 422; + case Item::BlueGlazedTerracotta: return 390; + case Item::BlueIce: return 453; + case Item::BlueOrchid: return 100; + case Item::BlueShulkerBox: return 374; + case Item::BlueStainedGlass: return 322; + case Item::BlueStainedGlassPane: return 338; + case Item::BlueTerracotta: return 274; + case Item::BlueWool: return 93; + case Item::Bone: return 588; + case Item::BoneBlock: return 359; + case Item::BoneMeal: return 587; + case Item::Book: return 557; + case Item::Bookshelf: return 137; + case Item::Bow: return 472; + case Item::Bowl: return 493; + case Item::BrainCoral: return 439; + case Item::BrainCoralBlock: return 434; + case Item::BrainCoralFan: return 444; + case Item::Bread: return 509; + case Item::BrewingStand: return 630; + case Item::Brick: return 551; + case Item::BrickSlab: return 122; + case Item::BrickStairs: return 216; + case Item::Bricks: return 135; + case Item::BrownBanner: return 742; + case Item::BrownBed: return 603; + case Item::BrownCarpet: return 294; + case Item::BrownConcrete: return 407; + case Item::BrownConcretePowder: return 423; + case Item::BrownGlazedTerracotta: return 391; + case Item::BrownMushroom: return 108; + case Item::BrownMushroomBlock: return 203; + case Item::BrownShulkerBox: return 375; + case Item::BrownStainedGlass: return 323; + case Item::BrownStainedGlassPane: return 339; + case Item::BrownTerracotta: return 275; + case Item::BrownWool: return 94; + case Item::BubbleCoral: return 440; + case Item::BubbleCoralBlock: return 435; + case Item::BubbleCoralFan: return 445; + case Item::Bucket: return 537; + case Item::Cactus: return 172; + case Item::GreenDye: return 574; + case Item::Cake: return 590; + case Item::Carrot: return 692; + case Item::CarrotOnAStick: return 704; + case Item::CarvedPumpkin: return 182; + case Item::Cauldron: return 631; + case Item::CaveSpiderSpawnEgg: return 636; + case Item::ChainCommandBlock: return 355; + case Item::ChainmailBoots: return 517; + case Item::ChainmailChestplate: return 515; + case Item::ChainmailHelmet: return 514; + case Item::ChainmailLeggings: return 516; + case Item::Charcoal: return 475; + case Item::Chest: return 149; + case Item::ChestMinecart: return 559; + case Item::Chicken: return 616; + case Item::ChickenSpawnEgg: return 637; + case Item::ChippedAnvil: return 248; + case Item::ChiseledQuartzBlock: return 257; + case Item::ChiseledRedSandstone: return 351; + case Item::ChiseledSandstone: return 69; + case Item::ChiseledStoneBricks: return 202; + case Item::ChorusFlower: return 143; + case Item::ChorusFruit: return 747; + case Item::ChorusPlant: return 142; + case Item::Clay: return 173; + case Item::ClayBall: return 552; + case Item::Clock: return 564; + case Item::Coal: return 474; + case Item::CoalBlock: return 299; + case Item::CoalOre: return 31; + case Item::CoarseDirt: return 10; + case Item::Cobblestone: return 12; + case Item::CobblestoneSlab: return 121; + case Item::CobblestoneStairs: return 157; + case Item::CobblestoneWall: return 239; + case Item::Cobweb: return 75; + case Item::CocoaBeans: return 575; + case Item::Cod: return 566; + case Item::CodBucket: return 549; + case Item::CodSpawnEgg: return 638; + case Item::CommandBlock: return 237; + case Item::CommandBlockMinecart: return 727; + case Item::Comparator: return 463; + case Item::Compass: return 562; + case Item::Conduit: return 454; + case Item::CookedBeef: return 615; + case Item::CookedChicken: return 617; + case Item::CookedCod: return 570; + case Item::CookedMutton: return 729; + case Item::CookedPorkchop: return 532; + case Item::CookedRabbit: return 717; + case Item::CookedSalmon: return 571; + case Item::Cookie: return 607; + case Item::CowSpawnEgg: return 639; + case Item::CrackedStoneBricks: return 201; + case Item::CraftingTable: return 152; + case Item::CreeperHead: return 702; + case Item::CreeperSpawnEgg: return 640; + case Item::CutRedSandstone: return 352; + case Item::CutSandstone: return 70; + case Item::CyanBanner: return 739; + case Item::CyanBed: return 600; + case Item::CyanCarpet: return 291; + case Item::CyanConcrete: return 404; + case Item::CyanConcretePowder: return 420; + case Item::CyanDye: return 578; + case Item::CyanGlazedTerracotta: return 388; + case Item::CyanShulkerBox: return 372; + case Item::CyanStainedGlass: return 320; + case Item::CyanStainedGlassPane: return 336; + case Item::CyanTerracotta: return 272; + case Item::CyanWool: return 91; + case Item::DamagedAnvil: return 249; + case Item::Dandelion: return 98; + case Item::YellowDye: return 583; + case Item::DarkOakBoat: return 763; + case Item::DarkOakButton: return 246; + case Item::DarkOakDoor: return 461; + case Item::DarkOakFence: return 180; + case Item::DarkOakFenceGate: return 215; + case Item::DarkOakLeaves: return 61; + case Item::DarkOakLog: return 37; + case Item::DarkOakPlanks: return 18; + case Item::DarkOakPressurePlate: return 165; + case Item::DarkOakSapling: return 24; + case Item::DarkOakSlab: return 117; + case Item::DarkOakStairs: return 302; + case Item::DarkOakTrapdoor: return 192; + case Item::DarkOakWood: return 55; + case Item::DarkPrismarine: return 345; + case Item::DarkPrismarineSlab: return 130; + case Item::DarkPrismarineStairs: return 348; + case Item::DaylightDetector: return 253; + case Item::DeadBrainCoralBlock: return 429; + case Item::DeadBrainCoralFan: return 449; + case Item::DeadBubbleCoralBlock: return 430; + case Item::DeadBubbleCoralFan: return 450; + case Item::DeadBush: return 78; + case Item::DeadFireCoralBlock: return 431; + case Item::DeadFireCoralFan: return 451; + case Item::DeadHornCoralBlock: return 432; + case Item::DeadHornCoralFan: return 452; + case Item::DeadTubeCoralBlock: return 428; + case Item::DeadTubeCoralFan: return 448; + case Item::DebugStick: return 768; + case Item::DetectorRail: return 73; + case Item::Diamond: return 476; + case Item::DiamondAxe: return 491; + case Item::DiamondBlock: return 151; + case Item::DiamondBoots: return 525; + case Item::DiamondChestplate: return 523; + case Item::DiamondHelmet: return 522; + case Item::DiamondHoe: return 505; + case Item::DiamondHorseArmor: return 724; + case Item::DiamondLeggings: return 524; + case Item::DiamondOre: return 150; + case Item::DiamondPickaxe: return 490; + case Item::DiamondShovel: return 489; + case Item::DiamondSword: return 488; + case Item::Diorite: return 4; + case Item::Dirt: return 9; + case Item::Dispenser: return 67; + case Item::DolphinSpawnEgg: return 641; + case Item::DonkeySpawnEgg: return 642; + case Item::DragonBreath: return 752; + case Item::DragonEgg: return 227; + case Item::DragonHead: return 703; + case Item::DriedKelp: return 611; + case Item::DriedKelpBlock: return 555; + case Item::Dropper: return 262; + case Item::DrownedSpawnEgg: return 643; + case Item::Egg: return 561; + case Item::ElderGuardianSpawnEgg: return 644; + case Item::Elytra: return 758; + case Item::Emerald: return 689; + case Item::EmeraldBlock: return 233; + case Item::EmeraldOre: return 230; + case Item::EnchantedBook: return 709; + case Item::EnchantedGoldenApple: return 535; + case Item::EnchantingTable: return 223; + case Item::EndCrystal: return 746; + case Item::EndPortalFrame: return 224; + case Item::EndRod: return 141; + case Item::EndStone: return 225; + case Item::EndStoneBricks: return 226; + case Item::EnderChest: return 231; + case Item::EnderEye: return 632; + case Item::EnderPearl: return 619; + case Item::EndermanSpawnEgg: return 645; + case Item::EndermiteSpawnEgg: return 646; + case Item::EvokerSpawnEgg: return 647; + case Item::ExperienceBottle: return 685; + case Item::Farmland: return 153; + case Item::Feather: return 500; + case Item::FermentedSpiderEye: return 627; + case Item::Fern: return 77; + case Item::FilledMap: return 608; + case Item::FireCharge: return 686; + case Item::FireCoral: return 441; + case Item::FireCoralBlock: return 436; + case Item::FireCoralFan: return 446; + case Item::FireworkRocket: return 707; + case Item::FireworkStar: return 708; + case Item::FishingRod: return 563; + case Item::Flint: return 530; + case Item::FlintAndSteel: return 470; + case Item::FlowerPot: return 691; + case Item::Furnace: return 154; + case Item::FurnaceMinecart: return 560; + case Item::GhastSpawnEgg: return 648; + case Item::GhastTear: return 621; + case Item::Glass: return 64; + case Item::GlassBottle: return 625; + case Item::GlassPane: return 207; + case Item::GlisteringMelonSlice: return 633; + case Item::Glowstone: return 185; + case Item::GlowstoneDust: return 565; + case Item::GoldBlock: return 110; + case Item::GoldIngot: return 478; + case Item::GoldNugget: return 622; + case Item::GoldOre: return 29; + case Item::GoldenApple: return 534; + case Item::GoldenAxe: return 498; + case Item::GoldenBoots: return 529; + case Item::GoldenCarrot: return 697; + case Item::GoldenChestplate: return 527; + case Item::GoldenHelmet: return 526; + case Item::GoldenHoe: return 506; + case Item::GoldenHorseArmor: return 723; + case Item::GoldenLeggings: return 528; + case Item::GoldenPickaxe: return 497; + case Item::GoldenShovel: return 496; + case Item::GoldenSword: return 495; + case Item::Granite: return 2; + case Item::Grass: return 76; + case Item::GrassBlock: return 8; + case Item::GrassPath: return 304; + case Item::Gravel: return 28; + case Item::GrayBanner: return 737; + case Item::GrayBed: return 598; + case Item::GrayCarpet: return 289; + case Item::GrayConcrete: return 402; + case Item::GrayConcretePowder: return 418; + case Item::GrayDye: return 580; + case Item::GrayGlazedTerracotta: return 386; + case Item::GrayShulkerBox: return 370; + case Item::GrayStainedGlass: return 318; + case Item::GrayStainedGlassPane: return 334; + case Item::GrayTerracotta: return 270; + case Item::GrayWool: return 89; + case Item::GreenBanner: return 743; + case Item::GreenBed: return 604; + case Item::GreenCarpet: return 295; + case Item::GreenConcrete: return 408; + case Item::GreenConcretePowder: return 424; + case Item::GreenGlazedTerracotta: return 392; + case Item::GreenShulkerBox: return 376; + case Item::GreenStainedGlass: return 324; + case Item::GreenStainedGlassPane: return 340; + case Item::GreenTerracotta: return 276; + case Item::GreenWool: return 95; + case Item::GuardianSpawnEgg: return 649; + case Item::Gunpowder: return 501; + case Item::HayBale: return 281; + case Item::HeartOfTheSea: return 784; + case Item::HeavyWeightedPressurePlate: return 252; + case Item::Hopper: return 256; + case Item::HopperMinecart: return 713; + case Item::HornCoral: return 442; + case Item::HornCoralBlock: return 437; + case Item::HornCoralFan: return 447; + case Item::HorseSpawnEgg: return 650; + case Item::HuskSpawnEgg: return 651; + case Item::Ice: return 170; + case Item::InfestedChiseledStoneBricks: return 198; + case Item::InfestedCobblestone: return 194; + case Item::InfestedCrackedStoneBricks: return 197; + case Item::InfestedMossyStoneBricks: return 196; + case Item::InfestedStone: return 193; + case Item::InfestedStoneBricks: return 195; + case Item::InkSac: return 572; + case Item::IronAxe: return 469; + case Item::IronBars: return 206; + case Item::IronBlock: return 111; + case Item::IronBoots: return 521; + case Item::IronChestplate: return 519; + case Item::IronDoor: return 455; + case Item::IronHelmet: return 518; + case Item::IronHoe: return 504; + case Item::IronHorseArmor: return 722; + case Item::IronIngot: return 477; + case Item::IronLeggings: return 520; + case Item::IronNugget: return 766; + case Item::IronOre: return 30; + case Item::IronPickaxe: return 468; + case Item::IronShovel: return 467; + case Item::IronSword: return 479; + case Item::IronTrapdoor: return 280; + case Item::ItemFrame: return 690; + case Item::JackOLantern: return 186; + case Item::Jukebox: return 174; + case Item::JungleBoat: return 761; + case Item::JungleButton: return 244; + case Item::JungleDoor: return 459; + case Item::JungleFence: return 178; + case Item::JungleFenceGate: return 213; + case Item::JungleLeaves: return 59; + case Item::JungleLog: return 35; + case Item::JunglePlanks: return 16; + case Item::JunglePressurePlate: return 163; + case Item::JungleSapling: return 22; + case Item::JungleSlab: return 115; + case Item::JungleStairs: return 236; + case Item::JungleTrapdoor: return 190; + case Item::JungleWood: return 53; + case Item::Kelp: return 554; + case Item::KnowledgeBook: return 767; + case Item::Ladder: return 155; + case Item::LapisBlock: return 66; + case Item::LapisLazuli: return 576; + case Item::LapisOre: return 65; + case Item::LargeFern: return 310; + case Item::LavaBucket: return 539; + case Item::Lead: return 725; + case Item::Leather: return 545; + case Item::LeatherBoots: return 513; + case Item::LeatherChestplate: return 511; + case Item::LeatherHelmet: return 510; + case Item::LeatherLeggings: return 512; + case Item::Lever: return 158; + case Item::LightBlueBanner: return 733; + case Item::LightBlueBed: return 594; + case Item::LightBlueCarpet: return 285; + case Item::LightBlueConcrete: return 398; + case Item::LightBlueConcretePowder: return 414; + case Item::LightBlueDye: return 584; + case Item::LightBlueGlazedTerracotta: return 382; + case Item::LightBlueShulkerBox: return 366; + case Item::LightBlueStainedGlass: return 314; + case Item::LightBlueStainedGlassPane: return 330; + case Item::LightBlueTerracotta: return 266; + case Item::LightBlueWool: return 85; + case Item::LightGrayBanner: return 738; + case Item::LightGrayBed: return 599; + case Item::LightGrayCarpet: return 290; + case Item::LightGrayConcrete: return 403; + case Item::LightGrayConcretePowder: return 419; + case Item::LightGrayDye: return 579; + case Item::LightGrayGlazedTerracotta: return 387; + case Item::LightGrayShulkerBox: return 371; + case Item::LightGrayStainedGlass: return 319; + case Item::LightGrayStainedGlassPane: return 335; + case Item::LightGrayTerracotta: return 271; + case Item::LightGrayWool: return 90; + case Item::LightWeightedPressurePlate: return 251; + case Item::Lilac: return 306; + case Item::LilyPad: return 219; + case Item::LimeBanner: return 735; + case Item::LimeBed: return 596; + case Item::LimeCarpet: return 287; + case Item::LimeConcrete: return 400; + case Item::LimeConcretePowder: return 416; + case Item::LimeDye: return 582; + case Item::LimeGlazedTerracotta: return 384; + case Item::LimeShulkerBox: return 368; + case Item::LimeStainedGlass: return 316; + case Item::LimeStainedGlassPane: return 332; + case Item::LimeTerracotta: return 268; + case Item::LimeWool: return 87; + case Item::LingeringPotion: return 756; + case Item::LlamaSpawnEgg: return 652; + case Item::MagentaBanner: return 732; + case Item::MagentaBed: return 593; + case Item::MagentaCarpet: return 284; + case Item::MagentaConcrete: return 397; + case Item::MagentaConcretePowder: return 413; + case Item::MagentaDye: return 585; + case Item::MagentaGlazedTerracotta: return 381; + case Item::MagentaShulkerBox: return 365; + case Item::MagentaStainedGlass: return 313; + case Item::MagentaStainedGlassPane: return 329; + case Item::MagentaTerracotta: return 265; + case Item::MagentaWool: return 84; + case Item::MagmaBlock: return 356; + case Item::MagmaCream: return 629; + case Item::MagmaCubeSpawnEgg: return 653; + case Item::Map: return 696; + case Item::Melon: return 208; + case Item::MelonSeeds: return 613; + case Item::MelonSlice: return 610; + case Item::MilkBucket: return 546; + case Item::Minecart: return 540; + case Item::MooshroomSpawnEgg: return 654; + case Item::MossyCobblestone: return 138; + case Item::MossyCobblestoneWall: return 240; + case Item::MossyStoneBricks: return 200; + case Item::MuleSpawnEgg: return 655; + case Item::MushroomStem: return 205; + case Item::MushroomStew: return 494; + case Item::MusicDisc11: return 779; + case Item::MusicDisc13: return 769; + case Item::MusicDiscBlocks: return 771; + case Item::MusicDiscCat: return 770; + case Item::MusicDiscChirp: return 772; + case Item::MusicDiscFar: return 773; + case Item::MusicDiscMall: return 774; + case Item::MusicDiscMellohi: return 775; + case Item::MusicDiscStal: return 776; + case Item::MusicDiscStrad: return 777; + case Item::MusicDiscWait: return 780; + case Item::MusicDiscWard: return 778; + case Item::Mutton: return 728; + case Item::Mycelium: return 218; + case Item::NameTag: return 726; + case Item::NautilusShell: return 783; + case Item::NetherBrick: return 710; + case Item::NetherBrickFence: return 221; + case Item::NetherBrickSlab: return 124; + case Item::NetherBrickStairs: return 222; + case Item::NetherBricks: return 220; + case Item::NetherQuartzOre: return 255; + case Item::NetherStar: return 705; + case Item::NetherWart: return 623; + case Item::NetherWartBlock: return 357; + case Item::Netherrack: return 183; + case Item::NoteBlock: return 71; + case Item::OakBoat: return 544; + case Item::OakButton: return 241; + case Item::OakDoor: return 456; + case Item::OakFence: return 175; + case Item::OakFenceGate: return 210; + case Item::OakLeaves: return 56; + case Item::OakLog: return 32; + case Item::OakPlanks: return 13; + case Item::OakPressurePlate: return 160; + case Item::OakSapling: return 19; + case Item::OakSlab: return 112; + case Item::OakStairs: return 148; + case Item::OakTrapdoor: return 187; + case Item::OakWood: return 50; + case Item::Observer: return 361; + case Item::Obsidian: return 139; + case Item::OcelotSpawnEgg: return 656; + case Item::OrangeBanner: return 731; + case Item::OrangeBed: return 592; + case Item::OrangeCarpet: return 283; + case Item::OrangeConcrete: return 396; + case Item::OrangeConcretePowder: return 412; + case Item::OrangeDye: return 586; + case Item::OrangeGlazedTerracotta: return 380; + case Item::OrangeShulkerBox: return 364; + case Item::OrangeStainedGlass: return 312; + case Item::OrangeStainedGlassPane: return 328; + case Item::OrangeTerracotta: return 264; + case Item::OrangeTulip: return 104; + case Item::OrangeWool: return 83; + case Item::OxeyeDaisy: return 107; + case Item::PackedIce: return 300; + case Item::Painting: return 533; + case Item::Paper: return 556; + case Item::ParrotSpawnEgg: return 657; + case Item::Peony: return 308; + case Item::PetrifiedOakSlab: return 120; + case Item::PhantomMembrane: return 782; + case Item::PhantomSpawnEgg: return 658; + case Item::PigSpawnEgg: return 659; + case Item::PinkBanner: return 736; + case Item::PinkBed: return 597; + case Item::PinkCarpet: return 288; + case Item::PinkConcrete: return 401; + case Item::PinkConcretePowder: return 417; + case Item::PinkDye: return 581; + case Item::PinkGlazedTerracotta: return 385; + case Item::PinkShulkerBox: return 369; + case Item::PinkStainedGlass: return 317; + case Item::PinkStainedGlassPane: return 333; + case Item::PinkTerracotta: return 269; + case Item::PinkTulip: return 106; + case Item::PinkWool: return 88; + case Item::Piston: return 81; + case Item::PlayerHead: return 700; + case Item::Podzol: return 11; + case Item::PoisonousPotato: return 695; + case Item::PolarBearSpawnEgg: return 660; + case Item::PolishedAndesite: return 7; + case Item::PolishedDiorite: return 5; + case Item::PolishedGranite: return 3; + case Item::PoppedChorusFruit: return 748; + case Item::Poppy: return 99; + case Item::Porkchop: return 531; + case Item::Potato: return 693; + case Item::Potion: return 624; + case Item::PoweredRail: return 72; + case Item::Prismarine: return 343; + case Item::PrismarineBrickSlab: return 129; + case Item::PrismarineBrickStairs: return 347; + case Item::PrismarineBricks: return 344; + case Item::PrismarineCrystals: return 715; + case Item::PrismarineShard: return 714; + case Item::PrismarineSlab: return 128; + case Item::PrismarineStairs: return 346; + case Item::Pufferfish: return 569; + case Item::PufferfishBucket: return 547; + case Item::PufferfishSpawnEgg: return 661; + case Item::Pumpkin: return 181; + case Item::PumpkinPie: return 706; + case Item::PumpkinSeeds: return 612; + case Item::PurpleBanner: return 740; + case Item::PurpleBed: return 601; + case Item::PurpleCarpet: return 292; + case Item::PurpleConcrete: return 405; + case Item::PurpleConcretePowder: return 421; + case Item::PurpleDye: return 577; + case Item::PurpleGlazedTerracotta: return 389; + case Item::PurpleShulkerBox: return 373; + case Item::PurpleStainedGlass: return 321; + case Item::PurpleStainedGlassPane: return 337; + case Item::PurpleTerracotta: return 273; + case Item::PurpleWool: return 92; + case Item::PurpurBlock: return 144; + case Item::PurpurPillar: return 145; + case Item::PurpurSlab: return 127; + case Item::PurpurStairs: return 146; + case Item::Quartz: return 711; + case Item::QuartzBlock: return 258; + case Item::QuartzPillar: return 259; + case Item::QuartzSlab: return 125; + case Item::QuartzStairs: return 260; + case Item::Rabbit: return 716; + case Item::RabbitFoot: return 719; + case Item::RabbitHide: return 720; + case Item::RabbitSpawnEgg: return 662; + case Item::RabbitStew: return 718; + case Item::Rail: return 156; + case Item::RedBanner: return 744; + case Item::RedBed: return 605; + case Item::RedCarpet: return 296; + case Item::RedConcrete: return 409; + case Item::RedConcretePowder: return 425; + case Item::RedGlazedTerracotta: return 393; + case Item::RedMushroom: return 109; + case Item::RedMushroomBlock: return 204; + case Item::RedNetherBricks: return 358; + case Item::RedSand: return 27; + case Item::RedSandstone: return 350; + case Item::RedSandstoneSlab: return 126; + case Item::RedSandstoneStairs: return 353; + case Item::RedShulkerBox: return 377; + case Item::RedStainedGlass: return 325; + case Item::RedStainedGlassPane: return 341; + case Item::RedTerracotta: return 277; + case Item::RedTulip: return 103; + case Item::RedWool: return 96; + case Item::Redstone: return 542; + case Item::RedstoneBlock: return 254; + case Item::RedstoneLamp: return 228; + case Item::RedstoneOre: return 166; + case Item::RedstoneTorch: return 167; + case Item::Repeater: return 462; + case Item::RepeatingCommandBlock: return 354; + case Item::RoseBush: return 307; + case Item::RedDye: return 573; + case Item::RottenFlesh: return 618; + case Item::Saddle: return 541; + case Item::Salmon: return 567; + case Item::SalmonBucket: return 548; + case Item::SalmonSpawnEgg: return 663; + case Item::Sand: return 26; + case Item::Sandstone: return 68; + case Item::SandstoneSlab: return 119; + case Item::SandstoneStairs: return 229; + case Item::Scute: return 466; + case Item::SeaLantern: return 349; + case Item::SeaPickle: return 80; + case Item::Seagrass: return 79; + case Item::Shears: return 609; + case Item::SheepSpawnEgg: return 664; + case Item::Shield: return 757; + case Item::ShulkerBox: return 362; + case Item::ShulkerShell: return 765; + case Item::ShulkerSpawnEgg: return 665; + case Item::OakSign: return 536; + case Item::SilverfishSpawnEgg: return 666; + case Item::SkeletonHorseSpawnEgg: return 668; + case Item::SkeletonSkull: return 698; + case Item::SkeletonSpawnEgg: return 667; + case Item::SlimeBall: return 558; + case Item::SlimeBlock: return 303; + case Item::SlimeSpawnEgg: return 669; + case Item::SmoothQuartz: return 131; + case Item::SmoothRedSandstone: return 132; + case Item::SmoothSandstone: return 133; + case Item::SmoothStone: return 134; + case Item::Snow: return 169; + case Item::SnowBlock: return 171; + case Item::Snowball: return 543; + case Item::SoulSand: return 184; + case Item::Spawner: return 147; + case Item::SpectralArrow: return 754; + case Item::SpiderEye: return 626; + case Item::SpiderSpawnEgg: return 670; + case Item::SplashPotion: return 753; + case Item::Sponge: return 62; + case Item::SpruceBoat: return 759; + case Item::SpruceButton: return 242; + case Item::SpruceDoor: return 457; + case Item::SpruceFence: return 176; + case Item::SpruceFenceGate: return 211; + case Item::SpruceLeaves: return 57; + case Item::SpruceLog: return 33; + case Item::SprucePlanks: return 14; + case Item::SprucePressurePlate: return 161; + case Item::SpruceSapling: return 20; + case Item::SpruceSlab: return 113; + case Item::SpruceStairs: return 234; + case Item::SpruceTrapdoor: return 188; + case Item::SpruceWood: return 51; + case Item::SquidSpawnEgg: return 671; + case Item::Stick: return 492; + case Item::StickyPiston: return 74; + case Item::Stone: return 1; + case Item::StoneAxe: return 487; + case Item::StoneBrickSlab: return 123; + case Item::StoneBrickStairs: return 217; + case Item::StoneBricks: return 199; + case Item::StoneButton: return 168; + case Item::StoneHoe: return 503; + case Item::StonePickaxe: return 486; + case Item::StonePressurePlate: return 159; + case Item::StoneShovel: return 485; + case Item::StoneSlab: return 118; + case Item::StoneSword: return 484; + case Item::StraySpawnEgg: return 672; + case Item::String: return 499; + case Item::StrippedAcaciaLog: return 42; + case Item::StrippedAcaciaWood: return 48; + case Item::StrippedBirchLog: return 40; + case Item::StrippedBirchWood: return 46; + case Item::StrippedDarkOakLog: return 43; + case Item::StrippedDarkOakWood: return 49; + case Item::StrippedJungleLog: return 41; + case Item::StrippedJungleWood: return 47; + case Item::StrippedOakLog: return 38; + case Item::StrippedOakWood: return 44; + case Item::StrippedSpruceLog: return 39; + case Item::StrippedSpruceWood: return 45; + case Item::StructureBlock: return 464; + case Item::StructureVoid: return 360; + case Item::Sugar: return 589; + case Item::SugarCane: return 553; + case Item::Sunflower: return 305; + case Item::TallGrass: return 309; + case Item::Terracotta: return 298; + case Item::TippedArrow: return 755; + case Item::TNT: return 136; + case Item::TNTMinecart: return 712; + case Item::Torch: return 140; + case Item::TotemOfUndying: return 764; + case Item::TrappedChest: return 250; + case Item::Trident: return 781; + case Item::TripwireHook: return 232; + case Item::TropicalFish: return 568; + case Item::TropicalFishBucket: return 550; + case Item::TropicalFishSpawnEgg: return 673; + case Item::TubeCoral: return 438; + case Item::TubeCoralBlock: return 433; + case Item::TubeCoralFan: return 443; + case Item::TurtleEgg: return 427; + case Item::TurtleHelmet: return 465; + case Item::TurtleSpawnEgg: return 674; + case Item::VexSpawnEgg: return 675; + case Item::VillagerSpawnEgg: return 676; + case Item::VindicatorSpawnEgg: return 677; + case Item::Vine: return 209; + case Item::WaterBucket: return 538; + case Item::WetSponge: return 63; + case Item::Wheat: return 508; + case Item::WheatSeeds: return 507; + case Item::WhiteBanner: return 730; + case Item::WhiteBed: return 591; + case Item::WhiteCarpet: return 282; + case Item::WhiteConcrete: return 395; + case Item::WhiteConcretePowder: return 411; + case Item::WhiteGlazedTerracotta: return 379; + case Item::WhiteShulkerBox: return 363; + case Item::WhiteStainedGlass: return 311; + case Item::WhiteStainedGlassPane: return 327; + case Item::WhiteTerracotta: return 263; + case Item::WhiteTulip: return 105; + case Item::WhiteWool: return 82; + case Item::WitchSpawnEgg: return 678; + case Item::WitherSkeletonSkull: return 699; + case Item::WitherSkeletonSpawnEgg: return 679; + case Item::WolfSpawnEgg: return 680; + case Item::WoodenAxe: return 483; + case Item::WoodenHoe: return 502; + case Item::WoodenPickaxe: return 482; + case Item::WoodenShovel: return 481; + case Item::WoodenSword: return 480; + case Item::WritableBook: return 687; + case Item::WrittenBook: return 688; + case Item::YellowBanner: return 734; + case Item::YellowBed: return 595; + case Item::YellowCarpet: return 286; + case Item::YellowConcrete: return 399; + case Item::YellowConcretePowder: return 415; + case Item::YellowGlazedTerracotta: return 383; + case Item::YellowShulkerBox: return 367; + case Item::YellowStainedGlass: return 315; + case Item::YellowStainedGlassPane: return 331; + case Item::YellowTerracotta: return 267; + case Item::YellowWool: return 86; + case Item::ZombieHead: return 701; + case Item::ZombieHorseSpawnEgg: return 682; + case Item::ZombiePigmanSpawnEgg: return 683; + case Item::ZombieSpawnEgg: return 681; + case Item::ZombieVillagerSpawnEgg: return 684; + default: return 0; } +} - UInt32 From(const CustomStatistic ID) +UInt32 From(const CustomStatistic ID) +{ + switch (ID) { - switch (ID) - { - case CustomStatistic::AnimalsBred: return 25; - case CustomStatistic::AviateOneCm: return 17; - case CustomStatistic::BoatOneCm: return 14; - case CustomStatistic::CleanArmor: return 33; - case CustomStatistic::CleanBanner: return 34; - case CustomStatistic::ClimbOneCm: return 10; - case CustomStatistic::CrouchOneCm: return 6; - case CustomStatistic::DamageDealt: return 21; - case CustomStatistic::DamageTaken: return 22; - case CustomStatistic::Deaths: return 23; - case CustomStatistic::Drop: return 20; - case CustomStatistic::EatCakeSlice: return 30; - case CustomStatistic::EnchantItem: return 45; - case CustomStatistic::FallOneCm: return 9; - case CustomStatistic::FillCauldron: return 31; - case CustomStatistic::FishCaught: return 27; - case CustomStatistic::FlyOneCm: return 11; - case CustomStatistic::HorseOneCm: return 16; - case CustomStatistic::InspectDispenser: return 39; - case CustomStatistic::InspectDropper: return 37; - case CustomStatistic::InspectHopper: return 38; - case CustomStatistic::InteractWithBeacon: return 36; - case CustomStatistic::InteractWithBrewingstand: return 35; - case CustomStatistic::InteractWithCraftingTable: return 48; - case CustomStatistic::InteractWithFurnace: return 47; - case CustomStatistic::Jump: return 19; - case CustomStatistic::LeaveGame: return 0; - case CustomStatistic::MinecartOneCm: return 13; - case CustomStatistic::MobKills: return 24; - case CustomStatistic::OpenChest: return 49; - case CustomStatistic::OpenEnderchest: return 44; - case CustomStatistic::OpenShulkerBox: return 51; - case CustomStatistic::PigOneCm: return 15; - case CustomStatistic::PlayerKills: return 26; - case CustomStatistic::PlayNoteblock: return 40; - case CustomStatistic::PlayOneMinute: return 1; - case CustomStatistic::PlayRecord: return 46; - case CustomStatistic::PotFlower: return 42; - case CustomStatistic::SleepInBed: return 50; - case CustomStatistic::SneakTime: return 4; - case CustomStatistic::SprintOneCm: return 7; - case CustomStatistic::SwimOneCm: return 8; - case CustomStatistic::TalkedToVillager: return 28; - case CustomStatistic::TimeSinceDeath: return 2; - case CustomStatistic::TimeSinceRest: return 3; - case CustomStatistic::TradedWithVillager: return 29; - case CustomStatistic::TriggerTrappedChest: return 43; - case CustomStatistic::TuneNoteblock: return 41; - case CustomStatistic::UseCauldron: return 32; - case CustomStatistic::WalkOneCm: return 5; - case CustomStatistic::WalkOnWaterOneCm: return 18; - case CustomStatistic::WalkUnderWaterOneCm: return 12; - default: return UInt32(-1); - } + case CustomStatistic::AnimalsBred: return 25; + case CustomStatistic::AviateOneCm: return 17; + case CustomStatistic::BoatOneCm: return 14; + case CustomStatistic::CleanArmor: return 33; + case CustomStatistic::CleanBanner: return 34; + case CustomStatistic::ClimbOneCm: return 10; + case CustomStatistic::CrouchOneCm: return 6; + case CustomStatistic::DamageDealt: return 21; + case CustomStatistic::DamageTaken: return 22; + case CustomStatistic::Deaths: return 23; + case CustomStatistic::Drop: return 20; + case CustomStatistic::EatCakeSlice: return 30; + case CustomStatistic::EnchantItem: return 45; + case CustomStatistic::FallOneCm: return 9; + case CustomStatistic::FillCauldron: return 31; + case CustomStatistic::FishCaught: return 27; + case CustomStatistic::FlyOneCm: return 11; + case CustomStatistic::HorseOneCm: return 16; + case CustomStatistic::InspectDispenser: return 39; + case CustomStatistic::InspectDropper: return 37; + case CustomStatistic::InspectHopper: return 38; + case CustomStatistic::InteractWithBeacon: return 36; + case CustomStatistic::InteractWithBrewingstand: return 35; + case CustomStatistic::InteractWithCraftingTable: return 48; + case CustomStatistic::InteractWithFurnace: return 47; + case CustomStatistic::Jump: return 19; + case CustomStatistic::LeaveGame: return 0; + case CustomStatistic::MinecartOneCm: return 13; + case CustomStatistic::MobKills: return 24; + case CustomStatistic::OpenChest: return 49; + case CustomStatistic::OpenEnderchest: return 44; + case CustomStatistic::OpenShulkerBox: return 51; + case CustomStatistic::PigOneCm: return 15; + case CustomStatistic::PlayerKills: return 26; + case CustomStatistic::PlayNoteblock: return 40; + case CustomStatistic::PlayOneMinute: return 1; + case CustomStatistic::PlayRecord: return 46; + case CustomStatistic::PotFlower: return 42; + case CustomStatistic::SleepInBed: return 50; + case CustomStatistic::SneakTime: return 4; + case CustomStatistic::SprintOneCm: return 7; + case CustomStatistic::SwimOneCm: return 8; + case CustomStatistic::TalkedToVillager: return 28; + case CustomStatistic::TimeSinceDeath: return 2; + case CustomStatistic::TimeSinceRest: return 3; + case CustomStatistic::TradedWithVillager: return 29; + case CustomStatistic::TriggerTrappedChest: return 43; + case CustomStatistic::TuneNoteblock: return 41; + case CustomStatistic::UseCauldron: return 32; + case CustomStatistic::WalkOneCm: return 5; + case CustomStatistic::WalkOnWaterOneCm: return 18; + case CustomStatistic::WalkUnderWaterOneCm: return 12; + default: return UInt32(-1); } +} - Item ToItem(const UInt32 ID) +Item ToItem(const UInt32 ID) +{ + switch (ID) { - switch (ID) - { - case 762: return Item::AcaciaBoat; - case 245: return Item::AcaciaButton; - case 460: return Item::AcaciaDoor; - case 179: return Item::AcaciaFence; - case 214: return Item::AcaciaFenceGate; - case 60: return Item::AcaciaLeaves; - case 36: return Item::AcaciaLog; - case 17: return Item::AcaciaPlanks; - case 164: return Item::AcaciaPressurePlate; - case 23: return Item::AcaciaSapling; - case 116: return Item::AcaciaSlab; - case 301: return Item::AcaciaStairs; - case 191: return Item::AcaciaTrapdoor; - case 54: return Item::AcaciaWood; - case 261: return Item::ActivatorRail; - case -0: return Item::Air; - case 101: return Item::Allium; - case 6: return Item::Andesite; - case 247: return Item::Anvil; - case 471: return Item::Apple; - case 721: return Item::ArmorStand; - case 473: return Item::Arrow; - case 102: return Item::AzureBluet; - case 694: return Item::BakedPotato; - case 279: return Item::Barrier; - case 634: return Item::BatSpawnEgg; - case 238: return Item::Beacon; - case 25: return Item::Bedrock; - case 614: return Item::Beef; - case 749: return Item::Beetroot; - case 750: return Item::BeetrootSeeds; - case 751: return Item::BeetrootSoup; - case 760: return Item::BirchBoat; - case 243: return Item::BirchButton; - case 458: return Item::BirchDoor; - case 177: return Item::BirchFence; - case 212: return Item::BirchFenceGate; - case 58: return Item::BirchLeaves; - case 34: return Item::BirchLog; - case 15: return Item::BirchPlanks; - case 162: return Item::BirchPressurePlate; - case 21: return Item::BirchSapling; - case 114: return Item::BirchSlab; - case 235: return Item::BirchStairs; - case 189: return Item::BirchTrapdoor; - case 52: return Item::BirchWood; - case 745: return Item::BlackBanner; - case 606: return Item::BlackBed; - case 297: return Item::BlackCarpet; - case 410: return Item::BlackConcrete; - case 426: return Item::BlackConcretePowder; - case 394: return Item::BlackGlazedTerracotta; - case 378: return Item::BlackShulkerBox; - case 326: return Item::BlackStainedGlass; - case 342: return Item::BlackStainedGlassPane; - case 278: return Item::BlackTerracotta; - case 97: return Item::BlackWool; - case 628: return Item::BlazePowder; - case 620: return Item::BlazeRod; - case 635: return Item::BlazeSpawnEgg; - case 741: return Item::BlueBanner; - case 602: return Item::BlueBed; - case 293: return Item::BlueCarpet; - case 406: return Item::BlueConcrete; - case 422: return Item::BlueConcretePowder; - case 390: return Item::BlueGlazedTerracotta; - case 453: return Item::BlueIce; - case 100: return Item::BlueOrchid; - case 374: return Item::BlueShulkerBox; - case 322: return Item::BlueStainedGlass; - case 338: return Item::BlueStainedGlassPane; - case 274: return Item::BlueTerracotta; - case 93: return Item::BlueWool; - case 588: return Item::Bone; - case 359: return Item::BoneBlock; - case 587: return Item::BoneMeal; - case 557: return Item::Book; - case 137: return Item::Bookshelf; - case 472: return Item::Bow; - case 493: return Item::Bowl; - case 439: return Item::BrainCoral; - case 434: return Item::BrainCoralBlock; - case 444: return Item::BrainCoralFan; - case 509: return Item::Bread; - case 630: return Item::BrewingStand; - case 551: return Item::Brick; - case 122: return Item::BrickSlab; - case 216: return Item::BrickStairs; - case 135: return Item::Bricks; - case 742: return Item::BrownBanner; - case 603: return Item::BrownBed; - case 294: return Item::BrownCarpet; - case 407: return Item::BrownConcrete; - case 423: return Item::BrownConcretePowder; - case 391: return Item::BrownGlazedTerracotta; - case 108: return Item::BrownMushroom; - case 203: return Item::BrownMushroomBlock; - case 375: return Item::BrownShulkerBox; - case 323: return Item::BrownStainedGlass; - case 339: return Item::BrownStainedGlassPane; - case 275: return Item::BrownTerracotta; - case 94: return Item::BrownWool; - case 440: return Item::BubbleCoral; - case 435: return Item::BubbleCoralBlock; - case 445: return Item::BubbleCoralFan; - case 537: return Item::Bucket; - case 172: return Item::Cactus; - case 574: return Item::GreenDye; - case 590: return Item::Cake; - case 692: return Item::Carrot; - case 704: return Item::CarrotOnAStick; - case 182: return Item::CarvedPumpkin; - case 631: return Item::Cauldron; - case 636: return Item::CaveSpiderSpawnEgg; - case 355: return Item::ChainCommandBlock; - case 517: return Item::ChainmailBoots; - case 515: return Item::ChainmailChestplate; - case 514: return Item::ChainmailHelmet; - case 516: return Item::ChainmailLeggings; - case 475: return Item::Charcoal; - case 149: return Item::Chest; - case 559: return Item::ChestMinecart; - case 616: return Item::Chicken; - case 637: return Item::ChickenSpawnEgg; - case 248: return Item::ChippedAnvil; - case 257: return Item::ChiseledQuartzBlock; - case 351: return Item::ChiseledRedSandstone; - case 69: return Item::ChiseledSandstone; - case 202: return Item::ChiseledStoneBricks; - case 143: return Item::ChorusFlower; - case 747: return Item::ChorusFruit; - case 142: return Item::ChorusPlant; - case 173: return Item::Clay; - case 552: return Item::ClayBall; - case 564: return Item::Clock; - case 474: return Item::Coal; - case 299: return Item::CoalBlock; - case 31: return Item::CoalOre; - case 10: return Item::CoarseDirt; - case 12: return Item::Cobblestone; - case 121: return Item::CobblestoneSlab; - case 157: return Item::CobblestoneStairs; - case 239: return Item::CobblestoneWall; - case 75: return Item::Cobweb; - case 575: return Item::CocoaBeans; - case 566: return Item::Cod; - case 549: return Item::CodBucket; - case 638: return Item::CodSpawnEgg; - case 237: return Item::CommandBlock; - case 727: return Item::CommandBlockMinecart; - case 463: return Item::Comparator; - case 562: return Item::Compass; - case 454: return Item::Conduit; - case 615: return Item::CookedBeef; - case 617: return Item::CookedChicken; - case 570: return Item::CookedCod; - case 729: return Item::CookedMutton; - case 532: return Item::CookedPorkchop; - case 717: return Item::CookedRabbit; - case 571: return Item::CookedSalmon; - case 607: return Item::Cookie; - case 639: return Item::CowSpawnEgg; - case 201: return Item::CrackedStoneBricks; - case 152: return Item::CraftingTable; - case 702: return Item::CreeperHead; - case 640: return Item::CreeperSpawnEgg; - case 352: return Item::CutRedSandstone; - case 70: return Item::CutSandstone; - case 739: return Item::CyanBanner; - case 600: return Item::CyanBed; - case 291: return Item::CyanCarpet; - case 404: return Item::CyanConcrete; - case 420: return Item::CyanConcretePowder; - case 578: return Item::CyanDye; - case 388: return Item::CyanGlazedTerracotta; - case 372: return Item::CyanShulkerBox; - case 320: return Item::CyanStainedGlass; - case 336: return Item::CyanStainedGlassPane; - case 272: return Item::CyanTerracotta; - case 91: return Item::CyanWool; - case 249: return Item::DamagedAnvil; - case 98: return Item::Dandelion; - case 583: return Item::YellowDye; - case 763: return Item::DarkOakBoat; - case 246: return Item::DarkOakButton; - case 461: return Item::DarkOakDoor; - case 180: return Item::DarkOakFence; - case 215: return Item::DarkOakFenceGate; - case 61: return Item::DarkOakLeaves; - case 37: return Item::DarkOakLog; - case 18: return Item::DarkOakPlanks; - case 165: return Item::DarkOakPressurePlate; - case 24: return Item::DarkOakSapling; - case 117: return Item::DarkOakSlab; - case 302: return Item::DarkOakStairs; - case 192: return Item::DarkOakTrapdoor; - case 55: return Item::DarkOakWood; - case 345: return Item::DarkPrismarine; - case 130: return Item::DarkPrismarineSlab; - case 348: return Item::DarkPrismarineStairs; - case 253: return Item::DaylightDetector; - case 429: return Item::DeadBrainCoralBlock; - case 449: return Item::DeadBrainCoralFan; - case 430: return Item::DeadBubbleCoralBlock; - case 450: return Item::DeadBubbleCoralFan; - case 78: return Item::DeadBush; - case 431: return Item::DeadFireCoralBlock; - case 451: return Item::DeadFireCoralFan; - case 432: return Item::DeadHornCoralBlock; - case 452: return Item::DeadHornCoralFan; - case 428: return Item::DeadTubeCoralBlock; - case 448: return Item::DeadTubeCoralFan; - case 768: return Item::DebugStick; - case 73: return Item::DetectorRail; - case 476: return Item::Diamond; - case 491: return Item::DiamondAxe; - case 151: return Item::DiamondBlock; - case 525: return Item::DiamondBoots; - case 523: return Item::DiamondChestplate; - case 522: return Item::DiamondHelmet; - case 505: return Item::DiamondHoe; - case 724: return Item::DiamondHorseArmor; - case 524: return Item::DiamondLeggings; - case 150: return Item::DiamondOre; - case 490: return Item::DiamondPickaxe; - case 489: return Item::DiamondShovel; - case 488: return Item::DiamondSword; - case 4: return Item::Diorite; - case 9: return Item::Dirt; - case 67: return Item::Dispenser; - case 641: return Item::DolphinSpawnEgg; - case 642: return Item::DonkeySpawnEgg; - case 752: return Item::DragonBreath; - case 227: return Item::DragonEgg; - case 703: return Item::DragonHead; - case 611: return Item::DriedKelp; - case 555: return Item::DriedKelpBlock; - case 262: return Item::Dropper; - case 643: return Item::DrownedSpawnEgg; - case 561: return Item::Egg; - case 644: return Item::ElderGuardianSpawnEgg; - case 758: return Item::Elytra; - case 689: return Item::Emerald; - case 233: return Item::EmeraldBlock; - case 230: return Item::EmeraldOre; - case 709: return Item::EnchantedBook; - case 535: return Item::EnchantedGoldenApple; - case 223: return Item::EnchantingTable; - case 746: return Item::EndCrystal; - case 224: return Item::EndPortalFrame; - case 141: return Item::EndRod; - case 225: return Item::EndStone; - case 226: return Item::EndStoneBricks; - case 231: return Item::EnderChest; - case 632: return Item::EnderEye; - case 619: return Item::EnderPearl; - case 645: return Item::EndermanSpawnEgg; - case 646: return Item::EndermiteSpawnEgg; - case 647: return Item::EvokerSpawnEgg; - case 685: return Item::ExperienceBottle; - case 153: return Item::Farmland; - case 500: return Item::Feather; - case 627: return Item::FermentedSpiderEye; - case 77: return Item::Fern; - case 608: return Item::FilledMap; - case 686: return Item::FireCharge; - case 441: return Item::FireCoral; - case 436: return Item::FireCoralBlock; - case 446: return Item::FireCoralFan; - case 707: return Item::FireworkRocket; - case 708: return Item::FireworkStar; - case 563: return Item::FishingRod; - case 530: return Item::Flint; - case 470: return Item::FlintAndSteel; - case 691: return Item::FlowerPot; - case 154: return Item::Furnace; - case 560: return Item::FurnaceMinecart; - case 648: return Item::GhastSpawnEgg; - case 621: return Item::GhastTear; - case 64: return Item::Glass; - case 625: return Item::GlassBottle; - case 207: return Item::GlassPane; - case 633: return Item::GlisteringMelonSlice; - case 185: return Item::Glowstone; - case 565: return Item::GlowstoneDust; - case 110: return Item::GoldBlock; - case 478: return Item::GoldIngot; - case 622: return Item::GoldNugget; - case 29: return Item::GoldOre; - case 534: return Item::GoldenApple; - case 498: return Item::GoldenAxe; - case 529: return Item::GoldenBoots; - case 697: return Item::GoldenCarrot; - case 527: return Item::GoldenChestplate; - case 526: return Item::GoldenHelmet; - case 506: return Item::GoldenHoe; - case 723: return Item::GoldenHorseArmor; - case 528: return Item::GoldenLeggings; - case 497: return Item::GoldenPickaxe; - case 496: return Item::GoldenShovel; - case 495: return Item::GoldenSword; - case 2: return Item::Granite; - case 76: return Item::Grass; - case 8: return Item::GrassBlock; - case 304: return Item::GrassPath; - case 28: return Item::Gravel; - case 737: return Item::GrayBanner; - case 598: return Item::GrayBed; - case 289: return Item::GrayCarpet; - case 402: return Item::GrayConcrete; - case 418: return Item::GrayConcretePowder; - case 580: return Item::GrayDye; - case 386: return Item::GrayGlazedTerracotta; - case 370: return Item::GrayShulkerBox; - case 318: return Item::GrayStainedGlass; - case 334: return Item::GrayStainedGlassPane; - case 270: return Item::GrayTerracotta; - case 89: return Item::GrayWool; - case 743: return Item::GreenBanner; - case 604: return Item::GreenBed; - case 295: return Item::GreenCarpet; - case 408: return Item::GreenConcrete; - case 424: return Item::GreenConcretePowder; - case 392: return Item::GreenGlazedTerracotta; - case 376: return Item::GreenShulkerBox; - case 324: return Item::GreenStainedGlass; - case 340: return Item::GreenStainedGlassPane; - case 276: return Item::GreenTerracotta; - case 95: return Item::GreenWool; - case 649: return Item::GuardianSpawnEgg; - case 501: return Item::Gunpowder; - case 281: return Item::HayBale; - case 784: return Item::HeartOfTheSea; - case 252: return Item::HeavyWeightedPressurePlate; - case 256: return Item::Hopper; - case 713: return Item::HopperMinecart; - case 442: return Item::HornCoral; - case 437: return Item::HornCoralBlock; - case 447: return Item::HornCoralFan; - case 650: return Item::HorseSpawnEgg; - case 651: return Item::HuskSpawnEgg; - case 170: return Item::Ice; - case 198: return Item::InfestedChiseledStoneBricks; - case 194: return Item::InfestedCobblestone; - case 197: return Item::InfestedCrackedStoneBricks; - case 196: return Item::InfestedMossyStoneBricks; - case 193: return Item::InfestedStone; - case 195: return Item::InfestedStoneBricks; - case 572: return Item::InkSac; - case 469: return Item::IronAxe; - case 206: return Item::IronBars; - case 111: return Item::IronBlock; - case 521: return Item::IronBoots; - case 519: return Item::IronChestplate; - case 455: return Item::IronDoor; - case 518: return Item::IronHelmet; - case 504: return Item::IronHoe; - case 722: return Item::IronHorseArmor; - case 477: return Item::IronIngot; - case 520: return Item::IronLeggings; - case 766: return Item::IronNugget; - case 30: return Item::IronOre; - case 468: return Item::IronPickaxe; - case 467: return Item::IronShovel; - case 479: return Item::IronSword; - case 280: return Item::IronTrapdoor; - case 690: return Item::ItemFrame; - case 186: return Item::JackOLantern; - case 174: return Item::Jukebox; - case 761: return Item::JungleBoat; - case 244: return Item::JungleButton; - case 459: return Item::JungleDoor; - case 178: return Item::JungleFence; - case 213: return Item::JungleFenceGate; - case 59: return Item::JungleLeaves; - case 35: return Item::JungleLog; - case 16: return Item::JunglePlanks; - case 163: return Item::JunglePressurePlate; - case 22: return Item::JungleSapling; - case 115: return Item::JungleSlab; - case 236: return Item::JungleStairs; - case 190: return Item::JungleTrapdoor; - case 53: return Item::JungleWood; - case 554: return Item::Kelp; - case 767: return Item::KnowledgeBook; - case 155: return Item::Ladder; - case 66: return Item::LapisBlock; - case 576: return Item::LapisLazuli; - case 65: return Item::LapisOre; - case 310: return Item::LargeFern; - case 539: return Item::LavaBucket; - case 725: return Item::Lead; - case 545: return Item::Leather; - case 513: return Item::LeatherBoots; - case 511: return Item::LeatherChestplate; - case 510: return Item::LeatherHelmet; - case 512: return Item::LeatherLeggings; - case 158: return Item::Lever; - case 733: return Item::LightBlueBanner; - case 594: return Item::LightBlueBed; - case 285: return Item::LightBlueCarpet; - case 398: return Item::LightBlueConcrete; - case 414: return Item::LightBlueConcretePowder; - case 584: return Item::LightBlueDye; - case 382: return Item::LightBlueGlazedTerracotta; - case 366: return Item::LightBlueShulkerBox; - case 314: return Item::LightBlueStainedGlass; - case 330: return Item::LightBlueStainedGlassPane; - case 266: return Item::LightBlueTerracotta; - case 85: return Item::LightBlueWool; - case 738: return Item::LightGrayBanner; - case 599: return Item::LightGrayBed; - case 290: return Item::LightGrayCarpet; - case 403: return Item::LightGrayConcrete; - case 419: return Item::LightGrayConcretePowder; - case 579: return Item::LightGrayDye; - case 387: return Item::LightGrayGlazedTerracotta; - case 371: return Item::LightGrayShulkerBox; - case 319: return Item::LightGrayStainedGlass; - case 335: return Item::LightGrayStainedGlassPane; - case 271: return Item::LightGrayTerracotta; - case 90: return Item::LightGrayWool; - case 251: return Item::LightWeightedPressurePlate; - case 306: return Item::Lilac; - case 219: return Item::LilyPad; - case 735: return Item::LimeBanner; - case 596: return Item::LimeBed; - case 287: return Item::LimeCarpet; - case 400: return Item::LimeConcrete; - case 416: return Item::LimeConcretePowder; - case 582: return Item::LimeDye; - case 384: return Item::LimeGlazedTerracotta; - case 368: return Item::LimeShulkerBox; - case 316: return Item::LimeStainedGlass; - case 332: return Item::LimeStainedGlassPane; - case 268: return Item::LimeTerracotta; - case 87: return Item::LimeWool; - case 756: return Item::LingeringPotion; - case 652: return Item::LlamaSpawnEgg; - case 732: return Item::MagentaBanner; - case 593: return Item::MagentaBed; - case 284: return Item::MagentaCarpet; - case 397: return Item::MagentaConcrete; - case 413: return Item::MagentaConcretePowder; - case 585: return Item::MagentaDye; - case 381: return Item::MagentaGlazedTerracotta; - case 365: return Item::MagentaShulkerBox; - case 313: return Item::MagentaStainedGlass; - case 329: return Item::MagentaStainedGlassPane; - case 265: return Item::MagentaTerracotta; - case 84: return Item::MagentaWool; - case 356: return Item::MagmaBlock; - case 629: return Item::MagmaCream; - case 653: return Item::MagmaCubeSpawnEgg; - case 696: return Item::Map; - case 208: return Item::Melon; - case 613: return Item::MelonSeeds; - case 610: return Item::MelonSlice; - case 546: return Item::MilkBucket; - case 540: return Item::Minecart; - case 654: return Item::MooshroomSpawnEgg; - case 138: return Item::MossyCobblestone; - case 240: return Item::MossyCobblestoneWall; - case 200: return Item::MossyStoneBricks; - case 655: return Item::MuleSpawnEgg; - case 205: return Item::MushroomStem; - case 494: return Item::MushroomStew; - case 779: return Item::MusicDisc11; - case 769: return Item::MusicDisc13; - case 771: return Item::MusicDiscBlocks; - case 770: return Item::MusicDiscCat; - case 772: return Item::MusicDiscChirp; - case 773: return Item::MusicDiscFar; - case 774: return Item::MusicDiscMall; - case 775: return Item::MusicDiscMellohi; - case 776: return Item::MusicDiscStal; - case 777: return Item::MusicDiscStrad; - case 780: return Item::MusicDiscWait; - case 778: return Item::MusicDiscWard; - case 728: return Item::Mutton; - case 218: return Item::Mycelium; - case 726: return Item::NameTag; - case 783: return Item::NautilusShell; - case 710: return Item::NetherBrick; - case 221: return Item::NetherBrickFence; - case 124: return Item::NetherBrickSlab; - case 222: return Item::NetherBrickStairs; - case 220: return Item::NetherBricks; - case 255: return Item::NetherQuartzOre; - case 705: return Item::NetherStar; - case 623: return Item::NetherWart; - case 357: return Item::NetherWartBlock; - case 183: return Item::Netherrack; - case 71: return Item::NoteBlock; - case 544: return Item::OakBoat; - case 241: return Item::OakButton; - case 456: return Item::OakDoor; - case 175: return Item::OakFence; - case 210: return Item::OakFenceGate; - case 56: return Item::OakLeaves; - case 32: return Item::OakLog; - case 13: return Item::OakPlanks; - case 160: return Item::OakPressurePlate; - case 19: return Item::OakSapling; - case 112: return Item::OakSlab; - case 148: return Item::OakStairs; - case 187: return Item::OakTrapdoor; - case 50: return Item::OakWood; - case 361: return Item::Observer; - case 139: return Item::Obsidian; - case 656: return Item::OcelotSpawnEgg; - case 731: return Item::OrangeBanner; - case 592: return Item::OrangeBed; - case 283: return Item::OrangeCarpet; - case 396: return Item::OrangeConcrete; - case 412: return Item::OrangeConcretePowder; - case 586: return Item::OrangeDye; - case 380: return Item::OrangeGlazedTerracotta; - case 364: return Item::OrangeShulkerBox; - case 312: return Item::OrangeStainedGlass; - case 328: return Item::OrangeStainedGlassPane; - case 264: return Item::OrangeTerracotta; - case 104: return Item::OrangeTulip; - case 83: return Item::OrangeWool; - case 107: return Item::OxeyeDaisy; - case 300: return Item::PackedIce; - case 533: return Item::Painting; - case 556: return Item::Paper; - case 657: return Item::ParrotSpawnEgg; - case 308: return Item::Peony; - case 120: return Item::PetrifiedOakSlab; - case 782: return Item::PhantomMembrane; - case 658: return Item::PhantomSpawnEgg; - case 659: return Item::PigSpawnEgg; - case 736: return Item::PinkBanner; - case 597: return Item::PinkBed; - case 288: return Item::PinkCarpet; - case 401: return Item::PinkConcrete; - case 417: return Item::PinkConcretePowder; - case 581: return Item::PinkDye; - case 385: return Item::PinkGlazedTerracotta; - case 369: return Item::PinkShulkerBox; - case 317: return Item::PinkStainedGlass; - case 333: return Item::PinkStainedGlassPane; - case 269: return Item::PinkTerracotta; - case 106: return Item::PinkTulip; - case 88: return Item::PinkWool; - case 81: return Item::Piston; - case 700: return Item::PlayerHead; - case 11: return Item::Podzol; - case 695: return Item::PoisonousPotato; - case 660: return Item::PolarBearSpawnEgg; - case 7: return Item::PolishedAndesite; - case 5: return Item::PolishedDiorite; - case 3: return Item::PolishedGranite; - case 748: return Item::PoppedChorusFruit; - case 99: return Item::Poppy; - case 531: return Item::Porkchop; - case 693: return Item::Potato; - case 624: return Item::Potion; - case 72: return Item::PoweredRail; - case 343: return Item::Prismarine; - case 129: return Item::PrismarineBrickSlab; - case 347: return Item::PrismarineBrickStairs; - case 344: return Item::PrismarineBricks; - case 715: return Item::PrismarineCrystals; - case 714: return Item::PrismarineShard; - case 128: return Item::PrismarineSlab; - case 346: return Item::PrismarineStairs; - case 569: return Item::Pufferfish; - case 547: return Item::PufferfishBucket; - case 661: return Item::PufferfishSpawnEgg; - case 181: return Item::Pumpkin; - case 706: return Item::PumpkinPie; - case 612: return Item::PumpkinSeeds; - case 740: return Item::PurpleBanner; - case 601: return Item::PurpleBed; - case 292: return Item::PurpleCarpet; - case 405: return Item::PurpleConcrete; - case 421: return Item::PurpleConcretePowder; - case 577: return Item::PurpleDye; - case 389: return Item::PurpleGlazedTerracotta; - case 373: return Item::PurpleShulkerBox; - case 321: return Item::PurpleStainedGlass; - case 337: return Item::PurpleStainedGlassPane; - case 273: return Item::PurpleTerracotta; - case 92: return Item::PurpleWool; - case 144: return Item::PurpurBlock; - case 145: return Item::PurpurPillar; - case 127: return Item::PurpurSlab; - case 146: return Item::PurpurStairs; - case 711: return Item::Quartz; - case 258: return Item::QuartzBlock; - case 259: return Item::QuartzPillar; - case 125: return Item::QuartzSlab; - case 260: return Item::QuartzStairs; - case 716: return Item::Rabbit; - case 719: return Item::RabbitFoot; - case 720: return Item::RabbitHide; - case 662: return Item::RabbitSpawnEgg; - case 718: return Item::RabbitStew; - case 156: return Item::Rail; - case 744: return Item::RedBanner; - case 605: return Item::RedBed; - case 296: return Item::RedCarpet; - case 409: return Item::RedConcrete; - case 425: return Item::RedConcretePowder; - case 393: return Item::RedGlazedTerracotta; - case 109: return Item::RedMushroom; - case 204: return Item::RedMushroomBlock; - case 358: return Item::RedNetherBricks; - case 27: return Item::RedSand; - case 350: return Item::RedSandstone; - case 126: return Item::RedSandstoneSlab; - case 353: return Item::RedSandstoneStairs; - case 377: return Item::RedShulkerBox; - case 325: return Item::RedStainedGlass; - case 341: return Item::RedStainedGlassPane; - case 277: return Item::RedTerracotta; - case 103: return Item::RedTulip; - case 96: return Item::RedWool; - case 542: return Item::Redstone; - case 254: return Item::RedstoneBlock; - case 228: return Item::RedstoneLamp; - case 166: return Item::RedstoneOre; - case 167: return Item::RedstoneTorch; - case 462: return Item::Repeater; - case 354: return Item::RepeatingCommandBlock; - case 307: return Item::RoseBush; - case 573: return Item::RedDye; - case 618: return Item::RottenFlesh; - case 541: return Item::Saddle; - case 567: return Item::Salmon; - case 548: return Item::SalmonBucket; - case 663: return Item::SalmonSpawnEgg; - case 26: return Item::Sand; - case 68: return Item::Sandstone; - case 119: return Item::SandstoneSlab; - case 229: return Item::SandstoneStairs; - case 466: return Item::Scute; - case 349: return Item::SeaLantern; - case 80: return Item::SeaPickle; - case 79: return Item::Seagrass; - case 609: return Item::Shears; - case 664: return Item::SheepSpawnEgg; - case 757: return Item::Shield; - case 362: return Item::ShulkerBox; - case 765: return Item::ShulkerShell; - case 665: return Item::ShulkerSpawnEgg; - case 536: return Item::OakSign; - case 666: return Item::SilverfishSpawnEgg; - case 668: return Item::SkeletonHorseSpawnEgg; - case 698: return Item::SkeletonSkull; - case 667: return Item::SkeletonSpawnEgg; - case 558: return Item::SlimeBall; - case 303: return Item::SlimeBlock; - case 669: return Item::SlimeSpawnEgg; - case 131: return Item::SmoothQuartz; - case 132: return Item::SmoothRedSandstone; - case 133: return Item::SmoothSandstone; - case 134: return Item::SmoothStone; - case 169: return Item::Snow; - case 171: return Item::SnowBlock; - case 543: return Item::Snowball; - case 184: return Item::SoulSand; - case 147: return Item::Spawner; - case 754: return Item::SpectralArrow; - case 626: return Item::SpiderEye; - case 670: return Item::SpiderSpawnEgg; - case 753: return Item::SplashPotion; - case 62: return Item::Sponge; - case 759: return Item::SpruceBoat; - case 242: return Item::SpruceButton; - case 457: return Item::SpruceDoor; - case 176: return Item::SpruceFence; - case 211: return Item::SpruceFenceGate; - case 57: return Item::SpruceLeaves; - case 33: return Item::SpruceLog; - case 14: return Item::SprucePlanks; - case 161: return Item::SprucePressurePlate; - case 20: return Item::SpruceSapling; - case 113: return Item::SpruceSlab; - case 234: return Item::SpruceStairs; - case 188: return Item::SpruceTrapdoor; - case 51: return Item::SpruceWood; - case 671: return Item::SquidSpawnEgg; - case 492: return Item::Stick; - case 74: return Item::StickyPiston; - case 1: return Item::Stone; - case 487: return Item::StoneAxe; - case 123: return Item::StoneBrickSlab; - case 217: return Item::StoneBrickStairs; - case 199: return Item::StoneBricks; - case 168: return Item::StoneButton; - case 503: return Item::StoneHoe; - case 486: return Item::StonePickaxe; - case 159: return Item::StonePressurePlate; - case 485: return Item::StoneShovel; - case 118: return Item::StoneSlab; - case 484: return Item::StoneSword; - case 672: return Item::StraySpawnEgg; - case 499: return Item::String; - case 42: return Item::StrippedAcaciaLog; - case 48: return Item::StrippedAcaciaWood; - case 40: return Item::StrippedBirchLog; - case 46: return Item::StrippedBirchWood; - case 43: return Item::StrippedDarkOakLog; - case 49: return Item::StrippedDarkOakWood; - case 41: return Item::StrippedJungleLog; - case 47: return Item::StrippedJungleWood; - case 38: return Item::StrippedOakLog; - case 44: return Item::StrippedOakWood; - case 39: return Item::StrippedSpruceLog; - case 45: return Item::StrippedSpruceWood; - case 464: return Item::StructureBlock; - case 360: return Item::StructureVoid; - case 589: return Item::Sugar; - case 553: return Item::SugarCane; - case 305: return Item::Sunflower; - case 309: return Item::TallGrass; - case 298: return Item::Terracotta; - case 755: return Item::TippedArrow; - case 136: return Item::TNT; - case 712: return Item::TNTMinecart; - case 140: return Item::Torch; - case 764: return Item::TotemOfUndying; - case 250: return Item::TrappedChest; - case 781: return Item::Trident; - case 232: return Item::TripwireHook; - case 568: return Item::TropicalFish; - case 550: return Item::TropicalFishBucket; - case 673: return Item::TropicalFishSpawnEgg; - case 438: return Item::TubeCoral; - case 433: return Item::TubeCoralBlock; - case 443: return Item::TubeCoralFan; - case 427: return Item::TurtleEgg; - case 465: return Item::TurtleHelmet; - case 674: return Item::TurtleSpawnEgg; - case 675: return Item::VexSpawnEgg; - case 676: return Item::VillagerSpawnEgg; - case 677: return Item::VindicatorSpawnEgg; - case 209: return Item::Vine; - case 538: return Item::WaterBucket; - case 63: return Item::WetSponge; - case 508: return Item::Wheat; - case 507: return Item::WheatSeeds; - case 730: return Item::WhiteBanner; - case 591: return Item::WhiteBed; - case 282: return Item::WhiteCarpet; - case 395: return Item::WhiteConcrete; - case 411: return Item::WhiteConcretePowder; - case 379: return Item::WhiteGlazedTerracotta; - case 363: return Item::WhiteShulkerBox; - case 311: return Item::WhiteStainedGlass; - case 327: return Item::WhiteStainedGlassPane; - case 263: return Item::WhiteTerracotta; - case 105: return Item::WhiteTulip; - case 82: return Item::WhiteWool; - case 678: return Item::WitchSpawnEgg; - case 699: return Item::WitherSkeletonSkull; - case 679: return Item::WitherSkeletonSpawnEgg; - case 680: return Item::WolfSpawnEgg; - case 483: return Item::WoodenAxe; - case 502: return Item::WoodenHoe; - case 482: return Item::WoodenPickaxe; - case 481: return Item::WoodenShovel; - case 480: return Item::WoodenSword; - case 687: return Item::WritableBook; - case 688: return Item::WrittenBook; - case 734: return Item::YellowBanner; - case 595: return Item::YellowBed; - case 286: return Item::YellowCarpet; - case 399: return Item::YellowConcrete; - case 415: return Item::YellowConcretePowder; - case 383: return Item::YellowGlazedTerracotta; - case 367: return Item::YellowShulkerBox; - case 315: return Item::YellowStainedGlass; - case 331: return Item::YellowStainedGlassPane; - case 267: return Item::YellowTerracotta; - case 86: return Item::YellowWool; - case 701: return Item::ZombieHead; - case 682: return Item::ZombieHorseSpawnEgg; - case 683: return Item::ZombiePigmanSpawnEgg; - case 681: return Item::ZombieSpawnEgg; - case 684: return Item::ZombieVillagerSpawnEgg; - default: return Item::Air; - } + case 762: return Item::AcaciaBoat; + case 245: return Item::AcaciaButton; + case 460: return Item::AcaciaDoor; + case 179: return Item::AcaciaFence; + case 214: return Item::AcaciaFenceGate; + case 60: return Item::AcaciaLeaves; + case 36: return Item::AcaciaLog; + case 17: return Item::AcaciaPlanks; + case 164: return Item::AcaciaPressurePlate; + case 23: return Item::AcaciaSapling; + case 116: return Item::AcaciaSlab; + case 301: return Item::AcaciaStairs; + case 191: return Item::AcaciaTrapdoor; + case 54: return Item::AcaciaWood; + case 261: return Item::ActivatorRail; + case -0: return Item::Air; + case 101: return Item::Allium; + case 6: return Item::Andesite; + case 247: return Item::Anvil; + case 471: return Item::Apple; + case 721: return Item::ArmorStand; + case 473: return Item::Arrow; + case 102: return Item::AzureBluet; + case 694: return Item::BakedPotato; + case 279: return Item::Barrier; + case 634: return Item::BatSpawnEgg; + case 238: return Item::Beacon; + case 25: return Item::Bedrock; + case 614: return Item::Beef; + case 749: return Item::Beetroot; + case 750: return Item::BeetrootSeeds; + case 751: return Item::BeetrootSoup; + case 760: return Item::BirchBoat; + case 243: return Item::BirchButton; + case 458: return Item::BirchDoor; + case 177: return Item::BirchFence; + case 212: return Item::BirchFenceGate; + case 58: return Item::BirchLeaves; + case 34: return Item::BirchLog; + case 15: return Item::BirchPlanks; + case 162: return Item::BirchPressurePlate; + case 21: return Item::BirchSapling; + case 114: return Item::BirchSlab; + case 235: return Item::BirchStairs; + case 189: return Item::BirchTrapdoor; + case 52: return Item::BirchWood; + case 745: return Item::BlackBanner; + case 606: return Item::BlackBed; + case 297: return Item::BlackCarpet; + case 410: return Item::BlackConcrete; + case 426: return Item::BlackConcretePowder; + case 394: return Item::BlackGlazedTerracotta; + case 378: return Item::BlackShulkerBox; + case 326: return Item::BlackStainedGlass; + case 342: return Item::BlackStainedGlassPane; + case 278: return Item::BlackTerracotta; + case 97: return Item::BlackWool; + case 628: return Item::BlazePowder; + case 620: return Item::BlazeRod; + case 635: return Item::BlazeSpawnEgg; + case 741: return Item::BlueBanner; + case 602: return Item::BlueBed; + case 293: return Item::BlueCarpet; + case 406: return Item::BlueConcrete; + case 422: return Item::BlueConcretePowder; + case 390: return Item::BlueGlazedTerracotta; + case 453: return Item::BlueIce; + case 100: return Item::BlueOrchid; + case 374: return Item::BlueShulkerBox; + case 322: return Item::BlueStainedGlass; + case 338: return Item::BlueStainedGlassPane; + case 274: return Item::BlueTerracotta; + case 93: return Item::BlueWool; + case 588: return Item::Bone; + case 359: return Item::BoneBlock; + case 587: return Item::BoneMeal; + case 557: return Item::Book; + case 137: return Item::Bookshelf; + case 472: return Item::Bow; + case 493: return Item::Bowl; + case 439: return Item::BrainCoral; + case 434: return Item::BrainCoralBlock; + case 444: return Item::BrainCoralFan; + case 509: return Item::Bread; + case 630: return Item::BrewingStand; + case 551: return Item::Brick; + case 122: return Item::BrickSlab; + case 216: return Item::BrickStairs; + case 135: return Item::Bricks; + case 742: return Item::BrownBanner; + case 603: return Item::BrownBed; + case 294: return Item::BrownCarpet; + case 407: return Item::BrownConcrete; + case 423: return Item::BrownConcretePowder; + case 391: return Item::BrownGlazedTerracotta; + case 108: return Item::BrownMushroom; + case 203: return Item::BrownMushroomBlock; + case 375: return Item::BrownShulkerBox; + case 323: return Item::BrownStainedGlass; + case 339: return Item::BrownStainedGlassPane; + case 275: return Item::BrownTerracotta; + case 94: return Item::BrownWool; + case 440: return Item::BubbleCoral; + case 435: return Item::BubbleCoralBlock; + case 445: return Item::BubbleCoralFan; + case 537: return Item::Bucket; + case 172: return Item::Cactus; + case 574: return Item::GreenDye; + case 590: return Item::Cake; + case 692: return Item::Carrot; + case 704: return Item::CarrotOnAStick; + case 182: return Item::CarvedPumpkin; + case 631: return Item::Cauldron; + case 636: return Item::CaveSpiderSpawnEgg; + case 355: return Item::ChainCommandBlock; + case 517: return Item::ChainmailBoots; + case 515: return Item::ChainmailChestplate; + case 514: return Item::ChainmailHelmet; + case 516: return Item::ChainmailLeggings; + case 475: return Item::Charcoal; + case 149: return Item::Chest; + case 559: return Item::ChestMinecart; + case 616: return Item::Chicken; + case 637: return Item::ChickenSpawnEgg; + case 248: return Item::ChippedAnvil; + case 257: return Item::ChiseledQuartzBlock; + case 351: return Item::ChiseledRedSandstone; + case 69: return Item::ChiseledSandstone; + case 202: return Item::ChiseledStoneBricks; + case 143: return Item::ChorusFlower; + case 747: return Item::ChorusFruit; + case 142: return Item::ChorusPlant; + case 173: return Item::Clay; + case 552: return Item::ClayBall; + case 564: return Item::Clock; + case 474: return Item::Coal; + case 299: return Item::CoalBlock; + case 31: return Item::CoalOre; + case 10: return Item::CoarseDirt; + case 12: return Item::Cobblestone; + case 121: return Item::CobblestoneSlab; + case 157: return Item::CobblestoneStairs; + case 239: return Item::CobblestoneWall; + case 75: return Item::Cobweb; + case 575: return Item::CocoaBeans; + case 566: return Item::Cod; + case 549: return Item::CodBucket; + case 638: return Item::CodSpawnEgg; + case 237: return Item::CommandBlock; + case 727: return Item::CommandBlockMinecart; + case 463: return Item::Comparator; + case 562: return Item::Compass; + case 454: return Item::Conduit; + case 615: return Item::CookedBeef; + case 617: return Item::CookedChicken; + case 570: return Item::CookedCod; + case 729: return Item::CookedMutton; + case 532: return Item::CookedPorkchop; + case 717: return Item::CookedRabbit; + case 571: return Item::CookedSalmon; + case 607: return Item::Cookie; + case 639: return Item::CowSpawnEgg; + case 201: return Item::CrackedStoneBricks; + case 152: return Item::CraftingTable; + case 702: return Item::CreeperHead; + case 640: return Item::CreeperSpawnEgg; + case 352: return Item::CutRedSandstone; + case 70: return Item::CutSandstone; + case 739: return Item::CyanBanner; + case 600: return Item::CyanBed; + case 291: return Item::CyanCarpet; + case 404: return Item::CyanConcrete; + case 420: return Item::CyanConcretePowder; + case 578: return Item::CyanDye; + case 388: return Item::CyanGlazedTerracotta; + case 372: return Item::CyanShulkerBox; + case 320: return Item::CyanStainedGlass; + case 336: return Item::CyanStainedGlassPane; + case 272: return Item::CyanTerracotta; + case 91: return Item::CyanWool; + case 249: return Item::DamagedAnvil; + case 98: return Item::Dandelion; + case 583: return Item::YellowDye; + case 763: return Item::DarkOakBoat; + case 246: return Item::DarkOakButton; + case 461: return Item::DarkOakDoor; + case 180: return Item::DarkOakFence; + case 215: return Item::DarkOakFenceGate; + case 61: return Item::DarkOakLeaves; + case 37: return Item::DarkOakLog; + case 18: return Item::DarkOakPlanks; + case 165: return Item::DarkOakPressurePlate; + case 24: return Item::DarkOakSapling; + case 117: return Item::DarkOakSlab; + case 302: return Item::DarkOakStairs; + case 192: return Item::DarkOakTrapdoor; + case 55: return Item::DarkOakWood; + case 345: return Item::DarkPrismarine; + case 130: return Item::DarkPrismarineSlab; + case 348: return Item::DarkPrismarineStairs; + case 253: return Item::DaylightDetector; + case 429: return Item::DeadBrainCoralBlock; + case 449: return Item::DeadBrainCoralFan; + case 430: return Item::DeadBubbleCoralBlock; + case 450: return Item::DeadBubbleCoralFan; + case 78: return Item::DeadBush; + case 431: return Item::DeadFireCoralBlock; + case 451: return Item::DeadFireCoralFan; + case 432: return Item::DeadHornCoralBlock; + case 452: return Item::DeadHornCoralFan; + case 428: return Item::DeadTubeCoralBlock; + case 448: return Item::DeadTubeCoralFan; + case 768: return Item::DebugStick; + case 73: return Item::DetectorRail; + case 476: return Item::Diamond; + case 491: return Item::DiamondAxe; + case 151: return Item::DiamondBlock; + case 525: return Item::DiamondBoots; + case 523: return Item::DiamondChestplate; + case 522: return Item::DiamondHelmet; + case 505: return Item::DiamondHoe; + case 724: return Item::DiamondHorseArmor; + case 524: return Item::DiamondLeggings; + case 150: return Item::DiamondOre; + case 490: return Item::DiamondPickaxe; + case 489: return Item::DiamondShovel; + case 488: return Item::DiamondSword; + case 4: return Item::Diorite; + case 9: return Item::Dirt; + case 67: return Item::Dispenser; + case 641: return Item::DolphinSpawnEgg; + case 642: return Item::DonkeySpawnEgg; + case 752: return Item::DragonBreath; + case 227: return Item::DragonEgg; + case 703: return Item::DragonHead; + case 611: return Item::DriedKelp; + case 555: return Item::DriedKelpBlock; + case 262: return Item::Dropper; + case 643: return Item::DrownedSpawnEgg; + case 561: return Item::Egg; + case 644: return Item::ElderGuardianSpawnEgg; + case 758: return Item::Elytra; + case 689: return Item::Emerald; + case 233: return Item::EmeraldBlock; + case 230: return Item::EmeraldOre; + case 709: return Item::EnchantedBook; + case 535: return Item::EnchantedGoldenApple; + case 223: return Item::EnchantingTable; + case 746: return Item::EndCrystal; + case 224: return Item::EndPortalFrame; + case 141: return Item::EndRod; + case 225: return Item::EndStone; + case 226: return Item::EndStoneBricks; + case 231: return Item::EnderChest; + case 632: return Item::EnderEye; + case 619: return Item::EnderPearl; + case 645: return Item::EndermanSpawnEgg; + case 646: return Item::EndermiteSpawnEgg; + case 647: return Item::EvokerSpawnEgg; + case 685: return Item::ExperienceBottle; + case 153: return Item::Farmland; + case 500: return Item::Feather; + case 627: return Item::FermentedSpiderEye; + case 77: return Item::Fern; + case 608: return Item::FilledMap; + case 686: return Item::FireCharge; + case 441: return Item::FireCoral; + case 436: return Item::FireCoralBlock; + case 446: return Item::FireCoralFan; + case 707: return Item::FireworkRocket; + case 708: return Item::FireworkStar; + case 563: return Item::FishingRod; + case 530: return Item::Flint; + case 470: return Item::FlintAndSteel; + case 691: return Item::FlowerPot; + case 154: return Item::Furnace; + case 560: return Item::FurnaceMinecart; + case 648: return Item::GhastSpawnEgg; + case 621: return Item::GhastTear; + case 64: return Item::Glass; + case 625: return Item::GlassBottle; + case 207: return Item::GlassPane; + case 633: return Item::GlisteringMelonSlice; + case 185: return Item::Glowstone; + case 565: return Item::GlowstoneDust; + case 110: return Item::GoldBlock; + case 478: return Item::GoldIngot; + case 622: return Item::GoldNugget; + case 29: return Item::GoldOre; + case 534: return Item::GoldenApple; + case 498: return Item::GoldenAxe; + case 529: return Item::GoldenBoots; + case 697: return Item::GoldenCarrot; + case 527: return Item::GoldenChestplate; + case 526: return Item::GoldenHelmet; + case 506: return Item::GoldenHoe; + case 723: return Item::GoldenHorseArmor; + case 528: return Item::GoldenLeggings; + case 497: return Item::GoldenPickaxe; + case 496: return Item::GoldenShovel; + case 495: return Item::GoldenSword; + case 2: return Item::Granite; + case 76: return Item::Grass; + case 8: return Item::GrassBlock; + case 304: return Item::GrassPath; + case 28: return Item::Gravel; + case 737: return Item::GrayBanner; + case 598: return Item::GrayBed; + case 289: return Item::GrayCarpet; + case 402: return Item::GrayConcrete; + case 418: return Item::GrayConcretePowder; + case 580: return Item::GrayDye; + case 386: return Item::GrayGlazedTerracotta; + case 370: return Item::GrayShulkerBox; + case 318: return Item::GrayStainedGlass; + case 334: return Item::GrayStainedGlassPane; + case 270: return Item::GrayTerracotta; + case 89: return Item::GrayWool; + case 743: return Item::GreenBanner; + case 604: return Item::GreenBed; + case 295: return Item::GreenCarpet; + case 408: return Item::GreenConcrete; + case 424: return Item::GreenConcretePowder; + case 392: return Item::GreenGlazedTerracotta; + case 376: return Item::GreenShulkerBox; + case 324: return Item::GreenStainedGlass; + case 340: return Item::GreenStainedGlassPane; + case 276: return Item::GreenTerracotta; + case 95: return Item::GreenWool; + case 649: return Item::GuardianSpawnEgg; + case 501: return Item::Gunpowder; + case 281: return Item::HayBale; + case 784: return Item::HeartOfTheSea; + case 252: return Item::HeavyWeightedPressurePlate; + case 256: return Item::Hopper; + case 713: return Item::HopperMinecart; + case 442: return Item::HornCoral; + case 437: return Item::HornCoralBlock; + case 447: return Item::HornCoralFan; + case 650: return Item::HorseSpawnEgg; + case 651: return Item::HuskSpawnEgg; + case 170: return Item::Ice; + case 198: return Item::InfestedChiseledStoneBricks; + case 194: return Item::InfestedCobblestone; + case 197: return Item::InfestedCrackedStoneBricks; + case 196: return Item::InfestedMossyStoneBricks; + case 193: return Item::InfestedStone; + case 195: return Item::InfestedStoneBricks; + case 572: return Item::InkSac; + case 469: return Item::IronAxe; + case 206: return Item::IronBars; + case 111: return Item::IronBlock; + case 521: return Item::IronBoots; + case 519: return Item::IronChestplate; + case 455: return Item::IronDoor; + case 518: return Item::IronHelmet; + case 504: return Item::IronHoe; + case 722: return Item::IronHorseArmor; + case 477: return Item::IronIngot; + case 520: return Item::IronLeggings; + case 766: return Item::IronNugget; + case 30: return Item::IronOre; + case 468: return Item::IronPickaxe; + case 467: return Item::IronShovel; + case 479: return Item::IronSword; + case 280: return Item::IronTrapdoor; + case 690: return Item::ItemFrame; + case 186: return Item::JackOLantern; + case 174: return Item::Jukebox; + case 761: return Item::JungleBoat; + case 244: return Item::JungleButton; + case 459: return Item::JungleDoor; + case 178: return Item::JungleFence; + case 213: return Item::JungleFenceGate; + case 59: return Item::JungleLeaves; + case 35: return Item::JungleLog; + case 16: return Item::JunglePlanks; + case 163: return Item::JunglePressurePlate; + case 22: return Item::JungleSapling; + case 115: return Item::JungleSlab; + case 236: return Item::JungleStairs; + case 190: return Item::JungleTrapdoor; + case 53: return Item::JungleWood; + case 554: return Item::Kelp; + case 767: return Item::KnowledgeBook; + case 155: return Item::Ladder; + case 66: return Item::LapisBlock; + case 576: return Item::LapisLazuli; + case 65: return Item::LapisOre; + case 310: return Item::LargeFern; + case 539: return Item::LavaBucket; + case 725: return Item::Lead; + case 545: return Item::Leather; + case 513: return Item::LeatherBoots; + case 511: return Item::LeatherChestplate; + case 510: return Item::LeatherHelmet; + case 512: return Item::LeatherLeggings; + case 158: return Item::Lever; + case 733: return Item::LightBlueBanner; + case 594: return Item::LightBlueBed; + case 285: return Item::LightBlueCarpet; + case 398: return Item::LightBlueConcrete; + case 414: return Item::LightBlueConcretePowder; + case 584: return Item::LightBlueDye; + case 382: return Item::LightBlueGlazedTerracotta; + case 366: return Item::LightBlueShulkerBox; + case 314: return Item::LightBlueStainedGlass; + case 330: return Item::LightBlueStainedGlassPane; + case 266: return Item::LightBlueTerracotta; + case 85: return Item::LightBlueWool; + case 738: return Item::LightGrayBanner; + case 599: return Item::LightGrayBed; + case 290: return Item::LightGrayCarpet; + case 403: return Item::LightGrayConcrete; + case 419: return Item::LightGrayConcretePowder; + case 579: return Item::LightGrayDye; + case 387: return Item::LightGrayGlazedTerracotta; + case 371: return Item::LightGrayShulkerBox; + case 319: return Item::LightGrayStainedGlass; + case 335: return Item::LightGrayStainedGlassPane; + case 271: return Item::LightGrayTerracotta; + case 90: return Item::LightGrayWool; + case 251: return Item::LightWeightedPressurePlate; + case 306: return Item::Lilac; + case 219: return Item::LilyPad; + case 735: return Item::LimeBanner; + case 596: return Item::LimeBed; + case 287: return Item::LimeCarpet; + case 400: return Item::LimeConcrete; + case 416: return Item::LimeConcretePowder; + case 582: return Item::LimeDye; + case 384: return Item::LimeGlazedTerracotta; + case 368: return Item::LimeShulkerBox; + case 316: return Item::LimeStainedGlass; + case 332: return Item::LimeStainedGlassPane; + case 268: return Item::LimeTerracotta; + case 87: return Item::LimeWool; + case 756: return Item::LingeringPotion; + case 652: return Item::LlamaSpawnEgg; + case 732: return Item::MagentaBanner; + case 593: return Item::MagentaBed; + case 284: return Item::MagentaCarpet; + case 397: return Item::MagentaConcrete; + case 413: return Item::MagentaConcretePowder; + case 585: return Item::MagentaDye; + case 381: return Item::MagentaGlazedTerracotta; + case 365: return Item::MagentaShulkerBox; + case 313: return Item::MagentaStainedGlass; + case 329: return Item::MagentaStainedGlassPane; + case 265: return Item::MagentaTerracotta; + case 84: return Item::MagentaWool; + case 356: return Item::MagmaBlock; + case 629: return Item::MagmaCream; + case 653: return Item::MagmaCubeSpawnEgg; + case 696: return Item::Map; + case 208: return Item::Melon; + case 613: return Item::MelonSeeds; + case 610: return Item::MelonSlice; + case 546: return Item::MilkBucket; + case 540: return Item::Minecart; + case 654: return Item::MooshroomSpawnEgg; + case 138: return Item::MossyCobblestone; + case 240: return Item::MossyCobblestoneWall; + case 200: return Item::MossyStoneBricks; + case 655: return Item::MuleSpawnEgg; + case 205: return Item::MushroomStem; + case 494: return Item::MushroomStew; + case 779: return Item::MusicDisc11; + case 769: return Item::MusicDisc13; + case 771: return Item::MusicDiscBlocks; + case 770: return Item::MusicDiscCat; + case 772: return Item::MusicDiscChirp; + case 773: return Item::MusicDiscFar; + case 774: return Item::MusicDiscMall; + case 775: return Item::MusicDiscMellohi; + case 776: return Item::MusicDiscStal; + case 777: return Item::MusicDiscStrad; + case 780: return Item::MusicDiscWait; + case 778: return Item::MusicDiscWard; + case 728: return Item::Mutton; + case 218: return Item::Mycelium; + case 726: return Item::NameTag; + case 783: return Item::NautilusShell; + case 710: return Item::NetherBrick; + case 221: return Item::NetherBrickFence; + case 124: return Item::NetherBrickSlab; + case 222: return Item::NetherBrickStairs; + case 220: return Item::NetherBricks; + case 255: return Item::NetherQuartzOre; + case 705: return Item::NetherStar; + case 623: return Item::NetherWart; + case 357: return Item::NetherWartBlock; + case 183: return Item::Netherrack; + case 71: return Item::NoteBlock; + case 544: return Item::OakBoat; + case 241: return Item::OakButton; + case 456: return Item::OakDoor; + case 175: return Item::OakFence; + case 210: return Item::OakFenceGate; + case 56: return Item::OakLeaves; + case 32: return Item::OakLog; + case 13: return Item::OakPlanks; + case 160: return Item::OakPressurePlate; + case 19: return Item::OakSapling; + case 112: return Item::OakSlab; + case 148: return Item::OakStairs; + case 187: return Item::OakTrapdoor; + case 50: return Item::OakWood; + case 361: return Item::Observer; + case 139: return Item::Obsidian; + case 656: return Item::OcelotSpawnEgg; + case 731: return Item::OrangeBanner; + case 592: return Item::OrangeBed; + case 283: return Item::OrangeCarpet; + case 396: return Item::OrangeConcrete; + case 412: return Item::OrangeConcretePowder; + case 586: return Item::OrangeDye; + case 380: return Item::OrangeGlazedTerracotta; + case 364: return Item::OrangeShulkerBox; + case 312: return Item::OrangeStainedGlass; + case 328: return Item::OrangeStainedGlassPane; + case 264: return Item::OrangeTerracotta; + case 104: return Item::OrangeTulip; + case 83: return Item::OrangeWool; + case 107: return Item::OxeyeDaisy; + case 300: return Item::PackedIce; + case 533: return Item::Painting; + case 556: return Item::Paper; + case 657: return Item::ParrotSpawnEgg; + case 308: return Item::Peony; + case 120: return Item::PetrifiedOakSlab; + case 782: return Item::PhantomMembrane; + case 658: return Item::PhantomSpawnEgg; + case 659: return Item::PigSpawnEgg; + case 736: return Item::PinkBanner; + case 597: return Item::PinkBed; + case 288: return Item::PinkCarpet; + case 401: return Item::PinkConcrete; + case 417: return Item::PinkConcretePowder; + case 581: return Item::PinkDye; + case 385: return Item::PinkGlazedTerracotta; + case 369: return Item::PinkShulkerBox; + case 317: return Item::PinkStainedGlass; + case 333: return Item::PinkStainedGlassPane; + case 269: return Item::PinkTerracotta; + case 106: return Item::PinkTulip; + case 88: return Item::PinkWool; + case 81: return Item::Piston; + case 700: return Item::PlayerHead; + case 11: return Item::Podzol; + case 695: return Item::PoisonousPotato; + case 660: return Item::PolarBearSpawnEgg; + case 7: return Item::PolishedAndesite; + case 5: return Item::PolishedDiorite; + case 3: return Item::PolishedGranite; + case 748: return Item::PoppedChorusFruit; + case 99: return Item::Poppy; + case 531: return Item::Porkchop; + case 693: return Item::Potato; + case 624: return Item::Potion; + case 72: return Item::PoweredRail; + case 343: return Item::Prismarine; + case 129: return Item::PrismarineBrickSlab; + case 347: return Item::PrismarineBrickStairs; + case 344: return Item::PrismarineBricks; + case 715: return Item::PrismarineCrystals; + case 714: return Item::PrismarineShard; + case 128: return Item::PrismarineSlab; + case 346: return Item::PrismarineStairs; + case 569: return Item::Pufferfish; + case 547: return Item::PufferfishBucket; + case 661: return Item::PufferfishSpawnEgg; + case 181: return Item::Pumpkin; + case 706: return Item::PumpkinPie; + case 612: return Item::PumpkinSeeds; + case 740: return Item::PurpleBanner; + case 601: return Item::PurpleBed; + case 292: return Item::PurpleCarpet; + case 405: return Item::PurpleConcrete; + case 421: return Item::PurpleConcretePowder; + case 577: return Item::PurpleDye; + case 389: return Item::PurpleGlazedTerracotta; + case 373: return Item::PurpleShulkerBox; + case 321: return Item::PurpleStainedGlass; + case 337: return Item::PurpleStainedGlassPane; + case 273: return Item::PurpleTerracotta; + case 92: return Item::PurpleWool; + case 144: return Item::PurpurBlock; + case 145: return Item::PurpurPillar; + case 127: return Item::PurpurSlab; + case 146: return Item::PurpurStairs; + case 711: return Item::Quartz; + case 258: return Item::QuartzBlock; + case 259: return Item::QuartzPillar; + case 125: return Item::QuartzSlab; + case 260: return Item::QuartzStairs; + case 716: return Item::Rabbit; + case 719: return Item::RabbitFoot; + case 720: return Item::RabbitHide; + case 662: return Item::RabbitSpawnEgg; + case 718: return Item::RabbitStew; + case 156: return Item::Rail; + case 744: return Item::RedBanner; + case 605: return Item::RedBed; + case 296: return Item::RedCarpet; + case 409: return Item::RedConcrete; + case 425: return Item::RedConcretePowder; + case 393: return Item::RedGlazedTerracotta; + case 109: return Item::RedMushroom; + case 204: return Item::RedMushroomBlock; + case 358: return Item::RedNetherBricks; + case 27: return Item::RedSand; + case 350: return Item::RedSandstone; + case 126: return Item::RedSandstoneSlab; + case 353: return Item::RedSandstoneStairs; + case 377: return Item::RedShulkerBox; + case 325: return Item::RedStainedGlass; + case 341: return Item::RedStainedGlassPane; + case 277: return Item::RedTerracotta; + case 103: return Item::RedTulip; + case 96: return Item::RedWool; + case 542: return Item::Redstone; + case 254: return Item::RedstoneBlock; + case 228: return Item::RedstoneLamp; + case 166: return Item::RedstoneOre; + case 167: return Item::RedstoneTorch; + case 462: return Item::Repeater; + case 354: return Item::RepeatingCommandBlock; + case 307: return Item::RoseBush; + case 573: return Item::RedDye; + case 618: return Item::RottenFlesh; + case 541: return Item::Saddle; + case 567: return Item::Salmon; + case 548: return Item::SalmonBucket; + case 663: return Item::SalmonSpawnEgg; + case 26: return Item::Sand; + case 68: return Item::Sandstone; + case 119: return Item::SandstoneSlab; + case 229: return Item::SandstoneStairs; + case 466: return Item::Scute; + case 349: return Item::SeaLantern; + case 80: return Item::SeaPickle; + case 79: return Item::Seagrass; + case 609: return Item::Shears; + case 664: return Item::SheepSpawnEgg; + case 757: return Item::Shield; + case 362: return Item::ShulkerBox; + case 765: return Item::ShulkerShell; + case 665: return Item::ShulkerSpawnEgg; + case 536: return Item::OakSign; + case 666: return Item::SilverfishSpawnEgg; + case 668: return Item::SkeletonHorseSpawnEgg; + case 698: return Item::SkeletonSkull; + case 667: return Item::SkeletonSpawnEgg; + case 558: return Item::SlimeBall; + case 303: return Item::SlimeBlock; + case 669: return Item::SlimeSpawnEgg; + case 131: return Item::SmoothQuartz; + case 132: return Item::SmoothRedSandstone; + case 133: return Item::SmoothSandstone; + case 134: return Item::SmoothStone; + case 169: return Item::Snow; + case 171: return Item::SnowBlock; + case 543: return Item::Snowball; + case 184: return Item::SoulSand; + case 147: return Item::Spawner; + case 754: return Item::SpectralArrow; + case 626: return Item::SpiderEye; + case 670: return Item::SpiderSpawnEgg; + case 753: return Item::SplashPotion; + case 62: return Item::Sponge; + case 759: return Item::SpruceBoat; + case 242: return Item::SpruceButton; + case 457: return Item::SpruceDoor; + case 176: return Item::SpruceFence; + case 211: return Item::SpruceFenceGate; + case 57: return Item::SpruceLeaves; + case 33: return Item::SpruceLog; + case 14: return Item::SprucePlanks; + case 161: return Item::SprucePressurePlate; + case 20: return Item::SpruceSapling; + case 113: return Item::SpruceSlab; + case 234: return Item::SpruceStairs; + case 188: return Item::SpruceTrapdoor; + case 51: return Item::SpruceWood; + case 671: return Item::SquidSpawnEgg; + case 492: return Item::Stick; + case 74: return Item::StickyPiston; + case 1: return Item::Stone; + case 487: return Item::StoneAxe; + case 123: return Item::StoneBrickSlab; + case 217: return Item::StoneBrickStairs; + case 199: return Item::StoneBricks; + case 168: return Item::StoneButton; + case 503: return Item::StoneHoe; + case 486: return Item::StonePickaxe; + case 159: return Item::StonePressurePlate; + case 485: return Item::StoneShovel; + case 118: return Item::StoneSlab; + case 484: return Item::StoneSword; + case 672: return Item::StraySpawnEgg; + case 499: return Item::String; + case 42: return Item::StrippedAcaciaLog; + case 48: return Item::StrippedAcaciaWood; + case 40: return Item::StrippedBirchLog; + case 46: return Item::StrippedBirchWood; + case 43: return Item::StrippedDarkOakLog; + case 49: return Item::StrippedDarkOakWood; + case 41: return Item::StrippedJungleLog; + case 47: return Item::StrippedJungleWood; + case 38: return Item::StrippedOakLog; + case 44: return Item::StrippedOakWood; + case 39: return Item::StrippedSpruceLog; + case 45: return Item::StrippedSpruceWood; + case 464: return Item::StructureBlock; + case 360: return Item::StructureVoid; + case 589: return Item::Sugar; + case 553: return Item::SugarCane; + case 305: return Item::Sunflower; + case 309: return Item::TallGrass; + case 298: return Item::Terracotta; + case 755: return Item::TippedArrow; + case 136: return Item::TNT; + case 712: return Item::TNTMinecart; + case 140: return Item::Torch; + case 764: return Item::TotemOfUndying; + case 250: return Item::TrappedChest; + case 781: return Item::Trident; + case 232: return Item::TripwireHook; + case 568: return Item::TropicalFish; + case 550: return Item::TropicalFishBucket; + case 673: return Item::TropicalFishSpawnEgg; + case 438: return Item::TubeCoral; + case 433: return Item::TubeCoralBlock; + case 443: return Item::TubeCoralFan; + case 427: return Item::TurtleEgg; + case 465: return Item::TurtleHelmet; + case 674: return Item::TurtleSpawnEgg; + case 675: return Item::VexSpawnEgg; + case 676: return Item::VillagerSpawnEgg; + case 677: return Item::VindicatorSpawnEgg; + case 209: return Item::Vine; + case 538: return Item::WaterBucket; + case 63: return Item::WetSponge; + case 508: return Item::Wheat; + case 507: return Item::WheatSeeds; + case 730: return Item::WhiteBanner; + case 591: return Item::WhiteBed; + case 282: return Item::WhiteCarpet; + case 395: return Item::WhiteConcrete; + case 411: return Item::WhiteConcretePowder; + case 379: return Item::WhiteGlazedTerracotta; + case 363: return Item::WhiteShulkerBox; + case 311: return Item::WhiteStainedGlass; + case 327: return Item::WhiteStainedGlassPane; + case 263: return Item::WhiteTerracotta; + case 105: return Item::WhiteTulip; + case 82: return Item::WhiteWool; + case 678: return Item::WitchSpawnEgg; + case 699: return Item::WitherSkeletonSkull; + case 679: return Item::WitherSkeletonSpawnEgg; + case 680: return Item::WolfSpawnEgg; + case 483: return Item::WoodenAxe; + case 502: return Item::WoodenHoe; + case 482: return Item::WoodenPickaxe; + case 481: return Item::WoodenShovel; + case 480: return Item::WoodenSword; + case 687: return Item::WritableBook; + case 688: return Item::WrittenBook; + case 734: return Item::YellowBanner; + case 595: return Item::YellowBed; + case 286: return Item::YellowCarpet; + case 399: return Item::YellowConcrete; + case 415: return Item::YellowConcretePowder; + case 383: return Item::YellowGlazedTerracotta; + case 367: return Item::YellowShulkerBox; + case 315: return Item::YellowStainedGlass; + case 331: return Item::YellowStainedGlassPane; + case 267: return Item::YellowTerracotta; + case 86: return Item::YellowWool; + case 701: return Item::ZombieHead; + case 682: return Item::ZombieHorseSpawnEgg; + case 683: return Item::ZombiePigmanSpawnEgg; + case 681: return Item::ZombieSpawnEgg; + case 684: return Item::ZombieVillagerSpawnEgg; + default: return Item::Air; } } +} // namespace Palette_1_13 diff --git a/src/Protocol/Palettes/Palette_1_13.h b/src/Protocol/Palettes/Palette_1_13.h index 52aa70ea2..1b6bd0d8b 100644 --- a/src/Protocol/Palettes/Palette_1_13.h +++ b/src/Protocol/Palettes/Palette_1_13.h @@ -6,8 +6,8 @@ namespace Palette_1_13 { - UInt32 From(BlockState Block); - UInt32 From(Item ID); - UInt32 From(CustomStatistic ID); - Item ToItem(UInt32 ID); -} +UInt32 From(BlockState Block); +UInt32 From(Item ID); +UInt32 From(CustomStatistic ID); +Item ToItem(UInt32 ID); +} // namespace Palette_1_13 diff --git a/src/Protocol/Palettes/Palette_1_13_1.cpp b/src/Protocol/Palettes/Palette_1_13_1.cpp index 1dba4caf8..20adb64c8 100644 --- a/src/Protocol/Palettes/Palette_1_13_1.cpp +++ b/src/Protocol/Palettes/Palette_1_13_1.cpp @@ -5,8732 +5,26240 @@ namespace Palette_1_13_1 { - UInt32 From(const BlockState Block) - { - using namespace Block; +UInt32 From(const BlockState Block) +{ + using namespace Block; - switch (Block.ID) - { - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5400; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5401; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5402; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5403; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5404; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5405; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5406; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5407; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5408; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5409; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5410; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5411; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5412; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5413; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5414; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5415; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5416; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5417; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5418; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5419; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5420; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5421; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5422; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5423; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 7870; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 7871; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 7872; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 7873; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 7874; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 7875; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 7876; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 7877; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 7878; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 7879; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 7880; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 7881; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 7882; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 7883; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 7884; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 7885; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 7886; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 7887; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 7888; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 7889; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 7890; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 7891; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 7892; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 7893; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 7894; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 7895; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 7896; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 7897; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 7898; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 7899; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 7900; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 7901; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 7902; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 7903; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 7904; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 7905; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 7906; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 7907; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 7908; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 7909; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 7910; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 7911; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 7912; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 7913; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 7914; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 7915; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 7916; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 7917; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 7918; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 7919; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 7920; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 7921; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 7922; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 7923; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 7924; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 7925; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 7926; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 7927; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 7928; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 7929; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 7930; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 7931; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 7932; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 7933; - case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 7616; - case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 7617; - case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 7620; - case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 7621; - case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 7624; - case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 7625; - case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 7628; - case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 7629; - case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 7632; - case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 7633; - case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 7636; - case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 7637; - case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 7640; - case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 7641; - case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 7644; - case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 7645; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7454; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7455; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7456; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7457; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7458; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7459; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7460; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7461; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7462; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7463; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7464; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7465; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7466; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7467; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7468; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7469; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7470; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7471; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7472; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7473; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7474; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7475; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7476; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7477; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7478; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7479; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7480; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7481; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7482; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7483; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7484; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7485; - case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 200; - case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 201; - case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 202; - case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 203; - case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 204; - case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 205; - case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 206; - case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 207; - case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 208; - case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 209; - case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 210; - case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 211; - case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 212; - case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 213; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 84; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 85; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 86; - case AcaciaPlanks::AcaciaPlanks().ID: return 19; - case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3376; - case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3377; - case AcaciaSapling::AcaciaSapling(0).ID: return 29; - case AcaciaSapling::AcaciaSapling(1).ID: return 30; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 7283; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 7285; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 7287; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6334; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6336; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6338; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6340; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6342; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6344; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6346; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6348; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6350; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6352; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6354; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6356; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6358; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6360; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6362; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6364; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6366; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6368; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6370; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6372; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6374; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6376; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6378; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6380; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6382; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6384; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6386; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6388; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6390; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6392; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6394; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6396; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6398; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6400; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6402; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6404; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6406; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6408; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6410; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6412; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: return 3851; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: return 3853; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: return 3855; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: return 3857; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 3859; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 3861; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 3863; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 3865; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: return 3867; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: return 3869; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: return 3871; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: return 3873; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 3875; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 3877; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 3879; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 3881; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: return 3883; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: return 3885; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: return 3887; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: return 3889; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 3891; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 3893; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 3895; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 3897; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: return 3899; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: return 3901; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: return 3903; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: return 3905; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 3907; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 3909; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 3911; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 3913; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 120; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 121; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 122; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 5781; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 5782; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 5783; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 5784; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 5785; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 5786; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 5787; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 5788; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 5789; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 5790; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 5791; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 5792; - case Air::Air().ID: return -0; - case Allium::Allium().ID: return 1114; - case Andesite::Andesite().ID: return 6; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5568; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5569; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 5570; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 5571; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4249; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4250; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4251; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4252; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4245; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4246; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4247; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4248; - case AzureBluet::AzureBluet().ID: return 1115; - case Barrier::Barrier().ID: return 6494; - case Beacon::Beacon().ID: return 5137; - case Bedrock::Bedrock().ID: return 33; - case Beetroots::Beetroots(0).ID: return 8159; - case Beetroots::Beetroots(1).ID: return 8160; - case Beetroots::Beetroots(2).ID: return 8161; - case Beetroots::Beetroots(3).ID: return 8162; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5352; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5353; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5354; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5355; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5356; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5357; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5358; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5359; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5360; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5361; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5362; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5363; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5364; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5365; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5366; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5367; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5368; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5369; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5370; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5371; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5372; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5373; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5374; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5375; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 7742; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 7743; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 7744; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 7745; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 7746; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 7747; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 7748; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 7749; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 7750; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 7751; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 7752; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 7753; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 7754; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 7755; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 7756; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 7757; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 7758; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 7759; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 7760; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 7761; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 7762; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 7763; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 7764; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 7765; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 7766; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 7767; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 7768; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 7769; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 7770; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 7771; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 7772; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 7773; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 7774; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 7775; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 7776; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 7777; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 7778; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 7779; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 7780; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 7781; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 7782; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 7783; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 7784; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 7785; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 7786; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 7787; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 7788; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 7789; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 7790; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 7791; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 7792; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 7793; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 7794; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 7795; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 7796; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 7797; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 7798; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 7799; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 7800; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 7801; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 7802; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 7803; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 7804; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 7805; - case BirchFence::BirchFence(true, true, true, true).ID: return 7552; - case BirchFence::BirchFence(true, true, true, false).ID: return 7553; - case BirchFence::BirchFence(true, true, false, true).ID: return 7556; - case BirchFence::BirchFence(true, true, false, false).ID: return 7557; - case BirchFence::BirchFence(true, false, true, true).ID: return 7560; - case BirchFence::BirchFence(true, false, true, false).ID: return 7561; - case BirchFence::BirchFence(true, false, false, true).ID: return 7564; - case BirchFence::BirchFence(true, false, false, false).ID: return 7565; - case BirchFence::BirchFence(false, true, true, true).ID: return 7568; - case BirchFence::BirchFence(false, true, true, false).ID: return 7569; - case BirchFence::BirchFence(false, true, false, true).ID: return 7572; - case BirchFence::BirchFence(false, true, false, false).ID: return 7573; - case BirchFence::BirchFence(false, false, true, true).ID: return 7576; - case BirchFence::BirchFence(false, false, true, false).ID: return 7577; - case BirchFence::BirchFence(false, false, false, true).ID: return 7580; - case BirchFence::BirchFence(false, false, false, false).ID: return 7581; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7390; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7391; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7392; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7393; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7394; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7395; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7396; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7397; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7398; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7399; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7400; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7401; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7402; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7403; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7404; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7405; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7406; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7407; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7408; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7409; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7410; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7411; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7412; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7413; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7414; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7415; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7416; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7417; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7418; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7419; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7420; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7421; - case BirchLeaves::BirchLeaves(1, true).ID: return 172; - case BirchLeaves::BirchLeaves(1, false).ID: return 173; - case BirchLeaves::BirchLeaves(2, true).ID: return 174; - case BirchLeaves::BirchLeaves(2, false).ID: return 175; - case BirchLeaves::BirchLeaves(3, true).ID: return 176; - case BirchLeaves::BirchLeaves(3, false).ID: return 177; - case BirchLeaves::BirchLeaves(4, true).ID: return 178; - case BirchLeaves::BirchLeaves(4, false).ID: return 179; - case BirchLeaves::BirchLeaves(5, true).ID: return 180; - case BirchLeaves::BirchLeaves(5, false).ID: return 181; - case BirchLeaves::BirchLeaves(6, true).ID: return 182; - case BirchLeaves::BirchLeaves(6, false).ID: return 183; - case BirchLeaves::BirchLeaves(7, true).ID: return 184; - case BirchLeaves::BirchLeaves(7, false).ID: return 185; - case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 78; - case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 79; - case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 80; - case BirchPlanks::BirchPlanks().ID: return 17; - case BirchPressurePlate::BirchPressurePlate(true).ID: return 3372; - case BirchPressurePlate::BirchPressurePlate(false).ID: return 3373; - case BirchSapling::BirchSapling(0).ID: return 25; - case BirchSapling::BirchSapling(1).ID: return 26; - case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 7271; - case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 7273; - case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 7275; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 4966; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 4968; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 4970; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 4972; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 4974; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 4976; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 4978; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 4980; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 4982; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 4984; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 4986; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 4988; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 4990; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 4992; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 4994; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 4996; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 4998; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5000; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5002; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5004; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5006; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5008; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5010; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5012; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5014; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5016; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5018; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5020; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5022; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5024; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5026; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5028; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5030; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5032; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5034; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5036; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5038; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5040; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5042; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5044; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: return 3723; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: return 3725; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: return 3727; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: return 3729; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: return 3731; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: return 3733; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: return 3735; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: return 3737; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: return 3739; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: return 3741; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: return 3743; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: return 3745; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: return 3747; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: return 3749; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: return 3751; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: return 3753; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: return 3755; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: return 3757; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: return 3759; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: return 3761; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: return 3763; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: return 3765; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: return 3767; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: return 3769; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: return 3771; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: return 3773; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: return 3775; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: return 3777; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: return 3779; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: return 3781; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: return 3783; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: return 3785; - case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 114; - case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 115; - case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 116; - case BlackBanner::BlackBanner(0).ID: return 7095; - case BlackBanner::BlackBanner(1).ID: return 7096; - case BlackBanner::BlackBanner(2).ID: return 7097; - case BlackBanner::BlackBanner(3).ID: return 7098; - case BlackBanner::BlackBanner(4).ID: return 7099; - case BlackBanner::BlackBanner(5).ID: return 7100; - case BlackBanner::BlackBanner(6).ID: return 7101; - case BlackBanner::BlackBanner(7).ID: return 7102; - case BlackBanner::BlackBanner(8).ID: return 7103; - case BlackBanner::BlackBanner(9).ID: return 7104; - case BlackBanner::BlackBanner(10).ID: return 7105; - case BlackBanner::BlackBanner(11).ID: return 7106; - case BlackBanner::BlackBanner(12).ID: return 7107; - case BlackBanner::BlackBanner(13).ID: return 7108; - case BlackBanner::BlackBanner(14).ID: return 7109; - case BlackBanner::BlackBanner(15).ID: return 7110; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 988; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 989; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 990; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 991; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 992; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 993; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 994; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 995; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 996; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 997; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 998; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 999; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1000; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1001; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1002; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1003; - case BlackCarpet::BlackCarpet().ID: return 6839; - case BlackConcrete::BlackConcrete().ID: return 8393; - case BlackConcretePowder::BlackConcretePowder().ID: return 8409; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8374; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8375; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8376; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8377; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8308; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8309; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8310; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8311; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8312; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8313; - case BlackStainedGlass::BlackStainedGlass().ID: return 3593; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 6303; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 6304; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 6307; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 6308; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 6311; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 6312; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 6315; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 6316; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 6319; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 6320; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 6323; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 6324; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 6327; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 6328; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 6331; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 6332; - case BlackTerracotta::BlackTerracotta().ID: return 5820; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7171; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7172; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7173; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7174; - case BlackWool::BlackWool().ID: return 1098; - case BlueBanner::BlueBanner(0).ID: return 7031; - case BlueBanner::BlueBanner(1).ID: return 7032; - case BlueBanner::BlueBanner(2).ID: return 7033; - case BlueBanner::BlueBanner(3).ID: return 7034; - case BlueBanner::BlueBanner(4).ID: return 7035; - case BlueBanner::BlueBanner(5).ID: return 7036; - case BlueBanner::BlueBanner(6).ID: return 7037; - case BlueBanner::BlueBanner(7).ID: return 7038; - case BlueBanner::BlueBanner(8).ID: return 7039; - case BlueBanner::BlueBanner(9).ID: return 7040; - case BlueBanner::BlueBanner(10).ID: return 7041; - case BlueBanner::BlueBanner(11).ID: return 7042; - case BlueBanner::BlueBanner(12).ID: return 7043; - case BlueBanner::BlueBanner(13).ID: return 7044; - case BlueBanner::BlueBanner(14).ID: return 7045; - case BlueBanner::BlueBanner(15).ID: return 7046; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 924; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 925; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 926; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 927; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 928; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 929; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 930; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 931; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 932; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 933; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 934; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 935; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 936; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 937; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 938; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 939; - case BlueCarpet::BlueCarpet().ID: return 6835; - case BlueConcrete::BlueConcrete().ID: return 8389; - case BlueConcretePowder::BlueConcretePowder().ID: return 8405; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8358; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8359; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8360; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8361; - case BlueIce::BlueIce().ID: return 8588; - case BlueOrchid::BlueOrchid().ID: return 1113; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8284; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8285; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8286; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8287; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8288; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8289; - case BlueStainedGlass::BlueStainedGlass().ID: return 3589; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 6175; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 6176; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 6179; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 6180; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 6183; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 6184; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 6187; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 6188; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 6191; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 6192; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 6195; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 6196; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 6199; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 6200; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 6203; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 6204; - case BlueTerracotta::BlueTerracotta().ID: return 5816; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7155; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7156; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7157; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7158; - case BlueWool::BlueWool().ID: return 1094; - case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 8196; - case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 8197; - case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 8198; - case Bookshelf::Bookshelf().ID: return 1128; - case BrainCoral::BrainCoral().ID: return 8473; - case BrainCoralBlock::BrainCoralBlock().ID: return 8456; - case BrainCoralFan::BrainCoralFan().ID: return 8573; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8529; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8531; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8533; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8535; - case BrewingStand::BrewingStand(true, true, true).ID: return 4614; - case BrewingStand::BrewingStand(true, true, false).ID: return 4615; - case BrewingStand::BrewingStand(true, false, true).ID: return 4616; - case BrewingStand::BrewingStand(true, false, false).ID: return 4617; - case BrewingStand::BrewingStand(false, true, true).ID: return 4618; - case BrewingStand::BrewingStand(false, true, false).ID: return 4619; - case BrewingStand::BrewingStand(false, false, true).ID: return 4620; - case BrewingStand::BrewingStand(false, false, false).ID: return 4621; - case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 7319; - case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 7321; - case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 7323; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4334; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4336; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4338; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4340; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4342; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4344; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4346; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4348; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4350; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4352; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4354; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4356; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4358; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4360; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4362; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4364; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4366; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4368; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4370; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4372; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4374; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4376; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4378; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4380; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4382; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4384; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4386; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4388; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4390; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4392; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4394; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4396; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4398; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4400; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4402; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4404; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4406; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4408; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4410; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4412; - case Bricks::Bricks().ID: return 1125; - case BrownBanner::BrownBanner(0).ID: return 7047; - case BrownBanner::BrownBanner(1).ID: return 7048; - case BrownBanner::BrownBanner(2).ID: return 7049; - case BrownBanner::BrownBanner(3).ID: return 7050; - case BrownBanner::BrownBanner(4).ID: return 7051; - case BrownBanner::BrownBanner(5).ID: return 7052; - case BrownBanner::BrownBanner(6).ID: return 7053; - case BrownBanner::BrownBanner(7).ID: return 7054; - case BrownBanner::BrownBanner(8).ID: return 7055; - case BrownBanner::BrownBanner(9).ID: return 7056; - case BrownBanner::BrownBanner(10).ID: return 7057; - case BrownBanner::BrownBanner(11).ID: return 7058; - case BrownBanner::BrownBanner(12).ID: return 7059; - case BrownBanner::BrownBanner(13).ID: return 7060; - case BrownBanner::BrownBanner(14).ID: return 7061; - case BrownBanner::BrownBanner(15).ID: return 7062; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 940; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 941; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 942; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 943; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 944; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 945; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 946; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 947; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 948; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 949; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 950; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 951; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 952; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 953; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 954; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 955; - case BrownCarpet::BrownCarpet().ID: return 6836; - case BrownConcrete::BrownConcrete().ID: return 8390; - case BrownConcretePowder::BrownConcretePowder().ID: return 8406; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8362; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8363; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8364; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8365; - case BrownMushroom::BrownMushroom().ID: return 1121; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 3988; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 3989; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 3990; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 3991; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 3992; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 3993; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 3994; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 3995; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 3996; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 3997; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 3998; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 3999; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 4000; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4001; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4002; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4003; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4004; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4005; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4006; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4007; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4008; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4009; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4010; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4011; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4012; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4013; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4014; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4015; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4016; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4017; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4018; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4019; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4020; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4021; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4022; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4023; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4024; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4025; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4026; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4027; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4028; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4029; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4030; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4031; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4032; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4033; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4034; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4035; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4036; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4037; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4038; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4039; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4040; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4041; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4042; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4043; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4044; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4045; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4046; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4047; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4048; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4049; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4050; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4051; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8290; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8291; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8292; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8293; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8294; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8295; - case BrownStainedGlass::BrownStainedGlass().ID: return 3590; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 6207; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 6208; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 6211; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 6212; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 6215; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 6216; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 6219; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 6220; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 6223; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 6224; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 6227; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 6228; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 6231; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 6232; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 6235; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 6236; - case BrownTerracotta::BrownTerracotta().ID: return 5817; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7159; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7160; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7161; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7162; - case BrownWool::BrownWool().ID: return 1095; - case BubbleColumn::BubbleColumn(true).ID: return 8593; - case BubbleColumn::BubbleColumn(false).ID: return 8594; - case BubbleCoral::BubbleCoral().ID: return 8475; - case BubbleCoralBlock::BubbleCoralBlock().ID: return 8457; - case BubbleCoralFan::BubbleCoralFan().ID: return 8575; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8537; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8539; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8541; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8543; - case Cactus::Cactus(0).ID: return 3426; - case Cactus::Cactus(1).ID: return 3427; - case Cactus::Cactus(2).ID: return 3428; - case Cactus::Cactus(3).ID: return 3429; - case Cactus::Cactus(4).ID: return 3430; - case Cactus::Cactus(5).ID: return 3431; - case Cactus::Cactus(6).ID: return 3432; - case Cactus::Cactus(7).ID: return 3433; - case Cactus::Cactus(8).ID: return 3434; - case Cactus::Cactus(9).ID: return 3435; - case Cactus::Cactus(10).ID: return 3436; - case Cactus::Cactus(11).ID: return 3437; - case Cactus::Cactus(12).ID: return 3438; - case Cactus::Cactus(13).ID: return 3439; - case Cactus::Cactus(14).ID: return 3440; - case Cactus::Cactus(15).ID: return 3441; - case Cake::Cake(0).ID: return 3507; - case Cake::Cake(1).ID: return 3508; - case Cake::Cake(2).ID: return 3509; - case Cake::Cake(3).ID: return 3510; - case Cake::Cake(4).ID: return 3511; - case Cake::Cake(5).ID: return 3512; - case Cake::Cake(6).ID: return 3513; - case Carrots::Carrots(0).ID: return 5288; - case Carrots::Carrots(1).ID: return 5289; - case Carrots::Carrots(2).ID: return 5290; - case Carrots::Carrots(3).ID: return 5291; - case Carrots::Carrots(4).ID: return 5292; - case Carrots::Carrots(5).ID: return 5293; - case Carrots::Carrots(6).ID: return 5294; - case Carrots::Carrots(7).ID: return 5295; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 3499; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 3500; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 3501; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 3502; - case Cauldron::Cauldron(0).ID: return 4622; - case Cauldron::Cauldron(1).ID: return 4623; - case Cauldron::Cauldron(2).ID: return 4624; - case Cauldron::Cauldron(3).ID: return 4625; - case CaveAir::CaveAir().ID: return 8592; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8177; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8178; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8179; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8180; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8181; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8182; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8183; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8184; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8185; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8186; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8187; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8188; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 1730; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 1732; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 1734; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 1736; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 1738; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 1740; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 1742; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 1744; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 1746; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 1748; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 1750; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 1752; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5572; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5573; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 5574; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 5575; - case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 5697; - case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 7176; - case ChiseledSandstone::ChiseledSandstone().ID: return 246; - case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 3987; - case ChorusFlower::ChorusFlower(0).ID: return 8068; - case ChorusFlower::ChorusFlower(1).ID: return 8069; - case ChorusFlower::ChorusFlower(2).ID: return 8070; - case ChorusFlower::ChorusFlower(3).ID: return 8071; - case ChorusFlower::ChorusFlower(4).ID: return 8072; - case ChorusFlower::ChorusFlower(5).ID: return 8073; - case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 8004; - case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 8005; - case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 8006; - case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 8007; - case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 8008; - case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 8009; - case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 8010; - case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 8011; - case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 8012; - case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 8013; - case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 8014; - case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 8015; - case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 8016; - case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 8017; - case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 8018; - case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 8019; - case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 8020; - case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 8021; - case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 8022; - case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 8023; - case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 8024; - case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 8025; - case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 8026; - case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 8027; - case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 8028; - case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 8029; - case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 8030; - case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 8031; - case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 8032; - case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 8033; - case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 8034; - case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 8035; - case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 8036; - case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 8037; - case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 8038; - case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 8039; - case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 8040; - case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 8041; - case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 8042; - case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 8043; - case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 8044; - case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 8045; - case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 8046; - case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 8047; - case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 8048; - case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 8049; - case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 8050; - case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 8051; - case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 8052; - case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 8053; - case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 8054; - case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 8055; - case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 8056; - case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 8057; - case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 8058; - case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 8059; - case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 8060; - case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 8061; - case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 8062; - case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 8063; - case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 8064; - case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 8065; - case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 8066; - case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 8067; - case Clay::Clay().ID: return 3442; - case CoalBlock::CoalBlock().ID: return 6841; - case CoalOre::CoalOre().ID: return 71; - case CoarseDirt::CoarseDirt().ID: return 11; - case Cobblestone::Cobblestone().ID: return 14; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 7313; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 7315; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 7317; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3191; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3193; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3195; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3197; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3199; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3201; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3203; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3205; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3207; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3209; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3211; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3213; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3215; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3217; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3219; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3221; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3223; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3225; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3227; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3229; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3231; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3233; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3235; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3237; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3239; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3241; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3243; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3245; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3247; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3249; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3251; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3253; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3255; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3257; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3259; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3261; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3263; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3265; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3267; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3269; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5140; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5141; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5144; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5145; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5148; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5149; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5152; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5153; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5156; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5157; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5160; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5161; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5164; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5165; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5168; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5169; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5172; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5173; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5176; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5177; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5180; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5181; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5184; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5185; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5188; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5189; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5192; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5193; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5196; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5197; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5200; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5201; - case Cobweb::Cobweb().ID: return 1040; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 4639; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 4640; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 4641; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 4642; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 4643; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 4644; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 4645; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 4646; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 4647; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 4648; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 4649; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 4650; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5125; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5126; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5127; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5128; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5129; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5130; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5131; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5132; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5133; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5134; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5135; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5136; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 5636; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 5637; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 5638; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 5639; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 5640; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 5641; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 5642; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 5643; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 5644; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 5645; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 5646; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 5647; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 5648; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 5649; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 5650; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 5651; - case Conduit::Conduit().ID: return 8590; - case CrackedStoneBricks::CrackedStoneBricks().ID: return 3986; - case CraftingTable::CraftingTable().ID: return 3051; - case CreeperHead::CreeperHead(0).ID: return 5532; - case CreeperHead::CreeperHead(1).ID: return 5533; - case CreeperHead::CreeperHead(2).ID: return 5534; - case CreeperHead::CreeperHead(3).ID: return 5535; - case CreeperHead::CreeperHead(4).ID: return 5536; - case CreeperHead::CreeperHead(5).ID: return 5537; - case CreeperHead::CreeperHead(6).ID: return 5538; - case CreeperHead::CreeperHead(7).ID: return 5539; - case CreeperHead::CreeperHead(8).ID: return 5540; - case CreeperHead::CreeperHead(9).ID: return 5541; - case CreeperHead::CreeperHead(10).ID: return 5542; - case CreeperHead::CreeperHead(11).ID: return 5543; - case CreeperHead::CreeperHead(12).ID: return 5544; - case CreeperHead::CreeperHead(13).ID: return 5545; - case CreeperHead::CreeperHead(14).ID: return 5546; - case CreeperHead::CreeperHead(15).ID: return 5547; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5528; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5529; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5530; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5531; - case CutRedSandstone::CutRedSandstone().ID: return 7177; - case CutSandstone::CutSandstone().ID: return 247; - case CyanBanner::CyanBanner(0).ID: return 6999; - case CyanBanner::CyanBanner(1).ID: return 7000; - case CyanBanner::CyanBanner(2).ID: return 7001; - case CyanBanner::CyanBanner(3).ID: return 7002; - case CyanBanner::CyanBanner(4).ID: return 7003; - case CyanBanner::CyanBanner(5).ID: return 7004; - case CyanBanner::CyanBanner(6).ID: return 7005; - case CyanBanner::CyanBanner(7).ID: return 7006; - case CyanBanner::CyanBanner(8).ID: return 7007; - case CyanBanner::CyanBanner(9).ID: return 7008; - case CyanBanner::CyanBanner(10).ID: return 7009; - case CyanBanner::CyanBanner(11).ID: return 7010; - case CyanBanner::CyanBanner(12).ID: return 7011; - case CyanBanner::CyanBanner(13).ID: return 7012; - case CyanBanner::CyanBanner(14).ID: return 7013; - case CyanBanner::CyanBanner(15).ID: return 7014; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 892; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 893; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 894; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 895; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 896; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 897; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 898; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 899; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 900; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 901; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 902; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 903; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 904; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 905; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 906; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 907; - case CyanCarpet::CyanCarpet().ID: return 6833; - case CyanConcrete::CyanConcrete().ID: return 8387; - case CyanConcretePowder::CyanConcretePowder().ID: return 8403; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8350; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8351; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8352; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8353; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8272; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8273; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8274; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8275; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8276; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8277; - case CyanStainedGlass::CyanStainedGlass().ID: return 3587; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 6111; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 6112; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 6115; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 6116; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 6119; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 6120; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 6123; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 6124; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 6127; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 6128; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 6131; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 6132; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 6135; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 6136; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 6139; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 6140; - case CyanTerracotta::CyanTerracotta().ID: return 5814; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7147; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7148; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7149; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7150; - case CyanWool::CyanWool().ID: return 1092; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5576; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5577; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 5578; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 5579; - case Dandelion::Dandelion().ID: return 1111; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5424; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5425; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5426; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5427; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5428; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5429; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5430; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5431; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5432; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5433; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5434; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5435; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5436; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5437; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5438; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5439; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5440; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5441; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5442; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5443; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5444; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5445; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5446; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5447; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 7934; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 7935; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 7936; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 7937; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 7938; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 7939; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 7940; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 7941; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 7942; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 7943; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 7944; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 7945; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 7946; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 7947; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 7948; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 7949; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 7950; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 7951; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 7952; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 7953; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 7954; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 7955; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 7956; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 7957; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 7958; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 7959; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 7960; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 7961; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 7962; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 7963; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 7964; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 7965; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 7966; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 7967; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 7968; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 7969; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 7970; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 7971; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 7972; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 7973; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 7974; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 7975; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 7976; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 7977; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 7978; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 7979; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 7980; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 7981; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 7982; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 7983; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 7984; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 7985; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 7986; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 7987; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 7988; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 7989; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 7990; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 7991; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 7992; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 7993; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 7994; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 7995; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 7996; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 7997; - case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 7648; - case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 7649; - case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 7652; - case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 7653; - case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 7656; - case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 7657; - case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 7660; - case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 7661; - case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 7664; - case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 7665; - case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 7668; - case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 7669; - case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 7672; - case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 7673; - case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 7676; - case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 7677; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7486; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7487; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7488; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7489; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7490; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7491; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7492; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7493; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7494; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7495; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7496; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7497; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7498; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7499; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7500; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7501; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7502; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7503; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7504; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7505; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7506; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7507; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7508; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7509; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7510; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7511; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7512; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7513; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7514; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7515; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7516; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7517; - case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 214; - case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 215; - case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 216; - case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 217; - case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 218; - case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 219; - case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 220; - case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 221; - case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 222; - case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 223; - case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 224; - case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 225; - case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 226; - case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 227; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 87; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 88; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 89; - case DarkOakPlanks::DarkOakPlanks().ID: return 20; - case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3378; - case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3379; - case DarkOakSapling::DarkOakSapling(0).ID: return 31; - case DarkOakSapling::DarkOakSapling(1).ID: return 32; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 7289; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 7291; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 7293; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6414; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6416; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6418; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6420; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6422; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6424; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6426; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6428; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6430; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6432; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6434; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6436; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6438; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6440; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6442; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6444; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6446; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6448; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6450; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6452; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6454; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6456; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6458; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6460; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6462; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6464; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6466; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6468; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6470; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6472; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6474; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6476; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6478; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6480; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6482; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6484; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6486; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6488; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6490; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6492; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: return 3915; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: return 3917; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: return 3919; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: return 3921; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 3923; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 3925; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 3927; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 3929; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: return 3931; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: return 3933; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: return 3935; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: return 3937; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 3939; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 3941; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 3943; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 3945; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: return 3947; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: return 3949; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: return 3951; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: return 3953; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 3955; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 3957; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 3959; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 3961; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: return 3963; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: return 3965; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: return 3967; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: return 3969; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 3971; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 3973; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 3975; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 3977; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 123; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 124; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 125; - case DarkPrismarine::DarkPrismarine().ID: return 6561; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 6815; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 6817; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 6819; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 6723; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6725; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 6727; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6729; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 6731; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 6733; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6735; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 6737; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6739; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 6741; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 6743; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6745; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 6747; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6749; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 6751; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 6753; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6755; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 6757; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6759; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 6761; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 6763; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6765; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 6767; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6769; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 6771; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 6773; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6775; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 6777; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6779; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 6781; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 6783; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6785; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 6787; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6789; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 6791; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 6793; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 6795; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 6797; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 6799; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 6801; - case DaylightDetector::DaylightDetector(true, 0).ID: return 5652; - case DaylightDetector::DaylightDetector(true, 1).ID: return 5653; - case DaylightDetector::DaylightDetector(true, 2).ID: return 5654; - case DaylightDetector::DaylightDetector(true, 3).ID: return 5655; - case DaylightDetector::DaylightDetector(true, 4).ID: return 5656; - case DaylightDetector::DaylightDetector(true, 5).ID: return 5657; - case DaylightDetector::DaylightDetector(true, 6).ID: return 5658; - case DaylightDetector::DaylightDetector(true, 7).ID: return 5659; - case DaylightDetector::DaylightDetector(true, 8).ID: return 5660; - case DaylightDetector::DaylightDetector(true, 9).ID: return 5661; - case DaylightDetector::DaylightDetector(true, 10).ID: return 5662; - case DaylightDetector::DaylightDetector(true, 11).ID: return 5663; - case DaylightDetector::DaylightDetector(true, 12).ID: return 5664; - case DaylightDetector::DaylightDetector(true, 13).ID: return 5665; - case DaylightDetector::DaylightDetector(true, 14).ID: return 5666; - case DaylightDetector::DaylightDetector(true, 15).ID: return 5667; - case DaylightDetector::DaylightDetector(false, 0).ID: return 5668; - case DaylightDetector::DaylightDetector(false, 1).ID: return 5669; - case DaylightDetector::DaylightDetector(false, 2).ID: return 5670; - case DaylightDetector::DaylightDetector(false, 3).ID: return 5671; - case DaylightDetector::DaylightDetector(false, 4).ID: return 5672; - case DaylightDetector::DaylightDetector(false, 5).ID: return 5673; - case DaylightDetector::DaylightDetector(false, 6).ID: return 5674; - case DaylightDetector::DaylightDetector(false, 7).ID: return 5675; - case DaylightDetector::DaylightDetector(false, 8).ID: return 5676; - case DaylightDetector::DaylightDetector(false, 9).ID: return 5677; - case DaylightDetector::DaylightDetector(false, 10).ID: return 5678; - case DaylightDetector::DaylightDetector(false, 11).ID: return 5679; - case DaylightDetector::DaylightDetector(false, 12).ID: return 5680; - case DaylightDetector::DaylightDetector(false, 13).ID: return 5681; - case DaylightDetector::DaylightDetector(false, 14).ID: return 5682; - case DaylightDetector::DaylightDetector(false, 15).ID: return 5683; - case DeadBrainCoral::DeadBrainCoral().ID: return 8463; - case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 8451; - case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 8563; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8489; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8491; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8493; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8495; - case DeadBubbleCoral::DeadBubbleCoral().ID: return 8465; - case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 8452; - case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 8565; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8497; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8499; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8501; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8503; - case DeadBush::DeadBush().ID: return 1043; - case DeadFireCoral::DeadFireCoral().ID: return 8467; - case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 8453; - case DeadFireCoralFan::DeadFireCoralFan().ID: return 8567; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8505; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8507; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8509; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8511; - case DeadHornCoral::DeadHornCoral().ID: return 8469; - case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 8454; - case DeadHornCoralFan::DeadHornCoralFan().ID: return 8569; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8513; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8515; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8517; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8519; - case DeadTubeCoral::DeadTubeCoral().ID: return 8461; - case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 8450; - case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 8561; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8481; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8483; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8485; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8487; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1016; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1017; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1018; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1019; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1020; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1021; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1022; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1023; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1024; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1025; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1026; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1027; - case DiamondBlock::DiamondBlock().ID: return 3050; - case DiamondOre::DiamondOre().ID: return 3049; - case Diorite::Diorite().ID: return 4; - case Dirt::Dirt().ID: return 10; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 233; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 234; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 235; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 236; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 237; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 238; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 239; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 240; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 241; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 242; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 243; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 244; - case DragonEgg::DragonEgg().ID: return 4636; - case DragonHead::DragonHead(0).ID: return 5552; - case DragonHead::DragonHead(1).ID: return 5553; - case DragonHead::DragonHead(2).ID: return 5554; - case DragonHead::DragonHead(3).ID: return 5555; - case DragonHead::DragonHead(4).ID: return 5556; - case DragonHead::DragonHead(5).ID: return 5557; - case DragonHead::DragonHead(6).ID: return 5558; - case DragonHead::DragonHead(7).ID: return 5559; - case DragonHead::DragonHead(8).ID: return 5560; - case DragonHead::DragonHead(9).ID: return 5561; - case DragonHead::DragonHead(10).ID: return 5562; - case DragonHead::DragonHead(11).ID: return 5563; - case DragonHead::DragonHead(12).ID: return 5564; - case DragonHead::DragonHead(13).ID: return 5565; - case DragonHead::DragonHead(14).ID: return 5566; - case DragonHead::DragonHead(15).ID: return 5567; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5548; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5549; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5550; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5551; - case DriedKelpBlock::DriedKelpBlock().ID: return 8437; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 5793; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 5794; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 5795; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 5796; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 5797; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 5798; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 5799; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 5800; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 5801; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 5802; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 5803; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 5804; - case EmeraldBlock::EmeraldBlock().ID: return 4884; - case EmeraldOre::EmeraldOre().ID: return 4731; - case EnchantingTable::EnchantingTable().ID: return 4613; - case EndGateway::EndGateway().ID: return 8164; - case EndPortal::EndPortal().ID: return 4626; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 4627; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 4628; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 4629; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 4630; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 4631; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 4632; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 4633; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 4634; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 7998; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 7999; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 8000; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 8001; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 8002; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 8003; - case EndStone::EndStone().ID: return 4635; - case EndStoneBricks::EndStoneBricks().ID: return 8158; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 4733; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 4735; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 4737; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 4739; - case Farmland::Farmland(0).ID: return 3060; - case Farmland::Farmland(1).ID: return 3061; - case Farmland::Farmland(2).ID: return 3062; - case Farmland::Farmland(3).ID: return 3063; - case Farmland::Farmland(4).ID: return 3064; - case Farmland::Farmland(5).ID: return 3065; - case Farmland::Farmland(6).ID: return 3066; - case Farmland::Farmland(7).ID: return 3067; - case Fern::Fern().ID: return 1042; - case Fire::Fire(0, true, true, true, true, true).ID: return 1136; - case Fire::Fire(0, true, true, true, true, false).ID: return 1137; - case Fire::Fire(0, true, true, true, false, true).ID: return 1138; - case Fire::Fire(0, true, true, true, false, false).ID: return 1139; - case Fire::Fire(0, true, true, false, true, true).ID: return 1140; - case Fire::Fire(0, true, true, false, true, false).ID: return 1141; - case Fire::Fire(0, true, true, false, false, true).ID: return 1142; - case Fire::Fire(0, true, true, false, false, false).ID: return 1143; - case Fire::Fire(0, true, false, true, true, true).ID: return 1144; - case Fire::Fire(0, true, false, true, true, false).ID: return 1145; - case Fire::Fire(0, true, false, true, false, true).ID: return 1146; - case Fire::Fire(0, true, false, true, false, false).ID: return 1147; - case Fire::Fire(0, true, false, false, true, true).ID: return 1148; - case Fire::Fire(0, true, false, false, true, false).ID: return 1149; - case Fire::Fire(0, true, false, false, false, true).ID: return 1150; - case Fire::Fire(0, true, false, false, false, false).ID: return 1151; - case Fire::Fire(0, false, true, true, true, true).ID: return 1152; - case Fire::Fire(0, false, true, true, true, false).ID: return 1153; - case Fire::Fire(0, false, true, true, false, true).ID: return 1154; - case Fire::Fire(0, false, true, true, false, false).ID: return 1155; - case Fire::Fire(0, false, true, false, true, true).ID: return 1156; - case Fire::Fire(0, false, true, false, true, false).ID: return 1157; - case Fire::Fire(0, false, true, false, false, true).ID: return 1158; - case Fire::Fire(0, false, true, false, false, false).ID: return 1159; - case Fire::Fire(0, false, false, true, true, true).ID: return 1160; - case Fire::Fire(0, false, false, true, true, false).ID: return 1161; - case Fire::Fire(0, false, false, true, false, true).ID: return 1162; - case Fire::Fire(0, false, false, true, false, false).ID: return 1163; - case Fire::Fire(0, false, false, false, true, true).ID: return 1164; - case Fire::Fire(0, false, false, false, true, false).ID: return 1165; - case Fire::Fire(0, false, false, false, false, true).ID: return 1166; - case Fire::Fire(0, false, false, false, false, false).ID: return 1167; - case Fire::Fire(1, true, true, true, true, true).ID: return 1168; - case Fire::Fire(1, true, true, true, true, false).ID: return 1169; - case Fire::Fire(1, true, true, true, false, true).ID: return 1170; - case Fire::Fire(1, true, true, true, false, false).ID: return 1171; - case Fire::Fire(1, true, true, false, true, true).ID: return 1172; - case Fire::Fire(1, true, true, false, true, false).ID: return 1173; - case Fire::Fire(1, true, true, false, false, true).ID: return 1174; - case Fire::Fire(1, true, true, false, false, false).ID: return 1175; - case Fire::Fire(1, true, false, true, true, true).ID: return 1176; - case Fire::Fire(1, true, false, true, true, false).ID: return 1177; - case Fire::Fire(1, true, false, true, false, true).ID: return 1178; - case Fire::Fire(1, true, false, true, false, false).ID: return 1179; - case Fire::Fire(1, true, false, false, true, true).ID: return 1180; - case Fire::Fire(1, true, false, false, true, false).ID: return 1181; - case Fire::Fire(1, true, false, false, false, true).ID: return 1182; - case Fire::Fire(1, true, false, false, false, false).ID: return 1183; - case Fire::Fire(1, false, true, true, true, true).ID: return 1184; - case Fire::Fire(1, false, true, true, true, false).ID: return 1185; - case Fire::Fire(1, false, true, true, false, true).ID: return 1186; - case Fire::Fire(1, false, true, true, false, false).ID: return 1187; - case Fire::Fire(1, false, true, false, true, true).ID: return 1188; - case Fire::Fire(1, false, true, false, true, false).ID: return 1189; - case Fire::Fire(1, false, true, false, false, true).ID: return 1190; - case Fire::Fire(1, false, true, false, false, false).ID: return 1191; - case Fire::Fire(1, false, false, true, true, true).ID: return 1192; - case Fire::Fire(1, false, false, true, true, false).ID: return 1193; - case Fire::Fire(1, false, false, true, false, true).ID: return 1194; - case Fire::Fire(1, false, false, true, false, false).ID: return 1195; - case Fire::Fire(1, false, false, false, true, true).ID: return 1196; - case Fire::Fire(1, false, false, false, true, false).ID: return 1197; - case Fire::Fire(1, false, false, false, false, true).ID: return 1198; - case Fire::Fire(1, false, false, false, false, false).ID: return 1199; - case Fire::Fire(2, true, true, true, true, true).ID: return 1200; - case Fire::Fire(2, true, true, true, true, false).ID: return 1201; - case Fire::Fire(2, true, true, true, false, true).ID: return 1202; - case Fire::Fire(2, true, true, true, false, false).ID: return 1203; - case Fire::Fire(2, true, true, false, true, true).ID: return 1204; - case Fire::Fire(2, true, true, false, true, false).ID: return 1205; - case Fire::Fire(2, true, true, false, false, true).ID: return 1206; - case Fire::Fire(2, true, true, false, false, false).ID: return 1207; - case Fire::Fire(2, true, false, true, true, true).ID: return 1208; - case Fire::Fire(2, true, false, true, true, false).ID: return 1209; - case Fire::Fire(2, true, false, true, false, true).ID: return 1210; - case Fire::Fire(2, true, false, true, false, false).ID: return 1211; - case Fire::Fire(2, true, false, false, true, true).ID: return 1212; - case Fire::Fire(2, true, false, false, true, false).ID: return 1213; - case Fire::Fire(2, true, false, false, false, true).ID: return 1214; - case Fire::Fire(2, true, false, false, false, false).ID: return 1215; - case Fire::Fire(2, false, true, true, true, true).ID: return 1216; - case Fire::Fire(2, false, true, true, true, false).ID: return 1217; - case Fire::Fire(2, false, true, true, false, true).ID: return 1218; - case Fire::Fire(2, false, true, true, false, false).ID: return 1219; - case Fire::Fire(2, false, true, false, true, true).ID: return 1220; - case Fire::Fire(2, false, true, false, true, false).ID: return 1221; - case Fire::Fire(2, false, true, false, false, true).ID: return 1222; - case Fire::Fire(2, false, true, false, false, false).ID: return 1223; - case Fire::Fire(2, false, false, true, true, true).ID: return 1224; - case Fire::Fire(2, false, false, true, true, false).ID: return 1225; - case Fire::Fire(2, false, false, true, false, true).ID: return 1226; - case Fire::Fire(2, false, false, true, false, false).ID: return 1227; - case Fire::Fire(2, false, false, false, true, true).ID: return 1228; - case Fire::Fire(2, false, false, false, true, false).ID: return 1229; - case Fire::Fire(2, false, false, false, false, true).ID: return 1230; - case Fire::Fire(2, false, false, false, false, false).ID: return 1231; - case Fire::Fire(3, true, true, true, true, true).ID: return 1232; - case Fire::Fire(3, true, true, true, true, false).ID: return 1233; - case Fire::Fire(3, true, true, true, false, true).ID: return 1234; - case Fire::Fire(3, true, true, true, false, false).ID: return 1235; - case Fire::Fire(3, true, true, false, true, true).ID: return 1236; - case Fire::Fire(3, true, true, false, true, false).ID: return 1237; - case Fire::Fire(3, true, true, false, false, true).ID: return 1238; - case Fire::Fire(3, true, true, false, false, false).ID: return 1239; - case Fire::Fire(3, true, false, true, true, true).ID: return 1240; - case Fire::Fire(3, true, false, true, true, false).ID: return 1241; - case Fire::Fire(3, true, false, true, false, true).ID: return 1242; - case Fire::Fire(3, true, false, true, false, false).ID: return 1243; - case Fire::Fire(3, true, false, false, true, true).ID: return 1244; - case Fire::Fire(3, true, false, false, true, false).ID: return 1245; - case Fire::Fire(3, true, false, false, false, true).ID: return 1246; - case Fire::Fire(3, true, false, false, false, false).ID: return 1247; - case Fire::Fire(3, false, true, true, true, true).ID: return 1248; - case Fire::Fire(3, false, true, true, true, false).ID: return 1249; - case Fire::Fire(3, false, true, true, false, true).ID: return 1250; - case Fire::Fire(3, false, true, true, false, false).ID: return 1251; - case Fire::Fire(3, false, true, false, true, true).ID: return 1252; - case Fire::Fire(3, false, true, false, true, false).ID: return 1253; - case Fire::Fire(3, false, true, false, false, true).ID: return 1254; - case Fire::Fire(3, false, true, false, false, false).ID: return 1255; - case Fire::Fire(3, false, false, true, true, true).ID: return 1256; - case Fire::Fire(3, false, false, true, true, false).ID: return 1257; - case Fire::Fire(3, false, false, true, false, true).ID: return 1258; - case Fire::Fire(3, false, false, true, false, false).ID: return 1259; - case Fire::Fire(3, false, false, false, true, true).ID: return 1260; - case Fire::Fire(3, false, false, false, true, false).ID: return 1261; - case Fire::Fire(3, false, false, false, false, true).ID: return 1262; - case Fire::Fire(3, false, false, false, false, false).ID: return 1263; - case Fire::Fire(4, true, true, true, true, true).ID: return 1264; - case Fire::Fire(4, true, true, true, true, false).ID: return 1265; - case Fire::Fire(4, true, true, true, false, true).ID: return 1266; - case Fire::Fire(4, true, true, true, false, false).ID: return 1267; - case Fire::Fire(4, true, true, false, true, true).ID: return 1268; - case Fire::Fire(4, true, true, false, true, false).ID: return 1269; - case Fire::Fire(4, true, true, false, false, true).ID: return 1270; - case Fire::Fire(4, true, true, false, false, false).ID: return 1271; - case Fire::Fire(4, true, false, true, true, true).ID: return 1272; - case Fire::Fire(4, true, false, true, true, false).ID: return 1273; - case Fire::Fire(4, true, false, true, false, true).ID: return 1274; - case Fire::Fire(4, true, false, true, false, false).ID: return 1275; - case Fire::Fire(4, true, false, false, true, true).ID: return 1276; - case Fire::Fire(4, true, false, false, true, false).ID: return 1277; - case Fire::Fire(4, true, false, false, false, true).ID: return 1278; - case Fire::Fire(4, true, false, false, false, false).ID: return 1279; - case Fire::Fire(4, false, true, true, true, true).ID: return 1280; - case Fire::Fire(4, false, true, true, true, false).ID: return 1281; - case Fire::Fire(4, false, true, true, false, true).ID: return 1282; - case Fire::Fire(4, false, true, true, false, false).ID: return 1283; - case Fire::Fire(4, false, true, false, true, true).ID: return 1284; - case Fire::Fire(4, false, true, false, true, false).ID: return 1285; - case Fire::Fire(4, false, true, false, false, true).ID: return 1286; - case Fire::Fire(4, false, true, false, false, false).ID: return 1287; - case Fire::Fire(4, false, false, true, true, true).ID: return 1288; - case Fire::Fire(4, false, false, true, true, false).ID: return 1289; - case Fire::Fire(4, false, false, true, false, true).ID: return 1290; - case Fire::Fire(4, false, false, true, false, false).ID: return 1291; - case Fire::Fire(4, false, false, false, true, true).ID: return 1292; - case Fire::Fire(4, false, false, false, true, false).ID: return 1293; - case Fire::Fire(4, false, false, false, false, true).ID: return 1294; - case Fire::Fire(4, false, false, false, false, false).ID: return 1295; - case Fire::Fire(5, true, true, true, true, true).ID: return 1296; - case Fire::Fire(5, true, true, true, true, false).ID: return 1297; - case Fire::Fire(5, true, true, true, false, true).ID: return 1298; - case Fire::Fire(5, true, true, true, false, false).ID: return 1299; - case Fire::Fire(5, true, true, false, true, true).ID: return 1300; - case Fire::Fire(5, true, true, false, true, false).ID: return 1301; - case Fire::Fire(5, true, true, false, false, true).ID: return 1302; - case Fire::Fire(5, true, true, false, false, false).ID: return 1303; - case Fire::Fire(5, true, false, true, true, true).ID: return 1304; - case Fire::Fire(5, true, false, true, true, false).ID: return 1305; - case Fire::Fire(5, true, false, true, false, true).ID: return 1306; - case Fire::Fire(5, true, false, true, false, false).ID: return 1307; - case Fire::Fire(5, true, false, false, true, true).ID: return 1308; - case Fire::Fire(5, true, false, false, true, false).ID: return 1309; - case Fire::Fire(5, true, false, false, false, true).ID: return 1310; - case Fire::Fire(5, true, false, false, false, false).ID: return 1311; - case Fire::Fire(5, false, true, true, true, true).ID: return 1312; - case Fire::Fire(5, false, true, true, true, false).ID: return 1313; - case Fire::Fire(5, false, true, true, false, true).ID: return 1314; - case Fire::Fire(5, false, true, true, false, false).ID: return 1315; - case Fire::Fire(5, false, true, false, true, true).ID: return 1316; - case Fire::Fire(5, false, true, false, true, false).ID: return 1317; - case Fire::Fire(5, false, true, false, false, true).ID: return 1318; - case Fire::Fire(5, false, true, false, false, false).ID: return 1319; - case Fire::Fire(5, false, false, true, true, true).ID: return 1320; - case Fire::Fire(5, false, false, true, true, false).ID: return 1321; - case Fire::Fire(5, false, false, true, false, true).ID: return 1322; - case Fire::Fire(5, false, false, true, false, false).ID: return 1323; - case Fire::Fire(5, false, false, false, true, true).ID: return 1324; - case Fire::Fire(5, false, false, false, true, false).ID: return 1325; - case Fire::Fire(5, false, false, false, false, true).ID: return 1326; - case Fire::Fire(5, false, false, false, false, false).ID: return 1327; - case Fire::Fire(6, true, true, true, true, true).ID: return 1328; - case Fire::Fire(6, true, true, true, true, false).ID: return 1329; - case Fire::Fire(6, true, true, true, false, true).ID: return 1330; - case Fire::Fire(6, true, true, true, false, false).ID: return 1331; - case Fire::Fire(6, true, true, false, true, true).ID: return 1332; - case Fire::Fire(6, true, true, false, true, false).ID: return 1333; - case Fire::Fire(6, true, true, false, false, true).ID: return 1334; - case Fire::Fire(6, true, true, false, false, false).ID: return 1335; - case Fire::Fire(6, true, false, true, true, true).ID: return 1336; - case Fire::Fire(6, true, false, true, true, false).ID: return 1337; - case Fire::Fire(6, true, false, true, false, true).ID: return 1338; - case Fire::Fire(6, true, false, true, false, false).ID: return 1339; - case Fire::Fire(6, true, false, false, true, true).ID: return 1340; - case Fire::Fire(6, true, false, false, true, false).ID: return 1341; - case Fire::Fire(6, true, false, false, false, true).ID: return 1342; - case Fire::Fire(6, true, false, false, false, false).ID: return 1343; - case Fire::Fire(6, false, true, true, true, true).ID: return 1344; - case Fire::Fire(6, false, true, true, true, false).ID: return 1345; - case Fire::Fire(6, false, true, true, false, true).ID: return 1346; - case Fire::Fire(6, false, true, true, false, false).ID: return 1347; - case Fire::Fire(6, false, true, false, true, true).ID: return 1348; - case Fire::Fire(6, false, true, false, true, false).ID: return 1349; - case Fire::Fire(6, false, true, false, false, true).ID: return 1350; - case Fire::Fire(6, false, true, false, false, false).ID: return 1351; - case Fire::Fire(6, false, false, true, true, true).ID: return 1352; - case Fire::Fire(6, false, false, true, true, false).ID: return 1353; - case Fire::Fire(6, false, false, true, false, true).ID: return 1354; - case Fire::Fire(6, false, false, true, false, false).ID: return 1355; - case Fire::Fire(6, false, false, false, true, true).ID: return 1356; - case Fire::Fire(6, false, false, false, true, false).ID: return 1357; - case Fire::Fire(6, false, false, false, false, true).ID: return 1358; - case Fire::Fire(6, false, false, false, false, false).ID: return 1359; - case Fire::Fire(7, true, true, true, true, true).ID: return 1360; - case Fire::Fire(7, true, true, true, true, false).ID: return 1361; - case Fire::Fire(7, true, true, true, false, true).ID: return 1362; - case Fire::Fire(7, true, true, true, false, false).ID: return 1363; - case Fire::Fire(7, true, true, false, true, true).ID: return 1364; - case Fire::Fire(7, true, true, false, true, false).ID: return 1365; - case Fire::Fire(7, true, true, false, false, true).ID: return 1366; - case Fire::Fire(7, true, true, false, false, false).ID: return 1367; - case Fire::Fire(7, true, false, true, true, true).ID: return 1368; - case Fire::Fire(7, true, false, true, true, false).ID: return 1369; - case Fire::Fire(7, true, false, true, false, true).ID: return 1370; - case Fire::Fire(7, true, false, true, false, false).ID: return 1371; - case Fire::Fire(7, true, false, false, true, true).ID: return 1372; - case Fire::Fire(7, true, false, false, true, false).ID: return 1373; - case Fire::Fire(7, true, false, false, false, true).ID: return 1374; - case Fire::Fire(7, true, false, false, false, false).ID: return 1375; - case Fire::Fire(7, false, true, true, true, true).ID: return 1376; - case Fire::Fire(7, false, true, true, true, false).ID: return 1377; - case Fire::Fire(7, false, true, true, false, true).ID: return 1378; - case Fire::Fire(7, false, true, true, false, false).ID: return 1379; - case Fire::Fire(7, false, true, false, true, true).ID: return 1380; - case Fire::Fire(7, false, true, false, true, false).ID: return 1381; - case Fire::Fire(7, false, true, false, false, true).ID: return 1382; - case Fire::Fire(7, false, true, false, false, false).ID: return 1383; - case Fire::Fire(7, false, false, true, true, true).ID: return 1384; - case Fire::Fire(7, false, false, true, true, false).ID: return 1385; - case Fire::Fire(7, false, false, true, false, true).ID: return 1386; - case Fire::Fire(7, false, false, true, false, false).ID: return 1387; - case Fire::Fire(7, false, false, false, true, true).ID: return 1388; - case Fire::Fire(7, false, false, false, true, false).ID: return 1389; - case Fire::Fire(7, false, false, false, false, true).ID: return 1390; - case Fire::Fire(7, false, false, false, false, false).ID: return 1391; - case Fire::Fire(8, true, true, true, true, true).ID: return 1392; - case Fire::Fire(8, true, true, true, true, false).ID: return 1393; - case Fire::Fire(8, true, true, true, false, true).ID: return 1394; - case Fire::Fire(8, true, true, true, false, false).ID: return 1395; - case Fire::Fire(8, true, true, false, true, true).ID: return 1396; - case Fire::Fire(8, true, true, false, true, false).ID: return 1397; - case Fire::Fire(8, true, true, false, false, true).ID: return 1398; - case Fire::Fire(8, true, true, false, false, false).ID: return 1399; - case Fire::Fire(8, true, false, true, true, true).ID: return 1400; - case Fire::Fire(8, true, false, true, true, false).ID: return 1401; - case Fire::Fire(8, true, false, true, false, true).ID: return 1402; - case Fire::Fire(8, true, false, true, false, false).ID: return 1403; - case Fire::Fire(8, true, false, false, true, true).ID: return 1404; - case Fire::Fire(8, true, false, false, true, false).ID: return 1405; - case Fire::Fire(8, true, false, false, false, true).ID: return 1406; - case Fire::Fire(8, true, false, false, false, false).ID: return 1407; - case Fire::Fire(8, false, true, true, true, true).ID: return 1408; - case Fire::Fire(8, false, true, true, true, false).ID: return 1409; - case Fire::Fire(8, false, true, true, false, true).ID: return 1410; - case Fire::Fire(8, false, true, true, false, false).ID: return 1411; - case Fire::Fire(8, false, true, false, true, true).ID: return 1412; - case Fire::Fire(8, false, true, false, true, false).ID: return 1413; - case Fire::Fire(8, false, true, false, false, true).ID: return 1414; - case Fire::Fire(8, false, true, false, false, false).ID: return 1415; - case Fire::Fire(8, false, false, true, true, true).ID: return 1416; - case Fire::Fire(8, false, false, true, true, false).ID: return 1417; - case Fire::Fire(8, false, false, true, false, true).ID: return 1418; - case Fire::Fire(8, false, false, true, false, false).ID: return 1419; - case Fire::Fire(8, false, false, false, true, true).ID: return 1420; - case Fire::Fire(8, false, false, false, true, false).ID: return 1421; - case Fire::Fire(8, false, false, false, false, true).ID: return 1422; - case Fire::Fire(8, false, false, false, false, false).ID: return 1423; - case Fire::Fire(9, true, true, true, true, true).ID: return 1424; - case Fire::Fire(9, true, true, true, true, false).ID: return 1425; - case Fire::Fire(9, true, true, true, false, true).ID: return 1426; - case Fire::Fire(9, true, true, true, false, false).ID: return 1427; - case Fire::Fire(9, true, true, false, true, true).ID: return 1428; - case Fire::Fire(9, true, true, false, true, false).ID: return 1429; - case Fire::Fire(9, true, true, false, false, true).ID: return 1430; - case Fire::Fire(9, true, true, false, false, false).ID: return 1431; - case Fire::Fire(9, true, false, true, true, true).ID: return 1432; - case Fire::Fire(9, true, false, true, true, false).ID: return 1433; - case Fire::Fire(9, true, false, true, false, true).ID: return 1434; - case Fire::Fire(9, true, false, true, false, false).ID: return 1435; - case Fire::Fire(9, true, false, false, true, true).ID: return 1436; - case Fire::Fire(9, true, false, false, true, false).ID: return 1437; - case Fire::Fire(9, true, false, false, false, true).ID: return 1438; - case Fire::Fire(9, true, false, false, false, false).ID: return 1439; - case Fire::Fire(9, false, true, true, true, true).ID: return 1440; - case Fire::Fire(9, false, true, true, true, false).ID: return 1441; - case Fire::Fire(9, false, true, true, false, true).ID: return 1442; - case Fire::Fire(9, false, true, true, false, false).ID: return 1443; - case Fire::Fire(9, false, true, false, true, true).ID: return 1444; - case Fire::Fire(9, false, true, false, true, false).ID: return 1445; - case Fire::Fire(9, false, true, false, false, true).ID: return 1446; - case Fire::Fire(9, false, true, false, false, false).ID: return 1447; - case Fire::Fire(9, false, false, true, true, true).ID: return 1448; - case Fire::Fire(9, false, false, true, true, false).ID: return 1449; - case Fire::Fire(9, false, false, true, false, true).ID: return 1450; - case Fire::Fire(9, false, false, true, false, false).ID: return 1451; - case Fire::Fire(9, false, false, false, true, true).ID: return 1452; - case Fire::Fire(9, false, false, false, true, false).ID: return 1453; - case Fire::Fire(9, false, false, false, false, true).ID: return 1454; - case Fire::Fire(9, false, false, false, false, false).ID: return 1455; - case Fire::Fire(10, true, true, true, true, true).ID: return 1456; - case Fire::Fire(10, true, true, true, true, false).ID: return 1457; - case Fire::Fire(10, true, true, true, false, true).ID: return 1458; - case Fire::Fire(10, true, true, true, false, false).ID: return 1459; - case Fire::Fire(10, true, true, false, true, true).ID: return 1460; - case Fire::Fire(10, true, true, false, true, false).ID: return 1461; - case Fire::Fire(10, true, true, false, false, true).ID: return 1462; - case Fire::Fire(10, true, true, false, false, false).ID: return 1463; - case Fire::Fire(10, true, false, true, true, true).ID: return 1464; - case Fire::Fire(10, true, false, true, true, false).ID: return 1465; - case Fire::Fire(10, true, false, true, false, true).ID: return 1466; - case Fire::Fire(10, true, false, true, false, false).ID: return 1467; - case Fire::Fire(10, true, false, false, true, true).ID: return 1468; - case Fire::Fire(10, true, false, false, true, false).ID: return 1469; - case Fire::Fire(10, true, false, false, false, true).ID: return 1470; - case Fire::Fire(10, true, false, false, false, false).ID: return 1471; - case Fire::Fire(10, false, true, true, true, true).ID: return 1472; - case Fire::Fire(10, false, true, true, true, false).ID: return 1473; - case Fire::Fire(10, false, true, true, false, true).ID: return 1474; - case Fire::Fire(10, false, true, true, false, false).ID: return 1475; - case Fire::Fire(10, false, true, false, true, true).ID: return 1476; - case Fire::Fire(10, false, true, false, true, false).ID: return 1477; - case Fire::Fire(10, false, true, false, false, true).ID: return 1478; - case Fire::Fire(10, false, true, false, false, false).ID: return 1479; - case Fire::Fire(10, false, false, true, true, true).ID: return 1480; - case Fire::Fire(10, false, false, true, true, false).ID: return 1481; - case Fire::Fire(10, false, false, true, false, true).ID: return 1482; - case Fire::Fire(10, false, false, true, false, false).ID: return 1483; - case Fire::Fire(10, false, false, false, true, true).ID: return 1484; - case Fire::Fire(10, false, false, false, true, false).ID: return 1485; - case Fire::Fire(10, false, false, false, false, true).ID: return 1486; - case Fire::Fire(10, false, false, false, false, false).ID: return 1487; - case Fire::Fire(11, true, true, true, true, true).ID: return 1488; - case Fire::Fire(11, true, true, true, true, false).ID: return 1489; - case Fire::Fire(11, true, true, true, false, true).ID: return 1490; - case Fire::Fire(11, true, true, true, false, false).ID: return 1491; - case Fire::Fire(11, true, true, false, true, true).ID: return 1492; - case Fire::Fire(11, true, true, false, true, false).ID: return 1493; - case Fire::Fire(11, true, true, false, false, true).ID: return 1494; - case Fire::Fire(11, true, true, false, false, false).ID: return 1495; - case Fire::Fire(11, true, false, true, true, true).ID: return 1496; - case Fire::Fire(11, true, false, true, true, false).ID: return 1497; - case Fire::Fire(11, true, false, true, false, true).ID: return 1498; - case Fire::Fire(11, true, false, true, false, false).ID: return 1499; - case Fire::Fire(11, true, false, false, true, true).ID: return 1500; - case Fire::Fire(11, true, false, false, true, false).ID: return 1501; - case Fire::Fire(11, true, false, false, false, true).ID: return 1502; - case Fire::Fire(11, true, false, false, false, false).ID: return 1503; - case Fire::Fire(11, false, true, true, true, true).ID: return 1504; - case Fire::Fire(11, false, true, true, true, false).ID: return 1505; - case Fire::Fire(11, false, true, true, false, true).ID: return 1506; - case Fire::Fire(11, false, true, true, false, false).ID: return 1507; - case Fire::Fire(11, false, true, false, true, true).ID: return 1508; - case Fire::Fire(11, false, true, false, true, false).ID: return 1509; - case Fire::Fire(11, false, true, false, false, true).ID: return 1510; - case Fire::Fire(11, false, true, false, false, false).ID: return 1511; - case Fire::Fire(11, false, false, true, true, true).ID: return 1512; - case Fire::Fire(11, false, false, true, true, false).ID: return 1513; - case Fire::Fire(11, false, false, true, false, true).ID: return 1514; - case Fire::Fire(11, false, false, true, false, false).ID: return 1515; - case Fire::Fire(11, false, false, false, true, true).ID: return 1516; - case Fire::Fire(11, false, false, false, true, false).ID: return 1517; - case Fire::Fire(11, false, false, false, false, true).ID: return 1518; - case Fire::Fire(11, false, false, false, false, false).ID: return 1519; - case Fire::Fire(12, true, true, true, true, true).ID: return 1520; - case Fire::Fire(12, true, true, true, true, false).ID: return 1521; - case Fire::Fire(12, true, true, true, false, true).ID: return 1522; - case Fire::Fire(12, true, true, true, false, false).ID: return 1523; - case Fire::Fire(12, true, true, false, true, true).ID: return 1524; - case Fire::Fire(12, true, true, false, true, false).ID: return 1525; - case Fire::Fire(12, true, true, false, false, true).ID: return 1526; - case Fire::Fire(12, true, true, false, false, false).ID: return 1527; - case Fire::Fire(12, true, false, true, true, true).ID: return 1528; - case Fire::Fire(12, true, false, true, true, false).ID: return 1529; - case Fire::Fire(12, true, false, true, false, true).ID: return 1530; - case Fire::Fire(12, true, false, true, false, false).ID: return 1531; - case Fire::Fire(12, true, false, false, true, true).ID: return 1532; - case Fire::Fire(12, true, false, false, true, false).ID: return 1533; - case Fire::Fire(12, true, false, false, false, true).ID: return 1534; - case Fire::Fire(12, true, false, false, false, false).ID: return 1535; - case Fire::Fire(12, false, true, true, true, true).ID: return 1536; - case Fire::Fire(12, false, true, true, true, false).ID: return 1537; - case Fire::Fire(12, false, true, true, false, true).ID: return 1538; - case Fire::Fire(12, false, true, true, false, false).ID: return 1539; - case Fire::Fire(12, false, true, false, true, true).ID: return 1540; - case Fire::Fire(12, false, true, false, true, false).ID: return 1541; - case Fire::Fire(12, false, true, false, false, true).ID: return 1542; - case Fire::Fire(12, false, true, false, false, false).ID: return 1543; - case Fire::Fire(12, false, false, true, true, true).ID: return 1544; - case Fire::Fire(12, false, false, true, true, false).ID: return 1545; - case Fire::Fire(12, false, false, true, false, true).ID: return 1546; - case Fire::Fire(12, false, false, true, false, false).ID: return 1547; - case Fire::Fire(12, false, false, false, true, true).ID: return 1548; - case Fire::Fire(12, false, false, false, true, false).ID: return 1549; - case Fire::Fire(12, false, false, false, false, true).ID: return 1550; - case Fire::Fire(12, false, false, false, false, false).ID: return 1551; - case Fire::Fire(13, true, true, true, true, true).ID: return 1552; - case Fire::Fire(13, true, true, true, true, false).ID: return 1553; - case Fire::Fire(13, true, true, true, false, true).ID: return 1554; - case Fire::Fire(13, true, true, true, false, false).ID: return 1555; - case Fire::Fire(13, true, true, false, true, true).ID: return 1556; - case Fire::Fire(13, true, true, false, true, false).ID: return 1557; - case Fire::Fire(13, true, true, false, false, true).ID: return 1558; - case Fire::Fire(13, true, true, false, false, false).ID: return 1559; - case Fire::Fire(13, true, false, true, true, true).ID: return 1560; - case Fire::Fire(13, true, false, true, true, false).ID: return 1561; - case Fire::Fire(13, true, false, true, false, true).ID: return 1562; - case Fire::Fire(13, true, false, true, false, false).ID: return 1563; - case Fire::Fire(13, true, false, false, true, true).ID: return 1564; - case Fire::Fire(13, true, false, false, true, false).ID: return 1565; - case Fire::Fire(13, true, false, false, false, true).ID: return 1566; - case Fire::Fire(13, true, false, false, false, false).ID: return 1567; - case Fire::Fire(13, false, true, true, true, true).ID: return 1568; - case Fire::Fire(13, false, true, true, true, false).ID: return 1569; - case Fire::Fire(13, false, true, true, false, true).ID: return 1570; - case Fire::Fire(13, false, true, true, false, false).ID: return 1571; - case Fire::Fire(13, false, true, false, true, true).ID: return 1572; - case Fire::Fire(13, false, true, false, true, false).ID: return 1573; - case Fire::Fire(13, false, true, false, false, true).ID: return 1574; - case Fire::Fire(13, false, true, false, false, false).ID: return 1575; - case Fire::Fire(13, false, false, true, true, true).ID: return 1576; - case Fire::Fire(13, false, false, true, true, false).ID: return 1577; - case Fire::Fire(13, false, false, true, false, true).ID: return 1578; - case Fire::Fire(13, false, false, true, false, false).ID: return 1579; - case Fire::Fire(13, false, false, false, true, true).ID: return 1580; - case Fire::Fire(13, false, false, false, true, false).ID: return 1581; - case Fire::Fire(13, false, false, false, false, true).ID: return 1582; - case Fire::Fire(13, false, false, false, false, false).ID: return 1583; - case Fire::Fire(14, true, true, true, true, true).ID: return 1584; - case Fire::Fire(14, true, true, true, true, false).ID: return 1585; - case Fire::Fire(14, true, true, true, false, true).ID: return 1586; - case Fire::Fire(14, true, true, true, false, false).ID: return 1587; - case Fire::Fire(14, true, true, false, true, true).ID: return 1588; - case Fire::Fire(14, true, true, false, true, false).ID: return 1589; - case Fire::Fire(14, true, true, false, false, true).ID: return 1590; - case Fire::Fire(14, true, true, false, false, false).ID: return 1591; - case Fire::Fire(14, true, false, true, true, true).ID: return 1592; - case Fire::Fire(14, true, false, true, true, false).ID: return 1593; - case Fire::Fire(14, true, false, true, false, true).ID: return 1594; - case Fire::Fire(14, true, false, true, false, false).ID: return 1595; - case Fire::Fire(14, true, false, false, true, true).ID: return 1596; - case Fire::Fire(14, true, false, false, true, false).ID: return 1597; - case Fire::Fire(14, true, false, false, false, true).ID: return 1598; - case Fire::Fire(14, true, false, false, false, false).ID: return 1599; - case Fire::Fire(14, false, true, true, true, true).ID: return 1600; - case Fire::Fire(14, false, true, true, true, false).ID: return 1601; - case Fire::Fire(14, false, true, true, false, true).ID: return 1602; - case Fire::Fire(14, false, true, true, false, false).ID: return 1603; - case Fire::Fire(14, false, true, false, true, true).ID: return 1604; - case Fire::Fire(14, false, true, false, true, false).ID: return 1605; - case Fire::Fire(14, false, true, false, false, true).ID: return 1606; - case Fire::Fire(14, false, true, false, false, false).ID: return 1607; - case Fire::Fire(14, false, false, true, true, true).ID: return 1608; - case Fire::Fire(14, false, false, true, true, false).ID: return 1609; - case Fire::Fire(14, false, false, true, false, true).ID: return 1610; - case Fire::Fire(14, false, false, true, false, false).ID: return 1611; - case Fire::Fire(14, false, false, false, true, true).ID: return 1612; - case Fire::Fire(14, false, false, false, true, false).ID: return 1613; - case Fire::Fire(14, false, false, false, false, true).ID: return 1614; - case Fire::Fire(14, false, false, false, false, false).ID: return 1615; - case Fire::Fire(15, true, true, true, true, true).ID: return 1616; - case Fire::Fire(15, true, true, true, true, false).ID: return 1617; - case Fire::Fire(15, true, true, true, false, true).ID: return 1618; - case Fire::Fire(15, true, true, true, false, false).ID: return 1619; - case Fire::Fire(15, true, true, false, true, true).ID: return 1620; - case Fire::Fire(15, true, true, false, true, false).ID: return 1621; - case Fire::Fire(15, true, true, false, false, true).ID: return 1622; - case Fire::Fire(15, true, true, false, false, false).ID: return 1623; - case Fire::Fire(15, true, false, true, true, true).ID: return 1624; - case Fire::Fire(15, true, false, true, true, false).ID: return 1625; - case Fire::Fire(15, true, false, true, false, true).ID: return 1626; - case Fire::Fire(15, true, false, true, false, false).ID: return 1627; - case Fire::Fire(15, true, false, false, true, true).ID: return 1628; - case Fire::Fire(15, true, false, false, true, false).ID: return 1629; - case Fire::Fire(15, true, false, false, false, true).ID: return 1630; - case Fire::Fire(15, true, false, false, false, false).ID: return 1631; - case Fire::Fire(15, false, true, true, true, true).ID: return 1632; - case Fire::Fire(15, false, true, true, true, false).ID: return 1633; - case Fire::Fire(15, false, true, true, false, true).ID: return 1634; - case Fire::Fire(15, false, true, true, false, false).ID: return 1635; - case Fire::Fire(15, false, true, false, true, true).ID: return 1636; - case Fire::Fire(15, false, true, false, true, false).ID: return 1637; - case Fire::Fire(15, false, true, false, false, true).ID: return 1638; - case Fire::Fire(15, false, true, false, false, false).ID: return 1639; - case Fire::Fire(15, false, false, true, true, true).ID: return 1640; - case Fire::Fire(15, false, false, true, true, false).ID: return 1641; - case Fire::Fire(15, false, false, true, false, true).ID: return 1642; - case Fire::Fire(15, false, false, true, false, false).ID: return 1643; - case Fire::Fire(15, false, false, false, true, true).ID: return 1644; - case Fire::Fire(15, false, false, false, true, false).ID: return 1645; - case Fire::Fire(15, false, false, false, false, true).ID: return 1646; - case Fire::Fire(15, false, false, false, false, false).ID: return 1647; - case FireCoral::FireCoral().ID: return 8477; - case FireCoralBlock::FireCoralBlock().ID: return 8458; - case FireCoralFan::FireCoralFan().ID: return 8577; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8545; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8547; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8549; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8551; - case FlowerPot::FlowerPot().ID: return 5266; - case FrostedIce::FrostedIce(0).ID: return 8189; - case FrostedIce::FrostedIce(1).ID: return 8190; - case FrostedIce::FrostedIce(2).ID: return 8191; - case FrostedIce::FrostedIce(3).ID: return 8192; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3068; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3069; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3070; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3071; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3072; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3073; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3074; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3075; - case Glass::Glass().ID: return 230; - case GlassPane::GlassPane(true, true, true, true).ID: return 4214; - case GlassPane::GlassPane(true, true, true, false).ID: return 4215; - case GlassPane::GlassPane(true, true, false, true).ID: return 4218; - case GlassPane::GlassPane(true, true, false, false).ID: return 4219; - case GlassPane::GlassPane(true, false, true, true).ID: return 4222; - case GlassPane::GlassPane(true, false, true, false).ID: return 4223; - case GlassPane::GlassPane(true, false, false, true).ID: return 4226; - case GlassPane::GlassPane(true, false, false, false).ID: return 4227; - case GlassPane::GlassPane(false, true, true, true).ID: return 4230; - case GlassPane::GlassPane(false, true, true, false).ID: return 4231; - case GlassPane::GlassPane(false, true, false, true).ID: return 4234; - case GlassPane::GlassPane(false, true, false, false).ID: return 4235; - case GlassPane::GlassPane(false, false, true, true).ID: return 4238; - case GlassPane::GlassPane(false, false, true, false).ID: return 4239; - case GlassPane::GlassPane(false, false, false, true).ID: return 4242; - case GlassPane::GlassPane(false, false, false, false).ID: return 4243; - case Glowstone::Glowstone().ID: return 3496; - case GoldBlock::GoldBlock().ID: return 1123; - case GoldOre::GoldOre().ID: return 69; - case Granite::Granite().ID: return 2; - case Grass::Grass().ID: return 1041; - case GrassBlock::GrassBlock(true).ID: return 8; - case GrassBlock::GrassBlock(false).ID: return 9; - case GrassPath::GrassPath().ID: return 8163; - case Gravel::Gravel().ID: return 68; - case GrayBanner::GrayBanner(0).ID: return 6967; - case GrayBanner::GrayBanner(1).ID: return 6968; - case GrayBanner::GrayBanner(2).ID: return 6969; - case GrayBanner::GrayBanner(3).ID: return 6970; - case GrayBanner::GrayBanner(4).ID: return 6971; - case GrayBanner::GrayBanner(5).ID: return 6972; - case GrayBanner::GrayBanner(6).ID: return 6973; - case GrayBanner::GrayBanner(7).ID: return 6974; - case GrayBanner::GrayBanner(8).ID: return 6975; - case GrayBanner::GrayBanner(9).ID: return 6976; - case GrayBanner::GrayBanner(10).ID: return 6977; - case GrayBanner::GrayBanner(11).ID: return 6978; - case GrayBanner::GrayBanner(12).ID: return 6979; - case GrayBanner::GrayBanner(13).ID: return 6980; - case GrayBanner::GrayBanner(14).ID: return 6981; - case GrayBanner::GrayBanner(15).ID: return 6982; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 860; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 861; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 862; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 863; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 864; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 865; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 866; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 867; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 868; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 869; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 870; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 871; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 872; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 873; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 874; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 875; - case GrayCarpet::GrayCarpet().ID: return 6831; - case GrayConcrete::GrayConcrete().ID: return 8385; - case GrayConcretePowder::GrayConcretePowder().ID: return 8401; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8342; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8343; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8344; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8345; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8260; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8261; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8262; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8263; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8264; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8265; - case GrayStainedGlass::GrayStainedGlass().ID: return 3585; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 6047; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 6048; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 6051; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 6052; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 6055; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 6056; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 6059; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 6060; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 6063; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 6064; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 6067; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 6068; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 6071; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 6072; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 6075; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 6076; - case GrayTerracotta::GrayTerracotta().ID: return 5812; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7139; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7140; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7141; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7142; - case GrayWool::GrayWool().ID: return 1090; - case GreenBanner::GreenBanner(0).ID: return 7063; - case GreenBanner::GreenBanner(1).ID: return 7064; - case GreenBanner::GreenBanner(2).ID: return 7065; - case GreenBanner::GreenBanner(3).ID: return 7066; - case GreenBanner::GreenBanner(4).ID: return 7067; - case GreenBanner::GreenBanner(5).ID: return 7068; - case GreenBanner::GreenBanner(6).ID: return 7069; - case GreenBanner::GreenBanner(7).ID: return 7070; - case GreenBanner::GreenBanner(8).ID: return 7071; - case GreenBanner::GreenBanner(9).ID: return 7072; - case GreenBanner::GreenBanner(10).ID: return 7073; - case GreenBanner::GreenBanner(11).ID: return 7074; - case GreenBanner::GreenBanner(12).ID: return 7075; - case GreenBanner::GreenBanner(13).ID: return 7076; - case GreenBanner::GreenBanner(14).ID: return 7077; - case GreenBanner::GreenBanner(15).ID: return 7078; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 956; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 957; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 958; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 959; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 960; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 961; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 962; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 963; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 964; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 965; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 966; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 967; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 968; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 969; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 970; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 971; - case GreenCarpet::GreenCarpet().ID: return 6837; - case GreenConcrete::GreenConcrete().ID: return 8391; - case GreenConcretePowder::GreenConcretePowder().ID: return 8407; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8366; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8367; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8368; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8369; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8296; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8297; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8298; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8299; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8300; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8301; - case GreenStainedGlass::GreenStainedGlass().ID: return 3591; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 6239; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 6240; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 6243; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 6244; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 6247; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 6248; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 6251; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 6252; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 6255; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 6256; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 6259; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 6260; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 6263; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 6264; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 6267; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 6268; - case GreenTerracotta::GreenTerracotta().ID: return 5818; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7163; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7164; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7165; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7166; - case GreenWool::GreenWool().ID: return 1096; - case HayBale::HayBale(HayBale::Axis::X).ID: return 6821; - case HayBale::HayBale(HayBale::Axis::Y).ID: return 6822; - case HayBale::HayBale(HayBale::Axis::Z).ID: return 6823; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 5620; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 5621; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 5622; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 5623; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 5624; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 5625; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 5626; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 5627; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 5628; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 5629; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 5630; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 5631; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 5632; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 5633; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 5634; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 5635; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 5686; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5687; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5688; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 5689; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 5690; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 5691; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5692; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5693; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 5694; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 5695; - case HornCoral::HornCoral().ID: return 8479; - case HornCoralBlock::HornCoralBlock().ID: return 8459; - case HornCoralFan::HornCoralFan().ID: return 8579; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8553; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8555; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8557; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8559; - case Ice::Ice().ID: return 3424; - case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 3983; - case InfestedCobblestone::InfestedCobblestone().ID: return 3979; - case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 3982; - case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 3981; - case InfestedStone::InfestedStone().ID: return 3978; - case InfestedStoneBricks::InfestedStoneBricks().ID: return 3980; - case IronBars::IronBars(true, true, true, true).ID: return 4182; - case IronBars::IronBars(true, true, true, false).ID: return 4183; - case IronBars::IronBars(true, true, false, true).ID: return 4186; - case IronBars::IronBars(true, true, false, false).ID: return 4187; - case IronBars::IronBars(true, false, true, true).ID: return 4190; - case IronBars::IronBars(true, false, true, false).ID: return 4191; - case IronBars::IronBars(true, false, false, true).ID: return 4194; - case IronBars::IronBars(true, false, false, false).ID: return 4195; - case IronBars::IronBars(false, true, true, true).ID: return 4198; - case IronBars::IronBars(false, true, true, false).ID: return 4199; - case IronBars::IronBars(false, true, false, true).ID: return 4202; - case IronBars::IronBars(false, true, false, false).ID: return 4203; - case IronBars::IronBars(false, false, true, true).ID: return 4206; - case IronBars::IronBars(false, false, true, false).ID: return 4207; - case IronBars::IronBars(false, false, false, true).ID: return 4210; - case IronBars::IronBars(false, false, false, false).ID: return 4211; - case IronBlock::IronBlock().ID: return 1124; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3304; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3305; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3306; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3307; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3308; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3309; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3310; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3311; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3312; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3313; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3314; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3315; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3316; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3317; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3318; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3319; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3320; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3321; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3322; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3323; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3324; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3325; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3326; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3327; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3328; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3329; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3330; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3331; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3332; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3333; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3334; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3335; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3336; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3337; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3338; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3339; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3340; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3341; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3342; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3343; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3344; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3345; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3346; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3347; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3348; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3349; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3350; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3351; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3352; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3353; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3354; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3355; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3356; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3357; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3358; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3359; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3360; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3361; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3362; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3363; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3364; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3365; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3366; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3367; - case IronOre::IronOre().ID: return 70; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 6496; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: return 6498; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: return 6500; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: return 6502; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: return 6504; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: return 6506; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: return 6508; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: return 6510; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 6512; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: return 6514; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: return 6516; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: return 6518; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: return 6520; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: return 6522; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: return 6524; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: return 6526; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 6528; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: return 6530; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: return 6532; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: return 6534; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: return 6536; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: return 6538; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: return 6540; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: return 6542; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 6544; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: return 6546; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: return 6548; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: return 6550; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: return 6552; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: return 6554; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: return 6556; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: return 6558; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 3503; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 3504; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 3505; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 3506; - case Jukebox::Jukebox(true).ID: return 3459; - case Jukebox::Jukebox(false).ID: return 3460; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5376; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5377; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5378; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5379; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5380; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5381; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5382; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5383; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5384; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5385; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5386; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5387; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5388; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5389; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5390; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5391; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5392; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5393; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5394; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5395; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5396; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5397; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5398; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5399; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 7806; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 7807; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 7808; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 7809; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 7810; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 7811; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 7812; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 7813; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 7814; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 7815; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 7816; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 7817; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 7818; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 7819; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 7820; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 7821; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 7822; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 7823; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 7824; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 7825; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 7826; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 7827; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 7828; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 7829; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 7830; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 7831; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 7832; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 7833; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 7834; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 7835; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 7836; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 7837; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 7838; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 7839; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 7840; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 7841; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 7842; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 7843; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 7844; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 7845; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 7846; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 7847; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 7848; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 7849; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 7850; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 7851; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 7852; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 7853; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 7854; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 7855; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 7856; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 7857; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 7858; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 7859; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 7860; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 7861; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 7862; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 7863; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 7864; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 7865; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 7866; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 7867; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 7868; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 7869; - case JungleFence::JungleFence(true, true, true, true).ID: return 7584; - case JungleFence::JungleFence(true, true, true, false).ID: return 7585; - case JungleFence::JungleFence(true, true, false, true).ID: return 7588; - case JungleFence::JungleFence(true, true, false, false).ID: return 7589; - case JungleFence::JungleFence(true, false, true, true).ID: return 7592; - case JungleFence::JungleFence(true, false, true, false).ID: return 7593; - case JungleFence::JungleFence(true, false, false, true).ID: return 7596; - case JungleFence::JungleFence(true, false, false, false).ID: return 7597; - case JungleFence::JungleFence(false, true, true, true).ID: return 7600; - case JungleFence::JungleFence(false, true, true, false).ID: return 7601; - case JungleFence::JungleFence(false, true, false, true).ID: return 7604; - case JungleFence::JungleFence(false, true, false, false).ID: return 7605; - case JungleFence::JungleFence(false, false, true, true).ID: return 7608; - case JungleFence::JungleFence(false, false, true, false).ID: return 7609; - case JungleFence::JungleFence(false, false, false, true).ID: return 7612; - case JungleFence::JungleFence(false, false, false, false).ID: return 7613; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7422; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7423; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7424; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7425; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7426; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7427; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7428; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7429; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7430; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7431; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7432; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7433; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7434; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7435; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7436; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7437; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7438; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7439; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7440; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7441; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7442; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7443; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7444; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7445; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7446; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7447; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7448; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7449; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7450; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7451; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7452; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7453; - case JungleLeaves::JungleLeaves(1, true).ID: return 186; - case JungleLeaves::JungleLeaves(1, false).ID: return 187; - case JungleLeaves::JungleLeaves(2, true).ID: return 188; - case JungleLeaves::JungleLeaves(2, false).ID: return 189; - case JungleLeaves::JungleLeaves(3, true).ID: return 190; - case JungleLeaves::JungleLeaves(3, false).ID: return 191; - case JungleLeaves::JungleLeaves(4, true).ID: return 192; - case JungleLeaves::JungleLeaves(4, false).ID: return 193; - case JungleLeaves::JungleLeaves(5, true).ID: return 194; - case JungleLeaves::JungleLeaves(5, false).ID: return 195; - case JungleLeaves::JungleLeaves(6, true).ID: return 196; - case JungleLeaves::JungleLeaves(6, false).ID: return 197; - case JungleLeaves::JungleLeaves(7, true).ID: return 198; - case JungleLeaves::JungleLeaves(7, false).ID: return 199; - case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 81; - case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 82; - case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 83; - case JunglePlanks::JunglePlanks().ID: return 18; - case JunglePressurePlate::JunglePressurePlate(true).ID: return 3374; - case JunglePressurePlate::JunglePressurePlate(false).ID: return 3375; - case JungleSapling::JungleSapling(0).ID: return 27; - case JungleSapling::JungleSapling(1).ID: return 28; - case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 7277; - case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 7279; - case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 7281; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5046; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5048; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5050; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5052; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5054; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5056; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5058; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5060; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5062; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5064; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5066; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5068; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5070; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5072; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5074; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5076; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5078; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5080; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5082; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5084; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5086; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5088; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5090; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5092; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5094; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5096; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5098; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5100; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5102; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5104; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5106; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5108; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5110; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5112; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5114; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5116; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5118; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5120; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5122; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5124; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: return 3787; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: return 3789; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: return 3791; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: return 3793; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: return 3795; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: return 3797; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: return 3799; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: return 3801; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: return 3803; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: return 3805; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: return 3807; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: return 3809; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: return 3811; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: return 3813; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: return 3815; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: return 3817; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: return 3819; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: return 3821; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: return 3823; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: return 3825; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: return 3827; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: return 3829; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: return 3831; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: return 3833; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: return 3835; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: return 3837; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: return 3839; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: return 3841; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: return 3843; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: return 3845; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: return 3847; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: return 3849; - case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 117; - case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 118; - case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 119; - case Kelp::Kelp(0).ID: return 8410; - case Kelp::Kelp(1).ID: return 8411; - case Kelp::Kelp(2).ID: return 8412; - case Kelp::Kelp(3).ID: return 8413; - case Kelp::Kelp(4).ID: return 8414; - case Kelp::Kelp(5).ID: return 8415; - case Kelp::Kelp(6).ID: return 8416; - case Kelp::Kelp(7).ID: return 8417; - case Kelp::Kelp(8).ID: return 8418; - case Kelp::Kelp(9).ID: return 8419; - case Kelp::Kelp(10).ID: return 8420; - case Kelp::Kelp(11).ID: return 8421; - case Kelp::Kelp(12).ID: return 8422; - case Kelp::Kelp(13).ID: return 8423; - case Kelp::Kelp(14).ID: return 8424; - case Kelp::Kelp(15).ID: return 8425; - case Kelp::Kelp(16).ID: return 8426; - case Kelp::Kelp(17).ID: return 8427; - case Kelp::Kelp(18).ID: return 8428; - case Kelp::Kelp(19).ID: return 8429; - case Kelp::Kelp(20).ID: return 8430; - case Kelp::Kelp(21).ID: return 8431; - case Kelp::Kelp(22).ID: return 8432; - case Kelp::Kelp(23).ID: return 8433; - case Kelp::Kelp(24).ID: return 8434; - case Kelp::Kelp(25).ID: return 8435; - case KelpPlant::KelpPlant().ID: return 8436; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3173; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3175; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3177; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3179; - case LapisBlock::LapisBlock().ID: return 232; - case LapisOre::LapisOre().ID: return 231; - case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 6853; - case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 6854; - case Lava::Lava(0).ID: return 50; - case Lava::Lava(1).ID: return 51; - case Lava::Lava(2).ID: return 52; - case Lava::Lava(3).ID: return 53; - case Lava::Lava(4).ID: return 54; - case Lava::Lava(5).ID: return 55; - case Lava::Lava(6).ID: return 56; - case Lava::Lava(7).ID: return 57; - case Lava::Lava(8).ID: return 58; - case Lava::Lava(9).ID: return 59; - case Lava::Lava(10).ID: return 60; - case Lava::Lava(11).ID: return 61; - case Lava::Lava(12).ID: return 62; - case Lava::Lava(13).ID: return 63; - case Lava::Lava(14).ID: return 64; - case Lava::Lava(15).ID: return 65; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3278; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3279; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3280; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3281; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3282; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3283; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3284; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3285; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3286; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3287; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3288; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3289; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3290; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3291; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3292; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3293; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3294; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3295; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3296; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3297; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3298; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3299; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3300; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3301; - case LightBlueBanner::LightBlueBanner(0).ID: return 6903; - case LightBlueBanner::LightBlueBanner(1).ID: return 6904; - case LightBlueBanner::LightBlueBanner(2).ID: return 6905; - case LightBlueBanner::LightBlueBanner(3).ID: return 6906; - case LightBlueBanner::LightBlueBanner(4).ID: return 6907; - case LightBlueBanner::LightBlueBanner(5).ID: return 6908; - case LightBlueBanner::LightBlueBanner(6).ID: return 6909; - case LightBlueBanner::LightBlueBanner(7).ID: return 6910; - case LightBlueBanner::LightBlueBanner(8).ID: return 6911; - case LightBlueBanner::LightBlueBanner(9).ID: return 6912; - case LightBlueBanner::LightBlueBanner(10).ID: return 6913; - case LightBlueBanner::LightBlueBanner(11).ID: return 6914; - case LightBlueBanner::LightBlueBanner(12).ID: return 6915; - case LightBlueBanner::LightBlueBanner(13).ID: return 6916; - case LightBlueBanner::LightBlueBanner(14).ID: return 6917; - case LightBlueBanner::LightBlueBanner(15).ID: return 6918; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 796; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 797; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 798; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 799; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 800; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 801; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 802; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 803; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 804; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 805; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 806; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 807; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 808; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 809; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 810; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 811; - case LightBlueCarpet::LightBlueCarpet().ID: return 6827; - case LightBlueConcrete::LightBlueConcrete().ID: return 8381; - case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 8397; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8326; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8327; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8328; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8329; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8236; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8237; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8238; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8239; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8240; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8241; - case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 3581; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 5919; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 5920; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 5923; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 5924; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 5927; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 5928; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 5931; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 5932; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 5935; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 5936; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 5939; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 5940; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 5943; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 5944; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 5947; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 5948; - case LightBlueTerracotta::LightBlueTerracotta().ID: return 5808; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7123; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7124; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7125; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7126; - case LightBlueWool::LightBlueWool().ID: return 1086; - case LightGrayBanner::LightGrayBanner(0).ID: return 6983; - case LightGrayBanner::LightGrayBanner(1).ID: return 6984; - case LightGrayBanner::LightGrayBanner(2).ID: return 6985; - case LightGrayBanner::LightGrayBanner(3).ID: return 6986; - case LightGrayBanner::LightGrayBanner(4).ID: return 6987; - case LightGrayBanner::LightGrayBanner(5).ID: return 6988; - case LightGrayBanner::LightGrayBanner(6).ID: return 6989; - case LightGrayBanner::LightGrayBanner(7).ID: return 6990; - case LightGrayBanner::LightGrayBanner(8).ID: return 6991; - case LightGrayBanner::LightGrayBanner(9).ID: return 6992; - case LightGrayBanner::LightGrayBanner(10).ID: return 6993; - case LightGrayBanner::LightGrayBanner(11).ID: return 6994; - case LightGrayBanner::LightGrayBanner(12).ID: return 6995; - case LightGrayBanner::LightGrayBanner(13).ID: return 6996; - case LightGrayBanner::LightGrayBanner(14).ID: return 6997; - case LightGrayBanner::LightGrayBanner(15).ID: return 6998; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 876; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 877; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 878; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 879; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 880; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 881; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 882; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 883; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 884; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 885; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 886; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 887; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 888; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 889; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 890; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 891; - case LightGrayCarpet::LightGrayCarpet().ID: return 6832; - case LightGrayConcrete::LightGrayConcrete().ID: return 8386; - case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 8402; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8346; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8347; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8348; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8349; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8266; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8267; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8268; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8269; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8270; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8271; - case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 3586; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 6079; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 6080; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 6083; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 6084; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 6087; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 6088; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 6091; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 6092; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 6095; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 6096; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 6099; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 6100; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 6103; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 6104; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 6107; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 6108; - case LightGrayTerracotta::LightGrayTerracotta().ID: return 5813; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7143; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7144; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7145; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7146; - case LightGrayWool::LightGrayWool().ID: return 1091; - case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 5604; - case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 5605; - case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 5606; - case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 5607; - case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 5608; - case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 5609; - case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 5610; - case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 5611; - case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 5612; - case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 5613; - case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 5614; - case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 5615; - case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 5616; - case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 5617; - case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 5618; - case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 5619; - case Lilac::Lilac(Lilac::Half::Upper).ID: return 6845; - case Lilac::Lilac(Lilac::Half::Lower).ID: return 6846; - case LilyPad::LilyPad().ID: return 4495; - case LimeBanner::LimeBanner(0).ID: return 6935; - case LimeBanner::LimeBanner(1).ID: return 6936; - case LimeBanner::LimeBanner(2).ID: return 6937; - case LimeBanner::LimeBanner(3).ID: return 6938; - case LimeBanner::LimeBanner(4).ID: return 6939; - case LimeBanner::LimeBanner(5).ID: return 6940; - case LimeBanner::LimeBanner(6).ID: return 6941; - case LimeBanner::LimeBanner(7).ID: return 6942; - case LimeBanner::LimeBanner(8).ID: return 6943; - case LimeBanner::LimeBanner(9).ID: return 6944; - case LimeBanner::LimeBanner(10).ID: return 6945; - case LimeBanner::LimeBanner(11).ID: return 6946; - case LimeBanner::LimeBanner(12).ID: return 6947; - case LimeBanner::LimeBanner(13).ID: return 6948; - case LimeBanner::LimeBanner(14).ID: return 6949; - case LimeBanner::LimeBanner(15).ID: return 6950; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 828; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 829; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 830; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 831; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 832; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 833; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 834; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 835; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 836; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 837; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 838; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 839; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 840; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 841; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 842; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 843; - case LimeCarpet::LimeCarpet().ID: return 6829; - case LimeConcrete::LimeConcrete().ID: return 8383; - case LimeConcretePowder::LimeConcretePowder().ID: return 8399; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8334; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8335; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8336; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8337; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8248; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8249; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8250; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8251; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8252; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8253; - case LimeStainedGlass::LimeStainedGlass().ID: return 3583; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 5983; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 5984; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 5987; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 5988; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 5991; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 5992; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 5995; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 5996; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 5999; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 6000; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 6003; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 6004; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 6007; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 6008; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 6011; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 6012; - case LimeTerracotta::LimeTerracotta().ID: return 5810; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7131; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7132; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7133; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7134; - case LimeWool::LimeWool().ID: return 1088; - case MagentaBanner::MagentaBanner(0).ID: return 6887; - case MagentaBanner::MagentaBanner(1).ID: return 6888; - case MagentaBanner::MagentaBanner(2).ID: return 6889; - case MagentaBanner::MagentaBanner(3).ID: return 6890; - case MagentaBanner::MagentaBanner(4).ID: return 6891; - case MagentaBanner::MagentaBanner(5).ID: return 6892; - case MagentaBanner::MagentaBanner(6).ID: return 6893; - case MagentaBanner::MagentaBanner(7).ID: return 6894; - case MagentaBanner::MagentaBanner(8).ID: return 6895; - case MagentaBanner::MagentaBanner(9).ID: return 6896; - case MagentaBanner::MagentaBanner(10).ID: return 6897; - case MagentaBanner::MagentaBanner(11).ID: return 6898; - case MagentaBanner::MagentaBanner(12).ID: return 6899; - case MagentaBanner::MagentaBanner(13).ID: return 6900; - case MagentaBanner::MagentaBanner(14).ID: return 6901; - case MagentaBanner::MagentaBanner(15).ID: return 6902; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 780; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 781; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 782; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 783; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 784; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 785; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 786; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 787; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 788; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 789; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 790; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 791; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 792; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 793; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 794; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 795; - case MagentaCarpet::MagentaCarpet().ID: return 6826; - case MagentaConcrete::MagentaConcrete().ID: return 8380; - case MagentaConcretePowder::MagentaConcretePowder().ID: return 8396; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8322; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8323; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8324; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8325; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8230; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8231; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8232; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8233; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8234; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8235; - case MagentaStainedGlass::MagentaStainedGlass().ID: return 3580; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 5887; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 5888; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 5891; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 5892; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 5895; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 5896; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 5899; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 5900; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 5903; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 5904; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 5907; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 5908; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 5911; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 5912; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 5915; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 5916; - case MagentaTerracotta::MagentaTerracotta().ID: return 5807; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7119; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7120; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7121; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7122; - case MagentaWool::MagentaWool().ID: return 1085; - case MagmaBlock::MagmaBlock().ID: return 8193; - case Melon::Melon().ID: return 4244; - case MelonStem::MelonStem(0).ID: return 4261; - case MelonStem::MelonStem(1).ID: return 4262; - case MelonStem::MelonStem(2).ID: return 4263; - case MelonStem::MelonStem(3).ID: return 4264; - case MelonStem::MelonStem(4).ID: return 4265; - case MelonStem::MelonStem(5).ID: return 4266; - case MelonStem::MelonStem(6).ID: return 4267; - case MelonStem::MelonStem(7).ID: return 4268; - case MossyCobblestone::MossyCobblestone().ID: return 1129; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5204; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5205; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5208; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5209; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5212; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5213; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5216; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5217; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5220; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5221; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5224; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5225; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5228; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5229; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5232; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5233; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5236; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5237; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5240; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5241; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5244; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5245; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5248; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5249; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5252; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5253; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5256; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5257; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5260; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5261; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5264; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5265; - case MossyStoneBricks::MossyStoneBricks().ID: return 3985; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1099; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1100; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1101; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1102; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1103; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1104; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1105; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1106; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1107; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1108; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1109; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1110; - case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4116; - case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4117; - case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4118; - case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4119; - case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4120; - case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4121; - case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4122; - case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4123; - case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4124; - case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4125; - case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4126; - case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4127; - case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4128; - case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4129; - case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4130; - case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4131; - case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4132; - case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4133; - case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4134; - case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4135; - case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4136; - case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4137; - case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4138; - case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4139; - case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4140; - case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4141; - case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4142; - case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4143; - case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4144; - case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4145; - case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4146; - case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4147; - case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4148; - case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4149; - case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4150; - case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4151; - case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4152; - case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4153; - case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4154; - case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4155; - case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4156; - case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4157; - case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4158; - case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4159; - case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4160; - case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4161; - case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4162; - case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4163; - case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4164; - case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4165; - case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4166; - case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4167; - case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4168; - case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4169; - case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4170; - case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4171; - case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4172; - case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4173; - case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4174; - case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4175; - case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4176; - case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4177; - case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4178; - case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4179; - case Mycelium::Mycelium(true).ID: return 4493; - case Mycelium::Mycelium(false).ID: return 4494; - case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 4499; - case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 4500; - case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 4503; - case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 4504; - case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 4507; - case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 4508; - case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 4511; - case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 4512; - case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 4515; - case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 4516; - case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 4519; - case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 4520; - case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 4523; - case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 4524; - case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 4527; - case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 4528; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 7331; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 7333; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 7335; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 4530; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 4532; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 4534; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 4536; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 4538; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 4540; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 4542; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 4544; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 4546; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 4548; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 4550; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 4552; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 4554; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 4556; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 4558; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 4560; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 4562; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 4564; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 4566; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 4568; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 4570; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 4572; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 4574; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 4576; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 4578; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 4580; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 4582; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 4584; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 4586; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 4588; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 4590; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 4592; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 4594; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 4596; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 4598; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 4600; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 4602; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 4604; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 4606; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 4608; - case NetherBricks::NetherBricks().ID: return 4496; - case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 3497; - case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 3498; - case NetherQuartzOre::NetherQuartzOre().ID: return 5685; - case NetherWart::NetherWart(0).ID: return 4609; - case NetherWart::NetherWart(1).ID: return 4610; - case NetherWart::NetherWart(2).ID: return 4611; - case NetherWart::NetherWart(3).ID: return 4612; - case NetherWartBlock::NetherWartBlock().ID: return 8194; - case Netherrack::Netherrack().ID: return 3494; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 248; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 249; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 250; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 251; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 252; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 253; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 254; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 255; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 256; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 257; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 258; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 259; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 260; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 261; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 262; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 263; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 264; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 265; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 266; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 267; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 268; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 269; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 270; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 271; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 272; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 273; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 274; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 275; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 276; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 277; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 278; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 279; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 280; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 281; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 282; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 283; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 284; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 285; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 286; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 287; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 288; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 289; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 290; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 291; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 292; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 293; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 294; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 295; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 296; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 297; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 298; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 299; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 300; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 301; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 302; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 303; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 304; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 305; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 306; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 307; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 308; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 309; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 310; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 311; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 312; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 313; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 314; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 315; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 316; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 317; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 318; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 319; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 320; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 321; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 322; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 323; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 324; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 325; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 326; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 327; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 328; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 329; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 330; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 331; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 332; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 333; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 334; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 335; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 336; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 337; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 338; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 339; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 340; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 341; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 342; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 343; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 344; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 345; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 346; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 347; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 348; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 349; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 350; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 351; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 352; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 353; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 354; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 355; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 356; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 357; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 358; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 359; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 360; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 361; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 362; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 363; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 364; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 365; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 366; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 367; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 368; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 369; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 370; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 371; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 372; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 373; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 374; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 375; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 376; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 377; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 378; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 379; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 380; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 381; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 382; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 383; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 384; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 385; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 386; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 387; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 388; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 389; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 390; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 391; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 392; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 393; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 394; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 395; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 396; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 397; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 398; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 399; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 400; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 401; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 402; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 403; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 404; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 405; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 406; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 407; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 408; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 409; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 410; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 411; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 412; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 413; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 414; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 415; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 416; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 417; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 418; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 419; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 420; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 421; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 422; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 423; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 424; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 425; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 426; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 427; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 428; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 429; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 430; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 431; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 432; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 433; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 434; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 435; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 436; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 437; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 438; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 439; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 440; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 441; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 442; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 443; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 444; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 445; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 446; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 447; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 448; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 449; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 450; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 451; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 452; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 453; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 454; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 455; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 456; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 457; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 458; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 459; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 460; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 461; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 462; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 463; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 464; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 465; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 466; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 467; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 468; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 469; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 470; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 471; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 472; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 473; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 474; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 475; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 476; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 477; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 478; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 479; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 480; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 481; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 482; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 483; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 484; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 485; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 486; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 487; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 488; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 489; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 490; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 491; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 492; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 493; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 494; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 495; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 496; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 497; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 498; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 499; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 500; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 501; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 502; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 503; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 504; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 505; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 506; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 507; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 508; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 509; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 510; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 511; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 512; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 513; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 514; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 515; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 516; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 517; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 518; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 519; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 520; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 521; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 522; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 523; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 524; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 525; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 526; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 527; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 528; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 529; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 530; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 531; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 532; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 533; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 534; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 535; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 536; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 537; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 538; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 539; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 540; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 541; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 542; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 543; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 544; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 545; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 546; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 547; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 548; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 549; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 550; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 551; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 552; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 553; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 554; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 555; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 556; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 557; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 558; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 559; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 560; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 561; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 562; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 563; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 564; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 565; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 566; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 567; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 568; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 569; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 570; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 571; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 572; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 573; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 574; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 575; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 576; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 577; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 578; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 579; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 580; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 581; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 582; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 583; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 584; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 585; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 586; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 587; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 588; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 589; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 590; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 591; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 592; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 593; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 594; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 595; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 596; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 597; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 598; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 599; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 600; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 601; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 602; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 603; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 604; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 605; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 606; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 607; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 608; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 609; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 610; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 611; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 612; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 613; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 614; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 615; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 616; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 617; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 618; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 619; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 620; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 621; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 622; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 623; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 624; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 625; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 626; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 627; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 628; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 629; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 630; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 631; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 632; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 633; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 634; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 635; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 636; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 637; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 638; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 639; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 640; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 641; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 642; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 643; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 644; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 645; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 646; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 647; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 648; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 649; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 650; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 651; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 652; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 653; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 654; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 655; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 656; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 657; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 658; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 659; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 660; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 661; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 662; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 663; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 664; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 665; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 666; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 667; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 668; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 669; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 670; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 671; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 672; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 673; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 674; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 675; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 676; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 677; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 678; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 679; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 680; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 681; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 682; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 683; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 684; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 685; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 686; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 687; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 688; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 689; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 690; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 691; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 692; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 693; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 694; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 695; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 696; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 697; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 698; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 699; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 700; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 701; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 702; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 703; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 704; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 705; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 706; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 707; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 708; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 709; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 710; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 711; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 712; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 713; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 714; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 715; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 716; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 717; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 718; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 719; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 720; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 721; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 722; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 723; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 724; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 725; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 726; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 727; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 728; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 729; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 730; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 731; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 732; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 733; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 734; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 735; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 736; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 737; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 738; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 739; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 740; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 741; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 742; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 743; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 744; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 745; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 746; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 747; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5304; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5305; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5306; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5307; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5308; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5309; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5310; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5311; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5312; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5313; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5314; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5315; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5316; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5317; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5318; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5319; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5320; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5321; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5322; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5323; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5324; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5325; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5326; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5327; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3108; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3109; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3110; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3111; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3112; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3113; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3114; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3115; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3116; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3117; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3118; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3119; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3120; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3121; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3122; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3123; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3124; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3125; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3126; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3127; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3128; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3129; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3130; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3131; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3132; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3133; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3134; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3135; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3136; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3137; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3138; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3139; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3140; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3141; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3142; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3143; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3144; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3145; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3146; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3147; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3148; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3149; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3150; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3151; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3152; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3153; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3154; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3155; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3156; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3157; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3158; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3159; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3160; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3161; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3162; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3163; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3164; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3165; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3166; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3167; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3168; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3169; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3170; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3171; - case OakFence::OakFence(true, true, true, true).ID: return 3463; - case OakFence::OakFence(true, true, true, false).ID: return 3464; - case OakFence::OakFence(true, true, false, true).ID: return 3467; - case OakFence::OakFence(true, true, false, false).ID: return 3468; - case OakFence::OakFence(true, false, true, true).ID: return 3471; - case OakFence::OakFence(true, false, true, false).ID: return 3472; - case OakFence::OakFence(true, false, false, true).ID: return 3475; - case OakFence::OakFence(true, false, false, false).ID: return 3476; - case OakFence::OakFence(false, true, true, true).ID: return 3479; - case OakFence::OakFence(false, true, true, false).ID: return 3480; - case OakFence::OakFence(false, true, false, true).ID: return 3483; - case OakFence::OakFence(false, true, false, false).ID: return 3484; - case OakFence::OakFence(false, false, true, true).ID: return 3487; - case OakFence::OakFence(false, false, true, false).ID: return 3488; - case OakFence::OakFence(false, false, false, true).ID: return 3491; - case OakFence::OakFence(false, false, false, false).ID: return 3492; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4301; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4302; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4303; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4304; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4305; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4306; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4307; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4308; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4309; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4310; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4311; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4312; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4313; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4314; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4315; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4316; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4317; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4318; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4319; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4320; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4321; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4322; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4323; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4324; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4325; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4326; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4327; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4328; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4329; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4330; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4331; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4332; - case OakLeaves::OakLeaves(1, true).ID: return 144; - case OakLeaves::OakLeaves(1, false).ID: return 145; - case OakLeaves::OakLeaves(2, true).ID: return 146; - case OakLeaves::OakLeaves(2, false).ID: return 147; - case OakLeaves::OakLeaves(3, true).ID: return 148; - case OakLeaves::OakLeaves(3, false).ID: return 149; - case OakLeaves::OakLeaves(4, true).ID: return 150; - case OakLeaves::OakLeaves(4, false).ID: return 151; - case OakLeaves::OakLeaves(5, true).ID: return 152; - case OakLeaves::OakLeaves(5, false).ID: return 153; - case OakLeaves::OakLeaves(6, true).ID: return 154; - case OakLeaves::OakLeaves(6, false).ID: return 155; - case OakLeaves::OakLeaves(7, true).ID: return 156; - case OakLeaves::OakLeaves(7, false).ID: return 157; - case OakLog::OakLog(OakLog::Axis::X).ID: return 72; - case OakLog::OakLog(OakLog::Axis::Y).ID: return 73; - case OakLog::OakLog(OakLog::Axis::Z).ID: return 74; - case OakPlanks::OakPlanks().ID: return 15; - case OakPressurePlate::OakPressurePlate(true).ID: return 3368; - case OakPressurePlate::OakPressurePlate(false).ID: return 3369; - case OakSapling::OakSapling(0).ID: return 21; - case OakSapling::OakSapling(1).ID: return 22; - case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 7259; - case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 7261; - case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 7263; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1650; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1652; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1654; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1656; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1658; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1660; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1662; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1664; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1666; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1668; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1670; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1672; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1674; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1676; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1678; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1680; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1682; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1684; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1686; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1688; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1690; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1692; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1694; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1696; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1698; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1700; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1702; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1704; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1706; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1708; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1710; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1712; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1714; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1716; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1718; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1720; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1722; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1724; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1726; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1728; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 3595; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 3597; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 3599; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 3601; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 3603; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: return 3605; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: return 3607; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: return 3609; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 3611; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 3613; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 3615; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 3617; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 3619; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: return 3621; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: return 3623; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: return 3625; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 3627; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 3629; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 3631; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 3633; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 3635; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: return 3637; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: return 3639; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: return 3641; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 3643; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 3645; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 3647; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 3649; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 3651; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: return 3653; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: return 3655; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: return 3657; - case OakWood::OakWood(OakWood::Axis::X).ID: return 108; - case OakWood::OakWood(OakWood::Axis::Y).ID: return 109; - case OakWood::OakWood(OakWood::Axis::Z).ID: return 110; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 8200; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 8201; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 8202; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 8203; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 8204; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 8205; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 8206; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 8207; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 8208; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 8209; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 8210; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 8211; - case Obsidian::Obsidian().ID: return 1130; - case OrangeBanner::OrangeBanner(0).ID: return 6871; - case OrangeBanner::OrangeBanner(1).ID: return 6872; - case OrangeBanner::OrangeBanner(2).ID: return 6873; - case OrangeBanner::OrangeBanner(3).ID: return 6874; - case OrangeBanner::OrangeBanner(4).ID: return 6875; - case OrangeBanner::OrangeBanner(5).ID: return 6876; - case OrangeBanner::OrangeBanner(6).ID: return 6877; - case OrangeBanner::OrangeBanner(7).ID: return 6878; - case OrangeBanner::OrangeBanner(8).ID: return 6879; - case OrangeBanner::OrangeBanner(9).ID: return 6880; - case OrangeBanner::OrangeBanner(10).ID: return 6881; - case OrangeBanner::OrangeBanner(11).ID: return 6882; - case OrangeBanner::OrangeBanner(12).ID: return 6883; - case OrangeBanner::OrangeBanner(13).ID: return 6884; - case OrangeBanner::OrangeBanner(14).ID: return 6885; - case OrangeBanner::OrangeBanner(15).ID: return 6886; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 764; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 765; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 766; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 767; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 768; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 769; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 770; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 771; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 772; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 773; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 774; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 775; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 776; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 777; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 778; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 779; - case OrangeCarpet::OrangeCarpet().ID: return 6825; - case OrangeConcrete::OrangeConcrete().ID: return 8379; - case OrangeConcretePowder::OrangeConcretePowder().ID: return 8395; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8318; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8319; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8320; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8321; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8224; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8225; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8226; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8227; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8228; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8229; - case OrangeStainedGlass::OrangeStainedGlass().ID: return 3579; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 5855; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 5856; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 5859; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 5860; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 5863; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 5864; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 5867; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 5868; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 5871; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 5872; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 5875; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 5876; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 5879; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 5880; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 5883; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 5884; - case OrangeTerracotta::OrangeTerracotta().ID: return 5806; - case OrangeTulip::OrangeTulip().ID: return 1117; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7115; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7116; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7117; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7118; - case OrangeWool::OrangeWool().ID: return 1084; - case OxeyeDaisy::OxeyeDaisy().ID: return 1120; - case PackedIce::PackedIce().ID: return 6842; - case Peony::Peony(Peony::Half::Upper).ID: return 6849; - case Peony::Peony(Peony::Half::Lower).ID: return 6850; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 7307; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 7309; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 7311; - case PinkBanner::PinkBanner(0).ID: return 6951; - case PinkBanner::PinkBanner(1).ID: return 6952; - case PinkBanner::PinkBanner(2).ID: return 6953; - case PinkBanner::PinkBanner(3).ID: return 6954; - case PinkBanner::PinkBanner(4).ID: return 6955; - case PinkBanner::PinkBanner(5).ID: return 6956; - case PinkBanner::PinkBanner(6).ID: return 6957; - case PinkBanner::PinkBanner(7).ID: return 6958; - case PinkBanner::PinkBanner(8).ID: return 6959; - case PinkBanner::PinkBanner(9).ID: return 6960; - case PinkBanner::PinkBanner(10).ID: return 6961; - case PinkBanner::PinkBanner(11).ID: return 6962; - case PinkBanner::PinkBanner(12).ID: return 6963; - case PinkBanner::PinkBanner(13).ID: return 6964; - case PinkBanner::PinkBanner(14).ID: return 6965; - case PinkBanner::PinkBanner(15).ID: return 6966; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 844; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 845; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 846; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 847; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 848; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 849; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 850; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 851; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 852; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 853; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 854; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 855; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 856; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 857; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 858; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 859; - case PinkCarpet::PinkCarpet().ID: return 6830; - case PinkConcrete::PinkConcrete().ID: return 8384; - case PinkConcretePowder::PinkConcretePowder().ID: return 8400; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8338; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8339; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8340; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8341; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8254; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8255; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8256; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8257; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8258; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8259; - case PinkStainedGlass::PinkStainedGlass().ID: return 3584; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 6015; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 6016; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 6019; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 6020; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 6023; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 6024; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 6027; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 6028; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 6031; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 6032; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 6035; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 6036; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 6039; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 6040; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 6043; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 6044; - case PinkTerracotta::PinkTerracotta().ID: return 5811; - case PinkTulip::PinkTulip().ID: return 1119; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7135; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7136; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7137; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7138; - case PinkWool::PinkWool().ID: return 1089; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1047; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1048; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1049; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1050; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1051; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1052; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1053; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1054; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1055; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1056; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1057; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1058; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1059; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1060; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1061; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1062; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1063; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1064; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1065; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1066; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1067; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1068; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1069; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1070; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1071; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1072; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1073; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1074; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1075; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1076; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1077; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1078; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1079; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1080; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1081; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1082; - case PlayerHead::PlayerHead(0).ID: return 5512; - case PlayerHead::PlayerHead(1).ID: return 5513; - case PlayerHead::PlayerHead(2).ID: return 5514; - case PlayerHead::PlayerHead(3).ID: return 5515; - case PlayerHead::PlayerHead(4).ID: return 5516; - case PlayerHead::PlayerHead(5).ID: return 5517; - case PlayerHead::PlayerHead(6).ID: return 5518; - case PlayerHead::PlayerHead(7).ID: return 5519; - case PlayerHead::PlayerHead(8).ID: return 5520; - case PlayerHead::PlayerHead(9).ID: return 5521; - case PlayerHead::PlayerHead(10).ID: return 5522; - case PlayerHead::PlayerHead(11).ID: return 5523; - case PlayerHead::PlayerHead(12).ID: return 5524; - case PlayerHead::PlayerHead(13).ID: return 5525; - case PlayerHead::PlayerHead(14).ID: return 5526; - case PlayerHead::PlayerHead(15).ID: return 5527; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5508; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5509; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5510; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5511; - case Podzol::Podzol(true).ID: return 12; - case Podzol::Podzol(false).ID: return 13; - case PolishedAndesite::PolishedAndesite().ID: return 7; - case PolishedDiorite::PolishedDiorite().ID: return 5; - case PolishedGranite::PolishedGranite().ID: return 3; - case Poppy::Poppy().ID: return 1112; - case Potatoes::Potatoes(0).ID: return 5296; - case Potatoes::Potatoes(1).ID: return 5297; - case Potatoes::Potatoes(2).ID: return 5298; - case Potatoes::Potatoes(3).ID: return 5299; - case Potatoes::Potatoes(4).ID: return 5300; - case Potatoes::Potatoes(5).ID: return 5301; - case Potatoes::Potatoes(6).ID: return 5302; - case Potatoes::Potatoes(7).ID: return 5303; - case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 5271; - case PottedAllium::PottedAllium().ID: return 5277; - case PottedAzureBluet::PottedAzureBluet().ID: return 5278; - case PottedBirchSapling::PottedBirchSapling().ID: return 5269; - case PottedBlueOrchid::PottedBlueOrchid().ID: return 5276; - case PottedBrownMushroom::PottedBrownMushroom().ID: return 5285; - case PottedCactus::PottedCactus().ID: return 5287; - case PottedDandelion::PottedDandelion().ID: return 5274; - case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 5272; - case PottedDeadBush::PottedDeadBush().ID: return 5286; - case PottedFern::PottedFern().ID: return 5273; - case PottedJungleSapling::PottedJungleSapling().ID: return 5270; - case PottedOakSapling::PottedOakSapling().ID: return 5267; - case PottedOrangeTulip::PottedOrangeTulip().ID: return 5280; - case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 5283; - case PottedPinkTulip::PottedPinkTulip().ID: return 5282; - case PottedPoppy::PottedPoppy().ID: return 5275; - case PottedRedMushroom::PottedRedMushroom().ID: return 5284; - case PottedRedTulip::PottedRedTulip().ID: return 5279; - case PottedSpruceSapling::PottedSpruceSapling().ID: return 5268; - case PottedWhiteTulip::PottedWhiteTulip().ID: return 5281; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1004; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1005; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1006; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1007; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1008; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1009; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1010; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1011; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1012; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1013; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1014; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1015; - case Prismarine::Prismarine().ID: return 6559; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 6809; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 6811; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 6813; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 6643; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6645; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 6647; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6649; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 6651; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 6653; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6655; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 6657; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6659; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 6661; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 6663; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6665; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 6667; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6669; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 6671; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 6673; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6675; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 6677; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6679; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 6681; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 6683; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6685; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 6687; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6689; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 6691; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 6693; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6695; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 6697; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6699; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 6701; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 6703; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6705; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 6707; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6709; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 6711; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 6713; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 6715; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 6717; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 6719; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 6721; - case PrismarineBricks::PrismarineBricks().ID: return 6560; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 6803; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 6805; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 6807; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 6563; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 6565; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 6567; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 6569; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 6571; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 6573; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 6575; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 6577; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 6579; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 6581; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 6583; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 6585; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 6587; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 6589; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 6591; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 6593; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 6595; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 6597; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 6599; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 6601; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 6603; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 6605; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 6607; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 6609; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 6611; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 6613; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 6615; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 6617; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 6619; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 6621; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 6623; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 6625; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 6627; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 6629; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 6631; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 6633; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 6635; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 6637; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 6639; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 6641; - case Pumpkin::Pumpkin().ID: return 3493; - case PumpkinStem::PumpkinStem(0).ID: return 4253; - case PumpkinStem::PumpkinStem(1).ID: return 4254; - case PumpkinStem::PumpkinStem(2).ID: return 4255; - case PumpkinStem::PumpkinStem(3).ID: return 4256; - case PumpkinStem::PumpkinStem(4).ID: return 4257; - case PumpkinStem::PumpkinStem(5).ID: return 4258; - case PumpkinStem::PumpkinStem(6).ID: return 4259; - case PumpkinStem::PumpkinStem(7).ID: return 4260; - case PurpleBanner::PurpleBanner(0).ID: return 7015; - case PurpleBanner::PurpleBanner(1).ID: return 7016; - case PurpleBanner::PurpleBanner(2).ID: return 7017; - case PurpleBanner::PurpleBanner(3).ID: return 7018; - case PurpleBanner::PurpleBanner(4).ID: return 7019; - case PurpleBanner::PurpleBanner(5).ID: return 7020; - case PurpleBanner::PurpleBanner(6).ID: return 7021; - case PurpleBanner::PurpleBanner(7).ID: return 7022; - case PurpleBanner::PurpleBanner(8).ID: return 7023; - case PurpleBanner::PurpleBanner(9).ID: return 7024; - case PurpleBanner::PurpleBanner(10).ID: return 7025; - case PurpleBanner::PurpleBanner(11).ID: return 7026; - case PurpleBanner::PurpleBanner(12).ID: return 7027; - case PurpleBanner::PurpleBanner(13).ID: return 7028; - case PurpleBanner::PurpleBanner(14).ID: return 7029; - case PurpleBanner::PurpleBanner(15).ID: return 7030; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 908; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 909; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 910; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 911; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 912; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 913; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 914; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 915; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 916; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 917; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 918; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 919; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 920; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 921; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 922; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 923; - case PurpleCarpet::PurpleCarpet().ID: return 6834; - case PurpleConcrete::PurpleConcrete().ID: return 8388; - case PurpleConcretePowder::PurpleConcretePowder().ID: return 8404; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8354; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8355; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8356; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8357; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8278; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8279; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8280; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8281; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8282; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8283; - case PurpleStainedGlass::PurpleStainedGlass().ID: return 3588; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 6143; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 6144; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 6147; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 6148; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 6151; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 6152; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 6155; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 6156; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 6159; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 6160; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 6163; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 6164; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 6167; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 6168; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 6171; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 6172; - case PurpleTerracotta::PurpleTerracotta().ID: return 5815; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7151; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7152; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7153; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7154; - case PurpleWool::PurpleWool().ID: return 1093; - case PurpurBlock::PurpurBlock().ID: return 8074; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 8075; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 8076; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 8077; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 7349; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 7351; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 7353; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8079; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8081; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8083; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8085; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8087; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8089; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8091; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8093; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8095; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8097; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8099; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8101; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8103; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8105; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8107; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8109; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8111; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8113; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8115; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8117; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8119; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8121; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8123; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8125; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8127; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8129; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8131; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8133; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8135; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8137; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8139; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8141; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8143; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8145; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8147; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8149; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8151; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8153; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8155; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8157; - case QuartzBlock::QuartzBlock().ID: return 5696; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 5698; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 5699; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 5700; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 7337; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 7339; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 7341; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 5702; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 5704; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 5706; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 5708; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 5710; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 5712; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 5714; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 5716; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 5718; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 5720; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 5722; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 5724; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 5726; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 5728; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 5730; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 5732; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 5734; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 5736; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 5738; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 5740; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 5742; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 5744; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 5746; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 5748; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 5750; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 5752; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 5754; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 5756; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 5758; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 5760; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 5762; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 5764; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 5766; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 5768; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 5770; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 5772; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 5774; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 5776; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 5778; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 5780; - case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3180; - case Rail::Rail(Rail::Shape::EastWest).ID: return 3181; - case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3182; - case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3183; - case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3184; - case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3185; - case Rail::Rail(Rail::Shape::SouthEast).ID: return 3186; - case Rail::Rail(Rail::Shape::SouthWest).ID: return 3187; - case Rail::Rail(Rail::Shape::NorthWest).ID: return 3188; - case Rail::Rail(Rail::Shape::NorthEast).ID: return 3189; - case RedBanner::RedBanner(0).ID: return 7079; - case RedBanner::RedBanner(1).ID: return 7080; - case RedBanner::RedBanner(2).ID: return 7081; - case RedBanner::RedBanner(3).ID: return 7082; - case RedBanner::RedBanner(4).ID: return 7083; - case RedBanner::RedBanner(5).ID: return 7084; - case RedBanner::RedBanner(6).ID: return 7085; - case RedBanner::RedBanner(7).ID: return 7086; - case RedBanner::RedBanner(8).ID: return 7087; - case RedBanner::RedBanner(9).ID: return 7088; - case RedBanner::RedBanner(10).ID: return 7089; - case RedBanner::RedBanner(11).ID: return 7090; - case RedBanner::RedBanner(12).ID: return 7091; - case RedBanner::RedBanner(13).ID: return 7092; - case RedBanner::RedBanner(14).ID: return 7093; - case RedBanner::RedBanner(15).ID: return 7094; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 972; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 973; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 974; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 975; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 976; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 977; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 978; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 979; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 980; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 981; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 982; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 983; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 984; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 985; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 986; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 987; - case RedCarpet::RedCarpet().ID: return 6838; - case RedConcrete::RedConcrete().ID: return 8392; - case RedConcretePowder::RedConcretePowder().ID: return 8408; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8370; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8371; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8372; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8373; - case RedMushroom::RedMushroom().ID: return 1122; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4052; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4053; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4054; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4055; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4056; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4057; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4058; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4059; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4060; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4061; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4062; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4063; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4064; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4065; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4066; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4067; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4068; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4069; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4070; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4071; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4072; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4073; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4074; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4075; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4076; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4077; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4078; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4079; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4080; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4081; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4082; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4083; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4084; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4085; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4086; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4087; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4088; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4089; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4090; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4091; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4092; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4093; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4094; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4095; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4096; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4097; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4098; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4099; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4100; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4101; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4102; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4103; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4104; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4105; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4106; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4107; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4108; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4109; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4110; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4111; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4112; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4113; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4114; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4115; - case RedNetherBricks::RedNetherBricks().ID: return 8195; - case RedSand::RedSand().ID: return 67; - case RedSandstone::RedSandstone().ID: return 7175; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 7343; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 7345; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 7347; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7179; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7181; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7183; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7185; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7187; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7189; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7191; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7193; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7195; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7197; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7199; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7201; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7203; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7205; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7207; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7209; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7211; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7213; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7215; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7217; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7219; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7221; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7223; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7225; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7227; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7229; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7231; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7233; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7235; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7237; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7239; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7241; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7243; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7245; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7247; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7249; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7251; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7253; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7255; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7257; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8302; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8303; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8304; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8305; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8306; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8307; - case RedStainedGlass::RedStainedGlass().ID: return 3592; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 6271; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 6272; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 6275; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 6276; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 6279; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 6280; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 6283; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 6284; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 6287; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 6288; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 6291; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 6292; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 6295; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 6296; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 6299; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 6300; - case RedTerracotta::RedTerracotta().ID: return 5819; - case RedTulip::RedTulip().ID: return 1116; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7167; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7168; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7169; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7170; - case RedWool::RedWool().ID: return 1097; - case RedstoneBlock::RedstoneBlock().ID: return 5684; - case RedstoneLamp::RedstoneLamp(true).ID: return 4637; - case RedstoneLamp::RedstoneLamp(false).ID: return 4638; - case RedstoneOre::RedstoneOre(true).ID: return 3380; - case RedstoneOre::RedstoneOre(false).ID: return 3381; - case RedstoneTorch::RedstoneTorch(true).ID: return 3382; - case RedstoneTorch::RedstoneTorch(false).ID: return 3383; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3384; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3385; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3386; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3387; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3388; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3389; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3390; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3391; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1753; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1754; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1755; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1756; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1757; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1758; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1759; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1760; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1761; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1762; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1763; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1764; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1765; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1766; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1767; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1768; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1769; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1770; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1771; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1772; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1773; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1774; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1775; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1776; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1777; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1778; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1779; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1780; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1781; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1782; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1783; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1784; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1785; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1786; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1787; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1788; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1789; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1790; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1791; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1792; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1793; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1794; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1795; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1796; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1797; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1798; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1799; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1800; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1801; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1802; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1803; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1804; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1805; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1806; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1807; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1808; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1809; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1810; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1811; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1812; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1813; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1814; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1815; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1816; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1817; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1818; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1819; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1820; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1821; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1822; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1823; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1824; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1825; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1826; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1827; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1828; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1829; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1830; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1831; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1832; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1833; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1834; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1835; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1836; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1837; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1838; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1839; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1840; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1841; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1842; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1843; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1844; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1845; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1846; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1847; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1848; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1849; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1850; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1851; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1852; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1853; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1854; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1855; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1856; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1857; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1858; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1859; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1860; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1861; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1862; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1863; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1864; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1865; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1866; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1867; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1868; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1869; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1870; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1871; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1872; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1873; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1874; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1875; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1876; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1877; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1878; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1879; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1880; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1881; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1882; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1883; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1884; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1885; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1886; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1887; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1888; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1889; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1890; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1891; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1892; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1893; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1895; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1896; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1897; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1898; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1899; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1900; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1901; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1902; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1903; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1904; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1905; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1906; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1907; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1908; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1909; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1910; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1911; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1912; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1913; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1914; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1915; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1916; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1917; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1918; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1919; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1920; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1921; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1922; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1923; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1924; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1925; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1926; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1927; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1928; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1929; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1930; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1931; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1932; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1933; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1934; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1935; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1936; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1937; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1938; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1939; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1940; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1941; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1942; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1943; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1944; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1945; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1946; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1947; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1948; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1949; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1950; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1951; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1952; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1953; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1954; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1955; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1956; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1957; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1958; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1959; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1960; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1961; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1962; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1963; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1964; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1965; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1966; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1967; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1968; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1969; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1970; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1971; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1972; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1973; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1974; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1975; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1976; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1977; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1978; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1979; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1980; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1981; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1982; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1983; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1984; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1985; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1986; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1987; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1988; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1989; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1990; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 1991; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 1992; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 1993; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 1994; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 1995; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 1996; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 1997; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 1998; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 1999; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2000; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2001; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2002; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2003; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2004; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2005; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2006; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2007; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2008; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2009; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2010; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2011; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2012; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2013; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2014; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2015; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2016; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2017; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2018; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2019; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2020; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2021; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2022; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2023; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2024; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2025; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2026; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2027; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2028; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2029; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2030; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2031; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2032; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2033; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2034; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2035; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2036; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2037; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2038; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2039; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2040; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2041; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2042; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2043; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2044; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2045; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2046; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2047; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2048; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2049; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2050; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2051; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2052; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2053; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2054; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2055; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2056; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2057; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2058; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2059; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2060; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2061; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2062; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2063; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2064; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2065; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2066; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2067; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2068; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2069; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2070; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2071; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2072; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2073; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2074; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2075; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2076; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2077; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2078; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2079; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2080; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2081; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2082; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2083; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2084; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2085; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2086; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2087; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2088; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2089; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2090; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2091; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2092; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2093; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2094; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2095; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2096; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2097; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2098; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2099; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2100; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2101; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2102; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2103; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2104; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2105; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2106; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2107; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2108; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2109; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2110; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2111; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2112; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2113; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2114; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2115; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2116; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2117; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2118; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2119; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2120; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2121; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2122; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2123; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2124; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2125; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2126; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2127; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2128; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2129; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2130; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2131; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2132; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2133; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2134; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2135; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2136; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2137; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2138; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2139; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2140; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2141; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2142; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2143; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2144; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2145; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2146; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2147; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2148; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2149; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2150; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2151; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2152; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2153; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2154; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2155; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2156; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2157; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2158; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2159; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2160; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2161; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2162; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2163; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2164; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2165; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2166; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2167; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2168; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2169; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2170; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2171; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2172; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2173; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2174; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2175; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2176; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2177; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2178; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2179; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2180; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2181; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2182; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2183; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2184; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2185; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2186; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2187; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2188; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2189; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2190; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2191; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2192; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2193; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2194; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2195; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2196; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2197; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2198; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2199; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2200; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2201; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2202; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2203; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2204; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2205; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2206; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2207; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2208; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2209; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2210; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2211; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2212; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2213; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2214; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2215; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2216; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2217; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2218; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2219; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2220; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2221; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2222; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2223; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2224; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2225; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2226; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2227; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2228; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2229; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2230; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2231; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2232; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2233; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2234; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2235; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2236; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2237; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2238; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2239; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2240; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2241; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2242; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2243; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2244; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2245; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2246; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2247; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2248; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2249; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2250; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2251; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2252; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2253; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2254; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2255; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2256; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2257; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2258; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2259; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2260; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2261; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2262; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2263; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2264; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2265; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2266; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2267; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2268; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2269; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2270; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2271; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2272; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2273; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2274; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2275; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2276; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2277; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2278; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2279; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2280; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2281; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2282; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2283; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2284; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2285; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2286; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2287; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2288; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2289; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2290; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2291; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2292; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2293; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2294; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2295; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2296; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2297; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2298; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2299; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2300; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2301; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2302; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2303; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2304; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2305; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2306; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2307; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2308; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2309; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2310; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2311; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2312; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2313; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2314; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2315; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2316; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2317; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2318; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2319; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2320; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2321; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2322; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2323; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2324; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2325; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2326; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2327; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2328; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2329; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2330; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2331; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2332; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2333; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2334; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2335; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2336; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2337; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2338; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2339; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2340; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2341; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2342; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2343; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2344; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2345; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2346; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2347; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2348; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2349; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2350; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2351; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2352; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2353; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2354; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2355; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2356; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2357; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2358; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2359; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2360; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2361; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2362; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2363; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2364; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2365; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2366; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2367; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2368; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2369; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2370; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2371; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2372; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2373; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2374; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2375; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2376; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2377; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2378; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2379; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2380; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2381; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2382; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2383; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2384; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2385; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2386; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2387; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2388; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2389; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2390; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2391; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2392; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2393; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2394; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2395; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2396; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2397; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2398; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2399; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2400; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2401; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2402; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2403; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2404; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2405; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2406; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2407; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2408; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2409; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2410; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2411; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2412; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2413; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2414; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2415; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2416; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2417; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2418; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2419; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2420; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2421; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2422; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2423; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2424; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2425; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2426; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2427; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2428; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2429; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2430; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2431; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2432; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2433; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2434; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2435; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2436; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2437; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2438; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2439; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2440; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2441; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2442; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2443; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2444; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2445; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2446; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2447; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2448; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2449; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2450; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2451; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2452; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2453; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2454; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2455; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2456; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2457; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2458; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2459; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2460; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2461; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2462; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2463; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2464; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2465; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2466; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2467; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2468; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2469; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2470; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2471; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2472; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2473; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2474; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2475; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2476; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2477; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2478; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2479; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2480; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2481; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2482; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2483; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2484; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2485; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2486; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2487; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2488; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2489; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2490; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2491; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2492; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2493; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2494; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2495; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2496; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2497; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2498; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2499; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2500; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2501; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2502; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2503; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2504; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2505; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2506; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2507; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2508; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2509; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2510; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2511; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2512; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2513; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2514; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2515; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2516; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2517; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2518; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2519; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2520; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2521; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2522; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2523; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2524; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2525; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2526; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2527; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2528; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2529; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2530; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2531; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2532; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2533; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2534; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2535; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2536; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2537; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2538; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2539; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2540; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2541; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2542; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2543; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2544; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2545; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2546; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2547; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2548; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2549; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2550; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2551; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2552; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2553; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2554; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2555; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2556; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2557; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2558; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2559; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2560; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2561; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2562; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2563; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2564; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2565; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2566; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2567; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2568; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2569; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2570; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2571; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2572; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2573; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2574; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2575; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2576; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2577; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2578; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2579; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2580; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2581; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2582; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2583; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2584; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2585; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2586; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2587; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2588; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2589; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2590; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2591; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2592; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2593; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2594; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2595; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2596; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2597; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2598; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2599; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2600; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2601; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2602; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2603; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2604; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2605; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2606; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2607; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2608; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2609; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2610; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2611; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2612; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2613; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2614; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2615; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2616; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2617; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2618; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2619; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2620; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2621; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2622; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2623; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2624; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2625; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2626; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2627; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2628; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2629; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2630; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2631; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2632; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2633; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2634; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2635; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2636; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2637; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2638; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2639; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2640; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2641; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2642; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2643; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2644; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2645; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2646; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2647; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2648; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2649; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2650; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2651; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2652; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2653; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2654; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2655; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2656; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2657; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2658; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2659; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2660; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2661; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2662; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2663; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2664; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2665; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2666; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2667; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2668; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2669; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2670; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2671; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2672; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2673; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2674; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2675; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2676; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2677; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2678; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2679; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2680; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2681; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2682; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2683; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2684; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2685; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2686; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2687; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2688; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2689; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2690; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2691; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2692; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2693; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2694; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2695; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2696; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2697; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2698; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2699; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2700; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2701; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2702; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2703; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2704; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2705; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2706; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2707; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2708; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2709; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2710; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2711; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2712; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2713; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2714; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2715; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2716; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2717; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2718; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2719; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2720; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2721; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2722; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2723; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2724; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2725; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2726; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2727; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2728; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2729; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2730; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2731; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2732; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2733; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2734; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2735; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2736; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2737; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2738; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2739; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2740; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2741; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2742; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2743; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2744; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2745; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2746; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2747; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2748; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2749; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2750; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2751; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2752; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2753; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2754; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2755; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2756; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2757; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2758; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2759; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2760; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2761; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2762; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2763; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2764; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2765; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2766; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2767; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2768; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2769; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2770; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2771; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2772; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2773; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2774; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2775; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2776; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2777; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2778; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2779; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2780; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2781; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2782; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2783; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2784; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2785; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2786; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2787; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2788; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2789; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2790; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2791; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2792; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2793; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2794; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2795; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2796; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2797; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2798; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2799; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2800; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2801; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2802; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2803; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2804; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2805; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2806; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2807; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2808; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2809; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2810; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2811; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2812; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2813; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2814; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2815; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2816; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2817; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2818; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2819; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2820; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2821; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2822; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2823; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2824; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2825; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2826; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2827; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2828; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2829; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2830; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2831; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2832; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2833; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2834; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2835; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2836; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2837; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2838; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2839; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2840; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2841; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2842; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2843; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2844; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2845; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2846; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2847; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2848; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2849; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2850; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2851; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2852; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2853; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2854; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2855; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2856; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2857; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2858; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2859; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2860; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2861; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2862; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2863; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2864; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2865; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2866; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2867; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2868; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2869; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2870; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2871; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2872; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2873; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2874; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2875; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2876; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2877; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2878; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2879; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2880; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2881; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2882; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2883; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2884; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2885; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2886; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2887; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2888; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2889; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2890; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2891; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2892; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2893; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2895; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2896; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2897; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2898; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2899; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2900; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2901; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2902; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2903; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2904; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2905; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2906; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2907; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2908; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2909; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2910; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2911; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2912; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2913; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2914; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2915; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2916; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2917; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2918; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2919; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2920; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2921; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2922; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2923; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2924; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2925; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2926; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2927; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2928; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2929; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2930; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2931; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2932; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2933; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2934; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2935; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2936; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2937; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2938; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2939; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2940; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2941; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2942; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2943; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2944; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2945; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2946; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2947; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2948; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2949; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2950; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2951; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2952; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2953; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2954; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2955; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2956; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2957; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2958; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2959; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2960; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2961; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2962; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2963; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2964; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2965; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2966; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2967; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2968; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2969; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2970; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2971; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2972; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2973; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2974; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2975; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2976; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2977; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2978; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2979; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2980; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2981; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2982; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2983; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2984; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2985; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2986; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2987; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2988; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2989; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2990; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2991; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2992; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2993; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2994; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2995; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2996; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2997; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2998; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2999; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3000; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3001; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3002; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3003; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3004; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3005; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3006; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3007; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3008; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3009; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3010; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3011; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3012; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3013; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3014; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3015; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3016; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3017; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3018; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3019; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3020; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3021; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3022; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3023; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3024; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3025; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3026; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3027; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3028; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3029; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3030; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3031; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3032; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3033; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3034; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3035; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3036; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3037; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3038; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3039; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3040; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3041; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3042; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3043; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3044; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3045; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3046; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3047; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3048; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3514; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3515; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3516; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3517; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3518; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3519; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3520; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3521; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3522; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3523; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3524; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3525; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3526; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3527; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3528; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3529; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3530; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3531; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3532; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3533; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3534; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3535; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3536; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3537; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3538; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3539; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3540; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3541; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3542; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3543; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3544; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3545; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3546; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3547; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3548; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3549; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3550; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3551; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3552; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3553; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3554; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3555; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3556; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3557; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3558; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3559; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3560; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3561; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3562; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3563; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3564; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3565; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3566; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3567; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3568; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3569; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3570; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3571; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3572; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3573; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3574; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3575; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3576; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3577; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8165; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8166; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8167; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8168; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8169; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8170; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8171; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8172; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8173; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8174; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8175; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8176; - case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 6847; - case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 6848; - case Sand::Sand().ID: return 66; - case Sandstone::Sandstone().ID: return 245; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 7301; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 7303; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 7305; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 4652; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 4654; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 4656; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 4658; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 4660; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 4662; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 4664; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 4666; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 4668; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 4670; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 4672; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 4674; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 4676; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 4678; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 4680; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 4682; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 4684; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 4686; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 4688; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 4690; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 4692; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 4694; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 4696; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 4698; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 4700; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 4702; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 4704; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 4706; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 4708; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 4710; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 4712; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 4714; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 4716; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 4718; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 4720; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 4722; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 4724; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 4726; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 4728; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 4730; - case SeaLantern::SeaLantern().ID: return 6820; - case SeaPickle::SeaPickle(1).ID: return 8581; - case SeaPickle::SeaPickle(2).ID: return 8583; - case SeaPickle::SeaPickle(3).ID: return 8585; - case SeaPickle::SeaPickle(4).ID: return 8587; - case Seagrass::Seagrass().ID: return 1044; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8212; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8213; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8214; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8215; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8216; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8217; - case OakSign::OakSign(0).ID: return 3077; - case OakSign::OakSign(1).ID: return 3079; - case OakSign::OakSign(2).ID: return 3081; - case OakSign::OakSign(3).ID: return 3083; - case OakSign::OakSign(4).ID: return 3085; - case OakSign::OakSign(5).ID: return 3087; - case OakSign::OakSign(6).ID: return 3089; - case OakSign::OakSign(7).ID: return 3091; - case OakSign::OakSign(8).ID: return 3093; - case OakSign::OakSign(9).ID: return 3095; - case OakSign::OakSign(10).ID: return 3097; - case OakSign::OakSign(11).ID: return 3099; - case OakSign::OakSign(12).ID: return 3101; - case OakSign::OakSign(13).ID: return 3103; - case OakSign::OakSign(14).ID: return 3105; - case OakSign::OakSign(15).ID: return 3107; - case SkeletonSkull::SkeletonSkull(0).ID: return 5452; - case SkeletonSkull::SkeletonSkull(1).ID: return 5453; - case SkeletonSkull::SkeletonSkull(2).ID: return 5454; - case SkeletonSkull::SkeletonSkull(3).ID: return 5455; - case SkeletonSkull::SkeletonSkull(4).ID: return 5456; - case SkeletonSkull::SkeletonSkull(5).ID: return 5457; - case SkeletonSkull::SkeletonSkull(6).ID: return 5458; - case SkeletonSkull::SkeletonSkull(7).ID: return 5459; - case SkeletonSkull::SkeletonSkull(8).ID: return 5460; - case SkeletonSkull::SkeletonSkull(9).ID: return 5461; - case SkeletonSkull::SkeletonSkull(10).ID: return 5462; - case SkeletonSkull::SkeletonSkull(11).ID: return 5463; - case SkeletonSkull::SkeletonSkull(12).ID: return 5464; - case SkeletonSkull::SkeletonSkull(13).ID: return 5465; - case SkeletonSkull::SkeletonSkull(14).ID: return 5466; - case SkeletonSkull::SkeletonSkull(15).ID: return 5467; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5448; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5449; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5450; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5451; - case SlimeBlock::SlimeBlock().ID: return 6493; - case SmoothQuartz::SmoothQuartz().ID: return 7356; - case SmoothRedSandstone::SmoothRedSandstone().ID: return 7357; - case SmoothSandstone::SmoothSandstone().ID: return 7355; - case SmoothStone::SmoothStone().ID: return 7354; - case Snow::Snow(1).ID: return 3416; - case Snow::Snow(2).ID: return 3417; - case Snow::Snow(3).ID: return 3418; - case Snow::Snow(4).ID: return 3419; - case Snow::Snow(5).ID: return 3420; - case Snow::Snow(6).ID: return 3421; - case Snow::Snow(7).ID: return 3422; - case Snow::Snow(8).ID: return 3423; - case SnowBlock::SnowBlock().ID: return 3425; - case SoulSand::SoulSand().ID: return 3495; - case Spawner::Spawner().ID: return 1648; - case Sponge::Sponge().ID: return 228; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5328; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5329; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5330; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5331; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5332; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5333; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5334; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5335; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5336; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5337; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5338; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5339; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5340; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5341; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5342; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5343; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5344; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5345; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5346; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5347; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5348; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5349; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5350; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5351; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 7678; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 7679; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 7680; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 7681; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 7682; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 7683; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 7684; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 7685; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 7686; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 7687; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 7688; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 7689; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 7690; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 7691; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 7692; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 7693; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 7694; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 7695; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 7696; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 7697; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 7698; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 7699; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 7700; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 7701; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 7702; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 7703; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 7704; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 7705; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 7706; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 7707; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 7708; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 7709; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 7710; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 7711; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 7712; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 7713; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 7714; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 7715; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 7716; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 7717; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 7718; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 7719; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 7720; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 7721; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 7722; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 7723; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 7724; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 7725; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 7726; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 7727; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 7728; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 7729; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 7730; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 7731; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 7732; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 7733; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 7734; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 7735; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 7736; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 7737; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 7738; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 7739; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 7740; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 7741; - case SpruceFence::SpruceFence(true, true, true, true).ID: return 7520; - case SpruceFence::SpruceFence(true, true, true, false).ID: return 7521; - case SpruceFence::SpruceFence(true, true, false, true).ID: return 7524; - case SpruceFence::SpruceFence(true, true, false, false).ID: return 7525; - case SpruceFence::SpruceFence(true, false, true, true).ID: return 7528; - case SpruceFence::SpruceFence(true, false, true, false).ID: return 7529; - case SpruceFence::SpruceFence(true, false, false, true).ID: return 7532; - case SpruceFence::SpruceFence(true, false, false, false).ID: return 7533; - case SpruceFence::SpruceFence(false, true, true, true).ID: return 7536; - case SpruceFence::SpruceFence(false, true, true, false).ID: return 7537; - case SpruceFence::SpruceFence(false, true, false, true).ID: return 7540; - case SpruceFence::SpruceFence(false, true, false, false).ID: return 7541; - case SpruceFence::SpruceFence(false, false, true, true).ID: return 7544; - case SpruceFence::SpruceFence(false, false, true, false).ID: return 7545; - case SpruceFence::SpruceFence(false, false, false, true).ID: return 7548; - case SpruceFence::SpruceFence(false, false, false, false).ID: return 7549; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7358; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7359; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7360; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7361; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7362; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7363; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7364; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7365; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7366; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7367; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7368; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7369; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7370; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7371; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7372; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7373; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7374; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7375; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7376; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7377; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7378; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7379; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7380; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7381; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7382; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7383; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7384; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7385; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7386; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7387; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7388; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7389; - case SpruceLeaves::SpruceLeaves(1, true).ID: return 158; - case SpruceLeaves::SpruceLeaves(1, false).ID: return 159; - case SpruceLeaves::SpruceLeaves(2, true).ID: return 160; - case SpruceLeaves::SpruceLeaves(2, false).ID: return 161; - case SpruceLeaves::SpruceLeaves(3, true).ID: return 162; - case SpruceLeaves::SpruceLeaves(3, false).ID: return 163; - case SpruceLeaves::SpruceLeaves(4, true).ID: return 164; - case SpruceLeaves::SpruceLeaves(4, false).ID: return 165; - case SpruceLeaves::SpruceLeaves(5, true).ID: return 166; - case SpruceLeaves::SpruceLeaves(5, false).ID: return 167; - case SpruceLeaves::SpruceLeaves(6, true).ID: return 168; - case SpruceLeaves::SpruceLeaves(6, false).ID: return 169; - case SpruceLeaves::SpruceLeaves(7, true).ID: return 170; - case SpruceLeaves::SpruceLeaves(7, false).ID: return 171; - case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 75; - case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 76; - case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 77; - case SprucePlanks::SprucePlanks().ID: return 16; - case SprucePressurePlate::SprucePressurePlate(true).ID: return 3370; - case SprucePressurePlate::SprucePressurePlate(false).ID: return 3371; - case SpruceSapling::SpruceSapling(0).ID: return 23; - case SpruceSapling::SpruceSapling(1).ID: return 24; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 7265; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 7267; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 7269; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 4886; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 4888; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 4890; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 4892; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 4894; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 4896; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 4898; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 4900; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 4902; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 4904; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 4906; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 4908; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 4910; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 4912; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 4914; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 4916; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 4918; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 4920; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 4922; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 4924; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 4926; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 4928; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 4930; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 4932; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 4934; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 4936; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 4938; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 4940; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 4942; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 4944; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 4946; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 4948; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 4950; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 4952; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 4954; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 4956; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 4958; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 4960; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 4962; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 4964; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: return 3659; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: return 3661; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: return 3663; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: return 3665; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 3667; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 3669; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 3671; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 3673; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: return 3675; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: return 3677; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: return 3679; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: return 3681; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 3683; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 3685; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 3687; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 3689; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: return 3691; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: return 3693; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: return 3695; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: return 3697; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 3699; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 3701; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 3703; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 3705; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: return 3707; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: return 3709; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: return 3711; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: return 3713; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 3715; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 3717; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 3719; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 3721; - case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 111; - case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 112; - case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 113; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1028; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1029; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1030; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1031; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1032; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1033; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1034; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1035; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1036; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1037; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1038; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1039; - case Stone::Stone().ID: return 1; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 7325; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 7327; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 7329; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4414; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4416; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4418; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4420; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4422; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4424; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4426; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4428; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4430; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4432; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4434; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4436; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4438; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4440; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4442; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4444; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4446; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4448; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4450; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4452; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4454; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4456; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4458; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4460; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4462; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4464; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4466; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4468; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4470; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4472; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4474; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4476; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4478; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4480; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4482; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4484; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4486; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4488; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4490; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4492; - case StoneBricks::StoneBricks().ID: return 3984; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3392; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3393; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3394; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3395; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3396; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3397; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3398; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3399; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3400; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3401; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3402; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3403; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3404; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3405; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3406; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3407; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3408; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3409; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3410; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3411; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3412; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3413; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3414; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3415; - case StonePressurePlate::StonePressurePlate(true).ID: return 3302; - case StonePressurePlate::StonePressurePlate(false).ID: return 3303; - case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 7295; - case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 7297; - case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 7299; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 99; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 100; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 101; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 138; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 139; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 140; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 93; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 94; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 95; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 132; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 133; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 134; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 102; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 103; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 104; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 141; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 142; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 143; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 96; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 97; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 98; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 135; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 136; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 137; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 105; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 106; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 107; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 126; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 127; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 128; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 90; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 91; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 92; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 129; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 130; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 131; - case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 8595; - case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 8596; - case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 8597; - case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 8598; - case StructureVoid::StructureVoid().ID: return 8199; - case SugarCane::SugarCane(0).ID: return 3443; - case SugarCane::SugarCane(1).ID: return 3444; - case SugarCane::SugarCane(2).ID: return 3445; - case SugarCane::SugarCane(3).ID: return 3446; - case SugarCane::SugarCane(4).ID: return 3447; - case SugarCane::SugarCane(5).ID: return 3448; - case SugarCane::SugarCane(6).ID: return 3449; - case SugarCane::SugarCane(7).ID: return 3450; - case SugarCane::SugarCane(8).ID: return 3451; - case SugarCane::SugarCane(9).ID: return 3452; - case SugarCane::SugarCane(10).ID: return 3453; - case SugarCane::SugarCane(11).ID: return 3454; - case SugarCane::SugarCane(12).ID: return 3455; - case SugarCane::SugarCane(13).ID: return 3456; - case SugarCane::SugarCane(14).ID: return 3457; - case SugarCane::SugarCane(15).ID: return 3458; - case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 6843; - case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 6844; - case TNT::TNT(true).ID: return 1126; - case TNT::TNT(false).ID: return 1127; - case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 6851; - case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 6852; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1045; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1046; - case Terracotta::Terracotta().ID: return 6840; - case Torch::Torch().ID: return 1131; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 5581; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 5583; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 5585; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 5587; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 5589; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 5591; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 5593; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 5595; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 5597; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 5599; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 5601; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 5603; - case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 4756; - case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 4757; - case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 4758; - case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 4759; - case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 4760; - case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 4761; - case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 4762; - case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 4763; - case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 4764; - case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 4765; - case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 4766; - case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 4767; - case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 4768; - case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 4769; - case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 4770; - case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 4771; - case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 4772; - case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 4773; - case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 4774; - case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 4775; - case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 4776; - case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 4777; - case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 4778; - case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 4779; - case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 4780; - case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 4781; - case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 4782; - case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 4783; - case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 4784; - case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 4785; - case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 4786; - case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 4787; - case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 4788; - case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 4789; - case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 4790; - case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 4791; - case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 4792; - case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 4793; - case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 4794; - case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 4795; - case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 4796; - case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 4797; - case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 4798; - case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 4799; - case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 4800; - case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 4801; - case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 4802; - case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 4803; - case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 4804; - case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 4805; - case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 4806; - case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 4807; - case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 4808; - case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 4809; - case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 4810; - case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 4811; - case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 4812; - case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 4813; - case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 4814; - case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 4815; - case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 4816; - case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 4817; - case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 4818; - case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 4819; - case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 4820; - case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 4821; - case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 4822; - case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 4823; - case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 4824; - case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 4825; - case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 4826; - case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 4827; - case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 4828; - case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 4829; - case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 4830; - case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 4831; - case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 4832; - case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 4833; - case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 4834; - case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 4835; - case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 4836; - case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 4837; - case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 4838; - case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 4839; - case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 4840; - case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 4841; - case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 4842; - case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 4843; - case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 4844; - case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 4845; - case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 4846; - case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 4847; - case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 4848; - case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 4849; - case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 4850; - case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 4851; - case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 4852; - case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 4853; - case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 4854; - case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 4855; - case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 4856; - case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 4857; - case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 4858; - case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 4859; - case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 4860; - case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 4861; - case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 4862; - case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 4863; - case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 4864; - case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 4865; - case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 4866; - case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 4867; - case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 4868; - case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 4869; - case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 4870; - case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 4871; - case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 4872; - case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 4873; - case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 4874; - case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 4875; - case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 4876; - case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 4877; - case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 4878; - case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 4879; - case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 4880; - case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 4881; - case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 4882; - case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 4883; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 4740; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 4741; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 4742; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 4743; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 4744; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 4745; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 4746; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 4747; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 4748; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 4749; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 4750; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 4751; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 4752; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 4753; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 4754; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 4755; - case TubeCoral::TubeCoral().ID: return 8471; - case TubeCoralBlock::TubeCoralBlock().ID: return 8455; - case TubeCoralFan::TubeCoralFan().ID: return 8571; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8521; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8523; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8525; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8527; - case TurtleEgg::TurtleEgg(1, 0).ID: return 8438; - case TurtleEgg::TurtleEgg(1, 1).ID: return 8439; - case TurtleEgg::TurtleEgg(1, 2).ID: return 8440; - case TurtleEgg::TurtleEgg(2, 0).ID: return 8441; - case TurtleEgg::TurtleEgg(2, 1).ID: return 8442; - case TurtleEgg::TurtleEgg(2, 2).ID: return 8443; - case TurtleEgg::TurtleEgg(3, 0).ID: return 8444; - case TurtleEgg::TurtleEgg(3, 1).ID: return 8445; - case TurtleEgg::TurtleEgg(3, 2).ID: return 8446; - case TurtleEgg::TurtleEgg(4, 0).ID: return 8447; - case TurtleEgg::TurtleEgg(4, 1).ID: return 8448; - case TurtleEgg::TurtleEgg(4, 2).ID: return 8449; - case Vine::Vine(true, true, true, true, true).ID: return 4269; - case Vine::Vine(true, true, true, true, false).ID: return 4270; - case Vine::Vine(true, true, true, false, true).ID: return 4271; - case Vine::Vine(true, true, true, false, false).ID: return 4272; - case Vine::Vine(true, true, false, true, true).ID: return 4273; - case Vine::Vine(true, true, false, true, false).ID: return 4274; - case Vine::Vine(true, true, false, false, true).ID: return 4275; - case Vine::Vine(true, true, false, false, false).ID: return 4276; - case Vine::Vine(true, false, true, true, true).ID: return 4277; - case Vine::Vine(true, false, true, true, false).ID: return 4278; - case Vine::Vine(true, false, true, false, true).ID: return 4279; - case Vine::Vine(true, false, true, false, false).ID: return 4280; - case Vine::Vine(true, false, false, true, true).ID: return 4281; - case Vine::Vine(true, false, false, true, false).ID: return 4282; - case Vine::Vine(true, false, false, false, true).ID: return 4283; - case Vine::Vine(true, false, false, false, false).ID: return 4284; - case Vine::Vine(false, true, true, true, true).ID: return 4285; - case Vine::Vine(false, true, true, true, false).ID: return 4286; - case Vine::Vine(false, true, true, false, true).ID: return 4287; - case Vine::Vine(false, true, true, false, false).ID: return 4288; - case Vine::Vine(false, true, false, true, true).ID: return 4289; - case Vine::Vine(false, true, false, true, false).ID: return 4290; - case Vine::Vine(false, true, false, false, true).ID: return 4291; - case Vine::Vine(false, true, false, false, false).ID: return 4292; - case Vine::Vine(false, false, true, true, true).ID: return 4293; - case Vine::Vine(false, false, true, true, false).ID: return 4294; - case Vine::Vine(false, false, true, false, true).ID: return 4295; - case Vine::Vine(false, false, true, false, false).ID: return 4296; - case Vine::Vine(false, false, false, true, true).ID: return 4297; - case Vine::Vine(false, false, false, true, false).ID: return 4298; - case Vine::Vine(false, false, false, false, true).ID: return 4299; - case Vine::Vine(false, false, false, false, false).ID: return 4300; - case VoidAir::VoidAir().ID: return 8591; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3271; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3273; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3275; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3277; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1132; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1133; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1134; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1135; - case Water::Water(0).ID: return 34; - case Water::Water(1).ID: return 35; - case Water::Water(2).ID: return 36; - case Water::Water(3).ID: return 37; - case Water::Water(4).ID: return 38; - case Water::Water(5).ID: return 39; - case Water::Water(6).ID: return 40; - case Water::Water(7).ID: return 41; - case Water::Water(8).ID: return 42; - case Water::Water(9).ID: return 43; - case Water::Water(10).ID: return 44; - case Water::Water(11).ID: return 45; - case Water::Water(12).ID: return 46; - case Water::Water(13).ID: return 47; - case Water::Water(14).ID: return 48; - case Water::Water(15).ID: return 49; - case WetSponge::WetSponge().ID: return 229; - case Wheat::Wheat(0).ID: return 3052; - case Wheat::Wheat(1).ID: return 3053; - case Wheat::Wheat(2).ID: return 3054; - case Wheat::Wheat(3).ID: return 3055; - case Wheat::Wheat(4).ID: return 3056; - case Wheat::Wheat(5).ID: return 3057; - case Wheat::Wheat(6).ID: return 3058; - case Wheat::Wheat(7).ID: return 3059; - case WhiteBanner::WhiteBanner(0).ID: return 6855; - case WhiteBanner::WhiteBanner(1).ID: return 6856; - case WhiteBanner::WhiteBanner(2).ID: return 6857; - case WhiteBanner::WhiteBanner(3).ID: return 6858; - case WhiteBanner::WhiteBanner(4).ID: return 6859; - case WhiteBanner::WhiteBanner(5).ID: return 6860; - case WhiteBanner::WhiteBanner(6).ID: return 6861; - case WhiteBanner::WhiteBanner(7).ID: return 6862; - case WhiteBanner::WhiteBanner(8).ID: return 6863; - case WhiteBanner::WhiteBanner(9).ID: return 6864; - case WhiteBanner::WhiteBanner(10).ID: return 6865; - case WhiteBanner::WhiteBanner(11).ID: return 6866; - case WhiteBanner::WhiteBanner(12).ID: return 6867; - case WhiteBanner::WhiteBanner(13).ID: return 6868; - case WhiteBanner::WhiteBanner(14).ID: return 6869; - case WhiteBanner::WhiteBanner(15).ID: return 6870; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 748; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 749; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 750; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 751; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 752; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 753; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 754; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 755; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 756; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 757; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 758; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 759; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 760; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 761; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 762; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 763; - case WhiteCarpet::WhiteCarpet().ID: return 6824; - case WhiteConcrete::WhiteConcrete().ID: return 8378; - case WhiteConcretePowder::WhiteConcretePowder().ID: return 8394; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8314; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8315; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8316; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8317; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8218; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8219; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8220; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8221; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8222; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8223; - case WhiteStainedGlass::WhiteStainedGlass().ID: return 3578; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 5823; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 5824; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 5827; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 5828; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 5831; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 5832; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 5835; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 5836; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 5839; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 5840; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 5843; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 5844; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 5847; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 5848; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 5851; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 5852; - case WhiteTerracotta::WhiteTerracotta().ID: return 5805; - case WhiteTulip::WhiteTulip().ID: return 1118; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7111; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7112; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7113; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7114; - case WhiteWool::WhiteWool().ID: return 1083; - case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 5472; - case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 5473; - case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 5474; - case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 5475; - case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 5476; - case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 5477; - case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 5478; - case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 5479; - case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 5480; - case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 5481; - case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 5482; - case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 5483; - case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 5484; - case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 5485; - case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 5486; - case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 5487; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5468; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5469; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5470; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5471; - case YellowBanner::YellowBanner(0).ID: return 6919; - case YellowBanner::YellowBanner(1).ID: return 6920; - case YellowBanner::YellowBanner(2).ID: return 6921; - case YellowBanner::YellowBanner(3).ID: return 6922; - case YellowBanner::YellowBanner(4).ID: return 6923; - case YellowBanner::YellowBanner(5).ID: return 6924; - case YellowBanner::YellowBanner(6).ID: return 6925; - case YellowBanner::YellowBanner(7).ID: return 6926; - case YellowBanner::YellowBanner(8).ID: return 6927; - case YellowBanner::YellowBanner(9).ID: return 6928; - case YellowBanner::YellowBanner(10).ID: return 6929; - case YellowBanner::YellowBanner(11).ID: return 6930; - case YellowBanner::YellowBanner(12).ID: return 6931; - case YellowBanner::YellowBanner(13).ID: return 6932; - case YellowBanner::YellowBanner(14).ID: return 6933; - case YellowBanner::YellowBanner(15).ID: return 6934; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 812; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 813; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 814; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 815; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 816; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 817; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 818; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 819; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 820; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 821; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 822; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 823; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 824; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 825; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 826; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 827; - case YellowCarpet::YellowCarpet().ID: return 6828; - case YellowConcrete::YellowConcrete().ID: return 8382; - case YellowConcretePowder::YellowConcretePowder().ID: return 8398; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8330; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8331; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8332; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8333; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8242; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8243; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8244; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8245; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8246; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8247; - case YellowStainedGlass::YellowStainedGlass().ID: return 3582; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 5951; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 5952; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 5955; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 5956; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 5959; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 5960; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 5963; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 5964; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 5967; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 5968; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 5971; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 5972; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 5975; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 5976; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 5979; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 5980; - case YellowTerracotta::YellowTerracotta().ID: return 5809; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7127; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7128; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7129; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7130; - case YellowWool::YellowWool().ID: return 1087; - case ZombieHead::ZombieHead(0).ID: return 5492; - case ZombieHead::ZombieHead(1).ID: return 5493; - case ZombieHead::ZombieHead(2).ID: return 5494; - case ZombieHead::ZombieHead(3).ID: return 5495; - case ZombieHead::ZombieHead(4).ID: return 5496; - case ZombieHead::ZombieHead(5).ID: return 5497; - case ZombieHead::ZombieHead(6).ID: return 5498; - case ZombieHead::ZombieHead(7).ID: return 5499; - case ZombieHead::ZombieHead(8).ID: return 5500; - case ZombieHead::ZombieHead(9).ID: return 5501; - case ZombieHead::ZombieHead(10).ID: return 5502; - case ZombieHead::ZombieHead(11).ID: return 5503; - case ZombieHead::ZombieHead(12).ID: return 5504; - case ZombieHead::ZombieHead(13).ID: return 5505; - case ZombieHead::ZombieHead(14).ID: return 5506; - case ZombieHead::ZombieHead(15).ID: return 5507; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5488; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5489; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5490; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5491; - default: return 0; - } + switch (Block.ID) + { + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5400; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5401; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5402; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5403; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5404; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5405; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5406; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5407; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5408; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5409; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5410; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5411; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5412; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5413; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5414; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5415; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5416; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5417; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5418; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5419; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5420; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5421; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5422; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5423; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7870; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7871; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7872; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7873; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7874; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7875; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7876; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7877; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7878; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7879; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7880; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7881; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7882; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7883; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7884; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7885; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7886; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7887; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7888; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7889; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7890; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7891; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7892; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7893; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7894; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7895; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7896; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7897; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7898; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7899; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7900; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7901; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7902; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7903; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7904; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7905; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7906; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7907; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7908; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7909; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7910; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7911; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7912; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7913; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7914; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7915; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7916; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7917; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7918; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7919; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7920; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7921; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7922; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7923; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7924; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7925; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 7926; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 7927; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 7928; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 7929; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 7930; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 7931; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 7932; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 7933; + case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 7616; + case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 7617; + case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 7620; + case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 7621; + case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 7624; + case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 7625; + case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 7628; + case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 7629; + case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 7632; + case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 7633; + case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 7636; + case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 7637; + case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 7640; + case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 7641; + case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 7644; + case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 7645; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7454; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7455; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7456; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7457; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7458; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7459; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7460; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7461; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7462; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7463; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7464; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7465; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7466; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7467; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7468; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7469; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7470; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7471; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7472; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7473; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7474; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7475; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7476; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7477; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7478; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7479; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7480; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7481; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7482; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7483; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7484; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7485; + case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 200; + case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 201; + case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 202; + case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 203; + case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 204; + case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 205; + case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 206; + case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 207; + case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 208; + case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 209; + case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 210; + case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 211; + case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 212; + case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 213; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 84; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 85; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 86; + case AcaciaPlanks::AcaciaPlanks().ID: return 19; + case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3376; + case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3377; + case AcaciaSapling::AcaciaSapling(0).ID: return 29; + case AcaciaSapling::AcaciaSapling(1).ID: return 30; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 7283; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 7285; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 7287; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6334; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6336; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6338; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6340; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6342; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6344; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6346; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6348; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6350; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6352; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6354; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6356; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6358; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6360; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6362; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6364; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6366; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6368; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6370; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6372; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6374; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6376; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6378; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6380; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6382; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6384; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6386; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6388; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6390; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6392; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6394; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6396; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6398; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6400; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6402; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6404; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6406; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6408; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6410; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6412; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 3851; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 3853; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 3855; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 3857; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 3859; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 3861; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 3863; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 3865; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 3867; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 3869; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 3871; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 3873; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 3875; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 3877; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 3879; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 3881; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 3883; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 3885; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 3887; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 3889; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 3891; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 3893; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 3895; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 3897; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 3899; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 3901; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 3903; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 3905; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 3907; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 3909; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 3911; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 3913; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 120; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 121; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 122; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 5781; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 5782; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 5783; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 5784; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 5785; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 5786; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 5787; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 5788; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 5789; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 5790; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 5791; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 5792; + case Air::Air().ID: return -0; + case Allium::Allium().ID: return 1114; + case Andesite::Andesite().ID: return 6; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5568; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5569; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 5570; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 5571; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4249; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4250; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4251; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4252; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4245; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4246; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4247; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4248; + case AzureBluet::AzureBluet().ID: return 1115; + case Barrier::Barrier().ID: return 6494; + case Beacon::Beacon().ID: return 5137; + case Bedrock::Bedrock().ID: return 33; + case Beetroots::Beetroots(0).ID: return 8159; + case Beetroots::Beetroots(1).ID: return 8160; + case Beetroots::Beetroots(2).ID: return 8161; + case Beetroots::Beetroots(3).ID: return 8162; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5352; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5353; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5354; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5355; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5356; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5357; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5358; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5359; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5360; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5361; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5362; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5363; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5364; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5365; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5366; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5367; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5368; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5369; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5370; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5371; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5372; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5373; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5374; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5375; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 7742; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7743; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7744; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7745; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7746; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7747; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7748; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7749; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 7750; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7751; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7752; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7753; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7754; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7755; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7756; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7757; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 7758; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7759; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7760; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7761; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7762; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7763; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7764; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7765; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 7766; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7767; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7768; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7769; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7770; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7771; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7772; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7773; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 7774; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7775; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7776; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7777; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7778; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7779; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7780; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7781; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 7782; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7783; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7784; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7785; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7786; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7787; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7788; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7789; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 7790; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7791; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7792; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7793; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7794; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7795; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7796; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7797; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 7798; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 7799; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 7800; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 7801; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 7802; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 7803; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 7804; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 7805; + case BirchFence::BirchFence(true, true, true, true).ID: return 7552; + case BirchFence::BirchFence(true, true, true, false).ID: return 7553; + case BirchFence::BirchFence(true, true, false, true).ID: return 7556; + case BirchFence::BirchFence(true, true, false, false).ID: return 7557; + case BirchFence::BirchFence(true, false, true, true).ID: return 7560; + case BirchFence::BirchFence(true, false, true, false).ID: return 7561; + case BirchFence::BirchFence(true, false, false, true).ID: return 7564; + case BirchFence::BirchFence(true, false, false, false).ID: return 7565; + case BirchFence::BirchFence(false, true, true, true).ID: return 7568; + case BirchFence::BirchFence(false, true, true, false).ID: return 7569; + case BirchFence::BirchFence(false, true, false, true).ID: return 7572; + case BirchFence::BirchFence(false, true, false, false).ID: return 7573; + case BirchFence::BirchFence(false, false, true, true).ID: return 7576; + case BirchFence::BirchFence(false, false, true, false).ID: return 7577; + case BirchFence::BirchFence(false, false, false, true).ID: return 7580; + case BirchFence::BirchFence(false, false, false, false).ID: return 7581; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7390; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7391; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7392; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7393; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7394; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7395; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7396; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7397; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7398; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7399; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7400; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7401; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7402; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7403; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7404; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7405; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7406; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7407; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7408; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7409; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7410; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7411; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7412; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7413; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7414; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7415; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7416; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7417; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7418; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7419; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7420; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7421; + case BirchLeaves::BirchLeaves(1, true).ID: return 172; + case BirchLeaves::BirchLeaves(1, false).ID: return 173; + case BirchLeaves::BirchLeaves(2, true).ID: return 174; + case BirchLeaves::BirchLeaves(2, false).ID: return 175; + case BirchLeaves::BirchLeaves(3, true).ID: return 176; + case BirchLeaves::BirchLeaves(3, false).ID: return 177; + case BirchLeaves::BirchLeaves(4, true).ID: return 178; + case BirchLeaves::BirchLeaves(4, false).ID: return 179; + case BirchLeaves::BirchLeaves(5, true).ID: return 180; + case BirchLeaves::BirchLeaves(5, false).ID: return 181; + case BirchLeaves::BirchLeaves(6, true).ID: return 182; + case BirchLeaves::BirchLeaves(6, false).ID: return 183; + case BirchLeaves::BirchLeaves(7, true).ID: return 184; + case BirchLeaves::BirchLeaves(7, false).ID: return 185; + case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 78; + case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 79; + case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 80; + case BirchPlanks::BirchPlanks().ID: return 17; + case BirchPressurePlate::BirchPressurePlate(true).ID: return 3372; + case BirchPressurePlate::BirchPressurePlate(false).ID: return 3373; + case BirchSapling::BirchSapling(0).ID: return 25; + case BirchSapling::BirchSapling(1).ID: return 26; + case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 7271; + case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 7273; + case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 7275; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 4966; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 4968; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 4970; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 4972; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 4974; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 4976; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 4978; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 4980; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 4982; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 4984; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 4986; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 4988; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 4990; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 4992; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 4994; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 4996; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 4998; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5000; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5002; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5004; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5006; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5008; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5010; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5012; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5014; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5016; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5018; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5020; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5022; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5024; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5026; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5028; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5030; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5032; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5034; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5036; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5038; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5040; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5042; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5044; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: + return 3723; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: + return 3725; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: + return 3727; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: + return 3729; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 3731; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 3733; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 3735; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 3737; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: + return 3739; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: + return 3741; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: + return 3743; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: + return 3745; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 3747; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 3749; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 3751; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 3753; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: + return 3755; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: + return 3757; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: + return 3759; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: + return 3761; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 3763; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 3765; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 3767; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 3769; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: + return 3771; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: + return 3773; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: + return 3775; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: + return 3777; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 3779; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 3781; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 3783; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 3785; + case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 114; + case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 115; + case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 116; + case BlackBanner::BlackBanner(0).ID: return 7095; + case BlackBanner::BlackBanner(1).ID: return 7096; + case BlackBanner::BlackBanner(2).ID: return 7097; + case BlackBanner::BlackBanner(3).ID: return 7098; + case BlackBanner::BlackBanner(4).ID: return 7099; + case BlackBanner::BlackBanner(5).ID: return 7100; + case BlackBanner::BlackBanner(6).ID: return 7101; + case BlackBanner::BlackBanner(7).ID: return 7102; + case BlackBanner::BlackBanner(8).ID: return 7103; + case BlackBanner::BlackBanner(9).ID: return 7104; + case BlackBanner::BlackBanner(10).ID: return 7105; + case BlackBanner::BlackBanner(11).ID: return 7106; + case BlackBanner::BlackBanner(12).ID: return 7107; + case BlackBanner::BlackBanner(13).ID: return 7108; + case BlackBanner::BlackBanner(14).ID: return 7109; + case BlackBanner::BlackBanner(15).ID: return 7110; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 988; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 989; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 990; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 991; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 992; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 993; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 994; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 995; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 996; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 997; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 998; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 999; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1000; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1001; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1002; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1003; + case BlackCarpet::BlackCarpet().ID: return 6839; + case BlackConcrete::BlackConcrete().ID: return 8393; + case BlackConcretePowder::BlackConcretePowder().ID: return 8409; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8374; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8375; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8376; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8377; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8308; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8309; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8310; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8311; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8312; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8313; + case BlackStainedGlass::BlackStainedGlass().ID: return 3593; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 6303; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 6304; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 6307; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 6308; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 6311; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 6312; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 6315; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 6316; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 6319; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 6320; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 6323; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 6324; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 6327; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 6328; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 6331; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 6332; + case BlackTerracotta::BlackTerracotta().ID: return 5820; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7171; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7172; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7173; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7174; + case BlackWool::BlackWool().ID: return 1098; + case BlueBanner::BlueBanner(0).ID: return 7031; + case BlueBanner::BlueBanner(1).ID: return 7032; + case BlueBanner::BlueBanner(2).ID: return 7033; + case BlueBanner::BlueBanner(3).ID: return 7034; + case BlueBanner::BlueBanner(4).ID: return 7035; + case BlueBanner::BlueBanner(5).ID: return 7036; + case BlueBanner::BlueBanner(6).ID: return 7037; + case BlueBanner::BlueBanner(7).ID: return 7038; + case BlueBanner::BlueBanner(8).ID: return 7039; + case BlueBanner::BlueBanner(9).ID: return 7040; + case BlueBanner::BlueBanner(10).ID: return 7041; + case BlueBanner::BlueBanner(11).ID: return 7042; + case BlueBanner::BlueBanner(12).ID: return 7043; + case BlueBanner::BlueBanner(13).ID: return 7044; + case BlueBanner::BlueBanner(14).ID: return 7045; + case BlueBanner::BlueBanner(15).ID: return 7046; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 924; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 925; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 926; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 927; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 928; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 929; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 930; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 931; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 932; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 933; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 934; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 935; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 936; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 937; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 938; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 939; + case BlueCarpet::BlueCarpet().ID: return 6835; + case BlueConcrete::BlueConcrete().ID: return 8389; + case BlueConcretePowder::BlueConcretePowder().ID: return 8405; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8358; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8359; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8360; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8361; + case BlueIce::BlueIce().ID: return 8588; + case BlueOrchid::BlueOrchid().ID: return 1113; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8284; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8285; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8286; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8287; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8288; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8289; + case BlueStainedGlass::BlueStainedGlass().ID: return 3589; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 6175; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 6176; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 6179; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 6180; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 6183; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 6184; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 6187; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 6188; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 6191; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 6192; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 6195; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 6196; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 6199; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 6200; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 6203; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 6204; + case BlueTerracotta::BlueTerracotta().ID: return 5816; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7155; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7156; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7157; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7158; + case BlueWool::BlueWool().ID: return 1094; + case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 8196; + case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 8197; + case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 8198; + case Bookshelf::Bookshelf().ID: return 1128; + case BrainCoral::BrainCoral().ID: return 8473; + case BrainCoralBlock::BrainCoralBlock().ID: return 8456; + case BrainCoralFan::BrainCoralFan().ID: return 8573; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8529; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8531; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8533; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8535; + case BrewingStand::BrewingStand(true, true, true).ID: return 4614; + case BrewingStand::BrewingStand(true, true, false).ID: return 4615; + case BrewingStand::BrewingStand(true, false, true).ID: return 4616; + case BrewingStand::BrewingStand(true, false, false).ID: return 4617; + case BrewingStand::BrewingStand(false, true, true).ID: return 4618; + case BrewingStand::BrewingStand(false, true, false).ID: return 4619; + case BrewingStand::BrewingStand(false, false, true).ID: return 4620; + case BrewingStand::BrewingStand(false, false, false).ID: return 4621; + case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 7319; + case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 7321; + case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 7323; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4334; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4336; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4338; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4340; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4342; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4344; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4346; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4348; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4350; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4352; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4354; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4356; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4358; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4360; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4362; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4364; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4366; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4368; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4370; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4372; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4374; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4376; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4378; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4380; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4382; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4384; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4386; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4388; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4390; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4392; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4394; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4396; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4398; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4400; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4402; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4404; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4406; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4408; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4410; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4412; + case Bricks::Bricks().ID: return 1125; + case BrownBanner::BrownBanner(0).ID: return 7047; + case BrownBanner::BrownBanner(1).ID: return 7048; + case BrownBanner::BrownBanner(2).ID: return 7049; + case BrownBanner::BrownBanner(3).ID: return 7050; + case BrownBanner::BrownBanner(4).ID: return 7051; + case BrownBanner::BrownBanner(5).ID: return 7052; + case BrownBanner::BrownBanner(6).ID: return 7053; + case BrownBanner::BrownBanner(7).ID: return 7054; + case BrownBanner::BrownBanner(8).ID: return 7055; + case BrownBanner::BrownBanner(9).ID: return 7056; + case BrownBanner::BrownBanner(10).ID: return 7057; + case BrownBanner::BrownBanner(11).ID: return 7058; + case BrownBanner::BrownBanner(12).ID: return 7059; + case BrownBanner::BrownBanner(13).ID: return 7060; + case BrownBanner::BrownBanner(14).ID: return 7061; + case BrownBanner::BrownBanner(15).ID: return 7062; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 940; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 941; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 942; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 943; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 944; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 945; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 946; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 947; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 948; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 949; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 950; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 951; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 952; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 953; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 954; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 955; + case BrownCarpet::BrownCarpet().ID: return 6836; + case BrownConcrete::BrownConcrete().ID: return 8390; + case BrownConcretePowder::BrownConcretePowder().ID: return 8406; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8362; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8363; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8364; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8365; + case BrownMushroom::BrownMushroom().ID: return 1121; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 3988; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 3989; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 3990; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 3991; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 3992; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 3993; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 3994; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 3995; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 3996; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 3997; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 3998; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 3999; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 4000; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4001; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4002; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4003; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4004; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4005; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4006; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4007; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4008; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4009; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4010; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4011; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4012; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4013; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4014; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4015; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4016; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4017; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4018; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4019; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4020; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4021; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4022; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4023; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4024; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4025; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4026; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4027; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4028; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4029; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4030; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4031; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4032; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4033; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4034; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4035; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4036; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4037; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4038; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4039; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4040; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4041; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4042; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4043; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4044; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4045; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4046; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4047; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4048; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4049; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4050; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4051; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8290; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8291; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8292; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8293; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8294; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8295; + case BrownStainedGlass::BrownStainedGlass().ID: return 3590; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 6207; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 6208; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 6211; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 6212; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 6215; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 6216; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 6219; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 6220; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 6223; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 6224; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 6227; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 6228; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 6231; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 6232; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 6235; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 6236; + case BrownTerracotta::BrownTerracotta().ID: return 5817; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7159; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7160; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7161; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7162; + case BrownWool::BrownWool().ID: return 1095; + case BubbleColumn::BubbleColumn(true).ID: return 8593; + case BubbleColumn::BubbleColumn(false).ID: return 8594; + case BubbleCoral::BubbleCoral().ID: return 8475; + case BubbleCoralBlock::BubbleCoralBlock().ID: return 8457; + case BubbleCoralFan::BubbleCoralFan().ID: return 8575; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8537; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8539; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8541; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8543; + case Cactus::Cactus(0).ID: return 3426; + case Cactus::Cactus(1).ID: return 3427; + case Cactus::Cactus(2).ID: return 3428; + case Cactus::Cactus(3).ID: return 3429; + case Cactus::Cactus(4).ID: return 3430; + case Cactus::Cactus(5).ID: return 3431; + case Cactus::Cactus(6).ID: return 3432; + case Cactus::Cactus(7).ID: return 3433; + case Cactus::Cactus(8).ID: return 3434; + case Cactus::Cactus(9).ID: return 3435; + case Cactus::Cactus(10).ID: return 3436; + case Cactus::Cactus(11).ID: return 3437; + case Cactus::Cactus(12).ID: return 3438; + case Cactus::Cactus(13).ID: return 3439; + case Cactus::Cactus(14).ID: return 3440; + case Cactus::Cactus(15).ID: return 3441; + case Cake::Cake(0).ID: return 3507; + case Cake::Cake(1).ID: return 3508; + case Cake::Cake(2).ID: return 3509; + case Cake::Cake(3).ID: return 3510; + case Cake::Cake(4).ID: return 3511; + case Cake::Cake(5).ID: return 3512; + case Cake::Cake(6).ID: return 3513; + case Carrots::Carrots(0).ID: return 5288; + case Carrots::Carrots(1).ID: return 5289; + case Carrots::Carrots(2).ID: return 5290; + case Carrots::Carrots(3).ID: return 5291; + case Carrots::Carrots(4).ID: return 5292; + case Carrots::Carrots(5).ID: return 5293; + case Carrots::Carrots(6).ID: return 5294; + case Carrots::Carrots(7).ID: return 5295; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 3499; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 3500; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 3501; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 3502; + case Cauldron::Cauldron(0).ID: return 4622; + case Cauldron::Cauldron(1).ID: return 4623; + case Cauldron::Cauldron(2).ID: return 4624; + case Cauldron::Cauldron(3).ID: return 4625; + case CaveAir::CaveAir().ID: return 8592; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8177; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8178; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8179; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8180; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8181; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8182; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8183; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8184; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8185; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8186; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8187; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8188; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 1730; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 1732; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 1734; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 1736; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 1738; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 1740; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 1742; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 1744; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 1746; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 1748; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 1750; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 1752; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5572; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5573; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 5574; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 5575; + case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 5697; + case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 7176; + case ChiseledSandstone::ChiseledSandstone().ID: return 246; + case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 3987; + case ChorusFlower::ChorusFlower(0).ID: return 8068; + case ChorusFlower::ChorusFlower(1).ID: return 8069; + case ChorusFlower::ChorusFlower(2).ID: return 8070; + case ChorusFlower::ChorusFlower(3).ID: return 8071; + case ChorusFlower::ChorusFlower(4).ID: return 8072; + case ChorusFlower::ChorusFlower(5).ID: return 8073; + case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 8004; + case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 8005; + case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 8006; + case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 8007; + case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 8008; + case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 8009; + case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 8010; + case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 8011; + case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 8012; + case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 8013; + case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 8014; + case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 8015; + case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 8016; + case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 8017; + case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 8018; + case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 8019; + case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 8020; + case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 8021; + case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 8022; + case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 8023; + case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 8024; + case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 8025; + case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 8026; + case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 8027; + case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 8028; + case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 8029; + case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 8030; + case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 8031; + case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 8032; + case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 8033; + case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 8034; + case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 8035; + case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 8036; + case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 8037; + case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 8038; + case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 8039; + case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 8040; + case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 8041; + case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 8042; + case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 8043; + case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 8044; + case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 8045; + case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 8046; + case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 8047; + case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 8048; + case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 8049; + case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 8050; + case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 8051; + case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 8052; + case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 8053; + case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 8054; + case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 8055; + case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 8056; + case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 8057; + case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 8058; + case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 8059; + case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 8060; + case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 8061; + case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 8062; + case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 8063; + case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 8064; + case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 8065; + case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 8066; + case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 8067; + case Clay::Clay().ID: return 3442; + case CoalBlock::CoalBlock().ID: return 6841; + case CoalOre::CoalOre().ID: return 71; + case CoarseDirt::CoarseDirt().ID: return 11; + case Cobblestone::Cobblestone().ID: return 14; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 7313; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 7315; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 7317; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3191; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3193; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3195; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3197; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3199; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3201; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3203; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3205; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3207; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3209; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3211; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3213; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3215; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3217; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3219; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3221; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3223; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3225; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3227; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3229; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3231; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3233; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3235; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3237; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3239; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3241; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3243; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3245; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3247; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3249; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3251; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3253; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3255; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3257; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3259; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3261; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3263; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3265; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3267; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3269; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5140; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5141; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5144; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5145; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5148; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5149; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5152; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5153; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5156; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5157; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5160; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5161; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5164; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5165; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5168; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5169; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5172; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5173; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5176; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5177; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5180; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5181; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5184; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5185; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5188; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5189; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5192; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5193; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5196; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5197; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5200; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5201; + case Cobweb::Cobweb().ID: return 1040; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 4639; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 4640; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 4641; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 4642; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 4643; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 4644; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 4645; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 4646; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 4647; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 4648; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 4649; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 4650; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5125; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5126; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5127; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5128; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5129; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5130; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5131; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5132; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5133; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5134; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5135; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5136; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 5636; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 5637; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 5638; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 5639; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 5640; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 5641; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 5642; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 5643; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 5644; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 5645; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 5646; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 5647; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 5648; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 5649; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 5650; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 5651; + case Conduit::Conduit().ID: return 8590; + case CrackedStoneBricks::CrackedStoneBricks().ID: return 3986; + case CraftingTable::CraftingTable().ID: return 3051; + case CreeperHead::CreeperHead(0).ID: return 5532; + case CreeperHead::CreeperHead(1).ID: return 5533; + case CreeperHead::CreeperHead(2).ID: return 5534; + case CreeperHead::CreeperHead(3).ID: return 5535; + case CreeperHead::CreeperHead(4).ID: return 5536; + case CreeperHead::CreeperHead(5).ID: return 5537; + case CreeperHead::CreeperHead(6).ID: return 5538; + case CreeperHead::CreeperHead(7).ID: return 5539; + case CreeperHead::CreeperHead(8).ID: return 5540; + case CreeperHead::CreeperHead(9).ID: return 5541; + case CreeperHead::CreeperHead(10).ID: return 5542; + case CreeperHead::CreeperHead(11).ID: return 5543; + case CreeperHead::CreeperHead(12).ID: return 5544; + case CreeperHead::CreeperHead(13).ID: return 5545; + case CreeperHead::CreeperHead(14).ID: return 5546; + case CreeperHead::CreeperHead(15).ID: return 5547; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5528; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5529; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5530; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5531; + case CutRedSandstone::CutRedSandstone().ID: return 7177; + case CutSandstone::CutSandstone().ID: return 247; + case CyanBanner::CyanBanner(0).ID: return 6999; + case CyanBanner::CyanBanner(1).ID: return 7000; + case CyanBanner::CyanBanner(2).ID: return 7001; + case CyanBanner::CyanBanner(3).ID: return 7002; + case CyanBanner::CyanBanner(4).ID: return 7003; + case CyanBanner::CyanBanner(5).ID: return 7004; + case CyanBanner::CyanBanner(6).ID: return 7005; + case CyanBanner::CyanBanner(7).ID: return 7006; + case CyanBanner::CyanBanner(8).ID: return 7007; + case CyanBanner::CyanBanner(9).ID: return 7008; + case CyanBanner::CyanBanner(10).ID: return 7009; + case CyanBanner::CyanBanner(11).ID: return 7010; + case CyanBanner::CyanBanner(12).ID: return 7011; + case CyanBanner::CyanBanner(13).ID: return 7012; + case CyanBanner::CyanBanner(14).ID: return 7013; + case CyanBanner::CyanBanner(15).ID: return 7014; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 892; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 893; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 894; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 895; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 896; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 897; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 898; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 899; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 900; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 901; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 902; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 903; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 904; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 905; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 906; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 907; + case CyanCarpet::CyanCarpet().ID: return 6833; + case CyanConcrete::CyanConcrete().ID: return 8387; + case CyanConcretePowder::CyanConcretePowder().ID: return 8403; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8350; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8351; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8352; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8353; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8272; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8273; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8274; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8275; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8276; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8277; + case CyanStainedGlass::CyanStainedGlass().ID: return 3587; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 6111; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 6112; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 6115; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 6116; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 6119; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 6120; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 6123; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 6124; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 6127; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 6128; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 6131; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 6132; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 6135; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 6136; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 6139; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 6140; + case CyanTerracotta::CyanTerracotta().ID: return 5814; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7147; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7148; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7149; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7150; + case CyanWool::CyanWool().ID: return 1092; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 5576; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 5577; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 5578; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 5579; + case Dandelion::Dandelion().ID: return 1111; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5424; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5425; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5426; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5427; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5428; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5429; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5430; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5431; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5432; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5433; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5434; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5435; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5436; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5437; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5438; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5439; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: + return 5440; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: + return 5441; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: + return 5442; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: + return 5443; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: + return 5444; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: + return 5445; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: + return 5446; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: + return 5447; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7934; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7935; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7936; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7937; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7938; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7939; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7940; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7941; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7942; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7943; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7944; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7945; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7946; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7947; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7948; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7949; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7950; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7951; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7952; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7953; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7954; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7955; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7956; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7957; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7958; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7959; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7960; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7961; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7962; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7963; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7964; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7965; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7966; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7967; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7968; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7969; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7970; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7971; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7972; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7973; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7974; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7975; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7976; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7977; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7978; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7979; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7980; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7981; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7982; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7983; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7984; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7985; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7986; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7987; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7988; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7989; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 7990; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 7991; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 7992; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 7993; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 7994; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 7995; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 7996; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 7997; + case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 7648; + case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 7649; + case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 7652; + case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 7653; + case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 7656; + case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 7657; + case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 7660; + case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 7661; + case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 7664; + case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 7665; + case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 7668; + case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 7669; + case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 7672; + case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 7673; + case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 7676; + case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 7677; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7486; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7487; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7488; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7489; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7490; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7491; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7492; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7493; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7494; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7495; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7496; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7497; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7498; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7499; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7500; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7501; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7502; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7503; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7504; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7505; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7506; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7507; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7508; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7509; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7510; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7511; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7512; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7513; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7514; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7515; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7516; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7517; + case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 214; + case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 215; + case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 216; + case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 217; + case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 218; + case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 219; + case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 220; + case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 221; + case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 222; + case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 223; + case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 224; + case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 225; + case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 226; + case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 227; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 87; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 88; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 89; + case DarkOakPlanks::DarkOakPlanks().ID: return 20; + case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3378; + case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3379; + case DarkOakSapling::DarkOakSapling(0).ID: return 31; + case DarkOakSapling::DarkOakSapling(1).ID: return 32; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 7289; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 7291; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 7293; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6414; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6416; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6418; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6420; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6422; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6424; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6426; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6428; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6430; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6432; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6434; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6436; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6438; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6440; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6442; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6444; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6446; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6448; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6450; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6452; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6454; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6456; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6458; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6460; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6462; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6464; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6466; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6468; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6470; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6472; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6474; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6476; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6478; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6480; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6482; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6484; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6486; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6488; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6490; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6492; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 3915; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 3917; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 3919; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 3921; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 3923; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 3925; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 3927; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 3929; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 3931; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 3933; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 3935; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 3937; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 3939; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 3941; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 3943; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 3945; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 3947; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 3949; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 3951; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 3953; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 3955; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 3957; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 3959; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 3961; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 3963; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 3965; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 3967; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 3969; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 3971; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 3973; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 3975; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 3977; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 123; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 124; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 125; + case DarkPrismarine::DarkPrismarine().ID: return 6561; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 6815; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 6817; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 6819; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6723; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6725; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6727; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6729; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6731; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6733; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6735; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6737; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6739; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6741; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6743; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6745; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6747; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6749; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6751; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6753; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6755; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6757; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6759; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6761; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6763; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6765; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6767; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6769; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6771; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6773; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6775; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6777; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6779; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6781; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6783; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6785; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6787; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6789; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6791; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 6793; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6795; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 6797; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6799; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 6801; + case DaylightDetector::DaylightDetector(true, 0).ID: return 5652; + case DaylightDetector::DaylightDetector(true, 1).ID: return 5653; + case DaylightDetector::DaylightDetector(true, 2).ID: return 5654; + case DaylightDetector::DaylightDetector(true, 3).ID: return 5655; + case DaylightDetector::DaylightDetector(true, 4).ID: return 5656; + case DaylightDetector::DaylightDetector(true, 5).ID: return 5657; + case DaylightDetector::DaylightDetector(true, 6).ID: return 5658; + case DaylightDetector::DaylightDetector(true, 7).ID: return 5659; + case DaylightDetector::DaylightDetector(true, 8).ID: return 5660; + case DaylightDetector::DaylightDetector(true, 9).ID: return 5661; + case DaylightDetector::DaylightDetector(true, 10).ID: return 5662; + case DaylightDetector::DaylightDetector(true, 11).ID: return 5663; + case DaylightDetector::DaylightDetector(true, 12).ID: return 5664; + case DaylightDetector::DaylightDetector(true, 13).ID: return 5665; + case DaylightDetector::DaylightDetector(true, 14).ID: return 5666; + case DaylightDetector::DaylightDetector(true, 15).ID: return 5667; + case DaylightDetector::DaylightDetector(false, 0).ID: return 5668; + case DaylightDetector::DaylightDetector(false, 1).ID: return 5669; + case DaylightDetector::DaylightDetector(false, 2).ID: return 5670; + case DaylightDetector::DaylightDetector(false, 3).ID: return 5671; + case DaylightDetector::DaylightDetector(false, 4).ID: return 5672; + case DaylightDetector::DaylightDetector(false, 5).ID: return 5673; + case DaylightDetector::DaylightDetector(false, 6).ID: return 5674; + case DaylightDetector::DaylightDetector(false, 7).ID: return 5675; + case DaylightDetector::DaylightDetector(false, 8).ID: return 5676; + case DaylightDetector::DaylightDetector(false, 9).ID: return 5677; + case DaylightDetector::DaylightDetector(false, 10).ID: return 5678; + case DaylightDetector::DaylightDetector(false, 11).ID: return 5679; + case DaylightDetector::DaylightDetector(false, 12).ID: return 5680; + case DaylightDetector::DaylightDetector(false, 13).ID: return 5681; + case DaylightDetector::DaylightDetector(false, 14).ID: return 5682; + case DaylightDetector::DaylightDetector(false, 15).ID: return 5683; + case DeadBrainCoral::DeadBrainCoral().ID: return 8463; + case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 8451; + case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 8563; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8489; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8491; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8493; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8495; + case DeadBubbleCoral::DeadBubbleCoral().ID: return 8465; + case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 8452; + case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 8565; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8497; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8499; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8501; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8503; + case DeadBush::DeadBush().ID: return 1043; + case DeadFireCoral::DeadFireCoral().ID: return 8467; + case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 8453; + case DeadFireCoralFan::DeadFireCoralFan().ID: return 8567; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8505; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8507; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8509; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8511; + case DeadHornCoral::DeadHornCoral().ID: return 8469; + case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 8454; + case DeadHornCoralFan::DeadHornCoralFan().ID: return 8569; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8513; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8515; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8517; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8519; + case DeadTubeCoral::DeadTubeCoral().ID: return 8461; + case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 8450; + case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 8561; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8481; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8483; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8485; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8487; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1016; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1017; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1018; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1019; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1020; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1021; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1022; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1023; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1024; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1025; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1026; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1027; + case DiamondBlock::DiamondBlock().ID: return 3050; + case DiamondOre::DiamondOre().ID: return 3049; + case Diorite::Diorite().ID: return 4; + case Dirt::Dirt().ID: return 10; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 233; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 234; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 235; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 236; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 237; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 238; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 239; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 240; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 241; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 242; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 243; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 244; + case DragonEgg::DragonEgg().ID: return 4636; + case DragonHead::DragonHead(0).ID: return 5552; + case DragonHead::DragonHead(1).ID: return 5553; + case DragonHead::DragonHead(2).ID: return 5554; + case DragonHead::DragonHead(3).ID: return 5555; + case DragonHead::DragonHead(4).ID: return 5556; + case DragonHead::DragonHead(5).ID: return 5557; + case DragonHead::DragonHead(6).ID: return 5558; + case DragonHead::DragonHead(7).ID: return 5559; + case DragonHead::DragonHead(8).ID: return 5560; + case DragonHead::DragonHead(9).ID: return 5561; + case DragonHead::DragonHead(10).ID: return 5562; + case DragonHead::DragonHead(11).ID: return 5563; + case DragonHead::DragonHead(12).ID: return 5564; + case DragonHead::DragonHead(13).ID: return 5565; + case DragonHead::DragonHead(14).ID: return 5566; + case DragonHead::DragonHead(15).ID: return 5567; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5548; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5549; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5550; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5551; + case DriedKelpBlock::DriedKelpBlock().ID: return 8437; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 5793; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 5794; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 5795; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 5796; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 5797; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 5798; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 5799; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 5800; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 5801; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 5802; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 5803; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 5804; + case EmeraldBlock::EmeraldBlock().ID: return 4884; + case EmeraldOre::EmeraldOre().ID: return 4731; + case EnchantingTable::EnchantingTable().ID: return 4613; + case EndGateway::EndGateway().ID: return 8164; + case EndPortal::EndPortal().ID: return 4626; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 4627; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 4628; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 4629; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 4630; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 4631; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 4632; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 4633; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 4634; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 7998; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 7999; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 8000; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 8001; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 8002; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 8003; + case EndStone::EndStone().ID: return 4635; + case EndStoneBricks::EndStoneBricks().ID: return 8158; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 4733; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 4735; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 4737; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 4739; + case Farmland::Farmland(0).ID: return 3060; + case Farmland::Farmland(1).ID: return 3061; + case Farmland::Farmland(2).ID: return 3062; + case Farmland::Farmland(3).ID: return 3063; + case Farmland::Farmland(4).ID: return 3064; + case Farmland::Farmland(5).ID: return 3065; + case Farmland::Farmland(6).ID: return 3066; + case Farmland::Farmland(7).ID: return 3067; + case Fern::Fern().ID: return 1042; + case Fire::Fire(0, true, true, true, true, true).ID: return 1136; + case Fire::Fire(0, true, true, true, true, false).ID: return 1137; + case Fire::Fire(0, true, true, true, false, true).ID: return 1138; + case Fire::Fire(0, true, true, true, false, false).ID: return 1139; + case Fire::Fire(0, true, true, false, true, true).ID: return 1140; + case Fire::Fire(0, true, true, false, true, false).ID: return 1141; + case Fire::Fire(0, true, true, false, false, true).ID: return 1142; + case Fire::Fire(0, true, true, false, false, false).ID: return 1143; + case Fire::Fire(0, true, false, true, true, true).ID: return 1144; + case Fire::Fire(0, true, false, true, true, false).ID: return 1145; + case Fire::Fire(0, true, false, true, false, true).ID: return 1146; + case Fire::Fire(0, true, false, true, false, false).ID: return 1147; + case Fire::Fire(0, true, false, false, true, true).ID: return 1148; + case Fire::Fire(0, true, false, false, true, false).ID: return 1149; + case Fire::Fire(0, true, false, false, false, true).ID: return 1150; + case Fire::Fire(0, true, false, false, false, false).ID: return 1151; + case Fire::Fire(0, false, true, true, true, true).ID: return 1152; + case Fire::Fire(0, false, true, true, true, false).ID: return 1153; + case Fire::Fire(0, false, true, true, false, true).ID: return 1154; + case Fire::Fire(0, false, true, true, false, false).ID: return 1155; + case Fire::Fire(0, false, true, false, true, true).ID: return 1156; + case Fire::Fire(0, false, true, false, true, false).ID: return 1157; + case Fire::Fire(0, false, true, false, false, true).ID: return 1158; + case Fire::Fire(0, false, true, false, false, false).ID: return 1159; + case Fire::Fire(0, false, false, true, true, true).ID: return 1160; + case Fire::Fire(0, false, false, true, true, false).ID: return 1161; + case Fire::Fire(0, false, false, true, false, true).ID: return 1162; + case Fire::Fire(0, false, false, true, false, false).ID: return 1163; + case Fire::Fire(0, false, false, false, true, true).ID: return 1164; + case Fire::Fire(0, false, false, false, true, false).ID: return 1165; + case Fire::Fire(0, false, false, false, false, true).ID: return 1166; + case Fire::Fire(0, false, false, false, false, false).ID: return 1167; + case Fire::Fire(1, true, true, true, true, true).ID: return 1168; + case Fire::Fire(1, true, true, true, true, false).ID: return 1169; + case Fire::Fire(1, true, true, true, false, true).ID: return 1170; + case Fire::Fire(1, true, true, true, false, false).ID: return 1171; + case Fire::Fire(1, true, true, false, true, true).ID: return 1172; + case Fire::Fire(1, true, true, false, true, false).ID: return 1173; + case Fire::Fire(1, true, true, false, false, true).ID: return 1174; + case Fire::Fire(1, true, true, false, false, false).ID: return 1175; + case Fire::Fire(1, true, false, true, true, true).ID: return 1176; + case Fire::Fire(1, true, false, true, true, false).ID: return 1177; + case Fire::Fire(1, true, false, true, false, true).ID: return 1178; + case Fire::Fire(1, true, false, true, false, false).ID: return 1179; + case Fire::Fire(1, true, false, false, true, true).ID: return 1180; + case Fire::Fire(1, true, false, false, true, false).ID: return 1181; + case Fire::Fire(1, true, false, false, false, true).ID: return 1182; + case Fire::Fire(1, true, false, false, false, false).ID: return 1183; + case Fire::Fire(1, false, true, true, true, true).ID: return 1184; + case Fire::Fire(1, false, true, true, true, false).ID: return 1185; + case Fire::Fire(1, false, true, true, false, true).ID: return 1186; + case Fire::Fire(1, false, true, true, false, false).ID: return 1187; + case Fire::Fire(1, false, true, false, true, true).ID: return 1188; + case Fire::Fire(1, false, true, false, true, false).ID: return 1189; + case Fire::Fire(1, false, true, false, false, true).ID: return 1190; + case Fire::Fire(1, false, true, false, false, false).ID: return 1191; + case Fire::Fire(1, false, false, true, true, true).ID: return 1192; + case Fire::Fire(1, false, false, true, true, false).ID: return 1193; + case Fire::Fire(1, false, false, true, false, true).ID: return 1194; + case Fire::Fire(1, false, false, true, false, false).ID: return 1195; + case Fire::Fire(1, false, false, false, true, true).ID: return 1196; + case Fire::Fire(1, false, false, false, true, false).ID: return 1197; + case Fire::Fire(1, false, false, false, false, true).ID: return 1198; + case Fire::Fire(1, false, false, false, false, false).ID: return 1199; + case Fire::Fire(2, true, true, true, true, true).ID: return 1200; + case Fire::Fire(2, true, true, true, true, false).ID: return 1201; + case Fire::Fire(2, true, true, true, false, true).ID: return 1202; + case Fire::Fire(2, true, true, true, false, false).ID: return 1203; + case Fire::Fire(2, true, true, false, true, true).ID: return 1204; + case Fire::Fire(2, true, true, false, true, false).ID: return 1205; + case Fire::Fire(2, true, true, false, false, true).ID: return 1206; + case Fire::Fire(2, true, true, false, false, false).ID: return 1207; + case Fire::Fire(2, true, false, true, true, true).ID: return 1208; + case Fire::Fire(2, true, false, true, true, false).ID: return 1209; + case Fire::Fire(2, true, false, true, false, true).ID: return 1210; + case Fire::Fire(2, true, false, true, false, false).ID: return 1211; + case Fire::Fire(2, true, false, false, true, true).ID: return 1212; + case Fire::Fire(2, true, false, false, true, false).ID: return 1213; + case Fire::Fire(2, true, false, false, false, true).ID: return 1214; + case Fire::Fire(2, true, false, false, false, false).ID: return 1215; + case Fire::Fire(2, false, true, true, true, true).ID: return 1216; + case Fire::Fire(2, false, true, true, true, false).ID: return 1217; + case Fire::Fire(2, false, true, true, false, true).ID: return 1218; + case Fire::Fire(2, false, true, true, false, false).ID: return 1219; + case Fire::Fire(2, false, true, false, true, true).ID: return 1220; + case Fire::Fire(2, false, true, false, true, false).ID: return 1221; + case Fire::Fire(2, false, true, false, false, true).ID: return 1222; + case Fire::Fire(2, false, true, false, false, false).ID: return 1223; + case Fire::Fire(2, false, false, true, true, true).ID: return 1224; + case Fire::Fire(2, false, false, true, true, false).ID: return 1225; + case Fire::Fire(2, false, false, true, false, true).ID: return 1226; + case Fire::Fire(2, false, false, true, false, false).ID: return 1227; + case Fire::Fire(2, false, false, false, true, true).ID: return 1228; + case Fire::Fire(2, false, false, false, true, false).ID: return 1229; + case Fire::Fire(2, false, false, false, false, true).ID: return 1230; + case Fire::Fire(2, false, false, false, false, false).ID: return 1231; + case Fire::Fire(3, true, true, true, true, true).ID: return 1232; + case Fire::Fire(3, true, true, true, true, false).ID: return 1233; + case Fire::Fire(3, true, true, true, false, true).ID: return 1234; + case Fire::Fire(3, true, true, true, false, false).ID: return 1235; + case Fire::Fire(3, true, true, false, true, true).ID: return 1236; + case Fire::Fire(3, true, true, false, true, false).ID: return 1237; + case Fire::Fire(3, true, true, false, false, true).ID: return 1238; + case Fire::Fire(3, true, true, false, false, false).ID: return 1239; + case Fire::Fire(3, true, false, true, true, true).ID: return 1240; + case Fire::Fire(3, true, false, true, true, false).ID: return 1241; + case Fire::Fire(3, true, false, true, false, true).ID: return 1242; + case Fire::Fire(3, true, false, true, false, false).ID: return 1243; + case Fire::Fire(3, true, false, false, true, true).ID: return 1244; + case Fire::Fire(3, true, false, false, true, false).ID: return 1245; + case Fire::Fire(3, true, false, false, false, true).ID: return 1246; + case Fire::Fire(3, true, false, false, false, false).ID: return 1247; + case Fire::Fire(3, false, true, true, true, true).ID: return 1248; + case Fire::Fire(3, false, true, true, true, false).ID: return 1249; + case Fire::Fire(3, false, true, true, false, true).ID: return 1250; + case Fire::Fire(3, false, true, true, false, false).ID: return 1251; + case Fire::Fire(3, false, true, false, true, true).ID: return 1252; + case Fire::Fire(3, false, true, false, true, false).ID: return 1253; + case Fire::Fire(3, false, true, false, false, true).ID: return 1254; + case Fire::Fire(3, false, true, false, false, false).ID: return 1255; + case Fire::Fire(3, false, false, true, true, true).ID: return 1256; + case Fire::Fire(3, false, false, true, true, false).ID: return 1257; + case Fire::Fire(3, false, false, true, false, true).ID: return 1258; + case Fire::Fire(3, false, false, true, false, false).ID: return 1259; + case Fire::Fire(3, false, false, false, true, true).ID: return 1260; + case Fire::Fire(3, false, false, false, true, false).ID: return 1261; + case Fire::Fire(3, false, false, false, false, true).ID: return 1262; + case Fire::Fire(3, false, false, false, false, false).ID: return 1263; + case Fire::Fire(4, true, true, true, true, true).ID: return 1264; + case Fire::Fire(4, true, true, true, true, false).ID: return 1265; + case Fire::Fire(4, true, true, true, false, true).ID: return 1266; + case Fire::Fire(4, true, true, true, false, false).ID: return 1267; + case Fire::Fire(4, true, true, false, true, true).ID: return 1268; + case Fire::Fire(4, true, true, false, true, false).ID: return 1269; + case Fire::Fire(4, true, true, false, false, true).ID: return 1270; + case Fire::Fire(4, true, true, false, false, false).ID: return 1271; + case Fire::Fire(4, true, false, true, true, true).ID: return 1272; + case Fire::Fire(4, true, false, true, true, false).ID: return 1273; + case Fire::Fire(4, true, false, true, false, true).ID: return 1274; + case Fire::Fire(4, true, false, true, false, false).ID: return 1275; + case Fire::Fire(4, true, false, false, true, true).ID: return 1276; + case Fire::Fire(4, true, false, false, true, false).ID: return 1277; + case Fire::Fire(4, true, false, false, false, true).ID: return 1278; + case Fire::Fire(4, true, false, false, false, false).ID: return 1279; + case Fire::Fire(4, false, true, true, true, true).ID: return 1280; + case Fire::Fire(4, false, true, true, true, false).ID: return 1281; + case Fire::Fire(4, false, true, true, false, true).ID: return 1282; + case Fire::Fire(4, false, true, true, false, false).ID: return 1283; + case Fire::Fire(4, false, true, false, true, true).ID: return 1284; + case Fire::Fire(4, false, true, false, true, false).ID: return 1285; + case Fire::Fire(4, false, true, false, false, true).ID: return 1286; + case Fire::Fire(4, false, true, false, false, false).ID: return 1287; + case Fire::Fire(4, false, false, true, true, true).ID: return 1288; + case Fire::Fire(4, false, false, true, true, false).ID: return 1289; + case Fire::Fire(4, false, false, true, false, true).ID: return 1290; + case Fire::Fire(4, false, false, true, false, false).ID: return 1291; + case Fire::Fire(4, false, false, false, true, true).ID: return 1292; + case Fire::Fire(4, false, false, false, true, false).ID: return 1293; + case Fire::Fire(4, false, false, false, false, true).ID: return 1294; + case Fire::Fire(4, false, false, false, false, false).ID: return 1295; + case Fire::Fire(5, true, true, true, true, true).ID: return 1296; + case Fire::Fire(5, true, true, true, true, false).ID: return 1297; + case Fire::Fire(5, true, true, true, false, true).ID: return 1298; + case Fire::Fire(5, true, true, true, false, false).ID: return 1299; + case Fire::Fire(5, true, true, false, true, true).ID: return 1300; + case Fire::Fire(5, true, true, false, true, false).ID: return 1301; + case Fire::Fire(5, true, true, false, false, true).ID: return 1302; + case Fire::Fire(5, true, true, false, false, false).ID: return 1303; + case Fire::Fire(5, true, false, true, true, true).ID: return 1304; + case Fire::Fire(5, true, false, true, true, false).ID: return 1305; + case Fire::Fire(5, true, false, true, false, true).ID: return 1306; + case Fire::Fire(5, true, false, true, false, false).ID: return 1307; + case Fire::Fire(5, true, false, false, true, true).ID: return 1308; + case Fire::Fire(5, true, false, false, true, false).ID: return 1309; + case Fire::Fire(5, true, false, false, false, true).ID: return 1310; + case Fire::Fire(5, true, false, false, false, false).ID: return 1311; + case Fire::Fire(5, false, true, true, true, true).ID: return 1312; + case Fire::Fire(5, false, true, true, true, false).ID: return 1313; + case Fire::Fire(5, false, true, true, false, true).ID: return 1314; + case Fire::Fire(5, false, true, true, false, false).ID: return 1315; + case Fire::Fire(5, false, true, false, true, true).ID: return 1316; + case Fire::Fire(5, false, true, false, true, false).ID: return 1317; + case Fire::Fire(5, false, true, false, false, true).ID: return 1318; + case Fire::Fire(5, false, true, false, false, false).ID: return 1319; + case Fire::Fire(5, false, false, true, true, true).ID: return 1320; + case Fire::Fire(5, false, false, true, true, false).ID: return 1321; + case Fire::Fire(5, false, false, true, false, true).ID: return 1322; + case Fire::Fire(5, false, false, true, false, false).ID: return 1323; + case Fire::Fire(5, false, false, false, true, true).ID: return 1324; + case Fire::Fire(5, false, false, false, true, false).ID: return 1325; + case Fire::Fire(5, false, false, false, false, true).ID: return 1326; + case Fire::Fire(5, false, false, false, false, false).ID: return 1327; + case Fire::Fire(6, true, true, true, true, true).ID: return 1328; + case Fire::Fire(6, true, true, true, true, false).ID: return 1329; + case Fire::Fire(6, true, true, true, false, true).ID: return 1330; + case Fire::Fire(6, true, true, true, false, false).ID: return 1331; + case Fire::Fire(6, true, true, false, true, true).ID: return 1332; + case Fire::Fire(6, true, true, false, true, false).ID: return 1333; + case Fire::Fire(6, true, true, false, false, true).ID: return 1334; + case Fire::Fire(6, true, true, false, false, false).ID: return 1335; + case Fire::Fire(6, true, false, true, true, true).ID: return 1336; + case Fire::Fire(6, true, false, true, true, false).ID: return 1337; + case Fire::Fire(6, true, false, true, false, true).ID: return 1338; + case Fire::Fire(6, true, false, true, false, false).ID: return 1339; + case Fire::Fire(6, true, false, false, true, true).ID: return 1340; + case Fire::Fire(6, true, false, false, true, false).ID: return 1341; + case Fire::Fire(6, true, false, false, false, true).ID: return 1342; + case Fire::Fire(6, true, false, false, false, false).ID: return 1343; + case Fire::Fire(6, false, true, true, true, true).ID: return 1344; + case Fire::Fire(6, false, true, true, true, false).ID: return 1345; + case Fire::Fire(6, false, true, true, false, true).ID: return 1346; + case Fire::Fire(6, false, true, true, false, false).ID: return 1347; + case Fire::Fire(6, false, true, false, true, true).ID: return 1348; + case Fire::Fire(6, false, true, false, true, false).ID: return 1349; + case Fire::Fire(6, false, true, false, false, true).ID: return 1350; + case Fire::Fire(6, false, true, false, false, false).ID: return 1351; + case Fire::Fire(6, false, false, true, true, true).ID: return 1352; + case Fire::Fire(6, false, false, true, true, false).ID: return 1353; + case Fire::Fire(6, false, false, true, false, true).ID: return 1354; + case Fire::Fire(6, false, false, true, false, false).ID: return 1355; + case Fire::Fire(6, false, false, false, true, true).ID: return 1356; + case Fire::Fire(6, false, false, false, true, false).ID: return 1357; + case Fire::Fire(6, false, false, false, false, true).ID: return 1358; + case Fire::Fire(6, false, false, false, false, false).ID: return 1359; + case Fire::Fire(7, true, true, true, true, true).ID: return 1360; + case Fire::Fire(7, true, true, true, true, false).ID: return 1361; + case Fire::Fire(7, true, true, true, false, true).ID: return 1362; + case Fire::Fire(7, true, true, true, false, false).ID: return 1363; + case Fire::Fire(7, true, true, false, true, true).ID: return 1364; + case Fire::Fire(7, true, true, false, true, false).ID: return 1365; + case Fire::Fire(7, true, true, false, false, true).ID: return 1366; + case Fire::Fire(7, true, true, false, false, false).ID: return 1367; + case Fire::Fire(7, true, false, true, true, true).ID: return 1368; + case Fire::Fire(7, true, false, true, true, false).ID: return 1369; + case Fire::Fire(7, true, false, true, false, true).ID: return 1370; + case Fire::Fire(7, true, false, true, false, false).ID: return 1371; + case Fire::Fire(7, true, false, false, true, true).ID: return 1372; + case Fire::Fire(7, true, false, false, true, false).ID: return 1373; + case Fire::Fire(7, true, false, false, false, true).ID: return 1374; + case Fire::Fire(7, true, false, false, false, false).ID: return 1375; + case Fire::Fire(7, false, true, true, true, true).ID: return 1376; + case Fire::Fire(7, false, true, true, true, false).ID: return 1377; + case Fire::Fire(7, false, true, true, false, true).ID: return 1378; + case Fire::Fire(7, false, true, true, false, false).ID: return 1379; + case Fire::Fire(7, false, true, false, true, true).ID: return 1380; + case Fire::Fire(7, false, true, false, true, false).ID: return 1381; + case Fire::Fire(7, false, true, false, false, true).ID: return 1382; + case Fire::Fire(7, false, true, false, false, false).ID: return 1383; + case Fire::Fire(7, false, false, true, true, true).ID: return 1384; + case Fire::Fire(7, false, false, true, true, false).ID: return 1385; + case Fire::Fire(7, false, false, true, false, true).ID: return 1386; + case Fire::Fire(7, false, false, true, false, false).ID: return 1387; + case Fire::Fire(7, false, false, false, true, true).ID: return 1388; + case Fire::Fire(7, false, false, false, true, false).ID: return 1389; + case Fire::Fire(7, false, false, false, false, true).ID: return 1390; + case Fire::Fire(7, false, false, false, false, false).ID: return 1391; + case Fire::Fire(8, true, true, true, true, true).ID: return 1392; + case Fire::Fire(8, true, true, true, true, false).ID: return 1393; + case Fire::Fire(8, true, true, true, false, true).ID: return 1394; + case Fire::Fire(8, true, true, true, false, false).ID: return 1395; + case Fire::Fire(8, true, true, false, true, true).ID: return 1396; + case Fire::Fire(8, true, true, false, true, false).ID: return 1397; + case Fire::Fire(8, true, true, false, false, true).ID: return 1398; + case Fire::Fire(8, true, true, false, false, false).ID: return 1399; + case Fire::Fire(8, true, false, true, true, true).ID: return 1400; + case Fire::Fire(8, true, false, true, true, false).ID: return 1401; + case Fire::Fire(8, true, false, true, false, true).ID: return 1402; + case Fire::Fire(8, true, false, true, false, false).ID: return 1403; + case Fire::Fire(8, true, false, false, true, true).ID: return 1404; + case Fire::Fire(8, true, false, false, true, false).ID: return 1405; + case Fire::Fire(8, true, false, false, false, true).ID: return 1406; + case Fire::Fire(8, true, false, false, false, false).ID: return 1407; + case Fire::Fire(8, false, true, true, true, true).ID: return 1408; + case Fire::Fire(8, false, true, true, true, false).ID: return 1409; + case Fire::Fire(8, false, true, true, false, true).ID: return 1410; + case Fire::Fire(8, false, true, true, false, false).ID: return 1411; + case Fire::Fire(8, false, true, false, true, true).ID: return 1412; + case Fire::Fire(8, false, true, false, true, false).ID: return 1413; + case Fire::Fire(8, false, true, false, false, true).ID: return 1414; + case Fire::Fire(8, false, true, false, false, false).ID: return 1415; + case Fire::Fire(8, false, false, true, true, true).ID: return 1416; + case Fire::Fire(8, false, false, true, true, false).ID: return 1417; + case Fire::Fire(8, false, false, true, false, true).ID: return 1418; + case Fire::Fire(8, false, false, true, false, false).ID: return 1419; + case Fire::Fire(8, false, false, false, true, true).ID: return 1420; + case Fire::Fire(8, false, false, false, true, false).ID: return 1421; + case Fire::Fire(8, false, false, false, false, true).ID: return 1422; + case Fire::Fire(8, false, false, false, false, false).ID: return 1423; + case Fire::Fire(9, true, true, true, true, true).ID: return 1424; + case Fire::Fire(9, true, true, true, true, false).ID: return 1425; + case Fire::Fire(9, true, true, true, false, true).ID: return 1426; + case Fire::Fire(9, true, true, true, false, false).ID: return 1427; + case Fire::Fire(9, true, true, false, true, true).ID: return 1428; + case Fire::Fire(9, true, true, false, true, false).ID: return 1429; + case Fire::Fire(9, true, true, false, false, true).ID: return 1430; + case Fire::Fire(9, true, true, false, false, false).ID: return 1431; + case Fire::Fire(9, true, false, true, true, true).ID: return 1432; + case Fire::Fire(9, true, false, true, true, false).ID: return 1433; + case Fire::Fire(9, true, false, true, false, true).ID: return 1434; + case Fire::Fire(9, true, false, true, false, false).ID: return 1435; + case Fire::Fire(9, true, false, false, true, true).ID: return 1436; + case Fire::Fire(9, true, false, false, true, false).ID: return 1437; + case Fire::Fire(9, true, false, false, false, true).ID: return 1438; + case Fire::Fire(9, true, false, false, false, false).ID: return 1439; + case Fire::Fire(9, false, true, true, true, true).ID: return 1440; + case Fire::Fire(9, false, true, true, true, false).ID: return 1441; + case Fire::Fire(9, false, true, true, false, true).ID: return 1442; + case Fire::Fire(9, false, true, true, false, false).ID: return 1443; + case Fire::Fire(9, false, true, false, true, true).ID: return 1444; + case Fire::Fire(9, false, true, false, true, false).ID: return 1445; + case Fire::Fire(9, false, true, false, false, true).ID: return 1446; + case Fire::Fire(9, false, true, false, false, false).ID: return 1447; + case Fire::Fire(9, false, false, true, true, true).ID: return 1448; + case Fire::Fire(9, false, false, true, true, false).ID: return 1449; + case Fire::Fire(9, false, false, true, false, true).ID: return 1450; + case Fire::Fire(9, false, false, true, false, false).ID: return 1451; + case Fire::Fire(9, false, false, false, true, true).ID: return 1452; + case Fire::Fire(9, false, false, false, true, false).ID: return 1453; + case Fire::Fire(9, false, false, false, false, true).ID: return 1454; + case Fire::Fire(9, false, false, false, false, false).ID: return 1455; + case Fire::Fire(10, true, true, true, true, true).ID: return 1456; + case Fire::Fire(10, true, true, true, true, false).ID: return 1457; + case Fire::Fire(10, true, true, true, false, true).ID: return 1458; + case Fire::Fire(10, true, true, true, false, false).ID: return 1459; + case Fire::Fire(10, true, true, false, true, true).ID: return 1460; + case Fire::Fire(10, true, true, false, true, false).ID: return 1461; + case Fire::Fire(10, true, true, false, false, true).ID: return 1462; + case Fire::Fire(10, true, true, false, false, false).ID: return 1463; + case Fire::Fire(10, true, false, true, true, true).ID: return 1464; + case Fire::Fire(10, true, false, true, true, false).ID: return 1465; + case Fire::Fire(10, true, false, true, false, true).ID: return 1466; + case Fire::Fire(10, true, false, true, false, false).ID: return 1467; + case Fire::Fire(10, true, false, false, true, true).ID: return 1468; + case Fire::Fire(10, true, false, false, true, false).ID: return 1469; + case Fire::Fire(10, true, false, false, false, true).ID: return 1470; + case Fire::Fire(10, true, false, false, false, false).ID: return 1471; + case Fire::Fire(10, false, true, true, true, true).ID: return 1472; + case Fire::Fire(10, false, true, true, true, false).ID: return 1473; + case Fire::Fire(10, false, true, true, false, true).ID: return 1474; + case Fire::Fire(10, false, true, true, false, false).ID: return 1475; + case Fire::Fire(10, false, true, false, true, true).ID: return 1476; + case Fire::Fire(10, false, true, false, true, false).ID: return 1477; + case Fire::Fire(10, false, true, false, false, true).ID: return 1478; + case Fire::Fire(10, false, true, false, false, false).ID: return 1479; + case Fire::Fire(10, false, false, true, true, true).ID: return 1480; + case Fire::Fire(10, false, false, true, true, false).ID: return 1481; + case Fire::Fire(10, false, false, true, false, true).ID: return 1482; + case Fire::Fire(10, false, false, true, false, false).ID: return 1483; + case Fire::Fire(10, false, false, false, true, true).ID: return 1484; + case Fire::Fire(10, false, false, false, true, false).ID: return 1485; + case Fire::Fire(10, false, false, false, false, true).ID: return 1486; + case Fire::Fire(10, false, false, false, false, false).ID: return 1487; + case Fire::Fire(11, true, true, true, true, true).ID: return 1488; + case Fire::Fire(11, true, true, true, true, false).ID: return 1489; + case Fire::Fire(11, true, true, true, false, true).ID: return 1490; + case Fire::Fire(11, true, true, true, false, false).ID: return 1491; + case Fire::Fire(11, true, true, false, true, true).ID: return 1492; + case Fire::Fire(11, true, true, false, true, false).ID: return 1493; + case Fire::Fire(11, true, true, false, false, true).ID: return 1494; + case Fire::Fire(11, true, true, false, false, false).ID: return 1495; + case Fire::Fire(11, true, false, true, true, true).ID: return 1496; + case Fire::Fire(11, true, false, true, true, false).ID: return 1497; + case Fire::Fire(11, true, false, true, false, true).ID: return 1498; + case Fire::Fire(11, true, false, true, false, false).ID: return 1499; + case Fire::Fire(11, true, false, false, true, true).ID: return 1500; + case Fire::Fire(11, true, false, false, true, false).ID: return 1501; + case Fire::Fire(11, true, false, false, false, true).ID: return 1502; + case Fire::Fire(11, true, false, false, false, false).ID: return 1503; + case Fire::Fire(11, false, true, true, true, true).ID: return 1504; + case Fire::Fire(11, false, true, true, true, false).ID: return 1505; + case Fire::Fire(11, false, true, true, false, true).ID: return 1506; + case Fire::Fire(11, false, true, true, false, false).ID: return 1507; + case Fire::Fire(11, false, true, false, true, true).ID: return 1508; + case Fire::Fire(11, false, true, false, true, false).ID: return 1509; + case Fire::Fire(11, false, true, false, false, true).ID: return 1510; + case Fire::Fire(11, false, true, false, false, false).ID: return 1511; + case Fire::Fire(11, false, false, true, true, true).ID: return 1512; + case Fire::Fire(11, false, false, true, true, false).ID: return 1513; + case Fire::Fire(11, false, false, true, false, true).ID: return 1514; + case Fire::Fire(11, false, false, true, false, false).ID: return 1515; + case Fire::Fire(11, false, false, false, true, true).ID: return 1516; + case Fire::Fire(11, false, false, false, true, false).ID: return 1517; + case Fire::Fire(11, false, false, false, false, true).ID: return 1518; + case Fire::Fire(11, false, false, false, false, false).ID: return 1519; + case Fire::Fire(12, true, true, true, true, true).ID: return 1520; + case Fire::Fire(12, true, true, true, true, false).ID: return 1521; + case Fire::Fire(12, true, true, true, false, true).ID: return 1522; + case Fire::Fire(12, true, true, true, false, false).ID: return 1523; + case Fire::Fire(12, true, true, false, true, true).ID: return 1524; + case Fire::Fire(12, true, true, false, true, false).ID: return 1525; + case Fire::Fire(12, true, true, false, false, true).ID: return 1526; + case Fire::Fire(12, true, true, false, false, false).ID: return 1527; + case Fire::Fire(12, true, false, true, true, true).ID: return 1528; + case Fire::Fire(12, true, false, true, true, false).ID: return 1529; + case Fire::Fire(12, true, false, true, false, true).ID: return 1530; + case Fire::Fire(12, true, false, true, false, false).ID: return 1531; + case Fire::Fire(12, true, false, false, true, true).ID: return 1532; + case Fire::Fire(12, true, false, false, true, false).ID: return 1533; + case Fire::Fire(12, true, false, false, false, true).ID: return 1534; + case Fire::Fire(12, true, false, false, false, false).ID: return 1535; + case Fire::Fire(12, false, true, true, true, true).ID: return 1536; + case Fire::Fire(12, false, true, true, true, false).ID: return 1537; + case Fire::Fire(12, false, true, true, false, true).ID: return 1538; + case Fire::Fire(12, false, true, true, false, false).ID: return 1539; + case Fire::Fire(12, false, true, false, true, true).ID: return 1540; + case Fire::Fire(12, false, true, false, true, false).ID: return 1541; + case Fire::Fire(12, false, true, false, false, true).ID: return 1542; + case Fire::Fire(12, false, true, false, false, false).ID: return 1543; + case Fire::Fire(12, false, false, true, true, true).ID: return 1544; + case Fire::Fire(12, false, false, true, true, false).ID: return 1545; + case Fire::Fire(12, false, false, true, false, true).ID: return 1546; + case Fire::Fire(12, false, false, true, false, false).ID: return 1547; + case Fire::Fire(12, false, false, false, true, true).ID: return 1548; + case Fire::Fire(12, false, false, false, true, false).ID: return 1549; + case Fire::Fire(12, false, false, false, false, true).ID: return 1550; + case Fire::Fire(12, false, false, false, false, false).ID: return 1551; + case Fire::Fire(13, true, true, true, true, true).ID: return 1552; + case Fire::Fire(13, true, true, true, true, false).ID: return 1553; + case Fire::Fire(13, true, true, true, false, true).ID: return 1554; + case Fire::Fire(13, true, true, true, false, false).ID: return 1555; + case Fire::Fire(13, true, true, false, true, true).ID: return 1556; + case Fire::Fire(13, true, true, false, true, false).ID: return 1557; + case Fire::Fire(13, true, true, false, false, true).ID: return 1558; + case Fire::Fire(13, true, true, false, false, false).ID: return 1559; + case Fire::Fire(13, true, false, true, true, true).ID: return 1560; + case Fire::Fire(13, true, false, true, true, false).ID: return 1561; + case Fire::Fire(13, true, false, true, false, true).ID: return 1562; + case Fire::Fire(13, true, false, true, false, false).ID: return 1563; + case Fire::Fire(13, true, false, false, true, true).ID: return 1564; + case Fire::Fire(13, true, false, false, true, false).ID: return 1565; + case Fire::Fire(13, true, false, false, false, true).ID: return 1566; + case Fire::Fire(13, true, false, false, false, false).ID: return 1567; + case Fire::Fire(13, false, true, true, true, true).ID: return 1568; + case Fire::Fire(13, false, true, true, true, false).ID: return 1569; + case Fire::Fire(13, false, true, true, false, true).ID: return 1570; + case Fire::Fire(13, false, true, true, false, false).ID: return 1571; + case Fire::Fire(13, false, true, false, true, true).ID: return 1572; + case Fire::Fire(13, false, true, false, true, false).ID: return 1573; + case Fire::Fire(13, false, true, false, false, true).ID: return 1574; + case Fire::Fire(13, false, true, false, false, false).ID: return 1575; + case Fire::Fire(13, false, false, true, true, true).ID: return 1576; + case Fire::Fire(13, false, false, true, true, false).ID: return 1577; + case Fire::Fire(13, false, false, true, false, true).ID: return 1578; + case Fire::Fire(13, false, false, true, false, false).ID: return 1579; + case Fire::Fire(13, false, false, false, true, true).ID: return 1580; + case Fire::Fire(13, false, false, false, true, false).ID: return 1581; + case Fire::Fire(13, false, false, false, false, true).ID: return 1582; + case Fire::Fire(13, false, false, false, false, false).ID: return 1583; + case Fire::Fire(14, true, true, true, true, true).ID: return 1584; + case Fire::Fire(14, true, true, true, true, false).ID: return 1585; + case Fire::Fire(14, true, true, true, false, true).ID: return 1586; + case Fire::Fire(14, true, true, true, false, false).ID: return 1587; + case Fire::Fire(14, true, true, false, true, true).ID: return 1588; + case Fire::Fire(14, true, true, false, true, false).ID: return 1589; + case Fire::Fire(14, true, true, false, false, true).ID: return 1590; + case Fire::Fire(14, true, true, false, false, false).ID: return 1591; + case Fire::Fire(14, true, false, true, true, true).ID: return 1592; + case Fire::Fire(14, true, false, true, true, false).ID: return 1593; + case Fire::Fire(14, true, false, true, false, true).ID: return 1594; + case Fire::Fire(14, true, false, true, false, false).ID: return 1595; + case Fire::Fire(14, true, false, false, true, true).ID: return 1596; + case Fire::Fire(14, true, false, false, true, false).ID: return 1597; + case Fire::Fire(14, true, false, false, false, true).ID: return 1598; + case Fire::Fire(14, true, false, false, false, false).ID: return 1599; + case Fire::Fire(14, false, true, true, true, true).ID: return 1600; + case Fire::Fire(14, false, true, true, true, false).ID: return 1601; + case Fire::Fire(14, false, true, true, false, true).ID: return 1602; + case Fire::Fire(14, false, true, true, false, false).ID: return 1603; + case Fire::Fire(14, false, true, false, true, true).ID: return 1604; + case Fire::Fire(14, false, true, false, true, false).ID: return 1605; + case Fire::Fire(14, false, true, false, false, true).ID: return 1606; + case Fire::Fire(14, false, true, false, false, false).ID: return 1607; + case Fire::Fire(14, false, false, true, true, true).ID: return 1608; + case Fire::Fire(14, false, false, true, true, false).ID: return 1609; + case Fire::Fire(14, false, false, true, false, true).ID: return 1610; + case Fire::Fire(14, false, false, true, false, false).ID: return 1611; + case Fire::Fire(14, false, false, false, true, true).ID: return 1612; + case Fire::Fire(14, false, false, false, true, false).ID: return 1613; + case Fire::Fire(14, false, false, false, false, true).ID: return 1614; + case Fire::Fire(14, false, false, false, false, false).ID: return 1615; + case Fire::Fire(15, true, true, true, true, true).ID: return 1616; + case Fire::Fire(15, true, true, true, true, false).ID: return 1617; + case Fire::Fire(15, true, true, true, false, true).ID: return 1618; + case Fire::Fire(15, true, true, true, false, false).ID: return 1619; + case Fire::Fire(15, true, true, false, true, true).ID: return 1620; + case Fire::Fire(15, true, true, false, true, false).ID: return 1621; + case Fire::Fire(15, true, true, false, false, true).ID: return 1622; + case Fire::Fire(15, true, true, false, false, false).ID: return 1623; + case Fire::Fire(15, true, false, true, true, true).ID: return 1624; + case Fire::Fire(15, true, false, true, true, false).ID: return 1625; + case Fire::Fire(15, true, false, true, false, true).ID: return 1626; + case Fire::Fire(15, true, false, true, false, false).ID: return 1627; + case Fire::Fire(15, true, false, false, true, true).ID: return 1628; + case Fire::Fire(15, true, false, false, true, false).ID: return 1629; + case Fire::Fire(15, true, false, false, false, true).ID: return 1630; + case Fire::Fire(15, true, false, false, false, false).ID: return 1631; + case Fire::Fire(15, false, true, true, true, true).ID: return 1632; + case Fire::Fire(15, false, true, true, true, false).ID: return 1633; + case Fire::Fire(15, false, true, true, false, true).ID: return 1634; + case Fire::Fire(15, false, true, true, false, false).ID: return 1635; + case Fire::Fire(15, false, true, false, true, true).ID: return 1636; + case Fire::Fire(15, false, true, false, true, false).ID: return 1637; + case Fire::Fire(15, false, true, false, false, true).ID: return 1638; + case Fire::Fire(15, false, true, false, false, false).ID: return 1639; + case Fire::Fire(15, false, false, true, true, true).ID: return 1640; + case Fire::Fire(15, false, false, true, true, false).ID: return 1641; + case Fire::Fire(15, false, false, true, false, true).ID: return 1642; + case Fire::Fire(15, false, false, true, false, false).ID: return 1643; + case Fire::Fire(15, false, false, false, true, true).ID: return 1644; + case Fire::Fire(15, false, false, false, true, false).ID: return 1645; + case Fire::Fire(15, false, false, false, false, true).ID: return 1646; + case Fire::Fire(15, false, false, false, false, false).ID: return 1647; + case FireCoral::FireCoral().ID: return 8477; + case FireCoralBlock::FireCoralBlock().ID: return 8458; + case FireCoralFan::FireCoralFan().ID: return 8577; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8545; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8547; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8549; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8551; + case FlowerPot::FlowerPot().ID: return 5266; + case FrostedIce::FrostedIce(0).ID: return 8189; + case FrostedIce::FrostedIce(1).ID: return 8190; + case FrostedIce::FrostedIce(2).ID: return 8191; + case FrostedIce::FrostedIce(3).ID: return 8192; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3068; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3069; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3070; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3071; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3072; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3073; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3074; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3075; + case Glass::Glass().ID: return 230; + case GlassPane::GlassPane(true, true, true, true).ID: return 4214; + case GlassPane::GlassPane(true, true, true, false).ID: return 4215; + case GlassPane::GlassPane(true, true, false, true).ID: return 4218; + case GlassPane::GlassPane(true, true, false, false).ID: return 4219; + case GlassPane::GlassPane(true, false, true, true).ID: return 4222; + case GlassPane::GlassPane(true, false, true, false).ID: return 4223; + case GlassPane::GlassPane(true, false, false, true).ID: return 4226; + case GlassPane::GlassPane(true, false, false, false).ID: return 4227; + case GlassPane::GlassPane(false, true, true, true).ID: return 4230; + case GlassPane::GlassPane(false, true, true, false).ID: return 4231; + case GlassPane::GlassPane(false, true, false, true).ID: return 4234; + case GlassPane::GlassPane(false, true, false, false).ID: return 4235; + case GlassPane::GlassPane(false, false, true, true).ID: return 4238; + case GlassPane::GlassPane(false, false, true, false).ID: return 4239; + case GlassPane::GlassPane(false, false, false, true).ID: return 4242; + case GlassPane::GlassPane(false, false, false, false).ID: return 4243; + case Glowstone::Glowstone().ID: return 3496; + case GoldBlock::GoldBlock().ID: return 1123; + case GoldOre::GoldOre().ID: return 69; + case Granite::Granite().ID: return 2; + case Grass::Grass().ID: return 1041; + case GrassBlock::GrassBlock(true).ID: return 8; + case GrassBlock::GrassBlock(false).ID: return 9; + case GrassPath::GrassPath().ID: return 8163; + case Gravel::Gravel().ID: return 68; + case GrayBanner::GrayBanner(0).ID: return 6967; + case GrayBanner::GrayBanner(1).ID: return 6968; + case GrayBanner::GrayBanner(2).ID: return 6969; + case GrayBanner::GrayBanner(3).ID: return 6970; + case GrayBanner::GrayBanner(4).ID: return 6971; + case GrayBanner::GrayBanner(5).ID: return 6972; + case GrayBanner::GrayBanner(6).ID: return 6973; + case GrayBanner::GrayBanner(7).ID: return 6974; + case GrayBanner::GrayBanner(8).ID: return 6975; + case GrayBanner::GrayBanner(9).ID: return 6976; + case GrayBanner::GrayBanner(10).ID: return 6977; + case GrayBanner::GrayBanner(11).ID: return 6978; + case GrayBanner::GrayBanner(12).ID: return 6979; + case GrayBanner::GrayBanner(13).ID: return 6980; + case GrayBanner::GrayBanner(14).ID: return 6981; + case GrayBanner::GrayBanner(15).ID: return 6982; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 860; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 861; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 862; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 863; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 864; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 865; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 866; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 867; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 868; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 869; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 870; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 871; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 872; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 873; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 874; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 875; + case GrayCarpet::GrayCarpet().ID: return 6831; + case GrayConcrete::GrayConcrete().ID: return 8385; + case GrayConcretePowder::GrayConcretePowder().ID: return 8401; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8342; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8343; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8344; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8345; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8260; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8261; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8262; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8263; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8264; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8265; + case GrayStainedGlass::GrayStainedGlass().ID: return 3585; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 6047; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 6048; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 6051; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 6052; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 6055; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 6056; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 6059; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 6060; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 6063; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 6064; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 6067; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 6068; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 6071; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 6072; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 6075; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 6076; + case GrayTerracotta::GrayTerracotta().ID: return 5812; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7139; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7140; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7141; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7142; + case GrayWool::GrayWool().ID: return 1090; + case GreenBanner::GreenBanner(0).ID: return 7063; + case GreenBanner::GreenBanner(1).ID: return 7064; + case GreenBanner::GreenBanner(2).ID: return 7065; + case GreenBanner::GreenBanner(3).ID: return 7066; + case GreenBanner::GreenBanner(4).ID: return 7067; + case GreenBanner::GreenBanner(5).ID: return 7068; + case GreenBanner::GreenBanner(6).ID: return 7069; + case GreenBanner::GreenBanner(7).ID: return 7070; + case GreenBanner::GreenBanner(8).ID: return 7071; + case GreenBanner::GreenBanner(9).ID: return 7072; + case GreenBanner::GreenBanner(10).ID: return 7073; + case GreenBanner::GreenBanner(11).ID: return 7074; + case GreenBanner::GreenBanner(12).ID: return 7075; + case GreenBanner::GreenBanner(13).ID: return 7076; + case GreenBanner::GreenBanner(14).ID: return 7077; + case GreenBanner::GreenBanner(15).ID: return 7078; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 956; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 957; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 958; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 959; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 960; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 961; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 962; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 963; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 964; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 965; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 966; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 967; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 968; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 969; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 970; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 971; + case GreenCarpet::GreenCarpet().ID: return 6837; + case GreenConcrete::GreenConcrete().ID: return 8391; + case GreenConcretePowder::GreenConcretePowder().ID: return 8407; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8366; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8367; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8368; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8369; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8296; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8297; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8298; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8299; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8300; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8301; + case GreenStainedGlass::GreenStainedGlass().ID: return 3591; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 6239; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 6240; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 6243; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 6244; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 6247; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 6248; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 6251; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 6252; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 6255; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 6256; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 6259; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 6260; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 6263; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 6264; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 6267; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 6268; + case GreenTerracotta::GreenTerracotta().ID: return 5818; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7163; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7164; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7165; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7166; + case GreenWool::GreenWool().ID: return 1096; + case HayBale::HayBale(HayBale::Axis::X).ID: return 6821; + case HayBale::HayBale(HayBale::Axis::Y).ID: return 6822; + case HayBale::HayBale(HayBale::Axis::Z).ID: return 6823; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 5620; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 5621; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 5622; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 5623; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 5624; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 5625; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 5626; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 5627; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 5628; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 5629; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 5630; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 5631; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 5632; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 5633; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 5634; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 5635; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 5686; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5687; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5688; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 5689; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 5690; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 5691; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5692; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5693; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 5694; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 5695; + case HornCoral::HornCoral().ID: return 8479; + case HornCoralBlock::HornCoralBlock().ID: return 8459; + case HornCoralFan::HornCoralFan().ID: return 8579; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8553; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8555; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8557; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8559; + case Ice::Ice().ID: return 3424; + case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 3983; + case InfestedCobblestone::InfestedCobblestone().ID: return 3979; + case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 3982; + case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 3981; + case InfestedStone::InfestedStone().ID: return 3978; + case InfestedStoneBricks::InfestedStoneBricks().ID: return 3980; + case IronBars::IronBars(true, true, true, true).ID: return 4182; + case IronBars::IronBars(true, true, true, false).ID: return 4183; + case IronBars::IronBars(true, true, false, true).ID: return 4186; + case IronBars::IronBars(true, true, false, false).ID: return 4187; + case IronBars::IronBars(true, false, true, true).ID: return 4190; + case IronBars::IronBars(true, false, true, false).ID: return 4191; + case IronBars::IronBars(true, false, false, true).ID: return 4194; + case IronBars::IronBars(true, false, false, false).ID: return 4195; + case IronBars::IronBars(false, true, true, true).ID: return 4198; + case IronBars::IronBars(false, true, true, false).ID: return 4199; + case IronBars::IronBars(false, true, false, true).ID: return 4202; + case IronBars::IronBars(false, true, false, false).ID: return 4203; + case IronBars::IronBars(false, false, true, true).ID: return 4206; + case IronBars::IronBars(false, false, true, false).ID: return 4207; + case IronBars::IronBars(false, false, false, true).ID: return 4210; + case IronBars::IronBars(false, false, false, false).ID: return 4211; + case IronBlock::IronBlock().ID: return 1124; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3304; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3305; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3306; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3307; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3308; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3309; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3310; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3311; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3312; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3313; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3314; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3315; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3316; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3317; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3318; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3319; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3320; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3321; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3322; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3323; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3324; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3325; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3326; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3327; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3328; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3329; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3330; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3331; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3332; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3333; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3334; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3335; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3336; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3337; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3338; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3339; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3340; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3341; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3342; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3343; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3344; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3345; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3346; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3347; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3348; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3349; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3350; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3351; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3352; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3353; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3354; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3355; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3356; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3357; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3358; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3359; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3360; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3361; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3362; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3363; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3364; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3365; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3366; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3367; + case IronOre::IronOre().ID: return 70; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 6496; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: + return 6498; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: + return 6500; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: + return 6502; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: + return 6504; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: + return 6506; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: + return 6508; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: + return 6510; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 6512; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: + return 6514; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: + return 6516; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: + return 6518; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: + return 6520; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: + return 6522; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: + return 6524; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: + return 6526; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 6528; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: + return 6530; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: + return 6532; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: + return 6534; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: + return 6536; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: + return 6538; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: + return 6540; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: + return 6542; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 6544; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: + return 6546; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: + return 6548; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: + return 6550; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: + return 6552; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: + return 6554; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: + return 6556; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: + return 6558; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 3503; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 3504; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 3505; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 3506; + case Jukebox::Jukebox(true).ID: return 3459; + case Jukebox::Jukebox(false).ID: return 3460; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5376; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5377; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5378; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5379; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5380; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5381; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5382; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5383; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5384; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5385; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5386; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5387; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5388; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5389; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5390; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5391; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5392; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5393; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5394; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5395; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5396; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5397; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5398; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5399; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7806; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7807; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7808; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7809; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7810; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7811; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7812; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7813; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7814; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7815; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7816; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7817; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7818; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7819; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7820; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7821; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7822; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7823; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7824; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7825; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7826; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7827; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7828; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7829; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7830; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7831; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7832; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7833; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7834; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7835; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7836; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7837; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7838; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7839; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7840; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7841; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7842; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7843; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7844; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7845; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7846; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7847; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7848; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7849; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7850; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7851; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7852; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7853; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7854; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7855; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7856; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7857; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7858; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7859; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7860; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7861; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 7862; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 7863; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 7864; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 7865; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 7866; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 7867; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 7868; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 7869; + case JungleFence::JungleFence(true, true, true, true).ID: return 7584; + case JungleFence::JungleFence(true, true, true, false).ID: return 7585; + case JungleFence::JungleFence(true, true, false, true).ID: return 7588; + case JungleFence::JungleFence(true, true, false, false).ID: return 7589; + case JungleFence::JungleFence(true, false, true, true).ID: return 7592; + case JungleFence::JungleFence(true, false, true, false).ID: return 7593; + case JungleFence::JungleFence(true, false, false, true).ID: return 7596; + case JungleFence::JungleFence(true, false, false, false).ID: return 7597; + case JungleFence::JungleFence(false, true, true, true).ID: return 7600; + case JungleFence::JungleFence(false, true, true, false).ID: return 7601; + case JungleFence::JungleFence(false, true, false, true).ID: return 7604; + case JungleFence::JungleFence(false, true, false, false).ID: return 7605; + case JungleFence::JungleFence(false, false, true, true).ID: return 7608; + case JungleFence::JungleFence(false, false, true, false).ID: return 7609; + case JungleFence::JungleFence(false, false, false, true).ID: return 7612; + case JungleFence::JungleFence(false, false, false, false).ID: return 7613; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7422; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7423; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7424; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7425; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7426; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7427; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7428; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7429; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7430; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7431; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7432; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7433; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7434; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7435; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7436; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7437; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7438; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7439; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7440; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7441; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7442; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7443; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7444; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7445; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7446; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7447; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7448; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7449; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7450; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7451; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7452; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7453; + case JungleLeaves::JungleLeaves(1, true).ID: return 186; + case JungleLeaves::JungleLeaves(1, false).ID: return 187; + case JungleLeaves::JungleLeaves(2, true).ID: return 188; + case JungleLeaves::JungleLeaves(2, false).ID: return 189; + case JungleLeaves::JungleLeaves(3, true).ID: return 190; + case JungleLeaves::JungleLeaves(3, false).ID: return 191; + case JungleLeaves::JungleLeaves(4, true).ID: return 192; + case JungleLeaves::JungleLeaves(4, false).ID: return 193; + case JungleLeaves::JungleLeaves(5, true).ID: return 194; + case JungleLeaves::JungleLeaves(5, false).ID: return 195; + case JungleLeaves::JungleLeaves(6, true).ID: return 196; + case JungleLeaves::JungleLeaves(6, false).ID: return 197; + case JungleLeaves::JungleLeaves(7, true).ID: return 198; + case JungleLeaves::JungleLeaves(7, false).ID: return 199; + case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 81; + case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 82; + case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 83; + case JunglePlanks::JunglePlanks().ID: return 18; + case JunglePressurePlate::JunglePressurePlate(true).ID: return 3374; + case JunglePressurePlate::JunglePressurePlate(false).ID: return 3375; + case JungleSapling::JungleSapling(0).ID: return 27; + case JungleSapling::JungleSapling(1).ID: return 28; + case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 7277; + case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 7279; + case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 7281; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5046; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5048; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5050; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5052; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5054; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5056; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5058; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5060; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5062; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5064; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5066; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5068; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5070; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5072; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5074; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5076; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5078; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5080; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5082; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5084; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5086; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5088; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5090; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5092; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5094; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5096; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5098; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5100; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5102; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5104; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5106; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5108; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5110; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5112; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5114; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5116; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5118; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5120; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5122; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5124; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: + return 3787; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: + return 3789; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: + return 3791; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: + return 3793; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 3795; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 3797; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 3799; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 3801; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: + return 3803; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: + return 3805; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: + return 3807; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: + return 3809; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 3811; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 3813; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 3815; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 3817; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: + return 3819; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: + return 3821; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: + return 3823; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: + return 3825; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 3827; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 3829; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 3831; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 3833; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: + return 3835; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: + return 3837; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: + return 3839; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: + return 3841; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 3843; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 3845; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 3847; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 3849; + case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 117; + case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 118; + case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 119; + case Kelp::Kelp(0).ID: return 8410; + case Kelp::Kelp(1).ID: return 8411; + case Kelp::Kelp(2).ID: return 8412; + case Kelp::Kelp(3).ID: return 8413; + case Kelp::Kelp(4).ID: return 8414; + case Kelp::Kelp(5).ID: return 8415; + case Kelp::Kelp(6).ID: return 8416; + case Kelp::Kelp(7).ID: return 8417; + case Kelp::Kelp(8).ID: return 8418; + case Kelp::Kelp(9).ID: return 8419; + case Kelp::Kelp(10).ID: return 8420; + case Kelp::Kelp(11).ID: return 8421; + case Kelp::Kelp(12).ID: return 8422; + case Kelp::Kelp(13).ID: return 8423; + case Kelp::Kelp(14).ID: return 8424; + case Kelp::Kelp(15).ID: return 8425; + case Kelp::Kelp(16).ID: return 8426; + case Kelp::Kelp(17).ID: return 8427; + case Kelp::Kelp(18).ID: return 8428; + case Kelp::Kelp(19).ID: return 8429; + case Kelp::Kelp(20).ID: return 8430; + case Kelp::Kelp(21).ID: return 8431; + case Kelp::Kelp(22).ID: return 8432; + case Kelp::Kelp(23).ID: return 8433; + case Kelp::Kelp(24).ID: return 8434; + case Kelp::Kelp(25).ID: return 8435; + case KelpPlant::KelpPlant().ID: return 8436; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3173; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3175; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3177; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3179; + case LapisBlock::LapisBlock().ID: return 232; + case LapisOre::LapisOre().ID: return 231; + case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 6853; + case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 6854; + case Lava::Lava(0).ID: return 50; + case Lava::Lava(1).ID: return 51; + case Lava::Lava(2).ID: return 52; + case Lava::Lava(3).ID: return 53; + case Lava::Lava(4).ID: return 54; + case Lava::Lava(5).ID: return 55; + case Lava::Lava(6).ID: return 56; + case Lava::Lava(7).ID: return 57; + case Lava::Lava(8).ID: return 58; + case Lava::Lava(9).ID: return 59; + case Lava::Lava(10).ID: return 60; + case Lava::Lava(11).ID: return 61; + case Lava::Lava(12).ID: return 62; + case Lava::Lava(13).ID: return 63; + case Lava::Lava(14).ID: return 64; + case Lava::Lava(15).ID: return 65; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3278; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3279; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3280; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3281; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3282; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3283; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3284; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3285; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3286; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3287; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3288; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3289; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3290; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3291; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3292; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3293; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3294; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3295; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3296; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3297; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3298; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3299; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3300; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3301; + case LightBlueBanner::LightBlueBanner(0).ID: return 6903; + case LightBlueBanner::LightBlueBanner(1).ID: return 6904; + case LightBlueBanner::LightBlueBanner(2).ID: return 6905; + case LightBlueBanner::LightBlueBanner(3).ID: return 6906; + case LightBlueBanner::LightBlueBanner(4).ID: return 6907; + case LightBlueBanner::LightBlueBanner(5).ID: return 6908; + case LightBlueBanner::LightBlueBanner(6).ID: return 6909; + case LightBlueBanner::LightBlueBanner(7).ID: return 6910; + case LightBlueBanner::LightBlueBanner(8).ID: return 6911; + case LightBlueBanner::LightBlueBanner(9).ID: return 6912; + case LightBlueBanner::LightBlueBanner(10).ID: return 6913; + case LightBlueBanner::LightBlueBanner(11).ID: return 6914; + case LightBlueBanner::LightBlueBanner(12).ID: return 6915; + case LightBlueBanner::LightBlueBanner(13).ID: return 6916; + case LightBlueBanner::LightBlueBanner(14).ID: return 6917; + case LightBlueBanner::LightBlueBanner(15).ID: return 6918; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 796; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 797; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 798; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 799; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 800; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 801; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 802; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 803; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 804; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 805; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 806; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 807; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 808; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 809; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 810; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 811; + case LightBlueCarpet::LightBlueCarpet().ID: return 6827; + case LightBlueConcrete::LightBlueConcrete().ID: return 8381; + case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 8397; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8326; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8327; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8328; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8329; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8236; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8237; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8238; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8239; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8240; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8241; + case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 3581; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 5919; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 5920; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 5923; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 5924; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 5927; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 5928; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 5931; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 5932; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 5935; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 5936; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 5939; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 5940; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 5943; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 5944; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 5947; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 5948; + case LightBlueTerracotta::LightBlueTerracotta().ID: return 5808; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7123; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7124; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7125; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7126; + case LightBlueWool::LightBlueWool().ID: return 1086; + case LightGrayBanner::LightGrayBanner(0).ID: return 6983; + case LightGrayBanner::LightGrayBanner(1).ID: return 6984; + case LightGrayBanner::LightGrayBanner(2).ID: return 6985; + case LightGrayBanner::LightGrayBanner(3).ID: return 6986; + case LightGrayBanner::LightGrayBanner(4).ID: return 6987; + case LightGrayBanner::LightGrayBanner(5).ID: return 6988; + case LightGrayBanner::LightGrayBanner(6).ID: return 6989; + case LightGrayBanner::LightGrayBanner(7).ID: return 6990; + case LightGrayBanner::LightGrayBanner(8).ID: return 6991; + case LightGrayBanner::LightGrayBanner(9).ID: return 6992; + case LightGrayBanner::LightGrayBanner(10).ID: return 6993; + case LightGrayBanner::LightGrayBanner(11).ID: return 6994; + case LightGrayBanner::LightGrayBanner(12).ID: return 6995; + case LightGrayBanner::LightGrayBanner(13).ID: return 6996; + case LightGrayBanner::LightGrayBanner(14).ID: return 6997; + case LightGrayBanner::LightGrayBanner(15).ID: return 6998; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 876; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 877; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 878; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 879; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 880; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 881; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 882; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 883; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 884; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 885; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 886; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 887; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 888; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 889; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 890; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 891; + case LightGrayCarpet::LightGrayCarpet().ID: return 6832; + case LightGrayConcrete::LightGrayConcrete().ID: return 8386; + case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 8402; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8346; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8347; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8348; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8349; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8266; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8267; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8268; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8269; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8270; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8271; + case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 3586; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 6079; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 6080; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 6083; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 6084; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 6087; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 6088; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 6091; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 6092; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 6095; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 6096; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 6099; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 6100; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 6103; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 6104; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 6107; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 6108; + case LightGrayTerracotta::LightGrayTerracotta().ID: return 5813; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7143; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7144; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7145; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7146; + case LightGrayWool::LightGrayWool().ID: return 1091; + case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 5604; + case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 5605; + case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 5606; + case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 5607; + case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 5608; + case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 5609; + case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 5610; + case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 5611; + case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 5612; + case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 5613; + case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 5614; + case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 5615; + case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 5616; + case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 5617; + case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 5618; + case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 5619; + case Lilac::Lilac(Lilac::Half::Upper).ID: return 6845; + case Lilac::Lilac(Lilac::Half::Lower).ID: return 6846; + case LilyPad::LilyPad().ID: return 4495; + case LimeBanner::LimeBanner(0).ID: return 6935; + case LimeBanner::LimeBanner(1).ID: return 6936; + case LimeBanner::LimeBanner(2).ID: return 6937; + case LimeBanner::LimeBanner(3).ID: return 6938; + case LimeBanner::LimeBanner(4).ID: return 6939; + case LimeBanner::LimeBanner(5).ID: return 6940; + case LimeBanner::LimeBanner(6).ID: return 6941; + case LimeBanner::LimeBanner(7).ID: return 6942; + case LimeBanner::LimeBanner(8).ID: return 6943; + case LimeBanner::LimeBanner(9).ID: return 6944; + case LimeBanner::LimeBanner(10).ID: return 6945; + case LimeBanner::LimeBanner(11).ID: return 6946; + case LimeBanner::LimeBanner(12).ID: return 6947; + case LimeBanner::LimeBanner(13).ID: return 6948; + case LimeBanner::LimeBanner(14).ID: return 6949; + case LimeBanner::LimeBanner(15).ID: return 6950; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 828; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 829; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 830; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 831; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 832; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 833; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 834; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 835; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 836; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 837; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 838; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 839; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 840; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 841; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 842; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 843; + case LimeCarpet::LimeCarpet().ID: return 6829; + case LimeConcrete::LimeConcrete().ID: return 8383; + case LimeConcretePowder::LimeConcretePowder().ID: return 8399; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8334; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8335; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8336; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8337; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8248; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8249; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8250; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8251; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8252; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8253; + case LimeStainedGlass::LimeStainedGlass().ID: return 3583; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 5983; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 5984; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 5987; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 5988; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 5991; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 5992; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 5995; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 5996; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 5999; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 6000; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 6003; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 6004; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 6007; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 6008; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 6011; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 6012; + case LimeTerracotta::LimeTerracotta().ID: return 5810; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7131; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7132; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7133; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7134; + case LimeWool::LimeWool().ID: return 1088; + case MagentaBanner::MagentaBanner(0).ID: return 6887; + case MagentaBanner::MagentaBanner(1).ID: return 6888; + case MagentaBanner::MagentaBanner(2).ID: return 6889; + case MagentaBanner::MagentaBanner(3).ID: return 6890; + case MagentaBanner::MagentaBanner(4).ID: return 6891; + case MagentaBanner::MagentaBanner(5).ID: return 6892; + case MagentaBanner::MagentaBanner(6).ID: return 6893; + case MagentaBanner::MagentaBanner(7).ID: return 6894; + case MagentaBanner::MagentaBanner(8).ID: return 6895; + case MagentaBanner::MagentaBanner(9).ID: return 6896; + case MagentaBanner::MagentaBanner(10).ID: return 6897; + case MagentaBanner::MagentaBanner(11).ID: return 6898; + case MagentaBanner::MagentaBanner(12).ID: return 6899; + case MagentaBanner::MagentaBanner(13).ID: return 6900; + case MagentaBanner::MagentaBanner(14).ID: return 6901; + case MagentaBanner::MagentaBanner(15).ID: return 6902; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 780; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 781; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 782; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 783; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 784; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 785; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 786; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 787; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 788; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 789; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 790; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 791; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 792; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 793; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 794; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 795; + case MagentaCarpet::MagentaCarpet().ID: return 6826; + case MagentaConcrete::MagentaConcrete().ID: return 8380; + case MagentaConcretePowder::MagentaConcretePowder().ID: return 8396; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8322; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8323; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8324; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8325; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8230; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8231; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8232; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8233; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8234; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8235; + case MagentaStainedGlass::MagentaStainedGlass().ID: return 3580; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 5887; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 5888; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 5891; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 5892; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 5895; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 5896; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 5899; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 5900; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 5903; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 5904; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 5907; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 5908; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 5911; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 5912; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 5915; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 5916; + case MagentaTerracotta::MagentaTerracotta().ID: return 5807; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7119; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7120; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7121; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7122; + case MagentaWool::MagentaWool().ID: return 1085; + case MagmaBlock::MagmaBlock().ID: return 8193; + case Melon::Melon().ID: return 4244; + case MelonStem::MelonStem(0).ID: return 4261; + case MelonStem::MelonStem(1).ID: return 4262; + case MelonStem::MelonStem(2).ID: return 4263; + case MelonStem::MelonStem(3).ID: return 4264; + case MelonStem::MelonStem(4).ID: return 4265; + case MelonStem::MelonStem(5).ID: return 4266; + case MelonStem::MelonStem(6).ID: return 4267; + case MelonStem::MelonStem(7).ID: return 4268; + case MossyCobblestone::MossyCobblestone().ID: return 1129; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5204; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5205; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5208; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5209; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5212; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5213; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5216; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5217; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5220; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5221; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5224; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5225; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5228; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5229; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5232; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5233; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5236; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5237; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5240; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5241; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5244; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5245; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5248; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5249; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5252; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5253; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5256; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5257; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5260; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5261; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5264; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5265; + case MossyStoneBricks::MossyStoneBricks().ID: return 3985; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1099; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1100; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1101; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1102; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1103; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1104; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1105; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1106; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1107; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1108; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1109; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1110; + case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4116; + case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4117; + case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4118; + case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4119; + case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4120; + case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4121; + case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4122; + case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4123; + case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4124; + case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4125; + case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4126; + case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4127; + case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4128; + case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4129; + case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4130; + case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4131; + case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4132; + case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4133; + case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4134; + case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4135; + case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4136; + case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4137; + case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4138; + case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4139; + case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4140; + case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4141; + case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4142; + case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4143; + case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4144; + case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4145; + case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4146; + case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4147; + case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4148; + case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4149; + case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4150; + case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4151; + case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4152; + case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4153; + case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4154; + case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4155; + case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4156; + case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4157; + case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4158; + case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4159; + case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4160; + case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4161; + case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4162; + case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4163; + case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4164; + case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4165; + case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4166; + case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4167; + case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4168; + case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4169; + case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4170; + case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4171; + case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4172; + case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4173; + case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4174; + case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4175; + case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4176; + case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4177; + case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4178; + case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4179; + case Mycelium::Mycelium(true).ID: return 4493; + case Mycelium::Mycelium(false).ID: return 4494; + case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 4499; + case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 4500; + case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 4503; + case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 4504; + case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 4507; + case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 4508; + case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 4511; + case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 4512; + case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 4515; + case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 4516; + case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 4519; + case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 4520; + case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 4523; + case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 4524; + case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 4527; + case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 4528; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 7331; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 7333; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 7335; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4530; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4532; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4534; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4536; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4538; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4540; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4542; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4544; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4546; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4548; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4550; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4552; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4554; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4556; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4558; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4560; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4562; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4564; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4566; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4568; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4570; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4572; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4574; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4576; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4578; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4580; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4582; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4584; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4586; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4588; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4590; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4592; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4594; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4596; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4598; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 4600; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 4602; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 4604; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 4606; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 4608; + case NetherBricks::NetherBricks().ID: return 4496; + case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 3497; + case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 3498; + case NetherQuartzOre::NetherQuartzOre().ID: return 5685; + case NetherWart::NetherWart(0).ID: return 4609; + case NetherWart::NetherWart(1).ID: return 4610; + case NetherWart::NetherWart(2).ID: return 4611; + case NetherWart::NetherWart(3).ID: return 4612; + case NetherWartBlock::NetherWartBlock().ID: return 8194; + case Netherrack::Netherrack().ID: return 3494; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 248; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 249; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 250; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 251; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 252; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 253; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 254; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 255; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 256; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 257; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 258; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 259; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 260; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 261; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 262; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 263; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 264; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 265; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 266; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 267; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 268; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 269; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 270; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 271; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 272; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 273; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 274; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 275; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 276; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 277; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 278; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 279; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 280; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 281; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 282; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 283; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 284; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 285; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 286; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 287; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 288; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 289; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 290; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 291; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 292; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 293; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 294; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 295; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 296; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 297; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 298; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 299; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 300; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 301; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 302; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 303; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 304; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 305; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 306; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 307; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 308; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 309; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 310; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 311; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 312; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 313; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 314; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 315; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 316; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 317; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 318; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 319; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 320; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 321; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 322; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 323; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 324; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 325; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 326; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 327; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 328; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 329; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 330; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 331; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 332; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 333; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 334; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 335; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 336; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 337; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 338; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 339; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 340; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 341; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 342; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 343; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 344; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 345; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 346; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 347; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 348; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 349; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 350; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 351; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 352; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 353; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 354; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 355; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 356; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 357; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 358; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 359; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 360; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 361; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 362; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 363; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 364; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 365; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 366; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 367; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 368; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 369; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 370; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 371; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 372; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 373; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 374; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 375; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 376; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 377; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 378; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 379; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 380; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 381; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 382; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 383; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 384; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 385; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 386; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 387; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 388; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 389; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 390; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 391; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 392; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 393; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 394; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 395; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 396; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 397; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 398; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 399; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 400; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 401; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 402; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 403; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 404; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 405; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 406; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 407; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 408; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 409; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 410; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 411; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 412; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 413; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 414; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 415; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 416; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 417; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 418; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 419; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 420; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 421; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 422; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 423; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 424; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 425; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 426; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 427; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 428; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 429; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 430; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 431; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 432; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 433; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 434; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 435; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 436; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 437; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 438; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 439; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 440; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 441; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 442; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 443; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 444; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 445; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 446; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 447; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 448; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 449; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 450; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 451; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 452; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 453; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 454; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 455; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 456; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 457; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 458; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 459; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 460; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 461; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 462; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 463; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 464; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 465; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 466; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 467; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 468; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 469; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 470; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 471; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 472; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 473; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 474; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 475; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 476; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 477; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 478; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 479; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 480; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 481; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 482; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 483; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 484; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 485; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 486; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 487; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 488; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 489; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 490; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 491; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 492; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 493; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 494; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 495; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 496; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 497; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 498; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 499; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 500; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 501; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 502; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 503; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 504; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 505; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 506; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 507; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 508; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 509; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 510; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 511; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 512; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 513; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 514; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 515; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 516; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 517; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 518; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 519; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 520; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 521; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 522; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 523; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 524; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 525; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 526; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 527; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 528; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 529; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 530; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 531; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 532; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 533; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 534; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 535; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 536; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 537; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 538; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 539; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 540; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 541; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 542; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 543; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 544; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 545; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 546; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 547; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 548; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 549; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 550; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 551; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 552; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 553; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 554; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 555; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 556; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 557; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 558; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 559; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 560; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 561; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 562; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 563; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 564; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 565; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 566; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 567; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 568; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 569; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 570; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 571; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 572; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 573; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 574; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 575; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 576; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 577; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 578; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 579; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 580; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 581; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 582; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 583; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 584; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 585; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 586; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 587; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 588; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 589; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 590; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 591; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 592; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 593; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 594; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 595; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 596; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 597; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 598; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 599; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 600; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 601; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 602; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 603; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 604; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 605; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 606; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 607; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 608; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 609; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 610; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 611; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 612; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 613; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 614; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 615; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 616; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 617; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 618; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 619; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 620; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 621; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 622; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 623; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 624; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 625; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 626; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 627; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 628; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 629; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 630; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 631; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 632; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 633; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 634; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 635; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 636; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 637; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 638; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 639; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 640; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 641; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 642; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 643; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 644; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 645; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 646; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 647; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 648; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 649; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 650; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 651; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 652; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 653; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 654; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 655; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 656; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 657; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 658; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 659; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 660; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 661; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 662; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 663; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 664; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 665; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 666; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 667; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 668; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 669; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 670; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 671; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 672; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 673; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 674; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 675; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 676; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 677; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 678; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 679; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 680; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 681; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 682; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 683; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 684; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 685; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 686; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 687; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 688; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 689; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 690; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 691; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 692; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 693; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 694; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 695; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 696; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 697; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 698; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 699; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 700; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 701; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 702; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 703; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 704; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 705; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 706; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 707; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 708; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 709; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 710; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 711; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 712; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 713; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 714; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 715; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 716; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 717; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 718; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 719; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 720; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 721; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 722; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 723; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 724; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 725; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 726; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 727; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 728; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 729; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 730; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 731; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 732; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 733; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 734; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 735; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 736; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 737; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 738; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 739; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 740; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 741; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 742; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 743; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 744; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 745; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 746; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 747; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5304; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5305; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5306; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5307; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5308; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5309; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5310; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5311; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5312; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5313; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5314; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5315; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5316; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5317; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5318; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5319; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5320; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5321; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5322; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5323; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5324; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5325; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5326; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5327; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3108; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3109; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3110; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3111; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3112; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3113; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3114; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3115; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3116; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3117; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3118; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3119; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3120; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3121; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3122; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3123; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3124; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3125; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3126; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3127; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3128; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3129; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3130; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3131; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3132; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3133; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3134; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3135; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3136; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3137; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3138; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3139; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3140; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3141; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3142; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3143; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3144; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3145; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3146; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3147; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3148; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3149; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3150; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3151; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3152; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3153; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3154; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3155; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3156; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3157; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3158; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3159; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3160; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3161; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3162; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3163; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3164; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3165; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3166; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3167; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3168; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3169; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3170; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3171; + case OakFence::OakFence(true, true, true, true).ID: return 3463; + case OakFence::OakFence(true, true, true, false).ID: return 3464; + case OakFence::OakFence(true, true, false, true).ID: return 3467; + case OakFence::OakFence(true, true, false, false).ID: return 3468; + case OakFence::OakFence(true, false, true, true).ID: return 3471; + case OakFence::OakFence(true, false, true, false).ID: return 3472; + case OakFence::OakFence(true, false, false, true).ID: return 3475; + case OakFence::OakFence(true, false, false, false).ID: return 3476; + case OakFence::OakFence(false, true, true, true).ID: return 3479; + case OakFence::OakFence(false, true, true, false).ID: return 3480; + case OakFence::OakFence(false, true, false, true).ID: return 3483; + case OakFence::OakFence(false, true, false, false).ID: return 3484; + case OakFence::OakFence(false, false, true, true).ID: return 3487; + case OakFence::OakFence(false, false, true, false).ID: return 3488; + case OakFence::OakFence(false, false, false, true).ID: return 3491; + case OakFence::OakFence(false, false, false, false).ID: return 3492; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4301; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4302; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4303; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4304; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4305; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4306; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4307; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4308; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4309; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4310; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4311; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4312; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4313; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4314; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4315; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4316; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4317; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4318; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4319; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4320; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4321; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4322; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4323; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4324; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4325; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4326; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4327; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4328; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4329; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4330; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4331; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4332; + case OakLeaves::OakLeaves(1, true).ID: return 144; + case OakLeaves::OakLeaves(1, false).ID: return 145; + case OakLeaves::OakLeaves(2, true).ID: return 146; + case OakLeaves::OakLeaves(2, false).ID: return 147; + case OakLeaves::OakLeaves(3, true).ID: return 148; + case OakLeaves::OakLeaves(3, false).ID: return 149; + case OakLeaves::OakLeaves(4, true).ID: return 150; + case OakLeaves::OakLeaves(4, false).ID: return 151; + case OakLeaves::OakLeaves(5, true).ID: return 152; + case OakLeaves::OakLeaves(5, false).ID: return 153; + case OakLeaves::OakLeaves(6, true).ID: return 154; + case OakLeaves::OakLeaves(6, false).ID: return 155; + case OakLeaves::OakLeaves(7, true).ID: return 156; + case OakLeaves::OakLeaves(7, false).ID: return 157; + case OakLog::OakLog(OakLog::Axis::X).ID: return 72; + case OakLog::OakLog(OakLog::Axis::Y).ID: return 73; + case OakLog::OakLog(OakLog::Axis::Z).ID: return 74; + case OakPlanks::OakPlanks().ID: return 15; + case OakPressurePlate::OakPressurePlate(true).ID: return 3368; + case OakPressurePlate::OakPressurePlate(false).ID: return 3369; + case OakSapling::OakSapling(0).ID: return 21; + case OakSapling::OakSapling(1).ID: return 22; + case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 7259; + case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 7261; + case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 7263; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1650; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1652; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1654; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1656; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1658; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1660; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1662; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1664; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1666; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1668; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1670; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1672; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1674; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1676; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1678; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1680; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1682; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1684; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1686; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1688; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1690; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1692; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1694; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1696; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1698; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1700; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1702; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1704; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1706; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1708; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1710; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1712; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1714; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1716; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1718; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1720; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1722; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1724; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1726; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1728; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 3595; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 3597; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 3599; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 3601; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 3603; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: + return 3605; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: + return 3607; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: + return 3609; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 3611; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 3613; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 3615; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 3617; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 3619; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: + return 3621; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: + return 3623; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: + return 3625; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 3627; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 3629; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 3631; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 3633; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 3635; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: + return 3637; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: + return 3639; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: + return 3641; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 3643; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 3645; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 3647; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 3649; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 3651; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: + return 3653; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: + return 3655; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: + return 3657; + case OakWood::OakWood(OakWood::Axis::X).ID: return 108; + case OakWood::OakWood(OakWood::Axis::Y).ID: return 109; + case OakWood::OakWood(OakWood::Axis::Z).ID: return 110; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 8200; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 8201; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 8202; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 8203; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 8204; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 8205; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 8206; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 8207; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 8208; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 8209; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 8210; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 8211; + case Obsidian::Obsidian().ID: return 1130; + case OrangeBanner::OrangeBanner(0).ID: return 6871; + case OrangeBanner::OrangeBanner(1).ID: return 6872; + case OrangeBanner::OrangeBanner(2).ID: return 6873; + case OrangeBanner::OrangeBanner(3).ID: return 6874; + case OrangeBanner::OrangeBanner(4).ID: return 6875; + case OrangeBanner::OrangeBanner(5).ID: return 6876; + case OrangeBanner::OrangeBanner(6).ID: return 6877; + case OrangeBanner::OrangeBanner(7).ID: return 6878; + case OrangeBanner::OrangeBanner(8).ID: return 6879; + case OrangeBanner::OrangeBanner(9).ID: return 6880; + case OrangeBanner::OrangeBanner(10).ID: return 6881; + case OrangeBanner::OrangeBanner(11).ID: return 6882; + case OrangeBanner::OrangeBanner(12).ID: return 6883; + case OrangeBanner::OrangeBanner(13).ID: return 6884; + case OrangeBanner::OrangeBanner(14).ID: return 6885; + case OrangeBanner::OrangeBanner(15).ID: return 6886; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 764; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 765; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 766; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 767; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 768; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 769; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 770; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 771; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 772; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 773; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 774; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 775; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 776; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 777; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 778; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 779; + case OrangeCarpet::OrangeCarpet().ID: return 6825; + case OrangeConcrete::OrangeConcrete().ID: return 8379; + case OrangeConcretePowder::OrangeConcretePowder().ID: return 8395; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8318; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8319; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8320; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8321; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8224; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8225; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8226; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8227; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8228; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8229; + case OrangeStainedGlass::OrangeStainedGlass().ID: return 3579; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 5855; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 5856; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 5859; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 5860; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 5863; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 5864; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 5867; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 5868; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 5871; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 5872; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 5875; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 5876; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 5879; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 5880; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 5883; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 5884; + case OrangeTerracotta::OrangeTerracotta().ID: return 5806; + case OrangeTulip::OrangeTulip().ID: return 1117; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7115; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7116; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7117; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7118; + case OrangeWool::OrangeWool().ID: return 1084; + case OxeyeDaisy::OxeyeDaisy().ID: return 1120; + case PackedIce::PackedIce().ID: return 6842; + case Peony::Peony(Peony::Half::Upper).ID: return 6849; + case Peony::Peony(Peony::Half::Lower).ID: return 6850; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 7307; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 7309; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 7311; + case PinkBanner::PinkBanner(0).ID: return 6951; + case PinkBanner::PinkBanner(1).ID: return 6952; + case PinkBanner::PinkBanner(2).ID: return 6953; + case PinkBanner::PinkBanner(3).ID: return 6954; + case PinkBanner::PinkBanner(4).ID: return 6955; + case PinkBanner::PinkBanner(5).ID: return 6956; + case PinkBanner::PinkBanner(6).ID: return 6957; + case PinkBanner::PinkBanner(7).ID: return 6958; + case PinkBanner::PinkBanner(8).ID: return 6959; + case PinkBanner::PinkBanner(9).ID: return 6960; + case PinkBanner::PinkBanner(10).ID: return 6961; + case PinkBanner::PinkBanner(11).ID: return 6962; + case PinkBanner::PinkBanner(12).ID: return 6963; + case PinkBanner::PinkBanner(13).ID: return 6964; + case PinkBanner::PinkBanner(14).ID: return 6965; + case PinkBanner::PinkBanner(15).ID: return 6966; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 844; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 845; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 846; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 847; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 848; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 849; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 850; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 851; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 852; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 853; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 854; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 855; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 856; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 857; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 858; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 859; + case PinkCarpet::PinkCarpet().ID: return 6830; + case PinkConcrete::PinkConcrete().ID: return 8384; + case PinkConcretePowder::PinkConcretePowder().ID: return 8400; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8338; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8339; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8340; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8341; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8254; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8255; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8256; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8257; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8258; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8259; + case PinkStainedGlass::PinkStainedGlass().ID: return 3584; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 6015; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 6016; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 6019; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 6020; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 6023; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 6024; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 6027; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 6028; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 6031; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 6032; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 6035; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 6036; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 6039; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 6040; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 6043; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 6044; + case PinkTerracotta::PinkTerracotta().ID: return 5811; + case PinkTulip::PinkTulip().ID: return 1119; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7135; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7136; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7137; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7138; + case PinkWool::PinkWool().ID: return 1089; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1047; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1048; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1049; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1050; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1051; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1052; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1053; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1054; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1055; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1056; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1057; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1058; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1059; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1060; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1061; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1062; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1063; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1064; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1065; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1066; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1067; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1068; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1069; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1070; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1071; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1072; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1073; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1074; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1075; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1076; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1077; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1078; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1079; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1080; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1081; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1082; + case PlayerHead::PlayerHead(0).ID: return 5512; + case PlayerHead::PlayerHead(1).ID: return 5513; + case PlayerHead::PlayerHead(2).ID: return 5514; + case PlayerHead::PlayerHead(3).ID: return 5515; + case PlayerHead::PlayerHead(4).ID: return 5516; + case PlayerHead::PlayerHead(5).ID: return 5517; + case PlayerHead::PlayerHead(6).ID: return 5518; + case PlayerHead::PlayerHead(7).ID: return 5519; + case PlayerHead::PlayerHead(8).ID: return 5520; + case PlayerHead::PlayerHead(9).ID: return 5521; + case PlayerHead::PlayerHead(10).ID: return 5522; + case PlayerHead::PlayerHead(11).ID: return 5523; + case PlayerHead::PlayerHead(12).ID: return 5524; + case PlayerHead::PlayerHead(13).ID: return 5525; + case PlayerHead::PlayerHead(14).ID: return 5526; + case PlayerHead::PlayerHead(15).ID: return 5527; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5508; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5509; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5510; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5511; + case Podzol::Podzol(true).ID: return 12; + case Podzol::Podzol(false).ID: return 13; + case PolishedAndesite::PolishedAndesite().ID: return 7; + case PolishedDiorite::PolishedDiorite().ID: return 5; + case PolishedGranite::PolishedGranite().ID: return 3; + case Poppy::Poppy().ID: return 1112; + case Potatoes::Potatoes(0).ID: return 5296; + case Potatoes::Potatoes(1).ID: return 5297; + case Potatoes::Potatoes(2).ID: return 5298; + case Potatoes::Potatoes(3).ID: return 5299; + case Potatoes::Potatoes(4).ID: return 5300; + case Potatoes::Potatoes(5).ID: return 5301; + case Potatoes::Potatoes(6).ID: return 5302; + case Potatoes::Potatoes(7).ID: return 5303; + case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 5271; + case PottedAllium::PottedAllium().ID: return 5277; + case PottedAzureBluet::PottedAzureBluet().ID: return 5278; + case PottedBirchSapling::PottedBirchSapling().ID: return 5269; + case PottedBlueOrchid::PottedBlueOrchid().ID: return 5276; + case PottedBrownMushroom::PottedBrownMushroom().ID: return 5285; + case PottedCactus::PottedCactus().ID: return 5287; + case PottedDandelion::PottedDandelion().ID: return 5274; + case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 5272; + case PottedDeadBush::PottedDeadBush().ID: return 5286; + case PottedFern::PottedFern().ID: return 5273; + case PottedJungleSapling::PottedJungleSapling().ID: return 5270; + case PottedOakSapling::PottedOakSapling().ID: return 5267; + case PottedOrangeTulip::PottedOrangeTulip().ID: return 5280; + case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 5283; + case PottedPinkTulip::PottedPinkTulip().ID: return 5282; + case PottedPoppy::PottedPoppy().ID: return 5275; + case PottedRedMushroom::PottedRedMushroom().ID: return 5284; + case PottedRedTulip::PottedRedTulip().ID: return 5279; + case PottedSpruceSapling::PottedSpruceSapling().ID: return 5268; + case PottedWhiteTulip::PottedWhiteTulip().ID: return 5281; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1004; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1005; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1006; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1007; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1008; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1009; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1010; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1011; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1012; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1013; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1014; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1015; + case Prismarine::Prismarine().ID: return 6559; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 6809; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 6811; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 6813; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6643; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6645; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6647; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6649; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6651; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6653; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6655; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6657; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6659; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6661; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6663; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6665; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6667; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6669; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6671; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6673; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6675; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6677; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6679; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6681; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6683; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6685; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6687; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6689; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6691; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6693; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6695; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6697; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6699; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6701; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6703; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6705; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6707; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6709; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6711; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 6713; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 6715; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 6717; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 6719; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 6721; + case PrismarineBricks::PrismarineBricks().ID: return 6560; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 6803; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 6805; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 6807; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6563; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6565; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6567; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6569; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6571; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6573; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6575; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6577; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6579; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6581; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6583; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6585; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6587; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6589; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6591; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6593; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6595; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6597; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6599; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6601; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6603; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6605; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6607; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6609; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6611; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6613; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6615; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6617; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6619; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6621; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6623; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6625; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6627; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6629; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6631; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 6633; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 6635; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 6637; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 6639; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 6641; + case Pumpkin::Pumpkin().ID: return 3493; + case PumpkinStem::PumpkinStem(0).ID: return 4253; + case PumpkinStem::PumpkinStem(1).ID: return 4254; + case PumpkinStem::PumpkinStem(2).ID: return 4255; + case PumpkinStem::PumpkinStem(3).ID: return 4256; + case PumpkinStem::PumpkinStem(4).ID: return 4257; + case PumpkinStem::PumpkinStem(5).ID: return 4258; + case PumpkinStem::PumpkinStem(6).ID: return 4259; + case PumpkinStem::PumpkinStem(7).ID: return 4260; + case PurpleBanner::PurpleBanner(0).ID: return 7015; + case PurpleBanner::PurpleBanner(1).ID: return 7016; + case PurpleBanner::PurpleBanner(2).ID: return 7017; + case PurpleBanner::PurpleBanner(3).ID: return 7018; + case PurpleBanner::PurpleBanner(4).ID: return 7019; + case PurpleBanner::PurpleBanner(5).ID: return 7020; + case PurpleBanner::PurpleBanner(6).ID: return 7021; + case PurpleBanner::PurpleBanner(7).ID: return 7022; + case PurpleBanner::PurpleBanner(8).ID: return 7023; + case PurpleBanner::PurpleBanner(9).ID: return 7024; + case PurpleBanner::PurpleBanner(10).ID: return 7025; + case PurpleBanner::PurpleBanner(11).ID: return 7026; + case PurpleBanner::PurpleBanner(12).ID: return 7027; + case PurpleBanner::PurpleBanner(13).ID: return 7028; + case PurpleBanner::PurpleBanner(14).ID: return 7029; + case PurpleBanner::PurpleBanner(15).ID: return 7030; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 908; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 909; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 910; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 911; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 912; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 913; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 914; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 915; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 916; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 917; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 918; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 919; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 920; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 921; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 922; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 923; + case PurpleCarpet::PurpleCarpet().ID: return 6834; + case PurpleConcrete::PurpleConcrete().ID: return 8388; + case PurpleConcretePowder::PurpleConcretePowder().ID: return 8404; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8354; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8355; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8356; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8357; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8278; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8279; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8280; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8281; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8282; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8283; + case PurpleStainedGlass::PurpleStainedGlass().ID: return 3588; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 6143; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 6144; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 6147; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 6148; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 6151; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 6152; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 6155; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 6156; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 6159; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 6160; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 6163; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 6164; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 6167; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 6168; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 6171; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 6172; + case PurpleTerracotta::PurpleTerracotta().ID: return 5815; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7151; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7152; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7153; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7154; + case PurpleWool::PurpleWool().ID: return 1093; + case PurpurBlock::PurpurBlock().ID: return 8074; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 8075; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 8076; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 8077; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 7349; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 7351; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 7353; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8079; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8081; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8083; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8085; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8087; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8089; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8091; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8093; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8095; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8097; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8099; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8101; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8103; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8105; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8107; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8109; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8111; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8113; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8115; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8117; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8119; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8121; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8123; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8125; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8127; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8129; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8131; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8133; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8135; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8137; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8139; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8141; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8143; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8145; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8147; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8149; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8151; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8153; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8155; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8157; + case QuartzBlock::QuartzBlock().ID: return 5696; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 5698; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 5699; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 5700; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 7337; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 7339; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 7341; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 5702; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5704; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5706; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5708; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5710; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 5712; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5714; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5716; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5718; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5720; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 5722; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5724; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5726; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5728; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5730; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 5732; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5734; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5736; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5738; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5740; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 5742; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5744; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5746; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5748; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5750; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 5752; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5754; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5756; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5758; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5760; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 5762; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5764; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5766; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5768; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5770; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 5772; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 5774; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 5776; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 5778; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 5780; + case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3180; + case Rail::Rail(Rail::Shape::EastWest).ID: return 3181; + case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3182; + case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3183; + case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3184; + case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3185; + case Rail::Rail(Rail::Shape::SouthEast).ID: return 3186; + case Rail::Rail(Rail::Shape::SouthWest).ID: return 3187; + case Rail::Rail(Rail::Shape::NorthWest).ID: return 3188; + case Rail::Rail(Rail::Shape::NorthEast).ID: return 3189; + case RedBanner::RedBanner(0).ID: return 7079; + case RedBanner::RedBanner(1).ID: return 7080; + case RedBanner::RedBanner(2).ID: return 7081; + case RedBanner::RedBanner(3).ID: return 7082; + case RedBanner::RedBanner(4).ID: return 7083; + case RedBanner::RedBanner(5).ID: return 7084; + case RedBanner::RedBanner(6).ID: return 7085; + case RedBanner::RedBanner(7).ID: return 7086; + case RedBanner::RedBanner(8).ID: return 7087; + case RedBanner::RedBanner(9).ID: return 7088; + case RedBanner::RedBanner(10).ID: return 7089; + case RedBanner::RedBanner(11).ID: return 7090; + case RedBanner::RedBanner(12).ID: return 7091; + case RedBanner::RedBanner(13).ID: return 7092; + case RedBanner::RedBanner(14).ID: return 7093; + case RedBanner::RedBanner(15).ID: return 7094; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 972; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 973; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 974; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 975; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 976; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 977; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 978; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 979; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 980; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 981; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 982; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 983; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 984; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 985; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 986; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 987; + case RedCarpet::RedCarpet().ID: return 6838; + case RedConcrete::RedConcrete().ID: return 8392; + case RedConcretePowder::RedConcretePowder().ID: return 8408; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8370; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8371; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8372; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8373; + case RedMushroom::RedMushroom().ID: return 1122; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4052; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4053; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4054; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4055; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4056; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4057; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4058; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4059; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4060; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4061; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4062; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4063; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4064; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4065; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4066; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4067; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4068; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4069; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4070; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4071; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4072; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4073; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4074; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4075; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4076; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4077; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4078; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4079; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4080; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4081; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4082; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4083; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4084; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4085; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4086; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4087; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4088; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4089; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4090; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4091; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4092; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4093; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4094; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4095; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4096; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4097; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4098; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4099; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4100; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4101; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4102; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4103; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4104; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4105; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4106; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4107; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4108; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4109; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4110; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4111; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4112; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4113; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4114; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4115; + case RedNetherBricks::RedNetherBricks().ID: return 8195; + case RedSand::RedSand().ID: return 67; + case RedSandstone::RedSandstone().ID: return 7175; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 7343; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 7345; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 7347; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7179; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7181; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7183; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7185; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7187; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7189; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7191; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7193; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7195; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7197; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7199; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7201; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7203; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7205; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7207; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7209; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7211; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7213; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7215; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7217; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7219; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7221; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7223; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7225; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7227; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7229; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7231; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7233; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7235; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7237; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7239; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7241; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7243; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7245; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7247; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7249; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7251; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7253; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7255; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7257; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8302; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8303; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8304; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8305; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8306; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8307; + case RedStainedGlass::RedStainedGlass().ID: return 3592; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 6271; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 6272; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 6275; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 6276; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 6279; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 6280; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 6283; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 6284; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 6287; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 6288; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 6291; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 6292; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 6295; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 6296; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 6299; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 6300; + case RedTerracotta::RedTerracotta().ID: return 5819; + case RedTulip::RedTulip().ID: return 1116; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7167; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7168; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7169; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7170; + case RedWool::RedWool().ID: return 1097; + case RedstoneBlock::RedstoneBlock().ID: return 5684; + case RedstoneLamp::RedstoneLamp(true).ID: return 4637; + case RedstoneLamp::RedstoneLamp(false).ID: return 4638; + case RedstoneOre::RedstoneOre(true).ID: return 3380; + case RedstoneOre::RedstoneOre(false).ID: return 3381; + case RedstoneTorch::RedstoneTorch(true).ID: return 3382; + case RedstoneTorch::RedstoneTorch(false).ID: return 3383; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3384; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3385; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3386; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3387; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3388; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3389; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3390; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3391; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1753; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1754; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1755; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1756; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1757; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1758; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1759; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1760; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1761; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1762; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1763; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1764; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1765; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1766; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1767; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1768; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1769; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1770; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1771; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1772; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1773; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1774; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1775; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1776; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1777; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1778; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1779; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1780; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1781; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1782; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1783; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1784; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1785; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1786; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1787; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1788; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1789; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1790; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1791; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1792; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1793; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1794; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1795; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1796; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1797; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1798; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1799; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1800; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1801; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1802; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1803; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1804; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1805; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1806; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1807; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1808; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1809; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1810; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1811; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1812; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1813; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1814; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1815; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1816; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1817; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1818; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1819; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1820; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1821; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1822; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1823; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1824; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1825; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1826; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1827; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1828; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1829; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1830; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1831; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1832; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1833; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1834; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1835; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1836; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1837; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1838; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1839; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1840; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1841; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1842; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1843; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1844; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1845; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1846; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1847; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1848; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1849; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1850; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1851; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1852; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1853; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1854; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1855; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1856; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1857; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1858; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1859; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1860; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1861; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1862; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1863; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1864; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1865; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1866; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1867; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1868; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1869; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1870; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1871; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1872; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1873; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1874; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1875; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1876; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1877; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1878; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1879; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1880; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1881; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1882; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1883; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1884; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1885; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1886; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1887; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1888; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1889; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1890; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1891; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1892; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1893; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1895; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1896; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1897; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1898; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1899; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1900; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1901; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1902; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1903; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1904; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1905; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1906; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1907; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1908; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1909; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1910; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1911; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1912; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1913; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1914; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1915; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1916; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1917; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1918; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1919; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1920; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1921; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1922; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1923; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1924; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1925; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1926; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1927; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1928; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1929; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1930; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1931; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1932; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1933; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1934; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1935; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1936; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1937; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1938; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1939; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1940; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1941; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1942; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1943; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1944; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1945; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1946; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1947; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1948; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1949; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1950; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1951; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1952; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1953; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1954; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1955; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1956; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1957; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1958; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1959; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1960; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1961; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1962; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1963; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1964; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1965; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1966; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1967; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1968; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1969; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1970; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1971; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1972; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1973; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1974; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1975; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1976; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1977; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1978; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1979; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1980; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1981; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1982; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1983; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1984; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1985; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1986; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1987; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1988; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1989; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1990; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 1991; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 1992; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 1993; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 1994; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 1995; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 1996; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 1997; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 1998; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 1999; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2000; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2001; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2002; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2003; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2004; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2005; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2006; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2007; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2008; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2009; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2010; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2011; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2012; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2013; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2014; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2015; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2016; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2017; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2018; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2019; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2020; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2021; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2022; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2023; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2024; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2025; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2026; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2027; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2028; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2029; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2030; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2031; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2032; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2033; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2034; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2035; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2036; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2037; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2038; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2039; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2040; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2041; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2042; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2043; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2044; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2045; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2046; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2047; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2048; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2049; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2050; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2051; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2052; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2053; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2054; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2055; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2056; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2057; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2058; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2059; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2060; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2061; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2062; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2063; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2064; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2065; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2066; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2067; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2068; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2069; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2070; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2071; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2072; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2073; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2074; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2075; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2076; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2077; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2078; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2079; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2080; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2081; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2082; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2083; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2084; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2085; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2086; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2087; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2088; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2089; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2090; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2091; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2092; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2093; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2094; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2095; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2096; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2097; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2098; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2099; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2100; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2101; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2102; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2103; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2104; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2105; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2106; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2107; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2108; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2109; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2110; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2111; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2112; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2113; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2114; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2115; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2116; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2117; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2118; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2119; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2120; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2121; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2122; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2123; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2124; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2125; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2126; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2127; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2128; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2129; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2130; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2131; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2132; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2133; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2134; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2135; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2136; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2137; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2138; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2139; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2140; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2141; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2142; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2143; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2144; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2145; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2146; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2147; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2148; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2149; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2150; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2151; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2152; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2153; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2154; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2155; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2156; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2157; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2158; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2159; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2160; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2161; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2162; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2163; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2164; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2165; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2166; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2167; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2168; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2169; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2170; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2171; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2172; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2173; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2174; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2175; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2176; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2177; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2178; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2179; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2180; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2181; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2182; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2183; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2184; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2185; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2186; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2187; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2188; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2189; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2190; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2191; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2192; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2193; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2194; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2195; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2196; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2197; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2198; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2199; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2200; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2201; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2202; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2203; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2204; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2205; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2206; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2207; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2208; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2209; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2210; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2211; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2212; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2213; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2214; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2215; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2216; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2217; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2218; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2219; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2220; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2221; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2222; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2223; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2224; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2225; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2226; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2227; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2228; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2229; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2230; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2231; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2232; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2233; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2234; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2235; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2236; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2237; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2238; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2239; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2240; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2241; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2242; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2243; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2244; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2245; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2246; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2247; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2248; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2249; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2250; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2251; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2252; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2253; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2254; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2255; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2256; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2257; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2258; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2259; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2260; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2261; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2262; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2263; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2264; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2265; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2266; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2267; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2268; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2269; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2270; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2271; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2272; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2273; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2274; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2275; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2276; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2277; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2278; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2279; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2280; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2281; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2282; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2283; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2284; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2285; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2286; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2287; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2288; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2289; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2290; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2291; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2292; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2293; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2294; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2295; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2296; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2297; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2298; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2299; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2300; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2301; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2302; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2303; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2304; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2305; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2306; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2307; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2308; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2309; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2310; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2311; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2312; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2313; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2314; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2315; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2316; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2317; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2318; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2319; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2320; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2321; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2322; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2323; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2324; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2325; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2326; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2327; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2328; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2329; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2330; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2331; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2332; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2333; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2334; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2335; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2336; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2337; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2338; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2339; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2340; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2341; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2342; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2343; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2344; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2345; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2346; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2347; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2348; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2349; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2350; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2351; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2352; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2353; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2354; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2355; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2356; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2357; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2358; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2359; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2360; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2361; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2362; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2363; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2364; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2365; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2366; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2367; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2368; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2369; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2370; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2371; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2372; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2373; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2374; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2375; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2376; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2377; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2378; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2379; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2380; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2381; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2382; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2383; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2384; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2385; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2386; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2387; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2388; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2389; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2390; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2391; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2392; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2393; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2394; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2395; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2396; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2397; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2398; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2399; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2400; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2401; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2402; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2403; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2404; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2405; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2406; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2407; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2408; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2409; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2410; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2411; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2412; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2413; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2414; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2415; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2416; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2417; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2418; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2419; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2420; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2421; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2422; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2423; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2424; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2425; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2426; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2427; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2428; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2429; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2430; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2431; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2432; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2433; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2434; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2435; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2436; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2437; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2438; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2439; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2440; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2441; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2442; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2443; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2444; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2445; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2446; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2447; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2448; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2449; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2450; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2451; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2452; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2453; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2454; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2455; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2456; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2457; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2458; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2459; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2460; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2461; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2462; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2463; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2464; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2465; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2466; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2467; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2468; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2469; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2470; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2471; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2472; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2473; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2474; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2475; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2476; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2477; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2478; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2479; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2480; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2481; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2482; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2483; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2484; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2485; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2486; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2487; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2488; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2489; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2490; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2491; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2492; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2493; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2494; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2495; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2496; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2497; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2498; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2499; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2500; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2501; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2502; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2503; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2504; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2505; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2506; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2507; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2508; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2509; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2510; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2511; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2512; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2513; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2514; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2515; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2516; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2517; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2518; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2519; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2520; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2521; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2522; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2523; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2524; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2525; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2526; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2527; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2528; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2529; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2530; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2531; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2532; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2533; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2534; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2535; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2536; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2537; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2538; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2539; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2540; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2541; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2542; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2543; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2544; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2545; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2546; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2547; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2548; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2549; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2550; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2551; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2552; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2553; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2554; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2555; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2556; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2557; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2558; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2559; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2560; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2561; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2562; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2563; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2564; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2565; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2566; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2567; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2568; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2569; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2570; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2571; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2572; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2573; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2574; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2575; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2576; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2577; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2578; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2579; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2580; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2581; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2582; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2583; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2584; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2585; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2586; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2587; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2588; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2589; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2590; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2591; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2592; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2593; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2594; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2595; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2596; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2597; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2598; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2599; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2600; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2601; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2602; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2603; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2604; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2605; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2606; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2607; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2608; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2609; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2610; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2611; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2612; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2613; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2614; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2615; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2616; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2617; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2618; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2619; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2620; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2621; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2622; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2623; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2624; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2625; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2626; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2627; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2628; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2629; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2630; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2631; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2632; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2633; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2634; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2635; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2636; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2637; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2638; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2639; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2640; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2641; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2642; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2643; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2644; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2645; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2646; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2647; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2648; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2649; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2650; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2651; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2652; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2653; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2654; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2655; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2656; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2657; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2658; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2659; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2660; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2661; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2662; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2663; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2664; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2665; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2666; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2667; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2668; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2669; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2670; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2671; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2672; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2673; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2674; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2675; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2676; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2677; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2678; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2679; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2680; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2681; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2682; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2683; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2684; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2685; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2686; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2687; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2688; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2689; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2690; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2691; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2692; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2693; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2694; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2695; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2696; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2697; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2698; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2699; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2700; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2701; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2702; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2703; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2704; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2705; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2706; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2707; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2708; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2709; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2710; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2711; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2712; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2713; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2714; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2715; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2716; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2717; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2718; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2719; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2720; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2721; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2722; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2723; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2724; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2725; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2726; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2727; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2728; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2729; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2730; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2731; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2732; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2733; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2734; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2735; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2736; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2737; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2738; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2739; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2740; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2741; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2742; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2743; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2744; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2745; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2746; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2747; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2748; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2749; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2750; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2751; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2752; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2753; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2754; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2755; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2756; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2757; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2758; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2759; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2760; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2761; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2762; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2763; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2764; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2765; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2766; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2767; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2768; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2769; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2770; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2771; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2772; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2773; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2774; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2775; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2776; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2777; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2778; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2779; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2780; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2781; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2782; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2783; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2784; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2785; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2786; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2787; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2788; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2789; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2790; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2791; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2792; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2793; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2794; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2795; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2796; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2797; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2798; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2799; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2800; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2801; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2802; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2803; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2804; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2805; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2806; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2807; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2808; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2809; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2810; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2811; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2812; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2813; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2814; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2815; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2816; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2817; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2818; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2819; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2820; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2821; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2822; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2823; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2824; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2825; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2826; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2827; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2828; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2829; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2830; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2831; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2832; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2833; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2834; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2835; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2836; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2837; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2838; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2839; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2840; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2841; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2842; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2843; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2844; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2845; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2846; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2847; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2848; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2849; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2850; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2851; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2852; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2853; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2854; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2855; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2856; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2857; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2858; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2859; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2860; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2861; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2862; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2863; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2864; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2865; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2866; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2867; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2868; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2869; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2870; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2871; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2872; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2873; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2874; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2875; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2876; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2877; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2878; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2879; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2880; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2881; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2882; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2883; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2884; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2885; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2886; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2887; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2888; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2889; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2890; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2891; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2892; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2893; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2895; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2896; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2897; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2898; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2899; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2900; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2901; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2902; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2903; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2904; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2905; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2906; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2907; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2908; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2909; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2910; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2911; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2912; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2913; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2914; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2915; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2916; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2917; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2918; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2919; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2920; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2921; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2922; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2923; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2924; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2925; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2926; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2927; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2928; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2929; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2930; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2931; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2932; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2933; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2934; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2935; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2936; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2937; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2938; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2939; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2940; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2941; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2942; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2943; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2944; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2945; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2946; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2947; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2948; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2949; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2950; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2951; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2952; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2953; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2954; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2955; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2956; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2957; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2958; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2959; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2960; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2961; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2962; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2963; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2964; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2965; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2966; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2967; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2968; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2969; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2970; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2971; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2972; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2973; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2974; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2975; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2976; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2977; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2978; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2979; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2980; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2981; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2982; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2983; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2984; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2985; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2986; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2987; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2988; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2989; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2990; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2991; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2992; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2993; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2994; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2995; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2996; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2997; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2998; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2999; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3000; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3001; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3002; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3003; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3004; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3005; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3006; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3007; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3008; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3009; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3010; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3011; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3012; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3013; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3014; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3015; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3016; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3017; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3018; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3019; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3020; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3021; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3022; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3023; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3024; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3025; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3026; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3027; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3028; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3029; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3030; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3031; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3032; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3033; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3034; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3035; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3036; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3037; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3038; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3039; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3040; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3041; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3042; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3043; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3044; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3045; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3046; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3047; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3048; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3514; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3515; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3516; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3517; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3518; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3519; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3520; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3521; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3522; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3523; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3524; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3525; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3526; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3527; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3528; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3529; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3530; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3531; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3532; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3533; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3534; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3535; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3536; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3537; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3538; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3539; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3540; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3541; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3542; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3543; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3544; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3545; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3546; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3547; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3548; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3549; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3550; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3551; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3552; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3553; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3554; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3555; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3556; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3557; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3558; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3559; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3560; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3561; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 3562; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 3563; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 3564; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 3565; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 3566; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 3567; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 3568; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 3569; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 3570; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 3571; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 3572; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 3573; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 3574; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 3575; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 3576; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 3577; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8165; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8166; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8167; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8168; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8169; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8170; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8171; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8172; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8173; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8174; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8175; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8176; + case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 6847; + case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 6848; + case Sand::Sand().ID: return 66; + case Sandstone::Sandstone().ID: return 245; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 7301; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 7303; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 7305; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4652; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4654; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4656; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4658; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4660; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4662; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4664; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4666; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4668; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4670; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4672; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4674; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4676; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4678; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4680; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4682; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4684; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4686; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4688; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4690; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4692; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4694; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4696; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4698; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4700; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4702; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4704; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4706; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4708; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4710; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4712; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4714; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4716; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4718; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4720; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 4722; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 4724; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 4726; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 4728; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 4730; + case SeaLantern::SeaLantern().ID: return 6820; + case SeaPickle::SeaPickle(1).ID: return 8581; + case SeaPickle::SeaPickle(2).ID: return 8583; + case SeaPickle::SeaPickle(3).ID: return 8585; + case SeaPickle::SeaPickle(4).ID: return 8587; + case Seagrass::Seagrass().ID: return 1044; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8212; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8213; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8214; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8215; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8216; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8217; + case OakSign::OakSign(0).ID: return 3077; + case OakSign::OakSign(1).ID: return 3079; + case OakSign::OakSign(2).ID: return 3081; + case OakSign::OakSign(3).ID: return 3083; + case OakSign::OakSign(4).ID: return 3085; + case OakSign::OakSign(5).ID: return 3087; + case OakSign::OakSign(6).ID: return 3089; + case OakSign::OakSign(7).ID: return 3091; + case OakSign::OakSign(8).ID: return 3093; + case OakSign::OakSign(9).ID: return 3095; + case OakSign::OakSign(10).ID: return 3097; + case OakSign::OakSign(11).ID: return 3099; + case OakSign::OakSign(12).ID: return 3101; + case OakSign::OakSign(13).ID: return 3103; + case OakSign::OakSign(14).ID: return 3105; + case OakSign::OakSign(15).ID: return 3107; + case SkeletonSkull::SkeletonSkull(0).ID: return 5452; + case SkeletonSkull::SkeletonSkull(1).ID: return 5453; + case SkeletonSkull::SkeletonSkull(2).ID: return 5454; + case SkeletonSkull::SkeletonSkull(3).ID: return 5455; + case SkeletonSkull::SkeletonSkull(4).ID: return 5456; + case SkeletonSkull::SkeletonSkull(5).ID: return 5457; + case SkeletonSkull::SkeletonSkull(6).ID: return 5458; + case SkeletonSkull::SkeletonSkull(7).ID: return 5459; + case SkeletonSkull::SkeletonSkull(8).ID: return 5460; + case SkeletonSkull::SkeletonSkull(9).ID: return 5461; + case SkeletonSkull::SkeletonSkull(10).ID: return 5462; + case SkeletonSkull::SkeletonSkull(11).ID: return 5463; + case SkeletonSkull::SkeletonSkull(12).ID: return 5464; + case SkeletonSkull::SkeletonSkull(13).ID: return 5465; + case SkeletonSkull::SkeletonSkull(14).ID: return 5466; + case SkeletonSkull::SkeletonSkull(15).ID: return 5467; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5448; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5449; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5450; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5451; + case SlimeBlock::SlimeBlock().ID: return 6493; + case SmoothQuartz::SmoothQuartz().ID: return 7356; + case SmoothRedSandstone::SmoothRedSandstone().ID: return 7357; + case SmoothSandstone::SmoothSandstone().ID: return 7355; + case SmoothStone::SmoothStone().ID: return 7354; + case Snow::Snow(1).ID: return 3416; + case Snow::Snow(2).ID: return 3417; + case Snow::Snow(3).ID: return 3418; + case Snow::Snow(4).ID: return 3419; + case Snow::Snow(5).ID: return 3420; + case Snow::Snow(6).ID: return 3421; + case Snow::Snow(7).ID: return 3422; + case Snow::Snow(8).ID: return 3423; + case SnowBlock::SnowBlock().ID: return 3425; + case SoulSand::SoulSand().ID: return 3495; + case Spawner::Spawner().ID: return 1648; + case Sponge::Sponge().ID: return 228; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5328; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5329; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5330; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5331; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5332; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5333; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5334; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5335; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5336; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5337; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5338; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5339; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5340; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5341; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5342; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5343; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5344; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5345; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5346; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5347; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5348; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5349; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5350; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5351; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7678; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7679; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7680; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7681; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7682; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7683; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7684; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7685; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7686; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7687; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7688; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7689; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7690; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7691; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7692; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7693; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7694; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7695; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7696; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7697; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7698; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7699; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7700; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7701; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7702; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7703; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7704; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7705; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7706; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7707; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7708; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7709; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7710; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7711; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7712; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7713; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7714; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7715; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7716; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7717; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7718; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7719; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7720; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7721; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7722; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7723; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7724; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7725; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7726; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7727; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7728; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7729; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7730; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7731; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7732; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7733; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 7734; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 7735; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 7736; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 7737; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 7738; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 7739; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 7740; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 7741; + case SpruceFence::SpruceFence(true, true, true, true).ID: return 7520; + case SpruceFence::SpruceFence(true, true, true, false).ID: return 7521; + case SpruceFence::SpruceFence(true, true, false, true).ID: return 7524; + case SpruceFence::SpruceFence(true, true, false, false).ID: return 7525; + case SpruceFence::SpruceFence(true, false, true, true).ID: return 7528; + case SpruceFence::SpruceFence(true, false, true, false).ID: return 7529; + case SpruceFence::SpruceFence(true, false, false, true).ID: return 7532; + case SpruceFence::SpruceFence(true, false, false, false).ID: return 7533; + case SpruceFence::SpruceFence(false, true, true, true).ID: return 7536; + case SpruceFence::SpruceFence(false, true, true, false).ID: return 7537; + case SpruceFence::SpruceFence(false, true, false, true).ID: return 7540; + case SpruceFence::SpruceFence(false, true, false, false).ID: return 7541; + case SpruceFence::SpruceFence(false, false, true, true).ID: return 7544; + case SpruceFence::SpruceFence(false, false, true, false).ID: return 7545; + case SpruceFence::SpruceFence(false, false, false, true).ID: return 7548; + case SpruceFence::SpruceFence(false, false, false, false).ID: return 7549; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7358; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7359; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7360; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7361; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7362; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7363; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7364; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7365; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7366; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7367; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7368; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7369; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7370; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7371; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7372; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7373; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7374; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7375; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7376; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7377; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7378; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7379; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7380; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7381; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7382; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7383; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7384; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7385; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7386; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7387; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7388; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7389; + case SpruceLeaves::SpruceLeaves(1, true).ID: return 158; + case SpruceLeaves::SpruceLeaves(1, false).ID: return 159; + case SpruceLeaves::SpruceLeaves(2, true).ID: return 160; + case SpruceLeaves::SpruceLeaves(2, false).ID: return 161; + case SpruceLeaves::SpruceLeaves(3, true).ID: return 162; + case SpruceLeaves::SpruceLeaves(3, false).ID: return 163; + case SpruceLeaves::SpruceLeaves(4, true).ID: return 164; + case SpruceLeaves::SpruceLeaves(4, false).ID: return 165; + case SpruceLeaves::SpruceLeaves(5, true).ID: return 166; + case SpruceLeaves::SpruceLeaves(5, false).ID: return 167; + case SpruceLeaves::SpruceLeaves(6, true).ID: return 168; + case SpruceLeaves::SpruceLeaves(6, false).ID: return 169; + case SpruceLeaves::SpruceLeaves(7, true).ID: return 170; + case SpruceLeaves::SpruceLeaves(7, false).ID: return 171; + case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 75; + case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 76; + case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 77; + case SprucePlanks::SprucePlanks().ID: return 16; + case SprucePressurePlate::SprucePressurePlate(true).ID: return 3370; + case SprucePressurePlate::SprucePressurePlate(false).ID: return 3371; + case SpruceSapling::SpruceSapling(0).ID: return 23; + case SpruceSapling::SpruceSapling(1).ID: return 24; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 7265; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 7267; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 7269; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 4886; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4888; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4890; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4892; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4894; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 4896; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4898; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4900; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4902; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4904; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 4906; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4908; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4910; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4912; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4914; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 4916; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4918; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4920; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4922; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4924; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 4926; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4928; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4930; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4932; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4934; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 4936; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4938; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4940; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4942; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4944; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 4946; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4948; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4950; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4952; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4954; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 4956; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 4958; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 4960; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 4962; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 4964; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: + return 3659; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: + return 3661; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: + return 3663; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: + return 3665; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 3667; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 3669; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 3671; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 3673; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: + return 3675; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: + return 3677; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: + return 3679; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: + return 3681; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 3683; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 3685; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 3687; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 3689; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: + return 3691; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: + return 3693; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: + return 3695; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: + return 3697; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 3699; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 3701; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 3703; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 3705; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: + return 3707; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: + return 3709; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: + return 3711; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: + return 3713; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 3715; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 3717; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 3719; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 3721; + case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 111; + case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 112; + case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 113; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1028; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1029; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1030; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1031; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1032; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1033; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1034; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1035; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1036; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1037; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1038; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1039; + case Stone::Stone().ID: return 1; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 7325; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 7327; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 7329; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4414; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4416; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4418; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4420; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4422; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4424; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4426; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4428; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4430; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4432; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4434; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4436; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4438; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4440; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4442; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4444; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4446; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4448; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4450; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4452; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4454; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4456; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4458; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4460; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4462; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4464; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4466; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4468; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4470; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4472; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4474; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4476; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4478; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4480; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4482; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4484; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4486; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4488; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4490; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4492; + case StoneBricks::StoneBricks().ID: return 3984; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3392; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3393; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3394; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3395; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3396; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3397; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3398; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3399; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3400; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3401; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3402; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3403; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3404; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3405; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3406; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3407; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3408; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3409; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3410; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3411; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3412; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3413; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3414; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3415; + case StonePressurePlate::StonePressurePlate(true).ID: return 3302; + case StonePressurePlate::StonePressurePlate(false).ID: return 3303; + case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 7295; + case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 7297; + case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 7299; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 99; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 100; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 101; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 138; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 139; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 140; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 93; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 94; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 95; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 132; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 133; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 134; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 102; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 103; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 104; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 141; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 142; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 143; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 96; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 97; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 98; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 135; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 136; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 137; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 105; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 106; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 107; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 126; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 127; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 128; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 90; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 91; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 92; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 129; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 130; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 131; + case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 8595; + case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 8596; + case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 8597; + case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 8598; + case StructureVoid::StructureVoid().ID: return 8199; + case SugarCane::SugarCane(0).ID: return 3443; + case SugarCane::SugarCane(1).ID: return 3444; + case SugarCane::SugarCane(2).ID: return 3445; + case SugarCane::SugarCane(3).ID: return 3446; + case SugarCane::SugarCane(4).ID: return 3447; + case SugarCane::SugarCane(5).ID: return 3448; + case SugarCane::SugarCane(6).ID: return 3449; + case SugarCane::SugarCane(7).ID: return 3450; + case SugarCane::SugarCane(8).ID: return 3451; + case SugarCane::SugarCane(9).ID: return 3452; + case SugarCane::SugarCane(10).ID: return 3453; + case SugarCane::SugarCane(11).ID: return 3454; + case SugarCane::SugarCane(12).ID: return 3455; + case SugarCane::SugarCane(13).ID: return 3456; + case SugarCane::SugarCane(14).ID: return 3457; + case SugarCane::SugarCane(15).ID: return 3458; + case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 6843; + case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 6844; + case TNT::TNT(true).ID: return 1126; + case TNT::TNT(false).ID: return 1127; + case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 6851; + case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 6852; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1045; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1046; + case Terracotta::Terracotta().ID: return 6840; + case Torch::Torch().ID: return 1131; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 5581; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 5583; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 5585; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 5587; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 5589; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 5591; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 5593; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 5595; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 5597; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 5599; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 5601; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 5603; + case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 4756; + case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 4757; + case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 4758; + case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 4759; + case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 4760; + case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 4761; + case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 4762; + case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 4763; + case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 4764; + case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 4765; + case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 4766; + case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 4767; + case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 4768; + case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 4769; + case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 4770; + case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 4771; + case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 4772; + case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 4773; + case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 4774; + case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 4775; + case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 4776; + case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 4777; + case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 4778; + case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 4779; + case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 4780; + case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 4781; + case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 4782; + case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 4783; + case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 4784; + case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 4785; + case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 4786; + case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 4787; + case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 4788; + case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 4789; + case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 4790; + case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 4791; + case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 4792; + case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 4793; + case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 4794; + case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 4795; + case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 4796; + case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 4797; + case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 4798; + case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 4799; + case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 4800; + case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 4801; + case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 4802; + case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 4803; + case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 4804; + case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 4805; + case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 4806; + case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 4807; + case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 4808; + case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 4809; + case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 4810; + case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 4811; + case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 4812; + case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 4813; + case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 4814; + case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 4815; + case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 4816; + case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 4817; + case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 4818; + case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 4819; + case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 4820; + case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 4821; + case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 4822; + case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 4823; + case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 4824; + case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 4825; + case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 4826; + case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 4827; + case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 4828; + case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 4829; + case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 4830; + case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 4831; + case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 4832; + case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 4833; + case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 4834; + case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 4835; + case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 4836; + case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 4837; + case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 4838; + case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 4839; + case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 4840; + case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 4841; + case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 4842; + case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 4843; + case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 4844; + case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 4845; + case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 4846; + case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 4847; + case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 4848; + case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 4849; + case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 4850; + case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 4851; + case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 4852; + case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 4853; + case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 4854; + case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 4855; + case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 4856; + case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 4857; + case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 4858; + case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 4859; + case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 4860; + case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 4861; + case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 4862; + case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 4863; + case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 4864; + case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 4865; + case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 4866; + case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 4867; + case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 4868; + case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 4869; + case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 4870; + case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 4871; + case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 4872; + case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 4873; + case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 4874; + case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 4875; + case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 4876; + case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 4877; + case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 4878; + case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 4879; + case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 4880; + case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 4881; + case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 4882; + case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 4883; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 4740; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 4741; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 4742; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 4743; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 4744; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 4745; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 4746; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 4747; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 4748; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 4749; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 4750; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 4751; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 4752; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 4753; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 4754; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 4755; + case TubeCoral::TubeCoral().ID: return 8471; + case TubeCoralBlock::TubeCoralBlock().ID: return 8455; + case TubeCoralFan::TubeCoralFan().ID: return 8571; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 8521; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 8523; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 8525; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 8527; + case TurtleEgg::TurtleEgg(1, 0).ID: return 8438; + case TurtleEgg::TurtleEgg(1, 1).ID: return 8439; + case TurtleEgg::TurtleEgg(1, 2).ID: return 8440; + case TurtleEgg::TurtleEgg(2, 0).ID: return 8441; + case TurtleEgg::TurtleEgg(2, 1).ID: return 8442; + case TurtleEgg::TurtleEgg(2, 2).ID: return 8443; + case TurtleEgg::TurtleEgg(3, 0).ID: return 8444; + case TurtleEgg::TurtleEgg(3, 1).ID: return 8445; + case TurtleEgg::TurtleEgg(3, 2).ID: return 8446; + case TurtleEgg::TurtleEgg(4, 0).ID: return 8447; + case TurtleEgg::TurtleEgg(4, 1).ID: return 8448; + case TurtleEgg::TurtleEgg(4, 2).ID: return 8449; + case Vine::Vine(true, true, true, true, true).ID: return 4269; + case Vine::Vine(true, true, true, true, false).ID: return 4270; + case Vine::Vine(true, true, true, false, true).ID: return 4271; + case Vine::Vine(true, true, true, false, false).ID: return 4272; + case Vine::Vine(true, true, false, true, true).ID: return 4273; + case Vine::Vine(true, true, false, true, false).ID: return 4274; + case Vine::Vine(true, true, false, false, true).ID: return 4275; + case Vine::Vine(true, true, false, false, false).ID: return 4276; + case Vine::Vine(true, false, true, true, true).ID: return 4277; + case Vine::Vine(true, false, true, true, false).ID: return 4278; + case Vine::Vine(true, false, true, false, true).ID: return 4279; + case Vine::Vine(true, false, true, false, false).ID: return 4280; + case Vine::Vine(true, false, false, true, true).ID: return 4281; + case Vine::Vine(true, false, false, true, false).ID: return 4282; + case Vine::Vine(true, false, false, false, true).ID: return 4283; + case Vine::Vine(true, false, false, false, false).ID: return 4284; + case Vine::Vine(false, true, true, true, true).ID: return 4285; + case Vine::Vine(false, true, true, true, false).ID: return 4286; + case Vine::Vine(false, true, true, false, true).ID: return 4287; + case Vine::Vine(false, true, true, false, false).ID: return 4288; + case Vine::Vine(false, true, false, true, true).ID: return 4289; + case Vine::Vine(false, true, false, true, false).ID: return 4290; + case Vine::Vine(false, true, false, false, true).ID: return 4291; + case Vine::Vine(false, true, false, false, false).ID: return 4292; + case Vine::Vine(false, false, true, true, true).ID: return 4293; + case Vine::Vine(false, false, true, true, false).ID: return 4294; + case Vine::Vine(false, false, true, false, true).ID: return 4295; + case Vine::Vine(false, false, true, false, false).ID: return 4296; + case Vine::Vine(false, false, false, true, true).ID: return 4297; + case Vine::Vine(false, false, false, true, false).ID: return 4298; + case Vine::Vine(false, false, false, false, true).ID: return 4299; + case Vine::Vine(false, false, false, false, false).ID: return 4300; + case VoidAir::VoidAir().ID: return 8591; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3271; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3273; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3275; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3277; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1132; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1133; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1134; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1135; + case Water::Water(0).ID: return 34; + case Water::Water(1).ID: return 35; + case Water::Water(2).ID: return 36; + case Water::Water(3).ID: return 37; + case Water::Water(4).ID: return 38; + case Water::Water(5).ID: return 39; + case Water::Water(6).ID: return 40; + case Water::Water(7).ID: return 41; + case Water::Water(8).ID: return 42; + case Water::Water(9).ID: return 43; + case Water::Water(10).ID: return 44; + case Water::Water(11).ID: return 45; + case Water::Water(12).ID: return 46; + case Water::Water(13).ID: return 47; + case Water::Water(14).ID: return 48; + case Water::Water(15).ID: return 49; + case WetSponge::WetSponge().ID: return 229; + case Wheat::Wheat(0).ID: return 3052; + case Wheat::Wheat(1).ID: return 3053; + case Wheat::Wheat(2).ID: return 3054; + case Wheat::Wheat(3).ID: return 3055; + case Wheat::Wheat(4).ID: return 3056; + case Wheat::Wheat(5).ID: return 3057; + case Wheat::Wheat(6).ID: return 3058; + case Wheat::Wheat(7).ID: return 3059; + case WhiteBanner::WhiteBanner(0).ID: return 6855; + case WhiteBanner::WhiteBanner(1).ID: return 6856; + case WhiteBanner::WhiteBanner(2).ID: return 6857; + case WhiteBanner::WhiteBanner(3).ID: return 6858; + case WhiteBanner::WhiteBanner(4).ID: return 6859; + case WhiteBanner::WhiteBanner(5).ID: return 6860; + case WhiteBanner::WhiteBanner(6).ID: return 6861; + case WhiteBanner::WhiteBanner(7).ID: return 6862; + case WhiteBanner::WhiteBanner(8).ID: return 6863; + case WhiteBanner::WhiteBanner(9).ID: return 6864; + case WhiteBanner::WhiteBanner(10).ID: return 6865; + case WhiteBanner::WhiteBanner(11).ID: return 6866; + case WhiteBanner::WhiteBanner(12).ID: return 6867; + case WhiteBanner::WhiteBanner(13).ID: return 6868; + case WhiteBanner::WhiteBanner(14).ID: return 6869; + case WhiteBanner::WhiteBanner(15).ID: return 6870; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 748; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 749; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 750; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 751; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 752; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 753; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 754; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 755; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 756; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 757; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 758; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 759; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 760; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 761; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 762; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 763; + case WhiteCarpet::WhiteCarpet().ID: return 6824; + case WhiteConcrete::WhiteConcrete().ID: return 8378; + case WhiteConcretePowder::WhiteConcretePowder().ID: return 8394; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8314; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8315; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8316; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8317; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8218; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8219; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8220; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8221; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8222; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8223; + case WhiteStainedGlass::WhiteStainedGlass().ID: return 3578; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 5823; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 5824; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 5827; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 5828; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 5831; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 5832; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 5835; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 5836; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 5839; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 5840; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 5843; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 5844; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 5847; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 5848; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 5851; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 5852; + case WhiteTerracotta::WhiteTerracotta().ID: return 5805; + case WhiteTulip::WhiteTulip().ID: return 1118; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7111; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7112; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7113; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7114; + case WhiteWool::WhiteWool().ID: return 1083; + case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 5472; + case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 5473; + case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 5474; + case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 5475; + case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 5476; + case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 5477; + case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 5478; + case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 5479; + case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 5480; + case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 5481; + case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 5482; + case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 5483; + case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 5484; + case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 5485; + case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 5486; + case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 5487; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5468; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5469; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5470; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5471; + case YellowBanner::YellowBanner(0).ID: return 6919; + case YellowBanner::YellowBanner(1).ID: return 6920; + case YellowBanner::YellowBanner(2).ID: return 6921; + case YellowBanner::YellowBanner(3).ID: return 6922; + case YellowBanner::YellowBanner(4).ID: return 6923; + case YellowBanner::YellowBanner(5).ID: return 6924; + case YellowBanner::YellowBanner(6).ID: return 6925; + case YellowBanner::YellowBanner(7).ID: return 6926; + case YellowBanner::YellowBanner(8).ID: return 6927; + case YellowBanner::YellowBanner(9).ID: return 6928; + case YellowBanner::YellowBanner(10).ID: return 6929; + case YellowBanner::YellowBanner(11).ID: return 6930; + case YellowBanner::YellowBanner(12).ID: return 6931; + case YellowBanner::YellowBanner(13).ID: return 6932; + case YellowBanner::YellowBanner(14).ID: return 6933; + case YellowBanner::YellowBanner(15).ID: return 6934; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 812; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 813; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 814; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 815; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 816; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 817; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 818; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 819; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 820; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 821; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 822; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 823; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 824; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 825; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 826; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 827; + case YellowCarpet::YellowCarpet().ID: return 6828; + case YellowConcrete::YellowConcrete().ID: return 8382; + case YellowConcretePowder::YellowConcretePowder().ID: return 8398; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8330; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8331; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8332; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8333; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8242; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8243; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8244; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8245; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8246; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8247; + case YellowStainedGlass::YellowStainedGlass().ID: return 3582; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 5951; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 5952; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 5955; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 5956; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 5959; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 5960; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 5963; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 5964; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 5967; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 5968; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 5971; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 5972; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 5975; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 5976; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 5979; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 5980; + case YellowTerracotta::YellowTerracotta().ID: return 5809; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7127; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7128; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7129; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7130; + case YellowWool::YellowWool().ID: return 1087; + case ZombieHead::ZombieHead(0).ID: return 5492; + case ZombieHead::ZombieHead(1).ID: return 5493; + case ZombieHead::ZombieHead(2).ID: return 5494; + case ZombieHead::ZombieHead(3).ID: return 5495; + case ZombieHead::ZombieHead(4).ID: return 5496; + case ZombieHead::ZombieHead(5).ID: return 5497; + case ZombieHead::ZombieHead(6).ID: return 5498; + case ZombieHead::ZombieHead(7).ID: return 5499; + case ZombieHead::ZombieHead(8).ID: return 5500; + case ZombieHead::ZombieHead(9).ID: return 5501; + case ZombieHead::ZombieHead(10).ID: return 5502; + case ZombieHead::ZombieHead(11).ID: return 5503; + case ZombieHead::ZombieHead(12).ID: return 5504; + case ZombieHead::ZombieHead(13).ID: return 5505; + case ZombieHead::ZombieHead(14).ID: return 5506; + case ZombieHead::ZombieHead(15).ID: return 5507; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 5488; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 5489; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 5490; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 5491; + default: return 0; } +} - UInt32 From(const Item ID) +UInt32 From(const Item ID) +{ + switch (ID) { - switch (ID) - { - case Item::AcaciaBoat: return 767; - case Item::AcaciaButton: return 245; - case Item::AcaciaDoor: return 465; - case Item::AcaciaFence: return 179; - case Item::AcaciaFenceGate: return 214; - case Item::AcaciaLeaves: return 60; - case Item::AcaciaLog: return 36; - case Item::AcaciaPlanks: return 17; - case Item::AcaciaPressurePlate: return 164; - case Item::AcaciaSapling: return 23; - case Item::AcaciaSlab: return 116; - case Item::AcaciaStairs: return 301; - case Item::AcaciaTrapdoor: return 191; - case Item::AcaciaWood: return 54; - case Item::ActivatorRail: return 261; - case Item::Air: return -0; - case Item::Allium: return 101; - case Item::Andesite: return 6; - case Item::Anvil: return 247; - case Item::Apple: return 476; - case Item::ArmorStand: return 726; - case Item::Arrow: return 478; - case Item::AzureBluet: return 102; - case Item::BakedPotato: return 699; - case Item::Barrier: return 279; - case Item::BatSpawnEgg: return 639; - case Item::Beacon: return 238; - case Item::Bedrock: return 25; - case Item::Beef: return 619; - case Item::Beetroot: return 754; - case Item::BeetrootSeeds: return 755; - case Item::BeetrootSoup: return 756; - case Item::BirchBoat: return 765; - case Item::BirchButton: return 243; - case Item::BirchDoor: return 463; - case Item::BirchFence: return 177; - case Item::BirchFenceGate: return 212; - case Item::BirchLeaves: return 58; - case Item::BirchLog: return 34; - case Item::BirchPlanks: return 15; - case Item::BirchPressurePlate: return 162; - case Item::BirchSapling: return 21; - case Item::BirchSlab: return 114; - case Item::BirchStairs: return 235; - case Item::BirchTrapdoor: return 189; - case Item::BirchWood: return 52; - case Item::BlackBanner: return 750; - case Item::BlackBed: return 611; - case Item::BlackCarpet: return 297; - case Item::BlackConcrete: return 410; - case Item::BlackConcretePowder: return 426; - case Item::BlackGlazedTerracotta: return 394; - case Item::BlackShulkerBox: return 378; - case Item::BlackStainedGlass: return 326; - case Item::BlackStainedGlassPane: return 342; - case Item::BlackTerracotta: return 278; - case Item::BlackWool: return 97; - case Item::BlazePowder: return 633; - case Item::BlazeRod: return 625; - case Item::BlazeSpawnEgg: return 640; - case Item::BlueBanner: return 746; - case Item::BlueBed: return 607; - case Item::BlueCarpet: return 293; - case Item::BlueConcrete: return 406; - case Item::BlueConcretePowder: return 422; - case Item::BlueGlazedTerracotta: return 390; - case Item::BlueIce: return 458; - case Item::BlueOrchid: return 100; - case Item::BlueShulkerBox: return 374; - case Item::BlueStainedGlass: return 322; - case Item::BlueStainedGlassPane: return 338; - case Item::BlueTerracotta: return 274; - case Item::BlueWool: return 93; - case Item::Bone: return 593; - case Item::BoneBlock: return 359; - case Item::BoneMeal: return 592; - case Item::Book: return 562; - case Item::Bookshelf: return 137; - case Item::Bow: return 477; - case Item::Bowl: return 498; - case Item::BrainCoral: return 439; - case Item::BrainCoralBlock: return 434; - case Item::BrainCoralFan: return 449; - case Item::Bread: return 514; - case Item::BrewingStand: return 635; - case Item::Brick: return 556; - case Item::BrickSlab: return 122; - case Item::BrickStairs: return 216; - case Item::Bricks: return 135; - case Item::BrownBanner: return 747; - case Item::BrownBed: return 608; - case Item::BrownCarpet: return 294; - case Item::BrownConcrete: return 407; - case Item::BrownConcretePowder: return 423; - case Item::BrownGlazedTerracotta: return 391; - case Item::BrownMushroom: return 108; - case Item::BrownMushroomBlock: return 203; - case Item::BrownShulkerBox: return 375; - case Item::BrownStainedGlass: return 323; - case Item::BrownStainedGlassPane: return 339; - case Item::BrownTerracotta: return 275; - case Item::BrownWool: return 94; - case Item::BubbleCoral: return 440; - case Item::BubbleCoralBlock: return 435; - case Item::BubbleCoralFan: return 450; - case Item::Bucket: return 542; - case Item::Cactus: return 172; - case Item::GreenDye: return 579; - case Item::Cake: return 595; - case Item::Carrot: return 697; - case Item::CarrotOnAStick: return 709; - case Item::CarvedPumpkin: return 182; - case Item::Cauldron: return 636; - case Item::CaveSpiderSpawnEgg: return 641; - case Item::ChainCommandBlock: return 355; - case Item::ChainmailBoots: return 522; - case Item::ChainmailChestplate: return 520; - case Item::ChainmailHelmet: return 519; - case Item::ChainmailLeggings: return 521; - case Item::Charcoal: return 480; - case Item::Chest: return 149; - case Item::ChestMinecart: return 564; - case Item::Chicken: return 621; - case Item::ChickenSpawnEgg: return 642; - case Item::ChippedAnvil: return 248; - case Item::ChiseledQuartzBlock: return 257; - case Item::ChiseledRedSandstone: return 351; - case Item::ChiseledSandstone: return 69; - case Item::ChiseledStoneBricks: return 202; - case Item::ChorusFlower: return 143; - case Item::ChorusFruit: return 752; - case Item::ChorusPlant: return 142; - case Item::Clay: return 173; - case Item::ClayBall: return 557; - case Item::Clock: return 569; - case Item::Coal: return 479; - case Item::CoalBlock: return 299; - case Item::CoalOre: return 31; - case Item::CoarseDirt: return 10; - case Item::Cobblestone: return 12; - case Item::CobblestoneSlab: return 121; - case Item::CobblestoneStairs: return 157; - case Item::CobblestoneWall: return 239; - case Item::Cobweb: return 75; - case Item::CocoaBeans: return 580; - case Item::Cod: return 571; - case Item::CodBucket: return 554; - case Item::CodSpawnEgg: return 643; - case Item::CommandBlock: return 237; - case Item::CommandBlockMinecart: return 732; - case Item::Comparator: return 468; - case Item::Compass: return 567; - case Item::Conduit: return 459; - case Item::CookedBeef: return 620; - case Item::CookedChicken: return 622; - case Item::CookedCod: return 575; - case Item::CookedMutton: return 734; - case Item::CookedPorkchop: return 537; - case Item::CookedRabbit: return 722; - case Item::CookedSalmon: return 576; - case Item::Cookie: return 612; - case Item::CowSpawnEgg: return 644; - case Item::CrackedStoneBricks: return 201; - case Item::CraftingTable: return 152; - case Item::CreeperHead: return 707; - case Item::CreeperSpawnEgg: return 645; - case Item::CutRedSandstone: return 352; - case Item::CutSandstone: return 70; - case Item::CyanBanner: return 744; - case Item::CyanBed: return 605; - case Item::CyanCarpet: return 291; - case Item::CyanConcrete: return 404; - case Item::CyanConcretePowder: return 420; - case Item::CyanDye: return 583; - case Item::CyanGlazedTerracotta: return 388; - case Item::CyanShulkerBox: return 372; - case Item::CyanStainedGlass: return 320; - case Item::CyanStainedGlassPane: return 336; - case Item::CyanTerracotta: return 272; - case Item::CyanWool: return 91; - case Item::DamagedAnvil: return 249; - case Item::Dandelion: return 98; - case Item::YellowDye: return 588; - case Item::DarkOakBoat: return 768; - case Item::DarkOakButton: return 246; - case Item::DarkOakDoor: return 466; - case Item::DarkOakFence: return 180; - case Item::DarkOakFenceGate: return 215; - case Item::DarkOakLeaves: return 61; - case Item::DarkOakLog: return 37; - case Item::DarkOakPlanks: return 18; - case Item::DarkOakPressurePlate: return 165; - case Item::DarkOakSapling: return 24; - case Item::DarkOakSlab: return 117; - case Item::DarkOakStairs: return 302; - case Item::DarkOakTrapdoor: return 192; - case Item::DarkOakWood: return 55; - case Item::DarkPrismarine: return 345; - case Item::DarkPrismarineSlab: return 130; - case Item::DarkPrismarineStairs: return 348; - case Item::DaylightDetector: return 253; - case Item::DeadBrainCoral: return 443; - case Item::DeadBrainCoralBlock: return 429; - case Item::DeadBrainCoralFan: return 454; - case Item::DeadBubbleCoral: return 444; - case Item::DeadBubbleCoralBlock: return 430; - case Item::DeadBubbleCoralFan: return 455; - case Item::DeadBush: return 78; - case Item::DeadFireCoral: return 445; - case Item::DeadFireCoralBlock: return 431; - case Item::DeadFireCoralFan: return 456; - case Item::DeadHornCoral: return 446; - case Item::DeadHornCoralBlock: return 432; - case Item::DeadHornCoralFan: return 457; - case Item::DeadTubeCoral: return 447; - case Item::DeadTubeCoralBlock: return 428; - case Item::DeadTubeCoralFan: return 453; - case Item::DebugStick: return 773; - case Item::DetectorRail: return 73; - case Item::Diamond: return 481; - case Item::DiamondAxe: return 496; - case Item::DiamondBlock: return 151; - case Item::DiamondBoots: return 530; - case Item::DiamondChestplate: return 528; - case Item::DiamondHelmet: return 527; - case Item::DiamondHoe: return 510; - case Item::DiamondHorseArmor: return 729; - case Item::DiamondLeggings: return 529; - case Item::DiamondOre: return 150; - case Item::DiamondPickaxe: return 495; - case Item::DiamondShovel: return 494; - case Item::DiamondSword: return 493; - case Item::Diorite: return 4; - case Item::Dirt: return 9; - case Item::Dispenser: return 67; - case Item::DolphinSpawnEgg: return 646; - case Item::DonkeySpawnEgg: return 647; - case Item::DragonBreath: return 757; - case Item::DragonEgg: return 227; - case Item::DragonHead: return 708; - case Item::DriedKelp: return 616; - case Item::DriedKelpBlock: return 560; - case Item::Dropper: return 262; - case Item::DrownedSpawnEgg: return 648; - case Item::Egg: return 566; - case Item::ElderGuardianSpawnEgg: return 649; - case Item::Elytra: return 763; - case Item::Emerald: return 694; - case Item::EmeraldBlock: return 233; - case Item::EmeraldOre: return 230; - case Item::EnchantedBook: return 714; - case Item::EnchantedGoldenApple: return 540; - case Item::EnchantingTable: return 223; - case Item::EndCrystal: return 751; - case Item::EndPortalFrame: return 224; - case Item::EndRod: return 141; - case Item::EndStone: return 225; - case Item::EndStoneBricks: return 226; - case Item::EnderChest: return 231; - case Item::EnderEye: return 637; - case Item::EnderPearl: return 624; - case Item::EndermanSpawnEgg: return 650; - case Item::EndermiteSpawnEgg: return 651; - case Item::EvokerSpawnEgg: return 652; - case Item::ExperienceBottle: return 690; - case Item::Farmland: return 153; - case Item::Feather: return 505; - case Item::FermentedSpiderEye: return 632; - case Item::Fern: return 77; - case Item::FilledMap: return 613; - case Item::FireCharge: return 691; - case Item::FireCoral: return 441; - case Item::FireCoralBlock: return 436; - case Item::FireCoralFan: return 451; - case Item::FireworkRocket: return 712; - case Item::FireworkStar: return 713; - case Item::FishingRod: return 568; - case Item::Flint: return 535; - case Item::FlintAndSteel: return 475; - case Item::FlowerPot: return 696; - case Item::Furnace: return 154; - case Item::FurnaceMinecart: return 565; - case Item::GhastSpawnEgg: return 653; - case Item::GhastTear: return 626; - case Item::Glass: return 64; - case Item::GlassBottle: return 630; - case Item::GlassPane: return 207; - case Item::GlisteringMelonSlice: return 638; - case Item::Glowstone: return 185; - case Item::GlowstoneDust: return 570; - case Item::GoldBlock: return 110; - case Item::GoldIngot: return 483; - case Item::GoldNugget: return 627; - case Item::GoldOre: return 29; - case Item::GoldenApple: return 539; - case Item::GoldenAxe: return 503; - case Item::GoldenBoots: return 534; - case Item::GoldenCarrot: return 702; - case Item::GoldenChestplate: return 532; - case Item::GoldenHelmet: return 531; - case Item::GoldenHoe: return 511; - case Item::GoldenHorseArmor: return 728; - case Item::GoldenLeggings: return 533; - case Item::GoldenPickaxe: return 502; - case Item::GoldenShovel: return 501; - case Item::GoldenSword: return 500; - case Item::Granite: return 2; - case Item::Grass: return 76; - case Item::GrassBlock: return 8; - case Item::GrassPath: return 304; - case Item::Gravel: return 28; - case Item::GrayBanner: return 742; - case Item::GrayBed: return 603; - case Item::GrayCarpet: return 289; - case Item::GrayConcrete: return 402; - case Item::GrayConcretePowder: return 418; - case Item::GrayDye: return 585; - case Item::GrayGlazedTerracotta: return 386; - case Item::GrayShulkerBox: return 370; - case Item::GrayStainedGlass: return 318; - case Item::GrayStainedGlassPane: return 334; - case Item::GrayTerracotta: return 270; - case Item::GrayWool: return 89; - case Item::GreenBanner: return 748; - case Item::GreenBed: return 609; - case Item::GreenCarpet: return 295; - case Item::GreenConcrete: return 408; - case Item::GreenConcretePowder: return 424; - case Item::GreenGlazedTerracotta: return 392; - case Item::GreenShulkerBox: return 376; - case Item::GreenStainedGlass: return 324; - case Item::GreenStainedGlassPane: return 340; - case Item::GreenTerracotta: return 276; - case Item::GreenWool: return 95; - case Item::GuardianSpawnEgg: return 654; - case Item::Gunpowder: return 506; - case Item::HayBale: return 281; - case Item::HeartOfTheSea: return 789; - case Item::HeavyWeightedPressurePlate: return 252; - case Item::Hopper: return 256; - case Item::HopperMinecart: return 718; - case Item::HornCoral: return 442; - case Item::HornCoralBlock: return 437; - case Item::HornCoralFan: return 452; - case Item::HorseSpawnEgg: return 655; - case Item::HuskSpawnEgg: return 656; - case Item::Ice: return 170; - case Item::InfestedChiseledStoneBricks: return 198; - case Item::InfestedCobblestone: return 194; - case Item::InfestedCrackedStoneBricks: return 197; - case Item::InfestedMossyStoneBricks: return 196; - case Item::InfestedStone: return 193; - case Item::InfestedStoneBricks: return 195; - case Item::InkSac: return 577; - case Item::IronAxe: return 474; - case Item::IronBars: return 206; - case Item::IronBlock: return 111; - case Item::IronBoots: return 526; - case Item::IronChestplate: return 524; - case Item::IronDoor: return 460; - case Item::IronHelmet: return 523; - case Item::IronHoe: return 509; - case Item::IronHorseArmor: return 727; - case Item::IronIngot: return 482; - case Item::IronLeggings: return 525; - case Item::IronNugget: return 771; - case Item::IronOre: return 30; - case Item::IronPickaxe: return 473; - case Item::IronShovel: return 472; - case Item::IronSword: return 484; - case Item::IronTrapdoor: return 280; - case Item::ItemFrame: return 695; - case Item::JackOLantern: return 186; - case Item::Jukebox: return 174; - case Item::JungleBoat: return 766; - case Item::JungleButton: return 244; - case Item::JungleDoor: return 464; - case Item::JungleFence: return 178; - case Item::JungleFenceGate: return 213; - case Item::JungleLeaves: return 59; - case Item::JungleLog: return 35; - case Item::JunglePlanks: return 16; - case Item::JunglePressurePlate: return 163; - case Item::JungleSapling: return 22; - case Item::JungleSlab: return 115; - case Item::JungleStairs: return 236; - case Item::JungleTrapdoor: return 190; - case Item::JungleWood: return 53; - case Item::Kelp: return 559; - case Item::KnowledgeBook: return 772; - case Item::Ladder: return 155; - case Item::LapisBlock: return 66; - case Item::LapisLazuli: return 581; - case Item::LapisOre: return 65; - case Item::LargeFern: return 310; - case Item::LavaBucket: return 544; - case Item::Lead: return 730; - case Item::Leather: return 550; - case Item::LeatherBoots: return 518; - case Item::LeatherChestplate: return 516; - case Item::LeatherHelmet: return 515; - case Item::LeatherLeggings: return 517; - case Item::Lever: return 158; - case Item::LightBlueBanner: return 738; - case Item::LightBlueBed: return 599; - case Item::LightBlueCarpet: return 285; - case Item::LightBlueConcrete: return 398; - case Item::LightBlueConcretePowder: return 414; - case Item::LightBlueDye: return 589; - case Item::LightBlueGlazedTerracotta: return 382; - case Item::LightBlueShulkerBox: return 366; - case Item::LightBlueStainedGlass: return 314; - case Item::LightBlueStainedGlassPane: return 330; - case Item::LightBlueTerracotta: return 266; - case Item::LightBlueWool: return 85; - case Item::LightGrayBanner: return 743; - case Item::LightGrayBed: return 604; - case Item::LightGrayCarpet: return 290; - case Item::LightGrayConcrete: return 403; - case Item::LightGrayConcretePowder: return 419; - case Item::LightGrayDye: return 584; - case Item::LightGrayGlazedTerracotta: return 387; - case Item::LightGrayShulkerBox: return 371; - case Item::LightGrayStainedGlass: return 319; - case Item::LightGrayStainedGlassPane: return 335; - case Item::LightGrayTerracotta: return 271; - case Item::LightGrayWool: return 90; - case Item::LightWeightedPressurePlate: return 251; - case Item::Lilac: return 306; - case Item::LilyPad: return 219; - case Item::LimeBanner: return 740; - case Item::LimeBed: return 601; - case Item::LimeCarpet: return 287; - case Item::LimeConcrete: return 400; - case Item::LimeConcretePowder: return 416; - case Item::LimeDye: return 587; - case Item::LimeGlazedTerracotta: return 384; - case Item::LimeShulkerBox: return 368; - case Item::LimeStainedGlass: return 316; - case Item::LimeStainedGlassPane: return 332; - case Item::LimeTerracotta: return 268; - case Item::LimeWool: return 87; - case Item::LingeringPotion: return 761; - case Item::LlamaSpawnEgg: return 657; - case Item::MagentaBanner: return 737; - case Item::MagentaBed: return 598; - case Item::MagentaCarpet: return 284; - case Item::MagentaConcrete: return 397; - case Item::MagentaConcretePowder: return 413; - case Item::MagentaDye: return 590; - case Item::MagentaGlazedTerracotta: return 381; - case Item::MagentaShulkerBox: return 365; - case Item::MagentaStainedGlass: return 313; - case Item::MagentaStainedGlassPane: return 329; - case Item::MagentaTerracotta: return 265; - case Item::MagentaWool: return 84; - case Item::MagmaBlock: return 356; - case Item::MagmaCream: return 634; - case Item::MagmaCubeSpawnEgg: return 658; - case Item::Map: return 701; - case Item::Melon: return 208; - case Item::MelonSeeds: return 618; - case Item::MelonSlice: return 615; - case Item::MilkBucket: return 551; - case Item::Minecart: return 545; - case Item::MooshroomSpawnEgg: return 659; - case Item::MossyCobblestone: return 138; - case Item::MossyCobblestoneWall: return 240; - case Item::MossyStoneBricks: return 200; - case Item::MuleSpawnEgg: return 660; - case Item::MushroomStem: return 205; - case Item::MushroomStew: return 499; - case Item::MusicDisc11: return 784; - case Item::MusicDisc13: return 774; - case Item::MusicDiscBlocks: return 776; - case Item::MusicDiscCat: return 775; - case Item::MusicDiscChirp: return 777; - case Item::MusicDiscFar: return 778; - case Item::MusicDiscMall: return 779; - case Item::MusicDiscMellohi: return 780; - case Item::MusicDiscStal: return 781; - case Item::MusicDiscStrad: return 782; - case Item::MusicDiscWait: return 785; - case Item::MusicDiscWard: return 783; - case Item::Mutton: return 733; - case Item::Mycelium: return 218; - case Item::NameTag: return 731; - case Item::NautilusShell: return 788; - case Item::NetherBrick: return 715; - case Item::NetherBrickFence: return 221; - case Item::NetherBrickSlab: return 124; - case Item::NetherBrickStairs: return 222; - case Item::NetherBricks: return 220; - case Item::NetherQuartzOre: return 255; - case Item::NetherStar: return 710; - case Item::NetherWart: return 628; - case Item::NetherWartBlock: return 357; - case Item::Netherrack: return 183; - case Item::NoteBlock: return 71; - case Item::OakBoat: return 549; - case Item::OakButton: return 241; - case Item::OakDoor: return 461; - case Item::OakFence: return 175; - case Item::OakFenceGate: return 210; - case Item::OakLeaves: return 56; - case Item::OakLog: return 32; - case Item::OakPlanks: return 13; - case Item::OakPressurePlate: return 160; - case Item::OakSapling: return 19; - case Item::OakSlab: return 112; - case Item::OakStairs: return 148; - case Item::OakTrapdoor: return 187; - case Item::OakWood: return 50; - case Item::Observer: return 361; - case Item::Obsidian: return 139; - case Item::OcelotSpawnEgg: return 661; - case Item::OrangeBanner: return 736; - case Item::OrangeBed: return 597; - case Item::OrangeCarpet: return 283; - case Item::OrangeConcrete: return 396; - case Item::OrangeConcretePowder: return 412; - case Item::OrangeDye: return 591; - case Item::OrangeGlazedTerracotta: return 380; - case Item::OrangeShulkerBox: return 364; - case Item::OrangeStainedGlass: return 312; - case Item::OrangeStainedGlassPane: return 328; - case Item::OrangeTerracotta: return 264; - case Item::OrangeTulip: return 104; - case Item::OrangeWool: return 83; - case Item::OxeyeDaisy: return 107; - case Item::PackedIce: return 300; - case Item::Painting: return 538; - case Item::Paper: return 561; - case Item::ParrotSpawnEgg: return 662; - case Item::Peony: return 308; - case Item::PetrifiedOakSlab: return 120; - case Item::PhantomMembrane: return 787; - case Item::PhantomSpawnEgg: return 663; - case Item::PigSpawnEgg: return 664; - case Item::PinkBanner: return 741; - case Item::PinkBed: return 602; - case Item::PinkCarpet: return 288; - case Item::PinkConcrete: return 401; - case Item::PinkConcretePowder: return 417; - case Item::PinkDye: return 586; - case Item::PinkGlazedTerracotta: return 385; - case Item::PinkShulkerBox: return 369; - case Item::PinkStainedGlass: return 317; - case Item::PinkStainedGlassPane: return 333; - case Item::PinkTerracotta: return 269; - case Item::PinkTulip: return 106; - case Item::PinkWool: return 88; - case Item::Piston: return 81; - case Item::PlayerHead: return 705; - case Item::Podzol: return 11; - case Item::PoisonousPotato: return 700; - case Item::PolarBearSpawnEgg: return 665; - case Item::PolishedAndesite: return 7; - case Item::PolishedDiorite: return 5; - case Item::PolishedGranite: return 3; - case Item::PoppedChorusFruit: return 753; - case Item::Poppy: return 99; - case Item::Porkchop: return 536; - case Item::Potato: return 698; - case Item::Potion: return 629; - case Item::PoweredRail: return 72; - case Item::Prismarine: return 343; - case Item::PrismarineBrickSlab: return 129; - case Item::PrismarineBrickStairs: return 347; - case Item::PrismarineBricks: return 344; - case Item::PrismarineCrystals: return 720; - case Item::PrismarineShard: return 719; - case Item::PrismarineSlab: return 128; - case Item::PrismarineStairs: return 346; - case Item::Pufferfish: return 574; - case Item::PufferfishBucket: return 552; - case Item::PufferfishSpawnEgg: return 666; - case Item::Pumpkin: return 181; - case Item::PumpkinPie: return 711; - case Item::PumpkinSeeds: return 617; - case Item::PurpleBanner: return 745; - case Item::PurpleBed: return 606; - case Item::PurpleCarpet: return 292; - case Item::PurpleConcrete: return 405; - case Item::PurpleConcretePowder: return 421; - case Item::PurpleDye: return 582; - case Item::PurpleGlazedTerracotta: return 389; - case Item::PurpleShulkerBox: return 373; - case Item::PurpleStainedGlass: return 321; - case Item::PurpleStainedGlassPane: return 337; - case Item::PurpleTerracotta: return 273; - case Item::PurpleWool: return 92; - case Item::PurpurBlock: return 144; - case Item::PurpurPillar: return 145; - case Item::PurpurSlab: return 127; - case Item::PurpurStairs: return 146; - case Item::Quartz: return 716; - case Item::QuartzBlock: return 258; - case Item::QuartzPillar: return 259; - case Item::QuartzSlab: return 125; - case Item::QuartzStairs: return 260; - case Item::Rabbit: return 721; - case Item::RabbitFoot: return 724; - case Item::RabbitHide: return 725; - case Item::RabbitSpawnEgg: return 667; - case Item::RabbitStew: return 723; - case Item::Rail: return 156; - case Item::RedBanner: return 749; - case Item::RedBed: return 610; - case Item::RedCarpet: return 296; - case Item::RedConcrete: return 409; - case Item::RedConcretePowder: return 425; - case Item::RedGlazedTerracotta: return 393; - case Item::RedMushroom: return 109; - case Item::RedMushroomBlock: return 204; - case Item::RedNetherBricks: return 358; - case Item::RedSand: return 27; - case Item::RedSandstone: return 350; - case Item::RedSandstoneSlab: return 126; - case Item::RedSandstoneStairs: return 353; - case Item::RedShulkerBox: return 377; - case Item::RedStainedGlass: return 325; - case Item::RedStainedGlassPane: return 341; - case Item::RedTerracotta: return 277; - case Item::RedTulip: return 103; - case Item::RedWool: return 96; - case Item::Redstone: return 547; - case Item::RedstoneBlock: return 254; - case Item::RedstoneLamp: return 228; - case Item::RedstoneOre: return 166; - case Item::RedstoneTorch: return 167; - case Item::Repeater: return 467; - case Item::RepeatingCommandBlock: return 354; - case Item::RoseBush: return 307; - case Item::RedDye: return 578; - case Item::RottenFlesh: return 623; - case Item::Saddle: return 546; - case Item::Salmon: return 572; - case Item::SalmonBucket: return 553; - case Item::SalmonSpawnEgg: return 668; - case Item::Sand: return 26; - case Item::Sandstone: return 68; - case Item::SandstoneSlab: return 119; - case Item::SandstoneStairs: return 229; - case Item::Scute: return 471; - case Item::SeaLantern: return 349; - case Item::SeaPickle: return 80; - case Item::Seagrass: return 79; - case Item::Shears: return 614; - case Item::SheepSpawnEgg: return 669; - case Item::Shield: return 762; - case Item::ShulkerBox: return 362; - case Item::ShulkerShell: return 770; - case Item::ShulkerSpawnEgg: return 670; - case Item::OakSign: return 541; - case Item::SilverfishSpawnEgg: return 671; - case Item::SkeletonHorseSpawnEgg: return 673; - case Item::SkeletonSkull: return 703; - case Item::SkeletonSpawnEgg: return 672; - case Item::SlimeBall: return 563; - case Item::SlimeBlock: return 303; - case Item::SlimeSpawnEgg: return 674; - case Item::SmoothQuartz: return 131; - case Item::SmoothRedSandstone: return 132; - case Item::SmoothSandstone: return 133; - case Item::SmoothStone: return 134; - case Item::Snow: return 169; - case Item::SnowBlock: return 171; - case Item::Snowball: return 548; - case Item::SoulSand: return 184; - case Item::Spawner: return 147; - case Item::SpectralArrow: return 759; - case Item::SpiderEye: return 631; - case Item::SpiderSpawnEgg: return 675; - case Item::SplashPotion: return 758; - case Item::Sponge: return 62; - case Item::SpruceBoat: return 764; - case Item::SpruceButton: return 242; - case Item::SpruceDoor: return 462; - case Item::SpruceFence: return 176; - case Item::SpruceFenceGate: return 211; - case Item::SpruceLeaves: return 57; - case Item::SpruceLog: return 33; - case Item::SprucePlanks: return 14; - case Item::SprucePressurePlate: return 161; - case Item::SpruceSapling: return 20; - case Item::SpruceSlab: return 113; - case Item::SpruceStairs: return 234; - case Item::SpruceTrapdoor: return 188; - case Item::SpruceWood: return 51; - case Item::SquidSpawnEgg: return 676; - case Item::Stick: return 497; - case Item::StickyPiston: return 74; - case Item::Stone: return 1; - case Item::StoneAxe: return 492; - case Item::StoneBrickSlab: return 123; - case Item::StoneBrickStairs: return 217; - case Item::StoneBricks: return 199; - case Item::StoneButton: return 168; - case Item::StoneHoe: return 508; - case Item::StonePickaxe: return 491; - case Item::StonePressurePlate: return 159; - case Item::StoneShovel: return 490; - case Item::StoneSlab: return 118; - case Item::StoneSword: return 489; - case Item::StraySpawnEgg: return 677; - case Item::String: return 504; - case Item::StrippedAcaciaLog: return 42; - case Item::StrippedAcaciaWood: return 48; - case Item::StrippedBirchLog: return 40; - case Item::StrippedBirchWood: return 46; - case Item::StrippedDarkOakLog: return 43; - case Item::StrippedDarkOakWood: return 49; - case Item::StrippedJungleLog: return 41; - case Item::StrippedJungleWood: return 47; - case Item::StrippedOakLog: return 38; - case Item::StrippedOakWood: return 44; - case Item::StrippedSpruceLog: return 39; - case Item::StrippedSpruceWood: return 45; - case Item::StructureBlock: return 469; - case Item::StructureVoid: return 360; - case Item::Sugar: return 594; - case Item::SugarCane: return 558; - case Item::Sunflower: return 305; - case Item::TallGrass: return 309; - case Item::Terracotta: return 298; - case Item::TippedArrow: return 760; - case Item::TNT: return 136; - case Item::TNTMinecart: return 717; - case Item::Torch: return 140; - case Item::TotemOfUndying: return 769; - case Item::TrappedChest: return 250; - case Item::Trident: return 786; - case Item::TripwireHook: return 232; - case Item::TropicalFish: return 573; - case Item::TropicalFishBucket: return 555; - case Item::TropicalFishSpawnEgg: return 678; - case Item::TubeCoral: return 438; - case Item::TubeCoralBlock: return 433; - case Item::TubeCoralFan: return 448; - case Item::TurtleEgg: return 427; - case Item::TurtleHelmet: return 470; - case Item::TurtleSpawnEgg: return 679; - case Item::VexSpawnEgg: return 680; - case Item::VillagerSpawnEgg: return 681; - case Item::VindicatorSpawnEgg: return 682; - case Item::Vine: return 209; - case Item::WaterBucket: return 543; - case Item::WetSponge: return 63; - case Item::Wheat: return 513; - case Item::WheatSeeds: return 512; - case Item::WhiteBanner: return 735; - case Item::WhiteBed: return 596; - case Item::WhiteCarpet: return 282; - case Item::WhiteConcrete: return 395; - case Item::WhiteConcretePowder: return 411; - case Item::WhiteGlazedTerracotta: return 379; - case Item::WhiteShulkerBox: return 363; - case Item::WhiteStainedGlass: return 311; - case Item::WhiteStainedGlassPane: return 327; - case Item::WhiteTerracotta: return 263; - case Item::WhiteTulip: return 105; - case Item::WhiteWool: return 82; - case Item::WitchSpawnEgg: return 683; - case Item::WitherSkeletonSkull: return 704; - case Item::WitherSkeletonSpawnEgg: return 684; - case Item::WolfSpawnEgg: return 685; - case Item::WoodenAxe: return 488; - case Item::WoodenHoe: return 507; - case Item::WoodenPickaxe: return 487; - case Item::WoodenShovel: return 486; - case Item::WoodenSword: return 485; - case Item::WritableBook: return 692; - case Item::WrittenBook: return 693; - case Item::YellowBanner: return 739; - case Item::YellowBed: return 600; - case Item::YellowCarpet: return 286; - case Item::YellowConcrete: return 399; - case Item::YellowConcretePowder: return 415; - case Item::YellowGlazedTerracotta: return 383; - case Item::YellowShulkerBox: return 367; - case Item::YellowStainedGlass: return 315; - case Item::YellowStainedGlassPane: return 331; - case Item::YellowTerracotta: return 267; - case Item::YellowWool: return 86; - case Item::ZombieHead: return 706; - case Item::ZombieHorseSpawnEgg: return 687; - case Item::ZombiePigmanSpawnEgg: return 688; - case Item::ZombieSpawnEgg: return 686; - case Item::ZombieVillagerSpawnEgg: return 689; - default: return 0; - } + case Item::AcaciaBoat: return 767; + case Item::AcaciaButton: return 245; + case Item::AcaciaDoor: return 465; + case Item::AcaciaFence: return 179; + case Item::AcaciaFenceGate: return 214; + case Item::AcaciaLeaves: return 60; + case Item::AcaciaLog: return 36; + case Item::AcaciaPlanks: return 17; + case Item::AcaciaPressurePlate: return 164; + case Item::AcaciaSapling: return 23; + case Item::AcaciaSlab: return 116; + case Item::AcaciaStairs: return 301; + case Item::AcaciaTrapdoor: return 191; + case Item::AcaciaWood: return 54; + case Item::ActivatorRail: return 261; + case Item::Air: return -0; + case Item::Allium: return 101; + case Item::Andesite: return 6; + case Item::Anvil: return 247; + case Item::Apple: return 476; + case Item::ArmorStand: return 726; + case Item::Arrow: return 478; + case Item::AzureBluet: return 102; + case Item::BakedPotato: return 699; + case Item::Barrier: return 279; + case Item::BatSpawnEgg: return 639; + case Item::Beacon: return 238; + case Item::Bedrock: return 25; + case Item::Beef: return 619; + case Item::Beetroot: return 754; + case Item::BeetrootSeeds: return 755; + case Item::BeetrootSoup: return 756; + case Item::BirchBoat: return 765; + case Item::BirchButton: return 243; + case Item::BirchDoor: return 463; + case Item::BirchFence: return 177; + case Item::BirchFenceGate: return 212; + case Item::BirchLeaves: return 58; + case Item::BirchLog: return 34; + case Item::BirchPlanks: return 15; + case Item::BirchPressurePlate: return 162; + case Item::BirchSapling: return 21; + case Item::BirchSlab: return 114; + case Item::BirchStairs: return 235; + case Item::BirchTrapdoor: return 189; + case Item::BirchWood: return 52; + case Item::BlackBanner: return 750; + case Item::BlackBed: return 611; + case Item::BlackCarpet: return 297; + case Item::BlackConcrete: return 410; + case Item::BlackConcretePowder: return 426; + case Item::BlackGlazedTerracotta: return 394; + case Item::BlackShulkerBox: return 378; + case Item::BlackStainedGlass: return 326; + case Item::BlackStainedGlassPane: return 342; + case Item::BlackTerracotta: return 278; + case Item::BlackWool: return 97; + case Item::BlazePowder: return 633; + case Item::BlazeRod: return 625; + case Item::BlazeSpawnEgg: return 640; + case Item::BlueBanner: return 746; + case Item::BlueBed: return 607; + case Item::BlueCarpet: return 293; + case Item::BlueConcrete: return 406; + case Item::BlueConcretePowder: return 422; + case Item::BlueGlazedTerracotta: return 390; + case Item::BlueIce: return 458; + case Item::BlueOrchid: return 100; + case Item::BlueShulkerBox: return 374; + case Item::BlueStainedGlass: return 322; + case Item::BlueStainedGlassPane: return 338; + case Item::BlueTerracotta: return 274; + case Item::BlueWool: return 93; + case Item::Bone: return 593; + case Item::BoneBlock: return 359; + case Item::BoneMeal: return 592; + case Item::Book: return 562; + case Item::Bookshelf: return 137; + case Item::Bow: return 477; + case Item::Bowl: return 498; + case Item::BrainCoral: return 439; + case Item::BrainCoralBlock: return 434; + case Item::BrainCoralFan: return 449; + case Item::Bread: return 514; + case Item::BrewingStand: return 635; + case Item::Brick: return 556; + case Item::BrickSlab: return 122; + case Item::BrickStairs: return 216; + case Item::Bricks: return 135; + case Item::BrownBanner: return 747; + case Item::BrownBed: return 608; + case Item::BrownCarpet: return 294; + case Item::BrownConcrete: return 407; + case Item::BrownConcretePowder: return 423; + case Item::BrownGlazedTerracotta: return 391; + case Item::BrownMushroom: return 108; + case Item::BrownMushroomBlock: return 203; + case Item::BrownShulkerBox: return 375; + case Item::BrownStainedGlass: return 323; + case Item::BrownStainedGlassPane: return 339; + case Item::BrownTerracotta: return 275; + case Item::BrownWool: return 94; + case Item::BubbleCoral: return 440; + case Item::BubbleCoralBlock: return 435; + case Item::BubbleCoralFan: return 450; + case Item::Bucket: return 542; + case Item::Cactus: return 172; + case Item::GreenDye: return 579; + case Item::Cake: return 595; + case Item::Carrot: return 697; + case Item::CarrotOnAStick: return 709; + case Item::CarvedPumpkin: return 182; + case Item::Cauldron: return 636; + case Item::CaveSpiderSpawnEgg: return 641; + case Item::ChainCommandBlock: return 355; + case Item::ChainmailBoots: return 522; + case Item::ChainmailChestplate: return 520; + case Item::ChainmailHelmet: return 519; + case Item::ChainmailLeggings: return 521; + case Item::Charcoal: return 480; + case Item::Chest: return 149; + case Item::ChestMinecart: return 564; + case Item::Chicken: return 621; + case Item::ChickenSpawnEgg: return 642; + case Item::ChippedAnvil: return 248; + case Item::ChiseledQuartzBlock: return 257; + case Item::ChiseledRedSandstone: return 351; + case Item::ChiseledSandstone: return 69; + case Item::ChiseledStoneBricks: return 202; + case Item::ChorusFlower: return 143; + case Item::ChorusFruit: return 752; + case Item::ChorusPlant: return 142; + case Item::Clay: return 173; + case Item::ClayBall: return 557; + case Item::Clock: return 569; + case Item::Coal: return 479; + case Item::CoalBlock: return 299; + case Item::CoalOre: return 31; + case Item::CoarseDirt: return 10; + case Item::Cobblestone: return 12; + case Item::CobblestoneSlab: return 121; + case Item::CobblestoneStairs: return 157; + case Item::CobblestoneWall: return 239; + case Item::Cobweb: return 75; + case Item::CocoaBeans: return 580; + case Item::Cod: return 571; + case Item::CodBucket: return 554; + case Item::CodSpawnEgg: return 643; + case Item::CommandBlock: return 237; + case Item::CommandBlockMinecart: return 732; + case Item::Comparator: return 468; + case Item::Compass: return 567; + case Item::Conduit: return 459; + case Item::CookedBeef: return 620; + case Item::CookedChicken: return 622; + case Item::CookedCod: return 575; + case Item::CookedMutton: return 734; + case Item::CookedPorkchop: return 537; + case Item::CookedRabbit: return 722; + case Item::CookedSalmon: return 576; + case Item::Cookie: return 612; + case Item::CowSpawnEgg: return 644; + case Item::CrackedStoneBricks: return 201; + case Item::CraftingTable: return 152; + case Item::CreeperHead: return 707; + case Item::CreeperSpawnEgg: return 645; + case Item::CutRedSandstone: return 352; + case Item::CutSandstone: return 70; + case Item::CyanBanner: return 744; + case Item::CyanBed: return 605; + case Item::CyanCarpet: return 291; + case Item::CyanConcrete: return 404; + case Item::CyanConcretePowder: return 420; + case Item::CyanDye: return 583; + case Item::CyanGlazedTerracotta: return 388; + case Item::CyanShulkerBox: return 372; + case Item::CyanStainedGlass: return 320; + case Item::CyanStainedGlassPane: return 336; + case Item::CyanTerracotta: return 272; + case Item::CyanWool: return 91; + case Item::DamagedAnvil: return 249; + case Item::Dandelion: return 98; + case Item::YellowDye: return 588; + case Item::DarkOakBoat: return 768; + case Item::DarkOakButton: return 246; + case Item::DarkOakDoor: return 466; + case Item::DarkOakFence: return 180; + case Item::DarkOakFenceGate: return 215; + case Item::DarkOakLeaves: return 61; + case Item::DarkOakLog: return 37; + case Item::DarkOakPlanks: return 18; + case Item::DarkOakPressurePlate: return 165; + case Item::DarkOakSapling: return 24; + case Item::DarkOakSlab: return 117; + case Item::DarkOakStairs: return 302; + case Item::DarkOakTrapdoor: return 192; + case Item::DarkOakWood: return 55; + case Item::DarkPrismarine: return 345; + case Item::DarkPrismarineSlab: return 130; + case Item::DarkPrismarineStairs: return 348; + case Item::DaylightDetector: return 253; + case Item::DeadBrainCoral: return 443; + case Item::DeadBrainCoralBlock: return 429; + case Item::DeadBrainCoralFan: return 454; + case Item::DeadBubbleCoral: return 444; + case Item::DeadBubbleCoralBlock: return 430; + case Item::DeadBubbleCoralFan: return 455; + case Item::DeadBush: return 78; + case Item::DeadFireCoral: return 445; + case Item::DeadFireCoralBlock: return 431; + case Item::DeadFireCoralFan: return 456; + case Item::DeadHornCoral: return 446; + case Item::DeadHornCoralBlock: return 432; + case Item::DeadHornCoralFan: return 457; + case Item::DeadTubeCoral: return 447; + case Item::DeadTubeCoralBlock: return 428; + case Item::DeadTubeCoralFan: return 453; + case Item::DebugStick: return 773; + case Item::DetectorRail: return 73; + case Item::Diamond: return 481; + case Item::DiamondAxe: return 496; + case Item::DiamondBlock: return 151; + case Item::DiamondBoots: return 530; + case Item::DiamondChestplate: return 528; + case Item::DiamondHelmet: return 527; + case Item::DiamondHoe: return 510; + case Item::DiamondHorseArmor: return 729; + case Item::DiamondLeggings: return 529; + case Item::DiamondOre: return 150; + case Item::DiamondPickaxe: return 495; + case Item::DiamondShovel: return 494; + case Item::DiamondSword: return 493; + case Item::Diorite: return 4; + case Item::Dirt: return 9; + case Item::Dispenser: return 67; + case Item::DolphinSpawnEgg: return 646; + case Item::DonkeySpawnEgg: return 647; + case Item::DragonBreath: return 757; + case Item::DragonEgg: return 227; + case Item::DragonHead: return 708; + case Item::DriedKelp: return 616; + case Item::DriedKelpBlock: return 560; + case Item::Dropper: return 262; + case Item::DrownedSpawnEgg: return 648; + case Item::Egg: return 566; + case Item::ElderGuardianSpawnEgg: return 649; + case Item::Elytra: return 763; + case Item::Emerald: return 694; + case Item::EmeraldBlock: return 233; + case Item::EmeraldOre: return 230; + case Item::EnchantedBook: return 714; + case Item::EnchantedGoldenApple: return 540; + case Item::EnchantingTable: return 223; + case Item::EndCrystal: return 751; + case Item::EndPortalFrame: return 224; + case Item::EndRod: return 141; + case Item::EndStone: return 225; + case Item::EndStoneBricks: return 226; + case Item::EnderChest: return 231; + case Item::EnderEye: return 637; + case Item::EnderPearl: return 624; + case Item::EndermanSpawnEgg: return 650; + case Item::EndermiteSpawnEgg: return 651; + case Item::EvokerSpawnEgg: return 652; + case Item::ExperienceBottle: return 690; + case Item::Farmland: return 153; + case Item::Feather: return 505; + case Item::FermentedSpiderEye: return 632; + case Item::Fern: return 77; + case Item::FilledMap: return 613; + case Item::FireCharge: return 691; + case Item::FireCoral: return 441; + case Item::FireCoralBlock: return 436; + case Item::FireCoralFan: return 451; + case Item::FireworkRocket: return 712; + case Item::FireworkStar: return 713; + case Item::FishingRod: return 568; + case Item::Flint: return 535; + case Item::FlintAndSteel: return 475; + case Item::FlowerPot: return 696; + case Item::Furnace: return 154; + case Item::FurnaceMinecart: return 565; + case Item::GhastSpawnEgg: return 653; + case Item::GhastTear: return 626; + case Item::Glass: return 64; + case Item::GlassBottle: return 630; + case Item::GlassPane: return 207; + case Item::GlisteringMelonSlice: return 638; + case Item::Glowstone: return 185; + case Item::GlowstoneDust: return 570; + case Item::GoldBlock: return 110; + case Item::GoldIngot: return 483; + case Item::GoldNugget: return 627; + case Item::GoldOre: return 29; + case Item::GoldenApple: return 539; + case Item::GoldenAxe: return 503; + case Item::GoldenBoots: return 534; + case Item::GoldenCarrot: return 702; + case Item::GoldenChestplate: return 532; + case Item::GoldenHelmet: return 531; + case Item::GoldenHoe: return 511; + case Item::GoldenHorseArmor: return 728; + case Item::GoldenLeggings: return 533; + case Item::GoldenPickaxe: return 502; + case Item::GoldenShovel: return 501; + case Item::GoldenSword: return 500; + case Item::Granite: return 2; + case Item::Grass: return 76; + case Item::GrassBlock: return 8; + case Item::GrassPath: return 304; + case Item::Gravel: return 28; + case Item::GrayBanner: return 742; + case Item::GrayBed: return 603; + case Item::GrayCarpet: return 289; + case Item::GrayConcrete: return 402; + case Item::GrayConcretePowder: return 418; + case Item::GrayDye: return 585; + case Item::GrayGlazedTerracotta: return 386; + case Item::GrayShulkerBox: return 370; + case Item::GrayStainedGlass: return 318; + case Item::GrayStainedGlassPane: return 334; + case Item::GrayTerracotta: return 270; + case Item::GrayWool: return 89; + case Item::GreenBanner: return 748; + case Item::GreenBed: return 609; + case Item::GreenCarpet: return 295; + case Item::GreenConcrete: return 408; + case Item::GreenConcretePowder: return 424; + case Item::GreenGlazedTerracotta: return 392; + case Item::GreenShulkerBox: return 376; + case Item::GreenStainedGlass: return 324; + case Item::GreenStainedGlassPane: return 340; + case Item::GreenTerracotta: return 276; + case Item::GreenWool: return 95; + case Item::GuardianSpawnEgg: return 654; + case Item::Gunpowder: return 506; + case Item::HayBale: return 281; + case Item::HeartOfTheSea: return 789; + case Item::HeavyWeightedPressurePlate: return 252; + case Item::Hopper: return 256; + case Item::HopperMinecart: return 718; + case Item::HornCoral: return 442; + case Item::HornCoralBlock: return 437; + case Item::HornCoralFan: return 452; + case Item::HorseSpawnEgg: return 655; + case Item::HuskSpawnEgg: return 656; + case Item::Ice: return 170; + case Item::InfestedChiseledStoneBricks: return 198; + case Item::InfestedCobblestone: return 194; + case Item::InfestedCrackedStoneBricks: return 197; + case Item::InfestedMossyStoneBricks: return 196; + case Item::InfestedStone: return 193; + case Item::InfestedStoneBricks: return 195; + case Item::InkSac: return 577; + case Item::IronAxe: return 474; + case Item::IronBars: return 206; + case Item::IronBlock: return 111; + case Item::IronBoots: return 526; + case Item::IronChestplate: return 524; + case Item::IronDoor: return 460; + case Item::IronHelmet: return 523; + case Item::IronHoe: return 509; + case Item::IronHorseArmor: return 727; + case Item::IronIngot: return 482; + case Item::IronLeggings: return 525; + case Item::IronNugget: return 771; + case Item::IronOre: return 30; + case Item::IronPickaxe: return 473; + case Item::IronShovel: return 472; + case Item::IronSword: return 484; + case Item::IronTrapdoor: return 280; + case Item::ItemFrame: return 695; + case Item::JackOLantern: return 186; + case Item::Jukebox: return 174; + case Item::JungleBoat: return 766; + case Item::JungleButton: return 244; + case Item::JungleDoor: return 464; + case Item::JungleFence: return 178; + case Item::JungleFenceGate: return 213; + case Item::JungleLeaves: return 59; + case Item::JungleLog: return 35; + case Item::JunglePlanks: return 16; + case Item::JunglePressurePlate: return 163; + case Item::JungleSapling: return 22; + case Item::JungleSlab: return 115; + case Item::JungleStairs: return 236; + case Item::JungleTrapdoor: return 190; + case Item::JungleWood: return 53; + case Item::Kelp: return 559; + case Item::KnowledgeBook: return 772; + case Item::Ladder: return 155; + case Item::LapisBlock: return 66; + case Item::LapisLazuli: return 581; + case Item::LapisOre: return 65; + case Item::LargeFern: return 310; + case Item::LavaBucket: return 544; + case Item::Lead: return 730; + case Item::Leather: return 550; + case Item::LeatherBoots: return 518; + case Item::LeatherChestplate: return 516; + case Item::LeatherHelmet: return 515; + case Item::LeatherLeggings: return 517; + case Item::Lever: return 158; + case Item::LightBlueBanner: return 738; + case Item::LightBlueBed: return 599; + case Item::LightBlueCarpet: return 285; + case Item::LightBlueConcrete: return 398; + case Item::LightBlueConcretePowder: return 414; + case Item::LightBlueDye: return 589; + case Item::LightBlueGlazedTerracotta: return 382; + case Item::LightBlueShulkerBox: return 366; + case Item::LightBlueStainedGlass: return 314; + case Item::LightBlueStainedGlassPane: return 330; + case Item::LightBlueTerracotta: return 266; + case Item::LightBlueWool: return 85; + case Item::LightGrayBanner: return 743; + case Item::LightGrayBed: return 604; + case Item::LightGrayCarpet: return 290; + case Item::LightGrayConcrete: return 403; + case Item::LightGrayConcretePowder: return 419; + case Item::LightGrayDye: return 584; + case Item::LightGrayGlazedTerracotta: return 387; + case Item::LightGrayShulkerBox: return 371; + case Item::LightGrayStainedGlass: return 319; + case Item::LightGrayStainedGlassPane: return 335; + case Item::LightGrayTerracotta: return 271; + case Item::LightGrayWool: return 90; + case Item::LightWeightedPressurePlate: return 251; + case Item::Lilac: return 306; + case Item::LilyPad: return 219; + case Item::LimeBanner: return 740; + case Item::LimeBed: return 601; + case Item::LimeCarpet: return 287; + case Item::LimeConcrete: return 400; + case Item::LimeConcretePowder: return 416; + case Item::LimeDye: return 587; + case Item::LimeGlazedTerracotta: return 384; + case Item::LimeShulkerBox: return 368; + case Item::LimeStainedGlass: return 316; + case Item::LimeStainedGlassPane: return 332; + case Item::LimeTerracotta: return 268; + case Item::LimeWool: return 87; + case Item::LingeringPotion: return 761; + case Item::LlamaSpawnEgg: return 657; + case Item::MagentaBanner: return 737; + case Item::MagentaBed: return 598; + case Item::MagentaCarpet: return 284; + case Item::MagentaConcrete: return 397; + case Item::MagentaConcretePowder: return 413; + case Item::MagentaDye: return 590; + case Item::MagentaGlazedTerracotta: return 381; + case Item::MagentaShulkerBox: return 365; + case Item::MagentaStainedGlass: return 313; + case Item::MagentaStainedGlassPane: return 329; + case Item::MagentaTerracotta: return 265; + case Item::MagentaWool: return 84; + case Item::MagmaBlock: return 356; + case Item::MagmaCream: return 634; + case Item::MagmaCubeSpawnEgg: return 658; + case Item::Map: return 701; + case Item::Melon: return 208; + case Item::MelonSeeds: return 618; + case Item::MelonSlice: return 615; + case Item::MilkBucket: return 551; + case Item::Minecart: return 545; + case Item::MooshroomSpawnEgg: return 659; + case Item::MossyCobblestone: return 138; + case Item::MossyCobblestoneWall: return 240; + case Item::MossyStoneBricks: return 200; + case Item::MuleSpawnEgg: return 660; + case Item::MushroomStem: return 205; + case Item::MushroomStew: return 499; + case Item::MusicDisc11: return 784; + case Item::MusicDisc13: return 774; + case Item::MusicDiscBlocks: return 776; + case Item::MusicDiscCat: return 775; + case Item::MusicDiscChirp: return 777; + case Item::MusicDiscFar: return 778; + case Item::MusicDiscMall: return 779; + case Item::MusicDiscMellohi: return 780; + case Item::MusicDiscStal: return 781; + case Item::MusicDiscStrad: return 782; + case Item::MusicDiscWait: return 785; + case Item::MusicDiscWard: return 783; + case Item::Mutton: return 733; + case Item::Mycelium: return 218; + case Item::NameTag: return 731; + case Item::NautilusShell: return 788; + case Item::NetherBrick: return 715; + case Item::NetherBrickFence: return 221; + case Item::NetherBrickSlab: return 124; + case Item::NetherBrickStairs: return 222; + case Item::NetherBricks: return 220; + case Item::NetherQuartzOre: return 255; + case Item::NetherStar: return 710; + case Item::NetherWart: return 628; + case Item::NetherWartBlock: return 357; + case Item::Netherrack: return 183; + case Item::NoteBlock: return 71; + case Item::OakBoat: return 549; + case Item::OakButton: return 241; + case Item::OakDoor: return 461; + case Item::OakFence: return 175; + case Item::OakFenceGate: return 210; + case Item::OakLeaves: return 56; + case Item::OakLog: return 32; + case Item::OakPlanks: return 13; + case Item::OakPressurePlate: return 160; + case Item::OakSapling: return 19; + case Item::OakSlab: return 112; + case Item::OakStairs: return 148; + case Item::OakTrapdoor: return 187; + case Item::OakWood: return 50; + case Item::Observer: return 361; + case Item::Obsidian: return 139; + case Item::OcelotSpawnEgg: return 661; + case Item::OrangeBanner: return 736; + case Item::OrangeBed: return 597; + case Item::OrangeCarpet: return 283; + case Item::OrangeConcrete: return 396; + case Item::OrangeConcretePowder: return 412; + case Item::OrangeDye: return 591; + case Item::OrangeGlazedTerracotta: return 380; + case Item::OrangeShulkerBox: return 364; + case Item::OrangeStainedGlass: return 312; + case Item::OrangeStainedGlassPane: return 328; + case Item::OrangeTerracotta: return 264; + case Item::OrangeTulip: return 104; + case Item::OrangeWool: return 83; + case Item::OxeyeDaisy: return 107; + case Item::PackedIce: return 300; + case Item::Painting: return 538; + case Item::Paper: return 561; + case Item::ParrotSpawnEgg: return 662; + case Item::Peony: return 308; + case Item::PetrifiedOakSlab: return 120; + case Item::PhantomMembrane: return 787; + case Item::PhantomSpawnEgg: return 663; + case Item::PigSpawnEgg: return 664; + case Item::PinkBanner: return 741; + case Item::PinkBed: return 602; + case Item::PinkCarpet: return 288; + case Item::PinkConcrete: return 401; + case Item::PinkConcretePowder: return 417; + case Item::PinkDye: return 586; + case Item::PinkGlazedTerracotta: return 385; + case Item::PinkShulkerBox: return 369; + case Item::PinkStainedGlass: return 317; + case Item::PinkStainedGlassPane: return 333; + case Item::PinkTerracotta: return 269; + case Item::PinkTulip: return 106; + case Item::PinkWool: return 88; + case Item::Piston: return 81; + case Item::PlayerHead: return 705; + case Item::Podzol: return 11; + case Item::PoisonousPotato: return 700; + case Item::PolarBearSpawnEgg: return 665; + case Item::PolishedAndesite: return 7; + case Item::PolishedDiorite: return 5; + case Item::PolishedGranite: return 3; + case Item::PoppedChorusFruit: return 753; + case Item::Poppy: return 99; + case Item::Porkchop: return 536; + case Item::Potato: return 698; + case Item::Potion: return 629; + case Item::PoweredRail: return 72; + case Item::Prismarine: return 343; + case Item::PrismarineBrickSlab: return 129; + case Item::PrismarineBrickStairs: return 347; + case Item::PrismarineBricks: return 344; + case Item::PrismarineCrystals: return 720; + case Item::PrismarineShard: return 719; + case Item::PrismarineSlab: return 128; + case Item::PrismarineStairs: return 346; + case Item::Pufferfish: return 574; + case Item::PufferfishBucket: return 552; + case Item::PufferfishSpawnEgg: return 666; + case Item::Pumpkin: return 181; + case Item::PumpkinPie: return 711; + case Item::PumpkinSeeds: return 617; + case Item::PurpleBanner: return 745; + case Item::PurpleBed: return 606; + case Item::PurpleCarpet: return 292; + case Item::PurpleConcrete: return 405; + case Item::PurpleConcretePowder: return 421; + case Item::PurpleDye: return 582; + case Item::PurpleGlazedTerracotta: return 389; + case Item::PurpleShulkerBox: return 373; + case Item::PurpleStainedGlass: return 321; + case Item::PurpleStainedGlassPane: return 337; + case Item::PurpleTerracotta: return 273; + case Item::PurpleWool: return 92; + case Item::PurpurBlock: return 144; + case Item::PurpurPillar: return 145; + case Item::PurpurSlab: return 127; + case Item::PurpurStairs: return 146; + case Item::Quartz: return 716; + case Item::QuartzBlock: return 258; + case Item::QuartzPillar: return 259; + case Item::QuartzSlab: return 125; + case Item::QuartzStairs: return 260; + case Item::Rabbit: return 721; + case Item::RabbitFoot: return 724; + case Item::RabbitHide: return 725; + case Item::RabbitSpawnEgg: return 667; + case Item::RabbitStew: return 723; + case Item::Rail: return 156; + case Item::RedBanner: return 749; + case Item::RedBed: return 610; + case Item::RedCarpet: return 296; + case Item::RedConcrete: return 409; + case Item::RedConcretePowder: return 425; + case Item::RedGlazedTerracotta: return 393; + case Item::RedMushroom: return 109; + case Item::RedMushroomBlock: return 204; + case Item::RedNetherBricks: return 358; + case Item::RedSand: return 27; + case Item::RedSandstone: return 350; + case Item::RedSandstoneSlab: return 126; + case Item::RedSandstoneStairs: return 353; + case Item::RedShulkerBox: return 377; + case Item::RedStainedGlass: return 325; + case Item::RedStainedGlassPane: return 341; + case Item::RedTerracotta: return 277; + case Item::RedTulip: return 103; + case Item::RedWool: return 96; + case Item::Redstone: return 547; + case Item::RedstoneBlock: return 254; + case Item::RedstoneLamp: return 228; + case Item::RedstoneOre: return 166; + case Item::RedstoneTorch: return 167; + case Item::Repeater: return 467; + case Item::RepeatingCommandBlock: return 354; + case Item::RoseBush: return 307; + case Item::RedDye: return 578; + case Item::RottenFlesh: return 623; + case Item::Saddle: return 546; + case Item::Salmon: return 572; + case Item::SalmonBucket: return 553; + case Item::SalmonSpawnEgg: return 668; + case Item::Sand: return 26; + case Item::Sandstone: return 68; + case Item::SandstoneSlab: return 119; + case Item::SandstoneStairs: return 229; + case Item::Scute: return 471; + case Item::SeaLantern: return 349; + case Item::SeaPickle: return 80; + case Item::Seagrass: return 79; + case Item::Shears: return 614; + case Item::SheepSpawnEgg: return 669; + case Item::Shield: return 762; + case Item::ShulkerBox: return 362; + case Item::ShulkerShell: return 770; + case Item::ShulkerSpawnEgg: return 670; + case Item::OakSign: return 541; + case Item::SilverfishSpawnEgg: return 671; + case Item::SkeletonHorseSpawnEgg: return 673; + case Item::SkeletonSkull: return 703; + case Item::SkeletonSpawnEgg: return 672; + case Item::SlimeBall: return 563; + case Item::SlimeBlock: return 303; + case Item::SlimeSpawnEgg: return 674; + case Item::SmoothQuartz: return 131; + case Item::SmoothRedSandstone: return 132; + case Item::SmoothSandstone: return 133; + case Item::SmoothStone: return 134; + case Item::Snow: return 169; + case Item::SnowBlock: return 171; + case Item::Snowball: return 548; + case Item::SoulSand: return 184; + case Item::Spawner: return 147; + case Item::SpectralArrow: return 759; + case Item::SpiderEye: return 631; + case Item::SpiderSpawnEgg: return 675; + case Item::SplashPotion: return 758; + case Item::Sponge: return 62; + case Item::SpruceBoat: return 764; + case Item::SpruceButton: return 242; + case Item::SpruceDoor: return 462; + case Item::SpruceFence: return 176; + case Item::SpruceFenceGate: return 211; + case Item::SpruceLeaves: return 57; + case Item::SpruceLog: return 33; + case Item::SprucePlanks: return 14; + case Item::SprucePressurePlate: return 161; + case Item::SpruceSapling: return 20; + case Item::SpruceSlab: return 113; + case Item::SpruceStairs: return 234; + case Item::SpruceTrapdoor: return 188; + case Item::SpruceWood: return 51; + case Item::SquidSpawnEgg: return 676; + case Item::Stick: return 497; + case Item::StickyPiston: return 74; + case Item::Stone: return 1; + case Item::StoneAxe: return 492; + case Item::StoneBrickSlab: return 123; + case Item::StoneBrickStairs: return 217; + case Item::StoneBricks: return 199; + case Item::StoneButton: return 168; + case Item::StoneHoe: return 508; + case Item::StonePickaxe: return 491; + case Item::StonePressurePlate: return 159; + case Item::StoneShovel: return 490; + case Item::StoneSlab: return 118; + case Item::StoneSword: return 489; + case Item::StraySpawnEgg: return 677; + case Item::String: return 504; + case Item::StrippedAcaciaLog: return 42; + case Item::StrippedAcaciaWood: return 48; + case Item::StrippedBirchLog: return 40; + case Item::StrippedBirchWood: return 46; + case Item::StrippedDarkOakLog: return 43; + case Item::StrippedDarkOakWood: return 49; + case Item::StrippedJungleLog: return 41; + case Item::StrippedJungleWood: return 47; + case Item::StrippedOakLog: return 38; + case Item::StrippedOakWood: return 44; + case Item::StrippedSpruceLog: return 39; + case Item::StrippedSpruceWood: return 45; + case Item::StructureBlock: return 469; + case Item::StructureVoid: return 360; + case Item::Sugar: return 594; + case Item::SugarCane: return 558; + case Item::Sunflower: return 305; + case Item::TallGrass: return 309; + case Item::Terracotta: return 298; + case Item::TippedArrow: return 760; + case Item::TNT: return 136; + case Item::TNTMinecart: return 717; + case Item::Torch: return 140; + case Item::TotemOfUndying: return 769; + case Item::TrappedChest: return 250; + case Item::Trident: return 786; + case Item::TripwireHook: return 232; + case Item::TropicalFish: return 573; + case Item::TropicalFishBucket: return 555; + case Item::TropicalFishSpawnEgg: return 678; + case Item::TubeCoral: return 438; + case Item::TubeCoralBlock: return 433; + case Item::TubeCoralFan: return 448; + case Item::TurtleEgg: return 427; + case Item::TurtleHelmet: return 470; + case Item::TurtleSpawnEgg: return 679; + case Item::VexSpawnEgg: return 680; + case Item::VillagerSpawnEgg: return 681; + case Item::VindicatorSpawnEgg: return 682; + case Item::Vine: return 209; + case Item::WaterBucket: return 543; + case Item::WetSponge: return 63; + case Item::Wheat: return 513; + case Item::WheatSeeds: return 512; + case Item::WhiteBanner: return 735; + case Item::WhiteBed: return 596; + case Item::WhiteCarpet: return 282; + case Item::WhiteConcrete: return 395; + case Item::WhiteConcretePowder: return 411; + case Item::WhiteGlazedTerracotta: return 379; + case Item::WhiteShulkerBox: return 363; + case Item::WhiteStainedGlass: return 311; + case Item::WhiteStainedGlassPane: return 327; + case Item::WhiteTerracotta: return 263; + case Item::WhiteTulip: return 105; + case Item::WhiteWool: return 82; + case Item::WitchSpawnEgg: return 683; + case Item::WitherSkeletonSkull: return 704; + case Item::WitherSkeletonSpawnEgg: return 684; + case Item::WolfSpawnEgg: return 685; + case Item::WoodenAxe: return 488; + case Item::WoodenHoe: return 507; + case Item::WoodenPickaxe: return 487; + case Item::WoodenShovel: return 486; + case Item::WoodenSword: return 485; + case Item::WritableBook: return 692; + case Item::WrittenBook: return 693; + case Item::YellowBanner: return 739; + case Item::YellowBed: return 600; + case Item::YellowCarpet: return 286; + case Item::YellowConcrete: return 399; + case Item::YellowConcretePowder: return 415; + case Item::YellowGlazedTerracotta: return 383; + case Item::YellowShulkerBox: return 367; + case Item::YellowStainedGlass: return 315; + case Item::YellowStainedGlassPane: return 331; + case Item::YellowTerracotta: return 267; + case Item::YellowWool: return 86; + case Item::ZombieHead: return 706; + case Item::ZombieHorseSpawnEgg: return 687; + case Item::ZombiePigmanSpawnEgg: return 688; + case Item::ZombieSpawnEgg: return 686; + case Item::ZombieVillagerSpawnEgg: return 689; + default: return 0; } +} - UInt32 From(const CustomStatistic ID) +UInt32 From(const CustomStatistic ID) +{ + switch (ID) { - switch (ID) - { - case CustomStatistic::AnimalsBred: return 30; - case CustomStatistic::AviateOneCm: return 17; - case CustomStatistic::BoatOneCm: return 14; - case CustomStatistic::CleanArmor: return 38; - case CustomStatistic::CleanBanner: return 39; - case CustomStatistic::CleanShulkerBox: return 40; - case CustomStatistic::ClimbOneCm: return 10; - case CustomStatistic::CrouchOneCm: return 6; - case CustomStatistic::DamageAbsorbed: return 26; - case CustomStatistic::DamageBlockedByShield: return 25; - case CustomStatistic::DamageDealt: return 21; - case CustomStatistic::DamageDealtAbsorbed: return 22; - case CustomStatistic::DamageDealtResisted: return 23; - case CustomStatistic::DamageResisted: return 27; - case CustomStatistic::DamageTaken: return 24; - case CustomStatistic::Deaths: return 28; - case CustomStatistic::Drop: return 20; - case CustomStatistic::EatCakeSlice: return 35; - case CustomStatistic::EnchantItem: return 51; - case CustomStatistic::FallOneCm: return 9; - case CustomStatistic::FillCauldron: return 36; - case CustomStatistic::FishCaught: return 32; - case CustomStatistic::FlyOneCm: return 11; - case CustomStatistic::HorseOneCm: return 16; - case CustomStatistic::InspectDispenser: return 45; - case CustomStatistic::InspectDropper: return 43; - case CustomStatistic::InspectHopper: return 44; - case CustomStatistic::InteractWithBeacon: return 42; - case CustomStatistic::InteractWithBrewingstand: return 41; - case CustomStatistic::InteractWithCraftingTable: return 54; - case CustomStatistic::InteractWithFurnace: return 53; - case CustomStatistic::Jump: return 19; - case CustomStatistic::LeaveGame: return 0; - case CustomStatistic::MinecartOneCm: return 13; - case CustomStatistic::MobKills: return 29; - case CustomStatistic::OpenChest: return 55; - case CustomStatistic::OpenEnderchest: return 50; - case CustomStatistic::OpenShulkerBox: return 57; - case CustomStatistic::PigOneCm: return 15; - case CustomStatistic::PlayerKills: return 31; - case CustomStatistic::PlayNoteblock: return 46; - case CustomStatistic::PlayOneMinute: return 1; - case CustomStatistic::PlayRecord: return 52; - case CustomStatistic::PotFlower: return 48; - case CustomStatistic::SleepInBed: return 56; - case CustomStatistic::SneakTime: return 4; - case CustomStatistic::SprintOneCm: return 7; - case CustomStatistic::SwimOneCm: return 8; - case CustomStatistic::TalkedToVillager: return 33; - case CustomStatistic::TimeSinceDeath: return 2; - case CustomStatistic::TimeSinceRest: return 3; - case CustomStatistic::TradedWithVillager: return 34; - case CustomStatistic::TriggerTrappedChest: return 49; - case CustomStatistic::TuneNoteblock: return 47; - case CustomStatistic::UseCauldron: return 37; - case CustomStatistic::WalkOneCm: return 5; - case CustomStatistic::WalkOnWaterOneCm: return 18; - case CustomStatistic::WalkUnderWaterOneCm: return 12; - default: return UInt32(-1); - } + case CustomStatistic::AnimalsBred: return 30; + case CustomStatistic::AviateOneCm: return 17; + case CustomStatistic::BoatOneCm: return 14; + case CustomStatistic::CleanArmor: return 38; + case CustomStatistic::CleanBanner: return 39; + case CustomStatistic::CleanShulkerBox: return 40; + case CustomStatistic::ClimbOneCm: return 10; + case CustomStatistic::CrouchOneCm: return 6; + case CustomStatistic::DamageAbsorbed: return 26; + case CustomStatistic::DamageBlockedByShield: return 25; + case CustomStatistic::DamageDealt: return 21; + case CustomStatistic::DamageDealtAbsorbed: return 22; + case CustomStatistic::DamageDealtResisted: return 23; + case CustomStatistic::DamageResisted: return 27; + case CustomStatistic::DamageTaken: return 24; + case CustomStatistic::Deaths: return 28; + case CustomStatistic::Drop: return 20; + case CustomStatistic::EatCakeSlice: return 35; + case CustomStatistic::EnchantItem: return 51; + case CustomStatistic::FallOneCm: return 9; + case CustomStatistic::FillCauldron: return 36; + case CustomStatistic::FishCaught: return 32; + case CustomStatistic::FlyOneCm: return 11; + case CustomStatistic::HorseOneCm: return 16; + case CustomStatistic::InspectDispenser: return 45; + case CustomStatistic::InspectDropper: return 43; + case CustomStatistic::InspectHopper: return 44; + case CustomStatistic::InteractWithBeacon: return 42; + case CustomStatistic::InteractWithBrewingstand: return 41; + case CustomStatistic::InteractWithCraftingTable: return 54; + case CustomStatistic::InteractWithFurnace: return 53; + case CustomStatistic::Jump: return 19; + case CustomStatistic::LeaveGame: return 0; + case CustomStatistic::MinecartOneCm: return 13; + case CustomStatistic::MobKills: return 29; + case CustomStatistic::OpenChest: return 55; + case CustomStatistic::OpenEnderchest: return 50; + case CustomStatistic::OpenShulkerBox: return 57; + case CustomStatistic::PigOneCm: return 15; + case CustomStatistic::PlayerKills: return 31; + case CustomStatistic::PlayNoteblock: return 46; + case CustomStatistic::PlayOneMinute: return 1; + case CustomStatistic::PlayRecord: return 52; + case CustomStatistic::PotFlower: return 48; + case CustomStatistic::SleepInBed: return 56; + case CustomStatistic::SneakTime: return 4; + case CustomStatistic::SprintOneCm: return 7; + case CustomStatistic::SwimOneCm: return 8; + case CustomStatistic::TalkedToVillager: return 33; + case CustomStatistic::TimeSinceDeath: return 2; + case CustomStatistic::TimeSinceRest: return 3; + case CustomStatistic::TradedWithVillager: return 34; + case CustomStatistic::TriggerTrappedChest: return 49; + case CustomStatistic::TuneNoteblock: return 47; + case CustomStatistic::UseCauldron: return 37; + case CustomStatistic::WalkOneCm: return 5; + case CustomStatistic::WalkOnWaterOneCm: return 18; + case CustomStatistic::WalkUnderWaterOneCm: return 12; + default: return UInt32(-1); } +} - Item ToItem(const UInt32 ID) +Item ToItem(const UInt32 ID) +{ + switch (ID) { - switch (ID) - { - case 767: return Item::AcaciaBoat; - case 245: return Item::AcaciaButton; - case 465: return Item::AcaciaDoor; - case 179: return Item::AcaciaFence; - case 214: return Item::AcaciaFenceGate; - case 60: return Item::AcaciaLeaves; - case 36: return Item::AcaciaLog; - case 17: return Item::AcaciaPlanks; - case 164: return Item::AcaciaPressurePlate; - case 23: return Item::AcaciaSapling; - case 116: return Item::AcaciaSlab; - case 301: return Item::AcaciaStairs; - case 191: return Item::AcaciaTrapdoor; - case 54: return Item::AcaciaWood; - case 261: return Item::ActivatorRail; - case -0: return Item::Air; - case 101: return Item::Allium; - case 6: return Item::Andesite; - case 247: return Item::Anvil; - case 476: return Item::Apple; - case 726: return Item::ArmorStand; - case 478: return Item::Arrow; - case 102: return Item::AzureBluet; - case 699: return Item::BakedPotato; - case 279: return Item::Barrier; - case 639: return Item::BatSpawnEgg; - case 238: return Item::Beacon; - case 25: return Item::Bedrock; - case 619: return Item::Beef; - case 754: return Item::Beetroot; - case 755: return Item::BeetrootSeeds; - case 756: return Item::BeetrootSoup; - case 765: return Item::BirchBoat; - case 243: return Item::BirchButton; - case 463: return Item::BirchDoor; - case 177: return Item::BirchFence; - case 212: return Item::BirchFenceGate; - case 58: return Item::BirchLeaves; - case 34: return Item::BirchLog; - case 15: return Item::BirchPlanks; - case 162: return Item::BirchPressurePlate; - case 21: return Item::BirchSapling; - case 114: return Item::BirchSlab; - case 235: return Item::BirchStairs; - case 189: return Item::BirchTrapdoor; - case 52: return Item::BirchWood; - case 750: return Item::BlackBanner; - case 611: return Item::BlackBed; - case 297: return Item::BlackCarpet; - case 410: return Item::BlackConcrete; - case 426: return Item::BlackConcretePowder; - case 394: return Item::BlackGlazedTerracotta; - case 378: return Item::BlackShulkerBox; - case 326: return Item::BlackStainedGlass; - case 342: return Item::BlackStainedGlassPane; - case 278: return Item::BlackTerracotta; - case 97: return Item::BlackWool; - case 633: return Item::BlazePowder; - case 625: return Item::BlazeRod; - case 640: return Item::BlazeSpawnEgg; - case 746: return Item::BlueBanner; - case 607: return Item::BlueBed; - case 293: return Item::BlueCarpet; - case 406: return Item::BlueConcrete; - case 422: return Item::BlueConcretePowder; - case 390: return Item::BlueGlazedTerracotta; - case 458: return Item::BlueIce; - case 100: return Item::BlueOrchid; - case 374: return Item::BlueShulkerBox; - case 322: return Item::BlueStainedGlass; - case 338: return Item::BlueStainedGlassPane; - case 274: return Item::BlueTerracotta; - case 93: return Item::BlueWool; - case 593: return Item::Bone; - case 359: return Item::BoneBlock; - case 592: return Item::BoneMeal; - case 562: return Item::Book; - case 137: return Item::Bookshelf; - case 477: return Item::Bow; - case 498: return Item::Bowl; - case 439: return Item::BrainCoral; - case 434: return Item::BrainCoralBlock; - case 449: return Item::BrainCoralFan; - case 514: return Item::Bread; - case 635: return Item::BrewingStand; - case 556: return Item::Brick; - case 122: return Item::BrickSlab; - case 216: return Item::BrickStairs; - case 135: return Item::Bricks; - case 747: return Item::BrownBanner; - case 608: return Item::BrownBed; - case 294: return Item::BrownCarpet; - case 407: return Item::BrownConcrete; - case 423: return Item::BrownConcretePowder; - case 391: return Item::BrownGlazedTerracotta; - case 108: return Item::BrownMushroom; - case 203: return Item::BrownMushroomBlock; - case 375: return Item::BrownShulkerBox; - case 323: return Item::BrownStainedGlass; - case 339: return Item::BrownStainedGlassPane; - case 275: return Item::BrownTerracotta; - case 94: return Item::BrownWool; - case 440: return Item::BubbleCoral; - case 435: return Item::BubbleCoralBlock; - case 450: return Item::BubbleCoralFan; - case 542: return Item::Bucket; - case 172: return Item::Cactus; - case 579: return Item::GreenDye; - case 595: return Item::Cake; - case 697: return Item::Carrot; - case 709: return Item::CarrotOnAStick; - case 182: return Item::CarvedPumpkin; - case 636: return Item::Cauldron; - case 641: return Item::CaveSpiderSpawnEgg; - case 355: return Item::ChainCommandBlock; - case 522: return Item::ChainmailBoots; - case 520: return Item::ChainmailChestplate; - case 519: return Item::ChainmailHelmet; - case 521: return Item::ChainmailLeggings; - case 480: return Item::Charcoal; - case 149: return Item::Chest; - case 564: return Item::ChestMinecart; - case 621: return Item::Chicken; - case 642: return Item::ChickenSpawnEgg; - case 248: return Item::ChippedAnvil; - case 257: return Item::ChiseledQuartzBlock; - case 351: return Item::ChiseledRedSandstone; - case 69: return Item::ChiseledSandstone; - case 202: return Item::ChiseledStoneBricks; - case 143: return Item::ChorusFlower; - case 752: return Item::ChorusFruit; - case 142: return Item::ChorusPlant; - case 173: return Item::Clay; - case 557: return Item::ClayBall; - case 569: return Item::Clock; - case 479: return Item::Coal; - case 299: return Item::CoalBlock; - case 31: return Item::CoalOre; - case 10: return Item::CoarseDirt; - case 12: return Item::Cobblestone; - case 121: return Item::CobblestoneSlab; - case 157: return Item::CobblestoneStairs; - case 239: return Item::CobblestoneWall; - case 75: return Item::Cobweb; - case 580: return Item::CocoaBeans; - case 571: return Item::Cod; - case 554: return Item::CodBucket; - case 643: return Item::CodSpawnEgg; - case 237: return Item::CommandBlock; - case 732: return Item::CommandBlockMinecart; - case 468: return Item::Comparator; - case 567: return Item::Compass; - case 459: return Item::Conduit; - case 620: return Item::CookedBeef; - case 622: return Item::CookedChicken; - case 575: return Item::CookedCod; - case 734: return Item::CookedMutton; - case 537: return Item::CookedPorkchop; - case 722: return Item::CookedRabbit; - case 576: return Item::CookedSalmon; - case 612: return Item::Cookie; - case 644: return Item::CowSpawnEgg; - case 201: return Item::CrackedStoneBricks; - case 152: return Item::CraftingTable; - case 707: return Item::CreeperHead; - case 645: return Item::CreeperSpawnEgg; - case 352: return Item::CutRedSandstone; - case 70: return Item::CutSandstone; - case 744: return Item::CyanBanner; - case 605: return Item::CyanBed; - case 291: return Item::CyanCarpet; - case 404: return Item::CyanConcrete; - case 420: return Item::CyanConcretePowder; - case 583: return Item::CyanDye; - case 388: return Item::CyanGlazedTerracotta; - case 372: return Item::CyanShulkerBox; - case 320: return Item::CyanStainedGlass; - case 336: return Item::CyanStainedGlassPane; - case 272: return Item::CyanTerracotta; - case 91: return Item::CyanWool; - case 249: return Item::DamagedAnvil; - case 98: return Item::Dandelion; - case 588: return Item::YellowDye; - case 768: return Item::DarkOakBoat; - case 246: return Item::DarkOakButton; - case 466: return Item::DarkOakDoor; - case 180: return Item::DarkOakFence; - case 215: return Item::DarkOakFenceGate; - case 61: return Item::DarkOakLeaves; - case 37: return Item::DarkOakLog; - case 18: return Item::DarkOakPlanks; - case 165: return Item::DarkOakPressurePlate; - case 24: return Item::DarkOakSapling; - case 117: return Item::DarkOakSlab; - case 302: return Item::DarkOakStairs; - case 192: return Item::DarkOakTrapdoor; - case 55: return Item::DarkOakWood; - case 345: return Item::DarkPrismarine; - case 130: return Item::DarkPrismarineSlab; - case 348: return Item::DarkPrismarineStairs; - case 253: return Item::DaylightDetector; - case 443: return Item::DeadBrainCoral; - case 429: return Item::DeadBrainCoralBlock; - case 454: return Item::DeadBrainCoralFan; - case 444: return Item::DeadBubbleCoral; - case 430: return Item::DeadBubbleCoralBlock; - case 455: return Item::DeadBubbleCoralFan; - case 78: return Item::DeadBush; - case 445: return Item::DeadFireCoral; - case 431: return Item::DeadFireCoralBlock; - case 456: return Item::DeadFireCoralFan; - case 446: return Item::DeadHornCoral; - case 432: return Item::DeadHornCoralBlock; - case 457: return Item::DeadHornCoralFan; - case 447: return Item::DeadTubeCoral; - case 428: return Item::DeadTubeCoralBlock; - case 453: return Item::DeadTubeCoralFan; - case 773: return Item::DebugStick; - case 73: return Item::DetectorRail; - case 481: return Item::Diamond; - case 496: return Item::DiamondAxe; - case 151: return Item::DiamondBlock; - case 530: return Item::DiamondBoots; - case 528: return Item::DiamondChestplate; - case 527: return Item::DiamondHelmet; - case 510: return Item::DiamondHoe; - case 729: return Item::DiamondHorseArmor; - case 529: return Item::DiamondLeggings; - case 150: return Item::DiamondOre; - case 495: return Item::DiamondPickaxe; - case 494: return Item::DiamondShovel; - case 493: return Item::DiamondSword; - case 4: return Item::Diorite; - case 9: return Item::Dirt; - case 67: return Item::Dispenser; - case 646: return Item::DolphinSpawnEgg; - case 647: return Item::DonkeySpawnEgg; - case 757: return Item::DragonBreath; - case 227: return Item::DragonEgg; - case 708: return Item::DragonHead; - case 616: return Item::DriedKelp; - case 560: return Item::DriedKelpBlock; - case 262: return Item::Dropper; - case 648: return Item::DrownedSpawnEgg; - case 566: return Item::Egg; - case 649: return Item::ElderGuardianSpawnEgg; - case 763: return Item::Elytra; - case 694: return Item::Emerald; - case 233: return Item::EmeraldBlock; - case 230: return Item::EmeraldOre; - case 714: return Item::EnchantedBook; - case 540: return Item::EnchantedGoldenApple; - case 223: return Item::EnchantingTable; - case 751: return Item::EndCrystal; - case 224: return Item::EndPortalFrame; - case 141: return Item::EndRod; - case 225: return Item::EndStone; - case 226: return Item::EndStoneBricks; - case 231: return Item::EnderChest; - case 637: return Item::EnderEye; - case 624: return Item::EnderPearl; - case 650: return Item::EndermanSpawnEgg; - case 651: return Item::EndermiteSpawnEgg; - case 652: return Item::EvokerSpawnEgg; - case 690: return Item::ExperienceBottle; - case 153: return Item::Farmland; - case 505: return Item::Feather; - case 632: return Item::FermentedSpiderEye; - case 77: return Item::Fern; - case 613: return Item::FilledMap; - case 691: return Item::FireCharge; - case 441: return Item::FireCoral; - case 436: return Item::FireCoralBlock; - case 451: return Item::FireCoralFan; - case 712: return Item::FireworkRocket; - case 713: return Item::FireworkStar; - case 568: return Item::FishingRod; - case 535: return Item::Flint; - case 475: return Item::FlintAndSteel; - case 696: return Item::FlowerPot; - case 154: return Item::Furnace; - case 565: return Item::FurnaceMinecart; - case 653: return Item::GhastSpawnEgg; - case 626: return Item::GhastTear; - case 64: return Item::Glass; - case 630: return Item::GlassBottle; - case 207: return Item::GlassPane; - case 638: return Item::GlisteringMelonSlice; - case 185: return Item::Glowstone; - case 570: return Item::GlowstoneDust; - case 110: return Item::GoldBlock; - case 483: return Item::GoldIngot; - case 627: return Item::GoldNugget; - case 29: return Item::GoldOre; - case 539: return Item::GoldenApple; - case 503: return Item::GoldenAxe; - case 534: return Item::GoldenBoots; - case 702: return Item::GoldenCarrot; - case 532: return Item::GoldenChestplate; - case 531: return Item::GoldenHelmet; - case 511: return Item::GoldenHoe; - case 728: return Item::GoldenHorseArmor; - case 533: return Item::GoldenLeggings; - case 502: return Item::GoldenPickaxe; - case 501: return Item::GoldenShovel; - case 500: return Item::GoldenSword; - case 2: return Item::Granite; - case 76: return Item::Grass; - case 8: return Item::GrassBlock; - case 304: return Item::GrassPath; - case 28: return Item::Gravel; - case 742: return Item::GrayBanner; - case 603: return Item::GrayBed; - case 289: return Item::GrayCarpet; - case 402: return Item::GrayConcrete; - case 418: return Item::GrayConcretePowder; - case 585: return Item::GrayDye; - case 386: return Item::GrayGlazedTerracotta; - case 370: return Item::GrayShulkerBox; - case 318: return Item::GrayStainedGlass; - case 334: return Item::GrayStainedGlassPane; - case 270: return Item::GrayTerracotta; - case 89: return Item::GrayWool; - case 748: return Item::GreenBanner; - case 609: return Item::GreenBed; - case 295: return Item::GreenCarpet; - case 408: return Item::GreenConcrete; - case 424: return Item::GreenConcretePowder; - case 392: return Item::GreenGlazedTerracotta; - case 376: return Item::GreenShulkerBox; - case 324: return Item::GreenStainedGlass; - case 340: return Item::GreenStainedGlassPane; - case 276: return Item::GreenTerracotta; - case 95: return Item::GreenWool; - case 654: return Item::GuardianSpawnEgg; - case 506: return Item::Gunpowder; - case 281: return Item::HayBale; - case 789: return Item::HeartOfTheSea; - case 252: return Item::HeavyWeightedPressurePlate; - case 256: return Item::Hopper; - case 718: return Item::HopperMinecart; - case 442: return Item::HornCoral; - case 437: return Item::HornCoralBlock; - case 452: return Item::HornCoralFan; - case 655: return Item::HorseSpawnEgg; - case 656: return Item::HuskSpawnEgg; - case 170: return Item::Ice; - case 198: return Item::InfestedChiseledStoneBricks; - case 194: return Item::InfestedCobblestone; - case 197: return Item::InfestedCrackedStoneBricks; - case 196: return Item::InfestedMossyStoneBricks; - case 193: return Item::InfestedStone; - case 195: return Item::InfestedStoneBricks; - case 577: return Item::InkSac; - case 474: return Item::IronAxe; - case 206: return Item::IronBars; - case 111: return Item::IronBlock; - case 526: return Item::IronBoots; - case 524: return Item::IronChestplate; - case 460: return Item::IronDoor; - case 523: return Item::IronHelmet; - case 509: return Item::IronHoe; - case 727: return Item::IronHorseArmor; - case 482: return Item::IronIngot; - case 525: return Item::IronLeggings; - case 771: return Item::IronNugget; - case 30: return Item::IronOre; - case 473: return Item::IronPickaxe; - case 472: return Item::IronShovel; - case 484: return Item::IronSword; - case 280: return Item::IronTrapdoor; - case 695: return Item::ItemFrame; - case 186: return Item::JackOLantern; - case 174: return Item::Jukebox; - case 766: return Item::JungleBoat; - case 244: return Item::JungleButton; - case 464: return Item::JungleDoor; - case 178: return Item::JungleFence; - case 213: return Item::JungleFenceGate; - case 59: return Item::JungleLeaves; - case 35: return Item::JungleLog; - case 16: return Item::JunglePlanks; - case 163: return Item::JunglePressurePlate; - case 22: return Item::JungleSapling; - case 115: return Item::JungleSlab; - case 236: return Item::JungleStairs; - case 190: return Item::JungleTrapdoor; - case 53: return Item::JungleWood; - case 559: return Item::Kelp; - case 772: return Item::KnowledgeBook; - case 155: return Item::Ladder; - case 66: return Item::LapisBlock; - case 581: return Item::LapisLazuli; - case 65: return Item::LapisOre; - case 310: return Item::LargeFern; - case 544: return Item::LavaBucket; - case 730: return Item::Lead; - case 550: return Item::Leather; - case 518: return Item::LeatherBoots; - case 516: return Item::LeatherChestplate; - case 515: return Item::LeatherHelmet; - case 517: return Item::LeatherLeggings; - case 158: return Item::Lever; - case 738: return Item::LightBlueBanner; - case 599: return Item::LightBlueBed; - case 285: return Item::LightBlueCarpet; - case 398: return Item::LightBlueConcrete; - case 414: return Item::LightBlueConcretePowder; - case 589: return Item::LightBlueDye; - case 382: return Item::LightBlueGlazedTerracotta; - case 366: return Item::LightBlueShulkerBox; - case 314: return Item::LightBlueStainedGlass; - case 330: return Item::LightBlueStainedGlassPane; - case 266: return Item::LightBlueTerracotta; - case 85: return Item::LightBlueWool; - case 743: return Item::LightGrayBanner; - case 604: return Item::LightGrayBed; - case 290: return Item::LightGrayCarpet; - case 403: return Item::LightGrayConcrete; - case 419: return Item::LightGrayConcretePowder; - case 584: return Item::LightGrayDye; - case 387: return Item::LightGrayGlazedTerracotta; - case 371: return Item::LightGrayShulkerBox; - case 319: return Item::LightGrayStainedGlass; - case 335: return Item::LightGrayStainedGlassPane; - case 271: return Item::LightGrayTerracotta; - case 90: return Item::LightGrayWool; - case 251: return Item::LightWeightedPressurePlate; - case 306: return Item::Lilac; - case 219: return Item::LilyPad; - case 740: return Item::LimeBanner; - case 601: return Item::LimeBed; - case 287: return Item::LimeCarpet; - case 400: return Item::LimeConcrete; - case 416: return Item::LimeConcretePowder; - case 587: return Item::LimeDye; - case 384: return Item::LimeGlazedTerracotta; - case 368: return Item::LimeShulkerBox; - case 316: return Item::LimeStainedGlass; - case 332: return Item::LimeStainedGlassPane; - case 268: return Item::LimeTerracotta; - case 87: return Item::LimeWool; - case 761: return Item::LingeringPotion; - case 657: return Item::LlamaSpawnEgg; - case 737: return Item::MagentaBanner; - case 598: return Item::MagentaBed; - case 284: return Item::MagentaCarpet; - case 397: return Item::MagentaConcrete; - case 413: return Item::MagentaConcretePowder; - case 590: return Item::MagentaDye; - case 381: return Item::MagentaGlazedTerracotta; - case 365: return Item::MagentaShulkerBox; - case 313: return Item::MagentaStainedGlass; - case 329: return Item::MagentaStainedGlassPane; - case 265: return Item::MagentaTerracotta; - case 84: return Item::MagentaWool; - case 356: return Item::MagmaBlock; - case 634: return Item::MagmaCream; - case 658: return Item::MagmaCubeSpawnEgg; - case 701: return Item::Map; - case 208: return Item::Melon; - case 618: return Item::MelonSeeds; - case 615: return Item::MelonSlice; - case 551: return Item::MilkBucket; - case 545: return Item::Minecart; - case 659: return Item::MooshroomSpawnEgg; - case 138: return Item::MossyCobblestone; - case 240: return Item::MossyCobblestoneWall; - case 200: return Item::MossyStoneBricks; - case 660: return Item::MuleSpawnEgg; - case 205: return Item::MushroomStem; - case 499: return Item::MushroomStew; - case 784: return Item::MusicDisc11; - case 774: return Item::MusicDisc13; - case 776: return Item::MusicDiscBlocks; - case 775: return Item::MusicDiscCat; - case 777: return Item::MusicDiscChirp; - case 778: return Item::MusicDiscFar; - case 779: return Item::MusicDiscMall; - case 780: return Item::MusicDiscMellohi; - case 781: return Item::MusicDiscStal; - case 782: return Item::MusicDiscStrad; - case 785: return Item::MusicDiscWait; - case 783: return Item::MusicDiscWard; - case 733: return Item::Mutton; - case 218: return Item::Mycelium; - case 731: return Item::NameTag; - case 788: return Item::NautilusShell; - case 715: return Item::NetherBrick; - case 221: return Item::NetherBrickFence; - case 124: return Item::NetherBrickSlab; - case 222: return Item::NetherBrickStairs; - case 220: return Item::NetherBricks; - case 255: return Item::NetherQuartzOre; - case 710: return Item::NetherStar; - case 628: return Item::NetherWart; - case 357: return Item::NetherWartBlock; - case 183: return Item::Netherrack; - case 71: return Item::NoteBlock; - case 549: return Item::OakBoat; - case 241: return Item::OakButton; - case 461: return Item::OakDoor; - case 175: return Item::OakFence; - case 210: return Item::OakFenceGate; - case 56: return Item::OakLeaves; - case 32: return Item::OakLog; - case 13: return Item::OakPlanks; - case 160: return Item::OakPressurePlate; - case 19: return Item::OakSapling; - case 112: return Item::OakSlab; - case 148: return Item::OakStairs; - case 187: return Item::OakTrapdoor; - case 50: return Item::OakWood; - case 361: return Item::Observer; - case 139: return Item::Obsidian; - case 661: return Item::OcelotSpawnEgg; - case 736: return Item::OrangeBanner; - case 597: return Item::OrangeBed; - case 283: return Item::OrangeCarpet; - case 396: return Item::OrangeConcrete; - case 412: return Item::OrangeConcretePowder; - case 591: return Item::OrangeDye; - case 380: return Item::OrangeGlazedTerracotta; - case 364: return Item::OrangeShulkerBox; - case 312: return Item::OrangeStainedGlass; - case 328: return Item::OrangeStainedGlassPane; - case 264: return Item::OrangeTerracotta; - case 104: return Item::OrangeTulip; - case 83: return Item::OrangeWool; - case 107: return Item::OxeyeDaisy; - case 300: return Item::PackedIce; - case 538: return Item::Painting; - case 561: return Item::Paper; - case 662: return Item::ParrotSpawnEgg; - case 308: return Item::Peony; - case 120: return Item::PetrifiedOakSlab; - case 787: return Item::PhantomMembrane; - case 663: return Item::PhantomSpawnEgg; - case 664: return Item::PigSpawnEgg; - case 741: return Item::PinkBanner; - case 602: return Item::PinkBed; - case 288: return Item::PinkCarpet; - case 401: return Item::PinkConcrete; - case 417: return Item::PinkConcretePowder; - case 586: return Item::PinkDye; - case 385: return Item::PinkGlazedTerracotta; - case 369: return Item::PinkShulkerBox; - case 317: return Item::PinkStainedGlass; - case 333: return Item::PinkStainedGlassPane; - case 269: return Item::PinkTerracotta; - case 106: return Item::PinkTulip; - case 88: return Item::PinkWool; - case 81: return Item::Piston; - case 705: return Item::PlayerHead; - case 11: return Item::Podzol; - case 700: return Item::PoisonousPotato; - case 665: return Item::PolarBearSpawnEgg; - case 7: return Item::PolishedAndesite; - case 5: return Item::PolishedDiorite; - case 3: return Item::PolishedGranite; - case 753: return Item::PoppedChorusFruit; - case 99: return Item::Poppy; - case 536: return Item::Porkchop; - case 698: return Item::Potato; - case 629: return Item::Potion; - case 72: return Item::PoweredRail; - case 343: return Item::Prismarine; - case 129: return Item::PrismarineBrickSlab; - case 347: return Item::PrismarineBrickStairs; - case 344: return Item::PrismarineBricks; - case 720: return Item::PrismarineCrystals; - case 719: return Item::PrismarineShard; - case 128: return Item::PrismarineSlab; - case 346: return Item::PrismarineStairs; - case 574: return Item::Pufferfish; - case 552: return Item::PufferfishBucket; - case 666: return Item::PufferfishSpawnEgg; - case 181: return Item::Pumpkin; - case 711: return Item::PumpkinPie; - case 617: return Item::PumpkinSeeds; - case 745: return Item::PurpleBanner; - case 606: return Item::PurpleBed; - case 292: return Item::PurpleCarpet; - case 405: return Item::PurpleConcrete; - case 421: return Item::PurpleConcretePowder; - case 582: return Item::PurpleDye; - case 389: return Item::PurpleGlazedTerracotta; - case 373: return Item::PurpleShulkerBox; - case 321: return Item::PurpleStainedGlass; - case 337: return Item::PurpleStainedGlassPane; - case 273: return Item::PurpleTerracotta; - case 92: return Item::PurpleWool; - case 144: return Item::PurpurBlock; - case 145: return Item::PurpurPillar; - case 127: return Item::PurpurSlab; - case 146: return Item::PurpurStairs; - case 716: return Item::Quartz; - case 258: return Item::QuartzBlock; - case 259: return Item::QuartzPillar; - case 125: return Item::QuartzSlab; - case 260: return Item::QuartzStairs; - case 721: return Item::Rabbit; - case 724: return Item::RabbitFoot; - case 725: return Item::RabbitHide; - case 667: return Item::RabbitSpawnEgg; - case 723: return Item::RabbitStew; - case 156: return Item::Rail; - case 749: return Item::RedBanner; - case 610: return Item::RedBed; - case 296: return Item::RedCarpet; - case 409: return Item::RedConcrete; - case 425: return Item::RedConcretePowder; - case 393: return Item::RedGlazedTerracotta; - case 109: return Item::RedMushroom; - case 204: return Item::RedMushroomBlock; - case 358: return Item::RedNetherBricks; - case 27: return Item::RedSand; - case 350: return Item::RedSandstone; - case 126: return Item::RedSandstoneSlab; - case 353: return Item::RedSandstoneStairs; - case 377: return Item::RedShulkerBox; - case 325: return Item::RedStainedGlass; - case 341: return Item::RedStainedGlassPane; - case 277: return Item::RedTerracotta; - case 103: return Item::RedTulip; - case 96: return Item::RedWool; - case 547: return Item::Redstone; - case 254: return Item::RedstoneBlock; - case 228: return Item::RedstoneLamp; - case 166: return Item::RedstoneOre; - case 167: return Item::RedstoneTorch; - case 467: return Item::Repeater; - case 354: return Item::RepeatingCommandBlock; - case 307: return Item::RoseBush; - case 578: return Item::RedDye; - case 623: return Item::RottenFlesh; - case 546: return Item::Saddle; - case 572: return Item::Salmon; - case 553: return Item::SalmonBucket; - case 668: return Item::SalmonSpawnEgg; - case 26: return Item::Sand; - case 68: return Item::Sandstone; - case 119: return Item::SandstoneSlab; - case 229: return Item::SandstoneStairs; - case 471: return Item::Scute; - case 349: return Item::SeaLantern; - case 80: return Item::SeaPickle; - case 79: return Item::Seagrass; - case 614: return Item::Shears; - case 669: return Item::SheepSpawnEgg; - case 762: return Item::Shield; - case 362: return Item::ShulkerBox; - case 770: return Item::ShulkerShell; - case 670: return Item::ShulkerSpawnEgg; - case 541: return Item::OakSign; - case 671: return Item::SilverfishSpawnEgg; - case 673: return Item::SkeletonHorseSpawnEgg; - case 703: return Item::SkeletonSkull; - case 672: return Item::SkeletonSpawnEgg; - case 563: return Item::SlimeBall; - case 303: return Item::SlimeBlock; - case 674: return Item::SlimeSpawnEgg; - case 131: return Item::SmoothQuartz; - case 132: return Item::SmoothRedSandstone; - case 133: return Item::SmoothSandstone; - case 134: return Item::SmoothStone; - case 169: return Item::Snow; - case 171: return Item::SnowBlock; - case 548: return Item::Snowball; - case 184: return Item::SoulSand; - case 147: return Item::Spawner; - case 759: return Item::SpectralArrow; - case 631: return Item::SpiderEye; - case 675: return Item::SpiderSpawnEgg; - case 758: return Item::SplashPotion; - case 62: return Item::Sponge; - case 764: return Item::SpruceBoat; - case 242: return Item::SpruceButton; - case 462: return Item::SpruceDoor; - case 176: return Item::SpruceFence; - case 211: return Item::SpruceFenceGate; - case 57: return Item::SpruceLeaves; - case 33: return Item::SpruceLog; - case 14: return Item::SprucePlanks; - case 161: return Item::SprucePressurePlate; - case 20: return Item::SpruceSapling; - case 113: return Item::SpruceSlab; - case 234: return Item::SpruceStairs; - case 188: return Item::SpruceTrapdoor; - case 51: return Item::SpruceWood; - case 676: return Item::SquidSpawnEgg; - case 497: return Item::Stick; - case 74: return Item::StickyPiston; - case 1: return Item::Stone; - case 492: return Item::StoneAxe; - case 123: return Item::StoneBrickSlab; - case 217: return Item::StoneBrickStairs; - case 199: return Item::StoneBricks; - case 168: return Item::StoneButton; - case 508: return Item::StoneHoe; - case 491: return Item::StonePickaxe; - case 159: return Item::StonePressurePlate; - case 490: return Item::StoneShovel; - case 118: return Item::StoneSlab; - case 489: return Item::StoneSword; - case 677: return Item::StraySpawnEgg; - case 504: return Item::String; - case 42: return Item::StrippedAcaciaLog; - case 48: return Item::StrippedAcaciaWood; - case 40: return Item::StrippedBirchLog; - case 46: return Item::StrippedBirchWood; - case 43: return Item::StrippedDarkOakLog; - case 49: return Item::StrippedDarkOakWood; - case 41: return Item::StrippedJungleLog; - case 47: return Item::StrippedJungleWood; - case 38: return Item::StrippedOakLog; - case 44: return Item::StrippedOakWood; - case 39: return Item::StrippedSpruceLog; - case 45: return Item::StrippedSpruceWood; - case 469: return Item::StructureBlock; - case 360: return Item::StructureVoid; - case 594: return Item::Sugar; - case 558: return Item::SugarCane; - case 305: return Item::Sunflower; - case 309: return Item::TallGrass; - case 298: return Item::Terracotta; - case 760: return Item::TippedArrow; - case 136: return Item::TNT; - case 717: return Item::TNTMinecart; - case 140: return Item::Torch; - case 769: return Item::TotemOfUndying; - case 250: return Item::TrappedChest; - case 786: return Item::Trident; - case 232: return Item::TripwireHook; - case 573: return Item::TropicalFish; - case 555: return Item::TropicalFishBucket; - case 678: return Item::TropicalFishSpawnEgg; - case 438: return Item::TubeCoral; - case 433: return Item::TubeCoralBlock; - case 448: return Item::TubeCoralFan; - case 427: return Item::TurtleEgg; - case 470: return Item::TurtleHelmet; - case 679: return Item::TurtleSpawnEgg; - case 680: return Item::VexSpawnEgg; - case 681: return Item::VillagerSpawnEgg; - case 682: return Item::VindicatorSpawnEgg; - case 209: return Item::Vine; - case 543: return Item::WaterBucket; - case 63: return Item::WetSponge; - case 513: return Item::Wheat; - case 512: return Item::WheatSeeds; - case 735: return Item::WhiteBanner; - case 596: return Item::WhiteBed; - case 282: return Item::WhiteCarpet; - case 395: return Item::WhiteConcrete; - case 411: return Item::WhiteConcretePowder; - case 379: return Item::WhiteGlazedTerracotta; - case 363: return Item::WhiteShulkerBox; - case 311: return Item::WhiteStainedGlass; - case 327: return Item::WhiteStainedGlassPane; - case 263: return Item::WhiteTerracotta; - case 105: return Item::WhiteTulip; - case 82: return Item::WhiteWool; - case 683: return Item::WitchSpawnEgg; - case 704: return Item::WitherSkeletonSkull; - case 684: return Item::WitherSkeletonSpawnEgg; - case 685: return Item::WolfSpawnEgg; - case 488: return Item::WoodenAxe; - case 507: return Item::WoodenHoe; - case 487: return Item::WoodenPickaxe; - case 486: return Item::WoodenShovel; - case 485: return Item::WoodenSword; - case 692: return Item::WritableBook; - case 693: return Item::WrittenBook; - case 739: return Item::YellowBanner; - case 600: return Item::YellowBed; - case 286: return Item::YellowCarpet; - case 399: return Item::YellowConcrete; - case 415: return Item::YellowConcretePowder; - case 383: return Item::YellowGlazedTerracotta; - case 367: return Item::YellowShulkerBox; - case 315: return Item::YellowStainedGlass; - case 331: return Item::YellowStainedGlassPane; - case 267: return Item::YellowTerracotta; - case 86: return Item::YellowWool; - case 706: return Item::ZombieHead; - case 687: return Item::ZombieHorseSpawnEgg; - case 688: return Item::ZombiePigmanSpawnEgg; - case 686: return Item::ZombieSpawnEgg; - case 689: return Item::ZombieVillagerSpawnEgg; - default: return Item::Air; - } + case 767: return Item::AcaciaBoat; + case 245: return Item::AcaciaButton; + case 465: return Item::AcaciaDoor; + case 179: return Item::AcaciaFence; + case 214: return Item::AcaciaFenceGate; + case 60: return Item::AcaciaLeaves; + case 36: return Item::AcaciaLog; + case 17: return Item::AcaciaPlanks; + case 164: return Item::AcaciaPressurePlate; + case 23: return Item::AcaciaSapling; + case 116: return Item::AcaciaSlab; + case 301: return Item::AcaciaStairs; + case 191: return Item::AcaciaTrapdoor; + case 54: return Item::AcaciaWood; + case 261: return Item::ActivatorRail; + case -0: return Item::Air; + case 101: return Item::Allium; + case 6: return Item::Andesite; + case 247: return Item::Anvil; + case 476: return Item::Apple; + case 726: return Item::ArmorStand; + case 478: return Item::Arrow; + case 102: return Item::AzureBluet; + case 699: return Item::BakedPotato; + case 279: return Item::Barrier; + case 639: return Item::BatSpawnEgg; + case 238: return Item::Beacon; + case 25: return Item::Bedrock; + case 619: return Item::Beef; + case 754: return Item::Beetroot; + case 755: return Item::BeetrootSeeds; + case 756: return Item::BeetrootSoup; + case 765: return Item::BirchBoat; + case 243: return Item::BirchButton; + case 463: return Item::BirchDoor; + case 177: return Item::BirchFence; + case 212: return Item::BirchFenceGate; + case 58: return Item::BirchLeaves; + case 34: return Item::BirchLog; + case 15: return Item::BirchPlanks; + case 162: return Item::BirchPressurePlate; + case 21: return Item::BirchSapling; + case 114: return Item::BirchSlab; + case 235: return Item::BirchStairs; + case 189: return Item::BirchTrapdoor; + case 52: return Item::BirchWood; + case 750: return Item::BlackBanner; + case 611: return Item::BlackBed; + case 297: return Item::BlackCarpet; + case 410: return Item::BlackConcrete; + case 426: return Item::BlackConcretePowder; + case 394: return Item::BlackGlazedTerracotta; + case 378: return Item::BlackShulkerBox; + case 326: return Item::BlackStainedGlass; + case 342: return Item::BlackStainedGlassPane; + case 278: return Item::BlackTerracotta; + case 97: return Item::BlackWool; + case 633: return Item::BlazePowder; + case 625: return Item::BlazeRod; + case 640: return Item::BlazeSpawnEgg; + case 746: return Item::BlueBanner; + case 607: return Item::BlueBed; + case 293: return Item::BlueCarpet; + case 406: return Item::BlueConcrete; + case 422: return Item::BlueConcretePowder; + case 390: return Item::BlueGlazedTerracotta; + case 458: return Item::BlueIce; + case 100: return Item::BlueOrchid; + case 374: return Item::BlueShulkerBox; + case 322: return Item::BlueStainedGlass; + case 338: return Item::BlueStainedGlassPane; + case 274: return Item::BlueTerracotta; + case 93: return Item::BlueWool; + case 593: return Item::Bone; + case 359: return Item::BoneBlock; + case 592: return Item::BoneMeal; + case 562: return Item::Book; + case 137: return Item::Bookshelf; + case 477: return Item::Bow; + case 498: return Item::Bowl; + case 439: return Item::BrainCoral; + case 434: return Item::BrainCoralBlock; + case 449: return Item::BrainCoralFan; + case 514: return Item::Bread; + case 635: return Item::BrewingStand; + case 556: return Item::Brick; + case 122: return Item::BrickSlab; + case 216: return Item::BrickStairs; + case 135: return Item::Bricks; + case 747: return Item::BrownBanner; + case 608: return Item::BrownBed; + case 294: return Item::BrownCarpet; + case 407: return Item::BrownConcrete; + case 423: return Item::BrownConcretePowder; + case 391: return Item::BrownGlazedTerracotta; + case 108: return Item::BrownMushroom; + case 203: return Item::BrownMushroomBlock; + case 375: return Item::BrownShulkerBox; + case 323: return Item::BrownStainedGlass; + case 339: return Item::BrownStainedGlassPane; + case 275: return Item::BrownTerracotta; + case 94: return Item::BrownWool; + case 440: return Item::BubbleCoral; + case 435: return Item::BubbleCoralBlock; + case 450: return Item::BubbleCoralFan; + case 542: return Item::Bucket; + case 172: return Item::Cactus; + case 579: return Item::GreenDye; + case 595: return Item::Cake; + case 697: return Item::Carrot; + case 709: return Item::CarrotOnAStick; + case 182: return Item::CarvedPumpkin; + case 636: return Item::Cauldron; + case 641: return Item::CaveSpiderSpawnEgg; + case 355: return Item::ChainCommandBlock; + case 522: return Item::ChainmailBoots; + case 520: return Item::ChainmailChestplate; + case 519: return Item::ChainmailHelmet; + case 521: return Item::ChainmailLeggings; + case 480: return Item::Charcoal; + case 149: return Item::Chest; + case 564: return Item::ChestMinecart; + case 621: return Item::Chicken; + case 642: return Item::ChickenSpawnEgg; + case 248: return Item::ChippedAnvil; + case 257: return Item::ChiseledQuartzBlock; + case 351: return Item::ChiseledRedSandstone; + case 69: return Item::ChiseledSandstone; + case 202: return Item::ChiseledStoneBricks; + case 143: return Item::ChorusFlower; + case 752: return Item::ChorusFruit; + case 142: return Item::ChorusPlant; + case 173: return Item::Clay; + case 557: return Item::ClayBall; + case 569: return Item::Clock; + case 479: return Item::Coal; + case 299: return Item::CoalBlock; + case 31: return Item::CoalOre; + case 10: return Item::CoarseDirt; + case 12: return Item::Cobblestone; + case 121: return Item::CobblestoneSlab; + case 157: return Item::CobblestoneStairs; + case 239: return Item::CobblestoneWall; + case 75: return Item::Cobweb; + case 580: return Item::CocoaBeans; + case 571: return Item::Cod; + case 554: return Item::CodBucket; + case 643: return Item::CodSpawnEgg; + case 237: return Item::CommandBlock; + case 732: return Item::CommandBlockMinecart; + case 468: return Item::Comparator; + case 567: return Item::Compass; + case 459: return Item::Conduit; + case 620: return Item::CookedBeef; + case 622: return Item::CookedChicken; + case 575: return Item::CookedCod; + case 734: return Item::CookedMutton; + case 537: return Item::CookedPorkchop; + case 722: return Item::CookedRabbit; + case 576: return Item::CookedSalmon; + case 612: return Item::Cookie; + case 644: return Item::CowSpawnEgg; + case 201: return Item::CrackedStoneBricks; + case 152: return Item::CraftingTable; + case 707: return Item::CreeperHead; + case 645: return Item::CreeperSpawnEgg; + case 352: return Item::CutRedSandstone; + case 70: return Item::CutSandstone; + case 744: return Item::CyanBanner; + case 605: return Item::CyanBed; + case 291: return Item::CyanCarpet; + case 404: return Item::CyanConcrete; + case 420: return Item::CyanConcretePowder; + case 583: return Item::CyanDye; + case 388: return Item::CyanGlazedTerracotta; + case 372: return Item::CyanShulkerBox; + case 320: return Item::CyanStainedGlass; + case 336: return Item::CyanStainedGlassPane; + case 272: return Item::CyanTerracotta; + case 91: return Item::CyanWool; + case 249: return Item::DamagedAnvil; + case 98: return Item::Dandelion; + case 588: return Item::YellowDye; + case 768: return Item::DarkOakBoat; + case 246: return Item::DarkOakButton; + case 466: return Item::DarkOakDoor; + case 180: return Item::DarkOakFence; + case 215: return Item::DarkOakFenceGate; + case 61: return Item::DarkOakLeaves; + case 37: return Item::DarkOakLog; + case 18: return Item::DarkOakPlanks; + case 165: return Item::DarkOakPressurePlate; + case 24: return Item::DarkOakSapling; + case 117: return Item::DarkOakSlab; + case 302: return Item::DarkOakStairs; + case 192: return Item::DarkOakTrapdoor; + case 55: return Item::DarkOakWood; + case 345: return Item::DarkPrismarine; + case 130: return Item::DarkPrismarineSlab; + case 348: return Item::DarkPrismarineStairs; + case 253: return Item::DaylightDetector; + case 443: return Item::DeadBrainCoral; + case 429: return Item::DeadBrainCoralBlock; + case 454: return Item::DeadBrainCoralFan; + case 444: return Item::DeadBubbleCoral; + case 430: return Item::DeadBubbleCoralBlock; + case 455: return Item::DeadBubbleCoralFan; + case 78: return Item::DeadBush; + case 445: return Item::DeadFireCoral; + case 431: return Item::DeadFireCoralBlock; + case 456: return Item::DeadFireCoralFan; + case 446: return Item::DeadHornCoral; + case 432: return Item::DeadHornCoralBlock; + case 457: return Item::DeadHornCoralFan; + case 447: return Item::DeadTubeCoral; + case 428: return Item::DeadTubeCoralBlock; + case 453: return Item::DeadTubeCoralFan; + case 773: return Item::DebugStick; + case 73: return Item::DetectorRail; + case 481: return Item::Diamond; + case 496: return Item::DiamondAxe; + case 151: return Item::DiamondBlock; + case 530: return Item::DiamondBoots; + case 528: return Item::DiamondChestplate; + case 527: return Item::DiamondHelmet; + case 510: return Item::DiamondHoe; + case 729: return Item::DiamondHorseArmor; + case 529: return Item::DiamondLeggings; + case 150: return Item::DiamondOre; + case 495: return Item::DiamondPickaxe; + case 494: return Item::DiamondShovel; + case 493: return Item::DiamondSword; + case 4: return Item::Diorite; + case 9: return Item::Dirt; + case 67: return Item::Dispenser; + case 646: return Item::DolphinSpawnEgg; + case 647: return Item::DonkeySpawnEgg; + case 757: return Item::DragonBreath; + case 227: return Item::DragonEgg; + case 708: return Item::DragonHead; + case 616: return Item::DriedKelp; + case 560: return Item::DriedKelpBlock; + case 262: return Item::Dropper; + case 648: return Item::DrownedSpawnEgg; + case 566: return Item::Egg; + case 649: return Item::ElderGuardianSpawnEgg; + case 763: return Item::Elytra; + case 694: return Item::Emerald; + case 233: return Item::EmeraldBlock; + case 230: return Item::EmeraldOre; + case 714: return Item::EnchantedBook; + case 540: return Item::EnchantedGoldenApple; + case 223: return Item::EnchantingTable; + case 751: return Item::EndCrystal; + case 224: return Item::EndPortalFrame; + case 141: return Item::EndRod; + case 225: return Item::EndStone; + case 226: return Item::EndStoneBricks; + case 231: return Item::EnderChest; + case 637: return Item::EnderEye; + case 624: return Item::EnderPearl; + case 650: return Item::EndermanSpawnEgg; + case 651: return Item::EndermiteSpawnEgg; + case 652: return Item::EvokerSpawnEgg; + case 690: return Item::ExperienceBottle; + case 153: return Item::Farmland; + case 505: return Item::Feather; + case 632: return Item::FermentedSpiderEye; + case 77: return Item::Fern; + case 613: return Item::FilledMap; + case 691: return Item::FireCharge; + case 441: return Item::FireCoral; + case 436: return Item::FireCoralBlock; + case 451: return Item::FireCoralFan; + case 712: return Item::FireworkRocket; + case 713: return Item::FireworkStar; + case 568: return Item::FishingRod; + case 535: return Item::Flint; + case 475: return Item::FlintAndSteel; + case 696: return Item::FlowerPot; + case 154: return Item::Furnace; + case 565: return Item::FurnaceMinecart; + case 653: return Item::GhastSpawnEgg; + case 626: return Item::GhastTear; + case 64: return Item::Glass; + case 630: return Item::GlassBottle; + case 207: return Item::GlassPane; + case 638: return Item::GlisteringMelonSlice; + case 185: return Item::Glowstone; + case 570: return Item::GlowstoneDust; + case 110: return Item::GoldBlock; + case 483: return Item::GoldIngot; + case 627: return Item::GoldNugget; + case 29: return Item::GoldOre; + case 539: return Item::GoldenApple; + case 503: return Item::GoldenAxe; + case 534: return Item::GoldenBoots; + case 702: return Item::GoldenCarrot; + case 532: return Item::GoldenChestplate; + case 531: return Item::GoldenHelmet; + case 511: return Item::GoldenHoe; + case 728: return Item::GoldenHorseArmor; + case 533: return Item::GoldenLeggings; + case 502: return Item::GoldenPickaxe; + case 501: return Item::GoldenShovel; + case 500: return Item::GoldenSword; + case 2: return Item::Granite; + case 76: return Item::Grass; + case 8: return Item::GrassBlock; + case 304: return Item::GrassPath; + case 28: return Item::Gravel; + case 742: return Item::GrayBanner; + case 603: return Item::GrayBed; + case 289: return Item::GrayCarpet; + case 402: return Item::GrayConcrete; + case 418: return Item::GrayConcretePowder; + case 585: return Item::GrayDye; + case 386: return Item::GrayGlazedTerracotta; + case 370: return Item::GrayShulkerBox; + case 318: return Item::GrayStainedGlass; + case 334: return Item::GrayStainedGlassPane; + case 270: return Item::GrayTerracotta; + case 89: return Item::GrayWool; + case 748: return Item::GreenBanner; + case 609: return Item::GreenBed; + case 295: return Item::GreenCarpet; + case 408: return Item::GreenConcrete; + case 424: return Item::GreenConcretePowder; + case 392: return Item::GreenGlazedTerracotta; + case 376: return Item::GreenShulkerBox; + case 324: return Item::GreenStainedGlass; + case 340: return Item::GreenStainedGlassPane; + case 276: return Item::GreenTerracotta; + case 95: return Item::GreenWool; + case 654: return Item::GuardianSpawnEgg; + case 506: return Item::Gunpowder; + case 281: return Item::HayBale; + case 789: return Item::HeartOfTheSea; + case 252: return Item::HeavyWeightedPressurePlate; + case 256: return Item::Hopper; + case 718: return Item::HopperMinecart; + case 442: return Item::HornCoral; + case 437: return Item::HornCoralBlock; + case 452: return Item::HornCoralFan; + case 655: return Item::HorseSpawnEgg; + case 656: return Item::HuskSpawnEgg; + case 170: return Item::Ice; + case 198: return Item::InfestedChiseledStoneBricks; + case 194: return Item::InfestedCobblestone; + case 197: return Item::InfestedCrackedStoneBricks; + case 196: return Item::InfestedMossyStoneBricks; + case 193: return Item::InfestedStone; + case 195: return Item::InfestedStoneBricks; + case 577: return Item::InkSac; + case 474: return Item::IronAxe; + case 206: return Item::IronBars; + case 111: return Item::IronBlock; + case 526: return Item::IronBoots; + case 524: return Item::IronChestplate; + case 460: return Item::IronDoor; + case 523: return Item::IronHelmet; + case 509: return Item::IronHoe; + case 727: return Item::IronHorseArmor; + case 482: return Item::IronIngot; + case 525: return Item::IronLeggings; + case 771: return Item::IronNugget; + case 30: return Item::IronOre; + case 473: return Item::IronPickaxe; + case 472: return Item::IronShovel; + case 484: return Item::IronSword; + case 280: return Item::IronTrapdoor; + case 695: return Item::ItemFrame; + case 186: return Item::JackOLantern; + case 174: return Item::Jukebox; + case 766: return Item::JungleBoat; + case 244: return Item::JungleButton; + case 464: return Item::JungleDoor; + case 178: return Item::JungleFence; + case 213: return Item::JungleFenceGate; + case 59: return Item::JungleLeaves; + case 35: return Item::JungleLog; + case 16: return Item::JunglePlanks; + case 163: return Item::JunglePressurePlate; + case 22: return Item::JungleSapling; + case 115: return Item::JungleSlab; + case 236: return Item::JungleStairs; + case 190: return Item::JungleTrapdoor; + case 53: return Item::JungleWood; + case 559: return Item::Kelp; + case 772: return Item::KnowledgeBook; + case 155: return Item::Ladder; + case 66: return Item::LapisBlock; + case 581: return Item::LapisLazuli; + case 65: return Item::LapisOre; + case 310: return Item::LargeFern; + case 544: return Item::LavaBucket; + case 730: return Item::Lead; + case 550: return Item::Leather; + case 518: return Item::LeatherBoots; + case 516: return Item::LeatherChestplate; + case 515: return Item::LeatherHelmet; + case 517: return Item::LeatherLeggings; + case 158: return Item::Lever; + case 738: return Item::LightBlueBanner; + case 599: return Item::LightBlueBed; + case 285: return Item::LightBlueCarpet; + case 398: return Item::LightBlueConcrete; + case 414: return Item::LightBlueConcretePowder; + case 589: return Item::LightBlueDye; + case 382: return Item::LightBlueGlazedTerracotta; + case 366: return Item::LightBlueShulkerBox; + case 314: return Item::LightBlueStainedGlass; + case 330: return Item::LightBlueStainedGlassPane; + case 266: return Item::LightBlueTerracotta; + case 85: return Item::LightBlueWool; + case 743: return Item::LightGrayBanner; + case 604: return Item::LightGrayBed; + case 290: return Item::LightGrayCarpet; + case 403: return Item::LightGrayConcrete; + case 419: return Item::LightGrayConcretePowder; + case 584: return Item::LightGrayDye; + case 387: return Item::LightGrayGlazedTerracotta; + case 371: return Item::LightGrayShulkerBox; + case 319: return Item::LightGrayStainedGlass; + case 335: return Item::LightGrayStainedGlassPane; + case 271: return Item::LightGrayTerracotta; + case 90: return Item::LightGrayWool; + case 251: return Item::LightWeightedPressurePlate; + case 306: return Item::Lilac; + case 219: return Item::LilyPad; + case 740: return Item::LimeBanner; + case 601: return Item::LimeBed; + case 287: return Item::LimeCarpet; + case 400: return Item::LimeConcrete; + case 416: return Item::LimeConcretePowder; + case 587: return Item::LimeDye; + case 384: return Item::LimeGlazedTerracotta; + case 368: return Item::LimeShulkerBox; + case 316: return Item::LimeStainedGlass; + case 332: return Item::LimeStainedGlassPane; + case 268: return Item::LimeTerracotta; + case 87: return Item::LimeWool; + case 761: return Item::LingeringPotion; + case 657: return Item::LlamaSpawnEgg; + case 737: return Item::MagentaBanner; + case 598: return Item::MagentaBed; + case 284: return Item::MagentaCarpet; + case 397: return Item::MagentaConcrete; + case 413: return Item::MagentaConcretePowder; + case 590: return Item::MagentaDye; + case 381: return Item::MagentaGlazedTerracotta; + case 365: return Item::MagentaShulkerBox; + case 313: return Item::MagentaStainedGlass; + case 329: return Item::MagentaStainedGlassPane; + case 265: return Item::MagentaTerracotta; + case 84: return Item::MagentaWool; + case 356: return Item::MagmaBlock; + case 634: return Item::MagmaCream; + case 658: return Item::MagmaCubeSpawnEgg; + case 701: return Item::Map; + case 208: return Item::Melon; + case 618: return Item::MelonSeeds; + case 615: return Item::MelonSlice; + case 551: return Item::MilkBucket; + case 545: return Item::Minecart; + case 659: return Item::MooshroomSpawnEgg; + case 138: return Item::MossyCobblestone; + case 240: return Item::MossyCobblestoneWall; + case 200: return Item::MossyStoneBricks; + case 660: return Item::MuleSpawnEgg; + case 205: return Item::MushroomStem; + case 499: return Item::MushroomStew; + case 784: return Item::MusicDisc11; + case 774: return Item::MusicDisc13; + case 776: return Item::MusicDiscBlocks; + case 775: return Item::MusicDiscCat; + case 777: return Item::MusicDiscChirp; + case 778: return Item::MusicDiscFar; + case 779: return Item::MusicDiscMall; + case 780: return Item::MusicDiscMellohi; + case 781: return Item::MusicDiscStal; + case 782: return Item::MusicDiscStrad; + case 785: return Item::MusicDiscWait; + case 783: return Item::MusicDiscWard; + case 733: return Item::Mutton; + case 218: return Item::Mycelium; + case 731: return Item::NameTag; + case 788: return Item::NautilusShell; + case 715: return Item::NetherBrick; + case 221: return Item::NetherBrickFence; + case 124: return Item::NetherBrickSlab; + case 222: return Item::NetherBrickStairs; + case 220: return Item::NetherBricks; + case 255: return Item::NetherQuartzOre; + case 710: return Item::NetherStar; + case 628: return Item::NetherWart; + case 357: return Item::NetherWartBlock; + case 183: return Item::Netherrack; + case 71: return Item::NoteBlock; + case 549: return Item::OakBoat; + case 241: return Item::OakButton; + case 461: return Item::OakDoor; + case 175: return Item::OakFence; + case 210: return Item::OakFenceGate; + case 56: return Item::OakLeaves; + case 32: return Item::OakLog; + case 13: return Item::OakPlanks; + case 160: return Item::OakPressurePlate; + case 19: return Item::OakSapling; + case 112: return Item::OakSlab; + case 148: return Item::OakStairs; + case 187: return Item::OakTrapdoor; + case 50: return Item::OakWood; + case 361: return Item::Observer; + case 139: return Item::Obsidian; + case 661: return Item::OcelotSpawnEgg; + case 736: return Item::OrangeBanner; + case 597: return Item::OrangeBed; + case 283: return Item::OrangeCarpet; + case 396: return Item::OrangeConcrete; + case 412: return Item::OrangeConcretePowder; + case 591: return Item::OrangeDye; + case 380: return Item::OrangeGlazedTerracotta; + case 364: return Item::OrangeShulkerBox; + case 312: return Item::OrangeStainedGlass; + case 328: return Item::OrangeStainedGlassPane; + case 264: return Item::OrangeTerracotta; + case 104: return Item::OrangeTulip; + case 83: return Item::OrangeWool; + case 107: return Item::OxeyeDaisy; + case 300: return Item::PackedIce; + case 538: return Item::Painting; + case 561: return Item::Paper; + case 662: return Item::ParrotSpawnEgg; + case 308: return Item::Peony; + case 120: return Item::PetrifiedOakSlab; + case 787: return Item::PhantomMembrane; + case 663: return Item::PhantomSpawnEgg; + case 664: return Item::PigSpawnEgg; + case 741: return Item::PinkBanner; + case 602: return Item::PinkBed; + case 288: return Item::PinkCarpet; + case 401: return Item::PinkConcrete; + case 417: return Item::PinkConcretePowder; + case 586: return Item::PinkDye; + case 385: return Item::PinkGlazedTerracotta; + case 369: return Item::PinkShulkerBox; + case 317: return Item::PinkStainedGlass; + case 333: return Item::PinkStainedGlassPane; + case 269: return Item::PinkTerracotta; + case 106: return Item::PinkTulip; + case 88: return Item::PinkWool; + case 81: return Item::Piston; + case 705: return Item::PlayerHead; + case 11: return Item::Podzol; + case 700: return Item::PoisonousPotato; + case 665: return Item::PolarBearSpawnEgg; + case 7: return Item::PolishedAndesite; + case 5: return Item::PolishedDiorite; + case 3: return Item::PolishedGranite; + case 753: return Item::PoppedChorusFruit; + case 99: return Item::Poppy; + case 536: return Item::Porkchop; + case 698: return Item::Potato; + case 629: return Item::Potion; + case 72: return Item::PoweredRail; + case 343: return Item::Prismarine; + case 129: return Item::PrismarineBrickSlab; + case 347: return Item::PrismarineBrickStairs; + case 344: return Item::PrismarineBricks; + case 720: return Item::PrismarineCrystals; + case 719: return Item::PrismarineShard; + case 128: return Item::PrismarineSlab; + case 346: return Item::PrismarineStairs; + case 574: return Item::Pufferfish; + case 552: return Item::PufferfishBucket; + case 666: return Item::PufferfishSpawnEgg; + case 181: return Item::Pumpkin; + case 711: return Item::PumpkinPie; + case 617: return Item::PumpkinSeeds; + case 745: return Item::PurpleBanner; + case 606: return Item::PurpleBed; + case 292: return Item::PurpleCarpet; + case 405: return Item::PurpleConcrete; + case 421: return Item::PurpleConcretePowder; + case 582: return Item::PurpleDye; + case 389: return Item::PurpleGlazedTerracotta; + case 373: return Item::PurpleShulkerBox; + case 321: return Item::PurpleStainedGlass; + case 337: return Item::PurpleStainedGlassPane; + case 273: return Item::PurpleTerracotta; + case 92: return Item::PurpleWool; + case 144: return Item::PurpurBlock; + case 145: return Item::PurpurPillar; + case 127: return Item::PurpurSlab; + case 146: return Item::PurpurStairs; + case 716: return Item::Quartz; + case 258: return Item::QuartzBlock; + case 259: return Item::QuartzPillar; + case 125: return Item::QuartzSlab; + case 260: return Item::QuartzStairs; + case 721: return Item::Rabbit; + case 724: return Item::RabbitFoot; + case 725: return Item::RabbitHide; + case 667: return Item::RabbitSpawnEgg; + case 723: return Item::RabbitStew; + case 156: return Item::Rail; + case 749: return Item::RedBanner; + case 610: return Item::RedBed; + case 296: return Item::RedCarpet; + case 409: return Item::RedConcrete; + case 425: return Item::RedConcretePowder; + case 393: return Item::RedGlazedTerracotta; + case 109: return Item::RedMushroom; + case 204: return Item::RedMushroomBlock; + case 358: return Item::RedNetherBricks; + case 27: return Item::RedSand; + case 350: return Item::RedSandstone; + case 126: return Item::RedSandstoneSlab; + case 353: return Item::RedSandstoneStairs; + case 377: return Item::RedShulkerBox; + case 325: return Item::RedStainedGlass; + case 341: return Item::RedStainedGlassPane; + case 277: return Item::RedTerracotta; + case 103: return Item::RedTulip; + case 96: return Item::RedWool; + case 547: return Item::Redstone; + case 254: return Item::RedstoneBlock; + case 228: return Item::RedstoneLamp; + case 166: return Item::RedstoneOre; + case 167: return Item::RedstoneTorch; + case 467: return Item::Repeater; + case 354: return Item::RepeatingCommandBlock; + case 307: return Item::RoseBush; + case 578: return Item::RedDye; + case 623: return Item::RottenFlesh; + case 546: return Item::Saddle; + case 572: return Item::Salmon; + case 553: return Item::SalmonBucket; + case 668: return Item::SalmonSpawnEgg; + case 26: return Item::Sand; + case 68: return Item::Sandstone; + case 119: return Item::SandstoneSlab; + case 229: return Item::SandstoneStairs; + case 471: return Item::Scute; + case 349: return Item::SeaLantern; + case 80: return Item::SeaPickle; + case 79: return Item::Seagrass; + case 614: return Item::Shears; + case 669: return Item::SheepSpawnEgg; + case 762: return Item::Shield; + case 362: return Item::ShulkerBox; + case 770: return Item::ShulkerShell; + case 670: return Item::ShulkerSpawnEgg; + case 541: return Item::OakSign; + case 671: return Item::SilverfishSpawnEgg; + case 673: return Item::SkeletonHorseSpawnEgg; + case 703: return Item::SkeletonSkull; + case 672: return Item::SkeletonSpawnEgg; + case 563: return Item::SlimeBall; + case 303: return Item::SlimeBlock; + case 674: return Item::SlimeSpawnEgg; + case 131: return Item::SmoothQuartz; + case 132: return Item::SmoothRedSandstone; + case 133: return Item::SmoothSandstone; + case 134: return Item::SmoothStone; + case 169: return Item::Snow; + case 171: return Item::SnowBlock; + case 548: return Item::Snowball; + case 184: return Item::SoulSand; + case 147: return Item::Spawner; + case 759: return Item::SpectralArrow; + case 631: return Item::SpiderEye; + case 675: return Item::SpiderSpawnEgg; + case 758: return Item::SplashPotion; + case 62: return Item::Sponge; + case 764: return Item::SpruceBoat; + case 242: return Item::SpruceButton; + case 462: return Item::SpruceDoor; + case 176: return Item::SpruceFence; + case 211: return Item::SpruceFenceGate; + case 57: return Item::SpruceLeaves; + case 33: return Item::SpruceLog; + case 14: return Item::SprucePlanks; + case 161: return Item::SprucePressurePlate; + case 20: return Item::SpruceSapling; + case 113: return Item::SpruceSlab; + case 234: return Item::SpruceStairs; + case 188: return Item::SpruceTrapdoor; + case 51: return Item::SpruceWood; + case 676: return Item::SquidSpawnEgg; + case 497: return Item::Stick; + case 74: return Item::StickyPiston; + case 1: return Item::Stone; + case 492: return Item::StoneAxe; + case 123: return Item::StoneBrickSlab; + case 217: return Item::StoneBrickStairs; + case 199: return Item::StoneBricks; + case 168: return Item::StoneButton; + case 508: return Item::StoneHoe; + case 491: return Item::StonePickaxe; + case 159: return Item::StonePressurePlate; + case 490: return Item::StoneShovel; + case 118: return Item::StoneSlab; + case 489: return Item::StoneSword; + case 677: return Item::StraySpawnEgg; + case 504: return Item::String; + case 42: return Item::StrippedAcaciaLog; + case 48: return Item::StrippedAcaciaWood; + case 40: return Item::StrippedBirchLog; + case 46: return Item::StrippedBirchWood; + case 43: return Item::StrippedDarkOakLog; + case 49: return Item::StrippedDarkOakWood; + case 41: return Item::StrippedJungleLog; + case 47: return Item::StrippedJungleWood; + case 38: return Item::StrippedOakLog; + case 44: return Item::StrippedOakWood; + case 39: return Item::StrippedSpruceLog; + case 45: return Item::StrippedSpruceWood; + case 469: return Item::StructureBlock; + case 360: return Item::StructureVoid; + case 594: return Item::Sugar; + case 558: return Item::SugarCane; + case 305: return Item::Sunflower; + case 309: return Item::TallGrass; + case 298: return Item::Terracotta; + case 760: return Item::TippedArrow; + case 136: return Item::TNT; + case 717: return Item::TNTMinecart; + case 140: return Item::Torch; + case 769: return Item::TotemOfUndying; + case 250: return Item::TrappedChest; + case 786: return Item::Trident; + case 232: return Item::TripwireHook; + case 573: return Item::TropicalFish; + case 555: return Item::TropicalFishBucket; + case 678: return Item::TropicalFishSpawnEgg; + case 438: return Item::TubeCoral; + case 433: return Item::TubeCoralBlock; + case 448: return Item::TubeCoralFan; + case 427: return Item::TurtleEgg; + case 470: return Item::TurtleHelmet; + case 679: return Item::TurtleSpawnEgg; + case 680: return Item::VexSpawnEgg; + case 681: return Item::VillagerSpawnEgg; + case 682: return Item::VindicatorSpawnEgg; + case 209: return Item::Vine; + case 543: return Item::WaterBucket; + case 63: return Item::WetSponge; + case 513: return Item::Wheat; + case 512: return Item::WheatSeeds; + case 735: return Item::WhiteBanner; + case 596: return Item::WhiteBed; + case 282: return Item::WhiteCarpet; + case 395: return Item::WhiteConcrete; + case 411: return Item::WhiteConcretePowder; + case 379: return Item::WhiteGlazedTerracotta; + case 363: return Item::WhiteShulkerBox; + case 311: return Item::WhiteStainedGlass; + case 327: return Item::WhiteStainedGlassPane; + case 263: return Item::WhiteTerracotta; + case 105: return Item::WhiteTulip; + case 82: return Item::WhiteWool; + case 683: return Item::WitchSpawnEgg; + case 704: return Item::WitherSkeletonSkull; + case 684: return Item::WitherSkeletonSpawnEgg; + case 685: return Item::WolfSpawnEgg; + case 488: return Item::WoodenAxe; + case 507: return Item::WoodenHoe; + case 487: return Item::WoodenPickaxe; + case 486: return Item::WoodenShovel; + case 485: return Item::WoodenSword; + case 692: return Item::WritableBook; + case 693: return Item::WrittenBook; + case 739: return Item::YellowBanner; + case 600: return Item::YellowBed; + case 286: return Item::YellowCarpet; + case 399: return Item::YellowConcrete; + case 415: return Item::YellowConcretePowder; + case 383: return Item::YellowGlazedTerracotta; + case 367: return Item::YellowShulkerBox; + case 315: return Item::YellowStainedGlass; + case 331: return Item::YellowStainedGlassPane; + case 267: return Item::YellowTerracotta; + case 86: return Item::YellowWool; + case 706: return Item::ZombieHead; + case 687: return Item::ZombieHorseSpawnEgg; + case 688: return Item::ZombiePigmanSpawnEgg; + case 686: return Item::ZombieSpawnEgg; + case 689: return Item::ZombieVillagerSpawnEgg; + default: return Item::Air; } } +} // namespace Palette_1_13_1 diff --git a/src/Protocol/Palettes/Palette_1_13_1.h b/src/Protocol/Palettes/Palette_1_13_1.h index ca230743a..04dea7057 100644 --- a/src/Protocol/Palettes/Palette_1_13_1.h +++ b/src/Protocol/Palettes/Palette_1_13_1.h @@ -6,8 +6,8 @@ namespace Palette_1_13_1 { - UInt32 From(BlockState Block); - UInt32 From(Item ID); - UInt32 From(CustomStatistic ID); - Item ToItem(UInt32 ID); -} +UInt32 From(BlockState Block); +UInt32 From(Item ID); +UInt32 From(CustomStatistic ID); +Item ToItem(UInt32 ID); +} // namespace Palette_1_13_1 diff --git a/src/Protocol/Palettes/Palette_1_14.cpp b/src/Protocol/Palettes/Palette_1_14.cpp index 0dca7c142..6164e6e3d 100644 --- a/src/Protocol/Palettes/Palette_1_14.cpp +++ b/src/Protocol/Palettes/Palette_1_14.cpp @@ -5,10465 +5,34325 @@ namespace Palette_1_14 { - UInt32 From(const BlockState Block) - { - using namespace Block; +UInt32 From(const BlockState Block) +{ + using namespace Block; - switch (Block.ID) - { - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5906; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5907; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5908; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5909; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5910; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5911; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5912; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5913; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5914; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5915; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5916; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5917; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5918; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5919; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5920; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5921; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5922; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5923; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5924; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5925; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5926; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5927; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5928; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5929; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8394; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8395; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8396; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8397; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8398; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8399; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8400; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8401; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8402; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8403; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8404; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8405; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8406; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8407; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8408; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8409; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8410; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8411; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8412; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8413; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8414; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8415; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8416; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8417; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8418; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8419; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8420; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8421; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8422; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8423; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8424; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8425; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8426; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8427; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8428; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8429; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8430; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8431; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8432; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8433; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8434; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8435; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8436; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8437; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8438; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8439; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8440; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8441; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8442; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8443; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8444; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8445; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8446; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8447; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8448; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8449; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8450; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8451; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8452; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8453; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8454; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8455; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8456; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8457; - case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 8140; - case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 8141; - case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 8144; - case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 8145; - case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 8148; - case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 8149; - case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 8152; - case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 8153; - case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 8156; - case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 8157; - case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 8160; - case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 8161; - case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 8164; - case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 8165; - case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 8168; - case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 8169; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7978; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7979; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7980; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7981; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7982; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7983; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7984; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7985; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7986; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7987; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7988; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7989; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7990; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7991; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7992; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7993; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7994; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7995; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7996; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7997; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7998; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7999; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8000; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8001; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8002; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8003; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8004; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8005; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8006; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8007; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8008; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8009; - case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 200; - case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 201; - case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 202; - case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 203; - case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 204; - case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 205; - case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 206; - case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 207; - case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 208; - case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 209; - case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 210; - case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 211; - case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 212; - case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 213; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 84; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 85; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 86; - case AcaciaPlanks::AcaciaPlanks().ID: return 19; - case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3879; - case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3880; - case AcaciaSapling::AcaciaSapling(0).ID: return 29; - case AcaciaSapling::AcaciaSapling(1).ID: return 30; - case AcaciaSign::AcaciaSign(0).ID: return 3476; - case AcaciaSign::AcaciaSign(1).ID: return 3478; - case AcaciaSign::AcaciaSign(2).ID: return 3480; - case AcaciaSign::AcaciaSign(3).ID: return 3482; - case AcaciaSign::AcaciaSign(4).ID: return 3484; - case AcaciaSign::AcaciaSign(5).ID: return 3486; - case AcaciaSign::AcaciaSign(6).ID: return 3488; - case AcaciaSign::AcaciaSign(7).ID: return 3490; - case AcaciaSign::AcaciaSign(8).ID: return 3492; - case AcaciaSign::AcaciaSign(9).ID: return 3494; - case AcaciaSign::AcaciaSign(10).ID: return 3496; - case AcaciaSign::AcaciaSign(11).ID: return 3498; - case AcaciaSign::AcaciaSign(12).ID: return 3500; - case AcaciaSign::AcaciaSign(13).ID: return 3502; - case AcaciaSign::AcaciaSign(14).ID: return 3504; - case AcaciaSign::AcaciaSign(15).ID: return 3506; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 7789; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 7791; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 7793; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6840; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6842; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6844; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6846; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6848; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6850; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6852; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6854; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6856; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6858; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6860; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6862; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6864; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6866; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6868; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6870; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6872; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6874; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6876; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6878; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6880; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6882; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6884; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6886; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6888; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6890; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6892; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6894; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6896; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6898; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6900; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6902; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6904; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6906; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6908; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6910; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6912; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6914; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6916; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6918; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: return 4354; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: return 4356; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: return 4358; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: return 4360; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4362; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4364; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4366; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4368; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: return 4370; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: return 4372; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: return 4374; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: return 4376; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4378; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4380; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4382; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4384; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: return 4386; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: return 4388; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: return 4390; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: return 4392; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4394; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4396; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4398; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4400; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: return 4402; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: return 4404; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: return 4406; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: return 4408; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4410; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4412; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4414; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4416; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3758; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3760; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3762; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3764; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 120; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 121; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 122; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 6287; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 6288; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 6289; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 6290; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 6291; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 6292; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 6293; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 6294; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 6295; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 6296; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 6297; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 6298; - case Air::Air().ID: return -0; - case Allium::Allium().ID: return 1414; - case Andesite::Andesite().ID: return 6; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Top).ID: return 10308; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Bottom).ID: return 10310; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Double).ID: return 10312; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 9934; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 9936; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 9938; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 9940; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 9942; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 9944; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 9946; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 9948; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 9950; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 9952; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 9954; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 9956; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 9958; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 9960; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 9962; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 9964; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 9966; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 9968; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 9970; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 9972; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 9974; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 9976; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 9978; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 9980; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 9982; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 9984; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 9986; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 9988; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 9990; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 9992; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 9994; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 9996; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 9998; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 10000; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 10002; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 10004; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 10006; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 10008; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 10010; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 10012; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 10781; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 10782; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 10785; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 10786; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 10789; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 10790; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 10793; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 10794; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 10797; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 10798; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 10801; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 10802; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 10805; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 10806; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 10809; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 10810; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 10813; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 10814; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 10817; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 10818; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 10821; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 10822; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 10825; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 10826; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 10829; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 10830; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 10833; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 10834; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 10837; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 10838; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 10841; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 10842; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6074; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6075; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 6076; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 6077; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4752; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4753; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4754; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4755; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4748; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4749; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4750; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4751; - case AzureBluet::AzureBluet().ID: return 1415; - case Bamboo::Bamboo(0, Bamboo::Leaves::None, 0).ID: return 9116; - case Bamboo::Bamboo(0, Bamboo::Leaves::None, 1).ID: return 9117; - case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 0).ID: return 9118; - case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 1).ID: return 9119; - case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 0).ID: return 9120; - case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 1).ID: return 9121; - case Bamboo::Bamboo(1, Bamboo::Leaves::None, 0).ID: return 9122; - case Bamboo::Bamboo(1, Bamboo::Leaves::None, 1).ID: return 9123; - case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 0).ID: return 9124; - case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 1).ID: return 9125; - case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 0).ID: return 9126; - case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 1).ID: return 9127; - case BambooSapling::BambooSapling().ID: return 9115; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11135; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11136; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, true).ID: return 11137; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, false).ID: return 11138; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11139; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11140; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, true).ID: return 11141; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, false).ID: return 11142; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, true).ID: return 11143; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, false).ID: return 11144; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, true).ID: return 11145; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, false).ID: return 11146; - case Barrier::Barrier().ID: return 7000; - case Beacon::Beacon().ID: return 5640; - case Bedrock::Bedrock().ID: return 33; - case Beetroots::Beetroots(0).ID: return 8683; - case Beetroots::Beetroots(1).ID: return 8684; - case Beetroots::Beetroots(2).ID: return 8685; - case Beetroots::Beetroots(3).ID: return 8686; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11198; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11199; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 11200; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 11201; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11202; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11203; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 11204; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 11205; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11206; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11207; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 11208; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 11209; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11210; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11211; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 11212; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 11213; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5858; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5859; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5860; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5861; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5862; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5863; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5864; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5865; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5866; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5867; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5868; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5869; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5870; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5871; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5872; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5873; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5874; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5875; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5876; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5877; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5878; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5879; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5880; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5881; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8266; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8267; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8268; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8269; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8270; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8271; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8272; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8273; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8274; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8275; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8276; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8277; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8278; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8279; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8280; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8281; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8282; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8283; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8284; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8285; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8286; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8287; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8288; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8289; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8290; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8291; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8292; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8293; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8294; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8295; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8296; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8297; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8298; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8299; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8300; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8301; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8302; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8303; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8304; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8305; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8306; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8307; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8308; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8309; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8310; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8311; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8312; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8313; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8314; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8315; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8316; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8317; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8318; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8319; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8320; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8321; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8322; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8323; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8324; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8325; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8326; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8327; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8328; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8329; - case BirchFence::BirchFence(true, true, true, true).ID: return 8076; - case BirchFence::BirchFence(true, true, true, false).ID: return 8077; - case BirchFence::BirchFence(true, true, false, true).ID: return 8080; - case BirchFence::BirchFence(true, true, false, false).ID: return 8081; - case BirchFence::BirchFence(true, false, true, true).ID: return 8084; - case BirchFence::BirchFence(true, false, true, false).ID: return 8085; - case BirchFence::BirchFence(true, false, false, true).ID: return 8088; - case BirchFence::BirchFence(true, false, false, false).ID: return 8089; - case BirchFence::BirchFence(false, true, true, true).ID: return 8092; - case BirchFence::BirchFence(false, true, true, false).ID: return 8093; - case BirchFence::BirchFence(false, true, false, true).ID: return 8096; - case BirchFence::BirchFence(false, true, false, false).ID: return 8097; - case BirchFence::BirchFence(false, false, true, true).ID: return 8100; - case BirchFence::BirchFence(false, false, true, false).ID: return 8101; - case BirchFence::BirchFence(false, false, false, true).ID: return 8104; - case BirchFence::BirchFence(false, false, false, false).ID: return 8105; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7914; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7915; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7916; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7917; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7918; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7919; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7920; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7921; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7922; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7923; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7924; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7925; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7926; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7927; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7928; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7929; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7930; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7931; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7932; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7933; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7934; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7935; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7936; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7937; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7938; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7939; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7940; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7941; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7942; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7943; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7944; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7945; - case BirchLeaves::BirchLeaves(1, true).ID: return 172; - case BirchLeaves::BirchLeaves(1, false).ID: return 173; - case BirchLeaves::BirchLeaves(2, true).ID: return 174; - case BirchLeaves::BirchLeaves(2, false).ID: return 175; - case BirchLeaves::BirchLeaves(3, true).ID: return 176; - case BirchLeaves::BirchLeaves(3, false).ID: return 177; - case BirchLeaves::BirchLeaves(4, true).ID: return 178; - case BirchLeaves::BirchLeaves(4, false).ID: return 179; - case BirchLeaves::BirchLeaves(5, true).ID: return 180; - case BirchLeaves::BirchLeaves(5, false).ID: return 181; - case BirchLeaves::BirchLeaves(6, true).ID: return 182; - case BirchLeaves::BirchLeaves(6, false).ID: return 183; - case BirchLeaves::BirchLeaves(7, true).ID: return 184; - case BirchLeaves::BirchLeaves(7, false).ID: return 185; - case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 78; - case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 79; - case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 80; - case BirchPlanks::BirchPlanks().ID: return 17; - case BirchPressurePlate::BirchPressurePlate(true).ID: return 3875; - case BirchPressurePlate::BirchPressurePlate(false).ID: return 3876; - case BirchSapling::BirchSapling(0).ID: return 25; - case BirchSapling::BirchSapling(1).ID: return 26; - case BirchSign::BirchSign(0).ID: return 3444; - case BirchSign::BirchSign(1).ID: return 3446; - case BirchSign::BirchSign(2).ID: return 3448; - case BirchSign::BirchSign(3).ID: return 3450; - case BirchSign::BirchSign(4).ID: return 3452; - case BirchSign::BirchSign(5).ID: return 3454; - case BirchSign::BirchSign(6).ID: return 3456; - case BirchSign::BirchSign(7).ID: return 3458; - case BirchSign::BirchSign(8).ID: return 3460; - case BirchSign::BirchSign(9).ID: return 3462; - case BirchSign::BirchSign(10).ID: return 3464; - case BirchSign::BirchSign(11).ID: return 3466; - case BirchSign::BirchSign(12).ID: return 3468; - case BirchSign::BirchSign(13).ID: return 3470; - case BirchSign::BirchSign(14).ID: return 3472; - case BirchSign::BirchSign(15).ID: return 3474; - case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 7777; - case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 7779; - case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 7781; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5469; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5471; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5473; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5475; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5477; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5479; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5481; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5483; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5485; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5487; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5489; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5491; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5493; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5495; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5497; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5499; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5501; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5503; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5505; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5507; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5509; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5511; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5513; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5515; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5517; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5519; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5521; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5523; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5525; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5527; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5529; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5531; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5533; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5535; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5537; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5539; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5541; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5543; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5545; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5547; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: return 4226; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: return 4228; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: return 4230; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: return 4232; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: return 4234; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: return 4236; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: return 4238; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: return 4240; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: return 4242; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: return 4244; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: return 4246; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: return 4248; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: return 4250; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: return 4252; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: return 4254; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: return 4256; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: return 4258; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: return 4260; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: return 4262; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: return 4264; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: return 4266; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: return 4268; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: return 4270; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: return 4272; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: return 4274; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: return 4276; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: return 4278; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: return 4280; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: return 4282; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: return 4284; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: return 4286; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: return 4288; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3750; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3752; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3754; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3756; - case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 114; - case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 115; - case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 116; - case BlackBanner::BlackBanner(0).ID: return 7601; - case BlackBanner::BlackBanner(1).ID: return 7602; - case BlackBanner::BlackBanner(2).ID: return 7603; - case BlackBanner::BlackBanner(3).ID: return 7604; - case BlackBanner::BlackBanner(4).ID: return 7605; - case BlackBanner::BlackBanner(5).ID: return 7606; - case BlackBanner::BlackBanner(6).ID: return 7607; - case BlackBanner::BlackBanner(7).ID: return 7608; - case BlackBanner::BlackBanner(8).ID: return 7609; - case BlackBanner::BlackBanner(9).ID: return 7610; - case BlackBanner::BlackBanner(10).ID: return 7611; - case BlackBanner::BlackBanner(11).ID: return 7612; - case BlackBanner::BlackBanner(12).ID: return 7613; - case BlackBanner::BlackBanner(13).ID: return 7614; - case BlackBanner::BlackBanner(14).ID: return 7615; - case BlackBanner::BlackBanner(15).ID: return 7616; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 1288; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 1289; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 1290; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 1291; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 1292; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 1293; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 1294; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 1295; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 1296; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 1297; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 1298; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 1299; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1300; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1301; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1302; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1303; - case BlackCarpet::BlackCarpet().ID: return 7345; - case BlackConcrete::BlackConcrete().ID: return 8917; - case BlackConcretePowder::BlackConcretePowder().ID: return 8933; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8898; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8899; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8900; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8901; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8832; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8833; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8834; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8835; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8836; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8837; - case BlackStainedGlass::BlackStainedGlass().ID: return 4096; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 6809; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 6810; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 6813; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 6814; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 6817; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 6818; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 6821; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 6822; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 6825; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 6826; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 6829; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 6830; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 6833; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 6834; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 6837; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 6838; - case BlackTerracotta::BlackTerracotta().ID: return 6326; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7677; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7678; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7679; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7680; - case BlackWool::BlackWool().ID: return 1398; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11155; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11156; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11157; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11158; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 11159; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 11160; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 11161; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 11162; - case BlueBanner::BlueBanner(0).ID: return 7537; - case BlueBanner::BlueBanner(1).ID: return 7538; - case BlueBanner::BlueBanner(2).ID: return 7539; - case BlueBanner::BlueBanner(3).ID: return 7540; - case BlueBanner::BlueBanner(4).ID: return 7541; - case BlueBanner::BlueBanner(5).ID: return 7542; - case BlueBanner::BlueBanner(6).ID: return 7543; - case BlueBanner::BlueBanner(7).ID: return 7544; - case BlueBanner::BlueBanner(8).ID: return 7545; - case BlueBanner::BlueBanner(9).ID: return 7546; - case BlueBanner::BlueBanner(10).ID: return 7547; - case BlueBanner::BlueBanner(11).ID: return 7548; - case BlueBanner::BlueBanner(12).ID: return 7549; - case BlueBanner::BlueBanner(13).ID: return 7550; - case BlueBanner::BlueBanner(14).ID: return 7551; - case BlueBanner::BlueBanner(15).ID: return 7552; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 1224; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 1225; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 1226; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 1227; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 1228; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 1229; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 1230; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 1231; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 1232; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 1233; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 1234; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 1235; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 1236; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 1237; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 1238; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 1239; - case BlueCarpet::BlueCarpet().ID: return 7341; - case BlueConcrete::BlueConcrete().ID: return 8913; - case BlueConcretePowder::BlueConcretePowder().ID: return 8929; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8882; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8883; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8884; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8885; - case BlueIce::BlueIce().ID: return 9112; - case BlueOrchid::BlueOrchid().ID: return 1413; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8808; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8809; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8810; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8811; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8812; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8813; - case BlueStainedGlass::BlueStainedGlass().ID: return 4092; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 6681; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 6682; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 6685; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 6686; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 6689; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 6690; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 6693; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 6694; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 6697; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 6698; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 6701; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 6702; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 6705; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 6706; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 6709; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 6710; - case BlueTerracotta::BlueTerracotta().ID: return 6322; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7661; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7662; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7663; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7664; - case BlueWool::BlueWool().ID: return 1394; - case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 8720; - case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 8721; - case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 8722; - case Bookshelf::Bookshelf().ID: return 1431; - case BrainCoral::BrainCoral().ID: return 8997; - case BrainCoralBlock::BrainCoralBlock().ID: return 8980; - case BrainCoralFan::BrainCoralFan().ID: return 9017; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9073; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9075; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9077; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9079; - case BrewingStand::BrewingStand(true, true, true).ID: return 5117; - case BrewingStand::BrewingStand(true, true, false).ID: return 5118; - case BrewingStand::BrewingStand(true, false, true).ID: return 5119; - case BrewingStand::BrewingStand(true, false, false).ID: return 5120; - case BrewingStand::BrewingStand(false, true, true).ID: return 5121; - case BrewingStand::BrewingStand(false, true, false).ID: return 5122; - case BrewingStand::BrewingStand(false, false, true).ID: return 5123; - case BrewingStand::BrewingStand(false, false, false).ID: return 5124; - case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 7837; - case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 7839; - case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 7841; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4837; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4839; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4841; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4843; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4845; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4847; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4849; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4851; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4853; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4855; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4857; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4859; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4861; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4863; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4865; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4867; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4869; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4871; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4873; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4875; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4877; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4879; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4881; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4883; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4885; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4887; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4889; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4891; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4893; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4895; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4897; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4899; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4901; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4903; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4905; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4907; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4909; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4911; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4913; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4915; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10333; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10334; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10337; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10338; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10341; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::None).ID: return 10342; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10345; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::None).ID: return 10346; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10349; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10350; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10353; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10354; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10357; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::None).ID: return 10358; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10361; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::None).ID: return 10362; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10365; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10366; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10369; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10370; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10373; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::None).ID: return 10374; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10377; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::None).ID: return 10378; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10381; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10382; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10385; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10386; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10389; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::None).ID: return 10390; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10393; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::None).ID: return 10394; - case Bricks::Bricks().ID: return 1428; - case BrownBanner::BrownBanner(0).ID: return 7553; - case BrownBanner::BrownBanner(1).ID: return 7554; - case BrownBanner::BrownBanner(2).ID: return 7555; - case BrownBanner::BrownBanner(3).ID: return 7556; - case BrownBanner::BrownBanner(4).ID: return 7557; - case BrownBanner::BrownBanner(5).ID: return 7558; - case BrownBanner::BrownBanner(6).ID: return 7559; - case BrownBanner::BrownBanner(7).ID: return 7560; - case BrownBanner::BrownBanner(8).ID: return 7561; - case BrownBanner::BrownBanner(9).ID: return 7562; - case BrownBanner::BrownBanner(10).ID: return 7563; - case BrownBanner::BrownBanner(11).ID: return 7564; - case BrownBanner::BrownBanner(12).ID: return 7565; - case BrownBanner::BrownBanner(13).ID: return 7566; - case BrownBanner::BrownBanner(14).ID: return 7567; - case BrownBanner::BrownBanner(15).ID: return 7568; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 1240; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 1241; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 1242; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 1243; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 1244; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 1245; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 1246; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 1247; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 1248; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 1249; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 1250; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 1251; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 1252; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 1253; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 1254; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 1255; - case BrownCarpet::BrownCarpet().ID: return 7342; - case BrownConcrete::BrownConcrete().ID: return 8914; - case BrownConcretePowder::BrownConcretePowder().ID: return 8930; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8886; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8887; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8888; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8889; - case BrownMushroom::BrownMushroom().ID: return 1424; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 4491; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 4492; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 4493; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 4494; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 4495; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 4496; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 4497; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 4498; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 4499; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 4500; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 4501; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 4502; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 4503; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4504; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4505; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4506; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4507; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4508; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4509; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4510; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4511; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4512; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4513; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4514; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4515; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4516; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4517; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4518; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4519; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4520; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4521; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4522; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4523; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4524; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4525; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4526; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4527; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4528; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4529; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4530; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4531; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4532; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4533; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4534; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4535; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4536; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4537; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4538; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4539; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4540; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4541; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4542; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4543; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4544; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4545; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4546; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4547; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4548; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4549; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4550; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4551; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4552; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4553; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4554; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8814; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8815; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8816; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8817; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8818; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8819; - case BrownStainedGlass::BrownStainedGlass().ID: return 4093; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 6713; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 6714; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 6717; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 6718; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 6721; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 6722; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 6725; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 6726; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 6729; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 6730; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 6733; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 6734; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 6737; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 6738; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 6741; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 6742; - case BrownTerracotta::BrownTerracotta().ID: return 6323; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7665; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7666; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7667; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7668; - case BrownWool::BrownWool().ID: return 1395; - case BubbleColumn::BubbleColumn(true).ID: return 9131; - case BubbleColumn::BubbleColumn(false).ID: return 9132; - case BubbleCoral::BubbleCoral().ID: return 8999; - case BubbleCoralBlock::BubbleCoralBlock().ID: return 8981; - case BubbleCoralFan::BubbleCoralFan().ID: return 9019; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9081; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9083; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9085; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9087; - case Cactus::Cactus(0).ID: return 3929; - case Cactus::Cactus(1).ID: return 3930; - case Cactus::Cactus(2).ID: return 3931; - case Cactus::Cactus(3).ID: return 3932; - case Cactus::Cactus(4).ID: return 3933; - case Cactus::Cactus(5).ID: return 3934; - case Cactus::Cactus(6).ID: return 3935; - case Cactus::Cactus(7).ID: return 3936; - case Cactus::Cactus(8).ID: return 3937; - case Cactus::Cactus(9).ID: return 3938; - case Cactus::Cactus(10).ID: return 3939; - case Cactus::Cactus(11).ID: return 3940; - case Cactus::Cactus(12).ID: return 3941; - case Cactus::Cactus(13).ID: return 3942; - case Cactus::Cactus(14).ID: return 3943; - case Cactus::Cactus(15).ID: return 3944; - case Cake::Cake(0).ID: return 4010; - case Cake::Cake(1).ID: return 4011; - case Cake::Cake(2).ID: return 4012; - case Cake::Cake(3).ID: return 4013; - case Cake::Cake(4).ID: return 4014; - case Cake::Cake(5).ID: return 4015; - case Cake::Cake(6).ID: return 4016; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 11217; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 11219; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 11221; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 11223; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 11225; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 11227; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 11229; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 11231; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 11233; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 11235; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 11237; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 11239; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 11241; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 11243; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 11245; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 11247; - case Carrots::Carrots(0).ID: return 5794; - case Carrots::Carrots(1).ID: return 5795; - case Carrots::Carrots(2).ID: return 5796; - case Carrots::Carrots(3).ID: return 5797; - case Carrots::Carrots(4).ID: return 5798; - case Carrots::Carrots(5).ID: return 5799; - case Carrots::Carrots(6).ID: return 5800; - case Carrots::Carrots(7).ID: return 5801; - case CartographyTable::CartographyTable().ID: return 11163; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 4002; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 4003; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 4004; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 4005; - case Cauldron::Cauldron(0).ID: return 5125; - case Cauldron::Cauldron(1).ID: return 5126; - case Cauldron::Cauldron(2).ID: return 5127; - case Cauldron::Cauldron(3).ID: return 5128; - case CaveAir::CaveAir().ID: return 9130; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8701; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8702; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8703; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8704; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8705; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8706; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8707; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8708; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8709; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8710; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8711; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8712; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 2033; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 2035; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 2037; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 2039; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 2041; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 2043; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 2045; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 2047; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 2049; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 2051; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 2053; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 2055; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6078; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6079; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6080; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6081; - case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 6203; - case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 7682; - case ChiseledSandstone::ChiseledSandstone().ID: return 246; - case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 4484; - case ChorusFlower::ChorusFlower(0).ID: return 8592; - case ChorusFlower::ChorusFlower(1).ID: return 8593; - case ChorusFlower::ChorusFlower(2).ID: return 8594; - case ChorusFlower::ChorusFlower(3).ID: return 8595; - case ChorusFlower::ChorusFlower(4).ID: return 8596; - case ChorusFlower::ChorusFlower(5).ID: return 8597; - case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 8528; - case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 8529; - case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 8530; - case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 8531; - case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 8532; - case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 8533; - case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 8534; - case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 8535; - case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 8536; - case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 8537; - case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 8538; - case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 8539; - case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 8540; - case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 8541; - case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 8542; - case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 8543; - case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 8544; - case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 8545; - case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 8546; - case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 8547; - case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 8548; - case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 8549; - case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 8550; - case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 8551; - case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 8552; - case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 8553; - case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 8554; - case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 8555; - case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 8556; - case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 8557; - case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 8558; - case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 8559; - case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 8560; - case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 8561; - case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 8562; - case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 8563; - case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 8564; - case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 8565; - case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 8566; - case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 8567; - case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 8568; - case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 8569; - case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 8570; - case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 8571; - case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 8572; - case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 8573; - case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 8574; - case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 8575; - case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 8576; - case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 8577; - case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 8578; - case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 8579; - case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 8580; - case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 8581; - case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 8582; - case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 8583; - case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 8584; - case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 8585; - case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 8586; - case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 8587; - case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 8588; - case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 8589; - case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 8590; - case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 8591; - case Clay::Clay().ID: return 3945; - case CoalBlock::CoalBlock().ID: return 7347; - case CoalOre::CoalOre().ID: return 71; - case CoarseDirt::CoarseDirt().ID: return 11; - case Cobblestone::Cobblestone().ID: return 14; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 7831; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 7833; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 7835; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3654; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3656; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3658; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3660; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3662; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3664; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3666; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3668; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3670; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3672; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3674; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3676; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3678; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3680; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3682; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3684; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3686; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3688; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3690; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3692; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3694; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3696; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3698; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3700; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3702; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3704; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3706; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3708; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3710; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3712; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3714; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3716; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3718; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3720; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3722; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3724; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3726; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3728; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3730; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3732; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5643; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5644; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5647; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5648; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5651; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5652; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5655; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5656; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5659; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5660; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5663; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5664; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5667; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5668; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5671; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5672; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5675; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5676; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5679; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5680; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5683; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5684; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5687; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5688; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5691; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5692; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5695; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5696; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5699; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5700; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5703; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5704; - case Cobweb::Cobweb().ID: return 1340; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 5142; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 5143; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 5144; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 5145; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 5146; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 5147; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 5148; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 5149; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 5150; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 5151; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 5152; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 5153; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5628; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5629; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5630; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5631; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5632; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5633; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5634; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5635; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5636; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5637; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5638; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5639; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 6142; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 6143; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 6144; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 6145; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 6146; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 6147; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 6148; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 6149; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 6150; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 6151; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 6152; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 6153; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 6154; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 6155; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 6156; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 6157; - case Composter::Composter(0).ID: return 11262; - case Composter::Composter(1).ID: return 11263; - case Composter::Composter(2).ID: return 11264; - case Composter::Composter(3).ID: return 11265; - case Composter::Composter(4).ID: return 11266; - case Composter::Composter(5).ID: return 11267; - case Composter::Composter(6).ID: return 11268; - case Composter::Composter(7).ID: return 11269; - case Composter::Composter(8).ID: return 11270; - case Conduit::Conduit().ID: return 9114; - case Cornflower::Cornflower().ID: return 1421; - case CrackedStoneBricks::CrackedStoneBricks().ID: return 4483; - case CraftingTable::CraftingTable().ID: return 3354; - case CreeperHead::CreeperHead(0).ID: return 6034; - case CreeperHead::CreeperHead(1).ID: return 6035; - case CreeperHead::CreeperHead(2).ID: return 6036; - case CreeperHead::CreeperHead(3).ID: return 6037; - case CreeperHead::CreeperHead(4).ID: return 6038; - case CreeperHead::CreeperHead(5).ID: return 6039; - case CreeperHead::CreeperHead(6).ID: return 6040; - case CreeperHead::CreeperHead(7).ID: return 6041; - case CreeperHead::CreeperHead(8).ID: return 6042; - case CreeperHead::CreeperHead(9).ID: return 6043; - case CreeperHead::CreeperHead(10).ID: return 6044; - case CreeperHead::CreeperHead(11).ID: return 6045; - case CreeperHead::CreeperHead(12).ID: return 6046; - case CreeperHead::CreeperHead(13).ID: return 6047; - case CreeperHead::CreeperHead(14).ID: return 6048; - case CreeperHead::CreeperHead(15).ID: return 6049; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6050; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6051; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6052; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6053; - case CutRedSandstone::CutRedSandstone().ID: return 7683; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Top).ID: return 7867; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Bottom).ID: return 7869; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Double).ID: return 7871; - case CutSandstone::CutSandstone().ID: return 247; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Top).ID: return 7819; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Bottom).ID: return 7821; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Double).ID: return 7823; - case CyanBanner::CyanBanner(0).ID: return 7505; - case CyanBanner::CyanBanner(1).ID: return 7506; - case CyanBanner::CyanBanner(2).ID: return 7507; - case CyanBanner::CyanBanner(3).ID: return 7508; - case CyanBanner::CyanBanner(4).ID: return 7509; - case CyanBanner::CyanBanner(5).ID: return 7510; - case CyanBanner::CyanBanner(6).ID: return 7511; - case CyanBanner::CyanBanner(7).ID: return 7512; - case CyanBanner::CyanBanner(8).ID: return 7513; - case CyanBanner::CyanBanner(9).ID: return 7514; - case CyanBanner::CyanBanner(10).ID: return 7515; - case CyanBanner::CyanBanner(11).ID: return 7516; - case CyanBanner::CyanBanner(12).ID: return 7517; - case CyanBanner::CyanBanner(13).ID: return 7518; - case CyanBanner::CyanBanner(14).ID: return 7519; - case CyanBanner::CyanBanner(15).ID: return 7520; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 1192; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 1193; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 1194; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 1195; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 1196; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 1197; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 1198; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 1199; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 1200; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 1201; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 1202; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 1203; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 1204; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 1205; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 1206; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 1207; - case CyanCarpet::CyanCarpet().ID: return 7339; - case CyanConcrete::CyanConcrete().ID: return 8911; - case CyanConcretePowder::CyanConcretePowder().ID: return 8927; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8874; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8875; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8876; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8877; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8796; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8797; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8798; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8799; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8800; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8801; - case CyanStainedGlass::CyanStainedGlass().ID: return 4090; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 6617; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 6618; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 6621; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 6622; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 6625; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 6626; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 6629; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 6630; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 6633; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 6634; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 6637; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 6638; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 6641; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 6642; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 6645; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 6646; - case CyanTerracotta::CyanTerracotta().ID: return 6320; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7653; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7654; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7655; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7656; - case CyanWool::CyanWool().ID: return 1392; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6082; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6083; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6084; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6085; - case Dandelion::Dandelion().ID: return 1411; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5930; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5931; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5932; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5933; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5934; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5935; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5936; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5937; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5938; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5939; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5940; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5941; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5942; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5943; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5944; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5945; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5946; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5947; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5948; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5949; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5950; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5951; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5952; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5953; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8458; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8459; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8460; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8461; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8462; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8463; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 8464; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 8465; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 8466; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 8467; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 8468; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 8469; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 8470; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 8471; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 8472; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 8473; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8474; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8475; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8476; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8477; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8478; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8479; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 8480; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 8481; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 8482; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 8483; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 8484; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 8485; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 8486; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 8487; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 8488; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 8489; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8490; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8491; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8492; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8493; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8494; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8495; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 8496; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 8497; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 8498; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 8499; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 8500; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 8501; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 8502; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 8503; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 8504; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 8505; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8506; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8507; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8508; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8509; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8510; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8511; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 8512; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 8513; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 8514; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 8515; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 8516; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 8517; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 8518; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 8519; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 8520; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 8521; - case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 8172; - case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 8173; - case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 8176; - case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 8177; - case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 8180; - case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 8181; - case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 8184; - case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 8185; - case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 8188; - case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 8189; - case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 8192; - case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 8193; - case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 8196; - case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 8197; - case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 8200; - case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 8201; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8010; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8011; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8012; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8013; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8014; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8015; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8016; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8017; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8018; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8019; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8020; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8021; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8022; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8023; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8024; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8025; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8026; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8027; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8028; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8029; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8030; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8031; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8032; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8033; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8034; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8035; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8036; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8037; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8038; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8039; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8040; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8041; - case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 214; - case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 215; - case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 216; - case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 217; - case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 218; - case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 219; - case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 220; - case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 221; - case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 222; - case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 223; - case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 224; - case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 225; - case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 226; - case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 227; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 87; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 88; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 89; - case DarkOakPlanks::DarkOakPlanks().ID: return 20; - case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3881; - case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3882; - case DarkOakSapling::DarkOakSapling(0).ID: return 31; - case DarkOakSapling::DarkOakSapling(1).ID: return 32; - case DarkOakSign::DarkOakSign(0).ID: return 3540; - case DarkOakSign::DarkOakSign(1).ID: return 3542; - case DarkOakSign::DarkOakSign(2).ID: return 3544; - case DarkOakSign::DarkOakSign(3).ID: return 3546; - case DarkOakSign::DarkOakSign(4).ID: return 3548; - case DarkOakSign::DarkOakSign(5).ID: return 3550; - case DarkOakSign::DarkOakSign(6).ID: return 3552; - case DarkOakSign::DarkOakSign(7).ID: return 3554; - case DarkOakSign::DarkOakSign(8).ID: return 3556; - case DarkOakSign::DarkOakSign(9).ID: return 3558; - case DarkOakSign::DarkOakSign(10).ID: return 3560; - case DarkOakSign::DarkOakSign(11).ID: return 3562; - case DarkOakSign::DarkOakSign(12).ID: return 3564; - case DarkOakSign::DarkOakSign(13).ID: return 3566; - case DarkOakSign::DarkOakSign(14).ID: return 3568; - case DarkOakSign::DarkOakSign(15).ID: return 3570; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 7795; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 7797; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 7799; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6920; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6922; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6924; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6926; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6928; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6930; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6932; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6934; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6936; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6938; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6940; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6942; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6944; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6946; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6948; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6950; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6952; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6954; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6956; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6958; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6960; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6962; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6964; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6966; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6968; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6970; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6972; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6974; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6976; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6978; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6980; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6982; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6984; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6986; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6988; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6990; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6992; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6994; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6996; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6998; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: return 4418; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: return 4420; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: return 4422; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: return 4424; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4426; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4428; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4430; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4432; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: return 4434; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: return 4436; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: return 4438; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: return 4440; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4442; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4444; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4446; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4448; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: return 4450; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: return 4452; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: return 4454; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: return 4456; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4458; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4460; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4462; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4464; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: return 4466; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: return 4468; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: return 4470; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: return 4472; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4474; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4476; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4478; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4480; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3774; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3776; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3778; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3780; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 123; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 124; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 125; - case DarkPrismarine::DarkPrismarine().ID: return 7067; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 7321; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 7323; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 7325; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7229; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7231; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7233; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7235; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7237; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7239; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7241; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7243; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7245; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7247; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7249; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7251; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7253; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7255; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7257; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7259; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7261; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7263; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7265; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7267; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7269; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7271; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7273; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7275; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7277; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7279; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7281; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7283; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7285; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7287; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7289; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7291; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7293; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7295; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7297; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7299; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7301; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7303; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7305; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7307; - case DaylightDetector::DaylightDetector(true, 0).ID: return 6158; - case DaylightDetector::DaylightDetector(true, 1).ID: return 6159; - case DaylightDetector::DaylightDetector(true, 2).ID: return 6160; - case DaylightDetector::DaylightDetector(true, 3).ID: return 6161; - case DaylightDetector::DaylightDetector(true, 4).ID: return 6162; - case DaylightDetector::DaylightDetector(true, 5).ID: return 6163; - case DaylightDetector::DaylightDetector(true, 6).ID: return 6164; - case DaylightDetector::DaylightDetector(true, 7).ID: return 6165; - case DaylightDetector::DaylightDetector(true, 8).ID: return 6166; - case DaylightDetector::DaylightDetector(true, 9).ID: return 6167; - case DaylightDetector::DaylightDetector(true, 10).ID: return 6168; - case DaylightDetector::DaylightDetector(true, 11).ID: return 6169; - case DaylightDetector::DaylightDetector(true, 12).ID: return 6170; - case DaylightDetector::DaylightDetector(true, 13).ID: return 6171; - case DaylightDetector::DaylightDetector(true, 14).ID: return 6172; - case DaylightDetector::DaylightDetector(true, 15).ID: return 6173; - case DaylightDetector::DaylightDetector(false, 0).ID: return 6174; - case DaylightDetector::DaylightDetector(false, 1).ID: return 6175; - case DaylightDetector::DaylightDetector(false, 2).ID: return 6176; - case DaylightDetector::DaylightDetector(false, 3).ID: return 6177; - case DaylightDetector::DaylightDetector(false, 4).ID: return 6178; - case DaylightDetector::DaylightDetector(false, 5).ID: return 6179; - case DaylightDetector::DaylightDetector(false, 6).ID: return 6180; - case DaylightDetector::DaylightDetector(false, 7).ID: return 6181; - case DaylightDetector::DaylightDetector(false, 8).ID: return 6182; - case DaylightDetector::DaylightDetector(false, 9).ID: return 6183; - case DaylightDetector::DaylightDetector(false, 10).ID: return 6184; - case DaylightDetector::DaylightDetector(false, 11).ID: return 6185; - case DaylightDetector::DaylightDetector(false, 12).ID: return 6186; - case DaylightDetector::DaylightDetector(false, 13).ID: return 6187; - case DaylightDetector::DaylightDetector(false, 14).ID: return 6188; - case DaylightDetector::DaylightDetector(false, 15).ID: return 6189; - case DeadBrainCoral::DeadBrainCoral().ID: return 8987; - case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 8975; - case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 9007; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9033; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9035; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9037; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9039; - case DeadBubbleCoral::DeadBubbleCoral().ID: return 8989; - case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 8976; - case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 9009; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9041; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9043; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9045; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9047; - case DeadBush::DeadBush().ID: return 1343; - case DeadFireCoral::DeadFireCoral().ID: return 8991; - case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 8977; - case DeadFireCoralFan::DeadFireCoralFan().ID: return 9011; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9049; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9051; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9053; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9055; - case DeadHornCoral::DeadHornCoral().ID: return 8993; - case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 8978; - case DeadHornCoralFan::DeadHornCoralFan().ID: return 9013; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9057; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9059; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9061; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9063; - case DeadTubeCoral::DeadTubeCoral().ID: return 8985; - case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 8974; - case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 9005; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9025; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9027; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9029; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9031; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1316; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1317; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1318; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1319; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1320; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1321; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1322; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1323; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1324; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1325; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1326; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1327; - case DiamondBlock::DiamondBlock().ID: return 3353; - case DiamondOre::DiamondOre().ID: return 3352; - case Diorite::Diorite().ID: return 4; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Top).ID: return 10326; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Bottom).ID: return 10328; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Double).ID: return 10330; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10174; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10176; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10178; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10180; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10182; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10184; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10186; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10188; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10190; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10192; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10194; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10196; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10198; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10200; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10202; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10204; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10206; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10208; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10210; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10212; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10214; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10216; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10218; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10220; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10222; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10224; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10226; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10228; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10230; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10232; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10234; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10236; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10238; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10240; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10242; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10244; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10246; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10248; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10250; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10252; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 11037; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 11038; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 11041; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 11042; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 11045; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 11046; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 11049; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 11050; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 11053; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 11054; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 11057; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 11058; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 11061; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 11062; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 11065; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 11066; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 11069; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 11070; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 11073; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 11074; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 11077; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 11078; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 11081; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 11082; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 11085; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 11086; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 11089; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 11090; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 11093; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 11094; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 11097; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 11098; - case Dirt::Dirt().ID: return 10; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 233; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 234; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 235; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 236; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 237; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 238; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 239; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 240; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 241; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 242; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 243; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 244; - case DragonEgg::DragonEgg().ID: return 5139; - case DragonHead::DragonHead(0).ID: return 6054; - case DragonHead::DragonHead(1).ID: return 6055; - case DragonHead::DragonHead(2).ID: return 6056; - case DragonHead::DragonHead(3).ID: return 6057; - case DragonHead::DragonHead(4).ID: return 6058; - case DragonHead::DragonHead(5).ID: return 6059; - case DragonHead::DragonHead(6).ID: return 6060; - case DragonHead::DragonHead(7).ID: return 6061; - case DragonHead::DragonHead(8).ID: return 6062; - case DragonHead::DragonHead(9).ID: return 6063; - case DragonHead::DragonHead(10).ID: return 6064; - case DragonHead::DragonHead(11).ID: return 6065; - case DragonHead::DragonHead(12).ID: return 6066; - case DragonHead::DragonHead(13).ID: return 6067; - case DragonHead::DragonHead(14).ID: return 6068; - case DragonHead::DragonHead(15).ID: return 6069; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6070; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6071; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6072; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6073; - case DriedKelpBlock::DriedKelpBlock().ID: return 8961; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 6299; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 6300; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 6301; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 6302; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 6303; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 6304; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 6305; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 6306; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 6307; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 6308; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 6309; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 6310; - case EmeraldBlock::EmeraldBlock().ID: return 5387; - case EmeraldOre::EmeraldOre().ID: return 5234; - case EnchantingTable::EnchantingTable().ID: return 5116; - case EndGateway::EndGateway().ID: return 8688; - case EndPortal::EndPortal().ID: return 5129; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5130; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5131; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 5132; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 5133; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5134; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5135; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 5136; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 5137; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 8522; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 8523; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 8524; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 8525; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 8526; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 8527; - case EndStone::EndStone().ID: return 5138; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Top).ID: return 10284; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Bottom).ID: return 10286; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Double).ID: return 10288; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 9534; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9536; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 9538; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9540; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 9542; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 9544; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9546; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 9548; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9550; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 9552; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 9554; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9556; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 9558; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9560; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 9562; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 9564; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9566; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 9568; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9570; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 9572; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 9574; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9576; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 9578; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9580; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 9582; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 9584; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9586; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 9588; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9590; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 9592; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 9594; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9596; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 9598; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9600; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 9602; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 9604; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9606; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 9608; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9610; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 9612; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 10973; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 10974; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 10977; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 10978; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 10981; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 10982; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 10985; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 10986; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 10989; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 10990; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 10993; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 10994; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 10997; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 10998; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 11001; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 11002; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 11005; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 11006; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 11009; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 11010; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 11013; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 11014; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 11017; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 11018; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 11021; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 11022; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 11025; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 11026; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 11029; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 11030; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 11033; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 11034; - case EndStoneBricks::EndStoneBricks().ID: return 8682; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 5236; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 5238; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 5240; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 5242; - case Farmland::Farmland(0).ID: return 3363; - case Farmland::Farmland(1).ID: return 3364; - case Farmland::Farmland(2).ID: return 3365; - case Farmland::Farmland(3).ID: return 3366; - case Farmland::Farmland(4).ID: return 3367; - case Farmland::Farmland(5).ID: return 3368; - case Farmland::Farmland(6).ID: return 3369; - case Farmland::Farmland(7).ID: return 3370; - case Fern::Fern().ID: return 1342; - case Fire::Fire(0, true, true, true, true, true).ID: return 1439; - case Fire::Fire(0, true, true, true, true, false).ID: return 1440; - case Fire::Fire(0, true, true, true, false, true).ID: return 1441; - case Fire::Fire(0, true, true, true, false, false).ID: return 1442; - case Fire::Fire(0, true, true, false, true, true).ID: return 1443; - case Fire::Fire(0, true, true, false, true, false).ID: return 1444; - case Fire::Fire(0, true, true, false, false, true).ID: return 1445; - case Fire::Fire(0, true, true, false, false, false).ID: return 1446; - case Fire::Fire(0, true, false, true, true, true).ID: return 1447; - case Fire::Fire(0, true, false, true, true, false).ID: return 1448; - case Fire::Fire(0, true, false, true, false, true).ID: return 1449; - case Fire::Fire(0, true, false, true, false, false).ID: return 1450; - case Fire::Fire(0, true, false, false, true, true).ID: return 1451; - case Fire::Fire(0, true, false, false, true, false).ID: return 1452; - case Fire::Fire(0, true, false, false, false, true).ID: return 1453; - case Fire::Fire(0, true, false, false, false, false).ID: return 1454; - case Fire::Fire(0, false, true, true, true, true).ID: return 1455; - case Fire::Fire(0, false, true, true, true, false).ID: return 1456; - case Fire::Fire(0, false, true, true, false, true).ID: return 1457; - case Fire::Fire(0, false, true, true, false, false).ID: return 1458; - case Fire::Fire(0, false, true, false, true, true).ID: return 1459; - case Fire::Fire(0, false, true, false, true, false).ID: return 1460; - case Fire::Fire(0, false, true, false, false, true).ID: return 1461; - case Fire::Fire(0, false, true, false, false, false).ID: return 1462; - case Fire::Fire(0, false, false, true, true, true).ID: return 1463; - case Fire::Fire(0, false, false, true, true, false).ID: return 1464; - case Fire::Fire(0, false, false, true, false, true).ID: return 1465; - case Fire::Fire(0, false, false, true, false, false).ID: return 1466; - case Fire::Fire(0, false, false, false, true, true).ID: return 1467; - case Fire::Fire(0, false, false, false, true, false).ID: return 1468; - case Fire::Fire(0, false, false, false, false, true).ID: return 1469; - case Fire::Fire(0, false, false, false, false, false).ID: return 1470; - case Fire::Fire(1, true, true, true, true, true).ID: return 1471; - case Fire::Fire(1, true, true, true, true, false).ID: return 1472; - case Fire::Fire(1, true, true, true, false, true).ID: return 1473; - case Fire::Fire(1, true, true, true, false, false).ID: return 1474; - case Fire::Fire(1, true, true, false, true, true).ID: return 1475; - case Fire::Fire(1, true, true, false, true, false).ID: return 1476; - case Fire::Fire(1, true, true, false, false, true).ID: return 1477; - case Fire::Fire(1, true, true, false, false, false).ID: return 1478; - case Fire::Fire(1, true, false, true, true, true).ID: return 1479; - case Fire::Fire(1, true, false, true, true, false).ID: return 1480; - case Fire::Fire(1, true, false, true, false, true).ID: return 1481; - case Fire::Fire(1, true, false, true, false, false).ID: return 1482; - case Fire::Fire(1, true, false, false, true, true).ID: return 1483; - case Fire::Fire(1, true, false, false, true, false).ID: return 1484; - case Fire::Fire(1, true, false, false, false, true).ID: return 1485; - case Fire::Fire(1, true, false, false, false, false).ID: return 1486; - case Fire::Fire(1, false, true, true, true, true).ID: return 1487; - case Fire::Fire(1, false, true, true, true, false).ID: return 1488; - case Fire::Fire(1, false, true, true, false, true).ID: return 1489; - case Fire::Fire(1, false, true, true, false, false).ID: return 1490; - case Fire::Fire(1, false, true, false, true, true).ID: return 1491; - case Fire::Fire(1, false, true, false, true, false).ID: return 1492; - case Fire::Fire(1, false, true, false, false, true).ID: return 1493; - case Fire::Fire(1, false, true, false, false, false).ID: return 1494; - case Fire::Fire(1, false, false, true, true, true).ID: return 1495; - case Fire::Fire(1, false, false, true, true, false).ID: return 1496; - case Fire::Fire(1, false, false, true, false, true).ID: return 1497; - case Fire::Fire(1, false, false, true, false, false).ID: return 1498; - case Fire::Fire(1, false, false, false, true, true).ID: return 1499; - case Fire::Fire(1, false, false, false, true, false).ID: return 1500; - case Fire::Fire(1, false, false, false, false, true).ID: return 1501; - case Fire::Fire(1, false, false, false, false, false).ID: return 1502; - case Fire::Fire(2, true, true, true, true, true).ID: return 1503; - case Fire::Fire(2, true, true, true, true, false).ID: return 1504; - case Fire::Fire(2, true, true, true, false, true).ID: return 1505; - case Fire::Fire(2, true, true, true, false, false).ID: return 1506; - case Fire::Fire(2, true, true, false, true, true).ID: return 1507; - case Fire::Fire(2, true, true, false, true, false).ID: return 1508; - case Fire::Fire(2, true, true, false, false, true).ID: return 1509; - case Fire::Fire(2, true, true, false, false, false).ID: return 1510; - case Fire::Fire(2, true, false, true, true, true).ID: return 1511; - case Fire::Fire(2, true, false, true, true, false).ID: return 1512; - case Fire::Fire(2, true, false, true, false, true).ID: return 1513; - case Fire::Fire(2, true, false, true, false, false).ID: return 1514; - case Fire::Fire(2, true, false, false, true, true).ID: return 1515; - case Fire::Fire(2, true, false, false, true, false).ID: return 1516; - case Fire::Fire(2, true, false, false, false, true).ID: return 1517; - case Fire::Fire(2, true, false, false, false, false).ID: return 1518; - case Fire::Fire(2, false, true, true, true, true).ID: return 1519; - case Fire::Fire(2, false, true, true, true, false).ID: return 1520; - case Fire::Fire(2, false, true, true, false, true).ID: return 1521; - case Fire::Fire(2, false, true, true, false, false).ID: return 1522; - case Fire::Fire(2, false, true, false, true, true).ID: return 1523; - case Fire::Fire(2, false, true, false, true, false).ID: return 1524; - case Fire::Fire(2, false, true, false, false, true).ID: return 1525; - case Fire::Fire(2, false, true, false, false, false).ID: return 1526; - case Fire::Fire(2, false, false, true, true, true).ID: return 1527; - case Fire::Fire(2, false, false, true, true, false).ID: return 1528; - case Fire::Fire(2, false, false, true, false, true).ID: return 1529; - case Fire::Fire(2, false, false, true, false, false).ID: return 1530; - case Fire::Fire(2, false, false, false, true, true).ID: return 1531; - case Fire::Fire(2, false, false, false, true, false).ID: return 1532; - case Fire::Fire(2, false, false, false, false, true).ID: return 1533; - case Fire::Fire(2, false, false, false, false, false).ID: return 1534; - case Fire::Fire(3, true, true, true, true, true).ID: return 1535; - case Fire::Fire(3, true, true, true, true, false).ID: return 1536; - case Fire::Fire(3, true, true, true, false, true).ID: return 1537; - case Fire::Fire(3, true, true, true, false, false).ID: return 1538; - case Fire::Fire(3, true, true, false, true, true).ID: return 1539; - case Fire::Fire(3, true, true, false, true, false).ID: return 1540; - case Fire::Fire(3, true, true, false, false, true).ID: return 1541; - case Fire::Fire(3, true, true, false, false, false).ID: return 1542; - case Fire::Fire(3, true, false, true, true, true).ID: return 1543; - case Fire::Fire(3, true, false, true, true, false).ID: return 1544; - case Fire::Fire(3, true, false, true, false, true).ID: return 1545; - case Fire::Fire(3, true, false, true, false, false).ID: return 1546; - case Fire::Fire(3, true, false, false, true, true).ID: return 1547; - case Fire::Fire(3, true, false, false, true, false).ID: return 1548; - case Fire::Fire(3, true, false, false, false, true).ID: return 1549; - case Fire::Fire(3, true, false, false, false, false).ID: return 1550; - case Fire::Fire(3, false, true, true, true, true).ID: return 1551; - case Fire::Fire(3, false, true, true, true, false).ID: return 1552; - case Fire::Fire(3, false, true, true, false, true).ID: return 1553; - case Fire::Fire(3, false, true, true, false, false).ID: return 1554; - case Fire::Fire(3, false, true, false, true, true).ID: return 1555; - case Fire::Fire(3, false, true, false, true, false).ID: return 1556; - case Fire::Fire(3, false, true, false, false, true).ID: return 1557; - case Fire::Fire(3, false, true, false, false, false).ID: return 1558; - case Fire::Fire(3, false, false, true, true, true).ID: return 1559; - case Fire::Fire(3, false, false, true, true, false).ID: return 1560; - case Fire::Fire(3, false, false, true, false, true).ID: return 1561; - case Fire::Fire(3, false, false, true, false, false).ID: return 1562; - case Fire::Fire(3, false, false, false, true, true).ID: return 1563; - case Fire::Fire(3, false, false, false, true, false).ID: return 1564; - case Fire::Fire(3, false, false, false, false, true).ID: return 1565; - case Fire::Fire(3, false, false, false, false, false).ID: return 1566; - case Fire::Fire(4, true, true, true, true, true).ID: return 1567; - case Fire::Fire(4, true, true, true, true, false).ID: return 1568; - case Fire::Fire(4, true, true, true, false, true).ID: return 1569; - case Fire::Fire(4, true, true, true, false, false).ID: return 1570; - case Fire::Fire(4, true, true, false, true, true).ID: return 1571; - case Fire::Fire(4, true, true, false, true, false).ID: return 1572; - case Fire::Fire(4, true, true, false, false, true).ID: return 1573; - case Fire::Fire(4, true, true, false, false, false).ID: return 1574; - case Fire::Fire(4, true, false, true, true, true).ID: return 1575; - case Fire::Fire(4, true, false, true, true, false).ID: return 1576; - case Fire::Fire(4, true, false, true, false, true).ID: return 1577; - case Fire::Fire(4, true, false, true, false, false).ID: return 1578; - case Fire::Fire(4, true, false, false, true, true).ID: return 1579; - case Fire::Fire(4, true, false, false, true, false).ID: return 1580; - case Fire::Fire(4, true, false, false, false, true).ID: return 1581; - case Fire::Fire(4, true, false, false, false, false).ID: return 1582; - case Fire::Fire(4, false, true, true, true, true).ID: return 1583; - case Fire::Fire(4, false, true, true, true, false).ID: return 1584; - case Fire::Fire(4, false, true, true, false, true).ID: return 1585; - case Fire::Fire(4, false, true, true, false, false).ID: return 1586; - case Fire::Fire(4, false, true, false, true, true).ID: return 1587; - case Fire::Fire(4, false, true, false, true, false).ID: return 1588; - case Fire::Fire(4, false, true, false, false, true).ID: return 1589; - case Fire::Fire(4, false, true, false, false, false).ID: return 1590; - case Fire::Fire(4, false, false, true, true, true).ID: return 1591; - case Fire::Fire(4, false, false, true, true, false).ID: return 1592; - case Fire::Fire(4, false, false, true, false, true).ID: return 1593; - case Fire::Fire(4, false, false, true, false, false).ID: return 1594; - case Fire::Fire(4, false, false, false, true, true).ID: return 1595; - case Fire::Fire(4, false, false, false, true, false).ID: return 1596; - case Fire::Fire(4, false, false, false, false, true).ID: return 1597; - case Fire::Fire(4, false, false, false, false, false).ID: return 1598; - case Fire::Fire(5, true, true, true, true, true).ID: return 1599; - case Fire::Fire(5, true, true, true, true, false).ID: return 1600; - case Fire::Fire(5, true, true, true, false, true).ID: return 1601; - case Fire::Fire(5, true, true, true, false, false).ID: return 1602; - case Fire::Fire(5, true, true, false, true, true).ID: return 1603; - case Fire::Fire(5, true, true, false, true, false).ID: return 1604; - case Fire::Fire(5, true, true, false, false, true).ID: return 1605; - case Fire::Fire(5, true, true, false, false, false).ID: return 1606; - case Fire::Fire(5, true, false, true, true, true).ID: return 1607; - case Fire::Fire(5, true, false, true, true, false).ID: return 1608; - case Fire::Fire(5, true, false, true, false, true).ID: return 1609; - case Fire::Fire(5, true, false, true, false, false).ID: return 1610; - case Fire::Fire(5, true, false, false, true, true).ID: return 1611; - case Fire::Fire(5, true, false, false, true, false).ID: return 1612; - case Fire::Fire(5, true, false, false, false, true).ID: return 1613; - case Fire::Fire(5, true, false, false, false, false).ID: return 1614; - case Fire::Fire(5, false, true, true, true, true).ID: return 1615; - case Fire::Fire(5, false, true, true, true, false).ID: return 1616; - case Fire::Fire(5, false, true, true, false, true).ID: return 1617; - case Fire::Fire(5, false, true, true, false, false).ID: return 1618; - case Fire::Fire(5, false, true, false, true, true).ID: return 1619; - case Fire::Fire(5, false, true, false, true, false).ID: return 1620; - case Fire::Fire(5, false, true, false, false, true).ID: return 1621; - case Fire::Fire(5, false, true, false, false, false).ID: return 1622; - case Fire::Fire(5, false, false, true, true, true).ID: return 1623; - case Fire::Fire(5, false, false, true, true, false).ID: return 1624; - case Fire::Fire(5, false, false, true, false, true).ID: return 1625; - case Fire::Fire(5, false, false, true, false, false).ID: return 1626; - case Fire::Fire(5, false, false, false, true, true).ID: return 1627; - case Fire::Fire(5, false, false, false, true, false).ID: return 1628; - case Fire::Fire(5, false, false, false, false, true).ID: return 1629; - case Fire::Fire(5, false, false, false, false, false).ID: return 1630; - case Fire::Fire(6, true, true, true, true, true).ID: return 1631; - case Fire::Fire(6, true, true, true, true, false).ID: return 1632; - case Fire::Fire(6, true, true, true, false, true).ID: return 1633; - case Fire::Fire(6, true, true, true, false, false).ID: return 1634; - case Fire::Fire(6, true, true, false, true, true).ID: return 1635; - case Fire::Fire(6, true, true, false, true, false).ID: return 1636; - case Fire::Fire(6, true, true, false, false, true).ID: return 1637; - case Fire::Fire(6, true, true, false, false, false).ID: return 1638; - case Fire::Fire(6, true, false, true, true, true).ID: return 1639; - case Fire::Fire(6, true, false, true, true, false).ID: return 1640; - case Fire::Fire(6, true, false, true, false, true).ID: return 1641; - case Fire::Fire(6, true, false, true, false, false).ID: return 1642; - case Fire::Fire(6, true, false, false, true, true).ID: return 1643; - case Fire::Fire(6, true, false, false, true, false).ID: return 1644; - case Fire::Fire(6, true, false, false, false, true).ID: return 1645; - case Fire::Fire(6, true, false, false, false, false).ID: return 1646; - case Fire::Fire(6, false, true, true, true, true).ID: return 1647; - case Fire::Fire(6, false, true, true, true, false).ID: return 1648; - case Fire::Fire(6, false, true, true, false, true).ID: return 1649; - case Fire::Fire(6, false, true, true, false, false).ID: return 1650; - case Fire::Fire(6, false, true, false, true, true).ID: return 1651; - case Fire::Fire(6, false, true, false, true, false).ID: return 1652; - case Fire::Fire(6, false, true, false, false, true).ID: return 1653; - case Fire::Fire(6, false, true, false, false, false).ID: return 1654; - case Fire::Fire(6, false, false, true, true, true).ID: return 1655; - case Fire::Fire(6, false, false, true, true, false).ID: return 1656; - case Fire::Fire(6, false, false, true, false, true).ID: return 1657; - case Fire::Fire(6, false, false, true, false, false).ID: return 1658; - case Fire::Fire(6, false, false, false, true, true).ID: return 1659; - case Fire::Fire(6, false, false, false, true, false).ID: return 1660; - case Fire::Fire(6, false, false, false, false, true).ID: return 1661; - case Fire::Fire(6, false, false, false, false, false).ID: return 1662; - case Fire::Fire(7, true, true, true, true, true).ID: return 1663; - case Fire::Fire(7, true, true, true, true, false).ID: return 1664; - case Fire::Fire(7, true, true, true, false, true).ID: return 1665; - case Fire::Fire(7, true, true, true, false, false).ID: return 1666; - case Fire::Fire(7, true, true, false, true, true).ID: return 1667; - case Fire::Fire(7, true, true, false, true, false).ID: return 1668; - case Fire::Fire(7, true, true, false, false, true).ID: return 1669; - case Fire::Fire(7, true, true, false, false, false).ID: return 1670; - case Fire::Fire(7, true, false, true, true, true).ID: return 1671; - case Fire::Fire(7, true, false, true, true, false).ID: return 1672; - case Fire::Fire(7, true, false, true, false, true).ID: return 1673; - case Fire::Fire(7, true, false, true, false, false).ID: return 1674; - case Fire::Fire(7, true, false, false, true, true).ID: return 1675; - case Fire::Fire(7, true, false, false, true, false).ID: return 1676; - case Fire::Fire(7, true, false, false, false, true).ID: return 1677; - case Fire::Fire(7, true, false, false, false, false).ID: return 1678; - case Fire::Fire(7, false, true, true, true, true).ID: return 1679; - case Fire::Fire(7, false, true, true, true, false).ID: return 1680; - case Fire::Fire(7, false, true, true, false, true).ID: return 1681; - case Fire::Fire(7, false, true, true, false, false).ID: return 1682; - case Fire::Fire(7, false, true, false, true, true).ID: return 1683; - case Fire::Fire(7, false, true, false, true, false).ID: return 1684; - case Fire::Fire(7, false, true, false, false, true).ID: return 1685; - case Fire::Fire(7, false, true, false, false, false).ID: return 1686; - case Fire::Fire(7, false, false, true, true, true).ID: return 1687; - case Fire::Fire(7, false, false, true, true, false).ID: return 1688; - case Fire::Fire(7, false, false, true, false, true).ID: return 1689; - case Fire::Fire(7, false, false, true, false, false).ID: return 1690; - case Fire::Fire(7, false, false, false, true, true).ID: return 1691; - case Fire::Fire(7, false, false, false, true, false).ID: return 1692; - case Fire::Fire(7, false, false, false, false, true).ID: return 1693; - case Fire::Fire(7, false, false, false, false, false).ID: return 1694; - case Fire::Fire(8, true, true, true, true, true).ID: return 1695; - case Fire::Fire(8, true, true, true, true, false).ID: return 1696; - case Fire::Fire(8, true, true, true, false, true).ID: return 1697; - case Fire::Fire(8, true, true, true, false, false).ID: return 1698; - case Fire::Fire(8, true, true, false, true, true).ID: return 1699; - case Fire::Fire(8, true, true, false, true, false).ID: return 1700; - case Fire::Fire(8, true, true, false, false, true).ID: return 1701; - case Fire::Fire(8, true, true, false, false, false).ID: return 1702; - case Fire::Fire(8, true, false, true, true, true).ID: return 1703; - case Fire::Fire(8, true, false, true, true, false).ID: return 1704; - case Fire::Fire(8, true, false, true, false, true).ID: return 1705; - case Fire::Fire(8, true, false, true, false, false).ID: return 1706; - case Fire::Fire(8, true, false, false, true, true).ID: return 1707; - case Fire::Fire(8, true, false, false, true, false).ID: return 1708; - case Fire::Fire(8, true, false, false, false, true).ID: return 1709; - case Fire::Fire(8, true, false, false, false, false).ID: return 1710; - case Fire::Fire(8, false, true, true, true, true).ID: return 1711; - case Fire::Fire(8, false, true, true, true, false).ID: return 1712; - case Fire::Fire(8, false, true, true, false, true).ID: return 1713; - case Fire::Fire(8, false, true, true, false, false).ID: return 1714; - case Fire::Fire(8, false, true, false, true, true).ID: return 1715; - case Fire::Fire(8, false, true, false, true, false).ID: return 1716; - case Fire::Fire(8, false, true, false, false, true).ID: return 1717; - case Fire::Fire(8, false, true, false, false, false).ID: return 1718; - case Fire::Fire(8, false, false, true, true, true).ID: return 1719; - case Fire::Fire(8, false, false, true, true, false).ID: return 1720; - case Fire::Fire(8, false, false, true, false, true).ID: return 1721; - case Fire::Fire(8, false, false, true, false, false).ID: return 1722; - case Fire::Fire(8, false, false, false, true, true).ID: return 1723; - case Fire::Fire(8, false, false, false, true, false).ID: return 1724; - case Fire::Fire(8, false, false, false, false, true).ID: return 1725; - case Fire::Fire(8, false, false, false, false, false).ID: return 1726; - case Fire::Fire(9, true, true, true, true, true).ID: return 1727; - case Fire::Fire(9, true, true, true, true, false).ID: return 1728; - case Fire::Fire(9, true, true, true, false, true).ID: return 1729; - case Fire::Fire(9, true, true, true, false, false).ID: return 1730; - case Fire::Fire(9, true, true, false, true, true).ID: return 1731; - case Fire::Fire(9, true, true, false, true, false).ID: return 1732; - case Fire::Fire(9, true, true, false, false, true).ID: return 1733; - case Fire::Fire(9, true, true, false, false, false).ID: return 1734; - case Fire::Fire(9, true, false, true, true, true).ID: return 1735; - case Fire::Fire(9, true, false, true, true, false).ID: return 1736; - case Fire::Fire(9, true, false, true, false, true).ID: return 1737; - case Fire::Fire(9, true, false, true, false, false).ID: return 1738; - case Fire::Fire(9, true, false, false, true, true).ID: return 1739; - case Fire::Fire(9, true, false, false, true, false).ID: return 1740; - case Fire::Fire(9, true, false, false, false, true).ID: return 1741; - case Fire::Fire(9, true, false, false, false, false).ID: return 1742; - case Fire::Fire(9, false, true, true, true, true).ID: return 1743; - case Fire::Fire(9, false, true, true, true, false).ID: return 1744; - case Fire::Fire(9, false, true, true, false, true).ID: return 1745; - case Fire::Fire(9, false, true, true, false, false).ID: return 1746; - case Fire::Fire(9, false, true, false, true, true).ID: return 1747; - case Fire::Fire(9, false, true, false, true, false).ID: return 1748; - case Fire::Fire(9, false, true, false, false, true).ID: return 1749; - case Fire::Fire(9, false, true, false, false, false).ID: return 1750; - case Fire::Fire(9, false, false, true, true, true).ID: return 1751; - case Fire::Fire(9, false, false, true, true, false).ID: return 1752; - case Fire::Fire(9, false, false, true, false, true).ID: return 1753; - case Fire::Fire(9, false, false, true, false, false).ID: return 1754; - case Fire::Fire(9, false, false, false, true, true).ID: return 1755; - case Fire::Fire(9, false, false, false, true, false).ID: return 1756; - case Fire::Fire(9, false, false, false, false, true).ID: return 1757; - case Fire::Fire(9, false, false, false, false, false).ID: return 1758; - case Fire::Fire(10, true, true, true, true, true).ID: return 1759; - case Fire::Fire(10, true, true, true, true, false).ID: return 1760; - case Fire::Fire(10, true, true, true, false, true).ID: return 1761; - case Fire::Fire(10, true, true, true, false, false).ID: return 1762; - case Fire::Fire(10, true, true, false, true, true).ID: return 1763; - case Fire::Fire(10, true, true, false, true, false).ID: return 1764; - case Fire::Fire(10, true, true, false, false, true).ID: return 1765; - case Fire::Fire(10, true, true, false, false, false).ID: return 1766; - case Fire::Fire(10, true, false, true, true, true).ID: return 1767; - case Fire::Fire(10, true, false, true, true, false).ID: return 1768; - case Fire::Fire(10, true, false, true, false, true).ID: return 1769; - case Fire::Fire(10, true, false, true, false, false).ID: return 1770; - case Fire::Fire(10, true, false, false, true, true).ID: return 1771; - case Fire::Fire(10, true, false, false, true, false).ID: return 1772; - case Fire::Fire(10, true, false, false, false, true).ID: return 1773; - case Fire::Fire(10, true, false, false, false, false).ID: return 1774; - case Fire::Fire(10, false, true, true, true, true).ID: return 1775; - case Fire::Fire(10, false, true, true, true, false).ID: return 1776; - case Fire::Fire(10, false, true, true, false, true).ID: return 1777; - case Fire::Fire(10, false, true, true, false, false).ID: return 1778; - case Fire::Fire(10, false, true, false, true, true).ID: return 1779; - case Fire::Fire(10, false, true, false, true, false).ID: return 1780; - case Fire::Fire(10, false, true, false, false, true).ID: return 1781; - case Fire::Fire(10, false, true, false, false, false).ID: return 1782; - case Fire::Fire(10, false, false, true, true, true).ID: return 1783; - case Fire::Fire(10, false, false, true, true, false).ID: return 1784; - case Fire::Fire(10, false, false, true, false, true).ID: return 1785; - case Fire::Fire(10, false, false, true, false, false).ID: return 1786; - case Fire::Fire(10, false, false, false, true, true).ID: return 1787; - case Fire::Fire(10, false, false, false, true, false).ID: return 1788; - case Fire::Fire(10, false, false, false, false, true).ID: return 1789; - case Fire::Fire(10, false, false, false, false, false).ID: return 1790; - case Fire::Fire(11, true, true, true, true, true).ID: return 1791; - case Fire::Fire(11, true, true, true, true, false).ID: return 1792; - case Fire::Fire(11, true, true, true, false, true).ID: return 1793; - case Fire::Fire(11, true, true, true, false, false).ID: return 1794; - case Fire::Fire(11, true, true, false, true, true).ID: return 1795; - case Fire::Fire(11, true, true, false, true, false).ID: return 1796; - case Fire::Fire(11, true, true, false, false, true).ID: return 1797; - case Fire::Fire(11, true, true, false, false, false).ID: return 1798; - case Fire::Fire(11, true, false, true, true, true).ID: return 1799; - case Fire::Fire(11, true, false, true, true, false).ID: return 1800; - case Fire::Fire(11, true, false, true, false, true).ID: return 1801; - case Fire::Fire(11, true, false, true, false, false).ID: return 1802; - case Fire::Fire(11, true, false, false, true, true).ID: return 1803; - case Fire::Fire(11, true, false, false, true, false).ID: return 1804; - case Fire::Fire(11, true, false, false, false, true).ID: return 1805; - case Fire::Fire(11, true, false, false, false, false).ID: return 1806; - case Fire::Fire(11, false, true, true, true, true).ID: return 1807; - case Fire::Fire(11, false, true, true, true, false).ID: return 1808; - case Fire::Fire(11, false, true, true, false, true).ID: return 1809; - case Fire::Fire(11, false, true, true, false, false).ID: return 1810; - case Fire::Fire(11, false, true, false, true, true).ID: return 1811; - case Fire::Fire(11, false, true, false, true, false).ID: return 1812; - case Fire::Fire(11, false, true, false, false, true).ID: return 1813; - case Fire::Fire(11, false, true, false, false, false).ID: return 1814; - case Fire::Fire(11, false, false, true, true, true).ID: return 1815; - case Fire::Fire(11, false, false, true, true, false).ID: return 1816; - case Fire::Fire(11, false, false, true, false, true).ID: return 1817; - case Fire::Fire(11, false, false, true, false, false).ID: return 1818; - case Fire::Fire(11, false, false, false, true, true).ID: return 1819; - case Fire::Fire(11, false, false, false, true, false).ID: return 1820; - case Fire::Fire(11, false, false, false, false, true).ID: return 1821; - case Fire::Fire(11, false, false, false, false, false).ID: return 1822; - case Fire::Fire(12, true, true, true, true, true).ID: return 1823; - case Fire::Fire(12, true, true, true, true, false).ID: return 1824; - case Fire::Fire(12, true, true, true, false, true).ID: return 1825; - case Fire::Fire(12, true, true, true, false, false).ID: return 1826; - case Fire::Fire(12, true, true, false, true, true).ID: return 1827; - case Fire::Fire(12, true, true, false, true, false).ID: return 1828; - case Fire::Fire(12, true, true, false, false, true).ID: return 1829; - case Fire::Fire(12, true, true, false, false, false).ID: return 1830; - case Fire::Fire(12, true, false, true, true, true).ID: return 1831; - case Fire::Fire(12, true, false, true, true, false).ID: return 1832; - case Fire::Fire(12, true, false, true, false, true).ID: return 1833; - case Fire::Fire(12, true, false, true, false, false).ID: return 1834; - case Fire::Fire(12, true, false, false, true, true).ID: return 1835; - case Fire::Fire(12, true, false, false, true, false).ID: return 1836; - case Fire::Fire(12, true, false, false, false, true).ID: return 1837; - case Fire::Fire(12, true, false, false, false, false).ID: return 1838; - case Fire::Fire(12, false, true, true, true, true).ID: return 1839; - case Fire::Fire(12, false, true, true, true, false).ID: return 1840; - case Fire::Fire(12, false, true, true, false, true).ID: return 1841; - case Fire::Fire(12, false, true, true, false, false).ID: return 1842; - case Fire::Fire(12, false, true, false, true, true).ID: return 1843; - case Fire::Fire(12, false, true, false, true, false).ID: return 1844; - case Fire::Fire(12, false, true, false, false, true).ID: return 1845; - case Fire::Fire(12, false, true, false, false, false).ID: return 1846; - case Fire::Fire(12, false, false, true, true, true).ID: return 1847; - case Fire::Fire(12, false, false, true, true, false).ID: return 1848; - case Fire::Fire(12, false, false, true, false, true).ID: return 1849; - case Fire::Fire(12, false, false, true, false, false).ID: return 1850; - case Fire::Fire(12, false, false, false, true, true).ID: return 1851; - case Fire::Fire(12, false, false, false, true, false).ID: return 1852; - case Fire::Fire(12, false, false, false, false, true).ID: return 1853; - case Fire::Fire(12, false, false, false, false, false).ID: return 1854; - case Fire::Fire(13, true, true, true, true, true).ID: return 1855; - case Fire::Fire(13, true, true, true, true, false).ID: return 1856; - case Fire::Fire(13, true, true, true, false, true).ID: return 1857; - case Fire::Fire(13, true, true, true, false, false).ID: return 1858; - case Fire::Fire(13, true, true, false, true, true).ID: return 1859; - case Fire::Fire(13, true, true, false, true, false).ID: return 1860; - case Fire::Fire(13, true, true, false, false, true).ID: return 1861; - case Fire::Fire(13, true, true, false, false, false).ID: return 1862; - case Fire::Fire(13, true, false, true, true, true).ID: return 1863; - case Fire::Fire(13, true, false, true, true, false).ID: return 1864; - case Fire::Fire(13, true, false, true, false, true).ID: return 1865; - case Fire::Fire(13, true, false, true, false, false).ID: return 1866; - case Fire::Fire(13, true, false, false, true, true).ID: return 1867; - case Fire::Fire(13, true, false, false, true, false).ID: return 1868; - case Fire::Fire(13, true, false, false, false, true).ID: return 1869; - case Fire::Fire(13, true, false, false, false, false).ID: return 1870; - case Fire::Fire(13, false, true, true, true, true).ID: return 1871; - case Fire::Fire(13, false, true, true, true, false).ID: return 1872; - case Fire::Fire(13, false, true, true, false, true).ID: return 1873; - case Fire::Fire(13, false, true, true, false, false).ID: return 1874; - case Fire::Fire(13, false, true, false, true, true).ID: return 1875; - case Fire::Fire(13, false, true, false, true, false).ID: return 1876; - case Fire::Fire(13, false, true, false, false, true).ID: return 1877; - case Fire::Fire(13, false, true, false, false, false).ID: return 1878; - case Fire::Fire(13, false, false, true, true, true).ID: return 1879; - case Fire::Fire(13, false, false, true, true, false).ID: return 1880; - case Fire::Fire(13, false, false, true, false, true).ID: return 1881; - case Fire::Fire(13, false, false, true, false, false).ID: return 1882; - case Fire::Fire(13, false, false, false, true, true).ID: return 1883; - case Fire::Fire(13, false, false, false, true, false).ID: return 1884; - case Fire::Fire(13, false, false, false, false, true).ID: return 1885; - case Fire::Fire(13, false, false, false, false, false).ID: return 1886; - case Fire::Fire(14, true, true, true, true, true).ID: return 1887; - case Fire::Fire(14, true, true, true, true, false).ID: return 1888; - case Fire::Fire(14, true, true, true, false, true).ID: return 1889; - case Fire::Fire(14, true, true, true, false, false).ID: return 1890; - case Fire::Fire(14, true, true, false, true, true).ID: return 1891; - case Fire::Fire(14, true, true, false, true, false).ID: return 1892; - case Fire::Fire(14, true, true, false, false, true).ID: return 1893; - case Fire::Fire(14, true, true, false, false, false).ID: return 1894; - case Fire::Fire(14, true, false, true, true, true).ID: return 1895; - case Fire::Fire(14, true, false, true, true, false).ID: return 1896; - case Fire::Fire(14, true, false, true, false, true).ID: return 1897; - case Fire::Fire(14, true, false, true, false, false).ID: return 1898; - case Fire::Fire(14, true, false, false, true, true).ID: return 1899; - case Fire::Fire(14, true, false, false, true, false).ID: return 1900; - case Fire::Fire(14, true, false, false, false, true).ID: return 1901; - case Fire::Fire(14, true, false, false, false, false).ID: return 1902; - case Fire::Fire(14, false, true, true, true, true).ID: return 1903; - case Fire::Fire(14, false, true, true, true, false).ID: return 1904; - case Fire::Fire(14, false, true, true, false, true).ID: return 1905; - case Fire::Fire(14, false, true, true, false, false).ID: return 1906; - case Fire::Fire(14, false, true, false, true, true).ID: return 1907; - case Fire::Fire(14, false, true, false, true, false).ID: return 1908; - case Fire::Fire(14, false, true, false, false, true).ID: return 1909; - case Fire::Fire(14, false, true, false, false, false).ID: return 1910; - case Fire::Fire(14, false, false, true, true, true).ID: return 1911; - case Fire::Fire(14, false, false, true, true, false).ID: return 1912; - case Fire::Fire(14, false, false, true, false, true).ID: return 1913; - case Fire::Fire(14, false, false, true, false, false).ID: return 1914; - case Fire::Fire(14, false, false, false, true, true).ID: return 1915; - case Fire::Fire(14, false, false, false, true, false).ID: return 1916; - case Fire::Fire(14, false, false, false, false, true).ID: return 1917; - case Fire::Fire(14, false, false, false, false, false).ID: return 1918; - case Fire::Fire(15, true, true, true, true, true).ID: return 1919; - case Fire::Fire(15, true, true, true, true, false).ID: return 1920; - case Fire::Fire(15, true, true, true, false, true).ID: return 1921; - case Fire::Fire(15, true, true, true, false, false).ID: return 1922; - case Fire::Fire(15, true, true, false, true, true).ID: return 1923; - case Fire::Fire(15, true, true, false, true, false).ID: return 1924; - case Fire::Fire(15, true, true, false, false, true).ID: return 1925; - case Fire::Fire(15, true, true, false, false, false).ID: return 1926; - case Fire::Fire(15, true, false, true, true, true).ID: return 1927; - case Fire::Fire(15, true, false, true, true, false).ID: return 1928; - case Fire::Fire(15, true, false, true, false, true).ID: return 1929; - case Fire::Fire(15, true, false, true, false, false).ID: return 1930; - case Fire::Fire(15, true, false, false, true, true).ID: return 1931; - case Fire::Fire(15, true, false, false, true, false).ID: return 1932; - case Fire::Fire(15, true, false, false, false, true).ID: return 1933; - case Fire::Fire(15, true, false, false, false, false).ID: return 1934; - case Fire::Fire(15, false, true, true, true, true).ID: return 1935; - case Fire::Fire(15, false, true, true, true, false).ID: return 1936; - case Fire::Fire(15, false, true, true, false, true).ID: return 1937; - case Fire::Fire(15, false, true, true, false, false).ID: return 1938; - case Fire::Fire(15, false, true, false, true, true).ID: return 1939; - case Fire::Fire(15, false, true, false, true, false).ID: return 1940; - case Fire::Fire(15, false, true, false, false, true).ID: return 1941; - case Fire::Fire(15, false, true, false, false, false).ID: return 1942; - case Fire::Fire(15, false, false, true, true, true).ID: return 1943; - case Fire::Fire(15, false, false, true, true, false).ID: return 1944; - case Fire::Fire(15, false, false, true, false, true).ID: return 1945; - case Fire::Fire(15, false, false, true, false, false).ID: return 1946; - case Fire::Fire(15, false, false, false, true, true).ID: return 1947; - case Fire::Fire(15, false, false, false, true, false).ID: return 1948; - case Fire::Fire(15, false, false, false, false, true).ID: return 1949; - case Fire::Fire(15, false, false, false, false, false).ID: return 1950; - case FireCoral::FireCoral().ID: return 9001; - case FireCoralBlock::FireCoralBlock().ID: return 8982; - case FireCoralFan::FireCoralFan().ID: return 9021; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9089; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9091; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9093; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9095; - case FletchingTable::FletchingTable().ID: return 11164; - case FlowerPot::FlowerPot().ID: return 5769; - case FrostedIce::FrostedIce(0).ID: return 8713; - case FrostedIce::FrostedIce(1).ID: return 8714; - case FrostedIce::FrostedIce(2).ID: return 8715; - case FrostedIce::FrostedIce(3).ID: return 8716; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3371; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3372; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3373; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3374; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3375; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3376; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3377; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3378; - case Glass::Glass().ID: return 230; - case GlassPane::GlassPane(true, true, true, true).ID: return 4717; - case GlassPane::GlassPane(true, true, true, false).ID: return 4718; - case GlassPane::GlassPane(true, true, false, true).ID: return 4721; - case GlassPane::GlassPane(true, true, false, false).ID: return 4722; - case GlassPane::GlassPane(true, false, true, true).ID: return 4725; - case GlassPane::GlassPane(true, false, true, false).ID: return 4726; - case GlassPane::GlassPane(true, false, false, true).ID: return 4729; - case GlassPane::GlassPane(true, false, false, false).ID: return 4730; - case GlassPane::GlassPane(false, true, true, true).ID: return 4733; - case GlassPane::GlassPane(false, true, true, false).ID: return 4734; - case GlassPane::GlassPane(false, true, false, true).ID: return 4737; - case GlassPane::GlassPane(false, true, false, false).ID: return 4738; - case GlassPane::GlassPane(false, false, true, true).ID: return 4741; - case GlassPane::GlassPane(false, false, true, false).ID: return 4742; - case GlassPane::GlassPane(false, false, false, true).ID: return 4745; - case GlassPane::GlassPane(false, false, false, false).ID: return 4746; - case Glowstone::Glowstone().ID: return 3999; - case GoldBlock::GoldBlock().ID: return 1426; - case GoldOre::GoldOre().ID: return 69; - case Granite::Granite().ID: return 2; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Top).ID: return 10302; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Bottom).ID: return 10304; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Double).ID: return 10306; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 9854; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 9856; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 9858; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 9860; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 9862; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 9864; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 9866; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 9868; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 9870; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 9872; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 9874; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 9876; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 9878; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 9880; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 9882; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 9884; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 9886; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 9888; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 9890; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 9892; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 9894; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 9896; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 9898; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 9900; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 9902; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 9904; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 9906; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 9908; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 9910; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 9912; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 9914; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 9916; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 9918; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 9920; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 9922; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 9924; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 9926; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 9928; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 9930; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 9932; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 10589; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 10590; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 10593; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 10594; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 10597; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 10598; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 10601; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 10602; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 10605; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 10606; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 10609; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 10610; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 10613; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 10614; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 10617; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 10618; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 10621; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 10622; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 10625; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 10626; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 10629; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 10630; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 10633; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 10634; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 10637; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 10638; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 10641; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 10642; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 10645; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 10646; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 10649; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 10650; - case Grass::Grass().ID: return 1341; - case GrassBlock::GrassBlock(true).ID: return 8; - case GrassBlock::GrassBlock(false).ID: return 9; - case GrassPath::GrassPath().ID: return 8687; - case Gravel::Gravel().ID: return 68; - case GrayBanner::GrayBanner(0).ID: return 7473; - case GrayBanner::GrayBanner(1).ID: return 7474; - case GrayBanner::GrayBanner(2).ID: return 7475; - case GrayBanner::GrayBanner(3).ID: return 7476; - case GrayBanner::GrayBanner(4).ID: return 7477; - case GrayBanner::GrayBanner(5).ID: return 7478; - case GrayBanner::GrayBanner(6).ID: return 7479; - case GrayBanner::GrayBanner(7).ID: return 7480; - case GrayBanner::GrayBanner(8).ID: return 7481; - case GrayBanner::GrayBanner(9).ID: return 7482; - case GrayBanner::GrayBanner(10).ID: return 7483; - case GrayBanner::GrayBanner(11).ID: return 7484; - case GrayBanner::GrayBanner(12).ID: return 7485; - case GrayBanner::GrayBanner(13).ID: return 7486; - case GrayBanner::GrayBanner(14).ID: return 7487; - case GrayBanner::GrayBanner(15).ID: return 7488; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 1160; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 1161; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 1162; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 1163; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 1164; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 1165; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 1166; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 1167; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 1168; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 1169; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 1170; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 1171; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 1172; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 1173; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 1174; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 1175; - case GrayCarpet::GrayCarpet().ID: return 7337; - case GrayConcrete::GrayConcrete().ID: return 8909; - case GrayConcretePowder::GrayConcretePowder().ID: return 8925; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8866; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8867; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8868; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8869; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8784; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8785; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8786; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8787; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8788; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8789; - case GrayStainedGlass::GrayStainedGlass().ID: return 4088; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 6553; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 6554; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 6557; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 6558; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 6561; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 6562; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 6565; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 6566; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 6569; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 6570; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 6573; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 6574; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 6577; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 6578; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 6581; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 6582; - case GrayTerracotta::GrayTerracotta().ID: return 6318; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7645; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7646; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7647; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7648; - case GrayWool::GrayWool().ID: return 1390; - case GreenBanner::GreenBanner(0).ID: return 7569; - case GreenBanner::GreenBanner(1).ID: return 7570; - case GreenBanner::GreenBanner(2).ID: return 7571; - case GreenBanner::GreenBanner(3).ID: return 7572; - case GreenBanner::GreenBanner(4).ID: return 7573; - case GreenBanner::GreenBanner(5).ID: return 7574; - case GreenBanner::GreenBanner(6).ID: return 7575; - case GreenBanner::GreenBanner(7).ID: return 7576; - case GreenBanner::GreenBanner(8).ID: return 7577; - case GreenBanner::GreenBanner(9).ID: return 7578; - case GreenBanner::GreenBanner(10).ID: return 7579; - case GreenBanner::GreenBanner(11).ID: return 7580; - case GreenBanner::GreenBanner(12).ID: return 7581; - case GreenBanner::GreenBanner(13).ID: return 7582; - case GreenBanner::GreenBanner(14).ID: return 7583; - case GreenBanner::GreenBanner(15).ID: return 7584; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 1256; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 1257; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 1258; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 1259; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 1260; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 1261; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 1262; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 1263; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 1264; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 1265; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 1266; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 1267; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 1268; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 1269; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 1270; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 1271; - case GreenCarpet::GreenCarpet().ID: return 7343; - case GreenConcrete::GreenConcrete().ID: return 8915; - case GreenConcretePowder::GreenConcretePowder().ID: return 8931; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8890; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8891; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8892; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8893; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8820; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8821; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8822; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8823; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8824; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8825; - case GreenStainedGlass::GreenStainedGlass().ID: return 4094; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 6745; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 6746; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 6749; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 6750; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 6753; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 6754; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 6757; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 6758; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 6761; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 6762; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 6765; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 6766; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 6769; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 6770; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 6773; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 6774; - case GreenTerracotta::GreenTerracotta().ID: return 6324; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7669; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7670; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7671; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7672; - case GreenWool::GreenWool().ID: return 1396; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZM).ID: return 11165; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZP).ID: return 11166; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XM).ID: return 11167; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XP).ID: return 11168; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZM).ID: return 11169; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZP).ID: return 11170; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XM).ID: return 11171; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XP).ID: return 11172; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM).ID: return 11173; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP).ID: return 11174; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XM).ID: return 11175; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XP).ID: return 11176; - case HayBale::HayBale(HayBale::Axis::X).ID: return 7327; - case HayBale::HayBale(HayBale::Axis::Y).ID: return 7328; - case HayBale::HayBale(HayBale::Axis::Z).ID: return 7329; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 6126; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 6127; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 6128; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 6129; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 6130; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 6131; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 6132; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 6133; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 6134; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 6135; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 6136; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 6137; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 6138; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 6139; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 6140; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 6141; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 6192; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 6193; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 6194; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 6195; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 6196; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 6197; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 6198; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 6199; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 6200; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 6201; - case HornCoral::HornCoral().ID: return 9003; - case HornCoralBlock::HornCoralBlock().ID: return 8983; - case HornCoralFan::HornCoralFan().ID: return 9023; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9097; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9099; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9101; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9103; - case Ice::Ice().ID: return 3927; - case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 4490; - case InfestedCobblestone::InfestedCobblestone().ID: return 4486; - case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 4489; - case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 4488; - case InfestedStone::InfestedStone().ID: return 4485; - case InfestedStoneBricks::InfestedStoneBricks().ID: return 4487; - case IronBars::IronBars(true, true, true, true).ID: return 4685; - case IronBars::IronBars(true, true, true, false).ID: return 4686; - case IronBars::IronBars(true, true, false, true).ID: return 4689; - case IronBars::IronBars(true, true, false, false).ID: return 4690; - case IronBars::IronBars(true, false, true, true).ID: return 4693; - case IronBars::IronBars(true, false, true, false).ID: return 4694; - case IronBars::IronBars(true, false, false, true).ID: return 4697; - case IronBars::IronBars(true, false, false, false).ID: return 4698; - case IronBars::IronBars(false, true, true, true).ID: return 4701; - case IronBars::IronBars(false, true, true, false).ID: return 4702; - case IronBars::IronBars(false, true, false, true).ID: return 4705; - case IronBars::IronBars(false, true, false, false).ID: return 4706; - case IronBars::IronBars(false, false, true, true).ID: return 4709; - case IronBars::IronBars(false, false, true, false).ID: return 4710; - case IronBars::IronBars(false, false, false, true).ID: return 4713; - case IronBars::IronBars(false, false, false, false).ID: return 4714; - case IronBlock::IronBlock().ID: return 1427; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3807; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3808; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3809; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3810; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3811; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3812; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3813; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3814; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3815; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3816; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3817; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3818; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3819; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3820; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3821; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3822; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3823; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3824; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3825; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3826; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3827; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3828; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3829; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3830; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3831; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3832; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3833; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3834; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3835; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3836; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3837; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3838; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3839; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3840; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3841; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3842; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3843; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3844; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3845; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3846; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3847; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3848; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3849; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3850; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3851; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3852; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3853; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3854; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3855; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3856; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3857; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3858; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3859; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3860; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3861; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3862; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3863; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3864; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3865; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3866; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3867; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3868; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3869; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3870; - case IronOre::IronOre().ID: return 70; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 7002; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: return 7004; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: return 7006; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: return 7008; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: return 7010; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: return 7012; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: return 7014; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: return 7016; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 7018; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: return 7020; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: return 7022; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: return 7024; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: return 7026; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: return 7028; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: return 7030; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: return 7032; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 7034; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: return 7036; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: return 7038; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: return 7040; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: return 7042; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: return 7044; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: return 7046; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: return 7048; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 7050; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: return 7052; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: return 7054; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: return 7056; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: return 7058; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: return 7060; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: return 7062; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: return 7064; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 4006; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 4007; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 4008; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 4009; - case Jigsaw::Jigsaw(Jigsaw::Orientation::NorthUp).ID: return 11256; - case Jigsaw::Jigsaw(Jigsaw::Orientation::EastUp).ID: return 11257; - case Jigsaw::Jigsaw(Jigsaw::Orientation::SouthUp).ID: return 11258; - case Jigsaw::Jigsaw(Jigsaw::Orientation::WestUp).ID: return 11259; - case Jigsaw::Jigsaw(Jigsaw::Orientation::UpSouth).ID: return 11260; - case Jigsaw::Jigsaw(Jigsaw::Orientation::DownSouth).ID: return 11261; - case Jukebox::Jukebox(true).ID: return 3962; - case Jukebox::Jukebox(false).ID: return 3963; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5882; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5883; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5884; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5885; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5886; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5887; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5888; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5889; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5890; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5891; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5892; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5893; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5894; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5895; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5896; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5897; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5898; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5899; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5900; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5901; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5902; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5903; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5904; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5905; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8330; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8331; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8332; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8333; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8334; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8335; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8336; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8337; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8338; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8339; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8340; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8341; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8342; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8343; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8344; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8345; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8346; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8347; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8348; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8349; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8350; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8351; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8352; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8353; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8354; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8355; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8356; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8357; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8358; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8359; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8360; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8361; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8362; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8363; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8364; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8365; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8366; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8367; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8368; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8369; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8370; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8371; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8372; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8373; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8374; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8375; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8376; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8377; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8378; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8379; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8380; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8381; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8382; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8383; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8384; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8385; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8386; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8387; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8388; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8389; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8390; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8391; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8392; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8393; - case JungleFence::JungleFence(true, true, true, true).ID: return 8108; - case JungleFence::JungleFence(true, true, true, false).ID: return 8109; - case JungleFence::JungleFence(true, true, false, true).ID: return 8112; - case JungleFence::JungleFence(true, true, false, false).ID: return 8113; - case JungleFence::JungleFence(true, false, true, true).ID: return 8116; - case JungleFence::JungleFence(true, false, true, false).ID: return 8117; - case JungleFence::JungleFence(true, false, false, true).ID: return 8120; - case JungleFence::JungleFence(true, false, false, false).ID: return 8121; - case JungleFence::JungleFence(false, true, true, true).ID: return 8124; - case JungleFence::JungleFence(false, true, true, false).ID: return 8125; - case JungleFence::JungleFence(false, true, false, true).ID: return 8128; - case JungleFence::JungleFence(false, true, false, false).ID: return 8129; - case JungleFence::JungleFence(false, false, true, true).ID: return 8132; - case JungleFence::JungleFence(false, false, true, false).ID: return 8133; - case JungleFence::JungleFence(false, false, false, true).ID: return 8136; - case JungleFence::JungleFence(false, false, false, false).ID: return 8137; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7946; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7947; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7948; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7949; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7950; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7951; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7952; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7953; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7954; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7955; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7956; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7957; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7958; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7959; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7960; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7961; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7962; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7963; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7964; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7965; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7966; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7967; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7968; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7969; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7970; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7971; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7972; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7973; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7974; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7975; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7976; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7977; - case JungleLeaves::JungleLeaves(1, true).ID: return 186; - case JungleLeaves::JungleLeaves(1, false).ID: return 187; - case JungleLeaves::JungleLeaves(2, true).ID: return 188; - case JungleLeaves::JungleLeaves(2, false).ID: return 189; - case JungleLeaves::JungleLeaves(3, true).ID: return 190; - case JungleLeaves::JungleLeaves(3, false).ID: return 191; - case JungleLeaves::JungleLeaves(4, true).ID: return 192; - case JungleLeaves::JungleLeaves(4, false).ID: return 193; - case JungleLeaves::JungleLeaves(5, true).ID: return 194; - case JungleLeaves::JungleLeaves(5, false).ID: return 195; - case JungleLeaves::JungleLeaves(6, true).ID: return 196; - case JungleLeaves::JungleLeaves(6, false).ID: return 197; - case JungleLeaves::JungleLeaves(7, true).ID: return 198; - case JungleLeaves::JungleLeaves(7, false).ID: return 199; - case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 81; - case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 82; - case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 83; - case JunglePlanks::JunglePlanks().ID: return 18; - case JunglePressurePlate::JunglePressurePlate(true).ID: return 3877; - case JunglePressurePlate::JunglePressurePlate(false).ID: return 3878; - case JungleSapling::JungleSapling(0).ID: return 27; - case JungleSapling::JungleSapling(1).ID: return 28; - case JungleSign::JungleSign(0).ID: return 3508; - case JungleSign::JungleSign(1).ID: return 3510; - case JungleSign::JungleSign(2).ID: return 3512; - case JungleSign::JungleSign(3).ID: return 3514; - case JungleSign::JungleSign(4).ID: return 3516; - case JungleSign::JungleSign(5).ID: return 3518; - case JungleSign::JungleSign(6).ID: return 3520; - case JungleSign::JungleSign(7).ID: return 3522; - case JungleSign::JungleSign(8).ID: return 3524; - case JungleSign::JungleSign(9).ID: return 3526; - case JungleSign::JungleSign(10).ID: return 3528; - case JungleSign::JungleSign(11).ID: return 3530; - case JungleSign::JungleSign(12).ID: return 3532; - case JungleSign::JungleSign(13).ID: return 3534; - case JungleSign::JungleSign(14).ID: return 3536; - case JungleSign::JungleSign(15).ID: return 3538; - case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 7783; - case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 7785; - case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 7787; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5549; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5551; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5553; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5555; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5557; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5559; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5561; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5563; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5565; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5567; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5569; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5571; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5573; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5575; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5577; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5579; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5581; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5583; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5585; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5587; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5589; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5591; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5593; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5595; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5597; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5599; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5601; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5603; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5605; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5607; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5609; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5611; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5613; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5615; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5617; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5619; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5621; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5623; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5625; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5627; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: return 4290; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: return 4292; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: return 4294; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: return 4296; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: return 4298; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: return 4300; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: return 4302; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: return 4304; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: return 4306; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: return 4308; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: return 4310; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: return 4312; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: return 4314; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: return 4316; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: return 4318; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: return 4320; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: return 4322; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: return 4324; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: return 4326; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: return 4328; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: return 4330; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: return 4332; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: return 4334; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: return 4336; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: return 4338; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: return 4340; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: return 4342; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: return 4344; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: return 4346; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: return 4348; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: return 4350; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: return 4352; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3766; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3768; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3770; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3772; - case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 117; - case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 118; - case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 119; - case Kelp::Kelp(0).ID: return 8934; - case Kelp::Kelp(1).ID: return 8935; - case Kelp::Kelp(2).ID: return 8936; - case Kelp::Kelp(3).ID: return 8937; - case Kelp::Kelp(4).ID: return 8938; - case Kelp::Kelp(5).ID: return 8939; - case Kelp::Kelp(6).ID: return 8940; - case Kelp::Kelp(7).ID: return 8941; - case Kelp::Kelp(8).ID: return 8942; - case Kelp::Kelp(9).ID: return 8943; - case Kelp::Kelp(10).ID: return 8944; - case Kelp::Kelp(11).ID: return 8945; - case Kelp::Kelp(12).ID: return 8946; - case Kelp::Kelp(13).ID: return 8947; - case Kelp::Kelp(14).ID: return 8948; - case Kelp::Kelp(15).ID: return 8949; - case Kelp::Kelp(16).ID: return 8950; - case Kelp::Kelp(17).ID: return 8951; - case Kelp::Kelp(18).ID: return 8952; - case Kelp::Kelp(19).ID: return 8953; - case Kelp::Kelp(20).ID: return 8954; - case Kelp::Kelp(21).ID: return 8955; - case Kelp::Kelp(22).ID: return 8956; - case Kelp::Kelp(23).ID: return 8957; - case Kelp::Kelp(24).ID: return 8958; - case Kelp::Kelp(25).ID: return 8959; - case KelpPlant::KelpPlant().ID: return 8960; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3636; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3638; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3640; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3642; - case Lantern::Lantern(true).ID: return 11214; - case Lantern::Lantern(false).ID: return 11215; - case LapisBlock::LapisBlock().ID: return 232; - case LapisOre::LapisOre().ID: return 231; - case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 7359; - case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 7360; - case Lava::Lava(0).ID: return 50; - case Lava::Lava(1).ID: return 51; - case Lava::Lava(2).ID: return 52; - case Lava::Lava(3).ID: return 53; - case Lava::Lava(4).ID: return 54; - case Lava::Lava(5).ID: return 55; - case Lava::Lava(6).ID: return 56; - case Lava::Lava(7).ID: return 57; - case Lava::Lava(8).ID: return 58; - case Lava::Lava(9).ID: return 59; - case Lava::Lava(10).ID: return 60; - case Lava::Lava(11).ID: return 61; - case Lava::Lava(12).ID: return 62; - case Lava::Lava(13).ID: return 63; - case Lava::Lava(14).ID: return 64; - case Lava::Lava(15).ID: return 65; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 11177; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 11178; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 11179; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 11180; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 11181; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 11182; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 11183; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 11184; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 11185; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 11186; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 11187; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 11188; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 11189; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 11190; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 11191; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 11192; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3781; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3782; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3783; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3784; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3785; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3786; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3787; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3788; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3789; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3790; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3791; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3792; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3793; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3794; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3795; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3796; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3797; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3798; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3799; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3800; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3801; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3802; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3803; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3804; - case LightBlueBanner::LightBlueBanner(0).ID: return 7409; - case LightBlueBanner::LightBlueBanner(1).ID: return 7410; - case LightBlueBanner::LightBlueBanner(2).ID: return 7411; - case LightBlueBanner::LightBlueBanner(3).ID: return 7412; - case LightBlueBanner::LightBlueBanner(4).ID: return 7413; - case LightBlueBanner::LightBlueBanner(5).ID: return 7414; - case LightBlueBanner::LightBlueBanner(6).ID: return 7415; - case LightBlueBanner::LightBlueBanner(7).ID: return 7416; - case LightBlueBanner::LightBlueBanner(8).ID: return 7417; - case LightBlueBanner::LightBlueBanner(9).ID: return 7418; - case LightBlueBanner::LightBlueBanner(10).ID: return 7419; - case LightBlueBanner::LightBlueBanner(11).ID: return 7420; - case LightBlueBanner::LightBlueBanner(12).ID: return 7421; - case LightBlueBanner::LightBlueBanner(13).ID: return 7422; - case LightBlueBanner::LightBlueBanner(14).ID: return 7423; - case LightBlueBanner::LightBlueBanner(15).ID: return 7424; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 1096; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 1097; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 1098; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 1099; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 1100; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 1101; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 1102; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 1103; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 1104; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 1105; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 1106; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 1107; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 1108; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 1109; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 1110; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 1111; - case LightBlueCarpet::LightBlueCarpet().ID: return 7333; - case LightBlueConcrete::LightBlueConcrete().ID: return 8905; - case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 8921; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8850; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8851; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8852; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8853; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8760; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8761; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8762; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8763; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8764; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8765; - case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 4084; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 6425; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 6426; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 6429; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 6430; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 6433; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 6434; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 6437; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 6438; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 6441; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 6442; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 6445; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 6446; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 6449; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 6450; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 6453; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 6454; - case LightBlueTerracotta::LightBlueTerracotta().ID: return 6314; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7629; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7630; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7631; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7632; - case LightBlueWool::LightBlueWool().ID: return 1386; - case LightGrayBanner::LightGrayBanner(0).ID: return 7489; - case LightGrayBanner::LightGrayBanner(1).ID: return 7490; - case LightGrayBanner::LightGrayBanner(2).ID: return 7491; - case LightGrayBanner::LightGrayBanner(3).ID: return 7492; - case LightGrayBanner::LightGrayBanner(4).ID: return 7493; - case LightGrayBanner::LightGrayBanner(5).ID: return 7494; - case LightGrayBanner::LightGrayBanner(6).ID: return 7495; - case LightGrayBanner::LightGrayBanner(7).ID: return 7496; - case LightGrayBanner::LightGrayBanner(8).ID: return 7497; - case LightGrayBanner::LightGrayBanner(9).ID: return 7498; - case LightGrayBanner::LightGrayBanner(10).ID: return 7499; - case LightGrayBanner::LightGrayBanner(11).ID: return 7500; - case LightGrayBanner::LightGrayBanner(12).ID: return 7501; - case LightGrayBanner::LightGrayBanner(13).ID: return 7502; - case LightGrayBanner::LightGrayBanner(14).ID: return 7503; - case LightGrayBanner::LightGrayBanner(15).ID: return 7504; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 1176; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 1177; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 1178; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 1179; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 1180; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 1181; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 1182; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 1183; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 1184; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 1185; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 1186; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 1187; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 1188; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 1189; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 1190; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 1191; - case LightGrayCarpet::LightGrayCarpet().ID: return 7338; - case LightGrayConcrete::LightGrayConcrete().ID: return 8910; - case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 8926; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8870; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8871; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8872; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8873; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8790; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8791; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8792; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8793; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8794; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8795; - case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 4089; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 6585; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 6586; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 6589; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 6590; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 6593; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 6594; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 6597; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 6598; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 6601; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 6602; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 6605; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 6606; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 6609; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 6610; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 6613; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 6614; - case LightGrayTerracotta::LightGrayTerracotta().ID: return 6319; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7649; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7650; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7651; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7652; - case LightGrayWool::LightGrayWool().ID: return 1391; - case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 6110; - case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 6111; - case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 6112; - case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 6113; - case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 6114; - case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 6115; - case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 6116; - case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 6117; - case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 6118; - case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 6119; - case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 6120; - case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 6121; - case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 6122; - case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 6123; - case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 6124; - case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 6125; - case Lilac::Lilac(Lilac::Half::Upper).ID: return 7351; - case Lilac::Lilac(Lilac::Half::Lower).ID: return 7352; - case LilyOfTheValley::LilyOfTheValley().ID: return 1423; - case LilyPad::LilyPad().ID: return 4998; - case LimeBanner::LimeBanner(0).ID: return 7441; - case LimeBanner::LimeBanner(1).ID: return 7442; - case LimeBanner::LimeBanner(2).ID: return 7443; - case LimeBanner::LimeBanner(3).ID: return 7444; - case LimeBanner::LimeBanner(4).ID: return 7445; - case LimeBanner::LimeBanner(5).ID: return 7446; - case LimeBanner::LimeBanner(6).ID: return 7447; - case LimeBanner::LimeBanner(7).ID: return 7448; - case LimeBanner::LimeBanner(8).ID: return 7449; - case LimeBanner::LimeBanner(9).ID: return 7450; - case LimeBanner::LimeBanner(10).ID: return 7451; - case LimeBanner::LimeBanner(11).ID: return 7452; - case LimeBanner::LimeBanner(12).ID: return 7453; - case LimeBanner::LimeBanner(13).ID: return 7454; - case LimeBanner::LimeBanner(14).ID: return 7455; - case LimeBanner::LimeBanner(15).ID: return 7456; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 1128; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 1129; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 1130; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 1131; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 1132; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 1133; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 1134; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 1135; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 1136; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 1137; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 1138; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 1139; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 1140; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 1141; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 1142; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 1143; - case LimeCarpet::LimeCarpet().ID: return 7335; - case LimeConcrete::LimeConcrete().ID: return 8907; - case LimeConcretePowder::LimeConcretePowder().ID: return 8923; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8858; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8859; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8860; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8861; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8772; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8773; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8774; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8775; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8776; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8777; - case LimeStainedGlass::LimeStainedGlass().ID: return 4086; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 6489; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 6490; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 6493; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 6494; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 6497; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 6498; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 6501; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 6502; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 6505; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 6506; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 6509; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 6510; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 6513; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 6514; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 6517; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 6518; - case LimeTerracotta::LimeTerracotta().ID: return 6316; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7637; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7638; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7639; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7640; - case LimeWool::LimeWool().ID: return 1388; - case Loom::Loom(eBlockFace::BLOCK_FACE_ZM).ID: return 11131; - case Loom::Loom(eBlockFace::BLOCK_FACE_ZP).ID: return 11132; - case Loom::Loom(eBlockFace::BLOCK_FACE_XM).ID: return 11133; - case Loom::Loom(eBlockFace::BLOCK_FACE_XP).ID: return 11134; - case MagentaBanner::MagentaBanner(0).ID: return 7393; - case MagentaBanner::MagentaBanner(1).ID: return 7394; - case MagentaBanner::MagentaBanner(2).ID: return 7395; - case MagentaBanner::MagentaBanner(3).ID: return 7396; - case MagentaBanner::MagentaBanner(4).ID: return 7397; - case MagentaBanner::MagentaBanner(5).ID: return 7398; - case MagentaBanner::MagentaBanner(6).ID: return 7399; - case MagentaBanner::MagentaBanner(7).ID: return 7400; - case MagentaBanner::MagentaBanner(8).ID: return 7401; - case MagentaBanner::MagentaBanner(9).ID: return 7402; - case MagentaBanner::MagentaBanner(10).ID: return 7403; - case MagentaBanner::MagentaBanner(11).ID: return 7404; - case MagentaBanner::MagentaBanner(12).ID: return 7405; - case MagentaBanner::MagentaBanner(13).ID: return 7406; - case MagentaBanner::MagentaBanner(14).ID: return 7407; - case MagentaBanner::MagentaBanner(15).ID: return 7408; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 1080; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 1081; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 1082; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 1083; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 1084; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 1085; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 1086; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 1087; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 1088; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 1089; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 1090; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 1091; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 1092; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 1093; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 1094; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 1095; - case MagentaCarpet::MagentaCarpet().ID: return 7332; - case MagentaConcrete::MagentaConcrete().ID: return 8904; - case MagentaConcretePowder::MagentaConcretePowder().ID: return 8920; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8846; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8847; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8848; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8849; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8754; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8755; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8756; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8757; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8758; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8759; - case MagentaStainedGlass::MagentaStainedGlass().ID: return 4083; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 6393; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 6394; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 6397; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 6398; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 6401; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 6402; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 6405; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 6406; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 6409; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 6410; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 6413; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 6414; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 6417; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 6418; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 6421; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 6422; - case MagentaTerracotta::MagentaTerracotta().ID: return 6313; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7625; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7626; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7627; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7628; - case MagentaWool::MagentaWool().ID: return 1385; - case MagmaBlock::MagmaBlock().ID: return 8717; - case Melon::Melon().ID: return 4747; - case MelonStem::MelonStem(0).ID: return 4764; - case MelonStem::MelonStem(1).ID: return 4765; - case MelonStem::MelonStem(2).ID: return 4766; - case MelonStem::MelonStem(3).ID: return 4767; - case MelonStem::MelonStem(4).ID: return 4768; - case MelonStem::MelonStem(5).ID: return 4769; - case MelonStem::MelonStem(6).ID: return 4770; - case MelonStem::MelonStem(7).ID: return 4771; - case MossyCobblestone::MossyCobblestone().ID: return 1432; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Top).ID: return 10278; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Bottom).ID: return 10280; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Double).ID: return 10282; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9454; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9456; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9458; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9460; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9462; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 9464; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9466; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9468; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9470; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9472; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9474; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9476; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9478; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9480; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9482; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 9484; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9486; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9488; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9490; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9492; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9494; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9496; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9498; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9500; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9502; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 9504; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9506; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9508; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9510; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9512; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9514; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9516; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9518; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9520; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9522; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 9524; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9526; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9528; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9530; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9532; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5707; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5708; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5711; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5712; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5715; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5716; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5719; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5720; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5723; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5724; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5727; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5728; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5731; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5732; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5735; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5736; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5739; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5740; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5743; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5744; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5747; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5748; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5751; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5752; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5755; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5756; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5759; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5760; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5763; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5764; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5767; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5768; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Top).ID: return 10266; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Bottom).ID: return 10268; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Double).ID: return 10270; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9294; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9296; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9298; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9300; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9302; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9304; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9306; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9308; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9310; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9312; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9314; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9316; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9318; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9320; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9322; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9324; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9326; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9328; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9330; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9332; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9334; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9336; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9338; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9340; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9342; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9344; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9346; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9348; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9350; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9352; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9354; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9356; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9358; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9360; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9362; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9364; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9366; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9368; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9370; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9372; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 10525; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 10526; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 10529; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 10530; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 10533; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 10534; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 10537; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 10538; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 10541; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 10542; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 10545; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 10546; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 10549; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 10550; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 10553; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 10554; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 10557; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 10558; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 10561; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 10562; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 10565; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 10566; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 10569; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 10570; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 10573; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 10574; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 10577; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 10578; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 10581; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 10582; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 10585; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 10586; - case MossyStoneBricks::MossyStoneBricks().ID: return 4482; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1399; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1400; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1401; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1402; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1403; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1404; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1405; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1406; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1407; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1408; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1409; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1410; - case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4619; - case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4620; - case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4621; - case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4622; - case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4623; - case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4624; - case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4625; - case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4626; - case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4627; - case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4628; - case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4629; - case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4630; - case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4631; - case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4632; - case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4633; - case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4634; - case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4635; - case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4636; - case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4637; - case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4638; - case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4639; - case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4640; - case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4641; - case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4642; - case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4643; - case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4644; - case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4645; - case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4646; - case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4647; - case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4648; - case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4649; - case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4650; - case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4651; - case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4652; - case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4653; - case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4654; - case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4655; - case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4656; - case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4657; - case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4658; - case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4659; - case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4660; - case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4661; - case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4662; - case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4663; - case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4664; - case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4665; - case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4666; - case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4667; - case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4668; - case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4669; - case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4670; - case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4671; - case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4672; - case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4673; - case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4674; - case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4675; - case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4676; - case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4677; - case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4678; - case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4679; - case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4680; - case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4681; - case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4682; - case Mycelium::Mycelium(true).ID: return 4996; - case Mycelium::Mycelium(false).ID: return 4997; - case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 5002; - case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 5003; - case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 5006; - case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 5007; - case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 5010; - case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 5011; - case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 5014; - case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 5015; - case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 5018; - case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 5019; - case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 5022; - case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 5023; - case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 5026; - case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 5027; - case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 5030; - case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 5031; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 7849; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 7851; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 7853; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5033; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5035; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5037; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5039; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5041; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5043; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5045; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5047; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5049; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5051; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5053; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5055; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5057; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5059; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5061; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5063; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5065; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5067; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5069; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5071; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5073; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5075; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5077; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5079; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5081; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5083; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5085; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5087; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5089; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5091; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5093; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5095; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5097; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5099; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5101; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5103; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5105; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5107; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5109; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5111; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 10717; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 10718; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 10721; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 10722; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 10725; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 10726; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 10729; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 10730; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 10733; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 10734; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 10737; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 10738; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 10741; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 10742; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 10745; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 10746; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 10749; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 10750; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 10753; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 10754; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 10757; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 10758; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 10761; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 10762; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 10765; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 10766; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 10769; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 10770; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 10773; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 10774; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 10777; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 10778; - case NetherBricks::NetherBricks().ID: return 4999; - case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 4000; - case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 4001; - case NetherQuartzOre::NetherQuartzOre().ID: return 6191; - case NetherWart::NetherWart(0).ID: return 5112; - case NetherWart::NetherWart(1).ID: return 5113; - case NetherWart::NetherWart(2).ID: return 5114; - case NetherWart::NetherWart(3).ID: return 5115; - case NetherWartBlock::NetherWartBlock().ID: return 8718; - case Netherrack::Netherrack().ID: return 3997; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 248; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 249; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 250; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 251; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 252; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 253; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 254; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 255; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 256; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 257; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 258; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 259; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 260; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 261; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 262; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 263; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 264; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 265; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 266; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 267; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 268; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 269; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 270; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 271; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 272; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 273; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 274; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 275; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 276; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 277; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 278; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 279; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 280; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 281; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 282; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 283; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 284; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 285; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 286; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 287; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 288; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 289; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 290; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 291; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 292; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 293; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 294; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 295; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 296; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 297; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 298; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 299; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 300; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 301; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 302; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 303; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 304; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 305; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 306; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 307; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 308; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 309; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 310; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 311; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 312; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 313; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 314; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 315; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 316; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 317; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 318; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 319; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 320; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 321; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 322; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 323; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 324; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 325; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 326; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 327; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 328; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 329; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 330; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 331; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 332; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 333; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 334; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 335; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 336; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 337; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 338; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 339; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 340; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 341; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 342; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 343; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 344; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 345; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 346; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 347; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 348; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 349; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 350; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 351; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 352; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 353; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 354; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 355; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 356; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 357; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 358; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 359; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 360; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 361; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 362; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 363; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 364; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 365; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 366; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 367; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 368; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 369; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 370; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 371; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 372; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 373; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 374; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 375; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 376; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 377; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 378; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 379; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 380; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 381; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 382; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 383; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 384; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 385; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 386; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 387; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 388; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 389; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 390; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 391; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 392; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 393; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 394; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 395; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 396; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 397; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 398; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 399; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 400; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 401; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 402; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 403; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 404; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 405; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 406; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 407; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 408; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 409; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 410; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 411; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 412; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 413; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 414; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 415; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 416; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 417; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 418; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 419; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 420; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 421; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 422; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 423; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 424; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 425; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 426; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 427; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 428; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 429; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 430; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 431; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 432; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 433; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 434; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 435; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 436; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 437; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 438; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 439; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 440; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 441; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 442; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 443; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 444; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 445; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 446; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 447; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 448; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 449; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 450; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 451; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 452; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 453; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 454; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 455; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 456; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 457; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 458; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 459; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 460; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 461; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 462; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 463; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 464; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 465; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 466; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 467; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 468; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 469; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 470; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 471; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 472; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 473; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 474; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 475; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 476; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 477; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 478; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 479; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 480; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 481; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 482; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 483; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 484; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 485; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 486; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 487; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 488; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 489; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 490; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 491; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 492; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 493; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 494; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 495; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 496; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 497; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 498; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 499; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 500; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 501; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 502; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 503; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 504; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 505; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 506; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 507; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 508; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 509; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 510; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 511; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 512; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 513; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 514; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 515; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 516; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 517; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 518; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 519; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 520; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 521; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 522; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 523; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 524; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 525; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 526; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 527; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 528; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 529; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 530; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 531; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 532; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 533; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 534; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 535; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 536; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 537; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 538; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 539; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 540; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 541; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 542; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 543; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 544; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 545; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 546; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 547; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 548; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 549; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 550; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 551; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 552; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 553; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 554; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 555; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 556; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 557; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 558; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 559; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 560; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 561; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 562; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 563; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 564; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 565; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 566; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 567; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 568; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 569; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 570; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 571; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 572; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 573; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 574; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 575; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 576; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 577; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 578; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 579; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 580; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 581; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 582; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 583; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 584; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 585; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 586; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 587; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 588; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 589; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 590; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 591; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 592; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 593; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 594; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 595; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 596; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 597; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 598; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 599; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 600; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 601; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 602; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 603; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 604; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 605; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 606; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 607; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 608; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 609; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 610; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 611; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 612; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 613; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 614; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 615; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 616; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 617; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 618; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 619; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 620; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 621; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 622; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 623; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 624; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 625; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 626; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 627; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 628; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 629; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 630; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 631; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 632; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 633; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 634; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 635; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 636; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 637; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 638; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 639; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 640; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 641; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 642; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 643; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 644; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 645; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 646; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 647; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 648; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 649; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 650; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 651; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 652; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 653; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 654; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 655; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 656; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 657; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 658; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 659; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 660; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 661; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 662; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 663; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 664; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 665; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 666; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 667; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 668; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 669; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 670; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 671; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 672; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 673; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 674; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 675; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 676; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 677; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 678; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 679; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 680; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 681; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 682; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 683; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 684; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 685; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 686; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 687; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 688; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 689; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 690; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 691; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 692; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 693; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 694; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 695; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 696; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 697; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 698; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 699; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 700; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 701; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 702; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 703; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 704; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 705; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 706; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 707; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 708; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 709; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 710; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 711; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 712; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 713; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 714; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 715; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 716; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 717; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 718; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 719; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 720; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 721; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 722; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 723; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 724; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 725; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 726; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 727; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 728; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 729; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 730; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 731; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 732; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 733; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 734; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 735; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 736; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 737; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 738; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 739; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 740; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 741; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 742; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 743; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 744; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 745; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 746; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 747; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, true).ID: return 748; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, false).ID: return 749; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, true).ID: return 750; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, false).ID: return 751; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, true).ID: return 752; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, false).ID: return 753; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, true).ID: return 754; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, false).ID: return 755; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, true).ID: return 756; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, false).ID: return 757; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, true).ID: return 758; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, false).ID: return 759; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, true).ID: return 760; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, false).ID: return 761; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, true).ID: return 762; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, false).ID: return 763; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, true).ID: return 764; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, false).ID: return 765; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, true).ID: return 766; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, false).ID: return 767; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, true).ID: return 768; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, false).ID: return 769; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, true).ID: return 770; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, false).ID: return 771; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, true).ID: return 772; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, false).ID: return 773; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, true).ID: return 774; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, false).ID: return 775; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, true).ID: return 776; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, false).ID: return 777; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, true).ID: return 778; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, false).ID: return 779; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, true).ID: return 780; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, false).ID: return 781; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, true).ID: return 782; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, false).ID: return 783; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, true).ID: return 784; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, false).ID: return 785; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, true).ID: return 786; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, false).ID: return 787; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, true).ID: return 788; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, false).ID: return 789; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, true).ID: return 790; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, false).ID: return 791; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, true).ID: return 792; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, false).ID: return 793; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, true).ID: return 794; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, false).ID: return 795; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, true).ID: return 796; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, false).ID: return 797; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, true).ID: return 798; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, false).ID: return 799; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, true).ID: return 800; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, false).ID: return 801; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, true).ID: return 802; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, false).ID: return 803; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, true).ID: return 804; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, false).ID: return 805; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, true).ID: return 806; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, false).ID: return 807; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, true).ID: return 808; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, false).ID: return 809; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, true).ID: return 810; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, false).ID: return 811; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, true).ID: return 812; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, false).ID: return 813; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, true).ID: return 814; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, false).ID: return 815; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, true).ID: return 816; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, false).ID: return 817; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, true).ID: return 818; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, false).ID: return 819; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, true).ID: return 820; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, false).ID: return 821; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, true).ID: return 822; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, false).ID: return 823; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, true).ID: return 824; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, false).ID: return 825; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, true).ID: return 826; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, false).ID: return 827; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, true).ID: return 828; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, false).ID: return 829; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, true).ID: return 830; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, false).ID: return 831; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, true).ID: return 832; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, false).ID: return 833; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, true).ID: return 834; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, false).ID: return 835; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, true).ID: return 836; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, false).ID: return 837; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, true).ID: return 838; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, false).ID: return 839; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, true).ID: return 840; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, false).ID: return 841; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, true).ID: return 842; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, false).ID: return 843; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, true).ID: return 844; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, false).ID: return 845; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, true).ID: return 846; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, false).ID: return 847; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, true).ID: return 848; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, false).ID: return 849; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, true).ID: return 850; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, false).ID: return 851; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, true).ID: return 852; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, false).ID: return 853; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, true).ID: return 854; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, false).ID: return 855; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, true).ID: return 856; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, false).ID: return 857; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, true).ID: return 858; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, false).ID: return 859; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, true).ID: return 860; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, false).ID: return 861; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, true).ID: return 862; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, false).ID: return 863; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, true).ID: return 864; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, false).ID: return 865; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, true).ID: return 866; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, false).ID: return 867; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, true).ID: return 868; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, false).ID: return 869; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, true).ID: return 870; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, false).ID: return 871; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, true).ID: return 872; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, false).ID: return 873; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, true).ID: return 874; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, false).ID: return 875; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, true).ID: return 876; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, false).ID: return 877; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, true).ID: return 878; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, false).ID: return 879; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, true).ID: return 880; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, false).ID: return 881; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, true).ID: return 882; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, false).ID: return 883; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, true).ID: return 884; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, false).ID: return 885; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, true).ID: return 886; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, false).ID: return 887; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, true).ID: return 888; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, false).ID: return 889; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, true).ID: return 890; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, false).ID: return 891; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, true).ID: return 892; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, false).ID: return 893; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, true).ID: return 894; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, false).ID: return 895; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, true).ID: return 896; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, false).ID: return 897; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, true).ID: return 898; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, false).ID: return 899; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, true).ID: return 900; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, false).ID: return 901; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, true).ID: return 902; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, false).ID: return 903; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, true).ID: return 904; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, false).ID: return 905; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, true).ID: return 906; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, false).ID: return 907; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, true).ID: return 908; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, false).ID: return 909; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, true).ID: return 910; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, false).ID: return 911; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, true).ID: return 912; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, false).ID: return 913; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, true).ID: return 914; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, false).ID: return 915; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, true).ID: return 916; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, false).ID: return 917; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, true).ID: return 918; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, false).ID: return 919; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, true).ID: return 920; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, false).ID: return 921; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, true).ID: return 922; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, false).ID: return 923; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, true).ID: return 924; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, false).ID: return 925; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, true).ID: return 926; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, false).ID: return 927; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, true).ID: return 928; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, false).ID: return 929; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, true).ID: return 930; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, false).ID: return 931; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, true).ID: return 932; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, false).ID: return 933; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, true).ID: return 934; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, false).ID: return 935; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, true).ID: return 936; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, false).ID: return 937; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, true).ID: return 938; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, false).ID: return 939; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, true).ID: return 940; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, false).ID: return 941; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, true).ID: return 942; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, false).ID: return 943; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, true).ID: return 944; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, false).ID: return 945; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, true).ID: return 946; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, false).ID: return 947; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, true).ID: return 948; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, false).ID: return 949; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, true).ID: return 950; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, false).ID: return 951; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, true).ID: return 952; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, false).ID: return 953; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, true).ID: return 954; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, false).ID: return 955; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, true).ID: return 956; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, false).ID: return 957; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, true).ID: return 958; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, false).ID: return 959; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, true).ID: return 960; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, false).ID: return 961; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, true).ID: return 962; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, false).ID: return 963; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, true).ID: return 964; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, false).ID: return 965; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, true).ID: return 966; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, false).ID: return 967; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, true).ID: return 968; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, false).ID: return 969; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, true).ID: return 970; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, false).ID: return 971; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, true).ID: return 972; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, false).ID: return 973; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, true).ID: return 974; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, false).ID: return 975; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, true).ID: return 976; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, false).ID: return 977; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, true).ID: return 978; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, false).ID: return 979; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, true).ID: return 980; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, false).ID: return 981; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, true).ID: return 982; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, false).ID: return 983; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, true).ID: return 984; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, false).ID: return 985; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, true).ID: return 986; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, false).ID: return 987; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, true).ID: return 988; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, false).ID: return 989; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, true).ID: return 990; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, false).ID: return 991; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, true).ID: return 992; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, false).ID: return 993; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, true).ID: return 994; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, false).ID: return 995; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, true).ID: return 996; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, false).ID: return 997; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, true).ID: return 998; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, false).ID: return 999; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, true).ID: return 1000; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, false).ID: return 1001; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, true).ID: return 1002; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, false).ID: return 1003; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, true).ID: return 1004; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, false).ID: return 1005; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, true).ID: return 1006; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, false).ID: return 1007; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, true).ID: return 1008; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, false).ID: return 1009; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, true).ID: return 1010; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, false).ID: return 1011; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, true).ID: return 1012; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, false).ID: return 1013; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, true).ID: return 1014; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, false).ID: return 1015; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, true).ID: return 1016; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, false).ID: return 1017; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, true).ID: return 1018; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, false).ID: return 1019; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, true).ID: return 1020; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, false).ID: return 1021; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, true).ID: return 1022; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, false).ID: return 1023; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, true).ID: return 1024; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, false).ID: return 1025; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, true).ID: return 1026; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, false).ID: return 1027; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, true).ID: return 1028; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, false).ID: return 1029; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, true).ID: return 1030; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, false).ID: return 1031; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, true).ID: return 1032; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, false).ID: return 1033; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, true).ID: return 1034; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, false).ID: return 1035; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, true).ID: return 1036; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, false).ID: return 1037; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, true).ID: return 1038; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, false).ID: return 1039; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, true).ID: return 1040; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, false).ID: return 1041; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, true).ID: return 1042; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, false).ID: return 1043; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, true).ID: return 1044; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, false).ID: return 1045; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, true).ID: return 1046; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, false).ID: return 1047; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5810; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5811; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5812; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5813; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5814; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5815; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5816; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5817; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5818; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5819; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5820; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5821; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5822; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5823; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5824; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5825; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5826; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5827; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5828; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5829; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5830; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5831; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5832; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5833; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3571; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3572; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3573; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3574; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3575; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3576; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3577; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3578; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3579; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3580; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3581; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3582; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3583; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3584; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3585; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3586; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3587; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3588; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3589; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3590; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3591; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3592; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3593; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3594; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3595; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3596; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3597; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3598; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3599; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3600; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3601; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3602; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3603; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3604; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3605; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3606; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3607; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3608; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3609; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3610; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3611; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3612; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3613; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3614; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3615; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3616; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3617; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3618; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3619; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3620; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3621; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3622; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3623; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3624; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3625; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3626; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3627; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3628; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3629; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3630; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3631; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3632; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3633; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3634; - case OakFence::OakFence(true, true, true, true).ID: return 3966; - case OakFence::OakFence(true, true, true, false).ID: return 3967; - case OakFence::OakFence(true, true, false, true).ID: return 3970; - case OakFence::OakFence(true, true, false, false).ID: return 3971; - case OakFence::OakFence(true, false, true, true).ID: return 3974; - case OakFence::OakFence(true, false, true, false).ID: return 3975; - case OakFence::OakFence(true, false, false, true).ID: return 3978; - case OakFence::OakFence(true, false, false, false).ID: return 3979; - case OakFence::OakFence(false, true, true, true).ID: return 3982; - case OakFence::OakFence(false, true, true, false).ID: return 3983; - case OakFence::OakFence(false, true, false, true).ID: return 3986; - case OakFence::OakFence(false, true, false, false).ID: return 3987; - case OakFence::OakFence(false, false, true, true).ID: return 3990; - case OakFence::OakFence(false, false, true, false).ID: return 3991; - case OakFence::OakFence(false, false, false, true).ID: return 3994; - case OakFence::OakFence(false, false, false, false).ID: return 3995; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4804; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4805; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4806; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4807; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4808; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4809; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4810; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4811; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4812; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4813; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4814; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4815; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4816; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4817; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4818; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4819; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4820; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4821; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4822; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4823; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4824; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4825; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4826; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4827; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4828; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4829; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4830; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4831; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4832; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4833; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4834; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4835; - case OakLeaves::OakLeaves(1, true).ID: return 144; - case OakLeaves::OakLeaves(1, false).ID: return 145; - case OakLeaves::OakLeaves(2, true).ID: return 146; - case OakLeaves::OakLeaves(2, false).ID: return 147; - case OakLeaves::OakLeaves(3, true).ID: return 148; - case OakLeaves::OakLeaves(3, false).ID: return 149; - case OakLeaves::OakLeaves(4, true).ID: return 150; - case OakLeaves::OakLeaves(4, false).ID: return 151; - case OakLeaves::OakLeaves(5, true).ID: return 152; - case OakLeaves::OakLeaves(5, false).ID: return 153; - case OakLeaves::OakLeaves(6, true).ID: return 154; - case OakLeaves::OakLeaves(6, false).ID: return 155; - case OakLeaves::OakLeaves(7, true).ID: return 156; - case OakLeaves::OakLeaves(7, false).ID: return 157; - case OakLog::OakLog(OakLog::Axis::X).ID: return 72; - case OakLog::OakLog(OakLog::Axis::Y).ID: return 73; - case OakLog::OakLog(OakLog::Axis::Z).ID: return 74; - case OakPlanks::OakPlanks().ID: return 15; - case OakPressurePlate::OakPressurePlate(true).ID: return 3871; - case OakPressurePlate::OakPressurePlate(false).ID: return 3872; - case OakSapling::OakSapling(0).ID: return 21; - case OakSapling::OakSapling(1).ID: return 22; - case OakSign::OakSign(0).ID: return 3380; - case OakSign::OakSign(1).ID: return 3382; - case OakSign::OakSign(2).ID: return 3384; - case OakSign::OakSign(3).ID: return 3386; - case OakSign::OakSign(4).ID: return 3388; - case OakSign::OakSign(5).ID: return 3390; - case OakSign::OakSign(6).ID: return 3392; - case OakSign::OakSign(7).ID: return 3394; - case OakSign::OakSign(8).ID: return 3396; - case OakSign::OakSign(9).ID: return 3398; - case OakSign::OakSign(10).ID: return 3400; - case OakSign::OakSign(11).ID: return 3402; - case OakSign::OakSign(12).ID: return 3404; - case OakSign::OakSign(13).ID: return 3406; - case OakSign::OakSign(14).ID: return 3408; - case OakSign::OakSign(15).ID: return 3410; - case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 7765; - case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 7767; - case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 7769; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1953; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1955; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1957; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1959; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1961; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1963; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1965; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1967; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1969; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1971; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1973; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1975; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1977; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1979; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1981; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1983; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1985; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1987; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1989; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1991; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1993; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1995; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1997; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1999; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 2001; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 2003; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 2005; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 2007; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 2009; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 2011; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 2013; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 2015; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 2017; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 2019; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 2021; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 2023; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 2025; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 2027; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 2029; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 2031; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 4098; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 4100; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 4102; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 4104; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 4106; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: return 4108; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: return 4110; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: return 4112; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 4114; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 4116; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 4118; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 4120; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 4122; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: return 4124; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: return 4126; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: return 4128; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 4130; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 4132; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 4134; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 4136; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 4138; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: return 4140; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: return 4142; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: return 4144; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 4146; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 4148; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 4150; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 4152; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 4154; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: return 4156; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: return 4158; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: return 4160; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3734; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3736; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3738; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3740; - case OakWood::OakWood(OakWood::Axis::X).ID: return 108; - case OakWood::OakWood(OakWood::Axis::Y).ID: return 109; - case OakWood::OakWood(OakWood::Axis::Z).ID: return 110; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 8724; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 8725; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 8726; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 8727; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 8728; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 8729; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 8730; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 8731; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 8732; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 8733; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 8734; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 8735; - case Obsidian::Obsidian().ID: return 1433; - case OrangeBanner::OrangeBanner(0).ID: return 7377; - case OrangeBanner::OrangeBanner(1).ID: return 7378; - case OrangeBanner::OrangeBanner(2).ID: return 7379; - case OrangeBanner::OrangeBanner(3).ID: return 7380; - case OrangeBanner::OrangeBanner(4).ID: return 7381; - case OrangeBanner::OrangeBanner(5).ID: return 7382; - case OrangeBanner::OrangeBanner(6).ID: return 7383; - case OrangeBanner::OrangeBanner(7).ID: return 7384; - case OrangeBanner::OrangeBanner(8).ID: return 7385; - case OrangeBanner::OrangeBanner(9).ID: return 7386; - case OrangeBanner::OrangeBanner(10).ID: return 7387; - case OrangeBanner::OrangeBanner(11).ID: return 7388; - case OrangeBanner::OrangeBanner(12).ID: return 7389; - case OrangeBanner::OrangeBanner(13).ID: return 7390; - case OrangeBanner::OrangeBanner(14).ID: return 7391; - case OrangeBanner::OrangeBanner(15).ID: return 7392; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 1064; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 1065; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 1066; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 1067; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 1068; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 1069; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 1070; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 1071; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 1072; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 1073; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 1074; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 1075; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 1076; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 1077; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 1078; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 1079; - case OrangeCarpet::OrangeCarpet().ID: return 7331; - case OrangeConcrete::OrangeConcrete().ID: return 8903; - case OrangeConcretePowder::OrangeConcretePowder().ID: return 8919; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8842; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8843; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8844; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8845; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8748; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8749; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8750; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8751; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8752; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8753; - case OrangeStainedGlass::OrangeStainedGlass().ID: return 4082; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 6361; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 6362; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 6365; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 6366; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 6369; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 6370; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 6373; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 6374; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 6377; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 6378; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 6381; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 6382; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 6385; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 6386; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 6389; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 6390; - case OrangeTerracotta::OrangeTerracotta().ID: return 6312; - case OrangeTulip::OrangeTulip().ID: return 1417; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7621; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7622; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7623; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7624; - case OrangeWool::OrangeWool().ID: return 1384; - case OxeyeDaisy::OxeyeDaisy().ID: return 1420; - case PackedIce::PackedIce().ID: return 7348; - case Peony::Peony(Peony::Half::Upper).ID: return 7355; - case Peony::Peony(Peony::Half::Lower).ID: return 7356; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 7825; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 7827; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 7829; - case PinkBanner::PinkBanner(0).ID: return 7457; - case PinkBanner::PinkBanner(1).ID: return 7458; - case PinkBanner::PinkBanner(2).ID: return 7459; - case PinkBanner::PinkBanner(3).ID: return 7460; - case PinkBanner::PinkBanner(4).ID: return 7461; - case PinkBanner::PinkBanner(5).ID: return 7462; - case PinkBanner::PinkBanner(6).ID: return 7463; - case PinkBanner::PinkBanner(7).ID: return 7464; - case PinkBanner::PinkBanner(8).ID: return 7465; - case PinkBanner::PinkBanner(9).ID: return 7466; - case PinkBanner::PinkBanner(10).ID: return 7467; - case PinkBanner::PinkBanner(11).ID: return 7468; - case PinkBanner::PinkBanner(12).ID: return 7469; - case PinkBanner::PinkBanner(13).ID: return 7470; - case PinkBanner::PinkBanner(14).ID: return 7471; - case PinkBanner::PinkBanner(15).ID: return 7472; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 1144; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 1145; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 1146; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 1147; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 1148; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 1149; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 1150; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 1151; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 1152; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 1153; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 1154; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 1155; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 1156; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 1157; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 1158; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 1159; - case PinkCarpet::PinkCarpet().ID: return 7336; - case PinkConcrete::PinkConcrete().ID: return 8908; - case PinkConcretePowder::PinkConcretePowder().ID: return 8924; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8862; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8863; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8864; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8865; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8778; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8779; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8780; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8781; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8782; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8783; - case PinkStainedGlass::PinkStainedGlass().ID: return 4087; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 6521; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 6522; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 6525; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 6526; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 6529; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 6530; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 6533; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 6534; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 6537; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 6538; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 6541; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 6542; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 6545; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 6546; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 6549; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 6550; - case PinkTerracotta::PinkTerracotta().ID: return 6317; - case PinkTulip::PinkTulip().ID: return 1419; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7641; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7642; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7643; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7644; - case PinkWool::PinkWool().ID: return 1389; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1347; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1348; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1349; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1350; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1351; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1352; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1353; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1354; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1355; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1356; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1357; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1358; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1359; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1360; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1361; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1362; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1363; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1364; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1365; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1366; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1367; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1368; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1369; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1370; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1371; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1372; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1373; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1374; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1375; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1376; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1377; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1378; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1379; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1380; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1381; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1382; - case PlayerHead::PlayerHead(0).ID: return 6014; - case PlayerHead::PlayerHead(1).ID: return 6015; - case PlayerHead::PlayerHead(2).ID: return 6016; - case PlayerHead::PlayerHead(3).ID: return 6017; - case PlayerHead::PlayerHead(4).ID: return 6018; - case PlayerHead::PlayerHead(5).ID: return 6019; - case PlayerHead::PlayerHead(6).ID: return 6020; - case PlayerHead::PlayerHead(7).ID: return 6021; - case PlayerHead::PlayerHead(8).ID: return 6022; - case PlayerHead::PlayerHead(9).ID: return 6023; - case PlayerHead::PlayerHead(10).ID: return 6024; - case PlayerHead::PlayerHead(11).ID: return 6025; - case PlayerHead::PlayerHead(12).ID: return 6026; - case PlayerHead::PlayerHead(13).ID: return 6027; - case PlayerHead::PlayerHead(14).ID: return 6028; - case PlayerHead::PlayerHead(15).ID: return 6029; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6030; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6031; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6032; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6033; - case Podzol::Podzol(true).ID: return 12; - case Podzol::Podzol(false).ID: return 13; - case PolishedAndesite::PolishedAndesite().ID: return 7; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Top).ID: return 10320; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Bottom).ID: return 10322; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Double).ID: return 10324; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10094; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10096; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10098; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10100; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10102; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10104; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10106; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10108; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10110; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10112; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10114; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10116; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10118; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10120; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10122; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10124; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10126; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10128; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10130; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10132; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10134; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10136; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10138; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10140; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10142; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10144; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10146; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10148; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10150; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10152; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10154; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10156; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10158; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10160; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10162; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10164; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10166; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10168; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10170; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10172; - case PolishedDiorite::PolishedDiorite().ID: return 5; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Top).ID: return 10272; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Bottom).ID: return 10274; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Double).ID: return 10276; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9374; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9376; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9378; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9380; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9382; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9384; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9386; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9388; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9390; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9392; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9394; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9396; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9398; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9400; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9402; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9404; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9406; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9408; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9410; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9412; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9414; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9416; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9418; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9420; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9422; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9424; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9426; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9428; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9430; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9432; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9434; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9436; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9438; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9440; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9442; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9444; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9446; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9448; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9450; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9452; - case PolishedGranite::PolishedGranite().ID: return 3; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Top).ID: return 10254; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Bottom).ID: return 10256; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Double).ID: return 10258; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9134; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9136; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9138; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9140; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9142; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9144; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9146; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9148; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9150; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9152; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9154; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9156; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9158; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9160; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9162; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9164; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9166; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9168; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9170; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9172; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9174; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9176; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9178; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9180; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9182; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9184; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9186; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9188; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9190; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9192; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9194; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9196; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9198; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9200; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9202; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9204; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9206; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9208; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9210; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9212; - case Poppy::Poppy().ID: return 1412; - case Potatoes::Potatoes(0).ID: return 5802; - case Potatoes::Potatoes(1).ID: return 5803; - case Potatoes::Potatoes(2).ID: return 5804; - case Potatoes::Potatoes(3).ID: return 5805; - case Potatoes::Potatoes(4).ID: return 5806; - case Potatoes::Potatoes(5).ID: return 5807; - case Potatoes::Potatoes(6).ID: return 5808; - case Potatoes::Potatoes(7).ID: return 5809; - case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 5774; - case PottedAllium::PottedAllium().ID: return 5780; - case PottedAzureBluet::PottedAzureBluet().ID: return 5781; - case PottedBamboo::PottedBamboo().ID: return 9128; - case PottedBirchSapling::PottedBirchSapling().ID: return 5772; - case PottedBlueOrchid::PottedBlueOrchid().ID: return 5779; - case PottedBrownMushroom::PottedBrownMushroom().ID: return 5791; - case PottedCactus::PottedCactus().ID: return 5793; - case PottedCornflower::PottedCornflower().ID: return 5787; - case PottedDandelion::PottedDandelion().ID: return 5777; - case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 5775; - case PottedDeadBush::PottedDeadBush().ID: return 5792; - case PottedFern::PottedFern().ID: return 5776; - case PottedJungleSapling::PottedJungleSapling().ID: return 5773; - case PottedLilyOfTheValley::PottedLilyOfTheValley().ID: return 5788; - case PottedOakSapling::PottedOakSapling().ID: return 5770; - case PottedOrangeTulip::PottedOrangeTulip().ID: return 5783; - case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 5786; - case PottedPinkTulip::PottedPinkTulip().ID: return 5785; - case PottedPoppy::PottedPoppy().ID: return 5778; - case PottedRedMushroom::PottedRedMushroom().ID: return 5790; - case PottedRedTulip::PottedRedTulip().ID: return 5782; - case PottedSpruceSapling::PottedSpruceSapling().ID: return 5771; - case PottedWhiteTulip::PottedWhiteTulip().ID: return 5784; - case PottedWitherRose::PottedWitherRose().ID: return 5789; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1304; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1305; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1306; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1307; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1308; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1309; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1310; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1311; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1312; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1313; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1314; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1315; - case Prismarine::Prismarine().ID: return 7065; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 7315; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 7317; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 7319; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7149; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7151; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7153; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7155; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7157; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7159; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7161; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7163; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7165; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7167; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7169; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7171; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7173; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7175; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7177; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7179; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7181; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7183; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7185; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7187; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7189; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7191; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7193; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7195; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7197; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7199; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7201; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7203; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7205; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7207; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7209; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7211; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7213; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7215; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7217; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7219; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7221; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7223; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7225; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7227; - case PrismarineBricks::PrismarineBricks().ID: return 7066; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 7309; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 7311; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 7313; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7069; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7071; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7073; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7075; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7077; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7079; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7081; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7083; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7085; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7087; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7089; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7091; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7093; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7095; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7097; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7099; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7101; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7103; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7105; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7107; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7109; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7111; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7113; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7115; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7117; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7119; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7121; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7123; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7125; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7127; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7129; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7131; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7133; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7135; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7137; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7139; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7141; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7143; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7145; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7147; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 10397; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 10398; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 10401; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 10402; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 10405; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 10406; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 10409; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 10410; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 10413; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 10414; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 10417; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 10418; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 10421; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 10422; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 10425; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 10426; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 10429; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 10430; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 10433; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 10434; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 10437; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 10438; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 10441; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 10442; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 10445; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 10446; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 10449; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 10450; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 10453; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 10454; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 10457; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 10458; - case Pumpkin::Pumpkin().ID: return 3996; - case PumpkinStem::PumpkinStem(0).ID: return 4756; - case PumpkinStem::PumpkinStem(1).ID: return 4757; - case PumpkinStem::PumpkinStem(2).ID: return 4758; - case PumpkinStem::PumpkinStem(3).ID: return 4759; - case PumpkinStem::PumpkinStem(4).ID: return 4760; - case PumpkinStem::PumpkinStem(5).ID: return 4761; - case PumpkinStem::PumpkinStem(6).ID: return 4762; - case PumpkinStem::PumpkinStem(7).ID: return 4763; - case PurpleBanner::PurpleBanner(0).ID: return 7521; - case PurpleBanner::PurpleBanner(1).ID: return 7522; - case PurpleBanner::PurpleBanner(2).ID: return 7523; - case PurpleBanner::PurpleBanner(3).ID: return 7524; - case PurpleBanner::PurpleBanner(4).ID: return 7525; - case PurpleBanner::PurpleBanner(5).ID: return 7526; - case PurpleBanner::PurpleBanner(6).ID: return 7527; - case PurpleBanner::PurpleBanner(7).ID: return 7528; - case PurpleBanner::PurpleBanner(8).ID: return 7529; - case PurpleBanner::PurpleBanner(9).ID: return 7530; - case PurpleBanner::PurpleBanner(10).ID: return 7531; - case PurpleBanner::PurpleBanner(11).ID: return 7532; - case PurpleBanner::PurpleBanner(12).ID: return 7533; - case PurpleBanner::PurpleBanner(13).ID: return 7534; - case PurpleBanner::PurpleBanner(14).ID: return 7535; - case PurpleBanner::PurpleBanner(15).ID: return 7536; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 1208; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 1209; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 1210; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 1211; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 1212; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 1213; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 1214; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 1215; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 1216; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 1217; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 1218; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 1219; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 1220; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 1221; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 1222; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 1223; - case PurpleCarpet::PurpleCarpet().ID: return 7340; - case PurpleConcrete::PurpleConcrete().ID: return 8912; - case PurpleConcretePowder::PurpleConcretePowder().ID: return 8928; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8878; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8879; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8880; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8881; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8802; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8803; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8804; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8805; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8806; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8807; - case PurpleStainedGlass::PurpleStainedGlass().ID: return 4091; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 6649; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 6650; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 6653; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 6654; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 6657; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 6658; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 6661; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 6662; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 6665; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 6666; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 6669; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 6670; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 6673; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 6674; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 6677; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 6678; - case PurpleTerracotta::PurpleTerracotta().ID: return 6321; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7657; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7658; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7659; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7660; - case PurpleWool::PurpleWool().ID: return 1393; - case PurpurBlock::PurpurBlock().ID: return 8598; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 8599; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 8600; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 8601; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 7873; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 7875; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 7877; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8603; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8605; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8607; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8609; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8611; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8613; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8615; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8617; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8619; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8621; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8623; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8625; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8627; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8629; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8631; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8633; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8635; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8637; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8639; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8641; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8643; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8645; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8647; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8649; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8651; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8653; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8655; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8657; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8659; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8661; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8663; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8665; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8667; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8669; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8671; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8673; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8675; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8677; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8679; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8681; - case QuartzBlock::QuartzBlock().ID: return 6202; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 6204; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 6205; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 6206; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 7855; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 7857; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 7859; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6208; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6210; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6212; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6214; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6216; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6218; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6220; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6222; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6224; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6226; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6228; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6230; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6232; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6234; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6236; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6238; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6240; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6242; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6244; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6246; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6248; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6250; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6252; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6254; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6256; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6258; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6260; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6262; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6264; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6266; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6268; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6270; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6272; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6274; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6276; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6278; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6280; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6282; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6284; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6286; - case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3643; - case Rail::Rail(Rail::Shape::EastWest).ID: return 3644; - case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3645; - case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3646; - case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3647; - case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3648; - case Rail::Rail(Rail::Shape::SouthEast).ID: return 3649; - case Rail::Rail(Rail::Shape::SouthWest).ID: return 3650; - case Rail::Rail(Rail::Shape::NorthWest).ID: return 3651; - case Rail::Rail(Rail::Shape::NorthEast).ID: return 3652; - case RedBanner::RedBanner(0).ID: return 7585; - case RedBanner::RedBanner(1).ID: return 7586; - case RedBanner::RedBanner(2).ID: return 7587; - case RedBanner::RedBanner(3).ID: return 7588; - case RedBanner::RedBanner(4).ID: return 7589; - case RedBanner::RedBanner(5).ID: return 7590; - case RedBanner::RedBanner(6).ID: return 7591; - case RedBanner::RedBanner(7).ID: return 7592; - case RedBanner::RedBanner(8).ID: return 7593; - case RedBanner::RedBanner(9).ID: return 7594; - case RedBanner::RedBanner(10).ID: return 7595; - case RedBanner::RedBanner(11).ID: return 7596; - case RedBanner::RedBanner(12).ID: return 7597; - case RedBanner::RedBanner(13).ID: return 7598; - case RedBanner::RedBanner(14).ID: return 7599; - case RedBanner::RedBanner(15).ID: return 7600; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 1272; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 1273; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 1274; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 1275; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 1276; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 1277; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 1278; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 1279; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 1280; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 1281; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 1282; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 1283; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 1284; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 1285; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 1286; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 1287; - case RedCarpet::RedCarpet().ID: return 7344; - case RedConcrete::RedConcrete().ID: return 8916; - case RedConcretePowder::RedConcretePowder().ID: return 8932; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8894; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8895; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8896; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8897; - case RedMushroom::RedMushroom().ID: return 1425; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4555; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4556; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4557; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4558; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4559; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4560; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4561; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4562; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4563; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4564; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4565; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4566; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4567; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4568; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4569; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4570; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4571; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4572; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4573; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4574; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4575; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4576; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4577; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4578; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4579; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4580; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4581; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4582; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4583; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4584; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4585; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4586; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4587; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4588; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4589; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4590; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4591; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4592; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4593; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4594; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4595; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4596; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4597; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4598; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4599; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4600; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4601; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4602; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4603; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4604; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4605; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4606; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4607; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4608; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4609; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4610; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4611; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4612; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4613; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4614; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4615; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4616; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4617; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4618; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Top).ID: return 10314; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Bottom).ID: return 10316; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Double).ID: return 10318; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10014; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10016; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10018; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10020; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10022; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10024; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10026; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10028; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10030; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10032; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10034; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10036; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10038; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10040; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10042; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10044; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10046; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10048; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10050; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10052; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10054; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10056; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10058; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10060; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10062; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10064; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10066; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10068; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10070; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10072; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10074; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10076; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10078; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10080; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10082; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10084; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10086; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10088; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10090; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10092; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 10845; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 10846; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 10849; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 10850; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 10853; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 10854; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 10857; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 10858; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 10861; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 10862; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 10865; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 10866; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 10869; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 10870; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 10873; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 10874; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 10877; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 10878; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 10881; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 10882; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 10885; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 10886; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 10889; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 10890; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 10893; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 10894; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 10897; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 10898; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 10901; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 10902; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 10905; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 10906; - case RedNetherBricks::RedNetherBricks().ID: return 8719; - case RedSand::RedSand().ID: return 67; - case RedSandstone::RedSandstone().ID: return 7681; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 7861; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 7863; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 7865; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7685; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7687; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7689; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7691; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7693; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7695; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7697; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7699; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7701; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7703; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7705; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7707; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7709; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7711; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7713; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7715; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7717; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7719; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7721; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7723; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7725; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7727; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7729; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7731; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7733; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7735; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7737; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7739; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7741; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7743; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7745; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7747; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7749; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7751; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7753; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7755; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7757; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7759; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7761; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7763; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 10461; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 10462; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 10465; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 10466; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 10469; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 10470; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 10473; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 10474; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 10477; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 10478; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 10481; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 10482; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 10485; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 10486; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 10489; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 10490; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 10493; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 10494; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 10497; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 10498; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 10501; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 10502; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 10505; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 10506; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 10509; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 10510; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 10513; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 10514; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 10517; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 10518; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 10521; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 10522; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8826; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8827; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8828; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8829; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8830; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8831; - case RedStainedGlass::RedStainedGlass().ID: return 4095; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 6777; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 6778; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 6781; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 6782; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 6785; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 6786; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 6789; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 6790; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 6793; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 6794; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 6797; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 6798; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 6801; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 6802; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 6805; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 6806; - case RedTerracotta::RedTerracotta().ID: return 6325; - case RedTulip::RedTulip().ID: return 1416; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7673; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7674; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7675; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7676; - case RedWool::RedWool().ID: return 1397; - case RedstoneBlock::RedstoneBlock().ID: return 6190; - case RedstoneLamp::RedstoneLamp(true).ID: return 5140; - case RedstoneLamp::RedstoneLamp(false).ID: return 5141; - case RedstoneOre::RedstoneOre(true).ID: return 3883; - case RedstoneOre::RedstoneOre(false).ID: return 3884; - case RedstoneTorch::RedstoneTorch(true).ID: return 3885; - case RedstoneTorch::RedstoneTorch(false).ID: return 3886; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3887; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3888; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3889; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3890; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3891; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3892; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3893; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2056; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2057; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2058; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2059; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2060; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2061; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2062; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2063; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2064; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2065; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2066; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2067; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2068; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2069; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2070; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2071; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2072; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2073; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2074; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2075; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2076; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2077; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2078; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2079; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2080; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2081; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2082; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2083; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2084; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2085; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2086; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2087; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2088; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2089; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2090; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2091; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2092; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2093; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2094; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2095; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2096; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2097; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2098; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2099; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2100; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2101; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2102; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2103; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2104; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2105; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2106; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2107; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2108; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2109; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2110; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2111; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2112; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2113; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2114; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2115; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2116; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2117; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2118; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2119; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2120; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2121; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2122; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2123; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2124; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2125; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2126; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2127; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2128; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2129; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2130; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2131; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2132; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2133; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2134; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2135; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2136; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2137; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2138; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2139; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2140; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2141; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2142; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2143; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2144; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2145; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2146; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2147; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2148; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2149; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2150; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2151; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2152; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2153; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2154; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2155; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2156; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2157; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2158; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2159; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2160; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2161; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2162; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2163; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2164; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2165; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2166; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2167; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2168; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2169; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2170; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2171; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2172; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2173; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2174; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2175; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2176; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2177; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2178; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2179; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2180; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2181; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2182; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2183; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2184; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2185; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2186; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2187; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2188; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2189; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2190; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2191; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2192; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2193; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2194; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2195; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2196; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2197; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2198; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2199; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2200; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2201; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2202; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2203; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2204; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2205; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2206; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2207; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2208; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2209; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2210; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2211; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2212; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2213; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2214; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2215; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2216; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2217; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2218; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2219; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2220; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2221; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2222; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2223; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2224; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2225; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2226; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2227; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2228; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2229; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2230; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2231; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2232; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2233; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2234; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2235; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2236; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2237; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2238; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2239; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2240; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2241; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2242; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2243; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2244; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2245; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2246; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2247; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2248; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2249; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2250; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2251; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2252; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2253; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2254; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2255; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2256; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2257; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2258; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2259; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2260; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2261; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2262; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2263; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2264; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2265; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2266; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2267; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2268; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2269; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2270; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2271; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2272; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2273; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2274; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2275; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2276; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2277; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2278; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2279; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2280; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2281; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2282; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2283; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2284; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2285; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2286; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2287; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2288; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2289; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2290; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2291; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2292; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2293; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2294; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2295; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2296; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2297; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2298; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2299; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2300; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2301; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2302; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2303; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2304; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2305; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2306; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2307; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2308; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2309; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2310; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2311; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2312; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2313; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2314; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2315; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2316; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2317; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2318; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2319; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2320; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2321; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2322; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2323; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2324; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2325; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2326; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2327; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2328; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2329; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2330; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2331; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2332; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2333; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2334; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2335; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2336; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2337; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2338; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2339; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2340; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2341; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2342; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2343; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2344; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2345; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2346; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2347; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2348; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2349; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2350; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2351; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2352; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2353; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2354; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2355; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2356; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2357; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2358; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2359; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2360; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2361; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2362; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2363; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2364; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2365; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2366; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2367; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2368; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2369; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2370; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2371; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2372; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2373; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2374; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2375; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2376; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2377; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2378; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2379; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2380; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2381; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2382; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2383; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2384; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2385; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2386; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2387; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2388; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2389; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2390; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2391; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2392; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2393; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2394; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2395; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2396; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2397; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2398; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2399; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2400; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2401; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2402; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2403; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2404; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2405; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2406; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2407; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2408; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2409; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2410; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2411; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2412; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2413; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2414; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2415; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2416; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2417; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2418; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2419; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2420; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2421; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2422; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2423; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2424; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2425; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2426; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2427; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2428; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2429; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2430; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2431; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2432; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2433; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2434; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2435; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2436; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2437; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2438; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2439; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2440; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2441; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2442; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2443; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2444; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2445; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2446; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2447; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2448; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2449; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2450; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2451; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2452; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2453; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2454; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2455; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2456; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2457; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2458; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2459; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2460; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2461; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2462; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2463; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2464; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2465; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2466; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2467; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2468; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2469; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2470; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2471; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2472; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2473; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2474; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2475; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2476; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2477; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2478; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2479; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2480; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2481; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2482; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2483; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2484; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2485; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2486; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2487; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2488; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2489; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2490; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2491; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2492; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2493; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2494; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2495; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2496; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2497; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2498; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2499; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2500; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2501; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2502; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2503; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2504; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2505; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2506; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2507; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2508; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2509; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2510; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2511; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2512; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2513; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2514; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2515; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2516; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2517; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2518; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2519; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2520; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2521; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2522; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2523; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2524; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2525; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2526; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2527; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2528; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2529; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2530; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2531; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2532; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2533; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2534; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2535; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2536; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2537; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2538; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2539; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2540; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2541; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2542; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2543; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2544; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2545; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2546; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2547; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2548; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2549; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2550; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2551; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2552; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2553; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2554; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2555; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2556; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2557; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2558; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2559; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2560; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2561; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2562; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2563; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2564; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2565; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2566; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2567; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2568; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2569; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2570; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2571; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2572; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2573; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2574; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2575; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2576; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2577; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2578; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2579; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2580; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2581; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2582; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2583; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2584; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2585; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2586; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2587; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2588; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2589; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2590; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2591; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2592; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2593; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2594; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2595; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2596; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2597; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2598; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2599; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2600; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2601; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2602; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2603; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2604; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2605; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2606; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2607; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2608; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2609; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2610; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2611; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2612; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2613; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2614; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2615; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2616; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2617; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2618; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2619; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2620; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2621; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2622; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2623; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2624; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2625; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2626; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2627; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2628; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2629; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2630; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2631; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2632; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2633; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2634; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2635; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2636; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2637; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2638; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2639; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2640; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2641; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2642; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2643; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2644; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2645; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2646; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2647; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2648; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2649; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2650; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2651; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2652; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2653; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2654; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2655; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2656; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2657; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2658; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2659; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2660; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2661; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2662; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2663; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2664; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2665; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2666; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2667; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2668; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2669; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2670; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2671; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2672; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2673; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2674; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2675; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2676; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2677; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2678; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2679; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2680; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2681; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2682; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2683; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2684; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2685; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2686; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2687; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2688; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2689; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2690; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2691; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2692; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2693; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2694; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2695; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2696; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2697; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2698; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2699; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2700; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2701; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2702; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2703; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2704; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2705; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2706; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2707; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2708; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2709; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2710; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2711; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2712; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2713; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2714; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2715; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2716; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2717; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2718; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2719; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2720; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2721; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2722; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2723; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2724; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2725; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2726; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2727; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2728; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2729; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2730; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2731; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2732; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2733; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2734; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2735; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2736; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2737; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2738; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2739; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2740; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2741; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2742; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2743; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2744; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2745; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2746; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2747; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2748; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2749; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2750; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2751; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2752; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2753; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2754; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2755; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2756; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2757; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2758; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2759; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2760; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2761; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2762; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2763; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2764; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2765; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2766; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2767; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2768; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2769; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2770; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2771; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2772; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2773; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2774; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2775; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2776; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2777; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2778; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2779; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2780; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2781; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2782; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2783; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2784; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2785; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2786; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2787; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2788; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2789; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2790; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2791; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2792; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2793; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2794; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2795; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2796; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2797; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2798; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2799; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2800; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2801; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2802; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2803; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2804; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2805; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2806; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2807; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2808; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2809; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2810; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2811; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2812; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2813; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2814; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2815; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2816; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2817; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2818; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2819; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2820; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2821; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2822; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2823; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2824; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2825; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2826; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2827; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2828; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2829; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2830; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2831; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2832; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2833; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2834; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2835; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2836; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2837; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2838; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2839; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2840; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2841; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2842; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2843; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2844; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2845; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2846; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2847; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2848; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2849; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2850; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2851; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2852; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2853; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2854; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2855; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2856; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2857; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2858; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2859; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2860; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2861; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2862; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2863; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2864; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2865; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2866; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2867; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2868; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2869; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2870; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2871; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2872; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2873; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2874; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2875; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2876; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2877; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2878; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2879; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2880; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2881; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2882; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2883; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2884; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2885; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2886; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2887; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2888; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2889; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2890; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2891; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2892; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2893; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2895; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2896; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2897; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2898; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2899; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2900; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2901; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2902; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2903; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2904; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2905; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2906; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2907; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2908; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2909; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2910; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2911; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2912; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2913; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2914; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2915; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2916; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2917; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2918; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2919; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2920; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2921; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2922; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2923; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2924; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2925; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2926; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2927; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2928; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2929; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2930; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2931; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2932; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2933; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2934; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2935; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2936; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2937; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2938; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2939; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2940; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2941; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2942; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2943; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2944; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2945; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2946; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2947; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2948; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2949; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2950; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2951; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2952; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2953; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2954; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2955; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2956; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2957; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2958; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2959; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2960; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2961; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2962; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2963; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2964; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2965; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2966; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2967; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2968; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2969; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2970; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2971; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2972; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2973; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2974; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2975; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2976; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2977; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2978; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2979; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2980; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2981; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2982; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2983; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2984; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2985; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2986; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2987; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2988; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2989; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2990; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2991; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2992; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2993; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2994; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2995; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2996; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2997; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2998; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2999; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3000; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3001; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3002; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3003; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3004; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3005; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3006; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3007; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3008; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3009; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3010; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3011; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3012; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3013; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3014; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3015; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3016; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3017; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3018; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3019; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3020; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3021; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3022; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3023; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3024; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3025; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3026; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3027; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3028; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3029; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3030; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3031; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3032; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3033; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3034; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3035; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3036; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3037; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3038; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3039; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3040; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3041; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3042; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3043; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3044; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3045; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3046; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3047; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3048; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3049; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3050; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3051; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3052; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3053; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3054; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3055; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3056; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3057; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3058; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3059; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3060; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3061; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3062; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3063; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3064; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3065; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3066; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3067; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3068; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3069; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3070; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3071; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3072; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3073; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3074; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3075; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3076; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3077; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3078; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3079; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3080; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3081; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3082; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3083; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3084; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3085; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3086; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3087; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3088; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3089; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3090; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3091; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3092; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3093; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3094; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3095; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3096; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3097; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3098; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3099; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3100; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3101; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3102; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3103; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3104; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3105; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3106; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3107; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3108; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3109; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3110; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3111; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3112; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3113; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3114; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3115; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3116; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3117; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3118; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3119; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3120; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3121; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3122; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3123; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3124; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3125; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3126; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3127; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3128; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3129; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3130; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3131; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3132; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3133; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3134; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3135; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3136; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3137; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3138; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3139; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3140; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3141; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3142; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3143; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3144; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3145; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3146; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3147; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3148; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3149; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3150; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3151; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3152; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3153; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3154; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3155; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3156; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3157; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3158; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3159; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3160; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3161; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3162; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3163; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3164; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3165; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3166; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3167; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3168; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3169; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3170; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3171; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3172; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3173; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3174; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3175; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3176; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3177; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3178; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3179; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3180; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3181; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3182; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3183; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3184; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3185; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3186; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3187; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3188; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3189; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3190; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3191; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3192; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3193; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3194; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3195; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3196; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3197; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3198; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3199; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3200; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3201; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3202; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3203; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3204; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3205; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3206; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3207; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3208; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3209; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3210; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3211; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3212; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3213; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3214; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3215; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3216; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3217; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3218; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3219; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3220; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3221; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3222; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3223; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3224; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3225; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3226; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3227; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3228; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3229; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3230; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3231; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3232; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3233; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3234; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3235; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3236; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3237; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3238; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3239; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3240; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3241; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3242; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3243; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3244; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3245; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3246; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3247; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3248; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3249; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3250; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3251; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3252; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3253; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3254; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3255; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3256; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3257; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3258; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3259; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3260; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3261; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3262; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3263; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3264; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3265; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3266; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3267; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3268; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3269; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3270; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3271; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3272; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3273; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3274; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3275; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3276; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3277; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3278; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3279; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3280; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3281; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3282; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3283; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3284; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3285; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3286; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3287; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3288; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3289; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3290; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3291; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3292; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3293; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3294; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3295; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3296; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3297; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3298; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3299; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3300; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3301; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3302; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3303; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3304; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3305; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3306; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3307; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3308; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3309; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3310; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3311; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3312; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3313; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3314; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3315; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3316; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3317; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3318; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3319; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3320; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3321; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3322; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3323; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3324; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3325; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3326; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3327; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3328; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3329; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3330; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3331; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3332; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3333; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3334; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3335; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3336; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3337; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3338; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3339; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3340; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3341; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3342; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3343; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3344; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3345; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3346; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3347; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3348; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3349; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3350; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3351; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4017; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4018; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4019; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4020; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4021; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4022; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4023; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4024; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4025; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4026; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4027; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4028; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4029; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4030; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4031; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4032; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4033; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4034; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4035; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4036; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4037; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4038; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4039; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4040; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4041; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4042; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4043; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4044; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4045; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4046; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4047; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4048; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4049; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4050; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4051; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4052; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4053; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4054; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4055; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4056; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4057; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4058; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4059; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4060; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4061; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4062; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4063; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4064; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4065; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4066; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4067; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4068; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4069; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4070; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4071; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4072; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4073; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4074; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4075; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4076; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4077; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4078; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4079; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4080; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8689; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8690; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8691; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8692; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8693; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8694; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8695; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8696; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8697; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8698; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8699; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8700; - case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 7353; - case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 7354; - case Sand::Sand().ID: return 66; - case Sandstone::Sandstone().ID: return 245; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 7813; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 7815; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 7817; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5155; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5157; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5159; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5161; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5163; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5165; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5167; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5169; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5171; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5173; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5175; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5177; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5179; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5181; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5183; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5185; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5187; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5189; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5191; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5193; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5195; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5197; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5199; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5201; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5203; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5205; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5207; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5209; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5211; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5213; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5215; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5217; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5219; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5221; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5223; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5225; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5227; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5229; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5231; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5233; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 10909; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 10910; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 10913; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 10914; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 10917; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 10918; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 10921; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 10922; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 10925; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 10926; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 10929; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 10930; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 10933; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 10934; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 10937; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 10938; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 10941; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 10942; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 10945; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 10946; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 10949; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 10950; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 10953; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 10954; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 10957; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 10958; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 10961; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 10962; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 10965; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 10966; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 10969; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 10970; - case Scaffolding::Scaffolding(true, 0).ID: return 11100; - case Scaffolding::Scaffolding(true, 1).ID: return 11102; - case Scaffolding::Scaffolding(true, 2).ID: return 11104; - case Scaffolding::Scaffolding(true, 3).ID: return 11106; - case Scaffolding::Scaffolding(true, 4).ID: return 11108; - case Scaffolding::Scaffolding(true, 5).ID: return 11110; - case Scaffolding::Scaffolding(true, 6).ID: return 11112; - case Scaffolding::Scaffolding(true, 7).ID: return 11114; - case Scaffolding::Scaffolding(false, 0).ID: return 11116; - case Scaffolding::Scaffolding(false, 1).ID: return 11118; - case Scaffolding::Scaffolding(false, 2).ID: return 11120; - case Scaffolding::Scaffolding(false, 3).ID: return 11122; - case Scaffolding::Scaffolding(false, 4).ID: return 11124; - case Scaffolding::Scaffolding(false, 5).ID: return 11126; - case Scaffolding::Scaffolding(false, 6).ID: return 11128; - case Scaffolding::Scaffolding(false, 7).ID: return 11130; - case SeaLantern::SeaLantern().ID: return 7326; - case SeaPickle::SeaPickle(1).ID: return 9105; - case SeaPickle::SeaPickle(2).ID: return 9107; - case SeaPickle::SeaPickle(3).ID: return 9109; - case SeaPickle::SeaPickle(4).ID: return 9111; - case Seagrass::Seagrass().ID: return 1344; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8736; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8737; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8738; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8739; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8740; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8741; - case SkeletonSkull::SkeletonSkull(0).ID: return 5954; - case SkeletonSkull::SkeletonSkull(1).ID: return 5955; - case SkeletonSkull::SkeletonSkull(2).ID: return 5956; - case SkeletonSkull::SkeletonSkull(3).ID: return 5957; - case SkeletonSkull::SkeletonSkull(4).ID: return 5958; - case SkeletonSkull::SkeletonSkull(5).ID: return 5959; - case SkeletonSkull::SkeletonSkull(6).ID: return 5960; - case SkeletonSkull::SkeletonSkull(7).ID: return 5961; - case SkeletonSkull::SkeletonSkull(8).ID: return 5962; - case SkeletonSkull::SkeletonSkull(9).ID: return 5963; - case SkeletonSkull::SkeletonSkull(10).ID: return 5964; - case SkeletonSkull::SkeletonSkull(11).ID: return 5965; - case SkeletonSkull::SkeletonSkull(12).ID: return 5966; - case SkeletonSkull::SkeletonSkull(13).ID: return 5967; - case SkeletonSkull::SkeletonSkull(14).ID: return 5968; - case SkeletonSkull::SkeletonSkull(15).ID: return 5969; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5970; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5971; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5972; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5973; - case SlimeBlock::SlimeBlock().ID: return 6999; - case SmithingTable::SmithingTable().ID: return 11193; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11147; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11148; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11149; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11150; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, true).ID: return 11151; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, false).ID: return 11152; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, true).ID: return 11153; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, false).ID: return 11154; - case SmoothQuartz::SmoothQuartz().ID: return 7880; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Top).ID: return 10296; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Bottom).ID: return 10298; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Double).ID: return 10300; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 9774; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9776; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 9778; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9780; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 9782; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 9784; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9786; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 9788; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9790; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 9792; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 9794; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9796; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 9798; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9800; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 9802; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 9804; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9806; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 9808; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9810; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 9812; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 9814; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9816; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 9818; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9820; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 9822; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 9824; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9826; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 9828; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9830; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 9832; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 9834; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9836; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 9838; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9840; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 9842; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 9844; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9846; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 9848; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9850; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 9852; - case SmoothRedSandstone::SmoothRedSandstone().ID: return 7881; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Top).ID: return 10260; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Bottom).ID: return 10262; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Double).ID: return 10264; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9214; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9216; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9218; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9220; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9222; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9224; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9226; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9228; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9230; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9232; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9234; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9236; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9238; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9240; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9242; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9244; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9246; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9248; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9250; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9252; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9254; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9256; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9258; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9260; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9262; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9264; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9266; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9268; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9270; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9272; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9274; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9276; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9278; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9280; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9282; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9284; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9286; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9288; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9290; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9292; - case SmoothSandstone::SmoothSandstone().ID: return 7879; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Top).ID: return 10290; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Bottom).ID: return 10292; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Double).ID: return 10294; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 9694; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9696; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9698; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9700; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9702; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 9704; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9706; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9708; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9710; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9712; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 9714; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9716; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9718; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9720; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9722; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 9724; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9726; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9728; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9730; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9732; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 9734; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9736; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9738; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9740; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9742; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 9744; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9746; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9748; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9750; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9752; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 9754; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9756; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9758; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9760; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9762; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 9764; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9766; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9768; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9770; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9772; - case SmoothStone::SmoothStone().ID: return 7878; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Top).ID: return 7807; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Bottom).ID: return 7809; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Double).ID: return 7811; - case Snow::Snow(1).ID: return 3919; - case Snow::Snow(2).ID: return 3920; - case Snow::Snow(3).ID: return 3921; - case Snow::Snow(4).ID: return 3922; - case Snow::Snow(5).ID: return 3923; - case Snow::Snow(6).ID: return 3924; - case Snow::Snow(7).ID: return 3925; - case Snow::Snow(8).ID: return 3926; - case SnowBlock::SnowBlock().ID: return 3928; - case SoulSand::SoulSand().ID: return 3998; - case Spawner::Spawner().ID: return 1951; - case Sponge::Sponge().ID: return 228; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5834; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5835; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5836; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5837; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5838; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5839; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5840; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5841; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5842; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5843; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5844; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5845; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5846; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5847; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5848; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5849; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5850; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5851; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5852; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5853; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5854; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5855; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5856; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5857; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8202; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8203; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8204; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8205; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8206; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8207; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8208; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8209; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8210; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8211; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8212; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8213; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8214; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8215; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8216; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8217; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8218; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8219; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8220; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8221; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8222; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8223; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8224; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8225; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8226; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8227; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8228; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8229; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8230; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8231; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8232; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8233; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8234; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8235; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8236; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8237; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8238; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8239; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8240; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8241; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8242; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8243; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8244; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8245; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8246; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8247; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8248; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8249; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8250; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8251; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8252; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8253; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8254; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8255; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8256; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8257; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8258; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8259; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8260; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8261; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8262; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8263; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8264; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8265; - case SpruceFence::SpruceFence(true, true, true, true).ID: return 8044; - case SpruceFence::SpruceFence(true, true, true, false).ID: return 8045; - case SpruceFence::SpruceFence(true, true, false, true).ID: return 8048; - case SpruceFence::SpruceFence(true, true, false, false).ID: return 8049; - case SpruceFence::SpruceFence(true, false, true, true).ID: return 8052; - case SpruceFence::SpruceFence(true, false, true, false).ID: return 8053; - case SpruceFence::SpruceFence(true, false, false, true).ID: return 8056; - case SpruceFence::SpruceFence(true, false, false, false).ID: return 8057; - case SpruceFence::SpruceFence(false, true, true, true).ID: return 8060; - case SpruceFence::SpruceFence(false, true, true, false).ID: return 8061; - case SpruceFence::SpruceFence(false, true, false, true).ID: return 8064; - case SpruceFence::SpruceFence(false, true, false, false).ID: return 8065; - case SpruceFence::SpruceFence(false, false, true, true).ID: return 8068; - case SpruceFence::SpruceFence(false, false, true, false).ID: return 8069; - case SpruceFence::SpruceFence(false, false, false, true).ID: return 8072; - case SpruceFence::SpruceFence(false, false, false, false).ID: return 8073; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7882; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7883; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7884; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7885; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7886; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7887; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7888; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7889; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7890; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7891; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7892; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7893; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7894; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7895; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7896; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7897; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7898; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7899; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7900; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7901; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7902; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7903; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7904; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7905; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7906; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7907; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7908; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7909; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7910; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7911; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7912; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7913; - case SpruceLeaves::SpruceLeaves(1, true).ID: return 158; - case SpruceLeaves::SpruceLeaves(1, false).ID: return 159; - case SpruceLeaves::SpruceLeaves(2, true).ID: return 160; - case SpruceLeaves::SpruceLeaves(2, false).ID: return 161; - case SpruceLeaves::SpruceLeaves(3, true).ID: return 162; - case SpruceLeaves::SpruceLeaves(3, false).ID: return 163; - case SpruceLeaves::SpruceLeaves(4, true).ID: return 164; - case SpruceLeaves::SpruceLeaves(4, false).ID: return 165; - case SpruceLeaves::SpruceLeaves(5, true).ID: return 166; - case SpruceLeaves::SpruceLeaves(5, false).ID: return 167; - case SpruceLeaves::SpruceLeaves(6, true).ID: return 168; - case SpruceLeaves::SpruceLeaves(6, false).ID: return 169; - case SpruceLeaves::SpruceLeaves(7, true).ID: return 170; - case SpruceLeaves::SpruceLeaves(7, false).ID: return 171; - case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 75; - case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 76; - case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 77; - case SprucePlanks::SprucePlanks().ID: return 16; - case SprucePressurePlate::SprucePressurePlate(true).ID: return 3873; - case SprucePressurePlate::SprucePressurePlate(false).ID: return 3874; - case SpruceSapling::SpruceSapling(0).ID: return 23; - case SpruceSapling::SpruceSapling(1).ID: return 24; - case SpruceSign::SpruceSign(0).ID: return 3412; - case SpruceSign::SpruceSign(1).ID: return 3414; - case SpruceSign::SpruceSign(2).ID: return 3416; - case SpruceSign::SpruceSign(3).ID: return 3418; - case SpruceSign::SpruceSign(4).ID: return 3420; - case SpruceSign::SpruceSign(5).ID: return 3422; - case SpruceSign::SpruceSign(6).ID: return 3424; - case SpruceSign::SpruceSign(7).ID: return 3426; - case SpruceSign::SpruceSign(8).ID: return 3428; - case SpruceSign::SpruceSign(9).ID: return 3430; - case SpruceSign::SpruceSign(10).ID: return 3432; - case SpruceSign::SpruceSign(11).ID: return 3434; - case SpruceSign::SpruceSign(12).ID: return 3436; - case SpruceSign::SpruceSign(13).ID: return 3438; - case SpruceSign::SpruceSign(14).ID: return 3440; - case SpruceSign::SpruceSign(15).ID: return 3442; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 7771; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 7773; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 7775; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5389; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5391; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5393; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5395; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5397; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5399; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5401; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5403; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5405; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5407; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5409; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5411; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5413; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5415; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5417; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5419; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5421; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5423; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5425; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5427; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5429; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5431; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5433; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5435; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5437; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5439; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5441; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5443; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5445; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5447; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5449; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5451; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5453; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5455; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5457; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5459; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5461; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5463; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5465; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5467; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: return 4162; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: return 4164; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: return 4166; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: return 4168; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4170; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4172; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4174; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4176; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: return 4178; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: return 4180; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: return 4182; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: return 4184; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4186; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4188; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4190; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4192; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: return 4194; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: return 4196; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: return 4198; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: return 4200; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4202; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4204; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4206; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4208; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: return 4210; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: return 4212; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: return 4214; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: return 4216; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4218; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4220; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4222; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4224; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3742; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3744; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3746; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3748; - case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 111; - case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 112; - case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 113; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1328; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1329; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1330; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1331; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1332; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1333; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1334; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1335; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1336; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1337; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1338; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1339; - case Stone::Stone().ID: return 1; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 7843; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 7845; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 7847; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4917; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4919; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4921; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4923; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4925; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4927; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4929; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4931; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4933; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4935; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4937; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4939; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4941; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4943; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4945; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4947; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4949; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4951; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4953; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4955; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4957; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4959; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4961; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4963; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4965; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4967; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4969; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4971; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4973; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4975; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4977; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4979; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4981; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4983; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4985; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4987; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4989; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4991; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4993; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4995; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 10653; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 10654; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 10657; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 10658; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 10661; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 10662; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 10665; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 10666; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 10669; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 10670; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 10673; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 10674; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 10677; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 10678; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 10681; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 10682; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 10685; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 10686; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 10689; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 10690; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 10693; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 10694; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 10697; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 10698; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 10701; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 10702; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 10705; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 10706; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 10709; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 10710; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 10713; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 10714; - case StoneBricks::StoneBricks().ID: return 4481; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3895; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3896; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3897; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3898; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3899; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3900; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3901; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3902; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3903; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3904; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3905; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3906; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3907; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3908; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3909; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3910; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3911; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3912; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3913; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3914; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3915; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3916; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3917; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3918; - case StonePressurePlate::StonePressurePlate(true).ID: return 3805; - case StonePressurePlate::StonePressurePlate(false).ID: return 3806; - case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 7801; - case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 7803; - case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 7805; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 9614; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 9616; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 9618; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 9620; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 9622; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 9624; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 9626; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 9628; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 9630; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 9632; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 9634; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 9636; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 9638; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 9640; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 9642; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 9644; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 9646; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 9648; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 9650; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 9652; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 9654; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 9656; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 9658; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 9660; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 9662; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 9664; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 9666; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 9668; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 9670; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 9672; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 9674; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 9676; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 9678; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 9680; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 9682; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 9684; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 9686; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 9688; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 9690; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 9692; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZM).ID: return 11194; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZP).ID: return 11195; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XM).ID: return 11196; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XP).ID: return 11197; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 99; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 100; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 101; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 138; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 139; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 140; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 93; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 94; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 95; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 132; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 133; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 134; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 102; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 103; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 104; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 141; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 142; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 143; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 96; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 97; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 98; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 135; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 136; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 137; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 105; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 106; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 107; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 126; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 127; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 128; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 90; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 91; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 92; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 129; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 130; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 131; - case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 11252; - case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 11253; - case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 11254; - case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 11255; - case StructureVoid::StructureVoid().ID: return 8723; - case SugarCane::SugarCane(0).ID: return 3946; - case SugarCane::SugarCane(1).ID: return 3947; - case SugarCane::SugarCane(2).ID: return 3948; - case SugarCane::SugarCane(3).ID: return 3949; - case SugarCane::SugarCane(4).ID: return 3950; - case SugarCane::SugarCane(5).ID: return 3951; - case SugarCane::SugarCane(6).ID: return 3952; - case SugarCane::SugarCane(7).ID: return 3953; - case SugarCane::SugarCane(8).ID: return 3954; - case SugarCane::SugarCane(9).ID: return 3955; - case SugarCane::SugarCane(10).ID: return 3956; - case SugarCane::SugarCane(11).ID: return 3957; - case SugarCane::SugarCane(12).ID: return 3958; - case SugarCane::SugarCane(13).ID: return 3959; - case SugarCane::SugarCane(14).ID: return 3960; - case SugarCane::SugarCane(15).ID: return 3961; - case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 7349; - case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 7350; - case SweetBerryBush::SweetBerryBush(0).ID: return 11248; - case SweetBerryBush::SweetBerryBush(1).ID: return 11249; - case SweetBerryBush::SweetBerryBush(2).ID: return 11250; - case SweetBerryBush::SweetBerryBush(3).ID: return 11251; - case TNT::TNT(true).ID: return 1429; - case TNT::TNT(false).ID: return 1430; - case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 7357; - case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 7358; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1345; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1346; - case Terracotta::Terracotta().ID: return 7346; - case Torch::Torch().ID: return 1434; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 6087; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 6089; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 6091; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 6093; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 6095; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 6097; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 6099; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 6101; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 6103; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 6105; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 6107; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 6109; - case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 5259; - case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 5260; - case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 5261; - case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 5262; - case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 5263; - case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 5264; - case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 5265; - case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 5266; - case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 5267; - case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 5268; - case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 5269; - case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 5270; - case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 5271; - case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 5272; - case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 5273; - case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 5274; - case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 5275; - case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 5276; - case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 5277; - case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 5278; - case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 5279; - case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 5280; - case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 5281; - case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 5282; - case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 5283; - case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 5284; - case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 5285; - case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 5286; - case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 5287; - case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 5288; - case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 5289; - case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 5290; - case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 5291; - case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 5292; - case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 5293; - case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 5294; - case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 5295; - case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 5296; - case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 5297; - case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 5298; - case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 5299; - case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 5300; - case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 5301; - case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 5302; - case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 5303; - case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 5304; - case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 5305; - case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 5306; - case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 5307; - case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 5308; - case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 5309; - case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 5310; - case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 5311; - case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 5312; - case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 5313; - case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 5314; - case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 5315; - case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 5316; - case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 5317; - case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 5318; - case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 5319; - case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 5320; - case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 5321; - case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 5322; - case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 5323; - case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 5324; - case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 5325; - case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 5326; - case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 5327; - case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 5328; - case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 5329; - case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 5330; - case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 5331; - case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 5332; - case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 5333; - case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 5334; - case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 5335; - case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 5336; - case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 5337; - case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 5338; - case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 5339; - case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 5340; - case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 5341; - case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 5342; - case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 5343; - case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 5344; - case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 5345; - case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 5346; - case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 5347; - case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 5348; - case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 5349; - case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 5350; - case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 5351; - case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 5352; - case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 5353; - case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 5354; - case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 5355; - case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 5356; - case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 5357; - case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 5358; - case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 5359; - case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 5360; - case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 5361; - case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 5362; - case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 5363; - case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 5364; - case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 5365; - case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 5366; - case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 5367; - case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 5368; - case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 5369; - case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 5370; - case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 5371; - case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 5372; - case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 5373; - case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 5374; - case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 5375; - case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 5376; - case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 5377; - case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 5378; - case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 5379; - case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 5380; - case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 5381; - case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 5382; - case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 5383; - case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 5384; - case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 5385; - case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 5386; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5243; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5244; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5245; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5246; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 5247; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 5248; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 5249; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 5250; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5251; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5252; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5253; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5254; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 5255; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 5256; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 5257; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 5258; - case TubeCoral::TubeCoral().ID: return 8995; - case TubeCoralBlock::TubeCoralBlock().ID: return 8979; - case TubeCoralFan::TubeCoralFan().ID: return 9015; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9065; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9067; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9069; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9071; - case TurtleEgg::TurtleEgg(1, 0).ID: return 8962; - case TurtleEgg::TurtleEgg(1, 1).ID: return 8963; - case TurtleEgg::TurtleEgg(1, 2).ID: return 8964; - case TurtleEgg::TurtleEgg(2, 0).ID: return 8965; - case TurtleEgg::TurtleEgg(2, 1).ID: return 8966; - case TurtleEgg::TurtleEgg(2, 2).ID: return 8967; - case TurtleEgg::TurtleEgg(3, 0).ID: return 8968; - case TurtleEgg::TurtleEgg(3, 1).ID: return 8969; - case TurtleEgg::TurtleEgg(3, 2).ID: return 8970; - case TurtleEgg::TurtleEgg(4, 0).ID: return 8971; - case TurtleEgg::TurtleEgg(4, 1).ID: return 8972; - case TurtleEgg::TurtleEgg(4, 2).ID: return 8973; - case Vine::Vine(true, true, true, true, true).ID: return 4772; - case Vine::Vine(true, true, true, true, false).ID: return 4773; - case Vine::Vine(true, true, true, false, true).ID: return 4774; - case Vine::Vine(true, true, true, false, false).ID: return 4775; - case Vine::Vine(true, true, false, true, true).ID: return 4776; - case Vine::Vine(true, true, false, true, false).ID: return 4777; - case Vine::Vine(true, true, false, false, true).ID: return 4778; - case Vine::Vine(true, true, false, false, false).ID: return 4779; - case Vine::Vine(true, false, true, true, true).ID: return 4780; - case Vine::Vine(true, false, true, true, false).ID: return 4781; - case Vine::Vine(true, false, true, false, true).ID: return 4782; - case Vine::Vine(true, false, true, false, false).ID: return 4783; - case Vine::Vine(true, false, false, true, true).ID: return 4784; - case Vine::Vine(true, false, false, true, false).ID: return 4785; - case Vine::Vine(true, false, false, false, true).ID: return 4786; - case Vine::Vine(true, false, false, false, false).ID: return 4787; - case Vine::Vine(false, true, true, true, true).ID: return 4788; - case Vine::Vine(false, true, true, true, false).ID: return 4789; - case Vine::Vine(false, true, true, false, true).ID: return 4790; - case Vine::Vine(false, true, true, false, false).ID: return 4791; - case Vine::Vine(false, true, false, true, true).ID: return 4792; - case Vine::Vine(false, true, false, true, false).ID: return 4793; - case Vine::Vine(false, true, false, false, true).ID: return 4794; - case Vine::Vine(false, true, false, false, false).ID: return 4795; - case Vine::Vine(false, false, true, true, true).ID: return 4796; - case Vine::Vine(false, false, true, true, false).ID: return 4797; - case Vine::Vine(false, false, true, false, true).ID: return 4798; - case Vine::Vine(false, false, true, false, false).ID: return 4799; - case Vine::Vine(false, false, false, true, true).ID: return 4800; - case Vine::Vine(false, false, false, true, false).ID: return 4801; - case Vine::Vine(false, false, false, false, true).ID: return 4802; - case Vine::Vine(false, false, false, false, false).ID: return 4803; - case VoidAir::VoidAir().ID: return 9129; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1435; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1436; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1437; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1438; - case Water::Water(0).ID: return 34; - case Water::Water(1).ID: return 35; - case Water::Water(2).ID: return 36; - case Water::Water(3).ID: return 37; - case Water::Water(4).ID: return 38; - case Water::Water(5).ID: return 39; - case Water::Water(6).ID: return 40; - case Water::Water(7).ID: return 41; - case Water::Water(8).ID: return 42; - case Water::Water(9).ID: return 43; - case Water::Water(10).ID: return 44; - case Water::Water(11).ID: return 45; - case Water::Water(12).ID: return 46; - case Water::Water(13).ID: return 47; - case Water::Water(14).ID: return 48; - case Water::Water(15).ID: return 49; - case WetSponge::WetSponge().ID: return 229; - case Wheat::Wheat(0).ID: return 3355; - case Wheat::Wheat(1).ID: return 3356; - case Wheat::Wheat(2).ID: return 3357; - case Wheat::Wheat(3).ID: return 3358; - case Wheat::Wheat(4).ID: return 3359; - case Wheat::Wheat(5).ID: return 3360; - case Wheat::Wheat(6).ID: return 3361; - case Wheat::Wheat(7).ID: return 3362; - case WhiteBanner::WhiteBanner(0).ID: return 7361; - case WhiteBanner::WhiteBanner(1).ID: return 7362; - case WhiteBanner::WhiteBanner(2).ID: return 7363; - case WhiteBanner::WhiteBanner(3).ID: return 7364; - case WhiteBanner::WhiteBanner(4).ID: return 7365; - case WhiteBanner::WhiteBanner(5).ID: return 7366; - case WhiteBanner::WhiteBanner(6).ID: return 7367; - case WhiteBanner::WhiteBanner(7).ID: return 7368; - case WhiteBanner::WhiteBanner(8).ID: return 7369; - case WhiteBanner::WhiteBanner(9).ID: return 7370; - case WhiteBanner::WhiteBanner(10).ID: return 7371; - case WhiteBanner::WhiteBanner(11).ID: return 7372; - case WhiteBanner::WhiteBanner(12).ID: return 7373; - case WhiteBanner::WhiteBanner(13).ID: return 7374; - case WhiteBanner::WhiteBanner(14).ID: return 7375; - case WhiteBanner::WhiteBanner(15).ID: return 7376; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 1048; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 1049; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 1050; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 1051; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 1052; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 1053; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 1054; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 1055; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 1056; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 1057; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 1058; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 1059; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 1060; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 1061; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 1062; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 1063; - case WhiteCarpet::WhiteCarpet().ID: return 7330; - case WhiteConcrete::WhiteConcrete().ID: return 8902; - case WhiteConcretePowder::WhiteConcretePowder().ID: return 8918; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8838; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8839; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8840; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8841; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8742; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8743; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8744; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8745; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8746; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8747; - case WhiteStainedGlass::WhiteStainedGlass().ID: return 4081; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 6329; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 6330; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 6333; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 6334; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 6337; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 6338; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 6341; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 6342; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 6345; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 6346; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 6349; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 6350; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 6353; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 6354; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 6357; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 6358; - case WhiteTerracotta::WhiteTerracotta().ID: return 6311; - case WhiteTulip::WhiteTulip().ID: return 1418; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7617; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7618; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7619; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7620; - case WhiteWool::WhiteWool().ID: return 1383; - case WitherRose::WitherRose().ID: return 1422; - case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 5974; - case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 5975; - case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 5976; - case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 5977; - case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 5978; - case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 5979; - case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 5980; - case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 5981; - case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 5982; - case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 5983; - case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 5984; - case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 5985; - case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 5986; - case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 5987; - case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 5988; - case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 5989; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5990; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5991; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5992; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5993; - case YellowBanner::YellowBanner(0).ID: return 7425; - case YellowBanner::YellowBanner(1).ID: return 7426; - case YellowBanner::YellowBanner(2).ID: return 7427; - case YellowBanner::YellowBanner(3).ID: return 7428; - case YellowBanner::YellowBanner(4).ID: return 7429; - case YellowBanner::YellowBanner(5).ID: return 7430; - case YellowBanner::YellowBanner(6).ID: return 7431; - case YellowBanner::YellowBanner(7).ID: return 7432; - case YellowBanner::YellowBanner(8).ID: return 7433; - case YellowBanner::YellowBanner(9).ID: return 7434; - case YellowBanner::YellowBanner(10).ID: return 7435; - case YellowBanner::YellowBanner(11).ID: return 7436; - case YellowBanner::YellowBanner(12).ID: return 7437; - case YellowBanner::YellowBanner(13).ID: return 7438; - case YellowBanner::YellowBanner(14).ID: return 7439; - case YellowBanner::YellowBanner(15).ID: return 7440; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 1112; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 1113; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 1114; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 1115; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 1116; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 1117; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 1118; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 1119; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 1120; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 1121; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 1122; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 1123; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 1124; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 1125; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 1126; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 1127; - case YellowCarpet::YellowCarpet().ID: return 7334; - case YellowConcrete::YellowConcrete().ID: return 8906; - case YellowConcretePowder::YellowConcretePowder().ID: return 8922; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8854; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8855; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8856; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8857; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8766; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8767; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8768; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8769; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8770; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8771; - case YellowStainedGlass::YellowStainedGlass().ID: return 4085; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 6457; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 6458; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 6461; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 6462; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 6465; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 6466; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 6469; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 6470; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 6473; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 6474; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 6477; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 6478; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 6481; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 6482; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 6485; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 6486; - case YellowTerracotta::YellowTerracotta().ID: return 6315; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7633; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7634; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7635; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7636; - case YellowWool::YellowWool().ID: return 1387; - case ZombieHead::ZombieHead(0).ID: return 5994; - case ZombieHead::ZombieHead(1).ID: return 5995; - case ZombieHead::ZombieHead(2).ID: return 5996; - case ZombieHead::ZombieHead(3).ID: return 5997; - case ZombieHead::ZombieHead(4).ID: return 5998; - case ZombieHead::ZombieHead(5).ID: return 5999; - case ZombieHead::ZombieHead(6).ID: return 6000; - case ZombieHead::ZombieHead(7).ID: return 6001; - case ZombieHead::ZombieHead(8).ID: return 6002; - case ZombieHead::ZombieHead(9).ID: return 6003; - case ZombieHead::ZombieHead(10).ID: return 6004; - case ZombieHead::ZombieHead(11).ID: return 6005; - case ZombieHead::ZombieHead(12).ID: return 6006; - case ZombieHead::ZombieHead(13).ID: return 6007; - case ZombieHead::ZombieHead(14).ID: return 6008; - case ZombieHead::ZombieHead(15).ID: return 6009; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6010; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6011; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6012; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6013; - default: return 0; - } + switch (Block.ID) + { + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5906; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5907; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5908; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5909; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5910; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5911; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5912; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5913; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5914; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5915; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5916; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5917; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5918; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5919; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5920; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5921; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5922; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5923; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5924; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5925; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5926; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5927; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5928; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5929; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8394; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8395; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8396; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8397; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8398; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8399; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8400; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8401; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8402; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8403; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8404; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8405; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8406; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8407; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8408; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8409; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8410; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8411; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8412; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8413; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8414; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8415; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8416; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8417; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8418; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8419; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8420; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8421; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8422; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8423; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8424; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8425; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8426; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8427; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8428; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8429; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8430; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8431; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8432; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8433; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8434; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8435; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8436; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8437; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8438; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8439; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8440; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8441; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8442; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8443; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8444; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8445; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8446; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8447; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8448; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8449; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8450; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8451; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8452; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8453; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8454; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8455; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8456; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8457; + case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 8140; + case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 8141; + case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 8144; + case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 8145; + case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 8148; + case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 8149; + case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 8152; + case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 8153; + case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 8156; + case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 8157; + case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 8160; + case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 8161; + case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 8164; + case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 8165; + case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 8168; + case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 8169; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7978; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7979; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7980; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7981; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7982; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7983; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7984; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7985; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7986; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7987; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7988; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7989; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7990; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7991; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7992; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7993; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7994; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7995; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7996; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7997; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7998; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7999; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8000; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8001; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8002; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8003; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8004; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8005; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8006; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8007; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8008; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8009; + case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 200; + case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 201; + case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 202; + case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 203; + case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 204; + case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 205; + case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 206; + case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 207; + case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 208; + case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 209; + case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 210; + case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 211; + case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 212; + case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 213; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 84; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 85; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 86; + case AcaciaPlanks::AcaciaPlanks().ID: return 19; + case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3879; + case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3880; + case AcaciaSapling::AcaciaSapling(0).ID: return 29; + case AcaciaSapling::AcaciaSapling(1).ID: return 30; + case AcaciaSign::AcaciaSign(0).ID: return 3476; + case AcaciaSign::AcaciaSign(1).ID: return 3478; + case AcaciaSign::AcaciaSign(2).ID: return 3480; + case AcaciaSign::AcaciaSign(3).ID: return 3482; + case AcaciaSign::AcaciaSign(4).ID: return 3484; + case AcaciaSign::AcaciaSign(5).ID: return 3486; + case AcaciaSign::AcaciaSign(6).ID: return 3488; + case AcaciaSign::AcaciaSign(7).ID: return 3490; + case AcaciaSign::AcaciaSign(8).ID: return 3492; + case AcaciaSign::AcaciaSign(9).ID: return 3494; + case AcaciaSign::AcaciaSign(10).ID: return 3496; + case AcaciaSign::AcaciaSign(11).ID: return 3498; + case AcaciaSign::AcaciaSign(12).ID: return 3500; + case AcaciaSign::AcaciaSign(13).ID: return 3502; + case AcaciaSign::AcaciaSign(14).ID: return 3504; + case AcaciaSign::AcaciaSign(15).ID: return 3506; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 7789; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 7791; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 7793; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6840; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6842; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6844; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6846; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6848; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6850; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6852; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6854; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6856; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6858; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6860; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6862; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6864; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6866; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6868; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6870; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6872; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6874; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6876; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6878; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6880; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6882; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6884; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6886; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6888; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6890; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6892; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6894; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6896; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6898; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6900; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6902; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6904; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6906; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6908; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6910; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6912; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6914; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6916; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6918; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4354; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4356; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4358; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4360; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4362; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4364; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4366; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4368; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4370; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4372; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4374; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4376; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4378; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4380; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4382; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4384; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4386; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4388; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4390; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4392; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4394; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4396; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4398; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4400; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4402; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4404; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4406; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4408; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4410; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4412; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4414; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4416; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3758; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3760; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3762; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3764; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 120; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 121; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 122; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 6287; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 6288; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 6289; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 6290; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 6291; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 6292; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 6293; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 6294; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 6295; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 6296; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 6297; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 6298; + case Air::Air().ID: return -0; + case Allium::Allium().ID: return 1414; + case Andesite::Andesite().ID: return 6; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Top).ID: return 10308; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Bottom).ID: return 10310; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Double).ID: return 10312; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9934; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9936; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9938; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9940; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9942; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9944; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9946; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9948; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9950; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9952; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9954; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9956; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9958; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9960; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9962; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9964; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9966; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9968; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9970; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9972; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9974; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9976; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9978; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9980; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9982; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9984; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9986; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9988; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9990; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9992; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9994; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9996; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9998; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10000; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10002; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10004; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10006; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10008; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10010; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10012; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 10781; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 10782; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 10785; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 10786; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 10789; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 10790; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 10793; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 10794; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 10797; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 10798; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 10801; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 10802; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 10805; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 10806; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 10809; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 10810; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 10813; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 10814; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 10817; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 10818; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 10821; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 10822; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 10825; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 10826; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 10829; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 10830; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 10833; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 10834; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 10837; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 10838; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 10841; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 10842; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6074; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6075; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 6076; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 6077; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4752; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4753; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4754; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4755; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4748; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4749; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4750; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4751; + case AzureBluet::AzureBluet().ID: return 1415; + case Bamboo::Bamboo(0, Bamboo::Leaves::None, 0).ID: return 9116; + case Bamboo::Bamboo(0, Bamboo::Leaves::None, 1).ID: return 9117; + case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 0).ID: return 9118; + case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 1).ID: return 9119; + case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 0).ID: return 9120; + case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 1).ID: return 9121; + case Bamboo::Bamboo(1, Bamboo::Leaves::None, 0).ID: return 9122; + case Bamboo::Bamboo(1, Bamboo::Leaves::None, 1).ID: return 9123; + case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 0).ID: return 9124; + case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 1).ID: return 9125; + case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 0).ID: return 9126; + case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 1).ID: return 9127; + case BambooSapling::BambooSapling().ID: return 9115; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11135; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11136; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, true).ID: return 11137; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, false).ID: return 11138; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11139; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11140; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, true).ID: return 11141; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, false).ID: return 11142; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, true).ID: return 11143; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, false).ID: return 11144; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, true).ID: return 11145; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, false).ID: return 11146; + case Barrier::Barrier().ID: return 7000; + case Beacon::Beacon().ID: return 5640; + case Bedrock::Bedrock().ID: return 33; + case Beetroots::Beetroots(0).ID: return 8683; + case Beetroots::Beetroots(1).ID: return 8684; + case Beetroots::Beetroots(2).ID: return 8685; + case Beetroots::Beetroots(3).ID: return 8686; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11198; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11199; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 11200; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 11201; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11202; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11203; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 11204; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 11205; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11206; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11207; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 11208; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 11209; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11210; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11211; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 11212; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 11213; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5858; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5859; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5860; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5861; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5862; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5863; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5864; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5865; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5866; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5867; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5868; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5869; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5870; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5871; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5872; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5873; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5874; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5875; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5876; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5877; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5878; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5879; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5880; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5881; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8266; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8267; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8268; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8269; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8270; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8271; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8272; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8273; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8274; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8275; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8276; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8277; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8278; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8279; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8280; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8281; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8282; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8283; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8284; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8285; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8286; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8287; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8288; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8289; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8290; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8291; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8292; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8293; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8294; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8295; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8296; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8297; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8298; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8299; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8300; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8301; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8302; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8303; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8304; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8305; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8306; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8307; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8308; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8309; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8310; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8311; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8312; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8313; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8314; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8315; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8316; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8317; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8318; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8319; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8320; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8321; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8322; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8323; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8324; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8325; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8326; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8327; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8328; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8329; + case BirchFence::BirchFence(true, true, true, true).ID: return 8076; + case BirchFence::BirchFence(true, true, true, false).ID: return 8077; + case BirchFence::BirchFence(true, true, false, true).ID: return 8080; + case BirchFence::BirchFence(true, true, false, false).ID: return 8081; + case BirchFence::BirchFence(true, false, true, true).ID: return 8084; + case BirchFence::BirchFence(true, false, true, false).ID: return 8085; + case BirchFence::BirchFence(true, false, false, true).ID: return 8088; + case BirchFence::BirchFence(true, false, false, false).ID: return 8089; + case BirchFence::BirchFence(false, true, true, true).ID: return 8092; + case BirchFence::BirchFence(false, true, true, false).ID: return 8093; + case BirchFence::BirchFence(false, true, false, true).ID: return 8096; + case BirchFence::BirchFence(false, true, false, false).ID: return 8097; + case BirchFence::BirchFence(false, false, true, true).ID: return 8100; + case BirchFence::BirchFence(false, false, true, false).ID: return 8101; + case BirchFence::BirchFence(false, false, false, true).ID: return 8104; + case BirchFence::BirchFence(false, false, false, false).ID: return 8105; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7914; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7915; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7916; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7917; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7918; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7919; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7920; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7921; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7922; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7923; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7924; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7925; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7926; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7927; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7928; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7929; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7930; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7931; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7932; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7933; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7934; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7935; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7936; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7937; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7938; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7939; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7940; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7941; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7942; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7943; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7944; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7945; + case BirchLeaves::BirchLeaves(1, true).ID: return 172; + case BirchLeaves::BirchLeaves(1, false).ID: return 173; + case BirchLeaves::BirchLeaves(2, true).ID: return 174; + case BirchLeaves::BirchLeaves(2, false).ID: return 175; + case BirchLeaves::BirchLeaves(3, true).ID: return 176; + case BirchLeaves::BirchLeaves(3, false).ID: return 177; + case BirchLeaves::BirchLeaves(4, true).ID: return 178; + case BirchLeaves::BirchLeaves(4, false).ID: return 179; + case BirchLeaves::BirchLeaves(5, true).ID: return 180; + case BirchLeaves::BirchLeaves(5, false).ID: return 181; + case BirchLeaves::BirchLeaves(6, true).ID: return 182; + case BirchLeaves::BirchLeaves(6, false).ID: return 183; + case BirchLeaves::BirchLeaves(7, true).ID: return 184; + case BirchLeaves::BirchLeaves(7, false).ID: return 185; + case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 78; + case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 79; + case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 80; + case BirchPlanks::BirchPlanks().ID: return 17; + case BirchPressurePlate::BirchPressurePlate(true).ID: return 3875; + case BirchPressurePlate::BirchPressurePlate(false).ID: return 3876; + case BirchSapling::BirchSapling(0).ID: return 25; + case BirchSapling::BirchSapling(1).ID: return 26; + case BirchSign::BirchSign(0).ID: return 3444; + case BirchSign::BirchSign(1).ID: return 3446; + case BirchSign::BirchSign(2).ID: return 3448; + case BirchSign::BirchSign(3).ID: return 3450; + case BirchSign::BirchSign(4).ID: return 3452; + case BirchSign::BirchSign(5).ID: return 3454; + case BirchSign::BirchSign(6).ID: return 3456; + case BirchSign::BirchSign(7).ID: return 3458; + case BirchSign::BirchSign(8).ID: return 3460; + case BirchSign::BirchSign(9).ID: return 3462; + case BirchSign::BirchSign(10).ID: return 3464; + case BirchSign::BirchSign(11).ID: return 3466; + case BirchSign::BirchSign(12).ID: return 3468; + case BirchSign::BirchSign(13).ID: return 3470; + case BirchSign::BirchSign(14).ID: return 3472; + case BirchSign::BirchSign(15).ID: return 3474; + case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 7777; + case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 7779; + case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 7781; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5469; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5471; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5473; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5475; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5477; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5479; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5481; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5483; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5485; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5487; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5489; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5491; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5493; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5495; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5497; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5499; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5501; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5503; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5505; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5507; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5509; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5511; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5513; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5515; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5517; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5519; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5521; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5523; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5525; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5527; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5529; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5531; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5533; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5535; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5537; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5539; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5541; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5543; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5545; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5547; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: + return 4226; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: + return 4228; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: + return 4230; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: + return 4232; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4234; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4236; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4238; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4240; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: + return 4242; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: + return 4244; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: + return 4246; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: + return 4248; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4250; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4252; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4254; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4256; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: + return 4258; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: + return 4260; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: + return 4262; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: + return 4264; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4266; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4268; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4270; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4272; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: + return 4274; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: + return 4276; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: + return 4278; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: + return 4280; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4282; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4284; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4286; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4288; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3750; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3752; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3754; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3756; + case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 114; + case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 115; + case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 116; + case BlackBanner::BlackBanner(0).ID: return 7601; + case BlackBanner::BlackBanner(1).ID: return 7602; + case BlackBanner::BlackBanner(2).ID: return 7603; + case BlackBanner::BlackBanner(3).ID: return 7604; + case BlackBanner::BlackBanner(4).ID: return 7605; + case BlackBanner::BlackBanner(5).ID: return 7606; + case BlackBanner::BlackBanner(6).ID: return 7607; + case BlackBanner::BlackBanner(7).ID: return 7608; + case BlackBanner::BlackBanner(8).ID: return 7609; + case BlackBanner::BlackBanner(9).ID: return 7610; + case BlackBanner::BlackBanner(10).ID: return 7611; + case BlackBanner::BlackBanner(11).ID: return 7612; + case BlackBanner::BlackBanner(12).ID: return 7613; + case BlackBanner::BlackBanner(13).ID: return 7614; + case BlackBanner::BlackBanner(14).ID: return 7615; + case BlackBanner::BlackBanner(15).ID: return 7616; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 1288; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 1289; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 1290; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 1291; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 1292; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 1293; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 1294; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 1295; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 1296; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 1297; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 1298; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 1299; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1300; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1301; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1302; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1303; + case BlackCarpet::BlackCarpet().ID: return 7345; + case BlackConcrete::BlackConcrete().ID: return 8917; + case BlackConcretePowder::BlackConcretePowder().ID: return 8933; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8898; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8899; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8900; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8901; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8832; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8833; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8834; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8835; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8836; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8837; + case BlackStainedGlass::BlackStainedGlass().ID: return 4096; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 6809; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 6810; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 6813; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 6814; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 6817; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 6818; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 6821; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 6822; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 6825; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 6826; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 6829; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 6830; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 6833; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 6834; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 6837; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 6838; + case BlackTerracotta::BlackTerracotta().ID: return 6326; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7677; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7678; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7679; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7680; + case BlackWool::BlackWool().ID: return 1398; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11155; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11156; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11157; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11158; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 11159; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 11160; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 11161; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 11162; + case BlueBanner::BlueBanner(0).ID: return 7537; + case BlueBanner::BlueBanner(1).ID: return 7538; + case BlueBanner::BlueBanner(2).ID: return 7539; + case BlueBanner::BlueBanner(3).ID: return 7540; + case BlueBanner::BlueBanner(4).ID: return 7541; + case BlueBanner::BlueBanner(5).ID: return 7542; + case BlueBanner::BlueBanner(6).ID: return 7543; + case BlueBanner::BlueBanner(7).ID: return 7544; + case BlueBanner::BlueBanner(8).ID: return 7545; + case BlueBanner::BlueBanner(9).ID: return 7546; + case BlueBanner::BlueBanner(10).ID: return 7547; + case BlueBanner::BlueBanner(11).ID: return 7548; + case BlueBanner::BlueBanner(12).ID: return 7549; + case BlueBanner::BlueBanner(13).ID: return 7550; + case BlueBanner::BlueBanner(14).ID: return 7551; + case BlueBanner::BlueBanner(15).ID: return 7552; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 1224; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 1225; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 1226; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 1227; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 1228; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 1229; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 1230; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 1231; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 1232; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 1233; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 1234; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 1235; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 1236; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 1237; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 1238; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 1239; + case BlueCarpet::BlueCarpet().ID: return 7341; + case BlueConcrete::BlueConcrete().ID: return 8913; + case BlueConcretePowder::BlueConcretePowder().ID: return 8929; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8882; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8883; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8884; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8885; + case BlueIce::BlueIce().ID: return 9112; + case BlueOrchid::BlueOrchid().ID: return 1413; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8808; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8809; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8810; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8811; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8812; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8813; + case BlueStainedGlass::BlueStainedGlass().ID: return 4092; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 6681; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 6682; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 6685; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 6686; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 6689; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 6690; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 6693; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 6694; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 6697; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 6698; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 6701; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 6702; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 6705; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 6706; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 6709; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 6710; + case BlueTerracotta::BlueTerracotta().ID: return 6322; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7661; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7662; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7663; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7664; + case BlueWool::BlueWool().ID: return 1394; + case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 8720; + case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 8721; + case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 8722; + case Bookshelf::Bookshelf().ID: return 1431; + case BrainCoral::BrainCoral().ID: return 8997; + case BrainCoralBlock::BrainCoralBlock().ID: return 8980; + case BrainCoralFan::BrainCoralFan().ID: return 9017; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9073; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9075; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9077; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9079; + case BrewingStand::BrewingStand(true, true, true).ID: return 5117; + case BrewingStand::BrewingStand(true, true, false).ID: return 5118; + case BrewingStand::BrewingStand(true, false, true).ID: return 5119; + case BrewingStand::BrewingStand(true, false, false).ID: return 5120; + case BrewingStand::BrewingStand(false, true, true).ID: return 5121; + case BrewingStand::BrewingStand(false, true, false).ID: return 5122; + case BrewingStand::BrewingStand(false, false, true).ID: return 5123; + case BrewingStand::BrewingStand(false, false, false).ID: return 5124; + case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 7837; + case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 7839; + case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 7841; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4837; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4839; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4841; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4843; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4845; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4847; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4849; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4851; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4853; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4855; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4857; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4859; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4861; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4863; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4865; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4867; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4869; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4871; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4873; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4875; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4877; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4879; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4881; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4883; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4885; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4887; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4889; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4891; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4893; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4895; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4897; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4899; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4901; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4903; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4905; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4907; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4909; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4911; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4913; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4915; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10333; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10334; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10337; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10338; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10341; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10342; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10345; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10346; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10349; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10350; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10353; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10354; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10357; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10358; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10361; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10362; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10365; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10366; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10369; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10370; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10373; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10374; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10377; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10378; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10381; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10382; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10385; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10386; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10389; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10390; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10393; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10394; + case Bricks::Bricks().ID: return 1428; + case BrownBanner::BrownBanner(0).ID: return 7553; + case BrownBanner::BrownBanner(1).ID: return 7554; + case BrownBanner::BrownBanner(2).ID: return 7555; + case BrownBanner::BrownBanner(3).ID: return 7556; + case BrownBanner::BrownBanner(4).ID: return 7557; + case BrownBanner::BrownBanner(5).ID: return 7558; + case BrownBanner::BrownBanner(6).ID: return 7559; + case BrownBanner::BrownBanner(7).ID: return 7560; + case BrownBanner::BrownBanner(8).ID: return 7561; + case BrownBanner::BrownBanner(9).ID: return 7562; + case BrownBanner::BrownBanner(10).ID: return 7563; + case BrownBanner::BrownBanner(11).ID: return 7564; + case BrownBanner::BrownBanner(12).ID: return 7565; + case BrownBanner::BrownBanner(13).ID: return 7566; + case BrownBanner::BrownBanner(14).ID: return 7567; + case BrownBanner::BrownBanner(15).ID: return 7568; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 1240; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 1241; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 1242; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 1243; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 1244; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 1245; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 1246; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 1247; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 1248; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 1249; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 1250; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 1251; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 1252; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 1253; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 1254; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 1255; + case BrownCarpet::BrownCarpet().ID: return 7342; + case BrownConcrete::BrownConcrete().ID: return 8914; + case BrownConcretePowder::BrownConcretePowder().ID: return 8930; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8886; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8887; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8888; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8889; + case BrownMushroom::BrownMushroom().ID: return 1424; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 4491; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 4492; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 4493; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 4494; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 4495; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 4496; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 4497; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 4498; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 4499; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 4500; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 4501; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 4502; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 4503; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4504; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4505; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4506; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4507; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4508; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4509; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4510; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4511; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4512; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4513; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4514; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4515; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4516; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4517; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4518; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4519; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4520; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4521; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4522; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4523; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4524; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4525; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4526; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4527; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4528; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4529; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4530; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4531; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4532; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4533; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4534; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4535; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4536; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4537; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4538; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4539; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4540; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4541; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4542; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4543; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4544; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4545; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4546; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4547; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4548; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4549; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4550; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4551; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4552; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4553; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4554; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8814; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8815; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8816; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8817; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8818; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8819; + case BrownStainedGlass::BrownStainedGlass().ID: return 4093; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 6713; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 6714; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 6717; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 6718; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 6721; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 6722; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 6725; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 6726; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 6729; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 6730; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 6733; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 6734; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 6737; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 6738; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 6741; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 6742; + case BrownTerracotta::BrownTerracotta().ID: return 6323; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7665; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7666; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7667; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7668; + case BrownWool::BrownWool().ID: return 1395; + case BubbleColumn::BubbleColumn(true).ID: return 9131; + case BubbleColumn::BubbleColumn(false).ID: return 9132; + case BubbleCoral::BubbleCoral().ID: return 8999; + case BubbleCoralBlock::BubbleCoralBlock().ID: return 8981; + case BubbleCoralFan::BubbleCoralFan().ID: return 9019; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9081; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9083; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9085; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9087; + case Cactus::Cactus(0).ID: return 3929; + case Cactus::Cactus(1).ID: return 3930; + case Cactus::Cactus(2).ID: return 3931; + case Cactus::Cactus(3).ID: return 3932; + case Cactus::Cactus(4).ID: return 3933; + case Cactus::Cactus(5).ID: return 3934; + case Cactus::Cactus(6).ID: return 3935; + case Cactus::Cactus(7).ID: return 3936; + case Cactus::Cactus(8).ID: return 3937; + case Cactus::Cactus(9).ID: return 3938; + case Cactus::Cactus(10).ID: return 3939; + case Cactus::Cactus(11).ID: return 3940; + case Cactus::Cactus(12).ID: return 3941; + case Cactus::Cactus(13).ID: return 3942; + case Cactus::Cactus(14).ID: return 3943; + case Cactus::Cactus(15).ID: return 3944; + case Cake::Cake(0).ID: return 4010; + case Cake::Cake(1).ID: return 4011; + case Cake::Cake(2).ID: return 4012; + case Cake::Cake(3).ID: return 4013; + case Cake::Cake(4).ID: return 4014; + case Cake::Cake(5).ID: return 4015; + case Cake::Cake(6).ID: return 4016; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 11217; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 11219; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 11221; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 11223; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 11225; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 11227; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 11229; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 11231; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 11233; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 11235; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 11237; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 11239; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 11241; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 11243; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 11245; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 11247; + case Carrots::Carrots(0).ID: return 5794; + case Carrots::Carrots(1).ID: return 5795; + case Carrots::Carrots(2).ID: return 5796; + case Carrots::Carrots(3).ID: return 5797; + case Carrots::Carrots(4).ID: return 5798; + case Carrots::Carrots(5).ID: return 5799; + case Carrots::Carrots(6).ID: return 5800; + case Carrots::Carrots(7).ID: return 5801; + case CartographyTable::CartographyTable().ID: return 11163; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 4002; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 4003; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 4004; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 4005; + case Cauldron::Cauldron(0).ID: return 5125; + case Cauldron::Cauldron(1).ID: return 5126; + case Cauldron::Cauldron(2).ID: return 5127; + case Cauldron::Cauldron(3).ID: return 5128; + case CaveAir::CaveAir().ID: return 9130; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8701; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8702; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8703; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8704; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8705; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8706; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8707; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8708; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8709; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8710; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8711; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8712; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 2033; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 2035; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 2037; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 2039; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 2041; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 2043; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 2045; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 2047; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 2049; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 2051; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 2053; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 2055; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6078; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6079; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6080; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6081; + case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 6203; + case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 7682; + case ChiseledSandstone::ChiseledSandstone().ID: return 246; + case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 4484; + case ChorusFlower::ChorusFlower(0).ID: return 8592; + case ChorusFlower::ChorusFlower(1).ID: return 8593; + case ChorusFlower::ChorusFlower(2).ID: return 8594; + case ChorusFlower::ChorusFlower(3).ID: return 8595; + case ChorusFlower::ChorusFlower(4).ID: return 8596; + case ChorusFlower::ChorusFlower(5).ID: return 8597; + case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 8528; + case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 8529; + case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 8530; + case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 8531; + case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 8532; + case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 8533; + case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 8534; + case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 8535; + case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 8536; + case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 8537; + case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 8538; + case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 8539; + case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 8540; + case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 8541; + case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 8542; + case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 8543; + case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 8544; + case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 8545; + case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 8546; + case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 8547; + case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 8548; + case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 8549; + case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 8550; + case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 8551; + case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 8552; + case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 8553; + case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 8554; + case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 8555; + case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 8556; + case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 8557; + case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 8558; + case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 8559; + case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 8560; + case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 8561; + case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 8562; + case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 8563; + case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 8564; + case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 8565; + case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 8566; + case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 8567; + case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 8568; + case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 8569; + case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 8570; + case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 8571; + case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 8572; + case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 8573; + case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 8574; + case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 8575; + case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 8576; + case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 8577; + case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 8578; + case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 8579; + case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 8580; + case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 8581; + case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 8582; + case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 8583; + case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 8584; + case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 8585; + case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 8586; + case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 8587; + case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 8588; + case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 8589; + case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 8590; + case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 8591; + case Clay::Clay().ID: return 3945; + case CoalBlock::CoalBlock().ID: return 7347; + case CoalOre::CoalOre().ID: return 71; + case CoarseDirt::CoarseDirt().ID: return 11; + case Cobblestone::Cobblestone().ID: return 14; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 7831; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 7833; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 7835; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3654; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3656; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3658; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3660; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3662; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3664; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3666; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3668; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3670; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3672; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3674; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3676; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3678; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3680; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3682; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3684; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3686; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3688; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3690; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3692; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3694; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3696; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3698; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3700; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3702; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3704; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3706; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3708; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3710; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3712; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3714; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3716; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3718; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3720; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3722; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3724; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3726; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3728; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3730; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3732; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5643; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5644; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5647; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5648; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5651; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5652; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5655; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5656; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5659; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5660; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5663; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5664; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5667; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5668; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5671; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5672; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5675; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5676; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5679; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5680; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5683; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5684; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5687; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5688; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5691; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5692; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5695; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5696; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5699; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5700; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5703; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5704; + case Cobweb::Cobweb().ID: return 1340; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 5142; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 5143; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 5144; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 5145; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 5146; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 5147; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 5148; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 5149; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 5150; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 5151; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 5152; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 5153; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5628; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5629; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5630; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5631; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5632; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5633; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5634; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5635; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5636; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5637; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5638; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5639; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 6142; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 6143; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 6144; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 6145; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 6146; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 6147; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 6148; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 6149; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 6150; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 6151; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 6152; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 6153; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 6154; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 6155; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 6156; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 6157; + case Composter::Composter(0).ID: return 11262; + case Composter::Composter(1).ID: return 11263; + case Composter::Composter(2).ID: return 11264; + case Composter::Composter(3).ID: return 11265; + case Composter::Composter(4).ID: return 11266; + case Composter::Composter(5).ID: return 11267; + case Composter::Composter(6).ID: return 11268; + case Composter::Composter(7).ID: return 11269; + case Composter::Composter(8).ID: return 11270; + case Conduit::Conduit().ID: return 9114; + case Cornflower::Cornflower().ID: return 1421; + case CrackedStoneBricks::CrackedStoneBricks().ID: return 4483; + case CraftingTable::CraftingTable().ID: return 3354; + case CreeperHead::CreeperHead(0).ID: return 6034; + case CreeperHead::CreeperHead(1).ID: return 6035; + case CreeperHead::CreeperHead(2).ID: return 6036; + case CreeperHead::CreeperHead(3).ID: return 6037; + case CreeperHead::CreeperHead(4).ID: return 6038; + case CreeperHead::CreeperHead(5).ID: return 6039; + case CreeperHead::CreeperHead(6).ID: return 6040; + case CreeperHead::CreeperHead(7).ID: return 6041; + case CreeperHead::CreeperHead(8).ID: return 6042; + case CreeperHead::CreeperHead(9).ID: return 6043; + case CreeperHead::CreeperHead(10).ID: return 6044; + case CreeperHead::CreeperHead(11).ID: return 6045; + case CreeperHead::CreeperHead(12).ID: return 6046; + case CreeperHead::CreeperHead(13).ID: return 6047; + case CreeperHead::CreeperHead(14).ID: return 6048; + case CreeperHead::CreeperHead(15).ID: return 6049; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6050; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6051; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6052; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6053; + case CutRedSandstone::CutRedSandstone().ID: return 7683; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Top).ID: return 7867; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Bottom).ID: return 7869; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Double).ID: return 7871; + case CutSandstone::CutSandstone().ID: return 247; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Top).ID: return 7819; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Bottom).ID: return 7821; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Double).ID: return 7823; + case CyanBanner::CyanBanner(0).ID: return 7505; + case CyanBanner::CyanBanner(1).ID: return 7506; + case CyanBanner::CyanBanner(2).ID: return 7507; + case CyanBanner::CyanBanner(3).ID: return 7508; + case CyanBanner::CyanBanner(4).ID: return 7509; + case CyanBanner::CyanBanner(5).ID: return 7510; + case CyanBanner::CyanBanner(6).ID: return 7511; + case CyanBanner::CyanBanner(7).ID: return 7512; + case CyanBanner::CyanBanner(8).ID: return 7513; + case CyanBanner::CyanBanner(9).ID: return 7514; + case CyanBanner::CyanBanner(10).ID: return 7515; + case CyanBanner::CyanBanner(11).ID: return 7516; + case CyanBanner::CyanBanner(12).ID: return 7517; + case CyanBanner::CyanBanner(13).ID: return 7518; + case CyanBanner::CyanBanner(14).ID: return 7519; + case CyanBanner::CyanBanner(15).ID: return 7520; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 1192; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 1193; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 1194; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 1195; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 1196; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 1197; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 1198; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 1199; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 1200; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 1201; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 1202; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 1203; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 1204; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 1205; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 1206; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 1207; + case CyanCarpet::CyanCarpet().ID: return 7339; + case CyanConcrete::CyanConcrete().ID: return 8911; + case CyanConcretePowder::CyanConcretePowder().ID: return 8927; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8874; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8875; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8876; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8877; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8796; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8797; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8798; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8799; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8800; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8801; + case CyanStainedGlass::CyanStainedGlass().ID: return 4090; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 6617; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 6618; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 6621; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 6622; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 6625; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 6626; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 6629; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 6630; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 6633; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 6634; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 6637; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 6638; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 6641; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 6642; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 6645; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 6646; + case CyanTerracotta::CyanTerracotta().ID: return 6320; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7653; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7654; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7655; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7656; + case CyanWool::CyanWool().ID: return 1392; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6082; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6083; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6084; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6085; + case Dandelion::Dandelion().ID: return 1411; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5930; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5931; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5932; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5933; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5934; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5935; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5936; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5937; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5938; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5939; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5940; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5941; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5942; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5943; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5944; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5945; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: + return 5946; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: + return 5947; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: + return 5948; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: + return 5949; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: + return 5950; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: + return 5951; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: + return 5952; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: + return 5953; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8458; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8459; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8460; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8461; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8462; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8463; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8464; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8465; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8466; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8467; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8468; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8469; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8470; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8471; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8472; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8473; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8474; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8475; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8476; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8477; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8478; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8479; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8480; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8481; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8482; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8483; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8484; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8485; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8486; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8487; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8488; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8489; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8490; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8491; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8492; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8493; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8494; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8495; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8496; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8497; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8498; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8499; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8500; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8501; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8502; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8503; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8504; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8505; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8506; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8507; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8508; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8509; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8510; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8511; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8512; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8513; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8514; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8515; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8516; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8517; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8518; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8519; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8520; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8521; + case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 8172; + case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 8173; + case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 8176; + case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 8177; + case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 8180; + case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 8181; + case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 8184; + case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 8185; + case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 8188; + case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 8189; + case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 8192; + case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 8193; + case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 8196; + case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 8197; + case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 8200; + case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 8201; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8010; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8011; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8012; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8013; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8014; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8015; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8016; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8017; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8018; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8019; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8020; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8021; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8022; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8023; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8024; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8025; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8026; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8027; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8028; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8029; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8030; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8031; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8032; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8033; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8034; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8035; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8036; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8037; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8038; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8039; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8040; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8041; + case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 214; + case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 215; + case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 216; + case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 217; + case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 218; + case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 219; + case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 220; + case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 221; + case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 222; + case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 223; + case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 224; + case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 225; + case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 226; + case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 227; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 87; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 88; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 89; + case DarkOakPlanks::DarkOakPlanks().ID: return 20; + case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3881; + case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3882; + case DarkOakSapling::DarkOakSapling(0).ID: return 31; + case DarkOakSapling::DarkOakSapling(1).ID: return 32; + case DarkOakSign::DarkOakSign(0).ID: return 3540; + case DarkOakSign::DarkOakSign(1).ID: return 3542; + case DarkOakSign::DarkOakSign(2).ID: return 3544; + case DarkOakSign::DarkOakSign(3).ID: return 3546; + case DarkOakSign::DarkOakSign(4).ID: return 3548; + case DarkOakSign::DarkOakSign(5).ID: return 3550; + case DarkOakSign::DarkOakSign(6).ID: return 3552; + case DarkOakSign::DarkOakSign(7).ID: return 3554; + case DarkOakSign::DarkOakSign(8).ID: return 3556; + case DarkOakSign::DarkOakSign(9).ID: return 3558; + case DarkOakSign::DarkOakSign(10).ID: return 3560; + case DarkOakSign::DarkOakSign(11).ID: return 3562; + case DarkOakSign::DarkOakSign(12).ID: return 3564; + case DarkOakSign::DarkOakSign(13).ID: return 3566; + case DarkOakSign::DarkOakSign(14).ID: return 3568; + case DarkOakSign::DarkOakSign(15).ID: return 3570; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 7795; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 7797; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 7799; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6920; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6922; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6924; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6926; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6928; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6930; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6932; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6934; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6936; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6938; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6940; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6942; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6944; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6946; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6948; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6950; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6952; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6954; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6956; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6958; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6960; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6962; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6964; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6966; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6968; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6970; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6972; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6974; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6976; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6978; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6980; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6982; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6984; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6986; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6988; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6990; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6992; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6994; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6996; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6998; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4418; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4420; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4422; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4424; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4426; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4428; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4430; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4432; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4434; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4436; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4438; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4440; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4442; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4444; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4446; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4448; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4450; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4452; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4454; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4456; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4458; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4460; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4462; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4464; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4466; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4468; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4470; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4472; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4474; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4476; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4478; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4480; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3774; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3776; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3778; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3780; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 123; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 124; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 125; + case DarkPrismarine::DarkPrismarine().ID: return 7067; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 7321; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 7323; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 7325; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7229; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7231; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7233; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7235; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7237; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7239; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7241; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7243; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7245; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7247; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7249; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7251; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7253; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7255; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7257; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7259; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7261; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7263; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7265; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7267; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7269; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7271; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7273; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7275; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7277; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7279; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7281; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7283; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7285; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7287; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7289; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7291; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7293; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7295; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7297; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7299; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7301; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7303; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7305; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7307; + case DaylightDetector::DaylightDetector(true, 0).ID: return 6158; + case DaylightDetector::DaylightDetector(true, 1).ID: return 6159; + case DaylightDetector::DaylightDetector(true, 2).ID: return 6160; + case DaylightDetector::DaylightDetector(true, 3).ID: return 6161; + case DaylightDetector::DaylightDetector(true, 4).ID: return 6162; + case DaylightDetector::DaylightDetector(true, 5).ID: return 6163; + case DaylightDetector::DaylightDetector(true, 6).ID: return 6164; + case DaylightDetector::DaylightDetector(true, 7).ID: return 6165; + case DaylightDetector::DaylightDetector(true, 8).ID: return 6166; + case DaylightDetector::DaylightDetector(true, 9).ID: return 6167; + case DaylightDetector::DaylightDetector(true, 10).ID: return 6168; + case DaylightDetector::DaylightDetector(true, 11).ID: return 6169; + case DaylightDetector::DaylightDetector(true, 12).ID: return 6170; + case DaylightDetector::DaylightDetector(true, 13).ID: return 6171; + case DaylightDetector::DaylightDetector(true, 14).ID: return 6172; + case DaylightDetector::DaylightDetector(true, 15).ID: return 6173; + case DaylightDetector::DaylightDetector(false, 0).ID: return 6174; + case DaylightDetector::DaylightDetector(false, 1).ID: return 6175; + case DaylightDetector::DaylightDetector(false, 2).ID: return 6176; + case DaylightDetector::DaylightDetector(false, 3).ID: return 6177; + case DaylightDetector::DaylightDetector(false, 4).ID: return 6178; + case DaylightDetector::DaylightDetector(false, 5).ID: return 6179; + case DaylightDetector::DaylightDetector(false, 6).ID: return 6180; + case DaylightDetector::DaylightDetector(false, 7).ID: return 6181; + case DaylightDetector::DaylightDetector(false, 8).ID: return 6182; + case DaylightDetector::DaylightDetector(false, 9).ID: return 6183; + case DaylightDetector::DaylightDetector(false, 10).ID: return 6184; + case DaylightDetector::DaylightDetector(false, 11).ID: return 6185; + case DaylightDetector::DaylightDetector(false, 12).ID: return 6186; + case DaylightDetector::DaylightDetector(false, 13).ID: return 6187; + case DaylightDetector::DaylightDetector(false, 14).ID: return 6188; + case DaylightDetector::DaylightDetector(false, 15).ID: return 6189; + case DeadBrainCoral::DeadBrainCoral().ID: return 8987; + case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 8975; + case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 9007; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9033; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9035; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9037; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9039; + case DeadBubbleCoral::DeadBubbleCoral().ID: return 8989; + case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 8976; + case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 9009; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9041; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9043; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9045; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9047; + case DeadBush::DeadBush().ID: return 1343; + case DeadFireCoral::DeadFireCoral().ID: return 8991; + case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 8977; + case DeadFireCoralFan::DeadFireCoralFan().ID: return 9011; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9049; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9051; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9053; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9055; + case DeadHornCoral::DeadHornCoral().ID: return 8993; + case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 8978; + case DeadHornCoralFan::DeadHornCoralFan().ID: return 9013; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9057; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9059; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9061; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9063; + case DeadTubeCoral::DeadTubeCoral().ID: return 8985; + case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 8974; + case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 9005; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9025; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9027; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9029; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9031; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1316; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1317; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1318; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1319; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1320; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1321; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1322; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1323; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1324; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1325; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1326; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1327; + case DiamondBlock::DiamondBlock().ID: return 3353; + case DiamondOre::DiamondOre().ID: return 3352; + case Diorite::Diorite().ID: return 4; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Top).ID: return 10326; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Bottom).ID: return 10328; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Double).ID: return 10330; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10174; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10176; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10178; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10180; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10182; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10184; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10186; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10188; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10190; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10192; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10194; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10196; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10198; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10200; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10202; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10204; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10206; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10208; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10210; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10212; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10214; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10216; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10218; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10220; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10222; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10224; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10226; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10228; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10230; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10232; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10234; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10236; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10238; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10240; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10242; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10244; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10246; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10248; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10250; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10252; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 11037; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 11038; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 11041; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 11042; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 11045; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 11046; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 11049; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 11050; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 11053; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 11054; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 11057; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 11058; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 11061; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 11062; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 11065; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 11066; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 11069; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 11070; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 11073; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 11074; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 11077; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 11078; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 11081; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 11082; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 11085; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 11086; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 11089; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 11090; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 11093; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 11094; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 11097; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 11098; + case Dirt::Dirt().ID: return 10; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 233; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 234; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 235; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 236; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 237; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 238; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 239; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 240; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 241; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 242; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 243; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 244; + case DragonEgg::DragonEgg().ID: return 5139; + case DragonHead::DragonHead(0).ID: return 6054; + case DragonHead::DragonHead(1).ID: return 6055; + case DragonHead::DragonHead(2).ID: return 6056; + case DragonHead::DragonHead(3).ID: return 6057; + case DragonHead::DragonHead(4).ID: return 6058; + case DragonHead::DragonHead(5).ID: return 6059; + case DragonHead::DragonHead(6).ID: return 6060; + case DragonHead::DragonHead(7).ID: return 6061; + case DragonHead::DragonHead(8).ID: return 6062; + case DragonHead::DragonHead(9).ID: return 6063; + case DragonHead::DragonHead(10).ID: return 6064; + case DragonHead::DragonHead(11).ID: return 6065; + case DragonHead::DragonHead(12).ID: return 6066; + case DragonHead::DragonHead(13).ID: return 6067; + case DragonHead::DragonHead(14).ID: return 6068; + case DragonHead::DragonHead(15).ID: return 6069; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6070; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6071; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6072; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6073; + case DriedKelpBlock::DriedKelpBlock().ID: return 8961; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 6299; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 6300; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 6301; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 6302; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 6303; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 6304; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 6305; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 6306; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 6307; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 6308; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 6309; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 6310; + case EmeraldBlock::EmeraldBlock().ID: return 5387; + case EmeraldOre::EmeraldOre().ID: return 5234; + case EnchantingTable::EnchantingTable().ID: return 5116; + case EndGateway::EndGateway().ID: return 8688; + case EndPortal::EndPortal().ID: return 5129; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5130; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5131; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 5132; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 5133; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5134; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5135; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 5136; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 5137; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 8522; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 8523; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 8524; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 8525; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 8526; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 8527; + case EndStone::EndStone().ID: return 5138; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Top).ID: return 10284; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Bottom).ID: return 10286; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Double).ID: return 10288; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9534; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9536; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9538; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9540; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9542; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9544; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9546; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9548; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9550; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9552; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9554; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9556; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9558; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9560; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9562; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9564; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9566; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9568; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9570; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9572; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9574; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9576; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9578; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9580; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9582; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9584; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9586; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9588; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9590; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9592; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9594; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9596; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9598; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9600; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9602; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9604; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9606; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9608; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9610; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9612; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 10973; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 10974; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 10977; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 10978; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 10981; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 10982; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 10985; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 10986; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 10989; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 10990; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 10993; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 10994; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 10997; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 10998; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11001; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11002; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 11005; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 11006; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11009; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11010; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 11013; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 11014; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11017; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11018; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 11021; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 11022; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11025; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11026; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 11029; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 11030; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11033; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11034; + case EndStoneBricks::EndStoneBricks().ID: return 8682; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 5236; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 5238; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 5240; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 5242; + case Farmland::Farmland(0).ID: return 3363; + case Farmland::Farmland(1).ID: return 3364; + case Farmland::Farmland(2).ID: return 3365; + case Farmland::Farmland(3).ID: return 3366; + case Farmland::Farmland(4).ID: return 3367; + case Farmland::Farmland(5).ID: return 3368; + case Farmland::Farmland(6).ID: return 3369; + case Farmland::Farmland(7).ID: return 3370; + case Fern::Fern().ID: return 1342; + case Fire::Fire(0, true, true, true, true, true).ID: return 1439; + case Fire::Fire(0, true, true, true, true, false).ID: return 1440; + case Fire::Fire(0, true, true, true, false, true).ID: return 1441; + case Fire::Fire(0, true, true, true, false, false).ID: return 1442; + case Fire::Fire(0, true, true, false, true, true).ID: return 1443; + case Fire::Fire(0, true, true, false, true, false).ID: return 1444; + case Fire::Fire(0, true, true, false, false, true).ID: return 1445; + case Fire::Fire(0, true, true, false, false, false).ID: return 1446; + case Fire::Fire(0, true, false, true, true, true).ID: return 1447; + case Fire::Fire(0, true, false, true, true, false).ID: return 1448; + case Fire::Fire(0, true, false, true, false, true).ID: return 1449; + case Fire::Fire(0, true, false, true, false, false).ID: return 1450; + case Fire::Fire(0, true, false, false, true, true).ID: return 1451; + case Fire::Fire(0, true, false, false, true, false).ID: return 1452; + case Fire::Fire(0, true, false, false, false, true).ID: return 1453; + case Fire::Fire(0, true, false, false, false, false).ID: return 1454; + case Fire::Fire(0, false, true, true, true, true).ID: return 1455; + case Fire::Fire(0, false, true, true, true, false).ID: return 1456; + case Fire::Fire(0, false, true, true, false, true).ID: return 1457; + case Fire::Fire(0, false, true, true, false, false).ID: return 1458; + case Fire::Fire(0, false, true, false, true, true).ID: return 1459; + case Fire::Fire(0, false, true, false, true, false).ID: return 1460; + case Fire::Fire(0, false, true, false, false, true).ID: return 1461; + case Fire::Fire(0, false, true, false, false, false).ID: return 1462; + case Fire::Fire(0, false, false, true, true, true).ID: return 1463; + case Fire::Fire(0, false, false, true, true, false).ID: return 1464; + case Fire::Fire(0, false, false, true, false, true).ID: return 1465; + case Fire::Fire(0, false, false, true, false, false).ID: return 1466; + case Fire::Fire(0, false, false, false, true, true).ID: return 1467; + case Fire::Fire(0, false, false, false, true, false).ID: return 1468; + case Fire::Fire(0, false, false, false, false, true).ID: return 1469; + case Fire::Fire(0, false, false, false, false, false).ID: return 1470; + case Fire::Fire(1, true, true, true, true, true).ID: return 1471; + case Fire::Fire(1, true, true, true, true, false).ID: return 1472; + case Fire::Fire(1, true, true, true, false, true).ID: return 1473; + case Fire::Fire(1, true, true, true, false, false).ID: return 1474; + case Fire::Fire(1, true, true, false, true, true).ID: return 1475; + case Fire::Fire(1, true, true, false, true, false).ID: return 1476; + case Fire::Fire(1, true, true, false, false, true).ID: return 1477; + case Fire::Fire(1, true, true, false, false, false).ID: return 1478; + case Fire::Fire(1, true, false, true, true, true).ID: return 1479; + case Fire::Fire(1, true, false, true, true, false).ID: return 1480; + case Fire::Fire(1, true, false, true, false, true).ID: return 1481; + case Fire::Fire(1, true, false, true, false, false).ID: return 1482; + case Fire::Fire(1, true, false, false, true, true).ID: return 1483; + case Fire::Fire(1, true, false, false, true, false).ID: return 1484; + case Fire::Fire(1, true, false, false, false, true).ID: return 1485; + case Fire::Fire(1, true, false, false, false, false).ID: return 1486; + case Fire::Fire(1, false, true, true, true, true).ID: return 1487; + case Fire::Fire(1, false, true, true, true, false).ID: return 1488; + case Fire::Fire(1, false, true, true, false, true).ID: return 1489; + case Fire::Fire(1, false, true, true, false, false).ID: return 1490; + case Fire::Fire(1, false, true, false, true, true).ID: return 1491; + case Fire::Fire(1, false, true, false, true, false).ID: return 1492; + case Fire::Fire(1, false, true, false, false, true).ID: return 1493; + case Fire::Fire(1, false, true, false, false, false).ID: return 1494; + case Fire::Fire(1, false, false, true, true, true).ID: return 1495; + case Fire::Fire(1, false, false, true, true, false).ID: return 1496; + case Fire::Fire(1, false, false, true, false, true).ID: return 1497; + case Fire::Fire(1, false, false, true, false, false).ID: return 1498; + case Fire::Fire(1, false, false, false, true, true).ID: return 1499; + case Fire::Fire(1, false, false, false, true, false).ID: return 1500; + case Fire::Fire(1, false, false, false, false, true).ID: return 1501; + case Fire::Fire(1, false, false, false, false, false).ID: return 1502; + case Fire::Fire(2, true, true, true, true, true).ID: return 1503; + case Fire::Fire(2, true, true, true, true, false).ID: return 1504; + case Fire::Fire(2, true, true, true, false, true).ID: return 1505; + case Fire::Fire(2, true, true, true, false, false).ID: return 1506; + case Fire::Fire(2, true, true, false, true, true).ID: return 1507; + case Fire::Fire(2, true, true, false, true, false).ID: return 1508; + case Fire::Fire(2, true, true, false, false, true).ID: return 1509; + case Fire::Fire(2, true, true, false, false, false).ID: return 1510; + case Fire::Fire(2, true, false, true, true, true).ID: return 1511; + case Fire::Fire(2, true, false, true, true, false).ID: return 1512; + case Fire::Fire(2, true, false, true, false, true).ID: return 1513; + case Fire::Fire(2, true, false, true, false, false).ID: return 1514; + case Fire::Fire(2, true, false, false, true, true).ID: return 1515; + case Fire::Fire(2, true, false, false, true, false).ID: return 1516; + case Fire::Fire(2, true, false, false, false, true).ID: return 1517; + case Fire::Fire(2, true, false, false, false, false).ID: return 1518; + case Fire::Fire(2, false, true, true, true, true).ID: return 1519; + case Fire::Fire(2, false, true, true, true, false).ID: return 1520; + case Fire::Fire(2, false, true, true, false, true).ID: return 1521; + case Fire::Fire(2, false, true, true, false, false).ID: return 1522; + case Fire::Fire(2, false, true, false, true, true).ID: return 1523; + case Fire::Fire(2, false, true, false, true, false).ID: return 1524; + case Fire::Fire(2, false, true, false, false, true).ID: return 1525; + case Fire::Fire(2, false, true, false, false, false).ID: return 1526; + case Fire::Fire(2, false, false, true, true, true).ID: return 1527; + case Fire::Fire(2, false, false, true, true, false).ID: return 1528; + case Fire::Fire(2, false, false, true, false, true).ID: return 1529; + case Fire::Fire(2, false, false, true, false, false).ID: return 1530; + case Fire::Fire(2, false, false, false, true, true).ID: return 1531; + case Fire::Fire(2, false, false, false, true, false).ID: return 1532; + case Fire::Fire(2, false, false, false, false, true).ID: return 1533; + case Fire::Fire(2, false, false, false, false, false).ID: return 1534; + case Fire::Fire(3, true, true, true, true, true).ID: return 1535; + case Fire::Fire(3, true, true, true, true, false).ID: return 1536; + case Fire::Fire(3, true, true, true, false, true).ID: return 1537; + case Fire::Fire(3, true, true, true, false, false).ID: return 1538; + case Fire::Fire(3, true, true, false, true, true).ID: return 1539; + case Fire::Fire(3, true, true, false, true, false).ID: return 1540; + case Fire::Fire(3, true, true, false, false, true).ID: return 1541; + case Fire::Fire(3, true, true, false, false, false).ID: return 1542; + case Fire::Fire(3, true, false, true, true, true).ID: return 1543; + case Fire::Fire(3, true, false, true, true, false).ID: return 1544; + case Fire::Fire(3, true, false, true, false, true).ID: return 1545; + case Fire::Fire(3, true, false, true, false, false).ID: return 1546; + case Fire::Fire(3, true, false, false, true, true).ID: return 1547; + case Fire::Fire(3, true, false, false, true, false).ID: return 1548; + case Fire::Fire(3, true, false, false, false, true).ID: return 1549; + case Fire::Fire(3, true, false, false, false, false).ID: return 1550; + case Fire::Fire(3, false, true, true, true, true).ID: return 1551; + case Fire::Fire(3, false, true, true, true, false).ID: return 1552; + case Fire::Fire(3, false, true, true, false, true).ID: return 1553; + case Fire::Fire(3, false, true, true, false, false).ID: return 1554; + case Fire::Fire(3, false, true, false, true, true).ID: return 1555; + case Fire::Fire(3, false, true, false, true, false).ID: return 1556; + case Fire::Fire(3, false, true, false, false, true).ID: return 1557; + case Fire::Fire(3, false, true, false, false, false).ID: return 1558; + case Fire::Fire(3, false, false, true, true, true).ID: return 1559; + case Fire::Fire(3, false, false, true, true, false).ID: return 1560; + case Fire::Fire(3, false, false, true, false, true).ID: return 1561; + case Fire::Fire(3, false, false, true, false, false).ID: return 1562; + case Fire::Fire(3, false, false, false, true, true).ID: return 1563; + case Fire::Fire(3, false, false, false, true, false).ID: return 1564; + case Fire::Fire(3, false, false, false, false, true).ID: return 1565; + case Fire::Fire(3, false, false, false, false, false).ID: return 1566; + case Fire::Fire(4, true, true, true, true, true).ID: return 1567; + case Fire::Fire(4, true, true, true, true, false).ID: return 1568; + case Fire::Fire(4, true, true, true, false, true).ID: return 1569; + case Fire::Fire(4, true, true, true, false, false).ID: return 1570; + case Fire::Fire(4, true, true, false, true, true).ID: return 1571; + case Fire::Fire(4, true, true, false, true, false).ID: return 1572; + case Fire::Fire(4, true, true, false, false, true).ID: return 1573; + case Fire::Fire(4, true, true, false, false, false).ID: return 1574; + case Fire::Fire(4, true, false, true, true, true).ID: return 1575; + case Fire::Fire(4, true, false, true, true, false).ID: return 1576; + case Fire::Fire(4, true, false, true, false, true).ID: return 1577; + case Fire::Fire(4, true, false, true, false, false).ID: return 1578; + case Fire::Fire(4, true, false, false, true, true).ID: return 1579; + case Fire::Fire(4, true, false, false, true, false).ID: return 1580; + case Fire::Fire(4, true, false, false, false, true).ID: return 1581; + case Fire::Fire(4, true, false, false, false, false).ID: return 1582; + case Fire::Fire(4, false, true, true, true, true).ID: return 1583; + case Fire::Fire(4, false, true, true, true, false).ID: return 1584; + case Fire::Fire(4, false, true, true, false, true).ID: return 1585; + case Fire::Fire(4, false, true, true, false, false).ID: return 1586; + case Fire::Fire(4, false, true, false, true, true).ID: return 1587; + case Fire::Fire(4, false, true, false, true, false).ID: return 1588; + case Fire::Fire(4, false, true, false, false, true).ID: return 1589; + case Fire::Fire(4, false, true, false, false, false).ID: return 1590; + case Fire::Fire(4, false, false, true, true, true).ID: return 1591; + case Fire::Fire(4, false, false, true, true, false).ID: return 1592; + case Fire::Fire(4, false, false, true, false, true).ID: return 1593; + case Fire::Fire(4, false, false, true, false, false).ID: return 1594; + case Fire::Fire(4, false, false, false, true, true).ID: return 1595; + case Fire::Fire(4, false, false, false, true, false).ID: return 1596; + case Fire::Fire(4, false, false, false, false, true).ID: return 1597; + case Fire::Fire(4, false, false, false, false, false).ID: return 1598; + case Fire::Fire(5, true, true, true, true, true).ID: return 1599; + case Fire::Fire(5, true, true, true, true, false).ID: return 1600; + case Fire::Fire(5, true, true, true, false, true).ID: return 1601; + case Fire::Fire(5, true, true, true, false, false).ID: return 1602; + case Fire::Fire(5, true, true, false, true, true).ID: return 1603; + case Fire::Fire(5, true, true, false, true, false).ID: return 1604; + case Fire::Fire(5, true, true, false, false, true).ID: return 1605; + case Fire::Fire(5, true, true, false, false, false).ID: return 1606; + case Fire::Fire(5, true, false, true, true, true).ID: return 1607; + case Fire::Fire(5, true, false, true, true, false).ID: return 1608; + case Fire::Fire(5, true, false, true, false, true).ID: return 1609; + case Fire::Fire(5, true, false, true, false, false).ID: return 1610; + case Fire::Fire(5, true, false, false, true, true).ID: return 1611; + case Fire::Fire(5, true, false, false, true, false).ID: return 1612; + case Fire::Fire(5, true, false, false, false, true).ID: return 1613; + case Fire::Fire(5, true, false, false, false, false).ID: return 1614; + case Fire::Fire(5, false, true, true, true, true).ID: return 1615; + case Fire::Fire(5, false, true, true, true, false).ID: return 1616; + case Fire::Fire(5, false, true, true, false, true).ID: return 1617; + case Fire::Fire(5, false, true, true, false, false).ID: return 1618; + case Fire::Fire(5, false, true, false, true, true).ID: return 1619; + case Fire::Fire(5, false, true, false, true, false).ID: return 1620; + case Fire::Fire(5, false, true, false, false, true).ID: return 1621; + case Fire::Fire(5, false, true, false, false, false).ID: return 1622; + case Fire::Fire(5, false, false, true, true, true).ID: return 1623; + case Fire::Fire(5, false, false, true, true, false).ID: return 1624; + case Fire::Fire(5, false, false, true, false, true).ID: return 1625; + case Fire::Fire(5, false, false, true, false, false).ID: return 1626; + case Fire::Fire(5, false, false, false, true, true).ID: return 1627; + case Fire::Fire(5, false, false, false, true, false).ID: return 1628; + case Fire::Fire(5, false, false, false, false, true).ID: return 1629; + case Fire::Fire(5, false, false, false, false, false).ID: return 1630; + case Fire::Fire(6, true, true, true, true, true).ID: return 1631; + case Fire::Fire(6, true, true, true, true, false).ID: return 1632; + case Fire::Fire(6, true, true, true, false, true).ID: return 1633; + case Fire::Fire(6, true, true, true, false, false).ID: return 1634; + case Fire::Fire(6, true, true, false, true, true).ID: return 1635; + case Fire::Fire(6, true, true, false, true, false).ID: return 1636; + case Fire::Fire(6, true, true, false, false, true).ID: return 1637; + case Fire::Fire(6, true, true, false, false, false).ID: return 1638; + case Fire::Fire(6, true, false, true, true, true).ID: return 1639; + case Fire::Fire(6, true, false, true, true, false).ID: return 1640; + case Fire::Fire(6, true, false, true, false, true).ID: return 1641; + case Fire::Fire(6, true, false, true, false, false).ID: return 1642; + case Fire::Fire(6, true, false, false, true, true).ID: return 1643; + case Fire::Fire(6, true, false, false, true, false).ID: return 1644; + case Fire::Fire(6, true, false, false, false, true).ID: return 1645; + case Fire::Fire(6, true, false, false, false, false).ID: return 1646; + case Fire::Fire(6, false, true, true, true, true).ID: return 1647; + case Fire::Fire(6, false, true, true, true, false).ID: return 1648; + case Fire::Fire(6, false, true, true, false, true).ID: return 1649; + case Fire::Fire(6, false, true, true, false, false).ID: return 1650; + case Fire::Fire(6, false, true, false, true, true).ID: return 1651; + case Fire::Fire(6, false, true, false, true, false).ID: return 1652; + case Fire::Fire(6, false, true, false, false, true).ID: return 1653; + case Fire::Fire(6, false, true, false, false, false).ID: return 1654; + case Fire::Fire(6, false, false, true, true, true).ID: return 1655; + case Fire::Fire(6, false, false, true, true, false).ID: return 1656; + case Fire::Fire(6, false, false, true, false, true).ID: return 1657; + case Fire::Fire(6, false, false, true, false, false).ID: return 1658; + case Fire::Fire(6, false, false, false, true, true).ID: return 1659; + case Fire::Fire(6, false, false, false, true, false).ID: return 1660; + case Fire::Fire(6, false, false, false, false, true).ID: return 1661; + case Fire::Fire(6, false, false, false, false, false).ID: return 1662; + case Fire::Fire(7, true, true, true, true, true).ID: return 1663; + case Fire::Fire(7, true, true, true, true, false).ID: return 1664; + case Fire::Fire(7, true, true, true, false, true).ID: return 1665; + case Fire::Fire(7, true, true, true, false, false).ID: return 1666; + case Fire::Fire(7, true, true, false, true, true).ID: return 1667; + case Fire::Fire(7, true, true, false, true, false).ID: return 1668; + case Fire::Fire(7, true, true, false, false, true).ID: return 1669; + case Fire::Fire(7, true, true, false, false, false).ID: return 1670; + case Fire::Fire(7, true, false, true, true, true).ID: return 1671; + case Fire::Fire(7, true, false, true, true, false).ID: return 1672; + case Fire::Fire(7, true, false, true, false, true).ID: return 1673; + case Fire::Fire(7, true, false, true, false, false).ID: return 1674; + case Fire::Fire(7, true, false, false, true, true).ID: return 1675; + case Fire::Fire(7, true, false, false, true, false).ID: return 1676; + case Fire::Fire(7, true, false, false, false, true).ID: return 1677; + case Fire::Fire(7, true, false, false, false, false).ID: return 1678; + case Fire::Fire(7, false, true, true, true, true).ID: return 1679; + case Fire::Fire(7, false, true, true, true, false).ID: return 1680; + case Fire::Fire(7, false, true, true, false, true).ID: return 1681; + case Fire::Fire(7, false, true, true, false, false).ID: return 1682; + case Fire::Fire(7, false, true, false, true, true).ID: return 1683; + case Fire::Fire(7, false, true, false, true, false).ID: return 1684; + case Fire::Fire(7, false, true, false, false, true).ID: return 1685; + case Fire::Fire(7, false, true, false, false, false).ID: return 1686; + case Fire::Fire(7, false, false, true, true, true).ID: return 1687; + case Fire::Fire(7, false, false, true, true, false).ID: return 1688; + case Fire::Fire(7, false, false, true, false, true).ID: return 1689; + case Fire::Fire(7, false, false, true, false, false).ID: return 1690; + case Fire::Fire(7, false, false, false, true, true).ID: return 1691; + case Fire::Fire(7, false, false, false, true, false).ID: return 1692; + case Fire::Fire(7, false, false, false, false, true).ID: return 1693; + case Fire::Fire(7, false, false, false, false, false).ID: return 1694; + case Fire::Fire(8, true, true, true, true, true).ID: return 1695; + case Fire::Fire(8, true, true, true, true, false).ID: return 1696; + case Fire::Fire(8, true, true, true, false, true).ID: return 1697; + case Fire::Fire(8, true, true, true, false, false).ID: return 1698; + case Fire::Fire(8, true, true, false, true, true).ID: return 1699; + case Fire::Fire(8, true, true, false, true, false).ID: return 1700; + case Fire::Fire(8, true, true, false, false, true).ID: return 1701; + case Fire::Fire(8, true, true, false, false, false).ID: return 1702; + case Fire::Fire(8, true, false, true, true, true).ID: return 1703; + case Fire::Fire(8, true, false, true, true, false).ID: return 1704; + case Fire::Fire(8, true, false, true, false, true).ID: return 1705; + case Fire::Fire(8, true, false, true, false, false).ID: return 1706; + case Fire::Fire(8, true, false, false, true, true).ID: return 1707; + case Fire::Fire(8, true, false, false, true, false).ID: return 1708; + case Fire::Fire(8, true, false, false, false, true).ID: return 1709; + case Fire::Fire(8, true, false, false, false, false).ID: return 1710; + case Fire::Fire(8, false, true, true, true, true).ID: return 1711; + case Fire::Fire(8, false, true, true, true, false).ID: return 1712; + case Fire::Fire(8, false, true, true, false, true).ID: return 1713; + case Fire::Fire(8, false, true, true, false, false).ID: return 1714; + case Fire::Fire(8, false, true, false, true, true).ID: return 1715; + case Fire::Fire(8, false, true, false, true, false).ID: return 1716; + case Fire::Fire(8, false, true, false, false, true).ID: return 1717; + case Fire::Fire(8, false, true, false, false, false).ID: return 1718; + case Fire::Fire(8, false, false, true, true, true).ID: return 1719; + case Fire::Fire(8, false, false, true, true, false).ID: return 1720; + case Fire::Fire(8, false, false, true, false, true).ID: return 1721; + case Fire::Fire(8, false, false, true, false, false).ID: return 1722; + case Fire::Fire(8, false, false, false, true, true).ID: return 1723; + case Fire::Fire(8, false, false, false, true, false).ID: return 1724; + case Fire::Fire(8, false, false, false, false, true).ID: return 1725; + case Fire::Fire(8, false, false, false, false, false).ID: return 1726; + case Fire::Fire(9, true, true, true, true, true).ID: return 1727; + case Fire::Fire(9, true, true, true, true, false).ID: return 1728; + case Fire::Fire(9, true, true, true, false, true).ID: return 1729; + case Fire::Fire(9, true, true, true, false, false).ID: return 1730; + case Fire::Fire(9, true, true, false, true, true).ID: return 1731; + case Fire::Fire(9, true, true, false, true, false).ID: return 1732; + case Fire::Fire(9, true, true, false, false, true).ID: return 1733; + case Fire::Fire(9, true, true, false, false, false).ID: return 1734; + case Fire::Fire(9, true, false, true, true, true).ID: return 1735; + case Fire::Fire(9, true, false, true, true, false).ID: return 1736; + case Fire::Fire(9, true, false, true, false, true).ID: return 1737; + case Fire::Fire(9, true, false, true, false, false).ID: return 1738; + case Fire::Fire(9, true, false, false, true, true).ID: return 1739; + case Fire::Fire(9, true, false, false, true, false).ID: return 1740; + case Fire::Fire(9, true, false, false, false, true).ID: return 1741; + case Fire::Fire(9, true, false, false, false, false).ID: return 1742; + case Fire::Fire(9, false, true, true, true, true).ID: return 1743; + case Fire::Fire(9, false, true, true, true, false).ID: return 1744; + case Fire::Fire(9, false, true, true, false, true).ID: return 1745; + case Fire::Fire(9, false, true, true, false, false).ID: return 1746; + case Fire::Fire(9, false, true, false, true, true).ID: return 1747; + case Fire::Fire(9, false, true, false, true, false).ID: return 1748; + case Fire::Fire(9, false, true, false, false, true).ID: return 1749; + case Fire::Fire(9, false, true, false, false, false).ID: return 1750; + case Fire::Fire(9, false, false, true, true, true).ID: return 1751; + case Fire::Fire(9, false, false, true, true, false).ID: return 1752; + case Fire::Fire(9, false, false, true, false, true).ID: return 1753; + case Fire::Fire(9, false, false, true, false, false).ID: return 1754; + case Fire::Fire(9, false, false, false, true, true).ID: return 1755; + case Fire::Fire(9, false, false, false, true, false).ID: return 1756; + case Fire::Fire(9, false, false, false, false, true).ID: return 1757; + case Fire::Fire(9, false, false, false, false, false).ID: return 1758; + case Fire::Fire(10, true, true, true, true, true).ID: return 1759; + case Fire::Fire(10, true, true, true, true, false).ID: return 1760; + case Fire::Fire(10, true, true, true, false, true).ID: return 1761; + case Fire::Fire(10, true, true, true, false, false).ID: return 1762; + case Fire::Fire(10, true, true, false, true, true).ID: return 1763; + case Fire::Fire(10, true, true, false, true, false).ID: return 1764; + case Fire::Fire(10, true, true, false, false, true).ID: return 1765; + case Fire::Fire(10, true, true, false, false, false).ID: return 1766; + case Fire::Fire(10, true, false, true, true, true).ID: return 1767; + case Fire::Fire(10, true, false, true, true, false).ID: return 1768; + case Fire::Fire(10, true, false, true, false, true).ID: return 1769; + case Fire::Fire(10, true, false, true, false, false).ID: return 1770; + case Fire::Fire(10, true, false, false, true, true).ID: return 1771; + case Fire::Fire(10, true, false, false, true, false).ID: return 1772; + case Fire::Fire(10, true, false, false, false, true).ID: return 1773; + case Fire::Fire(10, true, false, false, false, false).ID: return 1774; + case Fire::Fire(10, false, true, true, true, true).ID: return 1775; + case Fire::Fire(10, false, true, true, true, false).ID: return 1776; + case Fire::Fire(10, false, true, true, false, true).ID: return 1777; + case Fire::Fire(10, false, true, true, false, false).ID: return 1778; + case Fire::Fire(10, false, true, false, true, true).ID: return 1779; + case Fire::Fire(10, false, true, false, true, false).ID: return 1780; + case Fire::Fire(10, false, true, false, false, true).ID: return 1781; + case Fire::Fire(10, false, true, false, false, false).ID: return 1782; + case Fire::Fire(10, false, false, true, true, true).ID: return 1783; + case Fire::Fire(10, false, false, true, true, false).ID: return 1784; + case Fire::Fire(10, false, false, true, false, true).ID: return 1785; + case Fire::Fire(10, false, false, true, false, false).ID: return 1786; + case Fire::Fire(10, false, false, false, true, true).ID: return 1787; + case Fire::Fire(10, false, false, false, true, false).ID: return 1788; + case Fire::Fire(10, false, false, false, false, true).ID: return 1789; + case Fire::Fire(10, false, false, false, false, false).ID: return 1790; + case Fire::Fire(11, true, true, true, true, true).ID: return 1791; + case Fire::Fire(11, true, true, true, true, false).ID: return 1792; + case Fire::Fire(11, true, true, true, false, true).ID: return 1793; + case Fire::Fire(11, true, true, true, false, false).ID: return 1794; + case Fire::Fire(11, true, true, false, true, true).ID: return 1795; + case Fire::Fire(11, true, true, false, true, false).ID: return 1796; + case Fire::Fire(11, true, true, false, false, true).ID: return 1797; + case Fire::Fire(11, true, true, false, false, false).ID: return 1798; + case Fire::Fire(11, true, false, true, true, true).ID: return 1799; + case Fire::Fire(11, true, false, true, true, false).ID: return 1800; + case Fire::Fire(11, true, false, true, false, true).ID: return 1801; + case Fire::Fire(11, true, false, true, false, false).ID: return 1802; + case Fire::Fire(11, true, false, false, true, true).ID: return 1803; + case Fire::Fire(11, true, false, false, true, false).ID: return 1804; + case Fire::Fire(11, true, false, false, false, true).ID: return 1805; + case Fire::Fire(11, true, false, false, false, false).ID: return 1806; + case Fire::Fire(11, false, true, true, true, true).ID: return 1807; + case Fire::Fire(11, false, true, true, true, false).ID: return 1808; + case Fire::Fire(11, false, true, true, false, true).ID: return 1809; + case Fire::Fire(11, false, true, true, false, false).ID: return 1810; + case Fire::Fire(11, false, true, false, true, true).ID: return 1811; + case Fire::Fire(11, false, true, false, true, false).ID: return 1812; + case Fire::Fire(11, false, true, false, false, true).ID: return 1813; + case Fire::Fire(11, false, true, false, false, false).ID: return 1814; + case Fire::Fire(11, false, false, true, true, true).ID: return 1815; + case Fire::Fire(11, false, false, true, true, false).ID: return 1816; + case Fire::Fire(11, false, false, true, false, true).ID: return 1817; + case Fire::Fire(11, false, false, true, false, false).ID: return 1818; + case Fire::Fire(11, false, false, false, true, true).ID: return 1819; + case Fire::Fire(11, false, false, false, true, false).ID: return 1820; + case Fire::Fire(11, false, false, false, false, true).ID: return 1821; + case Fire::Fire(11, false, false, false, false, false).ID: return 1822; + case Fire::Fire(12, true, true, true, true, true).ID: return 1823; + case Fire::Fire(12, true, true, true, true, false).ID: return 1824; + case Fire::Fire(12, true, true, true, false, true).ID: return 1825; + case Fire::Fire(12, true, true, true, false, false).ID: return 1826; + case Fire::Fire(12, true, true, false, true, true).ID: return 1827; + case Fire::Fire(12, true, true, false, true, false).ID: return 1828; + case Fire::Fire(12, true, true, false, false, true).ID: return 1829; + case Fire::Fire(12, true, true, false, false, false).ID: return 1830; + case Fire::Fire(12, true, false, true, true, true).ID: return 1831; + case Fire::Fire(12, true, false, true, true, false).ID: return 1832; + case Fire::Fire(12, true, false, true, false, true).ID: return 1833; + case Fire::Fire(12, true, false, true, false, false).ID: return 1834; + case Fire::Fire(12, true, false, false, true, true).ID: return 1835; + case Fire::Fire(12, true, false, false, true, false).ID: return 1836; + case Fire::Fire(12, true, false, false, false, true).ID: return 1837; + case Fire::Fire(12, true, false, false, false, false).ID: return 1838; + case Fire::Fire(12, false, true, true, true, true).ID: return 1839; + case Fire::Fire(12, false, true, true, true, false).ID: return 1840; + case Fire::Fire(12, false, true, true, false, true).ID: return 1841; + case Fire::Fire(12, false, true, true, false, false).ID: return 1842; + case Fire::Fire(12, false, true, false, true, true).ID: return 1843; + case Fire::Fire(12, false, true, false, true, false).ID: return 1844; + case Fire::Fire(12, false, true, false, false, true).ID: return 1845; + case Fire::Fire(12, false, true, false, false, false).ID: return 1846; + case Fire::Fire(12, false, false, true, true, true).ID: return 1847; + case Fire::Fire(12, false, false, true, true, false).ID: return 1848; + case Fire::Fire(12, false, false, true, false, true).ID: return 1849; + case Fire::Fire(12, false, false, true, false, false).ID: return 1850; + case Fire::Fire(12, false, false, false, true, true).ID: return 1851; + case Fire::Fire(12, false, false, false, true, false).ID: return 1852; + case Fire::Fire(12, false, false, false, false, true).ID: return 1853; + case Fire::Fire(12, false, false, false, false, false).ID: return 1854; + case Fire::Fire(13, true, true, true, true, true).ID: return 1855; + case Fire::Fire(13, true, true, true, true, false).ID: return 1856; + case Fire::Fire(13, true, true, true, false, true).ID: return 1857; + case Fire::Fire(13, true, true, true, false, false).ID: return 1858; + case Fire::Fire(13, true, true, false, true, true).ID: return 1859; + case Fire::Fire(13, true, true, false, true, false).ID: return 1860; + case Fire::Fire(13, true, true, false, false, true).ID: return 1861; + case Fire::Fire(13, true, true, false, false, false).ID: return 1862; + case Fire::Fire(13, true, false, true, true, true).ID: return 1863; + case Fire::Fire(13, true, false, true, true, false).ID: return 1864; + case Fire::Fire(13, true, false, true, false, true).ID: return 1865; + case Fire::Fire(13, true, false, true, false, false).ID: return 1866; + case Fire::Fire(13, true, false, false, true, true).ID: return 1867; + case Fire::Fire(13, true, false, false, true, false).ID: return 1868; + case Fire::Fire(13, true, false, false, false, true).ID: return 1869; + case Fire::Fire(13, true, false, false, false, false).ID: return 1870; + case Fire::Fire(13, false, true, true, true, true).ID: return 1871; + case Fire::Fire(13, false, true, true, true, false).ID: return 1872; + case Fire::Fire(13, false, true, true, false, true).ID: return 1873; + case Fire::Fire(13, false, true, true, false, false).ID: return 1874; + case Fire::Fire(13, false, true, false, true, true).ID: return 1875; + case Fire::Fire(13, false, true, false, true, false).ID: return 1876; + case Fire::Fire(13, false, true, false, false, true).ID: return 1877; + case Fire::Fire(13, false, true, false, false, false).ID: return 1878; + case Fire::Fire(13, false, false, true, true, true).ID: return 1879; + case Fire::Fire(13, false, false, true, true, false).ID: return 1880; + case Fire::Fire(13, false, false, true, false, true).ID: return 1881; + case Fire::Fire(13, false, false, true, false, false).ID: return 1882; + case Fire::Fire(13, false, false, false, true, true).ID: return 1883; + case Fire::Fire(13, false, false, false, true, false).ID: return 1884; + case Fire::Fire(13, false, false, false, false, true).ID: return 1885; + case Fire::Fire(13, false, false, false, false, false).ID: return 1886; + case Fire::Fire(14, true, true, true, true, true).ID: return 1887; + case Fire::Fire(14, true, true, true, true, false).ID: return 1888; + case Fire::Fire(14, true, true, true, false, true).ID: return 1889; + case Fire::Fire(14, true, true, true, false, false).ID: return 1890; + case Fire::Fire(14, true, true, false, true, true).ID: return 1891; + case Fire::Fire(14, true, true, false, true, false).ID: return 1892; + case Fire::Fire(14, true, true, false, false, true).ID: return 1893; + case Fire::Fire(14, true, true, false, false, false).ID: return 1894; + case Fire::Fire(14, true, false, true, true, true).ID: return 1895; + case Fire::Fire(14, true, false, true, true, false).ID: return 1896; + case Fire::Fire(14, true, false, true, false, true).ID: return 1897; + case Fire::Fire(14, true, false, true, false, false).ID: return 1898; + case Fire::Fire(14, true, false, false, true, true).ID: return 1899; + case Fire::Fire(14, true, false, false, true, false).ID: return 1900; + case Fire::Fire(14, true, false, false, false, true).ID: return 1901; + case Fire::Fire(14, true, false, false, false, false).ID: return 1902; + case Fire::Fire(14, false, true, true, true, true).ID: return 1903; + case Fire::Fire(14, false, true, true, true, false).ID: return 1904; + case Fire::Fire(14, false, true, true, false, true).ID: return 1905; + case Fire::Fire(14, false, true, true, false, false).ID: return 1906; + case Fire::Fire(14, false, true, false, true, true).ID: return 1907; + case Fire::Fire(14, false, true, false, true, false).ID: return 1908; + case Fire::Fire(14, false, true, false, false, true).ID: return 1909; + case Fire::Fire(14, false, true, false, false, false).ID: return 1910; + case Fire::Fire(14, false, false, true, true, true).ID: return 1911; + case Fire::Fire(14, false, false, true, true, false).ID: return 1912; + case Fire::Fire(14, false, false, true, false, true).ID: return 1913; + case Fire::Fire(14, false, false, true, false, false).ID: return 1914; + case Fire::Fire(14, false, false, false, true, true).ID: return 1915; + case Fire::Fire(14, false, false, false, true, false).ID: return 1916; + case Fire::Fire(14, false, false, false, false, true).ID: return 1917; + case Fire::Fire(14, false, false, false, false, false).ID: return 1918; + case Fire::Fire(15, true, true, true, true, true).ID: return 1919; + case Fire::Fire(15, true, true, true, true, false).ID: return 1920; + case Fire::Fire(15, true, true, true, false, true).ID: return 1921; + case Fire::Fire(15, true, true, true, false, false).ID: return 1922; + case Fire::Fire(15, true, true, false, true, true).ID: return 1923; + case Fire::Fire(15, true, true, false, true, false).ID: return 1924; + case Fire::Fire(15, true, true, false, false, true).ID: return 1925; + case Fire::Fire(15, true, true, false, false, false).ID: return 1926; + case Fire::Fire(15, true, false, true, true, true).ID: return 1927; + case Fire::Fire(15, true, false, true, true, false).ID: return 1928; + case Fire::Fire(15, true, false, true, false, true).ID: return 1929; + case Fire::Fire(15, true, false, true, false, false).ID: return 1930; + case Fire::Fire(15, true, false, false, true, true).ID: return 1931; + case Fire::Fire(15, true, false, false, true, false).ID: return 1932; + case Fire::Fire(15, true, false, false, false, true).ID: return 1933; + case Fire::Fire(15, true, false, false, false, false).ID: return 1934; + case Fire::Fire(15, false, true, true, true, true).ID: return 1935; + case Fire::Fire(15, false, true, true, true, false).ID: return 1936; + case Fire::Fire(15, false, true, true, false, true).ID: return 1937; + case Fire::Fire(15, false, true, true, false, false).ID: return 1938; + case Fire::Fire(15, false, true, false, true, true).ID: return 1939; + case Fire::Fire(15, false, true, false, true, false).ID: return 1940; + case Fire::Fire(15, false, true, false, false, true).ID: return 1941; + case Fire::Fire(15, false, true, false, false, false).ID: return 1942; + case Fire::Fire(15, false, false, true, true, true).ID: return 1943; + case Fire::Fire(15, false, false, true, true, false).ID: return 1944; + case Fire::Fire(15, false, false, true, false, true).ID: return 1945; + case Fire::Fire(15, false, false, true, false, false).ID: return 1946; + case Fire::Fire(15, false, false, false, true, true).ID: return 1947; + case Fire::Fire(15, false, false, false, true, false).ID: return 1948; + case Fire::Fire(15, false, false, false, false, true).ID: return 1949; + case Fire::Fire(15, false, false, false, false, false).ID: return 1950; + case FireCoral::FireCoral().ID: return 9001; + case FireCoralBlock::FireCoralBlock().ID: return 8982; + case FireCoralFan::FireCoralFan().ID: return 9021; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9089; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9091; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9093; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9095; + case FletchingTable::FletchingTable().ID: return 11164; + case FlowerPot::FlowerPot().ID: return 5769; + case FrostedIce::FrostedIce(0).ID: return 8713; + case FrostedIce::FrostedIce(1).ID: return 8714; + case FrostedIce::FrostedIce(2).ID: return 8715; + case FrostedIce::FrostedIce(3).ID: return 8716; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3371; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3372; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3373; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3374; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3375; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3376; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3377; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3378; + case Glass::Glass().ID: return 230; + case GlassPane::GlassPane(true, true, true, true).ID: return 4717; + case GlassPane::GlassPane(true, true, true, false).ID: return 4718; + case GlassPane::GlassPane(true, true, false, true).ID: return 4721; + case GlassPane::GlassPane(true, true, false, false).ID: return 4722; + case GlassPane::GlassPane(true, false, true, true).ID: return 4725; + case GlassPane::GlassPane(true, false, true, false).ID: return 4726; + case GlassPane::GlassPane(true, false, false, true).ID: return 4729; + case GlassPane::GlassPane(true, false, false, false).ID: return 4730; + case GlassPane::GlassPane(false, true, true, true).ID: return 4733; + case GlassPane::GlassPane(false, true, true, false).ID: return 4734; + case GlassPane::GlassPane(false, true, false, true).ID: return 4737; + case GlassPane::GlassPane(false, true, false, false).ID: return 4738; + case GlassPane::GlassPane(false, false, true, true).ID: return 4741; + case GlassPane::GlassPane(false, false, true, false).ID: return 4742; + case GlassPane::GlassPane(false, false, false, true).ID: return 4745; + case GlassPane::GlassPane(false, false, false, false).ID: return 4746; + case Glowstone::Glowstone().ID: return 3999; + case GoldBlock::GoldBlock().ID: return 1426; + case GoldOre::GoldOre().ID: return 69; + case Granite::Granite().ID: return 2; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Top).ID: return 10302; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Bottom).ID: return 10304; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Double).ID: return 10306; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 9854; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9856; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9858; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9860; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9862; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 9864; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9866; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9868; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9870; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9872; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 9874; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9876; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9878; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9880; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9882; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 9884; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9886; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9888; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9890; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9892; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 9894; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9896; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9898; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9900; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9902; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 9904; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9906; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9908; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9910; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9912; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 9914; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9916; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9918; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9920; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9922; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 9924; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9926; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9928; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9930; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9932; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 10589; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 10590; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 10593; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 10594; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 10597; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 10598; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 10601; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 10602; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 10605; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 10606; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 10609; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 10610; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 10613; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 10614; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 10617; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 10618; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 10621; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 10622; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 10625; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 10626; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 10629; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 10630; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 10633; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 10634; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 10637; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 10638; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 10641; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 10642; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 10645; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 10646; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 10649; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 10650; + case Grass::Grass().ID: return 1341; + case GrassBlock::GrassBlock(true).ID: return 8; + case GrassBlock::GrassBlock(false).ID: return 9; + case GrassPath::GrassPath().ID: return 8687; + case Gravel::Gravel().ID: return 68; + case GrayBanner::GrayBanner(0).ID: return 7473; + case GrayBanner::GrayBanner(1).ID: return 7474; + case GrayBanner::GrayBanner(2).ID: return 7475; + case GrayBanner::GrayBanner(3).ID: return 7476; + case GrayBanner::GrayBanner(4).ID: return 7477; + case GrayBanner::GrayBanner(5).ID: return 7478; + case GrayBanner::GrayBanner(6).ID: return 7479; + case GrayBanner::GrayBanner(7).ID: return 7480; + case GrayBanner::GrayBanner(8).ID: return 7481; + case GrayBanner::GrayBanner(9).ID: return 7482; + case GrayBanner::GrayBanner(10).ID: return 7483; + case GrayBanner::GrayBanner(11).ID: return 7484; + case GrayBanner::GrayBanner(12).ID: return 7485; + case GrayBanner::GrayBanner(13).ID: return 7486; + case GrayBanner::GrayBanner(14).ID: return 7487; + case GrayBanner::GrayBanner(15).ID: return 7488; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 1160; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 1161; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 1162; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 1163; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 1164; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 1165; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 1166; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 1167; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 1168; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 1169; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 1170; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 1171; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 1172; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 1173; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 1174; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 1175; + case GrayCarpet::GrayCarpet().ID: return 7337; + case GrayConcrete::GrayConcrete().ID: return 8909; + case GrayConcretePowder::GrayConcretePowder().ID: return 8925; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8866; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8867; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8868; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8869; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8784; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8785; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8786; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8787; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8788; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8789; + case GrayStainedGlass::GrayStainedGlass().ID: return 4088; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 6553; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 6554; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 6557; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 6558; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 6561; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 6562; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 6565; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 6566; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 6569; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 6570; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 6573; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 6574; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 6577; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 6578; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 6581; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 6582; + case GrayTerracotta::GrayTerracotta().ID: return 6318; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7645; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7646; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7647; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7648; + case GrayWool::GrayWool().ID: return 1390; + case GreenBanner::GreenBanner(0).ID: return 7569; + case GreenBanner::GreenBanner(1).ID: return 7570; + case GreenBanner::GreenBanner(2).ID: return 7571; + case GreenBanner::GreenBanner(3).ID: return 7572; + case GreenBanner::GreenBanner(4).ID: return 7573; + case GreenBanner::GreenBanner(5).ID: return 7574; + case GreenBanner::GreenBanner(6).ID: return 7575; + case GreenBanner::GreenBanner(7).ID: return 7576; + case GreenBanner::GreenBanner(8).ID: return 7577; + case GreenBanner::GreenBanner(9).ID: return 7578; + case GreenBanner::GreenBanner(10).ID: return 7579; + case GreenBanner::GreenBanner(11).ID: return 7580; + case GreenBanner::GreenBanner(12).ID: return 7581; + case GreenBanner::GreenBanner(13).ID: return 7582; + case GreenBanner::GreenBanner(14).ID: return 7583; + case GreenBanner::GreenBanner(15).ID: return 7584; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 1256; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 1257; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 1258; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 1259; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 1260; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 1261; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 1262; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 1263; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 1264; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 1265; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 1266; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 1267; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 1268; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 1269; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 1270; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 1271; + case GreenCarpet::GreenCarpet().ID: return 7343; + case GreenConcrete::GreenConcrete().ID: return 8915; + case GreenConcretePowder::GreenConcretePowder().ID: return 8931; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8890; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8891; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8892; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8893; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8820; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8821; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8822; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8823; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8824; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8825; + case GreenStainedGlass::GreenStainedGlass().ID: return 4094; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 6745; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 6746; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 6749; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 6750; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 6753; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 6754; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 6757; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 6758; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 6761; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 6762; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 6765; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 6766; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 6769; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 6770; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 6773; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 6774; + case GreenTerracotta::GreenTerracotta().ID: return 6324; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7669; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7670; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7671; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7672; + case GreenWool::GreenWool().ID: return 1396; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZM).ID: return 11165; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZP).ID: return 11166; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XM).ID: return 11167; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XP).ID: return 11168; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZM).ID: return 11169; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZP).ID: return 11170; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XM).ID: return 11171; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XP).ID: return 11172; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM).ID: return 11173; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP).ID: return 11174; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XM).ID: return 11175; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XP).ID: return 11176; + case HayBale::HayBale(HayBale::Axis::X).ID: return 7327; + case HayBale::HayBale(HayBale::Axis::Y).ID: return 7328; + case HayBale::HayBale(HayBale::Axis::Z).ID: return 7329; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 6126; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 6127; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 6128; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 6129; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 6130; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 6131; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 6132; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 6133; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 6134; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 6135; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 6136; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 6137; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 6138; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 6139; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 6140; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 6141; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 6192; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 6193; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 6194; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 6195; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 6196; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 6197; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 6198; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 6199; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 6200; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 6201; + case HornCoral::HornCoral().ID: return 9003; + case HornCoralBlock::HornCoralBlock().ID: return 8983; + case HornCoralFan::HornCoralFan().ID: return 9023; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9097; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9099; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9101; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9103; + case Ice::Ice().ID: return 3927; + case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 4490; + case InfestedCobblestone::InfestedCobblestone().ID: return 4486; + case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 4489; + case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 4488; + case InfestedStone::InfestedStone().ID: return 4485; + case InfestedStoneBricks::InfestedStoneBricks().ID: return 4487; + case IronBars::IronBars(true, true, true, true).ID: return 4685; + case IronBars::IronBars(true, true, true, false).ID: return 4686; + case IronBars::IronBars(true, true, false, true).ID: return 4689; + case IronBars::IronBars(true, true, false, false).ID: return 4690; + case IronBars::IronBars(true, false, true, true).ID: return 4693; + case IronBars::IronBars(true, false, true, false).ID: return 4694; + case IronBars::IronBars(true, false, false, true).ID: return 4697; + case IronBars::IronBars(true, false, false, false).ID: return 4698; + case IronBars::IronBars(false, true, true, true).ID: return 4701; + case IronBars::IronBars(false, true, true, false).ID: return 4702; + case IronBars::IronBars(false, true, false, true).ID: return 4705; + case IronBars::IronBars(false, true, false, false).ID: return 4706; + case IronBars::IronBars(false, false, true, true).ID: return 4709; + case IronBars::IronBars(false, false, true, false).ID: return 4710; + case IronBars::IronBars(false, false, false, true).ID: return 4713; + case IronBars::IronBars(false, false, false, false).ID: return 4714; + case IronBlock::IronBlock().ID: return 1427; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3807; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3808; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3809; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3810; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3811; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3812; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3813; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3814; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3815; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3816; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3817; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3818; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3819; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3820; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3821; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3822; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3823; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3824; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3825; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3826; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3827; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3828; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3829; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3830; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3831; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3832; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3833; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3834; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3835; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3836; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3837; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3838; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3839; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3840; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3841; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3842; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3843; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3844; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3845; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3846; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3847; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3848; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3849; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3850; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3851; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3852; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3853; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3854; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3855; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3856; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3857; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3858; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3859; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3860; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3861; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3862; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3863; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3864; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3865; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3866; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3867; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3868; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3869; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3870; + case IronOre::IronOre().ID: return 70; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 7002; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: + return 7004; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: + return 7006; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: + return 7008; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: + return 7010; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: + return 7012; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: + return 7014; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: + return 7016; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 7018; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: + return 7020; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: + return 7022; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: + return 7024; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: + return 7026; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: + return 7028; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: + return 7030; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: + return 7032; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 7034; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: + return 7036; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: + return 7038; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: + return 7040; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: + return 7042; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: + return 7044; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: + return 7046; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: + return 7048; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 7050; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: + return 7052; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: + return 7054; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: + return 7056; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: + return 7058; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: + return 7060; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: + return 7062; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: + return 7064; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 4006; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 4007; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 4008; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 4009; + case Jigsaw::Jigsaw(Jigsaw::Orientation::NorthUp).ID: return 11256; + case Jigsaw::Jigsaw(Jigsaw::Orientation::EastUp).ID: return 11257; + case Jigsaw::Jigsaw(Jigsaw::Orientation::SouthUp).ID: return 11258; + case Jigsaw::Jigsaw(Jigsaw::Orientation::WestUp).ID: return 11259; + case Jigsaw::Jigsaw(Jigsaw::Orientation::UpSouth).ID: return 11260; + case Jigsaw::Jigsaw(Jigsaw::Orientation::DownSouth).ID: return 11261; + case Jukebox::Jukebox(true).ID: return 3962; + case Jukebox::Jukebox(false).ID: return 3963; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5882; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5883; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5884; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5885; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5886; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5887; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5888; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5889; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5890; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5891; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5892; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5893; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5894; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5895; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5896; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5897; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5898; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5899; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5900; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5901; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5902; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5903; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5904; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5905; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8330; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8331; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8332; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8333; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8334; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8335; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8336; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8337; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8338; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8339; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8340; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8341; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8342; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8343; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8344; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8345; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8346; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8347; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8348; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8349; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8350; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8351; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8352; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8353; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8354; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8355; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8356; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8357; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8358; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8359; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8360; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8361; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8362; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8363; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8364; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8365; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8366; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8367; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8368; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8369; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8370; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8371; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8372; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8373; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8374; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8375; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8376; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8377; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8378; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8379; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8380; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8381; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8382; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8383; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8384; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8385; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8386; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8387; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8388; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8389; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8390; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8391; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8392; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8393; + case JungleFence::JungleFence(true, true, true, true).ID: return 8108; + case JungleFence::JungleFence(true, true, true, false).ID: return 8109; + case JungleFence::JungleFence(true, true, false, true).ID: return 8112; + case JungleFence::JungleFence(true, true, false, false).ID: return 8113; + case JungleFence::JungleFence(true, false, true, true).ID: return 8116; + case JungleFence::JungleFence(true, false, true, false).ID: return 8117; + case JungleFence::JungleFence(true, false, false, true).ID: return 8120; + case JungleFence::JungleFence(true, false, false, false).ID: return 8121; + case JungleFence::JungleFence(false, true, true, true).ID: return 8124; + case JungleFence::JungleFence(false, true, true, false).ID: return 8125; + case JungleFence::JungleFence(false, true, false, true).ID: return 8128; + case JungleFence::JungleFence(false, true, false, false).ID: return 8129; + case JungleFence::JungleFence(false, false, true, true).ID: return 8132; + case JungleFence::JungleFence(false, false, true, false).ID: return 8133; + case JungleFence::JungleFence(false, false, false, true).ID: return 8136; + case JungleFence::JungleFence(false, false, false, false).ID: return 8137; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7946; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7947; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7948; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7949; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7950; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7951; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7952; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7953; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7954; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7955; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7956; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7957; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7958; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7959; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7960; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7961; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7962; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7963; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7964; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7965; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7966; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7967; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7968; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7969; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7970; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7971; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7972; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7973; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7974; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7975; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7976; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7977; + case JungleLeaves::JungleLeaves(1, true).ID: return 186; + case JungleLeaves::JungleLeaves(1, false).ID: return 187; + case JungleLeaves::JungleLeaves(2, true).ID: return 188; + case JungleLeaves::JungleLeaves(2, false).ID: return 189; + case JungleLeaves::JungleLeaves(3, true).ID: return 190; + case JungleLeaves::JungleLeaves(3, false).ID: return 191; + case JungleLeaves::JungleLeaves(4, true).ID: return 192; + case JungleLeaves::JungleLeaves(4, false).ID: return 193; + case JungleLeaves::JungleLeaves(5, true).ID: return 194; + case JungleLeaves::JungleLeaves(5, false).ID: return 195; + case JungleLeaves::JungleLeaves(6, true).ID: return 196; + case JungleLeaves::JungleLeaves(6, false).ID: return 197; + case JungleLeaves::JungleLeaves(7, true).ID: return 198; + case JungleLeaves::JungleLeaves(7, false).ID: return 199; + case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 81; + case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 82; + case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 83; + case JunglePlanks::JunglePlanks().ID: return 18; + case JunglePressurePlate::JunglePressurePlate(true).ID: return 3877; + case JunglePressurePlate::JunglePressurePlate(false).ID: return 3878; + case JungleSapling::JungleSapling(0).ID: return 27; + case JungleSapling::JungleSapling(1).ID: return 28; + case JungleSign::JungleSign(0).ID: return 3508; + case JungleSign::JungleSign(1).ID: return 3510; + case JungleSign::JungleSign(2).ID: return 3512; + case JungleSign::JungleSign(3).ID: return 3514; + case JungleSign::JungleSign(4).ID: return 3516; + case JungleSign::JungleSign(5).ID: return 3518; + case JungleSign::JungleSign(6).ID: return 3520; + case JungleSign::JungleSign(7).ID: return 3522; + case JungleSign::JungleSign(8).ID: return 3524; + case JungleSign::JungleSign(9).ID: return 3526; + case JungleSign::JungleSign(10).ID: return 3528; + case JungleSign::JungleSign(11).ID: return 3530; + case JungleSign::JungleSign(12).ID: return 3532; + case JungleSign::JungleSign(13).ID: return 3534; + case JungleSign::JungleSign(14).ID: return 3536; + case JungleSign::JungleSign(15).ID: return 3538; + case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 7783; + case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 7785; + case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 7787; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5549; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5551; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5553; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5555; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5557; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5559; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5561; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5563; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5565; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5567; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5569; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5571; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5573; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5575; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5577; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5579; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5581; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5583; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5585; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5587; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5589; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5591; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5593; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5595; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5597; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5599; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5601; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5603; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5605; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5607; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5609; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5611; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5613; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5615; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5617; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5619; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5621; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5623; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5625; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5627; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: + return 4290; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: + return 4292; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: + return 4294; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: + return 4296; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4298; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4300; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4302; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4304; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: + return 4306; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: + return 4308; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: + return 4310; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: + return 4312; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4314; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4316; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4318; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4320; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: + return 4322; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: + return 4324; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: + return 4326; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: + return 4328; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4330; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4332; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4334; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4336; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: + return 4338; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: + return 4340; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: + return 4342; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: + return 4344; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4346; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4348; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4350; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4352; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3766; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3768; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3770; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3772; + case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 117; + case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 118; + case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 119; + case Kelp::Kelp(0).ID: return 8934; + case Kelp::Kelp(1).ID: return 8935; + case Kelp::Kelp(2).ID: return 8936; + case Kelp::Kelp(3).ID: return 8937; + case Kelp::Kelp(4).ID: return 8938; + case Kelp::Kelp(5).ID: return 8939; + case Kelp::Kelp(6).ID: return 8940; + case Kelp::Kelp(7).ID: return 8941; + case Kelp::Kelp(8).ID: return 8942; + case Kelp::Kelp(9).ID: return 8943; + case Kelp::Kelp(10).ID: return 8944; + case Kelp::Kelp(11).ID: return 8945; + case Kelp::Kelp(12).ID: return 8946; + case Kelp::Kelp(13).ID: return 8947; + case Kelp::Kelp(14).ID: return 8948; + case Kelp::Kelp(15).ID: return 8949; + case Kelp::Kelp(16).ID: return 8950; + case Kelp::Kelp(17).ID: return 8951; + case Kelp::Kelp(18).ID: return 8952; + case Kelp::Kelp(19).ID: return 8953; + case Kelp::Kelp(20).ID: return 8954; + case Kelp::Kelp(21).ID: return 8955; + case Kelp::Kelp(22).ID: return 8956; + case Kelp::Kelp(23).ID: return 8957; + case Kelp::Kelp(24).ID: return 8958; + case Kelp::Kelp(25).ID: return 8959; + case KelpPlant::KelpPlant().ID: return 8960; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3636; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3638; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3640; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3642; + case Lantern::Lantern(true).ID: return 11214; + case Lantern::Lantern(false).ID: return 11215; + case LapisBlock::LapisBlock().ID: return 232; + case LapisOre::LapisOre().ID: return 231; + case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 7359; + case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 7360; + case Lava::Lava(0).ID: return 50; + case Lava::Lava(1).ID: return 51; + case Lava::Lava(2).ID: return 52; + case Lava::Lava(3).ID: return 53; + case Lava::Lava(4).ID: return 54; + case Lava::Lava(5).ID: return 55; + case Lava::Lava(6).ID: return 56; + case Lava::Lava(7).ID: return 57; + case Lava::Lava(8).ID: return 58; + case Lava::Lava(9).ID: return 59; + case Lava::Lava(10).ID: return 60; + case Lava::Lava(11).ID: return 61; + case Lava::Lava(12).ID: return 62; + case Lava::Lava(13).ID: return 63; + case Lava::Lava(14).ID: return 64; + case Lava::Lava(15).ID: return 65; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 11177; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 11178; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 11179; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 11180; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 11181; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 11182; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 11183; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 11184; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 11185; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 11186; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 11187; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 11188; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 11189; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 11190; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 11191; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 11192; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3781; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3782; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3783; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3784; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3785; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3786; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3787; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3788; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3789; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3790; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3791; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3792; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3793; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3794; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3795; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3796; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3797; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3798; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3799; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3800; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3801; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3802; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3803; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3804; + case LightBlueBanner::LightBlueBanner(0).ID: return 7409; + case LightBlueBanner::LightBlueBanner(1).ID: return 7410; + case LightBlueBanner::LightBlueBanner(2).ID: return 7411; + case LightBlueBanner::LightBlueBanner(3).ID: return 7412; + case LightBlueBanner::LightBlueBanner(4).ID: return 7413; + case LightBlueBanner::LightBlueBanner(5).ID: return 7414; + case LightBlueBanner::LightBlueBanner(6).ID: return 7415; + case LightBlueBanner::LightBlueBanner(7).ID: return 7416; + case LightBlueBanner::LightBlueBanner(8).ID: return 7417; + case LightBlueBanner::LightBlueBanner(9).ID: return 7418; + case LightBlueBanner::LightBlueBanner(10).ID: return 7419; + case LightBlueBanner::LightBlueBanner(11).ID: return 7420; + case LightBlueBanner::LightBlueBanner(12).ID: return 7421; + case LightBlueBanner::LightBlueBanner(13).ID: return 7422; + case LightBlueBanner::LightBlueBanner(14).ID: return 7423; + case LightBlueBanner::LightBlueBanner(15).ID: return 7424; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 1096; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 1097; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 1098; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 1099; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 1100; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 1101; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 1102; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 1103; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 1104; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 1105; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 1106; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 1107; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 1108; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 1109; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 1110; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 1111; + case LightBlueCarpet::LightBlueCarpet().ID: return 7333; + case LightBlueConcrete::LightBlueConcrete().ID: return 8905; + case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 8921; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8850; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8851; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8852; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8853; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8760; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8761; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8762; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8763; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8764; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8765; + case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 4084; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 6425; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 6426; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 6429; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 6430; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 6433; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 6434; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 6437; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 6438; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 6441; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 6442; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 6445; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 6446; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 6449; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 6450; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 6453; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 6454; + case LightBlueTerracotta::LightBlueTerracotta().ID: return 6314; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7629; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7630; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7631; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7632; + case LightBlueWool::LightBlueWool().ID: return 1386; + case LightGrayBanner::LightGrayBanner(0).ID: return 7489; + case LightGrayBanner::LightGrayBanner(1).ID: return 7490; + case LightGrayBanner::LightGrayBanner(2).ID: return 7491; + case LightGrayBanner::LightGrayBanner(3).ID: return 7492; + case LightGrayBanner::LightGrayBanner(4).ID: return 7493; + case LightGrayBanner::LightGrayBanner(5).ID: return 7494; + case LightGrayBanner::LightGrayBanner(6).ID: return 7495; + case LightGrayBanner::LightGrayBanner(7).ID: return 7496; + case LightGrayBanner::LightGrayBanner(8).ID: return 7497; + case LightGrayBanner::LightGrayBanner(9).ID: return 7498; + case LightGrayBanner::LightGrayBanner(10).ID: return 7499; + case LightGrayBanner::LightGrayBanner(11).ID: return 7500; + case LightGrayBanner::LightGrayBanner(12).ID: return 7501; + case LightGrayBanner::LightGrayBanner(13).ID: return 7502; + case LightGrayBanner::LightGrayBanner(14).ID: return 7503; + case LightGrayBanner::LightGrayBanner(15).ID: return 7504; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 1176; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 1177; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 1178; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 1179; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 1180; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 1181; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 1182; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 1183; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 1184; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 1185; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 1186; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 1187; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 1188; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 1189; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 1190; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 1191; + case LightGrayCarpet::LightGrayCarpet().ID: return 7338; + case LightGrayConcrete::LightGrayConcrete().ID: return 8910; + case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 8926; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8870; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8871; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8872; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8873; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8790; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8791; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8792; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8793; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8794; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8795; + case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 4089; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 6585; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 6586; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 6589; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 6590; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 6593; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 6594; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 6597; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 6598; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 6601; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 6602; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 6605; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 6606; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 6609; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 6610; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 6613; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 6614; + case LightGrayTerracotta::LightGrayTerracotta().ID: return 6319; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7649; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7650; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7651; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7652; + case LightGrayWool::LightGrayWool().ID: return 1391; + case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 6110; + case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 6111; + case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 6112; + case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 6113; + case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 6114; + case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 6115; + case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 6116; + case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 6117; + case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 6118; + case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 6119; + case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 6120; + case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 6121; + case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 6122; + case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 6123; + case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 6124; + case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 6125; + case Lilac::Lilac(Lilac::Half::Upper).ID: return 7351; + case Lilac::Lilac(Lilac::Half::Lower).ID: return 7352; + case LilyOfTheValley::LilyOfTheValley().ID: return 1423; + case LilyPad::LilyPad().ID: return 4998; + case LimeBanner::LimeBanner(0).ID: return 7441; + case LimeBanner::LimeBanner(1).ID: return 7442; + case LimeBanner::LimeBanner(2).ID: return 7443; + case LimeBanner::LimeBanner(3).ID: return 7444; + case LimeBanner::LimeBanner(4).ID: return 7445; + case LimeBanner::LimeBanner(5).ID: return 7446; + case LimeBanner::LimeBanner(6).ID: return 7447; + case LimeBanner::LimeBanner(7).ID: return 7448; + case LimeBanner::LimeBanner(8).ID: return 7449; + case LimeBanner::LimeBanner(9).ID: return 7450; + case LimeBanner::LimeBanner(10).ID: return 7451; + case LimeBanner::LimeBanner(11).ID: return 7452; + case LimeBanner::LimeBanner(12).ID: return 7453; + case LimeBanner::LimeBanner(13).ID: return 7454; + case LimeBanner::LimeBanner(14).ID: return 7455; + case LimeBanner::LimeBanner(15).ID: return 7456; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 1128; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 1129; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 1130; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 1131; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 1132; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 1133; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 1134; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 1135; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 1136; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 1137; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 1138; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 1139; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 1140; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 1141; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 1142; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 1143; + case LimeCarpet::LimeCarpet().ID: return 7335; + case LimeConcrete::LimeConcrete().ID: return 8907; + case LimeConcretePowder::LimeConcretePowder().ID: return 8923; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8858; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8859; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8860; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8861; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8772; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8773; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8774; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8775; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8776; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8777; + case LimeStainedGlass::LimeStainedGlass().ID: return 4086; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 6489; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 6490; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 6493; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 6494; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 6497; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 6498; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 6501; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 6502; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 6505; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 6506; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 6509; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 6510; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 6513; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 6514; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 6517; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 6518; + case LimeTerracotta::LimeTerracotta().ID: return 6316; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7637; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7638; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7639; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7640; + case LimeWool::LimeWool().ID: return 1388; + case Loom::Loom(eBlockFace::BLOCK_FACE_ZM).ID: return 11131; + case Loom::Loom(eBlockFace::BLOCK_FACE_ZP).ID: return 11132; + case Loom::Loom(eBlockFace::BLOCK_FACE_XM).ID: return 11133; + case Loom::Loom(eBlockFace::BLOCK_FACE_XP).ID: return 11134; + case MagentaBanner::MagentaBanner(0).ID: return 7393; + case MagentaBanner::MagentaBanner(1).ID: return 7394; + case MagentaBanner::MagentaBanner(2).ID: return 7395; + case MagentaBanner::MagentaBanner(3).ID: return 7396; + case MagentaBanner::MagentaBanner(4).ID: return 7397; + case MagentaBanner::MagentaBanner(5).ID: return 7398; + case MagentaBanner::MagentaBanner(6).ID: return 7399; + case MagentaBanner::MagentaBanner(7).ID: return 7400; + case MagentaBanner::MagentaBanner(8).ID: return 7401; + case MagentaBanner::MagentaBanner(9).ID: return 7402; + case MagentaBanner::MagentaBanner(10).ID: return 7403; + case MagentaBanner::MagentaBanner(11).ID: return 7404; + case MagentaBanner::MagentaBanner(12).ID: return 7405; + case MagentaBanner::MagentaBanner(13).ID: return 7406; + case MagentaBanner::MagentaBanner(14).ID: return 7407; + case MagentaBanner::MagentaBanner(15).ID: return 7408; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 1080; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 1081; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 1082; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 1083; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 1084; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 1085; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 1086; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 1087; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 1088; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 1089; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 1090; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 1091; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 1092; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 1093; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 1094; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 1095; + case MagentaCarpet::MagentaCarpet().ID: return 7332; + case MagentaConcrete::MagentaConcrete().ID: return 8904; + case MagentaConcretePowder::MagentaConcretePowder().ID: return 8920; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8846; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8847; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8848; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8849; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8754; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8755; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8756; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8757; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8758; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8759; + case MagentaStainedGlass::MagentaStainedGlass().ID: return 4083; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 6393; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 6394; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 6397; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 6398; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 6401; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 6402; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 6405; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 6406; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 6409; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 6410; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 6413; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 6414; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 6417; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 6418; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 6421; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 6422; + case MagentaTerracotta::MagentaTerracotta().ID: return 6313; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7625; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7626; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7627; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7628; + case MagentaWool::MagentaWool().ID: return 1385; + case MagmaBlock::MagmaBlock().ID: return 8717; + case Melon::Melon().ID: return 4747; + case MelonStem::MelonStem(0).ID: return 4764; + case MelonStem::MelonStem(1).ID: return 4765; + case MelonStem::MelonStem(2).ID: return 4766; + case MelonStem::MelonStem(3).ID: return 4767; + case MelonStem::MelonStem(4).ID: return 4768; + case MelonStem::MelonStem(5).ID: return 4769; + case MelonStem::MelonStem(6).ID: return 4770; + case MelonStem::MelonStem(7).ID: return 4771; + case MossyCobblestone::MossyCobblestone().ID: return 1432; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Top).ID: return 10278; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Bottom).ID: return 10280; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Double).ID: return 10282; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9454; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9456; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9458; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9460; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9462; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9464; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9466; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9468; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9470; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9472; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9474; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9476; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9478; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9480; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9482; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9484; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9486; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9488; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9490; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9492; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9494; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9496; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9498; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9500; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9502; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9504; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9506; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9508; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9510; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9512; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9514; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9516; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9518; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9520; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9522; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9524; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9526; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9528; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9530; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9532; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5707; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5708; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5711; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5712; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5715; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5716; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5719; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5720; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5723; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5724; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5727; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5728; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5731; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5732; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5735; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5736; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5739; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5740; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5743; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5744; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5747; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5748; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5751; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5752; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5755; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5756; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5759; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5760; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5763; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5764; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5767; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5768; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Top).ID: return 10266; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Bottom).ID: return 10268; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Double).ID: return 10270; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9294; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9296; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9298; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9300; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9302; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9304; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9306; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9308; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9310; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9312; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9314; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9316; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9318; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9320; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9322; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9324; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9326; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9328; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9330; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9332; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9334; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9336; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9338; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9340; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9342; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9344; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9346; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9348; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9350; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9352; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9354; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9356; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9358; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9360; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9362; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9364; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9366; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9368; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9370; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9372; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10525; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10526; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10529; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10530; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10533; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10534; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10537; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10538; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10541; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10542; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10545; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10546; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10549; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10550; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10553; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10554; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10557; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10558; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10561; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10562; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10565; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10566; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10569; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10570; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10573; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10574; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10577; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10578; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10581; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10582; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10585; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10586; + case MossyStoneBricks::MossyStoneBricks().ID: return 4482; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1399; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1400; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1401; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1402; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1403; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1404; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1405; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1406; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1407; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1408; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1409; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1410; + case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4619; + case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4620; + case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4621; + case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4622; + case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4623; + case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4624; + case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4625; + case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4626; + case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4627; + case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4628; + case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4629; + case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4630; + case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4631; + case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4632; + case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4633; + case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4634; + case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4635; + case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4636; + case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4637; + case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4638; + case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4639; + case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4640; + case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4641; + case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4642; + case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4643; + case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4644; + case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4645; + case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4646; + case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4647; + case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4648; + case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4649; + case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4650; + case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4651; + case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4652; + case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4653; + case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4654; + case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4655; + case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4656; + case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4657; + case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4658; + case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4659; + case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4660; + case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4661; + case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4662; + case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4663; + case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4664; + case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4665; + case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4666; + case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4667; + case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4668; + case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4669; + case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4670; + case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4671; + case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4672; + case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4673; + case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4674; + case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4675; + case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4676; + case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4677; + case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4678; + case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4679; + case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4680; + case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4681; + case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4682; + case Mycelium::Mycelium(true).ID: return 4996; + case Mycelium::Mycelium(false).ID: return 4997; + case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 5002; + case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 5003; + case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 5006; + case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 5007; + case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 5010; + case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 5011; + case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 5014; + case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 5015; + case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 5018; + case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 5019; + case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 5022; + case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 5023; + case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 5026; + case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 5027; + case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 5030; + case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 5031; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 7849; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 7851; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 7853; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5033; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5035; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5037; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5039; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5041; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5043; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5045; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5047; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5049; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5051; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5053; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5055; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5057; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5059; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5061; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5063; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5065; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5067; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5069; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5071; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5073; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5075; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5077; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5079; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5081; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5083; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5085; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5087; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5089; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5091; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5093; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5095; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5097; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5099; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5101; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5103; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5105; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5107; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5109; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5111; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10717; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 10718; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10721; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 10722; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10725; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 10726; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10729; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 10730; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10733; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 10734; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10737; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 10738; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10741; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 10742; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10745; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 10746; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10749; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 10750; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10753; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 10754; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10757; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 10758; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10761; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 10762; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10765; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 10766; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10769; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 10770; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10773; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 10774; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10777; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 10778; + case NetherBricks::NetherBricks().ID: return 4999; + case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 4000; + case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 4001; + case NetherQuartzOre::NetherQuartzOre().ID: return 6191; + case NetherWart::NetherWart(0).ID: return 5112; + case NetherWart::NetherWart(1).ID: return 5113; + case NetherWart::NetherWart(2).ID: return 5114; + case NetherWart::NetherWart(3).ID: return 5115; + case NetherWartBlock::NetherWartBlock().ID: return 8718; + case Netherrack::Netherrack().ID: return 3997; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 248; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 249; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 250; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 251; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 252; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 253; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 254; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 255; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 256; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 257; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 258; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 259; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 260; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 261; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 262; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 263; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 264; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 265; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 266; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 267; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 268; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 269; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 270; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 271; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 272; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 273; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 274; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 275; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 276; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 277; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 278; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 279; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 280; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 281; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 282; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 283; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 284; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 285; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 286; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 287; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 288; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 289; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 290; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 291; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 292; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 293; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 294; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 295; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 296; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 297; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 298; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 299; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 300; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 301; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 302; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 303; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 304; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 305; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 306; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 307; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 308; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 309; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 310; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 311; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 312; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 313; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 314; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 315; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 316; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 317; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 318; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 319; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 320; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 321; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 322; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 323; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 324; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 325; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 326; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 327; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 328; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 329; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 330; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 331; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 332; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 333; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 334; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 335; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 336; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 337; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 338; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 339; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 340; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 341; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 342; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 343; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 344; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 345; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 346; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 347; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 348; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 349; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 350; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 351; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 352; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 353; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 354; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 355; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 356; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 357; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 358; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 359; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 360; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 361; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 362; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 363; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 364; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 365; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 366; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 367; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 368; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 369; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 370; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 371; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 372; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 373; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 374; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 375; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 376; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 377; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 378; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 379; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 380; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 381; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 382; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 383; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 384; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 385; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 386; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 387; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 388; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 389; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 390; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 391; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 392; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 393; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 394; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 395; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 396; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 397; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 398; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 399; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 400; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 401; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 402; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 403; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 404; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 405; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 406; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 407; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 408; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 409; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 410; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 411; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 412; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 413; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 414; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 415; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 416; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 417; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 418; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 419; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 420; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 421; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 422; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 423; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 424; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 425; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 426; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 427; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 428; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 429; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 430; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 431; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 432; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 433; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 434; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 435; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 436; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 437; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 438; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 439; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 440; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 441; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 442; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 443; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 444; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 445; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 446; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 447; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 448; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 449; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 450; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 451; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 452; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 453; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 454; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 455; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 456; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 457; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 458; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 459; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 460; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 461; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 462; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 463; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 464; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 465; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 466; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 467; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 468; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 469; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 470; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 471; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 472; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 473; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 474; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 475; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 476; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 477; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 478; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 479; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 480; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 481; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 482; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 483; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 484; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 485; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 486; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 487; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 488; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 489; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 490; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 491; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 492; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 493; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 494; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 495; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 496; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 497; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 498; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 499; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 500; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 501; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 502; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 503; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 504; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 505; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 506; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 507; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 508; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 509; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 510; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 511; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 512; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 513; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 514; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 515; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 516; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 517; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 518; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 519; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 520; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 521; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 522; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 523; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 524; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 525; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 526; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 527; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 528; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 529; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 530; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 531; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 532; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 533; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 534; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 535; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 536; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 537; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 538; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 539; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 540; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 541; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 542; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 543; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 544; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 545; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 546; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 547; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 548; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 549; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 550; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 551; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 552; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 553; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 554; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 555; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 556; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 557; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 558; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 559; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 560; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 561; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 562; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 563; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 564; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 565; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 566; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 567; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 568; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 569; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 570; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 571; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 572; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 573; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 574; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 575; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 576; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 577; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 578; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 579; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 580; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 581; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 582; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 583; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 584; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 585; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 586; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 587; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 588; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 589; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 590; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 591; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 592; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 593; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 594; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 595; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 596; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 597; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 598; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 599; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 600; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 601; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 602; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 603; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 604; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 605; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 606; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 607; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 608; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 609; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 610; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 611; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 612; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 613; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 614; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 615; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 616; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 617; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 618; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 619; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 620; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 621; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 622; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 623; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 624; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 625; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 626; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 627; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 628; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 629; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 630; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 631; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 632; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 633; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 634; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 635; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 636; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 637; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 638; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 639; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 640; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 641; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 642; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 643; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 644; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 645; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 646; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 647; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 648; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 649; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 650; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 651; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 652; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 653; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 654; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 655; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 656; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 657; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 658; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 659; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 660; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 661; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 662; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 663; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 664; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 665; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 666; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 667; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 668; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 669; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 670; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 671; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 672; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 673; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 674; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 675; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 676; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 677; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 678; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 679; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 680; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 681; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 682; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 683; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 684; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 685; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 686; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 687; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 688; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 689; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 690; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 691; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 692; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 693; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 694; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 695; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 696; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 697; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 698; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 699; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 700; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 701; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 702; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 703; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 704; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 705; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 706; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 707; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 708; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 709; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 710; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 711; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 712; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 713; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 714; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 715; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 716; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 717; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 718; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 719; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 720; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 721; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 722; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 723; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 724; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 725; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 726; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 727; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 728; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 729; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 730; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 731; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 732; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 733; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 734; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 735; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 736; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 737; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 738; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 739; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 740; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 741; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 742; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 743; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 744; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 745; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 746; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 747; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, true).ID: return 748; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, false).ID: return 749; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, true).ID: return 750; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, false).ID: return 751; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, true).ID: return 752; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, false).ID: return 753; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, true).ID: return 754; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, false).ID: return 755; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, true).ID: return 756; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, false).ID: return 757; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, true).ID: return 758; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, false).ID: return 759; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, true).ID: return 760; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, false).ID: return 761; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, true).ID: return 762; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, false).ID: return 763; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, true).ID: return 764; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, false).ID: return 765; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, true).ID: return 766; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, false).ID: return 767; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, true).ID: return 768; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, false).ID: return 769; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, true).ID: return 770; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, false).ID: return 771; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, true).ID: return 772; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, false).ID: return 773; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, true).ID: return 774; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, false).ID: return 775; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, true).ID: return 776; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, false).ID: return 777; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, true).ID: return 778; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, false).ID: return 779; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, true).ID: return 780; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, false).ID: return 781; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, true).ID: return 782; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, false).ID: return 783; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, true).ID: return 784; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, false).ID: return 785; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, true).ID: return 786; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, false).ID: return 787; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, true).ID: return 788; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, false).ID: return 789; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, true).ID: return 790; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, false).ID: return 791; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, true).ID: return 792; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, false).ID: return 793; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, true).ID: return 794; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, false).ID: return 795; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, true).ID: return 796; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, false).ID: return 797; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, true).ID: return 798; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, false).ID: return 799; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, true).ID: return 800; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, false).ID: return 801; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, true).ID: return 802; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, false).ID: return 803; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, true).ID: return 804; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, false).ID: return 805; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, true).ID: return 806; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, false).ID: return 807; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, true).ID: return 808; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, false).ID: return 809; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, true).ID: return 810; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, false).ID: return 811; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, true).ID: return 812; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, false).ID: return 813; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, true).ID: return 814; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, false).ID: return 815; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, true).ID: return 816; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, false).ID: return 817; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, true).ID: return 818; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, false).ID: return 819; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, true).ID: return 820; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, false).ID: return 821; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, true).ID: return 822; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, false).ID: return 823; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, true).ID: return 824; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, false).ID: return 825; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, true).ID: return 826; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, false).ID: return 827; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, true).ID: return 828; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, false).ID: return 829; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, true).ID: return 830; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, false).ID: return 831; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, true).ID: return 832; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, false).ID: return 833; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, true).ID: return 834; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, false).ID: return 835; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, true).ID: return 836; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, false).ID: return 837; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, true).ID: return 838; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, false).ID: return 839; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, true).ID: return 840; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, false).ID: return 841; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, true).ID: return 842; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, false).ID: return 843; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, true).ID: return 844; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, false).ID: return 845; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, true).ID: return 846; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, false).ID: return 847; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, true).ID: return 848; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, false).ID: return 849; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, true).ID: return 850; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, false).ID: return 851; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, true).ID: return 852; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, false).ID: return 853; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, true).ID: return 854; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, false).ID: return 855; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, true).ID: return 856; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, false).ID: return 857; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, true).ID: return 858; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, false).ID: return 859; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, true).ID: return 860; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, false).ID: return 861; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, true).ID: return 862; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, false).ID: return 863; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, true).ID: return 864; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, false).ID: return 865; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, true).ID: return 866; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, false).ID: return 867; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, true).ID: return 868; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, false).ID: return 869; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, true).ID: return 870; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, false).ID: return 871; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, true).ID: return 872; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, false).ID: return 873; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, true).ID: return 874; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, false).ID: return 875; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, true).ID: return 876; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, false).ID: return 877; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, true).ID: return 878; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, false).ID: return 879; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, true).ID: return 880; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, false).ID: return 881; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, true).ID: return 882; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, false).ID: return 883; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, true).ID: return 884; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, false).ID: return 885; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, true).ID: return 886; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, false).ID: return 887; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, true).ID: return 888; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, false).ID: return 889; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, true).ID: return 890; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, false).ID: return 891; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, true).ID: return 892; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, false).ID: return 893; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, true).ID: return 894; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, false).ID: return 895; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, true).ID: return 896; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, false).ID: return 897; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, true).ID: return 898; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, false).ID: return 899; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, true).ID: return 900; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, false).ID: return 901; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, true).ID: return 902; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, false).ID: return 903; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, true).ID: return 904; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, false).ID: return 905; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, true).ID: return 906; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, false).ID: return 907; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, true).ID: return 908; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, false).ID: return 909; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, true).ID: return 910; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, false).ID: return 911; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, true).ID: return 912; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, false).ID: return 913; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, true).ID: return 914; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, false).ID: return 915; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, true).ID: return 916; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, false).ID: return 917; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, true).ID: return 918; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, false).ID: return 919; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, true).ID: return 920; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, false).ID: return 921; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, true).ID: return 922; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, false).ID: return 923; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, true).ID: return 924; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, false).ID: return 925; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, true).ID: return 926; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, false).ID: return 927; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, true).ID: return 928; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, false).ID: return 929; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, true).ID: return 930; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, false).ID: return 931; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, true).ID: return 932; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, false).ID: return 933; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, true).ID: return 934; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, false).ID: return 935; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, true).ID: return 936; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, false).ID: return 937; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, true).ID: return 938; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, false).ID: return 939; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, true).ID: return 940; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, false).ID: return 941; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, true).ID: return 942; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, false).ID: return 943; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, true).ID: return 944; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, false).ID: return 945; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, true).ID: return 946; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, false).ID: return 947; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, true).ID: return 948; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, false).ID: return 949; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, true).ID: return 950; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, false).ID: return 951; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, true).ID: return 952; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, false).ID: return 953; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, true).ID: return 954; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, false).ID: return 955; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, true).ID: return 956; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, false).ID: return 957; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, true).ID: return 958; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, false).ID: return 959; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, true).ID: return 960; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, false).ID: return 961; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, true).ID: return 962; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, false).ID: return 963; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, true).ID: return 964; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, false).ID: return 965; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, true).ID: return 966; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, false).ID: return 967; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, true).ID: return 968; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, false).ID: return 969; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, true).ID: return 970; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, false).ID: return 971; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, true).ID: return 972; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, false).ID: return 973; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, true).ID: return 974; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, false).ID: return 975; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, true).ID: return 976; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, false).ID: return 977; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, true).ID: return 978; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, false).ID: return 979; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, true).ID: return 980; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, false).ID: return 981; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, true).ID: return 982; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, false).ID: return 983; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, true).ID: return 984; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, false).ID: return 985; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, true).ID: return 986; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, false).ID: return 987; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, true).ID: return 988; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, false).ID: return 989; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, true).ID: return 990; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, false).ID: return 991; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, true).ID: return 992; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, false).ID: return 993; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, true).ID: return 994; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, false).ID: return 995; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, true).ID: return 996; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, false).ID: return 997; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, true).ID: return 998; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, false).ID: return 999; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, true).ID: return 1000; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, false).ID: return 1001; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, true).ID: return 1002; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, false).ID: return 1003; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, true).ID: return 1004; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, false).ID: return 1005; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, true).ID: return 1006; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, false).ID: return 1007; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, true).ID: return 1008; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, false).ID: return 1009; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, true).ID: return 1010; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, false).ID: return 1011; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, true).ID: return 1012; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, false).ID: return 1013; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, true).ID: return 1014; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, false).ID: return 1015; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, true).ID: return 1016; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, false).ID: return 1017; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, true).ID: return 1018; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, false).ID: return 1019; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, true).ID: return 1020; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, false).ID: return 1021; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, true).ID: return 1022; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, false).ID: return 1023; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, true).ID: return 1024; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, false).ID: return 1025; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, true).ID: return 1026; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, false).ID: return 1027; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, true).ID: return 1028; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, false).ID: return 1029; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, true).ID: return 1030; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, false).ID: return 1031; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, true).ID: return 1032; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, false).ID: return 1033; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, true).ID: return 1034; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, false).ID: return 1035; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, true).ID: return 1036; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, false).ID: return 1037; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, true).ID: return 1038; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, false).ID: return 1039; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, true).ID: return 1040; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, false).ID: return 1041; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, true).ID: return 1042; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, false).ID: return 1043; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, true).ID: return 1044; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, false).ID: return 1045; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, true).ID: return 1046; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, false).ID: return 1047; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5810; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5811; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5812; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5813; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5814; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5815; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5816; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5817; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5818; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5819; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5820; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5821; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5822; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5823; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5824; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5825; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5826; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5827; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5828; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5829; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5830; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5831; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5832; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5833; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3571; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3572; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3573; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3574; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3575; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3576; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3577; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3578; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3579; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3580; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3581; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3582; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3583; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3584; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3585; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3586; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3587; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3588; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3589; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3590; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3591; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3592; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3593; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3594; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3595; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3596; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3597; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3598; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3599; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3600; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3601; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3602; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3603; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3604; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3605; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3606; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3607; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3608; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3609; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3610; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3611; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3612; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3613; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3614; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3615; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3616; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3617; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3618; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3619; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3620; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3621; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3622; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3623; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3624; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3625; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3626; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3627; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3628; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3629; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3630; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3631; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3632; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3633; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3634; + case OakFence::OakFence(true, true, true, true).ID: return 3966; + case OakFence::OakFence(true, true, true, false).ID: return 3967; + case OakFence::OakFence(true, true, false, true).ID: return 3970; + case OakFence::OakFence(true, true, false, false).ID: return 3971; + case OakFence::OakFence(true, false, true, true).ID: return 3974; + case OakFence::OakFence(true, false, true, false).ID: return 3975; + case OakFence::OakFence(true, false, false, true).ID: return 3978; + case OakFence::OakFence(true, false, false, false).ID: return 3979; + case OakFence::OakFence(false, true, true, true).ID: return 3982; + case OakFence::OakFence(false, true, true, false).ID: return 3983; + case OakFence::OakFence(false, true, false, true).ID: return 3986; + case OakFence::OakFence(false, true, false, false).ID: return 3987; + case OakFence::OakFence(false, false, true, true).ID: return 3990; + case OakFence::OakFence(false, false, true, false).ID: return 3991; + case OakFence::OakFence(false, false, false, true).ID: return 3994; + case OakFence::OakFence(false, false, false, false).ID: return 3995; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4804; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4805; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4806; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4807; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4808; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4809; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4810; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4811; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4812; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4813; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4814; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4815; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4816; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4817; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4818; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4819; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4820; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4821; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4822; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4823; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4824; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4825; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4826; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4827; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4828; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4829; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4830; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4831; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4832; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4833; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4834; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4835; + case OakLeaves::OakLeaves(1, true).ID: return 144; + case OakLeaves::OakLeaves(1, false).ID: return 145; + case OakLeaves::OakLeaves(2, true).ID: return 146; + case OakLeaves::OakLeaves(2, false).ID: return 147; + case OakLeaves::OakLeaves(3, true).ID: return 148; + case OakLeaves::OakLeaves(3, false).ID: return 149; + case OakLeaves::OakLeaves(4, true).ID: return 150; + case OakLeaves::OakLeaves(4, false).ID: return 151; + case OakLeaves::OakLeaves(5, true).ID: return 152; + case OakLeaves::OakLeaves(5, false).ID: return 153; + case OakLeaves::OakLeaves(6, true).ID: return 154; + case OakLeaves::OakLeaves(6, false).ID: return 155; + case OakLeaves::OakLeaves(7, true).ID: return 156; + case OakLeaves::OakLeaves(7, false).ID: return 157; + case OakLog::OakLog(OakLog::Axis::X).ID: return 72; + case OakLog::OakLog(OakLog::Axis::Y).ID: return 73; + case OakLog::OakLog(OakLog::Axis::Z).ID: return 74; + case OakPlanks::OakPlanks().ID: return 15; + case OakPressurePlate::OakPressurePlate(true).ID: return 3871; + case OakPressurePlate::OakPressurePlate(false).ID: return 3872; + case OakSapling::OakSapling(0).ID: return 21; + case OakSapling::OakSapling(1).ID: return 22; + case OakSign::OakSign(0).ID: return 3380; + case OakSign::OakSign(1).ID: return 3382; + case OakSign::OakSign(2).ID: return 3384; + case OakSign::OakSign(3).ID: return 3386; + case OakSign::OakSign(4).ID: return 3388; + case OakSign::OakSign(5).ID: return 3390; + case OakSign::OakSign(6).ID: return 3392; + case OakSign::OakSign(7).ID: return 3394; + case OakSign::OakSign(8).ID: return 3396; + case OakSign::OakSign(9).ID: return 3398; + case OakSign::OakSign(10).ID: return 3400; + case OakSign::OakSign(11).ID: return 3402; + case OakSign::OakSign(12).ID: return 3404; + case OakSign::OakSign(13).ID: return 3406; + case OakSign::OakSign(14).ID: return 3408; + case OakSign::OakSign(15).ID: return 3410; + case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 7765; + case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 7767; + case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 7769; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1953; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1955; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1957; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1959; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1961; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1963; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1965; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1967; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1969; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1971; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1973; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1975; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1977; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1979; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1981; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1983; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1985; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1987; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1989; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1991; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1993; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1995; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1997; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1999; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 2001; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 2003; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 2005; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 2007; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 2009; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 2011; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 2013; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 2015; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 2017; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 2019; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 2021; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 2023; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 2025; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 2027; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 2029; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 2031; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 4098; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 4100; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 4102; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 4104; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 4106; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: + return 4108; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: + return 4110; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: + return 4112; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 4114; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 4116; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 4118; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 4120; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 4122; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: + return 4124; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: + return 4126; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: + return 4128; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 4130; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 4132; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 4134; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 4136; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 4138; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: + return 4140; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: + return 4142; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: + return 4144; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 4146; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 4148; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 4150; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 4152; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 4154; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: + return 4156; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: + return 4158; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: + return 4160; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3734; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3736; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3738; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3740; + case OakWood::OakWood(OakWood::Axis::X).ID: return 108; + case OakWood::OakWood(OakWood::Axis::Y).ID: return 109; + case OakWood::OakWood(OakWood::Axis::Z).ID: return 110; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 8724; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 8725; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 8726; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 8727; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 8728; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 8729; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 8730; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 8731; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 8732; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 8733; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 8734; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 8735; + case Obsidian::Obsidian().ID: return 1433; + case OrangeBanner::OrangeBanner(0).ID: return 7377; + case OrangeBanner::OrangeBanner(1).ID: return 7378; + case OrangeBanner::OrangeBanner(2).ID: return 7379; + case OrangeBanner::OrangeBanner(3).ID: return 7380; + case OrangeBanner::OrangeBanner(4).ID: return 7381; + case OrangeBanner::OrangeBanner(5).ID: return 7382; + case OrangeBanner::OrangeBanner(6).ID: return 7383; + case OrangeBanner::OrangeBanner(7).ID: return 7384; + case OrangeBanner::OrangeBanner(8).ID: return 7385; + case OrangeBanner::OrangeBanner(9).ID: return 7386; + case OrangeBanner::OrangeBanner(10).ID: return 7387; + case OrangeBanner::OrangeBanner(11).ID: return 7388; + case OrangeBanner::OrangeBanner(12).ID: return 7389; + case OrangeBanner::OrangeBanner(13).ID: return 7390; + case OrangeBanner::OrangeBanner(14).ID: return 7391; + case OrangeBanner::OrangeBanner(15).ID: return 7392; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 1064; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 1065; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 1066; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 1067; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 1068; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 1069; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 1070; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 1071; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 1072; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 1073; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 1074; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 1075; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 1076; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 1077; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 1078; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 1079; + case OrangeCarpet::OrangeCarpet().ID: return 7331; + case OrangeConcrete::OrangeConcrete().ID: return 8903; + case OrangeConcretePowder::OrangeConcretePowder().ID: return 8919; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8842; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8843; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8844; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8845; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8748; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8749; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8750; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8751; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8752; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8753; + case OrangeStainedGlass::OrangeStainedGlass().ID: return 4082; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 6361; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 6362; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 6365; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 6366; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 6369; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 6370; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 6373; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 6374; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 6377; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 6378; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 6381; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 6382; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 6385; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 6386; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 6389; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 6390; + case OrangeTerracotta::OrangeTerracotta().ID: return 6312; + case OrangeTulip::OrangeTulip().ID: return 1417; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7621; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7622; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7623; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7624; + case OrangeWool::OrangeWool().ID: return 1384; + case OxeyeDaisy::OxeyeDaisy().ID: return 1420; + case PackedIce::PackedIce().ID: return 7348; + case Peony::Peony(Peony::Half::Upper).ID: return 7355; + case Peony::Peony(Peony::Half::Lower).ID: return 7356; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 7825; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 7827; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 7829; + case PinkBanner::PinkBanner(0).ID: return 7457; + case PinkBanner::PinkBanner(1).ID: return 7458; + case PinkBanner::PinkBanner(2).ID: return 7459; + case PinkBanner::PinkBanner(3).ID: return 7460; + case PinkBanner::PinkBanner(4).ID: return 7461; + case PinkBanner::PinkBanner(5).ID: return 7462; + case PinkBanner::PinkBanner(6).ID: return 7463; + case PinkBanner::PinkBanner(7).ID: return 7464; + case PinkBanner::PinkBanner(8).ID: return 7465; + case PinkBanner::PinkBanner(9).ID: return 7466; + case PinkBanner::PinkBanner(10).ID: return 7467; + case PinkBanner::PinkBanner(11).ID: return 7468; + case PinkBanner::PinkBanner(12).ID: return 7469; + case PinkBanner::PinkBanner(13).ID: return 7470; + case PinkBanner::PinkBanner(14).ID: return 7471; + case PinkBanner::PinkBanner(15).ID: return 7472; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 1144; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 1145; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 1146; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 1147; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 1148; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 1149; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 1150; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 1151; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 1152; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 1153; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 1154; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 1155; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 1156; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 1157; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 1158; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 1159; + case PinkCarpet::PinkCarpet().ID: return 7336; + case PinkConcrete::PinkConcrete().ID: return 8908; + case PinkConcretePowder::PinkConcretePowder().ID: return 8924; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8862; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8863; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8864; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8865; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8778; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8779; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8780; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8781; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8782; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8783; + case PinkStainedGlass::PinkStainedGlass().ID: return 4087; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 6521; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 6522; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 6525; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 6526; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 6529; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 6530; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 6533; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 6534; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 6537; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 6538; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 6541; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 6542; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 6545; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 6546; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 6549; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 6550; + case PinkTerracotta::PinkTerracotta().ID: return 6317; + case PinkTulip::PinkTulip().ID: return 1419; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7641; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7642; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7643; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7644; + case PinkWool::PinkWool().ID: return 1389; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1347; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1348; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1349; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1350; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1351; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1352; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1353; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1354; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1355; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1356; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1357; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1358; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1359; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1360; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1361; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1362; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1363; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1364; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1365; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1366; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1367; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1368; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1369; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1370; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1371; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1372; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1373; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1374; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1375; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1376; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1377; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1378; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1379; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1380; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1381; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1382; + case PlayerHead::PlayerHead(0).ID: return 6014; + case PlayerHead::PlayerHead(1).ID: return 6015; + case PlayerHead::PlayerHead(2).ID: return 6016; + case PlayerHead::PlayerHead(3).ID: return 6017; + case PlayerHead::PlayerHead(4).ID: return 6018; + case PlayerHead::PlayerHead(5).ID: return 6019; + case PlayerHead::PlayerHead(6).ID: return 6020; + case PlayerHead::PlayerHead(7).ID: return 6021; + case PlayerHead::PlayerHead(8).ID: return 6022; + case PlayerHead::PlayerHead(9).ID: return 6023; + case PlayerHead::PlayerHead(10).ID: return 6024; + case PlayerHead::PlayerHead(11).ID: return 6025; + case PlayerHead::PlayerHead(12).ID: return 6026; + case PlayerHead::PlayerHead(13).ID: return 6027; + case PlayerHead::PlayerHead(14).ID: return 6028; + case PlayerHead::PlayerHead(15).ID: return 6029; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6030; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6031; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6032; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6033; + case Podzol::Podzol(true).ID: return 12; + case Podzol::Podzol(false).ID: return 13; + case PolishedAndesite::PolishedAndesite().ID: return 7; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Top).ID: return 10320; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Bottom).ID: return 10322; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Double).ID: return 10324; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10094; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10096; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10098; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10100; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10102; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10104; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10106; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10108; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10110; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10112; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10114; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10116; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10118; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10120; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10122; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10124; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10126; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10128; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10130; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10132; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10134; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10136; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10138; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10140; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10142; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10144; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10146; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10148; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10150; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10152; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10154; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10156; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10158; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10160; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10162; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10164; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10166; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10168; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10170; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10172; + case PolishedDiorite::PolishedDiorite().ID: return 5; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Top).ID: return 10272; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Bottom).ID: return 10274; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Double).ID: return 10276; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9374; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9376; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9378; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9380; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9382; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9384; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9386; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9388; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9390; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9392; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9394; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9396; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9398; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9400; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9402; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9404; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9406; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9408; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9410; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9412; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9414; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9416; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9418; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9420; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9422; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9424; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9426; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9428; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9430; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9432; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9434; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9436; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9438; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9440; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9442; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9444; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9446; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9448; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9450; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9452; + case PolishedGranite::PolishedGranite().ID: return 3; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Top).ID: return 10254; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Bottom).ID: return 10256; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Double).ID: return 10258; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9134; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9136; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9138; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9140; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9142; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9144; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9146; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9148; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9150; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9152; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9154; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9156; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9158; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9160; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9162; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9164; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9166; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9168; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9170; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9172; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9174; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9176; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9178; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9180; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9182; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9184; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9186; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9188; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9190; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9192; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9194; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9196; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9198; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9200; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9202; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9204; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9206; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9208; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9210; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9212; + case Poppy::Poppy().ID: return 1412; + case Potatoes::Potatoes(0).ID: return 5802; + case Potatoes::Potatoes(1).ID: return 5803; + case Potatoes::Potatoes(2).ID: return 5804; + case Potatoes::Potatoes(3).ID: return 5805; + case Potatoes::Potatoes(4).ID: return 5806; + case Potatoes::Potatoes(5).ID: return 5807; + case Potatoes::Potatoes(6).ID: return 5808; + case Potatoes::Potatoes(7).ID: return 5809; + case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 5774; + case PottedAllium::PottedAllium().ID: return 5780; + case PottedAzureBluet::PottedAzureBluet().ID: return 5781; + case PottedBamboo::PottedBamboo().ID: return 9128; + case PottedBirchSapling::PottedBirchSapling().ID: return 5772; + case PottedBlueOrchid::PottedBlueOrchid().ID: return 5779; + case PottedBrownMushroom::PottedBrownMushroom().ID: return 5791; + case PottedCactus::PottedCactus().ID: return 5793; + case PottedCornflower::PottedCornflower().ID: return 5787; + case PottedDandelion::PottedDandelion().ID: return 5777; + case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 5775; + case PottedDeadBush::PottedDeadBush().ID: return 5792; + case PottedFern::PottedFern().ID: return 5776; + case PottedJungleSapling::PottedJungleSapling().ID: return 5773; + case PottedLilyOfTheValley::PottedLilyOfTheValley().ID: return 5788; + case PottedOakSapling::PottedOakSapling().ID: return 5770; + case PottedOrangeTulip::PottedOrangeTulip().ID: return 5783; + case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 5786; + case PottedPinkTulip::PottedPinkTulip().ID: return 5785; + case PottedPoppy::PottedPoppy().ID: return 5778; + case PottedRedMushroom::PottedRedMushroom().ID: return 5790; + case PottedRedTulip::PottedRedTulip().ID: return 5782; + case PottedSpruceSapling::PottedSpruceSapling().ID: return 5771; + case PottedWhiteTulip::PottedWhiteTulip().ID: return 5784; + case PottedWitherRose::PottedWitherRose().ID: return 5789; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1304; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1305; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1306; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1307; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1308; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1309; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1310; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1311; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1312; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1313; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1314; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1315; + case Prismarine::Prismarine().ID: return 7065; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 7315; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 7317; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 7319; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7149; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7151; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7153; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7155; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7157; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7159; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7161; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7163; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7165; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7167; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7169; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7171; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7173; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7175; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7177; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7179; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7181; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7183; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7185; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7187; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7189; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7191; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7193; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7195; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7197; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7199; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7201; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7203; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7205; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7207; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7209; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7211; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7213; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7215; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7217; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7219; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7221; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7223; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7225; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7227; + case PrismarineBricks::PrismarineBricks().ID: return 7066; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 7309; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 7311; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 7313; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7069; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7071; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7073; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7075; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7077; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7079; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7081; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7083; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7085; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7087; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7089; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7091; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7093; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7095; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7097; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7099; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7101; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7103; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7105; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7107; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7109; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7111; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7113; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7115; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7117; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7119; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7121; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7123; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7125; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7127; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7129; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7131; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7133; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7135; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7137; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7139; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7141; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7143; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7145; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7147; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 10397; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 10398; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 10401; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 10402; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 10405; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 10406; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 10409; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 10410; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 10413; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 10414; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 10417; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 10418; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 10421; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 10422; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 10425; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 10426; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 10429; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 10430; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 10433; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 10434; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 10437; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 10438; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 10441; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 10442; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 10445; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 10446; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 10449; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 10450; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 10453; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 10454; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 10457; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 10458; + case Pumpkin::Pumpkin().ID: return 3996; + case PumpkinStem::PumpkinStem(0).ID: return 4756; + case PumpkinStem::PumpkinStem(1).ID: return 4757; + case PumpkinStem::PumpkinStem(2).ID: return 4758; + case PumpkinStem::PumpkinStem(3).ID: return 4759; + case PumpkinStem::PumpkinStem(4).ID: return 4760; + case PumpkinStem::PumpkinStem(5).ID: return 4761; + case PumpkinStem::PumpkinStem(6).ID: return 4762; + case PumpkinStem::PumpkinStem(7).ID: return 4763; + case PurpleBanner::PurpleBanner(0).ID: return 7521; + case PurpleBanner::PurpleBanner(1).ID: return 7522; + case PurpleBanner::PurpleBanner(2).ID: return 7523; + case PurpleBanner::PurpleBanner(3).ID: return 7524; + case PurpleBanner::PurpleBanner(4).ID: return 7525; + case PurpleBanner::PurpleBanner(5).ID: return 7526; + case PurpleBanner::PurpleBanner(6).ID: return 7527; + case PurpleBanner::PurpleBanner(7).ID: return 7528; + case PurpleBanner::PurpleBanner(8).ID: return 7529; + case PurpleBanner::PurpleBanner(9).ID: return 7530; + case PurpleBanner::PurpleBanner(10).ID: return 7531; + case PurpleBanner::PurpleBanner(11).ID: return 7532; + case PurpleBanner::PurpleBanner(12).ID: return 7533; + case PurpleBanner::PurpleBanner(13).ID: return 7534; + case PurpleBanner::PurpleBanner(14).ID: return 7535; + case PurpleBanner::PurpleBanner(15).ID: return 7536; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 1208; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 1209; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 1210; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 1211; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 1212; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 1213; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 1214; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 1215; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 1216; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 1217; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 1218; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 1219; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 1220; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 1221; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 1222; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 1223; + case PurpleCarpet::PurpleCarpet().ID: return 7340; + case PurpleConcrete::PurpleConcrete().ID: return 8912; + case PurpleConcretePowder::PurpleConcretePowder().ID: return 8928; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8878; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8879; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8880; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8881; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8802; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8803; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8804; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8805; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8806; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8807; + case PurpleStainedGlass::PurpleStainedGlass().ID: return 4091; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 6649; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 6650; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 6653; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 6654; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 6657; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 6658; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 6661; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 6662; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 6665; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 6666; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 6669; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 6670; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 6673; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 6674; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 6677; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 6678; + case PurpleTerracotta::PurpleTerracotta().ID: return 6321; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7657; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7658; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7659; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7660; + case PurpleWool::PurpleWool().ID: return 1393; + case PurpurBlock::PurpurBlock().ID: return 8598; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 8599; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 8600; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 8601; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 7873; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 7875; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 7877; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8603; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8605; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8607; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8609; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8611; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8613; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8615; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8617; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8619; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8621; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8623; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8625; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8627; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8629; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8631; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8633; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8635; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8637; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8639; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8641; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8643; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8645; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8647; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8649; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8651; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8653; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8655; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8657; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8659; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8661; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8663; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8665; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8667; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8669; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8671; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8673; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8675; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8677; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8679; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8681; + case QuartzBlock::QuartzBlock().ID: return 6202; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 6204; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 6205; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 6206; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 7855; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 7857; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 7859; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6208; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6210; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6212; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6214; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6216; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6218; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6220; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6222; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6224; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6226; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6228; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6230; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6232; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6234; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6236; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6238; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6240; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6242; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6244; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6246; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6248; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6250; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6252; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6254; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6256; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6258; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6260; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6262; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6264; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6266; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6268; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6270; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6272; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6274; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6276; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6278; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6280; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6282; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6284; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6286; + case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3643; + case Rail::Rail(Rail::Shape::EastWest).ID: return 3644; + case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3645; + case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3646; + case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3647; + case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3648; + case Rail::Rail(Rail::Shape::SouthEast).ID: return 3649; + case Rail::Rail(Rail::Shape::SouthWest).ID: return 3650; + case Rail::Rail(Rail::Shape::NorthWest).ID: return 3651; + case Rail::Rail(Rail::Shape::NorthEast).ID: return 3652; + case RedBanner::RedBanner(0).ID: return 7585; + case RedBanner::RedBanner(1).ID: return 7586; + case RedBanner::RedBanner(2).ID: return 7587; + case RedBanner::RedBanner(3).ID: return 7588; + case RedBanner::RedBanner(4).ID: return 7589; + case RedBanner::RedBanner(5).ID: return 7590; + case RedBanner::RedBanner(6).ID: return 7591; + case RedBanner::RedBanner(7).ID: return 7592; + case RedBanner::RedBanner(8).ID: return 7593; + case RedBanner::RedBanner(9).ID: return 7594; + case RedBanner::RedBanner(10).ID: return 7595; + case RedBanner::RedBanner(11).ID: return 7596; + case RedBanner::RedBanner(12).ID: return 7597; + case RedBanner::RedBanner(13).ID: return 7598; + case RedBanner::RedBanner(14).ID: return 7599; + case RedBanner::RedBanner(15).ID: return 7600; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 1272; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 1273; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 1274; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 1275; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 1276; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 1277; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 1278; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 1279; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 1280; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 1281; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 1282; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 1283; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 1284; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 1285; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 1286; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 1287; + case RedCarpet::RedCarpet().ID: return 7344; + case RedConcrete::RedConcrete().ID: return 8916; + case RedConcretePowder::RedConcretePowder().ID: return 8932; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8894; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8895; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8896; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8897; + case RedMushroom::RedMushroom().ID: return 1425; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4555; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4556; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4557; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4558; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4559; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4560; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4561; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4562; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4563; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4564; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4565; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4566; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4567; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4568; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4569; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4570; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4571; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4572; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4573; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4574; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4575; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4576; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4577; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4578; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4579; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4580; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4581; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4582; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4583; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4584; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4585; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4586; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4587; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4588; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4589; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4590; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4591; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4592; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4593; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4594; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4595; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4596; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4597; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4598; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4599; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4600; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4601; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4602; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4603; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4604; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4605; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4606; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4607; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4608; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4609; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4610; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4611; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4612; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4613; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4614; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4615; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4616; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4617; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4618; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Top).ID: return 10314; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Bottom).ID: return 10316; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Double).ID: return 10318; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10014; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10016; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10018; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10020; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10022; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10024; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10026; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10028; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10030; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10032; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10034; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10036; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10038; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10040; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10042; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10044; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10046; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10048; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10050; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10052; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10054; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10056; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10058; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10060; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10062; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10064; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10066; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10068; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10070; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10072; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10074; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10076; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10078; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10080; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10082; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10084; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10086; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10088; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10090; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10092; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10845; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10846; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10849; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10850; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10853; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10854; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10857; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10858; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10861; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10862; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10865; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10866; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10869; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10870; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10873; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10874; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10877; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10878; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10881; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10882; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10885; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10886; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10889; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10890; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10893; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10894; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10897; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10898; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10901; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10902; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10905; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10906; + case RedNetherBricks::RedNetherBricks().ID: return 8719; + case RedSand::RedSand().ID: return 67; + case RedSandstone::RedSandstone().ID: return 7681; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 7861; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 7863; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 7865; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7685; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7687; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7689; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7691; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7693; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7695; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7697; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7699; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7701; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7703; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7705; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7707; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7709; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7711; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7713; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7715; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7717; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7719; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7721; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7723; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7725; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7727; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7729; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7731; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7733; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7735; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7737; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7739; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7741; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7743; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7745; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7747; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7749; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7751; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7753; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7755; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7757; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7759; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7761; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7763; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10461; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10462; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10465; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10466; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10469; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10470; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10473; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10474; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10477; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10478; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10481; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10482; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10485; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10486; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10489; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10490; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10493; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10494; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10497; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10498; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10501; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10502; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10505; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10506; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10509; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10510; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10513; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10514; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10517; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10518; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10521; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10522; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8826; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8827; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8828; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8829; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8830; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8831; + case RedStainedGlass::RedStainedGlass().ID: return 4095; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 6777; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 6778; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 6781; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 6782; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 6785; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 6786; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 6789; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 6790; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 6793; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 6794; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 6797; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 6798; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 6801; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 6802; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 6805; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 6806; + case RedTerracotta::RedTerracotta().ID: return 6325; + case RedTulip::RedTulip().ID: return 1416; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7673; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7674; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7675; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7676; + case RedWool::RedWool().ID: return 1397; + case RedstoneBlock::RedstoneBlock().ID: return 6190; + case RedstoneLamp::RedstoneLamp(true).ID: return 5140; + case RedstoneLamp::RedstoneLamp(false).ID: return 5141; + case RedstoneOre::RedstoneOre(true).ID: return 3883; + case RedstoneOre::RedstoneOre(false).ID: return 3884; + case RedstoneTorch::RedstoneTorch(true).ID: return 3885; + case RedstoneTorch::RedstoneTorch(false).ID: return 3886; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3887; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3888; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3889; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3890; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3891; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3892; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3893; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2056; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2057; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2058; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2059; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2060; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2061; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2062; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2063; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2064; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2065; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2066; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2067; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2068; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2069; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2070; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2071; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2072; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2073; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2074; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2075; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2076; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2077; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2078; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2079; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2080; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2081; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2082; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2083; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2084; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2085; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2086; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2087; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2088; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2089; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2090; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2091; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2092; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2093; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2094; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2095; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2096; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2097; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2098; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2099; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2100; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2101; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2102; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2103; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2104; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2105; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2106; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2107; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2108; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2109; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2110; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2111; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2112; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2113; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2114; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2115; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2116; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2117; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2118; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2119; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2120; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2121; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2122; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2123; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2124; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2125; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2126; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2127; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2128; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2129; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2130; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2131; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2132; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2133; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2134; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2135; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2136; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2137; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2138; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2139; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2140; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2141; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2142; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2143; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2144; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2145; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2146; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2147; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2148; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2149; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2150; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2151; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2152; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2153; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2154; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2155; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2156; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2157; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2158; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2159; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2160; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2161; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2162; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2163; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2164; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2165; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2166; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2167; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2168; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2169; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2170; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2171; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2172; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2173; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2174; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2175; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2176; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2177; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2178; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2179; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2180; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2181; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2182; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2183; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2184; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2185; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2186; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2187; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2188; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2189; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2190; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2191; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2192; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2193; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2194; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2195; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2196; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2197; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2198; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2199; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2200; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2201; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2202; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2203; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2204; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2205; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2206; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2207; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2208; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2209; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2210; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2211; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2212; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2213; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2214; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2215; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2216; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2217; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2218; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2219; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2220; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2221; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2222; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2223; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2224; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2225; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2226; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2227; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2228; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2229; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2230; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2231; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2232; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2233; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2234; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2235; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2236; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2237; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2238; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2239; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2240; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2241; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2242; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2243; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2244; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2245; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2246; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2247; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2248; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2249; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2250; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2251; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2252; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2253; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2254; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2255; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2256; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2257; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2258; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2259; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2260; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2261; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2262; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2263; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2264; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2265; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2266; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2267; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2268; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2269; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2270; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2271; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2272; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2273; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2274; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2275; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2276; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2277; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2278; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2279; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2280; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2281; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2282; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2283; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2284; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2285; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2286; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2287; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2288; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2289; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2290; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2291; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2292; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2293; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2294; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2295; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2296; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2297; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2298; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2299; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2300; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2301; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2302; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2303; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2304; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2305; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2306; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2307; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2308; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2309; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2310; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2311; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2312; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2313; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2314; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2315; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2316; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2317; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2318; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2319; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2320; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2321; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2322; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2323; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2324; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2325; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2326; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2327; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2328; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2329; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2330; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2331; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2332; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2333; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2334; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2335; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2336; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2337; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2338; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2339; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2340; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2341; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2342; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2343; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2344; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2345; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2346; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2347; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2348; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2349; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2350; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2351; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2352; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2353; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2354; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2355; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2356; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2357; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2358; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2359; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2360; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2361; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2362; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2363; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2364; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2365; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2366; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2367; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2368; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2369; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2370; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2371; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2372; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2373; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2374; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2375; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2376; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2377; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2378; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2379; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2380; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2381; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2382; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2383; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2384; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2385; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2386; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2387; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2388; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2389; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2390; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2391; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2392; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2393; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2394; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2395; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2396; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2397; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2398; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2399; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2400; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2401; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2402; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2403; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2404; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2405; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2406; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2407; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2408; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2409; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2410; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2411; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2412; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2413; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2414; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2415; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2416; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2417; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2418; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2419; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2420; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2421; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2422; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2423; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2424; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2425; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2426; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2427; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2428; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2429; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2430; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2431; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2432; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2433; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2434; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2435; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2436; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2437; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2438; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2439; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2440; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2441; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2442; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2443; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2444; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2445; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2446; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2447; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2448; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2449; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2450; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2451; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2452; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2453; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2454; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2455; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2456; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2457; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2458; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2459; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2460; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2461; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2462; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2463; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2464; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2465; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2466; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2467; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2468; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2469; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2470; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2471; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2472; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2473; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2474; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2475; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2476; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2477; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2478; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2479; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2480; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2481; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2482; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2483; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2484; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2485; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2486; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2487; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2488; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2489; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2490; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2491; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2492; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2493; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2494; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2495; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2496; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2497; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2498; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2499; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2500; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2501; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2502; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2503; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2504; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2505; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2506; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2507; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2508; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2509; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2510; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2511; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2512; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2513; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2514; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2515; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2516; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2517; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2518; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2519; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2520; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2521; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2522; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2523; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2524; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2525; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2526; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2527; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2528; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2529; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2530; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2531; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2532; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2533; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2534; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2535; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2536; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2537; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2538; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2539; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2540; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2541; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2542; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2543; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2544; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2545; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2546; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2547; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2548; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2549; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2550; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2551; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2552; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2553; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2554; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2555; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2556; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2557; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2558; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2559; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2560; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2561; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2562; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2563; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2564; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2565; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2566; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2567; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2568; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2569; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2570; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2571; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2572; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2573; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2574; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2575; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2576; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2577; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2578; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2579; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2580; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2581; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2582; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2583; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2584; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2585; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2586; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2587; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2588; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2589; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2590; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2591; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2592; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2593; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2594; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2595; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2596; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2597; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2598; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2599; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2600; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2601; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2602; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2603; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2604; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2605; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2606; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2607; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2608; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2609; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2610; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2611; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2612; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2613; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2614; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2615; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2616; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2617; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2618; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2619; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2620; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2621; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2622; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2623; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2624; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2625; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2626; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2627; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2628; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2629; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2630; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2631; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2632; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2633; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2634; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2635; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2636; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2637; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2638; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2639; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2640; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2641; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2642; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2643; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2644; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2645; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2646; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2647; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2648; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2649; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2650; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2651; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2652; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2653; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2654; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2655; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2656; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2657; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2658; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2659; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2660; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2661; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2662; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2663; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2664; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2665; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2666; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2667; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2668; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2669; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2670; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2671; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2672; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2673; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2674; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2675; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2676; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2677; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2678; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2679; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2680; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2681; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2682; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2683; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2684; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2685; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2686; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2687; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2688; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2689; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2690; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2691; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2692; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2693; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2694; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2695; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2696; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2697; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2698; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2699; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2700; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2701; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2702; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2703; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2704; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2705; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2706; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2707; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2708; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2709; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2710; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2711; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2712; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2713; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2714; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2715; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2716; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2717; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2718; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2719; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2720; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2721; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2722; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2723; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2724; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2725; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2726; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2727; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2728; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2729; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2730; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2731; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2732; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2733; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2734; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2735; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2736; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2737; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2738; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2739; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2740; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2741; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2742; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2743; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2744; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2745; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2746; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2747; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2748; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2749; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2750; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2751; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2752; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2753; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2754; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2755; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2756; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2757; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2758; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2759; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2760; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2761; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2762; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2763; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2764; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2765; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2766; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2767; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2768; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2769; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2770; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2771; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2772; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2773; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2774; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2775; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2776; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2777; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2778; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2779; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2780; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2781; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2782; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2783; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2784; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2785; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2786; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2787; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2788; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2789; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2790; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2791; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2792; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2793; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2794; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2795; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2796; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2797; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2798; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2799; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2800; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2801; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2802; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2803; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2804; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2805; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2806; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2807; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2808; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2809; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2810; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2811; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2812; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2813; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2814; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2815; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2816; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2817; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2818; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2819; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2820; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2821; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2822; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2823; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2824; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2825; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2826; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2827; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2828; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2829; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2830; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2831; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2832; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2833; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2834; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2835; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2836; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2837; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2838; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2839; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2840; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2841; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2842; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2843; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2844; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2845; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2846; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2847; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2848; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2849; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2850; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2851; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2852; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2853; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2854; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2855; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2856; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2857; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2858; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2859; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2860; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2861; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2862; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2863; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2864; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2865; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2866; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2867; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2868; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2869; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2870; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2871; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2872; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2873; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2874; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2875; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2876; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2877; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2878; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2879; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2880; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2881; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2882; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2883; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2884; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2885; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2886; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2887; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2888; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2889; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2890; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2891; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2892; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2893; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2895; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2896; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2897; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2898; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2899; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2900; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2901; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2902; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2903; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2904; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2905; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2906; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2907; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2908; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2909; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2910; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2911; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2912; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2913; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2914; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2915; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2916; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2917; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2918; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2919; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2920; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2921; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2922; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2923; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2924; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2925; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2926; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2927; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2928; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2929; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2930; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2931; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2932; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2933; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2934; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2935; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2936; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2937; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2938; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2939; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2940; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2941; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2942; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2943; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2944; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2945; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2946; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2947; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2948; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2949; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2950; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2951; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2952; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2953; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2954; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2955; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2956; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2957; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2958; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2959; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2960; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2961; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2962; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2963; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2964; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2965; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2966; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2967; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2968; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2969; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2970; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2971; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2972; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2973; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2974; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2975; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2976; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2977; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2978; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2979; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2980; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2981; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2982; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2983; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2984; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2985; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2986; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2987; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2988; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2989; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2990; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2991; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2992; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2993; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2994; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2995; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2996; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2997; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2998; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2999; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3000; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3001; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3002; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3003; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3004; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3005; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3006; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3007; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3008; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3009; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3010; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3011; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3012; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3013; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3014; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3015; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3016; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3017; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3018; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3019; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3020; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3021; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3022; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3023; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3024; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3025; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3026; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3027; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3028; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3029; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3030; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3031; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3032; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3033; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3034; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3035; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3036; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3037; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3038; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3039; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3040; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3041; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3042; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3043; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3044; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3045; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3046; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3047; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3048; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3049; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3050; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3051; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3052; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3053; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3054; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3055; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3056; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3057; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3058; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3059; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3060; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3061; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3062; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3063; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3064; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3065; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3066; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3067; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3068; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3069; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3070; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3071; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3072; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3073; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3074; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3075; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3076; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3077; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3078; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3079; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3080; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3081; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3082; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3083; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3084; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3085; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3086; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3087; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3088; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3089; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3090; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3091; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3092; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3093; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3094; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3095; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3096; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3097; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3098; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3099; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3100; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3101; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3102; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3103; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3104; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3105; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3106; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3107; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3108; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3109; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3110; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3111; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3112; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3113; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3114; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3115; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3116; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3117; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3118; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3119; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3120; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3121; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3122; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3123; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3124; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3125; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3126; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3127; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3128; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3129; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3130; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3131; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3132; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3133; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3134; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3135; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3136; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3137; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3138; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3139; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3140; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3141; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3142; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3143; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3144; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3145; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3146; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3147; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3148; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3149; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3150; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3151; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3152; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3153; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3154; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3155; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3156; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3157; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3158; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3159; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3160; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3161; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3162; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3163; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3164; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3165; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3166; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3167; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3168; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3169; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3170; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3171; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3172; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3173; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3174; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3175; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3176; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3177; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3178; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3179; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3180; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3181; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3182; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3183; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3184; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3185; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3186; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3187; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3188; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3189; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3190; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3191; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3192; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3193; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3194; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3195; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3196; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3197; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3198; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3199; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3200; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3201; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3202; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3203; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3204; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3205; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3206; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3207; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3208; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3209; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3210; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3211; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3212; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3213; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3214; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3215; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3216; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3217; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3218; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3219; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3220; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3221; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3222; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3223; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3224; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3225; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3226; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3227; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3228; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3229; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3230; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3231; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3232; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3233; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3234; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3235; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3236; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3237; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3238; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3239; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3240; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3241; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3242; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3243; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3244; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3245; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3246; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3247; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3248; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3249; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3250; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3251; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3252; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3253; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3254; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3255; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3256; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3257; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3258; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3259; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3260; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3261; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3262; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3263; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3264; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3265; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3266; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3267; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3268; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3269; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3270; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3271; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3272; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3273; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3274; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3275; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3276; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3277; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3278; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3279; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3280; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3281; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3282; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3283; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3284; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3285; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3286; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3287; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3288; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3289; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3290; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3291; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3292; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3293; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3294; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3295; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3296; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3297; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3298; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3299; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3300; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3301; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3302; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3303; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3304; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3305; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3306; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3307; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3308; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3309; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3310; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3311; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3312; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3313; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3314; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3315; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3316; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3317; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3318; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3319; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3320; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3321; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3322; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3323; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3324; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3325; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3326; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3327; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3328; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3329; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3330; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3331; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3332; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3333; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3334; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3335; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3336; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3337; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3338; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3339; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3340; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3341; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3342; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3343; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3344; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3345; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3346; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3347; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3348; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3349; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3350; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3351; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4017; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4018; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4019; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4020; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4021; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4022; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4023; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4024; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4025; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4026; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4027; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4028; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4029; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4030; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4031; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4032; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4033; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4034; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4035; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4036; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4037; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4038; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4039; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4040; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4041; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4042; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4043; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4044; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4045; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4046; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4047; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4048; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4049; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4050; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4051; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4052; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4053; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4054; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4055; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4056; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4057; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4058; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4059; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4060; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4061; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4062; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4063; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4064; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4065; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4066; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4067; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4068; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4069; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4070; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4071; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4072; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4073; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4074; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4075; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4076; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4077; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4078; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4079; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4080; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8689; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8690; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8691; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8692; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8693; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8694; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8695; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8696; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8697; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8698; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8699; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8700; + case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 7353; + case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 7354; + case Sand::Sand().ID: return 66; + case Sandstone::Sandstone().ID: return 245; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 7813; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 7815; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 7817; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5155; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5157; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5159; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5161; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5163; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5165; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5167; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5169; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5171; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5173; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5175; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5177; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5179; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5181; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5183; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5185; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5187; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5189; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5191; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5193; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5195; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5197; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5199; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5201; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5203; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5205; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5207; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5209; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5211; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5213; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5215; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5217; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5219; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5221; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5223; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5225; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5227; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5229; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5231; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5233; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 10909; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 10910; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 10913; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 10914; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 10917; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 10918; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 10921; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 10922; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 10925; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 10926; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 10929; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 10930; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 10933; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 10934; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 10937; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 10938; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 10941; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 10942; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 10945; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 10946; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 10949; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 10950; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 10953; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 10954; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 10957; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 10958; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 10961; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 10962; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 10965; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 10966; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 10969; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 10970; + case Scaffolding::Scaffolding(true, 0).ID: return 11100; + case Scaffolding::Scaffolding(true, 1).ID: return 11102; + case Scaffolding::Scaffolding(true, 2).ID: return 11104; + case Scaffolding::Scaffolding(true, 3).ID: return 11106; + case Scaffolding::Scaffolding(true, 4).ID: return 11108; + case Scaffolding::Scaffolding(true, 5).ID: return 11110; + case Scaffolding::Scaffolding(true, 6).ID: return 11112; + case Scaffolding::Scaffolding(true, 7).ID: return 11114; + case Scaffolding::Scaffolding(false, 0).ID: return 11116; + case Scaffolding::Scaffolding(false, 1).ID: return 11118; + case Scaffolding::Scaffolding(false, 2).ID: return 11120; + case Scaffolding::Scaffolding(false, 3).ID: return 11122; + case Scaffolding::Scaffolding(false, 4).ID: return 11124; + case Scaffolding::Scaffolding(false, 5).ID: return 11126; + case Scaffolding::Scaffolding(false, 6).ID: return 11128; + case Scaffolding::Scaffolding(false, 7).ID: return 11130; + case SeaLantern::SeaLantern().ID: return 7326; + case SeaPickle::SeaPickle(1).ID: return 9105; + case SeaPickle::SeaPickle(2).ID: return 9107; + case SeaPickle::SeaPickle(3).ID: return 9109; + case SeaPickle::SeaPickle(4).ID: return 9111; + case Seagrass::Seagrass().ID: return 1344; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8736; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8737; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8738; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8739; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8740; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8741; + case SkeletonSkull::SkeletonSkull(0).ID: return 5954; + case SkeletonSkull::SkeletonSkull(1).ID: return 5955; + case SkeletonSkull::SkeletonSkull(2).ID: return 5956; + case SkeletonSkull::SkeletonSkull(3).ID: return 5957; + case SkeletonSkull::SkeletonSkull(4).ID: return 5958; + case SkeletonSkull::SkeletonSkull(5).ID: return 5959; + case SkeletonSkull::SkeletonSkull(6).ID: return 5960; + case SkeletonSkull::SkeletonSkull(7).ID: return 5961; + case SkeletonSkull::SkeletonSkull(8).ID: return 5962; + case SkeletonSkull::SkeletonSkull(9).ID: return 5963; + case SkeletonSkull::SkeletonSkull(10).ID: return 5964; + case SkeletonSkull::SkeletonSkull(11).ID: return 5965; + case SkeletonSkull::SkeletonSkull(12).ID: return 5966; + case SkeletonSkull::SkeletonSkull(13).ID: return 5967; + case SkeletonSkull::SkeletonSkull(14).ID: return 5968; + case SkeletonSkull::SkeletonSkull(15).ID: return 5969; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5970; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5971; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5972; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5973; + case SlimeBlock::SlimeBlock().ID: return 6999; + case SmithingTable::SmithingTable().ID: return 11193; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11147; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11148; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11149; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11150; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, true).ID: return 11151; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, false).ID: return 11152; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, true).ID: return 11153; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, false).ID: return 11154; + case SmoothQuartz::SmoothQuartz().ID: return 7880; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Top).ID: return 10296; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Bottom).ID: return 10298; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Double).ID: return 10300; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9774; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9776; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9778; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9780; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9782; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9784; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9786; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9788; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9790; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9792; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9794; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9796; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9798; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9800; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9802; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9804; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9806; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9808; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9810; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9812; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9814; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9816; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9818; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9820; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9822; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9824; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9826; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9828; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9830; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9832; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9834; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9836; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9838; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9840; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9842; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9844; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9846; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9848; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9850; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9852; + case SmoothRedSandstone::SmoothRedSandstone().ID: return 7881; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Top).ID: return 10260; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Bottom).ID: return 10262; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Double).ID: return 10264; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9214; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9216; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9218; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9220; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9222; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9224; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9226; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9228; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9230; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9232; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9234; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9236; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9238; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9240; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9242; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9244; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9246; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9248; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9250; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9252; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9254; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9256; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9258; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9260; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9262; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9264; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9266; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9268; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9270; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9272; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9274; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9276; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9278; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9280; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9282; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9284; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9286; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9288; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9290; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9292; + case SmoothSandstone::SmoothSandstone().ID: return 7879; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Top).ID: return 10290; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Bottom).ID: return 10292; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Double).ID: return 10294; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9694; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9696; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9698; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9700; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9702; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9704; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9706; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9708; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9710; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9712; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9714; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9716; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9718; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9720; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9722; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9724; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9726; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9728; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9730; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9732; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9734; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9736; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9738; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9740; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9742; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9744; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9746; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9748; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9750; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9752; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9754; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9756; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9758; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9760; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9762; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9764; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9766; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9768; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9770; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9772; + case SmoothStone::SmoothStone().ID: return 7878; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Top).ID: return 7807; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Bottom).ID: return 7809; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Double).ID: return 7811; + case Snow::Snow(1).ID: return 3919; + case Snow::Snow(2).ID: return 3920; + case Snow::Snow(3).ID: return 3921; + case Snow::Snow(4).ID: return 3922; + case Snow::Snow(5).ID: return 3923; + case Snow::Snow(6).ID: return 3924; + case Snow::Snow(7).ID: return 3925; + case Snow::Snow(8).ID: return 3926; + case SnowBlock::SnowBlock().ID: return 3928; + case SoulSand::SoulSand().ID: return 3998; + case Spawner::Spawner().ID: return 1951; + case Sponge::Sponge().ID: return 228; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5834; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5835; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5836; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5837; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5838; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5839; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5840; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5841; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5842; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5843; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5844; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5845; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5846; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5847; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5848; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5849; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5850; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5851; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5852; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5853; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5854; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5855; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5856; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5857; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8202; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8203; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8204; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8205; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8206; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8207; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8208; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8209; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8210; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8211; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8212; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8213; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8214; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8215; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8216; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8217; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8218; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8219; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8220; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8221; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8222; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8223; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8224; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8225; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8226; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8227; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8228; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8229; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8230; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8231; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8232; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8233; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8234; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8235; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8236; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8237; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8238; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8239; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8240; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8241; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8242; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8243; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8244; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8245; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8246; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8247; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8248; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8249; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8250; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8251; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8252; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8253; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8254; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8255; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8256; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8257; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8258; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8259; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8260; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8261; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8262; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8263; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8264; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8265; + case SpruceFence::SpruceFence(true, true, true, true).ID: return 8044; + case SpruceFence::SpruceFence(true, true, true, false).ID: return 8045; + case SpruceFence::SpruceFence(true, true, false, true).ID: return 8048; + case SpruceFence::SpruceFence(true, true, false, false).ID: return 8049; + case SpruceFence::SpruceFence(true, false, true, true).ID: return 8052; + case SpruceFence::SpruceFence(true, false, true, false).ID: return 8053; + case SpruceFence::SpruceFence(true, false, false, true).ID: return 8056; + case SpruceFence::SpruceFence(true, false, false, false).ID: return 8057; + case SpruceFence::SpruceFence(false, true, true, true).ID: return 8060; + case SpruceFence::SpruceFence(false, true, true, false).ID: return 8061; + case SpruceFence::SpruceFence(false, true, false, true).ID: return 8064; + case SpruceFence::SpruceFence(false, true, false, false).ID: return 8065; + case SpruceFence::SpruceFence(false, false, true, true).ID: return 8068; + case SpruceFence::SpruceFence(false, false, true, false).ID: return 8069; + case SpruceFence::SpruceFence(false, false, false, true).ID: return 8072; + case SpruceFence::SpruceFence(false, false, false, false).ID: return 8073; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7882; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7883; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7884; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7885; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7886; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7887; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7888; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7889; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7890; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7891; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7892; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7893; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7894; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7895; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7896; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7897; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7898; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7899; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7900; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7901; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7902; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7903; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7904; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7905; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7906; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7907; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7908; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7909; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7910; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7911; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7912; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7913; + case SpruceLeaves::SpruceLeaves(1, true).ID: return 158; + case SpruceLeaves::SpruceLeaves(1, false).ID: return 159; + case SpruceLeaves::SpruceLeaves(2, true).ID: return 160; + case SpruceLeaves::SpruceLeaves(2, false).ID: return 161; + case SpruceLeaves::SpruceLeaves(3, true).ID: return 162; + case SpruceLeaves::SpruceLeaves(3, false).ID: return 163; + case SpruceLeaves::SpruceLeaves(4, true).ID: return 164; + case SpruceLeaves::SpruceLeaves(4, false).ID: return 165; + case SpruceLeaves::SpruceLeaves(5, true).ID: return 166; + case SpruceLeaves::SpruceLeaves(5, false).ID: return 167; + case SpruceLeaves::SpruceLeaves(6, true).ID: return 168; + case SpruceLeaves::SpruceLeaves(6, false).ID: return 169; + case SpruceLeaves::SpruceLeaves(7, true).ID: return 170; + case SpruceLeaves::SpruceLeaves(7, false).ID: return 171; + case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 75; + case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 76; + case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 77; + case SprucePlanks::SprucePlanks().ID: return 16; + case SprucePressurePlate::SprucePressurePlate(true).ID: return 3873; + case SprucePressurePlate::SprucePressurePlate(false).ID: return 3874; + case SpruceSapling::SpruceSapling(0).ID: return 23; + case SpruceSapling::SpruceSapling(1).ID: return 24; + case SpruceSign::SpruceSign(0).ID: return 3412; + case SpruceSign::SpruceSign(1).ID: return 3414; + case SpruceSign::SpruceSign(2).ID: return 3416; + case SpruceSign::SpruceSign(3).ID: return 3418; + case SpruceSign::SpruceSign(4).ID: return 3420; + case SpruceSign::SpruceSign(5).ID: return 3422; + case SpruceSign::SpruceSign(6).ID: return 3424; + case SpruceSign::SpruceSign(7).ID: return 3426; + case SpruceSign::SpruceSign(8).ID: return 3428; + case SpruceSign::SpruceSign(9).ID: return 3430; + case SpruceSign::SpruceSign(10).ID: return 3432; + case SpruceSign::SpruceSign(11).ID: return 3434; + case SpruceSign::SpruceSign(12).ID: return 3436; + case SpruceSign::SpruceSign(13).ID: return 3438; + case SpruceSign::SpruceSign(14).ID: return 3440; + case SpruceSign::SpruceSign(15).ID: return 3442; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 7771; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 7773; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 7775; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5389; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5391; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5393; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5395; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5397; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5399; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5401; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5403; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5405; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5407; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5409; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5411; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5413; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5415; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5417; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5419; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5421; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5423; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5425; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5427; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5429; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5431; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5433; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5435; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5437; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5439; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5441; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5443; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5445; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5447; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5449; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5451; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5453; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5455; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5457; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5459; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5461; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5463; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5465; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5467; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: + return 4162; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: + return 4164; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: + return 4166; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: + return 4168; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4170; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4172; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4174; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4176; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: + return 4178; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: + return 4180; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: + return 4182; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: + return 4184; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4186; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4188; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4190; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4192; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: + return 4194; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: + return 4196; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: + return 4198; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: + return 4200; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4202; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4204; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4206; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4208; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: + return 4210; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: + return 4212; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: + return 4214; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: + return 4216; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4218; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4220; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4222; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4224; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3742; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3744; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3746; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3748; + case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 111; + case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 112; + case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 113; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1328; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1329; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1330; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1331; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1332; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1333; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1334; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1335; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1336; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1337; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1338; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1339; + case Stone::Stone().ID: return 1; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 7843; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 7845; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 7847; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4917; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4919; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4921; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4923; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4925; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4927; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4929; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4931; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4933; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4935; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4937; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4939; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4941; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4943; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4945; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4947; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4949; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4951; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4953; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4955; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4957; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4959; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4961; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4963; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4965; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4967; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4969; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4971; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4973; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4975; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4977; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4979; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4981; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4983; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4985; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4987; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4989; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4991; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4993; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4995; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10653; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 10654; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10657; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 10658; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10661; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 10662; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10665; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 10666; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10669; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 10670; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10673; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 10674; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10677; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 10678; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10681; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 10682; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10685; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 10686; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10689; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 10690; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10693; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 10694; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10697; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 10698; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10701; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 10702; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10705; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 10706; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10709; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 10710; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10713; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 10714; + case StoneBricks::StoneBricks().ID: return 4481; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3895; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3896; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3897; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3898; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3899; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3900; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3901; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3902; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3903; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3904; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3905; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3906; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3907; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3908; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3909; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3910; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3911; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3912; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3913; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3914; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3915; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3916; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3917; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3918; + case StonePressurePlate::StonePressurePlate(true).ID: return 3805; + case StonePressurePlate::StonePressurePlate(false).ID: return 3806; + case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 7801; + case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 7803; + case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 7805; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 9614; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 9616; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 9618; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 9620; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 9622; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 9624; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 9626; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 9628; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 9630; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 9632; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 9634; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 9636; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 9638; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 9640; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 9642; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 9644; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 9646; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 9648; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 9650; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 9652; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 9654; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 9656; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 9658; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 9660; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 9662; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 9664; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 9666; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 9668; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 9670; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 9672; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 9674; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 9676; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 9678; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 9680; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 9682; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 9684; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 9686; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 9688; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 9690; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 9692; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZM).ID: return 11194; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZP).ID: return 11195; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XM).ID: return 11196; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XP).ID: return 11197; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 99; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 100; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 101; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 138; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 139; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 140; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 93; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 94; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 95; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 132; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 133; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 134; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 102; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 103; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 104; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 141; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 142; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 143; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 96; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 97; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 98; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 135; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 136; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 137; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 105; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 106; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 107; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 126; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 127; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 128; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 90; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 91; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 92; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 129; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 130; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 131; + case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 11252; + case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 11253; + case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 11254; + case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 11255; + case StructureVoid::StructureVoid().ID: return 8723; + case SugarCane::SugarCane(0).ID: return 3946; + case SugarCane::SugarCane(1).ID: return 3947; + case SugarCane::SugarCane(2).ID: return 3948; + case SugarCane::SugarCane(3).ID: return 3949; + case SugarCane::SugarCane(4).ID: return 3950; + case SugarCane::SugarCane(5).ID: return 3951; + case SugarCane::SugarCane(6).ID: return 3952; + case SugarCane::SugarCane(7).ID: return 3953; + case SugarCane::SugarCane(8).ID: return 3954; + case SugarCane::SugarCane(9).ID: return 3955; + case SugarCane::SugarCane(10).ID: return 3956; + case SugarCane::SugarCane(11).ID: return 3957; + case SugarCane::SugarCane(12).ID: return 3958; + case SugarCane::SugarCane(13).ID: return 3959; + case SugarCane::SugarCane(14).ID: return 3960; + case SugarCane::SugarCane(15).ID: return 3961; + case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 7349; + case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 7350; + case SweetBerryBush::SweetBerryBush(0).ID: return 11248; + case SweetBerryBush::SweetBerryBush(1).ID: return 11249; + case SweetBerryBush::SweetBerryBush(2).ID: return 11250; + case SweetBerryBush::SweetBerryBush(3).ID: return 11251; + case TNT::TNT(true).ID: return 1429; + case TNT::TNT(false).ID: return 1430; + case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 7357; + case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 7358; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1345; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1346; + case Terracotta::Terracotta().ID: return 7346; + case Torch::Torch().ID: return 1434; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 6087; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 6089; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 6091; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 6093; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 6095; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 6097; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 6099; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 6101; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 6103; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 6105; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 6107; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 6109; + case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 5259; + case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 5260; + case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 5261; + case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 5262; + case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 5263; + case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 5264; + case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 5265; + case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 5266; + case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 5267; + case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 5268; + case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 5269; + case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 5270; + case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 5271; + case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 5272; + case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 5273; + case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 5274; + case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 5275; + case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 5276; + case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 5277; + case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 5278; + case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 5279; + case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 5280; + case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 5281; + case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 5282; + case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 5283; + case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 5284; + case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 5285; + case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 5286; + case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 5287; + case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 5288; + case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 5289; + case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 5290; + case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 5291; + case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 5292; + case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 5293; + case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 5294; + case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 5295; + case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 5296; + case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 5297; + case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 5298; + case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 5299; + case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 5300; + case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 5301; + case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 5302; + case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 5303; + case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 5304; + case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 5305; + case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 5306; + case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 5307; + case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 5308; + case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 5309; + case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 5310; + case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 5311; + case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 5312; + case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 5313; + case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 5314; + case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 5315; + case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 5316; + case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 5317; + case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 5318; + case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 5319; + case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 5320; + case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 5321; + case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 5322; + case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 5323; + case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 5324; + case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 5325; + case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 5326; + case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 5327; + case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 5328; + case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 5329; + case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 5330; + case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 5331; + case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 5332; + case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 5333; + case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 5334; + case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 5335; + case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 5336; + case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 5337; + case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 5338; + case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 5339; + case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 5340; + case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 5341; + case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 5342; + case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 5343; + case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 5344; + case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 5345; + case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 5346; + case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 5347; + case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 5348; + case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 5349; + case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 5350; + case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 5351; + case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 5352; + case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 5353; + case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 5354; + case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 5355; + case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 5356; + case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 5357; + case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 5358; + case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 5359; + case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 5360; + case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 5361; + case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 5362; + case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 5363; + case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 5364; + case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 5365; + case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 5366; + case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 5367; + case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 5368; + case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 5369; + case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 5370; + case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 5371; + case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 5372; + case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 5373; + case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 5374; + case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 5375; + case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 5376; + case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 5377; + case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 5378; + case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 5379; + case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 5380; + case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 5381; + case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 5382; + case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 5383; + case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 5384; + case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 5385; + case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 5386; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5243; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5244; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5245; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5246; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 5247; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 5248; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 5249; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 5250; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5251; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5252; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5253; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5254; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 5255; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 5256; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 5257; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 5258; + case TubeCoral::TubeCoral().ID: return 8995; + case TubeCoralBlock::TubeCoralBlock().ID: return 8979; + case TubeCoralFan::TubeCoralFan().ID: return 9015; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9065; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9067; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9069; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9071; + case TurtleEgg::TurtleEgg(1, 0).ID: return 8962; + case TurtleEgg::TurtleEgg(1, 1).ID: return 8963; + case TurtleEgg::TurtleEgg(1, 2).ID: return 8964; + case TurtleEgg::TurtleEgg(2, 0).ID: return 8965; + case TurtleEgg::TurtleEgg(2, 1).ID: return 8966; + case TurtleEgg::TurtleEgg(2, 2).ID: return 8967; + case TurtleEgg::TurtleEgg(3, 0).ID: return 8968; + case TurtleEgg::TurtleEgg(3, 1).ID: return 8969; + case TurtleEgg::TurtleEgg(3, 2).ID: return 8970; + case TurtleEgg::TurtleEgg(4, 0).ID: return 8971; + case TurtleEgg::TurtleEgg(4, 1).ID: return 8972; + case TurtleEgg::TurtleEgg(4, 2).ID: return 8973; + case Vine::Vine(true, true, true, true, true).ID: return 4772; + case Vine::Vine(true, true, true, true, false).ID: return 4773; + case Vine::Vine(true, true, true, false, true).ID: return 4774; + case Vine::Vine(true, true, true, false, false).ID: return 4775; + case Vine::Vine(true, true, false, true, true).ID: return 4776; + case Vine::Vine(true, true, false, true, false).ID: return 4777; + case Vine::Vine(true, true, false, false, true).ID: return 4778; + case Vine::Vine(true, true, false, false, false).ID: return 4779; + case Vine::Vine(true, false, true, true, true).ID: return 4780; + case Vine::Vine(true, false, true, true, false).ID: return 4781; + case Vine::Vine(true, false, true, false, true).ID: return 4782; + case Vine::Vine(true, false, true, false, false).ID: return 4783; + case Vine::Vine(true, false, false, true, true).ID: return 4784; + case Vine::Vine(true, false, false, true, false).ID: return 4785; + case Vine::Vine(true, false, false, false, true).ID: return 4786; + case Vine::Vine(true, false, false, false, false).ID: return 4787; + case Vine::Vine(false, true, true, true, true).ID: return 4788; + case Vine::Vine(false, true, true, true, false).ID: return 4789; + case Vine::Vine(false, true, true, false, true).ID: return 4790; + case Vine::Vine(false, true, true, false, false).ID: return 4791; + case Vine::Vine(false, true, false, true, true).ID: return 4792; + case Vine::Vine(false, true, false, true, false).ID: return 4793; + case Vine::Vine(false, true, false, false, true).ID: return 4794; + case Vine::Vine(false, true, false, false, false).ID: return 4795; + case Vine::Vine(false, false, true, true, true).ID: return 4796; + case Vine::Vine(false, false, true, true, false).ID: return 4797; + case Vine::Vine(false, false, true, false, true).ID: return 4798; + case Vine::Vine(false, false, true, false, false).ID: return 4799; + case Vine::Vine(false, false, false, true, true).ID: return 4800; + case Vine::Vine(false, false, false, true, false).ID: return 4801; + case Vine::Vine(false, false, false, false, true).ID: return 4802; + case Vine::Vine(false, false, false, false, false).ID: return 4803; + case VoidAir::VoidAir().ID: return 9129; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1435; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1436; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1437; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1438; + case Water::Water(0).ID: return 34; + case Water::Water(1).ID: return 35; + case Water::Water(2).ID: return 36; + case Water::Water(3).ID: return 37; + case Water::Water(4).ID: return 38; + case Water::Water(5).ID: return 39; + case Water::Water(6).ID: return 40; + case Water::Water(7).ID: return 41; + case Water::Water(8).ID: return 42; + case Water::Water(9).ID: return 43; + case Water::Water(10).ID: return 44; + case Water::Water(11).ID: return 45; + case Water::Water(12).ID: return 46; + case Water::Water(13).ID: return 47; + case Water::Water(14).ID: return 48; + case Water::Water(15).ID: return 49; + case WetSponge::WetSponge().ID: return 229; + case Wheat::Wheat(0).ID: return 3355; + case Wheat::Wheat(1).ID: return 3356; + case Wheat::Wheat(2).ID: return 3357; + case Wheat::Wheat(3).ID: return 3358; + case Wheat::Wheat(4).ID: return 3359; + case Wheat::Wheat(5).ID: return 3360; + case Wheat::Wheat(6).ID: return 3361; + case Wheat::Wheat(7).ID: return 3362; + case WhiteBanner::WhiteBanner(0).ID: return 7361; + case WhiteBanner::WhiteBanner(1).ID: return 7362; + case WhiteBanner::WhiteBanner(2).ID: return 7363; + case WhiteBanner::WhiteBanner(3).ID: return 7364; + case WhiteBanner::WhiteBanner(4).ID: return 7365; + case WhiteBanner::WhiteBanner(5).ID: return 7366; + case WhiteBanner::WhiteBanner(6).ID: return 7367; + case WhiteBanner::WhiteBanner(7).ID: return 7368; + case WhiteBanner::WhiteBanner(8).ID: return 7369; + case WhiteBanner::WhiteBanner(9).ID: return 7370; + case WhiteBanner::WhiteBanner(10).ID: return 7371; + case WhiteBanner::WhiteBanner(11).ID: return 7372; + case WhiteBanner::WhiteBanner(12).ID: return 7373; + case WhiteBanner::WhiteBanner(13).ID: return 7374; + case WhiteBanner::WhiteBanner(14).ID: return 7375; + case WhiteBanner::WhiteBanner(15).ID: return 7376; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 1048; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 1049; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 1050; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 1051; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 1052; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 1053; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 1054; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 1055; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 1056; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 1057; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 1058; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 1059; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 1060; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 1061; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 1062; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 1063; + case WhiteCarpet::WhiteCarpet().ID: return 7330; + case WhiteConcrete::WhiteConcrete().ID: return 8902; + case WhiteConcretePowder::WhiteConcretePowder().ID: return 8918; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8838; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8839; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8840; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8841; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8742; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8743; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8744; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8745; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8746; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8747; + case WhiteStainedGlass::WhiteStainedGlass().ID: return 4081; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 6329; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 6330; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 6333; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 6334; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 6337; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 6338; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 6341; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 6342; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 6345; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 6346; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 6349; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 6350; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 6353; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 6354; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 6357; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 6358; + case WhiteTerracotta::WhiteTerracotta().ID: return 6311; + case WhiteTulip::WhiteTulip().ID: return 1418; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7617; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7618; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7619; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7620; + case WhiteWool::WhiteWool().ID: return 1383; + case WitherRose::WitherRose().ID: return 1422; + case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 5974; + case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 5975; + case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 5976; + case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 5977; + case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 5978; + case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 5979; + case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 5980; + case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 5981; + case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 5982; + case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 5983; + case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 5984; + case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 5985; + case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 5986; + case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 5987; + case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 5988; + case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 5989; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5990; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5991; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5992; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5993; + case YellowBanner::YellowBanner(0).ID: return 7425; + case YellowBanner::YellowBanner(1).ID: return 7426; + case YellowBanner::YellowBanner(2).ID: return 7427; + case YellowBanner::YellowBanner(3).ID: return 7428; + case YellowBanner::YellowBanner(4).ID: return 7429; + case YellowBanner::YellowBanner(5).ID: return 7430; + case YellowBanner::YellowBanner(6).ID: return 7431; + case YellowBanner::YellowBanner(7).ID: return 7432; + case YellowBanner::YellowBanner(8).ID: return 7433; + case YellowBanner::YellowBanner(9).ID: return 7434; + case YellowBanner::YellowBanner(10).ID: return 7435; + case YellowBanner::YellowBanner(11).ID: return 7436; + case YellowBanner::YellowBanner(12).ID: return 7437; + case YellowBanner::YellowBanner(13).ID: return 7438; + case YellowBanner::YellowBanner(14).ID: return 7439; + case YellowBanner::YellowBanner(15).ID: return 7440; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 1112; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 1113; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 1114; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 1115; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 1116; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 1117; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 1118; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 1119; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 1120; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 1121; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 1122; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 1123; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 1124; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 1125; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 1126; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 1127; + case YellowCarpet::YellowCarpet().ID: return 7334; + case YellowConcrete::YellowConcrete().ID: return 8906; + case YellowConcretePowder::YellowConcretePowder().ID: return 8922; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8854; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8855; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8856; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8857; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8766; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8767; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8768; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8769; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8770; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8771; + case YellowStainedGlass::YellowStainedGlass().ID: return 4085; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 6457; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 6458; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 6461; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 6462; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 6465; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 6466; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 6469; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 6470; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 6473; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 6474; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 6477; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 6478; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 6481; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 6482; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 6485; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 6486; + case YellowTerracotta::YellowTerracotta().ID: return 6315; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7633; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7634; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7635; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7636; + case YellowWool::YellowWool().ID: return 1387; + case ZombieHead::ZombieHead(0).ID: return 5994; + case ZombieHead::ZombieHead(1).ID: return 5995; + case ZombieHead::ZombieHead(2).ID: return 5996; + case ZombieHead::ZombieHead(3).ID: return 5997; + case ZombieHead::ZombieHead(4).ID: return 5998; + case ZombieHead::ZombieHead(5).ID: return 5999; + case ZombieHead::ZombieHead(6).ID: return 6000; + case ZombieHead::ZombieHead(7).ID: return 6001; + case ZombieHead::ZombieHead(8).ID: return 6002; + case ZombieHead::ZombieHead(9).ID: return 6003; + case ZombieHead::ZombieHead(10).ID: return 6004; + case ZombieHead::ZombieHead(11).ID: return 6005; + case ZombieHead::ZombieHead(12).ID: return 6006; + case ZombieHead::ZombieHead(13).ID: return 6007; + case ZombieHead::ZombieHead(14).ID: return 6008; + case ZombieHead::ZombieHead(15).ID: return 6009; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6010; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6011; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6012; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6013; + default: return 0; } +} - UInt32 From(const Item ID) +UInt32 From(const Item ID) +{ + switch (ID) { - switch (ID) - { - case Item::AcaciaBoat: return 833; - case Item::AcaciaButton: return 263; - case Item::AcaciaDoor: return 511; - case Item::AcaciaFence: return 185; - case Item::AcaciaFenceGate: return 220; - case Item::AcaciaLeaves: return 60; - case Item::AcaciaLog: return 36; - case Item::AcaciaPlanks: return 17; - case Item::AcaciaPressurePlate: return 170; - case Item::AcaciaSapling: return 23; - case Item::AcaciaSign: return 593; - case Item::AcaciaSlab: return 119; - case Item::AcaciaStairs: return 319; - case Item::AcaciaTrapdoor: return 197; - case Item::AcaciaWood: return 54; - case Item::ActivatorRail: return 279; - case Item::Air: return -0; - case Item::Allium: return 101; - case Item::Andesite: return 6; - case Item::AndesiteSlab: return 501; - case Item::AndesiteStairs: return 488; - case Item::AndesiteWall: return 254; - case Item::Anvil: return 265; - case Item::Apple: return 524; - case Item::ArmorStand: return 791; - case Item::Arrow: return 526; - case Item::AzureBluet: return 102; - case Item::BakedPotato: return 764; - case Item::Bamboo: return 614; - case Item::Barrel: return 864; - case Item::Barrier: return 297; - case Item::BatSpawnEgg: return 697; - case Item::Beacon: return 244; - case Item::Bedrock: return 25; - case Item::Beef: return 677; - case Item::Beetroot: return 820; - case Item::BeetrootSeeds: return 821; - case Item::BeetrootSoup: return 822; - case Item::Bell: return 873; - case Item::BirchBoat: return 831; - case Item::BirchButton: return 261; - case Item::BirchDoor: return 509; - case Item::BirchFence: return 183; - case Item::BirchFenceGate: return 218; - case Item::BirchLeaves: return 58; - case Item::BirchLog: return 34; - case Item::BirchPlanks: return 15; - case Item::BirchPressurePlate: return 168; - case Item::BirchSapling: return 21; - case Item::BirchSign: return 591; - case Item::BirchSlab: return 117; - case Item::BirchStairs: return 241; - case Item::BirchTrapdoor: return 195; - case Item::BirchWood: return 52; - case Item::BlackBanner: return 816; - case Item::BlackBed: return 669; - case Item::BlackCarpet: return 315; - case Item::BlackConcrete: return 428; - case Item::BlackConcretePowder: return 444; - case Item::BlackDye: return 649; - case Item::BlackGlazedTerracotta: return 412; - case Item::BlackShulkerBox: return 396; - case Item::BlackStainedGlass: return 344; - case Item::BlackStainedGlassPane: return 360; - case Item::BlackTerracotta: return 296; - case Item::BlackWool: return 97; - case Item::BlastFurnace: return 866; - case Item::BlazePowder: return 691; - case Item::BlazeRod: return 683; - case Item::BlazeSpawnEgg: return 698; - case Item::BlueBanner: return 812; - case Item::BlueBed: return 665; - case Item::BlueCarpet: return 311; - case Item::BlueConcrete: return 424; - case Item::BlueConcretePowder: return 440; - case Item::BlueDye: return 647; - case Item::BlueGlazedTerracotta: return 408; - case Item::BlueIce: return 476; - case Item::BlueOrchid: return 100; - case Item::BlueShulkerBox: return 392; - case Item::BlueStainedGlass: return 340; - case Item::BlueStainedGlassPane: return 356; - case Item::BlueTerracotta: return 292; - case Item::BlueWool: return 93; - case Item::Bone: return 651; - case Item::BoneBlock: return 377; - case Item::BoneMeal: return 646; - case Item::Book: return 616; - case Item::Bookshelf: return 143; - case Item::Bow: return 525; - case Item::Bowl: return 546; - case Item::BrainCoral: return 457; - case Item::BrainCoralBlock: return 452; - case Item::BrainCoralFan: return 467; - case Item::Bread: return 562; - case Item::BrewingStand: return 693; - case Item::Brick: return 609; - case Item::BrickSlab: return 127; - case Item::BrickStairs: return 222; - case Item::BrickWall: return 247; - case Item::Bricks: return 141; - case Item::BrownBanner: return 813; - case Item::BrownBed: return 666; - case Item::BrownCarpet: return 312; - case Item::BrownConcrete: return 425; - case Item::BrownConcretePowder: return 441; - case Item::BrownDye: return 648; - case Item::BrownGlazedTerracotta: return 409; - case Item::BrownMushroom: return 111; - case Item::BrownMushroomBlock: return 209; - case Item::BrownShulkerBox: return 393; - case Item::BrownStainedGlass: return 341; - case Item::BrownStainedGlassPane: return 357; - case Item::BrownTerracotta: return 293; - case Item::BrownWool: return 94; - case Item::BubbleCoral: return 458; - case Item::BubbleCoralBlock: return 453; - case Item::BubbleCoralFan: return 468; - case Item::Bucket: return 595; - case Item::Cactus: return 178; - case Item::Cake: return 653; - case Item::Campfire: return 876; - case Item::Carrot: return 762; - case Item::CarrotOnAStick: return 774; - case Item::CartographyTable: return 867; - case Item::CarvedPumpkin: return 188; - case Item::CatSpawnEgg: return 699; - case Item::Cauldron: return 694; - case Item::CaveSpiderSpawnEgg: return 700; - case Item::ChainCommandBlock: return 373; - case Item::ChainmailBoots: return 570; - case Item::ChainmailChestplate: return 568; - case Item::ChainmailHelmet: return 567; - case Item::ChainmailLeggings: return 569; - case Item::Charcoal: return 528; - case Item::Chest: return 155; - case Item::ChestMinecart: return 618; - case Item::Chicken: return 679; - case Item::ChickenSpawnEgg: return 701; - case Item::ChippedAnvil: return 266; - case Item::ChiseledQuartzBlock: return 275; - case Item::ChiseledRedSandstone: return 369; - case Item::ChiseledSandstone: return 69; - case Item::ChiseledStoneBricks: return 208; - case Item::ChorusFlower: return 149; - case Item::ChorusFruit: return 818; - case Item::ChorusPlant: return 148; - case Item::Clay: return 179; - case Item::ClayBall: return 610; - case Item::Clock: return 623; - case Item::Coal: return 527; - case Item::CoalBlock: return 317; - case Item::CoalOre: return 31; - case Item::CoarseDirt: return 10; - case Item::Cobblestone: return 12; - case Item::CobblestoneSlab: return 126; - case Item::CobblestoneStairs: return 163; - case Item::CobblestoneWall: return 245; - case Item::Cobweb: return 75; - case Item::CocoaBeans: return 634; - case Item::Cod: return 625; - case Item::CodBucket: return 607; - case Item::CodSpawnEgg: return 702; - case Item::CommandBlock: return 243; - case Item::CommandBlockMinecart: return 798; - case Item::Comparator: return 514; - case Item::Compass: return 621; - case Item::Composter: return 517; - case Item::Conduit: return 477; - case Item::CookedBeef: return 678; - case Item::CookedChicken: return 680; - case Item::CookedCod: return 629; - case Item::CookedMutton: return 800; - case Item::CookedPorkchop: return 585; - case Item::CookedRabbit: return 787; - case Item::CookedSalmon: return 630; - case Item::Cookie: return 670; - case Item::Cornflower: return 108; - case Item::CowSpawnEgg: return 703; - case Item::CrackedStoneBricks: return 207; - case Item::CraftingTable: return 158; - case Item::CreeperBannerPattern: return 860; - case Item::CreeperHead: return 772; - case Item::CreeperSpawnEgg: return 704; - case Item::Crossbow: return 856; - case Item::CutRedSandstone: return 370; - case Item::CutRedSandstoneSlab: return 132; - case Item::CutSandstone: return 70; - case Item::CutSandstoneSlab: return 124; - case Item::CyanBanner: return 810; - case Item::CyanBed: return 663; - case Item::CyanCarpet: return 309; - case Item::CyanConcrete: return 422; - case Item::CyanConcretePowder: return 438; - case Item::CyanDye: return 637; - case Item::CyanGlazedTerracotta: return 406; - case Item::CyanShulkerBox: return 390; - case Item::CyanStainedGlass: return 338; - case Item::CyanStainedGlassPane: return 354; - case Item::CyanTerracotta: return 290; - case Item::CyanWool: return 91; - case Item::DamagedAnvil: return 267; - case Item::Dandelion: return 98; - case Item::DarkOakBoat: return 834; - case Item::DarkOakButton: return 264; - case Item::DarkOakDoor: return 512; - case Item::DarkOakFence: return 186; - case Item::DarkOakFenceGate: return 221; - case Item::DarkOakLeaves: return 61; - case Item::DarkOakLog: return 37; - case Item::DarkOakPlanks: return 18; - case Item::DarkOakPressurePlate: return 171; - case Item::DarkOakSapling: return 24; - case Item::DarkOakSign: return 594; - case Item::DarkOakSlab: return 120; - case Item::DarkOakStairs: return 320; - case Item::DarkOakTrapdoor: return 198; - case Item::DarkOakWood: return 55; - case Item::DarkPrismarine: return 363; - case Item::DarkPrismarineSlab: return 136; - case Item::DarkPrismarineStairs: return 366; - case Item::DaylightDetector: return 271; - case Item::DeadBrainCoral: return 461; - case Item::DeadBrainCoralBlock: return 447; - case Item::DeadBrainCoralFan: return 472; - case Item::DeadBubbleCoral: return 462; - case Item::DeadBubbleCoralBlock: return 448; - case Item::DeadBubbleCoralFan: return 473; - case Item::DeadBush: return 78; - case Item::DeadFireCoral: return 463; - case Item::DeadFireCoralBlock: return 449; - case Item::DeadFireCoralFan: return 474; - case Item::DeadHornCoral: return 464; - case Item::DeadHornCoralBlock: return 450; - case Item::DeadHornCoralFan: return 475; - case Item::DeadTubeCoral: return 465; - case Item::DeadTubeCoralBlock: return 446; - case Item::DeadTubeCoralFan: return 471; - case Item::DebugStick: return 839; - case Item::DetectorRail: return 73; - case Item::Diamond: return 529; - case Item::DiamondAxe: return 544; - case Item::DiamondBlock: return 157; - case Item::DiamondBoots: return 578; - case Item::DiamondChestplate: return 576; - case Item::DiamondHelmet: return 575; - case Item::DiamondHoe: return 558; - case Item::DiamondHorseArmor: return 794; - case Item::DiamondLeggings: return 577; - case Item::DiamondOre: return 156; - case Item::DiamondPickaxe: return 543; - case Item::DiamondShovel: return 542; - case Item::DiamondSword: return 541; - case Item::Diorite: return 4; - case Item::DioriteSlab: return 504; - case Item::DioriteStairs: return 491; - case Item::DioriteWall: return 258; - case Item::Dirt: return 9; - case Item::Dispenser: return 67; - case Item::DolphinSpawnEgg: return 705; - case Item::DonkeySpawnEgg: return 706; - case Item::DragonBreath: return 823; - case Item::DragonEgg: return 233; - case Item::DragonHead: return 773; - case Item::DriedKelp: return 674; - case Item::DriedKelpBlock: return 613; - case Item::Dropper: return 280; - case Item::DrownedSpawnEgg: return 707; - case Item::Egg: return 620; - case Item::ElderGuardianSpawnEgg: return 708; - case Item::Elytra: return 829; - case Item::Emerald: return 759; - case Item::EmeraldBlock: return 239; - case Item::EmeraldOre: return 236; - case Item::EnchantedBook: return 779; - case Item::EnchantedGoldenApple: return 588; - case Item::EnchantingTable: return 229; - case Item::EndCrystal: return 817; - case Item::EndPortalFrame: return 230; - case Item::EndRod: return 147; - case Item::EndStone: return 231; - case Item::EndStoneBrickSlab: return 497; - case Item::EndStoneBrickStairs: return 483; - case Item::EndStoneBrickWall: return 257; - case Item::EndStoneBricks: return 232; - case Item::EnderChest: return 237; - case Item::EnderEye: return 695; - case Item::EnderPearl: return 682; - case Item::EndermanSpawnEgg: return 709; - case Item::EndermiteSpawnEgg: return 710; - case Item::EvokerSpawnEgg: return 711; - case Item::ExperienceBottle: return 755; - case Item::Farmland: return 159; - case Item::Feather: return 553; - case Item::FermentedSpiderEye: return 690; - case Item::Fern: return 77; - case Item::FilledMap: return 671; - case Item::FireCharge: return 756; - case Item::FireCoral: return 459; - case Item::FireCoralBlock: return 454; - case Item::FireCoralFan: return 469; - case Item::FireworkRocket: return 777; - case Item::FireworkStar: return 778; - case Item::FishingRod: return 622; - case Item::FletchingTable: return 868; - case Item::Flint: return 583; - case Item::FlintAndSteel: return 523; - case Item::FlowerBannerPattern: return 859; - case Item::FlowerPot: return 761; - case Item::FoxSpawnEgg: return 712; - case Item::Furnace: return 160; - case Item::FurnaceMinecart: return 619; - case Item::GhastSpawnEgg: return 713; - case Item::GhastTear: return 684; - case Item::Glass: return 64; - case Item::GlassBottle: return 688; - case Item::GlassPane: return 213; - case Item::GlisteringMelonSlice: return 696; - case Item::GlobeBannerPattern: return 863; - case Item::Glowstone: return 191; - case Item::GlowstoneDust: return 624; - case Item::GoldBlock: return 113; - case Item::GoldIngot: return 531; - case Item::GoldNugget: return 685; - case Item::GoldOre: return 29; - case Item::GoldenApple: return 587; - case Item::GoldenAxe: return 551; - case Item::GoldenBoots: return 582; - case Item::GoldenCarrot: return 767; - case Item::GoldenChestplate: return 580; - case Item::GoldenHelmet: return 579; - case Item::GoldenHoe: return 559; - case Item::GoldenHorseArmor: return 793; - case Item::GoldenLeggings: return 581; - case Item::GoldenPickaxe: return 550; - case Item::GoldenShovel: return 549; - case Item::GoldenSword: return 548; - case Item::Granite: return 2; - case Item::GraniteSlab: return 500; - case Item::GraniteStairs: return 487; - case Item::GraniteWall: return 251; - case Item::Grass: return 76; - case Item::GrassBlock: return 8; - case Item::GrassPath: return 322; - case Item::Gravel: return 28; - case Item::GrayBanner: return 808; - case Item::GrayBed: return 661; - case Item::GrayCarpet: return 307; - case Item::GrayConcrete: return 420; - case Item::GrayConcretePowder: return 436; - case Item::GrayDye: return 639; - case Item::GrayGlazedTerracotta: return 404; - case Item::GrayShulkerBox: return 388; - case Item::GrayStainedGlass: return 336; - case Item::GrayStainedGlassPane: return 352; - case Item::GrayTerracotta: return 288; - case Item::GrayWool: return 89; - case Item::GreenBanner: return 814; - case Item::GreenBed: return 667; - case Item::GreenCarpet: return 313; - case Item::GreenConcrete: return 426; - case Item::GreenConcretePowder: return 442; - case Item::GreenDye: return 633; - case Item::GreenGlazedTerracotta: return 410; - case Item::GreenShulkerBox: return 394; - case Item::GreenStainedGlass: return 342; - case Item::GreenStainedGlassPane: return 358; - case Item::GreenTerracotta: return 294; - case Item::GreenWool: return 95; - case Item::Grindstone: return 869; - case Item::GuardianSpawnEgg: return 714; - case Item::Gunpowder: return 554; - case Item::HayBale: return 299; - case Item::HeartOfTheSea: return 855; - case Item::HeavyWeightedPressurePlate: return 270; - case Item::Hopper: return 274; - case Item::HopperMinecart: return 783; - case Item::HornCoral: return 460; - case Item::HornCoralBlock: return 455; - case Item::HornCoralFan: return 470; - case Item::HorseSpawnEgg: return 715; - case Item::HuskSpawnEgg: return 716; - case Item::Ice: return 176; - case Item::InfestedChiseledStoneBricks: return 204; - case Item::InfestedCobblestone: return 200; - case Item::InfestedCrackedStoneBricks: return 203; - case Item::InfestedMossyStoneBricks: return 202; - case Item::InfestedStone: return 199; - case Item::InfestedStoneBricks: return 201; - case Item::InkSac: return 631; - case Item::IronAxe: return 522; - case Item::IronBars: return 212; - case Item::IronBlock: return 114; - case Item::IronBoots: return 574; - case Item::IronChestplate: return 572; - case Item::IronDoor: return 506; - case Item::IronHelmet: return 571; - case Item::IronHoe: return 557; - case Item::IronHorseArmor: return 792; - case Item::IronIngot: return 530; - case Item::IronLeggings: return 573; - case Item::IronNugget: return 837; - case Item::IronOre: return 30; - case Item::IronPickaxe: return 521; - case Item::IronShovel: return 520; - case Item::IronSword: return 532; - case Item::IronTrapdoor: return 298; - case Item::ItemFrame: return 760; - case Item::JackOLantern: return 192; - case Item::Jigsaw: return 516; - case Item::Jukebox: return 180; - case Item::JungleBoat: return 832; - case Item::JungleButton: return 262; - case Item::JungleDoor: return 510; - case Item::JungleFence: return 184; - case Item::JungleFenceGate: return 219; - case Item::JungleLeaves: return 59; - case Item::JungleLog: return 35; - case Item::JunglePlanks: return 16; - case Item::JunglePressurePlate: return 169; - case Item::JungleSapling: return 22; - case Item::JungleSign: return 592; - case Item::JungleSlab: return 118; - case Item::JungleStairs: return 242; - case Item::JungleTrapdoor: return 196; - case Item::JungleWood: return 53; - case Item::Kelp: return 612; - case Item::KnowledgeBook: return 838; - case Item::Ladder: return 161; - case Item::Lantern: return 874; - case Item::LapisBlock: return 66; - case Item::LapisLazuli: return 635; - case Item::LapisOre: return 65; - case Item::LargeFern: return 328; - case Item::LavaBucket: return 597; - case Item::Lead: return 796; - case Item::Leather: return 603; - case Item::LeatherBoots: return 566; - case Item::LeatherChestplate: return 564; - case Item::LeatherHelmet: return 563; - case Item::LeatherHorseArmor: return 795; - case Item::LeatherLeggings: return 565; - case Item::Lectern: return 870; - case Item::Lever: return 164; - case Item::LightBlueBanner: return 804; - case Item::LightBlueBed: return 657; - case Item::LightBlueCarpet: return 303; - case Item::LightBlueConcrete: return 416; - case Item::LightBlueConcretePowder: return 432; - case Item::LightBlueDye: return 643; - case Item::LightBlueGlazedTerracotta: return 400; - case Item::LightBlueShulkerBox: return 384; - case Item::LightBlueStainedGlass: return 332; - case Item::LightBlueStainedGlassPane: return 348; - case Item::LightBlueTerracotta: return 284; - case Item::LightBlueWool: return 85; - case Item::LightGrayBanner: return 809; - case Item::LightGrayBed: return 662; - case Item::LightGrayCarpet: return 308; - case Item::LightGrayConcrete: return 421; - case Item::LightGrayConcretePowder: return 437; - case Item::LightGrayDye: return 638; - case Item::LightGrayGlazedTerracotta: return 405; - case Item::LightGrayShulkerBox: return 389; - case Item::LightGrayStainedGlass: return 337; - case Item::LightGrayStainedGlassPane: return 353; - case Item::LightGrayTerracotta: return 289; - case Item::LightGrayWool: return 90; - case Item::LightWeightedPressurePlate: return 269; - case Item::Lilac: return 324; - case Item::LilyOfTheValley: return 109; - case Item::LilyPad: return 225; - case Item::LimeBanner: return 806; - case Item::LimeBed: return 659; - case Item::LimeCarpet: return 305; - case Item::LimeConcrete: return 418; - case Item::LimeConcretePowder: return 434; - case Item::LimeDye: return 641; - case Item::LimeGlazedTerracotta: return 402; - case Item::LimeShulkerBox: return 386; - case Item::LimeStainedGlass: return 334; - case Item::LimeStainedGlassPane: return 350; - case Item::LimeTerracotta: return 286; - case Item::LimeWool: return 87; - case Item::LingeringPotion: return 827; - case Item::LlamaSpawnEgg: return 717; - case Item::Loom: return 858; - case Item::MagentaBanner: return 803; - case Item::MagentaBed: return 656; - case Item::MagentaCarpet: return 302; - case Item::MagentaConcrete: return 415; - case Item::MagentaConcretePowder: return 431; - case Item::MagentaDye: return 644; - case Item::MagentaGlazedTerracotta: return 399; - case Item::MagentaShulkerBox: return 383; - case Item::MagentaStainedGlass: return 331; - case Item::MagentaStainedGlassPane: return 347; - case Item::MagentaTerracotta: return 283; - case Item::MagentaWool: return 84; - case Item::MagmaBlock: return 374; - case Item::MagmaCream: return 692; - case Item::MagmaCubeSpawnEgg: return 718; - case Item::Map: return 766; - case Item::Melon: return 214; - case Item::MelonSeeds: return 676; - case Item::MelonSlice: return 673; - case Item::MilkBucket: return 604; - case Item::Minecart: return 598; - case Item::MojangBannerPattern: return 862; - case Item::MooshroomSpawnEgg: return 719; - case Item::MossyCobblestone: return 144; - case Item::MossyCobblestoneSlab: return 496; - case Item::MossyCobblestoneStairs: return 482; - case Item::MossyCobblestoneWall: return 246; - case Item::MossyStoneBrickSlab: return 494; - case Item::MossyStoneBrickStairs: return 480; - case Item::MossyStoneBrickWall: return 250; - case Item::MossyStoneBricks: return 206; - case Item::MuleSpawnEgg: return 720; - case Item::MushroomStem: return 211; - case Item::MushroomStew: return 547; - case Item::MusicDisc11: return 850; - case Item::MusicDisc13: return 840; - case Item::MusicDiscBlocks: return 842; - case Item::MusicDiscCat: return 841; - case Item::MusicDiscChirp: return 843; - case Item::MusicDiscFar: return 844; - case Item::MusicDiscMall: return 845; - case Item::MusicDiscMellohi: return 846; - case Item::MusicDiscStal: return 847; - case Item::MusicDiscStrad: return 848; - case Item::MusicDiscWait: return 851; - case Item::MusicDiscWard: return 849; - case Item::Mutton: return 799; - case Item::Mycelium: return 224; - case Item::NameTag: return 797; - case Item::NautilusShell: return 854; - case Item::NetherBrick: return 780; - case Item::NetherBrickFence: return 227; - case Item::NetherBrickSlab: return 129; - case Item::NetherBrickStairs: return 228; - case Item::NetherBrickWall: return 253; - case Item::NetherBricks: return 226; - case Item::NetherQuartzOre: return 273; - case Item::NetherStar: return 775; - case Item::NetherWart: return 686; - case Item::NetherWartBlock: return 375; - case Item::Netherrack: return 189; - case Item::NoteBlock: return 71; - case Item::OakBoat: return 602; - case Item::OakButton: return 259; - case Item::OakDoor: return 507; - case Item::OakFence: return 181; - case Item::OakFenceGate: return 216; - case Item::OakLeaves: return 56; - case Item::OakLog: return 32; - case Item::OakPlanks: return 13; - case Item::OakPressurePlate: return 166; - case Item::OakSapling: return 19; - case Item::OakSign: return 589; - case Item::OakSlab: return 115; - case Item::OakStairs: return 154; - case Item::OakTrapdoor: return 193; - case Item::OakWood: return 50; - case Item::Observer: return 379; - case Item::Obsidian: return 145; - case Item::OcelotSpawnEgg: return 721; - case Item::OrangeBanner: return 802; - case Item::OrangeBed: return 655; - case Item::OrangeCarpet: return 301; - case Item::OrangeConcrete: return 414; - case Item::OrangeConcretePowder: return 430; - case Item::OrangeDye: return 645; - case Item::OrangeGlazedTerracotta: return 398; - case Item::OrangeShulkerBox: return 382; - case Item::OrangeStainedGlass: return 330; - case Item::OrangeStainedGlassPane: return 346; - case Item::OrangeTerracotta: return 282; - case Item::OrangeTulip: return 104; - case Item::OrangeWool: return 83; - case Item::OxeyeDaisy: return 107; - case Item::PackedIce: return 318; - case Item::Painting: return 586; - case Item::PandaSpawnEgg: return 722; - case Item::Paper: return 615; - case Item::ParrotSpawnEgg: return 723; - case Item::Peony: return 326; - case Item::PetrifiedOakSlab: return 125; - case Item::PhantomMembrane: return 853; - case Item::PhantomSpawnEgg: return 724; - case Item::PigSpawnEgg: return 725; - case Item::PillagerSpawnEgg: return 726; - case Item::PinkBanner: return 807; - case Item::PinkBed: return 660; - case Item::PinkCarpet: return 306; - case Item::PinkConcrete: return 419; - case Item::PinkConcretePowder: return 435; - case Item::PinkDye: return 640; - case Item::PinkGlazedTerracotta: return 403; - case Item::PinkShulkerBox: return 387; - case Item::PinkStainedGlass: return 335; - case Item::PinkStainedGlassPane: return 351; - case Item::PinkTerracotta: return 287; - case Item::PinkTulip: return 106; - case Item::PinkWool: return 88; - case Item::Piston: return 81; - case Item::PlayerHead: return 770; - case Item::Podzol: return 11; - case Item::PoisonousPotato: return 765; - case Item::PolarBearSpawnEgg: return 727; - case Item::PolishedAndesite: return 7; - case Item::PolishedAndesiteSlab: return 503; - case Item::PolishedAndesiteStairs: return 490; - case Item::PolishedDiorite: return 5; - case Item::PolishedDioriteSlab: return 495; - case Item::PolishedDioriteStairs: return 481; - case Item::PolishedGranite: return 3; - case Item::PolishedGraniteSlab: return 492; - case Item::PolishedGraniteStairs: return 478; - case Item::PoppedChorusFruit: return 819; - case Item::Poppy: return 99; - case Item::Porkchop: return 584; - case Item::Potato: return 763; - case Item::Potion: return 687; - case Item::PoweredRail: return 72; - case Item::Prismarine: return 361; - case Item::PrismarineBrickSlab: return 135; - case Item::PrismarineBrickStairs: return 365; - case Item::PrismarineBricks: return 362; - case Item::PrismarineCrystals: return 785; - case Item::PrismarineShard: return 784; - case Item::PrismarineSlab: return 134; - case Item::PrismarineStairs: return 364; - case Item::PrismarineWall: return 248; - case Item::Pufferfish: return 628; - case Item::PufferfishBucket: return 605; - case Item::PufferfishSpawnEgg: return 728; - case Item::Pumpkin: return 187; - case Item::PumpkinPie: return 776; - case Item::PumpkinSeeds: return 675; - case Item::PurpleBanner: return 811; - case Item::PurpleBed: return 664; - case Item::PurpleCarpet: return 310; - case Item::PurpleConcrete: return 423; - case Item::PurpleConcretePowder: return 439; - case Item::PurpleDye: return 636; - case Item::PurpleGlazedTerracotta: return 407; - case Item::PurpleShulkerBox: return 391; - case Item::PurpleStainedGlass: return 339; - case Item::PurpleStainedGlassPane: return 355; - case Item::PurpleTerracotta: return 291; - case Item::PurpleWool: return 92; - case Item::PurpurBlock: return 150; - case Item::PurpurPillar: return 151; - case Item::PurpurSlab: return 133; - case Item::PurpurStairs: return 152; - case Item::Quartz: return 781; - case Item::QuartzBlock: return 276; - case Item::QuartzPillar: return 277; - case Item::QuartzSlab: return 130; - case Item::QuartzStairs: return 278; - case Item::Rabbit: return 786; - case Item::RabbitFoot: return 789; - case Item::RabbitHide: return 790; - case Item::RabbitSpawnEgg: return 729; - case Item::RabbitStew: return 788; - case Item::Rail: return 162; - case Item::RavagerSpawnEgg: return 730; - case Item::RedBanner: return 815; - case Item::RedBed: return 668; - case Item::RedCarpet: return 314; - case Item::RedConcrete: return 427; - case Item::RedConcretePowder: return 443; - case Item::RedDye: return 632; - case Item::RedGlazedTerracotta: return 411; - case Item::RedMushroom: return 112; - case Item::RedMushroomBlock: return 210; - case Item::RedNetherBrickSlab: return 502; - case Item::RedNetherBrickStairs: return 489; - case Item::RedNetherBrickWall: return 255; - case Item::RedNetherBricks: return 376; - case Item::RedSand: return 27; - case Item::RedSandstone: return 368; - case Item::RedSandstoneSlab: return 131; - case Item::RedSandstoneStairs: return 371; - case Item::RedSandstoneWall: return 249; - case Item::RedShulkerBox: return 395; - case Item::RedStainedGlass: return 343; - case Item::RedStainedGlassPane: return 359; - case Item::RedTerracotta: return 295; - case Item::RedTulip: return 103; - case Item::RedWool: return 96; - case Item::Redstone: return 600; - case Item::RedstoneBlock: return 272; - case Item::RedstoneLamp: return 234; - case Item::RedstoneOre: return 172; - case Item::RedstoneTorch: return 173; - case Item::Repeater: return 513; - case Item::RepeatingCommandBlock: return 372; - case Item::RoseBush: return 325; - case Item::RottenFlesh: return 681; - case Item::Saddle: return 599; - case Item::Salmon: return 626; - case Item::SalmonBucket: return 606; - case Item::SalmonSpawnEgg: return 731; - case Item::Sand: return 26; - case Item::Sandstone: return 68; - case Item::SandstoneSlab: return 123; - case Item::SandstoneStairs: return 235; - case Item::SandstoneWall: return 256; - case Item::Scaffolding: return 505; - case Item::Scute: return 519; - case Item::SeaLantern: return 367; - case Item::SeaPickle: return 80; - case Item::Seagrass: return 79; - case Item::Shears: return 672; - case Item::SheepSpawnEgg: return 732; - case Item::Shield: return 828; - case Item::ShulkerBox: return 380; - case Item::ShulkerShell: return 836; - case Item::ShulkerSpawnEgg: return 733; - case Item::SilverfishSpawnEgg: return 734; - case Item::SkeletonHorseSpawnEgg: return 736; - case Item::SkeletonSkull: return 768; - case Item::SkeletonSpawnEgg: return 735; - case Item::SkullBannerPattern: return 861; - case Item::SlimeBall: return 617; - case Item::SlimeBlock: return 321; - case Item::SlimeSpawnEgg: return 737; - case Item::SmithingTable: return 871; - case Item::Smoker: return 865; - case Item::SmoothQuartz: return 137; - case Item::SmoothQuartzSlab: return 499; - case Item::SmoothQuartzStairs: return 486; - case Item::SmoothRedSandstone: return 138; - case Item::SmoothRedSandstoneSlab: return 493; - case Item::SmoothRedSandstoneStairs: return 479; - case Item::SmoothSandstone: return 139; - case Item::SmoothSandstoneSlab: return 498; - case Item::SmoothSandstoneStairs: return 485; - case Item::SmoothStone: return 140; - case Item::SmoothStoneSlab: return 122; - case Item::Snow: return 175; - case Item::SnowBlock: return 177; - case Item::Snowball: return 601; - case Item::SoulSand: return 190; - case Item::Spawner: return 153; - case Item::SpectralArrow: return 825; - case Item::SpiderEye: return 689; - case Item::SpiderSpawnEgg: return 738; - case Item::SplashPotion: return 824; - case Item::Sponge: return 62; - case Item::SpruceBoat: return 830; - case Item::SpruceButton: return 260; - case Item::SpruceDoor: return 508; - case Item::SpruceFence: return 182; - case Item::SpruceFenceGate: return 217; - case Item::SpruceLeaves: return 57; - case Item::SpruceLog: return 33; - case Item::SprucePlanks: return 14; - case Item::SprucePressurePlate: return 167; - case Item::SpruceSapling: return 20; - case Item::SpruceSign: return 590; - case Item::SpruceSlab: return 116; - case Item::SpruceStairs: return 240; - case Item::SpruceTrapdoor: return 194; - case Item::SpruceWood: return 51; - case Item::SquidSpawnEgg: return 739; - case Item::Stick: return 545; - case Item::StickyPiston: return 74; - case Item::Stone: return 1; - case Item::StoneAxe: return 540; - case Item::StoneBrickSlab: return 128; - case Item::StoneBrickStairs: return 223; - case Item::StoneBrickWall: return 252; - case Item::StoneBricks: return 205; - case Item::StoneButton: return 174; - case Item::StoneHoe: return 556; - case Item::StonePickaxe: return 539; - case Item::StonePressurePlate: return 165; - case Item::StoneShovel: return 538; - case Item::StoneSlab: return 121; - case Item::StoneStairs: return 484; - case Item::StoneSword: return 537; - case Item::Stonecutter: return 872; - case Item::StraySpawnEgg: return 740; - case Item::String: return 552; - case Item::StrippedAcaciaLog: return 42; - case Item::StrippedAcaciaWood: return 48; - case Item::StrippedBirchLog: return 40; - case Item::StrippedBirchWood: return 46; - case Item::StrippedDarkOakLog: return 43; - case Item::StrippedDarkOakWood: return 49; - case Item::StrippedJungleLog: return 41; - case Item::StrippedJungleWood: return 47; - case Item::StrippedOakLog: return 38; - case Item::StrippedOakWood: return 44; - case Item::StrippedSpruceLog: return 39; - case Item::StrippedSpruceWood: return 45; - case Item::StructureBlock: return 515; - case Item::StructureVoid: return 378; - case Item::Sugar: return 652; - case Item::SugarCane: return 611; - case Item::Sunflower: return 323; - case Item::SuspiciousStew: return 857; - case Item::SweetBerries: return 875; - case Item::TallGrass: return 327; - case Item::Terracotta: return 316; - case Item::TippedArrow: return 826; - case Item::TNT: return 142; - case Item::TNTMinecart: return 782; - case Item::Torch: return 146; - case Item::TotemOfUndying: return 835; - case Item::TraderLlamaSpawnEgg: return 741; - case Item::TrappedChest: return 268; - case Item::Trident: return 852; - case Item::TripwireHook: return 238; - case Item::TropicalFish: return 627; - case Item::TropicalFishBucket: return 608; - case Item::TropicalFishSpawnEgg: return 742; - case Item::TubeCoral: return 456; - case Item::TubeCoralBlock: return 451; - case Item::TubeCoralFan: return 466; - case Item::TurtleEgg: return 445; - case Item::TurtleHelmet: return 518; - case Item::TurtleSpawnEgg: return 743; - case Item::VexSpawnEgg: return 744; - case Item::VillagerSpawnEgg: return 745; - case Item::VindicatorSpawnEgg: return 746; - case Item::Vine: return 215; - case Item::WanderingTraderSpawnEgg: return 747; - case Item::WaterBucket: return 596; - case Item::WetSponge: return 63; - case Item::Wheat: return 561; - case Item::WheatSeeds: return 560; - case Item::WhiteBanner: return 801; - case Item::WhiteBed: return 654; - case Item::WhiteCarpet: return 300; - case Item::WhiteConcrete: return 413; - case Item::WhiteConcretePowder: return 429; - case Item::WhiteDye: return 650; - case Item::WhiteGlazedTerracotta: return 397; - case Item::WhiteShulkerBox: return 381; - case Item::WhiteStainedGlass: return 329; - case Item::WhiteStainedGlassPane: return 345; - case Item::WhiteTerracotta: return 281; - case Item::WhiteTulip: return 105; - case Item::WhiteWool: return 82; - case Item::WitchSpawnEgg: return 748; - case Item::WitherRose: return 110; - case Item::WitherSkeletonSkull: return 769; - case Item::WitherSkeletonSpawnEgg: return 749; - case Item::WolfSpawnEgg: return 750; - case Item::WoodenAxe: return 536; - case Item::WoodenHoe: return 555; - case Item::WoodenPickaxe: return 535; - case Item::WoodenShovel: return 534; - case Item::WoodenSword: return 533; - case Item::WritableBook: return 757; - case Item::WrittenBook: return 758; - case Item::YellowBanner: return 805; - case Item::YellowBed: return 658; - case Item::YellowCarpet: return 304; - case Item::YellowConcrete: return 417; - case Item::YellowConcretePowder: return 433; - case Item::YellowDye: return 642; - case Item::YellowGlazedTerracotta: return 401; - case Item::YellowShulkerBox: return 385; - case Item::YellowStainedGlass: return 333; - case Item::YellowStainedGlassPane: return 349; - case Item::YellowTerracotta: return 285; - case Item::YellowWool: return 86; - case Item::ZombieHead: return 771; - case Item::ZombieHorseSpawnEgg: return 752; - case Item::ZombiePigmanSpawnEgg: return 753; - case Item::ZombieSpawnEgg: return 751; - case Item::ZombieVillagerSpawnEgg: return 754; - default: return 0; - } + case Item::AcaciaBoat: return 833; + case Item::AcaciaButton: return 263; + case Item::AcaciaDoor: return 511; + case Item::AcaciaFence: return 185; + case Item::AcaciaFenceGate: return 220; + case Item::AcaciaLeaves: return 60; + case Item::AcaciaLog: return 36; + case Item::AcaciaPlanks: return 17; + case Item::AcaciaPressurePlate: return 170; + case Item::AcaciaSapling: return 23; + case Item::AcaciaSign: return 593; + case Item::AcaciaSlab: return 119; + case Item::AcaciaStairs: return 319; + case Item::AcaciaTrapdoor: return 197; + case Item::AcaciaWood: return 54; + case Item::ActivatorRail: return 279; + case Item::Air: return -0; + case Item::Allium: return 101; + case Item::Andesite: return 6; + case Item::AndesiteSlab: return 501; + case Item::AndesiteStairs: return 488; + case Item::AndesiteWall: return 254; + case Item::Anvil: return 265; + case Item::Apple: return 524; + case Item::ArmorStand: return 791; + case Item::Arrow: return 526; + case Item::AzureBluet: return 102; + case Item::BakedPotato: return 764; + case Item::Bamboo: return 614; + case Item::Barrel: return 864; + case Item::Barrier: return 297; + case Item::BatSpawnEgg: return 697; + case Item::Beacon: return 244; + case Item::Bedrock: return 25; + case Item::Beef: return 677; + case Item::Beetroot: return 820; + case Item::BeetrootSeeds: return 821; + case Item::BeetrootSoup: return 822; + case Item::Bell: return 873; + case Item::BirchBoat: return 831; + case Item::BirchButton: return 261; + case Item::BirchDoor: return 509; + case Item::BirchFence: return 183; + case Item::BirchFenceGate: return 218; + case Item::BirchLeaves: return 58; + case Item::BirchLog: return 34; + case Item::BirchPlanks: return 15; + case Item::BirchPressurePlate: return 168; + case Item::BirchSapling: return 21; + case Item::BirchSign: return 591; + case Item::BirchSlab: return 117; + case Item::BirchStairs: return 241; + case Item::BirchTrapdoor: return 195; + case Item::BirchWood: return 52; + case Item::BlackBanner: return 816; + case Item::BlackBed: return 669; + case Item::BlackCarpet: return 315; + case Item::BlackConcrete: return 428; + case Item::BlackConcretePowder: return 444; + case Item::BlackDye: return 649; + case Item::BlackGlazedTerracotta: return 412; + case Item::BlackShulkerBox: return 396; + case Item::BlackStainedGlass: return 344; + case Item::BlackStainedGlassPane: return 360; + case Item::BlackTerracotta: return 296; + case Item::BlackWool: return 97; + case Item::BlastFurnace: return 866; + case Item::BlazePowder: return 691; + case Item::BlazeRod: return 683; + case Item::BlazeSpawnEgg: return 698; + case Item::BlueBanner: return 812; + case Item::BlueBed: return 665; + case Item::BlueCarpet: return 311; + case Item::BlueConcrete: return 424; + case Item::BlueConcretePowder: return 440; + case Item::BlueDye: return 647; + case Item::BlueGlazedTerracotta: return 408; + case Item::BlueIce: return 476; + case Item::BlueOrchid: return 100; + case Item::BlueShulkerBox: return 392; + case Item::BlueStainedGlass: return 340; + case Item::BlueStainedGlassPane: return 356; + case Item::BlueTerracotta: return 292; + case Item::BlueWool: return 93; + case Item::Bone: return 651; + case Item::BoneBlock: return 377; + case Item::BoneMeal: return 646; + case Item::Book: return 616; + case Item::Bookshelf: return 143; + case Item::Bow: return 525; + case Item::Bowl: return 546; + case Item::BrainCoral: return 457; + case Item::BrainCoralBlock: return 452; + case Item::BrainCoralFan: return 467; + case Item::Bread: return 562; + case Item::BrewingStand: return 693; + case Item::Brick: return 609; + case Item::BrickSlab: return 127; + case Item::BrickStairs: return 222; + case Item::BrickWall: return 247; + case Item::Bricks: return 141; + case Item::BrownBanner: return 813; + case Item::BrownBed: return 666; + case Item::BrownCarpet: return 312; + case Item::BrownConcrete: return 425; + case Item::BrownConcretePowder: return 441; + case Item::BrownDye: return 648; + case Item::BrownGlazedTerracotta: return 409; + case Item::BrownMushroom: return 111; + case Item::BrownMushroomBlock: return 209; + case Item::BrownShulkerBox: return 393; + case Item::BrownStainedGlass: return 341; + case Item::BrownStainedGlassPane: return 357; + case Item::BrownTerracotta: return 293; + case Item::BrownWool: return 94; + case Item::BubbleCoral: return 458; + case Item::BubbleCoralBlock: return 453; + case Item::BubbleCoralFan: return 468; + case Item::Bucket: return 595; + case Item::Cactus: return 178; + case Item::Cake: return 653; + case Item::Campfire: return 876; + case Item::Carrot: return 762; + case Item::CarrotOnAStick: return 774; + case Item::CartographyTable: return 867; + case Item::CarvedPumpkin: return 188; + case Item::CatSpawnEgg: return 699; + case Item::Cauldron: return 694; + case Item::CaveSpiderSpawnEgg: return 700; + case Item::ChainCommandBlock: return 373; + case Item::ChainmailBoots: return 570; + case Item::ChainmailChestplate: return 568; + case Item::ChainmailHelmet: return 567; + case Item::ChainmailLeggings: return 569; + case Item::Charcoal: return 528; + case Item::Chest: return 155; + case Item::ChestMinecart: return 618; + case Item::Chicken: return 679; + case Item::ChickenSpawnEgg: return 701; + case Item::ChippedAnvil: return 266; + case Item::ChiseledQuartzBlock: return 275; + case Item::ChiseledRedSandstone: return 369; + case Item::ChiseledSandstone: return 69; + case Item::ChiseledStoneBricks: return 208; + case Item::ChorusFlower: return 149; + case Item::ChorusFruit: return 818; + case Item::ChorusPlant: return 148; + case Item::Clay: return 179; + case Item::ClayBall: return 610; + case Item::Clock: return 623; + case Item::Coal: return 527; + case Item::CoalBlock: return 317; + case Item::CoalOre: return 31; + case Item::CoarseDirt: return 10; + case Item::Cobblestone: return 12; + case Item::CobblestoneSlab: return 126; + case Item::CobblestoneStairs: return 163; + case Item::CobblestoneWall: return 245; + case Item::Cobweb: return 75; + case Item::CocoaBeans: return 634; + case Item::Cod: return 625; + case Item::CodBucket: return 607; + case Item::CodSpawnEgg: return 702; + case Item::CommandBlock: return 243; + case Item::CommandBlockMinecart: return 798; + case Item::Comparator: return 514; + case Item::Compass: return 621; + case Item::Composter: return 517; + case Item::Conduit: return 477; + case Item::CookedBeef: return 678; + case Item::CookedChicken: return 680; + case Item::CookedCod: return 629; + case Item::CookedMutton: return 800; + case Item::CookedPorkchop: return 585; + case Item::CookedRabbit: return 787; + case Item::CookedSalmon: return 630; + case Item::Cookie: return 670; + case Item::Cornflower: return 108; + case Item::CowSpawnEgg: return 703; + case Item::CrackedStoneBricks: return 207; + case Item::CraftingTable: return 158; + case Item::CreeperBannerPattern: return 860; + case Item::CreeperHead: return 772; + case Item::CreeperSpawnEgg: return 704; + case Item::Crossbow: return 856; + case Item::CutRedSandstone: return 370; + case Item::CutRedSandstoneSlab: return 132; + case Item::CutSandstone: return 70; + case Item::CutSandstoneSlab: return 124; + case Item::CyanBanner: return 810; + case Item::CyanBed: return 663; + case Item::CyanCarpet: return 309; + case Item::CyanConcrete: return 422; + case Item::CyanConcretePowder: return 438; + case Item::CyanDye: return 637; + case Item::CyanGlazedTerracotta: return 406; + case Item::CyanShulkerBox: return 390; + case Item::CyanStainedGlass: return 338; + case Item::CyanStainedGlassPane: return 354; + case Item::CyanTerracotta: return 290; + case Item::CyanWool: return 91; + case Item::DamagedAnvil: return 267; + case Item::Dandelion: return 98; + case Item::DarkOakBoat: return 834; + case Item::DarkOakButton: return 264; + case Item::DarkOakDoor: return 512; + case Item::DarkOakFence: return 186; + case Item::DarkOakFenceGate: return 221; + case Item::DarkOakLeaves: return 61; + case Item::DarkOakLog: return 37; + case Item::DarkOakPlanks: return 18; + case Item::DarkOakPressurePlate: return 171; + case Item::DarkOakSapling: return 24; + case Item::DarkOakSign: return 594; + case Item::DarkOakSlab: return 120; + case Item::DarkOakStairs: return 320; + case Item::DarkOakTrapdoor: return 198; + case Item::DarkOakWood: return 55; + case Item::DarkPrismarine: return 363; + case Item::DarkPrismarineSlab: return 136; + case Item::DarkPrismarineStairs: return 366; + case Item::DaylightDetector: return 271; + case Item::DeadBrainCoral: return 461; + case Item::DeadBrainCoralBlock: return 447; + case Item::DeadBrainCoralFan: return 472; + case Item::DeadBubbleCoral: return 462; + case Item::DeadBubbleCoralBlock: return 448; + case Item::DeadBubbleCoralFan: return 473; + case Item::DeadBush: return 78; + case Item::DeadFireCoral: return 463; + case Item::DeadFireCoralBlock: return 449; + case Item::DeadFireCoralFan: return 474; + case Item::DeadHornCoral: return 464; + case Item::DeadHornCoralBlock: return 450; + case Item::DeadHornCoralFan: return 475; + case Item::DeadTubeCoral: return 465; + case Item::DeadTubeCoralBlock: return 446; + case Item::DeadTubeCoralFan: return 471; + case Item::DebugStick: return 839; + case Item::DetectorRail: return 73; + case Item::Diamond: return 529; + case Item::DiamondAxe: return 544; + case Item::DiamondBlock: return 157; + case Item::DiamondBoots: return 578; + case Item::DiamondChestplate: return 576; + case Item::DiamondHelmet: return 575; + case Item::DiamondHoe: return 558; + case Item::DiamondHorseArmor: return 794; + case Item::DiamondLeggings: return 577; + case Item::DiamondOre: return 156; + case Item::DiamondPickaxe: return 543; + case Item::DiamondShovel: return 542; + case Item::DiamondSword: return 541; + case Item::Diorite: return 4; + case Item::DioriteSlab: return 504; + case Item::DioriteStairs: return 491; + case Item::DioriteWall: return 258; + case Item::Dirt: return 9; + case Item::Dispenser: return 67; + case Item::DolphinSpawnEgg: return 705; + case Item::DonkeySpawnEgg: return 706; + case Item::DragonBreath: return 823; + case Item::DragonEgg: return 233; + case Item::DragonHead: return 773; + case Item::DriedKelp: return 674; + case Item::DriedKelpBlock: return 613; + case Item::Dropper: return 280; + case Item::DrownedSpawnEgg: return 707; + case Item::Egg: return 620; + case Item::ElderGuardianSpawnEgg: return 708; + case Item::Elytra: return 829; + case Item::Emerald: return 759; + case Item::EmeraldBlock: return 239; + case Item::EmeraldOre: return 236; + case Item::EnchantedBook: return 779; + case Item::EnchantedGoldenApple: return 588; + case Item::EnchantingTable: return 229; + case Item::EndCrystal: return 817; + case Item::EndPortalFrame: return 230; + case Item::EndRod: return 147; + case Item::EndStone: return 231; + case Item::EndStoneBrickSlab: return 497; + case Item::EndStoneBrickStairs: return 483; + case Item::EndStoneBrickWall: return 257; + case Item::EndStoneBricks: return 232; + case Item::EnderChest: return 237; + case Item::EnderEye: return 695; + case Item::EnderPearl: return 682; + case Item::EndermanSpawnEgg: return 709; + case Item::EndermiteSpawnEgg: return 710; + case Item::EvokerSpawnEgg: return 711; + case Item::ExperienceBottle: return 755; + case Item::Farmland: return 159; + case Item::Feather: return 553; + case Item::FermentedSpiderEye: return 690; + case Item::Fern: return 77; + case Item::FilledMap: return 671; + case Item::FireCharge: return 756; + case Item::FireCoral: return 459; + case Item::FireCoralBlock: return 454; + case Item::FireCoralFan: return 469; + case Item::FireworkRocket: return 777; + case Item::FireworkStar: return 778; + case Item::FishingRod: return 622; + case Item::FletchingTable: return 868; + case Item::Flint: return 583; + case Item::FlintAndSteel: return 523; + case Item::FlowerBannerPattern: return 859; + case Item::FlowerPot: return 761; + case Item::FoxSpawnEgg: return 712; + case Item::Furnace: return 160; + case Item::FurnaceMinecart: return 619; + case Item::GhastSpawnEgg: return 713; + case Item::GhastTear: return 684; + case Item::Glass: return 64; + case Item::GlassBottle: return 688; + case Item::GlassPane: return 213; + case Item::GlisteringMelonSlice: return 696; + case Item::GlobeBannerPattern: return 863; + case Item::Glowstone: return 191; + case Item::GlowstoneDust: return 624; + case Item::GoldBlock: return 113; + case Item::GoldIngot: return 531; + case Item::GoldNugget: return 685; + case Item::GoldOre: return 29; + case Item::GoldenApple: return 587; + case Item::GoldenAxe: return 551; + case Item::GoldenBoots: return 582; + case Item::GoldenCarrot: return 767; + case Item::GoldenChestplate: return 580; + case Item::GoldenHelmet: return 579; + case Item::GoldenHoe: return 559; + case Item::GoldenHorseArmor: return 793; + case Item::GoldenLeggings: return 581; + case Item::GoldenPickaxe: return 550; + case Item::GoldenShovel: return 549; + case Item::GoldenSword: return 548; + case Item::Granite: return 2; + case Item::GraniteSlab: return 500; + case Item::GraniteStairs: return 487; + case Item::GraniteWall: return 251; + case Item::Grass: return 76; + case Item::GrassBlock: return 8; + case Item::GrassPath: return 322; + case Item::Gravel: return 28; + case Item::GrayBanner: return 808; + case Item::GrayBed: return 661; + case Item::GrayCarpet: return 307; + case Item::GrayConcrete: return 420; + case Item::GrayConcretePowder: return 436; + case Item::GrayDye: return 639; + case Item::GrayGlazedTerracotta: return 404; + case Item::GrayShulkerBox: return 388; + case Item::GrayStainedGlass: return 336; + case Item::GrayStainedGlassPane: return 352; + case Item::GrayTerracotta: return 288; + case Item::GrayWool: return 89; + case Item::GreenBanner: return 814; + case Item::GreenBed: return 667; + case Item::GreenCarpet: return 313; + case Item::GreenConcrete: return 426; + case Item::GreenConcretePowder: return 442; + case Item::GreenDye: return 633; + case Item::GreenGlazedTerracotta: return 410; + case Item::GreenShulkerBox: return 394; + case Item::GreenStainedGlass: return 342; + case Item::GreenStainedGlassPane: return 358; + case Item::GreenTerracotta: return 294; + case Item::GreenWool: return 95; + case Item::Grindstone: return 869; + case Item::GuardianSpawnEgg: return 714; + case Item::Gunpowder: return 554; + case Item::HayBale: return 299; + case Item::HeartOfTheSea: return 855; + case Item::HeavyWeightedPressurePlate: return 270; + case Item::Hopper: return 274; + case Item::HopperMinecart: return 783; + case Item::HornCoral: return 460; + case Item::HornCoralBlock: return 455; + case Item::HornCoralFan: return 470; + case Item::HorseSpawnEgg: return 715; + case Item::HuskSpawnEgg: return 716; + case Item::Ice: return 176; + case Item::InfestedChiseledStoneBricks: return 204; + case Item::InfestedCobblestone: return 200; + case Item::InfestedCrackedStoneBricks: return 203; + case Item::InfestedMossyStoneBricks: return 202; + case Item::InfestedStone: return 199; + case Item::InfestedStoneBricks: return 201; + case Item::InkSac: return 631; + case Item::IronAxe: return 522; + case Item::IronBars: return 212; + case Item::IronBlock: return 114; + case Item::IronBoots: return 574; + case Item::IronChestplate: return 572; + case Item::IronDoor: return 506; + case Item::IronHelmet: return 571; + case Item::IronHoe: return 557; + case Item::IronHorseArmor: return 792; + case Item::IronIngot: return 530; + case Item::IronLeggings: return 573; + case Item::IronNugget: return 837; + case Item::IronOre: return 30; + case Item::IronPickaxe: return 521; + case Item::IronShovel: return 520; + case Item::IronSword: return 532; + case Item::IronTrapdoor: return 298; + case Item::ItemFrame: return 760; + case Item::JackOLantern: return 192; + case Item::Jigsaw: return 516; + case Item::Jukebox: return 180; + case Item::JungleBoat: return 832; + case Item::JungleButton: return 262; + case Item::JungleDoor: return 510; + case Item::JungleFence: return 184; + case Item::JungleFenceGate: return 219; + case Item::JungleLeaves: return 59; + case Item::JungleLog: return 35; + case Item::JunglePlanks: return 16; + case Item::JunglePressurePlate: return 169; + case Item::JungleSapling: return 22; + case Item::JungleSign: return 592; + case Item::JungleSlab: return 118; + case Item::JungleStairs: return 242; + case Item::JungleTrapdoor: return 196; + case Item::JungleWood: return 53; + case Item::Kelp: return 612; + case Item::KnowledgeBook: return 838; + case Item::Ladder: return 161; + case Item::Lantern: return 874; + case Item::LapisBlock: return 66; + case Item::LapisLazuli: return 635; + case Item::LapisOre: return 65; + case Item::LargeFern: return 328; + case Item::LavaBucket: return 597; + case Item::Lead: return 796; + case Item::Leather: return 603; + case Item::LeatherBoots: return 566; + case Item::LeatherChestplate: return 564; + case Item::LeatherHelmet: return 563; + case Item::LeatherHorseArmor: return 795; + case Item::LeatherLeggings: return 565; + case Item::Lectern: return 870; + case Item::Lever: return 164; + case Item::LightBlueBanner: return 804; + case Item::LightBlueBed: return 657; + case Item::LightBlueCarpet: return 303; + case Item::LightBlueConcrete: return 416; + case Item::LightBlueConcretePowder: return 432; + case Item::LightBlueDye: return 643; + case Item::LightBlueGlazedTerracotta: return 400; + case Item::LightBlueShulkerBox: return 384; + case Item::LightBlueStainedGlass: return 332; + case Item::LightBlueStainedGlassPane: return 348; + case Item::LightBlueTerracotta: return 284; + case Item::LightBlueWool: return 85; + case Item::LightGrayBanner: return 809; + case Item::LightGrayBed: return 662; + case Item::LightGrayCarpet: return 308; + case Item::LightGrayConcrete: return 421; + case Item::LightGrayConcretePowder: return 437; + case Item::LightGrayDye: return 638; + case Item::LightGrayGlazedTerracotta: return 405; + case Item::LightGrayShulkerBox: return 389; + case Item::LightGrayStainedGlass: return 337; + case Item::LightGrayStainedGlassPane: return 353; + case Item::LightGrayTerracotta: return 289; + case Item::LightGrayWool: return 90; + case Item::LightWeightedPressurePlate: return 269; + case Item::Lilac: return 324; + case Item::LilyOfTheValley: return 109; + case Item::LilyPad: return 225; + case Item::LimeBanner: return 806; + case Item::LimeBed: return 659; + case Item::LimeCarpet: return 305; + case Item::LimeConcrete: return 418; + case Item::LimeConcretePowder: return 434; + case Item::LimeDye: return 641; + case Item::LimeGlazedTerracotta: return 402; + case Item::LimeShulkerBox: return 386; + case Item::LimeStainedGlass: return 334; + case Item::LimeStainedGlassPane: return 350; + case Item::LimeTerracotta: return 286; + case Item::LimeWool: return 87; + case Item::LingeringPotion: return 827; + case Item::LlamaSpawnEgg: return 717; + case Item::Loom: return 858; + case Item::MagentaBanner: return 803; + case Item::MagentaBed: return 656; + case Item::MagentaCarpet: return 302; + case Item::MagentaConcrete: return 415; + case Item::MagentaConcretePowder: return 431; + case Item::MagentaDye: return 644; + case Item::MagentaGlazedTerracotta: return 399; + case Item::MagentaShulkerBox: return 383; + case Item::MagentaStainedGlass: return 331; + case Item::MagentaStainedGlassPane: return 347; + case Item::MagentaTerracotta: return 283; + case Item::MagentaWool: return 84; + case Item::MagmaBlock: return 374; + case Item::MagmaCream: return 692; + case Item::MagmaCubeSpawnEgg: return 718; + case Item::Map: return 766; + case Item::Melon: return 214; + case Item::MelonSeeds: return 676; + case Item::MelonSlice: return 673; + case Item::MilkBucket: return 604; + case Item::Minecart: return 598; + case Item::MojangBannerPattern: return 862; + case Item::MooshroomSpawnEgg: return 719; + case Item::MossyCobblestone: return 144; + case Item::MossyCobblestoneSlab: return 496; + case Item::MossyCobblestoneStairs: return 482; + case Item::MossyCobblestoneWall: return 246; + case Item::MossyStoneBrickSlab: return 494; + case Item::MossyStoneBrickStairs: return 480; + case Item::MossyStoneBrickWall: return 250; + case Item::MossyStoneBricks: return 206; + case Item::MuleSpawnEgg: return 720; + case Item::MushroomStem: return 211; + case Item::MushroomStew: return 547; + case Item::MusicDisc11: return 850; + case Item::MusicDisc13: return 840; + case Item::MusicDiscBlocks: return 842; + case Item::MusicDiscCat: return 841; + case Item::MusicDiscChirp: return 843; + case Item::MusicDiscFar: return 844; + case Item::MusicDiscMall: return 845; + case Item::MusicDiscMellohi: return 846; + case Item::MusicDiscStal: return 847; + case Item::MusicDiscStrad: return 848; + case Item::MusicDiscWait: return 851; + case Item::MusicDiscWard: return 849; + case Item::Mutton: return 799; + case Item::Mycelium: return 224; + case Item::NameTag: return 797; + case Item::NautilusShell: return 854; + case Item::NetherBrick: return 780; + case Item::NetherBrickFence: return 227; + case Item::NetherBrickSlab: return 129; + case Item::NetherBrickStairs: return 228; + case Item::NetherBrickWall: return 253; + case Item::NetherBricks: return 226; + case Item::NetherQuartzOre: return 273; + case Item::NetherStar: return 775; + case Item::NetherWart: return 686; + case Item::NetherWartBlock: return 375; + case Item::Netherrack: return 189; + case Item::NoteBlock: return 71; + case Item::OakBoat: return 602; + case Item::OakButton: return 259; + case Item::OakDoor: return 507; + case Item::OakFence: return 181; + case Item::OakFenceGate: return 216; + case Item::OakLeaves: return 56; + case Item::OakLog: return 32; + case Item::OakPlanks: return 13; + case Item::OakPressurePlate: return 166; + case Item::OakSapling: return 19; + case Item::OakSign: return 589; + case Item::OakSlab: return 115; + case Item::OakStairs: return 154; + case Item::OakTrapdoor: return 193; + case Item::OakWood: return 50; + case Item::Observer: return 379; + case Item::Obsidian: return 145; + case Item::OcelotSpawnEgg: return 721; + case Item::OrangeBanner: return 802; + case Item::OrangeBed: return 655; + case Item::OrangeCarpet: return 301; + case Item::OrangeConcrete: return 414; + case Item::OrangeConcretePowder: return 430; + case Item::OrangeDye: return 645; + case Item::OrangeGlazedTerracotta: return 398; + case Item::OrangeShulkerBox: return 382; + case Item::OrangeStainedGlass: return 330; + case Item::OrangeStainedGlassPane: return 346; + case Item::OrangeTerracotta: return 282; + case Item::OrangeTulip: return 104; + case Item::OrangeWool: return 83; + case Item::OxeyeDaisy: return 107; + case Item::PackedIce: return 318; + case Item::Painting: return 586; + case Item::PandaSpawnEgg: return 722; + case Item::Paper: return 615; + case Item::ParrotSpawnEgg: return 723; + case Item::Peony: return 326; + case Item::PetrifiedOakSlab: return 125; + case Item::PhantomMembrane: return 853; + case Item::PhantomSpawnEgg: return 724; + case Item::PigSpawnEgg: return 725; + case Item::PillagerSpawnEgg: return 726; + case Item::PinkBanner: return 807; + case Item::PinkBed: return 660; + case Item::PinkCarpet: return 306; + case Item::PinkConcrete: return 419; + case Item::PinkConcretePowder: return 435; + case Item::PinkDye: return 640; + case Item::PinkGlazedTerracotta: return 403; + case Item::PinkShulkerBox: return 387; + case Item::PinkStainedGlass: return 335; + case Item::PinkStainedGlassPane: return 351; + case Item::PinkTerracotta: return 287; + case Item::PinkTulip: return 106; + case Item::PinkWool: return 88; + case Item::Piston: return 81; + case Item::PlayerHead: return 770; + case Item::Podzol: return 11; + case Item::PoisonousPotato: return 765; + case Item::PolarBearSpawnEgg: return 727; + case Item::PolishedAndesite: return 7; + case Item::PolishedAndesiteSlab: return 503; + case Item::PolishedAndesiteStairs: return 490; + case Item::PolishedDiorite: return 5; + case Item::PolishedDioriteSlab: return 495; + case Item::PolishedDioriteStairs: return 481; + case Item::PolishedGranite: return 3; + case Item::PolishedGraniteSlab: return 492; + case Item::PolishedGraniteStairs: return 478; + case Item::PoppedChorusFruit: return 819; + case Item::Poppy: return 99; + case Item::Porkchop: return 584; + case Item::Potato: return 763; + case Item::Potion: return 687; + case Item::PoweredRail: return 72; + case Item::Prismarine: return 361; + case Item::PrismarineBrickSlab: return 135; + case Item::PrismarineBrickStairs: return 365; + case Item::PrismarineBricks: return 362; + case Item::PrismarineCrystals: return 785; + case Item::PrismarineShard: return 784; + case Item::PrismarineSlab: return 134; + case Item::PrismarineStairs: return 364; + case Item::PrismarineWall: return 248; + case Item::Pufferfish: return 628; + case Item::PufferfishBucket: return 605; + case Item::PufferfishSpawnEgg: return 728; + case Item::Pumpkin: return 187; + case Item::PumpkinPie: return 776; + case Item::PumpkinSeeds: return 675; + case Item::PurpleBanner: return 811; + case Item::PurpleBed: return 664; + case Item::PurpleCarpet: return 310; + case Item::PurpleConcrete: return 423; + case Item::PurpleConcretePowder: return 439; + case Item::PurpleDye: return 636; + case Item::PurpleGlazedTerracotta: return 407; + case Item::PurpleShulkerBox: return 391; + case Item::PurpleStainedGlass: return 339; + case Item::PurpleStainedGlassPane: return 355; + case Item::PurpleTerracotta: return 291; + case Item::PurpleWool: return 92; + case Item::PurpurBlock: return 150; + case Item::PurpurPillar: return 151; + case Item::PurpurSlab: return 133; + case Item::PurpurStairs: return 152; + case Item::Quartz: return 781; + case Item::QuartzBlock: return 276; + case Item::QuartzPillar: return 277; + case Item::QuartzSlab: return 130; + case Item::QuartzStairs: return 278; + case Item::Rabbit: return 786; + case Item::RabbitFoot: return 789; + case Item::RabbitHide: return 790; + case Item::RabbitSpawnEgg: return 729; + case Item::RabbitStew: return 788; + case Item::Rail: return 162; + case Item::RavagerSpawnEgg: return 730; + case Item::RedBanner: return 815; + case Item::RedBed: return 668; + case Item::RedCarpet: return 314; + case Item::RedConcrete: return 427; + case Item::RedConcretePowder: return 443; + case Item::RedDye: return 632; + case Item::RedGlazedTerracotta: return 411; + case Item::RedMushroom: return 112; + case Item::RedMushroomBlock: return 210; + case Item::RedNetherBrickSlab: return 502; + case Item::RedNetherBrickStairs: return 489; + case Item::RedNetherBrickWall: return 255; + case Item::RedNetherBricks: return 376; + case Item::RedSand: return 27; + case Item::RedSandstone: return 368; + case Item::RedSandstoneSlab: return 131; + case Item::RedSandstoneStairs: return 371; + case Item::RedSandstoneWall: return 249; + case Item::RedShulkerBox: return 395; + case Item::RedStainedGlass: return 343; + case Item::RedStainedGlassPane: return 359; + case Item::RedTerracotta: return 295; + case Item::RedTulip: return 103; + case Item::RedWool: return 96; + case Item::Redstone: return 600; + case Item::RedstoneBlock: return 272; + case Item::RedstoneLamp: return 234; + case Item::RedstoneOre: return 172; + case Item::RedstoneTorch: return 173; + case Item::Repeater: return 513; + case Item::RepeatingCommandBlock: return 372; + case Item::RoseBush: return 325; + case Item::RottenFlesh: return 681; + case Item::Saddle: return 599; + case Item::Salmon: return 626; + case Item::SalmonBucket: return 606; + case Item::SalmonSpawnEgg: return 731; + case Item::Sand: return 26; + case Item::Sandstone: return 68; + case Item::SandstoneSlab: return 123; + case Item::SandstoneStairs: return 235; + case Item::SandstoneWall: return 256; + case Item::Scaffolding: return 505; + case Item::Scute: return 519; + case Item::SeaLantern: return 367; + case Item::SeaPickle: return 80; + case Item::Seagrass: return 79; + case Item::Shears: return 672; + case Item::SheepSpawnEgg: return 732; + case Item::Shield: return 828; + case Item::ShulkerBox: return 380; + case Item::ShulkerShell: return 836; + case Item::ShulkerSpawnEgg: return 733; + case Item::SilverfishSpawnEgg: return 734; + case Item::SkeletonHorseSpawnEgg: return 736; + case Item::SkeletonSkull: return 768; + case Item::SkeletonSpawnEgg: return 735; + case Item::SkullBannerPattern: return 861; + case Item::SlimeBall: return 617; + case Item::SlimeBlock: return 321; + case Item::SlimeSpawnEgg: return 737; + case Item::SmithingTable: return 871; + case Item::Smoker: return 865; + case Item::SmoothQuartz: return 137; + case Item::SmoothQuartzSlab: return 499; + case Item::SmoothQuartzStairs: return 486; + case Item::SmoothRedSandstone: return 138; + case Item::SmoothRedSandstoneSlab: return 493; + case Item::SmoothRedSandstoneStairs: return 479; + case Item::SmoothSandstone: return 139; + case Item::SmoothSandstoneSlab: return 498; + case Item::SmoothSandstoneStairs: return 485; + case Item::SmoothStone: return 140; + case Item::SmoothStoneSlab: return 122; + case Item::Snow: return 175; + case Item::SnowBlock: return 177; + case Item::Snowball: return 601; + case Item::SoulSand: return 190; + case Item::Spawner: return 153; + case Item::SpectralArrow: return 825; + case Item::SpiderEye: return 689; + case Item::SpiderSpawnEgg: return 738; + case Item::SplashPotion: return 824; + case Item::Sponge: return 62; + case Item::SpruceBoat: return 830; + case Item::SpruceButton: return 260; + case Item::SpruceDoor: return 508; + case Item::SpruceFence: return 182; + case Item::SpruceFenceGate: return 217; + case Item::SpruceLeaves: return 57; + case Item::SpruceLog: return 33; + case Item::SprucePlanks: return 14; + case Item::SprucePressurePlate: return 167; + case Item::SpruceSapling: return 20; + case Item::SpruceSign: return 590; + case Item::SpruceSlab: return 116; + case Item::SpruceStairs: return 240; + case Item::SpruceTrapdoor: return 194; + case Item::SpruceWood: return 51; + case Item::SquidSpawnEgg: return 739; + case Item::Stick: return 545; + case Item::StickyPiston: return 74; + case Item::Stone: return 1; + case Item::StoneAxe: return 540; + case Item::StoneBrickSlab: return 128; + case Item::StoneBrickStairs: return 223; + case Item::StoneBrickWall: return 252; + case Item::StoneBricks: return 205; + case Item::StoneButton: return 174; + case Item::StoneHoe: return 556; + case Item::StonePickaxe: return 539; + case Item::StonePressurePlate: return 165; + case Item::StoneShovel: return 538; + case Item::StoneSlab: return 121; + case Item::StoneStairs: return 484; + case Item::StoneSword: return 537; + case Item::Stonecutter: return 872; + case Item::StraySpawnEgg: return 740; + case Item::String: return 552; + case Item::StrippedAcaciaLog: return 42; + case Item::StrippedAcaciaWood: return 48; + case Item::StrippedBirchLog: return 40; + case Item::StrippedBirchWood: return 46; + case Item::StrippedDarkOakLog: return 43; + case Item::StrippedDarkOakWood: return 49; + case Item::StrippedJungleLog: return 41; + case Item::StrippedJungleWood: return 47; + case Item::StrippedOakLog: return 38; + case Item::StrippedOakWood: return 44; + case Item::StrippedSpruceLog: return 39; + case Item::StrippedSpruceWood: return 45; + case Item::StructureBlock: return 515; + case Item::StructureVoid: return 378; + case Item::Sugar: return 652; + case Item::SugarCane: return 611; + case Item::Sunflower: return 323; + case Item::SuspiciousStew: return 857; + case Item::SweetBerries: return 875; + case Item::TallGrass: return 327; + case Item::Terracotta: return 316; + case Item::TippedArrow: return 826; + case Item::TNT: return 142; + case Item::TNTMinecart: return 782; + case Item::Torch: return 146; + case Item::TotemOfUndying: return 835; + case Item::TraderLlamaSpawnEgg: return 741; + case Item::TrappedChest: return 268; + case Item::Trident: return 852; + case Item::TripwireHook: return 238; + case Item::TropicalFish: return 627; + case Item::TropicalFishBucket: return 608; + case Item::TropicalFishSpawnEgg: return 742; + case Item::TubeCoral: return 456; + case Item::TubeCoralBlock: return 451; + case Item::TubeCoralFan: return 466; + case Item::TurtleEgg: return 445; + case Item::TurtleHelmet: return 518; + case Item::TurtleSpawnEgg: return 743; + case Item::VexSpawnEgg: return 744; + case Item::VillagerSpawnEgg: return 745; + case Item::VindicatorSpawnEgg: return 746; + case Item::Vine: return 215; + case Item::WanderingTraderSpawnEgg: return 747; + case Item::WaterBucket: return 596; + case Item::WetSponge: return 63; + case Item::Wheat: return 561; + case Item::WheatSeeds: return 560; + case Item::WhiteBanner: return 801; + case Item::WhiteBed: return 654; + case Item::WhiteCarpet: return 300; + case Item::WhiteConcrete: return 413; + case Item::WhiteConcretePowder: return 429; + case Item::WhiteDye: return 650; + case Item::WhiteGlazedTerracotta: return 397; + case Item::WhiteShulkerBox: return 381; + case Item::WhiteStainedGlass: return 329; + case Item::WhiteStainedGlassPane: return 345; + case Item::WhiteTerracotta: return 281; + case Item::WhiteTulip: return 105; + case Item::WhiteWool: return 82; + case Item::WitchSpawnEgg: return 748; + case Item::WitherRose: return 110; + case Item::WitherSkeletonSkull: return 769; + case Item::WitherSkeletonSpawnEgg: return 749; + case Item::WolfSpawnEgg: return 750; + case Item::WoodenAxe: return 536; + case Item::WoodenHoe: return 555; + case Item::WoodenPickaxe: return 535; + case Item::WoodenShovel: return 534; + case Item::WoodenSword: return 533; + case Item::WritableBook: return 757; + case Item::WrittenBook: return 758; + case Item::YellowBanner: return 805; + case Item::YellowBed: return 658; + case Item::YellowCarpet: return 304; + case Item::YellowConcrete: return 417; + case Item::YellowConcretePowder: return 433; + case Item::YellowDye: return 642; + case Item::YellowGlazedTerracotta: return 401; + case Item::YellowShulkerBox: return 385; + case Item::YellowStainedGlass: return 333; + case Item::YellowStainedGlassPane: return 349; + case Item::YellowTerracotta: return 285; + case Item::YellowWool: return 86; + case Item::ZombieHead: return 771; + case Item::ZombieHorseSpawnEgg: return 752; + case Item::ZombiePigmanSpawnEgg: return 753; + case Item::ZombieSpawnEgg: return 751; + case Item::ZombieVillagerSpawnEgg: return 754; + default: return 0; } +} - UInt32 From(const CustomStatistic ID) +UInt32 From(const CustomStatistic ID) +{ + switch (ID) { - switch (ID) - { - case CustomStatistic::AnimalsBred: return 30; - case CustomStatistic::AviateOneCm: return 17; - case CustomStatistic::BellRing: return 66; - case CustomStatistic::BoatOneCm: return 14; - case CustomStatistic::CleanArmor: return 38; - case CustomStatistic::CleanBanner: return 39; - case CustomStatistic::CleanShulkerBox: return 40; - case CustomStatistic::ClimbOneCm: return 10; - case CustomStatistic::CrouchOneCm: return 6; - case CustomStatistic::DamageAbsorbed: return 26; - case CustomStatistic::DamageBlockedByShield: return 25; - case CustomStatistic::DamageDealt: return 21; - case CustomStatistic::DamageDealtAbsorbed: return 22; - case CustomStatistic::DamageDealtResisted: return 23; - case CustomStatistic::DamageResisted: return 27; - case CustomStatistic::DamageTaken: return 24; - case CustomStatistic::Deaths: return 28; - case CustomStatistic::Drop: return 20; - case CustomStatistic::EatCakeSlice: return 35; - case CustomStatistic::EnchantItem: return 51; - case CustomStatistic::FallOneCm: return 9; - case CustomStatistic::FillCauldron: return 36; - case CustomStatistic::FishCaught: return 32; - case CustomStatistic::FlyOneCm: return 11; - case CustomStatistic::HorseOneCm: return 16; - case CustomStatistic::InspectDispenser: return 45; - case CustomStatistic::InspectDropper: return 43; - case CustomStatistic::InspectHopper: return 44; - case CustomStatistic::InteractWithBeacon: return 42; - case CustomStatistic::InteractWithBlastFurnace: return 59; - case CustomStatistic::InteractWithBrewingstand: return 41; - case CustomStatistic::InteractWithCampfire: return 62; - case CustomStatistic::InteractWithCartographyTable: return 63; - case CustomStatistic::InteractWithCraftingTable: return 54; - case CustomStatistic::InteractWithFurnace: return 53; - case CustomStatistic::InteractWithLectern: return 61; - case CustomStatistic::InteractWithLoom: return 64; - case CustomStatistic::InteractWithSmoker: return 60; - case CustomStatistic::InteractWithStonecutter: return 65; - case CustomStatistic::Jump: return 19; - case CustomStatistic::LeaveGame: return 0; - case CustomStatistic::MinecartOneCm: return 13; - case CustomStatistic::MobKills: return 29; - case CustomStatistic::OpenBarrel: return 58; - case CustomStatistic::OpenChest: return 55; - case CustomStatistic::OpenEnderchest: return 50; - case CustomStatistic::OpenShulkerBox: return 57; - case CustomStatistic::PigOneCm: return 15; - case CustomStatistic::PlayerKills: return 31; - case CustomStatistic::PlayNoteblock: return 46; - case CustomStatistic::PlayOneMinute: return 1; - case CustomStatistic::PlayRecord: return 52; - case CustomStatistic::PotFlower: return 48; - case CustomStatistic::RaidTrigger: return 67; - case CustomStatistic::RaidWin: return 68; - case CustomStatistic::SleepInBed: return 56; - case CustomStatistic::SneakTime: return 4; - case CustomStatistic::SprintOneCm: return 7; - case CustomStatistic::SwimOneCm: return 18; - case CustomStatistic::TalkedToVillager: return 33; - case CustomStatistic::TimeSinceDeath: return 2; - case CustomStatistic::TimeSinceRest: return 3; - case CustomStatistic::TradedWithVillager: return 34; - case CustomStatistic::TriggerTrappedChest: return 49; - case CustomStatistic::TuneNoteblock: return 47; - case CustomStatistic::UseCauldron: return 37; - case CustomStatistic::WalkOneCm: return 5; - case CustomStatistic::WalkOnWaterOneCm: return 8; - case CustomStatistic::WalkUnderWaterOneCm: return 12; - default: return static_cast(-1); - } + case CustomStatistic::AnimalsBred: return 30; + case CustomStatistic::AviateOneCm: return 17; + case CustomStatistic::BellRing: return 66; + case CustomStatistic::BoatOneCm: return 14; + case CustomStatistic::CleanArmor: return 38; + case CustomStatistic::CleanBanner: return 39; + case CustomStatistic::CleanShulkerBox: return 40; + case CustomStatistic::ClimbOneCm: return 10; + case CustomStatistic::CrouchOneCm: return 6; + case CustomStatistic::DamageAbsorbed: return 26; + case CustomStatistic::DamageBlockedByShield: return 25; + case CustomStatistic::DamageDealt: return 21; + case CustomStatistic::DamageDealtAbsorbed: return 22; + case CustomStatistic::DamageDealtResisted: return 23; + case CustomStatistic::DamageResisted: return 27; + case CustomStatistic::DamageTaken: return 24; + case CustomStatistic::Deaths: return 28; + case CustomStatistic::Drop: return 20; + case CustomStatistic::EatCakeSlice: return 35; + case CustomStatistic::EnchantItem: return 51; + case CustomStatistic::FallOneCm: return 9; + case CustomStatistic::FillCauldron: return 36; + case CustomStatistic::FishCaught: return 32; + case CustomStatistic::FlyOneCm: return 11; + case CustomStatistic::HorseOneCm: return 16; + case CustomStatistic::InspectDispenser: return 45; + case CustomStatistic::InspectDropper: return 43; + case CustomStatistic::InspectHopper: return 44; + case CustomStatistic::InteractWithBeacon: return 42; + case CustomStatistic::InteractWithBlastFurnace: return 59; + case CustomStatistic::InteractWithBrewingstand: return 41; + case CustomStatistic::InteractWithCampfire: return 62; + case CustomStatistic::InteractWithCartographyTable: return 63; + case CustomStatistic::InteractWithCraftingTable: return 54; + case CustomStatistic::InteractWithFurnace: return 53; + case CustomStatistic::InteractWithLectern: return 61; + case CustomStatistic::InteractWithLoom: return 64; + case CustomStatistic::InteractWithSmoker: return 60; + case CustomStatistic::InteractWithStonecutter: return 65; + case CustomStatistic::Jump: return 19; + case CustomStatistic::LeaveGame: return 0; + case CustomStatistic::MinecartOneCm: return 13; + case CustomStatistic::MobKills: return 29; + case CustomStatistic::OpenBarrel: return 58; + case CustomStatistic::OpenChest: return 55; + case CustomStatistic::OpenEnderchest: return 50; + case CustomStatistic::OpenShulkerBox: return 57; + case CustomStatistic::PigOneCm: return 15; + case CustomStatistic::PlayerKills: return 31; + case CustomStatistic::PlayNoteblock: return 46; + case CustomStatistic::PlayOneMinute: return 1; + case CustomStatistic::PlayRecord: return 52; + case CustomStatistic::PotFlower: return 48; + case CustomStatistic::RaidTrigger: return 67; + case CustomStatistic::RaidWin: return 68; + case CustomStatistic::SleepInBed: return 56; + case CustomStatistic::SneakTime: return 4; + case CustomStatistic::SprintOneCm: return 7; + case CustomStatistic::SwimOneCm: return 18; + case CustomStatistic::TalkedToVillager: return 33; + case CustomStatistic::TimeSinceDeath: return 2; + case CustomStatistic::TimeSinceRest: return 3; + case CustomStatistic::TradedWithVillager: return 34; + case CustomStatistic::TriggerTrappedChest: return 49; + case CustomStatistic::TuneNoteblock: return 47; + case CustomStatistic::UseCauldron: return 37; + case CustomStatistic::WalkOneCm: return 5; + case CustomStatistic::WalkOnWaterOneCm: return 8; + case CustomStatistic::WalkUnderWaterOneCm: return 12; + default: return static_cast(-1); } +} - Item ToItem(const UInt32 ID) +Item ToItem(const UInt32 ID) +{ + switch (ID) { - switch (ID) - { - case 833: return Item::AcaciaBoat; - case 263: return Item::AcaciaButton; - case 511: return Item::AcaciaDoor; - case 185: return Item::AcaciaFence; - case 220: return Item::AcaciaFenceGate; - case 60: return Item::AcaciaLeaves; - case 36: return Item::AcaciaLog; - case 17: return Item::AcaciaPlanks; - case 170: return Item::AcaciaPressurePlate; - case 23: return Item::AcaciaSapling; - case 593: return Item::AcaciaSign; - case 119: return Item::AcaciaSlab; - case 319: return Item::AcaciaStairs; - case 197: return Item::AcaciaTrapdoor; - case 54: return Item::AcaciaWood; - case 279: return Item::ActivatorRail; - case -0: return Item::Air; - case 101: return Item::Allium; - case 6: return Item::Andesite; - case 501: return Item::AndesiteSlab; - case 488: return Item::AndesiteStairs; - case 254: return Item::AndesiteWall; - case 265: return Item::Anvil; - case 524: return Item::Apple; - case 791: return Item::ArmorStand; - case 526: return Item::Arrow; - case 102: return Item::AzureBluet; - case 764: return Item::BakedPotato; - case 614: return Item::Bamboo; - case 864: return Item::Barrel; - case 297: return Item::Barrier; - case 697: return Item::BatSpawnEgg; - case 244: return Item::Beacon; - case 25: return Item::Bedrock; - case 677: return Item::Beef; - case 820: return Item::Beetroot; - case 821: return Item::BeetrootSeeds; - case 822: return Item::BeetrootSoup; - case 873: return Item::Bell; - case 831: return Item::BirchBoat; - case 261: return Item::BirchButton; - case 509: return Item::BirchDoor; - case 183: return Item::BirchFence; - case 218: return Item::BirchFenceGate; - case 58: return Item::BirchLeaves; - case 34: return Item::BirchLog; - case 15: return Item::BirchPlanks; - case 168: return Item::BirchPressurePlate; - case 21: return Item::BirchSapling; - case 591: return Item::BirchSign; - case 117: return Item::BirchSlab; - case 241: return Item::BirchStairs; - case 195: return Item::BirchTrapdoor; - case 52: return Item::BirchWood; - case 816: return Item::BlackBanner; - case 669: return Item::BlackBed; - case 315: return Item::BlackCarpet; - case 428: return Item::BlackConcrete; - case 444: return Item::BlackConcretePowder; - case 649: return Item::BlackDye; - case 412: return Item::BlackGlazedTerracotta; - case 396: return Item::BlackShulkerBox; - case 344: return Item::BlackStainedGlass; - case 360: return Item::BlackStainedGlassPane; - case 296: return Item::BlackTerracotta; - case 97: return Item::BlackWool; - case 866: return Item::BlastFurnace; - case 691: return Item::BlazePowder; - case 683: return Item::BlazeRod; - case 698: return Item::BlazeSpawnEgg; - case 812: return Item::BlueBanner; - case 665: return Item::BlueBed; - case 311: return Item::BlueCarpet; - case 424: return Item::BlueConcrete; - case 440: return Item::BlueConcretePowder; - case 647: return Item::BlueDye; - case 408: return Item::BlueGlazedTerracotta; - case 476: return Item::BlueIce; - case 100: return Item::BlueOrchid; - case 392: return Item::BlueShulkerBox; - case 340: return Item::BlueStainedGlass; - case 356: return Item::BlueStainedGlassPane; - case 292: return Item::BlueTerracotta; - case 93: return Item::BlueWool; - case 651: return Item::Bone; - case 377: return Item::BoneBlock; - case 646: return Item::BoneMeal; - case 616: return Item::Book; - case 143: return Item::Bookshelf; - case 525: return Item::Bow; - case 546: return Item::Bowl; - case 457: return Item::BrainCoral; - case 452: return Item::BrainCoralBlock; - case 467: return Item::BrainCoralFan; - case 562: return Item::Bread; - case 693: return Item::BrewingStand; - case 609: return Item::Brick; - case 127: return Item::BrickSlab; - case 222: return Item::BrickStairs; - case 247: return Item::BrickWall; - case 141: return Item::Bricks; - case 813: return Item::BrownBanner; - case 666: return Item::BrownBed; - case 312: return Item::BrownCarpet; - case 425: return Item::BrownConcrete; - case 441: return Item::BrownConcretePowder; - case 648: return Item::BrownDye; - case 409: return Item::BrownGlazedTerracotta; - case 111: return Item::BrownMushroom; - case 209: return Item::BrownMushroomBlock; - case 393: return Item::BrownShulkerBox; - case 341: return Item::BrownStainedGlass; - case 357: return Item::BrownStainedGlassPane; - case 293: return Item::BrownTerracotta; - case 94: return Item::BrownWool; - case 458: return Item::BubbleCoral; - case 453: return Item::BubbleCoralBlock; - case 468: return Item::BubbleCoralFan; - case 595: return Item::Bucket; - case 178: return Item::Cactus; - case 653: return Item::Cake; - case 876: return Item::Campfire; - case 762: return Item::Carrot; - case 774: return Item::CarrotOnAStick; - case 867: return Item::CartographyTable; - case 188: return Item::CarvedPumpkin; - case 699: return Item::CatSpawnEgg; - case 694: return Item::Cauldron; - case 700: return Item::CaveSpiderSpawnEgg; - case 373: return Item::ChainCommandBlock; - case 570: return Item::ChainmailBoots; - case 568: return Item::ChainmailChestplate; - case 567: return Item::ChainmailHelmet; - case 569: return Item::ChainmailLeggings; - case 528: return Item::Charcoal; - case 155: return Item::Chest; - case 618: return Item::ChestMinecart; - case 679: return Item::Chicken; - case 701: return Item::ChickenSpawnEgg; - case 266: return Item::ChippedAnvil; - case 275: return Item::ChiseledQuartzBlock; - case 369: return Item::ChiseledRedSandstone; - case 69: return Item::ChiseledSandstone; - case 208: return Item::ChiseledStoneBricks; - case 149: return Item::ChorusFlower; - case 818: return Item::ChorusFruit; - case 148: return Item::ChorusPlant; - case 179: return Item::Clay; - case 610: return Item::ClayBall; - case 623: return Item::Clock; - case 527: return Item::Coal; - case 317: return Item::CoalBlock; - case 31: return Item::CoalOre; - case 10: return Item::CoarseDirt; - case 12: return Item::Cobblestone; - case 126: return Item::CobblestoneSlab; - case 163: return Item::CobblestoneStairs; - case 245: return Item::CobblestoneWall; - case 75: return Item::Cobweb; - case 634: return Item::CocoaBeans; - case 625: return Item::Cod; - case 607: return Item::CodBucket; - case 702: return Item::CodSpawnEgg; - case 243: return Item::CommandBlock; - case 798: return Item::CommandBlockMinecart; - case 514: return Item::Comparator; - case 621: return Item::Compass; - case 517: return Item::Composter; - case 477: return Item::Conduit; - case 678: return Item::CookedBeef; - case 680: return Item::CookedChicken; - case 629: return Item::CookedCod; - case 800: return Item::CookedMutton; - case 585: return Item::CookedPorkchop; - case 787: return Item::CookedRabbit; - case 630: return Item::CookedSalmon; - case 670: return Item::Cookie; - case 108: return Item::Cornflower; - case 703: return Item::CowSpawnEgg; - case 207: return Item::CrackedStoneBricks; - case 158: return Item::CraftingTable; - case 860: return Item::CreeperBannerPattern; - case 772: return Item::CreeperHead; - case 704: return Item::CreeperSpawnEgg; - case 856: return Item::Crossbow; - case 370: return Item::CutRedSandstone; - case 132: return Item::CutRedSandstoneSlab; - case 70: return Item::CutSandstone; - case 124: return Item::CutSandstoneSlab; - case 810: return Item::CyanBanner; - case 663: return Item::CyanBed; - case 309: return Item::CyanCarpet; - case 422: return Item::CyanConcrete; - case 438: return Item::CyanConcretePowder; - case 637: return Item::CyanDye; - case 406: return Item::CyanGlazedTerracotta; - case 390: return Item::CyanShulkerBox; - case 338: return Item::CyanStainedGlass; - case 354: return Item::CyanStainedGlassPane; - case 290: return Item::CyanTerracotta; - case 91: return Item::CyanWool; - case 267: return Item::DamagedAnvil; - case 98: return Item::Dandelion; - case 834: return Item::DarkOakBoat; - case 264: return Item::DarkOakButton; - case 512: return Item::DarkOakDoor; - case 186: return Item::DarkOakFence; - case 221: return Item::DarkOakFenceGate; - case 61: return Item::DarkOakLeaves; - case 37: return Item::DarkOakLog; - case 18: return Item::DarkOakPlanks; - case 171: return Item::DarkOakPressurePlate; - case 24: return Item::DarkOakSapling; - case 594: return Item::DarkOakSign; - case 120: return Item::DarkOakSlab; - case 320: return Item::DarkOakStairs; - case 198: return Item::DarkOakTrapdoor; - case 55: return Item::DarkOakWood; - case 363: return Item::DarkPrismarine; - case 136: return Item::DarkPrismarineSlab; - case 366: return Item::DarkPrismarineStairs; - case 271: return Item::DaylightDetector; - case 461: return Item::DeadBrainCoral; - case 447: return Item::DeadBrainCoralBlock; - case 472: return Item::DeadBrainCoralFan; - case 462: return Item::DeadBubbleCoral; - case 448: return Item::DeadBubbleCoralBlock; - case 473: return Item::DeadBubbleCoralFan; - case 78: return Item::DeadBush; - case 463: return Item::DeadFireCoral; - case 449: return Item::DeadFireCoralBlock; - case 474: return Item::DeadFireCoralFan; - case 464: return Item::DeadHornCoral; - case 450: return Item::DeadHornCoralBlock; - case 475: return Item::DeadHornCoralFan; - case 465: return Item::DeadTubeCoral; - case 446: return Item::DeadTubeCoralBlock; - case 471: return Item::DeadTubeCoralFan; - case 839: return Item::DebugStick; - case 73: return Item::DetectorRail; - case 529: return Item::Diamond; - case 544: return Item::DiamondAxe; - case 157: return Item::DiamondBlock; - case 578: return Item::DiamondBoots; - case 576: return Item::DiamondChestplate; - case 575: return Item::DiamondHelmet; - case 558: return Item::DiamondHoe; - case 794: return Item::DiamondHorseArmor; - case 577: return Item::DiamondLeggings; - case 156: return Item::DiamondOre; - case 543: return Item::DiamondPickaxe; - case 542: return Item::DiamondShovel; - case 541: return Item::DiamondSword; - case 4: return Item::Diorite; - case 504: return Item::DioriteSlab; - case 491: return Item::DioriteStairs; - case 258: return Item::DioriteWall; - case 9: return Item::Dirt; - case 67: return Item::Dispenser; - case 705: return Item::DolphinSpawnEgg; - case 706: return Item::DonkeySpawnEgg; - case 823: return Item::DragonBreath; - case 233: return Item::DragonEgg; - case 773: return Item::DragonHead; - case 674: return Item::DriedKelp; - case 613: return Item::DriedKelpBlock; - case 280: return Item::Dropper; - case 707: return Item::DrownedSpawnEgg; - case 620: return Item::Egg; - case 708: return Item::ElderGuardianSpawnEgg; - case 829: return Item::Elytra; - case 759: return Item::Emerald; - case 239: return Item::EmeraldBlock; - case 236: return Item::EmeraldOre; - case 779: return Item::EnchantedBook; - case 588: return Item::EnchantedGoldenApple; - case 229: return Item::EnchantingTable; - case 817: return Item::EndCrystal; - case 230: return Item::EndPortalFrame; - case 147: return Item::EndRod; - case 231: return Item::EndStone; - case 497: return Item::EndStoneBrickSlab; - case 483: return Item::EndStoneBrickStairs; - case 257: return Item::EndStoneBrickWall; - case 232: return Item::EndStoneBricks; - case 237: return Item::EnderChest; - case 695: return Item::EnderEye; - case 682: return Item::EnderPearl; - case 709: return Item::EndermanSpawnEgg; - case 710: return Item::EndermiteSpawnEgg; - case 711: return Item::EvokerSpawnEgg; - case 755: return Item::ExperienceBottle; - case 159: return Item::Farmland; - case 553: return Item::Feather; - case 690: return Item::FermentedSpiderEye; - case 77: return Item::Fern; - case 671: return Item::FilledMap; - case 756: return Item::FireCharge; - case 459: return Item::FireCoral; - case 454: return Item::FireCoralBlock; - case 469: return Item::FireCoralFan; - case 777: return Item::FireworkRocket; - case 778: return Item::FireworkStar; - case 622: return Item::FishingRod; - case 868: return Item::FletchingTable; - case 583: return Item::Flint; - case 523: return Item::FlintAndSteel; - case 859: return Item::FlowerBannerPattern; - case 761: return Item::FlowerPot; - case 712: return Item::FoxSpawnEgg; - case 160: return Item::Furnace; - case 619: return Item::FurnaceMinecart; - case 713: return Item::GhastSpawnEgg; - case 684: return Item::GhastTear; - case 64: return Item::Glass; - case 688: return Item::GlassBottle; - case 213: return Item::GlassPane; - case 696: return Item::GlisteringMelonSlice; - case 863: return Item::GlobeBannerPattern; - case 191: return Item::Glowstone; - case 624: return Item::GlowstoneDust; - case 113: return Item::GoldBlock; - case 531: return Item::GoldIngot; - case 685: return Item::GoldNugget; - case 29: return Item::GoldOre; - case 587: return Item::GoldenApple; - case 551: return Item::GoldenAxe; - case 582: return Item::GoldenBoots; - case 767: return Item::GoldenCarrot; - case 580: return Item::GoldenChestplate; - case 579: return Item::GoldenHelmet; - case 559: return Item::GoldenHoe; - case 793: return Item::GoldenHorseArmor; - case 581: return Item::GoldenLeggings; - case 550: return Item::GoldenPickaxe; - case 549: return Item::GoldenShovel; - case 548: return Item::GoldenSword; - case 2: return Item::Granite; - case 500: return Item::GraniteSlab; - case 487: return Item::GraniteStairs; - case 251: return Item::GraniteWall; - case 76: return Item::Grass; - case 8: return Item::GrassBlock; - case 322: return Item::GrassPath; - case 28: return Item::Gravel; - case 808: return Item::GrayBanner; - case 661: return Item::GrayBed; - case 307: return Item::GrayCarpet; - case 420: return Item::GrayConcrete; - case 436: return Item::GrayConcretePowder; - case 639: return Item::GrayDye; - case 404: return Item::GrayGlazedTerracotta; - case 388: return Item::GrayShulkerBox; - case 336: return Item::GrayStainedGlass; - case 352: return Item::GrayStainedGlassPane; - case 288: return Item::GrayTerracotta; - case 89: return Item::GrayWool; - case 814: return Item::GreenBanner; - case 667: return Item::GreenBed; - case 313: return Item::GreenCarpet; - case 426: return Item::GreenConcrete; - case 442: return Item::GreenConcretePowder; - case 633: return Item::GreenDye; - case 410: return Item::GreenGlazedTerracotta; - case 394: return Item::GreenShulkerBox; - case 342: return Item::GreenStainedGlass; - case 358: return Item::GreenStainedGlassPane; - case 294: return Item::GreenTerracotta; - case 95: return Item::GreenWool; - case 869: return Item::Grindstone; - case 714: return Item::GuardianSpawnEgg; - case 554: return Item::Gunpowder; - case 299: return Item::HayBale; - case 855: return Item::HeartOfTheSea; - case 270: return Item::HeavyWeightedPressurePlate; - case 274: return Item::Hopper; - case 783: return Item::HopperMinecart; - case 460: return Item::HornCoral; - case 455: return Item::HornCoralBlock; - case 470: return Item::HornCoralFan; - case 715: return Item::HorseSpawnEgg; - case 716: return Item::HuskSpawnEgg; - case 176: return Item::Ice; - case 204: return Item::InfestedChiseledStoneBricks; - case 200: return Item::InfestedCobblestone; - case 203: return Item::InfestedCrackedStoneBricks; - case 202: return Item::InfestedMossyStoneBricks; - case 199: return Item::InfestedStone; - case 201: return Item::InfestedStoneBricks; - case 631: return Item::InkSac; - case 522: return Item::IronAxe; - case 212: return Item::IronBars; - case 114: return Item::IronBlock; - case 574: return Item::IronBoots; - case 572: return Item::IronChestplate; - case 506: return Item::IronDoor; - case 571: return Item::IronHelmet; - case 557: return Item::IronHoe; - case 792: return Item::IronHorseArmor; - case 530: return Item::IronIngot; - case 573: return Item::IronLeggings; - case 837: return Item::IronNugget; - case 30: return Item::IronOre; - case 521: return Item::IronPickaxe; - case 520: return Item::IronShovel; - case 532: return Item::IronSword; - case 298: return Item::IronTrapdoor; - case 760: return Item::ItemFrame; - case 192: return Item::JackOLantern; - case 516: return Item::Jigsaw; - case 180: return Item::Jukebox; - case 832: return Item::JungleBoat; - case 262: return Item::JungleButton; - case 510: return Item::JungleDoor; - case 184: return Item::JungleFence; - case 219: return Item::JungleFenceGate; - case 59: return Item::JungleLeaves; - case 35: return Item::JungleLog; - case 16: return Item::JunglePlanks; - case 169: return Item::JunglePressurePlate; - case 22: return Item::JungleSapling; - case 592: return Item::JungleSign; - case 118: return Item::JungleSlab; - case 242: return Item::JungleStairs; - case 196: return Item::JungleTrapdoor; - case 53: return Item::JungleWood; - case 612: return Item::Kelp; - case 838: return Item::KnowledgeBook; - case 161: return Item::Ladder; - case 874: return Item::Lantern; - case 66: return Item::LapisBlock; - case 635: return Item::LapisLazuli; - case 65: return Item::LapisOre; - case 328: return Item::LargeFern; - case 597: return Item::LavaBucket; - case 796: return Item::Lead; - case 603: return Item::Leather; - case 566: return Item::LeatherBoots; - case 564: return Item::LeatherChestplate; - case 563: return Item::LeatherHelmet; - case 795: return Item::LeatherHorseArmor; - case 565: return Item::LeatherLeggings; - case 870: return Item::Lectern; - case 164: return Item::Lever; - case 804: return Item::LightBlueBanner; - case 657: return Item::LightBlueBed; - case 303: return Item::LightBlueCarpet; - case 416: return Item::LightBlueConcrete; - case 432: return Item::LightBlueConcretePowder; - case 643: return Item::LightBlueDye; - case 400: return Item::LightBlueGlazedTerracotta; - case 384: return Item::LightBlueShulkerBox; - case 332: return Item::LightBlueStainedGlass; - case 348: return Item::LightBlueStainedGlassPane; - case 284: return Item::LightBlueTerracotta; - case 85: return Item::LightBlueWool; - case 809: return Item::LightGrayBanner; - case 662: return Item::LightGrayBed; - case 308: return Item::LightGrayCarpet; - case 421: return Item::LightGrayConcrete; - case 437: return Item::LightGrayConcretePowder; - case 638: return Item::LightGrayDye; - case 405: return Item::LightGrayGlazedTerracotta; - case 389: return Item::LightGrayShulkerBox; - case 337: return Item::LightGrayStainedGlass; - case 353: return Item::LightGrayStainedGlassPane; - case 289: return Item::LightGrayTerracotta; - case 90: return Item::LightGrayWool; - case 269: return Item::LightWeightedPressurePlate; - case 324: return Item::Lilac; - case 109: return Item::LilyOfTheValley; - case 225: return Item::LilyPad; - case 806: return Item::LimeBanner; - case 659: return Item::LimeBed; - case 305: return Item::LimeCarpet; - case 418: return Item::LimeConcrete; - case 434: return Item::LimeConcretePowder; - case 641: return Item::LimeDye; - case 402: return Item::LimeGlazedTerracotta; - case 386: return Item::LimeShulkerBox; - case 334: return Item::LimeStainedGlass; - case 350: return Item::LimeStainedGlassPane; - case 286: return Item::LimeTerracotta; - case 87: return Item::LimeWool; - case 827: return Item::LingeringPotion; - case 717: return Item::LlamaSpawnEgg; - case 858: return Item::Loom; - case 803: return Item::MagentaBanner; - case 656: return Item::MagentaBed; - case 302: return Item::MagentaCarpet; - case 415: return Item::MagentaConcrete; - case 431: return Item::MagentaConcretePowder; - case 644: return Item::MagentaDye; - case 399: return Item::MagentaGlazedTerracotta; - case 383: return Item::MagentaShulkerBox; - case 331: return Item::MagentaStainedGlass; - case 347: return Item::MagentaStainedGlassPane; - case 283: return Item::MagentaTerracotta; - case 84: return Item::MagentaWool; - case 374: return Item::MagmaBlock; - case 692: return Item::MagmaCream; - case 718: return Item::MagmaCubeSpawnEgg; - case 766: return Item::Map; - case 214: return Item::Melon; - case 676: return Item::MelonSeeds; - case 673: return Item::MelonSlice; - case 604: return Item::MilkBucket; - case 598: return Item::Minecart; - case 862: return Item::MojangBannerPattern; - case 719: return Item::MooshroomSpawnEgg; - case 144: return Item::MossyCobblestone; - case 496: return Item::MossyCobblestoneSlab; - case 482: return Item::MossyCobblestoneStairs; - case 246: return Item::MossyCobblestoneWall; - case 494: return Item::MossyStoneBrickSlab; - case 480: return Item::MossyStoneBrickStairs; - case 250: return Item::MossyStoneBrickWall; - case 206: return Item::MossyStoneBricks; - case 720: return Item::MuleSpawnEgg; - case 211: return Item::MushroomStem; - case 547: return Item::MushroomStew; - case 850: return Item::MusicDisc11; - case 840: return Item::MusicDisc13; - case 842: return Item::MusicDiscBlocks; - case 841: return Item::MusicDiscCat; - case 843: return Item::MusicDiscChirp; - case 844: return Item::MusicDiscFar; - case 845: return Item::MusicDiscMall; - case 846: return Item::MusicDiscMellohi; - case 847: return Item::MusicDiscStal; - case 848: return Item::MusicDiscStrad; - case 851: return Item::MusicDiscWait; - case 849: return Item::MusicDiscWard; - case 799: return Item::Mutton; - case 224: return Item::Mycelium; - case 797: return Item::NameTag; - case 854: return Item::NautilusShell; - case 780: return Item::NetherBrick; - case 227: return Item::NetherBrickFence; - case 129: return Item::NetherBrickSlab; - case 228: return Item::NetherBrickStairs; - case 253: return Item::NetherBrickWall; - case 226: return Item::NetherBricks; - case 273: return Item::NetherQuartzOre; - case 775: return Item::NetherStar; - case 686: return Item::NetherWart; - case 375: return Item::NetherWartBlock; - case 189: return Item::Netherrack; - case 71: return Item::NoteBlock; - case 602: return Item::OakBoat; - case 259: return Item::OakButton; - case 507: return Item::OakDoor; - case 181: return Item::OakFence; - case 216: return Item::OakFenceGate; - case 56: return Item::OakLeaves; - case 32: return Item::OakLog; - case 13: return Item::OakPlanks; - case 166: return Item::OakPressurePlate; - case 19: return Item::OakSapling; - case 589: return Item::OakSign; - case 115: return Item::OakSlab; - case 154: return Item::OakStairs; - case 193: return Item::OakTrapdoor; - case 50: return Item::OakWood; - case 379: return Item::Observer; - case 145: return Item::Obsidian; - case 721: return Item::OcelotSpawnEgg; - case 802: return Item::OrangeBanner; - case 655: return Item::OrangeBed; - case 301: return Item::OrangeCarpet; - case 414: return Item::OrangeConcrete; - case 430: return Item::OrangeConcretePowder; - case 645: return Item::OrangeDye; - case 398: return Item::OrangeGlazedTerracotta; - case 382: return Item::OrangeShulkerBox; - case 330: return Item::OrangeStainedGlass; - case 346: return Item::OrangeStainedGlassPane; - case 282: return Item::OrangeTerracotta; - case 104: return Item::OrangeTulip; - case 83: return Item::OrangeWool; - case 107: return Item::OxeyeDaisy; - case 318: return Item::PackedIce; - case 586: return Item::Painting; - case 722: return Item::PandaSpawnEgg; - case 615: return Item::Paper; - case 723: return Item::ParrotSpawnEgg; - case 326: return Item::Peony; - case 125: return Item::PetrifiedOakSlab; - case 853: return Item::PhantomMembrane; - case 724: return Item::PhantomSpawnEgg; - case 725: return Item::PigSpawnEgg; - case 726: return Item::PillagerSpawnEgg; - case 807: return Item::PinkBanner; - case 660: return Item::PinkBed; - case 306: return Item::PinkCarpet; - case 419: return Item::PinkConcrete; - case 435: return Item::PinkConcretePowder; - case 640: return Item::PinkDye; - case 403: return Item::PinkGlazedTerracotta; - case 387: return Item::PinkShulkerBox; - case 335: return Item::PinkStainedGlass; - case 351: return Item::PinkStainedGlassPane; - case 287: return Item::PinkTerracotta; - case 106: return Item::PinkTulip; - case 88: return Item::PinkWool; - case 81: return Item::Piston; - case 770: return Item::PlayerHead; - case 11: return Item::Podzol; - case 765: return Item::PoisonousPotato; - case 727: return Item::PolarBearSpawnEgg; - case 7: return Item::PolishedAndesite; - case 503: return Item::PolishedAndesiteSlab; - case 490: return Item::PolishedAndesiteStairs; - case 5: return Item::PolishedDiorite; - case 495: return Item::PolishedDioriteSlab; - case 481: return Item::PolishedDioriteStairs; - case 3: return Item::PolishedGranite; - case 492: return Item::PolishedGraniteSlab; - case 478: return Item::PolishedGraniteStairs; - case 819: return Item::PoppedChorusFruit; - case 99: return Item::Poppy; - case 584: return Item::Porkchop; - case 763: return Item::Potato; - case 687: return Item::Potion; - case 72: return Item::PoweredRail; - case 361: return Item::Prismarine; - case 135: return Item::PrismarineBrickSlab; - case 365: return Item::PrismarineBrickStairs; - case 362: return Item::PrismarineBricks; - case 785: return Item::PrismarineCrystals; - case 784: return Item::PrismarineShard; - case 134: return Item::PrismarineSlab; - case 364: return Item::PrismarineStairs; - case 248: return Item::PrismarineWall; - case 628: return Item::Pufferfish; - case 605: return Item::PufferfishBucket; - case 728: return Item::PufferfishSpawnEgg; - case 187: return Item::Pumpkin; - case 776: return Item::PumpkinPie; - case 675: return Item::PumpkinSeeds; - case 811: return Item::PurpleBanner; - case 664: return Item::PurpleBed; - case 310: return Item::PurpleCarpet; - case 423: return Item::PurpleConcrete; - case 439: return Item::PurpleConcretePowder; - case 636: return Item::PurpleDye; - case 407: return Item::PurpleGlazedTerracotta; - case 391: return Item::PurpleShulkerBox; - case 339: return Item::PurpleStainedGlass; - case 355: return Item::PurpleStainedGlassPane; - case 291: return Item::PurpleTerracotta; - case 92: return Item::PurpleWool; - case 150: return Item::PurpurBlock; - case 151: return Item::PurpurPillar; - case 133: return Item::PurpurSlab; - case 152: return Item::PurpurStairs; - case 781: return Item::Quartz; - case 276: return Item::QuartzBlock; - case 277: return Item::QuartzPillar; - case 130: return Item::QuartzSlab; - case 278: return Item::QuartzStairs; - case 786: return Item::Rabbit; - case 789: return Item::RabbitFoot; - case 790: return Item::RabbitHide; - case 729: return Item::RabbitSpawnEgg; - case 788: return Item::RabbitStew; - case 162: return Item::Rail; - case 730: return Item::RavagerSpawnEgg; - case 815: return Item::RedBanner; - case 668: return Item::RedBed; - case 314: return Item::RedCarpet; - case 427: return Item::RedConcrete; - case 443: return Item::RedConcretePowder; - case 632: return Item::RedDye; - case 411: return Item::RedGlazedTerracotta; - case 112: return Item::RedMushroom; - case 210: return Item::RedMushroomBlock; - case 502: return Item::RedNetherBrickSlab; - case 489: return Item::RedNetherBrickStairs; - case 255: return Item::RedNetherBrickWall; - case 376: return Item::RedNetherBricks; - case 27: return Item::RedSand; - case 368: return Item::RedSandstone; - case 131: return Item::RedSandstoneSlab; - case 371: return Item::RedSandstoneStairs; - case 249: return Item::RedSandstoneWall; - case 395: return Item::RedShulkerBox; - case 343: return Item::RedStainedGlass; - case 359: return Item::RedStainedGlassPane; - case 295: return Item::RedTerracotta; - case 103: return Item::RedTulip; - case 96: return Item::RedWool; - case 600: return Item::Redstone; - case 272: return Item::RedstoneBlock; - case 234: return Item::RedstoneLamp; - case 172: return Item::RedstoneOre; - case 173: return Item::RedstoneTorch; - case 513: return Item::Repeater; - case 372: return Item::RepeatingCommandBlock; - case 325: return Item::RoseBush; - case 681: return Item::RottenFlesh; - case 599: return Item::Saddle; - case 626: return Item::Salmon; - case 606: return Item::SalmonBucket; - case 731: return Item::SalmonSpawnEgg; - case 26: return Item::Sand; - case 68: return Item::Sandstone; - case 123: return Item::SandstoneSlab; - case 235: return Item::SandstoneStairs; - case 256: return Item::SandstoneWall; - case 505: return Item::Scaffolding; - case 519: return Item::Scute; - case 367: return Item::SeaLantern; - case 80: return Item::SeaPickle; - case 79: return Item::Seagrass; - case 672: return Item::Shears; - case 732: return Item::SheepSpawnEgg; - case 828: return Item::Shield; - case 380: return Item::ShulkerBox; - case 836: return Item::ShulkerShell; - case 733: return Item::ShulkerSpawnEgg; - case 734: return Item::SilverfishSpawnEgg; - case 736: return Item::SkeletonHorseSpawnEgg; - case 768: return Item::SkeletonSkull; - case 735: return Item::SkeletonSpawnEgg; - case 861: return Item::SkullBannerPattern; - case 617: return Item::SlimeBall; - case 321: return Item::SlimeBlock; - case 737: return Item::SlimeSpawnEgg; - case 871: return Item::SmithingTable; - case 865: return Item::Smoker; - case 137: return Item::SmoothQuartz; - case 499: return Item::SmoothQuartzSlab; - case 486: return Item::SmoothQuartzStairs; - case 138: return Item::SmoothRedSandstone; - case 493: return Item::SmoothRedSandstoneSlab; - case 479: return Item::SmoothRedSandstoneStairs; - case 139: return Item::SmoothSandstone; - case 498: return Item::SmoothSandstoneSlab; - case 485: return Item::SmoothSandstoneStairs; - case 140: return Item::SmoothStone; - case 122: return Item::SmoothStoneSlab; - case 175: return Item::Snow; - case 177: return Item::SnowBlock; - case 601: return Item::Snowball; - case 190: return Item::SoulSand; - case 153: return Item::Spawner; - case 825: return Item::SpectralArrow; - case 689: return Item::SpiderEye; - case 738: return Item::SpiderSpawnEgg; - case 824: return Item::SplashPotion; - case 62: return Item::Sponge; - case 830: return Item::SpruceBoat; - case 260: return Item::SpruceButton; - case 508: return Item::SpruceDoor; - case 182: return Item::SpruceFence; - case 217: return Item::SpruceFenceGate; - case 57: return Item::SpruceLeaves; - case 33: return Item::SpruceLog; - case 14: return Item::SprucePlanks; - case 167: return Item::SprucePressurePlate; - case 20: return Item::SpruceSapling; - case 590: return Item::SpruceSign; - case 116: return Item::SpruceSlab; - case 240: return Item::SpruceStairs; - case 194: return Item::SpruceTrapdoor; - case 51: return Item::SpruceWood; - case 739: return Item::SquidSpawnEgg; - case 545: return Item::Stick; - case 74: return Item::StickyPiston; - case 1: return Item::Stone; - case 540: return Item::StoneAxe; - case 128: return Item::StoneBrickSlab; - case 223: return Item::StoneBrickStairs; - case 252: return Item::StoneBrickWall; - case 205: return Item::StoneBricks; - case 174: return Item::StoneButton; - case 556: return Item::StoneHoe; - case 539: return Item::StonePickaxe; - case 165: return Item::StonePressurePlate; - case 538: return Item::StoneShovel; - case 121: return Item::StoneSlab; - case 484: return Item::StoneStairs; - case 537: return Item::StoneSword; - case 872: return Item::Stonecutter; - case 740: return Item::StraySpawnEgg; - case 552: return Item::String; - case 42: return Item::StrippedAcaciaLog; - case 48: return Item::StrippedAcaciaWood; - case 40: return Item::StrippedBirchLog; - case 46: return Item::StrippedBirchWood; - case 43: return Item::StrippedDarkOakLog; - case 49: return Item::StrippedDarkOakWood; - case 41: return Item::StrippedJungleLog; - case 47: return Item::StrippedJungleWood; - case 38: return Item::StrippedOakLog; - case 44: return Item::StrippedOakWood; - case 39: return Item::StrippedSpruceLog; - case 45: return Item::StrippedSpruceWood; - case 515: return Item::StructureBlock; - case 378: return Item::StructureVoid; - case 652: return Item::Sugar; - case 611: return Item::SugarCane; - case 323: return Item::Sunflower; - case 857: return Item::SuspiciousStew; - case 875: return Item::SweetBerries; - case 327: return Item::TallGrass; - case 316: return Item::Terracotta; - case 826: return Item::TippedArrow; - case 142: return Item::TNT; - case 782: return Item::TNTMinecart; - case 146: return Item::Torch; - case 835: return Item::TotemOfUndying; - case 741: return Item::TraderLlamaSpawnEgg; - case 268: return Item::TrappedChest; - case 852: return Item::Trident; - case 238: return Item::TripwireHook; - case 627: return Item::TropicalFish; - case 608: return Item::TropicalFishBucket; - case 742: return Item::TropicalFishSpawnEgg; - case 456: return Item::TubeCoral; - case 451: return Item::TubeCoralBlock; - case 466: return Item::TubeCoralFan; - case 445: return Item::TurtleEgg; - case 518: return Item::TurtleHelmet; - case 743: return Item::TurtleSpawnEgg; - case 744: return Item::VexSpawnEgg; - case 745: return Item::VillagerSpawnEgg; - case 746: return Item::VindicatorSpawnEgg; - case 215: return Item::Vine; - case 747: return Item::WanderingTraderSpawnEgg; - case 596: return Item::WaterBucket; - case 63: return Item::WetSponge; - case 561: return Item::Wheat; - case 560: return Item::WheatSeeds; - case 801: return Item::WhiteBanner; - case 654: return Item::WhiteBed; - case 300: return Item::WhiteCarpet; - case 413: return Item::WhiteConcrete; - case 429: return Item::WhiteConcretePowder; - case 650: return Item::WhiteDye; - case 397: return Item::WhiteGlazedTerracotta; - case 381: return Item::WhiteShulkerBox; - case 329: return Item::WhiteStainedGlass; - case 345: return Item::WhiteStainedGlassPane; - case 281: return Item::WhiteTerracotta; - case 105: return Item::WhiteTulip; - case 82: return Item::WhiteWool; - case 748: return Item::WitchSpawnEgg; - case 110: return Item::WitherRose; - case 769: return Item::WitherSkeletonSkull; - case 749: return Item::WitherSkeletonSpawnEgg; - case 750: return Item::WolfSpawnEgg; - case 536: return Item::WoodenAxe; - case 555: return Item::WoodenHoe; - case 535: return Item::WoodenPickaxe; - case 534: return Item::WoodenShovel; - case 533: return Item::WoodenSword; - case 757: return Item::WritableBook; - case 758: return Item::WrittenBook; - case 805: return Item::YellowBanner; - case 658: return Item::YellowBed; - case 304: return Item::YellowCarpet; - case 417: return Item::YellowConcrete; - case 433: return Item::YellowConcretePowder; - case 642: return Item::YellowDye; - case 401: return Item::YellowGlazedTerracotta; - case 385: return Item::YellowShulkerBox; - case 333: return Item::YellowStainedGlass; - case 349: return Item::YellowStainedGlassPane; - case 285: return Item::YellowTerracotta; - case 86: return Item::YellowWool; - case 771: return Item::ZombieHead; - case 752: return Item::ZombieHorseSpawnEgg; - case 753: return Item::ZombiePigmanSpawnEgg; - case 751: return Item::ZombieSpawnEgg; - case 754: return Item::ZombieVillagerSpawnEgg; - default: return Item::Air; - } + case 833: return Item::AcaciaBoat; + case 263: return Item::AcaciaButton; + case 511: return Item::AcaciaDoor; + case 185: return Item::AcaciaFence; + case 220: return Item::AcaciaFenceGate; + case 60: return Item::AcaciaLeaves; + case 36: return Item::AcaciaLog; + case 17: return Item::AcaciaPlanks; + case 170: return Item::AcaciaPressurePlate; + case 23: return Item::AcaciaSapling; + case 593: return Item::AcaciaSign; + case 119: return Item::AcaciaSlab; + case 319: return Item::AcaciaStairs; + case 197: return Item::AcaciaTrapdoor; + case 54: return Item::AcaciaWood; + case 279: return Item::ActivatorRail; + case -0: return Item::Air; + case 101: return Item::Allium; + case 6: return Item::Andesite; + case 501: return Item::AndesiteSlab; + case 488: return Item::AndesiteStairs; + case 254: return Item::AndesiteWall; + case 265: return Item::Anvil; + case 524: return Item::Apple; + case 791: return Item::ArmorStand; + case 526: return Item::Arrow; + case 102: return Item::AzureBluet; + case 764: return Item::BakedPotato; + case 614: return Item::Bamboo; + case 864: return Item::Barrel; + case 297: return Item::Barrier; + case 697: return Item::BatSpawnEgg; + case 244: return Item::Beacon; + case 25: return Item::Bedrock; + case 677: return Item::Beef; + case 820: return Item::Beetroot; + case 821: return Item::BeetrootSeeds; + case 822: return Item::BeetrootSoup; + case 873: return Item::Bell; + case 831: return Item::BirchBoat; + case 261: return Item::BirchButton; + case 509: return Item::BirchDoor; + case 183: return Item::BirchFence; + case 218: return Item::BirchFenceGate; + case 58: return Item::BirchLeaves; + case 34: return Item::BirchLog; + case 15: return Item::BirchPlanks; + case 168: return Item::BirchPressurePlate; + case 21: return Item::BirchSapling; + case 591: return Item::BirchSign; + case 117: return Item::BirchSlab; + case 241: return Item::BirchStairs; + case 195: return Item::BirchTrapdoor; + case 52: return Item::BirchWood; + case 816: return Item::BlackBanner; + case 669: return Item::BlackBed; + case 315: return Item::BlackCarpet; + case 428: return Item::BlackConcrete; + case 444: return Item::BlackConcretePowder; + case 649: return Item::BlackDye; + case 412: return Item::BlackGlazedTerracotta; + case 396: return Item::BlackShulkerBox; + case 344: return Item::BlackStainedGlass; + case 360: return Item::BlackStainedGlassPane; + case 296: return Item::BlackTerracotta; + case 97: return Item::BlackWool; + case 866: return Item::BlastFurnace; + case 691: return Item::BlazePowder; + case 683: return Item::BlazeRod; + case 698: return Item::BlazeSpawnEgg; + case 812: return Item::BlueBanner; + case 665: return Item::BlueBed; + case 311: return Item::BlueCarpet; + case 424: return Item::BlueConcrete; + case 440: return Item::BlueConcretePowder; + case 647: return Item::BlueDye; + case 408: return Item::BlueGlazedTerracotta; + case 476: return Item::BlueIce; + case 100: return Item::BlueOrchid; + case 392: return Item::BlueShulkerBox; + case 340: return Item::BlueStainedGlass; + case 356: return Item::BlueStainedGlassPane; + case 292: return Item::BlueTerracotta; + case 93: return Item::BlueWool; + case 651: return Item::Bone; + case 377: return Item::BoneBlock; + case 646: return Item::BoneMeal; + case 616: return Item::Book; + case 143: return Item::Bookshelf; + case 525: return Item::Bow; + case 546: return Item::Bowl; + case 457: return Item::BrainCoral; + case 452: return Item::BrainCoralBlock; + case 467: return Item::BrainCoralFan; + case 562: return Item::Bread; + case 693: return Item::BrewingStand; + case 609: return Item::Brick; + case 127: return Item::BrickSlab; + case 222: return Item::BrickStairs; + case 247: return Item::BrickWall; + case 141: return Item::Bricks; + case 813: return Item::BrownBanner; + case 666: return Item::BrownBed; + case 312: return Item::BrownCarpet; + case 425: return Item::BrownConcrete; + case 441: return Item::BrownConcretePowder; + case 648: return Item::BrownDye; + case 409: return Item::BrownGlazedTerracotta; + case 111: return Item::BrownMushroom; + case 209: return Item::BrownMushroomBlock; + case 393: return Item::BrownShulkerBox; + case 341: return Item::BrownStainedGlass; + case 357: return Item::BrownStainedGlassPane; + case 293: return Item::BrownTerracotta; + case 94: return Item::BrownWool; + case 458: return Item::BubbleCoral; + case 453: return Item::BubbleCoralBlock; + case 468: return Item::BubbleCoralFan; + case 595: return Item::Bucket; + case 178: return Item::Cactus; + case 653: return Item::Cake; + case 876: return Item::Campfire; + case 762: return Item::Carrot; + case 774: return Item::CarrotOnAStick; + case 867: return Item::CartographyTable; + case 188: return Item::CarvedPumpkin; + case 699: return Item::CatSpawnEgg; + case 694: return Item::Cauldron; + case 700: return Item::CaveSpiderSpawnEgg; + case 373: return Item::ChainCommandBlock; + case 570: return Item::ChainmailBoots; + case 568: return Item::ChainmailChestplate; + case 567: return Item::ChainmailHelmet; + case 569: return Item::ChainmailLeggings; + case 528: return Item::Charcoal; + case 155: return Item::Chest; + case 618: return Item::ChestMinecart; + case 679: return Item::Chicken; + case 701: return Item::ChickenSpawnEgg; + case 266: return Item::ChippedAnvil; + case 275: return Item::ChiseledQuartzBlock; + case 369: return Item::ChiseledRedSandstone; + case 69: return Item::ChiseledSandstone; + case 208: return Item::ChiseledStoneBricks; + case 149: return Item::ChorusFlower; + case 818: return Item::ChorusFruit; + case 148: return Item::ChorusPlant; + case 179: return Item::Clay; + case 610: return Item::ClayBall; + case 623: return Item::Clock; + case 527: return Item::Coal; + case 317: return Item::CoalBlock; + case 31: return Item::CoalOre; + case 10: return Item::CoarseDirt; + case 12: return Item::Cobblestone; + case 126: return Item::CobblestoneSlab; + case 163: return Item::CobblestoneStairs; + case 245: return Item::CobblestoneWall; + case 75: return Item::Cobweb; + case 634: return Item::CocoaBeans; + case 625: return Item::Cod; + case 607: return Item::CodBucket; + case 702: return Item::CodSpawnEgg; + case 243: return Item::CommandBlock; + case 798: return Item::CommandBlockMinecart; + case 514: return Item::Comparator; + case 621: return Item::Compass; + case 517: return Item::Composter; + case 477: return Item::Conduit; + case 678: return Item::CookedBeef; + case 680: return Item::CookedChicken; + case 629: return Item::CookedCod; + case 800: return Item::CookedMutton; + case 585: return Item::CookedPorkchop; + case 787: return Item::CookedRabbit; + case 630: return Item::CookedSalmon; + case 670: return Item::Cookie; + case 108: return Item::Cornflower; + case 703: return Item::CowSpawnEgg; + case 207: return Item::CrackedStoneBricks; + case 158: return Item::CraftingTable; + case 860: return Item::CreeperBannerPattern; + case 772: return Item::CreeperHead; + case 704: return Item::CreeperSpawnEgg; + case 856: return Item::Crossbow; + case 370: return Item::CutRedSandstone; + case 132: return Item::CutRedSandstoneSlab; + case 70: return Item::CutSandstone; + case 124: return Item::CutSandstoneSlab; + case 810: return Item::CyanBanner; + case 663: return Item::CyanBed; + case 309: return Item::CyanCarpet; + case 422: return Item::CyanConcrete; + case 438: return Item::CyanConcretePowder; + case 637: return Item::CyanDye; + case 406: return Item::CyanGlazedTerracotta; + case 390: return Item::CyanShulkerBox; + case 338: return Item::CyanStainedGlass; + case 354: return Item::CyanStainedGlassPane; + case 290: return Item::CyanTerracotta; + case 91: return Item::CyanWool; + case 267: return Item::DamagedAnvil; + case 98: return Item::Dandelion; + case 834: return Item::DarkOakBoat; + case 264: return Item::DarkOakButton; + case 512: return Item::DarkOakDoor; + case 186: return Item::DarkOakFence; + case 221: return Item::DarkOakFenceGate; + case 61: return Item::DarkOakLeaves; + case 37: return Item::DarkOakLog; + case 18: return Item::DarkOakPlanks; + case 171: return Item::DarkOakPressurePlate; + case 24: return Item::DarkOakSapling; + case 594: return Item::DarkOakSign; + case 120: return Item::DarkOakSlab; + case 320: return Item::DarkOakStairs; + case 198: return Item::DarkOakTrapdoor; + case 55: return Item::DarkOakWood; + case 363: return Item::DarkPrismarine; + case 136: return Item::DarkPrismarineSlab; + case 366: return Item::DarkPrismarineStairs; + case 271: return Item::DaylightDetector; + case 461: return Item::DeadBrainCoral; + case 447: return Item::DeadBrainCoralBlock; + case 472: return Item::DeadBrainCoralFan; + case 462: return Item::DeadBubbleCoral; + case 448: return Item::DeadBubbleCoralBlock; + case 473: return Item::DeadBubbleCoralFan; + case 78: return Item::DeadBush; + case 463: return Item::DeadFireCoral; + case 449: return Item::DeadFireCoralBlock; + case 474: return Item::DeadFireCoralFan; + case 464: return Item::DeadHornCoral; + case 450: return Item::DeadHornCoralBlock; + case 475: return Item::DeadHornCoralFan; + case 465: return Item::DeadTubeCoral; + case 446: return Item::DeadTubeCoralBlock; + case 471: return Item::DeadTubeCoralFan; + case 839: return Item::DebugStick; + case 73: return Item::DetectorRail; + case 529: return Item::Diamond; + case 544: return Item::DiamondAxe; + case 157: return Item::DiamondBlock; + case 578: return Item::DiamondBoots; + case 576: return Item::DiamondChestplate; + case 575: return Item::DiamondHelmet; + case 558: return Item::DiamondHoe; + case 794: return Item::DiamondHorseArmor; + case 577: return Item::DiamondLeggings; + case 156: return Item::DiamondOre; + case 543: return Item::DiamondPickaxe; + case 542: return Item::DiamondShovel; + case 541: return Item::DiamondSword; + case 4: return Item::Diorite; + case 504: return Item::DioriteSlab; + case 491: return Item::DioriteStairs; + case 258: return Item::DioriteWall; + case 9: return Item::Dirt; + case 67: return Item::Dispenser; + case 705: return Item::DolphinSpawnEgg; + case 706: return Item::DonkeySpawnEgg; + case 823: return Item::DragonBreath; + case 233: return Item::DragonEgg; + case 773: return Item::DragonHead; + case 674: return Item::DriedKelp; + case 613: return Item::DriedKelpBlock; + case 280: return Item::Dropper; + case 707: return Item::DrownedSpawnEgg; + case 620: return Item::Egg; + case 708: return Item::ElderGuardianSpawnEgg; + case 829: return Item::Elytra; + case 759: return Item::Emerald; + case 239: return Item::EmeraldBlock; + case 236: return Item::EmeraldOre; + case 779: return Item::EnchantedBook; + case 588: return Item::EnchantedGoldenApple; + case 229: return Item::EnchantingTable; + case 817: return Item::EndCrystal; + case 230: return Item::EndPortalFrame; + case 147: return Item::EndRod; + case 231: return Item::EndStone; + case 497: return Item::EndStoneBrickSlab; + case 483: return Item::EndStoneBrickStairs; + case 257: return Item::EndStoneBrickWall; + case 232: return Item::EndStoneBricks; + case 237: return Item::EnderChest; + case 695: return Item::EnderEye; + case 682: return Item::EnderPearl; + case 709: return Item::EndermanSpawnEgg; + case 710: return Item::EndermiteSpawnEgg; + case 711: return Item::EvokerSpawnEgg; + case 755: return Item::ExperienceBottle; + case 159: return Item::Farmland; + case 553: return Item::Feather; + case 690: return Item::FermentedSpiderEye; + case 77: return Item::Fern; + case 671: return Item::FilledMap; + case 756: return Item::FireCharge; + case 459: return Item::FireCoral; + case 454: return Item::FireCoralBlock; + case 469: return Item::FireCoralFan; + case 777: return Item::FireworkRocket; + case 778: return Item::FireworkStar; + case 622: return Item::FishingRod; + case 868: return Item::FletchingTable; + case 583: return Item::Flint; + case 523: return Item::FlintAndSteel; + case 859: return Item::FlowerBannerPattern; + case 761: return Item::FlowerPot; + case 712: return Item::FoxSpawnEgg; + case 160: return Item::Furnace; + case 619: return Item::FurnaceMinecart; + case 713: return Item::GhastSpawnEgg; + case 684: return Item::GhastTear; + case 64: return Item::Glass; + case 688: return Item::GlassBottle; + case 213: return Item::GlassPane; + case 696: return Item::GlisteringMelonSlice; + case 863: return Item::GlobeBannerPattern; + case 191: return Item::Glowstone; + case 624: return Item::GlowstoneDust; + case 113: return Item::GoldBlock; + case 531: return Item::GoldIngot; + case 685: return Item::GoldNugget; + case 29: return Item::GoldOre; + case 587: return Item::GoldenApple; + case 551: return Item::GoldenAxe; + case 582: return Item::GoldenBoots; + case 767: return Item::GoldenCarrot; + case 580: return Item::GoldenChestplate; + case 579: return Item::GoldenHelmet; + case 559: return Item::GoldenHoe; + case 793: return Item::GoldenHorseArmor; + case 581: return Item::GoldenLeggings; + case 550: return Item::GoldenPickaxe; + case 549: return Item::GoldenShovel; + case 548: return Item::GoldenSword; + case 2: return Item::Granite; + case 500: return Item::GraniteSlab; + case 487: return Item::GraniteStairs; + case 251: return Item::GraniteWall; + case 76: return Item::Grass; + case 8: return Item::GrassBlock; + case 322: return Item::GrassPath; + case 28: return Item::Gravel; + case 808: return Item::GrayBanner; + case 661: return Item::GrayBed; + case 307: return Item::GrayCarpet; + case 420: return Item::GrayConcrete; + case 436: return Item::GrayConcretePowder; + case 639: return Item::GrayDye; + case 404: return Item::GrayGlazedTerracotta; + case 388: return Item::GrayShulkerBox; + case 336: return Item::GrayStainedGlass; + case 352: return Item::GrayStainedGlassPane; + case 288: return Item::GrayTerracotta; + case 89: return Item::GrayWool; + case 814: return Item::GreenBanner; + case 667: return Item::GreenBed; + case 313: return Item::GreenCarpet; + case 426: return Item::GreenConcrete; + case 442: return Item::GreenConcretePowder; + case 633: return Item::GreenDye; + case 410: return Item::GreenGlazedTerracotta; + case 394: return Item::GreenShulkerBox; + case 342: return Item::GreenStainedGlass; + case 358: return Item::GreenStainedGlassPane; + case 294: return Item::GreenTerracotta; + case 95: return Item::GreenWool; + case 869: return Item::Grindstone; + case 714: return Item::GuardianSpawnEgg; + case 554: return Item::Gunpowder; + case 299: return Item::HayBale; + case 855: return Item::HeartOfTheSea; + case 270: return Item::HeavyWeightedPressurePlate; + case 274: return Item::Hopper; + case 783: return Item::HopperMinecart; + case 460: return Item::HornCoral; + case 455: return Item::HornCoralBlock; + case 470: return Item::HornCoralFan; + case 715: return Item::HorseSpawnEgg; + case 716: return Item::HuskSpawnEgg; + case 176: return Item::Ice; + case 204: return Item::InfestedChiseledStoneBricks; + case 200: return Item::InfestedCobblestone; + case 203: return Item::InfestedCrackedStoneBricks; + case 202: return Item::InfestedMossyStoneBricks; + case 199: return Item::InfestedStone; + case 201: return Item::InfestedStoneBricks; + case 631: return Item::InkSac; + case 522: return Item::IronAxe; + case 212: return Item::IronBars; + case 114: return Item::IronBlock; + case 574: return Item::IronBoots; + case 572: return Item::IronChestplate; + case 506: return Item::IronDoor; + case 571: return Item::IronHelmet; + case 557: return Item::IronHoe; + case 792: return Item::IronHorseArmor; + case 530: return Item::IronIngot; + case 573: return Item::IronLeggings; + case 837: return Item::IronNugget; + case 30: return Item::IronOre; + case 521: return Item::IronPickaxe; + case 520: return Item::IronShovel; + case 532: return Item::IronSword; + case 298: return Item::IronTrapdoor; + case 760: return Item::ItemFrame; + case 192: return Item::JackOLantern; + case 516: return Item::Jigsaw; + case 180: return Item::Jukebox; + case 832: return Item::JungleBoat; + case 262: return Item::JungleButton; + case 510: return Item::JungleDoor; + case 184: return Item::JungleFence; + case 219: return Item::JungleFenceGate; + case 59: return Item::JungleLeaves; + case 35: return Item::JungleLog; + case 16: return Item::JunglePlanks; + case 169: return Item::JunglePressurePlate; + case 22: return Item::JungleSapling; + case 592: return Item::JungleSign; + case 118: return Item::JungleSlab; + case 242: return Item::JungleStairs; + case 196: return Item::JungleTrapdoor; + case 53: return Item::JungleWood; + case 612: return Item::Kelp; + case 838: return Item::KnowledgeBook; + case 161: return Item::Ladder; + case 874: return Item::Lantern; + case 66: return Item::LapisBlock; + case 635: return Item::LapisLazuli; + case 65: return Item::LapisOre; + case 328: return Item::LargeFern; + case 597: return Item::LavaBucket; + case 796: return Item::Lead; + case 603: return Item::Leather; + case 566: return Item::LeatherBoots; + case 564: return Item::LeatherChestplate; + case 563: return Item::LeatherHelmet; + case 795: return Item::LeatherHorseArmor; + case 565: return Item::LeatherLeggings; + case 870: return Item::Lectern; + case 164: return Item::Lever; + case 804: return Item::LightBlueBanner; + case 657: return Item::LightBlueBed; + case 303: return Item::LightBlueCarpet; + case 416: return Item::LightBlueConcrete; + case 432: return Item::LightBlueConcretePowder; + case 643: return Item::LightBlueDye; + case 400: return Item::LightBlueGlazedTerracotta; + case 384: return Item::LightBlueShulkerBox; + case 332: return Item::LightBlueStainedGlass; + case 348: return Item::LightBlueStainedGlassPane; + case 284: return Item::LightBlueTerracotta; + case 85: return Item::LightBlueWool; + case 809: return Item::LightGrayBanner; + case 662: return Item::LightGrayBed; + case 308: return Item::LightGrayCarpet; + case 421: return Item::LightGrayConcrete; + case 437: return Item::LightGrayConcretePowder; + case 638: return Item::LightGrayDye; + case 405: return Item::LightGrayGlazedTerracotta; + case 389: return Item::LightGrayShulkerBox; + case 337: return Item::LightGrayStainedGlass; + case 353: return Item::LightGrayStainedGlassPane; + case 289: return Item::LightGrayTerracotta; + case 90: return Item::LightGrayWool; + case 269: return Item::LightWeightedPressurePlate; + case 324: return Item::Lilac; + case 109: return Item::LilyOfTheValley; + case 225: return Item::LilyPad; + case 806: return Item::LimeBanner; + case 659: return Item::LimeBed; + case 305: return Item::LimeCarpet; + case 418: return Item::LimeConcrete; + case 434: return Item::LimeConcretePowder; + case 641: return Item::LimeDye; + case 402: return Item::LimeGlazedTerracotta; + case 386: return Item::LimeShulkerBox; + case 334: return Item::LimeStainedGlass; + case 350: return Item::LimeStainedGlassPane; + case 286: return Item::LimeTerracotta; + case 87: return Item::LimeWool; + case 827: return Item::LingeringPotion; + case 717: return Item::LlamaSpawnEgg; + case 858: return Item::Loom; + case 803: return Item::MagentaBanner; + case 656: return Item::MagentaBed; + case 302: return Item::MagentaCarpet; + case 415: return Item::MagentaConcrete; + case 431: return Item::MagentaConcretePowder; + case 644: return Item::MagentaDye; + case 399: return Item::MagentaGlazedTerracotta; + case 383: return Item::MagentaShulkerBox; + case 331: return Item::MagentaStainedGlass; + case 347: return Item::MagentaStainedGlassPane; + case 283: return Item::MagentaTerracotta; + case 84: return Item::MagentaWool; + case 374: return Item::MagmaBlock; + case 692: return Item::MagmaCream; + case 718: return Item::MagmaCubeSpawnEgg; + case 766: return Item::Map; + case 214: return Item::Melon; + case 676: return Item::MelonSeeds; + case 673: return Item::MelonSlice; + case 604: return Item::MilkBucket; + case 598: return Item::Minecart; + case 862: return Item::MojangBannerPattern; + case 719: return Item::MooshroomSpawnEgg; + case 144: return Item::MossyCobblestone; + case 496: return Item::MossyCobblestoneSlab; + case 482: return Item::MossyCobblestoneStairs; + case 246: return Item::MossyCobblestoneWall; + case 494: return Item::MossyStoneBrickSlab; + case 480: return Item::MossyStoneBrickStairs; + case 250: return Item::MossyStoneBrickWall; + case 206: return Item::MossyStoneBricks; + case 720: return Item::MuleSpawnEgg; + case 211: return Item::MushroomStem; + case 547: return Item::MushroomStew; + case 850: return Item::MusicDisc11; + case 840: return Item::MusicDisc13; + case 842: return Item::MusicDiscBlocks; + case 841: return Item::MusicDiscCat; + case 843: return Item::MusicDiscChirp; + case 844: return Item::MusicDiscFar; + case 845: return Item::MusicDiscMall; + case 846: return Item::MusicDiscMellohi; + case 847: return Item::MusicDiscStal; + case 848: return Item::MusicDiscStrad; + case 851: return Item::MusicDiscWait; + case 849: return Item::MusicDiscWard; + case 799: return Item::Mutton; + case 224: return Item::Mycelium; + case 797: return Item::NameTag; + case 854: return Item::NautilusShell; + case 780: return Item::NetherBrick; + case 227: return Item::NetherBrickFence; + case 129: return Item::NetherBrickSlab; + case 228: return Item::NetherBrickStairs; + case 253: return Item::NetherBrickWall; + case 226: return Item::NetherBricks; + case 273: return Item::NetherQuartzOre; + case 775: return Item::NetherStar; + case 686: return Item::NetherWart; + case 375: return Item::NetherWartBlock; + case 189: return Item::Netherrack; + case 71: return Item::NoteBlock; + case 602: return Item::OakBoat; + case 259: return Item::OakButton; + case 507: return Item::OakDoor; + case 181: return Item::OakFence; + case 216: return Item::OakFenceGate; + case 56: return Item::OakLeaves; + case 32: return Item::OakLog; + case 13: return Item::OakPlanks; + case 166: return Item::OakPressurePlate; + case 19: return Item::OakSapling; + case 589: return Item::OakSign; + case 115: return Item::OakSlab; + case 154: return Item::OakStairs; + case 193: return Item::OakTrapdoor; + case 50: return Item::OakWood; + case 379: return Item::Observer; + case 145: return Item::Obsidian; + case 721: return Item::OcelotSpawnEgg; + case 802: return Item::OrangeBanner; + case 655: return Item::OrangeBed; + case 301: return Item::OrangeCarpet; + case 414: return Item::OrangeConcrete; + case 430: return Item::OrangeConcretePowder; + case 645: return Item::OrangeDye; + case 398: return Item::OrangeGlazedTerracotta; + case 382: return Item::OrangeShulkerBox; + case 330: return Item::OrangeStainedGlass; + case 346: return Item::OrangeStainedGlassPane; + case 282: return Item::OrangeTerracotta; + case 104: return Item::OrangeTulip; + case 83: return Item::OrangeWool; + case 107: return Item::OxeyeDaisy; + case 318: return Item::PackedIce; + case 586: return Item::Painting; + case 722: return Item::PandaSpawnEgg; + case 615: return Item::Paper; + case 723: return Item::ParrotSpawnEgg; + case 326: return Item::Peony; + case 125: return Item::PetrifiedOakSlab; + case 853: return Item::PhantomMembrane; + case 724: return Item::PhantomSpawnEgg; + case 725: return Item::PigSpawnEgg; + case 726: return Item::PillagerSpawnEgg; + case 807: return Item::PinkBanner; + case 660: return Item::PinkBed; + case 306: return Item::PinkCarpet; + case 419: return Item::PinkConcrete; + case 435: return Item::PinkConcretePowder; + case 640: return Item::PinkDye; + case 403: return Item::PinkGlazedTerracotta; + case 387: return Item::PinkShulkerBox; + case 335: return Item::PinkStainedGlass; + case 351: return Item::PinkStainedGlassPane; + case 287: return Item::PinkTerracotta; + case 106: return Item::PinkTulip; + case 88: return Item::PinkWool; + case 81: return Item::Piston; + case 770: return Item::PlayerHead; + case 11: return Item::Podzol; + case 765: return Item::PoisonousPotato; + case 727: return Item::PolarBearSpawnEgg; + case 7: return Item::PolishedAndesite; + case 503: return Item::PolishedAndesiteSlab; + case 490: return Item::PolishedAndesiteStairs; + case 5: return Item::PolishedDiorite; + case 495: return Item::PolishedDioriteSlab; + case 481: return Item::PolishedDioriteStairs; + case 3: return Item::PolishedGranite; + case 492: return Item::PolishedGraniteSlab; + case 478: return Item::PolishedGraniteStairs; + case 819: return Item::PoppedChorusFruit; + case 99: return Item::Poppy; + case 584: return Item::Porkchop; + case 763: return Item::Potato; + case 687: return Item::Potion; + case 72: return Item::PoweredRail; + case 361: return Item::Prismarine; + case 135: return Item::PrismarineBrickSlab; + case 365: return Item::PrismarineBrickStairs; + case 362: return Item::PrismarineBricks; + case 785: return Item::PrismarineCrystals; + case 784: return Item::PrismarineShard; + case 134: return Item::PrismarineSlab; + case 364: return Item::PrismarineStairs; + case 248: return Item::PrismarineWall; + case 628: return Item::Pufferfish; + case 605: return Item::PufferfishBucket; + case 728: return Item::PufferfishSpawnEgg; + case 187: return Item::Pumpkin; + case 776: return Item::PumpkinPie; + case 675: return Item::PumpkinSeeds; + case 811: return Item::PurpleBanner; + case 664: return Item::PurpleBed; + case 310: return Item::PurpleCarpet; + case 423: return Item::PurpleConcrete; + case 439: return Item::PurpleConcretePowder; + case 636: return Item::PurpleDye; + case 407: return Item::PurpleGlazedTerracotta; + case 391: return Item::PurpleShulkerBox; + case 339: return Item::PurpleStainedGlass; + case 355: return Item::PurpleStainedGlassPane; + case 291: return Item::PurpleTerracotta; + case 92: return Item::PurpleWool; + case 150: return Item::PurpurBlock; + case 151: return Item::PurpurPillar; + case 133: return Item::PurpurSlab; + case 152: return Item::PurpurStairs; + case 781: return Item::Quartz; + case 276: return Item::QuartzBlock; + case 277: return Item::QuartzPillar; + case 130: return Item::QuartzSlab; + case 278: return Item::QuartzStairs; + case 786: return Item::Rabbit; + case 789: return Item::RabbitFoot; + case 790: return Item::RabbitHide; + case 729: return Item::RabbitSpawnEgg; + case 788: return Item::RabbitStew; + case 162: return Item::Rail; + case 730: return Item::RavagerSpawnEgg; + case 815: return Item::RedBanner; + case 668: return Item::RedBed; + case 314: return Item::RedCarpet; + case 427: return Item::RedConcrete; + case 443: return Item::RedConcretePowder; + case 632: return Item::RedDye; + case 411: return Item::RedGlazedTerracotta; + case 112: return Item::RedMushroom; + case 210: return Item::RedMushroomBlock; + case 502: return Item::RedNetherBrickSlab; + case 489: return Item::RedNetherBrickStairs; + case 255: return Item::RedNetherBrickWall; + case 376: return Item::RedNetherBricks; + case 27: return Item::RedSand; + case 368: return Item::RedSandstone; + case 131: return Item::RedSandstoneSlab; + case 371: return Item::RedSandstoneStairs; + case 249: return Item::RedSandstoneWall; + case 395: return Item::RedShulkerBox; + case 343: return Item::RedStainedGlass; + case 359: return Item::RedStainedGlassPane; + case 295: return Item::RedTerracotta; + case 103: return Item::RedTulip; + case 96: return Item::RedWool; + case 600: return Item::Redstone; + case 272: return Item::RedstoneBlock; + case 234: return Item::RedstoneLamp; + case 172: return Item::RedstoneOre; + case 173: return Item::RedstoneTorch; + case 513: return Item::Repeater; + case 372: return Item::RepeatingCommandBlock; + case 325: return Item::RoseBush; + case 681: return Item::RottenFlesh; + case 599: return Item::Saddle; + case 626: return Item::Salmon; + case 606: return Item::SalmonBucket; + case 731: return Item::SalmonSpawnEgg; + case 26: return Item::Sand; + case 68: return Item::Sandstone; + case 123: return Item::SandstoneSlab; + case 235: return Item::SandstoneStairs; + case 256: return Item::SandstoneWall; + case 505: return Item::Scaffolding; + case 519: return Item::Scute; + case 367: return Item::SeaLantern; + case 80: return Item::SeaPickle; + case 79: return Item::Seagrass; + case 672: return Item::Shears; + case 732: return Item::SheepSpawnEgg; + case 828: return Item::Shield; + case 380: return Item::ShulkerBox; + case 836: return Item::ShulkerShell; + case 733: return Item::ShulkerSpawnEgg; + case 734: return Item::SilverfishSpawnEgg; + case 736: return Item::SkeletonHorseSpawnEgg; + case 768: return Item::SkeletonSkull; + case 735: return Item::SkeletonSpawnEgg; + case 861: return Item::SkullBannerPattern; + case 617: return Item::SlimeBall; + case 321: return Item::SlimeBlock; + case 737: return Item::SlimeSpawnEgg; + case 871: return Item::SmithingTable; + case 865: return Item::Smoker; + case 137: return Item::SmoothQuartz; + case 499: return Item::SmoothQuartzSlab; + case 486: return Item::SmoothQuartzStairs; + case 138: return Item::SmoothRedSandstone; + case 493: return Item::SmoothRedSandstoneSlab; + case 479: return Item::SmoothRedSandstoneStairs; + case 139: return Item::SmoothSandstone; + case 498: return Item::SmoothSandstoneSlab; + case 485: return Item::SmoothSandstoneStairs; + case 140: return Item::SmoothStone; + case 122: return Item::SmoothStoneSlab; + case 175: return Item::Snow; + case 177: return Item::SnowBlock; + case 601: return Item::Snowball; + case 190: return Item::SoulSand; + case 153: return Item::Spawner; + case 825: return Item::SpectralArrow; + case 689: return Item::SpiderEye; + case 738: return Item::SpiderSpawnEgg; + case 824: return Item::SplashPotion; + case 62: return Item::Sponge; + case 830: return Item::SpruceBoat; + case 260: return Item::SpruceButton; + case 508: return Item::SpruceDoor; + case 182: return Item::SpruceFence; + case 217: return Item::SpruceFenceGate; + case 57: return Item::SpruceLeaves; + case 33: return Item::SpruceLog; + case 14: return Item::SprucePlanks; + case 167: return Item::SprucePressurePlate; + case 20: return Item::SpruceSapling; + case 590: return Item::SpruceSign; + case 116: return Item::SpruceSlab; + case 240: return Item::SpruceStairs; + case 194: return Item::SpruceTrapdoor; + case 51: return Item::SpruceWood; + case 739: return Item::SquidSpawnEgg; + case 545: return Item::Stick; + case 74: return Item::StickyPiston; + case 1: return Item::Stone; + case 540: return Item::StoneAxe; + case 128: return Item::StoneBrickSlab; + case 223: return Item::StoneBrickStairs; + case 252: return Item::StoneBrickWall; + case 205: return Item::StoneBricks; + case 174: return Item::StoneButton; + case 556: return Item::StoneHoe; + case 539: return Item::StonePickaxe; + case 165: return Item::StonePressurePlate; + case 538: return Item::StoneShovel; + case 121: return Item::StoneSlab; + case 484: return Item::StoneStairs; + case 537: return Item::StoneSword; + case 872: return Item::Stonecutter; + case 740: return Item::StraySpawnEgg; + case 552: return Item::String; + case 42: return Item::StrippedAcaciaLog; + case 48: return Item::StrippedAcaciaWood; + case 40: return Item::StrippedBirchLog; + case 46: return Item::StrippedBirchWood; + case 43: return Item::StrippedDarkOakLog; + case 49: return Item::StrippedDarkOakWood; + case 41: return Item::StrippedJungleLog; + case 47: return Item::StrippedJungleWood; + case 38: return Item::StrippedOakLog; + case 44: return Item::StrippedOakWood; + case 39: return Item::StrippedSpruceLog; + case 45: return Item::StrippedSpruceWood; + case 515: return Item::StructureBlock; + case 378: return Item::StructureVoid; + case 652: return Item::Sugar; + case 611: return Item::SugarCane; + case 323: return Item::Sunflower; + case 857: return Item::SuspiciousStew; + case 875: return Item::SweetBerries; + case 327: return Item::TallGrass; + case 316: return Item::Terracotta; + case 826: return Item::TippedArrow; + case 142: return Item::TNT; + case 782: return Item::TNTMinecart; + case 146: return Item::Torch; + case 835: return Item::TotemOfUndying; + case 741: return Item::TraderLlamaSpawnEgg; + case 268: return Item::TrappedChest; + case 852: return Item::Trident; + case 238: return Item::TripwireHook; + case 627: return Item::TropicalFish; + case 608: return Item::TropicalFishBucket; + case 742: return Item::TropicalFishSpawnEgg; + case 456: return Item::TubeCoral; + case 451: return Item::TubeCoralBlock; + case 466: return Item::TubeCoralFan; + case 445: return Item::TurtleEgg; + case 518: return Item::TurtleHelmet; + case 743: return Item::TurtleSpawnEgg; + case 744: return Item::VexSpawnEgg; + case 745: return Item::VillagerSpawnEgg; + case 746: return Item::VindicatorSpawnEgg; + case 215: return Item::Vine; + case 747: return Item::WanderingTraderSpawnEgg; + case 596: return Item::WaterBucket; + case 63: return Item::WetSponge; + case 561: return Item::Wheat; + case 560: return Item::WheatSeeds; + case 801: return Item::WhiteBanner; + case 654: return Item::WhiteBed; + case 300: return Item::WhiteCarpet; + case 413: return Item::WhiteConcrete; + case 429: return Item::WhiteConcretePowder; + case 650: return Item::WhiteDye; + case 397: return Item::WhiteGlazedTerracotta; + case 381: return Item::WhiteShulkerBox; + case 329: return Item::WhiteStainedGlass; + case 345: return Item::WhiteStainedGlassPane; + case 281: return Item::WhiteTerracotta; + case 105: return Item::WhiteTulip; + case 82: return Item::WhiteWool; + case 748: return Item::WitchSpawnEgg; + case 110: return Item::WitherRose; + case 769: return Item::WitherSkeletonSkull; + case 749: return Item::WitherSkeletonSpawnEgg; + case 750: return Item::WolfSpawnEgg; + case 536: return Item::WoodenAxe; + case 555: return Item::WoodenHoe; + case 535: return Item::WoodenPickaxe; + case 534: return Item::WoodenShovel; + case 533: return Item::WoodenSword; + case 757: return Item::WritableBook; + case 758: return Item::WrittenBook; + case 805: return Item::YellowBanner; + case 658: return Item::YellowBed; + case 304: return Item::YellowCarpet; + case 417: return Item::YellowConcrete; + case 433: return Item::YellowConcretePowder; + case 642: return Item::YellowDye; + case 401: return Item::YellowGlazedTerracotta; + case 385: return Item::YellowShulkerBox; + case 333: return Item::YellowStainedGlass; + case 349: return Item::YellowStainedGlassPane; + case 285: return Item::YellowTerracotta; + case 86: return Item::YellowWool; + case 771: return Item::ZombieHead; + case 752: return Item::ZombieHorseSpawnEgg; + case 753: return Item::ZombiePigmanSpawnEgg; + case 751: return Item::ZombieSpawnEgg; + case 754: return Item::ZombieVillagerSpawnEgg; + default: return Item::Air; } } +} // namespace Palette_1_14 diff --git a/src/Protocol/Palettes/Palette_1_14.h b/src/Protocol/Palettes/Palette_1_14.h index 3bc9b7980..cf4066d2d 100644 --- a/src/Protocol/Palettes/Palette_1_14.h +++ b/src/Protocol/Palettes/Palette_1_14.h @@ -6,8 +6,8 @@ namespace Palette_1_14 { - UInt32 From(BlockState Block); - UInt32 From(Item ID); - UInt32 From(CustomStatistic ID); - Item ToItem(UInt32 ID); -} +UInt32 From(BlockState Block); +UInt32 From(Item ID); +UInt32 From(CustomStatistic ID); +Item ToItem(UInt32 ID); +} // namespace Palette_1_14 diff --git a/src/Protocol/Palettes/Palette_1_15.cpp b/src/Protocol/Palettes/Palette_1_15.cpp index 29467d6d7..57b58fbc5 100644 --- a/src/Protocol/Palettes/Palette_1_15.cpp +++ b/src/Protocol/Palettes/Palette_1_15.cpp @@ -5,10547 +5,34407 @@ namespace Palette_1_15 { - UInt32 From(const BlockState Block) - { - using namespace Block; +UInt32 From(const BlockState Block) +{ + using namespace Block; - switch (Block.ID) - { - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5906; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5907; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5908; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5909; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5910; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5911; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5912; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5913; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5914; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5915; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5916; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5917; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5918; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5919; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5920; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5921; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5922; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5923; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5924; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5925; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5926; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5927; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5928; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5929; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8394; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8395; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8396; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8397; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8398; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8399; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8400; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8401; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8402; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8403; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8404; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8405; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8406; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8407; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8408; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8409; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8410; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8411; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8412; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8413; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8414; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8415; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8416; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8417; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8418; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8419; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8420; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8421; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8422; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8423; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8424; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8425; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8426; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8427; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8428; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8429; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8430; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8431; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8432; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8433; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8434; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8435; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8436; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8437; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8438; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8439; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8440; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8441; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8442; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8443; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8444; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8445; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8446; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8447; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8448; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8449; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8450; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8451; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8452; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8453; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8454; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8455; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8456; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8457; - case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 8140; - case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 8141; - case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 8144; - case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 8145; - case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 8148; - case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 8149; - case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 8152; - case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 8153; - case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 8156; - case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 8157; - case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 8160; - case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 8161; - case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 8164; - case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 8165; - case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 8168; - case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 8169; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7978; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7979; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7980; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7981; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7982; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7983; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7984; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7985; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7986; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7987; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7988; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7989; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7990; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7991; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7992; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7993; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7994; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7995; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7996; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7997; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7998; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7999; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8000; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8001; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8002; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8003; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8004; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8005; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8006; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8007; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8008; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8009; - case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 200; - case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 201; - case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 202; - case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 203; - case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 204; - case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 205; - case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 206; - case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 207; - case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 208; - case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 209; - case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 210; - case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 211; - case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 212; - case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 213; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 84; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 85; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 86; - case AcaciaPlanks::AcaciaPlanks().ID: return 19; - case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3879; - case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3880; - case AcaciaSapling::AcaciaSapling(0).ID: return 29; - case AcaciaSapling::AcaciaSapling(1).ID: return 30; - case AcaciaSign::AcaciaSign(0).ID: return 3476; - case AcaciaSign::AcaciaSign(1).ID: return 3478; - case AcaciaSign::AcaciaSign(2).ID: return 3480; - case AcaciaSign::AcaciaSign(3).ID: return 3482; - case AcaciaSign::AcaciaSign(4).ID: return 3484; - case AcaciaSign::AcaciaSign(5).ID: return 3486; - case AcaciaSign::AcaciaSign(6).ID: return 3488; - case AcaciaSign::AcaciaSign(7).ID: return 3490; - case AcaciaSign::AcaciaSign(8).ID: return 3492; - case AcaciaSign::AcaciaSign(9).ID: return 3494; - case AcaciaSign::AcaciaSign(10).ID: return 3496; - case AcaciaSign::AcaciaSign(11).ID: return 3498; - case AcaciaSign::AcaciaSign(12).ID: return 3500; - case AcaciaSign::AcaciaSign(13).ID: return 3502; - case AcaciaSign::AcaciaSign(14).ID: return 3504; - case AcaciaSign::AcaciaSign(15).ID: return 3506; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 7789; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 7791; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 7793; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6840; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6842; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6844; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6846; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6848; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6850; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6852; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6854; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6856; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6858; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6860; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6862; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6864; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6866; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6868; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6870; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6872; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6874; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6876; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6878; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6880; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6882; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6884; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6886; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6888; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6890; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6892; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6894; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6896; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6898; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 6900; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 6902; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 6904; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 6906; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 6908; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 6910; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 6912; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 6914; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 6916; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 6918; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: return 4354; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: return 4356; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: return 4358; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: return 4360; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4362; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4364; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4366; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4368; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: return 4370; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: return 4372; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: return 4374; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: return 4376; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4378; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4380; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4382; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4384; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: return 4386; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: return 4388; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: return 4390; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: return 4392; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4394; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4396; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4398; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4400; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: return 4402; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: return 4404; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: return 4406; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: return 4408; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4410; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4412; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4414; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4416; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3758; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3760; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3762; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3764; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 120; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 121; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 122; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 6287; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 6288; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 6289; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 6290; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 6291; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 6292; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 6293; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 6294; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 6295; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 6296; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 6297; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 6298; - case Air::Air().ID: return -0; - case Allium::Allium().ID: return 1414; - case Andesite::Andesite().ID: return 6; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Top).ID: return 10308; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Bottom).ID: return 10310; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Double).ID: return 10312; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 9934; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 9936; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 9938; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 9940; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 9942; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 9944; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 9946; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 9948; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 9950; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 9952; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 9954; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 9956; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 9958; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 9960; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 9962; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 9964; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 9966; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 9968; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 9970; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 9972; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 9974; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 9976; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 9978; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 9980; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 9982; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 9984; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 9986; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 9988; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 9990; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 9992; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 9994; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 9996; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 9998; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 10000; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 10002; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 10004; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 10006; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 10008; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 10010; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 10012; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 10781; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 10782; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 10785; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 10786; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 10789; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 10790; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 10793; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 10794; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 10797; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 10798; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 10801; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 10802; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 10805; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 10806; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 10809; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 10810; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 10813; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 10814; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 10817; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 10818; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 10821; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 10822; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 10825; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 10826; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 10829; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 10830; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 10833; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 10834; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 10837; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 10838; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 10841; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 10842; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6074; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6075; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 6076; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 6077; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4752; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4753; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4754; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4755; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4748; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4749; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4750; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4751; - case AzureBluet::AzureBluet().ID: return 1415; - case Bamboo::Bamboo(0, Bamboo::Leaves::None, 0).ID: return 9116; - case Bamboo::Bamboo(0, Bamboo::Leaves::None, 1).ID: return 9117; - case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 0).ID: return 9118; - case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 1).ID: return 9119; - case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 0).ID: return 9120; - case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 1).ID: return 9121; - case Bamboo::Bamboo(1, Bamboo::Leaves::None, 0).ID: return 9122; - case Bamboo::Bamboo(1, Bamboo::Leaves::None, 1).ID: return 9123; - case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 0).ID: return 9124; - case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 1).ID: return 9125; - case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 0).ID: return 9126; - case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 1).ID: return 9127; - case BambooSapling::BambooSapling().ID: return 9115; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11135; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11136; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, true).ID: return 11137; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, false).ID: return 11138; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11139; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11140; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, true).ID: return 11141; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, false).ID: return 11142; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, true).ID: return 11143; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, false).ID: return 11144; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, true).ID: return 11145; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, false).ID: return 11146; - case Barrier::Barrier().ID: return 7000; - case Beacon::Beacon().ID: return 5640; - case Bedrock::Bedrock().ID: return 33; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 0).ID: return 11287; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 1).ID: return 11288; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 2).ID: return 11289; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 3).ID: return 11290; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 4).ID: return 11291; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 5).ID: return 11292; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 0).ID: return 11293; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 1).ID: return 11294; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 2).ID: return 11295; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 3).ID: return 11296; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 4).ID: return 11297; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 5).ID: return 11298; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 0).ID: return 11299; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 1).ID: return 11300; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 2).ID: return 11301; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 3).ID: return 11302; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 4).ID: return 11303; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 5).ID: return 11304; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 0).ID: return 11305; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 1).ID: return 11306; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 2).ID: return 11307; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 3).ID: return 11308; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 4).ID: return 11309; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 5).ID: return 11310; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 0).ID: return 11311; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 1).ID: return 11312; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 2).ID: return 11313; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 3).ID: return 11314; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 4).ID: return 11315; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 5).ID: return 11316; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 0).ID: return 11317; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 1).ID: return 11318; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 2).ID: return 11319; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 3).ID: return 11320; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 4).ID: return 11321; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 5).ID: return 11322; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 0).ID: return 11323; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 1).ID: return 11324; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 2).ID: return 11325; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 3).ID: return 11326; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 4).ID: return 11327; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 5).ID: return 11328; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 0).ID: return 11329; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 1).ID: return 11330; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 2).ID: return 11331; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 3).ID: return 11332; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 4).ID: return 11333; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 5).ID: return 11334; - case Beetroots::Beetroots(0).ID: return 8683; - case Beetroots::Beetroots(1).ID: return 8684; - case Beetroots::Beetroots(2).ID: return 8685; - case Beetroots::Beetroots(3).ID: return 8686; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 11198; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11199; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 11200; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11201; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 11202; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 11203; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 11204; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 11205; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 11206; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11207; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 11208; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11209; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 11210; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 11211; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 11212; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 11213; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 11214; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11215; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 11216; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11217; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, true).ID: return 11218; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 11219; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, true).ID: return 11220; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 11221; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 11222; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11223; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 11224; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11225; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, true).ID: return 11226; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 11227; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, true).ID: return 11228; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 11229; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5858; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5859; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5860; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5861; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5862; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5863; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5864; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5865; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5866; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5867; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5868; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5869; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5870; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5871; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5872; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5873; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5874; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5875; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5876; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5877; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5878; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5879; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5880; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5881; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8266; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8267; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8268; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8269; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8270; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8271; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8272; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8273; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8274; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8275; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8276; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8277; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8278; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8279; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8280; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8281; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8282; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8283; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8284; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8285; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8286; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8287; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8288; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8289; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8290; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8291; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8292; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8293; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8294; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8295; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8296; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8297; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8298; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8299; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8300; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8301; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8302; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8303; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8304; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8305; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8306; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8307; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8308; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8309; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8310; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8311; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8312; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8313; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8314; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8315; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8316; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8317; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8318; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8319; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8320; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8321; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8322; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8323; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8324; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8325; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8326; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8327; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8328; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8329; - case BirchFence::BirchFence(true, true, true, true).ID: return 8076; - case BirchFence::BirchFence(true, true, true, false).ID: return 8077; - case BirchFence::BirchFence(true, true, false, true).ID: return 8080; - case BirchFence::BirchFence(true, true, false, false).ID: return 8081; - case BirchFence::BirchFence(true, false, true, true).ID: return 8084; - case BirchFence::BirchFence(true, false, true, false).ID: return 8085; - case BirchFence::BirchFence(true, false, false, true).ID: return 8088; - case BirchFence::BirchFence(true, false, false, false).ID: return 8089; - case BirchFence::BirchFence(false, true, true, true).ID: return 8092; - case BirchFence::BirchFence(false, true, true, false).ID: return 8093; - case BirchFence::BirchFence(false, true, false, true).ID: return 8096; - case BirchFence::BirchFence(false, true, false, false).ID: return 8097; - case BirchFence::BirchFence(false, false, true, true).ID: return 8100; - case BirchFence::BirchFence(false, false, true, false).ID: return 8101; - case BirchFence::BirchFence(false, false, false, true).ID: return 8104; - case BirchFence::BirchFence(false, false, false, false).ID: return 8105; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7914; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7915; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7916; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7917; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7918; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7919; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7920; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7921; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7922; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7923; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7924; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7925; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7926; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7927; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7928; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7929; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7930; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7931; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7932; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7933; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7934; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7935; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7936; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7937; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7938; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7939; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7940; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7941; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7942; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7943; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7944; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7945; - case BirchLeaves::BirchLeaves(1, true).ID: return 172; - case BirchLeaves::BirchLeaves(1, false).ID: return 173; - case BirchLeaves::BirchLeaves(2, true).ID: return 174; - case BirchLeaves::BirchLeaves(2, false).ID: return 175; - case BirchLeaves::BirchLeaves(3, true).ID: return 176; - case BirchLeaves::BirchLeaves(3, false).ID: return 177; - case BirchLeaves::BirchLeaves(4, true).ID: return 178; - case BirchLeaves::BirchLeaves(4, false).ID: return 179; - case BirchLeaves::BirchLeaves(5, true).ID: return 180; - case BirchLeaves::BirchLeaves(5, false).ID: return 181; - case BirchLeaves::BirchLeaves(6, true).ID: return 182; - case BirchLeaves::BirchLeaves(6, false).ID: return 183; - case BirchLeaves::BirchLeaves(7, true).ID: return 184; - case BirchLeaves::BirchLeaves(7, false).ID: return 185; - case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 78; - case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 79; - case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 80; - case BirchPlanks::BirchPlanks().ID: return 17; - case BirchPressurePlate::BirchPressurePlate(true).ID: return 3875; - case BirchPressurePlate::BirchPressurePlate(false).ID: return 3876; - case BirchSapling::BirchSapling(0).ID: return 25; - case BirchSapling::BirchSapling(1).ID: return 26; - case BirchSign::BirchSign(0).ID: return 3444; - case BirchSign::BirchSign(1).ID: return 3446; - case BirchSign::BirchSign(2).ID: return 3448; - case BirchSign::BirchSign(3).ID: return 3450; - case BirchSign::BirchSign(4).ID: return 3452; - case BirchSign::BirchSign(5).ID: return 3454; - case BirchSign::BirchSign(6).ID: return 3456; - case BirchSign::BirchSign(7).ID: return 3458; - case BirchSign::BirchSign(8).ID: return 3460; - case BirchSign::BirchSign(9).ID: return 3462; - case BirchSign::BirchSign(10).ID: return 3464; - case BirchSign::BirchSign(11).ID: return 3466; - case BirchSign::BirchSign(12).ID: return 3468; - case BirchSign::BirchSign(13).ID: return 3470; - case BirchSign::BirchSign(14).ID: return 3472; - case BirchSign::BirchSign(15).ID: return 3474; - case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 7777; - case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 7779; - case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 7781; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5469; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5471; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5473; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5475; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5477; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5479; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5481; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5483; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5485; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5487; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5489; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5491; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5493; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5495; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5497; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5499; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5501; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5503; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5505; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5507; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5509; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5511; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5513; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5515; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5517; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5519; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5521; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5523; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5525; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5527; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5529; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5531; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5533; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5535; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5537; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5539; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5541; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5543; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5545; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5547; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: return 4226; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: return 4228; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: return 4230; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: return 4232; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: return 4234; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: return 4236; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: return 4238; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: return 4240; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: return 4242; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: return 4244; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: return 4246; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: return 4248; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: return 4250; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: return 4252; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: return 4254; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: return 4256; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: return 4258; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: return 4260; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: return 4262; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: return 4264; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: return 4266; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: return 4268; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: return 4270; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: return 4272; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: return 4274; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: return 4276; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: return 4278; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: return 4280; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: return 4282; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: return 4284; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: return 4286; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: return 4288; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3750; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3752; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3754; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3756; - case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 114; - case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 115; - case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 116; - case BlackBanner::BlackBanner(0).ID: return 7601; - case BlackBanner::BlackBanner(1).ID: return 7602; - case BlackBanner::BlackBanner(2).ID: return 7603; - case BlackBanner::BlackBanner(3).ID: return 7604; - case BlackBanner::BlackBanner(4).ID: return 7605; - case BlackBanner::BlackBanner(5).ID: return 7606; - case BlackBanner::BlackBanner(6).ID: return 7607; - case BlackBanner::BlackBanner(7).ID: return 7608; - case BlackBanner::BlackBanner(8).ID: return 7609; - case BlackBanner::BlackBanner(9).ID: return 7610; - case BlackBanner::BlackBanner(10).ID: return 7611; - case BlackBanner::BlackBanner(11).ID: return 7612; - case BlackBanner::BlackBanner(12).ID: return 7613; - case BlackBanner::BlackBanner(13).ID: return 7614; - case BlackBanner::BlackBanner(14).ID: return 7615; - case BlackBanner::BlackBanner(15).ID: return 7616; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 1288; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 1289; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 1290; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 1291; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 1292; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 1293; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 1294; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 1295; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 1296; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 1297; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 1298; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 1299; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1300; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1301; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1302; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1303; - case BlackCarpet::BlackCarpet().ID: return 7345; - case BlackConcrete::BlackConcrete().ID: return 8917; - case BlackConcretePowder::BlackConcretePowder().ID: return 8933; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8898; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8899; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8900; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8901; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8832; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8833; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8834; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8835; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8836; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8837; - case BlackStainedGlass::BlackStainedGlass().ID: return 4096; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 6809; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 6810; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 6813; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 6814; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 6817; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 6818; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 6821; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 6822; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 6825; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 6826; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 6829; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 6830; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 6833; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 6834; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 6837; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 6838; - case BlackTerracotta::BlackTerracotta().ID: return 6326; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7677; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7678; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7679; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7680; - case BlackWool::BlackWool().ID: return 1398; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11155; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11156; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11157; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11158; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 11159; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 11160; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 11161; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 11162; - case BlueBanner::BlueBanner(0).ID: return 7537; - case BlueBanner::BlueBanner(1).ID: return 7538; - case BlueBanner::BlueBanner(2).ID: return 7539; - case BlueBanner::BlueBanner(3).ID: return 7540; - case BlueBanner::BlueBanner(4).ID: return 7541; - case BlueBanner::BlueBanner(5).ID: return 7542; - case BlueBanner::BlueBanner(6).ID: return 7543; - case BlueBanner::BlueBanner(7).ID: return 7544; - case BlueBanner::BlueBanner(8).ID: return 7545; - case BlueBanner::BlueBanner(9).ID: return 7546; - case BlueBanner::BlueBanner(10).ID: return 7547; - case BlueBanner::BlueBanner(11).ID: return 7548; - case BlueBanner::BlueBanner(12).ID: return 7549; - case BlueBanner::BlueBanner(13).ID: return 7550; - case BlueBanner::BlueBanner(14).ID: return 7551; - case BlueBanner::BlueBanner(15).ID: return 7552; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 1224; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 1225; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 1226; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 1227; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 1228; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 1229; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 1230; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 1231; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 1232; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 1233; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 1234; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 1235; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 1236; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 1237; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 1238; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 1239; - case BlueCarpet::BlueCarpet().ID: return 7341; - case BlueConcrete::BlueConcrete().ID: return 8913; - case BlueConcretePowder::BlueConcretePowder().ID: return 8929; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8882; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8883; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8884; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8885; - case BlueIce::BlueIce().ID: return 9112; - case BlueOrchid::BlueOrchid().ID: return 1413; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8808; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8809; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8810; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8811; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8812; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8813; - case BlueStainedGlass::BlueStainedGlass().ID: return 4092; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 6681; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 6682; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 6685; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 6686; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 6689; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 6690; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 6693; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 6694; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 6697; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 6698; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 6701; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 6702; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 6705; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 6706; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 6709; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 6710; - case BlueTerracotta::BlueTerracotta().ID: return 6322; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7661; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7662; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7663; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7664; - case BlueWool::BlueWool().ID: return 1394; - case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 8720; - case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 8721; - case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 8722; - case Bookshelf::Bookshelf().ID: return 1431; - case BrainCoral::BrainCoral().ID: return 8997; - case BrainCoralBlock::BrainCoralBlock().ID: return 8980; - case BrainCoralFan::BrainCoralFan().ID: return 9017; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9073; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9075; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9077; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9079; - case BrewingStand::BrewingStand(true, true, true).ID: return 5117; - case BrewingStand::BrewingStand(true, true, false).ID: return 5118; - case BrewingStand::BrewingStand(true, false, true).ID: return 5119; - case BrewingStand::BrewingStand(true, false, false).ID: return 5120; - case BrewingStand::BrewingStand(false, true, true).ID: return 5121; - case BrewingStand::BrewingStand(false, true, false).ID: return 5122; - case BrewingStand::BrewingStand(false, false, true).ID: return 5123; - case BrewingStand::BrewingStand(false, false, false).ID: return 5124; - case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 7837; - case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 7839; - case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 7841; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4837; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4839; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4841; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4843; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4845; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4847; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4849; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4851; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4853; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4855; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4857; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4859; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4861; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4863; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4865; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4867; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4869; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4871; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4873; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4875; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4877; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4879; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4881; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4883; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4885; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4887; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4889; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4891; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4893; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4895; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4897; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4899; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4901; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4903; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4905; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4907; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4909; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4911; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4913; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4915; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10333; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10334; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10337; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10338; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10341; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::None).ID: return 10342; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10345; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::None).ID: return 10346; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10349; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10350; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10353; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10354; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10357; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::None).ID: return 10358; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10361; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::None).ID: return 10362; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10365; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10366; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10369; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10370; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10373; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::None).ID: return 10374; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10377; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::None).ID: return 10378; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10381; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10382; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10385; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10386; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10389; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::None).ID: return 10390; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10393; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::None).ID: return 10394; - case Bricks::Bricks().ID: return 1428; - case BrownBanner::BrownBanner(0).ID: return 7553; - case BrownBanner::BrownBanner(1).ID: return 7554; - case BrownBanner::BrownBanner(2).ID: return 7555; - case BrownBanner::BrownBanner(3).ID: return 7556; - case BrownBanner::BrownBanner(4).ID: return 7557; - case BrownBanner::BrownBanner(5).ID: return 7558; - case BrownBanner::BrownBanner(6).ID: return 7559; - case BrownBanner::BrownBanner(7).ID: return 7560; - case BrownBanner::BrownBanner(8).ID: return 7561; - case BrownBanner::BrownBanner(9).ID: return 7562; - case BrownBanner::BrownBanner(10).ID: return 7563; - case BrownBanner::BrownBanner(11).ID: return 7564; - case BrownBanner::BrownBanner(12).ID: return 7565; - case BrownBanner::BrownBanner(13).ID: return 7566; - case BrownBanner::BrownBanner(14).ID: return 7567; - case BrownBanner::BrownBanner(15).ID: return 7568; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 1240; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 1241; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 1242; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 1243; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 1244; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 1245; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 1246; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 1247; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 1248; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 1249; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 1250; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 1251; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 1252; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 1253; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 1254; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 1255; - case BrownCarpet::BrownCarpet().ID: return 7342; - case BrownConcrete::BrownConcrete().ID: return 8914; - case BrownConcretePowder::BrownConcretePowder().ID: return 8930; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8886; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8887; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8888; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8889; - case BrownMushroom::BrownMushroom().ID: return 1424; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 4491; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 4492; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 4493; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 4494; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 4495; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 4496; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 4497; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 4498; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 4499; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 4500; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 4501; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 4502; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 4503; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4504; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4505; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4506; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4507; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4508; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4509; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4510; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4511; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4512; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4513; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4514; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4515; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4516; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4517; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4518; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4519; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4520; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4521; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4522; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4523; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4524; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4525; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4526; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4527; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4528; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4529; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4530; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4531; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4532; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4533; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4534; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4535; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4536; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4537; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4538; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4539; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4540; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4541; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4542; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4543; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4544; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4545; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4546; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4547; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4548; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4549; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4550; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4551; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4552; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4553; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4554; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8814; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8815; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8816; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8817; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8818; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8819; - case BrownStainedGlass::BrownStainedGlass().ID: return 4093; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 6713; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 6714; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 6717; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 6718; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 6721; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 6722; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 6725; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 6726; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 6729; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 6730; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 6733; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 6734; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 6737; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 6738; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 6741; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 6742; - case BrownTerracotta::BrownTerracotta().ID: return 6323; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7665; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7666; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7667; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7668; - case BrownWool::BrownWool().ID: return 1395; - case BubbleColumn::BubbleColumn(true).ID: return 9131; - case BubbleColumn::BubbleColumn(false).ID: return 9132; - case BubbleCoral::BubbleCoral().ID: return 8999; - case BubbleCoralBlock::BubbleCoralBlock().ID: return 8981; - case BubbleCoralFan::BubbleCoralFan().ID: return 9019; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9081; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9083; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9085; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9087; - case Cactus::Cactus(0).ID: return 3929; - case Cactus::Cactus(1).ID: return 3930; - case Cactus::Cactus(2).ID: return 3931; - case Cactus::Cactus(3).ID: return 3932; - case Cactus::Cactus(4).ID: return 3933; - case Cactus::Cactus(5).ID: return 3934; - case Cactus::Cactus(6).ID: return 3935; - case Cactus::Cactus(7).ID: return 3936; - case Cactus::Cactus(8).ID: return 3937; - case Cactus::Cactus(9).ID: return 3938; - case Cactus::Cactus(10).ID: return 3939; - case Cactus::Cactus(11).ID: return 3940; - case Cactus::Cactus(12).ID: return 3941; - case Cactus::Cactus(13).ID: return 3942; - case Cactus::Cactus(14).ID: return 3943; - case Cactus::Cactus(15).ID: return 3944; - case Cake::Cake(0).ID: return 4010; - case Cake::Cake(1).ID: return 4011; - case Cake::Cake(2).ID: return 4012; - case Cake::Cake(3).ID: return 4013; - case Cake::Cake(4).ID: return 4014; - case Cake::Cake(5).ID: return 4015; - case Cake::Cake(6).ID: return 4016; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 11233; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 11235; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 11237; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 11239; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 11241; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 11243; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 11245; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 11247; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 11249; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 11251; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 11253; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 11255; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 11257; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 11259; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 11261; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 11263; - case Carrots::Carrots(0).ID: return 5794; - case Carrots::Carrots(1).ID: return 5795; - case Carrots::Carrots(2).ID: return 5796; - case Carrots::Carrots(3).ID: return 5797; - case Carrots::Carrots(4).ID: return 5798; - case Carrots::Carrots(5).ID: return 5799; - case Carrots::Carrots(6).ID: return 5800; - case Carrots::Carrots(7).ID: return 5801; - case CartographyTable::CartographyTable().ID: return 11163; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 4002; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 4003; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 4004; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 4005; - case Cauldron::Cauldron(0).ID: return 5125; - case Cauldron::Cauldron(1).ID: return 5126; - case Cauldron::Cauldron(2).ID: return 5127; - case Cauldron::Cauldron(3).ID: return 5128; - case CaveAir::CaveAir().ID: return 9130; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8701; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8702; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8703; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8704; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8705; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8706; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8707; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8708; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8709; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8710; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8711; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8712; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 2033; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 2035; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 2037; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 2039; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 2041; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 2043; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 2045; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 2047; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 2049; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 2051; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 2053; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 2055; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6078; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6079; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6080; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6081; - case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 6203; - case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 7682; - case ChiseledSandstone::ChiseledSandstone().ID: return 246; - case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 4484; - case ChorusFlower::ChorusFlower(0).ID: return 8592; - case ChorusFlower::ChorusFlower(1).ID: return 8593; - case ChorusFlower::ChorusFlower(2).ID: return 8594; - case ChorusFlower::ChorusFlower(3).ID: return 8595; - case ChorusFlower::ChorusFlower(4).ID: return 8596; - case ChorusFlower::ChorusFlower(5).ID: return 8597; - case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 8528; - case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 8529; - case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 8530; - case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 8531; - case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 8532; - case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 8533; - case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 8534; - case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 8535; - case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 8536; - case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 8537; - case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 8538; - case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 8539; - case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 8540; - case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 8541; - case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 8542; - case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 8543; - case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 8544; - case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 8545; - case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 8546; - case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 8547; - case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 8548; - case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 8549; - case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 8550; - case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 8551; - case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 8552; - case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 8553; - case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 8554; - case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 8555; - case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 8556; - case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 8557; - case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 8558; - case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 8559; - case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 8560; - case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 8561; - case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 8562; - case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 8563; - case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 8564; - case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 8565; - case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 8566; - case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 8567; - case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 8568; - case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 8569; - case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 8570; - case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 8571; - case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 8572; - case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 8573; - case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 8574; - case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 8575; - case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 8576; - case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 8577; - case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 8578; - case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 8579; - case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 8580; - case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 8581; - case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 8582; - case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 8583; - case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 8584; - case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 8585; - case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 8586; - case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 8587; - case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 8588; - case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 8589; - case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 8590; - case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 8591; - case Clay::Clay().ID: return 3945; - case CoalBlock::CoalBlock().ID: return 7347; - case CoalOre::CoalOre().ID: return 71; - case CoarseDirt::CoarseDirt().ID: return 11; - case Cobblestone::Cobblestone().ID: return 14; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 7831; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 7833; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 7835; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3654; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3656; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3658; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3660; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3662; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3664; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3666; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3668; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3670; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3672; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3674; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3676; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3678; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3680; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3682; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3684; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3686; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3688; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3690; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3692; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3694; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3696; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3698; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3700; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3702; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3704; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3706; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3708; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3710; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3712; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3714; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3716; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3718; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3720; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3722; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3724; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3726; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3728; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3730; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3732; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5643; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5644; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5647; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5648; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5651; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5652; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5655; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5656; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5659; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5660; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5663; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5664; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5667; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5668; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5671; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5672; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5675; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5676; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5679; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5680; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5683; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5684; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5687; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5688; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5691; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5692; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5695; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5696; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5699; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5700; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5703; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5704; - case Cobweb::Cobweb().ID: return 1340; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 5142; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 5143; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 5144; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 5145; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 5146; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 5147; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 5148; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 5149; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 5150; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 5151; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 5152; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 5153; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5628; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5629; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5630; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5631; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5632; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5633; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5634; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5635; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5636; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5637; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5638; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5639; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 6142; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 6143; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 6144; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 6145; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 6146; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 6147; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 6148; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 6149; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 6150; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 6151; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 6152; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 6153; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 6154; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 6155; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 6156; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 6157; - case Composter::Composter(0).ID: return 11278; - case Composter::Composter(1).ID: return 11279; - case Composter::Composter(2).ID: return 11280; - case Composter::Composter(3).ID: return 11281; - case Composter::Composter(4).ID: return 11282; - case Composter::Composter(5).ID: return 11283; - case Composter::Composter(6).ID: return 11284; - case Composter::Composter(7).ID: return 11285; - case Composter::Composter(8).ID: return 11286; - case Conduit::Conduit().ID: return 9114; - case Cornflower::Cornflower().ID: return 1421; - case CrackedStoneBricks::CrackedStoneBricks().ID: return 4483; - case CraftingTable::CraftingTable().ID: return 3354; - case CreeperHead::CreeperHead(0).ID: return 6034; - case CreeperHead::CreeperHead(1).ID: return 6035; - case CreeperHead::CreeperHead(2).ID: return 6036; - case CreeperHead::CreeperHead(3).ID: return 6037; - case CreeperHead::CreeperHead(4).ID: return 6038; - case CreeperHead::CreeperHead(5).ID: return 6039; - case CreeperHead::CreeperHead(6).ID: return 6040; - case CreeperHead::CreeperHead(7).ID: return 6041; - case CreeperHead::CreeperHead(8).ID: return 6042; - case CreeperHead::CreeperHead(9).ID: return 6043; - case CreeperHead::CreeperHead(10).ID: return 6044; - case CreeperHead::CreeperHead(11).ID: return 6045; - case CreeperHead::CreeperHead(12).ID: return 6046; - case CreeperHead::CreeperHead(13).ID: return 6047; - case CreeperHead::CreeperHead(14).ID: return 6048; - case CreeperHead::CreeperHead(15).ID: return 6049; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6050; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6051; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6052; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6053; - case CutRedSandstone::CutRedSandstone().ID: return 7683; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Top).ID: return 7867; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Bottom).ID: return 7869; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Double).ID: return 7871; - case CutSandstone::CutSandstone().ID: return 247; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Top).ID: return 7819; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Bottom).ID: return 7821; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Double).ID: return 7823; - case CyanBanner::CyanBanner(0).ID: return 7505; - case CyanBanner::CyanBanner(1).ID: return 7506; - case CyanBanner::CyanBanner(2).ID: return 7507; - case CyanBanner::CyanBanner(3).ID: return 7508; - case CyanBanner::CyanBanner(4).ID: return 7509; - case CyanBanner::CyanBanner(5).ID: return 7510; - case CyanBanner::CyanBanner(6).ID: return 7511; - case CyanBanner::CyanBanner(7).ID: return 7512; - case CyanBanner::CyanBanner(8).ID: return 7513; - case CyanBanner::CyanBanner(9).ID: return 7514; - case CyanBanner::CyanBanner(10).ID: return 7515; - case CyanBanner::CyanBanner(11).ID: return 7516; - case CyanBanner::CyanBanner(12).ID: return 7517; - case CyanBanner::CyanBanner(13).ID: return 7518; - case CyanBanner::CyanBanner(14).ID: return 7519; - case CyanBanner::CyanBanner(15).ID: return 7520; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 1192; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 1193; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 1194; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 1195; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 1196; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 1197; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 1198; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 1199; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 1200; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 1201; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 1202; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 1203; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 1204; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 1205; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 1206; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 1207; - case CyanCarpet::CyanCarpet().ID: return 7339; - case CyanConcrete::CyanConcrete().ID: return 8911; - case CyanConcretePowder::CyanConcretePowder().ID: return 8927; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8874; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8875; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8876; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8877; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8796; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8797; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8798; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8799; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8800; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8801; - case CyanStainedGlass::CyanStainedGlass().ID: return 4090; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 6617; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 6618; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 6621; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 6622; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 6625; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 6626; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 6629; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 6630; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 6633; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 6634; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 6637; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 6638; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 6641; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 6642; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 6645; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 6646; - case CyanTerracotta::CyanTerracotta().ID: return 6320; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7653; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7654; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7655; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7656; - case CyanWool::CyanWool().ID: return 1392; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6082; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6083; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6084; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6085; - case Dandelion::Dandelion().ID: return 1411; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5930; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5931; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5932; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5933; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5934; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5935; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5936; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5937; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5938; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5939; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5940; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5941; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5942; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5943; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5944; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5945; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5946; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5947; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5948; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5949; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5950; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5951; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5952; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5953; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8458; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8459; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8460; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8461; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8462; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8463; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 8464; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 8465; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 8466; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 8467; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 8468; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 8469; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 8470; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 8471; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 8472; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 8473; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8474; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8475; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8476; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8477; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8478; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8479; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 8480; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 8481; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 8482; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 8483; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 8484; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 8485; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 8486; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 8487; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 8488; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 8489; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8490; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8491; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8492; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8493; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8494; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8495; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 8496; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 8497; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 8498; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 8499; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 8500; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 8501; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 8502; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 8503; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 8504; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 8505; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8506; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8507; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8508; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8509; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8510; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8511; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 8512; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 8513; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 8514; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 8515; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 8516; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 8517; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 8518; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 8519; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 8520; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 8521; - case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 8172; - case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 8173; - case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 8176; - case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 8177; - case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 8180; - case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 8181; - case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 8184; - case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 8185; - case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 8188; - case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 8189; - case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 8192; - case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 8193; - case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 8196; - case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 8197; - case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 8200; - case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 8201; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8010; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8011; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8012; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8013; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8014; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8015; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8016; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8017; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8018; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8019; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8020; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8021; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8022; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8023; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8024; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8025; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8026; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8027; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8028; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8029; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8030; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8031; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8032; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8033; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8034; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8035; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8036; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8037; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8038; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8039; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8040; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8041; - case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 214; - case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 215; - case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 216; - case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 217; - case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 218; - case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 219; - case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 220; - case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 221; - case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 222; - case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 223; - case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 224; - case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 225; - case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 226; - case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 227; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 87; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 88; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 89; - case DarkOakPlanks::DarkOakPlanks().ID: return 20; - case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3881; - case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3882; - case DarkOakSapling::DarkOakSapling(0).ID: return 31; - case DarkOakSapling::DarkOakSapling(1).ID: return 32; - case DarkOakSign::DarkOakSign(0).ID: return 3540; - case DarkOakSign::DarkOakSign(1).ID: return 3542; - case DarkOakSign::DarkOakSign(2).ID: return 3544; - case DarkOakSign::DarkOakSign(3).ID: return 3546; - case DarkOakSign::DarkOakSign(4).ID: return 3548; - case DarkOakSign::DarkOakSign(5).ID: return 3550; - case DarkOakSign::DarkOakSign(6).ID: return 3552; - case DarkOakSign::DarkOakSign(7).ID: return 3554; - case DarkOakSign::DarkOakSign(8).ID: return 3556; - case DarkOakSign::DarkOakSign(9).ID: return 3558; - case DarkOakSign::DarkOakSign(10).ID: return 3560; - case DarkOakSign::DarkOakSign(11).ID: return 3562; - case DarkOakSign::DarkOakSign(12).ID: return 3564; - case DarkOakSign::DarkOakSign(13).ID: return 3566; - case DarkOakSign::DarkOakSign(14).ID: return 3568; - case DarkOakSign::DarkOakSign(15).ID: return 3570; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 7795; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 7797; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 7799; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6920; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6922; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6924; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6926; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6928; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6930; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6932; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6934; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6936; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6938; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6940; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6942; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6944; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6946; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6948; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6950; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6952; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6954; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6956; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6958; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6960; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6962; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6964; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6966; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6968; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6970; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6972; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6974; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6976; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6978; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 6980; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 6982; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 6984; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 6986; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 6988; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 6990; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 6992; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 6994; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 6996; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 6998; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: return 4418; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: return 4420; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: return 4422; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: return 4424; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4426; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4428; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4430; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4432; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: return 4434; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: return 4436; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: return 4438; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: return 4440; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4442; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4444; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4446; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4448; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: return 4450; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: return 4452; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: return 4454; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: return 4456; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4458; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4460; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4462; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4464; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: return 4466; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: return 4468; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: return 4470; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: return 4472; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4474; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4476; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4478; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4480; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3774; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3776; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3778; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3780; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 123; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 124; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 125; - case DarkPrismarine::DarkPrismarine().ID: return 7067; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 7321; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 7323; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 7325; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7229; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7231; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7233; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7235; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7237; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7239; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7241; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7243; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7245; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7247; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7249; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7251; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7253; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7255; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7257; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7259; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7261; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7263; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7265; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7267; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7269; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7271; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7273; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7275; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7277; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7279; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7281; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7283; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7285; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7287; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7289; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7291; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7293; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7295; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7297; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7299; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7301; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7303; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7305; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7307; - case DaylightDetector::DaylightDetector(true, 0).ID: return 6158; - case DaylightDetector::DaylightDetector(true, 1).ID: return 6159; - case DaylightDetector::DaylightDetector(true, 2).ID: return 6160; - case DaylightDetector::DaylightDetector(true, 3).ID: return 6161; - case DaylightDetector::DaylightDetector(true, 4).ID: return 6162; - case DaylightDetector::DaylightDetector(true, 5).ID: return 6163; - case DaylightDetector::DaylightDetector(true, 6).ID: return 6164; - case DaylightDetector::DaylightDetector(true, 7).ID: return 6165; - case DaylightDetector::DaylightDetector(true, 8).ID: return 6166; - case DaylightDetector::DaylightDetector(true, 9).ID: return 6167; - case DaylightDetector::DaylightDetector(true, 10).ID: return 6168; - case DaylightDetector::DaylightDetector(true, 11).ID: return 6169; - case DaylightDetector::DaylightDetector(true, 12).ID: return 6170; - case DaylightDetector::DaylightDetector(true, 13).ID: return 6171; - case DaylightDetector::DaylightDetector(true, 14).ID: return 6172; - case DaylightDetector::DaylightDetector(true, 15).ID: return 6173; - case DaylightDetector::DaylightDetector(false, 0).ID: return 6174; - case DaylightDetector::DaylightDetector(false, 1).ID: return 6175; - case DaylightDetector::DaylightDetector(false, 2).ID: return 6176; - case DaylightDetector::DaylightDetector(false, 3).ID: return 6177; - case DaylightDetector::DaylightDetector(false, 4).ID: return 6178; - case DaylightDetector::DaylightDetector(false, 5).ID: return 6179; - case DaylightDetector::DaylightDetector(false, 6).ID: return 6180; - case DaylightDetector::DaylightDetector(false, 7).ID: return 6181; - case DaylightDetector::DaylightDetector(false, 8).ID: return 6182; - case DaylightDetector::DaylightDetector(false, 9).ID: return 6183; - case DaylightDetector::DaylightDetector(false, 10).ID: return 6184; - case DaylightDetector::DaylightDetector(false, 11).ID: return 6185; - case DaylightDetector::DaylightDetector(false, 12).ID: return 6186; - case DaylightDetector::DaylightDetector(false, 13).ID: return 6187; - case DaylightDetector::DaylightDetector(false, 14).ID: return 6188; - case DaylightDetector::DaylightDetector(false, 15).ID: return 6189; - case DeadBrainCoral::DeadBrainCoral().ID: return 8987; - case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 8975; - case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 9007; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9033; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9035; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9037; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9039; - case DeadBubbleCoral::DeadBubbleCoral().ID: return 8989; - case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 8976; - case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 9009; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9041; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9043; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9045; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9047; - case DeadBush::DeadBush().ID: return 1343; - case DeadFireCoral::DeadFireCoral().ID: return 8991; - case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 8977; - case DeadFireCoralFan::DeadFireCoralFan().ID: return 9011; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9049; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9051; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9053; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9055; - case DeadHornCoral::DeadHornCoral().ID: return 8993; - case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 8978; - case DeadHornCoralFan::DeadHornCoralFan().ID: return 9013; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9057; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9059; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9061; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9063; - case DeadTubeCoral::DeadTubeCoral().ID: return 8985; - case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 8974; - case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 9005; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9025; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9027; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9029; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9031; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1316; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1317; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1318; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1319; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1320; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1321; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1322; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1323; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1324; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1325; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1326; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1327; - case DiamondBlock::DiamondBlock().ID: return 3353; - case DiamondOre::DiamondOre().ID: return 3352; - case Diorite::Diorite().ID: return 4; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Top).ID: return 10326; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Bottom).ID: return 10328; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Double).ID: return 10330; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10174; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10176; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10178; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10180; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10182; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10184; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10186; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10188; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10190; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10192; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10194; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10196; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10198; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10200; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10202; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10204; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10206; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10208; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10210; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10212; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10214; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10216; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10218; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10220; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10222; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10224; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10226; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10228; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10230; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10232; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10234; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10236; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10238; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10240; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10242; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10244; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10246; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10248; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10250; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10252; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 11037; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 11038; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 11041; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 11042; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 11045; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 11046; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 11049; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 11050; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 11053; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 11054; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 11057; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 11058; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 11061; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 11062; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 11065; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 11066; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 11069; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 11070; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 11073; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 11074; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 11077; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 11078; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 11081; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 11082; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 11085; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 11086; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 11089; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 11090; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 11093; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 11094; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 11097; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 11098; - case Dirt::Dirt().ID: return 10; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 233; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 234; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 235; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 236; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 237; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 238; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 239; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 240; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 241; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 242; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 243; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 244; - case DragonEgg::DragonEgg().ID: return 5139; - case DragonHead::DragonHead(0).ID: return 6054; - case DragonHead::DragonHead(1).ID: return 6055; - case DragonHead::DragonHead(2).ID: return 6056; - case DragonHead::DragonHead(3).ID: return 6057; - case DragonHead::DragonHead(4).ID: return 6058; - case DragonHead::DragonHead(5).ID: return 6059; - case DragonHead::DragonHead(6).ID: return 6060; - case DragonHead::DragonHead(7).ID: return 6061; - case DragonHead::DragonHead(8).ID: return 6062; - case DragonHead::DragonHead(9).ID: return 6063; - case DragonHead::DragonHead(10).ID: return 6064; - case DragonHead::DragonHead(11).ID: return 6065; - case DragonHead::DragonHead(12).ID: return 6066; - case DragonHead::DragonHead(13).ID: return 6067; - case DragonHead::DragonHead(14).ID: return 6068; - case DragonHead::DragonHead(15).ID: return 6069; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6070; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6071; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6072; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6073; - case DriedKelpBlock::DriedKelpBlock().ID: return 8961; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 6299; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 6300; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 6301; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 6302; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 6303; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 6304; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 6305; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 6306; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 6307; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 6308; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 6309; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 6310; - case EmeraldBlock::EmeraldBlock().ID: return 5387; - case EmeraldOre::EmeraldOre().ID: return 5234; - case EnchantingTable::EnchantingTable().ID: return 5116; - case EndGateway::EndGateway().ID: return 8688; - case EndPortal::EndPortal().ID: return 5129; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5130; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5131; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 5132; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 5133; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5134; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5135; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 5136; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 5137; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 8522; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 8523; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 8524; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 8525; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 8526; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 8527; - case EndStone::EndStone().ID: return 5138; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Top).ID: return 10284; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Bottom).ID: return 10286; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Double).ID: return 10288; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 9534; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9536; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 9538; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9540; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 9542; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 9544; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9546; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 9548; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9550; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 9552; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 9554; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9556; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 9558; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9560; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 9562; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 9564; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9566; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 9568; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9570; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 9572; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 9574; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9576; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 9578; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9580; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 9582; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 9584; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9586; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 9588; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9590; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 9592; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 9594; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9596; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 9598; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9600; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 9602; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 9604; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 9606; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 9608; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 9610; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 9612; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 10973; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 10974; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 10977; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 10978; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 10981; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 10982; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 10985; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 10986; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 10989; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 10990; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 10993; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 10994; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 10997; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 10998; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 11001; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 11002; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 11005; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 11006; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 11009; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 11010; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 11013; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 11014; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 11017; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 11018; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 11021; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 11022; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 11025; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 11026; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 11029; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 11030; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 11033; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 11034; - case EndStoneBricks::EndStoneBricks().ID: return 8682; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 5236; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 5238; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 5240; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 5242; - case Farmland::Farmland(0).ID: return 3363; - case Farmland::Farmland(1).ID: return 3364; - case Farmland::Farmland(2).ID: return 3365; - case Farmland::Farmland(3).ID: return 3366; - case Farmland::Farmland(4).ID: return 3367; - case Farmland::Farmland(5).ID: return 3368; - case Farmland::Farmland(6).ID: return 3369; - case Farmland::Farmland(7).ID: return 3370; - case Fern::Fern().ID: return 1342; - case Fire::Fire(0, true, true, true, true, true).ID: return 1439; - case Fire::Fire(0, true, true, true, true, false).ID: return 1440; - case Fire::Fire(0, true, true, true, false, true).ID: return 1441; - case Fire::Fire(0, true, true, true, false, false).ID: return 1442; - case Fire::Fire(0, true, true, false, true, true).ID: return 1443; - case Fire::Fire(0, true, true, false, true, false).ID: return 1444; - case Fire::Fire(0, true, true, false, false, true).ID: return 1445; - case Fire::Fire(0, true, true, false, false, false).ID: return 1446; - case Fire::Fire(0, true, false, true, true, true).ID: return 1447; - case Fire::Fire(0, true, false, true, true, false).ID: return 1448; - case Fire::Fire(0, true, false, true, false, true).ID: return 1449; - case Fire::Fire(0, true, false, true, false, false).ID: return 1450; - case Fire::Fire(0, true, false, false, true, true).ID: return 1451; - case Fire::Fire(0, true, false, false, true, false).ID: return 1452; - case Fire::Fire(0, true, false, false, false, true).ID: return 1453; - case Fire::Fire(0, true, false, false, false, false).ID: return 1454; - case Fire::Fire(0, false, true, true, true, true).ID: return 1455; - case Fire::Fire(0, false, true, true, true, false).ID: return 1456; - case Fire::Fire(0, false, true, true, false, true).ID: return 1457; - case Fire::Fire(0, false, true, true, false, false).ID: return 1458; - case Fire::Fire(0, false, true, false, true, true).ID: return 1459; - case Fire::Fire(0, false, true, false, true, false).ID: return 1460; - case Fire::Fire(0, false, true, false, false, true).ID: return 1461; - case Fire::Fire(0, false, true, false, false, false).ID: return 1462; - case Fire::Fire(0, false, false, true, true, true).ID: return 1463; - case Fire::Fire(0, false, false, true, true, false).ID: return 1464; - case Fire::Fire(0, false, false, true, false, true).ID: return 1465; - case Fire::Fire(0, false, false, true, false, false).ID: return 1466; - case Fire::Fire(0, false, false, false, true, true).ID: return 1467; - case Fire::Fire(0, false, false, false, true, false).ID: return 1468; - case Fire::Fire(0, false, false, false, false, true).ID: return 1469; - case Fire::Fire(0, false, false, false, false, false).ID: return 1470; - case Fire::Fire(1, true, true, true, true, true).ID: return 1471; - case Fire::Fire(1, true, true, true, true, false).ID: return 1472; - case Fire::Fire(1, true, true, true, false, true).ID: return 1473; - case Fire::Fire(1, true, true, true, false, false).ID: return 1474; - case Fire::Fire(1, true, true, false, true, true).ID: return 1475; - case Fire::Fire(1, true, true, false, true, false).ID: return 1476; - case Fire::Fire(1, true, true, false, false, true).ID: return 1477; - case Fire::Fire(1, true, true, false, false, false).ID: return 1478; - case Fire::Fire(1, true, false, true, true, true).ID: return 1479; - case Fire::Fire(1, true, false, true, true, false).ID: return 1480; - case Fire::Fire(1, true, false, true, false, true).ID: return 1481; - case Fire::Fire(1, true, false, true, false, false).ID: return 1482; - case Fire::Fire(1, true, false, false, true, true).ID: return 1483; - case Fire::Fire(1, true, false, false, true, false).ID: return 1484; - case Fire::Fire(1, true, false, false, false, true).ID: return 1485; - case Fire::Fire(1, true, false, false, false, false).ID: return 1486; - case Fire::Fire(1, false, true, true, true, true).ID: return 1487; - case Fire::Fire(1, false, true, true, true, false).ID: return 1488; - case Fire::Fire(1, false, true, true, false, true).ID: return 1489; - case Fire::Fire(1, false, true, true, false, false).ID: return 1490; - case Fire::Fire(1, false, true, false, true, true).ID: return 1491; - case Fire::Fire(1, false, true, false, true, false).ID: return 1492; - case Fire::Fire(1, false, true, false, false, true).ID: return 1493; - case Fire::Fire(1, false, true, false, false, false).ID: return 1494; - case Fire::Fire(1, false, false, true, true, true).ID: return 1495; - case Fire::Fire(1, false, false, true, true, false).ID: return 1496; - case Fire::Fire(1, false, false, true, false, true).ID: return 1497; - case Fire::Fire(1, false, false, true, false, false).ID: return 1498; - case Fire::Fire(1, false, false, false, true, true).ID: return 1499; - case Fire::Fire(1, false, false, false, true, false).ID: return 1500; - case Fire::Fire(1, false, false, false, false, true).ID: return 1501; - case Fire::Fire(1, false, false, false, false, false).ID: return 1502; - case Fire::Fire(2, true, true, true, true, true).ID: return 1503; - case Fire::Fire(2, true, true, true, true, false).ID: return 1504; - case Fire::Fire(2, true, true, true, false, true).ID: return 1505; - case Fire::Fire(2, true, true, true, false, false).ID: return 1506; - case Fire::Fire(2, true, true, false, true, true).ID: return 1507; - case Fire::Fire(2, true, true, false, true, false).ID: return 1508; - case Fire::Fire(2, true, true, false, false, true).ID: return 1509; - case Fire::Fire(2, true, true, false, false, false).ID: return 1510; - case Fire::Fire(2, true, false, true, true, true).ID: return 1511; - case Fire::Fire(2, true, false, true, true, false).ID: return 1512; - case Fire::Fire(2, true, false, true, false, true).ID: return 1513; - case Fire::Fire(2, true, false, true, false, false).ID: return 1514; - case Fire::Fire(2, true, false, false, true, true).ID: return 1515; - case Fire::Fire(2, true, false, false, true, false).ID: return 1516; - case Fire::Fire(2, true, false, false, false, true).ID: return 1517; - case Fire::Fire(2, true, false, false, false, false).ID: return 1518; - case Fire::Fire(2, false, true, true, true, true).ID: return 1519; - case Fire::Fire(2, false, true, true, true, false).ID: return 1520; - case Fire::Fire(2, false, true, true, false, true).ID: return 1521; - case Fire::Fire(2, false, true, true, false, false).ID: return 1522; - case Fire::Fire(2, false, true, false, true, true).ID: return 1523; - case Fire::Fire(2, false, true, false, true, false).ID: return 1524; - case Fire::Fire(2, false, true, false, false, true).ID: return 1525; - case Fire::Fire(2, false, true, false, false, false).ID: return 1526; - case Fire::Fire(2, false, false, true, true, true).ID: return 1527; - case Fire::Fire(2, false, false, true, true, false).ID: return 1528; - case Fire::Fire(2, false, false, true, false, true).ID: return 1529; - case Fire::Fire(2, false, false, true, false, false).ID: return 1530; - case Fire::Fire(2, false, false, false, true, true).ID: return 1531; - case Fire::Fire(2, false, false, false, true, false).ID: return 1532; - case Fire::Fire(2, false, false, false, false, true).ID: return 1533; - case Fire::Fire(2, false, false, false, false, false).ID: return 1534; - case Fire::Fire(3, true, true, true, true, true).ID: return 1535; - case Fire::Fire(3, true, true, true, true, false).ID: return 1536; - case Fire::Fire(3, true, true, true, false, true).ID: return 1537; - case Fire::Fire(3, true, true, true, false, false).ID: return 1538; - case Fire::Fire(3, true, true, false, true, true).ID: return 1539; - case Fire::Fire(3, true, true, false, true, false).ID: return 1540; - case Fire::Fire(3, true, true, false, false, true).ID: return 1541; - case Fire::Fire(3, true, true, false, false, false).ID: return 1542; - case Fire::Fire(3, true, false, true, true, true).ID: return 1543; - case Fire::Fire(3, true, false, true, true, false).ID: return 1544; - case Fire::Fire(3, true, false, true, false, true).ID: return 1545; - case Fire::Fire(3, true, false, true, false, false).ID: return 1546; - case Fire::Fire(3, true, false, false, true, true).ID: return 1547; - case Fire::Fire(3, true, false, false, true, false).ID: return 1548; - case Fire::Fire(3, true, false, false, false, true).ID: return 1549; - case Fire::Fire(3, true, false, false, false, false).ID: return 1550; - case Fire::Fire(3, false, true, true, true, true).ID: return 1551; - case Fire::Fire(3, false, true, true, true, false).ID: return 1552; - case Fire::Fire(3, false, true, true, false, true).ID: return 1553; - case Fire::Fire(3, false, true, true, false, false).ID: return 1554; - case Fire::Fire(3, false, true, false, true, true).ID: return 1555; - case Fire::Fire(3, false, true, false, true, false).ID: return 1556; - case Fire::Fire(3, false, true, false, false, true).ID: return 1557; - case Fire::Fire(3, false, true, false, false, false).ID: return 1558; - case Fire::Fire(3, false, false, true, true, true).ID: return 1559; - case Fire::Fire(3, false, false, true, true, false).ID: return 1560; - case Fire::Fire(3, false, false, true, false, true).ID: return 1561; - case Fire::Fire(3, false, false, true, false, false).ID: return 1562; - case Fire::Fire(3, false, false, false, true, true).ID: return 1563; - case Fire::Fire(3, false, false, false, true, false).ID: return 1564; - case Fire::Fire(3, false, false, false, false, true).ID: return 1565; - case Fire::Fire(3, false, false, false, false, false).ID: return 1566; - case Fire::Fire(4, true, true, true, true, true).ID: return 1567; - case Fire::Fire(4, true, true, true, true, false).ID: return 1568; - case Fire::Fire(4, true, true, true, false, true).ID: return 1569; - case Fire::Fire(4, true, true, true, false, false).ID: return 1570; - case Fire::Fire(4, true, true, false, true, true).ID: return 1571; - case Fire::Fire(4, true, true, false, true, false).ID: return 1572; - case Fire::Fire(4, true, true, false, false, true).ID: return 1573; - case Fire::Fire(4, true, true, false, false, false).ID: return 1574; - case Fire::Fire(4, true, false, true, true, true).ID: return 1575; - case Fire::Fire(4, true, false, true, true, false).ID: return 1576; - case Fire::Fire(4, true, false, true, false, true).ID: return 1577; - case Fire::Fire(4, true, false, true, false, false).ID: return 1578; - case Fire::Fire(4, true, false, false, true, true).ID: return 1579; - case Fire::Fire(4, true, false, false, true, false).ID: return 1580; - case Fire::Fire(4, true, false, false, false, true).ID: return 1581; - case Fire::Fire(4, true, false, false, false, false).ID: return 1582; - case Fire::Fire(4, false, true, true, true, true).ID: return 1583; - case Fire::Fire(4, false, true, true, true, false).ID: return 1584; - case Fire::Fire(4, false, true, true, false, true).ID: return 1585; - case Fire::Fire(4, false, true, true, false, false).ID: return 1586; - case Fire::Fire(4, false, true, false, true, true).ID: return 1587; - case Fire::Fire(4, false, true, false, true, false).ID: return 1588; - case Fire::Fire(4, false, true, false, false, true).ID: return 1589; - case Fire::Fire(4, false, true, false, false, false).ID: return 1590; - case Fire::Fire(4, false, false, true, true, true).ID: return 1591; - case Fire::Fire(4, false, false, true, true, false).ID: return 1592; - case Fire::Fire(4, false, false, true, false, true).ID: return 1593; - case Fire::Fire(4, false, false, true, false, false).ID: return 1594; - case Fire::Fire(4, false, false, false, true, true).ID: return 1595; - case Fire::Fire(4, false, false, false, true, false).ID: return 1596; - case Fire::Fire(4, false, false, false, false, true).ID: return 1597; - case Fire::Fire(4, false, false, false, false, false).ID: return 1598; - case Fire::Fire(5, true, true, true, true, true).ID: return 1599; - case Fire::Fire(5, true, true, true, true, false).ID: return 1600; - case Fire::Fire(5, true, true, true, false, true).ID: return 1601; - case Fire::Fire(5, true, true, true, false, false).ID: return 1602; - case Fire::Fire(5, true, true, false, true, true).ID: return 1603; - case Fire::Fire(5, true, true, false, true, false).ID: return 1604; - case Fire::Fire(5, true, true, false, false, true).ID: return 1605; - case Fire::Fire(5, true, true, false, false, false).ID: return 1606; - case Fire::Fire(5, true, false, true, true, true).ID: return 1607; - case Fire::Fire(5, true, false, true, true, false).ID: return 1608; - case Fire::Fire(5, true, false, true, false, true).ID: return 1609; - case Fire::Fire(5, true, false, true, false, false).ID: return 1610; - case Fire::Fire(5, true, false, false, true, true).ID: return 1611; - case Fire::Fire(5, true, false, false, true, false).ID: return 1612; - case Fire::Fire(5, true, false, false, false, true).ID: return 1613; - case Fire::Fire(5, true, false, false, false, false).ID: return 1614; - case Fire::Fire(5, false, true, true, true, true).ID: return 1615; - case Fire::Fire(5, false, true, true, true, false).ID: return 1616; - case Fire::Fire(5, false, true, true, false, true).ID: return 1617; - case Fire::Fire(5, false, true, true, false, false).ID: return 1618; - case Fire::Fire(5, false, true, false, true, true).ID: return 1619; - case Fire::Fire(5, false, true, false, true, false).ID: return 1620; - case Fire::Fire(5, false, true, false, false, true).ID: return 1621; - case Fire::Fire(5, false, true, false, false, false).ID: return 1622; - case Fire::Fire(5, false, false, true, true, true).ID: return 1623; - case Fire::Fire(5, false, false, true, true, false).ID: return 1624; - case Fire::Fire(5, false, false, true, false, true).ID: return 1625; - case Fire::Fire(5, false, false, true, false, false).ID: return 1626; - case Fire::Fire(5, false, false, false, true, true).ID: return 1627; - case Fire::Fire(5, false, false, false, true, false).ID: return 1628; - case Fire::Fire(5, false, false, false, false, true).ID: return 1629; - case Fire::Fire(5, false, false, false, false, false).ID: return 1630; - case Fire::Fire(6, true, true, true, true, true).ID: return 1631; - case Fire::Fire(6, true, true, true, true, false).ID: return 1632; - case Fire::Fire(6, true, true, true, false, true).ID: return 1633; - case Fire::Fire(6, true, true, true, false, false).ID: return 1634; - case Fire::Fire(6, true, true, false, true, true).ID: return 1635; - case Fire::Fire(6, true, true, false, true, false).ID: return 1636; - case Fire::Fire(6, true, true, false, false, true).ID: return 1637; - case Fire::Fire(6, true, true, false, false, false).ID: return 1638; - case Fire::Fire(6, true, false, true, true, true).ID: return 1639; - case Fire::Fire(6, true, false, true, true, false).ID: return 1640; - case Fire::Fire(6, true, false, true, false, true).ID: return 1641; - case Fire::Fire(6, true, false, true, false, false).ID: return 1642; - case Fire::Fire(6, true, false, false, true, true).ID: return 1643; - case Fire::Fire(6, true, false, false, true, false).ID: return 1644; - case Fire::Fire(6, true, false, false, false, true).ID: return 1645; - case Fire::Fire(6, true, false, false, false, false).ID: return 1646; - case Fire::Fire(6, false, true, true, true, true).ID: return 1647; - case Fire::Fire(6, false, true, true, true, false).ID: return 1648; - case Fire::Fire(6, false, true, true, false, true).ID: return 1649; - case Fire::Fire(6, false, true, true, false, false).ID: return 1650; - case Fire::Fire(6, false, true, false, true, true).ID: return 1651; - case Fire::Fire(6, false, true, false, true, false).ID: return 1652; - case Fire::Fire(6, false, true, false, false, true).ID: return 1653; - case Fire::Fire(6, false, true, false, false, false).ID: return 1654; - case Fire::Fire(6, false, false, true, true, true).ID: return 1655; - case Fire::Fire(6, false, false, true, true, false).ID: return 1656; - case Fire::Fire(6, false, false, true, false, true).ID: return 1657; - case Fire::Fire(6, false, false, true, false, false).ID: return 1658; - case Fire::Fire(6, false, false, false, true, true).ID: return 1659; - case Fire::Fire(6, false, false, false, true, false).ID: return 1660; - case Fire::Fire(6, false, false, false, false, true).ID: return 1661; - case Fire::Fire(6, false, false, false, false, false).ID: return 1662; - case Fire::Fire(7, true, true, true, true, true).ID: return 1663; - case Fire::Fire(7, true, true, true, true, false).ID: return 1664; - case Fire::Fire(7, true, true, true, false, true).ID: return 1665; - case Fire::Fire(7, true, true, true, false, false).ID: return 1666; - case Fire::Fire(7, true, true, false, true, true).ID: return 1667; - case Fire::Fire(7, true, true, false, true, false).ID: return 1668; - case Fire::Fire(7, true, true, false, false, true).ID: return 1669; - case Fire::Fire(7, true, true, false, false, false).ID: return 1670; - case Fire::Fire(7, true, false, true, true, true).ID: return 1671; - case Fire::Fire(7, true, false, true, true, false).ID: return 1672; - case Fire::Fire(7, true, false, true, false, true).ID: return 1673; - case Fire::Fire(7, true, false, true, false, false).ID: return 1674; - case Fire::Fire(7, true, false, false, true, true).ID: return 1675; - case Fire::Fire(7, true, false, false, true, false).ID: return 1676; - case Fire::Fire(7, true, false, false, false, true).ID: return 1677; - case Fire::Fire(7, true, false, false, false, false).ID: return 1678; - case Fire::Fire(7, false, true, true, true, true).ID: return 1679; - case Fire::Fire(7, false, true, true, true, false).ID: return 1680; - case Fire::Fire(7, false, true, true, false, true).ID: return 1681; - case Fire::Fire(7, false, true, true, false, false).ID: return 1682; - case Fire::Fire(7, false, true, false, true, true).ID: return 1683; - case Fire::Fire(7, false, true, false, true, false).ID: return 1684; - case Fire::Fire(7, false, true, false, false, true).ID: return 1685; - case Fire::Fire(7, false, true, false, false, false).ID: return 1686; - case Fire::Fire(7, false, false, true, true, true).ID: return 1687; - case Fire::Fire(7, false, false, true, true, false).ID: return 1688; - case Fire::Fire(7, false, false, true, false, true).ID: return 1689; - case Fire::Fire(7, false, false, true, false, false).ID: return 1690; - case Fire::Fire(7, false, false, false, true, true).ID: return 1691; - case Fire::Fire(7, false, false, false, true, false).ID: return 1692; - case Fire::Fire(7, false, false, false, false, true).ID: return 1693; - case Fire::Fire(7, false, false, false, false, false).ID: return 1694; - case Fire::Fire(8, true, true, true, true, true).ID: return 1695; - case Fire::Fire(8, true, true, true, true, false).ID: return 1696; - case Fire::Fire(8, true, true, true, false, true).ID: return 1697; - case Fire::Fire(8, true, true, true, false, false).ID: return 1698; - case Fire::Fire(8, true, true, false, true, true).ID: return 1699; - case Fire::Fire(8, true, true, false, true, false).ID: return 1700; - case Fire::Fire(8, true, true, false, false, true).ID: return 1701; - case Fire::Fire(8, true, true, false, false, false).ID: return 1702; - case Fire::Fire(8, true, false, true, true, true).ID: return 1703; - case Fire::Fire(8, true, false, true, true, false).ID: return 1704; - case Fire::Fire(8, true, false, true, false, true).ID: return 1705; - case Fire::Fire(8, true, false, true, false, false).ID: return 1706; - case Fire::Fire(8, true, false, false, true, true).ID: return 1707; - case Fire::Fire(8, true, false, false, true, false).ID: return 1708; - case Fire::Fire(8, true, false, false, false, true).ID: return 1709; - case Fire::Fire(8, true, false, false, false, false).ID: return 1710; - case Fire::Fire(8, false, true, true, true, true).ID: return 1711; - case Fire::Fire(8, false, true, true, true, false).ID: return 1712; - case Fire::Fire(8, false, true, true, false, true).ID: return 1713; - case Fire::Fire(8, false, true, true, false, false).ID: return 1714; - case Fire::Fire(8, false, true, false, true, true).ID: return 1715; - case Fire::Fire(8, false, true, false, true, false).ID: return 1716; - case Fire::Fire(8, false, true, false, false, true).ID: return 1717; - case Fire::Fire(8, false, true, false, false, false).ID: return 1718; - case Fire::Fire(8, false, false, true, true, true).ID: return 1719; - case Fire::Fire(8, false, false, true, true, false).ID: return 1720; - case Fire::Fire(8, false, false, true, false, true).ID: return 1721; - case Fire::Fire(8, false, false, true, false, false).ID: return 1722; - case Fire::Fire(8, false, false, false, true, true).ID: return 1723; - case Fire::Fire(8, false, false, false, true, false).ID: return 1724; - case Fire::Fire(8, false, false, false, false, true).ID: return 1725; - case Fire::Fire(8, false, false, false, false, false).ID: return 1726; - case Fire::Fire(9, true, true, true, true, true).ID: return 1727; - case Fire::Fire(9, true, true, true, true, false).ID: return 1728; - case Fire::Fire(9, true, true, true, false, true).ID: return 1729; - case Fire::Fire(9, true, true, true, false, false).ID: return 1730; - case Fire::Fire(9, true, true, false, true, true).ID: return 1731; - case Fire::Fire(9, true, true, false, true, false).ID: return 1732; - case Fire::Fire(9, true, true, false, false, true).ID: return 1733; - case Fire::Fire(9, true, true, false, false, false).ID: return 1734; - case Fire::Fire(9, true, false, true, true, true).ID: return 1735; - case Fire::Fire(9, true, false, true, true, false).ID: return 1736; - case Fire::Fire(9, true, false, true, false, true).ID: return 1737; - case Fire::Fire(9, true, false, true, false, false).ID: return 1738; - case Fire::Fire(9, true, false, false, true, true).ID: return 1739; - case Fire::Fire(9, true, false, false, true, false).ID: return 1740; - case Fire::Fire(9, true, false, false, false, true).ID: return 1741; - case Fire::Fire(9, true, false, false, false, false).ID: return 1742; - case Fire::Fire(9, false, true, true, true, true).ID: return 1743; - case Fire::Fire(9, false, true, true, true, false).ID: return 1744; - case Fire::Fire(9, false, true, true, false, true).ID: return 1745; - case Fire::Fire(9, false, true, true, false, false).ID: return 1746; - case Fire::Fire(9, false, true, false, true, true).ID: return 1747; - case Fire::Fire(9, false, true, false, true, false).ID: return 1748; - case Fire::Fire(9, false, true, false, false, true).ID: return 1749; - case Fire::Fire(9, false, true, false, false, false).ID: return 1750; - case Fire::Fire(9, false, false, true, true, true).ID: return 1751; - case Fire::Fire(9, false, false, true, true, false).ID: return 1752; - case Fire::Fire(9, false, false, true, false, true).ID: return 1753; - case Fire::Fire(9, false, false, true, false, false).ID: return 1754; - case Fire::Fire(9, false, false, false, true, true).ID: return 1755; - case Fire::Fire(9, false, false, false, true, false).ID: return 1756; - case Fire::Fire(9, false, false, false, false, true).ID: return 1757; - case Fire::Fire(9, false, false, false, false, false).ID: return 1758; - case Fire::Fire(10, true, true, true, true, true).ID: return 1759; - case Fire::Fire(10, true, true, true, true, false).ID: return 1760; - case Fire::Fire(10, true, true, true, false, true).ID: return 1761; - case Fire::Fire(10, true, true, true, false, false).ID: return 1762; - case Fire::Fire(10, true, true, false, true, true).ID: return 1763; - case Fire::Fire(10, true, true, false, true, false).ID: return 1764; - case Fire::Fire(10, true, true, false, false, true).ID: return 1765; - case Fire::Fire(10, true, true, false, false, false).ID: return 1766; - case Fire::Fire(10, true, false, true, true, true).ID: return 1767; - case Fire::Fire(10, true, false, true, true, false).ID: return 1768; - case Fire::Fire(10, true, false, true, false, true).ID: return 1769; - case Fire::Fire(10, true, false, true, false, false).ID: return 1770; - case Fire::Fire(10, true, false, false, true, true).ID: return 1771; - case Fire::Fire(10, true, false, false, true, false).ID: return 1772; - case Fire::Fire(10, true, false, false, false, true).ID: return 1773; - case Fire::Fire(10, true, false, false, false, false).ID: return 1774; - case Fire::Fire(10, false, true, true, true, true).ID: return 1775; - case Fire::Fire(10, false, true, true, true, false).ID: return 1776; - case Fire::Fire(10, false, true, true, false, true).ID: return 1777; - case Fire::Fire(10, false, true, true, false, false).ID: return 1778; - case Fire::Fire(10, false, true, false, true, true).ID: return 1779; - case Fire::Fire(10, false, true, false, true, false).ID: return 1780; - case Fire::Fire(10, false, true, false, false, true).ID: return 1781; - case Fire::Fire(10, false, true, false, false, false).ID: return 1782; - case Fire::Fire(10, false, false, true, true, true).ID: return 1783; - case Fire::Fire(10, false, false, true, true, false).ID: return 1784; - case Fire::Fire(10, false, false, true, false, true).ID: return 1785; - case Fire::Fire(10, false, false, true, false, false).ID: return 1786; - case Fire::Fire(10, false, false, false, true, true).ID: return 1787; - case Fire::Fire(10, false, false, false, true, false).ID: return 1788; - case Fire::Fire(10, false, false, false, false, true).ID: return 1789; - case Fire::Fire(10, false, false, false, false, false).ID: return 1790; - case Fire::Fire(11, true, true, true, true, true).ID: return 1791; - case Fire::Fire(11, true, true, true, true, false).ID: return 1792; - case Fire::Fire(11, true, true, true, false, true).ID: return 1793; - case Fire::Fire(11, true, true, true, false, false).ID: return 1794; - case Fire::Fire(11, true, true, false, true, true).ID: return 1795; - case Fire::Fire(11, true, true, false, true, false).ID: return 1796; - case Fire::Fire(11, true, true, false, false, true).ID: return 1797; - case Fire::Fire(11, true, true, false, false, false).ID: return 1798; - case Fire::Fire(11, true, false, true, true, true).ID: return 1799; - case Fire::Fire(11, true, false, true, true, false).ID: return 1800; - case Fire::Fire(11, true, false, true, false, true).ID: return 1801; - case Fire::Fire(11, true, false, true, false, false).ID: return 1802; - case Fire::Fire(11, true, false, false, true, true).ID: return 1803; - case Fire::Fire(11, true, false, false, true, false).ID: return 1804; - case Fire::Fire(11, true, false, false, false, true).ID: return 1805; - case Fire::Fire(11, true, false, false, false, false).ID: return 1806; - case Fire::Fire(11, false, true, true, true, true).ID: return 1807; - case Fire::Fire(11, false, true, true, true, false).ID: return 1808; - case Fire::Fire(11, false, true, true, false, true).ID: return 1809; - case Fire::Fire(11, false, true, true, false, false).ID: return 1810; - case Fire::Fire(11, false, true, false, true, true).ID: return 1811; - case Fire::Fire(11, false, true, false, true, false).ID: return 1812; - case Fire::Fire(11, false, true, false, false, true).ID: return 1813; - case Fire::Fire(11, false, true, false, false, false).ID: return 1814; - case Fire::Fire(11, false, false, true, true, true).ID: return 1815; - case Fire::Fire(11, false, false, true, true, false).ID: return 1816; - case Fire::Fire(11, false, false, true, false, true).ID: return 1817; - case Fire::Fire(11, false, false, true, false, false).ID: return 1818; - case Fire::Fire(11, false, false, false, true, true).ID: return 1819; - case Fire::Fire(11, false, false, false, true, false).ID: return 1820; - case Fire::Fire(11, false, false, false, false, true).ID: return 1821; - case Fire::Fire(11, false, false, false, false, false).ID: return 1822; - case Fire::Fire(12, true, true, true, true, true).ID: return 1823; - case Fire::Fire(12, true, true, true, true, false).ID: return 1824; - case Fire::Fire(12, true, true, true, false, true).ID: return 1825; - case Fire::Fire(12, true, true, true, false, false).ID: return 1826; - case Fire::Fire(12, true, true, false, true, true).ID: return 1827; - case Fire::Fire(12, true, true, false, true, false).ID: return 1828; - case Fire::Fire(12, true, true, false, false, true).ID: return 1829; - case Fire::Fire(12, true, true, false, false, false).ID: return 1830; - case Fire::Fire(12, true, false, true, true, true).ID: return 1831; - case Fire::Fire(12, true, false, true, true, false).ID: return 1832; - case Fire::Fire(12, true, false, true, false, true).ID: return 1833; - case Fire::Fire(12, true, false, true, false, false).ID: return 1834; - case Fire::Fire(12, true, false, false, true, true).ID: return 1835; - case Fire::Fire(12, true, false, false, true, false).ID: return 1836; - case Fire::Fire(12, true, false, false, false, true).ID: return 1837; - case Fire::Fire(12, true, false, false, false, false).ID: return 1838; - case Fire::Fire(12, false, true, true, true, true).ID: return 1839; - case Fire::Fire(12, false, true, true, true, false).ID: return 1840; - case Fire::Fire(12, false, true, true, false, true).ID: return 1841; - case Fire::Fire(12, false, true, true, false, false).ID: return 1842; - case Fire::Fire(12, false, true, false, true, true).ID: return 1843; - case Fire::Fire(12, false, true, false, true, false).ID: return 1844; - case Fire::Fire(12, false, true, false, false, true).ID: return 1845; - case Fire::Fire(12, false, true, false, false, false).ID: return 1846; - case Fire::Fire(12, false, false, true, true, true).ID: return 1847; - case Fire::Fire(12, false, false, true, true, false).ID: return 1848; - case Fire::Fire(12, false, false, true, false, true).ID: return 1849; - case Fire::Fire(12, false, false, true, false, false).ID: return 1850; - case Fire::Fire(12, false, false, false, true, true).ID: return 1851; - case Fire::Fire(12, false, false, false, true, false).ID: return 1852; - case Fire::Fire(12, false, false, false, false, true).ID: return 1853; - case Fire::Fire(12, false, false, false, false, false).ID: return 1854; - case Fire::Fire(13, true, true, true, true, true).ID: return 1855; - case Fire::Fire(13, true, true, true, true, false).ID: return 1856; - case Fire::Fire(13, true, true, true, false, true).ID: return 1857; - case Fire::Fire(13, true, true, true, false, false).ID: return 1858; - case Fire::Fire(13, true, true, false, true, true).ID: return 1859; - case Fire::Fire(13, true, true, false, true, false).ID: return 1860; - case Fire::Fire(13, true, true, false, false, true).ID: return 1861; - case Fire::Fire(13, true, true, false, false, false).ID: return 1862; - case Fire::Fire(13, true, false, true, true, true).ID: return 1863; - case Fire::Fire(13, true, false, true, true, false).ID: return 1864; - case Fire::Fire(13, true, false, true, false, true).ID: return 1865; - case Fire::Fire(13, true, false, true, false, false).ID: return 1866; - case Fire::Fire(13, true, false, false, true, true).ID: return 1867; - case Fire::Fire(13, true, false, false, true, false).ID: return 1868; - case Fire::Fire(13, true, false, false, false, true).ID: return 1869; - case Fire::Fire(13, true, false, false, false, false).ID: return 1870; - case Fire::Fire(13, false, true, true, true, true).ID: return 1871; - case Fire::Fire(13, false, true, true, true, false).ID: return 1872; - case Fire::Fire(13, false, true, true, false, true).ID: return 1873; - case Fire::Fire(13, false, true, true, false, false).ID: return 1874; - case Fire::Fire(13, false, true, false, true, true).ID: return 1875; - case Fire::Fire(13, false, true, false, true, false).ID: return 1876; - case Fire::Fire(13, false, true, false, false, true).ID: return 1877; - case Fire::Fire(13, false, true, false, false, false).ID: return 1878; - case Fire::Fire(13, false, false, true, true, true).ID: return 1879; - case Fire::Fire(13, false, false, true, true, false).ID: return 1880; - case Fire::Fire(13, false, false, true, false, true).ID: return 1881; - case Fire::Fire(13, false, false, true, false, false).ID: return 1882; - case Fire::Fire(13, false, false, false, true, true).ID: return 1883; - case Fire::Fire(13, false, false, false, true, false).ID: return 1884; - case Fire::Fire(13, false, false, false, false, true).ID: return 1885; - case Fire::Fire(13, false, false, false, false, false).ID: return 1886; - case Fire::Fire(14, true, true, true, true, true).ID: return 1887; - case Fire::Fire(14, true, true, true, true, false).ID: return 1888; - case Fire::Fire(14, true, true, true, false, true).ID: return 1889; - case Fire::Fire(14, true, true, true, false, false).ID: return 1890; - case Fire::Fire(14, true, true, false, true, true).ID: return 1891; - case Fire::Fire(14, true, true, false, true, false).ID: return 1892; - case Fire::Fire(14, true, true, false, false, true).ID: return 1893; - case Fire::Fire(14, true, true, false, false, false).ID: return 1894; - case Fire::Fire(14, true, false, true, true, true).ID: return 1895; - case Fire::Fire(14, true, false, true, true, false).ID: return 1896; - case Fire::Fire(14, true, false, true, false, true).ID: return 1897; - case Fire::Fire(14, true, false, true, false, false).ID: return 1898; - case Fire::Fire(14, true, false, false, true, true).ID: return 1899; - case Fire::Fire(14, true, false, false, true, false).ID: return 1900; - case Fire::Fire(14, true, false, false, false, true).ID: return 1901; - case Fire::Fire(14, true, false, false, false, false).ID: return 1902; - case Fire::Fire(14, false, true, true, true, true).ID: return 1903; - case Fire::Fire(14, false, true, true, true, false).ID: return 1904; - case Fire::Fire(14, false, true, true, false, true).ID: return 1905; - case Fire::Fire(14, false, true, true, false, false).ID: return 1906; - case Fire::Fire(14, false, true, false, true, true).ID: return 1907; - case Fire::Fire(14, false, true, false, true, false).ID: return 1908; - case Fire::Fire(14, false, true, false, false, true).ID: return 1909; - case Fire::Fire(14, false, true, false, false, false).ID: return 1910; - case Fire::Fire(14, false, false, true, true, true).ID: return 1911; - case Fire::Fire(14, false, false, true, true, false).ID: return 1912; - case Fire::Fire(14, false, false, true, false, true).ID: return 1913; - case Fire::Fire(14, false, false, true, false, false).ID: return 1914; - case Fire::Fire(14, false, false, false, true, true).ID: return 1915; - case Fire::Fire(14, false, false, false, true, false).ID: return 1916; - case Fire::Fire(14, false, false, false, false, true).ID: return 1917; - case Fire::Fire(14, false, false, false, false, false).ID: return 1918; - case Fire::Fire(15, true, true, true, true, true).ID: return 1919; - case Fire::Fire(15, true, true, true, true, false).ID: return 1920; - case Fire::Fire(15, true, true, true, false, true).ID: return 1921; - case Fire::Fire(15, true, true, true, false, false).ID: return 1922; - case Fire::Fire(15, true, true, false, true, true).ID: return 1923; - case Fire::Fire(15, true, true, false, true, false).ID: return 1924; - case Fire::Fire(15, true, true, false, false, true).ID: return 1925; - case Fire::Fire(15, true, true, false, false, false).ID: return 1926; - case Fire::Fire(15, true, false, true, true, true).ID: return 1927; - case Fire::Fire(15, true, false, true, true, false).ID: return 1928; - case Fire::Fire(15, true, false, true, false, true).ID: return 1929; - case Fire::Fire(15, true, false, true, false, false).ID: return 1930; - case Fire::Fire(15, true, false, false, true, true).ID: return 1931; - case Fire::Fire(15, true, false, false, true, false).ID: return 1932; - case Fire::Fire(15, true, false, false, false, true).ID: return 1933; - case Fire::Fire(15, true, false, false, false, false).ID: return 1934; - case Fire::Fire(15, false, true, true, true, true).ID: return 1935; - case Fire::Fire(15, false, true, true, true, false).ID: return 1936; - case Fire::Fire(15, false, true, true, false, true).ID: return 1937; - case Fire::Fire(15, false, true, true, false, false).ID: return 1938; - case Fire::Fire(15, false, true, false, true, true).ID: return 1939; - case Fire::Fire(15, false, true, false, true, false).ID: return 1940; - case Fire::Fire(15, false, true, false, false, true).ID: return 1941; - case Fire::Fire(15, false, true, false, false, false).ID: return 1942; - case Fire::Fire(15, false, false, true, true, true).ID: return 1943; - case Fire::Fire(15, false, false, true, true, false).ID: return 1944; - case Fire::Fire(15, false, false, true, false, true).ID: return 1945; - case Fire::Fire(15, false, false, true, false, false).ID: return 1946; - case Fire::Fire(15, false, false, false, true, true).ID: return 1947; - case Fire::Fire(15, false, false, false, true, false).ID: return 1948; - case Fire::Fire(15, false, false, false, false, true).ID: return 1949; - case Fire::Fire(15, false, false, false, false, false).ID: return 1950; - case FireCoral::FireCoral().ID: return 9001; - case FireCoralBlock::FireCoralBlock().ID: return 8982; - case FireCoralFan::FireCoralFan().ID: return 9021; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9089; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9091; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9093; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9095; - case FletchingTable::FletchingTable().ID: return 11164; - case FlowerPot::FlowerPot().ID: return 5769; - case FrostedIce::FrostedIce(0).ID: return 8713; - case FrostedIce::FrostedIce(1).ID: return 8714; - case FrostedIce::FrostedIce(2).ID: return 8715; - case FrostedIce::FrostedIce(3).ID: return 8716; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3371; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3372; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3373; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3374; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3375; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3376; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3377; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3378; - case Glass::Glass().ID: return 230; - case GlassPane::GlassPane(true, true, true, true).ID: return 4717; - case GlassPane::GlassPane(true, true, true, false).ID: return 4718; - case GlassPane::GlassPane(true, true, false, true).ID: return 4721; - case GlassPane::GlassPane(true, true, false, false).ID: return 4722; - case GlassPane::GlassPane(true, false, true, true).ID: return 4725; - case GlassPane::GlassPane(true, false, true, false).ID: return 4726; - case GlassPane::GlassPane(true, false, false, true).ID: return 4729; - case GlassPane::GlassPane(true, false, false, false).ID: return 4730; - case GlassPane::GlassPane(false, true, true, true).ID: return 4733; - case GlassPane::GlassPane(false, true, true, false).ID: return 4734; - case GlassPane::GlassPane(false, true, false, true).ID: return 4737; - case GlassPane::GlassPane(false, true, false, false).ID: return 4738; - case GlassPane::GlassPane(false, false, true, true).ID: return 4741; - case GlassPane::GlassPane(false, false, true, false).ID: return 4742; - case GlassPane::GlassPane(false, false, false, true).ID: return 4745; - case GlassPane::GlassPane(false, false, false, false).ID: return 4746; - case Glowstone::Glowstone().ID: return 3999; - case GoldBlock::GoldBlock().ID: return 1426; - case GoldOre::GoldOre().ID: return 69; - case Granite::Granite().ID: return 2; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Top).ID: return 10302; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Bottom).ID: return 10304; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Double).ID: return 10306; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 9854; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 9856; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 9858; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 9860; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 9862; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 9864; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 9866; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 9868; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 9870; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 9872; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 9874; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 9876; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 9878; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 9880; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 9882; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 9884; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 9886; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 9888; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 9890; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 9892; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 9894; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 9896; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 9898; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 9900; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 9902; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 9904; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 9906; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 9908; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 9910; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 9912; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 9914; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 9916; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 9918; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 9920; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 9922; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 9924; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 9926; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 9928; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 9930; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 9932; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 10589; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 10590; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 10593; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 10594; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 10597; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 10598; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 10601; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 10602; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 10605; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 10606; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 10609; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 10610; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 10613; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 10614; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 10617; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 10618; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 10621; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 10622; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 10625; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 10626; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 10629; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 10630; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 10633; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 10634; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 10637; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 10638; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 10641; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 10642; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 10645; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 10646; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 10649; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 10650; - case Grass::Grass().ID: return 1341; - case GrassBlock::GrassBlock(true).ID: return 8; - case GrassBlock::GrassBlock(false).ID: return 9; - case GrassPath::GrassPath().ID: return 8687; - case Gravel::Gravel().ID: return 68; - case GrayBanner::GrayBanner(0).ID: return 7473; - case GrayBanner::GrayBanner(1).ID: return 7474; - case GrayBanner::GrayBanner(2).ID: return 7475; - case GrayBanner::GrayBanner(3).ID: return 7476; - case GrayBanner::GrayBanner(4).ID: return 7477; - case GrayBanner::GrayBanner(5).ID: return 7478; - case GrayBanner::GrayBanner(6).ID: return 7479; - case GrayBanner::GrayBanner(7).ID: return 7480; - case GrayBanner::GrayBanner(8).ID: return 7481; - case GrayBanner::GrayBanner(9).ID: return 7482; - case GrayBanner::GrayBanner(10).ID: return 7483; - case GrayBanner::GrayBanner(11).ID: return 7484; - case GrayBanner::GrayBanner(12).ID: return 7485; - case GrayBanner::GrayBanner(13).ID: return 7486; - case GrayBanner::GrayBanner(14).ID: return 7487; - case GrayBanner::GrayBanner(15).ID: return 7488; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 1160; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 1161; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 1162; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 1163; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 1164; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 1165; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 1166; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 1167; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 1168; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 1169; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 1170; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 1171; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 1172; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 1173; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 1174; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 1175; - case GrayCarpet::GrayCarpet().ID: return 7337; - case GrayConcrete::GrayConcrete().ID: return 8909; - case GrayConcretePowder::GrayConcretePowder().ID: return 8925; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8866; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8867; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8868; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8869; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8784; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8785; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8786; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8787; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8788; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8789; - case GrayStainedGlass::GrayStainedGlass().ID: return 4088; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 6553; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 6554; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 6557; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 6558; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 6561; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 6562; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 6565; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 6566; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 6569; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 6570; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 6573; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 6574; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 6577; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 6578; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 6581; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 6582; - case GrayTerracotta::GrayTerracotta().ID: return 6318; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7645; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7646; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7647; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7648; - case GrayWool::GrayWool().ID: return 1390; - case GreenBanner::GreenBanner(0).ID: return 7569; - case GreenBanner::GreenBanner(1).ID: return 7570; - case GreenBanner::GreenBanner(2).ID: return 7571; - case GreenBanner::GreenBanner(3).ID: return 7572; - case GreenBanner::GreenBanner(4).ID: return 7573; - case GreenBanner::GreenBanner(5).ID: return 7574; - case GreenBanner::GreenBanner(6).ID: return 7575; - case GreenBanner::GreenBanner(7).ID: return 7576; - case GreenBanner::GreenBanner(8).ID: return 7577; - case GreenBanner::GreenBanner(9).ID: return 7578; - case GreenBanner::GreenBanner(10).ID: return 7579; - case GreenBanner::GreenBanner(11).ID: return 7580; - case GreenBanner::GreenBanner(12).ID: return 7581; - case GreenBanner::GreenBanner(13).ID: return 7582; - case GreenBanner::GreenBanner(14).ID: return 7583; - case GreenBanner::GreenBanner(15).ID: return 7584; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 1256; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 1257; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 1258; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 1259; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 1260; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 1261; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 1262; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 1263; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 1264; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 1265; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 1266; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 1267; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 1268; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 1269; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 1270; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 1271; - case GreenCarpet::GreenCarpet().ID: return 7343; - case GreenConcrete::GreenConcrete().ID: return 8915; - case GreenConcretePowder::GreenConcretePowder().ID: return 8931; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8890; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8891; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8892; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8893; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8820; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8821; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8822; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8823; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8824; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8825; - case GreenStainedGlass::GreenStainedGlass().ID: return 4094; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 6745; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 6746; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 6749; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 6750; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 6753; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 6754; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 6757; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 6758; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 6761; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 6762; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 6765; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 6766; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 6769; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 6770; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 6773; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 6774; - case GreenTerracotta::GreenTerracotta().ID: return 6324; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7669; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7670; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7671; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7672; - case GreenWool::GreenWool().ID: return 1396; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZM).ID: return 11165; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZP).ID: return 11166; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XM).ID: return 11167; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XP).ID: return 11168; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZM).ID: return 11169; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZP).ID: return 11170; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XM).ID: return 11171; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XP).ID: return 11172; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM).ID: return 11173; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP).ID: return 11174; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XM).ID: return 11175; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XP).ID: return 11176; - case HayBale::HayBale(HayBale::Axis::X).ID: return 7327; - case HayBale::HayBale(HayBale::Axis::Y).ID: return 7328; - case HayBale::HayBale(HayBale::Axis::Z).ID: return 7329; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 6126; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 6127; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 6128; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 6129; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 6130; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 6131; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 6132; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 6133; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 6134; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 6135; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 6136; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 6137; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 6138; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 6139; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 6140; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 6141; - case HoneyBlock::HoneyBlock().ID: return 11335; - case HoneycombBlock::HoneycombBlock().ID: return 11336; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 6192; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 6193; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 6194; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 6195; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 6196; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 6197; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 6198; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 6199; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 6200; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 6201; - case HornCoral::HornCoral().ID: return 9003; - case HornCoralBlock::HornCoralBlock().ID: return 8983; - case HornCoralFan::HornCoralFan().ID: return 9023; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9097; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9099; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9101; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9103; - case Ice::Ice().ID: return 3927; - case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 4490; - case InfestedCobblestone::InfestedCobblestone().ID: return 4486; - case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 4489; - case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 4488; - case InfestedStone::InfestedStone().ID: return 4485; - case InfestedStoneBricks::InfestedStoneBricks().ID: return 4487; - case IronBars::IronBars(true, true, true, true).ID: return 4685; - case IronBars::IronBars(true, true, true, false).ID: return 4686; - case IronBars::IronBars(true, true, false, true).ID: return 4689; - case IronBars::IronBars(true, true, false, false).ID: return 4690; - case IronBars::IronBars(true, false, true, true).ID: return 4693; - case IronBars::IronBars(true, false, true, false).ID: return 4694; - case IronBars::IronBars(true, false, false, true).ID: return 4697; - case IronBars::IronBars(true, false, false, false).ID: return 4698; - case IronBars::IronBars(false, true, true, true).ID: return 4701; - case IronBars::IronBars(false, true, true, false).ID: return 4702; - case IronBars::IronBars(false, true, false, true).ID: return 4705; - case IronBars::IronBars(false, true, false, false).ID: return 4706; - case IronBars::IronBars(false, false, true, true).ID: return 4709; - case IronBars::IronBars(false, false, true, false).ID: return 4710; - case IronBars::IronBars(false, false, false, true).ID: return 4713; - case IronBars::IronBars(false, false, false, false).ID: return 4714; - case IronBlock::IronBlock().ID: return 1427; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3807; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3808; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3809; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3810; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3811; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3812; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3813; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3814; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3815; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3816; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3817; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3818; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3819; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3820; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3821; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3822; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3823; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3824; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3825; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3826; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3827; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3828; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3829; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3830; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3831; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3832; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3833; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3834; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3835; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3836; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3837; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3838; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3839; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3840; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3841; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3842; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3843; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3844; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3845; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3846; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3847; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3848; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3849; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3850; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3851; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3852; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3853; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3854; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3855; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3856; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3857; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3858; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3859; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3860; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3861; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3862; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3863; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3864; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3865; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3866; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3867; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3868; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3869; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3870; - case IronOre::IronOre().ID: return 70; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 7002; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: return 7004; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: return 7006; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: return 7008; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: return 7010; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: return 7012; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: return 7014; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: return 7016; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 7018; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: return 7020; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: return 7022; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: return 7024; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: return 7026; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: return 7028; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: return 7030; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: return 7032; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 7034; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: return 7036; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: return 7038; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: return 7040; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: return 7042; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: return 7044; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: return 7046; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: return 7048; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 7050; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: return 7052; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: return 7054; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: return 7056; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: return 7058; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: return 7060; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: return 7062; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: return 7064; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 4006; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 4007; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 4008; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 4009; - case Jigsaw::Jigsaw(Jigsaw::Orientation::NorthUp).ID: return 11272; - case Jigsaw::Jigsaw(Jigsaw::Orientation::EastUp).ID: return 11273; - case Jigsaw::Jigsaw(Jigsaw::Orientation::SouthUp).ID: return 11274; - case Jigsaw::Jigsaw(Jigsaw::Orientation::WestUp).ID: return 11275; - case Jigsaw::Jigsaw(Jigsaw::Orientation::UpSouth).ID: return 11276; - case Jigsaw::Jigsaw(Jigsaw::Orientation::DownSouth).ID: return 11277; - case Jukebox::Jukebox(true).ID: return 3962; - case Jukebox::Jukebox(false).ID: return 3963; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5882; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5883; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5884; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5885; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5886; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5887; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5888; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5889; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5890; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5891; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5892; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5893; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5894; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5895; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5896; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5897; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5898; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5899; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5900; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5901; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5902; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5903; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5904; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5905; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8330; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8331; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8332; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8333; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8334; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8335; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8336; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8337; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8338; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8339; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8340; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8341; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8342; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8343; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8344; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8345; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8346; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8347; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8348; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8349; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8350; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8351; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8352; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8353; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8354; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8355; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8356; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8357; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8358; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8359; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8360; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8361; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8362; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8363; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8364; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8365; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8366; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8367; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8368; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8369; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8370; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8371; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8372; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8373; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8374; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8375; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8376; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8377; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8378; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8379; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8380; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8381; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8382; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8383; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8384; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8385; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8386; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8387; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8388; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8389; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8390; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8391; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8392; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8393; - case JungleFence::JungleFence(true, true, true, true).ID: return 8108; - case JungleFence::JungleFence(true, true, true, false).ID: return 8109; - case JungleFence::JungleFence(true, true, false, true).ID: return 8112; - case JungleFence::JungleFence(true, true, false, false).ID: return 8113; - case JungleFence::JungleFence(true, false, true, true).ID: return 8116; - case JungleFence::JungleFence(true, false, true, false).ID: return 8117; - case JungleFence::JungleFence(true, false, false, true).ID: return 8120; - case JungleFence::JungleFence(true, false, false, false).ID: return 8121; - case JungleFence::JungleFence(false, true, true, true).ID: return 8124; - case JungleFence::JungleFence(false, true, true, false).ID: return 8125; - case JungleFence::JungleFence(false, true, false, true).ID: return 8128; - case JungleFence::JungleFence(false, true, false, false).ID: return 8129; - case JungleFence::JungleFence(false, false, true, true).ID: return 8132; - case JungleFence::JungleFence(false, false, true, false).ID: return 8133; - case JungleFence::JungleFence(false, false, false, true).ID: return 8136; - case JungleFence::JungleFence(false, false, false, false).ID: return 8137; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7946; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7947; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7948; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7949; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7950; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7951; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7952; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7953; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7954; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7955; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7956; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7957; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7958; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7959; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7960; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7961; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7962; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7963; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7964; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7965; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7966; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7967; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7968; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7969; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7970; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7971; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7972; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7973; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7974; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7975; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7976; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7977; - case JungleLeaves::JungleLeaves(1, true).ID: return 186; - case JungleLeaves::JungleLeaves(1, false).ID: return 187; - case JungleLeaves::JungleLeaves(2, true).ID: return 188; - case JungleLeaves::JungleLeaves(2, false).ID: return 189; - case JungleLeaves::JungleLeaves(3, true).ID: return 190; - case JungleLeaves::JungleLeaves(3, false).ID: return 191; - case JungleLeaves::JungleLeaves(4, true).ID: return 192; - case JungleLeaves::JungleLeaves(4, false).ID: return 193; - case JungleLeaves::JungleLeaves(5, true).ID: return 194; - case JungleLeaves::JungleLeaves(5, false).ID: return 195; - case JungleLeaves::JungleLeaves(6, true).ID: return 196; - case JungleLeaves::JungleLeaves(6, false).ID: return 197; - case JungleLeaves::JungleLeaves(7, true).ID: return 198; - case JungleLeaves::JungleLeaves(7, false).ID: return 199; - case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 81; - case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 82; - case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 83; - case JunglePlanks::JunglePlanks().ID: return 18; - case JunglePressurePlate::JunglePressurePlate(true).ID: return 3877; - case JunglePressurePlate::JunglePressurePlate(false).ID: return 3878; - case JungleSapling::JungleSapling(0).ID: return 27; - case JungleSapling::JungleSapling(1).ID: return 28; - case JungleSign::JungleSign(0).ID: return 3508; - case JungleSign::JungleSign(1).ID: return 3510; - case JungleSign::JungleSign(2).ID: return 3512; - case JungleSign::JungleSign(3).ID: return 3514; - case JungleSign::JungleSign(4).ID: return 3516; - case JungleSign::JungleSign(5).ID: return 3518; - case JungleSign::JungleSign(6).ID: return 3520; - case JungleSign::JungleSign(7).ID: return 3522; - case JungleSign::JungleSign(8).ID: return 3524; - case JungleSign::JungleSign(9).ID: return 3526; - case JungleSign::JungleSign(10).ID: return 3528; - case JungleSign::JungleSign(11).ID: return 3530; - case JungleSign::JungleSign(12).ID: return 3532; - case JungleSign::JungleSign(13).ID: return 3534; - case JungleSign::JungleSign(14).ID: return 3536; - case JungleSign::JungleSign(15).ID: return 3538; - case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 7783; - case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 7785; - case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 7787; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5549; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5551; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5553; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5555; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5557; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5559; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5561; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5563; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5565; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5567; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5569; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5571; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5573; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5575; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5577; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5579; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5581; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5583; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5585; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5587; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5589; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5591; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5593; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5595; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5597; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5599; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5601; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5603; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5605; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5607; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5609; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5611; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5613; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5615; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5617; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5619; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5621; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5623; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5625; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5627; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: return 4290; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: return 4292; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: return 4294; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: return 4296; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: return 4298; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: return 4300; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: return 4302; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: return 4304; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: return 4306; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: return 4308; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: return 4310; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: return 4312; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: return 4314; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: return 4316; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: return 4318; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: return 4320; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: return 4322; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: return 4324; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: return 4326; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: return 4328; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: return 4330; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: return 4332; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: return 4334; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: return 4336; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: return 4338; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: return 4340; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: return 4342; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: return 4344; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: return 4346; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: return 4348; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: return 4350; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: return 4352; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3766; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3768; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3770; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3772; - case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 117; - case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 118; - case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 119; - case Kelp::Kelp(0).ID: return 8934; - case Kelp::Kelp(1).ID: return 8935; - case Kelp::Kelp(2).ID: return 8936; - case Kelp::Kelp(3).ID: return 8937; - case Kelp::Kelp(4).ID: return 8938; - case Kelp::Kelp(5).ID: return 8939; - case Kelp::Kelp(6).ID: return 8940; - case Kelp::Kelp(7).ID: return 8941; - case Kelp::Kelp(8).ID: return 8942; - case Kelp::Kelp(9).ID: return 8943; - case Kelp::Kelp(10).ID: return 8944; - case Kelp::Kelp(11).ID: return 8945; - case Kelp::Kelp(12).ID: return 8946; - case Kelp::Kelp(13).ID: return 8947; - case Kelp::Kelp(14).ID: return 8948; - case Kelp::Kelp(15).ID: return 8949; - case Kelp::Kelp(16).ID: return 8950; - case Kelp::Kelp(17).ID: return 8951; - case Kelp::Kelp(18).ID: return 8952; - case Kelp::Kelp(19).ID: return 8953; - case Kelp::Kelp(20).ID: return 8954; - case Kelp::Kelp(21).ID: return 8955; - case Kelp::Kelp(22).ID: return 8956; - case Kelp::Kelp(23).ID: return 8957; - case Kelp::Kelp(24).ID: return 8958; - case Kelp::Kelp(25).ID: return 8959; - case KelpPlant::KelpPlant().ID: return 8960; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3636; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3638; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3640; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3642; - case Lantern::Lantern(true).ID: return 11230; - case Lantern::Lantern(false).ID: return 11231; - case LapisBlock::LapisBlock().ID: return 232; - case LapisOre::LapisOre().ID: return 231; - case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 7359; - case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 7360; - case Lava::Lava(0).ID: return 50; - case Lava::Lava(1).ID: return 51; - case Lava::Lava(2).ID: return 52; - case Lava::Lava(3).ID: return 53; - case Lava::Lava(4).ID: return 54; - case Lava::Lava(5).ID: return 55; - case Lava::Lava(6).ID: return 56; - case Lava::Lava(7).ID: return 57; - case Lava::Lava(8).ID: return 58; - case Lava::Lava(9).ID: return 59; - case Lava::Lava(10).ID: return 60; - case Lava::Lava(11).ID: return 61; - case Lava::Lava(12).ID: return 62; - case Lava::Lava(13).ID: return 63; - case Lava::Lava(14).ID: return 64; - case Lava::Lava(15).ID: return 65; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 11177; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 11178; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 11179; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 11180; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 11181; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 11182; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 11183; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 11184; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 11185; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 11186; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 11187; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 11188; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 11189; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 11190; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 11191; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 11192; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3781; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3782; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3783; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3784; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3785; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3786; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3787; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3788; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3789; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3790; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3791; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3792; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3793; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3794; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3795; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3796; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3797; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3798; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3799; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3800; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3801; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3802; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3803; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3804; - case LightBlueBanner::LightBlueBanner(0).ID: return 7409; - case LightBlueBanner::LightBlueBanner(1).ID: return 7410; - case LightBlueBanner::LightBlueBanner(2).ID: return 7411; - case LightBlueBanner::LightBlueBanner(3).ID: return 7412; - case LightBlueBanner::LightBlueBanner(4).ID: return 7413; - case LightBlueBanner::LightBlueBanner(5).ID: return 7414; - case LightBlueBanner::LightBlueBanner(6).ID: return 7415; - case LightBlueBanner::LightBlueBanner(7).ID: return 7416; - case LightBlueBanner::LightBlueBanner(8).ID: return 7417; - case LightBlueBanner::LightBlueBanner(9).ID: return 7418; - case LightBlueBanner::LightBlueBanner(10).ID: return 7419; - case LightBlueBanner::LightBlueBanner(11).ID: return 7420; - case LightBlueBanner::LightBlueBanner(12).ID: return 7421; - case LightBlueBanner::LightBlueBanner(13).ID: return 7422; - case LightBlueBanner::LightBlueBanner(14).ID: return 7423; - case LightBlueBanner::LightBlueBanner(15).ID: return 7424; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 1096; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 1097; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 1098; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 1099; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 1100; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 1101; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 1102; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 1103; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 1104; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 1105; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 1106; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 1107; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 1108; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 1109; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 1110; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 1111; - case LightBlueCarpet::LightBlueCarpet().ID: return 7333; - case LightBlueConcrete::LightBlueConcrete().ID: return 8905; - case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 8921; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8850; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8851; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8852; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8853; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8760; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8761; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8762; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8763; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8764; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8765; - case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 4084; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 6425; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 6426; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 6429; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 6430; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 6433; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 6434; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 6437; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 6438; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 6441; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 6442; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 6445; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 6446; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 6449; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 6450; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 6453; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 6454; - case LightBlueTerracotta::LightBlueTerracotta().ID: return 6314; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7629; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7630; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7631; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7632; - case LightBlueWool::LightBlueWool().ID: return 1386; - case LightGrayBanner::LightGrayBanner(0).ID: return 7489; - case LightGrayBanner::LightGrayBanner(1).ID: return 7490; - case LightGrayBanner::LightGrayBanner(2).ID: return 7491; - case LightGrayBanner::LightGrayBanner(3).ID: return 7492; - case LightGrayBanner::LightGrayBanner(4).ID: return 7493; - case LightGrayBanner::LightGrayBanner(5).ID: return 7494; - case LightGrayBanner::LightGrayBanner(6).ID: return 7495; - case LightGrayBanner::LightGrayBanner(7).ID: return 7496; - case LightGrayBanner::LightGrayBanner(8).ID: return 7497; - case LightGrayBanner::LightGrayBanner(9).ID: return 7498; - case LightGrayBanner::LightGrayBanner(10).ID: return 7499; - case LightGrayBanner::LightGrayBanner(11).ID: return 7500; - case LightGrayBanner::LightGrayBanner(12).ID: return 7501; - case LightGrayBanner::LightGrayBanner(13).ID: return 7502; - case LightGrayBanner::LightGrayBanner(14).ID: return 7503; - case LightGrayBanner::LightGrayBanner(15).ID: return 7504; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 1176; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 1177; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 1178; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 1179; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 1180; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 1181; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 1182; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 1183; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 1184; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 1185; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 1186; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 1187; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 1188; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 1189; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 1190; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 1191; - case LightGrayCarpet::LightGrayCarpet().ID: return 7338; - case LightGrayConcrete::LightGrayConcrete().ID: return 8910; - case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 8926; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8870; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8871; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8872; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8873; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8790; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8791; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8792; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8793; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8794; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8795; - case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 4089; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 6585; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 6586; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 6589; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 6590; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 6593; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 6594; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 6597; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 6598; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 6601; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 6602; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 6605; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 6606; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 6609; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 6610; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 6613; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 6614; - case LightGrayTerracotta::LightGrayTerracotta().ID: return 6319; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7649; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7650; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7651; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7652; - case LightGrayWool::LightGrayWool().ID: return 1391; - case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 6110; - case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 6111; - case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 6112; - case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 6113; - case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 6114; - case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 6115; - case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 6116; - case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 6117; - case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 6118; - case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 6119; - case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 6120; - case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 6121; - case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 6122; - case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 6123; - case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 6124; - case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 6125; - case Lilac::Lilac(Lilac::Half::Upper).ID: return 7351; - case Lilac::Lilac(Lilac::Half::Lower).ID: return 7352; - case LilyOfTheValley::LilyOfTheValley().ID: return 1423; - case LilyPad::LilyPad().ID: return 4998; - case LimeBanner::LimeBanner(0).ID: return 7441; - case LimeBanner::LimeBanner(1).ID: return 7442; - case LimeBanner::LimeBanner(2).ID: return 7443; - case LimeBanner::LimeBanner(3).ID: return 7444; - case LimeBanner::LimeBanner(4).ID: return 7445; - case LimeBanner::LimeBanner(5).ID: return 7446; - case LimeBanner::LimeBanner(6).ID: return 7447; - case LimeBanner::LimeBanner(7).ID: return 7448; - case LimeBanner::LimeBanner(8).ID: return 7449; - case LimeBanner::LimeBanner(9).ID: return 7450; - case LimeBanner::LimeBanner(10).ID: return 7451; - case LimeBanner::LimeBanner(11).ID: return 7452; - case LimeBanner::LimeBanner(12).ID: return 7453; - case LimeBanner::LimeBanner(13).ID: return 7454; - case LimeBanner::LimeBanner(14).ID: return 7455; - case LimeBanner::LimeBanner(15).ID: return 7456; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 1128; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 1129; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 1130; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 1131; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 1132; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 1133; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 1134; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 1135; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 1136; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 1137; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 1138; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 1139; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 1140; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 1141; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 1142; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 1143; - case LimeCarpet::LimeCarpet().ID: return 7335; - case LimeConcrete::LimeConcrete().ID: return 8907; - case LimeConcretePowder::LimeConcretePowder().ID: return 8923; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8858; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8859; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8860; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8861; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8772; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8773; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8774; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8775; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8776; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8777; - case LimeStainedGlass::LimeStainedGlass().ID: return 4086; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 6489; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 6490; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 6493; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 6494; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 6497; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 6498; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 6501; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 6502; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 6505; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 6506; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 6509; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 6510; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 6513; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 6514; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 6517; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 6518; - case LimeTerracotta::LimeTerracotta().ID: return 6316; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7637; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7638; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7639; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7640; - case LimeWool::LimeWool().ID: return 1388; - case Loom::Loom(eBlockFace::BLOCK_FACE_ZM).ID: return 11131; - case Loom::Loom(eBlockFace::BLOCK_FACE_ZP).ID: return 11132; - case Loom::Loom(eBlockFace::BLOCK_FACE_XM).ID: return 11133; - case Loom::Loom(eBlockFace::BLOCK_FACE_XP).ID: return 11134; - case MagentaBanner::MagentaBanner(0).ID: return 7393; - case MagentaBanner::MagentaBanner(1).ID: return 7394; - case MagentaBanner::MagentaBanner(2).ID: return 7395; - case MagentaBanner::MagentaBanner(3).ID: return 7396; - case MagentaBanner::MagentaBanner(4).ID: return 7397; - case MagentaBanner::MagentaBanner(5).ID: return 7398; - case MagentaBanner::MagentaBanner(6).ID: return 7399; - case MagentaBanner::MagentaBanner(7).ID: return 7400; - case MagentaBanner::MagentaBanner(8).ID: return 7401; - case MagentaBanner::MagentaBanner(9).ID: return 7402; - case MagentaBanner::MagentaBanner(10).ID: return 7403; - case MagentaBanner::MagentaBanner(11).ID: return 7404; - case MagentaBanner::MagentaBanner(12).ID: return 7405; - case MagentaBanner::MagentaBanner(13).ID: return 7406; - case MagentaBanner::MagentaBanner(14).ID: return 7407; - case MagentaBanner::MagentaBanner(15).ID: return 7408; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 1080; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 1081; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 1082; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 1083; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 1084; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 1085; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 1086; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 1087; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 1088; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 1089; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 1090; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 1091; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 1092; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 1093; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 1094; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 1095; - case MagentaCarpet::MagentaCarpet().ID: return 7332; - case MagentaConcrete::MagentaConcrete().ID: return 8904; - case MagentaConcretePowder::MagentaConcretePowder().ID: return 8920; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8846; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8847; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8848; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8849; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8754; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8755; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8756; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8757; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8758; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8759; - case MagentaStainedGlass::MagentaStainedGlass().ID: return 4083; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 6393; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 6394; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 6397; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 6398; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 6401; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 6402; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 6405; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 6406; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 6409; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 6410; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 6413; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 6414; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 6417; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 6418; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 6421; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 6422; - case MagentaTerracotta::MagentaTerracotta().ID: return 6313; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7625; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7626; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7627; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7628; - case MagentaWool::MagentaWool().ID: return 1385; - case MagmaBlock::MagmaBlock().ID: return 8717; - case Melon::Melon().ID: return 4747; - case MelonStem::MelonStem(0).ID: return 4764; - case MelonStem::MelonStem(1).ID: return 4765; - case MelonStem::MelonStem(2).ID: return 4766; - case MelonStem::MelonStem(3).ID: return 4767; - case MelonStem::MelonStem(4).ID: return 4768; - case MelonStem::MelonStem(5).ID: return 4769; - case MelonStem::MelonStem(6).ID: return 4770; - case MelonStem::MelonStem(7).ID: return 4771; - case MossyCobblestone::MossyCobblestone().ID: return 1432; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Top).ID: return 10278; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Bottom).ID: return 10280; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Double).ID: return 10282; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9454; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9456; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9458; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9460; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9462; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 9464; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9466; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9468; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9470; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9472; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9474; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9476; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9478; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9480; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9482; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 9484; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9486; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9488; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9490; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9492; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9494; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9496; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9498; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9500; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9502; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 9504; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9506; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9508; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9510; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9512; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9514; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9516; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9518; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9520; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9522; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 9524; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9526; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9528; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9530; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9532; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5707; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5708; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5711; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5712; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5715; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5716; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5719; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5720; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5723; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5724; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5727; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5728; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5731; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5732; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5735; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5736; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5739; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5740; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5743; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5744; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5747; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5748; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5751; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5752; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5755; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5756; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 5759; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 5760; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5763; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5764; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5767; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5768; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Top).ID: return 10266; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Bottom).ID: return 10268; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Double).ID: return 10270; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9294; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9296; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9298; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9300; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9302; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9304; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9306; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9308; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9310; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9312; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9314; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9316; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9318; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9320; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9322; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9324; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9326; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9328; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9330; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9332; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9334; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9336; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9338; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9340; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9342; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9344; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9346; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9348; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9350; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9352; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9354; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9356; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9358; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9360; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9362; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9364; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9366; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9368; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9370; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9372; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 10525; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 10526; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 10529; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 10530; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 10533; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 10534; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 10537; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 10538; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 10541; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 10542; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 10545; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 10546; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 10549; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 10550; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 10553; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 10554; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 10557; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 10558; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 10561; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 10562; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 10565; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 10566; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 10569; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 10570; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 10573; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 10574; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 10577; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 10578; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 10581; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 10582; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 10585; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 10586; - case MossyStoneBricks::MossyStoneBricks().ID: return 4482; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1399; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1400; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1401; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1402; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1403; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1404; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1405; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1406; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1407; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1408; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1409; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1410; - case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4619; - case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4620; - case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4621; - case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4622; - case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4623; - case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4624; - case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4625; - case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4626; - case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4627; - case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4628; - case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4629; - case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4630; - case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4631; - case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4632; - case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4633; - case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4634; - case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4635; - case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4636; - case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4637; - case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4638; - case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4639; - case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4640; - case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4641; - case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4642; - case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4643; - case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4644; - case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4645; - case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4646; - case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4647; - case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4648; - case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4649; - case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4650; - case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4651; - case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4652; - case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4653; - case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4654; - case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4655; - case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4656; - case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4657; - case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4658; - case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4659; - case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4660; - case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4661; - case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4662; - case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4663; - case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4664; - case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4665; - case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4666; - case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4667; - case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4668; - case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4669; - case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4670; - case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4671; - case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4672; - case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4673; - case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4674; - case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4675; - case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4676; - case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4677; - case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4678; - case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4679; - case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4680; - case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4681; - case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4682; - case Mycelium::Mycelium(true).ID: return 4996; - case Mycelium::Mycelium(false).ID: return 4997; - case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 5002; - case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 5003; - case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 5006; - case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 5007; - case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 5010; - case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 5011; - case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 5014; - case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 5015; - case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 5018; - case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 5019; - case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 5022; - case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 5023; - case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 5026; - case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 5027; - case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 5030; - case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 5031; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 7849; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 7851; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 7853; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5033; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5035; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5037; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5039; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5041; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5043; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5045; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5047; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5049; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5051; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5053; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5055; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5057; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5059; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5061; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5063; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5065; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5067; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5069; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5071; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5073; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5075; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5077; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5079; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5081; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5083; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5085; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5087; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5089; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5091; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5093; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5095; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5097; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5099; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5101; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5103; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5105; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5107; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5109; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5111; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 10717; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 10718; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 10721; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 10722; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 10725; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 10726; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 10729; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 10730; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 10733; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 10734; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 10737; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 10738; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 10741; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 10742; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 10745; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 10746; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 10749; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 10750; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 10753; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 10754; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 10757; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 10758; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 10761; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 10762; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 10765; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 10766; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 10769; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 10770; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 10773; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 10774; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 10777; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 10778; - case NetherBricks::NetherBricks().ID: return 4999; - case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 4000; - case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 4001; - case NetherQuartzOre::NetherQuartzOre().ID: return 6191; - case NetherWart::NetherWart(0).ID: return 5112; - case NetherWart::NetherWart(1).ID: return 5113; - case NetherWart::NetherWart(2).ID: return 5114; - case NetherWart::NetherWart(3).ID: return 5115; - case NetherWartBlock::NetherWartBlock().ID: return 8718; - case Netherrack::Netherrack().ID: return 3997; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 248; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 249; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 250; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 251; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 252; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 253; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 254; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 255; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 256; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 257; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 258; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 259; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 260; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 261; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 262; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 263; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 264; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 265; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 266; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 267; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 268; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 269; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 270; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 271; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 272; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 273; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 274; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 275; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 276; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 277; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 278; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 279; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 280; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 281; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 282; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 283; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 284; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 285; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 286; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 287; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 288; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 289; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 290; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 291; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 292; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 293; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 294; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 295; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 296; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 297; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 298; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 299; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 300; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 301; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 302; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 303; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 304; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 305; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 306; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 307; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 308; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 309; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 310; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 311; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 312; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 313; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 314; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 315; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 316; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 317; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 318; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 319; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 320; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 321; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 322; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 323; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 324; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 325; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 326; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 327; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 328; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 329; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 330; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 331; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 332; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 333; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 334; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 335; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 336; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 337; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 338; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 339; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 340; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 341; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 342; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 343; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 344; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 345; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 346; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 347; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 348; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 349; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 350; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 351; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 352; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 353; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 354; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 355; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 356; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 357; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 358; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 359; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 360; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 361; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 362; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 363; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 364; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 365; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 366; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 367; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 368; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 369; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 370; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 371; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 372; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 373; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 374; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 375; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 376; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 377; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 378; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 379; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 380; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 381; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 382; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 383; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 384; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 385; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 386; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 387; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 388; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 389; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 390; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 391; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 392; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 393; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 394; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 395; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 396; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 397; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 398; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 399; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 400; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 401; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 402; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 403; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 404; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 405; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 406; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 407; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 408; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 409; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 410; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 411; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 412; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 413; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 414; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 415; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 416; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 417; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 418; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 419; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 420; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 421; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 422; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 423; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 424; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 425; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 426; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 427; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 428; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 429; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 430; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 431; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 432; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 433; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 434; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 435; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 436; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 437; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 438; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 439; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 440; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 441; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 442; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 443; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 444; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 445; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 446; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 447; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 448; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 449; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 450; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 451; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 452; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 453; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 454; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 455; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 456; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 457; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 458; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 459; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 460; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 461; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 462; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 463; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 464; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 465; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 466; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 467; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 468; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 469; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 470; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 471; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 472; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 473; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 474; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 475; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 476; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 477; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 478; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 479; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 480; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 481; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 482; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 483; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 484; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 485; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 486; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 487; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 488; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 489; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 490; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 491; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 492; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 493; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 494; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 495; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 496; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 497; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 498; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 499; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 500; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 501; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 502; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 503; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 504; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 505; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 506; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 507; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 508; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 509; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 510; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 511; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 512; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 513; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 514; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 515; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 516; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 517; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 518; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 519; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 520; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 521; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 522; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 523; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 524; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 525; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 526; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 527; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 528; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 529; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 530; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 531; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 532; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 533; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 534; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 535; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 536; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 537; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 538; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 539; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 540; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 541; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 542; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 543; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 544; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 545; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 546; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 547; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 548; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 549; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 550; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 551; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 552; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 553; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 554; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 555; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 556; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 557; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 558; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 559; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 560; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 561; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 562; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 563; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 564; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 565; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 566; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 567; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 568; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 569; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 570; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 571; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 572; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 573; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 574; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 575; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 576; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 577; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 578; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 579; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 580; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 581; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 582; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 583; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 584; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 585; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 586; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 587; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 588; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 589; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 590; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 591; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 592; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 593; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 594; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 595; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 596; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 597; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 598; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 599; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 600; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 601; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 602; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 603; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 604; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 605; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 606; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 607; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 608; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 609; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 610; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 611; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 612; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 613; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 614; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 615; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 616; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 617; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 618; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 619; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 620; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 621; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 622; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 623; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 624; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 625; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 626; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 627; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 628; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 629; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 630; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 631; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 632; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 633; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 634; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 635; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 636; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 637; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 638; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 639; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 640; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 641; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 642; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 643; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 644; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 645; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 646; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 647; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 648; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 649; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 650; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 651; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 652; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 653; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 654; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 655; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 656; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 657; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 658; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 659; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 660; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 661; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 662; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 663; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 664; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 665; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 666; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 667; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 668; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 669; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 670; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 671; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 672; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 673; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 674; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 675; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 676; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 677; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 678; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 679; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 680; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 681; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 682; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 683; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 684; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 685; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 686; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 687; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 688; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 689; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 690; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 691; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 692; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 693; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 694; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 695; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 696; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 697; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 698; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 699; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 700; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 701; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 702; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 703; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 704; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 705; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 706; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 707; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 708; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 709; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 710; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 711; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 712; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 713; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 714; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 715; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 716; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 717; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 718; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 719; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 720; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 721; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 722; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 723; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 724; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 725; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 726; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 727; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 728; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 729; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 730; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 731; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 732; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 733; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 734; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 735; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 736; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 737; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 738; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 739; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 740; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 741; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 742; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 743; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 744; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 745; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 746; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 747; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, true).ID: return 748; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, false).ID: return 749; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, true).ID: return 750; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, false).ID: return 751; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, true).ID: return 752; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, false).ID: return 753; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, true).ID: return 754; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, false).ID: return 755; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, true).ID: return 756; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, false).ID: return 757; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, true).ID: return 758; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, false).ID: return 759; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, true).ID: return 760; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, false).ID: return 761; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, true).ID: return 762; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, false).ID: return 763; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, true).ID: return 764; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, false).ID: return 765; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, true).ID: return 766; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, false).ID: return 767; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, true).ID: return 768; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, false).ID: return 769; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, true).ID: return 770; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, false).ID: return 771; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, true).ID: return 772; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, false).ID: return 773; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, true).ID: return 774; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, false).ID: return 775; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, true).ID: return 776; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, false).ID: return 777; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, true).ID: return 778; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, false).ID: return 779; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, true).ID: return 780; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, false).ID: return 781; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, true).ID: return 782; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, false).ID: return 783; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, true).ID: return 784; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, false).ID: return 785; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, true).ID: return 786; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, false).ID: return 787; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, true).ID: return 788; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, false).ID: return 789; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, true).ID: return 790; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, false).ID: return 791; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, true).ID: return 792; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, false).ID: return 793; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, true).ID: return 794; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, false).ID: return 795; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, true).ID: return 796; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, false).ID: return 797; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, true).ID: return 798; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, false).ID: return 799; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, true).ID: return 800; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, false).ID: return 801; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, true).ID: return 802; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, false).ID: return 803; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, true).ID: return 804; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, false).ID: return 805; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, true).ID: return 806; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, false).ID: return 807; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, true).ID: return 808; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, false).ID: return 809; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, true).ID: return 810; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, false).ID: return 811; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, true).ID: return 812; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, false).ID: return 813; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, true).ID: return 814; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, false).ID: return 815; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, true).ID: return 816; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, false).ID: return 817; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, true).ID: return 818; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, false).ID: return 819; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, true).ID: return 820; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, false).ID: return 821; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, true).ID: return 822; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, false).ID: return 823; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, true).ID: return 824; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, false).ID: return 825; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, true).ID: return 826; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, false).ID: return 827; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, true).ID: return 828; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, false).ID: return 829; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, true).ID: return 830; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, false).ID: return 831; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, true).ID: return 832; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, false).ID: return 833; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, true).ID: return 834; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, false).ID: return 835; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, true).ID: return 836; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, false).ID: return 837; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, true).ID: return 838; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, false).ID: return 839; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, true).ID: return 840; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, false).ID: return 841; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, true).ID: return 842; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, false).ID: return 843; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, true).ID: return 844; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, false).ID: return 845; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, true).ID: return 846; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, false).ID: return 847; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, true).ID: return 848; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, false).ID: return 849; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, true).ID: return 850; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, false).ID: return 851; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, true).ID: return 852; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, false).ID: return 853; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, true).ID: return 854; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, false).ID: return 855; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, true).ID: return 856; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, false).ID: return 857; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, true).ID: return 858; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, false).ID: return 859; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, true).ID: return 860; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, false).ID: return 861; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, true).ID: return 862; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, false).ID: return 863; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, true).ID: return 864; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, false).ID: return 865; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, true).ID: return 866; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, false).ID: return 867; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, true).ID: return 868; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, false).ID: return 869; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, true).ID: return 870; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, false).ID: return 871; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, true).ID: return 872; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, false).ID: return 873; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, true).ID: return 874; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, false).ID: return 875; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, true).ID: return 876; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, false).ID: return 877; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, true).ID: return 878; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, false).ID: return 879; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, true).ID: return 880; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, false).ID: return 881; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, true).ID: return 882; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, false).ID: return 883; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, true).ID: return 884; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, false).ID: return 885; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, true).ID: return 886; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, false).ID: return 887; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, true).ID: return 888; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, false).ID: return 889; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, true).ID: return 890; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, false).ID: return 891; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, true).ID: return 892; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, false).ID: return 893; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, true).ID: return 894; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, false).ID: return 895; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, true).ID: return 896; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, false).ID: return 897; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, true).ID: return 898; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, false).ID: return 899; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, true).ID: return 900; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, false).ID: return 901; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, true).ID: return 902; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, false).ID: return 903; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, true).ID: return 904; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, false).ID: return 905; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, true).ID: return 906; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, false).ID: return 907; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, true).ID: return 908; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, false).ID: return 909; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, true).ID: return 910; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, false).ID: return 911; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, true).ID: return 912; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, false).ID: return 913; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, true).ID: return 914; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, false).ID: return 915; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, true).ID: return 916; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, false).ID: return 917; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, true).ID: return 918; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, false).ID: return 919; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, true).ID: return 920; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, false).ID: return 921; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, true).ID: return 922; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, false).ID: return 923; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, true).ID: return 924; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, false).ID: return 925; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, true).ID: return 926; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, false).ID: return 927; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, true).ID: return 928; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, false).ID: return 929; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, true).ID: return 930; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, false).ID: return 931; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, true).ID: return 932; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, false).ID: return 933; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, true).ID: return 934; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, false).ID: return 935; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, true).ID: return 936; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, false).ID: return 937; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, true).ID: return 938; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, false).ID: return 939; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, true).ID: return 940; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, false).ID: return 941; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, true).ID: return 942; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, false).ID: return 943; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, true).ID: return 944; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, false).ID: return 945; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, true).ID: return 946; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, false).ID: return 947; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, true).ID: return 948; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, false).ID: return 949; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, true).ID: return 950; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, false).ID: return 951; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, true).ID: return 952; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, false).ID: return 953; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, true).ID: return 954; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, false).ID: return 955; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, true).ID: return 956; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, false).ID: return 957; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, true).ID: return 958; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, false).ID: return 959; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, true).ID: return 960; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, false).ID: return 961; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, true).ID: return 962; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, false).ID: return 963; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, true).ID: return 964; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, false).ID: return 965; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, true).ID: return 966; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, false).ID: return 967; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, true).ID: return 968; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, false).ID: return 969; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, true).ID: return 970; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, false).ID: return 971; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, true).ID: return 972; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, false).ID: return 973; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, true).ID: return 974; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, false).ID: return 975; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, true).ID: return 976; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, false).ID: return 977; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, true).ID: return 978; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, false).ID: return 979; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, true).ID: return 980; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, false).ID: return 981; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, true).ID: return 982; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, false).ID: return 983; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, true).ID: return 984; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, false).ID: return 985; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, true).ID: return 986; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, false).ID: return 987; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, true).ID: return 988; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, false).ID: return 989; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, true).ID: return 990; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, false).ID: return 991; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, true).ID: return 992; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, false).ID: return 993; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, true).ID: return 994; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, false).ID: return 995; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, true).ID: return 996; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, false).ID: return 997; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, true).ID: return 998; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, false).ID: return 999; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, true).ID: return 1000; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, false).ID: return 1001; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, true).ID: return 1002; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, false).ID: return 1003; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, true).ID: return 1004; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, false).ID: return 1005; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, true).ID: return 1006; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, false).ID: return 1007; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, true).ID: return 1008; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, false).ID: return 1009; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, true).ID: return 1010; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, false).ID: return 1011; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, true).ID: return 1012; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, false).ID: return 1013; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, true).ID: return 1014; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, false).ID: return 1015; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, true).ID: return 1016; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, false).ID: return 1017; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, true).ID: return 1018; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, false).ID: return 1019; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, true).ID: return 1020; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, false).ID: return 1021; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, true).ID: return 1022; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, false).ID: return 1023; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, true).ID: return 1024; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, false).ID: return 1025; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, true).ID: return 1026; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, false).ID: return 1027; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, true).ID: return 1028; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, false).ID: return 1029; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, true).ID: return 1030; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, false).ID: return 1031; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, true).ID: return 1032; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, false).ID: return 1033; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, true).ID: return 1034; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, false).ID: return 1035; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, true).ID: return 1036; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, false).ID: return 1037; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, true).ID: return 1038; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, false).ID: return 1039; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, true).ID: return 1040; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, false).ID: return 1041; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, true).ID: return 1042; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, false).ID: return 1043; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, true).ID: return 1044; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, false).ID: return 1045; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, true).ID: return 1046; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, false).ID: return 1047; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5810; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5811; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5812; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5813; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5814; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5815; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5816; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5817; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5818; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5819; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5820; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5821; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5822; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5823; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5824; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5825; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5826; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5827; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5828; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5829; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5830; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5831; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5832; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5833; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3571; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3572; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3573; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3574; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3575; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3576; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3577; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3578; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3579; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3580; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3581; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3582; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3583; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3584; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3585; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3586; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3587; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3588; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3589; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3590; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3591; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3592; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3593; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3594; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3595; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3596; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3597; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3598; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3599; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3600; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3601; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3602; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3603; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3604; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3605; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3606; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3607; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3608; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3609; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3610; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3611; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3612; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3613; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3614; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3615; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3616; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3617; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3618; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3619; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3620; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3621; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3622; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3623; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3624; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3625; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3626; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3627; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3628; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3629; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3630; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3631; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3632; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3633; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3634; - case OakFence::OakFence(true, true, true, true).ID: return 3966; - case OakFence::OakFence(true, true, true, false).ID: return 3967; - case OakFence::OakFence(true, true, false, true).ID: return 3970; - case OakFence::OakFence(true, true, false, false).ID: return 3971; - case OakFence::OakFence(true, false, true, true).ID: return 3974; - case OakFence::OakFence(true, false, true, false).ID: return 3975; - case OakFence::OakFence(true, false, false, true).ID: return 3978; - case OakFence::OakFence(true, false, false, false).ID: return 3979; - case OakFence::OakFence(false, true, true, true).ID: return 3982; - case OakFence::OakFence(false, true, true, false).ID: return 3983; - case OakFence::OakFence(false, true, false, true).ID: return 3986; - case OakFence::OakFence(false, true, false, false).ID: return 3987; - case OakFence::OakFence(false, false, true, true).ID: return 3990; - case OakFence::OakFence(false, false, true, false).ID: return 3991; - case OakFence::OakFence(false, false, false, true).ID: return 3994; - case OakFence::OakFence(false, false, false, false).ID: return 3995; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4804; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4805; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4806; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4807; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4808; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4809; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4810; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4811; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4812; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4813; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4814; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4815; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4816; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4817; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4818; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4819; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4820; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4821; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4822; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4823; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4824; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4825; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4826; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4827; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4828; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4829; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4830; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4831; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4832; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4833; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4834; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4835; - case OakLeaves::OakLeaves(1, true).ID: return 144; - case OakLeaves::OakLeaves(1, false).ID: return 145; - case OakLeaves::OakLeaves(2, true).ID: return 146; - case OakLeaves::OakLeaves(2, false).ID: return 147; - case OakLeaves::OakLeaves(3, true).ID: return 148; - case OakLeaves::OakLeaves(3, false).ID: return 149; - case OakLeaves::OakLeaves(4, true).ID: return 150; - case OakLeaves::OakLeaves(4, false).ID: return 151; - case OakLeaves::OakLeaves(5, true).ID: return 152; - case OakLeaves::OakLeaves(5, false).ID: return 153; - case OakLeaves::OakLeaves(6, true).ID: return 154; - case OakLeaves::OakLeaves(6, false).ID: return 155; - case OakLeaves::OakLeaves(7, true).ID: return 156; - case OakLeaves::OakLeaves(7, false).ID: return 157; - case OakLog::OakLog(OakLog::Axis::X).ID: return 72; - case OakLog::OakLog(OakLog::Axis::Y).ID: return 73; - case OakLog::OakLog(OakLog::Axis::Z).ID: return 74; - case OakPlanks::OakPlanks().ID: return 15; - case OakPressurePlate::OakPressurePlate(true).ID: return 3871; - case OakPressurePlate::OakPressurePlate(false).ID: return 3872; - case OakSapling::OakSapling(0).ID: return 21; - case OakSapling::OakSapling(1).ID: return 22; - case OakSign::OakSign(0).ID: return 3380; - case OakSign::OakSign(1).ID: return 3382; - case OakSign::OakSign(2).ID: return 3384; - case OakSign::OakSign(3).ID: return 3386; - case OakSign::OakSign(4).ID: return 3388; - case OakSign::OakSign(5).ID: return 3390; - case OakSign::OakSign(6).ID: return 3392; - case OakSign::OakSign(7).ID: return 3394; - case OakSign::OakSign(8).ID: return 3396; - case OakSign::OakSign(9).ID: return 3398; - case OakSign::OakSign(10).ID: return 3400; - case OakSign::OakSign(11).ID: return 3402; - case OakSign::OakSign(12).ID: return 3404; - case OakSign::OakSign(13).ID: return 3406; - case OakSign::OakSign(14).ID: return 3408; - case OakSign::OakSign(15).ID: return 3410; - case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 7765; - case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 7767; - case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 7769; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1953; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1955; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1957; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1959; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1961; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1963; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1965; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1967; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1969; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1971; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1973; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1975; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1977; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1979; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1981; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1983; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1985; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1987; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1989; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1991; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1993; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1995; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1997; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1999; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 2001; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 2003; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 2005; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 2007; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 2009; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 2011; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 2013; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 2015; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 2017; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 2019; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 2021; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 2023; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 2025; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 2027; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 2029; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 2031; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 4098; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 4100; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 4102; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 4104; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 4106; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: return 4108; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: return 4110; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: return 4112; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 4114; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 4116; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 4118; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 4120; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 4122; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: return 4124; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: return 4126; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: return 4128; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 4130; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 4132; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 4134; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 4136; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 4138; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: return 4140; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: return 4142; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: return 4144; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 4146; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 4148; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 4150; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 4152; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 4154; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: return 4156; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: return 4158; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: return 4160; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3734; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3736; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3738; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3740; - case OakWood::OakWood(OakWood::Axis::X).ID: return 108; - case OakWood::OakWood(OakWood::Axis::Y).ID: return 109; - case OakWood::OakWood(OakWood::Axis::Z).ID: return 110; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 8724; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 8725; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 8726; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 8727; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 8728; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 8729; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 8730; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 8731; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 8732; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 8733; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 8734; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 8735; - case Obsidian::Obsidian().ID: return 1433; - case OrangeBanner::OrangeBanner(0).ID: return 7377; - case OrangeBanner::OrangeBanner(1).ID: return 7378; - case OrangeBanner::OrangeBanner(2).ID: return 7379; - case OrangeBanner::OrangeBanner(3).ID: return 7380; - case OrangeBanner::OrangeBanner(4).ID: return 7381; - case OrangeBanner::OrangeBanner(5).ID: return 7382; - case OrangeBanner::OrangeBanner(6).ID: return 7383; - case OrangeBanner::OrangeBanner(7).ID: return 7384; - case OrangeBanner::OrangeBanner(8).ID: return 7385; - case OrangeBanner::OrangeBanner(9).ID: return 7386; - case OrangeBanner::OrangeBanner(10).ID: return 7387; - case OrangeBanner::OrangeBanner(11).ID: return 7388; - case OrangeBanner::OrangeBanner(12).ID: return 7389; - case OrangeBanner::OrangeBanner(13).ID: return 7390; - case OrangeBanner::OrangeBanner(14).ID: return 7391; - case OrangeBanner::OrangeBanner(15).ID: return 7392; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 1064; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 1065; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 1066; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 1067; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 1068; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 1069; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 1070; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 1071; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 1072; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 1073; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 1074; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 1075; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 1076; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 1077; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 1078; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 1079; - case OrangeCarpet::OrangeCarpet().ID: return 7331; - case OrangeConcrete::OrangeConcrete().ID: return 8903; - case OrangeConcretePowder::OrangeConcretePowder().ID: return 8919; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8842; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8843; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8844; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8845; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8748; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8749; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8750; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8751; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8752; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8753; - case OrangeStainedGlass::OrangeStainedGlass().ID: return 4082; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 6361; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 6362; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 6365; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 6366; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 6369; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 6370; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 6373; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 6374; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 6377; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 6378; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 6381; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 6382; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 6385; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 6386; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 6389; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 6390; - case OrangeTerracotta::OrangeTerracotta().ID: return 6312; - case OrangeTulip::OrangeTulip().ID: return 1417; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7621; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7622; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7623; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7624; - case OrangeWool::OrangeWool().ID: return 1384; - case OxeyeDaisy::OxeyeDaisy().ID: return 1420; - case PackedIce::PackedIce().ID: return 7348; - case Peony::Peony(Peony::Half::Upper).ID: return 7355; - case Peony::Peony(Peony::Half::Lower).ID: return 7356; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 7825; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 7827; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 7829; - case PinkBanner::PinkBanner(0).ID: return 7457; - case PinkBanner::PinkBanner(1).ID: return 7458; - case PinkBanner::PinkBanner(2).ID: return 7459; - case PinkBanner::PinkBanner(3).ID: return 7460; - case PinkBanner::PinkBanner(4).ID: return 7461; - case PinkBanner::PinkBanner(5).ID: return 7462; - case PinkBanner::PinkBanner(6).ID: return 7463; - case PinkBanner::PinkBanner(7).ID: return 7464; - case PinkBanner::PinkBanner(8).ID: return 7465; - case PinkBanner::PinkBanner(9).ID: return 7466; - case PinkBanner::PinkBanner(10).ID: return 7467; - case PinkBanner::PinkBanner(11).ID: return 7468; - case PinkBanner::PinkBanner(12).ID: return 7469; - case PinkBanner::PinkBanner(13).ID: return 7470; - case PinkBanner::PinkBanner(14).ID: return 7471; - case PinkBanner::PinkBanner(15).ID: return 7472; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 1144; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 1145; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 1146; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 1147; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 1148; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 1149; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 1150; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 1151; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 1152; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 1153; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 1154; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 1155; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 1156; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 1157; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 1158; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 1159; - case PinkCarpet::PinkCarpet().ID: return 7336; - case PinkConcrete::PinkConcrete().ID: return 8908; - case PinkConcretePowder::PinkConcretePowder().ID: return 8924; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8862; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8863; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8864; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8865; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8778; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8779; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8780; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8781; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8782; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8783; - case PinkStainedGlass::PinkStainedGlass().ID: return 4087; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 6521; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 6522; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 6525; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 6526; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 6529; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 6530; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 6533; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 6534; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 6537; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 6538; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 6541; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 6542; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 6545; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 6546; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 6549; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 6550; - case PinkTerracotta::PinkTerracotta().ID: return 6317; - case PinkTulip::PinkTulip().ID: return 1419; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7641; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7642; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7643; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7644; - case PinkWool::PinkWool().ID: return 1389; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1347; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1348; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1349; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1350; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1351; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1352; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1353; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1354; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1355; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1356; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1357; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1358; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1359; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1360; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1361; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1362; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1363; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1364; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1365; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1366; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1367; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1368; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1369; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1370; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1371; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1372; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1373; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1374; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1375; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1376; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1377; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1378; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1379; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1380; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1381; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1382; - case PlayerHead::PlayerHead(0).ID: return 6014; - case PlayerHead::PlayerHead(1).ID: return 6015; - case PlayerHead::PlayerHead(2).ID: return 6016; - case PlayerHead::PlayerHead(3).ID: return 6017; - case PlayerHead::PlayerHead(4).ID: return 6018; - case PlayerHead::PlayerHead(5).ID: return 6019; - case PlayerHead::PlayerHead(6).ID: return 6020; - case PlayerHead::PlayerHead(7).ID: return 6021; - case PlayerHead::PlayerHead(8).ID: return 6022; - case PlayerHead::PlayerHead(9).ID: return 6023; - case PlayerHead::PlayerHead(10).ID: return 6024; - case PlayerHead::PlayerHead(11).ID: return 6025; - case PlayerHead::PlayerHead(12).ID: return 6026; - case PlayerHead::PlayerHead(13).ID: return 6027; - case PlayerHead::PlayerHead(14).ID: return 6028; - case PlayerHead::PlayerHead(15).ID: return 6029; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6030; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6031; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6032; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6033; - case Podzol::Podzol(true).ID: return 12; - case Podzol::Podzol(false).ID: return 13; - case PolishedAndesite::PolishedAndesite().ID: return 7; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Top).ID: return 10320; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Bottom).ID: return 10322; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Double).ID: return 10324; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10094; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10096; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10098; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10100; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10102; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10104; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10106; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10108; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10110; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10112; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10114; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10116; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10118; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10120; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10122; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10124; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10126; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10128; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10130; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10132; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10134; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10136; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10138; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10140; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10142; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10144; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10146; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10148; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10150; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10152; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10154; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10156; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10158; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10160; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10162; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10164; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10166; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10168; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10170; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10172; - case PolishedDiorite::PolishedDiorite().ID: return 5; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Top).ID: return 10272; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Bottom).ID: return 10274; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Double).ID: return 10276; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9374; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9376; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9378; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9380; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9382; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9384; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9386; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9388; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9390; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9392; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9394; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9396; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9398; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9400; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9402; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9404; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9406; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9408; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9410; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9412; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9414; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9416; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9418; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9420; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9422; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9424; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9426; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9428; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9430; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9432; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9434; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9436; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9438; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9440; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9442; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9444; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9446; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9448; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9450; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9452; - case PolishedGranite::PolishedGranite().ID: return 3; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Top).ID: return 10254; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Bottom).ID: return 10256; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Double).ID: return 10258; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9134; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9136; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9138; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9140; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9142; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9144; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9146; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9148; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9150; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9152; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9154; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9156; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9158; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9160; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9162; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9164; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9166; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9168; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9170; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9172; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9174; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9176; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9178; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9180; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9182; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9184; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9186; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9188; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9190; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9192; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9194; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9196; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9198; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9200; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9202; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9204; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9206; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9208; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9210; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9212; - case Poppy::Poppy().ID: return 1412; - case Potatoes::Potatoes(0).ID: return 5802; - case Potatoes::Potatoes(1).ID: return 5803; - case Potatoes::Potatoes(2).ID: return 5804; - case Potatoes::Potatoes(3).ID: return 5805; - case Potatoes::Potatoes(4).ID: return 5806; - case Potatoes::Potatoes(5).ID: return 5807; - case Potatoes::Potatoes(6).ID: return 5808; - case Potatoes::Potatoes(7).ID: return 5809; - case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 5774; - case PottedAllium::PottedAllium().ID: return 5780; - case PottedAzureBluet::PottedAzureBluet().ID: return 5781; - case PottedBamboo::PottedBamboo().ID: return 9128; - case PottedBirchSapling::PottedBirchSapling().ID: return 5772; - case PottedBlueOrchid::PottedBlueOrchid().ID: return 5779; - case PottedBrownMushroom::PottedBrownMushroom().ID: return 5791; - case PottedCactus::PottedCactus().ID: return 5793; - case PottedCornflower::PottedCornflower().ID: return 5787; - case PottedDandelion::PottedDandelion().ID: return 5777; - case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 5775; - case PottedDeadBush::PottedDeadBush().ID: return 5792; - case PottedFern::PottedFern().ID: return 5776; - case PottedJungleSapling::PottedJungleSapling().ID: return 5773; - case PottedLilyOfTheValley::PottedLilyOfTheValley().ID: return 5788; - case PottedOakSapling::PottedOakSapling().ID: return 5770; - case PottedOrangeTulip::PottedOrangeTulip().ID: return 5783; - case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 5786; - case PottedPinkTulip::PottedPinkTulip().ID: return 5785; - case PottedPoppy::PottedPoppy().ID: return 5778; - case PottedRedMushroom::PottedRedMushroom().ID: return 5790; - case PottedRedTulip::PottedRedTulip().ID: return 5782; - case PottedSpruceSapling::PottedSpruceSapling().ID: return 5771; - case PottedWhiteTulip::PottedWhiteTulip().ID: return 5784; - case PottedWitherRose::PottedWitherRose().ID: return 5789; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1304; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1305; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1306; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1307; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1308; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1309; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1310; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1311; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1312; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1313; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1314; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1315; - case Prismarine::Prismarine().ID: return 7065; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 7315; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 7317; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 7319; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7149; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7151; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7153; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7155; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7157; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7159; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7161; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7163; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7165; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7167; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7169; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7171; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7173; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7175; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7177; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7179; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7181; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7183; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7185; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7187; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7189; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7191; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7193; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7195; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7197; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7199; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7201; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7203; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7205; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7207; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7209; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7211; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7213; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7215; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7217; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7219; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7221; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7223; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7225; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7227; - case PrismarineBricks::PrismarineBricks().ID: return 7066; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 7309; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 7311; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 7313; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7069; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7071; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7073; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7075; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7077; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7079; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7081; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7083; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7085; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7087; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7089; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7091; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7093; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7095; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7097; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7099; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7101; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7103; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7105; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7107; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7109; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7111; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7113; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7115; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7117; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7119; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7121; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7123; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7125; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7127; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7129; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7131; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7133; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7135; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7137; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7139; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7141; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7143; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7145; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7147; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 10397; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 10398; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 10401; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 10402; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 10405; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 10406; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 10409; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 10410; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 10413; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 10414; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 10417; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 10418; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 10421; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 10422; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 10425; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 10426; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 10429; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 10430; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 10433; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 10434; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 10437; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 10438; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 10441; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 10442; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 10445; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 10446; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 10449; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 10450; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 10453; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 10454; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 10457; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 10458; - case Pumpkin::Pumpkin().ID: return 3996; - case PumpkinStem::PumpkinStem(0).ID: return 4756; - case PumpkinStem::PumpkinStem(1).ID: return 4757; - case PumpkinStem::PumpkinStem(2).ID: return 4758; - case PumpkinStem::PumpkinStem(3).ID: return 4759; - case PumpkinStem::PumpkinStem(4).ID: return 4760; - case PumpkinStem::PumpkinStem(5).ID: return 4761; - case PumpkinStem::PumpkinStem(6).ID: return 4762; - case PumpkinStem::PumpkinStem(7).ID: return 4763; - case PurpleBanner::PurpleBanner(0).ID: return 7521; - case PurpleBanner::PurpleBanner(1).ID: return 7522; - case PurpleBanner::PurpleBanner(2).ID: return 7523; - case PurpleBanner::PurpleBanner(3).ID: return 7524; - case PurpleBanner::PurpleBanner(4).ID: return 7525; - case PurpleBanner::PurpleBanner(5).ID: return 7526; - case PurpleBanner::PurpleBanner(6).ID: return 7527; - case PurpleBanner::PurpleBanner(7).ID: return 7528; - case PurpleBanner::PurpleBanner(8).ID: return 7529; - case PurpleBanner::PurpleBanner(9).ID: return 7530; - case PurpleBanner::PurpleBanner(10).ID: return 7531; - case PurpleBanner::PurpleBanner(11).ID: return 7532; - case PurpleBanner::PurpleBanner(12).ID: return 7533; - case PurpleBanner::PurpleBanner(13).ID: return 7534; - case PurpleBanner::PurpleBanner(14).ID: return 7535; - case PurpleBanner::PurpleBanner(15).ID: return 7536; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 1208; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 1209; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 1210; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 1211; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 1212; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 1213; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 1214; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 1215; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 1216; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 1217; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 1218; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 1219; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 1220; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 1221; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 1222; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 1223; - case PurpleCarpet::PurpleCarpet().ID: return 7340; - case PurpleConcrete::PurpleConcrete().ID: return 8912; - case PurpleConcretePowder::PurpleConcretePowder().ID: return 8928; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8878; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8879; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8880; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8881; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8802; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8803; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8804; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8805; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8806; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8807; - case PurpleStainedGlass::PurpleStainedGlass().ID: return 4091; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 6649; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 6650; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 6653; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 6654; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 6657; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 6658; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 6661; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 6662; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 6665; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 6666; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 6669; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 6670; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 6673; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 6674; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 6677; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 6678; - case PurpleTerracotta::PurpleTerracotta().ID: return 6321; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7657; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7658; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7659; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7660; - case PurpleWool::PurpleWool().ID: return 1393; - case PurpurBlock::PurpurBlock().ID: return 8598; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 8599; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 8600; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 8601; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 7873; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 7875; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 7877; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8603; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8605; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8607; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8609; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8611; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8613; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8615; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8617; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8619; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8621; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8623; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8625; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8627; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8629; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8631; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8633; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8635; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8637; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8639; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8641; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8643; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8645; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8647; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8649; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8651; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8653; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8655; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8657; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8659; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8661; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 8663; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 8665; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 8667; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 8669; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 8671; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 8673; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 8675; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 8677; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 8679; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 8681; - case QuartzBlock::QuartzBlock().ID: return 6202; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 6204; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 6205; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 6206; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 7855; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 7857; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 7859; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6208; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6210; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6212; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6214; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6216; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6218; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6220; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6222; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6224; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6226; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6228; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6230; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6232; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6234; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6236; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6238; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6240; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6242; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6244; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6246; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6248; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6250; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6252; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6254; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6256; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6258; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6260; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6262; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6264; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6266; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6268; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6270; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6272; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6274; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6276; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6278; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6280; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6282; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6284; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6286; - case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3643; - case Rail::Rail(Rail::Shape::EastWest).ID: return 3644; - case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3645; - case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3646; - case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3647; - case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3648; - case Rail::Rail(Rail::Shape::SouthEast).ID: return 3649; - case Rail::Rail(Rail::Shape::SouthWest).ID: return 3650; - case Rail::Rail(Rail::Shape::NorthWest).ID: return 3651; - case Rail::Rail(Rail::Shape::NorthEast).ID: return 3652; - case RedBanner::RedBanner(0).ID: return 7585; - case RedBanner::RedBanner(1).ID: return 7586; - case RedBanner::RedBanner(2).ID: return 7587; - case RedBanner::RedBanner(3).ID: return 7588; - case RedBanner::RedBanner(4).ID: return 7589; - case RedBanner::RedBanner(5).ID: return 7590; - case RedBanner::RedBanner(6).ID: return 7591; - case RedBanner::RedBanner(7).ID: return 7592; - case RedBanner::RedBanner(8).ID: return 7593; - case RedBanner::RedBanner(9).ID: return 7594; - case RedBanner::RedBanner(10).ID: return 7595; - case RedBanner::RedBanner(11).ID: return 7596; - case RedBanner::RedBanner(12).ID: return 7597; - case RedBanner::RedBanner(13).ID: return 7598; - case RedBanner::RedBanner(14).ID: return 7599; - case RedBanner::RedBanner(15).ID: return 7600; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 1272; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 1273; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 1274; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 1275; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 1276; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 1277; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 1278; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 1279; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 1280; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 1281; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 1282; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 1283; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 1284; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 1285; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 1286; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 1287; - case RedCarpet::RedCarpet().ID: return 7344; - case RedConcrete::RedConcrete().ID: return 8916; - case RedConcretePowder::RedConcretePowder().ID: return 8932; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8894; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8895; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8896; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8897; - case RedMushroom::RedMushroom().ID: return 1425; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4555; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4556; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4557; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4558; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4559; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4560; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4561; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4562; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4563; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4564; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4565; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4566; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4567; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4568; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4569; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4570; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4571; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4572; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4573; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4574; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4575; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4576; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4577; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4578; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4579; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4580; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4581; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4582; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4583; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4584; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4585; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4586; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4587; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4588; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4589; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4590; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4591; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4592; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4593; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4594; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4595; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4596; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4597; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4598; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4599; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4600; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4601; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4602; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4603; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4604; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4605; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4606; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4607; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4608; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4609; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4610; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4611; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4612; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4613; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4614; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4615; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4616; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4617; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4618; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Top).ID: return 10314; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Bottom).ID: return 10316; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Double).ID: return 10318; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10014; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10016; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10018; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10020; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10022; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10024; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10026; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10028; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10030; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10032; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10034; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10036; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10038; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10040; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10042; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10044; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10046; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10048; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10050; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10052; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10054; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10056; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10058; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10060; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10062; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10064; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10066; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10068; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10070; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10072; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10074; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10076; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10078; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10080; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10082; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10084; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10086; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10088; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10090; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10092; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 10845; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 10846; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 10849; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 10850; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 10853; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 10854; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 10857; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 10858; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 10861; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 10862; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 10865; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 10866; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 10869; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 10870; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 10873; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 10874; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 10877; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 10878; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 10881; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 10882; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 10885; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 10886; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 10889; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 10890; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 10893; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 10894; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 10897; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 10898; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 10901; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 10902; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 10905; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 10906; - case RedNetherBricks::RedNetherBricks().ID: return 8719; - case RedSand::RedSand().ID: return 67; - case RedSandstone::RedSandstone().ID: return 7681; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 7861; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 7863; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 7865; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7685; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7687; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7689; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7691; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7693; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7695; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7697; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7699; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7701; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7703; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7705; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7707; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7709; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7711; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7713; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7715; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7717; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7719; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7721; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7723; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7725; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7727; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7729; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7731; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7733; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7735; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7737; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7739; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7741; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7743; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 7745; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 7747; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 7749; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 7751; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 7753; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 7755; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 7757; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 7759; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 7761; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 7763; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 10461; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 10462; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 10465; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 10466; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 10469; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 10470; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 10473; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 10474; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 10477; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 10478; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 10481; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 10482; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 10485; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 10486; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 10489; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 10490; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 10493; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 10494; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 10497; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 10498; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 10501; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 10502; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 10505; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 10506; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 10509; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 10510; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 10513; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 10514; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 10517; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 10518; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 10521; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 10522; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8826; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8827; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8828; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8829; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8830; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8831; - case RedStainedGlass::RedStainedGlass().ID: return 4095; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 6777; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 6778; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 6781; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 6782; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 6785; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 6786; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 6789; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 6790; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 6793; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 6794; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 6797; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 6798; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 6801; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 6802; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 6805; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 6806; - case RedTerracotta::RedTerracotta().ID: return 6325; - case RedTulip::RedTulip().ID: return 1416; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7673; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7674; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7675; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7676; - case RedWool::RedWool().ID: return 1397; - case RedstoneBlock::RedstoneBlock().ID: return 6190; - case RedstoneLamp::RedstoneLamp(true).ID: return 5140; - case RedstoneLamp::RedstoneLamp(false).ID: return 5141; - case RedstoneOre::RedstoneOre(true).ID: return 3883; - case RedstoneOre::RedstoneOre(false).ID: return 3884; - case RedstoneTorch::RedstoneTorch(true).ID: return 3885; - case RedstoneTorch::RedstoneTorch(false).ID: return 3886; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3887; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3888; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3889; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3890; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3891; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3892; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3893; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2056; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2057; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2058; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2059; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2060; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2061; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2062; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2063; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2064; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2065; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2066; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2067; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2068; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2069; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2070; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2071; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2072; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2073; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2074; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2075; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2076; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2077; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2078; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2079; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2080; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2081; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2082; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2083; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2084; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2085; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2086; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2087; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2088; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2089; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2090; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2091; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2092; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2093; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2094; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2095; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2096; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2097; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2098; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2099; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2100; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2101; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2102; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2103; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2104; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2105; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2106; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2107; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2108; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2109; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2110; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2111; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2112; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2113; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2114; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2115; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2116; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2117; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2118; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2119; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2120; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2121; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2122; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2123; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2124; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2125; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2126; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2127; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2128; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2129; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2130; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2131; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2132; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2133; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2134; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2135; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2136; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2137; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2138; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2139; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2140; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2141; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2142; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2143; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2144; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2145; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2146; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2147; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2148; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2149; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2150; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2151; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2152; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2153; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2154; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2155; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2156; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2157; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2158; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2159; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2160; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2161; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2162; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2163; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2164; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2165; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2166; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2167; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2168; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2169; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2170; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2171; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2172; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2173; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2174; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2175; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2176; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2177; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2178; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2179; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2180; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2181; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2182; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2183; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2184; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2185; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2186; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2187; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2188; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2189; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2190; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2191; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2192; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2193; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2194; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2195; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2196; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2197; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2198; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2199; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2200; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2201; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2202; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2203; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2204; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2205; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2206; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2207; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2208; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2209; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2210; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2211; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2212; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2213; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2214; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2215; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2216; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2217; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2218; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2219; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2220; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2221; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2222; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2223; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2224; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2225; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2226; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2227; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2228; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2229; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2230; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2231; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2232; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2233; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2234; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2235; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2236; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2237; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2238; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2239; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2240; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2241; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2242; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2243; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2244; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2245; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2246; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2247; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2248; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2249; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2250; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2251; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2252; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2253; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2254; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2255; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2256; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2257; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2258; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2259; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2260; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2261; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2262; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2263; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2264; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2265; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2266; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2267; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2268; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2269; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2270; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2271; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2272; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2273; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2274; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2275; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2276; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2277; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2278; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2279; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2280; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2281; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2282; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2283; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2284; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2285; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2286; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2287; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2288; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2289; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2290; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2291; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2292; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2293; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2294; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2295; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2296; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2297; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2298; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2299; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2300; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2301; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2302; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2303; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2304; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2305; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2306; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2307; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2308; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2309; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2310; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2311; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2312; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2313; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2314; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2315; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2316; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2317; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2318; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2319; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2320; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2321; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2322; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2323; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2324; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2325; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2326; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2327; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2328; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2329; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2330; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2331; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2332; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2333; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2334; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2335; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2336; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2337; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2338; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2339; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2340; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2341; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2342; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2343; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2344; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2345; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2346; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2347; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2348; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2349; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2350; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2351; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2352; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2353; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2354; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2355; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2356; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2357; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2358; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2359; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2360; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2361; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2362; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2363; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2364; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2365; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2366; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2367; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2368; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2369; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2370; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2371; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2372; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2373; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2374; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2375; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2376; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2377; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2378; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2379; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2380; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2381; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2382; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2383; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2384; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2385; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2386; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2387; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2388; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2389; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2390; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2391; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2392; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2393; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2394; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2395; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2396; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2397; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2398; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2399; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2400; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2401; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2402; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2403; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2404; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2405; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2406; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2407; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2408; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2409; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2410; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2411; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2412; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2413; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2414; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2415; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2416; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2417; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2418; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2419; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2420; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2421; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2422; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2423; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2424; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2425; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2426; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2427; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2428; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2429; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2430; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2431; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2432; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2433; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2434; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2435; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2436; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2437; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2438; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2439; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2440; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2441; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2442; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2443; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2444; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2445; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2446; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2447; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2448; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2449; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2450; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2451; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2452; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2453; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2454; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2455; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2456; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2457; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2458; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2459; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2460; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2461; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2462; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2463; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2464; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2465; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2466; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2467; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2468; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2469; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2470; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2471; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2472; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2473; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2474; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2475; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2476; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2477; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2478; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2479; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2480; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2481; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2482; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2483; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2484; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2485; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2486; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2487; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2488; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2489; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2490; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2491; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2492; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2493; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2494; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2495; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2496; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2497; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2498; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2499; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2500; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2501; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2502; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2503; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2504; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2505; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2506; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2507; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2508; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2509; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2510; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2511; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2512; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2513; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2514; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2515; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2516; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2517; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2518; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2519; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2520; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2521; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2522; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2523; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2524; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2525; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2526; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2527; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2528; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2529; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2530; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2531; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2532; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2533; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2534; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2535; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2536; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2537; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2538; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2539; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2540; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2541; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2542; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2543; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2544; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2545; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2546; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2547; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2548; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2549; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2550; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2551; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2552; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2553; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2554; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2555; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2556; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2557; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2558; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2559; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2560; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2561; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2562; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2563; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2564; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2565; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2566; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2567; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2568; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2569; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2570; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2571; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2572; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2573; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2574; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2575; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2576; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2577; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2578; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2579; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2580; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2581; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2582; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2583; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2584; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2585; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2586; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2587; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2588; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2589; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2590; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2591; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2592; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2593; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2594; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2595; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2596; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2597; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2598; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2599; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2600; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2601; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2602; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2603; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2604; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2605; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2606; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2607; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2608; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2609; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2610; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2611; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2612; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2613; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2614; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2615; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2616; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2617; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2618; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2619; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2620; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2621; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2622; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2623; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2624; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2625; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2626; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2627; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2628; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2629; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2630; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2631; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2632; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2633; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2634; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2635; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2636; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2637; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2638; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2639; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2640; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2641; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2642; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2643; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2644; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2645; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2646; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2647; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2648; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2649; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2650; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2651; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2652; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2653; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2654; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2655; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2656; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2657; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2658; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2659; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2660; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2661; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2662; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2663; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2664; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2665; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2666; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2667; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2668; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2669; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2670; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2671; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2672; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2673; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2674; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2675; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2676; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2677; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2678; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2679; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2680; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2681; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2682; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2683; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2684; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2685; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2686; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2687; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2688; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2689; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2690; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2691; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2692; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2693; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2694; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2695; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2696; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2697; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2698; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2699; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2700; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2701; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2702; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2703; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2704; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2705; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2706; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2707; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2708; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2709; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2710; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2711; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2712; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2713; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2714; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2715; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2716; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2717; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2718; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2719; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2720; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2721; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2722; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2723; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2724; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2725; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2726; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2727; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2728; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2729; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2730; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2731; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2732; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2733; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2734; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2735; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2736; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2737; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2738; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2739; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2740; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2741; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2742; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2743; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2744; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2745; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2746; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2747; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2748; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2749; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2750; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2751; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2752; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2753; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2754; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2755; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2756; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2757; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2758; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2759; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2760; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2761; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2762; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2763; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2764; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2765; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2766; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2767; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2768; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2769; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2770; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2771; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2772; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2773; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2774; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2775; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2776; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2777; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2778; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2779; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2780; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2781; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2782; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2783; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2784; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2785; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2786; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2787; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2788; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2789; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2790; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2791; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2792; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2793; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2794; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2795; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2796; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2797; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2798; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2799; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2800; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2801; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2802; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2803; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2804; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2805; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2806; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2807; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2808; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2809; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2810; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2811; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2812; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2813; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2814; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2815; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2816; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2817; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2818; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2819; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2820; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2821; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2822; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2823; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2824; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2825; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2826; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2827; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2828; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2829; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2830; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2831; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2832; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2833; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2834; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2835; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2836; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2837; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2838; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2839; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2840; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2841; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2842; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2843; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2844; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2845; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2846; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2847; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2848; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2849; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2850; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2851; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2852; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2853; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2854; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2855; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2856; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2857; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2858; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2859; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2860; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2861; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2862; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2863; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2864; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2865; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2866; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2867; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2868; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2869; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2870; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2871; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2872; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2873; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2874; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2875; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2876; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2877; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2878; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2879; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2880; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2881; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2882; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2883; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2884; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2885; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2886; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2887; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2888; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2889; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2890; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2891; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2892; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2893; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2895; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2896; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2897; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2898; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2899; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2900; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2901; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2902; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2903; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2904; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2905; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2906; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2907; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2908; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2909; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2910; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2911; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2912; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2913; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2914; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2915; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2916; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2917; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2918; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2919; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2920; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2921; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2922; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2923; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2924; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2925; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2926; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2927; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2928; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2929; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2930; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2931; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2932; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2933; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2934; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2935; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2936; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2937; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2938; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2939; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2940; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2941; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2942; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2943; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2944; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2945; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2946; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2947; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2948; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2949; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2950; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2951; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2952; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2953; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2954; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2955; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2956; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2957; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2958; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2959; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2960; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2961; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2962; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2963; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2964; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2965; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2966; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2967; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2968; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2969; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2970; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2971; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2972; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2973; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2974; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2975; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2976; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2977; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2978; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2979; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2980; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2981; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2982; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2983; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2984; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2985; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2986; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2987; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2988; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2989; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2990; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2991; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2992; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2993; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2994; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2995; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2996; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2997; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2998; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2999; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3000; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3001; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3002; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3003; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3004; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3005; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3006; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3007; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3008; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3009; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3010; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3011; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3012; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3013; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3014; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3015; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3016; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3017; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3018; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3019; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3020; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3021; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3022; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3023; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3024; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3025; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3026; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3027; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3028; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3029; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3030; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3031; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3032; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3033; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3034; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3035; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3036; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3037; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3038; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3039; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3040; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3041; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3042; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3043; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3044; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3045; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3046; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3047; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3048; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3049; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3050; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3051; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3052; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3053; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3054; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3055; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3056; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3057; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3058; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3059; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3060; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3061; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3062; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3063; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3064; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3065; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3066; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3067; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3068; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3069; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3070; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3071; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3072; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3073; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3074; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3075; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3076; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3077; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3078; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3079; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3080; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3081; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3082; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3083; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3084; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3085; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3086; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3087; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3088; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3089; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3090; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3091; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3092; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3093; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3094; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3095; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3096; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3097; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3098; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3099; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3100; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3101; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3102; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3103; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3104; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3105; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3106; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3107; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3108; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3109; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3110; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3111; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3112; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3113; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3114; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3115; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3116; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3117; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3118; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3119; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3120; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3121; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3122; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3123; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3124; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3125; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3126; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3127; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3128; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3129; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3130; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3131; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3132; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3133; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3134; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3135; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3136; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3137; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3138; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3139; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3140; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3141; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3142; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3143; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3144; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3145; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3146; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3147; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3148; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3149; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3150; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3151; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3152; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3153; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3154; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3155; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3156; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3157; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3158; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3159; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3160; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3161; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3162; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3163; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3164; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3165; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3166; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3167; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3168; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3169; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3170; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3171; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3172; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3173; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3174; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3175; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3176; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3177; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3178; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3179; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3180; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3181; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3182; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3183; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3184; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3185; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3186; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3187; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3188; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3189; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3190; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3191; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3192; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3193; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3194; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3195; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3196; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3197; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3198; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3199; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3200; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3201; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3202; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3203; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3204; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3205; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3206; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3207; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3208; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3209; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3210; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3211; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3212; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3213; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3214; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3215; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3216; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3217; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3218; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3219; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3220; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3221; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3222; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3223; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3224; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3225; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3226; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3227; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3228; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3229; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3230; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3231; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3232; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3233; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3234; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3235; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3236; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3237; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3238; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3239; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3240; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3241; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3242; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3243; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3244; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3245; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3246; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3247; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3248; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3249; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3250; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3251; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3252; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3253; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3254; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3255; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3256; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3257; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3258; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3259; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3260; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3261; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3262; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3263; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3264; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3265; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3266; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3267; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3268; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3269; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3270; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3271; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3272; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3273; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3274; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3275; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3276; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3277; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3278; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3279; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3280; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3281; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3282; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3283; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3284; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3285; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3286; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3287; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3288; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3289; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3290; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3291; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3292; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3293; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3294; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3295; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3296; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3297; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3298; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3299; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3300; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3301; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3302; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3303; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3304; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3305; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3306; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3307; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3308; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3309; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3310; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3311; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3312; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3313; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3314; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3315; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3316; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3317; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3318; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3319; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3320; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3321; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3322; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3323; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3324; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3325; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3326; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3327; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3328; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3329; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3330; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3331; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3332; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3333; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3334; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3335; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3336; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3337; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3338; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3339; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3340; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3341; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3342; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3343; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3344; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3345; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3346; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3347; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3348; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3349; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3350; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3351; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4017; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4018; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4019; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4020; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4021; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4022; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4023; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4024; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4025; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4026; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4027; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4028; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4029; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4030; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4031; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4032; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4033; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4034; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4035; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4036; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4037; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4038; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4039; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4040; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4041; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4042; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4043; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4044; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4045; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4046; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4047; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4048; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4049; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4050; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4051; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4052; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4053; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4054; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4055; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4056; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4057; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4058; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4059; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4060; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4061; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4062; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4063; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4064; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4065; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4066; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4067; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4068; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4069; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4070; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4071; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4072; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4073; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4074; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4075; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4076; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4077; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4078; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4079; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4080; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8689; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8690; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8691; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8692; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8693; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8694; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8695; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8696; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8697; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8698; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8699; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8700; - case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 7353; - case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 7354; - case Sand::Sand().ID: return 66; - case Sandstone::Sandstone().ID: return 245; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 7813; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 7815; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 7817; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5155; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5157; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5159; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5161; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5163; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5165; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5167; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5169; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5171; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5173; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5175; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5177; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5179; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5181; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5183; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5185; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5187; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5189; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5191; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5193; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5195; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5197; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5199; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5201; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5203; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5205; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5207; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5209; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5211; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5213; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5215; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5217; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5219; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5221; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5223; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5225; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5227; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5229; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5231; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5233; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 10909; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 10910; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 10913; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 10914; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 10917; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 10918; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 10921; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 10922; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 10925; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 10926; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 10929; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 10930; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 10933; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 10934; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 10937; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 10938; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 10941; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 10942; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 10945; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 10946; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 10949; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 10950; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 10953; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 10954; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 10957; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 10958; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 10961; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 10962; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 10965; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 10966; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 10969; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 10970; - case Scaffolding::Scaffolding(true, 0).ID: return 11100; - case Scaffolding::Scaffolding(true, 1).ID: return 11102; - case Scaffolding::Scaffolding(true, 2).ID: return 11104; - case Scaffolding::Scaffolding(true, 3).ID: return 11106; - case Scaffolding::Scaffolding(true, 4).ID: return 11108; - case Scaffolding::Scaffolding(true, 5).ID: return 11110; - case Scaffolding::Scaffolding(true, 6).ID: return 11112; - case Scaffolding::Scaffolding(true, 7).ID: return 11114; - case Scaffolding::Scaffolding(false, 0).ID: return 11116; - case Scaffolding::Scaffolding(false, 1).ID: return 11118; - case Scaffolding::Scaffolding(false, 2).ID: return 11120; - case Scaffolding::Scaffolding(false, 3).ID: return 11122; - case Scaffolding::Scaffolding(false, 4).ID: return 11124; - case Scaffolding::Scaffolding(false, 5).ID: return 11126; - case Scaffolding::Scaffolding(false, 6).ID: return 11128; - case Scaffolding::Scaffolding(false, 7).ID: return 11130; - case SeaLantern::SeaLantern().ID: return 7326; - case SeaPickle::SeaPickle(1).ID: return 9105; - case SeaPickle::SeaPickle(2).ID: return 9107; - case SeaPickle::SeaPickle(3).ID: return 9109; - case SeaPickle::SeaPickle(4).ID: return 9111; - case Seagrass::Seagrass().ID: return 1344; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8736; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8737; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8738; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8739; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8740; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8741; - case SkeletonSkull::SkeletonSkull(0).ID: return 5954; - case SkeletonSkull::SkeletonSkull(1).ID: return 5955; - case SkeletonSkull::SkeletonSkull(2).ID: return 5956; - case SkeletonSkull::SkeletonSkull(3).ID: return 5957; - case SkeletonSkull::SkeletonSkull(4).ID: return 5958; - case SkeletonSkull::SkeletonSkull(5).ID: return 5959; - case SkeletonSkull::SkeletonSkull(6).ID: return 5960; - case SkeletonSkull::SkeletonSkull(7).ID: return 5961; - case SkeletonSkull::SkeletonSkull(8).ID: return 5962; - case SkeletonSkull::SkeletonSkull(9).ID: return 5963; - case SkeletonSkull::SkeletonSkull(10).ID: return 5964; - case SkeletonSkull::SkeletonSkull(11).ID: return 5965; - case SkeletonSkull::SkeletonSkull(12).ID: return 5966; - case SkeletonSkull::SkeletonSkull(13).ID: return 5967; - case SkeletonSkull::SkeletonSkull(14).ID: return 5968; - case SkeletonSkull::SkeletonSkull(15).ID: return 5969; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5970; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5971; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5972; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5973; - case SlimeBlock::SlimeBlock().ID: return 6999; - case SmithingTable::SmithingTable().ID: return 11193; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11147; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11148; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11149; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11150; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, true).ID: return 11151; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, false).ID: return 11152; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, true).ID: return 11153; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, false).ID: return 11154; - case SmoothQuartz::SmoothQuartz().ID: return 7880; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Top).ID: return 10296; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Bottom).ID: return 10298; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Double).ID: return 10300; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 9774; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9776; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 9778; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9780; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 9782; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 9784; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9786; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 9788; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9790; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 9792; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 9794; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9796; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 9798; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9800; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 9802; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 9804; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9806; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 9808; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9810; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 9812; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 9814; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9816; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 9818; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9820; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 9822; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 9824; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9826; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 9828; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9830; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 9832; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 9834; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9836; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 9838; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9840; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 9842; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 9844; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 9846; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 9848; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 9850; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 9852; - case SmoothRedSandstone::SmoothRedSandstone().ID: return 7881; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Top).ID: return 10260; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Bottom).ID: return 10262; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Double).ID: return 10264; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9214; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9216; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9218; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9220; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9222; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9224; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9226; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9228; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9230; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9232; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9234; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9236; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9238; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9240; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9242; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9244; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9246; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9248; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9250; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9252; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9254; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9256; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9258; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9260; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9262; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9264; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9266; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9268; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9270; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9272; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9274; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9276; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9278; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9280; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9282; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9284; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9286; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9288; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9290; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9292; - case SmoothSandstone::SmoothSandstone().ID: return 7879; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Top).ID: return 10290; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Bottom).ID: return 10292; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Double).ID: return 10294; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 9694; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9696; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9698; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9700; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9702; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 9704; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9706; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9708; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9710; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9712; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 9714; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9716; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9718; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9720; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9722; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 9724; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9726; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9728; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9730; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9732; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 9734; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9736; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9738; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9740; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9742; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 9744; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9746; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9748; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9750; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9752; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 9754; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9756; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9758; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9760; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9762; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 9764; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 9766; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 9768; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 9770; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 9772; - case SmoothStone::SmoothStone().ID: return 7878; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Top).ID: return 7807; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Bottom).ID: return 7809; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Double).ID: return 7811; - case Snow::Snow(1).ID: return 3919; - case Snow::Snow(2).ID: return 3920; - case Snow::Snow(3).ID: return 3921; - case Snow::Snow(4).ID: return 3922; - case Snow::Snow(5).ID: return 3923; - case Snow::Snow(6).ID: return 3924; - case Snow::Snow(7).ID: return 3925; - case Snow::Snow(8).ID: return 3926; - case SnowBlock::SnowBlock().ID: return 3928; - case SoulSand::SoulSand().ID: return 3998; - case Spawner::Spawner().ID: return 1951; - case Sponge::Sponge().ID: return 228; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5834; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5835; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5836; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5837; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5838; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5839; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5840; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5841; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5842; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5843; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5844; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5845; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5846; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5847; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5848; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5849; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5850; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5851; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5852; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5853; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5854; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5855; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5856; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5857; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8202; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8203; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8204; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8205; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8206; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8207; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8208; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8209; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8210; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8211; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8212; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8213; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8214; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8215; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8216; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8217; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8218; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8219; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8220; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8221; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8222; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8223; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8224; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8225; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8226; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8227; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8228; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8229; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8230; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8231; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8232; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8233; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8234; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8235; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8236; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8237; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8238; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8239; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8240; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8241; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8242; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8243; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8244; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8245; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8246; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8247; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8248; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8249; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8250; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8251; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8252; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8253; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8254; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8255; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8256; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8257; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8258; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8259; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8260; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8261; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8262; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8263; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8264; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8265; - case SpruceFence::SpruceFence(true, true, true, true).ID: return 8044; - case SpruceFence::SpruceFence(true, true, true, false).ID: return 8045; - case SpruceFence::SpruceFence(true, true, false, true).ID: return 8048; - case SpruceFence::SpruceFence(true, true, false, false).ID: return 8049; - case SpruceFence::SpruceFence(true, false, true, true).ID: return 8052; - case SpruceFence::SpruceFence(true, false, true, false).ID: return 8053; - case SpruceFence::SpruceFence(true, false, false, true).ID: return 8056; - case SpruceFence::SpruceFence(true, false, false, false).ID: return 8057; - case SpruceFence::SpruceFence(false, true, true, true).ID: return 8060; - case SpruceFence::SpruceFence(false, true, true, false).ID: return 8061; - case SpruceFence::SpruceFence(false, true, false, true).ID: return 8064; - case SpruceFence::SpruceFence(false, true, false, false).ID: return 8065; - case SpruceFence::SpruceFence(false, false, true, true).ID: return 8068; - case SpruceFence::SpruceFence(false, false, true, false).ID: return 8069; - case SpruceFence::SpruceFence(false, false, false, true).ID: return 8072; - case SpruceFence::SpruceFence(false, false, false, false).ID: return 8073; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7882; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7883; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7884; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7885; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7886; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7887; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7888; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7889; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7890; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7891; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7892; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7893; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7894; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7895; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7896; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7897; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7898; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7899; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7900; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7901; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7902; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7903; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7904; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7905; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7906; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7907; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7908; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7909; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7910; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7911; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7912; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7913; - case SpruceLeaves::SpruceLeaves(1, true).ID: return 158; - case SpruceLeaves::SpruceLeaves(1, false).ID: return 159; - case SpruceLeaves::SpruceLeaves(2, true).ID: return 160; - case SpruceLeaves::SpruceLeaves(2, false).ID: return 161; - case SpruceLeaves::SpruceLeaves(3, true).ID: return 162; - case SpruceLeaves::SpruceLeaves(3, false).ID: return 163; - case SpruceLeaves::SpruceLeaves(4, true).ID: return 164; - case SpruceLeaves::SpruceLeaves(4, false).ID: return 165; - case SpruceLeaves::SpruceLeaves(5, true).ID: return 166; - case SpruceLeaves::SpruceLeaves(5, false).ID: return 167; - case SpruceLeaves::SpruceLeaves(6, true).ID: return 168; - case SpruceLeaves::SpruceLeaves(6, false).ID: return 169; - case SpruceLeaves::SpruceLeaves(7, true).ID: return 170; - case SpruceLeaves::SpruceLeaves(7, false).ID: return 171; - case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 75; - case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 76; - case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 77; - case SprucePlanks::SprucePlanks().ID: return 16; - case SprucePressurePlate::SprucePressurePlate(true).ID: return 3873; - case SprucePressurePlate::SprucePressurePlate(false).ID: return 3874; - case SpruceSapling::SpruceSapling(0).ID: return 23; - case SpruceSapling::SpruceSapling(1).ID: return 24; - case SpruceSign::SpruceSign(0).ID: return 3412; - case SpruceSign::SpruceSign(1).ID: return 3414; - case SpruceSign::SpruceSign(2).ID: return 3416; - case SpruceSign::SpruceSign(3).ID: return 3418; - case SpruceSign::SpruceSign(4).ID: return 3420; - case SpruceSign::SpruceSign(5).ID: return 3422; - case SpruceSign::SpruceSign(6).ID: return 3424; - case SpruceSign::SpruceSign(7).ID: return 3426; - case SpruceSign::SpruceSign(8).ID: return 3428; - case SpruceSign::SpruceSign(9).ID: return 3430; - case SpruceSign::SpruceSign(10).ID: return 3432; - case SpruceSign::SpruceSign(11).ID: return 3434; - case SpruceSign::SpruceSign(12).ID: return 3436; - case SpruceSign::SpruceSign(13).ID: return 3438; - case SpruceSign::SpruceSign(14).ID: return 3440; - case SpruceSign::SpruceSign(15).ID: return 3442; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 7771; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 7773; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 7775; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5389; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5391; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5393; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5395; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5397; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5399; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5401; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5403; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5405; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5407; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5409; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5411; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5413; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5415; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5417; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5419; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5421; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5423; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5425; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5427; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5429; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5431; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5433; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5435; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5437; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5439; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5441; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5443; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5445; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5447; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5449; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5451; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5453; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5455; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5457; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5459; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5461; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5463; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5465; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5467; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: return 4162; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: return 4164; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: return 4166; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: return 4168; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4170; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4172; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4174; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4176; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: return 4178; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: return 4180; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: return 4182; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: return 4184; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4186; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4188; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4190; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4192; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: return 4194; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: return 4196; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: return 4198; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: return 4200; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4202; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4204; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4206; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4208; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: return 4210; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: return 4212; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: return 4214; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: return 4216; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4218; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4220; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4222; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4224; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3742; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3744; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3746; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3748; - case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 111; - case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 112; - case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 113; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1328; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1329; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1330; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1331; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1332; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1333; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1334; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1335; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1336; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1337; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1338; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1339; - case Stone::Stone().ID: return 1; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 7843; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 7845; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 7847; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4917; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4919; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4921; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4923; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4925; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4927; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4929; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4931; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4933; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4935; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4937; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4939; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4941; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4943; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4945; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4947; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4949; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4951; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4953; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4955; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4957; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4959; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4961; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4963; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4965; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4967; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4969; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4971; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4973; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4975; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4977; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4979; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4981; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4983; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4985; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4987; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4989; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4991; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4993; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4995; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 10653; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 10654; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 10657; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 10658; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 10661; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 10662; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 10665; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 10666; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 10669; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 10670; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 10673; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 10674; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 10677; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 10678; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 10681; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 10682; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 10685; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 10686; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 10689; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 10690; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 10693; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 10694; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 10697; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 10698; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 10701; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 10702; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 10705; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 10706; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 10709; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 10710; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 10713; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 10714; - case StoneBricks::StoneBricks().ID: return 4481; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3895; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3896; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3897; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3898; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3899; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3900; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3901; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3902; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3903; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3904; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3905; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3906; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3907; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3908; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3909; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3910; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3911; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3912; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3913; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3914; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3915; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3916; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3917; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3918; - case StonePressurePlate::StonePressurePlate(true).ID: return 3805; - case StonePressurePlate::StonePressurePlate(false).ID: return 3806; - case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 7801; - case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 7803; - case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 7805; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 9614; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 9616; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 9618; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 9620; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 9622; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 9624; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 9626; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 9628; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 9630; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 9632; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 9634; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 9636; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 9638; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 9640; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 9642; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 9644; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 9646; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 9648; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 9650; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 9652; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 9654; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 9656; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 9658; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 9660; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 9662; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 9664; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 9666; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 9668; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 9670; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 9672; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 9674; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 9676; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 9678; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 9680; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 9682; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 9684; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 9686; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 9688; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 9690; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 9692; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZM).ID: return 11194; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZP).ID: return 11195; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XM).ID: return 11196; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XP).ID: return 11197; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 99; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 100; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 101; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 138; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 139; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 140; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 93; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 94; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 95; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 132; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 133; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 134; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 102; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 103; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 104; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 141; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 142; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 143; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 96; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 97; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 98; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 135; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 136; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 137; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 105; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 106; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 107; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 126; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 127; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 128; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 90; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 91; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 92; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 129; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 130; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 131; - case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 11268; - case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 11269; - case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 11270; - case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 11271; - case StructureVoid::StructureVoid().ID: return 8723; - case SugarCane::SugarCane(0).ID: return 3946; - case SugarCane::SugarCane(1).ID: return 3947; - case SugarCane::SugarCane(2).ID: return 3948; - case SugarCane::SugarCane(3).ID: return 3949; - case SugarCane::SugarCane(4).ID: return 3950; - case SugarCane::SugarCane(5).ID: return 3951; - case SugarCane::SugarCane(6).ID: return 3952; - case SugarCane::SugarCane(7).ID: return 3953; - case SugarCane::SugarCane(8).ID: return 3954; - case SugarCane::SugarCane(9).ID: return 3955; - case SugarCane::SugarCane(10).ID: return 3956; - case SugarCane::SugarCane(11).ID: return 3957; - case SugarCane::SugarCane(12).ID: return 3958; - case SugarCane::SugarCane(13).ID: return 3959; - case SugarCane::SugarCane(14).ID: return 3960; - case SugarCane::SugarCane(15).ID: return 3961; - case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 7349; - case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 7350; - case SweetBerryBush::SweetBerryBush(0).ID: return 11264; - case SweetBerryBush::SweetBerryBush(1).ID: return 11265; - case SweetBerryBush::SweetBerryBush(2).ID: return 11266; - case SweetBerryBush::SweetBerryBush(3).ID: return 11267; - case TNT::TNT(true).ID: return 1429; - case TNT::TNT(false).ID: return 1430; - case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 7357; - case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 7358; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1345; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1346; - case Terracotta::Terracotta().ID: return 7346; - case Torch::Torch().ID: return 1434; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 6087; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 6089; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 6091; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 6093; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 6095; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 6097; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 6099; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 6101; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 6103; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 6105; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 6107; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 6109; - case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 5259; - case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 5260; - case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 5261; - case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 5262; - case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 5263; - case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 5264; - case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 5265; - case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 5266; - case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 5267; - case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 5268; - case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 5269; - case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 5270; - case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 5271; - case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 5272; - case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 5273; - case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 5274; - case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 5275; - case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 5276; - case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 5277; - case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 5278; - case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 5279; - case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 5280; - case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 5281; - case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 5282; - case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 5283; - case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 5284; - case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 5285; - case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 5286; - case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 5287; - case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 5288; - case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 5289; - case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 5290; - case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 5291; - case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 5292; - case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 5293; - case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 5294; - case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 5295; - case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 5296; - case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 5297; - case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 5298; - case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 5299; - case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 5300; - case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 5301; - case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 5302; - case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 5303; - case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 5304; - case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 5305; - case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 5306; - case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 5307; - case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 5308; - case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 5309; - case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 5310; - case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 5311; - case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 5312; - case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 5313; - case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 5314; - case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 5315; - case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 5316; - case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 5317; - case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 5318; - case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 5319; - case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 5320; - case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 5321; - case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 5322; - case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 5323; - case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 5324; - case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 5325; - case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 5326; - case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 5327; - case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 5328; - case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 5329; - case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 5330; - case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 5331; - case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 5332; - case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 5333; - case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 5334; - case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 5335; - case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 5336; - case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 5337; - case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 5338; - case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 5339; - case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 5340; - case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 5341; - case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 5342; - case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 5343; - case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 5344; - case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 5345; - case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 5346; - case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 5347; - case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 5348; - case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 5349; - case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 5350; - case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 5351; - case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 5352; - case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 5353; - case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 5354; - case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 5355; - case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 5356; - case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 5357; - case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 5358; - case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 5359; - case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 5360; - case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 5361; - case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 5362; - case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 5363; - case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 5364; - case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 5365; - case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 5366; - case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 5367; - case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 5368; - case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 5369; - case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 5370; - case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 5371; - case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 5372; - case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 5373; - case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 5374; - case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 5375; - case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 5376; - case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 5377; - case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 5378; - case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 5379; - case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 5380; - case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 5381; - case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 5382; - case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 5383; - case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 5384; - case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 5385; - case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 5386; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5243; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5244; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5245; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5246; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 5247; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 5248; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 5249; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 5250; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5251; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5252; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5253; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5254; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 5255; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 5256; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 5257; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 5258; - case TubeCoral::TubeCoral().ID: return 8995; - case TubeCoralBlock::TubeCoralBlock().ID: return 8979; - case TubeCoralFan::TubeCoralFan().ID: return 9015; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9065; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9067; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9069; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9071; - case TurtleEgg::TurtleEgg(1, 0).ID: return 8962; - case TurtleEgg::TurtleEgg(1, 1).ID: return 8963; - case TurtleEgg::TurtleEgg(1, 2).ID: return 8964; - case TurtleEgg::TurtleEgg(2, 0).ID: return 8965; - case TurtleEgg::TurtleEgg(2, 1).ID: return 8966; - case TurtleEgg::TurtleEgg(2, 2).ID: return 8967; - case TurtleEgg::TurtleEgg(3, 0).ID: return 8968; - case TurtleEgg::TurtleEgg(3, 1).ID: return 8969; - case TurtleEgg::TurtleEgg(3, 2).ID: return 8970; - case TurtleEgg::TurtleEgg(4, 0).ID: return 8971; - case TurtleEgg::TurtleEgg(4, 1).ID: return 8972; - case TurtleEgg::TurtleEgg(4, 2).ID: return 8973; - case Vine::Vine(true, true, true, true, true).ID: return 4772; - case Vine::Vine(true, true, true, true, false).ID: return 4773; - case Vine::Vine(true, true, true, false, true).ID: return 4774; - case Vine::Vine(true, true, true, false, false).ID: return 4775; - case Vine::Vine(true, true, false, true, true).ID: return 4776; - case Vine::Vine(true, true, false, true, false).ID: return 4777; - case Vine::Vine(true, true, false, false, true).ID: return 4778; - case Vine::Vine(true, true, false, false, false).ID: return 4779; - case Vine::Vine(true, false, true, true, true).ID: return 4780; - case Vine::Vine(true, false, true, true, false).ID: return 4781; - case Vine::Vine(true, false, true, false, true).ID: return 4782; - case Vine::Vine(true, false, true, false, false).ID: return 4783; - case Vine::Vine(true, false, false, true, true).ID: return 4784; - case Vine::Vine(true, false, false, true, false).ID: return 4785; - case Vine::Vine(true, false, false, false, true).ID: return 4786; - case Vine::Vine(true, false, false, false, false).ID: return 4787; - case Vine::Vine(false, true, true, true, true).ID: return 4788; - case Vine::Vine(false, true, true, true, false).ID: return 4789; - case Vine::Vine(false, true, true, false, true).ID: return 4790; - case Vine::Vine(false, true, true, false, false).ID: return 4791; - case Vine::Vine(false, true, false, true, true).ID: return 4792; - case Vine::Vine(false, true, false, true, false).ID: return 4793; - case Vine::Vine(false, true, false, false, true).ID: return 4794; - case Vine::Vine(false, true, false, false, false).ID: return 4795; - case Vine::Vine(false, false, true, true, true).ID: return 4796; - case Vine::Vine(false, false, true, true, false).ID: return 4797; - case Vine::Vine(false, false, true, false, true).ID: return 4798; - case Vine::Vine(false, false, true, false, false).ID: return 4799; - case Vine::Vine(false, false, false, true, true).ID: return 4800; - case Vine::Vine(false, false, false, true, false).ID: return 4801; - case Vine::Vine(false, false, false, false, true).ID: return 4802; - case Vine::Vine(false, false, false, false, false).ID: return 4803; - case VoidAir::VoidAir().ID: return 9129; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1435; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1436; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1437; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1438; - case Water::Water(0).ID: return 34; - case Water::Water(1).ID: return 35; - case Water::Water(2).ID: return 36; - case Water::Water(3).ID: return 37; - case Water::Water(4).ID: return 38; - case Water::Water(5).ID: return 39; - case Water::Water(6).ID: return 40; - case Water::Water(7).ID: return 41; - case Water::Water(8).ID: return 42; - case Water::Water(9).ID: return 43; - case Water::Water(10).ID: return 44; - case Water::Water(11).ID: return 45; - case Water::Water(12).ID: return 46; - case Water::Water(13).ID: return 47; - case Water::Water(14).ID: return 48; - case Water::Water(15).ID: return 49; - case WetSponge::WetSponge().ID: return 229; - case Wheat::Wheat(0).ID: return 3355; - case Wheat::Wheat(1).ID: return 3356; - case Wheat::Wheat(2).ID: return 3357; - case Wheat::Wheat(3).ID: return 3358; - case Wheat::Wheat(4).ID: return 3359; - case Wheat::Wheat(5).ID: return 3360; - case Wheat::Wheat(6).ID: return 3361; - case Wheat::Wheat(7).ID: return 3362; - case WhiteBanner::WhiteBanner(0).ID: return 7361; - case WhiteBanner::WhiteBanner(1).ID: return 7362; - case WhiteBanner::WhiteBanner(2).ID: return 7363; - case WhiteBanner::WhiteBanner(3).ID: return 7364; - case WhiteBanner::WhiteBanner(4).ID: return 7365; - case WhiteBanner::WhiteBanner(5).ID: return 7366; - case WhiteBanner::WhiteBanner(6).ID: return 7367; - case WhiteBanner::WhiteBanner(7).ID: return 7368; - case WhiteBanner::WhiteBanner(8).ID: return 7369; - case WhiteBanner::WhiteBanner(9).ID: return 7370; - case WhiteBanner::WhiteBanner(10).ID: return 7371; - case WhiteBanner::WhiteBanner(11).ID: return 7372; - case WhiteBanner::WhiteBanner(12).ID: return 7373; - case WhiteBanner::WhiteBanner(13).ID: return 7374; - case WhiteBanner::WhiteBanner(14).ID: return 7375; - case WhiteBanner::WhiteBanner(15).ID: return 7376; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 1048; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 1049; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 1050; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 1051; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 1052; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 1053; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 1054; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 1055; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 1056; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 1057; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 1058; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 1059; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 1060; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 1061; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 1062; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 1063; - case WhiteCarpet::WhiteCarpet().ID: return 7330; - case WhiteConcrete::WhiteConcrete().ID: return 8902; - case WhiteConcretePowder::WhiteConcretePowder().ID: return 8918; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8838; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8839; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8840; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8841; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8742; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8743; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8744; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8745; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8746; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8747; - case WhiteStainedGlass::WhiteStainedGlass().ID: return 4081; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 6329; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 6330; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 6333; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 6334; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 6337; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 6338; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 6341; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 6342; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 6345; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 6346; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 6349; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 6350; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 6353; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 6354; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 6357; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 6358; - case WhiteTerracotta::WhiteTerracotta().ID: return 6311; - case WhiteTulip::WhiteTulip().ID: return 1418; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7617; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7618; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7619; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7620; - case WhiteWool::WhiteWool().ID: return 1383; - case WitherRose::WitherRose().ID: return 1422; - case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 5974; - case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 5975; - case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 5976; - case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 5977; - case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 5978; - case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 5979; - case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 5980; - case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 5981; - case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 5982; - case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 5983; - case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 5984; - case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 5985; - case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 5986; - case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 5987; - case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 5988; - case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 5989; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5990; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5991; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5992; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5993; - case YellowBanner::YellowBanner(0).ID: return 7425; - case YellowBanner::YellowBanner(1).ID: return 7426; - case YellowBanner::YellowBanner(2).ID: return 7427; - case YellowBanner::YellowBanner(3).ID: return 7428; - case YellowBanner::YellowBanner(4).ID: return 7429; - case YellowBanner::YellowBanner(5).ID: return 7430; - case YellowBanner::YellowBanner(6).ID: return 7431; - case YellowBanner::YellowBanner(7).ID: return 7432; - case YellowBanner::YellowBanner(8).ID: return 7433; - case YellowBanner::YellowBanner(9).ID: return 7434; - case YellowBanner::YellowBanner(10).ID: return 7435; - case YellowBanner::YellowBanner(11).ID: return 7436; - case YellowBanner::YellowBanner(12).ID: return 7437; - case YellowBanner::YellowBanner(13).ID: return 7438; - case YellowBanner::YellowBanner(14).ID: return 7439; - case YellowBanner::YellowBanner(15).ID: return 7440; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 1112; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 1113; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 1114; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 1115; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 1116; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 1117; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 1118; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 1119; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 1120; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 1121; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 1122; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 1123; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 1124; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 1125; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 1126; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 1127; - case YellowCarpet::YellowCarpet().ID: return 7334; - case YellowConcrete::YellowConcrete().ID: return 8906; - case YellowConcretePowder::YellowConcretePowder().ID: return 8922; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8854; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8855; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8856; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8857; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8766; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8767; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8768; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8769; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8770; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8771; - case YellowStainedGlass::YellowStainedGlass().ID: return 4085; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 6457; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 6458; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 6461; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 6462; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 6465; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 6466; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 6469; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 6470; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 6473; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 6474; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 6477; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 6478; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 6481; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 6482; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 6485; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 6486; - case YellowTerracotta::YellowTerracotta().ID: return 6315; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7633; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7634; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7635; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7636; - case YellowWool::YellowWool().ID: return 1387; - case ZombieHead::ZombieHead(0).ID: return 5994; - case ZombieHead::ZombieHead(1).ID: return 5995; - case ZombieHead::ZombieHead(2).ID: return 5996; - case ZombieHead::ZombieHead(3).ID: return 5997; - case ZombieHead::ZombieHead(4).ID: return 5998; - case ZombieHead::ZombieHead(5).ID: return 5999; - case ZombieHead::ZombieHead(6).ID: return 6000; - case ZombieHead::ZombieHead(7).ID: return 6001; - case ZombieHead::ZombieHead(8).ID: return 6002; - case ZombieHead::ZombieHead(9).ID: return 6003; - case ZombieHead::ZombieHead(10).ID: return 6004; - case ZombieHead::ZombieHead(11).ID: return 6005; - case ZombieHead::ZombieHead(12).ID: return 6006; - case ZombieHead::ZombieHead(13).ID: return 6007; - case ZombieHead::ZombieHead(14).ID: return 6008; - case ZombieHead::ZombieHead(15).ID: return 6009; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6010; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6011; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6012; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6013; - default: return 0; - } + switch (Block.ID) + { + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5906; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5907; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5908; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5909; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5910; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5911; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5912; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5913; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5914; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5915; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5916; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5917; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5918; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5919; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5920; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5921; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5922; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5923; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5924; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5925; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5926; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5927; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5928; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5929; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8394; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8395; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8396; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8397; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8398; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8399; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8400; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8401; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8402; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8403; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8404; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8405; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8406; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8407; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8408; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8409; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8410; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8411; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8412; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8413; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8414; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8415; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8416; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8417; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8418; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8419; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8420; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8421; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8422; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8423; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8424; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8425; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8426; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8427; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8428; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8429; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8430; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8431; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8432; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8433; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8434; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8435; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8436; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8437; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8438; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8439; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8440; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8441; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8442; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8443; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8444; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8445; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8446; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8447; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8448; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8449; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8450; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8451; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8452; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8453; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8454; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8455; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8456; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8457; + case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 8140; + case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 8141; + case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 8144; + case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 8145; + case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 8148; + case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 8149; + case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 8152; + case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 8153; + case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 8156; + case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 8157; + case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 8160; + case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 8161; + case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 8164; + case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 8165; + case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 8168; + case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 8169; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7978; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7979; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7980; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7981; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7982; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7983; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7984; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7985; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7986; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7987; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7988; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7989; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7990; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7991; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7992; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7993; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7994; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7995; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7996; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7997; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7998; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7999; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8000; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8001; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8002; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8003; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8004; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8005; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8006; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8007; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8008; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8009; + case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 200; + case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 201; + case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 202; + case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 203; + case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 204; + case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 205; + case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 206; + case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 207; + case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 208; + case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 209; + case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 210; + case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 211; + case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 212; + case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 213; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 84; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 85; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 86; + case AcaciaPlanks::AcaciaPlanks().ID: return 19; + case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3879; + case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3880; + case AcaciaSapling::AcaciaSapling(0).ID: return 29; + case AcaciaSapling::AcaciaSapling(1).ID: return 30; + case AcaciaSign::AcaciaSign(0).ID: return 3476; + case AcaciaSign::AcaciaSign(1).ID: return 3478; + case AcaciaSign::AcaciaSign(2).ID: return 3480; + case AcaciaSign::AcaciaSign(3).ID: return 3482; + case AcaciaSign::AcaciaSign(4).ID: return 3484; + case AcaciaSign::AcaciaSign(5).ID: return 3486; + case AcaciaSign::AcaciaSign(6).ID: return 3488; + case AcaciaSign::AcaciaSign(7).ID: return 3490; + case AcaciaSign::AcaciaSign(8).ID: return 3492; + case AcaciaSign::AcaciaSign(9).ID: return 3494; + case AcaciaSign::AcaciaSign(10).ID: return 3496; + case AcaciaSign::AcaciaSign(11).ID: return 3498; + case AcaciaSign::AcaciaSign(12).ID: return 3500; + case AcaciaSign::AcaciaSign(13).ID: return 3502; + case AcaciaSign::AcaciaSign(14).ID: return 3504; + case AcaciaSign::AcaciaSign(15).ID: return 3506; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 7789; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 7791; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 7793; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6840; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6842; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6844; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6846; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6848; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6850; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6852; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6854; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6856; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6858; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6860; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6862; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6864; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6866; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6868; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6870; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6872; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6874; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6876; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6878; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6880; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6882; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6884; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6886; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6888; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6890; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6892; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6894; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6896; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6898; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6900; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6902; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6904; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6906; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6908; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 6910; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 6912; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 6914; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 6916; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 6918; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4354; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4356; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4358; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4360; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4362; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4364; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4366; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4368; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4370; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4372; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4374; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4376; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4378; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4380; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4382; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4384; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4386; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4388; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4390; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4392; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4394; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4396; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4398; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4400; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4402; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4404; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4406; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4408; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4410; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4412; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4414; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4416; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3758; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3760; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3762; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3764; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 120; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 121; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 122; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 6287; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 6288; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 6289; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 6290; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 6291; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 6292; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 6293; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 6294; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 6295; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 6296; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 6297; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 6298; + case Air::Air().ID: return -0; + case Allium::Allium().ID: return 1414; + case Andesite::Andesite().ID: return 6; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Top).ID: return 10308; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Bottom).ID: return 10310; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Double).ID: return 10312; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9934; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9936; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9938; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9940; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9942; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9944; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9946; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9948; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9950; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9952; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9954; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9956; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9958; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9960; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9962; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9964; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9966; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9968; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9970; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9972; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9974; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9976; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9978; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9980; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9982; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9984; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9986; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9988; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 9990; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 9992; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 9994; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 9996; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 9998; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10000; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10002; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10004; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10006; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10008; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10010; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10012; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 10781; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 10782; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 10785; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 10786; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 10789; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 10790; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 10793; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 10794; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 10797; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 10798; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 10801; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 10802; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 10805; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 10806; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 10809; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 10810; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 10813; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 10814; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 10817; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 10818; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 10821; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 10822; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 10825; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 10826; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 10829; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 10830; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 10833; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 10834; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 10837; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 10838; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 10841; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 10842; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6074; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6075; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 6076; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 6077; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4752; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4753; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4754; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4755; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4748; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4749; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4750; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4751; + case AzureBluet::AzureBluet().ID: return 1415; + case Bamboo::Bamboo(0, Bamboo::Leaves::None, 0).ID: return 9116; + case Bamboo::Bamboo(0, Bamboo::Leaves::None, 1).ID: return 9117; + case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 0).ID: return 9118; + case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 1).ID: return 9119; + case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 0).ID: return 9120; + case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 1).ID: return 9121; + case Bamboo::Bamboo(1, Bamboo::Leaves::None, 0).ID: return 9122; + case Bamboo::Bamboo(1, Bamboo::Leaves::None, 1).ID: return 9123; + case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 0).ID: return 9124; + case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 1).ID: return 9125; + case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 0).ID: return 9126; + case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 1).ID: return 9127; + case BambooSapling::BambooSapling().ID: return 9115; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11135; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11136; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, true).ID: return 11137; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, false).ID: return 11138; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11139; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11140; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, true).ID: return 11141; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, false).ID: return 11142; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, true).ID: return 11143; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, false).ID: return 11144; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, true).ID: return 11145; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, false).ID: return 11146; + case Barrier::Barrier().ID: return 7000; + case Beacon::Beacon().ID: return 5640; + case Bedrock::Bedrock().ID: return 33; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 0).ID: return 11287; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 1).ID: return 11288; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 2).ID: return 11289; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 3).ID: return 11290; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 4).ID: return 11291; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 5).ID: return 11292; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 0).ID: return 11293; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 1).ID: return 11294; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 2).ID: return 11295; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 3).ID: return 11296; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 4).ID: return 11297; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 5).ID: return 11298; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 0).ID: return 11299; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 1).ID: return 11300; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 2).ID: return 11301; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 3).ID: return 11302; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 4).ID: return 11303; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 5).ID: return 11304; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 0).ID: return 11305; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 1).ID: return 11306; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 2).ID: return 11307; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 3).ID: return 11308; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 4).ID: return 11309; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 5).ID: return 11310; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 0).ID: return 11311; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 1).ID: return 11312; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 2).ID: return 11313; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 3).ID: return 11314; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 4).ID: return 11315; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 5).ID: return 11316; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 0).ID: return 11317; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 1).ID: return 11318; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 2).ID: return 11319; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 3).ID: return 11320; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 4).ID: return 11321; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 5).ID: return 11322; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 0).ID: return 11323; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 1).ID: return 11324; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 2).ID: return 11325; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 3).ID: return 11326; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 4).ID: return 11327; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 5).ID: return 11328; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 0).ID: return 11329; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 1).ID: return 11330; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 2).ID: return 11331; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 3).ID: return 11332; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 4).ID: return 11333; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 5).ID: return 11334; + case Beetroots::Beetroots(0).ID: return 8683; + case Beetroots::Beetroots(1).ID: return 8684; + case Beetroots::Beetroots(2).ID: return 8685; + case Beetroots::Beetroots(3).ID: return 8686; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 11198; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11199; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 11200; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11201; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 11202; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 11203; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 11204; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 11205; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 11206; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11207; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 11208; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11209; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 11210; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 11211; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 11212; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 11213; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 11214; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11215; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 11216; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11217; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, true).ID: return 11218; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 11219; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, true).ID: return 11220; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 11221; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 11222; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 11223; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 11224; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 11225; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, true).ID: return 11226; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 11227; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, true).ID: return 11228; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 11229; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5858; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5859; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5860; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5861; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5862; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5863; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5864; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5865; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5866; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5867; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5868; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5869; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5870; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5871; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5872; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5873; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5874; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5875; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5876; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5877; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5878; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5879; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5880; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5881; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8266; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8267; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8268; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8269; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8270; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8271; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8272; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8273; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8274; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8275; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8276; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8277; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8278; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8279; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8280; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8281; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8282; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8283; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8284; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8285; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8286; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8287; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8288; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8289; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8290; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8291; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8292; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8293; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8294; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8295; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8296; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8297; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8298; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8299; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8300; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8301; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8302; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8303; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8304; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8305; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8306; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8307; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8308; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8309; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8310; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8311; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8312; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8313; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8314; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8315; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8316; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8317; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8318; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8319; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8320; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8321; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8322; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8323; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8324; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8325; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8326; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8327; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8328; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8329; + case BirchFence::BirchFence(true, true, true, true).ID: return 8076; + case BirchFence::BirchFence(true, true, true, false).ID: return 8077; + case BirchFence::BirchFence(true, true, false, true).ID: return 8080; + case BirchFence::BirchFence(true, true, false, false).ID: return 8081; + case BirchFence::BirchFence(true, false, true, true).ID: return 8084; + case BirchFence::BirchFence(true, false, true, false).ID: return 8085; + case BirchFence::BirchFence(true, false, false, true).ID: return 8088; + case BirchFence::BirchFence(true, false, false, false).ID: return 8089; + case BirchFence::BirchFence(false, true, true, true).ID: return 8092; + case BirchFence::BirchFence(false, true, true, false).ID: return 8093; + case BirchFence::BirchFence(false, true, false, true).ID: return 8096; + case BirchFence::BirchFence(false, true, false, false).ID: return 8097; + case BirchFence::BirchFence(false, false, true, true).ID: return 8100; + case BirchFence::BirchFence(false, false, true, false).ID: return 8101; + case BirchFence::BirchFence(false, false, false, true).ID: return 8104; + case BirchFence::BirchFence(false, false, false, false).ID: return 8105; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7914; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7915; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7916; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7917; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7918; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7919; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7920; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7921; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7922; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7923; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7924; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7925; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7926; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7927; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7928; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7929; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7930; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7931; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7932; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7933; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7934; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7935; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7936; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7937; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7938; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7939; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7940; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7941; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7942; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7943; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7944; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7945; + case BirchLeaves::BirchLeaves(1, true).ID: return 172; + case BirchLeaves::BirchLeaves(1, false).ID: return 173; + case BirchLeaves::BirchLeaves(2, true).ID: return 174; + case BirchLeaves::BirchLeaves(2, false).ID: return 175; + case BirchLeaves::BirchLeaves(3, true).ID: return 176; + case BirchLeaves::BirchLeaves(3, false).ID: return 177; + case BirchLeaves::BirchLeaves(4, true).ID: return 178; + case BirchLeaves::BirchLeaves(4, false).ID: return 179; + case BirchLeaves::BirchLeaves(5, true).ID: return 180; + case BirchLeaves::BirchLeaves(5, false).ID: return 181; + case BirchLeaves::BirchLeaves(6, true).ID: return 182; + case BirchLeaves::BirchLeaves(6, false).ID: return 183; + case BirchLeaves::BirchLeaves(7, true).ID: return 184; + case BirchLeaves::BirchLeaves(7, false).ID: return 185; + case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 78; + case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 79; + case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 80; + case BirchPlanks::BirchPlanks().ID: return 17; + case BirchPressurePlate::BirchPressurePlate(true).ID: return 3875; + case BirchPressurePlate::BirchPressurePlate(false).ID: return 3876; + case BirchSapling::BirchSapling(0).ID: return 25; + case BirchSapling::BirchSapling(1).ID: return 26; + case BirchSign::BirchSign(0).ID: return 3444; + case BirchSign::BirchSign(1).ID: return 3446; + case BirchSign::BirchSign(2).ID: return 3448; + case BirchSign::BirchSign(3).ID: return 3450; + case BirchSign::BirchSign(4).ID: return 3452; + case BirchSign::BirchSign(5).ID: return 3454; + case BirchSign::BirchSign(6).ID: return 3456; + case BirchSign::BirchSign(7).ID: return 3458; + case BirchSign::BirchSign(8).ID: return 3460; + case BirchSign::BirchSign(9).ID: return 3462; + case BirchSign::BirchSign(10).ID: return 3464; + case BirchSign::BirchSign(11).ID: return 3466; + case BirchSign::BirchSign(12).ID: return 3468; + case BirchSign::BirchSign(13).ID: return 3470; + case BirchSign::BirchSign(14).ID: return 3472; + case BirchSign::BirchSign(15).ID: return 3474; + case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 7777; + case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 7779; + case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 7781; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5469; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5471; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5473; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5475; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5477; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5479; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5481; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5483; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5485; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5487; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5489; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5491; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5493; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5495; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5497; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5499; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5501; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5503; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5505; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5507; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5509; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5511; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5513; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5515; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5517; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5519; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5521; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5523; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5525; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5527; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5529; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5531; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5533; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5535; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5537; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5539; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5541; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5543; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5545; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5547; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: + return 4226; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: + return 4228; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: + return 4230; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: + return 4232; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4234; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4236; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4238; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4240; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: + return 4242; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: + return 4244; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: + return 4246; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: + return 4248; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4250; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4252; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4254; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4256; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: + return 4258; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: + return 4260; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: + return 4262; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: + return 4264; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4266; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4268; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4270; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4272; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: + return 4274; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: + return 4276; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: + return 4278; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: + return 4280; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4282; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4284; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4286; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4288; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3750; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3752; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3754; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3756; + case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 114; + case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 115; + case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 116; + case BlackBanner::BlackBanner(0).ID: return 7601; + case BlackBanner::BlackBanner(1).ID: return 7602; + case BlackBanner::BlackBanner(2).ID: return 7603; + case BlackBanner::BlackBanner(3).ID: return 7604; + case BlackBanner::BlackBanner(4).ID: return 7605; + case BlackBanner::BlackBanner(5).ID: return 7606; + case BlackBanner::BlackBanner(6).ID: return 7607; + case BlackBanner::BlackBanner(7).ID: return 7608; + case BlackBanner::BlackBanner(8).ID: return 7609; + case BlackBanner::BlackBanner(9).ID: return 7610; + case BlackBanner::BlackBanner(10).ID: return 7611; + case BlackBanner::BlackBanner(11).ID: return 7612; + case BlackBanner::BlackBanner(12).ID: return 7613; + case BlackBanner::BlackBanner(13).ID: return 7614; + case BlackBanner::BlackBanner(14).ID: return 7615; + case BlackBanner::BlackBanner(15).ID: return 7616; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 1288; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 1289; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 1290; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 1291; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 1292; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 1293; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 1294; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 1295; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 1296; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 1297; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 1298; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 1299; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1300; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1301; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1302; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1303; + case BlackCarpet::BlackCarpet().ID: return 7345; + case BlackConcrete::BlackConcrete().ID: return 8917; + case BlackConcretePowder::BlackConcretePowder().ID: return 8933; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8898; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8899; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8900; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8901; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8832; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8833; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8834; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8835; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8836; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8837; + case BlackStainedGlass::BlackStainedGlass().ID: return 4096; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 6809; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 6810; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 6813; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 6814; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 6817; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 6818; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 6821; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 6822; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 6825; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 6826; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 6829; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 6830; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 6833; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 6834; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 6837; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 6838; + case BlackTerracotta::BlackTerracotta().ID: return 6326; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7677; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7678; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7679; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7680; + case BlackWool::BlackWool().ID: return 1398; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11155; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11156; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11157; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11158; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 11159; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 11160; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 11161; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 11162; + case BlueBanner::BlueBanner(0).ID: return 7537; + case BlueBanner::BlueBanner(1).ID: return 7538; + case BlueBanner::BlueBanner(2).ID: return 7539; + case BlueBanner::BlueBanner(3).ID: return 7540; + case BlueBanner::BlueBanner(4).ID: return 7541; + case BlueBanner::BlueBanner(5).ID: return 7542; + case BlueBanner::BlueBanner(6).ID: return 7543; + case BlueBanner::BlueBanner(7).ID: return 7544; + case BlueBanner::BlueBanner(8).ID: return 7545; + case BlueBanner::BlueBanner(9).ID: return 7546; + case BlueBanner::BlueBanner(10).ID: return 7547; + case BlueBanner::BlueBanner(11).ID: return 7548; + case BlueBanner::BlueBanner(12).ID: return 7549; + case BlueBanner::BlueBanner(13).ID: return 7550; + case BlueBanner::BlueBanner(14).ID: return 7551; + case BlueBanner::BlueBanner(15).ID: return 7552; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 1224; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 1225; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 1226; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 1227; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 1228; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 1229; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 1230; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 1231; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 1232; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 1233; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 1234; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 1235; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 1236; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 1237; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 1238; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 1239; + case BlueCarpet::BlueCarpet().ID: return 7341; + case BlueConcrete::BlueConcrete().ID: return 8913; + case BlueConcretePowder::BlueConcretePowder().ID: return 8929; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8882; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8883; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8884; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8885; + case BlueIce::BlueIce().ID: return 9112; + case BlueOrchid::BlueOrchid().ID: return 1413; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8808; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8809; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8810; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8811; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8812; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8813; + case BlueStainedGlass::BlueStainedGlass().ID: return 4092; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 6681; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 6682; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 6685; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 6686; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 6689; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 6690; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 6693; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 6694; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 6697; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 6698; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 6701; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 6702; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 6705; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 6706; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 6709; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 6710; + case BlueTerracotta::BlueTerracotta().ID: return 6322; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7661; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7662; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7663; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7664; + case BlueWool::BlueWool().ID: return 1394; + case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 8720; + case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 8721; + case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 8722; + case Bookshelf::Bookshelf().ID: return 1431; + case BrainCoral::BrainCoral().ID: return 8997; + case BrainCoralBlock::BrainCoralBlock().ID: return 8980; + case BrainCoralFan::BrainCoralFan().ID: return 9017; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9073; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9075; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9077; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9079; + case BrewingStand::BrewingStand(true, true, true).ID: return 5117; + case BrewingStand::BrewingStand(true, true, false).ID: return 5118; + case BrewingStand::BrewingStand(true, false, true).ID: return 5119; + case BrewingStand::BrewingStand(true, false, false).ID: return 5120; + case BrewingStand::BrewingStand(false, true, true).ID: return 5121; + case BrewingStand::BrewingStand(false, true, false).ID: return 5122; + case BrewingStand::BrewingStand(false, false, true).ID: return 5123; + case BrewingStand::BrewingStand(false, false, false).ID: return 5124; + case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 7837; + case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 7839; + case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 7841; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4837; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4839; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4841; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4843; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4845; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4847; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4849; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4851; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4853; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4855; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4857; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4859; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4861; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4863; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4865; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4867; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4869; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4871; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4873; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4875; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4877; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4879; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4881; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4883; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4885; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4887; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4889; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4891; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4893; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4895; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4897; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4899; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4901; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4903; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4905; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4907; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4909; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4911; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4913; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4915; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10333; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10334; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10337; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10338; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10341; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10342; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10345; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10346; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10349; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10350; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10353; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10354; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10357; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10358; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10361; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10362; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10365; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10366; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10369; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10370; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10373; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10374; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10377; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10378; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10381; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10382; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10385; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10386; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10389; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10390; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10393; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10394; + case Bricks::Bricks().ID: return 1428; + case BrownBanner::BrownBanner(0).ID: return 7553; + case BrownBanner::BrownBanner(1).ID: return 7554; + case BrownBanner::BrownBanner(2).ID: return 7555; + case BrownBanner::BrownBanner(3).ID: return 7556; + case BrownBanner::BrownBanner(4).ID: return 7557; + case BrownBanner::BrownBanner(5).ID: return 7558; + case BrownBanner::BrownBanner(6).ID: return 7559; + case BrownBanner::BrownBanner(7).ID: return 7560; + case BrownBanner::BrownBanner(8).ID: return 7561; + case BrownBanner::BrownBanner(9).ID: return 7562; + case BrownBanner::BrownBanner(10).ID: return 7563; + case BrownBanner::BrownBanner(11).ID: return 7564; + case BrownBanner::BrownBanner(12).ID: return 7565; + case BrownBanner::BrownBanner(13).ID: return 7566; + case BrownBanner::BrownBanner(14).ID: return 7567; + case BrownBanner::BrownBanner(15).ID: return 7568; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 1240; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 1241; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 1242; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 1243; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 1244; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 1245; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 1246; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 1247; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 1248; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 1249; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 1250; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 1251; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 1252; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 1253; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 1254; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 1255; + case BrownCarpet::BrownCarpet().ID: return 7342; + case BrownConcrete::BrownConcrete().ID: return 8914; + case BrownConcretePowder::BrownConcretePowder().ID: return 8930; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8886; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8887; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8888; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8889; + case BrownMushroom::BrownMushroom().ID: return 1424; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 4491; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 4492; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 4493; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 4494; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 4495; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 4496; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 4497; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 4498; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 4499; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 4500; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 4501; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 4502; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 4503; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4504; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4505; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4506; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4507; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4508; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4509; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4510; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4511; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4512; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4513; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4514; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4515; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4516; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4517; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4518; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4519; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4520; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4521; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4522; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4523; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4524; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4525; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4526; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4527; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4528; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4529; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4530; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4531; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4532; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4533; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4534; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4535; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4536; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4537; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4538; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4539; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4540; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4541; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4542; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4543; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4544; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4545; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4546; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4547; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4548; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4549; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4550; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4551; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4552; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4553; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4554; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8814; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8815; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8816; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8817; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8818; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8819; + case BrownStainedGlass::BrownStainedGlass().ID: return 4093; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 6713; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 6714; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 6717; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 6718; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 6721; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 6722; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 6725; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 6726; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 6729; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 6730; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 6733; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 6734; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 6737; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 6738; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 6741; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 6742; + case BrownTerracotta::BrownTerracotta().ID: return 6323; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7665; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7666; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7667; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7668; + case BrownWool::BrownWool().ID: return 1395; + case BubbleColumn::BubbleColumn(true).ID: return 9131; + case BubbleColumn::BubbleColumn(false).ID: return 9132; + case BubbleCoral::BubbleCoral().ID: return 8999; + case BubbleCoralBlock::BubbleCoralBlock().ID: return 8981; + case BubbleCoralFan::BubbleCoralFan().ID: return 9019; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9081; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9083; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9085; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9087; + case Cactus::Cactus(0).ID: return 3929; + case Cactus::Cactus(1).ID: return 3930; + case Cactus::Cactus(2).ID: return 3931; + case Cactus::Cactus(3).ID: return 3932; + case Cactus::Cactus(4).ID: return 3933; + case Cactus::Cactus(5).ID: return 3934; + case Cactus::Cactus(6).ID: return 3935; + case Cactus::Cactus(7).ID: return 3936; + case Cactus::Cactus(8).ID: return 3937; + case Cactus::Cactus(9).ID: return 3938; + case Cactus::Cactus(10).ID: return 3939; + case Cactus::Cactus(11).ID: return 3940; + case Cactus::Cactus(12).ID: return 3941; + case Cactus::Cactus(13).ID: return 3942; + case Cactus::Cactus(14).ID: return 3943; + case Cactus::Cactus(15).ID: return 3944; + case Cake::Cake(0).ID: return 4010; + case Cake::Cake(1).ID: return 4011; + case Cake::Cake(2).ID: return 4012; + case Cake::Cake(3).ID: return 4013; + case Cake::Cake(4).ID: return 4014; + case Cake::Cake(5).ID: return 4015; + case Cake::Cake(6).ID: return 4016; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 11233; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 11235; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 11237; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 11239; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 11241; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 11243; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 11245; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 11247; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 11249; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 11251; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 11253; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 11255; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 11257; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 11259; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 11261; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 11263; + case Carrots::Carrots(0).ID: return 5794; + case Carrots::Carrots(1).ID: return 5795; + case Carrots::Carrots(2).ID: return 5796; + case Carrots::Carrots(3).ID: return 5797; + case Carrots::Carrots(4).ID: return 5798; + case Carrots::Carrots(5).ID: return 5799; + case Carrots::Carrots(6).ID: return 5800; + case Carrots::Carrots(7).ID: return 5801; + case CartographyTable::CartographyTable().ID: return 11163; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 4002; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 4003; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 4004; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 4005; + case Cauldron::Cauldron(0).ID: return 5125; + case Cauldron::Cauldron(1).ID: return 5126; + case Cauldron::Cauldron(2).ID: return 5127; + case Cauldron::Cauldron(3).ID: return 5128; + case CaveAir::CaveAir().ID: return 9130; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8701; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8702; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8703; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8704; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8705; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8706; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8707; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8708; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8709; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8710; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8711; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8712; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 2033; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 2035; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 2037; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 2039; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 2041; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 2043; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 2045; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 2047; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 2049; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 2051; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 2053; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 2055; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6078; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6079; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6080; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6081; + case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 6203; + case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 7682; + case ChiseledSandstone::ChiseledSandstone().ID: return 246; + case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 4484; + case ChorusFlower::ChorusFlower(0).ID: return 8592; + case ChorusFlower::ChorusFlower(1).ID: return 8593; + case ChorusFlower::ChorusFlower(2).ID: return 8594; + case ChorusFlower::ChorusFlower(3).ID: return 8595; + case ChorusFlower::ChorusFlower(4).ID: return 8596; + case ChorusFlower::ChorusFlower(5).ID: return 8597; + case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 8528; + case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 8529; + case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 8530; + case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 8531; + case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 8532; + case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 8533; + case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 8534; + case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 8535; + case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 8536; + case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 8537; + case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 8538; + case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 8539; + case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 8540; + case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 8541; + case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 8542; + case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 8543; + case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 8544; + case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 8545; + case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 8546; + case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 8547; + case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 8548; + case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 8549; + case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 8550; + case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 8551; + case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 8552; + case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 8553; + case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 8554; + case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 8555; + case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 8556; + case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 8557; + case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 8558; + case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 8559; + case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 8560; + case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 8561; + case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 8562; + case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 8563; + case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 8564; + case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 8565; + case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 8566; + case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 8567; + case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 8568; + case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 8569; + case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 8570; + case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 8571; + case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 8572; + case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 8573; + case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 8574; + case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 8575; + case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 8576; + case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 8577; + case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 8578; + case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 8579; + case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 8580; + case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 8581; + case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 8582; + case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 8583; + case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 8584; + case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 8585; + case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 8586; + case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 8587; + case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 8588; + case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 8589; + case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 8590; + case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 8591; + case Clay::Clay().ID: return 3945; + case CoalBlock::CoalBlock().ID: return 7347; + case CoalOre::CoalOre().ID: return 71; + case CoarseDirt::CoarseDirt().ID: return 11; + case Cobblestone::Cobblestone().ID: return 14; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 7831; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 7833; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 7835; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3654; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3656; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3658; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3660; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3662; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3664; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3666; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3668; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3670; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3672; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3674; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3676; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3678; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3680; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3682; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3684; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3686; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3688; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3690; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3692; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3694; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3696; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3698; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3700; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3702; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3704; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3706; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3708; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3710; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3712; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3714; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3716; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3718; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3720; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3722; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3724; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3726; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3728; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3730; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3732; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5643; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5644; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5647; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5648; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5651; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5652; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5655; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5656; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5659; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5660; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5663; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5664; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5667; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5668; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5671; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5672; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5675; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5676; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5679; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5680; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5683; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5684; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5687; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5688; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5691; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5692; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5695; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5696; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5699; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5700; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5703; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5704; + case Cobweb::Cobweb().ID: return 1340; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 5142; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 5143; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 5144; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 5145; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 5146; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 5147; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 5148; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 5149; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 5150; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 5151; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 5152; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 5153; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5628; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5629; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5630; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5631; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5632; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5633; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5634; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5635; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5636; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5637; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5638; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5639; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 6142; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 6143; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 6144; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 6145; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 6146; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 6147; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 6148; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 6149; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 6150; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 6151; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 6152; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 6153; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 6154; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 6155; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 6156; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 6157; + case Composter::Composter(0).ID: return 11278; + case Composter::Composter(1).ID: return 11279; + case Composter::Composter(2).ID: return 11280; + case Composter::Composter(3).ID: return 11281; + case Composter::Composter(4).ID: return 11282; + case Composter::Composter(5).ID: return 11283; + case Composter::Composter(6).ID: return 11284; + case Composter::Composter(7).ID: return 11285; + case Composter::Composter(8).ID: return 11286; + case Conduit::Conduit().ID: return 9114; + case Cornflower::Cornflower().ID: return 1421; + case CrackedStoneBricks::CrackedStoneBricks().ID: return 4483; + case CraftingTable::CraftingTable().ID: return 3354; + case CreeperHead::CreeperHead(0).ID: return 6034; + case CreeperHead::CreeperHead(1).ID: return 6035; + case CreeperHead::CreeperHead(2).ID: return 6036; + case CreeperHead::CreeperHead(3).ID: return 6037; + case CreeperHead::CreeperHead(4).ID: return 6038; + case CreeperHead::CreeperHead(5).ID: return 6039; + case CreeperHead::CreeperHead(6).ID: return 6040; + case CreeperHead::CreeperHead(7).ID: return 6041; + case CreeperHead::CreeperHead(8).ID: return 6042; + case CreeperHead::CreeperHead(9).ID: return 6043; + case CreeperHead::CreeperHead(10).ID: return 6044; + case CreeperHead::CreeperHead(11).ID: return 6045; + case CreeperHead::CreeperHead(12).ID: return 6046; + case CreeperHead::CreeperHead(13).ID: return 6047; + case CreeperHead::CreeperHead(14).ID: return 6048; + case CreeperHead::CreeperHead(15).ID: return 6049; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6050; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6051; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6052; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6053; + case CutRedSandstone::CutRedSandstone().ID: return 7683; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Top).ID: return 7867; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Bottom).ID: return 7869; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Double).ID: return 7871; + case CutSandstone::CutSandstone().ID: return 247; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Top).ID: return 7819; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Bottom).ID: return 7821; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Double).ID: return 7823; + case CyanBanner::CyanBanner(0).ID: return 7505; + case CyanBanner::CyanBanner(1).ID: return 7506; + case CyanBanner::CyanBanner(2).ID: return 7507; + case CyanBanner::CyanBanner(3).ID: return 7508; + case CyanBanner::CyanBanner(4).ID: return 7509; + case CyanBanner::CyanBanner(5).ID: return 7510; + case CyanBanner::CyanBanner(6).ID: return 7511; + case CyanBanner::CyanBanner(7).ID: return 7512; + case CyanBanner::CyanBanner(8).ID: return 7513; + case CyanBanner::CyanBanner(9).ID: return 7514; + case CyanBanner::CyanBanner(10).ID: return 7515; + case CyanBanner::CyanBanner(11).ID: return 7516; + case CyanBanner::CyanBanner(12).ID: return 7517; + case CyanBanner::CyanBanner(13).ID: return 7518; + case CyanBanner::CyanBanner(14).ID: return 7519; + case CyanBanner::CyanBanner(15).ID: return 7520; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 1192; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 1193; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 1194; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 1195; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 1196; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 1197; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 1198; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 1199; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 1200; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 1201; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 1202; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 1203; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 1204; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 1205; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 1206; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 1207; + case CyanCarpet::CyanCarpet().ID: return 7339; + case CyanConcrete::CyanConcrete().ID: return 8911; + case CyanConcretePowder::CyanConcretePowder().ID: return 8927; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8874; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8875; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8876; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8877; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8796; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8797; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8798; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8799; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8800; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8801; + case CyanStainedGlass::CyanStainedGlass().ID: return 4090; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 6617; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 6618; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 6621; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 6622; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 6625; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 6626; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 6629; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 6630; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 6633; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 6634; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 6637; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 6638; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 6641; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 6642; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 6645; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 6646; + case CyanTerracotta::CyanTerracotta().ID: return 6320; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7653; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7654; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7655; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7656; + case CyanWool::CyanWool().ID: return 1392; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6082; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6083; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6084; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6085; + case Dandelion::Dandelion().ID: return 1411; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5930; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5931; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5932; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5933; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5934; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5935; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5936; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5937; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5938; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5939; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5940; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5941; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5942; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5943; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5944; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5945; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: + return 5946; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: + return 5947; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: + return 5948; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: + return 5949; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: + return 5950; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: + return 5951; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: + return 5952; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: + return 5953; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8458; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8459; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8460; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8461; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8462; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8463; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8464; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8465; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8466; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8467; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8468; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8469; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8470; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8471; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8472; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8473; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8474; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8475; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8476; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8477; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8478; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8479; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8480; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8481; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8482; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8483; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8484; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8485; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8486; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8487; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8488; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8489; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8490; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8491; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8492; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8493; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8494; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8495; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8496; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8497; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8498; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8499; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8500; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8501; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8502; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8503; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8504; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8505; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8506; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8507; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8508; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8509; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8510; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8511; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8512; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8513; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8514; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8515; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8516; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8517; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8518; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8519; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 8520; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 8521; + case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 8172; + case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 8173; + case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 8176; + case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 8177; + case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 8180; + case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 8181; + case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 8184; + case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 8185; + case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 8188; + case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 8189; + case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 8192; + case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 8193; + case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 8196; + case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 8197; + case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 8200; + case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 8201; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8010; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8011; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8012; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8013; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8014; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8015; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8016; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8017; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8018; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8019; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8020; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8021; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8022; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8023; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8024; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8025; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8026; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8027; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8028; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8029; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8030; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8031; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8032; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8033; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8034; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8035; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8036; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8037; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8038; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8039; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8040; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8041; + case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 214; + case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 215; + case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 216; + case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 217; + case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 218; + case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 219; + case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 220; + case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 221; + case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 222; + case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 223; + case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 224; + case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 225; + case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 226; + case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 227; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 87; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 88; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 89; + case DarkOakPlanks::DarkOakPlanks().ID: return 20; + case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3881; + case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3882; + case DarkOakSapling::DarkOakSapling(0).ID: return 31; + case DarkOakSapling::DarkOakSapling(1).ID: return 32; + case DarkOakSign::DarkOakSign(0).ID: return 3540; + case DarkOakSign::DarkOakSign(1).ID: return 3542; + case DarkOakSign::DarkOakSign(2).ID: return 3544; + case DarkOakSign::DarkOakSign(3).ID: return 3546; + case DarkOakSign::DarkOakSign(4).ID: return 3548; + case DarkOakSign::DarkOakSign(5).ID: return 3550; + case DarkOakSign::DarkOakSign(6).ID: return 3552; + case DarkOakSign::DarkOakSign(7).ID: return 3554; + case DarkOakSign::DarkOakSign(8).ID: return 3556; + case DarkOakSign::DarkOakSign(9).ID: return 3558; + case DarkOakSign::DarkOakSign(10).ID: return 3560; + case DarkOakSign::DarkOakSign(11).ID: return 3562; + case DarkOakSign::DarkOakSign(12).ID: return 3564; + case DarkOakSign::DarkOakSign(13).ID: return 3566; + case DarkOakSign::DarkOakSign(14).ID: return 3568; + case DarkOakSign::DarkOakSign(15).ID: return 3570; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 7795; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 7797; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 7799; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6920; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6922; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6924; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6926; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6928; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6930; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6932; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6934; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6936; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6938; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6940; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6942; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6944; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6946; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6948; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6950; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6952; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6954; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6956; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6958; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6960; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6962; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6964; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6966; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6968; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6970; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6972; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6974; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6976; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6978; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6980; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6982; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6984; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6986; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6988; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 6990; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 6992; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 6994; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 6996; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 6998; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4418; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4420; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4422; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4424; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4426; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4428; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4430; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4432; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4434; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4436; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4438; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4440; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4442; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4444; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4446; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4448; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4450; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4452; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4454; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4456; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4458; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4460; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4462; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4464; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4466; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4468; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4470; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4472; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4474; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4476; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4478; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4480; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3774; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3776; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3778; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3780; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 123; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 124; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 125; + case DarkPrismarine::DarkPrismarine().ID: return 7067; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 7321; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 7323; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 7325; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7229; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7231; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7233; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7235; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7237; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7239; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7241; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7243; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7245; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7247; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7249; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7251; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7253; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7255; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7257; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7259; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7261; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7263; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7265; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7267; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7269; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7271; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7273; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7275; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7277; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7279; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7281; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7283; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7285; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7287; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7289; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7291; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7293; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7295; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7297; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7299; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7301; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7303; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7305; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7307; + case DaylightDetector::DaylightDetector(true, 0).ID: return 6158; + case DaylightDetector::DaylightDetector(true, 1).ID: return 6159; + case DaylightDetector::DaylightDetector(true, 2).ID: return 6160; + case DaylightDetector::DaylightDetector(true, 3).ID: return 6161; + case DaylightDetector::DaylightDetector(true, 4).ID: return 6162; + case DaylightDetector::DaylightDetector(true, 5).ID: return 6163; + case DaylightDetector::DaylightDetector(true, 6).ID: return 6164; + case DaylightDetector::DaylightDetector(true, 7).ID: return 6165; + case DaylightDetector::DaylightDetector(true, 8).ID: return 6166; + case DaylightDetector::DaylightDetector(true, 9).ID: return 6167; + case DaylightDetector::DaylightDetector(true, 10).ID: return 6168; + case DaylightDetector::DaylightDetector(true, 11).ID: return 6169; + case DaylightDetector::DaylightDetector(true, 12).ID: return 6170; + case DaylightDetector::DaylightDetector(true, 13).ID: return 6171; + case DaylightDetector::DaylightDetector(true, 14).ID: return 6172; + case DaylightDetector::DaylightDetector(true, 15).ID: return 6173; + case DaylightDetector::DaylightDetector(false, 0).ID: return 6174; + case DaylightDetector::DaylightDetector(false, 1).ID: return 6175; + case DaylightDetector::DaylightDetector(false, 2).ID: return 6176; + case DaylightDetector::DaylightDetector(false, 3).ID: return 6177; + case DaylightDetector::DaylightDetector(false, 4).ID: return 6178; + case DaylightDetector::DaylightDetector(false, 5).ID: return 6179; + case DaylightDetector::DaylightDetector(false, 6).ID: return 6180; + case DaylightDetector::DaylightDetector(false, 7).ID: return 6181; + case DaylightDetector::DaylightDetector(false, 8).ID: return 6182; + case DaylightDetector::DaylightDetector(false, 9).ID: return 6183; + case DaylightDetector::DaylightDetector(false, 10).ID: return 6184; + case DaylightDetector::DaylightDetector(false, 11).ID: return 6185; + case DaylightDetector::DaylightDetector(false, 12).ID: return 6186; + case DaylightDetector::DaylightDetector(false, 13).ID: return 6187; + case DaylightDetector::DaylightDetector(false, 14).ID: return 6188; + case DaylightDetector::DaylightDetector(false, 15).ID: return 6189; + case DeadBrainCoral::DeadBrainCoral().ID: return 8987; + case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 8975; + case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 9007; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9033; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9035; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9037; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9039; + case DeadBubbleCoral::DeadBubbleCoral().ID: return 8989; + case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 8976; + case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 9009; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9041; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9043; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9045; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9047; + case DeadBush::DeadBush().ID: return 1343; + case DeadFireCoral::DeadFireCoral().ID: return 8991; + case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 8977; + case DeadFireCoralFan::DeadFireCoralFan().ID: return 9011; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9049; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9051; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9053; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9055; + case DeadHornCoral::DeadHornCoral().ID: return 8993; + case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 8978; + case DeadHornCoralFan::DeadHornCoralFan().ID: return 9013; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9057; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9059; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9061; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9063; + case DeadTubeCoral::DeadTubeCoral().ID: return 8985; + case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 8974; + case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 9005; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9025; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9027; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9029; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9031; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1316; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1317; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1318; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1319; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1320; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1321; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1322; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1323; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1324; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1325; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1326; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1327; + case DiamondBlock::DiamondBlock().ID: return 3353; + case DiamondOre::DiamondOre().ID: return 3352; + case Diorite::Diorite().ID: return 4; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Top).ID: return 10326; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Bottom).ID: return 10328; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Double).ID: return 10330; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10174; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10176; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10178; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10180; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10182; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10184; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10186; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10188; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10190; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10192; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10194; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10196; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10198; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10200; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10202; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10204; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10206; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10208; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10210; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10212; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10214; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10216; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10218; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10220; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10222; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10224; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10226; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10228; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10230; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10232; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10234; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10236; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10238; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10240; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10242; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10244; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10246; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10248; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10250; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10252; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 11037; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 11038; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 11041; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 11042; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 11045; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 11046; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 11049; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 11050; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 11053; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 11054; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 11057; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 11058; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 11061; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 11062; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 11065; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 11066; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 11069; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 11070; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 11073; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 11074; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 11077; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 11078; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 11081; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 11082; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 11085; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 11086; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 11089; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 11090; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 11093; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 11094; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 11097; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 11098; + case Dirt::Dirt().ID: return 10; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 233; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 234; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 235; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 236; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 237; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 238; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 239; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 240; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 241; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 242; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 243; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 244; + case DragonEgg::DragonEgg().ID: return 5139; + case DragonHead::DragonHead(0).ID: return 6054; + case DragonHead::DragonHead(1).ID: return 6055; + case DragonHead::DragonHead(2).ID: return 6056; + case DragonHead::DragonHead(3).ID: return 6057; + case DragonHead::DragonHead(4).ID: return 6058; + case DragonHead::DragonHead(5).ID: return 6059; + case DragonHead::DragonHead(6).ID: return 6060; + case DragonHead::DragonHead(7).ID: return 6061; + case DragonHead::DragonHead(8).ID: return 6062; + case DragonHead::DragonHead(9).ID: return 6063; + case DragonHead::DragonHead(10).ID: return 6064; + case DragonHead::DragonHead(11).ID: return 6065; + case DragonHead::DragonHead(12).ID: return 6066; + case DragonHead::DragonHead(13).ID: return 6067; + case DragonHead::DragonHead(14).ID: return 6068; + case DragonHead::DragonHead(15).ID: return 6069; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6070; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6071; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6072; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6073; + case DriedKelpBlock::DriedKelpBlock().ID: return 8961; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 6299; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 6300; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 6301; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 6302; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 6303; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 6304; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 6305; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 6306; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 6307; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 6308; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 6309; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 6310; + case EmeraldBlock::EmeraldBlock().ID: return 5387; + case EmeraldOre::EmeraldOre().ID: return 5234; + case EnchantingTable::EnchantingTable().ID: return 5116; + case EndGateway::EndGateway().ID: return 8688; + case EndPortal::EndPortal().ID: return 5129; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5130; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5131; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 5132; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 5133; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5134; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5135; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 5136; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 5137; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 8522; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 8523; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 8524; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 8525; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 8526; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 8527; + case EndStone::EndStone().ID: return 5138; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Top).ID: return 10284; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Bottom).ID: return 10286; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Double).ID: return 10288; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9534; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9536; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9538; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9540; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9542; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9544; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9546; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9548; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9550; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9552; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9554; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9556; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9558; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9560; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9562; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9564; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9566; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9568; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9570; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9572; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9574; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9576; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9578; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9580; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9582; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9584; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9586; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9588; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9590; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9592; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9594; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9596; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9598; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9600; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9602; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 9604; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9606; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9608; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9610; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9612; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 10973; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 10974; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 10977; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 10978; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 10981; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 10982; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 10985; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 10986; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 10989; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 10990; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 10993; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 10994; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 10997; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 10998; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11001; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11002; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 11005; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 11006; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11009; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11010; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 11013; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 11014; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11017; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11018; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 11021; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 11022; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11025; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11026; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 11029; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 11030; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 11033; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 11034; + case EndStoneBricks::EndStoneBricks().ID: return 8682; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 5236; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 5238; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 5240; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 5242; + case Farmland::Farmland(0).ID: return 3363; + case Farmland::Farmland(1).ID: return 3364; + case Farmland::Farmland(2).ID: return 3365; + case Farmland::Farmland(3).ID: return 3366; + case Farmland::Farmland(4).ID: return 3367; + case Farmland::Farmland(5).ID: return 3368; + case Farmland::Farmland(6).ID: return 3369; + case Farmland::Farmland(7).ID: return 3370; + case Fern::Fern().ID: return 1342; + case Fire::Fire(0, true, true, true, true, true).ID: return 1439; + case Fire::Fire(0, true, true, true, true, false).ID: return 1440; + case Fire::Fire(0, true, true, true, false, true).ID: return 1441; + case Fire::Fire(0, true, true, true, false, false).ID: return 1442; + case Fire::Fire(0, true, true, false, true, true).ID: return 1443; + case Fire::Fire(0, true, true, false, true, false).ID: return 1444; + case Fire::Fire(0, true, true, false, false, true).ID: return 1445; + case Fire::Fire(0, true, true, false, false, false).ID: return 1446; + case Fire::Fire(0, true, false, true, true, true).ID: return 1447; + case Fire::Fire(0, true, false, true, true, false).ID: return 1448; + case Fire::Fire(0, true, false, true, false, true).ID: return 1449; + case Fire::Fire(0, true, false, true, false, false).ID: return 1450; + case Fire::Fire(0, true, false, false, true, true).ID: return 1451; + case Fire::Fire(0, true, false, false, true, false).ID: return 1452; + case Fire::Fire(0, true, false, false, false, true).ID: return 1453; + case Fire::Fire(0, true, false, false, false, false).ID: return 1454; + case Fire::Fire(0, false, true, true, true, true).ID: return 1455; + case Fire::Fire(0, false, true, true, true, false).ID: return 1456; + case Fire::Fire(0, false, true, true, false, true).ID: return 1457; + case Fire::Fire(0, false, true, true, false, false).ID: return 1458; + case Fire::Fire(0, false, true, false, true, true).ID: return 1459; + case Fire::Fire(0, false, true, false, true, false).ID: return 1460; + case Fire::Fire(0, false, true, false, false, true).ID: return 1461; + case Fire::Fire(0, false, true, false, false, false).ID: return 1462; + case Fire::Fire(0, false, false, true, true, true).ID: return 1463; + case Fire::Fire(0, false, false, true, true, false).ID: return 1464; + case Fire::Fire(0, false, false, true, false, true).ID: return 1465; + case Fire::Fire(0, false, false, true, false, false).ID: return 1466; + case Fire::Fire(0, false, false, false, true, true).ID: return 1467; + case Fire::Fire(0, false, false, false, true, false).ID: return 1468; + case Fire::Fire(0, false, false, false, false, true).ID: return 1469; + case Fire::Fire(0, false, false, false, false, false).ID: return 1470; + case Fire::Fire(1, true, true, true, true, true).ID: return 1471; + case Fire::Fire(1, true, true, true, true, false).ID: return 1472; + case Fire::Fire(1, true, true, true, false, true).ID: return 1473; + case Fire::Fire(1, true, true, true, false, false).ID: return 1474; + case Fire::Fire(1, true, true, false, true, true).ID: return 1475; + case Fire::Fire(1, true, true, false, true, false).ID: return 1476; + case Fire::Fire(1, true, true, false, false, true).ID: return 1477; + case Fire::Fire(1, true, true, false, false, false).ID: return 1478; + case Fire::Fire(1, true, false, true, true, true).ID: return 1479; + case Fire::Fire(1, true, false, true, true, false).ID: return 1480; + case Fire::Fire(1, true, false, true, false, true).ID: return 1481; + case Fire::Fire(1, true, false, true, false, false).ID: return 1482; + case Fire::Fire(1, true, false, false, true, true).ID: return 1483; + case Fire::Fire(1, true, false, false, true, false).ID: return 1484; + case Fire::Fire(1, true, false, false, false, true).ID: return 1485; + case Fire::Fire(1, true, false, false, false, false).ID: return 1486; + case Fire::Fire(1, false, true, true, true, true).ID: return 1487; + case Fire::Fire(1, false, true, true, true, false).ID: return 1488; + case Fire::Fire(1, false, true, true, false, true).ID: return 1489; + case Fire::Fire(1, false, true, true, false, false).ID: return 1490; + case Fire::Fire(1, false, true, false, true, true).ID: return 1491; + case Fire::Fire(1, false, true, false, true, false).ID: return 1492; + case Fire::Fire(1, false, true, false, false, true).ID: return 1493; + case Fire::Fire(1, false, true, false, false, false).ID: return 1494; + case Fire::Fire(1, false, false, true, true, true).ID: return 1495; + case Fire::Fire(1, false, false, true, true, false).ID: return 1496; + case Fire::Fire(1, false, false, true, false, true).ID: return 1497; + case Fire::Fire(1, false, false, true, false, false).ID: return 1498; + case Fire::Fire(1, false, false, false, true, true).ID: return 1499; + case Fire::Fire(1, false, false, false, true, false).ID: return 1500; + case Fire::Fire(1, false, false, false, false, true).ID: return 1501; + case Fire::Fire(1, false, false, false, false, false).ID: return 1502; + case Fire::Fire(2, true, true, true, true, true).ID: return 1503; + case Fire::Fire(2, true, true, true, true, false).ID: return 1504; + case Fire::Fire(2, true, true, true, false, true).ID: return 1505; + case Fire::Fire(2, true, true, true, false, false).ID: return 1506; + case Fire::Fire(2, true, true, false, true, true).ID: return 1507; + case Fire::Fire(2, true, true, false, true, false).ID: return 1508; + case Fire::Fire(2, true, true, false, false, true).ID: return 1509; + case Fire::Fire(2, true, true, false, false, false).ID: return 1510; + case Fire::Fire(2, true, false, true, true, true).ID: return 1511; + case Fire::Fire(2, true, false, true, true, false).ID: return 1512; + case Fire::Fire(2, true, false, true, false, true).ID: return 1513; + case Fire::Fire(2, true, false, true, false, false).ID: return 1514; + case Fire::Fire(2, true, false, false, true, true).ID: return 1515; + case Fire::Fire(2, true, false, false, true, false).ID: return 1516; + case Fire::Fire(2, true, false, false, false, true).ID: return 1517; + case Fire::Fire(2, true, false, false, false, false).ID: return 1518; + case Fire::Fire(2, false, true, true, true, true).ID: return 1519; + case Fire::Fire(2, false, true, true, true, false).ID: return 1520; + case Fire::Fire(2, false, true, true, false, true).ID: return 1521; + case Fire::Fire(2, false, true, true, false, false).ID: return 1522; + case Fire::Fire(2, false, true, false, true, true).ID: return 1523; + case Fire::Fire(2, false, true, false, true, false).ID: return 1524; + case Fire::Fire(2, false, true, false, false, true).ID: return 1525; + case Fire::Fire(2, false, true, false, false, false).ID: return 1526; + case Fire::Fire(2, false, false, true, true, true).ID: return 1527; + case Fire::Fire(2, false, false, true, true, false).ID: return 1528; + case Fire::Fire(2, false, false, true, false, true).ID: return 1529; + case Fire::Fire(2, false, false, true, false, false).ID: return 1530; + case Fire::Fire(2, false, false, false, true, true).ID: return 1531; + case Fire::Fire(2, false, false, false, true, false).ID: return 1532; + case Fire::Fire(2, false, false, false, false, true).ID: return 1533; + case Fire::Fire(2, false, false, false, false, false).ID: return 1534; + case Fire::Fire(3, true, true, true, true, true).ID: return 1535; + case Fire::Fire(3, true, true, true, true, false).ID: return 1536; + case Fire::Fire(3, true, true, true, false, true).ID: return 1537; + case Fire::Fire(3, true, true, true, false, false).ID: return 1538; + case Fire::Fire(3, true, true, false, true, true).ID: return 1539; + case Fire::Fire(3, true, true, false, true, false).ID: return 1540; + case Fire::Fire(3, true, true, false, false, true).ID: return 1541; + case Fire::Fire(3, true, true, false, false, false).ID: return 1542; + case Fire::Fire(3, true, false, true, true, true).ID: return 1543; + case Fire::Fire(3, true, false, true, true, false).ID: return 1544; + case Fire::Fire(3, true, false, true, false, true).ID: return 1545; + case Fire::Fire(3, true, false, true, false, false).ID: return 1546; + case Fire::Fire(3, true, false, false, true, true).ID: return 1547; + case Fire::Fire(3, true, false, false, true, false).ID: return 1548; + case Fire::Fire(3, true, false, false, false, true).ID: return 1549; + case Fire::Fire(3, true, false, false, false, false).ID: return 1550; + case Fire::Fire(3, false, true, true, true, true).ID: return 1551; + case Fire::Fire(3, false, true, true, true, false).ID: return 1552; + case Fire::Fire(3, false, true, true, false, true).ID: return 1553; + case Fire::Fire(3, false, true, true, false, false).ID: return 1554; + case Fire::Fire(3, false, true, false, true, true).ID: return 1555; + case Fire::Fire(3, false, true, false, true, false).ID: return 1556; + case Fire::Fire(3, false, true, false, false, true).ID: return 1557; + case Fire::Fire(3, false, true, false, false, false).ID: return 1558; + case Fire::Fire(3, false, false, true, true, true).ID: return 1559; + case Fire::Fire(3, false, false, true, true, false).ID: return 1560; + case Fire::Fire(3, false, false, true, false, true).ID: return 1561; + case Fire::Fire(3, false, false, true, false, false).ID: return 1562; + case Fire::Fire(3, false, false, false, true, true).ID: return 1563; + case Fire::Fire(3, false, false, false, true, false).ID: return 1564; + case Fire::Fire(3, false, false, false, false, true).ID: return 1565; + case Fire::Fire(3, false, false, false, false, false).ID: return 1566; + case Fire::Fire(4, true, true, true, true, true).ID: return 1567; + case Fire::Fire(4, true, true, true, true, false).ID: return 1568; + case Fire::Fire(4, true, true, true, false, true).ID: return 1569; + case Fire::Fire(4, true, true, true, false, false).ID: return 1570; + case Fire::Fire(4, true, true, false, true, true).ID: return 1571; + case Fire::Fire(4, true, true, false, true, false).ID: return 1572; + case Fire::Fire(4, true, true, false, false, true).ID: return 1573; + case Fire::Fire(4, true, true, false, false, false).ID: return 1574; + case Fire::Fire(4, true, false, true, true, true).ID: return 1575; + case Fire::Fire(4, true, false, true, true, false).ID: return 1576; + case Fire::Fire(4, true, false, true, false, true).ID: return 1577; + case Fire::Fire(4, true, false, true, false, false).ID: return 1578; + case Fire::Fire(4, true, false, false, true, true).ID: return 1579; + case Fire::Fire(4, true, false, false, true, false).ID: return 1580; + case Fire::Fire(4, true, false, false, false, true).ID: return 1581; + case Fire::Fire(4, true, false, false, false, false).ID: return 1582; + case Fire::Fire(4, false, true, true, true, true).ID: return 1583; + case Fire::Fire(4, false, true, true, true, false).ID: return 1584; + case Fire::Fire(4, false, true, true, false, true).ID: return 1585; + case Fire::Fire(4, false, true, true, false, false).ID: return 1586; + case Fire::Fire(4, false, true, false, true, true).ID: return 1587; + case Fire::Fire(4, false, true, false, true, false).ID: return 1588; + case Fire::Fire(4, false, true, false, false, true).ID: return 1589; + case Fire::Fire(4, false, true, false, false, false).ID: return 1590; + case Fire::Fire(4, false, false, true, true, true).ID: return 1591; + case Fire::Fire(4, false, false, true, true, false).ID: return 1592; + case Fire::Fire(4, false, false, true, false, true).ID: return 1593; + case Fire::Fire(4, false, false, true, false, false).ID: return 1594; + case Fire::Fire(4, false, false, false, true, true).ID: return 1595; + case Fire::Fire(4, false, false, false, true, false).ID: return 1596; + case Fire::Fire(4, false, false, false, false, true).ID: return 1597; + case Fire::Fire(4, false, false, false, false, false).ID: return 1598; + case Fire::Fire(5, true, true, true, true, true).ID: return 1599; + case Fire::Fire(5, true, true, true, true, false).ID: return 1600; + case Fire::Fire(5, true, true, true, false, true).ID: return 1601; + case Fire::Fire(5, true, true, true, false, false).ID: return 1602; + case Fire::Fire(5, true, true, false, true, true).ID: return 1603; + case Fire::Fire(5, true, true, false, true, false).ID: return 1604; + case Fire::Fire(5, true, true, false, false, true).ID: return 1605; + case Fire::Fire(5, true, true, false, false, false).ID: return 1606; + case Fire::Fire(5, true, false, true, true, true).ID: return 1607; + case Fire::Fire(5, true, false, true, true, false).ID: return 1608; + case Fire::Fire(5, true, false, true, false, true).ID: return 1609; + case Fire::Fire(5, true, false, true, false, false).ID: return 1610; + case Fire::Fire(5, true, false, false, true, true).ID: return 1611; + case Fire::Fire(5, true, false, false, true, false).ID: return 1612; + case Fire::Fire(5, true, false, false, false, true).ID: return 1613; + case Fire::Fire(5, true, false, false, false, false).ID: return 1614; + case Fire::Fire(5, false, true, true, true, true).ID: return 1615; + case Fire::Fire(5, false, true, true, true, false).ID: return 1616; + case Fire::Fire(5, false, true, true, false, true).ID: return 1617; + case Fire::Fire(5, false, true, true, false, false).ID: return 1618; + case Fire::Fire(5, false, true, false, true, true).ID: return 1619; + case Fire::Fire(5, false, true, false, true, false).ID: return 1620; + case Fire::Fire(5, false, true, false, false, true).ID: return 1621; + case Fire::Fire(5, false, true, false, false, false).ID: return 1622; + case Fire::Fire(5, false, false, true, true, true).ID: return 1623; + case Fire::Fire(5, false, false, true, true, false).ID: return 1624; + case Fire::Fire(5, false, false, true, false, true).ID: return 1625; + case Fire::Fire(5, false, false, true, false, false).ID: return 1626; + case Fire::Fire(5, false, false, false, true, true).ID: return 1627; + case Fire::Fire(5, false, false, false, true, false).ID: return 1628; + case Fire::Fire(5, false, false, false, false, true).ID: return 1629; + case Fire::Fire(5, false, false, false, false, false).ID: return 1630; + case Fire::Fire(6, true, true, true, true, true).ID: return 1631; + case Fire::Fire(6, true, true, true, true, false).ID: return 1632; + case Fire::Fire(6, true, true, true, false, true).ID: return 1633; + case Fire::Fire(6, true, true, true, false, false).ID: return 1634; + case Fire::Fire(6, true, true, false, true, true).ID: return 1635; + case Fire::Fire(6, true, true, false, true, false).ID: return 1636; + case Fire::Fire(6, true, true, false, false, true).ID: return 1637; + case Fire::Fire(6, true, true, false, false, false).ID: return 1638; + case Fire::Fire(6, true, false, true, true, true).ID: return 1639; + case Fire::Fire(6, true, false, true, true, false).ID: return 1640; + case Fire::Fire(6, true, false, true, false, true).ID: return 1641; + case Fire::Fire(6, true, false, true, false, false).ID: return 1642; + case Fire::Fire(6, true, false, false, true, true).ID: return 1643; + case Fire::Fire(6, true, false, false, true, false).ID: return 1644; + case Fire::Fire(6, true, false, false, false, true).ID: return 1645; + case Fire::Fire(6, true, false, false, false, false).ID: return 1646; + case Fire::Fire(6, false, true, true, true, true).ID: return 1647; + case Fire::Fire(6, false, true, true, true, false).ID: return 1648; + case Fire::Fire(6, false, true, true, false, true).ID: return 1649; + case Fire::Fire(6, false, true, true, false, false).ID: return 1650; + case Fire::Fire(6, false, true, false, true, true).ID: return 1651; + case Fire::Fire(6, false, true, false, true, false).ID: return 1652; + case Fire::Fire(6, false, true, false, false, true).ID: return 1653; + case Fire::Fire(6, false, true, false, false, false).ID: return 1654; + case Fire::Fire(6, false, false, true, true, true).ID: return 1655; + case Fire::Fire(6, false, false, true, true, false).ID: return 1656; + case Fire::Fire(6, false, false, true, false, true).ID: return 1657; + case Fire::Fire(6, false, false, true, false, false).ID: return 1658; + case Fire::Fire(6, false, false, false, true, true).ID: return 1659; + case Fire::Fire(6, false, false, false, true, false).ID: return 1660; + case Fire::Fire(6, false, false, false, false, true).ID: return 1661; + case Fire::Fire(6, false, false, false, false, false).ID: return 1662; + case Fire::Fire(7, true, true, true, true, true).ID: return 1663; + case Fire::Fire(7, true, true, true, true, false).ID: return 1664; + case Fire::Fire(7, true, true, true, false, true).ID: return 1665; + case Fire::Fire(7, true, true, true, false, false).ID: return 1666; + case Fire::Fire(7, true, true, false, true, true).ID: return 1667; + case Fire::Fire(7, true, true, false, true, false).ID: return 1668; + case Fire::Fire(7, true, true, false, false, true).ID: return 1669; + case Fire::Fire(7, true, true, false, false, false).ID: return 1670; + case Fire::Fire(7, true, false, true, true, true).ID: return 1671; + case Fire::Fire(7, true, false, true, true, false).ID: return 1672; + case Fire::Fire(7, true, false, true, false, true).ID: return 1673; + case Fire::Fire(7, true, false, true, false, false).ID: return 1674; + case Fire::Fire(7, true, false, false, true, true).ID: return 1675; + case Fire::Fire(7, true, false, false, true, false).ID: return 1676; + case Fire::Fire(7, true, false, false, false, true).ID: return 1677; + case Fire::Fire(7, true, false, false, false, false).ID: return 1678; + case Fire::Fire(7, false, true, true, true, true).ID: return 1679; + case Fire::Fire(7, false, true, true, true, false).ID: return 1680; + case Fire::Fire(7, false, true, true, false, true).ID: return 1681; + case Fire::Fire(7, false, true, true, false, false).ID: return 1682; + case Fire::Fire(7, false, true, false, true, true).ID: return 1683; + case Fire::Fire(7, false, true, false, true, false).ID: return 1684; + case Fire::Fire(7, false, true, false, false, true).ID: return 1685; + case Fire::Fire(7, false, true, false, false, false).ID: return 1686; + case Fire::Fire(7, false, false, true, true, true).ID: return 1687; + case Fire::Fire(7, false, false, true, true, false).ID: return 1688; + case Fire::Fire(7, false, false, true, false, true).ID: return 1689; + case Fire::Fire(7, false, false, true, false, false).ID: return 1690; + case Fire::Fire(7, false, false, false, true, true).ID: return 1691; + case Fire::Fire(7, false, false, false, true, false).ID: return 1692; + case Fire::Fire(7, false, false, false, false, true).ID: return 1693; + case Fire::Fire(7, false, false, false, false, false).ID: return 1694; + case Fire::Fire(8, true, true, true, true, true).ID: return 1695; + case Fire::Fire(8, true, true, true, true, false).ID: return 1696; + case Fire::Fire(8, true, true, true, false, true).ID: return 1697; + case Fire::Fire(8, true, true, true, false, false).ID: return 1698; + case Fire::Fire(8, true, true, false, true, true).ID: return 1699; + case Fire::Fire(8, true, true, false, true, false).ID: return 1700; + case Fire::Fire(8, true, true, false, false, true).ID: return 1701; + case Fire::Fire(8, true, true, false, false, false).ID: return 1702; + case Fire::Fire(8, true, false, true, true, true).ID: return 1703; + case Fire::Fire(8, true, false, true, true, false).ID: return 1704; + case Fire::Fire(8, true, false, true, false, true).ID: return 1705; + case Fire::Fire(8, true, false, true, false, false).ID: return 1706; + case Fire::Fire(8, true, false, false, true, true).ID: return 1707; + case Fire::Fire(8, true, false, false, true, false).ID: return 1708; + case Fire::Fire(8, true, false, false, false, true).ID: return 1709; + case Fire::Fire(8, true, false, false, false, false).ID: return 1710; + case Fire::Fire(8, false, true, true, true, true).ID: return 1711; + case Fire::Fire(8, false, true, true, true, false).ID: return 1712; + case Fire::Fire(8, false, true, true, false, true).ID: return 1713; + case Fire::Fire(8, false, true, true, false, false).ID: return 1714; + case Fire::Fire(8, false, true, false, true, true).ID: return 1715; + case Fire::Fire(8, false, true, false, true, false).ID: return 1716; + case Fire::Fire(8, false, true, false, false, true).ID: return 1717; + case Fire::Fire(8, false, true, false, false, false).ID: return 1718; + case Fire::Fire(8, false, false, true, true, true).ID: return 1719; + case Fire::Fire(8, false, false, true, true, false).ID: return 1720; + case Fire::Fire(8, false, false, true, false, true).ID: return 1721; + case Fire::Fire(8, false, false, true, false, false).ID: return 1722; + case Fire::Fire(8, false, false, false, true, true).ID: return 1723; + case Fire::Fire(8, false, false, false, true, false).ID: return 1724; + case Fire::Fire(8, false, false, false, false, true).ID: return 1725; + case Fire::Fire(8, false, false, false, false, false).ID: return 1726; + case Fire::Fire(9, true, true, true, true, true).ID: return 1727; + case Fire::Fire(9, true, true, true, true, false).ID: return 1728; + case Fire::Fire(9, true, true, true, false, true).ID: return 1729; + case Fire::Fire(9, true, true, true, false, false).ID: return 1730; + case Fire::Fire(9, true, true, false, true, true).ID: return 1731; + case Fire::Fire(9, true, true, false, true, false).ID: return 1732; + case Fire::Fire(9, true, true, false, false, true).ID: return 1733; + case Fire::Fire(9, true, true, false, false, false).ID: return 1734; + case Fire::Fire(9, true, false, true, true, true).ID: return 1735; + case Fire::Fire(9, true, false, true, true, false).ID: return 1736; + case Fire::Fire(9, true, false, true, false, true).ID: return 1737; + case Fire::Fire(9, true, false, true, false, false).ID: return 1738; + case Fire::Fire(9, true, false, false, true, true).ID: return 1739; + case Fire::Fire(9, true, false, false, true, false).ID: return 1740; + case Fire::Fire(9, true, false, false, false, true).ID: return 1741; + case Fire::Fire(9, true, false, false, false, false).ID: return 1742; + case Fire::Fire(9, false, true, true, true, true).ID: return 1743; + case Fire::Fire(9, false, true, true, true, false).ID: return 1744; + case Fire::Fire(9, false, true, true, false, true).ID: return 1745; + case Fire::Fire(9, false, true, true, false, false).ID: return 1746; + case Fire::Fire(9, false, true, false, true, true).ID: return 1747; + case Fire::Fire(9, false, true, false, true, false).ID: return 1748; + case Fire::Fire(9, false, true, false, false, true).ID: return 1749; + case Fire::Fire(9, false, true, false, false, false).ID: return 1750; + case Fire::Fire(9, false, false, true, true, true).ID: return 1751; + case Fire::Fire(9, false, false, true, true, false).ID: return 1752; + case Fire::Fire(9, false, false, true, false, true).ID: return 1753; + case Fire::Fire(9, false, false, true, false, false).ID: return 1754; + case Fire::Fire(9, false, false, false, true, true).ID: return 1755; + case Fire::Fire(9, false, false, false, true, false).ID: return 1756; + case Fire::Fire(9, false, false, false, false, true).ID: return 1757; + case Fire::Fire(9, false, false, false, false, false).ID: return 1758; + case Fire::Fire(10, true, true, true, true, true).ID: return 1759; + case Fire::Fire(10, true, true, true, true, false).ID: return 1760; + case Fire::Fire(10, true, true, true, false, true).ID: return 1761; + case Fire::Fire(10, true, true, true, false, false).ID: return 1762; + case Fire::Fire(10, true, true, false, true, true).ID: return 1763; + case Fire::Fire(10, true, true, false, true, false).ID: return 1764; + case Fire::Fire(10, true, true, false, false, true).ID: return 1765; + case Fire::Fire(10, true, true, false, false, false).ID: return 1766; + case Fire::Fire(10, true, false, true, true, true).ID: return 1767; + case Fire::Fire(10, true, false, true, true, false).ID: return 1768; + case Fire::Fire(10, true, false, true, false, true).ID: return 1769; + case Fire::Fire(10, true, false, true, false, false).ID: return 1770; + case Fire::Fire(10, true, false, false, true, true).ID: return 1771; + case Fire::Fire(10, true, false, false, true, false).ID: return 1772; + case Fire::Fire(10, true, false, false, false, true).ID: return 1773; + case Fire::Fire(10, true, false, false, false, false).ID: return 1774; + case Fire::Fire(10, false, true, true, true, true).ID: return 1775; + case Fire::Fire(10, false, true, true, true, false).ID: return 1776; + case Fire::Fire(10, false, true, true, false, true).ID: return 1777; + case Fire::Fire(10, false, true, true, false, false).ID: return 1778; + case Fire::Fire(10, false, true, false, true, true).ID: return 1779; + case Fire::Fire(10, false, true, false, true, false).ID: return 1780; + case Fire::Fire(10, false, true, false, false, true).ID: return 1781; + case Fire::Fire(10, false, true, false, false, false).ID: return 1782; + case Fire::Fire(10, false, false, true, true, true).ID: return 1783; + case Fire::Fire(10, false, false, true, true, false).ID: return 1784; + case Fire::Fire(10, false, false, true, false, true).ID: return 1785; + case Fire::Fire(10, false, false, true, false, false).ID: return 1786; + case Fire::Fire(10, false, false, false, true, true).ID: return 1787; + case Fire::Fire(10, false, false, false, true, false).ID: return 1788; + case Fire::Fire(10, false, false, false, false, true).ID: return 1789; + case Fire::Fire(10, false, false, false, false, false).ID: return 1790; + case Fire::Fire(11, true, true, true, true, true).ID: return 1791; + case Fire::Fire(11, true, true, true, true, false).ID: return 1792; + case Fire::Fire(11, true, true, true, false, true).ID: return 1793; + case Fire::Fire(11, true, true, true, false, false).ID: return 1794; + case Fire::Fire(11, true, true, false, true, true).ID: return 1795; + case Fire::Fire(11, true, true, false, true, false).ID: return 1796; + case Fire::Fire(11, true, true, false, false, true).ID: return 1797; + case Fire::Fire(11, true, true, false, false, false).ID: return 1798; + case Fire::Fire(11, true, false, true, true, true).ID: return 1799; + case Fire::Fire(11, true, false, true, true, false).ID: return 1800; + case Fire::Fire(11, true, false, true, false, true).ID: return 1801; + case Fire::Fire(11, true, false, true, false, false).ID: return 1802; + case Fire::Fire(11, true, false, false, true, true).ID: return 1803; + case Fire::Fire(11, true, false, false, true, false).ID: return 1804; + case Fire::Fire(11, true, false, false, false, true).ID: return 1805; + case Fire::Fire(11, true, false, false, false, false).ID: return 1806; + case Fire::Fire(11, false, true, true, true, true).ID: return 1807; + case Fire::Fire(11, false, true, true, true, false).ID: return 1808; + case Fire::Fire(11, false, true, true, false, true).ID: return 1809; + case Fire::Fire(11, false, true, true, false, false).ID: return 1810; + case Fire::Fire(11, false, true, false, true, true).ID: return 1811; + case Fire::Fire(11, false, true, false, true, false).ID: return 1812; + case Fire::Fire(11, false, true, false, false, true).ID: return 1813; + case Fire::Fire(11, false, true, false, false, false).ID: return 1814; + case Fire::Fire(11, false, false, true, true, true).ID: return 1815; + case Fire::Fire(11, false, false, true, true, false).ID: return 1816; + case Fire::Fire(11, false, false, true, false, true).ID: return 1817; + case Fire::Fire(11, false, false, true, false, false).ID: return 1818; + case Fire::Fire(11, false, false, false, true, true).ID: return 1819; + case Fire::Fire(11, false, false, false, true, false).ID: return 1820; + case Fire::Fire(11, false, false, false, false, true).ID: return 1821; + case Fire::Fire(11, false, false, false, false, false).ID: return 1822; + case Fire::Fire(12, true, true, true, true, true).ID: return 1823; + case Fire::Fire(12, true, true, true, true, false).ID: return 1824; + case Fire::Fire(12, true, true, true, false, true).ID: return 1825; + case Fire::Fire(12, true, true, true, false, false).ID: return 1826; + case Fire::Fire(12, true, true, false, true, true).ID: return 1827; + case Fire::Fire(12, true, true, false, true, false).ID: return 1828; + case Fire::Fire(12, true, true, false, false, true).ID: return 1829; + case Fire::Fire(12, true, true, false, false, false).ID: return 1830; + case Fire::Fire(12, true, false, true, true, true).ID: return 1831; + case Fire::Fire(12, true, false, true, true, false).ID: return 1832; + case Fire::Fire(12, true, false, true, false, true).ID: return 1833; + case Fire::Fire(12, true, false, true, false, false).ID: return 1834; + case Fire::Fire(12, true, false, false, true, true).ID: return 1835; + case Fire::Fire(12, true, false, false, true, false).ID: return 1836; + case Fire::Fire(12, true, false, false, false, true).ID: return 1837; + case Fire::Fire(12, true, false, false, false, false).ID: return 1838; + case Fire::Fire(12, false, true, true, true, true).ID: return 1839; + case Fire::Fire(12, false, true, true, true, false).ID: return 1840; + case Fire::Fire(12, false, true, true, false, true).ID: return 1841; + case Fire::Fire(12, false, true, true, false, false).ID: return 1842; + case Fire::Fire(12, false, true, false, true, true).ID: return 1843; + case Fire::Fire(12, false, true, false, true, false).ID: return 1844; + case Fire::Fire(12, false, true, false, false, true).ID: return 1845; + case Fire::Fire(12, false, true, false, false, false).ID: return 1846; + case Fire::Fire(12, false, false, true, true, true).ID: return 1847; + case Fire::Fire(12, false, false, true, true, false).ID: return 1848; + case Fire::Fire(12, false, false, true, false, true).ID: return 1849; + case Fire::Fire(12, false, false, true, false, false).ID: return 1850; + case Fire::Fire(12, false, false, false, true, true).ID: return 1851; + case Fire::Fire(12, false, false, false, true, false).ID: return 1852; + case Fire::Fire(12, false, false, false, false, true).ID: return 1853; + case Fire::Fire(12, false, false, false, false, false).ID: return 1854; + case Fire::Fire(13, true, true, true, true, true).ID: return 1855; + case Fire::Fire(13, true, true, true, true, false).ID: return 1856; + case Fire::Fire(13, true, true, true, false, true).ID: return 1857; + case Fire::Fire(13, true, true, true, false, false).ID: return 1858; + case Fire::Fire(13, true, true, false, true, true).ID: return 1859; + case Fire::Fire(13, true, true, false, true, false).ID: return 1860; + case Fire::Fire(13, true, true, false, false, true).ID: return 1861; + case Fire::Fire(13, true, true, false, false, false).ID: return 1862; + case Fire::Fire(13, true, false, true, true, true).ID: return 1863; + case Fire::Fire(13, true, false, true, true, false).ID: return 1864; + case Fire::Fire(13, true, false, true, false, true).ID: return 1865; + case Fire::Fire(13, true, false, true, false, false).ID: return 1866; + case Fire::Fire(13, true, false, false, true, true).ID: return 1867; + case Fire::Fire(13, true, false, false, true, false).ID: return 1868; + case Fire::Fire(13, true, false, false, false, true).ID: return 1869; + case Fire::Fire(13, true, false, false, false, false).ID: return 1870; + case Fire::Fire(13, false, true, true, true, true).ID: return 1871; + case Fire::Fire(13, false, true, true, true, false).ID: return 1872; + case Fire::Fire(13, false, true, true, false, true).ID: return 1873; + case Fire::Fire(13, false, true, true, false, false).ID: return 1874; + case Fire::Fire(13, false, true, false, true, true).ID: return 1875; + case Fire::Fire(13, false, true, false, true, false).ID: return 1876; + case Fire::Fire(13, false, true, false, false, true).ID: return 1877; + case Fire::Fire(13, false, true, false, false, false).ID: return 1878; + case Fire::Fire(13, false, false, true, true, true).ID: return 1879; + case Fire::Fire(13, false, false, true, true, false).ID: return 1880; + case Fire::Fire(13, false, false, true, false, true).ID: return 1881; + case Fire::Fire(13, false, false, true, false, false).ID: return 1882; + case Fire::Fire(13, false, false, false, true, true).ID: return 1883; + case Fire::Fire(13, false, false, false, true, false).ID: return 1884; + case Fire::Fire(13, false, false, false, false, true).ID: return 1885; + case Fire::Fire(13, false, false, false, false, false).ID: return 1886; + case Fire::Fire(14, true, true, true, true, true).ID: return 1887; + case Fire::Fire(14, true, true, true, true, false).ID: return 1888; + case Fire::Fire(14, true, true, true, false, true).ID: return 1889; + case Fire::Fire(14, true, true, true, false, false).ID: return 1890; + case Fire::Fire(14, true, true, false, true, true).ID: return 1891; + case Fire::Fire(14, true, true, false, true, false).ID: return 1892; + case Fire::Fire(14, true, true, false, false, true).ID: return 1893; + case Fire::Fire(14, true, true, false, false, false).ID: return 1894; + case Fire::Fire(14, true, false, true, true, true).ID: return 1895; + case Fire::Fire(14, true, false, true, true, false).ID: return 1896; + case Fire::Fire(14, true, false, true, false, true).ID: return 1897; + case Fire::Fire(14, true, false, true, false, false).ID: return 1898; + case Fire::Fire(14, true, false, false, true, true).ID: return 1899; + case Fire::Fire(14, true, false, false, true, false).ID: return 1900; + case Fire::Fire(14, true, false, false, false, true).ID: return 1901; + case Fire::Fire(14, true, false, false, false, false).ID: return 1902; + case Fire::Fire(14, false, true, true, true, true).ID: return 1903; + case Fire::Fire(14, false, true, true, true, false).ID: return 1904; + case Fire::Fire(14, false, true, true, false, true).ID: return 1905; + case Fire::Fire(14, false, true, true, false, false).ID: return 1906; + case Fire::Fire(14, false, true, false, true, true).ID: return 1907; + case Fire::Fire(14, false, true, false, true, false).ID: return 1908; + case Fire::Fire(14, false, true, false, false, true).ID: return 1909; + case Fire::Fire(14, false, true, false, false, false).ID: return 1910; + case Fire::Fire(14, false, false, true, true, true).ID: return 1911; + case Fire::Fire(14, false, false, true, true, false).ID: return 1912; + case Fire::Fire(14, false, false, true, false, true).ID: return 1913; + case Fire::Fire(14, false, false, true, false, false).ID: return 1914; + case Fire::Fire(14, false, false, false, true, true).ID: return 1915; + case Fire::Fire(14, false, false, false, true, false).ID: return 1916; + case Fire::Fire(14, false, false, false, false, true).ID: return 1917; + case Fire::Fire(14, false, false, false, false, false).ID: return 1918; + case Fire::Fire(15, true, true, true, true, true).ID: return 1919; + case Fire::Fire(15, true, true, true, true, false).ID: return 1920; + case Fire::Fire(15, true, true, true, false, true).ID: return 1921; + case Fire::Fire(15, true, true, true, false, false).ID: return 1922; + case Fire::Fire(15, true, true, false, true, true).ID: return 1923; + case Fire::Fire(15, true, true, false, true, false).ID: return 1924; + case Fire::Fire(15, true, true, false, false, true).ID: return 1925; + case Fire::Fire(15, true, true, false, false, false).ID: return 1926; + case Fire::Fire(15, true, false, true, true, true).ID: return 1927; + case Fire::Fire(15, true, false, true, true, false).ID: return 1928; + case Fire::Fire(15, true, false, true, false, true).ID: return 1929; + case Fire::Fire(15, true, false, true, false, false).ID: return 1930; + case Fire::Fire(15, true, false, false, true, true).ID: return 1931; + case Fire::Fire(15, true, false, false, true, false).ID: return 1932; + case Fire::Fire(15, true, false, false, false, true).ID: return 1933; + case Fire::Fire(15, true, false, false, false, false).ID: return 1934; + case Fire::Fire(15, false, true, true, true, true).ID: return 1935; + case Fire::Fire(15, false, true, true, true, false).ID: return 1936; + case Fire::Fire(15, false, true, true, false, true).ID: return 1937; + case Fire::Fire(15, false, true, true, false, false).ID: return 1938; + case Fire::Fire(15, false, true, false, true, true).ID: return 1939; + case Fire::Fire(15, false, true, false, true, false).ID: return 1940; + case Fire::Fire(15, false, true, false, false, true).ID: return 1941; + case Fire::Fire(15, false, true, false, false, false).ID: return 1942; + case Fire::Fire(15, false, false, true, true, true).ID: return 1943; + case Fire::Fire(15, false, false, true, true, false).ID: return 1944; + case Fire::Fire(15, false, false, true, false, true).ID: return 1945; + case Fire::Fire(15, false, false, true, false, false).ID: return 1946; + case Fire::Fire(15, false, false, false, true, true).ID: return 1947; + case Fire::Fire(15, false, false, false, true, false).ID: return 1948; + case Fire::Fire(15, false, false, false, false, true).ID: return 1949; + case Fire::Fire(15, false, false, false, false, false).ID: return 1950; + case FireCoral::FireCoral().ID: return 9001; + case FireCoralBlock::FireCoralBlock().ID: return 8982; + case FireCoralFan::FireCoralFan().ID: return 9021; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9089; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9091; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9093; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9095; + case FletchingTable::FletchingTable().ID: return 11164; + case FlowerPot::FlowerPot().ID: return 5769; + case FrostedIce::FrostedIce(0).ID: return 8713; + case FrostedIce::FrostedIce(1).ID: return 8714; + case FrostedIce::FrostedIce(2).ID: return 8715; + case FrostedIce::FrostedIce(3).ID: return 8716; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3371; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3372; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3373; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3374; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3375; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3376; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3377; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3378; + case Glass::Glass().ID: return 230; + case GlassPane::GlassPane(true, true, true, true).ID: return 4717; + case GlassPane::GlassPane(true, true, true, false).ID: return 4718; + case GlassPane::GlassPane(true, true, false, true).ID: return 4721; + case GlassPane::GlassPane(true, true, false, false).ID: return 4722; + case GlassPane::GlassPane(true, false, true, true).ID: return 4725; + case GlassPane::GlassPane(true, false, true, false).ID: return 4726; + case GlassPane::GlassPane(true, false, false, true).ID: return 4729; + case GlassPane::GlassPane(true, false, false, false).ID: return 4730; + case GlassPane::GlassPane(false, true, true, true).ID: return 4733; + case GlassPane::GlassPane(false, true, true, false).ID: return 4734; + case GlassPane::GlassPane(false, true, false, true).ID: return 4737; + case GlassPane::GlassPane(false, true, false, false).ID: return 4738; + case GlassPane::GlassPane(false, false, true, true).ID: return 4741; + case GlassPane::GlassPane(false, false, true, false).ID: return 4742; + case GlassPane::GlassPane(false, false, false, true).ID: return 4745; + case GlassPane::GlassPane(false, false, false, false).ID: return 4746; + case Glowstone::Glowstone().ID: return 3999; + case GoldBlock::GoldBlock().ID: return 1426; + case GoldOre::GoldOre().ID: return 69; + case Granite::Granite().ID: return 2; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Top).ID: return 10302; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Bottom).ID: return 10304; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Double).ID: return 10306; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 9854; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9856; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9858; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9860; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9862; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 9864; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9866; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9868; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9870; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9872; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 9874; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9876; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9878; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9880; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9882; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 9884; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9886; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9888; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9890; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9892; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 9894; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9896; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9898; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9900; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9902; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 9904; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9906; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9908; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9910; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9912; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 9914; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9916; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9918; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9920; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9922; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 9924; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 9926; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 9928; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 9930; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 9932; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 10589; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 10590; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 10593; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 10594; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 10597; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 10598; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 10601; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 10602; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 10605; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 10606; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 10609; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 10610; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 10613; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 10614; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 10617; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 10618; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 10621; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 10622; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 10625; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 10626; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 10629; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 10630; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 10633; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 10634; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 10637; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 10638; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 10641; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 10642; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 10645; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 10646; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 10649; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 10650; + case Grass::Grass().ID: return 1341; + case GrassBlock::GrassBlock(true).ID: return 8; + case GrassBlock::GrassBlock(false).ID: return 9; + case GrassPath::GrassPath().ID: return 8687; + case Gravel::Gravel().ID: return 68; + case GrayBanner::GrayBanner(0).ID: return 7473; + case GrayBanner::GrayBanner(1).ID: return 7474; + case GrayBanner::GrayBanner(2).ID: return 7475; + case GrayBanner::GrayBanner(3).ID: return 7476; + case GrayBanner::GrayBanner(4).ID: return 7477; + case GrayBanner::GrayBanner(5).ID: return 7478; + case GrayBanner::GrayBanner(6).ID: return 7479; + case GrayBanner::GrayBanner(7).ID: return 7480; + case GrayBanner::GrayBanner(8).ID: return 7481; + case GrayBanner::GrayBanner(9).ID: return 7482; + case GrayBanner::GrayBanner(10).ID: return 7483; + case GrayBanner::GrayBanner(11).ID: return 7484; + case GrayBanner::GrayBanner(12).ID: return 7485; + case GrayBanner::GrayBanner(13).ID: return 7486; + case GrayBanner::GrayBanner(14).ID: return 7487; + case GrayBanner::GrayBanner(15).ID: return 7488; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 1160; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 1161; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 1162; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 1163; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 1164; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 1165; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 1166; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 1167; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 1168; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 1169; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 1170; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 1171; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 1172; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 1173; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 1174; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 1175; + case GrayCarpet::GrayCarpet().ID: return 7337; + case GrayConcrete::GrayConcrete().ID: return 8909; + case GrayConcretePowder::GrayConcretePowder().ID: return 8925; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8866; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8867; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8868; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8869; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8784; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8785; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8786; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8787; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8788; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8789; + case GrayStainedGlass::GrayStainedGlass().ID: return 4088; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 6553; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 6554; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 6557; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 6558; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 6561; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 6562; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 6565; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 6566; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 6569; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 6570; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 6573; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 6574; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 6577; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 6578; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 6581; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 6582; + case GrayTerracotta::GrayTerracotta().ID: return 6318; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7645; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7646; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7647; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7648; + case GrayWool::GrayWool().ID: return 1390; + case GreenBanner::GreenBanner(0).ID: return 7569; + case GreenBanner::GreenBanner(1).ID: return 7570; + case GreenBanner::GreenBanner(2).ID: return 7571; + case GreenBanner::GreenBanner(3).ID: return 7572; + case GreenBanner::GreenBanner(4).ID: return 7573; + case GreenBanner::GreenBanner(5).ID: return 7574; + case GreenBanner::GreenBanner(6).ID: return 7575; + case GreenBanner::GreenBanner(7).ID: return 7576; + case GreenBanner::GreenBanner(8).ID: return 7577; + case GreenBanner::GreenBanner(9).ID: return 7578; + case GreenBanner::GreenBanner(10).ID: return 7579; + case GreenBanner::GreenBanner(11).ID: return 7580; + case GreenBanner::GreenBanner(12).ID: return 7581; + case GreenBanner::GreenBanner(13).ID: return 7582; + case GreenBanner::GreenBanner(14).ID: return 7583; + case GreenBanner::GreenBanner(15).ID: return 7584; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 1256; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 1257; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 1258; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 1259; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 1260; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 1261; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 1262; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 1263; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 1264; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 1265; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 1266; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 1267; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 1268; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 1269; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 1270; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 1271; + case GreenCarpet::GreenCarpet().ID: return 7343; + case GreenConcrete::GreenConcrete().ID: return 8915; + case GreenConcretePowder::GreenConcretePowder().ID: return 8931; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8890; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8891; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8892; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8893; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8820; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8821; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8822; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8823; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8824; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8825; + case GreenStainedGlass::GreenStainedGlass().ID: return 4094; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 6745; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 6746; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 6749; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 6750; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 6753; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 6754; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 6757; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 6758; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 6761; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 6762; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 6765; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 6766; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 6769; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 6770; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 6773; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 6774; + case GreenTerracotta::GreenTerracotta().ID: return 6324; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7669; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7670; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7671; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7672; + case GreenWool::GreenWool().ID: return 1396; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZM).ID: return 11165; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZP).ID: return 11166; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XM).ID: return 11167; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XP).ID: return 11168; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZM).ID: return 11169; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZP).ID: return 11170; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XM).ID: return 11171; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XP).ID: return 11172; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM).ID: return 11173; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP).ID: return 11174; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XM).ID: return 11175; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XP).ID: return 11176; + case HayBale::HayBale(HayBale::Axis::X).ID: return 7327; + case HayBale::HayBale(HayBale::Axis::Y).ID: return 7328; + case HayBale::HayBale(HayBale::Axis::Z).ID: return 7329; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 6126; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 6127; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 6128; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 6129; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 6130; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 6131; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 6132; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 6133; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 6134; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 6135; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 6136; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 6137; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 6138; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 6139; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 6140; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 6141; + case HoneyBlock::HoneyBlock().ID: return 11335; + case HoneycombBlock::HoneycombBlock().ID: return 11336; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 6192; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 6193; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 6194; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 6195; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 6196; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 6197; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 6198; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 6199; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 6200; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 6201; + case HornCoral::HornCoral().ID: return 9003; + case HornCoralBlock::HornCoralBlock().ID: return 8983; + case HornCoralFan::HornCoralFan().ID: return 9023; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9097; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9099; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9101; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9103; + case Ice::Ice().ID: return 3927; + case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 4490; + case InfestedCobblestone::InfestedCobblestone().ID: return 4486; + case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 4489; + case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 4488; + case InfestedStone::InfestedStone().ID: return 4485; + case InfestedStoneBricks::InfestedStoneBricks().ID: return 4487; + case IronBars::IronBars(true, true, true, true).ID: return 4685; + case IronBars::IronBars(true, true, true, false).ID: return 4686; + case IronBars::IronBars(true, true, false, true).ID: return 4689; + case IronBars::IronBars(true, true, false, false).ID: return 4690; + case IronBars::IronBars(true, false, true, true).ID: return 4693; + case IronBars::IronBars(true, false, true, false).ID: return 4694; + case IronBars::IronBars(true, false, false, true).ID: return 4697; + case IronBars::IronBars(true, false, false, false).ID: return 4698; + case IronBars::IronBars(false, true, true, true).ID: return 4701; + case IronBars::IronBars(false, true, true, false).ID: return 4702; + case IronBars::IronBars(false, true, false, true).ID: return 4705; + case IronBars::IronBars(false, true, false, false).ID: return 4706; + case IronBars::IronBars(false, false, true, true).ID: return 4709; + case IronBars::IronBars(false, false, true, false).ID: return 4710; + case IronBars::IronBars(false, false, false, true).ID: return 4713; + case IronBars::IronBars(false, false, false, false).ID: return 4714; + case IronBlock::IronBlock().ID: return 1427; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3807; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3808; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3809; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3810; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3811; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3812; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3813; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3814; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3815; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3816; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3817; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3818; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3819; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3820; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3821; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3822; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3823; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3824; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3825; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3826; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3827; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3828; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3829; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3830; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3831; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3832; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3833; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3834; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3835; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3836; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3837; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3838; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3839; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3840; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3841; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3842; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3843; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3844; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3845; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3846; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3847; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3848; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3849; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3850; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3851; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3852; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3853; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3854; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3855; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3856; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3857; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3858; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3859; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3860; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3861; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3862; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3863; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3864; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3865; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3866; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3867; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3868; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3869; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3870; + case IronOre::IronOre().ID: return 70; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 7002; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: + return 7004; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: + return 7006; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: + return 7008; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: + return 7010; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: + return 7012; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: + return 7014; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: + return 7016; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 7018; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: + return 7020; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: + return 7022; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: + return 7024; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: + return 7026; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: + return 7028; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: + return 7030; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: + return 7032; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 7034; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: + return 7036; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: + return 7038; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: + return 7040; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: + return 7042; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: + return 7044; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: + return 7046; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: + return 7048; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 7050; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: + return 7052; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: + return 7054; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: + return 7056; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: + return 7058; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: + return 7060; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: + return 7062; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: + return 7064; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 4006; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 4007; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 4008; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 4009; + case Jigsaw::Jigsaw(Jigsaw::Orientation::NorthUp).ID: return 11272; + case Jigsaw::Jigsaw(Jigsaw::Orientation::EastUp).ID: return 11273; + case Jigsaw::Jigsaw(Jigsaw::Orientation::SouthUp).ID: return 11274; + case Jigsaw::Jigsaw(Jigsaw::Orientation::WestUp).ID: return 11275; + case Jigsaw::Jigsaw(Jigsaw::Orientation::UpSouth).ID: return 11276; + case Jigsaw::Jigsaw(Jigsaw::Orientation::DownSouth).ID: return 11277; + case Jukebox::Jukebox(true).ID: return 3962; + case Jukebox::Jukebox(false).ID: return 3963; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5882; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5883; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5884; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5885; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5886; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5887; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5888; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5889; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5890; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5891; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5892; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5893; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5894; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5895; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5896; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5897; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5898; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5899; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5900; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5901; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5902; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5903; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5904; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5905; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8330; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8331; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8332; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8333; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8334; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8335; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8336; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8337; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8338; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8339; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8340; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8341; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8342; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8343; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8344; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8345; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8346; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8347; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8348; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8349; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8350; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8351; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8352; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8353; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8354; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8355; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8356; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8357; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8358; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8359; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8360; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8361; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8362; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8363; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8364; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8365; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8366; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8367; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8368; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8369; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8370; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8371; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8372; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8373; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8374; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8375; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8376; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8377; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8378; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8379; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8380; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8381; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8382; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8383; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8384; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8385; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8386; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8387; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8388; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8389; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8390; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8391; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8392; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8393; + case JungleFence::JungleFence(true, true, true, true).ID: return 8108; + case JungleFence::JungleFence(true, true, true, false).ID: return 8109; + case JungleFence::JungleFence(true, true, false, true).ID: return 8112; + case JungleFence::JungleFence(true, true, false, false).ID: return 8113; + case JungleFence::JungleFence(true, false, true, true).ID: return 8116; + case JungleFence::JungleFence(true, false, true, false).ID: return 8117; + case JungleFence::JungleFence(true, false, false, true).ID: return 8120; + case JungleFence::JungleFence(true, false, false, false).ID: return 8121; + case JungleFence::JungleFence(false, true, true, true).ID: return 8124; + case JungleFence::JungleFence(false, true, true, false).ID: return 8125; + case JungleFence::JungleFence(false, true, false, true).ID: return 8128; + case JungleFence::JungleFence(false, true, false, false).ID: return 8129; + case JungleFence::JungleFence(false, false, true, true).ID: return 8132; + case JungleFence::JungleFence(false, false, true, false).ID: return 8133; + case JungleFence::JungleFence(false, false, false, true).ID: return 8136; + case JungleFence::JungleFence(false, false, false, false).ID: return 8137; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7946; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7947; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7948; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7949; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7950; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7951; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7952; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7953; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7954; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7955; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7956; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7957; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7958; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7959; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7960; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7961; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7962; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7963; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7964; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7965; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7966; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7967; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7968; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7969; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7970; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7971; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7972; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7973; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7974; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7975; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7976; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7977; + case JungleLeaves::JungleLeaves(1, true).ID: return 186; + case JungleLeaves::JungleLeaves(1, false).ID: return 187; + case JungleLeaves::JungleLeaves(2, true).ID: return 188; + case JungleLeaves::JungleLeaves(2, false).ID: return 189; + case JungleLeaves::JungleLeaves(3, true).ID: return 190; + case JungleLeaves::JungleLeaves(3, false).ID: return 191; + case JungleLeaves::JungleLeaves(4, true).ID: return 192; + case JungleLeaves::JungleLeaves(4, false).ID: return 193; + case JungleLeaves::JungleLeaves(5, true).ID: return 194; + case JungleLeaves::JungleLeaves(5, false).ID: return 195; + case JungleLeaves::JungleLeaves(6, true).ID: return 196; + case JungleLeaves::JungleLeaves(6, false).ID: return 197; + case JungleLeaves::JungleLeaves(7, true).ID: return 198; + case JungleLeaves::JungleLeaves(7, false).ID: return 199; + case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 81; + case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 82; + case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 83; + case JunglePlanks::JunglePlanks().ID: return 18; + case JunglePressurePlate::JunglePressurePlate(true).ID: return 3877; + case JunglePressurePlate::JunglePressurePlate(false).ID: return 3878; + case JungleSapling::JungleSapling(0).ID: return 27; + case JungleSapling::JungleSapling(1).ID: return 28; + case JungleSign::JungleSign(0).ID: return 3508; + case JungleSign::JungleSign(1).ID: return 3510; + case JungleSign::JungleSign(2).ID: return 3512; + case JungleSign::JungleSign(3).ID: return 3514; + case JungleSign::JungleSign(4).ID: return 3516; + case JungleSign::JungleSign(5).ID: return 3518; + case JungleSign::JungleSign(6).ID: return 3520; + case JungleSign::JungleSign(7).ID: return 3522; + case JungleSign::JungleSign(8).ID: return 3524; + case JungleSign::JungleSign(9).ID: return 3526; + case JungleSign::JungleSign(10).ID: return 3528; + case JungleSign::JungleSign(11).ID: return 3530; + case JungleSign::JungleSign(12).ID: return 3532; + case JungleSign::JungleSign(13).ID: return 3534; + case JungleSign::JungleSign(14).ID: return 3536; + case JungleSign::JungleSign(15).ID: return 3538; + case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 7783; + case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 7785; + case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 7787; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5549; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5551; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5553; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5555; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5557; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5559; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5561; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5563; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5565; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5567; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5569; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5571; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5573; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5575; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5577; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5579; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5581; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5583; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5585; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5587; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5589; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5591; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5593; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5595; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5597; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5599; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5601; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5603; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5605; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5607; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5609; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5611; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5613; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5615; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5617; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5619; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5621; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5623; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5625; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5627; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: + return 4290; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: + return 4292; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: + return 4294; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: + return 4296; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4298; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4300; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4302; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4304; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: + return 4306; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: + return 4308; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: + return 4310; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: + return 4312; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4314; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4316; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4318; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4320; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: + return 4322; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: + return 4324; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: + return 4326; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: + return 4328; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4330; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4332; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4334; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4336; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: + return 4338; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: + return 4340; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: + return 4342; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: + return 4344; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4346; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4348; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4350; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4352; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3766; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3768; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3770; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3772; + case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 117; + case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 118; + case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 119; + case Kelp::Kelp(0).ID: return 8934; + case Kelp::Kelp(1).ID: return 8935; + case Kelp::Kelp(2).ID: return 8936; + case Kelp::Kelp(3).ID: return 8937; + case Kelp::Kelp(4).ID: return 8938; + case Kelp::Kelp(5).ID: return 8939; + case Kelp::Kelp(6).ID: return 8940; + case Kelp::Kelp(7).ID: return 8941; + case Kelp::Kelp(8).ID: return 8942; + case Kelp::Kelp(9).ID: return 8943; + case Kelp::Kelp(10).ID: return 8944; + case Kelp::Kelp(11).ID: return 8945; + case Kelp::Kelp(12).ID: return 8946; + case Kelp::Kelp(13).ID: return 8947; + case Kelp::Kelp(14).ID: return 8948; + case Kelp::Kelp(15).ID: return 8949; + case Kelp::Kelp(16).ID: return 8950; + case Kelp::Kelp(17).ID: return 8951; + case Kelp::Kelp(18).ID: return 8952; + case Kelp::Kelp(19).ID: return 8953; + case Kelp::Kelp(20).ID: return 8954; + case Kelp::Kelp(21).ID: return 8955; + case Kelp::Kelp(22).ID: return 8956; + case Kelp::Kelp(23).ID: return 8957; + case Kelp::Kelp(24).ID: return 8958; + case Kelp::Kelp(25).ID: return 8959; + case KelpPlant::KelpPlant().ID: return 8960; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3636; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3638; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3640; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3642; + case Lantern::Lantern(true).ID: return 11230; + case Lantern::Lantern(false).ID: return 11231; + case LapisBlock::LapisBlock().ID: return 232; + case LapisOre::LapisOre().ID: return 231; + case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 7359; + case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 7360; + case Lava::Lava(0).ID: return 50; + case Lava::Lava(1).ID: return 51; + case Lava::Lava(2).ID: return 52; + case Lava::Lava(3).ID: return 53; + case Lava::Lava(4).ID: return 54; + case Lava::Lava(5).ID: return 55; + case Lava::Lava(6).ID: return 56; + case Lava::Lava(7).ID: return 57; + case Lava::Lava(8).ID: return 58; + case Lava::Lava(9).ID: return 59; + case Lava::Lava(10).ID: return 60; + case Lava::Lava(11).ID: return 61; + case Lava::Lava(12).ID: return 62; + case Lava::Lava(13).ID: return 63; + case Lava::Lava(14).ID: return 64; + case Lava::Lava(15).ID: return 65; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 11177; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 11178; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 11179; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 11180; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 11181; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 11182; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 11183; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 11184; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 11185; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 11186; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 11187; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 11188; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 11189; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 11190; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 11191; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 11192; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3781; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3782; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3783; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3784; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3785; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3786; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3787; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3788; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3789; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3790; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3791; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3792; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3793; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3794; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3795; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3796; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3797; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3798; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3799; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3800; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3801; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3802; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3803; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3804; + case LightBlueBanner::LightBlueBanner(0).ID: return 7409; + case LightBlueBanner::LightBlueBanner(1).ID: return 7410; + case LightBlueBanner::LightBlueBanner(2).ID: return 7411; + case LightBlueBanner::LightBlueBanner(3).ID: return 7412; + case LightBlueBanner::LightBlueBanner(4).ID: return 7413; + case LightBlueBanner::LightBlueBanner(5).ID: return 7414; + case LightBlueBanner::LightBlueBanner(6).ID: return 7415; + case LightBlueBanner::LightBlueBanner(7).ID: return 7416; + case LightBlueBanner::LightBlueBanner(8).ID: return 7417; + case LightBlueBanner::LightBlueBanner(9).ID: return 7418; + case LightBlueBanner::LightBlueBanner(10).ID: return 7419; + case LightBlueBanner::LightBlueBanner(11).ID: return 7420; + case LightBlueBanner::LightBlueBanner(12).ID: return 7421; + case LightBlueBanner::LightBlueBanner(13).ID: return 7422; + case LightBlueBanner::LightBlueBanner(14).ID: return 7423; + case LightBlueBanner::LightBlueBanner(15).ID: return 7424; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 1096; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 1097; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 1098; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 1099; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 1100; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 1101; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 1102; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 1103; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 1104; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 1105; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 1106; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 1107; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 1108; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 1109; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 1110; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 1111; + case LightBlueCarpet::LightBlueCarpet().ID: return 7333; + case LightBlueConcrete::LightBlueConcrete().ID: return 8905; + case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 8921; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8850; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8851; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8852; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8853; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8760; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8761; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8762; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8763; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8764; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8765; + case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 4084; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 6425; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 6426; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 6429; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 6430; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 6433; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 6434; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 6437; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 6438; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 6441; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 6442; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 6445; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 6446; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 6449; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 6450; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 6453; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 6454; + case LightBlueTerracotta::LightBlueTerracotta().ID: return 6314; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7629; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7630; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7631; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7632; + case LightBlueWool::LightBlueWool().ID: return 1386; + case LightGrayBanner::LightGrayBanner(0).ID: return 7489; + case LightGrayBanner::LightGrayBanner(1).ID: return 7490; + case LightGrayBanner::LightGrayBanner(2).ID: return 7491; + case LightGrayBanner::LightGrayBanner(3).ID: return 7492; + case LightGrayBanner::LightGrayBanner(4).ID: return 7493; + case LightGrayBanner::LightGrayBanner(5).ID: return 7494; + case LightGrayBanner::LightGrayBanner(6).ID: return 7495; + case LightGrayBanner::LightGrayBanner(7).ID: return 7496; + case LightGrayBanner::LightGrayBanner(8).ID: return 7497; + case LightGrayBanner::LightGrayBanner(9).ID: return 7498; + case LightGrayBanner::LightGrayBanner(10).ID: return 7499; + case LightGrayBanner::LightGrayBanner(11).ID: return 7500; + case LightGrayBanner::LightGrayBanner(12).ID: return 7501; + case LightGrayBanner::LightGrayBanner(13).ID: return 7502; + case LightGrayBanner::LightGrayBanner(14).ID: return 7503; + case LightGrayBanner::LightGrayBanner(15).ID: return 7504; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 1176; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 1177; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 1178; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 1179; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 1180; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 1181; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 1182; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 1183; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 1184; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 1185; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 1186; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 1187; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 1188; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 1189; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 1190; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 1191; + case LightGrayCarpet::LightGrayCarpet().ID: return 7338; + case LightGrayConcrete::LightGrayConcrete().ID: return 8910; + case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 8926; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8870; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8871; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8872; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8873; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8790; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8791; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8792; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8793; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8794; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8795; + case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 4089; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 6585; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 6586; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 6589; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 6590; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 6593; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 6594; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 6597; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 6598; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 6601; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 6602; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 6605; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 6606; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 6609; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 6610; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 6613; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 6614; + case LightGrayTerracotta::LightGrayTerracotta().ID: return 6319; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7649; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7650; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7651; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7652; + case LightGrayWool::LightGrayWool().ID: return 1391; + case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 6110; + case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 6111; + case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 6112; + case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 6113; + case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 6114; + case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 6115; + case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 6116; + case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 6117; + case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 6118; + case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 6119; + case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 6120; + case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 6121; + case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 6122; + case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 6123; + case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 6124; + case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 6125; + case Lilac::Lilac(Lilac::Half::Upper).ID: return 7351; + case Lilac::Lilac(Lilac::Half::Lower).ID: return 7352; + case LilyOfTheValley::LilyOfTheValley().ID: return 1423; + case LilyPad::LilyPad().ID: return 4998; + case LimeBanner::LimeBanner(0).ID: return 7441; + case LimeBanner::LimeBanner(1).ID: return 7442; + case LimeBanner::LimeBanner(2).ID: return 7443; + case LimeBanner::LimeBanner(3).ID: return 7444; + case LimeBanner::LimeBanner(4).ID: return 7445; + case LimeBanner::LimeBanner(5).ID: return 7446; + case LimeBanner::LimeBanner(6).ID: return 7447; + case LimeBanner::LimeBanner(7).ID: return 7448; + case LimeBanner::LimeBanner(8).ID: return 7449; + case LimeBanner::LimeBanner(9).ID: return 7450; + case LimeBanner::LimeBanner(10).ID: return 7451; + case LimeBanner::LimeBanner(11).ID: return 7452; + case LimeBanner::LimeBanner(12).ID: return 7453; + case LimeBanner::LimeBanner(13).ID: return 7454; + case LimeBanner::LimeBanner(14).ID: return 7455; + case LimeBanner::LimeBanner(15).ID: return 7456; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 1128; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 1129; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 1130; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 1131; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 1132; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 1133; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 1134; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 1135; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 1136; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 1137; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 1138; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 1139; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 1140; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 1141; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 1142; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 1143; + case LimeCarpet::LimeCarpet().ID: return 7335; + case LimeConcrete::LimeConcrete().ID: return 8907; + case LimeConcretePowder::LimeConcretePowder().ID: return 8923; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8858; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8859; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8860; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8861; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8772; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8773; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8774; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8775; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8776; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8777; + case LimeStainedGlass::LimeStainedGlass().ID: return 4086; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 6489; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 6490; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 6493; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 6494; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 6497; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 6498; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 6501; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 6502; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 6505; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 6506; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 6509; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 6510; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 6513; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 6514; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 6517; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 6518; + case LimeTerracotta::LimeTerracotta().ID: return 6316; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7637; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7638; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7639; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7640; + case LimeWool::LimeWool().ID: return 1388; + case Loom::Loom(eBlockFace::BLOCK_FACE_ZM).ID: return 11131; + case Loom::Loom(eBlockFace::BLOCK_FACE_ZP).ID: return 11132; + case Loom::Loom(eBlockFace::BLOCK_FACE_XM).ID: return 11133; + case Loom::Loom(eBlockFace::BLOCK_FACE_XP).ID: return 11134; + case MagentaBanner::MagentaBanner(0).ID: return 7393; + case MagentaBanner::MagentaBanner(1).ID: return 7394; + case MagentaBanner::MagentaBanner(2).ID: return 7395; + case MagentaBanner::MagentaBanner(3).ID: return 7396; + case MagentaBanner::MagentaBanner(4).ID: return 7397; + case MagentaBanner::MagentaBanner(5).ID: return 7398; + case MagentaBanner::MagentaBanner(6).ID: return 7399; + case MagentaBanner::MagentaBanner(7).ID: return 7400; + case MagentaBanner::MagentaBanner(8).ID: return 7401; + case MagentaBanner::MagentaBanner(9).ID: return 7402; + case MagentaBanner::MagentaBanner(10).ID: return 7403; + case MagentaBanner::MagentaBanner(11).ID: return 7404; + case MagentaBanner::MagentaBanner(12).ID: return 7405; + case MagentaBanner::MagentaBanner(13).ID: return 7406; + case MagentaBanner::MagentaBanner(14).ID: return 7407; + case MagentaBanner::MagentaBanner(15).ID: return 7408; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 1080; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 1081; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 1082; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 1083; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 1084; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 1085; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 1086; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 1087; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 1088; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 1089; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 1090; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 1091; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 1092; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 1093; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 1094; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 1095; + case MagentaCarpet::MagentaCarpet().ID: return 7332; + case MagentaConcrete::MagentaConcrete().ID: return 8904; + case MagentaConcretePowder::MagentaConcretePowder().ID: return 8920; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8846; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8847; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8848; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8849; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8754; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8755; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8756; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8757; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8758; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8759; + case MagentaStainedGlass::MagentaStainedGlass().ID: return 4083; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 6393; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 6394; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 6397; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 6398; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 6401; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 6402; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 6405; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 6406; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 6409; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 6410; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 6413; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 6414; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 6417; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 6418; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 6421; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 6422; + case MagentaTerracotta::MagentaTerracotta().ID: return 6313; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7625; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7626; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7627; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7628; + case MagentaWool::MagentaWool().ID: return 1385; + case MagmaBlock::MagmaBlock().ID: return 8717; + case Melon::Melon().ID: return 4747; + case MelonStem::MelonStem(0).ID: return 4764; + case MelonStem::MelonStem(1).ID: return 4765; + case MelonStem::MelonStem(2).ID: return 4766; + case MelonStem::MelonStem(3).ID: return 4767; + case MelonStem::MelonStem(4).ID: return 4768; + case MelonStem::MelonStem(5).ID: return 4769; + case MelonStem::MelonStem(6).ID: return 4770; + case MelonStem::MelonStem(7).ID: return 4771; + case MossyCobblestone::MossyCobblestone().ID: return 1432; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Top).ID: return 10278; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Bottom).ID: return 10280; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Double).ID: return 10282; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9454; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9456; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9458; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9460; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9462; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9464; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9466; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9468; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9470; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9472; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9474; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9476; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9478; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9480; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9482; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9484; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9486; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9488; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9490; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9492; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9494; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9496; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9498; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9500; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9502; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9504; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9506; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9508; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9510; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9512; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9514; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9516; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9518; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9520; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9522; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9524; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9526; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9528; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9530; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9532; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5707; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5708; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5711; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5712; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5715; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5716; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5719; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5720; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5723; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5724; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5727; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5728; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5731; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5732; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5735; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5736; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5739; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5740; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5743; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5744; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5747; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5748; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5751; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5752; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5755; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5756; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5759; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5760; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5763; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5764; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5767; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5768; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Top).ID: return 10266; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Bottom).ID: return 10268; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Double).ID: return 10270; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9294; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9296; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9298; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9300; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9302; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9304; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9306; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9308; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9310; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9312; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9314; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9316; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9318; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9320; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9322; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9324; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9326; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9328; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9330; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9332; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9334; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9336; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9338; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9340; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9342; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9344; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9346; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9348; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9350; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9352; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9354; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9356; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9358; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9360; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9362; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9364; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9366; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9368; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9370; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9372; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10525; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10526; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10529; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10530; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10533; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10534; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10537; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10538; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10541; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10542; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10545; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10546; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10549; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10550; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10553; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10554; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10557; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10558; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10561; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10562; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10565; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10566; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10569; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10570; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10573; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10574; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10577; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10578; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10581; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 10582; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 10585; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 10586; + case MossyStoneBricks::MossyStoneBricks().ID: return 4482; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1399; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1400; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1401; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1402; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1403; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1404; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1405; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1406; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1407; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1408; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1409; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1410; + case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4619; + case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4620; + case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4621; + case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4622; + case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4623; + case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4624; + case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4625; + case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4626; + case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4627; + case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4628; + case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4629; + case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4630; + case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4631; + case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4632; + case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4633; + case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4634; + case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4635; + case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4636; + case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4637; + case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4638; + case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4639; + case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4640; + case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4641; + case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4642; + case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4643; + case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4644; + case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4645; + case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4646; + case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4647; + case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4648; + case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4649; + case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4650; + case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4651; + case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4652; + case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4653; + case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4654; + case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4655; + case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4656; + case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4657; + case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4658; + case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4659; + case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4660; + case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4661; + case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4662; + case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4663; + case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4664; + case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4665; + case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4666; + case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4667; + case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4668; + case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4669; + case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4670; + case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4671; + case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4672; + case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4673; + case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4674; + case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4675; + case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4676; + case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4677; + case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4678; + case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4679; + case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4680; + case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4681; + case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4682; + case Mycelium::Mycelium(true).ID: return 4996; + case Mycelium::Mycelium(false).ID: return 4997; + case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 5002; + case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 5003; + case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 5006; + case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 5007; + case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 5010; + case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 5011; + case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 5014; + case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 5015; + case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 5018; + case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 5019; + case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 5022; + case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 5023; + case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 5026; + case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 5027; + case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 5030; + case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 5031; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 7849; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 7851; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 7853; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5033; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5035; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5037; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5039; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5041; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5043; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5045; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5047; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5049; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5051; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5053; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5055; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5057; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5059; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5061; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5063; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5065; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5067; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5069; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5071; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5073; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5075; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5077; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5079; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5081; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5083; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5085; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5087; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5089; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5091; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5093; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5095; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5097; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5099; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5101; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5103; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5105; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5107; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5109; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5111; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10717; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 10718; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10721; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 10722; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10725; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 10726; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10729; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 10730; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10733; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 10734; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10737; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 10738; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10741; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 10742; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10745; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 10746; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10749; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 10750; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10753; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 10754; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10757; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 10758; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10761; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 10762; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10765; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 10766; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10769; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 10770; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 10773; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 10774; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 10777; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 10778; + case NetherBricks::NetherBricks().ID: return 4999; + case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 4000; + case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 4001; + case NetherQuartzOre::NetherQuartzOre().ID: return 6191; + case NetherWart::NetherWart(0).ID: return 5112; + case NetherWart::NetherWart(1).ID: return 5113; + case NetherWart::NetherWart(2).ID: return 5114; + case NetherWart::NetherWart(3).ID: return 5115; + case NetherWartBlock::NetherWartBlock().ID: return 8718; + case Netherrack::Netherrack().ID: return 3997; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 248; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 249; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 250; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 251; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 252; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 253; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 254; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 255; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 256; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 257; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 258; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 259; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 260; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 261; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 262; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 263; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 264; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 265; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 266; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 267; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 268; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 269; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 270; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 271; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 272; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 273; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 274; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 275; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 276; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 277; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 278; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 279; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 280; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 281; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 282; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 283; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 284; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 285; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 286; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 287; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 288; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 289; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 290; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 291; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 292; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 293; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 294; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 295; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 296; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 297; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 298; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 299; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 300; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 301; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 302; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 303; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 304; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 305; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 306; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 307; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 308; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 309; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 310; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 311; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 312; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 313; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 314; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 315; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 316; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 317; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 318; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 319; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 320; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 321; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 322; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 323; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 324; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 325; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 326; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 327; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 328; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 329; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 330; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 331; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 332; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 333; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 334; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 335; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 336; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 337; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 338; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 339; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 340; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 341; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 342; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 343; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 344; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 345; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 346; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 347; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 348; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 349; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 350; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 351; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 352; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 353; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 354; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 355; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 356; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 357; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 358; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 359; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 360; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 361; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 362; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 363; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 364; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 365; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 366; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 367; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 368; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 369; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 370; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 371; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 372; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 373; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 374; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 375; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 376; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 377; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 378; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 379; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 380; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 381; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 382; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 383; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 384; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 385; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 386; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 387; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 388; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 389; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 390; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 391; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 392; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 393; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 394; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 395; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 396; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 397; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 398; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 399; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 400; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 401; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 402; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 403; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 404; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 405; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 406; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 407; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 408; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 409; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 410; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 411; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 412; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 413; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 414; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 415; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 416; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 417; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 418; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 419; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 420; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 421; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 422; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 423; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 424; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 425; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 426; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 427; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 428; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 429; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 430; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 431; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 432; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 433; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 434; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 435; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 436; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 437; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 438; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 439; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 440; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 441; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 442; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 443; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 444; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 445; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 446; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 447; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 448; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 449; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 450; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 451; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 452; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 453; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 454; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 455; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 456; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 457; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 458; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 459; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 460; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 461; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 462; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 463; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 464; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 465; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 466; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 467; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 468; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 469; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 470; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 471; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 472; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 473; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 474; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 475; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 476; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 477; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 478; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 479; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 480; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 481; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 482; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 483; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 484; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 485; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 486; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 487; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 488; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 489; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 490; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 491; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 492; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 493; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 494; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 495; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 496; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 497; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 498; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 499; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 500; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 501; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 502; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 503; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 504; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 505; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 506; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 507; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 508; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 509; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 510; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 511; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 512; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 513; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 514; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 515; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 516; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 517; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 518; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 519; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 520; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 521; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 522; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 523; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 524; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 525; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 526; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 527; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 528; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 529; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 530; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 531; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 532; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 533; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 534; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 535; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 536; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 537; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 538; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 539; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 540; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 541; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 542; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 543; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 544; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 545; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 546; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 547; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 548; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 549; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 550; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 551; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 552; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 553; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 554; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 555; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 556; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 557; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 558; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 559; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 560; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 561; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 562; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 563; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 564; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 565; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 566; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 567; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 568; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 569; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 570; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 571; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 572; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 573; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 574; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 575; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 576; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 577; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 578; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 579; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 580; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 581; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 582; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 583; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 584; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 585; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 586; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 587; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 588; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 589; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 590; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 591; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 592; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 593; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 594; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 595; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 596; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 597; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 598; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 599; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 600; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 601; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 602; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 603; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 604; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 605; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 606; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 607; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 608; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 609; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 610; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 611; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 612; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 613; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 614; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 615; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 616; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 617; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 618; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 619; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 620; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 621; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 622; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 623; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 624; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 625; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 626; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 627; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 628; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 629; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 630; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 631; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 632; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 633; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 634; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 635; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 636; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 637; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 638; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 639; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 640; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 641; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 642; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 643; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 644; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 645; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 646; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 647; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 648; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 649; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 650; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 651; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 652; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 653; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 654; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 655; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 656; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 657; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 658; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 659; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 660; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 661; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 662; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 663; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 664; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 665; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 666; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 667; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 668; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 669; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 670; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 671; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 672; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 673; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 674; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 675; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 676; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 677; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 678; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 679; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 680; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 681; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 682; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 683; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 684; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 685; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 686; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 687; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 688; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 689; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 690; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 691; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 692; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 693; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 694; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 695; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 696; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 697; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 698; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 699; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 700; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 701; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 702; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 703; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 704; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 705; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 706; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 707; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 708; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 709; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 710; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 711; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 712; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 713; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 714; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 715; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 716; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 717; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 718; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 719; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 720; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 721; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 722; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 723; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 724; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 725; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 726; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 727; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 728; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 729; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 730; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 731; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 732; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 733; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 734; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 735; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 736; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 737; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 738; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 739; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 740; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 741; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 742; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 743; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 744; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 745; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 746; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 747; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, true).ID: return 748; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, false).ID: return 749; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, true).ID: return 750; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, false).ID: return 751; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, true).ID: return 752; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, false).ID: return 753; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, true).ID: return 754; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, false).ID: return 755; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, true).ID: return 756; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, false).ID: return 757; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, true).ID: return 758; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, false).ID: return 759; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, true).ID: return 760; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, false).ID: return 761; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, true).ID: return 762; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, false).ID: return 763; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, true).ID: return 764; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, false).ID: return 765; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, true).ID: return 766; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, false).ID: return 767; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, true).ID: return 768; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, false).ID: return 769; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, true).ID: return 770; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, false).ID: return 771; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, true).ID: return 772; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, false).ID: return 773; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, true).ID: return 774; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, false).ID: return 775; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, true).ID: return 776; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, false).ID: return 777; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, true).ID: return 778; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, false).ID: return 779; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, true).ID: return 780; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, false).ID: return 781; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, true).ID: return 782; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, false).ID: return 783; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, true).ID: return 784; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, false).ID: return 785; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, true).ID: return 786; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, false).ID: return 787; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, true).ID: return 788; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, false).ID: return 789; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, true).ID: return 790; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, false).ID: return 791; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, true).ID: return 792; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, false).ID: return 793; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, true).ID: return 794; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, false).ID: return 795; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, true).ID: return 796; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, false).ID: return 797; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, true).ID: return 798; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, false).ID: return 799; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, true).ID: return 800; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, false).ID: return 801; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, true).ID: return 802; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, false).ID: return 803; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, true).ID: return 804; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, false).ID: return 805; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, true).ID: return 806; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, false).ID: return 807; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, true).ID: return 808; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, false).ID: return 809; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, true).ID: return 810; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, false).ID: return 811; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, true).ID: return 812; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, false).ID: return 813; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, true).ID: return 814; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, false).ID: return 815; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, true).ID: return 816; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, false).ID: return 817; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, true).ID: return 818; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, false).ID: return 819; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, true).ID: return 820; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, false).ID: return 821; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, true).ID: return 822; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, false).ID: return 823; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, true).ID: return 824; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, false).ID: return 825; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, true).ID: return 826; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, false).ID: return 827; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, true).ID: return 828; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, false).ID: return 829; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, true).ID: return 830; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, false).ID: return 831; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, true).ID: return 832; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, false).ID: return 833; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, true).ID: return 834; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, false).ID: return 835; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, true).ID: return 836; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, false).ID: return 837; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, true).ID: return 838; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, false).ID: return 839; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, true).ID: return 840; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, false).ID: return 841; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, true).ID: return 842; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, false).ID: return 843; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, true).ID: return 844; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, false).ID: return 845; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, true).ID: return 846; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, false).ID: return 847; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, true).ID: return 848; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, false).ID: return 849; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, true).ID: return 850; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, false).ID: return 851; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, true).ID: return 852; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, false).ID: return 853; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, true).ID: return 854; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, false).ID: return 855; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, true).ID: return 856; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, false).ID: return 857; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, true).ID: return 858; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, false).ID: return 859; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, true).ID: return 860; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, false).ID: return 861; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, true).ID: return 862; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, false).ID: return 863; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, true).ID: return 864; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, false).ID: return 865; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, true).ID: return 866; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, false).ID: return 867; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, true).ID: return 868; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, false).ID: return 869; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, true).ID: return 870; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, false).ID: return 871; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, true).ID: return 872; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, false).ID: return 873; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, true).ID: return 874; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, false).ID: return 875; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, true).ID: return 876; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, false).ID: return 877; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, true).ID: return 878; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, false).ID: return 879; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, true).ID: return 880; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, false).ID: return 881; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, true).ID: return 882; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, false).ID: return 883; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, true).ID: return 884; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, false).ID: return 885; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, true).ID: return 886; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, false).ID: return 887; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, true).ID: return 888; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, false).ID: return 889; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, true).ID: return 890; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, false).ID: return 891; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, true).ID: return 892; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, false).ID: return 893; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, true).ID: return 894; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, false).ID: return 895; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, true).ID: return 896; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, false).ID: return 897; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, true).ID: return 898; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, false).ID: return 899; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, true).ID: return 900; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, false).ID: return 901; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, true).ID: return 902; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, false).ID: return 903; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, true).ID: return 904; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, false).ID: return 905; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, true).ID: return 906; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, false).ID: return 907; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, true).ID: return 908; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, false).ID: return 909; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, true).ID: return 910; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, false).ID: return 911; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, true).ID: return 912; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, false).ID: return 913; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, true).ID: return 914; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, false).ID: return 915; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, true).ID: return 916; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, false).ID: return 917; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, true).ID: return 918; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, false).ID: return 919; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, true).ID: return 920; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, false).ID: return 921; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, true).ID: return 922; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, false).ID: return 923; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, true).ID: return 924; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, false).ID: return 925; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, true).ID: return 926; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, false).ID: return 927; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, true).ID: return 928; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, false).ID: return 929; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, true).ID: return 930; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, false).ID: return 931; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, true).ID: return 932; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, false).ID: return 933; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, true).ID: return 934; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, false).ID: return 935; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, true).ID: return 936; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, false).ID: return 937; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, true).ID: return 938; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, false).ID: return 939; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, true).ID: return 940; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, false).ID: return 941; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, true).ID: return 942; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, false).ID: return 943; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, true).ID: return 944; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, false).ID: return 945; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, true).ID: return 946; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, false).ID: return 947; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, true).ID: return 948; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, false).ID: return 949; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, true).ID: return 950; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, false).ID: return 951; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, true).ID: return 952; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, false).ID: return 953; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, true).ID: return 954; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, false).ID: return 955; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, true).ID: return 956; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, false).ID: return 957; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, true).ID: return 958; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, false).ID: return 959; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, true).ID: return 960; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, false).ID: return 961; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, true).ID: return 962; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, false).ID: return 963; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, true).ID: return 964; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, false).ID: return 965; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, true).ID: return 966; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, false).ID: return 967; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, true).ID: return 968; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, false).ID: return 969; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, true).ID: return 970; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, false).ID: return 971; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, true).ID: return 972; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, false).ID: return 973; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, true).ID: return 974; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, false).ID: return 975; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, true).ID: return 976; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, false).ID: return 977; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, true).ID: return 978; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, false).ID: return 979; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, true).ID: return 980; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, false).ID: return 981; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, true).ID: return 982; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, false).ID: return 983; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, true).ID: return 984; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, false).ID: return 985; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, true).ID: return 986; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, false).ID: return 987; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, true).ID: return 988; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, false).ID: return 989; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, true).ID: return 990; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, false).ID: return 991; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, true).ID: return 992; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, false).ID: return 993; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, true).ID: return 994; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, false).ID: return 995; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, true).ID: return 996; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, false).ID: return 997; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, true).ID: return 998; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, false).ID: return 999; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, true).ID: return 1000; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, false).ID: return 1001; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, true).ID: return 1002; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, false).ID: return 1003; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, true).ID: return 1004; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, false).ID: return 1005; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, true).ID: return 1006; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, false).ID: return 1007; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, true).ID: return 1008; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, false).ID: return 1009; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, true).ID: return 1010; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, false).ID: return 1011; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, true).ID: return 1012; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, false).ID: return 1013; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, true).ID: return 1014; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, false).ID: return 1015; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, true).ID: return 1016; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, false).ID: return 1017; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, true).ID: return 1018; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, false).ID: return 1019; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, true).ID: return 1020; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, false).ID: return 1021; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, true).ID: return 1022; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, false).ID: return 1023; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, true).ID: return 1024; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, false).ID: return 1025; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, true).ID: return 1026; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, false).ID: return 1027; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, true).ID: return 1028; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, false).ID: return 1029; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, true).ID: return 1030; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, false).ID: return 1031; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, true).ID: return 1032; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, false).ID: return 1033; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, true).ID: return 1034; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, false).ID: return 1035; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, true).ID: return 1036; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, false).ID: return 1037; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, true).ID: return 1038; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, false).ID: return 1039; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, true).ID: return 1040; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, false).ID: return 1041; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, true).ID: return 1042; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, false).ID: return 1043; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, true).ID: return 1044; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, false).ID: return 1045; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, true).ID: return 1046; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, false).ID: return 1047; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5810; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5811; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5812; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5813; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5814; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5815; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5816; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5817; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5818; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5819; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5820; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5821; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5822; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5823; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5824; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5825; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5826; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5827; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5828; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5829; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5830; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5831; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5832; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5833; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3571; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3572; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3573; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3574; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3575; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3576; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3577; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3578; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3579; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3580; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3581; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3582; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3583; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3584; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3585; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3586; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3587; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3588; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3589; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3590; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3591; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3592; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3593; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3594; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3595; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3596; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3597; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3598; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3599; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3600; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3601; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3602; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3603; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3604; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3605; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3606; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3607; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3608; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3609; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3610; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3611; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3612; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3613; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3614; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3615; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3616; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3617; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3618; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3619; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3620; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3621; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3622; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3623; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3624; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3625; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3626; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3627; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3628; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3629; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3630; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3631; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3632; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3633; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3634; + case OakFence::OakFence(true, true, true, true).ID: return 3966; + case OakFence::OakFence(true, true, true, false).ID: return 3967; + case OakFence::OakFence(true, true, false, true).ID: return 3970; + case OakFence::OakFence(true, true, false, false).ID: return 3971; + case OakFence::OakFence(true, false, true, true).ID: return 3974; + case OakFence::OakFence(true, false, true, false).ID: return 3975; + case OakFence::OakFence(true, false, false, true).ID: return 3978; + case OakFence::OakFence(true, false, false, false).ID: return 3979; + case OakFence::OakFence(false, true, true, true).ID: return 3982; + case OakFence::OakFence(false, true, true, false).ID: return 3983; + case OakFence::OakFence(false, true, false, true).ID: return 3986; + case OakFence::OakFence(false, true, false, false).ID: return 3987; + case OakFence::OakFence(false, false, true, true).ID: return 3990; + case OakFence::OakFence(false, false, true, false).ID: return 3991; + case OakFence::OakFence(false, false, false, true).ID: return 3994; + case OakFence::OakFence(false, false, false, false).ID: return 3995; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4804; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4805; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4806; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4807; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4808; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4809; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4810; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4811; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4812; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4813; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4814; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4815; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4816; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4817; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4818; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4819; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4820; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4821; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4822; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4823; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4824; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4825; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4826; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4827; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4828; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4829; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4830; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4831; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4832; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4833; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4834; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4835; + case OakLeaves::OakLeaves(1, true).ID: return 144; + case OakLeaves::OakLeaves(1, false).ID: return 145; + case OakLeaves::OakLeaves(2, true).ID: return 146; + case OakLeaves::OakLeaves(2, false).ID: return 147; + case OakLeaves::OakLeaves(3, true).ID: return 148; + case OakLeaves::OakLeaves(3, false).ID: return 149; + case OakLeaves::OakLeaves(4, true).ID: return 150; + case OakLeaves::OakLeaves(4, false).ID: return 151; + case OakLeaves::OakLeaves(5, true).ID: return 152; + case OakLeaves::OakLeaves(5, false).ID: return 153; + case OakLeaves::OakLeaves(6, true).ID: return 154; + case OakLeaves::OakLeaves(6, false).ID: return 155; + case OakLeaves::OakLeaves(7, true).ID: return 156; + case OakLeaves::OakLeaves(7, false).ID: return 157; + case OakLog::OakLog(OakLog::Axis::X).ID: return 72; + case OakLog::OakLog(OakLog::Axis::Y).ID: return 73; + case OakLog::OakLog(OakLog::Axis::Z).ID: return 74; + case OakPlanks::OakPlanks().ID: return 15; + case OakPressurePlate::OakPressurePlate(true).ID: return 3871; + case OakPressurePlate::OakPressurePlate(false).ID: return 3872; + case OakSapling::OakSapling(0).ID: return 21; + case OakSapling::OakSapling(1).ID: return 22; + case OakSign::OakSign(0).ID: return 3380; + case OakSign::OakSign(1).ID: return 3382; + case OakSign::OakSign(2).ID: return 3384; + case OakSign::OakSign(3).ID: return 3386; + case OakSign::OakSign(4).ID: return 3388; + case OakSign::OakSign(5).ID: return 3390; + case OakSign::OakSign(6).ID: return 3392; + case OakSign::OakSign(7).ID: return 3394; + case OakSign::OakSign(8).ID: return 3396; + case OakSign::OakSign(9).ID: return 3398; + case OakSign::OakSign(10).ID: return 3400; + case OakSign::OakSign(11).ID: return 3402; + case OakSign::OakSign(12).ID: return 3404; + case OakSign::OakSign(13).ID: return 3406; + case OakSign::OakSign(14).ID: return 3408; + case OakSign::OakSign(15).ID: return 3410; + case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 7765; + case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 7767; + case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 7769; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1953; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1955; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1957; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1959; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1961; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1963; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1965; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1967; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1969; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1971; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1973; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1975; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1977; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1979; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1981; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1983; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1985; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1987; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1989; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1991; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1993; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1995; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1997; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1999; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 2001; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 2003; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 2005; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 2007; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 2009; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 2011; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 2013; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 2015; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 2017; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 2019; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 2021; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 2023; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 2025; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 2027; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 2029; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 2031; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 4098; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 4100; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 4102; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 4104; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 4106; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: + return 4108; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: + return 4110; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: + return 4112; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 4114; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 4116; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 4118; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 4120; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 4122; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: + return 4124; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: + return 4126; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: + return 4128; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 4130; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 4132; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 4134; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 4136; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 4138; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: + return 4140; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: + return 4142; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: + return 4144; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 4146; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 4148; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 4150; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 4152; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 4154; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: + return 4156; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: + return 4158; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: + return 4160; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3734; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3736; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3738; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3740; + case OakWood::OakWood(OakWood::Axis::X).ID: return 108; + case OakWood::OakWood(OakWood::Axis::Y).ID: return 109; + case OakWood::OakWood(OakWood::Axis::Z).ID: return 110; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 8724; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 8725; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 8726; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 8727; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 8728; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 8729; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 8730; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 8731; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 8732; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 8733; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 8734; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 8735; + case Obsidian::Obsidian().ID: return 1433; + case OrangeBanner::OrangeBanner(0).ID: return 7377; + case OrangeBanner::OrangeBanner(1).ID: return 7378; + case OrangeBanner::OrangeBanner(2).ID: return 7379; + case OrangeBanner::OrangeBanner(3).ID: return 7380; + case OrangeBanner::OrangeBanner(4).ID: return 7381; + case OrangeBanner::OrangeBanner(5).ID: return 7382; + case OrangeBanner::OrangeBanner(6).ID: return 7383; + case OrangeBanner::OrangeBanner(7).ID: return 7384; + case OrangeBanner::OrangeBanner(8).ID: return 7385; + case OrangeBanner::OrangeBanner(9).ID: return 7386; + case OrangeBanner::OrangeBanner(10).ID: return 7387; + case OrangeBanner::OrangeBanner(11).ID: return 7388; + case OrangeBanner::OrangeBanner(12).ID: return 7389; + case OrangeBanner::OrangeBanner(13).ID: return 7390; + case OrangeBanner::OrangeBanner(14).ID: return 7391; + case OrangeBanner::OrangeBanner(15).ID: return 7392; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 1064; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 1065; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 1066; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 1067; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 1068; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 1069; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 1070; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 1071; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 1072; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 1073; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 1074; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 1075; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 1076; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 1077; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 1078; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 1079; + case OrangeCarpet::OrangeCarpet().ID: return 7331; + case OrangeConcrete::OrangeConcrete().ID: return 8903; + case OrangeConcretePowder::OrangeConcretePowder().ID: return 8919; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8842; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8843; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8844; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8845; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8748; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8749; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8750; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8751; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8752; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8753; + case OrangeStainedGlass::OrangeStainedGlass().ID: return 4082; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 6361; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 6362; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 6365; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 6366; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 6369; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 6370; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 6373; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 6374; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 6377; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 6378; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 6381; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 6382; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 6385; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 6386; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 6389; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 6390; + case OrangeTerracotta::OrangeTerracotta().ID: return 6312; + case OrangeTulip::OrangeTulip().ID: return 1417; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7621; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7622; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7623; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7624; + case OrangeWool::OrangeWool().ID: return 1384; + case OxeyeDaisy::OxeyeDaisy().ID: return 1420; + case PackedIce::PackedIce().ID: return 7348; + case Peony::Peony(Peony::Half::Upper).ID: return 7355; + case Peony::Peony(Peony::Half::Lower).ID: return 7356; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 7825; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 7827; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 7829; + case PinkBanner::PinkBanner(0).ID: return 7457; + case PinkBanner::PinkBanner(1).ID: return 7458; + case PinkBanner::PinkBanner(2).ID: return 7459; + case PinkBanner::PinkBanner(3).ID: return 7460; + case PinkBanner::PinkBanner(4).ID: return 7461; + case PinkBanner::PinkBanner(5).ID: return 7462; + case PinkBanner::PinkBanner(6).ID: return 7463; + case PinkBanner::PinkBanner(7).ID: return 7464; + case PinkBanner::PinkBanner(8).ID: return 7465; + case PinkBanner::PinkBanner(9).ID: return 7466; + case PinkBanner::PinkBanner(10).ID: return 7467; + case PinkBanner::PinkBanner(11).ID: return 7468; + case PinkBanner::PinkBanner(12).ID: return 7469; + case PinkBanner::PinkBanner(13).ID: return 7470; + case PinkBanner::PinkBanner(14).ID: return 7471; + case PinkBanner::PinkBanner(15).ID: return 7472; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 1144; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 1145; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 1146; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 1147; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 1148; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 1149; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 1150; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 1151; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 1152; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 1153; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 1154; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 1155; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 1156; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 1157; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 1158; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 1159; + case PinkCarpet::PinkCarpet().ID: return 7336; + case PinkConcrete::PinkConcrete().ID: return 8908; + case PinkConcretePowder::PinkConcretePowder().ID: return 8924; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8862; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8863; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8864; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8865; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8778; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8779; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8780; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8781; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8782; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8783; + case PinkStainedGlass::PinkStainedGlass().ID: return 4087; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 6521; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 6522; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 6525; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 6526; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 6529; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 6530; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 6533; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 6534; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 6537; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 6538; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 6541; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 6542; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 6545; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 6546; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 6549; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 6550; + case PinkTerracotta::PinkTerracotta().ID: return 6317; + case PinkTulip::PinkTulip().ID: return 1419; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7641; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7642; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7643; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7644; + case PinkWool::PinkWool().ID: return 1389; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1347; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1348; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1349; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1350; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1351; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1352; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1353; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1354; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1355; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1356; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1357; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1358; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1359; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1360; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1361; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1362; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1363; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1364; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1365; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1366; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1367; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1368; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1369; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1370; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1371; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1372; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1373; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1374; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1375; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1376; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1377; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1378; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1379; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1380; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1381; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1382; + case PlayerHead::PlayerHead(0).ID: return 6014; + case PlayerHead::PlayerHead(1).ID: return 6015; + case PlayerHead::PlayerHead(2).ID: return 6016; + case PlayerHead::PlayerHead(3).ID: return 6017; + case PlayerHead::PlayerHead(4).ID: return 6018; + case PlayerHead::PlayerHead(5).ID: return 6019; + case PlayerHead::PlayerHead(6).ID: return 6020; + case PlayerHead::PlayerHead(7).ID: return 6021; + case PlayerHead::PlayerHead(8).ID: return 6022; + case PlayerHead::PlayerHead(9).ID: return 6023; + case PlayerHead::PlayerHead(10).ID: return 6024; + case PlayerHead::PlayerHead(11).ID: return 6025; + case PlayerHead::PlayerHead(12).ID: return 6026; + case PlayerHead::PlayerHead(13).ID: return 6027; + case PlayerHead::PlayerHead(14).ID: return 6028; + case PlayerHead::PlayerHead(15).ID: return 6029; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6030; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6031; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6032; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6033; + case Podzol::Podzol(true).ID: return 12; + case Podzol::Podzol(false).ID: return 13; + case PolishedAndesite::PolishedAndesite().ID: return 7; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Top).ID: return 10320; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Bottom).ID: return 10322; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Double).ID: return 10324; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10094; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10096; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10098; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10100; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10102; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10104; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10106; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10108; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10110; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10112; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10114; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10116; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10118; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10120; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10122; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10124; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10126; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10128; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10130; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10132; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10134; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10136; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10138; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10140; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10142; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10144; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10146; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10148; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10150; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10152; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10154; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10156; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10158; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10160; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10162; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10164; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10166; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10168; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10170; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10172; + case PolishedDiorite::PolishedDiorite().ID: return 5; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Top).ID: return 10272; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Bottom).ID: return 10274; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Double).ID: return 10276; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9374; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9376; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9378; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9380; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9382; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9384; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9386; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9388; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9390; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9392; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9394; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9396; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9398; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9400; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9402; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9404; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9406; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9408; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9410; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9412; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9414; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9416; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9418; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9420; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9422; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9424; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9426; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9428; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9430; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9432; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9434; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9436; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9438; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9440; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9442; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9444; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9446; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9448; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9450; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9452; + case PolishedGranite::PolishedGranite().ID: return 3; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Top).ID: return 10254; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Bottom).ID: return 10256; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Double).ID: return 10258; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9134; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9136; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9138; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9140; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9142; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9144; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9146; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9148; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9150; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9152; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9154; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9156; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9158; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9160; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9162; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9164; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9166; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9168; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9170; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9172; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9174; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9176; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9178; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9180; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9182; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9184; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9186; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9188; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9190; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9192; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9194; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9196; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9198; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9200; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9202; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9204; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9206; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9208; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9210; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9212; + case Poppy::Poppy().ID: return 1412; + case Potatoes::Potatoes(0).ID: return 5802; + case Potatoes::Potatoes(1).ID: return 5803; + case Potatoes::Potatoes(2).ID: return 5804; + case Potatoes::Potatoes(3).ID: return 5805; + case Potatoes::Potatoes(4).ID: return 5806; + case Potatoes::Potatoes(5).ID: return 5807; + case Potatoes::Potatoes(6).ID: return 5808; + case Potatoes::Potatoes(7).ID: return 5809; + case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 5774; + case PottedAllium::PottedAllium().ID: return 5780; + case PottedAzureBluet::PottedAzureBluet().ID: return 5781; + case PottedBamboo::PottedBamboo().ID: return 9128; + case PottedBirchSapling::PottedBirchSapling().ID: return 5772; + case PottedBlueOrchid::PottedBlueOrchid().ID: return 5779; + case PottedBrownMushroom::PottedBrownMushroom().ID: return 5791; + case PottedCactus::PottedCactus().ID: return 5793; + case PottedCornflower::PottedCornflower().ID: return 5787; + case PottedDandelion::PottedDandelion().ID: return 5777; + case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 5775; + case PottedDeadBush::PottedDeadBush().ID: return 5792; + case PottedFern::PottedFern().ID: return 5776; + case PottedJungleSapling::PottedJungleSapling().ID: return 5773; + case PottedLilyOfTheValley::PottedLilyOfTheValley().ID: return 5788; + case PottedOakSapling::PottedOakSapling().ID: return 5770; + case PottedOrangeTulip::PottedOrangeTulip().ID: return 5783; + case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 5786; + case PottedPinkTulip::PottedPinkTulip().ID: return 5785; + case PottedPoppy::PottedPoppy().ID: return 5778; + case PottedRedMushroom::PottedRedMushroom().ID: return 5790; + case PottedRedTulip::PottedRedTulip().ID: return 5782; + case PottedSpruceSapling::PottedSpruceSapling().ID: return 5771; + case PottedWhiteTulip::PottedWhiteTulip().ID: return 5784; + case PottedWitherRose::PottedWitherRose().ID: return 5789; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1304; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1305; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1306; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1307; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1308; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1309; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1310; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1311; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1312; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1313; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1314; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1315; + case Prismarine::Prismarine().ID: return 7065; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 7315; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 7317; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 7319; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7149; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7151; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7153; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7155; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7157; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7159; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7161; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7163; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7165; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7167; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7169; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7171; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7173; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7175; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7177; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7179; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7181; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7183; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7185; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7187; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7189; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7191; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7193; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7195; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7197; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7199; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7201; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7203; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7205; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7207; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7209; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7211; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7213; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7215; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7217; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7219; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7221; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7223; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7225; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7227; + case PrismarineBricks::PrismarineBricks().ID: return 7066; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 7309; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 7311; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 7313; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7069; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7071; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7073; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7075; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7077; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7079; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7081; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7083; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7085; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7087; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7089; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7091; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7093; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7095; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7097; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7099; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7101; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7103; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7105; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7107; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7109; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7111; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7113; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7115; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7117; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7119; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7121; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7123; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7125; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7127; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7129; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7131; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7133; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7135; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7137; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7139; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7141; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7143; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7145; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7147; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 10397; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 10398; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 10401; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 10402; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 10405; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 10406; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 10409; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 10410; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 10413; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 10414; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 10417; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 10418; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 10421; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 10422; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 10425; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 10426; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 10429; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 10430; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 10433; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 10434; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 10437; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 10438; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 10441; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 10442; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 10445; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 10446; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 10449; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 10450; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 10453; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 10454; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 10457; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 10458; + case Pumpkin::Pumpkin().ID: return 3996; + case PumpkinStem::PumpkinStem(0).ID: return 4756; + case PumpkinStem::PumpkinStem(1).ID: return 4757; + case PumpkinStem::PumpkinStem(2).ID: return 4758; + case PumpkinStem::PumpkinStem(3).ID: return 4759; + case PumpkinStem::PumpkinStem(4).ID: return 4760; + case PumpkinStem::PumpkinStem(5).ID: return 4761; + case PumpkinStem::PumpkinStem(6).ID: return 4762; + case PumpkinStem::PumpkinStem(7).ID: return 4763; + case PurpleBanner::PurpleBanner(0).ID: return 7521; + case PurpleBanner::PurpleBanner(1).ID: return 7522; + case PurpleBanner::PurpleBanner(2).ID: return 7523; + case PurpleBanner::PurpleBanner(3).ID: return 7524; + case PurpleBanner::PurpleBanner(4).ID: return 7525; + case PurpleBanner::PurpleBanner(5).ID: return 7526; + case PurpleBanner::PurpleBanner(6).ID: return 7527; + case PurpleBanner::PurpleBanner(7).ID: return 7528; + case PurpleBanner::PurpleBanner(8).ID: return 7529; + case PurpleBanner::PurpleBanner(9).ID: return 7530; + case PurpleBanner::PurpleBanner(10).ID: return 7531; + case PurpleBanner::PurpleBanner(11).ID: return 7532; + case PurpleBanner::PurpleBanner(12).ID: return 7533; + case PurpleBanner::PurpleBanner(13).ID: return 7534; + case PurpleBanner::PurpleBanner(14).ID: return 7535; + case PurpleBanner::PurpleBanner(15).ID: return 7536; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 1208; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 1209; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 1210; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 1211; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 1212; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 1213; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 1214; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 1215; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 1216; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 1217; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 1218; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 1219; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 1220; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 1221; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 1222; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 1223; + case PurpleCarpet::PurpleCarpet().ID: return 7340; + case PurpleConcrete::PurpleConcrete().ID: return 8912; + case PurpleConcretePowder::PurpleConcretePowder().ID: return 8928; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8878; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8879; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8880; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8881; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8802; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8803; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8804; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8805; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8806; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8807; + case PurpleStainedGlass::PurpleStainedGlass().ID: return 4091; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 6649; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 6650; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 6653; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 6654; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 6657; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 6658; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 6661; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 6662; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 6665; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 6666; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 6669; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 6670; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 6673; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 6674; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 6677; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 6678; + case PurpleTerracotta::PurpleTerracotta().ID: return 6321; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7657; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7658; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7659; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7660; + case PurpleWool::PurpleWool().ID: return 1393; + case PurpurBlock::PurpurBlock().ID: return 8598; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 8599; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 8600; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 8601; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 7873; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 7875; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 7877; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8603; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8605; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8607; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8609; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8611; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8613; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8615; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8617; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8619; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8621; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8623; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8625; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8627; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8629; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8631; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8633; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8635; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8637; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8639; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8641; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8643; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8645; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8647; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8649; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8651; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8653; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8655; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8657; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8659; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8661; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 8663; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8665; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8667; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8669; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8671; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 8673; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 8675; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 8677; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 8679; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 8681; + case QuartzBlock::QuartzBlock().ID: return 6202; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 6204; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 6205; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 6206; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 7855; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 7857; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 7859; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6208; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6210; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6212; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6214; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6216; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6218; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6220; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6222; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6224; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6226; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6228; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6230; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6232; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6234; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6236; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6238; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6240; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6242; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6244; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6246; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6248; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6250; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6252; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6254; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6256; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6258; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6260; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6262; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6264; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6266; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6268; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6270; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6272; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6274; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6276; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6278; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6280; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6282; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6284; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6286; + case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3643; + case Rail::Rail(Rail::Shape::EastWest).ID: return 3644; + case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3645; + case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3646; + case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3647; + case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3648; + case Rail::Rail(Rail::Shape::SouthEast).ID: return 3649; + case Rail::Rail(Rail::Shape::SouthWest).ID: return 3650; + case Rail::Rail(Rail::Shape::NorthWest).ID: return 3651; + case Rail::Rail(Rail::Shape::NorthEast).ID: return 3652; + case RedBanner::RedBanner(0).ID: return 7585; + case RedBanner::RedBanner(1).ID: return 7586; + case RedBanner::RedBanner(2).ID: return 7587; + case RedBanner::RedBanner(3).ID: return 7588; + case RedBanner::RedBanner(4).ID: return 7589; + case RedBanner::RedBanner(5).ID: return 7590; + case RedBanner::RedBanner(6).ID: return 7591; + case RedBanner::RedBanner(7).ID: return 7592; + case RedBanner::RedBanner(8).ID: return 7593; + case RedBanner::RedBanner(9).ID: return 7594; + case RedBanner::RedBanner(10).ID: return 7595; + case RedBanner::RedBanner(11).ID: return 7596; + case RedBanner::RedBanner(12).ID: return 7597; + case RedBanner::RedBanner(13).ID: return 7598; + case RedBanner::RedBanner(14).ID: return 7599; + case RedBanner::RedBanner(15).ID: return 7600; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 1272; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 1273; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 1274; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 1275; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 1276; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 1277; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 1278; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 1279; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 1280; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 1281; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 1282; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 1283; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 1284; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 1285; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 1286; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 1287; + case RedCarpet::RedCarpet().ID: return 7344; + case RedConcrete::RedConcrete().ID: return 8916; + case RedConcretePowder::RedConcretePowder().ID: return 8932; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8894; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8895; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8896; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8897; + case RedMushroom::RedMushroom().ID: return 1425; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4555; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4556; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4557; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4558; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4559; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4560; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4561; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4562; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4563; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4564; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4565; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4566; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4567; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4568; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4569; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4570; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4571; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4572; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4573; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4574; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4575; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4576; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4577; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4578; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4579; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4580; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4581; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4582; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4583; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4584; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4585; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4586; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4587; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4588; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4589; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4590; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4591; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4592; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4593; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4594; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4595; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4596; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4597; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4598; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4599; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4600; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4601; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4602; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4603; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4604; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4605; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4606; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4607; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4608; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4609; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4610; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4611; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4612; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4613; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4614; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4615; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4616; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4617; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4618; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Top).ID: return 10314; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Bottom).ID: return 10316; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Double).ID: return 10318; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10014; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10016; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10018; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10020; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10022; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10024; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10026; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10028; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10030; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10032; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10034; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10036; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10038; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10040; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10042; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10044; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10046; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10048; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10050; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10052; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10054; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10056; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10058; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10060; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10062; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10064; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10066; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10068; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10070; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10072; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10074; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10076; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10078; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10080; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10082; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10084; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10086; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10088; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10090; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10092; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10845; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10846; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10849; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10850; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10853; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10854; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10857; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10858; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10861; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10862; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10865; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10866; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10869; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10870; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10873; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10874; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10877; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10878; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10881; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10882; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10885; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10886; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10889; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10890; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10893; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10894; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10897; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10898; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 10901; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 10902; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 10905; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 10906; + case RedNetherBricks::RedNetherBricks().ID: return 8719; + case RedSand::RedSand().ID: return 67; + case RedSandstone::RedSandstone().ID: return 7681; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 7861; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 7863; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 7865; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7685; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7687; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7689; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7691; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7693; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7695; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7697; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7699; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7701; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7703; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7705; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7707; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7709; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7711; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7713; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7715; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7717; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7719; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7721; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7723; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7725; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7727; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7729; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7731; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7733; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7735; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7737; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7739; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7741; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7743; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7745; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7747; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7749; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7751; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7753; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 7755; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 7757; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 7759; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 7761; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 7763; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10461; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10462; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10465; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10466; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10469; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10470; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10473; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10474; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10477; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10478; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10481; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10482; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10485; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10486; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10489; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10490; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10493; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10494; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10497; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10498; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10501; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10502; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10505; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10506; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10509; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10510; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10513; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10514; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 10517; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 10518; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 10521; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 10522; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8826; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8827; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8828; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8829; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8830; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8831; + case RedStainedGlass::RedStainedGlass().ID: return 4095; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 6777; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 6778; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 6781; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 6782; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 6785; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 6786; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 6789; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 6790; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 6793; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 6794; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 6797; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 6798; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 6801; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 6802; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 6805; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 6806; + case RedTerracotta::RedTerracotta().ID: return 6325; + case RedTulip::RedTulip().ID: return 1416; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7673; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7674; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7675; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7676; + case RedWool::RedWool().ID: return 1397; + case RedstoneBlock::RedstoneBlock().ID: return 6190; + case RedstoneLamp::RedstoneLamp(true).ID: return 5140; + case RedstoneLamp::RedstoneLamp(false).ID: return 5141; + case RedstoneOre::RedstoneOre(true).ID: return 3883; + case RedstoneOre::RedstoneOre(false).ID: return 3884; + case RedstoneTorch::RedstoneTorch(true).ID: return 3885; + case RedstoneTorch::RedstoneTorch(false).ID: return 3886; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3887; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3888; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3889; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3890; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3891; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3892; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3893; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2056; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2057; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2058; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2059; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2060; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2061; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2062; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2063; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2064; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2065; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2066; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2067; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2068; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2069; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2070; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2071; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2072; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2073; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2074; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2075; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2076; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2077; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2078; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2079; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2080; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2081; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2082; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2083; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2084; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2085; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2086; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2087; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2088; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2089; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2090; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2091; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2092; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2093; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2094; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2095; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2096; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2097; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2098; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2099; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2100; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2101; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2102; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2103; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2104; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2105; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2106; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2107; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2108; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2109; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2110; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2111; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2112; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2113; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2114; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2115; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2116; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2117; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2118; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2119; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2120; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2121; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2122; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2123; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2124; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2125; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2126; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2127; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2128; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2129; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2130; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2131; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2132; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2133; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2134; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2135; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2136; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2137; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2138; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2139; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2140; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2141; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2142; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2143; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2144; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2145; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2146; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2147; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2148; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2149; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2150; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2151; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2152; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2153; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2154; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2155; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2156; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2157; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2158; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2159; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2160; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2161; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2162; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2163; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2164; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2165; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2166; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2167; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2168; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2169; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2170; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2171; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2172; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2173; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2174; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2175; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2176; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2177; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2178; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2179; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2180; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2181; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2182; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2183; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2184; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2185; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2186; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2187; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2188; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2189; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2190; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2191; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2192; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2193; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2194; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2195; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2196; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2197; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2198; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2199; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2200; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2201; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2202; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2203; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2204; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2205; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2206; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2207; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2208; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2209; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2210; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2211; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2212; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2213; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2214; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2215; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2216; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2217; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2218; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2219; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2220; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2221; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2222; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2223; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2224; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2225; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2226; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2227; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2228; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2229; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2230; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2231; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2232; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2233; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2234; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2235; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2236; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2237; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2238; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2239; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2240; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2241; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2242; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2243; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2244; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2245; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2246; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2247; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2248; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2249; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2250; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2251; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2252; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2253; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2254; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2255; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2256; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2257; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2258; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2259; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2260; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2261; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2262; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2263; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2264; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2265; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2266; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2267; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2268; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2269; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2270; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2271; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2272; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2273; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2274; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2275; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2276; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2277; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2278; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2279; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2280; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2281; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2282; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2283; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2284; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2285; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2286; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2287; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2288; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2289; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2290; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2291; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2292; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2293; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2294; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2295; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2296; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2297; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2298; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2299; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2300; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2301; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2302; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2303; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2304; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2305; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2306; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2307; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2308; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2309; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2310; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2311; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2312; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2313; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2314; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2315; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2316; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2317; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2318; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2319; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2320; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2321; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2322; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2323; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2324; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2325; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2326; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2327; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2328; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2329; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2330; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2331; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2332; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2333; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2334; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2335; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2336; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2337; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2338; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2339; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2340; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2341; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2342; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2343; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2344; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2345; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2346; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2347; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2348; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2349; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2350; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2351; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2352; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2353; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2354; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2355; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2356; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2357; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2358; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2359; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2360; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2361; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2362; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2363; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2364; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2365; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2366; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2367; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2368; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2369; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2370; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2371; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2372; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2373; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2374; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2375; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2376; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2377; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2378; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2379; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2380; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2381; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2382; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2383; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2384; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2385; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2386; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2387; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2388; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2389; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2390; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2391; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2392; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2393; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2394; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2395; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2396; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2397; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2398; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2399; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2400; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2401; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2402; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2403; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2404; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2405; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2406; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2407; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2408; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2409; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2410; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2411; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2412; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2413; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2414; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2415; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2416; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2417; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2418; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2419; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2420; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2421; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2422; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2423; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2424; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2425; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2426; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2427; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2428; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2429; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2430; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2431; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2432; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2433; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2434; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2435; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2436; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2437; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2438; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2439; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2440; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2441; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2442; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2443; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2444; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2445; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2446; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2447; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2448; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2449; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2450; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2451; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2452; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2453; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2454; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2455; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2456; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2457; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2458; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2459; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2460; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2461; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2462; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2463; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2464; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2465; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2466; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2467; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2468; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2469; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2470; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2471; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2472; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2473; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2474; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2475; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2476; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2477; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2478; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2479; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2480; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2481; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2482; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2483; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2484; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2485; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2486; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2487; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2488; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2489; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2490; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2491; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2492; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2493; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2494; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2495; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2496; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2497; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2498; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2499; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2500; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2501; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2502; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2503; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2504; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2505; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2506; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2507; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2508; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2509; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2510; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2511; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2512; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2513; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2514; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2515; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2516; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2517; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2518; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2519; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2520; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2521; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2522; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2523; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2524; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2525; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2526; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2527; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2528; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2529; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2530; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2531; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2532; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2533; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2534; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2535; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2536; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2537; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2538; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2539; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2540; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2541; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2542; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2543; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2544; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2545; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2546; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2547; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2548; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2549; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2550; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2551; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2552; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2553; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2554; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2555; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2556; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2557; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2558; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2559; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2560; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2561; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2562; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2563; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2564; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2565; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2566; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2567; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2568; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2569; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2570; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2571; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2572; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2573; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2574; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2575; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2576; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2577; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2578; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2579; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2580; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2581; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2582; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2583; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2584; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2585; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2586; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2587; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2588; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2589; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2590; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2591; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2592; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2593; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2594; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2595; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2596; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2597; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2598; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2599; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2600; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2601; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2602; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2603; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2604; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2605; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2606; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2607; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2608; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2609; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2610; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2611; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2612; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2613; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2614; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2615; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2616; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2617; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2618; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2619; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2620; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2621; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2622; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2623; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2624; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2625; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2626; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2627; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2628; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2629; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2630; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2631; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2632; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2633; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2634; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2635; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2636; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2637; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2638; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2639; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2640; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2641; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2642; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2643; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2644; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2645; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2646; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2647; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2648; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2649; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2650; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2651; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2652; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2653; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2654; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2655; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2656; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2657; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2658; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2659; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2660; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2661; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2662; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2663; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2664; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2665; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2666; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2667; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2668; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2669; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2670; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2671; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2672; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2673; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2674; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2675; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2676; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2677; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2678; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2679; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2680; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2681; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2682; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2683; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2684; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2685; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2686; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2687; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2688; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2689; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2690; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2691; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2692; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2693; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2694; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2695; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2696; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2697; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2698; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2699; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2700; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2701; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2702; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2703; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2704; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2705; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2706; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2707; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2708; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2709; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2710; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2711; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2712; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2713; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2714; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2715; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2716; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2717; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2718; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2719; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2720; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2721; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2722; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2723; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2724; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2725; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2726; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2727; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2728; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2729; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2730; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2731; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2732; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2733; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2734; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2735; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2736; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2737; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2738; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2739; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2740; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2741; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2742; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2743; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2744; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2745; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2746; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2747; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2748; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2749; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2750; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2751; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2752; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2753; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2754; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2755; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2756; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2757; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2758; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2759; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2760; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2761; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2762; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2763; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2764; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2765; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2766; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2767; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2768; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2769; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2770; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2771; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2772; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2773; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2774; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2775; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2776; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2777; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2778; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2779; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2780; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2781; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2782; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2783; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2784; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2785; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2786; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2787; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2788; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2789; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2790; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2791; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2792; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2793; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2794; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2795; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2796; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2797; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2798; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2799; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2800; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2801; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2802; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2803; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2804; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2805; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2806; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2807; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2808; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2809; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2810; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2811; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2812; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2813; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2814; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2815; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2816; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2817; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2818; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2819; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2820; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2821; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2822; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2823; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2824; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2825; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2826; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2827; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2828; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2829; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2830; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2831; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2832; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2833; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2834; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2835; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2836; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2837; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2838; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2839; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2840; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2841; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2842; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2843; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2844; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2845; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2846; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2847; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2848; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2849; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2850; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2851; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2852; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2853; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2854; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2855; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2856; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2857; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2858; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2859; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2860; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2861; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2862; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2863; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2864; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2865; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2866; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2867; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2868; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2869; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2870; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2871; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2872; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2873; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2874; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2875; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2876; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2877; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2878; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2879; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2880; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2881; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2882; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2883; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2884; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2885; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2886; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2887; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2888; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2889; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2890; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2891; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2892; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2893; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2895; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2896; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2897; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2898; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2899; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2900; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2901; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2902; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2903; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2904; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2905; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2906; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2907; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2908; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2909; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2910; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2911; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2912; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2913; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2914; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2915; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2916; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2917; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2918; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2919; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2920; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2921; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2922; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2923; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2924; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2925; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2926; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2927; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2928; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2929; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2930; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2931; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2932; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2933; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2934; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2935; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2936; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2937; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2938; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2939; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2940; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2941; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2942; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2943; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2944; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2945; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2946; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2947; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2948; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2949; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2950; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2951; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2952; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2953; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2954; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2955; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2956; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2957; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2958; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2959; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2960; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2961; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2962; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2963; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2964; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2965; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2966; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2967; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2968; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2969; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2970; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2971; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2972; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2973; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2974; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2975; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2976; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2977; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2978; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2979; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2980; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2981; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2982; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2983; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2984; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2985; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2986; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2987; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2988; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2989; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2990; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2991; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2992; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2993; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2994; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2995; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2996; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2997; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2998; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2999; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3000; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3001; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3002; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3003; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3004; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3005; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3006; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3007; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3008; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3009; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3010; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3011; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3012; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3013; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3014; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3015; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3016; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3017; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3018; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3019; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3020; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3021; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3022; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3023; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3024; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3025; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3026; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3027; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3028; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3029; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3030; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3031; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3032; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3033; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3034; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3035; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3036; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3037; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3038; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3039; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3040; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3041; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3042; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3043; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3044; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3045; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3046; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3047; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3048; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3049; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3050; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3051; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3052; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3053; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3054; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3055; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3056; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3057; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3058; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3059; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3060; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3061; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3062; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3063; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3064; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3065; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3066; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3067; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3068; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3069; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3070; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3071; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3072; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3073; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3074; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3075; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3076; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3077; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3078; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3079; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3080; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3081; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3082; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3083; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3084; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3085; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3086; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3087; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3088; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3089; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3090; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3091; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3092; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3093; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3094; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3095; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3096; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3097; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3098; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3099; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3100; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3101; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3102; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3103; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3104; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3105; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3106; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3107; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3108; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3109; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3110; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3111; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3112; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3113; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3114; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3115; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3116; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3117; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3118; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3119; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3120; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3121; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3122; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3123; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3124; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3125; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3126; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3127; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3128; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3129; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3130; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3131; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3132; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3133; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3134; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3135; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3136; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3137; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3138; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3139; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3140; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3141; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3142; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3143; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3144; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3145; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3146; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3147; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3148; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3149; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3150; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3151; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3152; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3153; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3154; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3155; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3156; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3157; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3158; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3159; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3160; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3161; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3162; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3163; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3164; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3165; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3166; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3167; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3168; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3169; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3170; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3171; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3172; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3173; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3174; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3175; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3176; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3177; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3178; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3179; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3180; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3181; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3182; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3183; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3184; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3185; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3186; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3187; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3188; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3189; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3190; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3191; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3192; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3193; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3194; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3195; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3196; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3197; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3198; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3199; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3200; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3201; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3202; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3203; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3204; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3205; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3206; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3207; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3208; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3209; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3210; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3211; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3212; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3213; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3214; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3215; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3216; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3217; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3218; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3219; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3220; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3221; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3222; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3223; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3224; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3225; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3226; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3227; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3228; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3229; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3230; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3231; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3232; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3233; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3234; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3235; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3236; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3237; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3238; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3239; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3240; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3241; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3242; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3243; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3244; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3245; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3246; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3247; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3248; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3249; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3250; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3251; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3252; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3253; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3254; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3255; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3256; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3257; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3258; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3259; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3260; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3261; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3262; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3263; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3264; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3265; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3266; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3267; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3268; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3269; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3270; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3271; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3272; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3273; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3274; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3275; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3276; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3277; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3278; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3279; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3280; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3281; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3282; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3283; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3284; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3285; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3286; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3287; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3288; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3289; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3290; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3291; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3292; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3293; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3294; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3295; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3296; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3297; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3298; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3299; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3300; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3301; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3302; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3303; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3304; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3305; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3306; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3307; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3308; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3309; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3310; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3311; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3312; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3313; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3314; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3315; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3316; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3317; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3318; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3319; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3320; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3321; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3322; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3323; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3324; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3325; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3326; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3327; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3328; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3329; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3330; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3331; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3332; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3333; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3334; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3335; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3336; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3337; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3338; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3339; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3340; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3341; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3342; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3343; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3344; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3345; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3346; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3347; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3348; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3349; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3350; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3351; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4017; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4018; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4019; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4020; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4021; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4022; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4023; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4024; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4025; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4026; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4027; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4028; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4029; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4030; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4031; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4032; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4033; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4034; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4035; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4036; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4037; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4038; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4039; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4040; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4041; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4042; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4043; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4044; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4045; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4046; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4047; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4048; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4049; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4050; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4051; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4052; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4053; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4054; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4055; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4056; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4057; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4058; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4059; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4060; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4061; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4062; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4063; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4064; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4065; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4066; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4067; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4068; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4069; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4070; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4071; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4072; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4073; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4074; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4075; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4076; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4077; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4078; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4079; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4080; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 8689; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 8690; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 8691; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 8692; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 8693; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 8694; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 8695; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 8696; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 8697; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 8698; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 8699; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 8700; + case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 7353; + case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 7354; + case Sand::Sand().ID: return 66; + case Sandstone::Sandstone().ID: return 245; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 7813; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 7815; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 7817; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5155; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5157; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5159; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5161; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5163; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5165; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5167; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5169; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5171; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5173; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5175; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5177; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5179; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5181; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5183; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5185; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5187; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5189; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5191; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5193; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5195; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5197; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5199; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5201; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5203; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5205; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5207; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5209; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5211; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5213; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5215; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5217; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5219; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5221; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5223; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5225; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5227; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5229; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5231; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5233; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 10909; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 10910; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 10913; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 10914; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 10917; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 10918; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 10921; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 10922; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 10925; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 10926; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 10929; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 10930; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 10933; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 10934; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 10937; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 10938; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 10941; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 10942; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 10945; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 10946; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 10949; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 10950; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 10953; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 10954; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 10957; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 10958; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 10961; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 10962; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 10965; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 10966; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 10969; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 10970; + case Scaffolding::Scaffolding(true, 0).ID: return 11100; + case Scaffolding::Scaffolding(true, 1).ID: return 11102; + case Scaffolding::Scaffolding(true, 2).ID: return 11104; + case Scaffolding::Scaffolding(true, 3).ID: return 11106; + case Scaffolding::Scaffolding(true, 4).ID: return 11108; + case Scaffolding::Scaffolding(true, 5).ID: return 11110; + case Scaffolding::Scaffolding(true, 6).ID: return 11112; + case Scaffolding::Scaffolding(true, 7).ID: return 11114; + case Scaffolding::Scaffolding(false, 0).ID: return 11116; + case Scaffolding::Scaffolding(false, 1).ID: return 11118; + case Scaffolding::Scaffolding(false, 2).ID: return 11120; + case Scaffolding::Scaffolding(false, 3).ID: return 11122; + case Scaffolding::Scaffolding(false, 4).ID: return 11124; + case Scaffolding::Scaffolding(false, 5).ID: return 11126; + case Scaffolding::Scaffolding(false, 6).ID: return 11128; + case Scaffolding::Scaffolding(false, 7).ID: return 11130; + case SeaLantern::SeaLantern().ID: return 7326; + case SeaPickle::SeaPickle(1).ID: return 9105; + case SeaPickle::SeaPickle(2).ID: return 9107; + case SeaPickle::SeaPickle(3).ID: return 9109; + case SeaPickle::SeaPickle(4).ID: return 9111; + case Seagrass::Seagrass().ID: return 1344; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8736; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8737; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8738; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8739; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8740; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8741; + case SkeletonSkull::SkeletonSkull(0).ID: return 5954; + case SkeletonSkull::SkeletonSkull(1).ID: return 5955; + case SkeletonSkull::SkeletonSkull(2).ID: return 5956; + case SkeletonSkull::SkeletonSkull(3).ID: return 5957; + case SkeletonSkull::SkeletonSkull(4).ID: return 5958; + case SkeletonSkull::SkeletonSkull(5).ID: return 5959; + case SkeletonSkull::SkeletonSkull(6).ID: return 5960; + case SkeletonSkull::SkeletonSkull(7).ID: return 5961; + case SkeletonSkull::SkeletonSkull(8).ID: return 5962; + case SkeletonSkull::SkeletonSkull(9).ID: return 5963; + case SkeletonSkull::SkeletonSkull(10).ID: return 5964; + case SkeletonSkull::SkeletonSkull(11).ID: return 5965; + case SkeletonSkull::SkeletonSkull(12).ID: return 5966; + case SkeletonSkull::SkeletonSkull(13).ID: return 5967; + case SkeletonSkull::SkeletonSkull(14).ID: return 5968; + case SkeletonSkull::SkeletonSkull(15).ID: return 5969; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5970; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5971; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5972; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5973; + case SlimeBlock::SlimeBlock().ID: return 6999; + case SmithingTable::SmithingTable().ID: return 11193; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, true).ID: return 11147; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, false).ID: return 11148; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, true).ID: return 11149; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, false).ID: return 11150; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, true).ID: return 11151; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, false).ID: return 11152; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, true).ID: return 11153; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, false).ID: return 11154; + case SmoothQuartz::SmoothQuartz().ID: return 7880; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Top).ID: return 10296; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Bottom).ID: return 10298; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Double).ID: return 10300; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9774; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9776; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9778; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9780; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9782; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9784; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9786; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9788; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9790; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9792; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9794; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9796; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9798; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9800; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9802; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9804; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9806; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9808; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9810; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9812; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9814; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9816; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9818; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9820; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9822; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9824; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9826; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9828; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9830; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9832; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9834; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9836; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9838; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9840; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9842; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 9844; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 9846; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 9848; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 9850; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 9852; + case SmoothRedSandstone::SmoothRedSandstone().ID: return 7881; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Top).ID: return 10260; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Bottom).ID: return 10262; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Double).ID: return 10264; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9214; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9216; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9218; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9220; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9222; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9224; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9226; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9228; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9230; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9232; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9234; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9236; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9238; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9240; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9242; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9244; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9246; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9248; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9250; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9252; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9254; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9256; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9258; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9260; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9262; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9264; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9266; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9268; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9270; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9272; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9274; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9276; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9278; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9280; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9282; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9284; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9286; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9288; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9290; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9292; + case SmoothSandstone::SmoothSandstone().ID: return 7879; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Top).ID: return 10290; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Bottom).ID: return 10292; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Double).ID: return 10294; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9694; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9696; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9698; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9700; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9702; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9704; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9706; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9708; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9710; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9712; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9714; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9716; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9718; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9720; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9722; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9724; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9726; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9728; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9730; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9732; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9734; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9736; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9738; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9740; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9742; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9744; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9746; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9748; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9750; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9752; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9754; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9756; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9758; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9760; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9762; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 9764; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9766; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9768; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9770; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9772; + case SmoothStone::SmoothStone().ID: return 7878; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Top).ID: return 7807; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Bottom).ID: return 7809; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Double).ID: return 7811; + case Snow::Snow(1).ID: return 3919; + case Snow::Snow(2).ID: return 3920; + case Snow::Snow(3).ID: return 3921; + case Snow::Snow(4).ID: return 3922; + case Snow::Snow(5).ID: return 3923; + case Snow::Snow(6).ID: return 3924; + case Snow::Snow(7).ID: return 3925; + case Snow::Snow(8).ID: return 3926; + case SnowBlock::SnowBlock().ID: return 3928; + case SoulSand::SoulSand().ID: return 3998; + case Spawner::Spawner().ID: return 1951; + case Sponge::Sponge().ID: return 228; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5834; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5835; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5836; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5837; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 5838; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 5839; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 5840; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 5841; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5842; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5843; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5844; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5845; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 5846; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 5847; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 5848; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 5849; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5850; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5851; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5852; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5853; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 5854; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 5855; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 5856; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 5857; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8202; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8203; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8204; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8205; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8206; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8207; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8208; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8209; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8210; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8211; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8212; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8213; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8214; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8215; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8216; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8217; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8218; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8219; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8220; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8221; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8222; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8223; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8224; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8225; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8226; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8227; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8228; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8229; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8230; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8231; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8232; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8233; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8234; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8235; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8236; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8237; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8238; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8239; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8240; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8241; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8242; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8243; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8244; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8245; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8246; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8247; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8248; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8249; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8250; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8251; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8252; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8253; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8254; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8255; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8256; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8257; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8258; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8259; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8260; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8261; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8262; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8263; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8264; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8265; + case SpruceFence::SpruceFence(true, true, true, true).ID: return 8044; + case SpruceFence::SpruceFence(true, true, true, false).ID: return 8045; + case SpruceFence::SpruceFence(true, true, false, true).ID: return 8048; + case SpruceFence::SpruceFence(true, true, false, false).ID: return 8049; + case SpruceFence::SpruceFence(true, false, true, true).ID: return 8052; + case SpruceFence::SpruceFence(true, false, true, false).ID: return 8053; + case SpruceFence::SpruceFence(true, false, false, true).ID: return 8056; + case SpruceFence::SpruceFence(true, false, false, false).ID: return 8057; + case SpruceFence::SpruceFence(false, true, true, true).ID: return 8060; + case SpruceFence::SpruceFence(false, true, true, false).ID: return 8061; + case SpruceFence::SpruceFence(false, true, false, true).ID: return 8064; + case SpruceFence::SpruceFence(false, true, false, false).ID: return 8065; + case SpruceFence::SpruceFence(false, false, true, true).ID: return 8068; + case SpruceFence::SpruceFence(false, false, true, false).ID: return 8069; + case SpruceFence::SpruceFence(false, false, false, true).ID: return 8072; + case SpruceFence::SpruceFence(false, false, false, false).ID: return 8073; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 7882; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 7883; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 7884; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 7885; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 7886; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 7887; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 7888; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 7889; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 7890; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 7891; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 7892; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 7893; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 7894; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 7895; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 7896; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 7897; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 7898; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 7899; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 7900; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 7901; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 7902; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 7903; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 7904; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 7905; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 7906; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 7907; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 7908; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 7909; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 7910; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 7911; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 7912; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 7913; + case SpruceLeaves::SpruceLeaves(1, true).ID: return 158; + case SpruceLeaves::SpruceLeaves(1, false).ID: return 159; + case SpruceLeaves::SpruceLeaves(2, true).ID: return 160; + case SpruceLeaves::SpruceLeaves(2, false).ID: return 161; + case SpruceLeaves::SpruceLeaves(3, true).ID: return 162; + case SpruceLeaves::SpruceLeaves(3, false).ID: return 163; + case SpruceLeaves::SpruceLeaves(4, true).ID: return 164; + case SpruceLeaves::SpruceLeaves(4, false).ID: return 165; + case SpruceLeaves::SpruceLeaves(5, true).ID: return 166; + case SpruceLeaves::SpruceLeaves(5, false).ID: return 167; + case SpruceLeaves::SpruceLeaves(6, true).ID: return 168; + case SpruceLeaves::SpruceLeaves(6, false).ID: return 169; + case SpruceLeaves::SpruceLeaves(7, true).ID: return 170; + case SpruceLeaves::SpruceLeaves(7, false).ID: return 171; + case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 75; + case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 76; + case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 77; + case SprucePlanks::SprucePlanks().ID: return 16; + case SprucePressurePlate::SprucePressurePlate(true).ID: return 3873; + case SprucePressurePlate::SprucePressurePlate(false).ID: return 3874; + case SpruceSapling::SpruceSapling(0).ID: return 23; + case SpruceSapling::SpruceSapling(1).ID: return 24; + case SpruceSign::SpruceSign(0).ID: return 3412; + case SpruceSign::SpruceSign(1).ID: return 3414; + case SpruceSign::SpruceSign(2).ID: return 3416; + case SpruceSign::SpruceSign(3).ID: return 3418; + case SpruceSign::SpruceSign(4).ID: return 3420; + case SpruceSign::SpruceSign(5).ID: return 3422; + case SpruceSign::SpruceSign(6).ID: return 3424; + case SpruceSign::SpruceSign(7).ID: return 3426; + case SpruceSign::SpruceSign(8).ID: return 3428; + case SpruceSign::SpruceSign(9).ID: return 3430; + case SpruceSign::SpruceSign(10).ID: return 3432; + case SpruceSign::SpruceSign(11).ID: return 3434; + case SpruceSign::SpruceSign(12).ID: return 3436; + case SpruceSign::SpruceSign(13).ID: return 3438; + case SpruceSign::SpruceSign(14).ID: return 3440; + case SpruceSign::SpruceSign(15).ID: return 3442; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 7771; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 7773; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 7775; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5389; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5391; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5393; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5395; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5397; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5399; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5401; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5403; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5405; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5407; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5409; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5411; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5413; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5415; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5417; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5419; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5421; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5423; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5425; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5427; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5429; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5431; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5433; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5435; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5437; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5439; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5441; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5443; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5445; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5447; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5449; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5451; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5453; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5455; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5457; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5459; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5461; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5463; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5465; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5467; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: + return 4162; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: + return 4164; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: + return 4166; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: + return 4168; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4170; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4172; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4174; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4176; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: + return 4178; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: + return 4180; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: + return 4182; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: + return 4184; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4186; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4188; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4190; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4192; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: + return 4194; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: + return 4196; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: + return 4198; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: + return 4200; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4202; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4204; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4206; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4208; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: + return 4210; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: + return 4212; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: + return 4214; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: + return 4216; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4218; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4220; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4222; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4224; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3742; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3744; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3746; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3748; + case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 111; + case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 112; + case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 113; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1328; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1329; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1330; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1331; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1332; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1333; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1334; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1335; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1336; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1337; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1338; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1339; + case Stone::Stone().ID: return 1; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 7843; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 7845; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 7847; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4917; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4919; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4921; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4923; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4925; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4927; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4929; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4931; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4933; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4935; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4937; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4939; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4941; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4943; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4945; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4947; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4949; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4951; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4953; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4955; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4957; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4959; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4961; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4963; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4965; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4967; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4969; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4971; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4973; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4975; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4977; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4979; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4981; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4983; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4985; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4987; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4989; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4991; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4993; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4995; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10653; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 10654; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10657; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 10658; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10661; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 10662; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10665; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 10666; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10669; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 10670; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10673; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 10674; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10677; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 10678; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10681; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 10682; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10685; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 10686; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10689; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 10690; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10693; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 10694; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10697; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 10698; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10701; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 10702; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10705; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 10706; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 10709; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 10710; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 10713; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 10714; + case StoneBricks::StoneBricks().ID: return 4481; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3895; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3896; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3897; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3898; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3899; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3900; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3901; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3902; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3903; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3904; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3905; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3906; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3907; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3908; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3909; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3910; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3911; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3912; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3913; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3914; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3915; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3916; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3917; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3918; + case StonePressurePlate::StonePressurePlate(true).ID: return 3805; + case StonePressurePlate::StonePressurePlate(false).ID: return 3806; + case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 7801; + case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 7803; + case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 7805; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 9614; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 9616; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 9618; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 9620; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 9622; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 9624; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 9626; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 9628; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 9630; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 9632; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 9634; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 9636; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 9638; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 9640; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 9642; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 9644; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 9646; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 9648; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 9650; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 9652; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 9654; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 9656; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 9658; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 9660; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 9662; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 9664; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 9666; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 9668; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 9670; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 9672; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 9674; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 9676; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 9678; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 9680; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 9682; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 9684; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 9686; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 9688; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 9690; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 9692; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZM).ID: return 11194; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZP).ID: return 11195; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XM).ID: return 11196; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XP).ID: return 11197; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 99; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 100; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 101; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 138; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 139; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 140; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 93; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 94; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 95; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 132; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 133; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 134; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 102; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 103; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 104; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 141; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 142; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 143; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 96; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 97; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 98; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 135; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 136; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 137; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 105; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 106; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 107; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 126; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 127; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 128; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 90; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 91; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 92; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 129; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 130; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 131; + case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 11268; + case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 11269; + case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 11270; + case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 11271; + case StructureVoid::StructureVoid().ID: return 8723; + case SugarCane::SugarCane(0).ID: return 3946; + case SugarCane::SugarCane(1).ID: return 3947; + case SugarCane::SugarCane(2).ID: return 3948; + case SugarCane::SugarCane(3).ID: return 3949; + case SugarCane::SugarCane(4).ID: return 3950; + case SugarCane::SugarCane(5).ID: return 3951; + case SugarCane::SugarCane(6).ID: return 3952; + case SugarCane::SugarCane(7).ID: return 3953; + case SugarCane::SugarCane(8).ID: return 3954; + case SugarCane::SugarCane(9).ID: return 3955; + case SugarCane::SugarCane(10).ID: return 3956; + case SugarCane::SugarCane(11).ID: return 3957; + case SugarCane::SugarCane(12).ID: return 3958; + case SugarCane::SugarCane(13).ID: return 3959; + case SugarCane::SugarCane(14).ID: return 3960; + case SugarCane::SugarCane(15).ID: return 3961; + case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 7349; + case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 7350; + case SweetBerryBush::SweetBerryBush(0).ID: return 11264; + case SweetBerryBush::SweetBerryBush(1).ID: return 11265; + case SweetBerryBush::SweetBerryBush(2).ID: return 11266; + case SweetBerryBush::SweetBerryBush(3).ID: return 11267; + case TNT::TNT(true).ID: return 1429; + case TNT::TNT(false).ID: return 1430; + case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 7357; + case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 7358; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1345; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1346; + case Terracotta::Terracotta().ID: return 7346; + case Torch::Torch().ID: return 1434; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 6087; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 6089; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 6091; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 6093; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 6095; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 6097; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 6099; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 6101; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 6103; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 6105; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 6107; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 6109; + case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 5259; + case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 5260; + case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 5261; + case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 5262; + case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 5263; + case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 5264; + case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 5265; + case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 5266; + case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 5267; + case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 5268; + case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 5269; + case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 5270; + case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 5271; + case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 5272; + case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 5273; + case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 5274; + case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 5275; + case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 5276; + case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 5277; + case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 5278; + case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 5279; + case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 5280; + case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 5281; + case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 5282; + case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 5283; + case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 5284; + case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 5285; + case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 5286; + case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 5287; + case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 5288; + case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 5289; + case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 5290; + case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 5291; + case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 5292; + case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 5293; + case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 5294; + case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 5295; + case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 5296; + case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 5297; + case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 5298; + case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 5299; + case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 5300; + case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 5301; + case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 5302; + case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 5303; + case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 5304; + case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 5305; + case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 5306; + case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 5307; + case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 5308; + case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 5309; + case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 5310; + case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 5311; + case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 5312; + case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 5313; + case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 5314; + case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 5315; + case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 5316; + case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 5317; + case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 5318; + case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 5319; + case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 5320; + case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 5321; + case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 5322; + case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 5323; + case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 5324; + case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 5325; + case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 5326; + case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 5327; + case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 5328; + case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 5329; + case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 5330; + case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 5331; + case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 5332; + case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 5333; + case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 5334; + case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 5335; + case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 5336; + case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 5337; + case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 5338; + case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 5339; + case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 5340; + case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 5341; + case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 5342; + case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 5343; + case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 5344; + case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 5345; + case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 5346; + case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 5347; + case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 5348; + case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 5349; + case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 5350; + case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 5351; + case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 5352; + case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 5353; + case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 5354; + case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 5355; + case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 5356; + case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 5357; + case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 5358; + case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 5359; + case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 5360; + case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 5361; + case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 5362; + case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 5363; + case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 5364; + case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 5365; + case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 5366; + case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 5367; + case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 5368; + case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 5369; + case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 5370; + case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 5371; + case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 5372; + case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 5373; + case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 5374; + case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 5375; + case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 5376; + case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 5377; + case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 5378; + case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 5379; + case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 5380; + case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 5381; + case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 5382; + case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 5383; + case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 5384; + case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 5385; + case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 5386; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5243; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5244; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5245; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5246; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 5247; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 5248; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 5249; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 5250; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5251; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5252; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5253; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5254; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 5255; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 5256; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 5257; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 5258; + case TubeCoral::TubeCoral().ID: return 8995; + case TubeCoralBlock::TubeCoralBlock().ID: return 8979; + case TubeCoralFan::TubeCoralFan().ID: return 9015; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9065; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9067; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9069; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9071; + case TurtleEgg::TurtleEgg(1, 0).ID: return 8962; + case TurtleEgg::TurtleEgg(1, 1).ID: return 8963; + case TurtleEgg::TurtleEgg(1, 2).ID: return 8964; + case TurtleEgg::TurtleEgg(2, 0).ID: return 8965; + case TurtleEgg::TurtleEgg(2, 1).ID: return 8966; + case TurtleEgg::TurtleEgg(2, 2).ID: return 8967; + case TurtleEgg::TurtleEgg(3, 0).ID: return 8968; + case TurtleEgg::TurtleEgg(3, 1).ID: return 8969; + case TurtleEgg::TurtleEgg(3, 2).ID: return 8970; + case TurtleEgg::TurtleEgg(4, 0).ID: return 8971; + case TurtleEgg::TurtleEgg(4, 1).ID: return 8972; + case TurtleEgg::TurtleEgg(4, 2).ID: return 8973; + case Vine::Vine(true, true, true, true, true).ID: return 4772; + case Vine::Vine(true, true, true, true, false).ID: return 4773; + case Vine::Vine(true, true, true, false, true).ID: return 4774; + case Vine::Vine(true, true, true, false, false).ID: return 4775; + case Vine::Vine(true, true, false, true, true).ID: return 4776; + case Vine::Vine(true, true, false, true, false).ID: return 4777; + case Vine::Vine(true, true, false, false, true).ID: return 4778; + case Vine::Vine(true, true, false, false, false).ID: return 4779; + case Vine::Vine(true, false, true, true, true).ID: return 4780; + case Vine::Vine(true, false, true, true, false).ID: return 4781; + case Vine::Vine(true, false, true, false, true).ID: return 4782; + case Vine::Vine(true, false, true, false, false).ID: return 4783; + case Vine::Vine(true, false, false, true, true).ID: return 4784; + case Vine::Vine(true, false, false, true, false).ID: return 4785; + case Vine::Vine(true, false, false, false, true).ID: return 4786; + case Vine::Vine(true, false, false, false, false).ID: return 4787; + case Vine::Vine(false, true, true, true, true).ID: return 4788; + case Vine::Vine(false, true, true, true, false).ID: return 4789; + case Vine::Vine(false, true, true, false, true).ID: return 4790; + case Vine::Vine(false, true, true, false, false).ID: return 4791; + case Vine::Vine(false, true, false, true, true).ID: return 4792; + case Vine::Vine(false, true, false, true, false).ID: return 4793; + case Vine::Vine(false, true, false, false, true).ID: return 4794; + case Vine::Vine(false, true, false, false, false).ID: return 4795; + case Vine::Vine(false, false, true, true, true).ID: return 4796; + case Vine::Vine(false, false, true, true, false).ID: return 4797; + case Vine::Vine(false, false, true, false, true).ID: return 4798; + case Vine::Vine(false, false, true, false, false).ID: return 4799; + case Vine::Vine(false, false, false, true, true).ID: return 4800; + case Vine::Vine(false, false, false, true, false).ID: return 4801; + case Vine::Vine(false, false, false, false, true).ID: return 4802; + case Vine::Vine(false, false, false, false, false).ID: return 4803; + case VoidAir::VoidAir().ID: return 9129; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1435; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1436; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1437; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1438; + case Water::Water(0).ID: return 34; + case Water::Water(1).ID: return 35; + case Water::Water(2).ID: return 36; + case Water::Water(3).ID: return 37; + case Water::Water(4).ID: return 38; + case Water::Water(5).ID: return 39; + case Water::Water(6).ID: return 40; + case Water::Water(7).ID: return 41; + case Water::Water(8).ID: return 42; + case Water::Water(9).ID: return 43; + case Water::Water(10).ID: return 44; + case Water::Water(11).ID: return 45; + case Water::Water(12).ID: return 46; + case Water::Water(13).ID: return 47; + case Water::Water(14).ID: return 48; + case Water::Water(15).ID: return 49; + case WetSponge::WetSponge().ID: return 229; + case Wheat::Wheat(0).ID: return 3355; + case Wheat::Wheat(1).ID: return 3356; + case Wheat::Wheat(2).ID: return 3357; + case Wheat::Wheat(3).ID: return 3358; + case Wheat::Wheat(4).ID: return 3359; + case Wheat::Wheat(5).ID: return 3360; + case Wheat::Wheat(6).ID: return 3361; + case Wheat::Wheat(7).ID: return 3362; + case WhiteBanner::WhiteBanner(0).ID: return 7361; + case WhiteBanner::WhiteBanner(1).ID: return 7362; + case WhiteBanner::WhiteBanner(2).ID: return 7363; + case WhiteBanner::WhiteBanner(3).ID: return 7364; + case WhiteBanner::WhiteBanner(4).ID: return 7365; + case WhiteBanner::WhiteBanner(5).ID: return 7366; + case WhiteBanner::WhiteBanner(6).ID: return 7367; + case WhiteBanner::WhiteBanner(7).ID: return 7368; + case WhiteBanner::WhiteBanner(8).ID: return 7369; + case WhiteBanner::WhiteBanner(9).ID: return 7370; + case WhiteBanner::WhiteBanner(10).ID: return 7371; + case WhiteBanner::WhiteBanner(11).ID: return 7372; + case WhiteBanner::WhiteBanner(12).ID: return 7373; + case WhiteBanner::WhiteBanner(13).ID: return 7374; + case WhiteBanner::WhiteBanner(14).ID: return 7375; + case WhiteBanner::WhiteBanner(15).ID: return 7376; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 1048; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 1049; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 1050; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 1051; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 1052; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 1053; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 1054; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 1055; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 1056; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 1057; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 1058; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 1059; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 1060; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 1061; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 1062; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 1063; + case WhiteCarpet::WhiteCarpet().ID: return 7330; + case WhiteConcrete::WhiteConcrete().ID: return 8902; + case WhiteConcretePowder::WhiteConcretePowder().ID: return 8918; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8838; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8839; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8840; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8841; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8742; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8743; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8744; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8745; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8746; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8747; + case WhiteStainedGlass::WhiteStainedGlass().ID: return 4081; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 6329; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 6330; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 6333; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 6334; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 6337; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 6338; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 6341; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 6342; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 6345; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 6346; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 6349; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 6350; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 6353; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 6354; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 6357; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 6358; + case WhiteTerracotta::WhiteTerracotta().ID: return 6311; + case WhiteTulip::WhiteTulip().ID: return 1418; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7617; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7618; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7619; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7620; + case WhiteWool::WhiteWool().ID: return 1383; + case WitherRose::WitherRose().ID: return 1422; + case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 5974; + case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 5975; + case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 5976; + case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 5977; + case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 5978; + case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 5979; + case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 5980; + case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 5981; + case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 5982; + case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 5983; + case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 5984; + case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 5985; + case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 5986; + case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 5987; + case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 5988; + case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 5989; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 5990; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 5991; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 5992; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 5993; + case YellowBanner::YellowBanner(0).ID: return 7425; + case YellowBanner::YellowBanner(1).ID: return 7426; + case YellowBanner::YellowBanner(2).ID: return 7427; + case YellowBanner::YellowBanner(3).ID: return 7428; + case YellowBanner::YellowBanner(4).ID: return 7429; + case YellowBanner::YellowBanner(5).ID: return 7430; + case YellowBanner::YellowBanner(6).ID: return 7431; + case YellowBanner::YellowBanner(7).ID: return 7432; + case YellowBanner::YellowBanner(8).ID: return 7433; + case YellowBanner::YellowBanner(9).ID: return 7434; + case YellowBanner::YellowBanner(10).ID: return 7435; + case YellowBanner::YellowBanner(11).ID: return 7436; + case YellowBanner::YellowBanner(12).ID: return 7437; + case YellowBanner::YellowBanner(13).ID: return 7438; + case YellowBanner::YellowBanner(14).ID: return 7439; + case YellowBanner::YellowBanner(15).ID: return 7440; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 1112; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 1113; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 1114; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 1115; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 1116; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 1117; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 1118; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 1119; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 1120; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 1121; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 1122; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 1123; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 1124; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 1125; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 1126; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 1127; + case YellowCarpet::YellowCarpet().ID: return 7334; + case YellowConcrete::YellowConcrete().ID: return 8906; + case YellowConcretePowder::YellowConcretePowder().ID: return 8922; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 8854; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 8855; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 8856; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 8857; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 8766; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 8767; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 8768; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 8769; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 8770; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 8771; + case YellowStainedGlass::YellowStainedGlass().ID: return 4085; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 6457; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 6458; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 6461; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 6462; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 6465; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 6466; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 6469; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 6470; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 6473; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 6474; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 6477; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 6478; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 6481; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 6482; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 6485; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 6486; + case YellowTerracotta::YellowTerracotta().ID: return 6315; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 7633; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 7634; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 7635; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 7636; + case YellowWool::YellowWool().ID: return 1387; + case ZombieHead::ZombieHead(0).ID: return 5994; + case ZombieHead::ZombieHead(1).ID: return 5995; + case ZombieHead::ZombieHead(2).ID: return 5996; + case ZombieHead::ZombieHead(3).ID: return 5997; + case ZombieHead::ZombieHead(4).ID: return 5998; + case ZombieHead::ZombieHead(5).ID: return 5999; + case ZombieHead::ZombieHead(6).ID: return 6000; + case ZombieHead::ZombieHead(7).ID: return 6001; + case ZombieHead::ZombieHead(8).ID: return 6002; + case ZombieHead::ZombieHead(9).ID: return 6003; + case ZombieHead::ZombieHead(10).ID: return 6004; + case ZombieHead::ZombieHead(11).ID: return 6005; + case ZombieHead::ZombieHead(12).ID: return 6006; + case ZombieHead::ZombieHead(13).ID: return 6007; + case ZombieHead::ZombieHead(14).ID: return 6008; + case ZombieHead::ZombieHead(15).ID: return 6009; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6010; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6011; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6012; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6013; + default: return 0; } +} - UInt32 From(const Item ID) +UInt32 From(const Item ID) +{ + switch (ID) { - switch (ID) - { - case Item::AcaciaBoat: return 834; - case Item::AcaciaButton: return 263; - case Item::AcaciaDoor: return 511; - case Item::AcaciaFence: return 185; - case Item::AcaciaFenceGate: return 220; - case Item::AcaciaLeaves: return 60; - case Item::AcaciaLog: return 36; - case Item::AcaciaPlanks: return 17; - case Item::AcaciaPressurePlate: return 170; - case Item::AcaciaSapling: return 23; - case Item::AcaciaSign: return 593; - case Item::AcaciaSlab: return 119; - case Item::AcaciaStairs: return 319; - case Item::AcaciaTrapdoor: return 197; - case Item::AcaciaWood: return 54; - case Item::ActivatorRail: return 279; - case Item::Air: return -0; - case Item::Allium: return 101; - case Item::Andesite: return 6; - case Item::AndesiteSlab: return 501; - case Item::AndesiteStairs: return 488; - case Item::AndesiteWall: return 254; - case Item::Anvil: return 265; - case Item::Apple: return 524; - case Item::ArmorStand: return 792; - case Item::Arrow: return 526; - case Item::AzureBluet: return 102; - case Item::BakedPotato: return 765; - case Item::Bamboo: return 614; - case Item::Barrel: return 865; - case Item::Barrier: return 297; - case Item::BatSpawnEgg: return 697; - case Item::Beacon: return 244; - case Item::Bedrock: return 25; - case Item::BeeNest: return 879; - case Item::BeeSpawnEgg: return 698; - case Item::Beef: return 677; - case Item::Beehive: return 880; - case Item::Beetroot: return 821; - case Item::BeetrootSeeds: return 822; - case Item::BeetrootSoup: return 823; - case Item::Bell: return 874; - case Item::BirchBoat: return 832; - case Item::BirchButton: return 261; - case Item::BirchDoor: return 509; - case Item::BirchFence: return 183; - case Item::BirchFenceGate: return 218; - case Item::BirchLeaves: return 58; - case Item::BirchLog: return 34; - case Item::BirchPlanks: return 15; - case Item::BirchPressurePlate: return 168; - case Item::BirchSapling: return 21; - case Item::BirchSign: return 591; - case Item::BirchSlab: return 117; - case Item::BirchStairs: return 241; - case Item::BirchTrapdoor: return 195; - case Item::BirchWood: return 52; - case Item::BlackBanner: return 817; - case Item::BlackBed: return 669; - case Item::BlackCarpet: return 315; - case Item::BlackConcrete: return 428; - case Item::BlackConcretePowder: return 444; - case Item::BlackDye: return 649; - case Item::BlackGlazedTerracotta: return 412; - case Item::BlackShulkerBox: return 396; - case Item::BlackStainedGlass: return 344; - case Item::BlackStainedGlassPane: return 360; - case Item::BlackTerracotta: return 296; - case Item::BlackWool: return 97; - case Item::BlastFurnace: return 867; - case Item::BlazePowder: return 691; - case Item::BlazeRod: return 683; - case Item::BlazeSpawnEgg: return 699; - case Item::BlueBanner: return 813; - case Item::BlueBed: return 665; - case Item::BlueCarpet: return 311; - case Item::BlueConcrete: return 424; - case Item::BlueConcretePowder: return 440; - case Item::BlueDye: return 647; - case Item::BlueGlazedTerracotta: return 408; - case Item::BlueIce: return 476; - case Item::BlueOrchid: return 100; - case Item::BlueShulkerBox: return 392; - case Item::BlueStainedGlass: return 340; - case Item::BlueStainedGlassPane: return 356; - case Item::BlueTerracotta: return 292; - case Item::BlueWool: return 93; - case Item::Bone: return 651; - case Item::BoneBlock: return 377; - case Item::BoneMeal: return 646; - case Item::Book: return 616; - case Item::Bookshelf: return 143; - case Item::Bow: return 525; - case Item::Bowl: return 546; - case Item::BrainCoral: return 457; - case Item::BrainCoralBlock: return 452; - case Item::BrainCoralFan: return 467; - case Item::Bread: return 562; - case Item::BrewingStand: return 693; - case Item::Brick: return 609; - case Item::BrickSlab: return 127; - case Item::BrickStairs: return 222; - case Item::BrickWall: return 247; - case Item::Bricks: return 141; - case Item::BrownBanner: return 814; - case Item::BrownBed: return 666; - case Item::BrownCarpet: return 312; - case Item::BrownConcrete: return 425; - case Item::BrownConcretePowder: return 441; - case Item::BrownDye: return 648; - case Item::BrownGlazedTerracotta: return 409; - case Item::BrownMushroom: return 111; - case Item::BrownMushroomBlock: return 209; - case Item::BrownShulkerBox: return 393; - case Item::BrownStainedGlass: return 341; - case Item::BrownStainedGlassPane: return 357; - case Item::BrownTerracotta: return 293; - case Item::BrownWool: return 94; - case Item::BubbleCoral: return 458; - case Item::BubbleCoralBlock: return 453; - case Item::BubbleCoralFan: return 468; - case Item::Bucket: return 595; - case Item::Cactus: return 178; - case Item::Cake: return 653; - case Item::Campfire: return 877; - case Item::Carrot: return 763; - case Item::CarrotOnAStick: return 775; - case Item::CartographyTable: return 868; - case Item::CarvedPumpkin: return 188; - case Item::CatSpawnEgg: return 700; - case Item::Cauldron: return 694; - case Item::CaveSpiderSpawnEgg: return 701; - case Item::ChainCommandBlock: return 373; - case Item::ChainmailBoots: return 570; - case Item::ChainmailChestplate: return 568; - case Item::ChainmailHelmet: return 567; - case Item::ChainmailLeggings: return 569; - case Item::Charcoal: return 528; - case Item::Chest: return 155; - case Item::ChestMinecart: return 618; - case Item::Chicken: return 679; - case Item::ChickenSpawnEgg: return 702; - case Item::ChippedAnvil: return 266; - case Item::ChiseledQuartzBlock: return 275; - case Item::ChiseledRedSandstone: return 369; - case Item::ChiseledSandstone: return 69; - case Item::ChiseledStoneBricks: return 208; - case Item::ChorusFlower: return 149; - case Item::ChorusFruit: return 819; - case Item::ChorusPlant: return 148; - case Item::Clay: return 179; - case Item::ClayBall: return 610; - case Item::Clock: return 623; - case Item::Coal: return 527; - case Item::CoalBlock: return 317; - case Item::CoalOre: return 31; - case Item::CoarseDirt: return 10; - case Item::Cobblestone: return 12; - case Item::CobblestoneSlab: return 126; - case Item::CobblestoneStairs: return 163; - case Item::CobblestoneWall: return 245; - case Item::Cobweb: return 75; - case Item::CocoaBeans: return 634; - case Item::Cod: return 625; - case Item::CodBucket: return 607; - case Item::CodSpawnEgg: return 703; - case Item::CommandBlock: return 243; - case Item::CommandBlockMinecart: return 799; - case Item::Comparator: return 514; - case Item::Compass: return 621; - case Item::Composter: return 517; - case Item::Conduit: return 477; - case Item::CookedBeef: return 678; - case Item::CookedChicken: return 680; - case Item::CookedCod: return 629; - case Item::CookedMutton: return 801; - case Item::CookedPorkchop: return 585; - case Item::CookedRabbit: return 788; - case Item::CookedSalmon: return 630; - case Item::Cookie: return 670; - case Item::Cornflower: return 108; - case Item::CowSpawnEgg: return 704; - case Item::CrackedStoneBricks: return 207; - case Item::CraftingTable: return 158; - case Item::CreeperBannerPattern: return 861; - case Item::CreeperHead: return 773; - case Item::CreeperSpawnEgg: return 705; - case Item::Crossbow: return 857; - case Item::CutRedSandstone: return 370; - case Item::CutRedSandstoneSlab: return 132; - case Item::CutSandstone: return 70; - case Item::CutSandstoneSlab: return 124; - case Item::CyanBanner: return 811; - case Item::CyanBed: return 663; - case Item::CyanCarpet: return 309; - case Item::CyanConcrete: return 422; - case Item::CyanConcretePowder: return 438; - case Item::CyanDye: return 637; - case Item::CyanGlazedTerracotta: return 406; - case Item::CyanShulkerBox: return 390; - case Item::CyanStainedGlass: return 338; - case Item::CyanStainedGlassPane: return 354; - case Item::CyanTerracotta: return 290; - case Item::CyanWool: return 91; - case Item::DamagedAnvil: return 267; - case Item::Dandelion: return 98; - case Item::DarkOakBoat: return 835; - case Item::DarkOakButton: return 264; - case Item::DarkOakDoor: return 512; - case Item::DarkOakFence: return 186; - case Item::DarkOakFenceGate: return 221; - case Item::DarkOakLeaves: return 61; - case Item::DarkOakLog: return 37; - case Item::DarkOakPlanks: return 18; - case Item::DarkOakPressurePlate: return 171; - case Item::DarkOakSapling: return 24; - case Item::DarkOakSign: return 594; - case Item::DarkOakSlab: return 120; - case Item::DarkOakStairs: return 320; - case Item::DarkOakTrapdoor: return 198; - case Item::DarkOakWood: return 55; - case Item::DarkPrismarine: return 363; - case Item::DarkPrismarineSlab: return 136; - case Item::DarkPrismarineStairs: return 366; - case Item::DaylightDetector: return 271; - case Item::DeadBrainCoral: return 461; - case Item::DeadBrainCoralBlock: return 447; - case Item::DeadBrainCoralFan: return 472; - case Item::DeadBubbleCoral: return 462; - case Item::DeadBubbleCoralBlock: return 448; - case Item::DeadBubbleCoralFan: return 473; - case Item::DeadBush: return 78; - case Item::DeadFireCoral: return 463; - case Item::DeadFireCoralBlock: return 449; - case Item::DeadFireCoralFan: return 474; - case Item::DeadHornCoral: return 464; - case Item::DeadHornCoralBlock: return 450; - case Item::DeadHornCoralFan: return 475; - case Item::DeadTubeCoral: return 465; - case Item::DeadTubeCoralBlock: return 446; - case Item::DeadTubeCoralFan: return 471; - case Item::DebugStick: return 840; - case Item::DetectorRail: return 73; - case Item::Diamond: return 529; - case Item::DiamondAxe: return 544; - case Item::DiamondBlock: return 157; - case Item::DiamondBoots: return 578; - case Item::DiamondChestplate: return 576; - case Item::DiamondHelmet: return 575; - case Item::DiamondHoe: return 558; - case Item::DiamondHorseArmor: return 795; - case Item::DiamondLeggings: return 577; - case Item::DiamondOre: return 156; - case Item::DiamondPickaxe: return 543; - case Item::DiamondShovel: return 542; - case Item::DiamondSword: return 541; - case Item::Diorite: return 4; - case Item::DioriteSlab: return 504; - case Item::DioriteStairs: return 491; - case Item::DioriteWall: return 258; - case Item::Dirt: return 9; - case Item::Dispenser: return 67; - case Item::DolphinSpawnEgg: return 706; - case Item::DonkeySpawnEgg: return 707; - case Item::DragonBreath: return 824; - case Item::DragonEgg: return 233; - case Item::DragonHead: return 774; - case Item::DriedKelp: return 674; - case Item::DriedKelpBlock: return 613; - case Item::Dropper: return 280; - case Item::DrownedSpawnEgg: return 708; - case Item::Egg: return 620; - case Item::ElderGuardianSpawnEgg: return 709; - case Item::Elytra: return 830; - case Item::Emerald: return 760; - case Item::EmeraldBlock: return 239; - case Item::EmeraldOre: return 236; - case Item::EnchantedBook: return 780; - case Item::EnchantedGoldenApple: return 588; - case Item::EnchantingTable: return 229; - case Item::EndCrystal: return 818; - case Item::EndPortalFrame: return 230; - case Item::EndRod: return 147; - case Item::EndStone: return 231; - case Item::EndStoneBrickSlab: return 497; - case Item::EndStoneBrickStairs: return 483; - case Item::EndStoneBrickWall: return 257; - case Item::EndStoneBricks: return 232; - case Item::EnderChest: return 237; - case Item::EnderEye: return 695; - case Item::EnderPearl: return 682; - case Item::EndermanSpawnEgg: return 710; - case Item::EndermiteSpawnEgg: return 711; - case Item::EvokerSpawnEgg: return 712; - case Item::ExperienceBottle: return 756; - case Item::Farmland: return 159; - case Item::Feather: return 553; - case Item::FermentedSpiderEye: return 690; - case Item::Fern: return 77; - case Item::FilledMap: return 671; - case Item::FireCharge: return 757; - case Item::FireCoral: return 459; - case Item::FireCoralBlock: return 454; - case Item::FireCoralFan: return 469; - case Item::FireworkRocket: return 778; - case Item::FireworkStar: return 779; - case Item::FishingRod: return 622; - case Item::FletchingTable: return 869; - case Item::Flint: return 583; - case Item::FlintAndSteel: return 523; - case Item::FlowerBannerPattern: return 860; - case Item::FlowerPot: return 762; - case Item::FoxSpawnEgg: return 713; - case Item::Furnace: return 160; - case Item::FurnaceMinecart: return 619; - case Item::GhastSpawnEgg: return 714; - case Item::GhastTear: return 684; - case Item::Glass: return 64; - case Item::GlassBottle: return 688; - case Item::GlassPane: return 213; - case Item::GlisteringMelonSlice: return 696; - case Item::GlobeBannerPattern: return 864; - case Item::Glowstone: return 191; - case Item::GlowstoneDust: return 624; - case Item::GoldBlock: return 113; - case Item::GoldIngot: return 531; - case Item::GoldNugget: return 685; - case Item::GoldOre: return 29; - case Item::GoldenApple: return 587; - case Item::GoldenAxe: return 551; - case Item::GoldenBoots: return 582; - case Item::GoldenCarrot: return 768; - case Item::GoldenChestplate: return 580; - case Item::GoldenHelmet: return 579; - case Item::GoldenHoe: return 559; - case Item::GoldenHorseArmor: return 794; - case Item::GoldenLeggings: return 581; - case Item::GoldenPickaxe: return 550; - case Item::GoldenShovel: return 549; - case Item::GoldenSword: return 548; - case Item::Granite: return 2; - case Item::GraniteSlab: return 500; - case Item::GraniteStairs: return 487; - case Item::GraniteWall: return 251; - case Item::Grass: return 76; - case Item::GrassBlock: return 8; - case Item::GrassPath: return 322; - case Item::Gravel: return 28; - case Item::GrayBanner: return 809; - case Item::GrayBed: return 661; - case Item::GrayCarpet: return 307; - case Item::GrayConcrete: return 420; - case Item::GrayConcretePowder: return 436; - case Item::GrayDye: return 639; - case Item::GrayGlazedTerracotta: return 404; - case Item::GrayShulkerBox: return 388; - case Item::GrayStainedGlass: return 336; - case Item::GrayStainedGlassPane: return 352; - case Item::GrayTerracotta: return 288; - case Item::GrayWool: return 89; - case Item::GreenBanner: return 815; - case Item::GreenBed: return 667; - case Item::GreenCarpet: return 313; - case Item::GreenConcrete: return 426; - case Item::GreenConcretePowder: return 442; - case Item::GreenDye: return 633; - case Item::GreenGlazedTerracotta: return 410; - case Item::GreenShulkerBox: return 394; - case Item::GreenStainedGlass: return 342; - case Item::GreenStainedGlassPane: return 358; - case Item::GreenTerracotta: return 294; - case Item::GreenWool: return 95; - case Item::Grindstone: return 870; - case Item::GuardianSpawnEgg: return 715; - case Item::Gunpowder: return 554; - case Item::HayBale: return 299; - case Item::HeartOfTheSea: return 856; - case Item::HeavyWeightedPressurePlate: return 270; - case Item::HoneyBlock: return 882; - case Item::HoneyBottle: return 881; - case Item::Honeycomb: return 878; - case Item::HoneycombBlock: return 883; - case Item::Hopper: return 274; - case Item::HopperMinecart: return 784; - case Item::HornCoral: return 460; - case Item::HornCoralBlock: return 455; - case Item::HornCoralFan: return 470; - case Item::HorseSpawnEgg: return 716; - case Item::HuskSpawnEgg: return 717; - case Item::Ice: return 176; - case Item::InfestedChiseledStoneBricks: return 204; - case Item::InfestedCobblestone: return 200; - case Item::InfestedCrackedStoneBricks: return 203; - case Item::InfestedMossyStoneBricks: return 202; - case Item::InfestedStone: return 199; - case Item::InfestedStoneBricks: return 201; - case Item::InkSac: return 631; - case Item::IronAxe: return 522; - case Item::IronBars: return 212; - case Item::IronBlock: return 114; - case Item::IronBoots: return 574; - case Item::IronChestplate: return 572; - case Item::IronDoor: return 506; - case Item::IronHelmet: return 571; - case Item::IronHoe: return 557; - case Item::IronHorseArmor: return 793; - case Item::IronIngot: return 530; - case Item::IronLeggings: return 573; - case Item::IronNugget: return 838; - case Item::IronOre: return 30; - case Item::IronPickaxe: return 521; - case Item::IronShovel: return 520; - case Item::IronSword: return 532; - case Item::IronTrapdoor: return 298; - case Item::ItemFrame: return 761; - case Item::JackOLantern: return 192; - case Item::Jigsaw: return 516; - case Item::Jukebox: return 180; - case Item::JungleBoat: return 833; - case Item::JungleButton: return 262; - case Item::JungleDoor: return 510; - case Item::JungleFence: return 184; - case Item::JungleFenceGate: return 219; - case Item::JungleLeaves: return 59; - case Item::JungleLog: return 35; - case Item::JunglePlanks: return 16; - case Item::JunglePressurePlate: return 169; - case Item::JungleSapling: return 22; - case Item::JungleSign: return 592; - case Item::JungleSlab: return 118; - case Item::JungleStairs: return 242; - case Item::JungleTrapdoor: return 196; - case Item::JungleWood: return 53; - case Item::Kelp: return 612; - case Item::KnowledgeBook: return 839; - case Item::Ladder: return 161; - case Item::Lantern: return 875; - case Item::LapisBlock: return 66; - case Item::LapisLazuli: return 635; - case Item::LapisOre: return 65; - case Item::LargeFern: return 328; - case Item::LavaBucket: return 597; - case Item::Lead: return 797; - case Item::Leather: return 603; - case Item::LeatherBoots: return 566; - case Item::LeatherChestplate: return 564; - case Item::LeatherHelmet: return 563; - case Item::LeatherHorseArmor: return 796; - case Item::LeatherLeggings: return 565; - case Item::Lectern: return 871; - case Item::Lever: return 164; - case Item::LightBlueBanner: return 805; - case Item::LightBlueBed: return 657; - case Item::LightBlueCarpet: return 303; - case Item::LightBlueConcrete: return 416; - case Item::LightBlueConcretePowder: return 432; - case Item::LightBlueDye: return 643; - case Item::LightBlueGlazedTerracotta: return 400; - case Item::LightBlueShulkerBox: return 384; - case Item::LightBlueStainedGlass: return 332; - case Item::LightBlueStainedGlassPane: return 348; - case Item::LightBlueTerracotta: return 284; - case Item::LightBlueWool: return 85; - case Item::LightGrayBanner: return 810; - case Item::LightGrayBed: return 662; - case Item::LightGrayCarpet: return 308; - case Item::LightGrayConcrete: return 421; - case Item::LightGrayConcretePowder: return 437; - case Item::LightGrayDye: return 638; - case Item::LightGrayGlazedTerracotta: return 405; - case Item::LightGrayShulkerBox: return 389; - case Item::LightGrayStainedGlass: return 337; - case Item::LightGrayStainedGlassPane: return 353; - case Item::LightGrayTerracotta: return 289; - case Item::LightGrayWool: return 90; - case Item::LightWeightedPressurePlate: return 269; - case Item::Lilac: return 324; - case Item::LilyOfTheValley: return 109; - case Item::LilyPad: return 225; - case Item::LimeBanner: return 807; - case Item::LimeBed: return 659; - case Item::LimeCarpet: return 305; - case Item::LimeConcrete: return 418; - case Item::LimeConcretePowder: return 434; - case Item::LimeDye: return 641; - case Item::LimeGlazedTerracotta: return 402; - case Item::LimeShulkerBox: return 386; - case Item::LimeStainedGlass: return 334; - case Item::LimeStainedGlassPane: return 350; - case Item::LimeTerracotta: return 286; - case Item::LimeWool: return 87; - case Item::LingeringPotion: return 828; - case Item::LlamaSpawnEgg: return 718; - case Item::Loom: return 859; - case Item::MagentaBanner: return 804; - case Item::MagentaBed: return 656; - case Item::MagentaCarpet: return 302; - case Item::MagentaConcrete: return 415; - case Item::MagentaConcretePowder: return 431; - case Item::MagentaDye: return 644; - case Item::MagentaGlazedTerracotta: return 399; - case Item::MagentaShulkerBox: return 383; - case Item::MagentaStainedGlass: return 331; - case Item::MagentaStainedGlassPane: return 347; - case Item::MagentaTerracotta: return 283; - case Item::MagentaWool: return 84; - case Item::MagmaBlock: return 374; - case Item::MagmaCream: return 692; - case Item::MagmaCubeSpawnEgg: return 719; - case Item::Map: return 767; - case Item::Melon: return 214; - case Item::MelonSeeds: return 676; - case Item::MelonSlice: return 673; - case Item::MilkBucket: return 604; - case Item::Minecart: return 598; - case Item::MojangBannerPattern: return 863; - case Item::MooshroomSpawnEgg: return 720; - case Item::MossyCobblestone: return 144; - case Item::MossyCobblestoneSlab: return 496; - case Item::MossyCobblestoneStairs: return 482; - case Item::MossyCobblestoneWall: return 246; - case Item::MossyStoneBrickSlab: return 494; - case Item::MossyStoneBrickStairs: return 480; - case Item::MossyStoneBrickWall: return 250; - case Item::MossyStoneBricks: return 206; - case Item::MuleSpawnEgg: return 721; - case Item::MushroomStem: return 211; - case Item::MushroomStew: return 547; - case Item::MusicDisc11: return 851; - case Item::MusicDisc13: return 841; - case Item::MusicDiscBlocks: return 843; - case Item::MusicDiscCat: return 842; - case Item::MusicDiscChirp: return 844; - case Item::MusicDiscFar: return 845; - case Item::MusicDiscMall: return 846; - case Item::MusicDiscMellohi: return 847; - case Item::MusicDiscStal: return 848; - case Item::MusicDiscStrad: return 849; - case Item::MusicDiscWait: return 852; - case Item::MusicDiscWard: return 850; - case Item::Mutton: return 800; - case Item::Mycelium: return 224; - case Item::NameTag: return 798; - case Item::NautilusShell: return 855; - case Item::NetherBrick: return 781; - case Item::NetherBrickFence: return 227; - case Item::NetherBrickSlab: return 129; - case Item::NetherBrickStairs: return 228; - case Item::NetherBrickWall: return 253; - case Item::NetherBricks: return 226; - case Item::NetherQuartzOre: return 273; - case Item::NetherStar: return 776; - case Item::NetherWart: return 686; - case Item::NetherWartBlock: return 375; - case Item::Netherrack: return 189; - case Item::NoteBlock: return 71; - case Item::OakBoat: return 602; - case Item::OakButton: return 259; - case Item::OakDoor: return 507; - case Item::OakFence: return 181; - case Item::OakFenceGate: return 216; - case Item::OakLeaves: return 56; - case Item::OakLog: return 32; - case Item::OakPlanks: return 13; - case Item::OakPressurePlate: return 166; - case Item::OakSapling: return 19; - case Item::OakSign: return 589; - case Item::OakSlab: return 115; - case Item::OakStairs: return 154; - case Item::OakTrapdoor: return 193; - case Item::OakWood: return 50; - case Item::Observer: return 379; - case Item::Obsidian: return 145; - case Item::OcelotSpawnEgg: return 722; - case Item::OrangeBanner: return 803; - case Item::OrangeBed: return 655; - case Item::OrangeCarpet: return 301; - case Item::OrangeConcrete: return 414; - case Item::OrangeConcretePowder: return 430; - case Item::OrangeDye: return 645; - case Item::OrangeGlazedTerracotta: return 398; - case Item::OrangeShulkerBox: return 382; - case Item::OrangeStainedGlass: return 330; - case Item::OrangeStainedGlassPane: return 346; - case Item::OrangeTerracotta: return 282; - case Item::OrangeTulip: return 104; - case Item::OrangeWool: return 83; - case Item::OxeyeDaisy: return 107; - case Item::PackedIce: return 318; - case Item::Painting: return 586; - case Item::PandaSpawnEgg: return 723; - case Item::Paper: return 615; - case Item::ParrotSpawnEgg: return 724; - case Item::Peony: return 326; - case Item::PetrifiedOakSlab: return 125; - case Item::PhantomMembrane: return 854; - case Item::PhantomSpawnEgg: return 725; - case Item::PigSpawnEgg: return 726; - case Item::PillagerSpawnEgg: return 727; - case Item::PinkBanner: return 808; - case Item::PinkBed: return 660; - case Item::PinkCarpet: return 306; - case Item::PinkConcrete: return 419; - case Item::PinkConcretePowder: return 435; - case Item::PinkDye: return 640; - case Item::PinkGlazedTerracotta: return 403; - case Item::PinkShulkerBox: return 387; - case Item::PinkStainedGlass: return 335; - case Item::PinkStainedGlassPane: return 351; - case Item::PinkTerracotta: return 287; - case Item::PinkTulip: return 106; - case Item::PinkWool: return 88; - case Item::Piston: return 81; - case Item::PlayerHead: return 771; - case Item::Podzol: return 11; - case Item::PoisonousPotato: return 766; - case Item::PolarBearSpawnEgg: return 728; - case Item::PolishedAndesite: return 7; - case Item::PolishedAndesiteSlab: return 503; - case Item::PolishedAndesiteStairs: return 490; - case Item::PolishedDiorite: return 5; - case Item::PolishedDioriteSlab: return 495; - case Item::PolishedDioriteStairs: return 481; - case Item::PolishedGranite: return 3; - case Item::PolishedGraniteSlab: return 492; - case Item::PolishedGraniteStairs: return 478; - case Item::PoppedChorusFruit: return 820; - case Item::Poppy: return 99; - case Item::Porkchop: return 584; - case Item::Potato: return 764; - case Item::Potion: return 687; - case Item::PoweredRail: return 72; - case Item::Prismarine: return 361; - case Item::PrismarineBrickSlab: return 135; - case Item::PrismarineBrickStairs: return 365; - case Item::PrismarineBricks: return 362; - case Item::PrismarineCrystals: return 786; - case Item::PrismarineShard: return 785; - case Item::PrismarineSlab: return 134; - case Item::PrismarineStairs: return 364; - case Item::PrismarineWall: return 248; - case Item::Pufferfish: return 628; - case Item::PufferfishBucket: return 605; - case Item::PufferfishSpawnEgg: return 729; - case Item::Pumpkin: return 187; - case Item::PumpkinPie: return 777; - case Item::PumpkinSeeds: return 675; - case Item::PurpleBanner: return 812; - case Item::PurpleBed: return 664; - case Item::PurpleCarpet: return 310; - case Item::PurpleConcrete: return 423; - case Item::PurpleConcretePowder: return 439; - case Item::PurpleDye: return 636; - case Item::PurpleGlazedTerracotta: return 407; - case Item::PurpleShulkerBox: return 391; - case Item::PurpleStainedGlass: return 339; - case Item::PurpleStainedGlassPane: return 355; - case Item::PurpleTerracotta: return 291; - case Item::PurpleWool: return 92; - case Item::PurpurBlock: return 150; - case Item::PurpurPillar: return 151; - case Item::PurpurSlab: return 133; - case Item::PurpurStairs: return 152; - case Item::Quartz: return 782; - case Item::QuartzBlock: return 276; - case Item::QuartzPillar: return 277; - case Item::QuartzSlab: return 130; - case Item::QuartzStairs: return 278; - case Item::Rabbit: return 787; - case Item::RabbitFoot: return 790; - case Item::RabbitHide: return 791; - case Item::RabbitSpawnEgg: return 730; - case Item::RabbitStew: return 789; - case Item::Rail: return 162; - case Item::RavagerSpawnEgg: return 731; - case Item::RedBanner: return 816; - case Item::RedBed: return 668; - case Item::RedCarpet: return 314; - case Item::RedConcrete: return 427; - case Item::RedConcretePowder: return 443; - case Item::RedDye: return 632; - case Item::RedGlazedTerracotta: return 411; - case Item::RedMushroom: return 112; - case Item::RedMushroomBlock: return 210; - case Item::RedNetherBrickSlab: return 502; - case Item::RedNetherBrickStairs: return 489; - case Item::RedNetherBrickWall: return 255; - case Item::RedNetherBricks: return 376; - case Item::RedSand: return 27; - case Item::RedSandstone: return 368; - case Item::RedSandstoneSlab: return 131; - case Item::RedSandstoneStairs: return 371; - case Item::RedSandstoneWall: return 249; - case Item::RedShulkerBox: return 395; - case Item::RedStainedGlass: return 343; - case Item::RedStainedGlassPane: return 359; - case Item::RedTerracotta: return 295; - case Item::RedTulip: return 103; - case Item::RedWool: return 96; - case Item::Redstone: return 600; - case Item::RedstoneBlock: return 272; - case Item::RedstoneLamp: return 234; - case Item::RedstoneOre: return 172; - case Item::RedstoneTorch: return 173; - case Item::Repeater: return 513; - case Item::RepeatingCommandBlock: return 372; - case Item::RoseBush: return 325; - case Item::RottenFlesh: return 681; - case Item::Saddle: return 599; - case Item::Salmon: return 626; - case Item::SalmonBucket: return 606; - case Item::SalmonSpawnEgg: return 732; - case Item::Sand: return 26; - case Item::Sandstone: return 68; - case Item::SandstoneSlab: return 123; - case Item::SandstoneStairs: return 235; - case Item::SandstoneWall: return 256; - case Item::Scaffolding: return 505; - case Item::Scute: return 519; - case Item::SeaLantern: return 367; - case Item::SeaPickle: return 80; - case Item::Seagrass: return 79; - case Item::Shears: return 672; - case Item::SheepSpawnEgg: return 733; - case Item::Shield: return 829; - case Item::ShulkerBox: return 380; - case Item::ShulkerShell: return 837; - case Item::ShulkerSpawnEgg: return 734; - case Item::SilverfishSpawnEgg: return 735; - case Item::SkeletonHorseSpawnEgg: return 737; - case Item::SkeletonSkull: return 769; - case Item::SkeletonSpawnEgg: return 736; - case Item::SkullBannerPattern: return 862; - case Item::SlimeBall: return 617; - case Item::SlimeBlock: return 321; - case Item::SlimeSpawnEgg: return 738; - case Item::SmithingTable: return 872; - case Item::Smoker: return 866; - case Item::SmoothQuartz: return 137; - case Item::SmoothQuartzSlab: return 499; - case Item::SmoothQuartzStairs: return 486; - case Item::SmoothRedSandstone: return 138; - case Item::SmoothRedSandstoneSlab: return 493; - case Item::SmoothRedSandstoneStairs: return 479; - case Item::SmoothSandstone: return 139; - case Item::SmoothSandstoneSlab: return 498; - case Item::SmoothSandstoneStairs: return 485; - case Item::SmoothStone: return 140; - case Item::SmoothStoneSlab: return 122; - case Item::Snow: return 175; - case Item::SnowBlock: return 177; - case Item::Snowball: return 601; - case Item::SoulSand: return 190; - case Item::Spawner: return 153; - case Item::SpectralArrow: return 826; - case Item::SpiderEye: return 689; - case Item::SpiderSpawnEgg: return 739; - case Item::SplashPotion: return 825; - case Item::Sponge: return 62; - case Item::SpruceBoat: return 831; - case Item::SpruceButton: return 260; - case Item::SpruceDoor: return 508; - case Item::SpruceFence: return 182; - case Item::SpruceFenceGate: return 217; - case Item::SpruceLeaves: return 57; - case Item::SpruceLog: return 33; - case Item::SprucePlanks: return 14; - case Item::SprucePressurePlate: return 167; - case Item::SpruceSapling: return 20; - case Item::SpruceSign: return 590; - case Item::SpruceSlab: return 116; - case Item::SpruceStairs: return 240; - case Item::SpruceTrapdoor: return 194; - case Item::SpruceWood: return 51; - case Item::SquidSpawnEgg: return 740; - case Item::Stick: return 545; - case Item::StickyPiston: return 74; - case Item::Stone: return 1; - case Item::StoneAxe: return 540; - case Item::StoneBrickSlab: return 128; - case Item::StoneBrickStairs: return 223; - case Item::StoneBrickWall: return 252; - case Item::StoneBricks: return 205; - case Item::StoneButton: return 174; - case Item::StoneHoe: return 556; - case Item::StonePickaxe: return 539; - case Item::StonePressurePlate: return 165; - case Item::StoneShovel: return 538; - case Item::StoneSlab: return 121; - case Item::StoneStairs: return 484; - case Item::StoneSword: return 537; - case Item::Stonecutter: return 873; - case Item::StraySpawnEgg: return 741; - case Item::String: return 552; - case Item::StrippedAcaciaLog: return 42; - case Item::StrippedAcaciaWood: return 48; - case Item::StrippedBirchLog: return 40; - case Item::StrippedBirchWood: return 46; - case Item::StrippedDarkOakLog: return 43; - case Item::StrippedDarkOakWood: return 49; - case Item::StrippedJungleLog: return 41; - case Item::StrippedJungleWood: return 47; - case Item::StrippedOakLog: return 38; - case Item::StrippedOakWood: return 44; - case Item::StrippedSpruceLog: return 39; - case Item::StrippedSpruceWood: return 45; - case Item::StructureBlock: return 515; - case Item::StructureVoid: return 378; - case Item::Sugar: return 652; - case Item::SugarCane: return 611; - case Item::Sunflower: return 323; - case Item::SuspiciousStew: return 858; - case Item::SweetBerries: return 876; - case Item::TallGrass: return 327; - case Item::Terracotta: return 316; - case Item::TippedArrow: return 827; - case Item::TNT: return 142; - case Item::TNTMinecart: return 783; - case Item::Torch: return 146; - case Item::TotemOfUndying: return 836; - case Item::TraderLlamaSpawnEgg: return 742; - case Item::TrappedChest: return 268; - case Item::Trident: return 853; - case Item::TripwireHook: return 238; - case Item::TropicalFish: return 627; - case Item::TropicalFishBucket: return 608; - case Item::TropicalFishSpawnEgg: return 743; - case Item::TubeCoral: return 456; - case Item::TubeCoralBlock: return 451; - case Item::TubeCoralFan: return 466; - case Item::TurtleEgg: return 445; - case Item::TurtleHelmet: return 518; - case Item::TurtleSpawnEgg: return 744; - case Item::VexSpawnEgg: return 745; - case Item::VillagerSpawnEgg: return 746; - case Item::VindicatorSpawnEgg: return 747; - case Item::Vine: return 215; - case Item::WanderingTraderSpawnEgg: return 748; - case Item::WaterBucket: return 596; - case Item::WetSponge: return 63; - case Item::Wheat: return 561; - case Item::WheatSeeds: return 560; - case Item::WhiteBanner: return 802; - case Item::WhiteBed: return 654; - case Item::WhiteCarpet: return 300; - case Item::WhiteConcrete: return 413; - case Item::WhiteConcretePowder: return 429; - case Item::WhiteDye: return 650; - case Item::WhiteGlazedTerracotta: return 397; - case Item::WhiteShulkerBox: return 381; - case Item::WhiteStainedGlass: return 329; - case Item::WhiteStainedGlassPane: return 345; - case Item::WhiteTerracotta: return 281; - case Item::WhiteTulip: return 105; - case Item::WhiteWool: return 82; - case Item::WitchSpawnEgg: return 749; - case Item::WitherRose: return 110; - case Item::WitherSkeletonSkull: return 770; - case Item::WitherSkeletonSpawnEgg: return 750; - case Item::WolfSpawnEgg: return 751; - case Item::WoodenAxe: return 536; - case Item::WoodenHoe: return 555; - case Item::WoodenPickaxe: return 535; - case Item::WoodenShovel: return 534; - case Item::WoodenSword: return 533; - case Item::WritableBook: return 758; - case Item::WrittenBook: return 759; - case Item::YellowBanner: return 806; - case Item::YellowBed: return 658; - case Item::YellowCarpet: return 304; - case Item::YellowConcrete: return 417; - case Item::YellowConcretePowder: return 433; - case Item::YellowDye: return 642; - case Item::YellowGlazedTerracotta: return 401; - case Item::YellowShulkerBox: return 385; - case Item::YellowStainedGlass: return 333; - case Item::YellowStainedGlassPane: return 349; - case Item::YellowTerracotta: return 285; - case Item::YellowWool: return 86; - case Item::ZombieHead: return 772; - case Item::ZombieHorseSpawnEgg: return 753; - case Item::ZombiePigmanSpawnEgg: return 754; - case Item::ZombieSpawnEgg: return 752; - case Item::ZombieVillagerSpawnEgg: return 755; - default: return 0; - } + case Item::AcaciaBoat: return 834; + case Item::AcaciaButton: return 263; + case Item::AcaciaDoor: return 511; + case Item::AcaciaFence: return 185; + case Item::AcaciaFenceGate: return 220; + case Item::AcaciaLeaves: return 60; + case Item::AcaciaLog: return 36; + case Item::AcaciaPlanks: return 17; + case Item::AcaciaPressurePlate: return 170; + case Item::AcaciaSapling: return 23; + case Item::AcaciaSign: return 593; + case Item::AcaciaSlab: return 119; + case Item::AcaciaStairs: return 319; + case Item::AcaciaTrapdoor: return 197; + case Item::AcaciaWood: return 54; + case Item::ActivatorRail: return 279; + case Item::Air: return -0; + case Item::Allium: return 101; + case Item::Andesite: return 6; + case Item::AndesiteSlab: return 501; + case Item::AndesiteStairs: return 488; + case Item::AndesiteWall: return 254; + case Item::Anvil: return 265; + case Item::Apple: return 524; + case Item::ArmorStand: return 792; + case Item::Arrow: return 526; + case Item::AzureBluet: return 102; + case Item::BakedPotato: return 765; + case Item::Bamboo: return 614; + case Item::Barrel: return 865; + case Item::Barrier: return 297; + case Item::BatSpawnEgg: return 697; + case Item::Beacon: return 244; + case Item::Bedrock: return 25; + case Item::BeeNest: return 879; + case Item::BeeSpawnEgg: return 698; + case Item::Beef: return 677; + case Item::Beehive: return 880; + case Item::Beetroot: return 821; + case Item::BeetrootSeeds: return 822; + case Item::BeetrootSoup: return 823; + case Item::Bell: return 874; + case Item::BirchBoat: return 832; + case Item::BirchButton: return 261; + case Item::BirchDoor: return 509; + case Item::BirchFence: return 183; + case Item::BirchFenceGate: return 218; + case Item::BirchLeaves: return 58; + case Item::BirchLog: return 34; + case Item::BirchPlanks: return 15; + case Item::BirchPressurePlate: return 168; + case Item::BirchSapling: return 21; + case Item::BirchSign: return 591; + case Item::BirchSlab: return 117; + case Item::BirchStairs: return 241; + case Item::BirchTrapdoor: return 195; + case Item::BirchWood: return 52; + case Item::BlackBanner: return 817; + case Item::BlackBed: return 669; + case Item::BlackCarpet: return 315; + case Item::BlackConcrete: return 428; + case Item::BlackConcretePowder: return 444; + case Item::BlackDye: return 649; + case Item::BlackGlazedTerracotta: return 412; + case Item::BlackShulkerBox: return 396; + case Item::BlackStainedGlass: return 344; + case Item::BlackStainedGlassPane: return 360; + case Item::BlackTerracotta: return 296; + case Item::BlackWool: return 97; + case Item::BlastFurnace: return 867; + case Item::BlazePowder: return 691; + case Item::BlazeRod: return 683; + case Item::BlazeSpawnEgg: return 699; + case Item::BlueBanner: return 813; + case Item::BlueBed: return 665; + case Item::BlueCarpet: return 311; + case Item::BlueConcrete: return 424; + case Item::BlueConcretePowder: return 440; + case Item::BlueDye: return 647; + case Item::BlueGlazedTerracotta: return 408; + case Item::BlueIce: return 476; + case Item::BlueOrchid: return 100; + case Item::BlueShulkerBox: return 392; + case Item::BlueStainedGlass: return 340; + case Item::BlueStainedGlassPane: return 356; + case Item::BlueTerracotta: return 292; + case Item::BlueWool: return 93; + case Item::Bone: return 651; + case Item::BoneBlock: return 377; + case Item::BoneMeal: return 646; + case Item::Book: return 616; + case Item::Bookshelf: return 143; + case Item::Bow: return 525; + case Item::Bowl: return 546; + case Item::BrainCoral: return 457; + case Item::BrainCoralBlock: return 452; + case Item::BrainCoralFan: return 467; + case Item::Bread: return 562; + case Item::BrewingStand: return 693; + case Item::Brick: return 609; + case Item::BrickSlab: return 127; + case Item::BrickStairs: return 222; + case Item::BrickWall: return 247; + case Item::Bricks: return 141; + case Item::BrownBanner: return 814; + case Item::BrownBed: return 666; + case Item::BrownCarpet: return 312; + case Item::BrownConcrete: return 425; + case Item::BrownConcretePowder: return 441; + case Item::BrownDye: return 648; + case Item::BrownGlazedTerracotta: return 409; + case Item::BrownMushroom: return 111; + case Item::BrownMushroomBlock: return 209; + case Item::BrownShulkerBox: return 393; + case Item::BrownStainedGlass: return 341; + case Item::BrownStainedGlassPane: return 357; + case Item::BrownTerracotta: return 293; + case Item::BrownWool: return 94; + case Item::BubbleCoral: return 458; + case Item::BubbleCoralBlock: return 453; + case Item::BubbleCoralFan: return 468; + case Item::Bucket: return 595; + case Item::Cactus: return 178; + case Item::Cake: return 653; + case Item::Campfire: return 877; + case Item::Carrot: return 763; + case Item::CarrotOnAStick: return 775; + case Item::CartographyTable: return 868; + case Item::CarvedPumpkin: return 188; + case Item::CatSpawnEgg: return 700; + case Item::Cauldron: return 694; + case Item::CaveSpiderSpawnEgg: return 701; + case Item::ChainCommandBlock: return 373; + case Item::ChainmailBoots: return 570; + case Item::ChainmailChestplate: return 568; + case Item::ChainmailHelmet: return 567; + case Item::ChainmailLeggings: return 569; + case Item::Charcoal: return 528; + case Item::Chest: return 155; + case Item::ChestMinecart: return 618; + case Item::Chicken: return 679; + case Item::ChickenSpawnEgg: return 702; + case Item::ChippedAnvil: return 266; + case Item::ChiseledQuartzBlock: return 275; + case Item::ChiseledRedSandstone: return 369; + case Item::ChiseledSandstone: return 69; + case Item::ChiseledStoneBricks: return 208; + case Item::ChorusFlower: return 149; + case Item::ChorusFruit: return 819; + case Item::ChorusPlant: return 148; + case Item::Clay: return 179; + case Item::ClayBall: return 610; + case Item::Clock: return 623; + case Item::Coal: return 527; + case Item::CoalBlock: return 317; + case Item::CoalOre: return 31; + case Item::CoarseDirt: return 10; + case Item::Cobblestone: return 12; + case Item::CobblestoneSlab: return 126; + case Item::CobblestoneStairs: return 163; + case Item::CobblestoneWall: return 245; + case Item::Cobweb: return 75; + case Item::CocoaBeans: return 634; + case Item::Cod: return 625; + case Item::CodBucket: return 607; + case Item::CodSpawnEgg: return 703; + case Item::CommandBlock: return 243; + case Item::CommandBlockMinecart: return 799; + case Item::Comparator: return 514; + case Item::Compass: return 621; + case Item::Composter: return 517; + case Item::Conduit: return 477; + case Item::CookedBeef: return 678; + case Item::CookedChicken: return 680; + case Item::CookedCod: return 629; + case Item::CookedMutton: return 801; + case Item::CookedPorkchop: return 585; + case Item::CookedRabbit: return 788; + case Item::CookedSalmon: return 630; + case Item::Cookie: return 670; + case Item::Cornflower: return 108; + case Item::CowSpawnEgg: return 704; + case Item::CrackedStoneBricks: return 207; + case Item::CraftingTable: return 158; + case Item::CreeperBannerPattern: return 861; + case Item::CreeperHead: return 773; + case Item::CreeperSpawnEgg: return 705; + case Item::Crossbow: return 857; + case Item::CutRedSandstone: return 370; + case Item::CutRedSandstoneSlab: return 132; + case Item::CutSandstone: return 70; + case Item::CutSandstoneSlab: return 124; + case Item::CyanBanner: return 811; + case Item::CyanBed: return 663; + case Item::CyanCarpet: return 309; + case Item::CyanConcrete: return 422; + case Item::CyanConcretePowder: return 438; + case Item::CyanDye: return 637; + case Item::CyanGlazedTerracotta: return 406; + case Item::CyanShulkerBox: return 390; + case Item::CyanStainedGlass: return 338; + case Item::CyanStainedGlassPane: return 354; + case Item::CyanTerracotta: return 290; + case Item::CyanWool: return 91; + case Item::DamagedAnvil: return 267; + case Item::Dandelion: return 98; + case Item::DarkOakBoat: return 835; + case Item::DarkOakButton: return 264; + case Item::DarkOakDoor: return 512; + case Item::DarkOakFence: return 186; + case Item::DarkOakFenceGate: return 221; + case Item::DarkOakLeaves: return 61; + case Item::DarkOakLog: return 37; + case Item::DarkOakPlanks: return 18; + case Item::DarkOakPressurePlate: return 171; + case Item::DarkOakSapling: return 24; + case Item::DarkOakSign: return 594; + case Item::DarkOakSlab: return 120; + case Item::DarkOakStairs: return 320; + case Item::DarkOakTrapdoor: return 198; + case Item::DarkOakWood: return 55; + case Item::DarkPrismarine: return 363; + case Item::DarkPrismarineSlab: return 136; + case Item::DarkPrismarineStairs: return 366; + case Item::DaylightDetector: return 271; + case Item::DeadBrainCoral: return 461; + case Item::DeadBrainCoralBlock: return 447; + case Item::DeadBrainCoralFan: return 472; + case Item::DeadBubbleCoral: return 462; + case Item::DeadBubbleCoralBlock: return 448; + case Item::DeadBubbleCoralFan: return 473; + case Item::DeadBush: return 78; + case Item::DeadFireCoral: return 463; + case Item::DeadFireCoralBlock: return 449; + case Item::DeadFireCoralFan: return 474; + case Item::DeadHornCoral: return 464; + case Item::DeadHornCoralBlock: return 450; + case Item::DeadHornCoralFan: return 475; + case Item::DeadTubeCoral: return 465; + case Item::DeadTubeCoralBlock: return 446; + case Item::DeadTubeCoralFan: return 471; + case Item::DebugStick: return 840; + case Item::DetectorRail: return 73; + case Item::Diamond: return 529; + case Item::DiamondAxe: return 544; + case Item::DiamondBlock: return 157; + case Item::DiamondBoots: return 578; + case Item::DiamondChestplate: return 576; + case Item::DiamondHelmet: return 575; + case Item::DiamondHoe: return 558; + case Item::DiamondHorseArmor: return 795; + case Item::DiamondLeggings: return 577; + case Item::DiamondOre: return 156; + case Item::DiamondPickaxe: return 543; + case Item::DiamondShovel: return 542; + case Item::DiamondSword: return 541; + case Item::Diorite: return 4; + case Item::DioriteSlab: return 504; + case Item::DioriteStairs: return 491; + case Item::DioriteWall: return 258; + case Item::Dirt: return 9; + case Item::Dispenser: return 67; + case Item::DolphinSpawnEgg: return 706; + case Item::DonkeySpawnEgg: return 707; + case Item::DragonBreath: return 824; + case Item::DragonEgg: return 233; + case Item::DragonHead: return 774; + case Item::DriedKelp: return 674; + case Item::DriedKelpBlock: return 613; + case Item::Dropper: return 280; + case Item::DrownedSpawnEgg: return 708; + case Item::Egg: return 620; + case Item::ElderGuardianSpawnEgg: return 709; + case Item::Elytra: return 830; + case Item::Emerald: return 760; + case Item::EmeraldBlock: return 239; + case Item::EmeraldOre: return 236; + case Item::EnchantedBook: return 780; + case Item::EnchantedGoldenApple: return 588; + case Item::EnchantingTable: return 229; + case Item::EndCrystal: return 818; + case Item::EndPortalFrame: return 230; + case Item::EndRod: return 147; + case Item::EndStone: return 231; + case Item::EndStoneBrickSlab: return 497; + case Item::EndStoneBrickStairs: return 483; + case Item::EndStoneBrickWall: return 257; + case Item::EndStoneBricks: return 232; + case Item::EnderChest: return 237; + case Item::EnderEye: return 695; + case Item::EnderPearl: return 682; + case Item::EndermanSpawnEgg: return 710; + case Item::EndermiteSpawnEgg: return 711; + case Item::EvokerSpawnEgg: return 712; + case Item::ExperienceBottle: return 756; + case Item::Farmland: return 159; + case Item::Feather: return 553; + case Item::FermentedSpiderEye: return 690; + case Item::Fern: return 77; + case Item::FilledMap: return 671; + case Item::FireCharge: return 757; + case Item::FireCoral: return 459; + case Item::FireCoralBlock: return 454; + case Item::FireCoralFan: return 469; + case Item::FireworkRocket: return 778; + case Item::FireworkStar: return 779; + case Item::FishingRod: return 622; + case Item::FletchingTable: return 869; + case Item::Flint: return 583; + case Item::FlintAndSteel: return 523; + case Item::FlowerBannerPattern: return 860; + case Item::FlowerPot: return 762; + case Item::FoxSpawnEgg: return 713; + case Item::Furnace: return 160; + case Item::FurnaceMinecart: return 619; + case Item::GhastSpawnEgg: return 714; + case Item::GhastTear: return 684; + case Item::Glass: return 64; + case Item::GlassBottle: return 688; + case Item::GlassPane: return 213; + case Item::GlisteringMelonSlice: return 696; + case Item::GlobeBannerPattern: return 864; + case Item::Glowstone: return 191; + case Item::GlowstoneDust: return 624; + case Item::GoldBlock: return 113; + case Item::GoldIngot: return 531; + case Item::GoldNugget: return 685; + case Item::GoldOre: return 29; + case Item::GoldenApple: return 587; + case Item::GoldenAxe: return 551; + case Item::GoldenBoots: return 582; + case Item::GoldenCarrot: return 768; + case Item::GoldenChestplate: return 580; + case Item::GoldenHelmet: return 579; + case Item::GoldenHoe: return 559; + case Item::GoldenHorseArmor: return 794; + case Item::GoldenLeggings: return 581; + case Item::GoldenPickaxe: return 550; + case Item::GoldenShovel: return 549; + case Item::GoldenSword: return 548; + case Item::Granite: return 2; + case Item::GraniteSlab: return 500; + case Item::GraniteStairs: return 487; + case Item::GraniteWall: return 251; + case Item::Grass: return 76; + case Item::GrassBlock: return 8; + case Item::GrassPath: return 322; + case Item::Gravel: return 28; + case Item::GrayBanner: return 809; + case Item::GrayBed: return 661; + case Item::GrayCarpet: return 307; + case Item::GrayConcrete: return 420; + case Item::GrayConcretePowder: return 436; + case Item::GrayDye: return 639; + case Item::GrayGlazedTerracotta: return 404; + case Item::GrayShulkerBox: return 388; + case Item::GrayStainedGlass: return 336; + case Item::GrayStainedGlassPane: return 352; + case Item::GrayTerracotta: return 288; + case Item::GrayWool: return 89; + case Item::GreenBanner: return 815; + case Item::GreenBed: return 667; + case Item::GreenCarpet: return 313; + case Item::GreenConcrete: return 426; + case Item::GreenConcretePowder: return 442; + case Item::GreenDye: return 633; + case Item::GreenGlazedTerracotta: return 410; + case Item::GreenShulkerBox: return 394; + case Item::GreenStainedGlass: return 342; + case Item::GreenStainedGlassPane: return 358; + case Item::GreenTerracotta: return 294; + case Item::GreenWool: return 95; + case Item::Grindstone: return 870; + case Item::GuardianSpawnEgg: return 715; + case Item::Gunpowder: return 554; + case Item::HayBale: return 299; + case Item::HeartOfTheSea: return 856; + case Item::HeavyWeightedPressurePlate: return 270; + case Item::HoneyBlock: return 882; + case Item::HoneyBottle: return 881; + case Item::Honeycomb: return 878; + case Item::HoneycombBlock: return 883; + case Item::Hopper: return 274; + case Item::HopperMinecart: return 784; + case Item::HornCoral: return 460; + case Item::HornCoralBlock: return 455; + case Item::HornCoralFan: return 470; + case Item::HorseSpawnEgg: return 716; + case Item::HuskSpawnEgg: return 717; + case Item::Ice: return 176; + case Item::InfestedChiseledStoneBricks: return 204; + case Item::InfestedCobblestone: return 200; + case Item::InfestedCrackedStoneBricks: return 203; + case Item::InfestedMossyStoneBricks: return 202; + case Item::InfestedStone: return 199; + case Item::InfestedStoneBricks: return 201; + case Item::InkSac: return 631; + case Item::IronAxe: return 522; + case Item::IronBars: return 212; + case Item::IronBlock: return 114; + case Item::IronBoots: return 574; + case Item::IronChestplate: return 572; + case Item::IronDoor: return 506; + case Item::IronHelmet: return 571; + case Item::IronHoe: return 557; + case Item::IronHorseArmor: return 793; + case Item::IronIngot: return 530; + case Item::IronLeggings: return 573; + case Item::IronNugget: return 838; + case Item::IronOre: return 30; + case Item::IronPickaxe: return 521; + case Item::IronShovel: return 520; + case Item::IronSword: return 532; + case Item::IronTrapdoor: return 298; + case Item::ItemFrame: return 761; + case Item::JackOLantern: return 192; + case Item::Jigsaw: return 516; + case Item::Jukebox: return 180; + case Item::JungleBoat: return 833; + case Item::JungleButton: return 262; + case Item::JungleDoor: return 510; + case Item::JungleFence: return 184; + case Item::JungleFenceGate: return 219; + case Item::JungleLeaves: return 59; + case Item::JungleLog: return 35; + case Item::JunglePlanks: return 16; + case Item::JunglePressurePlate: return 169; + case Item::JungleSapling: return 22; + case Item::JungleSign: return 592; + case Item::JungleSlab: return 118; + case Item::JungleStairs: return 242; + case Item::JungleTrapdoor: return 196; + case Item::JungleWood: return 53; + case Item::Kelp: return 612; + case Item::KnowledgeBook: return 839; + case Item::Ladder: return 161; + case Item::Lantern: return 875; + case Item::LapisBlock: return 66; + case Item::LapisLazuli: return 635; + case Item::LapisOre: return 65; + case Item::LargeFern: return 328; + case Item::LavaBucket: return 597; + case Item::Lead: return 797; + case Item::Leather: return 603; + case Item::LeatherBoots: return 566; + case Item::LeatherChestplate: return 564; + case Item::LeatherHelmet: return 563; + case Item::LeatherHorseArmor: return 796; + case Item::LeatherLeggings: return 565; + case Item::Lectern: return 871; + case Item::Lever: return 164; + case Item::LightBlueBanner: return 805; + case Item::LightBlueBed: return 657; + case Item::LightBlueCarpet: return 303; + case Item::LightBlueConcrete: return 416; + case Item::LightBlueConcretePowder: return 432; + case Item::LightBlueDye: return 643; + case Item::LightBlueGlazedTerracotta: return 400; + case Item::LightBlueShulkerBox: return 384; + case Item::LightBlueStainedGlass: return 332; + case Item::LightBlueStainedGlassPane: return 348; + case Item::LightBlueTerracotta: return 284; + case Item::LightBlueWool: return 85; + case Item::LightGrayBanner: return 810; + case Item::LightGrayBed: return 662; + case Item::LightGrayCarpet: return 308; + case Item::LightGrayConcrete: return 421; + case Item::LightGrayConcretePowder: return 437; + case Item::LightGrayDye: return 638; + case Item::LightGrayGlazedTerracotta: return 405; + case Item::LightGrayShulkerBox: return 389; + case Item::LightGrayStainedGlass: return 337; + case Item::LightGrayStainedGlassPane: return 353; + case Item::LightGrayTerracotta: return 289; + case Item::LightGrayWool: return 90; + case Item::LightWeightedPressurePlate: return 269; + case Item::Lilac: return 324; + case Item::LilyOfTheValley: return 109; + case Item::LilyPad: return 225; + case Item::LimeBanner: return 807; + case Item::LimeBed: return 659; + case Item::LimeCarpet: return 305; + case Item::LimeConcrete: return 418; + case Item::LimeConcretePowder: return 434; + case Item::LimeDye: return 641; + case Item::LimeGlazedTerracotta: return 402; + case Item::LimeShulkerBox: return 386; + case Item::LimeStainedGlass: return 334; + case Item::LimeStainedGlassPane: return 350; + case Item::LimeTerracotta: return 286; + case Item::LimeWool: return 87; + case Item::LingeringPotion: return 828; + case Item::LlamaSpawnEgg: return 718; + case Item::Loom: return 859; + case Item::MagentaBanner: return 804; + case Item::MagentaBed: return 656; + case Item::MagentaCarpet: return 302; + case Item::MagentaConcrete: return 415; + case Item::MagentaConcretePowder: return 431; + case Item::MagentaDye: return 644; + case Item::MagentaGlazedTerracotta: return 399; + case Item::MagentaShulkerBox: return 383; + case Item::MagentaStainedGlass: return 331; + case Item::MagentaStainedGlassPane: return 347; + case Item::MagentaTerracotta: return 283; + case Item::MagentaWool: return 84; + case Item::MagmaBlock: return 374; + case Item::MagmaCream: return 692; + case Item::MagmaCubeSpawnEgg: return 719; + case Item::Map: return 767; + case Item::Melon: return 214; + case Item::MelonSeeds: return 676; + case Item::MelonSlice: return 673; + case Item::MilkBucket: return 604; + case Item::Minecart: return 598; + case Item::MojangBannerPattern: return 863; + case Item::MooshroomSpawnEgg: return 720; + case Item::MossyCobblestone: return 144; + case Item::MossyCobblestoneSlab: return 496; + case Item::MossyCobblestoneStairs: return 482; + case Item::MossyCobblestoneWall: return 246; + case Item::MossyStoneBrickSlab: return 494; + case Item::MossyStoneBrickStairs: return 480; + case Item::MossyStoneBrickWall: return 250; + case Item::MossyStoneBricks: return 206; + case Item::MuleSpawnEgg: return 721; + case Item::MushroomStem: return 211; + case Item::MushroomStew: return 547; + case Item::MusicDisc11: return 851; + case Item::MusicDisc13: return 841; + case Item::MusicDiscBlocks: return 843; + case Item::MusicDiscCat: return 842; + case Item::MusicDiscChirp: return 844; + case Item::MusicDiscFar: return 845; + case Item::MusicDiscMall: return 846; + case Item::MusicDiscMellohi: return 847; + case Item::MusicDiscStal: return 848; + case Item::MusicDiscStrad: return 849; + case Item::MusicDiscWait: return 852; + case Item::MusicDiscWard: return 850; + case Item::Mutton: return 800; + case Item::Mycelium: return 224; + case Item::NameTag: return 798; + case Item::NautilusShell: return 855; + case Item::NetherBrick: return 781; + case Item::NetherBrickFence: return 227; + case Item::NetherBrickSlab: return 129; + case Item::NetherBrickStairs: return 228; + case Item::NetherBrickWall: return 253; + case Item::NetherBricks: return 226; + case Item::NetherQuartzOre: return 273; + case Item::NetherStar: return 776; + case Item::NetherWart: return 686; + case Item::NetherWartBlock: return 375; + case Item::Netherrack: return 189; + case Item::NoteBlock: return 71; + case Item::OakBoat: return 602; + case Item::OakButton: return 259; + case Item::OakDoor: return 507; + case Item::OakFence: return 181; + case Item::OakFenceGate: return 216; + case Item::OakLeaves: return 56; + case Item::OakLog: return 32; + case Item::OakPlanks: return 13; + case Item::OakPressurePlate: return 166; + case Item::OakSapling: return 19; + case Item::OakSign: return 589; + case Item::OakSlab: return 115; + case Item::OakStairs: return 154; + case Item::OakTrapdoor: return 193; + case Item::OakWood: return 50; + case Item::Observer: return 379; + case Item::Obsidian: return 145; + case Item::OcelotSpawnEgg: return 722; + case Item::OrangeBanner: return 803; + case Item::OrangeBed: return 655; + case Item::OrangeCarpet: return 301; + case Item::OrangeConcrete: return 414; + case Item::OrangeConcretePowder: return 430; + case Item::OrangeDye: return 645; + case Item::OrangeGlazedTerracotta: return 398; + case Item::OrangeShulkerBox: return 382; + case Item::OrangeStainedGlass: return 330; + case Item::OrangeStainedGlassPane: return 346; + case Item::OrangeTerracotta: return 282; + case Item::OrangeTulip: return 104; + case Item::OrangeWool: return 83; + case Item::OxeyeDaisy: return 107; + case Item::PackedIce: return 318; + case Item::Painting: return 586; + case Item::PandaSpawnEgg: return 723; + case Item::Paper: return 615; + case Item::ParrotSpawnEgg: return 724; + case Item::Peony: return 326; + case Item::PetrifiedOakSlab: return 125; + case Item::PhantomMembrane: return 854; + case Item::PhantomSpawnEgg: return 725; + case Item::PigSpawnEgg: return 726; + case Item::PillagerSpawnEgg: return 727; + case Item::PinkBanner: return 808; + case Item::PinkBed: return 660; + case Item::PinkCarpet: return 306; + case Item::PinkConcrete: return 419; + case Item::PinkConcretePowder: return 435; + case Item::PinkDye: return 640; + case Item::PinkGlazedTerracotta: return 403; + case Item::PinkShulkerBox: return 387; + case Item::PinkStainedGlass: return 335; + case Item::PinkStainedGlassPane: return 351; + case Item::PinkTerracotta: return 287; + case Item::PinkTulip: return 106; + case Item::PinkWool: return 88; + case Item::Piston: return 81; + case Item::PlayerHead: return 771; + case Item::Podzol: return 11; + case Item::PoisonousPotato: return 766; + case Item::PolarBearSpawnEgg: return 728; + case Item::PolishedAndesite: return 7; + case Item::PolishedAndesiteSlab: return 503; + case Item::PolishedAndesiteStairs: return 490; + case Item::PolishedDiorite: return 5; + case Item::PolishedDioriteSlab: return 495; + case Item::PolishedDioriteStairs: return 481; + case Item::PolishedGranite: return 3; + case Item::PolishedGraniteSlab: return 492; + case Item::PolishedGraniteStairs: return 478; + case Item::PoppedChorusFruit: return 820; + case Item::Poppy: return 99; + case Item::Porkchop: return 584; + case Item::Potato: return 764; + case Item::Potion: return 687; + case Item::PoweredRail: return 72; + case Item::Prismarine: return 361; + case Item::PrismarineBrickSlab: return 135; + case Item::PrismarineBrickStairs: return 365; + case Item::PrismarineBricks: return 362; + case Item::PrismarineCrystals: return 786; + case Item::PrismarineShard: return 785; + case Item::PrismarineSlab: return 134; + case Item::PrismarineStairs: return 364; + case Item::PrismarineWall: return 248; + case Item::Pufferfish: return 628; + case Item::PufferfishBucket: return 605; + case Item::PufferfishSpawnEgg: return 729; + case Item::Pumpkin: return 187; + case Item::PumpkinPie: return 777; + case Item::PumpkinSeeds: return 675; + case Item::PurpleBanner: return 812; + case Item::PurpleBed: return 664; + case Item::PurpleCarpet: return 310; + case Item::PurpleConcrete: return 423; + case Item::PurpleConcretePowder: return 439; + case Item::PurpleDye: return 636; + case Item::PurpleGlazedTerracotta: return 407; + case Item::PurpleShulkerBox: return 391; + case Item::PurpleStainedGlass: return 339; + case Item::PurpleStainedGlassPane: return 355; + case Item::PurpleTerracotta: return 291; + case Item::PurpleWool: return 92; + case Item::PurpurBlock: return 150; + case Item::PurpurPillar: return 151; + case Item::PurpurSlab: return 133; + case Item::PurpurStairs: return 152; + case Item::Quartz: return 782; + case Item::QuartzBlock: return 276; + case Item::QuartzPillar: return 277; + case Item::QuartzSlab: return 130; + case Item::QuartzStairs: return 278; + case Item::Rabbit: return 787; + case Item::RabbitFoot: return 790; + case Item::RabbitHide: return 791; + case Item::RabbitSpawnEgg: return 730; + case Item::RabbitStew: return 789; + case Item::Rail: return 162; + case Item::RavagerSpawnEgg: return 731; + case Item::RedBanner: return 816; + case Item::RedBed: return 668; + case Item::RedCarpet: return 314; + case Item::RedConcrete: return 427; + case Item::RedConcretePowder: return 443; + case Item::RedDye: return 632; + case Item::RedGlazedTerracotta: return 411; + case Item::RedMushroom: return 112; + case Item::RedMushroomBlock: return 210; + case Item::RedNetherBrickSlab: return 502; + case Item::RedNetherBrickStairs: return 489; + case Item::RedNetherBrickWall: return 255; + case Item::RedNetherBricks: return 376; + case Item::RedSand: return 27; + case Item::RedSandstone: return 368; + case Item::RedSandstoneSlab: return 131; + case Item::RedSandstoneStairs: return 371; + case Item::RedSandstoneWall: return 249; + case Item::RedShulkerBox: return 395; + case Item::RedStainedGlass: return 343; + case Item::RedStainedGlassPane: return 359; + case Item::RedTerracotta: return 295; + case Item::RedTulip: return 103; + case Item::RedWool: return 96; + case Item::Redstone: return 600; + case Item::RedstoneBlock: return 272; + case Item::RedstoneLamp: return 234; + case Item::RedstoneOre: return 172; + case Item::RedstoneTorch: return 173; + case Item::Repeater: return 513; + case Item::RepeatingCommandBlock: return 372; + case Item::RoseBush: return 325; + case Item::RottenFlesh: return 681; + case Item::Saddle: return 599; + case Item::Salmon: return 626; + case Item::SalmonBucket: return 606; + case Item::SalmonSpawnEgg: return 732; + case Item::Sand: return 26; + case Item::Sandstone: return 68; + case Item::SandstoneSlab: return 123; + case Item::SandstoneStairs: return 235; + case Item::SandstoneWall: return 256; + case Item::Scaffolding: return 505; + case Item::Scute: return 519; + case Item::SeaLantern: return 367; + case Item::SeaPickle: return 80; + case Item::Seagrass: return 79; + case Item::Shears: return 672; + case Item::SheepSpawnEgg: return 733; + case Item::Shield: return 829; + case Item::ShulkerBox: return 380; + case Item::ShulkerShell: return 837; + case Item::ShulkerSpawnEgg: return 734; + case Item::SilverfishSpawnEgg: return 735; + case Item::SkeletonHorseSpawnEgg: return 737; + case Item::SkeletonSkull: return 769; + case Item::SkeletonSpawnEgg: return 736; + case Item::SkullBannerPattern: return 862; + case Item::SlimeBall: return 617; + case Item::SlimeBlock: return 321; + case Item::SlimeSpawnEgg: return 738; + case Item::SmithingTable: return 872; + case Item::Smoker: return 866; + case Item::SmoothQuartz: return 137; + case Item::SmoothQuartzSlab: return 499; + case Item::SmoothQuartzStairs: return 486; + case Item::SmoothRedSandstone: return 138; + case Item::SmoothRedSandstoneSlab: return 493; + case Item::SmoothRedSandstoneStairs: return 479; + case Item::SmoothSandstone: return 139; + case Item::SmoothSandstoneSlab: return 498; + case Item::SmoothSandstoneStairs: return 485; + case Item::SmoothStone: return 140; + case Item::SmoothStoneSlab: return 122; + case Item::Snow: return 175; + case Item::SnowBlock: return 177; + case Item::Snowball: return 601; + case Item::SoulSand: return 190; + case Item::Spawner: return 153; + case Item::SpectralArrow: return 826; + case Item::SpiderEye: return 689; + case Item::SpiderSpawnEgg: return 739; + case Item::SplashPotion: return 825; + case Item::Sponge: return 62; + case Item::SpruceBoat: return 831; + case Item::SpruceButton: return 260; + case Item::SpruceDoor: return 508; + case Item::SpruceFence: return 182; + case Item::SpruceFenceGate: return 217; + case Item::SpruceLeaves: return 57; + case Item::SpruceLog: return 33; + case Item::SprucePlanks: return 14; + case Item::SprucePressurePlate: return 167; + case Item::SpruceSapling: return 20; + case Item::SpruceSign: return 590; + case Item::SpruceSlab: return 116; + case Item::SpruceStairs: return 240; + case Item::SpruceTrapdoor: return 194; + case Item::SpruceWood: return 51; + case Item::SquidSpawnEgg: return 740; + case Item::Stick: return 545; + case Item::StickyPiston: return 74; + case Item::Stone: return 1; + case Item::StoneAxe: return 540; + case Item::StoneBrickSlab: return 128; + case Item::StoneBrickStairs: return 223; + case Item::StoneBrickWall: return 252; + case Item::StoneBricks: return 205; + case Item::StoneButton: return 174; + case Item::StoneHoe: return 556; + case Item::StonePickaxe: return 539; + case Item::StonePressurePlate: return 165; + case Item::StoneShovel: return 538; + case Item::StoneSlab: return 121; + case Item::StoneStairs: return 484; + case Item::StoneSword: return 537; + case Item::Stonecutter: return 873; + case Item::StraySpawnEgg: return 741; + case Item::String: return 552; + case Item::StrippedAcaciaLog: return 42; + case Item::StrippedAcaciaWood: return 48; + case Item::StrippedBirchLog: return 40; + case Item::StrippedBirchWood: return 46; + case Item::StrippedDarkOakLog: return 43; + case Item::StrippedDarkOakWood: return 49; + case Item::StrippedJungleLog: return 41; + case Item::StrippedJungleWood: return 47; + case Item::StrippedOakLog: return 38; + case Item::StrippedOakWood: return 44; + case Item::StrippedSpruceLog: return 39; + case Item::StrippedSpruceWood: return 45; + case Item::StructureBlock: return 515; + case Item::StructureVoid: return 378; + case Item::Sugar: return 652; + case Item::SugarCane: return 611; + case Item::Sunflower: return 323; + case Item::SuspiciousStew: return 858; + case Item::SweetBerries: return 876; + case Item::TallGrass: return 327; + case Item::Terracotta: return 316; + case Item::TippedArrow: return 827; + case Item::TNT: return 142; + case Item::TNTMinecart: return 783; + case Item::Torch: return 146; + case Item::TotemOfUndying: return 836; + case Item::TraderLlamaSpawnEgg: return 742; + case Item::TrappedChest: return 268; + case Item::Trident: return 853; + case Item::TripwireHook: return 238; + case Item::TropicalFish: return 627; + case Item::TropicalFishBucket: return 608; + case Item::TropicalFishSpawnEgg: return 743; + case Item::TubeCoral: return 456; + case Item::TubeCoralBlock: return 451; + case Item::TubeCoralFan: return 466; + case Item::TurtleEgg: return 445; + case Item::TurtleHelmet: return 518; + case Item::TurtleSpawnEgg: return 744; + case Item::VexSpawnEgg: return 745; + case Item::VillagerSpawnEgg: return 746; + case Item::VindicatorSpawnEgg: return 747; + case Item::Vine: return 215; + case Item::WanderingTraderSpawnEgg: return 748; + case Item::WaterBucket: return 596; + case Item::WetSponge: return 63; + case Item::Wheat: return 561; + case Item::WheatSeeds: return 560; + case Item::WhiteBanner: return 802; + case Item::WhiteBed: return 654; + case Item::WhiteCarpet: return 300; + case Item::WhiteConcrete: return 413; + case Item::WhiteConcretePowder: return 429; + case Item::WhiteDye: return 650; + case Item::WhiteGlazedTerracotta: return 397; + case Item::WhiteShulkerBox: return 381; + case Item::WhiteStainedGlass: return 329; + case Item::WhiteStainedGlassPane: return 345; + case Item::WhiteTerracotta: return 281; + case Item::WhiteTulip: return 105; + case Item::WhiteWool: return 82; + case Item::WitchSpawnEgg: return 749; + case Item::WitherRose: return 110; + case Item::WitherSkeletonSkull: return 770; + case Item::WitherSkeletonSpawnEgg: return 750; + case Item::WolfSpawnEgg: return 751; + case Item::WoodenAxe: return 536; + case Item::WoodenHoe: return 555; + case Item::WoodenPickaxe: return 535; + case Item::WoodenShovel: return 534; + case Item::WoodenSword: return 533; + case Item::WritableBook: return 758; + case Item::WrittenBook: return 759; + case Item::YellowBanner: return 806; + case Item::YellowBed: return 658; + case Item::YellowCarpet: return 304; + case Item::YellowConcrete: return 417; + case Item::YellowConcretePowder: return 433; + case Item::YellowDye: return 642; + case Item::YellowGlazedTerracotta: return 401; + case Item::YellowShulkerBox: return 385; + case Item::YellowStainedGlass: return 333; + case Item::YellowStainedGlassPane: return 349; + case Item::YellowTerracotta: return 285; + case Item::YellowWool: return 86; + case Item::ZombieHead: return 772; + case Item::ZombieHorseSpawnEgg: return 753; + case Item::ZombiePigmanSpawnEgg: return 754; + case Item::ZombieSpawnEgg: return 752; + case Item::ZombieVillagerSpawnEgg: return 755; + default: return 0; } +} - UInt32 From(const CustomStatistic ID) +UInt32 From(const CustomStatistic ID) +{ + switch (ID) { - switch (ID) - { - case CustomStatistic::AnimalsBred: return 30; - case CustomStatistic::AviateOneCm: return 17; - case CustomStatistic::BellRing: return 66; - case CustomStatistic::BoatOneCm: return 14; - case CustomStatistic::CleanArmor: return 38; - case CustomStatistic::CleanBanner: return 39; - case CustomStatistic::CleanShulkerBox: return 40; - case CustomStatistic::ClimbOneCm: return 10; - case CustomStatistic::CrouchOneCm: return 6; - case CustomStatistic::DamageAbsorbed: return 26; - case CustomStatistic::DamageBlockedByShield: return 25; - case CustomStatistic::DamageDealt: return 21; - case CustomStatistic::DamageDealtAbsorbed: return 22; - case CustomStatistic::DamageDealtResisted: return 23; - case CustomStatistic::DamageResisted: return 27; - case CustomStatistic::DamageTaken: return 24; - case CustomStatistic::Deaths: return 28; - case CustomStatistic::Drop: return 20; - case CustomStatistic::EatCakeSlice: return 35; - case CustomStatistic::EnchantItem: return 51; - case CustomStatistic::FallOneCm: return 9; - case CustomStatistic::FillCauldron: return 36; - case CustomStatistic::FishCaught: return 32; - case CustomStatistic::FlyOneCm: return 11; - case CustomStatistic::HorseOneCm: return 16; - case CustomStatistic::InspectDispenser: return 45; - case CustomStatistic::InspectDropper: return 43; - case CustomStatistic::InspectHopper: return 44; - case CustomStatistic::InteractWithAnvil: return 69; - case CustomStatistic::InteractWithBeacon: return 42; - case CustomStatistic::InteractWithBlastFurnace: return 59; - case CustomStatistic::InteractWithBrewingstand: return 41; - case CustomStatistic::InteractWithCampfire: return 62; - case CustomStatistic::InteractWithCartographyTable: return 63; - case CustomStatistic::InteractWithCraftingTable: return 54; - case CustomStatistic::InteractWithFurnace: return 53; - case CustomStatistic::InteractWithGrindstone: return 70; - case CustomStatistic::InteractWithLectern: return 61; - case CustomStatistic::InteractWithLoom: return 64; - case CustomStatistic::InteractWithSmoker: return 60; - case CustomStatistic::InteractWithStonecutter: return 65; - case CustomStatistic::Jump: return 19; - case CustomStatistic::LeaveGame: return -0; - case CustomStatistic::MinecartOneCm: return 13; - case CustomStatistic::MobKills: return 29; - case CustomStatistic::OpenBarrel: return 58; - case CustomStatistic::OpenChest: return 55; - case CustomStatistic::OpenEnderchest: return 50; - case CustomStatistic::OpenShulkerBox: return 57; - case CustomStatistic::PigOneCm: return 15; - case CustomStatistic::PlayNoteblock: return 46; - case CustomStatistic::PlayOneMinute: return 1; - case CustomStatistic::PlayRecord: return 52; - case CustomStatistic::PlayerKills: return 31; - case CustomStatistic::PotFlower: return 48; - case CustomStatistic::RaidTrigger: return 67; - case CustomStatistic::RaidWin: return 68; - case CustomStatistic::SleepInBed: return 56; - case CustomStatistic::SneakTime: return 4; - case CustomStatistic::SprintOneCm: return 7; - case CustomStatistic::SwimOneCm: return 18; - case CustomStatistic::TalkedToVillager: return 33; - case CustomStatistic::TimeSinceDeath: return 2; - case CustomStatistic::TimeSinceRest: return 3; - case CustomStatistic::TradedWithVillager: return 34; - case CustomStatistic::TriggerTrappedChest: return 49; - case CustomStatistic::TuneNoteblock: return 47; - case CustomStatistic::UseCauldron: return 37; - case CustomStatistic::WalkOnWaterOneCm: return 8; - case CustomStatistic::WalkOneCm: return 5; - case CustomStatistic::WalkUnderWaterOneCm: return 12; - default: return UInt32(-1); - } + case CustomStatistic::AnimalsBred: return 30; + case CustomStatistic::AviateOneCm: return 17; + case CustomStatistic::BellRing: return 66; + case CustomStatistic::BoatOneCm: return 14; + case CustomStatistic::CleanArmor: return 38; + case CustomStatistic::CleanBanner: return 39; + case CustomStatistic::CleanShulkerBox: return 40; + case CustomStatistic::ClimbOneCm: return 10; + case CustomStatistic::CrouchOneCm: return 6; + case CustomStatistic::DamageAbsorbed: return 26; + case CustomStatistic::DamageBlockedByShield: return 25; + case CustomStatistic::DamageDealt: return 21; + case CustomStatistic::DamageDealtAbsorbed: return 22; + case CustomStatistic::DamageDealtResisted: return 23; + case CustomStatistic::DamageResisted: return 27; + case CustomStatistic::DamageTaken: return 24; + case CustomStatistic::Deaths: return 28; + case CustomStatistic::Drop: return 20; + case CustomStatistic::EatCakeSlice: return 35; + case CustomStatistic::EnchantItem: return 51; + case CustomStatistic::FallOneCm: return 9; + case CustomStatistic::FillCauldron: return 36; + case CustomStatistic::FishCaught: return 32; + case CustomStatistic::FlyOneCm: return 11; + case CustomStatistic::HorseOneCm: return 16; + case CustomStatistic::InspectDispenser: return 45; + case CustomStatistic::InspectDropper: return 43; + case CustomStatistic::InspectHopper: return 44; + case CustomStatistic::InteractWithAnvil: return 69; + case CustomStatistic::InteractWithBeacon: return 42; + case CustomStatistic::InteractWithBlastFurnace: return 59; + case CustomStatistic::InteractWithBrewingstand: return 41; + case CustomStatistic::InteractWithCampfire: return 62; + case CustomStatistic::InteractWithCartographyTable: return 63; + case CustomStatistic::InteractWithCraftingTable: return 54; + case CustomStatistic::InteractWithFurnace: return 53; + case CustomStatistic::InteractWithGrindstone: return 70; + case CustomStatistic::InteractWithLectern: return 61; + case CustomStatistic::InteractWithLoom: return 64; + case CustomStatistic::InteractWithSmoker: return 60; + case CustomStatistic::InteractWithStonecutter: return 65; + case CustomStatistic::Jump: return 19; + case CustomStatistic::LeaveGame: return -0; + case CustomStatistic::MinecartOneCm: return 13; + case CustomStatistic::MobKills: return 29; + case CustomStatistic::OpenBarrel: return 58; + case CustomStatistic::OpenChest: return 55; + case CustomStatistic::OpenEnderchest: return 50; + case CustomStatistic::OpenShulkerBox: return 57; + case CustomStatistic::PigOneCm: return 15; + case CustomStatistic::PlayNoteblock: return 46; + case CustomStatistic::PlayOneMinute: return 1; + case CustomStatistic::PlayRecord: return 52; + case CustomStatistic::PlayerKills: return 31; + case CustomStatistic::PotFlower: return 48; + case CustomStatistic::RaidTrigger: return 67; + case CustomStatistic::RaidWin: return 68; + case CustomStatistic::SleepInBed: return 56; + case CustomStatistic::SneakTime: return 4; + case CustomStatistic::SprintOneCm: return 7; + case CustomStatistic::SwimOneCm: return 18; + case CustomStatistic::TalkedToVillager: return 33; + case CustomStatistic::TimeSinceDeath: return 2; + case CustomStatistic::TimeSinceRest: return 3; + case CustomStatistic::TradedWithVillager: return 34; + case CustomStatistic::TriggerTrappedChest: return 49; + case CustomStatistic::TuneNoteblock: return 47; + case CustomStatistic::UseCauldron: return 37; + case CustomStatistic::WalkOnWaterOneCm: return 8; + case CustomStatistic::WalkOneCm: return 5; + case CustomStatistic::WalkUnderWaterOneCm: return 12; + default: return UInt32(-1); } +} - Item ToItem(const UInt32 ID) +Item ToItem(const UInt32 ID) +{ + switch (ID) { - switch (ID) - { - case 834: return Item::AcaciaBoat; - case 263: return Item::AcaciaButton; - case 511: return Item::AcaciaDoor; - case 185: return Item::AcaciaFence; - case 220: return Item::AcaciaFenceGate; - case 60: return Item::AcaciaLeaves; - case 36: return Item::AcaciaLog; - case 17: return Item::AcaciaPlanks; - case 170: return Item::AcaciaPressurePlate; - case 23: return Item::AcaciaSapling; - case 593: return Item::AcaciaSign; - case 119: return Item::AcaciaSlab; - case 319: return Item::AcaciaStairs; - case 197: return Item::AcaciaTrapdoor; - case 54: return Item::AcaciaWood; - case 279: return Item::ActivatorRail; - case -0: return Item::Air; - case 101: return Item::Allium; - case 6: return Item::Andesite; - case 501: return Item::AndesiteSlab; - case 488: return Item::AndesiteStairs; - case 254: return Item::AndesiteWall; - case 265: return Item::Anvil; - case 524: return Item::Apple; - case 792: return Item::ArmorStand; - case 526: return Item::Arrow; - case 102: return Item::AzureBluet; - case 765: return Item::BakedPotato; - case 614: return Item::Bamboo; - case 865: return Item::Barrel; - case 297: return Item::Barrier; - case 697: return Item::BatSpawnEgg; - case 244: return Item::Beacon; - case 25: return Item::Bedrock; - case 879: return Item::BeeNest; - case 698: return Item::BeeSpawnEgg; - case 677: return Item::Beef; - case 880: return Item::Beehive; - case 821: return Item::Beetroot; - case 822: return Item::BeetrootSeeds; - case 823: return Item::BeetrootSoup; - case 874: return Item::Bell; - case 832: return Item::BirchBoat; - case 261: return Item::BirchButton; - case 509: return Item::BirchDoor; - case 183: return Item::BirchFence; - case 218: return Item::BirchFenceGate; - case 58: return Item::BirchLeaves; - case 34: return Item::BirchLog; - case 15: return Item::BirchPlanks; - case 168: return Item::BirchPressurePlate; - case 21: return Item::BirchSapling; - case 591: return Item::BirchSign; - case 117: return Item::BirchSlab; - case 241: return Item::BirchStairs; - case 195: return Item::BirchTrapdoor; - case 52: return Item::BirchWood; - case 817: return Item::BlackBanner; - case 669: return Item::BlackBed; - case 315: return Item::BlackCarpet; - case 428: return Item::BlackConcrete; - case 444: return Item::BlackConcretePowder; - case 649: return Item::BlackDye; - case 412: return Item::BlackGlazedTerracotta; - case 396: return Item::BlackShulkerBox; - case 344: return Item::BlackStainedGlass; - case 360: return Item::BlackStainedGlassPane; - case 296: return Item::BlackTerracotta; - case 97: return Item::BlackWool; - case 867: return Item::BlastFurnace; - case 691: return Item::BlazePowder; - case 683: return Item::BlazeRod; - case 699: return Item::BlazeSpawnEgg; - case 813: return Item::BlueBanner; - case 665: return Item::BlueBed; - case 311: return Item::BlueCarpet; - case 424: return Item::BlueConcrete; - case 440: return Item::BlueConcretePowder; - case 647: return Item::BlueDye; - case 408: return Item::BlueGlazedTerracotta; - case 476: return Item::BlueIce; - case 100: return Item::BlueOrchid; - case 392: return Item::BlueShulkerBox; - case 340: return Item::BlueStainedGlass; - case 356: return Item::BlueStainedGlassPane; - case 292: return Item::BlueTerracotta; - case 93: return Item::BlueWool; - case 651: return Item::Bone; - case 377: return Item::BoneBlock; - case 646: return Item::BoneMeal; - case 616: return Item::Book; - case 143: return Item::Bookshelf; - case 525: return Item::Bow; - case 546: return Item::Bowl; - case 457: return Item::BrainCoral; - case 452: return Item::BrainCoralBlock; - case 467: return Item::BrainCoralFan; - case 562: return Item::Bread; - case 693: return Item::BrewingStand; - case 609: return Item::Brick; - case 127: return Item::BrickSlab; - case 222: return Item::BrickStairs; - case 247: return Item::BrickWall; - case 141: return Item::Bricks; - case 814: return Item::BrownBanner; - case 666: return Item::BrownBed; - case 312: return Item::BrownCarpet; - case 425: return Item::BrownConcrete; - case 441: return Item::BrownConcretePowder; - case 648: return Item::BrownDye; - case 409: return Item::BrownGlazedTerracotta; - case 111: return Item::BrownMushroom; - case 209: return Item::BrownMushroomBlock; - case 393: return Item::BrownShulkerBox; - case 341: return Item::BrownStainedGlass; - case 357: return Item::BrownStainedGlassPane; - case 293: return Item::BrownTerracotta; - case 94: return Item::BrownWool; - case 458: return Item::BubbleCoral; - case 453: return Item::BubbleCoralBlock; - case 468: return Item::BubbleCoralFan; - case 595: return Item::Bucket; - case 178: return Item::Cactus; - case 653: return Item::Cake; - case 877: return Item::Campfire; - case 763: return Item::Carrot; - case 775: return Item::CarrotOnAStick; - case 868: return Item::CartographyTable; - case 188: return Item::CarvedPumpkin; - case 700: return Item::CatSpawnEgg; - case 694: return Item::Cauldron; - case 701: return Item::CaveSpiderSpawnEgg; - case 373: return Item::ChainCommandBlock; - case 570: return Item::ChainmailBoots; - case 568: return Item::ChainmailChestplate; - case 567: return Item::ChainmailHelmet; - case 569: return Item::ChainmailLeggings; - case 528: return Item::Charcoal; - case 155: return Item::Chest; - case 618: return Item::ChestMinecart; - case 679: return Item::Chicken; - case 702: return Item::ChickenSpawnEgg; - case 266: return Item::ChippedAnvil; - case 275: return Item::ChiseledQuartzBlock; - case 369: return Item::ChiseledRedSandstone; - case 69: return Item::ChiseledSandstone; - case 208: return Item::ChiseledStoneBricks; - case 149: return Item::ChorusFlower; - case 819: return Item::ChorusFruit; - case 148: return Item::ChorusPlant; - case 179: return Item::Clay; - case 610: return Item::ClayBall; - case 623: return Item::Clock; - case 527: return Item::Coal; - case 317: return Item::CoalBlock; - case 31: return Item::CoalOre; - case 10: return Item::CoarseDirt; - case 12: return Item::Cobblestone; - case 126: return Item::CobblestoneSlab; - case 163: return Item::CobblestoneStairs; - case 245: return Item::CobblestoneWall; - case 75: return Item::Cobweb; - case 634: return Item::CocoaBeans; - case 625: return Item::Cod; - case 607: return Item::CodBucket; - case 703: return Item::CodSpawnEgg; - case 243: return Item::CommandBlock; - case 799: return Item::CommandBlockMinecart; - case 514: return Item::Comparator; - case 621: return Item::Compass; - case 517: return Item::Composter; - case 477: return Item::Conduit; - case 678: return Item::CookedBeef; - case 680: return Item::CookedChicken; - case 629: return Item::CookedCod; - case 801: return Item::CookedMutton; - case 585: return Item::CookedPorkchop; - case 788: return Item::CookedRabbit; - case 630: return Item::CookedSalmon; - case 670: return Item::Cookie; - case 108: return Item::Cornflower; - case 704: return Item::CowSpawnEgg; - case 207: return Item::CrackedStoneBricks; - case 158: return Item::CraftingTable; - case 861: return Item::CreeperBannerPattern; - case 773: return Item::CreeperHead; - case 705: return Item::CreeperSpawnEgg; - case 857: return Item::Crossbow; - case 370: return Item::CutRedSandstone; - case 132: return Item::CutRedSandstoneSlab; - case 70: return Item::CutSandstone; - case 124: return Item::CutSandstoneSlab; - case 811: return Item::CyanBanner; - case 663: return Item::CyanBed; - case 309: return Item::CyanCarpet; - case 422: return Item::CyanConcrete; - case 438: return Item::CyanConcretePowder; - case 637: return Item::CyanDye; - case 406: return Item::CyanGlazedTerracotta; - case 390: return Item::CyanShulkerBox; - case 338: return Item::CyanStainedGlass; - case 354: return Item::CyanStainedGlassPane; - case 290: return Item::CyanTerracotta; - case 91: return Item::CyanWool; - case 267: return Item::DamagedAnvil; - case 98: return Item::Dandelion; - case 835: return Item::DarkOakBoat; - case 264: return Item::DarkOakButton; - case 512: return Item::DarkOakDoor; - case 186: return Item::DarkOakFence; - case 221: return Item::DarkOakFenceGate; - case 61: return Item::DarkOakLeaves; - case 37: return Item::DarkOakLog; - case 18: return Item::DarkOakPlanks; - case 171: return Item::DarkOakPressurePlate; - case 24: return Item::DarkOakSapling; - case 594: return Item::DarkOakSign; - case 120: return Item::DarkOakSlab; - case 320: return Item::DarkOakStairs; - case 198: return Item::DarkOakTrapdoor; - case 55: return Item::DarkOakWood; - case 363: return Item::DarkPrismarine; - case 136: return Item::DarkPrismarineSlab; - case 366: return Item::DarkPrismarineStairs; - case 271: return Item::DaylightDetector; - case 461: return Item::DeadBrainCoral; - case 447: return Item::DeadBrainCoralBlock; - case 472: return Item::DeadBrainCoralFan; - case 462: return Item::DeadBubbleCoral; - case 448: return Item::DeadBubbleCoralBlock; - case 473: return Item::DeadBubbleCoralFan; - case 78: return Item::DeadBush; - case 463: return Item::DeadFireCoral; - case 449: return Item::DeadFireCoralBlock; - case 474: return Item::DeadFireCoralFan; - case 464: return Item::DeadHornCoral; - case 450: return Item::DeadHornCoralBlock; - case 475: return Item::DeadHornCoralFan; - case 465: return Item::DeadTubeCoral; - case 446: return Item::DeadTubeCoralBlock; - case 471: return Item::DeadTubeCoralFan; - case 840: return Item::DebugStick; - case 73: return Item::DetectorRail; - case 529: return Item::Diamond; - case 544: return Item::DiamondAxe; - case 157: return Item::DiamondBlock; - case 578: return Item::DiamondBoots; - case 576: return Item::DiamondChestplate; - case 575: return Item::DiamondHelmet; - case 558: return Item::DiamondHoe; - case 795: return Item::DiamondHorseArmor; - case 577: return Item::DiamondLeggings; - case 156: return Item::DiamondOre; - case 543: return Item::DiamondPickaxe; - case 542: return Item::DiamondShovel; - case 541: return Item::DiamondSword; - case 4: return Item::Diorite; - case 504: return Item::DioriteSlab; - case 491: return Item::DioriteStairs; - case 258: return Item::DioriteWall; - case 9: return Item::Dirt; - case 67: return Item::Dispenser; - case 706: return Item::DolphinSpawnEgg; - case 707: return Item::DonkeySpawnEgg; - case 824: return Item::DragonBreath; - case 233: return Item::DragonEgg; - case 774: return Item::DragonHead; - case 674: return Item::DriedKelp; - case 613: return Item::DriedKelpBlock; - case 280: return Item::Dropper; - case 708: return Item::DrownedSpawnEgg; - case 620: return Item::Egg; - case 709: return Item::ElderGuardianSpawnEgg; - case 830: return Item::Elytra; - case 760: return Item::Emerald; - case 239: return Item::EmeraldBlock; - case 236: return Item::EmeraldOre; - case 780: return Item::EnchantedBook; - case 588: return Item::EnchantedGoldenApple; - case 229: return Item::EnchantingTable; - case 818: return Item::EndCrystal; - case 230: return Item::EndPortalFrame; - case 147: return Item::EndRod; - case 231: return Item::EndStone; - case 497: return Item::EndStoneBrickSlab; - case 483: return Item::EndStoneBrickStairs; - case 257: return Item::EndStoneBrickWall; - case 232: return Item::EndStoneBricks; - case 237: return Item::EnderChest; - case 695: return Item::EnderEye; - case 682: return Item::EnderPearl; - case 710: return Item::EndermanSpawnEgg; - case 711: return Item::EndermiteSpawnEgg; - case 712: return Item::EvokerSpawnEgg; - case 756: return Item::ExperienceBottle; - case 159: return Item::Farmland; - case 553: return Item::Feather; - case 690: return Item::FermentedSpiderEye; - case 77: return Item::Fern; - case 671: return Item::FilledMap; - case 757: return Item::FireCharge; - case 459: return Item::FireCoral; - case 454: return Item::FireCoralBlock; - case 469: return Item::FireCoralFan; - case 778: return Item::FireworkRocket; - case 779: return Item::FireworkStar; - case 622: return Item::FishingRod; - case 869: return Item::FletchingTable; - case 583: return Item::Flint; - case 523: return Item::FlintAndSteel; - case 860: return Item::FlowerBannerPattern; - case 762: return Item::FlowerPot; - case 713: return Item::FoxSpawnEgg; - case 160: return Item::Furnace; - case 619: return Item::FurnaceMinecart; - case 714: return Item::GhastSpawnEgg; - case 684: return Item::GhastTear; - case 64: return Item::Glass; - case 688: return Item::GlassBottle; - case 213: return Item::GlassPane; - case 696: return Item::GlisteringMelonSlice; - case 864: return Item::GlobeBannerPattern; - case 191: return Item::Glowstone; - case 624: return Item::GlowstoneDust; - case 113: return Item::GoldBlock; - case 531: return Item::GoldIngot; - case 685: return Item::GoldNugget; - case 29: return Item::GoldOre; - case 587: return Item::GoldenApple; - case 551: return Item::GoldenAxe; - case 582: return Item::GoldenBoots; - case 768: return Item::GoldenCarrot; - case 580: return Item::GoldenChestplate; - case 579: return Item::GoldenHelmet; - case 559: return Item::GoldenHoe; - case 794: return Item::GoldenHorseArmor; - case 581: return Item::GoldenLeggings; - case 550: return Item::GoldenPickaxe; - case 549: return Item::GoldenShovel; - case 548: return Item::GoldenSword; - case 2: return Item::Granite; - case 500: return Item::GraniteSlab; - case 487: return Item::GraniteStairs; - case 251: return Item::GraniteWall; - case 76: return Item::Grass; - case 8: return Item::GrassBlock; - case 322: return Item::GrassPath; - case 28: return Item::Gravel; - case 809: return Item::GrayBanner; - case 661: return Item::GrayBed; - case 307: return Item::GrayCarpet; - case 420: return Item::GrayConcrete; - case 436: return Item::GrayConcretePowder; - case 639: return Item::GrayDye; - case 404: return Item::GrayGlazedTerracotta; - case 388: return Item::GrayShulkerBox; - case 336: return Item::GrayStainedGlass; - case 352: return Item::GrayStainedGlassPane; - case 288: return Item::GrayTerracotta; - case 89: return Item::GrayWool; - case 815: return Item::GreenBanner; - case 667: return Item::GreenBed; - case 313: return Item::GreenCarpet; - case 426: return Item::GreenConcrete; - case 442: return Item::GreenConcretePowder; - case 633: return Item::GreenDye; - case 410: return Item::GreenGlazedTerracotta; - case 394: return Item::GreenShulkerBox; - case 342: return Item::GreenStainedGlass; - case 358: return Item::GreenStainedGlassPane; - case 294: return Item::GreenTerracotta; - case 95: return Item::GreenWool; - case 870: return Item::Grindstone; - case 715: return Item::GuardianSpawnEgg; - case 554: return Item::Gunpowder; - case 299: return Item::HayBale; - case 856: return Item::HeartOfTheSea; - case 270: return Item::HeavyWeightedPressurePlate; - case 882: return Item::HoneyBlock; - case 881: return Item::HoneyBottle; - case 878: return Item::Honeycomb; - case 883: return Item::HoneycombBlock; - case 274: return Item::Hopper; - case 784: return Item::HopperMinecart; - case 460: return Item::HornCoral; - case 455: return Item::HornCoralBlock; - case 470: return Item::HornCoralFan; - case 716: return Item::HorseSpawnEgg; - case 717: return Item::HuskSpawnEgg; - case 176: return Item::Ice; - case 204: return Item::InfestedChiseledStoneBricks; - case 200: return Item::InfestedCobblestone; - case 203: return Item::InfestedCrackedStoneBricks; - case 202: return Item::InfestedMossyStoneBricks; - case 199: return Item::InfestedStone; - case 201: return Item::InfestedStoneBricks; - case 631: return Item::InkSac; - case 522: return Item::IronAxe; - case 212: return Item::IronBars; - case 114: return Item::IronBlock; - case 574: return Item::IronBoots; - case 572: return Item::IronChestplate; - case 506: return Item::IronDoor; - case 571: return Item::IronHelmet; - case 557: return Item::IronHoe; - case 793: return Item::IronHorseArmor; - case 530: return Item::IronIngot; - case 573: return Item::IronLeggings; - case 838: return Item::IronNugget; - case 30: return Item::IronOre; - case 521: return Item::IronPickaxe; - case 520: return Item::IronShovel; - case 532: return Item::IronSword; - case 298: return Item::IronTrapdoor; - case 761: return Item::ItemFrame; - case 192: return Item::JackOLantern; - case 516: return Item::Jigsaw; - case 180: return Item::Jukebox; - case 833: return Item::JungleBoat; - case 262: return Item::JungleButton; - case 510: return Item::JungleDoor; - case 184: return Item::JungleFence; - case 219: return Item::JungleFenceGate; - case 59: return Item::JungleLeaves; - case 35: return Item::JungleLog; - case 16: return Item::JunglePlanks; - case 169: return Item::JunglePressurePlate; - case 22: return Item::JungleSapling; - case 592: return Item::JungleSign; - case 118: return Item::JungleSlab; - case 242: return Item::JungleStairs; - case 196: return Item::JungleTrapdoor; - case 53: return Item::JungleWood; - case 612: return Item::Kelp; - case 839: return Item::KnowledgeBook; - case 161: return Item::Ladder; - case 875: return Item::Lantern; - case 66: return Item::LapisBlock; - case 635: return Item::LapisLazuli; - case 65: return Item::LapisOre; - case 328: return Item::LargeFern; - case 597: return Item::LavaBucket; - case 797: return Item::Lead; - case 603: return Item::Leather; - case 566: return Item::LeatherBoots; - case 564: return Item::LeatherChestplate; - case 563: return Item::LeatherHelmet; - case 796: return Item::LeatherHorseArmor; - case 565: return Item::LeatherLeggings; - case 871: return Item::Lectern; - case 164: return Item::Lever; - case 805: return Item::LightBlueBanner; - case 657: return Item::LightBlueBed; - case 303: return Item::LightBlueCarpet; - case 416: return Item::LightBlueConcrete; - case 432: return Item::LightBlueConcretePowder; - case 643: return Item::LightBlueDye; - case 400: return Item::LightBlueGlazedTerracotta; - case 384: return Item::LightBlueShulkerBox; - case 332: return Item::LightBlueStainedGlass; - case 348: return Item::LightBlueStainedGlassPane; - case 284: return Item::LightBlueTerracotta; - case 85: return Item::LightBlueWool; - case 810: return Item::LightGrayBanner; - case 662: return Item::LightGrayBed; - case 308: return Item::LightGrayCarpet; - case 421: return Item::LightGrayConcrete; - case 437: return Item::LightGrayConcretePowder; - case 638: return Item::LightGrayDye; - case 405: return Item::LightGrayGlazedTerracotta; - case 389: return Item::LightGrayShulkerBox; - case 337: return Item::LightGrayStainedGlass; - case 353: return Item::LightGrayStainedGlassPane; - case 289: return Item::LightGrayTerracotta; - case 90: return Item::LightGrayWool; - case 269: return Item::LightWeightedPressurePlate; - case 324: return Item::Lilac; - case 109: return Item::LilyOfTheValley; - case 225: return Item::LilyPad; - case 807: return Item::LimeBanner; - case 659: return Item::LimeBed; - case 305: return Item::LimeCarpet; - case 418: return Item::LimeConcrete; - case 434: return Item::LimeConcretePowder; - case 641: return Item::LimeDye; - case 402: return Item::LimeGlazedTerracotta; - case 386: return Item::LimeShulkerBox; - case 334: return Item::LimeStainedGlass; - case 350: return Item::LimeStainedGlassPane; - case 286: return Item::LimeTerracotta; - case 87: return Item::LimeWool; - case 828: return Item::LingeringPotion; - case 718: return Item::LlamaSpawnEgg; - case 859: return Item::Loom; - case 804: return Item::MagentaBanner; - case 656: return Item::MagentaBed; - case 302: return Item::MagentaCarpet; - case 415: return Item::MagentaConcrete; - case 431: return Item::MagentaConcretePowder; - case 644: return Item::MagentaDye; - case 399: return Item::MagentaGlazedTerracotta; - case 383: return Item::MagentaShulkerBox; - case 331: return Item::MagentaStainedGlass; - case 347: return Item::MagentaStainedGlassPane; - case 283: return Item::MagentaTerracotta; - case 84: return Item::MagentaWool; - case 374: return Item::MagmaBlock; - case 692: return Item::MagmaCream; - case 719: return Item::MagmaCubeSpawnEgg; - case 767: return Item::Map; - case 214: return Item::Melon; - case 676: return Item::MelonSeeds; - case 673: return Item::MelonSlice; - case 604: return Item::MilkBucket; - case 598: return Item::Minecart; - case 863: return Item::MojangBannerPattern; - case 720: return Item::MooshroomSpawnEgg; - case 144: return Item::MossyCobblestone; - case 496: return Item::MossyCobblestoneSlab; - case 482: return Item::MossyCobblestoneStairs; - case 246: return Item::MossyCobblestoneWall; - case 494: return Item::MossyStoneBrickSlab; - case 480: return Item::MossyStoneBrickStairs; - case 250: return Item::MossyStoneBrickWall; - case 206: return Item::MossyStoneBricks; - case 721: return Item::MuleSpawnEgg; - case 211: return Item::MushroomStem; - case 547: return Item::MushroomStew; - case 851: return Item::MusicDisc11; - case 841: return Item::MusicDisc13; - case 843: return Item::MusicDiscBlocks; - case 842: return Item::MusicDiscCat; - case 844: return Item::MusicDiscChirp; - case 845: return Item::MusicDiscFar; - case 846: return Item::MusicDiscMall; - case 847: return Item::MusicDiscMellohi; - case 848: return Item::MusicDiscStal; - case 849: return Item::MusicDiscStrad; - case 852: return Item::MusicDiscWait; - case 850: return Item::MusicDiscWard; - case 800: return Item::Mutton; - case 224: return Item::Mycelium; - case 798: return Item::NameTag; - case 855: return Item::NautilusShell; - case 781: return Item::NetherBrick; - case 227: return Item::NetherBrickFence; - case 129: return Item::NetherBrickSlab; - case 228: return Item::NetherBrickStairs; - case 253: return Item::NetherBrickWall; - case 226: return Item::NetherBricks; - case 273: return Item::NetherQuartzOre; - case 776: return Item::NetherStar; - case 686: return Item::NetherWart; - case 375: return Item::NetherWartBlock; - case 189: return Item::Netherrack; - case 71: return Item::NoteBlock; - case 602: return Item::OakBoat; - case 259: return Item::OakButton; - case 507: return Item::OakDoor; - case 181: return Item::OakFence; - case 216: return Item::OakFenceGate; - case 56: return Item::OakLeaves; - case 32: return Item::OakLog; - case 13: return Item::OakPlanks; - case 166: return Item::OakPressurePlate; - case 19: return Item::OakSapling; - case 589: return Item::OakSign; - case 115: return Item::OakSlab; - case 154: return Item::OakStairs; - case 193: return Item::OakTrapdoor; - case 50: return Item::OakWood; - case 379: return Item::Observer; - case 145: return Item::Obsidian; - case 722: return Item::OcelotSpawnEgg; - case 803: return Item::OrangeBanner; - case 655: return Item::OrangeBed; - case 301: return Item::OrangeCarpet; - case 414: return Item::OrangeConcrete; - case 430: return Item::OrangeConcretePowder; - case 645: return Item::OrangeDye; - case 398: return Item::OrangeGlazedTerracotta; - case 382: return Item::OrangeShulkerBox; - case 330: return Item::OrangeStainedGlass; - case 346: return Item::OrangeStainedGlassPane; - case 282: return Item::OrangeTerracotta; - case 104: return Item::OrangeTulip; - case 83: return Item::OrangeWool; - case 107: return Item::OxeyeDaisy; - case 318: return Item::PackedIce; - case 586: return Item::Painting; - case 723: return Item::PandaSpawnEgg; - case 615: return Item::Paper; - case 724: return Item::ParrotSpawnEgg; - case 326: return Item::Peony; - case 125: return Item::PetrifiedOakSlab; - case 854: return Item::PhantomMembrane; - case 725: return Item::PhantomSpawnEgg; - case 726: return Item::PigSpawnEgg; - case 727: return Item::PillagerSpawnEgg; - case 808: return Item::PinkBanner; - case 660: return Item::PinkBed; - case 306: return Item::PinkCarpet; - case 419: return Item::PinkConcrete; - case 435: return Item::PinkConcretePowder; - case 640: return Item::PinkDye; - case 403: return Item::PinkGlazedTerracotta; - case 387: return Item::PinkShulkerBox; - case 335: return Item::PinkStainedGlass; - case 351: return Item::PinkStainedGlassPane; - case 287: return Item::PinkTerracotta; - case 106: return Item::PinkTulip; - case 88: return Item::PinkWool; - case 81: return Item::Piston; - case 771: return Item::PlayerHead; - case 11: return Item::Podzol; - case 766: return Item::PoisonousPotato; - case 728: return Item::PolarBearSpawnEgg; - case 7: return Item::PolishedAndesite; - case 503: return Item::PolishedAndesiteSlab; - case 490: return Item::PolishedAndesiteStairs; - case 5: return Item::PolishedDiorite; - case 495: return Item::PolishedDioriteSlab; - case 481: return Item::PolishedDioriteStairs; - case 3: return Item::PolishedGranite; - case 492: return Item::PolishedGraniteSlab; - case 478: return Item::PolishedGraniteStairs; - case 820: return Item::PoppedChorusFruit; - case 99: return Item::Poppy; - case 584: return Item::Porkchop; - case 764: return Item::Potato; - case 687: return Item::Potion; - case 72: return Item::PoweredRail; - case 361: return Item::Prismarine; - case 135: return Item::PrismarineBrickSlab; - case 365: return Item::PrismarineBrickStairs; - case 362: return Item::PrismarineBricks; - case 786: return Item::PrismarineCrystals; - case 785: return Item::PrismarineShard; - case 134: return Item::PrismarineSlab; - case 364: return Item::PrismarineStairs; - case 248: return Item::PrismarineWall; - case 628: return Item::Pufferfish; - case 605: return Item::PufferfishBucket; - case 729: return Item::PufferfishSpawnEgg; - case 187: return Item::Pumpkin; - case 777: return Item::PumpkinPie; - case 675: return Item::PumpkinSeeds; - case 812: return Item::PurpleBanner; - case 664: return Item::PurpleBed; - case 310: return Item::PurpleCarpet; - case 423: return Item::PurpleConcrete; - case 439: return Item::PurpleConcretePowder; - case 636: return Item::PurpleDye; - case 407: return Item::PurpleGlazedTerracotta; - case 391: return Item::PurpleShulkerBox; - case 339: return Item::PurpleStainedGlass; - case 355: return Item::PurpleStainedGlassPane; - case 291: return Item::PurpleTerracotta; - case 92: return Item::PurpleWool; - case 150: return Item::PurpurBlock; - case 151: return Item::PurpurPillar; - case 133: return Item::PurpurSlab; - case 152: return Item::PurpurStairs; - case 782: return Item::Quartz; - case 276: return Item::QuartzBlock; - case 277: return Item::QuartzPillar; - case 130: return Item::QuartzSlab; - case 278: return Item::QuartzStairs; - case 787: return Item::Rabbit; - case 790: return Item::RabbitFoot; - case 791: return Item::RabbitHide; - case 730: return Item::RabbitSpawnEgg; - case 789: return Item::RabbitStew; - case 162: return Item::Rail; - case 731: return Item::RavagerSpawnEgg; - case 816: return Item::RedBanner; - case 668: return Item::RedBed; - case 314: return Item::RedCarpet; - case 427: return Item::RedConcrete; - case 443: return Item::RedConcretePowder; - case 632: return Item::RedDye; - case 411: return Item::RedGlazedTerracotta; - case 112: return Item::RedMushroom; - case 210: return Item::RedMushroomBlock; - case 502: return Item::RedNetherBrickSlab; - case 489: return Item::RedNetherBrickStairs; - case 255: return Item::RedNetherBrickWall; - case 376: return Item::RedNetherBricks; - case 27: return Item::RedSand; - case 368: return Item::RedSandstone; - case 131: return Item::RedSandstoneSlab; - case 371: return Item::RedSandstoneStairs; - case 249: return Item::RedSandstoneWall; - case 395: return Item::RedShulkerBox; - case 343: return Item::RedStainedGlass; - case 359: return Item::RedStainedGlassPane; - case 295: return Item::RedTerracotta; - case 103: return Item::RedTulip; - case 96: return Item::RedWool; - case 600: return Item::Redstone; - case 272: return Item::RedstoneBlock; - case 234: return Item::RedstoneLamp; - case 172: return Item::RedstoneOre; - case 173: return Item::RedstoneTorch; - case 513: return Item::Repeater; - case 372: return Item::RepeatingCommandBlock; - case 325: return Item::RoseBush; - case 681: return Item::RottenFlesh; - case 599: return Item::Saddle; - case 626: return Item::Salmon; - case 606: return Item::SalmonBucket; - case 732: return Item::SalmonSpawnEgg; - case 26: return Item::Sand; - case 68: return Item::Sandstone; - case 123: return Item::SandstoneSlab; - case 235: return Item::SandstoneStairs; - case 256: return Item::SandstoneWall; - case 505: return Item::Scaffolding; - case 519: return Item::Scute; - case 367: return Item::SeaLantern; - case 80: return Item::SeaPickle; - case 79: return Item::Seagrass; - case 672: return Item::Shears; - case 733: return Item::SheepSpawnEgg; - case 829: return Item::Shield; - case 380: return Item::ShulkerBox; - case 837: return Item::ShulkerShell; - case 734: return Item::ShulkerSpawnEgg; - case 735: return Item::SilverfishSpawnEgg; - case 737: return Item::SkeletonHorseSpawnEgg; - case 769: return Item::SkeletonSkull; - case 736: return Item::SkeletonSpawnEgg; - case 862: return Item::SkullBannerPattern; - case 617: return Item::SlimeBall; - case 321: return Item::SlimeBlock; - case 738: return Item::SlimeSpawnEgg; - case 872: return Item::SmithingTable; - case 866: return Item::Smoker; - case 137: return Item::SmoothQuartz; - case 499: return Item::SmoothQuartzSlab; - case 486: return Item::SmoothQuartzStairs; - case 138: return Item::SmoothRedSandstone; - case 493: return Item::SmoothRedSandstoneSlab; - case 479: return Item::SmoothRedSandstoneStairs; - case 139: return Item::SmoothSandstone; - case 498: return Item::SmoothSandstoneSlab; - case 485: return Item::SmoothSandstoneStairs; - case 140: return Item::SmoothStone; - case 122: return Item::SmoothStoneSlab; - case 175: return Item::Snow; - case 177: return Item::SnowBlock; - case 601: return Item::Snowball; - case 190: return Item::SoulSand; - case 153: return Item::Spawner; - case 826: return Item::SpectralArrow; - case 689: return Item::SpiderEye; - case 739: return Item::SpiderSpawnEgg; - case 825: return Item::SplashPotion; - case 62: return Item::Sponge; - case 831: return Item::SpruceBoat; - case 260: return Item::SpruceButton; - case 508: return Item::SpruceDoor; - case 182: return Item::SpruceFence; - case 217: return Item::SpruceFenceGate; - case 57: return Item::SpruceLeaves; - case 33: return Item::SpruceLog; - case 14: return Item::SprucePlanks; - case 167: return Item::SprucePressurePlate; - case 20: return Item::SpruceSapling; - case 590: return Item::SpruceSign; - case 116: return Item::SpruceSlab; - case 240: return Item::SpruceStairs; - case 194: return Item::SpruceTrapdoor; - case 51: return Item::SpruceWood; - case 740: return Item::SquidSpawnEgg; - case 545: return Item::Stick; - case 74: return Item::StickyPiston; - case 1: return Item::Stone; - case 540: return Item::StoneAxe; - case 128: return Item::StoneBrickSlab; - case 223: return Item::StoneBrickStairs; - case 252: return Item::StoneBrickWall; - case 205: return Item::StoneBricks; - case 174: return Item::StoneButton; - case 556: return Item::StoneHoe; - case 539: return Item::StonePickaxe; - case 165: return Item::StonePressurePlate; - case 538: return Item::StoneShovel; - case 121: return Item::StoneSlab; - case 484: return Item::StoneStairs; - case 537: return Item::StoneSword; - case 873: return Item::Stonecutter; - case 741: return Item::StraySpawnEgg; - case 552: return Item::String; - case 42: return Item::StrippedAcaciaLog; - case 48: return Item::StrippedAcaciaWood; - case 40: return Item::StrippedBirchLog; - case 46: return Item::StrippedBirchWood; - case 43: return Item::StrippedDarkOakLog; - case 49: return Item::StrippedDarkOakWood; - case 41: return Item::StrippedJungleLog; - case 47: return Item::StrippedJungleWood; - case 38: return Item::StrippedOakLog; - case 44: return Item::StrippedOakWood; - case 39: return Item::StrippedSpruceLog; - case 45: return Item::StrippedSpruceWood; - case 515: return Item::StructureBlock; - case 378: return Item::StructureVoid; - case 652: return Item::Sugar; - case 611: return Item::SugarCane; - case 323: return Item::Sunflower; - case 858: return Item::SuspiciousStew; - case 876: return Item::SweetBerries; - case 327: return Item::TallGrass; - case 316: return Item::Terracotta; - case 827: return Item::TippedArrow; - case 142: return Item::TNT; - case 783: return Item::TNTMinecart; - case 146: return Item::Torch; - case 836: return Item::TotemOfUndying; - case 742: return Item::TraderLlamaSpawnEgg; - case 268: return Item::TrappedChest; - case 853: return Item::Trident; - case 238: return Item::TripwireHook; - case 627: return Item::TropicalFish; - case 608: return Item::TropicalFishBucket; - case 743: return Item::TropicalFishSpawnEgg; - case 456: return Item::TubeCoral; - case 451: return Item::TubeCoralBlock; - case 466: return Item::TubeCoralFan; - case 445: return Item::TurtleEgg; - case 518: return Item::TurtleHelmet; - case 744: return Item::TurtleSpawnEgg; - case 745: return Item::VexSpawnEgg; - case 746: return Item::VillagerSpawnEgg; - case 747: return Item::VindicatorSpawnEgg; - case 215: return Item::Vine; - case 748: return Item::WanderingTraderSpawnEgg; - case 596: return Item::WaterBucket; - case 63: return Item::WetSponge; - case 561: return Item::Wheat; - case 560: return Item::WheatSeeds; - case 802: return Item::WhiteBanner; - case 654: return Item::WhiteBed; - case 300: return Item::WhiteCarpet; - case 413: return Item::WhiteConcrete; - case 429: return Item::WhiteConcretePowder; - case 650: return Item::WhiteDye; - case 397: return Item::WhiteGlazedTerracotta; - case 381: return Item::WhiteShulkerBox; - case 329: return Item::WhiteStainedGlass; - case 345: return Item::WhiteStainedGlassPane; - case 281: return Item::WhiteTerracotta; - case 105: return Item::WhiteTulip; - case 82: return Item::WhiteWool; - case 749: return Item::WitchSpawnEgg; - case 110: return Item::WitherRose; - case 770: return Item::WitherSkeletonSkull; - case 750: return Item::WitherSkeletonSpawnEgg; - case 751: return Item::WolfSpawnEgg; - case 536: return Item::WoodenAxe; - case 555: return Item::WoodenHoe; - case 535: return Item::WoodenPickaxe; - case 534: return Item::WoodenShovel; - case 533: return Item::WoodenSword; - case 758: return Item::WritableBook; - case 759: return Item::WrittenBook; - case 806: return Item::YellowBanner; - case 658: return Item::YellowBed; - case 304: return Item::YellowCarpet; - case 417: return Item::YellowConcrete; - case 433: return Item::YellowConcretePowder; - case 642: return Item::YellowDye; - case 401: return Item::YellowGlazedTerracotta; - case 385: return Item::YellowShulkerBox; - case 333: return Item::YellowStainedGlass; - case 349: return Item::YellowStainedGlassPane; - case 285: return Item::YellowTerracotta; - case 86: return Item::YellowWool; - case 772: return Item::ZombieHead; - case 753: return Item::ZombieHorseSpawnEgg; - case 754: return Item::ZombiePigmanSpawnEgg; - case 752: return Item::ZombieSpawnEgg; - case 755: return Item::ZombieVillagerSpawnEgg; - default: return Item::Air; - } + case 834: return Item::AcaciaBoat; + case 263: return Item::AcaciaButton; + case 511: return Item::AcaciaDoor; + case 185: return Item::AcaciaFence; + case 220: return Item::AcaciaFenceGate; + case 60: return Item::AcaciaLeaves; + case 36: return Item::AcaciaLog; + case 17: return Item::AcaciaPlanks; + case 170: return Item::AcaciaPressurePlate; + case 23: return Item::AcaciaSapling; + case 593: return Item::AcaciaSign; + case 119: return Item::AcaciaSlab; + case 319: return Item::AcaciaStairs; + case 197: return Item::AcaciaTrapdoor; + case 54: return Item::AcaciaWood; + case 279: return Item::ActivatorRail; + case -0: return Item::Air; + case 101: return Item::Allium; + case 6: return Item::Andesite; + case 501: return Item::AndesiteSlab; + case 488: return Item::AndesiteStairs; + case 254: return Item::AndesiteWall; + case 265: return Item::Anvil; + case 524: return Item::Apple; + case 792: return Item::ArmorStand; + case 526: return Item::Arrow; + case 102: return Item::AzureBluet; + case 765: return Item::BakedPotato; + case 614: return Item::Bamboo; + case 865: return Item::Barrel; + case 297: return Item::Barrier; + case 697: return Item::BatSpawnEgg; + case 244: return Item::Beacon; + case 25: return Item::Bedrock; + case 879: return Item::BeeNest; + case 698: return Item::BeeSpawnEgg; + case 677: return Item::Beef; + case 880: return Item::Beehive; + case 821: return Item::Beetroot; + case 822: return Item::BeetrootSeeds; + case 823: return Item::BeetrootSoup; + case 874: return Item::Bell; + case 832: return Item::BirchBoat; + case 261: return Item::BirchButton; + case 509: return Item::BirchDoor; + case 183: return Item::BirchFence; + case 218: return Item::BirchFenceGate; + case 58: return Item::BirchLeaves; + case 34: return Item::BirchLog; + case 15: return Item::BirchPlanks; + case 168: return Item::BirchPressurePlate; + case 21: return Item::BirchSapling; + case 591: return Item::BirchSign; + case 117: return Item::BirchSlab; + case 241: return Item::BirchStairs; + case 195: return Item::BirchTrapdoor; + case 52: return Item::BirchWood; + case 817: return Item::BlackBanner; + case 669: return Item::BlackBed; + case 315: return Item::BlackCarpet; + case 428: return Item::BlackConcrete; + case 444: return Item::BlackConcretePowder; + case 649: return Item::BlackDye; + case 412: return Item::BlackGlazedTerracotta; + case 396: return Item::BlackShulkerBox; + case 344: return Item::BlackStainedGlass; + case 360: return Item::BlackStainedGlassPane; + case 296: return Item::BlackTerracotta; + case 97: return Item::BlackWool; + case 867: return Item::BlastFurnace; + case 691: return Item::BlazePowder; + case 683: return Item::BlazeRod; + case 699: return Item::BlazeSpawnEgg; + case 813: return Item::BlueBanner; + case 665: return Item::BlueBed; + case 311: return Item::BlueCarpet; + case 424: return Item::BlueConcrete; + case 440: return Item::BlueConcretePowder; + case 647: return Item::BlueDye; + case 408: return Item::BlueGlazedTerracotta; + case 476: return Item::BlueIce; + case 100: return Item::BlueOrchid; + case 392: return Item::BlueShulkerBox; + case 340: return Item::BlueStainedGlass; + case 356: return Item::BlueStainedGlassPane; + case 292: return Item::BlueTerracotta; + case 93: return Item::BlueWool; + case 651: return Item::Bone; + case 377: return Item::BoneBlock; + case 646: return Item::BoneMeal; + case 616: return Item::Book; + case 143: return Item::Bookshelf; + case 525: return Item::Bow; + case 546: return Item::Bowl; + case 457: return Item::BrainCoral; + case 452: return Item::BrainCoralBlock; + case 467: return Item::BrainCoralFan; + case 562: return Item::Bread; + case 693: return Item::BrewingStand; + case 609: return Item::Brick; + case 127: return Item::BrickSlab; + case 222: return Item::BrickStairs; + case 247: return Item::BrickWall; + case 141: return Item::Bricks; + case 814: return Item::BrownBanner; + case 666: return Item::BrownBed; + case 312: return Item::BrownCarpet; + case 425: return Item::BrownConcrete; + case 441: return Item::BrownConcretePowder; + case 648: return Item::BrownDye; + case 409: return Item::BrownGlazedTerracotta; + case 111: return Item::BrownMushroom; + case 209: return Item::BrownMushroomBlock; + case 393: return Item::BrownShulkerBox; + case 341: return Item::BrownStainedGlass; + case 357: return Item::BrownStainedGlassPane; + case 293: return Item::BrownTerracotta; + case 94: return Item::BrownWool; + case 458: return Item::BubbleCoral; + case 453: return Item::BubbleCoralBlock; + case 468: return Item::BubbleCoralFan; + case 595: return Item::Bucket; + case 178: return Item::Cactus; + case 653: return Item::Cake; + case 877: return Item::Campfire; + case 763: return Item::Carrot; + case 775: return Item::CarrotOnAStick; + case 868: return Item::CartographyTable; + case 188: return Item::CarvedPumpkin; + case 700: return Item::CatSpawnEgg; + case 694: return Item::Cauldron; + case 701: return Item::CaveSpiderSpawnEgg; + case 373: return Item::ChainCommandBlock; + case 570: return Item::ChainmailBoots; + case 568: return Item::ChainmailChestplate; + case 567: return Item::ChainmailHelmet; + case 569: return Item::ChainmailLeggings; + case 528: return Item::Charcoal; + case 155: return Item::Chest; + case 618: return Item::ChestMinecart; + case 679: return Item::Chicken; + case 702: return Item::ChickenSpawnEgg; + case 266: return Item::ChippedAnvil; + case 275: return Item::ChiseledQuartzBlock; + case 369: return Item::ChiseledRedSandstone; + case 69: return Item::ChiseledSandstone; + case 208: return Item::ChiseledStoneBricks; + case 149: return Item::ChorusFlower; + case 819: return Item::ChorusFruit; + case 148: return Item::ChorusPlant; + case 179: return Item::Clay; + case 610: return Item::ClayBall; + case 623: return Item::Clock; + case 527: return Item::Coal; + case 317: return Item::CoalBlock; + case 31: return Item::CoalOre; + case 10: return Item::CoarseDirt; + case 12: return Item::Cobblestone; + case 126: return Item::CobblestoneSlab; + case 163: return Item::CobblestoneStairs; + case 245: return Item::CobblestoneWall; + case 75: return Item::Cobweb; + case 634: return Item::CocoaBeans; + case 625: return Item::Cod; + case 607: return Item::CodBucket; + case 703: return Item::CodSpawnEgg; + case 243: return Item::CommandBlock; + case 799: return Item::CommandBlockMinecart; + case 514: return Item::Comparator; + case 621: return Item::Compass; + case 517: return Item::Composter; + case 477: return Item::Conduit; + case 678: return Item::CookedBeef; + case 680: return Item::CookedChicken; + case 629: return Item::CookedCod; + case 801: return Item::CookedMutton; + case 585: return Item::CookedPorkchop; + case 788: return Item::CookedRabbit; + case 630: return Item::CookedSalmon; + case 670: return Item::Cookie; + case 108: return Item::Cornflower; + case 704: return Item::CowSpawnEgg; + case 207: return Item::CrackedStoneBricks; + case 158: return Item::CraftingTable; + case 861: return Item::CreeperBannerPattern; + case 773: return Item::CreeperHead; + case 705: return Item::CreeperSpawnEgg; + case 857: return Item::Crossbow; + case 370: return Item::CutRedSandstone; + case 132: return Item::CutRedSandstoneSlab; + case 70: return Item::CutSandstone; + case 124: return Item::CutSandstoneSlab; + case 811: return Item::CyanBanner; + case 663: return Item::CyanBed; + case 309: return Item::CyanCarpet; + case 422: return Item::CyanConcrete; + case 438: return Item::CyanConcretePowder; + case 637: return Item::CyanDye; + case 406: return Item::CyanGlazedTerracotta; + case 390: return Item::CyanShulkerBox; + case 338: return Item::CyanStainedGlass; + case 354: return Item::CyanStainedGlassPane; + case 290: return Item::CyanTerracotta; + case 91: return Item::CyanWool; + case 267: return Item::DamagedAnvil; + case 98: return Item::Dandelion; + case 835: return Item::DarkOakBoat; + case 264: return Item::DarkOakButton; + case 512: return Item::DarkOakDoor; + case 186: return Item::DarkOakFence; + case 221: return Item::DarkOakFenceGate; + case 61: return Item::DarkOakLeaves; + case 37: return Item::DarkOakLog; + case 18: return Item::DarkOakPlanks; + case 171: return Item::DarkOakPressurePlate; + case 24: return Item::DarkOakSapling; + case 594: return Item::DarkOakSign; + case 120: return Item::DarkOakSlab; + case 320: return Item::DarkOakStairs; + case 198: return Item::DarkOakTrapdoor; + case 55: return Item::DarkOakWood; + case 363: return Item::DarkPrismarine; + case 136: return Item::DarkPrismarineSlab; + case 366: return Item::DarkPrismarineStairs; + case 271: return Item::DaylightDetector; + case 461: return Item::DeadBrainCoral; + case 447: return Item::DeadBrainCoralBlock; + case 472: return Item::DeadBrainCoralFan; + case 462: return Item::DeadBubbleCoral; + case 448: return Item::DeadBubbleCoralBlock; + case 473: return Item::DeadBubbleCoralFan; + case 78: return Item::DeadBush; + case 463: return Item::DeadFireCoral; + case 449: return Item::DeadFireCoralBlock; + case 474: return Item::DeadFireCoralFan; + case 464: return Item::DeadHornCoral; + case 450: return Item::DeadHornCoralBlock; + case 475: return Item::DeadHornCoralFan; + case 465: return Item::DeadTubeCoral; + case 446: return Item::DeadTubeCoralBlock; + case 471: return Item::DeadTubeCoralFan; + case 840: return Item::DebugStick; + case 73: return Item::DetectorRail; + case 529: return Item::Diamond; + case 544: return Item::DiamondAxe; + case 157: return Item::DiamondBlock; + case 578: return Item::DiamondBoots; + case 576: return Item::DiamondChestplate; + case 575: return Item::DiamondHelmet; + case 558: return Item::DiamondHoe; + case 795: return Item::DiamondHorseArmor; + case 577: return Item::DiamondLeggings; + case 156: return Item::DiamondOre; + case 543: return Item::DiamondPickaxe; + case 542: return Item::DiamondShovel; + case 541: return Item::DiamondSword; + case 4: return Item::Diorite; + case 504: return Item::DioriteSlab; + case 491: return Item::DioriteStairs; + case 258: return Item::DioriteWall; + case 9: return Item::Dirt; + case 67: return Item::Dispenser; + case 706: return Item::DolphinSpawnEgg; + case 707: return Item::DonkeySpawnEgg; + case 824: return Item::DragonBreath; + case 233: return Item::DragonEgg; + case 774: return Item::DragonHead; + case 674: return Item::DriedKelp; + case 613: return Item::DriedKelpBlock; + case 280: return Item::Dropper; + case 708: return Item::DrownedSpawnEgg; + case 620: return Item::Egg; + case 709: return Item::ElderGuardianSpawnEgg; + case 830: return Item::Elytra; + case 760: return Item::Emerald; + case 239: return Item::EmeraldBlock; + case 236: return Item::EmeraldOre; + case 780: return Item::EnchantedBook; + case 588: return Item::EnchantedGoldenApple; + case 229: return Item::EnchantingTable; + case 818: return Item::EndCrystal; + case 230: return Item::EndPortalFrame; + case 147: return Item::EndRod; + case 231: return Item::EndStone; + case 497: return Item::EndStoneBrickSlab; + case 483: return Item::EndStoneBrickStairs; + case 257: return Item::EndStoneBrickWall; + case 232: return Item::EndStoneBricks; + case 237: return Item::EnderChest; + case 695: return Item::EnderEye; + case 682: return Item::EnderPearl; + case 710: return Item::EndermanSpawnEgg; + case 711: return Item::EndermiteSpawnEgg; + case 712: return Item::EvokerSpawnEgg; + case 756: return Item::ExperienceBottle; + case 159: return Item::Farmland; + case 553: return Item::Feather; + case 690: return Item::FermentedSpiderEye; + case 77: return Item::Fern; + case 671: return Item::FilledMap; + case 757: return Item::FireCharge; + case 459: return Item::FireCoral; + case 454: return Item::FireCoralBlock; + case 469: return Item::FireCoralFan; + case 778: return Item::FireworkRocket; + case 779: return Item::FireworkStar; + case 622: return Item::FishingRod; + case 869: return Item::FletchingTable; + case 583: return Item::Flint; + case 523: return Item::FlintAndSteel; + case 860: return Item::FlowerBannerPattern; + case 762: return Item::FlowerPot; + case 713: return Item::FoxSpawnEgg; + case 160: return Item::Furnace; + case 619: return Item::FurnaceMinecart; + case 714: return Item::GhastSpawnEgg; + case 684: return Item::GhastTear; + case 64: return Item::Glass; + case 688: return Item::GlassBottle; + case 213: return Item::GlassPane; + case 696: return Item::GlisteringMelonSlice; + case 864: return Item::GlobeBannerPattern; + case 191: return Item::Glowstone; + case 624: return Item::GlowstoneDust; + case 113: return Item::GoldBlock; + case 531: return Item::GoldIngot; + case 685: return Item::GoldNugget; + case 29: return Item::GoldOre; + case 587: return Item::GoldenApple; + case 551: return Item::GoldenAxe; + case 582: return Item::GoldenBoots; + case 768: return Item::GoldenCarrot; + case 580: return Item::GoldenChestplate; + case 579: return Item::GoldenHelmet; + case 559: return Item::GoldenHoe; + case 794: return Item::GoldenHorseArmor; + case 581: return Item::GoldenLeggings; + case 550: return Item::GoldenPickaxe; + case 549: return Item::GoldenShovel; + case 548: return Item::GoldenSword; + case 2: return Item::Granite; + case 500: return Item::GraniteSlab; + case 487: return Item::GraniteStairs; + case 251: return Item::GraniteWall; + case 76: return Item::Grass; + case 8: return Item::GrassBlock; + case 322: return Item::GrassPath; + case 28: return Item::Gravel; + case 809: return Item::GrayBanner; + case 661: return Item::GrayBed; + case 307: return Item::GrayCarpet; + case 420: return Item::GrayConcrete; + case 436: return Item::GrayConcretePowder; + case 639: return Item::GrayDye; + case 404: return Item::GrayGlazedTerracotta; + case 388: return Item::GrayShulkerBox; + case 336: return Item::GrayStainedGlass; + case 352: return Item::GrayStainedGlassPane; + case 288: return Item::GrayTerracotta; + case 89: return Item::GrayWool; + case 815: return Item::GreenBanner; + case 667: return Item::GreenBed; + case 313: return Item::GreenCarpet; + case 426: return Item::GreenConcrete; + case 442: return Item::GreenConcretePowder; + case 633: return Item::GreenDye; + case 410: return Item::GreenGlazedTerracotta; + case 394: return Item::GreenShulkerBox; + case 342: return Item::GreenStainedGlass; + case 358: return Item::GreenStainedGlassPane; + case 294: return Item::GreenTerracotta; + case 95: return Item::GreenWool; + case 870: return Item::Grindstone; + case 715: return Item::GuardianSpawnEgg; + case 554: return Item::Gunpowder; + case 299: return Item::HayBale; + case 856: return Item::HeartOfTheSea; + case 270: return Item::HeavyWeightedPressurePlate; + case 882: return Item::HoneyBlock; + case 881: return Item::HoneyBottle; + case 878: return Item::Honeycomb; + case 883: return Item::HoneycombBlock; + case 274: return Item::Hopper; + case 784: return Item::HopperMinecart; + case 460: return Item::HornCoral; + case 455: return Item::HornCoralBlock; + case 470: return Item::HornCoralFan; + case 716: return Item::HorseSpawnEgg; + case 717: return Item::HuskSpawnEgg; + case 176: return Item::Ice; + case 204: return Item::InfestedChiseledStoneBricks; + case 200: return Item::InfestedCobblestone; + case 203: return Item::InfestedCrackedStoneBricks; + case 202: return Item::InfestedMossyStoneBricks; + case 199: return Item::InfestedStone; + case 201: return Item::InfestedStoneBricks; + case 631: return Item::InkSac; + case 522: return Item::IronAxe; + case 212: return Item::IronBars; + case 114: return Item::IronBlock; + case 574: return Item::IronBoots; + case 572: return Item::IronChestplate; + case 506: return Item::IronDoor; + case 571: return Item::IronHelmet; + case 557: return Item::IronHoe; + case 793: return Item::IronHorseArmor; + case 530: return Item::IronIngot; + case 573: return Item::IronLeggings; + case 838: return Item::IronNugget; + case 30: return Item::IronOre; + case 521: return Item::IronPickaxe; + case 520: return Item::IronShovel; + case 532: return Item::IronSword; + case 298: return Item::IronTrapdoor; + case 761: return Item::ItemFrame; + case 192: return Item::JackOLantern; + case 516: return Item::Jigsaw; + case 180: return Item::Jukebox; + case 833: return Item::JungleBoat; + case 262: return Item::JungleButton; + case 510: return Item::JungleDoor; + case 184: return Item::JungleFence; + case 219: return Item::JungleFenceGate; + case 59: return Item::JungleLeaves; + case 35: return Item::JungleLog; + case 16: return Item::JunglePlanks; + case 169: return Item::JunglePressurePlate; + case 22: return Item::JungleSapling; + case 592: return Item::JungleSign; + case 118: return Item::JungleSlab; + case 242: return Item::JungleStairs; + case 196: return Item::JungleTrapdoor; + case 53: return Item::JungleWood; + case 612: return Item::Kelp; + case 839: return Item::KnowledgeBook; + case 161: return Item::Ladder; + case 875: return Item::Lantern; + case 66: return Item::LapisBlock; + case 635: return Item::LapisLazuli; + case 65: return Item::LapisOre; + case 328: return Item::LargeFern; + case 597: return Item::LavaBucket; + case 797: return Item::Lead; + case 603: return Item::Leather; + case 566: return Item::LeatherBoots; + case 564: return Item::LeatherChestplate; + case 563: return Item::LeatherHelmet; + case 796: return Item::LeatherHorseArmor; + case 565: return Item::LeatherLeggings; + case 871: return Item::Lectern; + case 164: return Item::Lever; + case 805: return Item::LightBlueBanner; + case 657: return Item::LightBlueBed; + case 303: return Item::LightBlueCarpet; + case 416: return Item::LightBlueConcrete; + case 432: return Item::LightBlueConcretePowder; + case 643: return Item::LightBlueDye; + case 400: return Item::LightBlueGlazedTerracotta; + case 384: return Item::LightBlueShulkerBox; + case 332: return Item::LightBlueStainedGlass; + case 348: return Item::LightBlueStainedGlassPane; + case 284: return Item::LightBlueTerracotta; + case 85: return Item::LightBlueWool; + case 810: return Item::LightGrayBanner; + case 662: return Item::LightGrayBed; + case 308: return Item::LightGrayCarpet; + case 421: return Item::LightGrayConcrete; + case 437: return Item::LightGrayConcretePowder; + case 638: return Item::LightGrayDye; + case 405: return Item::LightGrayGlazedTerracotta; + case 389: return Item::LightGrayShulkerBox; + case 337: return Item::LightGrayStainedGlass; + case 353: return Item::LightGrayStainedGlassPane; + case 289: return Item::LightGrayTerracotta; + case 90: return Item::LightGrayWool; + case 269: return Item::LightWeightedPressurePlate; + case 324: return Item::Lilac; + case 109: return Item::LilyOfTheValley; + case 225: return Item::LilyPad; + case 807: return Item::LimeBanner; + case 659: return Item::LimeBed; + case 305: return Item::LimeCarpet; + case 418: return Item::LimeConcrete; + case 434: return Item::LimeConcretePowder; + case 641: return Item::LimeDye; + case 402: return Item::LimeGlazedTerracotta; + case 386: return Item::LimeShulkerBox; + case 334: return Item::LimeStainedGlass; + case 350: return Item::LimeStainedGlassPane; + case 286: return Item::LimeTerracotta; + case 87: return Item::LimeWool; + case 828: return Item::LingeringPotion; + case 718: return Item::LlamaSpawnEgg; + case 859: return Item::Loom; + case 804: return Item::MagentaBanner; + case 656: return Item::MagentaBed; + case 302: return Item::MagentaCarpet; + case 415: return Item::MagentaConcrete; + case 431: return Item::MagentaConcretePowder; + case 644: return Item::MagentaDye; + case 399: return Item::MagentaGlazedTerracotta; + case 383: return Item::MagentaShulkerBox; + case 331: return Item::MagentaStainedGlass; + case 347: return Item::MagentaStainedGlassPane; + case 283: return Item::MagentaTerracotta; + case 84: return Item::MagentaWool; + case 374: return Item::MagmaBlock; + case 692: return Item::MagmaCream; + case 719: return Item::MagmaCubeSpawnEgg; + case 767: return Item::Map; + case 214: return Item::Melon; + case 676: return Item::MelonSeeds; + case 673: return Item::MelonSlice; + case 604: return Item::MilkBucket; + case 598: return Item::Minecart; + case 863: return Item::MojangBannerPattern; + case 720: return Item::MooshroomSpawnEgg; + case 144: return Item::MossyCobblestone; + case 496: return Item::MossyCobblestoneSlab; + case 482: return Item::MossyCobblestoneStairs; + case 246: return Item::MossyCobblestoneWall; + case 494: return Item::MossyStoneBrickSlab; + case 480: return Item::MossyStoneBrickStairs; + case 250: return Item::MossyStoneBrickWall; + case 206: return Item::MossyStoneBricks; + case 721: return Item::MuleSpawnEgg; + case 211: return Item::MushroomStem; + case 547: return Item::MushroomStew; + case 851: return Item::MusicDisc11; + case 841: return Item::MusicDisc13; + case 843: return Item::MusicDiscBlocks; + case 842: return Item::MusicDiscCat; + case 844: return Item::MusicDiscChirp; + case 845: return Item::MusicDiscFar; + case 846: return Item::MusicDiscMall; + case 847: return Item::MusicDiscMellohi; + case 848: return Item::MusicDiscStal; + case 849: return Item::MusicDiscStrad; + case 852: return Item::MusicDiscWait; + case 850: return Item::MusicDiscWard; + case 800: return Item::Mutton; + case 224: return Item::Mycelium; + case 798: return Item::NameTag; + case 855: return Item::NautilusShell; + case 781: return Item::NetherBrick; + case 227: return Item::NetherBrickFence; + case 129: return Item::NetherBrickSlab; + case 228: return Item::NetherBrickStairs; + case 253: return Item::NetherBrickWall; + case 226: return Item::NetherBricks; + case 273: return Item::NetherQuartzOre; + case 776: return Item::NetherStar; + case 686: return Item::NetherWart; + case 375: return Item::NetherWartBlock; + case 189: return Item::Netherrack; + case 71: return Item::NoteBlock; + case 602: return Item::OakBoat; + case 259: return Item::OakButton; + case 507: return Item::OakDoor; + case 181: return Item::OakFence; + case 216: return Item::OakFenceGate; + case 56: return Item::OakLeaves; + case 32: return Item::OakLog; + case 13: return Item::OakPlanks; + case 166: return Item::OakPressurePlate; + case 19: return Item::OakSapling; + case 589: return Item::OakSign; + case 115: return Item::OakSlab; + case 154: return Item::OakStairs; + case 193: return Item::OakTrapdoor; + case 50: return Item::OakWood; + case 379: return Item::Observer; + case 145: return Item::Obsidian; + case 722: return Item::OcelotSpawnEgg; + case 803: return Item::OrangeBanner; + case 655: return Item::OrangeBed; + case 301: return Item::OrangeCarpet; + case 414: return Item::OrangeConcrete; + case 430: return Item::OrangeConcretePowder; + case 645: return Item::OrangeDye; + case 398: return Item::OrangeGlazedTerracotta; + case 382: return Item::OrangeShulkerBox; + case 330: return Item::OrangeStainedGlass; + case 346: return Item::OrangeStainedGlassPane; + case 282: return Item::OrangeTerracotta; + case 104: return Item::OrangeTulip; + case 83: return Item::OrangeWool; + case 107: return Item::OxeyeDaisy; + case 318: return Item::PackedIce; + case 586: return Item::Painting; + case 723: return Item::PandaSpawnEgg; + case 615: return Item::Paper; + case 724: return Item::ParrotSpawnEgg; + case 326: return Item::Peony; + case 125: return Item::PetrifiedOakSlab; + case 854: return Item::PhantomMembrane; + case 725: return Item::PhantomSpawnEgg; + case 726: return Item::PigSpawnEgg; + case 727: return Item::PillagerSpawnEgg; + case 808: return Item::PinkBanner; + case 660: return Item::PinkBed; + case 306: return Item::PinkCarpet; + case 419: return Item::PinkConcrete; + case 435: return Item::PinkConcretePowder; + case 640: return Item::PinkDye; + case 403: return Item::PinkGlazedTerracotta; + case 387: return Item::PinkShulkerBox; + case 335: return Item::PinkStainedGlass; + case 351: return Item::PinkStainedGlassPane; + case 287: return Item::PinkTerracotta; + case 106: return Item::PinkTulip; + case 88: return Item::PinkWool; + case 81: return Item::Piston; + case 771: return Item::PlayerHead; + case 11: return Item::Podzol; + case 766: return Item::PoisonousPotato; + case 728: return Item::PolarBearSpawnEgg; + case 7: return Item::PolishedAndesite; + case 503: return Item::PolishedAndesiteSlab; + case 490: return Item::PolishedAndesiteStairs; + case 5: return Item::PolishedDiorite; + case 495: return Item::PolishedDioriteSlab; + case 481: return Item::PolishedDioriteStairs; + case 3: return Item::PolishedGranite; + case 492: return Item::PolishedGraniteSlab; + case 478: return Item::PolishedGraniteStairs; + case 820: return Item::PoppedChorusFruit; + case 99: return Item::Poppy; + case 584: return Item::Porkchop; + case 764: return Item::Potato; + case 687: return Item::Potion; + case 72: return Item::PoweredRail; + case 361: return Item::Prismarine; + case 135: return Item::PrismarineBrickSlab; + case 365: return Item::PrismarineBrickStairs; + case 362: return Item::PrismarineBricks; + case 786: return Item::PrismarineCrystals; + case 785: return Item::PrismarineShard; + case 134: return Item::PrismarineSlab; + case 364: return Item::PrismarineStairs; + case 248: return Item::PrismarineWall; + case 628: return Item::Pufferfish; + case 605: return Item::PufferfishBucket; + case 729: return Item::PufferfishSpawnEgg; + case 187: return Item::Pumpkin; + case 777: return Item::PumpkinPie; + case 675: return Item::PumpkinSeeds; + case 812: return Item::PurpleBanner; + case 664: return Item::PurpleBed; + case 310: return Item::PurpleCarpet; + case 423: return Item::PurpleConcrete; + case 439: return Item::PurpleConcretePowder; + case 636: return Item::PurpleDye; + case 407: return Item::PurpleGlazedTerracotta; + case 391: return Item::PurpleShulkerBox; + case 339: return Item::PurpleStainedGlass; + case 355: return Item::PurpleStainedGlassPane; + case 291: return Item::PurpleTerracotta; + case 92: return Item::PurpleWool; + case 150: return Item::PurpurBlock; + case 151: return Item::PurpurPillar; + case 133: return Item::PurpurSlab; + case 152: return Item::PurpurStairs; + case 782: return Item::Quartz; + case 276: return Item::QuartzBlock; + case 277: return Item::QuartzPillar; + case 130: return Item::QuartzSlab; + case 278: return Item::QuartzStairs; + case 787: return Item::Rabbit; + case 790: return Item::RabbitFoot; + case 791: return Item::RabbitHide; + case 730: return Item::RabbitSpawnEgg; + case 789: return Item::RabbitStew; + case 162: return Item::Rail; + case 731: return Item::RavagerSpawnEgg; + case 816: return Item::RedBanner; + case 668: return Item::RedBed; + case 314: return Item::RedCarpet; + case 427: return Item::RedConcrete; + case 443: return Item::RedConcretePowder; + case 632: return Item::RedDye; + case 411: return Item::RedGlazedTerracotta; + case 112: return Item::RedMushroom; + case 210: return Item::RedMushroomBlock; + case 502: return Item::RedNetherBrickSlab; + case 489: return Item::RedNetherBrickStairs; + case 255: return Item::RedNetherBrickWall; + case 376: return Item::RedNetherBricks; + case 27: return Item::RedSand; + case 368: return Item::RedSandstone; + case 131: return Item::RedSandstoneSlab; + case 371: return Item::RedSandstoneStairs; + case 249: return Item::RedSandstoneWall; + case 395: return Item::RedShulkerBox; + case 343: return Item::RedStainedGlass; + case 359: return Item::RedStainedGlassPane; + case 295: return Item::RedTerracotta; + case 103: return Item::RedTulip; + case 96: return Item::RedWool; + case 600: return Item::Redstone; + case 272: return Item::RedstoneBlock; + case 234: return Item::RedstoneLamp; + case 172: return Item::RedstoneOre; + case 173: return Item::RedstoneTorch; + case 513: return Item::Repeater; + case 372: return Item::RepeatingCommandBlock; + case 325: return Item::RoseBush; + case 681: return Item::RottenFlesh; + case 599: return Item::Saddle; + case 626: return Item::Salmon; + case 606: return Item::SalmonBucket; + case 732: return Item::SalmonSpawnEgg; + case 26: return Item::Sand; + case 68: return Item::Sandstone; + case 123: return Item::SandstoneSlab; + case 235: return Item::SandstoneStairs; + case 256: return Item::SandstoneWall; + case 505: return Item::Scaffolding; + case 519: return Item::Scute; + case 367: return Item::SeaLantern; + case 80: return Item::SeaPickle; + case 79: return Item::Seagrass; + case 672: return Item::Shears; + case 733: return Item::SheepSpawnEgg; + case 829: return Item::Shield; + case 380: return Item::ShulkerBox; + case 837: return Item::ShulkerShell; + case 734: return Item::ShulkerSpawnEgg; + case 735: return Item::SilverfishSpawnEgg; + case 737: return Item::SkeletonHorseSpawnEgg; + case 769: return Item::SkeletonSkull; + case 736: return Item::SkeletonSpawnEgg; + case 862: return Item::SkullBannerPattern; + case 617: return Item::SlimeBall; + case 321: return Item::SlimeBlock; + case 738: return Item::SlimeSpawnEgg; + case 872: return Item::SmithingTable; + case 866: return Item::Smoker; + case 137: return Item::SmoothQuartz; + case 499: return Item::SmoothQuartzSlab; + case 486: return Item::SmoothQuartzStairs; + case 138: return Item::SmoothRedSandstone; + case 493: return Item::SmoothRedSandstoneSlab; + case 479: return Item::SmoothRedSandstoneStairs; + case 139: return Item::SmoothSandstone; + case 498: return Item::SmoothSandstoneSlab; + case 485: return Item::SmoothSandstoneStairs; + case 140: return Item::SmoothStone; + case 122: return Item::SmoothStoneSlab; + case 175: return Item::Snow; + case 177: return Item::SnowBlock; + case 601: return Item::Snowball; + case 190: return Item::SoulSand; + case 153: return Item::Spawner; + case 826: return Item::SpectralArrow; + case 689: return Item::SpiderEye; + case 739: return Item::SpiderSpawnEgg; + case 825: return Item::SplashPotion; + case 62: return Item::Sponge; + case 831: return Item::SpruceBoat; + case 260: return Item::SpruceButton; + case 508: return Item::SpruceDoor; + case 182: return Item::SpruceFence; + case 217: return Item::SpruceFenceGate; + case 57: return Item::SpruceLeaves; + case 33: return Item::SpruceLog; + case 14: return Item::SprucePlanks; + case 167: return Item::SprucePressurePlate; + case 20: return Item::SpruceSapling; + case 590: return Item::SpruceSign; + case 116: return Item::SpruceSlab; + case 240: return Item::SpruceStairs; + case 194: return Item::SpruceTrapdoor; + case 51: return Item::SpruceWood; + case 740: return Item::SquidSpawnEgg; + case 545: return Item::Stick; + case 74: return Item::StickyPiston; + case 1: return Item::Stone; + case 540: return Item::StoneAxe; + case 128: return Item::StoneBrickSlab; + case 223: return Item::StoneBrickStairs; + case 252: return Item::StoneBrickWall; + case 205: return Item::StoneBricks; + case 174: return Item::StoneButton; + case 556: return Item::StoneHoe; + case 539: return Item::StonePickaxe; + case 165: return Item::StonePressurePlate; + case 538: return Item::StoneShovel; + case 121: return Item::StoneSlab; + case 484: return Item::StoneStairs; + case 537: return Item::StoneSword; + case 873: return Item::Stonecutter; + case 741: return Item::StraySpawnEgg; + case 552: return Item::String; + case 42: return Item::StrippedAcaciaLog; + case 48: return Item::StrippedAcaciaWood; + case 40: return Item::StrippedBirchLog; + case 46: return Item::StrippedBirchWood; + case 43: return Item::StrippedDarkOakLog; + case 49: return Item::StrippedDarkOakWood; + case 41: return Item::StrippedJungleLog; + case 47: return Item::StrippedJungleWood; + case 38: return Item::StrippedOakLog; + case 44: return Item::StrippedOakWood; + case 39: return Item::StrippedSpruceLog; + case 45: return Item::StrippedSpruceWood; + case 515: return Item::StructureBlock; + case 378: return Item::StructureVoid; + case 652: return Item::Sugar; + case 611: return Item::SugarCane; + case 323: return Item::Sunflower; + case 858: return Item::SuspiciousStew; + case 876: return Item::SweetBerries; + case 327: return Item::TallGrass; + case 316: return Item::Terracotta; + case 827: return Item::TippedArrow; + case 142: return Item::TNT; + case 783: return Item::TNTMinecart; + case 146: return Item::Torch; + case 836: return Item::TotemOfUndying; + case 742: return Item::TraderLlamaSpawnEgg; + case 268: return Item::TrappedChest; + case 853: return Item::Trident; + case 238: return Item::TripwireHook; + case 627: return Item::TropicalFish; + case 608: return Item::TropicalFishBucket; + case 743: return Item::TropicalFishSpawnEgg; + case 456: return Item::TubeCoral; + case 451: return Item::TubeCoralBlock; + case 466: return Item::TubeCoralFan; + case 445: return Item::TurtleEgg; + case 518: return Item::TurtleHelmet; + case 744: return Item::TurtleSpawnEgg; + case 745: return Item::VexSpawnEgg; + case 746: return Item::VillagerSpawnEgg; + case 747: return Item::VindicatorSpawnEgg; + case 215: return Item::Vine; + case 748: return Item::WanderingTraderSpawnEgg; + case 596: return Item::WaterBucket; + case 63: return Item::WetSponge; + case 561: return Item::Wheat; + case 560: return Item::WheatSeeds; + case 802: return Item::WhiteBanner; + case 654: return Item::WhiteBed; + case 300: return Item::WhiteCarpet; + case 413: return Item::WhiteConcrete; + case 429: return Item::WhiteConcretePowder; + case 650: return Item::WhiteDye; + case 397: return Item::WhiteGlazedTerracotta; + case 381: return Item::WhiteShulkerBox; + case 329: return Item::WhiteStainedGlass; + case 345: return Item::WhiteStainedGlassPane; + case 281: return Item::WhiteTerracotta; + case 105: return Item::WhiteTulip; + case 82: return Item::WhiteWool; + case 749: return Item::WitchSpawnEgg; + case 110: return Item::WitherRose; + case 770: return Item::WitherSkeletonSkull; + case 750: return Item::WitherSkeletonSpawnEgg; + case 751: return Item::WolfSpawnEgg; + case 536: return Item::WoodenAxe; + case 555: return Item::WoodenHoe; + case 535: return Item::WoodenPickaxe; + case 534: return Item::WoodenShovel; + case 533: return Item::WoodenSword; + case 758: return Item::WritableBook; + case 759: return Item::WrittenBook; + case 806: return Item::YellowBanner; + case 658: return Item::YellowBed; + case 304: return Item::YellowCarpet; + case 417: return Item::YellowConcrete; + case 433: return Item::YellowConcretePowder; + case 642: return Item::YellowDye; + case 401: return Item::YellowGlazedTerracotta; + case 385: return Item::YellowShulkerBox; + case 333: return Item::YellowStainedGlass; + case 349: return Item::YellowStainedGlassPane; + case 285: return Item::YellowTerracotta; + case 86: return Item::YellowWool; + case 772: return Item::ZombieHead; + case 753: return Item::ZombieHorseSpawnEgg; + case 754: return Item::ZombiePigmanSpawnEgg; + case 752: return Item::ZombieSpawnEgg; + case 755: return Item::ZombieVillagerSpawnEgg; + default: return Item::Air; } } +} // namespace Palette_1_15 diff --git a/src/Protocol/Palettes/Palette_1_15.h b/src/Protocol/Palettes/Palette_1_15.h index f71c38395..1d809ce16 100644 --- a/src/Protocol/Palettes/Palette_1_15.h +++ b/src/Protocol/Palettes/Palette_1_15.h @@ -6,8 +6,8 @@ namespace Palette_1_15 { - UInt32 From(BlockState Block); - UInt32 From(Item ID); - UInt32 From(CustomStatistic ID); - Item ToItem(UInt32 ID); -} +UInt32 From(BlockState Block); +UInt32 From(Item ID); +UInt32 From(CustomStatistic ID); +Item ToItem(UInt32 ID); +} // namespace Palette_1_15 diff --git a/src/Protocol/Palettes/Palette_1_16.cpp b/src/Protocol/Palettes/Palette_1_16.cpp index 86b684cb8..943db91ec 100644 --- a/src/Protocol/Palettes/Palette_1_16.cpp +++ b/src/Protocol/Palettes/Palette_1_16.cpp @@ -5,13825 +5,58584 @@ namespace Palette_1_16 { - UInt32 From(const BlockState Block) - { - using namespace Block; +UInt32 From(const BlockState Block) +{ + using namespace Block; - switch (Block.ID) - { - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6442; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6443; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6444; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6445; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6446; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6447; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6448; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6449; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6450; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6451; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6452; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6453; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6454; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6455; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6456; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6457; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6458; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6459; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6460; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6461; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6462; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6463; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6464; - case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6465; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8930; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8931; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8932; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8933; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8934; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8935; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8936; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8937; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8938; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8939; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8940; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8941; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8942; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8943; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8944; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8945; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8946; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8947; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8948; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8949; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8950; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8951; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8952; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8953; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8954; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8955; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8956; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8957; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8958; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8959; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8960; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8961; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8962; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8963; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8964; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8965; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8966; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8967; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8968; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8969; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8970; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8971; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8972; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8973; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8974; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8975; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8976; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8977; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, true).ID: return 8978; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, true, false).ID: return 8979; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true).ID: return 8980; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false).ID: return 8981; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, true).ID: return 8982; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, true, false).ID: return 8983; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true).ID: return 8984; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false).ID: return 8985; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, true).ID: return 8986; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, true, false).ID: return 8987; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, true).ID: return 8988; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Left, false, false).ID: return 8989; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, true).ID: return 8990; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false).ID: return 8991; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, true).ID: return 8992; - case AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false).ID: return 8993; - case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 8676; - case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 8677; - case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 8680; - case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 8681; - case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 8684; - case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 8685; - case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 8688; - case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 8689; - case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 8692; - case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 8693; - case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 8696; - case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 8697; - case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 8700; - case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 8701; - case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 8704; - case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 8705; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8514; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8515; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8516; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8517; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8518; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8519; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8520; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8521; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8522; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8523; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8524; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8525; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8526; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8527; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8528; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8529; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8530; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8531; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8532; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8533; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8534; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8535; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8536; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8537; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8538; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8539; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8540; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8541; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8542; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8543; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8544; - case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8545; - case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 201; - case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 202; - case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 203; - case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 204; - case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 205; - case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 206; - case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 207; - case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 208; - case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 209; - case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 210; - case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 211; - case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 212; - case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 213; - case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 214; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 85; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 86; - case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 87; - case AcaciaPlanks::AcaciaPlanks().ID: return 19; - case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3881; - case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3882; - case AcaciaSapling::AcaciaSapling(0).ID: return 29; - case AcaciaSapling::AcaciaSapling(1).ID: return 30; - case AcaciaSign::AcaciaSign(0).ID: return 3478; - case AcaciaSign::AcaciaSign(1).ID: return 3480; - case AcaciaSign::AcaciaSign(2).ID: return 3482; - case AcaciaSign::AcaciaSign(3).ID: return 3484; - case AcaciaSign::AcaciaSign(4).ID: return 3486; - case AcaciaSign::AcaciaSign(5).ID: return 3488; - case AcaciaSign::AcaciaSign(6).ID: return 3490; - case AcaciaSign::AcaciaSign(7).ID: return 3492; - case AcaciaSign::AcaciaSign(8).ID: return 3494; - case AcaciaSign::AcaciaSign(9).ID: return 3496; - case AcaciaSign::AcaciaSign(10).ID: return 3498; - case AcaciaSign::AcaciaSign(11).ID: return 3500; - case AcaciaSign::AcaciaSign(12).ID: return 3502; - case AcaciaSign::AcaciaSign(13).ID: return 3504; - case AcaciaSign::AcaciaSign(14).ID: return 3506; - case AcaciaSign::AcaciaSign(15).ID: return 3508; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 8325; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 8327; - case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 8329; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 7376; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 7378; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 7380; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 7382; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 7384; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 7386; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 7388; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 7390; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 7392; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 7394; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 7396; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 7398; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 7400; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 7402; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 7404; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 7406; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 7408; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 7410; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 7412; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 7414; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 7416; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 7418; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 7420; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 7422; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 7424; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 7426; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 7428; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 7430; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 7432; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 7434; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight).ID: return 7436; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerLeft).ID: return 7438; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::InnerRight).ID: return 7440; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterLeft).ID: return 7442; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::OuterRight).ID: return 7444; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight).ID: return 7446; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerLeft).ID: return 7448; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::InnerRight).ID: return 7450; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterLeft).ID: return 7452; - case AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::OuterRight).ID: return 7454; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: return 4368; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: return 4370; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: return 4372; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: return 4374; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4376; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4378; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4380; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4382; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: return 4384; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: return 4386; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: return 4388; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: return 4390; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4392; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4394; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4396; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4398; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: return 4400; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: return 4402; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: return 4404; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: return 4406; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4408; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4410; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4412; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4414; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: return 4416; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: return 4418; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: return 4420; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: return 4422; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: return 4424; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: return 4426; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: return 4428; - case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: return 4430; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3760; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3762; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3764; - case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3766; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 121; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 122; - case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 123; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 6823; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 6824; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 6825; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 6826; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 6827; - case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 6828; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 6829; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 6830; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 6831; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 6832; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 6833; - case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 6834; - case Air::Air().ID: return -0; - case Allium::Allium().ID: return 1415; - case AncientDebris::AncientDebris().ID: return 15827; - case Andesite::Andesite().ID: return 6; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Top).ID: return 10844; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Bottom).ID: return 10846; - case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Double).ID: return 10848; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 10470; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 10472; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 10474; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 10476; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 10478; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 10480; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 10482; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 10484; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 10486; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 10488; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 10490; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 10492; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 10494; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 10496; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 10498; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 10500; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 10502; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 10504; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 10506; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_ZP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 10508; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 10510; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 10512; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 10514; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 10516; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 10518; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 10520; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 10522; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 10524; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 10526; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XM, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 10528; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::Straight).ID: return 10530; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerLeft).ID: return 10532; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::InnerRight).ID: return 10534; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterLeft).ID: return 10536; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Top, AndesiteStairs::Shape::OuterRight).ID: return 10538; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::Straight).ID: return 10540; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerLeft).ID: return 10542; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::InnerRight).ID: return 10544; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterLeft).ID: return 10546; - case AndesiteStairs::AndesiteStairs(eBlockFace::BLOCK_FACE_XP, AndesiteStairs::Half::Bottom, AndesiteStairs::Shape::OuterRight).ID: return 10548; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13138; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13139; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13140; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13144; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13145; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13146; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13150; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13151; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13152; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13156; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13157; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13158; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13162; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13163; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13164; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13168; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13169; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13170; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13174; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13175; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13176; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13180; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13181; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13182; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13186; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13187; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13188; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13192; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13193; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13194; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13198; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13199; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13200; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13204; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13205; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13206; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13210; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13211; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13212; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13216; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13217; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13218; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13222; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13223; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13224; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13228; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13229; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13230; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13234; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13235; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13236; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13240; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13241; - case AndesiteWall::AndesiteWall(AndesiteWall::East::None, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13242; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13246; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13247; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13248; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13252; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13253; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13254; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13258; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13259; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13260; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13264; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13265; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13266; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13270; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13271; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13272; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13276; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13277; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13278; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13282; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13283; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13284; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13288; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13289; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13290; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13294; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13295; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13296; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13300; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13301; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13302; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13306; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13307; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13308; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13312; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13313; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13314; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13318; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13319; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13320; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13324; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13325; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13326; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13330; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13331; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13332; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13336; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13337; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13338; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13342; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13343; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13344; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13348; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13349; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Low, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13350; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13354; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13355; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13356; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13360; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13361; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13362; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13366; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13367; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13368; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13372; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13373; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13374; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13378; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13379; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13380; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13384; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13385; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::None, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13386; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13390; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13391; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13392; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13396; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13397; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13398; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13402; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13403; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13404; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13408; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13409; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13410; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13414; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13415; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13416; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13420; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13421; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Low, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13422; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::None).ID: return 13426; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::Low).ID: return 13427; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::None, true, AndesiteWall::West::Tall).ID: return 13428; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::None).ID: return 13432; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::Low).ID: return 13433; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::None, false, AndesiteWall::West::Tall).ID: return 13434; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::None).ID: return 13438; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::Low).ID: return 13439; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Low, true, AndesiteWall::West::Tall).ID: return 13440; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::None).ID: return 13444; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::Low).ID: return 13445; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Low, false, AndesiteWall::West::Tall).ID: return 13446; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::None).ID: return 13450; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::Low).ID: return 13451; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Tall, true, AndesiteWall::West::Tall).ID: return 13452; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::None).ID: return 13456; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::Low).ID: return 13457; - case AndesiteWall::AndesiteWall(AndesiteWall::East::Tall, AndesiteWall::North::Tall, AndesiteWall::South::Tall, false, AndesiteWall::West::Tall).ID: return 13458; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6610; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6611; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 6612; - case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 6613; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4768; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4769; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4770; - case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4771; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4764; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4765; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4766; - case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4767; - case AzureBluet::AzureBluet().ID: return 1416; - case Bamboo::Bamboo(0, Bamboo::Leaves::None, 0).ID: return 9652; - case Bamboo::Bamboo(0, Bamboo::Leaves::None, 1).ID: return 9653; - case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 0).ID: return 9654; - case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 1).ID: return 9655; - case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 0).ID: return 9656; - case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 1).ID: return 9657; - case Bamboo::Bamboo(1, Bamboo::Leaves::None, 0).ID: return 9658; - case Bamboo::Bamboo(1, Bamboo::Leaves::None, 1).ID: return 9659; - case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 0).ID: return 9660; - case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 1).ID: return 9661; - case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 0).ID: return 9662; - case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 1).ID: return 9663; - case BambooSapling::BambooSapling().ID: return 9651; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, true).ID: return 14791; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, false).ID: return 14792; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, true).ID: return 14793; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, false).ID: return 14794; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, true).ID: return 14795; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, false).ID: return 14796; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, true).ID: return 14797; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, false).ID: return 14798; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, true).ID: return 14799; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, false).ID: return 14800; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, true).ID: return 14801; - case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, false).ID: return 14802; - case Barrier::Barrier().ID: return 7536; - case Basalt::Basalt(Basalt::Axis::X).ID: return 4002; - case Basalt::Basalt(Basalt::Axis::Y).ID: return 4003; - case Basalt::Basalt(Basalt::Axis::Z).ID: return 4004; - case Beacon::Beacon().ID: return 5656; - case Bedrock::Bedrock().ID: return 33; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 0).ID: return 15776; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 1).ID: return 15777; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 2).ID: return 15778; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 3).ID: return 15779; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 4).ID: return 15780; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 5).ID: return 15781; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 0).ID: return 15782; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 1).ID: return 15783; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 2).ID: return 15784; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 3).ID: return 15785; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 4).ID: return 15786; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 5).ID: return 15787; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 0).ID: return 15788; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 1).ID: return 15789; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 2).ID: return 15790; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 3).ID: return 15791; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 4).ID: return 15792; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 5).ID: return 15793; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 0).ID: return 15794; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 1).ID: return 15795; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 2).ID: return 15796; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 3).ID: return 15797; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 4).ID: return 15798; - case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 5).ID: return 15799; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 0).ID: return 15800; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 1).ID: return 15801; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 2).ID: return 15802; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 3).ID: return 15803; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 4).ID: return 15804; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 5).ID: return 15805; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 0).ID: return 15806; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 1).ID: return 15807; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 2).ID: return 15808; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 3).ID: return 15809; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 4).ID: return 15810; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 5).ID: return 15811; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 0).ID: return 15812; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 1).ID: return 15813; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 2).ID: return 15814; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 3).ID: return 15815; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 4).ID: return 15816; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 5).ID: return 15817; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 0).ID: return 15818; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 1).ID: return 15819; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 2).ID: return 15820; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 3).ID: return 15821; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 4).ID: return 15822; - case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 5).ID: return 15823; - case Beetroots::Beetroots(0).ID: return 9219; - case Beetroots::Beetroots(1).ID: return 9220; - case Beetroots::Beetroots(2).ID: return 9221; - case Beetroots::Beetroots(3).ID: return 9222; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 14854; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 14855; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 14856; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 14857; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 14858; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 14859; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 14860; - case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 14861; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 14862; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 14863; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 14864; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 14865; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 14866; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 14867; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 14868; - case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 14869; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 14870; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 14871; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 14872; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 14873; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, true).ID: return 14874; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 14875; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, true).ID: return 14876; - case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 14877; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 14878; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 14879; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 14880; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 14881; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, true).ID: return 14882; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 14883; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, true).ID: return 14884; - case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 14885; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6394; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6395; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6396; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6397; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6398; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6399; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6400; - case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6401; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6402; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6403; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6404; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6405; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6406; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6407; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6408; - case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6409; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6410; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6411; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6412; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6413; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6414; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6415; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6416; - case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6417; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8802; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8803; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8804; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8805; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8806; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8807; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8808; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8809; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8810; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8811; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8812; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8813; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8814; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8815; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8816; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8817; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8818; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8819; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8820; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8821; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8822; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8823; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8824; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8825; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8826; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8827; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8828; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8829; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8830; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8831; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8832; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8833; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8834; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8835; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8836; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8837; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8838; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8839; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8840; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8841; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8842; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8843; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8844; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8845; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8846; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8847; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8848; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8849; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true).ID: return 8850; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, false).ID: return 8851; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true).ID: return 8852; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false).ID: return 8853; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, true).ID: return 8854; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, true, false).ID: return 8855; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true).ID: return 8856; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false).ID: return 8857; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true).ID: return 8858; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, false).ID: return 8859; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, true).ID: return 8860; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, false, false).ID: return 8861; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, true).ID: return 8862; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false).ID: return 8863; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, true).ID: return 8864; - case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false).ID: return 8865; - case BirchFence::BirchFence(true, true, true, true).ID: return 8612; - case BirchFence::BirchFence(true, true, true, false).ID: return 8613; - case BirchFence::BirchFence(true, true, false, true).ID: return 8616; - case BirchFence::BirchFence(true, true, false, false).ID: return 8617; - case BirchFence::BirchFence(true, false, true, true).ID: return 8620; - case BirchFence::BirchFence(true, false, true, false).ID: return 8621; - case BirchFence::BirchFence(true, false, false, true).ID: return 8624; - case BirchFence::BirchFence(true, false, false, false).ID: return 8625; - case BirchFence::BirchFence(false, true, true, true).ID: return 8628; - case BirchFence::BirchFence(false, true, true, false).ID: return 8629; - case BirchFence::BirchFence(false, true, false, true).ID: return 8632; - case BirchFence::BirchFence(false, true, false, false).ID: return 8633; - case BirchFence::BirchFence(false, false, true, true).ID: return 8636; - case BirchFence::BirchFence(false, false, true, false).ID: return 8637; - case BirchFence::BirchFence(false, false, false, true).ID: return 8640; - case BirchFence::BirchFence(false, false, false, false).ID: return 8641; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8450; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8451; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8452; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8453; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8454; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8455; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8456; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8457; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8458; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8459; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8460; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8461; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8462; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8463; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8464; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8465; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8466; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8467; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8468; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8469; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8470; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8471; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8472; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8473; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8474; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8475; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8476; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8477; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8478; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8479; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8480; - case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8481; - case BirchLeaves::BirchLeaves(1, true).ID: return 173; - case BirchLeaves::BirchLeaves(1, false).ID: return 174; - case BirchLeaves::BirchLeaves(2, true).ID: return 175; - case BirchLeaves::BirchLeaves(2, false).ID: return 176; - case BirchLeaves::BirchLeaves(3, true).ID: return 177; - case BirchLeaves::BirchLeaves(3, false).ID: return 178; - case BirchLeaves::BirchLeaves(4, true).ID: return 179; - case BirchLeaves::BirchLeaves(4, false).ID: return 180; - case BirchLeaves::BirchLeaves(5, true).ID: return 181; - case BirchLeaves::BirchLeaves(5, false).ID: return 182; - case BirchLeaves::BirchLeaves(6, true).ID: return 183; - case BirchLeaves::BirchLeaves(6, false).ID: return 184; - case BirchLeaves::BirchLeaves(7, true).ID: return 185; - case BirchLeaves::BirchLeaves(7, false).ID: return 186; - case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 79; - case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 80; - case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 81; - case BirchPlanks::BirchPlanks().ID: return 17; - case BirchPressurePlate::BirchPressurePlate(true).ID: return 3877; - case BirchPressurePlate::BirchPressurePlate(false).ID: return 3878; - case BirchSapling::BirchSapling(0).ID: return 25; - case BirchSapling::BirchSapling(1).ID: return 26; - case BirchSign::BirchSign(0).ID: return 3446; - case BirchSign::BirchSign(1).ID: return 3448; - case BirchSign::BirchSign(2).ID: return 3450; - case BirchSign::BirchSign(3).ID: return 3452; - case BirchSign::BirchSign(4).ID: return 3454; - case BirchSign::BirchSign(5).ID: return 3456; - case BirchSign::BirchSign(6).ID: return 3458; - case BirchSign::BirchSign(7).ID: return 3460; - case BirchSign::BirchSign(8).ID: return 3462; - case BirchSign::BirchSign(9).ID: return 3464; - case BirchSign::BirchSign(10).ID: return 3466; - case BirchSign::BirchSign(11).ID: return 3468; - case BirchSign::BirchSign(12).ID: return 3470; - case BirchSign::BirchSign(13).ID: return 3472; - case BirchSign::BirchSign(14).ID: return 3474; - case BirchSign::BirchSign(15).ID: return 3476; - case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 8313; - case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 8315; - case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 8317; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5485; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5487; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5489; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5491; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5493; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5495; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5497; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5499; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5501; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5503; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5505; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5507; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5509; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5511; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5513; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5515; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5517; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5519; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5521; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5523; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5525; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5527; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5529; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5531; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5533; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5535; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5537; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5539; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5541; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5543; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight).ID: return 5545; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft).ID: return 5547; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight).ID: return 5549; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft).ID: return 5551; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight).ID: return 5553; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight).ID: return 5555; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerLeft).ID: return 5557; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::InnerRight).ID: return 5559; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterLeft).ID: return 5561; - case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::OuterRight).ID: return 5563; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: return 4240; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: return 4242; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: return 4244; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: return 4246; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: return 4248; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: return 4250; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: return 4252; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: return 4254; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: return 4256; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: return 4258; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: return 4260; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: return 4262; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: return 4264; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: return 4266; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: return 4268; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: return 4270; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: return 4272; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: return 4274; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: return 4276; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: return 4278; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: return 4280; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: return 4282; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: return 4284; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: return 4286; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: return 4288; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: return 4290; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: return 4292; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: return 4294; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: return 4296; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: return 4298; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: return 4300; - case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: return 4302; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3752; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3754; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3756; - case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3758; - case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 115; - case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 116; - case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 117; - case BlackBanner::BlackBanner(0).ID: return 8137; - case BlackBanner::BlackBanner(1).ID: return 8138; - case BlackBanner::BlackBanner(2).ID: return 8139; - case BlackBanner::BlackBanner(3).ID: return 8140; - case BlackBanner::BlackBanner(4).ID: return 8141; - case BlackBanner::BlackBanner(5).ID: return 8142; - case BlackBanner::BlackBanner(6).ID: return 8143; - case BlackBanner::BlackBanner(7).ID: return 8144; - case BlackBanner::BlackBanner(8).ID: return 8145; - case BlackBanner::BlackBanner(9).ID: return 8146; - case BlackBanner::BlackBanner(10).ID: return 8147; - case BlackBanner::BlackBanner(11).ID: return 8148; - case BlackBanner::BlackBanner(12).ID: return 8149; - case BlackBanner::BlackBanner(13).ID: return 8150; - case BlackBanner::BlackBanner(14).ID: return 8151; - case BlackBanner::BlackBanner(15).ID: return 8152; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 1289; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 1290; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 1291; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 1292; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 1293; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 1294; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 1295; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 1296; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 1297; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 1298; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 1299; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 1300; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1301; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1302; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1303; - case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1304; - case BlackCarpet::BlackCarpet().ID: return 7881; - case BlackConcrete::BlackConcrete().ID: return 9453; - case BlackConcretePowder::BlackConcretePowder().ID: return 9469; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9434; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9435; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9436; - case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9437; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9368; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9369; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9370; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9371; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9372; - case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9373; - case BlackStainedGlass::BlackStainedGlass().ID: return 4110; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 7345; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 7346; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 7349; - case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 7350; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 7353; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 7354; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 7357; - case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 7358; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 7361; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 7362; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 7365; - case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 7366; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 7369; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 7370; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 7373; - case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 7374; - case BlackTerracotta::BlackTerracotta().ID: return 6862; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8213; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8214; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8215; - case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8216; - case BlackWool::BlackWool().ID: return 1399; - case Blackstone::Blackstone().ID: return 15839; - case BlackstoneSlab::BlackstoneSlab(BlackstoneSlab::Type::Top).ID: return 16245; - case BlackstoneSlab::BlackstoneSlab(BlackstoneSlab::Type::Bottom).ID: return 16247; - case BlackstoneSlab::BlackstoneSlab(BlackstoneSlab::Type::Double).ID: return 16249; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::Straight).ID: return 15841; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::InnerLeft).ID: return 15843; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::InnerRight).ID: return 15845; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::OuterLeft).ID: return 15847; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::OuterRight).ID: return 15849; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::Straight).ID: return 15851; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::InnerLeft).ID: return 15853; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::InnerRight).ID: return 15855; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::OuterLeft).ID: return 15857; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::OuterRight).ID: return 15859; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::Straight).ID: return 15861; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::InnerLeft).ID: return 15863; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::InnerRight).ID: return 15865; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::OuterLeft).ID: return 15867; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::OuterRight).ID: return 15869; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::Straight).ID: return 15871; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::InnerLeft).ID: return 15873; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::InnerRight).ID: return 15875; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::OuterLeft).ID: return 15877; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::OuterRight).ID: return 15879; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::Straight).ID: return 15881; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::InnerLeft).ID: return 15883; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::InnerRight).ID: return 15885; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::OuterLeft).ID: return 15887; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::OuterRight).ID: return 15889; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::Straight).ID: return 15891; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::InnerLeft).ID: return 15893; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::InnerRight).ID: return 15895; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::OuterLeft).ID: return 15897; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XM, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::OuterRight).ID: return 15899; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::Straight).ID: return 15901; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::InnerLeft).ID: return 15903; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::InnerRight).ID: return 15905; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::OuterLeft).ID: return 15907; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Top, BlackstoneStairs::Shape::OuterRight).ID: return 15909; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::Straight).ID: return 15911; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::InnerLeft).ID: return 15913; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::InnerRight).ID: return 15915; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::OuterLeft).ID: return 15917; - case BlackstoneStairs::BlackstoneStairs(eBlockFace::BLOCK_FACE_XP, BlackstoneStairs::Half::Bottom, BlackstoneStairs::Shape::OuterRight).ID: return 15919; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 15923; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 15924; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 15925; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 15929; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 15930; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 15931; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 15935; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 15936; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 15937; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 15941; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 15942; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 15943; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 15947; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 15948; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 15949; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 15953; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 15954; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 15955; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 15959; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 15960; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 15961; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 15965; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 15966; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 15967; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 15971; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 15972; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 15973; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 15977; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 15978; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 15979; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 15983; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 15984; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 15985; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 15989; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 15990; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 15991; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 15995; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 15996; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 15997; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 16001; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 16002; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 16003; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 16007; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 16008; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 16009; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 16013; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 16014; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 16015; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 16019; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 16020; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 16021; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 16025; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 16026; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::None, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 16027; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 16031; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 16032; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 16033; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 16037; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 16038; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 16039; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 16043; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 16044; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 16045; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 16049; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 16050; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 16051; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 16055; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 16056; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 16057; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 16061; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 16062; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 16063; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 16067; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 16068; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 16069; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 16073; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 16074; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 16075; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 16079; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 16080; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 16081; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 16085; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 16086; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 16087; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 16091; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 16092; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 16093; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 16097; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 16098; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 16099; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 16103; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 16104; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 16105; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 16109; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 16110; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 16111; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 16115; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 16116; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 16117; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 16121; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 16122; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 16123; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 16127; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 16128; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 16129; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 16133; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 16134; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Low, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 16135; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 16139; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 16140; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 16141; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 16145; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 16146; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 16147; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 16151; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 16152; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 16153; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 16157; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 16158; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 16159; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 16163; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 16164; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 16165; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 16169; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 16170; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::None, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 16171; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 16175; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 16176; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 16177; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 16181; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 16182; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 16183; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 16187; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 16188; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 16189; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 16193; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 16194; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 16195; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 16199; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 16200; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 16201; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 16205; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 16206; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Low, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 16207; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::None).ID: return 16211; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::Low).ID: return 16212; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::None, true, BlackstoneWall::West::Tall).ID: return 16213; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::None).ID: return 16217; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::Low).ID: return 16218; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::None, false, BlackstoneWall::West::Tall).ID: return 16219; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::None).ID: return 16223; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::Low).ID: return 16224; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, true, BlackstoneWall::West::Tall).ID: return 16225; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::None).ID: return 16229; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::Low).ID: return 16230; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Low, false, BlackstoneWall::West::Tall).ID: return 16231; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::None).ID: return 16235; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Low).ID: return 16236; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, true, BlackstoneWall::West::Tall).ID: return 16237; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::None).ID: return 16241; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Low).ID: return 16242; - case BlackstoneWall::BlackstoneWall(BlackstoneWall::East::Tall, BlackstoneWall::North::Tall, BlackstoneWall::South::Tall, false, BlackstoneWall::West::Tall).ID: return 16243; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 14811; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 14812; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 14813; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 14814; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 14815; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 14816; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 14817; - case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 14818; - case BlueBanner::BlueBanner(0).ID: return 8073; - case BlueBanner::BlueBanner(1).ID: return 8074; - case BlueBanner::BlueBanner(2).ID: return 8075; - case BlueBanner::BlueBanner(3).ID: return 8076; - case BlueBanner::BlueBanner(4).ID: return 8077; - case BlueBanner::BlueBanner(5).ID: return 8078; - case BlueBanner::BlueBanner(6).ID: return 8079; - case BlueBanner::BlueBanner(7).ID: return 8080; - case BlueBanner::BlueBanner(8).ID: return 8081; - case BlueBanner::BlueBanner(9).ID: return 8082; - case BlueBanner::BlueBanner(10).ID: return 8083; - case BlueBanner::BlueBanner(11).ID: return 8084; - case BlueBanner::BlueBanner(12).ID: return 8085; - case BlueBanner::BlueBanner(13).ID: return 8086; - case BlueBanner::BlueBanner(14).ID: return 8087; - case BlueBanner::BlueBanner(15).ID: return 8088; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 1225; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 1226; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 1227; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 1228; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 1229; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 1230; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 1231; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 1232; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 1233; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 1234; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 1235; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 1236; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 1237; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 1238; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 1239; - case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 1240; - case BlueCarpet::BlueCarpet().ID: return 7877; - case BlueConcrete::BlueConcrete().ID: return 9449; - case BlueConcretePowder::BlueConcretePowder().ID: return 9465; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9418; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9419; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9420; - case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9421; - case BlueIce::BlueIce().ID: return 9648; - case BlueOrchid::BlueOrchid().ID: return 1414; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9344; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9345; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9346; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9347; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9348; - case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9349; - case BlueStainedGlass::BlueStainedGlass().ID: return 4106; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 7217; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 7218; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 7221; - case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 7222; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 7225; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 7226; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 7229; - case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 7230; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 7233; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 7234; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 7237; - case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 7238; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 7241; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 7242; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 7245; - case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 7246; - case BlueTerracotta::BlueTerracotta().ID: return 6858; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8197; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8198; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8199; - case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8200; - case BlueWool::BlueWool().ID: return 1395; - case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 9256; - case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 9257; - case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 9258; - case Bookshelf::Bookshelf().ID: return 1432; - case BrainCoral::BrainCoral().ID: return 9533; - case BrainCoralBlock::BrainCoralBlock().ID: return 9516; - case BrainCoralFan::BrainCoralFan().ID: return 9553; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9609; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9611; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9613; - case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9615; - case BrewingStand::BrewingStand(true, true, true).ID: return 5133; - case BrewingStand::BrewingStand(true, true, false).ID: return 5134; - case BrewingStand::BrewingStand(true, false, true).ID: return 5135; - case BrewingStand::BrewingStand(true, false, false).ID: return 5136; - case BrewingStand::BrewingStand(false, true, true).ID: return 5137; - case BrewingStand::BrewingStand(false, true, false).ID: return 5138; - case BrewingStand::BrewingStand(false, false, true).ID: return 5139; - case BrewingStand::BrewingStand(false, false, false).ID: return 5140; - case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 8373; - case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 8375; - case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 8377; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4853; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4855; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4857; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4859; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4861; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4863; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4865; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4867; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4869; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4871; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4873; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4875; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4877; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4879; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4881; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4883; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4885; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4887; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4889; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4891; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4893; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4895; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4897; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4899; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4901; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4903; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4905; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4907; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4909; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4911; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight).ID: return 4913; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft).ID: return 4915; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight).ID: return 4917; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft).ID: return 4919; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight).ID: return 4921; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight).ID: return 4923; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerLeft).ID: return 4925; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::InnerRight).ID: return 4927; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterLeft).ID: return 4929; - case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::OuterRight).ID: return 4931; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::None).ID: return 10870; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10871; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 10872; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::None).ID: return 10876; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10877; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 10878; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10882; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10883; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 10884; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10888; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10889; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 10890; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 10894; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 10895; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 10896; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 10900; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 10901; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 10902; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::None).ID: return 10906; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10907; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 10908; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::None).ID: return 10912; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10913; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 10914; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10918; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10919; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 10920; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10924; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10925; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 10926; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 10930; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 10931; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 10932; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 10936; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 10937; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 10938; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::None).ID: return 10942; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10943; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 10944; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::None).ID: return 10948; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10949; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 10950; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10954; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10955; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 10956; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10960; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10961; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 10962; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 10966; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 10967; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 10968; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 10972; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 10973; - case BrickWall::BrickWall(BrickWall::East::None, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 10974; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::None).ID: return 10978; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Low).ID: return 10979; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 10980; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::None).ID: return 10984; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Low).ID: return 10985; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 10986; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::None).ID: return 10990; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 10991; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 10992; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::None).ID: return 10996; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 10997; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 10998; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 11002; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 11003; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 11004; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 11008; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 11009; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 11010; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::None).ID: return 11014; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Low).ID: return 11015; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 11016; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::None).ID: return 11020; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Low).ID: return 11021; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 11022; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::None).ID: return 11026; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 11027; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 11028; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::None).ID: return 11032; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 11033; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 11034; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 11038; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 11039; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 11040; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 11044; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 11045; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 11046; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::None).ID: return 11050; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::Low).ID: return 11051; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 11052; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::None).ID: return 11056; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::Low).ID: return 11057; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 11058; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::None).ID: return 11062; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 11063; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 11064; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::None).ID: return 11068; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 11069; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 11070; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 11074; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 11075; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 11076; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 11080; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 11081; - case BrickWall::BrickWall(BrickWall::East::Low, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 11082; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::None).ID: return 11086; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Low).ID: return 11087; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 11088; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::None).ID: return 11092; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Low).ID: return 11093; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 11094; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::None).ID: return 11098; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 11099; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 11100; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::None).ID: return 11104; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 11105; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 11106; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 11110; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 11111; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 11112; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 11116; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 11117; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::None, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 11118; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::None).ID: return 11122; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Low).ID: return 11123; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 11124; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::None).ID: return 11128; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Low).ID: return 11129; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 11130; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::None).ID: return 11134; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 11135; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 11136; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::None).ID: return 11140; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 11141; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 11142; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 11146; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 11147; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 11148; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 11152; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 11153; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Low, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 11154; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::None).ID: return 11158; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::Low).ID: return 11159; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::None, true, BrickWall::West::Tall).ID: return 11160; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::None).ID: return 11164; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::Low).ID: return 11165; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::None, false, BrickWall::West::Tall).ID: return 11166; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::None).ID: return 11170; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::Low).ID: return 11171; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Low, true, BrickWall::West::Tall).ID: return 11172; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::None).ID: return 11176; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::Low).ID: return 11177; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Low, false, BrickWall::West::Tall).ID: return 11178; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::None).ID: return 11182; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::Low).ID: return 11183; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Tall, true, BrickWall::West::Tall).ID: return 11184; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::None).ID: return 11188; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::Low).ID: return 11189; - case BrickWall::BrickWall(BrickWall::East::Tall, BrickWall::North::Tall, BrickWall::South::Tall, false, BrickWall::West::Tall).ID: return 11190; - case Bricks::Bricks().ID: return 1429; - case BrownBanner::BrownBanner(0).ID: return 8089; - case BrownBanner::BrownBanner(1).ID: return 8090; - case BrownBanner::BrownBanner(2).ID: return 8091; - case BrownBanner::BrownBanner(3).ID: return 8092; - case BrownBanner::BrownBanner(4).ID: return 8093; - case BrownBanner::BrownBanner(5).ID: return 8094; - case BrownBanner::BrownBanner(6).ID: return 8095; - case BrownBanner::BrownBanner(7).ID: return 8096; - case BrownBanner::BrownBanner(8).ID: return 8097; - case BrownBanner::BrownBanner(9).ID: return 8098; - case BrownBanner::BrownBanner(10).ID: return 8099; - case BrownBanner::BrownBanner(11).ID: return 8100; - case BrownBanner::BrownBanner(12).ID: return 8101; - case BrownBanner::BrownBanner(13).ID: return 8102; - case BrownBanner::BrownBanner(14).ID: return 8103; - case BrownBanner::BrownBanner(15).ID: return 8104; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 1241; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 1242; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 1243; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 1244; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 1245; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 1246; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 1247; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 1248; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 1249; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 1250; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 1251; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 1252; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 1253; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 1254; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 1255; - case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 1256; - case BrownCarpet::BrownCarpet().ID: return 7878; - case BrownConcrete::BrownConcrete().ID: return 9450; - case BrownConcretePowder::BrownConcretePowder().ID: return 9466; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9422; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9423; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9424; - case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9425; - case BrownMushroom::BrownMushroom().ID: return 1425; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 4505; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 4506; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 4507; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 4508; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 4509; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 4510; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 4511; - case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 4512; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 4513; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 4514; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 4515; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 4516; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 4517; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4518; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4519; - case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4520; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4521; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4522; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4523; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4524; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4525; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4526; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4527; - case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4528; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4529; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4530; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4531; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4532; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4533; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4534; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4535; - case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4536; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4537; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4538; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4539; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4540; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4541; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4542; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4543; - case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4544; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4545; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4546; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4547; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4548; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4549; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4550; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4551; - case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4552; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4553; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4554; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4555; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4556; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4557; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4558; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4559; - case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4560; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4561; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4562; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4563; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4564; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4565; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4566; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4567; - case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4568; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9350; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9351; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9352; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9353; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9354; - case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9355; - case BrownStainedGlass::BrownStainedGlass().ID: return 4107; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 7249; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 7250; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 7253; - case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 7254; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 7257; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 7258; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 7261; - case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 7262; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 7265; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 7266; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 7269; - case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 7270; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 7273; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 7274; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 7277; - case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 7278; - case BrownTerracotta::BrownTerracotta().ID: return 6859; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8201; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8202; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8203; - case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8204; - case BrownWool::BrownWool().ID: return 1396; - case BubbleColumn::BubbleColumn(true).ID: return 9667; - case BubbleColumn::BubbleColumn(false).ID: return 9668; - case BubbleCoral::BubbleCoral().ID: return 9535; - case BubbleCoralBlock::BubbleCoralBlock().ID: return 9517; - case BubbleCoralFan::BubbleCoralFan().ID: return 9555; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9617; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9619; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9621; - case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9623; - case Cactus::Cactus(0).ID: return 3931; - case Cactus::Cactus(1).ID: return 3932; - case Cactus::Cactus(2).ID: return 3933; - case Cactus::Cactus(3).ID: return 3934; - case Cactus::Cactus(4).ID: return 3935; - case Cactus::Cactus(5).ID: return 3936; - case Cactus::Cactus(6).ID: return 3937; - case Cactus::Cactus(7).ID: return 3938; - case Cactus::Cactus(8).ID: return 3939; - case Cactus::Cactus(9).ID: return 3940; - case Cactus::Cactus(10).ID: return 3941; - case Cactus::Cactus(11).ID: return 3942; - case Cactus::Cactus(12).ID: return 3943; - case Cactus::Cactus(13).ID: return 3944; - case Cactus::Cactus(14).ID: return 3945; - case Cactus::Cactus(15).ID: return 3946; - case Cake::Cake(0).ID: return 4024; - case Cake::Cake(1).ID: return 4025; - case Cake::Cake(2).ID: return 4026; - case Cake::Cake(3).ID: return 4027; - case Cake::Cake(4).ID: return 4028; - case Cake::Cake(5).ID: return 4029; - case Cake::Cake(6).ID: return 4030; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 14891; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 14893; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 14895; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 14897; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 14899; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 14901; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 14903; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 14905; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 14907; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 14909; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 14911; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 14913; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 14915; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 14917; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 14919; - case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 14921; - case Carrots::Carrots(0).ID: return 6330; - case Carrots::Carrots(1).ID: return 6331; - case Carrots::Carrots(2).ID: return 6332; - case Carrots::Carrots(3).ID: return 6333; - case Carrots::Carrots(4).ID: return 6334; - case Carrots::Carrots(5).ID: return 6335; - case Carrots::Carrots(6).ID: return 6336; - case Carrots::Carrots(7).ID: return 6337; - case CartographyTable::CartographyTable().ID: return 14819; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 4016; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 4017; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 4018; - case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 4019; - case Cauldron::Cauldron(0).ID: return 5141; - case Cauldron::Cauldron(1).ID: return 5142; - case Cauldron::Cauldron(2).ID: return 5143; - case Cauldron::Cauldron(3).ID: return 5144; - case CaveAir::CaveAir().ID: return 9666; - case Chain::Chain().ID: return 4730; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 9237; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 9238; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 9239; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 9240; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 9241; - case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 9242; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 9243; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 9244; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 9245; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 9246; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 9247; - case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 9248; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 2035; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 2037; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 2039; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 2041; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 2043; - case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 2045; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 2047; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 2049; - case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 2051; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 2053; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 2055; - case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 2057; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6614; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6615; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6616; - case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6617; - case ChiseledNetherBricks::ChiseledNetherBricks().ID: return 17101; - case ChiseledPolishedBlackstone::ChiseledPolishedBlackstone().ID: return 16253; - case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 6739; - case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 8218; - case ChiseledSandstone::ChiseledSandstone().ID: return 247; - case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 4498; - case ChorusFlower::ChorusFlower(0).ID: return 9128; - case ChorusFlower::ChorusFlower(1).ID: return 9129; - case ChorusFlower::ChorusFlower(2).ID: return 9130; - case ChorusFlower::ChorusFlower(3).ID: return 9131; - case ChorusFlower::ChorusFlower(4).ID: return 9132; - case ChorusFlower::ChorusFlower(5).ID: return 9133; - case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 9064; - case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 9065; - case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 9066; - case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 9067; - case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 9068; - case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 9069; - case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 9070; - case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 9071; - case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 9072; - case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 9073; - case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 9074; - case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 9075; - case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 9076; - case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 9077; - case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 9078; - case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 9079; - case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 9080; - case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 9081; - case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 9082; - case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 9083; - case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 9084; - case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 9085; - case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 9086; - case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 9087; - case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 9088; - case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 9089; - case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 9090; - case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 9091; - case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 9092; - case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 9093; - case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 9094; - case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 9095; - case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 9096; - case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 9097; - case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 9098; - case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 9099; - case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 9100; - case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 9101; - case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 9102; - case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 9103; - case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 9104; - case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 9105; - case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 9106; - case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 9107; - case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 9108; - case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 9109; - case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 9110; - case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 9111; - case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 9112; - case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 9113; - case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 9114; - case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 9115; - case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 9116; - case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 9117; - case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 9118; - case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 9119; - case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 9120; - case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 9121; - case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 9122; - case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 9123; - case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 9124; - case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 9125; - case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 9126; - case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 9127; - case Clay::Clay().ID: return 3947; - case CoalBlock::CoalBlock().ID: return 7883; - case CoalOre::CoalOre().ID: return 71; - case CoarseDirt::CoarseDirt().ID: return 11; - case Cobblestone::Cobblestone().ID: return 14; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 8367; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 8369; - case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 8371; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3656; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3658; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3660; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3662; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3664; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3666; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3668; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3670; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3672; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3674; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3676; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3678; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3680; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3682; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3684; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3686; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3688; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3690; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3692; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3694; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3696; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3698; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3700; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3702; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3704; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3706; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3708; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3710; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3712; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3714; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight).ID: return 3716; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerLeft).ID: return 3718; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::InnerRight).ID: return 3720; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterLeft).ID: return 3722; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::OuterRight).ID: return 3724; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight).ID: return 3726; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerLeft).ID: return 3728; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::InnerRight).ID: return 3730; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterLeft).ID: return 3732; - case CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::OuterRight).ID: return 3734; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5660; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5661; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5662; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5666; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5667; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5668; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5672; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5673; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5674; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5678; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5679; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5680; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5684; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5685; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5686; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5690; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5691; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5692; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5696; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5697; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5698; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5702; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5703; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5704; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5708; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5709; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5710; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5714; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5715; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5716; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5720; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5721; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5722; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5726; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5727; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5728; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5732; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5733; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5734; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5738; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5739; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5740; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5744; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5745; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5746; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5750; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5751; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5752; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5756; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5757; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5758; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5762; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5763; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5764; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5768; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5769; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5770; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5774; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5775; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5776; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5780; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5781; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5782; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5786; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5787; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5788; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5792; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5793; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5794; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5798; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5799; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5800; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5804; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5805; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5806; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5810; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5811; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5812; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5816; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5817; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5818; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5822; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5823; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5824; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5828; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5829; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5830; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5834; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5835; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5836; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5840; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5841; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5842; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5846; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5847; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5848; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5852; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5853; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5854; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5858; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5859; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5860; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5864; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5865; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5866; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5870; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5871; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Low, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5872; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5876; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5877; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5878; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5882; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5883; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5884; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5888; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5889; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5890; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5894; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5895; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5896; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5900; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5901; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5902; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5906; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5907; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::None, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5908; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5912; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5913; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5914; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5918; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5919; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5920; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5924; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5925; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5926; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5930; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5931; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5932; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5936; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5937; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5938; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5942; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5943; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Low, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5944; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::None).ID: return 5948; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::Low).ID: return 5949; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::None, true, CobblestoneWall::West::Tall).ID: return 5950; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::None).ID: return 5954; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::Low).ID: return 5955; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::None, false, CobblestoneWall::West::Tall).ID: return 5956; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::None).ID: return 5960; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::Low).ID: return 5961; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, true, CobblestoneWall::West::Tall).ID: return 5962; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::None).ID: return 5966; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::Low).ID: return 5967; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Low, false, CobblestoneWall::West::Tall).ID: return 5968; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::None).ID: return 5972; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Low).ID: return 5973; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, true, CobblestoneWall::West::Tall).ID: return 5974; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::None).ID: return 5978; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Low).ID: return 5979; - case CobblestoneWall::CobblestoneWall(CobblestoneWall::East::Tall, CobblestoneWall::North::Tall, CobblestoneWall::South::Tall, false, CobblestoneWall::West::Tall).ID: return 5980; - case Cobweb::Cobweb().ID: return 1341; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 5158; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 5159; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 5160; - case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 5161; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 5162; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 5163; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 5164; - case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 5165; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 5166; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 5167; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 5168; - case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 5169; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5644; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5645; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5646; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5647; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5648; - case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5649; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5650; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5651; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5652; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5653; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5654; - case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5655; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 6678; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 6679; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 6680; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 6681; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 6682; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 6683; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 6684; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 6685; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 6686; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 6687; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 6688; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 6689; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 6690; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 6691; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 6692; - case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 6693; - case Composter::Composter(0).ID: return 15751; - case Composter::Composter(1).ID: return 15752; - case Composter::Composter(2).ID: return 15753; - case Composter::Composter(3).ID: return 15754; - case Composter::Composter(4).ID: return 15755; - case Composter::Composter(5).ID: return 15756; - case Composter::Composter(6).ID: return 15757; - case Composter::Composter(7).ID: return 15758; - case Composter::Composter(8).ID: return 15759; - case Conduit::Conduit().ID: return 9650; - case Cornflower::Cornflower().ID: return 1422; - case CrackedNetherBricks::CrackedNetherBricks().ID: return 17102; - case CrackedPolishedBlackstoneBricks::CrackedPolishedBlackstoneBricks().ID: return 16252; - case CrackedStoneBricks::CrackedStoneBricks().ID: return 4497; - case CraftingTable::CraftingTable().ID: return 3356; - case CreeperHead::CreeperHead(0).ID: return 6570; - case CreeperHead::CreeperHead(1).ID: return 6571; - case CreeperHead::CreeperHead(2).ID: return 6572; - case CreeperHead::CreeperHead(3).ID: return 6573; - case CreeperHead::CreeperHead(4).ID: return 6574; - case CreeperHead::CreeperHead(5).ID: return 6575; - case CreeperHead::CreeperHead(6).ID: return 6576; - case CreeperHead::CreeperHead(7).ID: return 6577; - case CreeperHead::CreeperHead(8).ID: return 6578; - case CreeperHead::CreeperHead(9).ID: return 6579; - case CreeperHead::CreeperHead(10).ID: return 6580; - case CreeperHead::CreeperHead(11).ID: return 6581; - case CreeperHead::CreeperHead(12).ID: return 6582; - case CreeperHead::CreeperHead(13).ID: return 6583; - case CreeperHead::CreeperHead(14).ID: return 6584; - case CreeperHead::CreeperHead(15).ID: return 6585; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6586; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6587; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6588; - case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6589; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15479; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15480; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15481; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15482; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 15483; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 15484; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 15485; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 15486; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15487; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15488; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15489; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15490; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 15491; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 15492; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 15493; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 15494; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15495; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15496; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15497; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15498; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 15499; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 15500; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 15501; - case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 15502; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, true, true).ID: return 15527; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, true, false).ID: return 15528; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, false, true).ID: return 15529; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, false, false).ID: return 15530; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, true, true).ID: return 15531; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, true, false).ID: return 15532; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, false, true).ID: return 15533; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, false, false).ID: return 15534; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, true, true).ID: return 15535; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, true, false).ID: return 15536; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, false, true).ID: return 15537; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, false, false).ID: return 15538; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, true, true).ID: return 15539; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, true, false).ID: return 15540; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, false, true).ID: return 15541; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, false, false).ID: return 15542; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, true, true).ID: return 15543; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, true, false).ID: return 15544; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, false, true).ID: return 15545; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, false, false).ID: return 15546; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, true, true).ID: return 15547; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, true, false).ID: return 15548; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, false, true).ID: return 15549; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, false, false).ID: return 15550; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, true, true).ID: return 15551; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, true, false).ID: return 15552; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, false, true).ID: return 15553; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, false, false).ID: return 15554; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, true, true).ID: return 15555; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, true, false).ID: return 15556; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, false, true).ID: return 15557; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_ZP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, false, false).ID: return 15558; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, true, true).ID: return 15559; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, true, false).ID: return 15560; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, false, true).ID: return 15561; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, false, false).ID: return 15562; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, true, true).ID: return 15563; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, true, false).ID: return 15564; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, false, true).ID: return 15565; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, false, false).ID: return 15566; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, true, true).ID: return 15567; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, true, false).ID: return 15568; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, false, true).ID: return 15569; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, false, false).ID: return 15570; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, true, true).ID: return 15571; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, true, false).ID: return 15572; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, false, true).ID: return 15573; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XM, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, false, false).ID: return 15574; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, true, true).ID: return 15575; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, true, false).ID: return 15576; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, false, true).ID: return 15577; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Left, false, false).ID: return 15578; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, true, true).ID: return 15579; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, true, false).ID: return 15580; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, false, true).ID: return 15581; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Upper, CrimsonDoor::Hinge::Right, false, false).ID: return 15582; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, true, true).ID: return 15583; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, true, false).ID: return 15584; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, false, true).ID: return 15585; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Left, false, false).ID: return 15586; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, true, true).ID: return 15587; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, true, false).ID: return 15588; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, false, true).ID: return 15589; - case CrimsonDoor::CrimsonDoor(eBlockFace::BLOCK_FACE_XP, CrimsonDoor::Half::Lower, CrimsonDoor::Hinge::Right, false, false).ID: return 15590; - case CrimsonFence::CrimsonFence(true, true, true, true).ID: return 15065; - case CrimsonFence::CrimsonFence(true, true, true, false).ID: return 15066; - case CrimsonFence::CrimsonFence(true, true, false, true).ID: return 15069; - case CrimsonFence::CrimsonFence(true, true, false, false).ID: return 15070; - case CrimsonFence::CrimsonFence(true, false, true, true).ID: return 15073; - case CrimsonFence::CrimsonFence(true, false, true, false).ID: return 15074; - case CrimsonFence::CrimsonFence(true, false, false, true).ID: return 15077; - case CrimsonFence::CrimsonFence(true, false, false, false).ID: return 15078; - case CrimsonFence::CrimsonFence(false, true, true, true).ID: return 15081; - case CrimsonFence::CrimsonFence(false, true, true, false).ID: return 15082; - case CrimsonFence::CrimsonFence(false, true, false, true).ID: return 15085; - case CrimsonFence::CrimsonFence(false, true, false, false).ID: return 15086; - case CrimsonFence::CrimsonFence(false, false, true, true).ID: return 15089; - case CrimsonFence::CrimsonFence(false, false, true, false).ID: return 15090; - case CrimsonFence::CrimsonFence(false, false, false, true).ID: return 15093; - case CrimsonFence::CrimsonFence(false, false, false, false).ID: return 15094; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 15255; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 15256; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 15257; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 15258; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 15259; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 15260; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 15261; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 15262; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 15263; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 15264; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 15265; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 15266; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 15267; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 15268; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 15269; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 15270; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 15271; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 15272; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 15273; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 15274; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 15275; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 15276; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 15277; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 15278; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 15279; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 15280; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 15281; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 15282; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 15283; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 15284; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 15285; - case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 15286; - case CrimsonFungus::CrimsonFungus().ID: return 14988; - case CrimsonHyphae::CrimsonHyphae(CrimsonHyphae::Axis::X).ID: return 14981; - case CrimsonHyphae::CrimsonHyphae(CrimsonHyphae::Axis::Y).ID: return 14982; - case CrimsonHyphae::CrimsonHyphae(CrimsonHyphae::Axis::Z).ID: return 14983; - case CrimsonNylium::CrimsonNylium().ID: return 14987; - case CrimsonPlanks::CrimsonPlanks().ID: return 15045; - case CrimsonPressurePlate::CrimsonPressurePlate(true).ID: return 15059; - case CrimsonPressurePlate::CrimsonPressurePlate(false).ID: return 15060; - case CrimsonRoots::CrimsonRoots().ID: return 15044; - case CrimsonSign::CrimsonSign(0).ID: return 15656; - case CrimsonSign::CrimsonSign(1).ID: return 15658; - case CrimsonSign::CrimsonSign(2).ID: return 15660; - case CrimsonSign::CrimsonSign(3).ID: return 15662; - case CrimsonSign::CrimsonSign(4).ID: return 15664; - case CrimsonSign::CrimsonSign(5).ID: return 15666; - case CrimsonSign::CrimsonSign(6).ID: return 15668; - case CrimsonSign::CrimsonSign(7).ID: return 15670; - case CrimsonSign::CrimsonSign(8).ID: return 15672; - case CrimsonSign::CrimsonSign(9).ID: return 15674; - case CrimsonSign::CrimsonSign(10).ID: return 15676; - case CrimsonSign::CrimsonSign(11).ID: return 15678; - case CrimsonSign::CrimsonSign(12).ID: return 15680; - case CrimsonSign::CrimsonSign(13).ID: return 15682; - case CrimsonSign::CrimsonSign(14).ID: return 15684; - case CrimsonSign::CrimsonSign(15).ID: return 15686; - case CrimsonSlab::CrimsonSlab(CrimsonSlab::Type::Top).ID: return 15048; - case CrimsonSlab::CrimsonSlab(CrimsonSlab::Type::Bottom).ID: return 15050; - case CrimsonSlab::CrimsonSlab(CrimsonSlab::Type::Double).ID: return 15052; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::Straight).ID: return 15320; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::InnerLeft).ID: return 15322; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::InnerRight).ID: return 15324; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::OuterLeft).ID: return 15326; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::OuterRight).ID: return 15328; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::Straight).ID: return 15330; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::InnerLeft).ID: return 15332; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::InnerRight).ID: return 15334; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::OuterLeft).ID: return 15336; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::OuterRight).ID: return 15338; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::Straight).ID: return 15340; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::InnerLeft).ID: return 15342; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::InnerRight).ID: return 15344; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::OuterLeft).ID: return 15346; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::OuterRight).ID: return 15348; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::Straight).ID: return 15350; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::InnerLeft).ID: return 15352; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::InnerRight).ID: return 15354; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::OuterLeft).ID: return 15356; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_ZP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::OuterRight).ID: return 15358; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::Straight).ID: return 15360; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::InnerLeft).ID: return 15362; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::InnerRight).ID: return 15364; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::OuterLeft).ID: return 15366; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Top, CrimsonStairs::Shape::OuterRight).ID: return 15368; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::Straight).ID: return 15370; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::InnerLeft).ID: return 15372; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::InnerRight).ID: return 15374; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::OuterLeft).ID: return 15376; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XM, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::OuterRight).ID: return 15378; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::Straight).ID: return 15380; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::InnerLeft).ID: return 15382; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::InnerRight).ID: return 15384; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::OuterLeft).ID: return 15386; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Top, CrimsonStairs::Shape::OuterRight).ID: return 15388; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::Straight).ID: return 15390; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::InnerLeft).ID: return 15392; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::InnerRight).ID: return 15394; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::OuterLeft).ID: return 15396; - case CrimsonStairs::CrimsonStairs(eBlockFace::BLOCK_FACE_XP, CrimsonStairs::Half::Bottom, CrimsonStairs::Shape::OuterRight).ID: return 15398; - case CrimsonStem::CrimsonStem(CrimsonStem::Axis::X).ID: return 14975; - case CrimsonStem::CrimsonStem(CrimsonStem::Axis::Y).ID: return 14976; - case CrimsonStem::CrimsonStem(CrimsonStem::Axis::Z).ID: return 14977; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Top, true, true).ID: return 15128; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Top, true, false).ID: return 15130; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Top, false, true).ID: return 15132; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Top, false, false).ID: return 15134; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Bottom, true, true).ID: return 15136; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Bottom, true, false).ID: return 15138; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Bottom, false, true).ID: return 15140; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Bottom, false, false).ID: return 15142; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Top, true, true).ID: return 15144; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Top, true, false).ID: return 15146; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Top, false, true).ID: return 15148; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Top, false, false).ID: return 15150; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Bottom, true, true).ID: return 15152; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Bottom, true, false).ID: return 15154; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Bottom, false, true).ID: return 15156; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Bottom, false, false).ID: return 15158; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Top, true, true).ID: return 15160; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Top, true, false).ID: return 15162; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Top, false, true).ID: return 15164; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Top, false, false).ID: return 15166; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Bottom, true, true).ID: return 15168; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Bottom, true, false).ID: return 15170; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Bottom, false, true).ID: return 15172; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Bottom, false, false).ID: return 15174; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Top, true, true).ID: return 15176; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Top, true, false).ID: return 15178; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Top, false, true).ID: return 15180; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Top, false, false).ID: return 15182; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Bottom, true, true).ID: return 15184; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Bottom, true, false).ID: return 15186; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Bottom, false, true).ID: return 15188; - case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Bottom, false, false).ID: return 15190; - case CrimsonWallSign::CrimsonWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 15720; - case CrimsonWallSign::CrimsonWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 15722; - case CrimsonWallSign::CrimsonWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 15724; - case CrimsonWallSign::CrimsonWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 15726; - case CryingObsidian::CryingObsidian().ID: return 15828; - case CutRedSandstone::CutRedSandstone().ID: return 8219; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Top).ID: return 8403; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Bottom).ID: return 8405; - case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Double).ID: return 8407; - case CutSandstone::CutSandstone().ID: return 248; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Top).ID: return 8355; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Bottom).ID: return 8357; - case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Double).ID: return 8359; - case CyanBanner::CyanBanner(0).ID: return 8041; - case CyanBanner::CyanBanner(1).ID: return 8042; - case CyanBanner::CyanBanner(2).ID: return 8043; - case CyanBanner::CyanBanner(3).ID: return 8044; - case CyanBanner::CyanBanner(4).ID: return 8045; - case CyanBanner::CyanBanner(5).ID: return 8046; - case CyanBanner::CyanBanner(6).ID: return 8047; - case CyanBanner::CyanBanner(7).ID: return 8048; - case CyanBanner::CyanBanner(8).ID: return 8049; - case CyanBanner::CyanBanner(9).ID: return 8050; - case CyanBanner::CyanBanner(10).ID: return 8051; - case CyanBanner::CyanBanner(11).ID: return 8052; - case CyanBanner::CyanBanner(12).ID: return 8053; - case CyanBanner::CyanBanner(13).ID: return 8054; - case CyanBanner::CyanBanner(14).ID: return 8055; - case CyanBanner::CyanBanner(15).ID: return 8056; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 1193; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 1194; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 1195; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 1196; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 1197; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 1198; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 1199; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 1200; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 1201; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 1202; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 1203; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 1204; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 1205; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 1206; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 1207; - case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 1208; - case CyanCarpet::CyanCarpet().ID: return 7875; - case CyanConcrete::CyanConcrete().ID: return 9447; - case CyanConcretePowder::CyanConcretePowder().ID: return 9463; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9410; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9411; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9412; - case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9413; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9332; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9333; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9334; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9335; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9336; - case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9337; - case CyanStainedGlass::CyanStainedGlass().ID: return 4104; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 7153; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 7154; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 7157; - case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 7158; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 7161; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 7162; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 7165; - case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 7166; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 7169; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 7170; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 7173; - case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 7174; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 7177; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 7178; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 7181; - case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 7182; - case CyanTerracotta::CyanTerracotta().ID: return 6856; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8189; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8190; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8191; - case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8192; - case CyanWool::CyanWool().ID: return 1393; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6618; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6619; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6620; - case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6621; - case Dandelion::Dandelion().ID: return 1412; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6466; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6467; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6468; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6469; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6470; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6471; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6472; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6473; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6474; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6475; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6476; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6477; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6478; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6479; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6480; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6481; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6482; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6483; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6484; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6485; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6486; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6487; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6488; - case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6489; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 8994; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 8995; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 8996; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 8997; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 8998; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 8999; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 9000; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 9001; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 9002; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 9003; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 9004; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 9005; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 9006; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 9007; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 9008; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 9009; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 9010; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 9011; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 9012; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 9013; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 9014; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 9015; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 9016; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 9017; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 9018; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 9019; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 9020; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 9021; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 9022; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 9023; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 9024; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 9025; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 9026; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 9027; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 9028; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 9029; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 9030; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 9031; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 9032; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 9033; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 9034; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 9035; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 9036; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 9037; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 9038; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 9039; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 9040; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 9041; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, true).ID: return 9042; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, true, false).ID: return 9043; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true).ID: return 9044; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false).ID: return 9045; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, true).ID: return 9046; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, true, false).ID: return 9047; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true).ID: return 9048; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false).ID: return 9049; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, true).ID: return 9050; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, true, false).ID: return 9051; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, true).ID: return 9052; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Left, false, false).ID: return 9053; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, true).ID: return 9054; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false).ID: return 9055; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, true).ID: return 9056; - case DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false).ID: return 9057; - case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 8708; - case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 8709; - case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 8712; - case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 8713; - case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 8716; - case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 8717; - case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 8720; - case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 8721; - case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 8724; - case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 8725; - case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 8728; - case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 8729; - case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 8732; - case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 8733; - case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 8736; - case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 8737; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8546; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8547; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8548; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8549; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8550; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8551; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8552; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8553; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8554; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8555; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8556; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8557; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8558; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8559; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8560; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8561; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8562; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8563; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8564; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8565; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8566; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8567; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8568; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8569; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8570; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8571; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8572; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8573; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8574; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8575; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8576; - case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8577; - case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 215; - case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 216; - case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 217; - case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 218; - case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 219; - case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 220; - case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 221; - case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 222; - case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 223; - case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 224; - case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 225; - case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 226; - case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 227; - case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 228; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 88; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 89; - case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 90; - case DarkOakPlanks::DarkOakPlanks().ID: return 20; - case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3883; - case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3884; - case DarkOakSapling::DarkOakSapling(0).ID: return 31; - case DarkOakSapling::DarkOakSapling(1).ID: return 32; - case DarkOakSign::DarkOakSign(0).ID: return 3542; - case DarkOakSign::DarkOakSign(1).ID: return 3544; - case DarkOakSign::DarkOakSign(2).ID: return 3546; - case DarkOakSign::DarkOakSign(3).ID: return 3548; - case DarkOakSign::DarkOakSign(4).ID: return 3550; - case DarkOakSign::DarkOakSign(5).ID: return 3552; - case DarkOakSign::DarkOakSign(6).ID: return 3554; - case DarkOakSign::DarkOakSign(7).ID: return 3556; - case DarkOakSign::DarkOakSign(8).ID: return 3558; - case DarkOakSign::DarkOakSign(9).ID: return 3560; - case DarkOakSign::DarkOakSign(10).ID: return 3562; - case DarkOakSign::DarkOakSign(11).ID: return 3564; - case DarkOakSign::DarkOakSign(12).ID: return 3566; - case DarkOakSign::DarkOakSign(13).ID: return 3568; - case DarkOakSign::DarkOakSign(14).ID: return 3570; - case DarkOakSign::DarkOakSign(15).ID: return 3572; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 8331; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 8333; - case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 8335; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 7456; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 7458; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 7460; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 7462; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 7464; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 7466; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 7468; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 7470; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 7472; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 7474; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 7476; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 7478; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 7480; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 7482; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 7484; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 7486; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 7488; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 7490; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 7492; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 7494; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 7496; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 7498; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 7500; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 7502; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 7504; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 7506; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 7508; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 7510; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 7512; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 7514; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight).ID: return 7516; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerLeft).ID: return 7518; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::InnerRight).ID: return 7520; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterLeft).ID: return 7522; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::OuterRight).ID: return 7524; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight).ID: return 7526; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerLeft).ID: return 7528; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::InnerRight).ID: return 7530; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterLeft).ID: return 7532; - case DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::OuterRight).ID: return 7534; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: return 4432; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: return 4434; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: return 4436; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: return 4438; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4440; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4442; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4444; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4446; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: return 4448; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: return 4450; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: return 4452; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: return 4454; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4456; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4458; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4460; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4462; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: return 4464; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: return 4466; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: return 4468; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: return 4470; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4472; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4474; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4476; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4478; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: return 4480; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: return 4482; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: return 4484; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: return 4486; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: return 4488; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: return 4490; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: return 4492; - case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false).ID: return 4494; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3776; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3778; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3780; - case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3782; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 124; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 125; - case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 126; - case DarkPrismarine::DarkPrismarine().ID: return 7603; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 7857; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 7859; - case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 7861; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7765; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7767; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7769; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7771; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7773; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7775; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7777; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7779; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7781; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7783; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7785; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7787; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7789; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7791; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7793; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7795; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7797; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7799; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7801; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_ZP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7803; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7805; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7807; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7809; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7811; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7813; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7815; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7817; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7819; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7821; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XM, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7823; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::Straight).ID: return 7825; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7827; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::InnerRight).ID: return 7829; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7831; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Top, DarkPrismarineStairs::Shape::OuterRight).ID: return 7833; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::Straight).ID: return 7835; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerLeft).ID: return 7837; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::InnerRight).ID: return 7839; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterLeft).ID: return 7841; - case DarkPrismarineStairs::DarkPrismarineStairs(eBlockFace::BLOCK_FACE_XP, DarkPrismarineStairs::Half::Bottom, DarkPrismarineStairs::Shape::OuterRight).ID: return 7843; - case DaylightDetector::DaylightDetector(true, 0).ID: return 6694; - case DaylightDetector::DaylightDetector(true, 1).ID: return 6695; - case DaylightDetector::DaylightDetector(true, 2).ID: return 6696; - case DaylightDetector::DaylightDetector(true, 3).ID: return 6697; - case DaylightDetector::DaylightDetector(true, 4).ID: return 6698; - case DaylightDetector::DaylightDetector(true, 5).ID: return 6699; - case DaylightDetector::DaylightDetector(true, 6).ID: return 6700; - case DaylightDetector::DaylightDetector(true, 7).ID: return 6701; - case DaylightDetector::DaylightDetector(true, 8).ID: return 6702; - case DaylightDetector::DaylightDetector(true, 9).ID: return 6703; - case DaylightDetector::DaylightDetector(true, 10).ID: return 6704; - case DaylightDetector::DaylightDetector(true, 11).ID: return 6705; - case DaylightDetector::DaylightDetector(true, 12).ID: return 6706; - case DaylightDetector::DaylightDetector(true, 13).ID: return 6707; - case DaylightDetector::DaylightDetector(true, 14).ID: return 6708; - case DaylightDetector::DaylightDetector(true, 15).ID: return 6709; - case DaylightDetector::DaylightDetector(false, 0).ID: return 6710; - case DaylightDetector::DaylightDetector(false, 1).ID: return 6711; - case DaylightDetector::DaylightDetector(false, 2).ID: return 6712; - case DaylightDetector::DaylightDetector(false, 3).ID: return 6713; - case DaylightDetector::DaylightDetector(false, 4).ID: return 6714; - case DaylightDetector::DaylightDetector(false, 5).ID: return 6715; - case DaylightDetector::DaylightDetector(false, 6).ID: return 6716; - case DaylightDetector::DaylightDetector(false, 7).ID: return 6717; - case DaylightDetector::DaylightDetector(false, 8).ID: return 6718; - case DaylightDetector::DaylightDetector(false, 9).ID: return 6719; - case DaylightDetector::DaylightDetector(false, 10).ID: return 6720; - case DaylightDetector::DaylightDetector(false, 11).ID: return 6721; - case DaylightDetector::DaylightDetector(false, 12).ID: return 6722; - case DaylightDetector::DaylightDetector(false, 13).ID: return 6723; - case DaylightDetector::DaylightDetector(false, 14).ID: return 6724; - case DaylightDetector::DaylightDetector(false, 15).ID: return 6725; - case DeadBrainCoral::DeadBrainCoral().ID: return 9523; - case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 9511; - case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 9543; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9569; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9571; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9573; - case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9575; - case DeadBubbleCoral::DeadBubbleCoral().ID: return 9525; - case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 9512; - case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 9545; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9577; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9579; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9581; - case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9583; - case DeadBush::DeadBush().ID: return 1344; - case DeadFireCoral::DeadFireCoral().ID: return 9527; - case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 9513; - case DeadFireCoralFan::DeadFireCoralFan().ID: return 9547; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9585; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9587; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9589; - case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9591; - case DeadHornCoral::DeadHornCoral().ID: return 9529; - case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 9514; - case DeadHornCoralFan::DeadHornCoralFan().ID: return 9549; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9593; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9595; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9597; - case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9599; - case DeadTubeCoral::DeadTubeCoral().ID: return 9521; - case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 9510; - case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 9541; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9561; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9563; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9565; - case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9567; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1317; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1318; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1319; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1320; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1321; - case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1322; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1323; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1324; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1325; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1326; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1327; - case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1328; - case DiamondBlock::DiamondBlock().ID: return 3355; - case DiamondOre::DiamondOre().ID: return 3354; - case Diorite::Diorite().ID: return 4; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Top).ID: return 10862; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Bottom).ID: return 10864; - case DioriteSlab::DioriteSlab(DioriteSlab::Type::Double).ID: return 10866; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10710; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10712; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10714; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10716; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10718; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10720; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10722; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10724; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10726; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10728; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10730; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10732; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10734; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10736; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10738; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10740; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10742; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10744; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10746; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_ZP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10748; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10750; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10752; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10754; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10756; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10758; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10760; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10762; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10764; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10766; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XM, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10768; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::Straight).ID: return 10770; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerLeft).ID: return 10772; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::InnerRight).ID: return 10774; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterLeft).ID: return 10776; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Top, DioriteStairs::Shape::OuterRight).ID: return 10778; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::Straight).ID: return 10780; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerLeft).ID: return 10782; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::InnerRight).ID: return 10784; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterLeft).ID: return 10786; - case DioriteStairs::DioriteStairs(eBlockFace::BLOCK_FACE_XP, DioriteStairs::Half::Bottom, DioriteStairs::Shape::OuterRight).ID: return 10788; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14434; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14435; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14436; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14440; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14441; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14442; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14446; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14447; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14448; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14452; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14453; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14454; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14458; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14459; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14460; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14464; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14465; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14466; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14470; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14471; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14472; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14476; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14477; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14478; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14482; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14483; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14484; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14488; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14489; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14490; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14494; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14495; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14496; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14500; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14501; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14502; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14506; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14507; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14508; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14512; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14513; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14514; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14518; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14519; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14520; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14524; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14525; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14526; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14530; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14531; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14532; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14536; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14537; - case DioriteWall::DioriteWall(DioriteWall::East::None, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14538; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14542; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14543; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14544; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14548; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14549; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14550; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14554; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14555; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14556; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14560; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14561; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14562; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14566; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14567; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14568; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14572; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14573; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14574; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14578; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14579; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14580; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14584; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14585; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14586; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14590; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14591; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14592; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14596; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14597; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14598; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14602; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14603; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14604; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14608; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14609; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14610; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14614; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14615; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14616; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14620; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14621; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14622; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14626; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14627; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14628; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14632; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14633; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14634; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14638; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14639; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14640; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14644; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14645; - case DioriteWall::DioriteWall(DioriteWall::East::Low, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14646; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14650; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14651; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14652; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14656; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14657; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14658; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14662; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14663; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14664; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14668; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14669; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14670; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14674; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14675; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14676; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14680; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14681; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::None, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14682; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14686; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14687; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14688; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14692; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14693; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14694; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14698; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14699; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14700; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14704; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14705; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14706; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14710; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14711; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14712; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14716; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14717; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Low, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14718; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::None).ID: return 14722; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::Low).ID: return 14723; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::None, true, DioriteWall::West::Tall).ID: return 14724; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::None).ID: return 14728; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::Low).ID: return 14729; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::None, false, DioriteWall::West::Tall).ID: return 14730; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::None).ID: return 14734; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::Low).ID: return 14735; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Low, true, DioriteWall::West::Tall).ID: return 14736; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::None).ID: return 14740; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::Low).ID: return 14741; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Low, false, DioriteWall::West::Tall).ID: return 14742; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::None).ID: return 14746; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::Low).ID: return 14747; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Tall, true, DioriteWall::West::Tall).ID: return 14748; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::None).ID: return 14752; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::Low).ID: return 14753; - case DioriteWall::DioriteWall(DioriteWall::East::Tall, DioriteWall::North::Tall, DioriteWall::South::Tall, false, DioriteWall::West::Tall).ID: return 14754; - case Dirt::Dirt().ID: return 10; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 234; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 235; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 236; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 237; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 238; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 239; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 240; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 241; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 242; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 243; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 244; - case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 245; - case DragonEgg::DragonEgg().ID: return 5155; - case DragonHead::DragonHead(0).ID: return 6590; - case DragonHead::DragonHead(1).ID: return 6591; - case DragonHead::DragonHead(2).ID: return 6592; - case DragonHead::DragonHead(3).ID: return 6593; - case DragonHead::DragonHead(4).ID: return 6594; - case DragonHead::DragonHead(5).ID: return 6595; - case DragonHead::DragonHead(6).ID: return 6596; - case DragonHead::DragonHead(7).ID: return 6597; - case DragonHead::DragonHead(8).ID: return 6598; - case DragonHead::DragonHead(9).ID: return 6599; - case DragonHead::DragonHead(10).ID: return 6600; - case DragonHead::DragonHead(11).ID: return 6601; - case DragonHead::DragonHead(12).ID: return 6602; - case DragonHead::DragonHead(13).ID: return 6603; - case DragonHead::DragonHead(14).ID: return 6604; - case DragonHead::DragonHead(15).ID: return 6605; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6606; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6607; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6608; - case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6609; - case DriedKelpBlock::DriedKelpBlock().ID: return 9497; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 6835; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 6836; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 6837; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 6838; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 6839; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 6840; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 6841; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 6842; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 6843; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 6844; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 6845; - case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 6846; - case EmeraldBlock::EmeraldBlock().ID: return 5403; - case EmeraldOre::EmeraldOre().ID: return 5250; - case EnchantingTable::EnchantingTable().ID: return 5132; - case EndGateway::EndGateway().ID: return 9224; - case EndPortal::EndPortal().ID: return 5145; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5146; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5147; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 5148; - case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 5149; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5150; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5151; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 5152; - case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 5153; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 9058; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 9059; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 9060; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 9061; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 9062; - case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 9063; - case EndStone::EndStone().ID: return 5154; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Top).ID: return 10820; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Bottom).ID: return 10822; - case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Double).ID: return 10824; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 10070; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 10072; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 10074; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 10076; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 10078; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 10080; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 10082; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 10084; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 10086; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 10088; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 10090; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 10092; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 10094; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 10096; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 10098; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 10100; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 10102; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 10104; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 10106; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 10108; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 10110; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 10112; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 10114; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 10116; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 10118; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 10120; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 10122; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 10124; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 10126; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 10128; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::Straight).ID: return 10130; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerLeft).ID: return 10132; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::InnerRight).ID: return 10134; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterLeft).ID: return 10136; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Top, EndStoneBrickStairs::Shape::OuterRight).ID: return 10138; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::Straight).ID: return 10140; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerLeft).ID: return 10142; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::InnerRight).ID: return 10144; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterLeft).ID: return 10146; - case EndStoneBrickStairs::EndStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, EndStoneBrickStairs::Half::Bottom, EndStoneBrickStairs::Shape::OuterRight).ID: return 10148; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14110; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14111; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14112; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14116; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14117; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14118; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14122; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14123; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14124; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14128; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14129; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14130; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14134; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14135; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14136; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14140; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14141; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14142; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14146; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14147; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14148; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14152; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14153; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14154; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14158; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14159; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14160; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14164; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14165; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14166; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14170; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14171; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14172; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14176; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14177; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14178; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14182; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14183; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14184; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14188; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14189; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14190; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14194; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14195; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14196; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14200; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14201; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14202; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14206; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14207; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14208; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14212; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14213; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::None, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14214; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14218; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14219; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14220; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14224; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14225; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14226; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14230; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14231; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14232; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14236; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14237; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14238; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14242; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14243; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14244; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14248; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14249; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14250; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14254; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14255; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14256; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14260; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14261; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14262; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14266; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14267; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14268; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14272; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14273; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14274; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14278; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14279; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14280; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14284; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14285; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14286; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14290; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14291; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14292; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14296; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14297; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14298; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14302; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14303; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14304; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14308; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14309; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14310; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14314; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14315; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14316; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14320; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14321; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Low, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14322; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14326; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14327; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14328; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14332; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14333; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14334; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14338; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14339; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14340; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14344; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14345; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14346; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14350; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14351; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14352; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14356; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14357; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::None, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14358; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14362; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14363; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14364; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14368; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14369; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14370; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14374; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14375; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14376; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14380; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14381; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14382; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14386; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14387; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14388; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14392; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14393; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Low, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14394; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::None).ID: return 14398; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Low).ID: return 14399; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, true, EndStoneBrickWall::West::Tall).ID: return 14400; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::None).ID: return 14404; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Low).ID: return 14405; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::None, false, EndStoneBrickWall::West::Tall).ID: return 14406; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::None).ID: return 14410; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Low).ID: return 14411; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, true, EndStoneBrickWall::West::Tall).ID: return 14412; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::None).ID: return 14416; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Low).ID: return 14417; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Low, false, EndStoneBrickWall::West::Tall).ID: return 14418; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::None).ID: return 14422; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Low).ID: return 14423; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, true, EndStoneBrickWall::West::Tall).ID: return 14424; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::None).ID: return 14428; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Low).ID: return 14429; - case EndStoneBrickWall::EndStoneBrickWall(EndStoneBrickWall::East::Tall, EndStoneBrickWall::North::Tall, EndStoneBrickWall::South::Tall, false, EndStoneBrickWall::West::Tall).ID: return 14430; - case EndStoneBricks::EndStoneBricks().ID: return 9218; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 5252; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 5254; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 5256; - case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 5258; - case Farmland::Farmland(0).ID: return 3365; - case Farmland::Farmland(1).ID: return 3366; - case Farmland::Farmland(2).ID: return 3367; - case Farmland::Farmland(3).ID: return 3368; - case Farmland::Farmland(4).ID: return 3369; - case Farmland::Farmland(5).ID: return 3370; - case Farmland::Farmland(6).ID: return 3371; - case Farmland::Farmland(7).ID: return 3372; - case Fern::Fern().ID: return 1343; - case Fire::Fire(0, true, true, true, true, true).ID: return 1440; - case Fire::Fire(0, true, true, true, true, false).ID: return 1441; - case Fire::Fire(0, true, true, true, false, true).ID: return 1442; - case Fire::Fire(0, true, true, true, false, false).ID: return 1443; - case Fire::Fire(0, true, true, false, true, true).ID: return 1444; - case Fire::Fire(0, true, true, false, true, false).ID: return 1445; - case Fire::Fire(0, true, true, false, false, true).ID: return 1446; - case Fire::Fire(0, true, true, false, false, false).ID: return 1447; - case Fire::Fire(0, true, false, true, true, true).ID: return 1448; - case Fire::Fire(0, true, false, true, true, false).ID: return 1449; - case Fire::Fire(0, true, false, true, false, true).ID: return 1450; - case Fire::Fire(0, true, false, true, false, false).ID: return 1451; - case Fire::Fire(0, true, false, false, true, true).ID: return 1452; - case Fire::Fire(0, true, false, false, true, false).ID: return 1453; - case Fire::Fire(0, true, false, false, false, true).ID: return 1454; - case Fire::Fire(0, true, false, false, false, false).ID: return 1455; - case Fire::Fire(0, false, true, true, true, true).ID: return 1456; - case Fire::Fire(0, false, true, true, true, false).ID: return 1457; - case Fire::Fire(0, false, true, true, false, true).ID: return 1458; - case Fire::Fire(0, false, true, true, false, false).ID: return 1459; - case Fire::Fire(0, false, true, false, true, true).ID: return 1460; - case Fire::Fire(0, false, true, false, true, false).ID: return 1461; - case Fire::Fire(0, false, true, false, false, true).ID: return 1462; - case Fire::Fire(0, false, true, false, false, false).ID: return 1463; - case Fire::Fire(0, false, false, true, true, true).ID: return 1464; - case Fire::Fire(0, false, false, true, true, false).ID: return 1465; - case Fire::Fire(0, false, false, true, false, true).ID: return 1466; - case Fire::Fire(0, false, false, true, false, false).ID: return 1467; - case Fire::Fire(0, false, false, false, true, true).ID: return 1468; - case Fire::Fire(0, false, false, false, true, false).ID: return 1469; - case Fire::Fire(0, false, false, false, false, true).ID: return 1470; - case Fire::Fire(0, false, false, false, false, false).ID: return 1471; - case Fire::Fire(1, true, true, true, true, true).ID: return 1472; - case Fire::Fire(1, true, true, true, true, false).ID: return 1473; - case Fire::Fire(1, true, true, true, false, true).ID: return 1474; - case Fire::Fire(1, true, true, true, false, false).ID: return 1475; - case Fire::Fire(1, true, true, false, true, true).ID: return 1476; - case Fire::Fire(1, true, true, false, true, false).ID: return 1477; - case Fire::Fire(1, true, true, false, false, true).ID: return 1478; - case Fire::Fire(1, true, true, false, false, false).ID: return 1479; - case Fire::Fire(1, true, false, true, true, true).ID: return 1480; - case Fire::Fire(1, true, false, true, true, false).ID: return 1481; - case Fire::Fire(1, true, false, true, false, true).ID: return 1482; - case Fire::Fire(1, true, false, true, false, false).ID: return 1483; - case Fire::Fire(1, true, false, false, true, true).ID: return 1484; - case Fire::Fire(1, true, false, false, true, false).ID: return 1485; - case Fire::Fire(1, true, false, false, false, true).ID: return 1486; - case Fire::Fire(1, true, false, false, false, false).ID: return 1487; - case Fire::Fire(1, false, true, true, true, true).ID: return 1488; - case Fire::Fire(1, false, true, true, true, false).ID: return 1489; - case Fire::Fire(1, false, true, true, false, true).ID: return 1490; - case Fire::Fire(1, false, true, true, false, false).ID: return 1491; - case Fire::Fire(1, false, true, false, true, true).ID: return 1492; - case Fire::Fire(1, false, true, false, true, false).ID: return 1493; - case Fire::Fire(1, false, true, false, false, true).ID: return 1494; - case Fire::Fire(1, false, true, false, false, false).ID: return 1495; - case Fire::Fire(1, false, false, true, true, true).ID: return 1496; - case Fire::Fire(1, false, false, true, true, false).ID: return 1497; - case Fire::Fire(1, false, false, true, false, true).ID: return 1498; - case Fire::Fire(1, false, false, true, false, false).ID: return 1499; - case Fire::Fire(1, false, false, false, true, true).ID: return 1500; - case Fire::Fire(1, false, false, false, true, false).ID: return 1501; - case Fire::Fire(1, false, false, false, false, true).ID: return 1502; - case Fire::Fire(1, false, false, false, false, false).ID: return 1503; - case Fire::Fire(2, true, true, true, true, true).ID: return 1504; - case Fire::Fire(2, true, true, true, true, false).ID: return 1505; - case Fire::Fire(2, true, true, true, false, true).ID: return 1506; - case Fire::Fire(2, true, true, true, false, false).ID: return 1507; - case Fire::Fire(2, true, true, false, true, true).ID: return 1508; - case Fire::Fire(2, true, true, false, true, false).ID: return 1509; - case Fire::Fire(2, true, true, false, false, true).ID: return 1510; - case Fire::Fire(2, true, true, false, false, false).ID: return 1511; - case Fire::Fire(2, true, false, true, true, true).ID: return 1512; - case Fire::Fire(2, true, false, true, true, false).ID: return 1513; - case Fire::Fire(2, true, false, true, false, true).ID: return 1514; - case Fire::Fire(2, true, false, true, false, false).ID: return 1515; - case Fire::Fire(2, true, false, false, true, true).ID: return 1516; - case Fire::Fire(2, true, false, false, true, false).ID: return 1517; - case Fire::Fire(2, true, false, false, false, true).ID: return 1518; - case Fire::Fire(2, true, false, false, false, false).ID: return 1519; - case Fire::Fire(2, false, true, true, true, true).ID: return 1520; - case Fire::Fire(2, false, true, true, true, false).ID: return 1521; - case Fire::Fire(2, false, true, true, false, true).ID: return 1522; - case Fire::Fire(2, false, true, true, false, false).ID: return 1523; - case Fire::Fire(2, false, true, false, true, true).ID: return 1524; - case Fire::Fire(2, false, true, false, true, false).ID: return 1525; - case Fire::Fire(2, false, true, false, false, true).ID: return 1526; - case Fire::Fire(2, false, true, false, false, false).ID: return 1527; - case Fire::Fire(2, false, false, true, true, true).ID: return 1528; - case Fire::Fire(2, false, false, true, true, false).ID: return 1529; - case Fire::Fire(2, false, false, true, false, true).ID: return 1530; - case Fire::Fire(2, false, false, true, false, false).ID: return 1531; - case Fire::Fire(2, false, false, false, true, true).ID: return 1532; - case Fire::Fire(2, false, false, false, true, false).ID: return 1533; - case Fire::Fire(2, false, false, false, false, true).ID: return 1534; - case Fire::Fire(2, false, false, false, false, false).ID: return 1535; - case Fire::Fire(3, true, true, true, true, true).ID: return 1536; - case Fire::Fire(3, true, true, true, true, false).ID: return 1537; - case Fire::Fire(3, true, true, true, false, true).ID: return 1538; - case Fire::Fire(3, true, true, true, false, false).ID: return 1539; - case Fire::Fire(3, true, true, false, true, true).ID: return 1540; - case Fire::Fire(3, true, true, false, true, false).ID: return 1541; - case Fire::Fire(3, true, true, false, false, true).ID: return 1542; - case Fire::Fire(3, true, true, false, false, false).ID: return 1543; - case Fire::Fire(3, true, false, true, true, true).ID: return 1544; - case Fire::Fire(3, true, false, true, true, false).ID: return 1545; - case Fire::Fire(3, true, false, true, false, true).ID: return 1546; - case Fire::Fire(3, true, false, true, false, false).ID: return 1547; - case Fire::Fire(3, true, false, false, true, true).ID: return 1548; - case Fire::Fire(3, true, false, false, true, false).ID: return 1549; - case Fire::Fire(3, true, false, false, false, true).ID: return 1550; - case Fire::Fire(3, true, false, false, false, false).ID: return 1551; - case Fire::Fire(3, false, true, true, true, true).ID: return 1552; - case Fire::Fire(3, false, true, true, true, false).ID: return 1553; - case Fire::Fire(3, false, true, true, false, true).ID: return 1554; - case Fire::Fire(3, false, true, true, false, false).ID: return 1555; - case Fire::Fire(3, false, true, false, true, true).ID: return 1556; - case Fire::Fire(3, false, true, false, true, false).ID: return 1557; - case Fire::Fire(3, false, true, false, false, true).ID: return 1558; - case Fire::Fire(3, false, true, false, false, false).ID: return 1559; - case Fire::Fire(3, false, false, true, true, true).ID: return 1560; - case Fire::Fire(3, false, false, true, true, false).ID: return 1561; - case Fire::Fire(3, false, false, true, false, true).ID: return 1562; - case Fire::Fire(3, false, false, true, false, false).ID: return 1563; - case Fire::Fire(3, false, false, false, true, true).ID: return 1564; - case Fire::Fire(3, false, false, false, true, false).ID: return 1565; - case Fire::Fire(3, false, false, false, false, true).ID: return 1566; - case Fire::Fire(3, false, false, false, false, false).ID: return 1567; - case Fire::Fire(4, true, true, true, true, true).ID: return 1568; - case Fire::Fire(4, true, true, true, true, false).ID: return 1569; - case Fire::Fire(4, true, true, true, false, true).ID: return 1570; - case Fire::Fire(4, true, true, true, false, false).ID: return 1571; - case Fire::Fire(4, true, true, false, true, true).ID: return 1572; - case Fire::Fire(4, true, true, false, true, false).ID: return 1573; - case Fire::Fire(4, true, true, false, false, true).ID: return 1574; - case Fire::Fire(4, true, true, false, false, false).ID: return 1575; - case Fire::Fire(4, true, false, true, true, true).ID: return 1576; - case Fire::Fire(4, true, false, true, true, false).ID: return 1577; - case Fire::Fire(4, true, false, true, false, true).ID: return 1578; - case Fire::Fire(4, true, false, true, false, false).ID: return 1579; - case Fire::Fire(4, true, false, false, true, true).ID: return 1580; - case Fire::Fire(4, true, false, false, true, false).ID: return 1581; - case Fire::Fire(4, true, false, false, false, true).ID: return 1582; - case Fire::Fire(4, true, false, false, false, false).ID: return 1583; - case Fire::Fire(4, false, true, true, true, true).ID: return 1584; - case Fire::Fire(4, false, true, true, true, false).ID: return 1585; - case Fire::Fire(4, false, true, true, false, true).ID: return 1586; - case Fire::Fire(4, false, true, true, false, false).ID: return 1587; - case Fire::Fire(4, false, true, false, true, true).ID: return 1588; - case Fire::Fire(4, false, true, false, true, false).ID: return 1589; - case Fire::Fire(4, false, true, false, false, true).ID: return 1590; - case Fire::Fire(4, false, true, false, false, false).ID: return 1591; - case Fire::Fire(4, false, false, true, true, true).ID: return 1592; - case Fire::Fire(4, false, false, true, true, false).ID: return 1593; - case Fire::Fire(4, false, false, true, false, true).ID: return 1594; - case Fire::Fire(4, false, false, true, false, false).ID: return 1595; - case Fire::Fire(4, false, false, false, true, true).ID: return 1596; - case Fire::Fire(4, false, false, false, true, false).ID: return 1597; - case Fire::Fire(4, false, false, false, false, true).ID: return 1598; - case Fire::Fire(4, false, false, false, false, false).ID: return 1599; - case Fire::Fire(5, true, true, true, true, true).ID: return 1600; - case Fire::Fire(5, true, true, true, true, false).ID: return 1601; - case Fire::Fire(5, true, true, true, false, true).ID: return 1602; - case Fire::Fire(5, true, true, true, false, false).ID: return 1603; - case Fire::Fire(5, true, true, false, true, true).ID: return 1604; - case Fire::Fire(5, true, true, false, true, false).ID: return 1605; - case Fire::Fire(5, true, true, false, false, true).ID: return 1606; - case Fire::Fire(5, true, true, false, false, false).ID: return 1607; - case Fire::Fire(5, true, false, true, true, true).ID: return 1608; - case Fire::Fire(5, true, false, true, true, false).ID: return 1609; - case Fire::Fire(5, true, false, true, false, true).ID: return 1610; - case Fire::Fire(5, true, false, true, false, false).ID: return 1611; - case Fire::Fire(5, true, false, false, true, true).ID: return 1612; - case Fire::Fire(5, true, false, false, true, false).ID: return 1613; - case Fire::Fire(5, true, false, false, false, true).ID: return 1614; - case Fire::Fire(5, true, false, false, false, false).ID: return 1615; - case Fire::Fire(5, false, true, true, true, true).ID: return 1616; - case Fire::Fire(5, false, true, true, true, false).ID: return 1617; - case Fire::Fire(5, false, true, true, false, true).ID: return 1618; - case Fire::Fire(5, false, true, true, false, false).ID: return 1619; - case Fire::Fire(5, false, true, false, true, true).ID: return 1620; - case Fire::Fire(5, false, true, false, true, false).ID: return 1621; - case Fire::Fire(5, false, true, false, false, true).ID: return 1622; - case Fire::Fire(5, false, true, false, false, false).ID: return 1623; - case Fire::Fire(5, false, false, true, true, true).ID: return 1624; - case Fire::Fire(5, false, false, true, true, false).ID: return 1625; - case Fire::Fire(5, false, false, true, false, true).ID: return 1626; - case Fire::Fire(5, false, false, true, false, false).ID: return 1627; - case Fire::Fire(5, false, false, false, true, true).ID: return 1628; - case Fire::Fire(5, false, false, false, true, false).ID: return 1629; - case Fire::Fire(5, false, false, false, false, true).ID: return 1630; - case Fire::Fire(5, false, false, false, false, false).ID: return 1631; - case Fire::Fire(6, true, true, true, true, true).ID: return 1632; - case Fire::Fire(6, true, true, true, true, false).ID: return 1633; - case Fire::Fire(6, true, true, true, false, true).ID: return 1634; - case Fire::Fire(6, true, true, true, false, false).ID: return 1635; - case Fire::Fire(6, true, true, false, true, true).ID: return 1636; - case Fire::Fire(6, true, true, false, true, false).ID: return 1637; - case Fire::Fire(6, true, true, false, false, true).ID: return 1638; - case Fire::Fire(6, true, true, false, false, false).ID: return 1639; - case Fire::Fire(6, true, false, true, true, true).ID: return 1640; - case Fire::Fire(6, true, false, true, true, false).ID: return 1641; - case Fire::Fire(6, true, false, true, false, true).ID: return 1642; - case Fire::Fire(6, true, false, true, false, false).ID: return 1643; - case Fire::Fire(6, true, false, false, true, true).ID: return 1644; - case Fire::Fire(6, true, false, false, true, false).ID: return 1645; - case Fire::Fire(6, true, false, false, false, true).ID: return 1646; - case Fire::Fire(6, true, false, false, false, false).ID: return 1647; - case Fire::Fire(6, false, true, true, true, true).ID: return 1648; - case Fire::Fire(6, false, true, true, true, false).ID: return 1649; - case Fire::Fire(6, false, true, true, false, true).ID: return 1650; - case Fire::Fire(6, false, true, true, false, false).ID: return 1651; - case Fire::Fire(6, false, true, false, true, true).ID: return 1652; - case Fire::Fire(6, false, true, false, true, false).ID: return 1653; - case Fire::Fire(6, false, true, false, false, true).ID: return 1654; - case Fire::Fire(6, false, true, false, false, false).ID: return 1655; - case Fire::Fire(6, false, false, true, true, true).ID: return 1656; - case Fire::Fire(6, false, false, true, true, false).ID: return 1657; - case Fire::Fire(6, false, false, true, false, true).ID: return 1658; - case Fire::Fire(6, false, false, true, false, false).ID: return 1659; - case Fire::Fire(6, false, false, false, true, true).ID: return 1660; - case Fire::Fire(6, false, false, false, true, false).ID: return 1661; - case Fire::Fire(6, false, false, false, false, true).ID: return 1662; - case Fire::Fire(6, false, false, false, false, false).ID: return 1663; - case Fire::Fire(7, true, true, true, true, true).ID: return 1664; - case Fire::Fire(7, true, true, true, true, false).ID: return 1665; - case Fire::Fire(7, true, true, true, false, true).ID: return 1666; - case Fire::Fire(7, true, true, true, false, false).ID: return 1667; - case Fire::Fire(7, true, true, false, true, true).ID: return 1668; - case Fire::Fire(7, true, true, false, true, false).ID: return 1669; - case Fire::Fire(7, true, true, false, false, true).ID: return 1670; - case Fire::Fire(7, true, true, false, false, false).ID: return 1671; - case Fire::Fire(7, true, false, true, true, true).ID: return 1672; - case Fire::Fire(7, true, false, true, true, false).ID: return 1673; - case Fire::Fire(7, true, false, true, false, true).ID: return 1674; - case Fire::Fire(7, true, false, true, false, false).ID: return 1675; - case Fire::Fire(7, true, false, false, true, true).ID: return 1676; - case Fire::Fire(7, true, false, false, true, false).ID: return 1677; - case Fire::Fire(7, true, false, false, false, true).ID: return 1678; - case Fire::Fire(7, true, false, false, false, false).ID: return 1679; - case Fire::Fire(7, false, true, true, true, true).ID: return 1680; - case Fire::Fire(7, false, true, true, true, false).ID: return 1681; - case Fire::Fire(7, false, true, true, false, true).ID: return 1682; - case Fire::Fire(7, false, true, true, false, false).ID: return 1683; - case Fire::Fire(7, false, true, false, true, true).ID: return 1684; - case Fire::Fire(7, false, true, false, true, false).ID: return 1685; - case Fire::Fire(7, false, true, false, false, true).ID: return 1686; - case Fire::Fire(7, false, true, false, false, false).ID: return 1687; - case Fire::Fire(7, false, false, true, true, true).ID: return 1688; - case Fire::Fire(7, false, false, true, true, false).ID: return 1689; - case Fire::Fire(7, false, false, true, false, true).ID: return 1690; - case Fire::Fire(7, false, false, true, false, false).ID: return 1691; - case Fire::Fire(7, false, false, false, true, true).ID: return 1692; - case Fire::Fire(7, false, false, false, true, false).ID: return 1693; - case Fire::Fire(7, false, false, false, false, true).ID: return 1694; - case Fire::Fire(7, false, false, false, false, false).ID: return 1695; - case Fire::Fire(8, true, true, true, true, true).ID: return 1696; - case Fire::Fire(8, true, true, true, true, false).ID: return 1697; - case Fire::Fire(8, true, true, true, false, true).ID: return 1698; - case Fire::Fire(8, true, true, true, false, false).ID: return 1699; - case Fire::Fire(8, true, true, false, true, true).ID: return 1700; - case Fire::Fire(8, true, true, false, true, false).ID: return 1701; - case Fire::Fire(8, true, true, false, false, true).ID: return 1702; - case Fire::Fire(8, true, true, false, false, false).ID: return 1703; - case Fire::Fire(8, true, false, true, true, true).ID: return 1704; - case Fire::Fire(8, true, false, true, true, false).ID: return 1705; - case Fire::Fire(8, true, false, true, false, true).ID: return 1706; - case Fire::Fire(8, true, false, true, false, false).ID: return 1707; - case Fire::Fire(8, true, false, false, true, true).ID: return 1708; - case Fire::Fire(8, true, false, false, true, false).ID: return 1709; - case Fire::Fire(8, true, false, false, false, true).ID: return 1710; - case Fire::Fire(8, true, false, false, false, false).ID: return 1711; - case Fire::Fire(8, false, true, true, true, true).ID: return 1712; - case Fire::Fire(8, false, true, true, true, false).ID: return 1713; - case Fire::Fire(8, false, true, true, false, true).ID: return 1714; - case Fire::Fire(8, false, true, true, false, false).ID: return 1715; - case Fire::Fire(8, false, true, false, true, true).ID: return 1716; - case Fire::Fire(8, false, true, false, true, false).ID: return 1717; - case Fire::Fire(8, false, true, false, false, true).ID: return 1718; - case Fire::Fire(8, false, true, false, false, false).ID: return 1719; - case Fire::Fire(8, false, false, true, true, true).ID: return 1720; - case Fire::Fire(8, false, false, true, true, false).ID: return 1721; - case Fire::Fire(8, false, false, true, false, true).ID: return 1722; - case Fire::Fire(8, false, false, true, false, false).ID: return 1723; - case Fire::Fire(8, false, false, false, true, true).ID: return 1724; - case Fire::Fire(8, false, false, false, true, false).ID: return 1725; - case Fire::Fire(8, false, false, false, false, true).ID: return 1726; - case Fire::Fire(8, false, false, false, false, false).ID: return 1727; - case Fire::Fire(9, true, true, true, true, true).ID: return 1728; - case Fire::Fire(9, true, true, true, true, false).ID: return 1729; - case Fire::Fire(9, true, true, true, false, true).ID: return 1730; - case Fire::Fire(9, true, true, true, false, false).ID: return 1731; - case Fire::Fire(9, true, true, false, true, true).ID: return 1732; - case Fire::Fire(9, true, true, false, true, false).ID: return 1733; - case Fire::Fire(9, true, true, false, false, true).ID: return 1734; - case Fire::Fire(9, true, true, false, false, false).ID: return 1735; - case Fire::Fire(9, true, false, true, true, true).ID: return 1736; - case Fire::Fire(9, true, false, true, true, false).ID: return 1737; - case Fire::Fire(9, true, false, true, false, true).ID: return 1738; - case Fire::Fire(9, true, false, true, false, false).ID: return 1739; - case Fire::Fire(9, true, false, false, true, true).ID: return 1740; - case Fire::Fire(9, true, false, false, true, false).ID: return 1741; - case Fire::Fire(9, true, false, false, false, true).ID: return 1742; - case Fire::Fire(9, true, false, false, false, false).ID: return 1743; - case Fire::Fire(9, false, true, true, true, true).ID: return 1744; - case Fire::Fire(9, false, true, true, true, false).ID: return 1745; - case Fire::Fire(9, false, true, true, false, true).ID: return 1746; - case Fire::Fire(9, false, true, true, false, false).ID: return 1747; - case Fire::Fire(9, false, true, false, true, true).ID: return 1748; - case Fire::Fire(9, false, true, false, true, false).ID: return 1749; - case Fire::Fire(9, false, true, false, false, true).ID: return 1750; - case Fire::Fire(9, false, true, false, false, false).ID: return 1751; - case Fire::Fire(9, false, false, true, true, true).ID: return 1752; - case Fire::Fire(9, false, false, true, true, false).ID: return 1753; - case Fire::Fire(9, false, false, true, false, true).ID: return 1754; - case Fire::Fire(9, false, false, true, false, false).ID: return 1755; - case Fire::Fire(9, false, false, false, true, true).ID: return 1756; - case Fire::Fire(9, false, false, false, true, false).ID: return 1757; - case Fire::Fire(9, false, false, false, false, true).ID: return 1758; - case Fire::Fire(9, false, false, false, false, false).ID: return 1759; - case Fire::Fire(10, true, true, true, true, true).ID: return 1760; - case Fire::Fire(10, true, true, true, true, false).ID: return 1761; - case Fire::Fire(10, true, true, true, false, true).ID: return 1762; - case Fire::Fire(10, true, true, true, false, false).ID: return 1763; - case Fire::Fire(10, true, true, false, true, true).ID: return 1764; - case Fire::Fire(10, true, true, false, true, false).ID: return 1765; - case Fire::Fire(10, true, true, false, false, true).ID: return 1766; - case Fire::Fire(10, true, true, false, false, false).ID: return 1767; - case Fire::Fire(10, true, false, true, true, true).ID: return 1768; - case Fire::Fire(10, true, false, true, true, false).ID: return 1769; - case Fire::Fire(10, true, false, true, false, true).ID: return 1770; - case Fire::Fire(10, true, false, true, false, false).ID: return 1771; - case Fire::Fire(10, true, false, false, true, true).ID: return 1772; - case Fire::Fire(10, true, false, false, true, false).ID: return 1773; - case Fire::Fire(10, true, false, false, false, true).ID: return 1774; - case Fire::Fire(10, true, false, false, false, false).ID: return 1775; - case Fire::Fire(10, false, true, true, true, true).ID: return 1776; - case Fire::Fire(10, false, true, true, true, false).ID: return 1777; - case Fire::Fire(10, false, true, true, false, true).ID: return 1778; - case Fire::Fire(10, false, true, true, false, false).ID: return 1779; - case Fire::Fire(10, false, true, false, true, true).ID: return 1780; - case Fire::Fire(10, false, true, false, true, false).ID: return 1781; - case Fire::Fire(10, false, true, false, false, true).ID: return 1782; - case Fire::Fire(10, false, true, false, false, false).ID: return 1783; - case Fire::Fire(10, false, false, true, true, true).ID: return 1784; - case Fire::Fire(10, false, false, true, true, false).ID: return 1785; - case Fire::Fire(10, false, false, true, false, true).ID: return 1786; - case Fire::Fire(10, false, false, true, false, false).ID: return 1787; - case Fire::Fire(10, false, false, false, true, true).ID: return 1788; - case Fire::Fire(10, false, false, false, true, false).ID: return 1789; - case Fire::Fire(10, false, false, false, false, true).ID: return 1790; - case Fire::Fire(10, false, false, false, false, false).ID: return 1791; - case Fire::Fire(11, true, true, true, true, true).ID: return 1792; - case Fire::Fire(11, true, true, true, true, false).ID: return 1793; - case Fire::Fire(11, true, true, true, false, true).ID: return 1794; - case Fire::Fire(11, true, true, true, false, false).ID: return 1795; - case Fire::Fire(11, true, true, false, true, true).ID: return 1796; - case Fire::Fire(11, true, true, false, true, false).ID: return 1797; - case Fire::Fire(11, true, true, false, false, true).ID: return 1798; - case Fire::Fire(11, true, true, false, false, false).ID: return 1799; - case Fire::Fire(11, true, false, true, true, true).ID: return 1800; - case Fire::Fire(11, true, false, true, true, false).ID: return 1801; - case Fire::Fire(11, true, false, true, false, true).ID: return 1802; - case Fire::Fire(11, true, false, true, false, false).ID: return 1803; - case Fire::Fire(11, true, false, false, true, true).ID: return 1804; - case Fire::Fire(11, true, false, false, true, false).ID: return 1805; - case Fire::Fire(11, true, false, false, false, true).ID: return 1806; - case Fire::Fire(11, true, false, false, false, false).ID: return 1807; - case Fire::Fire(11, false, true, true, true, true).ID: return 1808; - case Fire::Fire(11, false, true, true, true, false).ID: return 1809; - case Fire::Fire(11, false, true, true, false, true).ID: return 1810; - case Fire::Fire(11, false, true, true, false, false).ID: return 1811; - case Fire::Fire(11, false, true, false, true, true).ID: return 1812; - case Fire::Fire(11, false, true, false, true, false).ID: return 1813; - case Fire::Fire(11, false, true, false, false, true).ID: return 1814; - case Fire::Fire(11, false, true, false, false, false).ID: return 1815; - case Fire::Fire(11, false, false, true, true, true).ID: return 1816; - case Fire::Fire(11, false, false, true, true, false).ID: return 1817; - case Fire::Fire(11, false, false, true, false, true).ID: return 1818; - case Fire::Fire(11, false, false, true, false, false).ID: return 1819; - case Fire::Fire(11, false, false, false, true, true).ID: return 1820; - case Fire::Fire(11, false, false, false, true, false).ID: return 1821; - case Fire::Fire(11, false, false, false, false, true).ID: return 1822; - case Fire::Fire(11, false, false, false, false, false).ID: return 1823; - case Fire::Fire(12, true, true, true, true, true).ID: return 1824; - case Fire::Fire(12, true, true, true, true, false).ID: return 1825; - case Fire::Fire(12, true, true, true, false, true).ID: return 1826; - case Fire::Fire(12, true, true, true, false, false).ID: return 1827; - case Fire::Fire(12, true, true, false, true, true).ID: return 1828; - case Fire::Fire(12, true, true, false, true, false).ID: return 1829; - case Fire::Fire(12, true, true, false, false, true).ID: return 1830; - case Fire::Fire(12, true, true, false, false, false).ID: return 1831; - case Fire::Fire(12, true, false, true, true, true).ID: return 1832; - case Fire::Fire(12, true, false, true, true, false).ID: return 1833; - case Fire::Fire(12, true, false, true, false, true).ID: return 1834; - case Fire::Fire(12, true, false, true, false, false).ID: return 1835; - case Fire::Fire(12, true, false, false, true, true).ID: return 1836; - case Fire::Fire(12, true, false, false, true, false).ID: return 1837; - case Fire::Fire(12, true, false, false, false, true).ID: return 1838; - case Fire::Fire(12, true, false, false, false, false).ID: return 1839; - case Fire::Fire(12, false, true, true, true, true).ID: return 1840; - case Fire::Fire(12, false, true, true, true, false).ID: return 1841; - case Fire::Fire(12, false, true, true, false, true).ID: return 1842; - case Fire::Fire(12, false, true, true, false, false).ID: return 1843; - case Fire::Fire(12, false, true, false, true, true).ID: return 1844; - case Fire::Fire(12, false, true, false, true, false).ID: return 1845; - case Fire::Fire(12, false, true, false, false, true).ID: return 1846; - case Fire::Fire(12, false, true, false, false, false).ID: return 1847; - case Fire::Fire(12, false, false, true, true, true).ID: return 1848; - case Fire::Fire(12, false, false, true, true, false).ID: return 1849; - case Fire::Fire(12, false, false, true, false, true).ID: return 1850; - case Fire::Fire(12, false, false, true, false, false).ID: return 1851; - case Fire::Fire(12, false, false, false, true, true).ID: return 1852; - case Fire::Fire(12, false, false, false, true, false).ID: return 1853; - case Fire::Fire(12, false, false, false, false, true).ID: return 1854; - case Fire::Fire(12, false, false, false, false, false).ID: return 1855; - case Fire::Fire(13, true, true, true, true, true).ID: return 1856; - case Fire::Fire(13, true, true, true, true, false).ID: return 1857; - case Fire::Fire(13, true, true, true, false, true).ID: return 1858; - case Fire::Fire(13, true, true, true, false, false).ID: return 1859; - case Fire::Fire(13, true, true, false, true, true).ID: return 1860; - case Fire::Fire(13, true, true, false, true, false).ID: return 1861; - case Fire::Fire(13, true, true, false, false, true).ID: return 1862; - case Fire::Fire(13, true, true, false, false, false).ID: return 1863; - case Fire::Fire(13, true, false, true, true, true).ID: return 1864; - case Fire::Fire(13, true, false, true, true, false).ID: return 1865; - case Fire::Fire(13, true, false, true, false, true).ID: return 1866; - case Fire::Fire(13, true, false, true, false, false).ID: return 1867; - case Fire::Fire(13, true, false, false, true, true).ID: return 1868; - case Fire::Fire(13, true, false, false, true, false).ID: return 1869; - case Fire::Fire(13, true, false, false, false, true).ID: return 1870; - case Fire::Fire(13, true, false, false, false, false).ID: return 1871; - case Fire::Fire(13, false, true, true, true, true).ID: return 1872; - case Fire::Fire(13, false, true, true, true, false).ID: return 1873; - case Fire::Fire(13, false, true, true, false, true).ID: return 1874; - case Fire::Fire(13, false, true, true, false, false).ID: return 1875; - case Fire::Fire(13, false, true, false, true, true).ID: return 1876; - case Fire::Fire(13, false, true, false, true, false).ID: return 1877; - case Fire::Fire(13, false, true, false, false, true).ID: return 1878; - case Fire::Fire(13, false, true, false, false, false).ID: return 1879; - case Fire::Fire(13, false, false, true, true, true).ID: return 1880; - case Fire::Fire(13, false, false, true, true, false).ID: return 1881; - case Fire::Fire(13, false, false, true, false, true).ID: return 1882; - case Fire::Fire(13, false, false, true, false, false).ID: return 1883; - case Fire::Fire(13, false, false, false, true, true).ID: return 1884; - case Fire::Fire(13, false, false, false, true, false).ID: return 1885; - case Fire::Fire(13, false, false, false, false, true).ID: return 1886; - case Fire::Fire(13, false, false, false, false, false).ID: return 1887; - case Fire::Fire(14, true, true, true, true, true).ID: return 1888; - case Fire::Fire(14, true, true, true, true, false).ID: return 1889; - case Fire::Fire(14, true, true, true, false, true).ID: return 1890; - case Fire::Fire(14, true, true, true, false, false).ID: return 1891; - case Fire::Fire(14, true, true, false, true, true).ID: return 1892; - case Fire::Fire(14, true, true, false, true, false).ID: return 1893; - case Fire::Fire(14, true, true, false, false, true).ID: return 1894; - case Fire::Fire(14, true, true, false, false, false).ID: return 1895; - case Fire::Fire(14, true, false, true, true, true).ID: return 1896; - case Fire::Fire(14, true, false, true, true, false).ID: return 1897; - case Fire::Fire(14, true, false, true, false, true).ID: return 1898; - case Fire::Fire(14, true, false, true, false, false).ID: return 1899; - case Fire::Fire(14, true, false, false, true, true).ID: return 1900; - case Fire::Fire(14, true, false, false, true, false).ID: return 1901; - case Fire::Fire(14, true, false, false, false, true).ID: return 1902; - case Fire::Fire(14, true, false, false, false, false).ID: return 1903; - case Fire::Fire(14, false, true, true, true, true).ID: return 1904; - case Fire::Fire(14, false, true, true, true, false).ID: return 1905; - case Fire::Fire(14, false, true, true, false, true).ID: return 1906; - case Fire::Fire(14, false, true, true, false, false).ID: return 1907; - case Fire::Fire(14, false, true, false, true, true).ID: return 1908; - case Fire::Fire(14, false, true, false, true, false).ID: return 1909; - case Fire::Fire(14, false, true, false, false, true).ID: return 1910; - case Fire::Fire(14, false, true, false, false, false).ID: return 1911; - case Fire::Fire(14, false, false, true, true, true).ID: return 1912; - case Fire::Fire(14, false, false, true, true, false).ID: return 1913; - case Fire::Fire(14, false, false, true, false, true).ID: return 1914; - case Fire::Fire(14, false, false, true, false, false).ID: return 1915; - case Fire::Fire(14, false, false, false, true, true).ID: return 1916; - case Fire::Fire(14, false, false, false, true, false).ID: return 1917; - case Fire::Fire(14, false, false, false, false, true).ID: return 1918; - case Fire::Fire(14, false, false, false, false, false).ID: return 1919; - case Fire::Fire(15, true, true, true, true, true).ID: return 1920; - case Fire::Fire(15, true, true, true, true, false).ID: return 1921; - case Fire::Fire(15, true, true, true, false, true).ID: return 1922; - case Fire::Fire(15, true, true, true, false, false).ID: return 1923; - case Fire::Fire(15, true, true, false, true, true).ID: return 1924; - case Fire::Fire(15, true, true, false, true, false).ID: return 1925; - case Fire::Fire(15, true, true, false, false, true).ID: return 1926; - case Fire::Fire(15, true, true, false, false, false).ID: return 1927; - case Fire::Fire(15, true, false, true, true, true).ID: return 1928; - case Fire::Fire(15, true, false, true, true, false).ID: return 1929; - case Fire::Fire(15, true, false, true, false, true).ID: return 1930; - case Fire::Fire(15, true, false, true, false, false).ID: return 1931; - case Fire::Fire(15, true, false, false, true, true).ID: return 1932; - case Fire::Fire(15, true, false, false, true, false).ID: return 1933; - case Fire::Fire(15, true, false, false, false, true).ID: return 1934; - case Fire::Fire(15, true, false, false, false, false).ID: return 1935; - case Fire::Fire(15, false, true, true, true, true).ID: return 1936; - case Fire::Fire(15, false, true, true, true, false).ID: return 1937; - case Fire::Fire(15, false, true, true, false, true).ID: return 1938; - case Fire::Fire(15, false, true, true, false, false).ID: return 1939; - case Fire::Fire(15, false, true, false, true, true).ID: return 1940; - case Fire::Fire(15, false, true, false, true, false).ID: return 1941; - case Fire::Fire(15, false, true, false, false, true).ID: return 1942; - case Fire::Fire(15, false, true, false, false, false).ID: return 1943; - case Fire::Fire(15, false, false, true, true, true).ID: return 1944; - case Fire::Fire(15, false, false, true, true, false).ID: return 1945; - case Fire::Fire(15, false, false, true, false, true).ID: return 1946; - case Fire::Fire(15, false, false, true, false, false).ID: return 1947; - case Fire::Fire(15, false, false, false, true, true).ID: return 1948; - case Fire::Fire(15, false, false, false, true, false).ID: return 1949; - case Fire::Fire(15, false, false, false, false, true).ID: return 1950; - case Fire::Fire(15, false, false, false, false, false).ID: return 1951; - case FireCoral::FireCoral().ID: return 9537; - case FireCoralBlock::FireCoralBlock().ID: return 9518; - case FireCoralFan::FireCoralFan().ID: return 9557; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9625; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9627; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9629; - case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9631; - case FletchingTable::FletchingTable().ID: return 14820; - case FlowerPot::FlowerPot().ID: return 6305; - case FrostedIce::FrostedIce(0).ID: return 9249; - case FrostedIce::FrostedIce(1).ID: return 9250; - case FrostedIce::FrostedIce(2).ID: return 9251; - case FrostedIce::FrostedIce(3).ID: return 9252; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3373; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3374; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3375; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3376; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3377; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3378; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3379; - case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3380; - case GildedBlackstone::GildedBlackstone().ID: return 16664; - case Glass::Glass().ID: return 231; - case GlassPane::GlassPane(true, true, true, true).ID: return 4733; - case GlassPane::GlassPane(true, true, true, false).ID: return 4734; - case GlassPane::GlassPane(true, true, false, true).ID: return 4737; - case GlassPane::GlassPane(true, true, false, false).ID: return 4738; - case GlassPane::GlassPane(true, false, true, true).ID: return 4741; - case GlassPane::GlassPane(true, false, true, false).ID: return 4742; - case GlassPane::GlassPane(true, false, false, true).ID: return 4745; - case GlassPane::GlassPane(true, false, false, false).ID: return 4746; - case GlassPane::GlassPane(false, true, true, true).ID: return 4749; - case GlassPane::GlassPane(false, true, true, false).ID: return 4750; - case GlassPane::GlassPane(false, true, false, true).ID: return 4753; - case GlassPane::GlassPane(false, true, false, false).ID: return 4754; - case GlassPane::GlassPane(false, false, true, true).ID: return 4757; - case GlassPane::GlassPane(false, false, true, false).ID: return 4758; - case GlassPane::GlassPane(false, false, false, true).ID: return 4761; - case GlassPane::GlassPane(false, false, false, false).ID: return 4762; - case Glowstone::Glowstone().ID: return 4013; - case GoldBlock::GoldBlock().ID: return 1427; - case GoldOre::GoldOre().ID: return 69; - case Granite::Granite().ID: return 2; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Top).ID: return 10838; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Bottom).ID: return 10840; - case GraniteSlab::GraniteSlab(GraniteSlab::Type::Double).ID: return 10842; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 10390; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 10392; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 10394; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 10396; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 10398; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 10400; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 10402; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 10404; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 10406; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 10408; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 10410; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 10412; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 10414; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 10416; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 10418; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 10420; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 10422; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 10424; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 10426; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_ZP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 10428; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 10430; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 10432; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 10434; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 10436; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 10438; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 10440; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 10442; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 10444; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 10446; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XM, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 10448; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::Straight).ID: return 10450; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerLeft).ID: return 10452; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::InnerRight).ID: return 10454; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterLeft).ID: return 10456; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Top, GraniteStairs::Shape::OuterRight).ID: return 10458; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::Straight).ID: return 10460; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerLeft).ID: return 10462; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::InnerRight).ID: return 10464; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterLeft).ID: return 10466; - case GraniteStairs::GraniteStairs(eBlockFace::BLOCK_FACE_XP, GraniteStairs::Half::Bottom, GraniteStairs::Shape::OuterRight).ID: return 10468; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12166; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12167; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12168; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12172; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12173; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12174; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12178; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12179; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12180; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12184; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12185; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12186; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12190; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12191; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12192; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12196; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12197; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12198; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12202; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12203; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12204; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12208; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12209; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12210; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12214; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12215; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12216; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12220; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12221; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12222; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12226; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12227; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12228; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12232; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12233; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12234; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12238; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12239; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12240; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12244; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12245; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12246; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12250; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12251; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12252; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12256; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12257; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12258; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12262; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12263; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12264; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12268; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12269; - case GraniteWall::GraniteWall(GraniteWall::East::None, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12270; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12274; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12275; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12276; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12280; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12281; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12282; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12286; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12287; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12288; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12292; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12293; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12294; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12298; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12299; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12300; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12304; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12305; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12306; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12310; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12311; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12312; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12316; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12317; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12318; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12322; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12323; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12324; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12328; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12329; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12330; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12334; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12335; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12336; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12340; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12341; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12342; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12346; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12347; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12348; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12352; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12353; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12354; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12358; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12359; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12360; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12364; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12365; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12366; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12370; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12371; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12372; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12376; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12377; - case GraniteWall::GraniteWall(GraniteWall::East::Low, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12378; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12382; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12383; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12384; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12388; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12389; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12390; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12394; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12395; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12396; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12400; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12401; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12402; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12406; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12407; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12408; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12412; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12413; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::None, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12414; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12418; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12419; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12420; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12424; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12425; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12426; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12430; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12431; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12432; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12436; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12437; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12438; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12442; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12443; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12444; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12448; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12449; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Low, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12450; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::None).ID: return 12454; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::Low).ID: return 12455; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::None, true, GraniteWall::West::Tall).ID: return 12456; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::None).ID: return 12460; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::Low).ID: return 12461; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::None, false, GraniteWall::West::Tall).ID: return 12462; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::None).ID: return 12466; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::Low).ID: return 12467; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Low, true, GraniteWall::West::Tall).ID: return 12468; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::None).ID: return 12472; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::Low).ID: return 12473; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Low, false, GraniteWall::West::Tall).ID: return 12474; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::None).ID: return 12478; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::Low).ID: return 12479; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Tall, true, GraniteWall::West::Tall).ID: return 12480; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::None).ID: return 12484; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::Low).ID: return 12485; - case GraniteWall::GraniteWall(GraniteWall::East::Tall, GraniteWall::North::Tall, GraniteWall::South::Tall, false, GraniteWall::West::Tall).ID: return 12486; - case Grass::Grass().ID: return 1342; - case GrassBlock::GrassBlock(true).ID: return 8; - case GrassBlock::GrassBlock(false).ID: return 9; - case GrassPath::GrassPath().ID: return 9223; - case Gravel::Gravel().ID: return 68; - case GrayBanner::GrayBanner(0).ID: return 8009; - case GrayBanner::GrayBanner(1).ID: return 8010; - case GrayBanner::GrayBanner(2).ID: return 8011; - case GrayBanner::GrayBanner(3).ID: return 8012; - case GrayBanner::GrayBanner(4).ID: return 8013; - case GrayBanner::GrayBanner(5).ID: return 8014; - case GrayBanner::GrayBanner(6).ID: return 8015; - case GrayBanner::GrayBanner(7).ID: return 8016; - case GrayBanner::GrayBanner(8).ID: return 8017; - case GrayBanner::GrayBanner(9).ID: return 8018; - case GrayBanner::GrayBanner(10).ID: return 8019; - case GrayBanner::GrayBanner(11).ID: return 8020; - case GrayBanner::GrayBanner(12).ID: return 8021; - case GrayBanner::GrayBanner(13).ID: return 8022; - case GrayBanner::GrayBanner(14).ID: return 8023; - case GrayBanner::GrayBanner(15).ID: return 8024; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 1161; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 1162; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 1163; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 1164; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 1165; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 1166; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 1167; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 1168; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 1169; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 1170; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 1171; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 1172; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 1173; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 1174; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 1175; - case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 1176; - case GrayCarpet::GrayCarpet().ID: return 7873; - case GrayConcrete::GrayConcrete().ID: return 9445; - case GrayConcretePowder::GrayConcretePowder().ID: return 9461; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9402; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9403; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9404; - case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9405; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9320; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9321; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9322; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9323; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9324; - case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9325; - case GrayStainedGlass::GrayStainedGlass().ID: return 4102; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 7089; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 7090; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 7093; - case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 7094; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 7097; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 7098; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 7101; - case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 7102; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 7105; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 7106; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 7109; - case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 7110; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 7113; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 7114; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 7117; - case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 7118; - case GrayTerracotta::GrayTerracotta().ID: return 6854; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8181; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8182; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8183; - case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8184; - case GrayWool::GrayWool().ID: return 1391; - case GreenBanner::GreenBanner(0).ID: return 8105; - case GreenBanner::GreenBanner(1).ID: return 8106; - case GreenBanner::GreenBanner(2).ID: return 8107; - case GreenBanner::GreenBanner(3).ID: return 8108; - case GreenBanner::GreenBanner(4).ID: return 8109; - case GreenBanner::GreenBanner(5).ID: return 8110; - case GreenBanner::GreenBanner(6).ID: return 8111; - case GreenBanner::GreenBanner(7).ID: return 8112; - case GreenBanner::GreenBanner(8).ID: return 8113; - case GreenBanner::GreenBanner(9).ID: return 8114; - case GreenBanner::GreenBanner(10).ID: return 8115; - case GreenBanner::GreenBanner(11).ID: return 8116; - case GreenBanner::GreenBanner(12).ID: return 8117; - case GreenBanner::GreenBanner(13).ID: return 8118; - case GreenBanner::GreenBanner(14).ID: return 8119; - case GreenBanner::GreenBanner(15).ID: return 8120; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 1257; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 1258; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 1259; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 1260; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 1261; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 1262; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 1263; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 1264; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 1265; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 1266; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 1267; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 1268; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 1269; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 1270; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 1271; - case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 1272; - case GreenCarpet::GreenCarpet().ID: return 7879; - case GreenConcrete::GreenConcrete().ID: return 9451; - case GreenConcretePowder::GreenConcretePowder().ID: return 9467; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9426; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9427; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9428; - case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9429; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9356; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9357; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9358; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9359; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9360; - case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9361; - case GreenStainedGlass::GreenStainedGlass().ID: return 4108; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 7281; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 7282; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 7285; - case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 7286; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 7289; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 7290; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 7293; - case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 7294; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 7297; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 7298; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 7301; - case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 7302; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 7305; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 7306; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 7309; - case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 7310; - case GreenTerracotta::GreenTerracotta().ID: return 6860; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8205; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8206; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8207; - case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8208; - case GreenWool::GreenWool().ID: return 1397; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZM).ID: return 14821; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZP).ID: return 14822; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XM).ID: return 14823; - case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XP).ID: return 14824; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZM).ID: return 14825; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZP).ID: return 14826; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XM).ID: return 14827; - case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XP).ID: return 14828; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM).ID: return 14829; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP).ID: return 14830; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XM).ID: return 14831; - case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XP).ID: return 14832; - case HayBale::HayBale(HayBale::Axis::X).ID: return 7863; - case HayBale::HayBale(HayBale::Axis::Y).ID: return 7864; - case HayBale::HayBale(HayBale::Axis::Z).ID: return 7865; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 6662; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 6663; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 6664; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 6665; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 6666; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 6667; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 6668; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 6669; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 6670; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 6671; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 6672; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 6673; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 6674; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 6675; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 6676; - case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 6677; - case HoneyBlock::HoneyBlock().ID: return 15824; - case HoneycombBlock::HoneycombBlock().ID: return 15825; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 6728; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 6729; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 6730; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 6731; - case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 6732; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 6733; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 6734; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 6735; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 6736; - case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 6737; - case HornCoral::HornCoral().ID: return 9539; - case HornCoralBlock::HornCoralBlock().ID: return 9519; - case HornCoralFan::HornCoralFan().ID: return 9559; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9633; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9635; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9637; - case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9639; - case Ice::Ice().ID: return 3929; - case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 4504; - case InfestedCobblestone::InfestedCobblestone().ID: return 4500; - case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 4503; - case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 4502; - case InfestedStone::InfestedStone().ID: return 4499; - case InfestedStoneBricks::InfestedStoneBricks().ID: return 4501; - case IronBars::IronBars(true, true, true, true).ID: return 4699; - case IronBars::IronBars(true, true, true, false).ID: return 4700; - case IronBars::IronBars(true, true, false, true).ID: return 4703; - case IronBars::IronBars(true, true, false, false).ID: return 4704; - case IronBars::IronBars(true, false, true, true).ID: return 4707; - case IronBars::IronBars(true, false, true, false).ID: return 4708; - case IronBars::IronBars(true, false, false, true).ID: return 4711; - case IronBars::IronBars(true, false, false, false).ID: return 4712; - case IronBars::IronBars(false, true, true, true).ID: return 4715; - case IronBars::IronBars(false, true, true, false).ID: return 4716; - case IronBars::IronBars(false, true, false, true).ID: return 4719; - case IronBars::IronBars(false, true, false, false).ID: return 4720; - case IronBars::IronBars(false, false, true, true).ID: return 4723; - case IronBars::IronBars(false, false, true, false).ID: return 4724; - case IronBars::IronBars(false, false, false, true).ID: return 4727; - case IronBars::IronBars(false, false, false, false).ID: return 4728; - case IronBlock::IronBlock().ID: return 1428; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3809; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3810; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3811; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3812; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3813; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3814; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3815; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3816; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3817; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3818; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3819; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3820; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3821; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3822; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3823; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3824; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3825; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3826; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3827; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3828; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3829; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3830; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3831; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3832; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3833; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3834; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3835; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3836; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3837; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3838; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3839; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3840; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3841; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3842; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3843; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3844; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3845; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3846; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3847; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3848; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3849; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3850; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3851; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3852; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3853; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3854; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3855; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3856; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: return 3857; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false).ID: return 3858; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true).ID: return 3859; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false).ID: return 3860; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true).ID: return 3861; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false).ID: return 3862; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true).ID: return 3863; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false).ID: return 3864; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: return 3865; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false).ID: return 3866; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true).ID: return 3867; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false).ID: return 3868; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true).ID: return 3869; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false).ID: return 3870; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true).ID: return 3871; - case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false).ID: return 3872; - case IronOre::IronOre().ID: return 70; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 7538; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: return 7540; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: return 7542; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: return 7544; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: return 7546; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: return 7548; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: return 7550; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: return 7552; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 7554; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: return 7556; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: return 7558; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: return 7560; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: return 7562; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: return 7564; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: return 7566; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: return 7568; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 7570; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: return 7572; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: return 7574; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: return 7576; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: return 7578; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: return 7580; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: return 7582; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: return 7584; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 7586; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: return 7588; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: return 7590; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: return 7592; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: return 7594; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: return 7596; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: return 7598; - case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: return 7600; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 4020; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 4021; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 4022; - case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 4023; - case Jigsaw::Jigsaw(Jigsaw::Orientation::DownEast).ID: return 15739; - case Jigsaw::Jigsaw(Jigsaw::Orientation::DownNorth).ID: return 15740; - case Jigsaw::Jigsaw(Jigsaw::Orientation::DownSouth).ID: return 15741; - case Jigsaw::Jigsaw(Jigsaw::Orientation::DownWest).ID: return 15742; - case Jigsaw::Jigsaw(Jigsaw::Orientation::UpEast).ID: return 15743; - case Jigsaw::Jigsaw(Jigsaw::Orientation::UpNorth).ID: return 15744; - case Jigsaw::Jigsaw(Jigsaw::Orientation::UpSouth).ID: return 15745; - case Jigsaw::Jigsaw(Jigsaw::Orientation::UpWest).ID: return 15746; - case Jigsaw::Jigsaw(Jigsaw::Orientation::WestUp).ID: return 15747; - case Jigsaw::Jigsaw(Jigsaw::Orientation::EastUp).ID: return 15748; - case Jigsaw::Jigsaw(Jigsaw::Orientation::NorthUp).ID: return 15749; - case Jigsaw::Jigsaw(Jigsaw::Orientation::SouthUp).ID: return 15750; - case Jukebox::Jukebox(true).ID: return 3964; - case Jukebox::Jukebox(false).ID: return 3965; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6418; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6419; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6420; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6421; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6422; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6423; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6424; - case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6425; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6426; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6427; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6428; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6429; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6430; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6431; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6432; - case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6433; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6434; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6435; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6436; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6437; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6438; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6439; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6440; - case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6441; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8866; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8867; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8868; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8869; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8870; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8871; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8872; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8873; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8874; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8875; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8876; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8877; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8878; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8879; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8880; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8881; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8882; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8883; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8884; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8885; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8886; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8887; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8888; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8889; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8890; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8891; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8892; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8893; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8894; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8895; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8896; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8897; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8898; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8899; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8900; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8901; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8902; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8903; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8904; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8905; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8906; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8907; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8908; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8909; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8910; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8911; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8912; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8913; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, true).ID: return 8914; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, true, false).ID: return 8915; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true).ID: return 8916; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false).ID: return 8917; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, true).ID: return 8918; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, true, false).ID: return 8919; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true).ID: return 8920; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false).ID: return 8921; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, true).ID: return 8922; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, true, false).ID: return 8923; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, true).ID: return 8924; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Left, false, false).ID: return 8925; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, true).ID: return 8926; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false).ID: return 8927; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, true).ID: return 8928; - case JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false).ID: return 8929; - case JungleFence::JungleFence(true, true, true, true).ID: return 8644; - case JungleFence::JungleFence(true, true, true, false).ID: return 8645; - case JungleFence::JungleFence(true, true, false, true).ID: return 8648; - case JungleFence::JungleFence(true, true, false, false).ID: return 8649; - case JungleFence::JungleFence(true, false, true, true).ID: return 8652; - case JungleFence::JungleFence(true, false, true, false).ID: return 8653; - case JungleFence::JungleFence(true, false, false, true).ID: return 8656; - case JungleFence::JungleFence(true, false, false, false).ID: return 8657; - case JungleFence::JungleFence(false, true, true, true).ID: return 8660; - case JungleFence::JungleFence(false, true, true, false).ID: return 8661; - case JungleFence::JungleFence(false, true, false, true).ID: return 8664; - case JungleFence::JungleFence(false, true, false, false).ID: return 8665; - case JungleFence::JungleFence(false, false, true, true).ID: return 8668; - case JungleFence::JungleFence(false, false, true, false).ID: return 8669; - case JungleFence::JungleFence(false, false, false, true).ID: return 8672; - case JungleFence::JungleFence(false, false, false, false).ID: return 8673; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8482; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8483; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8484; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8485; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8486; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8487; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8488; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8489; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8490; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8491; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8492; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8493; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8494; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8495; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8496; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8497; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8498; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8499; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8500; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8501; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8502; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8503; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8504; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8505; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8506; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8507; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8508; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8509; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8510; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8511; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8512; - case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8513; - case JungleLeaves::JungleLeaves(1, true).ID: return 187; - case JungleLeaves::JungleLeaves(1, false).ID: return 188; - case JungleLeaves::JungleLeaves(2, true).ID: return 189; - case JungleLeaves::JungleLeaves(2, false).ID: return 190; - case JungleLeaves::JungleLeaves(3, true).ID: return 191; - case JungleLeaves::JungleLeaves(3, false).ID: return 192; - case JungleLeaves::JungleLeaves(4, true).ID: return 193; - case JungleLeaves::JungleLeaves(4, false).ID: return 194; - case JungleLeaves::JungleLeaves(5, true).ID: return 195; - case JungleLeaves::JungleLeaves(5, false).ID: return 196; - case JungleLeaves::JungleLeaves(6, true).ID: return 197; - case JungleLeaves::JungleLeaves(6, false).ID: return 198; - case JungleLeaves::JungleLeaves(7, true).ID: return 199; - case JungleLeaves::JungleLeaves(7, false).ID: return 200; - case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 82; - case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 83; - case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 84; - case JunglePlanks::JunglePlanks().ID: return 18; - case JunglePressurePlate::JunglePressurePlate(true).ID: return 3879; - case JunglePressurePlate::JunglePressurePlate(false).ID: return 3880; - case JungleSapling::JungleSapling(0).ID: return 27; - case JungleSapling::JungleSapling(1).ID: return 28; - case JungleSign::JungleSign(0).ID: return 3510; - case JungleSign::JungleSign(1).ID: return 3512; - case JungleSign::JungleSign(2).ID: return 3514; - case JungleSign::JungleSign(3).ID: return 3516; - case JungleSign::JungleSign(4).ID: return 3518; - case JungleSign::JungleSign(5).ID: return 3520; - case JungleSign::JungleSign(6).ID: return 3522; - case JungleSign::JungleSign(7).ID: return 3524; - case JungleSign::JungleSign(8).ID: return 3526; - case JungleSign::JungleSign(9).ID: return 3528; - case JungleSign::JungleSign(10).ID: return 3530; - case JungleSign::JungleSign(11).ID: return 3532; - case JungleSign::JungleSign(12).ID: return 3534; - case JungleSign::JungleSign(13).ID: return 3536; - case JungleSign::JungleSign(14).ID: return 3538; - case JungleSign::JungleSign(15).ID: return 3540; - case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 8319; - case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 8321; - case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 8323; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5565; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5567; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5569; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5571; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5573; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5575; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5577; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5579; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5581; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5583; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5585; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5587; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5589; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5591; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5593; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5595; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5597; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5599; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5601; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5603; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5605; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5607; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5609; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5611; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5613; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5615; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5617; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5619; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5621; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5623; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::Straight).ID: return 5625; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerLeft).ID: return 5627; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::InnerRight).ID: return 5629; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterLeft).ID: return 5631; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::OuterRight).ID: return 5633; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight).ID: return 5635; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerLeft).ID: return 5637; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::InnerRight).ID: return 5639; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterLeft).ID: return 5641; - case JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::OuterRight).ID: return 5643; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: return 4304; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: return 4306; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: return 4308; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: return 4310; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: return 4312; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: return 4314; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: return 4316; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: return 4318; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: return 4320; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: return 4322; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: return 4324; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: return 4326; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: return 4328; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: return 4330; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: return 4332; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: return 4334; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: return 4336; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: return 4338; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: return 4340; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: return 4342; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: return 4344; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: return 4346; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: return 4348; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: return 4350; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: return 4352; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: return 4354; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: return 4356; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: return 4358; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: return 4360; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: return 4362; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: return 4364; - case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: return 4366; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3768; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3770; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3772; - case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3774; - case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 118; - case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 119; - case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 120; - case Kelp::Kelp(0).ID: return 9470; - case Kelp::Kelp(1).ID: return 9471; - case Kelp::Kelp(2).ID: return 9472; - case Kelp::Kelp(3).ID: return 9473; - case Kelp::Kelp(4).ID: return 9474; - case Kelp::Kelp(5).ID: return 9475; - case Kelp::Kelp(6).ID: return 9476; - case Kelp::Kelp(7).ID: return 9477; - case Kelp::Kelp(8).ID: return 9478; - case Kelp::Kelp(9).ID: return 9479; - case Kelp::Kelp(10).ID: return 9480; - case Kelp::Kelp(11).ID: return 9481; - case Kelp::Kelp(12).ID: return 9482; - case Kelp::Kelp(13).ID: return 9483; - case Kelp::Kelp(14).ID: return 9484; - case Kelp::Kelp(15).ID: return 9485; - case Kelp::Kelp(16).ID: return 9486; - case Kelp::Kelp(17).ID: return 9487; - case Kelp::Kelp(18).ID: return 9488; - case Kelp::Kelp(19).ID: return 9489; - case Kelp::Kelp(20).ID: return 9490; - case Kelp::Kelp(21).ID: return 9491; - case Kelp::Kelp(22).ID: return 9492; - case Kelp::Kelp(23).ID: return 9493; - case Kelp::Kelp(24).ID: return 9494; - case Kelp::Kelp(25).ID: return 9495; - case KelpPlant::KelpPlant().ID: return 9496; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3638; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3640; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3642; - case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3644; - case Lantern::Lantern(true).ID: return 14886; - case Lantern::Lantern(false).ID: return 14887; - case LapisBlock::LapisBlock().ID: return 233; - case LapisOre::LapisOre().ID: return 232; - case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 7895; - case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 7896; - case Lava::Lava(0).ID: return 50; - case Lava::Lava(1).ID: return 51; - case Lava::Lava(2).ID: return 52; - case Lava::Lava(3).ID: return 53; - case Lava::Lava(4).ID: return 54; - case Lava::Lava(5).ID: return 55; - case Lava::Lava(6).ID: return 56; - case Lava::Lava(7).ID: return 57; - case Lava::Lava(8).ID: return 58; - case Lava::Lava(9).ID: return 59; - case Lava::Lava(10).ID: return 60; - case Lava::Lava(11).ID: return 61; - case Lava::Lava(12).ID: return 62; - case Lava::Lava(13).ID: return 63; - case Lava::Lava(14).ID: return 64; - case Lava::Lava(15).ID: return 65; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 14833; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 14834; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 14835; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 14836; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 14837; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 14838; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 14839; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 14840; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 14841; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 14842; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 14843; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 14844; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 14845; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 14846; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 14847; - case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 14848; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3783; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3784; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3785; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3786; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3787; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3788; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3789; - case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3790; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3791; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3792; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3793; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3794; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3795; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3796; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3797; - case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3798; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3799; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3800; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3801; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3802; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3803; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3804; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3805; - case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3806; - case LightBlueBanner::LightBlueBanner(0).ID: return 7945; - case LightBlueBanner::LightBlueBanner(1).ID: return 7946; - case LightBlueBanner::LightBlueBanner(2).ID: return 7947; - case LightBlueBanner::LightBlueBanner(3).ID: return 7948; - case LightBlueBanner::LightBlueBanner(4).ID: return 7949; - case LightBlueBanner::LightBlueBanner(5).ID: return 7950; - case LightBlueBanner::LightBlueBanner(6).ID: return 7951; - case LightBlueBanner::LightBlueBanner(7).ID: return 7952; - case LightBlueBanner::LightBlueBanner(8).ID: return 7953; - case LightBlueBanner::LightBlueBanner(9).ID: return 7954; - case LightBlueBanner::LightBlueBanner(10).ID: return 7955; - case LightBlueBanner::LightBlueBanner(11).ID: return 7956; - case LightBlueBanner::LightBlueBanner(12).ID: return 7957; - case LightBlueBanner::LightBlueBanner(13).ID: return 7958; - case LightBlueBanner::LightBlueBanner(14).ID: return 7959; - case LightBlueBanner::LightBlueBanner(15).ID: return 7960; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 1097; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 1098; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 1099; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 1100; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 1101; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 1102; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 1103; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 1104; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 1105; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 1106; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 1107; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 1108; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 1109; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 1110; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 1111; - case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 1112; - case LightBlueCarpet::LightBlueCarpet().ID: return 7869; - case LightBlueConcrete::LightBlueConcrete().ID: return 9441; - case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 9457; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9386; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9387; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9388; - case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9389; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9296; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9297; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9298; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9299; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9300; - case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9301; - case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 4098; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 6961; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 6962; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 6965; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 6966; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 6969; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 6970; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 6973; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 6974; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 6977; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 6978; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 6981; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 6982; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 6985; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 6986; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 6989; - case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 6990; - case LightBlueTerracotta::LightBlueTerracotta().ID: return 6850; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8165; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8166; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8167; - case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8168; - case LightBlueWool::LightBlueWool().ID: return 1387; - case LightGrayBanner::LightGrayBanner(0).ID: return 8025; - case LightGrayBanner::LightGrayBanner(1).ID: return 8026; - case LightGrayBanner::LightGrayBanner(2).ID: return 8027; - case LightGrayBanner::LightGrayBanner(3).ID: return 8028; - case LightGrayBanner::LightGrayBanner(4).ID: return 8029; - case LightGrayBanner::LightGrayBanner(5).ID: return 8030; - case LightGrayBanner::LightGrayBanner(6).ID: return 8031; - case LightGrayBanner::LightGrayBanner(7).ID: return 8032; - case LightGrayBanner::LightGrayBanner(8).ID: return 8033; - case LightGrayBanner::LightGrayBanner(9).ID: return 8034; - case LightGrayBanner::LightGrayBanner(10).ID: return 8035; - case LightGrayBanner::LightGrayBanner(11).ID: return 8036; - case LightGrayBanner::LightGrayBanner(12).ID: return 8037; - case LightGrayBanner::LightGrayBanner(13).ID: return 8038; - case LightGrayBanner::LightGrayBanner(14).ID: return 8039; - case LightGrayBanner::LightGrayBanner(15).ID: return 8040; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 1177; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 1178; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 1179; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 1180; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 1181; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 1182; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 1183; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 1184; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 1185; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 1186; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 1187; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 1188; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 1189; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 1190; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 1191; - case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 1192; - case LightGrayCarpet::LightGrayCarpet().ID: return 7874; - case LightGrayConcrete::LightGrayConcrete().ID: return 9446; - case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 9462; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9406; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9407; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9408; - case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9409; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9326; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9327; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9328; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9329; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9330; - case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9331; - case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 4103; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 7121; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 7122; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 7125; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 7126; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 7129; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 7130; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 7133; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 7134; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 7137; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 7138; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 7141; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 7142; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 7145; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 7146; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 7149; - case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 7150; - case LightGrayTerracotta::LightGrayTerracotta().ID: return 6855; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8185; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8186; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8187; - case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8188; - case LightGrayWool::LightGrayWool().ID: return 1392; - case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 6646; - case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 6647; - case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 6648; - case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 6649; - case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 6650; - case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 6651; - case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 6652; - case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 6653; - case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 6654; - case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 6655; - case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 6656; - case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 6657; - case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 6658; - case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 6659; - case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 6660; - case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 6661; - case Lilac::Lilac(Lilac::Half::Upper).ID: return 7887; - case Lilac::Lilac(Lilac::Half::Lower).ID: return 7888; - case LilyOfTheValley::LilyOfTheValley().ID: return 1424; - case LilyPad::LilyPad().ID: return 5014; - case LimeBanner::LimeBanner(0).ID: return 7977; - case LimeBanner::LimeBanner(1).ID: return 7978; - case LimeBanner::LimeBanner(2).ID: return 7979; - case LimeBanner::LimeBanner(3).ID: return 7980; - case LimeBanner::LimeBanner(4).ID: return 7981; - case LimeBanner::LimeBanner(5).ID: return 7982; - case LimeBanner::LimeBanner(6).ID: return 7983; - case LimeBanner::LimeBanner(7).ID: return 7984; - case LimeBanner::LimeBanner(8).ID: return 7985; - case LimeBanner::LimeBanner(9).ID: return 7986; - case LimeBanner::LimeBanner(10).ID: return 7987; - case LimeBanner::LimeBanner(11).ID: return 7988; - case LimeBanner::LimeBanner(12).ID: return 7989; - case LimeBanner::LimeBanner(13).ID: return 7990; - case LimeBanner::LimeBanner(14).ID: return 7991; - case LimeBanner::LimeBanner(15).ID: return 7992; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 1129; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 1130; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 1131; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 1132; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 1133; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 1134; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 1135; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 1136; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 1137; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 1138; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 1139; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 1140; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 1141; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 1142; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 1143; - case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 1144; - case LimeCarpet::LimeCarpet().ID: return 7871; - case LimeConcrete::LimeConcrete().ID: return 9443; - case LimeConcretePowder::LimeConcretePowder().ID: return 9459; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9394; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9395; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9396; - case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9397; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9308; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9309; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9310; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9311; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9312; - case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9313; - case LimeStainedGlass::LimeStainedGlass().ID: return 4100; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 7025; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 7026; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 7029; - case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 7030; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 7033; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 7034; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 7037; - case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 7038; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 7041; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 7042; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 7045; - case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 7046; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 7049; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 7050; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 7053; - case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 7054; - case LimeTerracotta::LimeTerracotta().ID: return 6852; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8173; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8174; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8175; - case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8176; - case LimeWool::LimeWool().ID: return 1389; - case Lodestone::Lodestone().ID: return 15838; - case Loom::Loom(eBlockFace::BLOCK_FACE_ZM).ID: return 14787; - case Loom::Loom(eBlockFace::BLOCK_FACE_ZP).ID: return 14788; - case Loom::Loom(eBlockFace::BLOCK_FACE_XM).ID: return 14789; - case Loom::Loom(eBlockFace::BLOCK_FACE_XP).ID: return 14790; - case MagentaBanner::MagentaBanner(0).ID: return 7929; - case MagentaBanner::MagentaBanner(1).ID: return 7930; - case MagentaBanner::MagentaBanner(2).ID: return 7931; - case MagentaBanner::MagentaBanner(3).ID: return 7932; - case MagentaBanner::MagentaBanner(4).ID: return 7933; - case MagentaBanner::MagentaBanner(5).ID: return 7934; - case MagentaBanner::MagentaBanner(6).ID: return 7935; - case MagentaBanner::MagentaBanner(7).ID: return 7936; - case MagentaBanner::MagentaBanner(8).ID: return 7937; - case MagentaBanner::MagentaBanner(9).ID: return 7938; - case MagentaBanner::MagentaBanner(10).ID: return 7939; - case MagentaBanner::MagentaBanner(11).ID: return 7940; - case MagentaBanner::MagentaBanner(12).ID: return 7941; - case MagentaBanner::MagentaBanner(13).ID: return 7942; - case MagentaBanner::MagentaBanner(14).ID: return 7943; - case MagentaBanner::MagentaBanner(15).ID: return 7944; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 1081; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 1082; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 1083; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 1084; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 1085; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 1086; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 1087; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 1088; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 1089; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 1090; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 1091; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 1092; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 1093; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 1094; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 1095; - case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 1096; - case MagentaCarpet::MagentaCarpet().ID: return 7868; - case MagentaConcrete::MagentaConcrete().ID: return 9440; - case MagentaConcretePowder::MagentaConcretePowder().ID: return 9456; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9382; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9383; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9384; - case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9385; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9290; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9291; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9292; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9293; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9294; - case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9295; - case MagentaStainedGlass::MagentaStainedGlass().ID: return 4097; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 6929; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 6930; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 6933; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 6934; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 6937; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 6938; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 6941; - case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 6942; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 6945; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 6946; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 6949; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 6950; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 6953; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 6954; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 6957; - case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 6958; - case MagentaTerracotta::MagentaTerracotta().ID: return 6849; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8161; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8162; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8163; - case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8164; - case MagentaWool::MagentaWool().ID: return 1386; - case MagmaBlock::MagmaBlock().ID: return 9253; - case Melon::Melon().ID: return 4763; - case MelonStem::MelonStem(0).ID: return 4780; - case MelonStem::MelonStem(1).ID: return 4781; - case MelonStem::MelonStem(2).ID: return 4782; - case MelonStem::MelonStem(3).ID: return 4783; - case MelonStem::MelonStem(4).ID: return 4784; - case MelonStem::MelonStem(5).ID: return 4785; - case MelonStem::MelonStem(6).ID: return 4786; - case MelonStem::MelonStem(7).ID: return 4787; - case MossyCobblestone::MossyCobblestone().ID: return 1433; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Top).ID: return 10814; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Bottom).ID: return 10816; - case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Double).ID: return 10818; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 9990; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 9992; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 9994; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 9996; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 9998; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 10000; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 10002; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 10004; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 10006; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 10008; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 10010; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 10012; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 10014; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 10016; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 10018; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 10020; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 10022; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 10024; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 10026; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 10028; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 10030; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 10032; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 10034; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 10036; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 10038; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 10040; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 10042; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 10044; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 10046; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XM, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 10048; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::Straight).ID: return 10050; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 10052; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::InnerRight).ID: return 10054; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 10056; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Top, MossyCobblestoneStairs::Shape::OuterRight).ID: return 10058; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::Straight).ID: return 10060; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerLeft).ID: return 10062; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::InnerRight).ID: return 10064; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterLeft).ID: return 10066; - case MossyCobblestoneStairs::MossyCobblestoneStairs(eBlockFace::BLOCK_FACE_XP, MossyCobblestoneStairs::Half::Bottom, MossyCobblestoneStairs::Shape::OuterRight).ID: return 10068; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 5984; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 5985; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 5986; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 5990; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 5991; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 5992; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 5996; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 5997; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 5998; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6002; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6003; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6004; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6008; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6009; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6010; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6014; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6015; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6016; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 6020; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 6021; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 6022; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 6026; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 6027; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 6028; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 6032; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 6033; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 6034; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6038; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6039; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6040; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6044; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6045; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6046; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6050; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6051; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6052; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 6056; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 6057; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 6058; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 6062; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 6063; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 6064; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 6068; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 6069; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 6070; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6074; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6075; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6076; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6080; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6081; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6082; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6086; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6087; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6088; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 6092; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 6093; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 6094; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 6098; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 6099; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 6100; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 6104; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 6105; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 6106; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6110; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6111; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6112; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6116; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6117; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6118; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6122; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6123; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6124; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 6128; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 6129; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 6130; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 6134; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 6135; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 6136; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 6140; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 6141; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 6142; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6146; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6147; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6148; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6152; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6153; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6154; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6158; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6159; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6160; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 6164; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 6165; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 6166; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 6170; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 6171; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 6172; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 6176; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 6177; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 6178; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6182; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6183; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6184; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6188; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6189; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6190; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6194; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6195; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Low, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6196; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 6200; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 6201; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 6202; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 6206; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 6207; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 6208; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 6212; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 6213; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 6214; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6218; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6219; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6220; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6224; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6225; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6226; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6230; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6231; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6232; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 6236; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 6237; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 6238; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 6242; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 6243; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 6244; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 6248; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 6249; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 6250; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6254; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6255; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6256; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6260; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6261; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6262; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6266; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6267; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Low, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6268; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None).ID: return 6272; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Low).ID: return 6273; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::Tall).ID: return 6274; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::None).ID: return 6278; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Low).ID: return 6279; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::None, false, MossyCobblestoneWall::West::Tall).ID: return 6280; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::None).ID: return 6284; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Low).ID: return 6285; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, true, MossyCobblestoneWall::West::Tall).ID: return 6286; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::None).ID: return 6290; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Low).ID: return 6291; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Low, false, MossyCobblestoneWall::West::Tall).ID: return 6292; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::None).ID: return 6296; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Low).ID: return 6297; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, true, MossyCobblestoneWall::West::Tall).ID: return 6298; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::None).ID: return 6302; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Low).ID: return 6303; - case MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::Tall, MossyCobblestoneWall::North::Tall, MossyCobblestoneWall::South::Tall, false, MossyCobblestoneWall::West::Tall).ID: return 6304; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Top).ID: return 10802; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Bottom).ID: return 10804; - case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Double).ID: return 10806; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9830; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9832; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9834; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9836; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9838; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9840; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9842; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9844; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9846; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9848; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9850; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9852; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9854; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9856; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9858; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9860; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9862; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9864; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9866; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9868; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9870; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9872; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9874; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9876; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9878; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9880; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9882; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9884; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9886; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XM, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9888; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::Straight).ID: return 9890; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9892; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9894; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9896; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Top, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9898; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::Straight).ID: return 9900; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerLeft).ID: return 9902; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::InnerRight).ID: return 9904; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterLeft).ID: return 9906; - case MossyStoneBrickStairs::MossyStoneBrickStairs(eBlockFace::BLOCK_FACE_XP, MossyStoneBrickStairs::Half::Bottom, MossyStoneBrickStairs::Shape::OuterRight).ID: return 9908; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 11842; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 11843; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 11844; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 11848; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 11849; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 11850; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 11854; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 11855; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 11856; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 11860; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 11861; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 11862; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 11866; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 11867; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 11868; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 11872; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 11873; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 11874; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 11878; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 11879; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 11880; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 11884; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 11885; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 11886; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 11890; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 11891; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 11892; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 11896; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 11897; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 11898; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 11902; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 11903; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 11904; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 11908; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 11909; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 11910; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 11914; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 11915; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 11916; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 11920; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 11921; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 11922; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 11926; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 11927; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 11928; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 11932; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 11933; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 11934; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 11938; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 11939; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 11940; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 11944; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 11945; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::None, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 11946; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 11950; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 11951; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 11952; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 11956; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 11957; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 11958; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 11962; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 11963; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 11964; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 11968; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 11969; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 11970; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 11974; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 11975; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 11976; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 11980; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 11981; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 11982; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 11986; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 11987; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 11988; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 11992; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 11993; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 11994; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 11998; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 11999; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 12000; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 12004; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 12005; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 12006; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 12010; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 12011; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 12012; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 12016; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 12017; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 12018; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 12022; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 12023; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 12024; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 12028; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 12029; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 12030; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 12034; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 12035; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 12036; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 12040; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 12041; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 12042; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 12046; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 12047; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 12048; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 12052; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 12053; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Low, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 12054; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 12058; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 12059; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 12060; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 12064; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 12065; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 12066; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 12070; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 12071; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 12072; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 12076; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 12077; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 12078; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 12082; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 12083; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 12084; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 12088; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 12089; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::None, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 12090; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 12094; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 12095; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 12096; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 12100; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 12101; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 12102; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 12106; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 12107; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 12108; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 12112; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 12113; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 12114; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 12118; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 12119; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 12120; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 12124; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 12125; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Low, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 12126; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::None).ID: return 12130; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Low).ID: return 12131; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, true, MossyStoneBrickWall::West::Tall).ID: return 12132; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::None).ID: return 12136; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Low).ID: return 12137; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::None, false, MossyStoneBrickWall::West::Tall).ID: return 12138; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::None).ID: return 12142; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Low).ID: return 12143; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, true, MossyStoneBrickWall::West::Tall).ID: return 12144; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::None).ID: return 12148; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Low).ID: return 12149; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Low, false, MossyStoneBrickWall::West::Tall).ID: return 12150; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::None).ID: return 12154; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Low).ID: return 12155; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, true, MossyStoneBrickWall::West::Tall).ID: return 12156; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::None).ID: return 12160; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Low).ID: return 12161; - case MossyStoneBrickWall::MossyStoneBrickWall(MossyStoneBrickWall::East::Tall, MossyStoneBrickWall::North::Tall, MossyStoneBrickWall::South::Tall, false, MossyStoneBrickWall::West::Tall).ID: return 12162; - case MossyStoneBricks::MossyStoneBricks().ID: return 4496; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1400; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1401; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1402; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1403; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1404; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1405; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1406; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1407; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1408; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1409; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1410; - case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1411; - case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4633; - case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4634; - case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4635; - case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4636; - case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4637; - case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4638; - case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4639; - case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4640; - case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4641; - case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4642; - case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4643; - case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4644; - case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4645; - case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4646; - case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4647; - case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4648; - case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4649; - case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4650; - case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4651; - case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4652; - case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4653; - case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4654; - case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4655; - case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4656; - case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4657; - case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4658; - case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4659; - case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4660; - case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4661; - case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4662; - case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4663; - case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4664; - case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4665; - case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4666; - case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4667; - case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4668; - case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4669; - case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4670; - case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4671; - case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4672; - case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4673; - case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4674; - case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4675; - case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4676; - case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4677; - case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4678; - case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4679; - case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4680; - case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4681; - case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4682; - case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4683; - case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4684; - case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4685; - case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4686; - case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4687; - case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4688; - case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4689; - case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4690; - case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4691; - case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4692; - case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4693; - case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4694; - case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4695; - case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4696; - case Mycelium::Mycelium(true).ID: return 5012; - case Mycelium::Mycelium(false).ID: return 5013; - case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 5018; - case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 5019; - case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 5022; - case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 5023; - case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 5026; - case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 5027; - case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 5030; - case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 5031; - case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 5034; - case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 5035; - case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 5038; - case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 5039; - case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 5042; - case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 5043; - case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 5046; - case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 5047; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 8385; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 8387; - case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 8389; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5049; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5051; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5053; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5055; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5057; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5059; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5061; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5063; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5065; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5067; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5069; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5071; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5073; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5075; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5077; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5079; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5081; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5083; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5085; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5087; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5089; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5091; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5093; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5095; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5097; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5099; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5101; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5103; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5105; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5107; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight).ID: return 5109; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerLeft).ID: return 5111; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::InnerRight).ID: return 5113; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterLeft).ID: return 5115; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::OuterRight).ID: return 5117; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight).ID: return 5119; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerLeft).ID: return 5121; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::InnerRight).ID: return 5123; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterLeft).ID: return 5125; - case NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::OuterRight).ID: return 5127; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 12814; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 12815; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 12816; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 12820; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 12821; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 12822; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 12826; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 12827; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 12828; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 12832; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 12833; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 12834; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 12838; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 12839; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 12840; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 12844; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 12845; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 12846; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 12850; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 12851; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 12852; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 12856; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 12857; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 12858; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 12862; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 12863; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 12864; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 12868; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 12869; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 12870; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 12874; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 12875; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 12876; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 12880; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 12881; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 12882; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 12886; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 12887; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 12888; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 12892; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 12893; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 12894; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 12898; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 12899; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 12900; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 12904; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 12905; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 12906; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 12910; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 12911; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 12912; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 12916; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 12917; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::None, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 12918; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 12922; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 12923; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 12924; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 12928; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 12929; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 12930; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 12934; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 12935; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 12936; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 12940; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 12941; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 12942; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 12946; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 12947; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 12948; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 12952; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 12953; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 12954; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 12958; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 12959; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 12960; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 12964; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 12965; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 12966; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 12970; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 12971; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 12972; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 12976; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 12977; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 12978; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 12982; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 12983; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 12984; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 12988; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 12989; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 12990; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 12994; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 12995; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 12996; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 13000; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 13001; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 13002; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 13006; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 13007; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 13008; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 13012; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 13013; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 13014; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 13018; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 13019; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 13020; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 13024; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 13025; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Low, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 13026; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 13030; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 13031; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 13032; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 13036; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 13037; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 13038; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 13042; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 13043; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 13044; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 13048; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 13049; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 13050; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 13054; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 13055; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 13056; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 13060; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 13061; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::None, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 13062; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 13066; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 13067; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 13068; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 13072; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 13073; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 13074; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 13078; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 13079; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 13080; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 13084; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 13085; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 13086; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 13090; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 13091; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 13092; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 13096; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 13097; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Low, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 13098; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::None).ID: return 13102; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::Low).ID: return 13103; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::None, true, NetherBrickWall::West::Tall).ID: return 13104; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::None).ID: return 13108; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::Low).ID: return 13109; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::None, false, NetherBrickWall::West::Tall).ID: return 13110; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::None).ID: return 13114; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::Low).ID: return 13115; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, true, NetherBrickWall::West::Tall).ID: return 13116; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::None).ID: return 13120; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::Low).ID: return 13121; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Low, false, NetherBrickWall::West::Tall).ID: return 13122; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::None).ID: return 13126; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Low).ID: return 13127; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, true, NetherBrickWall::West::Tall).ID: return 13128; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::None).ID: return 13132; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Low).ID: return 13133; - case NetherBrickWall::NetherBrickWall(NetherBrickWall::East::Tall, NetherBrickWall::North::Tall, NetherBrickWall::South::Tall, false, NetherBrickWall::West::Tall).ID: return 13134; - case NetherBricks::NetherBricks().ID: return 5015; - case NetherGoldOre::NetherGoldOre().ID: return 72; - case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 4014; - case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 4015; - case NetherQuartzOre::NetherQuartzOre().ID: return 6727; - case NetherSprouts::NetherSprouts().ID: return 14974; - case NetherWart::NetherWart(0).ID: return 5128; - case NetherWart::NetherWart(1).ID: return 5129; - case NetherWart::NetherWart(2).ID: return 5130; - case NetherWart::NetherWart(3).ID: return 5131; - case NetherWartBlock::NetherWartBlock().ID: return 9254; - case NetheriteBlock::NetheriteBlock().ID: return 15826; - case Netherrack::Netherrack().ID: return 3999; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 249; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 250; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 251; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 252; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 253; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 254; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 255; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 256; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 257; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 258; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 259; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 260; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 261; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 262; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 263; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 264; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 265; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 266; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 267; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 268; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 269; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 270; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 271; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 272; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 273; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 274; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 275; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 276; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 277; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 278; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 279; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 280; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 281; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 282; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 283; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 284; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 285; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 286; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 287; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 288; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 289; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 290; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 291; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 292; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 293; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 294; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 295; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 296; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 297; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 298; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 299; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 300; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 301; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 302; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 303; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 304; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 305; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 306; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 307; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 308; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 309; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 310; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 311; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 312; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 313; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 314; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 315; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 316; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 317; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 318; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 319; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 320; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 321; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 322; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 323; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 324; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 325; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 326; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 327; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 328; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 329; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 330; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 331; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 332; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 333; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 334; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 335; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 336; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 337; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 338; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 339; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 340; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 341; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 342; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 343; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 344; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 345; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 346; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 347; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 348; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 349; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 350; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 351; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 352; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 353; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 354; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 355; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 356; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 357; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 358; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 359; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 360; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 361; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 362; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 363; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 364; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 365; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 366; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 367; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 368; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 369; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 370; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 371; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 372; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 373; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 374; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 375; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 376; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 377; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 378; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 379; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 380; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 381; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 382; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 383; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 384; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 385; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 386; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 387; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 388; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 389; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 390; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 391; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 392; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 393; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 394; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 395; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 396; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 397; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 398; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 399; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 400; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 401; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 402; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 403; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 404; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 405; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 406; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 407; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 408; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 409; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 410; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 411; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 412; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 413; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 414; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 415; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 416; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 417; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 418; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 419; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 420; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 421; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 422; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 423; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 424; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 425; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 426; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 427; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 428; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 429; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 430; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 431; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 432; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 433; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 434; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 435; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 436; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 437; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 438; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 439; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 440; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 441; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 442; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 443; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 444; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 445; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 446; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 447; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 448; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 449; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 450; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 451; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 452; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 453; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 454; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 455; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 456; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 457; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 458; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 459; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 460; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 461; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 462; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 463; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 464; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 465; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 466; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 467; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 468; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 469; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 470; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 471; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 472; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 473; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 474; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 475; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 476; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 477; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 478; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 479; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 480; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 481; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 482; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 483; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 484; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 485; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 486; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 487; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 488; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 489; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 490; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 491; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 492; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 493; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 494; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 495; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 496; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 497; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 498; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 499; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 500; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 501; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 502; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 503; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 504; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 505; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 506; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 507; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 508; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 509; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 510; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 511; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 512; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 513; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 514; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 515; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 516; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 517; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 518; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 519; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 520; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 521; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 522; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 523; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 524; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 525; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 526; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 527; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 528; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 529; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 530; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 531; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 532; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 533; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 534; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 535; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 536; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 537; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 538; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 539; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 540; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 541; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 542; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 543; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 544; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 545; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 546; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 547; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 548; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 549; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 550; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 551; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 552; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 553; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 554; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 555; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 556; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 557; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 558; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 559; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 560; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 561; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 562; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 563; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 564; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 565; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 566; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 567; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 568; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 569; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 570; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 571; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 572; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 573; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 574; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 575; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 576; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 577; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 578; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 579; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 580; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 581; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 582; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 583; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 584; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 585; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 586; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 587; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 588; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 589; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 590; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 591; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 592; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 593; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 594; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 595; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 596; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 597; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 598; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 599; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 600; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 601; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 602; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 603; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 604; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 605; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 606; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 607; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 608; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 609; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 610; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 611; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 612; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 613; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 614; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 615; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 616; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 617; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 618; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 619; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 620; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 621; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 622; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 623; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 624; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 625; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 626; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 627; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 628; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 629; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 630; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 631; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 632; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 633; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 634; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 635; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 636; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 637; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 638; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 639; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 640; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 641; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 642; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 643; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 644; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 645; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 646; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 647; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 648; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 649; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 650; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 651; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 652; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 653; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 654; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 655; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 656; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 657; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 658; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 659; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 660; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 661; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 662; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 663; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 664; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 665; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 666; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 667; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 668; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 669; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 670; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 671; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 672; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 673; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 674; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 675; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 676; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 677; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 678; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 679; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 680; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 681; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 682; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 683; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 684; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 685; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 686; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 687; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 688; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 689; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 690; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 691; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 692; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 693; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 694; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 695; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 696; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 697; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 698; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 699; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 700; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 701; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 702; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 703; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 704; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 705; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 706; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 707; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 708; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 709; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 710; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 711; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 712; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 713; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 714; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 715; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 716; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 717; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 718; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 719; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 720; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 721; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 722; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 723; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 724; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 725; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 726; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 727; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 728; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 729; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 730; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 731; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 732; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 733; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 734; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 735; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 736; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 737; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 738; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 739; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 740; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 741; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 742; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 743; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 744; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 745; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 746; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 747; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 748; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, true).ID: return 749; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, false).ID: return 750; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, true).ID: return 751; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, false).ID: return 752; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, true).ID: return 753; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, false).ID: return 754; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, true).ID: return 755; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, false).ID: return 756; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, true).ID: return 757; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, false).ID: return 758; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, true).ID: return 759; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, false).ID: return 760; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, true).ID: return 761; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, false).ID: return 762; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, true).ID: return 763; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, false).ID: return 764; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, true).ID: return 765; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, false).ID: return 766; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, true).ID: return 767; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, false).ID: return 768; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, true).ID: return 769; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, false).ID: return 770; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, true).ID: return 771; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, false).ID: return 772; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, true).ID: return 773; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, false).ID: return 774; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, true).ID: return 775; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, false).ID: return 776; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, true).ID: return 777; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, false).ID: return 778; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, true).ID: return 779; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, false).ID: return 780; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, true).ID: return 781; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, false).ID: return 782; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, true).ID: return 783; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, false).ID: return 784; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, true).ID: return 785; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, false).ID: return 786; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, true).ID: return 787; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, false).ID: return 788; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, true).ID: return 789; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, false).ID: return 790; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, true).ID: return 791; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, false).ID: return 792; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, true).ID: return 793; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, false).ID: return 794; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, true).ID: return 795; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, false).ID: return 796; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, true).ID: return 797; - case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, false).ID: return 798; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, true).ID: return 799; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, false).ID: return 800; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, true).ID: return 801; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, false).ID: return 802; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, true).ID: return 803; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, false).ID: return 804; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, true).ID: return 805; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, false).ID: return 806; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, true).ID: return 807; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, false).ID: return 808; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, true).ID: return 809; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, false).ID: return 810; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, true).ID: return 811; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, false).ID: return 812; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, true).ID: return 813; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, false).ID: return 814; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, true).ID: return 815; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, false).ID: return 816; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, true).ID: return 817; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, false).ID: return 818; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, true).ID: return 819; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, false).ID: return 820; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, true).ID: return 821; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, false).ID: return 822; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, true).ID: return 823; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, false).ID: return 824; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, true).ID: return 825; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, false).ID: return 826; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, true).ID: return 827; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, false).ID: return 828; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, true).ID: return 829; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, false).ID: return 830; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, true).ID: return 831; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, false).ID: return 832; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, true).ID: return 833; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, false).ID: return 834; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, true).ID: return 835; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, false).ID: return 836; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, true).ID: return 837; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, false).ID: return 838; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, true).ID: return 839; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, false).ID: return 840; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, true).ID: return 841; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, false).ID: return 842; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, true).ID: return 843; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, false).ID: return 844; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, true).ID: return 845; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, false).ID: return 846; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, true).ID: return 847; - case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, false).ID: return 848; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, true).ID: return 849; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, false).ID: return 850; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, true).ID: return 851; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, false).ID: return 852; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, true).ID: return 853; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, false).ID: return 854; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, true).ID: return 855; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, false).ID: return 856; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, true).ID: return 857; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, false).ID: return 858; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, true).ID: return 859; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, false).ID: return 860; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, true).ID: return 861; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, false).ID: return 862; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, true).ID: return 863; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, false).ID: return 864; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, true).ID: return 865; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, false).ID: return 866; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, true).ID: return 867; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, false).ID: return 868; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, true).ID: return 869; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, false).ID: return 870; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, true).ID: return 871; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, false).ID: return 872; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, true).ID: return 873; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, false).ID: return 874; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, true).ID: return 875; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, false).ID: return 876; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, true).ID: return 877; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, false).ID: return 878; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, true).ID: return 879; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, false).ID: return 880; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, true).ID: return 881; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, false).ID: return 882; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, true).ID: return 883; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, false).ID: return 884; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, true).ID: return 885; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, false).ID: return 886; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, true).ID: return 887; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, false).ID: return 888; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, true).ID: return 889; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, false).ID: return 890; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, true).ID: return 891; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, false).ID: return 892; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, true).ID: return 893; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, false).ID: return 894; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, true).ID: return 895; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, false).ID: return 896; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, true).ID: return 897; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, false).ID: return 898; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, true).ID: return 899; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, false).ID: return 900; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, true).ID: return 901; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, false).ID: return 902; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, true).ID: return 903; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, false).ID: return 904; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, true).ID: return 905; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, false).ID: return 906; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, true).ID: return 907; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, false).ID: return 908; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, true).ID: return 909; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, false).ID: return 910; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, true).ID: return 911; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, false).ID: return 912; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, true).ID: return 913; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, false).ID: return 914; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, true).ID: return 915; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, false).ID: return 916; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, true).ID: return 917; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, false).ID: return 918; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, true).ID: return 919; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, false).ID: return 920; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, true).ID: return 921; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, false).ID: return 922; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, true).ID: return 923; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, false).ID: return 924; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, true).ID: return 925; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, false).ID: return 926; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, true).ID: return 927; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, false).ID: return 928; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, true).ID: return 929; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, false).ID: return 930; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, true).ID: return 931; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, false).ID: return 932; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, true).ID: return 933; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, false).ID: return 934; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, true).ID: return 935; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, false).ID: return 936; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, true).ID: return 937; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, false).ID: return 938; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, true).ID: return 939; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, false).ID: return 940; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, true).ID: return 941; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, false).ID: return 942; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, true).ID: return 943; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, false).ID: return 944; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, true).ID: return 945; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, false).ID: return 946; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, true).ID: return 947; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, false).ID: return 948; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, true).ID: return 949; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, false).ID: return 950; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, true).ID: return 951; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, false).ID: return 952; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, true).ID: return 953; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, false).ID: return 954; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, true).ID: return 955; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, false).ID: return 956; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, true).ID: return 957; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, false).ID: return 958; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, true).ID: return 959; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, false).ID: return 960; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, true).ID: return 961; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, false).ID: return 962; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, true).ID: return 963; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, false).ID: return 964; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, true).ID: return 965; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, false).ID: return 966; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, true).ID: return 967; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, false).ID: return 968; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, true).ID: return 969; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, false).ID: return 970; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, true).ID: return 971; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, false).ID: return 972; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, true).ID: return 973; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, false).ID: return 974; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, true).ID: return 975; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, false).ID: return 976; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, true).ID: return 977; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, false).ID: return 978; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, true).ID: return 979; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, false).ID: return 980; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, true).ID: return 981; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, false).ID: return 982; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, true).ID: return 983; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, false).ID: return 984; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, true).ID: return 985; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, false).ID: return 986; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, true).ID: return 987; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, false).ID: return 988; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, true).ID: return 989; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, false).ID: return 990; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, true).ID: return 991; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, false).ID: return 992; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, true).ID: return 993; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, false).ID: return 994; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, true).ID: return 995; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, false).ID: return 996; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, true).ID: return 997; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, false).ID: return 998; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, true).ID: return 999; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, false).ID: return 1000; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, true).ID: return 1001; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, false).ID: return 1002; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, true).ID: return 1003; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, false).ID: return 1004; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, true).ID: return 1005; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, false).ID: return 1006; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, true).ID: return 1007; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, false).ID: return 1008; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, true).ID: return 1009; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, false).ID: return 1010; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, true).ID: return 1011; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, false).ID: return 1012; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, true).ID: return 1013; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, false).ID: return 1014; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, true).ID: return 1015; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, false).ID: return 1016; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, true).ID: return 1017; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, false).ID: return 1018; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, true).ID: return 1019; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, false).ID: return 1020; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, true).ID: return 1021; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, false).ID: return 1022; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, true).ID: return 1023; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, false).ID: return 1024; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, true).ID: return 1025; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, false).ID: return 1026; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, true).ID: return 1027; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, false).ID: return 1028; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, true).ID: return 1029; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, false).ID: return 1030; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, true).ID: return 1031; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, false).ID: return 1032; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, true).ID: return 1033; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, false).ID: return 1034; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, true).ID: return 1035; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, false).ID: return 1036; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, true).ID: return 1037; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, false).ID: return 1038; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, true).ID: return 1039; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, false).ID: return 1040; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, true).ID: return 1041; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, false).ID: return 1042; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, true).ID: return 1043; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, false).ID: return 1044; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, true).ID: return 1045; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, false).ID: return 1046; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, true).ID: return 1047; - case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, false).ID: return 1048; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6346; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6347; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6348; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6349; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6350; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6351; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6352; - case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6353; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6354; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6355; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6356; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6357; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6358; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6359; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6360; - case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6361; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6362; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6363; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6364; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6365; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6366; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6367; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6368; - case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6369; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3573; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3574; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3575; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3576; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3577; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3578; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3579; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3580; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3581; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3582; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3583; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3584; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3585; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3586; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3587; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3588; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3589; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3590; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3591; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3592; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3593; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3594; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3595; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3596; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3597; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3598; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3599; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3600; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3601; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3602; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3603; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3604; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3605; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3606; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3607; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3608; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3609; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3610; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3611; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3612; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3613; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3614; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3615; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3616; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3617; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3618; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3619; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3620; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: return 3621; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: return 3622; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: return 3623; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: return 3624; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: return 3625; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: return 3626; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: return 3627; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: return 3628; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: return 3629; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: return 3630; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: return 3631; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: return 3632; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: return 3633; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: return 3634; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: return 3635; - case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: return 3636; - case OakFence::OakFence(true, true, true, true).ID: return 3968; - case OakFence::OakFence(true, true, true, false).ID: return 3969; - case OakFence::OakFence(true, true, false, true).ID: return 3972; - case OakFence::OakFence(true, true, false, false).ID: return 3973; - case OakFence::OakFence(true, false, true, true).ID: return 3976; - case OakFence::OakFence(true, false, true, false).ID: return 3977; - case OakFence::OakFence(true, false, false, true).ID: return 3980; - case OakFence::OakFence(true, false, false, false).ID: return 3981; - case OakFence::OakFence(false, true, true, true).ID: return 3984; - case OakFence::OakFence(false, true, true, false).ID: return 3985; - case OakFence::OakFence(false, true, false, true).ID: return 3988; - case OakFence::OakFence(false, true, false, false).ID: return 3989; - case OakFence::OakFence(false, false, true, true).ID: return 3992; - case OakFence::OakFence(false, false, true, false).ID: return 3993; - case OakFence::OakFence(false, false, false, true).ID: return 3996; - case OakFence::OakFence(false, false, false, false).ID: return 3997; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4820; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4821; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4822; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4823; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4824; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4825; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4826; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4827; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4828; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4829; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4830; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4831; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4832; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4833; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4834; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4835; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4836; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4837; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4838; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4839; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4840; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4841; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4842; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4843; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4844; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4845; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4846; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4847; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4848; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4849; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4850; - case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4851; - case OakLeaves::OakLeaves(1, true).ID: return 145; - case OakLeaves::OakLeaves(1, false).ID: return 146; - case OakLeaves::OakLeaves(2, true).ID: return 147; - case OakLeaves::OakLeaves(2, false).ID: return 148; - case OakLeaves::OakLeaves(3, true).ID: return 149; - case OakLeaves::OakLeaves(3, false).ID: return 150; - case OakLeaves::OakLeaves(4, true).ID: return 151; - case OakLeaves::OakLeaves(4, false).ID: return 152; - case OakLeaves::OakLeaves(5, true).ID: return 153; - case OakLeaves::OakLeaves(5, false).ID: return 154; - case OakLeaves::OakLeaves(6, true).ID: return 155; - case OakLeaves::OakLeaves(6, false).ID: return 156; - case OakLeaves::OakLeaves(7, true).ID: return 157; - case OakLeaves::OakLeaves(7, false).ID: return 158; - case OakLog::OakLog(OakLog::Axis::X).ID: return 73; - case OakLog::OakLog(OakLog::Axis::Y).ID: return 74; - case OakLog::OakLog(OakLog::Axis::Z).ID: return 75; - case OakPlanks::OakPlanks().ID: return 15; - case OakPressurePlate::OakPressurePlate(true).ID: return 3873; - case OakPressurePlate::OakPressurePlate(false).ID: return 3874; - case OakSapling::OakSapling(0).ID: return 21; - case OakSapling::OakSapling(1).ID: return 22; - case OakSign::OakSign(0).ID: return 3382; - case OakSign::OakSign(1).ID: return 3384; - case OakSign::OakSign(2).ID: return 3386; - case OakSign::OakSign(3).ID: return 3388; - case OakSign::OakSign(4).ID: return 3390; - case OakSign::OakSign(5).ID: return 3392; - case OakSign::OakSign(6).ID: return 3394; - case OakSign::OakSign(7).ID: return 3396; - case OakSign::OakSign(8).ID: return 3398; - case OakSign::OakSign(9).ID: return 3400; - case OakSign::OakSign(10).ID: return 3402; - case OakSign::OakSign(11).ID: return 3404; - case OakSign::OakSign(12).ID: return 3406; - case OakSign::OakSign(13).ID: return 3408; - case OakSign::OakSign(14).ID: return 3410; - case OakSign::OakSign(15).ID: return 3412; - case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 8301; - case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 8303; - case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 8305; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1955; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1957; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1959; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1961; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1963; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1965; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1967; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1969; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1971; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1973; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1975; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1977; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1979; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 1981; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 1983; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 1985; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 1987; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 1989; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 1991; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 1993; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 1995; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 1997; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 1999; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 2001; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 2003; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 2005; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 2007; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 2009; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 2011; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 2013; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: return 2015; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: return 2017; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: return 2019; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: return 2021; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: return 2023; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: return 2025; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: return 2027; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: return 2029; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: return 2031; - case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: return 2033; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 4112; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 4114; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 4116; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 4118; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 4120; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: return 4122; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: return 4124; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: return 4126; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 4128; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 4130; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 4132; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 4134; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 4136; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: return 4138; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: return 4140; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: return 4142; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 4144; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 4146; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 4148; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 4150; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 4152; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: return 4154; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: return 4156; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: return 4158; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 4160; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 4162; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 4164; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 4166; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 4168; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: return 4170; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: return 4172; - case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: return 4174; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3736; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3738; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3740; - case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3742; - case OakWood::OakWood(OakWood::Axis::X).ID: return 109; - case OakWood::OakWood(OakWood::Axis::Y).ID: return 110; - case OakWood::OakWood(OakWood::Axis::Z).ID: return 111; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 9260; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 9261; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 9262; - case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 9263; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 9264; - case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 9265; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 9266; - case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 9267; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 9268; - case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 9269; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 9270; - case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 9271; - case Obsidian::Obsidian().ID: return 1434; - case OrangeBanner::OrangeBanner(0).ID: return 7913; - case OrangeBanner::OrangeBanner(1).ID: return 7914; - case OrangeBanner::OrangeBanner(2).ID: return 7915; - case OrangeBanner::OrangeBanner(3).ID: return 7916; - case OrangeBanner::OrangeBanner(4).ID: return 7917; - case OrangeBanner::OrangeBanner(5).ID: return 7918; - case OrangeBanner::OrangeBanner(6).ID: return 7919; - case OrangeBanner::OrangeBanner(7).ID: return 7920; - case OrangeBanner::OrangeBanner(8).ID: return 7921; - case OrangeBanner::OrangeBanner(9).ID: return 7922; - case OrangeBanner::OrangeBanner(10).ID: return 7923; - case OrangeBanner::OrangeBanner(11).ID: return 7924; - case OrangeBanner::OrangeBanner(12).ID: return 7925; - case OrangeBanner::OrangeBanner(13).ID: return 7926; - case OrangeBanner::OrangeBanner(14).ID: return 7927; - case OrangeBanner::OrangeBanner(15).ID: return 7928; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 1065; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 1066; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 1067; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 1068; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 1069; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 1070; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 1071; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 1072; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 1073; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 1074; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 1075; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 1076; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 1077; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 1078; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 1079; - case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 1080; - case OrangeCarpet::OrangeCarpet().ID: return 7867; - case OrangeConcrete::OrangeConcrete().ID: return 9439; - case OrangeConcretePowder::OrangeConcretePowder().ID: return 9455; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9378; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9379; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9380; - case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9381; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9284; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9285; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9286; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9287; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9288; - case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9289; - case OrangeStainedGlass::OrangeStainedGlass().ID: return 4096; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 6897; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 6898; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 6901; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 6902; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 6905; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 6906; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 6909; - case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 6910; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 6913; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 6914; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 6917; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 6918; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 6921; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 6922; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 6925; - case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 6926; - case OrangeTerracotta::OrangeTerracotta().ID: return 6848; - case OrangeTulip::OrangeTulip().ID: return 1418; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8157; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8158; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8159; - case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8160; - case OrangeWool::OrangeWool().ID: return 1385; - case OxeyeDaisy::OxeyeDaisy().ID: return 1421; - case PackedIce::PackedIce().ID: return 7884; - case Peony::Peony(Peony::Half::Upper).ID: return 7891; - case Peony::Peony(Peony::Half::Lower).ID: return 7892; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 8361; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 8363; - case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 8365; - case PinkBanner::PinkBanner(0).ID: return 7993; - case PinkBanner::PinkBanner(1).ID: return 7994; - case PinkBanner::PinkBanner(2).ID: return 7995; - case PinkBanner::PinkBanner(3).ID: return 7996; - case PinkBanner::PinkBanner(4).ID: return 7997; - case PinkBanner::PinkBanner(5).ID: return 7998; - case PinkBanner::PinkBanner(6).ID: return 7999; - case PinkBanner::PinkBanner(7).ID: return 8000; - case PinkBanner::PinkBanner(8).ID: return 8001; - case PinkBanner::PinkBanner(9).ID: return 8002; - case PinkBanner::PinkBanner(10).ID: return 8003; - case PinkBanner::PinkBanner(11).ID: return 8004; - case PinkBanner::PinkBanner(12).ID: return 8005; - case PinkBanner::PinkBanner(13).ID: return 8006; - case PinkBanner::PinkBanner(14).ID: return 8007; - case PinkBanner::PinkBanner(15).ID: return 8008; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 1145; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 1146; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 1147; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 1148; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 1149; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 1150; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 1151; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 1152; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 1153; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 1154; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 1155; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 1156; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 1157; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 1158; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 1159; - case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 1160; - case PinkCarpet::PinkCarpet().ID: return 7872; - case PinkConcrete::PinkConcrete().ID: return 9444; - case PinkConcretePowder::PinkConcretePowder().ID: return 9460; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9398; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9399; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9400; - case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9401; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9314; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9315; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9316; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9317; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9318; - case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9319; - case PinkStainedGlass::PinkStainedGlass().ID: return 4101; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 7057; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 7058; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 7061; - case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 7062; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 7065; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 7066; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 7069; - case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 7070; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 7073; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 7074; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 7077; - case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 7078; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 7081; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 7082; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 7085; - case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 7086; - case PinkTerracotta::PinkTerracotta().ID: return 6853; - case PinkTulip::PinkTulip().ID: return 1420; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8177; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8178; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8179; - case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8180; - case PinkWool::PinkWool().ID: return 1390; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1348; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1349; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1350; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1351; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1352; - case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1353; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1354; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1355; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1356; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1357; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1358; - case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1359; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1360; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1361; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1362; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1363; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1364; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1365; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1366; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1367; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1368; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1369; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1370; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1371; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1372; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1373; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1374; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1375; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1376; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1377; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1378; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1379; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1380; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1381; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1382; - case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1383; - case PlayerHead::PlayerHead(0).ID: return 6550; - case PlayerHead::PlayerHead(1).ID: return 6551; - case PlayerHead::PlayerHead(2).ID: return 6552; - case PlayerHead::PlayerHead(3).ID: return 6553; - case PlayerHead::PlayerHead(4).ID: return 6554; - case PlayerHead::PlayerHead(5).ID: return 6555; - case PlayerHead::PlayerHead(6).ID: return 6556; - case PlayerHead::PlayerHead(7).ID: return 6557; - case PlayerHead::PlayerHead(8).ID: return 6558; - case PlayerHead::PlayerHead(9).ID: return 6559; - case PlayerHead::PlayerHead(10).ID: return 6560; - case PlayerHead::PlayerHead(11).ID: return 6561; - case PlayerHead::PlayerHead(12).ID: return 6562; - case PlayerHead::PlayerHead(13).ID: return 6563; - case PlayerHead::PlayerHead(14).ID: return 6564; - case PlayerHead::PlayerHead(15).ID: return 6565; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6566; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6567; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6568; - case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6569; - case Podzol::Podzol(true).ID: return 12; - case Podzol::Podzol(false).ID: return 13; - case PolishedAndesite::PolishedAndesite().ID: return 7; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Top).ID: return 10856; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Bottom).ID: return 10858; - case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Double).ID: return 10860; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10630; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10632; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10634; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10636; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10638; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10640; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10642; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10644; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10646; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10648; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10650; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10652; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10654; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10656; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10658; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10660; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10662; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10664; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10666; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10668; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10670; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10672; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10674; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10676; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10678; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10680; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10682; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10684; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10686; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XM, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10688; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::Straight).ID: return 10690; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10692; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10694; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10696; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Top, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10698; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::Straight).ID: return 10700; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerLeft).ID: return 10702; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::InnerRight).ID: return 10704; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterLeft).ID: return 10706; - case PolishedAndesiteStairs::PolishedAndesiteStairs(eBlockFace::BLOCK_FACE_XP, PolishedAndesiteStairs::Half::Bottom, PolishedAndesiteStairs::Shape::OuterRight).ID: return 10708; - case PolishedBasalt::PolishedBasalt(PolishedBasalt::Axis::X).ID: return 4005; - case PolishedBasalt::PolishedBasalt(PolishedBasalt::Axis::Y).ID: return 4006; - case PolishedBasalt::PolishedBasalt(PolishedBasalt::Axis::Z).ID: return 4007; - case PolishedBlackstone::PolishedBlackstone().ID: return 16250; - case PolishedBlackstoneBrickSlab::PolishedBlackstoneBrickSlab(PolishedBlackstoneBrickSlab::Type::Top).ID: return 16255; - case PolishedBlackstoneBrickSlab::PolishedBlackstoneBrickSlab(PolishedBlackstoneBrickSlab::Type::Bottom).ID: return 16257; - case PolishedBlackstoneBrickSlab::PolishedBlackstoneBrickSlab(PolishedBlackstoneBrickSlab::Type::Double).ID: return 16259; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::Straight).ID: return 16261; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::InnerLeft).ID: return 16263; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::InnerRight).ID: return 16265; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::OuterLeft).ID: return 16267; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::OuterRight).ID: return 16269; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::Straight).ID: return 16271; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::InnerLeft).ID: return 16273; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::InnerRight).ID: return 16275; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::OuterLeft).ID: return 16277; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::OuterRight).ID: return 16279; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::Straight).ID: return 16281; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::InnerLeft).ID: return 16283; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::InnerRight).ID: return 16285; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::OuterLeft).ID: return 16287; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::OuterRight).ID: return 16289; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::Straight).ID: return 16291; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::InnerLeft).ID: return 16293; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::InnerRight).ID: return 16295; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::OuterLeft).ID: return 16297; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::OuterRight).ID: return 16299; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::Straight).ID: return 16301; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::InnerLeft).ID: return 16303; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::InnerRight).ID: return 16305; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::OuterLeft).ID: return 16307; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::OuterRight).ID: return 16309; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::Straight).ID: return 16311; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::InnerLeft).ID: return 16313; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::InnerRight).ID: return 16315; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::OuterLeft).ID: return 16317; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::OuterRight).ID: return 16319; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::Straight).ID: return 16321; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::InnerLeft).ID: return 16323; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::InnerRight).ID: return 16325; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::OuterLeft).ID: return 16327; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Top, PolishedBlackstoneBrickStairs::Shape::OuterRight).ID: return 16329; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::Straight).ID: return 16331; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::InnerLeft).ID: return 16333; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::InnerRight).ID: return 16335; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::OuterLeft).ID: return 16337; - case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneBrickStairs::Half::Bottom, PolishedBlackstoneBrickStairs::Shape::OuterRight).ID: return 16339; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16343; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16344; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16345; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16349; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16350; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16351; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16355; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16356; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16357; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16361; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16362; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16363; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16367; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16368; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16369; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16373; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16374; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16375; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16379; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16380; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16381; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16385; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16386; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16387; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16391; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16392; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16393; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16397; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16398; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16399; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16403; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16404; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16405; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16409; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16410; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16411; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16415; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16416; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16417; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16421; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16422; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16423; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16427; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16428; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16429; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16433; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16434; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16435; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16439; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16440; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16441; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16445; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16446; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::None, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16447; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16451; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16452; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16453; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16457; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16458; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16459; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16463; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16464; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16465; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16469; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16470; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16471; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16475; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16476; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16477; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16481; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16482; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16483; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16487; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16488; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16489; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16493; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16494; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16495; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16499; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16500; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16501; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16505; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16506; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16507; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16511; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16512; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16513; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16517; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16518; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16519; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16523; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16524; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16525; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16529; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16530; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16531; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16535; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16536; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16537; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16541; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16542; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16543; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16547; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16548; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16549; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16553; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16554; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Low, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16555; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16559; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16560; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16561; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16565; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16566; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16567; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16571; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16572; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16573; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16577; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16578; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16579; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16583; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16584; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16585; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16589; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16590; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::None, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16591; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16595; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16596; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16597; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16601; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16602; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16603; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16607; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16608; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16609; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16613; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16614; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16615; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16619; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16620; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16621; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16625; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16626; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Low, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16627; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::None).ID: return 16631; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16632; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16633; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::None).ID: return 16637; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16638; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::None, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16639; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::None).ID: return 16643; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16644; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16645; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::None).ID: return 16649; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16650; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Low, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16651; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::None).ID: return 16655; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Low).ID: return 16656; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, true, PolishedBlackstoneBrickWall::West::Tall).ID: return 16657; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::None).ID: return 16661; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Low).ID: return 16662; - case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall(PolishedBlackstoneBrickWall::East::Tall, PolishedBlackstoneBrickWall::North::Tall, PolishedBlackstoneBrickWall::South::Tall, false, PolishedBlackstoneBrickWall::West::Tall).ID: return 16663; - case PolishedBlackstoneBricks::PolishedBlackstoneBricks().ID: return 16251; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 16753; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 16754; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 16755; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 16756; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 16757; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 16758; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 16759; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 16760; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 16761; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 16762; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 16763; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 16764; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 16765; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 16766; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 16767; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 16768; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 16769; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 16770; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 16771; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 16772; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 16773; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 16774; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 16775; - case PolishedBlackstoneButton::PolishedBlackstoneButton(PolishedBlackstoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 16776; - case PolishedBlackstonePressurePlate::PolishedBlackstonePressurePlate(true).ID: return 16751; - case PolishedBlackstonePressurePlate::PolishedBlackstonePressurePlate(false).ID: return 16752; - case PolishedBlackstoneSlab::PolishedBlackstoneSlab(PolishedBlackstoneSlab::Type::Top).ID: return 16746; - case PolishedBlackstoneSlab::PolishedBlackstoneSlab(PolishedBlackstoneSlab::Type::Bottom).ID: return 16748; - case PolishedBlackstoneSlab::PolishedBlackstoneSlab(PolishedBlackstoneSlab::Type::Double).ID: return 16750; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::Straight).ID: return 16666; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::InnerLeft).ID: return 16668; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::InnerRight).ID: return 16670; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::OuterLeft).ID: return 16672; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::OuterRight).ID: return 16674; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::Straight).ID: return 16676; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::InnerLeft).ID: return 16678; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::InnerRight).ID: return 16680; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::OuterLeft).ID: return 16682; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::OuterRight).ID: return 16684; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::Straight).ID: return 16686; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::InnerLeft).ID: return 16688; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::InnerRight).ID: return 16690; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::OuterLeft).ID: return 16692; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::OuterRight).ID: return 16694; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::Straight).ID: return 16696; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::InnerLeft).ID: return 16698; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::InnerRight).ID: return 16700; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::OuterLeft).ID: return 16702; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_ZP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::OuterRight).ID: return 16704; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::Straight).ID: return 16706; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::InnerLeft).ID: return 16708; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::InnerRight).ID: return 16710; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::OuterLeft).ID: return 16712; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::OuterRight).ID: return 16714; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::Straight).ID: return 16716; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::InnerLeft).ID: return 16718; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::InnerRight).ID: return 16720; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::OuterLeft).ID: return 16722; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XM, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::OuterRight).ID: return 16724; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::Straight).ID: return 16726; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::InnerLeft).ID: return 16728; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::InnerRight).ID: return 16730; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::OuterLeft).ID: return 16732; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Top, PolishedBlackstoneStairs::Shape::OuterRight).ID: return 16734; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::Straight).ID: return 16736; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::InnerLeft).ID: return 16738; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::InnerRight).ID: return 16740; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::OuterLeft).ID: return 16742; - case PolishedBlackstoneStairs::PolishedBlackstoneStairs(eBlockFace::BLOCK_FACE_XP, PolishedBlackstoneStairs::Half::Bottom, PolishedBlackstoneStairs::Shape::OuterRight).ID: return 16744; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 16780; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 16781; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 16782; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 16786; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 16787; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 16788; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 16792; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 16793; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 16794; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 16798; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 16799; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 16800; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 16804; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 16805; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 16806; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 16810; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 16811; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 16812; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 16816; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 16817; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 16818; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 16822; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 16823; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 16824; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 16828; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 16829; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 16830; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 16834; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 16835; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 16836; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 16840; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 16841; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 16842; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 16846; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 16847; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 16848; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 16852; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 16853; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 16854; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 16858; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 16859; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 16860; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 16864; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 16865; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 16866; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 16870; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 16871; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 16872; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 16876; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 16877; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 16878; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 16882; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 16883; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::None, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 16884; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 16888; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 16889; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 16890; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 16894; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 16895; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 16896; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 16900; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 16901; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 16902; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 16906; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 16907; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 16908; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 16912; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 16913; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 16914; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 16918; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 16919; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 16920; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 16924; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 16925; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 16926; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 16930; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 16931; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 16932; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 16936; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 16937; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 16938; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 16942; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 16943; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 16944; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 16948; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 16949; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 16950; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 16954; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 16955; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 16956; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 16960; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 16961; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 16962; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 16966; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 16967; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 16968; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 16972; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 16973; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 16974; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 16978; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 16979; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 16980; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 16984; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 16985; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 16986; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 16990; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 16991; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Low, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 16992; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 16996; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 16997; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 16998; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 17002; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 17003; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 17004; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 17008; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 17009; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 17010; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 17014; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 17015; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 17016; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 17020; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 17021; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 17022; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 17026; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 17027; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::None, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 17028; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 17032; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 17033; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 17034; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 17038; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 17039; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 17040; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 17044; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 17045; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 17046; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 17050; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 17051; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 17052; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 17056; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 17057; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 17058; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 17062; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 17063; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Low, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 17064; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::None).ID: return 17068; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Low).ID: return 17069; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, true, PolishedBlackstoneWall::West::Tall).ID: return 17070; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::None).ID: return 17074; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Low).ID: return 17075; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::None, false, PolishedBlackstoneWall::West::Tall).ID: return 17076; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::None).ID: return 17080; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Low).ID: return 17081; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, true, PolishedBlackstoneWall::West::Tall).ID: return 17082; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::None).ID: return 17086; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Low).ID: return 17087; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Low, false, PolishedBlackstoneWall::West::Tall).ID: return 17088; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::None).ID: return 17092; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Low).ID: return 17093; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, true, PolishedBlackstoneWall::West::Tall).ID: return 17094; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::None).ID: return 17098; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Low).ID: return 17099; - case PolishedBlackstoneWall::PolishedBlackstoneWall(PolishedBlackstoneWall::East::Tall, PolishedBlackstoneWall::North::Tall, PolishedBlackstoneWall::South::Tall, false, PolishedBlackstoneWall::West::Tall).ID: return 17100; - case PolishedDiorite::PolishedDiorite().ID: return 5; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Top).ID: return 10808; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Bottom).ID: return 10810; - case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Double).ID: return 10812; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9910; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9912; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9914; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9916; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9918; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9920; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9922; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9924; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9926; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9928; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9930; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9932; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9934; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9936; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9938; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9940; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9942; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9944; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9946; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9948; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9950; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9952; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9954; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9956; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9958; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9960; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9962; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9964; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9966; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XM, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9968; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::Straight).ID: return 9970; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9972; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::InnerRight).ID: return 9974; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9976; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Top, PolishedDioriteStairs::Shape::OuterRight).ID: return 9978; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::Straight).ID: return 9980; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerLeft).ID: return 9982; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::InnerRight).ID: return 9984; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterLeft).ID: return 9986; - case PolishedDioriteStairs::PolishedDioriteStairs(eBlockFace::BLOCK_FACE_XP, PolishedDioriteStairs::Half::Bottom, PolishedDioriteStairs::Shape::OuterRight).ID: return 9988; - case PolishedGranite::PolishedGranite().ID: return 3; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Top).ID: return 10790; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Bottom).ID: return 10792; - case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Double).ID: return 10794; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9670; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9672; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9674; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9676; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9678; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9680; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9682; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9684; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9686; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9688; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9690; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9692; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9694; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9696; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9698; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9700; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9702; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9704; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9706; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_ZP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9708; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9710; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9712; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9714; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9716; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9718; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9720; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9722; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9724; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9726; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XM, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9728; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::Straight).ID: return 9730; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9732; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::InnerRight).ID: return 9734; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9736; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Top, PolishedGraniteStairs::Shape::OuterRight).ID: return 9738; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::Straight).ID: return 9740; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerLeft).ID: return 9742; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::InnerRight).ID: return 9744; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterLeft).ID: return 9746; - case PolishedGraniteStairs::PolishedGraniteStairs(eBlockFace::BLOCK_FACE_XP, PolishedGraniteStairs::Half::Bottom, PolishedGraniteStairs::Shape::OuterRight).ID: return 9748; - case Poppy::Poppy().ID: return 1413; - case Potatoes::Potatoes(0).ID: return 6338; - case Potatoes::Potatoes(1).ID: return 6339; - case Potatoes::Potatoes(2).ID: return 6340; - case Potatoes::Potatoes(3).ID: return 6341; - case Potatoes::Potatoes(4).ID: return 6342; - case Potatoes::Potatoes(5).ID: return 6343; - case Potatoes::Potatoes(6).ID: return 6344; - case Potatoes::Potatoes(7).ID: return 6345; - case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 6310; - case PottedAllium::PottedAllium().ID: return 6316; - case PottedAzureBluet::PottedAzureBluet().ID: return 6317; - case PottedBamboo::PottedBamboo().ID: return 9664; - case PottedBirchSapling::PottedBirchSapling().ID: return 6308; - case PottedBlueOrchid::PottedBlueOrchid().ID: return 6315; - case PottedBrownMushroom::PottedBrownMushroom().ID: return 6327; - case PottedCactus::PottedCactus().ID: return 6329; - case PottedCornflower::PottedCornflower().ID: return 6323; - case PottedCrimsonFungus::PottedCrimsonFungus().ID: return 15834; - case PottedCrimsonRoots::PottedCrimsonRoots().ID: return 15836; - case PottedDandelion::PottedDandelion().ID: return 6313; - case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 6311; - case PottedDeadBush::PottedDeadBush().ID: return 6328; - case PottedFern::PottedFern().ID: return 6312; - case PottedJungleSapling::PottedJungleSapling().ID: return 6309; - case PottedLilyOfTheValley::PottedLilyOfTheValley().ID: return 6324; - case PottedOakSapling::PottedOakSapling().ID: return 6306; - case PottedOrangeTulip::PottedOrangeTulip().ID: return 6319; - case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 6322; - case PottedPinkTulip::PottedPinkTulip().ID: return 6321; - case PottedPoppy::PottedPoppy().ID: return 6314; - case PottedRedMushroom::PottedRedMushroom().ID: return 6326; - case PottedRedTulip::PottedRedTulip().ID: return 6318; - case PottedSpruceSapling::PottedSpruceSapling().ID: return 6307; - case PottedWarpedFungus::PottedWarpedFungus().ID: return 15835; - case PottedWarpedRoots::PottedWarpedRoots().ID: return 15837; - case PottedWhiteTulip::PottedWhiteTulip().ID: return 6320; - case PottedWitherRose::PottedWitherRose().ID: return 6325; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1305; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1306; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1307; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1308; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1309; - case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1310; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1311; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1312; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1313; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1314; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1315; - case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1316; - case Prismarine::Prismarine().ID: return 7601; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 7851; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 7853; - case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 7855; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7685; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7687; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7689; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7691; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7693; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7695; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7697; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7699; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7701; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7703; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7705; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7707; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7709; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7711; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7713; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7715; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7717; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7719; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7721; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7723; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7725; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7727; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7729; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7731; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7733; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7735; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7737; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7739; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7741; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XM, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7743; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::Straight).ID: return 7745; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7747; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::InnerRight).ID: return 7749; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7751; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Top, PrismarineBrickStairs::Shape::OuterRight).ID: return 7753; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::Straight).ID: return 7755; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerLeft).ID: return 7757; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::InnerRight).ID: return 7759; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterLeft).ID: return 7761; - case PrismarineBrickStairs::PrismarineBrickStairs(eBlockFace::BLOCK_FACE_XP, PrismarineBrickStairs::Half::Bottom, PrismarineBrickStairs::Shape::OuterRight).ID: return 7763; - case PrismarineBricks::PrismarineBricks().ID: return 7602; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 7845; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 7847; - case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 7849; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7605; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7607; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7609; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7611; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7613; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7615; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7617; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7619; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7621; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7623; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7625; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7627; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7629; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7631; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7633; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7635; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7637; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7639; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7641; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_ZP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7643; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7645; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7647; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7649; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7651; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7653; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7655; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7657; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7659; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7661; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XM, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7663; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::Straight).ID: return 7665; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerLeft).ID: return 7667; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::InnerRight).ID: return 7669; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterLeft).ID: return 7671; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Top, PrismarineStairs::Shape::OuterRight).ID: return 7673; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::Straight).ID: return 7675; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerLeft).ID: return 7677; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::InnerRight).ID: return 7679; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterLeft).ID: return 7681; - case PrismarineStairs::PrismarineStairs(eBlockFace::BLOCK_FACE_XP, PrismarineStairs::Half::Bottom, PrismarineStairs::Shape::OuterRight).ID: return 7683; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11194; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11195; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11196; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11200; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11201; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11202; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11206; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11207; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11208; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11212; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11213; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11214; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11218; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11219; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11220; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11224; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11225; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11226; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11230; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11231; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11232; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11236; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11237; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11238; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11242; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11243; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11244; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11248; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11249; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11250; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11254; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11255; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11256; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11260; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11261; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11262; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11266; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11267; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11268; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11272; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11273; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11274; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11278; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11279; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11280; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11284; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11285; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11286; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11290; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11291; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11292; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11296; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11297; - case PrismarineWall::PrismarineWall(PrismarineWall::East::None, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11298; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11302; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11303; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11304; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11308; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11309; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11310; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11314; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11315; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11316; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11320; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11321; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11322; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11326; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11327; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11328; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11332; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11333; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11334; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11338; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11339; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11340; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11344; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11345; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11346; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11350; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11351; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11352; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11356; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11357; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11358; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11362; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11363; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11364; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11368; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11369; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11370; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11374; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11375; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11376; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11380; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11381; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11382; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11386; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11387; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11388; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11392; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11393; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11394; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11398; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11399; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11400; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11404; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11405; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Low, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11406; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11410; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11411; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11412; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11416; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11417; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11418; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11422; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11423; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11424; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11428; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11429; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11430; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11434; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11435; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11436; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11440; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11441; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::None, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11442; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11446; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11447; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11448; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11452; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11453; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11454; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11458; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11459; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11460; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11464; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11465; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11466; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11470; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11471; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11472; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11476; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11477; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Low, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11478; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::None).ID: return 11482; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::Low).ID: return 11483; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::None, true, PrismarineWall::West::Tall).ID: return 11484; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::None).ID: return 11488; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::Low).ID: return 11489; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::None, false, PrismarineWall::West::Tall).ID: return 11490; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::None).ID: return 11494; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::Low).ID: return 11495; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Low, true, PrismarineWall::West::Tall).ID: return 11496; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::None).ID: return 11500; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::Low).ID: return 11501; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Low, false, PrismarineWall::West::Tall).ID: return 11502; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::None).ID: return 11506; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::Low).ID: return 11507; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Tall, true, PrismarineWall::West::Tall).ID: return 11508; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::None).ID: return 11512; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::Low).ID: return 11513; - case PrismarineWall::PrismarineWall(PrismarineWall::East::Tall, PrismarineWall::North::Tall, PrismarineWall::South::Tall, false, PrismarineWall::West::Tall).ID: return 11514; - case Pumpkin::Pumpkin().ID: return 3998; - case PumpkinStem::PumpkinStem(0).ID: return 4772; - case PumpkinStem::PumpkinStem(1).ID: return 4773; - case PumpkinStem::PumpkinStem(2).ID: return 4774; - case PumpkinStem::PumpkinStem(3).ID: return 4775; - case PumpkinStem::PumpkinStem(4).ID: return 4776; - case PumpkinStem::PumpkinStem(5).ID: return 4777; - case PumpkinStem::PumpkinStem(6).ID: return 4778; - case PumpkinStem::PumpkinStem(7).ID: return 4779; - case PurpleBanner::PurpleBanner(0).ID: return 8057; - case PurpleBanner::PurpleBanner(1).ID: return 8058; - case PurpleBanner::PurpleBanner(2).ID: return 8059; - case PurpleBanner::PurpleBanner(3).ID: return 8060; - case PurpleBanner::PurpleBanner(4).ID: return 8061; - case PurpleBanner::PurpleBanner(5).ID: return 8062; - case PurpleBanner::PurpleBanner(6).ID: return 8063; - case PurpleBanner::PurpleBanner(7).ID: return 8064; - case PurpleBanner::PurpleBanner(8).ID: return 8065; - case PurpleBanner::PurpleBanner(9).ID: return 8066; - case PurpleBanner::PurpleBanner(10).ID: return 8067; - case PurpleBanner::PurpleBanner(11).ID: return 8068; - case PurpleBanner::PurpleBanner(12).ID: return 8069; - case PurpleBanner::PurpleBanner(13).ID: return 8070; - case PurpleBanner::PurpleBanner(14).ID: return 8071; - case PurpleBanner::PurpleBanner(15).ID: return 8072; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 1209; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 1210; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 1211; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 1212; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 1213; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 1214; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 1215; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 1216; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 1217; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 1218; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 1219; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 1220; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 1221; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 1222; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 1223; - case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 1224; - case PurpleCarpet::PurpleCarpet().ID: return 7876; - case PurpleConcrete::PurpleConcrete().ID: return 9448; - case PurpleConcretePowder::PurpleConcretePowder().ID: return 9464; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9414; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9415; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9416; - case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9417; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9338; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9339; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9340; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9341; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9342; - case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9343; - case PurpleStainedGlass::PurpleStainedGlass().ID: return 4105; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 7185; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 7186; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 7189; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 7190; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 7193; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 7194; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 7197; - case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 7198; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 7201; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 7202; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 7205; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 7206; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 7209; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 7210; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 7213; - case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 7214; - case PurpleTerracotta::PurpleTerracotta().ID: return 6857; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8193; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8194; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8195; - case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8196; - case PurpleWool::PurpleWool().ID: return 1394; - case PurpurBlock::PurpurBlock().ID: return 9134; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 9135; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 9136; - case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 9137; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 8409; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 8411; - case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 8413; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 9139; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 9141; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 9143; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 9145; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 9147; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 9149; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 9151; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 9153; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 9155; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 9157; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 9159; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 9161; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 9163; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 9165; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 9167; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 9169; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 9171; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 9173; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 9175; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 9177; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 9179; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 9181; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 9183; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 9185; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 9187; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 9189; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 9191; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 9193; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 9195; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 9197; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight).ID: return 9199; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerLeft).ID: return 9201; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::InnerRight).ID: return 9203; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterLeft).ID: return 9205; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::OuterRight).ID: return 9207; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight).ID: return 9209; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerLeft).ID: return 9211; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::InnerRight).ID: return 9213; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterLeft).ID: return 9215; - case PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::OuterRight).ID: return 9217; - case QuartzBlock::QuartzBlock().ID: return 6738; - case QuartzBricks::QuartzBricks().ID: return 17103; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 6740; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 6741; - case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 6742; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 8391; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 8393; - case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 8395; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6744; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6746; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6748; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6750; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6752; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6754; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6756; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6758; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6760; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6762; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6764; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6766; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6768; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6770; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6772; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6774; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6776; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6778; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6780; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6782; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6784; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6786; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6788; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6790; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6792; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6794; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6796; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6798; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6800; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6802; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight).ID: return 6804; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerLeft).ID: return 6806; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::InnerRight).ID: return 6808; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterLeft).ID: return 6810; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::OuterRight).ID: return 6812; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight).ID: return 6814; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerLeft).ID: return 6816; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::InnerRight).ID: return 6818; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterLeft).ID: return 6820; - case QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::OuterRight).ID: return 6822; - case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3645; - case Rail::Rail(Rail::Shape::EastWest).ID: return 3646; - case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3647; - case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3648; - case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3649; - case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3650; - case Rail::Rail(Rail::Shape::SouthEast).ID: return 3651; - case Rail::Rail(Rail::Shape::SouthWest).ID: return 3652; - case Rail::Rail(Rail::Shape::NorthWest).ID: return 3653; - case Rail::Rail(Rail::Shape::NorthEast).ID: return 3654; - case RedBanner::RedBanner(0).ID: return 8121; - case RedBanner::RedBanner(1).ID: return 8122; - case RedBanner::RedBanner(2).ID: return 8123; - case RedBanner::RedBanner(3).ID: return 8124; - case RedBanner::RedBanner(4).ID: return 8125; - case RedBanner::RedBanner(5).ID: return 8126; - case RedBanner::RedBanner(6).ID: return 8127; - case RedBanner::RedBanner(7).ID: return 8128; - case RedBanner::RedBanner(8).ID: return 8129; - case RedBanner::RedBanner(9).ID: return 8130; - case RedBanner::RedBanner(10).ID: return 8131; - case RedBanner::RedBanner(11).ID: return 8132; - case RedBanner::RedBanner(12).ID: return 8133; - case RedBanner::RedBanner(13).ID: return 8134; - case RedBanner::RedBanner(14).ID: return 8135; - case RedBanner::RedBanner(15).ID: return 8136; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 1273; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 1274; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 1275; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 1276; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 1277; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 1278; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 1279; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 1280; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 1281; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 1282; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 1283; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 1284; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 1285; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 1286; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 1287; - case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 1288; - case RedCarpet::RedCarpet().ID: return 7880; - case RedConcrete::RedConcrete().ID: return 9452; - case RedConcretePowder::RedConcretePowder().ID: return 9468; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9430; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9431; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9432; - case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9433; - case RedMushroom::RedMushroom().ID: return 1426; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4569; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4570; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4571; - case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4572; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4573; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4574; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4575; - case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4576; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4577; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4578; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4579; - case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4580; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4581; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4582; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4583; - case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4584; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4585; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4586; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4587; - case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4588; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4589; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4590; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4591; - case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4592; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4593; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4594; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4595; - case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4596; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4597; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4598; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4599; - case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4600; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4601; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4602; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4603; - case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4604; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4605; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4606; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4607; - case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4608; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4609; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4610; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4611; - case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4612; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4613; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4614; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4615; - case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4616; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4617; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4618; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4619; - case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4620; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4621; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4622; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4623; - case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4624; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4625; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4626; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4627; - case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4628; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4629; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4630; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4631; - case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4632; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Top).ID: return 10850; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Bottom).ID: return 10852; - case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Double).ID: return 10854; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10550; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10552; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10554; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10556; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10558; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10560; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10562; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10564; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10566; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10568; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10570; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10572; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10574; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10576; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10578; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10580; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10582; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10584; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10586; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10588; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10590; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10592; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10594; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10596; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10598; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10600; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10602; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10604; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10606; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XM, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10608; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::Straight).ID: return 10610; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10612; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::InnerRight).ID: return 10614; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10616; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Top, RedNetherBrickStairs::Shape::OuterRight).ID: return 10618; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::Straight).ID: return 10620; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerLeft).ID: return 10622; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::InnerRight).ID: return 10624; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterLeft).ID: return 10626; - case RedNetherBrickStairs::RedNetherBrickStairs(eBlockFace::BLOCK_FACE_XP, RedNetherBrickStairs::Half::Bottom, RedNetherBrickStairs::Shape::OuterRight).ID: return 10628; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13462; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13463; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13464; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13468; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13469; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13470; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13474; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13475; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13476; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13480; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13481; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13482; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13486; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13487; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13488; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13492; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13493; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13494; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13498; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13499; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13500; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13504; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13505; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13506; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13510; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13511; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13512; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13516; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13517; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13518; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13522; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13523; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13524; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13528; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13529; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13530; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13534; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13535; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13536; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13540; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13541; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13542; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13546; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13547; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13548; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13552; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13553; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13554; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13558; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13559; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13560; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13564; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13565; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::None, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13566; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13570; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13571; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13572; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13576; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13577; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13578; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13582; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13583; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13584; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13588; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13589; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13590; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13594; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13595; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13596; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13600; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13601; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13602; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13606; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13607; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13608; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13612; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13613; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13614; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13618; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13619; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13620; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13624; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13625; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13626; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13630; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13631; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13632; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13636; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13637; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13638; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13642; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13643; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13644; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13648; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13649; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13650; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13654; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13655; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13656; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13660; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13661; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13662; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13666; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13667; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13668; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13672; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13673; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Low, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13674; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13678; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13679; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13680; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13684; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13685; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13686; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13690; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13691; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13692; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13696; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13697; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13698; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13702; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13703; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13704; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13708; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13709; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::None, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13710; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13714; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13715; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13716; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13720; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13721; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13722; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13726; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13727; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13728; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13732; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13733; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13734; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13738; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13739; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13740; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13744; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13745; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Low, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13746; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::None).ID: return 13750; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Low).ID: return 13751; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, true, RedNetherBrickWall::West::Tall).ID: return 13752; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::None).ID: return 13756; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Low).ID: return 13757; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::None, false, RedNetherBrickWall::West::Tall).ID: return 13758; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::None).ID: return 13762; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Low).ID: return 13763; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, true, RedNetherBrickWall::West::Tall).ID: return 13764; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::None).ID: return 13768; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Low).ID: return 13769; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Low, false, RedNetherBrickWall::West::Tall).ID: return 13770; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::None).ID: return 13774; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Low).ID: return 13775; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, true, RedNetherBrickWall::West::Tall).ID: return 13776; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::None).ID: return 13780; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Low).ID: return 13781; - case RedNetherBrickWall::RedNetherBrickWall(RedNetherBrickWall::East::Tall, RedNetherBrickWall::North::Tall, RedNetherBrickWall::South::Tall, false, RedNetherBrickWall::West::Tall).ID: return 13782; - case RedNetherBricks::RedNetherBricks().ID: return 9255; - case RedSand::RedSand().ID: return 67; - case RedSandstone::RedSandstone().ID: return 8217; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 8397; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 8399; - case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 8401; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 8221; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 8223; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 8225; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 8227; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 8229; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 8231; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 8233; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 8235; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 8237; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 8239; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 8241; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 8243; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 8245; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 8247; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 8249; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 8251; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 8253; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 8255; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 8257; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 8259; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 8261; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 8263; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 8265; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 8267; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 8269; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 8271; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 8273; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 8275; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 8277; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 8279; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight).ID: return 8281; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerLeft).ID: return 8283; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::InnerRight).ID: return 8285; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterLeft).ID: return 8287; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::OuterRight).ID: return 8289; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight).ID: return 8291; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerLeft).ID: return 8293; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::InnerRight).ID: return 8295; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterLeft).ID: return 8297; - case RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::OuterRight).ID: return 8299; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11518; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11519; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11520; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11524; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11525; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11526; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11530; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11531; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11532; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11536; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11537; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11538; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11542; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11543; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11544; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11548; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11549; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11550; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11554; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11555; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11556; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11560; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11561; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11562; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11566; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11567; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11568; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11572; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11573; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11574; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11578; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11579; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11580; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11584; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11585; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11586; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11590; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11591; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11592; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11596; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11597; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11598; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11602; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11603; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11604; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11608; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11609; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11610; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11614; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11615; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11616; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11620; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11621; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::None, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11622; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11626; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11627; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11628; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11632; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11633; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11634; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11638; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11639; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11640; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11644; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11645; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11646; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11650; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11651; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11652; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11656; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11657; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11658; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11662; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11663; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11664; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11668; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11669; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11670; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11674; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11675; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11676; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11680; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11681; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11682; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11686; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11687; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11688; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11692; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11693; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11694; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11698; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11699; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11700; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11704; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11705; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11706; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11710; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11711; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11712; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11716; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11717; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11718; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11722; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11723; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11724; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11728; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11729; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Low, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11730; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11734; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11735; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11736; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11740; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11741; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11742; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11746; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11747; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11748; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11752; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11753; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11754; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11758; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11759; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11760; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11764; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11765; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::None, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11766; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11770; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11771; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11772; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11776; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11777; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11778; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11782; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11783; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11784; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11788; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11789; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11790; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11794; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11795; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11796; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11800; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11801; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Low, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11802; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::None).ID: return 11806; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Low).ID: return 11807; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, true, RedSandstoneWall::West::Tall).ID: return 11808; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::None).ID: return 11812; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Low).ID: return 11813; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::None, false, RedSandstoneWall::West::Tall).ID: return 11814; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::None).ID: return 11818; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Low).ID: return 11819; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, true, RedSandstoneWall::West::Tall).ID: return 11820; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::None).ID: return 11824; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Low).ID: return 11825; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Low, false, RedSandstoneWall::West::Tall).ID: return 11826; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::None).ID: return 11830; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Low).ID: return 11831; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, true, RedSandstoneWall::West::Tall).ID: return 11832; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::None).ID: return 11836; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Low).ID: return 11837; - case RedSandstoneWall::RedSandstoneWall(RedSandstoneWall::East::Tall, RedSandstoneWall::North::Tall, RedSandstoneWall::South::Tall, false, RedSandstoneWall::West::Tall).ID: return 11838; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9362; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9363; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9364; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9365; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9366; - case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9367; - case RedStainedGlass::RedStainedGlass().ID: return 4109; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 7313; - case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 7314; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 7317; - case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 7318; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 7321; - case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 7322; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 7325; - case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 7326; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 7329; - case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 7330; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 7333; - case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 7334; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 7337; - case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 7338; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 7341; - case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 7342; - case RedTerracotta::RedTerracotta().ID: return 6861; - case RedTulip::RedTulip().ID: return 1417; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8209; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8210; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8211; - case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8212; - case RedWool::RedWool().ID: return 1398; - case RedstoneBlock::RedstoneBlock().ID: return 6726; - case RedstoneLamp::RedstoneLamp(true).ID: return 5156; - case RedstoneLamp::RedstoneLamp(false).ID: return 5157; - case RedstoneOre::RedstoneOre(true).ID: return 3885; - case RedstoneOre::RedstoneOre(false).ID: return 3886; - case RedstoneTorch::RedstoneTorch(true).ID: return 3887; - case RedstoneTorch::RedstoneTorch(false).ID: return 3888; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3889; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3890; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3891; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3892; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3893; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3894; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3895; - case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3896; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2058; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2059; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2060; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2061; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2062; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2063; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2064; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2065; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2066; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2067; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2068; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2069; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2070; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2071; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2072; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2073; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2074; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2075; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2076; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2077; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2078; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2079; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2080; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2081; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2082; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2083; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2084; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2085; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2086; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2087; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2088; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2089; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2090; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2091; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2092; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2093; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2094; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2095; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2096; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2097; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2098; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2099; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2100; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2101; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2102; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2103; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2104; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2105; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2106; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2107; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2108; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2109; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2110; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2111; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2112; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2113; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2114; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2115; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2116; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2117; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2118; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2119; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2120; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2121; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2122; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2123; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2124; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2125; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2126; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2127; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2128; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2129; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2130; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2131; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2132; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2133; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2134; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2135; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2136; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2137; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2138; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2139; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2140; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2141; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2142; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2143; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2144; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2145; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2146; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2147; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2148; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2149; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2150; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2151; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2152; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2153; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2154; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2155; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2156; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2157; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2158; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2159; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2160; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2161; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2162; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2163; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2164; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2165; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2166; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2167; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2168; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2169; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2170; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2171; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2172; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2173; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2174; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2175; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2176; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2177; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2178; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2179; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2180; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2181; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2182; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2183; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2184; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2185; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2186; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2187; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2188; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2189; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2190; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2191; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2192; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2193; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2194; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2195; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2196; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2197; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2198; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2199; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2200; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2201; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2202; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2203; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2204; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2205; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2206; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2207; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2208; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2209; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2210; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2211; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2212; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2213; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2214; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2215; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2216; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2217; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2218; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2219; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2220; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2221; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2222; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2223; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2224; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2225; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2226; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2227; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2228; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2229; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2230; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2231; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2232; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2233; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2234; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2235; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2236; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2237; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2238; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2239; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2240; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2241; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2242; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2243; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2244; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2245; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2246; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2247; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2248; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2249; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2250; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2251; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2252; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2253; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2254; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2255; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2256; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2257; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2258; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2259; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2260; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2261; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2262; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2263; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2264; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2265; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2266; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2267; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2268; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2269; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2270; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2271; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2272; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2273; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2274; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2275; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2276; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2277; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2278; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2279; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2280; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2281; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2282; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2283; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2284; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2285; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2286; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2287; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2288; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2289; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2290; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2291; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2292; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2293; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2294; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2295; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2296; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2297; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2298; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2299; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2300; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2301; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2302; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2303; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2304; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2305; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2306; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2307; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2308; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2309; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2310; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2311; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2312; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2313; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2314; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2315; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2316; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2317; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2318; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2319; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2320; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2321; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2322; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2323; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2324; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2325; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2326; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2327; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2328; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2329; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2330; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2331; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2332; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2333; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2334; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2335; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2336; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2337; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2338; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2339; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2340; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2341; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2342; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2343; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2344; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2345; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2346; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2347; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2348; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2349; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2350; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2351; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2352; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2353; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2354; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2355; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2356; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2357; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2358; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2359; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2360; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2361; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2362; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2363; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2364; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2365; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2366; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2367; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2368; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2369; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2370; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2371; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2372; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2373; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2374; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2375; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2376; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2377; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2378; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2379; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2380; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2381; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2382; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2383; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2384; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2385; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2386; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2387; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2388; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2389; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2390; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2391; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2392; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2393; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2394; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2395; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2396; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2397; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2398; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2399; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2400; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2401; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2402; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2403; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2404; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2405; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2406; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2407; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2408; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2409; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2410; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2411; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2412; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2413; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2414; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2415; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2416; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2417; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2418; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2419; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2420; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2421; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2422; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2423; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2424; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2425; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2426; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2427; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2428; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2429; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2430; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2431; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2432; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2433; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2434; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2435; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2436; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2437; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2438; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2439; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2440; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2441; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2442; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2443; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2444; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2445; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2446; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2447; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2448; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2449; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2450; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2451; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2452; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2453; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2454; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2455; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2456; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2457; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2458; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2459; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2460; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2461; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2462; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2463; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2464; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2465; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2466; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2467; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2468; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2469; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2470; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2471; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2472; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2473; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2474; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2475; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2476; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2477; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2478; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2479; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2480; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2481; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2482; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2483; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2484; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2485; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2486; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2487; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2488; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Up, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2489; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2490; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2491; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2492; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2493; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2494; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2495; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2496; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2497; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2498; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2499; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2500; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2501; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2502; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2503; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2504; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2505; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2506; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2507; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2508; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2509; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2510; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2511; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2512; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2513; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2514; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2515; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2516; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2517; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2518; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2519; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2520; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2521; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2522; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2523; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2524; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2525; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2526; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2527; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2528; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2529; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2530; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2531; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2532; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2533; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2534; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2535; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2536; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2537; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2538; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2539; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2540; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2541; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2542; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2543; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2544; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2545; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2546; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2547; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2548; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2549; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2550; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2551; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2552; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2553; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2554; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2555; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2556; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2557; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2558; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2559; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2560; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2561; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2562; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2563; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2564; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2565; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2566; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2567; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2568; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2569; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2570; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2571; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2572; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2573; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2574; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2575; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2576; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2577; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2578; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2579; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2580; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2581; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2582; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2583; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2584; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2585; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2586; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2587; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2588; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2589; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2590; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2591; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2592; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2593; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2594; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2595; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2596; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2597; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2598; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2599; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2600; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2601; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2602; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2603; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2604; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2605; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2606; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2607; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2608; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2609; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2610; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2611; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2612; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2613; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2614; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2615; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2616; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2617; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2618; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2619; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2620; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2621; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2622; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2623; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2624; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2625; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2626; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2627; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2628; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2629; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2630; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2631; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2632; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2633; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2634; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2635; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2636; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2637; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2638; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2639; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2640; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2641; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2642; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2643; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2644; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2645; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2646; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2647; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2648; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2649; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2650; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2651; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2652; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2653; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2654; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2655; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2656; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2657; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2658; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2659; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2660; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2661; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2662; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2663; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2664; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2665; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2666; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2667; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2668; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2669; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2670; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2671; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2672; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2673; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2674; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2675; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2676; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2677; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2678; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2679; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2680; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2681; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2682; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2683; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2684; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2685; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2686; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2687; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2688; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2689; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2690; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2691; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2692; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2693; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2694; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2695; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2696; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2697; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2698; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2699; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2700; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2701; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2702; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2703; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2704; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2705; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2706; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2707; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2708; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2709; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2710; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2711; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2712; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2713; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2714; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2715; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2716; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2717; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2718; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2719; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2720; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2721; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2722; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2723; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2724; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2725; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2726; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2727; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2728; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2729; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2730; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2731; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2732; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2733; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2734; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2735; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2736; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2737; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2738; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2739; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2740; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2741; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2742; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2743; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2744; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2745; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2746; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2747; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2748; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2749; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2750; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2751; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2752; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2753; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2754; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2755; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2756; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2757; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2758; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2759; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2760; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2761; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2762; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2763; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2764; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2765; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2766; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2767; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2768; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2769; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2770; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2771; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2772; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2773; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2774; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2775; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2776; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2777; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2778; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2779; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2780; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2781; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2782; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2783; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2784; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2785; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2786; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2787; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2788; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2789; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2790; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2791; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2792; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2793; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2794; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2795; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2796; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2797; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2798; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2799; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2800; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2801; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2802; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2803; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2804; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2805; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2806; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2807; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2808; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2809; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2810; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2811; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2812; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2813; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2814; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2815; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2816; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2817; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2818; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2819; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2820; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2821; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2822; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2823; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2824; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2825; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2826; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2827; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2828; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2829; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2830; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2831; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2832; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2833; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2834; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2835; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2836; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2837; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2838; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2839; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2840; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2841; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2842; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2843; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2844; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2845; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2846; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2847; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2848; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2849; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2850; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2851; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2852; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2853; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2854; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2855; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2856; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2857; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2858; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2859; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2860; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2861; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2862; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2863; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2864; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2865; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2866; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2867; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2868; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2869; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2870; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2871; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2872; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2873; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2874; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2875; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2876; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2877; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2878; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2879; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2880; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2881; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2882; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2883; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2884; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2885; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2886; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2887; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2888; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2889; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2890; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2891; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2892; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2893; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2894; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2895; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2896; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2897; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2898; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2899; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2900; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2901; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2902; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2903; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2904; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2905; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2906; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2907; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2908; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2909; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2910; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2911; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2912; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2913; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2914; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2915; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2916; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2917; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2918; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2919; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2920; - case RedstoneWire::RedstoneWire(RedstoneWire::East::Side, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2921; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2922; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2923; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2924; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2925; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2926; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2927; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2928; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2929; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2930; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2931; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2932; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2933; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2934; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2935; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2936; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2937; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2938; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2939; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2940; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2941; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2942; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2943; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2944; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2945; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2946; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2947; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2948; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2949; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2950; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2951; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2952; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2953; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2954; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2955; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2956; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2957; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2958; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2959; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2960; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2961; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2962; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2963; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2964; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2965; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2966; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2967; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2968; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2969; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2970; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2971; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2972; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2973; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2974; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2975; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2976; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2977; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2978; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2979; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2980; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2981; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2982; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2983; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2984; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2985; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2986; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2987; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2988; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2989; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2990; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 2991; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 2992; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 2993; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 2994; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 2995; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 2996; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 2997; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 2998; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 2999; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3000; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3001; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3002; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3003; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3004; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3005; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3006; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3007; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3008; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3009; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3010; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3011; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3012; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3013; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3014; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3015; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3016; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3017; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3018; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3019; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3020; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3021; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3022; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3023; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3024; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3025; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3026; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3027; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3028; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3029; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3030; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3031; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3032; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3033; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3034; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3035; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3036; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3037; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3038; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3039; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3040; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3041; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3042; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3043; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3044; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3045; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3046; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3047; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3048; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3049; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3050; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3051; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3052; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3053; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3054; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3055; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3056; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3057; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3058; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3059; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3060; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3061; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3062; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3063; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3064; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Up, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3065; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3066; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3067; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3068; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3069; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3070; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3071; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3072; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3073; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3074; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3075; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3076; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3077; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3078; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3079; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3080; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3081; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3082; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3083; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3084; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3085; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3086; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3087; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3088; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3089; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3090; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3091; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3092; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3093; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3094; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3095; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3096; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3097; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3098; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3099; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3100; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3101; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3102; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3103; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3104; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3105; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3106; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3107; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3108; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3109; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3110; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3111; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3112; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3113; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3114; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3115; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3116; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3117; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3118; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3119; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3120; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3121; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3122; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3123; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3124; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3125; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3126; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3127; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3128; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3129; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3130; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3131; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3132; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3133; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3134; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3135; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3136; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3137; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3138; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3139; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3140; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3141; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3142; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3143; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3144; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3145; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3146; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3147; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3148; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3149; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3150; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3151; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3152; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3153; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3154; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3155; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3156; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3157; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3158; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3159; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3160; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3161; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3162; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3163; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3164; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3165; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3166; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3167; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3168; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3169; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3170; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3171; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3172; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3173; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3174; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3175; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3176; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3177; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3178; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3179; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3180; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3181; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3182; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3183; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3184; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3185; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3186; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3187; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3188; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3189; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3190; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3191; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3192; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3193; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3194; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3195; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3196; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3197; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3198; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3199; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3200; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3201; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3202; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3203; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3204; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3205; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3206; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3207; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3208; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::Side, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3209; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3210; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3211; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3212; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3213; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3214; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3215; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3216; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3217; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3218; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3219; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3220; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3221; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3222; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3223; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3224; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3225; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3226; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3227; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3228; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3229; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3230; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3231; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3232; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3233; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3234; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3235; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3236; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3237; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3238; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3239; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3240; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3241; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3242; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3243; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3244; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3245; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3246; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3247; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3248; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3249; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3250; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3251; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3252; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3253; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3254; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3255; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3256; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3257; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3258; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3259; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3260; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3261; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3262; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3263; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3264; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3265; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3266; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3267; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3268; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3269; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3270; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3271; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3272; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3273; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3274; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3275; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3276; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3277; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3278; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3279; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3280; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3281; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3282; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3283; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3284; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3285; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3286; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3287; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3288; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3289; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3290; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3291; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3292; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3293; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3294; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3295; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3296; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3297; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3298; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3299; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3300; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3301; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3302; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3303; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3304; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3305; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3306; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3307; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3308; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3309; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3310; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3311; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3312; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3313; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3314; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3315; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3316; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3317; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3318; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3319; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3320; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3321; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3322; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3323; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3324; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3325; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3326; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3327; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3328; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3329; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3330; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3331; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3332; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3333; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3334; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3335; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3336; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3337; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3338; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3339; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3340; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3341; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3342; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3343; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3344; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Up).ID: return 3345; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::Side).ID: return 3346; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Up, RedstoneWire::West::None).ID: return 3347; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Up).ID: return 3348; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::Side).ID: return 3349; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::Side, RedstoneWire::West::None).ID: return 3350; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Up).ID: return 3351; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::Side).ID: return 3352; - case RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None).ID: return 3353; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4031; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4032; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4033; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4034; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4035; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4036; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4037; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4038; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4039; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4040; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4041; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4042; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4043; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4044; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4045; - case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4046; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4047; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4048; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4049; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4050; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4051; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4052; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4053; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4054; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4055; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4056; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4057; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4058; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4059; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4060; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4061; - case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4062; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4063; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4064; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4065; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4066; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4067; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4068; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4069; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4070; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4071; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4072; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4073; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4074; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4075; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4076; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4077; - case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4078; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4079; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4080; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4081; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4082; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4083; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4084; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4085; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4086; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4087; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4088; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4089; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4090; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4091; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4092; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4093; - case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4094; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 9225; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 9226; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 9227; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 9228; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 9229; - case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 9230; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 9231; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 9232; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 9233; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 9234; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 9235; - case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 9236; - case RespawnAnchor::RespawnAnchor(0).ID: return 15829; - case RespawnAnchor::RespawnAnchor(1).ID: return 15830; - case RespawnAnchor::RespawnAnchor(2).ID: return 15831; - case RespawnAnchor::RespawnAnchor(3).ID: return 15832; - case RespawnAnchor::RespawnAnchor(4).ID: return 15833; - case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 7889; - case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 7890; - case Sand::Sand().ID: return 66; - case Sandstone::Sandstone().ID: return 246; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 8349; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 8351; - case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 8353; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5171; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5173; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5175; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5177; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5179; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5181; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5183; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5185; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5187; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5189; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5191; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5193; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5195; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5197; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5199; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5201; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5203; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5205; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5207; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5209; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5211; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5213; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5215; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5217; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5219; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5221; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5223; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5225; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5227; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5229; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight).ID: return 5231; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerLeft).ID: return 5233; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::InnerRight).ID: return 5235; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterLeft).ID: return 5237; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::OuterRight).ID: return 5239; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight).ID: return 5241; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerLeft).ID: return 5243; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::InnerRight).ID: return 5245; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterLeft).ID: return 5247; - case SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::OuterRight).ID: return 5249; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 13786; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 13787; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 13788; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 13792; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 13793; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 13794; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 13798; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 13799; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 13800; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 13804; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 13805; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 13806; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 13810; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 13811; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 13812; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 13816; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 13817; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 13818; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 13822; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 13823; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 13824; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 13828; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 13829; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 13830; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 13834; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 13835; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 13836; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 13840; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 13841; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 13842; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 13846; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 13847; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 13848; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 13852; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 13853; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 13854; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 13858; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 13859; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 13860; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 13864; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 13865; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 13866; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 13870; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 13871; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 13872; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 13876; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 13877; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 13878; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 13882; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 13883; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 13884; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 13888; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 13889; - case SandstoneWall::SandstoneWall(SandstoneWall::East::None, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 13890; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 13894; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 13895; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 13896; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 13900; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 13901; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 13902; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 13906; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 13907; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 13908; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 13912; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 13913; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 13914; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 13918; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 13919; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 13920; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 13924; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 13925; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 13926; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 13930; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 13931; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 13932; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 13936; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 13937; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 13938; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 13942; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 13943; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 13944; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 13948; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 13949; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 13950; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 13954; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 13955; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 13956; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 13960; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 13961; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 13962; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 13966; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 13967; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 13968; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 13972; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 13973; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 13974; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 13978; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 13979; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 13980; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 13984; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 13985; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 13986; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 13990; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 13991; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 13992; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 13996; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 13997; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Low, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 13998; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 14002; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 14003; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 14004; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 14008; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 14009; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 14010; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 14014; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 14015; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 14016; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 14020; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 14021; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 14022; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 14026; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 14027; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 14028; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 14032; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 14033; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::None, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 14034; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 14038; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 14039; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 14040; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 14044; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 14045; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 14046; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 14050; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 14051; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 14052; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 14056; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 14057; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 14058; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 14062; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 14063; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 14064; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 14068; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 14069; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Low, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 14070; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::None).ID: return 14074; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::Low).ID: return 14075; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::None, true, SandstoneWall::West::Tall).ID: return 14076; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::None).ID: return 14080; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::Low).ID: return 14081; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::None, false, SandstoneWall::West::Tall).ID: return 14082; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::None).ID: return 14086; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::Low).ID: return 14087; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Low, true, SandstoneWall::West::Tall).ID: return 14088; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::None).ID: return 14092; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::Low).ID: return 14093; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Low, false, SandstoneWall::West::Tall).ID: return 14094; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::None).ID: return 14098; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::Low).ID: return 14099; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Tall, true, SandstoneWall::West::Tall).ID: return 14100; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::None).ID: return 14104; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::Low).ID: return 14105; - case SandstoneWall::SandstoneWall(SandstoneWall::East::Tall, SandstoneWall::North::Tall, SandstoneWall::South::Tall, false, SandstoneWall::West::Tall).ID: return 14106; - case Scaffolding::Scaffolding(true, 0).ID: return 14756; - case Scaffolding::Scaffolding(true, 1).ID: return 14758; - case Scaffolding::Scaffolding(true, 2).ID: return 14760; - case Scaffolding::Scaffolding(true, 3).ID: return 14762; - case Scaffolding::Scaffolding(true, 4).ID: return 14764; - case Scaffolding::Scaffolding(true, 5).ID: return 14766; - case Scaffolding::Scaffolding(true, 6).ID: return 14768; - case Scaffolding::Scaffolding(true, 7).ID: return 14770; - case Scaffolding::Scaffolding(false, 0).ID: return 14772; - case Scaffolding::Scaffolding(false, 1).ID: return 14774; - case Scaffolding::Scaffolding(false, 2).ID: return 14776; - case Scaffolding::Scaffolding(false, 3).ID: return 14778; - case Scaffolding::Scaffolding(false, 4).ID: return 14780; - case Scaffolding::Scaffolding(false, 5).ID: return 14782; - case Scaffolding::Scaffolding(false, 6).ID: return 14784; - case Scaffolding::Scaffolding(false, 7).ID: return 14786; - case SeaLantern::SeaLantern().ID: return 7862; - case SeaPickle::SeaPickle(1).ID: return 9641; - case SeaPickle::SeaPickle(2).ID: return 9643; - case SeaPickle::SeaPickle(3).ID: return 9645; - case SeaPickle::SeaPickle(4).ID: return 9647; - case Seagrass::Seagrass().ID: return 1345; - case Shroomlight::Shroomlight().ID: return 14989; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9272; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9273; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9274; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9275; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9276; - case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9277; - case SkeletonSkull::SkeletonSkull(0).ID: return 6490; - case SkeletonSkull::SkeletonSkull(1).ID: return 6491; - case SkeletonSkull::SkeletonSkull(2).ID: return 6492; - case SkeletonSkull::SkeletonSkull(3).ID: return 6493; - case SkeletonSkull::SkeletonSkull(4).ID: return 6494; - case SkeletonSkull::SkeletonSkull(5).ID: return 6495; - case SkeletonSkull::SkeletonSkull(6).ID: return 6496; - case SkeletonSkull::SkeletonSkull(7).ID: return 6497; - case SkeletonSkull::SkeletonSkull(8).ID: return 6498; - case SkeletonSkull::SkeletonSkull(9).ID: return 6499; - case SkeletonSkull::SkeletonSkull(10).ID: return 6500; - case SkeletonSkull::SkeletonSkull(11).ID: return 6501; - case SkeletonSkull::SkeletonSkull(12).ID: return 6502; - case SkeletonSkull::SkeletonSkull(13).ID: return 6503; - case SkeletonSkull::SkeletonSkull(14).ID: return 6504; - case SkeletonSkull::SkeletonSkull(15).ID: return 6505; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 6506; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 6507; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 6508; - case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 6509; - case SlimeBlock::SlimeBlock().ID: return 7535; - case SmithingTable::SmithingTable().ID: return 14849; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, true).ID: return 14803; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, false).ID: return 14804; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, true).ID: return 14805; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, false).ID: return 14806; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, true).ID: return 14807; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, false).ID: return 14808; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, true).ID: return 14809; - case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, false).ID: return 14810; - case SmoothQuartz::SmoothQuartz().ID: return 8416; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Top).ID: return 10832; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Bottom).ID: return 10834; - case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Double).ID: return 10836; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 10310; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 10312; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 10314; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 10316; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 10318; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 10320; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 10322; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 10324; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 10326; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 10328; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 10330; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 10332; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 10334; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 10336; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 10338; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 10340; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 10342; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 10344; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 10346; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_ZP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 10348; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 10350; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 10352; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 10354; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 10356; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 10358; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 10360; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 10362; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 10364; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 10366; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XM, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 10368; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::Straight).ID: return 10370; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerLeft).ID: return 10372; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::InnerRight).ID: return 10374; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterLeft).ID: return 10376; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Top, SmoothQuartzStairs::Shape::OuterRight).ID: return 10378; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::Straight).ID: return 10380; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerLeft).ID: return 10382; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::InnerRight).ID: return 10384; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterLeft).ID: return 10386; - case SmoothQuartzStairs::SmoothQuartzStairs(eBlockFace::BLOCK_FACE_XP, SmoothQuartzStairs::Half::Bottom, SmoothQuartzStairs::Shape::OuterRight).ID: return 10388; - case SmoothRedSandstone::SmoothRedSandstone().ID: return 8417; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Top).ID: return 10796; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Bottom).ID: return 10798; - case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Double).ID: return 10800; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9750; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9752; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9754; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9756; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9758; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9760; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9762; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9764; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9766; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9768; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9770; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9772; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9774; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9776; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9778; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9780; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9782; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9784; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9786; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9788; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9790; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9792; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9794; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9796; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9798; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9800; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9802; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9804; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9806; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9808; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9810; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9812; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9814; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9816; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Top, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9818; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::Straight).ID: return 9820; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerLeft).ID: return 9822; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::InnerRight).ID: return 9824; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterLeft).ID: return 9826; - case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothRedSandstoneStairs::Half::Bottom, SmoothRedSandstoneStairs::Shape::OuterRight).ID: return 9828; - case SmoothSandstone::SmoothSandstone().ID: return 8415; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Top).ID: return 10826; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Bottom).ID: return 10828; - case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Double).ID: return 10830; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 10230; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 10232; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 10234; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 10236; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 10238; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 10240; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 10242; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 10244; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 10246; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 10248; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 10250; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 10252; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 10254; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 10256; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 10258; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 10260; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 10262; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 10264; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 10266; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 10268; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 10270; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 10272; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 10274; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 10276; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 10278; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 10280; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 10282; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 10284; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 10286; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XM, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 10288; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::Straight).ID: return 10290; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 10292; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::InnerRight).ID: return 10294; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 10296; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Top, SmoothSandstoneStairs::Shape::OuterRight).ID: return 10298; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::Straight).ID: return 10300; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerLeft).ID: return 10302; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::InnerRight).ID: return 10304; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterLeft).ID: return 10306; - case SmoothSandstoneStairs::SmoothSandstoneStairs(eBlockFace::BLOCK_FACE_XP, SmoothSandstoneStairs::Half::Bottom, SmoothSandstoneStairs::Shape::OuterRight).ID: return 10308; - case SmoothStone::SmoothStone().ID: return 8414; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Top).ID: return 8343; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Bottom).ID: return 8345; - case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Double).ID: return 8347; - case Snow::Snow(1).ID: return 3921; - case Snow::Snow(2).ID: return 3922; - case Snow::Snow(3).ID: return 3923; - case Snow::Snow(4).ID: return 3924; - case Snow::Snow(5).ID: return 3925; - case Snow::Snow(6).ID: return 3926; - case Snow::Snow(7).ID: return 3927; - case Snow::Snow(8).ID: return 3928; - case SnowBlock::SnowBlock().ID: return 3930; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 14923; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 14925; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 14927; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 14929; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 14931; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 14933; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 14935; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 14937; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 14939; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 14941; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 14943; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 14945; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 14947; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 14949; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 14951; - case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 14953; - case SoulFire::SoulFire().ID: return 1952; - case SoulLantern::SoulLantern(true).ID: return 14888; - case SoulLantern::SoulLantern(false).ID: return 14889; - case SoulSand::SoulSand().ID: return 4000; - case SoulSoil::SoulSoil().ID: return 4001; - case SoulTorch::SoulTorch().ID: return 4008; - case SoulWallTorch::SoulWallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 4009; - case SoulWallTorch::SoulWallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 4010; - case SoulWallTorch::SoulWallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 4011; - case SoulWallTorch::SoulWallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 4012; - case Spawner::Spawner().ID: return 1953; - case Sponge::Sponge().ID: return 229; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6370; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6371; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6372; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6373; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6374; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6375; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6376; - case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6377; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6378; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6379; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6380; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6381; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6382; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6383; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6384; - case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6385; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6386; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6387; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6388; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6389; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6390; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6391; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6392; - case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6393; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8738; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8739; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8740; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8741; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8742; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8743; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8744; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8745; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8746; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8747; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8748; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8749; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8750; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8751; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8752; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8753; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8754; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8755; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8756; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8757; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8758; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8759; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8760; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8761; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8762; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8763; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8764; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8765; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8766; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8767; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8768; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8769; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8770; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8771; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8772; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8773; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8774; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8775; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8776; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8777; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8778; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8779; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8780; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8781; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8782; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8783; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8784; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8785; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, true).ID: return 8786; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, true, false).ID: return 8787; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true).ID: return 8788; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false).ID: return 8789; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, true).ID: return 8790; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, true, false).ID: return 8791; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true).ID: return 8792; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false).ID: return 8793; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, true).ID: return 8794; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, true, false).ID: return 8795; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, true).ID: return 8796; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Left, false, false).ID: return 8797; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, true).ID: return 8798; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false).ID: return 8799; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, true).ID: return 8800; - case SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false).ID: return 8801; - case SpruceFence::SpruceFence(true, true, true, true).ID: return 8580; - case SpruceFence::SpruceFence(true, true, true, false).ID: return 8581; - case SpruceFence::SpruceFence(true, true, false, true).ID: return 8584; - case SpruceFence::SpruceFence(true, true, false, false).ID: return 8585; - case SpruceFence::SpruceFence(true, false, true, true).ID: return 8588; - case SpruceFence::SpruceFence(true, false, true, false).ID: return 8589; - case SpruceFence::SpruceFence(true, false, false, true).ID: return 8592; - case SpruceFence::SpruceFence(true, false, false, false).ID: return 8593; - case SpruceFence::SpruceFence(false, true, true, true).ID: return 8596; - case SpruceFence::SpruceFence(false, true, true, false).ID: return 8597; - case SpruceFence::SpruceFence(false, true, false, true).ID: return 8600; - case SpruceFence::SpruceFence(false, true, false, false).ID: return 8601; - case SpruceFence::SpruceFence(false, false, true, true).ID: return 8604; - case SpruceFence::SpruceFence(false, false, true, false).ID: return 8605; - case SpruceFence::SpruceFence(false, false, false, true).ID: return 8608; - case SpruceFence::SpruceFence(false, false, false, false).ID: return 8609; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8418; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8419; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8420; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8421; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8422; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8423; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8424; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8425; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8426; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8427; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8428; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8429; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8430; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8431; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8432; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8433; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8434; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8435; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8436; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8437; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8438; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8439; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8440; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8441; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8442; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8443; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8444; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8445; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8446; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8447; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8448; - case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8449; - case SpruceLeaves::SpruceLeaves(1, true).ID: return 159; - case SpruceLeaves::SpruceLeaves(1, false).ID: return 160; - case SpruceLeaves::SpruceLeaves(2, true).ID: return 161; - case SpruceLeaves::SpruceLeaves(2, false).ID: return 162; - case SpruceLeaves::SpruceLeaves(3, true).ID: return 163; - case SpruceLeaves::SpruceLeaves(3, false).ID: return 164; - case SpruceLeaves::SpruceLeaves(4, true).ID: return 165; - case SpruceLeaves::SpruceLeaves(4, false).ID: return 166; - case SpruceLeaves::SpruceLeaves(5, true).ID: return 167; - case SpruceLeaves::SpruceLeaves(5, false).ID: return 168; - case SpruceLeaves::SpruceLeaves(6, true).ID: return 169; - case SpruceLeaves::SpruceLeaves(6, false).ID: return 170; - case SpruceLeaves::SpruceLeaves(7, true).ID: return 171; - case SpruceLeaves::SpruceLeaves(7, false).ID: return 172; - case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 76; - case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 77; - case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 78; - case SprucePlanks::SprucePlanks().ID: return 16; - case SprucePressurePlate::SprucePressurePlate(true).ID: return 3875; - case SprucePressurePlate::SprucePressurePlate(false).ID: return 3876; - case SpruceSapling::SpruceSapling(0).ID: return 23; - case SpruceSapling::SpruceSapling(1).ID: return 24; - case SpruceSign::SpruceSign(0).ID: return 3414; - case SpruceSign::SpruceSign(1).ID: return 3416; - case SpruceSign::SpruceSign(2).ID: return 3418; - case SpruceSign::SpruceSign(3).ID: return 3420; - case SpruceSign::SpruceSign(4).ID: return 3422; - case SpruceSign::SpruceSign(5).ID: return 3424; - case SpruceSign::SpruceSign(6).ID: return 3426; - case SpruceSign::SpruceSign(7).ID: return 3428; - case SpruceSign::SpruceSign(8).ID: return 3430; - case SpruceSign::SpruceSign(9).ID: return 3432; - case SpruceSign::SpruceSign(10).ID: return 3434; - case SpruceSign::SpruceSign(11).ID: return 3436; - case SpruceSign::SpruceSign(12).ID: return 3438; - case SpruceSign::SpruceSign(13).ID: return 3440; - case SpruceSign::SpruceSign(14).ID: return 3442; - case SpruceSign::SpruceSign(15).ID: return 3444; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 8307; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 8309; - case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 8311; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5405; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5407; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5409; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5411; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5413; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5415; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5417; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5419; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5421; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5423; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5425; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5427; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5429; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5431; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5433; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5435; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5437; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5439; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5441; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5443; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5445; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5447; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5449; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5451; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5453; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5455; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5457; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5459; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5461; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5463; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight).ID: return 5465; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerLeft).ID: return 5467; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::InnerRight).ID: return 5469; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterLeft).ID: return 5471; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::OuterRight).ID: return 5473; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight).ID: return 5475; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerLeft).ID: return 5477; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::InnerRight).ID: return 5479; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterLeft).ID: return 5481; - case SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::OuterRight).ID: return 5483; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: return 4176; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: return 4178; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: return 4180; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: return 4182; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4184; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4186; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4188; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4190; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: return 4192; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: return 4194; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: return 4196; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: return 4198; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4200; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4202; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4204; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4206; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: return 4208; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: return 4210; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: return 4212; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: return 4214; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4216; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4218; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4220; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4222; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: return 4224; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: return 4226; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: return 4228; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: return 4230; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: return 4232; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: return 4234; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: return 4236; - case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: return 4238; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3744; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3746; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3748; - case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3750; - case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 112; - case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 113; - case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 114; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1329; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1330; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1331; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1332; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1333; - case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1334; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1335; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1336; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1337; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1338; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1339; - case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1340; - case Stone::Stone().ID: return 1; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 8379; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 8381; - case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 8383; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4933; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4935; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4937; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4939; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4941; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4943; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4945; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4947; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4949; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4951; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4953; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4955; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4957; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4959; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4961; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4963; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4965; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4967; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4969; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4971; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4973; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4975; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4977; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4979; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 4981; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 4983; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 4985; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 4987; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 4989; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 4991; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight).ID: return 4993; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerLeft).ID: return 4995; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::InnerRight).ID: return 4997; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterLeft).ID: return 4999; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::OuterRight).ID: return 5001; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight).ID: return 5003; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerLeft).ID: return 5005; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::InnerRight).ID: return 5007; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterLeft).ID: return 5009; - case StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::OuterRight).ID: return 5011; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12490; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12491; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12492; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12496; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12497; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12498; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12502; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12503; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12504; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12508; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12509; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12510; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12514; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12515; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12516; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12520; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12521; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12522; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12526; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12527; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12528; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12532; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12533; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12534; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12538; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12539; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12540; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12544; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12545; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12546; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12550; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12551; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12552; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12556; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12557; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12558; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12562; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12563; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12564; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12568; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12569; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12570; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12574; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12575; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12576; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12580; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12581; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12582; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12586; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12587; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12588; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12592; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12593; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::None, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12594; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12598; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12599; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12600; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12604; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12605; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12606; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12610; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12611; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12612; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12616; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12617; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12618; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12622; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12623; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12624; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12628; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12629; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12630; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12634; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12635; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12636; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12640; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12641; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12642; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12646; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12647; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12648; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12652; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12653; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12654; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12658; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12659; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12660; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12664; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12665; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12666; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12670; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12671; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12672; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12676; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12677; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12678; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12682; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12683; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12684; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12688; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12689; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12690; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12694; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12695; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12696; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12700; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12701; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Low, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12702; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12706; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12707; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12708; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12712; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12713; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12714; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12718; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12719; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12720; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12724; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12725; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12726; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12730; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12731; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12732; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12736; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12737; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::None, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12738; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12742; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12743; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12744; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12748; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12749; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12750; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12754; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12755; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12756; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12760; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12761; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12762; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12766; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12767; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12768; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12772; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12773; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Low, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12774; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::None).ID: return 12778; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::Low).ID: return 12779; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::None, true, StoneBrickWall::West::Tall).ID: return 12780; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::None).ID: return 12784; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::Low).ID: return 12785; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::None, false, StoneBrickWall::West::Tall).ID: return 12786; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::None).ID: return 12790; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::Low).ID: return 12791; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, true, StoneBrickWall::West::Tall).ID: return 12792; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::None).ID: return 12796; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::Low).ID: return 12797; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Low, false, StoneBrickWall::West::Tall).ID: return 12798; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::None).ID: return 12802; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Low).ID: return 12803; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, true, StoneBrickWall::West::Tall).ID: return 12804; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::None).ID: return 12808; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Low).ID: return 12809; - case StoneBrickWall::StoneBrickWall(StoneBrickWall::East::Tall, StoneBrickWall::North::Tall, StoneBrickWall::South::Tall, false, StoneBrickWall::West::Tall).ID: return 12810; - case StoneBricks::StoneBricks().ID: return 4495; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3897; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3898; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3899; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3900; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3901; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3902; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3903; - case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3904; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3905; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3906; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3907; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3908; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3909; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3910; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3911; - case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3912; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3913; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3914; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3915; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3916; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3917; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3918; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3919; - case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3920; - case StonePressurePlate::StonePressurePlate(true).ID: return 3807; - case StonePressurePlate::StonePressurePlate(false).ID: return 3808; - case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 8337; - case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 8339; - case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 8341; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 10150; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 10152; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 10154; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 10156; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 10158; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 10160; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 10162; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 10164; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 10166; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 10168; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 10170; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 10172; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 10174; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 10176; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 10178; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 10180; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 10182; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 10184; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 10186; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 10188; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 10190; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 10192; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 10194; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 10196; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 10198; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 10200; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 10202; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 10204; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 10206; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 10208; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::Straight).ID: return 10210; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft).ID: return 10212; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight).ID: return 10214; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft).ID: return 10216; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight).ID: return 10218; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::Straight).ID: return 10220; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerLeft).ID: return 10222; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::InnerRight).ID: return 10224; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterLeft).ID: return 10226; - case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Bottom, StoneStairs::Shape::OuterRight).ID: return 10228; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZM).ID: return 14850; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZP).ID: return 14851; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XM).ID: return 14852; - case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XP).ID: return 14853; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 100; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 101; - case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 102; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 139; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 140; - case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 141; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 94; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 95; - case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 96; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 133; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 134; - case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 135; - case StrippedCrimsonHyphae::StrippedCrimsonHyphae(StrippedCrimsonHyphae::Axis::X).ID: return 14984; - case StrippedCrimsonHyphae::StrippedCrimsonHyphae(StrippedCrimsonHyphae::Axis::Y).ID: return 14985; - case StrippedCrimsonHyphae::StrippedCrimsonHyphae(StrippedCrimsonHyphae::Axis::Z).ID: return 14986; - case StrippedCrimsonStem::StrippedCrimsonStem(StrippedCrimsonStem::Axis::X).ID: return 14978; - case StrippedCrimsonStem::StrippedCrimsonStem(StrippedCrimsonStem::Axis::Y).ID: return 14979; - case StrippedCrimsonStem::StrippedCrimsonStem(StrippedCrimsonStem::Axis::Z).ID: return 14980; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 103; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 104; - case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 105; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 142; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 143; - case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 144; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 97; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 98; - case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 99; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 136; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 137; - case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 138; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 106; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 107; - case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 108; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 127; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 128; - case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 129; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 91; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 92; - case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 93; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 130; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 131; - case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 132; - case StrippedWarpedHyphae::StrippedWarpedHyphae(StrippedWarpedHyphae::Axis::X).ID: return 14967; - case StrippedWarpedHyphae::StrippedWarpedHyphae(StrippedWarpedHyphae::Axis::Y).ID: return 14968; - case StrippedWarpedHyphae::StrippedWarpedHyphae(StrippedWarpedHyphae::Axis::Z).ID: return 14969; - case StrippedWarpedStem::StrippedWarpedStem(StrippedWarpedStem::Axis::X).ID: return 14961; - case StrippedWarpedStem::StrippedWarpedStem(StrippedWarpedStem::Axis::Y).ID: return 14962; - case StrippedWarpedStem::StrippedWarpedStem(StrippedWarpedStem::Axis::Z).ID: return 14963; - case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 15735; - case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 15736; - case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 15737; - case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 15738; - case StructureVoid::StructureVoid().ID: return 9259; - case SugarCane::SugarCane(0).ID: return 3948; - case SugarCane::SugarCane(1).ID: return 3949; - case SugarCane::SugarCane(2).ID: return 3950; - case SugarCane::SugarCane(3).ID: return 3951; - case SugarCane::SugarCane(4).ID: return 3952; - case SugarCane::SugarCane(5).ID: return 3953; - case SugarCane::SugarCane(6).ID: return 3954; - case SugarCane::SugarCane(7).ID: return 3955; - case SugarCane::SugarCane(8).ID: return 3956; - case SugarCane::SugarCane(9).ID: return 3957; - case SugarCane::SugarCane(10).ID: return 3958; - case SugarCane::SugarCane(11).ID: return 3959; - case SugarCane::SugarCane(12).ID: return 3960; - case SugarCane::SugarCane(13).ID: return 3961; - case SugarCane::SugarCane(14).ID: return 3962; - case SugarCane::SugarCane(15).ID: return 3963; - case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 7885; - case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 7886; - case SweetBerryBush::SweetBerryBush(0).ID: return 14954; - case SweetBerryBush::SweetBerryBush(1).ID: return 14955; - case SweetBerryBush::SweetBerryBush(2).ID: return 14956; - case SweetBerryBush::SweetBerryBush(3).ID: return 14957; - case TNT::TNT(true).ID: return 1430; - case TNT::TNT(false).ID: return 1431; - case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 7893; - case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 7894; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1346; - case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1347; - case Target::Target(0).ID: return 15760; - case Target::Target(1).ID: return 15761; - case Target::Target(2).ID: return 15762; - case Target::Target(3).ID: return 15763; - case Target::Target(4).ID: return 15764; - case Target::Target(5).ID: return 15765; - case Target::Target(6).ID: return 15766; - case Target::Target(7).ID: return 15767; - case Target::Target(8).ID: return 15768; - case Target::Target(9).ID: return 15769; - case Target::Target(10).ID: return 15770; - case Target::Target(11).ID: return 15771; - case Target::Target(12).ID: return 15772; - case Target::Target(13).ID: return 15773; - case Target::Target(14).ID: return 15774; - case Target::Target(15).ID: return 15775; - case Terracotta::Terracotta().ID: return 7882; - case Torch::Torch().ID: return 1435; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 6623; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 6625; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 6627; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 6629; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 6631; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 6633; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 6635; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 6637; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 6639; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 6641; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 6643; - case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 6645; - case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 5275; - case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 5276; - case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 5277; - case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 5278; - case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 5279; - case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 5280; - case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 5281; - case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 5282; - case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 5283; - case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 5284; - case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 5285; - case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 5286; - case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 5287; - case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 5288; - case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 5289; - case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 5290; - case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 5291; - case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 5292; - case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 5293; - case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 5294; - case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 5295; - case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 5296; - case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 5297; - case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 5298; - case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 5299; - case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 5300; - case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 5301; - case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 5302; - case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 5303; - case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 5304; - case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 5305; - case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 5306; - case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 5307; - case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 5308; - case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 5309; - case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 5310; - case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 5311; - case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 5312; - case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 5313; - case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 5314; - case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 5315; - case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 5316; - case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 5317; - case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 5318; - case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 5319; - case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 5320; - case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 5321; - case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 5322; - case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 5323; - case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 5324; - case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 5325; - case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 5326; - case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 5327; - case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 5328; - case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 5329; - case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 5330; - case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 5331; - case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 5332; - case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 5333; - case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 5334; - case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 5335; - case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 5336; - case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 5337; - case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 5338; - case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 5339; - case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 5340; - case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 5341; - case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 5342; - case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 5343; - case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 5344; - case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 5345; - case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 5346; - case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 5347; - case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 5348; - case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 5349; - case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 5350; - case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 5351; - case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 5352; - case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 5353; - case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 5354; - case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 5355; - case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 5356; - case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 5357; - case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 5358; - case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 5359; - case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 5360; - case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 5361; - case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 5362; - case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 5363; - case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 5364; - case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 5365; - case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 5366; - case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 5367; - case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 5368; - case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 5369; - case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 5370; - case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 5371; - case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 5372; - case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 5373; - case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 5374; - case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 5375; - case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 5376; - case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 5377; - case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 5378; - case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 5379; - case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 5380; - case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 5381; - case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 5382; - case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 5383; - case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 5384; - case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 5385; - case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 5386; - case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 5387; - case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 5388; - case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 5389; - case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 5390; - case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 5391; - case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 5392; - case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 5393; - case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 5394; - case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 5395; - case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 5396; - case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 5397; - case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 5398; - case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 5399; - case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 5400; - case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 5401; - case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 5402; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5259; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5260; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5261; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5262; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 5263; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 5264; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 5265; - case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 5266; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5267; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5268; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5269; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5270; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 5271; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 5272; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 5273; - case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 5274; - case TubeCoral::TubeCoral().ID: return 9531; - case TubeCoralBlock::TubeCoralBlock().ID: return 9515; - case TubeCoralFan::TubeCoralFan().ID: return 9551; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9601; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9603; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9605; - case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9607; - case TurtleEgg::TurtleEgg(1, 0).ID: return 9498; - case TurtleEgg::TurtleEgg(1, 1).ID: return 9499; - case TurtleEgg::TurtleEgg(1, 2).ID: return 9500; - case TurtleEgg::TurtleEgg(2, 0).ID: return 9501; - case TurtleEgg::TurtleEgg(2, 1).ID: return 9502; - case TurtleEgg::TurtleEgg(2, 2).ID: return 9503; - case TurtleEgg::TurtleEgg(3, 0).ID: return 9504; - case TurtleEgg::TurtleEgg(3, 1).ID: return 9505; - case TurtleEgg::TurtleEgg(3, 2).ID: return 9506; - case TurtleEgg::TurtleEgg(4, 0).ID: return 9507; - case TurtleEgg::TurtleEgg(4, 1).ID: return 9508; - case TurtleEgg::TurtleEgg(4, 2).ID: return 9509; - case TwistingVines::TwistingVines(0).ID: return 15017; - case TwistingVines::TwistingVines(1).ID: return 15018; - case TwistingVines::TwistingVines(2).ID: return 15019; - case TwistingVines::TwistingVines(3).ID: return 15020; - case TwistingVines::TwistingVines(4).ID: return 15021; - case TwistingVines::TwistingVines(5).ID: return 15022; - case TwistingVines::TwistingVines(6).ID: return 15023; - case TwistingVines::TwistingVines(7).ID: return 15024; - case TwistingVines::TwistingVines(8).ID: return 15025; - case TwistingVines::TwistingVines(9).ID: return 15026; - case TwistingVines::TwistingVines(10).ID: return 15027; - case TwistingVines::TwistingVines(11).ID: return 15028; - case TwistingVines::TwistingVines(12).ID: return 15029; - case TwistingVines::TwistingVines(13).ID: return 15030; - case TwistingVines::TwistingVines(14).ID: return 15031; - case TwistingVines::TwistingVines(15).ID: return 15032; - case TwistingVines::TwistingVines(16).ID: return 15033; - case TwistingVines::TwistingVines(17).ID: return 15034; - case TwistingVines::TwistingVines(18).ID: return 15035; - case TwistingVines::TwistingVines(19).ID: return 15036; - case TwistingVines::TwistingVines(20).ID: return 15037; - case TwistingVines::TwistingVines(21).ID: return 15038; - case TwistingVines::TwistingVines(22).ID: return 15039; - case TwistingVines::TwistingVines(23).ID: return 15040; - case TwistingVines::TwistingVines(24).ID: return 15041; - case TwistingVines::TwistingVines(25).ID: return 15042; - case TwistingVinesPlant::TwistingVinesPlant().ID: return 15043; - case Vine::Vine(true, true, true, true, true).ID: return 4788; - case Vine::Vine(true, true, true, true, false).ID: return 4789; - case Vine::Vine(true, true, true, false, true).ID: return 4790; - case Vine::Vine(true, true, true, false, false).ID: return 4791; - case Vine::Vine(true, true, false, true, true).ID: return 4792; - case Vine::Vine(true, true, false, true, false).ID: return 4793; - case Vine::Vine(true, true, false, false, true).ID: return 4794; - case Vine::Vine(true, true, false, false, false).ID: return 4795; - case Vine::Vine(true, false, true, true, true).ID: return 4796; - case Vine::Vine(true, false, true, true, false).ID: return 4797; - case Vine::Vine(true, false, true, false, true).ID: return 4798; - case Vine::Vine(true, false, true, false, false).ID: return 4799; - case Vine::Vine(true, false, false, true, true).ID: return 4800; - case Vine::Vine(true, false, false, true, false).ID: return 4801; - case Vine::Vine(true, false, false, false, true).ID: return 4802; - case Vine::Vine(true, false, false, false, false).ID: return 4803; - case Vine::Vine(false, true, true, true, true).ID: return 4804; - case Vine::Vine(false, true, true, true, false).ID: return 4805; - case Vine::Vine(false, true, true, false, true).ID: return 4806; - case Vine::Vine(false, true, true, false, false).ID: return 4807; - case Vine::Vine(false, true, false, true, true).ID: return 4808; - case Vine::Vine(false, true, false, true, false).ID: return 4809; - case Vine::Vine(false, true, false, false, true).ID: return 4810; - case Vine::Vine(false, true, false, false, false).ID: return 4811; - case Vine::Vine(false, false, true, true, true).ID: return 4812; - case Vine::Vine(false, false, true, true, false).ID: return 4813; - case Vine::Vine(false, false, true, false, true).ID: return 4814; - case Vine::Vine(false, false, true, false, false).ID: return 4815; - case Vine::Vine(false, false, false, true, true).ID: return 4816; - case Vine::Vine(false, false, false, true, false).ID: return 4817; - case Vine::Vine(false, false, false, false, true).ID: return 4818; - case Vine::Vine(false, false, false, false, false).ID: return 4819; - case VoidAir::VoidAir().ID: return 9665; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1436; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1437; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1438; - case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1439; - case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15503; - case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15504; - case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15505; - case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15506; - case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 15507; - case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 15508; - case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 15509; - case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 15510; - case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15511; - case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15512; - case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15513; - case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15514; - case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 15515; - case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 15516; - case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 15517; - case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 15518; - case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15519; - case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15520; - case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15521; - case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15522; - case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 15523; - case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 15524; - case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 15525; - case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 15526; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, true, true).ID: return 15591; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, true, false).ID: return 15592; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, false, true).ID: return 15593; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, false, false).ID: return 15594; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, true, true).ID: return 15595; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, true, false).ID: return 15596; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, false, true).ID: return 15597; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, false, false).ID: return 15598; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, true, true).ID: return 15599; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, true, false).ID: return 15600; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, false, true).ID: return 15601; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, false, false).ID: return 15602; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, true, true).ID: return 15603; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, true, false).ID: return 15604; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, false, true).ID: return 15605; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, false, false).ID: return 15606; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, true, true).ID: return 15607; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, true, false).ID: return 15608; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, false, true).ID: return 15609; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, false, false).ID: return 15610; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, true, true).ID: return 15611; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, true, false).ID: return 15612; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, false, true).ID: return 15613; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, false, false).ID: return 15614; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, true, true).ID: return 15615; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, true, false).ID: return 15616; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, false, true).ID: return 15617; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, false, false).ID: return 15618; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, true, true).ID: return 15619; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, true, false).ID: return 15620; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, false, true).ID: return 15621; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_ZP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, false, false).ID: return 15622; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, true, true).ID: return 15623; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, true, false).ID: return 15624; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, false, true).ID: return 15625; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, false, false).ID: return 15626; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, true, true).ID: return 15627; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, true, false).ID: return 15628; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, false, true).ID: return 15629; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, false, false).ID: return 15630; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, true, true).ID: return 15631; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, true, false).ID: return 15632; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, false, true).ID: return 15633; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, false, false).ID: return 15634; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, true, true).ID: return 15635; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, true, false).ID: return 15636; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, false, true).ID: return 15637; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XM, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, false, false).ID: return 15638; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, true, true).ID: return 15639; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, true, false).ID: return 15640; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, false, true).ID: return 15641; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Left, false, false).ID: return 15642; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, true, true).ID: return 15643; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, true, false).ID: return 15644; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, false, true).ID: return 15645; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Upper, WarpedDoor::Hinge::Right, false, false).ID: return 15646; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, true, true).ID: return 15647; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, true, false).ID: return 15648; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, false, true).ID: return 15649; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Left, false, false).ID: return 15650; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, true, true).ID: return 15651; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, true, false).ID: return 15652; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, false, true).ID: return 15653; - case WarpedDoor::WarpedDoor(eBlockFace::BLOCK_FACE_XP, WarpedDoor::Half::Lower, WarpedDoor::Hinge::Right, false, false).ID: return 15654; - case WarpedFence::WarpedFence(true, true, true, true).ID: return 15097; - case WarpedFence::WarpedFence(true, true, true, false).ID: return 15098; - case WarpedFence::WarpedFence(true, true, false, true).ID: return 15101; - case WarpedFence::WarpedFence(true, true, false, false).ID: return 15102; - case WarpedFence::WarpedFence(true, false, true, true).ID: return 15105; - case WarpedFence::WarpedFence(true, false, true, false).ID: return 15106; - case WarpedFence::WarpedFence(true, false, false, true).ID: return 15109; - case WarpedFence::WarpedFence(true, false, false, false).ID: return 15110; - case WarpedFence::WarpedFence(false, true, true, true).ID: return 15113; - case WarpedFence::WarpedFence(false, true, true, false).ID: return 15114; - case WarpedFence::WarpedFence(false, true, false, true).ID: return 15117; - case WarpedFence::WarpedFence(false, true, false, false).ID: return 15118; - case WarpedFence::WarpedFence(false, false, true, true).ID: return 15121; - case WarpedFence::WarpedFence(false, false, true, false).ID: return 15122; - case WarpedFence::WarpedFence(false, false, false, true).ID: return 15125; - case WarpedFence::WarpedFence(false, false, false, false).ID: return 15126; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 15287; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 15288; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 15289; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 15290; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 15291; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 15292; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 15293; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 15294; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 15295; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 15296; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 15297; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 15298; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 15299; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 15300; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 15301; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 15302; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 15303; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 15304; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 15305; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 15306; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 15307; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 15308; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 15309; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 15310; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 15311; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 15312; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 15313; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 15314; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 15315; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 15316; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 15317; - case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 15318; - case WarpedFungus::WarpedFungus().ID: return 14971; - case WarpedHyphae::WarpedHyphae(WarpedHyphae::Axis::X).ID: return 14964; - case WarpedHyphae::WarpedHyphae(WarpedHyphae::Axis::Y).ID: return 14965; - case WarpedHyphae::WarpedHyphae(WarpedHyphae::Axis::Z).ID: return 14966; - case WarpedNylium::WarpedNylium().ID: return 14970; - case WarpedPlanks::WarpedPlanks().ID: return 15046; - case WarpedPressurePlate::WarpedPressurePlate(true).ID: return 15061; - case WarpedPressurePlate::WarpedPressurePlate(false).ID: return 15062; - case WarpedRoots::WarpedRoots().ID: return 14973; - case WarpedSign::WarpedSign(0).ID: return 15688; - case WarpedSign::WarpedSign(1).ID: return 15690; - case WarpedSign::WarpedSign(2).ID: return 15692; - case WarpedSign::WarpedSign(3).ID: return 15694; - case WarpedSign::WarpedSign(4).ID: return 15696; - case WarpedSign::WarpedSign(5).ID: return 15698; - case WarpedSign::WarpedSign(6).ID: return 15700; - case WarpedSign::WarpedSign(7).ID: return 15702; - case WarpedSign::WarpedSign(8).ID: return 15704; - case WarpedSign::WarpedSign(9).ID: return 15706; - case WarpedSign::WarpedSign(10).ID: return 15708; - case WarpedSign::WarpedSign(11).ID: return 15710; - case WarpedSign::WarpedSign(12).ID: return 15712; - case WarpedSign::WarpedSign(13).ID: return 15714; - case WarpedSign::WarpedSign(14).ID: return 15716; - case WarpedSign::WarpedSign(15).ID: return 15718; - case WarpedSlab::WarpedSlab(WarpedSlab::Type::Top).ID: return 15054; - case WarpedSlab::WarpedSlab(WarpedSlab::Type::Bottom).ID: return 15056; - case WarpedSlab::WarpedSlab(WarpedSlab::Type::Double).ID: return 15058; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Top, WarpedStairs::Shape::Straight).ID: return 15400; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Top, WarpedStairs::Shape::InnerLeft).ID: return 15402; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Top, WarpedStairs::Shape::InnerRight).ID: return 15404; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Top, WarpedStairs::Shape::OuterLeft).ID: return 15406; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Top, WarpedStairs::Shape::OuterRight).ID: return 15408; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::Straight).ID: return 15410; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::InnerLeft).ID: return 15412; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::InnerRight).ID: return 15414; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::OuterLeft).ID: return 15416; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::OuterRight).ID: return 15418; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Top, WarpedStairs::Shape::Straight).ID: return 15420; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Top, WarpedStairs::Shape::InnerLeft).ID: return 15422; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Top, WarpedStairs::Shape::InnerRight).ID: return 15424; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Top, WarpedStairs::Shape::OuterLeft).ID: return 15426; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Top, WarpedStairs::Shape::OuterRight).ID: return 15428; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::Straight).ID: return 15430; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::InnerLeft).ID: return 15432; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::InnerRight).ID: return 15434; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::OuterLeft).ID: return 15436; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_ZP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::OuterRight).ID: return 15438; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Top, WarpedStairs::Shape::Straight).ID: return 15440; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Top, WarpedStairs::Shape::InnerLeft).ID: return 15442; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Top, WarpedStairs::Shape::InnerRight).ID: return 15444; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Top, WarpedStairs::Shape::OuterLeft).ID: return 15446; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Top, WarpedStairs::Shape::OuterRight).ID: return 15448; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::Straight).ID: return 15450; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::InnerLeft).ID: return 15452; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::InnerRight).ID: return 15454; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::OuterLeft).ID: return 15456; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XM, WarpedStairs::Half::Bottom, WarpedStairs::Shape::OuterRight).ID: return 15458; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Top, WarpedStairs::Shape::Straight).ID: return 15460; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Top, WarpedStairs::Shape::InnerLeft).ID: return 15462; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Top, WarpedStairs::Shape::InnerRight).ID: return 15464; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Top, WarpedStairs::Shape::OuterLeft).ID: return 15466; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Top, WarpedStairs::Shape::OuterRight).ID: return 15468; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::Straight).ID: return 15470; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::InnerLeft).ID: return 15472; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::InnerRight).ID: return 15474; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::OuterLeft).ID: return 15476; - case WarpedStairs::WarpedStairs(eBlockFace::BLOCK_FACE_XP, WarpedStairs::Half::Bottom, WarpedStairs::Shape::OuterRight).ID: return 15478; - case WarpedStem::WarpedStem(WarpedStem::Axis::X).ID: return 14958; - case WarpedStem::WarpedStem(WarpedStem::Axis::Y).ID: return 14959; - case WarpedStem::WarpedStem(WarpedStem::Axis::Z).ID: return 14960; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Top, true, true).ID: return 15192; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Top, true, false).ID: return 15194; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Top, false, true).ID: return 15196; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Top, false, false).ID: return 15198; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Bottom, true, true).ID: return 15200; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Bottom, true, false).ID: return 15202; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Bottom, false, true).ID: return 15204; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Bottom, false, false).ID: return 15206; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Top, true, true).ID: return 15208; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Top, true, false).ID: return 15210; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Top, false, true).ID: return 15212; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Top, false, false).ID: return 15214; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Bottom, true, true).ID: return 15216; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Bottom, true, false).ID: return 15218; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Bottom, false, true).ID: return 15220; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Bottom, false, false).ID: return 15222; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Top, true, true).ID: return 15224; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Top, true, false).ID: return 15226; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Top, false, true).ID: return 15228; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Top, false, false).ID: return 15230; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Bottom, true, true).ID: return 15232; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Bottom, true, false).ID: return 15234; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Bottom, false, true).ID: return 15236; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Bottom, false, false).ID: return 15238; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Top, true, true).ID: return 15240; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Top, true, false).ID: return 15242; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Top, false, true).ID: return 15244; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Top, false, false).ID: return 15246; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Bottom, true, true).ID: return 15248; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Bottom, true, false).ID: return 15250; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Bottom, false, true).ID: return 15252; - case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Bottom, false, false).ID: return 15254; - case WarpedWallSign::WarpedWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 15728; - case WarpedWallSign::WarpedWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 15730; - case WarpedWallSign::WarpedWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 15732; - case WarpedWallSign::WarpedWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 15734; - case WarpedWartBlock::WarpedWartBlock().ID: return 14972; - case Water::Water(0).ID: return 34; - case Water::Water(1).ID: return 35; - case Water::Water(2).ID: return 36; - case Water::Water(3).ID: return 37; - case Water::Water(4).ID: return 38; - case Water::Water(5).ID: return 39; - case Water::Water(6).ID: return 40; - case Water::Water(7).ID: return 41; - case Water::Water(8).ID: return 42; - case Water::Water(9).ID: return 43; - case Water::Water(10).ID: return 44; - case Water::Water(11).ID: return 45; - case Water::Water(12).ID: return 46; - case Water::Water(13).ID: return 47; - case Water::Water(14).ID: return 48; - case Water::Water(15).ID: return 49; - case WeepingVines::WeepingVines(0).ID: return 14990; - case WeepingVines::WeepingVines(1).ID: return 14991; - case WeepingVines::WeepingVines(2).ID: return 14992; - case WeepingVines::WeepingVines(3).ID: return 14993; - case WeepingVines::WeepingVines(4).ID: return 14994; - case WeepingVines::WeepingVines(5).ID: return 14995; - case WeepingVines::WeepingVines(6).ID: return 14996; - case WeepingVines::WeepingVines(7).ID: return 14997; - case WeepingVines::WeepingVines(8).ID: return 14998; - case WeepingVines::WeepingVines(9).ID: return 14999; - case WeepingVines::WeepingVines(10).ID: return 15000; - case WeepingVines::WeepingVines(11).ID: return 15001; - case WeepingVines::WeepingVines(12).ID: return 15002; - case WeepingVines::WeepingVines(13).ID: return 15003; - case WeepingVines::WeepingVines(14).ID: return 15004; - case WeepingVines::WeepingVines(15).ID: return 15005; - case WeepingVines::WeepingVines(16).ID: return 15006; - case WeepingVines::WeepingVines(17).ID: return 15007; - case WeepingVines::WeepingVines(18).ID: return 15008; - case WeepingVines::WeepingVines(19).ID: return 15009; - case WeepingVines::WeepingVines(20).ID: return 15010; - case WeepingVines::WeepingVines(21).ID: return 15011; - case WeepingVines::WeepingVines(22).ID: return 15012; - case WeepingVines::WeepingVines(23).ID: return 15013; - case WeepingVines::WeepingVines(24).ID: return 15014; - case WeepingVines::WeepingVines(25).ID: return 15015; - case WeepingVinesPlant::WeepingVinesPlant().ID: return 15016; - case WetSponge::WetSponge().ID: return 230; - case Wheat::Wheat(0).ID: return 3357; - case Wheat::Wheat(1).ID: return 3358; - case Wheat::Wheat(2).ID: return 3359; - case Wheat::Wheat(3).ID: return 3360; - case Wheat::Wheat(4).ID: return 3361; - case Wheat::Wheat(5).ID: return 3362; - case Wheat::Wheat(6).ID: return 3363; - case Wheat::Wheat(7).ID: return 3364; - case WhiteBanner::WhiteBanner(0).ID: return 7897; - case WhiteBanner::WhiteBanner(1).ID: return 7898; - case WhiteBanner::WhiteBanner(2).ID: return 7899; - case WhiteBanner::WhiteBanner(3).ID: return 7900; - case WhiteBanner::WhiteBanner(4).ID: return 7901; - case WhiteBanner::WhiteBanner(5).ID: return 7902; - case WhiteBanner::WhiteBanner(6).ID: return 7903; - case WhiteBanner::WhiteBanner(7).ID: return 7904; - case WhiteBanner::WhiteBanner(8).ID: return 7905; - case WhiteBanner::WhiteBanner(9).ID: return 7906; - case WhiteBanner::WhiteBanner(10).ID: return 7907; - case WhiteBanner::WhiteBanner(11).ID: return 7908; - case WhiteBanner::WhiteBanner(12).ID: return 7909; - case WhiteBanner::WhiteBanner(13).ID: return 7910; - case WhiteBanner::WhiteBanner(14).ID: return 7911; - case WhiteBanner::WhiteBanner(15).ID: return 7912; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 1049; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 1050; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 1051; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 1052; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 1053; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 1054; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 1055; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 1056; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 1057; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 1058; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 1059; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 1060; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 1061; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 1062; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 1063; - case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 1064; - case WhiteCarpet::WhiteCarpet().ID: return 7866; - case WhiteConcrete::WhiteConcrete().ID: return 9438; - case WhiteConcretePowder::WhiteConcretePowder().ID: return 9454; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9374; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9375; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9376; - case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9377; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9278; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9279; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9280; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9281; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9282; - case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9283; - case WhiteStainedGlass::WhiteStainedGlass().ID: return 4095; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 6865; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 6866; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 6869; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 6870; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 6873; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 6874; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 6877; - case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 6878; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 6881; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 6882; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 6885; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 6886; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 6889; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 6890; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 6893; - case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 6894; - case WhiteTerracotta::WhiteTerracotta().ID: return 6847; - case WhiteTulip::WhiteTulip().ID: return 1419; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8153; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8154; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8155; - case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8156; - case WhiteWool::WhiteWool().ID: return 1384; - case WitherRose::WitherRose().ID: return 1423; - case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 6510; - case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 6511; - case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 6512; - case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 6513; - case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 6514; - case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 6515; - case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 6516; - case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 6517; - case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 6518; - case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 6519; - case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 6520; - case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 6521; - case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 6522; - case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 6523; - case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 6524; - case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 6525; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 6526; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 6527; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 6528; - case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 6529; - case YellowBanner::YellowBanner(0).ID: return 7961; - case YellowBanner::YellowBanner(1).ID: return 7962; - case YellowBanner::YellowBanner(2).ID: return 7963; - case YellowBanner::YellowBanner(3).ID: return 7964; - case YellowBanner::YellowBanner(4).ID: return 7965; - case YellowBanner::YellowBanner(5).ID: return 7966; - case YellowBanner::YellowBanner(6).ID: return 7967; - case YellowBanner::YellowBanner(7).ID: return 7968; - case YellowBanner::YellowBanner(8).ID: return 7969; - case YellowBanner::YellowBanner(9).ID: return 7970; - case YellowBanner::YellowBanner(10).ID: return 7971; - case YellowBanner::YellowBanner(11).ID: return 7972; - case YellowBanner::YellowBanner(12).ID: return 7973; - case YellowBanner::YellowBanner(13).ID: return 7974; - case YellowBanner::YellowBanner(14).ID: return 7975; - case YellowBanner::YellowBanner(15).ID: return 7976; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 1113; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 1114; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 1115; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 1116; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 1117; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 1118; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 1119; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 1120; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 1121; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 1122; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 1123; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 1124; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 1125; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 1126; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 1127; - case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 1128; - case YellowCarpet::YellowCarpet().ID: return 7870; - case YellowConcrete::YellowConcrete().ID: return 9442; - case YellowConcretePowder::YellowConcretePowder().ID: return 9458; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9390; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9391; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9392; - case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9393; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9302; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9303; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9304; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9305; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9306; - case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9307; - case YellowStainedGlass::YellowStainedGlass().ID: return 4099; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 6993; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 6994; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 6997; - case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 6998; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 7001; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 7002; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 7005; - case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 7006; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 7009; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 7010; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 7013; - case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 7014; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 7017; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 7018; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 7021; - case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 7022; - case YellowTerracotta::YellowTerracotta().ID: return 6851; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8169; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8170; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8171; - case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8172; - case YellowWool::YellowWool().ID: return 1388; - case ZombieHead::ZombieHead(0).ID: return 6530; - case ZombieHead::ZombieHead(1).ID: return 6531; - case ZombieHead::ZombieHead(2).ID: return 6532; - case ZombieHead::ZombieHead(3).ID: return 6533; - case ZombieHead::ZombieHead(4).ID: return 6534; - case ZombieHead::ZombieHead(5).ID: return 6535; - case ZombieHead::ZombieHead(6).ID: return 6536; - case ZombieHead::ZombieHead(7).ID: return 6537; - case ZombieHead::ZombieHead(8).ID: return 6538; - case ZombieHead::ZombieHead(9).ID: return 6539; - case ZombieHead::ZombieHead(10).ID: return 6540; - case ZombieHead::ZombieHead(11).ID: return 6541; - case ZombieHead::ZombieHead(12).ID: return 6542; - case ZombieHead::ZombieHead(13).ID: return 6543; - case ZombieHead::ZombieHead(14).ID: return 6544; - case ZombieHead::ZombieHead(15).ID: return 6545; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6546; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6547; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6548; - case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6549; - default: return 0; - } + switch (Block.ID) + { + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6442; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6443; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6444; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6445; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6446; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6447; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6448; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6449; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6450; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6451; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6452; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6453; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6454; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6455; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6456; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6457; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6458; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6459; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6460; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6461; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6462; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6463; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6464; + case AcaciaButton::AcaciaButton(AcaciaButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6465; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8930; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8931; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8932; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8933; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8934; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8935; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8936; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8937; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8938; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8939; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8940; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8941; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8942; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8943; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8944; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8945; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8946; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8947; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8948; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8949; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8950; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8951; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8952; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8953; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8954; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8955; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8956; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8957; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8958; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8959; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8960; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_ZP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8961; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8962; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8963; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8964; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8965; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8966; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8967; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8968; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8969; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8970; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8971; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8972; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8973; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8974; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8975; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8976; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XM, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8977; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8978; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8979; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8980; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8981; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8982; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8983; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8984; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Upper, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8985; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + true + ) + .ID: + return 8986; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + true, + false + ) + .ID: + return 8987; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + true + ) + .ID: + return 8988; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Left, + false, + false + ) + .ID: + return 8989; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + true + ) + .ID: + return 8990; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + true, + false + ) + .ID: + return 8991; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + true + ) + .ID: + return 8992; + case AcaciaDoor::AcaciaDoor( + eBlockFace::BLOCK_FACE_XP, + AcaciaDoor::Half::Lower, + AcaciaDoor::Hinge::Right, + false, + false + ) + .ID: + return 8993; + case AcaciaFence::AcaciaFence(true, true, true, true).ID: return 8676; + case AcaciaFence::AcaciaFence(true, true, true, false).ID: return 8677; + case AcaciaFence::AcaciaFence(true, true, false, true).ID: return 8680; + case AcaciaFence::AcaciaFence(true, true, false, false).ID: return 8681; + case AcaciaFence::AcaciaFence(true, false, true, true).ID: return 8684; + case AcaciaFence::AcaciaFence(true, false, true, false).ID: return 8685; + case AcaciaFence::AcaciaFence(true, false, false, true).ID: return 8688; + case AcaciaFence::AcaciaFence(true, false, false, false).ID: return 8689; + case AcaciaFence::AcaciaFence(false, true, true, true).ID: return 8692; + case AcaciaFence::AcaciaFence(false, true, true, false).ID: return 8693; + case AcaciaFence::AcaciaFence(false, true, false, true).ID: return 8696; + case AcaciaFence::AcaciaFence(false, true, false, false).ID: return 8697; + case AcaciaFence::AcaciaFence(false, false, true, true).ID: return 8700; + case AcaciaFence::AcaciaFence(false, false, true, false).ID: return 8701; + case AcaciaFence::AcaciaFence(false, false, false, true).ID: return 8704; + case AcaciaFence::AcaciaFence(false, false, false, false).ID: return 8705; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8514; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8515; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8516; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8517; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8518; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8519; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8520; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8521; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8522; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8523; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8524; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8525; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8526; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8527; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8528; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8529; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8530; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8531; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8532; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8533; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8534; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8535; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8536; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8537; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8538; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8539; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8540; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8541; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8542; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8543; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8544; + case AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8545; + case AcaciaLeaves::AcaciaLeaves(1, true).ID: return 201; + case AcaciaLeaves::AcaciaLeaves(1, false).ID: return 202; + case AcaciaLeaves::AcaciaLeaves(2, true).ID: return 203; + case AcaciaLeaves::AcaciaLeaves(2, false).ID: return 204; + case AcaciaLeaves::AcaciaLeaves(3, true).ID: return 205; + case AcaciaLeaves::AcaciaLeaves(3, false).ID: return 206; + case AcaciaLeaves::AcaciaLeaves(4, true).ID: return 207; + case AcaciaLeaves::AcaciaLeaves(4, false).ID: return 208; + case AcaciaLeaves::AcaciaLeaves(5, true).ID: return 209; + case AcaciaLeaves::AcaciaLeaves(5, false).ID: return 210; + case AcaciaLeaves::AcaciaLeaves(6, true).ID: return 211; + case AcaciaLeaves::AcaciaLeaves(6, false).ID: return 212; + case AcaciaLeaves::AcaciaLeaves(7, true).ID: return 213; + case AcaciaLeaves::AcaciaLeaves(7, false).ID: return 214; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::X).ID: return 85; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y).ID: return 86; + case AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z).ID: return 87; + case AcaciaPlanks::AcaciaPlanks().ID: return 19; + case AcaciaPressurePlate::AcaciaPressurePlate(true).ID: return 3881; + case AcaciaPressurePlate::AcaciaPressurePlate(false).ID: return 3882; + case AcaciaSapling::AcaciaSapling(0).ID: return 29; + case AcaciaSapling::AcaciaSapling(1).ID: return 30; + case AcaciaSign::AcaciaSign(0).ID: return 3478; + case AcaciaSign::AcaciaSign(1).ID: return 3480; + case AcaciaSign::AcaciaSign(2).ID: return 3482; + case AcaciaSign::AcaciaSign(3).ID: return 3484; + case AcaciaSign::AcaciaSign(4).ID: return 3486; + case AcaciaSign::AcaciaSign(5).ID: return 3488; + case AcaciaSign::AcaciaSign(6).ID: return 3490; + case AcaciaSign::AcaciaSign(7).ID: return 3492; + case AcaciaSign::AcaciaSign(8).ID: return 3494; + case AcaciaSign::AcaciaSign(9).ID: return 3496; + case AcaciaSign::AcaciaSign(10).ID: return 3498; + case AcaciaSign::AcaciaSign(11).ID: return 3500; + case AcaciaSign::AcaciaSign(12).ID: return 3502; + case AcaciaSign::AcaciaSign(13).ID: return 3504; + case AcaciaSign::AcaciaSign(14).ID: return 3506; + case AcaciaSign::AcaciaSign(15).ID: return 3508; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top).ID: return 8325; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom).ID: return 8327; + case AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double).ID: return 8329; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 7376; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 7378; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 7380; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 7382; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 7384; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 7386; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 7388; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 7390; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 7392; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 7394; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 7396; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 7398; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 7400; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 7402; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 7404; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 7406; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 7408; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 7410; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 7412; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_ZP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 7414; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 7416; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 7418; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 7420; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 7422; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 7424; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 7426; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 7428; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 7430; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 7432; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XM, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 7434; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::Straight + ) + .ID: + return 7436; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 7438; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 7440; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 7442; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Top, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 7444; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::Straight + ) + .ID: + return 7446; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerLeft + ) + .ID: + return 7448; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::InnerRight + ) + .ID: + return 7450; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterLeft + ) + .ID: + return 7452; + case AcaciaStairs::AcaciaStairs( + eBlockFace::BLOCK_FACE_XP, + AcaciaStairs::Half::Bottom, + AcaciaStairs::Shape::OuterRight + ) + .ID: + return 7454; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4368; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4370; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4372; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4374; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4376; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4378; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4380; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4382; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4384; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4386; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4388; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4390; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4392; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4394; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4396; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_ZP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4398; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4400; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4402; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4404; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4406; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4408; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4410; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4412; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XM, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4414; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, true).ID: + return 4416; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, true, false).ID: + return 4418; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, true).ID: + return 4420; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Top, false, false).ID: + return 4422; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, true).ID: + return 4424; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, true, false).ID: + return 4426; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, true).ID: + return 4428; + case AcaciaTrapdoor::AcaciaTrapdoor(eBlockFace::BLOCK_FACE_XP, AcaciaTrapdoor::Half::Bottom, false, false).ID: + return 4430; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3760; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3762; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3764; + case AcaciaWallSign::AcaciaWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3766; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::X).ID: return 121; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Y).ID: return 122; + case AcaciaWood::AcaciaWood(AcaciaWood::Axis::Z).ID: return 123; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth).ID: return 6823; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest).ID: return 6824; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast).ID: return 6825; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest).ID: return 6826; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth).ID: return 6827; + case ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth).ID: return 6828; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth).ID: return 6829; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest).ID: return 6830; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast).ID: return 6831; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest).ID: return 6832; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth).ID: return 6833; + case ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth).ID: return 6834; + case Air::Air().ID: return -0; + case Allium::Allium().ID: return 1415; + case AncientDebris::AncientDebris().ID: return 15827; + case Andesite::Andesite().ID: return 6; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Top).ID: return 10844; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Bottom).ID: return 10846; + case AndesiteSlab::AndesiteSlab(AndesiteSlab::Type::Double).ID: return 10848; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10470; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10472; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10474; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10476; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10478; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10480; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10482; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10484; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10486; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10488; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10490; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10492; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10494; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10496; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10498; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10500; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10502; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10504; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10506; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10508; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10510; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10512; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10514; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10516; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10518; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10520; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10522; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10524; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10526; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10528; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10530; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10532; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10534; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10536; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Top, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10538; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::Straight + ) + .ID: + return 10540; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10542; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::InnerRight + ) + .ID: + return 10544; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10546; + case AndesiteStairs::AndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + AndesiteStairs::Half::Bottom, + AndesiteStairs::Shape::OuterRight + ) + .ID: + return 10548; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13138; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13139; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13140; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13144; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13145; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13146; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13150; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13151; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13152; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13156; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13157; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13158; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13162; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13163; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13164; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13168; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13169; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13170; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13174; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13175; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13176; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13180; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13181; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13182; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13186; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13187; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13188; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13192; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13193; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13194; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13198; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13199; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13200; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13204; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13205; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13206; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13210; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13211; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13212; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13216; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13217; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13218; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13222; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13223; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13224; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13228; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13229; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13230; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13234; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13235; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13236; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13240; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13241; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::None, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13242; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13246; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13247; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13248; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13252; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13253; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13254; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13258; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13259; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13260; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13264; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13265; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13266; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13270; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13271; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13272; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13276; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13277; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13278; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13282; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13283; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13284; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13288; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13289; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13290; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13294; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13295; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13296; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13300; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13301; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13302; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13306; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13307; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13308; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13312; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13313; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13314; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13318; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13319; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13320; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13324; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13325; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13326; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13330; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13331; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13332; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13336; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13337; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13338; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13342; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13343; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13344; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13348; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13349; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Low, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13350; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13354; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13355; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13356; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13360; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13361; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13362; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13366; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13367; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13368; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13372; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13373; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13374; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13378; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13379; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13380; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13384; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13385; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::None, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13386; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13390; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13391; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13392; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13396; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13397; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13398; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13402; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13403; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13404; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13408; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13409; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13410; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13414; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13415; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13416; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13420; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13421; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Low, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13422; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::None + ) + .ID: + return 13426; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::Low + ) + .ID: + return 13427; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13428; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::None + ) + .ID: + return 13432; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::Low + ) + .ID: + return 13433; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::None, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13434; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::None + ) + .ID: + return 13438; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Low + ) + .ID: + return 13439; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13440; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::None + ) + .ID: + return 13444; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Low + ) + .ID: + return 13445; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Low, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13446; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::None + ) + .ID: + return 13450; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Low + ) + .ID: + return 13451; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + true, + AndesiteWall::West::Tall + ) + .ID: + return 13452; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::None + ) + .ID: + return 13456; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Low + ) + .ID: + return 13457; + case AndesiteWall::AndesiteWall( + AndesiteWall::East::Tall, + AndesiteWall::North::Tall, + AndesiteWall::South::Tall, + false, + AndesiteWall::West::Tall + ) + .ID: + return 13458; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6610; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6611; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XM).ID: return 6612; + case Anvil::Anvil(eBlockFace::BLOCK_FACE_XP).ID: return 6613; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4768; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4769; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XM).ID: return 4770; + case AttachedMelonStem::AttachedMelonStem(eBlockFace::BLOCK_FACE_XP).ID: return 4771; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZM).ID: return 4764; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_ZP).ID: return 4765; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XM).ID: return 4766; + case AttachedPumpkinStem::AttachedPumpkinStem(eBlockFace::BLOCK_FACE_XP).ID: return 4767; + case AzureBluet::AzureBluet().ID: return 1416; + case Bamboo::Bamboo(0, Bamboo::Leaves::None, 0).ID: return 9652; + case Bamboo::Bamboo(0, Bamboo::Leaves::None, 1).ID: return 9653; + case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 0).ID: return 9654; + case Bamboo::Bamboo(0, Bamboo::Leaves::Small, 1).ID: return 9655; + case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 0).ID: return 9656; + case Bamboo::Bamboo(0, Bamboo::Leaves::Large, 1).ID: return 9657; + case Bamboo::Bamboo(1, Bamboo::Leaves::None, 0).ID: return 9658; + case Bamboo::Bamboo(1, Bamboo::Leaves::None, 1).ID: return 9659; + case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 0).ID: return 9660; + case Bamboo::Bamboo(1, Bamboo::Leaves::Small, 1).ID: return 9661; + case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 0).ID: return 9662; + case Bamboo::Bamboo(1, Bamboo::Leaves::Large, 1).ID: return 9663; + case BambooSapling::BambooSapling().ID: return 9651; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, true).ID: return 14791; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZM, false).ID: return 14792; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, true).ID: return 14793; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XP, false).ID: return 14794; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, true).ID: return 14795; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_ZP, false).ID: return 14796; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, true).ID: return 14797; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_XM, false).ID: return 14798; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, true).ID: return 14799; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YP, false).ID: return 14800; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, true).ID: return 14801; + case Barrel::Barrel(eBlockFace::BLOCK_FACE_YM, false).ID: return 14802; + case Barrier::Barrier().ID: return 7536; + case Basalt::Basalt(Basalt::Axis::X).ID: return 4002; + case Basalt::Basalt(Basalt::Axis::Y).ID: return 4003; + case Basalt::Basalt(Basalt::Axis::Z).ID: return 4004; + case Beacon::Beacon().ID: return 5656; + case Bedrock::Bedrock().ID: return 33; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 0).ID: return 15776; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 1).ID: return 15777; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 2).ID: return 15778; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 3).ID: return 15779; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 4).ID: return 15780; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZM, 5).ID: return 15781; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 0).ID: return 15782; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 1).ID: return 15783; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 2).ID: return 15784; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 3).ID: return 15785; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 4).ID: return 15786; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_ZP, 5).ID: return 15787; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 0).ID: return 15788; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 1).ID: return 15789; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 2).ID: return 15790; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 3).ID: return 15791; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 4).ID: return 15792; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XM, 5).ID: return 15793; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 0).ID: return 15794; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 1).ID: return 15795; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 2).ID: return 15796; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 3).ID: return 15797; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 4).ID: return 15798; + case BeeNest::BeeNest(eBlockFace::BLOCK_FACE_XP, 5).ID: return 15799; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 0).ID: return 15800; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 1).ID: return 15801; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 2).ID: return 15802; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 3).ID: return 15803; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 4).ID: return 15804; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZM, 5).ID: return 15805; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 0).ID: return 15806; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 1).ID: return 15807; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 2).ID: return 15808; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 3).ID: return 15809; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 4).ID: return 15810; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_ZP, 5).ID: return 15811; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 0).ID: return 15812; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 1).ID: return 15813; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 2).ID: return 15814; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 3).ID: return 15815; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 4).ID: return 15816; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XM, 5).ID: return 15817; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 0).ID: return 15818; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 1).ID: return 15819; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 2).ID: return 15820; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 3).ID: return 15821; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 4).ID: return 15822; + case Beehive::Beehive(eBlockFace::BLOCK_FACE_XP, 5).ID: return 15823; + case Beetroots::Beetroots(0).ID: return 9219; + case Beetroots::Beetroots(1).ID: return 9220; + case Beetroots::Beetroots(2).ID: return 9221; + case Beetroots::Beetroots(3).ID: return 9222; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 14854; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 14855; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 14856; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 14857; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 14858; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 14859; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 14860; + case Bell::Bell(Bell::Attachment::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 14861; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 14862; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 14863; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 14864; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 14865; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 14866; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 14867; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 14868; + case Bell::Bell(Bell::Attachment::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 14869; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 14870; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 14871; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 14872; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 14873; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, true).ID: return 14874; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 14875; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, true).ID: return 14876; + case Bell::Bell(Bell::Attachment::SingleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 14877; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 14878; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 14879; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 14880; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 14881; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, true).ID: return 14882; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XM, false).ID: return 14883; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, true).ID: return 14884; + case Bell::Bell(Bell::Attachment::DoubleWall, eBlockFace::BLOCK_FACE_XP, false).ID: return 14885; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6394; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6395; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6396; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6397; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6398; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6399; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6400; + case BirchButton::BirchButton(BirchButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6401; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6402; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6403; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6404; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6405; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6406; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6407; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6408; + case BirchButton::BirchButton(BirchButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6409; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6410; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6411; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6412; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6413; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6414; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6415; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6416; + case BirchButton::BirchButton(BirchButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6417; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8802; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8803; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8804; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8805; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8806; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8807; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8808; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8809; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8810; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8811; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8812; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8813; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8814; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8815; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8816; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8817; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8818; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8819; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8820; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8821; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8822; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8823; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8824; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8825; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8826; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8827; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8828; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8829; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8830; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8831; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8832; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_ZP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8833; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8834; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8835; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8836; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8837; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8838; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8839; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8840; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8841; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8842; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8843; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8844; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8845; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8846; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8847; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8848; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XM, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8849; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, true, true) + .ID: + return 8850; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8851; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8852; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8853; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8854; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8855; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8856; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Upper, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8857; + case BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Left, true, true) + .ID: + return 8858; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + true, + false + ) + .ID: + return 8859; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + true + ) + .ID: + return 8860; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Left, + false, + false + ) + .ID: + return 8861; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + true + ) + .ID: + return 8862; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + true, + false + ) + .ID: + return 8863; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + true + ) + .ID: + return 8864; + case BirchDoor::BirchDoor( + eBlockFace::BLOCK_FACE_XP, + BirchDoor::Half::Lower, + BirchDoor::Hinge::Right, + false, + false + ) + .ID: + return 8865; + case BirchFence::BirchFence(true, true, true, true).ID: return 8612; + case BirchFence::BirchFence(true, true, true, false).ID: return 8613; + case BirchFence::BirchFence(true, true, false, true).ID: return 8616; + case BirchFence::BirchFence(true, true, false, false).ID: return 8617; + case BirchFence::BirchFence(true, false, true, true).ID: return 8620; + case BirchFence::BirchFence(true, false, true, false).ID: return 8621; + case BirchFence::BirchFence(true, false, false, true).ID: return 8624; + case BirchFence::BirchFence(true, false, false, false).ID: return 8625; + case BirchFence::BirchFence(false, true, true, true).ID: return 8628; + case BirchFence::BirchFence(false, true, true, false).ID: return 8629; + case BirchFence::BirchFence(false, true, false, true).ID: return 8632; + case BirchFence::BirchFence(false, true, false, false).ID: return 8633; + case BirchFence::BirchFence(false, false, true, true).ID: return 8636; + case BirchFence::BirchFence(false, false, true, false).ID: return 8637; + case BirchFence::BirchFence(false, false, false, true).ID: return 8640; + case BirchFence::BirchFence(false, false, false, false).ID: return 8641; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8450; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8451; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8452; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8453; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8454; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8455; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8456; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8457; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8458; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8459; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8460; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8461; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8462; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8463; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8464; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8465; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8466; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8467; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8468; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8469; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8470; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8471; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8472; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8473; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8474; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8475; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8476; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8477; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8478; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8479; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8480; + case BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8481; + case BirchLeaves::BirchLeaves(1, true).ID: return 173; + case BirchLeaves::BirchLeaves(1, false).ID: return 174; + case BirchLeaves::BirchLeaves(2, true).ID: return 175; + case BirchLeaves::BirchLeaves(2, false).ID: return 176; + case BirchLeaves::BirchLeaves(3, true).ID: return 177; + case BirchLeaves::BirchLeaves(3, false).ID: return 178; + case BirchLeaves::BirchLeaves(4, true).ID: return 179; + case BirchLeaves::BirchLeaves(4, false).ID: return 180; + case BirchLeaves::BirchLeaves(5, true).ID: return 181; + case BirchLeaves::BirchLeaves(5, false).ID: return 182; + case BirchLeaves::BirchLeaves(6, true).ID: return 183; + case BirchLeaves::BirchLeaves(6, false).ID: return 184; + case BirchLeaves::BirchLeaves(7, true).ID: return 185; + case BirchLeaves::BirchLeaves(7, false).ID: return 186; + case BirchLog::BirchLog(BirchLog::Axis::X).ID: return 79; + case BirchLog::BirchLog(BirchLog::Axis::Y).ID: return 80; + case BirchLog::BirchLog(BirchLog::Axis::Z).ID: return 81; + case BirchPlanks::BirchPlanks().ID: return 17; + case BirchPressurePlate::BirchPressurePlate(true).ID: return 3877; + case BirchPressurePlate::BirchPressurePlate(false).ID: return 3878; + case BirchSapling::BirchSapling(0).ID: return 25; + case BirchSapling::BirchSapling(1).ID: return 26; + case BirchSign::BirchSign(0).ID: return 3446; + case BirchSign::BirchSign(1).ID: return 3448; + case BirchSign::BirchSign(2).ID: return 3450; + case BirchSign::BirchSign(3).ID: return 3452; + case BirchSign::BirchSign(4).ID: return 3454; + case BirchSign::BirchSign(5).ID: return 3456; + case BirchSign::BirchSign(6).ID: return 3458; + case BirchSign::BirchSign(7).ID: return 3460; + case BirchSign::BirchSign(8).ID: return 3462; + case BirchSign::BirchSign(9).ID: return 3464; + case BirchSign::BirchSign(10).ID: return 3466; + case BirchSign::BirchSign(11).ID: return 3468; + case BirchSign::BirchSign(12).ID: return 3470; + case BirchSign::BirchSign(13).ID: return 3472; + case BirchSign::BirchSign(14).ID: return 3474; + case BirchSign::BirchSign(15).ID: return 3476; + case BirchSlab::BirchSlab(BirchSlab::Type::Top).ID: return 8313; + case BirchSlab::BirchSlab(BirchSlab::Type::Bottom).ID: return 8315; + case BirchSlab::BirchSlab(BirchSlab::Type::Double).ID: return 8317; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5485; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5487; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5489; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5491; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5493; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5495; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5497; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5499; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5501; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5503; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5505; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5507; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5509; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5511; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5513; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5515; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5517; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5519; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5521; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_ZP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5523; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5525; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5527; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5529; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5531; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5533; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5535; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5537; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5539; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5541; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XM, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5543; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight) + .ID: + return 5545; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerLeft) + .ID: + return 5547; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::InnerRight) + .ID: + return 5549; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterLeft) + .ID: + return 5551; + case BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::OuterRight) + .ID: + return 5553; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::Straight + ) + .ID: + return 5555; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerLeft + ) + .ID: + return 5557; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::InnerRight + ) + .ID: + return 5559; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterLeft + ) + .ID: + return 5561; + case BirchStairs::BirchStairs( + eBlockFace::BLOCK_FACE_XP, + BirchStairs::Half::Bottom, + BirchStairs::Shape::OuterRight + ) + .ID: + return 5563; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, true).ID: + return 4240; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, true, false).ID: + return 4242; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, true).ID: + return 4244; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Top, false, false).ID: + return 4246; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4248; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4250; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4252; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4254; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, true).ID: + return 4256; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, true, false).ID: + return 4258; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, true).ID: + return 4260; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Top, false, false).ID: + return 4262; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4264; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4266; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4268; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_ZP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4270; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, true).ID: + return 4272; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, true, false).ID: + return 4274; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, true).ID: + return 4276; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Top, false, false).ID: + return 4278; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4280; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4282; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4284; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XM, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4286; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, true).ID: + return 4288; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, true, false).ID: + return 4290; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, true).ID: + return 4292; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Top, false, false).ID: + return 4294; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, true).ID: + return 4296; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, true, false).ID: + return 4298; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, true).ID: + return 4300; + case BirchTrapdoor::BirchTrapdoor(eBlockFace::BLOCK_FACE_XP, BirchTrapdoor::Half::Bottom, false, false).ID: + return 4302; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3752; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3754; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3756; + case BirchWallSign::BirchWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3758; + case BirchWood::BirchWood(BirchWood::Axis::X).ID: return 115; + case BirchWood::BirchWood(BirchWood::Axis::Y).ID: return 116; + case BirchWood::BirchWood(BirchWood::Axis::Z).ID: return 117; + case BlackBanner::BlackBanner(0).ID: return 8137; + case BlackBanner::BlackBanner(1).ID: return 8138; + case BlackBanner::BlackBanner(2).ID: return 8139; + case BlackBanner::BlackBanner(3).ID: return 8140; + case BlackBanner::BlackBanner(4).ID: return 8141; + case BlackBanner::BlackBanner(5).ID: return 8142; + case BlackBanner::BlackBanner(6).ID: return 8143; + case BlackBanner::BlackBanner(7).ID: return 8144; + case BlackBanner::BlackBanner(8).ID: return 8145; + case BlackBanner::BlackBanner(9).ID: return 8146; + case BlackBanner::BlackBanner(10).ID: return 8147; + case BlackBanner::BlackBanner(11).ID: return 8148; + case BlackBanner::BlackBanner(12).ID: return 8149; + case BlackBanner::BlackBanner(13).ID: return 8150; + case BlackBanner::BlackBanner(14).ID: return 8151; + case BlackBanner::BlackBanner(15).ID: return 8152; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Head).ID: return 1289; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, true, BlackBed::Part::Foot).ID: return 1290; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Head).ID: return 1291; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZM, false, BlackBed::Part::Foot).ID: return 1292; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Head).ID: return 1293; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, true, BlackBed::Part::Foot).ID: return 1294; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Head).ID: return 1295; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_ZP, false, BlackBed::Part::Foot).ID: return 1296; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Head).ID: return 1297; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, true, BlackBed::Part::Foot).ID: return 1298; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Head).ID: return 1299; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XM, false, BlackBed::Part::Foot).ID: return 1300; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Head).ID: return 1301; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, true, BlackBed::Part::Foot).ID: return 1302; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Head).ID: return 1303; + case BlackBed::BlackBed(eBlockFace::BLOCK_FACE_XP, false, BlackBed::Part::Foot).ID: return 1304; + case BlackCarpet::BlackCarpet().ID: return 7881; + case BlackConcrete::BlackConcrete().ID: return 9453; + case BlackConcretePowder::BlackConcretePowder().ID: return 9469; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9434; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9435; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9436; + case BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9437; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9368; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9369; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9370; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9371; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9372; + case BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9373; + case BlackStainedGlass::BlackStainedGlass().ID: return 4110; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, true).ID: return 7345; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, true, false).ID: return 7346; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, true).ID: return 7349; + case BlackStainedGlassPane::BlackStainedGlassPane(true, true, false, false).ID: return 7350; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, true).ID: return 7353; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, true, false).ID: return 7354; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, true).ID: return 7357; + case BlackStainedGlassPane::BlackStainedGlassPane(true, false, false, false).ID: return 7358; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, true).ID: return 7361; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, true, false).ID: return 7362; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, true).ID: return 7365; + case BlackStainedGlassPane::BlackStainedGlassPane(false, true, false, false).ID: return 7366; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, true).ID: return 7369; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, true, false).ID: return 7370; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, true).ID: return 7373; + case BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false).ID: return 7374; + case BlackTerracotta::BlackTerracotta().ID: return 6862; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8213; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8214; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8215; + case BlackWallBanner::BlackWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8216; + case BlackWool::BlackWool().ID: return 1399; + case Blackstone::Blackstone().ID: return 15839; + case BlackstoneSlab::BlackstoneSlab(BlackstoneSlab::Type::Top).ID: return 16245; + case BlackstoneSlab::BlackstoneSlab(BlackstoneSlab::Type::Bottom).ID: return 16247; + case BlackstoneSlab::BlackstoneSlab(BlackstoneSlab::Type::Double).ID: return 16249; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::Straight + ) + .ID: + return 15841; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 15843; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::InnerRight + ) + .ID: + return 15845; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 15847; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::OuterRight + ) + .ID: + return 15849; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::Straight + ) + .ID: + return 15851; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 15853; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::InnerRight + ) + .ID: + return 15855; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 15857; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::OuterRight + ) + .ID: + return 15859; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::Straight + ) + .ID: + return 15861; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 15863; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::InnerRight + ) + .ID: + return 15865; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 15867; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::OuterRight + ) + .ID: + return 15869; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::Straight + ) + .ID: + return 15871; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 15873; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::InnerRight + ) + .ID: + return 15875; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 15877; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::OuterRight + ) + .ID: + return 15879; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::Straight + ) + .ID: + return 15881; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 15883; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::InnerRight + ) + .ID: + return 15885; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 15887; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::OuterRight + ) + .ID: + return 15889; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::Straight + ) + .ID: + return 15891; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 15893; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::InnerRight + ) + .ID: + return 15895; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 15897; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::OuterRight + ) + .ID: + return 15899; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::Straight + ) + .ID: + return 15901; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 15903; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::InnerRight + ) + .ID: + return 15905; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 15907; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Top, + BlackstoneStairs::Shape::OuterRight + ) + .ID: + return 15909; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::Straight + ) + .ID: + return 15911; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 15913; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::InnerRight + ) + .ID: + return 15915; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 15917; + case BlackstoneStairs::BlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + BlackstoneStairs::Half::Bottom, + BlackstoneStairs::Shape::OuterRight + ) + .ID: + return 15919; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 15923; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 15924; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 15925; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 15929; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 15930; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 15931; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 15935; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 15936; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 15937; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 15941; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 15942; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 15943; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 15947; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 15948; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 15949; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 15953; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 15954; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 15955; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 15959; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 15960; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 15961; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 15965; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 15966; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 15967; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 15971; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 15972; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 15973; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 15977; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 15978; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 15979; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 15983; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 15984; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 15985; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 15989; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 15990; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 15991; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 15995; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 15996; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 15997; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 16001; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16002; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16003; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 16007; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16008; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16009; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 16013; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16014; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16015; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 16019; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16020; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16021; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 16025; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16026; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::None, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16027; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 16031; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16032; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16033; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 16037; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16038; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16039; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 16043; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16044; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16045; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 16049; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16050; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16051; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 16055; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16056; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16057; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 16061; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16062; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16063; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 16067; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16068; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16069; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 16073; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16074; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16075; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 16079; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16080; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16081; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 16085; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16086; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16087; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 16091; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16092; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16093; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 16097; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16098; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16099; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 16103; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16104; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16105; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 16109; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16110; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16111; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 16115; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16116; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16117; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 16121; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16122; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16123; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 16127; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16128; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16129; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 16133; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16134; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Low, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16135; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 16139; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16140; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16141; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 16145; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16146; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16147; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 16151; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16152; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16153; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 16157; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16158; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16159; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 16163; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16164; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16165; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 16169; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16170; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::None, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16171; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 16175; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16176; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16177; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 16181; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16182; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16183; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 16187; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16188; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16189; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 16193; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16194; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16195; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 16199; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16200; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16201; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 16205; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16206; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Low, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16207; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::None + ) + .ID: + return 16211; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16212; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16213; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::None + ) + .ID: + return 16217; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16218; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::None, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16219; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::None + ) + .ID: + return 16223; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16224; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16225; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::None + ) + .ID: + return 16229; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16230; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Low, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16231; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::None + ) + .ID: + return 16235; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Low + ) + .ID: + return 16236; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + true, + BlackstoneWall::West::Tall + ) + .ID: + return 16237; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::None + ) + .ID: + return 16241; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Low + ) + .ID: + return 16242; + case BlackstoneWall::BlackstoneWall( + BlackstoneWall::East::Tall, + BlackstoneWall::North::Tall, + BlackstoneWall::South::Tall, + false, + BlackstoneWall::West::Tall + ) + .ID: + return 16243; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 14811; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 14812; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 14813; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 14814; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 14815; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 14816; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 14817; + case BlastFurnace::BlastFurnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 14818; + case BlueBanner::BlueBanner(0).ID: return 8073; + case BlueBanner::BlueBanner(1).ID: return 8074; + case BlueBanner::BlueBanner(2).ID: return 8075; + case BlueBanner::BlueBanner(3).ID: return 8076; + case BlueBanner::BlueBanner(4).ID: return 8077; + case BlueBanner::BlueBanner(5).ID: return 8078; + case BlueBanner::BlueBanner(6).ID: return 8079; + case BlueBanner::BlueBanner(7).ID: return 8080; + case BlueBanner::BlueBanner(8).ID: return 8081; + case BlueBanner::BlueBanner(9).ID: return 8082; + case BlueBanner::BlueBanner(10).ID: return 8083; + case BlueBanner::BlueBanner(11).ID: return 8084; + case BlueBanner::BlueBanner(12).ID: return 8085; + case BlueBanner::BlueBanner(13).ID: return 8086; + case BlueBanner::BlueBanner(14).ID: return 8087; + case BlueBanner::BlueBanner(15).ID: return 8088; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Head).ID: return 1225; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, true, BlueBed::Part::Foot).ID: return 1226; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Head).ID: return 1227; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZM, false, BlueBed::Part::Foot).ID: return 1228; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Head).ID: return 1229; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, true, BlueBed::Part::Foot).ID: return 1230; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Head).ID: return 1231; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_ZP, false, BlueBed::Part::Foot).ID: return 1232; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Head).ID: return 1233; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, true, BlueBed::Part::Foot).ID: return 1234; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Head).ID: return 1235; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XM, false, BlueBed::Part::Foot).ID: return 1236; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Head).ID: return 1237; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, true, BlueBed::Part::Foot).ID: return 1238; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Head).ID: return 1239; + case BlueBed::BlueBed(eBlockFace::BLOCK_FACE_XP, false, BlueBed::Part::Foot).ID: return 1240; + case BlueCarpet::BlueCarpet().ID: return 7877; + case BlueConcrete::BlueConcrete().ID: return 9449; + case BlueConcretePowder::BlueConcretePowder().ID: return 9465; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9418; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9419; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9420; + case BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9421; + case BlueIce::BlueIce().ID: return 9648; + case BlueOrchid::BlueOrchid().ID: return 1414; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9344; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9345; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9346; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9347; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9348; + case BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9349; + case BlueStainedGlass::BlueStainedGlass().ID: return 4106; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, true).ID: return 7217; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, true, false).ID: return 7218; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, true).ID: return 7221; + case BlueStainedGlassPane::BlueStainedGlassPane(true, true, false, false).ID: return 7222; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, true).ID: return 7225; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, true, false).ID: return 7226; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, true).ID: return 7229; + case BlueStainedGlassPane::BlueStainedGlassPane(true, false, false, false).ID: return 7230; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, true).ID: return 7233; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, true, false).ID: return 7234; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, true).ID: return 7237; + case BlueStainedGlassPane::BlueStainedGlassPane(false, true, false, false).ID: return 7238; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, true).ID: return 7241; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, true, false).ID: return 7242; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, true).ID: return 7245; + case BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false).ID: return 7246; + case BlueTerracotta::BlueTerracotta().ID: return 6858; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8197; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8198; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8199; + case BlueWallBanner::BlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8200; + case BlueWool::BlueWool().ID: return 1395; + case BoneBlock::BoneBlock(BoneBlock::Axis::X).ID: return 9256; + case BoneBlock::BoneBlock(BoneBlock::Axis::Y).ID: return 9257; + case BoneBlock::BoneBlock(BoneBlock::Axis::Z).ID: return 9258; + case Bookshelf::Bookshelf().ID: return 1432; + case BrainCoral::BrainCoral().ID: return 9533; + case BrainCoralBlock::BrainCoralBlock().ID: return 9516; + case BrainCoralFan::BrainCoralFan().ID: return 9553; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9609; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9611; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9613; + case BrainCoralWallFan::BrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9615; + case BrewingStand::BrewingStand(true, true, true).ID: return 5133; + case BrewingStand::BrewingStand(true, true, false).ID: return 5134; + case BrewingStand::BrewingStand(true, false, true).ID: return 5135; + case BrewingStand::BrewingStand(true, false, false).ID: return 5136; + case BrewingStand::BrewingStand(false, true, true).ID: return 5137; + case BrewingStand::BrewingStand(false, true, false).ID: return 5138; + case BrewingStand::BrewingStand(false, false, true).ID: return 5139; + case BrewingStand::BrewingStand(false, false, false).ID: return 5140; + case BrickSlab::BrickSlab(BrickSlab::Type::Top).ID: return 8373; + case BrickSlab::BrickSlab(BrickSlab::Type::Bottom).ID: return 8375; + case BrickSlab::BrickSlab(BrickSlab::Type::Double).ID: return 8377; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4853; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4855; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4857; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4859; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4861; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4863; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4865; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4867; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4869; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4871; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4873; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4875; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4877; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4879; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4881; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4883; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4885; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4887; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4889; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_ZP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4891; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4893; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4895; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4897; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4899; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4901; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4903; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4905; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4907; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4909; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XM, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4911; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight) + .ID: + return 4913; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerLeft) + .ID: + return 4915; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::InnerRight) + .ID: + return 4917; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterLeft) + .ID: + return 4919; + case BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::OuterRight) + .ID: + return 4921; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::Straight + ) + .ID: + return 4923; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerLeft + ) + .ID: + return 4925; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::InnerRight + ) + .ID: + return 4927; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterLeft + ) + .ID: + return 4929; + case BrickStairs::BrickStairs( + eBlockFace::BLOCK_FACE_XP, + BrickStairs::Half::Bottom, + BrickStairs::Shape::OuterRight + ) + .ID: + return 4931; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10870; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10871; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 10872; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10876; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10877; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 10878; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10882; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10883; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 10884; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10888; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10889; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 10890; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 10894; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 10895; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 10896; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 10900; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 10901; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 10902; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10906; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10907; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 10908; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10912; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10913; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 10914; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10918; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10919; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 10920; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10924; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10925; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 10926; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 10930; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 10931; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 10932; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 10936; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 10937; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 10938; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10942; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10943; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 10944; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10948; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10949; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 10950; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10954; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10955; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 10956; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10960; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10961; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 10962; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 10966; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 10967; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 10968; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 10972; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 10973; + case BrickWall::BrickWall( + BrickWall::East::None, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 10974; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 10978; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 10979; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 10980; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 10984; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 10985; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 10986; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 10990; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 10991; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 10992; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 10996; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 10997; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 10998; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 11002; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 11003; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 11004; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 11008; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 11009; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 11010; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 11014; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 11015; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 11016; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 11020; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 11021; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 11022; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 11026; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 11027; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 11028; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 11032; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 11033; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 11034; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 11038; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 11039; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 11040; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 11044; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 11045; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 11046; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 11050; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 11051; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 11052; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 11056; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 11057; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 11058; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 11062; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 11063; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 11064; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 11068; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 11069; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 11070; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 11074; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 11075; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 11076; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 11080; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 11081; + case BrickWall::BrickWall( + BrickWall::East::Low, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 11082; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 11086; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 11087; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 11088; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 11092; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 11093; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 11094; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 11098; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 11099; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 11100; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 11104; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 11105; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 11106; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 11110; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 11111; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 11112; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 11116; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 11117; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::None, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 11118; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 11122; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 11123; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 11124; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 11128; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 11129; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 11130; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 11134; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 11135; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 11136; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 11140; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 11141; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 11142; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 11146; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 11147; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 11148; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 11152; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 11153; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Low, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 11154; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::None + ) + .ID: + return 11158; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::Low + ) + .ID: + return 11159; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::None, + true, + BrickWall::West::Tall + ) + .ID: + return 11160; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::None + ) + .ID: + return 11164; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::Low + ) + .ID: + return 11165; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::None, + false, + BrickWall::West::Tall + ) + .ID: + return 11166; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::None + ) + .ID: + return 11170; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::Low + ) + .ID: + return 11171; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Low, + true, + BrickWall::West::Tall + ) + .ID: + return 11172; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::None + ) + .ID: + return 11176; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::Low + ) + .ID: + return 11177; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Low, + false, + BrickWall::West::Tall + ) + .ID: + return 11178; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::None + ) + .ID: + return 11182; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::Low + ) + .ID: + return 11183; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Tall, + true, + BrickWall::West::Tall + ) + .ID: + return 11184; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::None + ) + .ID: + return 11188; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::Low + ) + .ID: + return 11189; + case BrickWall::BrickWall( + BrickWall::East::Tall, + BrickWall::North::Tall, + BrickWall::South::Tall, + false, + BrickWall::West::Tall + ) + .ID: + return 11190; + case Bricks::Bricks().ID: return 1429; + case BrownBanner::BrownBanner(0).ID: return 8089; + case BrownBanner::BrownBanner(1).ID: return 8090; + case BrownBanner::BrownBanner(2).ID: return 8091; + case BrownBanner::BrownBanner(3).ID: return 8092; + case BrownBanner::BrownBanner(4).ID: return 8093; + case BrownBanner::BrownBanner(5).ID: return 8094; + case BrownBanner::BrownBanner(6).ID: return 8095; + case BrownBanner::BrownBanner(7).ID: return 8096; + case BrownBanner::BrownBanner(8).ID: return 8097; + case BrownBanner::BrownBanner(9).ID: return 8098; + case BrownBanner::BrownBanner(10).ID: return 8099; + case BrownBanner::BrownBanner(11).ID: return 8100; + case BrownBanner::BrownBanner(12).ID: return 8101; + case BrownBanner::BrownBanner(13).ID: return 8102; + case BrownBanner::BrownBanner(14).ID: return 8103; + case BrownBanner::BrownBanner(15).ID: return 8104; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Head).ID: return 1241; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, true, BrownBed::Part::Foot).ID: return 1242; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Head).ID: return 1243; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZM, false, BrownBed::Part::Foot).ID: return 1244; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Head).ID: return 1245; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, true, BrownBed::Part::Foot).ID: return 1246; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Head).ID: return 1247; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_ZP, false, BrownBed::Part::Foot).ID: return 1248; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Head).ID: return 1249; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, true, BrownBed::Part::Foot).ID: return 1250; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Head).ID: return 1251; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XM, false, BrownBed::Part::Foot).ID: return 1252; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Head).ID: return 1253; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, true, BrownBed::Part::Foot).ID: return 1254; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Head).ID: return 1255; + case BrownBed::BrownBed(eBlockFace::BLOCK_FACE_XP, false, BrownBed::Part::Foot).ID: return 1256; + case BrownCarpet::BrownCarpet().ID: return 7878; + case BrownConcrete::BrownConcrete().ID: return 9450; + case BrownConcretePowder::BrownConcretePowder().ID: return 9466; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9422; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9423; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9424; + case BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9425; + case BrownMushroom::BrownMushroom().ID: return 1425; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true).ID: return 4505; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, false).ID: return 4506; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, true).ID: return 4507; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, false, false).ID: return 4508; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, true).ID: return 4509; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, true, false).ID: return 4510; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, true).ID: return 4511; + case BrownMushroomBlock::BrownMushroomBlock(true, true, true, false, false, false).ID: return 4512; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, true).ID: return 4513; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, true, false).ID: return 4514; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, true).ID: return 4515; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, true, false, false).ID: return 4516; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, true).ID: return 4517; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, true, false).ID: return 4518; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, true).ID: return 4519; + case BrownMushroomBlock::BrownMushroomBlock(true, true, false, false, false, false).ID: return 4520; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, true).ID: return 4521; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, true, false).ID: return 4522; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, true).ID: return 4523; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, true, false, false).ID: return 4524; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, true).ID: return 4525; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, true, false).ID: return 4526; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, true).ID: return 4527; + case BrownMushroomBlock::BrownMushroomBlock(true, false, true, false, false, false).ID: return 4528; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, true).ID: return 4529; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, true, false).ID: return 4530; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, true).ID: return 4531; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, true, false, false).ID: return 4532; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, true).ID: return 4533; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, true, false).ID: return 4534; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, true).ID: return 4535; + case BrownMushroomBlock::BrownMushroomBlock(true, false, false, false, false, false).ID: return 4536; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, true).ID: return 4537; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, true, false).ID: return 4538; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, true).ID: return 4539; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, true, false, false).ID: return 4540; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, true).ID: return 4541; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false).ID: return 4542; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, true).ID: return 4543; + case BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, false, false).ID: return 4544; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, true).ID: return 4545; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false).ID: return 4546; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, true).ID: return 4547; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, false, false).ID: return 4548; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, true).ID: return 4549; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false).ID: return 4550; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, true).ID: return 4551; + case BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, false, false).ID: return 4552; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, true).ID: return 4553; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, true, false).ID: return 4554; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, true).ID: return 4555; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, true, false, false).ID: return 4556; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true).ID: return 4557; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false).ID: return 4558; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, true).ID: return 4559; + case BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, false, false).ID: return 4560; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true).ID: return 4561; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false).ID: return 4562; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, true).ID: return 4563; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, false, false).ID: return 4564; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true).ID: return 4565; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false).ID: return 4566; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, true).ID: return 4567; + case BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false).ID: return 4568; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9350; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9351; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9352; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9353; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9354; + case BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9355; + case BrownStainedGlass::BrownStainedGlass().ID: return 4107; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, true).ID: return 7249; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, true, false).ID: return 7250; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, true).ID: return 7253; + case BrownStainedGlassPane::BrownStainedGlassPane(true, true, false, false).ID: return 7254; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, true).ID: return 7257; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, true, false).ID: return 7258; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, true).ID: return 7261; + case BrownStainedGlassPane::BrownStainedGlassPane(true, false, false, false).ID: return 7262; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, true).ID: return 7265; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, true, false).ID: return 7266; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, true).ID: return 7269; + case BrownStainedGlassPane::BrownStainedGlassPane(false, true, false, false).ID: return 7270; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, true).ID: return 7273; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, true, false).ID: return 7274; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, true).ID: return 7277; + case BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false).ID: return 7278; + case BrownTerracotta::BrownTerracotta().ID: return 6859; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8201; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8202; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8203; + case BrownWallBanner::BrownWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8204; + case BrownWool::BrownWool().ID: return 1396; + case BubbleColumn::BubbleColumn(true).ID: return 9667; + case BubbleColumn::BubbleColumn(false).ID: return 9668; + case BubbleCoral::BubbleCoral().ID: return 9535; + case BubbleCoralBlock::BubbleCoralBlock().ID: return 9517; + case BubbleCoralFan::BubbleCoralFan().ID: return 9555; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9617; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9619; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9621; + case BubbleCoralWallFan::BubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9623; + case Cactus::Cactus(0).ID: return 3931; + case Cactus::Cactus(1).ID: return 3932; + case Cactus::Cactus(2).ID: return 3933; + case Cactus::Cactus(3).ID: return 3934; + case Cactus::Cactus(4).ID: return 3935; + case Cactus::Cactus(5).ID: return 3936; + case Cactus::Cactus(6).ID: return 3937; + case Cactus::Cactus(7).ID: return 3938; + case Cactus::Cactus(8).ID: return 3939; + case Cactus::Cactus(9).ID: return 3940; + case Cactus::Cactus(10).ID: return 3941; + case Cactus::Cactus(11).ID: return 3942; + case Cactus::Cactus(12).ID: return 3943; + case Cactus::Cactus(13).ID: return 3944; + case Cactus::Cactus(14).ID: return 3945; + case Cactus::Cactus(15).ID: return 3946; + case Cake::Cake(0).ID: return 4024; + case Cake::Cake(1).ID: return 4025; + case Cake::Cake(2).ID: return 4026; + case Cake::Cake(3).ID: return 4027; + case Cake::Cake(4).ID: return 4028; + case Cake::Cake(5).ID: return 4029; + case Cake::Cake(6).ID: return 4030; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 14891; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 14893; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 14895; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 14897; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 14899; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 14901; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 14903; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 14905; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 14907; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 14909; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 14911; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 14913; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 14915; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 14917; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 14919; + case Campfire::Campfire(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 14921; + case Carrots::Carrots(0).ID: return 6330; + case Carrots::Carrots(1).ID: return 6331; + case Carrots::Carrots(2).ID: return 6332; + case Carrots::Carrots(3).ID: return 6333; + case Carrots::Carrots(4).ID: return 6334; + case Carrots::Carrots(5).ID: return 6335; + case Carrots::Carrots(6).ID: return 6336; + case Carrots::Carrots(7).ID: return 6337; + case CartographyTable::CartographyTable().ID: return 14819; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM).ID: return 4016; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP).ID: return 4017; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM).ID: return 4018; + case CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP).ID: return 4019; + case Cauldron::Cauldron(0).ID: return 5141; + case Cauldron::Cauldron(1).ID: return 5142; + case Cauldron::Cauldron(2).ID: return 5143; + case Cauldron::Cauldron(3).ID: return 5144; + case CaveAir::CaveAir().ID: return 9666; + case Chain::Chain().ID: return 4730; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 9237; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 9238; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 9239; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 9240; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 9241; + case ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 9242; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 9243; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 9244; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 9245; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 9246; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 9247; + case ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 9248; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single).ID: return 2035; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Left).ID: return 2037; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Right).ID: return 2039; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single).ID: return 2041; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Left).ID: return 2043; + case Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Right).ID: return 2045; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single).ID: return 2047; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Left).ID: return 2049; + case Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Right).ID: return 2051; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single).ID: return 2053; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Left).ID: return 2055; + case Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Right).ID: return 2057; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6614; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6615; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6616; + case ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6617; + case ChiseledNetherBricks::ChiseledNetherBricks().ID: return 17101; + case ChiseledPolishedBlackstone::ChiseledPolishedBlackstone().ID: return 16253; + case ChiseledQuartzBlock::ChiseledQuartzBlock().ID: return 6739; + case ChiseledRedSandstone::ChiseledRedSandstone().ID: return 8218; + case ChiseledSandstone::ChiseledSandstone().ID: return 247; + case ChiseledStoneBricks::ChiseledStoneBricks().ID: return 4498; + case ChorusFlower::ChorusFlower(0).ID: return 9128; + case ChorusFlower::ChorusFlower(1).ID: return 9129; + case ChorusFlower::ChorusFlower(2).ID: return 9130; + case ChorusFlower::ChorusFlower(3).ID: return 9131; + case ChorusFlower::ChorusFlower(4).ID: return 9132; + case ChorusFlower::ChorusFlower(5).ID: return 9133; + case ChorusPlant::ChorusPlant(true, true, true, true, true, true).ID: return 9064; + case ChorusPlant::ChorusPlant(true, true, true, true, true, false).ID: return 9065; + case ChorusPlant::ChorusPlant(true, true, true, true, false, true).ID: return 9066; + case ChorusPlant::ChorusPlant(true, true, true, true, false, false).ID: return 9067; + case ChorusPlant::ChorusPlant(true, true, true, false, true, true).ID: return 9068; + case ChorusPlant::ChorusPlant(true, true, true, false, true, false).ID: return 9069; + case ChorusPlant::ChorusPlant(true, true, true, false, false, true).ID: return 9070; + case ChorusPlant::ChorusPlant(true, true, true, false, false, false).ID: return 9071; + case ChorusPlant::ChorusPlant(true, true, false, true, true, true).ID: return 9072; + case ChorusPlant::ChorusPlant(true, true, false, true, true, false).ID: return 9073; + case ChorusPlant::ChorusPlant(true, true, false, true, false, true).ID: return 9074; + case ChorusPlant::ChorusPlant(true, true, false, true, false, false).ID: return 9075; + case ChorusPlant::ChorusPlant(true, true, false, false, true, true).ID: return 9076; + case ChorusPlant::ChorusPlant(true, true, false, false, true, false).ID: return 9077; + case ChorusPlant::ChorusPlant(true, true, false, false, false, true).ID: return 9078; + case ChorusPlant::ChorusPlant(true, true, false, false, false, false).ID: return 9079; + case ChorusPlant::ChorusPlant(true, false, true, true, true, true).ID: return 9080; + case ChorusPlant::ChorusPlant(true, false, true, true, true, false).ID: return 9081; + case ChorusPlant::ChorusPlant(true, false, true, true, false, true).ID: return 9082; + case ChorusPlant::ChorusPlant(true, false, true, true, false, false).ID: return 9083; + case ChorusPlant::ChorusPlant(true, false, true, false, true, true).ID: return 9084; + case ChorusPlant::ChorusPlant(true, false, true, false, true, false).ID: return 9085; + case ChorusPlant::ChorusPlant(true, false, true, false, false, true).ID: return 9086; + case ChorusPlant::ChorusPlant(true, false, true, false, false, false).ID: return 9087; + case ChorusPlant::ChorusPlant(true, false, false, true, true, true).ID: return 9088; + case ChorusPlant::ChorusPlant(true, false, false, true, true, false).ID: return 9089; + case ChorusPlant::ChorusPlant(true, false, false, true, false, true).ID: return 9090; + case ChorusPlant::ChorusPlant(true, false, false, true, false, false).ID: return 9091; + case ChorusPlant::ChorusPlant(true, false, false, false, true, true).ID: return 9092; + case ChorusPlant::ChorusPlant(true, false, false, false, true, false).ID: return 9093; + case ChorusPlant::ChorusPlant(true, false, false, false, false, true).ID: return 9094; + case ChorusPlant::ChorusPlant(true, false, false, false, false, false).ID: return 9095; + case ChorusPlant::ChorusPlant(false, true, true, true, true, true).ID: return 9096; + case ChorusPlant::ChorusPlant(false, true, true, true, true, false).ID: return 9097; + case ChorusPlant::ChorusPlant(false, true, true, true, false, true).ID: return 9098; + case ChorusPlant::ChorusPlant(false, true, true, true, false, false).ID: return 9099; + case ChorusPlant::ChorusPlant(false, true, true, false, true, true).ID: return 9100; + case ChorusPlant::ChorusPlant(false, true, true, false, true, false).ID: return 9101; + case ChorusPlant::ChorusPlant(false, true, true, false, false, true).ID: return 9102; + case ChorusPlant::ChorusPlant(false, true, true, false, false, false).ID: return 9103; + case ChorusPlant::ChorusPlant(false, true, false, true, true, true).ID: return 9104; + case ChorusPlant::ChorusPlant(false, true, false, true, true, false).ID: return 9105; + case ChorusPlant::ChorusPlant(false, true, false, true, false, true).ID: return 9106; + case ChorusPlant::ChorusPlant(false, true, false, true, false, false).ID: return 9107; + case ChorusPlant::ChorusPlant(false, true, false, false, true, true).ID: return 9108; + case ChorusPlant::ChorusPlant(false, true, false, false, true, false).ID: return 9109; + case ChorusPlant::ChorusPlant(false, true, false, false, false, true).ID: return 9110; + case ChorusPlant::ChorusPlant(false, true, false, false, false, false).ID: return 9111; + case ChorusPlant::ChorusPlant(false, false, true, true, true, true).ID: return 9112; + case ChorusPlant::ChorusPlant(false, false, true, true, true, false).ID: return 9113; + case ChorusPlant::ChorusPlant(false, false, true, true, false, true).ID: return 9114; + case ChorusPlant::ChorusPlant(false, false, true, true, false, false).ID: return 9115; + case ChorusPlant::ChorusPlant(false, false, true, false, true, true).ID: return 9116; + case ChorusPlant::ChorusPlant(false, false, true, false, true, false).ID: return 9117; + case ChorusPlant::ChorusPlant(false, false, true, false, false, true).ID: return 9118; + case ChorusPlant::ChorusPlant(false, false, true, false, false, false).ID: return 9119; + case ChorusPlant::ChorusPlant(false, false, false, true, true, true).ID: return 9120; + case ChorusPlant::ChorusPlant(false, false, false, true, true, false).ID: return 9121; + case ChorusPlant::ChorusPlant(false, false, false, true, false, true).ID: return 9122; + case ChorusPlant::ChorusPlant(false, false, false, true, false, false).ID: return 9123; + case ChorusPlant::ChorusPlant(false, false, false, false, true, true).ID: return 9124; + case ChorusPlant::ChorusPlant(false, false, false, false, true, false).ID: return 9125; + case ChorusPlant::ChorusPlant(false, false, false, false, false, true).ID: return 9126; + case ChorusPlant::ChorusPlant(false, false, false, false, false, false).ID: return 9127; + case Clay::Clay().ID: return 3947; + case CoalBlock::CoalBlock().ID: return 7883; + case CoalOre::CoalOre().ID: return 71; + case CoarseDirt::CoarseDirt().ID: return 11; + case Cobblestone::Cobblestone().ID: return 14; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top).ID: return 8367; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom).ID: return 8369; + case CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double).ID: return 8371; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3656; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3658; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3660; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3662; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3664; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3666; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3668; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3670; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3672; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3674; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3676; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3678; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3680; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3682; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3684; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3686; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3688; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3690; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3692; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3694; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3696; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3698; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3700; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3702; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3704; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3706; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3708; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3710; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3712; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3714; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3716; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3718; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3720; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3722; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Top, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3724; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::Straight + ) + .ID: + return 3726; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 3728; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::InnerRight + ) + .ID: + return 3730; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 3732; + case CobblestoneStairs::CobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + CobblestoneStairs::Half::Bottom, + CobblestoneStairs::Shape::OuterRight + ) + .ID: + return 3734; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5660; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5661; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5662; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5666; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5667; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5668; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5672; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5673; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5674; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5678; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5679; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5680; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5684; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5685; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5686; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5690; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5691; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5692; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5696; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5697; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5698; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5702; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5703; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5704; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5708; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5709; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5710; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5714; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5715; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5716; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5720; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5721; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5722; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5726; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5727; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5728; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5732; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5733; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5734; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5738; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5739; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5740; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5744; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5745; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5746; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5750; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5751; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5752; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5756; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5757; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5758; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5762; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5763; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::None, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5764; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5768; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5769; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5770; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5774; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5775; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5776; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5780; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5781; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5782; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5786; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5787; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5788; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5792; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5793; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5794; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5798; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5799; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5800; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5804; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5805; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5806; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5810; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5811; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5812; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5816; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5817; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5818; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5822; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5823; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5824; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5828; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5829; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5830; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5834; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5835; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5836; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5840; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5841; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5842; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5846; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5847; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5848; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5852; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5853; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5854; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5858; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5859; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5860; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5864; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5865; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5866; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5870; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5871; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Low, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5872; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5876; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5877; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5878; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5882; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5883; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5884; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5888; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5889; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5890; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5894; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5895; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5896; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5900; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5901; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5902; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5906; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5907; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::None, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5908; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5912; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5913; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5914; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5918; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5919; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5920; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5924; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5925; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5926; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5930; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5931; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5932; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5936; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5937; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5938; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5942; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5943; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Low, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5944; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::None + ) + .ID: + return 5948; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5949; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5950; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::None + ) + .ID: + return 5954; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5955; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::None, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5956; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::None + ) + .ID: + return 5960; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5961; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5962; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::None + ) + .ID: + return 5966; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5967; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Low, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5968; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::None + ) + .ID: + return 5972; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Low + ) + .ID: + return 5973; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + true, + CobblestoneWall::West::Tall + ) + .ID: + return 5974; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::None + ) + .ID: + return 5978; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Low + ) + .ID: + return 5979; + case CobblestoneWall::CobblestoneWall( + CobblestoneWall::East::Tall, + CobblestoneWall::North::Tall, + CobblestoneWall::South::Tall, + false, + CobblestoneWall::West::Tall + ) + .ID: + return 5980; + case Cobweb::Cobweb().ID: return 1341; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM).ID: return 5158; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP).ID: return 5159; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM).ID: return 5160; + case Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP).ID: return 5161; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM).ID: return 5162; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP).ID: return 5163; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM).ID: return 5164; + case Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP).ID: return 5165; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM).ID: return 5166; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP).ID: return 5167; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM).ID: return 5168; + case Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP).ID: return 5169; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5644; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 5645; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5646; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 5647; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 5648; + case CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 5649; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5650; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 5651; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5652; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 5653; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 5654; + case CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 5655; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true).ID: return 6678; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false).ID: return 6679; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true).ID: return 6680; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false).ID: return 6681; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true).ID: return 6682; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false).ID: return 6683; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true).ID: return 6684; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false).ID: return 6685; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true).ID: return 6686; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false).ID: return 6687; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true).ID: return 6688; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false).ID: return 6689; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true).ID: return 6690; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false).ID: return 6691; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true).ID: return 6692; + case Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false).ID: return 6693; + case Composter::Composter(0).ID: return 15751; + case Composter::Composter(1).ID: return 15752; + case Composter::Composter(2).ID: return 15753; + case Composter::Composter(3).ID: return 15754; + case Composter::Composter(4).ID: return 15755; + case Composter::Composter(5).ID: return 15756; + case Composter::Composter(6).ID: return 15757; + case Composter::Composter(7).ID: return 15758; + case Composter::Composter(8).ID: return 15759; + case Conduit::Conduit().ID: return 9650; + case Cornflower::Cornflower().ID: return 1422; + case CrackedNetherBricks::CrackedNetherBricks().ID: return 17102; + case CrackedPolishedBlackstoneBricks::CrackedPolishedBlackstoneBricks().ID: return 16252; + case CrackedStoneBricks::CrackedStoneBricks().ID: return 4497; + case CraftingTable::CraftingTable().ID: return 3356; + case CreeperHead::CreeperHead(0).ID: return 6570; + case CreeperHead::CreeperHead(1).ID: return 6571; + case CreeperHead::CreeperHead(2).ID: return 6572; + case CreeperHead::CreeperHead(3).ID: return 6573; + case CreeperHead::CreeperHead(4).ID: return 6574; + case CreeperHead::CreeperHead(5).ID: return 6575; + case CreeperHead::CreeperHead(6).ID: return 6576; + case CreeperHead::CreeperHead(7).ID: return 6577; + case CreeperHead::CreeperHead(8).ID: return 6578; + case CreeperHead::CreeperHead(9).ID: return 6579; + case CreeperHead::CreeperHead(10).ID: return 6580; + case CreeperHead::CreeperHead(11).ID: return 6581; + case CreeperHead::CreeperHead(12).ID: return 6582; + case CreeperHead::CreeperHead(13).ID: return 6583; + case CreeperHead::CreeperHead(14).ID: return 6584; + case CreeperHead::CreeperHead(15).ID: return 6585; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6586; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6587; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6588; + case CreeperWallHead::CreeperWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6589; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15479; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: + return 15480; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15481; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: + return 15482; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 15483; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: + return 15484; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 15485; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: + return 15486; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15487; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15488; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15489; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15490; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 15491; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 15492; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 15493; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 15494; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: + return 15495; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: + return 15496; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: + return 15497; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: + return 15498; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: + return 15499; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: + return 15500; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: + return 15501; + case CrimsonButton::CrimsonButton(CrimsonButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: + return 15502; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + true, + true + ) + .ID: + return 15527; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + true, + false + ) + .ID: + return 15528; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + false, + true + ) + .ID: + return 15529; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + false, + false + ) + .ID: + return 15530; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + true, + true + ) + .ID: + return 15531; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + true, + false + ) + .ID: + return 15532; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + false, + true + ) + .ID: + return 15533; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + false, + false + ) + .ID: + return 15534; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + true, + true + ) + .ID: + return 15535; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + true, + false + ) + .ID: + return 15536; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + false, + true + ) + .ID: + return 15537; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + false, + false + ) + .ID: + return 15538; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + true, + true + ) + .ID: + return 15539; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + true, + false + ) + .ID: + return 15540; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + false, + true + ) + .ID: + return 15541; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + false, + false + ) + .ID: + return 15542; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + true, + true + ) + .ID: + return 15543; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + true, + false + ) + .ID: + return 15544; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + false, + true + ) + .ID: + return 15545; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + false, + false + ) + .ID: + return 15546; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + true, + true + ) + .ID: + return 15547; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + true, + false + ) + .ID: + return 15548; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + false, + true + ) + .ID: + return 15549; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + false, + false + ) + .ID: + return 15550; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + true, + true + ) + .ID: + return 15551; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + true, + false + ) + .ID: + return 15552; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + false, + true + ) + .ID: + return 15553; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + false, + false + ) + .ID: + return 15554; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + true, + true + ) + .ID: + return 15555; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + true, + false + ) + .ID: + return 15556; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + false, + true + ) + .ID: + return 15557; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_ZP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + false, + false + ) + .ID: + return 15558; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + true, + true + ) + .ID: + return 15559; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + true, + false + ) + .ID: + return 15560; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + false, + true + ) + .ID: + return 15561; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + false, + false + ) + .ID: + return 15562; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + true, + true + ) + .ID: + return 15563; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + true, + false + ) + .ID: + return 15564; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + false, + true + ) + .ID: + return 15565; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + false, + false + ) + .ID: + return 15566; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + true, + true + ) + .ID: + return 15567; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + true, + false + ) + .ID: + return 15568; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + false, + true + ) + .ID: + return 15569; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + false, + false + ) + .ID: + return 15570; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + true, + true + ) + .ID: + return 15571; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + true, + false + ) + .ID: + return 15572; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + false, + true + ) + .ID: + return 15573; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XM, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + false, + false + ) + .ID: + return 15574; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + true, + true + ) + .ID: + return 15575; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + true, + false + ) + .ID: + return 15576; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + false, + true + ) + .ID: + return 15577; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Left, + false, + false + ) + .ID: + return 15578; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + true, + true + ) + .ID: + return 15579; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + true, + false + ) + .ID: + return 15580; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + false, + true + ) + .ID: + return 15581; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Upper, + CrimsonDoor::Hinge::Right, + false, + false + ) + .ID: + return 15582; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + true, + true + ) + .ID: + return 15583; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + true, + false + ) + .ID: + return 15584; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + false, + true + ) + .ID: + return 15585; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Left, + false, + false + ) + .ID: + return 15586; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + true, + true + ) + .ID: + return 15587; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + true, + false + ) + .ID: + return 15588; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + false, + true + ) + .ID: + return 15589; + case CrimsonDoor::CrimsonDoor( + eBlockFace::BLOCK_FACE_XP, + CrimsonDoor::Half::Lower, + CrimsonDoor::Hinge::Right, + false, + false + ) + .ID: + return 15590; + case CrimsonFence::CrimsonFence(true, true, true, true).ID: return 15065; + case CrimsonFence::CrimsonFence(true, true, true, false).ID: return 15066; + case CrimsonFence::CrimsonFence(true, true, false, true).ID: return 15069; + case CrimsonFence::CrimsonFence(true, true, false, false).ID: return 15070; + case CrimsonFence::CrimsonFence(true, false, true, true).ID: return 15073; + case CrimsonFence::CrimsonFence(true, false, true, false).ID: return 15074; + case CrimsonFence::CrimsonFence(true, false, false, true).ID: return 15077; + case CrimsonFence::CrimsonFence(true, false, false, false).ID: return 15078; + case CrimsonFence::CrimsonFence(false, true, true, true).ID: return 15081; + case CrimsonFence::CrimsonFence(false, true, true, false).ID: return 15082; + case CrimsonFence::CrimsonFence(false, true, false, true).ID: return 15085; + case CrimsonFence::CrimsonFence(false, true, false, false).ID: return 15086; + case CrimsonFence::CrimsonFence(false, false, true, true).ID: return 15089; + case CrimsonFence::CrimsonFence(false, false, true, false).ID: return 15090; + case CrimsonFence::CrimsonFence(false, false, false, true).ID: return 15093; + case CrimsonFence::CrimsonFence(false, false, false, false).ID: return 15094; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 15255; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 15256; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 15257; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 15258; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 15259; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 15260; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 15261; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 15262; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 15263; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 15264; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 15265; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 15266; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 15267; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 15268; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 15269; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 15270; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 15271; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 15272; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 15273; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 15274; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 15275; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 15276; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 15277; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 15278; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 15279; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 15280; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 15281; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 15282; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 15283; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 15284; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 15285; + case CrimsonFenceGate::CrimsonFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 15286; + case CrimsonFungus::CrimsonFungus().ID: return 14988; + case CrimsonHyphae::CrimsonHyphae(CrimsonHyphae::Axis::X).ID: return 14981; + case CrimsonHyphae::CrimsonHyphae(CrimsonHyphae::Axis::Y).ID: return 14982; + case CrimsonHyphae::CrimsonHyphae(CrimsonHyphae::Axis::Z).ID: return 14983; + case CrimsonNylium::CrimsonNylium().ID: return 14987; + case CrimsonPlanks::CrimsonPlanks().ID: return 15045; + case CrimsonPressurePlate::CrimsonPressurePlate(true).ID: return 15059; + case CrimsonPressurePlate::CrimsonPressurePlate(false).ID: return 15060; + case CrimsonRoots::CrimsonRoots().ID: return 15044; + case CrimsonSign::CrimsonSign(0).ID: return 15656; + case CrimsonSign::CrimsonSign(1).ID: return 15658; + case CrimsonSign::CrimsonSign(2).ID: return 15660; + case CrimsonSign::CrimsonSign(3).ID: return 15662; + case CrimsonSign::CrimsonSign(4).ID: return 15664; + case CrimsonSign::CrimsonSign(5).ID: return 15666; + case CrimsonSign::CrimsonSign(6).ID: return 15668; + case CrimsonSign::CrimsonSign(7).ID: return 15670; + case CrimsonSign::CrimsonSign(8).ID: return 15672; + case CrimsonSign::CrimsonSign(9).ID: return 15674; + case CrimsonSign::CrimsonSign(10).ID: return 15676; + case CrimsonSign::CrimsonSign(11).ID: return 15678; + case CrimsonSign::CrimsonSign(12).ID: return 15680; + case CrimsonSign::CrimsonSign(13).ID: return 15682; + case CrimsonSign::CrimsonSign(14).ID: return 15684; + case CrimsonSign::CrimsonSign(15).ID: return 15686; + case CrimsonSlab::CrimsonSlab(CrimsonSlab::Type::Top).ID: return 15048; + case CrimsonSlab::CrimsonSlab(CrimsonSlab::Type::Bottom).ID: return 15050; + case CrimsonSlab::CrimsonSlab(CrimsonSlab::Type::Double).ID: return 15052; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::Straight + ) + .ID: + return 15320; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::InnerLeft + ) + .ID: + return 15322; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::InnerRight + ) + .ID: + return 15324; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::OuterLeft + ) + .ID: + return 15326; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::OuterRight + ) + .ID: + return 15328; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::Straight + ) + .ID: + return 15330; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::InnerLeft + ) + .ID: + return 15332; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::InnerRight + ) + .ID: + return 15334; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::OuterLeft + ) + .ID: + return 15336; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::OuterRight + ) + .ID: + return 15338; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::Straight + ) + .ID: + return 15340; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::InnerLeft + ) + .ID: + return 15342; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::InnerRight + ) + .ID: + return 15344; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::OuterLeft + ) + .ID: + return 15346; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::OuterRight + ) + .ID: + return 15348; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::Straight + ) + .ID: + return 15350; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::InnerLeft + ) + .ID: + return 15352; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::InnerRight + ) + .ID: + return 15354; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::OuterLeft + ) + .ID: + return 15356; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_ZP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::OuterRight + ) + .ID: + return 15358; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::Straight + ) + .ID: + return 15360; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::InnerLeft + ) + .ID: + return 15362; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::InnerRight + ) + .ID: + return 15364; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::OuterLeft + ) + .ID: + return 15366; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::OuterRight + ) + .ID: + return 15368; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::Straight + ) + .ID: + return 15370; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::InnerLeft + ) + .ID: + return 15372; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::InnerRight + ) + .ID: + return 15374; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::OuterLeft + ) + .ID: + return 15376; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XM, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::OuterRight + ) + .ID: + return 15378; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::Straight + ) + .ID: + return 15380; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::InnerLeft + ) + .ID: + return 15382; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::InnerRight + ) + .ID: + return 15384; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::OuterLeft + ) + .ID: + return 15386; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Top, + CrimsonStairs::Shape::OuterRight + ) + .ID: + return 15388; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::Straight + ) + .ID: + return 15390; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::InnerLeft + ) + .ID: + return 15392; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::InnerRight + ) + .ID: + return 15394; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::OuterLeft + ) + .ID: + return 15396; + case CrimsonStairs::CrimsonStairs( + eBlockFace::BLOCK_FACE_XP, + CrimsonStairs::Half::Bottom, + CrimsonStairs::Shape::OuterRight + ) + .ID: + return 15398; + case CrimsonStem::CrimsonStem(CrimsonStem::Axis::X).ID: return 14975; + case CrimsonStem::CrimsonStem(CrimsonStem::Axis::Y).ID: return 14976; + case CrimsonStem::CrimsonStem(CrimsonStem::Axis::Z).ID: return 14977; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Top, true, true).ID: + return 15128; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Top, true, false).ID: + return 15130; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Top, false, true).ID: + return 15132; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Top, false, false).ID: + return 15134; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Bottom, true, true).ID: + return 15136; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Bottom, true, false).ID: + return 15138; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Bottom, false, true).ID: + return 15140; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZM, CrimsonTrapdoor::Half::Bottom, false, false) + .ID: + return 15142; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Top, true, true).ID: + return 15144; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Top, true, false).ID: + return 15146; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Top, false, true).ID: + return 15148; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Top, false, false).ID: + return 15150; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Bottom, true, true).ID: + return 15152; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Bottom, true, false).ID: + return 15154; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Bottom, false, true).ID: + return 15156; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_ZP, CrimsonTrapdoor::Half::Bottom, false, false) + .ID: + return 15158; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Top, true, true).ID: + return 15160; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Top, true, false).ID: + return 15162; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Top, false, true).ID: + return 15164; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Top, false, false).ID: + return 15166; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Bottom, true, true).ID: + return 15168; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Bottom, true, false).ID: + return 15170; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Bottom, false, true).ID: + return 15172; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XM, CrimsonTrapdoor::Half::Bottom, false, false) + .ID: + return 15174; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Top, true, true).ID: + return 15176; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Top, true, false).ID: + return 15178; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Top, false, true).ID: + return 15180; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Top, false, false).ID: + return 15182; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Bottom, true, true).ID: + return 15184; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Bottom, true, false).ID: + return 15186; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Bottom, false, true).ID: + return 15188; + case CrimsonTrapdoor::CrimsonTrapdoor(eBlockFace::BLOCK_FACE_XP, CrimsonTrapdoor::Half::Bottom, false, false) + .ID: + return 15190; + case CrimsonWallSign::CrimsonWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 15720; + case CrimsonWallSign::CrimsonWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 15722; + case CrimsonWallSign::CrimsonWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 15724; + case CrimsonWallSign::CrimsonWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 15726; + case CryingObsidian::CryingObsidian().ID: return 15828; + case CutRedSandstone::CutRedSandstone().ID: return 8219; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Top).ID: return 8403; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Bottom).ID: return 8405; + case CutRedSandstoneSlab::CutRedSandstoneSlab(CutRedSandstoneSlab::Type::Double).ID: return 8407; + case CutSandstone::CutSandstone().ID: return 248; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Top).ID: return 8355; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Bottom).ID: return 8357; + case CutSandstoneSlab::CutSandstoneSlab(CutSandstoneSlab::Type::Double).ID: return 8359; + case CyanBanner::CyanBanner(0).ID: return 8041; + case CyanBanner::CyanBanner(1).ID: return 8042; + case CyanBanner::CyanBanner(2).ID: return 8043; + case CyanBanner::CyanBanner(3).ID: return 8044; + case CyanBanner::CyanBanner(4).ID: return 8045; + case CyanBanner::CyanBanner(5).ID: return 8046; + case CyanBanner::CyanBanner(6).ID: return 8047; + case CyanBanner::CyanBanner(7).ID: return 8048; + case CyanBanner::CyanBanner(8).ID: return 8049; + case CyanBanner::CyanBanner(9).ID: return 8050; + case CyanBanner::CyanBanner(10).ID: return 8051; + case CyanBanner::CyanBanner(11).ID: return 8052; + case CyanBanner::CyanBanner(12).ID: return 8053; + case CyanBanner::CyanBanner(13).ID: return 8054; + case CyanBanner::CyanBanner(14).ID: return 8055; + case CyanBanner::CyanBanner(15).ID: return 8056; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Head).ID: return 1193; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, true, CyanBed::Part::Foot).ID: return 1194; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Head).ID: return 1195; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZM, false, CyanBed::Part::Foot).ID: return 1196; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Head).ID: return 1197; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, true, CyanBed::Part::Foot).ID: return 1198; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Head).ID: return 1199; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_ZP, false, CyanBed::Part::Foot).ID: return 1200; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Head).ID: return 1201; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, true, CyanBed::Part::Foot).ID: return 1202; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Head).ID: return 1203; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XM, false, CyanBed::Part::Foot).ID: return 1204; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Head).ID: return 1205; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, true, CyanBed::Part::Foot).ID: return 1206; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Head).ID: return 1207; + case CyanBed::CyanBed(eBlockFace::BLOCK_FACE_XP, false, CyanBed::Part::Foot).ID: return 1208; + case CyanCarpet::CyanCarpet().ID: return 7875; + case CyanConcrete::CyanConcrete().ID: return 9447; + case CyanConcretePowder::CyanConcretePowder().ID: return 9463; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9410; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9411; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9412; + case CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9413; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9332; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9333; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9334; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9335; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9336; + case CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9337; + case CyanStainedGlass::CyanStainedGlass().ID: return 4104; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, true).ID: return 7153; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, true, false).ID: return 7154; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, true).ID: return 7157; + case CyanStainedGlassPane::CyanStainedGlassPane(true, true, false, false).ID: return 7158; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, true).ID: return 7161; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, true, false).ID: return 7162; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, true).ID: return 7165; + case CyanStainedGlassPane::CyanStainedGlassPane(true, false, false, false).ID: return 7166; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, true).ID: return 7169; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, true, false).ID: return 7170; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, true).ID: return 7173; + case CyanStainedGlassPane::CyanStainedGlassPane(false, true, false, false).ID: return 7174; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, true).ID: return 7177; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, true, false).ID: return 7178; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, true).ID: return 7181; + case CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false).ID: return 7182; + case CyanTerracotta::CyanTerracotta().ID: return 6856; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8189; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8190; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8191; + case CyanWallBanner::CyanWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8192; + case CyanWool::CyanWool().ID: return 1393; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM).ID: return 6618; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP).ID: return 6619; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM).ID: return 6620; + case DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP).ID: return 6621; + case Dandelion::Dandelion().ID: return 1412; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6466; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6467; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6468; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6469; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6470; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6471; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6472; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6473; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6474; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6475; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6476; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6477; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6478; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6479; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6480; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6481; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: + return 6482; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: + return 6483; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: + return 6484; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: + return 6485; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: + return 6486; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: + return 6487; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: + return 6488; + case DarkOakButton::DarkOakButton(DarkOakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: + return 6489; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 8994; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 8995; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 8996; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 8997; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 8998; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 8999; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 9000; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 9001; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 9002; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 9003; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 9004; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 9005; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 9006; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 9007; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 9008; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 9009; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 9010; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 9011; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 9012; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 9013; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 9014; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 9015; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 9016; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 9017; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 9018; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 9019; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 9020; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 9021; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 9022; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 9023; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 9024; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_ZP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 9025; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 9026; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 9027; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 9028; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 9029; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 9030; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 9031; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 9032; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 9033; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 9034; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 9035; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 9036; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 9037; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 9038; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 9039; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 9040; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XM, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 9041; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 9042; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 9043; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 9044; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 9045; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 9046; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 9047; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 9048; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Upper, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 9049; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + true + ) + .ID: + return 9050; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + true, + false + ) + .ID: + return 9051; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + true + ) + .ID: + return 9052; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Left, + false, + false + ) + .ID: + return 9053; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + true + ) + .ID: + return 9054; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + true, + false + ) + .ID: + return 9055; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + true + ) + .ID: + return 9056; + case DarkOakDoor::DarkOakDoor( + eBlockFace::BLOCK_FACE_XP, + DarkOakDoor::Half::Lower, + DarkOakDoor::Hinge::Right, + false, + false + ) + .ID: + return 9057; + case DarkOakFence::DarkOakFence(true, true, true, true).ID: return 8708; + case DarkOakFence::DarkOakFence(true, true, true, false).ID: return 8709; + case DarkOakFence::DarkOakFence(true, true, false, true).ID: return 8712; + case DarkOakFence::DarkOakFence(true, true, false, false).ID: return 8713; + case DarkOakFence::DarkOakFence(true, false, true, true).ID: return 8716; + case DarkOakFence::DarkOakFence(true, false, true, false).ID: return 8717; + case DarkOakFence::DarkOakFence(true, false, false, true).ID: return 8720; + case DarkOakFence::DarkOakFence(true, false, false, false).ID: return 8721; + case DarkOakFence::DarkOakFence(false, true, true, true).ID: return 8724; + case DarkOakFence::DarkOakFence(false, true, true, false).ID: return 8725; + case DarkOakFence::DarkOakFence(false, true, false, true).ID: return 8728; + case DarkOakFence::DarkOakFence(false, true, false, false).ID: return 8729; + case DarkOakFence::DarkOakFence(false, false, true, true).ID: return 8732; + case DarkOakFence::DarkOakFence(false, false, true, false).ID: return 8733; + case DarkOakFence::DarkOakFence(false, false, false, true).ID: return 8736; + case DarkOakFence::DarkOakFence(false, false, false, false).ID: return 8737; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8546; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8547; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8548; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8549; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8550; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8551; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8552; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8553; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8554; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8555; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8556; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8557; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8558; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8559; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8560; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8561; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8562; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8563; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8564; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8565; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8566; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8567; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8568; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8569; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8570; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8571; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8572; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8573; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8574; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8575; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8576; + case DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8577; + case DarkOakLeaves::DarkOakLeaves(1, true).ID: return 215; + case DarkOakLeaves::DarkOakLeaves(1, false).ID: return 216; + case DarkOakLeaves::DarkOakLeaves(2, true).ID: return 217; + case DarkOakLeaves::DarkOakLeaves(2, false).ID: return 218; + case DarkOakLeaves::DarkOakLeaves(3, true).ID: return 219; + case DarkOakLeaves::DarkOakLeaves(3, false).ID: return 220; + case DarkOakLeaves::DarkOakLeaves(4, true).ID: return 221; + case DarkOakLeaves::DarkOakLeaves(4, false).ID: return 222; + case DarkOakLeaves::DarkOakLeaves(5, true).ID: return 223; + case DarkOakLeaves::DarkOakLeaves(5, false).ID: return 224; + case DarkOakLeaves::DarkOakLeaves(6, true).ID: return 225; + case DarkOakLeaves::DarkOakLeaves(6, false).ID: return 226; + case DarkOakLeaves::DarkOakLeaves(7, true).ID: return 227; + case DarkOakLeaves::DarkOakLeaves(7, false).ID: return 228; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::X).ID: return 88; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y).ID: return 89; + case DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z).ID: return 90; + case DarkOakPlanks::DarkOakPlanks().ID: return 20; + case DarkOakPressurePlate::DarkOakPressurePlate(true).ID: return 3883; + case DarkOakPressurePlate::DarkOakPressurePlate(false).ID: return 3884; + case DarkOakSapling::DarkOakSapling(0).ID: return 31; + case DarkOakSapling::DarkOakSapling(1).ID: return 32; + case DarkOakSign::DarkOakSign(0).ID: return 3542; + case DarkOakSign::DarkOakSign(1).ID: return 3544; + case DarkOakSign::DarkOakSign(2).ID: return 3546; + case DarkOakSign::DarkOakSign(3).ID: return 3548; + case DarkOakSign::DarkOakSign(4).ID: return 3550; + case DarkOakSign::DarkOakSign(5).ID: return 3552; + case DarkOakSign::DarkOakSign(6).ID: return 3554; + case DarkOakSign::DarkOakSign(7).ID: return 3556; + case DarkOakSign::DarkOakSign(8).ID: return 3558; + case DarkOakSign::DarkOakSign(9).ID: return 3560; + case DarkOakSign::DarkOakSign(10).ID: return 3562; + case DarkOakSign::DarkOakSign(11).ID: return 3564; + case DarkOakSign::DarkOakSign(12).ID: return 3566; + case DarkOakSign::DarkOakSign(13).ID: return 3568; + case DarkOakSign::DarkOakSign(14).ID: return 3570; + case DarkOakSign::DarkOakSign(15).ID: return 3572; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top).ID: return 8331; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom).ID: return 8333; + case DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double).ID: return 8335; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 7456; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 7458; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 7460; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 7462; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 7464; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 7466; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 7468; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 7470; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 7472; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 7474; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 7476; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 7478; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 7480; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 7482; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 7484; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 7486; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 7488; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 7490; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 7492; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 7494; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 7496; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 7498; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 7500; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 7502; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 7504; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 7506; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 7508; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 7510; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 7512; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XM, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 7514; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::Straight + ) + .ID: + return 7516; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 7518; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 7520; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 7522; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Top, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 7524; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::Straight + ) + .ID: + return 7526; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerLeft + ) + .ID: + return 7528; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::InnerRight + ) + .ID: + return 7530; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterLeft + ) + .ID: + return 7532; + case DarkOakStairs::DarkOakStairs( + eBlockFace::BLOCK_FACE_XP, + DarkOakStairs::Half::Bottom, + DarkOakStairs::Shape::OuterRight + ) + .ID: + return 7534; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4432; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4434; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4436; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4438; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4440; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4442; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4444; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4446; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4448; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4450; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4452; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4454; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4456; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4458; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4460; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_ZP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4462; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4464; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4466; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4468; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4470; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4472; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4474; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4476; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XM, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4478; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, true).ID: + return 4480; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, true, false).ID: + return 4482; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, true).ID: + return 4484; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Top, false, false).ID: + return 4486; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, true).ID: + return 4488; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, true, false).ID: + return 4490; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, true).ID: + return 4492; + case DarkOakTrapdoor::DarkOakTrapdoor(eBlockFace::BLOCK_FACE_XP, DarkOakTrapdoor::Half::Bottom, false, false) + .ID: + return 4494; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3776; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3778; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3780; + case DarkOakWallSign::DarkOakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3782; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::X).ID: return 124; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Y).ID: return 125; + case DarkOakWood::DarkOakWood(DarkOakWood::Axis::Z).ID: return 126; + case DarkPrismarine::DarkPrismarine().ID: return 7603; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Top).ID: return 7857; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Bottom).ID: return 7859; + case DarkPrismarineSlab::DarkPrismarineSlab(DarkPrismarineSlab::Type::Double).ID: return 7861; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7765; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7767; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7769; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7771; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7773; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7775; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7777; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7779; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7781; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7783; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7785; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7787; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7789; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7791; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7793; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7795; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7797; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7799; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7801; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7803; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7805; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7807; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7809; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7811; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7813; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7815; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7817; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7819; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7821; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7823; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7825; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7827; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7829; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7831; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Top, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7833; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::Straight + ) + .ID: + return 7835; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7837; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::InnerRight + ) + .ID: + return 7839; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7841; + case DarkPrismarineStairs::DarkPrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + DarkPrismarineStairs::Half::Bottom, + DarkPrismarineStairs::Shape::OuterRight + ) + .ID: + return 7843; + case DaylightDetector::DaylightDetector(true, 0).ID: return 6694; + case DaylightDetector::DaylightDetector(true, 1).ID: return 6695; + case DaylightDetector::DaylightDetector(true, 2).ID: return 6696; + case DaylightDetector::DaylightDetector(true, 3).ID: return 6697; + case DaylightDetector::DaylightDetector(true, 4).ID: return 6698; + case DaylightDetector::DaylightDetector(true, 5).ID: return 6699; + case DaylightDetector::DaylightDetector(true, 6).ID: return 6700; + case DaylightDetector::DaylightDetector(true, 7).ID: return 6701; + case DaylightDetector::DaylightDetector(true, 8).ID: return 6702; + case DaylightDetector::DaylightDetector(true, 9).ID: return 6703; + case DaylightDetector::DaylightDetector(true, 10).ID: return 6704; + case DaylightDetector::DaylightDetector(true, 11).ID: return 6705; + case DaylightDetector::DaylightDetector(true, 12).ID: return 6706; + case DaylightDetector::DaylightDetector(true, 13).ID: return 6707; + case DaylightDetector::DaylightDetector(true, 14).ID: return 6708; + case DaylightDetector::DaylightDetector(true, 15).ID: return 6709; + case DaylightDetector::DaylightDetector(false, 0).ID: return 6710; + case DaylightDetector::DaylightDetector(false, 1).ID: return 6711; + case DaylightDetector::DaylightDetector(false, 2).ID: return 6712; + case DaylightDetector::DaylightDetector(false, 3).ID: return 6713; + case DaylightDetector::DaylightDetector(false, 4).ID: return 6714; + case DaylightDetector::DaylightDetector(false, 5).ID: return 6715; + case DaylightDetector::DaylightDetector(false, 6).ID: return 6716; + case DaylightDetector::DaylightDetector(false, 7).ID: return 6717; + case DaylightDetector::DaylightDetector(false, 8).ID: return 6718; + case DaylightDetector::DaylightDetector(false, 9).ID: return 6719; + case DaylightDetector::DaylightDetector(false, 10).ID: return 6720; + case DaylightDetector::DaylightDetector(false, 11).ID: return 6721; + case DaylightDetector::DaylightDetector(false, 12).ID: return 6722; + case DaylightDetector::DaylightDetector(false, 13).ID: return 6723; + case DaylightDetector::DaylightDetector(false, 14).ID: return 6724; + case DaylightDetector::DaylightDetector(false, 15).ID: return 6725; + case DeadBrainCoral::DeadBrainCoral().ID: return 9523; + case DeadBrainCoralBlock::DeadBrainCoralBlock().ID: return 9511; + case DeadBrainCoralFan::DeadBrainCoralFan().ID: return 9543; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9569; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9571; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9573; + case DeadBrainCoralWallFan::DeadBrainCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9575; + case DeadBubbleCoral::DeadBubbleCoral().ID: return 9525; + case DeadBubbleCoralBlock::DeadBubbleCoralBlock().ID: return 9512; + case DeadBubbleCoralFan::DeadBubbleCoralFan().ID: return 9545; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9577; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9579; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9581; + case DeadBubbleCoralWallFan::DeadBubbleCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9583; + case DeadBush::DeadBush().ID: return 1344; + case DeadFireCoral::DeadFireCoral().ID: return 9527; + case DeadFireCoralBlock::DeadFireCoralBlock().ID: return 9513; + case DeadFireCoralFan::DeadFireCoralFan().ID: return 9547; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9585; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9587; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9589; + case DeadFireCoralWallFan::DeadFireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9591; + case DeadHornCoral::DeadHornCoral().ID: return 9529; + case DeadHornCoralBlock::DeadHornCoralBlock().ID: return 9514; + case DeadHornCoralFan::DeadHornCoralFan().ID: return 9549; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9593; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9595; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9597; + case DeadHornCoralWallFan::DeadHornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9599; + case DeadTubeCoral::DeadTubeCoral().ID: return 9521; + case DeadTubeCoralBlock::DeadTubeCoralBlock().ID: return 9510; + case DeadTubeCoralFan::DeadTubeCoralFan().ID: return 9541; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9561; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9563; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9565; + case DeadTubeCoralWallFan::DeadTubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9567; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth).ID: return 1317; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest).ID: return 1318; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast).ID: return 1319; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest).ID: return 1320; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth).ID: return 1321; + case DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth).ID: return 1322; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth).ID: return 1323; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest).ID: return 1324; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast).ID: return 1325; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest).ID: return 1326; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth).ID: return 1327; + case DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth).ID: return 1328; + case DiamondBlock::DiamondBlock().ID: return 3355; + case DiamondOre::DiamondOre().ID: return 3354; + case Diorite::Diorite().ID: return 4; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Top).ID: return 10862; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Bottom).ID: return 10864; + case DioriteSlab::DioriteSlab(DioriteSlab::Type::Double).ID: return 10866; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10710; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10712; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10714; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10716; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10718; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10720; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10722; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10724; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10726; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10728; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10730; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10732; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10734; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10736; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10738; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10740; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10742; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10744; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10746; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10748; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10750; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10752; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10754; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10756; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10758; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10760; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10762; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10764; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10766; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XM, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10768; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::Straight + ) + .ID: + return 10770; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10772; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10774; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10776; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Top, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10778; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::Straight + ) + .ID: + return 10780; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerLeft + ) + .ID: + return 10782; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::InnerRight + ) + .ID: + return 10784; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterLeft + ) + .ID: + return 10786; + case DioriteStairs::DioriteStairs( + eBlockFace::BLOCK_FACE_XP, + DioriteStairs::Half::Bottom, + DioriteStairs::Shape::OuterRight + ) + .ID: + return 10788; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14434; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14435; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14436; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14440; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14441; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14442; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14446; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14447; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14448; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14452; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14453; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14454; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14458; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14459; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14460; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14464; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14465; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14466; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14470; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14471; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14472; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14476; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14477; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14478; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14482; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14483; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14484; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14488; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14489; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14490; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14494; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14495; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14496; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14500; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14501; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14502; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14506; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14507; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14508; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14512; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14513; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14514; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14518; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14519; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14520; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14524; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14525; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14526; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14530; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14531; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14532; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14536; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14537; + case DioriteWall::DioriteWall( + DioriteWall::East::None, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14538; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14542; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14543; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14544; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14548; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14549; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14550; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14554; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14555; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14556; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14560; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14561; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14562; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14566; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14567; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14568; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14572; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14573; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14574; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14578; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14579; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14580; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14584; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14585; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14586; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14590; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14591; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14592; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14596; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14597; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14598; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14602; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14603; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14604; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14608; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14609; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14610; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14614; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14615; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14616; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14620; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14621; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14622; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14626; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14627; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14628; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14632; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14633; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14634; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14638; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14639; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14640; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14644; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14645; + case DioriteWall::DioriteWall( + DioriteWall::East::Low, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14646; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14650; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14651; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14652; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14656; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14657; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14658; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14662; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14663; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14664; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14668; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14669; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14670; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14674; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14675; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14676; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14680; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14681; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::None, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14682; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14686; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14687; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14688; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14692; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14693; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14694; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14698; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14699; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14700; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14704; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14705; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14706; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14710; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14711; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14712; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14716; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14717; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Low, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14718; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::None + ) + .ID: + return 14722; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::Low + ) + .ID: + return 14723; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::None, + true, + DioriteWall::West::Tall + ) + .ID: + return 14724; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::None + ) + .ID: + return 14728; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::Low + ) + .ID: + return 14729; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::None, + false, + DioriteWall::West::Tall + ) + .ID: + return 14730; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::None + ) + .ID: + return 14734; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::Low + ) + .ID: + return 14735; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Low, + true, + DioriteWall::West::Tall + ) + .ID: + return 14736; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::None + ) + .ID: + return 14740; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::Low + ) + .ID: + return 14741; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Low, + false, + DioriteWall::West::Tall + ) + .ID: + return 14742; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::None + ) + .ID: + return 14746; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::Low + ) + .ID: + return 14747; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + true, + DioriteWall::West::Tall + ) + .ID: + return 14748; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::None + ) + .ID: + return 14752; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::Low + ) + .ID: + return 14753; + case DioriteWall::DioriteWall( + DioriteWall::East::Tall, + DioriteWall::North::Tall, + DioriteWall::South::Tall, + false, + DioriteWall::West::Tall + ) + .ID: + return 14754; + case Dirt::Dirt().ID: return 10; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true).ID: return 234; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false).ID: return 235; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true).ID: return 236; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false).ID: return 237; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true).ID: return 238; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false).ID: return 239; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true).ID: return 240; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false).ID: return 241; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true).ID: return 242; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false).ID: return 243; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true).ID: return 244; + case Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false).ID: return 245; + case DragonEgg::DragonEgg().ID: return 5155; + case DragonHead::DragonHead(0).ID: return 6590; + case DragonHead::DragonHead(1).ID: return 6591; + case DragonHead::DragonHead(2).ID: return 6592; + case DragonHead::DragonHead(3).ID: return 6593; + case DragonHead::DragonHead(4).ID: return 6594; + case DragonHead::DragonHead(5).ID: return 6595; + case DragonHead::DragonHead(6).ID: return 6596; + case DragonHead::DragonHead(7).ID: return 6597; + case DragonHead::DragonHead(8).ID: return 6598; + case DragonHead::DragonHead(9).ID: return 6599; + case DragonHead::DragonHead(10).ID: return 6600; + case DragonHead::DragonHead(11).ID: return 6601; + case DragonHead::DragonHead(12).ID: return 6602; + case DragonHead::DragonHead(13).ID: return 6603; + case DragonHead::DragonHead(14).ID: return 6604; + case DragonHead::DragonHead(15).ID: return 6605; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6606; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6607; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6608; + case DragonWallHead::DragonWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6609; + case DriedKelpBlock::DriedKelpBlock().ID: return 9497; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true).ID: return 6835; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false).ID: return 6836; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true).ID: return 6837; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false).ID: return 6838; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true).ID: return 6839; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false).ID: return 6840; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true).ID: return 6841; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false).ID: return 6842; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true).ID: return 6843; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false).ID: return 6844; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true).ID: return 6845; + case Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false).ID: return 6846; + case EmeraldBlock::EmeraldBlock().ID: return 5403; + case EmeraldOre::EmeraldOre().ID: return 5250; + case EnchantingTable::EnchantingTable().ID: return 5132; + case EndGateway::EndGateway().ID: return 9224; + case EndPortal::EndPortal().ID: return 5145; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM).ID: return 5146; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP).ID: return 5147; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM).ID: return 5148; + case EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP).ID: return 5149; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM).ID: return 5150; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP).ID: return 5151; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM).ID: return 5152; + case EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP).ID: return 5153; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM).ID: return 9058; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XP).ID: return 9059; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP).ID: return 9060; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_XM).ID: return 9061; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YP).ID: return 9062; + case EndRod::EndRod(eBlockFace::BLOCK_FACE_YM).ID: return 9063; + case EndStone::EndStone().ID: return 5154; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Top).ID: return 10820; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Bottom).ID: return 10822; + case EndStoneBrickSlab::EndStoneBrickSlab(EndStoneBrickSlab::Type::Double).ID: return 10824; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 10070; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 10072; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 10074; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 10076; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 10078; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 10080; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 10082; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 10084; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 10086; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 10088; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 10090; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 10092; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 10094; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 10096; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 10098; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 10100; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 10102; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 10104; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 10106; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 10108; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 10110; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 10112; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 10114; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 10116; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 10118; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 10120; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 10122; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 10124; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 10126; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 10128; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 10130; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 10132; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 10134; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 10136; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Top, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 10138; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::Straight + ) + .ID: + return 10140; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 10142; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 10144; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 10146; + case EndStoneBrickStairs::EndStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + EndStoneBrickStairs::Half::Bottom, + EndStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 10148; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14110; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14111; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14112; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14116; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14117; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14118; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14122; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14123; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14124; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14128; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14129; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14130; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14134; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14135; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14136; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14140; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14141; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14142; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14146; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14147; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14148; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14152; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14153; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14154; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14158; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14159; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14160; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14164; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14165; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14166; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14170; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14171; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14172; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14176; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14177; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14178; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14182; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14183; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14184; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14188; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14189; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14190; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14194; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14195; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14196; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14200; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14201; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14202; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14206; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14207; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14208; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14212; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14213; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::None, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14214; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14218; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14219; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14220; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14224; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14225; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14226; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14230; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14231; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14232; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14236; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14237; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14238; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14242; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14243; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14244; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14248; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14249; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14250; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14254; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14255; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14256; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14260; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14261; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14262; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14266; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14267; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14268; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14272; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14273; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14274; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14278; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14279; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14280; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14284; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14285; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14286; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14290; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14291; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14292; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14296; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14297; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14298; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14302; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14303; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14304; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14308; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14309; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14310; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14314; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14315; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14316; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14320; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14321; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Low, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14322; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14326; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14327; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14328; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14332; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14333; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14334; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14338; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14339; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14340; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14344; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14345; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14346; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14350; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14351; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14352; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14356; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14357; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::None, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14358; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14362; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14363; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14364; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14368; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14369; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14370; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14374; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14375; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14376; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14380; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14381; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14382; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14386; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14387; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14388; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14392; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14393; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Low, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14394; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14398; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14399; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14400; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14404; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14405; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::None, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14406; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14410; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14411; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14412; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14416; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14417; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Low, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14418; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::None + ) + .ID: + return 14422; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Low + ) + .ID: + return 14423; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + true, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14424; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::None + ) + .ID: + return 14428; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Low + ) + .ID: + return 14429; + case EndStoneBrickWall::EndStoneBrickWall( + EndStoneBrickWall::East::Tall, + EndStoneBrickWall::North::Tall, + EndStoneBrickWall::South::Tall, + false, + EndStoneBrickWall::West::Tall + ) + .ID: + return 14430; + case EndStoneBricks::EndStoneBricks().ID: return 9218; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM).ID: return 5252; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP).ID: return 5254; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM).ID: return 5256; + case EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP).ID: return 5258; + case Farmland::Farmland(0).ID: return 3365; + case Farmland::Farmland(1).ID: return 3366; + case Farmland::Farmland(2).ID: return 3367; + case Farmland::Farmland(3).ID: return 3368; + case Farmland::Farmland(4).ID: return 3369; + case Farmland::Farmland(5).ID: return 3370; + case Farmland::Farmland(6).ID: return 3371; + case Farmland::Farmland(7).ID: return 3372; + case Fern::Fern().ID: return 1343; + case Fire::Fire(0, true, true, true, true, true).ID: return 1440; + case Fire::Fire(0, true, true, true, true, false).ID: return 1441; + case Fire::Fire(0, true, true, true, false, true).ID: return 1442; + case Fire::Fire(0, true, true, true, false, false).ID: return 1443; + case Fire::Fire(0, true, true, false, true, true).ID: return 1444; + case Fire::Fire(0, true, true, false, true, false).ID: return 1445; + case Fire::Fire(0, true, true, false, false, true).ID: return 1446; + case Fire::Fire(0, true, true, false, false, false).ID: return 1447; + case Fire::Fire(0, true, false, true, true, true).ID: return 1448; + case Fire::Fire(0, true, false, true, true, false).ID: return 1449; + case Fire::Fire(0, true, false, true, false, true).ID: return 1450; + case Fire::Fire(0, true, false, true, false, false).ID: return 1451; + case Fire::Fire(0, true, false, false, true, true).ID: return 1452; + case Fire::Fire(0, true, false, false, true, false).ID: return 1453; + case Fire::Fire(0, true, false, false, false, true).ID: return 1454; + case Fire::Fire(0, true, false, false, false, false).ID: return 1455; + case Fire::Fire(0, false, true, true, true, true).ID: return 1456; + case Fire::Fire(0, false, true, true, true, false).ID: return 1457; + case Fire::Fire(0, false, true, true, false, true).ID: return 1458; + case Fire::Fire(0, false, true, true, false, false).ID: return 1459; + case Fire::Fire(0, false, true, false, true, true).ID: return 1460; + case Fire::Fire(0, false, true, false, true, false).ID: return 1461; + case Fire::Fire(0, false, true, false, false, true).ID: return 1462; + case Fire::Fire(0, false, true, false, false, false).ID: return 1463; + case Fire::Fire(0, false, false, true, true, true).ID: return 1464; + case Fire::Fire(0, false, false, true, true, false).ID: return 1465; + case Fire::Fire(0, false, false, true, false, true).ID: return 1466; + case Fire::Fire(0, false, false, true, false, false).ID: return 1467; + case Fire::Fire(0, false, false, false, true, true).ID: return 1468; + case Fire::Fire(0, false, false, false, true, false).ID: return 1469; + case Fire::Fire(0, false, false, false, false, true).ID: return 1470; + case Fire::Fire(0, false, false, false, false, false).ID: return 1471; + case Fire::Fire(1, true, true, true, true, true).ID: return 1472; + case Fire::Fire(1, true, true, true, true, false).ID: return 1473; + case Fire::Fire(1, true, true, true, false, true).ID: return 1474; + case Fire::Fire(1, true, true, true, false, false).ID: return 1475; + case Fire::Fire(1, true, true, false, true, true).ID: return 1476; + case Fire::Fire(1, true, true, false, true, false).ID: return 1477; + case Fire::Fire(1, true, true, false, false, true).ID: return 1478; + case Fire::Fire(1, true, true, false, false, false).ID: return 1479; + case Fire::Fire(1, true, false, true, true, true).ID: return 1480; + case Fire::Fire(1, true, false, true, true, false).ID: return 1481; + case Fire::Fire(1, true, false, true, false, true).ID: return 1482; + case Fire::Fire(1, true, false, true, false, false).ID: return 1483; + case Fire::Fire(1, true, false, false, true, true).ID: return 1484; + case Fire::Fire(1, true, false, false, true, false).ID: return 1485; + case Fire::Fire(1, true, false, false, false, true).ID: return 1486; + case Fire::Fire(1, true, false, false, false, false).ID: return 1487; + case Fire::Fire(1, false, true, true, true, true).ID: return 1488; + case Fire::Fire(1, false, true, true, true, false).ID: return 1489; + case Fire::Fire(1, false, true, true, false, true).ID: return 1490; + case Fire::Fire(1, false, true, true, false, false).ID: return 1491; + case Fire::Fire(1, false, true, false, true, true).ID: return 1492; + case Fire::Fire(1, false, true, false, true, false).ID: return 1493; + case Fire::Fire(1, false, true, false, false, true).ID: return 1494; + case Fire::Fire(1, false, true, false, false, false).ID: return 1495; + case Fire::Fire(1, false, false, true, true, true).ID: return 1496; + case Fire::Fire(1, false, false, true, true, false).ID: return 1497; + case Fire::Fire(1, false, false, true, false, true).ID: return 1498; + case Fire::Fire(1, false, false, true, false, false).ID: return 1499; + case Fire::Fire(1, false, false, false, true, true).ID: return 1500; + case Fire::Fire(1, false, false, false, true, false).ID: return 1501; + case Fire::Fire(1, false, false, false, false, true).ID: return 1502; + case Fire::Fire(1, false, false, false, false, false).ID: return 1503; + case Fire::Fire(2, true, true, true, true, true).ID: return 1504; + case Fire::Fire(2, true, true, true, true, false).ID: return 1505; + case Fire::Fire(2, true, true, true, false, true).ID: return 1506; + case Fire::Fire(2, true, true, true, false, false).ID: return 1507; + case Fire::Fire(2, true, true, false, true, true).ID: return 1508; + case Fire::Fire(2, true, true, false, true, false).ID: return 1509; + case Fire::Fire(2, true, true, false, false, true).ID: return 1510; + case Fire::Fire(2, true, true, false, false, false).ID: return 1511; + case Fire::Fire(2, true, false, true, true, true).ID: return 1512; + case Fire::Fire(2, true, false, true, true, false).ID: return 1513; + case Fire::Fire(2, true, false, true, false, true).ID: return 1514; + case Fire::Fire(2, true, false, true, false, false).ID: return 1515; + case Fire::Fire(2, true, false, false, true, true).ID: return 1516; + case Fire::Fire(2, true, false, false, true, false).ID: return 1517; + case Fire::Fire(2, true, false, false, false, true).ID: return 1518; + case Fire::Fire(2, true, false, false, false, false).ID: return 1519; + case Fire::Fire(2, false, true, true, true, true).ID: return 1520; + case Fire::Fire(2, false, true, true, true, false).ID: return 1521; + case Fire::Fire(2, false, true, true, false, true).ID: return 1522; + case Fire::Fire(2, false, true, true, false, false).ID: return 1523; + case Fire::Fire(2, false, true, false, true, true).ID: return 1524; + case Fire::Fire(2, false, true, false, true, false).ID: return 1525; + case Fire::Fire(2, false, true, false, false, true).ID: return 1526; + case Fire::Fire(2, false, true, false, false, false).ID: return 1527; + case Fire::Fire(2, false, false, true, true, true).ID: return 1528; + case Fire::Fire(2, false, false, true, true, false).ID: return 1529; + case Fire::Fire(2, false, false, true, false, true).ID: return 1530; + case Fire::Fire(2, false, false, true, false, false).ID: return 1531; + case Fire::Fire(2, false, false, false, true, true).ID: return 1532; + case Fire::Fire(2, false, false, false, true, false).ID: return 1533; + case Fire::Fire(2, false, false, false, false, true).ID: return 1534; + case Fire::Fire(2, false, false, false, false, false).ID: return 1535; + case Fire::Fire(3, true, true, true, true, true).ID: return 1536; + case Fire::Fire(3, true, true, true, true, false).ID: return 1537; + case Fire::Fire(3, true, true, true, false, true).ID: return 1538; + case Fire::Fire(3, true, true, true, false, false).ID: return 1539; + case Fire::Fire(3, true, true, false, true, true).ID: return 1540; + case Fire::Fire(3, true, true, false, true, false).ID: return 1541; + case Fire::Fire(3, true, true, false, false, true).ID: return 1542; + case Fire::Fire(3, true, true, false, false, false).ID: return 1543; + case Fire::Fire(3, true, false, true, true, true).ID: return 1544; + case Fire::Fire(3, true, false, true, true, false).ID: return 1545; + case Fire::Fire(3, true, false, true, false, true).ID: return 1546; + case Fire::Fire(3, true, false, true, false, false).ID: return 1547; + case Fire::Fire(3, true, false, false, true, true).ID: return 1548; + case Fire::Fire(3, true, false, false, true, false).ID: return 1549; + case Fire::Fire(3, true, false, false, false, true).ID: return 1550; + case Fire::Fire(3, true, false, false, false, false).ID: return 1551; + case Fire::Fire(3, false, true, true, true, true).ID: return 1552; + case Fire::Fire(3, false, true, true, true, false).ID: return 1553; + case Fire::Fire(3, false, true, true, false, true).ID: return 1554; + case Fire::Fire(3, false, true, true, false, false).ID: return 1555; + case Fire::Fire(3, false, true, false, true, true).ID: return 1556; + case Fire::Fire(3, false, true, false, true, false).ID: return 1557; + case Fire::Fire(3, false, true, false, false, true).ID: return 1558; + case Fire::Fire(3, false, true, false, false, false).ID: return 1559; + case Fire::Fire(3, false, false, true, true, true).ID: return 1560; + case Fire::Fire(3, false, false, true, true, false).ID: return 1561; + case Fire::Fire(3, false, false, true, false, true).ID: return 1562; + case Fire::Fire(3, false, false, true, false, false).ID: return 1563; + case Fire::Fire(3, false, false, false, true, true).ID: return 1564; + case Fire::Fire(3, false, false, false, true, false).ID: return 1565; + case Fire::Fire(3, false, false, false, false, true).ID: return 1566; + case Fire::Fire(3, false, false, false, false, false).ID: return 1567; + case Fire::Fire(4, true, true, true, true, true).ID: return 1568; + case Fire::Fire(4, true, true, true, true, false).ID: return 1569; + case Fire::Fire(4, true, true, true, false, true).ID: return 1570; + case Fire::Fire(4, true, true, true, false, false).ID: return 1571; + case Fire::Fire(4, true, true, false, true, true).ID: return 1572; + case Fire::Fire(4, true, true, false, true, false).ID: return 1573; + case Fire::Fire(4, true, true, false, false, true).ID: return 1574; + case Fire::Fire(4, true, true, false, false, false).ID: return 1575; + case Fire::Fire(4, true, false, true, true, true).ID: return 1576; + case Fire::Fire(4, true, false, true, true, false).ID: return 1577; + case Fire::Fire(4, true, false, true, false, true).ID: return 1578; + case Fire::Fire(4, true, false, true, false, false).ID: return 1579; + case Fire::Fire(4, true, false, false, true, true).ID: return 1580; + case Fire::Fire(4, true, false, false, true, false).ID: return 1581; + case Fire::Fire(4, true, false, false, false, true).ID: return 1582; + case Fire::Fire(4, true, false, false, false, false).ID: return 1583; + case Fire::Fire(4, false, true, true, true, true).ID: return 1584; + case Fire::Fire(4, false, true, true, true, false).ID: return 1585; + case Fire::Fire(4, false, true, true, false, true).ID: return 1586; + case Fire::Fire(4, false, true, true, false, false).ID: return 1587; + case Fire::Fire(4, false, true, false, true, true).ID: return 1588; + case Fire::Fire(4, false, true, false, true, false).ID: return 1589; + case Fire::Fire(4, false, true, false, false, true).ID: return 1590; + case Fire::Fire(4, false, true, false, false, false).ID: return 1591; + case Fire::Fire(4, false, false, true, true, true).ID: return 1592; + case Fire::Fire(4, false, false, true, true, false).ID: return 1593; + case Fire::Fire(4, false, false, true, false, true).ID: return 1594; + case Fire::Fire(4, false, false, true, false, false).ID: return 1595; + case Fire::Fire(4, false, false, false, true, true).ID: return 1596; + case Fire::Fire(4, false, false, false, true, false).ID: return 1597; + case Fire::Fire(4, false, false, false, false, true).ID: return 1598; + case Fire::Fire(4, false, false, false, false, false).ID: return 1599; + case Fire::Fire(5, true, true, true, true, true).ID: return 1600; + case Fire::Fire(5, true, true, true, true, false).ID: return 1601; + case Fire::Fire(5, true, true, true, false, true).ID: return 1602; + case Fire::Fire(5, true, true, true, false, false).ID: return 1603; + case Fire::Fire(5, true, true, false, true, true).ID: return 1604; + case Fire::Fire(5, true, true, false, true, false).ID: return 1605; + case Fire::Fire(5, true, true, false, false, true).ID: return 1606; + case Fire::Fire(5, true, true, false, false, false).ID: return 1607; + case Fire::Fire(5, true, false, true, true, true).ID: return 1608; + case Fire::Fire(5, true, false, true, true, false).ID: return 1609; + case Fire::Fire(5, true, false, true, false, true).ID: return 1610; + case Fire::Fire(5, true, false, true, false, false).ID: return 1611; + case Fire::Fire(5, true, false, false, true, true).ID: return 1612; + case Fire::Fire(5, true, false, false, true, false).ID: return 1613; + case Fire::Fire(5, true, false, false, false, true).ID: return 1614; + case Fire::Fire(5, true, false, false, false, false).ID: return 1615; + case Fire::Fire(5, false, true, true, true, true).ID: return 1616; + case Fire::Fire(5, false, true, true, true, false).ID: return 1617; + case Fire::Fire(5, false, true, true, false, true).ID: return 1618; + case Fire::Fire(5, false, true, true, false, false).ID: return 1619; + case Fire::Fire(5, false, true, false, true, true).ID: return 1620; + case Fire::Fire(5, false, true, false, true, false).ID: return 1621; + case Fire::Fire(5, false, true, false, false, true).ID: return 1622; + case Fire::Fire(5, false, true, false, false, false).ID: return 1623; + case Fire::Fire(5, false, false, true, true, true).ID: return 1624; + case Fire::Fire(5, false, false, true, true, false).ID: return 1625; + case Fire::Fire(5, false, false, true, false, true).ID: return 1626; + case Fire::Fire(5, false, false, true, false, false).ID: return 1627; + case Fire::Fire(5, false, false, false, true, true).ID: return 1628; + case Fire::Fire(5, false, false, false, true, false).ID: return 1629; + case Fire::Fire(5, false, false, false, false, true).ID: return 1630; + case Fire::Fire(5, false, false, false, false, false).ID: return 1631; + case Fire::Fire(6, true, true, true, true, true).ID: return 1632; + case Fire::Fire(6, true, true, true, true, false).ID: return 1633; + case Fire::Fire(6, true, true, true, false, true).ID: return 1634; + case Fire::Fire(6, true, true, true, false, false).ID: return 1635; + case Fire::Fire(6, true, true, false, true, true).ID: return 1636; + case Fire::Fire(6, true, true, false, true, false).ID: return 1637; + case Fire::Fire(6, true, true, false, false, true).ID: return 1638; + case Fire::Fire(6, true, true, false, false, false).ID: return 1639; + case Fire::Fire(6, true, false, true, true, true).ID: return 1640; + case Fire::Fire(6, true, false, true, true, false).ID: return 1641; + case Fire::Fire(6, true, false, true, false, true).ID: return 1642; + case Fire::Fire(6, true, false, true, false, false).ID: return 1643; + case Fire::Fire(6, true, false, false, true, true).ID: return 1644; + case Fire::Fire(6, true, false, false, true, false).ID: return 1645; + case Fire::Fire(6, true, false, false, false, true).ID: return 1646; + case Fire::Fire(6, true, false, false, false, false).ID: return 1647; + case Fire::Fire(6, false, true, true, true, true).ID: return 1648; + case Fire::Fire(6, false, true, true, true, false).ID: return 1649; + case Fire::Fire(6, false, true, true, false, true).ID: return 1650; + case Fire::Fire(6, false, true, true, false, false).ID: return 1651; + case Fire::Fire(6, false, true, false, true, true).ID: return 1652; + case Fire::Fire(6, false, true, false, true, false).ID: return 1653; + case Fire::Fire(6, false, true, false, false, true).ID: return 1654; + case Fire::Fire(6, false, true, false, false, false).ID: return 1655; + case Fire::Fire(6, false, false, true, true, true).ID: return 1656; + case Fire::Fire(6, false, false, true, true, false).ID: return 1657; + case Fire::Fire(6, false, false, true, false, true).ID: return 1658; + case Fire::Fire(6, false, false, true, false, false).ID: return 1659; + case Fire::Fire(6, false, false, false, true, true).ID: return 1660; + case Fire::Fire(6, false, false, false, true, false).ID: return 1661; + case Fire::Fire(6, false, false, false, false, true).ID: return 1662; + case Fire::Fire(6, false, false, false, false, false).ID: return 1663; + case Fire::Fire(7, true, true, true, true, true).ID: return 1664; + case Fire::Fire(7, true, true, true, true, false).ID: return 1665; + case Fire::Fire(7, true, true, true, false, true).ID: return 1666; + case Fire::Fire(7, true, true, true, false, false).ID: return 1667; + case Fire::Fire(7, true, true, false, true, true).ID: return 1668; + case Fire::Fire(7, true, true, false, true, false).ID: return 1669; + case Fire::Fire(7, true, true, false, false, true).ID: return 1670; + case Fire::Fire(7, true, true, false, false, false).ID: return 1671; + case Fire::Fire(7, true, false, true, true, true).ID: return 1672; + case Fire::Fire(7, true, false, true, true, false).ID: return 1673; + case Fire::Fire(7, true, false, true, false, true).ID: return 1674; + case Fire::Fire(7, true, false, true, false, false).ID: return 1675; + case Fire::Fire(7, true, false, false, true, true).ID: return 1676; + case Fire::Fire(7, true, false, false, true, false).ID: return 1677; + case Fire::Fire(7, true, false, false, false, true).ID: return 1678; + case Fire::Fire(7, true, false, false, false, false).ID: return 1679; + case Fire::Fire(7, false, true, true, true, true).ID: return 1680; + case Fire::Fire(7, false, true, true, true, false).ID: return 1681; + case Fire::Fire(7, false, true, true, false, true).ID: return 1682; + case Fire::Fire(7, false, true, true, false, false).ID: return 1683; + case Fire::Fire(7, false, true, false, true, true).ID: return 1684; + case Fire::Fire(7, false, true, false, true, false).ID: return 1685; + case Fire::Fire(7, false, true, false, false, true).ID: return 1686; + case Fire::Fire(7, false, true, false, false, false).ID: return 1687; + case Fire::Fire(7, false, false, true, true, true).ID: return 1688; + case Fire::Fire(7, false, false, true, true, false).ID: return 1689; + case Fire::Fire(7, false, false, true, false, true).ID: return 1690; + case Fire::Fire(7, false, false, true, false, false).ID: return 1691; + case Fire::Fire(7, false, false, false, true, true).ID: return 1692; + case Fire::Fire(7, false, false, false, true, false).ID: return 1693; + case Fire::Fire(7, false, false, false, false, true).ID: return 1694; + case Fire::Fire(7, false, false, false, false, false).ID: return 1695; + case Fire::Fire(8, true, true, true, true, true).ID: return 1696; + case Fire::Fire(8, true, true, true, true, false).ID: return 1697; + case Fire::Fire(8, true, true, true, false, true).ID: return 1698; + case Fire::Fire(8, true, true, true, false, false).ID: return 1699; + case Fire::Fire(8, true, true, false, true, true).ID: return 1700; + case Fire::Fire(8, true, true, false, true, false).ID: return 1701; + case Fire::Fire(8, true, true, false, false, true).ID: return 1702; + case Fire::Fire(8, true, true, false, false, false).ID: return 1703; + case Fire::Fire(8, true, false, true, true, true).ID: return 1704; + case Fire::Fire(8, true, false, true, true, false).ID: return 1705; + case Fire::Fire(8, true, false, true, false, true).ID: return 1706; + case Fire::Fire(8, true, false, true, false, false).ID: return 1707; + case Fire::Fire(8, true, false, false, true, true).ID: return 1708; + case Fire::Fire(8, true, false, false, true, false).ID: return 1709; + case Fire::Fire(8, true, false, false, false, true).ID: return 1710; + case Fire::Fire(8, true, false, false, false, false).ID: return 1711; + case Fire::Fire(8, false, true, true, true, true).ID: return 1712; + case Fire::Fire(8, false, true, true, true, false).ID: return 1713; + case Fire::Fire(8, false, true, true, false, true).ID: return 1714; + case Fire::Fire(8, false, true, true, false, false).ID: return 1715; + case Fire::Fire(8, false, true, false, true, true).ID: return 1716; + case Fire::Fire(8, false, true, false, true, false).ID: return 1717; + case Fire::Fire(8, false, true, false, false, true).ID: return 1718; + case Fire::Fire(8, false, true, false, false, false).ID: return 1719; + case Fire::Fire(8, false, false, true, true, true).ID: return 1720; + case Fire::Fire(8, false, false, true, true, false).ID: return 1721; + case Fire::Fire(8, false, false, true, false, true).ID: return 1722; + case Fire::Fire(8, false, false, true, false, false).ID: return 1723; + case Fire::Fire(8, false, false, false, true, true).ID: return 1724; + case Fire::Fire(8, false, false, false, true, false).ID: return 1725; + case Fire::Fire(8, false, false, false, false, true).ID: return 1726; + case Fire::Fire(8, false, false, false, false, false).ID: return 1727; + case Fire::Fire(9, true, true, true, true, true).ID: return 1728; + case Fire::Fire(9, true, true, true, true, false).ID: return 1729; + case Fire::Fire(9, true, true, true, false, true).ID: return 1730; + case Fire::Fire(9, true, true, true, false, false).ID: return 1731; + case Fire::Fire(9, true, true, false, true, true).ID: return 1732; + case Fire::Fire(9, true, true, false, true, false).ID: return 1733; + case Fire::Fire(9, true, true, false, false, true).ID: return 1734; + case Fire::Fire(9, true, true, false, false, false).ID: return 1735; + case Fire::Fire(9, true, false, true, true, true).ID: return 1736; + case Fire::Fire(9, true, false, true, true, false).ID: return 1737; + case Fire::Fire(9, true, false, true, false, true).ID: return 1738; + case Fire::Fire(9, true, false, true, false, false).ID: return 1739; + case Fire::Fire(9, true, false, false, true, true).ID: return 1740; + case Fire::Fire(9, true, false, false, true, false).ID: return 1741; + case Fire::Fire(9, true, false, false, false, true).ID: return 1742; + case Fire::Fire(9, true, false, false, false, false).ID: return 1743; + case Fire::Fire(9, false, true, true, true, true).ID: return 1744; + case Fire::Fire(9, false, true, true, true, false).ID: return 1745; + case Fire::Fire(9, false, true, true, false, true).ID: return 1746; + case Fire::Fire(9, false, true, true, false, false).ID: return 1747; + case Fire::Fire(9, false, true, false, true, true).ID: return 1748; + case Fire::Fire(9, false, true, false, true, false).ID: return 1749; + case Fire::Fire(9, false, true, false, false, true).ID: return 1750; + case Fire::Fire(9, false, true, false, false, false).ID: return 1751; + case Fire::Fire(9, false, false, true, true, true).ID: return 1752; + case Fire::Fire(9, false, false, true, true, false).ID: return 1753; + case Fire::Fire(9, false, false, true, false, true).ID: return 1754; + case Fire::Fire(9, false, false, true, false, false).ID: return 1755; + case Fire::Fire(9, false, false, false, true, true).ID: return 1756; + case Fire::Fire(9, false, false, false, true, false).ID: return 1757; + case Fire::Fire(9, false, false, false, false, true).ID: return 1758; + case Fire::Fire(9, false, false, false, false, false).ID: return 1759; + case Fire::Fire(10, true, true, true, true, true).ID: return 1760; + case Fire::Fire(10, true, true, true, true, false).ID: return 1761; + case Fire::Fire(10, true, true, true, false, true).ID: return 1762; + case Fire::Fire(10, true, true, true, false, false).ID: return 1763; + case Fire::Fire(10, true, true, false, true, true).ID: return 1764; + case Fire::Fire(10, true, true, false, true, false).ID: return 1765; + case Fire::Fire(10, true, true, false, false, true).ID: return 1766; + case Fire::Fire(10, true, true, false, false, false).ID: return 1767; + case Fire::Fire(10, true, false, true, true, true).ID: return 1768; + case Fire::Fire(10, true, false, true, true, false).ID: return 1769; + case Fire::Fire(10, true, false, true, false, true).ID: return 1770; + case Fire::Fire(10, true, false, true, false, false).ID: return 1771; + case Fire::Fire(10, true, false, false, true, true).ID: return 1772; + case Fire::Fire(10, true, false, false, true, false).ID: return 1773; + case Fire::Fire(10, true, false, false, false, true).ID: return 1774; + case Fire::Fire(10, true, false, false, false, false).ID: return 1775; + case Fire::Fire(10, false, true, true, true, true).ID: return 1776; + case Fire::Fire(10, false, true, true, true, false).ID: return 1777; + case Fire::Fire(10, false, true, true, false, true).ID: return 1778; + case Fire::Fire(10, false, true, true, false, false).ID: return 1779; + case Fire::Fire(10, false, true, false, true, true).ID: return 1780; + case Fire::Fire(10, false, true, false, true, false).ID: return 1781; + case Fire::Fire(10, false, true, false, false, true).ID: return 1782; + case Fire::Fire(10, false, true, false, false, false).ID: return 1783; + case Fire::Fire(10, false, false, true, true, true).ID: return 1784; + case Fire::Fire(10, false, false, true, true, false).ID: return 1785; + case Fire::Fire(10, false, false, true, false, true).ID: return 1786; + case Fire::Fire(10, false, false, true, false, false).ID: return 1787; + case Fire::Fire(10, false, false, false, true, true).ID: return 1788; + case Fire::Fire(10, false, false, false, true, false).ID: return 1789; + case Fire::Fire(10, false, false, false, false, true).ID: return 1790; + case Fire::Fire(10, false, false, false, false, false).ID: return 1791; + case Fire::Fire(11, true, true, true, true, true).ID: return 1792; + case Fire::Fire(11, true, true, true, true, false).ID: return 1793; + case Fire::Fire(11, true, true, true, false, true).ID: return 1794; + case Fire::Fire(11, true, true, true, false, false).ID: return 1795; + case Fire::Fire(11, true, true, false, true, true).ID: return 1796; + case Fire::Fire(11, true, true, false, true, false).ID: return 1797; + case Fire::Fire(11, true, true, false, false, true).ID: return 1798; + case Fire::Fire(11, true, true, false, false, false).ID: return 1799; + case Fire::Fire(11, true, false, true, true, true).ID: return 1800; + case Fire::Fire(11, true, false, true, true, false).ID: return 1801; + case Fire::Fire(11, true, false, true, false, true).ID: return 1802; + case Fire::Fire(11, true, false, true, false, false).ID: return 1803; + case Fire::Fire(11, true, false, false, true, true).ID: return 1804; + case Fire::Fire(11, true, false, false, true, false).ID: return 1805; + case Fire::Fire(11, true, false, false, false, true).ID: return 1806; + case Fire::Fire(11, true, false, false, false, false).ID: return 1807; + case Fire::Fire(11, false, true, true, true, true).ID: return 1808; + case Fire::Fire(11, false, true, true, true, false).ID: return 1809; + case Fire::Fire(11, false, true, true, false, true).ID: return 1810; + case Fire::Fire(11, false, true, true, false, false).ID: return 1811; + case Fire::Fire(11, false, true, false, true, true).ID: return 1812; + case Fire::Fire(11, false, true, false, true, false).ID: return 1813; + case Fire::Fire(11, false, true, false, false, true).ID: return 1814; + case Fire::Fire(11, false, true, false, false, false).ID: return 1815; + case Fire::Fire(11, false, false, true, true, true).ID: return 1816; + case Fire::Fire(11, false, false, true, true, false).ID: return 1817; + case Fire::Fire(11, false, false, true, false, true).ID: return 1818; + case Fire::Fire(11, false, false, true, false, false).ID: return 1819; + case Fire::Fire(11, false, false, false, true, true).ID: return 1820; + case Fire::Fire(11, false, false, false, true, false).ID: return 1821; + case Fire::Fire(11, false, false, false, false, true).ID: return 1822; + case Fire::Fire(11, false, false, false, false, false).ID: return 1823; + case Fire::Fire(12, true, true, true, true, true).ID: return 1824; + case Fire::Fire(12, true, true, true, true, false).ID: return 1825; + case Fire::Fire(12, true, true, true, false, true).ID: return 1826; + case Fire::Fire(12, true, true, true, false, false).ID: return 1827; + case Fire::Fire(12, true, true, false, true, true).ID: return 1828; + case Fire::Fire(12, true, true, false, true, false).ID: return 1829; + case Fire::Fire(12, true, true, false, false, true).ID: return 1830; + case Fire::Fire(12, true, true, false, false, false).ID: return 1831; + case Fire::Fire(12, true, false, true, true, true).ID: return 1832; + case Fire::Fire(12, true, false, true, true, false).ID: return 1833; + case Fire::Fire(12, true, false, true, false, true).ID: return 1834; + case Fire::Fire(12, true, false, true, false, false).ID: return 1835; + case Fire::Fire(12, true, false, false, true, true).ID: return 1836; + case Fire::Fire(12, true, false, false, true, false).ID: return 1837; + case Fire::Fire(12, true, false, false, false, true).ID: return 1838; + case Fire::Fire(12, true, false, false, false, false).ID: return 1839; + case Fire::Fire(12, false, true, true, true, true).ID: return 1840; + case Fire::Fire(12, false, true, true, true, false).ID: return 1841; + case Fire::Fire(12, false, true, true, false, true).ID: return 1842; + case Fire::Fire(12, false, true, true, false, false).ID: return 1843; + case Fire::Fire(12, false, true, false, true, true).ID: return 1844; + case Fire::Fire(12, false, true, false, true, false).ID: return 1845; + case Fire::Fire(12, false, true, false, false, true).ID: return 1846; + case Fire::Fire(12, false, true, false, false, false).ID: return 1847; + case Fire::Fire(12, false, false, true, true, true).ID: return 1848; + case Fire::Fire(12, false, false, true, true, false).ID: return 1849; + case Fire::Fire(12, false, false, true, false, true).ID: return 1850; + case Fire::Fire(12, false, false, true, false, false).ID: return 1851; + case Fire::Fire(12, false, false, false, true, true).ID: return 1852; + case Fire::Fire(12, false, false, false, true, false).ID: return 1853; + case Fire::Fire(12, false, false, false, false, true).ID: return 1854; + case Fire::Fire(12, false, false, false, false, false).ID: return 1855; + case Fire::Fire(13, true, true, true, true, true).ID: return 1856; + case Fire::Fire(13, true, true, true, true, false).ID: return 1857; + case Fire::Fire(13, true, true, true, false, true).ID: return 1858; + case Fire::Fire(13, true, true, true, false, false).ID: return 1859; + case Fire::Fire(13, true, true, false, true, true).ID: return 1860; + case Fire::Fire(13, true, true, false, true, false).ID: return 1861; + case Fire::Fire(13, true, true, false, false, true).ID: return 1862; + case Fire::Fire(13, true, true, false, false, false).ID: return 1863; + case Fire::Fire(13, true, false, true, true, true).ID: return 1864; + case Fire::Fire(13, true, false, true, true, false).ID: return 1865; + case Fire::Fire(13, true, false, true, false, true).ID: return 1866; + case Fire::Fire(13, true, false, true, false, false).ID: return 1867; + case Fire::Fire(13, true, false, false, true, true).ID: return 1868; + case Fire::Fire(13, true, false, false, true, false).ID: return 1869; + case Fire::Fire(13, true, false, false, false, true).ID: return 1870; + case Fire::Fire(13, true, false, false, false, false).ID: return 1871; + case Fire::Fire(13, false, true, true, true, true).ID: return 1872; + case Fire::Fire(13, false, true, true, true, false).ID: return 1873; + case Fire::Fire(13, false, true, true, false, true).ID: return 1874; + case Fire::Fire(13, false, true, true, false, false).ID: return 1875; + case Fire::Fire(13, false, true, false, true, true).ID: return 1876; + case Fire::Fire(13, false, true, false, true, false).ID: return 1877; + case Fire::Fire(13, false, true, false, false, true).ID: return 1878; + case Fire::Fire(13, false, true, false, false, false).ID: return 1879; + case Fire::Fire(13, false, false, true, true, true).ID: return 1880; + case Fire::Fire(13, false, false, true, true, false).ID: return 1881; + case Fire::Fire(13, false, false, true, false, true).ID: return 1882; + case Fire::Fire(13, false, false, true, false, false).ID: return 1883; + case Fire::Fire(13, false, false, false, true, true).ID: return 1884; + case Fire::Fire(13, false, false, false, true, false).ID: return 1885; + case Fire::Fire(13, false, false, false, false, true).ID: return 1886; + case Fire::Fire(13, false, false, false, false, false).ID: return 1887; + case Fire::Fire(14, true, true, true, true, true).ID: return 1888; + case Fire::Fire(14, true, true, true, true, false).ID: return 1889; + case Fire::Fire(14, true, true, true, false, true).ID: return 1890; + case Fire::Fire(14, true, true, true, false, false).ID: return 1891; + case Fire::Fire(14, true, true, false, true, true).ID: return 1892; + case Fire::Fire(14, true, true, false, true, false).ID: return 1893; + case Fire::Fire(14, true, true, false, false, true).ID: return 1894; + case Fire::Fire(14, true, true, false, false, false).ID: return 1895; + case Fire::Fire(14, true, false, true, true, true).ID: return 1896; + case Fire::Fire(14, true, false, true, true, false).ID: return 1897; + case Fire::Fire(14, true, false, true, false, true).ID: return 1898; + case Fire::Fire(14, true, false, true, false, false).ID: return 1899; + case Fire::Fire(14, true, false, false, true, true).ID: return 1900; + case Fire::Fire(14, true, false, false, true, false).ID: return 1901; + case Fire::Fire(14, true, false, false, false, true).ID: return 1902; + case Fire::Fire(14, true, false, false, false, false).ID: return 1903; + case Fire::Fire(14, false, true, true, true, true).ID: return 1904; + case Fire::Fire(14, false, true, true, true, false).ID: return 1905; + case Fire::Fire(14, false, true, true, false, true).ID: return 1906; + case Fire::Fire(14, false, true, true, false, false).ID: return 1907; + case Fire::Fire(14, false, true, false, true, true).ID: return 1908; + case Fire::Fire(14, false, true, false, true, false).ID: return 1909; + case Fire::Fire(14, false, true, false, false, true).ID: return 1910; + case Fire::Fire(14, false, true, false, false, false).ID: return 1911; + case Fire::Fire(14, false, false, true, true, true).ID: return 1912; + case Fire::Fire(14, false, false, true, true, false).ID: return 1913; + case Fire::Fire(14, false, false, true, false, true).ID: return 1914; + case Fire::Fire(14, false, false, true, false, false).ID: return 1915; + case Fire::Fire(14, false, false, false, true, true).ID: return 1916; + case Fire::Fire(14, false, false, false, true, false).ID: return 1917; + case Fire::Fire(14, false, false, false, false, true).ID: return 1918; + case Fire::Fire(14, false, false, false, false, false).ID: return 1919; + case Fire::Fire(15, true, true, true, true, true).ID: return 1920; + case Fire::Fire(15, true, true, true, true, false).ID: return 1921; + case Fire::Fire(15, true, true, true, false, true).ID: return 1922; + case Fire::Fire(15, true, true, true, false, false).ID: return 1923; + case Fire::Fire(15, true, true, false, true, true).ID: return 1924; + case Fire::Fire(15, true, true, false, true, false).ID: return 1925; + case Fire::Fire(15, true, true, false, false, true).ID: return 1926; + case Fire::Fire(15, true, true, false, false, false).ID: return 1927; + case Fire::Fire(15, true, false, true, true, true).ID: return 1928; + case Fire::Fire(15, true, false, true, true, false).ID: return 1929; + case Fire::Fire(15, true, false, true, false, true).ID: return 1930; + case Fire::Fire(15, true, false, true, false, false).ID: return 1931; + case Fire::Fire(15, true, false, false, true, true).ID: return 1932; + case Fire::Fire(15, true, false, false, true, false).ID: return 1933; + case Fire::Fire(15, true, false, false, false, true).ID: return 1934; + case Fire::Fire(15, true, false, false, false, false).ID: return 1935; + case Fire::Fire(15, false, true, true, true, true).ID: return 1936; + case Fire::Fire(15, false, true, true, true, false).ID: return 1937; + case Fire::Fire(15, false, true, true, false, true).ID: return 1938; + case Fire::Fire(15, false, true, true, false, false).ID: return 1939; + case Fire::Fire(15, false, true, false, true, true).ID: return 1940; + case Fire::Fire(15, false, true, false, true, false).ID: return 1941; + case Fire::Fire(15, false, true, false, false, true).ID: return 1942; + case Fire::Fire(15, false, true, false, false, false).ID: return 1943; + case Fire::Fire(15, false, false, true, true, true).ID: return 1944; + case Fire::Fire(15, false, false, true, true, false).ID: return 1945; + case Fire::Fire(15, false, false, true, false, true).ID: return 1946; + case Fire::Fire(15, false, false, true, false, false).ID: return 1947; + case Fire::Fire(15, false, false, false, true, true).ID: return 1948; + case Fire::Fire(15, false, false, false, true, false).ID: return 1949; + case Fire::Fire(15, false, false, false, false, true).ID: return 1950; + case Fire::Fire(15, false, false, false, false, false).ID: return 1951; + case FireCoral::FireCoral().ID: return 9537; + case FireCoralBlock::FireCoralBlock().ID: return 9518; + case FireCoralFan::FireCoralFan().ID: return 9557; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9625; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9627; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9629; + case FireCoralWallFan::FireCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9631; + case FletchingTable::FletchingTable().ID: return 14820; + case FlowerPot::FlowerPot().ID: return 6305; + case FrostedIce::FrostedIce(0).ID: return 9249; + case FrostedIce::FrostedIce(1).ID: return 9250; + case FrostedIce::FrostedIce(2).ID: return 9251; + case FrostedIce::FrostedIce(3).ID: return 9252; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3373; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3374; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3375; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3376; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true).ID: return 3377; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false).ID: return 3378; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true).ID: return 3379; + case Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false).ID: return 3380; + case GildedBlackstone::GildedBlackstone().ID: return 16664; + case Glass::Glass().ID: return 231; + case GlassPane::GlassPane(true, true, true, true).ID: return 4733; + case GlassPane::GlassPane(true, true, true, false).ID: return 4734; + case GlassPane::GlassPane(true, true, false, true).ID: return 4737; + case GlassPane::GlassPane(true, true, false, false).ID: return 4738; + case GlassPane::GlassPane(true, false, true, true).ID: return 4741; + case GlassPane::GlassPane(true, false, true, false).ID: return 4742; + case GlassPane::GlassPane(true, false, false, true).ID: return 4745; + case GlassPane::GlassPane(true, false, false, false).ID: return 4746; + case GlassPane::GlassPane(false, true, true, true).ID: return 4749; + case GlassPane::GlassPane(false, true, true, false).ID: return 4750; + case GlassPane::GlassPane(false, true, false, true).ID: return 4753; + case GlassPane::GlassPane(false, true, false, false).ID: return 4754; + case GlassPane::GlassPane(false, false, true, true).ID: return 4757; + case GlassPane::GlassPane(false, false, true, false).ID: return 4758; + case GlassPane::GlassPane(false, false, false, true).ID: return 4761; + case GlassPane::GlassPane(false, false, false, false).ID: return 4762; + case Glowstone::Glowstone().ID: return 4013; + case GoldBlock::GoldBlock().ID: return 1427; + case GoldOre::GoldOre().ID: return 69; + case Granite::Granite().ID: return 2; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Top).ID: return 10838; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Bottom).ID: return 10840; + case GraniteSlab::GraniteSlab(GraniteSlab::Type::Double).ID: return 10842; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 10390; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 10392; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 10394; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 10396; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 10398; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 10400; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 10402; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 10404; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 10406; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 10408; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 10410; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 10412; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 10414; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 10416; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 10418; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 10420; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 10422; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 10424; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 10426; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 10428; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 10430; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 10432; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 10434; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 10436; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 10438; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 10440; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 10442; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 10444; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 10446; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XM, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 10448; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::Straight + ) + .ID: + return 10450; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 10452; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 10454; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 10456; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Top, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 10458; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::Straight + ) + .ID: + return 10460; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerLeft + ) + .ID: + return 10462; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::InnerRight + ) + .ID: + return 10464; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterLeft + ) + .ID: + return 10466; + case GraniteStairs::GraniteStairs( + eBlockFace::BLOCK_FACE_XP, + GraniteStairs::Half::Bottom, + GraniteStairs::Shape::OuterRight + ) + .ID: + return 10468; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12166; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12167; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12168; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12172; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12173; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12174; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12178; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12179; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12180; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12184; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12185; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12186; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12190; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12191; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12192; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12196; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12197; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12198; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12202; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12203; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12204; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12208; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12209; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12210; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12214; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12215; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12216; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12220; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12221; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12222; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12226; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12227; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12228; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12232; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12233; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12234; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12238; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12239; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12240; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12244; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12245; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12246; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12250; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12251; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12252; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12256; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12257; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12258; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12262; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12263; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12264; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12268; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12269; + case GraniteWall::GraniteWall( + GraniteWall::East::None, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12270; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12274; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12275; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12276; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12280; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12281; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12282; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12286; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12287; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12288; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12292; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12293; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12294; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12298; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12299; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12300; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12304; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12305; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12306; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12310; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12311; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12312; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12316; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12317; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12318; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12322; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12323; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12324; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12328; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12329; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12330; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12334; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12335; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12336; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12340; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12341; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12342; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12346; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12347; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12348; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12352; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12353; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12354; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12358; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12359; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12360; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12364; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12365; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12366; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12370; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12371; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12372; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12376; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12377; + case GraniteWall::GraniteWall( + GraniteWall::East::Low, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12378; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12382; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12383; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12384; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12388; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12389; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12390; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12394; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12395; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12396; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12400; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12401; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12402; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12406; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12407; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12408; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12412; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12413; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::None, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12414; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12418; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12419; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12420; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12424; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12425; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12426; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12430; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12431; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12432; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12436; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12437; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12438; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12442; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12443; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12444; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12448; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12449; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Low, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12450; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::None + ) + .ID: + return 12454; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::Low + ) + .ID: + return 12455; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::None, + true, + GraniteWall::West::Tall + ) + .ID: + return 12456; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::None + ) + .ID: + return 12460; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::Low + ) + .ID: + return 12461; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::None, + false, + GraniteWall::West::Tall + ) + .ID: + return 12462; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::None + ) + .ID: + return 12466; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::Low + ) + .ID: + return 12467; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Low, + true, + GraniteWall::West::Tall + ) + .ID: + return 12468; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::None + ) + .ID: + return 12472; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::Low + ) + .ID: + return 12473; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Low, + false, + GraniteWall::West::Tall + ) + .ID: + return 12474; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::None + ) + .ID: + return 12478; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::Low + ) + .ID: + return 12479; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + true, + GraniteWall::West::Tall + ) + .ID: + return 12480; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::None + ) + .ID: + return 12484; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::Low + ) + .ID: + return 12485; + case GraniteWall::GraniteWall( + GraniteWall::East::Tall, + GraniteWall::North::Tall, + GraniteWall::South::Tall, + false, + GraniteWall::West::Tall + ) + .ID: + return 12486; + case Grass::Grass().ID: return 1342; + case GrassBlock::GrassBlock(true).ID: return 8; + case GrassBlock::GrassBlock(false).ID: return 9; + case GrassPath::GrassPath().ID: return 9223; + case Gravel::Gravel().ID: return 68; + case GrayBanner::GrayBanner(0).ID: return 8009; + case GrayBanner::GrayBanner(1).ID: return 8010; + case GrayBanner::GrayBanner(2).ID: return 8011; + case GrayBanner::GrayBanner(3).ID: return 8012; + case GrayBanner::GrayBanner(4).ID: return 8013; + case GrayBanner::GrayBanner(5).ID: return 8014; + case GrayBanner::GrayBanner(6).ID: return 8015; + case GrayBanner::GrayBanner(7).ID: return 8016; + case GrayBanner::GrayBanner(8).ID: return 8017; + case GrayBanner::GrayBanner(9).ID: return 8018; + case GrayBanner::GrayBanner(10).ID: return 8019; + case GrayBanner::GrayBanner(11).ID: return 8020; + case GrayBanner::GrayBanner(12).ID: return 8021; + case GrayBanner::GrayBanner(13).ID: return 8022; + case GrayBanner::GrayBanner(14).ID: return 8023; + case GrayBanner::GrayBanner(15).ID: return 8024; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Head).ID: return 1161; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, true, GrayBed::Part::Foot).ID: return 1162; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Head).ID: return 1163; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZM, false, GrayBed::Part::Foot).ID: return 1164; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Head).ID: return 1165; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, true, GrayBed::Part::Foot).ID: return 1166; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Head).ID: return 1167; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_ZP, false, GrayBed::Part::Foot).ID: return 1168; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Head).ID: return 1169; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, true, GrayBed::Part::Foot).ID: return 1170; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Head).ID: return 1171; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XM, false, GrayBed::Part::Foot).ID: return 1172; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Head).ID: return 1173; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, true, GrayBed::Part::Foot).ID: return 1174; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Head).ID: return 1175; + case GrayBed::GrayBed(eBlockFace::BLOCK_FACE_XP, false, GrayBed::Part::Foot).ID: return 1176; + case GrayCarpet::GrayCarpet().ID: return 7873; + case GrayConcrete::GrayConcrete().ID: return 9445; + case GrayConcretePowder::GrayConcretePowder().ID: return 9461; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9402; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9403; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9404; + case GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9405; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9320; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9321; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9322; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9323; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9324; + case GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9325; + case GrayStainedGlass::GrayStainedGlass().ID: return 4102; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, true).ID: return 7089; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, true, false).ID: return 7090; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, true).ID: return 7093; + case GrayStainedGlassPane::GrayStainedGlassPane(true, true, false, false).ID: return 7094; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, true).ID: return 7097; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, true, false).ID: return 7098; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, true).ID: return 7101; + case GrayStainedGlassPane::GrayStainedGlassPane(true, false, false, false).ID: return 7102; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, true).ID: return 7105; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, true, false).ID: return 7106; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, true).ID: return 7109; + case GrayStainedGlassPane::GrayStainedGlassPane(false, true, false, false).ID: return 7110; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, true).ID: return 7113; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, true, false).ID: return 7114; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, true).ID: return 7117; + case GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false).ID: return 7118; + case GrayTerracotta::GrayTerracotta().ID: return 6854; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8181; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8182; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8183; + case GrayWallBanner::GrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8184; + case GrayWool::GrayWool().ID: return 1391; + case GreenBanner::GreenBanner(0).ID: return 8105; + case GreenBanner::GreenBanner(1).ID: return 8106; + case GreenBanner::GreenBanner(2).ID: return 8107; + case GreenBanner::GreenBanner(3).ID: return 8108; + case GreenBanner::GreenBanner(4).ID: return 8109; + case GreenBanner::GreenBanner(5).ID: return 8110; + case GreenBanner::GreenBanner(6).ID: return 8111; + case GreenBanner::GreenBanner(7).ID: return 8112; + case GreenBanner::GreenBanner(8).ID: return 8113; + case GreenBanner::GreenBanner(9).ID: return 8114; + case GreenBanner::GreenBanner(10).ID: return 8115; + case GreenBanner::GreenBanner(11).ID: return 8116; + case GreenBanner::GreenBanner(12).ID: return 8117; + case GreenBanner::GreenBanner(13).ID: return 8118; + case GreenBanner::GreenBanner(14).ID: return 8119; + case GreenBanner::GreenBanner(15).ID: return 8120; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Head).ID: return 1257; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, true, GreenBed::Part::Foot).ID: return 1258; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Head).ID: return 1259; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZM, false, GreenBed::Part::Foot).ID: return 1260; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Head).ID: return 1261; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, true, GreenBed::Part::Foot).ID: return 1262; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Head).ID: return 1263; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_ZP, false, GreenBed::Part::Foot).ID: return 1264; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Head).ID: return 1265; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, true, GreenBed::Part::Foot).ID: return 1266; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Head).ID: return 1267; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XM, false, GreenBed::Part::Foot).ID: return 1268; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Head).ID: return 1269; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, true, GreenBed::Part::Foot).ID: return 1270; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Head).ID: return 1271; + case GreenBed::GreenBed(eBlockFace::BLOCK_FACE_XP, false, GreenBed::Part::Foot).ID: return 1272; + case GreenCarpet::GreenCarpet().ID: return 7879; + case GreenConcrete::GreenConcrete().ID: return 9451; + case GreenConcretePowder::GreenConcretePowder().ID: return 9467; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9426; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9427; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9428; + case GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9429; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9356; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9357; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9358; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9359; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9360; + case GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9361; + case GreenStainedGlass::GreenStainedGlass().ID: return 4108; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, true).ID: return 7281; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, true, false).ID: return 7282; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, true).ID: return 7285; + case GreenStainedGlassPane::GreenStainedGlassPane(true, true, false, false).ID: return 7286; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, true).ID: return 7289; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, true, false).ID: return 7290; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, true).ID: return 7293; + case GreenStainedGlassPane::GreenStainedGlassPane(true, false, false, false).ID: return 7294; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, true).ID: return 7297; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, true, false).ID: return 7298; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, true).ID: return 7301; + case GreenStainedGlassPane::GreenStainedGlassPane(false, true, false, false).ID: return 7302; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, true).ID: return 7305; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, true, false).ID: return 7306; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, true).ID: return 7309; + case GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false).ID: return 7310; + case GreenTerracotta::GreenTerracotta().ID: return 6860; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8205; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8206; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8207; + case GreenWallBanner::GreenWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8208; + case GreenWool::GreenWool().ID: return 1397; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZM).ID: return 14821; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_ZP).ID: return 14822; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XM).ID: return 14823; + case Grindstone::Grindstone(Grindstone::Face::Floor, eBlockFace::BLOCK_FACE_XP).ID: return 14824; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZM).ID: return 14825; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_ZP).ID: return 14826; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XM).ID: return 14827; + case Grindstone::Grindstone(Grindstone::Face::Wall, eBlockFace::BLOCK_FACE_XP).ID: return 14828; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM).ID: return 14829; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP).ID: return 14830; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XM).ID: return 14831; + case Grindstone::Grindstone(Grindstone::Face::Ceiling, eBlockFace::BLOCK_FACE_XP).ID: return 14832; + case HayBale::HayBale(HayBale::Axis::X).ID: return 7863; + case HayBale::HayBale(HayBale::Axis::Y).ID: return 7864; + case HayBale::HayBale(HayBale::Axis::Z).ID: return 7865; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0).ID: return 6662; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1).ID: return 6663; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2).ID: return 6664; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3).ID: return 6665; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4).ID: return 6666; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5).ID: return 6667; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6).ID: return 6668; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7).ID: return 6669; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8).ID: return 6670; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9).ID: return 6671; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10).ID: return 6672; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11).ID: return 6673; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12).ID: return 6674; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13).ID: return 6675; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14).ID: return 6676; + case HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15).ID: return 6677; + case HoneyBlock::HoneyBlock().ID: return 15824; + case HoneycombBlock::HoneycombBlock().ID: return 15825; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM).ID: return 6728; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM).ID: return 6729; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP).ID: return 6730; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM).ID: return 6731; + case Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP).ID: return 6732; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM).ID: return 6733; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM).ID: return 6734; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP).ID: return 6735; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM).ID: return 6736; + case Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP).ID: return 6737; + case HornCoral::HornCoral().ID: return 9539; + case HornCoralBlock::HornCoralBlock().ID: return 9519; + case HornCoralFan::HornCoralFan().ID: return 9559; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9633; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9635; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9637; + case HornCoralWallFan::HornCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9639; + case Ice::Ice().ID: return 3929; + case InfestedChiseledStoneBricks::InfestedChiseledStoneBricks().ID: return 4504; + case InfestedCobblestone::InfestedCobblestone().ID: return 4500; + case InfestedCrackedStoneBricks::InfestedCrackedStoneBricks().ID: return 4503; + case InfestedMossyStoneBricks::InfestedMossyStoneBricks().ID: return 4502; + case InfestedStone::InfestedStone().ID: return 4499; + case InfestedStoneBricks::InfestedStoneBricks().ID: return 4501; + case IronBars::IronBars(true, true, true, true).ID: return 4699; + case IronBars::IronBars(true, true, true, false).ID: return 4700; + case IronBars::IronBars(true, true, false, true).ID: return 4703; + case IronBars::IronBars(true, true, false, false).ID: return 4704; + case IronBars::IronBars(true, false, true, true).ID: return 4707; + case IronBars::IronBars(true, false, true, false).ID: return 4708; + case IronBars::IronBars(true, false, false, true).ID: return 4711; + case IronBars::IronBars(true, false, false, false).ID: return 4712; + case IronBars::IronBars(false, true, true, true).ID: return 4715; + case IronBars::IronBars(false, true, true, false).ID: return 4716; + case IronBars::IronBars(false, true, false, true).ID: return 4719; + case IronBars::IronBars(false, true, false, false).ID: return 4720; + case IronBars::IronBars(false, false, true, true).ID: return 4723; + case IronBars::IronBars(false, false, true, false).ID: return 4724; + case IronBars::IronBars(false, false, false, true).ID: return 4727; + case IronBars::IronBars(false, false, false, false).ID: return 4728; + case IronBlock::IronBlock().ID: return 1428; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3809; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3810; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3811; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3812; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3813; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3814; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3815; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3816; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3817; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3818; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3819; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3820; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3821; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3822; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3823; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3824; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3825; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3826; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3827; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3828; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3829; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3830; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3831; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3832; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3833; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3834; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3835; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3836; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3837; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3838; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3839; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3840; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3841; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3842; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3843; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3844; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3845; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3846; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3847; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3848; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3849; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3850; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3851; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3852; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3853; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3854; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3855; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3856; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, true).ID: + return 3857; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false) + .ID: + return 3858; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true) + .ID: + return 3859; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false) + .ID: + return 3860; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, true) + .ID: + return 3861; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, true, false) + .ID: + return 3862; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true) + .ID: + return 3863; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false) + .ID: + return 3864; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, true).ID: + return 3865; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, true, false) + .ID: + return 3866; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, true) + .ID: + return 3867; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Left, false, false) + .ID: + return 3868; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, true) + .ID: + return 3869; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false) + .ID: + return 3870; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, true) + .ID: + return 3871; + case IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false) + .ID: + return 3872; + case IronOre::IronOre().ID: return 70; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, true).ID: return 7538; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false).ID: + return 7540; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, true).ID: + return 7542; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false).ID: + return 7544; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, true).ID: + return 7546; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false).ID: + return 7548; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, true).ID: + return 7550; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false).ID: + return 7552; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, true).ID: return 7554; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false).ID: + return 7556; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, true).ID: + return 7558; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false).ID: + return 7560; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, true).ID: + return 7562; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false).ID: + return 7564; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, true).ID: + return 7566; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false).ID: + return 7568; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, true).ID: return 7570; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false).ID: + return 7572; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, true).ID: + return 7574; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false).ID: + return 7576; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, true).ID: + return 7578; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false).ID: + return 7580; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, true).ID: + return 7582; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false).ID: + return 7584; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, true).ID: return 7586; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false).ID: + return 7588; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, true).ID: + return 7590; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false).ID: + return 7592; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, true).ID: + return 7594; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false).ID: + return 7596; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, true).ID: + return 7598; + case IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false).ID: + return 7600; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM).ID: return 4020; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP).ID: return 4021; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM).ID: return 4022; + case JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP).ID: return 4023; + case Jigsaw::Jigsaw(Jigsaw::Orientation::DownEast).ID: return 15739; + case Jigsaw::Jigsaw(Jigsaw::Orientation::DownNorth).ID: return 15740; + case Jigsaw::Jigsaw(Jigsaw::Orientation::DownSouth).ID: return 15741; + case Jigsaw::Jigsaw(Jigsaw::Orientation::DownWest).ID: return 15742; + case Jigsaw::Jigsaw(Jigsaw::Orientation::UpEast).ID: return 15743; + case Jigsaw::Jigsaw(Jigsaw::Orientation::UpNorth).ID: return 15744; + case Jigsaw::Jigsaw(Jigsaw::Orientation::UpSouth).ID: return 15745; + case Jigsaw::Jigsaw(Jigsaw::Orientation::UpWest).ID: return 15746; + case Jigsaw::Jigsaw(Jigsaw::Orientation::WestUp).ID: return 15747; + case Jigsaw::Jigsaw(Jigsaw::Orientation::EastUp).ID: return 15748; + case Jigsaw::Jigsaw(Jigsaw::Orientation::NorthUp).ID: return 15749; + case Jigsaw::Jigsaw(Jigsaw::Orientation::SouthUp).ID: return 15750; + case Jukebox::Jukebox(true).ID: return 3964; + case Jukebox::Jukebox(false).ID: return 3965; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6418; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6419; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6420; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6421; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6422; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6423; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6424; + case JungleButton::JungleButton(JungleButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6425; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6426; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6427; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6428; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6429; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6430; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6431; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6432; + case JungleButton::JungleButton(JungleButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6433; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6434; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6435; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6436; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6437; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6438; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6439; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6440; + case JungleButton::JungleButton(JungleButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6441; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8866; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8867; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8868; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8869; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8870; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8871; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8872; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8873; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8874; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8875; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8876; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8877; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8878; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8879; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8880; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8881; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8882; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8883; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8884; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8885; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8886; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8887; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8888; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8889; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8890; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8891; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8892; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8893; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8894; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8895; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8896; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_ZP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8897; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8898; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8899; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8900; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8901; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8902; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8903; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8904; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8905; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8906; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8907; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8908; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8909; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8910; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8911; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8912; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XM, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8913; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8914; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8915; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8916; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8917; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8918; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8919; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8920; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Upper, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8921; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + true + ) + .ID: + return 8922; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + true, + false + ) + .ID: + return 8923; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + true + ) + .ID: + return 8924; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Left, + false, + false + ) + .ID: + return 8925; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + true + ) + .ID: + return 8926; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + true, + false + ) + .ID: + return 8927; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + true + ) + .ID: + return 8928; + case JungleDoor::JungleDoor( + eBlockFace::BLOCK_FACE_XP, + JungleDoor::Half::Lower, + JungleDoor::Hinge::Right, + false, + false + ) + .ID: + return 8929; + case JungleFence::JungleFence(true, true, true, true).ID: return 8644; + case JungleFence::JungleFence(true, true, true, false).ID: return 8645; + case JungleFence::JungleFence(true, true, false, true).ID: return 8648; + case JungleFence::JungleFence(true, true, false, false).ID: return 8649; + case JungleFence::JungleFence(true, false, true, true).ID: return 8652; + case JungleFence::JungleFence(true, false, true, false).ID: return 8653; + case JungleFence::JungleFence(true, false, false, true).ID: return 8656; + case JungleFence::JungleFence(true, false, false, false).ID: return 8657; + case JungleFence::JungleFence(false, true, true, true).ID: return 8660; + case JungleFence::JungleFence(false, true, true, false).ID: return 8661; + case JungleFence::JungleFence(false, true, false, true).ID: return 8664; + case JungleFence::JungleFence(false, true, false, false).ID: return 8665; + case JungleFence::JungleFence(false, false, true, true).ID: return 8668; + case JungleFence::JungleFence(false, false, true, false).ID: return 8669; + case JungleFence::JungleFence(false, false, false, true).ID: return 8672; + case JungleFence::JungleFence(false, false, false, false).ID: return 8673; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8482; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8483; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8484; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8485; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8486; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8487; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8488; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8489; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8490; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8491; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8492; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8493; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8494; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8495; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8496; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8497; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8498; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8499; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8500; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8501; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8502; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8503; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8504; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8505; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8506; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8507; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8508; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8509; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8510; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8511; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8512; + case JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8513; + case JungleLeaves::JungleLeaves(1, true).ID: return 187; + case JungleLeaves::JungleLeaves(1, false).ID: return 188; + case JungleLeaves::JungleLeaves(2, true).ID: return 189; + case JungleLeaves::JungleLeaves(2, false).ID: return 190; + case JungleLeaves::JungleLeaves(3, true).ID: return 191; + case JungleLeaves::JungleLeaves(3, false).ID: return 192; + case JungleLeaves::JungleLeaves(4, true).ID: return 193; + case JungleLeaves::JungleLeaves(4, false).ID: return 194; + case JungleLeaves::JungleLeaves(5, true).ID: return 195; + case JungleLeaves::JungleLeaves(5, false).ID: return 196; + case JungleLeaves::JungleLeaves(6, true).ID: return 197; + case JungleLeaves::JungleLeaves(6, false).ID: return 198; + case JungleLeaves::JungleLeaves(7, true).ID: return 199; + case JungleLeaves::JungleLeaves(7, false).ID: return 200; + case JungleLog::JungleLog(JungleLog::Axis::X).ID: return 82; + case JungleLog::JungleLog(JungleLog::Axis::Y).ID: return 83; + case JungleLog::JungleLog(JungleLog::Axis::Z).ID: return 84; + case JunglePlanks::JunglePlanks().ID: return 18; + case JunglePressurePlate::JunglePressurePlate(true).ID: return 3879; + case JunglePressurePlate::JunglePressurePlate(false).ID: return 3880; + case JungleSapling::JungleSapling(0).ID: return 27; + case JungleSapling::JungleSapling(1).ID: return 28; + case JungleSign::JungleSign(0).ID: return 3510; + case JungleSign::JungleSign(1).ID: return 3512; + case JungleSign::JungleSign(2).ID: return 3514; + case JungleSign::JungleSign(3).ID: return 3516; + case JungleSign::JungleSign(4).ID: return 3518; + case JungleSign::JungleSign(5).ID: return 3520; + case JungleSign::JungleSign(6).ID: return 3522; + case JungleSign::JungleSign(7).ID: return 3524; + case JungleSign::JungleSign(8).ID: return 3526; + case JungleSign::JungleSign(9).ID: return 3528; + case JungleSign::JungleSign(10).ID: return 3530; + case JungleSign::JungleSign(11).ID: return 3532; + case JungleSign::JungleSign(12).ID: return 3534; + case JungleSign::JungleSign(13).ID: return 3536; + case JungleSign::JungleSign(14).ID: return 3538; + case JungleSign::JungleSign(15).ID: return 3540; + case JungleSlab::JungleSlab(JungleSlab::Type::Top).ID: return 8319; + case JungleSlab::JungleSlab(JungleSlab::Type::Bottom).ID: return 8321; + case JungleSlab::JungleSlab(JungleSlab::Type::Double).ID: return 8323; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5565; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5567; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5569; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5571; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5573; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5575; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5577; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5579; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5581; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5583; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5585; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5587; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5589; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5591; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5593; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5595; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5597; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5599; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5601; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_ZP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5603; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5605; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5607; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5609; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5611; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5613; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5615; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5617; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5619; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5621; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XM, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5623; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::Straight + ) + .ID: + return 5625; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5627; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5629; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5631; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Top, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5633; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::Straight + ) + .ID: + return 5635; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerLeft + ) + .ID: + return 5637; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::InnerRight + ) + .ID: + return 5639; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterLeft + ) + .ID: + return 5641; + case JungleStairs::JungleStairs( + eBlockFace::BLOCK_FACE_XP, + JungleStairs::Half::Bottom, + JungleStairs::Shape::OuterRight + ) + .ID: + return 5643; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, true).ID: + return 4304; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, true, false).ID: + return 4306; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, true).ID: + return 4308; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Top, false, false).ID: + return 4310; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4312; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4314; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4316; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4318; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, true).ID: + return 4320; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, true, false).ID: + return 4322; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, true).ID: + return 4324; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Top, false, false).ID: + return 4326; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4328; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4330; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4332; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_ZP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4334; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, true).ID: + return 4336; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, true, false).ID: + return 4338; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, true).ID: + return 4340; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Top, false, false).ID: + return 4342; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4344; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4346; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4348; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XM, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4350; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, true).ID: + return 4352; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, true, false).ID: + return 4354; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, true).ID: + return 4356; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Top, false, false).ID: + return 4358; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, true).ID: + return 4360; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, true, false).ID: + return 4362; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, true).ID: + return 4364; + case JungleTrapdoor::JungleTrapdoor(eBlockFace::BLOCK_FACE_XP, JungleTrapdoor::Half::Bottom, false, false).ID: + return 4366; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3768; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3770; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3772; + case JungleWallSign::JungleWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3774; + case JungleWood::JungleWood(JungleWood::Axis::X).ID: return 118; + case JungleWood::JungleWood(JungleWood::Axis::Y).ID: return 119; + case JungleWood::JungleWood(JungleWood::Axis::Z).ID: return 120; + case Kelp::Kelp(0).ID: return 9470; + case Kelp::Kelp(1).ID: return 9471; + case Kelp::Kelp(2).ID: return 9472; + case Kelp::Kelp(3).ID: return 9473; + case Kelp::Kelp(4).ID: return 9474; + case Kelp::Kelp(5).ID: return 9475; + case Kelp::Kelp(6).ID: return 9476; + case Kelp::Kelp(7).ID: return 9477; + case Kelp::Kelp(8).ID: return 9478; + case Kelp::Kelp(9).ID: return 9479; + case Kelp::Kelp(10).ID: return 9480; + case Kelp::Kelp(11).ID: return 9481; + case Kelp::Kelp(12).ID: return 9482; + case Kelp::Kelp(13).ID: return 9483; + case Kelp::Kelp(14).ID: return 9484; + case Kelp::Kelp(15).ID: return 9485; + case Kelp::Kelp(16).ID: return 9486; + case Kelp::Kelp(17).ID: return 9487; + case Kelp::Kelp(18).ID: return 9488; + case Kelp::Kelp(19).ID: return 9489; + case Kelp::Kelp(20).ID: return 9490; + case Kelp::Kelp(21).ID: return 9491; + case Kelp::Kelp(22).ID: return 9492; + case Kelp::Kelp(23).ID: return 9493; + case Kelp::Kelp(24).ID: return 9494; + case Kelp::Kelp(25).ID: return 9495; + case KelpPlant::KelpPlant().ID: return 9496; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM).ID: return 3638; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP).ID: return 3640; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XM).ID: return 3642; + case Ladder::Ladder(eBlockFace::BLOCK_FACE_XP).ID: return 3644; + case Lantern::Lantern(true).ID: return 14886; + case Lantern::Lantern(false).ID: return 14887; + case LapisBlock::LapisBlock().ID: return 233; + case LapisOre::LapisOre().ID: return 232; + case LargeFern::LargeFern(LargeFern::Half::Upper).ID: return 7895; + case LargeFern::LargeFern(LargeFern::Half::Lower).ID: return 7896; + case Lava::Lava(0).ID: return 50; + case Lava::Lava(1).ID: return 51; + case Lava::Lava(2).ID: return 52; + case Lava::Lava(3).ID: return 53; + case Lava::Lava(4).ID: return 54; + case Lava::Lava(5).ID: return 55; + case Lava::Lava(6).ID: return 56; + case Lava::Lava(7).ID: return 57; + case Lava::Lava(8).ID: return 58; + case Lava::Lava(9).ID: return 59; + case Lava::Lava(10).ID: return 60; + case Lava::Lava(11).ID: return 61; + case Lava::Lava(12).ID: return 62; + case Lava::Lava(13).ID: return 63; + case Lava::Lava(14).ID: return 64; + case Lava::Lava(15).ID: return 65; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 14833; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 14834; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 14835; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 14836; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 14837; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 14838; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 14839; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 14840; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 14841; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 14842; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 14843; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 14844; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 14845; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 14846; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 14847; + case Lectern::Lectern(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 14848; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3783; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3784; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3785; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3786; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3787; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3788; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3789; + case Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3790; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3791; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3792; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3793; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3794; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3795; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3796; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3797; + case Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3798; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3799; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3800; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3801; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3802; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3803; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3804; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3805; + case Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3806; + case LightBlueBanner::LightBlueBanner(0).ID: return 7945; + case LightBlueBanner::LightBlueBanner(1).ID: return 7946; + case LightBlueBanner::LightBlueBanner(2).ID: return 7947; + case LightBlueBanner::LightBlueBanner(3).ID: return 7948; + case LightBlueBanner::LightBlueBanner(4).ID: return 7949; + case LightBlueBanner::LightBlueBanner(5).ID: return 7950; + case LightBlueBanner::LightBlueBanner(6).ID: return 7951; + case LightBlueBanner::LightBlueBanner(7).ID: return 7952; + case LightBlueBanner::LightBlueBanner(8).ID: return 7953; + case LightBlueBanner::LightBlueBanner(9).ID: return 7954; + case LightBlueBanner::LightBlueBanner(10).ID: return 7955; + case LightBlueBanner::LightBlueBanner(11).ID: return 7956; + case LightBlueBanner::LightBlueBanner(12).ID: return 7957; + case LightBlueBanner::LightBlueBanner(13).ID: return 7958; + case LightBlueBanner::LightBlueBanner(14).ID: return 7959; + case LightBlueBanner::LightBlueBanner(15).ID: return 7960; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Head).ID: return 1097; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, true, LightBlueBed::Part::Foot).ID: return 1098; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Head).ID: return 1099; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZM, false, LightBlueBed::Part::Foot).ID: return 1100; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Head).ID: return 1101; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, true, LightBlueBed::Part::Foot).ID: return 1102; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Head).ID: return 1103; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_ZP, false, LightBlueBed::Part::Foot).ID: return 1104; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Head).ID: return 1105; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, true, LightBlueBed::Part::Foot).ID: return 1106; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Head).ID: return 1107; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XM, false, LightBlueBed::Part::Foot).ID: return 1108; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Head).ID: return 1109; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, true, LightBlueBed::Part::Foot).ID: return 1110; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Head).ID: return 1111; + case LightBlueBed::LightBlueBed(eBlockFace::BLOCK_FACE_XP, false, LightBlueBed::Part::Foot).ID: return 1112; + case LightBlueCarpet::LightBlueCarpet().ID: return 7869; + case LightBlueConcrete::LightBlueConcrete().ID: return 9441; + case LightBlueConcretePowder::LightBlueConcretePowder().ID: return 9457; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9386; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9387; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9388; + case LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9389; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9296; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9297; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9298; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9299; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9300; + case LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9301; + case LightBlueStainedGlass::LightBlueStainedGlass().ID: return 4098; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, true).ID: return 6961; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, true, false).ID: return 6962; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, true).ID: return 6965; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, true, false, false).ID: return 6966; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, true).ID: return 6969; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, true, false).ID: return 6970; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, true).ID: return 6973; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(true, false, false, false).ID: return 6974; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, true).ID: return 6977; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, true, false).ID: return 6978; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, true).ID: return 6981; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, true, false, false).ID: return 6982; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, true).ID: return 6985; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, true, false).ID: return 6986; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, true).ID: return 6989; + case LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false).ID: return 6990; + case LightBlueTerracotta::LightBlueTerracotta().ID: return 6850; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8165; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8166; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8167; + case LightBlueWallBanner::LightBlueWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8168; + case LightBlueWool::LightBlueWool().ID: return 1387; + case LightGrayBanner::LightGrayBanner(0).ID: return 8025; + case LightGrayBanner::LightGrayBanner(1).ID: return 8026; + case LightGrayBanner::LightGrayBanner(2).ID: return 8027; + case LightGrayBanner::LightGrayBanner(3).ID: return 8028; + case LightGrayBanner::LightGrayBanner(4).ID: return 8029; + case LightGrayBanner::LightGrayBanner(5).ID: return 8030; + case LightGrayBanner::LightGrayBanner(6).ID: return 8031; + case LightGrayBanner::LightGrayBanner(7).ID: return 8032; + case LightGrayBanner::LightGrayBanner(8).ID: return 8033; + case LightGrayBanner::LightGrayBanner(9).ID: return 8034; + case LightGrayBanner::LightGrayBanner(10).ID: return 8035; + case LightGrayBanner::LightGrayBanner(11).ID: return 8036; + case LightGrayBanner::LightGrayBanner(12).ID: return 8037; + case LightGrayBanner::LightGrayBanner(13).ID: return 8038; + case LightGrayBanner::LightGrayBanner(14).ID: return 8039; + case LightGrayBanner::LightGrayBanner(15).ID: return 8040; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Head).ID: return 1177; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, true, LightGrayBed::Part::Foot).ID: return 1178; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Head).ID: return 1179; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZM, false, LightGrayBed::Part::Foot).ID: return 1180; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Head).ID: return 1181; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, true, LightGrayBed::Part::Foot).ID: return 1182; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Head).ID: return 1183; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_ZP, false, LightGrayBed::Part::Foot).ID: return 1184; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Head).ID: return 1185; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, true, LightGrayBed::Part::Foot).ID: return 1186; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Head).ID: return 1187; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XM, false, LightGrayBed::Part::Foot).ID: return 1188; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Head).ID: return 1189; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, true, LightGrayBed::Part::Foot).ID: return 1190; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Head).ID: return 1191; + case LightGrayBed::LightGrayBed(eBlockFace::BLOCK_FACE_XP, false, LightGrayBed::Part::Foot).ID: return 1192; + case LightGrayCarpet::LightGrayCarpet().ID: return 7874; + case LightGrayConcrete::LightGrayConcrete().ID: return 9446; + case LightGrayConcretePowder::LightGrayConcretePowder().ID: return 9462; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9406; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9407; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9408; + case LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9409; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9326; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9327; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9328; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9329; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9330; + case LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9331; + case LightGrayStainedGlass::LightGrayStainedGlass().ID: return 4103; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, true).ID: return 7121; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, true, false).ID: return 7122; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, true).ID: return 7125; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, true, false, false).ID: return 7126; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, true).ID: return 7129; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, true, false).ID: return 7130; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, true).ID: return 7133; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(true, false, false, false).ID: return 7134; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, true).ID: return 7137; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, true, false).ID: return 7138; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, true).ID: return 7141; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, true, false, false).ID: return 7142; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, true).ID: return 7145; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, true, false).ID: return 7146; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, true).ID: return 7149; + case LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false).ID: return 7150; + case LightGrayTerracotta::LightGrayTerracotta().ID: return 6855; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8185; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8186; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8187; + case LightGrayWallBanner::LightGrayWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8188; + case LightGrayWool::LightGrayWool().ID: return 1392; + case LightWeightedPressurePlate::LightWeightedPressurePlate(0).ID: return 6646; + case LightWeightedPressurePlate::LightWeightedPressurePlate(1).ID: return 6647; + case LightWeightedPressurePlate::LightWeightedPressurePlate(2).ID: return 6648; + case LightWeightedPressurePlate::LightWeightedPressurePlate(3).ID: return 6649; + case LightWeightedPressurePlate::LightWeightedPressurePlate(4).ID: return 6650; + case LightWeightedPressurePlate::LightWeightedPressurePlate(5).ID: return 6651; + case LightWeightedPressurePlate::LightWeightedPressurePlate(6).ID: return 6652; + case LightWeightedPressurePlate::LightWeightedPressurePlate(7).ID: return 6653; + case LightWeightedPressurePlate::LightWeightedPressurePlate(8).ID: return 6654; + case LightWeightedPressurePlate::LightWeightedPressurePlate(9).ID: return 6655; + case LightWeightedPressurePlate::LightWeightedPressurePlate(10).ID: return 6656; + case LightWeightedPressurePlate::LightWeightedPressurePlate(11).ID: return 6657; + case LightWeightedPressurePlate::LightWeightedPressurePlate(12).ID: return 6658; + case LightWeightedPressurePlate::LightWeightedPressurePlate(13).ID: return 6659; + case LightWeightedPressurePlate::LightWeightedPressurePlate(14).ID: return 6660; + case LightWeightedPressurePlate::LightWeightedPressurePlate(15).ID: return 6661; + case Lilac::Lilac(Lilac::Half::Upper).ID: return 7887; + case Lilac::Lilac(Lilac::Half::Lower).ID: return 7888; + case LilyOfTheValley::LilyOfTheValley().ID: return 1424; + case LilyPad::LilyPad().ID: return 5014; + case LimeBanner::LimeBanner(0).ID: return 7977; + case LimeBanner::LimeBanner(1).ID: return 7978; + case LimeBanner::LimeBanner(2).ID: return 7979; + case LimeBanner::LimeBanner(3).ID: return 7980; + case LimeBanner::LimeBanner(4).ID: return 7981; + case LimeBanner::LimeBanner(5).ID: return 7982; + case LimeBanner::LimeBanner(6).ID: return 7983; + case LimeBanner::LimeBanner(7).ID: return 7984; + case LimeBanner::LimeBanner(8).ID: return 7985; + case LimeBanner::LimeBanner(9).ID: return 7986; + case LimeBanner::LimeBanner(10).ID: return 7987; + case LimeBanner::LimeBanner(11).ID: return 7988; + case LimeBanner::LimeBanner(12).ID: return 7989; + case LimeBanner::LimeBanner(13).ID: return 7990; + case LimeBanner::LimeBanner(14).ID: return 7991; + case LimeBanner::LimeBanner(15).ID: return 7992; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Head).ID: return 1129; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, true, LimeBed::Part::Foot).ID: return 1130; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Head).ID: return 1131; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZM, false, LimeBed::Part::Foot).ID: return 1132; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Head).ID: return 1133; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, true, LimeBed::Part::Foot).ID: return 1134; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Head).ID: return 1135; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_ZP, false, LimeBed::Part::Foot).ID: return 1136; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Head).ID: return 1137; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, true, LimeBed::Part::Foot).ID: return 1138; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Head).ID: return 1139; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XM, false, LimeBed::Part::Foot).ID: return 1140; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Head).ID: return 1141; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, true, LimeBed::Part::Foot).ID: return 1142; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Head).ID: return 1143; + case LimeBed::LimeBed(eBlockFace::BLOCK_FACE_XP, false, LimeBed::Part::Foot).ID: return 1144; + case LimeCarpet::LimeCarpet().ID: return 7871; + case LimeConcrete::LimeConcrete().ID: return 9443; + case LimeConcretePowder::LimeConcretePowder().ID: return 9459; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9394; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9395; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9396; + case LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9397; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9308; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9309; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9310; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9311; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9312; + case LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9313; + case LimeStainedGlass::LimeStainedGlass().ID: return 4100; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, true).ID: return 7025; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, true, false).ID: return 7026; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, true).ID: return 7029; + case LimeStainedGlassPane::LimeStainedGlassPane(true, true, false, false).ID: return 7030; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, true).ID: return 7033; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, true, false).ID: return 7034; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, true).ID: return 7037; + case LimeStainedGlassPane::LimeStainedGlassPane(true, false, false, false).ID: return 7038; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, true).ID: return 7041; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, true, false).ID: return 7042; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, true).ID: return 7045; + case LimeStainedGlassPane::LimeStainedGlassPane(false, true, false, false).ID: return 7046; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, true).ID: return 7049; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, true, false).ID: return 7050; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, true).ID: return 7053; + case LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false).ID: return 7054; + case LimeTerracotta::LimeTerracotta().ID: return 6852; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8173; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8174; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8175; + case LimeWallBanner::LimeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8176; + case LimeWool::LimeWool().ID: return 1389; + case Lodestone::Lodestone().ID: return 15838; + case Loom::Loom(eBlockFace::BLOCK_FACE_ZM).ID: return 14787; + case Loom::Loom(eBlockFace::BLOCK_FACE_ZP).ID: return 14788; + case Loom::Loom(eBlockFace::BLOCK_FACE_XM).ID: return 14789; + case Loom::Loom(eBlockFace::BLOCK_FACE_XP).ID: return 14790; + case MagentaBanner::MagentaBanner(0).ID: return 7929; + case MagentaBanner::MagentaBanner(1).ID: return 7930; + case MagentaBanner::MagentaBanner(2).ID: return 7931; + case MagentaBanner::MagentaBanner(3).ID: return 7932; + case MagentaBanner::MagentaBanner(4).ID: return 7933; + case MagentaBanner::MagentaBanner(5).ID: return 7934; + case MagentaBanner::MagentaBanner(6).ID: return 7935; + case MagentaBanner::MagentaBanner(7).ID: return 7936; + case MagentaBanner::MagentaBanner(8).ID: return 7937; + case MagentaBanner::MagentaBanner(9).ID: return 7938; + case MagentaBanner::MagentaBanner(10).ID: return 7939; + case MagentaBanner::MagentaBanner(11).ID: return 7940; + case MagentaBanner::MagentaBanner(12).ID: return 7941; + case MagentaBanner::MagentaBanner(13).ID: return 7942; + case MagentaBanner::MagentaBanner(14).ID: return 7943; + case MagentaBanner::MagentaBanner(15).ID: return 7944; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Head).ID: return 1081; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, true, MagentaBed::Part::Foot).ID: return 1082; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Head).ID: return 1083; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZM, false, MagentaBed::Part::Foot).ID: return 1084; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Head).ID: return 1085; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, true, MagentaBed::Part::Foot).ID: return 1086; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Head).ID: return 1087; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_ZP, false, MagentaBed::Part::Foot).ID: return 1088; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Head).ID: return 1089; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, true, MagentaBed::Part::Foot).ID: return 1090; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Head).ID: return 1091; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XM, false, MagentaBed::Part::Foot).ID: return 1092; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Head).ID: return 1093; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, true, MagentaBed::Part::Foot).ID: return 1094; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Head).ID: return 1095; + case MagentaBed::MagentaBed(eBlockFace::BLOCK_FACE_XP, false, MagentaBed::Part::Foot).ID: return 1096; + case MagentaCarpet::MagentaCarpet().ID: return 7868; + case MagentaConcrete::MagentaConcrete().ID: return 9440; + case MagentaConcretePowder::MagentaConcretePowder().ID: return 9456; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9382; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9383; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9384; + case MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9385; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9290; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9291; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9292; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9293; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9294; + case MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9295; + case MagentaStainedGlass::MagentaStainedGlass().ID: return 4097; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, true).ID: return 6929; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, true, false).ID: return 6930; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, true).ID: return 6933; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, true, false, false).ID: return 6934; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, true).ID: return 6937; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, true, false).ID: return 6938; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, true).ID: return 6941; + case MagentaStainedGlassPane::MagentaStainedGlassPane(true, false, false, false).ID: return 6942; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, true).ID: return 6945; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, true, false).ID: return 6946; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, true).ID: return 6949; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, true, false, false).ID: return 6950; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, true).ID: return 6953; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, true, false).ID: return 6954; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, true).ID: return 6957; + case MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false).ID: return 6958; + case MagentaTerracotta::MagentaTerracotta().ID: return 6849; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8161; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8162; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8163; + case MagentaWallBanner::MagentaWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8164; + case MagentaWool::MagentaWool().ID: return 1386; + case MagmaBlock::MagmaBlock().ID: return 9253; + case Melon::Melon().ID: return 4763; + case MelonStem::MelonStem(0).ID: return 4780; + case MelonStem::MelonStem(1).ID: return 4781; + case MelonStem::MelonStem(2).ID: return 4782; + case MelonStem::MelonStem(3).ID: return 4783; + case MelonStem::MelonStem(4).ID: return 4784; + case MelonStem::MelonStem(5).ID: return 4785; + case MelonStem::MelonStem(6).ID: return 4786; + case MelonStem::MelonStem(7).ID: return 4787; + case MossyCobblestone::MossyCobblestone().ID: return 1433; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Top).ID: return 10814; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Bottom).ID: return 10816; + case MossyCobblestoneSlab::MossyCobblestoneSlab(MossyCobblestoneSlab::Type::Double).ID: return 10818; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 9990; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 9992; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 9994; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 9996; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 9998; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 10000; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 10002; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 10004; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 10006; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 10008; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 10010; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 10012; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 10014; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 10016; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 10018; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 10020; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 10022; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 10024; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 10026; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 10028; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 10030; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 10032; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 10034; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 10036; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 10038; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 10040; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 10042; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 10044; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 10046; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XM, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 10048; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 10050; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 10052; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 10054; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 10056; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Top, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 10058; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::Straight + ) + .ID: + return 10060; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerLeft + ) + .ID: + return 10062; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::InnerRight + ) + .ID: + return 10064; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterLeft + ) + .ID: + return 10066; + case MossyCobblestoneStairs::MossyCobblestoneStairs( + eBlockFace::BLOCK_FACE_XP, + MossyCobblestoneStairs::Half::Bottom, + MossyCobblestoneStairs::Shape::OuterRight + ) + .ID: + return 10068; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5984; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5985; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 5986; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 5990; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5991; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 5992; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 5996; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 5997; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 5998; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6002; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6003; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6004; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6008; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6009; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6010; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6014; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6015; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6016; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6020; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6021; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6022; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6026; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6027; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6028; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6032; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6033; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6034; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6038; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6039; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6040; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6044; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6045; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6046; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6050; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6051; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6052; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6056; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6057; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6058; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6062; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6063; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6064; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6068; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6069; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6070; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6074; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6075; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6076; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6080; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6081; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6082; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6086; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6087; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::None, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6088; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6092; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6093; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6094; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6098; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6099; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6100; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6104; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6105; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6106; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6110; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6111; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6112; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6116; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6117; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6118; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6122; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6123; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6124; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6128; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6129; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6130; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6134; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6135; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6136; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6140; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6141; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6142; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6146; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6147; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6148; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6152; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6153; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6154; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6158; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6159; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6160; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6164; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6165; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6166; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6170; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6171; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6172; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6176; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6177; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6178; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6182; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6183; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6184; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6188; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6189; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6190; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6194; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6195; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Low, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6196; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6200; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6201; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6202; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6206; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6207; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6208; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6212; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6213; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6214; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6218; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6219; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6220; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6224; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6225; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6226; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6230; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6231; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::None, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6232; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6236; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6237; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6238; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6242; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6243; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6244; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6248; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6249; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6250; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6254; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6255; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6256; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6260; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6261; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6262; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6266; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6267; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Low, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6268; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6272; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6273; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6274; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6278; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6279; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::None, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6280; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6284; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6285; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6286; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6290; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6291; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Low, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6292; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::None + ) + .ID: + return 6296; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6297; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + true, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6298; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::None + ) + .ID: + return 6302; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Low + ) + .ID: + return 6303; + case MossyCobblestoneWall::MossyCobblestoneWall( + MossyCobblestoneWall::East::Tall, + MossyCobblestoneWall::North::Tall, + MossyCobblestoneWall::South::Tall, + false, + MossyCobblestoneWall::West::Tall + ) + .ID: + return 6304; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Top).ID: return 10802; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Bottom).ID: return 10804; + case MossyStoneBrickSlab::MossyStoneBrickSlab(MossyStoneBrickSlab::Type::Double).ID: return 10806; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9830; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9832; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9834; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9836; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9838; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9840; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9842; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9844; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9846; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9848; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9850; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9852; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9854; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9856; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9858; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9860; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9862; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9864; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9866; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9868; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9870; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9872; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9874; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9876; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9878; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9880; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9882; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9884; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9886; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9888; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9890; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9892; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9894; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9896; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Top, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9898; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::Straight + ) + .ID: + return 9900; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 9902; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::InnerRight + ) + .ID: + return 9904; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 9906; + case MossyStoneBrickStairs::MossyStoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + MossyStoneBrickStairs::Half::Bottom, + MossyStoneBrickStairs::Shape::OuterRight + ) + .ID: + return 9908; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11842; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11843; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11844; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11848; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11849; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11850; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11854; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11855; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11856; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11860; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11861; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11862; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11866; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11867; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11868; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11872; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11873; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11874; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11878; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11879; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11880; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11884; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11885; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11886; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11890; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11891; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11892; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11896; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11897; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11898; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11902; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11903; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11904; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11908; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11909; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11910; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11914; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11915; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11916; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11920; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11921; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11922; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11926; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11927; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11928; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11932; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11933; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11934; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11938; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11939; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11940; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11944; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11945; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::None, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11946; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11950; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11951; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11952; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11956; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11957; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11958; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11962; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11963; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11964; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11968; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11969; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11970; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11974; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11975; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11976; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11980; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11981; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11982; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11986; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11987; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11988; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 11992; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11993; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 11994; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 11998; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 11999; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12000; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12004; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12005; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12006; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12010; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12011; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12012; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12016; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12017; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12018; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12022; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12023; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12024; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12028; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12029; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12030; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12034; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12035; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12036; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12040; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12041; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12042; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12046; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12047; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12048; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12052; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12053; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Low, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12054; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12058; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12059; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12060; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12064; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12065; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12066; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12070; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12071; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12072; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12076; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12077; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12078; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12082; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12083; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12084; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12088; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12089; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::None, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12090; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12094; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12095; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12096; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12100; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12101; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12102; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12106; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12107; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12108; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12112; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12113; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12114; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12118; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12119; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12120; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12124; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12125; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Low, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12126; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12130; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12131; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12132; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12136; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12137; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::None, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12138; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12142; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12143; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12144; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12148; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12149; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Low, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12150; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::None + ) + .ID: + return 12154; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12155; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + true, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12156; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::None + ) + .ID: + return 12160; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Low + ) + .ID: + return 12161; + case MossyStoneBrickWall::MossyStoneBrickWall( + MossyStoneBrickWall::East::Tall, + MossyStoneBrickWall::North::Tall, + MossyStoneBrickWall::South::Tall, + false, + MossyStoneBrickWall::West::Tall + ) + .ID: + return 12162; + case MossyStoneBricks::MossyStoneBricks().ID: return 4496; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal).ID: return 1400; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky).ID: return 1401; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal).ID: return 1402; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky).ID: return 1403; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal).ID: return 1404; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky).ID: return 1405; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal).ID: return 1406; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky).ID: return 1407; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal).ID: return 1408; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky).ID: return 1409; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal).ID: return 1410; + case MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky).ID: return 1411; + case MushroomStem::MushroomStem(true, true, true, true, true, true).ID: return 4633; + case MushroomStem::MushroomStem(true, true, true, true, true, false).ID: return 4634; + case MushroomStem::MushroomStem(true, true, true, true, false, true).ID: return 4635; + case MushroomStem::MushroomStem(true, true, true, true, false, false).ID: return 4636; + case MushroomStem::MushroomStem(true, true, true, false, true, true).ID: return 4637; + case MushroomStem::MushroomStem(true, true, true, false, true, false).ID: return 4638; + case MushroomStem::MushroomStem(true, true, true, false, false, true).ID: return 4639; + case MushroomStem::MushroomStem(true, true, true, false, false, false).ID: return 4640; + case MushroomStem::MushroomStem(true, true, false, true, true, true).ID: return 4641; + case MushroomStem::MushroomStem(true, true, false, true, true, false).ID: return 4642; + case MushroomStem::MushroomStem(true, true, false, true, false, true).ID: return 4643; + case MushroomStem::MushroomStem(true, true, false, true, false, false).ID: return 4644; + case MushroomStem::MushroomStem(true, true, false, false, true, true).ID: return 4645; + case MushroomStem::MushroomStem(true, true, false, false, true, false).ID: return 4646; + case MushroomStem::MushroomStem(true, true, false, false, false, true).ID: return 4647; + case MushroomStem::MushroomStem(true, true, false, false, false, false).ID: return 4648; + case MushroomStem::MushroomStem(true, false, true, true, true, true).ID: return 4649; + case MushroomStem::MushroomStem(true, false, true, true, true, false).ID: return 4650; + case MushroomStem::MushroomStem(true, false, true, true, false, true).ID: return 4651; + case MushroomStem::MushroomStem(true, false, true, true, false, false).ID: return 4652; + case MushroomStem::MushroomStem(true, false, true, false, true, true).ID: return 4653; + case MushroomStem::MushroomStem(true, false, true, false, true, false).ID: return 4654; + case MushroomStem::MushroomStem(true, false, true, false, false, true).ID: return 4655; + case MushroomStem::MushroomStem(true, false, true, false, false, false).ID: return 4656; + case MushroomStem::MushroomStem(true, false, false, true, true, true).ID: return 4657; + case MushroomStem::MushroomStem(true, false, false, true, true, false).ID: return 4658; + case MushroomStem::MushroomStem(true, false, false, true, false, true).ID: return 4659; + case MushroomStem::MushroomStem(true, false, false, true, false, false).ID: return 4660; + case MushroomStem::MushroomStem(true, false, false, false, true, true).ID: return 4661; + case MushroomStem::MushroomStem(true, false, false, false, true, false).ID: return 4662; + case MushroomStem::MushroomStem(true, false, false, false, false, true).ID: return 4663; + case MushroomStem::MushroomStem(true, false, false, false, false, false).ID: return 4664; + case MushroomStem::MushroomStem(false, true, true, true, true, true).ID: return 4665; + case MushroomStem::MushroomStem(false, true, true, true, true, false).ID: return 4666; + case MushroomStem::MushroomStem(false, true, true, true, false, true).ID: return 4667; + case MushroomStem::MushroomStem(false, true, true, true, false, false).ID: return 4668; + case MushroomStem::MushroomStem(false, true, true, false, true, true).ID: return 4669; + case MushroomStem::MushroomStem(false, true, true, false, true, false).ID: return 4670; + case MushroomStem::MushroomStem(false, true, true, false, false, true).ID: return 4671; + case MushroomStem::MushroomStem(false, true, true, false, false, false).ID: return 4672; + case MushroomStem::MushroomStem(false, true, false, true, true, true).ID: return 4673; + case MushroomStem::MushroomStem(false, true, false, true, true, false).ID: return 4674; + case MushroomStem::MushroomStem(false, true, false, true, false, true).ID: return 4675; + case MushroomStem::MushroomStem(false, true, false, true, false, false).ID: return 4676; + case MushroomStem::MushroomStem(false, true, false, false, true, true).ID: return 4677; + case MushroomStem::MushroomStem(false, true, false, false, true, false).ID: return 4678; + case MushroomStem::MushroomStem(false, true, false, false, false, true).ID: return 4679; + case MushroomStem::MushroomStem(false, true, false, false, false, false).ID: return 4680; + case MushroomStem::MushroomStem(false, false, true, true, true, true).ID: return 4681; + case MushroomStem::MushroomStem(false, false, true, true, true, false).ID: return 4682; + case MushroomStem::MushroomStem(false, false, true, true, false, true).ID: return 4683; + case MushroomStem::MushroomStem(false, false, true, true, false, false).ID: return 4684; + case MushroomStem::MushroomStem(false, false, true, false, true, true).ID: return 4685; + case MushroomStem::MushroomStem(false, false, true, false, true, false).ID: return 4686; + case MushroomStem::MushroomStem(false, false, true, false, false, true).ID: return 4687; + case MushroomStem::MushroomStem(false, false, true, false, false, false).ID: return 4688; + case MushroomStem::MushroomStem(false, false, false, true, true, true).ID: return 4689; + case MushroomStem::MushroomStem(false, false, false, true, true, false).ID: return 4690; + case MushroomStem::MushroomStem(false, false, false, true, false, true).ID: return 4691; + case MushroomStem::MushroomStem(false, false, false, true, false, false).ID: return 4692; + case MushroomStem::MushroomStem(false, false, false, false, true, true).ID: return 4693; + case MushroomStem::MushroomStem(false, false, false, false, true, false).ID: return 4694; + case MushroomStem::MushroomStem(false, false, false, false, false, true).ID: return 4695; + case MushroomStem::MushroomStem(false, false, false, false, false, false).ID: return 4696; + case Mycelium::Mycelium(true).ID: return 5012; + case Mycelium::Mycelium(false).ID: return 5013; + case NetherBrickFence::NetherBrickFence(true, true, true, true).ID: return 5018; + case NetherBrickFence::NetherBrickFence(true, true, true, false).ID: return 5019; + case NetherBrickFence::NetherBrickFence(true, true, false, true).ID: return 5022; + case NetherBrickFence::NetherBrickFence(true, true, false, false).ID: return 5023; + case NetherBrickFence::NetherBrickFence(true, false, true, true).ID: return 5026; + case NetherBrickFence::NetherBrickFence(true, false, true, false).ID: return 5027; + case NetherBrickFence::NetherBrickFence(true, false, false, true).ID: return 5030; + case NetherBrickFence::NetherBrickFence(true, false, false, false).ID: return 5031; + case NetherBrickFence::NetherBrickFence(false, true, true, true).ID: return 5034; + case NetherBrickFence::NetherBrickFence(false, true, true, false).ID: return 5035; + case NetherBrickFence::NetherBrickFence(false, true, false, true).ID: return 5038; + case NetherBrickFence::NetherBrickFence(false, true, false, false).ID: return 5039; + case NetherBrickFence::NetherBrickFence(false, false, true, true).ID: return 5042; + case NetherBrickFence::NetherBrickFence(false, false, true, false).ID: return 5043; + case NetherBrickFence::NetherBrickFence(false, false, false, true).ID: return 5046; + case NetherBrickFence::NetherBrickFence(false, false, false, false).ID: return 5047; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top).ID: return 8385; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom).ID: return 8387; + case NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double).ID: return 8389; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5049; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5051; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5053; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5055; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5057; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5059; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5061; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5063; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5065; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5067; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5069; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5071; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5073; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5075; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5077; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5079; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5081; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5083; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5085; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5087; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5089; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5091; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5093; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5095; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5097; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5099; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5101; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5103; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5105; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5107; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5109; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5111; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5113; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5115; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Top, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5117; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::Straight + ) + .ID: + return 5119; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 5121; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::InnerRight + ) + .ID: + return 5123; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 5125; + case NetherBrickStairs::NetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + NetherBrickStairs::Half::Bottom, + NetherBrickStairs::Shape::OuterRight + ) + .ID: + return 5127; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 12814; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12815; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12816; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 12820; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12821; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12822; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 12826; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12827; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12828; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 12832; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12833; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12834; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 12838; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12839; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12840; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 12844; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12845; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12846; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 12850; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12851; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12852; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 12856; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12857; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12858; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 12862; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12863; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12864; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 12868; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12869; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12870; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 12874; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12875; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12876; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 12880; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12881; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12882; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 12886; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12887; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12888; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 12892; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12893; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12894; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 12898; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12899; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12900; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 12904; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12905; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12906; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 12910; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12911; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12912; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 12916; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12917; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::None, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12918; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 12922; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12923; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12924; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 12928; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12929; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12930; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 12934; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12935; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12936; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 12940; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12941; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12942; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 12946; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12947; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12948; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 12952; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12953; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12954; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 12958; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12959; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12960; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 12964; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12965; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12966; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 12970; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12971; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12972; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 12976; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12977; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12978; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 12982; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12983; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12984; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 12988; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 12989; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 12990; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 12994; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 12995; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 12996; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 13000; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13001; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13002; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 13006; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13007; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13008; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 13012; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13013; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13014; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 13018; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13019; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13020; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 13024; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13025; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Low, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13026; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 13030; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13031; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13032; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 13036; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13037; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13038; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 13042; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13043; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13044; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 13048; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13049; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13050; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 13054; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13055; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13056; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 13060; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13061; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::None, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13062; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 13066; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13067; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13068; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 13072; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13073; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13074; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 13078; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13079; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13080; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 13084; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13085; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13086; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 13090; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13091; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13092; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 13096; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13097; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Low, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13098; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::None + ) + .ID: + return 13102; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13103; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13104; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::None + ) + .ID: + return 13108; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13109; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::None, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13110; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::None + ) + .ID: + return 13114; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13115; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13116; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::None + ) + .ID: + return 13120; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13121; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Low, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13122; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::None + ) + .ID: + return 13126; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Low + ) + .ID: + return 13127; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + true, + NetherBrickWall::West::Tall + ) + .ID: + return 13128; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::None + ) + .ID: + return 13132; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Low + ) + .ID: + return 13133; + case NetherBrickWall::NetherBrickWall( + NetherBrickWall::East::Tall, + NetherBrickWall::North::Tall, + NetherBrickWall::South::Tall, + false, + NetherBrickWall::West::Tall + ) + .ID: + return 13134; + case NetherBricks::NetherBricks().ID: return 5015; + case NetherGoldOre::NetherGoldOre().ID: return 72; + case NetherPortal::NetherPortal(NetherPortal::Axis::X).ID: return 4014; + case NetherPortal::NetherPortal(NetherPortal::Axis::Z).ID: return 4015; + case NetherQuartzOre::NetherQuartzOre().ID: return 6727; + case NetherSprouts::NetherSprouts().ID: return 14974; + case NetherWart::NetherWart(0).ID: return 5128; + case NetherWart::NetherWart(1).ID: return 5129; + case NetherWart::NetherWart(2).ID: return 5130; + case NetherWart::NetherWart(3).ID: return 5131; + case NetherWartBlock::NetherWartBlock().ID: return 9254; + case NetheriteBlock::NetheriteBlock().ID: return 15826; + case Netherrack::Netherrack().ID: return 3999; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, true).ID: return 249; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 0, false).ID: return 250; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, true).ID: return 251; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 1, false).ID: return 252; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, true).ID: return 253; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 2, false).ID: return 254; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, true).ID: return 255; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 3, false).ID: return 256; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, true).ID: return 257; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 4, false).ID: return 258; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, true).ID: return 259; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 5, false).ID: return 260; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, true).ID: return 261; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 6, false).ID: return 262; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, true).ID: return 263; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 7, false).ID: return 264; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, true).ID: return 265; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 8, false).ID: return 266; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, true).ID: return 267; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 9, false).ID: return 268; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, true).ID: return 269; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 10, false).ID: return 270; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, true).ID: return 271; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 11, false).ID: return 272; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, true).ID: return 273; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 12, false).ID: return 274; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, true).ID: return 275; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 13, false).ID: return 276; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, true).ID: return 277; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 14, false).ID: return 278; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, true).ID: return 279; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 15, false).ID: return 280; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, true).ID: return 281; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 16, false).ID: return 282; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, true).ID: return 283; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 17, false).ID: return 284; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, true).ID: return 285; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 18, false).ID: return 286; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, true).ID: return 287; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 19, false).ID: return 288; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, true).ID: return 289; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 20, false).ID: return 290; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, true).ID: return 291; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 21, false).ID: return 292; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, true).ID: return 293; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 22, false).ID: return 294; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, true).ID: return 295; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 23, false).ID: return 296; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, true).ID: return 297; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Harp, 24, false).ID: return 298; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, true).ID: return 299; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 0, false).ID: return 300; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, true).ID: return 301; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 1, false).ID: return 302; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, true).ID: return 303; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 2, false).ID: return 304; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, true).ID: return 305; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 3, false).ID: return 306; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, true).ID: return 307; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 4, false).ID: return 308; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, true).ID: return 309; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 5, false).ID: return 310; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, true).ID: return 311; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 6, false).ID: return 312; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, true).ID: return 313; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 7, false).ID: return 314; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, true).ID: return 315; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 8, false).ID: return 316; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, true).ID: return 317; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 9, false).ID: return 318; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, true).ID: return 319; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 10, false).ID: return 320; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, true).ID: return 321; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 11, false).ID: return 322; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, true).ID: return 323; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 12, false).ID: return 324; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, true).ID: return 325; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 13, false).ID: return 326; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, true).ID: return 327; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 14, false).ID: return 328; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, true).ID: return 329; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 15, false).ID: return 330; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, true).ID: return 331; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 16, false).ID: return 332; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, true).ID: return 333; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 17, false).ID: return 334; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, true).ID: return 335; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 18, false).ID: return 336; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, true).ID: return 337; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 19, false).ID: return 338; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, true).ID: return 339; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 20, false).ID: return 340; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, true).ID: return 341; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 21, false).ID: return 342; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, true).ID: return 343; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 22, false).ID: return 344; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, true).ID: return 345; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 23, false).ID: return 346; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, true).ID: return 347; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Basedrum, 24, false).ID: return 348; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, true).ID: return 349; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 0, false).ID: return 350; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, true).ID: return 351; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 1, false).ID: return 352; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, true).ID: return 353; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 2, false).ID: return 354; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, true).ID: return 355; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 3, false).ID: return 356; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, true).ID: return 357; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 4, false).ID: return 358; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, true).ID: return 359; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 5, false).ID: return 360; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, true).ID: return 361; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 6, false).ID: return 362; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, true).ID: return 363; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 7, false).ID: return 364; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, true).ID: return 365; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 8, false).ID: return 366; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, true).ID: return 367; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 9, false).ID: return 368; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, true).ID: return 369; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 10, false).ID: return 370; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, true).ID: return 371; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 11, false).ID: return 372; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, true).ID: return 373; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 12, false).ID: return 374; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, true).ID: return 375; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 13, false).ID: return 376; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, true).ID: return 377; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 14, false).ID: return 378; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, true).ID: return 379; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 15, false).ID: return 380; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, true).ID: return 381; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 16, false).ID: return 382; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, true).ID: return 383; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 17, false).ID: return 384; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, true).ID: return 385; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 18, false).ID: return 386; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, true).ID: return 387; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 19, false).ID: return 388; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, true).ID: return 389; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 20, false).ID: return 390; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, true).ID: return 391; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 21, false).ID: return 392; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, true).ID: return 393; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 22, false).ID: return 394; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, true).ID: return 395; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 23, false).ID: return 396; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, true).ID: return 397; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Snare, 24, false).ID: return 398; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, true).ID: return 399; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 0, false).ID: return 400; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, true).ID: return 401; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 1, false).ID: return 402; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, true).ID: return 403; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 2, false).ID: return 404; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, true).ID: return 405; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 3, false).ID: return 406; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, true).ID: return 407; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 4, false).ID: return 408; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, true).ID: return 409; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 5, false).ID: return 410; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, true).ID: return 411; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 6, false).ID: return 412; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, true).ID: return 413; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 7, false).ID: return 414; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, true).ID: return 415; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 8, false).ID: return 416; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, true).ID: return 417; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 9, false).ID: return 418; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, true).ID: return 419; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 10, false).ID: return 420; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, true).ID: return 421; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 11, false).ID: return 422; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, true).ID: return 423; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 12, false).ID: return 424; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, true).ID: return 425; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 13, false).ID: return 426; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, true).ID: return 427; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 14, false).ID: return 428; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, true).ID: return 429; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 15, false).ID: return 430; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, true).ID: return 431; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 16, false).ID: return 432; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, true).ID: return 433; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 17, false).ID: return 434; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, true).ID: return 435; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 18, false).ID: return 436; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, true).ID: return 437; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 19, false).ID: return 438; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, true).ID: return 439; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 20, false).ID: return 440; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, true).ID: return 441; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 21, false).ID: return 442; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, true).ID: return 443; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 22, false).ID: return 444; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, true).ID: return 445; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 23, false).ID: return 446; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, true).ID: return 447; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Hat, 24, false).ID: return 448; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, true).ID: return 449; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 0, false).ID: return 450; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, true).ID: return 451; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 1, false).ID: return 452; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, true).ID: return 453; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 2, false).ID: return 454; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, true).ID: return 455; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 3, false).ID: return 456; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, true).ID: return 457; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 4, false).ID: return 458; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, true).ID: return 459; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 5, false).ID: return 460; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, true).ID: return 461; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 6, false).ID: return 462; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, true).ID: return 463; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 7, false).ID: return 464; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, true).ID: return 465; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 8, false).ID: return 466; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, true).ID: return 467; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 9, false).ID: return 468; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, true).ID: return 469; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 10, false).ID: return 470; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, true).ID: return 471; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 11, false).ID: return 472; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, true).ID: return 473; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 12, false).ID: return 474; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, true).ID: return 475; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 13, false).ID: return 476; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, true).ID: return 477; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 14, false).ID: return 478; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, true).ID: return 479; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 15, false).ID: return 480; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, true).ID: return 481; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 16, false).ID: return 482; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, true).ID: return 483; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 17, false).ID: return 484; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, true).ID: return 485; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 18, false).ID: return 486; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, true).ID: return 487; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 19, false).ID: return 488; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, true).ID: return 489; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 20, false).ID: return 490; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, true).ID: return 491; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 21, false).ID: return 492; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, true).ID: return 493; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 22, false).ID: return 494; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, true).ID: return 495; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 23, false).ID: return 496; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, true).ID: return 497; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bass, 24, false).ID: return 498; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, true).ID: return 499; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 0, false).ID: return 500; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, true).ID: return 501; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 1, false).ID: return 502; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, true).ID: return 503; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 2, false).ID: return 504; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, true).ID: return 505; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 3, false).ID: return 506; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, true).ID: return 507; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 4, false).ID: return 508; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, true).ID: return 509; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 5, false).ID: return 510; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, true).ID: return 511; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 6, false).ID: return 512; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, true).ID: return 513; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 7, false).ID: return 514; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, true).ID: return 515; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 8, false).ID: return 516; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, true).ID: return 517; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 9, false).ID: return 518; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, true).ID: return 519; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 10, false).ID: return 520; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, true).ID: return 521; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 11, false).ID: return 522; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, true).ID: return 523; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 12, false).ID: return 524; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, true).ID: return 525; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 13, false).ID: return 526; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, true).ID: return 527; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 14, false).ID: return 528; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, true).ID: return 529; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 15, false).ID: return 530; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, true).ID: return 531; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 16, false).ID: return 532; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, true).ID: return 533; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 17, false).ID: return 534; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, true).ID: return 535; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 18, false).ID: return 536; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, true).ID: return 537; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 19, false).ID: return 538; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, true).ID: return 539; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 20, false).ID: return 540; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, true).ID: return 541; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 21, false).ID: return 542; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, true).ID: return 543; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 22, false).ID: return 544; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, true).ID: return 545; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 23, false).ID: return 546; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, true).ID: return 547; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Flute, 24, false).ID: return 548; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, true).ID: return 549; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 0, false).ID: return 550; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, true).ID: return 551; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 1, false).ID: return 552; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, true).ID: return 553; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 2, false).ID: return 554; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, true).ID: return 555; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 3, false).ID: return 556; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, true).ID: return 557; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 4, false).ID: return 558; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, true).ID: return 559; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 5, false).ID: return 560; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, true).ID: return 561; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 6, false).ID: return 562; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, true).ID: return 563; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 7, false).ID: return 564; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, true).ID: return 565; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 8, false).ID: return 566; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, true).ID: return 567; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 9, false).ID: return 568; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, true).ID: return 569; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 10, false).ID: return 570; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, true).ID: return 571; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 11, false).ID: return 572; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, true).ID: return 573; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 12, false).ID: return 574; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, true).ID: return 575; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 13, false).ID: return 576; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, true).ID: return 577; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 14, false).ID: return 578; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, true).ID: return 579; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 15, false).ID: return 580; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, true).ID: return 581; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 16, false).ID: return 582; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, true).ID: return 583; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 17, false).ID: return 584; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, true).ID: return 585; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 18, false).ID: return 586; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, true).ID: return 587; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 19, false).ID: return 588; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, true).ID: return 589; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 20, false).ID: return 590; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, true).ID: return 591; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 21, false).ID: return 592; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, true).ID: return 593; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 22, false).ID: return 594; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, true).ID: return 595; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 23, false).ID: return 596; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, true).ID: return 597; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bell, 24, false).ID: return 598; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, true).ID: return 599; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 0, false).ID: return 600; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, true).ID: return 601; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 1, false).ID: return 602; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, true).ID: return 603; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 2, false).ID: return 604; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, true).ID: return 605; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 3, false).ID: return 606; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, true).ID: return 607; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 4, false).ID: return 608; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, true).ID: return 609; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 5, false).ID: return 610; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, true).ID: return 611; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 6, false).ID: return 612; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, true).ID: return 613; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 7, false).ID: return 614; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, true).ID: return 615; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 8, false).ID: return 616; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, true).ID: return 617; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 9, false).ID: return 618; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, true).ID: return 619; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 10, false).ID: return 620; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, true).ID: return 621; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 11, false).ID: return 622; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, true).ID: return 623; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 12, false).ID: return 624; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, true).ID: return 625; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 13, false).ID: return 626; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, true).ID: return 627; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 14, false).ID: return 628; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, true).ID: return 629; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 15, false).ID: return 630; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, true).ID: return 631; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 16, false).ID: return 632; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, true).ID: return 633; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 17, false).ID: return 634; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, true).ID: return 635; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 18, false).ID: return 636; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, true).ID: return 637; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 19, false).ID: return 638; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, true).ID: return 639; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 20, false).ID: return 640; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, true).ID: return 641; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 21, false).ID: return 642; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, true).ID: return 643; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 22, false).ID: return 644; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, true).ID: return 645; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 23, false).ID: return 646; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, true).ID: return 647; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Guitar, 24, false).ID: return 648; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, true).ID: return 649; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 0, false).ID: return 650; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, true).ID: return 651; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 1, false).ID: return 652; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, true).ID: return 653; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 2, false).ID: return 654; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, true).ID: return 655; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 3, false).ID: return 656; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, true).ID: return 657; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 4, false).ID: return 658; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, true).ID: return 659; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 5, false).ID: return 660; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, true).ID: return 661; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 6, false).ID: return 662; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, true).ID: return 663; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 7, false).ID: return 664; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, true).ID: return 665; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 8, false).ID: return 666; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, true).ID: return 667; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 9, false).ID: return 668; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, true).ID: return 669; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 10, false).ID: return 670; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, true).ID: return 671; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 11, false).ID: return 672; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, true).ID: return 673; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 12, false).ID: return 674; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, true).ID: return 675; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 13, false).ID: return 676; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, true).ID: return 677; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 14, false).ID: return 678; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, true).ID: return 679; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 15, false).ID: return 680; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, true).ID: return 681; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 16, false).ID: return 682; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, true).ID: return 683; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 17, false).ID: return 684; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, true).ID: return 685; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 18, false).ID: return 686; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, true).ID: return 687; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 19, false).ID: return 688; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, true).ID: return 689; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 20, false).ID: return 690; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, true).ID: return 691; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 21, false).ID: return 692; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, true).ID: return 693; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 22, false).ID: return 694; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, true).ID: return 695; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 23, false).ID: return 696; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, true).ID: return 697; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Chime, 24, false).ID: return 698; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, true).ID: return 699; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 0, false).ID: return 700; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, true).ID: return 701; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 1, false).ID: return 702; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, true).ID: return 703; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 2, false).ID: return 704; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, true).ID: return 705; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 3, false).ID: return 706; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, true).ID: return 707; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 4, false).ID: return 708; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, true).ID: return 709; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 5, false).ID: return 710; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, true).ID: return 711; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 6, false).ID: return 712; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, true).ID: return 713; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 7, false).ID: return 714; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, true).ID: return 715; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 8, false).ID: return 716; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, true).ID: return 717; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 9, false).ID: return 718; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, true).ID: return 719; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 10, false).ID: return 720; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, true).ID: return 721; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 11, false).ID: return 722; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, true).ID: return 723; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 12, false).ID: return 724; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, true).ID: return 725; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 13, false).ID: return 726; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, true).ID: return 727; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 14, false).ID: return 728; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, true).ID: return 729; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 15, false).ID: return 730; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, true).ID: return 731; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 16, false).ID: return 732; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, true).ID: return 733; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 17, false).ID: return 734; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, true).ID: return 735; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 18, false).ID: return 736; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, true).ID: return 737; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 19, false).ID: return 738; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, true).ID: return 739; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 20, false).ID: return 740; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, true).ID: return 741; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 21, false).ID: return 742; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, true).ID: return 743; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 22, false).ID: return 744; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, true).ID: return 745; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 23, false).ID: return 746; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, true).ID: return 747; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Xylophone, 24, false).ID: return 748; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, true).ID: return 749; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 0, false).ID: return 750; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, true).ID: return 751; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 1, false).ID: return 752; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, true).ID: return 753; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 2, false).ID: return 754; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, true).ID: return 755; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 3, false).ID: return 756; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, true).ID: return 757; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 4, false).ID: return 758; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, true).ID: return 759; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 5, false).ID: return 760; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, true).ID: return 761; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 6, false).ID: return 762; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, true).ID: return 763; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 7, false).ID: return 764; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, true).ID: return 765; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 8, false).ID: return 766; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, true).ID: return 767; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 9, false).ID: return 768; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, true).ID: return 769; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 10, false).ID: return 770; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, true).ID: return 771; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 11, false).ID: return 772; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, true).ID: return 773; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 12, false).ID: return 774; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, true).ID: return 775; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 13, false).ID: return 776; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, true).ID: return 777; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 14, false).ID: return 778; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, true).ID: return 779; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 15, false).ID: return 780; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, true).ID: return 781; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 16, false).ID: return 782; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, true).ID: return 783; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 17, false).ID: return 784; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, true).ID: return 785; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 18, false).ID: return 786; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, true).ID: return 787; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 19, false).ID: return 788; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, true).ID: return 789; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 20, false).ID: return 790; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, true).ID: return 791; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 21, false).ID: return 792; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, true).ID: return 793; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 22, false).ID: return 794; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, true).ID: return 795; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 23, false).ID: return 796; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, true).ID: return 797; + case NoteBlock::NoteBlock(NoteBlock::Instrument::IronXylophone, 24, false).ID: return 798; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, true).ID: return 799; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 0, false).ID: return 800; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, true).ID: return 801; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 1, false).ID: return 802; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, true).ID: return 803; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 2, false).ID: return 804; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, true).ID: return 805; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 3, false).ID: return 806; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, true).ID: return 807; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 4, false).ID: return 808; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, true).ID: return 809; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 5, false).ID: return 810; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, true).ID: return 811; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 6, false).ID: return 812; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, true).ID: return 813; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 7, false).ID: return 814; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, true).ID: return 815; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 8, false).ID: return 816; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, true).ID: return 817; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 9, false).ID: return 818; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, true).ID: return 819; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 10, false).ID: return 820; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, true).ID: return 821; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 11, false).ID: return 822; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, true).ID: return 823; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 12, false).ID: return 824; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, true).ID: return 825; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 13, false).ID: return 826; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, true).ID: return 827; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 14, false).ID: return 828; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, true).ID: return 829; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 15, false).ID: return 830; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, true).ID: return 831; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 16, false).ID: return 832; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, true).ID: return 833; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 17, false).ID: return 834; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, true).ID: return 835; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 18, false).ID: return 836; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, true).ID: return 837; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 19, false).ID: return 838; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, true).ID: return 839; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 20, false).ID: return 840; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, true).ID: return 841; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 21, false).ID: return 842; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, true).ID: return 843; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 22, false).ID: return 844; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, true).ID: return 845; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 23, false).ID: return 846; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, true).ID: return 847; + case NoteBlock::NoteBlock(NoteBlock::Instrument::CowBell, 24, false).ID: return 848; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, true).ID: return 849; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 0, false).ID: return 850; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, true).ID: return 851; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 1, false).ID: return 852; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, true).ID: return 853; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 2, false).ID: return 854; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, true).ID: return 855; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 3, false).ID: return 856; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, true).ID: return 857; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 4, false).ID: return 858; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, true).ID: return 859; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 5, false).ID: return 860; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, true).ID: return 861; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 6, false).ID: return 862; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, true).ID: return 863; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 7, false).ID: return 864; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, true).ID: return 865; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 8, false).ID: return 866; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, true).ID: return 867; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 9, false).ID: return 868; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, true).ID: return 869; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 10, false).ID: return 870; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, true).ID: return 871; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 11, false).ID: return 872; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, true).ID: return 873; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 12, false).ID: return 874; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, true).ID: return 875; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 13, false).ID: return 876; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, true).ID: return 877; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 14, false).ID: return 878; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, true).ID: return 879; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 15, false).ID: return 880; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, true).ID: return 881; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 16, false).ID: return 882; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, true).ID: return 883; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 17, false).ID: return 884; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, true).ID: return 885; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 18, false).ID: return 886; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, true).ID: return 887; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 19, false).ID: return 888; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, true).ID: return 889; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 20, false).ID: return 890; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, true).ID: return 891; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 21, false).ID: return 892; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, true).ID: return 893; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 22, false).ID: return 894; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, true).ID: return 895; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 23, false).ID: return 896; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, true).ID: return 897; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Didgeridoo, 24, false).ID: return 898; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, true).ID: return 899; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 0, false).ID: return 900; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, true).ID: return 901; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 1, false).ID: return 902; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, true).ID: return 903; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 2, false).ID: return 904; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, true).ID: return 905; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 3, false).ID: return 906; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, true).ID: return 907; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 4, false).ID: return 908; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, true).ID: return 909; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 5, false).ID: return 910; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, true).ID: return 911; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 6, false).ID: return 912; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, true).ID: return 913; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 7, false).ID: return 914; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, true).ID: return 915; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 8, false).ID: return 916; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, true).ID: return 917; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 9, false).ID: return 918; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, true).ID: return 919; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 10, false).ID: return 920; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, true).ID: return 921; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 11, false).ID: return 922; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, true).ID: return 923; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 12, false).ID: return 924; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, true).ID: return 925; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 13, false).ID: return 926; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, true).ID: return 927; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 14, false).ID: return 928; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, true).ID: return 929; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 15, false).ID: return 930; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, true).ID: return 931; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 16, false).ID: return 932; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, true).ID: return 933; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 17, false).ID: return 934; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, true).ID: return 935; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 18, false).ID: return 936; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, true).ID: return 937; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 19, false).ID: return 938; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, true).ID: return 939; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 20, false).ID: return 940; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, true).ID: return 941; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 21, false).ID: return 942; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, true).ID: return 943; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 22, false).ID: return 944; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, true).ID: return 945; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 23, false).ID: return 946; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, true).ID: return 947; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Bit, 24, false).ID: return 948; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, true).ID: return 949; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 0, false).ID: return 950; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, true).ID: return 951; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 1, false).ID: return 952; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, true).ID: return 953; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 2, false).ID: return 954; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, true).ID: return 955; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 3, false).ID: return 956; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, true).ID: return 957; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 4, false).ID: return 958; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, true).ID: return 959; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 5, false).ID: return 960; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, true).ID: return 961; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 6, false).ID: return 962; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, true).ID: return 963; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 7, false).ID: return 964; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, true).ID: return 965; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 8, false).ID: return 966; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, true).ID: return 967; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 9, false).ID: return 968; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, true).ID: return 969; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 10, false).ID: return 970; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, true).ID: return 971; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 11, false).ID: return 972; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, true).ID: return 973; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 12, false).ID: return 974; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, true).ID: return 975; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 13, false).ID: return 976; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, true).ID: return 977; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 14, false).ID: return 978; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, true).ID: return 979; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 15, false).ID: return 980; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, true).ID: return 981; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 16, false).ID: return 982; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, true).ID: return 983; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 17, false).ID: return 984; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, true).ID: return 985; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 18, false).ID: return 986; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, true).ID: return 987; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 19, false).ID: return 988; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, true).ID: return 989; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 20, false).ID: return 990; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, true).ID: return 991; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 21, false).ID: return 992; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, true).ID: return 993; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 22, false).ID: return 994; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, true).ID: return 995; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 23, false).ID: return 996; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, true).ID: return 997; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Banjo, 24, false).ID: return 998; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, true).ID: return 999; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 0, false).ID: return 1000; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, true).ID: return 1001; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 1, false).ID: return 1002; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, true).ID: return 1003; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 2, false).ID: return 1004; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, true).ID: return 1005; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 3, false).ID: return 1006; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, true).ID: return 1007; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 4, false).ID: return 1008; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, true).ID: return 1009; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 5, false).ID: return 1010; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, true).ID: return 1011; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 6, false).ID: return 1012; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, true).ID: return 1013; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 7, false).ID: return 1014; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, true).ID: return 1015; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 8, false).ID: return 1016; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, true).ID: return 1017; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 9, false).ID: return 1018; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, true).ID: return 1019; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 10, false).ID: return 1020; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, true).ID: return 1021; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 11, false).ID: return 1022; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, true).ID: return 1023; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 12, false).ID: return 1024; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, true).ID: return 1025; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 13, false).ID: return 1026; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, true).ID: return 1027; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 14, false).ID: return 1028; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, true).ID: return 1029; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 15, false).ID: return 1030; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, true).ID: return 1031; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 16, false).ID: return 1032; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, true).ID: return 1033; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 17, false).ID: return 1034; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, true).ID: return 1035; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 18, false).ID: return 1036; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, true).ID: return 1037; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 19, false).ID: return 1038; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, true).ID: return 1039; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 20, false).ID: return 1040; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, true).ID: return 1041; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 21, false).ID: return 1042; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, true).ID: return 1043; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 22, false).ID: return 1044; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, true).ID: return 1045; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 23, false).ID: return 1046; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, true).ID: return 1047; + case NoteBlock::NoteBlock(NoteBlock::Instrument::Pling, 24, false).ID: return 1048; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6346; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6347; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6348; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6349; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6350; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6351; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6352; + case OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6353; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6354; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6355; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6356; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6357; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6358; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6359; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6360; + case OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6361; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6362; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6363; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6364; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6365; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6366; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6367; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6368; + case OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6369; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3573; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3574; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3575; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3576; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3577; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3578; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3579; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3580; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3581; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3582; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3583; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3584; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3585; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3586; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3587; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3588; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3589; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3590; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3591; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3592; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3593; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3594; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3595; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3596; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3597; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3598; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3599; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3600; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3601; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3602; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3603; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3604; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3605; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3606; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3607; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3608; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3609; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3610; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3611; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3612; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3613; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3614; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3615; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3616; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3617; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3618; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3619; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3620; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, true).ID: + return 3621; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false).ID: + return 3622; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true).ID: + return 3623; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false).ID: + return 3624; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, true).ID: + return 3625; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, true, false).ID: + return 3626; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true).ID: + return 3627; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false).ID: + return 3628; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, true).ID: + return 3629; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, true, false).ID: + return 3630; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, true).ID: + return 3631; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Left, false, false).ID: + return 3632; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, true).ID: + return 3633; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false).ID: + return 3634; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, true).ID: + return 3635; + case OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false).ID: + return 3636; + case OakFence::OakFence(true, true, true, true).ID: return 3968; + case OakFence::OakFence(true, true, true, false).ID: return 3969; + case OakFence::OakFence(true, true, false, true).ID: return 3972; + case OakFence::OakFence(true, true, false, false).ID: return 3973; + case OakFence::OakFence(true, false, true, true).ID: return 3976; + case OakFence::OakFence(true, false, true, false).ID: return 3977; + case OakFence::OakFence(true, false, false, true).ID: return 3980; + case OakFence::OakFence(true, false, false, false).ID: return 3981; + case OakFence::OakFence(false, true, true, true).ID: return 3984; + case OakFence::OakFence(false, true, true, false).ID: return 3985; + case OakFence::OakFence(false, true, false, true).ID: return 3988; + case OakFence::OakFence(false, true, false, false).ID: return 3989; + case OakFence::OakFence(false, false, true, true).ID: return 3992; + case OakFence::OakFence(false, false, true, false).ID: return 3993; + case OakFence::OakFence(false, false, false, true).ID: return 3996; + case OakFence::OakFence(false, false, false, false).ID: return 3997; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 4820; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 4821; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 4822; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 4823; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 4824; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 4825; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 4826; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 4827; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 4828; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 4829; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 4830; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 4831; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 4832; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 4833; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 4834; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 4835; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 4836; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 4837; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 4838; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 4839; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 4840; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 4841; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 4842; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 4843; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 4844; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 4845; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 4846; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 4847; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 4848; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 4849; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 4850; + case OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 4851; + case OakLeaves::OakLeaves(1, true).ID: return 145; + case OakLeaves::OakLeaves(1, false).ID: return 146; + case OakLeaves::OakLeaves(2, true).ID: return 147; + case OakLeaves::OakLeaves(2, false).ID: return 148; + case OakLeaves::OakLeaves(3, true).ID: return 149; + case OakLeaves::OakLeaves(3, false).ID: return 150; + case OakLeaves::OakLeaves(4, true).ID: return 151; + case OakLeaves::OakLeaves(4, false).ID: return 152; + case OakLeaves::OakLeaves(5, true).ID: return 153; + case OakLeaves::OakLeaves(5, false).ID: return 154; + case OakLeaves::OakLeaves(6, true).ID: return 155; + case OakLeaves::OakLeaves(6, false).ID: return 156; + case OakLeaves::OakLeaves(7, true).ID: return 157; + case OakLeaves::OakLeaves(7, false).ID: return 158; + case OakLog::OakLog(OakLog::Axis::X).ID: return 73; + case OakLog::OakLog(OakLog::Axis::Y).ID: return 74; + case OakLog::OakLog(OakLog::Axis::Z).ID: return 75; + case OakPlanks::OakPlanks().ID: return 15; + case OakPressurePlate::OakPressurePlate(true).ID: return 3873; + case OakPressurePlate::OakPressurePlate(false).ID: return 3874; + case OakSapling::OakSapling(0).ID: return 21; + case OakSapling::OakSapling(1).ID: return 22; + case OakSign::OakSign(0).ID: return 3382; + case OakSign::OakSign(1).ID: return 3384; + case OakSign::OakSign(2).ID: return 3386; + case OakSign::OakSign(3).ID: return 3388; + case OakSign::OakSign(4).ID: return 3390; + case OakSign::OakSign(5).ID: return 3392; + case OakSign::OakSign(6).ID: return 3394; + case OakSign::OakSign(7).ID: return 3396; + case OakSign::OakSign(8).ID: return 3398; + case OakSign::OakSign(9).ID: return 3400; + case OakSign::OakSign(10).ID: return 3402; + case OakSign::OakSign(11).ID: return 3404; + case OakSign::OakSign(12).ID: return 3406; + case OakSign::OakSign(13).ID: return 3408; + case OakSign::OakSign(14).ID: return 3410; + case OakSign::OakSign(15).ID: return 3412; + case OakSlab::OakSlab(OakSlab::Type::Top).ID: return 8301; + case OakSlab::OakSlab(OakSlab::Type::Bottom).ID: return 8303; + case OakSlab::OakSlab(OakSlab::Type::Double).ID: return 8305; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1955; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1957; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1959; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1961; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1963; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1965; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1967; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1969; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1971; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1973; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1975; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1977; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1979; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 1981; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 1983; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 1985; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 1987; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 1989; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 1991; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 1993; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 1995; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 1997; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 1999; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 2001; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 2003; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 2005; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 2007; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 2009; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 2011; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 2013; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight).ID: + return 2015; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerLeft).ID: + return 2017; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::InnerRight).ID: + return 2019; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterLeft).ID: + return 2021; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::OuterRight).ID: + return 2023; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight).ID: + return 2025; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerLeft).ID: + return 2027; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::InnerRight).ID: + return 2029; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterLeft).ID: + return 2031; + case OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::OuterRight).ID: + return 2033; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, true).ID: return 4112; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false).ID: return 4114; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, true).ID: return 4116; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false).ID: return 4118; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, true).ID: return 4120; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false).ID: + return 4122; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, true).ID: + return 4124; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false).ID: + return 4126; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, true).ID: return 4128; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false).ID: return 4130; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, true).ID: return 4132; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false).ID: return 4134; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, true).ID: return 4136; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false).ID: + return 4138; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, true).ID: + return 4140; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false).ID: + return 4142; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, true).ID: return 4144; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false).ID: return 4146; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, true).ID: return 4148; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false).ID: return 4150; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, true).ID: return 4152; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false).ID: + return 4154; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, true).ID: + return 4156; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false).ID: + return 4158; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, true).ID: return 4160; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false).ID: return 4162; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, true).ID: return 4164; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false).ID: return 4166; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, true).ID: return 4168; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false).ID: + return 4170; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, true).ID: + return 4172; + case OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false).ID: + return 4174; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3736; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3738; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3740; + case OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3742; + case OakWood::OakWood(OakWood::Axis::X).ID: return 109; + case OakWood::OakWood(OakWood::Axis::Y).ID: return 110; + case OakWood::OakWood(OakWood::Axis::Z).ID: return 111; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true).ID: return 9260; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false).ID: return 9261; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, true).ID: return 9262; + case Observer::Observer(eBlockFace::BLOCK_FACE_XP, false).ID: return 9263; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true).ID: return 9264; + case Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false).ID: return 9265; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, true).ID: return 9266; + case Observer::Observer(eBlockFace::BLOCK_FACE_XM, false).ID: return 9267; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, true).ID: return 9268; + case Observer::Observer(eBlockFace::BLOCK_FACE_YP, false).ID: return 9269; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, true).ID: return 9270; + case Observer::Observer(eBlockFace::BLOCK_FACE_YM, false).ID: return 9271; + case Obsidian::Obsidian().ID: return 1434; + case OrangeBanner::OrangeBanner(0).ID: return 7913; + case OrangeBanner::OrangeBanner(1).ID: return 7914; + case OrangeBanner::OrangeBanner(2).ID: return 7915; + case OrangeBanner::OrangeBanner(3).ID: return 7916; + case OrangeBanner::OrangeBanner(4).ID: return 7917; + case OrangeBanner::OrangeBanner(5).ID: return 7918; + case OrangeBanner::OrangeBanner(6).ID: return 7919; + case OrangeBanner::OrangeBanner(7).ID: return 7920; + case OrangeBanner::OrangeBanner(8).ID: return 7921; + case OrangeBanner::OrangeBanner(9).ID: return 7922; + case OrangeBanner::OrangeBanner(10).ID: return 7923; + case OrangeBanner::OrangeBanner(11).ID: return 7924; + case OrangeBanner::OrangeBanner(12).ID: return 7925; + case OrangeBanner::OrangeBanner(13).ID: return 7926; + case OrangeBanner::OrangeBanner(14).ID: return 7927; + case OrangeBanner::OrangeBanner(15).ID: return 7928; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Head).ID: return 1065; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, true, OrangeBed::Part::Foot).ID: return 1066; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Head).ID: return 1067; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZM, false, OrangeBed::Part::Foot).ID: return 1068; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Head).ID: return 1069; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, true, OrangeBed::Part::Foot).ID: return 1070; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Head).ID: return 1071; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_ZP, false, OrangeBed::Part::Foot).ID: return 1072; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Head).ID: return 1073; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, true, OrangeBed::Part::Foot).ID: return 1074; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Head).ID: return 1075; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XM, false, OrangeBed::Part::Foot).ID: return 1076; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Head).ID: return 1077; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, true, OrangeBed::Part::Foot).ID: return 1078; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Head).ID: return 1079; + case OrangeBed::OrangeBed(eBlockFace::BLOCK_FACE_XP, false, OrangeBed::Part::Foot).ID: return 1080; + case OrangeCarpet::OrangeCarpet().ID: return 7867; + case OrangeConcrete::OrangeConcrete().ID: return 9439; + case OrangeConcretePowder::OrangeConcretePowder().ID: return 9455; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9378; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9379; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9380; + case OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9381; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9284; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9285; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9286; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9287; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9288; + case OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9289; + case OrangeStainedGlass::OrangeStainedGlass().ID: return 4096; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, true).ID: return 6897; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, true, false).ID: return 6898; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, true).ID: return 6901; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, true, false, false).ID: return 6902; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, true).ID: return 6905; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, true, false).ID: return 6906; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, true).ID: return 6909; + case OrangeStainedGlassPane::OrangeStainedGlassPane(true, false, false, false).ID: return 6910; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, true).ID: return 6913; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, true, false).ID: return 6914; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, true).ID: return 6917; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, true, false, false).ID: return 6918; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, true).ID: return 6921; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, true, false).ID: return 6922; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, true).ID: return 6925; + case OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false).ID: return 6926; + case OrangeTerracotta::OrangeTerracotta().ID: return 6848; + case OrangeTulip::OrangeTulip().ID: return 1418; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8157; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8158; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8159; + case OrangeWallBanner::OrangeWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8160; + case OrangeWool::OrangeWool().ID: return 1385; + case OxeyeDaisy::OxeyeDaisy().ID: return 1421; + case PackedIce::PackedIce().ID: return 7884; + case Peony::Peony(Peony::Half::Upper).ID: return 7891; + case Peony::Peony(Peony::Half::Lower).ID: return 7892; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top).ID: return 8361; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom).ID: return 8363; + case PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double).ID: return 8365; + case PinkBanner::PinkBanner(0).ID: return 7993; + case PinkBanner::PinkBanner(1).ID: return 7994; + case PinkBanner::PinkBanner(2).ID: return 7995; + case PinkBanner::PinkBanner(3).ID: return 7996; + case PinkBanner::PinkBanner(4).ID: return 7997; + case PinkBanner::PinkBanner(5).ID: return 7998; + case PinkBanner::PinkBanner(6).ID: return 7999; + case PinkBanner::PinkBanner(7).ID: return 8000; + case PinkBanner::PinkBanner(8).ID: return 8001; + case PinkBanner::PinkBanner(9).ID: return 8002; + case PinkBanner::PinkBanner(10).ID: return 8003; + case PinkBanner::PinkBanner(11).ID: return 8004; + case PinkBanner::PinkBanner(12).ID: return 8005; + case PinkBanner::PinkBanner(13).ID: return 8006; + case PinkBanner::PinkBanner(14).ID: return 8007; + case PinkBanner::PinkBanner(15).ID: return 8008; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Head).ID: return 1145; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, true, PinkBed::Part::Foot).ID: return 1146; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Head).ID: return 1147; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZM, false, PinkBed::Part::Foot).ID: return 1148; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Head).ID: return 1149; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, true, PinkBed::Part::Foot).ID: return 1150; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Head).ID: return 1151; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_ZP, false, PinkBed::Part::Foot).ID: return 1152; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Head).ID: return 1153; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, true, PinkBed::Part::Foot).ID: return 1154; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Head).ID: return 1155; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XM, false, PinkBed::Part::Foot).ID: return 1156; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Head).ID: return 1157; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, true, PinkBed::Part::Foot).ID: return 1158; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Head).ID: return 1159; + case PinkBed::PinkBed(eBlockFace::BLOCK_FACE_XP, false, PinkBed::Part::Foot).ID: return 1160; + case PinkCarpet::PinkCarpet().ID: return 7872; + case PinkConcrete::PinkConcrete().ID: return 9444; + case PinkConcretePowder::PinkConcretePowder().ID: return 9460; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9398; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9399; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9400; + case PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9401; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9314; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9315; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9316; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9317; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9318; + case PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9319; + case PinkStainedGlass::PinkStainedGlass().ID: return 4101; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, true).ID: return 7057; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, true, false).ID: return 7058; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, true).ID: return 7061; + case PinkStainedGlassPane::PinkStainedGlassPane(true, true, false, false).ID: return 7062; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, true).ID: return 7065; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, true, false).ID: return 7066; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, true).ID: return 7069; + case PinkStainedGlassPane::PinkStainedGlassPane(true, false, false, false).ID: return 7070; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, true).ID: return 7073; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, true, false).ID: return 7074; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, true).ID: return 7077; + case PinkStainedGlassPane::PinkStainedGlassPane(false, true, false, false).ID: return 7078; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, true).ID: return 7081; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, true, false).ID: return 7082; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, true).ID: return 7085; + case PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false).ID: return 7086; + case PinkTerracotta::PinkTerracotta().ID: return 6853; + case PinkTulip::PinkTulip().ID: return 1420; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8177; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8178; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8179; + case PinkWallBanner::PinkWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8180; + case PinkWool::PinkWool().ID: return 1390; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1348; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1349; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1350; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1351; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1352; + case Piston::Piston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1353; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1354; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1355; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1356; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1357; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1358; + case Piston::Piston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1359; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Normal).ID: return 1360; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, true, PistonHead::Type::Sticky).ID: return 1361; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal).ID: return 1362; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky).ID: return 1363; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Normal).ID: return 1364; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, true, PistonHead::Type::Sticky).ID: return 1365; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal).ID: return 1366; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky).ID: return 1367; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Normal).ID: return 1368; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, true, PistonHead::Type::Sticky).ID: return 1369; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal).ID: return 1370; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky).ID: return 1371; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Normal).ID: return 1372; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, true, PistonHead::Type::Sticky).ID: return 1373; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal).ID: return 1374; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky).ID: return 1375; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Normal).ID: return 1376; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, true, PistonHead::Type::Sticky).ID: return 1377; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal).ID: return 1378; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky).ID: return 1379; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Normal).ID: return 1380; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, true, PistonHead::Type::Sticky).ID: return 1381; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal).ID: return 1382; + case PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky).ID: return 1383; + case PlayerHead::PlayerHead(0).ID: return 6550; + case PlayerHead::PlayerHead(1).ID: return 6551; + case PlayerHead::PlayerHead(2).ID: return 6552; + case PlayerHead::PlayerHead(3).ID: return 6553; + case PlayerHead::PlayerHead(4).ID: return 6554; + case PlayerHead::PlayerHead(5).ID: return 6555; + case PlayerHead::PlayerHead(6).ID: return 6556; + case PlayerHead::PlayerHead(7).ID: return 6557; + case PlayerHead::PlayerHead(8).ID: return 6558; + case PlayerHead::PlayerHead(9).ID: return 6559; + case PlayerHead::PlayerHead(10).ID: return 6560; + case PlayerHead::PlayerHead(11).ID: return 6561; + case PlayerHead::PlayerHead(12).ID: return 6562; + case PlayerHead::PlayerHead(13).ID: return 6563; + case PlayerHead::PlayerHead(14).ID: return 6564; + case PlayerHead::PlayerHead(15).ID: return 6565; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6566; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6567; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6568; + case PlayerWallHead::PlayerWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6569; + case Podzol::Podzol(true).ID: return 12; + case Podzol::Podzol(false).ID: return 13; + case PolishedAndesite::PolishedAndesite().ID: return 7; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Top).ID: return 10856; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Bottom).ID: return 10858; + case PolishedAndesiteSlab::PolishedAndesiteSlab(PolishedAndesiteSlab::Type::Double).ID: return 10860; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10630; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10632; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10634; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10636; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10638; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10640; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10642; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10644; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10646; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10648; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10650; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10652; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10654; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10656; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10658; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10660; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10662; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10664; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10666; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10668; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10670; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10672; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10674; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10676; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10678; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10680; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10682; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10684; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10686; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10688; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10690; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10692; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10694; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10696; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Top, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10698; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::Straight + ) + .ID: + return 10700; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerLeft + ) + .ID: + return 10702; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::InnerRight + ) + .ID: + return 10704; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterLeft + ) + .ID: + return 10706; + case PolishedAndesiteStairs::PolishedAndesiteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedAndesiteStairs::Half::Bottom, + PolishedAndesiteStairs::Shape::OuterRight + ) + .ID: + return 10708; + case PolishedBasalt::PolishedBasalt(PolishedBasalt::Axis::X).ID: return 4005; + case PolishedBasalt::PolishedBasalt(PolishedBasalt::Axis::Y).ID: return 4006; + case PolishedBasalt::PolishedBasalt(PolishedBasalt::Axis::Z).ID: return 4007; + case PolishedBlackstone::PolishedBlackstone().ID: return 16250; + case PolishedBlackstoneBrickSlab::PolishedBlackstoneBrickSlab(PolishedBlackstoneBrickSlab::Type::Top).ID: + return 16255; + case PolishedBlackstoneBrickSlab::PolishedBlackstoneBrickSlab(PolishedBlackstoneBrickSlab::Type::Bottom).ID: + return 16257; + case PolishedBlackstoneBrickSlab::PolishedBlackstoneBrickSlab(PolishedBlackstoneBrickSlab::Type::Double).ID: + return 16259; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::Straight + ) + .ID: + return 16261; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 16263; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::InnerRight + ) + .ID: + return 16265; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 16267; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::OuterRight + ) + .ID: + return 16269; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::Straight + ) + .ID: + return 16271; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 16273; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::InnerRight + ) + .ID: + return 16275; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 16277; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::OuterRight + ) + .ID: + return 16279; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::Straight + ) + .ID: + return 16281; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 16283; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::InnerRight + ) + .ID: + return 16285; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 16287; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::OuterRight + ) + .ID: + return 16289; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::Straight + ) + .ID: + return 16291; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 16293; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::InnerRight + ) + .ID: + return 16295; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 16297; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::OuterRight + ) + .ID: + return 16299; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::Straight + ) + .ID: + return 16301; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 16303; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::InnerRight + ) + .ID: + return 16305; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 16307; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::OuterRight + ) + .ID: + return 16309; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::Straight + ) + .ID: + return 16311; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 16313; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::InnerRight + ) + .ID: + return 16315; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 16317; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::OuterRight + ) + .ID: + return 16319; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::Straight + ) + .ID: + return 16321; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 16323; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::InnerRight + ) + .ID: + return 16325; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 16327; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Top, + PolishedBlackstoneBrickStairs::Shape::OuterRight + ) + .ID: + return 16329; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::Straight + ) + .ID: + return 16331; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 16333; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::InnerRight + ) + .ID: + return 16335; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 16337; + case PolishedBlackstoneBrickStairs::PolishedBlackstoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneBrickStairs::Half::Bottom, + PolishedBlackstoneBrickStairs::Shape::OuterRight + ) + .ID: + return 16339; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16343; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16344; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16345; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16349; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16350; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16351; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16355; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16356; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16357; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16361; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16362; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16363; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16367; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16368; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16369; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16373; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16374; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16375; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16379; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16380; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16381; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16385; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16386; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16387; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16391; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16392; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16393; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16397; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16398; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16399; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16403; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16404; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16405; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16409; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16410; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16411; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16415; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16416; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16417; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16421; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16422; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16423; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16427; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16428; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16429; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16433; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16434; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16435; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16439; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16440; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16441; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16445; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16446; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::None, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16447; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16451; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16452; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16453; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16457; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16458; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16459; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16463; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16464; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16465; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16469; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16470; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16471; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16475; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16476; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16477; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16481; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16482; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16483; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16487; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16488; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16489; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16493; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16494; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16495; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16499; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16500; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16501; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16505; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16506; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16507; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16511; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16512; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16513; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16517; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16518; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16519; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16523; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16524; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16525; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16529; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16530; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16531; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16535; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16536; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16537; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16541; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16542; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16543; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16547; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16548; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16549; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16553; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16554; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Low, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16555; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16559; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16560; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16561; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16565; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16566; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16567; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16571; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16572; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16573; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16577; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16578; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16579; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16583; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16584; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16585; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16589; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16590; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::None, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16591; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16595; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16596; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16597; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16601; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16602; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16603; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16607; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16608; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16609; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16613; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16614; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16615; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16619; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16620; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16621; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16625; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16626; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Low, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16627; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16631; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16632; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16633; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16637; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16638; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::None, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16639; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16643; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16644; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16645; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16649; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16650; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Low, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16651; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16655; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16656; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + true, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16657; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::None + ) + .ID: + return 16661; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Low + ) + .ID: + return 16662; + case PolishedBlackstoneBrickWall::PolishedBlackstoneBrickWall( + PolishedBlackstoneBrickWall::East::Tall, + PolishedBlackstoneBrickWall::North::Tall, + PolishedBlackstoneBrickWall::South::Tall, + false, + PolishedBlackstoneBrickWall::West::Tall + ) + .ID: + return 16663; + case PolishedBlackstoneBricks::PolishedBlackstoneBricks().ID: return 16251; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Floor, + eBlockFace::BLOCK_FACE_ZM, + true + ) + .ID: + return 16753; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Floor, + eBlockFace::BLOCK_FACE_ZM, + false + ) + .ID: + return 16754; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Floor, + eBlockFace::BLOCK_FACE_ZP, + true + ) + .ID: + return 16755; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Floor, + eBlockFace::BLOCK_FACE_ZP, + false + ) + .ID: + return 16756; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Floor, + eBlockFace::BLOCK_FACE_XM, + true + ) + .ID: + return 16757; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Floor, + eBlockFace::BLOCK_FACE_XM, + false + ) + .ID: + return 16758; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Floor, + eBlockFace::BLOCK_FACE_XP, + true + ) + .ID: + return 16759; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Floor, + eBlockFace::BLOCK_FACE_XP, + false + ) + .ID: + return 16760; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Wall, + eBlockFace::BLOCK_FACE_ZM, + true + ) + .ID: + return 16761; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Wall, + eBlockFace::BLOCK_FACE_ZM, + false + ) + .ID: + return 16762; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Wall, + eBlockFace::BLOCK_FACE_ZP, + true + ) + .ID: + return 16763; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Wall, + eBlockFace::BLOCK_FACE_ZP, + false + ) + .ID: + return 16764; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Wall, + eBlockFace::BLOCK_FACE_XM, + true + ) + .ID: + return 16765; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Wall, + eBlockFace::BLOCK_FACE_XM, + false + ) + .ID: + return 16766; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Wall, + eBlockFace::BLOCK_FACE_XP, + true + ) + .ID: + return 16767; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Wall, + eBlockFace::BLOCK_FACE_XP, + false + ) + .ID: + return 16768; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Ceiling, + eBlockFace::BLOCK_FACE_ZM, + true + ) + .ID: + return 16769; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Ceiling, + eBlockFace::BLOCK_FACE_ZM, + false + ) + .ID: + return 16770; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Ceiling, + eBlockFace::BLOCK_FACE_ZP, + true + ) + .ID: + return 16771; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Ceiling, + eBlockFace::BLOCK_FACE_ZP, + false + ) + .ID: + return 16772; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Ceiling, + eBlockFace::BLOCK_FACE_XM, + true + ) + .ID: + return 16773; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Ceiling, + eBlockFace::BLOCK_FACE_XM, + false + ) + .ID: + return 16774; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Ceiling, + eBlockFace::BLOCK_FACE_XP, + true + ) + .ID: + return 16775; + case PolishedBlackstoneButton::PolishedBlackstoneButton( + PolishedBlackstoneButton::Face::Ceiling, + eBlockFace::BLOCK_FACE_XP, + false + ) + .ID: + return 16776; + case PolishedBlackstonePressurePlate::PolishedBlackstonePressurePlate(true).ID: return 16751; + case PolishedBlackstonePressurePlate::PolishedBlackstonePressurePlate(false).ID: return 16752; + case PolishedBlackstoneSlab::PolishedBlackstoneSlab(PolishedBlackstoneSlab::Type::Top).ID: return 16746; + case PolishedBlackstoneSlab::PolishedBlackstoneSlab(PolishedBlackstoneSlab::Type::Bottom).ID: return 16748; + case PolishedBlackstoneSlab::PolishedBlackstoneSlab(PolishedBlackstoneSlab::Type::Double).ID: return 16750; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::Straight + ) + .ID: + return 16666; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 16668; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::InnerRight + ) + .ID: + return 16670; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 16672; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::OuterRight + ) + .ID: + return 16674; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::Straight + ) + .ID: + return 16676; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 16678; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::InnerRight + ) + .ID: + return 16680; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 16682; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::OuterRight + ) + .ID: + return 16684; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::Straight + ) + .ID: + return 16686; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 16688; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::InnerRight + ) + .ID: + return 16690; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 16692; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::OuterRight + ) + .ID: + return 16694; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::Straight + ) + .ID: + return 16696; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 16698; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::InnerRight + ) + .ID: + return 16700; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 16702; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::OuterRight + ) + .ID: + return 16704; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::Straight + ) + .ID: + return 16706; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 16708; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::InnerRight + ) + .ID: + return 16710; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 16712; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::OuterRight + ) + .ID: + return 16714; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::Straight + ) + .ID: + return 16716; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 16718; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::InnerRight + ) + .ID: + return 16720; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 16722; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::OuterRight + ) + .ID: + return 16724; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::Straight + ) + .ID: + return 16726; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 16728; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::InnerRight + ) + .ID: + return 16730; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 16732; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Top, + PolishedBlackstoneStairs::Shape::OuterRight + ) + .ID: + return 16734; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::Straight + ) + .ID: + return 16736; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::InnerLeft + ) + .ID: + return 16738; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::InnerRight + ) + .ID: + return 16740; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::OuterLeft + ) + .ID: + return 16742; + case PolishedBlackstoneStairs::PolishedBlackstoneStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedBlackstoneStairs::Half::Bottom, + PolishedBlackstoneStairs::Shape::OuterRight + ) + .ID: + return 16744; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16780; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16781; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16782; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16786; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16787; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16788; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16792; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16793; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16794; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16798; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16799; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16800; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16804; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16805; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16806; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16810; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16811; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16812; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16816; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16817; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16818; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16822; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16823; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16824; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16828; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16829; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16830; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16834; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16835; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16836; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16840; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16841; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16842; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16846; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16847; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16848; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16852; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16853; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16854; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16858; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16859; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16860; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16864; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16865; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16866; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16870; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16871; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16872; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16876; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16877; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16878; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16882; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16883; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::None, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16884; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16888; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16889; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16890; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16894; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16895; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16896; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16900; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16901; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16902; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16906; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16907; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16908; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16912; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16913; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16914; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16918; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16919; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16920; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16924; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16925; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16926; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16930; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16931; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16932; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16936; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16937; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16938; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16942; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16943; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16944; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16948; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16949; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16950; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16954; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16955; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16956; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16960; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16961; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16962; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16966; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16967; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16968; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16972; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16973; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16974; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16978; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16979; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16980; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16984; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16985; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16986; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16990; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16991; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Low, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16992; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 16996; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 16997; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 16998; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17002; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17003; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17004; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17008; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17009; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17010; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17014; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17015; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17016; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17020; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17021; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17022; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17026; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17027; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::None, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17028; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17032; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17033; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17034; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17038; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17039; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17040; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17044; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17045; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17046; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17050; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17051; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17052; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17056; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17057; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17058; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17062; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17063; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Low, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17064; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17068; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17069; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17070; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17074; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17075; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::None, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17076; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17080; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17081; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17082; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17086; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17087; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Low, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17088; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17092; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17093; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + true, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17094; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::None + ) + .ID: + return 17098; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Low + ) + .ID: + return 17099; + case PolishedBlackstoneWall::PolishedBlackstoneWall( + PolishedBlackstoneWall::East::Tall, + PolishedBlackstoneWall::North::Tall, + PolishedBlackstoneWall::South::Tall, + false, + PolishedBlackstoneWall::West::Tall + ) + .ID: + return 17100; + case PolishedDiorite::PolishedDiorite().ID: return 5; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Top).ID: return 10808; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Bottom).ID: return 10810; + case PolishedDioriteSlab::PolishedDioriteSlab(PolishedDioriteSlab::Type::Double).ID: return 10812; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9910; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9912; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9914; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9916; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9918; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9920; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9922; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9924; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9926; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9928; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9930; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9932; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9934; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9936; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9938; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9940; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9942; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9944; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9946; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9948; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9950; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9952; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9954; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9956; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9958; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9960; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9962; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9964; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9966; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9968; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9970; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9972; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9974; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9976; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Top, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9978; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::Straight + ) + .ID: + return 9980; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerLeft + ) + .ID: + return 9982; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::InnerRight + ) + .ID: + return 9984; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterLeft + ) + .ID: + return 9986; + case PolishedDioriteStairs::PolishedDioriteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedDioriteStairs::Half::Bottom, + PolishedDioriteStairs::Shape::OuterRight + ) + .ID: + return 9988; + case PolishedGranite::PolishedGranite().ID: return 3; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Top).ID: return 10790; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Bottom).ID: return 10792; + case PolishedGraniteSlab::PolishedGraniteSlab(PolishedGraniteSlab::Type::Double).ID: return 10794; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9670; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9672; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9674; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9676; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9678; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9680; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9682; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9684; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9686; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9688; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9690; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9692; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9694; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9696; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9698; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9700; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9702; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9704; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9706; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_ZP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9708; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9710; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9712; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9714; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9716; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9718; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9720; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9722; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9724; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9726; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XM, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9728; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9730; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9732; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9734; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9736; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Top, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9738; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::Straight + ) + .ID: + return 9740; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerLeft + ) + .ID: + return 9742; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::InnerRight + ) + .ID: + return 9744; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterLeft + ) + .ID: + return 9746; + case PolishedGraniteStairs::PolishedGraniteStairs( + eBlockFace::BLOCK_FACE_XP, + PolishedGraniteStairs::Half::Bottom, + PolishedGraniteStairs::Shape::OuterRight + ) + .ID: + return 9748; + case Poppy::Poppy().ID: return 1413; + case Potatoes::Potatoes(0).ID: return 6338; + case Potatoes::Potatoes(1).ID: return 6339; + case Potatoes::Potatoes(2).ID: return 6340; + case Potatoes::Potatoes(3).ID: return 6341; + case Potatoes::Potatoes(4).ID: return 6342; + case Potatoes::Potatoes(5).ID: return 6343; + case Potatoes::Potatoes(6).ID: return 6344; + case Potatoes::Potatoes(7).ID: return 6345; + case PottedAcaciaSapling::PottedAcaciaSapling().ID: return 6310; + case PottedAllium::PottedAllium().ID: return 6316; + case PottedAzureBluet::PottedAzureBluet().ID: return 6317; + case PottedBamboo::PottedBamboo().ID: return 9664; + case PottedBirchSapling::PottedBirchSapling().ID: return 6308; + case PottedBlueOrchid::PottedBlueOrchid().ID: return 6315; + case PottedBrownMushroom::PottedBrownMushroom().ID: return 6327; + case PottedCactus::PottedCactus().ID: return 6329; + case PottedCornflower::PottedCornflower().ID: return 6323; + case PottedCrimsonFungus::PottedCrimsonFungus().ID: return 15834; + case PottedCrimsonRoots::PottedCrimsonRoots().ID: return 15836; + case PottedDandelion::PottedDandelion().ID: return 6313; + case PottedDarkOakSapling::PottedDarkOakSapling().ID: return 6311; + case PottedDeadBush::PottedDeadBush().ID: return 6328; + case PottedFern::PottedFern().ID: return 6312; + case PottedJungleSapling::PottedJungleSapling().ID: return 6309; + case PottedLilyOfTheValley::PottedLilyOfTheValley().ID: return 6324; + case PottedOakSapling::PottedOakSapling().ID: return 6306; + case PottedOrangeTulip::PottedOrangeTulip().ID: return 6319; + case PottedOxeyeDaisy::PottedOxeyeDaisy().ID: return 6322; + case PottedPinkTulip::PottedPinkTulip().ID: return 6321; + case PottedPoppy::PottedPoppy().ID: return 6314; + case PottedRedMushroom::PottedRedMushroom().ID: return 6326; + case PottedRedTulip::PottedRedTulip().ID: return 6318; + case PottedSpruceSapling::PottedSpruceSapling().ID: return 6307; + case PottedWarpedFungus::PottedWarpedFungus().ID: return 15835; + case PottedWarpedRoots::PottedWarpedRoots().ID: return 15837; + case PottedWhiteTulip::PottedWhiteTulip().ID: return 6320; + case PottedWitherRose::PottedWitherRose().ID: return 6325; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth).ID: return 1305; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest).ID: return 1306; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast).ID: return 1307; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest).ID: return 1308; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth).ID: return 1309; + case PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth).ID: return 1310; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth).ID: return 1311; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest).ID: return 1312; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast).ID: return 1313; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest).ID: return 1314; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth).ID: return 1315; + case PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth).ID: return 1316; + case Prismarine::Prismarine().ID: return 7601; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Top).ID: return 7851; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Bottom).ID: return 7853; + case PrismarineBrickSlab::PrismarineBrickSlab(PrismarineBrickSlab::Type::Double).ID: return 7855; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7685; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7687; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7689; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7691; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7693; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7695; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7697; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7699; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7701; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7703; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7705; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7707; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7709; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7711; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7713; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7715; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7717; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7719; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7721; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7723; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7725; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7727; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7729; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7731; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7733; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7735; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7737; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7739; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7741; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7743; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7745; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7747; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7749; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7751; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Top, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7753; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::Straight + ) + .ID: + return 7755; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerLeft + ) + .ID: + return 7757; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::InnerRight + ) + .ID: + return 7759; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterLeft + ) + .ID: + return 7761; + case PrismarineBrickStairs::PrismarineBrickStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineBrickStairs::Half::Bottom, + PrismarineBrickStairs::Shape::OuterRight + ) + .ID: + return 7763; + case PrismarineBricks::PrismarineBricks().ID: return 7602; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Top).ID: return 7845; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Bottom).ID: return 7847; + case PrismarineSlab::PrismarineSlab(PrismarineSlab::Type::Double).ID: return 7849; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7605; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7607; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7609; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7611; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7613; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7615; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7617; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7619; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7621; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7623; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7625; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7627; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7629; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7631; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7633; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7635; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7637; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7639; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7641; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_ZP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7643; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7645; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7647; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7649; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7651; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7653; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7655; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7657; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7659; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7661; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XM, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7663; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7665; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7667; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7669; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7671; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Top, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7673; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::Straight + ) + .ID: + return 7675; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerLeft + ) + .ID: + return 7677; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::InnerRight + ) + .ID: + return 7679; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterLeft + ) + .ID: + return 7681; + case PrismarineStairs::PrismarineStairs( + eBlockFace::BLOCK_FACE_XP, + PrismarineStairs::Half::Bottom, + PrismarineStairs::Shape::OuterRight + ) + .ID: + return 7683; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11194; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11195; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11196; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11200; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11201; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11202; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11206; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11207; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11208; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11212; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11213; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11214; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11218; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11219; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11220; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11224; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11225; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11226; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11230; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11231; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11232; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11236; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11237; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11238; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11242; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11243; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11244; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11248; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11249; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11250; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11254; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11255; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11256; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11260; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11261; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11262; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11266; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11267; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11268; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11272; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11273; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11274; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11278; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11279; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11280; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11284; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11285; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11286; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11290; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11291; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11292; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11296; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11297; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::None, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11298; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11302; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11303; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11304; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11308; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11309; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11310; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11314; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11315; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11316; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11320; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11321; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11322; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11326; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11327; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11328; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11332; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11333; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11334; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11338; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11339; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11340; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11344; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11345; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11346; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11350; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11351; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11352; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11356; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11357; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11358; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11362; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11363; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11364; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11368; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11369; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11370; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11374; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11375; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11376; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11380; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11381; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11382; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11386; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11387; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11388; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11392; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11393; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11394; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11398; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11399; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11400; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11404; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11405; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Low, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11406; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11410; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11411; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11412; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11416; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11417; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11418; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11422; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11423; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11424; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11428; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11429; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11430; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11434; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11435; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11436; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11440; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11441; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::None, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11442; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11446; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11447; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11448; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11452; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11453; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11454; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11458; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11459; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11460; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11464; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11465; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11466; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11470; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11471; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11472; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11476; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11477; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Low, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11478; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::None + ) + .ID: + return 11482; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::Low + ) + .ID: + return 11483; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11484; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::None + ) + .ID: + return 11488; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::Low + ) + .ID: + return 11489; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::None, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11490; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::None + ) + .ID: + return 11494; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Low + ) + .ID: + return 11495; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11496; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::None + ) + .ID: + return 11500; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Low + ) + .ID: + return 11501; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Low, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11502; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::None + ) + .ID: + return 11506; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Low + ) + .ID: + return 11507; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + true, + PrismarineWall::West::Tall + ) + .ID: + return 11508; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::None + ) + .ID: + return 11512; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Low + ) + .ID: + return 11513; + case PrismarineWall::PrismarineWall( + PrismarineWall::East::Tall, + PrismarineWall::North::Tall, + PrismarineWall::South::Tall, + false, + PrismarineWall::West::Tall + ) + .ID: + return 11514; + case Pumpkin::Pumpkin().ID: return 3998; + case PumpkinStem::PumpkinStem(0).ID: return 4772; + case PumpkinStem::PumpkinStem(1).ID: return 4773; + case PumpkinStem::PumpkinStem(2).ID: return 4774; + case PumpkinStem::PumpkinStem(3).ID: return 4775; + case PumpkinStem::PumpkinStem(4).ID: return 4776; + case PumpkinStem::PumpkinStem(5).ID: return 4777; + case PumpkinStem::PumpkinStem(6).ID: return 4778; + case PumpkinStem::PumpkinStem(7).ID: return 4779; + case PurpleBanner::PurpleBanner(0).ID: return 8057; + case PurpleBanner::PurpleBanner(1).ID: return 8058; + case PurpleBanner::PurpleBanner(2).ID: return 8059; + case PurpleBanner::PurpleBanner(3).ID: return 8060; + case PurpleBanner::PurpleBanner(4).ID: return 8061; + case PurpleBanner::PurpleBanner(5).ID: return 8062; + case PurpleBanner::PurpleBanner(6).ID: return 8063; + case PurpleBanner::PurpleBanner(7).ID: return 8064; + case PurpleBanner::PurpleBanner(8).ID: return 8065; + case PurpleBanner::PurpleBanner(9).ID: return 8066; + case PurpleBanner::PurpleBanner(10).ID: return 8067; + case PurpleBanner::PurpleBanner(11).ID: return 8068; + case PurpleBanner::PurpleBanner(12).ID: return 8069; + case PurpleBanner::PurpleBanner(13).ID: return 8070; + case PurpleBanner::PurpleBanner(14).ID: return 8071; + case PurpleBanner::PurpleBanner(15).ID: return 8072; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Head).ID: return 1209; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, true, PurpleBed::Part::Foot).ID: return 1210; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Head).ID: return 1211; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZM, false, PurpleBed::Part::Foot).ID: return 1212; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Head).ID: return 1213; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, true, PurpleBed::Part::Foot).ID: return 1214; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Head).ID: return 1215; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_ZP, false, PurpleBed::Part::Foot).ID: return 1216; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Head).ID: return 1217; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, true, PurpleBed::Part::Foot).ID: return 1218; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Head).ID: return 1219; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XM, false, PurpleBed::Part::Foot).ID: return 1220; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Head).ID: return 1221; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, true, PurpleBed::Part::Foot).ID: return 1222; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Head).ID: return 1223; + case PurpleBed::PurpleBed(eBlockFace::BLOCK_FACE_XP, false, PurpleBed::Part::Foot).ID: return 1224; + case PurpleCarpet::PurpleCarpet().ID: return 7876; + case PurpleConcrete::PurpleConcrete().ID: return 9448; + case PurpleConcretePowder::PurpleConcretePowder().ID: return 9464; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9414; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9415; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9416; + case PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9417; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9338; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9339; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9340; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9341; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9342; + case PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9343; + case PurpleStainedGlass::PurpleStainedGlass().ID: return 4105; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, true).ID: return 7185; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, true, false).ID: return 7186; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, true).ID: return 7189; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, true, false, false).ID: return 7190; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, true).ID: return 7193; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, true, false).ID: return 7194; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, true).ID: return 7197; + case PurpleStainedGlassPane::PurpleStainedGlassPane(true, false, false, false).ID: return 7198; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, true).ID: return 7201; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, true, false).ID: return 7202; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, true).ID: return 7205; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, true, false, false).ID: return 7206; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, true).ID: return 7209; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, true, false).ID: return 7210; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, true).ID: return 7213; + case PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false).ID: return 7214; + case PurpleTerracotta::PurpleTerracotta().ID: return 6857; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8193; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8194; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8195; + case PurpleWallBanner::PurpleWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8196; + case PurpleWool::PurpleWool().ID: return 1394; + case PurpurBlock::PurpurBlock().ID: return 9134; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::X).ID: return 9135; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y).ID: return 9136; + case PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z).ID: return 9137; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Top).ID: return 8409; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom).ID: return 8411; + case PurpurSlab::PurpurSlab(PurpurSlab::Type::Double).ID: return 8413; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 9139; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 9141; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 9143; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 9145; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 9147; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 9149; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 9151; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 9153; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 9155; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 9157; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 9159; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 9161; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 9163; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 9165; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 9167; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 9169; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 9171; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 9173; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 9175; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_ZP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 9177; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 9179; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 9181; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 9183; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 9185; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 9187; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 9189; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 9191; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 9193; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 9195; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XM, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 9197; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::Straight + ) + .ID: + return 9199; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 9201; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 9203; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 9205; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Top, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 9207; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::Straight + ) + .ID: + return 9209; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerLeft + ) + .ID: + return 9211; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::InnerRight + ) + .ID: + return 9213; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterLeft + ) + .ID: + return 9215; + case PurpurStairs::PurpurStairs( + eBlockFace::BLOCK_FACE_XP, + PurpurStairs::Half::Bottom, + PurpurStairs::Shape::OuterRight + ) + .ID: + return 9217; + case QuartzBlock::QuartzBlock().ID: return 6738; + case QuartzBricks::QuartzBricks().ID: return 17103; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::X).ID: return 6740; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y).ID: return 6741; + case QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z).ID: return 6742; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Top).ID: return 8391; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom).ID: return 8393; + case QuartzSlab::QuartzSlab(QuartzSlab::Type::Double).ID: return 8395; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6744; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6746; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6748; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6750; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6752; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6754; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6756; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6758; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6760; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6762; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6764; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6766; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6768; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6770; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6772; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6774; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6776; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6778; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6780; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6782; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6784; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6786; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6788; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6790; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6792; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6794; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6796; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6798; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6800; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XM, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6802; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::Straight + ) + .ID: + return 6804; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6806; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6808; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6810; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Top, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6812; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::Straight + ) + .ID: + return 6814; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerLeft + ) + .ID: + return 6816; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::InnerRight + ) + .ID: + return 6818; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterLeft + ) + .ID: + return 6820; + case QuartzStairs::QuartzStairs( + eBlockFace::BLOCK_FACE_XP, + QuartzStairs::Half::Bottom, + QuartzStairs::Shape::OuterRight + ) + .ID: + return 6822; + case Rail::Rail(Rail::Shape::NorthSouth).ID: return 3645; + case Rail::Rail(Rail::Shape::EastWest).ID: return 3646; + case Rail::Rail(Rail::Shape::AscendingEast).ID: return 3647; + case Rail::Rail(Rail::Shape::AscendingWest).ID: return 3648; + case Rail::Rail(Rail::Shape::AscendingNorth).ID: return 3649; + case Rail::Rail(Rail::Shape::AscendingSouth).ID: return 3650; + case Rail::Rail(Rail::Shape::SouthEast).ID: return 3651; + case Rail::Rail(Rail::Shape::SouthWest).ID: return 3652; + case Rail::Rail(Rail::Shape::NorthWest).ID: return 3653; + case Rail::Rail(Rail::Shape::NorthEast).ID: return 3654; + case RedBanner::RedBanner(0).ID: return 8121; + case RedBanner::RedBanner(1).ID: return 8122; + case RedBanner::RedBanner(2).ID: return 8123; + case RedBanner::RedBanner(3).ID: return 8124; + case RedBanner::RedBanner(4).ID: return 8125; + case RedBanner::RedBanner(5).ID: return 8126; + case RedBanner::RedBanner(6).ID: return 8127; + case RedBanner::RedBanner(7).ID: return 8128; + case RedBanner::RedBanner(8).ID: return 8129; + case RedBanner::RedBanner(9).ID: return 8130; + case RedBanner::RedBanner(10).ID: return 8131; + case RedBanner::RedBanner(11).ID: return 8132; + case RedBanner::RedBanner(12).ID: return 8133; + case RedBanner::RedBanner(13).ID: return 8134; + case RedBanner::RedBanner(14).ID: return 8135; + case RedBanner::RedBanner(15).ID: return 8136; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head).ID: return 1273; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Foot).ID: return 1274; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head).ID: return 1275; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot).ID: return 1276; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head).ID: return 1277; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Foot).ID: return 1278; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head).ID: return 1279; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot).ID: return 1280; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head).ID: return 1281; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Foot).ID: return 1282; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head).ID: return 1283; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot).ID: return 1284; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head).ID: return 1285; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Foot).ID: return 1286; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head).ID: return 1287; + case RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot).ID: return 1288; + case RedCarpet::RedCarpet().ID: return 7880; + case RedConcrete::RedConcrete().ID: return 9452; + case RedConcretePowder::RedConcretePowder().ID: return 9468; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9430; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9431; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9432; + case RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9433; + case RedMushroom::RedMushroom().ID: return 1426; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true).ID: return 4569; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, false).ID: return 4570; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, true).ID: return 4571; + case RedMushroomBlock::RedMushroomBlock(true, true, true, true, false, false).ID: return 4572; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, true).ID: return 4573; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, true, false).ID: return 4574; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, true).ID: return 4575; + case RedMushroomBlock::RedMushroomBlock(true, true, true, false, false, false).ID: return 4576; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, true).ID: return 4577; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, true, false).ID: return 4578; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, true).ID: return 4579; + case RedMushroomBlock::RedMushroomBlock(true, true, false, true, false, false).ID: return 4580; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, true).ID: return 4581; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, true, false).ID: return 4582; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, true).ID: return 4583; + case RedMushroomBlock::RedMushroomBlock(true, true, false, false, false, false).ID: return 4584; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, true).ID: return 4585; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, true, false).ID: return 4586; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, true).ID: return 4587; + case RedMushroomBlock::RedMushroomBlock(true, false, true, true, false, false).ID: return 4588; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, true).ID: return 4589; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, true, false).ID: return 4590; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, true).ID: return 4591; + case RedMushroomBlock::RedMushroomBlock(true, false, true, false, false, false).ID: return 4592; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, true).ID: return 4593; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, true, false).ID: return 4594; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, true).ID: return 4595; + case RedMushroomBlock::RedMushroomBlock(true, false, false, true, false, false).ID: return 4596; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, true).ID: return 4597; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, true, false).ID: return 4598; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, true).ID: return 4599; + case RedMushroomBlock::RedMushroomBlock(true, false, false, false, false, false).ID: return 4600; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, true).ID: return 4601; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, true, false).ID: return 4602; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, true).ID: return 4603; + case RedMushroomBlock::RedMushroomBlock(false, true, true, true, false, false).ID: return 4604; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, true).ID: return 4605; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false).ID: return 4606; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, true).ID: return 4607; + case RedMushroomBlock::RedMushroomBlock(false, true, true, false, false, false).ID: return 4608; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, true).ID: return 4609; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false).ID: return 4610; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, true).ID: return 4611; + case RedMushroomBlock::RedMushroomBlock(false, true, false, true, false, false).ID: return 4612; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, true).ID: return 4613; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false).ID: return 4614; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, true).ID: return 4615; + case RedMushroomBlock::RedMushroomBlock(false, true, false, false, false, false).ID: return 4616; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, true).ID: return 4617; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, true, false).ID: return 4618; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, true).ID: return 4619; + case RedMushroomBlock::RedMushroomBlock(false, false, true, true, false, false).ID: return 4620; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true).ID: return 4621; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false).ID: return 4622; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, true).ID: return 4623; + case RedMushroomBlock::RedMushroomBlock(false, false, true, false, false, false).ID: return 4624; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true).ID: return 4625; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false).ID: return 4626; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, true).ID: return 4627; + case RedMushroomBlock::RedMushroomBlock(false, false, false, true, false, false).ID: return 4628; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true).ID: return 4629; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false).ID: return 4630; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, true).ID: return 4631; + case RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false).ID: return 4632; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Top).ID: return 10850; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Bottom).ID: return 10852; + case RedNetherBrickSlab::RedNetherBrickSlab(RedNetherBrickSlab::Type::Double).ID: return 10854; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10550; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10552; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10554; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10556; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10558; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10560; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10562; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10564; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10566; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10568; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10570; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10572; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10574; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10576; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10578; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10580; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10582; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10584; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10586; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10588; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10590; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10592; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10594; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10596; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10598; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10600; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10602; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10604; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10606; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XM, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10608; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10610; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10612; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10614; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10616; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Top, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10618; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::Straight + ) + .ID: + return 10620; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerLeft + ) + .ID: + return 10622; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::InnerRight + ) + .ID: + return 10624; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterLeft + ) + .ID: + return 10626; + case RedNetherBrickStairs::RedNetherBrickStairs( + eBlockFace::BLOCK_FACE_XP, + RedNetherBrickStairs::Half::Bottom, + RedNetherBrickStairs::Shape::OuterRight + ) + .ID: + return 10628; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13462; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13463; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13464; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13468; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13469; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13470; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13474; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13475; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13476; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13480; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13481; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13482; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13486; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13487; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13488; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13492; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13493; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13494; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13498; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13499; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13500; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13504; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13505; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13506; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13510; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13511; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13512; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13516; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13517; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13518; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13522; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13523; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13524; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13528; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13529; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13530; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13534; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13535; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13536; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13540; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13541; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13542; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13546; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13547; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13548; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13552; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13553; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13554; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13558; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13559; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13560; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13564; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13565; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::None, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13566; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13570; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13571; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13572; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13576; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13577; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13578; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13582; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13583; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13584; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13588; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13589; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13590; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13594; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13595; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13596; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13600; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13601; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13602; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13606; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13607; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13608; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13612; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13613; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13614; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13618; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13619; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13620; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13624; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13625; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13626; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13630; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13631; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13632; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13636; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13637; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13638; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13642; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13643; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13644; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13648; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13649; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13650; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13654; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13655; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13656; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13660; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13661; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13662; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13666; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13667; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13668; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13672; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13673; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Low, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13674; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13678; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13679; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13680; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13684; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13685; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13686; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13690; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13691; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13692; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13696; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13697; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13698; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13702; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13703; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13704; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13708; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13709; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::None, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13710; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13714; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13715; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13716; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13720; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13721; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13722; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13726; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13727; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13728; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13732; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13733; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13734; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13738; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13739; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13740; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13744; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13745; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Low, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13746; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13750; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13751; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13752; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13756; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13757; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::None, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13758; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13762; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13763; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13764; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13768; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13769; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Low, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13770; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::None + ) + .ID: + return 13774; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Low + ) + .ID: + return 13775; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + true, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13776; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::None + ) + .ID: + return 13780; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Low + ) + .ID: + return 13781; + case RedNetherBrickWall::RedNetherBrickWall( + RedNetherBrickWall::East::Tall, + RedNetherBrickWall::North::Tall, + RedNetherBrickWall::South::Tall, + false, + RedNetherBrickWall::West::Tall + ) + .ID: + return 13782; + case RedNetherBricks::RedNetherBricks().ID: return 9255; + case RedSand::RedSand().ID: return 67; + case RedSandstone::RedSandstone().ID: return 8217; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top).ID: return 8397; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom).ID: return 8399; + case RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double).ID: return 8401; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 8221; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 8223; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 8225; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 8227; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 8229; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 8231; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 8233; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 8235; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 8237; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 8239; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 8241; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 8243; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 8245; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 8247; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 8249; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 8251; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 8253; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 8255; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 8257; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 8259; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 8261; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 8263; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 8265; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 8267; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 8269; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 8271; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 8273; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 8275; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 8277; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 8279; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 8281; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 8283; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 8285; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 8287; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Top, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 8289; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::Straight + ) + .ID: + return 8291; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 8293; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 8295; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 8297; + case RedSandstoneStairs::RedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + RedSandstoneStairs::Half::Bottom, + RedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 8299; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11518; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11519; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11520; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11524; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11525; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11526; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11530; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11531; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11532; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11536; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11537; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11538; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11542; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11543; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11544; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11548; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11549; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11550; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11554; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11555; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11556; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11560; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11561; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11562; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11566; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11567; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11568; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11572; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11573; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11574; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11578; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11579; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11580; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11584; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11585; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11586; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11590; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11591; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11592; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11596; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11597; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11598; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11602; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11603; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11604; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11608; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11609; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11610; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11614; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11615; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11616; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11620; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11621; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::None, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11622; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11626; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11627; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11628; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11632; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11633; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11634; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11638; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11639; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11640; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11644; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11645; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11646; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11650; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11651; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11652; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11656; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11657; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11658; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11662; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11663; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11664; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11668; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11669; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11670; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11674; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11675; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11676; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11680; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11681; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11682; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11686; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11687; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11688; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11692; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11693; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11694; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11698; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11699; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11700; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11704; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11705; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11706; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11710; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11711; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11712; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11716; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11717; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11718; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11722; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11723; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11724; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11728; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11729; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Low, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11730; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11734; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11735; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11736; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11740; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11741; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11742; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11746; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11747; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11748; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11752; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11753; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11754; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11758; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11759; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11760; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11764; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11765; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::None, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11766; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11770; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11771; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11772; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11776; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11777; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11778; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11782; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11783; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11784; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11788; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11789; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11790; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11794; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11795; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11796; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11800; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11801; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Low, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11802; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11806; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11807; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11808; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11812; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11813; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::None, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11814; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11818; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11819; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11820; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11824; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11825; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Low, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11826; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::None + ) + .ID: + return 11830; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Low + ) + .ID: + return 11831; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + true, + RedSandstoneWall::West::Tall + ) + .ID: + return 11832; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::None + ) + .ID: + return 11836; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Low + ) + .ID: + return 11837; + case RedSandstoneWall::RedSandstoneWall( + RedSandstoneWall::East::Tall, + RedSandstoneWall::North::Tall, + RedSandstoneWall::South::Tall, + false, + RedSandstoneWall::West::Tall + ) + .ID: + return 11838; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9362; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9363; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9364; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9365; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9366; + case RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9367; + case RedStainedGlass::RedStainedGlass().ID: return 4109; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, true).ID: return 7313; + case RedStainedGlassPane::RedStainedGlassPane(true, true, true, false).ID: return 7314; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, true).ID: return 7317; + case RedStainedGlassPane::RedStainedGlassPane(true, true, false, false).ID: return 7318; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, true).ID: return 7321; + case RedStainedGlassPane::RedStainedGlassPane(true, false, true, false).ID: return 7322; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, true).ID: return 7325; + case RedStainedGlassPane::RedStainedGlassPane(true, false, false, false).ID: return 7326; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, true).ID: return 7329; + case RedStainedGlassPane::RedStainedGlassPane(false, true, true, false).ID: return 7330; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, true).ID: return 7333; + case RedStainedGlassPane::RedStainedGlassPane(false, true, false, false).ID: return 7334; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, true).ID: return 7337; + case RedStainedGlassPane::RedStainedGlassPane(false, false, true, false).ID: return 7338; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, true).ID: return 7341; + case RedStainedGlassPane::RedStainedGlassPane(false, false, false, false).ID: return 7342; + case RedTerracotta::RedTerracotta().ID: return 6861; + case RedTulip::RedTulip().ID: return 1417; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8209; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8210; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8211; + case RedWallBanner::RedWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8212; + case RedWool::RedWool().ID: return 1398; + case RedstoneBlock::RedstoneBlock().ID: return 6726; + case RedstoneLamp::RedstoneLamp(true).ID: return 5156; + case RedstoneLamp::RedstoneLamp(false).ID: return 5157; + case RedstoneOre::RedstoneOre(true).ID: return 3885; + case RedstoneOre::RedstoneOre(false).ID: return 3886; + case RedstoneTorch::RedstoneTorch(true).ID: return 3887; + case RedstoneTorch::RedstoneTorch(false).ID: return 3888; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true).ID: return 3889; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false).ID: return 3890; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true).ID: return 3891; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false).ID: return 3892; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true).ID: return 3893; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false).ID: return 3894; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true).ID: return 3895; + case RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false).ID: return 3896; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2058; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2059; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2060; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2061; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2062; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2063; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2064; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2065; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2066; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2067; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2068; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2069; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2070; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2071; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2072; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2073; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2074; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2075; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2076; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2077; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2078; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2079; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2080; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2081; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2082; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2083; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2084; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2085; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2086; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2087; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2088; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2089; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2090; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2091; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2092; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2093; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2094; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2095; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2096; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2097; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2098; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2099; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2100; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2101; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2102; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2103; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2104; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2105; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2106; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2107; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2108; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2109; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2110; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2111; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2112; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2113; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2114; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2115; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2116; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2117; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2118; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2119; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2120; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2121; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2122; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2123; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2124; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2125; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2126; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2127; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2128; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2129; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2130; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2131; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2132; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2133; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2134; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2135; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2136; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2137; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2138; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2139; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2140; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2141; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2142; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2143; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2144; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2145; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2146; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2147; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2148; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2149; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2150; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2151; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2152; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2153; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2154; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2155; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2156; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2157; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2158; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2159; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2160; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2161; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2162; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2163; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2164; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2165; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2166; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2167; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2168; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2169; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2170; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2171; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2172; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2173; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2174; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2175; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2176; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2177; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2178; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2179; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2180; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2181; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2182; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2183; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2184; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2185; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2186; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2187; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2188; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2189; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2190; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2191; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2192; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2193; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2194; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2195; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2196; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2197; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2198; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2199; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2200; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2201; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2202; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2203; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2204; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2205; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2206; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2207; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2208; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2209; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2210; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2211; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2212; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2213; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2214; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2215; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2216; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2217; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2218; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2219; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2220; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2221; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2222; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2223; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2224; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2225; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2226; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2227; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2228; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2229; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2230; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2231; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2232; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2233; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2234; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2235; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2236; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2237; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2238; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2239; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2240; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2241; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2242; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2243; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2244; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2245; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2246; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2247; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2248; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2249; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2250; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2251; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2252; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2253; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2254; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2255; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2256; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2257; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2258; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2259; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2260; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2261; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2262; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2263; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2264; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2265; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2266; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2267; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2268; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2269; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2270; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2271; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2272; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2273; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2274; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2275; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2276; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2277; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2278; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2279; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2280; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2281; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2282; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2283; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2284; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2285; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2286; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2287; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2288; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2289; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2290; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2291; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2292; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2293; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2294; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2295; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2296; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2297; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2298; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2299; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2300; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2301; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2302; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2303; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2304; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2305; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2306; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2307; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2308; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2309; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2310; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2311; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2312; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2313; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2314; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2315; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2316; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2317; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2318; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2319; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2320; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2321; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2322; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2323; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2324; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2325; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2326; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2327; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2328; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2329; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2330; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2331; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2332; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2333; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2334; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2335; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2336; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2337; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2338; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2339; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2340; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2341; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2342; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2343; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2344; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2345; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2346; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2347; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2348; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2349; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2350; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2351; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2352; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2353; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2354; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2355; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2356; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2357; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2358; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2359; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2360; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2361; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2362; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2363; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2364; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2365; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2366; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2367; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2368; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2369; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2370; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2371; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2372; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2373; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2374; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2375; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2376; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2377; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2378; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2379; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2380; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2381; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2382; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2383; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2384; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2385; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2386; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2387; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2388; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2389; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2390; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2391; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2392; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2393; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2394; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2395; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2396; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2397; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2398; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2399; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2400; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2401; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2402; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2403; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2404; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2405; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2406; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2407; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2408; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2409; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2410; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2411; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2412; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2413; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2414; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2415; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2416; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2417; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2418; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2419; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2420; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2421; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2422; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2423; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2424; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2425; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2426; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2427; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2428; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2429; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2430; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2431; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2432; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2433; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2434; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2435; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2436; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2437; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2438; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2439; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2440; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2441; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2442; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2443; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2444; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2445; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2446; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2447; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2448; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2449; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2450; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2451; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2452; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2453; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2454; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2455; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2456; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2457; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2458; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2459; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2460; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2461; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2462; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2463; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2464; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2465; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2466; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2467; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2468; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2469; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2470; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2471; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2472; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2473; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2474; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2475; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2476; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2477; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2478; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2479; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2480; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2481; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2482; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2483; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2484; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2485; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2486; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2487; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2488; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Up, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2489; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2490; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2491; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2492; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2493; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2494; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2495; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2496; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2497; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2498; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2499; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2500; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2501; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2502; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2503; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2504; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2505; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2506; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2507; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2508; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2509; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2510; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2511; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2512; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2513; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2514; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2515; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2516; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2517; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2518; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2519; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2520; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2521; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2522; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2523; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2524; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2525; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2526; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2527; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2528; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2529; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2530; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2531; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2532; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2533; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2534; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2535; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2536; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2537; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2538; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2539; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2540; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2541; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2542; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2543; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2544; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2545; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2546; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2547; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2548; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2549; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2550; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2551; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2552; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2553; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2554; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2555; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2556; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2557; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2558; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2559; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2560; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2561; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2562; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2563; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2564; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2565; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2566; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2567; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2568; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2569; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2570; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2571; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2572; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2573; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2574; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2575; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2576; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2577; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2578; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2579; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2580; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2581; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2582; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2583; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2584; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2585; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2586; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2587; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2588; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2589; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2590; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2591; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2592; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2593; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2594; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2595; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2596; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2597; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2598; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2599; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2600; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2601; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2602; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2603; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2604; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2605; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2606; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2607; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2608; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2609; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2610; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2611; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2612; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2613; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2614; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2615; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2616; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2617; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2618; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2619; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2620; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2621; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2622; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2623; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2624; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2625; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2626; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2627; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2628; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2629; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2630; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2631; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2632; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2633; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2634; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2635; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2636; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2637; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2638; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2639; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2640; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2641; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2642; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2643; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2644; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2645; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2646; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2647; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2648; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2649; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2650; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2651; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2652; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2653; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2654; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2655; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2656; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2657; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2658; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2659; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2660; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2661; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2662; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2663; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2664; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2665; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2666; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2667; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2668; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2669; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2670; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2671; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2672; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2673; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2674; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2675; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2676; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2677; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2678; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2679; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2680; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2681; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2682; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2683; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2684; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2685; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2686; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2687; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2688; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2689; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2690; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2691; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2692; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2693; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2694; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2695; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2696; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2697; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2698; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2699; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2700; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2701; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2702; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2703; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2704; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2705; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2706; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2707; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2708; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2709; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2710; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2711; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2712; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2713; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2714; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2715; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2716; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2717; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2718; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2719; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2720; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2721; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2722; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2723; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2724; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2725; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2726; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2727; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2728; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2729; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2730; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2731; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2732; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2733; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2734; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2735; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2736; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2737; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2738; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2739; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2740; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2741; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2742; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2743; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2744; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2745; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2746; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2747; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2748; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2749; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2750; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2751; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2752; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2753; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2754; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2755; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2756; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2757; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2758; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2759; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2760; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2761; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2762; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2763; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2764; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2765; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2766; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2767; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2768; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2769; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2770; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2771; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2772; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2773; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2774; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2775; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2776; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2777; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2778; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2779; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2780; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2781; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2782; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2783; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2784; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2785; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2786; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2787; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2788; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2789; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2790; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2791; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2792; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2793; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2794; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2795; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2796; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2797; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2798; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2799; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2800; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2801; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2802; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2803; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2804; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2805; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2806; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2807; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2808; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2809; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2810; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2811; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2812; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2813; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2814; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2815; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2816; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2817; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2818; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2819; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2820; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2821; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2822; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2823; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2824; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2825; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2826; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2827; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2828; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2829; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2830; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2831; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2832; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2833; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2834; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2835; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2836; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2837; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2838; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2839; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2840; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2841; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2842; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2843; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2844; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2845; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2846; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2847; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2848; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2849; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2850; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2851; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2852; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2853; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2854; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2855; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2856; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2857; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2858; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2859; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2860; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2861; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2862; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2863; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2864; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2865; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2866; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2867; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2868; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2869; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2870; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2871; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2872; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2873; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2874; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2875; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2876; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2877; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2878; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2879; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2880; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2881; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2882; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2883; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2884; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2885; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2886; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2887; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2888; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2889; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2890; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2891; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2892; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2893; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2894; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2895; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2896; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2897; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2898; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2899; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2900; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2901; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2902; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2903; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2904; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2905; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2906; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2907; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2908; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2909; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2910; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2911; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2912; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2913; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2914; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2915; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2916; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2917; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2918; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2919; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2920; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::Side, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2921; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2922; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2923; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2924; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2925; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2926; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2927; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2928; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2929; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2930; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2931; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2932; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2933; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2934; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2935; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2936; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2937; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2938; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2939; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2940; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2941; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2942; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2943; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2944; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2945; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2946; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2947; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2948; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2949; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2950; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2951; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2952; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2953; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2954; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2955; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2956; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2957; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2958; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2959; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2960; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2961; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2962; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2963; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2964; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2965; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2966; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2967; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2968; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2969; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2970; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2971; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2972; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2973; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2974; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2975; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2976; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2977; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2978; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2979; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2980; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2981; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2982; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2983; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2984; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2985; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2986; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2987; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2988; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2989; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2990; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 2991; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 2992; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 2993; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 2994; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 2995; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 2996; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 2997; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 2998; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 2999; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3000; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3001; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3002; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3003; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3004; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3005; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3006; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3007; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3008; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3009; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3010; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3011; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3012; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3013; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3014; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3015; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3016; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3017; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3018; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3019; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3020; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3021; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3022; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3023; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3024; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3025; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3026; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3027; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3028; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3029; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3030; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3031; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3032; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3033; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3034; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3035; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3036; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3037; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3038; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3039; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3040; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3041; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3042; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3043; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3044; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3045; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3046; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3047; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3048; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3049; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3050; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3051; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3052; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3053; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3054; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3055; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3056; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3057; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3058; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3059; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3060; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3061; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3062; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3063; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3064; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Up, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3065; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3066; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3067; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3068; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3069; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3070; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3071; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3072; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3073; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3074; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3075; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3076; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3077; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3078; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3079; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3080; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3081; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3082; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3083; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3084; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3085; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3086; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3087; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3088; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3089; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3090; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3091; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3092; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3093; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3094; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3095; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3096; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3097; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3098; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3099; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3100; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3101; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3102; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3103; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3104; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3105; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3106; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3107; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3108; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3109; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3110; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3111; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3112; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3113; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3114; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3115; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3116; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3117; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3118; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3119; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3120; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3121; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3122; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3123; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3124; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3125; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3126; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3127; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3128; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3129; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3130; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3131; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3132; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3133; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3134; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3135; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3136; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3137; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3138; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3139; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3140; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3141; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3142; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3143; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3144; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3145; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3146; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3147; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3148; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3149; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3150; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3151; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3152; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3153; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3154; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3155; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3156; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3157; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3158; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3159; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3160; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3161; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3162; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3163; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3164; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3165; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3166; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3167; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3168; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3169; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3170; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3171; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3172; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3173; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3174; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3175; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3176; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3177; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3178; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3179; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3180; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3181; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3182; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3183; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3184; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3185; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3186; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3187; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3188; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3189; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3190; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3191; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3192; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3193; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3194; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3195; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3196; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3197; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3198; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3199; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3200; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3201; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3202; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3203; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3204; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3205; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3206; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3207; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3208; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::Side, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3209; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3210; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3211; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3212; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3213; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3214; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3215; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3216; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3217; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 0, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3218; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3219; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3220; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3221; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3222; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3223; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3224; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3225; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3226; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 1, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3227; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3228; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3229; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3230; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3231; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3232; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3233; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3234; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3235; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 2, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3236; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3237; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3238; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3239; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3240; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3241; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3242; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3243; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3244; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 3, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3245; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3246; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3247; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3248; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3249; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3250; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3251; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3252; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3253; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 4, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3254; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3255; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3256; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3257; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3258; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3259; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3260; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3261; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3262; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 5, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3263; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3264; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3265; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3266; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3267; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3268; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3269; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3270; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3271; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 6, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3272; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3273; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3274; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3275; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3276; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3277; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3278; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3279; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3280; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 7, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3281; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3282; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3283; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3284; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3285; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3286; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3287; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3288; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3289; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 8, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3290; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3291; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3292; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3293; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3294; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3295; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3296; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3297; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3298; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 9, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3299; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3300; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3301; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3302; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3303; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3304; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3305; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3306; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3307; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 10, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3308; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3309; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3310; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3311; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3312; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3313; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3314; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3315; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3316; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 11, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3317; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3318; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3319; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3320; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3321; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3322; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3323; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3324; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3325; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 12, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3326; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3327; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3328; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3329; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3330; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3331; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3332; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3333; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3334; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 13, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3335; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3336; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3337; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3338; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3339; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3340; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3341; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3342; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3343; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 14, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3344; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Up + ) + .ID: + return 3345; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::Side + ) + .ID: + return 3346; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Up, + RedstoneWire::West::None + ) + .ID: + return 3347; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Up + ) + .ID: + return 3348; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::Side + ) + .ID: + return 3349; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::Side, + RedstoneWire::West::None + ) + .ID: + return 3350; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Up + ) + .ID: + return 3351; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::Side + ) + .ID: + return 3352; + case RedstoneWire::RedstoneWire( + RedstoneWire::East::None, + RedstoneWire::North::None, + 15, + RedstoneWire::South::None, + RedstoneWire::West::None + ) + .ID: + return 3353; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4031; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4032; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4033; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4034; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4035; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4036; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4037; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4038; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4039; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4040; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4041; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4042; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4043; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4044; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4045; + case Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4046; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4047; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4048; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4049; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4050; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4051; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4052; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4053; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4054; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4055; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4056; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4057; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4058; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4059; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4060; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4061; + case Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4062; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4063; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4064; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4065; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4066; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4067; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4068; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4069; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4070; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4071; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4072; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4073; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4074; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4075; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4076; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4077; + case Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4078; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 4079; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 4080; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 4081; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 4082; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 4083; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 4084; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 4085; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 4086; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, true).ID: return 4087; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, true, false).ID: return 4088; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true).ID: return 4089; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false).ID: return 4090; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, true).ID: return 4091; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, true, false).ID: return 4092; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true).ID: return 4093; + case Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false).ID: return 4094; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM).ID: return 9225; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP).ID: return 9226; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP).ID: return 9227; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM).ID: return 9228; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP).ID: return 9229; + case RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM).ID: return 9230; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM).ID: return 9231; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP).ID: return 9232; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP).ID: return 9233; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM).ID: return 9234; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP).ID: return 9235; + case RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM).ID: return 9236; + case RespawnAnchor::RespawnAnchor(0).ID: return 15829; + case RespawnAnchor::RespawnAnchor(1).ID: return 15830; + case RespawnAnchor::RespawnAnchor(2).ID: return 15831; + case RespawnAnchor::RespawnAnchor(3).ID: return 15832; + case RespawnAnchor::RespawnAnchor(4).ID: return 15833; + case RoseBush::RoseBush(RoseBush::Half::Upper).ID: return 7889; + case RoseBush::RoseBush(RoseBush::Half::Lower).ID: return 7890; + case Sand::Sand().ID: return 66; + case Sandstone::Sandstone().ID: return 246; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top).ID: return 8349; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom).ID: return 8351; + case SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double).ID: return 8353; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5171; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5173; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5175; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5177; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5179; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5181; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5183; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5185; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5187; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5189; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5191; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5193; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5195; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5197; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5199; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5201; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5203; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5205; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5207; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5209; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5211; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5213; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5215; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5217; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5219; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5221; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5223; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5225; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5227; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5229; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5231; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5233; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5235; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5237; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Top, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5239; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::Straight + ) + .ID: + return 5241; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerLeft + ) + .ID: + return 5243; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::InnerRight + ) + .ID: + return 5245; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterLeft + ) + .ID: + return 5247; + case SandstoneStairs::SandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SandstoneStairs::Half::Bottom, + SandstoneStairs::Shape::OuterRight + ) + .ID: + return 5249; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 13786; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 13787; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13788; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 13792; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 13793; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13794; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 13798; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 13799; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13800; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 13804; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 13805; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13806; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 13810; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 13811; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13812; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 13816; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 13817; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13818; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 13822; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 13823; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13824; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 13828; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 13829; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13830; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 13834; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 13835; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13836; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 13840; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 13841; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13842; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 13846; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 13847; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13848; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 13852; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 13853; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13854; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 13858; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 13859; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13860; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 13864; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 13865; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13866; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 13870; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 13871; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13872; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 13876; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 13877; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13878; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 13882; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 13883; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13884; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 13888; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 13889; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::None, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13890; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 13894; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 13895; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13896; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 13900; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 13901; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13902; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 13906; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 13907; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13908; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 13912; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 13913; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13914; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 13918; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 13919; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13920; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 13924; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 13925; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13926; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 13930; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 13931; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13932; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 13936; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 13937; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13938; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 13942; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 13943; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13944; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 13948; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 13949; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13950; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 13954; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 13955; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13956; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 13960; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 13961; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13962; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 13966; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 13967; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13968; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 13972; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 13973; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13974; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 13978; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 13979; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13980; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 13984; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 13985; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13986; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 13990; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 13991; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 13992; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 13996; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 13997; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Low, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 13998; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 14002; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 14003; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14004; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 14008; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 14009; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14010; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 14014; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 14015; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14016; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 14020; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 14021; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14022; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 14026; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 14027; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14028; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 14032; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 14033; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::None, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14034; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 14038; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 14039; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14040; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 14044; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 14045; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14046; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 14050; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 14051; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14052; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 14056; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 14057; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14058; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 14062; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 14063; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14064; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 14068; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 14069; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Low, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14070; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::None + ) + .ID: + return 14074; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::Low + ) + .ID: + return 14075; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14076; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::None + ) + .ID: + return 14080; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::Low + ) + .ID: + return 14081; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::None, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14082; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::None + ) + .ID: + return 14086; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Low + ) + .ID: + return 14087; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14088; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::None + ) + .ID: + return 14092; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Low + ) + .ID: + return 14093; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Low, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14094; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::None + ) + .ID: + return 14098; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Low + ) + .ID: + return 14099; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + true, + SandstoneWall::West::Tall + ) + .ID: + return 14100; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::None + ) + .ID: + return 14104; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Low + ) + .ID: + return 14105; + case SandstoneWall::SandstoneWall( + SandstoneWall::East::Tall, + SandstoneWall::North::Tall, + SandstoneWall::South::Tall, + false, + SandstoneWall::West::Tall + ) + .ID: + return 14106; + case Scaffolding::Scaffolding(true, 0).ID: return 14756; + case Scaffolding::Scaffolding(true, 1).ID: return 14758; + case Scaffolding::Scaffolding(true, 2).ID: return 14760; + case Scaffolding::Scaffolding(true, 3).ID: return 14762; + case Scaffolding::Scaffolding(true, 4).ID: return 14764; + case Scaffolding::Scaffolding(true, 5).ID: return 14766; + case Scaffolding::Scaffolding(true, 6).ID: return 14768; + case Scaffolding::Scaffolding(true, 7).ID: return 14770; + case Scaffolding::Scaffolding(false, 0).ID: return 14772; + case Scaffolding::Scaffolding(false, 1).ID: return 14774; + case Scaffolding::Scaffolding(false, 2).ID: return 14776; + case Scaffolding::Scaffolding(false, 3).ID: return 14778; + case Scaffolding::Scaffolding(false, 4).ID: return 14780; + case Scaffolding::Scaffolding(false, 5).ID: return 14782; + case Scaffolding::Scaffolding(false, 6).ID: return 14784; + case Scaffolding::Scaffolding(false, 7).ID: return 14786; + case SeaLantern::SeaLantern().ID: return 7862; + case SeaPickle::SeaPickle(1).ID: return 9641; + case SeaPickle::SeaPickle(2).ID: return 9643; + case SeaPickle::SeaPickle(3).ID: return 9645; + case SeaPickle::SeaPickle(4).ID: return 9647; + case Seagrass::Seagrass().ID: return 1345; + case Shroomlight::Shroomlight().ID: return 14989; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9272; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9273; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9274; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9275; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9276; + case ShulkerBox::ShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9277; + case SkeletonSkull::SkeletonSkull(0).ID: return 6490; + case SkeletonSkull::SkeletonSkull(1).ID: return 6491; + case SkeletonSkull::SkeletonSkull(2).ID: return 6492; + case SkeletonSkull::SkeletonSkull(3).ID: return 6493; + case SkeletonSkull::SkeletonSkull(4).ID: return 6494; + case SkeletonSkull::SkeletonSkull(5).ID: return 6495; + case SkeletonSkull::SkeletonSkull(6).ID: return 6496; + case SkeletonSkull::SkeletonSkull(7).ID: return 6497; + case SkeletonSkull::SkeletonSkull(8).ID: return 6498; + case SkeletonSkull::SkeletonSkull(9).ID: return 6499; + case SkeletonSkull::SkeletonSkull(10).ID: return 6500; + case SkeletonSkull::SkeletonSkull(11).ID: return 6501; + case SkeletonSkull::SkeletonSkull(12).ID: return 6502; + case SkeletonSkull::SkeletonSkull(13).ID: return 6503; + case SkeletonSkull::SkeletonSkull(14).ID: return 6504; + case SkeletonSkull::SkeletonSkull(15).ID: return 6505; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 6506; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 6507; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 6508; + case SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 6509; + case SlimeBlock::SlimeBlock().ID: return 7535; + case SmithingTable::SmithingTable().ID: return 14849; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, true).ID: return 14803; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZM, false).ID: return 14804; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, true).ID: return 14805; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_ZP, false).ID: return 14806; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, true).ID: return 14807; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XM, false).ID: return 14808; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, true).ID: return 14809; + case Smoker::Smoker(eBlockFace::BLOCK_FACE_XP, false).ID: return 14810; + case SmoothQuartz::SmoothQuartz().ID: return 8416; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Top).ID: return 10832; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Bottom).ID: return 10834; + case SmoothQuartzSlab::SmoothQuartzSlab(SmoothQuartzSlab::Type::Double).ID: return 10836; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 10310; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 10312; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 10314; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 10316; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 10318; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 10320; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 10322; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 10324; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 10326; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 10328; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 10330; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 10332; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 10334; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 10336; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 10338; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 10340; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 10342; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 10344; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 10346; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 10348; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 10350; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 10352; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 10354; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 10356; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 10358; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 10360; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 10362; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 10364; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 10366; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 10368; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 10370; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 10372; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 10374; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 10376; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Top, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 10378; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::Straight + ) + .ID: + return 10380; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerLeft + ) + .ID: + return 10382; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::InnerRight + ) + .ID: + return 10384; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterLeft + ) + .ID: + return 10386; + case SmoothQuartzStairs::SmoothQuartzStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothQuartzStairs::Half::Bottom, + SmoothQuartzStairs::Shape::OuterRight + ) + .ID: + return 10388; + case SmoothRedSandstone::SmoothRedSandstone().ID: return 8417; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Top).ID: return 10796; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Bottom).ID: return 10798; + case SmoothRedSandstoneSlab::SmoothRedSandstoneSlab(SmoothRedSandstoneSlab::Type::Double).ID: return 10800; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9750; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9752; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9754; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9756; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9758; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9760; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9762; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9764; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9766; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9768; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9770; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9772; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9774; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9776; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9778; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9780; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9782; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9784; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9786; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9788; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9790; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9792; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9794; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9796; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9798; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9800; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9802; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9804; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9806; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9808; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9810; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9812; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9814; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9816; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Top, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9818; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::Straight + ) + .ID: + return 9820; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 9822; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::InnerRight + ) + .ID: + return 9824; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 9826; + case SmoothRedSandstoneStairs::SmoothRedSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothRedSandstoneStairs::Half::Bottom, + SmoothRedSandstoneStairs::Shape::OuterRight + ) + .ID: + return 9828; + case SmoothSandstone::SmoothSandstone().ID: return 8415; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Top).ID: return 10826; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Bottom).ID: return 10828; + case SmoothSandstoneSlab::SmoothSandstoneSlab(SmoothSandstoneSlab::Type::Double).ID: return 10830; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 10230; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 10232; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 10234; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 10236; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 10238; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 10240; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 10242; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 10244; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 10246; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 10248; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 10250; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 10252; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 10254; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 10256; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 10258; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 10260; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 10262; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 10264; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 10266; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_ZP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 10268; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 10270; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 10272; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 10274; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 10276; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 10278; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 10280; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 10282; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 10284; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 10286; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XM, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 10288; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 10290; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 10292; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 10294; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 10296; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Top, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 10298; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::Straight + ) + .ID: + return 10300; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerLeft + ) + .ID: + return 10302; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::InnerRight + ) + .ID: + return 10304; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterLeft + ) + .ID: + return 10306; + case SmoothSandstoneStairs::SmoothSandstoneStairs( + eBlockFace::BLOCK_FACE_XP, + SmoothSandstoneStairs::Half::Bottom, + SmoothSandstoneStairs::Shape::OuterRight + ) + .ID: + return 10308; + case SmoothStone::SmoothStone().ID: return 8414; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Top).ID: return 8343; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Bottom).ID: return 8345; + case SmoothStoneSlab::SmoothStoneSlab(SmoothStoneSlab::Type::Double).ID: return 8347; + case Snow::Snow(1).ID: return 3921; + case Snow::Snow(2).ID: return 3922; + case Snow::Snow(3).ID: return 3923; + case Snow::Snow(4).ID: return 3924; + case Snow::Snow(5).ID: return 3925; + case Snow::Snow(6).ID: return 3926; + case Snow::Snow(7).ID: return 3927; + case Snow::Snow(8).ID: return 3928; + case SnowBlock::SnowBlock().ID: return 3930; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZM, true, true).ID: return 14923; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZM, true, false).ID: return 14925; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZM, false, true).ID: return 14927; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZM, false, false).ID: return 14929; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZP, true, true).ID: return 14931; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZP, true, false).ID: return 14933; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZP, false, true).ID: return 14935; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_ZP, false, false).ID: return 14937; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XM, true, true).ID: return 14939; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XM, true, false).ID: return 14941; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XM, false, true).ID: return 14943; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XM, false, false).ID: return 14945; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XP, true, true).ID: return 14947; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XP, true, false).ID: return 14949; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XP, false, true).ID: return 14951; + case SoulCampfire::SoulCampfire(eBlockFace::BLOCK_FACE_XP, false, false).ID: return 14953; + case SoulFire::SoulFire().ID: return 1952; + case SoulLantern::SoulLantern(true).ID: return 14888; + case SoulLantern::SoulLantern(false).ID: return 14889; + case SoulSand::SoulSand().ID: return 4000; + case SoulSoil::SoulSoil().ID: return 4001; + case SoulTorch::SoulTorch().ID: return 4008; + case SoulWallTorch::SoulWallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 4009; + case SoulWallTorch::SoulWallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 4010; + case SoulWallTorch::SoulWallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 4011; + case SoulWallTorch::SoulWallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 4012; + case Spawner::Spawner().ID: return 1953; + case Sponge::Sponge().ID: return 229; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6370; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6371; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6372; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6373; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 6374; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 6375; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 6376; + case SpruceButton::SpruceButton(SpruceButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 6377; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6378; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6379; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6380; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6381; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 6382; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 6383; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 6384; + case SpruceButton::SpruceButton(SpruceButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 6385; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 6386; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 6387; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 6388; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 6389; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 6390; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 6391; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 6392; + case SpruceButton::SpruceButton(SpruceButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 6393; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8738; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8739; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8740; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8741; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8742; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8743; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8744; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8745; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8746; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8747; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8748; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8749; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8750; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8751; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8752; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8753; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8754; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8755; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8756; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8757; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8758; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8759; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8760; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8761; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8762; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8763; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8764; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8765; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8766; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8767; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8768; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_ZP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8769; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8770; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8771; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8772; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8773; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8774; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8775; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8776; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8777; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8778; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8779; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8780; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8781; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8782; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8783; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8784; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XM, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8785; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8786; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8787; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8788; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8789; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8790; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8791; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8792; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Upper, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8793; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + true + ) + .ID: + return 8794; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + true, + false + ) + .ID: + return 8795; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + true + ) + .ID: + return 8796; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Left, + false, + false + ) + .ID: + return 8797; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + true + ) + .ID: + return 8798; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + true, + false + ) + .ID: + return 8799; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + true + ) + .ID: + return 8800; + case SpruceDoor::SpruceDoor( + eBlockFace::BLOCK_FACE_XP, + SpruceDoor::Half::Lower, + SpruceDoor::Hinge::Right, + false, + false + ) + .ID: + return 8801; + case SpruceFence::SpruceFence(true, true, true, true).ID: return 8580; + case SpruceFence::SpruceFence(true, true, true, false).ID: return 8581; + case SpruceFence::SpruceFence(true, true, false, true).ID: return 8584; + case SpruceFence::SpruceFence(true, true, false, false).ID: return 8585; + case SpruceFence::SpruceFence(true, false, true, true).ID: return 8588; + case SpruceFence::SpruceFence(true, false, true, false).ID: return 8589; + case SpruceFence::SpruceFence(true, false, false, true).ID: return 8592; + case SpruceFence::SpruceFence(true, false, false, false).ID: return 8593; + case SpruceFence::SpruceFence(false, true, true, true).ID: return 8596; + case SpruceFence::SpruceFence(false, true, true, false).ID: return 8597; + case SpruceFence::SpruceFence(false, true, false, true).ID: return 8600; + case SpruceFence::SpruceFence(false, true, false, false).ID: return 8601; + case SpruceFence::SpruceFence(false, false, true, true).ID: return 8604; + case SpruceFence::SpruceFence(false, false, true, false).ID: return 8605; + case SpruceFence::SpruceFence(false, false, false, true).ID: return 8608; + case SpruceFence::SpruceFence(false, false, false, false).ID: return 8609; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 8418; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 8419; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 8420; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 8421; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 8422; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 8423; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 8424; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 8425; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 8426; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 8427; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 8428; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 8429; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 8430; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 8431; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 8432; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 8433; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 8434; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 8435; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 8436; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 8437; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 8438; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 8439; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 8440; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 8441; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 8442; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 8443; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 8444; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 8445; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 8446; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 8447; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 8448; + case SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 8449; + case SpruceLeaves::SpruceLeaves(1, true).ID: return 159; + case SpruceLeaves::SpruceLeaves(1, false).ID: return 160; + case SpruceLeaves::SpruceLeaves(2, true).ID: return 161; + case SpruceLeaves::SpruceLeaves(2, false).ID: return 162; + case SpruceLeaves::SpruceLeaves(3, true).ID: return 163; + case SpruceLeaves::SpruceLeaves(3, false).ID: return 164; + case SpruceLeaves::SpruceLeaves(4, true).ID: return 165; + case SpruceLeaves::SpruceLeaves(4, false).ID: return 166; + case SpruceLeaves::SpruceLeaves(5, true).ID: return 167; + case SpruceLeaves::SpruceLeaves(5, false).ID: return 168; + case SpruceLeaves::SpruceLeaves(6, true).ID: return 169; + case SpruceLeaves::SpruceLeaves(6, false).ID: return 170; + case SpruceLeaves::SpruceLeaves(7, true).ID: return 171; + case SpruceLeaves::SpruceLeaves(7, false).ID: return 172; + case SpruceLog::SpruceLog(SpruceLog::Axis::X).ID: return 76; + case SpruceLog::SpruceLog(SpruceLog::Axis::Y).ID: return 77; + case SpruceLog::SpruceLog(SpruceLog::Axis::Z).ID: return 78; + case SprucePlanks::SprucePlanks().ID: return 16; + case SprucePressurePlate::SprucePressurePlate(true).ID: return 3875; + case SprucePressurePlate::SprucePressurePlate(false).ID: return 3876; + case SpruceSapling::SpruceSapling(0).ID: return 23; + case SpruceSapling::SpruceSapling(1).ID: return 24; + case SpruceSign::SpruceSign(0).ID: return 3414; + case SpruceSign::SpruceSign(1).ID: return 3416; + case SpruceSign::SpruceSign(2).ID: return 3418; + case SpruceSign::SpruceSign(3).ID: return 3420; + case SpruceSign::SpruceSign(4).ID: return 3422; + case SpruceSign::SpruceSign(5).ID: return 3424; + case SpruceSign::SpruceSign(6).ID: return 3426; + case SpruceSign::SpruceSign(7).ID: return 3428; + case SpruceSign::SpruceSign(8).ID: return 3430; + case SpruceSign::SpruceSign(9).ID: return 3432; + case SpruceSign::SpruceSign(10).ID: return 3434; + case SpruceSign::SpruceSign(11).ID: return 3436; + case SpruceSign::SpruceSign(12).ID: return 3438; + case SpruceSign::SpruceSign(13).ID: return 3440; + case SpruceSign::SpruceSign(14).ID: return 3442; + case SpruceSign::SpruceSign(15).ID: return 3444; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Top).ID: return 8307; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom).ID: return 8309; + case SpruceSlab::SpruceSlab(SpruceSlab::Type::Double).ID: return 8311; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5405; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5407; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5409; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5411; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5413; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5415; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5417; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5419; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5421; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5423; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5425; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5427; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5429; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5431; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5433; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5435; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5437; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5439; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5441; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_ZP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5443; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5445; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5447; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5449; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5451; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5453; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5455; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5457; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5459; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5461; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XM, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5463; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::Straight + ) + .ID: + return 5465; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5467; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5469; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5471; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Top, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5473; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::Straight + ) + .ID: + return 5475; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerLeft + ) + .ID: + return 5477; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::InnerRight + ) + .ID: + return 5479; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterLeft + ) + .ID: + return 5481; + case SpruceStairs::SpruceStairs( + eBlockFace::BLOCK_FACE_XP, + SpruceStairs::Half::Bottom, + SpruceStairs::Shape::OuterRight + ) + .ID: + return 5483; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, true).ID: + return 4176; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, true, false).ID: + return 4178; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, true).ID: + return 4180; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Top, false, false).ID: + return 4182; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4184; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4186; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4188; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4190; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, true).ID: + return 4192; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, true, false).ID: + return 4194; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, true).ID: + return 4196; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Top, false, false).ID: + return 4198; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4200; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4202; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4204; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_ZP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4206; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, true).ID: + return 4208; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, true, false).ID: + return 4210; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, true).ID: + return 4212; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Top, false, false).ID: + return 4214; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4216; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4218; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4220; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XM, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4222; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, true).ID: + return 4224; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, true, false).ID: + return 4226; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, true).ID: + return 4228; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Top, false, false).ID: + return 4230; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, true).ID: + return 4232; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, true, false).ID: + return 4234; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, true).ID: + return 4236; + case SpruceTrapdoor::SpruceTrapdoor(eBlockFace::BLOCK_FACE_XP, SpruceTrapdoor::Half::Bottom, false, false).ID: + return 4238; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 3744; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 3746; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 3748; + case SpruceWallSign::SpruceWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 3750; + case SpruceWood::SpruceWood(SpruceWood::Axis::X).ID: return 112; + case SpruceWood::SpruceWood(SpruceWood::Axis::Y).ID: return 113; + case SpruceWood::SpruceWood(SpruceWood::Axis::Z).ID: return 114; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM).ID: return 1329; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP).ID: return 1330; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP).ID: return 1331; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM).ID: return 1332; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP).ID: return 1333; + case StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM).ID: return 1334; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM).ID: return 1335; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP).ID: return 1336; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP).ID: return 1337; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM).ID: return 1338; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP).ID: return 1339; + case StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM).ID: return 1340; + case Stone::Stone().ID: return 1; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top).ID: return 8379; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom).ID: return 8381; + case StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double).ID: return 8383; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4933; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4935; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4937; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4939; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4941; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4943; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4945; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4947; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4949; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4951; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4953; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4955; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4957; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4959; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4961; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4963; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4965; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4967; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4969; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4971; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4973; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4975; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4977; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4979; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4981; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4983; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4985; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4987; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4989; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XM, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 4991; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 4993; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 4995; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 4997; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 4999; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Top, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 5001; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::Straight + ) + .ID: + return 5003; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerLeft + ) + .ID: + return 5005; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::InnerRight + ) + .ID: + return 5007; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterLeft + ) + .ID: + return 5009; + case StoneBrickStairs::StoneBrickStairs( + eBlockFace::BLOCK_FACE_XP, + StoneBrickStairs::Half::Bottom, + StoneBrickStairs::Shape::OuterRight + ) + .ID: + return 5011; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12490; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12491; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12492; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12496; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12497; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12498; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12502; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12503; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12504; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12508; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12509; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12510; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12514; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12515; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12516; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12520; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12521; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12522; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12526; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12527; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12528; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12532; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12533; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12534; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12538; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12539; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12540; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12544; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12545; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12546; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12550; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12551; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12552; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12556; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12557; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12558; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12562; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12563; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12564; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12568; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12569; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12570; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12574; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12575; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12576; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12580; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12581; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12582; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12586; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12587; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12588; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12592; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12593; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::None, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12594; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12598; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12599; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12600; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12604; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12605; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12606; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12610; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12611; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12612; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12616; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12617; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12618; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12622; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12623; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12624; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12628; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12629; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12630; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12634; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12635; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12636; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12640; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12641; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12642; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12646; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12647; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12648; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12652; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12653; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12654; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12658; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12659; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12660; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12664; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12665; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12666; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12670; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12671; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12672; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12676; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12677; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12678; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12682; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12683; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12684; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12688; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12689; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12690; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12694; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12695; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12696; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12700; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12701; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Low, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12702; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12706; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12707; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12708; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12712; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12713; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12714; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12718; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12719; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12720; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12724; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12725; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12726; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12730; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12731; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12732; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12736; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12737; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::None, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12738; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12742; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12743; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12744; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12748; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12749; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12750; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12754; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12755; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12756; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12760; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12761; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12762; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12766; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12767; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12768; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12772; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12773; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Low, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12774; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::None + ) + .ID: + return 12778; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12779; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12780; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::None + ) + .ID: + return 12784; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12785; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::None, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12786; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::None + ) + .ID: + return 12790; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12791; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12792; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::None + ) + .ID: + return 12796; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12797; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Low, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12798; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::None + ) + .ID: + return 12802; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Low + ) + .ID: + return 12803; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + true, + StoneBrickWall::West::Tall + ) + .ID: + return 12804; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::None + ) + .ID: + return 12808; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Low + ) + .ID: + return 12809; + case StoneBrickWall::StoneBrickWall( + StoneBrickWall::East::Tall, + StoneBrickWall::North::Tall, + StoneBrickWall::South::Tall, + false, + StoneBrickWall::West::Tall + ) + .ID: + return 12810; + case StoneBricks::StoneBricks().ID: return 4495; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3897; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3898; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3899; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3900; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 3901; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 3902; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 3903; + case StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 3904; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3905; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3906; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3907; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3908; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 3909; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 3910; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 3911; + case StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 3912; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 3913; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 3914; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 3915; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 3916; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 3917; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 3918; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 3919; + case StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 3920; + case StonePressurePlate::StonePressurePlate(true).ID: return 3807; + case StonePressurePlate::StonePressurePlate(false).ID: return 3808; + case StoneSlab::StoneSlab(StoneSlab::Type::Top).ID: return 8337; + case StoneSlab::StoneSlab(StoneSlab::Type::Bottom).ID: return 8339; + case StoneSlab::StoneSlab(StoneSlab::Type::Double).ID: return 8341; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 10150; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 10152; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 10154; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 10156; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 10158; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 10160; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 10162; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 10164; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 10166; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 10168; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 10170; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 10172; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 10174; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 10176; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_ZP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 10178; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 10180; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 10182; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 10184; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 10186; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_ZP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 10188; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 10190; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 10192; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 10194; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 10196; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XM, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 10198; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 10200; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 10202; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 10204; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 10206; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XM, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 10208; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::Straight) + .ID: + return 10210; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerLeft) + .ID: + return 10212; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::InnerRight) + .ID: + return 10214; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterLeft) + .ID: + return 10216; + case StoneStairs::StoneStairs(eBlockFace::BLOCK_FACE_XP, StoneStairs::Half::Top, StoneStairs::Shape::OuterRight) + .ID: + return 10218; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::Straight + ) + .ID: + return 10220; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerLeft + ) + .ID: + return 10222; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::InnerRight + ) + .ID: + return 10224; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterLeft + ) + .ID: + return 10226; + case StoneStairs::StoneStairs( + eBlockFace::BLOCK_FACE_XP, + StoneStairs::Half::Bottom, + StoneStairs::Shape::OuterRight + ) + .ID: + return 10228; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZM).ID: return 14850; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_ZP).ID: return 14851; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XM).ID: return 14852; + case Stonecutter::Stonecutter(eBlockFace::BLOCK_FACE_XP).ID: return 14853; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::X).ID: return 100; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Y).ID: return 101; + case StrippedAcaciaLog::StrippedAcaciaLog(StrippedAcaciaLog::Axis::Z).ID: return 102; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::X).ID: return 139; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Y).ID: return 140; + case StrippedAcaciaWood::StrippedAcaciaWood(StrippedAcaciaWood::Axis::Z).ID: return 141; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::X).ID: return 94; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Y).ID: return 95; + case StrippedBirchLog::StrippedBirchLog(StrippedBirchLog::Axis::Z).ID: return 96; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::X).ID: return 133; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Y).ID: return 134; + case StrippedBirchWood::StrippedBirchWood(StrippedBirchWood::Axis::Z).ID: return 135; + case StrippedCrimsonHyphae::StrippedCrimsonHyphae(StrippedCrimsonHyphae::Axis::X).ID: return 14984; + case StrippedCrimsonHyphae::StrippedCrimsonHyphae(StrippedCrimsonHyphae::Axis::Y).ID: return 14985; + case StrippedCrimsonHyphae::StrippedCrimsonHyphae(StrippedCrimsonHyphae::Axis::Z).ID: return 14986; + case StrippedCrimsonStem::StrippedCrimsonStem(StrippedCrimsonStem::Axis::X).ID: return 14978; + case StrippedCrimsonStem::StrippedCrimsonStem(StrippedCrimsonStem::Axis::Y).ID: return 14979; + case StrippedCrimsonStem::StrippedCrimsonStem(StrippedCrimsonStem::Axis::Z).ID: return 14980; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::X).ID: return 103; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Y).ID: return 104; + case StrippedDarkOakLog::StrippedDarkOakLog(StrippedDarkOakLog::Axis::Z).ID: return 105; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::X).ID: return 142; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Y).ID: return 143; + case StrippedDarkOakWood::StrippedDarkOakWood(StrippedDarkOakWood::Axis::Z).ID: return 144; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::X).ID: return 97; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Y).ID: return 98; + case StrippedJungleLog::StrippedJungleLog(StrippedJungleLog::Axis::Z).ID: return 99; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::X).ID: return 136; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Y).ID: return 137; + case StrippedJungleWood::StrippedJungleWood(StrippedJungleWood::Axis::Z).ID: return 138; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::X).ID: return 106; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Y).ID: return 107; + case StrippedOakLog::StrippedOakLog(StrippedOakLog::Axis::Z).ID: return 108; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::X).ID: return 127; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Y).ID: return 128; + case StrippedOakWood::StrippedOakWood(StrippedOakWood::Axis::Z).ID: return 129; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::X).ID: return 91; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Y).ID: return 92; + case StrippedSpruceLog::StrippedSpruceLog(StrippedSpruceLog::Axis::Z).ID: return 93; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::X).ID: return 130; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Y).ID: return 131; + case StrippedSpruceWood::StrippedSpruceWood(StrippedSpruceWood::Axis::Z).ID: return 132; + case StrippedWarpedHyphae::StrippedWarpedHyphae(StrippedWarpedHyphae::Axis::X).ID: return 14967; + case StrippedWarpedHyphae::StrippedWarpedHyphae(StrippedWarpedHyphae::Axis::Y).ID: return 14968; + case StrippedWarpedHyphae::StrippedWarpedHyphae(StrippedWarpedHyphae::Axis::Z).ID: return 14969; + case StrippedWarpedStem::StrippedWarpedStem(StrippedWarpedStem::Axis::X).ID: return 14961; + case StrippedWarpedStem::StrippedWarpedStem(StrippedWarpedStem::Axis::Y).ID: return 14962; + case StrippedWarpedStem::StrippedWarpedStem(StrippedWarpedStem::Axis::Z).ID: return 14963; + case StructureBlock::StructureBlock(StructureBlock::Mode::Save).ID: return 15735; + case StructureBlock::StructureBlock(StructureBlock::Mode::Load).ID: return 15736; + case StructureBlock::StructureBlock(StructureBlock::Mode::Corner).ID: return 15737; + case StructureBlock::StructureBlock(StructureBlock::Mode::Data).ID: return 15738; + case StructureVoid::StructureVoid().ID: return 9259; + case SugarCane::SugarCane(0).ID: return 3948; + case SugarCane::SugarCane(1).ID: return 3949; + case SugarCane::SugarCane(2).ID: return 3950; + case SugarCane::SugarCane(3).ID: return 3951; + case SugarCane::SugarCane(4).ID: return 3952; + case SugarCane::SugarCane(5).ID: return 3953; + case SugarCane::SugarCane(6).ID: return 3954; + case SugarCane::SugarCane(7).ID: return 3955; + case SugarCane::SugarCane(8).ID: return 3956; + case SugarCane::SugarCane(9).ID: return 3957; + case SugarCane::SugarCane(10).ID: return 3958; + case SugarCane::SugarCane(11).ID: return 3959; + case SugarCane::SugarCane(12).ID: return 3960; + case SugarCane::SugarCane(13).ID: return 3961; + case SugarCane::SugarCane(14).ID: return 3962; + case SugarCane::SugarCane(15).ID: return 3963; + case Sunflower::Sunflower(Sunflower::Half::Upper).ID: return 7885; + case Sunflower::Sunflower(Sunflower::Half::Lower).ID: return 7886; + case SweetBerryBush::SweetBerryBush(0).ID: return 14954; + case SweetBerryBush::SweetBerryBush(1).ID: return 14955; + case SweetBerryBush::SweetBerryBush(2).ID: return 14956; + case SweetBerryBush::SweetBerryBush(3).ID: return 14957; + case TNT::TNT(true).ID: return 1430; + case TNT::TNT(false).ID: return 1431; + case TallGrass::TallGrass(TallGrass::Half::Upper).ID: return 7893; + case TallGrass::TallGrass(TallGrass::Half::Lower).ID: return 7894; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Upper).ID: return 1346; + case TallSeagrass::TallSeagrass(TallSeagrass::Half::Lower).ID: return 1347; + case Target::Target(0).ID: return 15760; + case Target::Target(1).ID: return 15761; + case Target::Target(2).ID: return 15762; + case Target::Target(3).ID: return 15763; + case Target::Target(4).ID: return 15764; + case Target::Target(5).ID: return 15765; + case Target::Target(6).ID: return 15766; + case Target::Target(7).ID: return 15767; + case Target::Target(8).ID: return 15768; + case Target::Target(9).ID: return 15769; + case Target::Target(10).ID: return 15770; + case Target::Target(11).ID: return 15771; + case Target::Target(12).ID: return 15772; + case Target::Target(13).ID: return 15773; + case Target::Target(14).ID: return 15774; + case Target::Target(15).ID: return 15775; + case Terracotta::Terracotta().ID: return 7882; + case Torch::Torch().ID: return 1435; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single).ID: return 6623; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Left).ID: return 6625; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Right).ID: return 6627; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single).ID: return 6629; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Left).ID: return 6631; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Right).ID: return 6633; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single).ID: return 6635; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Left).ID: return 6637; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Right).ID: return 6639; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single).ID: return 6641; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Left).ID: return 6643; + case TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Right).ID: return 6645; + case Tripwire::Tripwire(true, true, true, true, true, true, true).ID: return 5275; + case Tripwire::Tripwire(true, true, true, true, true, true, false).ID: return 5276; + case Tripwire::Tripwire(true, true, true, true, true, false, true).ID: return 5277; + case Tripwire::Tripwire(true, true, true, true, true, false, false).ID: return 5278; + case Tripwire::Tripwire(true, true, true, true, false, true, true).ID: return 5279; + case Tripwire::Tripwire(true, true, true, true, false, true, false).ID: return 5280; + case Tripwire::Tripwire(true, true, true, true, false, false, true).ID: return 5281; + case Tripwire::Tripwire(true, true, true, true, false, false, false).ID: return 5282; + case Tripwire::Tripwire(true, true, true, false, true, true, true).ID: return 5283; + case Tripwire::Tripwire(true, true, true, false, true, true, false).ID: return 5284; + case Tripwire::Tripwire(true, true, true, false, true, false, true).ID: return 5285; + case Tripwire::Tripwire(true, true, true, false, true, false, false).ID: return 5286; + case Tripwire::Tripwire(true, true, true, false, false, true, true).ID: return 5287; + case Tripwire::Tripwire(true, true, true, false, false, true, false).ID: return 5288; + case Tripwire::Tripwire(true, true, true, false, false, false, true).ID: return 5289; + case Tripwire::Tripwire(true, true, true, false, false, false, false).ID: return 5290; + case Tripwire::Tripwire(true, true, false, true, true, true, true).ID: return 5291; + case Tripwire::Tripwire(true, true, false, true, true, true, false).ID: return 5292; + case Tripwire::Tripwire(true, true, false, true, true, false, true).ID: return 5293; + case Tripwire::Tripwire(true, true, false, true, true, false, false).ID: return 5294; + case Tripwire::Tripwire(true, true, false, true, false, true, true).ID: return 5295; + case Tripwire::Tripwire(true, true, false, true, false, true, false).ID: return 5296; + case Tripwire::Tripwire(true, true, false, true, false, false, true).ID: return 5297; + case Tripwire::Tripwire(true, true, false, true, false, false, false).ID: return 5298; + case Tripwire::Tripwire(true, true, false, false, true, true, true).ID: return 5299; + case Tripwire::Tripwire(true, true, false, false, true, true, false).ID: return 5300; + case Tripwire::Tripwire(true, true, false, false, true, false, true).ID: return 5301; + case Tripwire::Tripwire(true, true, false, false, true, false, false).ID: return 5302; + case Tripwire::Tripwire(true, true, false, false, false, true, true).ID: return 5303; + case Tripwire::Tripwire(true, true, false, false, false, true, false).ID: return 5304; + case Tripwire::Tripwire(true, true, false, false, false, false, true).ID: return 5305; + case Tripwire::Tripwire(true, true, false, false, false, false, false).ID: return 5306; + case Tripwire::Tripwire(true, false, true, true, true, true, true).ID: return 5307; + case Tripwire::Tripwire(true, false, true, true, true, true, false).ID: return 5308; + case Tripwire::Tripwire(true, false, true, true, true, false, true).ID: return 5309; + case Tripwire::Tripwire(true, false, true, true, true, false, false).ID: return 5310; + case Tripwire::Tripwire(true, false, true, true, false, true, true).ID: return 5311; + case Tripwire::Tripwire(true, false, true, true, false, true, false).ID: return 5312; + case Tripwire::Tripwire(true, false, true, true, false, false, true).ID: return 5313; + case Tripwire::Tripwire(true, false, true, true, false, false, false).ID: return 5314; + case Tripwire::Tripwire(true, false, true, false, true, true, true).ID: return 5315; + case Tripwire::Tripwire(true, false, true, false, true, true, false).ID: return 5316; + case Tripwire::Tripwire(true, false, true, false, true, false, true).ID: return 5317; + case Tripwire::Tripwire(true, false, true, false, true, false, false).ID: return 5318; + case Tripwire::Tripwire(true, false, true, false, false, true, true).ID: return 5319; + case Tripwire::Tripwire(true, false, true, false, false, true, false).ID: return 5320; + case Tripwire::Tripwire(true, false, true, false, false, false, true).ID: return 5321; + case Tripwire::Tripwire(true, false, true, false, false, false, false).ID: return 5322; + case Tripwire::Tripwire(true, false, false, true, true, true, true).ID: return 5323; + case Tripwire::Tripwire(true, false, false, true, true, true, false).ID: return 5324; + case Tripwire::Tripwire(true, false, false, true, true, false, true).ID: return 5325; + case Tripwire::Tripwire(true, false, false, true, true, false, false).ID: return 5326; + case Tripwire::Tripwire(true, false, false, true, false, true, true).ID: return 5327; + case Tripwire::Tripwire(true, false, false, true, false, true, false).ID: return 5328; + case Tripwire::Tripwire(true, false, false, true, false, false, true).ID: return 5329; + case Tripwire::Tripwire(true, false, false, true, false, false, false).ID: return 5330; + case Tripwire::Tripwire(true, false, false, false, true, true, true).ID: return 5331; + case Tripwire::Tripwire(true, false, false, false, true, true, false).ID: return 5332; + case Tripwire::Tripwire(true, false, false, false, true, false, true).ID: return 5333; + case Tripwire::Tripwire(true, false, false, false, true, false, false).ID: return 5334; + case Tripwire::Tripwire(true, false, false, false, false, true, true).ID: return 5335; + case Tripwire::Tripwire(true, false, false, false, false, true, false).ID: return 5336; + case Tripwire::Tripwire(true, false, false, false, false, false, true).ID: return 5337; + case Tripwire::Tripwire(true, false, false, false, false, false, false).ID: return 5338; + case Tripwire::Tripwire(false, true, true, true, true, true, true).ID: return 5339; + case Tripwire::Tripwire(false, true, true, true, true, true, false).ID: return 5340; + case Tripwire::Tripwire(false, true, true, true, true, false, true).ID: return 5341; + case Tripwire::Tripwire(false, true, true, true, true, false, false).ID: return 5342; + case Tripwire::Tripwire(false, true, true, true, false, true, true).ID: return 5343; + case Tripwire::Tripwire(false, true, true, true, false, true, false).ID: return 5344; + case Tripwire::Tripwire(false, true, true, true, false, false, true).ID: return 5345; + case Tripwire::Tripwire(false, true, true, true, false, false, false).ID: return 5346; + case Tripwire::Tripwire(false, true, true, false, true, true, true).ID: return 5347; + case Tripwire::Tripwire(false, true, true, false, true, true, false).ID: return 5348; + case Tripwire::Tripwire(false, true, true, false, true, false, true).ID: return 5349; + case Tripwire::Tripwire(false, true, true, false, true, false, false).ID: return 5350; + case Tripwire::Tripwire(false, true, true, false, false, true, true).ID: return 5351; + case Tripwire::Tripwire(false, true, true, false, false, true, false).ID: return 5352; + case Tripwire::Tripwire(false, true, true, false, false, false, true).ID: return 5353; + case Tripwire::Tripwire(false, true, true, false, false, false, false).ID: return 5354; + case Tripwire::Tripwire(false, true, false, true, true, true, true).ID: return 5355; + case Tripwire::Tripwire(false, true, false, true, true, true, false).ID: return 5356; + case Tripwire::Tripwire(false, true, false, true, true, false, true).ID: return 5357; + case Tripwire::Tripwire(false, true, false, true, true, false, false).ID: return 5358; + case Tripwire::Tripwire(false, true, false, true, false, true, true).ID: return 5359; + case Tripwire::Tripwire(false, true, false, true, false, true, false).ID: return 5360; + case Tripwire::Tripwire(false, true, false, true, false, false, true).ID: return 5361; + case Tripwire::Tripwire(false, true, false, true, false, false, false).ID: return 5362; + case Tripwire::Tripwire(false, true, false, false, true, true, true).ID: return 5363; + case Tripwire::Tripwire(false, true, false, false, true, true, false).ID: return 5364; + case Tripwire::Tripwire(false, true, false, false, true, false, true).ID: return 5365; + case Tripwire::Tripwire(false, true, false, false, true, false, false).ID: return 5366; + case Tripwire::Tripwire(false, true, false, false, false, true, true).ID: return 5367; + case Tripwire::Tripwire(false, true, false, false, false, true, false).ID: return 5368; + case Tripwire::Tripwire(false, true, false, false, false, false, true).ID: return 5369; + case Tripwire::Tripwire(false, true, false, false, false, false, false).ID: return 5370; + case Tripwire::Tripwire(false, false, true, true, true, true, true).ID: return 5371; + case Tripwire::Tripwire(false, false, true, true, true, true, false).ID: return 5372; + case Tripwire::Tripwire(false, false, true, true, true, false, true).ID: return 5373; + case Tripwire::Tripwire(false, false, true, true, true, false, false).ID: return 5374; + case Tripwire::Tripwire(false, false, true, true, false, true, true).ID: return 5375; + case Tripwire::Tripwire(false, false, true, true, false, true, false).ID: return 5376; + case Tripwire::Tripwire(false, false, true, true, false, false, true).ID: return 5377; + case Tripwire::Tripwire(false, false, true, true, false, false, false).ID: return 5378; + case Tripwire::Tripwire(false, false, true, false, true, true, true).ID: return 5379; + case Tripwire::Tripwire(false, false, true, false, true, true, false).ID: return 5380; + case Tripwire::Tripwire(false, false, true, false, true, false, true).ID: return 5381; + case Tripwire::Tripwire(false, false, true, false, true, false, false).ID: return 5382; + case Tripwire::Tripwire(false, false, true, false, false, true, true).ID: return 5383; + case Tripwire::Tripwire(false, false, true, false, false, true, false).ID: return 5384; + case Tripwire::Tripwire(false, false, true, false, false, false, true).ID: return 5385; + case Tripwire::Tripwire(false, false, true, false, false, false, false).ID: return 5386; + case Tripwire::Tripwire(false, false, false, true, true, true, true).ID: return 5387; + case Tripwire::Tripwire(false, false, false, true, true, true, false).ID: return 5388; + case Tripwire::Tripwire(false, false, false, true, true, false, true).ID: return 5389; + case Tripwire::Tripwire(false, false, false, true, true, false, false).ID: return 5390; + case Tripwire::Tripwire(false, false, false, true, false, true, true).ID: return 5391; + case Tripwire::Tripwire(false, false, false, true, false, true, false).ID: return 5392; + case Tripwire::Tripwire(false, false, false, true, false, false, true).ID: return 5393; + case Tripwire::Tripwire(false, false, false, true, false, false, false).ID: return 5394; + case Tripwire::Tripwire(false, false, false, false, true, true, true).ID: return 5395; + case Tripwire::Tripwire(false, false, false, false, true, true, false).ID: return 5396; + case Tripwire::Tripwire(false, false, false, false, true, false, true).ID: return 5397; + case Tripwire::Tripwire(false, false, false, false, true, false, false).ID: return 5398; + case Tripwire::Tripwire(false, false, false, false, false, true, true).ID: return 5399; + case Tripwire::Tripwire(false, false, false, false, false, true, false).ID: return 5400; + case Tripwire::Tripwire(false, false, false, false, false, false, true).ID: return 5401; + case Tripwire::Tripwire(false, false, false, false, false, false, false).ID: return 5402; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5259; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5260; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5261; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5262; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true).ID: return 5263; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false).ID: return 5264; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true).ID: return 5265; + case TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false).ID: return 5266; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true).ID: return 5267; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false).ID: return 5268; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true).ID: return 5269; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false).ID: return 5270; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true).ID: return 5271; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false).ID: return 5272; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true).ID: return 5273; + case TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false).ID: return 5274; + case TubeCoral::TubeCoral().ID: return 9531; + case TubeCoralBlock::TubeCoralBlock().ID: return 9515; + case TubeCoralFan::TubeCoralFan().ID: return 9551; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZM).ID: return 9601; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_ZP).ID: return 9603; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XM).ID: return 9605; + case TubeCoralWallFan::TubeCoralWallFan(eBlockFace::BLOCK_FACE_XP).ID: return 9607; + case TurtleEgg::TurtleEgg(1, 0).ID: return 9498; + case TurtleEgg::TurtleEgg(1, 1).ID: return 9499; + case TurtleEgg::TurtleEgg(1, 2).ID: return 9500; + case TurtleEgg::TurtleEgg(2, 0).ID: return 9501; + case TurtleEgg::TurtleEgg(2, 1).ID: return 9502; + case TurtleEgg::TurtleEgg(2, 2).ID: return 9503; + case TurtleEgg::TurtleEgg(3, 0).ID: return 9504; + case TurtleEgg::TurtleEgg(3, 1).ID: return 9505; + case TurtleEgg::TurtleEgg(3, 2).ID: return 9506; + case TurtleEgg::TurtleEgg(4, 0).ID: return 9507; + case TurtleEgg::TurtleEgg(4, 1).ID: return 9508; + case TurtleEgg::TurtleEgg(4, 2).ID: return 9509; + case TwistingVines::TwistingVines(0).ID: return 15017; + case TwistingVines::TwistingVines(1).ID: return 15018; + case TwistingVines::TwistingVines(2).ID: return 15019; + case TwistingVines::TwistingVines(3).ID: return 15020; + case TwistingVines::TwistingVines(4).ID: return 15021; + case TwistingVines::TwistingVines(5).ID: return 15022; + case TwistingVines::TwistingVines(6).ID: return 15023; + case TwistingVines::TwistingVines(7).ID: return 15024; + case TwistingVines::TwistingVines(8).ID: return 15025; + case TwistingVines::TwistingVines(9).ID: return 15026; + case TwistingVines::TwistingVines(10).ID: return 15027; + case TwistingVines::TwistingVines(11).ID: return 15028; + case TwistingVines::TwistingVines(12).ID: return 15029; + case TwistingVines::TwistingVines(13).ID: return 15030; + case TwistingVines::TwistingVines(14).ID: return 15031; + case TwistingVines::TwistingVines(15).ID: return 15032; + case TwistingVines::TwistingVines(16).ID: return 15033; + case TwistingVines::TwistingVines(17).ID: return 15034; + case TwistingVines::TwistingVines(18).ID: return 15035; + case TwistingVines::TwistingVines(19).ID: return 15036; + case TwistingVines::TwistingVines(20).ID: return 15037; + case TwistingVines::TwistingVines(21).ID: return 15038; + case TwistingVines::TwistingVines(22).ID: return 15039; + case TwistingVines::TwistingVines(23).ID: return 15040; + case TwistingVines::TwistingVines(24).ID: return 15041; + case TwistingVines::TwistingVines(25).ID: return 15042; + case TwistingVinesPlant::TwistingVinesPlant().ID: return 15043; + case Vine::Vine(true, true, true, true, true).ID: return 4788; + case Vine::Vine(true, true, true, true, false).ID: return 4789; + case Vine::Vine(true, true, true, false, true).ID: return 4790; + case Vine::Vine(true, true, true, false, false).ID: return 4791; + case Vine::Vine(true, true, false, true, true).ID: return 4792; + case Vine::Vine(true, true, false, true, false).ID: return 4793; + case Vine::Vine(true, true, false, false, true).ID: return 4794; + case Vine::Vine(true, true, false, false, false).ID: return 4795; + case Vine::Vine(true, false, true, true, true).ID: return 4796; + case Vine::Vine(true, false, true, true, false).ID: return 4797; + case Vine::Vine(true, false, true, false, true).ID: return 4798; + case Vine::Vine(true, false, true, false, false).ID: return 4799; + case Vine::Vine(true, false, false, true, true).ID: return 4800; + case Vine::Vine(true, false, false, true, false).ID: return 4801; + case Vine::Vine(true, false, false, false, true).ID: return 4802; + case Vine::Vine(true, false, false, false, false).ID: return 4803; + case Vine::Vine(false, true, true, true, true).ID: return 4804; + case Vine::Vine(false, true, true, true, false).ID: return 4805; + case Vine::Vine(false, true, true, false, true).ID: return 4806; + case Vine::Vine(false, true, true, false, false).ID: return 4807; + case Vine::Vine(false, true, false, true, true).ID: return 4808; + case Vine::Vine(false, true, false, true, false).ID: return 4809; + case Vine::Vine(false, true, false, false, true).ID: return 4810; + case Vine::Vine(false, true, false, false, false).ID: return 4811; + case Vine::Vine(false, false, true, true, true).ID: return 4812; + case Vine::Vine(false, false, true, true, false).ID: return 4813; + case Vine::Vine(false, false, true, false, true).ID: return 4814; + case Vine::Vine(false, false, true, false, false).ID: return 4815; + case Vine::Vine(false, false, false, true, true).ID: return 4816; + case Vine::Vine(false, false, false, true, false).ID: return 4817; + case Vine::Vine(false, false, false, false, true).ID: return 4818; + case Vine::Vine(false, false, false, false, false).ID: return 4819; + case VoidAir::VoidAir().ID: return 9665; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM).ID: return 1436; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP).ID: return 1437; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM).ID: return 1438; + case WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP).ID: return 1439; + case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15503; + case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15504; + case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15505; + case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15506; + case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, true).ID: return 15507; + case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_XM, false).ID: return 15508; + case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, true).ID: return 15509; + case WarpedButton::WarpedButton(WarpedButton::Face::Floor, eBlockFace::BLOCK_FACE_XP, false).ID: return 15510; + case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15511; + case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15512; + case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15513; + case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15514; + case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true).ID: return 15515; + case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false).ID: return 15516; + case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true).ID: return 15517; + case WarpedButton::WarpedButton(WarpedButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false).ID: return 15518; + case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true).ID: return 15519; + case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false).ID: return 15520; + case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, true).ID: return 15521; + case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZP, false).ID: return 15522; + case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true).ID: return 15523; + case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false).ID: return 15524; + case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, true).ID: return 15525; + case WarpedButton::WarpedButton(WarpedButton::Face::Ceiling, eBlockFace::BLOCK_FACE_XP, false).ID: return 15526; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + true, + true + ) + .ID: + return 15591; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + true, + false + ) + .ID: + return 15592; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + false, + true + ) + .ID: + return 15593; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + false, + false + ) + .ID: + return 15594; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + true, + true + ) + .ID: + return 15595; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + true, + false + ) + .ID: + return 15596; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + false, + true + ) + .ID: + return 15597; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + false, + false + ) + .ID: + return 15598; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + true, + true + ) + .ID: + return 15599; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + true, + false + ) + .ID: + return 15600; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + false, + true + ) + .ID: + return 15601; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + false, + false + ) + .ID: + return 15602; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + true, + true + ) + .ID: + return 15603; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + true, + false + ) + .ID: + return 15604; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + false, + true + ) + .ID: + return 15605; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + false, + false + ) + .ID: + return 15606; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + true, + true + ) + .ID: + return 15607; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + true, + false + ) + .ID: + return 15608; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + false, + true + ) + .ID: + return 15609; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + false, + false + ) + .ID: + return 15610; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + true, + true + ) + .ID: + return 15611; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + true, + false + ) + .ID: + return 15612; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + false, + true + ) + .ID: + return 15613; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + false, + false + ) + .ID: + return 15614; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + true, + true + ) + .ID: + return 15615; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + true, + false + ) + .ID: + return 15616; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + false, + true + ) + .ID: + return 15617; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + false, + false + ) + .ID: + return 15618; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + true, + true + ) + .ID: + return 15619; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + true, + false + ) + .ID: + return 15620; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + false, + true + ) + .ID: + return 15621; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_ZP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + false, + false + ) + .ID: + return 15622; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + true, + true + ) + .ID: + return 15623; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + true, + false + ) + .ID: + return 15624; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + false, + true + ) + .ID: + return 15625; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + false, + false + ) + .ID: + return 15626; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + true, + true + ) + .ID: + return 15627; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + true, + false + ) + .ID: + return 15628; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + false, + true + ) + .ID: + return 15629; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + false, + false + ) + .ID: + return 15630; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + true, + true + ) + .ID: + return 15631; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + true, + false + ) + .ID: + return 15632; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + false, + true + ) + .ID: + return 15633; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + false, + false + ) + .ID: + return 15634; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + true, + true + ) + .ID: + return 15635; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + true, + false + ) + .ID: + return 15636; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + false, + true + ) + .ID: + return 15637; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XM, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + false, + false + ) + .ID: + return 15638; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + true, + true + ) + .ID: + return 15639; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + true, + false + ) + .ID: + return 15640; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + false, + true + ) + .ID: + return 15641; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Left, + false, + false + ) + .ID: + return 15642; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + true, + true + ) + .ID: + return 15643; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + true, + false + ) + .ID: + return 15644; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + false, + true + ) + .ID: + return 15645; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Upper, + WarpedDoor::Hinge::Right, + false, + false + ) + .ID: + return 15646; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + true, + true + ) + .ID: + return 15647; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + true, + false + ) + .ID: + return 15648; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + false, + true + ) + .ID: + return 15649; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Left, + false, + false + ) + .ID: + return 15650; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + true, + true + ) + .ID: + return 15651; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + true, + false + ) + .ID: + return 15652; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + false, + true + ) + .ID: + return 15653; + case WarpedDoor::WarpedDoor( + eBlockFace::BLOCK_FACE_XP, + WarpedDoor::Half::Lower, + WarpedDoor::Hinge::Right, + false, + false + ) + .ID: + return 15654; + case WarpedFence::WarpedFence(true, true, true, true).ID: return 15097; + case WarpedFence::WarpedFence(true, true, true, false).ID: return 15098; + case WarpedFence::WarpedFence(true, true, false, true).ID: return 15101; + case WarpedFence::WarpedFence(true, true, false, false).ID: return 15102; + case WarpedFence::WarpedFence(true, false, true, true).ID: return 15105; + case WarpedFence::WarpedFence(true, false, true, false).ID: return 15106; + case WarpedFence::WarpedFence(true, false, false, true).ID: return 15109; + case WarpedFence::WarpedFence(true, false, false, false).ID: return 15110; + case WarpedFence::WarpedFence(false, true, true, true).ID: return 15113; + case WarpedFence::WarpedFence(false, true, true, false).ID: return 15114; + case WarpedFence::WarpedFence(false, true, false, true).ID: return 15117; + case WarpedFence::WarpedFence(false, true, false, false).ID: return 15118; + case WarpedFence::WarpedFence(false, false, true, true).ID: return 15121; + case WarpedFence::WarpedFence(false, false, true, false).ID: return 15122; + case WarpedFence::WarpedFence(false, false, false, true).ID: return 15125; + case WarpedFence::WarpedFence(false, false, false, false).ID: return 15126; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, true).ID: return 15287; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, true, true, false).ID: return 15288; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, true).ID: return 15289; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, true, false, false).ID: return 15290; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true).ID: return 15291; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false).ID: return 15292; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true).ID: return 15293; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false).ID: return 15294; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, true).ID: return 15295; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, true, true, false).ID: return 15296; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, true).ID: return 15297; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, true, false, false).ID: return 15298; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true).ID: return 15299; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false).ID: return 15300; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true).ID: return 15301; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false).ID: return 15302; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, true).ID: return 15303; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, true, true, false).ID: return 15304; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, true).ID: return 15305; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, true, false, false).ID: return 15306; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true).ID: return 15307; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false).ID: return 15308; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true).ID: return 15309; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false).ID: return 15310; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, true).ID: return 15311; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, true, true, false).ID: return 15312; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, true).ID: return 15313; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, true, false, false).ID: return 15314; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true).ID: return 15315; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false).ID: return 15316; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true).ID: return 15317; + case WarpedFenceGate::WarpedFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false).ID: return 15318; + case WarpedFungus::WarpedFungus().ID: return 14971; + case WarpedHyphae::WarpedHyphae(WarpedHyphae::Axis::X).ID: return 14964; + case WarpedHyphae::WarpedHyphae(WarpedHyphae::Axis::Y).ID: return 14965; + case WarpedHyphae::WarpedHyphae(WarpedHyphae::Axis::Z).ID: return 14966; + case WarpedNylium::WarpedNylium().ID: return 14970; + case WarpedPlanks::WarpedPlanks().ID: return 15046; + case WarpedPressurePlate::WarpedPressurePlate(true).ID: return 15061; + case WarpedPressurePlate::WarpedPressurePlate(false).ID: return 15062; + case WarpedRoots::WarpedRoots().ID: return 14973; + case WarpedSign::WarpedSign(0).ID: return 15688; + case WarpedSign::WarpedSign(1).ID: return 15690; + case WarpedSign::WarpedSign(2).ID: return 15692; + case WarpedSign::WarpedSign(3).ID: return 15694; + case WarpedSign::WarpedSign(4).ID: return 15696; + case WarpedSign::WarpedSign(5).ID: return 15698; + case WarpedSign::WarpedSign(6).ID: return 15700; + case WarpedSign::WarpedSign(7).ID: return 15702; + case WarpedSign::WarpedSign(8).ID: return 15704; + case WarpedSign::WarpedSign(9).ID: return 15706; + case WarpedSign::WarpedSign(10).ID: return 15708; + case WarpedSign::WarpedSign(11).ID: return 15710; + case WarpedSign::WarpedSign(12).ID: return 15712; + case WarpedSign::WarpedSign(13).ID: return 15714; + case WarpedSign::WarpedSign(14).ID: return 15716; + case WarpedSign::WarpedSign(15).ID: return 15718; + case WarpedSlab::WarpedSlab(WarpedSlab::Type::Top).ID: return 15054; + case WarpedSlab::WarpedSlab(WarpedSlab::Type::Bottom).ID: return 15056; + case WarpedSlab::WarpedSlab(WarpedSlab::Type::Double).ID: return 15058; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::Straight + ) + .ID: + return 15400; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::InnerLeft + ) + .ID: + return 15402; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::InnerRight + ) + .ID: + return 15404; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::OuterLeft + ) + .ID: + return 15406; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::OuterRight + ) + .ID: + return 15408; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::Straight + ) + .ID: + return 15410; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::InnerLeft + ) + .ID: + return 15412; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::InnerRight + ) + .ID: + return 15414; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::OuterLeft + ) + .ID: + return 15416; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::OuterRight + ) + .ID: + return 15418; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::Straight + ) + .ID: + return 15420; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::InnerLeft + ) + .ID: + return 15422; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::InnerRight + ) + .ID: + return 15424; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::OuterLeft + ) + .ID: + return 15426; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::OuterRight + ) + .ID: + return 15428; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::Straight + ) + .ID: + return 15430; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::InnerLeft + ) + .ID: + return 15432; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::InnerRight + ) + .ID: + return 15434; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::OuterLeft + ) + .ID: + return 15436; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_ZP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::OuterRight + ) + .ID: + return 15438; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::Straight + ) + .ID: + return 15440; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::InnerLeft + ) + .ID: + return 15442; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::InnerRight + ) + .ID: + return 15444; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::OuterLeft + ) + .ID: + return 15446; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Top, + WarpedStairs::Shape::OuterRight + ) + .ID: + return 15448; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::Straight + ) + .ID: + return 15450; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::InnerLeft + ) + .ID: + return 15452; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::InnerRight + ) + .ID: + return 15454; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::OuterLeft + ) + .ID: + return 15456; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XM, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::OuterRight + ) + .ID: + return 15458; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::Straight + ) + .ID: + return 15460; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::InnerLeft + ) + .ID: + return 15462; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::InnerRight + ) + .ID: + return 15464; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::OuterLeft + ) + .ID: + return 15466; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Top, + WarpedStairs::Shape::OuterRight + ) + .ID: + return 15468; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::Straight + ) + .ID: + return 15470; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::InnerLeft + ) + .ID: + return 15472; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::InnerRight + ) + .ID: + return 15474; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::OuterLeft + ) + .ID: + return 15476; + case WarpedStairs::WarpedStairs( + eBlockFace::BLOCK_FACE_XP, + WarpedStairs::Half::Bottom, + WarpedStairs::Shape::OuterRight + ) + .ID: + return 15478; + case WarpedStem::WarpedStem(WarpedStem::Axis::X).ID: return 14958; + case WarpedStem::WarpedStem(WarpedStem::Axis::Y).ID: return 14959; + case WarpedStem::WarpedStem(WarpedStem::Axis::Z).ID: return 14960; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Top, true, true).ID: + return 15192; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Top, true, false).ID: + return 15194; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Top, false, true).ID: + return 15196; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Top, false, false).ID: + return 15198; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Bottom, true, true).ID: + return 15200; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Bottom, true, false).ID: + return 15202; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Bottom, false, true).ID: + return 15204; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZM, WarpedTrapdoor::Half::Bottom, false, false).ID: + return 15206; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Top, true, true).ID: + return 15208; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Top, true, false).ID: + return 15210; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Top, false, true).ID: + return 15212; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Top, false, false).ID: + return 15214; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Bottom, true, true).ID: + return 15216; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Bottom, true, false).ID: + return 15218; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Bottom, false, true).ID: + return 15220; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_ZP, WarpedTrapdoor::Half::Bottom, false, false).ID: + return 15222; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Top, true, true).ID: + return 15224; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Top, true, false).ID: + return 15226; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Top, false, true).ID: + return 15228; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Top, false, false).ID: + return 15230; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Bottom, true, true).ID: + return 15232; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Bottom, true, false).ID: + return 15234; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Bottom, false, true).ID: + return 15236; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XM, WarpedTrapdoor::Half::Bottom, false, false).ID: + return 15238; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Top, true, true).ID: + return 15240; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Top, true, false).ID: + return 15242; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Top, false, true).ID: + return 15244; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Top, false, false).ID: + return 15246; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Bottom, true, true).ID: + return 15248; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Bottom, true, false).ID: + return 15250; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Bottom, false, true).ID: + return 15252; + case WarpedTrapdoor::WarpedTrapdoor(eBlockFace::BLOCK_FACE_XP, WarpedTrapdoor::Half::Bottom, false, false).ID: + return 15254; + case WarpedWallSign::WarpedWallSign(eBlockFace::BLOCK_FACE_ZM).ID: return 15728; + case WarpedWallSign::WarpedWallSign(eBlockFace::BLOCK_FACE_ZP).ID: return 15730; + case WarpedWallSign::WarpedWallSign(eBlockFace::BLOCK_FACE_XM).ID: return 15732; + case WarpedWallSign::WarpedWallSign(eBlockFace::BLOCK_FACE_XP).ID: return 15734; + case WarpedWartBlock::WarpedWartBlock().ID: return 14972; + case Water::Water(0).ID: return 34; + case Water::Water(1).ID: return 35; + case Water::Water(2).ID: return 36; + case Water::Water(3).ID: return 37; + case Water::Water(4).ID: return 38; + case Water::Water(5).ID: return 39; + case Water::Water(6).ID: return 40; + case Water::Water(7).ID: return 41; + case Water::Water(8).ID: return 42; + case Water::Water(9).ID: return 43; + case Water::Water(10).ID: return 44; + case Water::Water(11).ID: return 45; + case Water::Water(12).ID: return 46; + case Water::Water(13).ID: return 47; + case Water::Water(14).ID: return 48; + case Water::Water(15).ID: return 49; + case WeepingVines::WeepingVines(0).ID: return 14990; + case WeepingVines::WeepingVines(1).ID: return 14991; + case WeepingVines::WeepingVines(2).ID: return 14992; + case WeepingVines::WeepingVines(3).ID: return 14993; + case WeepingVines::WeepingVines(4).ID: return 14994; + case WeepingVines::WeepingVines(5).ID: return 14995; + case WeepingVines::WeepingVines(6).ID: return 14996; + case WeepingVines::WeepingVines(7).ID: return 14997; + case WeepingVines::WeepingVines(8).ID: return 14998; + case WeepingVines::WeepingVines(9).ID: return 14999; + case WeepingVines::WeepingVines(10).ID: return 15000; + case WeepingVines::WeepingVines(11).ID: return 15001; + case WeepingVines::WeepingVines(12).ID: return 15002; + case WeepingVines::WeepingVines(13).ID: return 15003; + case WeepingVines::WeepingVines(14).ID: return 15004; + case WeepingVines::WeepingVines(15).ID: return 15005; + case WeepingVines::WeepingVines(16).ID: return 15006; + case WeepingVines::WeepingVines(17).ID: return 15007; + case WeepingVines::WeepingVines(18).ID: return 15008; + case WeepingVines::WeepingVines(19).ID: return 15009; + case WeepingVines::WeepingVines(20).ID: return 15010; + case WeepingVines::WeepingVines(21).ID: return 15011; + case WeepingVines::WeepingVines(22).ID: return 15012; + case WeepingVines::WeepingVines(23).ID: return 15013; + case WeepingVines::WeepingVines(24).ID: return 15014; + case WeepingVines::WeepingVines(25).ID: return 15015; + case WeepingVinesPlant::WeepingVinesPlant().ID: return 15016; + case WetSponge::WetSponge().ID: return 230; + case Wheat::Wheat(0).ID: return 3357; + case Wheat::Wheat(1).ID: return 3358; + case Wheat::Wheat(2).ID: return 3359; + case Wheat::Wheat(3).ID: return 3360; + case Wheat::Wheat(4).ID: return 3361; + case Wheat::Wheat(5).ID: return 3362; + case Wheat::Wheat(6).ID: return 3363; + case Wheat::Wheat(7).ID: return 3364; + case WhiteBanner::WhiteBanner(0).ID: return 7897; + case WhiteBanner::WhiteBanner(1).ID: return 7898; + case WhiteBanner::WhiteBanner(2).ID: return 7899; + case WhiteBanner::WhiteBanner(3).ID: return 7900; + case WhiteBanner::WhiteBanner(4).ID: return 7901; + case WhiteBanner::WhiteBanner(5).ID: return 7902; + case WhiteBanner::WhiteBanner(6).ID: return 7903; + case WhiteBanner::WhiteBanner(7).ID: return 7904; + case WhiteBanner::WhiteBanner(8).ID: return 7905; + case WhiteBanner::WhiteBanner(9).ID: return 7906; + case WhiteBanner::WhiteBanner(10).ID: return 7907; + case WhiteBanner::WhiteBanner(11).ID: return 7908; + case WhiteBanner::WhiteBanner(12).ID: return 7909; + case WhiteBanner::WhiteBanner(13).ID: return 7910; + case WhiteBanner::WhiteBanner(14).ID: return 7911; + case WhiteBanner::WhiteBanner(15).ID: return 7912; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Head).ID: return 1049; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, true, WhiteBed::Part::Foot).ID: return 1050; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Head).ID: return 1051; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZM, false, WhiteBed::Part::Foot).ID: return 1052; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Head).ID: return 1053; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, true, WhiteBed::Part::Foot).ID: return 1054; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Head).ID: return 1055; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_ZP, false, WhiteBed::Part::Foot).ID: return 1056; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Head).ID: return 1057; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, true, WhiteBed::Part::Foot).ID: return 1058; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Head).ID: return 1059; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XM, false, WhiteBed::Part::Foot).ID: return 1060; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Head).ID: return 1061; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, true, WhiteBed::Part::Foot).ID: return 1062; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Head).ID: return 1063; + case WhiteBed::WhiteBed(eBlockFace::BLOCK_FACE_XP, false, WhiteBed::Part::Foot).ID: return 1064; + case WhiteCarpet::WhiteCarpet().ID: return 7866; + case WhiteConcrete::WhiteConcrete().ID: return 9438; + case WhiteConcretePowder::WhiteConcretePowder().ID: return 9454; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9374; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9375; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9376; + case WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9377; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9278; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9279; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9280; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9281; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9282; + case WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9283; + case WhiteStainedGlass::WhiteStainedGlass().ID: return 4095; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, true).ID: return 6865; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, true, false).ID: return 6866; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, true).ID: return 6869; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, true, false, false).ID: return 6870; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, true).ID: return 6873; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, true, false).ID: return 6874; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, true).ID: return 6877; + case WhiteStainedGlassPane::WhiteStainedGlassPane(true, false, false, false).ID: return 6878; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, true).ID: return 6881; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, true, false).ID: return 6882; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, true).ID: return 6885; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, true, false, false).ID: return 6886; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, true).ID: return 6889; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, true, false).ID: return 6890; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, true).ID: return 6893; + case WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false).ID: return 6894; + case WhiteTerracotta::WhiteTerracotta().ID: return 6847; + case WhiteTulip::WhiteTulip().ID: return 1419; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8153; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8154; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8155; + case WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8156; + case WhiteWool::WhiteWool().ID: return 1384; + case WitherRose::WitherRose().ID: return 1423; + case WitherSkeletonSkull::WitherSkeletonSkull(0).ID: return 6510; + case WitherSkeletonSkull::WitherSkeletonSkull(1).ID: return 6511; + case WitherSkeletonSkull::WitherSkeletonSkull(2).ID: return 6512; + case WitherSkeletonSkull::WitherSkeletonSkull(3).ID: return 6513; + case WitherSkeletonSkull::WitherSkeletonSkull(4).ID: return 6514; + case WitherSkeletonSkull::WitherSkeletonSkull(5).ID: return 6515; + case WitherSkeletonSkull::WitherSkeletonSkull(6).ID: return 6516; + case WitherSkeletonSkull::WitherSkeletonSkull(7).ID: return 6517; + case WitherSkeletonSkull::WitherSkeletonSkull(8).ID: return 6518; + case WitherSkeletonSkull::WitherSkeletonSkull(9).ID: return 6519; + case WitherSkeletonSkull::WitherSkeletonSkull(10).ID: return 6520; + case WitherSkeletonSkull::WitherSkeletonSkull(11).ID: return 6521; + case WitherSkeletonSkull::WitherSkeletonSkull(12).ID: return 6522; + case WitherSkeletonSkull::WitherSkeletonSkull(13).ID: return 6523; + case WitherSkeletonSkull::WitherSkeletonSkull(14).ID: return 6524; + case WitherSkeletonSkull::WitherSkeletonSkull(15).ID: return 6525; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM).ID: return 6526; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP).ID: return 6527; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XM).ID: return 6528; + case WitherSkeletonWallSkull::WitherSkeletonWallSkull(eBlockFace::BLOCK_FACE_XP).ID: return 6529; + case YellowBanner::YellowBanner(0).ID: return 7961; + case YellowBanner::YellowBanner(1).ID: return 7962; + case YellowBanner::YellowBanner(2).ID: return 7963; + case YellowBanner::YellowBanner(3).ID: return 7964; + case YellowBanner::YellowBanner(4).ID: return 7965; + case YellowBanner::YellowBanner(5).ID: return 7966; + case YellowBanner::YellowBanner(6).ID: return 7967; + case YellowBanner::YellowBanner(7).ID: return 7968; + case YellowBanner::YellowBanner(8).ID: return 7969; + case YellowBanner::YellowBanner(9).ID: return 7970; + case YellowBanner::YellowBanner(10).ID: return 7971; + case YellowBanner::YellowBanner(11).ID: return 7972; + case YellowBanner::YellowBanner(12).ID: return 7973; + case YellowBanner::YellowBanner(13).ID: return 7974; + case YellowBanner::YellowBanner(14).ID: return 7975; + case YellowBanner::YellowBanner(15).ID: return 7976; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Head).ID: return 1113; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, true, YellowBed::Part::Foot).ID: return 1114; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Head).ID: return 1115; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZM, false, YellowBed::Part::Foot).ID: return 1116; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Head).ID: return 1117; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, true, YellowBed::Part::Foot).ID: return 1118; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Head).ID: return 1119; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_ZP, false, YellowBed::Part::Foot).ID: return 1120; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Head).ID: return 1121; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, true, YellowBed::Part::Foot).ID: return 1122; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Head).ID: return 1123; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XM, false, YellowBed::Part::Foot).ID: return 1124; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Head).ID: return 1125; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, true, YellowBed::Part::Foot).ID: return 1126; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Head).ID: return 1127; + case YellowBed::YellowBed(eBlockFace::BLOCK_FACE_XP, false, YellowBed::Part::Foot).ID: return 1128; + case YellowCarpet::YellowCarpet().ID: return 7870; + case YellowConcrete::YellowConcrete().ID: return 9442; + case YellowConcretePowder::YellowConcretePowder().ID: return 9458; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM).ID: return 9390; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP).ID: return 9391; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM).ID: return 9392; + case YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP).ID: return 9393; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM).ID: return 9302; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP).ID: return 9303; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP).ID: return 9304; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM).ID: return 9305; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP).ID: return 9306; + case YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM).ID: return 9307; + case YellowStainedGlass::YellowStainedGlass().ID: return 4099; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, true).ID: return 6993; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, true, false).ID: return 6994; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, true).ID: return 6997; + case YellowStainedGlassPane::YellowStainedGlassPane(true, true, false, false).ID: return 6998; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, true).ID: return 7001; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, true, false).ID: return 7002; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, true).ID: return 7005; + case YellowStainedGlassPane::YellowStainedGlassPane(true, false, false, false).ID: return 7006; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, true).ID: return 7009; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, true, false).ID: return 7010; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, true).ID: return 7013; + case YellowStainedGlassPane::YellowStainedGlassPane(false, true, false, false).ID: return 7014; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, true).ID: return 7017; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, true, false).ID: return 7018; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, true).ID: return 7021; + case YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false).ID: return 7022; + case YellowTerracotta::YellowTerracotta().ID: return 6851; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZM).ID: return 8169; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_ZP).ID: return 8170; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XM).ID: return 8171; + case YellowWallBanner::YellowWallBanner(eBlockFace::BLOCK_FACE_XP).ID: return 8172; + case YellowWool::YellowWool().ID: return 1388; + case ZombieHead::ZombieHead(0).ID: return 6530; + case ZombieHead::ZombieHead(1).ID: return 6531; + case ZombieHead::ZombieHead(2).ID: return 6532; + case ZombieHead::ZombieHead(3).ID: return 6533; + case ZombieHead::ZombieHead(4).ID: return 6534; + case ZombieHead::ZombieHead(5).ID: return 6535; + case ZombieHead::ZombieHead(6).ID: return 6536; + case ZombieHead::ZombieHead(7).ID: return 6537; + case ZombieHead::ZombieHead(8).ID: return 6538; + case ZombieHead::ZombieHead(9).ID: return 6539; + case ZombieHead::ZombieHead(10).ID: return 6540; + case ZombieHead::ZombieHead(11).ID: return 6541; + case ZombieHead::ZombieHead(12).ID: return 6542; + case ZombieHead::ZombieHead(13).ID: return 6543; + case ZombieHead::ZombieHead(14).ID: return 6544; + case ZombieHead::ZombieHead(15).ID: return 6545; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZM).ID: return 6546; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_ZP).ID: return 6547; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XM).ID: return 6548; + case ZombieWallHead::ZombieWallHead(eBlockFace::BLOCK_FACE_XP).ID: return 6549; + default: return 0; } +} - UInt32 From(const Item ID) +UInt32 From(const Item ID) +{ + switch (ID) { - switch (ID) - { - case Item::AcaciaBoat: return 901; - case Item::AcaciaButton: return 309; - case Item::AcaciaDoor: return 562; - case Item::AcaciaFence: return 212; - case Item::AcaciaFenceGate: return 256; - case Item::AcaciaLeaves: return 73; - case Item::AcaciaLog: return 41; - case Item::AcaciaPlanks: return 19; - case Item::AcaciaPressurePlate: return 195; - case Item::AcaciaSapling: return 27; - case Item::AcaciaSign: return 656; - case Item::AcaciaSlab: return 142; - case Item::AcaciaStairs: return 369; - case Item::AcaciaTrapdoor: return 230; - case Item::AcaciaWood: return 65; - case Item::ActivatorRail: return 329; - case Item::Air: return -0; - case Item::Allium: return 114; - case Item::AncientDebris: return 959; - case Item::Andesite: return 6; - case Item::AndesiteSlab: return 552; - case Item::AndesiteStairs: return 539; - case Item::AndesiteWall: return 296; - case Item::Anvil: return 314; - case Item::Apple: return 576; - case Item::ArmorStand: return 859; - case Item::Arrow: return 578; - case Item::AzureBluet: return 115; - case Item::BakedPotato: return 831; - case Item::Bamboo: return 135; - case Item::Barrel: return 935; - case Item::Barrier: return 347; - case Item::Basalt: return 221; - case Item::BatSpawnEgg: return 759; - case Item::Beacon: return 286; - case Item::Bedrock: return 29; - case Item::BeeNest: return 952; - case Item::BeeSpawnEgg: return 760; - case Item::Beef: return 739; - case Item::Beehive: return 953; - case Item::Beetroot: return 888; - case Item::BeetrootSeeds: return 889; - case Item::BeetrootSoup: return 890; - case Item::Bell: return 944; - case Item::BirchBoat: return 899; - case Item::BirchButton: return 307; - case Item::BirchDoor: return 560; - case Item::BirchFence: return 210; - case Item::BirchFenceGate: return 254; - case Item::BirchLeaves: return 71; - case Item::BirchLog: return 39; - case Item::BirchPlanks: return 17; - case Item::BirchPressurePlate: return 193; - case Item::BirchSapling: return 25; - case Item::BirchSign: return 654; - case Item::BirchSlab: return 140; - case Item::BirchStairs: return 281; - case Item::BirchTrapdoor: return 228; - case Item::BirchWood: return 63; - case Item::BlackBanner: return 884; - case Item::BlackBed: return 731; - case Item::BlackCarpet: return 365; - case Item::BlackConcrete: return 479; - case Item::BlackConcretePowder: return 495; - case Item::BlackDye: return 711; - case Item::BlackGlazedTerracotta: return 463; - case Item::BlackShulkerBox: return 447; - case Item::BlackStainedGlass: return 394; - case Item::BlackStainedGlassPane: return 410; - case Item::BlackTerracotta: return 346; - case Item::BlackWool: return 110; - case Item::Blackstone: return 962; - case Item::BlackstoneSlab: return 963; - case Item::BlackstoneStairs: return 964; - case Item::BlackstoneWall: return 301; - case Item::BlastFurnace: return 937; - case Item::BlazePowder: return 753; - case Item::BlazeRod: return 745; - case Item::BlazeSpawnEgg: return 761; - case Item::BlueBanner: return 880; - case Item::BlueBed: return 727; - case Item::BlueCarpet: return 361; - case Item::BlueConcrete: return 475; - case Item::BlueConcretePowder: return 491; - case Item::BlueDye: return 709; - case Item::BlueGlazedTerracotta: return 459; - case Item::BlueIce: return 527; - case Item::BlueOrchid: return 113; - case Item::BlueShulkerBox: return 443; - case Item::BlueStainedGlass: return 390; - case Item::BlueStainedGlassPane: return 406; - case Item::BlueTerracotta: return 342; - case Item::BlueWool: return 106; - case Item::Bone: return 713; - case Item::BoneBlock: return 428; - case Item::BoneMeal: return 708; - case Item::Book: return 678; - case Item::Bookshelf: return 168; - case Item::Bow: return 577; - case Item::Bowl: return 600; - case Item::BrainCoral: return 508; - case Item::BrainCoralBlock: return 503; - case Item::BrainCoralFan: return 518; - case Item::Bread: return 621; - case Item::BrewingStand: return 755; - case Item::Brick: return 674; - case Item::BrickSlab: return 152; - case Item::BrickStairs: return 260; - case Item::BrickWall: return 289; - case Item::Bricks: return 166; - case Item::BrownBanner: return 881; - case Item::BrownBed: return 728; - case Item::BrownCarpet: return 362; - case Item::BrownConcrete: return 476; - case Item::BrownConcretePowder: return 492; - case Item::BrownDye: return 710; - case Item::BrownGlazedTerracotta: return 460; - case Item::BrownMushroom: return 124; - case Item::BrownMushroomBlock: return 244; - case Item::BrownShulkerBox: return 444; - case Item::BrownStainedGlass: return 391; - case Item::BrownStainedGlassPane: return 407; - case Item::BrownTerracotta: return 343; - case Item::BrownWool: return 107; - case Item::BubbleCoral: return 509; - case Item::BubbleCoralBlock: return 504; - case Item::BubbleCoralFan: return 519; - case Item::Bucket: return 660; - case Item::Cactus: return 205; - case Item::Cake: return 715; - case Item::Campfire: return 948; - case Item::Carrot: return 829; - case Item::CarrotOnAStick: return 841; - case Item::CartographyTable: return 938; - case Item::CarvedPumpkin: return 217; - case Item::CatSpawnEgg: return 762; - case Item::Cauldron: return 756; - case Item::CaveSpiderSpawnEgg: return 763; - case Item::Chain: return 248; - case Item::ChainCommandBlock: return 423; - case Item::ChainmailBoots: return 629; - case Item::ChainmailChestplate: return 627; - case Item::ChainmailHelmet: return 626; - case Item::ChainmailLeggings: return 628; - case Item::Charcoal: return 580; - case Item::Chest: return 180; - case Item::ChestMinecart: return 680; - case Item::Chicken: return 741; - case Item::ChickenSpawnEgg: return 764; - case Item::ChippedAnvil: return 315; - case Item::ChiseledNetherBricks: return 266; - case Item::ChiseledPolishedBlackstone: return 969; - case Item::ChiseledQuartzBlock: return 324; - case Item::ChiseledRedSandstone: return 419; - case Item::ChiseledSandstone: return 82; - case Item::ChiseledStoneBricks: return 243; - case Item::ChorusFlower: return 174; - case Item::ChorusFruit: return 886; - case Item::ChorusPlant: return 173; - case Item::Clay: return 206; - case Item::ClayBall: return 675; - case Item::Clock: return 685; - case Item::Coal: return 579; - case Item::CoalBlock: return 367; - case Item::CoalOre: return 35; - case Item::CoarseDirt: return 10; - case Item::Cobblestone: return 14; - case Item::CobblestoneSlab: return 151; - case Item::CobblestoneStairs: return 188; - case Item::CobblestoneWall: return 287; - case Item::Cobweb: return 88; - case Item::CocoaBeans: return 696; - case Item::Cod: return 687; - case Item::CodBucket: return 672; - case Item::CodSpawnEgg: return 765; - case Item::CommandBlock: return 285; - case Item::CommandBlockMinecart: return 866; - case Item::Comparator: return 567; - case Item::Compass: return 683; - case Item::Composter: return 934; - case Item::Conduit: return 528; - case Item::CookedBeef: return 740; - case Item::CookedChicken: return 742; - case Item::CookedCod: return 691; - case Item::CookedMutton: return 868; - case Item::CookedPorkchop: return 648; - case Item::CookedRabbit: return 855; - case Item::CookedSalmon: return 692; - case Item::Cookie: return 732; - case Item::Cornflower: return 121; - case Item::CowSpawnEgg: return 766; - case Item::CrackedNetherBricks: return 265; - case Item::CrackedPolishedBlackstoneBricks: return 973; - case Item::CrackedStoneBricks: return 242; - case Item::CraftingTable: return 183; - case Item::CreeperBannerPattern: return 929; - case Item::CreeperHead: return 839; - case Item::CreeperSpawnEgg: return 767; - case Item::CrimsonButton: return 311; - case Item::CrimsonDoor: return 564; - case Item::CrimsonFence: return 214; - case Item::CrimsonFenceGate: return 258; - case Item::CrimsonFungus: return 126; - case Item::CrimsonHyphae: return 67; - case Item::CrimsonNylium: return 12; - case Item::CrimsonPlanks: return 21; - case Item::CrimsonPressurePlate: return 197; - case Item::CrimsonRoots: return 128; - case Item::CrimsonSign: return 658; - case Item::CrimsonSlab: return 144; - case Item::CrimsonStairs: return 283; - case Item::CrimsonStem: return 43; - case Item::CrimsonTrapdoor: return 232; - case Item::Crossbow: return 925; - case Item::CryingObsidian: return 961; - case Item::CutRedSandstone: return 420; - case Item::CutRedSandstoneSlab: return 157; - case Item::CutSandstone: return 83; - case Item::CutSandstoneSlab: return 149; - case Item::CyanBanner: return 878; - case Item::CyanBed: return 725; - case Item::CyanCarpet: return 359; - case Item::CyanConcrete: return 473; - case Item::CyanConcretePowder: return 489; - case Item::CyanDye: return 699; - case Item::CyanGlazedTerracotta: return 457; - case Item::CyanShulkerBox: return 441; - case Item::CyanStainedGlass: return 388; - case Item::CyanStainedGlassPane: return 404; - case Item::CyanTerracotta: return 340; - case Item::CyanWool: return 104; - case Item::DamagedAnvil: return 316; - case Item::Dandelion: return 111; - case Item::DarkOakBoat: return 902; - case Item::DarkOakButton: return 310; - case Item::DarkOakDoor: return 563; - case Item::DarkOakFence: return 213; - case Item::DarkOakFenceGate: return 257; - case Item::DarkOakLeaves: return 74; - case Item::DarkOakLog: return 42; - case Item::DarkOakPlanks: return 20; - case Item::DarkOakPressurePlate: return 196; - case Item::DarkOakSapling: return 28; - case Item::DarkOakSign: return 657; - case Item::DarkOakSlab: return 143; - case Item::DarkOakStairs: return 370; - case Item::DarkOakTrapdoor: return 231; - case Item::DarkOakWood: return 66; - case Item::DarkPrismarine: return 413; - case Item::DarkPrismarineSlab: return 161; - case Item::DarkPrismarineStairs: return 416; - case Item::DaylightDetector: return 320; - case Item::DeadBrainCoral: return 512; - case Item::DeadBrainCoralBlock: return 498; - case Item::DeadBrainCoralFan: return 523; - case Item::DeadBubbleCoral: return 513; - case Item::DeadBubbleCoralBlock: return 499; - case Item::DeadBubbleCoralFan: return 524; - case Item::DeadBush: return 91; - case Item::DeadFireCoral: return 514; - case Item::DeadFireCoralBlock: return 500; - case Item::DeadFireCoralFan: return 525; - case Item::DeadHornCoral: return 515; - case Item::DeadHornCoralBlock: return 501; - case Item::DeadHornCoralFan: return 526; - case Item::DeadTubeCoral: return 516; - case Item::DeadTubeCoralBlock: return 497; - case Item::DeadTubeCoralFan: return 522; - case Item::DebugStick: return 907; - case Item::DetectorRail: return 86; - case Item::Diamond: return 581; - case Item::DiamondAxe: return 598; - case Item::DiamondBlock: return 182; - case Item::DiamondBoots: return 637; - case Item::DiamondChestplate: return 635; - case Item::DiamondHelmet: return 634; - case Item::DiamondHoe: return 616; - case Item::DiamondHorseArmor: return 862; - case Item::DiamondLeggings: return 636; - case Item::DiamondOre: return 181; - case Item::DiamondPickaxe: return 597; - case Item::DiamondShovel: return 596; - case Item::DiamondSword: return 595; - case Item::Diorite: return 4; - case Item::DioriteSlab: return 555; - case Item::DioriteStairs: return 542; - case Item::DioriteWall: return 300; - case Item::Dirt: return 9; - case Item::Dispenser: return 80; - case Item::DolphinSpawnEgg: return 768; - case Item::DonkeySpawnEgg: return 769; - case Item::DragonBreath: return 891; - case Item::DragonEgg: return 273; - case Item::DragonHead: return 840; - case Item::DriedKelp: return 736; - case Item::DriedKelpBlock: return 676; - case Item::Dropper: return 330; - case Item::DrownedSpawnEgg: return 770; - case Item::Egg: return 682; - case Item::ElderGuardianSpawnEgg: return 771; - case Item::Elytra: return 897; - case Item::Emerald: return 826; - case Item::EmeraldBlock: return 279; - case Item::EmeraldOre: return 276; - case Item::EnchantedBook: return 847; - case Item::EnchantedGoldenApple: return 651; - case Item::EnchantingTable: return 269; - case Item::EndCrystal: return 885; - case Item::EndPortalFrame: return 270; - case Item::EndRod: return 172; - case Item::EndStone: return 271; - case Item::EndStoneBrickSlab: return 548; - case Item::EndStoneBrickStairs: return 534; - case Item::EndStoneBrickWall: return 299; - case Item::EndStoneBricks: return 272; - case Item::EnderChest: return 277; - case Item::EnderEye: return 757; - case Item::EnderPearl: return 744; - case Item::EndermanSpawnEgg: return 772; - case Item::EndermiteSpawnEgg: return 773; - case Item::EvokerSpawnEgg: return 774; - case Item::ExperienceBottle: return 822; - case Item::Farmland: return 184; - case Item::Feather: return 611; - case Item::FermentedSpiderEye: return 752; - case Item::Fern: return 90; - case Item::FilledMap: return 733; - case Item::FireCharge: return 823; - case Item::FireCoral: return 510; - case Item::FireCoralBlock: return 505; - case Item::FireCoralFan: return 520; - case Item::FireworkRocket: return 845; - case Item::FireworkStar: return 846; - case Item::FishingRod: return 684; - case Item::FletchingTable: return 939; - case Item::Flint: return 646; - case Item::FlintAndSteel: return 575; - case Item::FlowerBannerPattern: return 928; - case Item::FlowerPot: return 828; - case Item::FoxSpawnEgg: return 775; - case Item::Furnace: return 185; - case Item::FurnaceMinecart: return 681; - case Item::GhastSpawnEgg: return 776; - case Item::GhastTear: return 746; - case Item::GildedBlackstone: return 965; - case Item::Glass: return 77; - case Item::GlassBottle: return 750; - case Item::GlassPane: return 249; - case Item::GlisteringMelonSlice: return 758; - case Item::GlobeBannerPattern: return 932; - case Item::Glowstone: return 224; - case Item::GlowstoneDust: return 686; - case Item::GoldBlock: return 136; - case Item::GoldIngot: return 583; - case Item::GoldNugget: return 747; - case Item::GoldOre: return 33; - case Item::GoldenApple: return 650; - case Item::GoldenAxe: return 605; - case Item::GoldenBoots: return 641; - case Item::GoldenCarrot: return 834; - case Item::GoldenChestplate: return 639; - case Item::GoldenHelmet: return 638; - case Item::GoldenHoe: return 617; - case Item::GoldenHorseArmor: return 861; - case Item::GoldenLeggings: return 640; - case Item::GoldenPickaxe: return 604; - case Item::GoldenShovel: return 603; - case Item::GoldenSword: return 602; - case Item::Granite: return 2; - case Item::GraniteSlab: return 551; - case Item::GraniteStairs: return 538; - case Item::GraniteWall: return 293; - case Item::Grass: return 89; - case Item::GrassBlock: return 8; - case Item::GrassPath: return 372; - case Item::Gravel: return 32; - case Item::GrayBanner: return 876; - case Item::GrayBed: return 723; - case Item::GrayCarpet: return 357; - case Item::GrayConcrete: return 471; - case Item::GrayConcretePowder: return 487; - case Item::GrayDye: return 701; - case Item::GrayGlazedTerracotta: return 455; - case Item::GrayShulkerBox: return 439; - case Item::GrayStainedGlass: return 386; - case Item::GrayStainedGlassPane: return 402; - case Item::GrayTerracotta: return 338; - case Item::GrayWool: return 102; - case Item::GreenBanner: return 882; - case Item::GreenBed: return 729; - case Item::GreenCarpet: return 363; - case Item::GreenConcrete: return 477; - case Item::GreenConcretePowder: return 493; - case Item::GreenDye: return 695; - case Item::GreenGlazedTerracotta: return 461; - case Item::GreenShulkerBox: return 445; - case Item::GreenStainedGlass: return 392; - case Item::GreenStainedGlassPane: return 408; - case Item::GreenTerracotta: return 344; - case Item::GreenWool: return 108; - case Item::Grindstone: return 940; - case Item::GuardianSpawnEgg: return 777; - case Item::Gunpowder: return 612; - case Item::HayBale: return 349; - case Item::HeartOfTheSea: return 924; - case Item::HeavyWeightedPressurePlate: return 319; - case Item::HoglinSpawnEgg: return 778; - case Item::HoneyBlock: return 955; - case Item::HoneyBottle: return 954; - case Item::Honeycomb: return 951; - case Item::HoneycombBlock: return 956; - case Item::Hopper: return 323; - case Item::HopperMinecart: return 851; - case Item::HornCoral: return 511; - case Item::HornCoralBlock: return 506; - case Item::HornCoralFan: return 521; - case Item::HorseSpawnEgg: return 779; - case Item::HuskSpawnEgg: return 780; - case Item::Ice: return 203; - case Item::InfestedChiseledStoneBricks: return 239; - case Item::InfestedCobblestone: return 235; - case Item::InfestedCrackedStoneBricks: return 238; - case Item::InfestedMossyStoneBricks: return 237; - case Item::InfestedStone: return 234; - case Item::InfestedStoneBricks: return 236; - case Item::InkSac: return 693; - case Item::IronAxe: return 574; - case Item::IronBars: return 247; - case Item::IronBlock: return 137; - case Item::IronBoots: return 633; - case Item::IronChestplate: return 631; - case Item::IronDoor: return 557; - case Item::IronHelmet: return 630; - case Item::IronHoe: return 615; - case Item::IronHorseArmor: return 860; - case Item::IronIngot: return 582; - case Item::IronLeggings: return 632; - case Item::IronNugget: return 905; - case Item::IronOre: return 34; - case Item::IronPickaxe: return 573; - case Item::IronShovel: return 572; - case Item::IronSword: return 586; - case Item::IronTrapdoor: return 348; - case Item::ItemFrame: return 827; - case Item::JackOLantern: return 225; - case Item::Jigsaw: return 569; - case Item::Jukebox: return 207; - case Item::JungleBoat: return 900; - case Item::JungleButton: return 308; - case Item::JungleDoor: return 561; - case Item::JungleFence: return 211; - case Item::JungleFenceGate: return 255; - case Item::JungleLeaves: return 72; - case Item::JungleLog: return 40; - case Item::JunglePlanks: return 18; - case Item::JunglePressurePlate: return 194; - case Item::JungleSapling: return 26; - case Item::JungleSign: return 655; - case Item::JungleSlab: return 141; - case Item::JungleStairs: return 282; - case Item::JungleTrapdoor: return 229; - case Item::JungleWood: return 64; - case Item::Kelp: return 134; - case Item::KnowledgeBook: return 906; - case Item::Ladder: return 186; - case Item::Lantern: return 945; - case Item::LapisBlock: return 79; - case Item::LapisLazuli: return 697; - case Item::LapisOre: return 78; - case Item::LargeFern: return 378; - case Item::LavaBucket: return 662; - case Item::Lead: return 864; - case Item::Leather: return 668; - case Item::LeatherBoots: return 625; - case Item::LeatherChestplate: return 623; - case Item::LeatherHelmet: return 622; - case Item::LeatherHorseArmor: return 863; - case Item::LeatherLeggings: return 624; - case Item::Lectern: return 941; - case Item::Lever: return 189; - case Item::LightBlueBanner: return 872; - case Item::LightBlueBed: return 719; - case Item::LightBlueCarpet: return 353; - case Item::LightBlueConcrete: return 467; - case Item::LightBlueConcretePowder: return 483; - case Item::LightBlueDye: return 705; - case Item::LightBlueGlazedTerracotta: return 451; - case Item::LightBlueShulkerBox: return 435; - case Item::LightBlueStainedGlass: return 382; - case Item::LightBlueStainedGlassPane: return 398; - case Item::LightBlueTerracotta: return 334; - case Item::LightBlueWool: return 98; - case Item::LightGrayBanner: return 877; - case Item::LightGrayBed: return 724; - case Item::LightGrayCarpet: return 358; - case Item::LightGrayConcrete: return 472; - case Item::LightGrayConcretePowder: return 488; - case Item::LightGrayDye: return 700; - case Item::LightGrayGlazedTerracotta: return 456; - case Item::LightGrayShulkerBox: return 440; - case Item::LightGrayStainedGlass: return 387; - case Item::LightGrayStainedGlassPane: return 403; - case Item::LightGrayTerracotta: return 339; - case Item::LightGrayWool: return 103; - case Item::LightWeightedPressurePlate: return 318; - case Item::Lilac: return 374; - case Item::LilyOfTheValley: return 122; - case Item::LilyPad: return 263; - case Item::LimeBanner: return 874; - case Item::LimeBed: return 721; - case Item::LimeCarpet: return 355; - case Item::LimeConcrete: return 469; - case Item::LimeConcretePowder: return 485; - case Item::LimeDye: return 703; - case Item::LimeGlazedTerracotta: return 453; - case Item::LimeShulkerBox: return 437; - case Item::LimeStainedGlass: return 384; - case Item::LimeStainedGlassPane: return 400; - case Item::LimeTerracotta: return 336; - case Item::LimeWool: return 100; - case Item::LingeringPotion: return 895; - case Item::LlamaSpawnEgg: return 781; - case Item::Lodestone: return 957; - case Item::Loom: return 927; - case Item::MagentaBanner: return 871; - case Item::MagentaBed: return 718; - case Item::MagentaCarpet: return 352; - case Item::MagentaConcrete: return 466; - case Item::MagentaConcretePowder: return 482; - case Item::MagentaDye: return 706; - case Item::MagentaGlazedTerracotta: return 450; - case Item::MagentaShulkerBox: return 434; - case Item::MagentaStainedGlass: return 381; - case Item::MagentaStainedGlassPane: return 397; - case Item::MagentaTerracotta: return 333; - case Item::MagentaWool: return 97; - case Item::MagmaBlock: return 424; - case Item::MagmaCream: return 754; - case Item::MagmaCubeSpawnEgg: return 782; - case Item::Map: return 833; - case Item::Melon: return 250; - case Item::MelonSeeds: return 738; - case Item::MelonSlice: return 735; - case Item::MilkBucket: return 669; - case Item::Minecart: return 663; - case Item::MojangBannerPattern: return 931; - case Item::MooshroomSpawnEgg: return 783; - case Item::MossyCobblestone: return 169; - case Item::MossyCobblestoneSlab: return 547; - case Item::MossyCobblestoneStairs: return 533; - case Item::MossyCobblestoneWall: return 288; - case Item::MossyStoneBrickSlab: return 545; - case Item::MossyStoneBrickStairs: return 531; - case Item::MossyStoneBrickWall: return 292; - case Item::MossyStoneBricks: return 241; - case Item::MuleSpawnEgg: return 784; - case Item::MushroomStem: return 246; - case Item::MushroomStew: return 601; - case Item::MusicDiscBlocks: return 910; - case Item::MusicDiscCat: return 909; - case Item::MusicDiscChirp: return 911; - case Item::MusicDiscFar: return 912; - case Item::MusicDiscMall: return 913; - case Item::MusicDiscMellohi: return 914; - case Item::MusicDiscPigstep: return 920; - case Item::MusicDiscStal: return 915; - case Item::MusicDiscStrad: return 916; - case Item::MusicDiscWait: return 919; - case Item::MusicDiscWard: return 917; - case Item::MusicDisc11: return 918; - case Item::MusicDisc13: return 908; - case Item::Mutton: return 867; - case Item::Mycelium: return 262; - case Item::NameTag: return 865; - case Item::NautilusShell: return 923; - case Item::NetherBrick: return 848; - case Item::NetherBrickFence: return 267; - case Item::NetherBrickSlab: return 154; - case Item::NetherBrickStairs: return 268; - case Item::NetherBrickWall: return 295; - case Item::NetherBricks: return 264; - case Item::NetherGoldOre: return 36; - case Item::NetherQuartzOre: return 322; - case Item::NetherSprouts: return 130; - case Item::NetherStar: return 843; - case Item::NetherWart: return 748; - case Item::NetherWartBlock: return 425; - case Item::NetheriteAxe: return 609; - case Item::NetheriteBlock: return 958; - case Item::NetheriteBoots: return 645; - case Item::NetheriteChestplate: return 643; - case Item::NetheriteHelmet: return 642; - case Item::NetheriteHoe: return 618; - case Item::NetheriteIngot: return 584; - case Item::NetheriteLeggings: return 644; - case Item::NetheritePickaxe: return 608; - case Item::NetheriteScrap: return 585; - case Item::NetheriteShovel: return 607; - case Item::NetheriteSword: return 606; - case Item::Netherrack: return 218; - case Item::NoteBlock: return 84; - case Item::OakBoat: return 667; - case Item::OakButton: return 305; - case Item::OakDoor: return 558; - case Item::OakFence: return 208; - case Item::OakFenceGate: return 252; - case Item::OakLeaves: return 69; - case Item::OakLog: return 37; - case Item::OakPlanks: return 15; - case Item::OakPressurePlate: return 191; - case Item::OakSapling: return 23; - case Item::OakSign: return 652; - case Item::OakSlab: return 138; - case Item::OakStairs: return 179; - case Item::OakTrapdoor: return 226; - case Item::OakWood: return 61; - case Item::Observer: return 430; - case Item::Obsidian: return 170; - case Item::OcelotSpawnEgg: return 785; - case Item::OrangeBanner: return 870; - case Item::OrangeBed: return 717; - case Item::OrangeCarpet: return 351; - case Item::OrangeConcrete: return 465; - case Item::OrangeConcretePowder: return 481; - case Item::OrangeDye: return 707; - case Item::OrangeGlazedTerracotta: return 449; - case Item::OrangeShulkerBox: return 433; - case Item::OrangeStainedGlass: return 380; - case Item::OrangeStainedGlassPane: return 396; - case Item::OrangeTerracotta: return 332; - case Item::OrangeTulip: return 117; - case Item::OrangeWool: return 96; - case Item::OxeyeDaisy: return 120; - case Item::PackedIce: return 368; - case Item::Painting: return 649; - case Item::PandaSpawnEgg: return 786; - case Item::Paper: return 677; - case Item::ParrotSpawnEgg: return 787; - case Item::Peony: return 376; - case Item::PetrifiedOakSlab: return 150; - case Item::PhantomMembrane: return 922; - case Item::PhantomSpawnEgg: return 788; - case Item::PigSpawnEgg: return 789; - case Item::PiglinBannerPattern: return 933; - case Item::PiglinSpawnEgg: return 790; - case Item::PillagerSpawnEgg: return 791; - case Item::PinkBanner: return 875; - case Item::PinkBed: return 722; - case Item::PinkCarpet: return 356; - case Item::PinkConcrete: return 470; - case Item::PinkConcretePowder: return 486; - case Item::PinkDye: return 702; - case Item::PinkGlazedTerracotta: return 454; - case Item::PinkShulkerBox: return 438; - case Item::PinkStainedGlass: return 385; - case Item::PinkStainedGlassPane: return 401; - case Item::PinkTerracotta: return 337; - case Item::PinkTulip: return 119; - case Item::PinkWool: return 101; - case Item::Piston: return 94; - case Item::PlayerHead: return 837; - case Item::Podzol: return 11; - case Item::PoisonousPotato: return 832; - case Item::PolarBearSpawnEgg: return 792; - case Item::PolishedAndesite: return 7; - case Item::PolishedAndesiteSlab: return 554; - case Item::PolishedAndesiteStairs: return 541; - case Item::PolishedBasalt: return 222; - case Item::PolishedBlackstone: return 966; - case Item::PolishedBlackstoneBrickSlab: return 971; - case Item::PolishedBlackstoneBrickStairs: return 972; - case Item::PolishedBlackstoneBrickWall: return 303; - case Item::PolishedBlackstoneBricks: return 970; - case Item::PolishedBlackstoneButton: return 313; - case Item::PolishedBlackstonePressurePlate: return 199; - case Item::PolishedBlackstoneSlab: return 967; - case Item::PolishedBlackstoneStairs: return 968; - case Item::PolishedBlackstoneWall: return 302; - case Item::PolishedDiorite: return 5; - case Item::PolishedDioriteSlab: return 546; - case Item::PolishedDioriteStairs: return 532; - case Item::PolishedGranite: return 3; - case Item::PolishedGraniteSlab: return 543; - case Item::PolishedGraniteStairs: return 529; - case Item::PoppedChorusFruit: return 887; - case Item::Poppy: return 112; - case Item::Porkchop: return 647; - case Item::Potato: return 830; - case Item::Potion: return 749; - case Item::PoweredRail: return 85; - case Item::Prismarine: return 411; - case Item::PrismarineBrickSlab: return 160; - case Item::PrismarineBrickStairs: return 415; - case Item::PrismarineBricks: return 412; - case Item::PrismarineCrystals: return 853; - case Item::PrismarineShard: return 852; - case Item::PrismarineSlab: return 159; - case Item::PrismarineStairs: return 414; - case Item::PrismarineWall: return 290; - case Item::Pufferfish: return 690; - case Item::PufferfishBucket: return 670; - case Item::PufferfishSpawnEgg: return 793; - case Item::Pumpkin: return 216; - case Item::PumpkinPie: return 844; - case Item::PumpkinSeeds: return 737; - case Item::PurpleBanner: return 879; - case Item::PurpleBed: return 726; - case Item::PurpleCarpet: return 360; - case Item::PurpleConcrete: return 474; - case Item::PurpleConcretePowder: return 490; - case Item::PurpleDye: return 698; - case Item::PurpleGlazedTerracotta: return 458; - case Item::PurpleShulkerBox: return 442; - case Item::PurpleStainedGlass: return 389; - case Item::PurpleStainedGlassPane: return 405; - case Item::PurpleTerracotta: return 341; - case Item::PurpleWool: return 105; - case Item::PurpurBlock: return 175; - case Item::PurpurPillar: return 176; - case Item::PurpurSlab: return 158; - case Item::PurpurStairs: return 177; - case Item::Quartz: return 849; - case Item::QuartzBlock: return 325; - case Item::QuartzBricks: return 326; - case Item::QuartzPillar: return 327; - case Item::QuartzSlab: return 155; - case Item::QuartzStairs: return 328; - case Item::Rabbit: return 854; - case Item::RabbitFoot: return 857; - case Item::RabbitHide: return 858; - case Item::RabbitSpawnEgg: return 794; - case Item::RabbitStew: return 856; - case Item::Rail: return 187; - case Item::RavagerSpawnEgg: return 795; - case Item::RedBanner: return 883; - case Item::RedBed: return 730; - case Item::RedCarpet: return 364; - case Item::RedConcrete: return 478; - case Item::RedConcretePowder: return 494; - case Item::RedDye: return 694; - case Item::RedGlazedTerracotta: return 462; - case Item::RedMushroom: return 125; - case Item::RedMushroomBlock: return 245; - case Item::RedNetherBrickSlab: return 553; - case Item::RedNetherBrickStairs: return 540; - case Item::RedNetherBrickWall: return 297; - case Item::RedNetherBricks: return 427; - case Item::RedSand: return 31; - case Item::RedSandstone: return 418; - case Item::RedSandstoneSlab: return 156; - case Item::RedSandstoneStairs: return 421; - case Item::RedSandstoneWall: return 291; - case Item::RedShulkerBox: return 446; - case Item::RedStainedGlass: return 393; - case Item::RedStainedGlassPane: return 409; - case Item::RedTerracotta: return 345; - case Item::RedTulip: return 116; - case Item::RedWool: return 109; - case Item::Redstone: return 665; - case Item::RedstoneBlock: return 321; - case Item::RedstoneLamp: return 274; - case Item::RedstoneOre: return 200; - case Item::RedstoneTorch: return 201; - case Item::Repeater: return 566; - case Item::RepeatingCommandBlock: return 422; - case Item::RespawnAnchor: return 974; - case Item::RoseBush: return 375; - case Item::RottenFlesh: return 743; - case Item::Saddle: return 664; - case Item::Salmon: return 688; - case Item::SalmonBucket: return 671; - case Item::SalmonSpawnEgg: return 796; - case Item::Sand: return 30; - case Item::Sandstone: return 81; - case Item::SandstoneSlab: return 148; - case Item::SandstoneStairs: return 275; - case Item::SandstoneWall: return 298; - case Item::Scaffolding: return 556; - case Item::Scute: return 571; - case Item::SeaLantern: return 417; - case Item::SeaPickle: return 93; - case Item::Seagrass: return 92; - case Item::Shears: return 734; - case Item::SheepSpawnEgg: return 797; - case Item::Shield: return 896; - case Item::Shroomlight: return 950; - case Item::ShulkerBox: return 431; - case Item::ShulkerShell: return 904; - case Item::ShulkerSpawnEgg: return 798; - case Item::SilverfishSpawnEgg: return 799; - case Item::SkeletonHorseSpawnEgg: return 801; - case Item::SkeletonSkull: return 835; - case Item::SkeletonSpawnEgg: return 800; - case Item::SkullBannerPattern: return 930; - case Item::SlimeBall: return 679; - case Item::SlimeBlock: return 371; - case Item::SlimeSpawnEgg: return 802; - case Item::SmithingTable: return 942; - case Item::Smoker: return 936; - case Item::SmoothQuartz: return 162; - case Item::SmoothQuartzSlab: return 550; - case Item::SmoothQuartzStairs: return 537; - case Item::SmoothRedSandstone: return 163; - case Item::SmoothRedSandstoneSlab: return 544; - case Item::SmoothRedSandstoneStairs: return 530; - case Item::SmoothSandstone: return 164; - case Item::SmoothSandstoneSlab: return 549; - case Item::SmoothSandstoneStairs: return 536; - case Item::SmoothStone: return 165; - case Item::SmoothStoneSlab: return 147; - case Item::Snow: return 202; - case Item::SnowBlock: return 204; - case Item::Snowball: return 666; - case Item::SoulCampfire: return 949; - case Item::SoulLantern: return 946; - case Item::SoulSand: return 219; - case Item::SoulSoil: return 220; - case Item::SoulTorch: return 223; - case Item::Spawner: return 178; - case Item::SpectralArrow: return 893; - case Item::SpiderEye: return 751; - case Item::SpiderSpawnEgg: return 803; - case Item::SplashPotion: return 892; - case Item::Sponge: return 75; - case Item::SpruceBoat: return 898; - case Item::SpruceButton: return 306; - case Item::SpruceDoor: return 559; - case Item::SpruceFence: return 209; - case Item::SpruceFenceGate: return 253; - case Item::SpruceLeaves: return 70; - case Item::SpruceLog: return 38; - case Item::SprucePlanks: return 16; - case Item::SprucePressurePlate: return 192; - case Item::SpruceSapling: return 24; - case Item::SpruceSign: return 653; - case Item::SpruceSlab: return 139; - case Item::SpruceStairs: return 280; - case Item::SpruceTrapdoor: return 227; - case Item::SpruceWood: return 62; - case Item::SquidSpawnEgg: return 804; - case Item::Stick: return 599; - case Item::StickyPiston: return 87; - case Item::Stone: return 1; - case Item::StoneAxe: return 594; - case Item::StoneBrickSlab: return 153; - case Item::StoneBrickStairs: return 261; - case Item::StoneBrickWall: return 294; - case Item::StoneBricks: return 240; - case Item::StoneButton: return 304; - case Item::StoneHoe: return 614; - case Item::StonePickaxe: return 593; - case Item::StonePressurePlate: return 190; - case Item::StoneShovel: return 592; - case Item::StoneSlab: return 146; - case Item::StoneStairs: return 535; - case Item::StoneSword: return 591; - case Item::Stonecutter: return 943; - case Item::StraySpawnEgg: return 805; - case Item::StriderSpawnEgg: return 806; - case Item::String: return 610; - case Item::StrippedAcaciaLog: return 49; - case Item::StrippedAcaciaWood: return 57; - case Item::StrippedBirchLog: return 47; - case Item::StrippedBirchWood: return 55; - case Item::StrippedCrimsonHyphae: return 59; - case Item::StrippedCrimsonStem: return 51; - case Item::StrippedDarkOakLog: return 50; - case Item::StrippedDarkOakWood: return 58; - case Item::StrippedJungleLog: return 48; - case Item::StrippedJungleWood: return 56; - case Item::StrippedOakLog: return 45; - case Item::StrippedOakWood: return 53; - case Item::StrippedSpruceLog: return 46; - case Item::StrippedSpruceWood: return 54; - case Item::StrippedWarpedHyphae: return 60; - case Item::StrippedWarpedStem: return 52; - case Item::StructureBlock: return 568; - case Item::StructureVoid: return 429; - case Item::Sugar: return 714; - case Item::SugarCane: return 133; - case Item::Sunflower: return 373; - case Item::SuspiciousStew: return 926; - case Item::SweetBerries: return 947; - case Item::TallGrass: return 377; - case Item::Target: return 960; - case Item::Terracotta: return 366; - case Item::TippedArrow: return 894; - case Item::TNT: return 167; - case Item::TNTMinecart: return 850; - case Item::Torch: return 171; - case Item::TotemOfUndying: return 903; - case Item::TraderLlamaSpawnEgg: return 807; - case Item::TrappedChest: return 317; - case Item::Trident: return 921; - case Item::TripwireHook: return 278; - case Item::TropicalFish: return 689; - case Item::TropicalFishBucket: return 673; - case Item::TropicalFishSpawnEgg: return 808; - case Item::TubeCoral: return 507; - case Item::TubeCoralBlock: return 502; - case Item::TubeCoralFan: return 517; - case Item::TurtleEgg: return 496; - case Item::TurtleHelmet: return 570; - case Item::TurtleSpawnEgg: return 809; - case Item::TwistingVines: return 132; - case Item::VexSpawnEgg: return 810; - case Item::VillagerSpawnEgg: return 811; - case Item::VindicatorSpawnEgg: return 812; - case Item::Vine: return 251; - case Item::WanderingTraderSpawnEgg: return 813; - case Item::WarpedButton: return 312; - case Item::WarpedDoor: return 565; - case Item::WarpedFence: return 215; - case Item::WarpedFenceGate: return 259; - case Item::WarpedFungus: return 127; - case Item::WarpedFungusOnA_stick: return 842; - case Item::WarpedHyphae: return 68; - case Item::WarpedNylium: return 13; - case Item::WarpedPlanks: return 22; - case Item::WarpedPressurePlate: return 198; - case Item::WarpedRoots: return 129; - case Item::WarpedSign: return 659; - case Item::WarpedSlab: return 145; - case Item::WarpedStairs: return 284; - case Item::WarpedStem: return 44; - case Item::WarpedTrapdoor: return 233; - case Item::WarpedWartBlock: return 426; - case Item::WaterBucket: return 661; - case Item::WeepingVines: return 131; - case Item::WetSponge: return 76; - case Item::Wheat: return 620; - case Item::WheatSeeds: return 619; - case Item::WhiteBanner: return 869; - case Item::WhiteBed: return 716; - case Item::WhiteCarpet: return 350; - case Item::WhiteConcrete: return 464; - case Item::WhiteConcretePowder: return 480; - case Item::WhiteDye: return 712; - case Item::WhiteGlazedTerracotta: return 448; - case Item::WhiteShulkerBox: return 432; - case Item::WhiteStainedGlass: return 379; - case Item::WhiteStainedGlassPane: return 395; - case Item::WhiteTerracotta: return 331; - case Item::WhiteTulip: return 118; - case Item::WhiteWool: return 95; - case Item::WitchSpawnEgg: return 814; - case Item::WitherRose: return 123; - case Item::WitherSkeletonSkull: return 836; - case Item::WitherSkeletonSpawnEgg: return 815; - case Item::WolfSpawnEgg: return 816; - case Item::WoodenAxe: return 590; - case Item::WoodenHoe: return 613; - case Item::WoodenPickaxe: return 589; - case Item::WoodenShovel: return 588; - case Item::WoodenSword: return 587; - case Item::WritableBook: return 824; - case Item::WrittenBook: return 825; - case Item::YellowBanner: return 873; - case Item::YellowBed: return 720; - case Item::YellowCarpet: return 354; - case Item::YellowConcrete: return 468; - case Item::YellowConcretePowder: return 484; - case Item::YellowDye: return 704; - case Item::YellowGlazedTerracotta: return 452; - case Item::YellowShulkerBox: return 436; - case Item::YellowStainedGlass: return 383; - case Item::YellowStainedGlassPane: return 399; - case Item::YellowTerracotta: return 335; - case Item::YellowWool: return 99; - case Item::ZoglinSpawnEgg: return 817; - case Item::ZombieHead: return 838; - case Item::ZombieHorseSpawnEgg: return 819; - case Item::ZombieSpawnEgg: return 818; - case Item::ZombieVillagerSpawnEgg: return 820; - case Item::ZombiePigmanSpawnEgg: return 821; - } - UNREACHABLE("Invalid item"); + case Item::AcaciaBoat: return 901; + case Item::AcaciaButton: return 309; + case Item::AcaciaDoor: return 562; + case Item::AcaciaFence: return 212; + case Item::AcaciaFenceGate: return 256; + case Item::AcaciaLeaves: return 73; + case Item::AcaciaLog: return 41; + case Item::AcaciaPlanks: return 19; + case Item::AcaciaPressurePlate: return 195; + case Item::AcaciaSapling: return 27; + case Item::AcaciaSign: return 656; + case Item::AcaciaSlab: return 142; + case Item::AcaciaStairs: return 369; + case Item::AcaciaTrapdoor: return 230; + case Item::AcaciaWood: return 65; + case Item::ActivatorRail: return 329; + case Item::Air: return -0; + case Item::Allium: return 114; + case Item::AncientDebris: return 959; + case Item::Andesite: return 6; + case Item::AndesiteSlab: return 552; + case Item::AndesiteStairs: return 539; + case Item::AndesiteWall: return 296; + case Item::Anvil: return 314; + case Item::Apple: return 576; + case Item::ArmorStand: return 859; + case Item::Arrow: return 578; + case Item::AzureBluet: return 115; + case Item::BakedPotato: return 831; + case Item::Bamboo: return 135; + case Item::Barrel: return 935; + case Item::Barrier: return 347; + case Item::Basalt: return 221; + case Item::BatSpawnEgg: return 759; + case Item::Beacon: return 286; + case Item::Bedrock: return 29; + case Item::BeeNest: return 952; + case Item::BeeSpawnEgg: return 760; + case Item::Beef: return 739; + case Item::Beehive: return 953; + case Item::Beetroot: return 888; + case Item::BeetrootSeeds: return 889; + case Item::BeetrootSoup: return 890; + case Item::Bell: return 944; + case Item::BirchBoat: return 899; + case Item::BirchButton: return 307; + case Item::BirchDoor: return 560; + case Item::BirchFence: return 210; + case Item::BirchFenceGate: return 254; + case Item::BirchLeaves: return 71; + case Item::BirchLog: return 39; + case Item::BirchPlanks: return 17; + case Item::BirchPressurePlate: return 193; + case Item::BirchSapling: return 25; + case Item::BirchSign: return 654; + case Item::BirchSlab: return 140; + case Item::BirchStairs: return 281; + case Item::BirchTrapdoor: return 228; + case Item::BirchWood: return 63; + case Item::BlackBanner: return 884; + case Item::BlackBed: return 731; + case Item::BlackCarpet: return 365; + case Item::BlackConcrete: return 479; + case Item::BlackConcretePowder: return 495; + case Item::BlackDye: return 711; + case Item::BlackGlazedTerracotta: return 463; + case Item::BlackShulkerBox: return 447; + case Item::BlackStainedGlass: return 394; + case Item::BlackStainedGlassPane: return 410; + case Item::BlackTerracotta: return 346; + case Item::BlackWool: return 110; + case Item::Blackstone: return 962; + case Item::BlackstoneSlab: return 963; + case Item::BlackstoneStairs: return 964; + case Item::BlackstoneWall: return 301; + case Item::BlastFurnace: return 937; + case Item::BlazePowder: return 753; + case Item::BlazeRod: return 745; + case Item::BlazeSpawnEgg: return 761; + case Item::BlueBanner: return 880; + case Item::BlueBed: return 727; + case Item::BlueCarpet: return 361; + case Item::BlueConcrete: return 475; + case Item::BlueConcretePowder: return 491; + case Item::BlueDye: return 709; + case Item::BlueGlazedTerracotta: return 459; + case Item::BlueIce: return 527; + case Item::BlueOrchid: return 113; + case Item::BlueShulkerBox: return 443; + case Item::BlueStainedGlass: return 390; + case Item::BlueStainedGlassPane: return 406; + case Item::BlueTerracotta: return 342; + case Item::BlueWool: return 106; + case Item::Bone: return 713; + case Item::BoneBlock: return 428; + case Item::BoneMeal: return 708; + case Item::Book: return 678; + case Item::Bookshelf: return 168; + case Item::Bow: return 577; + case Item::Bowl: return 600; + case Item::BrainCoral: return 508; + case Item::BrainCoralBlock: return 503; + case Item::BrainCoralFan: return 518; + case Item::Bread: return 621; + case Item::BrewingStand: return 755; + case Item::Brick: return 674; + case Item::BrickSlab: return 152; + case Item::BrickStairs: return 260; + case Item::BrickWall: return 289; + case Item::Bricks: return 166; + case Item::BrownBanner: return 881; + case Item::BrownBed: return 728; + case Item::BrownCarpet: return 362; + case Item::BrownConcrete: return 476; + case Item::BrownConcretePowder: return 492; + case Item::BrownDye: return 710; + case Item::BrownGlazedTerracotta: return 460; + case Item::BrownMushroom: return 124; + case Item::BrownMushroomBlock: return 244; + case Item::BrownShulkerBox: return 444; + case Item::BrownStainedGlass: return 391; + case Item::BrownStainedGlassPane: return 407; + case Item::BrownTerracotta: return 343; + case Item::BrownWool: return 107; + case Item::BubbleCoral: return 509; + case Item::BubbleCoralBlock: return 504; + case Item::BubbleCoralFan: return 519; + case Item::Bucket: return 660; + case Item::Cactus: return 205; + case Item::Cake: return 715; + case Item::Campfire: return 948; + case Item::Carrot: return 829; + case Item::CarrotOnAStick: return 841; + case Item::CartographyTable: return 938; + case Item::CarvedPumpkin: return 217; + case Item::CatSpawnEgg: return 762; + case Item::Cauldron: return 756; + case Item::CaveSpiderSpawnEgg: return 763; + case Item::Chain: return 248; + case Item::ChainCommandBlock: return 423; + case Item::ChainmailBoots: return 629; + case Item::ChainmailChestplate: return 627; + case Item::ChainmailHelmet: return 626; + case Item::ChainmailLeggings: return 628; + case Item::Charcoal: return 580; + case Item::Chest: return 180; + case Item::ChestMinecart: return 680; + case Item::Chicken: return 741; + case Item::ChickenSpawnEgg: return 764; + case Item::ChippedAnvil: return 315; + case Item::ChiseledNetherBricks: return 266; + case Item::ChiseledPolishedBlackstone: return 969; + case Item::ChiseledQuartzBlock: return 324; + case Item::ChiseledRedSandstone: return 419; + case Item::ChiseledSandstone: return 82; + case Item::ChiseledStoneBricks: return 243; + case Item::ChorusFlower: return 174; + case Item::ChorusFruit: return 886; + case Item::ChorusPlant: return 173; + case Item::Clay: return 206; + case Item::ClayBall: return 675; + case Item::Clock: return 685; + case Item::Coal: return 579; + case Item::CoalBlock: return 367; + case Item::CoalOre: return 35; + case Item::CoarseDirt: return 10; + case Item::Cobblestone: return 14; + case Item::CobblestoneSlab: return 151; + case Item::CobblestoneStairs: return 188; + case Item::CobblestoneWall: return 287; + case Item::Cobweb: return 88; + case Item::CocoaBeans: return 696; + case Item::Cod: return 687; + case Item::CodBucket: return 672; + case Item::CodSpawnEgg: return 765; + case Item::CommandBlock: return 285; + case Item::CommandBlockMinecart: return 866; + case Item::Comparator: return 567; + case Item::Compass: return 683; + case Item::Composter: return 934; + case Item::Conduit: return 528; + case Item::CookedBeef: return 740; + case Item::CookedChicken: return 742; + case Item::CookedCod: return 691; + case Item::CookedMutton: return 868; + case Item::CookedPorkchop: return 648; + case Item::CookedRabbit: return 855; + case Item::CookedSalmon: return 692; + case Item::Cookie: return 732; + case Item::Cornflower: return 121; + case Item::CowSpawnEgg: return 766; + case Item::CrackedNetherBricks: return 265; + case Item::CrackedPolishedBlackstoneBricks: return 973; + case Item::CrackedStoneBricks: return 242; + case Item::CraftingTable: return 183; + case Item::CreeperBannerPattern: return 929; + case Item::CreeperHead: return 839; + case Item::CreeperSpawnEgg: return 767; + case Item::CrimsonButton: return 311; + case Item::CrimsonDoor: return 564; + case Item::CrimsonFence: return 214; + case Item::CrimsonFenceGate: return 258; + case Item::CrimsonFungus: return 126; + case Item::CrimsonHyphae: return 67; + case Item::CrimsonNylium: return 12; + case Item::CrimsonPlanks: return 21; + case Item::CrimsonPressurePlate: return 197; + case Item::CrimsonRoots: return 128; + case Item::CrimsonSign: return 658; + case Item::CrimsonSlab: return 144; + case Item::CrimsonStairs: return 283; + case Item::CrimsonStem: return 43; + case Item::CrimsonTrapdoor: return 232; + case Item::Crossbow: return 925; + case Item::CryingObsidian: return 961; + case Item::CutRedSandstone: return 420; + case Item::CutRedSandstoneSlab: return 157; + case Item::CutSandstone: return 83; + case Item::CutSandstoneSlab: return 149; + case Item::CyanBanner: return 878; + case Item::CyanBed: return 725; + case Item::CyanCarpet: return 359; + case Item::CyanConcrete: return 473; + case Item::CyanConcretePowder: return 489; + case Item::CyanDye: return 699; + case Item::CyanGlazedTerracotta: return 457; + case Item::CyanShulkerBox: return 441; + case Item::CyanStainedGlass: return 388; + case Item::CyanStainedGlassPane: return 404; + case Item::CyanTerracotta: return 340; + case Item::CyanWool: return 104; + case Item::DamagedAnvil: return 316; + case Item::Dandelion: return 111; + case Item::DarkOakBoat: return 902; + case Item::DarkOakButton: return 310; + case Item::DarkOakDoor: return 563; + case Item::DarkOakFence: return 213; + case Item::DarkOakFenceGate: return 257; + case Item::DarkOakLeaves: return 74; + case Item::DarkOakLog: return 42; + case Item::DarkOakPlanks: return 20; + case Item::DarkOakPressurePlate: return 196; + case Item::DarkOakSapling: return 28; + case Item::DarkOakSign: return 657; + case Item::DarkOakSlab: return 143; + case Item::DarkOakStairs: return 370; + case Item::DarkOakTrapdoor: return 231; + case Item::DarkOakWood: return 66; + case Item::DarkPrismarine: return 413; + case Item::DarkPrismarineSlab: return 161; + case Item::DarkPrismarineStairs: return 416; + case Item::DaylightDetector: return 320; + case Item::DeadBrainCoral: return 512; + case Item::DeadBrainCoralBlock: return 498; + case Item::DeadBrainCoralFan: return 523; + case Item::DeadBubbleCoral: return 513; + case Item::DeadBubbleCoralBlock: return 499; + case Item::DeadBubbleCoralFan: return 524; + case Item::DeadBush: return 91; + case Item::DeadFireCoral: return 514; + case Item::DeadFireCoralBlock: return 500; + case Item::DeadFireCoralFan: return 525; + case Item::DeadHornCoral: return 515; + case Item::DeadHornCoralBlock: return 501; + case Item::DeadHornCoralFan: return 526; + case Item::DeadTubeCoral: return 516; + case Item::DeadTubeCoralBlock: return 497; + case Item::DeadTubeCoralFan: return 522; + case Item::DebugStick: return 907; + case Item::DetectorRail: return 86; + case Item::Diamond: return 581; + case Item::DiamondAxe: return 598; + case Item::DiamondBlock: return 182; + case Item::DiamondBoots: return 637; + case Item::DiamondChestplate: return 635; + case Item::DiamondHelmet: return 634; + case Item::DiamondHoe: return 616; + case Item::DiamondHorseArmor: return 862; + case Item::DiamondLeggings: return 636; + case Item::DiamondOre: return 181; + case Item::DiamondPickaxe: return 597; + case Item::DiamondShovel: return 596; + case Item::DiamondSword: return 595; + case Item::Diorite: return 4; + case Item::DioriteSlab: return 555; + case Item::DioriteStairs: return 542; + case Item::DioriteWall: return 300; + case Item::Dirt: return 9; + case Item::Dispenser: return 80; + case Item::DolphinSpawnEgg: return 768; + case Item::DonkeySpawnEgg: return 769; + case Item::DragonBreath: return 891; + case Item::DragonEgg: return 273; + case Item::DragonHead: return 840; + case Item::DriedKelp: return 736; + case Item::DriedKelpBlock: return 676; + case Item::Dropper: return 330; + case Item::DrownedSpawnEgg: return 770; + case Item::Egg: return 682; + case Item::ElderGuardianSpawnEgg: return 771; + case Item::Elytra: return 897; + case Item::Emerald: return 826; + case Item::EmeraldBlock: return 279; + case Item::EmeraldOre: return 276; + case Item::EnchantedBook: return 847; + case Item::EnchantedGoldenApple: return 651; + case Item::EnchantingTable: return 269; + case Item::EndCrystal: return 885; + case Item::EndPortalFrame: return 270; + case Item::EndRod: return 172; + case Item::EndStone: return 271; + case Item::EndStoneBrickSlab: return 548; + case Item::EndStoneBrickStairs: return 534; + case Item::EndStoneBrickWall: return 299; + case Item::EndStoneBricks: return 272; + case Item::EnderChest: return 277; + case Item::EnderEye: return 757; + case Item::EnderPearl: return 744; + case Item::EndermanSpawnEgg: return 772; + case Item::EndermiteSpawnEgg: return 773; + case Item::EvokerSpawnEgg: return 774; + case Item::ExperienceBottle: return 822; + case Item::Farmland: return 184; + case Item::Feather: return 611; + case Item::FermentedSpiderEye: return 752; + case Item::Fern: return 90; + case Item::FilledMap: return 733; + case Item::FireCharge: return 823; + case Item::FireCoral: return 510; + case Item::FireCoralBlock: return 505; + case Item::FireCoralFan: return 520; + case Item::FireworkRocket: return 845; + case Item::FireworkStar: return 846; + case Item::FishingRod: return 684; + case Item::FletchingTable: return 939; + case Item::Flint: return 646; + case Item::FlintAndSteel: return 575; + case Item::FlowerBannerPattern: return 928; + case Item::FlowerPot: return 828; + case Item::FoxSpawnEgg: return 775; + case Item::Furnace: return 185; + case Item::FurnaceMinecart: return 681; + case Item::GhastSpawnEgg: return 776; + case Item::GhastTear: return 746; + case Item::GildedBlackstone: return 965; + case Item::Glass: return 77; + case Item::GlassBottle: return 750; + case Item::GlassPane: return 249; + case Item::GlisteringMelonSlice: return 758; + case Item::GlobeBannerPattern: return 932; + case Item::Glowstone: return 224; + case Item::GlowstoneDust: return 686; + case Item::GoldBlock: return 136; + case Item::GoldIngot: return 583; + case Item::GoldNugget: return 747; + case Item::GoldOre: return 33; + case Item::GoldenApple: return 650; + case Item::GoldenAxe: return 605; + case Item::GoldenBoots: return 641; + case Item::GoldenCarrot: return 834; + case Item::GoldenChestplate: return 639; + case Item::GoldenHelmet: return 638; + case Item::GoldenHoe: return 617; + case Item::GoldenHorseArmor: return 861; + case Item::GoldenLeggings: return 640; + case Item::GoldenPickaxe: return 604; + case Item::GoldenShovel: return 603; + case Item::GoldenSword: return 602; + case Item::Granite: return 2; + case Item::GraniteSlab: return 551; + case Item::GraniteStairs: return 538; + case Item::GraniteWall: return 293; + case Item::Grass: return 89; + case Item::GrassBlock: return 8; + case Item::GrassPath: return 372; + case Item::Gravel: return 32; + case Item::GrayBanner: return 876; + case Item::GrayBed: return 723; + case Item::GrayCarpet: return 357; + case Item::GrayConcrete: return 471; + case Item::GrayConcretePowder: return 487; + case Item::GrayDye: return 701; + case Item::GrayGlazedTerracotta: return 455; + case Item::GrayShulkerBox: return 439; + case Item::GrayStainedGlass: return 386; + case Item::GrayStainedGlassPane: return 402; + case Item::GrayTerracotta: return 338; + case Item::GrayWool: return 102; + case Item::GreenBanner: return 882; + case Item::GreenBed: return 729; + case Item::GreenCarpet: return 363; + case Item::GreenConcrete: return 477; + case Item::GreenConcretePowder: return 493; + case Item::GreenDye: return 695; + case Item::GreenGlazedTerracotta: return 461; + case Item::GreenShulkerBox: return 445; + case Item::GreenStainedGlass: return 392; + case Item::GreenStainedGlassPane: return 408; + case Item::GreenTerracotta: return 344; + case Item::GreenWool: return 108; + case Item::Grindstone: return 940; + case Item::GuardianSpawnEgg: return 777; + case Item::Gunpowder: return 612; + case Item::HayBale: return 349; + case Item::HeartOfTheSea: return 924; + case Item::HeavyWeightedPressurePlate: return 319; + case Item::HoglinSpawnEgg: return 778; + case Item::HoneyBlock: return 955; + case Item::HoneyBottle: return 954; + case Item::Honeycomb: return 951; + case Item::HoneycombBlock: return 956; + case Item::Hopper: return 323; + case Item::HopperMinecart: return 851; + case Item::HornCoral: return 511; + case Item::HornCoralBlock: return 506; + case Item::HornCoralFan: return 521; + case Item::HorseSpawnEgg: return 779; + case Item::HuskSpawnEgg: return 780; + case Item::Ice: return 203; + case Item::InfestedChiseledStoneBricks: return 239; + case Item::InfestedCobblestone: return 235; + case Item::InfestedCrackedStoneBricks: return 238; + case Item::InfestedMossyStoneBricks: return 237; + case Item::InfestedStone: return 234; + case Item::InfestedStoneBricks: return 236; + case Item::InkSac: return 693; + case Item::IronAxe: return 574; + case Item::IronBars: return 247; + case Item::IronBlock: return 137; + case Item::IronBoots: return 633; + case Item::IronChestplate: return 631; + case Item::IronDoor: return 557; + case Item::IronHelmet: return 630; + case Item::IronHoe: return 615; + case Item::IronHorseArmor: return 860; + case Item::IronIngot: return 582; + case Item::IronLeggings: return 632; + case Item::IronNugget: return 905; + case Item::IronOre: return 34; + case Item::IronPickaxe: return 573; + case Item::IronShovel: return 572; + case Item::IronSword: return 586; + case Item::IronTrapdoor: return 348; + case Item::ItemFrame: return 827; + case Item::JackOLantern: return 225; + case Item::Jigsaw: return 569; + case Item::Jukebox: return 207; + case Item::JungleBoat: return 900; + case Item::JungleButton: return 308; + case Item::JungleDoor: return 561; + case Item::JungleFence: return 211; + case Item::JungleFenceGate: return 255; + case Item::JungleLeaves: return 72; + case Item::JungleLog: return 40; + case Item::JunglePlanks: return 18; + case Item::JunglePressurePlate: return 194; + case Item::JungleSapling: return 26; + case Item::JungleSign: return 655; + case Item::JungleSlab: return 141; + case Item::JungleStairs: return 282; + case Item::JungleTrapdoor: return 229; + case Item::JungleWood: return 64; + case Item::Kelp: return 134; + case Item::KnowledgeBook: return 906; + case Item::Ladder: return 186; + case Item::Lantern: return 945; + case Item::LapisBlock: return 79; + case Item::LapisLazuli: return 697; + case Item::LapisOre: return 78; + case Item::LargeFern: return 378; + case Item::LavaBucket: return 662; + case Item::Lead: return 864; + case Item::Leather: return 668; + case Item::LeatherBoots: return 625; + case Item::LeatherChestplate: return 623; + case Item::LeatherHelmet: return 622; + case Item::LeatherHorseArmor: return 863; + case Item::LeatherLeggings: return 624; + case Item::Lectern: return 941; + case Item::Lever: return 189; + case Item::LightBlueBanner: return 872; + case Item::LightBlueBed: return 719; + case Item::LightBlueCarpet: return 353; + case Item::LightBlueConcrete: return 467; + case Item::LightBlueConcretePowder: return 483; + case Item::LightBlueDye: return 705; + case Item::LightBlueGlazedTerracotta: return 451; + case Item::LightBlueShulkerBox: return 435; + case Item::LightBlueStainedGlass: return 382; + case Item::LightBlueStainedGlassPane: return 398; + case Item::LightBlueTerracotta: return 334; + case Item::LightBlueWool: return 98; + case Item::LightGrayBanner: return 877; + case Item::LightGrayBed: return 724; + case Item::LightGrayCarpet: return 358; + case Item::LightGrayConcrete: return 472; + case Item::LightGrayConcretePowder: return 488; + case Item::LightGrayDye: return 700; + case Item::LightGrayGlazedTerracotta: return 456; + case Item::LightGrayShulkerBox: return 440; + case Item::LightGrayStainedGlass: return 387; + case Item::LightGrayStainedGlassPane: return 403; + case Item::LightGrayTerracotta: return 339; + case Item::LightGrayWool: return 103; + case Item::LightWeightedPressurePlate: return 318; + case Item::Lilac: return 374; + case Item::LilyOfTheValley: return 122; + case Item::LilyPad: return 263; + case Item::LimeBanner: return 874; + case Item::LimeBed: return 721; + case Item::LimeCarpet: return 355; + case Item::LimeConcrete: return 469; + case Item::LimeConcretePowder: return 485; + case Item::LimeDye: return 703; + case Item::LimeGlazedTerracotta: return 453; + case Item::LimeShulkerBox: return 437; + case Item::LimeStainedGlass: return 384; + case Item::LimeStainedGlassPane: return 400; + case Item::LimeTerracotta: return 336; + case Item::LimeWool: return 100; + case Item::LingeringPotion: return 895; + case Item::LlamaSpawnEgg: return 781; + case Item::Lodestone: return 957; + case Item::Loom: return 927; + case Item::MagentaBanner: return 871; + case Item::MagentaBed: return 718; + case Item::MagentaCarpet: return 352; + case Item::MagentaConcrete: return 466; + case Item::MagentaConcretePowder: return 482; + case Item::MagentaDye: return 706; + case Item::MagentaGlazedTerracotta: return 450; + case Item::MagentaShulkerBox: return 434; + case Item::MagentaStainedGlass: return 381; + case Item::MagentaStainedGlassPane: return 397; + case Item::MagentaTerracotta: return 333; + case Item::MagentaWool: return 97; + case Item::MagmaBlock: return 424; + case Item::MagmaCream: return 754; + case Item::MagmaCubeSpawnEgg: return 782; + case Item::Map: return 833; + case Item::Melon: return 250; + case Item::MelonSeeds: return 738; + case Item::MelonSlice: return 735; + case Item::MilkBucket: return 669; + case Item::Minecart: return 663; + case Item::MojangBannerPattern: return 931; + case Item::MooshroomSpawnEgg: return 783; + case Item::MossyCobblestone: return 169; + case Item::MossyCobblestoneSlab: return 547; + case Item::MossyCobblestoneStairs: return 533; + case Item::MossyCobblestoneWall: return 288; + case Item::MossyStoneBrickSlab: return 545; + case Item::MossyStoneBrickStairs: return 531; + case Item::MossyStoneBrickWall: return 292; + case Item::MossyStoneBricks: return 241; + case Item::MuleSpawnEgg: return 784; + case Item::MushroomStem: return 246; + case Item::MushroomStew: return 601; + case Item::MusicDiscBlocks: return 910; + case Item::MusicDiscCat: return 909; + case Item::MusicDiscChirp: return 911; + case Item::MusicDiscFar: return 912; + case Item::MusicDiscMall: return 913; + case Item::MusicDiscMellohi: return 914; + case Item::MusicDiscPigstep: return 920; + case Item::MusicDiscStal: return 915; + case Item::MusicDiscStrad: return 916; + case Item::MusicDiscWait: return 919; + case Item::MusicDiscWard: return 917; + case Item::MusicDisc11: return 918; + case Item::MusicDisc13: return 908; + case Item::Mutton: return 867; + case Item::Mycelium: return 262; + case Item::NameTag: return 865; + case Item::NautilusShell: return 923; + case Item::NetherBrick: return 848; + case Item::NetherBrickFence: return 267; + case Item::NetherBrickSlab: return 154; + case Item::NetherBrickStairs: return 268; + case Item::NetherBrickWall: return 295; + case Item::NetherBricks: return 264; + case Item::NetherGoldOre: return 36; + case Item::NetherQuartzOre: return 322; + case Item::NetherSprouts: return 130; + case Item::NetherStar: return 843; + case Item::NetherWart: return 748; + case Item::NetherWartBlock: return 425; + case Item::NetheriteAxe: return 609; + case Item::NetheriteBlock: return 958; + case Item::NetheriteBoots: return 645; + case Item::NetheriteChestplate: return 643; + case Item::NetheriteHelmet: return 642; + case Item::NetheriteHoe: return 618; + case Item::NetheriteIngot: return 584; + case Item::NetheriteLeggings: return 644; + case Item::NetheritePickaxe: return 608; + case Item::NetheriteScrap: return 585; + case Item::NetheriteShovel: return 607; + case Item::NetheriteSword: return 606; + case Item::Netherrack: return 218; + case Item::NoteBlock: return 84; + case Item::OakBoat: return 667; + case Item::OakButton: return 305; + case Item::OakDoor: return 558; + case Item::OakFence: return 208; + case Item::OakFenceGate: return 252; + case Item::OakLeaves: return 69; + case Item::OakLog: return 37; + case Item::OakPlanks: return 15; + case Item::OakPressurePlate: return 191; + case Item::OakSapling: return 23; + case Item::OakSign: return 652; + case Item::OakSlab: return 138; + case Item::OakStairs: return 179; + case Item::OakTrapdoor: return 226; + case Item::OakWood: return 61; + case Item::Observer: return 430; + case Item::Obsidian: return 170; + case Item::OcelotSpawnEgg: return 785; + case Item::OrangeBanner: return 870; + case Item::OrangeBed: return 717; + case Item::OrangeCarpet: return 351; + case Item::OrangeConcrete: return 465; + case Item::OrangeConcretePowder: return 481; + case Item::OrangeDye: return 707; + case Item::OrangeGlazedTerracotta: return 449; + case Item::OrangeShulkerBox: return 433; + case Item::OrangeStainedGlass: return 380; + case Item::OrangeStainedGlassPane: return 396; + case Item::OrangeTerracotta: return 332; + case Item::OrangeTulip: return 117; + case Item::OrangeWool: return 96; + case Item::OxeyeDaisy: return 120; + case Item::PackedIce: return 368; + case Item::Painting: return 649; + case Item::PandaSpawnEgg: return 786; + case Item::Paper: return 677; + case Item::ParrotSpawnEgg: return 787; + case Item::Peony: return 376; + case Item::PetrifiedOakSlab: return 150; + case Item::PhantomMembrane: return 922; + case Item::PhantomSpawnEgg: return 788; + case Item::PigSpawnEgg: return 789; + case Item::PiglinBannerPattern: return 933; + case Item::PiglinSpawnEgg: return 790; + case Item::PillagerSpawnEgg: return 791; + case Item::PinkBanner: return 875; + case Item::PinkBed: return 722; + case Item::PinkCarpet: return 356; + case Item::PinkConcrete: return 470; + case Item::PinkConcretePowder: return 486; + case Item::PinkDye: return 702; + case Item::PinkGlazedTerracotta: return 454; + case Item::PinkShulkerBox: return 438; + case Item::PinkStainedGlass: return 385; + case Item::PinkStainedGlassPane: return 401; + case Item::PinkTerracotta: return 337; + case Item::PinkTulip: return 119; + case Item::PinkWool: return 101; + case Item::Piston: return 94; + case Item::PlayerHead: return 837; + case Item::Podzol: return 11; + case Item::PoisonousPotato: return 832; + case Item::PolarBearSpawnEgg: return 792; + case Item::PolishedAndesite: return 7; + case Item::PolishedAndesiteSlab: return 554; + case Item::PolishedAndesiteStairs: return 541; + case Item::PolishedBasalt: return 222; + case Item::PolishedBlackstone: return 966; + case Item::PolishedBlackstoneBrickSlab: return 971; + case Item::PolishedBlackstoneBrickStairs: return 972; + case Item::PolishedBlackstoneBrickWall: return 303; + case Item::PolishedBlackstoneBricks: return 970; + case Item::PolishedBlackstoneButton: return 313; + case Item::PolishedBlackstonePressurePlate: return 199; + case Item::PolishedBlackstoneSlab: return 967; + case Item::PolishedBlackstoneStairs: return 968; + case Item::PolishedBlackstoneWall: return 302; + case Item::PolishedDiorite: return 5; + case Item::PolishedDioriteSlab: return 546; + case Item::PolishedDioriteStairs: return 532; + case Item::PolishedGranite: return 3; + case Item::PolishedGraniteSlab: return 543; + case Item::PolishedGraniteStairs: return 529; + case Item::PoppedChorusFruit: return 887; + case Item::Poppy: return 112; + case Item::Porkchop: return 647; + case Item::Potato: return 830; + case Item::Potion: return 749; + case Item::PoweredRail: return 85; + case Item::Prismarine: return 411; + case Item::PrismarineBrickSlab: return 160; + case Item::PrismarineBrickStairs: return 415; + case Item::PrismarineBricks: return 412; + case Item::PrismarineCrystals: return 853; + case Item::PrismarineShard: return 852; + case Item::PrismarineSlab: return 159; + case Item::PrismarineStairs: return 414; + case Item::PrismarineWall: return 290; + case Item::Pufferfish: return 690; + case Item::PufferfishBucket: return 670; + case Item::PufferfishSpawnEgg: return 793; + case Item::Pumpkin: return 216; + case Item::PumpkinPie: return 844; + case Item::PumpkinSeeds: return 737; + case Item::PurpleBanner: return 879; + case Item::PurpleBed: return 726; + case Item::PurpleCarpet: return 360; + case Item::PurpleConcrete: return 474; + case Item::PurpleConcretePowder: return 490; + case Item::PurpleDye: return 698; + case Item::PurpleGlazedTerracotta: return 458; + case Item::PurpleShulkerBox: return 442; + case Item::PurpleStainedGlass: return 389; + case Item::PurpleStainedGlassPane: return 405; + case Item::PurpleTerracotta: return 341; + case Item::PurpleWool: return 105; + case Item::PurpurBlock: return 175; + case Item::PurpurPillar: return 176; + case Item::PurpurSlab: return 158; + case Item::PurpurStairs: return 177; + case Item::Quartz: return 849; + case Item::QuartzBlock: return 325; + case Item::QuartzBricks: return 326; + case Item::QuartzPillar: return 327; + case Item::QuartzSlab: return 155; + case Item::QuartzStairs: return 328; + case Item::Rabbit: return 854; + case Item::RabbitFoot: return 857; + case Item::RabbitHide: return 858; + case Item::RabbitSpawnEgg: return 794; + case Item::RabbitStew: return 856; + case Item::Rail: return 187; + case Item::RavagerSpawnEgg: return 795; + case Item::RedBanner: return 883; + case Item::RedBed: return 730; + case Item::RedCarpet: return 364; + case Item::RedConcrete: return 478; + case Item::RedConcretePowder: return 494; + case Item::RedDye: return 694; + case Item::RedGlazedTerracotta: return 462; + case Item::RedMushroom: return 125; + case Item::RedMushroomBlock: return 245; + case Item::RedNetherBrickSlab: return 553; + case Item::RedNetherBrickStairs: return 540; + case Item::RedNetherBrickWall: return 297; + case Item::RedNetherBricks: return 427; + case Item::RedSand: return 31; + case Item::RedSandstone: return 418; + case Item::RedSandstoneSlab: return 156; + case Item::RedSandstoneStairs: return 421; + case Item::RedSandstoneWall: return 291; + case Item::RedShulkerBox: return 446; + case Item::RedStainedGlass: return 393; + case Item::RedStainedGlassPane: return 409; + case Item::RedTerracotta: return 345; + case Item::RedTulip: return 116; + case Item::RedWool: return 109; + case Item::Redstone: return 665; + case Item::RedstoneBlock: return 321; + case Item::RedstoneLamp: return 274; + case Item::RedstoneOre: return 200; + case Item::RedstoneTorch: return 201; + case Item::Repeater: return 566; + case Item::RepeatingCommandBlock: return 422; + case Item::RespawnAnchor: return 974; + case Item::RoseBush: return 375; + case Item::RottenFlesh: return 743; + case Item::Saddle: return 664; + case Item::Salmon: return 688; + case Item::SalmonBucket: return 671; + case Item::SalmonSpawnEgg: return 796; + case Item::Sand: return 30; + case Item::Sandstone: return 81; + case Item::SandstoneSlab: return 148; + case Item::SandstoneStairs: return 275; + case Item::SandstoneWall: return 298; + case Item::Scaffolding: return 556; + case Item::Scute: return 571; + case Item::SeaLantern: return 417; + case Item::SeaPickle: return 93; + case Item::Seagrass: return 92; + case Item::Shears: return 734; + case Item::SheepSpawnEgg: return 797; + case Item::Shield: return 896; + case Item::Shroomlight: return 950; + case Item::ShulkerBox: return 431; + case Item::ShulkerShell: return 904; + case Item::ShulkerSpawnEgg: return 798; + case Item::SilverfishSpawnEgg: return 799; + case Item::SkeletonHorseSpawnEgg: return 801; + case Item::SkeletonSkull: return 835; + case Item::SkeletonSpawnEgg: return 800; + case Item::SkullBannerPattern: return 930; + case Item::SlimeBall: return 679; + case Item::SlimeBlock: return 371; + case Item::SlimeSpawnEgg: return 802; + case Item::SmithingTable: return 942; + case Item::Smoker: return 936; + case Item::SmoothQuartz: return 162; + case Item::SmoothQuartzSlab: return 550; + case Item::SmoothQuartzStairs: return 537; + case Item::SmoothRedSandstone: return 163; + case Item::SmoothRedSandstoneSlab: return 544; + case Item::SmoothRedSandstoneStairs: return 530; + case Item::SmoothSandstone: return 164; + case Item::SmoothSandstoneSlab: return 549; + case Item::SmoothSandstoneStairs: return 536; + case Item::SmoothStone: return 165; + case Item::SmoothStoneSlab: return 147; + case Item::Snow: return 202; + case Item::SnowBlock: return 204; + case Item::Snowball: return 666; + case Item::SoulCampfire: return 949; + case Item::SoulLantern: return 946; + case Item::SoulSand: return 219; + case Item::SoulSoil: return 220; + case Item::SoulTorch: return 223; + case Item::Spawner: return 178; + case Item::SpectralArrow: return 893; + case Item::SpiderEye: return 751; + case Item::SpiderSpawnEgg: return 803; + case Item::SplashPotion: return 892; + case Item::Sponge: return 75; + case Item::SpruceBoat: return 898; + case Item::SpruceButton: return 306; + case Item::SpruceDoor: return 559; + case Item::SpruceFence: return 209; + case Item::SpruceFenceGate: return 253; + case Item::SpruceLeaves: return 70; + case Item::SpruceLog: return 38; + case Item::SprucePlanks: return 16; + case Item::SprucePressurePlate: return 192; + case Item::SpruceSapling: return 24; + case Item::SpruceSign: return 653; + case Item::SpruceSlab: return 139; + case Item::SpruceStairs: return 280; + case Item::SpruceTrapdoor: return 227; + case Item::SpruceWood: return 62; + case Item::SquidSpawnEgg: return 804; + case Item::Stick: return 599; + case Item::StickyPiston: return 87; + case Item::Stone: return 1; + case Item::StoneAxe: return 594; + case Item::StoneBrickSlab: return 153; + case Item::StoneBrickStairs: return 261; + case Item::StoneBrickWall: return 294; + case Item::StoneBricks: return 240; + case Item::StoneButton: return 304; + case Item::StoneHoe: return 614; + case Item::StonePickaxe: return 593; + case Item::StonePressurePlate: return 190; + case Item::StoneShovel: return 592; + case Item::StoneSlab: return 146; + case Item::StoneStairs: return 535; + case Item::StoneSword: return 591; + case Item::Stonecutter: return 943; + case Item::StraySpawnEgg: return 805; + case Item::StriderSpawnEgg: return 806; + case Item::String: return 610; + case Item::StrippedAcaciaLog: return 49; + case Item::StrippedAcaciaWood: return 57; + case Item::StrippedBirchLog: return 47; + case Item::StrippedBirchWood: return 55; + case Item::StrippedCrimsonHyphae: return 59; + case Item::StrippedCrimsonStem: return 51; + case Item::StrippedDarkOakLog: return 50; + case Item::StrippedDarkOakWood: return 58; + case Item::StrippedJungleLog: return 48; + case Item::StrippedJungleWood: return 56; + case Item::StrippedOakLog: return 45; + case Item::StrippedOakWood: return 53; + case Item::StrippedSpruceLog: return 46; + case Item::StrippedSpruceWood: return 54; + case Item::StrippedWarpedHyphae: return 60; + case Item::StrippedWarpedStem: return 52; + case Item::StructureBlock: return 568; + case Item::StructureVoid: return 429; + case Item::Sugar: return 714; + case Item::SugarCane: return 133; + case Item::Sunflower: return 373; + case Item::SuspiciousStew: return 926; + case Item::SweetBerries: return 947; + case Item::TallGrass: return 377; + case Item::Target: return 960; + case Item::Terracotta: return 366; + case Item::TippedArrow: return 894; + case Item::TNT: return 167; + case Item::TNTMinecart: return 850; + case Item::Torch: return 171; + case Item::TotemOfUndying: return 903; + case Item::TraderLlamaSpawnEgg: return 807; + case Item::TrappedChest: return 317; + case Item::Trident: return 921; + case Item::TripwireHook: return 278; + case Item::TropicalFish: return 689; + case Item::TropicalFishBucket: return 673; + case Item::TropicalFishSpawnEgg: return 808; + case Item::TubeCoral: return 507; + case Item::TubeCoralBlock: return 502; + case Item::TubeCoralFan: return 517; + case Item::TurtleEgg: return 496; + case Item::TurtleHelmet: return 570; + case Item::TurtleSpawnEgg: return 809; + case Item::TwistingVines: return 132; + case Item::VexSpawnEgg: return 810; + case Item::VillagerSpawnEgg: return 811; + case Item::VindicatorSpawnEgg: return 812; + case Item::Vine: return 251; + case Item::WanderingTraderSpawnEgg: return 813; + case Item::WarpedButton: return 312; + case Item::WarpedDoor: return 565; + case Item::WarpedFence: return 215; + case Item::WarpedFenceGate: return 259; + case Item::WarpedFungus: return 127; + case Item::WarpedFungusOnA_stick: return 842; + case Item::WarpedHyphae: return 68; + case Item::WarpedNylium: return 13; + case Item::WarpedPlanks: return 22; + case Item::WarpedPressurePlate: return 198; + case Item::WarpedRoots: return 129; + case Item::WarpedSign: return 659; + case Item::WarpedSlab: return 145; + case Item::WarpedStairs: return 284; + case Item::WarpedStem: return 44; + case Item::WarpedTrapdoor: return 233; + case Item::WarpedWartBlock: return 426; + case Item::WaterBucket: return 661; + case Item::WeepingVines: return 131; + case Item::WetSponge: return 76; + case Item::Wheat: return 620; + case Item::WheatSeeds: return 619; + case Item::WhiteBanner: return 869; + case Item::WhiteBed: return 716; + case Item::WhiteCarpet: return 350; + case Item::WhiteConcrete: return 464; + case Item::WhiteConcretePowder: return 480; + case Item::WhiteDye: return 712; + case Item::WhiteGlazedTerracotta: return 448; + case Item::WhiteShulkerBox: return 432; + case Item::WhiteStainedGlass: return 379; + case Item::WhiteStainedGlassPane: return 395; + case Item::WhiteTerracotta: return 331; + case Item::WhiteTulip: return 118; + case Item::WhiteWool: return 95; + case Item::WitchSpawnEgg: return 814; + case Item::WitherRose: return 123; + case Item::WitherSkeletonSkull: return 836; + case Item::WitherSkeletonSpawnEgg: return 815; + case Item::WolfSpawnEgg: return 816; + case Item::WoodenAxe: return 590; + case Item::WoodenHoe: return 613; + case Item::WoodenPickaxe: return 589; + case Item::WoodenShovel: return 588; + case Item::WoodenSword: return 587; + case Item::WritableBook: return 824; + case Item::WrittenBook: return 825; + case Item::YellowBanner: return 873; + case Item::YellowBed: return 720; + case Item::YellowCarpet: return 354; + case Item::YellowConcrete: return 468; + case Item::YellowConcretePowder: return 484; + case Item::YellowDye: return 704; + case Item::YellowGlazedTerracotta: return 452; + case Item::YellowShulkerBox: return 436; + case Item::YellowStainedGlass: return 383; + case Item::YellowStainedGlassPane: return 399; + case Item::YellowTerracotta: return 335; + case Item::YellowWool: return 99; + case Item::ZoglinSpawnEgg: return 817; + case Item::ZombieHead: return 838; + case Item::ZombieHorseSpawnEgg: return 819; + case Item::ZombieSpawnEgg: return 818; + case Item::ZombieVillagerSpawnEgg: return 820; + case Item::ZombiePigmanSpawnEgg: return 821; } + UNREACHABLE("Invalid item"); +} - UInt32 From(const CustomStatistic ID) +UInt32 From(const CustomStatistic ID) +{ + switch (ID) { - switch (ID) - { - case CustomStatistic::AnimalsBred: return 31; - case CustomStatistic::AviateOneCm: return 17; - case CustomStatistic::BellRing: return 67; - case CustomStatistic::BoatOneCm: return 14; - case CustomStatistic::CleanArmor: return 39; - case CustomStatistic::CleanBanner: return 40; - case CustomStatistic::CleanShulkerBox: return 41; - case CustomStatistic::ClimbOneCm: return 10; - case CustomStatistic::CrouchOneCm: return 6; - case CustomStatistic::DamageAbsorbed: return 27; - case CustomStatistic::DamageBlockedByShield: return 26; - case CustomStatistic::DamageDealt: return 22; - case CustomStatistic::DamageDealtAbsorbed: return 23; - case CustomStatistic::DamageDealtResisted: return 24; - case CustomStatistic::DamageResisted: return 28; - case CustomStatistic::DamageTaken: return 25; - case CustomStatistic::Deaths: return 29; - case CustomStatistic::Drop: return 21; - case CustomStatistic::EatCakeSlice: return 36; - case CustomStatistic::EnchantItem: return 52; - case CustomStatistic::FallOneCm: return 9; - case CustomStatistic::FillCauldron: return 37; - case CustomStatistic::FishCaught: return 33; - case CustomStatistic::FlyOneCm: return 11; - case CustomStatistic::HorseOneCm: return 16; - case CustomStatistic::InspectDispenser: return 46; - case CustomStatistic::InspectDropper: return 44; - case CustomStatistic::InspectHopper: return 45; - case CustomStatistic::InteractWithAnvil: return 70; - case CustomStatistic::InteractWithBeacon: return 43; - case CustomStatistic::InteractWithBlastFurnace: return 60; - case CustomStatistic::InteractWithBrewingstand: return 42; - case CustomStatistic::InteractWithCampfire: return 63; - case CustomStatistic::InteractWithCartographyTable: return 64; - case CustomStatistic::InteractWithCraftingTable: return 55; - case CustomStatistic::InteractWithFurnace: return 54; - case CustomStatistic::InteractWithGrindstone: return 71; - case CustomStatistic::InteractWithLectern: return 62; - case CustomStatistic::InteractWithLoom: return 65; - case CustomStatistic::InteractWithSmithingTable: return 73; - case CustomStatistic::InteractWithSmoker: return 61; - case CustomStatistic::InteractWithStonecutter: return 66; - case CustomStatistic::Jump: return 20; - case CustomStatistic::LeaveGame: return -0; - case CustomStatistic::MinecartOneCm: return 13; - case CustomStatistic::MobKills: return 30; - case CustomStatistic::OpenBarrel: return 59; - case CustomStatistic::OpenChest: return 56; - case CustomStatistic::OpenEnderchest: return 51; - case CustomStatistic::OpenShulkerBox: return 58; - case CustomStatistic::PigOneCm: return 15; - case CustomStatistic::PlayNoteblock: return 47; - case CustomStatistic::PlayOneMinute: return 1; - case CustomStatistic::PlayRecord: return 53; - case CustomStatistic::PlayerKills: return 32; - case CustomStatistic::PotFlower: return 49; - case CustomStatistic::RaidTrigger: return 68; - case CustomStatistic::RaidWin: return 69; - case CustomStatistic::SleepInBed: return 57; - case CustomStatistic::SneakTime: return 4; - case CustomStatistic::SprintOneCm: return 7; - case CustomStatistic::StriderOneCm: return 19; - case CustomStatistic::SwimOneCm: return 18; - case CustomStatistic::TalkedToVillager: return 34; - case CustomStatistic::TargetHit: return 72; - case CustomStatistic::TimeSinceDeath: return 2; - case CustomStatistic::TimeSinceRest: return 3; - case CustomStatistic::TradedWithVillager: return 35; - case CustomStatistic::TriggerTrappedChest: return 50; - case CustomStatistic::TuneNoteblock: return 48; - case CustomStatistic::UseCauldron: return 38; - case CustomStatistic::WalkOnWaterOneCm: return 8; - case CustomStatistic::WalkOneCm: return 5; - case CustomStatistic::WalkUnderWaterOneCm: return 12; - default: return UInt32(-1); - } + case CustomStatistic::AnimalsBred: return 31; + case CustomStatistic::AviateOneCm: return 17; + case CustomStatistic::BellRing: return 67; + case CustomStatistic::BoatOneCm: return 14; + case CustomStatistic::CleanArmor: return 39; + case CustomStatistic::CleanBanner: return 40; + case CustomStatistic::CleanShulkerBox: return 41; + case CustomStatistic::ClimbOneCm: return 10; + case CustomStatistic::CrouchOneCm: return 6; + case CustomStatistic::DamageAbsorbed: return 27; + case CustomStatistic::DamageBlockedByShield: return 26; + case CustomStatistic::DamageDealt: return 22; + case CustomStatistic::DamageDealtAbsorbed: return 23; + case CustomStatistic::DamageDealtResisted: return 24; + case CustomStatistic::DamageResisted: return 28; + case CustomStatistic::DamageTaken: return 25; + case CustomStatistic::Deaths: return 29; + case CustomStatistic::Drop: return 21; + case CustomStatistic::EatCakeSlice: return 36; + case CustomStatistic::EnchantItem: return 52; + case CustomStatistic::FallOneCm: return 9; + case CustomStatistic::FillCauldron: return 37; + case CustomStatistic::FishCaught: return 33; + case CustomStatistic::FlyOneCm: return 11; + case CustomStatistic::HorseOneCm: return 16; + case CustomStatistic::InspectDispenser: return 46; + case CustomStatistic::InspectDropper: return 44; + case CustomStatistic::InspectHopper: return 45; + case CustomStatistic::InteractWithAnvil: return 70; + case CustomStatistic::InteractWithBeacon: return 43; + case CustomStatistic::InteractWithBlastFurnace: return 60; + case CustomStatistic::InteractWithBrewingstand: return 42; + case CustomStatistic::InteractWithCampfire: return 63; + case CustomStatistic::InteractWithCartographyTable: return 64; + case CustomStatistic::InteractWithCraftingTable: return 55; + case CustomStatistic::InteractWithFurnace: return 54; + case CustomStatistic::InteractWithGrindstone: return 71; + case CustomStatistic::InteractWithLectern: return 62; + case CustomStatistic::InteractWithLoom: return 65; + case CustomStatistic::InteractWithSmithingTable: return 73; + case CustomStatistic::InteractWithSmoker: return 61; + case CustomStatistic::InteractWithStonecutter: return 66; + case CustomStatistic::Jump: return 20; + case CustomStatistic::LeaveGame: return -0; + case CustomStatistic::MinecartOneCm: return 13; + case CustomStatistic::MobKills: return 30; + case CustomStatistic::OpenBarrel: return 59; + case CustomStatistic::OpenChest: return 56; + case CustomStatistic::OpenEnderchest: return 51; + case CustomStatistic::OpenShulkerBox: return 58; + case CustomStatistic::PigOneCm: return 15; + case CustomStatistic::PlayNoteblock: return 47; + case CustomStatistic::PlayOneMinute: return 1; + case CustomStatistic::PlayRecord: return 53; + case CustomStatistic::PlayerKills: return 32; + case CustomStatistic::PotFlower: return 49; + case CustomStatistic::RaidTrigger: return 68; + case CustomStatistic::RaidWin: return 69; + case CustomStatistic::SleepInBed: return 57; + case CustomStatistic::SneakTime: return 4; + case CustomStatistic::SprintOneCm: return 7; + case CustomStatistic::StriderOneCm: return 19; + case CustomStatistic::SwimOneCm: return 18; + case CustomStatistic::TalkedToVillager: return 34; + case CustomStatistic::TargetHit: return 72; + case CustomStatistic::TimeSinceDeath: return 2; + case CustomStatistic::TimeSinceRest: return 3; + case CustomStatistic::TradedWithVillager: return 35; + case CustomStatistic::TriggerTrappedChest: return 50; + case CustomStatistic::TuneNoteblock: return 48; + case CustomStatistic::UseCauldron: return 38; + case CustomStatistic::WalkOnWaterOneCm: return 8; + case CustomStatistic::WalkOneCm: return 5; + case CustomStatistic::WalkUnderWaterOneCm: return 12; + default: return UInt32(-1); } +} - Item ToItem(const UInt32 ID) +Item ToItem(const UInt32 ID) +{ + switch (ID) { - switch (ID) - { - case 901: return Item::AcaciaBoat; - case 309: return Item::AcaciaButton; - case 562: return Item::AcaciaDoor; - case 212: return Item::AcaciaFence; - case 256: return Item::AcaciaFenceGate; - case 73: return Item::AcaciaLeaves; - case 41: return Item::AcaciaLog; - case 19: return Item::AcaciaPlanks; - case 195: return Item::AcaciaPressurePlate; - case 27: return Item::AcaciaSapling; - case 656: return Item::AcaciaSign; - case 142: return Item::AcaciaSlab; - case 369: return Item::AcaciaStairs; - case 230: return Item::AcaciaTrapdoor; - case 65: return Item::AcaciaWood; - case 329: return Item::ActivatorRail; - case -0: return Item::Air; - case 114: return Item::Allium; - case 959: return Item::AncientDebris; - case 6: return Item::Andesite; - case 552: return Item::AndesiteSlab; - case 539: return Item::AndesiteStairs; - case 296: return Item::AndesiteWall; - case 314: return Item::Anvil; - case 576: return Item::Apple; - case 859: return Item::ArmorStand; - case 578: return Item::Arrow; - case 115: return Item::AzureBluet; - case 831: return Item::BakedPotato; - case 135: return Item::Bamboo; - case 935: return Item::Barrel; - case 347: return Item::Barrier; - case 221: return Item::Basalt; - case 759: return Item::BatSpawnEgg; - case 286: return Item::Beacon; - case 29: return Item::Bedrock; - case 952: return Item::BeeNest; - case 760: return Item::BeeSpawnEgg; - case 739: return Item::Beef; - case 953: return Item::Beehive; - case 888: return Item::Beetroot; - case 889: return Item::BeetrootSeeds; - case 890: return Item::BeetrootSoup; - case 944: return Item::Bell; - case 899: return Item::BirchBoat; - case 307: return Item::BirchButton; - case 560: return Item::BirchDoor; - case 210: return Item::BirchFence; - case 254: return Item::BirchFenceGate; - case 71: return Item::BirchLeaves; - case 39: return Item::BirchLog; - case 17: return Item::BirchPlanks; - case 193: return Item::BirchPressurePlate; - case 25: return Item::BirchSapling; - case 654: return Item::BirchSign; - case 140: return Item::BirchSlab; - case 281: return Item::BirchStairs; - case 228: return Item::BirchTrapdoor; - case 63: return Item::BirchWood; - case 884: return Item::BlackBanner; - case 731: return Item::BlackBed; - case 365: return Item::BlackCarpet; - case 479: return Item::BlackConcrete; - case 495: return Item::BlackConcretePowder; - case 711: return Item::BlackDye; - case 463: return Item::BlackGlazedTerracotta; - case 447: return Item::BlackShulkerBox; - case 394: return Item::BlackStainedGlass; - case 410: return Item::BlackStainedGlassPane; - case 346: return Item::BlackTerracotta; - case 110: return Item::BlackWool; - case 962: return Item::Blackstone; - case 963: return Item::BlackstoneSlab; - case 964: return Item::BlackstoneStairs; - case 301: return Item::BlackstoneWall; - case 937: return Item::BlastFurnace; - case 753: return Item::BlazePowder; - case 745: return Item::BlazeRod; - case 761: return Item::BlazeSpawnEgg; - case 880: return Item::BlueBanner; - case 727: return Item::BlueBed; - case 361: return Item::BlueCarpet; - case 475: return Item::BlueConcrete; - case 491: return Item::BlueConcretePowder; - case 709: return Item::BlueDye; - case 459: return Item::BlueGlazedTerracotta; - case 527: return Item::BlueIce; - case 113: return Item::BlueOrchid; - case 443: return Item::BlueShulkerBox; - case 390: return Item::BlueStainedGlass; - case 406: return Item::BlueStainedGlassPane; - case 342: return Item::BlueTerracotta; - case 106: return Item::BlueWool; - case 713: return Item::Bone; - case 428: return Item::BoneBlock; - case 708: return Item::BoneMeal; - case 678: return Item::Book; - case 168: return Item::Bookshelf; - case 577: return Item::Bow; - case 600: return Item::Bowl; - case 508: return Item::BrainCoral; - case 503: return Item::BrainCoralBlock; - case 518: return Item::BrainCoralFan; - case 621: return Item::Bread; - case 755: return Item::BrewingStand; - case 674: return Item::Brick; - case 152: return Item::BrickSlab; - case 260: return Item::BrickStairs; - case 289: return Item::BrickWall; - case 166: return Item::Bricks; - case 881: return Item::BrownBanner; - case 728: return Item::BrownBed; - case 362: return Item::BrownCarpet; - case 476: return Item::BrownConcrete; - case 492: return Item::BrownConcretePowder; - case 710: return Item::BrownDye; - case 460: return Item::BrownGlazedTerracotta; - case 124: return Item::BrownMushroom; - case 244: return Item::BrownMushroomBlock; - case 444: return Item::BrownShulkerBox; - case 391: return Item::BrownStainedGlass; - case 407: return Item::BrownStainedGlassPane; - case 343: return Item::BrownTerracotta; - case 107: return Item::BrownWool; - case 509: return Item::BubbleCoral; - case 504: return Item::BubbleCoralBlock; - case 519: return Item::BubbleCoralFan; - case 660: return Item::Bucket; - case 205: return Item::Cactus; - case 715: return Item::Cake; - case 948: return Item::Campfire; - case 829: return Item::Carrot; - case 841: return Item::CarrotOnAStick; - case 938: return Item::CartographyTable; - case 217: return Item::CarvedPumpkin; - case 762: return Item::CatSpawnEgg; - case 756: return Item::Cauldron; - case 763: return Item::CaveSpiderSpawnEgg; - case 248: return Item::Chain; - case 423: return Item::ChainCommandBlock; - case 629: return Item::ChainmailBoots; - case 627: return Item::ChainmailChestplate; - case 626: return Item::ChainmailHelmet; - case 628: return Item::ChainmailLeggings; - case 580: return Item::Charcoal; - case 180: return Item::Chest; - case 680: return Item::ChestMinecart; - case 741: return Item::Chicken; - case 764: return Item::ChickenSpawnEgg; - case 315: return Item::ChippedAnvil; - case 266: return Item::ChiseledNetherBricks; - case 969: return Item::ChiseledPolishedBlackstone; - case 324: return Item::ChiseledQuartzBlock; - case 419: return Item::ChiseledRedSandstone; - case 82: return Item::ChiseledSandstone; - case 243: return Item::ChiseledStoneBricks; - case 174: return Item::ChorusFlower; - case 886: return Item::ChorusFruit; - case 173: return Item::ChorusPlant; - case 206: return Item::Clay; - case 675: return Item::ClayBall; - case 685: return Item::Clock; - case 579: return Item::Coal; - case 367: return Item::CoalBlock; - case 35: return Item::CoalOre; - case 10: return Item::CoarseDirt; - case 14: return Item::Cobblestone; - case 151: return Item::CobblestoneSlab; - case 188: return Item::CobblestoneStairs; - case 287: return Item::CobblestoneWall; - case 88: return Item::Cobweb; - case 696: return Item::CocoaBeans; - case 687: return Item::Cod; - case 672: return Item::CodBucket; - case 765: return Item::CodSpawnEgg; - case 285: return Item::CommandBlock; - case 866: return Item::CommandBlockMinecart; - case 567: return Item::Comparator; - case 683: return Item::Compass; - case 934: return Item::Composter; - case 528: return Item::Conduit; - case 740: return Item::CookedBeef; - case 742: return Item::CookedChicken; - case 691: return Item::CookedCod; - case 868: return Item::CookedMutton; - case 648: return Item::CookedPorkchop; - case 855: return Item::CookedRabbit; - case 692: return Item::CookedSalmon; - case 732: return Item::Cookie; - case 121: return Item::Cornflower; - case 766: return Item::CowSpawnEgg; - case 265: return Item::CrackedNetherBricks; - case 973: return Item::CrackedPolishedBlackstoneBricks; - case 242: return Item::CrackedStoneBricks; - case 183: return Item::CraftingTable; - case 929: return Item::CreeperBannerPattern; - case 839: return Item::CreeperHead; - case 767: return Item::CreeperSpawnEgg; - case 311: return Item::CrimsonButton; - case 564: return Item::CrimsonDoor; - case 214: return Item::CrimsonFence; - case 258: return Item::CrimsonFenceGate; - case 126: return Item::CrimsonFungus; - case 67: return Item::CrimsonHyphae; - case 12: return Item::CrimsonNylium; - case 21: return Item::CrimsonPlanks; - case 197: return Item::CrimsonPressurePlate; - case 128: return Item::CrimsonRoots; - case 658: return Item::CrimsonSign; - case 144: return Item::CrimsonSlab; - case 283: return Item::CrimsonStairs; - case 43: return Item::CrimsonStem; - case 232: return Item::CrimsonTrapdoor; - case 925: return Item::Crossbow; - case 961: return Item::CryingObsidian; - case 420: return Item::CutRedSandstone; - case 157: return Item::CutRedSandstoneSlab; - case 83: return Item::CutSandstone; - case 149: return Item::CutSandstoneSlab; - case 878: return Item::CyanBanner; - case 725: return Item::CyanBed; - case 359: return Item::CyanCarpet; - case 473: return Item::CyanConcrete; - case 489: return Item::CyanConcretePowder; - case 699: return Item::CyanDye; - case 457: return Item::CyanGlazedTerracotta; - case 441: return Item::CyanShulkerBox; - case 388: return Item::CyanStainedGlass; - case 404: return Item::CyanStainedGlassPane; - case 340: return Item::CyanTerracotta; - case 104: return Item::CyanWool; - case 316: return Item::DamagedAnvil; - case 111: return Item::Dandelion; - case 902: return Item::DarkOakBoat; - case 310: return Item::DarkOakButton; - case 563: return Item::DarkOakDoor; - case 213: return Item::DarkOakFence; - case 257: return Item::DarkOakFenceGate; - case 74: return Item::DarkOakLeaves; - case 42: return Item::DarkOakLog; - case 20: return Item::DarkOakPlanks; - case 196: return Item::DarkOakPressurePlate; - case 28: return Item::DarkOakSapling; - case 657: return Item::DarkOakSign; - case 143: return Item::DarkOakSlab; - case 370: return Item::DarkOakStairs; - case 231: return Item::DarkOakTrapdoor; - case 66: return Item::DarkOakWood; - case 413: return Item::DarkPrismarine; - case 161: return Item::DarkPrismarineSlab; - case 416: return Item::DarkPrismarineStairs; - case 320: return Item::DaylightDetector; - case 512: return Item::DeadBrainCoral; - case 498: return Item::DeadBrainCoralBlock; - case 523: return Item::DeadBrainCoralFan; - case 513: return Item::DeadBubbleCoral; - case 499: return Item::DeadBubbleCoralBlock; - case 524: return Item::DeadBubbleCoralFan; - case 91: return Item::DeadBush; - case 514: return Item::DeadFireCoral; - case 500: return Item::DeadFireCoralBlock; - case 525: return Item::DeadFireCoralFan; - case 515: return Item::DeadHornCoral; - case 501: return Item::DeadHornCoralBlock; - case 526: return Item::DeadHornCoralFan; - case 516: return Item::DeadTubeCoral; - case 497: return Item::DeadTubeCoralBlock; - case 522: return Item::DeadTubeCoralFan; - case 907: return Item::DebugStick; - case 86: return Item::DetectorRail; - case 581: return Item::Diamond; - case 598: return Item::DiamondAxe; - case 182: return Item::DiamondBlock; - case 637: return Item::DiamondBoots; - case 635: return Item::DiamondChestplate; - case 634: return Item::DiamondHelmet; - case 616: return Item::DiamondHoe; - case 862: return Item::DiamondHorseArmor; - case 636: return Item::DiamondLeggings; - case 181: return Item::DiamondOre; - case 597: return Item::DiamondPickaxe; - case 596: return Item::DiamondShovel; - case 595: return Item::DiamondSword; - case 4: return Item::Diorite; - case 555: return Item::DioriteSlab; - case 542: return Item::DioriteStairs; - case 300: return Item::DioriteWall; - case 9: return Item::Dirt; - case 80: return Item::Dispenser; - case 768: return Item::DolphinSpawnEgg; - case 769: return Item::DonkeySpawnEgg; - case 891: return Item::DragonBreath; - case 273: return Item::DragonEgg; - case 840: return Item::DragonHead; - case 736: return Item::DriedKelp; - case 676: return Item::DriedKelpBlock; - case 330: return Item::Dropper; - case 770: return Item::DrownedSpawnEgg; - case 682: return Item::Egg; - case 771: return Item::ElderGuardianSpawnEgg; - case 897: return Item::Elytra; - case 826: return Item::Emerald; - case 279: return Item::EmeraldBlock; - case 276: return Item::EmeraldOre; - case 847: return Item::EnchantedBook; - case 651: return Item::EnchantedGoldenApple; - case 269: return Item::EnchantingTable; - case 885: return Item::EndCrystal; - case 270: return Item::EndPortalFrame; - case 172: return Item::EndRod; - case 271: return Item::EndStone; - case 548: return Item::EndStoneBrickSlab; - case 534: return Item::EndStoneBrickStairs; - case 299: return Item::EndStoneBrickWall; - case 272: return Item::EndStoneBricks; - case 277: return Item::EnderChest; - case 757: return Item::EnderEye; - case 744: return Item::EnderPearl; - case 772: return Item::EndermanSpawnEgg; - case 773: return Item::EndermiteSpawnEgg; - case 774: return Item::EvokerSpawnEgg; - case 822: return Item::ExperienceBottle; - case 184: return Item::Farmland; - case 611: return Item::Feather; - case 752: return Item::FermentedSpiderEye; - case 90: return Item::Fern; - case 733: return Item::FilledMap; - case 823: return Item::FireCharge; - case 510: return Item::FireCoral; - case 505: return Item::FireCoralBlock; - case 520: return Item::FireCoralFan; - case 845: return Item::FireworkRocket; - case 846: return Item::FireworkStar; - case 684: return Item::FishingRod; - case 939: return Item::FletchingTable; - case 646: return Item::Flint; - case 575: return Item::FlintAndSteel; - case 928: return Item::FlowerBannerPattern; - case 828: return Item::FlowerPot; - case 775: return Item::FoxSpawnEgg; - case 185: return Item::Furnace; - case 681: return Item::FurnaceMinecart; - case 776: return Item::GhastSpawnEgg; - case 746: return Item::GhastTear; - case 965: return Item::GildedBlackstone; - case 77: return Item::Glass; - case 750: return Item::GlassBottle; - case 249: return Item::GlassPane; - case 758: return Item::GlisteringMelonSlice; - case 932: return Item::GlobeBannerPattern; - case 224: return Item::Glowstone; - case 686: return Item::GlowstoneDust; - case 136: return Item::GoldBlock; - case 583: return Item::GoldIngot; - case 747: return Item::GoldNugget; - case 33: return Item::GoldOre; - case 650: return Item::GoldenApple; - case 605: return Item::GoldenAxe; - case 641: return Item::GoldenBoots; - case 834: return Item::GoldenCarrot; - case 639: return Item::GoldenChestplate; - case 638: return Item::GoldenHelmet; - case 617: return Item::GoldenHoe; - case 861: return Item::GoldenHorseArmor; - case 640: return Item::GoldenLeggings; - case 604: return Item::GoldenPickaxe; - case 603: return Item::GoldenShovel; - case 602: return Item::GoldenSword; - case 2: return Item::Granite; - case 551: return Item::GraniteSlab; - case 538: return Item::GraniteStairs; - case 293: return Item::GraniteWall; - case 89: return Item::Grass; - case 8: return Item::GrassBlock; - case 372: return Item::GrassPath; - case 32: return Item::Gravel; - case 876: return Item::GrayBanner; - case 723: return Item::GrayBed; - case 357: return Item::GrayCarpet; - case 471: return Item::GrayConcrete; - case 487: return Item::GrayConcretePowder; - case 701: return Item::GrayDye; - case 455: return Item::GrayGlazedTerracotta; - case 439: return Item::GrayShulkerBox; - case 386: return Item::GrayStainedGlass; - case 402: return Item::GrayStainedGlassPane; - case 338: return Item::GrayTerracotta; - case 102: return Item::GrayWool; - case 882: return Item::GreenBanner; - case 729: return Item::GreenBed; - case 363: return Item::GreenCarpet; - case 477: return Item::GreenConcrete; - case 493: return Item::GreenConcretePowder; - case 695: return Item::GreenDye; - case 461: return Item::GreenGlazedTerracotta; - case 445: return Item::GreenShulkerBox; - case 392: return Item::GreenStainedGlass; - case 408: return Item::GreenStainedGlassPane; - case 344: return Item::GreenTerracotta; - case 108: return Item::GreenWool; - case 940: return Item::Grindstone; - case 777: return Item::GuardianSpawnEgg; - case 612: return Item::Gunpowder; - case 349: return Item::HayBale; - case 924: return Item::HeartOfTheSea; - case 319: return Item::HeavyWeightedPressurePlate; - case 778: return Item::HoglinSpawnEgg; - case 955: return Item::HoneyBlock; - case 954: return Item::HoneyBottle; - case 951: return Item::Honeycomb; - case 956: return Item::HoneycombBlock; - case 323: return Item::Hopper; - case 851: return Item::HopperMinecart; - case 511: return Item::HornCoral; - case 506: return Item::HornCoralBlock; - case 521: return Item::HornCoralFan; - case 779: return Item::HorseSpawnEgg; - case 780: return Item::HuskSpawnEgg; - case 203: return Item::Ice; - case 239: return Item::InfestedChiseledStoneBricks; - case 235: return Item::InfestedCobblestone; - case 238: return Item::InfestedCrackedStoneBricks; - case 237: return Item::InfestedMossyStoneBricks; - case 234: return Item::InfestedStone; - case 236: return Item::InfestedStoneBricks; - case 693: return Item::InkSac; - case 574: return Item::IronAxe; - case 247: return Item::IronBars; - case 137: return Item::IronBlock; - case 633: return Item::IronBoots; - case 631: return Item::IronChestplate; - case 557: return Item::IronDoor; - case 630: return Item::IronHelmet; - case 615: return Item::IronHoe; - case 860: return Item::IronHorseArmor; - case 582: return Item::IronIngot; - case 632: return Item::IronLeggings; - case 905: return Item::IronNugget; - case 34: return Item::IronOre; - case 573: return Item::IronPickaxe; - case 572: return Item::IronShovel; - case 586: return Item::IronSword; - case 348: return Item::IronTrapdoor; - case 827: return Item::ItemFrame; - case 225: return Item::JackOLantern; - case 569: return Item::Jigsaw; - case 207: return Item::Jukebox; - case 900: return Item::JungleBoat; - case 308: return Item::JungleButton; - case 561: return Item::JungleDoor; - case 211: return Item::JungleFence; - case 255: return Item::JungleFenceGate; - case 72: return Item::JungleLeaves; - case 40: return Item::JungleLog; - case 18: return Item::JunglePlanks; - case 194: return Item::JunglePressurePlate; - case 26: return Item::JungleSapling; - case 655: return Item::JungleSign; - case 141: return Item::JungleSlab; - case 282: return Item::JungleStairs; - case 229: return Item::JungleTrapdoor; - case 64: return Item::JungleWood; - case 134: return Item::Kelp; - case 906: return Item::KnowledgeBook; - case 186: return Item::Ladder; - case 945: return Item::Lantern; - case 79: return Item::LapisBlock; - case 697: return Item::LapisLazuli; - case 78: return Item::LapisOre; - case 378: return Item::LargeFern; - case 662: return Item::LavaBucket; - case 864: return Item::Lead; - case 668: return Item::Leather; - case 625: return Item::LeatherBoots; - case 623: return Item::LeatherChestplate; - case 622: return Item::LeatherHelmet; - case 863: return Item::LeatherHorseArmor; - case 624: return Item::LeatherLeggings; - case 941: return Item::Lectern; - case 189: return Item::Lever; - case 872: return Item::LightBlueBanner; - case 719: return Item::LightBlueBed; - case 353: return Item::LightBlueCarpet; - case 467: return Item::LightBlueConcrete; - case 483: return Item::LightBlueConcretePowder; - case 705: return Item::LightBlueDye; - case 451: return Item::LightBlueGlazedTerracotta; - case 435: return Item::LightBlueShulkerBox; - case 382: return Item::LightBlueStainedGlass; - case 398: return Item::LightBlueStainedGlassPane; - case 334: return Item::LightBlueTerracotta; - case 98: return Item::LightBlueWool; - case 877: return Item::LightGrayBanner; - case 724: return Item::LightGrayBed; - case 358: return Item::LightGrayCarpet; - case 472: return Item::LightGrayConcrete; - case 488: return Item::LightGrayConcretePowder; - case 700: return Item::LightGrayDye; - case 456: return Item::LightGrayGlazedTerracotta; - case 440: return Item::LightGrayShulkerBox; - case 387: return Item::LightGrayStainedGlass; - case 403: return Item::LightGrayStainedGlassPane; - case 339: return Item::LightGrayTerracotta; - case 103: return Item::LightGrayWool; - case 318: return Item::LightWeightedPressurePlate; - case 374: return Item::Lilac; - case 122: return Item::LilyOfTheValley; - case 263: return Item::LilyPad; - case 874: return Item::LimeBanner; - case 721: return Item::LimeBed; - case 355: return Item::LimeCarpet; - case 469: return Item::LimeConcrete; - case 485: return Item::LimeConcretePowder; - case 703: return Item::LimeDye; - case 453: return Item::LimeGlazedTerracotta; - case 437: return Item::LimeShulkerBox; - case 384: return Item::LimeStainedGlass; - case 400: return Item::LimeStainedGlassPane; - case 336: return Item::LimeTerracotta; - case 100: return Item::LimeWool; - case 895: return Item::LingeringPotion; - case 781: return Item::LlamaSpawnEgg; - case 957: return Item::Lodestone; - case 927: return Item::Loom; - case 871: return Item::MagentaBanner; - case 718: return Item::MagentaBed; - case 352: return Item::MagentaCarpet; - case 466: return Item::MagentaConcrete; - case 482: return Item::MagentaConcretePowder; - case 706: return Item::MagentaDye; - case 450: return Item::MagentaGlazedTerracotta; - case 434: return Item::MagentaShulkerBox; - case 381: return Item::MagentaStainedGlass; - case 397: return Item::MagentaStainedGlassPane; - case 333: return Item::MagentaTerracotta; - case 97: return Item::MagentaWool; - case 424: return Item::MagmaBlock; - case 754: return Item::MagmaCream; - case 782: return Item::MagmaCubeSpawnEgg; - case 833: return Item::Map; - case 250: return Item::Melon; - case 738: return Item::MelonSeeds; - case 735: return Item::MelonSlice; - case 669: return Item::MilkBucket; - case 663: return Item::Minecart; - case 931: return Item::MojangBannerPattern; - case 783: return Item::MooshroomSpawnEgg; - case 169: return Item::MossyCobblestone; - case 547: return Item::MossyCobblestoneSlab; - case 533: return Item::MossyCobblestoneStairs; - case 288: return Item::MossyCobblestoneWall; - case 545: return Item::MossyStoneBrickSlab; - case 531: return Item::MossyStoneBrickStairs; - case 292: return Item::MossyStoneBrickWall; - case 241: return Item::MossyStoneBricks; - case 784: return Item::MuleSpawnEgg; - case 246: return Item::MushroomStem; - case 601: return Item::MushroomStew; - case 910: return Item::MusicDiscBlocks; - case 909: return Item::MusicDiscCat; - case 911: return Item::MusicDiscChirp; - case 912: return Item::MusicDiscFar; - case 913: return Item::MusicDiscMall; - case 914: return Item::MusicDiscMellohi; - case 920: return Item::MusicDiscPigstep; - case 915: return Item::MusicDiscStal; - case 916: return Item::MusicDiscStrad; - case 919: return Item::MusicDiscWait; - case 917: return Item::MusicDiscWard; - case 918: return Item::MusicDisc11; - case 908: return Item::MusicDisc13; - case 867: return Item::Mutton; - case 262: return Item::Mycelium; - case 865: return Item::NameTag; - case 923: return Item::NautilusShell; - case 848: return Item::NetherBrick; - case 267: return Item::NetherBrickFence; - case 154: return Item::NetherBrickSlab; - case 268: return Item::NetherBrickStairs; - case 295: return Item::NetherBrickWall; - case 264: return Item::NetherBricks; - case 36: return Item::NetherGoldOre; - case 322: return Item::NetherQuartzOre; - case 130: return Item::NetherSprouts; - case 843: return Item::NetherStar; - case 748: return Item::NetherWart; - case 425: return Item::NetherWartBlock; - case 609: return Item::NetheriteAxe; - case 958: return Item::NetheriteBlock; - case 645: return Item::NetheriteBoots; - case 643: return Item::NetheriteChestplate; - case 642: return Item::NetheriteHelmet; - case 618: return Item::NetheriteHoe; - case 584: return Item::NetheriteIngot; - case 644: return Item::NetheriteLeggings; - case 608: return Item::NetheritePickaxe; - case 585: return Item::NetheriteScrap; - case 607: return Item::NetheriteShovel; - case 606: return Item::NetheriteSword; - case 218: return Item::Netherrack; - case 84: return Item::NoteBlock; - case 667: return Item::OakBoat; - case 305: return Item::OakButton; - case 558: return Item::OakDoor; - case 208: return Item::OakFence; - case 252: return Item::OakFenceGate; - case 69: return Item::OakLeaves; - case 37: return Item::OakLog; - case 15: return Item::OakPlanks; - case 191: return Item::OakPressurePlate; - case 23: return Item::OakSapling; - case 652: return Item::OakSign; - case 138: return Item::OakSlab; - case 179: return Item::OakStairs; - case 226: return Item::OakTrapdoor; - case 61: return Item::OakWood; - case 430: return Item::Observer; - case 170: return Item::Obsidian; - case 785: return Item::OcelotSpawnEgg; - case 870: return Item::OrangeBanner; - case 717: return Item::OrangeBed; - case 351: return Item::OrangeCarpet; - case 465: return Item::OrangeConcrete; - case 481: return Item::OrangeConcretePowder; - case 707: return Item::OrangeDye; - case 449: return Item::OrangeGlazedTerracotta; - case 433: return Item::OrangeShulkerBox; - case 380: return Item::OrangeStainedGlass; - case 396: return Item::OrangeStainedGlassPane; - case 332: return Item::OrangeTerracotta; - case 117: return Item::OrangeTulip; - case 96: return Item::OrangeWool; - case 120: return Item::OxeyeDaisy; - case 368: return Item::PackedIce; - case 649: return Item::Painting; - case 786: return Item::PandaSpawnEgg; - case 677: return Item::Paper; - case 787: return Item::ParrotSpawnEgg; - case 376: return Item::Peony; - case 150: return Item::PetrifiedOakSlab; - case 922: return Item::PhantomMembrane; - case 788: return Item::PhantomSpawnEgg; - case 789: return Item::PigSpawnEgg; - case 933: return Item::PiglinBannerPattern; - case 790: return Item::PiglinSpawnEgg; - case 791: return Item::PillagerSpawnEgg; - case 875: return Item::PinkBanner; - case 722: return Item::PinkBed; - case 356: return Item::PinkCarpet; - case 470: return Item::PinkConcrete; - case 486: return Item::PinkConcretePowder; - case 702: return Item::PinkDye; - case 454: return Item::PinkGlazedTerracotta; - case 438: return Item::PinkShulkerBox; - case 385: return Item::PinkStainedGlass; - case 401: return Item::PinkStainedGlassPane; - case 337: return Item::PinkTerracotta; - case 119: return Item::PinkTulip; - case 101: return Item::PinkWool; - case 94: return Item::Piston; - case 837: return Item::PlayerHead; - case 11: return Item::Podzol; - case 832: return Item::PoisonousPotato; - case 792: return Item::PolarBearSpawnEgg; - case 7: return Item::PolishedAndesite; - case 554: return Item::PolishedAndesiteSlab; - case 541: return Item::PolishedAndesiteStairs; - case 222: return Item::PolishedBasalt; - case 966: return Item::PolishedBlackstone; - case 971: return Item::PolishedBlackstoneBrickSlab; - case 972: return Item::PolishedBlackstoneBrickStairs; - case 303: return Item::PolishedBlackstoneBrickWall; - case 970: return Item::PolishedBlackstoneBricks; - case 313: return Item::PolishedBlackstoneButton; - case 199: return Item::PolishedBlackstonePressurePlate; - case 967: return Item::PolishedBlackstoneSlab; - case 968: return Item::PolishedBlackstoneStairs; - case 302: return Item::PolishedBlackstoneWall; - case 5: return Item::PolishedDiorite; - case 546: return Item::PolishedDioriteSlab; - case 532: return Item::PolishedDioriteStairs; - case 3: return Item::PolishedGranite; - case 543: return Item::PolishedGraniteSlab; - case 529: return Item::PolishedGraniteStairs; - case 887: return Item::PoppedChorusFruit; - case 112: return Item::Poppy; - case 647: return Item::Porkchop; - case 830: return Item::Potato; - case 749: return Item::Potion; - case 85: return Item::PoweredRail; - case 411: return Item::Prismarine; - case 160: return Item::PrismarineBrickSlab; - case 415: return Item::PrismarineBrickStairs; - case 412: return Item::PrismarineBricks; - case 853: return Item::PrismarineCrystals; - case 852: return Item::PrismarineShard; - case 159: return Item::PrismarineSlab; - case 414: return Item::PrismarineStairs; - case 290: return Item::PrismarineWall; - case 690: return Item::Pufferfish; - case 670: return Item::PufferfishBucket; - case 793: return Item::PufferfishSpawnEgg; - case 216: return Item::Pumpkin; - case 844: return Item::PumpkinPie; - case 737: return Item::PumpkinSeeds; - case 879: return Item::PurpleBanner; - case 726: return Item::PurpleBed; - case 360: return Item::PurpleCarpet; - case 474: return Item::PurpleConcrete; - case 490: return Item::PurpleConcretePowder; - case 698: return Item::PurpleDye; - case 458: return Item::PurpleGlazedTerracotta; - case 442: return Item::PurpleShulkerBox; - case 389: return Item::PurpleStainedGlass; - case 405: return Item::PurpleStainedGlassPane; - case 341: return Item::PurpleTerracotta; - case 105: return Item::PurpleWool; - case 175: return Item::PurpurBlock; - case 176: return Item::PurpurPillar; - case 158: return Item::PurpurSlab; - case 177: return Item::PurpurStairs; - case 849: return Item::Quartz; - case 325: return Item::QuartzBlock; - case 326: return Item::QuartzBricks; - case 327: return Item::QuartzPillar; - case 155: return Item::QuartzSlab; - case 328: return Item::QuartzStairs; - case 854: return Item::Rabbit; - case 857: return Item::RabbitFoot; - case 858: return Item::RabbitHide; - case 794: return Item::RabbitSpawnEgg; - case 856: return Item::RabbitStew; - case 187: return Item::Rail; - case 795: return Item::RavagerSpawnEgg; - case 883: return Item::RedBanner; - case 730: return Item::RedBed; - case 364: return Item::RedCarpet; - case 478: return Item::RedConcrete; - case 494: return Item::RedConcretePowder; - case 694: return Item::RedDye; - case 462: return Item::RedGlazedTerracotta; - case 125: return Item::RedMushroom; - case 245: return Item::RedMushroomBlock; - case 553: return Item::RedNetherBrickSlab; - case 540: return Item::RedNetherBrickStairs; - case 297: return Item::RedNetherBrickWall; - case 427: return Item::RedNetherBricks; - case 31: return Item::RedSand; - case 418: return Item::RedSandstone; - case 156: return Item::RedSandstoneSlab; - case 421: return Item::RedSandstoneStairs; - case 291: return Item::RedSandstoneWall; - case 446: return Item::RedShulkerBox; - case 393: return Item::RedStainedGlass; - case 409: return Item::RedStainedGlassPane; - case 345: return Item::RedTerracotta; - case 116: return Item::RedTulip; - case 109: return Item::RedWool; - case 665: return Item::Redstone; - case 321: return Item::RedstoneBlock; - case 274: return Item::RedstoneLamp; - case 200: return Item::RedstoneOre; - case 201: return Item::RedstoneTorch; - case 566: return Item::Repeater; - case 422: return Item::RepeatingCommandBlock; - case 974: return Item::RespawnAnchor; - case 375: return Item::RoseBush; - case 743: return Item::RottenFlesh; - case 664: return Item::Saddle; - case 688: return Item::Salmon; - case 671: return Item::SalmonBucket; - case 796: return Item::SalmonSpawnEgg; - case 30: return Item::Sand; - case 81: return Item::Sandstone; - case 148: return Item::SandstoneSlab; - case 275: return Item::SandstoneStairs; - case 298: return Item::SandstoneWall; - case 556: return Item::Scaffolding; - case 571: return Item::Scute; - case 417: return Item::SeaLantern; - case 93: return Item::SeaPickle; - case 92: return Item::Seagrass; - case 734: return Item::Shears; - case 797: return Item::SheepSpawnEgg; - case 896: return Item::Shield; - case 950: return Item::Shroomlight; - case 431: return Item::ShulkerBox; - case 904: return Item::ShulkerShell; - case 798: return Item::ShulkerSpawnEgg; - case 799: return Item::SilverfishSpawnEgg; - case 801: return Item::SkeletonHorseSpawnEgg; - case 835: return Item::SkeletonSkull; - case 800: return Item::SkeletonSpawnEgg; - case 930: return Item::SkullBannerPattern; - case 679: return Item::SlimeBall; - case 371: return Item::SlimeBlock; - case 802: return Item::SlimeSpawnEgg; - case 942: return Item::SmithingTable; - case 936: return Item::Smoker; - case 162: return Item::SmoothQuartz; - case 550: return Item::SmoothQuartzSlab; - case 537: return Item::SmoothQuartzStairs; - case 163: return Item::SmoothRedSandstone; - case 544: return Item::SmoothRedSandstoneSlab; - case 530: return Item::SmoothRedSandstoneStairs; - case 164: return Item::SmoothSandstone; - case 549: return Item::SmoothSandstoneSlab; - case 536: return Item::SmoothSandstoneStairs; - case 165: return Item::SmoothStone; - case 147: return Item::SmoothStoneSlab; - case 202: return Item::Snow; - case 204: return Item::SnowBlock; - case 666: return Item::Snowball; - case 949: return Item::SoulCampfire; - case 946: return Item::SoulLantern; - case 219: return Item::SoulSand; - case 220: return Item::SoulSoil; - case 223: return Item::SoulTorch; - case 178: return Item::Spawner; - case 893: return Item::SpectralArrow; - case 751: return Item::SpiderEye; - case 803: return Item::SpiderSpawnEgg; - case 892: return Item::SplashPotion; - case 75: return Item::Sponge; - case 898: return Item::SpruceBoat; - case 306: return Item::SpruceButton; - case 559: return Item::SpruceDoor; - case 209: return Item::SpruceFence; - case 253: return Item::SpruceFenceGate; - case 70: return Item::SpruceLeaves; - case 38: return Item::SpruceLog; - case 16: return Item::SprucePlanks; - case 192: return Item::SprucePressurePlate; - case 24: return Item::SpruceSapling; - case 653: return Item::SpruceSign; - case 139: return Item::SpruceSlab; - case 280: return Item::SpruceStairs; - case 227: return Item::SpruceTrapdoor; - case 62: return Item::SpruceWood; - case 804: return Item::SquidSpawnEgg; - case 599: return Item::Stick; - case 87: return Item::StickyPiston; - case 1: return Item::Stone; - case 594: return Item::StoneAxe; - case 153: return Item::StoneBrickSlab; - case 261: return Item::StoneBrickStairs; - case 294: return Item::StoneBrickWall; - case 240: return Item::StoneBricks; - case 304: return Item::StoneButton; - case 614: return Item::StoneHoe; - case 593: return Item::StonePickaxe; - case 190: return Item::StonePressurePlate; - case 592: return Item::StoneShovel; - case 146: return Item::StoneSlab; - case 535: return Item::StoneStairs; - case 591: return Item::StoneSword; - case 943: return Item::Stonecutter; - case 805: return Item::StraySpawnEgg; - case 806: return Item::StriderSpawnEgg; - case 610: return Item::String; - case 49: return Item::StrippedAcaciaLog; - case 57: return Item::StrippedAcaciaWood; - case 47: return Item::StrippedBirchLog; - case 55: return Item::StrippedBirchWood; - case 59: return Item::StrippedCrimsonHyphae; - case 51: return Item::StrippedCrimsonStem; - case 50: return Item::StrippedDarkOakLog; - case 58: return Item::StrippedDarkOakWood; - case 48: return Item::StrippedJungleLog; - case 56: return Item::StrippedJungleWood; - case 45: return Item::StrippedOakLog; - case 53: return Item::StrippedOakWood; - case 46: return Item::StrippedSpruceLog; - case 54: return Item::StrippedSpruceWood; - case 60: return Item::StrippedWarpedHyphae; - case 52: return Item::StrippedWarpedStem; - case 568: return Item::StructureBlock; - case 429: return Item::StructureVoid; - case 714: return Item::Sugar; - case 133: return Item::SugarCane; - case 373: return Item::Sunflower; - case 926: return Item::SuspiciousStew; - case 947: return Item::SweetBerries; - case 377: return Item::TallGrass; - case 960: return Item::Target; - case 366: return Item::Terracotta; - case 894: return Item::TippedArrow; - case 167: return Item::TNT; - case 850: return Item::TNTMinecart; - case 171: return Item::Torch; - case 903: return Item::TotemOfUndying; - case 807: return Item::TraderLlamaSpawnEgg; - case 317: return Item::TrappedChest; - case 921: return Item::Trident; - case 278: return Item::TripwireHook; - case 689: return Item::TropicalFish; - case 673: return Item::TropicalFishBucket; - case 808: return Item::TropicalFishSpawnEgg; - case 507: return Item::TubeCoral; - case 502: return Item::TubeCoralBlock; - case 517: return Item::TubeCoralFan; - case 496: return Item::TurtleEgg; - case 570: return Item::TurtleHelmet; - case 809: return Item::TurtleSpawnEgg; - case 132: return Item::TwistingVines; - case 810: return Item::VexSpawnEgg; - case 811: return Item::VillagerSpawnEgg; - case 812: return Item::VindicatorSpawnEgg; - case 251: return Item::Vine; - case 813: return Item::WanderingTraderSpawnEgg; - case 312: return Item::WarpedButton; - case 565: return Item::WarpedDoor; - case 215: return Item::WarpedFence; - case 259: return Item::WarpedFenceGate; - case 127: return Item::WarpedFungus; - case 842: return Item::WarpedFungusOnA_stick; - case 68: return Item::WarpedHyphae; - case 13: return Item::WarpedNylium; - case 22: return Item::WarpedPlanks; - case 198: return Item::WarpedPressurePlate; - case 129: return Item::WarpedRoots; - case 659: return Item::WarpedSign; - case 145: return Item::WarpedSlab; - case 284: return Item::WarpedStairs; - case 44: return Item::WarpedStem; - case 233: return Item::WarpedTrapdoor; - case 426: return Item::WarpedWartBlock; - case 661: return Item::WaterBucket; - case 131: return Item::WeepingVines; - case 76: return Item::WetSponge; - case 620: return Item::Wheat; - case 619: return Item::WheatSeeds; - case 869: return Item::WhiteBanner; - case 716: return Item::WhiteBed; - case 350: return Item::WhiteCarpet; - case 464: return Item::WhiteConcrete; - case 480: return Item::WhiteConcretePowder; - case 712: return Item::WhiteDye; - case 448: return Item::WhiteGlazedTerracotta; - case 432: return Item::WhiteShulkerBox; - case 379: return Item::WhiteStainedGlass; - case 395: return Item::WhiteStainedGlassPane; - case 331: return Item::WhiteTerracotta; - case 118: return Item::WhiteTulip; - case 95: return Item::WhiteWool; - case 814: return Item::WitchSpawnEgg; - case 123: return Item::WitherRose; - case 836: return Item::WitherSkeletonSkull; - case 815: return Item::WitherSkeletonSpawnEgg; - case 816: return Item::WolfSpawnEgg; - case 590: return Item::WoodenAxe; - case 613: return Item::WoodenHoe; - case 589: return Item::WoodenPickaxe; - case 588: return Item::WoodenShovel; - case 587: return Item::WoodenSword; - case 824: return Item::WritableBook; - case 825: return Item::WrittenBook; - case 873: return Item::YellowBanner; - case 720: return Item::YellowBed; - case 354: return Item::YellowCarpet; - case 468: return Item::YellowConcrete; - case 484: return Item::YellowConcretePowder; - case 704: return Item::YellowDye; - case 452: return Item::YellowGlazedTerracotta; - case 436: return Item::YellowShulkerBox; - case 383: return Item::YellowStainedGlass; - case 399: return Item::YellowStainedGlassPane; - case 335: return Item::YellowTerracotta; - case 99: return Item::YellowWool; - case 817: return Item::ZoglinSpawnEgg; - case 838: return Item::ZombieHead; - case 819: return Item::ZombieHorseSpawnEgg; - case 818: return Item::ZombieSpawnEgg; - case 820: return Item::ZombieVillagerSpawnEgg; - case 821: return Item::ZombiePigmanSpawnEgg; - default: return Item::Air; - } + case 901: return Item::AcaciaBoat; + case 309: return Item::AcaciaButton; + case 562: return Item::AcaciaDoor; + case 212: return Item::AcaciaFence; + case 256: return Item::AcaciaFenceGate; + case 73: return Item::AcaciaLeaves; + case 41: return Item::AcaciaLog; + case 19: return Item::AcaciaPlanks; + case 195: return Item::AcaciaPressurePlate; + case 27: return Item::AcaciaSapling; + case 656: return Item::AcaciaSign; + case 142: return Item::AcaciaSlab; + case 369: return Item::AcaciaStairs; + case 230: return Item::AcaciaTrapdoor; + case 65: return Item::AcaciaWood; + case 329: return Item::ActivatorRail; + case -0: return Item::Air; + case 114: return Item::Allium; + case 959: return Item::AncientDebris; + case 6: return Item::Andesite; + case 552: return Item::AndesiteSlab; + case 539: return Item::AndesiteStairs; + case 296: return Item::AndesiteWall; + case 314: return Item::Anvil; + case 576: return Item::Apple; + case 859: return Item::ArmorStand; + case 578: return Item::Arrow; + case 115: return Item::AzureBluet; + case 831: return Item::BakedPotato; + case 135: return Item::Bamboo; + case 935: return Item::Barrel; + case 347: return Item::Barrier; + case 221: return Item::Basalt; + case 759: return Item::BatSpawnEgg; + case 286: return Item::Beacon; + case 29: return Item::Bedrock; + case 952: return Item::BeeNest; + case 760: return Item::BeeSpawnEgg; + case 739: return Item::Beef; + case 953: return Item::Beehive; + case 888: return Item::Beetroot; + case 889: return Item::BeetrootSeeds; + case 890: return Item::BeetrootSoup; + case 944: return Item::Bell; + case 899: return Item::BirchBoat; + case 307: return Item::BirchButton; + case 560: return Item::BirchDoor; + case 210: return Item::BirchFence; + case 254: return Item::BirchFenceGate; + case 71: return Item::BirchLeaves; + case 39: return Item::BirchLog; + case 17: return Item::BirchPlanks; + case 193: return Item::BirchPressurePlate; + case 25: return Item::BirchSapling; + case 654: return Item::BirchSign; + case 140: return Item::BirchSlab; + case 281: return Item::BirchStairs; + case 228: return Item::BirchTrapdoor; + case 63: return Item::BirchWood; + case 884: return Item::BlackBanner; + case 731: return Item::BlackBed; + case 365: return Item::BlackCarpet; + case 479: return Item::BlackConcrete; + case 495: return Item::BlackConcretePowder; + case 711: return Item::BlackDye; + case 463: return Item::BlackGlazedTerracotta; + case 447: return Item::BlackShulkerBox; + case 394: return Item::BlackStainedGlass; + case 410: return Item::BlackStainedGlassPane; + case 346: return Item::BlackTerracotta; + case 110: return Item::BlackWool; + case 962: return Item::Blackstone; + case 963: return Item::BlackstoneSlab; + case 964: return Item::BlackstoneStairs; + case 301: return Item::BlackstoneWall; + case 937: return Item::BlastFurnace; + case 753: return Item::BlazePowder; + case 745: return Item::BlazeRod; + case 761: return Item::BlazeSpawnEgg; + case 880: return Item::BlueBanner; + case 727: return Item::BlueBed; + case 361: return Item::BlueCarpet; + case 475: return Item::BlueConcrete; + case 491: return Item::BlueConcretePowder; + case 709: return Item::BlueDye; + case 459: return Item::BlueGlazedTerracotta; + case 527: return Item::BlueIce; + case 113: return Item::BlueOrchid; + case 443: return Item::BlueShulkerBox; + case 390: return Item::BlueStainedGlass; + case 406: return Item::BlueStainedGlassPane; + case 342: return Item::BlueTerracotta; + case 106: return Item::BlueWool; + case 713: return Item::Bone; + case 428: return Item::BoneBlock; + case 708: return Item::BoneMeal; + case 678: return Item::Book; + case 168: return Item::Bookshelf; + case 577: return Item::Bow; + case 600: return Item::Bowl; + case 508: return Item::BrainCoral; + case 503: return Item::BrainCoralBlock; + case 518: return Item::BrainCoralFan; + case 621: return Item::Bread; + case 755: return Item::BrewingStand; + case 674: return Item::Brick; + case 152: return Item::BrickSlab; + case 260: return Item::BrickStairs; + case 289: return Item::BrickWall; + case 166: return Item::Bricks; + case 881: return Item::BrownBanner; + case 728: return Item::BrownBed; + case 362: return Item::BrownCarpet; + case 476: return Item::BrownConcrete; + case 492: return Item::BrownConcretePowder; + case 710: return Item::BrownDye; + case 460: return Item::BrownGlazedTerracotta; + case 124: return Item::BrownMushroom; + case 244: return Item::BrownMushroomBlock; + case 444: return Item::BrownShulkerBox; + case 391: return Item::BrownStainedGlass; + case 407: return Item::BrownStainedGlassPane; + case 343: return Item::BrownTerracotta; + case 107: return Item::BrownWool; + case 509: return Item::BubbleCoral; + case 504: return Item::BubbleCoralBlock; + case 519: return Item::BubbleCoralFan; + case 660: return Item::Bucket; + case 205: return Item::Cactus; + case 715: return Item::Cake; + case 948: return Item::Campfire; + case 829: return Item::Carrot; + case 841: return Item::CarrotOnAStick; + case 938: return Item::CartographyTable; + case 217: return Item::CarvedPumpkin; + case 762: return Item::CatSpawnEgg; + case 756: return Item::Cauldron; + case 763: return Item::CaveSpiderSpawnEgg; + case 248: return Item::Chain; + case 423: return Item::ChainCommandBlock; + case 629: return Item::ChainmailBoots; + case 627: return Item::ChainmailChestplate; + case 626: return Item::ChainmailHelmet; + case 628: return Item::ChainmailLeggings; + case 580: return Item::Charcoal; + case 180: return Item::Chest; + case 680: return Item::ChestMinecart; + case 741: return Item::Chicken; + case 764: return Item::ChickenSpawnEgg; + case 315: return Item::ChippedAnvil; + case 266: return Item::ChiseledNetherBricks; + case 969: return Item::ChiseledPolishedBlackstone; + case 324: return Item::ChiseledQuartzBlock; + case 419: return Item::ChiseledRedSandstone; + case 82: return Item::ChiseledSandstone; + case 243: return Item::ChiseledStoneBricks; + case 174: return Item::ChorusFlower; + case 886: return Item::ChorusFruit; + case 173: return Item::ChorusPlant; + case 206: return Item::Clay; + case 675: return Item::ClayBall; + case 685: return Item::Clock; + case 579: return Item::Coal; + case 367: return Item::CoalBlock; + case 35: return Item::CoalOre; + case 10: return Item::CoarseDirt; + case 14: return Item::Cobblestone; + case 151: return Item::CobblestoneSlab; + case 188: return Item::CobblestoneStairs; + case 287: return Item::CobblestoneWall; + case 88: return Item::Cobweb; + case 696: return Item::CocoaBeans; + case 687: return Item::Cod; + case 672: return Item::CodBucket; + case 765: return Item::CodSpawnEgg; + case 285: return Item::CommandBlock; + case 866: return Item::CommandBlockMinecart; + case 567: return Item::Comparator; + case 683: return Item::Compass; + case 934: return Item::Composter; + case 528: return Item::Conduit; + case 740: return Item::CookedBeef; + case 742: return Item::CookedChicken; + case 691: return Item::CookedCod; + case 868: return Item::CookedMutton; + case 648: return Item::CookedPorkchop; + case 855: return Item::CookedRabbit; + case 692: return Item::CookedSalmon; + case 732: return Item::Cookie; + case 121: return Item::Cornflower; + case 766: return Item::CowSpawnEgg; + case 265: return Item::CrackedNetherBricks; + case 973: return Item::CrackedPolishedBlackstoneBricks; + case 242: return Item::CrackedStoneBricks; + case 183: return Item::CraftingTable; + case 929: return Item::CreeperBannerPattern; + case 839: return Item::CreeperHead; + case 767: return Item::CreeperSpawnEgg; + case 311: return Item::CrimsonButton; + case 564: return Item::CrimsonDoor; + case 214: return Item::CrimsonFence; + case 258: return Item::CrimsonFenceGate; + case 126: return Item::CrimsonFungus; + case 67: return Item::CrimsonHyphae; + case 12: return Item::CrimsonNylium; + case 21: return Item::CrimsonPlanks; + case 197: return Item::CrimsonPressurePlate; + case 128: return Item::CrimsonRoots; + case 658: return Item::CrimsonSign; + case 144: return Item::CrimsonSlab; + case 283: return Item::CrimsonStairs; + case 43: return Item::CrimsonStem; + case 232: return Item::CrimsonTrapdoor; + case 925: return Item::Crossbow; + case 961: return Item::CryingObsidian; + case 420: return Item::CutRedSandstone; + case 157: return Item::CutRedSandstoneSlab; + case 83: return Item::CutSandstone; + case 149: return Item::CutSandstoneSlab; + case 878: return Item::CyanBanner; + case 725: return Item::CyanBed; + case 359: return Item::CyanCarpet; + case 473: return Item::CyanConcrete; + case 489: return Item::CyanConcretePowder; + case 699: return Item::CyanDye; + case 457: return Item::CyanGlazedTerracotta; + case 441: return Item::CyanShulkerBox; + case 388: return Item::CyanStainedGlass; + case 404: return Item::CyanStainedGlassPane; + case 340: return Item::CyanTerracotta; + case 104: return Item::CyanWool; + case 316: return Item::DamagedAnvil; + case 111: return Item::Dandelion; + case 902: return Item::DarkOakBoat; + case 310: return Item::DarkOakButton; + case 563: return Item::DarkOakDoor; + case 213: return Item::DarkOakFence; + case 257: return Item::DarkOakFenceGate; + case 74: return Item::DarkOakLeaves; + case 42: return Item::DarkOakLog; + case 20: return Item::DarkOakPlanks; + case 196: return Item::DarkOakPressurePlate; + case 28: return Item::DarkOakSapling; + case 657: return Item::DarkOakSign; + case 143: return Item::DarkOakSlab; + case 370: return Item::DarkOakStairs; + case 231: return Item::DarkOakTrapdoor; + case 66: return Item::DarkOakWood; + case 413: return Item::DarkPrismarine; + case 161: return Item::DarkPrismarineSlab; + case 416: return Item::DarkPrismarineStairs; + case 320: return Item::DaylightDetector; + case 512: return Item::DeadBrainCoral; + case 498: return Item::DeadBrainCoralBlock; + case 523: return Item::DeadBrainCoralFan; + case 513: return Item::DeadBubbleCoral; + case 499: return Item::DeadBubbleCoralBlock; + case 524: return Item::DeadBubbleCoralFan; + case 91: return Item::DeadBush; + case 514: return Item::DeadFireCoral; + case 500: return Item::DeadFireCoralBlock; + case 525: return Item::DeadFireCoralFan; + case 515: return Item::DeadHornCoral; + case 501: return Item::DeadHornCoralBlock; + case 526: return Item::DeadHornCoralFan; + case 516: return Item::DeadTubeCoral; + case 497: return Item::DeadTubeCoralBlock; + case 522: return Item::DeadTubeCoralFan; + case 907: return Item::DebugStick; + case 86: return Item::DetectorRail; + case 581: return Item::Diamond; + case 598: return Item::DiamondAxe; + case 182: return Item::DiamondBlock; + case 637: return Item::DiamondBoots; + case 635: return Item::DiamondChestplate; + case 634: return Item::DiamondHelmet; + case 616: return Item::DiamondHoe; + case 862: return Item::DiamondHorseArmor; + case 636: return Item::DiamondLeggings; + case 181: return Item::DiamondOre; + case 597: return Item::DiamondPickaxe; + case 596: return Item::DiamondShovel; + case 595: return Item::DiamondSword; + case 4: return Item::Diorite; + case 555: return Item::DioriteSlab; + case 542: return Item::DioriteStairs; + case 300: return Item::DioriteWall; + case 9: return Item::Dirt; + case 80: return Item::Dispenser; + case 768: return Item::DolphinSpawnEgg; + case 769: return Item::DonkeySpawnEgg; + case 891: return Item::DragonBreath; + case 273: return Item::DragonEgg; + case 840: return Item::DragonHead; + case 736: return Item::DriedKelp; + case 676: return Item::DriedKelpBlock; + case 330: return Item::Dropper; + case 770: return Item::DrownedSpawnEgg; + case 682: return Item::Egg; + case 771: return Item::ElderGuardianSpawnEgg; + case 897: return Item::Elytra; + case 826: return Item::Emerald; + case 279: return Item::EmeraldBlock; + case 276: return Item::EmeraldOre; + case 847: return Item::EnchantedBook; + case 651: return Item::EnchantedGoldenApple; + case 269: return Item::EnchantingTable; + case 885: return Item::EndCrystal; + case 270: return Item::EndPortalFrame; + case 172: return Item::EndRod; + case 271: return Item::EndStone; + case 548: return Item::EndStoneBrickSlab; + case 534: return Item::EndStoneBrickStairs; + case 299: return Item::EndStoneBrickWall; + case 272: return Item::EndStoneBricks; + case 277: return Item::EnderChest; + case 757: return Item::EnderEye; + case 744: return Item::EnderPearl; + case 772: return Item::EndermanSpawnEgg; + case 773: return Item::EndermiteSpawnEgg; + case 774: return Item::EvokerSpawnEgg; + case 822: return Item::ExperienceBottle; + case 184: return Item::Farmland; + case 611: return Item::Feather; + case 752: return Item::FermentedSpiderEye; + case 90: return Item::Fern; + case 733: return Item::FilledMap; + case 823: return Item::FireCharge; + case 510: return Item::FireCoral; + case 505: return Item::FireCoralBlock; + case 520: return Item::FireCoralFan; + case 845: return Item::FireworkRocket; + case 846: return Item::FireworkStar; + case 684: return Item::FishingRod; + case 939: return Item::FletchingTable; + case 646: return Item::Flint; + case 575: return Item::FlintAndSteel; + case 928: return Item::FlowerBannerPattern; + case 828: return Item::FlowerPot; + case 775: return Item::FoxSpawnEgg; + case 185: return Item::Furnace; + case 681: return Item::FurnaceMinecart; + case 776: return Item::GhastSpawnEgg; + case 746: return Item::GhastTear; + case 965: return Item::GildedBlackstone; + case 77: return Item::Glass; + case 750: return Item::GlassBottle; + case 249: return Item::GlassPane; + case 758: return Item::GlisteringMelonSlice; + case 932: return Item::GlobeBannerPattern; + case 224: return Item::Glowstone; + case 686: return Item::GlowstoneDust; + case 136: return Item::GoldBlock; + case 583: return Item::GoldIngot; + case 747: return Item::GoldNugget; + case 33: return Item::GoldOre; + case 650: return Item::GoldenApple; + case 605: return Item::GoldenAxe; + case 641: return Item::GoldenBoots; + case 834: return Item::GoldenCarrot; + case 639: return Item::GoldenChestplate; + case 638: return Item::GoldenHelmet; + case 617: return Item::GoldenHoe; + case 861: return Item::GoldenHorseArmor; + case 640: return Item::GoldenLeggings; + case 604: return Item::GoldenPickaxe; + case 603: return Item::GoldenShovel; + case 602: return Item::GoldenSword; + case 2: return Item::Granite; + case 551: return Item::GraniteSlab; + case 538: return Item::GraniteStairs; + case 293: return Item::GraniteWall; + case 89: return Item::Grass; + case 8: return Item::GrassBlock; + case 372: return Item::GrassPath; + case 32: return Item::Gravel; + case 876: return Item::GrayBanner; + case 723: return Item::GrayBed; + case 357: return Item::GrayCarpet; + case 471: return Item::GrayConcrete; + case 487: return Item::GrayConcretePowder; + case 701: return Item::GrayDye; + case 455: return Item::GrayGlazedTerracotta; + case 439: return Item::GrayShulkerBox; + case 386: return Item::GrayStainedGlass; + case 402: return Item::GrayStainedGlassPane; + case 338: return Item::GrayTerracotta; + case 102: return Item::GrayWool; + case 882: return Item::GreenBanner; + case 729: return Item::GreenBed; + case 363: return Item::GreenCarpet; + case 477: return Item::GreenConcrete; + case 493: return Item::GreenConcretePowder; + case 695: return Item::GreenDye; + case 461: return Item::GreenGlazedTerracotta; + case 445: return Item::GreenShulkerBox; + case 392: return Item::GreenStainedGlass; + case 408: return Item::GreenStainedGlassPane; + case 344: return Item::GreenTerracotta; + case 108: return Item::GreenWool; + case 940: return Item::Grindstone; + case 777: return Item::GuardianSpawnEgg; + case 612: return Item::Gunpowder; + case 349: return Item::HayBale; + case 924: return Item::HeartOfTheSea; + case 319: return Item::HeavyWeightedPressurePlate; + case 778: return Item::HoglinSpawnEgg; + case 955: return Item::HoneyBlock; + case 954: return Item::HoneyBottle; + case 951: return Item::Honeycomb; + case 956: return Item::HoneycombBlock; + case 323: return Item::Hopper; + case 851: return Item::HopperMinecart; + case 511: return Item::HornCoral; + case 506: return Item::HornCoralBlock; + case 521: return Item::HornCoralFan; + case 779: return Item::HorseSpawnEgg; + case 780: return Item::HuskSpawnEgg; + case 203: return Item::Ice; + case 239: return Item::InfestedChiseledStoneBricks; + case 235: return Item::InfestedCobblestone; + case 238: return Item::InfestedCrackedStoneBricks; + case 237: return Item::InfestedMossyStoneBricks; + case 234: return Item::InfestedStone; + case 236: return Item::InfestedStoneBricks; + case 693: return Item::InkSac; + case 574: return Item::IronAxe; + case 247: return Item::IronBars; + case 137: return Item::IronBlock; + case 633: return Item::IronBoots; + case 631: return Item::IronChestplate; + case 557: return Item::IronDoor; + case 630: return Item::IronHelmet; + case 615: return Item::IronHoe; + case 860: return Item::IronHorseArmor; + case 582: return Item::IronIngot; + case 632: return Item::IronLeggings; + case 905: return Item::IronNugget; + case 34: return Item::IronOre; + case 573: return Item::IronPickaxe; + case 572: return Item::IronShovel; + case 586: return Item::IronSword; + case 348: return Item::IronTrapdoor; + case 827: return Item::ItemFrame; + case 225: return Item::JackOLantern; + case 569: return Item::Jigsaw; + case 207: return Item::Jukebox; + case 900: return Item::JungleBoat; + case 308: return Item::JungleButton; + case 561: return Item::JungleDoor; + case 211: return Item::JungleFence; + case 255: return Item::JungleFenceGate; + case 72: return Item::JungleLeaves; + case 40: return Item::JungleLog; + case 18: return Item::JunglePlanks; + case 194: return Item::JunglePressurePlate; + case 26: return Item::JungleSapling; + case 655: return Item::JungleSign; + case 141: return Item::JungleSlab; + case 282: return Item::JungleStairs; + case 229: return Item::JungleTrapdoor; + case 64: return Item::JungleWood; + case 134: return Item::Kelp; + case 906: return Item::KnowledgeBook; + case 186: return Item::Ladder; + case 945: return Item::Lantern; + case 79: return Item::LapisBlock; + case 697: return Item::LapisLazuli; + case 78: return Item::LapisOre; + case 378: return Item::LargeFern; + case 662: return Item::LavaBucket; + case 864: return Item::Lead; + case 668: return Item::Leather; + case 625: return Item::LeatherBoots; + case 623: return Item::LeatherChestplate; + case 622: return Item::LeatherHelmet; + case 863: return Item::LeatherHorseArmor; + case 624: return Item::LeatherLeggings; + case 941: return Item::Lectern; + case 189: return Item::Lever; + case 872: return Item::LightBlueBanner; + case 719: return Item::LightBlueBed; + case 353: return Item::LightBlueCarpet; + case 467: return Item::LightBlueConcrete; + case 483: return Item::LightBlueConcretePowder; + case 705: return Item::LightBlueDye; + case 451: return Item::LightBlueGlazedTerracotta; + case 435: return Item::LightBlueShulkerBox; + case 382: return Item::LightBlueStainedGlass; + case 398: return Item::LightBlueStainedGlassPane; + case 334: return Item::LightBlueTerracotta; + case 98: return Item::LightBlueWool; + case 877: return Item::LightGrayBanner; + case 724: return Item::LightGrayBed; + case 358: return Item::LightGrayCarpet; + case 472: return Item::LightGrayConcrete; + case 488: return Item::LightGrayConcretePowder; + case 700: return Item::LightGrayDye; + case 456: return Item::LightGrayGlazedTerracotta; + case 440: return Item::LightGrayShulkerBox; + case 387: return Item::LightGrayStainedGlass; + case 403: return Item::LightGrayStainedGlassPane; + case 339: return Item::LightGrayTerracotta; + case 103: return Item::LightGrayWool; + case 318: return Item::LightWeightedPressurePlate; + case 374: return Item::Lilac; + case 122: return Item::LilyOfTheValley; + case 263: return Item::LilyPad; + case 874: return Item::LimeBanner; + case 721: return Item::LimeBed; + case 355: return Item::LimeCarpet; + case 469: return Item::LimeConcrete; + case 485: return Item::LimeConcretePowder; + case 703: return Item::LimeDye; + case 453: return Item::LimeGlazedTerracotta; + case 437: return Item::LimeShulkerBox; + case 384: return Item::LimeStainedGlass; + case 400: return Item::LimeStainedGlassPane; + case 336: return Item::LimeTerracotta; + case 100: return Item::LimeWool; + case 895: return Item::LingeringPotion; + case 781: return Item::LlamaSpawnEgg; + case 957: return Item::Lodestone; + case 927: return Item::Loom; + case 871: return Item::MagentaBanner; + case 718: return Item::MagentaBed; + case 352: return Item::MagentaCarpet; + case 466: return Item::MagentaConcrete; + case 482: return Item::MagentaConcretePowder; + case 706: return Item::MagentaDye; + case 450: return Item::MagentaGlazedTerracotta; + case 434: return Item::MagentaShulkerBox; + case 381: return Item::MagentaStainedGlass; + case 397: return Item::MagentaStainedGlassPane; + case 333: return Item::MagentaTerracotta; + case 97: return Item::MagentaWool; + case 424: return Item::MagmaBlock; + case 754: return Item::MagmaCream; + case 782: return Item::MagmaCubeSpawnEgg; + case 833: return Item::Map; + case 250: return Item::Melon; + case 738: return Item::MelonSeeds; + case 735: return Item::MelonSlice; + case 669: return Item::MilkBucket; + case 663: return Item::Minecart; + case 931: return Item::MojangBannerPattern; + case 783: return Item::MooshroomSpawnEgg; + case 169: return Item::MossyCobblestone; + case 547: return Item::MossyCobblestoneSlab; + case 533: return Item::MossyCobblestoneStairs; + case 288: return Item::MossyCobblestoneWall; + case 545: return Item::MossyStoneBrickSlab; + case 531: return Item::MossyStoneBrickStairs; + case 292: return Item::MossyStoneBrickWall; + case 241: return Item::MossyStoneBricks; + case 784: return Item::MuleSpawnEgg; + case 246: return Item::MushroomStem; + case 601: return Item::MushroomStew; + case 910: return Item::MusicDiscBlocks; + case 909: return Item::MusicDiscCat; + case 911: return Item::MusicDiscChirp; + case 912: return Item::MusicDiscFar; + case 913: return Item::MusicDiscMall; + case 914: return Item::MusicDiscMellohi; + case 920: return Item::MusicDiscPigstep; + case 915: return Item::MusicDiscStal; + case 916: return Item::MusicDiscStrad; + case 919: return Item::MusicDiscWait; + case 917: return Item::MusicDiscWard; + case 918: return Item::MusicDisc11; + case 908: return Item::MusicDisc13; + case 867: return Item::Mutton; + case 262: return Item::Mycelium; + case 865: return Item::NameTag; + case 923: return Item::NautilusShell; + case 848: return Item::NetherBrick; + case 267: return Item::NetherBrickFence; + case 154: return Item::NetherBrickSlab; + case 268: return Item::NetherBrickStairs; + case 295: return Item::NetherBrickWall; + case 264: return Item::NetherBricks; + case 36: return Item::NetherGoldOre; + case 322: return Item::NetherQuartzOre; + case 130: return Item::NetherSprouts; + case 843: return Item::NetherStar; + case 748: return Item::NetherWart; + case 425: return Item::NetherWartBlock; + case 609: return Item::NetheriteAxe; + case 958: return Item::NetheriteBlock; + case 645: return Item::NetheriteBoots; + case 643: return Item::NetheriteChestplate; + case 642: return Item::NetheriteHelmet; + case 618: return Item::NetheriteHoe; + case 584: return Item::NetheriteIngot; + case 644: return Item::NetheriteLeggings; + case 608: return Item::NetheritePickaxe; + case 585: return Item::NetheriteScrap; + case 607: return Item::NetheriteShovel; + case 606: return Item::NetheriteSword; + case 218: return Item::Netherrack; + case 84: return Item::NoteBlock; + case 667: return Item::OakBoat; + case 305: return Item::OakButton; + case 558: return Item::OakDoor; + case 208: return Item::OakFence; + case 252: return Item::OakFenceGate; + case 69: return Item::OakLeaves; + case 37: return Item::OakLog; + case 15: return Item::OakPlanks; + case 191: return Item::OakPressurePlate; + case 23: return Item::OakSapling; + case 652: return Item::OakSign; + case 138: return Item::OakSlab; + case 179: return Item::OakStairs; + case 226: return Item::OakTrapdoor; + case 61: return Item::OakWood; + case 430: return Item::Observer; + case 170: return Item::Obsidian; + case 785: return Item::OcelotSpawnEgg; + case 870: return Item::OrangeBanner; + case 717: return Item::OrangeBed; + case 351: return Item::OrangeCarpet; + case 465: return Item::OrangeConcrete; + case 481: return Item::OrangeConcretePowder; + case 707: return Item::OrangeDye; + case 449: return Item::OrangeGlazedTerracotta; + case 433: return Item::OrangeShulkerBox; + case 380: return Item::OrangeStainedGlass; + case 396: return Item::OrangeStainedGlassPane; + case 332: return Item::OrangeTerracotta; + case 117: return Item::OrangeTulip; + case 96: return Item::OrangeWool; + case 120: return Item::OxeyeDaisy; + case 368: return Item::PackedIce; + case 649: return Item::Painting; + case 786: return Item::PandaSpawnEgg; + case 677: return Item::Paper; + case 787: return Item::ParrotSpawnEgg; + case 376: return Item::Peony; + case 150: return Item::PetrifiedOakSlab; + case 922: return Item::PhantomMembrane; + case 788: return Item::PhantomSpawnEgg; + case 789: return Item::PigSpawnEgg; + case 933: return Item::PiglinBannerPattern; + case 790: return Item::PiglinSpawnEgg; + case 791: return Item::PillagerSpawnEgg; + case 875: return Item::PinkBanner; + case 722: return Item::PinkBed; + case 356: return Item::PinkCarpet; + case 470: return Item::PinkConcrete; + case 486: return Item::PinkConcretePowder; + case 702: return Item::PinkDye; + case 454: return Item::PinkGlazedTerracotta; + case 438: return Item::PinkShulkerBox; + case 385: return Item::PinkStainedGlass; + case 401: return Item::PinkStainedGlassPane; + case 337: return Item::PinkTerracotta; + case 119: return Item::PinkTulip; + case 101: return Item::PinkWool; + case 94: return Item::Piston; + case 837: return Item::PlayerHead; + case 11: return Item::Podzol; + case 832: return Item::PoisonousPotato; + case 792: return Item::PolarBearSpawnEgg; + case 7: return Item::PolishedAndesite; + case 554: return Item::PolishedAndesiteSlab; + case 541: return Item::PolishedAndesiteStairs; + case 222: return Item::PolishedBasalt; + case 966: return Item::PolishedBlackstone; + case 971: return Item::PolishedBlackstoneBrickSlab; + case 972: return Item::PolishedBlackstoneBrickStairs; + case 303: return Item::PolishedBlackstoneBrickWall; + case 970: return Item::PolishedBlackstoneBricks; + case 313: return Item::PolishedBlackstoneButton; + case 199: return Item::PolishedBlackstonePressurePlate; + case 967: return Item::PolishedBlackstoneSlab; + case 968: return Item::PolishedBlackstoneStairs; + case 302: return Item::PolishedBlackstoneWall; + case 5: return Item::PolishedDiorite; + case 546: return Item::PolishedDioriteSlab; + case 532: return Item::PolishedDioriteStairs; + case 3: return Item::PolishedGranite; + case 543: return Item::PolishedGraniteSlab; + case 529: return Item::PolishedGraniteStairs; + case 887: return Item::PoppedChorusFruit; + case 112: return Item::Poppy; + case 647: return Item::Porkchop; + case 830: return Item::Potato; + case 749: return Item::Potion; + case 85: return Item::PoweredRail; + case 411: return Item::Prismarine; + case 160: return Item::PrismarineBrickSlab; + case 415: return Item::PrismarineBrickStairs; + case 412: return Item::PrismarineBricks; + case 853: return Item::PrismarineCrystals; + case 852: return Item::PrismarineShard; + case 159: return Item::PrismarineSlab; + case 414: return Item::PrismarineStairs; + case 290: return Item::PrismarineWall; + case 690: return Item::Pufferfish; + case 670: return Item::PufferfishBucket; + case 793: return Item::PufferfishSpawnEgg; + case 216: return Item::Pumpkin; + case 844: return Item::PumpkinPie; + case 737: return Item::PumpkinSeeds; + case 879: return Item::PurpleBanner; + case 726: return Item::PurpleBed; + case 360: return Item::PurpleCarpet; + case 474: return Item::PurpleConcrete; + case 490: return Item::PurpleConcretePowder; + case 698: return Item::PurpleDye; + case 458: return Item::PurpleGlazedTerracotta; + case 442: return Item::PurpleShulkerBox; + case 389: return Item::PurpleStainedGlass; + case 405: return Item::PurpleStainedGlassPane; + case 341: return Item::PurpleTerracotta; + case 105: return Item::PurpleWool; + case 175: return Item::PurpurBlock; + case 176: return Item::PurpurPillar; + case 158: return Item::PurpurSlab; + case 177: return Item::PurpurStairs; + case 849: return Item::Quartz; + case 325: return Item::QuartzBlock; + case 326: return Item::QuartzBricks; + case 327: return Item::QuartzPillar; + case 155: return Item::QuartzSlab; + case 328: return Item::QuartzStairs; + case 854: return Item::Rabbit; + case 857: return Item::RabbitFoot; + case 858: return Item::RabbitHide; + case 794: return Item::RabbitSpawnEgg; + case 856: return Item::RabbitStew; + case 187: return Item::Rail; + case 795: return Item::RavagerSpawnEgg; + case 883: return Item::RedBanner; + case 730: return Item::RedBed; + case 364: return Item::RedCarpet; + case 478: return Item::RedConcrete; + case 494: return Item::RedConcretePowder; + case 694: return Item::RedDye; + case 462: return Item::RedGlazedTerracotta; + case 125: return Item::RedMushroom; + case 245: return Item::RedMushroomBlock; + case 553: return Item::RedNetherBrickSlab; + case 540: return Item::RedNetherBrickStairs; + case 297: return Item::RedNetherBrickWall; + case 427: return Item::RedNetherBricks; + case 31: return Item::RedSand; + case 418: return Item::RedSandstone; + case 156: return Item::RedSandstoneSlab; + case 421: return Item::RedSandstoneStairs; + case 291: return Item::RedSandstoneWall; + case 446: return Item::RedShulkerBox; + case 393: return Item::RedStainedGlass; + case 409: return Item::RedStainedGlassPane; + case 345: return Item::RedTerracotta; + case 116: return Item::RedTulip; + case 109: return Item::RedWool; + case 665: return Item::Redstone; + case 321: return Item::RedstoneBlock; + case 274: return Item::RedstoneLamp; + case 200: return Item::RedstoneOre; + case 201: return Item::RedstoneTorch; + case 566: return Item::Repeater; + case 422: return Item::RepeatingCommandBlock; + case 974: return Item::RespawnAnchor; + case 375: return Item::RoseBush; + case 743: return Item::RottenFlesh; + case 664: return Item::Saddle; + case 688: return Item::Salmon; + case 671: return Item::SalmonBucket; + case 796: return Item::SalmonSpawnEgg; + case 30: return Item::Sand; + case 81: return Item::Sandstone; + case 148: return Item::SandstoneSlab; + case 275: return Item::SandstoneStairs; + case 298: return Item::SandstoneWall; + case 556: return Item::Scaffolding; + case 571: return Item::Scute; + case 417: return Item::SeaLantern; + case 93: return Item::SeaPickle; + case 92: return Item::Seagrass; + case 734: return Item::Shears; + case 797: return Item::SheepSpawnEgg; + case 896: return Item::Shield; + case 950: return Item::Shroomlight; + case 431: return Item::ShulkerBox; + case 904: return Item::ShulkerShell; + case 798: return Item::ShulkerSpawnEgg; + case 799: return Item::SilverfishSpawnEgg; + case 801: return Item::SkeletonHorseSpawnEgg; + case 835: return Item::SkeletonSkull; + case 800: return Item::SkeletonSpawnEgg; + case 930: return Item::SkullBannerPattern; + case 679: return Item::SlimeBall; + case 371: return Item::SlimeBlock; + case 802: return Item::SlimeSpawnEgg; + case 942: return Item::SmithingTable; + case 936: return Item::Smoker; + case 162: return Item::SmoothQuartz; + case 550: return Item::SmoothQuartzSlab; + case 537: return Item::SmoothQuartzStairs; + case 163: return Item::SmoothRedSandstone; + case 544: return Item::SmoothRedSandstoneSlab; + case 530: return Item::SmoothRedSandstoneStairs; + case 164: return Item::SmoothSandstone; + case 549: return Item::SmoothSandstoneSlab; + case 536: return Item::SmoothSandstoneStairs; + case 165: return Item::SmoothStone; + case 147: return Item::SmoothStoneSlab; + case 202: return Item::Snow; + case 204: return Item::SnowBlock; + case 666: return Item::Snowball; + case 949: return Item::SoulCampfire; + case 946: return Item::SoulLantern; + case 219: return Item::SoulSand; + case 220: return Item::SoulSoil; + case 223: return Item::SoulTorch; + case 178: return Item::Spawner; + case 893: return Item::SpectralArrow; + case 751: return Item::SpiderEye; + case 803: return Item::SpiderSpawnEgg; + case 892: return Item::SplashPotion; + case 75: return Item::Sponge; + case 898: return Item::SpruceBoat; + case 306: return Item::SpruceButton; + case 559: return Item::SpruceDoor; + case 209: return Item::SpruceFence; + case 253: return Item::SpruceFenceGate; + case 70: return Item::SpruceLeaves; + case 38: return Item::SpruceLog; + case 16: return Item::SprucePlanks; + case 192: return Item::SprucePressurePlate; + case 24: return Item::SpruceSapling; + case 653: return Item::SpruceSign; + case 139: return Item::SpruceSlab; + case 280: return Item::SpruceStairs; + case 227: return Item::SpruceTrapdoor; + case 62: return Item::SpruceWood; + case 804: return Item::SquidSpawnEgg; + case 599: return Item::Stick; + case 87: return Item::StickyPiston; + case 1: return Item::Stone; + case 594: return Item::StoneAxe; + case 153: return Item::StoneBrickSlab; + case 261: return Item::StoneBrickStairs; + case 294: return Item::StoneBrickWall; + case 240: return Item::StoneBricks; + case 304: return Item::StoneButton; + case 614: return Item::StoneHoe; + case 593: return Item::StonePickaxe; + case 190: return Item::StonePressurePlate; + case 592: return Item::StoneShovel; + case 146: return Item::StoneSlab; + case 535: return Item::StoneStairs; + case 591: return Item::StoneSword; + case 943: return Item::Stonecutter; + case 805: return Item::StraySpawnEgg; + case 806: return Item::StriderSpawnEgg; + case 610: return Item::String; + case 49: return Item::StrippedAcaciaLog; + case 57: return Item::StrippedAcaciaWood; + case 47: return Item::StrippedBirchLog; + case 55: return Item::StrippedBirchWood; + case 59: return Item::StrippedCrimsonHyphae; + case 51: return Item::StrippedCrimsonStem; + case 50: return Item::StrippedDarkOakLog; + case 58: return Item::StrippedDarkOakWood; + case 48: return Item::StrippedJungleLog; + case 56: return Item::StrippedJungleWood; + case 45: return Item::StrippedOakLog; + case 53: return Item::StrippedOakWood; + case 46: return Item::StrippedSpruceLog; + case 54: return Item::StrippedSpruceWood; + case 60: return Item::StrippedWarpedHyphae; + case 52: return Item::StrippedWarpedStem; + case 568: return Item::StructureBlock; + case 429: return Item::StructureVoid; + case 714: return Item::Sugar; + case 133: return Item::SugarCane; + case 373: return Item::Sunflower; + case 926: return Item::SuspiciousStew; + case 947: return Item::SweetBerries; + case 377: return Item::TallGrass; + case 960: return Item::Target; + case 366: return Item::Terracotta; + case 894: return Item::TippedArrow; + case 167: return Item::TNT; + case 850: return Item::TNTMinecart; + case 171: return Item::Torch; + case 903: return Item::TotemOfUndying; + case 807: return Item::TraderLlamaSpawnEgg; + case 317: return Item::TrappedChest; + case 921: return Item::Trident; + case 278: return Item::TripwireHook; + case 689: return Item::TropicalFish; + case 673: return Item::TropicalFishBucket; + case 808: return Item::TropicalFishSpawnEgg; + case 507: return Item::TubeCoral; + case 502: return Item::TubeCoralBlock; + case 517: return Item::TubeCoralFan; + case 496: return Item::TurtleEgg; + case 570: return Item::TurtleHelmet; + case 809: return Item::TurtleSpawnEgg; + case 132: return Item::TwistingVines; + case 810: return Item::VexSpawnEgg; + case 811: return Item::VillagerSpawnEgg; + case 812: return Item::VindicatorSpawnEgg; + case 251: return Item::Vine; + case 813: return Item::WanderingTraderSpawnEgg; + case 312: return Item::WarpedButton; + case 565: return Item::WarpedDoor; + case 215: return Item::WarpedFence; + case 259: return Item::WarpedFenceGate; + case 127: return Item::WarpedFungus; + case 842: return Item::WarpedFungusOnA_stick; + case 68: return Item::WarpedHyphae; + case 13: return Item::WarpedNylium; + case 22: return Item::WarpedPlanks; + case 198: return Item::WarpedPressurePlate; + case 129: return Item::WarpedRoots; + case 659: return Item::WarpedSign; + case 145: return Item::WarpedSlab; + case 284: return Item::WarpedStairs; + case 44: return Item::WarpedStem; + case 233: return Item::WarpedTrapdoor; + case 426: return Item::WarpedWartBlock; + case 661: return Item::WaterBucket; + case 131: return Item::WeepingVines; + case 76: return Item::WetSponge; + case 620: return Item::Wheat; + case 619: return Item::WheatSeeds; + case 869: return Item::WhiteBanner; + case 716: return Item::WhiteBed; + case 350: return Item::WhiteCarpet; + case 464: return Item::WhiteConcrete; + case 480: return Item::WhiteConcretePowder; + case 712: return Item::WhiteDye; + case 448: return Item::WhiteGlazedTerracotta; + case 432: return Item::WhiteShulkerBox; + case 379: return Item::WhiteStainedGlass; + case 395: return Item::WhiteStainedGlassPane; + case 331: return Item::WhiteTerracotta; + case 118: return Item::WhiteTulip; + case 95: return Item::WhiteWool; + case 814: return Item::WitchSpawnEgg; + case 123: return Item::WitherRose; + case 836: return Item::WitherSkeletonSkull; + case 815: return Item::WitherSkeletonSpawnEgg; + case 816: return Item::WolfSpawnEgg; + case 590: return Item::WoodenAxe; + case 613: return Item::WoodenHoe; + case 589: return Item::WoodenPickaxe; + case 588: return Item::WoodenShovel; + case 587: return Item::WoodenSword; + case 824: return Item::WritableBook; + case 825: return Item::WrittenBook; + case 873: return Item::YellowBanner; + case 720: return Item::YellowBed; + case 354: return Item::YellowCarpet; + case 468: return Item::YellowConcrete; + case 484: return Item::YellowConcretePowder; + case 704: return Item::YellowDye; + case 452: return Item::YellowGlazedTerracotta; + case 436: return Item::YellowShulkerBox; + case 383: return Item::YellowStainedGlass; + case 399: return Item::YellowStainedGlassPane; + case 335: return Item::YellowTerracotta; + case 99: return Item::YellowWool; + case 817: return Item::ZoglinSpawnEgg; + case 838: return Item::ZombieHead; + case 819: return Item::ZombieHorseSpawnEgg; + case 818: return Item::ZombieSpawnEgg; + case 820: return Item::ZombieVillagerSpawnEgg; + case 821: return Item::ZombiePigmanSpawnEgg; + default: return Item::Air; } } +} // namespace Palette_1_16 diff --git a/src/Protocol/Palettes/Palette_1_16.h b/src/Protocol/Palettes/Palette_1_16.h index b6f85d2d6..ececd7a6d 100644 --- a/src/Protocol/Palettes/Palette_1_16.h +++ b/src/Protocol/Palettes/Palette_1_16.h @@ -6,8 +6,8 @@ namespace Palette_1_16 { - UInt32 From(BlockState Block); - UInt32 From(Item ID); - UInt32 From(CustomStatistic ID); - Item ToItem(UInt32 ID); -} +UInt32 From(BlockState Block); +UInt32 From(Item ID); +UInt32 From(CustomStatistic ID); +Item ToItem(UInt32 ID); +} // namespace Palette_1_16 diff --git a/src/Protocol/Palettes/Upgrade.cpp b/src/Protocol/Palettes/Upgrade.cpp index 7dbeea8e5..49f240eee 100644 --- a/src/Protocol/Palettes/Upgrade.cpp +++ b/src/Protocol/Palettes/Upgrade.cpp @@ -5,3205 +5,4523 @@ namespace PaletteUpgrade { - BlockState FromBlock(const BLOCKTYPE Block, const NIBBLETYPE Meta) - { - using namespace Block; +BlockState FromBlock(const BLOCKTYPE Block, const 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 Sunflower::Sunflower(Sunflower::Half::Upper); - case (175 << 4) | 9: return Lilac::Lilac(Lilac::Half::Upper); - case (175 << 4) | 10: return TallGrass::TallGrass(TallGrass::Half::Upper); - case (175 << 4) | 11: return LargeFern::LargeFern(LargeFern::Half::Upper); - case (175 << 4) | 12: return RoseBush::RoseBush(RoseBush::Half::Upper); - case (175 << 4) | 13: 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(); - } + 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 Sunflower::Sunflower(Sunflower::Half::Upper); + case (175 << 4) | 9: return Lilac::Lilac(Lilac::Half::Upper); + case (175 << 4) | 10: return TallGrass::TallGrass(TallGrass::Half::Upper); + case (175 << 4) | 11: return LargeFern::LargeFern(LargeFern::Half::Upper); + case (175 << 4) | 12: return RoseBush::RoseBush(RoseBush::Half::Upper); + case (175 << 4) | 13: 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(const short Item, const short Damage) +Item FromItem(const short Item, const short Damage) +{ + switch ((Item << 16) | Damage) { - switch ((Item << 16) | Damage) - { - 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; + 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) | 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; + // 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; + 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; + // 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; + // 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; - } + default: return Item::Air; } +} - std::pair ToItem(const Item ID) +std::pair ToItem(const Item ID) +{ + switch (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 }; - } + 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}; } } +} // namespace PaletteUpgrade diff --git a/src/Protocol/Palettes/Upgrade.h b/src/Protocol/Palettes/Upgrade.h index f0aa87095..bd038856e 100644 --- a/src/Protocol/Palettes/Upgrade.h +++ b/src/Protocol/Palettes/Upgrade.h @@ -6,7 +6,7 @@ namespace PaletteUpgrade { - BlockState FromBlock(BLOCKTYPE Block, NIBBLETYPE Meta); - Item FromItem(short Item, short Damage); - std::pair ToItem(Item ID); -} +BlockState FromBlock(BLOCKTYPE Block, NIBBLETYPE Meta); +Item FromItem(short Item, short Damage); +std::pair ToItem(Item ID); +} // namespace PaletteUpgrade diff --git a/src/Protocol/Protocol.h b/src/Protocol/Protocol.h index 4bcbd4f1a..fbc71aa92 100644 --- a/src/Protocol/Protocol.h +++ b/src/Protocol/Protocol.h @@ -39,8 +39,7 @@ struct StatisticsManager; class cProtocol { -public: - + public: cProtocol(cClientHandle * a_Client) : m_Client(a_Client), m_OutPacketBuffer(64 KiB), @@ -52,7 +51,8 @@ public: /** Logical types of outgoing packets. These values get translated to on-wire packet IDs in GetPacketID(), specific for each protocol. - This is mainly useful for protocol sub-versions that re-number the packets while using mostly the same packet layout. */ + This is mainly useful for protocol sub-versions that re-number the packets while using mostly the same packet + layout. */ enum ePacketType { pktAttachEntity = 0, @@ -333,21 +333,21 @@ public: /** The protocol version number, received from the client in the Handshake packet. */ enum class Version { - v1_8_0 = 47, - v1_9_0 = 107, - v1_9_1 = 108, - v1_9_2 = 109, - v1_9_4 = 110, + v1_8_0 = 47, + v1_9_0 = 107, + v1_9_1 = 108, + v1_9_2 = 109, + v1_9_4 = 110, v1_10_0 = 210, v1_11_0 = 315, v1_11_1 = 316, - v1_12 = 335, + v1_12 = 335, v1_12_1 = 338, v1_12_2 = 340, - v1_13 = 393, + v1_13 = 393, v1_13_1 = 401, v1_13_2 = 404, - v1_14 = 477, + v1_14 = 477, v1_14_1 = 480, v1_14_2 = 485, v1_14_3 = 490, @@ -371,102 +371,139 @@ public: virtual void DataPrepared(ContiguousByteBuffer & a_Data) = 0; // Sending stuff to clients (alphabetically sorted): - virtual void SendAttachEntity (const cEntity & a_Entity, const cEntity & a_Vehicle) = 0; - virtual void SendBlockAction (Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) = 0; - virtual void SendBlockBreakAnim (UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage) = 0; - virtual void SendBlockChange (Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; - virtual void SendBlockChanges (int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes) = 0; - virtual void SendBossBarAdd (UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) = 0; - virtual void SendBossBarRemove (UInt32 a_UniqueID) = 0; - virtual void SendBossBarUpdateHealth (UInt32 a_UniqueID, float a_FractionFilled) = 0; - virtual void SendBossBarUpdateFlags (UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) = 0; - virtual void SendBossBarUpdateStyle (UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType) = 0; - virtual void SendBossBarUpdateTitle (UInt32 a_UniqueID, const cCompositeChat & a_Title) = 0; - virtual void SendCameraSetTo (const cEntity & a_Entity) = 0; - virtual void SendChat (const AString & a_Message, eChatType a_Type) = 0; - virtual void SendChat (const cCompositeChat & a_Message, eChatType a_Type, bool a_ShouldUseChatPrefixes) = 0; - virtual void SendChatRaw (const AString & a_MessageRaw, eChatType a_Type) = 0; - virtual void SendChunkData (ContiguousByteBufferView a_ChunkData) = 0; - virtual void SendCollectEntity (const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count) = 0; - virtual void SendDestroyEntity (const cEntity & a_Entity) = 0; - virtual void SendDetachEntity (const cEntity & a_Entity, const cEntity & a_PreviousVehicle) = 0; - virtual void SendDisconnect (const AString & a_Reason) = 0; - virtual void SendEditSign (Vector3i a_BlockPos) = 0; ///< Request the client to open up the sign editor for the sign (1.6+) - virtual void SendEntityEffect (const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration) = 0; - virtual void SendEntityAnimation (const cEntity & a_Entity, EntityAnimation a_Animation) = 0; - virtual void SendEntityEquipment (const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) = 0; - virtual void SendEntityHeadLook (const cEntity & a_Entity) = 0; - virtual void SendEntityLook (const cEntity & a_Entity) = 0; - virtual void SendEntityMetadata (const cEntity & a_Entity) = 0; - virtual void SendEntityPosition (const cEntity & a_Entity) = 0; - virtual void SendEntityProperties (const cEntity & a_Entity) = 0; - virtual void SendEntityVelocity (const cEntity & a_Entity) = 0; - virtual void SendExplosion (Vector3f a_Position, float a_Power) = 0; - virtual void SendGameMode (eGameMode a_GameMode) = 0; - virtual void SendHealth (void) = 0; - virtual void SendHeldItemChange (int a_ItemIndex) = 0; - virtual void SendHideTitle (void) = 0; - virtual void SendInventorySlot (char a_WindowID, short a_SlotNum, const cItem & a_Item) = 0; - virtual void SendKeepAlive (UInt32 a_PingID) = 0; - virtual void SendLeashEntity (const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) = 0; - virtual void SendLogin (const cPlayer & a_Player, const cWorld & a_World) = 0; - virtual void SendLoginSuccess (void) = 0; - virtual void SendMapData (const cMap & a_Map, int a_DataStartX, int a_DataStartY) = 0; - virtual void SendPaintingSpawn (const cPainting & a_Painting) = 0; - virtual void SendPlayerAbilities (void) = 0; - virtual void SendParticleEffect (const AString & a_SoundName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount) = 0; - virtual void SendParticleEffect (const AString & a_SoundName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data) = 0; - virtual void SendPlayerListAddPlayer (const cPlayer & a_Player) = 0; - virtual void SendPlayerListHeaderFooter (const cCompositeChat & a_Header, const cCompositeChat & a_Footer) = 0; - virtual void SendPlayerListRemovePlayer (const cPlayer & a_Player) = 0; - virtual void SendPlayerListUpdateGameMode (const cPlayer & a_Player) = 0; - virtual void SendPlayerListUpdatePing () = 0; + virtual void SendAttachEntity(const cEntity & a_Entity, const cEntity & a_Vehicle) = 0; + virtual void SendBlockAction(Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) = 0; + virtual void SendBlockBreakAnim(UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage) = 0; + virtual void SendBlockChange(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; + virtual void SendBlockChanges(int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes) = 0; + virtual void SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog + ) = 0; + virtual void SendBossBarRemove(UInt32 a_UniqueID) = 0; + virtual void SendBossBarUpdateHealth(UInt32 a_UniqueID, float a_FractionFilled) = 0; + virtual void SendBossBarUpdateFlags(UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) = 0; + virtual void SendBossBarUpdateStyle( + UInt32 a_UniqueID, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType + ) = 0; + virtual void SendBossBarUpdateTitle(UInt32 a_UniqueID, const cCompositeChat & a_Title) = 0; + virtual void SendCameraSetTo(const cEntity & a_Entity) = 0; + virtual void SendChat(const AString & a_Message, eChatType a_Type) = 0; + virtual void SendChat(const cCompositeChat & a_Message, eChatType a_Type, bool a_ShouldUseChatPrefixes) = 0; + virtual void SendChatRaw(const AString & a_MessageRaw, eChatType a_Type) = 0; + virtual void SendChunkData(ContiguousByteBufferView a_ChunkData) = 0; + virtual void SendCollectEntity(const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count) = 0; + virtual void SendDestroyEntity(const cEntity & a_Entity) = 0; + virtual void SendDetachEntity(const cEntity & a_Entity, const cEntity & a_PreviousVehicle) = 0; + virtual void SendDisconnect(const AString & a_Reason) = 0; + virtual void SendEditSign(Vector3i a_BlockPos + ) = 0; ///< Request the client to open up the sign editor for the sign (1.6+) + virtual void SendEntityEffect(const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration) = 0; + virtual void SendEntityAnimation(const cEntity & a_Entity, EntityAnimation a_Animation) = 0; + virtual void SendEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) = 0; + virtual void SendEntityHeadLook(const cEntity & a_Entity) = 0; + virtual void SendEntityLook(const cEntity & a_Entity) = 0; + virtual void SendEntityMetadata(const cEntity & a_Entity) = 0; + virtual void SendEntityPosition(const cEntity & a_Entity) = 0; + virtual void SendEntityProperties(const cEntity & a_Entity) = 0; + virtual void SendEntityVelocity(const cEntity & a_Entity) = 0; + virtual void SendExplosion(Vector3f a_Position, float a_Power) = 0; + virtual void SendGameMode(eGameMode a_GameMode) = 0; + virtual void SendHealth(void) = 0; + virtual void SendHeldItemChange(int a_ItemIndex) = 0; + virtual void SendHideTitle(void) = 0; + virtual void SendInventorySlot(char a_WindowID, short a_SlotNum, const cItem & a_Item) = 0; + virtual void SendKeepAlive(UInt32 a_PingID) = 0; + virtual void SendLeashEntity(const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) = 0; + virtual void SendLogin(const cPlayer & a_Player, const cWorld & a_World) = 0; + virtual void SendLoginSuccess(void) = 0; + virtual void SendMapData(const cMap & a_Map, int a_DataStartX, int a_DataStartY) = 0; + virtual void SendPaintingSpawn(const cPainting & a_Painting) = 0; + virtual void SendPlayerAbilities(void) = 0; + virtual void SendParticleEffect( + const AString & a_SoundName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount + ) = 0; + virtual void SendParticleEffect( + const AString & a_SoundName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data + ) = 0; + virtual void SendPlayerListAddPlayer(const cPlayer & a_Player) = 0; + virtual void SendPlayerListHeaderFooter(const cCompositeChat & a_Header, const cCompositeChat & a_Footer) = 0; + virtual void SendPlayerListRemovePlayer(const cPlayer & a_Player) = 0; + virtual void SendPlayerListUpdateGameMode(const cPlayer & a_Player) = 0; + virtual void SendPlayerListUpdatePing() = 0; virtual void SendPlayerListUpdateDisplayName(const cPlayer & a_Player, const AString & a_CustomName) = 0; - virtual void SendPlayerMoveLook (Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative) = 0; - virtual void SendPlayerMoveLook (void) = 0; - virtual void SendPlayerPermissionLevel (void) = 0; - virtual void SendPlayerPosition (void) = 0; - virtual void SendPlayerSpawn (const cPlayer & a_Player) = 0; - virtual void SendPluginMessage (const AString & a_Channel, ContiguousByteBufferView a_Message) = 0; - virtual void SendRemoveEntityEffect (const cEntity & a_Entity, int a_EffectID) = 0; - virtual void SendResetTitle (void) = 0; - virtual void SendResourcePack (const AString & a_ResourcePackUrl) = 0; - virtual void SendRespawn (eDimension a_Dimension) = 0; - virtual void SendExperience (void) = 0; - virtual void SendExperienceOrb (const cExpOrb & a_ExpOrb) = 0; - virtual void SendScoreboardObjective (const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) = 0; - virtual void SendScoreUpdate (const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode) = 0; - virtual void SendDisplayObjective (const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) = 0; - virtual void SendSetSubTitle (const cCompositeChat & a_SubTitle) = 0; - virtual void SendSetRawSubTitle (const AString & a_SubTitle) = 0; - virtual void SendSetTitle (const cCompositeChat & a_Title) = 0; - virtual void SendSetRawTitle (const AString & a_Title) = 0; - virtual void SendSoundEffect (const AString & a_SoundName, Vector3d a_Origin, float a_Volume, float a_Pitch) = 0; - virtual void SendSoundParticleEffect (const EffectID a_EffectID, Vector3i a_Origin, int a_Data) = 0; - virtual void SendSpawnEntity (const cEntity & a_Entity) = 0; - virtual void SendSpawnMob (const cMonster & a_Mob) = 0; - virtual void SendStatistics (const StatisticsManager & a_Manager) = 0; - virtual void SendTabCompletionResults (const AStringVector & a_Results) = 0; - virtual void SendThunderbolt (Vector3i a_Origin) = 0; - virtual void SendTitleTimes (int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) = 0; - virtual void SendTimeUpdate (cTickTimeLong a_WorldAge, cTickTimeLong a_WorldDate, bool a_DoDaylightCycle) = 0; - virtual void SendUnleashEntity (const cEntity & a_Entity) = 0; - virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) = 0; - virtual void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity) = 0; - virtual void SendUpdateSign (Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) = 0; - virtual void SendUnlockRecipe (UInt32 a_RecipeID) = 0; - virtual void SendInitRecipes (UInt32 a_RecipeID) = 0; - virtual void SendWeather (eWeather a_Weather) = 0; - virtual void SendWholeInventory (const cWindow & a_Window) = 0; - virtual void SendWindowClose (const cWindow & a_Window) = 0; - virtual void SendWindowOpen (const cWindow & a_Window) = 0; - virtual void SendWindowProperty (const cWindow & a_Window, size_t a_Property, short a_Value) = 0; + virtual void SendPlayerMoveLook(Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative) = 0; + virtual void SendPlayerMoveLook(void) = 0; + virtual void SendPlayerPermissionLevel(void) = 0; + virtual void SendPlayerPosition(void) = 0; + virtual void SendPlayerSpawn(const cPlayer & a_Player) = 0; + virtual void SendPluginMessage(const AString & a_Channel, ContiguousByteBufferView a_Message) = 0; + virtual void SendRemoveEntityEffect(const cEntity & a_Entity, int a_EffectID) = 0; + virtual void SendResetTitle(void) = 0; + virtual void SendResourcePack(const AString & a_ResourcePackUrl) = 0; + virtual void SendRespawn(eDimension a_Dimension) = 0; + virtual void SendExperience(void) = 0; + virtual void SendExperienceOrb(const cExpOrb & a_ExpOrb) = 0; + virtual void SendScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) = 0; + virtual void SendScoreUpdate( + const AString & a_Objective, + const AString & a_Player, + cObjective::Score a_Score, + Byte a_Mode + ) = 0; + virtual void SendDisplayObjective(const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) = 0; + virtual void SendSetSubTitle(const cCompositeChat & a_SubTitle) = 0; + virtual void SendSetRawSubTitle(const AString & a_SubTitle) = 0; + virtual void SendSetTitle(const cCompositeChat & a_Title) = 0; + virtual void SendSetRawTitle(const AString & a_Title) = 0; + virtual void SendSoundEffect(const AString & a_SoundName, Vector3d a_Origin, float a_Volume, float a_Pitch) = 0; + virtual void SendSoundParticleEffect(const EffectID a_EffectID, Vector3i a_Origin, int a_Data) = 0; + virtual void SendSpawnEntity(const cEntity & a_Entity) = 0; + virtual void SendSpawnMob(const cMonster & a_Mob) = 0; + virtual void SendStatistics(const StatisticsManager & a_Manager) = 0; + virtual void SendTabCompletionResults(const AStringVector & a_Results) = 0; + virtual void SendThunderbolt(Vector3i a_Origin) = 0; + virtual void SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) = 0; + virtual void SendTimeUpdate(cTickTimeLong a_WorldAge, cTickTimeLong a_WorldDate, bool a_DoDaylightCycle) = 0; + virtual void SendUnleashEntity(const cEntity & a_Entity) = 0; + virtual void SendUnloadChunk(int a_ChunkX, int a_ChunkZ) = 0; + virtual void SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) = 0; + virtual void SendUpdateSign( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 + ) = 0; + virtual void SendUnlockRecipe(UInt32 a_RecipeID) = 0; + virtual void SendInitRecipes(UInt32 a_RecipeID) = 0; + virtual void SendWeather(eWeather a_Weather) = 0; + virtual void SendWholeInventory(const cWindow & a_Window) = 0; + virtual void SendWindowClose(const cWindow & a_Window) = 0; + virtual void SendWindowOpen(const cWindow & a_Window) = 0; + virtual void SendWindowProperty(const cWindow & a_Window, size_t a_Property, short a_Value) = 0; /** Returns the ServerID used for authentication through session.minecraft.net */ virtual AString GetAuthServerID(void) = 0; -protected: - + protected: friend class cPacketizer; cClientHandle * m_Client; @@ -489,6 +526,7 @@ protected: virtual Version GetProtocolVersion() const = 0; /** Sends a single packet contained within the cPacketizer class. - The cPacketizer's destructor calls this to send the contained packet; protocol may transform the data (compression in 1.8 etc). */ + The cPacketizer's destructor calls this to send the contained packet; protocol may transform the data (compression + in 1.8 etc). */ virtual void SendPacket(cPacketizer & a_Packet) = 0; -} ; +}; diff --git a/src/Protocol/ProtocolRecognizer.cpp b/src/Protocol/ProtocolRecognizer.cpp index fa106342f..248d15a61 100644 --- a/src/Protocol/ProtocolRecognizer.cpp +++ b/src/Protocol/ProtocolRecognizer.cpp @@ -38,8 +38,7 @@ struct TriedToJoinWithUnsupportedProtocolException : public std::runtime_error cMultiVersionProtocol::cMultiVersionProtocol() : - m_Buffer(32 KiB), - m_WaitingForData(true) + m_Buffer(32 KiB), m_WaitingForData(true) { } @@ -51,25 +50,25 @@ AString cMultiVersionProtocol::GetVersionTextFromInt(cProtocol::Version a_Protoc { switch (a_ProtocolVersion) { - case cProtocol::Version::v1_8_0: return "1.8"; - case cProtocol::Version::v1_9_0: return "1.9"; - case cProtocol::Version::v1_9_1: return "1.9.1"; - case cProtocol::Version::v1_9_2: return "1.9.2"; - case cProtocol::Version::v1_9_4: return "1.9.4"; - case cProtocol::Version::v1_10_0: return "1.10"; - case cProtocol::Version::v1_11_0: return "1.11"; - case cProtocol::Version::v1_11_1: return "1.11.1"; - case cProtocol::Version::v1_12: return "1.12"; - case cProtocol::Version::v1_12_1: return "1.12.1"; - case cProtocol::Version::v1_12_2: return "1.12.2"; - case cProtocol::Version::v1_13: return "1.13"; - case cProtocol::Version::v1_13_1: return "1.13.1"; - case cProtocol::Version::v1_13_2: return "1.13.2"; - case cProtocol::Version::v1_14: return "1.14"; - case cProtocol::Version::v1_14_1: return "1.14.1"; - case cProtocol::Version::v1_14_2: return "1.14.2"; - case cProtocol::Version::v1_14_3: return "1.14.3"; - case cProtocol::Version::v1_14_4: return "1.14.4"; + case cProtocol::Version::v1_8_0: return "1.8"; + case cProtocol::Version::v1_9_0: return "1.9"; + case cProtocol::Version::v1_9_1: return "1.9.1"; + case cProtocol::Version::v1_9_2: return "1.9.2"; + case cProtocol::Version::v1_9_4: return "1.9.4"; + case cProtocol::Version::v1_10_0: return "1.10"; + case cProtocol::Version::v1_11_0: return "1.11"; + case cProtocol::Version::v1_11_1: return "1.11.1"; + case cProtocol::Version::v1_12: return "1.12"; + case cProtocol::Version::v1_12_1: return "1.12.1"; + case cProtocol::Version::v1_12_2: return "1.12.2"; + case cProtocol::Version::v1_13: return "1.13"; + case cProtocol::Version::v1_13_1: return "1.13.1"; + case cProtocol::Version::v1_13_2: return "1.13.2"; + case cProtocol::Version::v1_14: return "1.14"; + case cProtocol::Version::v1_14_1: return "1.14.1"; + case cProtocol::Version::v1_14_2: return "1.14.2"; + case cProtocol::Version::v1_14_3: return "1.14.3"; + case cProtocol::Version::v1_14_4: return "1.14.4"; } ASSERT(!"Unknown protocol version"); @@ -80,13 +79,18 @@ AString cMultiVersionProtocol::GetVersionTextFromInt(cProtocol::Version a_Protoc -void cMultiVersionProtocol::HandleIncomingDataInRecognitionStage(cClientHandle & a_Client, ContiguousByteBuffer & a_Data) +void cMultiVersionProtocol::HandleIncomingDataInRecognitionStage( + cClientHandle & a_Client, + ContiguousByteBuffer & a_Data +) { - // NOTE: If a new protocol is added or an old one is removed, adjust MCS_CLIENT_VERSIONS and MCS_PROTOCOL_VERSIONS macros in the header file + // NOTE: If a new protocol is added or an old one is removed, adjust MCS_CLIENT_VERSIONS and MCS_PROTOCOL_VERSIONS + // macros in the header file /* Write all incoming data unmodified into m_Buffer. Writing everything is always okay to do: - 1. We can be sure protocol encryption hasn't started yet since m_Protocol hasn't been called, hence no decryption needs to take place + 1. We can be sure protocol encryption hasn't started yet since m_Protocol hasn't been called, hence no decryption + needs to take place 2. The extra data are processed at the end of this function */ if (!m_Buffer.Write(a_Data.data(), a_Data.size())) { @@ -103,16 +107,14 @@ void cMultiVersionProtocol::HandleIncomingDataInRecognitionStage(cClientHandle & // Unlengthed protocol, ... // Lengthed protocol, try if it has the entire initial handshake packet: - if ( - UInt32 PacketLen; + if (UInt32 PacketLen; // If not enough bytes for the packet length, keep waiting !m_Buffer.ReadVarInt(PacketLen) || // If not enough bytes for the packet, keep waiting // (More of a sanity check to make sure no one tries anything funny, since ReadXXX can wait for data themselves) - !m_Buffer.CanReadBytes(PacketLen) - ) + !m_Buffer.CanReadBytes(PacketLen)) { m_Buffer.ResetRead(); return; @@ -138,7 +140,10 @@ void cMultiVersionProtocol::HandleIncomingDataInRecognitionStage(cClientHandle & -void cMultiVersionProtocol::HandleIncomingDataInOldPingResponseStage(cClientHandle & a_Client, const ContiguousByteBufferView a_Data) +void cMultiVersionProtocol::HandleIncomingDataInOldPingResponseStage( + cClientHandle & a_Client, + const ContiguousByteBufferView a_Data +) { if (!m_Buffer.Write(a_Data.data(), a_Data.size())) { @@ -151,11 +156,7 @@ void cMultiVersionProtocol::HandleIncomingDataInOldPingResponseStage(cClientHand { UInt32 PacketLen; UInt32 PacketID; - if ( - !m_Buffer.ReadVarInt32(PacketLen) || - !m_Buffer.CanReadBytes(PacketLen) || - !m_Buffer.ReadVarInt32(PacketID) - ) + if (!m_Buffer.ReadVarInt32(PacketLen) || !m_Buffer.CanReadBytes(PacketLen) || !m_Buffer.ReadVarInt32(PacketID)) { // Not enough data m_Buffer.ResetRead(); @@ -209,7 +210,8 @@ void cMultiVersionProtocol::HandleIncomingData(cClientHandle & a_Client, Contigu void cMultiVersionProtocol::HandleOutgoingData(ContiguousByteBuffer & a_Data) { // Normally only the protocol sends data, so outgoing data are only present when m_Protocol != nullptr. - // However, for unrecognised protocols we send data too, and that's when m_Protocol == nullptr. Check to avoid crashing (GH #5260). + // However, for unrecognised protocols we send data too, and that's when m_Protocol == nullptr. Check to avoid + // crashing (GH #5260). if (m_Protocol != nullptr) { @@ -232,8 +234,8 @@ void cMultiVersionProtocol::SendDisconnect(cClientHandle & a_Client, const AStri const AString Message = JsonUtils::SerializeSingleValueJsonObject("text", a_Reason); const auto PacketID = GetPacketID(cProtocol::ePacketType::pktDisconnectDuringLogin); cByteBuffer Out( - cByteBuffer::GetVarIntSize(PacketID) + - cByteBuffer::GetVarIntSize(static_cast(Message.size())) + Message.size() + cByteBuffer::GetVarIntSize(PacketID) + cByteBuffer::GetVarIntSize(static_cast(Message.size())) + + Message.size() ); VERIFY(Out.WriteVarInt32(PacketID)); @@ -263,8 +265,11 @@ bool cMultiVersionProtocol::TryHandleHTTPRequest(cClientHandle & a_Client, Conti if (Value == u8"GET / HTTP") { - const auto Response = fmt::format(u8"HTTP/1.0 303 See Other\r\nLocation: {}\r\n\r\n", cRoot::Get()->GetServer()->GetCustomRedirectUrl()); - a_Client.SendData({ reinterpret_cast(Response.data()), Response.size() }); + const auto Response = fmt::format( + u8"HTTP/1.0 303 See Other\r\nLocation: {}\r\n\r\n", + cRoot::Get()->GetServer()->GetCustomRedirectUrl() + ); + a_Client.SendData({reinterpret_cast(Response.data()), Response.size()}); a_Client.Destroy(); return true; } @@ -287,19 +292,19 @@ std::unique_ptr cMultiVersionProtocol::TryRecognizeLengthedProtocol(c if (!m_Buffer.ReadVarInt(PacketType) || (PacketType != 0x00)) { // Not an initial handshake packet, we don't know how to talk to them: - LOGD("Client \"%s\" uses an unsupported protocol (lengthed, initial packet %u)", - a_Client.GetIPString().c_str(), PacketType + LOGD( + "Client \"%s\" uses an unsupported protocol (lengthed, initial packet %u)", + a_Client.GetIPString().c_str(), + PacketType ); - throw TriedToJoinWithUnsupportedProtocolException("Your client isn't supported.\nTry connecting with Minecraft " MCS_CLIENT_VERSIONS); + throw TriedToJoinWithUnsupportedProtocolException( + "Your client isn't supported.\nTry connecting with Minecraft " MCS_CLIENT_VERSIONS + ); } - if ( - !m_Buffer.ReadVarInt(ProtocolVersion) || - !m_Buffer.ReadVarUTF8String(ServerAddress) || - !m_Buffer.ReadBEUInt16(ServerPort) || - !m_Buffer.ReadVarInt(NextStateValue) - ) + if (!m_Buffer.ReadVarInt(ProtocolVersion) || !m_Buffer.ReadVarUTF8String(ServerAddress) || + !m_Buffer.ReadBEUInt16(ServerPort) || !m_Buffer.ReadVarInt(NextStateValue)) { // TryRecognizeProtocol guarantees that we will have as much // data to read as the client claims in the protocol length field: @@ -310,10 +315,13 @@ std::unique_ptr cMultiVersionProtocol::TryRecognizeLengthedProtocol(c { switch (NextStateValue) { - case 1: return cProtocol::State::Status; - case 2: return cProtocol::State::Login; - case 3: return cProtocol::State::Game; - default: throw TriedToJoinWithUnsupportedProtocolException("Your client isn't supported.\nTry connecting with Minecraft " MCS_CLIENT_VERSIONS); + case 1: return cProtocol::State::Status; + case 2: return cProtocol::State::Login; + case 3: return cProtocol::State::Game; + default: + throw TriedToJoinWithUnsupportedProtocolException( + "Your client isn't supported.\nTry connecting with Minecraft " MCS_CLIENT_VERSIONS + ); } }(); @@ -325,38 +333,61 @@ std::unique_ptr cMultiVersionProtocol::TryRecognizeLengthedProtocol(c switch (ProtocolVersion) { - case static_cast(cProtocol::Version::v1_8_0): return std::make_unique (&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_9_0): return std::make_unique (&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_9_1): return std::make_unique (&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_9_2): return std::make_unique (&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_9_4): return std::make_unique (&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_10_0): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_11_0): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_11_1): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_12): return std::make_unique (&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_12_1): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_12_2): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_13): return std::make_unique (&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_13_1): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_13_2): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_14): return std::make_unique (&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_14_1): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_14_2): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_14_3): return std::make_unique(&a_Client, ServerAddress, NextState); - case static_cast(cProtocol::Version::v1_14_4): return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_8_0): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_9_0): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_9_1): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_9_2): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_9_4): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_10_0): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_11_0): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_11_1): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_12): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_12_1): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_12_2): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_13): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_13_1): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_13_2): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_14): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_14_1): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_14_2): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_14_3): + return std::make_unique(&a_Client, ServerAddress, NextState); + case static_cast(cProtocol::Version::v1_14_4): + return std::make_unique(&a_Client, ServerAddress, NextState); default: { - LOGD("Client \"%s\" uses an unsupported protocol (lengthed, version %u (0x%x))", - a_Client.GetIPString(), ProtocolVersion, ProtocolVersion + LOGD( + "Client \"%s\" uses an unsupported protocol (lengthed, version %u (0x%x))", + a_Client.GetIPString(), + ProtocolVersion, + ProtocolVersion ); if (NextState != cProtocol::State::Status) { - throw TriedToJoinWithUnsupportedProtocolException( - fmt::format(FMT_STRING("Unsupported protocol version {}.\nTry connecting with Minecraft {}"), - ProtocolVersion, MCS_CLIENT_VERSIONS) - ); + throw TriedToJoinWithUnsupportedProtocolException(fmt::format( + FMT_STRING("Unsupported protocol version {}.\nTry connecting with Minecraft {}"), + ProtocolVersion, + MCS_CLIENT_VERSIONS + )); } // No cProtocol can handle the client: diff --git a/src/Protocol/ProtocolRecognizer.h b/src/Protocol/ProtocolRecognizer.h index 2d6f576e7..3f2c5f752 100644 --- a/src/Protocol/ProtocolRecognizer.h +++ b/src/Protocol/ProtocolRecognizer.h @@ -19,38 +19,31 @@ protocol version instance and redirects everything to it. */ class cMultiVersionProtocol { -public: - + public: cMultiVersionProtocol(); /** Translates protocol version number into protocol version text: 49 -> "1.4.4" */ static AString GetVersionTextFromInt(cProtocol::Version a_ProtocolVersion); /** Returns if we contain a concrete protocol corresponding to the client's protocol version. */ - bool VersionRecognitionSuccessful() - { - return m_Protocol != nullptr; - } + bool VersionRecognitionSuccessful() { return m_Protocol != nullptr; } /** Convenience overload to enable redirecting sends to the underlying implementation. */ - auto & operator->() - { - return m_Protocol; - } + auto & operator->() { return m_Protocol; } - /** Directs incoming protocol data along the correct pathway, depending on the state of the version recognition process. - The protocol modifies the provided buffer in-place. */ + /** Directs incoming protocol data along the correct pathway, depending on the state of the version recognition + process. The protocol modifies the provided buffer in-place. */ void HandleIncomingData(cClientHandle & a_Client, ContiguousByteBuffer & a_Data); - /** Allows the protocol (if any) to do a final pass on outgiong data, possibly modifying the provided buffer in-place. */ + /** Allows the protocol (if any) to do a final pass on outgiong data, possibly modifying the provided buffer + * in-place. */ void HandleOutgoingData(ContiguousByteBuffer & a_Data); /** Sends a disconnect to the client as a result of a recognition error. This function can be used to disconnect before any protocol has been recognised. */ void SendDisconnect(cClientHandle & a_Client, const AString & a_Reason); -private: - + private: /** Handles data reception in a newly-created client handle that doesn't yet have a known protocol. a_Data contains a view of data that were just received. Tries to recognize a protocol, populate m_Protocol, and transitions to another mode depending on success. */ @@ -88,4 +81,4 @@ private: /** If we're still waiting for data required for version recognition to arrive. */ bool m_WaitingForData; -} ; +}; diff --git a/src/Protocol/Protocol_1_10.cpp b/src/Protocol/Protocol_1_10.cpp index f4995c97b..f2dc59264 100644 --- a/src/Protocol/Protocol_1_10.cpp +++ b/src/Protocol/Protocol_1_10.cpp @@ -55,240 +55,240 @@ Implements the 1.10 protocol classes: // Metadata indexes. Adding a new enum value causes the following values to // increase their index. Therefore the ordering of the enum values is VERY important! #ifdef __clang__ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wduplicate-enum" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wduplicate-enum" #endif namespace Metadata { - enum Metadata_Index - { - // Entity - ENTITY_FLAGS, - ENTITY_AIR, - ENTITY_CUSTOM_NAME, - ENTITY_CUSTOM_NAME_VISIBLE, - ENTITY_SILENT, - ENTITY_NO_GRAVITY, - _ENTITY_NEXT, // Used by descendants - - // Potion - POTION_THROWN = _ENTITY_NEXT, - - // FallingBlock - FALLING_BLOCK_POSITION = _ENTITY_NEXT, - - // AreaEffectCloud - AREA_EFFECT_CLOUD_RADIUS = _ENTITY_NEXT, - AREA_EFFECT_CLOUD_COLOR, - AREA_EFFECT_CLOUD_SINGLE_POINT_EFFECT, - AREA_EFFECT_CLOUD_PARTICLE_ID, - AREA_EFFECT_CLOUD_PARTICLE_PARAMETER1, - AREA_EFFECT_CLOUD_PARTICLE_PARAMETER2, - - // Arrow - ARROW_CRITICAL = _ENTITY_NEXT, - _ARROW_NEXT, - - // TippedArrow - TIPPED_ARROW_COLOR = _ARROW_NEXT, - - // Boat - BOAT_LAST_HIT_TIME = _ENTITY_NEXT, - BOAT_FORWARD_DIRECTION, - BOAT_DAMAGE_TAKEN, - BOAT_TYPE, - BOAT_RIGHT_PADDLE_TURNING, - BOAT_LEFT_PADDLE_TURNING, - - // EnderCrystal - ENDER_CRYSTAL_BEAM_TARGET = _ENTITY_NEXT, - ENDER_CRYSTAL_SHOW_BOTTOM, - - // Fireball - _FIREBALL_NEXT = _ENTITY_NEXT, - - // WitherSkull - WITHER_SKULL_INVULNERABLE = _FIREBALL_NEXT, - - // Fireworks - FIREWORK_INFO = _ENTITY_NEXT, - - // Hanging - _HANGING_NEXT = _ENTITY_NEXT, - - // ItemFrame - ITEM_FRAME_ITEM = _HANGING_NEXT, - ITEM_FRAME_ROTATION, - - // Item - ITEM_ITEM = _ENTITY_NEXT, - - // Living - LIVING_ACTIVE_HAND = _ENTITY_NEXT, - LIVING_HEALTH, - LIVING_POTION_EFFECT_COLOR, - LIVING_POTION_EFFECT_AMBIENT, - LIVING_NUMBER_OF_ARROWS, - _LIVING_NEXT, - - // Player - PLAYER_ADDITIONAL_HEARTHS = _LIVING_NEXT, - PLAYER_SCORE, - PLAYER_DISPLAYED_SKIN_PARTS, - PLAYER_MAIN_HAND, - - // ArmorStand - ARMOR_STAND_STATUS = _LIVING_NEXT, - ARMOR_STAND_HEAD_ROTATION, - ARMOR_STAND_BODY_ROTATION, - ARMOR_STAND_LEFT_ARM_ROTATION, - ARMOR_STAND_RIGHT_ARM_ROTATION, - ARMOR_STAND_LEFT_LEG_ROTATION, - ARMOR_STAND_RIGHT_LEG_ROTATION, - - // Insentient - INSENTIENT_STATUS = _LIVING_NEXT, - _INSENTIENT_NEXT, - - // Ambient - _AMBIENT_NEXT = _INSENTIENT_NEXT, - - // Bat - BAT_HANGING = _AMBIENT_NEXT, - - // Creature - _CREATURE_NEXT = _INSENTIENT_NEXT, - - // Ageable - AGEABLE_BABY = _CREATURE_NEXT, - _AGEABLE_NEXT, - - // PolarBear - POLAR_BEAR_STANDING = _AGEABLE_NEXT, - - // Animal - _ANIMAL_NEXT = _AGEABLE_NEXT, - - // Horse - HORSE_STATUS = _ANIMAL_NEXT, - HORSE_TYPE, - HORSE_VARIANT, - HORSE_OWNER, - HORSE_ARMOR, - - // Pig - PIG_HAS_SADDLE = _ANIMAL_NEXT, - - // Rabbit - RABBIT_TYPE = _ANIMAL_NEXT, - - // Sheep - SHEEP_STATUS = _ANIMAL_NEXT, - - // TameableAnimal - TAMEABLE_ANIMAL_STATUS = _ANIMAL_NEXT, - TAMEABLE_ANIMAL_OWNER, - _TAMEABLE_NEXT, - - // Ocelot - OCELOT_TYPE = _TAMEABLE_NEXT, - - // Wolf - WOLF_DAMAGE_TAKEN = _TAMEABLE_NEXT, - WOLF_BEGGING, - WOLF_COLLAR_COLOR, +enum Metadata_Index +{ + // Entity + ENTITY_FLAGS, + ENTITY_AIR, + ENTITY_CUSTOM_NAME, + ENTITY_CUSTOM_NAME_VISIBLE, + ENTITY_SILENT, + ENTITY_NO_GRAVITY, + _ENTITY_NEXT, // Used by descendants + + // Potion + POTION_THROWN = _ENTITY_NEXT, + + // FallingBlock + FALLING_BLOCK_POSITION = _ENTITY_NEXT, + + // AreaEffectCloud + AREA_EFFECT_CLOUD_RADIUS = _ENTITY_NEXT, + AREA_EFFECT_CLOUD_COLOR, + AREA_EFFECT_CLOUD_SINGLE_POINT_EFFECT, + AREA_EFFECT_CLOUD_PARTICLE_ID, + AREA_EFFECT_CLOUD_PARTICLE_PARAMETER1, + AREA_EFFECT_CLOUD_PARTICLE_PARAMETER2, + + // Arrow + ARROW_CRITICAL = _ENTITY_NEXT, + _ARROW_NEXT, + + // TippedArrow + TIPPED_ARROW_COLOR = _ARROW_NEXT, + + // Boat + BOAT_LAST_HIT_TIME = _ENTITY_NEXT, + BOAT_FORWARD_DIRECTION, + BOAT_DAMAGE_TAKEN, + BOAT_TYPE, + BOAT_RIGHT_PADDLE_TURNING, + BOAT_LEFT_PADDLE_TURNING, + + // EnderCrystal + ENDER_CRYSTAL_BEAM_TARGET = _ENTITY_NEXT, + ENDER_CRYSTAL_SHOW_BOTTOM, + + // Fireball + _FIREBALL_NEXT = _ENTITY_NEXT, + + // WitherSkull + WITHER_SKULL_INVULNERABLE = _FIREBALL_NEXT, + + // Fireworks + FIREWORK_INFO = _ENTITY_NEXT, + + // Hanging + _HANGING_NEXT = _ENTITY_NEXT, + + // ItemFrame + ITEM_FRAME_ITEM = _HANGING_NEXT, + ITEM_FRAME_ROTATION, + + // Item + ITEM_ITEM = _ENTITY_NEXT, + + // Living + LIVING_ACTIVE_HAND = _ENTITY_NEXT, + LIVING_HEALTH, + LIVING_POTION_EFFECT_COLOR, + LIVING_POTION_EFFECT_AMBIENT, + LIVING_NUMBER_OF_ARROWS, + _LIVING_NEXT, + + // Player + PLAYER_ADDITIONAL_HEARTHS = _LIVING_NEXT, + PLAYER_SCORE, + PLAYER_DISPLAYED_SKIN_PARTS, + PLAYER_MAIN_HAND, + + // ArmorStand + ARMOR_STAND_STATUS = _LIVING_NEXT, + ARMOR_STAND_HEAD_ROTATION, + ARMOR_STAND_BODY_ROTATION, + ARMOR_STAND_LEFT_ARM_ROTATION, + ARMOR_STAND_RIGHT_ARM_ROTATION, + ARMOR_STAND_LEFT_LEG_ROTATION, + ARMOR_STAND_RIGHT_LEG_ROTATION, + + // Insentient + INSENTIENT_STATUS = _LIVING_NEXT, + _INSENTIENT_NEXT, + + // Ambient + _AMBIENT_NEXT = _INSENTIENT_NEXT, + + // Bat + BAT_HANGING = _AMBIENT_NEXT, + + // Creature + _CREATURE_NEXT = _INSENTIENT_NEXT, + + // Ageable + AGEABLE_BABY = _CREATURE_NEXT, + _AGEABLE_NEXT, + + // PolarBear + POLAR_BEAR_STANDING = _AGEABLE_NEXT, + + // Animal + _ANIMAL_NEXT = _AGEABLE_NEXT, + + // Horse + HORSE_STATUS = _ANIMAL_NEXT, + HORSE_TYPE, + HORSE_VARIANT, + HORSE_OWNER, + HORSE_ARMOR, + + // Pig + PIG_HAS_SADDLE = _ANIMAL_NEXT, + + // Rabbit + RABBIT_TYPE = _ANIMAL_NEXT, + + // Sheep + SHEEP_STATUS = _ANIMAL_NEXT, + + // TameableAnimal + TAMEABLE_ANIMAL_STATUS = _ANIMAL_NEXT, + TAMEABLE_ANIMAL_OWNER, + _TAMEABLE_NEXT, + + // Ocelot + OCELOT_TYPE = _TAMEABLE_NEXT, + + // Wolf + WOLF_DAMAGE_TAKEN = _TAMEABLE_NEXT, + WOLF_BEGGING, + WOLF_COLLAR_COLOR, - // Villager - VILLAGER_PROFESSION = _AGEABLE_NEXT, - - // Golem - _GOLEM_NEXT = _CREATURE_NEXT, + // Villager + VILLAGER_PROFESSION = _AGEABLE_NEXT, + + // Golem + _GOLEM_NEXT = _CREATURE_NEXT, - // IronGolem - IRON_GOLEM_PLAYER_CREATED = _GOLEM_NEXT, + // IronGolem + IRON_GOLEM_PLAYER_CREATED = _GOLEM_NEXT, - // Shulker - SHULKER_FACING_DIRECTION = _GOLEM_NEXT, - SHULKER_ATTACHMENT_FALLING_BLOCK_POSITION, - SHULKER_SHIELD_HEIGHT, - - // Monster - _MONSTER_NEXT = _CREATURE_NEXT, - - // Blaze - BLAZE_ON_FIRE = _MONSTER_NEXT, - - // Creeper - CREEPER_STATE = _MONSTER_NEXT, - CREEPER_POWERED, - CREEPER_IGNITED, - - // Guardian - GUARDIAN_STATUS = _MONSTER_NEXT, - GUARDIAN_TARGET, - - // Skeleton - SKELETON_TYPE = _MONSTER_NEXT, - SKELETON_ARMS_SWINGING, + // Shulker + SHULKER_FACING_DIRECTION = _GOLEM_NEXT, + SHULKER_ATTACHMENT_FALLING_BLOCK_POSITION, + SHULKER_SHIELD_HEIGHT, + + // Monster + _MONSTER_NEXT = _CREATURE_NEXT, + + // Blaze + BLAZE_ON_FIRE = _MONSTER_NEXT, + + // Creeper + CREEPER_STATE = _MONSTER_NEXT, + CREEPER_POWERED, + CREEPER_IGNITED, + + // Guardian + GUARDIAN_STATUS = _MONSTER_NEXT, + GUARDIAN_TARGET, + + // Skeleton + SKELETON_TYPE = _MONSTER_NEXT, + SKELETON_ARMS_SWINGING, - // Spider - SPIDER_CLIMBING = _MONSTER_NEXT, + // Spider + SPIDER_CLIMBING = _MONSTER_NEXT, - // Witch - WITCH_AGGRESIVE = _MONSTER_NEXT, + // Witch + WITCH_AGGRESIVE = _MONSTER_NEXT, - // Wither - WITHER_FIRST_HEAD_TARGET = _MONSTER_NEXT, - WITHER_SECOND_HEAD_TARGET, - WITHER_THIRD_HEAD_TARGET, - WITHER_INVULNERABLE_TIMER, + // Wither + WITHER_FIRST_HEAD_TARGET = _MONSTER_NEXT, + WITHER_SECOND_HEAD_TARGET, + WITHER_THIRD_HEAD_TARGET, + WITHER_INVULNERABLE_TIMER, - // Zombie - ZOMBIE_IS_BABY = _MONSTER_NEXT, - ZOMBIE_TYPE, - ZOMBIE_CONVERTING, - ZOMBIE_HANDS_RISED_UP, + // Zombie + ZOMBIE_IS_BABY = _MONSTER_NEXT, + ZOMBIE_TYPE, + ZOMBIE_CONVERTING, + ZOMBIE_HANDS_RISED_UP, - // Enderman - ENDERMAN_CARRIED_BLOCK = _MONSTER_NEXT, - ENDERMAN_SCREAMING, + // Enderman + ENDERMAN_CARRIED_BLOCK = _MONSTER_NEXT, + ENDERMAN_SCREAMING, - // EnderDragon - ENDER_DRAGON_DRAGON_PHASE = _INSENTIENT_NEXT, + // EnderDragon + ENDER_DRAGON_DRAGON_PHASE = _INSENTIENT_NEXT, - // Flying - _FLYING_NEXT = _INSENTIENT_NEXT, + // Flying + _FLYING_NEXT = _INSENTIENT_NEXT, - // Ghast - GHAST_ATTACKING = _FLYING_NEXT, + // Ghast + GHAST_ATTACKING = _FLYING_NEXT, - // Slime - SLIME_SIZE = _INSENTIENT_NEXT, + // Slime + SLIME_SIZE = _INSENTIENT_NEXT, - // Minecart - MINECART_SHAKING_POWER = _ENTITY_NEXT, - MINECART_SHAKING_DIRECTION, - MINECART_SHAKING_MULTIPLIER, - MINECART_BLOCK_ID_META, - MINECART_BLOCK_Y, - MINECART_SHOW_BLOCK, - _MINECART_NEXT, + // Minecart + MINECART_SHAKING_POWER = _ENTITY_NEXT, + MINECART_SHAKING_DIRECTION, + MINECART_SHAKING_MULTIPLIER, + MINECART_BLOCK_ID_META, + MINECART_BLOCK_Y, + MINECART_SHOW_BLOCK, + _MINECART_NEXT, - // MinecartCommandBlock - MINECART_COMMAND_BLOCK_COMMAND = _MINECART_NEXT, - MINECART_COMMAND_BLOCK_LAST_OUTPUT, + // MinecartCommandBlock + MINECART_COMMAND_BLOCK_COMMAND = _MINECART_NEXT, + MINECART_COMMAND_BLOCK_LAST_OUTPUT, - // MinecartFurnace - MINECART_FURNACE_POWERED = _MINECART_NEXT, + // MinecartFurnace + MINECART_FURNACE_POWERED = _MINECART_NEXT, - // TNTPrimed - TNT_PRIMED_FUSE_TIME = _ENTITY_NEXT, - }; + // TNTPrimed + TNT_PRIMED_FUSE_TIME = _ENTITY_NEXT, +}; } #ifdef __clang__ - #pragma clang diagnostic pop // Restore ignored clang errors +#pragma clang diagnostic pop // Restore ignored clang errors #endif diff --git a/src/Protocol/Protocol_1_10.h b/src/Protocol/Protocol_1_10.h index 48bc4d7f6..a99280952 100644 --- a/src/Protocol/Protocol_1_10.h +++ b/src/Protocol/Protocol_1_10.h @@ -19,18 +19,16 @@ Declares the 1.10 protocol classes: -class cProtocol_1_10_0: - public cProtocol_1_9_4 +class cProtocol_1_10_0 : public cProtocol_1_9_4 { using Super = cProtocol_1_9_4; -public: - + public: using Super::Super; -protected: - - virtual void SendSoundEffect(const AString & a_SoundName, Vector3d a_Origin, float a_Volume, float a_Pitch) override; + protected: + virtual void SendSoundEffect(const AString & a_SoundName, Vector3d a_Origin, float a_Volume, float a_Pitch) + override; virtual UInt32 GetProtocolMobType(eMonsterType a_MobType) const override; virtual Version GetProtocolVersion() const override; diff --git a/src/Protocol/Protocol_1_11.cpp b/src/Protocol/Protocol_1_11.cpp index dc7732282..427284524 100644 --- a/src/Protocol/Protocol_1_11.cpp +++ b/src/Protocol/Protocol_1_11.cpp @@ -51,265 +51,265 @@ Implements the 1.11 protocol classes: // Metadata indexes. Adding a new enum value causes the following values to // increase their index. Therefore the ordering of the enum values is VERY important! #ifdef __clang__ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wduplicate-enum" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wduplicate-enum" #endif namespace Metadata_1_11 { - enum MetadataIndex - { - // Entity - ENTITY_FLAGS, - ENTITY_AIR, - ENTITY_CUSTOM_NAME, - ENTITY_CUSTOM_NAME_VISIBLE, - ENTITY_SILENT, - ENTITY_NO_GRAVITY, - _ENTITY_NEXT, // Used by descendants - - // Potion - POTION_THROWN = _ENTITY_NEXT, - - // FallingBlock - FALLING_BLOCK_POSITION = _ENTITY_NEXT, - - // AreaEffectCloud - AREA_EFFECT_CLOUD_RADIUS = _ENTITY_NEXT, - AREA_EFFECT_CLOUD_COLOR, - AREA_EFFECT_CLOUD_SINGLE_POINT_EFFECT, - AREA_EFFECT_CLOUD_PARTICLE_ID, - AREA_EFFECT_CLOUD_PARTICLE_PARAMETER1, - AREA_EFFECT_CLOUD_PARTICLE_PARAMETER2, - - // Arrow - ARROW_CRITICAL = _ENTITY_NEXT, - _ARROW_NEXT, - - // TippedArrow - TIPPED_ARROW_COLOR = _ARROW_NEXT, - - // Boat - BOAT_LAST_HIT_TIME = _ENTITY_NEXT, - BOAT_FORWARD_DIRECTION, - BOAT_DAMAGE_TAKEN, - BOAT_TYPE, - BOAT_RIGHT_PADDLE_TURNING, - BOAT_LEFT_PADDLE_TURNING, - - // EnderCrystal - ENDER_CRYSTAL_BEAM_TARGET = _ENTITY_NEXT, - ENDER_CRYSTAL_SHOW_BOTTOM, - - // Fireball - _FIREBALL_NEXT = _ENTITY_NEXT, - - // WitherSkull - WITHER_SKULL_INVULNERABLE = _FIREBALL_NEXT, - - // Fireworks - FIREWORK_INFO = _ENTITY_NEXT, - FIREWORK_BOOSTED_ENTITY_ID, // 1.11.1 only - - // Hanging - _HANGING_NEXT = _ENTITY_NEXT, - - // ItemFrame - ITEM_FRAME_ITEM = _HANGING_NEXT, - ITEM_FRAME_ROTATION, - - // Item - ITEM_ITEM = _ENTITY_NEXT, - - // Living - LIVING_ACTIVE_HAND = _ENTITY_NEXT, - LIVING_HEALTH, - LIVING_POTION_EFFECT_COLOR, - LIVING_POTION_EFFECT_AMBIENT, - LIVING_NUMBER_OF_ARROWS, - _LIVING_NEXT, - - // Player - PLAYER_ADDITIONAL_HEARTHS = _LIVING_NEXT, - PLAYER_SCORE, - PLAYER_DISPLAYED_SKIN_PARTS, - PLAYER_MAIN_HAND, - - // ArmorStand - ARMOR_STAND_STATUS = _LIVING_NEXT, - ARMOR_STAND_HEAD_ROTATION, - ARMOR_STAND_BODY_ROTATION, - ARMOR_STAND_LEFT_ARM_ROTATION, - ARMOR_STAND_RIGHT_ARM_ROTATION, - ARMOR_STAND_LEFT_LEG_ROTATION, - ARMOR_STAND_RIGHT_LEG_ROTATION, - - // Insentient - INSENTIENT_STATUS = _LIVING_NEXT, - _INSENTIENT_NEXT, - - // Ambient - _AMBIENT_NEXT = _INSENTIENT_NEXT, - - // Bat - BAT_HANGING = _AMBIENT_NEXT, - - // Creature - _CREATURE_NEXT = _INSENTIENT_NEXT, - - // Ageable - AGEABLE_BABY = _CREATURE_NEXT, - _AGEABLE_NEXT, - - // PolarBear - POLAR_BEAR_STANDING = _AGEABLE_NEXT, - - // Animal - _ANIMAL_NEXT = _AGEABLE_NEXT, - - // Abstract horse - ABSTRACT_HORSE_STATUS = _ANIMAL_NEXT, - ABSTRACT_HORSE_OWNER, - _ABSTRACT_HORSE_NEXT, - - // Horse - HORSE_VARIANT = _ABSTRACT_HORSE_NEXT, - HORSE_ARMOR, - - // Chested horse - CHESTED_HORSE_CHESTED = _ABSTRACT_HORSE_NEXT, - _CHESTED_HORSE_NEXT, +enum MetadataIndex +{ + // Entity + ENTITY_FLAGS, + ENTITY_AIR, + ENTITY_CUSTOM_NAME, + ENTITY_CUSTOM_NAME_VISIBLE, + ENTITY_SILENT, + ENTITY_NO_GRAVITY, + _ENTITY_NEXT, // Used by descendants + + // Potion + POTION_THROWN = _ENTITY_NEXT, + + // FallingBlock + FALLING_BLOCK_POSITION = _ENTITY_NEXT, + + // AreaEffectCloud + AREA_EFFECT_CLOUD_RADIUS = _ENTITY_NEXT, + AREA_EFFECT_CLOUD_COLOR, + AREA_EFFECT_CLOUD_SINGLE_POINT_EFFECT, + AREA_EFFECT_CLOUD_PARTICLE_ID, + AREA_EFFECT_CLOUD_PARTICLE_PARAMETER1, + AREA_EFFECT_CLOUD_PARTICLE_PARAMETER2, + + // Arrow + ARROW_CRITICAL = _ENTITY_NEXT, + _ARROW_NEXT, + + // TippedArrow + TIPPED_ARROW_COLOR = _ARROW_NEXT, + + // Boat + BOAT_LAST_HIT_TIME = _ENTITY_NEXT, + BOAT_FORWARD_DIRECTION, + BOAT_DAMAGE_TAKEN, + BOAT_TYPE, + BOAT_RIGHT_PADDLE_TURNING, + BOAT_LEFT_PADDLE_TURNING, + + // EnderCrystal + ENDER_CRYSTAL_BEAM_TARGET = _ENTITY_NEXT, + ENDER_CRYSTAL_SHOW_BOTTOM, + + // Fireball + _FIREBALL_NEXT = _ENTITY_NEXT, + + // WitherSkull + WITHER_SKULL_INVULNERABLE = _FIREBALL_NEXT, + + // Fireworks + FIREWORK_INFO = _ENTITY_NEXT, + FIREWORK_BOOSTED_ENTITY_ID, // 1.11.1 only + + // Hanging + _HANGING_NEXT = _ENTITY_NEXT, + + // ItemFrame + ITEM_FRAME_ITEM = _HANGING_NEXT, + ITEM_FRAME_ROTATION, + + // Item + ITEM_ITEM = _ENTITY_NEXT, + + // Living + LIVING_ACTIVE_HAND = _ENTITY_NEXT, + LIVING_HEALTH, + LIVING_POTION_EFFECT_COLOR, + LIVING_POTION_EFFECT_AMBIENT, + LIVING_NUMBER_OF_ARROWS, + _LIVING_NEXT, + + // Player + PLAYER_ADDITIONAL_HEARTHS = _LIVING_NEXT, + PLAYER_SCORE, + PLAYER_DISPLAYED_SKIN_PARTS, + PLAYER_MAIN_HAND, + + // ArmorStand + ARMOR_STAND_STATUS = _LIVING_NEXT, + ARMOR_STAND_HEAD_ROTATION, + ARMOR_STAND_BODY_ROTATION, + ARMOR_STAND_LEFT_ARM_ROTATION, + ARMOR_STAND_RIGHT_ARM_ROTATION, + ARMOR_STAND_LEFT_LEG_ROTATION, + ARMOR_STAND_RIGHT_LEG_ROTATION, + + // Insentient + INSENTIENT_STATUS = _LIVING_NEXT, + _INSENTIENT_NEXT, + + // Ambient + _AMBIENT_NEXT = _INSENTIENT_NEXT, + + // Bat + BAT_HANGING = _AMBIENT_NEXT, + + // Creature + _CREATURE_NEXT = _INSENTIENT_NEXT, + + // Ageable + AGEABLE_BABY = _CREATURE_NEXT, + _AGEABLE_NEXT, + + // PolarBear + POLAR_BEAR_STANDING = _AGEABLE_NEXT, + + // Animal + _ANIMAL_NEXT = _AGEABLE_NEXT, + + // Abstract horse + ABSTRACT_HORSE_STATUS = _ANIMAL_NEXT, + ABSTRACT_HORSE_OWNER, + _ABSTRACT_HORSE_NEXT, + + // Horse + HORSE_VARIANT = _ABSTRACT_HORSE_NEXT, + HORSE_ARMOR, + + // Chested horse + CHESTED_HORSE_CHESTED = _ABSTRACT_HORSE_NEXT, + _CHESTED_HORSE_NEXT, - // Llama - LLAMA_STRENGTH = _CHESTED_HORSE_NEXT, - LLAMA_CARPET_COLOR, - LLAMA_VARIANT, + // Llama + LLAMA_STRENGTH = _CHESTED_HORSE_NEXT, + LLAMA_CARPET_COLOR, + LLAMA_VARIANT, - // Pig - PIG_HAS_SADDLE = _ANIMAL_NEXT, - PIG_TOTAL_CARROT_ON_A_STICK_BOOST, // 1.11.1 only + // Pig + PIG_HAS_SADDLE = _ANIMAL_NEXT, + PIG_TOTAL_CARROT_ON_A_STICK_BOOST, // 1.11.1 only - // Rabbit - RABBIT_TYPE = _ANIMAL_NEXT, + // Rabbit + RABBIT_TYPE = _ANIMAL_NEXT, - // Sheep - SHEEP_STATUS = _ANIMAL_NEXT, + // Sheep + SHEEP_STATUS = _ANIMAL_NEXT, - // TameableAnimal - TAMEABLE_ANIMAL_STATUS = _ANIMAL_NEXT, - TAMEABLE_ANIMAL_OWNER, - _TAMEABLE_NEXT, + // TameableAnimal + TAMEABLE_ANIMAL_STATUS = _ANIMAL_NEXT, + TAMEABLE_ANIMAL_OWNER, + _TAMEABLE_NEXT, - // Ocelot - OCELOT_TYPE = _TAMEABLE_NEXT, + // Ocelot + OCELOT_TYPE = _TAMEABLE_NEXT, - // Wolf - WOLF_DAMAGE_TAKEN = _TAMEABLE_NEXT, - WOLF_BEGGING, - WOLF_COLLAR_COLOR, + // Wolf + WOLF_DAMAGE_TAKEN = _TAMEABLE_NEXT, + WOLF_BEGGING, + WOLF_COLLAR_COLOR, - // Villager - VILLAGER_PROFESSION = _AGEABLE_NEXT, + // Villager + VILLAGER_PROFESSION = _AGEABLE_NEXT, - // Golem - _GOLEM_NEXT = _CREATURE_NEXT, + // Golem + _GOLEM_NEXT = _CREATURE_NEXT, - // IronGolem - IRON_GOLEM_PLAYER_CREATED = _GOLEM_NEXT, + // IronGolem + IRON_GOLEM_PLAYER_CREATED = _GOLEM_NEXT, - // Shulker - SHULKER_FACING_DIRECTION = _GOLEM_NEXT, - SHULKER_ATTACHMENT_FALLING_BLOCK_POSITION, - SHULKER_SHIELD_HEIGHT, - - // Monster - _MONSTER_NEXT = _CREATURE_NEXT, + // Shulker + SHULKER_FACING_DIRECTION = _GOLEM_NEXT, + SHULKER_ATTACHMENT_FALLING_BLOCK_POSITION, + SHULKER_SHIELD_HEIGHT, + + // Monster + _MONSTER_NEXT = _CREATURE_NEXT, - // Blaze - BLAZE_ON_FIRE = _MONSTER_NEXT, + // Blaze + BLAZE_ON_FIRE = _MONSTER_NEXT, - // Creeper - CREEPER_STATE = _MONSTER_NEXT, - CREEPER_POWERED, - CREEPER_IGNITED, + // Creeper + CREEPER_STATE = _MONSTER_NEXT, + CREEPER_POWERED, + CREEPER_IGNITED, - // Guardian - GUARDIAN_STATUS = _MONSTER_NEXT, - GUARDIAN_TARGET, + // Guardian + GUARDIAN_STATUS = _MONSTER_NEXT, + GUARDIAN_TARGET, - // Abstract Skeleton - ABSTRACT_SKELETON_ARMS_SWINGING = _MONSTER_NEXT, + // Abstract Skeleton + ABSTRACT_SKELETON_ARMS_SWINGING = _MONSTER_NEXT, - // Spider - SPIDER_CLIMBING = _MONSTER_NEXT, + // Spider + SPIDER_CLIMBING = _MONSTER_NEXT, - // Witch - WITCH_AGGRESIVE = _MONSTER_NEXT, + // Witch + WITCH_AGGRESIVE = _MONSTER_NEXT, - // Wither - WITHER_FIRST_HEAD_TARGET = _MONSTER_NEXT, - WITHER_SECOND_HEAD_TARGET, - WITHER_THIRD_HEAD_TARGET, - WITHER_INVULNERABLE_TIMER, + // Wither + WITHER_FIRST_HEAD_TARGET = _MONSTER_NEXT, + WITHER_SECOND_HEAD_TARGET, + WITHER_THIRD_HEAD_TARGET, + WITHER_INVULNERABLE_TIMER, - // Zombie - ZOMBIE_IS_BABY = _MONSTER_NEXT, - ZOMBIE_UNUSED, // Was type - ZOMBIE_HANDS_RISED_UP, - _ZOMBIE_NEXT, + // Zombie + ZOMBIE_IS_BABY = _MONSTER_NEXT, + ZOMBIE_UNUSED, // Was type + ZOMBIE_HANDS_RISED_UP, + _ZOMBIE_NEXT, - // Zombie villager - ZOMBIE_VILLAGER_CONVERTING = _ZOMBIE_NEXT, - ZOMBIE_VILLAGER_PROFESSION, + // Zombie villager + ZOMBIE_VILLAGER_CONVERTING = _ZOMBIE_NEXT, + ZOMBIE_VILLAGER_PROFESSION, - // Enderman - ENDERMAN_CARRIED_BLOCK = _MONSTER_NEXT, - ENDERMAN_SCREAMING, + // Enderman + ENDERMAN_CARRIED_BLOCK = _MONSTER_NEXT, + ENDERMAN_SCREAMING, - // Evocation illager - EVOKER_SPELL = _MONSTER_NEXT, + // Evocation illager + EVOKER_SPELL = _MONSTER_NEXT, - // Vex - VEX_FLAGS = _MONSTER_NEXT, + // Vex + VEX_FLAGS = _MONSTER_NEXT, - // Vindication illager - VINDICATOR_FLAGS = _MONSTER_NEXT, + // Vindication illager + VINDICATOR_FLAGS = _MONSTER_NEXT, - // EnderDragon - ENDER_DRAGON_DRAGON_PHASE = _INSENTIENT_NEXT, + // EnderDragon + ENDER_DRAGON_DRAGON_PHASE = _INSENTIENT_NEXT, - // Flying - _FLYING_NEXT = _INSENTIENT_NEXT, + // Flying + _FLYING_NEXT = _INSENTIENT_NEXT, - // Ghast - GHAST_ATTACKING = _FLYING_NEXT, + // Ghast + GHAST_ATTACKING = _FLYING_NEXT, - // Slime - SLIME_SIZE = _INSENTIENT_NEXT, + // Slime + SLIME_SIZE = _INSENTIENT_NEXT, - // Minecart - MINECART_SHAKING_POWER = _ENTITY_NEXT, - MINECART_SHAKING_DIRECTION, - MINECART_SHAKING_MULTIPLIER, - MINECART_BLOCK_ID_META, - MINECART_BLOCK_Y, - MINECART_SHOW_BLOCK, - _MINECART_NEXT, + // Minecart + MINECART_SHAKING_POWER = _ENTITY_NEXT, + MINECART_SHAKING_DIRECTION, + MINECART_SHAKING_MULTIPLIER, + MINECART_BLOCK_ID_META, + MINECART_BLOCK_Y, + MINECART_SHOW_BLOCK, + _MINECART_NEXT, - // MinecartCommandBlock - MINECART_COMMAND_BLOCK_COMMAND = _MINECART_NEXT, - MINECART_COMMAND_BLOCK_LAST_OUTPUT, + // MinecartCommandBlock + MINECART_COMMAND_BLOCK_COMMAND = _MINECART_NEXT, + MINECART_COMMAND_BLOCK_LAST_OUTPUT, - // MinecartFurnace - MINECART_FURNACE_POWERED = _MINECART_NEXT, + // MinecartFurnace + MINECART_FURNACE_POWERED = _MINECART_NEXT, - // TNTPrimed - TNT_PRIMED_FUSE_TIME = _ENTITY_NEXT, - }; + // TNTPrimed + TNT_PRIMED_FUSE_TIME = _ENTITY_NEXT, +}; } #ifdef __clang__ - #pragma clang diagnostic pop // Restore ignored clang errors +#pragma clang diagnostic pop // Restore ignored clang errors #endif @@ -341,7 +341,8 @@ void cProtocol_1_11_0::SendEntityAnimation(const cEntity & a_Entity, const Entit case EntityAnimation::SnowballPoofs: { // Vanilla stopped doing clientside prediction for thrown projectile particle effects (for some reason). - // But they're still doing motion prediction, and latency exists, hence re-send the server position to avoid particle effects happening inside a block: + // But they're still doing motion prediction, and latency exists, hence re-send the server position to avoid + // particle effects happening inside a block: SendEntityPosition(a_Entity); break; } @@ -461,16 +462,16 @@ void cProtocol_1_11_0::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) break; } - case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing - case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text - case E_BLOCK_BEACON: Action = 3; break; // Update beacon entity - case E_BLOCK_HEAD: Action = 4; break; // Update mobhead entity - case E_BLOCK_FLOWER_POT: Action = 5; break; // Update flower pot + case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing + case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text + case E_BLOCK_BEACON: Action = 3; break; // Update beacon entity + case E_BLOCK_HEAD: Action = 4; break; // Update mobhead entity + case E_BLOCK_FLOWER_POT: Action = 5; break; // Update flower pot case E_BLOCK_WALL_BANNER: - case E_BLOCK_STANDING_BANNER: Action = 6; break; // Update banner - case E_BLOCK_BED: Action = 11; break; // Update bed color (new!) + case E_BLOCK_STANDING_BANNER: Action = 6; break; // Update banner + case E_BLOCK_BED: Action = 11; break; // Update bed color (new!) - default: return; // Block entities change between versions + default: return; // Block entities change between versions } cPacketizer Pkt(*this, pktUpdateBlockEntity); @@ -491,12 +492,12 @@ signed char cProtocol_1_11_0::GetProtocolEntityStatus(const EntityAnimation a_An { switch (a_Animation) { - case EntityAnimation::EggCracks: return 3; - case EntityAnimation::EvokerFangsAttacks: return 4; + case EntityAnimation::EggCracks: return 3; + case EntityAnimation::EvokerFangsAttacks: return 4; case EntityAnimation::IronGolemStashesGift: return 34; - case EntityAnimation::PawnTotemActivates: return 35; - case EntityAnimation::SnowballPoofs: return 3; - default: return Super::GetProtocolEntityStatus(a_Animation); + case EntityAnimation::PawnTotemActivates: return 35; + case EntityAnimation::SnowballPoofs: return 3; + default: return Super::GetProtocolEntityStatus(a_Animation); } } @@ -509,54 +510,54 @@ UInt32 cProtocol_1_11_0::GetProtocolMobType(const eMonsterType a_MobType) const switch (a_MobType) { // Map invalid type to Giant for easy debugging (if this ever spawns, something has gone very wrong) - case mtInvalidType: return 53; - case mtBat: return 65; - case mtBlaze: return 61; - case mtCaveSpider: return 59; - case mtChicken: return 93; - case mtCow: return 92; - case mtCreeper: return 50; - case mtDonkey: return 31; - case mtEnderDragon: return 63; - case mtEnderman: return 58; - case mtEndermite: return 67; - case mtEvoker: return 34; - case mtGhast: return 56; - case mtGiant: return 53; - case mtGuardian: return 68; - case mtHorse: return 100; - case mtHusk: return 23; - case mtIronGolem: return 99; - case mtLlama: return 103; - case mtMagmaCube: return 62; - case mtMooshroom: return 96; - case mtMule: return 32; - case mtOcelot: return 98; - case mtPig: return 90; - case mtPolarBear: return 102; - case mtRabbit: return 101; - case mtSheep: return 91; - case mtShulker: return 69; - case mtSilverfish: return 60; - case mtSkeleton: return 51; - case mtSlime: return 55; - case mtSnowGolem: return 97; - case mtSpider: return 52; - case mtStray: return 6; - case mtTraderLlama: return 103; - case mtSquid: return 94; - case mtVex: return 35; - case mtVillager: return 120; - case mtVindicator: return 36; - case mtWitch: return 66; - case mtWither: return 64; - case mtWitherSkeleton: return 5; - case mtWolf: return 95; - case mtZombie: return 54; - case mtZombiePigman: return 57; - case mtZombieVillager: return 27; - - default: return 0; + case mtInvalidType: return 53; + case mtBat: return 65; + case mtBlaze: return 61; + case mtCaveSpider: return 59; + case mtChicken: return 93; + case mtCow: return 92; + case mtCreeper: return 50; + case mtDonkey: return 31; + case mtEnderDragon: return 63; + case mtEnderman: return 58; + case mtEndermite: return 67; + case mtEvoker: return 34; + case mtGhast: return 56; + case mtGiant: return 53; + case mtGuardian: return 68; + case mtHorse: return 100; + case mtHusk: return 23; + case mtIronGolem: return 99; + case mtLlama: return 103; + case mtMagmaCube: return 62; + case mtMooshroom: return 96; + case mtMule: return 32; + case mtOcelot: return 98; + case mtPig: return 90; + case mtPolarBear: return 102; + case mtRabbit: return 101; + case mtSheep: return 91; + case mtShulker: return 69; + case mtSilverfish: return 60; + case mtSkeleton: return 51; + case mtSlime: return 55; + case mtSnowGolem: return 97; + case mtSpider: return 52; + case mtStray: return 6; + case mtTraderLlama: return 103; + case mtSquid: return 94; + case mtVex: return 35; + case mtVillager: return 120; + case mtVindicator: return 36; + case mtWitch: return 66; + case mtWither: return 64; + case mtWitherSkeleton: return 5; + case mtWolf: return 95; + case mtZombie: return 54; + case mtZombiePigman: return 57; + case mtZombieVillager: return 27; + + default: return 0; } } @@ -587,7 +588,12 @@ void cProtocol_1_11_0::HandlePacketBlockPlace(cByteBuffer & a_ByteBuffer) HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, CursorY); HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, CursorZ); - m_Client->HandleRightClick(Position, FaceIntToBlockFace(Face), {FloorC(CursorX * 16), FloorC(CursorY * 16), FloorC(CursorZ * 16)}, Hand == 0); + m_Client->HandleRightClick( + Position, + FaceIntToBlockFace(Face), + {FloorC(CursorX * 16), FloorC(CursorY * 16), FloorC(CursorZ * 16)}, + Hand == 0 + ); } @@ -608,7 +614,10 @@ void cProtocol_1_11_0::WriteBlockEntity(cFastNBTWriter & a_Writer, const cBlockE { auto & MobSpawnerEntity = static_cast(a_BlockEntity); a_Writer.BeginCompound("SpawnData"); - a_Writer.AddString("id", cMonster::MobTypeToVanillaNBT(MobSpawnerEntity.GetEntity())); // New: uses namespaced ID + a_Writer.AddString( + "id", + cMonster::MobTypeToVanillaNBT(MobSpawnerEntity.GetEntity()) + ); // New: uses namespaced ID a_Writer.EndCompound(); a_Writer.AddShort("Delay", MobSpawnerEntity.GetSpawnDelay()); break; diff --git a/src/Protocol/Protocol_1_11.h b/src/Protocol/Protocol_1_11.h index 5bf03a9dd..9d71ea31d 100644 --- a/src/Protocol/Protocol_1_11.h +++ b/src/Protocol/Protocol_1_11.h @@ -21,23 +21,20 @@ Declares the 1.11 protocol classes: -class cProtocol_1_11_0: - public cProtocol_1_10_0 +class cProtocol_1_11_0 : public cProtocol_1_10_0 { using Super = cProtocol_1_10_0; -public: - + public: using Super::Super; -protected: - - virtual void SendCollectEntity (const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count) override; - virtual void SendEntityAnimation (const cEntity & a_Entity, EntityAnimation a_Animation) override; - virtual void SendHideTitle (void) override; - virtual void SendResetTitle (void) override; - virtual void SendSpawnMob (const cMonster & a_Mob) override; - virtual void SendTitleTimes (int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override; + protected: + virtual void SendCollectEntity(const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count) override; + virtual void SendEntityAnimation(const cEntity & a_Entity, EntityAnimation a_Animation) override; + virtual void SendHideTitle(void) override; + virtual void SendResetTitle(void) override; + virtual void SendSpawnMob(const cMonster & a_Mob) override; + virtual void SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override; virtual void SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) override; virtual signed char GetProtocolEntityStatus(EntityAnimation a_Animation) const override; @@ -55,16 +52,13 @@ protected: -class cProtocol_1_11_1: - public cProtocol_1_11_0 +class cProtocol_1_11_1 : public cProtocol_1_11_0 { using Super = cProtocol_1_11_0; -public: - + public: using Super::Super; -protected: - + protected: virtual Version GetProtocolVersion() const override; }; diff --git a/src/Protocol/Protocol_1_12.cpp b/src/Protocol/Protocol_1_12.cpp index 8517f59de..51855a72f 100644 --- a/src/Protocol/Protocol_1_12.cpp +++ b/src/Protocol/Protocol_1_12.cpp @@ -48,255 +48,255 @@ Implements the 1.12 protocol classes: namespace Metadata_1_12 { - enum MetadataIndex - { - // Entity - ENTITY_FLAGS, - ENTITY_AIR, - ENTITY_CUSTOM_NAME, - ENTITY_CUSTOM_NAME_VISIBLE, - ENTITY_SILENT, - ENTITY_NO_GRAVITY, - _ENTITY_NEXT, // Used by descendants - - // Potion - POTION_THROWN = _ENTITY_NEXT, - - // FallingBlock - FALLING_BLOCK_POSITION = _ENTITY_NEXT, - - // AreaEffectCloud - AREA_EFFECT_CLOUD_RADIUS = _ENTITY_NEXT, - AREA_EFFECT_CLOUD_COLOR, - AREA_EFFECT_CLOUD_SINGLE_POINT_EFFECT, - AREA_EFFECT_CLOUD_PARTICLE_ID, - AREA_EFFECT_CLOUD_PARTICLE_PARAMETER1, - AREA_EFFECT_CLOUD_PARTICLE_PARAMETER2, - - // Arrow - ARROW_CRITICAL = _ENTITY_NEXT, - _ARROW_NEXT, - - // TippedArrow - TIPPED_ARROW_COLOR = _ARROW_NEXT, - - // Boat - BOAT_LAST_HIT_TIME = _ENTITY_NEXT, - BOAT_FORWARD_DIRECTION, - BOAT_DAMAGE_TAKEN, - BOAT_TYPE, - BOAT_RIGHT_PADDLE_TURNING, - BOAT_LEFT_PADDLE_TURNING, - - // EnderCrystal - ENDER_CRYSTAL_BEAM_TARGET = _ENTITY_NEXT, - ENDER_CRYSTAL_SHOW_BOTTOM, - - // Fireball - _FIREBALL_NEXT = _ENTITY_NEXT, - - // WitherSkull - WITHER_SKULL_INVULNERABLE = _FIREBALL_NEXT, - - // Fireworks - FIREWORK_INFO = _ENTITY_NEXT, - FIREWORK_BOOSTED_ENTITY_ID, // 1.11.1 only - - // Hanging - _HANGING_NEXT = _ENTITY_NEXT, - - // ItemFrame - ITEM_FRAME_ITEM = _HANGING_NEXT, - ITEM_FRAME_ROTATION, - - // Item - ITEM_ITEM = _ENTITY_NEXT, - - // Living - LIVING_ACTIVE_HAND = _ENTITY_NEXT, - LIVING_HEALTH, - LIVING_POTION_EFFECT_COLOR, - LIVING_POTION_EFFECT_AMBIENT, - LIVING_NUMBER_OF_ARROWS, - _LIVING_NEXT, - - // Player - PLAYER_ADDITIONAL_HEARTHS = _LIVING_NEXT, - PLAYER_SCORE, - PLAYER_DISPLAYED_SKIN_PARTS, - PLAYER_MAIN_HAND, - - // ArmorStand - ARMOR_STAND_STATUS = _LIVING_NEXT, - ARMOR_STAND_HEAD_ROTATION, - ARMOR_STAND_BODY_ROTATION, - ARMOR_STAND_LEFT_ARM_ROTATION, - ARMOR_STAND_RIGHT_ARM_ROTATION, - ARMOR_STAND_LEFT_LEG_ROTATION, - ARMOR_STAND_RIGHT_LEG_ROTATION, - - // Insentient - INSENTIENT_STATUS = _LIVING_NEXT, - _INSENTIENT_NEXT, - - // Ambient - _AMBIENT_NEXT = _INSENTIENT_NEXT, - - // Bat - BAT_HANGING = _AMBIENT_NEXT, - - // Creature - _CREATURE_NEXT = _INSENTIENT_NEXT, - - // Ageable - AGEABLE_BABY = _CREATURE_NEXT, - _AGEABLE_NEXT, - - // PolarBear - POLAR_BEAR_STANDING = _AGEABLE_NEXT, - - // Animal - _ANIMAL_NEXT = _AGEABLE_NEXT, - - // Abstract horse - ABSTRACT_HORSE_STATUS = _ANIMAL_NEXT, - ABSTRACT_HORSE_OWNER, - _ABSTRACT_HORSE_NEXT, - - // Horse - HORSE_VARIANT = _ABSTRACT_HORSE_NEXT, - HORSE_ARMOR, - - // Chested horse - CHESTED_HORSE_CHESTED = _ABSTRACT_HORSE_NEXT, - _CHESTED_HORSE_NEXT, +enum MetadataIndex +{ + // Entity + ENTITY_FLAGS, + ENTITY_AIR, + ENTITY_CUSTOM_NAME, + ENTITY_CUSTOM_NAME_VISIBLE, + ENTITY_SILENT, + ENTITY_NO_GRAVITY, + _ENTITY_NEXT, // Used by descendants + + // Potion + POTION_THROWN = _ENTITY_NEXT, + + // FallingBlock + FALLING_BLOCK_POSITION = _ENTITY_NEXT, + + // AreaEffectCloud + AREA_EFFECT_CLOUD_RADIUS = _ENTITY_NEXT, + AREA_EFFECT_CLOUD_COLOR, + AREA_EFFECT_CLOUD_SINGLE_POINT_EFFECT, + AREA_EFFECT_CLOUD_PARTICLE_ID, + AREA_EFFECT_CLOUD_PARTICLE_PARAMETER1, + AREA_EFFECT_CLOUD_PARTICLE_PARAMETER2, + + // Arrow + ARROW_CRITICAL = _ENTITY_NEXT, + _ARROW_NEXT, + + // TippedArrow + TIPPED_ARROW_COLOR = _ARROW_NEXT, + + // Boat + BOAT_LAST_HIT_TIME = _ENTITY_NEXT, + BOAT_FORWARD_DIRECTION, + BOAT_DAMAGE_TAKEN, + BOAT_TYPE, + BOAT_RIGHT_PADDLE_TURNING, + BOAT_LEFT_PADDLE_TURNING, + + // EnderCrystal + ENDER_CRYSTAL_BEAM_TARGET = _ENTITY_NEXT, + ENDER_CRYSTAL_SHOW_BOTTOM, + + // Fireball + _FIREBALL_NEXT = _ENTITY_NEXT, + + // WitherSkull + WITHER_SKULL_INVULNERABLE = _FIREBALL_NEXT, + + // Fireworks + FIREWORK_INFO = _ENTITY_NEXT, + FIREWORK_BOOSTED_ENTITY_ID, // 1.11.1 only + + // Hanging + _HANGING_NEXT = _ENTITY_NEXT, + + // ItemFrame + ITEM_FRAME_ITEM = _HANGING_NEXT, + ITEM_FRAME_ROTATION, + + // Item + ITEM_ITEM = _ENTITY_NEXT, + + // Living + LIVING_ACTIVE_HAND = _ENTITY_NEXT, + LIVING_HEALTH, + LIVING_POTION_EFFECT_COLOR, + LIVING_POTION_EFFECT_AMBIENT, + LIVING_NUMBER_OF_ARROWS, + _LIVING_NEXT, + + // Player + PLAYER_ADDITIONAL_HEARTHS = _LIVING_NEXT, + PLAYER_SCORE, + PLAYER_DISPLAYED_SKIN_PARTS, + PLAYER_MAIN_HAND, + + // ArmorStand + ARMOR_STAND_STATUS = _LIVING_NEXT, + ARMOR_STAND_HEAD_ROTATION, + ARMOR_STAND_BODY_ROTATION, + ARMOR_STAND_LEFT_ARM_ROTATION, + ARMOR_STAND_RIGHT_ARM_ROTATION, + ARMOR_STAND_LEFT_LEG_ROTATION, + ARMOR_STAND_RIGHT_LEG_ROTATION, + + // Insentient + INSENTIENT_STATUS = _LIVING_NEXT, + _INSENTIENT_NEXT, + + // Ambient + _AMBIENT_NEXT = _INSENTIENT_NEXT, + + // Bat + BAT_HANGING = _AMBIENT_NEXT, + + // Creature + _CREATURE_NEXT = _INSENTIENT_NEXT, + + // Ageable + AGEABLE_BABY = _CREATURE_NEXT, + _AGEABLE_NEXT, + + // PolarBear + POLAR_BEAR_STANDING = _AGEABLE_NEXT, + + // Animal + _ANIMAL_NEXT = _AGEABLE_NEXT, + + // Abstract horse + ABSTRACT_HORSE_STATUS = _ANIMAL_NEXT, + ABSTRACT_HORSE_OWNER, + _ABSTRACT_HORSE_NEXT, + + // Horse + HORSE_VARIANT = _ABSTRACT_HORSE_NEXT, + HORSE_ARMOR, + + // Chested horse + CHESTED_HORSE_CHESTED = _ABSTRACT_HORSE_NEXT, + _CHESTED_HORSE_NEXT, - // Llama - LLAMA_STRENGTH = _CHESTED_HORSE_NEXT, - LLAMA_CARPET_COLOR, - LLAMA_VARIANT, + // Llama + LLAMA_STRENGTH = _CHESTED_HORSE_NEXT, + LLAMA_CARPET_COLOR, + LLAMA_VARIANT, - // Pig - PIG_HAS_SADDLE = _ANIMAL_NEXT, - PIG_TOTAL_CARROT_ON_A_STICK_BOOST, // 1.11.1 only + // Pig + PIG_HAS_SADDLE = _ANIMAL_NEXT, + PIG_TOTAL_CARROT_ON_A_STICK_BOOST, // 1.11.1 only - // Rabbit - RABBIT_TYPE = _ANIMAL_NEXT, + // Rabbit + RABBIT_TYPE = _ANIMAL_NEXT, - // Sheep - SHEEP_STATUS = _ANIMAL_NEXT, + // Sheep + SHEEP_STATUS = _ANIMAL_NEXT, - // TameableAnimal - TAMEABLE_ANIMAL_STATUS = _ANIMAL_NEXT, - TAMEABLE_ANIMAL_OWNER, - _TAMEABLE_NEXT, + // TameableAnimal + TAMEABLE_ANIMAL_STATUS = _ANIMAL_NEXT, + TAMEABLE_ANIMAL_OWNER, + _TAMEABLE_NEXT, - // Ocelot - OCELOT_TYPE = _TAMEABLE_NEXT, + // Ocelot + OCELOT_TYPE = _TAMEABLE_NEXT, - // Wolf - WOLF_DAMAGE_TAKEN = _TAMEABLE_NEXT, - WOLF_BEGGING, - WOLF_COLLAR_COLOR, + // Wolf + WOLF_DAMAGE_TAKEN = _TAMEABLE_NEXT, + WOLF_BEGGING, + WOLF_COLLAR_COLOR, - // Villager - VILLAGER_PROFESSION = _AGEABLE_NEXT, + // Villager + VILLAGER_PROFESSION = _AGEABLE_NEXT, - // Golem - _GOLEM_NEXT = _CREATURE_NEXT, + // Golem + _GOLEM_NEXT = _CREATURE_NEXT, - // IronGolem - IRON_GOLEM_PLAYER_CREATED = _GOLEM_NEXT, + // IronGolem + IRON_GOLEM_PLAYER_CREATED = _GOLEM_NEXT, - // Shulker - SHULKER_FACING_DIRECTION = _GOLEM_NEXT, - SHULKER_ATTACHMENT_FALLING_BLOCK_POSITION, - SHULKER_SHIELD_HEIGHT, - - // Monster - _MONSTER_NEXT = _CREATURE_NEXT, + // Shulker + SHULKER_FACING_DIRECTION = _GOLEM_NEXT, + SHULKER_ATTACHMENT_FALLING_BLOCK_POSITION, + SHULKER_SHIELD_HEIGHT, + + // Monster + _MONSTER_NEXT = _CREATURE_NEXT, - // Blaze - BLAZE_ON_FIRE = _MONSTER_NEXT, + // Blaze + BLAZE_ON_FIRE = _MONSTER_NEXT, - // Creeper - CREEPER_STATE = _MONSTER_NEXT, - CREEPER_POWERED, - CREEPER_IGNITED, + // Creeper + CREEPER_STATE = _MONSTER_NEXT, + CREEPER_POWERED, + CREEPER_IGNITED, - // Guardian - GUARDIAN_STATUS = _MONSTER_NEXT, - GUARDIAN_TARGET, + // Guardian + GUARDIAN_STATUS = _MONSTER_NEXT, + GUARDIAN_TARGET, - // Abstract Skeleton - ABSTRACT_SKELETON_ARMS_SWINGING = _MONSTER_NEXT, + // Abstract Skeleton + ABSTRACT_SKELETON_ARMS_SWINGING = _MONSTER_NEXT, - // Spider - SPIDER_CLIMBING = _MONSTER_NEXT, + // Spider + SPIDER_CLIMBING = _MONSTER_NEXT, - // Witch - WITCH_AGGRESIVE = _MONSTER_NEXT, + // Witch + WITCH_AGGRESIVE = _MONSTER_NEXT, - // Wither - WITHER_FIRST_HEAD_TARGET = _MONSTER_NEXT, - WITHER_SECOND_HEAD_TARGET, - WITHER_THIRD_HEAD_TARGET, - WITHER_INVULNERABLE_TIMER, + // Wither + WITHER_FIRST_HEAD_TARGET = _MONSTER_NEXT, + WITHER_SECOND_HEAD_TARGET, + WITHER_THIRD_HEAD_TARGET, + WITHER_INVULNERABLE_TIMER, - // Zombie - ZOMBIE_IS_BABY = _MONSTER_NEXT, - ZOMBIE_UNUSED, // Was type - ZOMBIE_HANDS_RISED_UP, - _ZOMBIE_NEXT, + // Zombie + ZOMBIE_IS_BABY = _MONSTER_NEXT, + ZOMBIE_UNUSED, // Was type + ZOMBIE_HANDS_RISED_UP, + _ZOMBIE_NEXT, - // Zombie villager - ZOMBIE_VILLAGER_CONVERTING = _ZOMBIE_NEXT, - ZOMBIE_VILLAGER_PROFESSION, + // Zombie villager + ZOMBIE_VILLAGER_CONVERTING = _ZOMBIE_NEXT, + ZOMBIE_VILLAGER_PROFESSION, - // Enderman - ENDERMAN_CARRIED_BLOCK = _MONSTER_NEXT, - ENDERMAN_SCREAMING, + // Enderman + ENDERMAN_CARRIED_BLOCK = _MONSTER_NEXT, + ENDERMAN_SCREAMING, - // Evocation illager - EVOKER_SPELL = _MONSTER_NEXT, + // Evocation illager + EVOKER_SPELL = _MONSTER_NEXT, - // Vex - VEX_FLAGS = _MONSTER_NEXT, + // Vex + VEX_FLAGS = _MONSTER_NEXT, - // Vindication illager - VINDICATOR_FLAGS = _MONSTER_NEXT, + // Vindication illager + VINDICATOR_FLAGS = _MONSTER_NEXT, - // EnderDragon - ENDER_DRAGON_DRAGON_PHASE = _INSENTIENT_NEXT, + // EnderDragon + ENDER_DRAGON_DRAGON_PHASE = _INSENTIENT_NEXT, - // Flying - _FLYING_NEXT = _INSENTIENT_NEXT, + // Flying + _FLYING_NEXT = _INSENTIENT_NEXT, - // Ghast - GHAST_ATTACKING = _FLYING_NEXT, + // Ghast + GHAST_ATTACKING = _FLYING_NEXT, - // Slime - SLIME_SIZE = _INSENTIENT_NEXT, + // Slime + SLIME_SIZE = _INSENTIENT_NEXT, - // Minecart - MINECART_SHAKING_POWER = _ENTITY_NEXT, - MINECART_SHAKING_DIRECTION, - MINECART_SHAKING_MULTIPLIER, - MINECART_BLOCK_ID_META, - MINECART_BLOCK_Y, - MINECART_SHOW_BLOCK, - _MINECART_NEXT, + // Minecart + MINECART_SHAKING_POWER = _ENTITY_NEXT, + MINECART_SHAKING_DIRECTION, + MINECART_SHAKING_MULTIPLIER, + MINECART_BLOCK_ID_META, + MINECART_BLOCK_Y, + MINECART_SHOW_BLOCK, + _MINECART_NEXT, - // MinecartCommandBlock - MINECART_COMMAND_BLOCK_COMMAND = _MINECART_NEXT, - MINECART_COMMAND_BLOCK_LAST_OUTPUT, + // MinecartCommandBlock + MINECART_COMMAND_BLOCK_COMMAND = _MINECART_NEXT, + MINECART_COMMAND_BLOCK_LAST_OUTPUT, - // MinecartFurnace - MINECART_FURNACE_POWERED = _MINECART_NEXT, + // MinecartFurnace + MINECART_FURNACE_POWERED = _MINECART_NEXT, - // TNTPrimed - TNT_PRIMED_FUSE_TIME = _ENTITY_NEXT, - }; + // TNTPrimed + TNT_PRIMED_FUSE_TIME = _ENTITY_NEXT, +}; } #ifdef __clang__ @@ -1014,7 +1014,7 @@ UInt32 cProtocol_1_12::GetPacketID(cProtocol::ePacketType a_Packet) const case pktUpdateHealth: return 0x40; case pktUpdateScore: return 0x44; - default: return Super::GetPacketID(a_Packet); + default: return Super::GetPacketID(a_Packet); } } @@ -1024,10 +1024,11 @@ UInt32 cProtocol_1_12::GetPacketID(cProtocol::ePacketType a_Packet) const void cProtocol_1_12::HandleCraftRecipe(cByteBuffer & a_ByteBuffer) { - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, WindowID); - HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, RecipeID); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, MakeAll); - auto CuberiteRecipeId = cRoot::Get()->GetRecipeMapper()->GetCuberiteRecipeId(RecipeID, m_Client->GetProtocolVersion()); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, WindowID); + HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, RecipeID); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, MakeAll); + auto CuberiteRecipeId = + cRoot::Get()->GetRecipeMapper()->GetCuberiteRecipeId(RecipeID, m_Client->GetProtocolVersion()); if (CuberiteRecipeId.has_value()) { m_Client->HandleCraftRecipe(CuberiteRecipeId.value()); @@ -1063,9 +1064,9 @@ signed char cProtocol_1_12::GetProtocolEntityStatus(EntityAnimation a_Animation) { switch (a_Animation) { - case EntityAnimation::PawnBurns: return 37; + case EntityAnimation::PawnBurns: return 37; case EntityAnimation::PawnDrowns: return 36; - default: return Super::GetProtocolEntityStatus(a_Animation); + default: return Super::GetProtocolEntityStatus(a_Animation); } } @@ -1209,7 +1210,7 @@ UInt32 cProtocol_1_12_1::GetPacketID(ePacketType a_Packet) const case pktTimeUpdate: return 0x47; case pktTitle: return 0x48; - default: return Super::GetPacketID(a_Packet); + default: return Super::GetPacketID(a_Packet); } } @@ -1315,10 +1316,7 @@ cProtocol::Version cProtocol_1_12_2::GetProtocolVersion() const void cProtocol_1_12_2::HandlePacketKeepAlive(cByteBuffer & a_ByteBuffer) { HANDLE_READ(a_ByteBuffer, ReadBEInt64, Int64, KeepAliveID); - if ( - (KeepAliveID <= std::numeric_limits::max()) && - (KeepAliveID >= 0) - ) + if ((KeepAliveID <= std::numeric_limits::max()) && (KeepAliveID >= 0)) { // The server will only send a UInt32 so any value out of that range shouldn't keep the client alive. m_Client->HandleKeepAlive(static_cast(KeepAliveID)); @@ -1334,7 +1332,11 @@ void cProtocol_1_12_2::SendKeepAlive(UInt32 a_PingID) // Drop the packet if the protocol is not in the Game state yet (caused a client crash): if (m_State != 3) { - LOGWARNING("Trying to send a KeepAlive packet to a player who's not yet fully logged in (%d). The protocol class prevented the packet.", m_State); + LOGWARNING( + "Trying to send a KeepAlive packet to a player who's not yet fully logged in (%d). The protocol class " + "prevented the packet.", + m_State + ); return; } @@ -1350,7 +1352,8 @@ void cProtocol_1_12_2::SendUnlockRecipe(UInt32 a_RecipeID) { ASSERT(m_State == 3); // In game mode? - auto ProtocolRecipeId = cRoot::Get()->GetRecipeMapper()->GetProtocolRecipeId(a_RecipeID, m_Client->GetProtocolVersion()); + auto ProtocolRecipeId = + cRoot::Get()->GetRecipeMapper()->GetProtocolRecipeId(a_RecipeID, m_Client->GetProtocolVersion()); if (ProtocolRecipeId.has_value()) { cPacketizer Pkt(*this, pktUnlockRecipe); @@ -1370,7 +1373,8 @@ void cProtocol_1_12_2::SendInitRecipes(UInt32 a_RecipeID) { ASSERT(m_State == 3); // In game mode? - auto ProtocolRecipeId = cRoot::Get()->GetRecipeMapper()->GetProtocolRecipeId(a_RecipeID, m_Client->GetProtocolVersion()); + auto ProtocolRecipeId = + cRoot::Get()->GetRecipeMapper()->GetProtocolRecipeId(a_RecipeID, m_Client->GetProtocolVersion()); if (!ProtocolRecipeId.has_value()) { return; diff --git a/src/Protocol/Protocol_1_12.h b/src/Protocol/Protocol_1_12.h index 0d18c2ae5..a3e829ce7 100644 --- a/src/Protocol/Protocol_1_12.h +++ b/src/Protocol/Protocol_1_12.h @@ -23,17 +23,14 @@ Declares the 1.12 protocol classes: -class cProtocol_1_12: - public cProtocol_1_11_1 +class cProtocol_1_12 : public cProtocol_1_11_1 { using Super = cProtocol_1_11_1; -public: - + public: using Super::Super; -protected: - + protected: virtual UInt32 GetPacketID(ePacketType a_Packet) const override; virtual signed char GetProtocolEntityStatus(EntityAnimation a_Animation) const override; virtual UInt32 GetProtocolMobType(eMonsterType a_MobType) const override; @@ -52,17 +49,14 @@ protected: -class cProtocol_1_12_1: - public cProtocol_1_12 +class cProtocol_1_12_1 : public cProtocol_1_12 { using Super = cProtocol_1_12; -public: - + public: using Super::Super; -protected: - + protected: virtual UInt32 GetPacketID(ePacketType a_Packet) const override; virtual Version GetProtocolVersion() const override; @@ -73,17 +67,14 @@ protected: -class cProtocol_1_12_2: - public cProtocol_1_12_1 +class cProtocol_1_12_2 : public cProtocol_1_12_1 { using Super = cProtocol_1_12_1; -public: - + public: using Super::Super; -protected: - + protected: virtual Version GetProtocolVersion() const override; virtual void HandlePacketKeepAlive(cByteBuffer & a_ByteBuffer) override; diff --git a/src/Protocol/Protocol_1_13.cpp b/src/Protocol/Protocol_1_13.cpp index 8bffe0f85..7edc3ae36 100644 --- a/src/Protocol/Protocol_1_13.cpp +++ b/src/Protocol/Protocol_1_13.cpp @@ -94,7 +94,14 @@ void cProtocol_1_13::SendPaintingSpawn(const cPainting & a_Painting) -void cProtocol_1_13::SendParticleEffect(const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data) +void cProtocol_1_13::SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data +) { // This packet is unchanged since 1.8 // However we are hardcoding a string-to-id mapping inside there @@ -183,20 +190,27 @@ void cProtocol_1_13::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) break; } - case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing - case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text - case E_BLOCK_BEACON: Action = 3; break; // Update beacon entity - case E_BLOCK_HEAD: Action = 4; break; // Update Mobhead entity + case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing + case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text + case E_BLOCK_BEACON: Action = 3; break; // Update beacon entity + case E_BLOCK_HEAD: + Action = 4; + break; // Update Mobhead entity // case E_BLOCK_CONDUIT: Action = 5; break; // Update Conduit entity case E_BLOCK_STANDING_BANNER: - case E_BLOCK_WALL_BANNER: Action = 6; break; // Update banner entity + case E_BLOCK_WALL_BANNER: + Action = 6; + break; // Update banner entity // case Structure Block: Action = 7; break; // Update Structure tile entity - case E_BLOCK_END_GATEWAY: Action = 8; break; // Update destination for a end gateway entity - case E_BLOCK_SIGN_POST: Action = 9; break; // Update sign entity - // case E_BLOCK_SHULKER_BOX: Action = 10; break; // sets shulker box - not used just here if anyone is confused from reading the protocol wiki - case E_BLOCK_BED: Action = 11; break; // Update bed color - - default: return; // Block entities change between versions + case E_BLOCK_END_GATEWAY: Action = 8; break; // Update destination for a end gateway entity + case E_BLOCK_SIGN_POST: + Action = 9; + break; // Update sign entity + // case E_BLOCK_SHULKER_BOX: Action = 10; break; // sets shulker box - not used just here if anyone is + // confused from reading the protocol wiki + case E_BLOCK_BED: Action = 11; break; // Update bed color + + default: return; // Block entities change between versions } cPacketizer Pkt(*this, pktUpdateBlockEntity); @@ -337,10 +351,9 @@ UInt8 cProtocol_1_13::GetEntityMetadataID(EntityMetadata a_Metadata) const case EntityMetadata::EntityPose: case EntityMetadata::AreaEffectCloudParticleParameter1: case EntityMetadata::AreaEffectCloudParticleParameter2: - case EntityMetadata::ZombieUnusedWasType: break; + case EntityMetadata::ZombieUnusedWasType: break; - default: - break; + default: break; } UNREACHABLE("Retrieved invalid metadata for protocol"); } @@ -447,7 +460,7 @@ UInt32 cProtocol_1_13::GetPacketID(ePacketType a_PacketType) const case pktWindowItems: return 0x15; case pktWindowOpen: return 0x14; case pktWindowProperty: return 0x16; - default: return Super::GetPacketID(a_PacketType); + default: return Super::GetPacketID(a_PacketType); } } @@ -469,7 +482,7 @@ signed char cProtocol_1_13::GetProtocolEntityStatus(const EntityAnimation a_Anim switch (a_Animation) { case EntityAnimation::DolphinShowsHappiness: return 38; - default: return Super::GetProtocolEntityStatus(a_Animation); + default: return Super::GetProtocolEntityStatus(a_Animation); } } @@ -491,66 +504,66 @@ UInt32 cProtocol_1_13::GetProtocolMobType(eMonsterType a_MobType) const switch (a_MobType) { // Map invalid type to Giant for easy debugging (if this ever spawns, something has gone very wrong) - case mtInvalidType: return 27; - case mtBat: return 3; - case mtCat: return 48; - case mtBlaze: return 4; - case mtCaveSpider: return 6; - case mtChicken: return 7; - case mtCod: return 8; - case mtCow: return 9; - case mtCreeper: return 10; - case mtDonkey: return 11; - case mtDolphin: return 12; - case mtDrowned: return 14; - case mtElderGuardian: return 15; - case mtEnderDragon: return 17; - case mtEnderman: return 18; - case mtEndermite: return 19; - case mtEvoker: return 21; - case mtGhast: return 26; - case mtGiant: return 27; - case mtGuardian: return 28; - case mtHorse: return 29; - case mtHusk: return 30; - case mtIllusioner: return 31; - case mtIronGolem: return 80; - case mtLlama: return 36; - case mtMagmaCube: return 38; - case mtMule: return 46; - case mtMooshroom: return 47; - case mtOcelot: return 48; - case mtParrot: return 50; - case mtPhantom: return 90; - case mtPig: return 51; - case mtPufferfish: return 52; - case mtPolarBear: return 54; - case mtRabbit: return 56; - case mtSalmon: return 57; - case mtSheep: return 58; - case mtShulker: return 59; - case mtSilverfish: return 61; - case mtSkeleton: return 62; - case mtSkeletonHorse: return 63; - case mtSlime: return 64; - case mtSnowGolem: return 66; - case mtSpider: return 69; - case mtSquid: return 70; - case mtStray: return 71; - case mtTropicalFish: return 72; - case mtTurtle: return 73; - case mtVex: return 78; - case mtVillager: return 79; - case mtVindicator: return 81; - case mtWitch: return 82; - case mtWither: return 83; - case mtWitherSkeleton: return 84; - case mtWolf: return 86; - case mtZombie: return 87; - case mtZombiePigman: return 53; - case mtZombieHorse: return 88; - case mtZombieVillager: return 89; - default: return 0; + case mtInvalidType: return 27; + case mtBat: return 3; + case mtCat: return 48; + case mtBlaze: return 4; + case mtCaveSpider: return 6; + case mtChicken: return 7; + case mtCod: return 8; + case mtCow: return 9; + case mtCreeper: return 10; + case mtDonkey: return 11; + case mtDolphin: return 12; + case mtDrowned: return 14; + case mtElderGuardian: return 15; + case mtEnderDragon: return 17; + case mtEnderman: return 18; + case mtEndermite: return 19; + case mtEvoker: return 21; + case mtGhast: return 26; + case mtGiant: return 27; + case mtGuardian: return 28; + case mtHorse: return 29; + case mtHusk: return 30; + case mtIllusioner: return 31; + case mtIronGolem: return 80; + case mtLlama: return 36; + case mtMagmaCube: return 38; + case mtMule: return 46; + case mtMooshroom: return 47; + case mtOcelot: return 48; + case mtParrot: return 50; + case mtPhantom: return 90; + case mtPig: return 51; + case mtPufferfish: return 52; + case mtPolarBear: return 54; + case mtRabbit: return 56; + case mtSalmon: return 57; + case mtSheep: return 58; + case mtShulker: return 59; + case mtSilverfish: return 61; + case mtSkeleton: return 62; + case mtSkeletonHorse: return 63; + case mtSlime: return 64; + case mtSnowGolem: return 66; + case mtSpider: return 69; + case mtSquid: return 70; + case mtStray: return 71; + case mtTropicalFish: return 72; + case mtTurtle: return 73; + case mtVex: return 78; + case mtVillager: return 79; + case mtVindicator: return 81; + case mtWitch: return 82; + case mtWither: return 83; + case mtWitherSkeleton: return 84; + case mtWolf: return 86; + case mtZombie: return 87; + case mtZombiePigman: return 53; + case mtZombieHorse: return 88; + case mtZombieVillager: return 89; + default: return 0; } } @@ -684,7 +697,11 @@ void cProtocol_1_13::HandleVanillaPluginMessage(cByteBuffer & a_ByteBuffer, cons HANDLE_READ(a_ByteBuffer, ReadVarUTF8String, AString, Brand); m_Client->SetClientBrand(Brand); - m_Client->SendPluginMessage("brand", "\x08""Cuberite"); // Send back our brand, including the length. + m_Client->SendPluginMessage( + "brand", + "\x08" + "Cuberite" + ); // Send back our brand, including the length. } } @@ -714,7 +731,8 @@ bool cProtocol_1_13::ReadItem(cByteBuffer & a_ByteBuffer, cItem & a_Item, size_t } ContiguousByteBuffer Metadata; - if (!a_ByteBuffer.ReadSome(Metadata, a_ByteBuffer.GetReadableSpace() - a_KeepRemainingBytes) || Metadata.empty() || (Metadata[0] == std::byte(0))) + if (!a_ByteBuffer.ReadSome(Metadata, a_ByteBuffer.GetReadableSpace() - a_KeepRemainingBytes) || Metadata.empty() || + (Metadata[0] == std::byte(0))) { // No metadata return true; @@ -728,7 +746,11 @@ bool cProtocol_1_13::ReadItem(cByteBuffer & a_ByteBuffer, cItem & a_Item, size_t -void cProtocol_1_13::WriteEntityMetadata(cPacketizer & a_Pkt, const EntityMetadata a_Metadata, const EntityMetadataType a_FieldType) const +void cProtocol_1_13::WriteEntityMetadata( + cPacketizer & a_Pkt, + const EntityMetadata a_Metadata, + const EntityMetadataType a_FieldType +) const { a_Pkt.WriteBEUInt8(GetEntityMetadataID(a_Metadata)); // Index a_Pkt.WriteBEUInt8(GetEntityMetadataID(a_FieldType)); // Type @@ -1371,7 +1393,16 @@ void cProtocol_1_13::WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mo //////////////////////////////////////////////////////////////////////////////// // cProtocol_1_13_1: -void cProtocol_1_13_1::SendBossBarAdd(UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) +void cProtocol_1_13_1::SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog +) { ASSERT(m_State == 3); // In game mode? @@ -1382,32 +1413,36 @@ void cProtocol_1_13_1::SendBossBarAdd(UInt32 a_UniqueID, const cCompositeChat & Pkt.WriteVarInt32(0); // Add Pkt.WriteString(a_Title.CreateJsonString()); Pkt.WriteBEFloat(a_FractionFilled); - Pkt.WriteVarInt32([a_Color] - { - switch (a_Color) + Pkt.WriteVarInt32( + [a_Color] { - case BossBarColor::Pink: return 0U; - case BossBarColor::Blue: return 1U; - case BossBarColor::Red: return 2U; - case BossBarColor::Green: return 3U; - case BossBarColor::Yellow: return 4U; - case BossBarColor::Purple: return 5U; - case BossBarColor::White: return 6U; - } - UNREACHABLE("Unsupported boss bar property"); - }()); - Pkt.WriteVarInt32([a_DivisionType] - { - switch (a_DivisionType) + switch (a_Color) + { + case BossBarColor::Pink: return 0U; + case BossBarColor::Blue: return 1U; + case BossBarColor::Red: return 2U; + case BossBarColor::Green: return 3U; + case BossBarColor::Yellow: return 4U; + case BossBarColor::Purple: return 5U; + case BossBarColor::White: return 6U; + } + UNREACHABLE("Unsupported boss bar property"); + }() + ); + Pkt.WriteVarInt32( + [a_DivisionType] { - case BossBarDivisionType::None: return 0U; - case BossBarDivisionType::SixNotches: return 1U; - case BossBarDivisionType::TenNotches: return 2U; - case BossBarDivisionType::TwelveNotches: return 3U; - case BossBarDivisionType::TwentyNotches: return 4U; - } - UNREACHABLE("Unsupported boss bar property"); - }()); + switch (a_DivisionType) + { + case BossBarDivisionType::None: return 0U; + case BossBarDivisionType::SixNotches: return 1U; + case BossBarDivisionType::TenNotches: return 2U; + case BossBarDivisionType::TwelveNotches: return 3U; + case BossBarDivisionType::TwentyNotches: return 4U; + } + UNREACHABLE("Unsupported boss bar property"); + }() + ); { UInt8 Flags = 0x00; if (a_DarkenSky) @@ -1430,7 +1465,12 @@ void cProtocol_1_13_1::SendBossBarAdd(UInt32 a_UniqueID, const cCompositeChat & -void cProtocol_1_13_1::SendBossBarUpdateFlags(UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) +void cProtocol_1_13_1::SendBossBarUpdateFlags( + UInt32 a_UniqueID, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog +) { ASSERT(m_State == 3); // In game mode? @@ -1541,7 +1581,8 @@ bool cProtocol_1_13_2::ReadItem(cByteBuffer & a_ByteBuffer, cItem & a_Item, size } ContiguousByteBuffer Metadata; - if (!a_ByteBuffer.ReadSome(Metadata, a_ByteBuffer.GetReadableSpace() - a_KeepRemainingBytes) || Metadata.empty() || (Metadata[0] == std::byte(0))) + if (!a_ByteBuffer.ReadSome(Metadata, a_ByteBuffer.GetReadableSpace() - a_KeepRemainingBytes) || Metadata.empty() || + (Metadata[0] == std::byte(0))) { // No metadata return true; diff --git a/src/Protocol/Protocol_1_13.h b/src/Protocol/Protocol_1_13.h index 63f1281b6..cc437cdbc 100644 --- a/src/Protocol/Protocol_1_13.h +++ b/src/Protocol/Protocol_1_13.h @@ -25,26 +25,30 @@ Declares the 1.13 protocol classes: -class cProtocol_1_13: - public cProtocol_1_12_2 +class cProtocol_1_13 : public cProtocol_1_12_2 { using Super = cProtocol_1_12_2; -public: - + public: using Super::Super; -protected: - - virtual void SendBlockChange (Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; - virtual void SendBlockChanges (int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes) override; - virtual void SendMapData (const cMap & a_Map, int a_DataStartX, int a_DataStartY) override; - virtual void SendPaintingSpawn (const cPainting & a_Painting) override; - virtual void SendParticleEffect (const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data) override; - virtual void SendScoreboardObjective (const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) override; - virtual void SendStatistics (const StatisticsManager & a_Manager) override; - virtual void SendTabCompletionResults (const AStringVector & a_Results) override; - virtual void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity) override; + protected: + virtual void SendBlockChange(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; + virtual void SendBlockChanges(int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes) override; + virtual void SendMapData(const cMap & a_Map, int a_DataStartX, int a_DataStartY) override; + virtual void SendPaintingSpawn(const cPainting & a_Painting) override; + virtual void SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data + ) override; + virtual void SendScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) override; + virtual void SendStatistics(const StatisticsManager & a_Manager) override; + virtual void SendTabCompletionResults(const AStringVector & a_Results) override; + virtual void SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) override; virtual UInt8 GetEntityMetadataID(EntityMetadata a_Metadata) const; virtual UInt8 GetEntityMetadataID(EntityMetadataType a_FieldType) const; virtual std::pair GetItemFromProtocolID(UInt32 a_ProtocolID) const; @@ -63,7 +67,8 @@ protected: virtual void HandleVanillaPluginMessage(cByteBuffer & a_ByteBuffer, std::string_view a_Channel) override; virtual bool ReadItem(cByteBuffer & a_ByteBuffer, cItem & a_Item, size_t a_KeepRemainingBytes) const override; - virtual void WriteEntityMetadata(cPacketizer & a_Pkt, EntityMetadata a_Metadata, EntityMetadataType a_FieldType) const; + virtual void WriteEntityMetadata(cPacketizer & a_Pkt, EntityMetadata a_Metadata, EntityMetadataType a_FieldType) + const; virtual void WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a_Entity) const override; virtual void WriteItem(cPacketizer & a_Pkt, const cItem & a_Item) const override; virtual void WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mob) const override; @@ -73,19 +78,26 @@ protected: -class cProtocol_1_13_1 : - public cProtocol_1_13 +class cProtocol_1_13_1 : public cProtocol_1_13 { using Super = cProtocol_1_13; -public: - + public: using Super::Super; -protected: - - virtual void SendBossBarAdd(UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) override; - virtual void SendBossBarUpdateFlags(UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) override; + protected: + virtual void SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog + ) override; + virtual void SendBossBarUpdateFlags(UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) + override; virtual std::pair GetItemFromProtocolID(UInt32 a_ProtocolID) const override; virtual UInt32 GetProtocolBlockType(BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override; @@ -98,17 +110,14 @@ protected: -class cProtocol_1_13_2 : - public cProtocol_1_13_1 +class cProtocol_1_13_2 : public cProtocol_1_13_1 { using Super = cProtocol_1_13_1; -public: - + public: using Super::Super; -protected: - + protected: virtual Version GetProtocolVersion() const override; virtual bool ReadItem(cByteBuffer & a_ByteBuffer, cItem & a_Item, size_t a_KeepRemainingBytes) const override; virtual void WriteItem(cPacketizer & a_Pkt, const cItem & a_Item) const override; diff --git a/src/Protocol/Protocol_1_14.cpp b/src/Protocol/Protocol_1_14.cpp index beb929ce3..18ecdfc2c 100644 --- a/src/Protocol/Protocol_1_14.cpp +++ b/src/Protocol/Protocol_1_14.cpp @@ -95,9 +95,7 @@ void cProtocol_1_14::SendBlockChange(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, -void cProtocol_1_14::SendEditSign(Vector3i a_BlockPos) -{ -} +void cProtocol_1_14::SendEditSign(Vector3i a_BlockPos) {} @@ -179,23 +177,26 @@ void cProtocol_1_14::SendLogin(const cPlayer & a_Player, const cWorld & a_World) -void cProtocol_1_14::SendMapData(const cMap & a_Map, int a_DataStartX, int a_DataStartY) -{ -} +void cProtocol_1_14::SendMapData(const cMap & a_Map, int a_DataStartX, int a_DataStartY) {} -void cProtocol_1_14::SendPaintingSpawn(const cPainting & a_Painting) -{ -} +void cProtocol_1_14::SendPaintingSpawn(const cPainting & a_Painting) {} -void cProtocol_1_14::SendParticleEffect(const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data) +void cProtocol_1_14::SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data +) { ASSERT(m_State == 3); // In game mode? @@ -276,20 +277,29 @@ void cProtocol_1_14::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) break; } - case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing - case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text - case E_BLOCK_BEACON: Action = 3; break; // Update beacon entity - case E_BLOCK_HEAD: Action = 4; break; // Update Mobhead entity + case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing + case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text + case E_BLOCK_BEACON: Action = 3; break; // Update beacon entity + case E_BLOCK_HEAD: + Action = 4; + break; // Update Mobhead entity // case E_BLOCK_CONDUIT: Action = 5; break; // Update Conduit entity case E_BLOCK_STANDING_BANNER: - case E_BLOCK_WALL_BANNER: Action = 6; break; // Update banner entity + case E_BLOCK_WALL_BANNER: + Action = 6; + break; // Update banner entity // case Structure Block: Action = 7; break; // Update Structure tile entity - case E_BLOCK_END_GATEWAY: Action = 8; break; // Update destination for a end gateway entity - case E_BLOCK_SIGN_POST: Action = 9; break; // Update sign entity - // case E_BLOCK_SHULKER_BOX: Action = 10; break; // sets shulker box - not used just here if anyone is confused from reading the protocol wiki - case E_BLOCK_BED: Action = 11; break; // Update bed color - // case E_BLOCK_JIGSAW: Action = 12; break; - // case E_BLOCK_CAMPFIRE: Action = 13; break; + case E_BLOCK_END_GATEWAY: Action = 8; break; // Update destination for a end gateway entity + case E_BLOCK_SIGN_POST: + Action = 9; + break; // Update sign entity + // case E_BLOCK_SHULKER_BOX: Action = 10; break; // sets shulker box - not used just here if anyone is + // confused from reading the protocol wiki + case E_BLOCK_BED: + Action = 11; + break; // Update bed color + // case E_BLOCK_JIGSAW: Action = 12; break; + // case E_BLOCK_CAMPFIRE: Action = 13; break; default: return; // Block entities change between versions } @@ -308,7 +318,13 @@ void cProtocol_1_14::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) -void cProtocol_1_14::SendUpdateSign(Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) +void cProtocol_1_14::SendUpdateSign( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 +) { } @@ -497,7 +513,7 @@ UInt32 cProtocol_1_14::GetPacketID(ePacketType a_PacketType) const case cProtocol::pktWindowItems: return 0x14; case cProtocol::pktWindowOpen: return 0x2E; case cProtocol::pktWindowProperty: return 0x15; - default: return Super::GetPacketID(a_PacketType); + default: return Super::GetPacketID(a_PacketType); } } @@ -635,10 +651,9 @@ UInt8 cProtocol_1_14::GetEntityMetadataID(EntityMetadata a_Metadata) const case EntityMetadata::AreaEffectCloudParticleParameter1: case EntityMetadata::AreaEffectCloudParticleParameter2: - case EntityMetadata::ZombieUnusedWasType: break; + case EntityMetadata::ZombieUnusedWasType: break; - default: - break; + default: break; } UNREACHABLE("Retrieved invalid metadata for protocol"); } @@ -669,22 +684,22 @@ signed char cProtocol_1_14::GetProtocolEntityStatus(EntityAnimation a_Animation) { switch (a_Animation) { - case EntityAnimation::FoxChews: return 45; - case EntityAnimation::OcelotTrusts: return 40; - case EntityAnimation::OcelotDistrusts: return 41; - case EntityAnimation::PawnBerryBushPricks: return 44; - case EntityAnimation::PawnChestEquipmentBreaks: return 50; - case EntityAnimation::PawnFeetEquipmentBreaks: return 52; - case EntityAnimation::PawnHeadEquipmentBreaks: return 49; - case EntityAnimation::PawnLegsEquipmentBreaks: return 51; + case EntityAnimation::FoxChews: return 45; + case EntityAnimation::OcelotTrusts: return 40; + case EntityAnimation::OcelotDistrusts: return 41; + case EntityAnimation::PawnBerryBushPricks: return 44; + case EntityAnimation::PawnChestEquipmentBreaks: return 50; + case EntityAnimation::PawnFeetEquipmentBreaks: return 52; + case EntityAnimation::PawnHeadEquipmentBreaks: return 49; + case EntityAnimation::PawnLegsEquipmentBreaks: return 51; case EntityAnimation::PawnMainHandEquipmentBreaks: return 47; - case EntityAnimation::PawnOffHandEquipmentBreaks: return 48; - case EntityAnimation::PawnTeleports: return 46; - case EntityAnimation::PlayerBadOmenActivates: return 43; - case EntityAnimation::RavagerAttacks: return 4; - case EntityAnimation::RavagerBecomesStunned: return 39; - case EntityAnimation::VillagerSweats: return 42; - default: return Super::GetProtocolEntityStatus(a_Animation); + case EntityAnimation::PawnOffHandEquipmentBreaks: return 48; + case EntityAnimation::PawnTeleports: return 46; + case EntityAnimation::PlayerBadOmenActivates: return 43; + case EntityAnimation::RavagerAttacks: return 4; + case EntityAnimation::RavagerBecomesStunned: return 39; + case EntityAnimation::VillagerSweats: return 42; + default: return Super::GetProtocolEntityStatus(a_Animation); } } @@ -699,11 +714,11 @@ UInt8 cProtocol_1_14::GetProtocolEntityType(const cEntity & a_Entity) const switch (a_Entity.GetEntityType()) { case Type::etEnderCrystal: return 17; - case Type::etPickup: return 34; + case Type::etPickup: return 34; case Type::etFallingBlock: return 25; - case Type::etMinecart: return 41; - case Type::etBoat: return 5; - case Type::etTNT: return 58; + case Type::etMinecart: return 41; + case Type::etBoat: return 5; + case Type::etTNT: return 58; case Type::etProjectile: { using PType = cProjectileEntity::eKind; @@ -711,20 +726,20 @@ UInt8 cProtocol_1_14::GetProtocolEntityType(const cEntity & a_Entity) const switch (Projectile.GetProjectileKind()) { - case PType::pkArrow: return 2; - case PType::pkSnowball: return 70; - case PType::pkEgg: return 78; + case PType::pkArrow: return 2; + case PType::pkSnowball: return 70; + case PType::pkEgg: return 78; case PType::pkGhastFireball: return 36; - case PType::pkFireCharge: return 68; - case PType::pkEnderPearl: return 79; - case PType::pkExpBottle: return 80; - case PType::pkSplashPotion: return 81; - case PType::pkFirework: return 26; - case PType::pkWitherSkull: return 92; + case PType::pkFireCharge: return 68; + case PType::pkEnderPearl: return 79; + case PType::pkExpBottle: return 80; + case PType::pkSplashPotion: return 81; + case PType::pkFirework: return 26; + case PType::pkWitherSkull: return 92; } break; } - case Type::etFloater: return 101; + case Type::etFloater: return 101; case Type::etItemFrame: return 35; case Type::etLeashKnot: return 37; @@ -733,7 +748,7 @@ UInt8 cProtocol_1_14::GetProtocolEntityType(const cEntity & a_Entity) const case Type::etPlayer: case Type::etMonster: case Type::etExpOrb: - case Type::etPainting: break; + case Type::etPainting: break; } UNREACHABLE("Unhandled entity kind"); } @@ -756,73 +771,73 @@ UInt32 cProtocol_1_14::GetProtocolMobType(eMonsterType a_MobType) const switch (a_MobType) { // Map invalid type to Giant for easy debugging (if this ever spawns, something has gone very wrong) - case mtInvalidType: return 29; - case mtBat: return 3; - case mtBlaze: return 4; - case mtCat: return 6; - case mtCaveSpider: return 7; - case mtChicken: return 8; - case mtCod: return 9; - case mtCow: return 10; - case mtCreeper: return 11; - case mtDonkey: return 12; - case mtDolphin: return 13; - case mtDrowned: return 15; - case mtElderGuardian: return 16; - case mtEnderDragon: return 18; - case mtEnderman: return 19; - case mtEndermite: return 20; - case mtEvoker: return 22; - case mtFox: return 27; - case mtGhast: return 28; - case mtGiant: return 29; - case mtGuardian: return 30; - case mtHorse: return 31; - case mtHusk: return 32; - case mtIllusioner: return 33; - case mtIronGolem: return 85; - case mtLlama: return 38; - case mtMagmaCube: return 40; - case mtMule: return 48; - case mtMooshroom: return 49; - case mtOcelot: return 50; - case mtPanda: return 52; - case mtParrot: return 53; - case mtPig: return 54; - case mtPufferfish: return 55; - case mtPolarBear: return 57; - case mtRabbit: return 59; - case mtSalmon: return 60; - case mtSheep: return 61; - case mtShulker: return 62; - case mtSilverfish: return 64; - case mtSkeleton: return 65; - case mtSkeletonHorse: return 66; - case mtSlime: return 67; - case mtSnowGolem: return 69; - case mtSpider: return 72; - case mtSquid: return 73; - case mtStray: return 74; - case mtTraderLlama: return 75; - case mtTropicalFish: return 76; - case mtTurtle: return 77; - case mtVex: return 83; - case mtVillager: return 84; - case mtVindicator: return 86; - case mtPillager: return 87; - case mtWanderingTrader: return 88; - case mtWitch: return 89; - case mtWither: return 90; - case mtWitherSkeleton: return 91; - case mtWolf: return 93; - case mtZombie: return 94; - case mtZombieHorse: return 95; - case mtZombiePigman: return 56; - case mtZombieVillager: return 96; - case mtPhantom: return 97; - case mtRavager: return 98; - - default: return 0; + case mtInvalidType: return 29; + case mtBat: return 3; + case mtBlaze: return 4; + case mtCat: return 6; + case mtCaveSpider: return 7; + case mtChicken: return 8; + case mtCod: return 9; + case mtCow: return 10; + case mtCreeper: return 11; + case mtDonkey: return 12; + case mtDolphin: return 13; + case mtDrowned: return 15; + case mtElderGuardian: return 16; + case mtEnderDragon: return 18; + case mtEnderman: return 19; + case mtEndermite: return 20; + case mtEvoker: return 22; + case mtFox: return 27; + case mtGhast: return 28; + case mtGiant: return 29; + case mtGuardian: return 30; + case mtHorse: return 31; + case mtHusk: return 32; + case mtIllusioner: return 33; + case mtIronGolem: return 85; + case mtLlama: return 38; + case mtMagmaCube: return 40; + case mtMule: return 48; + case mtMooshroom: return 49; + case mtOcelot: return 50; + case mtPanda: return 52; + case mtParrot: return 53; + case mtPig: return 54; + case mtPufferfish: return 55; + case mtPolarBear: return 57; + case mtRabbit: return 59; + case mtSalmon: return 60; + case mtSheep: return 61; + case mtShulker: return 62; + case mtSilverfish: return 64; + case mtSkeleton: return 65; + case mtSkeletonHorse: return 66; + case mtSlime: return 67; + case mtSnowGolem: return 69; + case mtSpider: return 72; + case mtSquid: return 73; + case mtStray: return 74; + case mtTraderLlama: return 75; + case mtTropicalFish: return 76; + case mtTurtle: return 77; + case mtVex: return 83; + case mtVillager: return 84; + case mtVindicator: return 86; + case mtPillager: return 87; + case mtWanderingTrader: return 88; + case mtWitch: return 89; + case mtWither: return 90; + case mtWitherSkeleton: return 91; + case mtWolf: return 93; + case mtZombie: return 94; + case mtZombieHorse: return 95; + case mtZombiePigman: return 56; + case mtZombieVillager: return 96; + case mtPhantom: return 97; + case mtRavager: return 98; + + default: return 0; } } @@ -832,67 +847,66 @@ UInt32 cProtocol_1_14::GetProtocolMobType(eMonsterType a_MobType) const int cProtocol_1_14::GetProtocolParticleID(const AString & a_ParticleName) const { - static const std::unordered_map ParticleMap - { + static const std::unordered_map ParticleMap { // Initialize the ParticleMap: - { "ambiantentity", 0 }, - { "angryvillager", 1 }, - { "barrier", 2 }, - { "blockdust", 3 }, - { "bubble", 4 }, - { "cloud", 5 }, - { "crit", 6 }, - { "damageindicator", 7 }, - { "dragonbreath", 8 }, - { "driplava", 9 }, - { "fallinglava", 10 }, - { "landinglava", 11 }, - { "dripwater", 12 }, - { "fallingwater", 13 }, - { "dust", 14 }, - { "effect", 15 }, - { "elderguardian", 16 }, - { "enchantedhit", 17 }, - { "enchant", 18 }, - { "endrod", 19 }, - { "entityeffect", 20 }, - { "explosionemitter", 21 }, - { "explode", 22 }, - { "fallingdust", 23 }, - { "firework", 24 }, - { "fishing", 25 }, - { "flame", 26 }, - { "flash", 27 }, - { "happyvillager", 28 }, - { "composter", 29 }, - { "heart", 30 }, - { "instanteffect", 31 }, - { "item", 32 }, - { "slime", 33 }, - { "snowball", 34 }, - { "largesmoke", 35 }, - { "lava", 36 }, - { "mycelium", 37 }, - { "note", 38 }, - { "poof", 39 }, - { "portal", 40 }, - { "rain", 41 }, - { "smoke", 42 }, - { "sneeze", 43 }, - { "spit", 44 }, - { "squidink", 45 }, - { "sweepattack", 46 }, - { "totem", 47 }, - { "underwater", 48 }, - { "splash", 49 }, - { "witch", 50 }, - { "bubblepop", 51 }, - { "currentdown", 52 }, - { "bubblecolumnup", 53 }, - { "nautilus", 54 }, - { "dolphin", 55 }, - { "campfirecosysmoke", 56 }, - { "campfiresignalsmoke", 57 }, + {"ambiantentity", 0}, + {"angryvillager", 1}, + {"barrier", 2}, + {"blockdust", 3}, + {"bubble", 4}, + {"cloud", 5}, + {"crit", 6}, + {"damageindicator", 7}, + {"dragonbreath", 8}, + {"driplava", 9}, + {"fallinglava", 10}, + {"landinglava", 11}, + {"dripwater", 12}, + {"fallingwater", 13}, + {"dust", 14}, + {"effect", 15}, + {"elderguardian", 16}, + {"enchantedhit", 17}, + {"enchant", 18}, + {"endrod", 19}, + {"entityeffect", 20}, + {"explosionemitter", 21}, + {"explode", 22}, + {"fallingdust", 23}, + {"firework", 24}, + {"fishing", 25}, + {"flame", 26}, + {"flash", 27}, + {"happyvillager", 28}, + {"composter", 29}, + {"heart", 30}, + {"instanteffect", 31}, + {"item", 32}, + {"slime", 33}, + {"snowball", 34}, + {"largesmoke", 35}, + {"lava", 36}, + {"mycelium", 37}, + {"note", 38}, + {"poof", 39}, + {"portal", 40}, + {"rain", 41}, + {"smoke", 42}, + {"sneeze", 43}, + {"spit", 44}, + {"squidink", 45}, + {"sweepattack", 46}, + {"totem", 47}, + {"underwater", 48}, + {"splash", 49}, + {"witch", 50}, + {"bubblepop", 51}, + {"currentdown", 52}, + {"bubblecolumnup", 53}, + {"nautilus", 54}, + {"dolphin", 55}, + {"campfirecosysmoke", 56}, + {"campfiresignalsmoke", 57}, }; @@ -971,7 +985,7 @@ bool cProtocol_1_14::HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketTyp case 0x2C: HandlePacketBlockPlace(a_ByteBuffer); return true; case 0x2D: HandlePacketUseItem(a_ByteBuffer); return true; - default: break; + default: break; } return Super::HandlePacket(a_ByteBuffer, a_PacketType); @@ -1015,22 +1029,29 @@ void cProtocol_1_14::HandlePacketBlockPlace(cByteBuffer & a_ByteBuffer) HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, CursorZ); HANDLE_READ(a_ByteBuffer, ReadBool, bool, InsideBlock); - m_Client->HandleRightClick({BlockX, BlockY, BlockZ}, FaceIntToBlockFace(Face), {FloorC(CursorX * 16), FloorC(CursorY * 16), FloorC(CursorZ * 16)}, Hand == 0); + m_Client->HandleRightClick( + {BlockX, BlockY, BlockZ}, + FaceIntToBlockFace(Face), + {FloorC(CursorX * 16), FloorC(CursorY * 16), FloorC(CursorZ * 16)}, + Hand == 0 + ); } -void cProtocol_1_14::HandlePacketUpdateSign(cByteBuffer & a_ByteBuffer) -{ -} +void cProtocol_1_14::HandlePacketUpdateSign(cByteBuffer & a_ByteBuffer) {} -void cProtocol_1_14::WriteEntityMetadata(cPacketizer & a_Pkt, const EntityMetadata a_Metadata, const EntityMetadataType a_FieldType) const +void cProtocol_1_14::WriteEntityMetadata( + cPacketizer & a_Pkt, + const EntityMetadata a_Metadata, + const EntityMetadataType a_FieldType +) const { a_Pkt.WriteBEUInt8(GetEntityMetadataID(a_Metadata)); // Index a_Pkt.WriteBEUInt8(Super::GetEntityMetadataID(a_FieldType)); // Type diff --git a/src/Protocol/Protocol_1_14.h b/src/Protocol/Protocol_1_14.h index 81cd03166..60b3171cc 100644 --- a/src/Protocol/Protocol_1_14.h +++ b/src/Protocol/Protocol_1_14.h @@ -19,32 +19,43 @@ Declares the 1.14 protocol classes: -class cProtocol_1_14: - public cProtocol_1_13_2 +class cProtocol_1_14 : public cProtocol_1_13_2 { using Super = cProtocol_1_13_2; -public: - + public: using Super::Super; -protected: - - virtual void SendBlockAction (Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override; - virtual void SendBlockBreakAnim (UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage) override; - virtual void SendBlockChange (Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; - virtual void SendEditSign (Vector3i a_BlockPos) override; ///< Request the client to open up the sign editor for the sign (1.6+) - virtual void SendEntityAnimation (const cEntity & a_Entity, EntityAnimation a_Animation) override; - virtual void SendEntitySpawn (const cEntity & a_Entity, const UInt8 a_ObjectType, const Int32 a_ObjectData) override; - virtual void SendLogin (const cPlayer & a_Player, const cWorld & a_World) override; - virtual void SendMapData (const cMap & a_Map, int a_DataStartX, int a_DataStartY) override; - virtual void SendPaintingSpawn (const cPainting & a_Painting) override; - virtual void SendParticleEffect (const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data) override; - virtual void SendRespawn (eDimension a_Dimension) override; - virtual void SendSoundParticleEffect (const EffectID a_EffectID, Vector3i a_Origin, int a_Data) override; - virtual void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity) override; - virtual void SendUpdateSign (Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) override; - virtual void SendWindowOpen (const cWindow & a_Window) override; + protected: + virtual void SendBlockAction(Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override; + virtual void SendBlockBreakAnim(UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage) override; + virtual void SendBlockChange(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; + virtual void SendEditSign(Vector3i a_BlockPos + ) override; ///< Request the client to open up the sign editor for the sign (1.6+) + virtual void SendEntityAnimation(const cEntity & a_Entity, EntityAnimation a_Animation) override; + virtual void SendEntitySpawn(const cEntity & a_Entity, const UInt8 a_ObjectType, const Int32 a_ObjectData) override; + virtual void SendLogin(const cPlayer & a_Player, const cWorld & a_World) override; + virtual void SendMapData(const cMap & a_Map, int a_DataStartX, int a_DataStartY) override; + virtual void SendPaintingSpawn(const cPainting & a_Painting) override; + virtual void SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data + ) override; + virtual void SendRespawn(eDimension a_Dimension) override; + virtual void SendSoundParticleEffect(const EffectID a_EffectID, Vector3i a_Origin, int a_Data) override; + virtual void SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) override; + virtual void SendUpdateSign( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 + ) override; + virtual void SendWindowOpen(const cWindow & a_Window) override; virtual UInt8 GetEntityMetadataID(EntityMetadata a_Metadata) const override; virtual UInt32 GetPacketID(ePacketType a_PacketType) const override; @@ -63,7 +74,8 @@ protected: virtual void HandlePacketBlockPlace(cByteBuffer & a_ByteBuffer) override; virtual void HandlePacketUpdateSign(cByteBuffer & a_ByteBuffer) override; - virtual void WriteEntityMetadata(cPacketizer & a_Pkt, EntityMetadata a_Metadata, EntityMetadataType a_FieldType) const override; + virtual void WriteEntityMetadata(cPacketizer & a_Pkt, EntityMetadata a_Metadata, EntityMetadataType a_FieldType) + const override; virtual void WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a_Entity) const override; virtual void WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mob) const override; }; @@ -72,17 +84,14 @@ protected: -class cProtocol_1_14_1: - public cProtocol_1_14 +class cProtocol_1_14_1 : public cProtocol_1_14 { using Super = cProtocol_1_14; -public: - + public: using Super::Super; -protected: - + protected: virtual Version GetProtocolVersion() const override; }; @@ -90,17 +99,14 @@ protected: -class cProtocol_1_14_2: - public cProtocol_1_14_1 +class cProtocol_1_14_2 : public cProtocol_1_14_1 { using Super = cProtocol_1_14_1; -public: - + public: using Super::Super; -protected: - + protected: virtual Version GetProtocolVersion() const override; }; @@ -108,17 +114,14 @@ protected: -class cProtocol_1_14_3: - public cProtocol_1_14_2 +class cProtocol_1_14_3 : public cProtocol_1_14_2 { using Super = cProtocol_1_14_2; -public: - + public: using Super::Super; -protected: - + protected: virtual Version GetProtocolVersion() const override; }; @@ -126,16 +129,13 @@ protected: -class cProtocol_1_14_4: - public cProtocol_1_14_3 +class cProtocol_1_14_4 : public cProtocol_1_14_3 { using Super = cProtocol_1_14_3; -public: - + public: using Super::Super; -protected: - + protected: virtual Version GetProtocolVersion() const override; }; diff --git a/src/Protocol/Protocol_1_8.cpp b/src/Protocol/Protocol_1_8.cpp index ad04691a8..2055e2e8c 100644 --- a/src/Protocol/Protocol_1_8.cpp +++ b/src/Protocol/Protocol_1_8.cpp @@ -66,10 +66,7 @@ static const UInt32 CompressionThreshold = 256; // After how large a packet sho // cProtocol_1_8_0: cProtocol_1_8_0::cProtocol_1_8_0(cClientHandle * a_Client, const AString & a_ServerAddress, State a_State) : - Super(a_Client), - m_State(a_State), - m_ServerAddress(a_ServerAddress), - m_IsEncrypted(false) + Super(a_Client), m_State(a_State), m_ServerAddress(a_ServerAddress), m_IsEncrypted(false) { AStringVector Params; SplitZeroTerminatedStrings(a_ServerAddress, Params); @@ -88,8 +85,8 @@ cProtocol_1_8_0::cProtocol_1_8_0(cClientHandle * a_Client, const AString & a_Ser if (cRoot::Get()->GetServer()->ShouldAllowBungeeCord()) { // BungeeCord handling: - // If BC is setup with ip_forward == true, it sends additional data in the login packet's ServerAddress field: - // hostname\00ip-address\00uuid\00profile-properties-as-json + // If BC is setup with ip_forward == true, it sends additional data in the login packet's ServerAddress + // field: hostname\00ip-address\00uuid\00profile-properties-as-json LOGD("Player at %s connected via BungeeCord", Params[1].c_str()); @@ -109,13 +106,15 @@ cProtocol_1_8_0::cProtocol_1_8_0(cClientHandle * a_Client, const AString & a_Ser } else { - LOG("BungeeCord is disabled, but client sent additional data, set AllowBungeeCord=1 if you want to allow it"); + LOG("BungeeCord is disabled, but client sent additional data, set AllowBungeeCord=1 if you want to " + "allow it"); } } else { LOG("Unknown additional data sent in server address (BungeeCord/FML?): %zu parameters", Params.size()); - // TODO: support FML + BungeeCord? (what parameters does it send in that case?) https://github.com/SpigotMC/BungeeCord/issues/899 + // TODO: support FML + BungeeCord? (what parameters does it send in that case?) + // https://github.com/SpigotMC/BungeeCord/issues/899 } } @@ -126,14 +125,16 @@ cProtocol_1_8_0::cProtocol_1_8_0(cClientHandle * a_Client, const AString & a_Ser cFile::CreateFolder("CommLogs"); AString IP(a_Client->GetIPString()); ReplaceString(IP, ":", "_"); - auto FileName = fmt::format(FMT_STRING("CommLogs/{:x}_{}__{}.log"), + auto FileName = fmt::format( + FMT_STRING("CommLogs/{:x}_{}__{}.log"), static_cast(time(nullptr)), sCounter++, IP.c_str() ); if (!m_CommLogFile.Open(FileName, cFile::fmWrite)) { - LOG("Cannot log communication to file, the log file \"%s\" cannot be opened for writing.", FileName.c_str()); + LOG("Cannot log communication to file, the log file \"%s\" cannot be opened for writing.", + FileName.c_str()); } } } @@ -245,7 +246,16 @@ void cProtocol_1_8_0::SendBlockChanges(int a_ChunkX, int a_ChunkZ, const sSetBlo -void cProtocol_1_8_0::SendBossBarAdd(UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) +void cProtocol_1_8_0::SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog +) { // No such packet here } @@ -281,7 +291,11 @@ void cProtocol_1_8_0::SendBossBarUpdateHealth(UInt32 a_UniqueID, float a_Fractio -void cProtocol_1_8_0::SendBossBarUpdateStyle(UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType) +void cProtocol_1_8_0::SendBossBarUpdateStyle( + UInt32 a_UniqueID, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType +) { // No such packet here } @@ -344,16 +358,18 @@ void cProtocol_1_8_0::SendChatRaw(const AString & a_MessageRaw, eChatType a_Type // Send the json string to the client: cPacketizer Pkt(*this, pktChatRaw); Pkt.WriteString(a_MessageRaw); - Pkt.WriteBEInt8([a_Type]() -> signed char - { - switch (a_Type) + Pkt.WriteBEInt8( + [a_Type]() -> signed char { - case eChatType::ctChatBox: return 0; - case eChatType::ctSystem: return 1; - case eChatType::ctAboveActionBar: return 2; - } - UNREACHABLE("Unsupported chat type"); - }()); + switch (a_Type) + { + case eChatType::ctChatBox: return 0; + case eChatType::ctSystem: return 1; + case eChatType::ctAboveActionBar: return 2; + } + UNREACHABLE("Unsupported chat type"); + }() + ); } @@ -444,10 +460,7 @@ void cProtocol_1_8_0::SendDisconnect(const AString & a_Reason) } default: { - FLOGERROR( - "Tried to send disconnect in invalid game state {0}", - static_cast(m_State) - ); + FLOGERROR("Tried to send disconnect in invalid game state {0}", static_cast(m_State)); } } } @@ -582,12 +595,8 @@ void cProtocol_1_8_0::SendEntityPosition(const cEntity & a_Entity) const auto Delta = (a_Entity.GetPosition() * 32).Floor() - (a_Entity.GetLastSentPosition() * 32).Floor(); // Ensure that the delta has enough precision and is within range of a BEInt8: - if ( - Delta.HasNonZeroLength() && - cByteBuffer::CanBEInt8Represent(Delta.x) && - cByteBuffer::CanBEInt8Represent(Delta.y) && - cByteBuffer::CanBEInt8Represent(Delta.z) - ) + if (Delta.HasNonZeroLength() && cByteBuffer::CanBEInt8Represent(Delta.x) && + cByteBuffer::CanBEInt8Represent(Delta.y) && cByteBuffer::CanBEInt8Represent(Delta.z)) { const auto Move = static_cast>(Delta); @@ -782,7 +791,11 @@ void cProtocol_1_8_0::SendKeepAlive(UInt32 a_PingID) // Drop the packet if the protocol is not in the Game state yet (caused a client crash): if (m_State != 3) { - LOGWARNING("Trying to send a KeepAlive packet to a player who's not yet fully logged in (%d). The protocol class prevented the packet.", m_State); + LOGWARNING( + "Trying to send a KeepAlive packet to a player who's not yet fully logged in (%d). The protocol class " + "prevented the packet.", + m_State + ); return; } @@ -829,7 +842,9 @@ void cProtocol_1_8_0::SendLogin(const cPlayer & a_Player, const cWorld & a_World cServer * Server = cRoot::Get()->GetServer(); cPacketizer Pkt(*this, pktJoinGame); Pkt.WriteBEUInt32(a_Player.GetUniqueID()); - Pkt.WriteBEUInt8(static_cast(a_Player.GetEffectiveGameMode()) | (Server->IsHardcore() ? 0x08 : 0)); // Hardcore flag bit 4 + Pkt.WriteBEUInt8( + static_cast(a_Player.GetEffectiveGameMode()) | (Server->IsHardcore() ? 0x08 : 0) + ); // Hardcore flag bit 4 Pkt.WriteBEInt8(static_cast(a_World.GetDimension())); Pkt.WriteBEUInt8(2); // TODO: Difficulty (set to Normal) Pkt.WriteBEUInt8(static_cast(Clamp(Server->GetMaxPlayers(), 0, 255))); @@ -906,7 +921,8 @@ void cProtocol_1_8_0::SendMapData(const cMap & a_Map, int a_DataStartX, int a_Da Pkt.WriteVarInt32(static_cast(a_Map.GetDecorators().size())); for (const auto & Decorator : a_Map.GetDecorators()) { - Pkt.WriteBEUInt8(static_cast((static_cast(Decorator.GetType()) << 4) | (Decorator.GetRot() & 0xF))); + Pkt.WriteBEUInt8(static_cast((static_cast(Decorator.GetType()) << 4) | (Decorator.GetRot() & 0xF)) + ); Pkt.WriteBEUInt8(static_cast(Decorator.GetPixelX())); Pkt.WriteBEUInt8(static_cast(Decorator.GetPixelZ())); } @@ -960,7 +976,13 @@ void cProtocol_1_8_0::SendPlayerAbilities(void) -void cProtocol_1_8_0::SendParticleEffect(const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount) +void cProtocol_1_8_0::SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount +) { ASSERT(m_State == 3); // In game mode? @@ -981,7 +1003,14 @@ void cProtocol_1_8_0::SendParticleEffect(const AString & a_ParticleName, Vector3 -void cProtocol_1_8_0::SendParticleEffect(const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data) +void cProtocol_1_8_0::SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data +) { ASSERT(m_State == 3); // In game mode? @@ -1135,19 +1164,26 @@ void cProtocol_1_8_0::SendPlayerListUpdatePing() const auto World = m_Client->GetPlayer()->GetWorld(); Pkt.WriteVarInt32(static_cast(World->GetPlayerCount())); - World->ForEachPlayer([&Pkt](cPlayer & a_Player) - { - Pkt.WriteUUID(a_Player.GetUUID()); - Pkt.WriteVarInt32(static_cast(a_Player.GetClientHandle()->GetPing())); - return false; - }); + World->ForEachPlayer( + [&Pkt](cPlayer & a_Player) + { + Pkt.WriteUUID(a_Player.GetUUID()); + Pkt.WriteVarInt32(static_cast(a_Player.GetClientHandle()->GetPing())); + return false; + } + ); } -void cProtocol_1_8_0::SendPlayerMoveLook (const Vector3d a_Pos, const float a_Yaw, const float a_Pitch, const bool a_IsRelative) +void cProtocol_1_8_0::SendPlayerMoveLook( + const Vector3d a_Pos, + const float a_Yaw, + const float a_Pitch, + const bool a_IsRelative +) { ASSERT(m_State == 3); // In game mode? @@ -1177,7 +1213,12 @@ void cProtocol_1_8_0::SendPlayerMoveLook (const Vector3d a_Pos, const float a_Ya void cProtocol_1_8_0::SendPlayerMoveLook(void) { cPlayer * Player = m_Client->GetPlayer(); - SendPlayerMoveLook(Player->GetPosition(), static_cast(Player->GetYaw()), static_cast(Player->GetPitch()), false); + SendPlayerMoveLook( + Player->GetPosition(), + static_cast(Player->GetYaw()), + static_cast(Player->GetPitch()), + false + ); } @@ -1211,7 +1252,9 @@ void cProtocol_1_8_0::SendPlayerSpawn(const cPlayer & a_Player) Pkt.WriteUUID(a_Player.GetUUID()); Vector3d LastSentPos = a_Player.GetLastSentPosition(); Pkt.WriteFPInt(LastSentPos.x); - Pkt.WriteFPInt(LastSentPos.y + 0.001); // The "+ 0.001" is there because otherwise the player falls through the block they were standing on. + Pkt.WriteFPInt( + LastSentPos.y + 0.001 + ); // The "+ 0.001" is there because otherwise the player falls through the block they were standing on. Pkt.WriteFPInt(LastSentPos.z); Pkt.WriteByteAngle(a_Player.GetYaw()); Pkt.WriteByteAngle(a_Player.GetPitch()); @@ -1313,7 +1356,12 @@ void cProtocol_1_8_0::SendScoreboardObjective(const AString & a_Name, const AStr -void cProtocol_1_8_0::SendScoreUpdate(const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode) +void cProtocol_1_8_0::SendScoreUpdate( + const AString & a_Objective, + const AString & a_Player, + cObjective::Score a_Score, + Byte a_Mode +) { ASSERT(m_State == 3); // In game mode? @@ -1567,7 +1615,11 @@ void cProtocol_1_8_0::SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int -void cProtocol_1_8_0::SendTimeUpdate(const cTickTimeLong a_WorldAge, const cTickTimeLong a_WorldDate, const bool a_DoDaylightCycle) +void cProtocol_1_8_0::SendTimeUpdate( + const cTickTimeLong a_WorldAge, + const cTickTimeLong a_WorldDate, + const bool a_DoDaylightCycle +) { ASSERT(m_State == 3); // In game mode? @@ -1624,15 +1676,15 @@ void cProtocol_1_8_0::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) break; } - case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing - case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text - case E_BLOCK_BEACON: Action = 3; break; // Update beacon entity - case E_BLOCK_HEAD: Action = 4; break; // Update mobhead entity - case E_BLOCK_FLOWER_POT: Action = 5; break; // Update flower pot + case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing + case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text + case E_BLOCK_BEACON: Action = 3; break; // Update beacon entity + case E_BLOCK_HEAD: Action = 4; break; // Update mobhead entity + case E_BLOCK_FLOWER_POT: Action = 5; break; // Update flower pot case E_BLOCK_WALL_BANNER: - case E_BLOCK_STANDING_BANNER: Action = 6; break; // Update banner + case E_BLOCK_STANDING_BANNER: Action = 6; break; // Update banner - default: return; // Block entities change between versions + default: return; // Block entities change between versions } cPacketizer Pkt(*this, pktUpdateBlockEntity); @@ -1649,14 +1701,20 @@ void cProtocol_1_8_0::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) -void cProtocol_1_8_0::SendUpdateSign(Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) +void cProtocol_1_8_0::SendUpdateSign( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 +) { ASSERT(m_State == 3); // In game mode? cPacketizer Pkt(*this, pktUpdateSign); Pkt.WriteXYZPosition64(a_BlockPos); - AString Lines[] = { a_Line1, a_Line2, a_Line3, a_Line4 }; + AString Lines[] = {a_Line1, a_Line2, a_Line3, a_Line4}; for (size_t i = 0; i < ARRAYCOUNT(Lines); i++) { Pkt.WriteString(JsonUtils::SerializeSingleValueJsonObject("text", Lines[i])); @@ -1810,10 +1868,7 @@ void cProtocol_1_8_0::CompressPacket(CircularBufferCompressor & a_Packet, Contig const UInt32 DataSize = 0; const auto PacketSize = static_cast(cByteBuffer::GetVarIntSize(DataSize) + Uncompressed.size()); - cByteBuffer LengthHeaderBuffer( - cByteBuffer::GetVarIntSize(PacketSize) + - cByteBuffer::GetVarIntSize(DataSize) - ); + cByteBuffer LengthHeaderBuffer(cByteBuffer::GetVarIntSize(PacketSize) + cByteBuffer::GetVarIntSize(DataSize)); LengthHeaderBuffer.WriteVarInt32(PacketSize); LengthHeaderBuffer.WriteVarInt32(DataSize); @@ -1845,10 +1900,7 @@ void cProtocol_1_8_0::CompressPacket(CircularBufferCompressor & a_Packet, Contig const UInt32 DataSize = static_cast(Uncompressed.size()); const auto PacketSize = static_cast(cByteBuffer::GetVarIntSize(DataSize) + Compressed.size()); - cByteBuffer LengthHeaderBuffer( - cByteBuffer::GetVarIntSize(PacketSize) + - cByteBuffer::GetVarIntSize(DataSize) - ); + cByteBuffer LengthHeaderBuffer(cByteBuffer::GetVarIntSize(PacketSize) + cByteBuffer::GetVarIntSize(DataSize)); LengthHeaderBuffer.WriteVarInt32(PacketSize); LengthHeaderBuffer.WriteVarInt32(DataSize); @@ -1877,7 +1929,7 @@ eBlockFace cProtocol_1_8_0::FaceIntToBlockFace(const Int32 a_BlockFace) case BLOCK_FACE_YP: return BLOCK_FACE_YP; case BLOCK_FACE_ZM: return BLOCK_FACE_ZM; case BLOCK_FACE_ZP: return BLOCK_FACE_ZP; - default: return BLOCK_FACE_NONE; + default: return BLOCK_FACE_NONE; } } @@ -1965,7 +2017,8 @@ UInt32 cProtocol_1_8_0::GetPacketID(ePacketType a_PacketType) const case pktWindowProperty: return 0x31; default: { - LOG("Unhandled outgoing packet type: %s (0x%02x)", cPacketizer::PacketTypeToStr(a_PacketType), a_PacketType); + LOG("Unhandled outgoing packet type: %s (0x%02x)", cPacketizer::PacketTypeToStr(a_PacketType), a_PacketType + ); ASSERT(!"Unhandled outgoing packet type"); return 0; } @@ -1980,12 +2033,12 @@ unsigned char cProtocol_1_8_0::GetProtocolEntityAnimation(const EntityAnimation { switch (a_Animation) { - case EntityAnimation::EntityGetsCriticalHit: return 4; + case EntityAnimation::EntityGetsCriticalHit: return 4; case EntityAnimation::EntityGetsMagicalCriticalHit: return 5; - case EntityAnimation::PlayerLeavesBed: return 2; - case EntityAnimation::PlayerMainHandSwings: return 0; - case EntityAnimation::PlayerOffHandSwings: return 0; - default: return static_cast(-1); + case EntityAnimation::PlayerLeavesBed: return 2; + case EntityAnimation::PlayerMainHandSwings: return 0; + case EntityAnimation::PlayerOffHandSwings: return 0; + default: return static_cast(-1); } } @@ -1997,36 +2050,36 @@ signed char cProtocol_1_8_0::GetProtocolEntityStatus(const EntityAnimation a_Ani { switch (a_Animation) { - case EntityAnimation::AnimalFallsInLove: return 18; - case EntityAnimation::FireworkRocketExplodes: return 17; - case EntityAnimation::GuardianAttacks: return 21; - case EntityAnimation::HorseTamingFails: return 6; - case EntityAnimation::HorseTamingSucceeds: return 7; - case EntityAnimation::IronGolemAttacks: return 4; - case EntityAnimation::IronGolemOffersGift: return 11; + case EntityAnimation::AnimalFallsInLove: return 18; + case EntityAnimation::FireworkRocketExplodes: return 17; + case EntityAnimation::GuardianAttacks: return 21; + case EntityAnimation::HorseTamingFails: return 6; + case EntityAnimation::HorseTamingSucceeds: return 7; + case EntityAnimation::IronGolemAttacks: return 4; + case EntityAnimation::IronGolemOffersGift: return 11; case EntityAnimation::MinecartSpawnerDelayResets: return 1; - case EntityAnimation::MinecartTNTIgnites: return 10; - case EntityAnimation::MobSpawns: return 20; - case EntityAnimation::OcelotTrusts: return 6; - case EntityAnimation::OcelotDistrusts: return 7; - case EntityAnimation::PawnBerryBushPricks: return 2; - case EntityAnimation::PawnBurns: return 2; - case EntityAnimation::PawnDies: return 3; - case EntityAnimation::PawnDrowns: return 2; - case EntityAnimation::PawnHurts: return 2; - case EntityAnimation::PawnThornsPricks: return 2; - case EntityAnimation::PlayerFinishesEating: return 9; - case EntityAnimation::RabbitJumps: return 1; - case EntityAnimation::SheepEatsGrass: return 10; - case EntityAnimation::VillagerKisses: return 12; - case EntityAnimation::VillagerShowsAnger: return 13; - case EntityAnimation::VillagerShowsHappiness: return 14; - case EntityAnimation::WitchMagicks: return 15; - case EntityAnimation::WolfShakesWater: return 8; - case EntityAnimation::WolfTamingFails: return 6; - case EntityAnimation::WolfTamingSucceeds: return 7; + case EntityAnimation::MinecartTNTIgnites: return 10; + case EntityAnimation::MobSpawns: return 20; + case EntityAnimation::OcelotTrusts: return 6; + case EntityAnimation::OcelotDistrusts: return 7; + case EntityAnimation::PawnBerryBushPricks: return 2; + case EntityAnimation::PawnBurns: return 2; + case EntityAnimation::PawnDies: return 3; + case EntityAnimation::PawnDrowns: return 2; + case EntityAnimation::PawnHurts: return 2; + case EntityAnimation::PawnThornsPricks: return 2; + case EntityAnimation::PlayerFinishesEating: return 9; + case EntityAnimation::RabbitJumps: return 1; + case EntityAnimation::SheepEatsGrass: return 10; + case EntityAnimation::VillagerKisses: return 12; + case EntityAnimation::VillagerShowsAnger: return 13; + case EntityAnimation::VillagerShowsHappiness: return 14; + case EntityAnimation::WitchMagicks: return 15; + case EntityAnimation::WolfShakesWater: return 8; + case EntityAnimation::WolfTamingFails: return 6; + case EntityAnimation::WolfTamingSucceeds: return 7; case EntityAnimation::ZombieVillagerCureFinishes: return 16; - default: return -1; + default: return -1; } } @@ -2039,52 +2092,52 @@ UInt32 cProtocol_1_8_0::GetProtocolMobType(const eMonsterType a_MobType) const switch (a_MobType) { // Map invalid type to Giant for easy debugging (if this ever spawns, something has gone very wrong) - case mtInvalidType: return 53; - case mtBat: return 65; - case mtBlaze: return 61; - case mtCaveSpider: return 59; - case mtChicken: return 93; - case mtCow: return 92; - case mtCreeper: return 50; - case mtEnderDragon: return 63; - case mtEnderman: return 58; - case mtEndermite: return 67; - case mtGhast: return 56; - case mtGiant: return 53; - case mtGuardian: return 68; - case mtHorse: return 100; - case mtIronGolem: return 99; - case mtMagmaCube: return 62; - case mtMooshroom: return 96; - case mtOcelot: return 98; - case mtPig: return 90; - case mtRabbit: return 101; - case mtSheep: return 91; - case mtSilverfish: return 60; - case mtSkeleton: return 51; - case mtSlime: return 55; - case mtSnowGolem: return 97; - case mtSpider: return 52; - case mtSquid: return 94; - case mtVillager: return 120; - case mtWitch: return 66; - case mtWither: return 64; - case mtWitherSkeleton: return 51; - case mtWolf: return 95; - case mtZombie: return 54; - case mtZombiePigman: return 57; - case mtZombieVillager: return 27; + case mtInvalidType: return 53; + case mtBat: return 65; + case mtBlaze: return 61; + case mtCaveSpider: return 59; + case mtChicken: return 93; + case mtCow: return 92; + case mtCreeper: return 50; + case mtEnderDragon: return 63; + case mtEnderman: return 58; + case mtEndermite: return 67; + case mtGhast: return 56; + case mtGiant: return 53; + case mtGuardian: return 68; + case mtHorse: return 100; + case mtIronGolem: return 99; + case mtMagmaCube: return 62; + case mtMooshroom: return 96; + case mtOcelot: return 98; + case mtPig: return 90; + case mtRabbit: return 101; + case mtSheep: return 91; + case mtSilverfish: return 60; + case mtSkeleton: return 51; + case mtSlime: return 55; + case mtSnowGolem: return 97; + case mtSpider: return 52; + case mtSquid: return 94; + case mtVillager: return 120; + case mtWitch: return 66; + case mtWither: return 64; + case mtWitherSkeleton: return 51; + case mtWolf: return 95; + case mtZombie: return 54; + case mtZombiePigman: return 57; + case mtZombieVillager: return 27; // Mobs that get replaced with another because they were added later - case mtCat: return GetProtocolMobType(mtOcelot); - case mtDonkey: return GetProtocolMobType(mtHorse); - case mtMule: return GetProtocolMobType(mtHorse); - case mtSkeletonHorse: return GetProtocolMobType(mtHorse); - case mtZombieHorse: return GetProtocolMobType(mtHorse); - case mtStray: return GetProtocolMobType(mtSkeleton); - case mtHusk: return GetProtocolMobType(mtZombie); + case mtCat: return GetProtocolMobType(mtOcelot); + case mtDonkey: return GetProtocolMobType(mtHorse); + case mtMule: return GetProtocolMobType(mtHorse); + case mtSkeletonHorse: return GetProtocolMobType(mtHorse); + case mtZombieHorse: return GetProtocolMobType(mtHorse); + case mtStray: return GetProtocolMobType(mtSkeleton); + case mtHusk: return GetProtocolMobType(mtZombie); - default: return 0; + default: return 0; } } @@ -2110,7 +2163,7 @@ bool cProtocol_1_8_0::HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketTy switch (a_PacketType) { case 0x00: HandlePacketStatusRequest(a_ByteBuffer); return true; - case 0x01: HandlePacketStatusPing (a_ByteBuffer); return true; + case 0x01: HandlePacketStatusPing(a_ByteBuffer); return true; } break; } @@ -2119,7 +2172,7 @@ bool cProtocol_1_8_0::HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketTy { switch (a_PacketType) { - case 0x00: HandlePacketLoginStart (a_ByteBuffer); return true; + case 0x00: HandlePacketLoginStart(a_ByteBuffer); return true; case 0x01: HandlePacketLoginEncryptionResponse(a_ByteBuffer); return true; } break; @@ -2129,32 +2182,32 @@ bool cProtocol_1_8_0::HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketTy { switch (a_PacketType) { - case 0x00: HandlePacketKeepAlive (a_ByteBuffer); return true; - case 0x01: HandlePacketChatMessage (a_ByteBuffer); return true; - case 0x02: HandlePacketUseEntity (a_ByteBuffer); return true; - case 0x03: HandlePacketPlayer (a_ByteBuffer); return true; - case 0x04: HandlePacketPlayerPos (a_ByteBuffer); return true; - case 0x05: HandlePacketPlayerLook (a_ByteBuffer); return true; - case 0x06: HandlePacketPlayerPosLook (a_ByteBuffer); return true; - case 0x07: HandlePacketBlockDig (a_ByteBuffer); return true; - case 0x08: HandlePacketBlockPlace (a_ByteBuffer); return true; - case 0x09: HandlePacketSlotSelect (a_ByteBuffer); return true; - case 0x0a: HandlePacketAnimation (a_ByteBuffer); return true; - case 0x0b: HandlePacketEntityAction (a_ByteBuffer); return true; - case 0x0c: HandlePacketSteerVehicle (a_ByteBuffer); return true; - case 0x0d: HandlePacketWindowClose (a_ByteBuffer); return true; - case 0x0e: HandlePacketWindowClick (a_ByteBuffer); return true; - case 0x0f: // Confirm transaction - not used in MCS + case 0x00: HandlePacketKeepAlive(a_ByteBuffer); return true; + case 0x01: HandlePacketChatMessage(a_ByteBuffer); return true; + case 0x02: HandlePacketUseEntity(a_ByteBuffer); return true; + case 0x03: HandlePacketPlayer(a_ByteBuffer); return true; + case 0x04: HandlePacketPlayerPos(a_ByteBuffer); return true; + case 0x05: HandlePacketPlayerLook(a_ByteBuffer); return true; + case 0x06: HandlePacketPlayerPosLook(a_ByteBuffer); return true; + case 0x07: HandlePacketBlockDig(a_ByteBuffer); return true; + case 0x08: HandlePacketBlockPlace(a_ByteBuffer); return true; + case 0x09: HandlePacketSlotSelect(a_ByteBuffer); return true; + case 0x0a: HandlePacketAnimation(a_ByteBuffer); return true; + case 0x0b: HandlePacketEntityAction(a_ByteBuffer); return true; + case 0x0c: HandlePacketSteerVehicle(a_ByteBuffer); return true; + case 0x0d: HandlePacketWindowClose(a_ByteBuffer); return true; + case 0x0e: HandlePacketWindowClick(a_ByteBuffer); return true; + case 0x0f: // Confirm transaction - not used in MCS case 0x10: HandlePacketCreativeInventoryAction(a_ByteBuffer); return true; - case 0x11: HandlePacketEnchantItem (a_ByteBuffer); return true; - case 0x12: HandlePacketUpdateSign (a_ByteBuffer); return true; - case 0x13: HandlePacketPlayerAbilities (a_ByteBuffer); return true; - case 0x14: HandlePacketTabComplete (a_ByteBuffer); return true; - case 0x15: HandlePacketClientSettings (a_ByteBuffer); return true; - case 0x16: HandlePacketClientStatus (a_ByteBuffer); return true; - case 0x17: HandlePacketPluginMessage (a_ByteBuffer); return true; - case 0x18: HandlePacketSpectate (a_ByteBuffer); return true; - case 0x19: HandlePacketResourcePackStatus (a_ByteBuffer); return true; + case 0x11: HandlePacketEnchantItem(a_ByteBuffer); return true; + case 0x12: HandlePacketUpdateSign(a_ByteBuffer); return true; + case 0x13: HandlePacketPlayerAbilities(a_ByteBuffer); return true; + case 0x14: HandlePacketTabComplete(a_ByteBuffer); return true; + case 0x15: HandlePacketClientSettings(a_ByteBuffer); return true; + case 0x16: HandlePacketClientStatus(a_ByteBuffer); return true; + case 0x17: HandlePacketPluginMessage(a_ByteBuffer); return true; + case 0x18: HandlePacketSpectate(a_ByteBuffer); return true; + case 0x19: HandlePacketResourcePackStatus(a_ByteBuffer); return true; } break; } @@ -2316,7 +2369,8 @@ void cProtocol_1_8_0::HandlePacketLoginStart(cByteBuffer & a_ByteBuffer) Pkt.WriteVarInt32(static_cast(PubKeyDer.size())); Pkt.WriteBuf(PubKeyDer); Pkt.WriteVarInt32(4); - Pkt.WriteBEInt32(static_cast(reinterpret_cast(this))); // Using 'this' as the cryptographic nonce, so that we don't have to generate one each time :) + Pkt.WriteBEInt32(static_cast(reinterpret_cast(this)) + ); // Using 'this' as the cryptographic nonce, so that we don't have to generate one each time :) return; } @@ -2401,10 +2455,10 @@ void cProtocol_1_8_0::HandlePacketChatMessage(cByteBuffer & a_ByteBuffer) void cProtocol_1_8_0::HandlePacketClientSettings(cByteBuffer & a_ByteBuffer) { HANDLE_READ(a_ByteBuffer, ReadVarUTF8String, AString, Locale); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, ViewDistance); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, ChatFlags); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, ChatColors); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, SkinParts); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, ViewDistance); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, ChatFlags); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, ChatColors); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, SkinParts); m_Client->SetLocale(Locale); m_Client->SetViewDistance(ViewDistance); @@ -2465,9 +2519,9 @@ void cProtocol_1_8_0::HandlePacketCreativeInventoryAction(cByteBuffer & a_ByteBu void cProtocol_1_8_0::HandlePacketEntityAction(cByteBuffer & a_ByteBuffer) { - HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, PlayerID); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Action); - HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, JumpBoost); + HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, PlayerID); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Action); + HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, JumpBoost); if (PlayerID != m_Client->GetPlayer()->GetUniqueID()) { @@ -2535,7 +2589,7 @@ void cProtocol_1_8_0::HandlePacketPlayerLook(cByteBuffer & a_ByteBuffer) { HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Yaw); HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Pitch); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); m_Client->HandlePlayerLook(Yaw, Pitch, IsOnGround); } @@ -2549,7 +2603,7 @@ void cProtocol_1_8_0::HandlePacketPlayerPos(cByteBuffer & a_ByteBuffer) HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosX); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosY); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosZ); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); m_Client->HandlePlayerMove({PosX, PosY, PosZ}, IsOnGround); } @@ -2563,9 +2617,9 @@ void cProtocol_1_8_0::HandlePacketPlayerPosLook(cByteBuffer & a_ByteBuffer) HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosX); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosY); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosZ); - HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Yaw); - HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Pitch); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); + HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Yaw); + HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Pitch); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); m_Client->HandlePlayerMoveLook({PosX, PosY, PosZ}, Yaw, Pitch, IsOnGround); } @@ -2623,7 +2677,7 @@ void cProtocol_1_8_0::HandlePacketSlotSelect(cByteBuffer & a_ByteBuffer) -void cProtocol_1_8_0::HandlePacketSpectate(cByteBuffer &a_ByteBuffer) +void cProtocol_1_8_0::HandlePacketSpectate(cByteBuffer & a_ByteBuffer) { cUUID playerUUID; if (!a_ByteBuffer.ReadUUID(playerUUID)) @@ -2665,7 +2719,7 @@ void cProtocol_1_8_0::HandlePacketSteerVehicle(cByteBuffer & a_ByteBuffer) void cProtocol_1_8_0::HandlePacketTabComplete(cByteBuffer & a_ByteBuffer) { HANDLE_READ(a_ByteBuffer, ReadVarUTF8String, AString, Text); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, HasPosition); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, HasPosition); if (HasPosition) { @@ -2758,11 +2812,11 @@ void cProtocol_1_8_0::HandlePacketEnchantItem(cByteBuffer & a_ByteBuffer) void cProtocol_1_8_0::HandlePacketWindowClick(cByteBuffer & a_ByteBuffer) { - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, WindowID); - HANDLE_READ(a_ByteBuffer, ReadBEInt16, Int16, SlotNum); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Button); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, WindowID); + HANDLE_READ(a_ByteBuffer, ReadBEInt16, Int16, SlotNum); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Button); HANDLE_READ(a_ByteBuffer, ReadBEUInt16, UInt16, TransactionID); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Mode); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Mode); cItem Item; ReadItem(a_ByteBuffer, Item); @@ -2774,35 +2828,39 @@ void cProtocol_1_8_0::HandlePacketWindowClick(cByteBuffer & a_ByteBuffer) eClickAction Action; switch ((Mode << 8) | Button) { - case 0x0000: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caLeftClick : caLeftClickOutside; break; + case 0x0000: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caLeftClick : caLeftClickOutside; break; case 0x0001: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caRightClick : caRightClickOutside; break; - case 0x0100: Action = caShiftLeftClick; break; + case 0x0100: Action = caShiftLeftClick; break; case 0x0101: Action = caShiftRightClick; break; - case 0x0200: Action = caNumber1; break; - case 0x0201: Action = caNumber2; break; - case 0x0202: Action = caNumber3; break; - case 0x0203: Action = caNumber4; break; - case 0x0204: Action = caNumber5; break; - case 0x0205: Action = caNumber6; break; - case 0x0206: Action = caNumber7; break; - case 0x0207: Action = caNumber8; break; - case 0x0208: Action = caNumber9; break; - case 0x0302: Action = caMiddleClick; break; - case 0x0400: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftClickOutsideHoldNothing : caDropKey; break; + case 0x0200: Action = caNumber1; break; + case 0x0201: Action = caNumber2; break; + case 0x0202: Action = caNumber3; break; + case 0x0203: Action = caNumber4; break; + case 0x0204: Action = caNumber5; break; + case 0x0205: Action = caNumber6; break; + case 0x0206: Action = caNumber7; break; + case 0x0207: Action = caNumber8; break; + case 0x0208: Action = caNumber9; break; + case 0x0302: Action = caMiddleClick; break; + case 0x0400: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftClickOutsideHoldNothing : caDropKey; break; case 0x0401: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightClickOutsideHoldNothing : caCtrlDropKey; break; - case 0x0500: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftPaintBegin : caUnknown; break; - case 0x0501: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caLeftPaintProgress : caUnknown; break; - case 0x0502: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftPaintEnd : caUnknown; break; - case 0x0504: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightPaintBegin : caUnknown; break; - case 0x0505: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caRightPaintProgress : caUnknown; break; - case 0x0506: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightPaintEnd : caUnknown; break; - case 0x0508: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caMiddlePaintBegin : caUnknown; break; - case 0x0509: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caMiddlePaintProgress : caUnknown; break; - case 0x050a: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caMiddlePaintEnd : caUnknown; break; + case 0x0500: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftPaintBegin : caUnknown; break; + case 0x0501: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caLeftPaintProgress : caUnknown; break; + case 0x0502: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftPaintEnd : caUnknown; break; + case 0x0504: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightPaintBegin : caUnknown; break; + case 0x0505: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caRightPaintProgress : caUnknown; break; + case 0x0506: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightPaintEnd : caUnknown; break; + case 0x0508: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caMiddlePaintBegin : caUnknown; break; + case 0x0509: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caMiddlePaintProgress : caUnknown; break; + case 0x050a: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caMiddlePaintEnd : caUnknown; break; case 0x0600: Action = caDblClick; break; default: { - LOGWARNING("Unhandled window click mode / button combination: %d (0x%x)", (Mode << 8) | Button, (Mode << 8) | Button); + LOGWARNING( + "Unhandled window click mode / button combination: %d (0x%x)", + (Mode << 8) | Button, + (Mode << 8) | Button + ); Action = caUnknown; break; } @@ -2858,7 +2916,10 @@ void cProtocol_1_8_0::HandleVanillaPluginMessage(cByteBuffer & a_ByteBuffer, con } default: { - LOGD("Player \"%s\" sent an invalid command block edit type - hacked client?", m_Client->GetUsername().c_str()); + LOGD( + "Player \"%s\" sent an invalid command block edit type - hacked client?", + m_Client->GetUsername().c_str() + ); return; } } @@ -2889,7 +2950,11 @@ void cProtocol_1_8_0::HandleVanillaPluginMessage(cByteBuffer & a_ByteBuffer, con HANDLE_READ(a_ByteBuffer, ReadVarUTF8String, AString, Brand); m_Client->SetClientBrand(Brand); - m_Client->SendPluginMessage("MC|Brand", "\x08""Cuberite"); // Send back our brand, including the length. + m_Client->SendPluginMessage( + "MC|Brand", + "\x08" + "Cuberite" + ); // Send back our brand, including the length. } else if (a_Channel == "ItemName") { @@ -2917,8 +2982,12 @@ void cProtocol_1_8_0::ParseItemMetadata(cItem & a_Item, const ContiguousByteBuff { AString HexDump; CreateHexDump(HexDump, a_Metadata.data(), std::max(a_Metadata.size(), 1024), 16); - LOGWARNING("Cannot parse NBT item metadata: %s at (%zu / %zu bytes)\n%s", - NBT.GetErrorCode().message().c_str(), NBT.GetErrorPos(), a_Metadata.size(), HexDump.c_str() + LOGWARNING( + "Cannot parse NBT item metadata: %s at (%zu / %zu bytes)\n%s", + NBT.GetErrorCode().message().c_str(), + NBT.GetErrorPos(), + a_Metadata.size(), + HexDump.c_str() ); return; } @@ -2941,15 +3010,19 @@ void cProtocol_1_8_0::ParseItemMetadata(cItem & a_Item, const ContiguousByteBuff { if (TagName == "display") // Custom name and lore tag { - for (int displaytag = NBT.GetFirstChild(tag); displaytag >= 0; displaytag = NBT.GetNextSibling(displaytag)) + for (int displaytag = NBT.GetFirstChild(tag); displaytag >= 0; + displaytag = NBT.GetNextSibling(displaytag)) { - if ((NBT.GetType(displaytag) == TAG_String) && (NBT.GetName(displaytag) == "Name")) // Custon name tag + if ((NBT.GetType(displaytag) == TAG_String) && + (NBT.GetName(displaytag) == "Name")) // Custon name tag { a_Item.m_CustomName = NBT.GetString(displaytag); } - else if ((NBT.GetType(displaytag) == TAG_List) && (NBT.GetName(displaytag) == "Lore")) // Lore tag + else if ((NBT.GetType(displaytag) == TAG_List) && + (NBT.GetName(displaytag) == "Lore")) // Lore tag { - for (int loretag = NBT.GetFirstChild(displaytag); loretag >= 0; loretag = NBT.GetNextSibling(loretag)) // Loop through array of strings + for (int loretag = NBT.GetFirstChild(displaytag); loretag >= 0; + loretag = NBT.GetNextSibling(loretag)) // Loop through array of strings { a_Item.m_LoreTable.push_back(NBT.GetString(loretag)); } @@ -2962,7 +3035,12 @@ void cProtocol_1_8_0::ParseItemMetadata(cItem & a_Item, const ContiguousByteBuff } else if ((TagName == "Fireworks") || (TagName == "Explosion")) { - cFireworkItem::ParseFromNBT(a_Item.m_FireworkItem, NBT, tag, static_cast(a_Item.m_ItemType)); + cFireworkItem::ParseFromNBT( + a_Item.m_FireworkItem, + NBT, + tag, + static_cast(a_Item.m_ItemType) + ); } break; } @@ -2995,10 +3073,10 @@ bool cProtocol_1_8_0::ReadItem(cByteBuffer & a_ByteBuffer, cItem & a_Item, size_ } a_Item.m_ItemType = ItemType; - HANDLE_PACKET_READ(a_ByteBuffer, ReadBEInt8, Int8, ItemCount); + HANDLE_PACKET_READ(a_ByteBuffer, ReadBEInt8, Int8, ItemCount); HANDLE_PACKET_READ(a_ByteBuffer, ReadBEInt16, Int16, ItemDamage); - a_Item.m_ItemCount = ItemCount; + a_Item.m_ItemCount = ItemCount; a_Item.m_ItemDamage = ItemDamage; if (ItemCount <= 0) { @@ -3006,7 +3084,8 @@ bool cProtocol_1_8_0::ReadItem(cByteBuffer & a_ByteBuffer, cItem & a_Item, size_ } ContiguousByteBuffer Metadata; - if (!a_ByteBuffer.ReadSome(Metadata, a_ByteBuffer.GetReadableSpace() - a_KeepRemainingBytes) || Metadata.empty() || (Metadata[0] == std::byte(0))) + if (!a_ByteBuffer.ReadSome(Metadata, a_ByteBuffer.GetReadableSpace() - a_KeepRemainingBytes) || Metadata.empty() || + (Metadata[0] == std::byte(0))) { // No metadata return true; @@ -3085,14 +3164,19 @@ void cProtocol_1_8_0::SendPacket(cPacketizer & a_Pkt) ASSERT(PacketData.size() > 0); CreateHexDump(Hex, PacketData.data(), PacketData.size(), 16); m_CommLogFile.Write(fmt::format( - FMT_STRING("Outgoing packet: type {} (translated to 0x{:02x}), length {} (0x{:04x}), state {}. Payload (incl. type):\n{}\n"), - cPacketizer::PacketTypeToStr(a_Pkt.GetPacketType()), GetPacketID(a_Pkt.GetPacketType()), - PacketData.size(), PacketData.size(), m_State, Hex + FMT_STRING("Outgoing packet: type {} (translated to 0x{:02x}), length {} (0x{:04x}), state {}. Payload " + "(incl. type):\n{}\n"), + cPacketizer::PacketTypeToStr(a_Pkt.GetPacketType()), + GetPacketID(a_Pkt.GetPacketType()), + PacketData.size(), + PacketData.size(), + m_State, + Hex )); /* // Useful for debugging a new protocol: - LOGD("Outgoing packet: type %s (translated to 0x%02x), length %u (0x%04x), state %d. Payload (incl. type):\n%s\n", - cPacketizer::PacketTypeToStr(a_Pkt.GetPacketType()), GetPacketID(a_Pkt.GetPacketType()), + LOGD("Outgoing packet: type %s (translated to 0x%02x), length %u (0x%04x), state %d. Payload (incl. + type):\n%s\n", cPacketizer::PacketTypeToStr(a_Pkt.GetPacketType()), GetPacketID(a_Pkt.GetPacketType()), PacketLen, PacketLen, m_State, Hex ); //*/ @@ -3136,7 +3220,10 @@ void cProtocol_1_8_0::WriteBlockEntity(cFastNBTWriter & a_Writer, const cBlockEn a_Writer.AddString("CustomName", "@"); if (!CommandBlockEntity.GetLastOutput().empty()) { - a_Writer.AddString("LastOutput", JsonUtils::SerializeSingleValueJsonObject("text", CommandBlockEntity.GetLastOutput())); + a_Writer.AddString( + "LastOutput", + JsonUtils::SerializeSingleValueJsonObject("text", CommandBlockEntity.GetLastOutput()) + ); } break; } @@ -3154,16 +3241,16 @@ void cProtocol_1_8_0::WriteBlockEntity(cFastNBTWriter & a_Writer, const cBlockEn // The new Block Entity format for a Mob Head. See: https://minecraft.wiki/w/Head#Block_entity a_Writer.BeginCompound("Owner"); - a_Writer.AddString("Id", MobHeadEntity.GetOwnerUUID().ToShortString()); - a_Writer.AddString("Name", MobHeadEntity.GetOwnerName()); - a_Writer.BeginCompound("Properties"); - a_Writer.BeginList("textures", TAG_Compound); - a_Writer.BeginCompound(""); - a_Writer.AddString("Signature", MobHeadEntity.GetOwnerTextureSignature()); - a_Writer.AddString("Value", MobHeadEntity.GetOwnerTexture()); - a_Writer.EndCompound(); - a_Writer.EndList(); - a_Writer.EndCompound(); + a_Writer.AddString("Id", MobHeadEntity.GetOwnerUUID().ToShortString()); + a_Writer.AddString("Name", MobHeadEntity.GetOwnerName()); + a_Writer.BeginCompound("Properties"); + a_Writer.BeginList("textures", TAG_Compound); + a_Writer.BeginCompound(""); + a_Writer.AddString("Signature", MobHeadEntity.GetOwnerTextureSignature()); + a_Writer.AddString("Value", MobHeadEntity.GetOwnerTexture()); + a_Writer.EndCompound(); + a_Writer.EndList(); + a_Writer.EndCompound(); a_Writer.EndCompound(); break; } @@ -3265,11 +3352,16 @@ void cProtocol_1_8_0::WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a Health: 1 | 3 - (1 - 3) = 5 */ auto & Minecart = static_cast(a_Entity); - a_Pkt.WriteBEInt32(static_cast((((a_Entity.GetMaxHealth() / 2) - (a_Entity.GetHealth() - (a_Entity.GetMaxHealth() / 2))) * Minecart.LastDamage()) * 4)); + a_Pkt.WriteBEInt32(static_cast( + (((a_Entity.GetMaxHealth() / 2) - (a_Entity.GetHealth() - (a_Entity.GetMaxHealth() / 2))) * + Minecart.LastDamage()) * + 4 + )); a_Pkt.WriteBEUInt8(0x52); a_Pkt.WriteBEInt32(1); // Shaking direction, doesn't seem to affect anything a_Pkt.WriteBEUInt8(0x73); - a_Pkt.WriteBEFloat(static_cast(Minecart.LastDamage() + 10)); // Damage taken / shake effect multiplyer + a_Pkt.WriteBEFloat(static_cast(Minecart.LastDamage() + 10) + ); // Damage taken / shake effect multiplyer if (Minecart.GetPayload() == cMinecart::mpNone) { @@ -3355,10 +3447,13 @@ void cProtocol_1_8_0::WriteEntityProperties(cPacketizer & a_Pkt, const cEntity & a_Pkt.WriteBEInt32(1); // Count. a_Pkt.WriteString("generic.movementSpeed"); - a_Pkt.WriteBEDouble(0.1 * Player.GetNormalMaxSpeed()); // The default game speed is 0.1, multiply that value by the relative speed. + a_Pkt.WriteBEDouble( + 0.1 * Player.GetNormalMaxSpeed() + ); // The default game speed is 0.1, multiply that value by the relative speed. // It seems the modifiers aren't conditionally activated; their effects are applied immediately! - // We have to keep on re-sending this packet when the client notifies us of sprint start and end, and so on. Strange. + // We have to keep on re-sending this packet when the client notifies us of sprint start and end, and so on. + // Strange. if (Player.IsSprinting()) { @@ -3407,7 +3502,9 @@ void cProtocol_1_8_0::WriteItem(cPacketizer & a_Pkt, const cItem & a_Item) const a_Pkt.WriteBEInt8(a_Item.m_ItemCount); a_Pkt.WriteBEInt16(a_Item.m_ItemDamage); - if (a_Item.m_Enchantments.IsEmpty() && a_Item.IsBothNameAndLoreEmpty() && (a_Item.m_ItemType != E_ITEM_FIREWORK_ROCKET) && (a_Item.m_ItemType != E_ITEM_FIREWORK_STAR) && !a_Item.m_ItemColor.IsValid()) + if (a_Item.m_Enchantments.IsEmpty() && a_Item.IsBothNameAndLoreEmpty() && + (a_Item.m_ItemType != E_ITEM_FIREWORK_ROCKET) && (a_Item.m_ItemType != E_ITEM_FIREWORK_STAR) && + !a_Item.m_ItemColor.IsValid()) { a_Pkt.WriteBEInt8(0); return; @@ -3452,7 +3549,11 @@ void cProtocol_1_8_0::WriteItem(cPacketizer & a_Pkt, const cItem & a_Item) const } if ((a_Item.m_ItemType == E_ITEM_FIREWORK_ROCKET) || (a_Item.m_ItemType == E_ITEM_FIREWORK_STAR)) { - cFireworkItem::WriteToNBTCompound(a_Item.m_FireworkItem, Writer, static_cast(a_Item.m_ItemType)); + cFireworkItem::WriteToNBTCompound( + a_Item.m_FireworkItem, + Writer, + static_cast(a_Item.m_ItemType) + ); } Writer.Finish(); @@ -3812,15 +3913,13 @@ void cProtocol_1_8_0::AddReceivedData(cByteBuffer & a_Buffer, const ContiguousBy CreateHexDump(Hex, AllData.data(), AllData.size(), 16); m_CommLogFile.Write(fmt::format( FMT_STRING("Incoming data, {0} (0x{0:x}) unparsed bytes already present in buffer:\n{1}\n"), - AllData.size(), Hex + AllData.size(), + Hex )); } AString Hex; CreateHexDump(Hex, a_Data.data(), a_Data.size(), 16); - m_CommLogFile.Write(fmt::format( - FMT_STRING("Incoming data: {0} (0x{0:x}) bytes: \n{1}\n"), - a_Data.size(), Hex - )); + m_CommLogFile.Write(fmt::format(FMT_STRING("Incoming data: {0} (0x{0:x}) bytes: \n{1}\n"), a_Data.size(), Hex)); m_CommLogFile.Flush(); } @@ -3860,7 +3959,8 @@ void cProtocol_1_8_0::AddReceivedData(cByteBuffer & a_Buffer, const ContiguousBy return; } - NumBytesRead -= static_cast(a_Buffer.GetReadableSpace()); // How many bytes has the UncompressedSize taken up? + NumBytesRead -= + static_cast(a_Buffer.GetReadableSpace()); // How many bytes has the UncompressedSize taken up? ASSERT(PacketLen > NumBytesRead); PacketLen -= NumBytesRead; @@ -3905,7 +4005,8 @@ void cProtocol_1_8_0::AddReceivedData(cByteBuffer & a_Buffer, const ContiguousBy CreateHexDump(Hex, AllData.data(), AllData.size(), 16); m_CommLogFile.Write(fmt::format( FMT_STRING("There are {0} (0x{0:x}) bytes of non-parse-able data left in the buffer:\n{1}"), - a_Buffer.GetReadableSpace(), Hex + a_Buffer.GetReadableSpace(), + Hex )); m_CommLogFile.Flush(); } @@ -3922,11 +4023,11 @@ UInt8 cProtocol_1_8_0::GetProtocolEntityType(const cEntity & a_Entity) const switch (a_Entity.GetEntityType()) { case Type::etEnderCrystal: return 51; - case Type::etPickup: return 2; + case Type::etPickup: return 2; case Type::etFallingBlock: return 70; - case Type::etMinecart: return 10; - case Type::etBoat: return 1; - case Type::etTNT: return 50; + case Type::etMinecart: return 10; + case Type::etBoat: return 1; + case Type::etTNT: return 50; case Type::etProjectile: { using PType = cProjectileEntity::eKind; @@ -3934,21 +4035,21 @@ UInt8 cProtocol_1_8_0::GetProtocolEntityType(const cEntity & a_Entity) const switch (Projectile.GetProjectileKind()) { - case PType::pkArrow: return 60; - case PType::pkSnowball: return 61; - case PType::pkEgg: return 62; + case PType::pkArrow: return 60; + case PType::pkSnowball: return 61; + case PType::pkEgg: return 62; case PType::pkGhastFireball: return 63; - case PType::pkFireCharge: return 64; - case PType::pkEnderPearl: return 65; - case PType::pkExpBottle: return 75; - case PType::pkSplashPotion: return 73; - case PType::pkFirework: return 76; - case PType::pkWitherSkull: return 66; + case PType::pkFireCharge: return 64; + case PType::pkEnderPearl: return 65; + case PType::pkExpBottle: return 75; + case PType::pkSplashPotion: return 73; + case PType::pkFirework: return 76; + case PType::pkWitherSkull: return 66; } break; } - case Type::etFloater: return 90; + case Type::etFloater: return 90; case Type::etItemFrame: return 71; case Type::etLeashKnot: return 77; @@ -3957,7 +4058,7 @@ UInt8 cProtocol_1_8_0::GetProtocolEntityType(const cEntity & a_Entity) const case Type::etPlayer: case Type::etMonster: case Type::etExpOrb: - case Type::etPainting: break; + case Type::etPainting: break; } UNREACHABLE("Unhandled entity kind"); } @@ -3968,58 +4069,56 @@ UInt8 cProtocol_1_8_0::GetProtocolEntityType(const cEntity & a_Entity) const int cProtocol_1_8_0::GetProtocolParticleID(const AString & a_ParticleName) const { - static const std::unordered_map ParticleMap - { - // Initialize the ParticleMap: - { "explode", 0 }, - { "largeexplode", 1 }, - { "hugeexplosion", 2 }, - { "fireworksspark", 3 }, - { "bubble", 4 }, - { "splash", 5 }, - { "wake", 6 }, - { "suspended", 7 }, - { "depthsuspend", 8 }, - { "crit", 9 }, - { "magiccrit", 10 }, - { "smoke", 11 }, - { "largesmoke", 12 }, - { "spell", 13 }, - { "instantspell", 14 }, - { "mobspell", 15 }, - { "mobspellambient", 16 }, - { "witchmagic", 17 }, - { "dripwater", 18 }, - { "driplava", 19 }, - { "angryvillager", 20 }, - { "happyvillager", 21 }, - { "townaura", 22 }, - { "note", 23 }, - { "portal", 24 }, - { "enchantmenttable", 25 }, - { "flame", 26 }, - { "lava", 27 }, - { "footstep", 28 }, - { "cloud", 29 }, - { "reddust", 30 }, - { "snowballpoof", 31 }, - { "snowshovel", 32 }, - { "slime", 33 }, - { "heart", 34 }, - { "barrier", 35 }, - { "iconcrack", 36 }, - { "blockcrack", 37 }, - { "blockdust", 38 }, - { "droplet", 39 }, - { "take", 40 }, - { "mobappearance", 41 }, - { "dragonbreath", 42 }, - { "endrod", 43 }, - { "damageindicator", 44 }, - { "sweepattack", 45 }, - { "fallingdust", 46 }, - { "totem", 47 }, - { "spit", 48 } + static const std::unordered_map ParticleMap {// Initialize the ParticleMap: + {"explode", 0}, + {"largeexplode", 1}, + {"hugeexplosion", 2}, + {"fireworksspark", 3}, + {"bubble", 4}, + {"splash", 5}, + {"wake", 6}, + {"suspended", 7}, + {"depthsuspend", 8}, + {"crit", 9}, + {"magiccrit", 10}, + {"smoke", 11}, + {"largesmoke", 12}, + {"spell", 13}, + {"instantspell", 14}, + {"mobspell", 15}, + {"mobspellambient", 16}, + {"witchmagic", 17}, + {"dripwater", 18}, + {"driplava", 19}, + {"angryvillager", 20}, + {"happyvillager", 21}, + {"townaura", 22}, + {"note", 23}, + {"portal", 24}, + {"enchantmenttable", 25}, + {"flame", 26}, + {"lava", 27}, + {"footstep", 28}, + {"cloud", 29}, + {"reddust", 30}, + {"snowballpoof", 31}, + {"snowshovel", 32}, + {"slime", 33}, + {"heart", 34}, + {"barrier", 35}, + {"iconcrack", 36}, + {"blockcrack", 37}, + {"blockdust", 38}, + {"droplet", 39}, + {"take", 40}, + {"mobappearance", 41}, + {"dragonbreath", 42}, + {"endrod", 43}, + {"damageindicator", 44}, + {"sweepattack", 45}, + {"fallingdust", 46}, + {"totem", 47}, + {"spit", 48} }; const auto ParticleName = StrToLower(a_ParticleName); @@ -4043,39 +4142,39 @@ const char * cProtocol_1_8_0::GetProtocolStatisticName(const CustomStatistic a_S switch (a_Statistic) { // V1.8 Achievements - case CustomStatistic::AchOpenInventory: return "achievement.openInventory"; - case CustomStatistic::AchMineWood: return "achievement.mineWood"; - case CustomStatistic::AchBuildWorkBench: return "achievement.buildWorkBench"; - case CustomStatistic::AchBuildPickaxe: return "achievement.buildPickaxe"; - case CustomStatistic::AchBuildFurnace: return "achievement.buildFurnace"; - case CustomStatistic::AchAcquireIron: return "achievement.acquireIron"; - case CustomStatistic::AchBuildHoe: return "achievement.buildHoe"; - case CustomStatistic::AchMakeBread: return "achievement.makeBread"; - case CustomStatistic::AchBakeCake: return "achievement.bakeCake"; - case CustomStatistic::AchBuildBetterPickaxe: return "achievement.buildBetterPickaxe"; - case CustomStatistic::AchCookFish: return "achievement.cookFish"; - case CustomStatistic::AchOnARail: return "achievement.onARail"; - case CustomStatistic::AchBuildSword: return "achievement.buildSword"; - case CustomStatistic::AchKillEnemy: return "achievement.killEnemy"; - case CustomStatistic::AchKillCow: return "achievement.killCow"; - case CustomStatistic::AchFlyPig: return "achievement.flyPig"; - case CustomStatistic::AchSnipeSkeleton: return "achievement.snipeSkeleton"; - case CustomStatistic::AchDiamonds: return "achievement.diamonds"; - case CustomStatistic::AchPortal: return "achievement.portal"; - case CustomStatistic::AchGhast: return "achievement.ghast"; - case CustomStatistic::AchBlazeRod: return "achievement.blazeRod"; - case CustomStatistic::AchPotion: return "achievement.potion"; - case CustomStatistic::AchTheEnd: return "achievement.theEnd"; - case CustomStatistic::AchTheEnd2: return "achievement.theEnd2"; - case CustomStatistic::AchEnchantments: return "achievement.enchantments"; - case CustomStatistic::AchOverkill: return "achievement.overkill"; - case CustomStatistic::AchBookcase: return "achievement.bookcase"; - case CustomStatistic::AchExploreAllBiomes: return "achievement.exploreAllBiomes"; - case CustomStatistic::AchSpawnWither: return "achievement.spawnWither"; - case CustomStatistic::AchKillWither: return "achievement.killWither"; - case CustomStatistic::AchFullBeacon: return "achievement.fullBeacon"; - case CustomStatistic::AchBreedCow: return "achievement.breedCow"; - case CustomStatistic::AchDiamondsToYou: return "achievement.diamondsToYou"; + case CustomStatistic::AchOpenInventory: return "achievement.openInventory"; + case CustomStatistic::AchMineWood: return "achievement.mineWood"; + case CustomStatistic::AchBuildWorkBench: return "achievement.buildWorkBench"; + case CustomStatistic::AchBuildPickaxe: return "achievement.buildPickaxe"; + case CustomStatistic::AchBuildFurnace: return "achievement.buildFurnace"; + case CustomStatistic::AchAcquireIron: return "achievement.acquireIron"; + case CustomStatistic::AchBuildHoe: return "achievement.buildHoe"; + case CustomStatistic::AchMakeBread: return "achievement.makeBread"; + case CustomStatistic::AchBakeCake: return "achievement.bakeCake"; + case CustomStatistic::AchBuildBetterPickaxe: return "achievement.buildBetterPickaxe"; + case CustomStatistic::AchCookFish: return "achievement.cookFish"; + case CustomStatistic::AchOnARail: return "achievement.onARail"; + case CustomStatistic::AchBuildSword: return "achievement.buildSword"; + case CustomStatistic::AchKillEnemy: return "achievement.killEnemy"; + case CustomStatistic::AchKillCow: return "achievement.killCow"; + case CustomStatistic::AchFlyPig: return "achievement.flyPig"; + case CustomStatistic::AchSnipeSkeleton: return "achievement.snipeSkeleton"; + case CustomStatistic::AchDiamonds: return "achievement.diamonds"; + case CustomStatistic::AchPortal: return "achievement.portal"; + case CustomStatistic::AchGhast: return "achievement.ghast"; + case CustomStatistic::AchBlazeRod: return "achievement.blazeRod"; + case CustomStatistic::AchPotion: return "achievement.potion"; + case CustomStatistic::AchTheEnd: return "achievement.theEnd"; + case CustomStatistic::AchTheEnd2: return "achievement.theEnd2"; + case CustomStatistic::AchEnchantments: return "achievement.enchantments"; + case CustomStatistic::AchOverkill: return "achievement.overkill"; + case CustomStatistic::AchBookcase: return "achievement.bookcase"; + case CustomStatistic::AchExploreAllBiomes: return "achievement.exploreAllBiomes"; + case CustomStatistic::AchSpawnWither: return "achievement.spawnWither"; + case CustomStatistic::AchKillWither: return "achievement.killWither"; + case CustomStatistic::AchFullBeacon: return "achievement.fullBeacon"; + case CustomStatistic::AchBreedCow: return "achievement.breedCow"; + case CustomStatistic::AchDiamondsToYou: return "achievement.diamondsToYou"; // V1.8 stats case CustomStatistic::AnimalsBred: return "stat.animalsBred"; @@ -4131,7 +4230,7 @@ const char * cProtocol_1_8_0::GetProtocolStatisticName(const CustomStatistic a_S case CustomStatistic::AviateOneCm: return "stat.aviateOneCm"; case CustomStatistic::SleepInBed: return "stat.sleepInBed"; case CustomStatistic::SneakTime: return "stat.sneakTime"; - default: return ""; + default: return ""; } } @@ -4160,8 +4259,12 @@ void cProtocol_1_8_0::HandlePacket(cByteBuffer & a_Buffer) AString PacketDataHex; CreateHexDump(PacketDataHex, PacketData.data(), PacketData.size(), 16); m_CommLogFile.Write(fmt::format( - FMT_STRING("Next incoming packet is type {0} (0x{0:x}), length {1} (0x{1:x}) at state {2}. Payload:\n{3}\n"), - PacketType, a_Buffer.GetUsedSpace(), m_State, PacketDataHex + FMT_STRING("Next incoming packet is type {0} (0x{0:x}), length {1} (0x{1:x}) at state {2}. Payload:\n{3}\n" + ), + PacketType, + a_Buffer.GetUsedSpace(), + m_State, + PacketDataHex )); } @@ -4194,8 +4297,13 @@ void cProtocol_1_8_0::HandlePacket(cByteBuffer & a_Buffer) if (a_Buffer.GetReadableSpace() != 0) { // Read more or less than packet length, report as error - LOGWARNING("Protocol 1.8: Wrong number of bytes read for packet 0x%x, state %d. Read %zu bytes, packet contained %u bytes", - PacketType, m_State, a_Buffer.GetUsedSpace() - a_Buffer.GetReadableSpace(), a_Buffer.GetUsedSpace() + LOGWARNING( + "Protocol 1.8: Wrong number of bytes read for packet 0x%x, state %d. Read %zu bytes, packet contained %u " + "bytes", + PacketType, + m_State, + a_Buffer.GetUsedSpace() - a_Buffer.GetReadableSpace(), + a_Buffer.GetUsedSpace() ); // Put a message in the comm log: diff --git a/src/Protocol/Protocol_1_8.h b/src/Protocol/Protocol_1_8.h index ed13399ef..c0eea710a 100644 --- a/src/Protocol/Protocol_1_8.h +++ b/src/Protocol/Protocol_1_8.h @@ -27,109 +27,144 @@ Declares the 1.8 protocol classes: -class cProtocol_1_8_0: - public cProtocol +class cProtocol_1_8_0 : public cProtocol { using Super = cProtocol; -public: - + public: cProtocol_1_8_0(cClientHandle * a_Client, const AString & a_ServerAddress, State a_State); virtual void DataReceived(cByteBuffer & a_Buffer, ContiguousByteBuffer & a_Data) override; virtual void DataPrepared(ContiguousByteBuffer & a_Data) override; // Sending stuff to clients (alphabetically sorted): - virtual void SendAttachEntity (const cEntity & a_Entity, const cEntity & a_Vehicle) override; - virtual void SendBlockAction (Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override; - virtual void SendBlockBreakAnim (UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage) override; - virtual void SendBlockChange (Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; - virtual void SendBlockChanges (int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes) override; - virtual void SendBossBarAdd (UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) override; - virtual void SendBossBarRemove (UInt32 a_UniqueID) override; - virtual void SendBossBarUpdateFlags (UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) override; - virtual void SendBossBarUpdateHealth (UInt32 a_UniqueID, float a_FractionFilled) override; - virtual void SendBossBarUpdateStyle (UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType) override; - virtual void SendBossBarUpdateTitle (UInt32 a_UniqueID, const cCompositeChat & a_Title) override; - virtual void SendCameraSetTo (const cEntity & a_Entity) override; - virtual void SendChat (const AString & a_Message, eChatType a_Type) override; - virtual void SendChat (const cCompositeChat & a_Message, eChatType a_Type, bool a_ShouldUseChatPrefixes) override; - virtual void SendChatRaw (const AString & a_MessageRaw, eChatType a_Type) override; - virtual void SendChunkData (ContiguousByteBufferView a_ChunkData) override; - virtual void SendCollectEntity (const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count) override; - virtual void SendDestroyEntity (const cEntity & a_Entity) override; - virtual void SendDetachEntity (const cEntity & a_Entity, const cEntity & a_PreviousVehicle) override; - virtual void SendDisconnect (const AString & a_Reason) override; - virtual void SendEditSign (Vector3i a_BlockPos) override; ///< Request the client to open up the sign editor for the sign (1.6+) - virtual void SendEntityAnimation (const cEntity & a_Entity, EntityAnimation a_Animation) override; - virtual void SendEntityEffect (const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration) override; - virtual void SendEntityEquipment (const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) override; - virtual void SendEntityHeadLook (const cEntity & a_Entity) override; - virtual void SendEntityLook (const cEntity & a_Entity) override; - virtual void SendEntityMetadata (const cEntity & a_Entity) override; - virtual void SendEntityPosition (const cEntity & a_Entity) override; - virtual void SendEntityProperties (const cEntity & a_Entity) override; - virtual void SendEntityVelocity (const cEntity & a_Entity) override; - virtual void SendExperience (void) override; - virtual void SendExperienceOrb (const cExpOrb & a_ExpOrb) override; - virtual void SendExplosion (Vector3f a_Position, float a_Power) override; - virtual void SendGameMode (eGameMode a_GameMode) override; - virtual void SendHealth (void) override; - virtual void SendHeldItemChange (int a_ItemIndex) override; - virtual void SendHideTitle (void) override; - virtual void SendInventorySlot (char a_WindowID, short a_SlotNum, const cItem & a_Item) override; - virtual void SendKeepAlive (UInt32 a_PingID) override; - virtual void SendLeashEntity (const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) override; - virtual void SendLogin (const cPlayer & a_Player, const cWorld & a_World) override; - virtual void SendLoginSuccess (void) override; - virtual void SendMapData (const cMap & a_Map, int a_DataStartX, int a_DataStartY) override; - virtual void SendPaintingSpawn (const cPainting & a_Painting) override; - virtual void SendPlayerAbilities (void) override; - virtual void SendParticleEffect (const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount) override; - virtual void SendParticleEffect (const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data) override; - virtual void SendPlayerListAddPlayer (const cPlayer & a_Player) override; - virtual void SendPlayerListHeaderFooter (const cCompositeChat & a_Header, const cCompositeChat & a_Footer) override; - virtual void SendPlayerListRemovePlayer (const cPlayer & a_Player) override; + virtual void SendAttachEntity(const cEntity & a_Entity, const cEntity & a_Vehicle) override; + virtual void SendBlockAction(Vector3i a_BlockPos, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override; + virtual void SendBlockBreakAnim(UInt32 a_EntityID, Vector3i a_BlockPos, char a_Stage) override; + virtual void SendBlockChange(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; + virtual void SendBlockChanges(int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes) override; + virtual void SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog + ) override; + virtual void SendBossBarRemove(UInt32 a_UniqueID) override; + virtual void SendBossBarUpdateFlags(UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) + override; + virtual void SendBossBarUpdateHealth(UInt32 a_UniqueID, float a_FractionFilled) override; + virtual void SendBossBarUpdateStyle(UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType) + override; + virtual void SendBossBarUpdateTitle(UInt32 a_UniqueID, const cCompositeChat & a_Title) override; + virtual void SendCameraSetTo(const cEntity & a_Entity) override; + virtual void SendChat(const AString & a_Message, eChatType a_Type) override; + virtual void SendChat(const cCompositeChat & a_Message, eChatType a_Type, bool a_ShouldUseChatPrefixes) override; + virtual void SendChatRaw(const AString & a_MessageRaw, eChatType a_Type) override; + virtual void SendChunkData(ContiguousByteBufferView a_ChunkData) override; + virtual void SendCollectEntity(const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count) override; + virtual void SendDestroyEntity(const cEntity & a_Entity) override; + virtual void SendDetachEntity(const cEntity & a_Entity, const cEntity & a_PreviousVehicle) override; + virtual void SendDisconnect(const AString & a_Reason) override; + virtual void SendEditSign(Vector3i a_BlockPos + ) override; ///< Request the client to open up the sign editor for the sign (1.6+) + virtual void SendEntityAnimation(const cEntity & a_Entity, EntityAnimation a_Animation) override; + virtual void SendEntityEffect(const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration) override; + virtual void SendEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) override; + virtual void SendEntityHeadLook(const cEntity & a_Entity) override; + virtual void SendEntityLook(const cEntity & a_Entity) override; + virtual void SendEntityMetadata(const cEntity & a_Entity) override; + virtual void SendEntityPosition(const cEntity & a_Entity) override; + virtual void SendEntityProperties(const cEntity & a_Entity) override; + virtual void SendEntityVelocity(const cEntity & a_Entity) override; + virtual void SendExperience(void) override; + virtual void SendExperienceOrb(const cExpOrb & a_ExpOrb) override; + virtual void SendExplosion(Vector3f a_Position, float a_Power) override; + virtual void SendGameMode(eGameMode a_GameMode) override; + virtual void SendHealth(void) override; + virtual void SendHeldItemChange(int a_ItemIndex) override; + virtual void SendHideTitle(void) override; + virtual void SendInventorySlot(char a_WindowID, short a_SlotNum, const cItem & a_Item) override; + virtual void SendKeepAlive(UInt32 a_PingID) override; + virtual void SendLeashEntity(const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) override; + virtual void SendLogin(const cPlayer & a_Player, const cWorld & a_World) override; + virtual void SendLoginSuccess(void) override; + virtual void SendMapData(const cMap & a_Map, int a_DataStartX, int a_DataStartY) override; + virtual void SendPaintingSpawn(const cPainting & a_Painting) override; + virtual void SendPlayerAbilities(void) override; + virtual void SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount + ) override; + virtual void SendParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data + ) override; + virtual void SendPlayerListAddPlayer(const cPlayer & a_Player) override; + virtual void SendPlayerListHeaderFooter(const cCompositeChat & a_Header, const cCompositeChat & a_Footer) override; + virtual void SendPlayerListRemovePlayer(const cPlayer & a_Player) override; virtual void SendPlayerListUpdateDisplayName(const cPlayer & a_Player, const AString & a_CustomName) override; - virtual void SendPlayerListUpdateGameMode (const cPlayer & a_Player) override; - virtual void SendPlayerListUpdatePing () override; - virtual void SendPlayerMoveLook (Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative) override; - virtual void SendPlayerMoveLook (void) override; - virtual void SendPlayerPermissionLevel (void) override; - virtual void SendPlayerPosition (void) override; - virtual void SendPlayerSpawn (const cPlayer & a_Player) override; - virtual void SendPluginMessage (const AString & a_Channel, ContiguousByteBufferView a_Message) override; - virtual void SendRemoveEntityEffect (const cEntity & a_Entity, int a_EffectID) override; - virtual void SendResetTitle (void) override; - virtual void SendResourcePack (const AString & a_ResourcePackUrl) override; - virtual void SendRespawn (eDimension a_Dimension) override; - virtual void SendSoundEffect (const AString & a_SoundName, Vector3d a_Origin, float a_Volume, float a_Pitch) override; - virtual void SendScoreboardObjective (const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) override; - virtual void SendScoreUpdate (const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode) override; - virtual void SendDisplayObjective (const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) override; - virtual void SendSetSubTitle (const cCompositeChat & a_SubTitle) override; - virtual void SendSetRawSubTitle (const AString & a_SubTitle) override; - virtual void SendSetTitle (const cCompositeChat & a_Title) override; - virtual void SendSetRawTitle (const AString & a_Title) override; - virtual void SendSoundParticleEffect (const EffectID a_EffectID, Vector3i a_Origin, int a_Data) override; - virtual void SendSpawnEntity (const cEntity & a_Entity) override; - virtual void SendSpawnMob (const cMonster & a_Mob) override; - virtual void SendStatistics (const StatisticsManager & a_Manager) override; - virtual void SendTabCompletionResults (const AStringVector & a_Results) override; - virtual void SendThunderbolt (Vector3i a_BlockPos) override; - virtual void SendTitleTimes (int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override; - virtual void SendTimeUpdate (cTickTimeLong a_WorldAge, cTickTimeLong a_WorldDate, bool a_DoDaylightCycle) override; - virtual void SendUnleashEntity (const cEntity & a_Entity) override; - virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) override; - virtual void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity) override; - virtual void SendUpdateSign (Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) override; - virtual void SendUnlockRecipe (UInt32 a_RecipeID) override; - virtual void SendInitRecipes (UInt32 a_RecipeID) override; - virtual void SendWeather (eWeather a_Weather) override; - virtual void SendWholeInventory (const cWindow & a_Window) override; - virtual void SendWindowClose (const cWindow & a_Window) override; - virtual void SendWindowOpen (const cWindow & a_Window) override; - virtual void SendWindowProperty (const cWindow & a_Window, size_t a_Property, short a_Value) override; + virtual void SendPlayerListUpdateGameMode(const cPlayer & a_Player) override; + virtual void SendPlayerListUpdatePing() override; + virtual void SendPlayerMoveLook(Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative) override; + virtual void SendPlayerMoveLook(void) override; + virtual void SendPlayerPermissionLevel(void) override; + virtual void SendPlayerPosition(void) override; + virtual void SendPlayerSpawn(const cPlayer & a_Player) override; + virtual void SendPluginMessage(const AString & a_Channel, ContiguousByteBufferView a_Message) override; + virtual void SendRemoveEntityEffect(const cEntity & a_Entity, int a_EffectID) override; + virtual void SendResetTitle(void) override; + virtual void SendResourcePack(const AString & a_ResourcePackUrl) override; + virtual void SendRespawn(eDimension a_Dimension) override; + virtual void SendSoundEffect(const AString & a_SoundName, Vector3d a_Origin, float a_Volume, float a_Pitch) + override; + virtual void SendScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) override; + virtual void SendScoreUpdate( + const AString & a_Objective, + const AString & a_Player, + cObjective::Score a_Score, + Byte a_Mode + ) override; + virtual void SendDisplayObjective(const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) override; + virtual void SendSetSubTitle(const cCompositeChat & a_SubTitle) override; + virtual void SendSetRawSubTitle(const AString & a_SubTitle) override; + virtual void SendSetTitle(const cCompositeChat & a_Title) override; + virtual void SendSetRawTitle(const AString & a_Title) override; + virtual void SendSoundParticleEffect(const EffectID a_EffectID, Vector3i a_Origin, int a_Data) override; + virtual void SendSpawnEntity(const cEntity & a_Entity) override; + virtual void SendSpawnMob(const cMonster & a_Mob) override; + virtual void SendStatistics(const StatisticsManager & a_Manager) override; + virtual void SendTabCompletionResults(const AStringVector & a_Results) override; + virtual void SendThunderbolt(Vector3i a_BlockPos) override; + virtual void SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override; + virtual void SendTimeUpdate(cTickTimeLong a_WorldAge, cTickTimeLong a_WorldDate, bool a_DoDaylightCycle) override; + virtual void SendUnleashEntity(const cEntity & a_Entity) override; + virtual void SendUnloadChunk(int a_ChunkX, int a_ChunkZ) override; + virtual void SendUpdateBlockEntity(cBlockEntity & a_BlockEntity) override; + virtual void SendUpdateSign( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 + ) override; + virtual void SendUnlockRecipe(UInt32 a_RecipeID) override; + virtual void SendInitRecipes(UInt32 a_RecipeID) override; + virtual void SendWeather(eWeather a_Weather) override; + virtual void SendWholeInventory(const cWindow & a_Window) override; + virtual void SendWindowClose(const cWindow & a_Window) override; + virtual void SendWindowOpen(const cWindow & a_Window) override; + virtual void SendWindowProperty(const cWindow & a_Window, size_t a_Property, short a_Value) override; virtual AString GetAuthServerID(void) override { return m_AuthServerID; } @@ -137,8 +172,7 @@ public: a_Compressed will be set to the compressed packet includes packet length and data length. */ static void CompressPacket(CircularBufferCompressor & a_Packet, ContiguousByteBuffer & a_Compressed); -protected: - + protected: /** State of the protocol. */ State m_State; @@ -164,7 +198,8 @@ protected: /** Converts eMonsterType to protocol-specific mob types */ virtual UInt32 GetProtocolMobType(eMonsterType a_MobType) const; - /** The 1.8 protocol use a particle id instead of a string. This function converts the name to the id. If the name is incorrect, it returns 0. */ + /** The 1.8 protocol use a particle id instead of a string. This function converts the name to the id. If the name + * is incorrect, it returns 0. */ virtual int GetProtocolParticleID(const AString & a_ParticleName) const; /** Returns the protocol version. */ @@ -183,31 +218,31 @@ protected: virtual void HandlePacketLoginStart(cByteBuffer & a_ByteBuffer); // Packet handlers while in the Game state (m_State == 3): - virtual void HandlePacketAnimation (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketBlockDig (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketBlockPlace (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketChatMessage (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketClientSettings (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketClientStatus (cByteBuffer & a_ByteBuffer); + virtual void HandlePacketAnimation(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketBlockDig(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketBlockPlace(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketChatMessage(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketClientSettings(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketClientStatus(cByteBuffer & a_ByteBuffer); virtual void HandlePacketCreativeInventoryAction(cByteBuffer & a_ByteBuffer); - virtual void HandlePacketEntityAction (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketKeepAlive (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketPlayer (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketPlayerAbilities (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketPlayerLook (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketPlayerPos (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketPlayerPosLook (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketPluginMessage (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketResourcePackStatus (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketSlotSelect (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketSpectate (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketSteerVehicle (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketTabComplete (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketUpdateSign (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketUseEntity (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketEnchantItem (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketWindowClick (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketWindowClose (cByteBuffer & a_ByteBuffer); + virtual void HandlePacketEntityAction(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketKeepAlive(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketPlayer(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketPlayerAbilities(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketPlayerLook(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketPlayerPos(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketPlayerPosLook(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketPluginMessage(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketResourcePackStatus(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketSlotSelect(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketSpectate(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketSteerVehicle(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketTabComplete(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketUpdateSign(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketUseEntity(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketEnchantItem(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketWindowClick(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketWindowClose(cByteBuffer & a_ByteBuffer); /** Parses Vanilla plugin messages into specific ClientHandle calls. The message payload is still in the bytebuffer, the handler reads it specifically for each handled channel. */ @@ -242,8 +277,7 @@ protected: /** Writes the mob-specific metadata for the specified mob */ virtual void WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mob) const; -private: - + private: AString m_ServerAddress; AString m_AuthServerID; @@ -263,12 +297,12 @@ private: void AddReceivedData(cByteBuffer & a_Buffer, ContiguousByteBufferView a_Data); /** Converts a statistic to a protocol-specific string. - Protocols <= 1.12 use strings, hence this is a static as the string-mapping was append-only for the versions that used it. - Returns an empty string, handled correctly by the client, for newer, unsupported statistics. */ + Protocols <= 1.12 use strings, hence this is a static as the string-mapping was append-only for the versions that + used it. Returns an empty string, handled correctly by the client, for newer, unsupported statistics. */ static const char * GetProtocolStatisticName(CustomStatistic a_Statistic); /** Handle a complete packet stored in the given buffer. */ void HandlePacket(cByteBuffer & a_Buffer); void StartEncryption(const Byte * a_Key); -} ; +}; diff --git a/src/Protocol/Protocol_1_9.cpp b/src/Protocol/Protocol_1_9.cpp index 2506710b3..c695fe757 100644 --- a/src/Protocol/Protocol_1_9.cpp +++ b/src/Protocol/Protocol_1_9.cpp @@ -65,9 +65,7 @@ Implements the 1.9 protocol classes: // cProtocol_1_9_0: cProtocol_1_9_0::cProtocol_1_9_0(cClientHandle * a_Client, const AString & a_ServerAddress, State a_State) : - Super(a_Client, a_ServerAddress, a_State), - m_IsTeleportIdConfirmed(true), - m_OutstandingTeleportId(0) + Super(a_Client, a_ServerAddress, a_State), m_IsTeleportIdConfirmed(true), m_OutstandingTeleportId(0) { } @@ -88,7 +86,16 @@ void cProtocol_1_9_0::SendAttachEntity(const cEntity & a_Entity, const cEntity & -void cProtocol_1_9_0::SendBossBarAdd(UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) +void cProtocol_1_9_0::SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog +) { ASSERT(m_State == 3); // In game mode? @@ -99,32 +106,36 @@ void cProtocol_1_9_0::SendBossBarAdd(UInt32 a_UniqueID, const cCompositeChat & a Pkt.WriteVarInt32(0); // Add Pkt.WriteString(a_Title.CreateJsonString()); Pkt.WriteBEFloat(a_FractionFilled); - Pkt.WriteVarInt32([a_Color] - { - switch (a_Color) + Pkt.WriteVarInt32( + [a_Color] { - case BossBarColor::Pink: return 0U; - case BossBarColor::Blue: return 1U; - case BossBarColor::Red: return 2U; - case BossBarColor::Green: return 3U; - case BossBarColor::Yellow: return 4U; - case BossBarColor::Purple: return 5U; - case BossBarColor::White: return 6U; - } - UNREACHABLE("Unsupported boss bar property"); - }()); - Pkt.WriteVarInt32([a_DivisionType] - { - switch (a_DivisionType) + switch (a_Color) + { + case BossBarColor::Pink: return 0U; + case BossBarColor::Blue: return 1U; + case BossBarColor::Red: return 2U; + case BossBarColor::Green: return 3U; + case BossBarColor::Yellow: return 4U; + case BossBarColor::Purple: return 5U; + case BossBarColor::White: return 6U; + } + UNREACHABLE("Unsupported boss bar property"); + }() + ); + Pkt.WriteVarInt32( + [a_DivisionType] { - case BossBarDivisionType::None: return 0U; - case BossBarDivisionType::SixNotches: return 1U; - case BossBarDivisionType::TenNotches: return 2U; - case BossBarDivisionType::TwelveNotches: return 3U; - case BossBarDivisionType::TwentyNotches: return 4U; - } - UNREACHABLE("Unsupported boss bar property"); - }()); + switch (a_DivisionType) + { + case BossBarDivisionType::None: return 0U; + case BossBarDivisionType::SixNotches: return 1U; + case BossBarDivisionType::TenNotches: return 2U; + case BossBarDivisionType::TwelveNotches: return 3U; + case BossBarDivisionType::TwentyNotches: return 4U; + } + UNREACHABLE("Unsupported boss bar property"); + }() + ); { UInt8 Flags = 0x00; if (a_DarkenSky) @@ -201,7 +212,11 @@ void cProtocol_1_9_0::SendBossBarUpdateHealth(UInt32 a_UniqueID, float a_Fractio -void cProtocol_1_9_0::SendBossBarUpdateStyle(UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType) +void cProtocol_1_9_0::SendBossBarUpdateStyle( + UInt32 a_UniqueID, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType +) { ASSERT(m_State == 3); // In game mode? @@ -210,32 +225,36 @@ void cProtocol_1_9_0::SendBossBarUpdateStyle(UInt32 a_UniqueID, BossBarColor a_C Pkt.WriteBEUInt64(0); Pkt.WriteBEUInt64(a_UniqueID); Pkt.WriteVarInt32(4); // Update health - Pkt.WriteVarInt32([a_Color] - { - switch (a_Color) + Pkt.WriteVarInt32( + [a_Color] { - case BossBarColor::Pink: return 0U; - case BossBarColor::Blue: return 1U; - case BossBarColor::Red: return 2U; - case BossBarColor::Green: return 3U; - case BossBarColor::Yellow: return 4U; - case BossBarColor::Purple: return 5U; - case BossBarColor::White: return 6U; - } - UNREACHABLE("Unsupported boss bar property"); - }()); - Pkt.WriteVarInt32([a_DivisionType] - { - switch (a_DivisionType) + switch (a_Color) + { + case BossBarColor::Pink: return 0U; + case BossBarColor::Blue: return 1U; + case BossBarColor::Red: return 2U; + case BossBarColor::Green: return 3U; + case BossBarColor::Yellow: return 4U; + case BossBarColor::Purple: return 5U; + case BossBarColor::White: return 6U; + } + UNREACHABLE("Unsupported boss bar property"); + }() + ); + Pkt.WriteVarInt32( + [a_DivisionType] { - case BossBarDivisionType::None: return 0U; - case BossBarDivisionType::SixNotches: return 1U; - case BossBarDivisionType::TenNotches: return 2U; - case BossBarDivisionType::TwelveNotches: return 3U; - case BossBarDivisionType::TwentyNotches: return 4U; - } - UNREACHABLE("Unsupported boss bar property"); - }()); + switch (a_DivisionType) + { + case BossBarDivisionType::None: return 0U; + case BossBarDivisionType::SixNotches: return 1U; + case BossBarDivisionType::TenNotches: return 2U; + case BossBarDivisionType::TwelveNotches: return 3U; + case BossBarDivisionType::TwentyNotches: return 4U; + } + UNREACHABLE("Unsupported boss bar property"); + }() + ); } @@ -307,15 +326,12 @@ void cProtocol_1_9_0::SendEntityPosition(const cEntity & a_Entity) { ASSERT(m_State == 3); // In game mode? - const auto Delta = (a_Entity.GetPosition() * 32 * 128).Floor() - (a_Entity.GetLastSentPosition() * 32 * 128).Floor(); + const auto Delta = + (a_Entity.GetPosition() * 32 * 128).Floor() - (a_Entity.GetLastSentPosition() * 32 * 128).Floor(); // Ensure that the delta has enough precision and is within range of a BEInt16: - if ( - Delta.HasNonZeroLength() && - cByteBuffer::CanBEInt16Represent(Delta.x) && - cByteBuffer::CanBEInt16Represent(Delta.y) && - cByteBuffer::CanBEInt16Represent(Delta.z) - ) + if (Delta.HasNonZeroLength() && cByteBuffer::CanBEInt16Represent(Delta.x) && + cByteBuffer::CanBEInt16Represent(Delta.y) && cByteBuffer::CanBEInt16Represent(Delta.z)) { const auto Move = static_cast>(Delta); @@ -381,7 +397,9 @@ void cProtocol_1_9_0::SendKeepAlive(UInt32 a_PingID) // Drop the packet if the protocol is not in the Game state yet (caused a client crash): if (m_State != 3) { - LOG("Trying to send a KeepAlive packet to a player who's not yet fully logged in (%d). The protocol class prevented the packet.", m_State); + LOG("Trying to send a KeepAlive packet to a player who's not yet fully logged in (%d). The protocol class " + "prevented the packet.", + m_State); return; } @@ -450,7 +468,8 @@ void cProtocol_1_9_0::SendMapData(const cMap & a_Map, int a_DataStartX, int a_Da Pkt.WriteVarInt32(static_cast(a_Map.GetDecorators().size())); for (const auto & Decorator : a_Map.GetDecorators()) { - Pkt.WriteBEUInt8(static_cast((static_cast(Decorator.GetType()) << 4) | (Decorator.GetRot() & 0xF))); + Pkt.WriteBEUInt8(static_cast((static_cast(Decorator.GetType()) << 4) | (Decorator.GetRot() & 0xF)) + ); Pkt.WriteBEUInt8(static_cast(Decorator.GetPixelX())); Pkt.WriteBEUInt8(static_cast(Decorator.GetPixelZ())); } @@ -470,7 +489,12 @@ void cProtocol_1_9_0::SendMapData(const cMap & a_Map, int a_DataStartX, int a_Da -void cProtocol_1_9_0::SendPlayerMoveLook (const Vector3d a_Pos, const float a_Yaw, const float a_Pitch, const bool a_IsRelative) +void cProtocol_1_9_0::SendPlayerMoveLook( + const Vector3d a_Pos, + const float a_Yaw, + const float a_Pitch, + const bool a_IsRelative +) { ASSERT(m_State == 3); // In game mode? @@ -505,7 +529,12 @@ void cProtocol_1_9_0::SendPlayerMoveLook (const Vector3d a_Pos, const float a_Ya void cProtocol_1_9_0::SendPlayerMoveLook(void) { cPlayer * Player = m_Client->GetPlayer(); - SendPlayerMoveLook(Player->GetPosition(), static_cast(Player->GetYaw()), static_cast(Player->GetPitch()), false); + SendPlayerMoveLook( + Player->GetPosition(), + static_cast(Player->GetYaw()), + static_cast(Player->GetPitch()), + false + ); } @@ -518,30 +547,37 @@ void cProtocol_1_9_0::SendPlayerPermissionLevel() cPacketizer Pkt(*this, pktEntityStatus); Pkt.WriteBEUInt32(Player.GetUniqueID()); - Pkt.WriteBEInt8([&Player]() -> signed char - { - if (Player.HasPermission("core.stop") || Player.HasPermission("core.reload") || Player.HasPermission("core.save-all")) + Pkt.WriteBEInt8( + [&Player]() -> signed char { - return 28; - } + if (Player.HasPermission("core.stop") || Player.HasPermission("core.reload") || + Player.HasPermission("core.save-all")) + { + return 28; + } - if (Player.HasPermission("core.ban") || Player.HasPermission("core.deop") || Player.HasPermission("core.kick") || Player.HasPermission("core.op")) - { - return 27; - } + if (Player.HasPermission("core.ban") || Player.HasPermission("core.deop") || + Player.HasPermission("core.kick") || Player.HasPermission("core.op")) + { + return 27; + } - if (Player.HasPermission("cuberite.comandblock.set") || Player.HasPermission("core.clear") || Player.HasPermission("core.difficulty") || Player.HasPermission("core.effect") || Player.HasPermission("core.gamemode") || Player.HasPermission("core.tp") || Player.HasPermission("core.give")) - { - return 26; - } + if (Player.HasPermission("cuberite.comandblock.set") || Player.HasPermission("core.clear") || + Player.HasPermission("core.difficulty") || Player.HasPermission("core.effect") || + Player.HasPermission("core.gamemode") || Player.HasPermission("core.tp") || + Player.HasPermission("core.give")) + { + return 26; + } - if (Player.HasPermission("core.spawnprotect.bypass")) - { - return 25; - } + if (Player.HasPermission("core.spawnprotect.bypass")) + { + return 25; + } - return 24; - }()); + return 24; + }() + ); } @@ -556,7 +592,9 @@ void cProtocol_1_9_0::SendPlayerSpawn(const cPlayer & a_Player) Pkt.WriteUUID(a_Player.GetUUID()); Vector3d LastSentPos = a_Player.GetLastSentPosition(); Pkt.WriteBEDouble(LastSentPos.x); - Pkt.WriteBEDouble(LastSentPos.y + 0.001); // The "+ 0.001" is there because otherwise the player falls through the block they were standing on. + Pkt.WriteBEDouble( + LastSentPos.y + 0.001 + ); // The "+ 0.001" is there because otherwise the player falls through the block they were standing on. Pkt.WriteBEDouble(LastSentPos.z); Pkt.WriteByteAngle(a_Player.GetYaw()); Pkt.WriteByteAngle(a_Player.GetPitch()); @@ -737,8 +775,7 @@ UInt32 cProtocol_1_9_0::GetPacketID(cProtocol::ePacketType a_Packet) const break; } - default: - break; + default: break; } UNREACHABLE("Unsupported outgoing packet type"); } @@ -766,11 +803,11 @@ signed char cProtocol_1_9_0::GetProtocolEntityStatus(const EntityAnimation a_Ani switch (a_Animation) { case EntityAnimation::ArmorStandGetsHit: return 32; - case EntityAnimation::ArrowTipSparkles: return 0; - case EntityAnimation::PawnShieldBlocks: return 29; - case EntityAnimation::PawnShieldBreaks: return 30; - case EntityAnimation::PawnThornsPricks: return 33; - default: return Super::GetProtocolEntityStatus(a_Animation); + case EntityAnimation::ArrowTipSparkles: return 0; + case EntityAnimation::PawnShieldBlocks: return 29; + case EntityAnimation::PawnShieldBreaks: return 30; + case EntityAnimation::PawnThornsPricks: return 33; + default: return Super::GetProtocolEntityStatus(a_Animation); } } @@ -809,7 +846,7 @@ bool cProtocol_1_9_0::HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketTy switch (a_PacketType) { case 0x00: HandlePacketStatusRequest(a_ByteBuffer); return true; - case 0x01: HandlePacketStatusPing (a_ByteBuffer); return true; + case 0x01: HandlePacketStatusPing(a_ByteBuffer); return true; } break; } @@ -818,7 +855,7 @@ bool cProtocol_1_9_0::HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketTy { switch (a_PacketType) { - case 0x00: HandlePacketLoginStart (a_ByteBuffer); return true; + case 0x00: HandlePacketLoginStart(a_ByteBuffer); return true; case 0x01: HandlePacketLoginEncryptionResponse(a_ByteBuffer); return true; } break; @@ -828,36 +865,36 @@ bool cProtocol_1_9_0::HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketTy { switch (a_PacketType) { - case 0x00: HandleConfirmTeleport (a_ByteBuffer); return true; - case 0x01: HandlePacketTabComplete (a_ByteBuffer); return true; - case 0x02: HandlePacketChatMessage (a_ByteBuffer); return true; - case 0x03: HandlePacketClientStatus (a_ByteBuffer); return true; - case 0x04: HandlePacketClientSettings (a_ByteBuffer); return true; + case 0x00: HandleConfirmTeleport(a_ByteBuffer); return true; + case 0x01: HandlePacketTabComplete(a_ByteBuffer); return true; + case 0x02: HandlePacketChatMessage(a_ByteBuffer); return true; + case 0x03: HandlePacketClientStatus(a_ByteBuffer); return true; + case 0x04: HandlePacketClientSettings(a_ByteBuffer); return true; case 0x05: break; // Confirm transaction - not used in MCS - case 0x06: HandlePacketEnchantItem (a_ByteBuffer); return true; - case 0x07: HandlePacketWindowClick (a_ByteBuffer); return true; - case 0x08: HandlePacketWindowClose (a_ByteBuffer); return true; - case 0x09: HandlePacketPluginMessage (a_ByteBuffer); return true; - case 0x0a: HandlePacketUseEntity (a_ByteBuffer); return true; - case 0x0b: HandlePacketKeepAlive (a_ByteBuffer); return true; - case 0x0c: HandlePacketPlayerPos (a_ByteBuffer); return true; - case 0x0d: HandlePacketPlayerPosLook (a_ByteBuffer); return true; - case 0x0e: HandlePacketPlayerLook (a_ByteBuffer); return true; - case 0x0f: HandlePacketPlayer (a_ByteBuffer); return true; - case 0x10: HandlePacketVehicleMove (a_ByteBuffer); return true; - case 0x11: HandlePacketBoatSteer (a_ByteBuffer); return true; - case 0x12: HandlePacketPlayerAbilities (a_ByteBuffer); return true; - case 0x13: HandlePacketBlockDig (a_ByteBuffer); return true; - case 0x14: HandlePacketEntityAction (a_ByteBuffer); return true; - case 0x15: HandlePacketSteerVehicle (a_ByteBuffer); return true; - case 0x16: HandlePacketResourcePackStatus (a_ByteBuffer); return true; - case 0x17: HandlePacketSlotSelect (a_ByteBuffer); return true; + case 0x06: HandlePacketEnchantItem(a_ByteBuffer); return true; + case 0x07: HandlePacketWindowClick(a_ByteBuffer); return true; + case 0x08: HandlePacketWindowClose(a_ByteBuffer); return true; + case 0x09: HandlePacketPluginMessage(a_ByteBuffer); return true; + case 0x0a: HandlePacketUseEntity(a_ByteBuffer); return true; + case 0x0b: HandlePacketKeepAlive(a_ByteBuffer); return true; + case 0x0c: HandlePacketPlayerPos(a_ByteBuffer); return true; + case 0x0d: HandlePacketPlayerPosLook(a_ByteBuffer); return true; + case 0x0e: HandlePacketPlayerLook(a_ByteBuffer); return true; + case 0x0f: HandlePacketPlayer(a_ByteBuffer); return true; + case 0x10: HandlePacketVehicleMove(a_ByteBuffer); return true; + case 0x11: HandlePacketBoatSteer(a_ByteBuffer); return true; + case 0x12: HandlePacketPlayerAbilities(a_ByteBuffer); return true; + case 0x13: HandlePacketBlockDig(a_ByteBuffer); return true; + case 0x14: HandlePacketEntityAction(a_ByteBuffer); return true; + case 0x15: HandlePacketSteerVehicle(a_ByteBuffer); return true; + case 0x16: HandlePacketResourcePackStatus(a_ByteBuffer); return true; + case 0x17: HandlePacketSlotSelect(a_ByteBuffer); return true; case 0x18: HandlePacketCreativeInventoryAction(a_ByteBuffer); return true; - case 0x19: HandlePacketUpdateSign (a_ByteBuffer); return true; - case 0x1a: HandlePacketAnimation (a_ByteBuffer); return true; - case 0x1b: HandlePacketSpectate (a_ByteBuffer); return true; - case 0x1c: HandlePacketBlockPlace (a_ByteBuffer); return true; - case 0x1d: HandlePacketUseItem (a_ByteBuffer); return true; + case 0x19: HandlePacketUpdateSign(a_ByteBuffer); return true; + case 0x1a: HandlePacketAnimation(a_ByteBuffer); return true; + case 0x1b: HandlePacketSpectate(a_ByteBuffer); return true; + case 0x1c: HandlePacketBlockPlace(a_ByteBuffer); return true; + case 0x1d: HandlePacketUseItem(a_ByteBuffer); return true; } break; } @@ -876,7 +913,9 @@ void cProtocol_1_9_0::HandlePacketAnimation(cByteBuffer & a_ByteBuffer) { HANDLE_READ(a_ByteBuffer, ReadVarInt, Int32, Hand); - m_Client->HandleAnimation(Hand == MAIN_HAND); // Packet exists solely for arm-swing notification (main and off-hand). + m_Client->HandleAnimation( + Hand == MAIN_HAND + ); // Packet exists solely for arm-swing notification (main and off-hand). } @@ -948,11 +987,11 @@ void cProtocol_1_9_0::HandlePacketBoatSteer(cByteBuffer & a_ByteBuffer) void cProtocol_1_9_0::HandlePacketClientSettings(cByteBuffer & a_ByteBuffer) { HANDLE_READ(a_ByteBuffer, ReadVarUTF8String, AString, Locale); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, ViewDistance); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, ChatFlags); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, ChatColors); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, SkinParts); - HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, MainHand); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, ViewDistance); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, ChatFlags); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, ChatColors); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, SkinParts); + HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, MainHand); m_Client->SetLocale(Locale); m_Client->SetViewDistance(ViewDistance); @@ -982,9 +1021,9 @@ void cProtocol_1_9_0::HandleConfirmTeleport(cByteBuffer & a_ByteBuffer) void cProtocol_1_9_0::HandlePacketEntityAction(cByteBuffer & a_ByteBuffer) { - HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, PlayerID); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Action); - HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, JumpBoost); + HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, PlayerID); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Action); + HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, JumpBoost); if (PlayerID != m_Client->GetPlayer()->GetUniqueID()) { @@ -1013,7 +1052,7 @@ void cProtocol_1_9_0::HandlePacketPlayerPos(cByteBuffer & a_ByteBuffer) HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosX); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosY); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosZ); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); if (m_IsTeleportIdConfirmed) { @@ -1030,9 +1069,9 @@ void cProtocol_1_9_0::HandlePacketPlayerPosLook(cByteBuffer & a_ByteBuffer) HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosX); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosY); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, PosZ); - HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Yaw); - HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Pitch); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); + HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Yaw); + HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, Pitch); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, IsOnGround); if (m_IsTeleportIdConfirmed) { @@ -1071,8 +1110,8 @@ void cProtocol_1_9_0::HandlePacketSteerVehicle(cByteBuffer & a_ByteBuffer) void cProtocol_1_9_0::HandlePacketTabComplete(cByteBuffer & a_ByteBuffer) { HANDLE_READ(a_ByteBuffer, ReadVarUTF8String, AString, Text); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, AssumeCommand); - HANDLE_READ(a_ByteBuffer, ReadBool, bool, HasPosition); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, AssumeCommand); + HANDLE_READ(a_ByteBuffer, ReadBool, bool, HasPosition); if (HasPosition) { @@ -1119,7 +1158,8 @@ void cProtocol_1_9_0::HandlePacketUseEntity(cByteBuffer & a_ByteBuffer) { HANDLE_READ(a_ByteBuffer, ReadVarInt, UInt32, Hand); - if (Hand == MAIN_HAND) // TODO: implement handling of off-hand actions; ignore them for now to avoid processing actions twice + if (Hand == MAIN_HAND) // TODO: implement handling of off-hand actions; ignore them for now to avoid + // processing actions twice { m_Client->HandleUseEntity(EntityID, false); } @@ -1169,8 +1209,8 @@ void cProtocol_1_9_0::HandlePacketVehicleMove(cByteBuffer & a_ByteBuffer) HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, xPos); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, yPos); HANDLE_READ(a_ByteBuffer, ReadBEDouble, double, zPos); - HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, yaw); - HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, pitch); + HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, yaw); + HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, pitch); // Get the players vehicle cEntity * Vehicle = m_Client->GetPlayer()->GetAttached(); @@ -1191,11 +1231,11 @@ void cProtocol_1_9_0::HandlePacketVehicleMove(cByteBuffer & a_ByteBuffer) void cProtocol_1_9_0::HandlePacketWindowClick(cByteBuffer & a_ByteBuffer) { - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, WindowID); - HANDLE_READ(a_ByteBuffer, ReadBEInt16, Int16, SlotNum); - HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Button); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, WindowID); + HANDLE_READ(a_ByteBuffer, ReadBEInt16, Int16, SlotNum); + HANDLE_READ(a_ByteBuffer, ReadBEUInt8, UInt8, Button); HANDLE_READ(a_ByteBuffer, ReadBEUInt16, UInt16, TransactionID); - HANDLE_READ(a_ByteBuffer, ReadVarInt32, UInt32, Mode); + HANDLE_READ(a_ByteBuffer, ReadVarInt32, UInt32, Mode); cItem Item; ReadItem(a_ByteBuffer, Item); @@ -1206,35 +1246,39 @@ void cProtocol_1_9_0::HandlePacketWindowClick(cByteBuffer & a_ByteBuffer) eClickAction Action; switch ((Mode << 8) | Button) { - case 0x0000: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caLeftClick : caLeftClickOutside; break; + case 0x0000: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caLeftClick : caLeftClickOutside; break; case 0x0001: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caRightClick : caRightClickOutside; break; - case 0x0100: Action = caShiftLeftClick; break; + case 0x0100: Action = caShiftLeftClick; break; case 0x0101: Action = caShiftRightClick; break; - case 0x0200: Action = caNumber1; break; - case 0x0201: Action = caNumber2; break; - case 0x0202: Action = caNumber3; break; - case 0x0203: Action = caNumber4; break; - case 0x0204: Action = caNumber5; break; - case 0x0205: Action = caNumber6; break; - case 0x0206: Action = caNumber7; break; - case 0x0207: Action = caNumber8; break; - case 0x0208: Action = caNumber9; break; - case 0x0302: Action = caMiddleClick; break; - case 0x0400: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftClickOutsideHoldNothing : caDropKey; break; + case 0x0200: Action = caNumber1; break; + case 0x0201: Action = caNumber2; break; + case 0x0202: Action = caNumber3; break; + case 0x0203: Action = caNumber4; break; + case 0x0204: Action = caNumber5; break; + case 0x0205: Action = caNumber6; break; + case 0x0206: Action = caNumber7; break; + case 0x0207: Action = caNumber8; break; + case 0x0208: Action = caNumber9; break; + case 0x0302: Action = caMiddleClick; break; + case 0x0400: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftClickOutsideHoldNothing : caDropKey; break; case 0x0401: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightClickOutsideHoldNothing : caCtrlDropKey; break; - case 0x0500: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftPaintBegin : caUnknown; break; - case 0x0501: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caLeftPaintProgress : caUnknown; break; - case 0x0502: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftPaintEnd : caUnknown; break; - case 0x0504: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightPaintBegin : caUnknown; break; - case 0x0505: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caRightPaintProgress : caUnknown; break; - case 0x0506: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightPaintEnd : caUnknown; break; - case 0x0508: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caMiddlePaintBegin : caUnknown; break; - case 0x0509: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caMiddlePaintProgress : caUnknown; break; - case 0x050a: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caMiddlePaintEnd : caUnknown; break; + case 0x0500: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftPaintBegin : caUnknown; break; + case 0x0501: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caLeftPaintProgress : caUnknown; break; + case 0x0502: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caLeftPaintEnd : caUnknown; break; + case 0x0504: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightPaintBegin : caUnknown; break; + case 0x0505: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caRightPaintProgress : caUnknown; break; + case 0x0506: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caRightPaintEnd : caUnknown; break; + case 0x0508: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caMiddlePaintBegin : caUnknown; break; + case 0x0509: Action = (SlotNum != SLOT_NUM_OUTSIDE) ? caMiddlePaintProgress : caUnknown; break; + case 0x050a: Action = (SlotNum == SLOT_NUM_OUTSIDE) ? caMiddlePaintEnd : caUnknown; break; case 0x0600: Action = caDblClick; break; default: { - LOGWARNING("Unhandled window click mode / button combination: %d (0x%x)", (Mode << 8) | Button, (Mode << 8) | Button); + LOGWARNING( + "Unhandled window click mode / button combination: %d (0x%x)", + (Mode << 8) | Button, + (Mode << 8) | Button + ); Action = caUnknown; break; } @@ -1307,8 +1351,12 @@ void cProtocol_1_9_0::ParseItemMetadata(cItem & a_Item, const ContiguousByteBuff { AString HexDump; CreateHexDump(HexDump, a_Metadata.data(), std::max(a_Metadata.size(), 1024), 16); - LOGWARNING("Cannot parse NBT item metadata: %s at (%zu / %zu bytes)\n%s", - NBT.GetErrorCode().message().c_str(), NBT.GetErrorPos(), a_Metadata.size(), HexDump.c_str() + LOGWARNING( + "Cannot parse NBT item metadata: %s at (%zu / %zu bytes)\n%s", + NBT.GetErrorCode().message().c_str(), + NBT.GetErrorPos(), + a_Metadata.size(), + HexDump.c_str() ); return; } @@ -1331,16 +1379,20 @@ void cProtocol_1_9_0::ParseItemMetadata(cItem & a_Item, const ContiguousByteBuff { if (TagName == "display") // Custom name and lore tag { - for (int displaytag = NBT.GetFirstChild(tag); displaytag >= 0; displaytag = NBT.GetNextSibling(displaytag)) + for (int displaytag = NBT.GetFirstChild(tag); displaytag >= 0; + displaytag = NBT.GetNextSibling(displaytag)) { - if ((NBT.GetType(displaytag) == TAG_String) && (NBT.GetName(displaytag) == "Name")) // Custon name tag + if ((NBT.GetType(displaytag) == TAG_String) && + (NBT.GetName(displaytag) == "Name")) // Custon name tag { a_Item.m_CustomName = NBT.GetString(displaytag); } - else if ((NBT.GetType(displaytag) == TAG_List) && (NBT.GetName(displaytag) == "Lore")) // Lore tag + else if ((NBT.GetType(displaytag) == TAG_List) && + (NBT.GetName(displaytag) == "Lore")) // Lore tag { a_Item.m_LoreTable.clear(); - for (int loretag = NBT.GetFirstChild(displaytag); loretag >= 0; loretag = NBT.GetNextSibling(loretag)) // Loop through array of strings + for (int loretag = NBT.GetFirstChild(displaytag); loretag >= 0; + loretag = NBT.GetNextSibling(loretag)) // Loop through array of strings { a_Item.m_LoreTable.push_back(NBT.GetString(loretag)); } @@ -1353,11 +1405,17 @@ void cProtocol_1_9_0::ParseItemMetadata(cItem & a_Item, const ContiguousByteBuff } else if ((TagName == "Fireworks") || (TagName == "Explosion")) { - cFireworkItem::ParseFromNBT(a_Item.m_FireworkItem, NBT, tag, static_cast(a_Item.m_ItemType)); + cFireworkItem::ParseFromNBT( + a_Item.m_FireworkItem, + NBT, + tag, + static_cast(a_Item.m_ItemType) + ); } else if (TagName == "EntityTag") { - for (int entitytag = NBT.GetFirstChild(tag); entitytag >= 0; entitytag = NBT.GetNextSibling(entitytag)) + for (int entitytag = NBT.GetFirstChild(tag); entitytag >= 0; + entitytag = NBT.GetNextSibling(entitytag)) { if ((NBT.GetType(entitytag) == TAG_String) && (NBT.GetName(entitytag) == "id")) { @@ -1365,7 +1423,6 @@ void cProtocol_1_9_0::ParseItemMetadata(cItem & a_Item, const ContiguousByteBuff ReplaceString(NBTName, "minecraft:", ""); eMonsterType MonsterType = cMonster::StringToMobType(NBTName); a_Item.m_ItemDamage = static_cast(GetProtocolMobType(MonsterType)); - } } } @@ -1539,7 +1596,7 @@ void cProtocol_1_9_0::WriteBlockEntity(cFastNBTWriter & a_Writer, const cBlockEn a_Writer.AddInt("y", a_BlockEntity.GetPosY()); a_Writer.AddInt("z", a_BlockEntity.GetPosZ()); a_Writer.BeginCompound("SpawnData"); // New: SpawnData compound - a_Writer.AddString("id", cMonster::MobTypeToVanillaName(MobSpawnerEntity.GetEntity())); + a_Writer.AddString("id", cMonster::MobTypeToVanillaName(MobSpawnerEntity.GetEntity())); a_Writer.EndCompound(); a_Writer.AddShort("Delay", MobSpawnerEntity.GetSpawnDelay()); } @@ -1793,7 +1850,8 @@ void cProtocol_1_9_0::WriteItem(cPacketizer & a_Pkt, const cItem & a_Item) const if ((ItemType == E_ITEM_POTION) && ((a_Item.m_ItemDamage & 0x4000) != 0)) { - // Ugly special case for splash potion ids which changed in 1.9; this can be removed when the new 1.9 ids are implemented + // Ugly special case for splash potion ids which changed in 1.9; this can be removed when the new 1.9 ids are + // implemented a_Pkt.WriteBEInt16(438); // minecraft:splash_potion } else @@ -1812,7 +1870,9 @@ void cProtocol_1_9_0::WriteItem(cPacketizer & a_Pkt, const cItem & a_Item) const a_Pkt.WriteBEInt16(a_Item.m_ItemDamage); } - if (a_Item.m_Enchantments.IsEmpty() && a_Item.IsBothNameAndLoreEmpty() && (ItemType != E_ITEM_FIREWORK_ROCKET) && (ItemType != E_ITEM_FIREWORK_STAR) && !a_Item.m_ItemColor.IsValid() && (ItemType != E_ITEM_POTION) && (ItemType != E_ITEM_SPAWN_EGG)) + if (a_Item.m_Enchantments.IsEmpty() && a_Item.IsBothNameAndLoreEmpty() && (ItemType != E_ITEM_FIREWORK_ROCKET) && + (ItemType != E_ITEM_FIREWORK_STAR) && !a_Item.m_ItemColor.IsValid() && (ItemType != E_ITEM_POTION) && + (ItemType != E_ITEM_SPAWN_EGG)) { a_Pkt.WriteBEInt8(0); return; @@ -1857,7 +1917,11 @@ void cProtocol_1_9_0::WriteItem(cPacketizer & a_Pkt, const cItem & a_Item) const } if ((a_Item.m_ItemType == E_ITEM_FIREWORK_ROCKET) || (a_Item.m_ItemType == E_ITEM_FIREWORK_STAR)) { - cFireworkItem::WriteToNBTCompound(a_Item.m_FireworkItem, Writer, static_cast(a_Item.m_ItemType)); + cFireworkItem::WriteToNBTCompound( + a_Item.m_FireworkItem, + Writer, + static_cast(a_Item.m_ItemType) + ); } if (a_Item.m_ItemType == E_ITEM_POTION) { @@ -1869,20 +1933,20 @@ void cProtocol_1_9_0::WriteItem(cPacketizer & a_Pkt, const cItem & a_Item) const { switch (Type) { - case cEntityEffect::effRegeneration: PotionID = "regeneration"; break; - case cEntityEffect::effSpeed: PotionID = "swiftness"; break; + case cEntityEffect::effRegeneration: PotionID = "regeneration"; break; + case cEntityEffect::effSpeed: PotionID = "swiftness"; break; case cEntityEffect::effFireResistance: PotionID = "fire_resistance"; break; - case cEntityEffect::effPoison: PotionID = "poison"; break; - case cEntityEffect::effInstantHealth: PotionID = "healing"; break; - case cEntityEffect::effNightVision: PotionID = "night_vision"; break; - case cEntityEffect::effWeakness: PotionID = "weakness"; break; - case cEntityEffect::effStrength: PotionID = "strength"; break; - case cEntityEffect::effSlowness: PotionID = "slowness"; break; - case cEntityEffect::effJumpBoost: PotionID = "leaping"; break; - case cEntityEffect::effInstantDamage: PotionID = "harming"; break; + case cEntityEffect::effPoison: PotionID = "poison"; break; + case cEntityEffect::effInstantHealth: PotionID = "healing"; break; + case cEntityEffect::effNightVision: PotionID = "night_vision"; break; + case cEntityEffect::effWeakness: PotionID = "weakness"; break; + case cEntityEffect::effStrength: PotionID = "strength"; break; + case cEntityEffect::effSlowness: PotionID = "slowness"; break; + case cEntityEffect::effJumpBoost: PotionID = "leaping"; break; + case cEntityEffect::effInstantDamage: PotionID = "harming"; break; case cEntityEffect::effWaterBreathing: PotionID = "water_breathing"; break; - case cEntityEffect::effInvisibility: PotionID = "invisibility"; break; - default: ASSERT(!"Unknown potion effect"); break; + case cEntityEffect::effInvisibility: PotionID = "invisibility"; break; + default: ASSERT(!"Unknown potion effect"); break; } if (cEntityEffect::GetPotionEffectIntensity(a_Item.m_ItemDamage) == 1) { @@ -2365,7 +2429,9 @@ void cProtocol_1_9_1::SendLogin(const cPlayer & a_Player, const cWorld & a_World cServer * Server = cRoot::Get()->GetServer(); cPacketizer Pkt(*this, pktJoinGame); Pkt.WriteBEUInt32(a_Player.GetUniqueID()); - Pkt.WriteBEUInt8(static_cast(a_Player.GetEffectiveGameMode()) | (Server->IsHardcore() ? 0x08 : 0)); // Hardcore flag bit 4 + Pkt.WriteBEUInt8( + static_cast(a_Player.GetEffectiveGameMode()) | (Server->IsHardcore() ? 0x08 : 0) + ); // Hardcore flag bit 4 Pkt.WriteBEInt32(static_cast(a_World.GetDimension())); // This is the change from 1.9.0 (Int8 to Int32) Pkt.WriteBEUInt8(2); // TODO: Difficulty (set to Normal) Pkt.WriteBEUInt8(static_cast(Clamp(Server->GetMaxPlayers(), 0, 255))); @@ -2414,7 +2480,13 @@ cProtocol::Version cProtocol_1_9_2::GetProtocolVersion() const //////////////////////////////////////////////////////////////////////////////// // cProtocol_1_9_4: -void cProtocol_1_9_4::SendUpdateSign(Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) +void cProtocol_1_9_4::SendUpdateSign( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 +) { ASSERT(m_State == 3); // In game mode? @@ -2424,9 +2496,9 @@ void cProtocol_1_9_4::SendUpdateSign(Vector3i a_BlockPos, const AString & a_Line Pkt.WriteBEUInt8(9); // Action 9 - update sign cFastNBTWriter Writer; - Writer.AddInt("x", a_BlockPos.x); - Writer.AddInt("y", a_BlockPos.y); - Writer.AddInt("z", a_BlockPos.z); + Writer.AddInt("x", a_BlockPos.x); + Writer.AddInt("y", a_BlockPos.y); + Writer.AddInt("z", a_BlockPos.z); Writer.AddString("id", "Sign"); Json::Value Line1; @@ -2460,7 +2532,7 @@ UInt32 cProtocol_1_9_4::GetPacketID(cProtocol::ePacketType a_Packet) const case pktPlayerListHeaderFooter: return 0x47; case pktTeleportEntity: return 0x49; - default: return Super::GetPacketID(a_Packet); + default: return Super::GetPacketID(a_Packet); } } diff --git a/src/Protocol/Protocol_1_9.h b/src/Protocol/Protocol_1_9.h index e56d7e2d2..e5689ae82 100644 --- a/src/Protocol/Protocol_1_9.h +++ b/src/Protocol/Protocol_1_9.h @@ -26,43 +26,52 @@ Declares the 1.9 protocol classes: -class cProtocol_1_9_0: - public cProtocol_1_8_0 +class cProtocol_1_9_0 : public cProtocol_1_8_0 { using Super = cProtocol_1_8_0; -public: - + public: cProtocol_1_9_0(cClientHandle * a_Client, const AString & a_ServerAddress, State a_State); - virtual void SendAttachEntity (const cEntity & a_Entity, const cEntity & a_Vehicle) override; - virtual void SendBossBarAdd (UInt32 a_UniqueID, const cCompositeChat & a_Title, float a_FractionFilled, BossBarColor a_Color, BossBarDivisionType a_DivisionType, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) override; - virtual void SendBossBarRemove (UInt32 a_UniqueID) override; - virtual void SendBossBarUpdateFlags (UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) override; - virtual void SendBossBarUpdateHealth (UInt32 a_UniqueID, float a_FractionFilled) override; - virtual void SendBossBarUpdateStyle (UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType) override; - virtual void SendBossBarUpdateTitle (UInt32 a_UniqueID, const cCompositeChat & a_Title) override; - virtual void SendDetachEntity (const cEntity & a_Entity, const cEntity & a_PreviousVehicle) override; - virtual void SendEntityEquipment (const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) override; - virtual void SendEntityMetadata (const cEntity & a_Entity) override; - virtual void SendEntityPosition (const cEntity & a_Entity) override; - virtual void SendExperienceOrb (const cExpOrb & a_ExpOrb) override; - virtual void SendKeepAlive (UInt32 a_PingID) override; - virtual void SendLeashEntity (const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) override; - virtual void SendMapData (const cMap & a_Map, int a_DataStartX, int a_DataStartY) override; - virtual void SendPaintingSpawn (const cPainting & a_Painting) override; - virtual void SendPlayerMoveLook (Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative) override; - virtual void SendPlayerMoveLook (void) override; + virtual void SendAttachEntity(const cEntity & a_Entity, const cEntity & a_Vehicle) override; + virtual void SendBossBarAdd( + UInt32 a_UniqueID, + const cCompositeChat & a_Title, + float a_FractionFilled, + BossBarColor a_Color, + BossBarDivisionType a_DivisionType, + bool a_DarkenSky, + bool a_PlayEndMusic, + bool a_CreateFog + ) override; + virtual void SendBossBarRemove(UInt32 a_UniqueID) override; + virtual void SendBossBarUpdateFlags(UInt32 a_UniqueID, bool a_DarkenSky, bool a_PlayEndMusic, bool a_CreateFog) + override; + virtual void SendBossBarUpdateHealth(UInt32 a_UniqueID, float a_FractionFilled) override; + virtual void SendBossBarUpdateStyle(UInt32 a_UniqueID, BossBarColor a_Color, BossBarDivisionType a_DivisionType) + override; + virtual void SendBossBarUpdateTitle(UInt32 a_UniqueID, const cCompositeChat & a_Title) override; + virtual void SendDetachEntity(const cEntity & a_Entity, const cEntity & a_PreviousVehicle) override; + virtual void SendEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) override; + virtual void SendEntityMetadata(const cEntity & a_Entity) override; + virtual void SendEntityPosition(const cEntity & a_Entity) override; + virtual void SendExperienceOrb(const cExpOrb & a_ExpOrb) override; + virtual void SendKeepAlive(UInt32 a_PingID) override; + virtual void SendLeashEntity(const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) override; + virtual void SendMapData(const cMap & a_Map, int a_DataStartX, int a_DataStartY) override; + virtual void SendPaintingSpawn(const cPainting & a_Painting) override; + virtual void SendPlayerMoveLook(Vector3d a_Pos, float a_Yaw, float a_Pitch, bool a_IsRelative) override; + virtual void SendPlayerMoveLook(void) override; virtual void SendPlayerPermissionLevel() override; - virtual void SendPlayerSpawn (const cPlayer & a_Player) override; - virtual void SendSoundEffect (const AString & a_SoundName, Vector3d a_Origin, float a_Volume, float a_Pitch) override; - virtual void SendSpawnMob (const cMonster & a_Mob) override; - virtual void SendThunderbolt (Vector3i a_Origin) override; - virtual void SendUnleashEntity (const cEntity & a_Entity) override; - virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) override; - -protected: - + virtual void SendPlayerSpawn(const cPlayer & a_Player) override; + virtual void SendSoundEffect(const AString & a_SoundName, Vector3d a_Origin, float a_Volume, float a_Pitch) + override; + virtual void SendSpawnMob(const cMonster & a_Mob) override; + virtual void SendThunderbolt(Vector3i a_Origin) override; + virtual void SendUnleashEntity(const cEntity & a_Entity) override; + virtual void SendUnloadChunk(int a_ChunkX, int a_ChunkZ) override; + + protected: /** The current teleport ID. */ bool m_IsTeleportIdConfirmed; @@ -75,24 +84,24 @@ protected: virtual UInt32 GetProtocolMobType(eMonsterType a_MobType) const override; virtual Version GetProtocolVersion() const override; - virtual bool HandlePacket (cByteBuffer & a_ByteBuffer, UInt32 a_PacketType) override; - virtual void HandlePacketAnimation (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketBlockDig (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketBlockPlace (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketBoatSteer (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketClientSettings (cByteBuffer & a_ByteBuffer) override; - virtual void HandleConfirmTeleport (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketEntityAction (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketPlayerPos (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketPlayerPosLook (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketSteerVehicle (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketTabComplete (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketUpdateSign (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketUseEntity (cByteBuffer & a_ByteBuffer) override; - virtual void HandlePacketUseItem (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketVehicleMove (cByteBuffer & a_ByteBuffer); - virtual void HandlePacketWindowClick (cByteBuffer & a_ByteBuffer) override; - virtual void HandleVanillaPluginMessage (cByteBuffer & a_ByteBuffer, std::string_view a_Channel) override; + virtual bool HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketType) override; + virtual void HandlePacketAnimation(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketBlockDig(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketBlockPlace(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketBoatSteer(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketClientSettings(cByteBuffer & a_ByteBuffer) override; + virtual void HandleConfirmTeleport(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketEntityAction(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketPlayerPos(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketPlayerPosLook(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketSteerVehicle(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketTabComplete(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketUpdateSign(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketUseEntity(cByteBuffer & a_ByteBuffer) override; + virtual void HandlePacketUseItem(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketVehicleMove(cByteBuffer & a_ByteBuffer); + virtual void HandlePacketWindowClick(cByteBuffer & a_ByteBuffer) override; + virtual void HandleVanillaPluginMessage(cByteBuffer & a_ByteBuffer, std::string_view a_Channel) override; virtual void ParseItemMetadata(cItem & a_Item, ContiguousByteBufferView a_Metadata) const override; virtual void SendEntitySpawn(const cEntity & a_Entity, const UInt8 a_ObjectType, const Int32 a_ObjectData) override; @@ -104,80 +113,78 @@ protected: /** Types used within metadata */ enum eMetadataType { - METADATA_TYPE_BYTE = 0, - METADATA_TYPE_VARINT = 1, - METADATA_TYPE_FLOAT = 2, - METADATA_TYPE_STRING = 3, - METADATA_TYPE_CHAT = 4, - METADATA_TYPE_ITEM = 5, - METADATA_TYPE_BOOL = 6, - METADATA_TYPE_ROTATION = 7, - METADATA_TYPE_POSITION = 8, + METADATA_TYPE_BYTE = 0, + METADATA_TYPE_VARINT = 1, + METADATA_TYPE_FLOAT = 2, + METADATA_TYPE_STRING = 3, + METADATA_TYPE_CHAT = 4, + METADATA_TYPE_ITEM = 5, + METADATA_TYPE_BOOL = 6, + METADATA_TYPE_ROTATION = 7, + METADATA_TYPE_POSITION = 8, METADATA_TYPE_OPTIONAL_POSITION = 9, - METADATA_TYPE_DIRECTION = 10, - METADATA_TYPE_OPTIONAL_UUID = 11, - METADATA_TYPE_BLOCKID = 12 - } ; -} ; + METADATA_TYPE_DIRECTION = 10, + METADATA_TYPE_OPTIONAL_UUID = 11, + METADATA_TYPE_BLOCKID = 12 + }; +}; /** The version 108 protocol, used by 1.9.1. Uses an int rather than a byte for dimension in join game. */ -class cProtocol_1_9_1: - public cProtocol_1_9_0 +class cProtocol_1_9_1 : public cProtocol_1_9_0 { using Super = cProtocol_1_9_0; -public: - + public: using Super::Super; -protected: - + protected: virtual void SendLogin(const cPlayer & a_Player, const cWorld & a_World) override; virtual Version GetProtocolVersion() const override; -} ; +}; -/** The version 109 protocol, used by 1.9.2. Same as 1.9.1, except the server list ping version number changed with the protocol number. */ -class cProtocol_1_9_2: - public cProtocol_1_9_1 +/** The version 109 protocol, used by 1.9.2. Same as 1.9.1, except the server list ping version number changed with the + * protocol number. */ +class cProtocol_1_9_2 : public cProtocol_1_9_1 { using Super = cProtocol_1_9_1; -public: - + public: using Super::Super; -protected: - + protected: virtual Version GetProtocolVersion() const override; -} ; +}; /** The version 110 protocol, used by 1.9.3 and 1.9.4. */ -class cProtocol_1_9_4: - public cProtocol_1_9_2 +class cProtocol_1_9_4 : public cProtocol_1_9_2 { using Super = cProtocol_1_9_2; -public: - + public: using Super::Super; -protected: - - virtual void SendUpdateSign(Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) override; + protected: + virtual void SendUpdateSign( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4 + ) override; virtual UInt32 GetPacketID(ePacketType a_Packet) const override; virtual Version GetProtocolVersion() const override; -} ; +}; diff --git a/src/Protocol/RecipeMapper.cpp b/src/Protocol/RecipeMapper.cpp index 2757fdfd6..42af3ca26 100644 --- a/src/Protocol/RecipeMapper.cpp +++ b/src/Protocol/RecipeMapper.cpp @@ -6,7 +6,7 @@ cRecipeMapper::cRecipeMapper(void) { AString path = "Protocol"; auto contents = cFile::GetFolderContents(path); - for (const auto & content: contents) + for (const auto & content : contents) { auto fullName = path + cFile::PathSeparator() + content; if (cFile::IsFolder(fullName)) @@ -25,13 +25,19 @@ void cRecipeMapper::loadRecipes(const AString & a_ProtocolVersion) cFile f; if (!f.Open("Protocol/" + a_ProtocolVersion + "/base.recipes.txt", cFile::fmRead)) { - LOGWARNING("Cannot open file \"Protocol/%s/base.recipes.txt\", no recipe book recipes will be available!", a_ProtocolVersion); + LOGWARNING( + "Cannot open file \"Protocol/%s/base.recipes.txt\", no recipe book recipes will be available!", + a_ProtocolVersion + ); return; } AString Everything; if (!f.ReadRestOfFile(Everything)) { - LOGWARNING("Cannot read file \"Protocol/%s/base.recipes.txt\", no recipe book recipes will be available!", a_ProtocolVersion); + LOGWARNING( + "Cannot read file \"Protocol/%s/base.recipes.txt\", no recipe book recipes will be available!", + a_ProtocolVersion + ); return; } f.Close(); @@ -60,15 +66,18 @@ void cRecipeMapper::loadRecipes(const AString & a_ProtocolVersion) -cRecipeMapper::~cRecipeMapper() -{ -} +cRecipeMapper::~cRecipeMapper() {} -void cRecipeMapper::AddRecipeLine(const AString & a_ProtocolVersion, int a_LineNum, const AString & a_RecipeLine, const std::map & a_RecipeNameMap) +void cRecipeMapper::AddRecipeLine( + const AString & a_ProtocolVersion, + int a_LineNum, + const AString & a_RecipeLine, + const std::map & a_RecipeNameMap +) { AStringVector Sides = StringSplit(a_RecipeLine, " "); UInt32 Id; @@ -93,12 +102,13 @@ void cRecipeMapper::AddRecipeLine(const AString & a_ProtocolVersion, int a_LineN std::optional cRecipeMapper::GetProtocolRecipeId(UInt32 a_RecipeId, UInt32 a_ProtocolVersion) { - auto ProtocolMap = m_ProtocolVersionMap.find(cRoot::Get()->GetProtocolVersionTextFromInt(static_cast(a_ProtocolVersion))); + auto ProtocolMap = + m_ProtocolVersionMap.find(cRoot::Get()->GetProtocolVersionTextFromInt(static_cast(a_ProtocolVersion))); if (ProtocolMap == m_ProtocolVersionMap.end()) { return {}; } - for (const auto & item: ProtocolMap->second) + for (const auto & item : ProtocolMap->second) { if (item.second == a_RecipeId) { @@ -114,7 +124,8 @@ std::optional cRecipeMapper::GetProtocolRecipeId(UInt32 a_RecipeId, UInt std::optional cRecipeMapper::GetCuberiteRecipeId(UInt32 a_ProtocolRecipeId, UInt32 a_ProtocolVersion) { - auto ProtocolMap = m_ProtocolVersionMap.find(cRoot::Get()->GetProtocolVersionTextFromInt(static_cast(a_ProtocolVersion))); + auto ProtocolMap = + m_ProtocolVersionMap.find(cRoot::Get()->GetProtocolVersionTextFromInt(static_cast(a_ProtocolVersion))); if (ProtocolMap == m_ProtocolVersionMap.end()) { return {}; diff --git a/src/Protocol/RecipeMapper.h b/src/Protocol/RecipeMapper.h index 1cac62f92..bf93cec4f 100644 --- a/src/Protocol/RecipeMapper.h +++ b/src/Protocol/RecipeMapper.h @@ -12,7 +12,7 @@ directory, e.g. `Server/Protocol/1.12.2/base.recipes.txt` */ class cRecipeMapper { -public: + public: cRecipeMapper(void); ~cRecipeMapper(); @@ -22,7 +22,7 @@ public: /** Translates the protocol specific RecipeId to the cuberite RecipeId */ std::optional GetCuberiteRecipeId(UInt32 a_ProtocolRecipeId, UInt32 a_ProtocolVersion); -private: + private: /** A mapping for each protocol from the protocol specific RecipeId and the cuberite RecipeId */ std::map> m_ProtocolVersionMap; @@ -30,6 +30,10 @@ private: void loadRecipes(const AString & a_ProtocolVersion); /** Handles a single line of the protocol specific mapping file */ - void AddRecipeLine(const AString & a_ProtocolVersion, int a_LineNum, const AString & a_RecipeLine, const std::map & a_RecipeNameMap); - + void AddRecipeLine( + const AString & a_ProtocolVersion, + int a_LineNum, + const AString & a_RecipeLine, + const std::map & a_RecipeNameMap + ); }; diff --git a/src/RCONServer.cpp b/src/RCONServer.cpp index 64ddfb4eb..d2336ac50 100644 --- a/src/RCONServer.cpp +++ b/src/RCONServer.cpp @@ -16,8 +16,8 @@ // Disable MSVC warnings: #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4355) // 'this' : used in base member initializer list +#pragma warning(push) +#pragma warning(disable : 4355) // 'this' : used in base member initializer list #endif @@ -28,11 +28,11 @@ enum { // Client -> Server: RCON_PACKET_COMMAND = 2, - RCON_PACKET_LOGIN = 3, + RCON_PACKET_LOGIN = 3, // Server -> Client: RCON_PACKET_RESPONSE = 2, -} ; +}; @@ -41,17 +41,15 @@ enum //////////////////////////////////////////////////////////////////////////////// // cRCONListenCallbacks: -class cRCONListenCallbacks: - public cNetwork::cListenCallbacks +class cRCONListenCallbacks : public cNetwork::cListenCallbacks { -public: - cRCONListenCallbacks(cRCONServer & a_RCONServer, UInt16 a_Port): - m_RCONServer(a_RCONServer), - m_Port(a_Port) + public: + cRCONListenCallbacks(cRCONServer & a_RCONServer, UInt16 a_Port) : + m_RCONServer(a_RCONServer), m_Port(a_Port) { } -protected: + protected: /** The RCON server instance that we're attached to. */ cRCONServer & m_RCONServer; @@ -59,7 +57,8 @@ protected: UInt16 m_Port; // cNetwork::cListenCallbacks overrides: - virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) override + virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) + override { LOG("RCON Client \"%s\" connected!", a_RemoteIPAddress.c_str()); return std::make_shared(m_RCONServer, a_RemoteIPAddress); @@ -78,33 +77,29 @@ protected: //////////////////////////////////////////////////////////////////////////////// // cRCONCommandOutput: -class cRCONCommandOutput : - public cCommandOutputCallback +class cRCONCommandOutput : public cCommandOutputCallback { -public: + public: cRCONCommandOutput(cRCONServer::cConnection & a_Connection, UInt32 a_RequestID) : - m_Connection(a_Connection), - m_RequestID(a_RequestID) + m_Connection(a_Connection), m_RequestID(a_RequestID) { } // cCommandOutputCallback overrides: - virtual void Out(const AString & a_Text) override - { - m_Buffer.append(a_Text); - } + virtual void Out(const AString & a_Text) override { m_Buffer.append(a_Text); } virtual void Finished(void) override { - m_Connection.SendResponse(m_RequestID, RCON_PACKET_RESPONSE, static_cast(m_Buffer.size()), m_Buffer.c_str()); + m_Connection + .SendResponse(m_RequestID, RCON_PACKET_RESPONSE, static_cast(m_Buffer.size()), m_Buffer.c_str()); delete this; } -protected: + protected: cRCONServer::cConnection & m_Connection; UInt32 m_RequestID; AString m_Buffer; -} ; +}; @@ -124,7 +119,7 @@ cRCONServer::cRCONServer(cServer & a_Server) : cRCONServer::~cRCONServer() { - for (const auto & srv: m_ListenServers) + for (const auto & srv : m_ListenServers) { srv->Close(); } @@ -153,7 +148,7 @@ void cRCONServer::Initialize(cSettingsRepositoryInterface & a_Settings) AStringVector Ports = ReadUpgradeIniPorts(a_Settings, "RCON", "Ports", "PortsIPv4", "PortsIPv6", "25575"); // Start listening on each specified port: - for (const auto & port: Ports) + for (const auto & port : Ports) { UInt16 PortNum; if (!StringToInteger(port, PortNum)) @@ -182,9 +177,7 @@ void cRCONServer::Initialize(cSettingsRepositoryInterface & a_Settings) // cRCONServer::cConnection: cRCONServer::cConnection::cConnection(cRCONServer & a_RCONServer, const AString & a_IPAddress) : - m_IsAuthenticated(false), - m_RCONServer(a_RCONServer), - m_IPAddress(a_IPAddress) + m_IsAuthenticated(false), m_RCONServer(a_RCONServer), m_IPAddress(a_IPAddress) { } @@ -215,8 +208,10 @@ void cRCONServer::cConnection::OnReceivedData(const char * a_Data, size_t a_Size if (Length > 1500) { // Too long, drop the connection - LOGWARNING("Received an invalid RCON packet length (%d), dropping RCON connection to %s.", - Length, m_IPAddress.c_str() + LOGWARNING( + "Received an invalid RCON packet length (%d), dropping RCON connection to %s.", + Length, + m_IPAddress.c_str() ); m_Link->Close(); m_Link.reset(); @@ -228,7 +223,7 @@ void cRCONServer::cConnection::OnReceivedData(const char * a_Data, size_t a_Size return; } - UInt32 RequestID = UIntFromBuffer(m_Buffer.data() + 4); + UInt32 RequestID = UIntFromBuffer(m_Buffer.data() + 4); UInt32 PacketType = UIntFromBuffer(m_Buffer.data() + 8); if (!ProcessPacket(RequestID, PacketType, Length - 10, m_Buffer.data() + 12)) { @@ -263,7 +258,12 @@ void cRCONServer::cConnection::OnError(int a_ErrorCode, const AString & a_ErrorM -bool cRCONServer::cConnection::ProcessPacket(UInt32 a_RequestID, UInt32 a_PacketType, UInt32 a_PayloadLength, const char * a_Payload) +bool cRCONServer::cConnection::ProcessPacket( + UInt32 a_RequestID, + UInt32 a_PacketType, + UInt32 a_PayloadLength, + const char * a_Payload +) { switch (a_PacketType) { @@ -304,8 +304,10 @@ bool cRCONServer::cConnection::ProcessPacket(UInt32 a_RequestID, UInt32 a_Packet } // Unknown packet type, drop the connection: - LOGWARNING("RCON: Client at %s has sent an unknown packet type %d, dropping connection.", - m_IPAddress.c_str(), a_PacketType + LOGWARNING( + "RCON: Client at %s has sent an unknown packet type %d, dropping connection.", + m_IPAddress.c_str(), + a_PacketType ); return false; } @@ -327,7 +329,7 @@ UInt32 cRCONServer::cConnection::UIntFromBuffer(const char * a_Buffer) void cRCONServer::cConnection::UIntToBuffer(UInt32 a_Value, char * a_Buffer) { a_Buffer[0] = static_cast(a_Value & 0xff); - a_Buffer[1] = static_cast((a_Value >> 8) & 0xff); + a_Buffer[1] = static_cast((a_Value >> 8) & 0xff); a_Buffer[2] = static_cast((a_Value >> 16) & 0xff); a_Buffer[3] = static_cast((a_Value >> 24) & 0xff); } @@ -336,7 +338,12 @@ void cRCONServer::cConnection::UIntToBuffer(UInt32 a_Value, char * a_Buffer) -void cRCONServer::cConnection::SendResponse(UInt32 a_RequestID, UInt32 a_PacketType, UInt32 a_PayloadLength, const char * a_Payload) +void cRCONServer::cConnection::SendResponse( + UInt32 a_RequestID, + UInt32 a_PacketType, + UInt32 a_PayloadLength, + const char * a_Payload +) { ASSERT((a_PayloadLength == 0) || (a_Payload != nullptr)); // Either zero data to send, or a valid payload ptr ASSERT(m_Link != nullptr); @@ -353,7 +360,3 @@ void cRCONServer::cConnection::SendResponse(UInt32 a_RequestID, UInt32 a_PacketT } m_Link->Send("\0", 2); // Send two zero chars as the padding } - - - - diff --git a/src/RCONServer.h b/src/RCONServer.h index 2aba6ebf2..18e92a2aa 100644 --- a/src/RCONServer.h +++ b/src/RCONServer.h @@ -25,23 +25,22 @@ class cSettingsRepositoryInterface; class cRCONServer { -public: + public: cRCONServer(cServer & a_Server); virtual ~cRCONServer(); void Initialize(cSettingsRepositoryInterface & a_Settings); -protected: + protected: friend class cRCONCommandOutput; friend class cRCONListenCallbacks; - class cConnection : - public cTCPLink::cCallbacks + class cConnection : public cTCPLink::cCallbacks { - public: + public: cConnection(cRCONServer & a_RCONServer, const AString & a_IPAddress); - protected: + protected: friend class cRCONCommandOutput; /** Set to true if the client has successfully authenticated */ @@ -66,7 +65,8 @@ protected: virtual void OnRemoteClosed(void) override; virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) override; - /** Processes the given packet and sends the response; returns true if successful, false if the connection is to be dropped */ + /** Processes the given packet and sends the response; returns true if successful, false if the connection is to + * be dropped */ bool ProcessPacket(UInt32 a_RequestID, UInt32 a_PacketType, UInt32 a_PayloadLength, const char * a_Payload); /** Reads 4 bytes from a_Buffer and returns the LE UInt32 they represent */ @@ -77,7 +77,7 @@ protected: /** Sends a RCON packet back to the client */ void SendResponse(UInt32 a_RequestID, UInt32 a_PacketType, UInt32 a_PayloadLength, const char * a_Payload); - } ; + }; /** The server object that will process the commands received */ @@ -88,9 +88,4 @@ protected: /** Password for authentication */ AString m_Password; -} ; - - - - - +}; diff --git a/src/RankManager.cpp b/src/RankManager.cpp index 7652fbcf4..8a715b64b 100644 --- a/src/RankManager.cpp +++ b/src/RankManager.cpp @@ -1,7 +1,8 @@ // RankManager.cpp -// Implements the cRankManager class that represents the rank manager responsible for assigning permissions and message visuals to players +// Implements the cRankManager class that represents the rank manager responsible for assigning permissions and message +// visuals to players #include "Globals.h" #include "RankManager.h" @@ -16,8 +17,7 @@ // cRankManager: cRankManager::cRankManager(void) : - m_DB("Ranks.sqlite", SQLite::OPEN_READWRITE | SQLite::OPEN_CREATE), - m_IsInitialized(false) + m_DB("Ranks.sqlite", SQLite::OPEN_READWRITE | SQLite::OPEN_CREATE), m_IsInitialized(false) { } @@ -25,9 +25,7 @@ cRankManager::cRankManager(void) : -cRankManager::~cRankManager() -{ -} +cRankManager::~cRankManager() {} @@ -38,7 +36,9 @@ void cRankManager::Initialize(cMojangAPI & a_MojangAPI) ASSERT(!m_IsInitialized); // Calling Initialize for the second time? // Create the DB tables, if they don't exist: - m_DB.exec("CREATE TABLE IF NOT EXISTS Rank (RankID INTEGER PRIMARY KEY, Name, MsgPrefix, MsgSuffix, MsgNameColorCode)"); + m_DB.exec( + "CREATE TABLE IF NOT EXISTS Rank (RankID INTEGER PRIMARY KEY, Name, MsgPrefix, MsgSuffix, MsgNameColorCode)" + ); m_DB.exec("CREATE TABLE IF NOT EXISTS PlayerRank (PlayerUUID, PlayerName, RankID INTEGER)"); m_DB.exec("CREATE TABLE IF NOT EXISTS PermGroup (PermGroupID INTEGER PRIMARY KEY, Name)"); m_DB.exec("CREATE TABLE IF NOT EXISTS RankPermGroup (RankID INTEGER, PermGroupID INTEGER)"); @@ -61,7 +61,8 @@ void cRankManager::Initialize(cMojangAPI & a_MojangAPI) // Load the default rank: try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT Rank.Name FROM Rank " "LEFT JOIN DefaultRank ON Rank.RankID = DefaultRank.RankID" ); @@ -94,7 +95,11 @@ AString cRankManager::GetPlayerRankName(const cUUID & a_PlayerUUID) try { - SQLite::Statement stmt(m_DB, "SELECT Rank.Name FROM Rank LEFT JOIN PlayerRank ON Rank.RankID = PlayerRank.RankID WHERE PlayerRank.PlayerUUID = ?"); + SQLite::Statement stmt( + m_DB, + "SELECT Rank.Name FROM Rank LEFT JOIN PlayerRank ON Rank.RankID = PlayerRank.RankID WHERE " + "PlayerRank.PlayerUUID = ?" + ); stmt.bind(1, a_PlayerUUID.ToShortString()); // executeStep returns false on no data if (!stmt.executeStep()) @@ -151,10 +156,11 @@ AStringVector cRankManager::GetPlayerGroups(const cUUID & a_PlayerUUID) try { // Prepare the DB statement: - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT PermGroup.Name FROM PermGroup " - "LEFT JOIN RankPermGroup ON PermGroup.PermGroupID = RankPermGroup.PermGroupID " - "LEFT JOIN PlayerRank ON PlayerRank.RankID = RankPermGroup.RankID " + "LEFT JOIN RankPermGroup ON PermGroup.PermGroupID = RankPermGroup.PermGroupID " + "LEFT JOIN PlayerRank ON PlayerRank.RankID = RankPermGroup.RankID " "WHERE PlayerRank.PlayerUUID = ?" ); stmt.bind(1, a_PlayerUUID.ToShortString()); @@ -212,10 +218,11 @@ AStringVector cRankManager::GetRankGroups(const AString & a_RankName) AStringVector res; try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT PermGroup.Name FROM PermGroup " - "LEFT JOIN RankPermGroup ON RankPermGroup.PermGroupID = PermGroup.PermGroupID " - "LEFT JOIN Rank ON Rank.RankID = RankPermGroup.RankID " + "LEFT JOIN RankPermGroup ON RankPermGroup.PermGroupID = PermGroup.PermGroupID " + "LEFT JOIN Rank ON Rank.RankID = RankPermGroup.RankID " "WHERE Rank.Name = ?" ); stmt.bind(1, a_RankName); @@ -243,9 +250,10 @@ AStringVector cRankManager::GetGroupPermissions(const AString & a_GroupName) AStringVector res; try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT PermissionItem.Permission FROM PermissionItem " - "LEFT JOIN PermGroup ON PermGroup.PermGroupID = PermissionItem.PermGroupID " + "LEFT JOIN PermGroup ON PermGroup.PermGroupID = PermissionItem.PermGroupID " "WHERE PermGroup.Name = ?" ); stmt.bind(1, a_GroupName); @@ -273,9 +281,10 @@ AStringVector cRankManager::GetGroupRestrictions(const AString & a_GroupName) AStringVector res; try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT RestrictionItem.Permission FROM RestrictionItem " - "LEFT JOIN PermGroup ON PermGroup.PermGroupID = RestrictionItem.PermGroupID " + "LEFT JOIN PermGroup ON PermGroup.PermGroupID = RestrictionItem.PermGroupID " "WHERE PermGroup.Name = ?" ); stmt.bind(1, a_GroupName); @@ -303,10 +312,11 @@ AStringVector cRankManager::GetRankPermissions(const AString & a_RankName) AStringVector res; try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT PermissionItem.Permission FROM PermissionItem " - "LEFT JOIN RankPermGroup ON RankPermGroup.PermGroupID = PermissionItem.PermGroupID " - "LEFT JOIN Rank ON Rank.RankID = RankPermGroup.RankID " + "LEFT JOIN RankPermGroup ON RankPermGroup.PermGroupID = PermissionItem.PermGroupID " + "LEFT JOIN Rank ON Rank.RankID = RankPermGroup.RankID " "WHERE Rank.Name = ?" ); stmt.bind(1, a_RankName); @@ -334,10 +344,11 @@ AStringVector cRankManager::GetRankRestrictions(const AString & a_RankName) AStringVector res; try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT RestrictionItem.Permission FROM RestrictionItem " - "LEFT JOIN RankPermGroup ON RankPermGroup.PermGroupID = RestrictionItem.PermGroupID " - "LEFT JOIN Rank ON Rank.RankID = RankPermGroup.RankID " + "LEFT JOIN RankPermGroup ON RankPermGroup.PermGroupID = RestrictionItem.PermGroupID " + "LEFT JOIN Rank ON Rank.RankID = RankPermGroup.RankID " "WHERE Rank.Name = ?" ); stmt.bind(1, a_RankName); @@ -492,7 +503,7 @@ AStringVector cRankManager::GetAllPermissionsRestrictions(void) { AStringVector Permissions = GetAllPermissions(); AStringVector Restrictions = GetAllRestrictions(); - for (auto & restriction: Restrictions) + for (auto & restriction : Restrictions) { Permissions.push_back(restriction); } @@ -553,7 +564,10 @@ void cRankManager::AddRank( } // Insert a new rank: - SQLite::Statement stmt(m_DB, "INSERT INTO Rank (Name, MsgPrefix, MsgSuffix, MsgNameColorCode) VALUES (?, ?, ?, ?)"); + SQLite::Statement stmt( + m_DB, + "INSERT INTO Rank (Name, MsgPrefix, MsgSuffix, MsgNameColorCode) VALUES (?, ?, ?, ?)" + ); stmt.bind(1, a_RankName); stmt.bind(2, a_MsgPrefix); stmt.bind(3, a_MsgSuffix); @@ -697,13 +711,21 @@ bool cRankManager::AddGroupToRank(const AString & a_GroupName, const AString & a stmt.bind(2, GroupID); if (!stmt.executeStep()) { - LOGWARNING("%s: Failed to check binding between rank %s and group %s, aborting.", __FUNCTION__, a_RankName.c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to check binding between rank %s and group %s, aborting.", + __FUNCTION__, + a_RankName.c_str(), + a_GroupName.c_str() + ); return false; } if (stmt.getColumn(0).getInt() > 0) { - LOGD("%s: Group %s already present in rank %s, skipping and returning success.", - __FUNCTION__, a_GroupName.c_str(), a_RankName.c_str() + LOGD( + "%s: Group %s already present in rank %s, skipping and returning success.", + __FUNCTION__, + a_GroupName.c_str(), + a_RankName.c_str() ); return true; } @@ -716,7 +738,12 @@ bool cRankManager::AddGroupToRank(const AString & a_GroupName, const AString & a stmt.bind(2, GroupID); if (stmt.exec() <= 0) { - LOGWARNING("%s: Failed to add group %s to rank %s, aborting.", __FUNCTION__, a_GroupName.c_str(), a_RankName.c_str()); + LOGWARNING( + "%s: Failed to add group %s to rank %s, aborting.", + __FUNCTION__, + a_GroupName.c_str(), + a_RankName.c_str() + ); return false; } } @@ -726,7 +753,13 @@ bool cRankManager::AddGroupToRank(const AString & a_GroupName, const AString & a } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to add group %s to rank %s: %s", __FUNCTION__, a_GroupName.c_str(), a_RankName.c_str(), ex.what()); + LOGWARNING( + "%s: Failed to add group %s to rank %s: %s", + __FUNCTION__, + a_GroupName.c_str(), + a_RankName.c_str(), + ex.what() + ); } return false; } @@ -757,18 +790,29 @@ bool cRankManager::AddPermissionToGroup(const AString & a_Permission, const AStr // Check if the permission is already present: { - SQLite::Statement stmt(m_DB, "SELECT COUNT(*) FROM PermissionItem WHERE PermGroupID = ? AND Permission = ?"); + SQLite::Statement stmt( + m_DB, + "SELECT COUNT(*) FROM PermissionItem WHERE PermGroupID = ? AND Permission = ?" + ); stmt.bind(1, GroupID); stmt.bind(2, a_Permission); if (!stmt.executeStep()) { - LOGWARNING("%s: Failed to check binding between permission %s and group %s, aborting.", __FUNCTION__, a_Permission.c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to check binding between permission %s and group %s, aborting.", + __FUNCTION__, + a_Permission.c_str(), + a_GroupName.c_str() + ); return false; } if (stmt.getColumn(0).getInt() > 0) { - LOGD("%s: Permission %s is already present in group %s, skipping and returning success.", - __FUNCTION__, a_Permission.c_str(), a_GroupName.c_str() + LOGD( + "%s: Permission %s is already present in group %s, skipping and returning success.", + __FUNCTION__, + a_Permission.c_str(), + a_GroupName.c_str() ); return true; } @@ -781,7 +825,12 @@ bool cRankManager::AddPermissionToGroup(const AString & a_Permission, const AStr stmt.bind(2, GroupID); if (stmt.exec() <= 0) { - LOGWARNING("%s: Failed to add permission %s to group %s, aborting.", __FUNCTION__, a_Permission.c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to add permission %s to group %s, aborting.", + __FUNCTION__, + a_Permission.c_str(), + a_GroupName.c_str() + ); return false; } } @@ -791,8 +840,12 @@ bool cRankManager::AddPermissionToGroup(const AString & a_Permission, const AStr } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to add permission %s to group %s: %s", - __FUNCTION__, a_Permission.c_str(), a_GroupName.c_str(), ex.what() + LOGWARNING( + "%s: Failed to add permission %s to group %s: %s", + __FUNCTION__, + a_Permission.c_str(), + a_GroupName.c_str(), + ex.what() ); } return false; @@ -824,18 +877,29 @@ bool cRankManager::AddRestrictionToGroup(const AString & a_Restriction, const AS // Check if the restriction is already present: { - SQLite::Statement stmt(m_DB, "SELECT COUNT(*) FROM RestrictionItem WHERE PermGroupID = ? AND Permission = ?"); + SQLite::Statement stmt( + m_DB, + "SELECT COUNT(*) FROM RestrictionItem WHERE PermGroupID = ? AND Permission = ?" + ); stmt.bind(1, GroupID); stmt.bind(2, a_Restriction); if (!stmt.executeStep()) { - LOGWARNING("%s: Failed to check binding between restriction %s and group %s, aborting.", __FUNCTION__, a_Restriction.c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to check binding between restriction %s and group %s, aborting.", + __FUNCTION__, + a_Restriction.c_str(), + a_GroupName.c_str() + ); return false; } if (stmt.getColumn(0).getInt() > 0) { - LOGD("%s: Restriction %s is already present in group %s, skipping and returning success.", - __FUNCTION__, a_Restriction.c_str(), a_GroupName.c_str() + LOGD( + "%s: Restriction %s is already present in group %s, skipping and returning success.", + __FUNCTION__, + a_Restriction.c_str(), + a_GroupName.c_str() ); return true; } @@ -848,7 +912,12 @@ bool cRankManager::AddRestrictionToGroup(const AString & a_Restriction, const AS stmt.bind(2, GroupID); if (stmt.exec() <= 0) { - LOGWARNING("%s: Failed to add restriction %s to group %s, aborting.", __FUNCTION__, a_Restriction.c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to add restriction %s to group %s, aborting.", + __FUNCTION__, + a_Restriction.c_str(), + a_GroupName.c_str() + ); return false; } } @@ -858,8 +927,12 @@ bool cRankManager::AddRestrictionToGroup(const AString & a_Restriction, const AS } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to add restriction %s to group %s: %s", - __FUNCTION__, a_Restriction.c_str(), a_GroupName.c_str(), ex.what() + LOGWARNING( + "%s: Failed to add restriction %s to group %s: %s", + __FUNCTION__, + a_Restriction.c_str(), + a_GroupName.c_str(), + ex.what() ); } return false; @@ -893,18 +966,29 @@ bool cRankManager::AddPermissionsToGroup(const AStringVector & a_Permissions, co { // Check if the permission is already present: { - SQLite::Statement stmt(m_DB, "SELECT COUNT(*) FROM PermissionItem WHERE PermGroupID = ? AND Permission = ?"); + SQLite::Statement stmt( + m_DB, + "SELECT COUNT(*) FROM PermissionItem WHERE PermGroupID = ? AND Permission = ?" + ); stmt.bind(1, GroupID); stmt.bind(2, *itr); if (!stmt.executeStep()) { - LOGWARNING("%s: Failed to check binding between permission %s and group %s, aborting.", __FUNCTION__, itr->c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to check binding between permission %s and group %s, aborting.", + __FUNCTION__, + itr->c_str(), + a_GroupName.c_str() + ); return false; } if (stmt.getColumn(0).getInt() > 0) { - LOGD("%s: Permission %s is already present in group %s, skipping and returning success.", - __FUNCTION__, itr->c_str(), a_GroupName.c_str() + LOGD( + "%s: Permission %s is already present in group %s, skipping and returning success.", + __FUNCTION__, + itr->c_str(), + a_GroupName.c_str() ); continue; } @@ -917,7 +1001,12 @@ bool cRankManager::AddPermissionsToGroup(const AStringVector & a_Permissions, co stmt.bind(2, GroupID); if (stmt.exec() <= 0) { - LOGWARNING("%s: Failed to add permission %s to group %s, skipping.", __FUNCTION__, itr->c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to add permission %s to group %s, skipping.", + __FUNCTION__, + itr->c_str(), + a_GroupName.c_str() + ); continue; } } @@ -928,9 +1017,7 @@ bool cRankManager::AddPermissionsToGroup(const AStringVector & a_Permissions, co } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to add permissions to group %s: %s", - __FUNCTION__, a_GroupName.c_str(), ex.what() - ); + LOGWARNING("%s: Failed to add permissions to group %s: %s", __FUNCTION__, a_GroupName.c_str(), ex.what()); } return false; } @@ -963,18 +1050,29 @@ bool cRankManager::AddRestrictionsToGroup(const AStringVector & a_Restrictions, { // Check if the restriction is already present: { - SQLite::Statement stmt(m_DB, "SELECT COUNT(*) FROM RestrictionItem WHERE PermGroupID = ? AND Permission = ?"); + SQLite::Statement stmt( + m_DB, + "SELECT COUNT(*) FROM RestrictionItem WHERE PermGroupID = ? AND Permission = ?" + ); stmt.bind(1, GroupID); stmt.bind(2, *itr); if (!stmt.executeStep()) { - LOGWARNING("%s: Failed to check binding between restriction %s and group %s, aborting.", __FUNCTION__, itr->c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to check binding between restriction %s and group %s, aborting.", + __FUNCTION__, + itr->c_str(), + a_GroupName.c_str() + ); return false; } if (stmt.getColumn(0).getInt() > 0) { - LOGD("%s: Restriction %s is already present in group %s, skipping and returning success.", - __FUNCTION__, itr->c_str(), a_GroupName.c_str() + LOGD( + "%s: Restriction %s is already present in group %s, skipping and returning success.", + __FUNCTION__, + itr->c_str(), + a_GroupName.c_str() ); continue; } @@ -987,7 +1085,12 @@ bool cRankManager::AddRestrictionsToGroup(const AStringVector & a_Restrictions, stmt.bind(2, GroupID); if (stmt.exec() <= 0) { - LOGWARNING("%s: Failed to add restriction %s to group %s, skipping.", __FUNCTION__, itr->c_str(), a_GroupName.c_str()); + LOGWARNING( + "%s: Failed to add restriction %s to group %s, skipping.", + __FUNCTION__, + itr->c_str(), + a_GroupName.c_str() + ); continue; } } @@ -998,9 +1101,7 @@ bool cRankManager::AddRestrictionsToGroup(const AStringVector & a_Restrictions, } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to add restrictions to group %s: %s", - __FUNCTION__, a_GroupName.c_str(), ex.what() - ); + LOGWARNING("%s: Failed to add restrictions to group %s: %s", __FUNCTION__, a_GroupName.c_str(), ex.what()); } return false; } @@ -1017,7 +1118,11 @@ void cRankManager::RemoveRank(const AString & a_RankName, const AString & a_Repl // Check if the default rank is being removed with a proper replacement: if ((a_RankName == m_DefaultRank) && !RankExists(a_ReplacementRankName)) { - LOGWARNING("%s: Cannot remove rank %s, it is the default rank and the replacement rank doesn't exist.", __FUNCTION__, a_RankName.c_str()); + LOGWARNING( + "%s: Cannot remove rank %s, it is the default rank and the replacement rank doesn't exist.", + __FUNCTION__, + a_RankName.c_str() + ); return; } @@ -1156,17 +1261,23 @@ void cRankManager::RemoveGroupFromRank(const AString & a_GroupName, const AStrin // Get the IDs of the group and the rank: int GroupID, RankID; { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT PermGroup.PermGroupID, Rank.RankID FROM PermGroup " - "LEFT JOIN RankPermGroup ON RankPermGroup.PermGroupID = PermGroup.PermGroupID " - "LEFT JOIN Rank ON Rank.RankID = RankPermGroup.RankID " + "LEFT JOIN RankPermGroup ON RankPermGroup.PermGroupID = PermGroup.PermGroupID " + "LEFT JOIN Rank ON Rank.RankID = RankPermGroup.RankID " "WHERE PermGroup.Name = ? AND Rank.Name = ?" ); stmt.bind(1, a_GroupName); stmt.bind(2, a_RankName); if (!stmt.executeStep()) { - LOGINFO("%s: Group %s was not found in rank %s, skipping.", __FUNCTION__, a_GroupName.c_str(), a_RankName.c_str()); + LOGINFO( + "%s: Group %s was not found in rank %s, skipping.", + __FUNCTION__, + a_GroupName.c_str(), + a_RankName.c_str() + ); return; } GroupID = stmt.getColumn(0).getInt(); @@ -1190,7 +1301,13 @@ void cRankManager::RemoveGroupFromRank(const AString & a_GroupName, const AStrin } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to remove group %s from rank %s in the DB: %s", __FUNCTION__, a_GroupName.c_str(), a_RankName.c_str(), ex.what()); + LOGWARNING( + "%s: Failed to remove group %s from rank %s in the DB: %s", + __FUNCTION__, + a_GroupName.c_str(), + a_RankName.c_str(), + ex.what() + ); } } @@ -1228,8 +1345,12 @@ void cRankManager::RemovePermissionFromGroup(const AString & a_Permission, const } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to remove permission %s from group %s in DB: %s", - __FUNCTION__, a_Permission.c_str(), a_GroupName.c_str(), ex.what() + LOGWARNING( + "%s: Failed to remove permission %s from group %s in DB: %s", + __FUNCTION__, + a_Permission.c_str(), + a_GroupName.c_str(), + ex.what() ); } } @@ -1268,8 +1389,12 @@ void cRankManager::RemoveRestrictionFromGroup(const AString & a_Restriction, con } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to remove restriction %s from group %s in DB: %s", - __FUNCTION__, a_Restriction.c_str(), a_GroupName.c_str(), ex.what() + LOGWARNING( + "%s: Failed to remove restriction %s from group %s in DB: %s", + __FUNCTION__, + a_Restriction.c_str(), + a_GroupName.c_str(), + ex.what() ); } } @@ -1291,7 +1416,12 @@ bool cRankManager::RenameRank(const AString & a_OldName, const AString & a_NewNa stmt.bind(1, a_NewName); if (stmt.executeStep()) { - LOGINFO("%s: Rank %s is already present, cannot rename %s", __FUNCTION__, a_NewName.c_str(), a_OldName.c_str()); + LOGINFO( + "%s: Rank %s is already present, cannot rename %s", + __FUNCTION__, + a_NewName.c_str(), + a_OldName.c_str() + ); return false; } } @@ -1303,7 +1433,12 @@ bool cRankManager::RenameRank(const AString & a_OldName, const AString & a_NewNa stmt.bind(2, a_OldName); if (stmt.exec() <= 0) { - LOGINFO("%s: There is no rank %s, cannot rename to %s.", __FUNCTION__, a_OldName.c_str(), a_NewName.c_str()); + LOGINFO( + "%s: There is no rank %s, cannot rename to %s.", + __FUNCTION__, + a_OldName.c_str(), + a_NewName.c_str() + ); return false; } } @@ -1318,8 +1453,13 @@ bool cRankManager::RenameRank(const AString & a_OldName, const AString & a_NewNa } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to rename rank %s to %s in DB: %s", - __FUNCTION__, a_OldName.c_str(), a_NewName.c_str(), ex.what()); + LOGWARNING( + "%s: Failed to rename rank %s to %s in DB: %s", + __FUNCTION__, + a_OldName.c_str(), + a_NewName.c_str(), + ex.what() + ); } return false; } @@ -1341,7 +1481,12 @@ bool cRankManager::RenameGroup(const AString & a_OldName, const AString & a_NewN stmt.bind(1, a_NewName); if (stmt.executeStep()) { - LOGD("%s: Group %s is already present, cannot rename %s", __FUNCTION__, a_NewName.c_str(), a_OldName.c_str()); + LOGD( + "%s: Group %s is already present, cannot rename %s", + __FUNCTION__, + a_NewName.c_str(), + a_OldName.c_str() + ); return false; } } @@ -1359,8 +1504,13 @@ bool cRankManager::RenameGroup(const AString & a_OldName, const AString & a_NewN } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to rename group %s to %s in DB: %s", - __FUNCTION__, a_OldName.c_str(), a_NewName.c_str(), ex.what()); + LOGWARNING( + "%s: Failed to rename group %s to %s in DB: %s", + __FUNCTION__, + a_OldName.c_str(), + a_NewName.c_str(), + ex.what() + ); } return false; } @@ -1415,14 +1565,16 @@ void cRankManager::SetPlayerRank(const cUUID & a_PlayerUUID, const AString & a_P return; } - LOGWARNING("%s: Failed to set player UUID %s to rank %s.", - __FUNCTION__, StrUUID.c_str(), a_RankName.c_str() - ); + LOGWARNING("%s: Failed to set player UUID %s to rank %s.", __FUNCTION__, StrUUID.c_str(), a_RankName.c_str()); } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to set player UUID %s to rank %s: %s", - __FUNCTION__, StrUUID.c_str(), a_RankName.c_str(), ex.what() + LOGWARNING( + "%s: Failed to set player UUID %s to rank %s: %s", + __FUNCTION__, + StrUUID.c_str(), + a_RankName.c_str(), + ex.what() ); } } @@ -1446,9 +1598,7 @@ void cRankManager::RemovePlayerRank(const cUUID & a_PlayerUUID) } catch (const SQLite::Exception & ex) { - LOGWARNING("%s: Failed to remove rank from player UUID %s: %s", - __FUNCTION__, StrUUID.c_str(), ex.what() - ); + LOGWARNING("%s: Failed to remove rank from player UUID %s: %s", __FUNCTION__, StrUUID.c_str(), ex.what()); } } @@ -1468,7 +1618,10 @@ void cRankManager::SetRankVisuals( try { - SQLite::Statement stmt(m_DB, "UPDATE Rank SET MsgPrefix = ?, MsgSuffix = ?, MsgNameColorCode = ? WHERE Name = ?"); + SQLite::Statement stmt( + m_DB, + "UPDATE Rank SET MsgPrefix = ?, MsgSuffix = ?, MsgNameColorCode = ? WHERE Name = ?" + ); stmt.bind(1, a_MsgPrefix); stmt.bind(2, a_MsgSuffix); stmt.bind(3, a_MsgNameColorCode); @@ -1610,10 +1763,11 @@ bool cRankManager::IsGroupInRank(const AString & a_GroupName, const AString & a_ try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT * FROM Rank " - "LEFT JOIN RankPermGroup ON Rank.RankID = RankPermGroup.RankID " - "LEFT JOIN PermGroup ON PermGroup.PermGroupID = RankPermGroup.PermGroupID " + "LEFT JOIN RankPermGroup ON Rank.RankID = RankPermGroup.RankID " + "LEFT JOIN PermGroup ON PermGroup.PermGroupID = RankPermGroup.PermGroupID " "WHERE Rank.Name = ? AND PermGroup.Name = ?" ); stmt.bind(1, a_RankName); @@ -1642,9 +1796,10 @@ bool cRankManager::IsPermissionInGroup(const AString & a_Permission, const AStri try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT * FROM PermissionItem " - "LEFT JOIN PermGroup ON PermGroup.PermGroupID = PermissionItem.PermGroupID " + "LEFT JOIN PermGroup ON PermGroup.PermGroupID = PermissionItem.PermGroupID " "WHERE PermissionItem.Permission = ? AND PermGroup.Name = ?" ); stmt.bind(1, a_Permission); @@ -1673,9 +1828,10 @@ bool cRankManager::IsRestrictionInGroup(const AString & a_Restriction, const ASt try { - SQLite::Statement stmt(m_DB, + SQLite::Statement stmt( + m_DB, "SELECT * FROM RestrictionItem " - "LEFT JOIN PermGroup ON PermGroup.PermGroupID = RestrictionItem.PermGroupID " + "LEFT JOIN PermGroup ON PermGroup.PermGroupID = RestrictionItem.PermGroupID " "WHERE RestrictionItem.Permission = ? AND PermGroup.Name = ?" ); stmt.bind(1, a_Restriction); @@ -1822,12 +1978,8 @@ bool cRankManager::UpdatePlayerName(const cUUID & a_PlayerUUID, const AString & bool cRankManager::AreDBTablesEmpty(void) { return ( - IsDBTableEmpty("Rank") && - IsDBTableEmpty("PlayerRank") && - IsDBTableEmpty("PermGroup") && - IsDBTableEmpty("RankPermGroup") && - IsDBTableEmpty("PermissionItem") && - IsDBTableEmpty("DefaultRank") + IsDBTableEmpty("Rank") && IsDBTableEmpty("PlayerRank") && IsDBTableEmpty("PermGroup") && + IsDBTableEmpty("RankPermGroup") && IsDBTableEmpty("PermissionItem") && IsDBTableEmpty("DefaultRank") ); } @@ -1859,10 +2011,10 @@ void cRankManager::CreateDefaults(void) cMassChangeLock Lock(*this); // Create ranks: - AddRank("Default", "", "", ""); - AddRank("VIP", "", "", ""); + AddRank("Default", "", "", ""); + AddRank("VIP", "", "", ""); AddRank("Operator", "", "", ""); - AddRank("Admin", "", "", ""); + AddRank("Admin", "", "", ""); // Create groups: AddGroup("Default"); @@ -1871,18 +2023,18 @@ void cRankManager::CreateDefaults(void) AddGroup("Everything"); // Add groups to ranks: - AddGroupToRank("Default", "Default"); - AddGroupToRank("Teleport", "VIP"); - AddGroupToRank("Teleport", "Operator"); - AddGroupToRank("Kick", "Operator"); + AddGroupToRank("Default", "Default"); + AddGroupToRank("Teleport", "VIP"); + AddGroupToRank("Teleport", "Operator"); + AddGroupToRank("Kick", "Operator"); AddGroupToRank("Everything", "Admin"); // Add permissions to groups: - AddPermissionToGroup("core.help", "Default"); - AddPermissionToGroup("core.build", "Default"); + AddPermissionToGroup("core.help", "Default"); + AddPermissionToGroup("core.build", "Default"); AddPermissionToGroup("core.teleport", "Teleport"); - AddPermissionToGroup("core.kick", "Kick"); - AddPermissionToGroup("*", "Everything"); + AddPermissionToGroup("core.kick", "Kick"); + AddPermissionToGroup("*", "Everything"); // Set the default rank: SetDefaultRank("Default"); @@ -1925,7 +2077,11 @@ bool cRankManager::DoesColumnExist(const char * a_TableName, const char * a_Colu -void cRankManager::CreateColumnIfNotExists(const char * a_TableName, const char * a_ColumnName, const char * a_ColumnType) +void cRankManager::CreateColumnIfNotExists( + const char * a_TableName, + const char * a_ColumnName, + const char * a_ColumnType +) { // If the column already exists, bail out: if (DoesColumnExist(a_TableName, a_ColumnName)) @@ -1943,7 +2099,3 @@ void cRankManager::CreateColumnIfNotExists(const char * a_TableName, const char LOGWARNING("%s: Failed to query DB: %s", __FUNCTION__, exc.what()); } } - - - - diff --git a/src/RankManager.h b/src/RankManager.h index 283713eeb..f0de14d0a 100644 --- a/src/RankManager.h +++ b/src/RankManager.h @@ -1,7 +1,8 @@ // RankManager.h -// Declares the cRankManager class that represents the rank manager responsible for assigning permissions and message visuals to players +// Declares the cRankManager class that represents the rank manager responsible for assigning permissions and message +// visuals to players @@ -23,25 +24,21 @@ class cMojangAPI; class cRankManager { -public: + public: /** Acquire this lock to perform mass changes. Improves performance by wrapping everything into a transaction. Makes sure that no other thread is accessing the DB. */ class cMassChangeLock { - public: + public: cMassChangeLock(cRankManager & a_RankManager) : - m_Lock(a_RankManager.m_CS), - m_Transaction(a_RankManager.m_DB) + m_Lock(a_RankManager.m_CS), m_Transaction(a_RankManager.m_DB) { } - ~cMassChangeLock() - { - m_Transaction.commit(); - } + ~cMassChangeLock() { m_Transaction.commit(); } - protected: + protected: cCSLock m_Lock; SQLite::Transaction m_Transaction; }; @@ -259,8 +256,7 @@ public: /** Updates the playername that is saved with this uuid. Returns false if a error occurred */ bool UpdatePlayerName(const cUUID & a_PlayerUUID, const AString & a_NewPlayerName); -protected: - + protected: /** The database storage for all the data. Protected by m_CS. */ SQLite::Database m_DB; @@ -289,8 +285,4 @@ protected: /** If the specified table doesn't contain the specified column, it is added to the table. The column type is used only when creating the column, it is not used when checking for existence. */ void CreateColumnIfNotExists(const char * a_TableName, const char * a_ColumnName, const char * a_ColumnType = ""); -} ; - - - - +}; diff --git a/src/Registries/BlockStates.cpp b/src/Registries/BlockStates.cpp index fe0176a34..5e3e1a966 100644 --- a/src/Registries/BlockStates.cpp +++ b/src/Registries/BlockStates.cpp @@ -2,13649 +2,50402 @@ namespace Block { - namespace AcaciaButton - { - BlockState AcaciaButton() - { - return 6451; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 6458: case 6459: case 6460: case 6461: case 6462: case 6463: case 6464: case 6465: return Face::Ceiling; - case 6442: case 6443: case 6444: case 6445: case 6446: case 6447: case 6448: case 6449: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6446: case 6447: case 6454: case 6455: case 6462: case 6463: return eBlockFace::BLOCK_FACE_XM; - case 6448: case 6449: case 6456: case 6457: case 6464: case 6465: return eBlockFace::BLOCK_FACE_XP; - case 6442: case 6443: case 6450: case 6451: case 6458: case 6459: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 6443: case 6445: case 6447: case 6449: case 6451: case 6453: case 6455: case 6457: case 6459: case 6461: case 6463: case 6465: return false; - default: return true; - } - } - } - namespace AcaciaDoor - { - BlockState AcaciaDoor() - { - return 8941; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8962: case 8963: case 8964: case 8965: case 8966: case 8967: case 8968: case 8969: case 8970: case 8971: case 8972: case 8973: case 8974: case 8975: case 8976: case 8977: return eBlockFace::BLOCK_FACE_XM; - case 8978: case 8979: case 8980: case 8981: case 8982: case 8983: case 8984: case 8985: case 8986: case 8987: case 8988: case 8989: case 8990: case 8991: case 8992: case 8993: return eBlockFace::BLOCK_FACE_XP; - case 8930: case 8931: case 8932: case 8933: case 8934: case 8935: case 8936: case 8937: case 8938: case 8939: case 8940: case 8941: case 8942: case 8943: case 8944: case 8945: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 8938: case 8939: case 8940: case 8941: case 8942: case 8943: case 8944: case 8945: case 8954: case 8955: case 8956: case 8957: case 8958: case 8959: case 8960: case 8961: case 8970: case 8971: case 8972: case 8973: case 8974: case 8975: case 8976: case 8977: case 8986: case 8987: case 8988: case 8989: case 8990: case 8991: case 8992: case 8993: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 8930: case 8931: case 8932: case 8933: case 8938: case 8939: case 8940: case 8941: case 8946: case 8947: case 8948: case 8949: case 8954: case 8955: case 8956: case 8957: case 8962: case 8963: case 8964: case 8965: case 8970: case 8971: case 8972: case 8973: case 8978: case 8979: case 8980: case 8981: case 8986: case 8987: case 8988: case 8989: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8932: case 8933: case 8936: case 8937: case 8940: case 8941: case 8944: case 8945: case 8948: case 8949: case 8952: case 8953: case 8956: case 8957: case 8960: case 8961: case 8964: case 8965: case 8968: case 8969: case 8972: case 8973: case 8976: case 8977: case 8980: case 8981: case 8984: case 8985: case 8988: case 8989: case 8992: case 8993: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8931: case 8933: case 8935: case 8937: case 8939: case 8941: case 8943: case 8945: case 8947: case 8949: case 8951: case 8953: case 8955: case 8957: case 8959: case 8961: case 8963: case 8965: case 8967: case 8969: case 8971: case 8973: case 8975: case 8977: case 8979: case 8981: case 8983: case 8985: case 8987: case 8989: case 8991: case 8993: return false; - default: return true; - } - } - } - namespace AcaciaFence - { - BlockState AcaciaFence() - { - return 8705; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 8692: case 8693: case 8696: case 8697: case 8700: case 8701: case 8704: case 8705: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 8684: case 8685: case 8688: case 8689: case 8700: case 8701: case 8704: case 8705: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 8680: case 8681: case 8688: case 8689: case 8696: case 8697: case 8704: case 8705: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 8677: case 8681: case 8685: case 8689: case 8693: case 8697: case 8701: case 8705: return false; - default: return true; - } - } - } - namespace AcaciaFenceGate - { - BlockState AcaciaFenceGate() - { - return 8521; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8530: case 8531: case 8532: case 8533: case 8534: case 8535: case 8536: case 8537: return eBlockFace::BLOCK_FACE_XM; - case 8538: case 8539: case 8540: case 8541: case 8542: case 8543: case 8544: case 8545: return eBlockFace::BLOCK_FACE_XP; - case 8514: case 8515: case 8516: case 8517: case 8518: case 8519: case 8520: case 8521: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool InWall(const BlockState Block) - { - switch (Block.ID) - { - case 8518: case 8519: case 8520: case 8521: case 8526: case 8527: case 8528: case 8529: case 8534: case 8535: case 8536: case 8537: case 8542: case 8543: case 8544: case 8545: return false; - default: return true; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8516: case 8517: case 8520: case 8521: case 8524: case 8525: case 8528: case 8529: case 8532: case 8533: case 8536: case 8537: case 8540: case 8541: case 8544: case 8545: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8515: case 8517: case 8519: case 8521: case 8523: case 8525: case 8527: case 8529: case 8531: case 8533: case 8535: case 8537: case 8539: case 8541: case 8543: case 8545: return false; - default: return true; - } - } - } - namespace AcaciaLeaves - { - BlockState AcaciaLeaves() - { - return 214; - } - unsigned char Distance(const BlockState Block) - { - switch (Block.ID) - { - case 201: case 202: return 1; - case 203: case 204: return 2; - case 205: case 206: return 3; - case 207: case 208: return 4; - case 209: case 210: return 5; - case 211: case 212: return 6; - default: return 7; - } - } - bool Persistent(const BlockState Block) - { - switch (Block.ID) - { - case 202: case 204: case 206: case 208: case 210: case 212: case 214: return false; - default: return true; - } - } - } - namespace AcaciaLog - { - BlockState AcaciaLog() - { - return 86; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 85: return Axis::X; - case 86: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace AcaciaPlanks - { - } - namespace AcaciaPressurePlate - { - BlockState AcaciaPressurePlate() - { - return 3882; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3882: return false; - default: return true; - } - } - } - namespace AcaciaSapling - { - BlockState AcaciaSapling() - { - return 29; - } - unsigned char Stage(const BlockState Block) - { - switch (Block.ID) - { - case 29: return 0; - default: return 1; - } - } - } - namespace AcaciaSign - { - BlockState AcaciaSign() - { - return 3478; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 3478: return 0; - case 3480: return 1; - case 3498: return 10; - case 3500: return 11; - case 3502: return 12; - case 3504: return 13; - case 3506: return 14; - case 3508: return 15; - case 3482: return 2; - case 3484: return 3; - case 3486: return 4; - case 3488: return 5; - case 3490: return 6; - case 3492: return 7; - case 3494: return 8; - default: return 9; - } - } - } - namespace AcaciaSlab - { - BlockState AcaciaSlab() - { - return 8327; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8327: return Type::Bottom; - case 8329: return Type::Double; - default: return Type::Top; - } - } - } - namespace AcaciaStairs - { - BlockState AcaciaStairs() - { - return 7386; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 7416: case 7418: case 7420: case 7422: case 7424: case 7426: case 7428: case 7430: case 7432: case 7434: return eBlockFace::BLOCK_FACE_XM; - case 7436: case 7438: case 7440: case 7442: case 7444: case 7446: case 7448: case 7450: case 7452: case 7454: return eBlockFace::BLOCK_FACE_XP; - case 7376: case 7378: case 7380: case 7382: case 7384: case 7386: case 7388: case 7390: case 7392: case 7394: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7386: case 7388: case 7390: case 7392: case 7394: case 7406: case 7408: case 7410: case 7412: case 7414: case 7426: case 7428: case 7430: case 7432: case 7434: case 7446: case 7448: case 7450: case 7452: case 7454: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 7378: case 7388: case 7398: case 7408: case 7418: case 7428: case 7438: case 7448: return Shape::InnerLeft; - case 7380: case 7390: case 7400: case 7410: case 7420: case 7430: case 7440: case 7450: return Shape::InnerRight; - case 7382: case 7392: case 7402: case 7412: case 7422: case 7432: case 7442: case 7452: return Shape::OuterLeft; - case 7384: case 7394: case 7404: case 7414: case 7424: case 7434: case 7444: case 7454: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace AcaciaTrapdoor - { - BlockState AcaciaTrapdoor() - { - return 4382; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4400: case 4402: case 4404: case 4406: case 4408: case 4410: case 4412: case 4414: return eBlockFace::BLOCK_FACE_XM; - case 4416: case 4418: case 4420: case 4422: case 4424: case 4426: case 4428: case 4430: return eBlockFace::BLOCK_FACE_XP; - case 4368: case 4370: case 4372: case 4374: case 4376: case 4378: case 4380: case 4382: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 4376: case 4378: case 4380: case 4382: case 4392: case 4394: case 4396: case 4398: case 4408: case 4410: case 4412: case 4414: case 4424: case 4426: case 4428: case 4430: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 4372: case 4374: case 4380: case 4382: case 4388: case 4390: case 4396: case 4398: case 4404: case 4406: case 4412: case 4414: case 4420: case 4422: case 4428: case 4430: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 4370: case 4374: case 4378: case 4382: case 4386: case 4390: case 4394: case 4398: case 4402: case 4406: case 4410: case 4414: case 4418: case 4422: case 4426: case 4430: return false; - default: return true; - } - } - } - namespace AcaciaWallSign - { - BlockState AcaciaWallSign() - { - return 3760; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3764: return eBlockFace::BLOCK_FACE_XM; - case 3766: return eBlockFace::BLOCK_FACE_XP; - case 3760: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace AcaciaWood - { - BlockState AcaciaWood() - { - return 122; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 121: return Axis::X; - case 122: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace ActivatorRail - { - BlockState ActivatorRail() - { - return 6829; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 6829: case 6830: case 6831: case 6832: case 6833: case 6834: return false; - default: return true; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 6825: case 6831: return Shape::AscendingEast; - case 6827: case 6833: return Shape::AscendingNorth; - case 6828: case 6834: return Shape::AscendingSouth; - case 6826: case 6832: return Shape::AscendingWest; - case 6824: case 6830: return Shape::EastWest; - default: return Shape::NorthSouth; - } - } - } - namespace Air - { - } - namespace Allium - { - } - namespace AncientDebris - { - } - namespace Andesite - { - } - namespace AndesiteSlab - { - BlockState AndesiteSlab() - { - return 10846; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10846: return Type::Bottom; - case 10848: return Type::Double; - default: return Type::Top; - } - } - } - namespace AndesiteStairs - { - BlockState AndesiteStairs() - { - return 10480; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10510: case 10512: case 10514: case 10516: case 10518: case 10520: case 10522: case 10524: case 10526: case 10528: return eBlockFace::BLOCK_FACE_XM; - case 10530: case 10532: case 10534: case 10536: case 10538: case 10540: case 10542: case 10544: case 10546: case 10548: return eBlockFace::BLOCK_FACE_XP; - case 10470: case 10472: case 10474: case 10476: case 10478: case 10480: case 10482: case 10484: case 10486: case 10488: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10480: case 10482: case 10484: case 10486: case 10488: case 10500: case 10502: case 10504: case 10506: case 10508: case 10520: case 10522: case 10524: case 10526: case 10528: case 10540: case 10542: case 10544: case 10546: case 10548: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10472: case 10482: case 10492: case 10502: case 10512: case 10522: case 10532: case 10542: return Shape::InnerLeft; - case 10474: case 10484: case 10494: case 10504: case 10514: case 10524: case 10534: case 10544: return Shape::InnerRight; - case 10476: case 10486: case 10496: case 10506: case 10516: case 10526: case 10536: case 10546: return Shape::OuterLeft; - case 10478: case 10488: case 10498: case 10508: case 10518: case 10528: case 10538: case 10548: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace AndesiteWall - { - BlockState AndesiteWall() - { - return 13138; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 13246: case 13247: case 13248: case 13252: case 13253: case 13254: case 13258: case 13259: case 13260: case 13264: case 13265: case 13266: case 13270: case 13271: case 13272: case 13276: case 13277: case 13278: case 13282: case 13283: case 13284: case 13288: case 13289: case 13290: case 13294: case 13295: case 13296: case 13300: case 13301: case 13302: case 13306: case 13307: case 13308: case 13312: case 13313: case 13314: case 13318: case 13319: case 13320: case 13324: case 13325: case 13326: case 13330: case 13331: case 13332: case 13336: case 13337: case 13338: case 13342: case 13343: case 13344: case 13348: case 13349: case 13350: return East::Low; - case 13138: case 13139: case 13140: case 13144: case 13145: case 13146: case 13150: case 13151: case 13152: case 13156: case 13157: case 13158: case 13162: case 13163: case 13164: case 13168: case 13169: case 13170: case 13174: case 13175: case 13176: case 13180: case 13181: case 13182: case 13186: case 13187: case 13188: case 13192: case 13193: case 13194: case 13198: case 13199: case 13200: case 13204: case 13205: case 13206: case 13210: case 13211: case 13212: case 13216: case 13217: case 13218: case 13222: case 13223: case 13224: case 13228: case 13229: case 13230: case 13234: case 13235: case 13236: case 13240: case 13241: case 13242: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 13174: case 13175: case 13176: case 13180: case 13181: case 13182: case 13186: case 13187: case 13188: case 13192: case 13193: case 13194: case 13198: case 13199: case 13200: case 13204: case 13205: case 13206: case 13282: case 13283: case 13284: case 13288: case 13289: case 13290: case 13294: case 13295: case 13296: case 13300: case 13301: case 13302: case 13306: case 13307: case 13308: case 13312: case 13313: case 13314: case 13390: case 13391: case 13392: case 13396: case 13397: case 13398: case 13402: case 13403: case 13404: case 13408: case 13409: case 13410: case 13414: case 13415: case 13416: case 13420: case 13421: case 13422: return North::Low; - case 13138: case 13139: case 13140: case 13144: case 13145: case 13146: case 13150: case 13151: case 13152: case 13156: case 13157: case 13158: case 13162: case 13163: case 13164: case 13168: case 13169: case 13170: case 13246: case 13247: case 13248: case 13252: case 13253: case 13254: case 13258: case 13259: case 13260: case 13264: case 13265: case 13266: case 13270: case 13271: case 13272: case 13276: case 13277: case 13278: case 13354: case 13355: case 13356: case 13360: case 13361: case 13362: case 13366: case 13367: case 13368: case 13372: case 13373: case 13374: case 13378: case 13379: case 13380: case 13384: case 13385: case 13386: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 13150: case 13151: case 13152: case 13156: case 13157: case 13158: case 13186: case 13187: case 13188: case 13192: case 13193: case 13194: case 13222: case 13223: case 13224: case 13228: case 13229: case 13230: case 13258: case 13259: case 13260: case 13264: case 13265: case 13266: case 13294: case 13295: case 13296: case 13300: case 13301: case 13302: case 13330: case 13331: case 13332: case 13336: case 13337: case 13338: case 13366: case 13367: case 13368: case 13372: case 13373: case 13374: case 13402: case 13403: case 13404: case 13408: case 13409: case 13410: case 13438: case 13439: case 13440: case 13444: case 13445: case 13446: return South::Low; - case 13138: case 13139: case 13140: case 13144: case 13145: case 13146: case 13174: case 13175: case 13176: case 13180: case 13181: case 13182: case 13210: case 13211: case 13212: case 13216: case 13217: case 13218: case 13246: case 13247: case 13248: case 13252: case 13253: case 13254: case 13282: case 13283: case 13284: case 13288: case 13289: case 13290: case 13318: case 13319: case 13320: case 13324: case 13325: case 13326: case 13354: case 13355: case 13356: case 13360: case 13361: case 13362: case 13390: case 13391: case 13392: case 13396: case 13397: case 13398: case 13426: case 13427: case 13428: case 13432: case 13433: case 13434: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 13144: case 13145: case 13146: case 13156: case 13157: case 13158: case 13168: case 13169: case 13170: case 13180: case 13181: case 13182: case 13192: case 13193: case 13194: case 13204: case 13205: case 13206: case 13216: case 13217: case 13218: case 13228: case 13229: case 13230: case 13240: case 13241: case 13242: case 13252: case 13253: case 13254: case 13264: case 13265: case 13266: case 13276: case 13277: case 13278: case 13288: case 13289: case 13290: case 13300: case 13301: case 13302: case 13312: case 13313: case 13314: case 13324: case 13325: case 13326: case 13336: case 13337: case 13338: case 13348: case 13349: case 13350: case 13360: case 13361: case 13362: case 13372: case 13373: case 13374: case 13384: case 13385: case 13386: case 13396: case 13397: case 13398: case 13408: case 13409: case 13410: case 13420: case 13421: case 13422: case 13432: case 13433: case 13434: case 13444: case 13445: case 13446: case 13456: case 13457: case 13458: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 13139: case 13145: case 13151: case 13157: case 13163: case 13169: case 13175: case 13181: case 13187: case 13193: case 13199: case 13205: case 13211: case 13217: case 13223: case 13229: case 13235: case 13241: case 13247: case 13253: case 13259: case 13265: case 13271: case 13277: case 13283: case 13289: case 13295: case 13301: case 13307: case 13313: case 13319: case 13325: case 13331: case 13337: case 13343: case 13349: case 13355: case 13361: case 13367: case 13373: case 13379: case 13385: case 13391: case 13397: case 13403: case 13409: case 13415: case 13421: case 13427: case 13433: case 13439: case 13445: case 13451: case 13457: return West::Low; - case 13138: case 13144: case 13150: case 13156: case 13162: case 13168: case 13174: case 13180: case 13186: case 13192: case 13198: case 13204: case 13210: case 13216: case 13222: case 13228: case 13234: case 13240: case 13246: case 13252: case 13258: case 13264: case 13270: case 13276: case 13282: case 13288: case 13294: case 13300: case 13306: case 13312: case 13318: case 13324: case 13330: case 13336: case 13342: case 13348: case 13354: case 13360: case 13366: case 13372: case 13378: case 13384: case 13390: case 13396: case 13402: case 13408: case 13414: case 13420: case 13426: case 13432: case 13438: case 13444: case 13450: case 13456: return West::None; - default: return West::Tall; - } - } - } - namespace Anvil - { - BlockState Anvil() - { - return 6610; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6612: return eBlockFace::BLOCK_FACE_XM; - case 6613: return eBlockFace::BLOCK_FACE_XP; - case 6610: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace AttachedMelonStem - { - BlockState AttachedMelonStem() - { - return 4768; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4770: return eBlockFace::BLOCK_FACE_XM; - case 4771: return eBlockFace::BLOCK_FACE_XP; - case 4768: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace AttachedPumpkinStem - { - BlockState AttachedPumpkinStem() - { - return 4764; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4766: return eBlockFace::BLOCK_FACE_XM; - case 4767: return eBlockFace::BLOCK_FACE_XP; - case 4764: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace AzureBluet - { - } - namespace Bamboo - { - BlockState Bamboo() - { - return 9652; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 9652: case 9653: case 9654: case 9655: case 9656: case 9657: return 0; - default: return 1; - } - } - enum Leaves Leaves(const BlockState Block) - { - switch (Block.ID) - { - case 9656: case 9657: case 9662: case 9663: return Leaves::Large; - case 9652: case 9653: case 9658: case 9659: return Leaves::None; - default: return Leaves::Small; - } - } - unsigned char Stage(const BlockState Block) - { - switch (Block.ID) - { - case 9652: case 9654: case 9656: case 9658: case 9660: case 9662: return 0; - default: return 1; - } - } - } - namespace BambooSapling - { - } - namespace Barrel - { - BlockState Barrel() - { - return 14792; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14797: case 14798: return eBlockFace::BLOCK_FACE_XM; - case 14793: case 14794: return eBlockFace::BLOCK_FACE_XP; - case 14801: case 14802: return eBlockFace::BLOCK_FACE_YM; - case 14799: case 14800: return eBlockFace::BLOCK_FACE_YP; - case 14791: case 14792: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 14792: case 14794: case 14796: case 14798: case 14800: case 14802: return false; - default: return true; - } - } - } - namespace Barrier - { - } - namespace Basalt - { - BlockState Basalt() - { - return 4003; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 4002: return Axis::X; - case 4003: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace Beacon - { - } - namespace Bedrock - { - } - namespace BeeNest - { - BlockState BeeNest() - { - return 15776; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15788: case 15789: case 15790: case 15791: case 15792: case 15793: return eBlockFace::BLOCK_FACE_XM; - case 15794: case 15795: case 15796: case 15797: case 15798: case 15799: return eBlockFace::BLOCK_FACE_XP; - case 15776: case 15777: case 15778: case 15779: case 15780: case 15781: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - unsigned char HoneyLevel(const BlockState Block) - { - switch (Block.ID) - { - case 15776: case 15782: case 15788: case 15794: return 0; - case 15777: case 15783: case 15789: case 15795: return 1; - case 15778: case 15784: case 15790: case 15796: return 2; - case 15779: case 15785: case 15791: case 15797: return 3; - case 15780: case 15786: case 15792: case 15798: return 4; - default: return 5; - } - } - } - namespace Beehive - { - BlockState Beehive() - { - return 15800; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15812: case 15813: case 15814: case 15815: case 15816: case 15817: return eBlockFace::BLOCK_FACE_XM; - case 15818: case 15819: case 15820: case 15821: case 15822: case 15823: return eBlockFace::BLOCK_FACE_XP; - case 15800: case 15801: case 15802: case 15803: case 15804: case 15805: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - unsigned char HoneyLevel(const BlockState Block) - { - switch (Block.ID) - { - case 15800: case 15806: case 15812: case 15818: return 0; - case 15801: case 15807: case 15813: case 15819: return 1; - case 15802: case 15808: case 15814: case 15820: return 2; - case 15803: case 15809: case 15815: case 15821: return 3; - case 15804: case 15810: case 15816: case 15822: return 4; - default: return 5; - } - } - } - namespace Beetroots - { - BlockState Beetroots() - { - return 9219; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 9219: return 0; - case 9220: return 1; - case 9221: return 2; - default: return 3; - } - } - } - namespace Bell - { - BlockState Bell() - { - return 14855; - } - enum Attachment Attachment(const BlockState Block) - { - switch (Block.ID) - { - case 14862: case 14863: case 14864: case 14865: case 14866: case 14867: case 14868: case 14869: return Attachment::Ceiling; - case 14878: case 14879: case 14880: case 14881: case 14882: case 14883: case 14884: case 14885: return Attachment::DoubleWall; - case 14854: case 14855: case 14856: case 14857: case 14858: case 14859: case 14860: case 14861: return Attachment::Floor; - default: return Attachment::SingleWall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14858: case 14859: case 14866: case 14867: case 14874: case 14875: case 14882: case 14883: return eBlockFace::BLOCK_FACE_XM; - case 14860: case 14861: case 14868: case 14869: case 14876: case 14877: case 14884: case 14885: return eBlockFace::BLOCK_FACE_XP; - case 14854: case 14855: case 14862: case 14863: case 14870: case 14871: case 14878: case 14879: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 14855: case 14857: case 14859: case 14861: case 14863: case 14865: case 14867: case 14869: case 14871: case 14873: case 14875: case 14877: case 14879: case 14881: case 14883: case 14885: return false; - default: return true; - } - } - } - namespace BirchButton - { - BlockState BirchButton() - { - return 6403; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 6410: case 6411: case 6412: case 6413: case 6414: case 6415: case 6416: case 6417: return Face::Ceiling; - case 6394: case 6395: case 6396: case 6397: case 6398: case 6399: case 6400: case 6401: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6398: case 6399: case 6406: case 6407: case 6414: case 6415: return eBlockFace::BLOCK_FACE_XM; - case 6400: case 6401: case 6408: case 6409: case 6416: case 6417: return eBlockFace::BLOCK_FACE_XP; - case 6394: case 6395: case 6402: case 6403: case 6410: case 6411: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 6395: case 6397: case 6399: case 6401: case 6403: case 6405: case 6407: case 6409: case 6411: case 6413: case 6415: case 6417: return false; - default: return true; - } - } - } - namespace BirchDoor - { - BlockState BirchDoor() - { - return 8813; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8834: case 8835: case 8836: case 8837: case 8838: case 8839: case 8840: case 8841: case 8842: case 8843: case 8844: case 8845: case 8846: case 8847: case 8848: case 8849: return eBlockFace::BLOCK_FACE_XM; - case 8850: case 8851: case 8852: case 8853: case 8854: case 8855: case 8856: case 8857: case 8858: case 8859: case 8860: case 8861: case 8862: case 8863: case 8864: case 8865: return eBlockFace::BLOCK_FACE_XP; - case 8802: case 8803: case 8804: case 8805: case 8806: case 8807: case 8808: case 8809: case 8810: case 8811: case 8812: case 8813: case 8814: case 8815: case 8816: case 8817: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 8810: case 8811: case 8812: case 8813: case 8814: case 8815: case 8816: case 8817: case 8826: case 8827: case 8828: case 8829: case 8830: case 8831: case 8832: case 8833: case 8842: case 8843: case 8844: case 8845: case 8846: case 8847: case 8848: case 8849: case 8858: case 8859: case 8860: case 8861: case 8862: case 8863: case 8864: case 8865: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 8802: case 8803: case 8804: case 8805: case 8810: case 8811: case 8812: case 8813: case 8818: case 8819: case 8820: case 8821: case 8826: case 8827: case 8828: case 8829: case 8834: case 8835: case 8836: case 8837: case 8842: case 8843: case 8844: case 8845: case 8850: case 8851: case 8852: case 8853: case 8858: case 8859: case 8860: case 8861: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8804: case 8805: case 8808: case 8809: case 8812: case 8813: case 8816: case 8817: case 8820: case 8821: case 8824: case 8825: case 8828: case 8829: case 8832: case 8833: case 8836: case 8837: case 8840: case 8841: case 8844: case 8845: case 8848: case 8849: case 8852: case 8853: case 8856: case 8857: case 8860: case 8861: case 8864: case 8865: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8803: case 8805: case 8807: case 8809: case 8811: case 8813: case 8815: case 8817: case 8819: case 8821: case 8823: case 8825: case 8827: case 8829: case 8831: case 8833: case 8835: case 8837: case 8839: case 8841: case 8843: case 8845: case 8847: case 8849: case 8851: case 8853: case 8855: case 8857: case 8859: case 8861: case 8863: case 8865: return false; - default: return true; - } - } - } - namespace BirchFence - { - BlockState BirchFence() - { - return 8641; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 8628: case 8629: case 8632: case 8633: case 8636: case 8637: case 8640: case 8641: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 8620: case 8621: case 8624: case 8625: case 8636: case 8637: case 8640: case 8641: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 8616: case 8617: case 8624: case 8625: case 8632: case 8633: case 8640: case 8641: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 8613: case 8617: case 8621: case 8625: case 8629: case 8633: case 8637: case 8641: return false; - default: return true; - } - } - } - namespace BirchFenceGate - { - BlockState BirchFenceGate() - { - return 8457; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8466: case 8467: case 8468: case 8469: case 8470: case 8471: case 8472: case 8473: return eBlockFace::BLOCK_FACE_XM; - case 8474: case 8475: case 8476: case 8477: case 8478: case 8479: case 8480: case 8481: return eBlockFace::BLOCK_FACE_XP; - case 8450: case 8451: case 8452: case 8453: case 8454: case 8455: case 8456: case 8457: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool InWall(const BlockState Block) - { - switch (Block.ID) - { - case 8454: case 8455: case 8456: case 8457: case 8462: case 8463: case 8464: case 8465: case 8470: case 8471: case 8472: case 8473: case 8478: case 8479: case 8480: case 8481: return false; - default: return true; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8452: case 8453: case 8456: case 8457: case 8460: case 8461: case 8464: case 8465: case 8468: case 8469: case 8472: case 8473: case 8476: case 8477: case 8480: case 8481: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8451: case 8453: case 8455: case 8457: case 8459: case 8461: case 8463: case 8465: case 8467: case 8469: case 8471: case 8473: case 8475: case 8477: case 8479: case 8481: return false; - default: return true; - } - } - } - namespace BirchLeaves - { - BlockState BirchLeaves() - { - return 186; - } - unsigned char Distance(const BlockState Block) - { - switch (Block.ID) - { - case 173: case 174: return 1; - case 175: case 176: return 2; - case 177: case 178: return 3; - case 179: case 180: return 4; - case 181: case 182: return 5; - case 183: case 184: return 6; - default: return 7; - } - } - bool Persistent(const BlockState Block) - { - switch (Block.ID) - { - case 174: case 176: case 178: case 180: case 182: case 184: case 186: return false; - default: return true; - } - } - } - namespace BirchLog - { - BlockState BirchLog() - { - return 80; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 79: return Axis::X; - case 80: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace BirchPlanks - { - } - namespace BirchPressurePlate - { - BlockState BirchPressurePlate() - { - return 3878; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3878: return false; - default: return true; - } - } - } - namespace BirchSapling - { - BlockState BirchSapling() - { - return 25; - } - unsigned char Stage(const BlockState Block) - { - switch (Block.ID) - { - case 25: return 0; - default: return 1; - } - } - } - namespace BirchSign - { - BlockState BirchSign() - { - return 3446; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 3446: return 0; - case 3448: return 1; - case 3466: return 10; - case 3468: return 11; - case 3470: return 12; - case 3472: return 13; - case 3474: return 14; - case 3476: return 15; - case 3450: return 2; - case 3452: return 3; - case 3454: return 4; - case 3456: return 5; - case 3458: return 6; - case 3460: return 7; - case 3462: return 8; - default: return 9; - } - } - } - namespace BirchSlab - { - BlockState BirchSlab() - { - return 8315; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8315: return Type::Bottom; - case 8317: return Type::Double; - default: return Type::Top; - } - } - } - namespace BirchStairs - { - BlockState BirchStairs() - { - return 5495; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5525: case 5527: case 5529: case 5531: case 5533: case 5535: case 5537: case 5539: case 5541: case 5543: return eBlockFace::BLOCK_FACE_XM; - case 5545: case 5547: case 5549: case 5551: case 5553: case 5555: case 5557: case 5559: case 5561: case 5563: return eBlockFace::BLOCK_FACE_XP; - case 5485: case 5487: case 5489: case 5491: case 5493: case 5495: case 5497: case 5499: case 5501: case 5503: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 5495: case 5497: case 5499: case 5501: case 5503: case 5515: case 5517: case 5519: case 5521: case 5523: case 5535: case 5537: case 5539: case 5541: case 5543: case 5555: case 5557: case 5559: case 5561: case 5563: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 5487: case 5497: case 5507: case 5517: case 5527: case 5537: case 5547: case 5557: return Shape::InnerLeft; - case 5489: case 5499: case 5509: case 5519: case 5529: case 5539: case 5549: case 5559: return Shape::InnerRight; - case 5491: case 5501: case 5511: case 5521: case 5531: case 5541: case 5551: case 5561: return Shape::OuterLeft; - case 5493: case 5503: case 5513: case 5523: case 5533: case 5543: case 5553: case 5563: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace BirchTrapdoor - { - BlockState BirchTrapdoor() - { - return 4254; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4272: case 4274: case 4276: case 4278: case 4280: case 4282: case 4284: case 4286: return eBlockFace::BLOCK_FACE_XM; - case 4288: case 4290: case 4292: case 4294: case 4296: case 4298: case 4300: case 4302: return eBlockFace::BLOCK_FACE_XP; - case 4240: case 4242: case 4244: case 4246: case 4248: case 4250: case 4252: case 4254: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 4248: case 4250: case 4252: case 4254: case 4264: case 4266: case 4268: case 4270: case 4280: case 4282: case 4284: case 4286: case 4296: case 4298: case 4300: case 4302: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 4244: case 4246: case 4252: case 4254: case 4260: case 4262: case 4268: case 4270: case 4276: case 4278: case 4284: case 4286: case 4292: case 4294: case 4300: case 4302: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 4242: case 4246: case 4250: case 4254: case 4258: case 4262: case 4266: case 4270: case 4274: case 4278: case 4282: case 4286: case 4290: case 4294: case 4298: case 4302: return false; - default: return true; - } - } - } - namespace BirchWallSign - { - BlockState BirchWallSign() - { - return 3752; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3756: return eBlockFace::BLOCK_FACE_XM; - case 3758: return eBlockFace::BLOCK_FACE_XP; - case 3752: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BirchWood - { - BlockState BirchWood() - { - return 116; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 115: return Axis::X; - case 116: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace BlackBanner - { - BlockState BlackBanner() - { - return 8137; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8137: return 0; - case 8138: return 1; - case 8147: return 10; - case 8148: return 11; - case 8149: return 12; - case 8150: return 13; - case 8151: return 14; - case 8152: return 15; - case 8139: return 2; - case 8140: return 3; - case 8141: return 4; - case 8142: return 5; - case 8143: return 6; - case 8144: return 7; - case 8145: return 8; - default: return 9; - } - } - } - namespace BlackBed - { - BlockState BlackBed() - { - return 1292; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1297: case 1298: case 1299: case 1300: return eBlockFace::BLOCK_FACE_XM; - case 1301: case 1302: case 1303: case 1304: return eBlockFace::BLOCK_FACE_XP; - case 1289: case 1290: case 1291: case 1292: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1291: case 1292: case 1295: case 1296: case 1299: case 1300: case 1303: case 1304: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1290: case 1292: case 1294: case 1296: case 1298: case 1300: case 1302: case 1304: return Part::Foot; - default: return Part::Head; - } - } - } - namespace BlackCarpet - { - } - namespace BlackConcrete - { - } - namespace BlackConcretePowder - { - } - namespace BlackGlazedTerracotta - { - BlockState BlackGlazedTerracotta() - { - return 9434; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9436: return eBlockFace::BLOCK_FACE_XM; - case 9437: return eBlockFace::BLOCK_FACE_XP; - case 9434: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BlackShulkerBox - { - BlockState BlackShulkerBox() - { - return 9372; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9371: return eBlockFace::BLOCK_FACE_XM; - case 9369: return eBlockFace::BLOCK_FACE_XP; - case 9373: return eBlockFace::BLOCK_FACE_YM; - case 9372: return eBlockFace::BLOCK_FACE_YP; - case 9368: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BlackStainedGlass - { - } - namespace BlackStainedGlassPane - { - BlockState BlackStainedGlassPane() - { - return 7374; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7361: case 7362: case 7365: case 7366: case 7369: case 7370: case 7373: case 7374: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7353: case 7354: case 7357: case 7358: case 7369: case 7370: case 7373: case 7374: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7349: case 7350: case 7357: case 7358: case 7365: case 7366: case 7373: case 7374: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7346: case 7350: case 7354: case 7358: case 7362: case 7366: case 7370: case 7374: return false; - default: return true; - } - } - } - namespace BlackTerracotta - { - } - namespace BlackWallBanner - { - BlockState BlackWallBanner() - { - return 8213; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8215: return eBlockFace::BLOCK_FACE_XM; - case 8216: return eBlockFace::BLOCK_FACE_XP; - case 8213: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BlackWool - { - } - namespace Blackstone - { - } - namespace BlackstoneSlab - { - BlockState BlackstoneSlab() - { - return 16247; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 16247: return Type::Bottom; - case 16249: return Type::Double; - default: return Type::Top; - } - } - } - namespace BlackstoneStairs - { - BlockState BlackstoneStairs() - { - return 15851; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15881: case 15883: case 15885: case 15887: case 15889: case 15891: case 15893: case 15895: case 15897: case 15899: return eBlockFace::BLOCK_FACE_XM; - case 15901: case 15903: case 15905: case 15907: case 15909: case 15911: case 15913: case 15915: case 15917: case 15919: return eBlockFace::BLOCK_FACE_XP; - case 15841: case 15843: case 15845: case 15847: case 15849: case 15851: case 15853: case 15855: case 15857: case 15859: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 15851: case 15853: case 15855: case 15857: case 15859: case 15871: case 15873: case 15875: case 15877: case 15879: case 15891: case 15893: case 15895: case 15897: case 15899: case 15911: case 15913: case 15915: case 15917: case 15919: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 15843: case 15853: case 15863: case 15873: case 15883: case 15893: case 15903: case 15913: return Shape::InnerLeft; - case 15845: case 15855: case 15865: case 15875: case 15885: case 15895: case 15905: case 15915: return Shape::InnerRight; - case 15847: case 15857: case 15867: case 15877: case 15887: case 15897: case 15907: case 15917: return Shape::OuterLeft; - case 15849: case 15859: case 15869: case 15879: case 15889: case 15899: case 15909: case 15919: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace BlackstoneWall - { - BlockState BlackstoneWall() - { - return 15923; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 16031: case 16032: case 16033: case 16037: case 16038: case 16039: case 16043: case 16044: case 16045: case 16049: case 16050: case 16051: case 16055: case 16056: case 16057: case 16061: case 16062: case 16063: case 16067: case 16068: case 16069: case 16073: case 16074: case 16075: case 16079: case 16080: case 16081: case 16085: case 16086: case 16087: case 16091: case 16092: case 16093: case 16097: case 16098: case 16099: case 16103: case 16104: case 16105: case 16109: case 16110: case 16111: case 16115: case 16116: case 16117: case 16121: case 16122: case 16123: case 16127: case 16128: case 16129: case 16133: case 16134: case 16135: return East::Low; - case 15923: case 15924: case 15925: case 15929: case 15930: case 15931: case 15935: case 15936: case 15937: case 15941: case 15942: case 15943: case 15947: case 15948: case 15949: case 15953: case 15954: case 15955: case 15959: case 15960: case 15961: case 15965: case 15966: case 15967: case 15971: case 15972: case 15973: case 15977: case 15978: case 15979: case 15983: case 15984: case 15985: case 15989: case 15990: case 15991: case 15995: case 15996: case 15997: case 16001: case 16002: case 16003: case 16007: case 16008: case 16009: case 16013: case 16014: case 16015: case 16019: case 16020: case 16021: case 16025: case 16026: case 16027: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 15959: case 15960: case 15961: case 15965: case 15966: case 15967: case 15971: case 15972: case 15973: case 15977: case 15978: case 15979: case 15983: case 15984: case 15985: case 15989: case 15990: case 15991: case 16067: case 16068: case 16069: case 16073: case 16074: case 16075: case 16079: case 16080: case 16081: case 16085: case 16086: case 16087: case 16091: case 16092: case 16093: case 16097: case 16098: case 16099: case 16175: case 16176: case 16177: case 16181: case 16182: case 16183: case 16187: case 16188: case 16189: case 16193: case 16194: case 16195: case 16199: case 16200: case 16201: case 16205: case 16206: case 16207: return North::Low; - case 15923: case 15924: case 15925: case 15929: case 15930: case 15931: case 15935: case 15936: case 15937: case 15941: case 15942: case 15943: case 15947: case 15948: case 15949: case 15953: case 15954: case 15955: case 16031: case 16032: case 16033: case 16037: case 16038: case 16039: case 16043: case 16044: case 16045: case 16049: case 16050: case 16051: case 16055: case 16056: case 16057: case 16061: case 16062: case 16063: case 16139: case 16140: case 16141: case 16145: case 16146: case 16147: case 16151: case 16152: case 16153: case 16157: case 16158: case 16159: case 16163: case 16164: case 16165: case 16169: case 16170: case 16171: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 15935: case 15936: case 15937: case 15941: case 15942: case 15943: case 15971: case 15972: case 15973: case 15977: case 15978: case 15979: case 16007: case 16008: case 16009: case 16013: case 16014: case 16015: case 16043: case 16044: case 16045: case 16049: case 16050: case 16051: case 16079: case 16080: case 16081: case 16085: case 16086: case 16087: case 16115: case 16116: case 16117: case 16121: case 16122: case 16123: case 16151: case 16152: case 16153: case 16157: case 16158: case 16159: case 16187: case 16188: case 16189: case 16193: case 16194: case 16195: case 16223: case 16224: case 16225: case 16229: case 16230: case 16231: return South::Low; - case 15923: case 15924: case 15925: case 15929: case 15930: case 15931: case 15959: case 15960: case 15961: case 15965: case 15966: case 15967: case 15995: case 15996: case 15997: case 16001: case 16002: case 16003: case 16031: case 16032: case 16033: case 16037: case 16038: case 16039: case 16067: case 16068: case 16069: case 16073: case 16074: case 16075: case 16103: case 16104: case 16105: case 16109: case 16110: case 16111: case 16139: case 16140: case 16141: case 16145: case 16146: case 16147: case 16175: case 16176: case 16177: case 16181: case 16182: case 16183: case 16211: case 16212: case 16213: case 16217: case 16218: case 16219: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 15929: case 15930: case 15931: case 15941: case 15942: case 15943: case 15953: case 15954: case 15955: case 15965: case 15966: case 15967: case 15977: case 15978: case 15979: case 15989: case 15990: case 15991: case 16001: case 16002: case 16003: case 16013: case 16014: case 16015: case 16025: case 16026: case 16027: case 16037: case 16038: case 16039: case 16049: case 16050: case 16051: case 16061: case 16062: case 16063: case 16073: case 16074: case 16075: case 16085: case 16086: case 16087: case 16097: case 16098: case 16099: case 16109: case 16110: case 16111: case 16121: case 16122: case 16123: case 16133: case 16134: case 16135: case 16145: case 16146: case 16147: case 16157: case 16158: case 16159: case 16169: case 16170: case 16171: case 16181: case 16182: case 16183: case 16193: case 16194: case 16195: case 16205: case 16206: case 16207: case 16217: case 16218: case 16219: case 16229: case 16230: case 16231: case 16241: case 16242: case 16243: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 15924: case 15930: case 15936: case 15942: case 15948: case 15954: case 15960: case 15966: case 15972: case 15978: case 15984: case 15990: case 15996: case 16002: case 16008: case 16014: case 16020: case 16026: case 16032: case 16038: case 16044: case 16050: case 16056: case 16062: case 16068: case 16074: case 16080: case 16086: case 16092: case 16098: case 16104: case 16110: case 16116: case 16122: case 16128: case 16134: case 16140: case 16146: case 16152: case 16158: case 16164: case 16170: case 16176: case 16182: case 16188: case 16194: case 16200: case 16206: case 16212: case 16218: case 16224: case 16230: case 16236: case 16242: return West::Low; - case 15923: case 15929: case 15935: case 15941: case 15947: case 15953: case 15959: case 15965: case 15971: case 15977: case 15983: case 15989: case 15995: case 16001: case 16007: case 16013: case 16019: case 16025: case 16031: case 16037: case 16043: case 16049: case 16055: case 16061: case 16067: case 16073: case 16079: case 16085: case 16091: case 16097: case 16103: case 16109: case 16115: case 16121: case 16127: case 16133: case 16139: case 16145: case 16151: case 16157: case 16163: case 16169: case 16175: case 16181: case 16187: case 16193: case 16199: case 16205: case 16211: case 16217: case 16223: case 16229: case 16235: case 16241: return West::None; - default: return West::Tall; - } - } - } - namespace BlastFurnace - { - BlockState BlastFurnace() - { - return 14812; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14815: case 14816: return eBlockFace::BLOCK_FACE_XM; - case 14817: case 14818: return eBlockFace::BLOCK_FACE_XP; - case 14811: case 14812: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 14812: case 14814: case 14816: case 14818: return false; - default: return true; - } - } - } - namespace BlueBanner - { - BlockState BlueBanner() - { - return 8073; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8073: return 0; - case 8074: return 1; - case 8083: return 10; - case 8084: return 11; - case 8085: return 12; - case 8086: return 13; - case 8087: return 14; - case 8088: return 15; - case 8075: return 2; - case 8076: return 3; - case 8077: return 4; - case 8078: return 5; - case 8079: return 6; - case 8080: return 7; - case 8081: return 8; - default: return 9; - } - } - } - namespace BlueBed - { - BlockState BlueBed() - { - return 1228; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1233: case 1234: case 1235: case 1236: return eBlockFace::BLOCK_FACE_XM; - case 1237: case 1238: case 1239: case 1240: return eBlockFace::BLOCK_FACE_XP; - case 1225: case 1226: case 1227: case 1228: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1227: case 1228: case 1231: case 1232: case 1235: case 1236: case 1239: case 1240: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1226: case 1228: case 1230: case 1232: case 1234: case 1236: case 1238: case 1240: return Part::Foot; - default: return Part::Head; - } - } - } - namespace BlueCarpet - { - } - namespace BlueConcrete - { - } - namespace BlueConcretePowder - { - } - namespace BlueGlazedTerracotta - { - BlockState BlueGlazedTerracotta() - { - return 9418; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9420: return eBlockFace::BLOCK_FACE_XM; - case 9421: return eBlockFace::BLOCK_FACE_XP; - case 9418: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BlueIce - { - } - namespace BlueOrchid - { - } - namespace BlueShulkerBox - { - BlockState BlueShulkerBox() - { - return 9348; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9347: return eBlockFace::BLOCK_FACE_XM; - case 9345: return eBlockFace::BLOCK_FACE_XP; - case 9349: return eBlockFace::BLOCK_FACE_YM; - case 9348: return eBlockFace::BLOCK_FACE_YP; - case 9344: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BlueStainedGlass - { - } - namespace BlueStainedGlassPane - { - BlockState BlueStainedGlassPane() - { - return 7246; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7233: case 7234: case 7237: case 7238: case 7241: case 7242: case 7245: case 7246: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7225: case 7226: case 7229: case 7230: case 7241: case 7242: case 7245: case 7246: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7221: case 7222: case 7229: case 7230: case 7237: case 7238: case 7245: case 7246: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7218: case 7222: case 7226: case 7230: case 7234: case 7238: case 7242: case 7246: return false; - default: return true; - } - } - } - namespace BlueTerracotta - { - } - namespace BlueWallBanner - { - BlockState BlueWallBanner() - { - return 8197; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8199: return eBlockFace::BLOCK_FACE_XM; - case 8200: return eBlockFace::BLOCK_FACE_XP; - case 8197: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BlueWool - { - } - namespace BoneBlock - { - BlockState BoneBlock() - { - return 9257; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 9256: return Axis::X; - case 9257: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace Bookshelf - { - } - namespace BrainCoral - { - } - namespace BrainCoralBlock - { - } - namespace BrainCoralFan - { - } - namespace BrainCoralWallFan - { - BlockState BrainCoralWallFan() - { - return 9608; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9613: return eBlockFace::BLOCK_FACE_XM; - case 9615: return eBlockFace::BLOCK_FACE_XP; - case 9609: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BrewingStand - { - BlockState BrewingStand() - { - return 5140; - } - bool HasBottle_0(const BlockState Block) - { - switch (Block.ID) - { - case 5137: case 5138: case 5139: case 5140: return false; - default: return true; - } - } - bool HasBottle_1(const BlockState Block) - { - switch (Block.ID) - { - case 5135: case 5136: case 5139: case 5140: return false; - default: return true; - } - } - bool HasBottle_2(const BlockState Block) - { - switch (Block.ID) - { - case 5134: case 5136: case 5138: case 5140: return false; - default: return true; - } - } - } - namespace BrickSlab - { - BlockState BrickSlab() - { - return 8375; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8375: return Type::Bottom; - case 8377: return Type::Double; - default: return Type::Top; - } - } - } - namespace BrickStairs - { - BlockState BrickStairs() - { - return 4863; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4893: case 4895: case 4897: case 4899: case 4901: case 4903: case 4905: case 4907: case 4909: case 4911: return eBlockFace::BLOCK_FACE_XM; - case 4913: case 4915: case 4917: case 4919: case 4921: case 4923: case 4925: case 4927: case 4929: case 4931: return eBlockFace::BLOCK_FACE_XP; - case 4853: case 4855: case 4857: case 4859: case 4861: case 4863: case 4865: case 4867: case 4869: case 4871: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 4863: case 4865: case 4867: case 4869: case 4871: case 4883: case 4885: case 4887: case 4889: case 4891: case 4903: case 4905: case 4907: case 4909: case 4911: case 4923: case 4925: case 4927: case 4929: case 4931: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 4855: case 4865: case 4875: case 4885: case 4895: case 4905: case 4915: case 4925: return Shape::InnerLeft; - case 4857: case 4867: case 4877: case 4887: case 4897: case 4907: case 4917: case 4927: return Shape::InnerRight; - case 4859: case 4869: case 4879: case 4889: case 4899: case 4909: case 4919: case 4929: return Shape::OuterLeft; - case 4861: case 4871: case 4881: case 4891: case 4901: case 4911: case 4921: case 4931: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace BrickWall - { - BlockState BrickWall() - { - return 10870; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 10978: case 10979: case 10980: case 10984: case 10985: case 10986: case 10990: case 10991: case 10992: case 10996: case 10997: case 10998: case 11002: case 11003: case 11004: case 11008: case 11009: case 11010: case 11014: case 11015: case 11016: case 11020: case 11021: case 11022: case 11026: case 11027: case 11028: case 11032: case 11033: case 11034: case 11038: case 11039: case 11040: case 11044: case 11045: case 11046: case 11050: case 11051: case 11052: case 11056: case 11057: case 11058: case 11062: case 11063: case 11064: case 11068: case 11069: case 11070: case 11074: case 11075: case 11076: case 11080: case 11081: case 11082: return East::Low; - case 10870: case 10871: case 10872: case 10876: case 10877: case 10878: case 10882: case 10883: case 10884: case 10888: case 10889: case 10890: case 10894: case 10895: case 10896: case 10900: case 10901: case 10902: case 10906: case 10907: case 10908: case 10912: case 10913: case 10914: case 10918: case 10919: case 10920: case 10924: case 10925: case 10926: case 10930: case 10931: case 10932: case 10936: case 10937: case 10938: case 10942: case 10943: case 10944: case 10948: case 10949: case 10950: case 10954: case 10955: case 10956: case 10960: case 10961: case 10962: case 10966: case 10967: case 10968: case 10972: case 10973: case 10974: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 10906: case 10907: case 10908: case 10912: case 10913: case 10914: case 10918: case 10919: case 10920: case 10924: case 10925: case 10926: case 10930: case 10931: case 10932: case 10936: case 10937: case 10938: case 11014: case 11015: case 11016: case 11020: case 11021: case 11022: case 11026: case 11027: case 11028: case 11032: case 11033: case 11034: case 11038: case 11039: case 11040: case 11044: case 11045: case 11046: case 11122: case 11123: case 11124: case 11128: case 11129: case 11130: case 11134: case 11135: case 11136: case 11140: case 11141: case 11142: case 11146: case 11147: case 11148: case 11152: case 11153: case 11154: return North::Low; - case 10870: case 10871: case 10872: case 10876: case 10877: case 10878: case 10882: case 10883: case 10884: case 10888: case 10889: case 10890: case 10894: case 10895: case 10896: case 10900: case 10901: case 10902: case 10978: case 10979: case 10980: case 10984: case 10985: case 10986: case 10990: case 10991: case 10992: case 10996: case 10997: case 10998: case 11002: case 11003: case 11004: case 11008: case 11009: case 11010: case 11086: case 11087: case 11088: case 11092: case 11093: case 11094: case 11098: case 11099: case 11100: case 11104: case 11105: case 11106: case 11110: case 11111: case 11112: case 11116: case 11117: case 11118: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 10882: case 10883: case 10884: case 10888: case 10889: case 10890: case 10918: case 10919: case 10920: case 10924: case 10925: case 10926: case 10954: case 10955: case 10956: case 10960: case 10961: case 10962: case 10990: case 10991: case 10992: case 10996: case 10997: case 10998: case 11026: case 11027: case 11028: case 11032: case 11033: case 11034: case 11062: case 11063: case 11064: case 11068: case 11069: case 11070: case 11098: case 11099: case 11100: case 11104: case 11105: case 11106: case 11134: case 11135: case 11136: case 11140: case 11141: case 11142: case 11170: case 11171: case 11172: case 11176: case 11177: case 11178: return South::Low; - case 10870: case 10871: case 10872: case 10876: case 10877: case 10878: case 10906: case 10907: case 10908: case 10912: case 10913: case 10914: case 10942: case 10943: case 10944: case 10948: case 10949: case 10950: case 10978: case 10979: case 10980: case 10984: case 10985: case 10986: case 11014: case 11015: case 11016: case 11020: case 11021: case 11022: case 11050: case 11051: case 11052: case 11056: case 11057: case 11058: case 11086: case 11087: case 11088: case 11092: case 11093: case 11094: case 11122: case 11123: case 11124: case 11128: case 11129: case 11130: case 11158: case 11159: case 11160: case 11164: case 11165: case 11166: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 10876: case 10877: case 10878: case 10888: case 10889: case 10890: case 10900: case 10901: case 10902: case 10912: case 10913: case 10914: case 10924: case 10925: case 10926: case 10936: case 10937: case 10938: case 10948: case 10949: case 10950: case 10960: case 10961: case 10962: case 10972: case 10973: case 10974: case 10984: case 10985: case 10986: case 10996: case 10997: case 10998: case 11008: case 11009: case 11010: case 11020: case 11021: case 11022: case 11032: case 11033: case 11034: case 11044: case 11045: case 11046: case 11056: case 11057: case 11058: case 11068: case 11069: case 11070: case 11080: case 11081: case 11082: case 11092: case 11093: case 11094: case 11104: case 11105: case 11106: case 11116: case 11117: case 11118: case 11128: case 11129: case 11130: case 11140: case 11141: case 11142: case 11152: case 11153: case 11154: case 11164: case 11165: case 11166: case 11176: case 11177: case 11178: case 11188: case 11189: case 11190: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 10871: case 10877: case 10883: case 10889: case 10895: case 10901: case 10907: case 10913: case 10919: case 10925: case 10931: case 10937: case 10943: case 10949: case 10955: case 10961: case 10967: case 10973: case 10979: case 10985: case 10991: case 10997: case 11003: case 11009: case 11015: case 11021: case 11027: case 11033: case 11039: case 11045: case 11051: case 11057: case 11063: case 11069: case 11075: case 11081: case 11087: case 11093: case 11099: case 11105: case 11111: case 11117: case 11123: case 11129: case 11135: case 11141: case 11147: case 11153: case 11159: case 11165: case 11171: case 11177: case 11183: case 11189: return West::Low; - case 10870: case 10876: case 10882: case 10888: case 10894: case 10900: case 10906: case 10912: case 10918: case 10924: case 10930: case 10936: case 10942: case 10948: case 10954: case 10960: case 10966: case 10972: case 10978: case 10984: case 10990: case 10996: case 11002: case 11008: case 11014: case 11020: case 11026: case 11032: case 11038: case 11044: case 11050: case 11056: case 11062: case 11068: case 11074: case 11080: case 11086: case 11092: case 11098: case 11104: case 11110: case 11116: case 11122: case 11128: case 11134: case 11140: case 11146: case 11152: case 11158: case 11164: case 11170: case 11176: case 11182: case 11188: return West::None; - default: return West::Tall; - } - } - } - namespace Bricks - { - } - namespace BrownBanner - { - BlockState BrownBanner() - { - return 8089; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8089: return 0; - case 8090: return 1; - case 8099: return 10; - case 8100: return 11; - case 8101: return 12; - case 8102: return 13; - case 8103: return 14; - case 8104: return 15; - case 8091: return 2; - case 8092: return 3; - case 8093: return 4; - case 8094: return 5; - case 8095: return 6; - case 8096: return 7; - case 8097: return 8; - default: return 9; - } - } - } - namespace BrownBed - { - BlockState BrownBed() - { - return 1244; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1249: case 1250: case 1251: case 1252: return eBlockFace::BLOCK_FACE_XM; - case 1253: case 1254: case 1255: case 1256: return eBlockFace::BLOCK_FACE_XP; - case 1241: case 1242: case 1243: case 1244: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1243: case 1244: case 1247: case 1248: case 1251: case 1252: case 1255: case 1256: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1242: case 1244: case 1246: case 1248: case 1250: case 1252: case 1254: case 1256: return Part::Foot; - default: return Part::Head; - } - } - } - namespace BrownCarpet - { - } - namespace BrownConcrete - { - } - namespace BrownConcretePowder - { - } - namespace BrownGlazedTerracotta - { - BlockState BrownGlazedTerracotta() - { - return 9422; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9424: return eBlockFace::BLOCK_FACE_XM; - case 9425: return eBlockFace::BLOCK_FACE_XP; - case 9422: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BrownMushroom - { - } - namespace BrownMushroomBlock - { - BlockState BrownMushroomBlock() - { - return 4505; - } - bool Down(const BlockState Block) - { - switch (Block.ID) - { - case 4537: case 4538: case 4539: case 4540: case 4541: case 4542: case 4543: case 4544: case 4545: case 4546: case 4547: case 4548: case 4549: case 4550: case 4551: case 4552: case 4553: case 4554: case 4555: case 4556: case 4557: case 4558: case 4559: case 4560: case 4561: case 4562: case 4563: case 4564: case 4565: case 4566: case 4567: case 4568: return false; - default: return true; - } - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 4521: case 4522: case 4523: case 4524: case 4525: case 4526: case 4527: case 4528: case 4529: case 4530: case 4531: case 4532: case 4533: case 4534: case 4535: case 4536: case 4553: case 4554: case 4555: case 4556: case 4557: case 4558: case 4559: case 4560: case 4561: case 4562: case 4563: case 4564: case 4565: case 4566: case 4567: case 4568: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 4513: case 4514: case 4515: case 4516: case 4517: case 4518: case 4519: case 4520: case 4529: case 4530: case 4531: case 4532: case 4533: case 4534: case 4535: case 4536: case 4545: case 4546: case 4547: case 4548: case 4549: case 4550: case 4551: case 4552: case 4561: case 4562: case 4563: case 4564: case 4565: case 4566: case 4567: case 4568: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 4509: case 4510: case 4511: case 4512: case 4517: case 4518: case 4519: case 4520: case 4525: case 4526: case 4527: case 4528: case 4533: case 4534: case 4535: case 4536: case 4541: case 4542: case 4543: case 4544: case 4549: case 4550: case 4551: case 4552: case 4557: case 4558: case 4559: case 4560: case 4565: case 4566: case 4567: case 4568: return false; - default: return true; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 4507: case 4508: case 4511: case 4512: case 4515: case 4516: case 4519: case 4520: case 4523: case 4524: case 4527: case 4528: case 4531: case 4532: case 4535: case 4536: case 4539: case 4540: case 4543: case 4544: case 4547: case 4548: case 4551: case 4552: case 4555: case 4556: case 4559: case 4560: case 4563: case 4564: case 4567: case 4568: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 4506: case 4508: case 4510: case 4512: case 4514: case 4516: case 4518: case 4520: case 4522: case 4524: case 4526: case 4528: case 4530: case 4532: case 4534: case 4536: case 4538: case 4540: case 4542: case 4544: case 4546: case 4548: case 4550: case 4552: case 4554: case 4556: case 4558: case 4560: case 4562: case 4564: case 4566: case 4568: return false; - default: return true; - } - } - } - namespace BrownShulkerBox - { - BlockState BrownShulkerBox() - { - return 9354; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9353: return eBlockFace::BLOCK_FACE_XM; - case 9351: return eBlockFace::BLOCK_FACE_XP; - case 9355: return eBlockFace::BLOCK_FACE_YM; - case 9354: return eBlockFace::BLOCK_FACE_YP; - case 9350: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BrownStainedGlass - { - } - namespace BrownStainedGlassPane - { - BlockState BrownStainedGlassPane() - { - return 7278; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7265: case 7266: case 7269: case 7270: case 7273: case 7274: case 7277: case 7278: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7257: case 7258: case 7261: case 7262: case 7273: case 7274: case 7277: case 7278: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7253: case 7254: case 7261: case 7262: case 7269: case 7270: case 7277: case 7278: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7250: case 7254: case 7258: case 7262: case 7266: case 7270: case 7274: case 7278: return false; - default: return true; - } - } - } - namespace BrownTerracotta - { - } - namespace BrownWallBanner - { - BlockState BrownWallBanner() - { - return 8201; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8203: return eBlockFace::BLOCK_FACE_XM; - case 8204: return eBlockFace::BLOCK_FACE_XP; - case 8201: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace BrownWool - { - } - namespace BubbleColumn - { - BlockState BubbleColumn() - { - return 9667; - } - bool Drag(const BlockState Block) - { - switch (Block.ID) - { - case 9668: return false; - default: return true; - } - } - } - namespace BubbleCoral - { - } - namespace BubbleCoralBlock - { - } - namespace BubbleCoralFan - { - } - namespace BubbleCoralWallFan - { - BlockState BubbleCoralWallFan() - { - return 9616; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9621: return eBlockFace::BLOCK_FACE_XM; - case 9623: return eBlockFace::BLOCK_FACE_XP; - case 9617: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Cactus - { - BlockState Cactus() - { - return 3931; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 3931: return 0; - case 3932: return 1; - case 3941: return 10; - case 3942: return 11; - case 3943: return 12; - case 3944: return 13; - case 3945: return 14; - case 3946: return 15; - case 3933: return 2; - case 3934: return 3; - case 3935: return 4; - case 3936: return 5; - case 3937: return 6; - case 3938: return 7; - case 3939: return 8; - default: return 9; - } - } - } - namespace Cake - { - BlockState Cake() - { - return 4024; - } - unsigned char Bites(const BlockState Block) - { - switch (Block.ID) - { - case 4024: return 0; - case 4025: return 1; - case 4026: return 2; - case 4027: return 3; - case 4028: return 4; - case 4029: return 5; - default: return 6; - } - } - } - namespace Campfire - { - BlockState Campfire() - { - return 14893; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14907: case 14909: case 14911: case 14913: return eBlockFace::BLOCK_FACE_XM; - case 14915: case 14917: case 14919: case 14921: return eBlockFace::BLOCK_FACE_XP; - case 14891: case 14893: case 14895: case 14897: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 14895: case 14897: case 14903: case 14905: case 14911: case 14913: case 14919: case 14921: return false; - default: return true; - } - } - bool SignalFire(const BlockState Block) - { - switch (Block.ID) - { - case 14893: case 14897: case 14901: case 14905: case 14909: case 14913: case 14917: case 14921: return false; - default: return true; - } - } - } - namespace Carrots - { - BlockState Carrots() - { - return 6330; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 6330: return 0; - case 6331: return 1; - case 6332: return 2; - case 6333: return 3; - case 6334: return 4; - case 6335: return 5; - case 6336: return 6; - default: return 7; - } - } - } - namespace CartographyTable - { - } - namespace CarvedPumpkin - { - BlockState CarvedPumpkin() - { - return 4016; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4018: return eBlockFace::BLOCK_FACE_XM; - case 4019: return eBlockFace::BLOCK_FACE_XP; - case 4016: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Cauldron - { - BlockState Cauldron() - { - return 5141; - } - unsigned char Level(const BlockState Block) - { - switch (Block.ID) - { - case 5141: return 0; - case 5142: return 1; - case 5143: return 2; - default: return 3; - } - } - } - namespace CaveAir - { - } - namespace Chain - { - } - namespace ChainCommandBlock - { - BlockState ChainCommandBlock() - { - return 9243; - } - bool Conditional(const BlockState Block) - { - switch (Block.ID) - { - case 9243: case 9244: case 9245: case 9246: case 9247: case 9248: return false; - default: return true; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9240: case 9246: return eBlockFace::BLOCK_FACE_XM; - case 9238: case 9244: return eBlockFace::BLOCK_FACE_XP; - case 9242: case 9248: return eBlockFace::BLOCK_FACE_YM; - case 9241: case 9247: return eBlockFace::BLOCK_FACE_YP; - case 9237: case 9243: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Chest - { - BlockState Chest() - { - return 2035; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 2047: case 2049: case 2051: return eBlockFace::BLOCK_FACE_XM; - case 2053: case 2055: case 2057: return eBlockFace::BLOCK_FACE_XP; - case 2035: case 2037: case 2039: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 2037: case 2043: case 2049: case 2055: return Type::Left; - case 2039: case 2045: case 2051: case 2057: return Type::Right; - default: return Type::Single; - } - } - } - namespace ChippedAnvil - { - BlockState ChippedAnvil() - { - return 6614; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6616: return eBlockFace::BLOCK_FACE_XM; - case 6617: return eBlockFace::BLOCK_FACE_XP; - case 6614: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace ChiseledNetherBricks - { - } - namespace ChiseledPolishedBlackstone - { - } - namespace ChiseledQuartzBlock - { - } - namespace ChiseledRedSandstone - { - } - namespace ChiseledSandstone - { - } - namespace ChiseledStoneBricks - { - } - namespace ChorusFlower - { - BlockState ChorusFlower() - { - return 9128; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 9128: return 0; - case 9129: return 1; - case 9130: return 2; - case 9131: return 3; - case 9132: return 4; - default: return 5; - } - } - } - namespace ChorusPlant - { - BlockState ChorusPlant() - { - return 9127; - } - bool Down(const BlockState Block) - { - switch (Block.ID) - { - case 9096: case 9097: case 9098: case 9099: case 9100: case 9101: case 9102: case 9103: case 9104: case 9105: case 9106: case 9107: case 9108: case 9109: case 9110: case 9111: case 9112: case 9113: case 9114: case 9115: case 9116: case 9117: case 9118: case 9119: case 9120: case 9121: case 9122: case 9123: case 9124: case 9125: case 9126: case 9127: return false; - default: return true; - } - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 9080: case 9081: case 9082: case 9083: case 9084: case 9085: case 9086: case 9087: case 9088: case 9089: case 9090: case 9091: case 9092: case 9093: case 9094: case 9095: case 9112: case 9113: case 9114: case 9115: case 9116: case 9117: case 9118: case 9119: case 9120: case 9121: case 9122: case 9123: case 9124: case 9125: case 9126: case 9127: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 9072: case 9073: case 9074: case 9075: case 9076: case 9077: case 9078: case 9079: case 9088: case 9089: case 9090: case 9091: case 9092: case 9093: case 9094: case 9095: case 9104: case 9105: case 9106: case 9107: case 9108: case 9109: case 9110: case 9111: case 9120: case 9121: case 9122: case 9123: case 9124: case 9125: case 9126: case 9127: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 9068: case 9069: case 9070: case 9071: case 9076: case 9077: case 9078: case 9079: case 9084: case 9085: case 9086: case 9087: case 9092: case 9093: case 9094: case 9095: case 9100: case 9101: case 9102: case 9103: case 9108: case 9109: case 9110: case 9111: case 9116: case 9117: case 9118: case 9119: case 9124: case 9125: case 9126: case 9127: return false; - default: return true; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 9066: case 9067: case 9070: case 9071: case 9074: case 9075: case 9078: case 9079: case 9082: case 9083: case 9086: case 9087: case 9090: case 9091: case 9094: case 9095: case 9098: case 9099: case 9102: case 9103: case 9106: case 9107: case 9110: case 9111: case 9114: case 9115: case 9118: case 9119: case 9122: case 9123: case 9126: case 9127: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 9065: case 9067: case 9069: case 9071: case 9073: case 9075: case 9077: case 9079: case 9081: case 9083: case 9085: case 9087: case 9089: case 9091: case 9093: case 9095: case 9097: case 9099: case 9101: case 9103: case 9105: case 9107: case 9109: case 9111: case 9113: case 9115: case 9117: case 9119: case 9121: case 9123: case 9125: case 9127: return false; - default: return true; - } - } - } - namespace Clay - { - } - namespace CoalBlock - { - } - namespace CoalOre - { - } - namespace CoarseDirt - { - } - namespace Cobblestone - { - } - namespace CobblestoneSlab - { - BlockState CobblestoneSlab() - { - return 8369; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8369: return Type::Bottom; - case 8371: return Type::Double; - default: return Type::Top; - } - } - } - namespace CobblestoneStairs - { - BlockState CobblestoneStairs() - { - return 3666; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3696: case 3698: case 3700: case 3702: case 3704: case 3706: case 3708: case 3710: case 3712: case 3714: return eBlockFace::BLOCK_FACE_XM; - case 3716: case 3718: case 3720: case 3722: case 3724: case 3726: case 3728: case 3730: case 3732: case 3734: return eBlockFace::BLOCK_FACE_XP; - case 3656: case 3658: case 3660: case 3662: case 3664: case 3666: case 3668: case 3670: case 3672: case 3674: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 3666: case 3668: case 3670: case 3672: case 3674: case 3686: case 3688: case 3690: case 3692: case 3694: case 3706: case 3708: case 3710: case 3712: case 3714: case 3726: case 3728: case 3730: case 3732: case 3734: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 3658: case 3668: case 3678: case 3688: case 3698: case 3708: case 3718: case 3728: return Shape::InnerLeft; - case 3660: case 3670: case 3680: case 3690: case 3700: case 3710: case 3720: case 3730: return Shape::InnerRight; - case 3662: case 3672: case 3682: case 3692: case 3702: case 3712: case 3722: case 3732: return Shape::OuterLeft; - case 3664: case 3674: case 3684: case 3694: case 3704: case 3714: case 3724: case 3734: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace CobblestoneWall - { - BlockState CobblestoneWall() - { - return 5660; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 5768: case 5769: case 5770: case 5774: case 5775: case 5776: case 5780: case 5781: case 5782: case 5786: case 5787: case 5788: case 5792: case 5793: case 5794: case 5798: case 5799: case 5800: case 5804: case 5805: case 5806: case 5810: case 5811: case 5812: case 5816: case 5817: case 5818: case 5822: case 5823: case 5824: case 5828: case 5829: case 5830: case 5834: case 5835: case 5836: case 5840: case 5841: case 5842: case 5846: case 5847: case 5848: case 5852: case 5853: case 5854: case 5858: case 5859: case 5860: case 5864: case 5865: case 5866: case 5870: case 5871: case 5872: return East::Low; - case 5660: case 5661: case 5662: case 5666: case 5667: case 5668: case 5672: case 5673: case 5674: case 5678: case 5679: case 5680: case 5684: case 5685: case 5686: case 5690: case 5691: case 5692: case 5696: case 5697: case 5698: case 5702: case 5703: case 5704: case 5708: case 5709: case 5710: case 5714: case 5715: case 5716: case 5720: case 5721: case 5722: case 5726: case 5727: case 5728: case 5732: case 5733: case 5734: case 5738: case 5739: case 5740: case 5744: case 5745: case 5746: case 5750: case 5751: case 5752: case 5756: case 5757: case 5758: case 5762: case 5763: case 5764: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 5696: case 5697: case 5698: case 5702: case 5703: case 5704: case 5708: case 5709: case 5710: case 5714: case 5715: case 5716: case 5720: case 5721: case 5722: case 5726: case 5727: case 5728: case 5804: case 5805: case 5806: case 5810: case 5811: case 5812: case 5816: case 5817: case 5818: case 5822: case 5823: case 5824: case 5828: case 5829: case 5830: case 5834: case 5835: case 5836: case 5912: case 5913: case 5914: case 5918: case 5919: case 5920: case 5924: case 5925: case 5926: case 5930: case 5931: case 5932: case 5936: case 5937: case 5938: case 5942: case 5943: case 5944: return North::Low; - case 5660: case 5661: case 5662: case 5666: case 5667: case 5668: case 5672: case 5673: case 5674: case 5678: case 5679: case 5680: case 5684: case 5685: case 5686: case 5690: case 5691: case 5692: case 5768: case 5769: case 5770: case 5774: case 5775: case 5776: case 5780: case 5781: case 5782: case 5786: case 5787: case 5788: case 5792: case 5793: case 5794: case 5798: case 5799: case 5800: case 5876: case 5877: case 5878: case 5882: case 5883: case 5884: case 5888: case 5889: case 5890: case 5894: case 5895: case 5896: case 5900: case 5901: case 5902: case 5906: case 5907: case 5908: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 5672: case 5673: case 5674: case 5678: case 5679: case 5680: case 5708: case 5709: case 5710: case 5714: case 5715: case 5716: case 5744: case 5745: case 5746: case 5750: case 5751: case 5752: case 5780: case 5781: case 5782: case 5786: case 5787: case 5788: case 5816: case 5817: case 5818: case 5822: case 5823: case 5824: case 5852: case 5853: case 5854: case 5858: case 5859: case 5860: case 5888: case 5889: case 5890: case 5894: case 5895: case 5896: case 5924: case 5925: case 5926: case 5930: case 5931: case 5932: case 5960: case 5961: case 5962: case 5966: case 5967: case 5968: return South::Low; - case 5660: case 5661: case 5662: case 5666: case 5667: case 5668: case 5696: case 5697: case 5698: case 5702: case 5703: case 5704: case 5732: case 5733: case 5734: case 5738: case 5739: case 5740: case 5768: case 5769: case 5770: case 5774: case 5775: case 5776: case 5804: case 5805: case 5806: case 5810: case 5811: case 5812: case 5840: case 5841: case 5842: case 5846: case 5847: case 5848: case 5876: case 5877: case 5878: case 5882: case 5883: case 5884: case 5912: case 5913: case 5914: case 5918: case 5919: case 5920: case 5948: case 5949: case 5950: case 5954: case 5955: case 5956: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 5666: case 5667: case 5668: case 5678: case 5679: case 5680: case 5690: case 5691: case 5692: case 5702: case 5703: case 5704: case 5714: case 5715: case 5716: case 5726: case 5727: case 5728: case 5738: case 5739: case 5740: case 5750: case 5751: case 5752: case 5762: case 5763: case 5764: case 5774: case 5775: case 5776: case 5786: case 5787: case 5788: case 5798: case 5799: case 5800: case 5810: case 5811: case 5812: case 5822: case 5823: case 5824: case 5834: case 5835: case 5836: case 5846: case 5847: case 5848: case 5858: case 5859: case 5860: case 5870: case 5871: case 5872: case 5882: case 5883: case 5884: case 5894: case 5895: case 5896: case 5906: case 5907: case 5908: case 5918: case 5919: case 5920: case 5930: case 5931: case 5932: case 5942: case 5943: case 5944: case 5954: case 5955: case 5956: case 5966: case 5967: case 5968: case 5978: case 5979: case 5980: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 5661: case 5667: case 5673: case 5679: case 5685: case 5691: case 5697: case 5703: case 5709: case 5715: case 5721: case 5727: case 5733: case 5739: case 5745: case 5751: case 5757: case 5763: case 5769: case 5775: case 5781: case 5787: case 5793: case 5799: case 5805: case 5811: case 5817: case 5823: case 5829: case 5835: case 5841: case 5847: case 5853: case 5859: case 5865: case 5871: case 5877: case 5883: case 5889: case 5895: case 5901: case 5907: case 5913: case 5919: case 5925: case 5931: case 5937: case 5943: case 5949: case 5955: case 5961: case 5967: case 5973: case 5979: return West::Low; - case 5660: case 5666: case 5672: case 5678: case 5684: case 5690: case 5696: case 5702: case 5708: case 5714: case 5720: case 5726: case 5732: case 5738: case 5744: case 5750: case 5756: case 5762: case 5768: case 5774: case 5780: case 5786: case 5792: case 5798: case 5804: case 5810: case 5816: case 5822: case 5828: case 5834: case 5840: case 5846: case 5852: case 5858: case 5864: case 5870: case 5876: case 5882: case 5888: case 5894: case 5900: case 5906: case 5912: case 5918: case 5924: case 5930: case 5936: case 5942: case 5948: case 5954: case 5960: case 5966: case 5972: case 5978: return West::None; - default: return West::Tall; - } - } - } - namespace Cobweb - { - } - namespace Cocoa - { - BlockState Cocoa() - { - return 5158; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 5158: case 5159: case 5160: case 5161: return 0; - case 5162: case 5163: case 5164: case 5165: return 1; - default: return 2; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5160: case 5164: case 5168: return eBlockFace::BLOCK_FACE_XM; - case 5161: case 5165: case 5169: return eBlockFace::BLOCK_FACE_XP; - case 5158: case 5162: case 5166: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace CommandBlock - { - BlockState CommandBlock() - { - return 5650; - } - bool Conditional(const BlockState Block) - { - switch (Block.ID) - { - case 5650: case 5651: case 5652: case 5653: case 5654: case 5655: return false; - default: return true; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5647: case 5653: return eBlockFace::BLOCK_FACE_XM; - case 5645: case 5651: return eBlockFace::BLOCK_FACE_XP; - case 5649: case 5655: return eBlockFace::BLOCK_FACE_YM; - case 5648: case 5654: return eBlockFace::BLOCK_FACE_YP; - case 5644: case 5650: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Comparator - { - BlockState Comparator() - { - return 6679; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6686: case 6687: case 6688: case 6689: return eBlockFace::BLOCK_FACE_XM; - case 6690: case 6691: case 6692: case 6693: return eBlockFace::BLOCK_FACE_XP; - case 6678: case 6679: case 6680: case 6681: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Mode Mode(const BlockState Block) - { - switch (Block.ID) - { - case 6678: case 6679: case 6682: case 6683: case 6686: case 6687: case 6690: case 6691: return Mode::Compare; - default: return Mode::Subtract; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 6679: case 6681: case 6683: case 6685: case 6687: case 6689: case 6691: case 6693: return false; - default: return true; - } - } - } - namespace Composter - { - BlockState Composter() - { - return 15751; - } - unsigned char Level(const BlockState Block) - { - switch (Block.ID) - { - case 15751: return 0; - case 15752: return 1; - case 15753: return 2; - case 15754: return 3; - case 15755: return 4; - case 15756: return 5; - case 15757: return 6; - case 15758: return 7; - default: return 8; - } - } - } - namespace Conduit - { - } - namespace Cornflower - { - } - namespace CrackedNetherBricks - { - } - namespace CrackedPolishedBlackstoneBricks - { - } - namespace CrackedStoneBricks - { - } - namespace CraftingTable - { - } - namespace CreeperHead - { - BlockState CreeperHead() - { - return 6570; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 6570: return 0; - case 6571: return 1; - case 6580: return 10; - case 6581: return 11; - case 6582: return 12; - case 6583: return 13; - case 6584: return 14; - case 6585: return 15; - case 6572: return 2; - case 6573: return 3; - case 6574: return 4; - case 6575: return 5; - case 6576: return 6; - case 6577: return 7; - case 6578: return 8; - default: return 9; - } - } - } - namespace CreeperWallHead - { - BlockState CreeperWallHead() - { - return 6586; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6588: return eBlockFace::BLOCK_FACE_XM; - case 6589: return eBlockFace::BLOCK_FACE_XP; - case 6586: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace CrimsonButton - { - BlockState CrimsonButton() - { - return 15488; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 15495: case 15496: case 15497: case 15498: case 15499: case 15500: case 15501: case 15502: return Face::Ceiling; - case 15479: case 15480: case 15481: case 15482: case 15483: case 15484: case 15485: case 15486: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15483: case 15484: case 15491: case 15492: case 15499: case 15500: return eBlockFace::BLOCK_FACE_XM; - case 15485: case 15486: case 15493: case 15494: case 15501: case 15502: return eBlockFace::BLOCK_FACE_XP; - case 15479: case 15480: case 15487: case 15488: case 15495: case 15496: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15480: case 15482: case 15484: case 15486: case 15488: case 15490: case 15492: case 15494: case 15496: case 15498: case 15500: case 15502: return false; - default: return true; - } - } - } - namespace CrimsonDoor - { - BlockState CrimsonDoor() - { - return 15538; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15559: case 15560: case 15561: case 15562: case 15563: case 15564: case 15565: case 15566: case 15567: case 15568: case 15569: case 15570: case 15571: case 15572: case 15573: case 15574: return eBlockFace::BLOCK_FACE_XM; - case 15575: case 15576: case 15577: case 15578: case 15579: case 15580: case 15581: case 15582: case 15583: case 15584: case 15585: case 15586: case 15587: case 15588: case 15589: case 15590: return eBlockFace::BLOCK_FACE_XP; - case 15527: case 15528: case 15529: case 15530: case 15531: case 15532: case 15533: case 15534: case 15535: case 15536: case 15537: case 15538: case 15539: case 15540: case 15541: case 15542: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 15535: case 15536: case 15537: case 15538: case 15539: case 15540: case 15541: case 15542: case 15551: case 15552: case 15553: case 15554: case 15555: case 15556: case 15557: case 15558: case 15567: case 15568: case 15569: case 15570: case 15571: case 15572: case 15573: case 15574: case 15583: case 15584: case 15585: case 15586: case 15587: case 15588: case 15589: case 15590: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 15527: case 15528: case 15529: case 15530: case 15535: case 15536: case 15537: case 15538: case 15543: case 15544: case 15545: case 15546: case 15551: case 15552: case 15553: case 15554: case 15559: case 15560: case 15561: case 15562: case 15567: case 15568: case 15569: case 15570: case 15575: case 15576: case 15577: case 15578: case 15583: case 15584: case 15585: case 15586: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 15529: case 15530: case 15533: case 15534: case 15537: case 15538: case 15541: case 15542: case 15545: case 15546: case 15549: case 15550: case 15553: case 15554: case 15557: case 15558: case 15561: case 15562: case 15565: case 15566: case 15569: case 15570: case 15573: case 15574: case 15577: case 15578: case 15581: case 15582: case 15585: case 15586: case 15589: case 15590: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15528: case 15530: case 15532: case 15534: case 15536: case 15538: case 15540: case 15542: case 15544: case 15546: case 15548: case 15550: case 15552: case 15554: case 15556: case 15558: case 15560: case 15562: case 15564: case 15566: case 15568: case 15570: case 15572: case 15574: case 15576: case 15578: case 15580: case 15582: case 15584: case 15586: case 15588: case 15590: return false; - default: return true; - } - } - } - namespace CrimsonFence - { - BlockState CrimsonFence() - { - return 15094; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 15081: case 15082: case 15085: case 15086: case 15089: case 15090: case 15093: case 15094: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 15073: case 15074: case 15077: case 15078: case 15089: case 15090: case 15093: case 15094: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 15069: case 15070: case 15077: case 15078: case 15085: case 15086: case 15093: case 15094: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 15066: case 15070: case 15074: case 15078: case 15082: case 15086: case 15090: case 15094: return false; - default: return true; - } - } - } - namespace CrimsonFenceGate - { - BlockState CrimsonFenceGate() - { - return 15262; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15271: case 15272: case 15273: case 15274: case 15275: case 15276: case 15277: case 15278: return eBlockFace::BLOCK_FACE_XM; - case 15279: case 15280: case 15281: case 15282: case 15283: case 15284: case 15285: case 15286: return eBlockFace::BLOCK_FACE_XP; - case 15255: case 15256: case 15257: case 15258: case 15259: case 15260: case 15261: case 15262: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool InWall(const BlockState Block) - { - switch (Block.ID) - { - case 15259: case 15260: case 15261: case 15262: case 15267: case 15268: case 15269: case 15270: case 15275: case 15276: case 15277: case 15278: case 15283: case 15284: case 15285: case 15286: return false; - default: return true; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 15257: case 15258: case 15261: case 15262: case 15265: case 15266: case 15269: case 15270: case 15273: case 15274: case 15277: case 15278: case 15281: case 15282: case 15285: case 15286: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15256: case 15258: case 15260: case 15262: case 15264: case 15266: case 15268: case 15270: case 15272: case 15274: case 15276: case 15278: case 15280: case 15282: case 15284: case 15286: return false; - default: return true; - } - } - } - namespace CrimsonFungus - { - } - namespace CrimsonHyphae - { - BlockState CrimsonHyphae() - { - return 14982; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 14981: return Axis::X; - case 14982: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace CrimsonNylium - { - } - namespace CrimsonPlanks - { - } - namespace CrimsonPressurePlate - { - BlockState CrimsonPressurePlate() - { - return 15060; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15060: return false; - default: return true; - } - } - } - namespace CrimsonRoots - { - } - namespace CrimsonSign - { - BlockState CrimsonSign() - { - return 15656; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 15656: return 0; - case 15658: return 1; - case 15676: return 10; - case 15678: return 11; - case 15680: return 12; - case 15682: return 13; - case 15684: return 14; - case 15686: return 15; - case 15660: return 2; - case 15662: return 3; - case 15664: return 4; - case 15666: return 5; - case 15668: return 6; - case 15670: return 7; - case 15672: return 8; - default: return 9; - } - } - } - namespace CrimsonSlab - { - BlockState CrimsonSlab() - { - return 15050; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 15050: return Type::Bottom; - case 15052: return Type::Double; - default: return Type::Top; - } - } - } - namespace CrimsonStairs - { - BlockState CrimsonStairs() - { - return 15330; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15360: case 15362: case 15364: case 15366: case 15368: case 15370: case 15372: case 15374: case 15376: case 15378: return eBlockFace::BLOCK_FACE_XM; - case 15380: case 15382: case 15384: case 15386: case 15388: case 15390: case 15392: case 15394: case 15396: case 15398: return eBlockFace::BLOCK_FACE_XP; - case 15320: case 15322: case 15324: case 15326: case 15328: case 15330: case 15332: case 15334: case 15336: case 15338: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 15330: case 15332: case 15334: case 15336: case 15338: case 15350: case 15352: case 15354: case 15356: case 15358: case 15370: case 15372: case 15374: case 15376: case 15378: case 15390: case 15392: case 15394: case 15396: case 15398: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 15322: case 15332: case 15342: case 15352: case 15362: case 15372: case 15382: case 15392: return Shape::InnerLeft; - case 15324: case 15334: case 15344: case 15354: case 15364: case 15374: case 15384: case 15394: return Shape::InnerRight; - case 15326: case 15336: case 15346: case 15356: case 15366: case 15376: case 15386: case 15396: return Shape::OuterLeft; - case 15328: case 15338: case 15348: case 15358: case 15368: case 15378: case 15388: case 15398: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace CrimsonStem - { - BlockState CrimsonStem() - { - return 14976; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 14975: return Axis::X; - case 14976: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace CrimsonTrapdoor - { - BlockState CrimsonTrapdoor() - { - return 15142; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15160: case 15162: case 15164: case 15166: case 15168: case 15170: case 15172: case 15174: return eBlockFace::BLOCK_FACE_XM; - case 15176: case 15178: case 15180: case 15182: case 15184: case 15186: case 15188: case 15190: return eBlockFace::BLOCK_FACE_XP; - case 15128: case 15130: case 15132: case 15134: case 15136: case 15138: case 15140: case 15142: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 15136: case 15138: case 15140: case 15142: case 15152: case 15154: case 15156: case 15158: case 15168: case 15170: case 15172: case 15174: case 15184: case 15186: case 15188: case 15190: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 15132: case 15134: case 15140: case 15142: case 15148: case 15150: case 15156: case 15158: case 15164: case 15166: case 15172: case 15174: case 15180: case 15182: case 15188: case 15190: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15130: case 15134: case 15138: case 15142: case 15146: case 15150: case 15154: case 15158: case 15162: case 15166: case 15170: case 15174: case 15178: case 15182: case 15186: case 15190: return false; - default: return true; - } - } - } - namespace CrimsonWallSign - { - BlockState CrimsonWallSign() - { - return 15720; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15724: return eBlockFace::BLOCK_FACE_XM; - case 15726: return eBlockFace::BLOCK_FACE_XP; - case 15720: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace CryingObsidian - { - } - namespace CutRedSandstone - { - } - namespace CutRedSandstoneSlab - { - BlockState CutRedSandstoneSlab() - { - return 8405; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8405: return Type::Bottom; - case 8407: return Type::Double; - default: return Type::Top; - } - } - } - namespace CutSandstone - { - } - namespace CutSandstoneSlab - { - BlockState CutSandstoneSlab() - { - return 8357; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8357: return Type::Bottom; - case 8359: return Type::Double; - default: return Type::Top; - } - } - } - namespace CyanBanner - { - BlockState CyanBanner() - { - return 8041; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8041: return 0; - case 8042: return 1; - case 8051: return 10; - case 8052: return 11; - case 8053: return 12; - case 8054: return 13; - case 8055: return 14; - case 8056: return 15; - case 8043: return 2; - case 8044: return 3; - case 8045: return 4; - case 8046: return 5; - case 8047: return 6; - case 8048: return 7; - case 8049: return 8; - default: return 9; - } - } - } - namespace CyanBed - { - BlockState CyanBed() - { - return 1196; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1201: case 1202: case 1203: case 1204: return eBlockFace::BLOCK_FACE_XM; - case 1205: case 1206: case 1207: case 1208: return eBlockFace::BLOCK_FACE_XP; - case 1193: case 1194: case 1195: case 1196: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1195: case 1196: case 1199: case 1200: case 1203: case 1204: case 1207: case 1208: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1194: case 1196: case 1198: case 1200: case 1202: case 1204: case 1206: case 1208: return Part::Foot; - default: return Part::Head; - } - } - } - namespace CyanCarpet - { - } - namespace CyanConcrete - { - } - namespace CyanConcretePowder - { - } - namespace CyanGlazedTerracotta - { - BlockState CyanGlazedTerracotta() - { - return 9410; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9412: return eBlockFace::BLOCK_FACE_XM; - case 9413: return eBlockFace::BLOCK_FACE_XP; - case 9410: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace CyanShulkerBox - { - BlockState CyanShulkerBox() - { - return 9336; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9335: return eBlockFace::BLOCK_FACE_XM; - case 9333: return eBlockFace::BLOCK_FACE_XP; - case 9337: return eBlockFace::BLOCK_FACE_YM; - case 9336: return eBlockFace::BLOCK_FACE_YP; - case 9332: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace CyanStainedGlass - { - } - namespace CyanStainedGlassPane - { - BlockState CyanStainedGlassPane() - { - return 7182; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7169: case 7170: case 7173: case 7174: case 7177: case 7178: case 7181: case 7182: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7161: case 7162: case 7165: case 7166: case 7177: case 7178: case 7181: case 7182: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7157: case 7158: case 7165: case 7166: case 7173: case 7174: case 7181: case 7182: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7154: case 7158: case 7162: case 7166: case 7170: case 7174: case 7178: case 7182: return false; - default: return true; - } - } - } - namespace CyanTerracotta - { - } - namespace CyanWallBanner - { - BlockState CyanWallBanner() - { - return 8189; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8191: return eBlockFace::BLOCK_FACE_XM; - case 8192: return eBlockFace::BLOCK_FACE_XP; - case 8189: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace CyanWool - { - } - namespace DamagedAnvil - { - BlockState DamagedAnvil() - { - return 6618; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6620: return eBlockFace::BLOCK_FACE_XM; - case 6621: return eBlockFace::BLOCK_FACE_XP; - case 6618: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Dandelion - { - } - namespace DarkOakButton - { - BlockState DarkOakButton() - { - return 6475; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 6482: case 6483: case 6484: case 6485: case 6486: case 6487: case 6488: case 6489: return Face::Ceiling; - case 6466: case 6467: case 6468: case 6469: case 6470: case 6471: case 6472: case 6473: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6470: case 6471: case 6478: case 6479: case 6486: case 6487: return eBlockFace::BLOCK_FACE_XM; - case 6472: case 6473: case 6480: case 6481: case 6488: case 6489: return eBlockFace::BLOCK_FACE_XP; - case 6466: case 6467: case 6474: case 6475: case 6482: case 6483: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 6467: case 6469: case 6471: case 6473: case 6475: case 6477: case 6479: case 6481: case 6483: case 6485: case 6487: case 6489: return false; - default: return true; - } - } - } - namespace DarkOakDoor - { - BlockState DarkOakDoor() - { - return 9005; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9026: case 9027: case 9028: case 9029: case 9030: case 9031: case 9032: case 9033: case 9034: case 9035: case 9036: case 9037: case 9038: case 9039: case 9040: case 9041: return eBlockFace::BLOCK_FACE_XM; - case 9042: case 9043: case 9044: case 9045: case 9046: case 9047: case 9048: case 9049: case 9050: case 9051: case 9052: case 9053: case 9054: case 9055: case 9056: case 9057: return eBlockFace::BLOCK_FACE_XP; - case 8994: case 8995: case 8996: case 8997: case 8998: case 8999: case 9000: case 9001: case 9002: case 9003: case 9004: case 9005: case 9006: case 9007: case 9008: case 9009: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 9002: case 9003: case 9004: case 9005: case 9006: case 9007: case 9008: case 9009: case 9018: case 9019: case 9020: case 9021: case 9022: case 9023: case 9024: case 9025: case 9034: case 9035: case 9036: case 9037: case 9038: case 9039: case 9040: case 9041: case 9050: case 9051: case 9052: case 9053: case 9054: case 9055: case 9056: case 9057: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 8994: case 8995: case 8996: case 8997: case 9002: case 9003: case 9004: case 9005: case 9010: case 9011: case 9012: case 9013: case 9018: case 9019: case 9020: case 9021: case 9026: case 9027: case 9028: case 9029: case 9034: case 9035: case 9036: case 9037: case 9042: case 9043: case 9044: case 9045: case 9050: case 9051: case 9052: case 9053: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8996: case 8997: case 9000: case 9001: case 9004: case 9005: case 9008: case 9009: case 9012: case 9013: case 9016: case 9017: case 9020: case 9021: case 9024: case 9025: case 9028: case 9029: case 9032: case 9033: case 9036: case 9037: case 9040: case 9041: case 9044: case 9045: case 9048: case 9049: case 9052: case 9053: case 9056: case 9057: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8995: case 8997: case 8999: case 9001: case 9003: case 9005: case 9007: case 9009: case 9011: case 9013: case 9015: case 9017: case 9019: case 9021: case 9023: case 9025: case 9027: case 9029: case 9031: case 9033: case 9035: case 9037: case 9039: case 9041: case 9043: case 9045: case 9047: case 9049: case 9051: case 9053: case 9055: case 9057: return false; - default: return true; - } - } - } - namespace DarkOakFence - { - BlockState DarkOakFence() - { - return 8737; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 8724: case 8725: case 8728: case 8729: case 8732: case 8733: case 8736: case 8737: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 8716: case 8717: case 8720: case 8721: case 8732: case 8733: case 8736: case 8737: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 8712: case 8713: case 8720: case 8721: case 8728: case 8729: case 8736: case 8737: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 8709: case 8713: case 8717: case 8721: case 8725: case 8729: case 8733: case 8737: return false; - default: return true; - } - } - } - namespace DarkOakFenceGate - { - BlockState DarkOakFenceGate() - { - return 8553; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8562: case 8563: case 8564: case 8565: case 8566: case 8567: case 8568: case 8569: return eBlockFace::BLOCK_FACE_XM; - case 8570: case 8571: case 8572: case 8573: case 8574: case 8575: case 8576: case 8577: return eBlockFace::BLOCK_FACE_XP; - case 8546: case 8547: case 8548: case 8549: case 8550: case 8551: case 8552: case 8553: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool InWall(const BlockState Block) - { - switch (Block.ID) - { - case 8550: case 8551: case 8552: case 8553: case 8558: case 8559: case 8560: case 8561: case 8566: case 8567: case 8568: case 8569: case 8574: case 8575: case 8576: case 8577: return false; - default: return true; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8548: case 8549: case 8552: case 8553: case 8556: case 8557: case 8560: case 8561: case 8564: case 8565: case 8568: case 8569: case 8572: case 8573: case 8576: case 8577: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8547: case 8549: case 8551: case 8553: case 8555: case 8557: case 8559: case 8561: case 8563: case 8565: case 8567: case 8569: case 8571: case 8573: case 8575: case 8577: return false; - default: return true; - } - } - } - namespace DarkOakLeaves - { - BlockState DarkOakLeaves() - { - return 228; - } - unsigned char Distance(const BlockState Block) - { - switch (Block.ID) - { - case 215: case 216: return 1; - case 217: case 218: return 2; - case 219: case 220: return 3; - case 221: case 222: return 4; - case 223: case 224: return 5; - case 225: case 226: return 6; - default: return 7; - } - } - bool Persistent(const BlockState Block) - { - switch (Block.ID) - { - case 216: case 218: case 220: case 222: case 224: case 226: case 228: return false; - default: return true; - } - } - } - namespace DarkOakLog - { - BlockState DarkOakLog() - { - return 89; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 88: return Axis::X; - case 89: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace DarkOakPlanks - { - } - namespace DarkOakPressurePlate - { - BlockState DarkOakPressurePlate() - { - return 3884; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3884: return false; - default: return true; - } - } - } - namespace DarkOakSapling - { - BlockState DarkOakSapling() - { - return 31; - } - unsigned char Stage(const BlockState Block) - { - switch (Block.ID) - { - case 31: return 0; - default: return 1; - } - } - } - namespace DarkOakSign - { - BlockState DarkOakSign() - { - return 3542; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 3542: return 0; - case 3544: return 1; - case 3562: return 10; - case 3564: return 11; - case 3566: return 12; - case 3568: return 13; - case 3570: return 14; - case 3572: return 15; - case 3546: return 2; - case 3548: return 3; - case 3550: return 4; - case 3552: return 5; - case 3554: return 6; - case 3556: return 7; - case 3558: return 8; - default: return 9; - } - } - } - namespace DarkOakSlab - { - BlockState DarkOakSlab() - { - return 8333; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8333: return Type::Bottom; - case 8335: return Type::Double; - default: return Type::Top; - } - } - } - namespace DarkOakStairs - { - BlockState DarkOakStairs() - { - return 7466; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 7496: case 7498: case 7500: case 7502: case 7504: case 7506: case 7508: case 7510: case 7512: case 7514: return eBlockFace::BLOCK_FACE_XM; - case 7516: case 7518: case 7520: case 7522: case 7524: case 7526: case 7528: case 7530: case 7532: case 7534: return eBlockFace::BLOCK_FACE_XP; - case 7456: case 7458: case 7460: case 7462: case 7464: case 7466: case 7468: case 7470: case 7472: case 7474: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7466: case 7468: case 7470: case 7472: case 7474: case 7486: case 7488: case 7490: case 7492: case 7494: case 7506: case 7508: case 7510: case 7512: case 7514: case 7526: case 7528: case 7530: case 7532: case 7534: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 7458: case 7468: case 7478: case 7488: case 7498: case 7508: case 7518: case 7528: return Shape::InnerLeft; - case 7460: case 7470: case 7480: case 7490: case 7500: case 7510: case 7520: case 7530: return Shape::InnerRight; - case 7462: case 7472: case 7482: case 7492: case 7502: case 7512: case 7522: case 7532: return Shape::OuterLeft; - case 7464: case 7474: case 7484: case 7494: case 7504: case 7514: case 7524: case 7534: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace DarkOakTrapdoor - { - BlockState DarkOakTrapdoor() - { - return 4446; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4464: case 4466: case 4468: case 4470: case 4472: case 4474: case 4476: case 4478: return eBlockFace::BLOCK_FACE_XM; - case 4480: case 4482: case 4484: case 4486: case 4488: case 4490: case 4492: case 4494: return eBlockFace::BLOCK_FACE_XP; - case 4432: case 4434: case 4436: case 4438: case 4440: case 4442: case 4444: case 4446: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 4440: case 4442: case 4444: case 4446: case 4456: case 4458: case 4460: case 4462: case 4472: case 4474: case 4476: case 4478: case 4488: case 4490: case 4492: case 4494: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 4436: case 4438: case 4444: case 4446: case 4452: case 4454: case 4460: case 4462: case 4468: case 4470: case 4476: case 4478: case 4484: case 4486: case 4492: case 4494: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 4434: case 4438: case 4442: case 4446: case 4450: case 4454: case 4458: case 4462: case 4466: case 4470: case 4474: case 4478: case 4482: case 4486: case 4490: case 4494: return false; - default: return true; - } - } - } - namespace DarkOakWallSign - { - BlockState DarkOakWallSign() - { - return 3776; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3780: return eBlockFace::BLOCK_FACE_XM; - case 3782: return eBlockFace::BLOCK_FACE_XP; - case 3776: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace DarkOakWood - { - BlockState DarkOakWood() - { - return 125; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 124: return Axis::X; - case 125: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace DarkPrismarine - { - } - namespace DarkPrismarineSlab - { - BlockState DarkPrismarineSlab() - { - return 7859; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 7859: return Type::Bottom; - case 7861: return Type::Double; - default: return Type::Top; - } - } - } - namespace DarkPrismarineStairs - { - BlockState DarkPrismarineStairs() - { - return 7775; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 7805: case 7807: case 7809: case 7811: case 7813: case 7815: case 7817: case 7819: case 7821: case 7823: return eBlockFace::BLOCK_FACE_XM; - case 7825: case 7827: case 7829: case 7831: case 7833: case 7835: case 7837: case 7839: case 7841: case 7843: return eBlockFace::BLOCK_FACE_XP; - case 7765: case 7767: case 7769: case 7771: case 7773: case 7775: case 7777: case 7779: case 7781: case 7783: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7775: case 7777: case 7779: case 7781: case 7783: case 7795: case 7797: case 7799: case 7801: case 7803: case 7815: case 7817: case 7819: case 7821: case 7823: case 7835: case 7837: case 7839: case 7841: case 7843: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 7767: case 7777: case 7787: case 7797: case 7807: case 7817: case 7827: case 7837: return Shape::InnerLeft; - case 7769: case 7779: case 7789: case 7799: case 7809: case 7819: case 7829: case 7839: return Shape::InnerRight; - case 7771: case 7781: case 7791: case 7801: case 7811: case 7821: case 7831: case 7841: return Shape::OuterLeft; - case 7773: case 7783: case 7793: case 7803: case 7813: case 7823: case 7833: case 7843: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace DaylightDetector - { - BlockState DaylightDetector() - { - return 6710; - } - bool Inverted(const BlockState Block) - { - switch (Block.ID) - { - case 6710: case 6711: case 6712: case 6713: case 6714: case 6715: case 6716: case 6717: case 6718: case 6719: case 6720: case 6721: case 6722: case 6723: case 6724: case 6725: return false; - default: return true; - } - } - unsigned char Power(const BlockState Block) - { - switch (Block.ID) - { - case 6694: case 6710: return 0; - case 6695: case 6711: return 1; - case 6704: case 6720: return 10; - case 6705: case 6721: return 11; - case 6706: case 6722: return 12; - case 6707: case 6723: return 13; - case 6708: case 6724: return 14; - case 6709: case 6725: return 15; - case 6696: case 6712: return 2; - case 6697: case 6713: return 3; - case 6698: case 6714: return 4; - case 6699: case 6715: return 5; - case 6700: case 6716: return 6; - case 6701: case 6717: return 7; - case 6702: case 6718: return 8; - default: return 9; - } - } - } - namespace DeadBrainCoral - { - } - namespace DeadBrainCoralBlock - { - } - namespace DeadBrainCoralFan - { - } - namespace DeadBrainCoralWallFan - { - BlockState DeadBrainCoralWallFan() - { - return 9568; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9573: return eBlockFace::BLOCK_FACE_XM; - case 9575: return eBlockFace::BLOCK_FACE_XP; - case 9569: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace DeadBubbleCoral - { - } - namespace DeadBubbleCoralBlock - { - } - namespace DeadBubbleCoralFan - { - } - namespace DeadBubbleCoralWallFan - { - BlockState DeadBubbleCoralWallFan() - { - return 9576; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9581: return eBlockFace::BLOCK_FACE_XM; - case 9583: return eBlockFace::BLOCK_FACE_XP; - case 9577: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace DeadBush - { - } - namespace DeadFireCoral - { - } - namespace DeadFireCoralBlock - { - } - namespace DeadFireCoralFan - { - } - namespace DeadFireCoralWallFan - { - BlockState DeadFireCoralWallFan() - { - return 9584; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9589: return eBlockFace::BLOCK_FACE_XM; - case 9591: return eBlockFace::BLOCK_FACE_XP; - case 9585: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } +namespace AcaciaButton +{ +BlockState AcaciaButton() +{ + return 6451; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 6458: + case 6459: + case 6460: + case 6461: + case 6462: + case 6463: + case 6464: + case 6465: return Face::Ceiling; + case 6442: + case 6443: + case 6444: + case 6445: + case 6446: + case 6447: + case 6448: + case 6449: return Face::Floor; + default: return Face::Wall; } - namespace DeadHornCoral - { +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6446: + case 6447: + case 6454: + case 6455: + case 6462: + case 6463: return eBlockFace::BLOCK_FACE_XM; + case 6448: + case 6449: + case 6456: + case 6457: + case 6464: + case 6465: return eBlockFace::BLOCK_FACE_XP; + case 6442: + case 6443: + case 6450: + case 6451: + case 6458: + case 6459: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace DeadHornCoralBlock - { +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 6443: + case 6445: + case 6447: + case 6449: + case 6451: + case 6453: + case 6455: + case 6457: + case 6459: + case 6461: + case 6463: + case 6465: return false; + default: return true; } - namespace DeadHornCoralFan - { +} +} // namespace AcaciaButton +namespace AcaciaDoor +{ +BlockState AcaciaDoor() +{ + return 8941; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8962: + case 8963: + case 8964: + case 8965: + case 8966: + case 8967: + case 8968: + case 8969: + case 8970: + case 8971: + case 8972: + case 8973: + case 8974: + case 8975: + case 8976: + case 8977: return eBlockFace::BLOCK_FACE_XM; + case 8978: + case 8979: + case 8980: + case 8981: + case 8982: + case 8983: + case 8984: + case 8985: + case 8986: + case 8987: + case 8988: + case 8989: + case 8990: + case 8991: + case 8992: + case 8993: return eBlockFace::BLOCK_FACE_XP; + case 8930: + case 8931: + case 8932: + case 8933: + case 8934: + case 8935: + case 8936: + case 8937: + case 8938: + case 8939: + case 8940: + case 8941: + case 8942: + case 8943: + case 8944: + case 8945: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace DeadHornCoralWallFan - { - BlockState DeadHornCoralWallFan() - { - return 9592; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9597: return eBlockFace::BLOCK_FACE_XM; - case 9599: return eBlockFace::BLOCK_FACE_XP; - case 9593: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace DeadTubeCoral - { - } - namespace DeadTubeCoralBlock - { - } - namespace DeadTubeCoralFan - { - } - namespace DeadTubeCoralWallFan - { - BlockState DeadTubeCoralWallFan() - { - return 9560; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9565: return eBlockFace::BLOCK_FACE_XM; - case 9567: return eBlockFace::BLOCK_FACE_XP; - case 9561: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace DetectorRail - { - BlockState DetectorRail() - { - return 1323; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 1323: case 1324: case 1325: case 1326: case 1327: case 1328: return false; - default: return true; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 1319: case 1325: return Shape::AscendingEast; - case 1321: case 1327: return Shape::AscendingNorth; - case 1322: case 1328: return Shape::AscendingSouth; - case 1320: case 1326: return Shape::AscendingWest; - case 1318: case 1324: return Shape::EastWest; - default: return Shape::NorthSouth; - } - } - } - namespace DiamondBlock - { - } - namespace DiamondOre - { - } - namespace Diorite - { - } - namespace DioriteSlab - { - BlockState DioriteSlab() - { - return 10864; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10864: return Type::Bottom; - case 10866: return Type::Double; - default: return Type::Top; - } - } - } - namespace DioriteStairs - { - BlockState DioriteStairs() - { - return 10720; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10750: case 10752: case 10754: case 10756: case 10758: case 10760: case 10762: case 10764: case 10766: case 10768: return eBlockFace::BLOCK_FACE_XM; - case 10770: case 10772: case 10774: case 10776: case 10778: case 10780: case 10782: case 10784: case 10786: case 10788: return eBlockFace::BLOCK_FACE_XP; - case 10710: case 10712: case 10714: case 10716: case 10718: case 10720: case 10722: case 10724: case 10726: case 10728: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10720: case 10722: case 10724: case 10726: case 10728: case 10740: case 10742: case 10744: case 10746: case 10748: case 10760: case 10762: case 10764: case 10766: case 10768: case 10780: case 10782: case 10784: case 10786: case 10788: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10712: case 10722: case 10732: case 10742: case 10752: case 10762: case 10772: case 10782: return Shape::InnerLeft; - case 10714: case 10724: case 10734: case 10744: case 10754: case 10764: case 10774: case 10784: return Shape::InnerRight; - case 10716: case 10726: case 10736: case 10746: case 10756: case 10766: case 10776: case 10786: return Shape::OuterLeft; - case 10718: case 10728: case 10738: case 10748: case 10758: case 10768: case 10778: case 10788: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace DioriteWall - { - BlockState DioriteWall() - { - return 14434; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 14542: case 14543: case 14544: case 14548: case 14549: case 14550: case 14554: case 14555: case 14556: case 14560: case 14561: case 14562: case 14566: case 14567: case 14568: case 14572: case 14573: case 14574: case 14578: case 14579: case 14580: case 14584: case 14585: case 14586: case 14590: case 14591: case 14592: case 14596: case 14597: case 14598: case 14602: case 14603: case 14604: case 14608: case 14609: case 14610: case 14614: case 14615: case 14616: case 14620: case 14621: case 14622: case 14626: case 14627: case 14628: case 14632: case 14633: case 14634: case 14638: case 14639: case 14640: case 14644: case 14645: case 14646: return East::Low; - case 14434: case 14435: case 14436: case 14440: case 14441: case 14442: case 14446: case 14447: case 14448: case 14452: case 14453: case 14454: case 14458: case 14459: case 14460: case 14464: case 14465: case 14466: case 14470: case 14471: case 14472: case 14476: case 14477: case 14478: case 14482: case 14483: case 14484: case 14488: case 14489: case 14490: case 14494: case 14495: case 14496: case 14500: case 14501: case 14502: case 14506: case 14507: case 14508: case 14512: case 14513: case 14514: case 14518: case 14519: case 14520: case 14524: case 14525: case 14526: case 14530: case 14531: case 14532: case 14536: case 14537: case 14538: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 14470: case 14471: case 14472: case 14476: case 14477: case 14478: case 14482: case 14483: case 14484: case 14488: case 14489: case 14490: case 14494: case 14495: case 14496: case 14500: case 14501: case 14502: case 14578: case 14579: case 14580: case 14584: case 14585: case 14586: case 14590: case 14591: case 14592: case 14596: case 14597: case 14598: case 14602: case 14603: case 14604: case 14608: case 14609: case 14610: case 14686: case 14687: case 14688: case 14692: case 14693: case 14694: case 14698: case 14699: case 14700: case 14704: case 14705: case 14706: case 14710: case 14711: case 14712: case 14716: case 14717: case 14718: return North::Low; - case 14434: case 14435: case 14436: case 14440: case 14441: case 14442: case 14446: case 14447: case 14448: case 14452: case 14453: case 14454: case 14458: case 14459: case 14460: case 14464: case 14465: case 14466: case 14542: case 14543: case 14544: case 14548: case 14549: case 14550: case 14554: case 14555: case 14556: case 14560: case 14561: case 14562: case 14566: case 14567: case 14568: case 14572: case 14573: case 14574: case 14650: case 14651: case 14652: case 14656: case 14657: case 14658: case 14662: case 14663: case 14664: case 14668: case 14669: case 14670: case 14674: case 14675: case 14676: case 14680: case 14681: case 14682: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 14446: case 14447: case 14448: case 14452: case 14453: case 14454: case 14482: case 14483: case 14484: case 14488: case 14489: case 14490: case 14518: case 14519: case 14520: case 14524: case 14525: case 14526: case 14554: case 14555: case 14556: case 14560: case 14561: case 14562: case 14590: case 14591: case 14592: case 14596: case 14597: case 14598: case 14626: case 14627: case 14628: case 14632: case 14633: case 14634: case 14662: case 14663: case 14664: case 14668: case 14669: case 14670: case 14698: case 14699: case 14700: case 14704: case 14705: case 14706: case 14734: case 14735: case 14736: case 14740: case 14741: case 14742: return South::Low; - case 14434: case 14435: case 14436: case 14440: case 14441: case 14442: case 14470: case 14471: case 14472: case 14476: case 14477: case 14478: case 14506: case 14507: case 14508: case 14512: case 14513: case 14514: case 14542: case 14543: case 14544: case 14548: case 14549: case 14550: case 14578: case 14579: case 14580: case 14584: case 14585: case 14586: case 14614: case 14615: case 14616: case 14620: case 14621: case 14622: case 14650: case 14651: case 14652: case 14656: case 14657: case 14658: case 14686: case 14687: case 14688: case 14692: case 14693: case 14694: case 14722: case 14723: case 14724: case 14728: case 14729: case 14730: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 14440: case 14441: case 14442: case 14452: case 14453: case 14454: case 14464: case 14465: case 14466: case 14476: case 14477: case 14478: case 14488: case 14489: case 14490: case 14500: case 14501: case 14502: case 14512: case 14513: case 14514: case 14524: case 14525: case 14526: case 14536: case 14537: case 14538: case 14548: case 14549: case 14550: case 14560: case 14561: case 14562: case 14572: case 14573: case 14574: case 14584: case 14585: case 14586: case 14596: case 14597: case 14598: case 14608: case 14609: case 14610: case 14620: case 14621: case 14622: case 14632: case 14633: case 14634: case 14644: case 14645: case 14646: case 14656: case 14657: case 14658: case 14668: case 14669: case 14670: case 14680: case 14681: case 14682: case 14692: case 14693: case 14694: case 14704: case 14705: case 14706: case 14716: case 14717: case 14718: case 14728: case 14729: case 14730: case 14740: case 14741: case 14742: case 14752: case 14753: case 14754: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 14435: case 14441: case 14447: case 14453: case 14459: case 14465: case 14471: case 14477: case 14483: case 14489: case 14495: case 14501: case 14507: case 14513: case 14519: case 14525: case 14531: case 14537: case 14543: case 14549: case 14555: case 14561: case 14567: case 14573: case 14579: case 14585: case 14591: case 14597: case 14603: case 14609: case 14615: case 14621: case 14627: case 14633: case 14639: case 14645: case 14651: case 14657: case 14663: case 14669: case 14675: case 14681: case 14687: case 14693: case 14699: case 14705: case 14711: case 14717: case 14723: case 14729: case 14735: case 14741: case 14747: case 14753: return West::Low; - case 14434: case 14440: case 14446: case 14452: case 14458: case 14464: case 14470: case 14476: case 14482: case 14488: case 14494: case 14500: case 14506: case 14512: case 14518: case 14524: case 14530: case 14536: case 14542: case 14548: case 14554: case 14560: case 14566: case 14572: case 14578: case 14584: case 14590: case 14596: case 14602: case 14608: case 14614: case 14620: case 14626: case 14632: case 14638: case 14644: case 14650: case 14656: case 14662: case 14668: case 14674: case 14680: case 14686: case 14692: case 14698: case 14704: case 14710: case 14716: case 14722: case 14728: case 14734: case 14740: case 14746: case 14752: return West::None; - default: return West::Tall; - } - } - } - namespace Dirt - { - } - namespace Dispenser - { - BlockState Dispenser() - { - return 235; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 240: case 241: return eBlockFace::BLOCK_FACE_XM; - case 236: case 237: return eBlockFace::BLOCK_FACE_XP; - case 244: case 245: return eBlockFace::BLOCK_FACE_YM; - case 242: case 243: return eBlockFace::BLOCK_FACE_YP; - case 234: case 235: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Triggered(const BlockState Block) - { - switch (Block.ID) - { - case 235: case 237: case 239: case 241: case 243: case 245: return false; - default: return true; - } - } - } - namespace DragonEgg - { - } - namespace DragonHead - { - BlockState DragonHead() - { - return 6590; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 6590: return 0; - case 6591: return 1; - case 6600: return 10; - case 6601: return 11; - case 6602: return 12; - case 6603: return 13; - case 6604: return 14; - case 6605: return 15; - case 6592: return 2; - case 6593: return 3; - case 6594: return 4; - case 6595: return 5; - case 6596: return 6; - case 6597: return 7; - case 6598: return 8; - default: return 9; - } - } - } - namespace DragonWallHead - { - BlockState DragonWallHead() - { - return 6606; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6608: return eBlockFace::BLOCK_FACE_XM; - case 6609: return eBlockFace::BLOCK_FACE_XP; - case 6606: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace DriedKelpBlock - { - } - namespace Dropper - { - BlockState Dropper() - { - return 6836; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6841: case 6842: return eBlockFace::BLOCK_FACE_XM; - case 6837: case 6838: return eBlockFace::BLOCK_FACE_XP; - case 6845: case 6846: return eBlockFace::BLOCK_FACE_YM; - case 6843: case 6844: return eBlockFace::BLOCK_FACE_YP; - case 6835: case 6836: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Triggered(const BlockState Block) - { - switch (Block.ID) - { - case 6836: case 6838: case 6840: case 6842: case 6844: case 6846: return false; - default: return true; - } - } - } - namespace EmeraldBlock - { - } - namespace EmeraldOre - { - } - namespace EnchantingTable - { - } - namespace EndGateway - { - } - namespace EndPortal - { - } - namespace EndPortalFrame - { - BlockState EndPortalFrame() - { - return 5150; - } - bool Eye(const BlockState Block) - { - switch (Block.ID) - { - case 5150: case 5151: case 5152: case 5153: return false; - default: return true; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5148: case 5152: return eBlockFace::BLOCK_FACE_XM; - case 5149: case 5153: return eBlockFace::BLOCK_FACE_XP; - case 5146: case 5150: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace EndRod - { - BlockState EndRod() - { - return 9062; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9061: return eBlockFace::BLOCK_FACE_XM; - case 9059: return eBlockFace::BLOCK_FACE_XP; - case 9063: return eBlockFace::BLOCK_FACE_YM; - case 9062: return eBlockFace::BLOCK_FACE_YP; - case 9058: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace EndStone - { - } - namespace EndStoneBrickSlab - { - BlockState EndStoneBrickSlab() - { - return 10822; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10822: return Type::Bottom; - case 10824: return Type::Double; - default: return Type::Top; - } - } - } - namespace EndStoneBrickStairs - { - BlockState EndStoneBrickStairs() - { - return 10080; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10110: case 10112: case 10114: case 10116: case 10118: case 10120: case 10122: case 10124: case 10126: case 10128: return eBlockFace::BLOCK_FACE_XM; - case 10130: case 10132: case 10134: case 10136: case 10138: case 10140: case 10142: case 10144: case 10146: case 10148: return eBlockFace::BLOCK_FACE_XP; - case 10070: case 10072: case 10074: case 10076: case 10078: case 10080: case 10082: case 10084: case 10086: case 10088: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10080: case 10082: case 10084: case 10086: case 10088: case 10100: case 10102: case 10104: case 10106: case 10108: case 10120: case 10122: case 10124: case 10126: case 10128: case 10140: case 10142: case 10144: case 10146: case 10148: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10072: case 10082: case 10092: case 10102: case 10112: case 10122: case 10132: case 10142: return Shape::InnerLeft; - case 10074: case 10084: case 10094: case 10104: case 10114: case 10124: case 10134: case 10144: return Shape::InnerRight; - case 10076: case 10086: case 10096: case 10106: case 10116: case 10126: case 10136: case 10146: return Shape::OuterLeft; - case 10078: case 10088: case 10098: case 10108: case 10118: case 10128: case 10138: case 10148: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace EndStoneBrickWall - { - BlockState EndStoneBrickWall() - { - return 14110; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 14218: case 14219: case 14220: case 14224: case 14225: case 14226: case 14230: case 14231: case 14232: case 14236: case 14237: case 14238: case 14242: case 14243: case 14244: case 14248: case 14249: case 14250: case 14254: case 14255: case 14256: case 14260: case 14261: case 14262: case 14266: case 14267: case 14268: case 14272: case 14273: case 14274: case 14278: case 14279: case 14280: case 14284: case 14285: case 14286: case 14290: case 14291: case 14292: case 14296: case 14297: case 14298: case 14302: case 14303: case 14304: case 14308: case 14309: case 14310: case 14314: case 14315: case 14316: case 14320: case 14321: case 14322: return East::Low; - case 14110: case 14111: case 14112: case 14116: case 14117: case 14118: case 14122: case 14123: case 14124: case 14128: case 14129: case 14130: case 14134: case 14135: case 14136: case 14140: case 14141: case 14142: case 14146: case 14147: case 14148: case 14152: case 14153: case 14154: case 14158: case 14159: case 14160: case 14164: case 14165: case 14166: case 14170: case 14171: case 14172: case 14176: case 14177: case 14178: case 14182: case 14183: case 14184: case 14188: case 14189: case 14190: case 14194: case 14195: case 14196: case 14200: case 14201: case 14202: case 14206: case 14207: case 14208: case 14212: case 14213: case 14214: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 14146: case 14147: case 14148: case 14152: case 14153: case 14154: case 14158: case 14159: case 14160: case 14164: case 14165: case 14166: case 14170: case 14171: case 14172: case 14176: case 14177: case 14178: case 14254: case 14255: case 14256: case 14260: case 14261: case 14262: case 14266: case 14267: case 14268: case 14272: case 14273: case 14274: case 14278: case 14279: case 14280: case 14284: case 14285: case 14286: case 14362: case 14363: case 14364: case 14368: case 14369: case 14370: case 14374: case 14375: case 14376: case 14380: case 14381: case 14382: case 14386: case 14387: case 14388: case 14392: case 14393: case 14394: return North::Low; - case 14110: case 14111: case 14112: case 14116: case 14117: case 14118: case 14122: case 14123: case 14124: case 14128: case 14129: case 14130: case 14134: case 14135: case 14136: case 14140: case 14141: case 14142: case 14218: case 14219: case 14220: case 14224: case 14225: case 14226: case 14230: case 14231: case 14232: case 14236: case 14237: case 14238: case 14242: case 14243: case 14244: case 14248: case 14249: case 14250: case 14326: case 14327: case 14328: case 14332: case 14333: case 14334: case 14338: case 14339: case 14340: case 14344: case 14345: case 14346: case 14350: case 14351: case 14352: case 14356: case 14357: case 14358: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 14122: case 14123: case 14124: case 14128: case 14129: case 14130: case 14158: case 14159: case 14160: case 14164: case 14165: case 14166: case 14194: case 14195: case 14196: case 14200: case 14201: case 14202: case 14230: case 14231: case 14232: case 14236: case 14237: case 14238: case 14266: case 14267: case 14268: case 14272: case 14273: case 14274: case 14302: case 14303: case 14304: case 14308: case 14309: case 14310: case 14338: case 14339: case 14340: case 14344: case 14345: case 14346: case 14374: case 14375: case 14376: case 14380: case 14381: case 14382: case 14410: case 14411: case 14412: case 14416: case 14417: case 14418: return South::Low; - case 14110: case 14111: case 14112: case 14116: case 14117: case 14118: case 14146: case 14147: case 14148: case 14152: case 14153: case 14154: case 14182: case 14183: case 14184: case 14188: case 14189: case 14190: case 14218: case 14219: case 14220: case 14224: case 14225: case 14226: case 14254: case 14255: case 14256: case 14260: case 14261: case 14262: case 14290: case 14291: case 14292: case 14296: case 14297: case 14298: case 14326: case 14327: case 14328: case 14332: case 14333: case 14334: case 14362: case 14363: case 14364: case 14368: case 14369: case 14370: case 14398: case 14399: case 14400: case 14404: case 14405: case 14406: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 14116: case 14117: case 14118: case 14128: case 14129: case 14130: case 14140: case 14141: case 14142: case 14152: case 14153: case 14154: case 14164: case 14165: case 14166: case 14176: case 14177: case 14178: case 14188: case 14189: case 14190: case 14200: case 14201: case 14202: case 14212: case 14213: case 14214: case 14224: case 14225: case 14226: case 14236: case 14237: case 14238: case 14248: case 14249: case 14250: case 14260: case 14261: case 14262: case 14272: case 14273: case 14274: case 14284: case 14285: case 14286: case 14296: case 14297: case 14298: case 14308: case 14309: case 14310: case 14320: case 14321: case 14322: case 14332: case 14333: case 14334: case 14344: case 14345: case 14346: case 14356: case 14357: case 14358: case 14368: case 14369: case 14370: case 14380: case 14381: case 14382: case 14392: case 14393: case 14394: case 14404: case 14405: case 14406: case 14416: case 14417: case 14418: case 14428: case 14429: case 14430: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 14111: case 14117: case 14123: case 14129: case 14135: case 14141: case 14147: case 14153: case 14159: case 14165: case 14171: case 14177: case 14183: case 14189: case 14195: case 14201: case 14207: case 14213: case 14219: case 14225: case 14231: case 14237: case 14243: case 14249: case 14255: case 14261: case 14267: case 14273: case 14279: case 14285: case 14291: case 14297: case 14303: case 14309: case 14315: case 14321: case 14327: case 14333: case 14339: case 14345: case 14351: case 14357: case 14363: case 14369: case 14375: case 14381: case 14387: case 14393: case 14399: case 14405: case 14411: case 14417: case 14423: case 14429: return West::Low; - case 14110: case 14116: case 14122: case 14128: case 14134: case 14140: case 14146: case 14152: case 14158: case 14164: case 14170: case 14176: case 14182: case 14188: case 14194: case 14200: case 14206: case 14212: case 14218: case 14224: case 14230: case 14236: case 14242: case 14248: case 14254: case 14260: case 14266: case 14272: case 14278: case 14284: case 14290: case 14296: case 14302: case 14308: case 14314: case 14320: case 14326: case 14332: case 14338: case 14344: case 14350: case 14356: case 14362: case 14368: case 14374: case 14380: case 14386: case 14392: case 14398: case 14404: case 14410: case 14416: case 14422: case 14428: return West::None; - default: return West::Tall; - } - } - } - namespace EndStoneBricks - { - } - namespace EnderChest - { - BlockState EnderChest() - { - return 5252; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5256: return eBlockFace::BLOCK_FACE_XM; - case 5258: return eBlockFace::BLOCK_FACE_XP; - case 5252: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Farmland - { - BlockState Farmland() - { - return 3365; - } - unsigned char Moisture(const BlockState Block) - { - switch (Block.ID) - { - case 3365: return 0; - case 3366: return 1; - case 3367: return 2; - case 3368: return 3; - case 3369: return 4; - case 3370: return 5; - case 3371: return 6; - default: return 7; - } - } - } - namespace Fern - { - } - namespace Fire - { - BlockState Fire() - { - return 1471; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 1440: case 1441: case 1442: case 1443: case 1444: case 1445: case 1446: case 1447: case 1448: case 1449: case 1450: case 1451: case 1452: case 1453: case 1454: case 1455: case 1456: case 1457: case 1458: case 1459: case 1460: case 1461: case 1462: case 1463: case 1464: case 1465: case 1466: case 1467: case 1468: case 1469: case 1470: case 1471: return 0; - case 1472: case 1473: case 1474: case 1475: case 1476: case 1477: case 1478: case 1479: case 1480: case 1481: case 1482: case 1483: case 1484: case 1485: case 1486: case 1487: case 1488: case 1489: case 1490: case 1491: case 1492: case 1493: case 1494: case 1495: case 1496: case 1497: case 1498: case 1499: case 1500: case 1501: case 1502: case 1503: return 1; - case 1760: case 1761: case 1762: case 1763: case 1764: case 1765: case 1766: case 1767: case 1768: case 1769: case 1770: case 1771: case 1772: case 1773: case 1774: case 1775: case 1776: case 1777: case 1778: case 1779: case 1780: case 1781: case 1782: case 1783: case 1784: case 1785: case 1786: case 1787: case 1788: case 1789: case 1790: case 1791: return 10; - case 1792: case 1793: case 1794: case 1795: case 1796: case 1797: case 1798: case 1799: case 1800: case 1801: case 1802: case 1803: case 1804: case 1805: case 1806: case 1807: case 1808: case 1809: case 1810: case 1811: case 1812: case 1813: case 1814: case 1815: case 1816: case 1817: case 1818: case 1819: case 1820: case 1821: case 1822: case 1823: return 11; - case 1824: case 1825: case 1826: case 1827: case 1828: case 1829: case 1830: case 1831: case 1832: case 1833: case 1834: case 1835: case 1836: case 1837: case 1838: case 1839: case 1840: case 1841: case 1842: case 1843: case 1844: case 1845: case 1846: case 1847: case 1848: case 1849: case 1850: case 1851: case 1852: case 1853: case 1854: case 1855: return 12; - case 1856: case 1857: case 1858: case 1859: case 1860: case 1861: case 1862: case 1863: case 1864: case 1865: case 1866: case 1867: case 1868: case 1869: case 1870: case 1871: case 1872: case 1873: case 1874: case 1875: case 1876: case 1877: case 1878: case 1879: case 1880: case 1881: case 1882: case 1883: case 1884: case 1885: case 1886: case 1887: return 13; - case 1888: case 1889: case 1890: case 1891: case 1892: case 1893: case 1894: case 1895: case 1896: case 1897: case 1898: case 1899: case 1900: case 1901: case 1902: case 1903: case 1904: case 1905: case 1906: case 1907: case 1908: case 1909: case 1910: case 1911: case 1912: case 1913: case 1914: case 1915: case 1916: case 1917: case 1918: case 1919: return 14; - case 1920: case 1921: case 1922: case 1923: case 1924: case 1925: case 1926: case 1927: case 1928: case 1929: case 1930: case 1931: case 1932: case 1933: case 1934: case 1935: case 1936: case 1937: case 1938: case 1939: case 1940: case 1941: case 1942: case 1943: case 1944: case 1945: case 1946: case 1947: case 1948: case 1949: case 1950: case 1951: return 15; - case 1504: case 1505: case 1506: case 1507: case 1508: case 1509: case 1510: case 1511: case 1512: case 1513: case 1514: case 1515: case 1516: case 1517: case 1518: case 1519: case 1520: case 1521: case 1522: case 1523: case 1524: case 1525: case 1526: case 1527: case 1528: case 1529: case 1530: case 1531: case 1532: case 1533: case 1534: case 1535: return 2; - case 1536: case 1537: case 1538: case 1539: case 1540: case 1541: case 1542: case 1543: case 1544: case 1545: case 1546: case 1547: case 1548: case 1549: case 1550: case 1551: case 1552: case 1553: case 1554: case 1555: case 1556: case 1557: case 1558: case 1559: case 1560: case 1561: case 1562: case 1563: case 1564: case 1565: case 1566: case 1567: return 3; - case 1568: case 1569: case 1570: case 1571: case 1572: case 1573: case 1574: case 1575: case 1576: case 1577: case 1578: case 1579: case 1580: case 1581: case 1582: case 1583: case 1584: case 1585: case 1586: case 1587: case 1588: case 1589: case 1590: case 1591: case 1592: case 1593: case 1594: case 1595: case 1596: case 1597: case 1598: case 1599: return 4; - case 1600: case 1601: case 1602: case 1603: case 1604: case 1605: case 1606: case 1607: case 1608: case 1609: case 1610: case 1611: case 1612: case 1613: case 1614: case 1615: case 1616: case 1617: case 1618: case 1619: case 1620: case 1621: case 1622: case 1623: case 1624: case 1625: case 1626: case 1627: case 1628: case 1629: case 1630: case 1631: return 5; - case 1632: case 1633: case 1634: case 1635: case 1636: case 1637: case 1638: case 1639: case 1640: case 1641: case 1642: case 1643: case 1644: case 1645: case 1646: case 1647: case 1648: case 1649: case 1650: case 1651: case 1652: case 1653: case 1654: case 1655: case 1656: case 1657: case 1658: case 1659: case 1660: case 1661: case 1662: case 1663: return 6; - case 1664: case 1665: case 1666: case 1667: case 1668: case 1669: case 1670: case 1671: case 1672: case 1673: case 1674: case 1675: case 1676: case 1677: case 1678: case 1679: case 1680: case 1681: case 1682: case 1683: case 1684: case 1685: case 1686: case 1687: case 1688: case 1689: case 1690: case 1691: case 1692: case 1693: case 1694: case 1695: return 7; - case 1696: case 1697: case 1698: case 1699: case 1700: case 1701: case 1702: case 1703: case 1704: case 1705: case 1706: case 1707: case 1708: case 1709: case 1710: case 1711: case 1712: case 1713: case 1714: case 1715: case 1716: case 1717: case 1718: case 1719: case 1720: case 1721: case 1722: case 1723: case 1724: case 1725: case 1726: case 1727: return 8; - default: return 9; - } - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 1456: case 1457: case 1458: case 1459: case 1460: case 1461: case 1462: case 1463: case 1464: case 1465: case 1466: case 1467: case 1468: case 1469: case 1470: case 1471: case 1488: case 1489: case 1490: case 1491: case 1492: case 1493: case 1494: case 1495: case 1496: case 1497: case 1498: case 1499: case 1500: case 1501: case 1502: case 1503: case 1520: case 1521: case 1522: case 1523: case 1524: case 1525: case 1526: case 1527: case 1528: case 1529: case 1530: case 1531: case 1532: case 1533: case 1534: case 1535: case 1552: case 1553: case 1554: case 1555: case 1556: case 1557: case 1558: case 1559: case 1560: case 1561: case 1562: case 1563: case 1564: case 1565: case 1566: case 1567: case 1584: case 1585: case 1586: case 1587: case 1588: case 1589: case 1590: case 1591: case 1592: case 1593: case 1594: case 1595: case 1596: case 1597: case 1598: case 1599: case 1616: case 1617: case 1618: case 1619: case 1620: case 1621: case 1622: case 1623: case 1624: case 1625: case 1626: case 1627: case 1628: case 1629: case 1630: case 1631: case 1648: case 1649: case 1650: case 1651: case 1652: case 1653: case 1654: case 1655: case 1656: case 1657: case 1658: case 1659: case 1660: case 1661: case 1662: case 1663: case 1680: case 1681: case 1682: case 1683: case 1684: case 1685: case 1686: case 1687: case 1688: case 1689: case 1690: case 1691: case 1692: case 1693: case 1694: case 1695: case 1712: case 1713: case 1714: case 1715: case 1716: case 1717: case 1718: case 1719: case 1720: case 1721: case 1722: case 1723: case 1724: case 1725: case 1726: case 1727: case 1744: case 1745: case 1746: case 1747: case 1748: case 1749: case 1750: case 1751: case 1752: case 1753: case 1754: case 1755: case 1756: case 1757: case 1758: case 1759: case 1776: case 1777: case 1778: case 1779: case 1780: case 1781: case 1782: case 1783: case 1784: case 1785: case 1786: case 1787: case 1788: case 1789: case 1790: case 1791: case 1808: case 1809: case 1810: case 1811: case 1812: case 1813: case 1814: case 1815: case 1816: case 1817: case 1818: case 1819: case 1820: case 1821: case 1822: case 1823: case 1840: case 1841: case 1842: case 1843: case 1844: case 1845: case 1846: case 1847: case 1848: case 1849: case 1850: case 1851: case 1852: case 1853: case 1854: case 1855: case 1872: case 1873: case 1874: case 1875: case 1876: case 1877: case 1878: case 1879: case 1880: case 1881: case 1882: case 1883: case 1884: case 1885: case 1886: case 1887: case 1904: case 1905: case 1906: case 1907: case 1908: case 1909: case 1910: case 1911: case 1912: case 1913: case 1914: case 1915: case 1916: case 1917: case 1918: case 1919: case 1936: case 1937: case 1938: case 1939: case 1940: case 1941: case 1942: case 1943: case 1944: case 1945: case 1946: case 1947: case 1948: case 1949: case 1950: case 1951: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 1448: case 1449: case 1450: case 1451: case 1452: case 1453: case 1454: case 1455: case 1464: case 1465: case 1466: case 1467: case 1468: case 1469: case 1470: case 1471: case 1480: case 1481: case 1482: case 1483: case 1484: case 1485: case 1486: case 1487: case 1496: case 1497: case 1498: case 1499: case 1500: case 1501: case 1502: case 1503: case 1512: case 1513: case 1514: case 1515: case 1516: case 1517: case 1518: case 1519: case 1528: case 1529: case 1530: case 1531: case 1532: case 1533: case 1534: case 1535: case 1544: case 1545: case 1546: case 1547: case 1548: case 1549: case 1550: case 1551: case 1560: case 1561: case 1562: case 1563: case 1564: case 1565: case 1566: case 1567: case 1576: case 1577: case 1578: case 1579: case 1580: case 1581: case 1582: case 1583: case 1592: case 1593: case 1594: case 1595: case 1596: case 1597: case 1598: case 1599: case 1608: case 1609: case 1610: case 1611: case 1612: case 1613: case 1614: case 1615: case 1624: case 1625: case 1626: case 1627: case 1628: case 1629: case 1630: case 1631: case 1640: case 1641: case 1642: case 1643: case 1644: case 1645: case 1646: case 1647: case 1656: case 1657: case 1658: case 1659: case 1660: case 1661: case 1662: case 1663: case 1672: case 1673: case 1674: case 1675: case 1676: case 1677: case 1678: case 1679: case 1688: case 1689: case 1690: case 1691: case 1692: case 1693: case 1694: case 1695: case 1704: case 1705: case 1706: case 1707: case 1708: case 1709: case 1710: case 1711: case 1720: case 1721: case 1722: case 1723: case 1724: case 1725: case 1726: case 1727: case 1736: case 1737: case 1738: case 1739: case 1740: case 1741: case 1742: case 1743: case 1752: case 1753: case 1754: case 1755: case 1756: case 1757: case 1758: case 1759: case 1768: case 1769: case 1770: case 1771: case 1772: case 1773: case 1774: case 1775: case 1784: case 1785: case 1786: case 1787: case 1788: case 1789: case 1790: case 1791: case 1800: case 1801: case 1802: case 1803: case 1804: case 1805: case 1806: case 1807: case 1816: case 1817: case 1818: case 1819: case 1820: case 1821: case 1822: case 1823: case 1832: case 1833: case 1834: case 1835: case 1836: case 1837: case 1838: case 1839: case 1848: case 1849: case 1850: case 1851: case 1852: case 1853: case 1854: case 1855: case 1864: case 1865: case 1866: case 1867: case 1868: case 1869: case 1870: case 1871: case 1880: case 1881: case 1882: case 1883: case 1884: case 1885: case 1886: case 1887: case 1896: case 1897: case 1898: case 1899: case 1900: case 1901: case 1902: case 1903: case 1912: case 1913: case 1914: case 1915: case 1916: case 1917: case 1918: case 1919: case 1928: case 1929: case 1930: case 1931: case 1932: case 1933: case 1934: case 1935: case 1944: case 1945: case 1946: case 1947: case 1948: case 1949: case 1950: case 1951: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 1444: case 1445: case 1446: case 1447: case 1452: case 1453: case 1454: case 1455: case 1460: case 1461: case 1462: case 1463: case 1468: case 1469: case 1470: case 1471: case 1476: case 1477: case 1478: case 1479: case 1484: case 1485: case 1486: case 1487: case 1492: case 1493: case 1494: case 1495: case 1500: case 1501: case 1502: case 1503: case 1508: case 1509: case 1510: case 1511: case 1516: case 1517: case 1518: case 1519: case 1524: case 1525: case 1526: case 1527: case 1532: case 1533: case 1534: case 1535: case 1540: case 1541: case 1542: case 1543: case 1548: case 1549: case 1550: case 1551: case 1556: case 1557: case 1558: case 1559: case 1564: case 1565: case 1566: case 1567: case 1572: case 1573: case 1574: case 1575: case 1580: case 1581: case 1582: case 1583: case 1588: case 1589: case 1590: case 1591: case 1596: case 1597: case 1598: case 1599: case 1604: case 1605: case 1606: case 1607: case 1612: case 1613: case 1614: case 1615: case 1620: case 1621: case 1622: case 1623: case 1628: case 1629: case 1630: case 1631: case 1636: case 1637: case 1638: case 1639: case 1644: case 1645: case 1646: case 1647: case 1652: case 1653: case 1654: case 1655: case 1660: case 1661: case 1662: case 1663: case 1668: case 1669: case 1670: case 1671: case 1676: case 1677: case 1678: case 1679: case 1684: case 1685: case 1686: case 1687: case 1692: case 1693: case 1694: case 1695: case 1700: case 1701: case 1702: case 1703: case 1708: case 1709: case 1710: case 1711: case 1716: case 1717: case 1718: case 1719: case 1724: case 1725: case 1726: case 1727: case 1732: case 1733: case 1734: case 1735: case 1740: case 1741: case 1742: case 1743: case 1748: case 1749: case 1750: case 1751: case 1756: case 1757: case 1758: case 1759: case 1764: case 1765: case 1766: case 1767: case 1772: case 1773: case 1774: case 1775: case 1780: case 1781: case 1782: case 1783: case 1788: case 1789: case 1790: case 1791: case 1796: case 1797: case 1798: case 1799: case 1804: case 1805: case 1806: case 1807: case 1812: case 1813: case 1814: case 1815: case 1820: case 1821: case 1822: case 1823: case 1828: case 1829: case 1830: case 1831: case 1836: case 1837: case 1838: case 1839: case 1844: case 1845: case 1846: case 1847: case 1852: case 1853: case 1854: case 1855: case 1860: case 1861: case 1862: case 1863: case 1868: case 1869: case 1870: case 1871: case 1876: case 1877: case 1878: case 1879: case 1884: case 1885: case 1886: case 1887: case 1892: case 1893: case 1894: case 1895: case 1900: case 1901: case 1902: case 1903: case 1908: case 1909: case 1910: case 1911: case 1916: case 1917: case 1918: case 1919: case 1924: case 1925: case 1926: case 1927: case 1932: case 1933: case 1934: case 1935: case 1940: case 1941: case 1942: case 1943: case 1948: case 1949: case 1950: case 1951: return false; - default: return true; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 1442: case 1443: case 1446: case 1447: case 1450: case 1451: case 1454: case 1455: case 1458: case 1459: case 1462: case 1463: case 1466: case 1467: case 1470: case 1471: case 1474: case 1475: case 1478: case 1479: case 1482: case 1483: case 1486: case 1487: case 1490: case 1491: case 1494: case 1495: case 1498: case 1499: case 1502: case 1503: case 1506: case 1507: case 1510: case 1511: case 1514: case 1515: case 1518: case 1519: case 1522: case 1523: case 1526: case 1527: case 1530: case 1531: case 1534: case 1535: case 1538: case 1539: case 1542: case 1543: case 1546: case 1547: case 1550: case 1551: case 1554: case 1555: case 1558: case 1559: case 1562: case 1563: case 1566: case 1567: case 1570: case 1571: case 1574: case 1575: case 1578: case 1579: case 1582: case 1583: case 1586: case 1587: case 1590: case 1591: case 1594: case 1595: case 1598: case 1599: case 1602: case 1603: case 1606: case 1607: case 1610: case 1611: case 1614: case 1615: case 1618: case 1619: case 1622: case 1623: case 1626: case 1627: case 1630: case 1631: case 1634: case 1635: case 1638: case 1639: case 1642: case 1643: case 1646: case 1647: case 1650: case 1651: case 1654: case 1655: case 1658: case 1659: case 1662: case 1663: case 1666: case 1667: case 1670: case 1671: case 1674: case 1675: case 1678: case 1679: case 1682: case 1683: case 1686: case 1687: case 1690: case 1691: case 1694: case 1695: case 1698: case 1699: case 1702: case 1703: case 1706: case 1707: case 1710: case 1711: case 1714: case 1715: case 1718: case 1719: case 1722: case 1723: case 1726: case 1727: case 1730: case 1731: case 1734: case 1735: case 1738: case 1739: case 1742: case 1743: case 1746: case 1747: case 1750: case 1751: case 1754: case 1755: case 1758: case 1759: case 1762: case 1763: case 1766: case 1767: case 1770: case 1771: case 1774: case 1775: case 1778: case 1779: case 1782: case 1783: case 1786: case 1787: case 1790: case 1791: case 1794: case 1795: case 1798: case 1799: case 1802: case 1803: case 1806: case 1807: case 1810: case 1811: case 1814: case 1815: case 1818: case 1819: case 1822: case 1823: case 1826: case 1827: case 1830: case 1831: case 1834: case 1835: case 1838: case 1839: case 1842: case 1843: case 1846: case 1847: case 1850: case 1851: case 1854: case 1855: case 1858: case 1859: case 1862: case 1863: case 1866: case 1867: case 1870: case 1871: case 1874: case 1875: case 1878: case 1879: case 1882: case 1883: case 1886: case 1887: case 1890: case 1891: case 1894: case 1895: case 1898: case 1899: case 1902: case 1903: case 1906: case 1907: case 1910: case 1911: case 1914: case 1915: case 1918: case 1919: case 1922: case 1923: case 1926: case 1927: case 1930: case 1931: case 1934: case 1935: case 1938: case 1939: case 1942: case 1943: case 1946: case 1947: case 1950: case 1951: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 1441: case 1443: case 1445: case 1447: case 1449: case 1451: case 1453: case 1455: case 1457: case 1459: case 1461: case 1463: case 1465: case 1467: case 1469: case 1471: case 1473: case 1475: case 1477: case 1479: case 1481: case 1483: case 1485: case 1487: case 1489: case 1491: case 1493: case 1495: case 1497: case 1499: case 1501: case 1503: case 1505: case 1507: case 1509: case 1511: case 1513: case 1515: case 1517: case 1519: case 1521: case 1523: case 1525: case 1527: case 1529: case 1531: case 1533: case 1535: case 1537: case 1539: case 1541: case 1543: case 1545: case 1547: case 1549: case 1551: case 1553: case 1555: case 1557: case 1559: case 1561: case 1563: case 1565: case 1567: case 1569: case 1571: case 1573: case 1575: case 1577: case 1579: case 1581: case 1583: case 1585: case 1587: case 1589: case 1591: case 1593: case 1595: case 1597: case 1599: case 1601: case 1603: case 1605: case 1607: case 1609: case 1611: case 1613: case 1615: case 1617: case 1619: case 1621: case 1623: case 1625: case 1627: case 1629: case 1631: case 1633: case 1635: case 1637: case 1639: case 1641: case 1643: case 1645: case 1647: case 1649: case 1651: case 1653: case 1655: case 1657: case 1659: case 1661: case 1663: case 1665: case 1667: case 1669: case 1671: case 1673: case 1675: case 1677: case 1679: case 1681: case 1683: case 1685: case 1687: case 1689: case 1691: case 1693: case 1695: case 1697: case 1699: case 1701: case 1703: case 1705: case 1707: case 1709: case 1711: case 1713: case 1715: case 1717: case 1719: case 1721: case 1723: case 1725: case 1727: case 1729: case 1731: case 1733: case 1735: case 1737: case 1739: case 1741: case 1743: case 1745: case 1747: case 1749: case 1751: case 1753: case 1755: case 1757: case 1759: case 1761: case 1763: case 1765: case 1767: case 1769: case 1771: case 1773: case 1775: case 1777: case 1779: case 1781: case 1783: case 1785: case 1787: case 1789: case 1791: case 1793: case 1795: case 1797: case 1799: case 1801: case 1803: case 1805: case 1807: case 1809: case 1811: case 1813: case 1815: case 1817: case 1819: case 1821: case 1823: case 1825: case 1827: case 1829: case 1831: case 1833: case 1835: case 1837: case 1839: case 1841: case 1843: case 1845: case 1847: case 1849: case 1851: case 1853: case 1855: case 1857: case 1859: case 1861: case 1863: case 1865: case 1867: case 1869: case 1871: case 1873: case 1875: case 1877: case 1879: case 1881: case 1883: case 1885: case 1887: case 1889: case 1891: case 1893: case 1895: case 1897: case 1899: case 1901: case 1903: case 1905: case 1907: case 1909: case 1911: case 1913: case 1915: case 1917: case 1919: case 1921: case 1923: case 1925: case 1927: case 1929: case 1931: case 1933: case 1935: case 1937: case 1939: case 1941: case 1943: case 1945: case 1947: case 1949: case 1951: return false; - default: return true; - } - } - } - namespace FireCoral - { - } - namespace FireCoralBlock - { - } - namespace FireCoralFan - { - } - namespace FireCoralWallFan - { - BlockState FireCoralWallFan() - { - return 9624; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9629: return eBlockFace::BLOCK_FACE_XM; - case 9631: return eBlockFace::BLOCK_FACE_XP; - case 9625: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace FletchingTable - { - } - namespace FlowerPot - { - } - namespace FrostedIce - { - BlockState FrostedIce() - { - return 9249; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 9249: return 0; - case 9250: return 1; - case 9251: return 2; - default: return 3; - } - } - } - namespace Furnace - { - BlockState Furnace() - { - return 3374; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3377: case 3378: return eBlockFace::BLOCK_FACE_XM; - case 3379: case 3380: return eBlockFace::BLOCK_FACE_XP; - case 3373: case 3374: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 3374: case 3376: case 3378: case 3380: return false; - default: return true; - } - } - } - namespace GildedBlackstone - { - } - namespace Glass - { - } - namespace GlassPane - { - BlockState GlassPane() - { - return 4762; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 4749: case 4750: case 4753: case 4754: case 4757: case 4758: case 4761: case 4762: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 4741: case 4742: case 4745: case 4746: case 4757: case 4758: case 4761: case 4762: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 4737: case 4738: case 4745: case 4746: case 4753: case 4754: case 4761: case 4762: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 4734: case 4738: case 4742: case 4746: case 4750: case 4754: case 4758: case 4762: return false; - default: return true; - } - } - } - namespace Glowstone - { - } - namespace GoldBlock - { - } - namespace GoldOre - { - } - namespace Granite - { - } - namespace GraniteSlab - { - BlockState GraniteSlab() - { - return 10840; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10840: return Type::Bottom; - case 10842: return Type::Double; - default: return Type::Top; - } - } - } - namespace GraniteStairs - { - BlockState GraniteStairs() - { - return 10400; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10430: case 10432: case 10434: case 10436: case 10438: case 10440: case 10442: case 10444: case 10446: case 10448: return eBlockFace::BLOCK_FACE_XM; - case 10450: case 10452: case 10454: case 10456: case 10458: case 10460: case 10462: case 10464: case 10466: case 10468: return eBlockFace::BLOCK_FACE_XP; - case 10390: case 10392: case 10394: case 10396: case 10398: case 10400: case 10402: case 10404: case 10406: case 10408: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10400: case 10402: case 10404: case 10406: case 10408: case 10420: case 10422: case 10424: case 10426: case 10428: case 10440: case 10442: case 10444: case 10446: case 10448: case 10460: case 10462: case 10464: case 10466: case 10468: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10392: case 10402: case 10412: case 10422: case 10432: case 10442: case 10452: case 10462: return Shape::InnerLeft; - case 10394: case 10404: case 10414: case 10424: case 10434: case 10444: case 10454: case 10464: return Shape::InnerRight; - case 10396: case 10406: case 10416: case 10426: case 10436: case 10446: case 10456: case 10466: return Shape::OuterLeft; - case 10398: case 10408: case 10418: case 10428: case 10438: case 10448: case 10458: case 10468: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace GraniteWall - { - BlockState GraniteWall() - { - return 12166; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 12274: case 12275: case 12276: case 12280: case 12281: case 12282: case 12286: case 12287: case 12288: case 12292: case 12293: case 12294: case 12298: case 12299: case 12300: case 12304: case 12305: case 12306: case 12310: case 12311: case 12312: case 12316: case 12317: case 12318: case 12322: case 12323: case 12324: case 12328: case 12329: case 12330: case 12334: case 12335: case 12336: case 12340: case 12341: case 12342: case 12346: case 12347: case 12348: case 12352: case 12353: case 12354: case 12358: case 12359: case 12360: case 12364: case 12365: case 12366: case 12370: case 12371: case 12372: case 12376: case 12377: case 12378: return East::Low; - case 12166: case 12167: case 12168: case 12172: case 12173: case 12174: case 12178: case 12179: case 12180: case 12184: case 12185: case 12186: case 12190: case 12191: case 12192: case 12196: case 12197: case 12198: case 12202: case 12203: case 12204: case 12208: case 12209: case 12210: case 12214: case 12215: case 12216: case 12220: case 12221: case 12222: case 12226: case 12227: case 12228: case 12232: case 12233: case 12234: case 12238: case 12239: case 12240: case 12244: case 12245: case 12246: case 12250: case 12251: case 12252: case 12256: case 12257: case 12258: case 12262: case 12263: case 12264: case 12268: case 12269: case 12270: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 12202: case 12203: case 12204: case 12208: case 12209: case 12210: case 12214: case 12215: case 12216: case 12220: case 12221: case 12222: case 12226: case 12227: case 12228: case 12232: case 12233: case 12234: case 12310: case 12311: case 12312: case 12316: case 12317: case 12318: case 12322: case 12323: case 12324: case 12328: case 12329: case 12330: case 12334: case 12335: case 12336: case 12340: case 12341: case 12342: case 12418: case 12419: case 12420: case 12424: case 12425: case 12426: case 12430: case 12431: case 12432: case 12436: case 12437: case 12438: case 12442: case 12443: case 12444: case 12448: case 12449: case 12450: return North::Low; - case 12166: case 12167: case 12168: case 12172: case 12173: case 12174: case 12178: case 12179: case 12180: case 12184: case 12185: case 12186: case 12190: case 12191: case 12192: case 12196: case 12197: case 12198: case 12274: case 12275: case 12276: case 12280: case 12281: case 12282: case 12286: case 12287: case 12288: case 12292: case 12293: case 12294: case 12298: case 12299: case 12300: case 12304: case 12305: case 12306: case 12382: case 12383: case 12384: case 12388: case 12389: case 12390: case 12394: case 12395: case 12396: case 12400: case 12401: case 12402: case 12406: case 12407: case 12408: case 12412: case 12413: case 12414: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 12178: case 12179: case 12180: case 12184: case 12185: case 12186: case 12214: case 12215: case 12216: case 12220: case 12221: case 12222: case 12250: case 12251: case 12252: case 12256: case 12257: case 12258: case 12286: case 12287: case 12288: case 12292: case 12293: case 12294: case 12322: case 12323: case 12324: case 12328: case 12329: case 12330: case 12358: case 12359: case 12360: case 12364: case 12365: case 12366: case 12394: case 12395: case 12396: case 12400: case 12401: case 12402: case 12430: case 12431: case 12432: case 12436: case 12437: case 12438: case 12466: case 12467: case 12468: case 12472: case 12473: case 12474: return South::Low; - case 12166: case 12167: case 12168: case 12172: case 12173: case 12174: case 12202: case 12203: case 12204: case 12208: case 12209: case 12210: case 12238: case 12239: case 12240: case 12244: case 12245: case 12246: case 12274: case 12275: case 12276: case 12280: case 12281: case 12282: case 12310: case 12311: case 12312: case 12316: case 12317: case 12318: case 12346: case 12347: case 12348: case 12352: case 12353: case 12354: case 12382: case 12383: case 12384: case 12388: case 12389: case 12390: case 12418: case 12419: case 12420: case 12424: case 12425: case 12426: case 12454: case 12455: case 12456: case 12460: case 12461: case 12462: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 12172: case 12173: case 12174: case 12184: case 12185: case 12186: case 12196: case 12197: case 12198: case 12208: case 12209: case 12210: case 12220: case 12221: case 12222: case 12232: case 12233: case 12234: case 12244: case 12245: case 12246: case 12256: case 12257: case 12258: case 12268: case 12269: case 12270: case 12280: case 12281: case 12282: case 12292: case 12293: case 12294: case 12304: case 12305: case 12306: case 12316: case 12317: case 12318: case 12328: case 12329: case 12330: case 12340: case 12341: case 12342: case 12352: case 12353: case 12354: case 12364: case 12365: case 12366: case 12376: case 12377: case 12378: case 12388: case 12389: case 12390: case 12400: case 12401: case 12402: case 12412: case 12413: case 12414: case 12424: case 12425: case 12426: case 12436: case 12437: case 12438: case 12448: case 12449: case 12450: case 12460: case 12461: case 12462: case 12472: case 12473: case 12474: case 12484: case 12485: case 12486: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 12167: case 12173: case 12179: case 12185: case 12191: case 12197: case 12203: case 12209: case 12215: case 12221: case 12227: case 12233: case 12239: case 12245: case 12251: case 12257: case 12263: case 12269: case 12275: case 12281: case 12287: case 12293: case 12299: case 12305: case 12311: case 12317: case 12323: case 12329: case 12335: case 12341: case 12347: case 12353: case 12359: case 12365: case 12371: case 12377: case 12383: case 12389: case 12395: case 12401: case 12407: case 12413: case 12419: case 12425: case 12431: case 12437: case 12443: case 12449: case 12455: case 12461: case 12467: case 12473: case 12479: case 12485: return West::Low; - case 12166: case 12172: case 12178: case 12184: case 12190: case 12196: case 12202: case 12208: case 12214: case 12220: case 12226: case 12232: case 12238: case 12244: case 12250: case 12256: case 12262: case 12268: case 12274: case 12280: case 12286: case 12292: case 12298: case 12304: case 12310: case 12316: case 12322: case 12328: case 12334: case 12340: case 12346: case 12352: case 12358: case 12364: case 12370: case 12376: case 12382: case 12388: case 12394: case 12400: case 12406: case 12412: case 12418: case 12424: case 12430: case 12436: case 12442: case 12448: case 12454: case 12460: case 12466: case 12472: case 12478: case 12484: return West::None; - default: return West::Tall; - } - } - } - namespace Grass - { - } - namespace GrassBlock - { - BlockState GrassBlock() - { - return 9; - } - bool Snowy(const BlockState Block) - { - switch (Block.ID) - { - case 9: return false; - default: return true; - } - } - } - namespace GrassPath - { - } - namespace Gravel - { - } - namespace GrayBanner - { - BlockState GrayBanner() - { - return 8009; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8009: return 0; - case 8010: return 1; - case 8019: return 10; - case 8020: return 11; - case 8021: return 12; - case 8022: return 13; - case 8023: return 14; - case 8024: return 15; - case 8011: return 2; - case 8012: return 3; - case 8013: return 4; - case 8014: return 5; - case 8015: return 6; - case 8016: return 7; - case 8017: return 8; - default: return 9; - } - } - } - namespace GrayBed - { - BlockState GrayBed() - { - return 1164; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1169: case 1170: case 1171: case 1172: return eBlockFace::BLOCK_FACE_XM; - case 1173: case 1174: case 1175: case 1176: return eBlockFace::BLOCK_FACE_XP; - case 1161: case 1162: case 1163: case 1164: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1163: case 1164: case 1167: case 1168: case 1171: case 1172: case 1175: case 1176: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1162: case 1164: case 1166: case 1168: case 1170: case 1172: case 1174: case 1176: return Part::Foot; - default: return Part::Head; - } - } - } - namespace GrayCarpet - { - } - namespace GrayConcrete - { - } - namespace GrayConcretePowder - { - } - namespace GrayGlazedTerracotta - { - BlockState GrayGlazedTerracotta() - { - return 9402; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9404: return eBlockFace::BLOCK_FACE_XM; - case 9405: return eBlockFace::BLOCK_FACE_XP; - case 9402: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace GrayShulkerBox - { - BlockState GrayShulkerBox() - { - return 9324; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9323: return eBlockFace::BLOCK_FACE_XM; - case 9321: return eBlockFace::BLOCK_FACE_XP; - case 9325: return eBlockFace::BLOCK_FACE_YM; - case 9324: return eBlockFace::BLOCK_FACE_YP; - case 9320: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace GrayStainedGlass - { - } - namespace GrayStainedGlassPane - { - BlockState GrayStainedGlassPane() - { - return 7118; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7105: case 7106: case 7109: case 7110: case 7113: case 7114: case 7117: case 7118: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7097: case 7098: case 7101: case 7102: case 7113: case 7114: case 7117: case 7118: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7093: case 7094: case 7101: case 7102: case 7109: case 7110: case 7117: case 7118: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7090: case 7094: case 7098: case 7102: case 7106: case 7110: case 7114: case 7118: return false; - default: return true; - } - } - } - namespace GrayTerracotta - { - } - namespace GrayWallBanner - { - BlockState GrayWallBanner() - { - return 8181; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8183: return eBlockFace::BLOCK_FACE_XM; - case 8184: return eBlockFace::BLOCK_FACE_XP; - case 8181: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace GrayWool - { - } - namespace GreenBanner - { - BlockState GreenBanner() - { - return 8105; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8105: return 0; - case 8106: return 1; - case 8115: return 10; - case 8116: return 11; - case 8117: return 12; - case 8118: return 13; - case 8119: return 14; - case 8120: return 15; - case 8107: return 2; - case 8108: return 3; - case 8109: return 4; - case 8110: return 5; - case 8111: return 6; - case 8112: return 7; - case 8113: return 8; - default: return 9; - } - } - } - namespace GreenBed - { - BlockState GreenBed() - { - return 1260; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1265: case 1266: case 1267: case 1268: return eBlockFace::BLOCK_FACE_XM; - case 1269: case 1270: case 1271: case 1272: return eBlockFace::BLOCK_FACE_XP; - case 1257: case 1258: case 1259: case 1260: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1259: case 1260: case 1263: case 1264: case 1267: case 1268: case 1271: case 1272: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1258: case 1260: case 1262: case 1264: case 1266: case 1268: case 1270: case 1272: return Part::Foot; - default: return Part::Head; - } - } - } - namespace GreenCarpet - { - } - namespace GreenConcrete - { - } - namespace GreenConcretePowder - { - } - namespace GreenGlazedTerracotta - { - BlockState GreenGlazedTerracotta() - { - return 9426; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9428: return eBlockFace::BLOCK_FACE_XM; - case 9429: return eBlockFace::BLOCK_FACE_XP; - case 9426: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace GreenShulkerBox - { - BlockState GreenShulkerBox() - { - return 9360; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9359: return eBlockFace::BLOCK_FACE_XM; - case 9357: return eBlockFace::BLOCK_FACE_XP; - case 9361: return eBlockFace::BLOCK_FACE_YM; - case 9360: return eBlockFace::BLOCK_FACE_YP; - case 9356: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace GreenStainedGlass - { - } - namespace GreenStainedGlassPane - { - BlockState GreenStainedGlassPane() - { - return 7310; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7297: case 7298: case 7301: case 7302: case 7305: case 7306: case 7309: case 7310: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7289: case 7290: case 7293: case 7294: case 7305: case 7306: case 7309: case 7310: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7285: case 7286: case 7293: case 7294: case 7301: case 7302: case 7309: case 7310: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7282: case 7286: case 7290: case 7294: case 7298: case 7302: case 7306: case 7310: return false; - default: return true; - } - } - } - namespace GreenTerracotta - { - } - namespace GreenWallBanner - { - BlockState GreenWallBanner() - { - return 8205; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8207: return eBlockFace::BLOCK_FACE_XM; - case 8208: return eBlockFace::BLOCK_FACE_XP; - case 8205: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace GreenWool - { - } - namespace Grindstone - { - BlockState Grindstone() - { - return 14825; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 14829: case 14830: case 14831: case 14832: return Face::Ceiling; - case 14821: case 14822: case 14823: case 14824: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14823: case 14827: case 14831: return eBlockFace::BLOCK_FACE_XM; - case 14824: case 14828: case 14832: return eBlockFace::BLOCK_FACE_XP; - case 14821: case 14825: case 14829: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace HayBale - { - BlockState HayBale() - { - return 7864; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 7863: return Axis::X; - case 7864: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace HeavyWeightedPressurePlate - { - BlockState HeavyWeightedPressurePlate() - { - return 6662; - } - unsigned char Power(const BlockState Block) - { - switch (Block.ID) - { - case 6662: return 0; - case 6663: return 1; - case 6672: return 10; - case 6673: return 11; - case 6674: return 12; - case 6675: return 13; - case 6676: return 14; - case 6677: return 15; - case 6664: return 2; - case 6665: return 3; - case 6666: return 4; - case 6667: return 5; - case 6668: return 6; - case 6669: return 7; - case 6670: return 8; - default: return 9; - } - } - } - namespace HoneyBlock - { - } - namespace HoneycombBlock - { - } - namespace Hopper - { - BlockState Hopper() - { - return 6728; - } - bool Enabled(const BlockState Block) - { - switch (Block.ID) - { - case 6733: case 6734: case 6735: case 6736: case 6737: return false; - default: return true; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6731: case 6736: return eBlockFace::BLOCK_FACE_XM; - case 6732: case 6737: return eBlockFace::BLOCK_FACE_XP; - case 6728: case 6733: return eBlockFace::BLOCK_FACE_YM; - case 6729: case 6734: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace HornCoral - { - } - namespace HornCoralBlock - { - } - namespace HornCoralFan - { - } - namespace HornCoralWallFan - { - BlockState HornCoralWallFan() - { - return 9632; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9637: return eBlockFace::BLOCK_FACE_XM; - case 9639: return eBlockFace::BLOCK_FACE_XP; - case 9633: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Ice - { - } - namespace InfestedChiseledStoneBricks - { - } - namespace InfestedCobblestone - { - } - namespace InfestedCrackedStoneBricks - { - } - namespace InfestedMossyStoneBricks - { - } - namespace InfestedStone - { - } - namespace InfestedStoneBricks - { - } - namespace IronBars - { - BlockState IronBars() - { - return 4728; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 4715: case 4716: case 4719: case 4720: case 4723: case 4724: case 4727: case 4728: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 4707: case 4708: case 4711: case 4712: case 4723: case 4724: case 4727: case 4728: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 4703: case 4704: case 4711: case 4712: case 4719: case 4720: case 4727: case 4728: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 4700: case 4704: case 4708: case 4712: case 4716: case 4720: case 4724: case 4728: return false; - default: return true; - } - } - } - namespace IronBlock - { - } - namespace IronDoor - { - BlockState IronDoor() - { - return 3820; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3841: case 3842: case 3843: case 3844: case 3845: case 3846: case 3847: case 3848: case 3849: case 3850: case 3851: case 3852: case 3853: case 3854: case 3855: case 3856: return eBlockFace::BLOCK_FACE_XM; - case 3857: case 3858: case 3859: case 3860: case 3861: case 3862: case 3863: case 3864: case 3865: case 3866: case 3867: case 3868: case 3869: case 3870: case 3871: case 3872: return eBlockFace::BLOCK_FACE_XP; - case 3809: case 3810: case 3811: case 3812: case 3813: case 3814: case 3815: case 3816: case 3817: case 3818: case 3819: case 3820: case 3821: case 3822: case 3823: case 3824: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 3817: case 3818: case 3819: case 3820: case 3821: case 3822: case 3823: case 3824: case 3833: case 3834: case 3835: case 3836: case 3837: case 3838: case 3839: case 3840: case 3849: case 3850: case 3851: case 3852: case 3853: case 3854: case 3855: case 3856: case 3865: case 3866: case 3867: case 3868: case 3869: case 3870: case 3871: case 3872: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 3809: case 3810: case 3811: case 3812: case 3817: case 3818: case 3819: case 3820: case 3825: case 3826: case 3827: case 3828: case 3833: case 3834: case 3835: case 3836: case 3841: case 3842: case 3843: case 3844: case 3849: case 3850: case 3851: case 3852: case 3857: case 3858: case 3859: case 3860: case 3865: case 3866: case 3867: case 3868: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 3811: case 3812: case 3815: case 3816: case 3819: case 3820: case 3823: case 3824: case 3827: case 3828: case 3831: case 3832: case 3835: case 3836: case 3839: case 3840: case 3843: case 3844: case 3847: case 3848: case 3851: case 3852: case 3855: case 3856: case 3859: case 3860: case 3863: case 3864: case 3867: case 3868: case 3871: case 3872: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3810: case 3812: case 3814: case 3816: case 3818: case 3820: case 3822: case 3824: case 3826: case 3828: case 3830: case 3832: case 3834: case 3836: case 3838: case 3840: case 3842: case 3844: case 3846: case 3848: case 3850: case 3852: case 3854: case 3856: case 3858: case 3860: case 3862: case 3864: case 3866: case 3868: case 3870: case 3872: return false; - default: return true; - } - } - } - namespace IronOre - { - } - namespace IronTrapdoor - { - BlockState IronTrapdoor() - { - return 7552; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 7570: case 7572: case 7574: case 7576: case 7578: case 7580: case 7582: case 7584: return eBlockFace::BLOCK_FACE_XM; - case 7586: case 7588: case 7590: case 7592: case 7594: case 7596: case 7598: case 7600: return eBlockFace::BLOCK_FACE_XP; - case 7538: case 7540: case 7542: case 7544: case 7546: case 7548: case 7550: case 7552: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7546: case 7548: case 7550: case 7552: case 7562: case 7564: case 7566: case 7568: case 7578: case 7580: case 7582: case 7584: case 7594: case 7596: case 7598: case 7600: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 7542: case 7544: case 7550: case 7552: case 7558: case 7560: case 7566: case 7568: case 7574: case 7576: case 7582: case 7584: case 7590: case 7592: case 7598: case 7600: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 7540: case 7544: case 7548: case 7552: case 7556: case 7560: case 7564: case 7568: case 7572: case 7576: case 7580: case 7584: case 7588: case 7592: case 7596: case 7600: return false; - default: return true; - } - } - } - namespace JackOLantern - { - BlockState JackOLantern() - { - return 4020; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4022: return eBlockFace::BLOCK_FACE_XM; - case 4023: return eBlockFace::BLOCK_FACE_XP; - case 4020: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Jigsaw - { - BlockState Jigsaw() - { - return 15749; - } - enum Orientation Orientation(const BlockState Block) - { - switch (Block.ID) - { - case 15739: return Orientation::DownEast; - case 15740: return Orientation::DownNorth; - case 15741: return Orientation::DownSouth; - case 15742: return Orientation::DownWest; - case 15748: return Orientation::EastUp; - case 15749: return Orientation::NorthUp; - case 15750: return Orientation::SouthUp; - case 15743: return Orientation::UpEast; - case 15744: return Orientation::UpNorth; - case 15745: return Orientation::UpSouth; - case 15746: return Orientation::UpWest; - default: return Orientation::WestUp; - } - } - } - namespace Jukebox - { - BlockState Jukebox() - { - return 3965; - } - bool HasRecord(const BlockState Block) - { - switch (Block.ID) - { - case 3965: return false; - default: return true; - } - } - } - namespace JungleButton - { - BlockState JungleButton() - { - return 6427; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 6434: case 6435: case 6436: case 6437: case 6438: case 6439: case 6440: case 6441: return Face::Ceiling; - case 6418: case 6419: case 6420: case 6421: case 6422: case 6423: case 6424: case 6425: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6422: case 6423: case 6430: case 6431: case 6438: case 6439: return eBlockFace::BLOCK_FACE_XM; - case 6424: case 6425: case 6432: case 6433: case 6440: case 6441: return eBlockFace::BLOCK_FACE_XP; - case 6418: case 6419: case 6426: case 6427: case 6434: case 6435: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 6419: case 6421: case 6423: case 6425: case 6427: case 6429: case 6431: case 6433: case 6435: case 6437: case 6439: case 6441: return false; - default: return true; - } - } - } - namespace JungleDoor - { - BlockState JungleDoor() - { - return 8877; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8898: case 8899: case 8900: case 8901: case 8902: case 8903: case 8904: case 8905: case 8906: case 8907: case 8908: case 8909: case 8910: case 8911: case 8912: case 8913: return eBlockFace::BLOCK_FACE_XM; - case 8914: case 8915: case 8916: case 8917: case 8918: case 8919: case 8920: case 8921: case 8922: case 8923: case 8924: case 8925: case 8926: case 8927: case 8928: case 8929: return eBlockFace::BLOCK_FACE_XP; - case 8866: case 8867: case 8868: case 8869: case 8870: case 8871: case 8872: case 8873: case 8874: case 8875: case 8876: case 8877: case 8878: case 8879: case 8880: case 8881: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 8874: case 8875: case 8876: case 8877: case 8878: case 8879: case 8880: case 8881: case 8890: case 8891: case 8892: case 8893: case 8894: case 8895: case 8896: case 8897: case 8906: case 8907: case 8908: case 8909: case 8910: case 8911: case 8912: case 8913: case 8922: case 8923: case 8924: case 8925: case 8926: case 8927: case 8928: case 8929: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 8866: case 8867: case 8868: case 8869: case 8874: case 8875: case 8876: case 8877: case 8882: case 8883: case 8884: case 8885: case 8890: case 8891: case 8892: case 8893: case 8898: case 8899: case 8900: case 8901: case 8906: case 8907: case 8908: case 8909: case 8914: case 8915: case 8916: case 8917: case 8922: case 8923: case 8924: case 8925: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8868: case 8869: case 8872: case 8873: case 8876: case 8877: case 8880: case 8881: case 8884: case 8885: case 8888: case 8889: case 8892: case 8893: case 8896: case 8897: case 8900: case 8901: case 8904: case 8905: case 8908: case 8909: case 8912: case 8913: case 8916: case 8917: case 8920: case 8921: case 8924: case 8925: case 8928: case 8929: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8867: case 8869: case 8871: case 8873: case 8875: case 8877: case 8879: case 8881: case 8883: case 8885: case 8887: case 8889: case 8891: case 8893: case 8895: case 8897: case 8899: case 8901: case 8903: case 8905: case 8907: case 8909: case 8911: case 8913: case 8915: case 8917: case 8919: case 8921: case 8923: case 8925: case 8927: case 8929: return false; - default: return true; - } - } - } - namespace JungleFence - { - BlockState JungleFence() - { - return 8673; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 8660: case 8661: case 8664: case 8665: case 8668: case 8669: case 8672: case 8673: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 8652: case 8653: case 8656: case 8657: case 8668: case 8669: case 8672: case 8673: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 8648: case 8649: case 8656: case 8657: case 8664: case 8665: case 8672: case 8673: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 8645: case 8649: case 8653: case 8657: case 8661: case 8665: case 8669: case 8673: return false; - default: return true; - } - } - } - namespace JungleFenceGate - { - BlockState JungleFenceGate() - { - return 8489; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8498: case 8499: case 8500: case 8501: case 8502: case 8503: case 8504: case 8505: return eBlockFace::BLOCK_FACE_XM; - case 8506: case 8507: case 8508: case 8509: case 8510: case 8511: case 8512: case 8513: return eBlockFace::BLOCK_FACE_XP; - case 8482: case 8483: case 8484: case 8485: case 8486: case 8487: case 8488: case 8489: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool InWall(const BlockState Block) - { - switch (Block.ID) - { - case 8486: case 8487: case 8488: case 8489: case 8494: case 8495: case 8496: case 8497: case 8502: case 8503: case 8504: case 8505: case 8510: case 8511: case 8512: case 8513: return false; - default: return true; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8484: case 8485: case 8488: case 8489: case 8492: case 8493: case 8496: case 8497: case 8500: case 8501: case 8504: case 8505: case 8508: case 8509: case 8512: case 8513: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8483: case 8485: case 8487: case 8489: case 8491: case 8493: case 8495: case 8497: case 8499: case 8501: case 8503: case 8505: case 8507: case 8509: case 8511: case 8513: return false; - default: return true; - } - } - } - namespace JungleLeaves - { - BlockState JungleLeaves() - { - return 200; - } - unsigned char Distance(const BlockState Block) - { - switch (Block.ID) - { - case 187: case 188: return 1; - case 189: case 190: return 2; - case 191: case 192: return 3; - case 193: case 194: return 4; - case 195: case 196: return 5; - case 197: case 198: return 6; - default: return 7; - } - } - bool Persistent(const BlockState Block) - { - switch (Block.ID) - { - case 188: case 190: case 192: case 194: case 196: case 198: case 200: return false; - default: return true; - } - } - } - namespace JungleLog - { - BlockState JungleLog() - { - return 83; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 82: return Axis::X; - case 83: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace JunglePlanks - { - } - namespace JunglePressurePlate - { - BlockState JunglePressurePlate() - { - return 3880; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3880: return false; - default: return true; - } - } - } - namespace JungleSapling - { - BlockState JungleSapling() - { - return 27; - } - unsigned char Stage(const BlockState Block) - { - switch (Block.ID) - { - case 27: return 0; - default: return 1; - } - } - } - namespace JungleSign - { - BlockState JungleSign() - { - return 3510; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 3510: return 0; - case 3512: return 1; - case 3530: return 10; - case 3532: return 11; - case 3534: return 12; - case 3536: return 13; - case 3538: return 14; - case 3540: return 15; - case 3514: return 2; - case 3516: return 3; - case 3518: return 4; - case 3520: return 5; - case 3522: return 6; - case 3524: return 7; - case 3526: return 8; - default: return 9; - } - } - } - namespace JungleSlab - { - BlockState JungleSlab() - { - return 8321; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8321: return Type::Bottom; - case 8323: return Type::Double; - default: return Type::Top; - } - } - } - namespace JungleStairs - { - BlockState JungleStairs() - { - return 5575; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5605: case 5607: case 5609: case 5611: case 5613: case 5615: case 5617: case 5619: case 5621: case 5623: return eBlockFace::BLOCK_FACE_XM; - case 5625: case 5627: case 5629: case 5631: case 5633: case 5635: case 5637: case 5639: case 5641: case 5643: return eBlockFace::BLOCK_FACE_XP; - case 5565: case 5567: case 5569: case 5571: case 5573: case 5575: case 5577: case 5579: case 5581: case 5583: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 5575: case 5577: case 5579: case 5581: case 5583: case 5595: case 5597: case 5599: case 5601: case 5603: case 5615: case 5617: case 5619: case 5621: case 5623: case 5635: case 5637: case 5639: case 5641: case 5643: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 5567: case 5577: case 5587: case 5597: case 5607: case 5617: case 5627: case 5637: return Shape::InnerLeft; - case 5569: case 5579: case 5589: case 5599: case 5609: case 5619: case 5629: case 5639: return Shape::InnerRight; - case 5571: case 5581: case 5591: case 5601: case 5611: case 5621: case 5631: case 5641: return Shape::OuterLeft; - case 5573: case 5583: case 5593: case 5603: case 5613: case 5623: case 5633: case 5643: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace JungleTrapdoor - { - BlockState JungleTrapdoor() - { - return 4318; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4336: case 4338: case 4340: case 4342: case 4344: case 4346: case 4348: case 4350: return eBlockFace::BLOCK_FACE_XM; - case 4352: case 4354: case 4356: case 4358: case 4360: case 4362: case 4364: case 4366: return eBlockFace::BLOCK_FACE_XP; - case 4304: case 4306: case 4308: case 4310: case 4312: case 4314: case 4316: case 4318: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 4312: case 4314: case 4316: case 4318: case 4328: case 4330: case 4332: case 4334: case 4344: case 4346: case 4348: case 4350: case 4360: case 4362: case 4364: case 4366: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 4308: case 4310: case 4316: case 4318: case 4324: case 4326: case 4332: case 4334: case 4340: case 4342: case 4348: case 4350: case 4356: case 4358: case 4364: case 4366: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 4306: case 4310: case 4314: case 4318: case 4322: case 4326: case 4330: case 4334: case 4338: case 4342: case 4346: case 4350: case 4354: case 4358: case 4362: case 4366: return false; - default: return true; - } - } - } - namespace JungleWallSign - { - BlockState JungleWallSign() - { - return 3768; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3772: return eBlockFace::BLOCK_FACE_XM; - case 3774: return eBlockFace::BLOCK_FACE_XP; - case 3768: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace JungleWood - { - BlockState JungleWood() - { - return 119; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 118: return Axis::X; - case 119: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace Kelp - { - BlockState Kelp() - { - return 9470; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 9470: return 0; - case 9471: return 1; - case 9480: return 10; - case 9481: return 11; - case 9482: return 12; - case 9483: return 13; - case 9484: return 14; - case 9485: return 15; - case 9486: return 16; - case 9487: return 17; - case 9488: return 18; - case 9489: return 19; - case 9472: return 2; - case 9490: return 20; - case 9491: return 21; - case 9492: return 22; - case 9493: return 23; - case 9494: return 24; - case 9495: return 25; - case 9473: return 3; - case 9474: return 4; - case 9475: return 5; - case 9476: return 6; - case 9477: return 7; - case 9478: return 8; - default: return 9; - } - } - } - namespace KelpPlant - { - } - namespace Ladder - { - BlockState Ladder() - { - return 3638; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3642: return eBlockFace::BLOCK_FACE_XM; - case 3644: return eBlockFace::BLOCK_FACE_XP; - case 3638: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Lantern - { - BlockState Lantern() - { - return 14887; - } - bool Hanging(const BlockState Block) - { - switch (Block.ID) - { - case 14887: return false; - default: return true; - } - } - } - namespace LapisBlock - { - } - namespace LapisOre - { - } - namespace LargeFern - { - BlockState LargeFern() - { - return 7896; - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7896: return Half::Lower; - default: return Half::Upper; - } - } - } - namespace Lava - { - BlockState Lava() - { - return 50; - } - unsigned char Level(const BlockState Block) - { - switch (Block.ID) - { - case 50: return 0; - case 51: return 1; - case 60: return 10; - case 61: return 11; - case 62: return 12; - case 63: return 13; - case 64: return 14; - case 65: return 15; - case 52: return 2; - case 53: return 3; - case 54: return 4; - case 55: return 5; - case 56: return 6; - case 57: return 7; - case 58: return 8; - default: return 9; - } - } - } - namespace Lectern - { - BlockState Lectern() - { - return 14836; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14841: case 14842: case 14843: case 14844: return eBlockFace::BLOCK_FACE_XM; - case 14845: case 14846: case 14847: case 14848: return eBlockFace::BLOCK_FACE_XP; - case 14833: case 14834: case 14835: case 14836: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool HasBook(const BlockState Block) - { - switch (Block.ID) - { - case 14835: case 14836: case 14839: case 14840: case 14843: case 14844: case 14847: case 14848: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 14834: case 14836: case 14838: case 14840: case 14842: case 14844: case 14846: case 14848: return false; - default: return true; - } - } - } - namespace Lever - { - BlockState Lever() - { - return 3792; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 3799: case 3800: case 3801: case 3802: case 3803: case 3804: case 3805: case 3806: return Face::Ceiling; - case 3783: case 3784: case 3785: case 3786: case 3787: case 3788: case 3789: case 3790: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3787: case 3788: case 3795: case 3796: case 3803: case 3804: return eBlockFace::BLOCK_FACE_XM; - case 3789: case 3790: case 3797: case 3798: case 3805: case 3806: return eBlockFace::BLOCK_FACE_XP; - case 3783: case 3784: case 3791: case 3792: case 3799: case 3800: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3784: case 3786: case 3788: case 3790: case 3792: case 3794: case 3796: case 3798: case 3800: case 3802: case 3804: case 3806: return false; - default: return true; - } - } - } - namespace LightBlueBanner - { - BlockState LightBlueBanner() - { - return 7945; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 7945: return 0; - case 7946: return 1; - case 7955: return 10; - case 7956: return 11; - case 7957: return 12; - case 7958: return 13; - case 7959: return 14; - case 7960: return 15; - case 7947: return 2; - case 7948: return 3; - case 7949: return 4; - case 7950: return 5; - case 7951: return 6; - case 7952: return 7; - case 7953: return 8; - default: return 9; - } - } - } - namespace LightBlueBed - { - BlockState LightBlueBed() - { - return 1100; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1105: case 1106: case 1107: case 1108: return eBlockFace::BLOCK_FACE_XM; - case 1109: case 1110: case 1111: case 1112: return eBlockFace::BLOCK_FACE_XP; - case 1097: case 1098: case 1099: case 1100: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1099: case 1100: case 1103: case 1104: case 1107: case 1108: case 1111: case 1112: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1098: case 1100: case 1102: case 1104: case 1106: case 1108: case 1110: case 1112: return Part::Foot; - default: return Part::Head; - } - } - } - namespace LightBlueCarpet - { - } - namespace LightBlueConcrete - { - } - namespace LightBlueConcretePowder - { - } - namespace LightBlueGlazedTerracotta - { - BlockState LightBlueGlazedTerracotta() - { - return 9386; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9388: return eBlockFace::BLOCK_FACE_XM; - case 9389: return eBlockFace::BLOCK_FACE_XP; - case 9386: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LightBlueShulkerBox - { - BlockState LightBlueShulkerBox() - { - return 9300; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9299: return eBlockFace::BLOCK_FACE_XM; - case 9297: return eBlockFace::BLOCK_FACE_XP; - case 9301: return eBlockFace::BLOCK_FACE_YM; - case 9300: return eBlockFace::BLOCK_FACE_YP; - case 9296: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LightBlueStainedGlass - { - } - namespace LightBlueStainedGlassPane - { - BlockState LightBlueStainedGlassPane() - { - return 6990; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 6977: case 6978: case 6981: case 6982: case 6985: case 6986: case 6989: case 6990: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 6969: case 6970: case 6973: case 6974: case 6985: case 6986: case 6989: case 6990: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 6965: case 6966: case 6973: case 6974: case 6981: case 6982: case 6989: case 6990: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 6962: case 6966: case 6970: case 6974: case 6978: case 6982: case 6986: case 6990: return false; - default: return true; - } - } - } - namespace LightBlueTerracotta - { - } - namespace LightBlueWallBanner - { - BlockState LightBlueWallBanner() - { - return 8165; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8167: return eBlockFace::BLOCK_FACE_XM; - case 8168: return eBlockFace::BLOCK_FACE_XP; - case 8165: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LightBlueWool - { - } - namespace LightGrayBanner - { - BlockState LightGrayBanner() - { - return 8025; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8025: return 0; - case 8026: return 1; - case 8035: return 10; - case 8036: return 11; - case 8037: return 12; - case 8038: return 13; - case 8039: return 14; - case 8040: return 15; - case 8027: return 2; - case 8028: return 3; - case 8029: return 4; - case 8030: return 5; - case 8031: return 6; - case 8032: return 7; - case 8033: return 8; - default: return 9; - } - } - } - namespace LightGrayBed - { - BlockState LightGrayBed() - { - return 1180; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1185: case 1186: case 1187: case 1188: return eBlockFace::BLOCK_FACE_XM; - case 1189: case 1190: case 1191: case 1192: return eBlockFace::BLOCK_FACE_XP; - case 1177: case 1178: case 1179: case 1180: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1179: case 1180: case 1183: case 1184: case 1187: case 1188: case 1191: case 1192: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1178: case 1180: case 1182: case 1184: case 1186: case 1188: case 1190: case 1192: return Part::Foot; - default: return Part::Head; - } - } - } - namespace LightGrayCarpet - { - } - namespace LightGrayConcrete - { - } - namespace LightGrayConcretePowder - { - } - namespace LightGrayGlazedTerracotta - { - BlockState LightGrayGlazedTerracotta() - { - return 9406; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9408: return eBlockFace::BLOCK_FACE_XM; - case 9409: return eBlockFace::BLOCK_FACE_XP; - case 9406: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LightGrayShulkerBox - { - BlockState LightGrayShulkerBox() - { - return 9330; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9329: return eBlockFace::BLOCK_FACE_XM; - case 9327: return eBlockFace::BLOCK_FACE_XP; - case 9331: return eBlockFace::BLOCK_FACE_YM; - case 9330: return eBlockFace::BLOCK_FACE_YP; - case 9326: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LightGrayStainedGlass - { - } - namespace LightGrayStainedGlassPane - { - BlockState LightGrayStainedGlassPane() - { - return 7150; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7137: case 7138: case 7141: case 7142: case 7145: case 7146: case 7149: case 7150: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7129: case 7130: case 7133: case 7134: case 7145: case 7146: case 7149: case 7150: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7125: case 7126: case 7133: case 7134: case 7141: case 7142: case 7149: case 7150: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7122: case 7126: case 7130: case 7134: case 7138: case 7142: case 7146: case 7150: return false; - default: return true; - } - } - } - namespace LightGrayTerracotta - { - } - namespace LightGrayWallBanner - { - BlockState LightGrayWallBanner() - { - return 8185; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8187: return eBlockFace::BLOCK_FACE_XM; - case 8188: return eBlockFace::BLOCK_FACE_XP; - case 8185: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LightGrayWool - { - } - namespace LightWeightedPressurePlate - { - BlockState LightWeightedPressurePlate() - { - return 6646; - } - unsigned char Power(const BlockState Block) - { - switch (Block.ID) - { - case 6646: return 0; - case 6647: return 1; - case 6656: return 10; - case 6657: return 11; - case 6658: return 12; - case 6659: return 13; - case 6660: return 14; - case 6661: return 15; - case 6648: return 2; - case 6649: return 3; - case 6650: return 4; - case 6651: return 5; - case 6652: return 6; - case 6653: return 7; - case 6654: return 8; - default: return 9; - } - } - } - namespace Lilac - { - BlockState Lilac() - { - return 7888; - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7888: return Half::Lower; - default: return Half::Upper; - } - } - } - namespace LilyOfTheValley - { - } - namespace LilyPad - { - } - namespace LimeBanner - { - BlockState LimeBanner() - { - return 7977; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 7977: return 0; - case 7978: return 1; - case 7987: return 10; - case 7988: return 11; - case 7989: return 12; - case 7990: return 13; - case 7991: return 14; - case 7992: return 15; - case 7979: return 2; - case 7980: return 3; - case 7981: return 4; - case 7982: return 5; - case 7983: return 6; - case 7984: return 7; - case 7985: return 8; - default: return 9; - } - } - } - namespace LimeBed - { - BlockState LimeBed() - { - return 1132; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1137: case 1138: case 1139: case 1140: return eBlockFace::BLOCK_FACE_XM; - case 1141: case 1142: case 1143: case 1144: return eBlockFace::BLOCK_FACE_XP; - case 1129: case 1130: case 1131: case 1132: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1131: case 1132: case 1135: case 1136: case 1139: case 1140: case 1143: case 1144: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1130: case 1132: case 1134: case 1136: case 1138: case 1140: case 1142: case 1144: return Part::Foot; - default: return Part::Head; - } - } - } - namespace LimeCarpet - { - } - namespace LimeConcrete - { - } - namespace LimeConcretePowder - { - } - namespace LimeGlazedTerracotta - { - BlockState LimeGlazedTerracotta() - { - return 9394; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9396: return eBlockFace::BLOCK_FACE_XM; - case 9397: return eBlockFace::BLOCK_FACE_XP; - case 9394: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LimeShulkerBox - { - BlockState LimeShulkerBox() - { - return 9312; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9311: return eBlockFace::BLOCK_FACE_XM; - case 9309: return eBlockFace::BLOCK_FACE_XP; - case 9313: return eBlockFace::BLOCK_FACE_YM; - case 9312: return eBlockFace::BLOCK_FACE_YP; - case 9308: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LimeStainedGlass - { - } - namespace LimeStainedGlassPane - { - BlockState LimeStainedGlassPane() - { - return 7054; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7041: case 7042: case 7045: case 7046: case 7049: case 7050: case 7053: case 7054: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7033: case 7034: case 7037: case 7038: case 7049: case 7050: case 7053: case 7054: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7029: case 7030: case 7037: case 7038: case 7045: case 7046: case 7053: case 7054: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7026: case 7030: case 7034: case 7038: case 7042: case 7046: case 7050: case 7054: return false; - default: return true; - } - } - } - namespace LimeTerracotta - { - } - namespace LimeWallBanner - { - BlockState LimeWallBanner() - { - return 8173; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8175: return eBlockFace::BLOCK_FACE_XM; - case 8176: return eBlockFace::BLOCK_FACE_XP; - case 8173: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace LimeWool - { - } - namespace Lodestone - { - } - namespace Loom - { - BlockState Loom() - { - return 14787; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14789: return eBlockFace::BLOCK_FACE_XM; - case 14790: return eBlockFace::BLOCK_FACE_XP; - case 14787: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace MagentaBanner - { - BlockState MagentaBanner() - { - return 7929; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 7929: return 0; - case 7930: return 1; - case 7939: return 10; - case 7940: return 11; - case 7941: return 12; - case 7942: return 13; - case 7943: return 14; - case 7944: return 15; - case 7931: return 2; - case 7932: return 3; - case 7933: return 4; - case 7934: return 5; - case 7935: return 6; - case 7936: return 7; - case 7937: return 8; - default: return 9; - } - } - } - namespace MagentaBed - { - BlockState MagentaBed() - { - return 1084; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1089: case 1090: case 1091: case 1092: return eBlockFace::BLOCK_FACE_XM; - case 1093: case 1094: case 1095: case 1096: return eBlockFace::BLOCK_FACE_XP; - case 1081: case 1082: case 1083: case 1084: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1083: case 1084: case 1087: case 1088: case 1091: case 1092: case 1095: case 1096: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1082: case 1084: case 1086: case 1088: case 1090: case 1092: case 1094: case 1096: return Part::Foot; - default: return Part::Head; - } - } - } - namespace MagentaCarpet - { - } - namespace MagentaConcrete - { - } - namespace MagentaConcretePowder - { - } - namespace MagentaGlazedTerracotta - { - BlockState MagentaGlazedTerracotta() - { - return 9382; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9384: return eBlockFace::BLOCK_FACE_XM; - case 9385: return eBlockFace::BLOCK_FACE_XP; - case 9382: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace MagentaShulkerBox - { - BlockState MagentaShulkerBox() - { - return 9294; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9293: return eBlockFace::BLOCK_FACE_XM; - case 9291: return eBlockFace::BLOCK_FACE_XP; - case 9295: return eBlockFace::BLOCK_FACE_YM; - case 9294: return eBlockFace::BLOCK_FACE_YP; - case 9290: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace MagentaStainedGlass - { - } - namespace MagentaStainedGlassPane - { - BlockState MagentaStainedGlassPane() - { - return 6958; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 6945: case 6946: case 6949: case 6950: case 6953: case 6954: case 6957: case 6958: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 6937: case 6938: case 6941: case 6942: case 6953: case 6954: case 6957: case 6958: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 6933: case 6934: case 6941: case 6942: case 6949: case 6950: case 6957: case 6958: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 6930: case 6934: case 6938: case 6942: case 6946: case 6950: case 6954: case 6958: return false; - default: return true; - } - } - } - namespace MagentaTerracotta - { - } - namespace MagentaWallBanner - { - BlockState MagentaWallBanner() - { - return 8161; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8163: return eBlockFace::BLOCK_FACE_XM; - case 8164: return eBlockFace::BLOCK_FACE_XP; - case 8161: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace MagentaWool - { - } - namespace MagmaBlock - { - } - namespace Melon - { - } - namespace MelonStem - { - BlockState MelonStem() - { - return 4780; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 4780: return 0; - case 4781: return 1; - case 4782: return 2; - case 4783: return 3; - case 4784: return 4; - case 4785: return 5; - case 4786: return 6; - default: return 7; - } - } - } - namespace MossyCobblestone - { - } - namespace MossyCobblestoneSlab - { - BlockState MossyCobblestoneSlab() - { - return 10816; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10816: return Type::Bottom; - case 10818: return Type::Double; - default: return Type::Top; - } - } - } - namespace MossyCobblestoneStairs - { - BlockState MossyCobblestoneStairs() - { - return 10000; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10030: case 10032: case 10034: case 10036: case 10038: case 10040: case 10042: case 10044: case 10046: case 10048: return eBlockFace::BLOCK_FACE_XM; - case 10050: case 10052: case 10054: case 10056: case 10058: case 10060: case 10062: case 10064: case 10066: case 10068: return eBlockFace::BLOCK_FACE_XP; - case 9990: case 9992: case 9994: case 9996: case 9998: case 10000: case 10002: case 10004: case 10006: case 10008: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10000: case 10002: case 10004: case 10006: case 10008: case 10020: case 10022: case 10024: case 10026: case 10028: case 10040: case 10042: case 10044: case 10046: case 10048: case 10060: case 10062: case 10064: case 10066: case 10068: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 9992: case 10002: case 10012: case 10022: case 10032: case 10042: case 10052: case 10062: return Shape::InnerLeft; - case 9994: case 10004: case 10014: case 10024: case 10034: case 10044: case 10054: case 10064: return Shape::InnerRight; - case 9996: case 10006: case 10016: case 10026: case 10036: case 10046: case 10056: case 10066: return Shape::OuterLeft; - case 9998: case 10008: case 10018: case 10028: case 10038: case 10048: case 10058: case 10068: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace MossyCobblestoneWall - { - BlockState MossyCobblestoneWall() - { - return 5984; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 6092: case 6093: case 6094: case 6098: case 6099: case 6100: case 6104: case 6105: case 6106: case 6110: case 6111: case 6112: case 6116: case 6117: case 6118: case 6122: case 6123: case 6124: case 6128: case 6129: case 6130: case 6134: case 6135: case 6136: case 6140: case 6141: case 6142: case 6146: case 6147: case 6148: case 6152: case 6153: case 6154: case 6158: case 6159: case 6160: case 6164: case 6165: case 6166: case 6170: case 6171: case 6172: case 6176: case 6177: case 6178: case 6182: case 6183: case 6184: case 6188: case 6189: case 6190: case 6194: case 6195: case 6196: return East::Low; - case 5984: case 5985: case 5986: case 5990: case 5991: case 5992: case 5996: case 5997: case 5998: case 6002: case 6003: case 6004: case 6008: case 6009: case 6010: case 6014: case 6015: case 6016: case 6020: case 6021: case 6022: case 6026: case 6027: case 6028: case 6032: case 6033: case 6034: case 6038: case 6039: case 6040: case 6044: case 6045: case 6046: case 6050: case 6051: case 6052: case 6056: case 6057: case 6058: case 6062: case 6063: case 6064: case 6068: case 6069: case 6070: case 6074: case 6075: case 6076: case 6080: case 6081: case 6082: case 6086: case 6087: case 6088: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 6020: case 6021: case 6022: case 6026: case 6027: case 6028: case 6032: case 6033: case 6034: case 6038: case 6039: case 6040: case 6044: case 6045: case 6046: case 6050: case 6051: case 6052: case 6128: case 6129: case 6130: case 6134: case 6135: case 6136: case 6140: case 6141: case 6142: case 6146: case 6147: case 6148: case 6152: case 6153: case 6154: case 6158: case 6159: case 6160: case 6236: case 6237: case 6238: case 6242: case 6243: case 6244: case 6248: case 6249: case 6250: case 6254: case 6255: case 6256: case 6260: case 6261: case 6262: case 6266: case 6267: case 6268: return North::Low; - case 5984: case 5985: case 5986: case 5990: case 5991: case 5992: case 5996: case 5997: case 5998: case 6002: case 6003: case 6004: case 6008: case 6009: case 6010: case 6014: case 6015: case 6016: case 6092: case 6093: case 6094: case 6098: case 6099: case 6100: case 6104: case 6105: case 6106: case 6110: case 6111: case 6112: case 6116: case 6117: case 6118: case 6122: case 6123: case 6124: case 6200: case 6201: case 6202: case 6206: case 6207: case 6208: case 6212: case 6213: case 6214: case 6218: case 6219: case 6220: case 6224: case 6225: case 6226: case 6230: case 6231: case 6232: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 5996: case 5997: case 5998: case 6002: case 6003: case 6004: case 6032: case 6033: case 6034: case 6038: case 6039: case 6040: case 6068: case 6069: case 6070: case 6074: case 6075: case 6076: case 6104: case 6105: case 6106: case 6110: case 6111: case 6112: case 6140: case 6141: case 6142: case 6146: case 6147: case 6148: case 6176: case 6177: case 6178: case 6182: case 6183: case 6184: case 6212: case 6213: case 6214: case 6218: case 6219: case 6220: case 6248: case 6249: case 6250: case 6254: case 6255: case 6256: case 6284: case 6285: case 6286: case 6290: case 6291: case 6292: return South::Low; - case 5984: case 5985: case 5986: case 5990: case 5991: case 5992: case 6020: case 6021: case 6022: case 6026: case 6027: case 6028: case 6056: case 6057: case 6058: case 6062: case 6063: case 6064: case 6092: case 6093: case 6094: case 6098: case 6099: case 6100: case 6128: case 6129: case 6130: case 6134: case 6135: case 6136: case 6164: case 6165: case 6166: case 6170: case 6171: case 6172: case 6200: case 6201: case 6202: case 6206: case 6207: case 6208: case 6236: case 6237: case 6238: case 6242: case 6243: case 6244: case 6272: case 6273: case 6274: case 6278: case 6279: case 6280: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 5990: case 5991: case 5992: case 6002: case 6003: case 6004: case 6014: case 6015: case 6016: case 6026: case 6027: case 6028: case 6038: case 6039: case 6040: case 6050: case 6051: case 6052: case 6062: case 6063: case 6064: case 6074: case 6075: case 6076: case 6086: case 6087: case 6088: case 6098: case 6099: case 6100: case 6110: case 6111: case 6112: case 6122: case 6123: case 6124: case 6134: case 6135: case 6136: case 6146: case 6147: case 6148: case 6158: case 6159: case 6160: case 6170: case 6171: case 6172: case 6182: case 6183: case 6184: case 6194: case 6195: case 6196: case 6206: case 6207: case 6208: case 6218: case 6219: case 6220: case 6230: case 6231: case 6232: case 6242: case 6243: case 6244: case 6254: case 6255: case 6256: case 6266: case 6267: case 6268: case 6278: case 6279: case 6280: case 6290: case 6291: case 6292: case 6302: case 6303: case 6304: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 5985: case 5991: case 5997: case 6003: case 6009: case 6015: case 6021: case 6027: case 6033: case 6039: case 6045: case 6051: case 6057: case 6063: case 6069: case 6075: case 6081: case 6087: case 6093: case 6099: case 6105: case 6111: case 6117: case 6123: case 6129: case 6135: case 6141: case 6147: case 6153: case 6159: case 6165: case 6171: case 6177: case 6183: case 6189: case 6195: case 6201: case 6207: case 6213: case 6219: case 6225: case 6231: case 6237: case 6243: case 6249: case 6255: case 6261: case 6267: case 6273: case 6279: case 6285: case 6291: case 6297: case 6303: return West::Low; - case 5984: case 5990: case 5996: case 6002: case 6008: case 6014: case 6020: case 6026: case 6032: case 6038: case 6044: case 6050: case 6056: case 6062: case 6068: case 6074: case 6080: case 6086: case 6092: case 6098: case 6104: case 6110: case 6116: case 6122: case 6128: case 6134: case 6140: case 6146: case 6152: case 6158: case 6164: case 6170: case 6176: case 6182: case 6188: case 6194: case 6200: case 6206: case 6212: case 6218: case 6224: case 6230: case 6236: case 6242: case 6248: case 6254: case 6260: case 6266: case 6272: case 6278: case 6284: case 6290: case 6296: case 6302: return West::None; - default: return West::Tall; - } - } - } - namespace MossyStoneBrickSlab - { - BlockState MossyStoneBrickSlab() - { - return 10804; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10804: return Type::Bottom; - case 10806: return Type::Double; - default: return Type::Top; - } - } - } - namespace MossyStoneBrickStairs - { - BlockState MossyStoneBrickStairs() - { - return 9840; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9870: case 9872: case 9874: case 9876: case 9878: case 9880: case 9882: case 9884: case 9886: case 9888: return eBlockFace::BLOCK_FACE_XM; - case 9890: case 9892: case 9894: case 9896: case 9898: case 9900: case 9902: case 9904: case 9906: case 9908: return eBlockFace::BLOCK_FACE_XP; - case 9830: case 9832: case 9834: case 9836: case 9838: case 9840: case 9842: case 9844: case 9846: case 9848: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 9840: case 9842: case 9844: case 9846: case 9848: case 9860: case 9862: case 9864: case 9866: case 9868: case 9880: case 9882: case 9884: case 9886: case 9888: case 9900: case 9902: case 9904: case 9906: case 9908: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 9832: case 9842: case 9852: case 9862: case 9872: case 9882: case 9892: case 9902: return Shape::InnerLeft; - case 9834: case 9844: case 9854: case 9864: case 9874: case 9884: case 9894: case 9904: return Shape::InnerRight; - case 9836: case 9846: case 9856: case 9866: case 9876: case 9886: case 9896: case 9906: return Shape::OuterLeft; - case 9838: case 9848: case 9858: case 9868: case 9878: case 9888: case 9898: case 9908: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace MossyStoneBrickWall - { - BlockState MossyStoneBrickWall() - { - return 11842; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 11950: case 11951: case 11952: case 11956: case 11957: case 11958: case 11962: case 11963: case 11964: case 11968: case 11969: case 11970: case 11974: case 11975: case 11976: case 11980: case 11981: case 11982: case 11986: case 11987: case 11988: case 11992: case 11993: case 11994: case 11998: case 11999: case 12000: case 12004: case 12005: case 12006: case 12010: case 12011: case 12012: case 12016: case 12017: case 12018: case 12022: case 12023: case 12024: case 12028: case 12029: case 12030: case 12034: case 12035: case 12036: case 12040: case 12041: case 12042: case 12046: case 12047: case 12048: case 12052: case 12053: case 12054: return East::Low; - case 11842: case 11843: case 11844: case 11848: case 11849: case 11850: case 11854: case 11855: case 11856: case 11860: case 11861: case 11862: case 11866: case 11867: case 11868: case 11872: case 11873: case 11874: case 11878: case 11879: case 11880: case 11884: case 11885: case 11886: case 11890: case 11891: case 11892: case 11896: case 11897: case 11898: case 11902: case 11903: case 11904: case 11908: case 11909: case 11910: case 11914: case 11915: case 11916: case 11920: case 11921: case 11922: case 11926: case 11927: case 11928: case 11932: case 11933: case 11934: case 11938: case 11939: case 11940: case 11944: case 11945: case 11946: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 11878: case 11879: case 11880: case 11884: case 11885: case 11886: case 11890: case 11891: case 11892: case 11896: case 11897: case 11898: case 11902: case 11903: case 11904: case 11908: case 11909: case 11910: case 11986: case 11987: case 11988: case 11992: case 11993: case 11994: case 11998: case 11999: case 12000: case 12004: case 12005: case 12006: case 12010: case 12011: case 12012: case 12016: case 12017: case 12018: case 12094: case 12095: case 12096: case 12100: case 12101: case 12102: case 12106: case 12107: case 12108: case 12112: case 12113: case 12114: case 12118: case 12119: case 12120: case 12124: case 12125: case 12126: return North::Low; - case 11842: case 11843: case 11844: case 11848: case 11849: case 11850: case 11854: case 11855: case 11856: case 11860: case 11861: case 11862: case 11866: case 11867: case 11868: case 11872: case 11873: case 11874: case 11950: case 11951: case 11952: case 11956: case 11957: case 11958: case 11962: case 11963: case 11964: case 11968: case 11969: case 11970: case 11974: case 11975: case 11976: case 11980: case 11981: case 11982: case 12058: case 12059: case 12060: case 12064: case 12065: case 12066: case 12070: case 12071: case 12072: case 12076: case 12077: case 12078: case 12082: case 12083: case 12084: case 12088: case 12089: case 12090: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 11854: case 11855: case 11856: case 11860: case 11861: case 11862: case 11890: case 11891: case 11892: case 11896: case 11897: case 11898: case 11926: case 11927: case 11928: case 11932: case 11933: case 11934: case 11962: case 11963: case 11964: case 11968: case 11969: case 11970: case 11998: case 11999: case 12000: case 12004: case 12005: case 12006: case 12034: case 12035: case 12036: case 12040: case 12041: case 12042: case 12070: case 12071: case 12072: case 12076: case 12077: case 12078: case 12106: case 12107: case 12108: case 12112: case 12113: case 12114: case 12142: case 12143: case 12144: case 12148: case 12149: case 12150: return South::Low; - case 11842: case 11843: case 11844: case 11848: case 11849: case 11850: case 11878: case 11879: case 11880: case 11884: case 11885: case 11886: case 11914: case 11915: case 11916: case 11920: case 11921: case 11922: case 11950: case 11951: case 11952: case 11956: case 11957: case 11958: case 11986: case 11987: case 11988: case 11992: case 11993: case 11994: case 12022: case 12023: case 12024: case 12028: case 12029: case 12030: case 12058: case 12059: case 12060: case 12064: case 12065: case 12066: case 12094: case 12095: case 12096: case 12100: case 12101: case 12102: case 12130: case 12131: case 12132: case 12136: case 12137: case 12138: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 11848: case 11849: case 11850: case 11860: case 11861: case 11862: case 11872: case 11873: case 11874: case 11884: case 11885: case 11886: case 11896: case 11897: case 11898: case 11908: case 11909: case 11910: case 11920: case 11921: case 11922: case 11932: case 11933: case 11934: case 11944: case 11945: case 11946: case 11956: case 11957: case 11958: case 11968: case 11969: case 11970: case 11980: case 11981: case 11982: case 11992: case 11993: case 11994: case 12004: case 12005: case 12006: case 12016: case 12017: case 12018: case 12028: case 12029: case 12030: case 12040: case 12041: case 12042: case 12052: case 12053: case 12054: case 12064: case 12065: case 12066: case 12076: case 12077: case 12078: case 12088: case 12089: case 12090: case 12100: case 12101: case 12102: case 12112: case 12113: case 12114: case 12124: case 12125: case 12126: case 12136: case 12137: case 12138: case 12148: case 12149: case 12150: case 12160: case 12161: case 12162: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 11843: case 11849: case 11855: case 11861: case 11867: case 11873: case 11879: case 11885: case 11891: case 11897: case 11903: case 11909: case 11915: case 11921: case 11927: case 11933: case 11939: case 11945: case 11951: case 11957: case 11963: case 11969: case 11975: case 11981: case 11987: case 11993: case 11999: case 12005: case 12011: case 12017: case 12023: case 12029: case 12035: case 12041: case 12047: case 12053: case 12059: case 12065: case 12071: case 12077: case 12083: case 12089: case 12095: case 12101: case 12107: case 12113: case 12119: case 12125: case 12131: case 12137: case 12143: case 12149: case 12155: case 12161: return West::Low; - case 11842: case 11848: case 11854: case 11860: case 11866: case 11872: case 11878: case 11884: case 11890: case 11896: case 11902: case 11908: case 11914: case 11920: case 11926: case 11932: case 11938: case 11944: case 11950: case 11956: case 11962: case 11968: case 11974: case 11980: case 11986: case 11992: case 11998: case 12004: case 12010: case 12016: case 12022: case 12028: case 12034: case 12040: case 12046: case 12052: case 12058: case 12064: case 12070: case 12076: case 12082: case 12088: case 12094: case 12100: case 12106: case 12112: case 12118: case 12124: case 12130: case 12136: case 12142: case 12148: case 12154: case 12160: return West::None; - default: return West::Tall; - } - } - } - namespace MossyStoneBricks - { - } - namespace MovingPiston - { - BlockState MovingPiston() - { - return 1400; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1406: case 1407: return eBlockFace::BLOCK_FACE_XM; - case 1402: case 1403: return eBlockFace::BLOCK_FACE_XP; - case 1410: case 1411: return eBlockFace::BLOCK_FACE_YM; - case 1408: case 1409: return eBlockFace::BLOCK_FACE_YP; - case 1400: case 1401: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 1400: case 1402: case 1404: case 1406: case 1408: case 1410: return Type::Normal; - default: return Type::Sticky; - } - } - } - namespace MushroomStem - { - BlockState MushroomStem() - { - return 4633; - } - bool Down(const BlockState Block) - { - switch (Block.ID) - { - case 4665: case 4666: case 4667: case 4668: case 4669: case 4670: case 4671: case 4672: case 4673: case 4674: case 4675: case 4676: case 4677: case 4678: case 4679: case 4680: case 4681: case 4682: case 4683: case 4684: case 4685: case 4686: case 4687: case 4688: case 4689: case 4690: case 4691: case 4692: case 4693: case 4694: case 4695: case 4696: return false; - default: return true; - } - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 4649: case 4650: case 4651: case 4652: case 4653: case 4654: case 4655: case 4656: case 4657: case 4658: case 4659: case 4660: case 4661: case 4662: case 4663: case 4664: case 4681: case 4682: case 4683: case 4684: case 4685: case 4686: case 4687: case 4688: case 4689: case 4690: case 4691: case 4692: case 4693: case 4694: case 4695: case 4696: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 4641: case 4642: case 4643: case 4644: case 4645: case 4646: case 4647: case 4648: case 4657: case 4658: case 4659: case 4660: case 4661: case 4662: case 4663: case 4664: case 4673: case 4674: case 4675: case 4676: case 4677: case 4678: case 4679: case 4680: case 4689: case 4690: case 4691: case 4692: case 4693: case 4694: case 4695: case 4696: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 4637: case 4638: case 4639: case 4640: case 4645: case 4646: case 4647: case 4648: case 4653: case 4654: case 4655: case 4656: case 4661: case 4662: case 4663: case 4664: case 4669: case 4670: case 4671: case 4672: case 4677: case 4678: case 4679: case 4680: case 4685: case 4686: case 4687: case 4688: case 4693: case 4694: case 4695: case 4696: return false; - default: return true; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 4635: case 4636: case 4639: case 4640: case 4643: case 4644: case 4647: case 4648: case 4651: case 4652: case 4655: case 4656: case 4659: case 4660: case 4663: case 4664: case 4667: case 4668: case 4671: case 4672: case 4675: case 4676: case 4679: case 4680: case 4683: case 4684: case 4687: case 4688: case 4691: case 4692: case 4695: case 4696: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 4634: case 4636: case 4638: case 4640: case 4642: case 4644: case 4646: case 4648: case 4650: case 4652: case 4654: case 4656: case 4658: case 4660: case 4662: case 4664: case 4666: case 4668: case 4670: case 4672: case 4674: case 4676: case 4678: case 4680: case 4682: case 4684: case 4686: case 4688: case 4690: case 4692: case 4694: case 4696: return false; - default: return true; - } - } - } - namespace Mycelium - { - BlockState Mycelium() - { - return 5013; - } - bool Snowy(const BlockState Block) - { - switch (Block.ID) - { - case 5013: return false; - default: return true; - } - } - } - namespace NetherBrickFence - { - BlockState NetherBrickFence() - { - return 5047; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 5034: case 5035: case 5038: case 5039: case 5042: case 5043: case 5046: case 5047: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 5026: case 5027: case 5030: case 5031: case 5042: case 5043: case 5046: case 5047: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 5022: case 5023: case 5030: case 5031: case 5038: case 5039: case 5046: case 5047: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 5019: case 5023: case 5027: case 5031: case 5035: case 5039: case 5043: case 5047: return false; - default: return true; - } - } - } - namespace NetherBrickSlab - { - BlockState NetherBrickSlab() - { - return 8387; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8387: return Type::Bottom; - case 8389: return Type::Double; - default: return Type::Top; - } - } - } - namespace NetherBrickStairs - { - BlockState NetherBrickStairs() - { - return 5059; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5089: case 5091: case 5093: case 5095: case 5097: case 5099: case 5101: case 5103: case 5105: case 5107: return eBlockFace::BLOCK_FACE_XM; - case 5109: case 5111: case 5113: case 5115: case 5117: case 5119: case 5121: case 5123: case 5125: case 5127: return eBlockFace::BLOCK_FACE_XP; - case 5049: case 5051: case 5053: case 5055: case 5057: case 5059: case 5061: case 5063: case 5065: case 5067: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 5059: case 5061: case 5063: case 5065: case 5067: case 5079: case 5081: case 5083: case 5085: case 5087: case 5099: case 5101: case 5103: case 5105: case 5107: case 5119: case 5121: case 5123: case 5125: case 5127: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 5051: case 5061: case 5071: case 5081: case 5091: case 5101: case 5111: case 5121: return Shape::InnerLeft; - case 5053: case 5063: case 5073: case 5083: case 5093: case 5103: case 5113: case 5123: return Shape::InnerRight; - case 5055: case 5065: case 5075: case 5085: case 5095: case 5105: case 5115: case 5125: return Shape::OuterLeft; - case 5057: case 5067: case 5077: case 5087: case 5097: case 5107: case 5117: case 5127: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace NetherBrickWall - { - BlockState NetherBrickWall() - { - return 12814; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 12922: case 12923: case 12924: case 12928: case 12929: case 12930: case 12934: case 12935: case 12936: case 12940: case 12941: case 12942: case 12946: case 12947: case 12948: case 12952: case 12953: case 12954: case 12958: case 12959: case 12960: case 12964: case 12965: case 12966: case 12970: case 12971: case 12972: case 12976: case 12977: case 12978: case 12982: case 12983: case 12984: case 12988: case 12989: case 12990: case 12994: case 12995: case 12996: case 13000: case 13001: case 13002: case 13006: case 13007: case 13008: case 13012: case 13013: case 13014: case 13018: case 13019: case 13020: case 13024: case 13025: case 13026: return East::Low; - case 12814: case 12815: case 12816: case 12820: case 12821: case 12822: case 12826: case 12827: case 12828: case 12832: case 12833: case 12834: case 12838: case 12839: case 12840: case 12844: case 12845: case 12846: case 12850: case 12851: case 12852: case 12856: case 12857: case 12858: case 12862: case 12863: case 12864: case 12868: case 12869: case 12870: case 12874: case 12875: case 12876: case 12880: case 12881: case 12882: case 12886: case 12887: case 12888: case 12892: case 12893: case 12894: case 12898: case 12899: case 12900: case 12904: case 12905: case 12906: case 12910: case 12911: case 12912: case 12916: case 12917: case 12918: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 12850: case 12851: case 12852: case 12856: case 12857: case 12858: case 12862: case 12863: case 12864: case 12868: case 12869: case 12870: case 12874: case 12875: case 12876: case 12880: case 12881: case 12882: case 12958: case 12959: case 12960: case 12964: case 12965: case 12966: case 12970: case 12971: case 12972: case 12976: case 12977: case 12978: case 12982: case 12983: case 12984: case 12988: case 12989: case 12990: case 13066: case 13067: case 13068: case 13072: case 13073: case 13074: case 13078: case 13079: case 13080: case 13084: case 13085: case 13086: case 13090: case 13091: case 13092: case 13096: case 13097: case 13098: return North::Low; - case 12814: case 12815: case 12816: case 12820: case 12821: case 12822: case 12826: case 12827: case 12828: case 12832: case 12833: case 12834: case 12838: case 12839: case 12840: case 12844: case 12845: case 12846: case 12922: case 12923: case 12924: case 12928: case 12929: case 12930: case 12934: case 12935: case 12936: case 12940: case 12941: case 12942: case 12946: case 12947: case 12948: case 12952: case 12953: case 12954: case 13030: case 13031: case 13032: case 13036: case 13037: case 13038: case 13042: case 13043: case 13044: case 13048: case 13049: case 13050: case 13054: case 13055: case 13056: case 13060: case 13061: case 13062: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 12826: case 12827: case 12828: case 12832: case 12833: case 12834: case 12862: case 12863: case 12864: case 12868: case 12869: case 12870: case 12898: case 12899: case 12900: case 12904: case 12905: case 12906: case 12934: case 12935: case 12936: case 12940: case 12941: case 12942: case 12970: case 12971: case 12972: case 12976: case 12977: case 12978: case 13006: case 13007: case 13008: case 13012: case 13013: case 13014: case 13042: case 13043: case 13044: case 13048: case 13049: case 13050: case 13078: case 13079: case 13080: case 13084: case 13085: case 13086: case 13114: case 13115: case 13116: case 13120: case 13121: case 13122: return South::Low; - case 12814: case 12815: case 12816: case 12820: case 12821: case 12822: case 12850: case 12851: case 12852: case 12856: case 12857: case 12858: case 12886: case 12887: case 12888: case 12892: case 12893: case 12894: case 12922: case 12923: case 12924: case 12928: case 12929: case 12930: case 12958: case 12959: case 12960: case 12964: case 12965: case 12966: case 12994: case 12995: case 12996: case 13000: case 13001: case 13002: case 13030: case 13031: case 13032: case 13036: case 13037: case 13038: case 13066: case 13067: case 13068: case 13072: case 13073: case 13074: case 13102: case 13103: case 13104: case 13108: case 13109: case 13110: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 12820: case 12821: case 12822: case 12832: case 12833: case 12834: case 12844: case 12845: case 12846: case 12856: case 12857: case 12858: case 12868: case 12869: case 12870: case 12880: case 12881: case 12882: case 12892: case 12893: case 12894: case 12904: case 12905: case 12906: case 12916: case 12917: case 12918: case 12928: case 12929: case 12930: case 12940: case 12941: case 12942: case 12952: case 12953: case 12954: case 12964: case 12965: case 12966: case 12976: case 12977: case 12978: case 12988: case 12989: case 12990: case 13000: case 13001: case 13002: case 13012: case 13013: case 13014: case 13024: case 13025: case 13026: case 13036: case 13037: case 13038: case 13048: case 13049: case 13050: case 13060: case 13061: case 13062: case 13072: case 13073: case 13074: case 13084: case 13085: case 13086: case 13096: case 13097: case 13098: case 13108: case 13109: case 13110: case 13120: case 13121: case 13122: case 13132: case 13133: case 13134: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 12815: case 12821: case 12827: case 12833: case 12839: case 12845: case 12851: case 12857: case 12863: case 12869: case 12875: case 12881: case 12887: case 12893: case 12899: case 12905: case 12911: case 12917: case 12923: case 12929: case 12935: case 12941: case 12947: case 12953: case 12959: case 12965: case 12971: case 12977: case 12983: case 12989: case 12995: case 13001: case 13007: case 13013: case 13019: case 13025: case 13031: case 13037: case 13043: case 13049: case 13055: case 13061: case 13067: case 13073: case 13079: case 13085: case 13091: case 13097: case 13103: case 13109: case 13115: case 13121: case 13127: case 13133: return West::Low; - case 12814: case 12820: case 12826: case 12832: case 12838: case 12844: case 12850: case 12856: case 12862: case 12868: case 12874: case 12880: case 12886: case 12892: case 12898: case 12904: case 12910: case 12916: case 12922: case 12928: case 12934: case 12940: case 12946: case 12952: case 12958: case 12964: case 12970: case 12976: case 12982: case 12988: case 12994: case 13000: case 13006: case 13012: case 13018: case 13024: case 13030: case 13036: case 13042: case 13048: case 13054: case 13060: case 13066: case 13072: case 13078: case 13084: case 13090: case 13096: case 13102: case 13108: case 13114: case 13120: case 13126: case 13132: return West::None; - default: return West::Tall; - } - } - } - namespace NetherBricks - { - } - namespace NetherGoldOre - { - } - namespace NetherPortal - { - BlockState NetherPortal() - { - return 4014; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 4014: return Axis::X; - default: return Axis::Z; - } - } - } - namespace NetherQuartzOre - { - } - namespace NetherSprouts - { - } - namespace NetherWart - { - BlockState NetherWart() - { - return 5128; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 5128: return 0; - case 5129: return 1; - case 5130: return 2; - default: return 3; - } - } - } - namespace NetherWartBlock - { - } - namespace NetheriteBlock - { - } - namespace Netherrack - { - } - namespace NoteBlock - { - BlockState NoteBlock() - { - return 250; - } - enum Instrument Instrument(const BlockState Block) - { - switch (Block.ID) - { - case 949: case 950: case 951: case 952: case 953: case 954: case 955: case 956: case 957: case 958: case 959: case 960: case 961: case 962: case 963: case 964: case 965: case 966: case 967: case 968: case 969: case 970: case 971: case 972: case 973: case 974: case 975: case 976: case 977: case 978: case 979: case 980: case 981: case 982: case 983: case 984: case 985: case 986: case 987: case 988: case 989: case 990: case 991: case 992: case 993: case 994: case 995: case 996: case 997: case 998: return Instrument::Banjo; - case 299: case 300: case 301: case 302: case 303: case 304: case 305: case 306: case 307: case 308: case 309: case 310: case 311: case 312: case 313: case 314: case 315: case 316: case 317: case 318: case 319: case 320: case 321: case 322: case 323: case 324: case 325: case 326: case 327: case 328: case 329: case 330: case 331: case 332: case 333: case 334: case 335: case 336: case 337: case 338: case 339: case 340: case 341: case 342: case 343: case 344: case 345: case 346: case 347: case 348: return Instrument::Basedrum; - case 449: case 450: case 451: case 452: case 453: case 454: case 455: case 456: case 457: case 458: case 459: case 460: case 461: case 462: case 463: case 464: case 465: case 466: case 467: case 468: case 469: case 470: case 471: case 472: case 473: case 474: case 475: case 476: case 477: case 478: case 479: case 480: case 481: case 482: case 483: case 484: case 485: case 486: case 487: case 488: case 489: case 490: case 491: case 492: case 493: case 494: case 495: case 496: case 497: case 498: return Instrument::Bass; - case 549: case 550: case 551: case 552: case 553: case 554: case 555: case 556: case 557: case 558: case 559: case 560: case 561: case 562: case 563: case 564: case 565: case 566: case 567: case 568: case 569: case 570: case 571: case 572: case 573: case 574: case 575: case 576: case 577: case 578: case 579: case 580: case 581: case 582: case 583: case 584: case 585: case 586: case 587: case 588: case 589: case 590: case 591: case 592: case 593: case 594: case 595: case 596: case 597: case 598: return Instrument::Bell; - case 899: case 900: case 901: case 902: case 903: case 904: case 905: case 906: case 907: case 908: case 909: case 910: case 911: case 912: case 913: case 914: case 915: case 916: case 917: case 918: case 919: case 920: case 921: case 922: case 923: case 924: case 925: case 926: case 927: case 928: case 929: case 930: case 931: case 932: case 933: case 934: case 935: case 936: case 937: case 938: case 939: case 940: case 941: case 942: case 943: case 944: case 945: case 946: case 947: case 948: return Instrument::Bit; - case 649: case 650: case 651: case 652: case 653: case 654: case 655: case 656: case 657: case 658: case 659: case 660: case 661: case 662: case 663: case 664: case 665: case 666: case 667: case 668: case 669: case 670: case 671: case 672: case 673: case 674: case 675: case 676: case 677: case 678: case 679: case 680: case 681: case 682: case 683: case 684: case 685: case 686: case 687: case 688: case 689: case 690: case 691: case 692: case 693: case 694: case 695: case 696: case 697: case 698: return Instrument::Chime; - case 799: case 800: case 801: case 802: case 803: case 804: case 805: case 806: case 807: case 808: case 809: case 810: case 811: case 812: case 813: case 814: case 815: case 816: case 817: case 818: case 819: case 820: case 821: case 822: case 823: case 824: case 825: case 826: case 827: case 828: case 829: case 830: case 831: case 832: case 833: case 834: case 835: case 836: case 837: case 838: case 839: case 840: case 841: case 842: case 843: case 844: case 845: case 846: case 847: case 848: return Instrument::CowBell; - case 849: case 850: case 851: case 852: case 853: case 854: case 855: case 856: case 857: case 858: case 859: case 860: case 861: case 862: case 863: case 864: case 865: case 866: case 867: case 868: case 869: case 870: case 871: case 872: case 873: case 874: case 875: case 876: case 877: case 878: case 879: case 880: case 881: case 882: case 883: case 884: case 885: case 886: case 887: case 888: case 889: case 890: case 891: case 892: case 893: case 894: case 895: case 896: case 897: case 898: return Instrument::Didgeridoo; - case 499: case 500: case 501: case 502: case 503: case 504: case 505: case 506: case 507: case 508: case 509: case 510: case 511: case 512: case 513: case 514: case 515: case 516: case 517: case 518: case 519: case 520: case 521: case 522: case 523: case 524: case 525: case 526: case 527: case 528: case 529: case 530: case 531: case 532: case 533: case 534: case 535: case 536: case 537: case 538: case 539: case 540: case 541: case 542: case 543: case 544: case 545: case 546: case 547: case 548: return Instrument::Flute; - case 599: case 600: case 601: case 602: case 603: case 604: case 605: case 606: case 607: case 608: case 609: case 610: case 611: case 612: case 613: case 614: case 615: case 616: case 617: case 618: case 619: case 620: case 621: case 622: case 623: case 624: case 625: case 626: case 627: case 628: case 629: case 630: case 631: case 632: case 633: case 634: case 635: case 636: case 637: case 638: case 639: case 640: case 641: case 642: case 643: case 644: case 645: case 646: case 647: case 648: return Instrument::Guitar; - case 249: case 250: case 251: case 252: case 253: case 254: case 255: case 256: case 257: case 258: case 259: case 260: case 261: case 262: case 263: case 264: case 265: case 266: case 267: case 268: case 269: case 270: case 271: case 272: case 273: case 274: case 275: case 276: case 277: case 278: case 279: case 280: case 281: case 282: case 283: case 284: case 285: case 286: case 287: case 288: case 289: case 290: case 291: case 292: case 293: case 294: case 295: case 296: case 297: case 298: return Instrument::Harp; - case 399: case 400: case 401: case 402: case 403: case 404: case 405: case 406: case 407: case 408: case 409: case 410: case 411: case 412: case 413: case 414: case 415: case 416: case 417: case 418: case 419: case 420: case 421: case 422: case 423: case 424: case 425: case 426: case 427: case 428: case 429: case 430: case 431: case 432: case 433: case 434: case 435: case 436: case 437: case 438: case 439: case 440: case 441: case 442: case 443: case 444: case 445: case 446: case 447: case 448: return Instrument::Hat; - case 749: case 750: case 751: case 752: case 753: case 754: case 755: case 756: case 757: case 758: case 759: case 760: case 761: case 762: case 763: case 764: case 765: case 766: case 767: case 768: case 769: case 770: case 771: case 772: case 773: case 774: case 775: case 776: case 777: case 778: case 779: case 780: case 781: case 782: case 783: case 784: case 785: case 786: case 787: case 788: case 789: case 790: case 791: case 792: case 793: case 794: case 795: case 796: case 797: case 798: return Instrument::IronXylophone; - case 999: case 1000: case 1001: case 1002: case 1003: case 1004: case 1005: case 1006: case 1007: case 1008: case 1009: case 1010: case 1011: case 1012: case 1013: case 1014: case 1015: case 1016: case 1017: case 1018: case 1019: case 1020: case 1021: case 1022: case 1023: case 1024: case 1025: case 1026: case 1027: case 1028: case 1029: case 1030: case 1031: case 1032: case 1033: case 1034: case 1035: case 1036: case 1037: case 1038: case 1039: case 1040: case 1041: case 1042: case 1043: case 1044: case 1045: case 1046: case 1047: case 1048: return Instrument::Pling; - case 349: case 350: case 351: case 352: case 353: case 354: case 355: case 356: case 357: case 358: case 359: case 360: case 361: case 362: case 363: case 364: case 365: case 366: case 367: case 368: case 369: case 370: case 371: case 372: case 373: case 374: case 375: case 376: case 377: case 378: case 379: case 380: case 381: case 382: case 383: case 384: case 385: case 386: case 387: case 388: case 389: case 390: case 391: case 392: case 393: case 394: case 395: case 396: case 397: case 398: return Instrument::Snare; - default: return Instrument::Xylophone; - } - } - unsigned char Note(const BlockState Block) - { - switch (Block.ID) - { - case 249: case 250: case 299: case 300: case 349: case 350: case 399: case 400: case 449: case 450: case 499: case 500: case 549: case 550: case 599: case 600: case 649: case 650: case 699: case 700: case 749: case 750: case 799: case 800: case 849: case 850: case 899: case 900: case 949: case 950: case 999: case 1000: return 0; - case 251: case 252: case 301: case 302: case 351: case 352: case 401: case 402: case 451: case 452: case 501: case 502: case 551: case 552: case 601: case 602: case 651: case 652: case 701: case 702: case 751: case 752: case 801: case 802: case 851: case 852: case 901: case 902: case 951: case 952: case 1001: case 1002: return 1; - case 269: case 270: case 319: case 320: case 369: case 370: case 419: case 420: case 469: case 470: case 519: case 520: case 569: case 570: case 619: case 620: case 669: case 670: case 719: case 720: case 769: case 770: case 819: case 820: case 869: case 870: case 919: case 920: case 969: case 970: case 1019: case 1020: return 10; - case 271: case 272: case 321: case 322: case 371: case 372: case 421: case 422: case 471: case 472: case 521: case 522: case 571: case 572: case 621: case 622: case 671: case 672: case 721: case 722: case 771: case 772: case 821: case 822: case 871: case 872: case 921: case 922: case 971: case 972: case 1021: case 1022: return 11; - case 273: case 274: case 323: case 324: case 373: case 374: case 423: case 424: case 473: case 474: case 523: case 524: case 573: case 574: case 623: case 624: case 673: case 674: case 723: case 724: case 773: case 774: case 823: case 824: case 873: case 874: case 923: case 924: case 973: case 974: case 1023: case 1024: return 12; - case 275: case 276: case 325: case 326: case 375: case 376: case 425: case 426: case 475: case 476: case 525: case 526: case 575: case 576: case 625: case 626: case 675: case 676: case 725: case 726: case 775: case 776: case 825: case 826: case 875: case 876: case 925: case 926: case 975: case 976: case 1025: case 1026: return 13; - case 277: case 278: case 327: case 328: case 377: case 378: case 427: case 428: case 477: case 478: case 527: case 528: case 577: case 578: case 627: case 628: case 677: case 678: case 727: case 728: case 777: case 778: case 827: case 828: case 877: case 878: case 927: case 928: case 977: case 978: case 1027: case 1028: return 14; - case 279: case 280: case 329: case 330: case 379: case 380: case 429: case 430: case 479: case 480: case 529: case 530: case 579: case 580: case 629: case 630: case 679: case 680: case 729: case 730: case 779: case 780: case 829: case 830: case 879: case 880: case 929: case 930: case 979: case 980: case 1029: case 1030: return 15; - case 281: case 282: case 331: case 332: case 381: case 382: case 431: case 432: case 481: case 482: case 531: case 532: case 581: case 582: case 631: case 632: case 681: case 682: case 731: case 732: case 781: case 782: case 831: case 832: case 881: case 882: case 931: case 932: case 981: case 982: case 1031: case 1032: return 16; - case 283: case 284: case 333: case 334: case 383: case 384: case 433: case 434: case 483: case 484: case 533: case 534: case 583: case 584: case 633: case 634: case 683: case 684: case 733: case 734: case 783: case 784: case 833: case 834: case 883: case 884: case 933: case 934: case 983: case 984: case 1033: case 1034: return 17; - case 285: case 286: case 335: case 336: case 385: case 386: case 435: case 436: case 485: case 486: case 535: case 536: case 585: case 586: case 635: case 636: case 685: case 686: case 735: case 736: case 785: case 786: case 835: case 836: case 885: case 886: case 935: case 936: case 985: case 986: case 1035: case 1036: return 18; - case 287: case 288: case 337: case 338: case 387: case 388: case 437: case 438: case 487: case 488: case 537: case 538: case 587: case 588: case 637: case 638: case 687: case 688: case 737: case 738: case 787: case 788: case 837: case 838: case 887: case 888: case 937: case 938: case 987: case 988: case 1037: case 1038: return 19; - case 253: case 254: case 303: case 304: case 353: case 354: case 403: case 404: case 453: case 454: case 503: case 504: case 553: case 554: case 603: case 604: case 653: case 654: case 703: case 704: case 753: case 754: case 803: case 804: case 853: case 854: case 903: case 904: case 953: case 954: case 1003: case 1004: return 2; - case 289: case 290: case 339: case 340: case 389: case 390: case 439: case 440: case 489: case 490: case 539: case 540: case 589: case 590: case 639: case 640: case 689: case 690: case 739: case 740: case 789: case 790: case 839: case 840: case 889: case 890: case 939: case 940: case 989: case 990: case 1039: case 1040: return 20; - case 291: case 292: case 341: case 342: case 391: case 392: case 441: case 442: case 491: case 492: case 541: case 542: case 591: case 592: case 641: case 642: case 691: case 692: case 741: case 742: case 791: case 792: case 841: case 842: case 891: case 892: case 941: case 942: case 991: case 992: case 1041: case 1042: return 21; - case 293: case 294: case 343: case 344: case 393: case 394: case 443: case 444: case 493: case 494: case 543: case 544: case 593: case 594: case 643: case 644: case 693: case 694: case 743: case 744: case 793: case 794: case 843: case 844: case 893: case 894: case 943: case 944: case 993: case 994: case 1043: case 1044: return 22; - case 295: case 296: case 345: case 346: case 395: case 396: case 445: case 446: case 495: case 496: case 545: case 546: case 595: case 596: case 645: case 646: case 695: case 696: case 745: case 746: case 795: case 796: case 845: case 846: case 895: case 896: case 945: case 946: case 995: case 996: case 1045: case 1046: return 23; - case 297: case 298: case 347: case 348: case 397: case 398: case 447: case 448: case 497: case 498: case 547: case 548: case 597: case 598: case 647: case 648: case 697: case 698: case 747: case 748: case 797: case 798: case 847: case 848: case 897: case 898: case 947: case 948: case 997: case 998: case 1047: case 1048: return 24; - case 255: case 256: case 305: case 306: case 355: case 356: case 405: case 406: case 455: case 456: case 505: case 506: case 555: case 556: case 605: case 606: case 655: case 656: case 705: case 706: case 755: case 756: case 805: case 806: case 855: case 856: case 905: case 906: case 955: case 956: case 1005: case 1006: return 3; - case 257: case 258: case 307: case 308: case 357: case 358: case 407: case 408: case 457: case 458: case 507: case 508: case 557: case 558: case 607: case 608: case 657: case 658: case 707: case 708: case 757: case 758: case 807: case 808: case 857: case 858: case 907: case 908: case 957: case 958: case 1007: case 1008: return 4; - case 259: case 260: case 309: case 310: case 359: case 360: case 409: case 410: case 459: case 460: case 509: case 510: case 559: case 560: case 609: case 610: case 659: case 660: case 709: case 710: case 759: case 760: case 809: case 810: case 859: case 860: case 909: case 910: case 959: case 960: case 1009: case 1010: return 5; - case 261: case 262: case 311: case 312: case 361: case 362: case 411: case 412: case 461: case 462: case 511: case 512: case 561: case 562: case 611: case 612: case 661: case 662: case 711: case 712: case 761: case 762: case 811: case 812: case 861: case 862: case 911: case 912: case 961: case 962: case 1011: case 1012: return 6; - case 263: case 264: case 313: case 314: case 363: case 364: case 413: case 414: case 463: case 464: case 513: case 514: case 563: case 564: case 613: case 614: case 663: case 664: case 713: case 714: case 763: case 764: case 813: case 814: case 863: case 864: case 913: case 914: case 963: case 964: case 1013: case 1014: return 7; - case 265: case 266: case 315: case 316: case 365: case 366: case 415: case 416: case 465: case 466: case 515: case 516: case 565: case 566: case 615: case 616: case 665: case 666: case 715: case 716: case 765: case 766: case 815: case 816: case 865: case 866: case 915: case 916: case 965: case 966: case 1015: case 1016: return 8; - default: return 9; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 250: case 252: case 254: case 256: case 258: case 260: case 262: case 264: case 266: case 268: case 270: case 272: case 274: case 276: case 278: case 280: case 282: case 284: case 286: case 288: case 290: case 292: case 294: case 296: case 298: case 300: case 302: case 304: case 306: case 308: case 310: case 312: case 314: case 316: case 318: case 320: case 322: case 324: case 326: case 328: case 330: case 332: case 334: case 336: case 338: case 340: case 342: case 344: case 346: case 348: case 350: case 352: case 354: case 356: case 358: case 360: case 362: case 364: case 366: case 368: case 370: case 372: case 374: case 376: case 378: case 380: case 382: case 384: case 386: case 388: case 390: case 392: case 394: case 396: case 398: case 400: case 402: case 404: case 406: case 408: case 410: case 412: case 414: case 416: case 418: case 420: case 422: case 424: case 426: case 428: case 430: case 432: case 434: case 436: case 438: case 440: case 442: case 444: case 446: case 448: case 450: case 452: case 454: case 456: case 458: case 460: case 462: case 464: case 466: case 468: case 470: case 472: case 474: case 476: case 478: case 480: case 482: case 484: case 486: case 488: case 490: case 492: case 494: case 496: case 498: case 500: case 502: case 504: case 506: case 508: case 510: case 512: case 514: case 516: case 518: case 520: case 522: case 524: case 526: case 528: case 530: case 532: case 534: case 536: case 538: case 540: case 542: case 544: case 546: case 548: case 550: case 552: case 554: case 556: case 558: case 560: case 562: case 564: case 566: case 568: case 570: case 572: case 574: case 576: case 578: case 580: case 582: case 584: case 586: case 588: case 590: case 592: case 594: case 596: case 598: case 600: case 602: case 604: case 606: case 608: case 610: case 612: case 614: case 616: case 618: case 620: case 622: case 624: case 626: case 628: case 630: case 632: case 634: case 636: case 638: case 640: case 642: case 644: case 646: case 648: case 650: case 652: case 654: case 656: case 658: case 660: case 662: case 664: case 666: case 668: case 670: case 672: case 674: case 676: case 678: case 680: case 682: case 684: case 686: case 688: case 690: case 692: case 694: case 696: case 698: case 700: case 702: case 704: case 706: case 708: case 710: case 712: case 714: case 716: case 718: case 720: case 722: case 724: case 726: case 728: case 730: case 732: case 734: case 736: case 738: case 740: case 742: case 744: case 746: case 748: case 750: case 752: case 754: case 756: case 758: case 760: case 762: case 764: case 766: case 768: case 770: case 772: case 774: case 776: case 778: case 780: case 782: case 784: case 786: case 788: case 790: case 792: case 794: case 796: case 798: case 800: case 802: case 804: case 806: case 808: case 810: case 812: case 814: case 816: case 818: case 820: case 822: case 824: case 826: case 828: case 830: case 832: case 834: case 836: case 838: case 840: case 842: case 844: case 846: case 848: case 850: case 852: case 854: case 856: case 858: case 860: case 862: case 864: case 866: case 868: case 870: case 872: case 874: case 876: case 878: case 880: case 882: case 884: case 886: case 888: case 890: case 892: case 894: case 896: case 898: case 900: case 902: case 904: case 906: case 908: case 910: case 912: case 914: case 916: case 918: case 920: case 922: case 924: case 926: case 928: case 930: case 932: case 934: case 936: case 938: case 940: case 942: case 944: case 946: case 948: case 950: case 952: case 954: case 956: case 958: case 960: case 962: case 964: case 966: case 968: case 970: case 972: case 974: case 976: case 978: case 980: case 982: case 984: case 986: case 988: case 990: case 992: case 994: case 996: case 998: case 1000: case 1002: case 1004: case 1006: case 1008: case 1010: case 1012: case 1014: case 1016: case 1018: case 1020: case 1022: case 1024: case 1026: case 1028: case 1030: case 1032: case 1034: case 1036: case 1038: case 1040: case 1042: case 1044: case 1046: case 1048: return false; - default: return true; - } - } - } - namespace OakButton - { - BlockState OakButton() - { - return 6355; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 6362: case 6363: case 6364: case 6365: case 6366: case 6367: case 6368: case 6369: return Face::Ceiling; - case 6346: case 6347: case 6348: case 6349: case 6350: case 6351: case 6352: case 6353: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6350: case 6351: case 6358: case 6359: case 6366: case 6367: return eBlockFace::BLOCK_FACE_XM; - case 6352: case 6353: case 6360: case 6361: case 6368: case 6369: return eBlockFace::BLOCK_FACE_XP; - case 6346: case 6347: case 6354: case 6355: case 6362: case 6363: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 6347: case 6349: case 6351: case 6353: case 6355: case 6357: case 6359: case 6361: case 6363: case 6365: case 6367: case 6369: return false; - default: return true; - } - } - } - namespace OakDoor - { - BlockState OakDoor() - { - return 3584; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3605: case 3606: case 3607: case 3608: case 3609: case 3610: case 3611: case 3612: case 3613: case 3614: case 3615: case 3616: case 3617: case 3618: case 3619: case 3620: return eBlockFace::BLOCK_FACE_XM; - case 3621: case 3622: case 3623: case 3624: case 3625: case 3626: case 3627: case 3628: case 3629: case 3630: case 3631: case 3632: case 3633: case 3634: case 3635: case 3636: return eBlockFace::BLOCK_FACE_XP; - case 3573: case 3574: case 3575: case 3576: case 3577: case 3578: case 3579: case 3580: case 3581: case 3582: case 3583: case 3584: case 3585: case 3586: case 3587: case 3588: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 3581: case 3582: case 3583: case 3584: case 3585: case 3586: case 3587: case 3588: case 3597: case 3598: case 3599: case 3600: case 3601: case 3602: case 3603: case 3604: case 3613: case 3614: case 3615: case 3616: case 3617: case 3618: case 3619: case 3620: case 3629: case 3630: case 3631: case 3632: case 3633: case 3634: case 3635: case 3636: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 3573: case 3574: case 3575: case 3576: case 3581: case 3582: case 3583: case 3584: case 3589: case 3590: case 3591: case 3592: case 3597: case 3598: case 3599: case 3600: case 3605: case 3606: case 3607: case 3608: case 3613: case 3614: case 3615: case 3616: case 3621: case 3622: case 3623: case 3624: case 3629: case 3630: case 3631: case 3632: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 3575: case 3576: case 3579: case 3580: case 3583: case 3584: case 3587: case 3588: case 3591: case 3592: case 3595: case 3596: case 3599: case 3600: case 3603: case 3604: case 3607: case 3608: case 3611: case 3612: case 3615: case 3616: case 3619: case 3620: case 3623: case 3624: case 3627: case 3628: case 3631: case 3632: case 3635: case 3636: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3574: case 3576: case 3578: case 3580: case 3582: case 3584: case 3586: case 3588: case 3590: case 3592: case 3594: case 3596: case 3598: case 3600: case 3602: case 3604: case 3606: case 3608: case 3610: case 3612: case 3614: case 3616: case 3618: case 3620: case 3622: case 3624: case 3626: case 3628: case 3630: case 3632: case 3634: case 3636: return false; - default: return true; - } - } - } - namespace OakFence - { - BlockState OakFence() - { - return 3997; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 3984: case 3985: case 3988: case 3989: case 3992: case 3993: case 3996: case 3997: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 3976: case 3977: case 3980: case 3981: case 3992: case 3993: case 3996: case 3997: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 3972: case 3973: case 3980: case 3981: case 3988: case 3989: case 3996: case 3997: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 3969: case 3973: case 3977: case 3981: case 3985: case 3989: case 3993: case 3997: return false; - default: return true; - } - } - } - namespace OakFenceGate - { - BlockState OakFenceGate() - { - return 4827; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4836: case 4837: case 4838: case 4839: case 4840: case 4841: case 4842: case 4843: return eBlockFace::BLOCK_FACE_XM; - case 4844: case 4845: case 4846: case 4847: case 4848: case 4849: case 4850: case 4851: return eBlockFace::BLOCK_FACE_XP; - case 4820: case 4821: case 4822: case 4823: case 4824: case 4825: case 4826: case 4827: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool InWall(const BlockState Block) - { - switch (Block.ID) - { - case 4824: case 4825: case 4826: case 4827: case 4832: case 4833: case 4834: case 4835: case 4840: case 4841: case 4842: case 4843: case 4848: case 4849: case 4850: case 4851: return false; - default: return true; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 4822: case 4823: case 4826: case 4827: case 4830: case 4831: case 4834: case 4835: case 4838: case 4839: case 4842: case 4843: case 4846: case 4847: case 4850: case 4851: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 4821: case 4823: case 4825: case 4827: case 4829: case 4831: case 4833: case 4835: case 4837: case 4839: case 4841: case 4843: case 4845: case 4847: case 4849: case 4851: return false; - default: return true; - } - } - } - namespace OakLeaves - { - BlockState OakLeaves() - { - return 158; - } - unsigned char Distance(const BlockState Block) - { - switch (Block.ID) - { - case 145: case 146: return 1; - case 147: case 148: return 2; - case 149: case 150: return 3; - case 151: case 152: return 4; - case 153: case 154: return 5; - case 155: case 156: return 6; - default: return 7; - } - } - bool Persistent(const BlockState Block) - { - switch (Block.ID) - { - case 146: case 148: case 150: case 152: case 154: case 156: case 158: return false; - default: return true; - } - } - } - namespace OakLog - { - BlockState OakLog() - { - return 74; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 73: return Axis::X; - case 74: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace OakPlanks - { - } - namespace OakPressurePlate - { - BlockState OakPressurePlate() - { - return 3874; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3874: return false; - default: return true; - } - } - } - namespace OakSapling - { - BlockState OakSapling() - { - return 21; - } - unsigned char Stage(const BlockState Block) - { - switch (Block.ID) - { - case 21: return 0; - default: return 1; - } - } - } - namespace OakSign - { - BlockState OakSign() - { - return 3382; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 3382: return 0; - case 3384: return 1; - case 3402: return 10; - case 3404: return 11; - case 3406: return 12; - case 3408: return 13; - case 3410: return 14; - case 3412: return 15; - case 3386: return 2; - case 3388: return 3; - case 3390: return 4; - case 3392: return 5; - case 3394: return 6; - case 3396: return 7; - case 3398: return 8; - default: return 9; - } - } - } - namespace OakSlab - { - BlockState OakSlab() - { - return 8303; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8303: return Type::Bottom; - case 8305: return Type::Double; - default: return Type::Top; - } - } - } - namespace OakStairs - { - BlockState OakStairs() - { - return 1965; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1995: case 1997: case 1999: case 2001: case 2003: case 2005: case 2007: case 2009: case 2011: case 2013: return eBlockFace::BLOCK_FACE_XM; - case 2015: case 2017: case 2019: case 2021: case 2023: case 2025: case 2027: case 2029: case 2031: case 2033: return eBlockFace::BLOCK_FACE_XP; - case 1955: case 1957: case 1959: case 1961: case 1963: case 1965: case 1967: case 1969: case 1971: case 1973: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 1965: case 1967: case 1969: case 1971: case 1973: case 1985: case 1987: case 1989: case 1991: case 1993: case 2005: case 2007: case 2009: case 2011: case 2013: case 2025: case 2027: case 2029: case 2031: case 2033: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 1957: case 1967: case 1977: case 1987: case 1997: case 2007: case 2017: case 2027: return Shape::InnerLeft; - case 1959: case 1969: case 1979: case 1989: case 1999: case 2009: case 2019: case 2029: return Shape::InnerRight; - case 1961: case 1971: case 1981: case 1991: case 2001: case 2011: case 2021: case 2031: return Shape::OuterLeft; - case 1963: case 1973: case 1983: case 1993: case 2003: case 2013: case 2023: case 2033: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace OakTrapdoor - { - BlockState OakTrapdoor() - { - return 4126; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4144: case 4146: case 4148: case 4150: case 4152: case 4154: case 4156: case 4158: return eBlockFace::BLOCK_FACE_XM; - case 4160: case 4162: case 4164: case 4166: case 4168: case 4170: case 4172: case 4174: return eBlockFace::BLOCK_FACE_XP; - case 4112: case 4114: case 4116: case 4118: case 4120: case 4122: case 4124: case 4126: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 4120: case 4122: case 4124: case 4126: case 4136: case 4138: case 4140: case 4142: case 4152: case 4154: case 4156: case 4158: case 4168: case 4170: case 4172: case 4174: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 4116: case 4118: case 4124: case 4126: case 4132: case 4134: case 4140: case 4142: case 4148: case 4150: case 4156: case 4158: case 4164: case 4166: case 4172: case 4174: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 4114: case 4118: case 4122: case 4126: case 4130: case 4134: case 4138: case 4142: case 4146: case 4150: case 4154: case 4158: case 4162: case 4166: case 4170: case 4174: return false; - default: return true; - } - } - } - namespace OakWallSign - { - BlockState OakWallSign() - { - return 3736; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3740: return eBlockFace::BLOCK_FACE_XM; - case 3742: return eBlockFace::BLOCK_FACE_XP; - case 3736: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace OakWood - { - BlockState OakWood() - { - return 110; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 109: return Axis::X; - case 110: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace Observer - { - BlockState Observer() - { - return 9265; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9266: case 9267: return eBlockFace::BLOCK_FACE_XM; - case 9262: case 9263: return eBlockFace::BLOCK_FACE_XP; - case 9270: case 9271: return eBlockFace::BLOCK_FACE_YM; - case 9268: case 9269: return eBlockFace::BLOCK_FACE_YP; - case 9260: case 9261: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 9261: case 9263: case 9265: case 9267: case 9269: case 9271: return false; - default: return true; - } - } - } - namespace Obsidian - { - } - namespace OrangeBanner - { - BlockState OrangeBanner() - { - return 7913; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 7913: return 0; - case 7914: return 1; - case 7923: return 10; - case 7924: return 11; - case 7925: return 12; - case 7926: return 13; - case 7927: return 14; - case 7928: return 15; - case 7915: return 2; - case 7916: return 3; - case 7917: return 4; - case 7918: return 5; - case 7919: return 6; - case 7920: return 7; - case 7921: return 8; - default: return 9; - } - } - } - namespace OrangeBed - { - BlockState OrangeBed() - { - return 1068; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1073: case 1074: case 1075: case 1076: return eBlockFace::BLOCK_FACE_XM; - case 1077: case 1078: case 1079: case 1080: return eBlockFace::BLOCK_FACE_XP; - case 1065: case 1066: case 1067: case 1068: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1067: case 1068: case 1071: case 1072: case 1075: case 1076: case 1079: case 1080: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1066: case 1068: case 1070: case 1072: case 1074: case 1076: case 1078: case 1080: return Part::Foot; - default: return Part::Head; - } - } - } - namespace OrangeCarpet - { - } - namespace OrangeConcrete - { - } - namespace OrangeConcretePowder - { - } - namespace OrangeGlazedTerracotta - { - BlockState OrangeGlazedTerracotta() - { - return 9378; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9380: return eBlockFace::BLOCK_FACE_XM; - case 9381: return eBlockFace::BLOCK_FACE_XP; - case 9378: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace OrangeShulkerBox - { - BlockState OrangeShulkerBox() - { - return 9288; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9287: return eBlockFace::BLOCK_FACE_XM; - case 9285: return eBlockFace::BLOCK_FACE_XP; - case 9289: return eBlockFace::BLOCK_FACE_YM; - case 9288: return eBlockFace::BLOCK_FACE_YP; - case 9284: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace OrangeStainedGlass - { - } - namespace OrangeStainedGlassPane - { - BlockState OrangeStainedGlassPane() - { - return 6926; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 6913: case 6914: case 6917: case 6918: case 6921: case 6922: case 6925: case 6926: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 6905: case 6906: case 6909: case 6910: case 6921: case 6922: case 6925: case 6926: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 6901: case 6902: case 6909: case 6910: case 6917: case 6918: case 6925: case 6926: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 6898: case 6902: case 6906: case 6910: case 6914: case 6918: case 6922: case 6926: return false; - default: return true; - } - } - } - namespace OrangeTerracotta - { - } - namespace OrangeTulip - { - } - namespace OrangeWallBanner - { - BlockState OrangeWallBanner() - { - return 8157; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8159: return eBlockFace::BLOCK_FACE_XM; - case 8160: return eBlockFace::BLOCK_FACE_XP; - case 8157: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace OrangeWool - { - } - namespace OxeyeDaisy - { - } - namespace PackedIce - { - } - namespace Peony - { - BlockState Peony() - { - return 7892; - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7892: return Half::Lower; - default: return Half::Upper; - } - } - } - namespace PetrifiedOakSlab - { - BlockState PetrifiedOakSlab() - { - return 8363; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8363: return Type::Bottom; - case 8365: return Type::Double; - default: return Type::Top; - } - } - } - namespace PinkBanner - { - BlockState PinkBanner() - { - return 7993; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 7993: return 0; - case 7994: return 1; - case 8003: return 10; - case 8004: return 11; - case 8005: return 12; - case 8006: return 13; - case 8007: return 14; - case 8008: return 15; - case 7995: return 2; - case 7996: return 3; - case 7997: return 4; - case 7998: return 5; - case 7999: return 6; - case 8000: return 7; - case 8001: return 8; - default: return 9; - } - } - } - namespace PinkBed - { - BlockState PinkBed() - { - return 1148; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1153: case 1154: case 1155: case 1156: return eBlockFace::BLOCK_FACE_XM; - case 1157: case 1158: case 1159: case 1160: return eBlockFace::BLOCK_FACE_XP; - case 1145: case 1146: case 1147: case 1148: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1147: case 1148: case 1151: case 1152: case 1155: case 1156: case 1159: case 1160: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1146: case 1148: case 1150: case 1152: case 1154: case 1156: case 1158: case 1160: return Part::Foot; - default: return Part::Head; - } - } - } - namespace PinkCarpet - { - } - namespace PinkConcrete - { - } - namespace PinkConcretePowder - { - } - namespace PinkGlazedTerracotta - { - BlockState PinkGlazedTerracotta() - { - return 9398; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9400: return eBlockFace::BLOCK_FACE_XM; - case 9401: return eBlockFace::BLOCK_FACE_XP; - case 9398: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace PinkShulkerBox - { - BlockState PinkShulkerBox() - { - return 9318; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9317: return eBlockFace::BLOCK_FACE_XM; - case 9315: return eBlockFace::BLOCK_FACE_XP; - case 9319: return eBlockFace::BLOCK_FACE_YM; - case 9318: return eBlockFace::BLOCK_FACE_YP; - case 9314: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace PinkStainedGlass - { - } - namespace PinkStainedGlassPane - { - BlockState PinkStainedGlassPane() - { - return 7086; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7073: case 7074: case 7077: case 7078: case 7081: case 7082: case 7085: case 7086: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7065: case 7066: case 7069: case 7070: case 7081: case 7082: case 7085: case 7086: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7061: case 7062: case 7069: case 7070: case 7077: case 7078: case 7085: case 7086: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7058: case 7062: case 7066: case 7070: case 7074: case 7078: case 7082: case 7086: return false; - default: return true; - } - } - } - namespace PinkTerracotta - { - } - namespace PinkTulip - { - } - namespace PinkWallBanner - { - BlockState PinkWallBanner() - { - return 8177; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8179: return eBlockFace::BLOCK_FACE_XM; - case 8180: return eBlockFace::BLOCK_FACE_XP; - case 8177: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace PinkWool - { - } - namespace Piston - { - BlockState Piston() - { - return 1354; - } - bool Extended(const BlockState Block) - { - switch (Block.ID) - { - case 1354: case 1355: case 1356: case 1357: case 1358: case 1359: return false; - default: return true; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1351: case 1357: return eBlockFace::BLOCK_FACE_XM; - case 1349: case 1355: return eBlockFace::BLOCK_FACE_XP; - case 1353: case 1359: return eBlockFace::BLOCK_FACE_YM; - case 1352: case 1358: return eBlockFace::BLOCK_FACE_YP; - case 1348: case 1354: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace PistonHead - { - BlockState PistonHead() - { - return 1362; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1372: case 1373: case 1374: case 1375: return eBlockFace::BLOCK_FACE_XM; - case 1364: case 1365: case 1366: case 1367: return eBlockFace::BLOCK_FACE_XP; - case 1380: case 1381: case 1382: case 1383: return eBlockFace::BLOCK_FACE_YM; - case 1376: case 1377: case 1378: case 1379: return eBlockFace::BLOCK_FACE_YP; - case 1360: case 1361: case 1362: case 1363: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Short(const BlockState Block) - { - switch (Block.ID) - { - case 1362: case 1363: case 1366: case 1367: case 1370: case 1371: case 1374: case 1375: case 1378: case 1379: case 1382: case 1383: return false; - default: return true; - } - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 1360: case 1362: case 1364: case 1366: case 1368: case 1370: case 1372: case 1374: case 1376: case 1378: case 1380: case 1382: return Type::Normal; - default: return Type::Sticky; - } - } - } - namespace PlayerHead - { - BlockState PlayerHead() - { - return 6550; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 6550: return 0; - case 6551: return 1; - case 6560: return 10; - case 6561: return 11; - case 6562: return 12; - case 6563: return 13; - case 6564: return 14; - case 6565: return 15; - case 6552: return 2; - case 6553: return 3; - case 6554: return 4; - case 6555: return 5; - case 6556: return 6; - case 6557: return 7; - case 6558: return 8; - default: return 9; - } - } - } - namespace PlayerWallHead - { - BlockState PlayerWallHead() - { - return 6566; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6568: return eBlockFace::BLOCK_FACE_XM; - case 6569: return eBlockFace::BLOCK_FACE_XP; - case 6566: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Podzol - { - BlockState Podzol() - { - return 13; - } - bool Snowy(const BlockState Block) - { - switch (Block.ID) - { - case 13: return false; - default: return true; - } - } - } - namespace PolishedAndesite - { - } - namespace PolishedAndesiteSlab - { - BlockState PolishedAndesiteSlab() - { - return 10858; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10858: return Type::Bottom; - case 10860: return Type::Double; - default: return Type::Top; - } - } - } - namespace PolishedAndesiteStairs - { - BlockState PolishedAndesiteStairs() - { - return 10640; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10670: case 10672: case 10674: case 10676: case 10678: case 10680: case 10682: case 10684: case 10686: case 10688: return eBlockFace::BLOCK_FACE_XM; - case 10690: case 10692: case 10694: case 10696: case 10698: case 10700: case 10702: case 10704: case 10706: case 10708: return eBlockFace::BLOCK_FACE_XP; - case 10630: case 10632: case 10634: case 10636: case 10638: case 10640: case 10642: case 10644: case 10646: case 10648: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10640: case 10642: case 10644: case 10646: case 10648: case 10660: case 10662: case 10664: case 10666: case 10668: case 10680: case 10682: case 10684: case 10686: case 10688: case 10700: case 10702: case 10704: case 10706: case 10708: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10632: case 10642: case 10652: case 10662: case 10672: case 10682: case 10692: case 10702: return Shape::InnerLeft; - case 10634: case 10644: case 10654: case 10664: case 10674: case 10684: case 10694: case 10704: return Shape::InnerRight; - case 10636: case 10646: case 10656: case 10666: case 10676: case 10686: case 10696: case 10706: return Shape::OuterLeft; - case 10638: case 10648: case 10658: case 10668: case 10678: case 10688: case 10698: case 10708: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace PolishedBasalt - { - BlockState PolishedBasalt() - { - return 4006; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 4005: return Axis::X; - case 4006: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace PolishedBlackstone - { - } - namespace PolishedBlackstoneBrickSlab - { - BlockState PolishedBlackstoneBrickSlab() - { - return 16257; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 16257: return Type::Bottom; - case 16259: return Type::Double; - default: return Type::Top; - } - } - } - namespace PolishedBlackstoneBrickStairs - { - BlockState PolishedBlackstoneBrickStairs() - { - return 16271; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 16301: case 16303: case 16305: case 16307: case 16309: case 16311: case 16313: case 16315: case 16317: case 16319: return eBlockFace::BLOCK_FACE_XM; - case 16321: case 16323: case 16325: case 16327: case 16329: case 16331: case 16333: case 16335: case 16337: case 16339: return eBlockFace::BLOCK_FACE_XP; - case 16261: case 16263: case 16265: case 16267: case 16269: case 16271: case 16273: case 16275: case 16277: case 16279: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 16271: case 16273: case 16275: case 16277: case 16279: case 16291: case 16293: case 16295: case 16297: case 16299: case 16311: case 16313: case 16315: case 16317: case 16319: case 16331: case 16333: case 16335: case 16337: case 16339: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 16263: case 16273: case 16283: case 16293: case 16303: case 16313: case 16323: case 16333: return Shape::InnerLeft; - case 16265: case 16275: case 16285: case 16295: case 16305: case 16315: case 16325: case 16335: return Shape::InnerRight; - case 16267: case 16277: case 16287: case 16297: case 16307: case 16317: case 16327: case 16337: return Shape::OuterLeft; - case 16269: case 16279: case 16289: case 16299: case 16309: case 16319: case 16329: case 16339: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace PolishedBlackstoneBrickWall - { - BlockState PolishedBlackstoneBrickWall() - { - return 16343; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 16451: case 16452: case 16453: case 16457: case 16458: case 16459: case 16463: case 16464: case 16465: case 16469: case 16470: case 16471: case 16475: case 16476: case 16477: case 16481: case 16482: case 16483: case 16487: case 16488: case 16489: case 16493: case 16494: case 16495: case 16499: case 16500: case 16501: case 16505: case 16506: case 16507: case 16511: case 16512: case 16513: case 16517: case 16518: case 16519: case 16523: case 16524: case 16525: case 16529: case 16530: case 16531: case 16535: case 16536: case 16537: case 16541: case 16542: case 16543: case 16547: case 16548: case 16549: case 16553: case 16554: case 16555: return East::Low; - case 16343: case 16344: case 16345: case 16349: case 16350: case 16351: case 16355: case 16356: case 16357: case 16361: case 16362: case 16363: case 16367: case 16368: case 16369: case 16373: case 16374: case 16375: case 16379: case 16380: case 16381: case 16385: case 16386: case 16387: case 16391: case 16392: case 16393: case 16397: case 16398: case 16399: case 16403: case 16404: case 16405: case 16409: case 16410: case 16411: case 16415: case 16416: case 16417: case 16421: case 16422: case 16423: case 16427: case 16428: case 16429: case 16433: case 16434: case 16435: case 16439: case 16440: case 16441: case 16445: case 16446: case 16447: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 16379: case 16380: case 16381: case 16385: case 16386: case 16387: case 16391: case 16392: case 16393: case 16397: case 16398: case 16399: case 16403: case 16404: case 16405: case 16409: case 16410: case 16411: case 16487: case 16488: case 16489: case 16493: case 16494: case 16495: case 16499: case 16500: case 16501: case 16505: case 16506: case 16507: case 16511: case 16512: case 16513: case 16517: case 16518: case 16519: case 16595: case 16596: case 16597: case 16601: case 16602: case 16603: case 16607: case 16608: case 16609: case 16613: case 16614: case 16615: case 16619: case 16620: case 16621: case 16625: case 16626: case 16627: return North::Low; - case 16343: case 16344: case 16345: case 16349: case 16350: case 16351: case 16355: case 16356: case 16357: case 16361: case 16362: case 16363: case 16367: case 16368: case 16369: case 16373: case 16374: case 16375: case 16451: case 16452: case 16453: case 16457: case 16458: case 16459: case 16463: case 16464: case 16465: case 16469: case 16470: case 16471: case 16475: case 16476: case 16477: case 16481: case 16482: case 16483: case 16559: case 16560: case 16561: case 16565: case 16566: case 16567: case 16571: case 16572: case 16573: case 16577: case 16578: case 16579: case 16583: case 16584: case 16585: case 16589: case 16590: case 16591: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 16355: case 16356: case 16357: case 16361: case 16362: case 16363: case 16391: case 16392: case 16393: case 16397: case 16398: case 16399: case 16427: case 16428: case 16429: case 16433: case 16434: case 16435: case 16463: case 16464: case 16465: case 16469: case 16470: case 16471: case 16499: case 16500: case 16501: case 16505: case 16506: case 16507: case 16535: case 16536: case 16537: case 16541: case 16542: case 16543: case 16571: case 16572: case 16573: case 16577: case 16578: case 16579: case 16607: case 16608: case 16609: case 16613: case 16614: case 16615: case 16643: case 16644: case 16645: case 16649: case 16650: case 16651: return South::Low; - case 16343: case 16344: case 16345: case 16349: case 16350: case 16351: case 16379: case 16380: case 16381: case 16385: case 16386: case 16387: case 16415: case 16416: case 16417: case 16421: case 16422: case 16423: case 16451: case 16452: case 16453: case 16457: case 16458: case 16459: case 16487: case 16488: case 16489: case 16493: case 16494: case 16495: case 16523: case 16524: case 16525: case 16529: case 16530: case 16531: case 16559: case 16560: case 16561: case 16565: case 16566: case 16567: case 16595: case 16596: case 16597: case 16601: case 16602: case 16603: case 16631: case 16632: case 16633: case 16637: case 16638: case 16639: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 16349: case 16350: case 16351: case 16361: case 16362: case 16363: case 16373: case 16374: case 16375: case 16385: case 16386: case 16387: case 16397: case 16398: case 16399: case 16409: case 16410: case 16411: case 16421: case 16422: case 16423: case 16433: case 16434: case 16435: case 16445: case 16446: case 16447: case 16457: case 16458: case 16459: case 16469: case 16470: case 16471: case 16481: case 16482: case 16483: case 16493: case 16494: case 16495: case 16505: case 16506: case 16507: case 16517: case 16518: case 16519: case 16529: case 16530: case 16531: case 16541: case 16542: case 16543: case 16553: case 16554: case 16555: case 16565: case 16566: case 16567: case 16577: case 16578: case 16579: case 16589: case 16590: case 16591: case 16601: case 16602: case 16603: case 16613: case 16614: case 16615: case 16625: case 16626: case 16627: case 16637: case 16638: case 16639: case 16649: case 16650: case 16651: case 16661: case 16662: case 16663: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 16344: case 16350: case 16356: case 16362: case 16368: case 16374: case 16380: case 16386: case 16392: case 16398: case 16404: case 16410: case 16416: case 16422: case 16428: case 16434: case 16440: case 16446: case 16452: case 16458: case 16464: case 16470: case 16476: case 16482: case 16488: case 16494: case 16500: case 16506: case 16512: case 16518: case 16524: case 16530: case 16536: case 16542: case 16548: case 16554: case 16560: case 16566: case 16572: case 16578: case 16584: case 16590: case 16596: case 16602: case 16608: case 16614: case 16620: case 16626: case 16632: case 16638: case 16644: case 16650: case 16656: case 16662: return West::Low; - case 16343: case 16349: case 16355: case 16361: case 16367: case 16373: case 16379: case 16385: case 16391: case 16397: case 16403: case 16409: case 16415: case 16421: case 16427: case 16433: case 16439: case 16445: case 16451: case 16457: case 16463: case 16469: case 16475: case 16481: case 16487: case 16493: case 16499: case 16505: case 16511: case 16517: case 16523: case 16529: case 16535: case 16541: case 16547: case 16553: case 16559: case 16565: case 16571: case 16577: case 16583: case 16589: case 16595: case 16601: case 16607: case 16613: case 16619: case 16625: case 16631: case 16637: case 16643: case 16649: case 16655: case 16661: return West::None; - default: return West::Tall; - } - } - } - namespace PolishedBlackstoneBricks - { - } - namespace PolishedBlackstoneButton - { - BlockState PolishedBlackstoneButton() - { - return 16762; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 16769: case 16770: case 16771: case 16772: case 16773: case 16774: case 16775: case 16776: return Face::Ceiling; - case 16753: case 16754: case 16755: case 16756: case 16757: case 16758: case 16759: case 16760: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 16757: case 16758: case 16765: case 16766: case 16773: case 16774: return eBlockFace::BLOCK_FACE_XM; - case 16759: case 16760: case 16767: case 16768: case 16775: case 16776: return eBlockFace::BLOCK_FACE_XP; - case 16753: case 16754: case 16761: case 16762: case 16769: case 16770: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 16754: case 16756: case 16758: case 16760: case 16762: case 16764: case 16766: case 16768: case 16770: case 16772: case 16774: case 16776: return false; - default: return true; - } - } - } - namespace PolishedBlackstonePressurePlate - { - BlockState PolishedBlackstonePressurePlate() - { - return 16752; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 16752: return false; - default: return true; - } - } - } - namespace PolishedBlackstoneSlab - { - BlockState PolishedBlackstoneSlab() - { - return 16748; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 16748: return Type::Bottom; - case 16750: return Type::Double; - default: return Type::Top; - } - } - } - namespace PolishedBlackstoneStairs - { - BlockState PolishedBlackstoneStairs() - { - return 16676; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 16706: case 16708: case 16710: case 16712: case 16714: case 16716: case 16718: case 16720: case 16722: case 16724: return eBlockFace::BLOCK_FACE_XM; - case 16726: case 16728: case 16730: case 16732: case 16734: case 16736: case 16738: case 16740: case 16742: case 16744: return eBlockFace::BLOCK_FACE_XP; - case 16666: case 16668: case 16670: case 16672: case 16674: case 16676: case 16678: case 16680: case 16682: case 16684: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 16676: case 16678: case 16680: case 16682: case 16684: case 16696: case 16698: case 16700: case 16702: case 16704: case 16716: case 16718: case 16720: case 16722: case 16724: case 16736: case 16738: case 16740: case 16742: case 16744: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 16668: case 16678: case 16688: case 16698: case 16708: case 16718: case 16728: case 16738: return Shape::InnerLeft; - case 16670: case 16680: case 16690: case 16700: case 16710: case 16720: case 16730: case 16740: return Shape::InnerRight; - case 16672: case 16682: case 16692: case 16702: case 16712: case 16722: case 16732: case 16742: return Shape::OuterLeft; - case 16674: case 16684: case 16694: case 16704: case 16714: case 16724: case 16734: case 16744: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace PolishedBlackstoneWall - { - BlockState PolishedBlackstoneWall() - { - return 16780; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 16888: case 16889: case 16890: case 16894: case 16895: case 16896: case 16900: case 16901: case 16902: case 16906: case 16907: case 16908: case 16912: case 16913: case 16914: case 16918: case 16919: case 16920: case 16924: case 16925: case 16926: case 16930: case 16931: case 16932: case 16936: case 16937: case 16938: case 16942: case 16943: case 16944: case 16948: case 16949: case 16950: case 16954: case 16955: case 16956: case 16960: case 16961: case 16962: case 16966: case 16967: case 16968: case 16972: case 16973: case 16974: case 16978: case 16979: case 16980: case 16984: case 16985: case 16986: case 16990: case 16991: case 16992: return East::Low; - case 16780: case 16781: case 16782: case 16786: case 16787: case 16788: case 16792: case 16793: case 16794: case 16798: case 16799: case 16800: case 16804: case 16805: case 16806: case 16810: case 16811: case 16812: case 16816: case 16817: case 16818: case 16822: case 16823: case 16824: case 16828: case 16829: case 16830: case 16834: case 16835: case 16836: case 16840: case 16841: case 16842: case 16846: case 16847: case 16848: case 16852: case 16853: case 16854: case 16858: case 16859: case 16860: case 16864: case 16865: case 16866: case 16870: case 16871: case 16872: case 16876: case 16877: case 16878: case 16882: case 16883: case 16884: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 16816: case 16817: case 16818: case 16822: case 16823: case 16824: case 16828: case 16829: case 16830: case 16834: case 16835: case 16836: case 16840: case 16841: case 16842: case 16846: case 16847: case 16848: case 16924: case 16925: case 16926: case 16930: case 16931: case 16932: case 16936: case 16937: case 16938: case 16942: case 16943: case 16944: case 16948: case 16949: case 16950: case 16954: case 16955: case 16956: case 17032: case 17033: case 17034: case 17038: case 17039: case 17040: case 17044: case 17045: case 17046: case 17050: case 17051: case 17052: case 17056: case 17057: case 17058: case 17062: case 17063: case 17064: return North::Low; - case 16780: case 16781: case 16782: case 16786: case 16787: case 16788: case 16792: case 16793: case 16794: case 16798: case 16799: case 16800: case 16804: case 16805: case 16806: case 16810: case 16811: case 16812: case 16888: case 16889: case 16890: case 16894: case 16895: case 16896: case 16900: case 16901: case 16902: case 16906: case 16907: case 16908: case 16912: case 16913: case 16914: case 16918: case 16919: case 16920: case 16996: case 16997: case 16998: case 17002: case 17003: case 17004: case 17008: case 17009: case 17010: case 17014: case 17015: case 17016: case 17020: case 17021: case 17022: case 17026: case 17027: case 17028: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 16792: case 16793: case 16794: case 16798: case 16799: case 16800: case 16828: case 16829: case 16830: case 16834: case 16835: case 16836: case 16864: case 16865: case 16866: case 16870: case 16871: case 16872: case 16900: case 16901: case 16902: case 16906: case 16907: case 16908: case 16936: case 16937: case 16938: case 16942: case 16943: case 16944: case 16972: case 16973: case 16974: case 16978: case 16979: case 16980: case 17008: case 17009: case 17010: case 17014: case 17015: case 17016: case 17044: case 17045: case 17046: case 17050: case 17051: case 17052: case 17080: case 17081: case 17082: case 17086: case 17087: case 17088: return South::Low; - case 16780: case 16781: case 16782: case 16786: case 16787: case 16788: case 16816: case 16817: case 16818: case 16822: case 16823: case 16824: case 16852: case 16853: case 16854: case 16858: case 16859: case 16860: case 16888: case 16889: case 16890: case 16894: case 16895: case 16896: case 16924: case 16925: case 16926: case 16930: case 16931: case 16932: case 16960: case 16961: case 16962: case 16966: case 16967: case 16968: case 16996: case 16997: case 16998: case 17002: case 17003: case 17004: case 17032: case 17033: case 17034: case 17038: case 17039: case 17040: case 17068: case 17069: case 17070: case 17074: case 17075: case 17076: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 16786: case 16787: case 16788: case 16798: case 16799: case 16800: case 16810: case 16811: case 16812: case 16822: case 16823: case 16824: case 16834: case 16835: case 16836: case 16846: case 16847: case 16848: case 16858: case 16859: case 16860: case 16870: case 16871: case 16872: case 16882: case 16883: case 16884: case 16894: case 16895: case 16896: case 16906: case 16907: case 16908: case 16918: case 16919: case 16920: case 16930: case 16931: case 16932: case 16942: case 16943: case 16944: case 16954: case 16955: case 16956: case 16966: case 16967: case 16968: case 16978: case 16979: case 16980: case 16990: case 16991: case 16992: case 17002: case 17003: case 17004: case 17014: case 17015: case 17016: case 17026: case 17027: case 17028: case 17038: case 17039: case 17040: case 17050: case 17051: case 17052: case 17062: case 17063: case 17064: case 17074: case 17075: case 17076: case 17086: case 17087: case 17088: case 17098: case 17099: case 17100: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 16781: case 16787: case 16793: case 16799: case 16805: case 16811: case 16817: case 16823: case 16829: case 16835: case 16841: case 16847: case 16853: case 16859: case 16865: case 16871: case 16877: case 16883: case 16889: case 16895: case 16901: case 16907: case 16913: case 16919: case 16925: case 16931: case 16937: case 16943: case 16949: case 16955: case 16961: case 16967: case 16973: case 16979: case 16985: case 16991: case 16997: case 17003: case 17009: case 17015: case 17021: case 17027: case 17033: case 17039: case 17045: case 17051: case 17057: case 17063: case 17069: case 17075: case 17081: case 17087: case 17093: case 17099: return West::Low; - case 16780: case 16786: case 16792: case 16798: case 16804: case 16810: case 16816: case 16822: case 16828: case 16834: case 16840: case 16846: case 16852: case 16858: case 16864: case 16870: case 16876: case 16882: case 16888: case 16894: case 16900: case 16906: case 16912: case 16918: case 16924: case 16930: case 16936: case 16942: case 16948: case 16954: case 16960: case 16966: case 16972: case 16978: case 16984: case 16990: case 16996: case 17002: case 17008: case 17014: case 17020: case 17026: case 17032: case 17038: case 17044: case 17050: case 17056: case 17062: case 17068: case 17074: case 17080: case 17086: case 17092: case 17098: return West::None; - default: return West::Tall; - } - } - } - namespace PolishedDiorite - { - } - namespace PolishedDioriteSlab - { - BlockState PolishedDioriteSlab() - { - return 10810; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10810: return Type::Bottom; - case 10812: return Type::Double; - default: return Type::Top; - } - } - } - namespace PolishedDioriteStairs - { - BlockState PolishedDioriteStairs() - { - return 9920; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9950: case 9952: case 9954: case 9956: case 9958: case 9960: case 9962: case 9964: case 9966: case 9968: return eBlockFace::BLOCK_FACE_XM; - case 9970: case 9972: case 9974: case 9976: case 9978: case 9980: case 9982: case 9984: case 9986: case 9988: return eBlockFace::BLOCK_FACE_XP; - case 9910: case 9912: case 9914: case 9916: case 9918: case 9920: case 9922: case 9924: case 9926: case 9928: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 9920: case 9922: case 9924: case 9926: case 9928: case 9940: case 9942: case 9944: case 9946: case 9948: case 9960: case 9962: case 9964: case 9966: case 9968: case 9980: case 9982: case 9984: case 9986: case 9988: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 9912: case 9922: case 9932: case 9942: case 9952: case 9962: case 9972: case 9982: return Shape::InnerLeft; - case 9914: case 9924: case 9934: case 9944: case 9954: case 9964: case 9974: case 9984: return Shape::InnerRight; - case 9916: case 9926: case 9936: case 9946: case 9956: case 9966: case 9976: case 9986: return Shape::OuterLeft; - case 9918: case 9928: case 9938: case 9948: case 9958: case 9968: case 9978: case 9988: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace PolishedGranite - { - } - namespace PolishedGraniteSlab - { - BlockState PolishedGraniteSlab() - { - return 10792; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10792: return Type::Bottom; - case 10794: return Type::Double; - default: return Type::Top; - } - } - } - namespace PolishedGraniteStairs - { - BlockState PolishedGraniteStairs() - { - return 9680; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9710: case 9712: case 9714: case 9716: case 9718: case 9720: case 9722: case 9724: case 9726: case 9728: return eBlockFace::BLOCK_FACE_XM; - case 9730: case 9732: case 9734: case 9736: case 9738: case 9740: case 9742: case 9744: case 9746: case 9748: return eBlockFace::BLOCK_FACE_XP; - case 9670: case 9672: case 9674: case 9676: case 9678: case 9680: case 9682: case 9684: case 9686: case 9688: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 9680: case 9682: case 9684: case 9686: case 9688: case 9700: case 9702: case 9704: case 9706: case 9708: case 9720: case 9722: case 9724: case 9726: case 9728: case 9740: case 9742: case 9744: case 9746: case 9748: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 9672: case 9682: case 9692: case 9702: case 9712: case 9722: case 9732: case 9742: return Shape::InnerLeft; - case 9674: case 9684: case 9694: case 9704: case 9714: case 9724: case 9734: case 9744: return Shape::InnerRight; - case 9676: case 9686: case 9696: case 9706: case 9716: case 9726: case 9736: case 9746: return Shape::OuterLeft; - case 9678: case 9688: case 9698: case 9708: case 9718: case 9728: case 9738: case 9748: return Shape::OuterRight; - default: return Shape::Straight; - } - } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 8938: + case 8939: + case 8940: + case 8941: + case 8942: + case 8943: + case 8944: + case 8945: + case 8954: + case 8955: + case 8956: + case 8957: + case 8958: + case 8959: + case 8960: + case 8961: + case 8970: + case 8971: + case 8972: + case 8973: + case 8974: + case 8975: + case 8976: + case 8977: + case 8986: + case 8987: + case 8988: + case 8989: + case 8990: + case 8991: + case 8992: + case 8993: return Half::Lower; + default: return Half::Upper; } - namespace Poppy - { +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 8930: + case 8931: + case 8932: + case 8933: + case 8938: + case 8939: + case 8940: + case 8941: + case 8946: + case 8947: + case 8948: + case 8949: + case 8954: + case 8955: + case 8956: + case 8957: + case 8962: + case 8963: + case 8964: + case 8965: + case 8970: + case 8971: + case 8972: + case 8973: + case 8978: + case 8979: + case 8980: + case 8981: + case 8986: + case 8987: + case 8988: + case 8989: return Hinge::Left; + default: return Hinge::Right; } - namespace Potatoes - { - BlockState Potatoes() - { - return 6338; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 6338: return 0; - case 6339: return 1; - case 6340: return 2; - case 6341: return 3; - case 6342: return 4; - case 6343: return 5; - case 6344: return 6; - default: return 7; - } - } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8932: + case 8933: + case 8936: + case 8937: + case 8940: + case 8941: + case 8944: + case 8945: + case 8948: + case 8949: + case 8952: + case 8953: + case 8956: + case 8957: + case 8960: + case 8961: + case 8964: + case 8965: + case 8968: + case 8969: + case 8972: + case 8973: + case 8976: + case 8977: + case 8980: + case 8981: + case 8984: + case 8985: + case 8988: + case 8989: + case 8992: + case 8993: return false; + default: return true; } - namespace PottedAcaciaSapling - { +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8931: + case 8933: + case 8935: + case 8937: + case 8939: + case 8941: + case 8943: + case 8945: + case 8947: + case 8949: + case 8951: + case 8953: + case 8955: + case 8957: + case 8959: + case 8961: + case 8963: + case 8965: + case 8967: + case 8969: + case 8971: + case 8973: + case 8975: + case 8977: + case 8979: + case 8981: + case 8983: + case 8985: + case 8987: + case 8989: + case 8991: + case 8993: return false; + default: return true; } - namespace PottedAllium - { +} +} // namespace AcaciaDoor +namespace AcaciaFence +{ +BlockState AcaciaFence() +{ + return 8705; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 8692: + case 8693: + case 8696: + case 8697: + case 8700: + case 8701: + case 8704: + case 8705: return false; + default: return true; } - namespace PottedAzureBluet - { +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 8684: + case 8685: + case 8688: + case 8689: + case 8700: + case 8701: + case 8704: + case 8705: return false; + default: return true; } - namespace PottedBamboo - { +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 8680: + case 8681: + case 8688: + case 8689: + case 8696: + case 8697: + case 8704: + case 8705: return false; + default: return true; } - namespace PottedBirchSapling - { +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 8677: + case 8681: + case 8685: + case 8689: + case 8693: + case 8697: + case 8701: + case 8705: return false; + default: return true; } - namespace PottedBlueOrchid - { +} +} // namespace AcaciaFence +namespace AcaciaFenceGate +{ +BlockState AcaciaFenceGate() +{ + return 8521; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8530: + case 8531: + case 8532: + case 8533: + case 8534: + case 8535: + case 8536: + case 8537: return eBlockFace::BLOCK_FACE_XM; + case 8538: + case 8539: + case 8540: + case 8541: + case 8542: + case 8543: + case 8544: + case 8545: return eBlockFace::BLOCK_FACE_XP; + case 8514: + case 8515: + case 8516: + case 8517: + case 8518: + case 8519: + case 8520: + case 8521: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace PottedBrownMushroom - { +} +bool InWall(const BlockState Block) +{ + switch (Block.ID) + { + case 8518: + case 8519: + case 8520: + case 8521: + case 8526: + case 8527: + case 8528: + case 8529: + case 8534: + case 8535: + case 8536: + case 8537: + case 8542: + case 8543: + case 8544: + case 8545: return false; + default: return true; } - namespace PottedCactus - { +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8516: + case 8517: + case 8520: + case 8521: + case 8524: + case 8525: + case 8528: + case 8529: + case 8532: + case 8533: + case 8536: + case 8537: + case 8540: + case 8541: + case 8544: + case 8545: return false; + default: return true; } - namespace PottedCornflower - { +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8515: + case 8517: + case 8519: + case 8521: + case 8523: + case 8525: + case 8527: + case 8529: + case 8531: + case 8533: + case 8535: + case 8537: + case 8539: + case 8541: + case 8543: + case 8545: return false; + default: return true; } - namespace PottedCrimsonFungus - { +} +} // namespace AcaciaFenceGate +namespace AcaciaLeaves +{ +BlockState AcaciaLeaves() +{ + return 214; +} +unsigned char Distance(const BlockState Block) +{ + switch (Block.ID) + { + case 201: + case 202: return 1; + case 203: + case 204: return 2; + case 205: + case 206: return 3; + case 207: + case 208: return 4; + case 209: + case 210: return 5; + case 211: + case 212: return 6; + default: return 7; } - namespace PottedCrimsonRoots +} +bool Persistent(const BlockState Block) +{ + switch (Block.ID) { + case 202: + case 204: + case 206: + case 208: + case 210: + case 212: + case 214: return false; + default: return true; } - namespace PottedDandelion +} +} // namespace AcaciaLeaves +namespace AcaciaLog +{ +BlockState AcaciaLog() +{ + return 86; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) { + case 85: return Axis::X; + case 86: return Axis::Y; + default: return Axis::Z; } - namespace PottedDarkOakSapling +} +} // namespace AcaciaLog +namespace AcaciaPlanks +{ +} +namespace AcaciaPressurePlate +{ +BlockState AcaciaPressurePlate() +{ + return 3882; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) { + case 3882: return false; + default: return true; } - namespace PottedDeadBush +} +} // namespace AcaciaPressurePlate +namespace AcaciaSapling +{ +BlockState AcaciaSapling() +{ + return 29; +} +unsigned char Stage(const BlockState Block) +{ + switch (Block.ID) { + case 29: return 0; + default: return 1; } - namespace PottedFern - { +} +} // namespace AcaciaSapling +namespace AcaciaSign +{ +BlockState AcaciaSign() +{ + return 3478; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 3478: return 0; + case 3480: return 1; + case 3498: return 10; + case 3500: return 11; + case 3502: return 12; + case 3504: return 13; + case 3506: return 14; + case 3508: return 15; + case 3482: return 2; + case 3484: return 3; + case 3486: return 4; + case 3488: return 5; + case 3490: return 6; + case 3492: return 7; + case 3494: return 8; + default: return 9; } - namespace PottedJungleSapling +} +} // namespace AcaciaSign +namespace AcaciaSlab +{ +BlockState AcaciaSlab() +{ + return 8327; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) { + case 8327: return Type::Bottom; + case 8329: return Type::Double; + default: return Type::Top; } - namespace PottedLilyOfTheValley - { +} +} // namespace AcaciaSlab +namespace AcaciaStairs +{ +BlockState AcaciaStairs() +{ + return 7386; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 7416: + case 7418: + case 7420: + case 7422: + case 7424: + case 7426: + case 7428: + case 7430: + case 7432: + case 7434: return eBlockFace::BLOCK_FACE_XM; + case 7436: + case 7438: + case 7440: + case 7442: + case 7444: + case 7446: + case 7448: + case 7450: + case 7452: + case 7454: return eBlockFace::BLOCK_FACE_XP; + case 7376: + case 7378: + case 7380: + case 7382: + case 7384: + case 7386: + case 7388: + case 7390: + case 7392: + case 7394: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace PottedOakSapling - { +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7386: + case 7388: + case 7390: + case 7392: + case 7394: + case 7406: + case 7408: + case 7410: + case 7412: + case 7414: + case 7426: + case 7428: + case 7430: + case 7432: + case 7434: + case 7446: + case 7448: + case 7450: + case 7452: + case 7454: return Half::Bottom; + default: return Half::Top; } - namespace PottedOrangeTulip - { +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 7378: + case 7388: + case 7398: + case 7408: + case 7418: + case 7428: + case 7438: + case 7448: return Shape::InnerLeft; + case 7380: + case 7390: + case 7400: + case 7410: + case 7420: + case 7430: + case 7440: + case 7450: return Shape::InnerRight; + case 7382: + case 7392: + case 7402: + case 7412: + case 7422: + case 7432: + case 7442: + case 7452: return Shape::OuterLeft; + case 7384: + case 7394: + case 7404: + case 7414: + case 7424: + case 7434: + case 7444: + case 7454: return Shape::OuterRight; + default: return Shape::Straight; } - namespace PottedOxeyeDaisy - { +} +} // namespace AcaciaStairs +namespace AcaciaTrapdoor +{ +BlockState AcaciaTrapdoor() +{ + return 4382; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4400: + case 4402: + case 4404: + case 4406: + case 4408: + case 4410: + case 4412: + case 4414: return eBlockFace::BLOCK_FACE_XM; + case 4416: + case 4418: + case 4420: + case 4422: + case 4424: + case 4426: + case 4428: + case 4430: return eBlockFace::BLOCK_FACE_XP; + case 4368: + case 4370: + case 4372: + case 4374: + case 4376: + case 4378: + case 4380: + case 4382: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace PottedPinkTulip +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 4376: + case 4378: + case 4380: + case 4382: + case 4392: + case 4394: + case 4396: + case 4398: + case 4408: + case 4410: + case 4412: + case 4414: + case 4424: + case 4426: + case 4428: + case 4430: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 4372: + case 4374: + case 4380: + case 4382: + case 4388: + case 4390: + case 4396: + case 4398: + case 4404: + case 4406: + case 4412: + case 4414: + case 4420: + case 4422: + case 4428: + case 4430: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 4370: + case 4374: + case 4378: + case 4382: + case 4386: + case 4390: + case 4394: + case 4398: + case 4402: + case 4406: + case 4410: + case 4414: + case 4418: + case 4422: + case 4426: + case 4430: return false; + default: return true; + } +} +} // namespace AcaciaTrapdoor +namespace AcaciaWallSign +{ +BlockState AcaciaWallSign() +{ + return 3760; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) { + case 3764: return eBlockFace::BLOCK_FACE_XM; + case 3766: return eBlockFace::BLOCK_FACE_XP; + case 3760: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace PottedPoppy +} +} // namespace AcaciaWallSign +namespace AcaciaWood +{ +BlockState AcaciaWood() +{ + return 122; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) { + case 121: return Axis::X; + case 122: return Axis::Y; + default: return Axis::Z; } - namespace PottedRedMushroom +} +} // namespace AcaciaWood +namespace ActivatorRail +{ +BlockState ActivatorRail() +{ + return 6829; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) { + case 6829: + case 6830: + case 6831: + case 6832: + case 6833: + case 6834: return false; + default: return true; } - namespace PottedRedTulip +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 6825: + case 6831: return Shape::AscendingEast; + case 6827: + case 6833: return Shape::AscendingNorth; + case 6828: + case 6834: return Shape::AscendingSouth; + case 6826: + case 6832: return Shape::AscendingWest; + case 6824: + case 6830: return Shape::EastWest; + default: return Shape::NorthSouth; + } +} +} // namespace ActivatorRail +namespace Air +{ +} +namespace Allium +{ +} +namespace AncientDebris +{ +} +namespace Andesite +{ +} +namespace AndesiteSlab +{ +BlockState AndesiteSlab() +{ + return 10846; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) { + case 10846: return Type::Bottom; + case 10848: return Type::Double; + default: return Type::Top; + } +} +} // namespace AndesiteSlab +namespace AndesiteStairs +{ +BlockState AndesiteStairs() +{ + return 10480; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10510: + case 10512: + case 10514: + case 10516: + case 10518: + case 10520: + case 10522: + case 10524: + case 10526: + case 10528: return eBlockFace::BLOCK_FACE_XM; + case 10530: + case 10532: + case 10534: + case 10536: + case 10538: + case 10540: + case 10542: + case 10544: + case 10546: + case 10548: return eBlockFace::BLOCK_FACE_XP; + case 10470: + case 10472: + case 10474: + case 10476: + case 10478: + case 10480: + case 10482: + case 10484: + case 10486: + case 10488: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10480: + case 10482: + case 10484: + case 10486: + case 10488: + case 10500: + case 10502: + case 10504: + case 10506: + case 10508: + case 10520: + case 10522: + case 10524: + case 10526: + case 10528: + case 10540: + case 10542: + case 10544: + case 10546: + case 10548: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10472: + case 10482: + case 10492: + case 10502: + case 10512: + case 10522: + case 10532: + case 10542: return Shape::InnerLeft; + case 10474: + case 10484: + case 10494: + case 10504: + case 10514: + case 10524: + case 10534: + case 10544: return Shape::InnerRight; + case 10476: + case 10486: + case 10496: + case 10506: + case 10516: + case 10526: + case 10536: + case 10546: return Shape::OuterLeft; + case 10478: + case 10488: + case 10498: + case 10508: + case 10518: + case 10528: + case 10538: + case 10548: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace AndesiteStairs +namespace AndesiteWall +{ +BlockState AndesiteWall() +{ + return 13138; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 13246: + case 13247: + case 13248: + case 13252: + case 13253: + case 13254: + case 13258: + case 13259: + case 13260: + case 13264: + case 13265: + case 13266: + case 13270: + case 13271: + case 13272: + case 13276: + case 13277: + case 13278: + case 13282: + case 13283: + case 13284: + case 13288: + case 13289: + case 13290: + case 13294: + case 13295: + case 13296: + case 13300: + case 13301: + case 13302: + case 13306: + case 13307: + case 13308: + case 13312: + case 13313: + case 13314: + case 13318: + case 13319: + case 13320: + case 13324: + case 13325: + case 13326: + case 13330: + case 13331: + case 13332: + case 13336: + case 13337: + case 13338: + case 13342: + case 13343: + case 13344: + case 13348: + case 13349: + case 13350: return East::Low; + case 13138: + case 13139: + case 13140: + case 13144: + case 13145: + case 13146: + case 13150: + case 13151: + case 13152: + case 13156: + case 13157: + case 13158: + case 13162: + case 13163: + case 13164: + case 13168: + case 13169: + case 13170: + case 13174: + case 13175: + case 13176: + case 13180: + case 13181: + case 13182: + case 13186: + case 13187: + case 13188: + case 13192: + case 13193: + case 13194: + case 13198: + case 13199: + case 13200: + case 13204: + case 13205: + case 13206: + case 13210: + case 13211: + case 13212: + case 13216: + case 13217: + case 13218: + case 13222: + case 13223: + case 13224: + case 13228: + case 13229: + case 13230: + case 13234: + case 13235: + case 13236: + case 13240: + case 13241: + case 13242: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 13174: + case 13175: + case 13176: + case 13180: + case 13181: + case 13182: + case 13186: + case 13187: + case 13188: + case 13192: + case 13193: + case 13194: + case 13198: + case 13199: + case 13200: + case 13204: + case 13205: + case 13206: + case 13282: + case 13283: + case 13284: + case 13288: + case 13289: + case 13290: + case 13294: + case 13295: + case 13296: + case 13300: + case 13301: + case 13302: + case 13306: + case 13307: + case 13308: + case 13312: + case 13313: + case 13314: + case 13390: + case 13391: + case 13392: + case 13396: + case 13397: + case 13398: + case 13402: + case 13403: + case 13404: + case 13408: + case 13409: + case 13410: + case 13414: + case 13415: + case 13416: + case 13420: + case 13421: + case 13422: return North::Low; + case 13138: + case 13139: + case 13140: + case 13144: + case 13145: + case 13146: + case 13150: + case 13151: + case 13152: + case 13156: + case 13157: + case 13158: + case 13162: + case 13163: + case 13164: + case 13168: + case 13169: + case 13170: + case 13246: + case 13247: + case 13248: + case 13252: + case 13253: + case 13254: + case 13258: + case 13259: + case 13260: + case 13264: + case 13265: + case 13266: + case 13270: + case 13271: + case 13272: + case 13276: + case 13277: + case 13278: + case 13354: + case 13355: + case 13356: + case 13360: + case 13361: + case 13362: + case 13366: + case 13367: + case 13368: + case 13372: + case 13373: + case 13374: + case 13378: + case 13379: + case 13380: + case 13384: + case 13385: + case 13386: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 13150: + case 13151: + case 13152: + case 13156: + case 13157: + case 13158: + case 13186: + case 13187: + case 13188: + case 13192: + case 13193: + case 13194: + case 13222: + case 13223: + case 13224: + case 13228: + case 13229: + case 13230: + case 13258: + case 13259: + case 13260: + case 13264: + case 13265: + case 13266: + case 13294: + case 13295: + case 13296: + case 13300: + case 13301: + case 13302: + case 13330: + case 13331: + case 13332: + case 13336: + case 13337: + case 13338: + case 13366: + case 13367: + case 13368: + case 13372: + case 13373: + case 13374: + case 13402: + case 13403: + case 13404: + case 13408: + case 13409: + case 13410: + case 13438: + case 13439: + case 13440: + case 13444: + case 13445: + case 13446: return South::Low; + case 13138: + case 13139: + case 13140: + case 13144: + case 13145: + case 13146: + case 13174: + case 13175: + case 13176: + case 13180: + case 13181: + case 13182: + case 13210: + case 13211: + case 13212: + case 13216: + case 13217: + case 13218: + case 13246: + case 13247: + case 13248: + case 13252: + case 13253: + case 13254: + case 13282: + case 13283: + case 13284: + case 13288: + case 13289: + case 13290: + case 13318: + case 13319: + case 13320: + case 13324: + case 13325: + case 13326: + case 13354: + case 13355: + case 13356: + case 13360: + case 13361: + case 13362: + case 13390: + case 13391: + case 13392: + case 13396: + case 13397: + case 13398: + case 13426: + case 13427: + case 13428: + case 13432: + case 13433: + case 13434: return South::None; + default: return South::Tall; } - namespace PottedSpruceSapling +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 13144: + case 13145: + case 13146: + case 13156: + case 13157: + case 13158: + case 13168: + case 13169: + case 13170: + case 13180: + case 13181: + case 13182: + case 13192: + case 13193: + case 13194: + case 13204: + case 13205: + case 13206: + case 13216: + case 13217: + case 13218: + case 13228: + case 13229: + case 13230: + case 13240: + case 13241: + case 13242: + case 13252: + case 13253: + case 13254: + case 13264: + case 13265: + case 13266: + case 13276: + case 13277: + case 13278: + case 13288: + case 13289: + case 13290: + case 13300: + case 13301: + case 13302: + case 13312: + case 13313: + case 13314: + case 13324: + case 13325: + case 13326: + case 13336: + case 13337: + case 13338: + case 13348: + case 13349: + case 13350: + case 13360: + case 13361: + case 13362: + case 13372: + case 13373: + case 13374: + case 13384: + case 13385: + case 13386: + case 13396: + case 13397: + case 13398: + case 13408: + case 13409: + case 13410: + case 13420: + case 13421: + case 13422: + case 13432: + case 13433: + case 13434: + case 13444: + case 13445: + case 13446: + case 13456: + case 13457: + case 13458: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 13139: + case 13145: + case 13151: + case 13157: + case 13163: + case 13169: + case 13175: + case 13181: + case 13187: + case 13193: + case 13199: + case 13205: + case 13211: + case 13217: + case 13223: + case 13229: + case 13235: + case 13241: + case 13247: + case 13253: + case 13259: + case 13265: + case 13271: + case 13277: + case 13283: + case 13289: + case 13295: + case 13301: + case 13307: + case 13313: + case 13319: + case 13325: + case 13331: + case 13337: + case 13343: + case 13349: + case 13355: + case 13361: + case 13367: + case 13373: + case 13379: + case 13385: + case 13391: + case 13397: + case 13403: + case 13409: + case 13415: + case 13421: + case 13427: + case 13433: + case 13439: + case 13445: + case 13451: + case 13457: return West::Low; + case 13138: + case 13144: + case 13150: + case 13156: + case 13162: + case 13168: + case 13174: + case 13180: + case 13186: + case 13192: + case 13198: + case 13204: + case 13210: + case 13216: + case 13222: + case 13228: + case 13234: + case 13240: + case 13246: + case 13252: + case 13258: + case 13264: + case 13270: + case 13276: + case 13282: + case 13288: + case 13294: + case 13300: + case 13306: + case 13312: + case 13318: + case 13324: + case 13330: + case 13336: + case 13342: + case 13348: + case 13354: + case 13360: + case 13366: + case 13372: + case 13378: + case 13384: + case 13390: + case 13396: + case 13402: + case 13408: + case 13414: + case 13420: + case 13426: + case 13432: + case 13438: + case 13444: + case 13450: + case 13456: return West::None; + default: return West::Tall; + } +} +} // namespace AndesiteWall +namespace Anvil +{ +BlockState Anvil() +{ + return 6610; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) { + case 6612: return eBlockFace::BLOCK_FACE_XM; + case 6613: return eBlockFace::BLOCK_FACE_XP; + case 6610: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace PottedWarpedFungus +} +} // namespace Anvil +namespace AttachedMelonStem +{ +BlockState AttachedMelonStem() +{ + return 4768; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) { + case 4770: return eBlockFace::BLOCK_FACE_XM; + case 4771: return eBlockFace::BLOCK_FACE_XP; + case 4768: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace PottedWarpedRoots +} +} // namespace AttachedMelonStem +namespace AttachedPumpkinStem +{ +BlockState AttachedPumpkinStem() +{ + return 4764; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) { + case 4766: return eBlockFace::BLOCK_FACE_XM; + case 4767: return eBlockFace::BLOCK_FACE_XP; + case 4764: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace PottedWhiteTulip +} +} // namespace AttachedPumpkinStem +namespace AzureBluet +{ +} +namespace Bamboo +{ +BlockState Bamboo() +{ + return 9652; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) { + case 9652: + case 9653: + case 9654: + case 9655: + case 9656: + case 9657: return 0; + default: return 1; } - namespace PottedWitherRose +} +enum Leaves Leaves(const BlockState Block) +{ + switch (Block.ID) + { + case 9656: + case 9657: + case 9662: + case 9663: return Leaves::Large; + case 9652: + case 9653: + case 9658: + case 9659: return Leaves::None; + default: return Leaves::Small; + } +} +unsigned char Stage(const BlockState Block) +{ + switch (Block.ID) { + case 9652: + case 9654: + case 9656: + case 9658: + case 9660: + case 9662: return 0; + default: return 1; + } +} +} // namespace Bamboo +namespace BambooSapling +{ +} +namespace Barrel +{ +BlockState Barrel() +{ + return 14792; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14797: + case 14798: return eBlockFace::BLOCK_FACE_XM; + case 14793: + case 14794: return eBlockFace::BLOCK_FACE_XP; + case 14801: + case 14802: return eBlockFace::BLOCK_FACE_YM; + case 14799: + case 14800: return eBlockFace::BLOCK_FACE_YP; + case 14791: + case 14792: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } - namespace PoweredRail +} +bool Open(const BlockState Block) +{ + switch (Block.ID) { - BlockState PoweredRail() - { - return 1311; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 1311: case 1312: case 1313: case 1314: case 1315: case 1316: return false; - default: return true; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 1307: case 1313: return Shape::AscendingEast; - case 1309: case 1315: return Shape::AscendingNorth; - case 1310: case 1316: return Shape::AscendingSouth; - case 1308: case 1314: return Shape::AscendingWest; - case 1306: case 1312: return Shape::EastWest; - default: return Shape::NorthSouth; - } - } + case 14792: + case 14794: + case 14796: + case 14798: + case 14800: + case 14802: return false; + default: return true; } - namespace Prismarine +} +} // namespace Barrel +namespace Barrier +{ +} +namespace Basalt +{ +BlockState Basalt() +{ + return 4003; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) { + case 4002: return Axis::X; + case 4003: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace Basalt +namespace Beacon +{ +} +namespace Bedrock +{ +} +namespace BeeNest +{ +BlockState BeeNest() +{ + return 15776; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15788: + case 15789: + case 15790: + case 15791: + case 15792: + case 15793: return eBlockFace::BLOCK_FACE_XM; + case 15794: + case 15795: + case 15796: + case 15797: + case 15798: + case 15799: return eBlockFace::BLOCK_FACE_XP; + case 15776: + case 15777: + case 15778: + case 15779: + case 15780: + case 15781: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +unsigned char HoneyLevel(const BlockState Block) +{ + switch (Block.ID) + { + case 15776: + case 15782: + case 15788: + case 15794: return 0; + case 15777: + case 15783: + case 15789: + case 15795: return 1; + case 15778: + case 15784: + case 15790: + case 15796: return 2; + case 15779: + case 15785: + case 15791: + case 15797: return 3; + case 15780: + case 15786: + case 15792: + case 15798: return 4; + default: return 5; + } +} +} // namespace BeeNest +namespace Beehive +{ +BlockState Beehive() +{ + return 15800; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15812: + case 15813: + case 15814: + case 15815: + case 15816: + case 15817: return eBlockFace::BLOCK_FACE_XM; + case 15818: + case 15819: + case 15820: + case 15821: + case 15822: + case 15823: return eBlockFace::BLOCK_FACE_XP; + case 15800: + case 15801: + case 15802: + case 15803: + case 15804: + case 15805: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +unsigned char HoneyLevel(const BlockState Block) +{ + switch (Block.ID) + { + case 15800: + case 15806: + case 15812: + case 15818: return 0; + case 15801: + case 15807: + case 15813: + case 15819: return 1; + case 15802: + case 15808: + case 15814: + case 15820: return 2; + case 15803: + case 15809: + case 15815: + case 15821: return 3; + case 15804: + case 15810: + case 15816: + case 15822: return 4; + default: return 5; } - namespace PrismarineBrickSlab +} +} // namespace Beehive +namespace Beetroots +{ +BlockState Beetroots() +{ + return 9219; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) { - BlockState PrismarineBrickSlab() - { - return 7853; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 7853: return Type::Bottom; - case 7855: return Type::Double; - default: return Type::Top; - } - } + case 9219: return 0; + case 9220: return 1; + case 9221: return 2; + default: return 3; } - namespace PrismarineBrickStairs +} +} // namespace Beetroots +namespace Bell +{ +BlockState Bell() +{ + return 14855; +} +enum Attachment Attachment(const BlockState Block) +{ + switch (Block.ID) + { + case 14862: + case 14863: + case 14864: + case 14865: + case 14866: + case 14867: + case 14868: + case 14869: return Attachment::Ceiling; + case 14878: + case 14879: + case 14880: + case 14881: + case 14882: + case 14883: + case 14884: + case 14885: return Attachment::DoubleWall; + case 14854: + case 14855: + case 14856: + case 14857: + case 14858: + case 14859: + case 14860: + case 14861: return Attachment::Floor; + default: return Attachment::SingleWall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14858: + case 14859: + case 14866: + case 14867: + case 14874: + case 14875: + case 14882: + case 14883: return eBlockFace::BLOCK_FACE_XM; + case 14860: + case 14861: + case 14868: + case 14869: + case 14876: + case 14877: + case 14884: + case 14885: return eBlockFace::BLOCK_FACE_XP; + case 14854: + case 14855: + case 14862: + case 14863: + case 14870: + case 14871: + case 14878: + case 14879: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 14855: + case 14857: + case 14859: + case 14861: + case 14863: + case 14865: + case 14867: + case 14869: + case 14871: + case 14873: + case 14875: + case 14877: + case 14879: + case 14881: + case 14883: + case 14885: return false; + default: return true; + } +} +} // namespace Bell +namespace BirchButton +{ +BlockState BirchButton() +{ + return 6403; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 6410: + case 6411: + case 6412: + case 6413: + case 6414: + case 6415: + case 6416: + case 6417: return Face::Ceiling; + case 6394: + case 6395: + case 6396: + case 6397: + case 6398: + case 6399: + case 6400: + case 6401: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6398: + case 6399: + case 6406: + case 6407: + case 6414: + case 6415: return eBlockFace::BLOCK_FACE_XM; + case 6400: + case 6401: + case 6408: + case 6409: + case 6416: + case 6417: return eBlockFace::BLOCK_FACE_XP; + case 6394: + case 6395: + case 6402: + case 6403: + case 6410: + case 6411: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 6395: + case 6397: + case 6399: + case 6401: + case 6403: + case 6405: + case 6407: + case 6409: + case 6411: + case 6413: + case 6415: + case 6417: return false; + default: return true; + } +} +} // namespace BirchButton +namespace BirchDoor +{ +BlockState BirchDoor() +{ + return 8813; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8834: + case 8835: + case 8836: + case 8837: + case 8838: + case 8839: + case 8840: + case 8841: + case 8842: + case 8843: + case 8844: + case 8845: + case 8846: + case 8847: + case 8848: + case 8849: return eBlockFace::BLOCK_FACE_XM; + case 8850: + case 8851: + case 8852: + case 8853: + case 8854: + case 8855: + case 8856: + case 8857: + case 8858: + case 8859: + case 8860: + case 8861: + case 8862: + case 8863: + case 8864: + case 8865: return eBlockFace::BLOCK_FACE_XP; + case 8802: + case 8803: + case 8804: + case 8805: + case 8806: + case 8807: + case 8808: + case 8809: + case 8810: + case 8811: + case 8812: + case 8813: + case 8814: + case 8815: + case 8816: + case 8817: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 8810: + case 8811: + case 8812: + case 8813: + case 8814: + case 8815: + case 8816: + case 8817: + case 8826: + case 8827: + case 8828: + case 8829: + case 8830: + case 8831: + case 8832: + case 8833: + case 8842: + case 8843: + case 8844: + case 8845: + case 8846: + case 8847: + case 8848: + case 8849: + case 8858: + case 8859: + case 8860: + case 8861: + case 8862: + case 8863: + case 8864: + case 8865: return Half::Lower; + default: return Half::Upper; + } +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 8802: + case 8803: + case 8804: + case 8805: + case 8810: + case 8811: + case 8812: + case 8813: + case 8818: + case 8819: + case 8820: + case 8821: + case 8826: + case 8827: + case 8828: + case 8829: + case 8834: + case 8835: + case 8836: + case 8837: + case 8842: + case 8843: + case 8844: + case 8845: + case 8850: + case 8851: + case 8852: + case 8853: + case 8858: + case 8859: + case 8860: + case 8861: return Hinge::Left; + default: return Hinge::Right; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8804: + case 8805: + case 8808: + case 8809: + case 8812: + case 8813: + case 8816: + case 8817: + case 8820: + case 8821: + case 8824: + case 8825: + case 8828: + case 8829: + case 8832: + case 8833: + case 8836: + case 8837: + case 8840: + case 8841: + case 8844: + case 8845: + case 8848: + case 8849: + case 8852: + case 8853: + case 8856: + case 8857: + case 8860: + case 8861: + case 8864: + case 8865: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8803: + case 8805: + case 8807: + case 8809: + case 8811: + case 8813: + case 8815: + case 8817: + case 8819: + case 8821: + case 8823: + case 8825: + case 8827: + case 8829: + case 8831: + case 8833: + case 8835: + case 8837: + case 8839: + case 8841: + case 8843: + case 8845: + case 8847: + case 8849: + case 8851: + case 8853: + case 8855: + case 8857: + case 8859: + case 8861: + case 8863: + case 8865: return false; + default: return true; + } +} +} // namespace BirchDoor +namespace BirchFence +{ +BlockState BirchFence() +{ + return 8641; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 8628: + case 8629: + case 8632: + case 8633: + case 8636: + case 8637: + case 8640: + case 8641: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 8620: + case 8621: + case 8624: + case 8625: + case 8636: + case 8637: + case 8640: + case 8641: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 8616: + case 8617: + case 8624: + case 8625: + case 8632: + case 8633: + case 8640: + case 8641: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 8613: + case 8617: + case 8621: + case 8625: + case 8629: + case 8633: + case 8637: + case 8641: return false; + default: return true; + } +} +} // namespace BirchFence +namespace BirchFenceGate +{ +BlockState BirchFenceGate() +{ + return 8457; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8466: + case 8467: + case 8468: + case 8469: + case 8470: + case 8471: + case 8472: + case 8473: return eBlockFace::BLOCK_FACE_XM; + case 8474: + case 8475: + case 8476: + case 8477: + case 8478: + case 8479: + case 8480: + case 8481: return eBlockFace::BLOCK_FACE_XP; + case 8450: + case 8451: + case 8452: + case 8453: + case 8454: + case 8455: + case 8456: + case 8457: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool InWall(const BlockState Block) +{ + switch (Block.ID) + { + case 8454: + case 8455: + case 8456: + case 8457: + case 8462: + case 8463: + case 8464: + case 8465: + case 8470: + case 8471: + case 8472: + case 8473: + case 8478: + case 8479: + case 8480: + case 8481: return false; + default: return true; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8452: + case 8453: + case 8456: + case 8457: + case 8460: + case 8461: + case 8464: + case 8465: + case 8468: + case 8469: + case 8472: + case 8473: + case 8476: + case 8477: + case 8480: + case 8481: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8451: + case 8453: + case 8455: + case 8457: + case 8459: + case 8461: + case 8463: + case 8465: + case 8467: + case 8469: + case 8471: + case 8473: + case 8475: + case 8477: + case 8479: + case 8481: return false; + default: return true; + } +} +} // namespace BirchFenceGate +namespace BirchLeaves +{ +BlockState BirchLeaves() +{ + return 186; +} +unsigned char Distance(const BlockState Block) +{ + switch (Block.ID) + { + case 173: + case 174: return 1; + case 175: + case 176: return 2; + case 177: + case 178: return 3; + case 179: + case 180: return 4; + case 181: + case 182: return 5; + case 183: + case 184: return 6; + default: return 7; + } +} +bool Persistent(const BlockState Block) +{ + switch (Block.ID) + { + case 174: + case 176: + case 178: + case 180: + case 182: + case 184: + case 186: return false; + default: return true; + } +} +} // namespace BirchLeaves +namespace BirchLog +{ +BlockState BirchLog() +{ + return 80; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 79: return Axis::X; + case 80: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace BirchLog +namespace BirchPlanks +{ +} +namespace BirchPressurePlate +{ +BlockState BirchPressurePlate() +{ + return 3878; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3878: return false; + default: return true; + } +} +} // namespace BirchPressurePlate +namespace BirchSapling +{ +BlockState BirchSapling() +{ + return 25; +} +unsigned char Stage(const BlockState Block) +{ + switch (Block.ID) + { + case 25: return 0; + default: return 1; + } +} +} // namespace BirchSapling +namespace BirchSign +{ +BlockState BirchSign() +{ + return 3446; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 3446: return 0; + case 3448: return 1; + case 3466: return 10; + case 3468: return 11; + case 3470: return 12; + case 3472: return 13; + case 3474: return 14; + case 3476: return 15; + case 3450: return 2; + case 3452: return 3; + case 3454: return 4; + case 3456: return 5; + case 3458: return 6; + case 3460: return 7; + case 3462: return 8; + default: return 9; + } +} +} // namespace BirchSign +namespace BirchSlab +{ +BlockState BirchSlab() +{ + return 8315; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8315: return Type::Bottom; + case 8317: return Type::Double; + default: return Type::Top; + } +} +} // namespace BirchSlab +namespace BirchStairs +{ +BlockState BirchStairs() +{ + return 5495; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5525: + case 5527: + case 5529: + case 5531: + case 5533: + case 5535: + case 5537: + case 5539: + case 5541: + case 5543: return eBlockFace::BLOCK_FACE_XM; + case 5545: + case 5547: + case 5549: + case 5551: + case 5553: + case 5555: + case 5557: + case 5559: + case 5561: + case 5563: return eBlockFace::BLOCK_FACE_XP; + case 5485: + case 5487: + case 5489: + case 5491: + case 5493: + case 5495: + case 5497: + case 5499: + case 5501: + case 5503: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 5495: + case 5497: + case 5499: + case 5501: + case 5503: + case 5515: + case 5517: + case 5519: + case 5521: + case 5523: + case 5535: + case 5537: + case 5539: + case 5541: + case 5543: + case 5555: + case 5557: + case 5559: + case 5561: + case 5563: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 5487: + case 5497: + case 5507: + case 5517: + case 5527: + case 5537: + case 5547: + case 5557: return Shape::InnerLeft; + case 5489: + case 5499: + case 5509: + case 5519: + case 5529: + case 5539: + case 5549: + case 5559: return Shape::InnerRight; + case 5491: + case 5501: + case 5511: + case 5521: + case 5531: + case 5541: + case 5551: + case 5561: return Shape::OuterLeft; + case 5493: + case 5503: + case 5513: + case 5523: + case 5533: + case 5543: + case 5553: + case 5563: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace BirchStairs +namespace BirchTrapdoor +{ +BlockState BirchTrapdoor() +{ + return 4254; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4272: + case 4274: + case 4276: + case 4278: + case 4280: + case 4282: + case 4284: + case 4286: return eBlockFace::BLOCK_FACE_XM; + case 4288: + case 4290: + case 4292: + case 4294: + case 4296: + case 4298: + case 4300: + case 4302: return eBlockFace::BLOCK_FACE_XP; + case 4240: + case 4242: + case 4244: + case 4246: + case 4248: + case 4250: + case 4252: + case 4254: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 4248: + case 4250: + case 4252: + case 4254: + case 4264: + case 4266: + case 4268: + case 4270: + case 4280: + case 4282: + case 4284: + case 4286: + case 4296: + case 4298: + case 4300: + case 4302: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 4244: + case 4246: + case 4252: + case 4254: + case 4260: + case 4262: + case 4268: + case 4270: + case 4276: + case 4278: + case 4284: + case 4286: + case 4292: + case 4294: + case 4300: + case 4302: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 4242: + case 4246: + case 4250: + case 4254: + case 4258: + case 4262: + case 4266: + case 4270: + case 4274: + case 4278: + case 4282: + case 4286: + case 4290: + case 4294: + case 4298: + case 4302: return false; + default: return true; + } +} +} // namespace BirchTrapdoor +namespace BirchWallSign +{ +BlockState BirchWallSign() +{ + return 3752; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3756: return eBlockFace::BLOCK_FACE_XM; + case 3758: return eBlockFace::BLOCK_FACE_XP; + case 3752: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BirchWallSign +namespace BirchWood +{ +BlockState BirchWood() +{ + return 116; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 115: return Axis::X; + case 116: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace BirchWood +namespace BlackBanner +{ +BlockState BlackBanner() +{ + return 8137; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8137: return 0; + case 8138: return 1; + case 8147: return 10; + case 8148: return 11; + case 8149: return 12; + case 8150: return 13; + case 8151: return 14; + case 8152: return 15; + case 8139: return 2; + case 8140: return 3; + case 8141: return 4; + case 8142: return 5; + case 8143: return 6; + case 8144: return 7; + case 8145: return 8; + default: return 9; + } +} +} // namespace BlackBanner +namespace BlackBed +{ +BlockState BlackBed() +{ + return 1292; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1297: + case 1298: + case 1299: + case 1300: return eBlockFace::BLOCK_FACE_XM; + case 1301: + case 1302: + case 1303: + case 1304: return eBlockFace::BLOCK_FACE_XP; + case 1289: + case 1290: + case 1291: + case 1292: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1291: + case 1292: + case 1295: + case 1296: + case 1299: + case 1300: + case 1303: + case 1304: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1290: + case 1292: + case 1294: + case 1296: + case 1298: + case 1300: + case 1302: + case 1304: return Part::Foot; + default: return Part::Head; + } +} +} // namespace BlackBed +namespace BlackCarpet +{ +} +namespace BlackConcrete +{ +} +namespace BlackConcretePowder +{ +} +namespace BlackGlazedTerracotta +{ +BlockState BlackGlazedTerracotta() +{ + return 9434; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9436: return eBlockFace::BLOCK_FACE_XM; + case 9437: return eBlockFace::BLOCK_FACE_XP; + case 9434: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BlackGlazedTerracotta +namespace BlackShulkerBox +{ +BlockState BlackShulkerBox() +{ + return 9372; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9371: return eBlockFace::BLOCK_FACE_XM; + case 9369: return eBlockFace::BLOCK_FACE_XP; + case 9373: return eBlockFace::BLOCK_FACE_YM; + case 9372: return eBlockFace::BLOCK_FACE_YP; + case 9368: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BlackShulkerBox +namespace BlackStainedGlass +{ +} +namespace BlackStainedGlassPane +{ +BlockState BlackStainedGlassPane() +{ + return 7374; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7361: + case 7362: + case 7365: + case 7366: + case 7369: + case 7370: + case 7373: + case 7374: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7353: + case 7354: + case 7357: + case 7358: + case 7369: + case 7370: + case 7373: + case 7374: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7349: + case 7350: + case 7357: + case 7358: + case 7365: + case 7366: + case 7373: + case 7374: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7346: + case 7350: + case 7354: + case 7358: + case 7362: + case 7366: + case 7370: + case 7374: return false; + default: return true; + } +} +} // namespace BlackStainedGlassPane +namespace BlackTerracotta +{ +} +namespace BlackWallBanner +{ +BlockState BlackWallBanner() +{ + return 8213; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8215: return eBlockFace::BLOCK_FACE_XM; + case 8216: return eBlockFace::BLOCK_FACE_XP; + case 8213: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BlackWallBanner +namespace BlackWool +{ +} +namespace Blackstone +{ +} +namespace BlackstoneSlab +{ +BlockState BlackstoneSlab() +{ + return 16247; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 16247: return Type::Bottom; + case 16249: return Type::Double; + default: return Type::Top; + } +} +} // namespace BlackstoneSlab +namespace BlackstoneStairs +{ +BlockState BlackstoneStairs() +{ + return 15851; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15881: + case 15883: + case 15885: + case 15887: + case 15889: + case 15891: + case 15893: + case 15895: + case 15897: + case 15899: return eBlockFace::BLOCK_FACE_XM; + case 15901: + case 15903: + case 15905: + case 15907: + case 15909: + case 15911: + case 15913: + case 15915: + case 15917: + case 15919: return eBlockFace::BLOCK_FACE_XP; + case 15841: + case 15843: + case 15845: + case 15847: + case 15849: + case 15851: + case 15853: + case 15855: + case 15857: + case 15859: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 15851: + case 15853: + case 15855: + case 15857: + case 15859: + case 15871: + case 15873: + case 15875: + case 15877: + case 15879: + case 15891: + case 15893: + case 15895: + case 15897: + case 15899: + case 15911: + case 15913: + case 15915: + case 15917: + case 15919: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 15843: + case 15853: + case 15863: + case 15873: + case 15883: + case 15893: + case 15903: + case 15913: return Shape::InnerLeft; + case 15845: + case 15855: + case 15865: + case 15875: + case 15885: + case 15895: + case 15905: + case 15915: return Shape::InnerRight; + case 15847: + case 15857: + case 15867: + case 15877: + case 15887: + case 15897: + case 15907: + case 15917: return Shape::OuterLeft; + case 15849: + case 15859: + case 15869: + case 15879: + case 15889: + case 15899: + case 15909: + case 15919: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace BlackstoneStairs +namespace BlackstoneWall +{ +BlockState BlackstoneWall() +{ + return 15923; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 16031: + case 16032: + case 16033: + case 16037: + case 16038: + case 16039: + case 16043: + case 16044: + case 16045: + case 16049: + case 16050: + case 16051: + case 16055: + case 16056: + case 16057: + case 16061: + case 16062: + case 16063: + case 16067: + case 16068: + case 16069: + case 16073: + case 16074: + case 16075: + case 16079: + case 16080: + case 16081: + case 16085: + case 16086: + case 16087: + case 16091: + case 16092: + case 16093: + case 16097: + case 16098: + case 16099: + case 16103: + case 16104: + case 16105: + case 16109: + case 16110: + case 16111: + case 16115: + case 16116: + case 16117: + case 16121: + case 16122: + case 16123: + case 16127: + case 16128: + case 16129: + case 16133: + case 16134: + case 16135: return East::Low; + case 15923: + case 15924: + case 15925: + case 15929: + case 15930: + case 15931: + case 15935: + case 15936: + case 15937: + case 15941: + case 15942: + case 15943: + case 15947: + case 15948: + case 15949: + case 15953: + case 15954: + case 15955: + case 15959: + case 15960: + case 15961: + case 15965: + case 15966: + case 15967: + case 15971: + case 15972: + case 15973: + case 15977: + case 15978: + case 15979: + case 15983: + case 15984: + case 15985: + case 15989: + case 15990: + case 15991: + case 15995: + case 15996: + case 15997: + case 16001: + case 16002: + case 16003: + case 16007: + case 16008: + case 16009: + case 16013: + case 16014: + case 16015: + case 16019: + case 16020: + case 16021: + case 16025: + case 16026: + case 16027: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 15959: + case 15960: + case 15961: + case 15965: + case 15966: + case 15967: + case 15971: + case 15972: + case 15973: + case 15977: + case 15978: + case 15979: + case 15983: + case 15984: + case 15985: + case 15989: + case 15990: + case 15991: + case 16067: + case 16068: + case 16069: + case 16073: + case 16074: + case 16075: + case 16079: + case 16080: + case 16081: + case 16085: + case 16086: + case 16087: + case 16091: + case 16092: + case 16093: + case 16097: + case 16098: + case 16099: + case 16175: + case 16176: + case 16177: + case 16181: + case 16182: + case 16183: + case 16187: + case 16188: + case 16189: + case 16193: + case 16194: + case 16195: + case 16199: + case 16200: + case 16201: + case 16205: + case 16206: + case 16207: return North::Low; + case 15923: + case 15924: + case 15925: + case 15929: + case 15930: + case 15931: + case 15935: + case 15936: + case 15937: + case 15941: + case 15942: + case 15943: + case 15947: + case 15948: + case 15949: + case 15953: + case 15954: + case 15955: + case 16031: + case 16032: + case 16033: + case 16037: + case 16038: + case 16039: + case 16043: + case 16044: + case 16045: + case 16049: + case 16050: + case 16051: + case 16055: + case 16056: + case 16057: + case 16061: + case 16062: + case 16063: + case 16139: + case 16140: + case 16141: + case 16145: + case 16146: + case 16147: + case 16151: + case 16152: + case 16153: + case 16157: + case 16158: + case 16159: + case 16163: + case 16164: + case 16165: + case 16169: + case 16170: + case 16171: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 15935: + case 15936: + case 15937: + case 15941: + case 15942: + case 15943: + case 15971: + case 15972: + case 15973: + case 15977: + case 15978: + case 15979: + case 16007: + case 16008: + case 16009: + case 16013: + case 16014: + case 16015: + case 16043: + case 16044: + case 16045: + case 16049: + case 16050: + case 16051: + case 16079: + case 16080: + case 16081: + case 16085: + case 16086: + case 16087: + case 16115: + case 16116: + case 16117: + case 16121: + case 16122: + case 16123: + case 16151: + case 16152: + case 16153: + case 16157: + case 16158: + case 16159: + case 16187: + case 16188: + case 16189: + case 16193: + case 16194: + case 16195: + case 16223: + case 16224: + case 16225: + case 16229: + case 16230: + case 16231: return South::Low; + case 15923: + case 15924: + case 15925: + case 15929: + case 15930: + case 15931: + case 15959: + case 15960: + case 15961: + case 15965: + case 15966: + case 15967: + case 15995: + case 15996: + case 15997: + case 16001: + case 16002: + case 16003: + case 16031: + case 16032: + case 16033: + case 16037: + case 16038: + case 16039: + case 16067: + case 16068: + case 16069: + case 16073: + case 16074: + case 16075: + case 16103: + case 16104: + case 16105: + case 16109: + case 16110: + case 16111: + case 16139: + case 16140: + case 16141: + case 16145: + case 16146: + case 16147: + case 16175: + case 16176: + case 16177: + case 16181: + case 16182: + case 16183: + case 16211: + case 16212: + case 16213: + case 16217: + case 16218: + case 16219: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 15929: + case 15930: + case 15931: + case 15941: + case 15942: + case 15943: + case 15953: + case 15954: + case 15955: + case 15965: + case 15966: + case 15967: + case 15977: + case 15978: + case 15979: + case 15989: + case 15990: + case 15991: + case 16001: + case 16002: + case 16003: + case 16013: + case 16014: + case 16015: + case 16025: + case 16026: + case 16027: + case 16037: + case 16038: + case 16039: + case 16049: + case 16050: + case 16051: + case 16061: + case 16062: + case 16063: + case 16073: + case 16074: + case 16075: + case 16085: + case 16086: + case 16087: + case 16097: + case 16098: + case 16099: + case 16109: + case 16110: + case 16111: + case 16121: + case 16122: + case 16123: + case 16133: + case 16134: + case 16135: + case 16145: + case 16146: + case 16147: + case 16157: + case 16158: + case 16159: + case 16169: + case 16170: + case 16171: + case 16181: + case 16182: + case 16183: + case 16193: + case 16194: + case 16195: + case 16205: + case 16206: + case 16207: + case 16217: + case 16218: + case 16219: + case 16229: + case 16230: + case 16231: + case 16241: + case 16242: + case 16243: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 15924: + case 15930: + case 15936: + case 15942: + case 15948: + case 15954: + case 15960: + case 15966: + case 15972: + case 15978: + case 15984: + case 15990: + case 15996: + case 16002: + case 16008: + case 16014: + case 16020: + case 16026: + case 16032: + case 16038: + case 16044: + case 16050: + case 16056: + case 16062: + case 16068: + case 16074: + case 16080: + case 16086: + case 16092: + case 16098: + case 16104: + case 16110: + case 16116: + case 16122: + case 16128: + case 16134: + case 16140: + case 16146: + case 16152: + case 16158: + case 16164: + case 16170: + case 16176: + case 16182: + case 16188: + case 16194: + case 16200: + case 16206: + case 16212: + case 16218: + case 16224: + case 16230: + case 16236: + case 16242: return West::Low; + case 15923: + case 15929: + case 15935: + case 15941: + case 15947: + case 15953: + case 15959: + case 15965: + case 15971: + case 15977: + case 15983: + case 15989: + case 15995: + case 16001: + case 16007: + case 16013: + case 16019: + case 16025: + case 16031: + case 16037: + case 16043: + case 16049: + case 16055: + case 16061: + case 16067: + case 16073: + case 16079: + case 16085: + case 16091: + case 16097: + case 16103: + case 16109: + case 16115: + case 16121: + case 16127: + case 16133: + case 16139: + case 16145: + case 16151: + case 16157: + case 16163: + case 16169: + case 16175: + case 16181: + case 16187: + case 16193: + case 16199: + case 16205: + case 16211: + case 16217: + case 16223: + case 16229: + case 16235: + case 16241: return West::None; + default: return West::Tall; + } +} +} // namespace BlackstoneWall +namespace BlastFurnace +{ +BlockState BlastFurnace() +{ + return 14812; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14815: + case 14816: return eBlockFace::BLOCK_FACE_XM; + case 14817: + case 14818: return eBlockFace::BLOCK_FACE_XP; + case 14811: + case 14812: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 14812: + case 14814: + case 14816: + case 14818: return false; + default: return true; + } +} +} // namespace BlastFurnace +namespace BlueBanner +{ +BlockState BlueBanner() +{ + return 8073; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8073: return 0; + case 8074: return 1; + case 8083: return 10; + case 8084: return 11; + case 8085: return 12; + case 8086: return 13; + case 8087: return 14; + case 8088: return 15; + case 8075: return 2; + case 8076: return 3; + case 8077: return 4; + case 8078: return 5; + case 8079: return 6; + case 8080: return 7; + case 8081: return 8; + default: return 9; + } +} +} // namespace BlueBanner +namespace BlueBed +{ +BlockState BlueBed() +{ + return 1228; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1233: + case 1234: + case 1235: + case 1236: return eBlockFace::BLOCK_FACE_XM; + case 1237: + case 1238: + case 1239: + case 1240: return eBlockFace::BLOCK_FACE_XP; + case 1225: + case 1226: + case 1227: + case 1228: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1227: + case 1228: + case 1231: + case 1232: + case 1235: + case 1236: + case 1239: + case 1240: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1226: + case 1228: + case 1230: + case 1232: + case 1234: + case 1236: + case 1238: + case 1240: return Part::Foot; + default: return Part::Head; + } +} +} // namespace BlueBed +namespace BlueCarpet +{ +} +namespace BlueConcrete +{ +} +namespace BlueConcretePowder +{ +} +namespace BlueGlazedTerracotta +{ +BlockState BlueGlazedTerracotta() +{ + return 9418; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9420: return eBlockFace::BLOCK_FACE_XM; + case 9421: return eBlockFace::BLOCK_FACE_XP; + case 9418: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BlueGlazedTerracotta +namespace BlueIce +{ +} +namespace BlueOrchid +{ +} +namespace BlueShulkerBox +{ +BlockState BlueShulkerBox() +{ + return 9348; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9347: return eBlockFace::BLOCK_FACE_XM; + case 9345: return eBlockFace::BLOCK_FACE_XP; + case 9349: return eBlockFace::BLOCK_FACE_YM; + case 9348: return eBlockFace::BLOCK_FACE_YP; + case 9344: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BlueShulkerBox +namespace BlueStainedGlass +{ +} +namespace BlueStainedGlassPane +{ +BlockState BlueStainedGlassPane() +{ + return 7246; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7233: + case 7234: + case 7237: + case 7238: + case 7241: + case 7242: + case 7245: + case 7246: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7225: + case 7226: + case 7229: + case 7230: + case 7241: + case 7242: + case 7245: + case 7246: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7221: + case 7222: + case 7229: + case 7230: + case 7237: + case 7238: + case 7245: + case 7246: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7218: + case 7222: + case 7226: + case 7230: + case 7234: + case 7238: + case 7242: + case 7246: return false; + default: return true; + } +} +} // namespace BlueStainedGlassPane +namespace BlueTerracotta +{ +} +namespace BlueWallBanner +{ +BlockState BlueWallBanner() +{ + return 8197; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8199: return eBlockFace::BLOCK_FACE_XM; + case 8200: return eBlockFace::BLOCK_FACE_XP; + case 8197: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BlueWallBanner +namespace BlueWool +{ +} +namespace BoneBlock +{ +BlockState BoneBlock() +{ + return 9257; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 9256: return Axis::X; + case 9257: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace BoneBlock +namespace Bookshelf +{ +} +namespace BrainCoral +{ +} +namespace BrainCoralBlock +{ +} +namespace BrainCoralFan +{ +} +namespace BrainCoralWallFan +{ +BlockState BrainCoralWallFan() +{ + return 9608; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9613: return eBlockFace::BLOCK_FACE_XM; + case 9615: return eBlockFace::BLOCK_FACE_XP; + case 9609: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BrainCoralWallFan +namespace BrewingStand +{ +BlockState BrewingStand() +{ + return 5140; +} +bool HasBottle_0(const BlockState Block) +{ + switch (Block.ID) + { + case 5137: + case 5138: + case 5139: + case 5140: return false; + default: return true; + } +} +bool HasBottle_1(const BlockState Block) +{ + switch (Block.ID) + { + case 5135: + case 5136: + case 5139: + case 5140: return false; + default: return true; + } +} +bool HasBottle_2(const BlockState Block) +{ + switch (Block.ID) + { + case 5134: + case 5136: + case 5138: + case 5140: return false; + default: return true; + } +} +} // namespace BrewingStand +namespace BrickSlab +{ +BlockState BrickSlab() +{ + return 8375; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8375: return Type::Bottom; + case 8377: return Type::Double; + default: return Type::Top; + } +} +} // namespace BrickSlab +namespace BrickStairs +{ +BlockState BrickStairs() +{ + return 4863; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4893: + case 4895: + case 4897: + case 4899: + case 4901: + case 4903: + case 4905: + case 4907: + case 4909: + case 4911: return eBlockFace::BLOCK_FACE_XM; + case 4913: + case 4915: + case 4917: + case 4919: + case 4921: + case 4923: + case 4925: + case 4927: + case 4929: + case 4931: return eBlockFace::BLOCK_FACE_XP; + case 4853: + case 4855: + case 4857: + case 4859: + case 4861: + case 4863: + case 4865: + case 4867: + case 4869: + case 4871: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 4863: + case 4865: + case 4867: + case 4869: + case 4871: + case 4883: + case 4885: + case 4887: + case 4889: + case 4891: + case 4903: + case 4905: + case 4907: + case 4909: + case 4911: + case 4923: + case 4925: + case 4927: + case 4929: + case 4931: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 4855: + case 4865: + case 4875: + case 4885: + case 4895: + case 4905: + case 4915: + case 4925: return Shape::InnerLeft; + case 4857: + case 4867: + case 4877: + case 4887: + case 4897: + case 4907: + case 4917: + case 4927: return Shape::InnerRight; + case 4859: + case 4869: + case 4879: + case 4889: + case 4899: + case 4909: + case 4919: + case 4929: return Shape::OuterLeft; + case 4861: + case 4871: + case 4881: + case 4891: + case 4901: + case 4911: + case 4921: + case 4931: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace BrickStairs +namespace BrickWall +{ +BlockState BrickWall() +{ + return 10870; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 10978: + case 10979: + case 10980: + case 10984: + case 10985: + case 10986: + case 10990: + case 10991: + case 10992: + case 10996: + case 10997: + case 10998: + case 11002: + case 11003: + case 11004: + case 11008: + case 11009: + case 11010: + case 11014: + case 11015: + case 11016: + case 11020: + case 11021: + case 11022: + case 11026: + case 11027: + case 11028: + case 11032: + case 11033: + case 11034: + case 11038: + case 11039: + case 11040: + case 11044: + case 11045: + case 11046: + case 11050: + case 11051: + case 11052: + case 11056: + case 11057: + case 11058: + case 11062: + case 11063: + case 11064: + case 11068: + case 11069: + case 11070: + case 11074: + case 11075: + case 11076: + case 11080: + case 11081: + case 11082: return East::Low; + case 10870: + case 10871: + case 10872: + case 10876: + case 10877: + case 10878: + case 10882: + case 10883: + case 10884: + case 10888: + case 10889: + case 10890: + case 10894: + case 10895: + case 10896: + case 10900: + case 10901: + case 10902: + case 10906: + case 10907: + case 10908: + case 10912: + case 10913: + case 10914: + case 10918: + case 10919: + case 10920: + case 10924: + case 10925: + case 10926: + case 10930: + case 10931: + case 10932: + case 10936: + case 10937: + case 10938: + case 10942: + case 10943: + case 10944: + case 10948: + case 10949: + case 10950: + case 10954: + case 10955: + case 10956: + case 10960: + case 10961: + case 10962: + case 10966: + case 10967: + case 10968: + case 10972: + case 10973: + case 10974: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 10906: + case 10907: + case 10908: + case 10912: + case 10913: + case 10914: + case 10918: + case 10919: + case 10920: + case 10924: + case 10925: + case 10926: + case 10930: + case 10931: + case 10932: + case 10936: + case 10937: + case 10938: + case 11014: + case 11015: + case 11016: + case 11020: + case 11021: + case 11022: + case 11026: + case 11027: + case 11028: + case 11032: + case 11033: + case 11034: + case 11038: + case 11039: + case 11040: + case 11044: + case 11045: + case 11046: + case 11122: + case 11123: + case 11124: + case 11128: + case 11129: + case 11130: + case 11134: + case 11135: + case 11136: + case 11140: + case 11141: + case 11142: + case 11146: + case 11147: + case 11148: + case 11152: + case 11153: + case 11154: return North::Low; + case 10870: + case 10871: + case 10872: + case 10876: + case 10877: + case 10878: + case 10882: + case 10883: + case 10884: + case 10888: + case 10889: + case 10890: + case 10894: + case 10895: + case 10896: + case 10900: + case 10901: + case 10902: + case 10978: + case 10979: + case 10980: + case 10984: + case 10985: + case 10986: + case 10990: + case 10991: + case 10992: + case 10996: + case 10997: + case 10998: + case 11002: + case 11003: + case 11004: + case 11008: + case 11009: + case 11010: + case 11086: + case 11087: + case 11088: + case 11092: + case 11093: + case 11094: + case 11098: + case 11099: + case 11100: + case 11104: + case 11105: + case 11106: + case 11110: + case 11111: + case 11112: + case 11116: + case 11117: + case 11118: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 10882: + case 10883: + case 10884: + case 10888: + case 10889: + case 10890: + case 10918: + case 10919: + case 10920: + case 10924: + case 10925: + case 10926: + case 10954: + case 10955: + case 10956: + case 10960: + case 10961: + case 10962: + case 10990: + case 10991: + case 10992: + case 10996: + case 10997: + case 10998: + case 11026: + case 11027: + case 11028: + case 11032: + case 11033: + case 11034: + case 11062: + case 11063: + case 11064: + case 11068: + case 11069: + case 11070: + case 11098: + case 11099: + case 11100: + case 11104: + case 11105: + case 11106: + case 11134: + case 11135: + case 11136: + case 11140: + case 11141: + case 11142: + case 11170: + case 11171: + case 11172: + case 11176: + case 11177: + case 11178: return South::Low; + case 10870: + case 10871: + case 10872: + case 10876: + case 10877: + case 10878: + case 10906: + case 10907: + case 10908: + case 10912: + case 10913: + case 10914: + case 10942: + case 10943: + case 10944: + case 10948: + case 10949: + case 10950: + case 10978: + case 10979: + case 10980: + case 10984: + case 10985: + case 10986: + case 11014: + case 11015: + case 11016: + case 11020: + case 11021: + case 11022: + case 11050: + case 11051: + case 11052: + case 11056: + case 11057: + case 11058: + case 11086: + case 11087: + case 11088: + case 11092: + case 11093: + case 11094: + case 11122: + case 11123: + case 11124: + case 11128: + case 11129: + case 11130: + case 11158: + case 11159: + case 11160: + case 11164: + case 11165: + case 11166: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 10876: + case 10877: + case 10878: + case 10888: + case 10889: + case 10890: + case 10900: + case 10901: + case 10902: + case 10912: + case 10913: + case 10914: + case 10924: + case 10925: + case 10926: + case 10936: + case 10937: + case 10938: + case 10948: + case 10949: + case 10950: + case 10960: + case 10961: + case 10962: + case 10972: + case 10973: + case 10974: + case 10984: + case 10985: + case 10986: + case 10996: + case 10997: + case 10998: + case 11008: + case 11009: + case 11010: + case 11020: + case 11021: + case 11022: + case 11032: + case 11033: + case 11034: + case 11044: + case 11045: + case 11046: + case 11056: + case 11057: + case 11058: + case 11068: + case 11069: + case 11070: + case 11080: + case 11081: + case 11082: + case 11092: + case 11093: + case 11094: + case 11104: + case 11105: + case 11106: + case 11116: + case 11117: + case 11118: + case 11128: + case 11129: + case 11130: + case 11140: + case 11141: + case 11142: + case 11152: + case 11153: + case 11154: + case 11164: + case 11165: + case 11166: + case 11176: + case 11177: + case 11178: + case 11188: + case 11189: + case 11190: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 10871: + case 10877: + case 10883: + case 10889: + case 10895: + case 10901: + case 10907: + case 10913: + case 10919: + case 10925: + case 10931: + case 10937: + case 10943: + case 10949: + case 10955: + case 10961: + case 10967: + case 10973: + case 10979: + case 10985: + case 10991: + case 10997: + case 11003: + case 11009: + case 11015: + case 11021: + case 11027: + case 11033: + case 11039: + case 11045: + case 11051: + case 11057: + case 11063: + case 11069: + case 11075: + case 11081: + case 11087: + case 11093: + case 11099: + case 11105: + case 11111: + case 11117: + case 11123: + case 11129: + case 11135: + case 11141: + case 11147: + case 11153: + case 11159: + case 11165: + case 11171: + case 11177: + case 11183: + case 11189: return West::Low; + case 10870: + case 10876: + case 10882: + case 10888: + case 10894: + case 10900: + case 10906: + case 10912: + case 10918: + case 10924: + case 10930: + case 10936: + case 10942: + case 10948: + case 10954: + case 10960: + case 10966: + case 10972: + case 10978: + case 10984: + case 10990: + case 10996: + case 11002: + case 11008: + case 11014: + case 11020: + case 11026: + case 11032: + case 11038: + case 11044: + case 11050: + case 11056: + case 11062: + case 11068: + case 11074: + case 11080: + case 11086: + case 11092: + case 11098: + case 11104: + case 11110: + case 11116: + case 11122: + case 11128: + case 11134: + case 11140: + case 11146: + case 11152: + case 11158: + case 11164: + case 11170: + case 11176: + case 11182: + case 11188: return West::None; + default: return West::Tall; + } +} +} // namespace BrickWall +namespace Bricks +{ +} +namespace BrownBanner +{ +BlockState BrownBanner() +{ + return 8089; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8089: return 0; + case 8090: return 1; + case 8099: return 10; + case 8100: return 11; + case 8101: return 12; + case 8102: return 13; + case 8103: return 14; + case 8104: return 15; + case 8091: return 2; + case 8092: return 3; + case 8093: return 4; + case 8094: return 5; + case 8095: return 6; + case 8096: return 7; + case 8097: return 8; + default: return 9; + } +} +} // namespace BrownBanner +namespace BrownBed +{ +BlockState BrownBed() +{ + return 1244; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1249: + case 1250: + case 1251: + case 1252: return eBlockFace::BLOCK_FACE_XM; + case 1253: + case 1254: + case 1255: + case 1256: return eBlockFace::BLOCK_FACE_XP; + case 1241: + case 1242: + case 1243: + case 1244: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1243: + case 1244: + case 1247: + case 1248: + case 1251: + case 1252: + case 1255: + case 1256: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1242: + case 1244: + case 1246: + case 1248: + case 1250: + case 1252: + case 1254: + case 1256: return Part::Foot; + default: return Part::Head; + } +} +} // namespace BrownBed +namespace BrownCarpet +{ +} +namespace BrownConcrete +{ +} +namespace BrownConcretePowder +{ +} +namespace BrownGlazedTerracotta +{ +BlockState BrownGlazedTerracotta() +{ + return 9422; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9424: return eBlockFace::BLOCK_FACE_XM; + case 9425: return eBlockFace::BLOCK_FACE_XP; + case 9422: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BrownGlazedTerracotta +namespace BrownMushroom +{ +} +namespace BrownMushroomBlock +{ +BlockState BrownMushroomBlock() +{ + return 4505; +} +bool Down(const BlockState Block) +{ + switch (Block.ID) + { + case 4537: + case 4538: + case 4539: + case 4540: + case 4541: + case 4542: + case 4543: + case 4544: + case 4545: + case 4546: + case 4547: + case 4548: + case 4549: + case 4550: + case 4551: + case 4552: + case 4553: + case 4554: + case 4555: + case 4556: + case 4557: + case 4558: + case 4559: + case 4560: + case 4561: + case 4562: + case 4563: + case 4564: + case 4565: + case 4566: + case 4567: + case 4568: return false; + default: return true; + } +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 4521: + case 4522: + case 4523: + case 4524: + case 4525: + case 4526: + case 4527: + case 4528: + case 4529: + case 4530: + case 4531: + case 4532: + case 4533: + case 4534: + case 4535: + case 4536: + case 4553: + case 4554: + case 4555: + case 4556: + case 4557: + case 4558: + case 4559: + case 4560: + case 4561: + case 4562: + case 4563: + case 4564: + case 4565: + case 4566: + case 4567: + case 4568: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 4513: + case 4514: + case 4515: + case 4516: + case 4517: + case 4518: + case 4519: + case 4520: + case 4529: + case 4530: + case 4531: + case 4532: + case 4533: + case 4534: + case 4535: + case 4536: + case 4545: + case 4546: + case 4547: + case 4548: + case 4549: + case 4550: + case 4551: + case 4552: + case 4561: + case 4562: + case 4563: + case 4564: + case 4565: + case 4566: + case 4567: + case 4568: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 4509: + case 4510: + case 4511: + case 4512: + case 4517: + case 4518: + case 4519: + case 4520: + case 4525: + case 4526: + case 4527: + case 4528: + case 4533: + case 4534: + case 4535: + case 4536: + case 4541: + case 4542: + case 4543: + case 4544: + case 4549: + case 4550: + case 4551: + case 4552: + case 4557: + case 4558: + case 4559: + case 4560: + case 4565: + case 4566: + case 4567: + case 4568: return false; + default: return true; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 4507: + case 4508: + case 4511: + case 4512: + case 4515: + case 4516: + case 4519: + case 4520: + case 4523: + case 4524: + case 4527: + case 4528: + case 4531: + case 4532: + case 4535: + case 4536: + case 4539: + case 4540: + case 4543: + case 4544: + case 4547: + case 4548: + case 4551: + case 4552: + case 4555: + case 4556: + case 4559: + case 4560: + case 4563: + case 4564: + case 4567: + case 4568: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 4506: + case 4508: + case 4510: + case 4512: + case 4514: + case 4516: + case 4518: + case 4520: + case 4522: + case 4524: + case 4526: + case 4528: + case 4530: + case 4532: + case 4534: + case 4536: + case 4538: + case 4540: + case 4542: + case 4544: + case 4546: + case 4548: + case 4550: + case 4552: + case 4554: + case 4556: + case 4558: + case 4560: + case 4562: + case 4564: + case 4566: + case 4568: return false; + default: return true; + } +} +} // namespace BrownMushroomBlock +namespace BrownShulkerBox +{ +BlockState BrownShulkerBox() +{ + return 9354; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9353: return eBlockFace::BLOCK_FACE_XM; + case 9351: return eBlockFace::BLOCK_FACE_XP; + case 9355: return eBlockFace::BLOCK_FACE_YM; + case 9354: return eBlockFace::BLOCK_FACE_YP; + case 9350: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BrownShulkerBox +namespace BrownStainedGlass +{ +} +namespace BrownStainedGlassPane +{ +BlockState BrownStainedGlassPane() +{ + return 7278; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7265: + case 7266: + case 7269: + case 7270: + case 7273: + case 7274: + case 7277: + case 7278: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7257: + case 7258: + case 7261: + case 7262: + case 7273: + case 7274: + case 7277: + case 7278: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7253: + case 7254: + case 7261: + case 7262: + case 7269: + case 7270: + case 7277: + case 7278: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7250: + case 7254: + case 7258: + case 7262: + case 7266: + case 7270: + case 7274: + case 7278: return false; + default: return true; + } +} +} // namespace BrownStainedGlassPane +namespace BrownTerracotta +{ +} +namespace BrownWallBanner +{ +BlockState BrownWallBanner() +{ + return 8201; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8203: return eBlockFace::BLOCK_FACE_XM; + case 8204: return eBlockFace::BLOCK_FACE_XP; + case 8201: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BrownWallBanner +namespace BrownWool +{ +} +namespace BubbleColumn +{ +BlockState BubbleColumn() +{ + return 9667; +} +bool Drag(const BlockState Block) +{ + switch (Block.ID) + { + case 9668: return false; + default: return true; + } +} +} // namespace BubbleColumn +namespace BubbleCoral +{ +} +namespace BubbleCoralBlock +{ +} +namespace BubbleCoralFan +{ +} +namespace BubbleCoralWallFan +{ +BlockState BubbleCoralWallFan() +{ + return 9616; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9621: return eBlockFace::BLOCK_FACE_XM; + case 9623: return eBlockFace::BLOCK_FACE_XP; + case 9617: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace BubbleCoralWallFan +namespace Cactus +{ +BlockState Cactus() +{ + return 3931; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 3931: return 0; + case 3932: return 1; + case 3941: return 10; + case 3942: return 11; + case 3943: return 12; + case 3944: return 13; + case 3945: return 14; + case 3946: return 15; + case 3933: return 2; + case 3934: return 3; + case 3935: return 4; + case 3936: return 5; + case 3937: return 6; + case 3938: return 7; + case 3939: return 8; + default: return 9; + } +} +} // namespace Cactus +namespace Cake +{ +BlockState Cake() +{ + return 4024; +} +unsigned char Bites(const BlockState Block) +{ + switch (Block.ID) + { + case 4024: return 0; + case 4025: return 1; + case 4026: return 2; + case 4027: return 3; + case 4028: return 4; + case 4029: return 5; + default: return 6; + } +} +} // namespace Cake +namespace Campfire +{ +BlockState Campfire() +{ + return 14893; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14907: + case 14909: + case 14911: + case 14913: return eBlockFace::BLOCK_FACE_XM; + case 14915: + case 14917: + case 14919: + case 14921: return eBlockFace::BLOCK_FACE_XP; + case 14891: + case 14893: + case 14895: + case 14897: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 14895: + case 14897: + case 14903: + case 14905: + case 14911: + case 14913: + case 14919: + case 14921: return false; + default: return true; + } +} +bool SignalFire(const BlockState Block) +{ + switch (Block.ID) + { + case 14893: + case 14897: + case 14901: + case 14905: + case 14909: + case 14913: + case 14917: + case 14921: return false; + default: return true; + } +} +} // namespace Campfire +namespace Carrots +{ +BlockState Carrots() +{ + return 6330; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 6330: return 0; + case 6331: return 1; + case 6332: return 2; + case 6333: return 3; + case 6334: return 4; + case 6335: return 5; + case 6336: return 6; + default: return 7; + } +} +} // namespace Carrots +namespace CartographyTable +{ +} +namespace CarvedPumpkin +{ +BlockState CarvedPumpkin() +{ + return 4016; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4018: return eBlockFace::BLOCK_FACE_XM; + case 4019: return eBlockFace::BLOCK_FACE_XP; + case 4016: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace CarvedPumpkin +namespace Cauldron +{ +BlockState Cauldron() +{ + return 5141; +} +unsigned char Level(const BlockState Block) +{ + switch (Block.ID) + { + case 5141: return 0; + case 5142: return 1; + case 5143: return 2; + default: return 3; + } +} +} // namespace Cauldron +namespace CaveAir +{ +} +namespace Chain +{ +} +namespace ChainCommandBlock +{ +BlockState ChainCommandBlock() +{ + return 9243; +} +bool Conditional(const BlockState Block) +{ + switch (Block.ID) + { + case 9243: + case 9244: + case 9245: + case 9246: + case 9247: + case 9248: return false; + default: return true; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9240: + case 9246: return eBlockFace::BLOCK_FACE_XM; + case 9238: + case 9244: return eBlockFace::BLOCK_FACE_XP; + case 9242: + case 9248: return eBlockFace::BLOCK_FACE_YM; + case 9241: + case 9247: return eBlockFace::BLOCK_FACE_YP; + case 9237: + case 9243: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace ChainCommandBlock +namespace Chest +{ +BlockState Chest() +{ + return 2035; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 2047: + case 2049: + case 2051: return eBlockFace::BLOCK_FACE_XM; + case 2053: + case 2055: + case 2057: return eBlockFace::BLOCK_FACE_XP; + case 2035: + case 2037: + case 2039: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 2037: + case 2043: + case 2049: + case 2055: return Type::Left; + case 2039: + case 2045: + case 2051: + case 2057: return Type::Right; + default: return Type::Single; + } +} +} // namespace Chest +namespace ChippedAnvil +{ +BlockState ChippedAnvil() +{ + return 6614; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6616: return eBlockFace::BLOCK_FACE_XM; + case 6617: return eBlockFace::BLOCK_FACE_XP; + case 6614: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace ChippedAnvil +namespace ChiseledNetherBricks +{ +} +namespace ChiseledPolishedBlackstone +{ +} +namespace ChiseledQuartzBlock +{ +} +namespace ChiseledRedSandstone +{ +} +namespace ChiseledSandstone +{ +} +namespace ChiseledStoneBricks +{ +} +namespace ChorusFlower +{ +BlockState ChorusFlower() +{ + return 9128; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 9128: return 0; + case 9129: return 1; + case 9130: return 2; + case 9131: return 3; + case 9132: return 4; + default: return 5; + } +} +} // namespace ChorusFlower +namespace ChorusPlant +{ +BlockState ChorusPlant() +{ + return 9127; +} +bool Down(const BlockState Block) +{ + switch (Block.ID) + { + case 9096: + case 9097: + case 9098: + case 9099: + case 9100: + case 9101: + case 9102: + case 9103: + case 9104: + case 9105: + case 9106: + case 9107: + case 9108: + case 9109: + case 9110: + case 9111: + case 9112: + case 9113: + case 9114: + case 9115: + case 9116: + case 9117: + case 9118: + case 9119: + case 9120: + case 9121: + case 9122: + case 9123: + case 9124: + case 9125: + case 9126: + case 9127: return false; + default: return true; + } +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 9080: + case 9081: + case 9082: + case 9083: + case 9084: + case 9085: + case 9086: + case 9087: + case 9088: + case 9089: + case 9090: + case 9091: + case 9092: + case 9093: + case 9094: + case 9095: + case 9112: + case 9113: + case 9114: + case 9115: + case 9116: + case 9117: + case 9118: + case 9119: + case 9120: + case 9121: + case 9122: + case 9123: + case 9124: + case 9125: + case 9126: + case 9127: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 9072: + case 9073: + case 9074: + case 9075: + case 9076: + case 9077: + case 9078: + case 9079: + case 9088: + case 9089: + case 9090: + case 9091: + case 9092: + case 9093: + case 9094: + case 9095: + case 9104: + case 9105: + case 9106: + case 9107: + case 9108: + case 9109: + case 9110: + case 9111: + case 9120: + case 9121: + case 9122: + case 9123: + case 9124: + case 9125: + case 9126: + case 9127: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 9068: + case 9069: + case 9070: + case 9071: + case 9076: + case 9077: + case 9078: + case 9079: + case 9084: + case 9085: + case 9086: + case 9087: + case 9092: + case 9093: + case 9094: + case 9095: + case 9100: + case 9101: + case 9102: + case 9103: + case 9108: + case 9109: + case 9110: + case 9111: + case 9116: + case 9117: + case 9118: + case 9119: + case 9124: + case 9125: + case 9126: + case 9127: return false; + default: return true; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 9066: + case 9067: + case 9070: + case 9071: + case 9074: + case 9075: + case 9078: + case 9079: + case 9082: + case 9083: + case 9086: + case 9087: + case 9090: + case 9091: + case 9094: + case 9095: + case 9098: + case 9099: + case 9102: + case 9103: + case 9106: + case 9107: + case 9110: + case 9111: + case 9114: + case 9115: + case 9118: + case 9119: + case 9122: + case 9123: + case 9126: + case 9127: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 9065: + case 9067: + case 9069: + case 9071: + case 9073: + case 9075: + case 9077: + case 9079: + case 9081: + case 9083: + case 9085: + case 9087: + case 9089: + case 9091: + case 9093: + case 9095: + case 9097: + case 9099: + case 9101: + case 9103: + case 9105: + case 9107: + case 9109: + case 9111: + case 9113: + case 9115: + case 9117: + case 9119: + case 9121: + case 9123: + case 9125: + case 9127: return false; + default: return true; + } +} +} // namespace ChorusPlant +namespace Clay +{ +} +namespace CoalBlock +{ +} +namespace CoalOre +{ +} +namespace CoarseDirt +{ +} +namespace Cobblestone +{ +} +namespace CobblestoneSlab +{ +BlockState CobblestoneSlab() +{ + return 8369; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8369: return Type::Bottom; + case 8371: return Type::Double; + default: return Type::Top; + } +} +} // namespace CobblestoneSlab +namespace CobblestoneStairs +{ +BlockState CobblestoneStairs() +{ + return 3666; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3696: + case 3698: + case 3700: + case 3702: + case 3704: + case 3706: + case 3708: + case 3710: + case 3712: + case 3714: return eBlockFace::BLOCK_FACE_XM; + case 3716: + case 3718: + case 3720: + case 3722: + case 3724: + case 3726: + case 3728: + case 3730: + case 3732: + case 3734: return eBlockFace::BLOCK_FACE_XP; + case 3656: + case 3658: + case 3660: + case 3662: + case 3664: + case 3666: + case 3668: + case 3670: + case 3672: + case 3674: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 3666: + case 3668: + case 3670: + case 3672: + case 3674: + case 3686: + case 3688: + case 3690: + case 3692: + case 3694: + case 3706: + case 3708: + case 3710: + case 3712: + case 3714: + case 3726: + case 3728: + case 3730: + case 3732: + case 3734: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 3658: + case 3668: + case 3678: + case 3688: + case 3698: + case 3708: + case 3718: + case 3728: return Shape::InnerLeft; + case 3660: + case 3670: + case 3680: + case 3690: + case 3700: + case 3710: + case 3720: + case 3730: return Shape::InnerRight; + case 3662: + case 3672: + case 3682: + case 3692: + case 3702: + case 3712: + case 3722: + case 3732: return Shape::OuterLeft; + case 3664: + case 3674: + case 3684: + case 3694: + case 3704: + case 3714: + case 3724: + case 3734: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace CobblestoneStairs +namespace CobblestoneWall +{ +BlockState CobblestoneWall() +{ + return 5660; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 5768: + case 5769: + case 5770: + case 5774: + case 5775: + case 5776: + case 5780: + case 5781: + case 5782: + case 5786: + case 5787: + case 5788: + case 5792: + case 5793: + case 5794: + case 5798: + case 5799: + case 5800: + case 5804: + case 5805: + case 5806: + case 5810: + case 5811: + case 5812: + case 5816: + case 5817: + case 5818: + case 5822: + case 5823: + case 5824: + case 5828: + case 5829: + case 5830: + case 5834: + case 5835: + case 5836: + case 5840: + case 5841: + case 5842: + case 5846: + case 5847: + case 5848: + case 5852: + case 5853: + case 5854: + case 5858: + case 5859: + case 5860: + case 5864: + case 5865: + case 5866: + case 5870: + case 5871: + case 5872: return East::Low; + case 5660: + case 5661: + case 5662: + case 5666: + case 5667: + case 5668: + case 5672: + case 5673: + case 5674: + case 5678: + case 5679: + case 5680: + case 5684: + case 5685: + case 5686: + case 5690: + case 5691: + case 5692: + case 5696: + case 5697: + case 5698: + case 5702: + case 5703: + case 5704: + case 5708: + case 5709: + case 5710: + case 5714: + case 5715: + case 5716: + case 5720: + case 5721: + case 5722: + case 5726: + case 5727: + case 5728: + case 5732: + case 5733: + case 5734: + case 5738: + case 5739: + case 5740: + case 5744: + case 5745: + case 5746: + case 5750: + case 5751: + case 5752: + case 5756: + case 5757: + case 5758: + case 5762: + case 5763: + case 5764: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 5696: + case 5697: + case 5698: + case 5702: + case 5703: + case 5704: + case 5708: + case 5709: + case 5710: + case 5714: + case 5715: + case 5716: + case 5720: + case 5721: + case 5722: + case 5726: + case 5727: + case 5728: + case 5804: + case 5805: + case 5806: + case 5810: + case 5811: + case 5812: + case 5816: + case 5817: + case 5818: + case 5822: + case 5823: + case 5824: + case 5828: + case 5829: + case 5830: + case 5834: + case 5835: + case 5836: + case 5912: + case 5913: + case 5914: + case 5918: + case 5919: + case 5920: + case 5924: + case 5925: + case 5926: + case 5930: + case 5931: + case 5932: + case 5936: + case 5937: + case 5938: + case 5942: + case 5943: + case 5944: return North::Low; + case 5660: + case 5661: + case 5662: + case 5666: + case 5667: + case 5668: + case 5672: + case 5673: + case 5674: + case 5678: + case 5679: + case 5680: + case 5684: + case 5685: + case 5686: + case 5690: + case 5691: + case 5692: + case 5768: + case 5769: + case 5770: + case 5774: + case 5775: + case 5776: + case 5780: + case 5781: + case 5782: + case 5786: + case 5787: + case 5788: + case 5792: + case 5793: + case 5794: + case 5798: + case 5799: + case 5800: + case 5876: + case 5877: + case 5878: + case 5882: + case 5883: + case 5884: + case 5888: + case 5889: + case 5890: + case 5894: + case 5895: + case 5896: + case 5900: + case 5901: + case 5902: + case 5906: + case 5907: + case 5908: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 5672: + case 5673: + case 5674: + case 5678: + case 5679: + case 5680: + case 5708: + case 5709: + case 5710: + case 5714: + case 5715: + case 5716: + case 5744: + case 5745: + case 5746: + case 5750: + case 5751: + case 5752: + case 5780: + case 5781: + case 5782: + case 5786: + case 5787: + case 5788: + case 5816: + case 5817: + case 5818: + case 5822: + case 5823: + case 5824: + case 5852: + case 5853: + case 5854: + case 5858: + case 5859: + case 5860: + case 5888: + case 5889: + case 5890: + case 5894: + case 5895: + case 5896: + case 5924: + case 5925: + case 5926: + case 5930: + case 5931: + case 5932: + case 5960: + case 5961: + case 5962: + case 5966: + case 5967: + case 5968: return South::Low; + case 5660: + case 5661: + case 5662: + case 5666: + case 5667: + case 5668: + case 5696: + case 5697: + case 5698: + case 5702: + case 5703: + case 5704: + case 5732: + case 5733: + case 5734: + case 5738: + case 5739: + case 5740: + case 5768: + case 5769: + case 5770: + case 5774: + case 5775: + case 5776: + case 5804: + case 5805: + case 5806: + case 5810: + case 5811: + case 5812: + case 5840: + case 5841: + case 5842: + case 5846: + case 5847: + case 5848: + case 5876: + case 5877: + case 5878: + case 5882: + case 5883: + case 5884: + case 5912: + case 5913: + case 5914: + case 5918: + case 5919: + case 5920: + case 5948: + case 5949: + case 5950: + case 5954: + case 5955: + case 5956: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 5666: + case 5667: + case 5668: + case 5678: + case 5679: + case 5680: + case 5690: + case 5691: + case 5692: + case 5702: + case 5703: + case 5704: + case 5714: + case 5715: + case 5716: + case 5726: + case 5727: + case 5728: + case 5738: + case 5739: + case 5740: + case 5750: + case 5751: + case 5752: + case 5762: + case 5763: + case 5764: + case 5774: + case 5775: + case 5776: + case 5786: + case 5787: + case 5788: + case 5798: + case 5799: + case 5800: + case 5810: + case 5811: + case 5812: + case 5822: + case 5823: + case 5824: + case 5834: + case 5835: + case 5836: + case 5846: + case 5847: + case 5848: + case 5858: + case 5859: + case 5860: + case 5870: + case 5871: + case 5872: + case 5882: + case 5883: + case 5884: + case 5894: + case 5895: + case 5896: + case 5906: + case 5907: + case 5908: + case 5918: + case 5919: + case 5920: + case 5930: + case 5931: + case 5932: + case 5942: + case 5943: + case 5944: + case 5954: + case 5955: + case 5956: + case 5966: + case 5967: + case 5968: + case 5978: + case 5979: + case 5980: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 5661: + case 5667: + case 5673: + case 5679: + case 5685: + case 5691: + case 5697: + case 5703: + case 5709: + case 5715: + case 5721: + case 5727: + case 5733: + case 5739: + case 5745: + case 5751: + case 5757: + case 5763: + case 5769: + case 5775: + case 5781: + case 5787: + case 5793: + case 5799: + case 5805: + case 5811: + case 5817: + case 5823: + case 5829: + case 5835: + case 5841: + case 5847: + case 5853: + case 5859: + case 5865: + case 5871: + case 5877: + case 5883: + case 5889: + case 5895: + case 5901: + case 5907: + case 5913: + case 5919: + case 5925: + case 5931: + case 5937: + case 5943: + case 5949: + case 5955: + case 5961: + case 5967: + case 5973: + case 5979: return West::Low; + case 5660: + case 5666: + case 5672: + case 5678: + case 5684: + case 5690: + case 5696: + case 5702: + case 5708: + case 5714: + case 5720: + case 5726: + case 5732: + case 5738: + case 5744: + case 5750: + case 5756: + case 5762: + case 5768: + case 5774: + case 5780: + case 5786: + case 5792: + case 5798: + case 5804: + case 5810: + case 5816: + case 5822: + case 5828: + case 5834: + case 5840: + case 5846: + case 5852: + case 5858: + case 5864: + case 5870: + case 5876: + case 5882: + case 5888: + case 5894: + case 5900: + case 5906: + case 5912: + case 5918: + case 5924: + case 5930: + case 5936: + case 5942: + case 5948: + case 5954: + case 5960: + case 5966: + case 5972: + case 5978: return West::None; + default: return West::Tall; + } +} +} // namespace CobblestoneWall +namespace Cobweb +{ +} +namespace Cocoa +{ +BlockState Cocoa() +{ + return 5158; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 5158: + case 5159: + case 5160: + case 5161: return 0; + case 5162: + case 5163: + case 5164: + case 5165: return 1; + default: return 2; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5160: + case 5164: + case 5168: return eBlockFace::BLOCK_FACE_XM; + case 5161: + case 5165: + case 5169: return eBlockFace::BLOCK_FACE_XP; + case 5158: + case 5162: + case 5166: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace Cocoa +namespace CommandBlock +{ +BlockState CommandBlock() +{ + return 5650; +} +bool Conditional(const BlockState Block) +{ + switch (Block.ID) + { + case 5650: + case 5651: + case 5652: + case 5653: + case 5654: + case 5655: return false; + default: return true; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5647: + case 5653: return eBlockFace::BLOCK_FACE_XM; + case 5645: + case 5651: return eBlockFace::BLOCK_FACE_XP; + case 5649: + case 5655: return eBlockFace::BLOCK_FACE_YM; + case 5648: + case 5654: return eBlockFace::BLOCK_FACE_YP; + case 5644: + case 5650: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace CommandBlock +namespace Comparator +{ +BlockState Comparator() +{ + return 6679; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6686: + case 6687: + case 6688: + case 6689: return eBlockFace::BLOCK_FACE_XM; + case 6690: + case 6691: + case 6692: + case 6693: return eBlockFace::BLOCK_FACE_XP; + case 6678: + case 6679: + case 6680: + case 6681: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Mode Mode(const BlockState Block) +{ + switch (Block.ID) + { + case 6678: + case 6679: + case 6682: + case 6683: + case 6686: + case 6687: + case 6690: + case 6691: return Mode::Compare; + default: return Mode::Subtract; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 6679: + case 6681: + case 6683: + case 6685: + case 6687: + case 6689: + case 6691: + case 6693: return false; + default: return true; + } +} +} // namespace Comparator +namespace Composter +{ +BlockState Composter() +{ + return 15751; +} +unsigned char Level(const BlockState Block) +{ + switch (Block.ID) + { + case 15751: return 0; + case 15752: return 1; + case 15753: return 2; + case 15754: return 3; + case 15755: return 4; + case 15756: return 5; + case 15757: return 6; + case 15758: return 7; + default: return 8; + } +} +} // namespace Composter +namespace Conduit +{ +} +namespace Cornflower +{ +} +namespace CrackedNetherBricks +{ +} +namespace CrackedPolishedBlackstoneBricks +{ +} +namespace CrackedStoneBricks +{ +} +namespace CraftingTable +{ +} +namespace CreeperHead +{ +BlockState CreeperHead() +{ + return 6570; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 6570: return 0; + case 6571: return 1; + case 6580: return 10; + case 6581: return 11; + case 6582: return 12; + case 6583: return 13; + case 6584: return 14; + case 6585: return 15; + case 6572: return 2; + case 6573: return 3; + case 6574: return 4; + case 6575: return 5; + case 6576: return 6; + case 6577: return 7; + case 6578: return 8; + default: return 9; + } +} +} // namespace CreeperHead +namespace CreeperWallHead +{ +BlockState CreeperWallHead() +{ + return 6586; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6588: return eBlockFace::BLOCK_FACE_XM; + case 6589: return eBlockFace::BLOCK_FACE_XP; + case 6586: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace CreeperWallHead +namespace CrimsonButton +{ +BlockState CrimsonButton() +{ + return 15488; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 15495: + case 15496: + case 15497: + case 15498: + case 15499: + case 15500: + case 15501: + case 15502: return Face::Ceiling; + case 15479: + case 15480: + case 15481: + case 15482: + case 15483: + case 15484: + case 15485: + case 15486: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15483: + case 15484: + case 15491: + case 15492: + case 15499: + case 15500: return eBlockFace::BLOCK_FACE_XM; + case 15485: + case 15486: + case 15493: + case 15494: + case 15501: + case 15502: return eBlockFace::BLOCK_FACE_XP; + case 15479: + case 15480: + case 15487: + case 15488: + case 15495: + case 15496: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15480: + case 15482: + case 15484: + case 15486: + case 15488: + case 15490: + case 15492: + case 15494: + case 15496: + case 15498: + case 15500: + case 15502: return false; + default: return true; + } +} +} // namespace CrimsonButton +namespace CrimsonDoor +{ +BlockState CrimsonDoor() +{ + return 15538; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15559: + case 15560: + case 15561: + case 15562: + case 15563: + case 15564: + case 15565: + case 15566: + case 15567: + case 15568: + case 15569: + case 15570: + case 15571: + case 15572: + case 15573: + case 15574: return eBlockFace::BLOCK_FACE_XM; + case 15575: + case 15576: + case 15577: + case 15578: + case 15579: + case 15580: + case 15581: + case 15582: + case 15583: + case 15584: + case 15585: + case 15586: + case 15587: + case 15588: + case 15589: + case 15590: return eBlockFace::BLOCK_FACE_XP; + case 15527: + case 15528: + case 15529: + case 15530: + case 15531: + case 15532: + case 15533: + case 15534: + case 15535: + case 15536: + case 15537: + case 15538: + case 15539: + case 15540: + case 15541: + case 15542: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 15535: + case 15536: + case 15537: + case 15538: + case 15539: + case 15540: + case 15541: + case 15542: + case 15551: + case 15552: + case 15553: + case 15554: + case 15555: + case 15556: + case 15557: + case 15558: + case 15567: + case 15568: + case 15569: + case 15570: + case 15571: + case 15572: + case 15573: + case 15574: + case 15583: + case 15584: + case 15585: + case 15586: + case 15587: + case 15588: + case 15589: + case 15590: return Half::Lower; + default: return Half::Upper; + } +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 15527: + case 15528: + case 15529: + case 15530: + case 15535: + case 15536: + case 15537: + case 15538: + case 15543: + case 15544: + case 15545: + case 15546: + case 15551: + case 15552: + case 15553: + case 15554: + case 15559: + case 15560: + case 15561: + case 15562: + case 15567: + case 15568: + case 15569: + case 15570: + case 15575: + case 15576: + case 15577: + case 15578: + case 15583: + case 15584: + case 15585: + case 15586: return Hinge::Left; + default: return Hinge::Right; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 15529: + case 15530: + case 15533: + case 15534: + case 15537: + case 15538: + case 15541: + case 15542: + case 15545: + case 15546: + case 15549: + case 15550: + case 15553: + case 15554: + case 15557: + case 15558: + case 15561: + case 15562: + case 15565: + case 15566: + case 15569: + case 15570: + case 15573: + case 15574: + case 15577: + case 15578: + case 15581: + case 15582: + case 15585: + case 15586: + case 15589: + case 15590: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15528: + case 15530: + case 15532: + case 15534: + case 15536: + case 15538: + case 15540: + case 15542: + case 15544: + case 15546: + case 15548: + case 15550: + case 15552: + case 15554: + case 15556: + case 15558: + case 15560: + case 15562: + case 15564: + case 15566: + case 15568: + case 15570: + case 15572: + case 15574: + case 15576: + case 15578: + case 15580: + case 15582: + case 15584: + case 15586: + case 15588: + case 15590: return false; + default: return true; + } +} +} // namespace CrimsonDoor +namespace CrimsonFence +{ +BlockState CrimsonFence() +{ + return 15094; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 15081: + case 15082: + case 15085: + case 15086: + case 15089: + case 15090: + case 15093: + case 15094: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 15073: + case 15074: + case 15077: + case 15078: + case 15089: + case 15090: + case 15093: + case 15094: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 15069: + case 15070: + case 15077: + case 15078: + case 15085: + case 15086: + case 15093: + case 15094: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 15066: + case 15070: + case 15074: + case 15078: + case 15082: + case 15086: + case 15090: + case 15094: return false; + default: return true; + } +} +} // namespace CrimsonFence +namespace CrimsonFenceGate +{ +BlockState CrimsonFenceGate() +{ + return 15262; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15271: + case 15272: + case 15273: + case 15274: + case 15275: + case 15276: + case 15277: + case 15278: return eBlockFace::BLOCK_FACE_XM; + case 15279: + case 15280: + case 15281: + case 15282: + case 15283: + case 15284: + case 15285: + case 15286: return eBlockFace::BLOCK_FACE_XP; + case 15255: + case 15256: + case 15257: + case 15258: + case 15259: + case 15260: + case 15261: + case 15262: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool InWall(const BlockState Block) +{ + switch (Block.ID) + { + case 15259: + case 15260: + case 15261: + case 15262: + case 15267: + case 15268: + case 15269: + case 15270: + case 15275: + case 15276: + case 15277: + case 15278: + case 15283: + case 15284: + case 15285: + case 15286: return false; + default: return true; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 15257: + case 15258: + case 15261: + case 15262: + case 15265: + case 15266: + case 15269: + case 15270: + case 15273: + case 15274: + case 15277: + case 15278: + case 15281: + case 15282: + case 15285: + case 15286: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15256: + case 15258: + case 15260: + case 15262: + case 15264: + case 15266: + case 15268: + case 15270: + case 15272: + case 15274: + case 15276: + case 15278: + case 15280: + case 15282: + case 15284: + case 15286: return false; + default: return true; + } +} +} // namespace CrimsonFenceGate +namespace CrimsonFungus +{ +} +namespace CrimsonHyphae +{ +BlockState CrimsonHyphae() +{ + return 14982; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 14981: return Axis::X; + case 14982: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace CrimsonHyphae +namespace CrimsonNylium +{ +} +namespace CrimsonPlanks +{ +} +namespace CrimsonPressurePlate +{ +BlockState CrimsonPressurePlate() +{ + return 15060; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15060: return false; + default: return true; + } +} +} // namespace CrimsonPressurePlate +namespace CrimsonRoots +{ +} +namespace CrimsonSign +{ +BlockState CrimsonSign() +{ + return 15656; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 15656: return 0; + case 15658: return 1; + case 15676: return 10; + case 15678: return 11; + case 15680: return 12; + case 15682: return 13; + case 15684: return 14; + case 15686: return 15; + case 15660: return 2; + case 15662: return 3; + case 15664: return 4; + case 15666: return 5; + case 15668: return 6; + case 15670: return 7; + case 15672: return 8; + default: return 9; + } +} +} // namespace CrimsonSign +namespace CrimsonSlab +{ +BlockState CrimsonSlab() +{ + return 15050; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 15050: return Type::Bottom; + case 15052: return Type::Double; + default: return Type::Top; + } +} +} // namespace CrimsonSlab +namespace CrimsonStairs +{ +BlockState CrimsonStairs() +{ + return 15330; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15360: + case 15362: + case 15364: + case 15366: + case 15368: + case 15370: + case 15372: + case 15374: + case 15376: + case 15378: return eBlockFace::BLOCK_FACE_XM; + case 15380: + case 15382: + case 15384: + case 15386: + case 15388: + case 15390: + case 15392: + case 15394: + case 15396: + case 15398: return eBlockFace::BLOCK_FACE_XP; + case 15320: + case 15322: + case 15324: + case 15326: + case 15328: + case 15330: + case 15332: + case 15334: + case 15336: + case 15338: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 15330: + case 15332: + case 15334: + case 15336: + case 15338: + case 15350: + case 15352: + case 15354: + case 15356: + case 15358: + case 15370: + case 15372: + case 15374: + case 15376: + case 15378: + case 15390: + case 15392: + case 15394: + case 15396: + case 15398: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 15322: + case 15332: + case 15342: + case 15352: + case 15362: + case 15372: + case 15382: + case 15392: return Shape::InnerLeft; + case 15324: + case 15334: + case 15344: + case 15354: + case 15364: + case 15374: + case 15384: + case 15394: return Shape::InnerRight; + case 15326: + case 15336: + case 15346: + case 15356: + case 15366: + case 15376: + case 15386: + case 15396: return Shape::OuterLeft; + case 15328: + case 15338: + case 15348: + case 15358: + case 15368: + case 15378: + case 15388: + case 15398: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace CrimsonStairs +namespace CrimsonStem +{ +BlockState CrimsonStem() +{ + return 14976; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 14975: return Axis::X; + case 14976: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace CrimsonStem +namespace CrimsonTrapdoor +{ +BlockState CrimsonTrapdoor() +{ + return 15142; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15160: + case 15162: + case 15164: + case 15166: + case 15168: + case 15170: + case 15172: + case 15174: return eBlockFace::BLOCK_FACE_XM; + case 15176: + case 15178: + case 15180: + case 15182: + case 15184: + case 15186: + case 15188: + case 15190: return eBlockFace::BLOCK_FACE_XP; + case 15128: + case 15130: + case 15132: + case 15134: + case 15136: + case 15138: + case 15140: + case 15142: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 15136: + case 15138: + case 15140: + case 15142: + case 15152: + case 15154: + case 15156: + case 15158: + case 15168: + case 15170: + case 15172: + case 15174: + case 15184: + case 15186: + case 15188: + case 15190: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 15132: + case 15134: + case 15140: + case 15142: + case 15148: + case 15150: + case 15156: + case 15158: + case 15164: + case 15166: + case 15172: + case 15174: + case 15180: + case 15182: + case 15188: + case 15190: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15130: + case 15134: + case 15138: + case 15142: + case 15146: + case 15150: + case 15154: + case 15158: + case 15162: + case 15166: + case 15170: + case 15174: + case 15178: + case 15182: + case 15186: + case 15190: return false; + default: return true; + } +} +} // namespace CrimsonTrapdoor +namespace CrimsonWallSign +{ +BlockState CrimsonWallSign() +{ + return 15720; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15724: return eBlockFace::BLOCK_FACE_XM; + case 15726: return eBlockFace::BLOCK_FACE_XP; + case 15720: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace CrimsonWallSign +namespace CryingObsidian +{ +} +namespace CutRedSandstone +{ +} +namespace CutRedSandstoneSlab +{ +BlockState CutRedSandstoneSlab() +{ + return 8405; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8405: return Type::Bottom; + case 8407: return Type::Double; + default: return Type::Top; + } +} +} // namespace CutRedSandstoneSlab +namespace CutSandstone +{ +} +namespace CutSandstoneSlab +{ +BlockState CutSandstoneSlab() +{ + return 8357; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8357: return Type::Bottom; + case 8359: return Type::Double; + default: return Type::Top; + } +} +} // namespace CutSandstoneSlab +namespace CyanBanner +{ +BlockState CyanBanner() +{ + return 8041; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8041: return 0; + case 8042: return 1; + case 8051: return 10; + case 8052: return 11; + case 8053: return 12; + case 8054: return 13; + case 8055: return 14; + case 8056: return 15; + case 8043: return 2; + case 8044: return 3; + case 8045: return 4; + case 8046: return 5; + case 8047: return 6; + case 8048: return 7; + case 8049: return 8; + default: return 9; + } +} +} // namespace CyanBanner +namespace CyanBed +{ +BlockState CyanBed() +{ + return 1196; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1201: + case 1202: + case 1203: + case 1204: return eBlockFace::BLOCK_FACE_XM; + case 1205: + case 1206: + case 1207: + case 1208: return eBlockFace::BLOCK_FACE_XP; + case 1193: + case 1194: + case 1195: + case 1196: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1195: + case 1196: + case 1199: + case 1200: + case 1203: + case 1204: + case 1207: + case 1208: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1194: + case 1196: + case 1198: + case 1200: + case 1202: + case 1204: + case 1206: + case 1208: return Part::Foot; + default: return Part::Head; + } +} +} // namespace CyanBed +namespace CyanCarpet +{ +} +namespace CyanConcrete +{ +} +namespace CyanConcretePowder +{ +} +namespace CyanGlazedTerracotta +{ +BlockState CyanGlazedTerracotta() +{ + return 9410; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9412: return eBlockFace::BLOCK_FACE_XM; + case 9413: return eBlockFace::BLOCK_FACE_XP; + case 9410: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace CyanGlazedTerracotta +namespace CyanShulkerBox +{ +BlockState CyanShulkerBox() +{ + return 9336; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9335: return eBlockFace::BLOCK_FACE_XM; + case 9333: return eBlockFace::BLOCK_FACE_XP; + case 9337: return eBlockFace::BLOCK_FACE_YM; + case 9336: return eBlockFace::BLOCK_FACE_YP; + case 9332: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace CyanShulkerBox +namespace CyanStainedGlass +{ +} +namespace CyanStainedGlassPane +{ +BlockState CyanStainedGlassPane() +{ + return 7182; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7169: + case 7170: + case 7173: + case 7174: + case 7177: + case 7178: + case 7181: + case 7182: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7161: + case 7162: + case 7165: + case 7166: + case 7177: + case 7178: + case 7181: + case 7182: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7157: + case 7158: + case 7165: + case 7166: + case 7173: + case 7174: + case 7181: + case 7182: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7154: + case 7158: + case 7162: + case 7166: + case 7170: + case 7174: + case 7178: + case 7182: return false; + default: return true; + } +} +} // namespace CyanStainedGlassPane +namespace CyanTerracotta +{ +} +namespace CyanWallBanner +{ +BlockState CyanWallBanner() +{ + return 8189; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8191: return eBlockFace::BLOCK_FACE_XM; + case 8192: return eBlockFace::BLOCK_FACE_XP; + case 8189: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace CyanWallBanner +namespace CyanWool +{ +} +namespace DamagedAnvil +{ +BlockState DamagedAnvil() +{ + return 6618; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6620: return eBlockFace::BLOCK_FACE_XM; + case 6621: return eBlockFace::BLOCK_FACE_XP; + case 6618: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace DamagedAnvil +namespace Dandelion +{ +} +namespace DarkOakButton +{ +BlockState DarkOakButton() +{ + return 6475; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 6482: + case 6483: + case 6484: + case 6485: + case 6486: + case 6487: + case 6488: + case 6489: return Face::Ceiling; + case 6466: + case 6467: + case 6468: + case 6469: + case 6470: + case 6471: + case 6472: + case 6473: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6470: + case 6471: + case 6478: + case 6479: + case 6486: + case 6487: return eBlockFace::BLOCK_FACE_XM; + case 6472: + case 6473: + case 6480: + case 6481: + case 6488: + case 6489: return eBlockFace::BLOCK_FACE_XP; + case 6466: + case 6467: + case 6474: + case 6475: + case 6482: + case 6483: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 6467: + case 6469: + case 6471: + case 6473: + case 6475: + case 6477: + case 6479: + case 6481: + case 6483: + case 6485: + case 6487: + case 6489: return false; + default: return true; + } +} +} // namespace DarkOakButton +namespace DarkOakDoor +{ +BlockState DarkOakDoor() +{ + return 9005; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9026: + case 9027: + case 9028: + case 9029: + case 9030: + case 9031: + case 9032: + case 9033: + case 9034: + case 9035: + case 9036: + case 9037: + case 9038: + case 9039: + case 9040: + case 9041: return eBlockFace::BLOCK_FACE_XM; + case 9042: + case 9043: + case 9044: + case 9045: + case 9046: + case 9047: + case 9048: + case 9049: + case 9050: + case 9051: + case 9052: + case 9053: + case 9054: + case 9055: + case 9056: + case 9057: return eBlockFace::BLOCK_FACE_XP; + case 8994: + case 8995: + case 8996: + case 8997: + case 8998: + case 8999: + case 9000: + case 9001: + case 9002: + case 9003: + case 9004: + case 9005: + case 9006: + case 9007: + case 9008: + case 9009: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 9002: + case 9003: + case 9004: + case 9005: + case 9006: + case 9007: + case 9008: + case 9009: + case 9018: + case 9019: + case 9020: + case 9021: + case 9022: + case 9023: + case 9024: + case 9025: + case 9034: + case 9035: + case 9036: + case 9037: + case 9038: + case 9039: + case 9040: + case 9041: + case 9050: + case 9051: + case 9052: + case 9053: + case 9054: + case 9055: + case 9056: + case 9057: return Half::Lower; + default: return Half::Upper; + } +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 8994: + case 8995: + case 8996: + case 8997: + case 9002: + case 9003: + case 9004: + case 9005: + case 9010: + case 9011: + case 9012: + case 9013: + case 9018: + case 9019: + case 9020: + case 9021: + case 9026: + case 9027: + case 9028: + case 9029: + case 9034: + case 9035: + case 9036: + case 9037: + case 9042: + case 9043: + case 9044: + case 9045: + case 9050: + case 9051: + case 9052: + case 9053: return Hinge::Left; + default: return Hinge::Right; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8996: + case 8997: + case 9000: + case 9001: + case 9004: + case 9005: + case 9008: + case 9009: + case 9012: + case 9013: + case 9016: + case 9017: + case 9020: + case 9021: + case 9024: + case 9025: + case 9028: + case 9029: + case 9032: + case 9033: + case 9036: + case 9037: + case 9040: + case 9041: + case 9044: + case 9045: + case 9048: + case 9049: + case 9052: + case 9053: + case 9056: + case 9057: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8995: + case 8997: + case 8999: + case 9001: + case 9003: + case 9005: + case 9007: + case 9009: + case 9011: + case 9013: + case 9015: + case 9017: + case 9019: + case 9021: + case 9023: + case 9025: + case 9027: + case 9029: + case 9031: + case 9033: + case 9035: + case 9037: + case 9039: + case 9041: + case 9043: + case 9045: + case 9047: + case 9049: + case 9051: + case 9053: + case 9055: + case 9057: return false; + default: return true; + } +} +} // namespace DarkOakDoor +namespace DarkOakFence +{ +BlockState DarkOakFence() +{ + return 8737; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 8724: + case 8725: + case 8728: + case 8729: + case 8732: + case 8733: + case 8736: + case 8737: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 8716: + case 8717: + case 8720: + case 8721: + case 8732: + case 8733: + case 8736: + case 8737: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 8712: + case 8713: + case 8720: + case 8721: + case 8728: + case 8729: + case 8736: + case 8737: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 8709: + case 8713: + case 8717: + case 8721: + case 8725: + case 8729: + case 8733: + case 8737: return false; + default: return true; + } +} +} // namespace DarkOakFence +namespace DarkOakFenceGate +{ +BlockState DarkOakFenceGate() +{ + return 8553; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8562: + case 8563: + case 8564: + case 8565: + case 8566: + case 8567: + case 8568: + case 8569: return eBlockFace::BLOCK_FACE_XM; + case 8570: + case 8571: + case 8572: + case 8573: + case 8574: + case 8575: + case 8576: + case 8577: return eBlockFace::BLOCK_FACE_XP; + case 8546: + case 8547: + case 8548: + case 8549: + case 8550: + case 8551: + case 8552: + case 8553: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool InWall(const BlockState Block) +{ + switch (Block.ID) + { + case 8550: + case 8551: + case 8552: + case 8553: + case 8558: + case 8559: + case 8560: + case 8561: + case 8566: + case 8567: + case 8568: + case 8569: + case 8574: + case 8575: + case 8576: + case 8577: return false; + default: return true; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8548: + case 8549: + case 8552: + case 8553: + case 8556: + case 8557: + case 8560: + case 8561: + case 8564: + case 8565: + case 8568: + case 8569: + case 8572: + case 8573: + case 8576: + case 8577: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8547: + case 8549: + case 8551: + case 8553: + case 8555: + case 8557: + case 8559: + case 8561: + case 8563: + case 8565: + case 8567: + case 8569: + case 8571: + case 8573: + case 8575: + case 8577: return false; + default: return true; + } +} +} // namespace DarkOakFenceGate +namespace DarkOakLeaves +{ +BlockState DarkOakLeaves() +{ + return 228; +} +unsigned char Distance(const BlockState Block) +{ + switch (Block.ID) + { + case 215: + case 216: return 1; + case 217: + case 218: return 2; + case 219: + case 220: return 3; + case 221: + case 222: return 4; + case 223: + case 224: return 5; + case 225: + case 226: return 6; + default: return 7; + } +} +bool Persistent(const BlockState Block) +{ + switch (Block.ID) + { + case 216: + case 218: + case 220: + case 222: + case 224: + case 226: + case 228: return false; + default: return true; + } +} +} // namespace DarkOakLeaves +namespace DarkOakLog +{ +BlockState DarkOakLog() +{ + return 89; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 88: return Axis::X; + case 89: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace DarkOakLog +namespace DarkOakPlanks +{ +} +namespace DarkOakPressurePlate +{ +BlockState DarkOakPressurePlate() +{ + return 3884; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3884: return false; + default: return true; + } +} +} // namespace DarkOakPressurePlate +namespace DarkOakSapling +{ +BlockState DarkOakSapling() +{ + return 31; +} +unsigned char Stage(const BlockState Block) +{ + switch (Block.ID) + { + case 31: return 0; + default: return 1; + } +} +} // namespace DarkOakSapling +namespace DarkOakSign +{ +BlockState DarkOakSign() +{ + return 3542; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 3542: return 0; + case 3544: return 1; + case 3562: return 10; + case 3564: return 11; + case 3566: return 12; + case 3568: return 13; + case 3570: return 14; + case 3572: return 15; + case 3546: return 2; + case 3548: return 3; + case 3550: return 4; + case 3552: return 5; + case 3554: return 6; + case 3556: return 7; + case 3558: return 8; + default: return 9; + } +} +} // namespace DarkOakSign +namespace DarkOakSlab +{ +BlockState DarkOakSlab() +{ + return 8333; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8333: return Type::Bottom; + case 8335: return Type::Double; + default: return Type::Top; + } +} +} // namespace DarkOakSlab +namespace DarkOakStairs +{ +BlockState DarkOakStairs() +{ + return 7466; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 7496: + case 7498: + case 7500: + case 7502: + case 7504: + case 7506: + case 7508: + case 7510: + case 7512: + case 7514: return eBlockFace::BLOCK_FACE_XM; + case 7516: + case 7518: + case 7520: + case 7522: + case 7524: + case 7526: + case 7528: + case 7530: + case 7532: + case 7534: return eBlockFace::BLOCK_FACE_XP; + case 7456: + case 7458: + case 7460: + case 7462: + case 7464: + case 7466: + case 7468: + case 7470: + case 7472: + case 7474: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7466: + case 7468: + case 7470: + case 7472: + case 7474: + case 7486: + case 7488: + case 7490: + case 7492: + case 7494: + case 7506: + case 7508: + case 7510: + case 7512: + case 7514: + case 7526: + case 7528: + case 7530: + case 7532: + case 7534: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 7458: + case 7468: + case 7478: + case 7488: + case 7498: + case 7508: + case 7518: + case 7528: return Shape::InnerLeft; + case 7460: + case 7470: + case 7480: + case 7490: + case 7500: + case 7510: + case 7520: + case 7530: return Shape::InnerRight; + case 7462: + case 7472: + case 7482: + case 7492: + case 7502: + case 7512: + case 7522: + case 7532: return Shape::OuterLeft; + case 7464: + case 7474: + case 7484: + case 7494: + case 7504: + case 7514: + case 7524: + case 7534: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace DarkOakStairs +namespace DarkOakTrapdoor +{ +BlockState DarkOakTrapdoor() +{ + return 4446; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4464: + case 4466: + case 4468: + case 4470: + case 4472: + case 4474: + case 4476: + case 4478: return eBlockFace::BLOCK_FACE_XM; + case 4480: + case 4482: + case 4484: + case 4486: + case 4488: + case 4490: + case 4492: + case 4494: return eBlockFace::BLOCK_FACE_XP; + case 4432: + case 4434: + case 4436: + case 4438: + case 4440: + case 4442: + case 4444: + case 4446: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 4440: + case 4442: + case 4444: + case 4446: + case 4456: + case 4458: + case 4460: + case 4462: + case 4472: + case 4474: + case 4476: + case 4478: + case 4488: + case 4490: + case 4492: + case 4494: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 4436: + case 4438: + case 4444: + case 4446: + case 4452: + case 4454: + case 4460: + case 4462: + case 4468: + case 4470: + case 4476: + case 4478: + case 4484: + case 4486: + case 4492: + case 4494: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 4434: + case 4438: + case 4442: + case 4446: + case 4450: + case 4454: + case 4458: + case 4462: + case 4466: + case 4470: + case 4474: + case 4478: + case 4482: + case 4486: + case 4490: + case 4494: return false; + default: return true; + } +} +} // namespace DarkOakTrapdoor +namespace DarkOakWallSign +{ +BlockState DarkOakWallSign() +{ + return 3776; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3780: return eBlockFace::BLOCK_FACE_XM; + case 3782: return eBlockFace::BLOCK_FACE_XP; + case 3776: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace DarkOakWallSign +namespace DarkOakWood +{ +BlockState DarkOakWood() +{ + return 125; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 124: return Axis::X; + case 125: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace DarkOakWood +namespace DarkPrismarine +{ +} +namespace DarkPrismarineSlab +{ +BlockState DarkPrismarineSlab() +{ + return 7859; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 7859: return Type::Bottom; + case 7861: return Type::Double; + default: return Type::Top; + } +} +} // namespace DarkPrismarineSlab +namespace DarkPrismarineStairs +{ +BlockState DarkPrismarineStairs() +{ + return 7775; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 7805: + case 7807: + case 7809: + case 7811: + case 7813: + case 7815: + case 7817: + case 7819: + case 7821: + case 7823: return eBlockFace::BLOCK_FACE_XM; + case 7825: + case 7827: + case 7829: + case 7831: + case 7833: + case 7835: + case 7837: + case 7839: + case 7841: + case 7843: return eBlockFace::BLOCK_FACE_XP; + case 7765: + case 7767: + case 7769: + case 7771: + case 7773: + case 7775: + case 7777: + case 7779: + case 7781: + case 7783: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7775: + case 7777: + case 7779: + case 7781: + case 7783: + case 7795: + case 7797: + case 7799: + case 7801: + case 7803: + case 7815: + case 7817: + case 7819: + case 7821: + case 7823: + case 7835: + case 7837: + case 7839: + case 7841: + case 7843: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 7767: + case 7777: + case 7787: + case 7797: + case 7807: + case 7817: + case 7827: + case 7837: return Shape::InnerLeft; + case 7769: + case 7779: + case 7789: + case 7799: + case 7809: + case 7819: + case 7829: + case 7839: return Shape::InnerRight; + case 7771: + case 7781: + case 7791: + case 7801: + case 7811: + case 7821: + case 7831: + case 7841: return Shape::OuterLeft; + case 7773: + case 7783: + case 7793: + case 7803: + case 7813: + case 7823: + case 7833: + case 7843: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace DarkPrismarineStairs +namespace DaylightDetector +{ +BlockState DaylightDetector() +{ + return 6710; +} +bool Inverted(const BlockState Block) +{ + switch (Block.ID) + { + case 6710: + case 6711: + case 6712: + case 6713: + case 6714: + case 6715: + case 6716: + case 6717: + case 6718: + case 6719: + case 6720: + case 6721: + case 6722: + case 6723: + case 6724: + case 6725: return false; + default: return true; + } +} +unsigned char Power(const BlockState Block) +{ + switch (Block.ID) + { + case 6694: + case 6710: return 0; + case 6695: + case 6711: return 1; + case 6704: + case 6720: return 10; + case 6705: + case 6721: return 11; + case 6706: + case 6722: return 12; + case 6707: + case 6723: return 13; + case 6708: + case 6724: return 14; + case 6709: + case 6725: return 15; + case 6696: + case 6712: return 2; + case 6697: + case 6713: return 3; + case 6698: + case 6714: return 4; + case 6699: + case 6715: return 5; + case 6700: + case 6716: return 6; + case 6701: + case 6717: return 7; + case 6702: + case 6718: return 8; + default: return 9; + } +} +} // namespace DaylightDetector +namespace DeadBrainCoral +{ +} +namespace DeadBrainCoralBlock +{ +} +namespace DeadBrainCoralFan +{ +} +namespace DeadBrainCoralWallFan +{ +BlockState DeadBrainCoralWallFan() +{ + return 9568; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9573: return eBlockFace::BLOCK_FACE_XM; + case 9575: return eBlockFace::BLOCK_FACE_XP; + case 9569: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace DeadBrainCoralWallFan +namespace DeadBubbleCoral +{ +} +namespace DeadBubbleCoralBlock +{ +} +namespace DeadBubbleCoralFan +{ +} +namespace DeadBubbleCoralWallFan +{ +BlockState DeadBubbleCoralWallFan() +{ + return 9576; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9581: return eBlockFace::BLOCK_FACE_XM; + case 9583: return eBlockFace::BLOCK_FACE_XP; + case 9577: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace DeadBubbleCoralWallFan +namespace DeadBush +{ +} +namespace DeadFireCoral +{ +} +namespace DeadFireCoralBlock +{ +} +namespace DeadFireCoralFan +{ +} +namespace DeadFireCoralWallFan +{ +BlockState DeadFireCoralWallFan() +{ + return 9584; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9589: return eBlockFace::BLOCK_FACE_XM; + case 9591: return eBlockFace::BLOCK_FACE_XP; + case 9585: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace DeadFireCoralWallFan +namespace DeadHornCoral +{ +} +namespace DeadHornCoralBlock +{ +} +namespace DeadHornCoralFan +{ +} +namespace DeadHornCoralWallFan +{ +BlockState DeadHornCoralWallFan() +{ + return 9592; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9597: return eBlockFace::BLOCK_FACE_XM; + case 9599: return eBlockFace::BLOCK_FACE_XP; + case 9593: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace DeadHornCoralWallFan +namespace DeadTubeCoral +{ +} +namespace DeadTubeCoralBlock +{ +} +namespace DeadTubeCoralFan +{ +} +namespace DeadTubeCoralWallFan +{ +BlockState DeadTubeCoralWallFan() +{ + return 9560; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9565: return eBlockFace::BLOCK_FACE_XM; + case 9567: return eBlockFace::BLOCK_FACE_XP; + case 9561: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace DeadTubeCoralWallFan +namespace DetectorRail +{ +BlockState DetectorRail() +{ + return 1323; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 1323: + case 1324: + case 1325: + case 1326: + case 1327: + case 1328: return false; + default: return true; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 1319: + case 1325: return Shape::AscendingEast; + case 1321: + case 1327: return Shape::AscendingNorth; + case 1322: + case 1328: return Shape::AscendingSouth; + case 1320: + case 1326: return Shape::AscendingWest; + case 1318: + case 1324: return Shape::EastWest; + default: return Shape::NorthSouth; + } +} +} // namespace DetectorRail +namespace DiamondBlock +{ +} +namespace DiamondOre +{ +} +namespace Diorite +{ +} +namespace DioriteSlab +{ +BlockState DioriteSlab() +{ + return 10864; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10864: return Type::Bottom; + case 10866: return Type::Double; + default: return Type::Top; + } +} +} // namespace DioriteSlab +namespace DioriteStairs +{ +BlockState DioriteStairs() +{ + return 10720; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10750: + case 10752: + case 10754: + case 10756: + case 10758: + case 10760: + case 10762: + case 10764: + case 10766: + case 10768: return eBlockFace::BLOCK_FACE_XM; + case 10770: + case 10772: + case 10774: + case 10776: + case 10778: + case 10780: + case 10782: + case 10784: + case 10786: + case 10788: return eBlockFace::BLOCK_FACE_XP; + case 10710: + case 10712: + case 10714: + case 10716: + case 10718: + case 10720: + case 10722: + case 10724: + case 10726: + case 10728: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10720: + case 10722: + case 10724: + case 10726: + case 10728: + case 10740: + case 10742: + case 10744: + case 10746: + case 10748: + case 10760: + case 10762: + case 10764: + case 10766: + case 10768: + case 10780: + case 10782: + case 10784: + case 10786: + case 10788: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10712: + case 10722: + case 10732: + case 10742: + case 10752: + case 10762: + case 10772: + case 10782: return Shape::InnerLeft; + case 10714: + case 10724: + case 10734: + case 10744: + case 10754: + case 10764: + case 10774: + case 10784: return Shape::InnerRight; + case 10716: + case 10726: + case 10736: + case 10746: + case 10756: + case 10766: + case 10776: + case 10786: return Shape::OuterLeft; + case 10718: + case 10728: + case 10738: + case 10748: + case 10758: + case 10768: + case 10778: + case 10788: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace DioriteStairs +namespace DioriteWall +{ +BlockState DioriteWall() +{ + return 14434; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 14542: + case 14543: + case 14544: + case 14548: + case 14549: + case 14550: + case 14554: + case 14555: + case 14556: + case 14560: + case 14561: + case 14562: + case 14566: + case 14567: + case 14568: + case 14572: + case 14573: + case 14574: + case 14578: + case 14579: + case 14580: + case 14584: + case 14585: + case 14586: + case 14590: + case 14591: + case 14592: + case 14596: + case 14597: + case 14598: + case 14602: + case 14603: + case 14604: + case 14608: + case 14609: + case 14610: + case 14614: + case 14615: + case 14616: + case 14620: + case 14621: + case 14622: + case 14626: + case 14627: + case 14628: + case 14632: + case 14633: + case 14634: + case 14638: + case 14639: + case 14640: + case 14644: + case 14645: + case 14646: return East::Low; + case 14434: + case 14435: + case 14436: + case 14440: + case 14441: + case 14442: + case 14446: + case 14447: + case 14448: + case 14452: + case 14453: + case 14454: + case 14458: + case 14459: + case 14460: + case 14464: + case 14465: + case 14466: + case 14470: + case 14471: + case 14472: + case 14476: + case 14477: + case 14478: + case 14482: + case 14483: + case 14484: + case 14488: + case 14489: + case 14490: + case 14494: + case 14495: + case 14496: + case 14500: + case 14501: + case 14502: + case 14506: + case 14507: + case 14508: + case 14512: + case 14513: + case 14514: + case 14518: + case 14519: + case 14520: + case 14524: + case 14525: + case 14526: + case 14530: + case 14531: + case 14532: + case 14536: + case 14537: + case 14538: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 14470: + case 14471: + case 14472: + case 14476: + case 14477: + case 14478: + case 14482: + case 14483: + case 14484: + case 14488: + case 14489: + case 14490: + case 14494: + case 14495: + case 14496: + case 14500: + case 14501: + case 14502: + case 14578: + case 14579: + case 14580: + case 14584: + case 14585: + case 14586: + case 14590: + case 14591: + case 14592: + case 14596: + case 14597: + case 14598: + case 14602: + case 14603: + case 14604: + case 14608: + case 14609: + case 14610: + case 14686: + case 14687: + case 14688: + case 14692: + case 14693: + case 14694: + case 14698: + case 14699: + case 14700: + case 14704: + case 14705: + case 14706: + case 14710: + case 14711: + case 14712: + case 14716: + case 14717: + case 14718: return North::Low; + case 14434: + case 14435: + case 14436: + case 14440: + case 14441: + case 14442: + case 14446: + case 14447: + case 14448: + case 14452: + case 14453: + case 14454: + case 14458: + case 14459: + case 14460: + case 14464: + case 14465: + case 14466: + case 14542: + case 14543: + case 14544: + case 14548: + case 14549: + case 14550: + case 14554: + case 14555: + case 14556: + case 14560: + case 14561: + case 14562: + case 14566: + case 14567: + case 14568: + case 14572: + case 14573: + case 14574: + case 14650: + case 14651: + case 14652: + case 14656: + case 14657: + case 14658: + case 14662: + case 14663: + case 14664: + case 14668: + case 14669: + case 14670: + case 14674: + case 14675: + case 14676: + case 14680: + case 14681: + case 14682: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 14446: + case 14447: + case 14448: + case 14452: + case 14453: + case 14454: + case 14482: + case 14483: + case 14484: + case 14488: + case 14489: + case 14490: + case 14518: + case 14519: + case 14520: + case 14524: + case 14525: + case 14526: + case 14554: + case 14555: + case 14556: + case 14560: + case 14561: + case 14562: + case 14590: + case 14591: + case 14592: + case 14596: + case 14597: + case 14598: + case 14626: + case 14627: + case 14628: + case 14632: + case 14633: + case 14634: + case 14662: + case 14663: + case 14664: + case 14668: + case 14669: + case 14670: + case 14698: + case 14699: + case 14700: + case 14704: + case 14705: + case 14706: + case 14734: + case 14735: + case 14736: + case 14740: + case 14741: + case 14742: return South::Low; + case 14434: + case 14435: + case 14436: + case 14440: + case 14441: + case 14442: + case 14470: + case 14471: + case 14472: + case 14476: + case 14477: + case 14478: + case 14506: + case 14507: + case 14508: + case 14512: + case 14513: + case 14514: + case 14542: + case 14543: + case 14544: + case 14548: + case 14549: + case 14550: + case 14578: + case 14579: + case 14580: + case 14584: + case 14585: + case 14586: + case 14614: + case 14615: + case 14616: + case 14620: + case 14621: + case 14622: + case 14650: + case 14651: + case 14652: + case 14656: + case 14657: + case 14658: + case 14686: + case 14687: + case 14688: + case 14692: + case 14693: + case 14694: + case 14722: + case 14723: + case 14724: + case 14728: + case 14729: + case 14730: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 14440: + case 14441: + case 14442: + case 14452: + case 14453: + case 14454: + case 14464: + case 14465: + case 14466: + case 14476: + case 14477: + case 14478: + case 14488: + case 14489: + case 14490: + case 14500: + case 14501: + case 14502: + case 14512: + case 14513: + case 14514: + case 14524: + case 14525: + case 14526: + case 14536: + case 14537: + case 14538: + case 14548: + case 14549: + case 14550: + case 14560: + case 14561: + case 14562: + case 14572: + case 14573: + case 14574: + case 14584: + case 14585: + case 14586: + case 14596: + case 14597: + case 14598: + case 14608: + case 14609: + case 14610: + case 14620: + case 14621: + case 14622: + case 14632: + case 14633: + case 14634: + case 14644: + case 14645: + case 14646: + case 14656: + case 14657: + case 14658: + case 14668: + case 14669: + case 14670: + case 14680: + case 14681: + case 14682: + case 14692: + case 14693: + case 14694: + case 14704: + case 14705: + case 14706: + case 14716: + case 14717: + case 14718: + case 14728: + case 14729: + case 14730: + case 14740: + case 14741: + case 14742: + case 14752: + case 14753: + case 14754: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 14435: + case 14441: + case 14447: + case 14453: + case 14459: + case 14465: + case 14471: + case 14477: + case 14483: + case 14489: + case 14495: + case 14501: + case 14507: + case 14513: + case 14519: + case 14525: + case 14531: + case 14537: + case 14543: + case 14549: + case 14555: + case 14561: + case 14567: + case 14573: + case 14579: + case 14585: + case 14591: + case 14597: + case 14603: + case 14609: + case 14615: + case 14621: + case 14627: + case 14633: + case 14639: + case 14645: + case 14651: + case 14657: + case 14663: + case 14669: + case 14675: + case 14681: + case 14687: + case 14693: + case 14699: + case 14705: + case 14711: + case 14717: + case 14723: + case 14729: + case 14735: + case 14741: + case 14747: + case 14753: return West::Low; + case 14434: + case 14440: + case 14446: + case 14452: + case 14458: + case 14464: + case 14470: + case 14476: + case 14482: + case 14488: + case 14494: + case 14500: + case 14506: + case 14512: + case 14518: + case 14524: + case 14530: + case 14536: + case 14542: + case 14548: + case 14554: + case 14560: + case 14566: + case 14572: + case 14578: + case 14584: + case 14590: + case 14596: + case 14602: + case 14608: + case 14614: + case 14620: + case 14626: + case 14632: + case 14638: + case 14644: + case 14650: + case 14656: + case 14662: + case 14668: + case 14674: + case 14680: + case 14686: + case 14692: + case 14698: + case 14704: + case 14710: + case 14716: + case 14722: + case 14728: + case 14734: + case 14740: + case 14746: + case 14752: return West::None; + default: return West::Tall; + } +} +} // namespace DioriteWall +namespace Dirt +{ +} +namespace Dispenser +{ +BlockState Dispenser() +{ + return 235; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 240: + case 241: return eBlockFace::BLOCK_FACE_XM; + case 236: + case 237: return eBlockFace::BLOCK_FACE_XP; + case 244: + case 245: return eBlockFace::BLOCK_FACE_YM; + case 242: + case 243: return eBlockFace::BLOCK_FACE_YP; + case 234: + case 235: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Triggered(const BlockState Block) +{ + switch (Block.ID) + { + case 235: + case 237: + case 239: + case 241: + case 243: + case 245: return false; + default: return true; + } +} +} // namespace Dispenser +namespace DragonEgg +{ +} +namespace DragonHead +{ +BlockState DragonHead() +{ + return 6590; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 6590: return 0; + case 6591: return 1; + case 6600: return 10; + case 6601: return 11; + case 6602: return 12; + case 6603: return 13; + case 6604: return 14; + case 6605: return 15; + case 6592: return 2; + case 6593: return 3; + case 6594: return 4; + case 6595: return 5; + case 6596: return 6; + case 6597: return 7; + case 6598: return 8; + default: return 9; + } +} +} // namespace DragonHead +namespace DragonWallHead +{ +BlockState DragonWallHead() +{ + return 6606; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6608: return eBlockFace::BLOCK_FACE_XM; + case 6609: return eBlockFace::BLOCK_FACE_XP; + case 6606: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace DragonWallHead +namespace DriedKelpBlock +{ +} +namespace Dropper +{ +BlockState Dropper() +{ + return 6836; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6841: + case 6842: return eBlockFace::BLOCK_FACE_XM; + case 6837: + case 6838: return eBlockFace::BLOCK_FACE_XP; + case 6845: + case 6846: return eBlockFace::BLOCK_FACE_YM; + case 6843: + case 6844: return eBlockFace::BLOCK_FACE_YP; + case 6835: + case 6836: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Triggered(const BlockState Block) +{ + switch (Block.ID) + { + case 6836: + case 6838: + case 6840: + case 6842: + case 6844: + case 6846: return false; + default: return true; + } +} +} // namespace Dropper +namespace EmeraldBlock +{ +} +namespace EmeraldOre +{ +} +namespace EnchantingTable +{ +} +namespace EndGateway +{ +} +namespace EndPortal +{ +} +namespace EndPortalFrame +{ +BlockState EndPortalFrame() +{ + return 5150; +} +bool Eye(const BlockState Block) +{ + switch (Block.ID) + { + case 5150: + case 5151: + case 5152: + case 5153: return false; + default: return true; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5148: + case 5152: return eBlockFace::BLOCK_FACE_XM; + case 5149: + case 5153: return eBlockFace::BLOCK_FACE_XP; + case 5146: + case 5150: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace EndPortalFrame +namespace EndRod +{ +BlockState EndRod() +{ + return 9062; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9061: return eBlockFace::BLOCK_FACE_XM; + case 9059: return eBlockFace::BLOCK_FACE_XP; + case 9063: return eBlockFace::BLOCK_FACE_YM; + case 9062: return eBlockFace::BLOCK_FACE_YP; + case 9058: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace EndRod +namespace EndStone +{ +} +namespace EndStoneBrickSlab +{ +BlockState EndStoneBrickSlab() +{ + return 10822; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10822: return Type::Bottom; + case 10824: return Type::Double; + default: return Type::Top; + } +} +} // namespace EndStoneBrickSlab +namespace EndStoneBrickStairs +{ +BlockState EndStoneBrickStairs() +{ + return 10080; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10110: + case 10112: + case 10114: + case 10116: + case 10118: + case 10120: + case 10122: + case 10124: + case 10126: + case 10128: return eBlockFace::BLOCK_FACE_XM; + case 10130: + case 10132: + case 10134: + case 10136: + case 10138: + case 10140: + case 10142: + case 10144: + case 10146: + case 10148: return eBlockFace::BLOCK_FACE_XP; + case 10070: + case 10072: + case 10074: + case 10076: + case 10078: + case 10080: + case 10082: + case 10084: + case 10086: + case 10088: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10080: + case 10082: + case 10084: + case 10086: + case 10088: + case 10100: + case 10102: + case 10104: + case 10106: + case 10108: + case 10120: + case 10122: + case 10124: + case 10126: + case 10128: + case 10140: + case 10142: + case 10144: + case 10146: + case 10148: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10072: + case 10082: + case 10092: + case 10102: + case 10112: + case 10122: + case 10132: + case 10142: return Shape::InnerLeft; + case 10074: + case 10084: + case 10094: + case 10104: + case 10114: + case 10124: + case 10134: + case 10144: return Shape::InnerRight; + case 10076: + case 10086: + case 10096: + case 10106: + case 10116: + case 10126: + case 10136: + case 10146: return Shape::OuterLeft; + case 10078: + case 10088: + case 10098: + case 10108: + case 10118: + case 10128: + case 10138: + case 10148: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace EndStoneBrickStairs +namespace EndStoneBrickWall +{ +BlockState EndStoneBrickWall() +{ + return 14110; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 14218: + case 14219: + case 14220: + case 14224: + case 14225: + case 14226: + case 14230: + case 14231: + case 14232: + case 14236: + case 14237: + case 14238: + case 14242: + case 14243: + case 14244: + case 14248: + case 14249: + case 14250: + case 14254: + case 14255: + case 14256: + case 14260: + case 14261: + case 14262: + case 14266: + case 14267: + case 14268: + case 14272: + case 14273: + case 14274: + case 14278: + case 14279: + case 14280: + case 14284: + case 14285: + case 14286: + case 14290: + case 14291: + case 14292: + case 14296: + case 14297: + case 14298: + case 14302: + case 14303: + case 14304: + case 14308: + case 14309: + case 14310: + case 14314: + case 14315: + case 14316: + case 14320: + case 14321: + case 14322: return East::Low; + case 14110: + case 14111: + case 14112: + case 14116: + case 14117: + case 14118: + case 14122: + case 14123: + case 14124: + case 14128: + case 14129: + case 14130: + case 14134: + case 14135: + case 14136: + case 14140: + case 14141: + case 14142: + case 14146: + case 14147: + case 14148: + case 14152: + case 14153: + case 14154: + case 14158: + case 14159: + case 14160: + case 14164: + case 14165: + case 14166: + case 14170: + case 14171: + case 14172: + case 14176: + case 14177: + case 14178: + case 14182: + case 14183: + case 14184: + case 14188: + case 14189: + case 14190: + case 14194: + case 14195: + case 14196: + case 14200: + case 14201: + case 14202: + case 14206: + case 14207: + case 14208: + case 14212: + case 14213: + case 14214: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 14146: + case 14147: + case 14148: + case 14152: + case 14153: + case 14154: + case 14158: + case 14159: + case 14160: + case 14164: + case 14165: + case 14166: + case 14170: + case 14171: + case 14172: + case 14176: + case 14177: + case 14178: + case 14254: + case 14255: + case 14256: + case 14260: + case 14261: + case 14262: + case 14266: + case 14267: + case 14268: + case 14272: + case 14273: + case 14274: + case 14278: + case 14279: + case 14280: + case 14284: + case 14285: + case 14286: + case 14362: + case 14363: + case 14364: + case 14368: + case 14369: + case 14370: + case 14374: + case 14375: + case 14376: + case 14380: + case 14381: + case 14382: + case 14386: + case 14387: + case 14388: + case 14392: + case 14393: + case 14394: return North::Low; + case 14110: + case 14111: + case 14112: + case 14116: + case 14117: + case 14118: + case 14122: + case 14123: + case 14124: + case 14128: + case 14129: + case 14130: + case 14134: + case 14135: + case 14136: + case 14140: + case 14141: + case 14142: + case 14218: + case 14219: + case 14220: + case 14224: + case 14225: + case 14226: + case 14230: + case 14231: + case 14232: + case 14236: + case 14237: + case 14238: + case 14242: + case 14243: + case 14244: + case 14248: + case 14249: + case 14250: + case 14326: + case 14327: + case 14328: + case 14332: + case 14333: + case 14334: + case 14338: + case 14339: + case 14340: + case 14344: + case 14345: + case 14346: + case 14350: + case 14351: + case 14352: + case 14356: + case 14357: + case 14358: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 14122: + case 14123: + case 14124: + case 14128: + case 14129: + case 14130: + case 14158: + case 14159: + case 14160: + case 14164: + case 14165: + case 14166: + case 14194: + case 14195: + case 14196: + case 14200: + case 14201: + case 14202: + case 14230: + case 14231: + case 14232: + case 14236: + case 14237: + case 14238: + case 14266: + case 14267: + case 14268: + case 14272: + case 14273: + case 14274: + case 14302: + case 14303: + case 14304: + case 14308: + case 14309: + case 14310: + case 14338: + case 14339: + case 14340: + case 14344: + case 14345: + case 14346: + case 14374: + case 14375: + case 14376: + case 14380: + case 14381: + case 14382: + case 14410: + case 14411: + case 14412: + case 14416: + case 14417: + case 14418: return South::Low; + case 14110: + case 14111: + case 14112: + case 14116: + case 14117: + case 14118: + case 14146: + case 14147: + case 14148: + case 14152: + case 14153: + case 14154: + case 14182: + case 14183: + case 14184: + case 14188: + case 14189: + case 14190: + case 14218: + case 14219: + case 14220: + case 14224: + case 14225: + case 14226: + case 14254: + case 14255: + case 14256: + case 14260: + case 14261: + case 14262: + case 14290: + case 14291: + case 14292: + case 14296: + case 14297: + case 14298: + case 14326: + case 14327: + case 14328: + case 14332: + case 14333: + case 14334: + case 14362: + case 14363: + case 14364: + case 14368: + case 14369: + case 14370: + case 14398: + case 14399: + case 14400: + case 14404: + case 14405: + case 14406: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 14116: + case 14117: + case 14118: + case 14128: + case 14129: + case 14130: + case 14140: + case 14141: + case 14142: + case 14152: + case 14153: + case 14154: + case 14164: + case 14165: + case 14166: + case 14176: + case 14177: + case 14178: + case 14188: + case 14189: + case 14190: + case 14200: + case 14201: + case 14202: + case 14212: + case 14213: + case 14214: + case 14224: + case 14225: + case 14226: + case 14236: + case 14237: + case 14238: + case 14248: + case 14249: + case 14250: + case 14260: + case 14261: + case 14262: + case 14272: + case 14273: + case 14274: + case 14284: + case 14285: + case 14286: + case 14296: + case 14297: + case 14298: + case 14308: + case 14309: + case 14310: + case 14320: + case 14321: + case 14322: + case 14332: + case 14333: + case 14334: + case 14344: + case 14345: + case 14346: + case 14356: + case 14357: + case 14358: + case 14368: + case 14369: + case 14370: + case 14380: + case 14381: + case 14382: + case 14392: + case 14393: + case 14394: + case 14404: + case 14405: + case 14406: + case 14416: + case 14417: + case 14418: + case 14428: + case 14429: + case 14430: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 14111: + case 14117: + case 14123: + case 14129: + case 14135: + case 14141: + case 14147: + case 14153: + case 14159: + case 14165: + case 14171: + case 14177: + case 14183: + case 14189: + case 14195: + case 14201: + case 14207: + case 14213: + case 14219: + case 14225: + case 14231: + case 14237: + case 14243: + case 14249: + case 14255: + case 14261: + case 14267: + case 14273: + case 14279: + case 14285: + case 14291: + case 14297: + case 14303: + case 14309: + case 14315: + case 14321: + case 14327: + case 14333: + case 14339: + case 14345: + case 14351: + case 14357: + case 14363: + case 14369: + case 14375: + case 14381: + case 14387: + case 14393: + case 14399: + case 14405: + case 14411: + case 14417: + case 14423: + case 14429: return West::Low; + case 14110: + case 14116: + case 14122: + case 14128: + case 14134: + case 14140: + case 14146: + case 14152: + case 14158: + case 14164: + case 14170: + case 14176: + case 14182: + case 14188: + case 14194: + case 14200: + case 14206: + case 14212: + case 14218: + case 14224: + case 14230: + case 14236: + case 14242: + case 14248: + case 14254: + case 14260: + case 14266: + case 14272: + case 14278: + case 14284: + case 14290: + case 14296: + case 14302: + case 14308: + case 14314: + case 14320: + case 14326: + case 14332: + case 14338: + case 14344: + case 14350: + case 14356: + case 14362: + case 14368: + case 14374: + case 14380: + case 14386: + case 14392: + case 14398: + case 14404: + case 14410: + case 14416: + case 14422: + case 14428: return West::None; + default: return West::Tall; + } +} +} // namespace EndStoneBrickWall +namespace EndStoneBricks +{ +} +namespace EnderChest +{ +BlockState EnderChest() +{ + return 5252; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5256: return eBlockFace::BLOCK_FACE_XM; + case 5258: return eBlockFace::BLOCK_FACE_XP; + case 5252: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace EnderChest +namespace Farmland +{ +BlockState Farmland() +{ + return 3365; +} +unsigned char Moisture(const BlockState Block) +{ + switch (Block.ID) + { + case 3365: return 0; + case 3366: return 1; + case 3367: return 2; + case 3368: return 3; + case 3369: return 4; + case 3370: return 5; + case 3371: return 6; + default: return 7; + } +} +} // namespace Farmland +namespace Fern +{ +} +namespace Fire +{ +BlockState Fire() +{ + return 1471; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 1440: + case 1441: + case 1442: + case 1443: + case 1444: + case 1445: + case 1446: + case 1447: + case 1448: + case 1449: + case 1450: + case 1451: + case 1452: + case 1453: + case 1454: + case 1455: + case 1456: + case 1457: + case 1458: + case 1459: + case 1460: + case 1461: + case 1462: + case 1463: + case 1464: + case 1465: + case 1466: + case 1467: + case 1468: + case 1469: + case 1470: + case 1471: return 0; + case 1472: + case 1473: + case 1474: + case 1475: + case 1476: + case 1477: + case 1478: + case 1479: + case 1480: + case 1481: + case 1482: + case 1483: + case 1484: + case 1485: + case 1486: + case 1487: + case 1488: + case 1489: + case 1490: + case 1491: + case 1492: + case 1493: + case 1494: + case 1495: + case 1496: + case 1497: + case 1498: + case 1499: + case 1500: + case 1501: + case 1502: + case 1503: return 1; + case 1760: + case 1761: + case 1762: + case 1763: + case 1764: + case 1765: + case 1766: + case 1767: + case 1768: + case 1769: + case 1770: + case 1771: + case 1772: + case 1773: + case 1774: + case 1775: + case 1776: + case 1777: + case 1778: + case 1779: + case 1780: + case 1781: + case 1782: + case 1783: + case 1784: + case 1785: + case 1786: + case 1787: + case 1788: + case 1789: + case 1790: + case 1791: return 10; + case 1792: + case 1793: + case 1794: + case 1795: + case 1796: + case 1797: + case 1798: + case 1799: + case 1800: + case 1801: + case 1802: + case 1803: + case 1804: + case 1805: + case 1806: + case 1807: + case 1808: + case 1809: + case 1810: + case 1811: + case 1812: + case 1813: + case 1814: + case 1815: + case 1816: + case 1817: + case 1818: + case 1819: + case 1820: + case 1821: + case 1822: + case 1823: return 11; + case 1824: + case 1825: + case 1826: + case 1827: + case 1828: + case 1829: + case 1830: + case 1831: + case 1832: + case 1833: + case 1834: + case 1835: + case 1836: + case 1837: + case 1838: + case 1839: + case 1840: + case 1841: + case 1842: + case 1843: + case 1844: + case 1845: + case 1846: + case 1847: + case 1848: + case 1849: + case 1850: + case 1851: + case 1852: + case 1853: + case 1854: + case 1855: return 12; + case 1856: + case 1857: + case 1858: + case 1859: + case 1860: + case 1861: + case 1862: + case 1863: + case 1864: + case 1865: + case 1866: + case 1867: + case 1868: + case 1869: + case 1870: + case 1871: + case 1872: + case 1873: + case 1874: + case 1875: + case 1876: + case 1877: + case 1878: + case 1879: + case 1880: + case 1881: + case 1882: + case 1883: + case 1884: + case 1885: + case 1886: + case 1887: return 13; + case 1888: + case 1889: + case 1890: + case 1891: + case 1892: + case 1893: + case 1894: + case 1895: + case 1896: + case 1897: + case 1898: + case 1899: + case 1900: + case 1901: + case 1902: + case 1903: + case 1904: + case 1905: + case 1906: + case 1907: + case 1908: + case 1909: + case 1910: + case 1911: + case 1912: + case 1913: + case 1914: + case 1915: + case 1916: + case 1917: + case 1918: + case 1919: return 14; + case 1920: + case 1921: + case 1922: + case 1923: + case 1924: + case 1925: + case 1926: + case 1927: + case 1928: + case 1929: + case 1930: + case 1931: + case 1932: + case 1933: + case 1934: + case 1935: + case 1936: + case 1937: + case 1938: + case 1939: + case 1940: + case 1941: + case 1942: + case 1943: + case 1944: + case 1945: + case 1946: + case 1947: + case 1948: + case 1949: + case 1950: + case 1951: return 15; + case 1504: + case 1505: + case 1506: + case 1507: + case 1508: + case 1509: + case 1510: + case 1511: + case 1512: + case 1513: + case 1514: + case 1515: + case 1516: + case 1517: + case 1518: + case 1519: + case 1520: + case 1521: + case 1522: + case 1523: + case 1524: + case 1525: + case 1526: + case 1527: + case 1528: + case 1529: + case 1530: + case 1531: + case 1532: + case 1533: + case 1534: + case 1535: return 2; + case 1536: + case 1537: + case 1538: + case 1539: + case 1540: + case 1541: + case 1542: + case 1543: + case 1544: + case 1545: + case 1546: + case 1547: + case 1548: + case 1549: + case 1550: + case 1551: + case 1552: + case 1553: + case 1554: + case 1555: + case 1556: + case 1557: + case 1558: + case 1559: + case 1560: + case 1561: + case 1562: + case 1563: + case 1564: + case 1565: + case 1566: + case 1567: return 3; + case 1568: + case 1569: + case 1570: + case 1571: + case 1572: + case 1573: + case 1574: + case 1575: + case 1576: + case 1577: + case 1578: + case 1579: + case 1580: + case 1581: + case 1582: + case 1583: + case 1584: + case 1585: + case 1586: + case 1587: + case 1588: + case 1589: + case 1590: + case 1591: + case 1592: + case 1593: + case 1594: + case 1595: + case 1596: + case 1597: + case 1598: + case 1599: return 4; + case 1600: + case 1601: + case 1602: + case 1603: + case 1604: + case 1605: + case 1606: + case 1607: + case 1608: + case 1609: + case 1610: + case 1611: + case 1612: + case 1613: + case 1614: + case 1615: + case 1616: + case 1617: + case 1618: + case 1619: + case 1620: + case 1621: + case 1622: + case 1623: + case 1624: + case 1625: + case 1626: + case 1627: + case 1628: + case 1629: + case 1630: + case 1631: return 5; + case 1632: + case 1633: + case 1634: + case 1635: + case 1636: + case 1637: + case 1638: + case 1639: + case 1640: + case 1641: + case 1642: + case 1643: + case 1644: + case 1645: + case 1646: + case 1647: + case 1648: + case 1649: + case 1650: + case 1651: + case 1652: + case 1653: + case 1654: + case 1655: + case 1656: + case 1657: + case 1658: + case 1659: + case 1660: + case 1661: + case 1662: + case 1663: return 6; + case 1664: + case 1665: + case 1666: + case 1667: + case 1668: + case 1669: + case 1670: + case 1671: + case 1672: + case 1673: + case 1674: + case 1675: + case 1676: + case 1677: + case 1678: + case 1679: + case 1680: + case 1681: + case 1682: + case 1683: + case 1684: + case 1685: + case 1686: + case 1687: + case 1688: + case 1689: + case 1690: + case 1691: + case 1692: + case 1693: + case 1694: + case 1695: return 7; + case 1696: + case 1697: + case 1698: + case 1699: + case 1700: + case 1701: + case 1702: + case 1703: + case 1704: + case 1705: + case 1706: + case 1707: + case 1708: + case 1709: + case 1710: + case 1711: + case 1712: + case 1713: + case 1714: + case 1715: + case 1716: + case 1717: + case 1718: + case 1719: + case 1720: + case 1721: + case 1722: + case 1723: + case 1724: + case 1725: + case 1726: + case 1727: return 8; + default: return 9; + } +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 1456: + case 1457: + case 1458: + case 1459: + case 1460: + case 1461: + case 1462: + case 1463: + case 1464: + case 1465: + case 1466: + case 1467: + case 1468: + case 1469: + case 1470: + case 1471: + case 1488: + case 1489: + case 1490: + case 1491: + case 1492: + case 1493: + case 1494: + case 1495: + case 1496: + case 1497: + case 1498: + case 1499: + case 1500: + case 1501: + case 1502: + case 1503: + case 1520: + case 1521: + case 1522: + case 1523: + case 1524: + case 1525: + case 1526: + case 1527: + case 1528: + case 1529: + case 1530: + case 1531: + case 1532: + case 1533: + case 1534: + case 1535: + case 1552: + case 1553: + case 1554: + case 1555: + case 1556: + case 1557: + case 1558: + case 1559: + case 1560: + case 1561: + case 1562: + case 1563: + case 1564: + case 1565: + case 1566: + case 1567: + case 1584: + case 1585: + case 1586: + case 1587: + case 1588: + case 1589: + case 1590: + case 1591: + case 1592: + case 1593: + case 1594: + case 1595: + case 1596: + case 1597: + case 1598: + case 1599: + case 1616: + case 1617: + case 1618: + case 1619: + case 1620: + case 1621: + case 1622: + case 1623: + case 1624: + case 1625: + case 1626: + case 1627: + case 1628: + case 1629: + case 1630: + case 1631: + case 1648: + case 1649: + case 1650: + case 1651: + case 1652: + case 1653: + case 1654: + case 1655: + case 1656: + case 1657: + case 1658: + case 1659: + case 1660: + case 1661: + case 1662: + case 1663: + case 1680: + case 1681: + case 1682: + case 1683: + case 1684: + case 1685: + case 1686: + case 1687: + case 1688: + case 1689: + case 1690: + case 1691: + case 1692: + case 1693: + case 1694: + case 1695: + case 1712: + case 1713: + case 1714: + case 1715: + case 1716: + case 1717: + case 1718: + case 1719: + case 1720: + case 1721: + case 1722: + case 1723: + case 1724: + case 1725: + case 1726: + case 1727: + case 1744: + case 1745: + case 1746: + case 1747: + case 1748: + case 1749: + case 1750: + case 1751: + case 1752: + case 1753: + case 1754: + case 1755: + case 1756: + case 1757: + case 1758: + case 1759: + case 1776: + case 1777: + case 1778: + case 1779: + case 1780: + case 1781: + case 1782: + case 1783: + case 1784: + case 1785: + case 1786: + case 1787: + case 1788: + case 1789: + case 1790: + case 1791: + case 1808: + case 1809: + case 1810: + case 1811: + case 1812: + case 1813: + case 1814: + case 1815: + case 1816: + case 1817: + case 1818: + case 1819: + case 1820: + case 1821: + case 1822: + case 1823: + case 1840: + case 1841: + case 1842: + case 1843: + case 1844: + case 1845: + case 1846: + case 1847: + case 1848: + case 1849: + case 1850: + case 1851: + case 1852: + case 1853: + case 1854: + case 1855: + case 1872: + case 1873: + case 1874: + case 1875: + case 1876: + case 1877: + case 1878: + case 1879: + case 1880: + case 1881: + case 1882: + case 1883: + case 1884: + case 1885: + case 1886: + case 1887: + case 1904: + case 1905: + case 1906: + case 1907: + case 1908: + case 1909: + case 1910: + case 1911: + case 1912: + case 1913: + case 1914: + case 1915: + case 1916: + case 1917: + case 1918: + case 1919: + case 1936: + case 1937: + case 1938: + case 1939: + case 1940: + case 1941: + case 1942: + case 1943: + case 1944: + case 1945: + case 1946: + case 1947: + case 1948: + case 1949: + case 1950: + case 1951: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 1448: + case 1449: + case 1450: + case 1451: + case 1452: + case 1453: + case 1454: + case 1455: + case 1464: + case 1465: + case 1466: + case 1467: + case 1468: + case 1469: + case 1470: + case 1471: + case 1480: + case 1481: + case 1482: + case 1483: + case 1484: + case 1485: + case 1486: + case 1487: + case 1496: + case 1497: + case 1498: + case 1499: + case 1500: + case 1501: + case 1502: + case 1503: + case 1512: + case 1513: + case 1514: + case 1515: + case 1516: + case 1517: + case 1518: + case 1519: + case 1528: + case 1529: + case 1530: + case 1531: + case 1532: + case 1533: + case 1534: + case 1535: + case 1544: + case 1545: + case 1546: + case 1547: + case 1548: + case 1549: + case 1550: + case 1551: + case 1560: + case 1561: + case 1562: + case 1563: + case 1564: + case 1565: + case 1566: + case 1567: + case 1576: + case 1577: + case 1578: + case 1579: + case 1580: + case 1581: + case 1582: + case 1583: + case 1592: + case 1593: + case 1594: + case 1595: + case 1596: + case 1597: + case 1598: + case 1599: + case 1608: + case 1609: + case 1610: + case 1611: + case 1612: + case 1613: + case 1614: + case 1615: + case 1624: + case 1625: + case 1626: + case 1627: + case 1628: + case 1629: + case 1630: + case 1631: + case 1640: + case 1641: + case 1642: + case 1643: + case 1644: + case 1645: + case 1646: + case 1647: + case 1656: + case 1657: + case 1658: + case 1659: + case 1660: + case 1661: + case 1662: + case 1663: + case 1672: + case 1673: + case 1674: + case 1675: + case 1676: + case 1677: + case 1678: + case 1679: + case 1688: + case 1689: + case 1690: + case 1691: + case 1692: + case 1693: + case 1694: + case 1695: + case 1704: + case 1705: + case 1706: + case 1707: + case 1708: + case 1709: + case 1710: + case 1711: + case 1720: + case 1721: + case 1722: + case 1723: + case 1724: + case 1725: + case 1726: + case 1727: + case 1736: + case 1737: + case 1738: + case 1739: + case 1740: + case 1741: + case 1742: + case 1743: + case 1752: + case 1753: + case 1754: + case 1755: + case 1756: + case 1757: + case 1758: + case 1759: + case 1768: + case 1769: + case 1770: + case 1771: + case 1772: + case 1773: + case 1774: + case 1775: + case 1784: + case 1785: + case 1786: + case 1787: + case 1788: + case 1789: + case 1790: + case 1791: + case 1800: + case 1801: + case 1802: + case 1803: + case 1804: + case 1805: + case 1806: + case 1807: + case 1816: + case 1817: + case 1818: + case 1819: + case 1820: + case 1821: + case 1822: + case 1823: + case 1832: + case 1833: + case 1834: + case 1835: + case 1836: + case 1837: + case 1838: + case 1839: + case 1848: + case 1849: + case 1850: + case 1851: + case 1852: + case 1853: + case 1854: + case 1855: + case 1864: + case 1865: + case 1866: + case 1867: + case 1868: + case 1869: + case 1870: + case 1871: + case 1880: + case 1881: + case 1882: + case 1883: + case 1884: + case 1885: + case 1886: + case 1887: + case 1896: + case 1897: + case 1898: + case 1899: + case 1900: + case 1901: + case 1902: + case 1903: + case 1912: + case 1913: + case 1914: + case 1915: + case 1916: + case 1917: + case 1918: + case 1919: + case 1928: + case 1929: + case 1930: + case 1931: + case 1932: + case 1933: + case 1934: + case 1935: + case 1944: + case 1945: + case 1946: + case 1947: + case 1948: + case 1949: + case 1950: + case 1951: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 1444: + case 1445: + case 1446: + case 1447: + case 1452: + case 1453: + case 1454: + case 1455: + case 1460: + case 1461: + case 1462: + case 1463: + case 1468: + case 1469: + case 1470: + case 1471: + case 1476: + case 1477: + case 1478: + case 1479: + case 1484: + case 1485: + case 1486: + case 1487: + case 1492: + case 1493: + case 1494: + case 1495: + case 1500: + case 1501: + case 1502: + case 1503: + case 1508: + case 1509: + case 1510: + case 1511: + case 1516: + case 1517: + case 1518: + case 1519: + case 1524: + case 1525: + case 1526: + case 1527: + case 1532: + case 1533: + case 1534: + case 1535: + case 1540: + case 1541: + case 1542: + case 1543: + case 1548: + case 1549: + case 1550: + case 1551: + case 1556: + case 1557: + case 1558: + case 1559: + case 1564: + case 1565: + case 1566: + case 1567: + case 1572: + case 1573: + case 1574: + case 1575: + case 1580: + case 1581: + case 1582: + case 1583: + case 1588: + case 1589: + case 1590: + case 1591: + case 1596: + case 1597: + case 1598: + case 1599: + case 1604: + case 1605: + case 1606: + case 1607: + case 1612: + case 1613: + case 1614: + case 1615: + case 1620: + case 1621: + case 1622: + case 1623: + case 1628: + case 1629: + case 1630: + case 1631: + case 1636: + case 1637: + case 1638: + case 1639: + case 1644: + case 1645: + case 1646: + case 1647: + case 1652: + case 1653: + case 1654: + case 1655: + case 1660: + case 1661: + case 1662: + case 1663: + case 1668: + case 1669: + case 1670: + case 1671: + case 1676: + case 1677: + case 1678: + case 1679: + case 1684: + case 1685: + case 1686: + case 1687: + case 1692: + case 1693: + case 1694: + case 1695: + case 1700: + case 1701: + case 1702: + case 1703: + case 1708: + case 1709: + case 1710: + case 1711: + case 1716: + case 1717: + case 1718: + case 1719: + case 1724: + case 1725: + case 1726: + case 1727: + case 1732: + case 1733: + case 1734: + case 1735: + case 1740: + case 1741: + case 1742: + case 1743: + case 1748: + case 1749: + case 1750: + case 1751: + case 1756: + case 1757: + case 1758: + case 1759: + case 1764: + case 1765: + case 1766: + case 1767: + case 1772: + case 1773: + case 1774: + case 1775: + case 1780: + case 1781: + case 1782: + case 1783: + case 1788: + case 1789: + case 1790: + case 1791: + case 1796: + case 1797: + case 1798: + case 1799: + case 1804: + case 1805: + case 1806: + case 1807: + case 1812: + case 1813: + case 1814: + case 1815: + case 1820: + case 1821: + case 1822: + case 1823: + case 1828: + case 1829: + case 1830: + case 1831: + case 1836: + case 1837: + case 1838: + case 1839: + case 1844: + case 1845: + case 1846: + case 1847: + case 1852: + case 1853: + case 1854: + case 1855: + case 1860: + case 1861: + case 1862: + case 1863: + case 1868: + case 1869: + case 1870: + case 1871: + case 1876: + case 1877: + case 1878: + case 1879: + case 1884: + case 1885: + case 1886: + case 1887: + case 1892: + case 1893: + case 1894: + case 1895: + case 1900: + case 1901: + case 1902: + case 1903: + case 1908: + case 1909: + case 1910: + case 1911: + case 1916: + case 1917: + case 1918: + case 1919: + case 1924: + case 1925: + case 1926: + case 1927: + case 1932: + case 1933: + case 1934: + case 1935: + case 1940: + case 1941: + case 1942: + case 1943: + case 1948: + case 1949: + case 1950: + case 1951: return false; + default: return true; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 1442: + case 1443: + case 1446: + case 1447: + case 1450: + case 1451: + case 1454: + case 1455: + case 1458: + case 1459: + case 1462: + case 1463: + case 1466: + case 1467: + case 1470: + case 1471: + case 1474: + case 1475: + case 1478: + case 1479: + case 1482: + case 1483: + case 1486: + case 1487: + case 1490: + case 1491: + case 1494: + case 1495: + case 1498: + case 1499: + case 1502: + case 1503: + case 1506: + case 1507: + case 1510: + case 1511: + case 1514: + case 1515: + case 1518: + case 1519: + case 1522: + case 1523: + case 1526: + case 1527: + case 1530: + case 1531: + case 1534: + case 1535: + case 1538: + case 1539: + case 1542: + case 1543: + case 1546: + case 1547: + case 1550: + case 1551: + case 1554: + case 1555: + case 1558: + case 1559: + case 1562: + case 1563: + case 1566: + case 1567: + case 1570: + case 1571: + case 1574: + case 1575: + case 1578: + case 1579: + case 1582: + case 1583: + case 1586: + case 1587: + case 1590: + case 1591: + case 1594: + case 1595: + case 1598: + case 1599: + case 1602: + case 1603: + case 1606: + case 1607: + case 1610: + case 1611: + case 1614: + case 1615: + case 1618: + case 1619: + case 1622: + case 1623: + case 1626: + case 1627: + case 1630: + case 1631: + case 1634: + case 1635: + case 1638: + case 1639: + case 1642: + case 1643: + case 1646: + case 1647: + case 1650: + case 1651: + case 1654: + case 1655: + case 1658: + case 1659: + case 1662: + case 1663: + case 1666: + case 1667: + case 1670: + case 1671: + case 1674: + case 1675: + case 1678: + case 1679: + case 1682: + case 1683: + case 1686: + case 1687: + case 1690: + case 1691: + case 1694: + case 1695: + case 1698: + case 1699: + case 1702: + case 1703: + case 1706: + case 1707: + case 1710: + case 1711: + case 1714: + case 1715: + case 1718: + case 1719: + case 1722: + case 1723: + case 1726: + case 1727: + case 1730: + case 1731: + case 1734: + case 1735: + case 1738: + case 1739: + case 1742: + case 1743: + case 1746: + case 1747: + case 1750: + case 1751: + case 1754: + case 1755: + case 1758: + case 1759: + case 1762: + case 1763: + case 1766: + case 1767: + case 1770: + case 1771: + case 1774: + case 1775: + case 1778: + case 1779: + case 1782: + case 1783: + case 1786: + case 1787: + case 1790: + case 1791: + case 1794: + case 1795: + case 1798: + case 1799: + case 1802: + case 1803: + case 1806: + case 1807: + case 1810: + case 1811: + case 1814: + case 1815: + case 1818: + case 1819: + case 1822: + case 1823: + case 1826: + case 1827: + case 1830: + case 1831: + case 1834: + case 1835: + case 1838: + case 1839: + case 1842: + case 1843: + case 1846: + case 1847: + case 1850: + case 1851: + case 1854: + case 1855: + case 1858: + case 1859: + case 1862: + case 1863: + case 1866: + case 1867: + case 1870: + case 1871: + case 1874: + case 1875: + case 1878: + case 1879: + case 1882: + case 1883: + case 1886: + case 1887: + case 1890: + case 1891: + case 1894: + case 1895: + case 1898: + case 1899: + case 1902: + case 1903: + case 1906: + case 1907: + case 1910: + case 1911: + case 1914: + case 1915: + case 1918: + case 1919: + case 1922: + case 1923: + case 1926: + case 1927: + case 1930: + case 1931: + case 1934: + case 1935: + case 1938: + case 1939: + case 1942: + case 1943: + case 1946: + case 1947: + case 1950: + case 1951: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 1441: + case 1443: + case 1445: + case 1447: + case 1449: + case 1451: + case 1453: + case 1455: + case 1457: + case 1459: + case 1461: + case 1463: + case 1465: + case 1467: + case 1469: + case 1471: + case 1473: + case 1475: + case 1477: + case 1479: + case 1481: + case 1483: + case 1485: + case 1487: + case 1489: + case 1491: + case 1493: + case 1495: + case 1497: + case 1499: + case 1501: + case 1503: + case 1505: + case 1507: + case 1509: + case 1511: + case 1513: + case 1515: + case 1517: + case 1519: + case 1521: + case 1523: + case 1525: + case 1527: + case 1529: + case 1531: + case 1533: + case 1535: + case 1537: + case 1539: + case 1541: + case 1543: + case 1545: + case 1547: + case 1549: + case 1551: + case 1553: + case 1555: + case 1557: + case 1559: + case 1561: + case 1563: + case 1565: + case 1567: + case 1569: + case 1571: + case 1573: + case 1575: + case 1577: + case 1579: + case 1581: + case 1583: + case 1585: + case 1587: + case 1589: + case 1591: + case 1593: + case 1595: + case 1597: + case 1599: + case 1601: + case 1603: + case 1605: + case 1607: + case 1609: + case 1611: + case 1613: + case 1615: + case 1617: + case 1619: + case 1621: + case 1623: + case 1625: + case 1627: + case 1629: + case 1631: + case 1633: + case 1635: + case 1637: + case 1639: + case 1641: + case 1643: + case 1645: + case 1647: + case 1649: + case 1651: + case 1653: + case 1655: + case 1657: + case 1659: + case 1661: + case 1663: + case 1665: + case 1667: + case 1669: + case 1671: + case 1673: + case 1675: + case 1677: + case 1679: + case 1681: + case 1683: + case 1685: + case 1687: + case 1689: + case 1691: + case 1693: + case 1695: + case 1697: + case 1699: + case 1701: + case 1703: + case 1705: + case 1707: + case 1709: + case 1711: + case 1713: + case 1715: + case 1717: + case 1719: + case 1721: + case 1723: + case 1725: + case 1727: + case 1729: + case 1731: + case 1733: + case 1735: + case 1737: + case 1739: + case 1741: + case 1743: + case 1745: + case 1747: + case 1749: + case 1751: + case 1753: + case 1755: + case 1757: + case 1759: + case 1761: + case 1763: + case 1765: + case 1767: + case 1769: + case 1771: + case 1773: + case 1775: + case 1777: + case 1779: + case 1781: + case 1783: + case 1785: + case 1787: + case 1789: + case 1791: + case 1793: + case 1795: + case 1797: + case 1799: + case 1801: + case 1803: + case 1805: + case 1807: + case 1809: + case 1811: + case 1813: + case 1815: + case 1817: + case 1819: + case 1821: + case 1823: + case 1825: + case 1827: + case 1829: + case 1831: + case 1833: + case 1835: + case 1837: + case 1839: + case 1841: + case 1843: + case 1845: + case 1847: + case 1849: + case 1851: + case 1853: + case 1855: + case 1857: + case 1859: + case 1861: + case 1863: + case 1865: + case 1867: + case 1869: + case 1871: + case 1873: + case 1875: + case 1877: + case 1879: + case 1881: + case 1883: + case 1885: + case 1887: + case 1889: + case 1891: + case 1893: + case 1895: + case 1897: + case 1899: + case 1901: + case 1903: + case 1905: + case 1907: + case 1909: + case 1911: + case 1913: + case 1915: + case 1917: + case 1919: + case 1921: + case 1923: + case 1925: + case 1927: + case 1929: + case 1931: + case 1933: + case 1935: + case 1937: + case 1939: + case 1941: + case 1943: + case 1945: + case 1947: + case 1949: + case 1951: return false; + default: return true; + } +} +} // namespace Fire +namespace FireCoral +{ +} +namespace FireCoralBlock +{ +} +namespace FireCoralFan +{ +} +namespace FireCoralWallFan +{ +BlockState FireCoralWallFan() +{ + return 9624; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9629: return eBlockFace::BLOCK_FACE_XM; + case 9631: return eBlockFace::BLOCK_FACE_XP; + case 9625: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace FireCoralWallFan +namespace FletchingTable +{ +} +namespace FlowerPot +{ +} +namespace FrostedIce +{ +BlockState FrostedIce() +{ + return 9249; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 9249: return 0; + case 9250: return 1; + case 9251: return 2; + default: return 3; + } +} +} // namespace FrostedIce +namespace Furnace +{ +BlockState Furnace() +{ + return 3374; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3377: + case 3378: return eBlockFace::BLOCK_FACE_XM; + case 3379: + case 3380: return eBlockFace::BLOCK_FACE_XP; + case 3373: + case 3374: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 3374: + case 3376: + case 3378: + case 3380: return false; + default: return true; + } +} +} // namespace Furnace +namespace GildedBlackstone +{ +} +namespace Glass +{ +} +namespace GlassPane +{ +BlockState GlassPane() +{ + return 4762; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 4749: + case 4750: + case 4753: + case 4754: + case 4757: + case 4758: + case 4761: + case 4762: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 4741: + case 4742: + case 4745: + case 4746: + case 4757: + case 4758: + case 4761: + case 4762: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 4737: + case 4738: + case 4745: + case 4746: + case 4753: + case 4754: + case 4761: + case 4762: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 4734: + case 4738: + case 4742: + case 4746: + case 4750: + case 4754: + case 4758: + case 4762: return false; + default: return true; + } +} +} // namespace GlassPane +namespace Glowstone +{ +} +namespace GoldBlock +{ +} +namespace GoldOre +{ +} +namespace Granite +{ +} +namespace GraniteSlab +{ +BlockState GraniteSlab() +{ + return 10840; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10840: return Type::Bottom; + case 10842: return Type::Double; + default: return Type::Top; + } +} +} // namespace GraniteSlab +namespace GraniteStairs +{ +BlockState GraniteStairs() +{ + return 10400; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10430: + case 10432: + case 10434: + case 10436: + case 10438: + case 10440: + case 10442: + case 10444: + case 10446: + case 10448: return eBlockFace::BLOCK_FACE_XM; + case 10450: + case 10452: + case 10454: + case 10456: + case 10458: + case 10460: + case 10462: + case 10464: + case 10466: + case 10468: return eBlockFace::BLOCK_FACE_XP; + case 10390: + case 10392: + case 10394: + case 10396: + case 10398: + case 10400: + case 10402: + case 10404: + case 10406: + case 10408: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10400: + case 10402: + case 10404: + case 10406: + case 10408: + case 10420: + case 10422: + case 10424: + case 10426: + case 10428: + case 10440: + case 10442: + case 10444: + case 10446: + case 10448: + case 10460: + case 10462: + case 10464: + case 10466: + case 10468: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10392: + case 10402: + case 10412: + case 10422: + case 10432: + case 10442: + case 10452: + case 10462: return Shape::InnerLeft; + case 10394: + case 10404: + case 10414: + case 10424: + case 10434: + case 10444: + case 10454: + case 10464: return Shape::InnerRight; + case 10396: + case 10406: + case 10416: + case 10426: + case 10436: + case 10446: + case 10456: + case 10466: return Shape::OuterLeft; + case 10398: + case 10408: + case 10418: + case 10428: + case 10438: + case 10448: + case 10458: + case 10468: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace GraniteStairs +namespace GraniteWall +{ +BlockState GraniteWall() +{ + return 12166; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 12274: + case 12275: + case 12276: + case 12280: + case 12281: + case 12282: + case 12286: + case 12287: + case 12288: + case 12292: + case 12293: + case 12294: + case 12298: + case 12299: + case 12300: + case 12304: + case 12305: + case 12306: + case 12310: + case 12311: + case 12312: + case 12316: + case 12317: + case 12318: + case 12322: + case 12323: + case 12324: + case 12328: + case 12329: + case 12330: + case 12334: + case 12335: + case 12336: + case 12340: + case 12341: + case 12342: + case 12346: + case 12347: + case 12348: + case 12352: + case 12353: + case 12354: + case 12358: + case 12359: + case 12360: + case 12364: + case 12365: + case 12366: + case 12370: + case 12371: + case 12372: + case 12376: + case 12377: + case 12378: return East::Low; + case 12166: + case 12167: + case 12168: + case 12172: + case 12173: + case 12174: + case 12178: + case 12179: + case 12180: + case 12184: + case 12185: + case 12186: + case 12190: + case 12191: + case 12192: + case 12196: + case 12197: + case 12198: + case 12202: + case 12203: + case 12204: + case 12208: + case 12209: + case 12210: + case 12214: + case 12215: + case 12216: + case 12220: + case 12221: + case 12222: + case 12226: + case 12227: + case 12228: + case 12232: + case 12233: + case 12234: + case 12238: + case 12239: + case 12240: + case 12244: + case 12245: + case 12246: + case 12250: + case 12251: + case 12252: + case 12256: + case 12257: + case 12258: + case 12262: + case 12263: + case 12264: + case 12268: + case 12269: + case 12270: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 12202: + case 12203: + case 12204: + case 12208: + case 12209: + case 12210: + case 12214: + case 12215: + case 12216: + case 12220: + case 12221: + case 12222: + case 12226: + case 12227: + case 12228: + case 12232: + case 12233: + case 12234: + case 12310: + case 12311: + case 12312: + case 12316: + case 12317: + case 12318: + case 12322: + case 12323: + case 12324: + case 12328: + case 12329: + case 12330: + case 12334: + case 12335: + case 12336: + case 12340: + case 12341: + case 12342: + case 12418: + case 12419: + case 12420: + case 12424: + case 12425: + case 12426: + case 12430: + case 12431: + case 12432: + case 12436: + case 12437: + case 12438: + case 12442: + case 12443: + case 12444: + case 12448: + case 12449: + case 12450: return North::Low; + case 12166: + case 12167: + case 12168: + case 12172: + case 12173: + case 12174: + case 12178: + case 12179: + case 12180: + case 12184: + case 12185: + case 12186: + case 12190: + case 12191: + case 12192: + case 12196: + case 12197: + case 12198: + case 12274: + case 12275: + case 12276: + case 12280: + case 12281: + case 12282: + case 12286: + case 12287: + case 12288: + case 12292: + case 12293: + case 12294: + case 12298: + case 12299: + case 12300: + case 12304: + case 12305: + case 12306: + case 12382: + case 12383: + case 12384: + case 12388: + case 12389: + case 12390: + case 12394: + case 12395: + case 12396: + case 12400: + case 12401: + case 12402: + case 12406: + case 12407: + case 12408: + case 12412: + case 12413: + case 12414: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 12178: + case 12179: + case 12180: + case 12184: + case 12185: + case 12186: + case 12214: + case 12215: + case 12216: + case 12220: + case 12221: + case 12222: + case 12250: + case 12251: + case 12252: + case 12256: + case 12257: + case 12258: + case 12286: + case 12287: + case 12288: + case 12292: + case 12293: + case 12294: + case 12322: + case 12323: + case 12324: + case 12328: + case 12329: + case 12330: + case 12358: + case 12359: + case 12360: + case 12364: + case 12365: + case 12366: + case 12394: + case 12395: + case 12396: + case 12400: + case 12401: + case 12402: + case 12430: + case 12431: + case 12432: + case 12436: + case 12437: + case 12438: + case 12466: + case 12467: + case 12468: + case 12472: + case 12473: + case 12474: return South::Low; + case 12166: + case 12167: + case 12168: + case 12172: + case 12173: + case 12174: + case 12202: + case 12203: + case 12204: + case 12208: + case 12209: + case 12210: + case 12238: + case 12239: + case 12240: + case 12244: + case 12245: + case 12246: + case 12274: + case 12275: + case 12276: + case 12280: + case 12281: + case 12282: + case 12310: + case 12311: + case 12312: + case 12316: + case 12317: + case 12318: + case 12346: + case 12347: + case 12348: + case 12352: + case 12353: + case 12354: + case 12382: + case 12383: + case 12384: + case 12388: + case 12389: + case 12390: + case 12418: + case 12419: + case 12420: + case 12424: + case 12425: + case 12426: + case 12454: + case 12455: + case 12456: + case 12460: + case 12461: + case 12462: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 12172: + case 12173: + case 12174: + case 12184: + case 12185: + case 12186: + case 12196: + case 12197: + case 12198: + case 12208: + case 12209: + case 12210: + case 12220: + case 12221: + case 12222: + case 12232: + case 12233: + case 12234: + case 12244: + case 12245: + case 12246: + case 12256: + case 12257: + case 12258: + case 12268: + case 12269: + case 12270: + case 12280: + case 12281: + case 12282: + case 12292: + case 12293: + case 12294: + case 12304: + case 12305: + case 12306: + case 12316: + case 12317: + case 12318: + case 12328: + case 12329: + case 12330: + case 12340: + case 12341: + case 12342: + case 12352: + case 12353: + case 12354: + case 12364: + case 12365: + case 12366: + case 12376: + case 12377: + case 12378: + case 12388: + case 12389: + case 12390: + case 12400: + case 12401: + case 12402: + case 12412: + case 12413: + case 12414: + case 12424: + case 12425: + case 12426: + case 12436: + case 12437: + case 12438: + case 12448: + case 12449: + case 12450: + case 12460: + case 12461: + case 12462: + case 12472: + case 12473: + case 12474: + case 12484: + case 12485: + case 12486: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 12167: + case 12173: + case 12179: + case 12185: + case 12191: + case 12197: + case 12203: + case 12209: + case 12215: + case 12221: + case 12227: + case 12233: + case 12239: + case 12245: + case 12251: + case 12257: + case 12263: + case 12269: + case 12275: + case 12281: + case 12287: + case 12293: + case 12299: + case 12305: + case 12311: + case 12317: + case 12323: + case 12329: + case 12335: + case 12341: + case 12347: + case 12353: + case 12359: + case 12365: + case 12371: + case 12377: + case 12383: + case 12389: + case 12395: + case 12401: + case 12407: + case 12413: + case 12419: + case 12425: + case 12431: + case 12437: + case 12443: + case 12449: + case 12455: + case 12461: + case 12467: + case 12473: + case 12479: + case 12485: return West::Low; + case 12166: + case 12172: + case 12178: + case 12184: + case 12190: + case 12196: + case 12202: + case 12208: + case 12214: + case 12220: + case 12226: + case 12232: + case 12238: + case 12244: + case 12250: + case 12256: + case 12262: + case 12268: + case 12274: + case 12280: + case 12286: + case 12292: + case 12298: + case 12304: + case 12310: + case 12316: + case 12322: + case 12328: + case 12334: + case 12340: + case 12346: + case 12352: + case 12358: + case 12364: + case 12370: + case 12376: + case 12382: + case 12388: + case 12394: + case 12400: + case 12406: + case 12412: + case 12418: + case 12424: + case 12430: + case 12436: + case 12442: + case 12448: + case 12454: + case 12460: + case 12466: + case 12472: + case 12478: + case 12484: return West::None; + default: return West::Tall; + } +} +} // namespace GraniteWall +namespace Grass +{ +} +namespace GrassBlock +{ +BlockState GrassBlock() +{ + return 9; +} +bool Snowy(const BlockState Block) +{ + switch (Block.ID) + { + case 9: return false; + default: return true; + } +} +} // namespace GrassBlock +namespace GrassPath +{ +} +namespace Gravel +{ +} +namespace GrayBanner +{ +BlockState GrayBanner() +{ + return 8009; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8009: return 0; + case 8010: return 1; + case 8019: return 10; + case 8020: return 11; + case 8021: return 12; + case 8022: return 13; + case 8023: return 14; + case 8024: return 15; + case 8011: return 2; + case 8012: return 3; + case 8013: return 4; + case 8014: return 5; + case 8015: return 6; + case 8016: return 7; + case 8017: return 8; + default: return 9; + } +} +} // namespace GrayBanner +namespace GrayBed +{ +BlockState GrayBed() +{ + return 1164; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1169: + case 1170: + case 1171: + case 1172: return eBlockFace::BLOCK_FACE_XM; + case 1173: + case 1174: + case 1175: + case 1176: return eBlockFace::BLOCK_FACE_XP; + case 1161: + case 1162: + case 1163: + case 1164: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1163: + case 1164: + case 1167: + case 1168: + case 1171: + case 1172: + case 1175: + case 1176: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1162: + case 1164: + case 1166: + case 1168: + case 1170: + case 1172: + case 1174: + case 1176: return Part::Foot; + default: return Part::Head; + } +} +} // namespace GrayBed +namespace GrayCarpet +{ +} +namespace GrayConcrete +{ +} +namespace GrayConcretePowder +{ +} +namespace GrayGlazedTerracotta +{ +BlockState GrayGlazedTerracotta() +{ + return 9402; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9404: return eBlockFace::BLOCK_FACE_XM; + case 9405: return eBlockFace::BLOCK_FACE_XP; + case 9402: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace GrayGlazedTerracotta +namespace GrayShulkerBox +{ +BlockState GrayShulkerBox() +{ + return 9324; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9323: return eBlockFace::BLOCK_FACE_XM; + case 9321: return eBlockFace::BLOCK_FACE_XP; + case 9325: return eBlockFace::BLOCK_FACE_YM; + case 9324: return eBlockFace::BLOCK_FACE_YP; + case 9320: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace GrayShulkerBox +namespace GrayStainedGlass +{ +} +namespace GrayStainedGlassPane +{ +BlockState GrayStainedGlassPane() +{ + return 7118; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7105: + case 7106: + case 7109: + case 7110: + case 7113: + case 7114: + case 7117: + case 7118: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7097: + case 7098: + case 7101: + case 7102: + case 7113: + case 7114: + case 7117: + case 7118: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7093: + case 7094: + case 7101: + case 7102: + case 7109: + case 7110: + case 7117: + case 7118: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7090: + case 7094: + case 7098: + case 7102: + case 7106: + case 7110: + case 7114: + case 7118: return false; + default: return true; + } +} +} // namespace GrayStainedGlassPane +namespace GrayTerracotta +{ +} +namespace GrayWallBanner +{ +BlockState GrayWallBanner() +{ + return 8181; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8183: return eBlockFace::BLOCK_FACE_XM; + case 8184: return eBlockFace::BLOCK_FACE_XP; + case 8181: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace GrayWallBanner +namespace GrayWool +{ +} +namespace GreenBanner +{ +BlockState GreenBanner() +{ + return 8105; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8105: return 0; + case 8106: return 1; + case 8115: return 10; + case 8116: return 11; + case 8117: return 12; + case 8118: return 13; + case 8119: return 14; + case 8120: return 15; + case 8107: return 2; + case 8108: return 3; + case 8109: return 4; + case 8110: return 5; + case 8111: return 6; + case 8112: return 7; + case 8113: return 8; + default: return 9; + } +} +} // namespace GreenBanner +namespace GreenBed +{ +BlockState GreenBed() +{ + return 1260; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1265: + case 1266: + case 1267: + case 1268: return eBlockFace::BLOCK_FACE_XM; + case 1269: + case 1270: + case 1271: + case 1272: return eBlockFace::BLOCK_FACE_XP; + case 1257: + case 1258: + case 1259: + case 1260: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1259: + case 1260: + case 1263: + case 1264: + case 1267: + case 1268: + case 1271: + case 1272: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1258: + case 1260: + case 1262: + case 1264: + case 1266: + case 1268: + case 1270: + case 1272: return Part::Foot; + default: return Part::Head; + } +} +} // namespace GreenBed +namespace GreenCarpet +{ +} +namespace GreenConcrete +{ +} +namespace GreenConcretePowder +{ +} +namespace GreenGlazedTerracotta +{ +BlockState GreenGlazedTerracotta() +{ + return 9426; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9428: return eBlockFace::BLOCK_FACE_XM; + case 9429: return eBlockFace::BLOCK_FACE_XP; + case 9426: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace GreenGlazedTerracotta +namespace GreenShulkerBox +{ +BlockState GreenShulkerBox() +{ + return 9360; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9359: return eBlockFace::BLOCK_FACE_XM; + case 9357: return eBlockFace::BLOCK_FACE_XP; + case 9361: return eBlockFace::BLOCK_FACE_YM; + case 9360: return eBlockFace::BLOCK_FACE_YP; + case 9356: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace GreenShulkerBox +namespace GreenStainedGlass +{ +} +namespace GreenStainedGlassPane +{ +BlockState GreenStainedGlassPane() +{ + return 7310; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7297: + case 7298: + case 7301: + case 7302: + case 7305: + case 7306: + case 7309: + case 7310: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7289: + case 7290: + case 7293: + case 7294: + case 7305: + case 7306: + case 7309: + case 7310: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7285: + case 7286: + case 7293: + case 7294: + case 7301: + case 7302: + case 7309: + case 7310: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7282: + case 7286: + case 7290: + case 7294: + case 7298: + case 7302: + case 7306: + case 7310: return false; + default: return true; + } +} +} // namespace GreenStainedGlassPane +namespace GreenTerracotta +{ +} +namespace GreenWallBanner +{ +BlockState GreenWallBanner() +{ + return 8205; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8207: return eBlockFace::BLOCK_FACE_XM; + case 8208: return eBlockFace::BLOCK_FACE_XP; + case 8205: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace GreenWallBanner +namespace GreenWool +{ +} +namespace Grindstone +{ +BlockState Grindstone() +{ + return 14825; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 14829: + case 14830: + case 14831: + case 14832: return Face::Ceiling; + case 14821: + case 14822: + case 14823: + case 14824: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14823: + case 14827: + case 14831: return eBlockFace::BLOCK_FACE_XM; + case 14824: + case 14828: + case 14832: return eBlockFace::BLOCK_FACE_XP; + case 14821: + case 14825: + case 14829: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace Grindstone +namespace HayBale +{ +BlockState HayBale() +{ + return 7864; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 7863: return Axis::X; + case 7864: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace HayBale +namespace HeavyWeightedPressurePlate +{ +BlockState HeavyWeightedPressurePlate() +{ + return 6662; +} +unsigned char Power(const BlockState Block) +{ + switch (Block.ID) + { + case 6662: return 0; + case 6663: return 1; + case 6672: return 10; + case 6673: return 11; + case 6674: return 12; + case 6675: return 13; + case 6676: return 14; + case 6677: return 15; + case 6664: return 2; + case 6665: return 3; + case 6666: return 4; + case 6667: return 5; + case 6668: return 6; + case 6669: return 7; + case 6670: return 8; + default: return 9; + } +} +} // namespace HeavyWeightedPressurePlate +namespace HoneyBlock +{ +} +namespace HoneycombBlock +{ +} +namespace Hopper +{ +BlockState Hopper() +{ + return 6728; +} +bool Enabled(const BlockState Block) +{ + switch (Block.ID) + { + case 6733: + case 6734: + case 6735: + case 6736: + case 6737: return false; + default: return true; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6731: + case 6736: return eBlockFace::BLOCK_FACE_XM; + case 6732: + case 6737: return eBlockFace::BLOCK_FACE_XP; + case 6728: + case 6733: return eBlockFace::BLOCK_FACE_YM; + case 6729: + case 6734: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace Hopper +namespace HornCoral +{ +} +namespace HornCoralBlock +{ +} +namespace HornCoralFan +{ +} +namespace HornCoralWallFan +{ +BlockState HornCoralWallFan() +{ + return 9632; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9637: return eBlockFace::BLOCK_FACE_XM; + case 9639: return eBlockFace::BLOCK_FACE_XP; + case 9633: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace HornCoralWallFan +namespace Ice +{ +} +namespace InfestedChiseledStoneBricks +{ +} +namespace InfestedCobblestone +{ +} +namespace InfestedCrackedStoneBricks +{ +} +namespace InfestedMossyStoneBricks +{ +} +namespace InfestedStone +{ +} +namespace InfestedStoneBricks +{ +} +namespace IronBars +{ +BlockState IronBars() +{ + return 4728; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 4715: + case 4716: + case 4719: + case 4720: + case 4723: + case 4724: + case 4727: + case 4728: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 4707: + case 4708: + case 4711: + case 4712: + case 4723: + case 4724: + case 4727: + case 4728: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 4703: + case 4704: + case 4711: + case 4712: + case 4719: + case 4720: + case 4727: + case 4728: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 4700: + case 4704: + case 4708: + case 4712: + case 4716: + case 4720: + case 4724: + case 4728: return false; + default: return true; + } +} +} // namespace IronBars +namespace IronBlock +{ +} +namespace IronDoor +{ +BlockState IronDoor() +{ + return 3820; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3841: + case 3842: + case 3843: + case 3844: + case 3845: + case 3846: + case 3847: + case 3848: + case 3849: + case 3850: + case 3851: + case 3852: + case 3853: + case 3854: + case 3855: + case 3856: return eBlockFace::BLOCK_FACE_XM; + case 3857: + case 3858: + case 3859: + case 3860: + case 3861: + case 3862: + case 3863: + case 3864: + case 3865: + case 3866: + case 3867: + case 3868: + case 3869: + case 3870: + case 3871: + case 3872: return eBlockFace::BLOCK_FACE_XP; + case 3809: + case 3810: + case 3811: + case 3812: + case 3813: + case 3814: + case 3815: + case 3816: + case 3817: + case 3818: + case 3819: + case 3820: + case 3821: + case 3822: + case 3823: + case 3824: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 3817: + case 3818: + case 3819: + case 3820: + case 3821: + case 3822: + case 3823: + case 3824: + case 3833: + case 3834: + case 3835: + case 3836: + case 3837: + case 3838: + case 3839: + case 3840: + case 3849: + case 3850: + case 3851: + case 3852: + case 3853: + case 3854: + case 3855: + case 3856: + case 3865: + case 3866: + case 3867: + case 3868: + case 3869: + case 3870: + case 3871: + case 3872: return Half::Lower; + default: return Half::Upper; + } +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 3809: + case 3810: + case 3811: + case 3812: + case 3817: + case 3818: + case 3819: + case 3820: + case 3825: + case 3826: + case 3827: + case 3828: + case 3833: + case 3834: + case 3835: + case 3836: + case 3841: + case 3842: + case 3843: + case 3844: + case 3849: + case 3850: + case 3851: + case 3852: + case 3857: + case 3858: + case 3859: + case 3860: + case 3865: + case 3866: + case 3867: + case 3868: return Hinge::Left; + default: return Hinge::Right; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 3811: + case 3812: + case 3815: + case 3816: + case 3819: + case 3820: + case 3823: + case 3824: + case 3827: + case 3828: + case 3831: + case 3832: + case 3835: + case 3836: + case 3839: + case 3840: + case 3843: + case 3844: + case 3847: + case 3848: + case 3851: + case 3852: + case 3855: + case 3856: + case 3859: + case 3860: + case 3863: + case 3864: + case 3867: + case 3868: + case 3871: + case 3872: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3810: + case 3812: + case 3814: + case 3816: + case 3818: + case 3820: + case 3822: + case 3824: + case 3826: + case 3828: + case 3830: + case 3832: + case 3834: + case 3836: + case 3838: + case 3840: + case 3842: + case 3844: + case 3846: + case 3848: + case 3850: + case 3852: + case 3854: + case 3856: + case 3858: + case 3860: + case 3862: + case 3864: + case 3866: + case 3868: + case 3870: + case 3872: return false; + default: return true; + } +} +} // namespace IronDoor +namespace IronOre +{ +} +namespace IronTrapdoor +{ +BlockState IronTrapdoor() +{ + return 7552; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 7570: + case 7572: + case 7574: + case 7576: + case 7578: + case 7580: + case 7582: + case 7584: return eBlockFace::BLOCK_FACE_XM; + case 7586: + case 7588: + case 7590: + case 7592: + case 7594: + case 7596: + case 7598: + case 7600: return eBlockFace::BLOCK_FACE_XP; + case 7538: + case 7540: + case 7542: + case 7544: + case 7546: + case 7548: + case 7550: + case 7552: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7546: + case 7548: + case 7550: + case 7552: + case 7562: + case 7564: + case 7566: + case 7568: + case 7578: + case 7580: + case 7582: + case 7584: + case 7594: + case 7596: + case 7598: + case 7600: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 7542: + case 7544: + case 7550: + case 7552: + case 7558: + case 7560: + case 7566: + case 7568: + case 7574: + case 7576: + case 7582: + case 7584: + case 7590: + case 7592: + case 7598: + case 7600: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 7540: + case 7544: + case 7548: + case 7552: + case 7556: + case 7560: + case 7564: + case 7568: + case 7572: + case 7576: + case 7580: + case 7584: + case 7588: + case 7592: + case 7596: + case 7600: return false; + default: return true; + } +} +} // namespace IronTrapdoor +namespace JackOLantern +{ +BlockState JackOLantern() +{ + return 4020; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4022: return eBlockFace::BLOCK_FACE_XM; + case 4023: return eBlockFace::BLOCK_FACE_XP; + case 4020: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace JackOLantern +namespace Jigsaw +{ +BlockState Jigsaw() +{ + return 15749; +} +enum Orientation Orientation(const BlockState Block) +{ + switch (Block.ID) + { + case 15739: return Orientation::DownEast; + case 15740: return Orientation::DownNorth; + case 15741: return Orientation::DownSouth; + case 15742: return Orientation::DownWest; + case 15748: return Orientation::EastUp; + case 15749: return Orientation::NorthUp; + case 15750: return Orientation::SouthUp; + case 15743: return Orientation::UpEast; + case 15744: return Orientation::UpNorth; + case 15745: return Orientation::UpSouth; + case 15746: return Orientation::UpWest; + default: return Orientation::WestUp; + } +} +} // namespace Jigsaw +namespace Jukebox +{ +BlockState Jukebox() +{ + return 3965; +} +bool HasRecord(const BlockState Block) +{ + switch (Block.ID) + { + case 3965: return false; + default: return true; + } +} +} // namespace Jukebox +namespace JungleButton +{ +BlockState JungleButton() +{ + return 6427; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 6434: + case 6435: + case 6436: + case 6437: + case 6438: + case 6439: + case 6440: + case 6441: return Face::Ceiling; + case 6418: + case 6419: + case 6420: + case 6421: + case 6422: + case 6423: + case 6424: + case 6425: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6422: + case 6423: + case 6430: + case 6431: + case 6438: + case 6439: return eBlockFace::BLOCK_FACE_XM; + case 6424: + case 6425: + case 6432: + case 6433: + case 6440: + case 6441: return eBlockFace::BLOCK_FACE_XP; + case 6418: + case 6419: + case 6426: + case 6427: + case 6434: + case 6435: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 6419: + case 6421: + case 6423: + case 6425: + case 6427: + case 6429: + case 6431: + case 6433: + case 6435: + case 6437: + case 6439: + case 6441: return false; + default: return true; + } +} +} // namespace JungleButton +namespace JungleDoor +{ +BlockState JungleDoor() +{ + return 8877; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8898: + case 8899: + case 8900: + case 8901: + case 8902: + case 8903: + case 8904: + case 8905: + case 8906: + case 8907: + case 8908: + case 8909: + case 8910: + case 8911: + case 8912: + case 8913: return eBlockFace::BLOCK_FACE_XM; + case 8914: + case 8915: + case 8916: + case 8917: + case 8918: + case 8919: + case 8920: + case 8921: + case 8922: + case 8923: + case 8924: + case 8925: + case 8926: + case 8927: + case 8928: + case 8929: return eBlockFace::BLOCK_FACE_XP; + case 8866: + case 8867: + case 8868: + case 8869: + case 8870: + case 8871: + case 8872: + case 8873: + case 8874: + case 8875: + case 8876: + case 8877: + case 8878: + case 8879: + case 8880: + case 8881: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 8874: + case 8875: + case 8876: + case 8877: + case 8878: + case 8879: + case 8880: + case 8881: + case 8890: + case 8891: + case 8892: + case 8893: + case 8894: + case 8895: + case 8896: + case 8897: + case 8906: + case 8907: + case 8908: + case 8909: + case 8910: + case 8911: + case 8912: + case 8913: + case 8922: + case 8923: + case 8924: + case 8925: + case 8926: + case 8927: + case 8928: + case 8929: return Half::Lower; + default: return Half::Upper; + } +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 8866: + case 8867: + case 8868: + case 8869: + case 8874: + case 8875: + case 8876: + case 8877: + case 8882: + case 8883: + case 8884: + case 8885: + case 8890: + case 8891: + case 8892: + case 8893: + case 8898: + case 8899: + case 8900: + case 8901: + case 8906: + case 8907: + case 8908: + case 8909: + case 8914: + case 8915: + case 8916: + case 8917: + case 8922: + case 8923: + case 8924: + case 8925: return Hinge::Left; + default: return Hinge::Right; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8868: + case 8869: + case 8872: + case 8873: + case 8876: + case 8877: + case 8880: + case 8881: + case 8884: + case 8885: + case 8888: + case 8889: + case 8892: + case 8893: + case 8896: + case 8897: + case 8900: + case 8901: + case 8904: + case 8905: + case 8908: + case 8909: + case 8912: + case 8913: + case 8916: + case 8917: + case 8920: + case 8921: + case 8924: + case 8925: + case 8928: + case 8929: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8867: + case 8869: + case 8871: + case 8873: + case 8875: + case 8877: + case 8879: + case 8881: + case 8883: + case 8885: + case 8887: + case 8889: + case 8891: + case 8893: + case 8895: + case 8897: + case 8899: + case 8901: + case 8903: + case 8905: + case 8907: + case 8909: + case 8911: + case 8913: + case 8915: + case 8917: + case 8919: + case 8921: + case 8923: + case 8925: + case 8927: + case 8929: return false; + default: return true; + } +} +} // namespace JungleDoor +namespace JungleFence +{ +BlockState JungleFence() +{ + return 8673; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 8660: + case 8661: + case 8664: + case 8665: + case 8668: + case 8669: + case 8672: + case 8673: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 8652: + case 8653: + case 8656: + case 8657: + case 8668: + case 8669: + case 8672: + case 8673: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 8648: + case 8649: + case 8656: + case 8657: + case 8664: + case 8665: + case 8672: + case 8673: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 8645: + case 8649: + case 8653: + case 8657: + case 8661: + case 8665: + case 8669: + case 8673: return false; + default: return true; + } +} +} // namespace JungleFence +namespace JungleFenceGate +{ +BlockState JungleFenceGate() +{ + return 8489; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8498: + case 8499: + case 8500: + case 8501: + case 8502: + case 8503: + case 8504: + case 8505: return eBlockFace::BLOCK_FACE_XM; + case 8506: + case 8507: + case 8508: + case 8509: + case 8510: + case 8511: + case 8512: + case 8513: return eBlockFace::BLOCK_FACE_XP; + case 8482: + case 8483: + case 8484: + case 8485: + case 8486: + case 8487: + case 8488: + case 8489: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool InWall(const BlockState Block) +{ + switch (Block.ID) + { + case 8486: + case 8487: + case 8488: + case 8489: + case 8494: + case 8495: + case 8496: + case 8497: + case 8502: + case 8503: + case 8504: + case 8505: + case 8510: + case 8511: + case 8512: + case 8513: return false; + default: return true; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8484: + case 8485: + case 8488: + case 8489: + case 8492: + case 8493: + case 8496: + case 8497: + case 8500: + case 8501: + case 8504: + case 8505: + case 8508: + case 8509: + case 8512: + case 8513: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8483: + case 8485: + case 8487: + case 8489: + case 8491: + case 8493: + case 8495: + case 8497: + case 8499: + case 8501: + case 8503: + case 8505: + case 8507: + case 8509: + case 8511: + case 8513: return false; + default: return true; + } +} +} // namespace JungleFenceGate +namespace JungleLeaves +{ +BlockState JungleLeaves() +{ + return 200; +} +unsigned char Distance(const BlockState Block) +{ + switch (Block.ID) + { + case 187: + case 188: return 1; + case 189: + case 190: return 2; + case 191: + case 192: return 3; + case 193: + case 194: return 4; + case 195: + case 196: return 5; + case 197: + case 198: return 6; + default: return 7; + } +} +bool Persistent(const BlockState Block) +{ + switch (Block.ID) + { + case 188: + case 190: + case 192: + case 194: + case 196: + case 198: + case 200: return false; + default: return true; + } +} +} // namespace JungleLeaves +namespace JungleLog +{ +BlockState JungleLog() +{ + return 83; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 82: return Axis::X; + case 83: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace JungleLog +namespace JunglePlanks +{ +} +namespace JunglePressurePlate +{ +BlockState JunglePressurePlate() +{ + return 3880; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3880: return false; + default: return true; + } +} +} // namespace JunglePressurePlate +namespace JungleSapling +{ +BlockState JungleSapling() +{ + return 27; +} +unsigned char Stage(const BlockState Block) +{ + switch (Block.ID) + { + case 27: return 0; + default: return 1; + } +} +} // namespace JungleSapling +namespace JungleSign +{ +BlockState JungleSign() +{ + return 3510; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 3510: return 0; + case 3512: return 1; + case 3530: return 10; + case 3532: return 11; + case 3534: return 12; + case 3536: return 13; + case 3538: return 14; + case 3540: return 15; + case 3514: return 2; + case 3516: return 3; + case 3518: return 4; + case 3520: return 5; + case 3522: return 6; + case 3524: return 7; + case 3526: return 8; + default: return 9; + } +} +} // namespace JungleSign +namespace JungleSlab +{ +BlockState JungleSlab() +{ + return 8321; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8321: return Type::Bottom; + case 8323: return Type::Double; + default: return Type::Top; + } +} +} // namespace JungleSlab +namespace JungleStairs +{ +BlockState JungleStairs() +{ + return 5575; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5605: + case 5607: + case 5609: + case 5611: + case 5613: + case 5615: + case 5617: + case 5619: + case 5621: + case 5623: return eBlockFace::BLOCK_FACE_XM; + case 5625: + case 5627: + case 5629: + case 5631: + case 5633: + case 5635: + case 5637: + case 5639: + case 5641: + case 5643: return eBlockFace::BLOCK_FACE_XP; + case 5565: + case 5567: + case 5569: + case 5571: + case 5573: + case 5575: + case 5577: + case 5579: + case 5581: + case 5583: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 5575: + case 5577: + case 5579: + case 5581: + case 5583: + case 5595: + case 5597: + case 5599: + case 5601: + case 5603: + case 5615: + case 5617: + case 5619: + case 5621: + case 5623: + case 5635: + case 5637: + case 5639: + case 5641: + case 5643: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 5567: + case 5577: + case 5587: + case 5597: + case 5607: + case 5617: + case 5627: + case 5637: return Shape::InnerLeft; + case 5569: + case 5579: + case 5589: + case 5599: + case 5609: + case 5619: + case 5629: + case 5639: return Shape::InnerRight; + case 5571: + case 5581: + case 5591: + case 5601: + case 5611: + case 5621: + case 5631: + case 5641: return Shape::OuterLeft; + case 5573: + case 5583: + case 5593: + case 5603: + case 5613: + case 5623: + case 5633: + case 5643: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace JungleStairs +namespace JungleTrapdoor +{ +BlockState JungleTrapdoor() +{ + return 4318; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4336: + case 4338: + case 4340: + case 4342: + case 4344: + case 4346: + case 4348: + case 4350: return eBlockFace::BLOCK_FACE_XM; + case 4352: + case 4354: + case 4356: + case 4358: + case 4360: + case 4362: + case 4364: + case 4366: return eBlockFace::BLOCK_FACE_XP; + case 4304: + case 4306: + case 4308: + case 4310: + case 4312: + case 4314: + case 4316: + case 4318: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 4312: + case 4314: + case 4316: + case 4318: + case 4328: + case 4330: + case 4332: + case 4334: + case 4344: + case 4346: + case 4348: + case 4350: + case 4360: + case 4362: + case 4364: + case 4366: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 4308: + case 4310: + case 4316: + case 4318: + case 4324: + case 4326: + case 4332: + case 4334: + case 4340: + case 4342: + case 4348: + case 4350: + case 4356: + case 4358: + case 4364: + case 4366: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 4306: + case 4310: + case 4314: + case 4318: + case 4322: + case 4326: + case 4330: + case 4334: + case 4338: + case 4342: + case 4346: + case 4350: + case 4354: + case 4358: + case 4362: + case 4366: return false; + default: return true; + } +} +} // namespace JungleTrapdoor +namespace JungleWallSign +{ +BlockState JungleWallSign() +{ + return 3768; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3772: return eBlockFace::BLOCK_FACE_XM; + case 3774: return eBlockFace::BLOCK_FACE_XP; + case 3768: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace JungleWallSign +namespace JungleWood +{ +BlockState JungleWood() +{ + return 119; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 118: return Axis::X; + case 119: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace JungleWood +namespace Kelp +{ +BlockState Kelp() +{ + return 9470; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 9470: return 0; + case 9471: return 1; + case 9480: return 10; + case 9481: return 11; + case 9482: return 12; + case 9483: return 13; + case 9484: return 14; + case 9485: return 15; + case 9486: return 16; + case 9487: return 17; + case 9488: return 18; + case 9489: return 19; + case 9472: return 2; + case 9490: return 20; + case 9491: return 21; + case 9492: return 22; + case 9493: return 23; + case 9494: return 24; + case 9495: return 25; + case 9473: return 3; + case 9474: return 4; + case 9475: return 5; + case 9476: return 6; + case 9477: return 7; + case 9478: return 8; + default: return 9; + } +} +} // namespace Kelp +namespace KelpPlant +{ +} +namespace Ladder +{ +BlockState Ladder() +{ + return 3638; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3642: return eBlockFace::BLOCK_FACE_XM; + case 3644: return eBlockFace::BLOCK_FACE_XP; + case 3638: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace Ladder +namespace Lantern +{ +BlockState Lantern() +{ + return 14887; +} +bool Hanging(const BlockState Block) +{ + switch (Block.ID) + { + case 14887: return false; + default: return true; + } +} +} // namespace Lantern +namespace LapisBlock +{ +} +namespace LapisOre +{ +} +namespace LargeFern +{ +BlockState LargeFern() +{ + return 7896; +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7896: return Half::Lower; + default: return Half::Upper; + } +} +} // namespace LargeFern +namespace Lava +{ +BlockState Lava() +{ + return 50; +} +unsigned char Level(const BlockState Block) +{ + switch (Block.ID) + { + case 50: return 0; + case 51: return 1; + case 60: return 10; + case 61: return 11; + case 62: return 12; + case 63: return 13; + case 64: return 14; + case 65: return 15; + case 52: return 2; + case 53: return 3; + case 54: return 4; + case 55: return 5; + case 56: return 6; + case 57: return 7; + case 58: return 8; + default: return 9; + } +} +} // namespace Lava +namespace Lectern +{ +BlockState Lectern() +{ + return 14836; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14841: + case 14842: + case 14843: + case 14844: return eBlockFace::BLOCK_FACE_XM; + case 14845: + case 14846: + case 14847: + case 14848: return eBlockFace::BLOCK_FACE_XP; + case 14833: + case 14834: + case 14835: + case 14836: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool HasBook(const BlockState Block) +{ + switch (Block.ID) + { + case 14835: + case 14836: + case 14839: + case 14840: + case 14843: + case 14844: + case 14847: + case 14848: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 14834: + case 14836: + case 14838: + case 14840: + case 14842: + case 14844: + case 14846: + case 14848: return false; + default: return true; + } +} +} // namespace Lectern +namespace Lever +{ +BlockState Lever() +{ + return 3792; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 3799: + case 3800: + case 3801: + case 3802: + case 3803: + case 3804: + case 3805: + case 3806: return Face::Ceiling; + case 3783: + case 3784: + case 3785: + case 3786: + case 3787: + case 3788: + case 3789: + case 3790: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3787: + case 3788: + case 3795: + case 3796: + case 3803: + case 3804: return eBlockFace::BLOCK_FACE_XM; + case 3789: + case 3790: + case 3797: + case 3798: + case 3805: + case 3806: return eBlockFace::BLOCK_FACE_XP; + case 3783: + case 3784: + case 3791: + case 3792: + case 3799: + case 3800: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3784: + case 3786: + case 3788: + case 3790: + case 3792: + case 3794: + case 3796: + case 3798: + case 3800: + case 3802: + case 3804: + case 3806: return false; + default: return true; + } +} +} // namespace Lever +namespace LightBlueBanner +{ +BlockState LightBlueBanner() +{ + return 7945; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 7945: return 0; + case 7946: return 1; + case 7955: return 10; + case 7956: return 11; + case 7957: return 12; + case 7958: return 13; + case 7959: return 14; + case 7960: return 15; + case 7947: return 2; + case 7948: return 3; + case 7949: return 4; + case 7950: return 5; + case 7951: return 6; + case 7952: return 7; + case 7953: return 8; + default: return 9; + } +} +} // namespace LightBlueBanner +namespace LightBlueBed +{ +BlockState LightBlueBed() +{ + return 1100; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1105: + case 1106: + case 1107: + case 1108: return eBlockFace::BLOCK_FACE_XM; + case 1109: + case 1110: + case 1111: + case 1112: return eBlockFace::BLOCK_FACE_XP; + case 1097: + case 1098: + case 1099: + case 1100: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1099: + case 1100: + case 1103: + case 1104: + case 1107: + case 1108: + case 1111: + case 1112: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1098: + case 1100: + case 1102: + case 1104: + case 1106: + case 1108: + case 1110: + case 1112: return Part::Foot; + default: return Part::Head; + } +} +} // namespace LightBlueBed +namespace LightBlueCarpet +{ +} +namespace LightBlueConcrete +{ +} +namespace LightBlueConcretePowder +{ +} +namespace LightBlueGlazedTerracotta +{ +BlockState LightBlueGlazedTerracotta() +{ + return 9386; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9388: return eBlockFace::BLOCK_FACE_XM; + case 9389: return eBlockFace::BLOCK_FACE_XP; + case 9386: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LightBlueGlazedTerracotta +namespace LightBlueShulkerBox +{ +BlockState LightBlueShulkerBox() +{ + return 9300; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9299: return eBlockFace::BLOCK_FACE_XM; + case 9297: return eBlockFace::BLOCK_FACE_XP; + case 9301: return eBlockFace::BLOCK_FACE_YM; + case 9300: return eBlockFace::BLOCK_FACE_YP; + case 9296: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LightBlueShulkerBox +namespace LightBlueStainedGlass +{ +} +namespace LightBlueStainedGlassPane +{ +BlockState LightBlueStainedGlassPane() +{ + return 6990; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 6977: + case 6978: + case 6981: + case 6982: + case 6985: + case 6986: + case 6989: + case 6990: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 6969: + case 6970: + case 6973: + case 6974: + case 6985: + case 6986: + case 6989: + case 6990: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 6965: + case 6966: + case 6973: + case 6974: + case 6981: + case 6982: + case 6989: + case 6990: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 6962: + case 6966: + case 6970: + case 6974: + case 6978: + case 6982: + case 6986: + case 6990: return false; + default: return true; + } +} +} // namespace LightBlueStainedGlassPane +namespace LightBlueTerracotta +{ +} +namespace LightBlueWallBanner +{ +BlockState LightBlueWallBanner() +{ + return 8165; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8167: return eBlockFace::BLOCK_FACE_XM; + case 8168: return eBlockFace::BLOCK_FACE_XP; + case 8165: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LightBlueWallBanner +namespace LightBlueWool +{ +} +namespace LightGrayBanner +{ +BlockState LightGrayBanner() +{ + return 8025; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8025: return 0; + case 8026: return 1; + case 8035: return 10; + case 8036: return 11; + case 8037: return 12; + case 8038: return 13; + case 8039: return 14; + case 8040: return 15; + case 8027: return 2; + case 8028: return 3; + case 8029: return 4; + case 8030: return 5; + case 8031: return 6; + case 8032: return 7; + case 8033: return 8; + default: return 9; + } +} +} // namespace LightGrayBanner +namespace LightGrayBed +{ +BlockState LightGrayBed() +{ + return 1180; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1185: + case 1186: + case 1187: + case 1188: return eBlockFace::BLOCK_FACE_XM; + case 1189: + case 1190: + case 1191: + case 1192: return eBlockFace::BLOCK_FACE_XP; + case 1177: + case 1178: + case 1179: + case 1180: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1179: + case 1180: + case 1183: + case 1184: + case 1187: + case 1188: + case 1191: + case 1192: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1178: + case 1180: + case 1182: + case 1184: + case 1186: + case 1188: + case 1190: + case 1192: return Part::Foot; + default: return Part::Head; + } +} +} // namespace LightGrayBed +namespace LightGrayCarpet +{ +} +namespace LightGrayConcrete +{ +} +namespace LightGrayConcretePowder +{ +} +namespace LightGrayGlazedTerracotta +{ +BlockState LightGrayGlazedTerracotta() +{ + return 9406; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9408: return eBlockFace::BLOCK_FACE_XM; + case 9409: return eBlockFace::BLOCK_FACE_XP; + case 9406: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LightGrayGlazedTerracotta +namespace LightGrayShulkerBox +{ +BlockState LightGrayShulkerBox() +{ + return 9330; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9329: return eBlockFace::BLOCK_FACE_XM; + case 9327: return eBlockFace::BLOCK_FACE_XP; + case 9331: return eBlockFace::BLOCK_FACE_YM; + case 9330: return eBlockFace::BLOCK_FACE_YP; + case 9326: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LightGrayShulkerBox +namespace LightGrayStainedGlass +{ +} +namespace LightGrayStainedGlassPane +{ +BlockState LightGrayStainedGlassPane() +{ + return 7150; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7137: + case 7138: + case 7141: + case 7142: + case 7145: + case 7146: + case 7149: + case 7150: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7129: + case 7130: + case 7133: + case 7134: + case 7145: + case 7146: + case 7149: + case 7150: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7125: + case 7126: + case 7133: + case 7134: + case 7141: + case 7142: + case 7149: + case 7150: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7122: + case 7126: + case 7130: + case 7134: + case 7138: + case 7142: + case 7146: + case 7150: return false; + default: return true; + } +} +} // namespace LightGrayStainedGlassPane +namespace LightGrayTerracotta +{ +} +namespace LightGrayWallBanner +{ +BlockState LightGrayWallBanner() +{ + return 8185; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8187: return eBlockFace::BLOCK_FACE_XM; + case 8188: return eBlockFace::BLOCK_FACE_XP; + case 8185: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LightGrayWallBanner +namespace LightGrayWool +{ +} +namespace LightWeightedPressurePlate +{ +BlockState LightWeightedPressurePlate() +{ + return 6646; +} +unsigned char Power(const BlockState Block) +{ + switch (Block.ID) + { + case 6646: return 0; + case 6647: return 1; + case 6656: return 10; + case 6657: return 11; + case 6658: return 12; + case 6659: return 13; + case 6660: return 14; + case 6661: return 15; + case 6648: return 2; + case 6649: return 3; + case 6650: return 4; + case 6651: return 5; + case 6652: return 6; + case 6653: return 7; + case 6654: return 8; + default: return 9; + } +} +} // namespace LightWeightedPressurePlate +namespace Lilac +{ +BlockState Lilac() +{ + return 7888; +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7888: return Half::Lower; + default: return Half::Upper; + } +} +} // namespace Lilac +namespace LilyOfTheValley +{ +} +namespace LilyPad +{ +} +namespace LimeBanner +{ +BlockState LimeBanner() +{ + return 7977; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 7977: return 0; + case 7978: return 1; + case 7987: return 10; + case 7988: return 11; + case 7989: return 12; + case 7990: return 13; + case 7991: return 14; + case 7992: return 15; + case 7979: return 2; + case 7980: return 3; + case 7981: return 4; + case 7982: return 5; + case 7983: return 6; + case 7984: return 7; + case 7985: return 8; + default: return 9; + } +} +} // namespace LimeBanner +namespace LimeBed +{ +BlockState LimeBed() +{ + return 1132; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1137: + case 1138: + case 1139: + case 1140: return eBlockFace::BLOCK_FACE_XM; + case 1141: + case 1142: + case 1143: + case 1144: return eBlockFace::BLOCK_FACE_XP; + case 1129: + case 1130: + case 1131: + case 1132: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1131: + case 1132: + case 1135: + case 1136: + case 1139: + case 1140: + case 1143: + case 1144: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1130: + case 1132: + case 1134: + case 1136: + case 1138: + case 1140: + case 1142: + case 1144: return Part::Foot; + default: return Part::Head; + } +} +} // namespace LimeBed +namespace LimeCarpet +{ +} +namespace LimeConcrete +{ +} +namespace LimeConcretePowder +{ +} +namespace LimeGlazedTerracotta +{ +BlockState LimeGlazedTerracotta() +{ + return 9394; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9396: return eBlockFace::BLOCK_FACE_XM; + case 9397: return eBlockFace::BLOCK_FACE_XP; + case 9394: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LimeGlazedTerracotta +namespace LimeShulkerBox +{ +BlockState LimeShulkerBox() +{ + return 9312; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9311: return eBlockFace::BLOCK_FACE_XM; + case 9309: return eBlockFace::BLOCK_FACE_XP; + case 9313: return eBlockFace::BLOCK_FACE_YM; + case 9312: return eBlockFace::BLOCK_FACE_YP; + case 9308: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LimeShulkerBox +namespace LimeStainedGlass +{ +} +namespace LimeStainedGlassPane +{ +BlockState LimeStainedGlassPane() +{ + return 7054; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7041: + case 7042: + case 7045: + case 7046: + case 7049: + case 7050: + case 7053: + case 7054: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7033: + case 7034: + case 7037: + case 7038: + case 7049: + case 7050: + case 7053: + case 7054: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7029: + case 7030: + case 7037: + case 7038: + case 7045: + case 7046: + case 7053: + case 7054: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7026: + case 7030: + case 7034: + case 7038: + case 7042: + case 7046: + case 7050: + case 7054: return false; + default: return true; + } +} +} // namespace LimeStainedGlassPane +namespace LimeTerracotta +{ +} +namespace LimeWallBanner +{ +BlockState LimeWallBanner() +{ + return 8173; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8175: return eBlockFace::BLOCK_FACE_XM; + case 8176: return eBlockFace::BLOCK_FACE_XP; + case 8173: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace LimeWallBanner +namespace LimeWool +{ +} +namespace Lodestone +{ +} +namespace Loom +{ +BlockState Loom() +{ + return 14787; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14789: return eBlockFace::BLOCK_FACE_XM; + case 14790: return eBlockFace::BLOCK_FACE_XP; + case 14787: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace Loom +namespace MagentaBanner +{ +BlockState MagentaBanner() +{ + return 7929; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 7929: return 0; + case 7930: return 1; + case 7939: return 10; + case 7940: return 11; + case 7941: return 12; + case 7942: return 13; + case 7943: return 14; + case 7944: return 15; + case 7931: return 2; + case 7932: return 3; + case 7933: return 4; + case 7934: return 5; + case 7935: return 6; + case 7936: return 7; + case 7937: return 8; + default: return 9; + } +} +} // namespace MagentaBanner +namespace MagentaBed +{ +BlockState MagentaBed() +{ + return 1084; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1089: + case 1090: + case 1091: + case 1092: return eBlockFace::BLOCK_FACE_XM; + case 1093: + case 1094: + case 1095: + case 1096: return eBlockFace::BLOCK_FACE_XP; + case 1081: + case 1082: + case 1083: + case 1084: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1083: + case 1084: + case 1087: + case 1088: + case 1091: + case 1092: + case 1095: + case 1096: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1082: + case 1084: + case 1086: + case 1088: + case 1090: + case 1092: + case 1094: + case 1096: return Part::Foot; + default: return Part::Head; + } +} +} // namespace MagentaBed +namespace MagentaCarpet +{ +} +namespace MagentaConcrete +{ +} +namespace MagentaConcretePowder +{ +} +namespace MagentaGlazedTerracotta +{ +BlockState MagentaGlazedTerracotta() +{ + return 9382; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9384: return eBlockFace::BLOCK_FACE_XM; + case 9385: return eBlockFace::BLOCK_FACE_XP; + case 9382: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace MagentaGlazedTerracotta +namespace MagentaShulkerBox +{ +BlockState MagentaShulkerBox() +{ + return 9294; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9293: return eBlockFace::BLOCK_FACE_XM; + case 9291: return eBlockFace::BLOCK_FACE_XP; + case 9295: return eBlockFace::BLOCK_FACE_YM; + case 9294: return eBlockFace::BLOCK_FACE_YP; + case 9290: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace MagentaShulkerBox +namespace MagentaStainedGlass +{ +} +namespace MagentaStainedGlassPane +{ +BlockState MagentaStainedGlassPane() +{ + return 6958; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 6945: + case 6946: + case 6949: + case 6950: + case 6953: + case 6954: + case 6957: + case 6958: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 6937: + case 6938: + case 6941: + case 6942: + case 6953: + case 6954: + case 6957: + case 6958: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 6933: + case 6934: + case 6941: + case 6942: + case 6949: + case 6950: + case 6957: + case 6958: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 6930: + case 6934: + case 6938: + case 6942: + case 6946: + case 6950: + case 6954: + case 6958: return false; + default: return true; + } +} +} // namespace MagentaStainedGlassPane +namespace MagentaTerracotta +{ +} +namespace MagentaWallBanner +{ +BlockState MagentaWallBanner() +{ + return 8161; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8163: return eBlockFace::BLOCK_FACE_XM; + case 8164: return eBlockFace::BLOCK_FACE_XP; + case 8161: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace MagentaWallBanner +namespace MagentaWool +{ +} +namespace MagmaBlock +{ +} +namespace Melon +{ +} +namespace MelonStem +{ +BlockState MelonStem() +{ + return 4780; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 4780: return 0; + case 4781: return 1; + case 4782: return 2; + case 4783: return 3; + case 4784: return 4; + case 4785: return 5; + case 4786: return 6; + default: return 7; + } +} +} // namespace MelonStem +namespace MossyCobblestone +{ +} +namespace MossyCobblestoneSlab +{ +BlockState MossyCobblestoneSlab() +{ + return 10816; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10816: return Type::Bottom; + case 10818: return Type::Double; + default: return Type::Top; + } +} +} // namespace MossyCobblestoneSlab +namespace MossyCobblestoneStairs +{ +BlockState MossyCobblestoneStairs() +{ + return 10000; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10030: + case 10032: + case 10034: + case 10036: + case 10038: + case 10040: + case 10042: + case 10044: + case 10046: + case 10048: return eBlockFace::BLOCK_FACE_XM; + case 10050: + case 10052: + case 10054: + case 10056: + case 10058: + case 10060: + case 10062: + case 10064: + case 10066: + case 10068: return eBlockFace::BLOCK_FACE_XP; + case 9990: + case 9992: + case 9994: + case 9996: + case 9998: + case 10000: + case 10002: + case 10004: + case 10006: + case 10008: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10000: + case 10002: + case 10004: + case 10006: + case 10008: + case 10020: + case 10022: + case 10024: + case 10026: + case 10028: + case 10040: + case 10042: + case 10044: + case 10046: + case 10048: + case 10060: + case 10062: + case 10064: + case 10066: + case 10068: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 9992: + case 10002: + case 10012: + case 10022: + case 10032: + case 10042: + case 10052: + case 10062: return Shape::InnerLeft; + case 9994: + case 10004: + case 10014: + case 10024: + case 10034: + case 10044: + case 10054: + case 10064: return Shape::InnerRight; + case 9996: + case 10006: + case 10016: + case 10026: + case 10036: + case 10046: + case 10056: + case 10066: return Shape::OuterLeft; + case 9998: + case 10008: + case 10018: + case 10028: + case 10038: + case 10048: + case 10058: + case 10068: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace MossyCobblestoneStairs +namespace MossyCobblestoneWall +{ +BlockState MossyCobblestoneWall() +{ + return 5984; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 6092: + case 6093: + case 6094: + case 6098: + case 6099: + case 6100: + case 6104: + case 6105: + case 6106: + case 6110: + case 6111: + case 6112: + case 6116: + case 6117: + case 6118: + case 6122: + case 6123: + case 6124: + case 6128: + case 6129: + case 6130: + case 6134: + case 6135: + case 6136: + case 6140: + case 6141: + case 6142: + case 6146: + case 6147: + case 6148: + case 6152: + case 6153: + case 6154: + case 6158: + case 6159: + case 6160: + case 6164: + case 6165: + case 6166: + case 6170: + case 6171: + case 6172: + case 6176: + case 6177: + case 6178: + case 6182: + case 6183: + case 6184: + case 6188: + case 6189: + case 6190: + case 6194: + case 6195: + case 6196: return East::Low; + case 5984: + case 5985: + case 5986: + case 5990: + case 5991: + case 5992: + case 5996: + case 5997: + case 5998: + case 6002: + case 6003: + case 6004: + case 6008: + case 6009: + case 6010: + case 6014: + case 6015: + case 6016: + case 6020: + case 6021: + case 6022: + case 6026: + case 6027: + case 6028: + case 6032: + case 6033: + case 6034: + case 6038: + case 6039: + case 6040: + case 6044: + case 6045: + case 6046: + case 6050: + case 6051: + case 6052: + case 6056: + case 6057: + case 6058: + case 6062: + case 6063: + case 6064: + case 6068: + case 6069: + case 6070: + case 6074: + case 6075: + case 6076: + case 6080: + case 6081: + case 6082: + case 6086: + case 6087: + case 6088: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 6020: + case 6021: + case 6022: + case 6026: + case 6027: + case 6028: + case 6032: + case 6033: + case 6034: + case 6038: + case 6039: + case 6040: + case 6044: + case 6045: + case 6046: + case 6050: + case 6051: + case 6052: + case 6128: + case 6129: + case 6130: + case 6134: + case 6135: + case 6136: + case 6140: + case 6141: + case 6142: + case 6146: + case 6147: + case 6148: + case 6152: + case 6153: + case 6154: + case 6158: + case 6159: + case 6160: + case 6236: + case 6237: + case 6238: + case 6242: + case 6243: + case 6244: + case 6248: + case 6249: + case 6250: + case 6254: + case 6255: + case 6256: + case 6260: + case 6261: + case 6262: + case 6266: + case 6267: + case 6268: return North::Low; + case 5984: + case 5985: + case 5986: + case 5990: + case 5991: + case 5992: + case 5996: + case 5997: + case 5998: + case 6002: + case 6003: + case 6004: + case 6008: + case 6009: + case 6010: + case 6014: + case 6015: + case 6016: + case 6092: + case 6093: + case 6094: + case 6098: + case 6099: + case 6100: + case 6104: + case 6105: + case 6106: + case 6110: + case 6111: + case 6112: + case 6116: + case 6117: + case 6118: + case 6122: + case 6123: + case 6124: + case 6200: + case 6201: + case 6202: + case 6206: + case 6207: + case 6208: + case 6212: + case 6213: + case 6214: + case 6218: + case 6219: + case 6220: + case 6224: + case 6225: + case 6226: + case 6230: + case 6231: + case 6232: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 5996: + case 5997: + case 5998: + case 6002: + case 6003: + case 6004: + case 6032: + case 6033: + case 6034: + case 6038: + case 6039: + case 6040: + case 6068: + case 6069: + case 6070: + case 6074: + case 6075: + case 6076: + case 6104: + case 6105: + case 6106: + case 6110: + case 6111: + case 6112: + case 6140: + case 6141: + case 6142: + case 6146: + case 6147: + case 6148: + case 6176: + case 6177: + case 6178: + case 6182: + case 6183: + case 6184: + case 6212: + case 6213: + case 6214: + case 6218: + case 6219: + case 6220: + case 6248: + case 6249: + case 6250: + case 6254: + case 6255: + case 6256: + case 6284: + case 6285: + case 6286: + case 6290: + case 6291: + case 6292: return South::Low; + case 5984: + case 5985: + case 5986: + case 5990: + case 5991: + case 5992: + case 6020: + case 6021: + case 6022: + case 6026: + case 6027: + case 6028: + case 6056: + case 6057: + case 6058: + case 6062: + case 6063: + case 6064: + case 6092: + case 6093: + case 6094: + case 6098: + case 6099: + case 6100: + case 6128: + case 6129: + case 6130: + case 6134: + case 6135: + case 6136: + case 6164: + case 6165: + case 6166: + case 6170: + case 6171: + case 6172: + case 6200: + case 6201: + case 6202: + case 6206: + case 6207: + case 6208: + case 6236: + case 6237: + case 6238: + case 6242: + case 6243: + case 6244: + case 6272: + case 6273: + case 6274: + case 6278: + case 6279: + case 6280: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 5990: + case 5991: + case 5992: + case 6002: + case 6003: + case 6004: + case 6014: + case 6015: + case 6016: + case 6026: + case 6027: + case 6028: + case 6038: + case 6039: + case 6040: + case 6050: + case 6051: + case 6052: + case 6062: + case 6063: + case 6064: + case 6074: + case 6075: + case 6076: + case 6086: + case 6087: + case 6088: + case 6098: + case 6099: + case 6100: + case 6110: + case 6111: + case 6112: + case 6122: + case 6123: + case 6124: + case 6134: + case 6135: + case 6136: + case 6146: + case 6147: + case 6148: + case 6158: + case 6159: + case 6160: + case 6170: + case 6171: + case 6172: + case 6182: + case 6183: + case 6184: + case 6194: + case 6195: + case 6196: + case 6206: + case 6207: + case 6208: + case 6218: + case 6219: + case 6220: + case 6230: + case 6231: + case 6232: + case 6242: + case 6243: + case 6244: + case 6254: + case 6255: + case 6256: + case 6266: + case 6267: + case 6268: + case 6278: + case 6279: + case 6280: + case 6290: + case 6291: + case 6292: + case 6302: + case 6303: + case 6304: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 5985: + case 5991: + case 5997: + case 6003: + case 6009: + case 6015: + case 6021: + case 6027: + case 6033: + case 6039: + case 6045: + case 6051: + case 6057: + case 6063: + case 6069: + case 6075: + case 6081: + case 6087: + case 6093: + case 6099: + case 6105: + case 6111: + case 6117: + case 6123: + case 6129: + case 6135: + case 6141: + case 6147: + case 6153: + case 6159: + case 6165: + case 6171: + case 6177: + case 6183: + case 6189: + case 6195: + case 6201: + case 6207: + case 6213: + case 6219: + case 6225: + case 6231: + case 6237: + case 6243: + case 6249: + case 6255: + case 6261: + case 6267: + case 6273: + case 6279: + case 6285: + case 6291: + case 6297: + case 6303: return West::Low; + case 5984: + case 5990: + case 5996: + case 6002: + case 6008: + case 6014: + case 6020: + case 6026: + case 6032: + case 6038: + case 6044: + case 6050: + case 6056: + case 6062: + case 6068: + case 6074: + case 6080: + case 6086: + case 6092: + case 6098: + case 6104: + case 6110: + case 6116: + case 6122: + case 6128: + case 6134: + case 6140: + case 6146: + case 6152: + case 6158: + case 6164: + case 6170: + case 6176: + case 6182: + case 6188: + case 6194: + case 6200: + case 6206: + case 6212: + case 6218: + case 6224: + case 6230: + case 6236: + case 6242: + case 6248: + case 6254: + case 6260: + case 6266: + case 6272: + case 6278: + case 6284: + case 6290: + case 6296: + case 6302: return West::None; + default: return West::Tall; + } +} +} // namespace MossyCobblestoneWall +namespace MossyStoneBrickSlab +{ +BlockState MossyStoneBrickSlab() +{ + return 10804; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10804: return Type::Bottom; + case 10806: return Type::Double; + default: return Type::Top; + } +} +} // namespace MossyStoneBrickSlab +namespace MossyStoneBrickStairs +{ +BlockState MossyStoneBrickStairs() +{ + return 9840; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9870: + case 9872: + case 9874: + case 9876: + case 9878: + case 9880: + case 9882: + case 9884: + case 9886: + case 9888: return eBlockFace::BLOCK_FACE_XM; + case 9890: + case 9892: + case 9894: + case 9896: + case 9898: + case 9900: + case 9902: + case 9904: + case 9906: + case 9908: return eBlockFace::BLOCK_FACE_XP; + case 9830: + case 9832: + case 9834: + case 9836: + case 9838: + case 9840: + case 9842: + case 9844: + case 9846: + case 9848: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 9840: + case 9842: + case 9844: + case 9846: + case 9848: + case 9860: + case 9862: + case 9864: + case 9866: + case 9868: + case 9880: + case 9882: + case 9884: + case 9886: + case 9888: + case 9900: + case 9902: + case 9904: + case 9906: + case 9908: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 9832: + case 9842: + case 9852: + case 9862: + case 9872: + case 9882: + case 9892: + case 9902: return Shape::InnerLeft; + case 9834: + case 9844: + case 9854: + case 9864: + case 9874: + case 9884: + case 9894: + case 9904: return Shape::InnerRight; + case 9836: + case 9846: + case 9856: + case 9866: + case 9876: + case 9886: + case 9896: + case 9906: return Shape::OuterLeft; + case 9838: + case 9848: + case 9858: + case 9868: + case 9878: + case 9888: + case 9898: + case 9908: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace MossyStoneBrickStairs +namespace MossyStoneBrickWall +{ +BlockState MossyStoneBrickWall() +{ + return 11842; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 11950: + case 11951: + case 11952: + case 11956: + case 11957: + case 11958: + case 11962: + case 11963: + case 11964: + case 11968: + case 11969: + case 11970: + case 11974: + case 11975: + case 11976: + case 11980: + case 11981: + case 11982: + case 11986: + case 11987: + case 11988: + case 11992: + case 11993: + case 11994: + case 11998: + case 11999: + case 12000: + case 12004: + case 12005: + case 12006: + case 12010: + case 12011: + case 12012: + case 12016: + case 12017: + case 12018: + case 12022: + case 12023: + case 12024: + case 12028: + case 12029: + case 12030: + case 12034: + case 12035: + case 12036: + case 12040: + case 12041: + case 12042: + case 12046: + case 12047: + case 12048: + case 12052: + case 12053: + case 12054: return East::Low; + case 11842: + case 11843: + case 11844: + case 11848: + case 11849: + case 11850: + case 11854: + case 11855: + case 11856: + case 11860: + case 11861: + case 11862: + case 11866: + case 11867: + case 11868: + case 11872: + case 11873: + case 11874: + case 11878: + case 11879: + case 11880: + case 11884: + case 11885: + case 11886: + case 11890: + case 11891: + case 11892: + case 11896: + case 11897: + case 11898: + case 11902: + case 11903: + case 11904: + case 11908: + case 11909: + case 11910: + case 11914: + case 11915: + case 11916: + case 11920: + case 11921: + case 11922: + case 11926: + case 11927: + case 11928: + case 11932: + case 11933: + case 11934: + case 11938: + case 11939: + case 11940: + case 11944: + case 11945: + case 11946: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 11878: + case 11879: + case 11880: + case 11884: + case 11885: + case 11886: + case 11890: + case 11891: + case 11892: + case 11896: + case 11897: + case 11898: + case 11902: + case 11903: + case 11904: + case 11908: + case 11909: + case 11910: + case 11986: + case 11987: + case 11988: + case 11992: + case 11993: + case 11994: + case 11998: + case 11999: + case 12000: + case 12004: + case 12005: + case 12006: + case 12010: + case 12011: + case 12012: + case 12016: + case 12017: + case 12018: + case 12094: + case 12095: + case 12096: + case 12100: + case 12101: + case 12102: + case 12106: + case 12107: + case 12108: + case 12112: + case 12113: + case 12114: + case 12118: + case 12119: + case 12120: + case 12124: + case 12125: + case 12126: return North::Low; + case 11842: + case 11843: + case 11844: + case 11848: + case 11849: + case 11850: + case 11854: + case 11855: + case 11856: + case 11860: + case 11861: + case 11862: + case 11866: + case 11867: + case 11868: + case 11872: + case 11873: + case 11874: + case 11950: + case 11951: + case 11952: + case 11956: + case 11957: + case 11958: + case 11962: + case 11963: + case 11964: + case 11968: + case 11969: + case 11970: + case 11974: + case 11975: + case 11976: + case 11980: + case 11981: + case 11982: + case 12058: + case 12059: + case 12060: + case 12064: + case 12065: + case 12066: + case 12070: + case 12071: + case 12072: + case 12076: + case 12077: + case 12078: + case 12082: + case 12083: + case 12084: + case 12088: + case 12089: + case 12090: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 11854: + case 11855: + case 11856: + case 11860: + case 11861: + case 11862: + case 11890: + case 11891: + case 11892: + case 11896: + case 11897: + case 11898: + case 11926: + case 11927: + case 11928: + case 11932: + case 11933: + case 11934: + case 11962: + case 11963: + case 11964: + case 11968: + case 11969: + case 11970: + case 11998: + case 11999: + case 12000: + case 12004: + case 12005: + case 12006: + case 12034: + case 12035: + case 12036: + case 12040: + case 12041: + case 12042: + case 12070: + case 12071: + case 12072: + case 12076: + case 12077: + case 12078: + case 12106: + case 12107: + case 12108: + case 12112: + case 12113: + case 12114: + case 12142: + case 12143: + case 12144: + case 12148: + case 12149: + case 12150: return South::Low; + case 11842: + case 11843: + case 11844: + case 11848: + case 11849: + case 11850: + case 11878: + case 11879: + case 11880: + case 11884: + case 11885: + case 11886: + case 11914: + case 11915: + case 11916: + case 11920: + case 11921: + case 11922: + case 11950: + case 11951: + case 11952: + case 11956: + case 11957: + case 11958: + case 11986: + case 11987: + case 11988: + case 11992: + case 11993: + case 11994: + case 12022: + case 12023: + case 12024: + case 12028: + case 12029: + case 12030: + case 12058: + case 12059: + case 12060: + case 12064: + case 12065: + case 12066: + case 12094: + case 12095: + case 12096: + case 12100: + case 12101: + case 12102: + case 12130: + case 12131: + case 12132: + case 12136: + case 12137: + case 12138: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 11848: + case 11849: + case 11850: + case 11860: + case 11861: + case 11862: + case 11872: + case 11873: + case 11874: + case 11884: + case 11885: + case 11886: + case 11896: + case 11897: + case 11898: + case 11908: + case 11909: + case 11910: + case 11920: + case 11921: + case 11922: + case 11932: + case 11933: + case 11934: + case 11944: + case 11945: + case 11946: + case 11956: + case 11957: + case 11958: + case 11968: + case 11969: + case 11970: + case 11980: + case 11981: + case 11982: + case 11992: + case 11993: + case 11994: + case 12004: + case 12005: + case 12006: + case 12016: + case 12017: + case 12018: + case 12028: + case 12029: + case 12030: + case 12040: + case 12041: + case 12042: + case 12052: + case 12053: + case 12054: + case 12064: + case 12065: + case 12066: + case 12076: + case 12077: + case 12078: + case 12088: + case 12089: + case 12090: + case 12100: + case 12101: + case 12102: + case 12112: + case 12113: + case 12114: + case 12124: + case 12125: + case 12126: + case 12136: + case 12137: + case 12138: + case 12148: + case 12149: + case 12150: + case 12160: + case 12161: + case 12162: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 11843: + case 11849: + case 11855: + case 11861: + case 11867: + case 11873: + case 11879: + case 11885: + case 11891: + case 11897: + case 11903: + case 11909: + case 11915: + case 11921: + case 11927: + case 11933: + case 11939: + case 11945: + case 11951: + case 11957: + case 11963: + case 11969: + case 11975: + case 11981: + case 11987: + case 11993: + case 11999: + case 12005: + case 12011: + case 12017: + case 12023: + case 12029: + case 12035: + case 12041: + case 12047: + case 12053: + case 12059: + case 12065: + case 12071: + case 12077: + case 12083: + case 12089: + case 12095: + case 12101: + case 12107: + case 12113: + case 12119: + case 12125: + case 12131: + case 12137: + case 12143: + case 12149: + case 12155: + case 12161: return West::Low; + case 11842: + case 11848: + case 11854: + case 11860: + case 11866: + case 11872: + case 11878: + case 11884: + case 11890: + case 11896: + case 11902: + case 11908: + case 11914: + case 11920: + case 11926: + case 11932: + case 11938: + case 11944: + case 11950: + case 11956: + case 11962: + case 11968: + case 11974: + case 11980: + case 11986: + case 11992: + case 11998: + case 12004: + case 12010: + case 12016: + case 12022: + case 12028: + case 12034: + case 12040: + case 12046: + case 12052: + case 12058: + case 12064: + case 12070: + case 12076: + case 12082: + case 12088: + case 12094: + case 12100: + case 12106: + case 12112: + case 12118: + case 12124: + case 12130: + case 12136: + case 12142: + case 12148: + case 12154: + case 12160: return West::None; + default: return West::Tall; + } +} +} // namespace MossyStoneBrickWall +namespace MossyStoneBricks +{ +} +namespace MovingPiston +{ +BlockState MovingPiston() +{ + return 1400; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1406: + case 1407: return eBlockFace::BLOCK_FACE_XM; + case 1402: + case 1403: return eBlockFace::BLOCK_FACE_XP; + case 1410: + case 1411: return eBlockFace::BLOCK_FACE_YM; + case 1408: + case 1409: return eBlockFace::BLOCK_FACE_YP; + case 1400: + case 1401: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 1400: + case 1402: + case 1404: + case 1406: + case 1408: + case 1410: return Type::Normal; + default: return Type::Sticky; + } +} +} // namespace MovingPiston +namespace MushroomStem +{ +BlockState MushroomStem() +{ + return 4633; +} +bool Down(const BlockState Block) +{ + switch (Block.ID) + { + case 4665: + case 4666: + case 4667: + case 4668: + case 4669: + case 4670: + case 4671: + case 4672: + case 4673: + case 4674: + case 4675: + case 4676: + case 4677: + case 4678: + case 4679: + case 4680: + case 4681: + case 4682: + case 4683: + case 4684: + case 4685: + case 4686: + case 4687: + case 4688: + case 4689: + case 4690: + case 4691: + case 4692: + case 4693: + case 4694: + case 4695: + case 4696: return false; + default: return true; + } +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 4649: + case 4650: + case 4651: + case 4652: + case 4653: + case 4654: + case 4655: + case 4656: + case 4657: + case 4658: + case 4659: + case 4660: + case 4661: + case 4662: + case 4663: + case 4664: + case 4681: + case 4682: + case 4683: + case 4684: + case 4685: + case 4686: + case 4687: + case 4688: + case 4689: + case 4690: + case 4691: + case 4692: + case 4693: + case 4694: + case 4695: + case 4696: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 4641: + case 4642: + case 4643: + case 4644: + case 4645: + case 4646: + case 4647: + case 4648: + case 4657: + case 4658: + case 4659: + case 4660: + case 4661: + case 4662: + case 4663: + case 4664: + case 4673: + case 4674: + case 4675: + case 4676: + case 4677: + case 4678: + case 4679: + case 4680: + case 4689: + case 4690: + case 4691: + case 4692: + case 4693: + case 4694: + case 4695: + case 4696: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 4637: + case 4638: + case 4639: + case 4640: + case 4645: + case 4646: + case 4647: + case 4648: + case 4653: + case 4654: + case 4655: + case 4656: + case 4661: + case 4662: + case 4663: + case 4664: + case 4669: + case 4670: + case 4671: + case 4672: + case 4677: + case 4678: + case 4679: + case 4680: + case 4685: + case 4686: + case 4687: + case 4688: + case 4693: + case 4694: + case 4695: + case 4696: return false; + default: return true; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 4635: + case 4636: + case 4639: + case 4640: + case 4643: + case 4644: + case 4647: + case 4648: + case 4651: + case 4652: + case 4655: + case 4656: + case 4659: + case 4660: + case 4663: + case 4664: + case 4667: + case 4668: + case 4671: + case 4672: + case 4675: + case 4676: + case 4679: + case 4680: + case 4683: + case 4684: + case 4687: + case 4688: + case 4691: + case 4692: + case 4695: + case 4696: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 4634: + case 4636: + case 4638: + case 4640: + case 4642: + case 4644: + case 4646: + case 4648: + case 4650: + case 4652: + case 4654: + case 4656: + case 4658: + case 4660: + case 4662: + case 4664: + case 4666: + case 4668: + case 4670: + case 4672: + case 4674: + case 4676: + case 4678: + case 4680: + case 4682: + case 4684: + case 4686: + case 4688: + case 4690: + case 4692: + case 4694: + case 4696: return false; + default: return true; + } +} +} // namespace MushroomStem +namespace Mycelium +{ +BlockState Mycelium() +{ + return 5013; +} +bool Snowy(const BlockState Block) +{ + switch (Block.ID) + { + case 5013: return false; + default: return true; + } +} +} // namespace Mycelium +namespace NetherBrickFence +{ +BlockState NetherBrickFence() +{ + return 5047; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 5034: + case 5035: + case 5038: + case 5039: + case 5042: + case 5043: + case 5046: + case 5047: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 5026: + case 5027: + case 5030: + case 5031: + case 5042: + case 5043: + case 5046: + case 5047: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 5022: + case 5023: + case 5030: + case 5031: + case 5038: + case 5039: + case 5046: + case 5047: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 5019: + case 5023: + case 5027: + case 5031: + case 5035: + case 5039: + case 5043: + case 5047: return false; + default: return true; + } +} +} // namespace NetherBrickFence +namespace NetherBrickSlab +{ +BlockState NetherBrickSlab() +{ + return 8387; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8387: return Type::Bottom; + case 8389: return Type::Double; + default: return Type::Top; + } +} +} // namespace NetherBrickSlab +namespace NetherBrickStairs +{ +BlockState NetherBrickStairs() +{ + return 5059; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5089: + case 5091: + case 5093: + case 5095: + case 5097: + case 5099: + case 5101: + case 5103: + case 5105: + case 5107: return eBlockFace::BLOCK_FACE_XM; + case 5109: + case 5111: + case 5113: + case 5115: + case 5117: + case 5119: + case 5121: + case 5123: + case 5125: + case 5127: return eBlockFace::BLOCK_FACE_XP; + case 5049: + case 5051: + case 5053: + case 5055: + case 5057: + case 5059: + case 5061: + case 5063: + case 5065: + case 5067: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 5059: + case 5061: + case 5063: + case 5065: + case 5067: + case 5079: + case 5081: + case 5083: + case 5085: + case 5087: + case 5099: + case 5101: + case 5103: + case 5105: + case 5107: + case 5119: + case 5121: + case 5123: + case 5125: + case 5127: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 5051: + case 5061: + case 5071: + case 5081: + case 5091: + case 5101: + case 5111: + case 5121: return Shape::InnerLeft; + case 5053: + case 5063: + case 5073: + case 5083: + case 5093: + case 5103: + case 5113: + case 5123: return Shape::InnerRight; + case 5055: + case 5065: + case 5075: + case 5085: + case 5095: + case 5105: + case 5115: + case 5125: return Shape::OuterLeft; + case 5057: + case 5067: + case 5077: + case 5087: + case 5097: + case 5107: + case 5117: + case 5127: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace NetherBrickStairs +namespace NetherBrickWall +{ +BlockState NetherBrickWall() +{ + return 12814; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 12922: + case 12923: + case 12924: + case 12928: + case 12929: + case 12930: + case 12934: + case 12935: + case 12936: + case 12940: + case 12941: + case 12942: + case 12946: + case 12947: + case 12948: + case 12952: + case 12953: + case 12954: + case 12958: + case 12959: + case 12960: + case 12964: + case 12965: + case 12966: + case 12970: + case 12971: + case 12972: + case 12976: + case 12977: + case 12978: + case 12982: + case 12983: + case 12984: + case 12988: + case 12989: + case 12990: + case 12994: + case 12995: + case 12996: + case 13000: + case 13001: + case 13002: + case 13006: + case 13007: + case 13008: + case 13012: + case 13013: + case 13014: + case 13018: + case 13019: + case 13020: + case 13024: + case 13025: + case 13026: return East::Low; + case 12814: + case 12815: + case 12816: + case 12820: + case 12821: + case 12822: + case 12826: + case 12827: + case 12828: + case 12832: + case 12833: + case 12834: + case 12838: + case 12839: + case 12840: + case 12844: + case 12845: + case 12846: + case 12850: + case 12851: + case 12852: + case 12856: + case 12857: + case 12858: + case 12862: + case 12863: + case 12864: + case 12868: + case 12869: + case 12870: + case 12874: + case 12875: + case 12876: + case 12880: + case 12881: + case 12882: + case 12886: + case 12887: + case 12888: + case 12892: + case 12893: + case 12894: + case 12898: + case 12899: + case 12900: + case 12904: + case 12905: + case 12906: + case 12910: + case 12911: + case 12912: + case 12916: + case 12917: + case 12918: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 12850: + case 12851: + case 12852: + case 12856: + case 12857: + case 12858: + case 12862: + case 12863: + case 12864: + case 12868: + case 12869: + case 12870: + case 12874: + case 12875: + case 12876: + case 12880: + case 12881: + case 12882: + case 12958: + case 12959: + case 12960: + case 12964: + case 12965: + case 12966: + case 12970: + case 12971: + case 12972: + case 12976: + case 12977: + case 12978: + case 12982: + case 12983: + case 12984: + case 12988: + case 12989: + case 12990: + case 13066: + case 13067: + case 13068: + case 13072: + case 13073: + case 13074: + case 13078: + case 13079: + case 13080: + case 13084: + case 13085: + case 13086: + case 13090: + case 13091: + case 13092: + case 13096: + case 13097: + case 13098: return North::Low; + case 12814: + case 12815: + case 12816: + case 12820: + case 12821: + case 12822: + case 12826: + case 12827: + case 12828: + case 12832: + case 12833: + case 12834: + case 12838: + case 12839: + case 12840: + case 12844: + case 12845: + case 12846: + case 12922: + case 12923: + case 12924: + case 12928: + case 12929: + case 12930: + case 12934: + case 12935: + case 12936: + case 12940: + case 12941: + case 12942: + case 12946: + case 12947: + case 12948: + case 12952: + case 12953: + case 12954: + case 13030: + case 13031: + case 13032: + case 13036: + case 13037: + case 13038: + case 13042: + case 13043: + case 13044: + case 13048: + case 13049: + case 13050: + case 13054: + case 13055: + case 13056: + case 13060: + case 13061: + case 13062: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 12826: + case 12827: + case 12828: + case 12832: + case 12833: + case 12834: + case 12862: + case 12863: + case 12864: + case 12868: + case 12869: + case 12870: + case 12898: + case 12899: + case 12900: + case 12904: + case 12905: + case 12906: + case 12934: + case 12935: + case 12936: + case 12940: + case 12941: + case 12942: + case 12970: + case 12971: + case 12972: + case 12976: + case 12977: + case 12978: + case 13006: + case 13007: + case 13008: + case 13012: + case 13013: + case 13014: + case 13042: + case 13043: + case 13044: + case 13048: + case 13049: + case 13050: + case 13078: + case 13079: + case 13080: + case 13084: + case 13085: + case 13086: + case 13114: + case 13115: + case 13116: + case 13120: + case 13121: + case 13122: return South::Low; + case 12814: + case 12815: + case 12816: + case 12820: + case 12821: + case 12822: + case 12850: + case 12851: + case 12852: + case 12856: + case 12857: + case 12858: + case 12886: + case 12887: + case 12888: + case 12892: + case 12893: + case 12894: + case 12922: + case 12923: + case 12924: + case 12928: + case 12929: + case 12930: + case 12958: + case 12959: + case 12960: + case 12964: + case 12965: + case 12966: + case 12994: + case 12995: + case 12996: + case 13000: + case 13001: + case 13002: + case 13030: + case 13031: + case 13032: + case 13036: + case 13037: + case 13038: + case 13066: + case 13067: + case 13068: + case 13072: + case 13073: + case 13074: + case 13102: + case 13103: + case 13104: + case 13108: + case 13109: + case 13110: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 12820: + case 12821: + case 12822: + case 12832: + case 12833: + case 12834: + case 12844: + case 12845: + case 12846: + case 12856: + case 12857: + case 12858: + case 12868: + case 12869: + case 12870: + case 12880: + case 12881: + case 12882: + case 12892: + case 12893: + case 12894: + case 12904: + case 12905: + case 12906: + case 12916: + case 12917: + case 12918: + case 12928: + case 12929: + case 12930: + case 12940: + case 12941: + case 12942: + case 12952: + case 12953: + case 12954: + case 12964: + case 12965: + case 12966: + case 12976: + case 12977: + case 12978: + case 12988: + case 12989: + case 12990: + case 13000: + case 13001: + case 13002: + case 13012: + case 13013: + case 13014: + case 13024: + case 13025: + case 13026: + case 13036: + case 13037: + case 13038: + case 13048: + case 13049: + case 13050: + case 13060: + case 13061: + case 13062: + case 13072: + case 13073: + case 13074: + case 13084: + case 13085: + case 13086: + case 13096: + case 13097: + case 13098: + case 13108: + case 13109: + case 13110: + case 13120: + case 13121: + case 13122: + case 13132: + case 13133: + case 13134: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 12815: + case 12821: + case 12827: + case 12833: + case 12839: + case 12845: + case 12851: + case 12857: + case 12863: + case 12869: + case 12875: + case 12881: + case 12887: + case 12893: + case 12899: + case 12905: + case 12911: + case 12917: + case 12923: + case 12929: + case 12935: + case 12941: + case 12947: + case 12953: + case 12959: + case 12965: + case 12971: + case 12977: + case 12983: + case 12989: + case 12995: + case 13001: + case 13007: + case 13013: + case 13019: + case 13025: + case 13031: + case 13037: + case 13043: + case 13049: + case 13055: + case 13061: + case 13067: + case 13073: + case 13079: + case 13085: + case 13091: + case 13097: + case 13103: + case 13109: + case 13115: + case 13121: + case 13127: + case 13133: return West::Low; + case 12814: + case 12820: + case 12826: + case 12832: + case 12838: + case 12844: + case 12850: + case 12856: + case 12862: + case 12868: + case 12874: + case 12880: + case 12886: + case 12892: + case 12898: + case 12904: + case 12910: + case 12916: + case 12922: + case 12928: + case 12934: + case 12940: + case 12946: + case 12952: + case 12958: + case 12964: + case 12970: + case 12976: + case 12982: + case 12988: + case 12994: + case 13000: + case 13006: + case 13012: + case 13018: + case 13024: + case 13030: + case 13036: + case 13042: + case 13048: + case 13054: + case 13060: + case 13066: + case 13072: + case 13078: + case 13084: + case 13090: + case 13096: + case 13102: + case 13108: + case 13114: + case 13120: + case 13126: + case 13132: return West::None; + default: return West::Tall; + } +} +} // namespace NetherBrickWall +namespace NetherBricks +{ +} +namespace NetherGoldOre +{ +} +namespace NetherPortal +{ +BlockState NetherPortal() +{ + return 4014; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 4014: return Axis::X; + default: return Axis::Z; + } +} +} // namespace NetherPortal +namespace NetherQuartzOre +{ +} +namespace NetherSprouts +{ +} +namespace NetherWart +{ +BlockState NetherWart() +{ + return 5128; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 5128: return 0; + case 5129: return 1; + case 5130: return 2; + default: return 3; + } +} +} // namespace NetherWart +namespace NetherWartBlock +{ +} +namespace NetheriteBlock +{ +} +namespace Netherrack +{ +} +namespace NoteBlock +{ +BlockState NoteBlock() +{ + return 250; +} +enum Instrument Instrument(const BlockState Block) +{ + switch (Block.ID) + { + case 949: + case 950: + case 951: + case 952: + case 953: + case 954: + case 955: + case 956: + case 957: + case 958: + case 959: + case 960: + case 961: + case 962: + case 963: + case 964: + case 965: + case 966: + case 967: + case 968: + case 969: + case 970: + case 971: + case 972: + case 973: + case 974: + case 975: + case 976: + case 977: + case 978: + case 979: + case 980: + case 981: + case 982: + case 983: + case 984: + case 985: + case 986: + case 987: + case 988: + case 989: + case 990: + case 991: + case 992: + case 993: + case 994: + case 995: + case 996: + case 997: + case 998: return Instrument::Banjo; + case 299: + case 300: + case 301: + case 302: + case 303: + case 304: + case 305: + case 306: + case 307: + case 308: + case 309: + case 310: + case 311: + case 312: + case 313: + case 314: + case 315: + case 316: + case 317: + case 318: + case 319: + case 320: + case 321: + case 322: + case 323: + case 324: + case 325: + case 326: + case 327: + case 328: + case 329: + case 330: + case 331: + case 332: + case 333: + case 334: + case 335: + case 336: + case 337: + case 338: + case 339: + case 340: + case 341: + case 342: + case 343: + case 344: + case 345: + case 346: + case 347: + case 348: return Instrument::Basedrum; + case 449: + case 450: + case 451: + case 452: + case 453: + case 454: + case 455: + case 456: + case 457: + case 458: + case 459: + case 460: + case 461: + case 462: + case 463: + case 464: + case 465: + case 466: + case 467: + case 468: + case 469: + case 470: + case 471: + case 472: + case 473: + case 474: + case 475: + case 476: + case 477: + case 478: + case 479: + case 480: + case 481: + case 482: + case 483: + case 484: + case 485: + case 486: + case 487: + case 488: + case 489: + case 490: + case 491: + case 492: + case 493: + case 494: + case 495: + case 496: + case 497: + case 498: return Instrument::Bass; + case 549: + case 550: + case 551: + case 552: + case 553: + case 554: + case 555: + case 556: + case 557: + case 558: + case 559: + case 560: + case 561: + case 562: + case 563: + case 564: + case 565: + case 566: + case 567: + case 568: + case 569: + case 570: + case 571: + case 572: + case 573: + case 574: + case 575: + case 576: + case 577: + case 578: + case 579: + case 580: + case 581: + case 582: + case 583: + case 584: + case 585: + case 586: + case 587: + case 588: + case 589: + case 590: + case 591: + case 592: + case 593: + case 594: + case 595: + case 596: + case 597: + case 598: return Instrument::Bell; + case 899: + case 900: + case 901: + case 902: + case 903: + case 904: + case 905: + case 906: + case 907: + case 908: + case 909: + case 910: + case 911: + case 912: + case 913: + case 914: + case 915: + case 916: + case 917: + case 918: + case 919: + case 920: + case 921: + case 922: + case 923: + case 924: + case 925: + case 926: + case 927: + case 928: + case 929: + case 930: + case 931: + case 932: + case 933: + case 934: + case 935: + case 936: + case 937: + case 938: + case 939: + case 940: + case 941: + case 942: + case 943: + case 944: + case 945: + case 946: + case 947: + case 948: return Instrument::Bit; + case 649: + case 650: + case 651: + case 652: + case 653: + case 654: + case 655: + case 656: + case 657: + case 658: + case 659: + case 660: + case 661: + case 662: + case 663: + case 664: + case 665: + case 666: + case 667: + case 668: + case 669: + case 670: + case 671: + case 672: + case 673: + case 674: + case 675: + case 676: + case 677: + case 678: + case 679: + case 680: + case 681: + case 682: + case 683: + case 684: + case 685: + case 686: + case 687: + case 688: + case 689: + case 690: + case 691: + case 692: + case 693: + case 694: + case 695: + case 696: + case 697: + case 698: return Instrument::Chime; + case 799: + case 800: + case 801: + case 802: + case 803: + case 804: + case 805: + case 806: + case 807: + case 808: + case 809: + case 810: + case 811: + case 812: + case 813: + case 814: + case 815: + case 816: + case 817: + case 818: + case 819: + case 820: + case 821: + case 822: + case 823: + case 824: + case 825: + case 826: + case 827: + case 828: + case 829: + case 830: + case 831: + case 832: + case 833: + case 834: + case 835: + case 836: + case 837: + case 838: + case 839: + case 840: + case 841: + case 842: + case 843: + case 844: + case 845: + case 846: + case 847: + case 848: return Instrument::CowBell; + case 849: + case 850: + case 851: + case 852: + case 853: + case 854: + case 855: + case 856: + case 857: + case 858: + case 859: + case 860: + case 861: + case 862: + case 863: + case 864: + case 865: + case 866: + case 867: + case 868: + case 869: + case 870: + case 871: + case 872: + case 873: + case 874: + case 875: + case 876: + case 877: + case 878: + case 879: + case 880: + case 881: + case 882: + case 883: + case 884: + case 885: + case 886: + case 887: + case 888: + case 889: + case 890: + case 891: + case 892: + case 893: + case 894: + case 895: + case 896: + case 897: + case 898: return Instrument::Didgeridoo; + case 499: + case 500: + case 501: + case 502: + case 503: + case 504: + case 505: + case 506: + case 507: + case 508: + case 509: + case 510: + case 511: + case 512: + case 513: + case 514: + case 515: + case 516: + case 517: + case 518: + case 519: + case 520: + case 521: + case 522: + case 523: + case 524: + case 525: + case 526: + case 527: + case 528: + case 529: + case 530: + case 531: + case 532: + case 533: + case 534: + case 535: + case 536: + case 537: + case 538: + case 539: + case 540: + case 541: + case 542: + case 543: + case 544: + case 545: + case 546: + case 547: + case 548: return Instrument::Flute; + case 599: + case 600: + case 601: + case 602: + case 603: + case 604: + case 605: + case 606: + case 607: + case 608: + case 609: + case 610: + case 611: + case 612: + case 613: + case 614: + case 615: + case 616: + case 617: + case 618: + case 619: + case 620: + case 621: + case 622: + case 623: + case 624: + case 625: + case 626: + case 627: + case 628: + case 629: + case 630: + case 631: + case 632: + case 633: + case 634: + case 635: + case 636: + case 637: + case 638: + case 639: + case 640: + case 641: + case 642: + case 643: + case 644: + case 645: + case 646: + case 647: + case 648: return Instrument::Guitar; + case 249: + case 250: + case 251: + case 252: + case 253: + case 254: + case 255: + case 256: + case 257: + case 258: + case 259: + case 260: + case 261: + case 262: + case 263: + case 264: + case 265: + case 266: + case 267: + case 268: + case 269: + case 270: + case 271: + case 272: + case 273: + case 274: + case 275: + case 276: + case 277: + case 278: + case 279: + case 280: + case 281: + case 282: + case 283: + case 284: + case 285: + case 286: + case 287: + case 288: + case 289: + case 290: + case 291: + case 292: + case 293: + case 294: + case 295: + case 296: + case 297: + case 298: return Instrument::Harp; + case 399: + case 400: + case 401: + case 402: + case 403: + case 404: + case 405: + case 406: + case 407: + case 408: + case 409: + case 410: + case 411: + case 412: + case 413: + case 414: + case 415: + case 416: + case 417: + case 418: + case 419: + case 420: + case 421: + case 422: + case 423: + case 424: + case 425: + case 426: + case 427: + case 428: + case 429: + case 430: + case 431: + case 432: + case 433: + case 434: + case 435: + case 436: + case 437: + case 438: + case 439: + case 440: + case 441: + case 442: + case 443: + case 444: + case 445: + case 446: + case 447: + case 448: return Instrument::Hat; + case 749: + case 750: + case 751: + case 752: + case 753: + case 754: + case 755: + case 756: + case 757: + case 758: + case 759: + case 760: + case 761: + case 762: + case 763: + case 764: + case 765: + case 766: + case 767: + case 768: + case 769: + case 770: + case 771: + case 772: + case 773: + case 774: + case 775: + case 776: + case 777: + case 778: + case 779: + case 780: + case 781: + case 782: + case 783: + case 784: + case 785: + case 786: + case 787: + case 788: + case 789: + case 790: + case 791: + case 792: + case 793: + case 794: + case 795: + case 796: + case 797: + case 798: return Instrument::IronXylophone; + case 999: + case 1000: + case 1001: + case 1002: + case 1003: + case 1004: + case 1005: + case 1006: + case 1007: + case 1008: + case 1009: + case 1010: + case 1011: + case 1012: + case 1013: + case 1014: + case 1015: + case 1016: + case 1017: + case 1018: + case 1019: + case 1020: + case 1021: + case 1022: + case 1023: + case 1024: + case 1025: + case 1026: + case 1027: + case 1028: + case 1029: + case 1030: + case 1031: + case 1032: + case 1033: + case 1034: + case 1035: + case 1036: + case 1037: + case 1038: + case 1039: + case 1040: + case 1041: + case 1042: + case 1043: + case 1044: + case 1045: + case 1046: + case 1047: + case 1048: return Instrument::Pling; + case 349: + case 350: + case 351: + case 352: + case 353: + case 354: + case 355: + case 356: + case 357: + case 358: + case 359: + case 360: + case 361: + case 362: + case 363: + case 364: + case 365: + case 366: + case 367: + case 368: + case 369: + case 370: + case 371: + case 372: + case 373: + case 374: + case 375: + case 376: + case 377: + case 378: + case 379: + case 380: + case 381: + case 382: + case 383: + case 384: + case 385: + case 386: + case 387: + case 388: + case 389: + case 390: + case 391: + case 392: + case 393: + case 394: + case 395: + case 396: + case 397: + case 398: return Instrument::Snare; + default: return Instrument::Xylophone; + } +} +unsigned char Note(const BlockState Block) +{ + switch (Block.ID) + { + case 249: + case 250: + case 299: + case 300: + case 349: + case 350: + case 399: + case 400: + case 449: + case 450: + case 499: + case 500: + case 549: + case 550: + case 599: + case 600: + case 649: + case 650: + case 699: + case 700: + case 749: + case 750: + case 799: + case 800: + case 849: + case 850: + case 899: + case 900: + case 949: + case 950: + case 999: + case 1000: return 0; + case 251: + case 252: + case 301: + case 302: + case 351: + case 352: + case 401: + case 402: + case 451: + case 452: + case 501: + case 502: + case 551: + case 552: + case 601: + case 602: + case 651: + case 652: + case 701: + case 702: + case 751: + case 752: + case 801: + case 802: + case 851: + case 852: + case 901: + case 902: + case 951: + case 952: + case 1001: + case 1002: return 1; + case 269: + case 270: + case 319: + case 320: + case 369: + case 370: + case 419: + case 420: + case 469: + case 470: + case 519: + case 520: + case 569: + case 570: + case 619: + case 620: + case 669: + case 670: + case 719: + case 720: + case 769: + case 770: + case 819: + case 820: + case 869: + case 870: + case 919: + case 920: + case 969: + case 970: + case 1019: + case 1020: return 10; + case 271: + case 272: + case 321: + case 322: + case 371: + case 372: + case 421: + case 422: + case 471: + case 472: + case 521: + case 522: + case 571: + case 572: + case 621: + case 622: + case 671: + case 672: + case 721: + case 722: + case 771: + case 772: + case 821: + case 822: + case 871: + case 872: + case 921: + case 922: + case 971: + case 972: + case 1021: + case 1022: return 11; + case 273: + case 274: + case 323: + case 324: + case 373: + case 374: + case 423: + case 424: + case 473: + case 474: + case 523: + case 524: + case 573: + case 574: + case 623: + case 624: + case 673: + case 674: + case 723: + case 724: + case 773: + case 774: + case 823: + case 824: + case 873: + case 874: + case 923: + case 924: + case 973: + case 974: + case 1023: + case 1024: return 12; + case 275: + case 276: + case 325: + case 326: + case 375: + case 376: + case 425: + case 426: + case 475: + case 476: + case 525: + case 526: + case 575: + case 576: + case 625: + case 626: + case 675: + case 676: + case 725: + case 726: + case 775: + case 776: + case 825: + case 826: + case 875: + case 876: + case 925: + case 926: + case 975: + case 976: + case 1025: + case 1026: return 13; + case 277: + case 278: + case 327: + case 328: + case 377: + case 378: + case 427: + case 428: + case 477: + case 478: + case 527: + case 528: + case 577: + case 578: + case 627: + case 628: + case 677: + case 678: + case 727: + case 728: + case 777: + case 778: + case 827: + case 828: + case 877: + case 878: + case 927: + case 928: + case 977: + case 978: + case 1027: + case 1028: return 14; + case 279: + case 280: + case 329: + case 330: + case 379: + case 380: + case 429: + case 430: + case 479: + case 480: + case 529: + case 530: + case 579: + case 580: + case 629: + case 630: + case 679: + case 680: + case 729: + case 730: + case 779: + case 780: + case 829: + case 830: + case 879: + case 880: + case 929: + case 930: + case 979: + case 980: + case 1029: + case 1030: return 15; + case 281: + case 282: + case 331: + case 332: + case 381: + case 382: + case 431: + case 432: + case 481: + case 482: + case 531: + case 532: + case 581: + case 582: + case 631: + case 632: + case 681: + case 682: + case 731: + case 732: + case 781: + case 782: + case 831: + case 832: + case 881: + case 882: + case 931: + case 932: + case 981: + case 982: + case 1031: + case 1032: return 16; + case 283: + case 284: + case 333: + case 334: + case 383: + case 384: + case 433: + case 434: + case 483: + case 484: + case 533: + case 534: + case 583: + case 584: + case 633: + case 634: + case 683: + case 684: + case 733: + case 734: + case 783: + case 784: + case 833: + case 834: + case 883: + case 884: + case 933: + case 934: + case 983: + case 984: + case 1033: + case 1034: return 17; + case 285: + case 286: + case 335: + case 336: + case 385: + case 386: + case 435: + case 436: + case 485: + case 486: + case 535: + case 536: + case 585: + case 586: + case 635: + case 636: + case 685: + case 686: + case 735: + case 736: + case 785: + case 786: + case 835: + case 836: + case 885: + case 886: + case 935: + case 936: + case 985: + case 986: + case 1035: + case 1036: return 18; + case 287: + case 288: + case 337: + case 338: + case 387: + case 388: + case 437: + case 438: + case 487: + case 488: + case 537: + case 538: + case 587: + case 588: + case 637: + case 638: + case 687: + case 688: + case 737: + case 738: + case 787: + case 788: + case 837: + case 838: + case 887: + case 888: + case 937: + case 938: + case 987: + case 988: + case 1037: + case 1038: return 19; + case 253: + case 254: + case 303: + case 304: + case 353: + case 354: + case 403: + case 404: + case 453: + case 454: + case 503: + case 504: + case 553: + case 554: + case 603: + case 604: + case 653: + case 654: + case 703: + case 704: + case 753: + case 754: + case 803: + case 804: + case 853: + case 854: + case 903: + case 904: + case 953: + case 954: + case 1003: + case 1004: return 2; + case 289: + case 290: + case 339: + case 340: + case 389: + case 390: + case 439: + case 440: + case 489: + case 490: + case 539: + case 540: + case 589: + case 590: + case 639: + case 640: + case 689: + case 690: + case 739: + case 740: + case 789: + case 790: + case 839: + case 840: + case 889: + case 890: + case 939: + case 940: + case 989: + case 990: + case 1039: + case 1040: return 20; + case 291: + case 292: + case 341: + case 342: + case 391: + case 392: + case 441: + case 442: + case 491: + case 492: + case 541: + case 542: + case 591: + case 592: + case 641: + case 642: + case 691: + case 692: + case 741: + case 742: + case 791: + case 792: + case 841: + case 842: + case 891: + case 892: + case 941: + case 942: + case 991: + case 992: + case 1041: + case 1042: return 21; + case 293: + case 294: + case 343: + case 344: + case 393: + case 394: + case 443: + case 444: + case 493: + case 494: + case 543: + case 544: + case 593: + case 594: + case 643: + case 644: + case 693: + case 694: + case 743: + case 744: + case 793: + case 794: + case 843: + case 844: + case 893: + case 894: + case 943: + case 944: + case 993: + case 994: + case 1043: + case 1044: return 22; + case 295: + case 296: + case 345: + case 346: + case 395: + case 396: + case 445: + case 446: + case 495: + case 496: + case 545: + case 546: + case 595: + case 596: + case 645: + case 646: + case 695: + case 696: + case 745: + case 746: + case 795: + case 796: + case 845: + case 846: + case 895: + case 896: + case 945: + case 946: + case 995: + case 996: + case 1045: + case 1046: return 23; + case 297: + case 298: + case 347: + case 348: + case 397: + case 398: + case 447: + case 448: + case 497: + case 498: + case 547: + case 548: + case 597: + case 598: + case 647: + case 648: + case 697: + case 698: + case 747: + case 748: + case 797: + case 798: + case 847: + case 848: + case 897: + case 898: + case 947: + case 948: + case 997: + case 998: + case 1047: + case 1048: return 24; + case 255: + case 256: + case 305: + case 306: + case 355: + case 356: + case 405: + case 406: + case 455: + case 456: + case 505: + case 506: + case 555: + case 556: + case 605: + case 606: + case 655: + case 656: + case 705: + case 706: + case 755: + case 756: + case 805: + case 806: + case 855: + case 856: + case 905: + case 906: + case 955: + case 956: + case 1005: + case 1006: return 3; + case 257: + case 258: + case 307: + case 308: + case 357: + case 358: + case 407: + case 408: + case 457: + case 458: + case 507: + case 508: + case 557: + case 558: + case 607: + case 608: + case 657: + case 658: + case 707: + case 708: + case 757: + case 758: + case 807: + case 808: + case 857: + case 858: + case 907: + case 908: + case 957: + case 958: + case 1007: + case 1008: return 4; + case 259: + case 260: + case 309: + case 310: + case 359: + case 360: + case 409: + case 410: + case 459: + case 460: + case 509: + case 510: + case 559: + case 560: + case 609: + case 610: + case 659: + case 660: + case 709: + case 710: + case 759: + case 760: + case 809: + case 810: + case 859: + case 860: + case 909: + case 910: + case 959: + case 960: + case 1009: + case 1010: return 5; + case 261: + case 262: + case 311: + case 312: + case 361: + case 362: + case 411: + case 412: + case 461: + case 462: + case 511: + case 512: + case 561: + case 562: + case 611: + case 612: + case 661: + case 662: + case 711: + case 712: + case 761: + case 762: + case 811: + case 812: + case 861: + case 862: + case 911: + case 912: + case 961: + case 962: + case 1011: + case 1012: return 6; + case 263: + case 264: + case 313: + case 314: + case 363: + case 364: + case 413: + case 414: + case 463: + case 464: + case 513: + case 514: + case 563: + case 564: + case 613: + case 614: + case 663: + case 664: + case 713: + case 714: + case 763: + case 764: + case 813: + case 814: + case 863: + case 864: + case 913: + case 914: + case 963: + case 964: + case 1013: + case 1014: return 7; + case 265: + case 266: + case 315: + case 316: + case 365: + case 366: + case 415: + case 416: + case 465: + case 466: + case 515: + case 516: + case 565: + case 566: + case 615: + case 616: + case 665: + case 666: + case 715: + case 716: + case 765: + case 766: + case 815: + case 816: + case 865: + case 866: + case 915: + case 916: + case 965: + case 966: + case 1015: + case 1016: return 8; + default: return 9; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 250: + case 252: + case 254: + case 256: + case 258: + case 260: + case 262: + case 264: + case 266: + case 268: + case 270: + case 272: + case 274: + case 276: + case 278: + case 280: + case 282: + case 284: + case 286: + case 288: + case 290: + case 292: + case 294: + case 296: + case 298: + case 300: + case 302: + case 304: + case 306: + case 308: + case 310: + case 312: + case 314: + case 316: + case 318: + case 320: + case 322: + case 324: + case 326: + case 328: + case 330: + case 332: + case 334: + case 336: + case 338: + case 340: + case 342: + case 344: + case 346: + case 348: + case 350: + case 352: + case 354: + case 356: + case 358: + case 360: + case 362: + case 364: + case 366: + case 368: + case 370: + case 372: + case 374: + case 376: + case 378: + case 380: + case 382: + case 384: + case 386: + case 388: + case 390: + case 392: + case 394: + case 396: + case 398: + case 400: + case 402: + case 404: + case 406: + case 408: + case 410: + case 412: + case 414: + case 416: + case 418: + case 420: + case 422: + case 424: + case 426: + case 428: + case 430: + case 432: + case 434: + case 436: + case 438: + case 440: + case 442: + case 444: + case 446: + case 448: + case 450: + case 452: + case 454: + case 456: + case 458: + case 460: + case 462: + case 464: + case 466: + case 468: + case 470: + case 472: + case 474: + case 476: + case 478: + case 480: + case 482: + case 484: + case 486: + case 488: + case 490: + case 492: + case 494: + case 496: + case 498: + case 500: + case 502: + case 504: + case 506: + case 508: + case 510: + case 512: + case 514: + case 516: + case 518: + case 520: + case 522: + case 524: + case 526: + case 528: + case 530: + case 532: + case 534: + case 536: + case 538: + case 540: + case 542: + case 544: + case 546: + case 548: + case 550: + case 552: + case 554: + case 556: + case 558: + case 560: + case 562: + case 564: + case 566: + case 568: + case 570: + case 572: + case 574: + case 576: + case 578: + case 580: + case 582: + case 584: + case 586: + case 588: + case 590: + case 592: + case 594: + case 596: + case 598: + case 600: + case 602: + case 604: + case 606: + case 608: + case 610: + case 612: + case 614: + case 616: + case 618: + case 620: + case 622: + case 624: + case 626: + case 628: + case 630: + case 632: + case 634: + case 636: + case 638: + case 640: + case 642: + case 644: + case 646: + case 648: + case 650: + case 652: + case 654: + case 656: + case 658: + case 660: + case 662: + case 664: + case 666: + case 668: + case 670: + case 672: + case 674: + case 676: + case 678: + case 680: + case 682: + case 684: + case 686: + case 688: + case 690: + case 692: + case 694: + case 696: + case 698: + case 700: + case 702: + case 704: + case 706: + case 708: + case 710: + case 712: + case 714: + case 716: + case 718: + case 720: + case 722: + case 724: + case 726: + case 728: + case 730: + case 732: + case 734: + case 736: + case 738: + case 740: + case 742: + case 744: + case 746: + case 748: + case 750: + case 752: + case 754: + case 756: + case 758: + case 760: + case 762: + case 764: + case 766: + case 768: + case 770: + case 772: + case 774: + case 776: + case 778: + case 780: + case 782: + case 784: + case 786: + case 788: + case 790: + case 792: + case 794: + case 796: + case 798: + case 800: + case 802: + case 804: + case 806: + case 808: + case 810: + case 812: + case 814: + case 816: + case 818: + case 820: + case 822: + case 824: + case 826: + case 828: + case 830: + case 832: + case 834: + case 836: + case 838: + case 840: + case 842: + case 844: + case 846: + case 848: + case 850: + case 852: + case 854: + case 856: + case 858: + case 860: + case 862: + case 864: + case 866: + case 868: + case 870: + case 872: + case 874: + case 876: + case 878: + case 880: + case 882: + case 884: + case 886: + case 888: + case 890: + case 892: + case 894: + case 896: + case 898: + case 900: + case 902: + case 904: + case 906: + case 908: + case 910: + case 912: + case 914: + case 916: + case 918: + case 920: + case 922: + case 924: + case 926: + case 928: + case 930: + case 932: + case 934: + case 936: + case 938: + case 940: + case 942: + case 944: + case 946: + case 948: + case 950: + case 952: + case 954: + case 956: + case 958: + case 960: + case 962: + case 964: + case 966: + case 968: + case 970: + case 972: + case 974: + case 976: + case 978: + case 980: + case 982: + case 984: + case 986: + case 988: + case 990: + case 992: + case 994: + case 996: + case 998: + case 1000: + case 1002: + case 1004: + case 1006: + case 1008: + case 1010: + case 1012: + case 1014: + case 1016: + case 1018: + case 1020: + case 1022: + case 1024: + case 1026: + case 1028: + case 1030: + case 1032: + case 1034: + case 1036: + case 1038: + case 1040: + case 1042: + case 1044: + case 1046: + case 1048: return false; + default: return true; + } +} +} // namespace NoteBlock +namespace OakButton +{ +BlockState OakButton() +{ + return 6355; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 6362: + case 6363: + case 6364: + case 6365: + case 6366: + case 6367: + case 6368: + case 6369: return Face::Ceiling; + case 6346: + case 6347: + case 6348: + case 6349: + case 6350: + case 6351: + case 6352: + case 6353: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6350: + case 6351: + case 6358: + case 6359: + case 6366: + case 6367: return eBlockFace::BLOCK_FACE_XM; + case 6352: + case 6353: + case 6360: + case 6361: + case 6368: + case 6369: return eBlockFace::BLOCK_FACE_XP; + case 6346: + case 6347: + case 6354: + case 6355: + case 6362: + case 6363: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 6347: + case 6349: + case 6351: + case 6353: + case 6355: + case 6357: + case 6359: + case 6361: + case 6363: + case 6365: + case 6367: + case 6369: return false; + default: return true; + } +} +} // namespace OakButton +namespace OakDoor +{ +BlockState OakDoor() +{ + return 3584; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3605: + case 3606: + case 3607: + case 3608: + case 3609: + case 3610: + case 3611: + case 3612: + case 3613: + case 3614: + case 3615: + case 3616: + case 3617: + case 3618: + case 3619: + case 3620: return eBlockFace::BLOCK_FACE_XM; + case 3621: + case 3622: + case 3623: + case 3624: + case 3625: + case 3626: + case 3627: + case 3628: + case 3629: + case 3630: + case 3631: + case 3632: + case 3633: + case 3634: + case 3635: + case 3636: return eBlockFace::BLOCK_FACE_XP; + case 3573: + case 3574: + case 3575: + case 3576: + case 3577: + case 3578: + case 3579: + case 3580: + case 3581: + case 3582: + case 3583: + case 3584: + case 3585: + case 3586: + case 3587: + case 3588: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 3581: + case 3582: + case 3583: + case 3584: + case 3585: + case 3586: + case 3587: + case 3588: + case 3597: + case 3598: + case 3599: + case 3600: + case 3601: + case 3602: + case 3603: + case 3604: + case 3613: + case 3614: + case 3615: + case 3616: + case 3617: + case 3618: + case 3619: + case 3620: + case 3629: + case 3630: + case 3631: + case 3632: + case 3633: + case 3634: + case 3635: + case 3636: return Half::Lower; + default: return Half::Upper; + } +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 3573: + case 3574: + case 3575: + case 3576: + case 3581: + case 3582: + case 3583: + case 3584: + case 3589: + case 3590: + case 3591: + case 3592: + case 3597: + case 3598: + case 3599: + case 3600: + case 3605: + case 3606: + case 3607: + case 3608: + case 3613: + case 3614: + case 3615: + case 3616: + case 3621: + case 3622: + case 3623: + case 3624: + case 3629: + case 3630: + case 3631: + case 3632: return Hinge::Left; + default: return Hinge::Right; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 3575: + case 3576: + case 3579: + case 3580: + case 3583: + case 3584: + case 3587: + case 3588: + case 3591: + case 3592: + case 3595: + case 3596: + case 3599: + case 3600: + case 3603: + case 3604: + case 3607: + case 3608: + case 3611: + case 3612: + case 3615: + case 3616: + case 3619: + case 3620: + case 3623: + case 3624: + case 3627: + case 3628: + case 3631: + case 3632: + case 3635: + case 3636: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3574: + case 3576: + case 3578: + case 3580: + case 3582: + case 3584: + case 3586: + case 3588: + case 3590: + case 3592: + case 3594: + case 3596: + case 3598: + case 3600: + case 3602: + case 3604: + case 3606: + case 3608: + case 3610: + case 3612: + case 3614: + case 3616: + case 3618: + case 3620: + case 3622: + case 3624: + case 3626: + case 3628: + case 3630: + case 3632: + case 3634: + case 3636: return false; + default: return true; + } +} +} // namespace OakDoor +namespace OakFence +{ +BlockState OakFence() +{ + return 3997; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 3984: + case 3985: + case 3988: + case 3989: + case 3992: + case 3993: + case 3996: + case 3997: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 3976: + case 3977: + case 3980: + case 3981: + case 3992: + case 3993: + case 3996: + case 3997: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 3972: + case 3973: + case 3980: + case 3981: + case 3988: + case 3989: + case 3996: + case 3997: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 3969: + case 3973: + case 3977: + case 3981: + case 3985: + case 3989: + case 3993: + case 3997: return false; + default: return true; + } +} +} // namespace OakFence +namespace OakFenceGate +{ +BlockState OakFenceGate() +{ + return 4827; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4836: + case 4837: + case 4838: + case 4839: + case 4840: + case 4841: + case 4842: + case 4843: return eBlockFace::BLOCK_FACE_XM; + case 4844: + case 4845: + case 4846: + case 4847: + case 4848: + case 4849: + case 4850: + case 4851: return eBlockFace::BLOCK_FACE_XP; + case 4820: + case 4821: + case 4822: + case 4823: + case 4824: + case 4825: + case 4826: + case 4827: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool InWall(const BlockState Block) +{ + switch (Block.ID) + { + case 4824: + case 4825: + case 4826: + case 4827: + case 4832: + case 4833: + case 4834: + case 4835: + case 4840: + case 4841: + case 4842: + case 4843: + case 4848: + case 4849: + case 4850: + case 4851: return false; + default: return true; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 4822: + case 4823: + case 4826: + case 4827: + case 4830: + case 4831: + case 4834: + case 4835: + case 4838: + case 4839: + case 4842: + case 4843: + case 4846: + case 4847: + case 4850: + case 4851: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 4821: + case 4823: + case 4825: + case 4827: + case 4829: + case 4831: + case 4833: + case 4835: + case 4837: + case 4839: + case 4841: + case 4843: + case 4845: + case 4847: + case 4849: + case 4851: return false; + default: return true; + } +} +} // namespace OakFenceGate +namespace OakLeaves +{ +BlockState OakLeaves() +{ + return 158; +} +unsigned char Distance(const BlockState Block) +{ + switch (Block.ID) + { + case 145: + case 146: return 1; + case 147: + case 148: return 2; + case 149: + case 150: return 3; + case 151: + case 152: return 4; + case 153: + case 154: return 5; + case 155: + case 156: return 6; + default: return 7; + } +} +bool Persistent(const BlockState Block) +{ + switch (Block.ID) + { + case 146: + case 148: + case 150: + case 152: + case 154: + case 156: + case 158: return false; + default: return true; + } +} +} // namespace OakLeaves +namespace OakLog +{ +BlockState OakLog() +{ + return 74; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 73: return Axis::X; + case 74: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace OakLog +namespace OakPlanks +{ +} +namespace OakPressurePlate +{ +BlockState OakPressurePlate() +{ + return 3874; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3874: return false; + default: return true; + } +} +} // namespace OakPressurePlate +namespace OakSapling +{ +BlockState OakSapling() +{ + return 21; +} +unsigned char Stage(const BlockState Block) +{ + switch (Block.ID) + { + case 21: return 0; + default: return 1; + } +} +} // namespace OakSapling +namespace OakSign +{ +BlockState OakSign() +{ + return 3382; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 3382: return 0; + case 3384: return 1; + case 3402: return 10; + case 3404: return 11; + case 3406: return 12; + case 3408: return 13; + case 3410: return 14; + case 3412: return 15; + case 3386: return 2; + case 3388: return 3; + case 3390: return 4; + case 3392: return 5; + case 3394: return 6; + case 3396: return 7; + case 3398: return 8; + default: return 9; + } +} +} // namespace OakSign +namespace OakSlab +{ +BlockState OakSlab() +{ + return 8303; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8303: return Type::Bottom; + case 8305: return Type::Double; + default: return Type::Top; + } +} +} // namespace OakSlab +namespace OakStairs +{ +BlockState OakStairs() +{ + return 1965; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1995: + case 1997: + case 1999: + case 2001: + case 2003: + case 2005: + case 2007: + case 2009: + case 2011: + case 2013: return eBlockFace::BLOCK_FACE_XM; + case 2015: + case 2017: + case 2019: + case 2021: + case 2023: + case 2025: + case 2027: + case 2029: + case 2031: + case 2033: return eBlockFace::BLOCK_FACE_XP; + case 1955: + case 1957: + case 1959: + case 1961: + case 1963: + case 1965: + case 1967: + case 1969: + case 1971: + case 1973: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 1965: + case 1967: + case 1969: + case 1971: + case 1973: + case 1985: + case 1987: + case 1989: + case 1991: + case 1993: + case 2005: + case 2007: + case 2009: + case 2011: + case 2013: + case 2025: + case 2027: + case 2029: + case 2031: + case 2033: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 1957: + case 1967: + case 1977: + case 1987: + case 1997: + case 2007: + case 2017: + case 2027: return Shape::InnerLeft; + case 1959: + case 1969: + case 1979: + case 1989: + case 1999: + case 2009: + case 2019: + case 2029: return Shape::InnerRight; + case 1961: + case 1971: + case 1981: + case 1991: + case 2001: + case 2011: + case 2021: + case 2031: return Shape::OuterLeft; + case 1963: + case 1973: + case 1983: + case 1993: + case 2003: + case 2013: + case 2023: + case 2033: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace OakStairs +namespace OakTrapdoor +{ +BlockState OakTrapdoor() +{ + return 4126; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4144: + case 4146: + case 4148: + case 4150: + case 4152: + case 4154: + case 4156: + case 4158: return eBlockFace::BLOCK_FACE_XM; + case 4160: + case 4162: + case 4164: + case 4166: + case 4168: + case 4170: + case 4172: + case 4174: return eBlockFace::BLOCK_FACE_XP; + case 4112: + case 4114: + case 4116: + case 4118: + case 4120: + case 4122: + case 4124: + case 4126: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 4120: + case 4122: + case 4124: + case 4126: + case 4136: + case 4138: + case 4140: + case 4142: + case 4152: + case 4154: + case 4156: + case 4158: + case 4168: + case 4170: + case 4172: + case 4174: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 4116: + case 4118: + case 4124: + case 4126: + case 4132: + case 4134: + case 4140: + case 4142: + case 4148: + case 4150: + case 4156: + case 4158: + case 4164: + case 4166: + case 4172: + case 4174: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 4114: + case 4118: + case 4122: + case 4126: + case 4130: + case 4134: + case 4138: + case 4142: + case 4146: + case 4150: + case 4154: + case 4158: + case 4162: + case 4166: + case 4170: + case 4174: return false; + default: return true; + } +} +} // namespace OakTrapdoor +namespace OakWallSign +{ +BlockState OakWallSign() +{ + return 3736; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3740: return eBlockFace::BLOCK_FACE_XM; + case 3742: return eBlockFace::BLOCK_FACE_XP; + case 3736: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace OakWallSign +namespace OakWood +{ +BlockState OakWood() +{ + return 110; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 109: return Axis::X; + case 110: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace OakWood +namespace Observer +{ +BlockState Observer() +{ + return 9265; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9266: + case 9267: return eBlockFace::BLOCK_FACE_XM; + case 9262: + case 9263: return eBlockFace::BLOCK_FACE_XP; + case 9270: + case 9271: return eBlockFace::BLOCK_FACE_YM; + case 9268: + case 9269: return eBlockFace::BLOCK_FACE_YP; + case 9260: + case 9261: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 9261: + case 9263: + case 9265: + case 9267: + case 9269: + case 9271: return false; + default: return true; + } +} +} // namespace Observer +namespace Obsidian +{ +} +namespace OrangeBanner +{ +BlockState OrangeBanner() +{ + return 7913; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 7913: return 0; + case 7914: return 1; + case 7923: return 10; + case 7924: return 11; + case 7925: return 12; + case 7926: return 13; + case 7927: return 14; + case 7928: return 15; + case 7915: return 2; + case 7916: return 3; + case 7917: return 4; + case 7918: return 5; + case 7919: return 6; + case 7920: return 7; + case 7921: return 8; + default: return 9; + } +} +} // namespace OrangeBanner +namespace OrangeBed +{ +BlockState OrangeBed() +{ + return 1068; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1073: + case 1074: + case 1075: + case 1076: return eBlockFace::BLOCK_FACE_XM; + case 1077: + case 1078: + case 1079: + case 1080: return eBlockFace::BLOCK_FACE_XP; + case 1065: + case 1066: + case 1067: + case 1068: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1067: + case 1068: + case 1071: + case 1072: + case 1075: + case 1076: + case 1079: + case 1080: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1066: + case 1068: + case 1070: + case 1072: + case 1074: + case 1076: + case 1078: + case 1080: return Part::Foot; + default: return Part::Head; + } +} +} // namespace OrangeBed +namespace OrangeCarpet +{ +} +namespace OrangeConcrete +{ +} +namespace OrangeConcretePowder +{ +} +namespace OrangeGlazedTerracotta +{ +BlockState OrangeGlazedTerracotta() +{ + return 9378; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9380: return eBlockFace::BLOCK_FACE_XM; + case 9381: return eBlockFace::BLOCK_FACE_XP; + case 9378: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace OrangeGlazedTerracotta +namespace OrangeShulkerBox +{ +BlockState OrangeShulkerBox() +{ + return 9288; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9287: return eBlockFace::BLOCK_FACE_XM; + case 9285: return eBlockFace::BLOCK_FACE_XP; + case 9289: return eBlockFace::BLOCK_FACE_YM; + case 9288: return eBlockFace::BLOCK_FACE_YP; + case 9284: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace OrangeShulkerBox +namespace OrangeStainedGlass +{ +} +namespace OrangeStainedGlassPane +{ +BlockState OrangeStainedGlassPane() +{ + return 6926; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 6913: + case 6914: + case 6917: + case 6918: + case 6921: + case 6922: + case 6925: + case 6926: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 6905: + case 6906: + case 6909: + case 6910: + case 6921: + case 6922: + case 6925: + case 6926: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 6901: + case 6902: + case 6909: + case 6910: + case 6917: + case 6918: + case 6925: + case 6926: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 6898: + case 6902: + case 6906: + case 6910: + case 6914: + case 6918: + case 6922: + case 6926: return false; + default: return true; + } +} +} // namespace OrangeStainedGlassPane +namespace OrangeTerracotta +{ +} +namespace OrangeTulip +{ +} +namespace OrangeWallBanner +{ +BlockState OrangeWallBanner() +{ + return 8157; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8159: return eBlockFace::BLOCK_FACE_XM; + case 8160: return eBlockFace::BLOCK_FACE_XP; + case 8157: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace OrangeWallBanner +namespace OrangeWool +{ +} +namespace OxeyeDaisy +{ +} +namespace PackedIce +{ +} +namespace Peony +{ +BlockState Peony() +{ + return 7892; +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7892: return Half::Lower; + default: return Half::Upper; + } +} +} // namespace Peony +namespace PetrifiedOakSlab +{ +BlockState PetrifiedOakSlab() +{ + return 8363; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8363: return Type::Bottom; + case 8365: return Type::Double; + default: return Type::Top; + } +} +} // namespace PetrifiedOakSlab +namespace PinkBanner +{ +BlockState PinkBanner() +{ + return 7993; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 7993: return 0; + case 7994: return 1; + case 8003: return 10; + case 8004: return 11; + case 8005: return 12; + case 8006: return 13; + case 8007: return 14; + case 8008: return 15; + case 7995: return 2; + case 7996: return 3; + case 7997: return 4; + case 7998: return 5; + case 7999: return 6; + case 8000: return 7; + case 8001: return 8; + default: return 9; + } +} +} // namespace PinkBanner +namespace PinkBed +{ +BlockState PinkBed() +{ + return 1148; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1153: + case 1154: + case 1155: + case 1156: return eBlockFace::BLOCK_FACE_XM; + case 1157: + case 1158: + case 1159: + case 1160: return eBlockFace::BLOCK_FACE_XP; + case 1145: + case 1146: + case 1147: + case 1148: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1147: + case 1148: + case 1151: + case 1152: + case 1155: + case 1156: + case 1159: + case 1160: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1146: + case 1148: + case 1150: + case 1152: + case 1154: + case 1156: + case 1158: + case 1160: return Part::Foot; + default: return Part::Head; + } +} +} // namespace PinkBed +namespace PinkCarpet +{ +} +namespace PinkConcrete +{ +} +namespace PinkConcretePowder +{ +} +namespace PinkGlazedTerracotta +{ +BlockState PinkGlazedTerracotta() +{ + return 9398; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9400: return eBlockFace::BLOCK_FACE_XM; + case 9401: return eBlockFace::BLOCK_FACE_XP; + case 9398: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace PinkGlazedTerracotta +namespace PinkShulkerBox +{ +BlockState PinkShulkerBox() +{ + return 9318; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9317: return eBlockFace::BLOCK_FACE_XM; + case 9315: return eBlockFace::BLOCK_FACE_XP; + case 9319: return eBlockFace::BLOCK_FACE_YM; + case 9318: return eBlockFace::BLOCK_FACE_YP; + case 9314: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace PinkShulkerBox +namespace PinkStainedGlass +{ +} +namespace PinkStainedGlassPane +{ +BlockState PinkStainedGlassPane() +{ + return 7086; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7073: + case 7074: + case 7077: + case 7078: + case 7081: + case 7082: + case 7085: + case 7086: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7065: + case 7066: + case 7069: + case 7070: + case 7081: + case 7082: + case 7085: + case 7086: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7061: + case 7062: + case 7069: + case 7070: + case 7077: + case 7078: + case 7085: + case 7086: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7058: + case 7062: + case 7066: + case 7070: + case 7074: + case 7078: + case 7082: + case 7086: return false; + default: return true; + } +} +} // namespace PinkStainedGlassPane +namespace PinkTerracotta +{ +} +namespace PinkTulip +{ +} +namespace PinkWallBanner +{ +BlockState PinkWallBanner() +{ + return 8177; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8179: return eBlockFace::BLOCK_FACE_XM; + case 8180: return eBlockFace::BLOCK_FACE_XP; + case 8177: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace PinkWallBanner +namespace PinkWool +{ +} +namespace Piston +{ +BlockState Piston() +{ + return 1354; +} +bool Extended(const BlockState Block) +{ + switch (Block.ID) + { + case 1354: + case 1355: + case 1356: + case 1357: + case 1358: + case 1359: return false; + default: return true; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1351: + case 1357: return eBlockFace::BLOCK_FACE_XM; + case 1349: + case 1355: return eBlockFace::BLOCK_FACE_XP; + case 1353: + case 1359: return eBlockFace::BLOCK_FACE_YM; + case 1352: + case 1358: return eBlockFace::BLOCK_FACE_YP; + case 1348: + case 1354: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace Piston +namespace PistonHead +{ +BlockState PistonHead() +{ + return 1362; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1372: + case 1373: + case 1374: + case 1375: return eBlockFace::BLOCK_FACE_XM; + case 1364: + case 1365: + case 1366: + case 1367: return eBlockFace::BLOCK_FACE_XP; + case 1380: + case 1381: + case 1382: + case 1383: return eBlockFace::BLOCK_FACE_YM; + case 1376: + case 1377: + case 1378: + case 1379: return eBlockFace::BLOCK_FACE_YP; + case 1360: + case 1361: + case 1362: + case 1363: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Short(const BlockState Block) +{ + switch (Block.ID) + { + case 1362: + case 1363: + case 1366: + case 1367: + case 1370: + case 1371: + case 1374: + case 1375: + case 1378: + case 1379: + case 1382: + case 1383: return false; + default: return true; + } +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 1360: + case 1362: + case 1364: + case 1366: + case 1368: + case 1370: + case 1372: + case 1374: + case 1376: + case 1378: + case 1380: + case 1382: return Type::Normal; + default: return Type::Sticky; + } +} +} // namespace PistonHead +namespace PlayerHead +{ +BlockState PlayerHead() +{ + return 6550; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 6550: return 0; + case 6551: return 1; + case 6560: return 10; + case 6561: return 11; + case 6562: return 12; + case 6563: return 13; + case 6564: return 14; + case 6565: return 15; + case 6552: return 2; + case 6553: return 3; + case 6554: return 4; + case 6555: return 5; + case 6556: return 6; + case 6557: return 7; + case 6558: return 8; + default: return 9; + } +} +} // namespace PlayerHead +namespace PlayerWallHead +{ +BlockState PlayerWallHead() +{ + return 6566; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6568: return eBlockFace::BLOCK_FACE_XM; + case 6569: return eBlockFace::BLOCK_FACE_XP; + case 6566: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace PlayerWallHead +namespace Podzol +{ +BlockState Podzol() +{ + return 13; +} +bool Snowy(const BlockState Block) +{ + switch (Block.ID) + { + case 13: return false; + default: return true; + } +} +} // namespace Podzol +namespace PolishedAndesite +{ +} +namespace PolishedAndesiteSlab +{ +BlockState PolishedAndesiteSlab() +{ + return 10858; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10858: return Type::Bottom; + case 10860: return Type::Double; + default: return Type::Top; + } +} +} // namespace PolishedAndesiteSlab +namespace PolishedAndesiteStairs +{ +BlockState PolishedAndesiteStairs() +{ + return 10640; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10670: + case 10672: + case 10674: + case 10676: + case 10678: + case 10680: + case 10682: + case 10684: + case 10686: + case 10688: return eBlockFace::BLOCK_FACE_XM; + case 10690: + case 10692: + case 10694: + case 10696: + case 10698: + case 10700: + case 10702: + case 10704: + case 10706: + case 10708: return eBlockFace::BLOCK_FACE_XP; + case 10630: + case 10632: + case 10634: + case 10636: + case 10638: + case 10640: + case 10642: + case 10644: + case 10646: + case 10648: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10640: + case 10642: + case 10644: + case 10646: + case 10648: + case 10660: + case 10662: + case 10664: + case 10666: + case 10668: + case 10680: + case 10682: + case 10684: + case 10686: + case 10688: + case 10700: + case 10702: + case 10704: + case 10706: + case 10708: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10632: + case 10642: + case 10652: + case 10662: + case 10672: + case 10682: + case 10692: + case 10702: return Shape::InnerLeft; + case 10634: + case 10644: + case 10654: + case 10664: + case 10674: + case 10684: + case 10694: + case 10704: return Shape::InnerRight; + case 10636: + case 10646: + case 10656: + case 10666: + case 10676: + case 10686: + case 10696: + case 10706: return Shape::OuterLeft; + case 10638: + case 10648: + case 10658: + case 10668: + case 10678: + case 10688: + case 10698: + case 10708: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace PolishedAndesiteStairs +namespace PolishedBasalt +{ +BlockState PolishedBasalt() +{ + return 4006; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 4005: return Axis::X; + case 4006: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace PolishedBasalt +namespace PolishedBlackstone +{ +} +namespace PolishedBlackstoneBrickSlab +{ +BlockState PolishedBlackstoneBrickSlab() +{ + return 16257; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 16257: return Type::Bottom; + case 16259: return Type::Double; + default: return Type::Top; + } +} +} // namespace PolishedBlackstoneBrickSlab +namespace PolishedBlackstoneBrickStairs +{ +BlockState PolishedBlackstoneBrickStairs() +{ + return 16271; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 16301: + case 16303: + case 16305: + case 16307: + case 16309: + case 16311: + case 16313: + case 16315: + case 16317: + case 16319: return eBlockFace::BLOCK_FACE_XM; + case 16321: + case 16323: + case 16325: + case 16327: + case 16329: + case 16331: + case 16333: + case 16335: + case 16337: + case 16339: return eBlockFace::BLOCK_FACE_XP; + case 16261: + case 16263: + case 16265: + case 16267: + case 16269: + case 16271: + case 16273: + case 16275: + case 16277: + case 16279: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 16271: + case 16273: + case 16275: + case 16277: + case 16279: + case 16291: + case 16293: + case 16295: + case 16297: + case 16299: + case 16311: + case 16313: + case 16315: + case 16317: + case 16319: + case 16331: + case 16333: + case 16335: + case 16337: + case 16339: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 16263: + case 16273: + case 16283: + case 16293: + case 16303: + case 16313: + case 16323: + case 16333: return Shape::InnerLeft; + case 16265: + case 16275: + case 16285: + case 16295: + case 16305: + case 16315: + case 16325: + case 16335: return Shape::InnerRight; + case 16267: + case 16277: + case 16287: + case 16297: + case 16307: + case 16317: + case 16327: + case 16337: return Shape::OuterLeft; + case 16269: + case 16279: + case 16289: + case 16299: + case 16309: + case 16319: + case 16329: + case 16339: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace PolishedBlackstoneBrickStairs +namespace PolishedBlackstoneBrickWall +{ +BlockState PolishedBlackstoneBrickWall() +{ + return 16343; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 16451: + case 16452: + case 16453: + case 16457: + case 16458: + case 16459: + case 16463: + case 16464: + case 16465: + case 16469: + case 16470: + case 16471: + case 16475: + case 16476: + case 16477: + case 16481: + case 16482: + case 16483: + case 16487: + case 16488: + case 16489: + case 16493: + case 16494: + case 16495: + case 16499: + case 16500: + case 16501: + case 16505: + case 16506: + case 16507: + case 16511: + case 16512: + case 16513: + case 16517: + case 16518: + case 16519: + case 16523: + case 16524: + case 16525: + case 16529: + case 16530: + case 16531: + case 16535: + case 16536: + case 16537: + case 16541: + case 16542: + case 16543: + case 16547: + case 16548: + case 16549: + case 16553: + case 16554: + case 16555: return East::Low; + case 16343: + case 16344: + case 16345: + case 16349: + case 16350: + case 16351: + case 16355: + case 16356: + case 16357: + case 16361: + case 16362: + case 16363: + case 16367: + case 16368: + case 16369: + case 16373: + case 16374: + case 16375: + case 16379: + case 16380: + case 16381: + case 16385: + case 16386: + case 16387: + case 16391: + case 16392: + case 16393: + case 16397: + case 16398: + case 16399: + case 16403: + case 16404: + case 16405: + case 16409: + case 16410: + case 16411: + case 16415: + case 16416: + case 16417: + case 16421: + case 16422: + case 16423: + case 16427: + case 16428: + case 16429: + case 16433: + case 16434: + case 16435: + case 16439: + case 16440: + case 16441: + case 16445: + case 16446: + case 16447: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 16379: + case 16380: + case 16381: + case 16385: + case 16386: + case 16387: + case 16391: + case 16392: + case 16393: + case 16397: + case 16398: + case 16399: + case 16403: + case 16404: + case 16405: + case 16409: + case 16410: + case 16411: + case 16487: + case 16488: + case 16489: + case 16493: + case 16494: + case 16495: + case 16499: + case 16500: + case 16501: + case 16505: + case 16506: + case 16507: + case 16511: + case 16512: + case 16513: + case 16517: + case 16518: + case 16519: + case 16595: + case 16596: + case 16597: + case 16601: + case 16602: + case 16603: + case 16607: + case 16608: + case 16609: + case 16613: + case 16614: + case 16615: + case 16619: + case 16620: + case 16621: + case 16625: + case 16626: + case 16627: return North::Low; + case 16343: + case 16344: + case 16345: + case 16349: + case 16350: + case 16351: + case 16355: + case 16356: + case 16357: + case 16361: + case 16362: + case 16363: + case 16367: + case 16368: + case 16369: + case 16373: + case 16374: + case 16375: + case 16451: + case 16452: + case 16453: + case 16457: + case 16458: + case 16459: + case 16463: + case 16464: + case 16465: + case 16469: + case 16470: + case 16471: + case 16475: + case 16476: + case 16477: + case 16481: + case 16482: + case 16483: + case 16559: + case 16560: + case 16561: + case 16565: + case 16566: + case 16567: + case 16571: + case 16572: + case 16573: + case 16577: + case 16578: + case 16579: + case 16583: + case 16584: + case 16585: + case 16589: + case 16590: + case 16591: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 16355: + case 16356: + case 16357: + case 16361: + case 16362: + case 16363: + case 16391: + case 16392: + case 16393: + case 16397: + case 16398: + case 16399: + case 16427: + case 16428: + case 16429: + case 16433: + case 16434: + case 16435: + case 16463: + case 16464: + case 16465: + case 16469: + case 16470: + case 16471: + case 16499: + case 16500: + case 16501: + case 16505: + case 16506: + case 16507: + case 16535: + case 16536: + case 16537: + case 16541: + case 16542: + case 16543: + case 16571: + case 16572: + case 16573: + case 16577: + case 16578: + case 16579: + case 16607: + case 16608: + case 16609: + case 16613: + case 16614: + case 16615: + case 16643: + case 16644: + case 16645: + case 16649: + case 16650: + case 16651: return South::Low; + case 16343: + case 16344: + case 16345: + case 16349: + case 16350: + case 16351: + case 16379: + case 16380: + case 16381: + case 16385: + case 16386: + case 16387: + case 16415: + case 16416: + case 16417: + case 16421: + case 16422: + case 16423: + case 16451: + case 16452: + case 16453: + case 16457: + case 16458: + case 16459: + case 16487: + case 16488: + case 16489: + case 16493: + case 16494: + case 16495: + case 16523: + case 16524: + case 16525: + case 16529: + case 16530: + case 16531: + case 16559: + case 16560: + case 16561: + case 16565: + case 16566: + case 16567: + case 16595: + case 16596: + case 16597: + case 16601: + case 16602: + case 16603: + case 16631: + case 16632: + case 16633: + case 16637: + case 16638: + case 16639: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 16349: + case 16350: + case 16351: + case 16361: + case 16362: + case 16363: + case 16373: + case 16374: + case 16375: + case 16385: + case 16386: + case 16387: + case 16397: + case 16398: + case 16399: + case 16409: + case 16410: + case 16411: + case 16421: + case 16422: + case 16423: + case 16433: + case 16434: + case 16435: + case 16445: + case 16446: + case 16447: + case 16457: + case 16458: + case 16459: + case 16469: + case 16470: + case 16471: + case 16481: + case 16482: + case 16483: + case 16493: + case 16494: + case 16495: + case 16505: + case 16506: + case 16507: + case 16517: + case 16518: + case 16519: + case 16529: + case 16530: + case 16531: + case 16541: + case 16542: + case 16543: + case 16553: + case 16554: + case 16555: + case 16565: + case 16566: + case 16567: + case 16577: + case 16578: + case 16579: + case 16589: + case 16590: + case 16591: + case 16601: + case 16602: + case 16603: + case 16613: + case 16614: + case 16615: + case 16625: + case 16626: + case 16627: + case 16637: + case 16638: + case 16639: + case 16649: + case 16650: + case 16651: + case 16661: + case 16662: + case 16663: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 16344: + case 16350: + case 16356: + case 16362: + case 16368: + case 16374: + case 16380: + case 16386: + case 16392: + case 16398: + case 16404: + case 16410: + case 16416: + case 16422: + case 16428: + case 16434: + case 16440: + case 16446: + case 16452: + case 16458: + case 16464: + case 16470: + case 16476: + case 16482: + case 16488: + case 16494: + case 16500: + case 16506: + case 16512: + case 16518: + case 16524: + case 16530: + case 16536: + case 16542: + case 16548: + case 16554: + case 16560: + case 16566: + case 16572: + case 16578: + case 16584: + case 16590: + case 16596: + case 16602: + case 16608: + case 16614: + case 16620: + case 16626: + case 16632: + case 16638: + case 16644: + case 16650: + case 16656: + case 16662: return West::Low; + case 16343: + case 16349: + case 16355: + case 16361: + case 16367: + case 16373: + case 16379: + case 16385: + case 16391: + case 16397: + case 16403: + case 16409: + case 16415: + case 16421: + case 16427: + case 16433: + case 16439: + case 16445: + case 16451: + case 16457: + case 16463: + case 16469: + case 16475: + case 16481: + case 16487: + case 16493: + case 16499: + case 16505: + case 16511: + case 16517: + case 16523: + case 16529: + case 16535: + case 16541: + case 16547: + case 16553: + case 16559: + case 16565: + case 16571: + case 16577: + case 16583: + case 16589: + case 16595: + case 16601: + case 16607: + case 16613: + case 16619: + case 16625: + case 16631: + case 16637: + case 16643: + case 16649: + case 16655: + case 16661: return West::None; + default: return West::Tall; + } +} +} // namespace PolishedBlackstoneBrickWall +namespace PolishedBlackstoneBricks +{ +} +namespace PolishedBlackstoneButton +{ +BlockState PolishedBlackstoneButton() +{ + return 16762; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 16769: + case 16770: + case 16771: + case 16772: + case 16773: + case 16774: + case 16775: + case 16776: return Face::Ceiling; + case 16753: + case 16754: + case 16755: + case 16756: + case 16757: + case 16758: + case 16759: + case 16760: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 16757: + case 16758: + case 16765: + case 16766: + case 16773: + case 16774: return eBlockFace::BLOCK_FACE_XM; + case 16759: + case 16760: + case 16767: + case 16768: + case 16775: + case 16776: return eBlockFace::BLOCK_FACE_XP; + case 16753: + case 16754: + case 16761: + case 16762: + case 16769: + case 16770: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 16754: + case 16756: + case 16758: + case 16760: + case 16762: + case 16764: + case 16766: + case 16768: + case 16770: + case 16772: + case 16774: + case 16776: return false; + default: return true; + } +} +} // namespace PolishedBlackstoneButton +namespace PolishedBlackstonePressurePlate +{ +BlockState PolishedBlackstonePressurePlate() +{ + return 16752; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 16752: return false; + default: return true; + } +} +} // namespace PolishedBlackstonePressurePlate +namespace PolishedBlackstoneSlab +{ +BlockState PolishedBlackstoneSlab() +{ + return 16748; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 16748: return Type::Bottom; + case 16750: return Type::Double; + default: return Type::Top; + } +} +} // namespace PolishedBlackstoneSlab +namespace PolishedBlackstoneStairs +{ +BlockState PolishedBlackstoneStairs() +{ + return 16676; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 16706: + case 16708: + case 16710: + case 16712: + case 16714: + case 16716: + case 16718: + case 16720: + case 16722: + case 16724: return eBlockFace::BLOCK_FACE_XM; + case 16726: + case 16728: + case 16730: + case 16732: + case 16734: + case 16736: + case 16738: + case 16740: + case 16742: + case 16744: return eBlockFace::BLOCK_FACE_XP; + case 16666: + case 16668: + case 16670: + case 16672: + case 16674: + case 16676: + case 16678: + case 16680: + case 16682: + case 16684: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 16676: + case 16678: + case 16680: + case 16682: + case 16684: + case 16696: + case 16698: + case 16700: + case 16702: + case 16704: + case 16716: + case 16718: + case 16720: + case 16722: + case 16724: + case 16736: + case 16738: + case 16740: + case 16742: + case 16744: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 16668: + case 16678: + case 16688: + case 16698: + case 16708: + case 16718: + case 16728: + case 16738: return Shape::InnerLeft; + case 16670: + case 16680: + case 16690: + case 16700: + case 16710: + case 16720: + case 16730: + case 16740: return Shape::InnerRight; + case 16672: + case 16682: + case 16692: + case 16702: + case 16712: + case 16722: + case 16732: + case 16742: return Shape::OuterLeft; + case 16674: + case 16684: + case 16694: + case 16704: + case 16714: + case 16724: + case 16734: + case 16744: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace PolishedBlackstoneStairs +namespace PolishedBlackstoneWall +{ +BlockState PolishedBlackstoneWall() +{ + return 16780; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 16888: + case 16889: + case 16890: + case 16894: + case 16895: + case 16896: + case 16900: + case 16901: + case 16902: + case 16906: + case 16907: + case 16908: + case 16912: + case 16913: + case 16914: + case 16918: + case 16919: + case 16920: + case 16924: + case 16925: + case 16926: + case 16930: + case 16931: + case 16932: + case 16936: + case 16937: + case 16938: + case 16942: + case 16943: + case 16944: + case 16948: + case 16949: + case 16950: + case 16954: + case 16955: + case 16956: + case 16960: + case 16961: + case 16962: + case 16966: + case 16967: + case 16968: + case 16972: + case 16973: + case 16974: + case 16978: + case 16979: + case 16980: + case 16984: + case 16985: + case 16986: + case 16990: + case 16991: + case 16992: return East::Low; + case 16780: + case 16781: + case 16782: + case 16786: + case 16787: + case 16788: + case 16792: + case 16793: + case 16794: + case 16798: + case 16799: + case 16800: + case 16804: + case 16805: + case 16806: + case 16810: + case 16811: + case 16812: + case 16816: + case 16817: + case 16818: + case 16822: + case 16823: + case 16824: + case 16828: + case 16829: + case 16830: + case 16834: + case 16835: + case 16836: + case 16840: + case 16841: + case 16842: + case 16846: + case 16847: + case 16848: + case 16852: + case 16853: + case 16854: + case 16858: + case 16859: + case 16860: + case 16864: + case 16865: + case 16866: + case 16870: + case 16871: + case 16872: + case 16876: + case 16877: + case 16878: + case 16882: + case 16883: + case 16884: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 16816: + case 16817: + case 16818: + case 16822: + case 16823: + case 16824: + case 16828: + case 16829: + case 16830: + case 16834: + case 16835: + case 16836: + case 16840: + case 16841: + case 16842: + case 16846: + case 16847: + case 16848: + case 16924: + case 16925: + case 16926: + case 16930: + case 16931: + case 16932: + case 16936: + case 16937: + case 16938: + case 16942: + case 16943: + case 16944: + case 16948: + case 16949: + case 16950: + case 16954: + case 16955: + case 16956: + case 17032: + case 17033: + case 17034: + case 17038: + case 17039: + case 17040: + case 17044: + case 17045: + case 17046: + case 17050: + case 17051: + case 17052: + case 17056: + case 17057: + case 17058: + case 17062: + case 17063: + case 17064: return North::Low; + case 16780: + case 16781: + case 16782: + case 16786: + case 16787: + case 16788: + case 16792: + case 16793: + case 16794: + case 16798: + case 16799: + case 16800: + case 16804: + case 16805: + case 16806: + case 16810: + case 16811: + case 16812: + case 16888: + case 16889: + case 16890: + case 16894: + case 16895: + case 16896: + case 16900: + case 16901: + case 16902: + case 16906: + case 16907: + case 16908: + case 16912: + case 16913: + case 16914: + case 16918: + case 16919: + case 16920: + case 16996: + case 16997: + case 16998: + case 17002: + case 17003: + case 17004: + case 17008: + case 17009: + case 17010: + case 17014: + case 17015: + case 17016: + case 17020: + case 17021: + case 17022: + case 17026: + case 17027: + case 17028: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 16792: + case 16793: + case 16794: + case 16798: + case 16799: + case 16800: + case 16828: + case 16829: + case 16830: + case 16834: + case 16835: + case 16836: + case 16864: + case 16865: + case 16866: + case 16870: + case 16871: + case 16872: + case 16900: + case 16901: + case 16902: + case 16906: + case 16907: + case 16908: + case 16936: + case 16937: + case 16938: + case 16942: + case 16943: + case 16944: + case 16972: + case 16973: + case 16974: + case 16978: + case 16979: + case 16980: + case 17008: + case 17009: + case 17010: + case 17014: + case 17015: + case 17016: + case 17044: + case 17045: + case 17046: + case 17050: + case 17051: + case 17052: + case 17080: + case 17081: + case 17082: + case 17086: + case 17087: + case 17088: return South::Low; + case 16780: + case 16781: + case 16782: + case 16786: + case 16787: + case 16788: + case 16816: + case 16817: + case 16818: + case 16822: + case 16823: + case 16824: + case 16852: + case 16853: + case 16854: + case 16858: + case 16859: + case 16860: + case 16888: + case 16889: + case 16890: + case 16894: + case 16895: + case 16896: + case 16924: + case 16925: + case 16926: + case 16930: + case 16931: + case 16932: + case 16960: + case 16961: + case 16962: + case 16966: + case 16967: + case 16968: + case 16996: + case 16997: + case 16998: + case 17002: + case 17003: + case 17004: + case 17032: + case 17033: + case 17034: + case 17038: + case 17039: + case 17040: + case 17068: + case 17069: + case 17070: + case 17074: + case 17075: + case 17076: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 16786: + case 16787: + case 16788: + case 16798: + case 16799: + case 16800: + case 16810: + case 16811: + case 16812: + case 16822: + case 16823: + case 16824: + case 16834: + case 16835: + case 16836: + case 16846: + case 16847: + case 16848: + case 16858: + case 16859: + case 16860: + case 16870: + case 16871: + case 16872: + case 16882: + case 16883: + case 16884: + case 16894: + case 16895: + case 16896: + case 16906: + case 16907: + case 16908: + case 16918: + case 16919: + case 16920: + case 16930: + case 16931: + case 16932: + case 16942: + case 16943: + case 16944: + case 16954: + case 16955: + case 16956: + case 16966: + case 16967: + case 16968: + case 16978: + case 16979: + case 16980: + case 16990: + case 16991: + case 16992: + case 17002: + case 17003: + case 17004: + case 17014: + case 17015: + case 17016: + case 17026: + case 17027: + case 17028: + case 17038: + case 17039: + case 17040: + case 17050: + case 17051: + case 17052: + case 17062: + case 17063: + case 17064: + case 17074: + case 17075: + case 17076: + case 17086: + case 17087: + case 17088: + case 17098: + case 17099: + case 17100: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 16781: + case 16787: + case 16793: + case 16799: + case 16805: + case 16811: + case 16817: + case 16823: + case 16829: + case 16835: + case 16841: + case 16847: + case 16853: + case 16859: + case 16865: + case 16871: + case 16877: + case 16883: + case 16889: + case 16895: + case 16901: + case 16907: + case 16913: + case 16919: + case 16925: + case 16931: + case 16937: + case 16943: + case 16949: + case 16955: + case 16961: + case 16967: + case 16973: + case 16979: + case 16985: + case 16991: + case 16997: + case 17003: + case 17009: + case 17015: + case 17021: + case 17027: + case 17033: + case 17039: + case 17045: + case 17051: + case 17057: + case 17063: + case 17069: + case 17075: + case 17081: + case 17087: + case 17093: + case 17099: return West::Low; + case 16780: + case 16786: + case 16792: + case 16798: + case 16804: + case 16810: + case 16816: + case 16822: + case 16828: + case 16834: + case 16840: + case 16846: + case 16852: + case 16858: + case 16864: + case 16870: + case 16876: + case 16882: + case 16888: + case 16894: + case 16900: + case 16906: + case 16912: + case 16918: + case 16924: + case 16930: + case 16936: + case 16942: + case 16948: + case 16954: + case 16960: + case 16966: + case 16972: + case 16978: + case 16984: + case 16990: + case 16996: + case 17002: + case 17008: + case 17014: + case 17020: + case 17026: + case 17032: + case 17038: + case 17044: + case 17050: + case 17056: + case 17062: + case 17068: + case 17074: + case 17080: + case 17086: + case 17092: + case 17098: return West::None; + default: return West::Tall; + } +} +} // namespace PolishedBlackstoneWall +namespace PolishedDiorite +{ +} +namespace PolishedDioriteSlab +{ +BlockState PolishedDioriteSlab() +{ + return 10810; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10810: return Type::Bottom; + case 10812: return Type::Double; + default: return Type::Top; + } +} +} // namespace PolishedDioriteSlab +namespace PolishedDioriteStairs +{ +BlockState PolishedDioriteStairs() +{ + return 9920; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9950: + case 9952: + case 9954: + case 9956: + case 9958: + case 9960: + case 9962: + case 9964: + case 9966: + case 9968: return eBlockFace::BLOCK_FACE_XM; + case 9970: + case 9972: + case 9974: + case 9976: + case 9978: + case 9980: + case 9982: + case 9984: + case 9986: + case 9988: return eBlockFace::BLOCK_FACE_XP; + case 9910: + case 9912: + case 9914: + case 9916: + case 9918: + case 9920: + case 9922: + case 9924: + case 9926: + case 9928: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 9920: + case 9922: + case 9924: + case 9926: + case 9928: + case 9940: + case 9942: + case 9944: + case 9946: + case 9948: + case 9960: + case 9962: + case 9964: + case 9966: + case 9968: + case 9980: + case 9982: + case 9984: + case 9986: + case 9988: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 9912: + case 9922: + case 9932: + case 9942: + case 9952: + case 9962: + case 9972: + case 9982: return Shape::InnerLeft; + case 9914: + case 9924: + case 9934: + case 9944: + case 9954: + case 9964: + case 9974: + case 9984: return Shape::InnerRight; + case 9916: + case 9926: + case 9936: + case 9946: + case 9956: + case 9966: + case 9976: + case 9986: return Shape::OuterLeft; + case 9918: + case 9928: + case 9938: + case 9948: + case 9958: + case 9968: + case 9978: + case 9988: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace PolishedDioriteStairs +namespace PolishedGranite +{ +} +namespace PolishedGraniteSlab +{ +BlockState PolishedGraniteSlab() +{ + return 10792; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10792: return Type::Bottom; + case 10794: return Type::Double; + default: return Type::Top; + } +} +} // namespace PolishedGraniteSlab +namespace PolishedGraniteStairs +{ +BlockState PolishedGraniteStairs() +{ + return 9680; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9710: + case 9712: + case 9714: + case 9716: + case 9718: + case 9720: + case 9722: + case 9724: + case 9726: + case 9728: return eBlockFace::BLOCK_FACE_XM; + case 9730: + case 9732: + case 9734: + case 9736: + case 9738: + case 9740: + case 9742: + case 9744: + case 9746: + case 9748: return eBlockFace::BLOCK_FACE_XP; + case 9670: + case 9672: + case 9674: + case 9676: + case 9678: + case 9680: + case 9682: + case 9684: + case 9686: + case 9688: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 9680: + case 9682: + case 9684: + case 9686: + case 9688: + case 9700: + case 9702: + case 9704: + case 9706: + case 9708: + case 9720: + case 9722: + case 9724: + case 9726: + case 9728: + case 9740: + case 9742: + case 9744: + case 9746: + case 9748: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 9672: + case 9682: + case 9692: + case 9702: + case 9712: + case 9722: + case 9732: + case 9742: return Shape::InnerLeft; + case 9674: + case 9684: + case 9694: + case 9704: + case 9714: + case 9724: + case 9734: + case 9744: return Shape::InnerRight; + case 9676: + case 9686: + case 9696: + case 9706: + case 9716: + case 9726: + case 9736: + case 9746: return Shape::OuterLeft; + case 9678: + case 9688: + case 9698: + case 9708: + case 9718: + case 9728: + case 9738: + case 9748: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace PolishedGraniteStairs +namespace Poppy +{ +} +namespace Potatoes +{ +BlockState Potatoes() +{ + return 6338; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 6338: return 0; + case 6339: return 1; + case 6340: return 2; + case 6341: return 3; + case 6342: return 4; + case 6343: return 5; + case 6344: return 6; + default: return 7; + } +} +} // namespace Potatoes +namespace PottedAcaciaSapling +{ +} +namespace PottedAllium +{ +} +namespace PottedAzureBluet +{ +} +namespace PottedBamboo +{ +} +namespace PottedBirchSapling +{ +} +namespace PottedBlueOrchid +{ +} +namespace PottedBrownMushroom +{ +} +namespace PottedCactus +{ +} +namespace PottedCornflower +{ +} +namespace PottedCrimsonFungus +{ +} +namespace PottedCrimsonRoots +{ +} +namespace PottedDandelion +{ +} +namespace PottedDarkOakSapling +{ +} +namespace PottedDeadBush +{ +} +namespace PottedFern +{ +} +namespace PottedJungleSapling +{ +} +namespace PottedLilyOfTheValley +{ +} +namespace PottedOakSapling +{ +} +namespace PottedOrangeTulip +{ +} +namespace PottedOxeyeDaisy +{ +} +namespace PottedPinkTulip +{ +} +namespace PottedPoppy +{ +} +namespace PottedRedMushroom +{ +} +namespace PottedRedTulip +{ +} +namespace PottedSpruceSapling +{ +} +namespace PottedWarpedFungus +{ +} +namespace PottedWarpedRoots +{ +} +namespace PottedWhiteTulip +{ +} +namespace PottedWitherRose +{ +} +namespace PoweredRail +{ +BlockState PoweredRail() +{ + return 1311; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 1311: + case 1312: + case 1313: + case 1314: + case 1315: + case 1316: return false; + default: return true; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 1307: + case 1313: return Shape::AscendingEast; + case 1309: + case 1315: return Shape::AscendingNorth; + case 1310: + case 1316: return Shape::AscendingSouth; + case 1308: + case 1314: return Shape::AscendingWest; + case 1306: + case 1312: return Shape::EastWest; + default: return Shape::NorthSouth; + } +} +} // namespace PoweredRail +namespace Prismarine +{ +} +namespace PrismarineBrickSlab +{ +BlockState PrismarineBrickSlab() +{ + return 7853; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 7853: return Type::Bottom; + case 7855: return Type::Double; + default: return Type::Top; + } +} +} // namespace PrismarineBrickSlab +namespace PrismarineBrickStairs +{ +BlockState PrismarineBrickStairs() +{ + return 7695; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 7725: + case 7727: + case 7729: + case 7731: + case 7733: + case 7735: + case 7737: + case 7739: + case 7741: + case 7743: return eBlockFace::BLOCK_FACE_XM; + case 7745: + case 7747: + case 7749: + case 7751: + case 7753: + case 7755: + case 7757: + case 7759: + case 7761: + case 7763: return eBlockFace::BLOCK_FACE_XP; + case 7685: + case 7687: + case 7689: + case 7691: + case 7693: + case 7695: + case 7697: + case 7699: + case 7701: + case 7703: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7695: + case 7697: + case 7699: + case 7701: + case 7703: + case 7715: + case 7717: + case 7719: + case 7721: + case 7723: + case 7735: + case 7737: + case 7739: + case 7741: + case 7743: + case 7755: + case 7757: + case 7759: + case 7761: + case 7763: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 7687: + case 7697: + case 7707: + case 7717: + case 7727: + case 7737: + case 7747: + case 7757: return Shape::InnerLeft; + case 7689: + case 7699: + case 7709: + case 7719: + case 7729: + case 7739: + case 7749: + case 7759: return Shape::InnerRight; + case 7691: + case 7701: + case 7711: + case 7721: + case 7731: + case 7741: + case 7751: + case 7761: return Shape::OuterLeft; + case 7693: + case 7703: + case 7713: + case 7723: + case 7733: + case 7743: + case 7753: + case 7763: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace PrismarineBrickStairs +namespace PrismarineBricks +{ +} +namespace PrismarineSlab +{ +BlockState PrismarineSlab() +{ + return 7847; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 7847: return Type::Bottom; + case 7849: return Type::Double; + default: return Type::Top; + } +} +} // namespace PrismarineSlab +namespace PrismarineStairs +{ +BlockState PrismarineStairs() +{ + return 7615; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 7645: + case 7647: + case 7649: + case 7651: + case 7653: + case 7655: + case 7657: + case 7659: + case 7661: + case 7663: return eBlockFace::BLOCK_FACE_XM; + case 7665: + case 7667: + case 7669: + case 7671: + case 7673: + case 7675: + case 7677: + case 7679: + case 7681: + case 7683: return eBlockFace::BLOCK_FACE_XP; + case 7605: + case 7607: + case 7609: + case 7611: + case 7613: + case 7615: + case 7617: + case 7619: + case 7621: + case 7623: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7615: + case 7617: + case 7619: + case 7621: + case 7623: + case 7635: + case 7637: + case 7639: + case 7641: + case 7643: + case 7655: + case 7657: + case 7659: + case 7661: + case 7663: + case 7675: + case 7677: + case 7679: + case 7681: + case 7683: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 7607: + case 7617: + case 7627: + case 7637: + case 7647: + case 7657: + case 7667: + case 7677: return Shape::InnerLeft; + case 7609: + case 7619: + case 7629: + case 7639: + case 7649: + case 7659: + case 7669: + case 7679: return Shape::InnerRight; + case 7611: + case 7621: + case 7631: + case 7641: + case 7651: + case 7661: + case 7671: + case 7681: return Shape::OuterLeft; + case 7613: + case 7623: + case 7633: + case 7643: + case 7653: + case 7663: + case 7673: + case 7683: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace PrismarineStairs +namespace PrismarineWall +{ +BlockState PrismarineWall() +{ + return 11194; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 11302: + case 11303: + case 11304: + case 11308: + case 11309: + case 11310: + case 11314: + case 11315: + case 11316: + case 11320: + case 11321: + case 11322: + case 11326: + case 11327: + case 11328: + case 11332: + case 11333: + case 11334: + case 11338: + case 11339: + case 11340: + case 11344: + case 11345: + case 11346: + case 11350: + case 11351: + case 11352: + case 11356: + case 11357: + case 11358: + case 11362: + case 11363: + case 11364: + case 11368: + case 11369: + case 11370: + case 11374: + case 11375: + case 11376: + case 11380: + case 11381: + case 11382: + case 11386: + case 11387: + case 11388: + case 11392: + case 11393: + case 11394: + case 11398: + case 11399: + case 11400: + case 11404: + case 11405: + case 11406: return East::Low; + case 11194: + case 11195: + case 11196: + case 11200: + case 11201: + case 11202: + case 11206: + case 11207: + case 11208: + case 11212: + case 11213: + case 11214: + case 11218: + case 11219: + case 11220: + case 11224: + case 11225: + case 11226: + case 11230: + case 11231: + case 11232: + case 11236: + case 11237: + case 11238: + case 11242: + case 11243: + case 11244: + case 11248: + case 11249: + case 11250: + case 11254: + case 11255: + case 11256: + case 11260: + case 11261: + case 11262: + case 11266: + case 11267: + case 11268: + case 11272: + case 11273: + case 11274: + case 11278: + case 11279: + case 11280: + case 11284: + case 11285: + case 11286: + case 11290: + case 11291: + case 11292: + case 11296: + case 11297: + case 11298: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 11230: + case 11231: + case 11232: + case 11236: + case 11237: + case 11238: + case 11242: + case 11243: + case 11244: + case 11248: + case 11249: + case 11250: + case 11254: + case 11255: + case 11256: + case 11260: + case 11261: + case 11262: + case 11338: + case 11339: + case 11340: + case 11344: + case 11345: + case 11346: + case 11350: + case 11351: + case 11352: + case 11356: + case 11357: + case 11358: + case 11362: + case 11363: + case 11364: + case 11368: + case 11369: + case 11370: + case 11446: + case 11447: + case 11448: + case 11452: + case 11453: + case 11454: + case 11458: + case 11459: + case 11460: + case 11464: + case 11465: + case 11466: + case 11470: + case 11471: + case 11472: + case 11476: + case 11477: + case 11478: return North::Low; + case 11194: + case 11195: + case 11196: + case 11200: + case 11201: + case 11202: + case 11206: + case 11207: + case 11208: + case 11212: + case 11213: + case 11214: + case 11218: + case 11219: + case 11220: + case 11224: + case 11225: + case 11226: + case 11302: + case 11303: + case 11304: + case 11308: + case 11309: + case 11310: + case 11314: + case 11315: + case 11316: + case 11320: + case 11321: + case 11322: + case 11326: + case 11327: + case 11328: + case 11332: + case 11333: + case 11334: + case 11410: + case 11411: + case 11412: + case 11416: + case 11417: + case 11418: + case 11422: + case 11423: + case 11424: + case 11428: + case 11429: + case 11430: + case 11434: + case 11435: + case 11436: + case 11440: + case 11441: + case 11442: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 11206: + case 11207: + case 11208: + case 11212: + case 11213: + case 11214: + case 11242: + case 11243: + case 11244: + case 11248: + case 11249: + case 11250: + case 11278: + case 11279: + case 11280: + case 11284: + case 11285: + case 11286: + case 11314: + case 11315: + case 11316: + case 11320: + case 11321: + case 11322: + case 11350: + case 11351: + case 11352: + case 11356: + case 11357: + case 11358: + case 11386: + case 11387: + case 11388: + case 11392: + case 11393: + case 11394: + case 11422: + case 11423: + case 11424: + case 11428: + case 11429: + case 11430: + case 11458: + case 11459: + case 11460: + case 11464: + case 11465: + case 11466: + case 11494: + case 11495: + case 11496: + case 11500: + case 11501: + case 11502: return South::Low; + case 11194: + case 11195: + case 11196: + case 11200: + case 11201: + case 11202: + case 11230: + case 11231: + case 11232: + case 11236: + case 11237: + case 11238: + case 11266: + case 11267: + case 11268: + case 11272: + case 11273: + case 11274: + case 11302: + case 11303: + case 11304: + case 11308: + case 11309: + case 11310: + case 11338: + case 11339: + case 11340: + case 11344: + case 11345: + case 11346: + case 11374: + case 11375: + case 11376: + case 11380: + case 11381: + case 11382: + case 11410: + case 11411: + case 11412: + case 11416: + case 11417: + case 11418: + case 11446: + case 11447: + case 11448: + case 11452: + case 11453: + case 11454: + case 11482: + case 11483: + case 11484: + case 11488: + case 11489: + case 11490: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 11200: + case 11201: + case 11202: + case 11212: + case 11213: + case 11214: + case 11224: + case 11225: + case 11226: + case 11236: + case 11237: + case 11238: + case 11248: + case 11249: + case 11250: + case 11260: + case 11261: + case 11262: + case 11272: + case 11273: + case 11274: + case 11284: + case 11285: + case 11286: + case 11296: + case 11297: + case 11298: + case 11308: + case 11309: + case 11310: + case 11320: + case 11321: + case 11322: + case 11332: + case 11333: + case 11334: + case 11344: + case 11345: + case 11346: + case 11356: + case 11357: + case 11358: + case 11368: + case 11369: + case 11370: + case 11380: + case 11381: + case 11382: + case 11392: + case 11393: + case 11394: + case 11404: + case 11405: + case 11406: + case 11416: + case 11417: + case 11418: + case 11428: + case 11429: + case 11430: + case 11440: + case 11441: + case 11442: + case 11452: + case 11453: + case 11454: + case 11464: + case 11465: + case 11466: + case 11476: + case 11477: + case 11478: + case 11488: + case 11489: + case 11490: + case 11500: + case 11501: + case 11502: + case 11512: + case 11513: + case 11514: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 11195: + case 11201: + case 11207: + case 11213: + case 11219: + case 11225: + case 11231: + case 11237: + case 11243: + case 11249: + case 11255: + case 11261: + case 11267: + case 11273: + case 11279: + case 11285: + case 11291: + case 11297: + case 11303: + case 11309: + case 11315: + case 11321: + case 11327: + case 11333: + case 11339: + case 11345: + case 11351: + case 11357: + case 11363: + case 11369: + case 11375: + case 11381: + case 11387: + case 11393: + case 11399: + case 11405: + case 11411: + case 11417: + case 11423: + case 11429: + case 11435: + case 11441: + case 11447: + case 11453: + case 11459: + case 11465: + case 11471: + case 11477: + case 11483: + case 11489: + case 11495: + case 11501: + case 11507: + case 11513: return West::Low; + case 11194: + case 11200: + case 11206: + case 11212: + case 11218: + case 11224: + case 11230: + case 11236: + case 11242: + case 11248: + case 11254: + case 11260: + case 11266: + case 11272: + case 11278: + case 11284: + case 11290: + case 11296: + case 11302: + case 11308: + case 11314: + case 11320: + case 11326: + case 11332: + case 11338: + case 11344: + case 11350: + case 11356: + case 11362: + case 11368: + case 11374: + case 11380: + case 11386: + case 11392: + case 11398: + case 11404: + case 11410: + case 11416: + case 11422: + case 11428: + case 11434: + case 11440: + case 11446: + case 11452: + case 11458: + case 11464: + case 11470: + case 11476: + case 11482: + case 11488: + case 11494: + case 11500: + case 11506: + case 11512: return West::None; + default: return West::Tall; + } +} +} // namespace PrismarineWall +namespace Pumpkin +{ +} +namespace PumpkinStem +{ +BlockState PumpkinStem() +{ + return 4772; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 4772: return 0; + case 4773: return 1; + case 4774: return 2; + case 4775: return 3; + case 4776: return 4; + case 4777: return 5; + case 4778: return 6; + default: return 7; + } +} +} // namespace PumpkinStem +namespace PurpleBanner +{ +BlockState PurpleBanner() +{ + return 8057; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8057: return 0; + case 8058: return 1; + case 8067: return 10; + case 8068: return 11; + case 8069: return 12; + case 8070: return 13; + case 8071: return 14; + case 8072: return 15; + case 8059: return 2; + case 8060: return 3; + case 8061: return 4; + case 8062: return 5; + case 8063: return 6; + case 8064: return 7; + case 8065: return 8; + default: return 9; + } +} +} // namespace PurpleBanner +namespace PurpleBed +{ +BlockState PurpleBed() +{ + return 1212; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1217: + case 1218: + case 1219: + case 1220: return eBlockFace::BLOCK_FACE_XM; + case 1221: + case 1222: + case 1223: + case 1224: return eBlockFace::BLOCK_FACE_XP; + case 1209: + case 1210: + case 1211: + case 1212: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1211: + case 1212: + case 1215: + case 1216: + case 1219: + case 1220: + case 1223: + case 1224: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1210: + case 1212: + case 1214: + case 1216: + case 1218: + case 1220: + case 1222: + case 1224: return Part::Foot; + default: return Part::Head; + } +} +} // namespace PurpleBed +namespace PurpleCarpet +{ +} +namespace PurpleConcrete +{ +} +namespace PurpleConcretePowder +{ +} +namespace PurpleGlazedTerracotta +{ +BlockState PurpleGlazedTerracotta() +{ + return 9414; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9416: return eBlockFace::BLOCK_FACE_XM; + case 9417: return eBlockFace::BLOCK_FACE_XP; + case 9414: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace PurpleGlazedTerracotta +namespace PurpleShulkerBox +{ +BlockState PurpleShulkerBox() +{ + return 9342; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9341: return eBlockFace::BLOCK_FACE_XM; + case 9339: return eBlockFace::BLOCK_FACE_XP; + case 9343: return eBlockFace::BLOCK_FACE_YM; + case 9342: return eBlockFace::BLOCK_FACE_YP; + case 9338: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace PurpleShulkerBox +namespace PurpleStainedGlass +{ +} +namespace PurpleStainedGlassPane +{ +BlockState PurpleStainedGlassPane() +{ + return 7214; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7201: + case 7202: + case 7205: + case 7206: + case 7209: + case 7210: + case 7213: + case 7214: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7193: + case 7194: + case 7197: + case 7198: + case 7209: + case 7210: + case 7213: + case 7214: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7189: + case 7190: + case 7197: + case 7198: + case 7205: + case 7206: + case 7213: + case 7214: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7186: + case 7190: + case 7194: + case 7198: + case 7202: + case 7206: + case 7210: + case 7214: return false; + default: return true; + } +} +} // namespace PurpleStainedGlassPane +namespace PurpleTerracotta +{ +} +namespace PurpleWallBanner +{ +BlockState PurpleWallBanner() +{ + return 8193; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8195: return eBlockFace::BLOCK_FACE_XM; + case 8196: return eBlockFace::BLOCK_FACE_XP; + case 8193: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace PurpleWallBanner +namespace PurpleWool +{ +} +namespace PurpurBlock +{ +} +namespace PurpurPillar +{ +BlockState PurpurPillar() +{ + return 9136; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 9135: return Axis::X; + case 9136: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace PurpurPillar +namespace PurpurSlab +{ +BlockState PurpurSlab() +{ + return 8411; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8411: return Type::Bottom; + case 8413: return Type::Double; + default: return Type::Top; + } +} +} // namespace PurpurSlab +namespace PurpurStairs +{ +BlockState PurpurStairs() +{ + return 9149; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9179: + case 9181: + case 9183: + case 9185: + case 9187: + case 9189: + case 9191: + case 9193: + case 9195: + case 9197: return eBlockFace::BLOCK_FACE_XM; + case 9199: + case 9201: + case 9203: + case 9205: + case 9207: + case 9209: + case 9211: + case 9213: + case 9215: + case 9217: return eBlockFace::BLOCK_FACE_XP; + case 9139: + case 9141: + case 9143: + case 9145: + case 9147: + case 9149: + case 9151: + case 9153: + case 9155: + case 9157: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 9149: + case 9151: + case 9153: + case 9155: + case 9157: + case 9169: + case 9171: + case 9173: + case 9175: + case 9177: + case 9189: + case 9191: + case 9193: + case 9195: + case 9197: + case 9209: + case 9211: + case 9213: + case 9215: + case 9217: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 9141: + case 9151: + case 9161: + case 9171: + case 9181: + case 9191: + case 9201: + case 9211: return Shape::InnerLeft; + case 9143: + case 9153: + case 9163: + case 9173: + case 9183: + case 9193: + case 9203: + case 9213: return Shape::InnerRight; + case 9145: + case 9155: + case 9165: + case 9175: + case 9185: + case 9195: + case 9205: + case 9215: return Shape::OuterLeft; + case 9147: + case 9157: + case 9167: + case 9177: + case 9187: + case 9197: + case 9207: + case 9217: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace PurpurStairs +namespace QuartzBlock +{ +} +namespace QuartzBricks +{ +} +namespace QuartzPillar +{ +BlockState QuartzPillar() +{ + return 6741; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 6740: return Axis::X; + case 6741: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace QuartzPillar +namespace QuartzSlab +{ +BlockState QuartzSlab() +{ + return 8393; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8393: return Type::Bottom; + case 8395: return Type::Double; + default: return Type::Top; + } +} +} // namespace QuartzSlab +namespace QuartzStairs +{ +BlockState QuartzStairs() +{ + return 6754; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6784: + case 6786: + case 6788: + case 6790: + case 6792: + case 6794: + case 6796: + case 6798: + case 6800: + case 6802: return eBlockFace::BLOCK_FACE_XM; + case 6804: + case 6806: + case 6808: + case 6810: + case 6812: + case 6814: + case 6816: + case 6818: + case 6820: + case 6822: return eBlockFace::BLOCK_FACE_XP; + case 6744: + case 6746: + case 6748: + case 6750: + case 6752: + case 6754: + case 6756: + case 6758: + case 6760: + case 6762: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 6754: + case 6756: + case 6758: + case 6760: + case 6762: + case 6774: + case 6776: + case 6778: + case 6780: + case 6782: + case 6794: + case 6796: + case 6798: + case 6800: + case 6802: + case 6814: + case 6816: + case 6818: + case 6820: + case 6822: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 6746: + case 6756: + case 6766: + case 6776: + case 6786: + case 6796: + case 6806: + case 6816: return Shape::InnerLeft; + case 6748: + case 6758: + case 6768: + case 6778: + case 6788: + case 6798: + case 6808: + case 6818: return Shape::InnerRight; + case 6750: + case 6760: + case 6770: + case 6780: + case 6790: + case 6800: + case 6810: + case 6820: return Shape::OuterLeft; + case 6752: + case 6762: + case 6772: + case 6782: + case 6792: + case 6802: + case 6812: + case 6822: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace QuartzStairs +namespace Rail +{ +BlockState Rail() +{ + return 3645; +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 3647: return Shape::AscendingEast; + case 3649: return Shape::AscendingNorth; + case 3650: return Shape::AscendingSouth; + case 3648: return Shape::AscendingWest; + case 3646: return Shape::EastWest; + case 3654: return Shape::NorthEast; + case 3645: return Shape::NorthSouth; + case 3653: return Shape::NorthWest; + case 3651: return Shape::SouthEast; + default: return Shape::SouthWest; + } +} +} // namespace Rail +namespace RedBanner +{ +BlockState RedBanner() +{ + return 8121; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 8121: return 0; + case 8122: return 1; + case 8131: return 10; + case 8132: return 11; + case 8133: return 12; + case 8134: return 13; + case 8135: return 14; + case 8136: return 15; + case 8123: return 2; + case 8124: return 3; + case 8125: return 4; + case 8126: return 5; + case 8127: return 6; + case 8128: return 7; + case 8129: return 8; + default: return 9; + } +} +} // namespace RedBanner +namespace RedBed +{ +BlockState RedBed() +{ + return 1276; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1281: + case 1282: + case 1283: + case 1284: return eBlockFace::BLOCK_FACE_XM; + case 1285: + case 1286: + case 1287: + case 1288: return eBlockFace::BLOCK_FACE_XP; + case 1273: + case 1274: + case 1275: + case 1276: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1275: + case 1276: + case 1279: + case 1280: + case 1283: + case 1284: + case 1287: + case 1288: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1274: + case 1276: + case 1278: + case 1280: + case 1282: + case 1284: + case 1286: + case 1288: return Part::Foot; + default: return Part::Head; + } +} +} // namespace RedBed +namespace RedCarpet +{ +} +namespace RedConcrete +{ +} +namespace RedConcretePowder +{ +} +namespace RedGlazedTerracotta +{ +BlockState RedGlazedTerracotta() +{ + return 9430; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9432: return eBlockFace::BLOCK_FACE_XM; + case 9433: return eBlockFace::BLOCK_FACE_XP; + case 9430: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace RedGlazedTerracotta +namespace RedMushroom +{ +} +namespace RedMushroomBlock +{ +BlockState RedMushroomBlock() +{ + return 4569; +} +bool Down(const BlockState Block) +{ + switch (Block.ID) + { + case 4601: + case 4602: + case 4603: + case 4604: + case 4605: + case 4606: + case 4607: + case 4608: + case 4609: + case 4610: + case 4611: + case 4612: + case 4613: + case 4614: + case 4615: + case 4616: + case 4617: + case 4618: + case 4619: + case 4620: + case 4621: + case 4622: + case 4623: + case 4624: + case 4625: + case 4626: + case 4627: + case 4628: + case 4629: + case 4630: + case 4631: + case 4632: return false; + default: return true; + } +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 4585: + case 4586: + case 4587: + case 4588: + case 4589: + case 4590: + case 4591: + case 4592: + case 4593: + case 4594: + case 4595: + case 4596: + case 4597: + case 4598: + case 4599: + case 4600: + case 4617: + case 4618: + case 4619: + case 4620: + case 4621: + case 4622: + case 4623: + case 4624: + case 4625: + case 4626: + case 4627: + case 4628: + case 4629: + case 4630: + case 4631: + case 4632: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 4577: + case 4578: + case 4579: + case 4580: + case 4581: + case 4582: + case 4583: + case 4584: + case 4593: + case 4594: + case 4595: + case 4596: + case 4597: + case 4598: + case 4599: + case 4600: + case 4609: + case 4610: + case 4611: + case 4612: + case 4613: + case 4614: + case 4615: + case 4616: + case 4625: + case 4626: + case 4627: + case 4628: + case 4629: + case 4630: + case 4631: + case 4632: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 4573: + case 4574: + case 4575: + case 4576: + case 4581: + case 4582: + case 4583: + case 4584: + case 4589: + case 4590: + case 4591: + case 4592: + case 4597: + case 4598: + case 4599: + case 4600: + case 4605: + case 4606: + case 4607: + case 4608: + case 4613: + case 4614: + case 4615: + case 4616: + case 4621: + case 4622: + case 4623: + case 4624: + case 4629: + case 4630: + case 4631: + case 4632: return false; + default: return true; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 4571: + case 4572: + case 4575: + case 4576: + case 4579: + case 4580: + case 4583: + case 4584: + case 4587: + case 4588: + case 4591: + case 4592: + case 4595: + case 4596: + case 4599: + case 4600: + case 4603: + case 4604: + case 4607: + case 4608: + case 4611: + case 4612: + case 4615: + case 4616: + case 4619: + case 4620: + case 4623: + case 4624: + case 4627: + case 4628: + case 4631: + case 4632: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 4570: + case 4572: + case 4574: + case 4576: + case 4578: + case 4580: + case 4582: + case 4584: + case 4586: + case 4588: + case 4590: + case 4592: + case 4594: + case 4596: + case 4598: + case 4600: + case 4602: + case 4604: + case 4606: + case 4608: + case 4610: + case 4612: + case 4614: + case 4616: + case 4618: + case 4620: + case 4622: + case 4624: + case 4626: + case 4628: + case 4630: + case 4632: return false; + default: return true; + } +} +} // namespace RedMushroomBlock +namespace RedNetherBrickSlab +{ +BlockState RedNetherBrickSlab() +{ + return 10852; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10852: return Type::Bottom; + case 10854: return Type::Double; + default: return Type::Top; + } +} +} // namespace RedNetherBrickSlab +namespace RedNetherBrickStairs +{ +BlockState RedNetherBrickStairs() +{ + return 10560; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10590: + case 10592: + case 10594: + case 10596: + case 10598: + case 10600: + case 10602: + case 10604: + case 10606: + case 10608: return eBlockFace::BLOCK_FACE_XM; + case 10610: + case 10612: + case 10614: + case 10616: + case 10618: + case 10620: + case 10622: + case 10624: + case 10626: + case 10628: return eBlockFace::BLOCK_FACE_XP; + case 10550: + case 10552: + case 10554: + case 10556: + case 10558: + case 10560: + case 10562: + case 10564: + case 10566: + case 10568: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10560: + case 10562: + case 10564: + case 10566: + case 10568: + case 10580: + case 10582: + case 10584: + case 10586: + case 10588: + case 10600: + case 10602: + case 10604: + case 10606: + case 10608: + case 10620: + case 10622: + case 10624: + case 10626: + case 10628: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10552: + case 10562: + case 10572: + case 10582: + case 10592: + case 10602: + case 10612: + case 10622: return Shape::InnerLeft; + case 10554: + case 10564: + case 10574: + case 10584: + case 10594: + case 10604: + case 10614: + case 10624: return Shape::InnerRight; + case 10556: + case 10566: + case 10576: + case 10586: + case 10596: + case 10606: + case 10616: + case 10626: return Shape::OuterLeft; + case 10558: + case 10568: + case 10578: + case 10588: + case 10598: + case 10608: + case 10618: + case 10628: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace RedNetherBrickStairs +namespace RedNetherBrickWall +{ +BlockState RedNetherBrickWall() +{ + return 13462; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 13570: + case 13571: + case 13572: + case 13576: + case 13577: + case 13578: + case 13582: + case 13583: + case 13584: + case 13588: + case 13589: + case 13590: + case 13594: + case 13595: + case 13596: + case 13600: + case 13601: + case 13602: + case 13606: + case 13607: + case 13608: + case 13612: + case 13613: + case 13614: + case 13618: + case 13619: + case 13620: + case 13624: + case 13625: + case 13626: + case 13630: + case 13631: + case 13632: + case 13636: + case 13637: + case 13638: + case 13642: + case 13643: + case 13644: + case 13648: + case 13649: + case 13650: + case 13654: + case 13655: + case 13656: + case 13660: + case 13661: + case 13662: + case 13666: + case 13667: + case 13668: + case 13672: + case 13673: + case 13674: return East::Low; + case 13462: + case 13463: + case 13464: + case 13468: + case 13469: + case 13470: + case 13474: + case 13475: + case 13476: + case 13480: + case 13481: + case 13482: + case 13486: + case 13487: + case 13488: + case 13492: + case 13493: + case 13494: + case 13498: + case 13499: + case 13500: + case 13504: + case 13505: + case 13506: + case 13510: + case 13511: + case 13512: + case 13516: + case 13517: + case 13518: + case 13522: + case 13523: + case 13524: + case 13528: + case 13529: + case 13530: + case 13534: + case 13535: + case 13536: + case 13540: + case 13541: + case 13542: + case 13546: + case 13547: + case 13548: + case 13552: + case 13553: + case 13554: + case 13558: + case 13559: + case 13560: + case 13564: + case 13565: + case 13566: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 13498: + case 13499: + case 13500: + case 13504: + case 13505: + case 13506: + case 13510: + case 13511: + case 13512: + case 13516: + case 13517: + case 13518: + case 13522: + case 13523: + case 13524: + case 13528: + case 13529: + case 13530: + case 13606: + case 13607: + case 13608: + case 13612: + case 13613: + case 13614: + case 13618: + case 13619: + case 13620: + case 13624: + case 13625: + case 13626: + case 13630: + case 13631: + case 13632: + case 13636: + case 13637: + case 13638: + case 13714: + case 13715: + case 13716: + case 13720: + case 13721: + case 13722: + case 13726: + case 13727: + case 13728: + case 13732: + case 13733: + case 13734: + case 13738: + case 13739: + case 13740: + case 13744: + case 13745: + case 13746: return North::Low; + case 13462: + case 13463: + case 13464: + case 13468: + case 13469: + case 13470: + case 13474: + case 13475: + case 13476: + case 13480: + case 13481: + case 13482: + case 13486: + case 13487: + case 13488: + case 13492: + case 13493: + case 13494: + case 13570: + case 13571: + case 13572: + case 13576: + case 13577: + case 13578: + case 13582: + case 13583: + case 13584: + case 13588: + case 13589: + case 13590: + case 13594: + case 13595: + case 13596: + case 13600: + case 13601: + case 13602: + case 13678: + case 13679: + case 13680: + case 13684: + case 13685: + case 13686: + case 13690: + case 13691: + case 13692: + case 13696: + case 13697: + case 13698: + case 13702: + case 13703: + case 13704: + case 13708: + case 13709: + case 13710: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 13474: + case 13475: + case 13476: + case 13480: + case 13481: + case 13482: + case 13510: + case 13511: + case 13512: + case 13516: + case 13517: + case 13518: + case 13546: + case 13547: + case 13548: + case 13552: + case 13553: + case 13554: + case 13582: + case 13583: + case 13584: + case 13588: + case 13589: + case 13590: + case 13618: + case 13619: + case 13620: + case 13624: + case 13625: + case 13626: + case 13654: + case 13655: + case 13656: + case 13660: + case 13661: + case 13662: + case 13690: + case 13691: + case 13692: + case 13696: + case 13697: + case 13698: + case 13726: + case 13727: + case 13728: + case 13732: + case 13733: + case 13734: + case 13762: + case 13763: + case 13764: + case 13768: + case 13769: + case 13770: return South::Low; + case 13462: + case 13463: + case 13464: + case 13468: + case 13469: + case 13470: + case 13498: + case 13499: + case 13500: + case 13504: + case 13505: + case 13506: + case 13534: + case 13535: + case 13536: + case 13540: + case 13541: + case 13542: + case 13570: + case 13571: + case 13572: + case 13576: + case 13577: + case 13578: + case 13606: + case 13607: + case 13608: + case 13612: + case 13613: + case 13614: + case 13642: + case 13643: + case 13644: + case 13648: + case 13649: + case 13650: + case 13678: + case 13679: + case 13680: + case 13684: + case 13685: + case 13686: + case 13714: + case 13715: + case 13716: + case 13720: + case 13721: + case 13722: + case 13750: + case 13751: + case 13752: + case 13756: + case 13757: + case 13758: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 13468: + case 13469: + case 13470: + case 13480: + case 13481: + case 13482: + case 13492: + case 13493: + case 13494: + case 13504: + case 13505: + case 13506: + case 13516: + case 13517: + case 13518: + case 13528: + case 13529: + case 13530: + case 13540: + case 13541: + case 13542: + case 13552: + case 13553: + case 13554: + case 13564: + case 13565: + case 13566: + case 13576: + case 13577: + case 13578: + case 13588: + case 13589: + case 13590: + case 13600: + case 13601: + case 13602: + case 13612: + case 13613: + case 13614: + case 13624: + case 13625: + case 13626: + case 13636: + case 13637: + case 13638: + case 13648: + case 13649: + case 13650: + case 13660: + case 13661: + case 13662: + case 13672: + case 13673: + case 13674: + case 13684: + case 13685: + case 13686: + case 13696: + case 13697: + case 13698: + case 13708: + case 13709: + case 13710: + case 13720: + case 13721: + case 13722: + case 13732: + case 13733: + case 13734: + case 13744: + case 13745: + case 13746: + case 13756: + case 13757: + case 13758: + case 13768: + case 13769: + case 13770: + case 13780: + case 13781: + case 13782: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 13463: + case 13469: + case 13475: + case 13481: + case 13487: + case 13493: + case 13499: + case 13505: + case 13511: + case 13517: + case 13523: + case 13529: + case 13535: + case 13541: + case 13547: + case 13553: + case 13559: + case 13565: + case 13571: + case 13577: + case 13583: + case 13589: + case 13595: + case 13601: + case 13607: + case 13613: + case 13619: + case 13625: + case 13631: + case 13637: + case 13643: + case 13649: + case 13655: + case 13661: + case 13667: + case 13673: + case 13679: + case 13685: + case 13691: + case 13697: + case 13703: + case 13709: + case 13715: + case 13721: + case 13727: + case 13733: + case 13739: + case 13745: + case 13751: + case 13757: + case 13763: + case 13769: + case 13775: + case 13781: return West::Low; + case 13462: + case 13468: + case 13474: + case 13480: + case 13486: + case 13492: + case 13498: + case 13504: + case 13510: + case 13516: + case 13522: + case 13528: + case 13534: + case 13540: + case 13546: + case 13552: + case 13558: + case 13564: + case 13570: + case 13576: + case 13582: + case 13588: + case 13594: + case 13600: + case 13606: + case 13612: + case 13618: + case 13624: + case 13630: + case 13636: + case 13642: + case 13648: + case 13654: + case 13660: + case 13666: + case 13672: + case 13678: + case 13684: + case 13690: + case 13696: + case 13702: + case 13708: + case 13714: + case 13720: + case 13726: + case 13732: + case 13738: + case 13744: + case 13750: + case 13756: + case 13762: + case 13768: + case 13774: + case 13780: return West::None; + default: return West::Tall; + } +} +} // namespace RedNetherBrickWall +namespace RedNetherBricks +{ +} +namespace RedSand +{ +} +namespace RedSandstone +{ +} +namespace RedSandstoneSlab +{ +BlockState RedSandstoneSlab() +{ + return 8399; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8399: return Type::Bottom; + case 8401: return Type::Double; + default: return Type::Top; + } +} +} // namespace RedSandstoneSlab +namespace RedSandstoneStairs +{ +BlockState RedSandstoneStairs() +{ + return 8231; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8261: + case 8263: + case 8265: + case 8267: + case 8269: + case 8271: + case 8273: + case 8275: + case 8277: + case 8279: return eBlockFace::BLOCK_FACE_XM; + case 8281: + case 8283: + case 8285: + case 8287: + case 8289: + case 8291: + case 8293: + case 8295: + case 8297: + case 8299: return eBlockFace::BLOCK_FACE_XP; + case 8221: + case 8223: + case 8225: + case 8227: + case 8229: + case 8231: + case 8233: + case 8235: + case 8237: + case 8239: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 8231: + case 8233: + case 8235: + case 8237: + case 8239: + case 8251: + case 8253: + case 8255: + case 8257: + case 8259: + case 8271: + case 8273: + case 8275: + case 8277: + case 8279: + case 8291: + case 8293: + case 8295: + case 8297: + case 8299: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 8223: + case 8233: + case 8243: + case 8253: + case 8263: + case 8273: + case 8283: + case 8293: return Shape::InnerLeft; + case 8225: + case 8235: + case 8245: + case 8255: + case 8265: + case 8275: + case 8285: + case 8295: return Shape::InnerRight; + case 8227: + case 8237: + case 8247: + case 8257: + case 8267: + case 8277: + case 8287: + case 8297: return Shape::OuterLeft; + case 8229: + case 8239: + case 8249: + case 8259: + case 8269: + case 8279: + case 8289: + case 8299: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace RedSandstoneStairs +namespace RedSandstoneWall +{ +BlockState RedSandstoneWall() +{ + return 11518; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 11626: + case 11627: + case 11628: + case 11632: + case 11633: + case 11634: + case 11638: + case 11639: + case 11640: + case 11644: + case 11645: + case 11646: + case 11650: + case 11651: + case 11652: + case 11656: + case 11657: + case 11658: + case 11662: + case 11663: + case 11664: + case 11668: + case 11669: + case 11670: + case 11674: + case 11675: + case 11676: + case 11680: + case 11681: + case 11682: + case 11686: + case 11687: + case 11688: + case 11692: + case 11693: + case 11694: + case 11698: + case 11699: + case 11700: + case 11704: + case 11705: + case 11706: + case 11710: + case 11711: + case 11712: + case 11716: + case 11717: + case 11718: + case 11722: + case 11723: + case 11724: + case 11728: + case 11729: + case 11730: return East::Low; + case 11518: + case 11519: + case 11520: + case 11524: + case 11525: + case 11526: + case 11530: + case 11531: + case 11532: + case 11536: + case 11537: + case 11538: + case 11542: + case 11543: + case 11544: + case 11548: + case 11549: + case 11550: + case 11554: + case 11555: + case 11556: + case 11560: + case 11561: + case 11562: + case 11566: + case 11567: + case 11568: + case 11572: + case 11573: + case 11574: + case 11578: + case 11579: + case 11580: + case 11584: + case 11585: + case 11586: + case 11590: + case 11591: + case 11592: + case 11596: + case 11597: + case 11598: + case 11602: + case 11603: + case 11604: + case 11608: + case 11609: + case 11610: + case 11614: + case 11615: + case 11616: + case 11620: + case 11621: + case 11622: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 11554: + case 11555: + case 11556: + case 11560: + case 11561: + case 11562: + case 11566: + case 11567: + case 11568: + case 11572: + case 11573: + case 11574: + case 11578: + case 11579: + case 11580: + case 11584: + case 11585: + case 11586: + case 11662: + case 11663: + case 11664: + case 11668: + case 11669: + case 11670: + case 11674: + case 11675: + case 11676: + case 11680: + case 11681: + case 11682: + case 11686: + case 11687: + case 11688: + case 11692: + case 11693: + case 11694: + case 11770: + case 11771: + case 11772: + case 11776: + case 11777: + case 11778: + case 11782: + case 11783: + case 11784: + case 11788: + case 11789: + case 11790: + case 11794: + case 11795: + case 11796: + case 11800: + case 11801: + case 11802: return North::Low; + case 11518: + case 11519: + case 11520: + case 11524: + case 11525: + case 11526: + case 11530: + case 11531: + case 11532: + case 11536: + case 11537: + case 11538: + case 11542: + case 11543: + case 11544: + case 11548: + case 11549: + case 11550: + case 11626: + case 11627: + case 11628: + case 11632: + case 11633: + case 11634: + case 11638: + case 11639: + case 11640: + case 11644: + case 11645: + case 11646: + case 11650: + case 11651: + case 11652: + case 11656: + case 11657: + case 11658: + case 11734: + case 11735: + case 11736: + case 11740: + case 11741: + case 11742: + case 11746: + case 11747: + case 11748: + case 11752: + case 11753: + case 11754: + case 11758: + case 11759: + case 11760: + case 11764: + case 11765: + case 11766: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 11530: + case 11531: + case 11532: + case 11536: + case 11537: + case 11538: + case 11566: + case 11567: + case 11568: + case 11572: + case 11573: + case 11574: + case 11602: + case 11603: + case 11604: + case 11608: + case 11609: + case 11610: + case 11638: + case 11639: + case 11640: + case 11644: + case 11645: + case 11646: + case 11674: + case 11675: + case 11676: + case 11680: + case 11681: + case 11682: + case 11710: + case 11711: + case 11712: + case 11716: + case 11717: + case 11718: + case 11746: + case 11747: + case 11748: + case 11752: + case 11753: + case 11754: + case 11782: + case 11783: + case 11784: + case 11788: + case 11789: + case 11790: + case 11818: + case 11819: + case 11820: + case 11824: + case 11825: + case 11826: return South::Low; + case 11518: + case 11519: + case 11520: + case 11524: + case 11525: + case 11526: + case 11554: + case 11555: + case 11556: + case 11560: + case 11561: + case 11562: + case 11590: + case 11591: + case 11592: + case 11596: + case 11597: + case 11598: + case 11626: + case 11627: + case 11628: + case 11632: + case 11633: + case 11634: + case 11662: + case 11663: + case 11664: + case 11668: + case 11669: + case 11670: + case 11698: + case 11699: + case 11700: + case 11704: + case 11705: + case 11706: + case 11734: + case 11735: + case 11736: + case 11740: + case 11741: + case 11742: + case 11770: + case 11771: + case 11772: + case 11776: + case 11777: + case 11778: + case 11806: + case 11807: + case 11808: + case 11812: + case 11813: + case 11814: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 11524: + case 11525: + case 11526: + case 11536: + case 11537: + case 11538: + case 11548: + case 11549: + case 11550: + case 11560: + case 11561: + case 11562: + case 11572: + case 11573: + case 11574: + case 11584: + case 11585: + case 11586: + case 11596: + case 11597: + case 11598: + case 11608: + case 11609: + case 11610: + case 11620: + case 11621: + case 11622: + case 11632: + case 11633: + case 11634: + case 11644: + case 11645: + case 11646: + case 11656: + case 11657: + case 11658: + case 11668: + case 11669: + case 11670: + case 11680: + case 11681: + case 11682: + case 11692: + case 11693: + case 11694: + case 11704: + case 11705: + case 11706: + case 11716: + case 11717: + case 11718: + case 11728: + case 11729: + case 11730: + case 11740: + case 11741: + case 11742: + case 11752: + case 11753: + case 11754: + case 11764: + case 11765: + case 11766: + case 11776: + case 11777: + case 11778: + case 11788: + case 11789: + case 11790: + case 11800: + case 11801: + case 11802: + case 11812: + case 11813: + case 11814: + case 11824: + case 11825: + case 11826: + case 11836: + case 11837: + case 11838: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 11519: + case 11525: + case 11531: + case 11537: + case 11543: + case 11549: + case 11555: + case 11561: + case 11567: + case 11573: + case 11579: + case 11585: + case 11591: + case 11597: + case 11603: + case 11609: + case 11615: + case 11621: + case 11627: + case 11633: + case 11639: + case 11645: + case 11651: + case 11657: + case 11663: + case 11669: + case 11675: + case 11681: + case 11687: + case 11693: + case 11699: + case 11705: + case 11711: + case 11717: + case 11723: + case 11729: + case 11735: + case 11741: + case 11747: + case 11753: + case 11759: + case 11765: + case 11771: + case 11777: + case 11783: + case 11789: + case 11795: + case 11801: + case 11807: + case 11813: + case 11819: + case 11825: + case 11831: + case 11837: return West::Low; + case 11518: + case 11524: + case 11530: + case 11536: + case 11542: + case 11548: + case 11554: + case 11560: + case 11566: + case 11572: + case 11578: + case 11584: + case 11590: + case 11596: + case 11602: + case 11608: + case 11614: + case 11620: + case 11626: + case 11632: + case 11638: + case 11644: + case 11650: + case 11656: + case 11662: + case 11668: + case 11674: + case 11680: + case 11686: + case 11692: + case 11698: + case 11704: + case 11710: + case 11716: + case 11722: + case 11728: + case 11734: + case 11740: + case 11746: + case 11752: + case 11758: + case 11764: + case 11770: + case 11776: + case 11782: + case 11788: + case 11794: + case 11800: + case 11806: + case 11812: + case 11818: + case 11824: + case 11830: + case 11836: return West::None; + default: return West::Tall; + } +} +} // namespace RedSandstoneWall +namespace RedShulkerBox +{ +BlockState RedShulkerBox() +{ + return 9366; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9365: return eBlockFace::BLOCK_FACE_XM; + case 9363: return eBlockFace::BLOCK_FACE_XP; + case 9367: return eBlockFace::BLOCK_FACE_YM; + case 9366: return eBlockFace::BLOCK_FACE_YP; + case 9362: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace RedShulkerBox +namespace RedStainedGlass +{ +} +namespace RedStainedGlassPane +{ +BlockState RedStainedGlassPane() +{ + return 7342; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7329: + case 7330: + case 7333: + case 7334: + case 7337: + case 7338: + case 7341: + case 7342: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7321: + case 7322: + case 7325: + case 7326: + case 7337: + case 7338: + case 7341: + case 7342: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 7317: + case 7318: + case 7325: + case 7326: + case 7333: + case 7334: + case 7341: + case 7342: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 7314: + case 7318: + case 7322: + case 7326: + case 7330: + case 7334: + case 7338: + case 7342: return false; + default: return true; + } +} +} // namespace RedStainedGlassPane +namespace RedTerracotta +{ +} +namespace RedTulip +{ +} +namespace RedWallBanner +{ +BlockState RedWallBanner() +{ + return 8209; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8211: return eBlockFace::BLOCK_FACE_XM; + case 8212: return eBlockFace::BLOCK_FACE_XP; + case 8209: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace RedWallBanner +namespace RedWool +{ +} +namespace RedstoneBlock +{ +} +namespace RedstoneLamp +{ +BlockState RedstoneLamp() +{ + return 5157; +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 5157: return false; + default: return true; + } +} +} // namespace RedstoneLamp +namespace RedstoneOre +{ +BlockState RedstoneOre() +{ + return 3886; +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 3886: return false; + default: return true; + } +} +} // namespace RedstoneOre +namespace RedstoneTorch +{ +BlockState RedstoneTorch() +{ + return 3887; +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 3888: return false; + default: return true; + } +} +} // namespace RedstoneTorch +namespace RedstoneWallTorch +{ +BlockState RedstoneWallTorch() +{ + return 3889; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3893: + case 3894: return eBlockFace::BLOCK_FACE_XM; + case 3895: + case 3896: return eBlockFace::BLOCK_FACE_XP; + case 3889: + case 3890: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 3890: + case 3892: + case 3894: + case 3896: return false; + default: return true; + } +} +} // namespace RedstoneWallTorch +namespace RedstoneWire +{ +BlockState RedstoneWire() +{ + return 3218; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 2922: + case 2923: + case 2924: + case 2925: + case 2926: + case 2927: + case 2928: + case 2929: + case 2930: + case 2931: + case 2932: + case 2933: + case 2934: + case 2935: + case 2936: + case 2937: + case 2938: + case 2939: + case 2940: + case 2941: + case 2942: + case 2943: + case 2944: + case 2945: + case 2946: + case 2947: + case 2948: + case 2949: + case 2950: + case 2951: + case 2952: + case 2953: + case 2954: + case 2955: + case 2956: + case 2957: + case 2958: + case 2959: + case 2960: + case 2961: + case 2962: + case 2963: + case 2964: + case 2965: + case 2966: + case 2967: + case 2968: + case 2969: + case 2970: + case 2971: + case 2972: + case 2973: + case 2974: + case 2975: + case 2976: + case 2977: + case 2978: + case 2979: + case 2980: + case 2981: + case 2982: + case 2983: + case 2984: + case 2985: + case 2986: + case 2987: + case 2988: + case 2989: + case 2990: + case 2991: + case 2992: + case 2993: + case 2994: + case 2995: + case 2996: + case 2997: + case 2998: + case 2999: + case 3000: + case 3001: + case 3002: + case 3003: + case 3004: + case 3005: + case 3006: + case 3007: + case 3008: + case 3009: + case 3010: + case 3011: + case 3012: + case 3013: + case 3014: + case 3015: + case 3016: + case 3017: + case 3018: + case 3019: + case 3020: + case 3021: + case 3022: + case 3023: + case 3024: + case 3025: + case 3026: + case 3027: + case 3028: + case 3029: + case 3030: + case 3031: + case 3032: + case 3033: + case 3034: + case 3035: + case 3036: + case 3037: + case 3038: + case 3039: + case 3040: + case 3041: + case 3042: + case 3043: + case 3044: + case 3045: + case 3046: + case 3047: + case 3048: + case 3049: + case 3050: + case 3051: + case 3052: + case 3053: + case 3054: + case 3055: + case 3056: + case 3057: + case 3058: + case 3059: + case 3060: + case 3061: + case 3062: + case 3063: + case 3064: + case 3065: + case 3066: + case 3067: + case 3068: + case 3069: + case 3070: + case 3071: + case 3072: + case 3073: + case 3074: + case 3075: + case 3076: + case 3077: + case 3078: + case 3079: + case 3080: + case 3081: + case 3082: + case 3083: + case 3084: + case 3085: + case 3086: + case 3087: + case 3088: + case 3089: + case 3090: + case 3091: + case 3092: + case 3093: + case 3094: + case 3095: + case 3096: + case 3097: + case 3098: + case 3099: + case 3100: + case 3101: + case 3102: + case 3103: + case 3104: + case 3105: + case 3106: + case 3107: + case 3108: + case 3109: + case 3110: + case 3111: + case 3112: + case 3113: + case 3114: + case 3115: + case 3116: + case 3117: + case 3118: + case 3119: + case 3120: + case 3121: + case 3122: + case 3123: + case 3124: + case 3125: + case 3126: + case 3127: + case 3128: + case 3129: + case 3130: + case 3131: + case 3132: + case 3133: + case 3134: + case 3135: + case 3136: + case 3137: + case 3138: + case 3139: + case 3140: + case 3141: + case 3142: + case 3143: + case 3144: + case 3145: + case 3146: + case 3147: + case 3148: + case 3149: + case 3150: + case 3151: + case 3152: + case 3153: + case 3154: + case 3155: + case 3156: + case 3157: + case 3158: + case 3159: + case 3160: + case 3161: + case 3162: + case 3163: + case 3164: + case 3165: + case 3166: + case 3167: + case 3168: + case 3169: + case 3170: + case 3171: + case 3172: + case 3173: + case 3174: + case 3175: + case 3176: + case 3177: + case 3178: + case 3179: + case 3180: + case 3181: + case 3182: + case 3183: + case 3184: + case 3185: + case 3186: + case 3187: + case 3188: + case 3189: + case 3190: + case 3191: + case 3192: + case 3193: + case 3194: + case 3195: + case 3196: + case 3197: + case 3198: + case 3199: + case 3200: + case 3201: + case 3202: + case 3203: + case 3204: + case 3205: + case 3206: + case 3207: + case 3208: + case 3209: + case 3210: + case 3211: + case 3212: + case 3213: + case 3214: + case 3215: + case 3216: + case 3217: + case 3218: + case 3219: + case 3220: + case 3221: + case 3222: + case 3223: + case 3224: + case 3225: + case 3226: + case 3227: + case 3228: + case 3229: + case 3230: + case 3231: + case 3232: + case 3233: + case 3234: + case 3235: + case 3236: + case 3237: + case 3238: + case 3239: + case 3240: + case 3241: + case 3242: + case 3243: + case 3244: + case 3245: + case 3246: + case 3247: + case 3248: + case 3249: + case 3250: + case 3251: + case 3252: + case 3253: + case 3254: + case 3255: + case 3256: + case 3257: + case 3258: + case 3259: + case 3260: + case 3261: + case 3262: + case 3263: + case 3264: + case 3265: + case 3266: + case 3267: + case 3268: + case 3269: + case 3270: + case 3271: + case 3272: + case 3273: + case 3274: + case 3275: + case 3276: + case 3277: + case 3278: + case 3279: + case 3280: + case 3281: + case 3282: + case 3283: + case 3284: + case 3285: + case 3286: + case 3287: + case 3288: + case 3289: + case 3290: + case 3291: + case 3292: + case 3293: + case 3294: + case 3295: + case 3296: + case 3297: + case 3298: + case 3299: + case 3300: + case 3301: + case 3302: + case 3303: + case 3304: + case 3305: + case 3306: + case 3307: + case 3308: + case 3309: + case 3310: + case 3311: + case 3312: + case 3313: + case 3314: + case 3315: + case 3316: + case 3317: + case 3318: + case 3319: + case 3320: + case 3321: + case 3322: + case 3323: + case 3324: + case 3325: + case 3326: + case 3327: + case 3328: + case 3329: + case 3330: + case 3331: + case 3332: + case 3333: + case 3334: + case 3335: + case 3336: + case 3337: + case 3338: + case 3339: + case 3340: + case 3341: + case 3342: + case 3343: + case 3344: + case 3345: + case 3346: + case 3347: + case 3348: + case 3349: + case 3350: + case 3351: + case 3352: + case 3353: return East::None; + case 2490: + case 2491: + case 2492: + case 2493: + case 2494: + case 2495: + case 2496: + case 2497: + case 2498: + case 2499: + case 2500: + case 2501: + case 2502: + case 2503: + case 2504: + case 2505: + case 2506: + case 2507: + case 2508: + case 2509: + case 2510: + case 2511: + case 2512: + case 2513: + case 2514: + case 2515: + case 2516: + case 2517: + case 2518: + case 2519: + case 2520: + case 2521: + case 2522: + case 2523: + case 2524: + case 2525: + case 2526: + case 2527: + case 2528: + case 2529: + case 2530: + case 2531: + case 2532: + case 2533: + case 2534: + case 2535: + case 2536: + case 2537: + case 2538: + case 2539: + case 2540: + case 2541: + case 2542: + case 2543: + case 2544: + case 2545: + case 2546: + case 2547: + case 2548: + case 2549: + case 2550: + case 2551: + case 2552: + case 2553: + case 2554: + case 2555: + case 2556: + case 2557: + case 2558: + case 2559: + case 2560: + case 2561: + case 2562: + case 2563: + case 2564: + case 2565: + case 2566: + case 2567: + case 2568: + case 2569: + case 2570: + case 2571: + case 2572: + case 2573: + case 2574: + case 2575: + case 2576: + case 2577: + case 2578: + case 2579: + case 2580: + case 2581: + case 2582: + case 2583: + case 2584: + case 2585: + case 2586: + case 2587: + case 2588: + case 2589: + case 2590: + case 2591: + case 2592: + case 2593: + case 2594: + case 2595: + case 2596: + case 2597: + case 2598: + case 2599: + case 2600: + case 2601: + case 2602: + case 2603: + case 2604: + case 2605: + case 2606: + case 2607: + case 2608: + case 2609: + case 2610: + case 2611: + case 2612: + case 2613: + case 2614: + case 2615: + case 2616: + case 2617: + case 2618: + case 2619: + case 2620: + case 2621: + case 2622: + case 2623: + case 2624: + case 2625: + case 2626: + case 2627: + case 2628: + case 2629: + case 2630: + case 2631: + case 2632: + case 2633: + case 2634: + case 2635: + case 2636: + case 2637: + case 2638: + case 2639: + case 2640: + case 2641: + case 2642: + case 2643: + case 2644: + case 2645: + case 2646: + case 2647: + case 2648: + case 2649: + case 2650: + case 2651: + case 2652: + case 2653: + case 2654: + case 2655: + case 2656: + case 2657: + case 2658: + case 2659: + case 2660: + case 2661: + case 2662: + case 2663: + case 2664: + case 2665: + case 2666: + case 2667: + case 2668: + case 2669: + case 2670: + case 2671: + case 2672: + case 2673: + case 2674: + case 2675: + case 2676: + case 2677: + case 2678: + case 2679: + case 2680: + case 2681: + case 2682: + case 2683: + case 2684: + case 2685: + case 2686: + case 2687: + case 2688: + case 2689: + case 2690: + case 2691: + case 2692: + case 2693: + case 2694: + case 2695: + case 2696: + case 2697: + case 2698: + case 2699: + case 2700: + case 2701: + case 2702: + case 2703: + case 2704: + case 2705: + case 2706: + case 2707: + case 2708: + case 2709: + case 2710: + case 2711: + case 2712: + case 2713: + case 2714: + case 2715: + case 2716: + case 2717: + case 2718: + case 2719: + case 2720: + case 2721: + case 2722: + case 2723: + case 2724: + case 2725: + case 2726: + case 2727: + case 2728: + case 2729: + case 2730: + case 2731: + case 2732: + case 2733: + case 2734: + case 2735: + case 2736: + case 2737: + case 2738: + case 2739: + case 2740: + case 2741: + case 2742: + case 2743: + case 2744: + case 2745: + case 2746: + case 2747: + case 2748: + case 2749: + case 2750: + case 2751: + case 2752: + case 2753: + case 2754: + case 2755: + case 2756: + case 2757: + case 2758: + case 2759: + case 2760: + case 2761: + case 2762: + case 2763: + case 2764: + case 2765: + case 2766: + case 2767: + case 2768: + case 2769: + case 2770: + case 2771: + case 2772: + case 2773: + case 2774: + case 2775: + case 2776: + case 2777: + case 2778: + case 2779: + case 2780: + case 2781: + case 2782: + case 2783: + case 2784: + case 2785: + case 2786: + case 2787: + case 2788: + case 2789: + case 2790: + case 2791: + case 2792: + case 2793: + case 2794: + case 2795: + case 2796: + case 2797: + case 2798: + case 2799: + case 2800: + case 2801: + case 2802: + case 2803: + case 2804: + case 2805: + case 2806: + case 2807: + case 2808: + case 2809: + case 2810: + case 2811: + case 2812: + case 2813: + case 2814: + case 2815: + case 2816: + case 2817: + case 2818: + case 2819: + case 2820: + case 2821: + case 2822: + case 2823: + case 2824: + case 2825: + case 2826: + case 2827: + case 2828: + case 2829: + case 2830: + case 2831: + case 2832: + case 2833: + case 2834: + case 2835: + case 2836: + case 2837: + case 2838: + case 2839: + case 2840: + case 2841: + case 2842: + case 2843: + case 2844: + case 2845: + case 2846: + case 2847: + case 2848: + case 2849: + case 2850: + case 2851: + case 2852: + case 2853: + case 2854: + case 2855: + case 2856: + case 2857: + case 2858: + case 2859: + case 2860: + case 2861: + case 2862: + case 2863: + case 2864: + case 2865: + case 2866: + case 2867: + case 2868: + case 2869: + case 2870: + case 2871: + case 2872: + case 2873: + case 2874: + case 2875: + case 2876: + case 2877: + case 2878: + case 2879: + case 2880: + case 2881: + case 2882: + case 2883: + case 2884: + case 2885: + case 2886: + case 2887: + case 2888: + case 2889: + case 2890: + case 2891: + case 2892: + case 2893: + case 2894: + case 2895: + case 2896: + case 2897: + case 2898: + case 2899: + case 2900: + case 2901: + case 2902: + case 2903: + case 2904: + case 2905: + case 2906: + case 2907: + case 2908: + case 2909: + case 2910: + case 2911: + case 2912: + case 2913: + case 2914: + case 2915: + case 2916: + case 2917: + case 2918: + case 2919: + case 2920: + case 2921: return East::Side; + default: return East::Up; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 2346: + case 2347: + case 2348: + case 2349: + case 2350: + case 2351: + case 2352: + case 2353: + case 2354: + case 2355: + case 2356: + case 2357: + case 2358: + case 2359: + case 2360: + case 2361: + case 2362: + case 2363: + case 2364: + case 2365: + case 2366: + case 2367: + case 2368: + case 2369: + case 2370: + case 2371: + case 2372: + case 2373: + case 2374: + case 2375: + case 2376: + case 2377: + case 2378: + case 2379: + case 2380: + case 2381: + case 2382: + case 2383: + case 2384: + case 2385: + case 2386: + case 2387: + case 2388: + case 2389: + case 2390: + case 2391: + case 2392: + case 2393: + case 2394: + case 2395: + case 2396: + case 2397: + case 2398: + case 2399: + case 2400: + case 2401: + case 2402: + case 2403: + case 2404: + case 2405: + case 2406: + case 2407: + case 2408: + case 2409: + case 2410: + case 2411: + case 2412: + case 2413: + case 2414: + case 2415: + case 2416: + case 2417: + case 2418: + case 2419: + case 2420: + case 2421: + case 2422: + case 2423: + case 2424: + case 2425: + case 2426: + case 2427: + case 2428: + case 2429: + case 2430: + case 2431: + case 2432: + case 2433: + case 2434: + case 2435: + case 2436: + case 2437: + case 2438: + case 2439: + case 2440: + case 2441: + case 2442: + case 2443: + case 2444: + case 2445: + case 2446: + case 2447: + case 2448: + case 2449: + case 2450: + case 2451: + case 2452: + case 2453: + case 2454: + case 2455: + case 2456: + case 2457: + case 2458: + case 2459: + case 2460: + case 2461: + case 2462: + case 2463: + case 2464: + case 2465: + case 2466: + case 2467: + case 2468: + case 2469: + case 2470: + case 2471: + case 2472: + case 2473: + case 2474: + case 2475: + case 2476: + case 2477: + case 2478: + case 2479: + case 2480: + case 2481: + case 2482: + case 2483: + case 2484: + case 2485: + case 2486: + case 2487: + case 2488: + case 2489: + case 2778: + case 2779: + case 2780: + case 2781: + case 2782: + case 2783: + case 2784: + case 2785: + case 2786: + case 2787: + case 2788: + case 2789: + case 2790: + case 2791: + case 2792: + case 2793: + case 2794: + case 2795: + case 2796: + case 2797: + case 2798: + case 2799: + case 2800: + case 2801: + case 2802: + case 2803: + case 2804: + case 2805: + case 2806: + case 2807: + case 2808: + case 2809: + case 2810: + case 2811: + case 2812: + case 2813: + case 2814: + case 2815: + case 2816: + case 2817: + case 2818: + case 2819: + case 2820: + case 2821: + case 2822: + case 2823: + case 2824: + case 2825: + case 2826: + case 2827: + case 2828: + case 2829: + case 2830: + case 2831: + case 2832: + case 2833: + case 2834: + case 2835: + case 2836: + case 2837: + case 2838: + case 2839: + case 2840: + case 2841: + case 2842: + case 2843: + case 2844: + case 2845: + case 2846: + case 2847: + case 2848: + case 2849: + case 2850: + case 2851: + case 2852: + case 2853: + case 2854: + case 2855: + case 2856: + case 2857: + case 2858: + case 2859: + case 2860: + case 2861: + case 2862: + case 2863: + case 2864: + case 2865: + case 2866: + case 2867: + case 2868: + case 2869: + case 2870: + case 2871: + case 2872: + case 2873: + case 2874: + case 2875: + case 2876: + case 2877: + case 2878: + case 2879: + case 2880: + case 2881: + case 2882: + case 2883: + case 2884: + case 2885: + case 2886: + case 2887: + case 2888: + case 2889: + case 2890: + case 2891: + case 2892: + case 2893: + case 2894: + case 2895: + case 2896: + case 2897: + case 2898: + case 2899: + case 2900: + case 2901: + case 2902: + case 2903: + case 2904: + case 2905: + case 2906: + case 2907: + case 2908: + case 2909: + case 2910: + case 2911: + case 2912: + case 2913: + case 2914: + case 2915: + case 2916: + case 2917: + case 2918: + case 2919: + case 2920: + case 2921: + case 3210: + case 3211: + case 3212: + case 3213: + case 3214: + case 3215: + case 3216: + case 3217: + case 3218: + case 3219: + case 3220: + case 3221: + case 3222: + case 3223: + case 3224: + case 3225: + case 3226: + case 3227: + case 3228: + case 3229: + case 3230: + case 3231: + case 3232: + case 3233: + case 3234: + case 3235: + case 3236: + case 3237: + case 3238: + case 3239: + case 3240: + case 3241: + case 3242: + case 3243: + case 3244: + case 3245: + case 3246: + case 3247: + case 3248: + case 3249: + case 3250: + case 3251: + case 3252: + case 3253: + case 3254: + case 3255: + case 3256: + case 3257: + case 3258: + case 3259: + case 3260: + case 3261: + case 3262: + case 3263: + case 3264: + case 3265: + case 3266: + case 3267: + case 3268: + case 3269: + case 3270: + case 3271: + case 3272: + case 3273: + case 3274: + case 3275: + case 3276: + case 3277: + case 3278: + case 3279: + case 3280: + case 3281: + case 3282: + case 3283: + case 3284: + case 3285: + case 3286: + case 3287: + case 3288: + case 3289: + case 3290: + case 3291: + case 3292: + case 3293: + case 3294: + case 3295: + case 3296: + case 3297: + case 3298: + case 3299: + case 3300: + case 3301: + case 3302: + case 3303: + case 3304: + case 3305: + case 3306: + case 3307: + case 3308: + case 3309: + case 3310: + case 3311: + case 3312: + case 3313: + case 3314: + case 3315: + case 3316: + case 3317: + case 3318: + case 3319: + case 3320: + case 3321: + case 3322: + case 3323: + case 3324: + case 3325: + case 3326: + case 3327: + case 3328: + case 3329: + case 3330: + case 3331: + case 3332: + case 3333: + case 3334: + case 3335: + case 3336: + case 3337: + case 3338: + case 3339: + case 3340: + case 3341: + case 3342: + case 3343: + case 3344: + case 3345: + case 3346: + case 3347: + case 3348: + case 3349: + case 3350: + case 3351: + case 3352: + case 3353: return North::None; + case 2202: + case 2203: + case 2204: + case 2205: + case 2206: + case 2207: + case 2208: + case 2209: + case 2210: + case 2211: + case 2212: + case 2213: + case 2214: + case 2215: + case 2216: + case 2217: + case 2218: + case 2219: + case 2220: + case 2221: + case 2222: + case 2223: + case 2224: + case 2225: + case 2226: + case 2227: + case 2228: + case 2229: + case 2230: + case 2231: + case 2232: + case 2233: + case 2234: + case 2235: + case 2236: + case 2237: + case 2238: + case 2239: + case 2240: + case 2241: + case 2242: + case 2243: + case 2244: + case 2245: + case 2246: + case 2247: + case 2248: + case 2249: + case 2250: + case 2251: + case 2252: + case 2253: + case 2254: + case 2255: + case 2256: + case 2257: + case 2258: + case 2259: + case 2260: + case 2261: + case 2262: + case 2263: + case 2264: + case 2265: + case 2266: + case 2267: + case 2268: + case 2269: + case 2270: + case 2271: + case 2272: + case 2273: + case 2274: + case 2275: + case 2276: + case 2277: + case 2278: + case 2279: + case 2280: + case 2281: + case 2282: + case 2283: + case 2284: + case 2285: + case 2286: + case 2287: + case 2288: + case 2289: + case 2290: + case 2291: + case 2292: + case 2293: + case 2294: + case 2295: + case 2296: + case 2297: + case 2298: + case 2299: + case 2300: + case 2301: + case 2302: + case 2303: + case 2304: + case 2305: + case 2306: + case 2307: + case 2308: + case 2309: + case 2310: + case 2311: + case 2312: + case 2313: + case 2314: + case 2315: + case 2316: + case 2317: + case 2318: + case 2319: + case 2320: + case 2321: + case 2322: + case 2323: + case 2324: + case 2325: + case 2326: + case 2327: + case 2328: + case 2329: + case 2330: + case 2331: + case 2332: + case 2333: + case 2334: + case 2335: + case 2336: + case 2337: + case 2338: + case 2339: + case 2340: + case 2341: + case 2342: + case 2343: + case 2344: + case 2345: + case 2634: + case 2635: + case 2636: + case 2637: + case 2638: + case 2639: + case 2640: + case 2641: + case 2642: + case 2643: + case 2644: + case 2645: + case 2646: + case 2647: + case 2648: + case 2649: + case 2650: + case 2651: + case 2652: + case 2653: + case 2654: + case 2655: + case 2656: + case 2657: + case 2658: + case 2659: + case 2660: + case 2661: + case 2662: + case 2663: + case 2664: + case 2665: + case 2666: + case 2667: + case 2668: + case 2669: + case 2670: + case 2671: + case 2672: + case 2673: + case 2674: + case 2675: + case 2676: + case 2677: + case 2678: + case 2679: + case 2680: + case 2681: + case 2682: + case 2683: + case 2684: + case 2685: + case 2686: + case 2687: + case 2688: + case 2689: + case 2690: + case 2691: + case 2692: + case 2693: + case 2694: + case 2695: + case 2696: + case 2697: + case 2698: + case 2699: + case 2700: + case 2701: + case 2702: + case 2703: + case 2704: + case 2705: + case 2706: + case 2707: + case 2708: + case 2709: + case 2710: + case 2711: + case 2712: + case 2713: + case 2714: + case 2715: + case 2716: + case 2717: + case 2718: + case 2719: + case 2720: + case 2721: + case 2722: + case 2723: + case 2724: + case 2725: + case 2726: + case 2727: + case 2728: + case 2729: + case 2730: + case 2731: + case 2732: + case 2733: + case 2734: + case 2735: + case 2736: + case 2737: + case 2738: + case 2739: + case 2740: + case 2741: + case 2742: + case 2743: + case 2744: + case 2745: + case 2746: + case 2747: + case 2748: + case 2749: + case 2750: + case 2751: + case 2752: + case 2753: + case 2754: + case 2755: + case 2756: + case 2757: + case 2758: + case 2759: + case 2760: + case 2761: + case 2762: + case 2763: + case 2764: + case 2765: + case 2766: + case 2767: + case 2768: + case 2769: + case 2770: + case 2771: + case 2772: + case 2773: + case 2774: + case 2775: + case 2776: + case 2777: + case 3066: + case 3067: + case 3068: + case 3069: + case 3070: + case 3071: + case 3072: + case 3073: + case 3074: + case 3075: + case 3076: + case 3077: + case 3078: + case 3079: + case 3080: + case 3081: + case 3082: + case 3083: + case 3084: + case 3085: + case 3086: + case 3087: + case 3088: + case 3089: + case 3090: + case 3091: + case 3092: + case 3093: + case 3094: + case 3095: + case 3096: + case 3097: + case 3098: + case 3099: + case 3100: + case 3101: + case 3102: + case 3103: + case 3104: + case 3105: + case 3106: + case 3107: + case 3108: + case 3109: + case 3110: + case 3111: + case 3112: + case 3113: + case 3114: + case 3115: + case 3116: + case 3117: + case 3118: + case 3119: + case 3120: + case 3121: + case 3122: + case 3123: + case 3124: + case 3125: + case 3126: + case 3127: + case 3128: + case 3129: + case 3130: + case 3131: + case 3132: + case 3133: + case 3134: + case 3135: + case 3136: + case 3137: + case 3138: + case 3139: + case 3140: + case 3141: + case 3142: + case 3143: + case 3144: + case 3145: + case 3146: + case 3147: + case 3148: + case 3149: + case 3150: + case 3151: + case 3152: + case 3153: + case 3154: + case 3155: + case 3156: + case 3157: + case 3158: + case 3159: + case 3160: + case 3161: + case 3162: + case 3163: + case 3164: + case 3165: + case 3166: + case 3167: + case 3168: + case 3169: + case 3170: + case 3171: + case 3172: + case 3173: + case 3174: + case 3175: + case 3176: + case 3177: + case 3178: + case 3179: + case 3180: + case 3181: + case 3182: + case 3183: + case 3184: + case 3185: + case 3186: + case 3187: + case 3188: + case 3189: + case 3190: + case 3191: + case 3192: + case 3193: + case 3194: + case 3195: + case 3196: + case 3197: + case 3198: + case 3199: + case 3200: + case 3201: + case 3202: + case 3203: + case 3204: + case 3205: + case 3206: + case 3207: + case 3208: + case 3209: return North::Side; + default: return North::Up; + } +} +unsigned char Power(const BlockState Block) +{ + switch (Block.ID) + { + case 2058: + case 2059: + case 2060: + case 2061: + case 2062: + case 2063: + case 2064: + case 2065: + case 2066: + case 2202: + case 2203: + case 2204: + case 2205: + case 2206: + case 2207: + case 2208: + case 2209: + case 2210: + case 2346: + case 2347: + case 2348: + case 2349: + case 2350: + case 2351: + case 2352: + case 2353: + case 2354: + case 2490: + case 2491: + case 2492: + case 2493: + case 2494: + case 2495: + case 2496: + case 2497: + case 2498: + case 2634: + case 2635: + case 2636: + case 2637: + case 2638: + case 2639: + case 2640: + case 2641: + case 2642: + case 2778: + case 2779: + case 2780: + case 2781: + case 2782: + case 2783: + case 2784: + case 2785: + case 2786: + case 2922: + case 2923: + case 2924: + case 2925: + case 2926: + case 2927: + case 2928: + case 2929: + case 2930: + case 3066: + case 3067: + case 3068: + case 3069: + case 3070: + case 3071: + case 3072: + case 3073: + case 3074: + case 3210: + case 3211: + case 3212: + case 3213: + case 3214: + case 3215: + case 3216: + case 3217: + case 3218: return 0; + case 2067: + case 2068: + case 2069: + case 2070: + case 2071: + case 2072: + case 2073: + case 2074: + case 2075: + case 2211: + case 2212: + case 2213: + case 2214: + case 2215: + case 2216: + case 2217: + case 2218: + case 2219: + case 2355: + case 2356: + case 2357: + case 2358: + case 2359: + case 2360: + case 2361: + case 2362: + case 2363: + case 2499: + case 2500: + case 2501: + case 2502: + case 2503: + case 2504: + case 2505: + case 2506: + case 2507: + case 2643: + case 2644: + case 2645: + case 2646: + case 2647: + case 2648: + case 2649: + case 2650: + case 2651: + case 2787: + case 2788: + case 2789: + case 2790: + case 2791: + case 2792: + case 2793: + case 2794: + case 2795: + case 2931: + case 2932: + case 2933: + case 2934: + case 2935: + case 2936: + case 2937: + case 2938: + case 2939: + case 3075: + case 3076: + case 3077: + case 3078: + case 3079: + case 3080: + case 3081: + case 3082: + case 3083: + case 3219: + case 3220: + case 3221: + case 3222: + case 3223: + case 3224: + case 3225: + case 3226: + case 3227: return 1; + case 2148: + case 2149: + case 2150: + case 2151: + case 2152: + case 2153: + case 2154: + case 2155: + case 2156: + case 2292: + case 2293: + case 2294: + case 2295: + case 2296: + case 2297: + case 2298: + case 2299: + case 2300: + case 2436: + case 2437: + case 2438: + case 2439: + case 2440: + case 2441: + case 2442: + case 2443: + case 2444: + case 2580: + case 2581: + case 2582: + case 2583: + case 2584: + case 2585: + case 2586: + case 2587: + case 2588: + case 2724: + case 2725: + case 2726: + case 2727: + case 2728: + case 2729: + case 2730: + case 2731: + case 2732: + case 2868: + case 2869: + case 2870: + case 2871: + case 2872: + case 2873: + case 2874: + case 2875: + case 2876: + case 3012: + case 3013: + case 3014: + case 3015: + case 3016: + case 3017: + case 3018: + case 3019: + case 3020: + case 3156: + case 3157: + case 3158: + case 3159: + case 3160: + case 3161: + case 3162: + case 3163: + case 3164: + case 3300: + case 3301: + case 3302: + case 3303: + case 3304: + case 3305: + case 3306: + case 3307: + case 3308: return 10; + case 2157: + case 2158: + case 2159: + case 2160: + case 2161: + case 2162: + case 2163: + case 2164: + case 2165: + case 2301: + case 2302: + case 2303: + case 2304: + case 2305: + case 2306: + case 2307: + case 2308: + case 2309: + case 2445: + case 2446: + case 2447: + case 2448: + case 2449: + case 2450: + case 2451: + case 2452: + case 2453: + case 2589: + case 2590: + case 2591: + case 2592: + case 2593: + case 2594: + case 2595: + case 2596: + case 2597: + case 2733: + case 2734: + case 2735: + case 2736: + case 2737: + case 2738: + case 2739: + case 2740: + case 2741: + case 2877: + case 2878: + case 2879: + case 2880: + case 2881: + case 2882: + case 2883: + case 2884: + case 2885: + case 3021: + case 3022: + case 3023: + case 3024: + case 3025: + case 3026: + case 3027: + case 3028: + case 3029: + case 3165: + case 3166: + case 3167: + case 3168: + case 3169: + case 3170: + case 3171: + case 3172: + case 3173: + case 3309: + case 3310: + case 3311: + case 3312: + case 3313: + case 3314: + case 3315: + case 3316: + case 3317: return 11; + case 2166: + case 2167: + case 2168: + case 2169: + case 2170: + case 2171: + case 2172: + case 2173: + case 2174: + case 2310: + case 2311: + case 2312: + case 2313: + case 2314: + case 2315: + case 2316: + case 2317: + case 2318: + case 2454: + case 2455: + case 2456: + case 2457: + case 2458: + case 2459: + case 2460: + case 2461: + case 2462: + case 2598: + case 2599: + case 2600: + case 2601: + case 2602: + case 2603: + case 2604: + case 2605: + case 2606: + case 2742: + case 2743: + case 2744: + case 2745: + case 2746: + case 2747: + case 2748: + case 2749: + case 2750: + case 2886: + case 2887: + case 2888: + case 2889: + case 2890: + case 2891: + case 2892: + case 2893: + case 2894: + case 3030: + case 3031: + case 3032: + case 3033: + case 3034: + case 3035: + case 3036: + case 3037: + case 3038: + case 3174: + case 3175: + case 3176: + case 3177: + case 3178: + case 3179: + case 3180: + case 3181: + case 3182: + case 3318: + case 3319: + case 3320: + case 3321: + case 3322: + case 3323: + case 3324: + case 3325: + case 3326: return 12; + case 2175: + case 2176: + case 2177: + case 2178: + case 2179: + case 2180: + case 2181: + case 2182: + case 2183: + case 2319: + case 2320: + case 2321: + case 2322: + case 2323: + case 2324: + case 2325: + case 2326: + case 2327: + case 2463: + case 2464: + case 2465: + case 2466: + case 2467: + case 2468: + case 2469: + case 2470: + case 2471: + case 2607: + case 2608: + case 2609: + case 2610: + case 2611: + case 2612: + case 2613: + case 2614: + case 2615: + case 2751: + case 2752: + case 2753: + case 2754: + case 2755: + case 2756: + case 2757: + case 2758: + case 2759: + case 2895: + case 2896: + case 2897: + case 2898: + case 2899: + case 2900: + case 2901: + case 2902: + case 2903: + case 3039: + case 3040: + case 3041: + case 3042: + case 3043: + case 3044: + case 3045: + case 3046: + case 3047: + case 3183: + case 3184: + case 3185: + case 3186: + case 3187: + case 3188: + case 3189: + case 3190: + case 3191: + case 3327: + case 3328: + case 3329: + case 3330: + case 3331: + case 3332: + case 3333: + case 3334: + case 3335: return 13; + case 2184: + case 2185: + case 2186: + case 2187: + case 2188: + case 2189: + case 2190: + case 2191: + case 2192: + case 2328: + case 2329: + case 2330: + case 2331: + case 2332: + case 2333: + case 2334: + case 2335: + case 2336: + case 2472: + case 2473: + case 2474: + case 2475: + case 2476: + case 2477: + case 2478: + case 2479: + case 2480: + case 2616: + case 2617: + case 2618: + case 2619: + case 2620: + case 2621: + case 2622: + case 2623: + case 2624: + case 2760: + case 2761: + case 2762: + case 2763: + case 2764: + case 2765: + case 2766: + case 2767: + case 2768: + case 2904: + case 2905: + case 2906: + case 2907: + case 2908: + case 2909: + case 2910: + case 2911: + case 2912: + case 3048: + case 3049: + case 3050: + case 3051: + case 3052: + case 3053: + case 3054: + case 3055: + case 3056: + case 3192: + case 3193: + case 3194: + case 3195: + case 3196: + case 3197: + case 3198: + case 3199: + case 3200: + case 3336: + case 3337: + case 3338: + case 3339: + case 3340: + case 3341: + case 3342: + case 3343: + case 3344: return 14; + case 2193: + case 2194: + case 2195: + case 2196: + case 2197: + case 2198: + case 2199: + case 2200: + case 2201: + case 2337: + case 2338: + case 2339: + case 2340: + case 2341: + case 2342: + case 2343: + case 2344: + case 2345: + case 2481: + case 2482: + case 2483: + case 2484: + case 2485: + case 2486: + case 2487: + case 2488: + case 2489: + case 2625: + case 2626: + case 2627: + case 2628: + case 2629: + case 2630: + case 2631: + case 2632: + case 2633: + case 2769: + case 2770: + case 2771: + case 2772: + case 2773: + case 2774: + case 2775: + case 2776: + case 2777: + case 2913: + case 2914: + case 2915: + case 2916: + case 2917: + case 2918: + case 2919: + case 2920: + case 2921: + case 3057: + case 3058: + case 3059: + case 3060: + case 3061: + case 3062: + case 3063: + case 3064: + case 3065: + case 3201: + case 3202: + case 3203: + case 3204: + case 3205: + case 3206: + case 3207: + case 3208: + case 3209: + case 3345: + case 3346: + case 3347: + case 3348: + case 3349: + case 3350: + case 3351: + case 3352: + case 3353: return 15; + case 2076: + case 2077: + case 2078: + case 2079: + case 2080: + case 2081: + case 2082: + case 2083: + case 2084: + case 2220: + case 2221: + case 2222: + case 2223: + case 2224: + case 2225: + case 2226: + case 2227: + case 2228: + case 2364: + case 2365: + case 2366: + case 2367: + case 2368: + case 2369: + case 2370: + case 2371: + case 2372: + case 2508: + case 2509: + case 2510: + case 2511: + case 2512: + case 2513: + case 2514: + case 2515: + case 2516: + case 2652: + case 2653: + case 2654: + case 2655: + case 2656: + case 2657: + case 2658: + case 2659: + case 2660: + case 2796: + case 2797: + case 2798: + case 2799: + case 2800: + case 2801: + case 2802: + case 2803: + case 2804: + case 2940: + case 2941: + case 2942: + case 2943: + case 2944: + case 2945: + case 2946: + case 2947: + case 2948: + case 3084: + case 3085: + case 3086: + case 3087: + case 3088: + case 3089: + case 3090: + case 3091: + case 3092: + case 3228: + case 3229: + case 3230: + case 3231: + case 3232: + case 3233: + case 3234: + case 3235: + case 3236: return 2; + case 2085: + case 2086: + case 2087: + case 2088: + case 2089: + case 2090: + case 2091: + case 2092: + case 2093: + case 2229: + case 2230: + case 2231: + case 2232: + case 2233: + case 2234: + case 2235: + case 2236: + case 2237: + case 2373: + case 2374: + case 2375: + case 2376: + case 2377: + case 2378: + case 2379: + case 2380: + case 2381: + case 2517: + case 2518: + case 2519: + case 2520: + case 2521: + case 2522: + case 2523: + case 2524: + case 2525: + case 2661: + case 2662: + case 2663: + case 2664: + case 2665: + case 2666: + case 2667: + case 2668: + case 2669: + case 2805: + case 2806: + case 2807: + case 2808: + case 2809: + case 2810: + case 2811: + case 2812: + case 2813: + case 2949: + case 2950: + case 2951: + case 2952: + case 2953: + case 2954: + case 2955: + case 2956: + case 2957: + case 3093: + case 3094: + case 3095: + case 3096: + case 3097: + case 3098: + case 3099: + case 3100: + case 3101: + case 3237: + case 3238: + case 3239: + case 3240: + case 3241: + case 3242: + case 3243: + case 3244: + case 3245: return 3; + case 2094: + case 2095: + case 2096: + case 2097: + case 2098: + case 2099: + case 2100: + case 2101: + case 2102: + case 2238: + case 2239: + case 2240: + case 2241: + case 2242: + case 2243: + case 2244: + case 2245: + case 2246: + case 2382: + case 2383: + case 2384: + case 2385: + case 2386: + case 2387: + case 2388: + case 2389: + case 2390: + case 2526: + case 2527: + case 2528: + case 2529: + case 2530: + case 2531: + case 2532: + case 2533: + case 2534: + case 2670: + case 2671: + case 2672: + case 2673: + case 2674: + case 2675: + case 2676: + case 2677: + case 2678: + case 2814: + case 2815: + case 2816: + case 2817: + case 2818: + case 2819: + case 2820: + case 2821: + case 2822: + case 2958: + case 2959: + case 2960: + case 2961: + case 2962: + case 2963: + case 2964: + case 2965: + case 2966: + case 3102: + case 3103: + case 3104: + case 3105: + case 3106: + case 3107: + case 3108: + case 3109: + case 3110: + case 3246: + case 3247: + case 3248: + case 3249: + case 3250: + case 3251: + case 3252: + case 3253: + case 3254: return 4; + case 2103: + case 2104: + case 2105: + case 2106: + case 2107: + case 2108: + case 2109: + case 2110: + case 2111: + case 2247: + case 2248: + case 2249: + case 2250: + case 2251: + case 2252: + case 2253: + case 2254: + case 2255: + case 2391: + case 2392: + case 2393: + case 2394: + case 2395: + case 2396: + case 2397: + case 2398: + case 2399: + case 2535: + case 2536: + case 2537: + case 2538: + case 2539: + case 2540: + case 2541: + case 2542: + case 2543: + case 2679: + case 2680: + case 2681: + case 2682: + case 2683: + case 2684: + case 2685: + case 2686: + case 2687: + case 2823: + case 2824: + case 2825: + case 2826: + case 2827: + case 2828: + case 2829: + case 2830: + case 2831: + case 2967: + case 2968: + case 2969: + case 2970: + case 2971: + case 2972: + case 2973: + case 2974: + case 2975: + case 3111: + case 3112: + case 3113: + case 3114: + case 3115: + case 3116: + case 3117: + case 3118: + case 3119: + case 3255: + case 3256: + case 3257: + case 3258: + case 3259: + case 3260: + case 3261: + case 3262: + case 3263: return 5; + case 2112: + case 2113: + case 2114: + case 2115: + case 2116: + case 2117: + case 2118: + case 2119: + case 2120: + case 2256: + case 2257: + case 2258: + case 2259: + case 2260: + case 2261: + case 2262: + case 2263: + case 2264: + case 2400: + case 2401: + case 2402: + case 2403: + case 2404: + case 2405: + case 2406: + case 2407: + case 2408: + case 2544: + case 2545: + case 2546: + case 2547: + case 2548: + case 2549: + case 2550: + case 2551: + case 2552: + case 2688: + case 2689: + case 2690: + case 2691: + case 2692: + case 2693: + case 2694: + case 2695: + case 2696: + case 2832: + case 2833: + case 2834: + case 2835: + case 2836: + case 2837: + case 2838: + case 2839: + case 2840: + case 2976: + case 2977: + case 2978: + case 2979: + case 2980: + case 2981: + case 2982: + case 2983: + case 2984: + case 3120: + case 3121: + case 3122: + case 3123: + case 3124: + case 3125: + case 3126: + case 3127: + case 3128: + case 3264: + case 3265: + case 3266: + case 3267: + case 3268: + case 3269: + case 3270: + case 3271: + case 3272: return 6; + case 2121: + case 2122: + case 2123: + case 2124: + case 2125: + case 2126: + case 2127: + case 2128: + case 2129: + case 2265: + case 2266: + case 2267: + case 2268: + case 2269: + case 2270: + case 2271: + case 2272: + case 2273: + case 2409: + case 2410: + case 2411: + case 2412: + case 2413: + case 2414: + case 2415: + case 2416: + case 2417: + case 2553: + case 2554: + case 2555: + case 2556: + case 2557: + case 2558: + case 2559: + case 2560: + case 2561: + case 2697: + case 2698: + case 2699: + case 2700: + case 2701: + case 2702: + case 2703: + case 2704: + case 2705: + case 2841: + case 2842: + case 2843: + case 2844: + case 2845: + case 2846: + case 2847: + case 2848: + case 2849: + case 2985: + case 2986: + case 2987: + case 2988: + case 2989: + case 2990: + case 2991: + case 2992: + case 2993: + case 3129: + case 3130: + case 3131: + case 3132: + case 3133: + case 3134: + case 3135: + case 3136: + case 3137: + case 3273: + case 3274: + case 3275: + case 3276: + case 3277: + case 3278: + case 3279: + case 3280: + case 3281: return 7; + case 2130: + case 2131: + case 2132: + case 2133: + case 2134: + case 2135: + case 2136: + case 2137: + case 2138: + case 2274: + case 2275: + case 2276: + case 2277: + case 2278: + case 2279: + case 2280: + case 2281: + case 2282: + case 2418: + case 2419: + case 2420: + case 2421: + case 2422: + case 2423: + case 2424: + case 2425: + case 2426: + case 2562: + case 2563: + case 2564: + case 2565: + case 2566: + case 2567: + case 2568: + case 2569: + case 2570: + case 2706: + case 2707: + case 2708: + case 2709: + case 2710: + case 2711: + case 2712: + case 2713: + case 2714: + case 2850: + case 2851: + case 2852: + case 2853: + case 2854: + case 2855: + case 2856: + case 2857: + case 2858: + case 2994: + case 2995: + case 2996: + case 2997: + case 2998: + case 2999: + case 3000: + case 3001: + case 3002: + case 3138: + case 3139: + case 3140: + case 3141: + case 3142: + case 3143: + case 3144: + case 3145: + case 3146: + case 3282: + case 3283: + case 3284: + case 3285: + case 3286: + case 3287: + case 3288: + case 3289: + case 3290: return 8; + default: return 9; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 2064: + case 2065: + case 2066: + case 2073: + case 2074: + case 2075: + case 2082: + case 2083: + case 2084: + case 2091: + case 2092: + case 2093: + case 2100: + case 2101: + case 2102: + case 2109: + case 2110: + case 2111: + case 2118: + case 2119: + case 2120: + case 2127: + case 2128: + case 2129: + case 2136: + case 2137: + case 2138: + case 2145: + case 2146: + case 2147: + case 2154: + case 2155: + case 2156: + case 2163: + case 2164: + case 2165: + case 2172: + case 2173: + case 2174: + case 2181: + case 2182: + case 2183: + case 2190: + case 2191: + case 2192: + case 2199: + case 2200: + case 2201: + case 2208: + case 2209: + case 2210: + case 2217: + case 2218: + case 2219: + case 2226: + case 2227: + case 2228: + case 2235: + case 2236: + case 2237: + case 2244: + case 2245: + case 2246: + case 2253: + case 2254: + case 2255: + case 2262: + case 2263: + case 2264: + case 2271: + case 2272: + case 2273: + case 2280: + case 2281: + case 2282: + case 2289: + case 2290: + case 2291: + case 2298: + case 2299: + case 2300: + case 2307: + case 2308: + case 2309: + case 2316: + case 2317: + case 2318: + case 2325: + case 2326: + case 2327: + case 2334: + case 2335: + case 2336: + case 2343: + case 2344: + case 2345: + case 2352: + case 2353: + case 2354: + case 2361: + case 2362: + case 2363: + case 2370: + case 2371: + case 2372: + case 2379: + case 2380: + case 2381: + case 2388: + case 2389: + case 2390: + case 2397: + case 2398: + case 2399: + case 2406: + case 2407: + case 2408: + case 2415: + case 2416: + case 2417: + case 2424: + case 2425: + case 2426: + case 2433: + case 2434: + case 2435: + case 2442: + case 2443: + case 2444: + case 2451: + case 2452: + case 2453: + case 2460: + case 2461: + case 2462: + case 2469: + case 2470: + case 2471: + case 2478: + case 2479: + case 2480: + case 2487: + case 2488: + case 2489: + case 2496: + case 2497: + case 2498: + case 2505: + case 2506: + case 2507: + case 2514: + case 2515: + case 2516: + case 2523: + case 2524: + case 2525: + case 2532: + case 2533: + case 2534: + case 2541: + case 2542: + case 2543: + case 2550: + case 2551: + case 2552: + case 2559: + case 2560: + case 2561: + case 2568: + case 2569: + case 2570: + case 2577: + case 2578: + case 2579: + case 2586: + case 2587: + case 2588: + case 2595: + case 2596: + case 2597: + case 2604: + case 2605: + case 2606: + case 2613: + case 2614: + case 2615: + case 2622: + case 2623: + case 2624: + case 2631: + case 2632: + case 2633: + case 2640: + case 2641: + case 2642: + case 2649: + case 2650: + case 2651: + case 2658: + case 2659: + case 2660: + case 2667: + case 2668: + case 2669: + case 2676: + case 2677: + case 2678: + case 2685: + case 2686: + case 2687: + case 2694: + case 2695: + case 2696: + case 2703: + case 2704: + case 2705: + case 2712: + case 2713: + case 2714: + case 2721: + case 2722: + case 2723: + case 2730: + case 2731: + case 2732: + case 2739: + case 2740: + case 2741: + case 2748: + case 2749: + case 2750: + case 2757: + case 2758: + case 2759: + case 2766: + case 2767: + case 2768: + case 2775: + case 2776: + case 2777: + case 2784: + case 2785: + case 2786: + case 2793: + case 2794: + case 2795: + case 2802: + case 2803: + case 2804: + case 2811: + case 2812: + case 2813: + case 2820: + case 2821: + case 2822: + case 2829: + case 2830: + case 2831: + case 2838: + case 2839: + case 2840: + case 2847: + case 2848: + case 2849: + case 2856: + case 2857: + case 2858: + case 2865: + case 2866: + case 2867: + case 2874: + case 2875: + case 2876: + case 2883: + case 2884: + case 2885: + case 2892: + case 2893: + case 2894: + case 2901: + case 2902: + case 2903: + case 2910: + case 2911: + case 2912: + case 2919: + case 2920: + case 2921: + case 2928: + case 2929: + case 2930: + case 2937: + case 2938: + case 2939: + case 2946: + case 2947: + case 2948: + case 2955: + case 2956: + case 2957: + case 2964: + case 2965: + case 2966: + case 2973: + case 2974: + case 2975: + case 2982: + case 2983: + case 2984: + case 2991: + case 2992: + case 2993: + case 3000: + case 3001: + case 3002: + case 3009: + case 3010: + case 3011: + case 3018: + case 3019: + case 3020: + case 3027: + case 3028: + case 3029: + case 3036: + case 3037: + case 3038: + case 3045: + case 3046: + case 3047: + case 3054: + case 3055: + case 3056: + case 3063: + case 3064: + case 3065: + case 3072: + case 3073: + case 3074: + case 3081: + case 3082: + case 3083: + case 3090: + case 3091: + case 3092: + case 3099: + case 3100: + case 3101: + case 3108: + case 3109: + case 3110: + case 3117: + case 3118: + case 3119: + case 3126: + case 3127: + case 3128: + case 3135: + case 3136: + case 3137: + case 3144: + case 3145: + case 3146: + case 3153: + case 3154: + case 3155: + case 3162: + case 3163: + case 3164: + case 3171: + case 3172: + case 3173: + case 3180: + case 3181: + case 3182: + case 3189: + case 3190: + case 3191: + case 3198: + case 3199: + case 3200: + case 3207: + case 3208: + case 3209: + case 3216: + case 3217: + case 3218: + case 3225: + case 3226: + case 3227: + case 3234: + case 3235: + case 3236: + case 3243: + case 3244: + case 3245: + case 3252: + case 3253: + case 3254: + case 3261: + case 3262: + case 3263: + case 3270: + case 3271: + case 3272: + case 3279: + case 3280: + case 3281: + case 3288: + case 3289: + case 3290: + case 3297: + case 3298: + case 3299: + case 3306: + case 3307: + case 3308: + case 3315: + case 3316: + case 3317: + case 3324: + case 3325: + case 3326: + case 3333: + case 3334: + case 3335: + case 3342: + case 3343: + case 3344: + case 3351: + case 3352: + case 3353: return South::None; + case 2061: + case 2062: + case 2063: + case 2070: + case 2071: + case 2072: + case 2079: + case 2080: + case 2081: + case 2088: + case 2089: + case 2090: + case 2097: + case 2098: + case 2099: + case 2106: + case 2107: + case 2108: + case 2115: + case 2116: + case 2117: + case 2124: + case 2125: + case 2126: + case 2133: + case 2134: + case 2135: + case 2142: + case 2143: + case 2144: + case 2151: + case 2152: + case 2153: + case 2160: + case 2161: + case 2162: + case 2169: + case 2170: + case 2171: + case 2178: + case 2179: + case 2180: + case 2187: + case 2188: + case 2189: + case 2196: + case 2197: + case 2198: + case 2205: + case 2206: + case 2207: + case 2214: + case 2215: + case 2216: + case 2223: + case 2224: + case 2225: + case 2232: + case 2233: + case 2234: + case 2241: + case 2242: + case 2243: + case 2250: + case 2251: + case 2252: + case 2259: + case 2260: + case 2261: + case 2268: + case 2269: + case 2270: + case 2277: + case 2278: + case 2279: + case 2286: + case 2287: + case 2288: + case 2295: + case 2296: + case 2297: + case 2304: + case 2305: + case 2306: + case 2313: + case 2314: + case 2315: + case 2322: + case 2323: + case 2324: + case 2331: + case 2332: + case 2333: + case 2340: + case 2341: + case 2342: + case 2349: + case 2350: + case 2351: + case 2358: + case 2359: + case 2360: + case 2367: + case 2368: + case 2369: + case 2376: + case 2377: + case 2378: + case 2385: + case 2386: + case 2387: + case 2394: + case 2395: + case 2396: + case 2403: + case 2404: + case 2405: + case 2412: + case 2413: + case 2414: + case 2421: + case 2422: + case 2423: + case 2430: + case 2431: + case 2432: + case 2439: + case 2440: + case 2441: + case 2448: + case 2449: + case 2450: + case 2457: + case 2458: + case 2459: + case 2466: + case 2467: + case 2468: + case 2475: + case 2476: + case 2477: + case 2484: + case 2485: + case 2486: + case 2493: + case 2494: + case 2495: + case 2502: + case 2503: + case 2504: + case 2511: + case 2512: + case 2513: + case 2520: + case 2521: + case 2522: + case 2529: + case 2530: + case 2531: + case 2538: + case 2539: + case 2540: + case 2547: + case 2548: + case 2549: + case 2556: + case 2557: + case 2558: + case 2565: + case 2566: + case 2567: + case 2574: + case 2575: + case 2576: + case 2583: + case 2584: + case 2585: + case 2592: + case 2593: + case 2594: + case 2601: + case 2602: + case 2603: + case 2610: + case 2611: + case 2612: + case 2619: + case 2620: + case 2621: + case 2628: + case 2629: + case 2630: + case 2637: + case 2638: + case 2639: + case 2646: + case 2647: + case 2648: + case 2655: + case 2656: + case 2657: + case 2664: + case 2665: + case 2666: + case 2673: + case 2674: + case 2675: + case 2682: + case 2683: + case 2684: + case 2691: + case 2692: + case 2693: + case 2700: + case 2701: + case 2702: + case 2709: + case 2710: + case 2711: + case 2718: + case 2719: + case 2720: + case 2727: + case 2728: + case 2729: + case 2736: + case 2737: + case 2738: + case 2745: + case 2746: + case 2747: + case 2754: + case 2755: + case 2756: + case 2763: + case 2764: + case 2765: + case 2772: + case 2773: + case 2774: + case 2781: + case 2782: + case 2783: + case 2790: + case 2791: + case 2792: + case 2799: + case 2800: + case 2801: + case 2808: + case 2809: + case 2810: + case 2817: + case 2818: + case 2819: + case 2826: + case 2827: + case 2828: + case 2835: + case 2836: + case 2837: + case 2844: + case 2845: + case 2846: + case 2853: + case 2854: + case 2855: + case 2862: + case 2863: + case 2864: + case 2871: + case 2872: + case 2873: + case 2880: + case 2881: + case 2882: + case 2889: + case 2890: + case 2891: + case 2898: + case 2899: + case 2900: + case 2907: + case 2908: + case 2909: + case 2916: + case 2917: + case 2918: + case 2925: + case 2926: + case 2927: + case 2934: + case 2935: + case 2936: + case 2943: + case 2944: + case 2945: + case 2952: + case 2953: + case 2954: + case 2961: + case 2962: + case 2963: + case 2970: + case 2971: + case 2972: + case 2979: + case 2980: + case 2981: + case 2988: + case 2989: + case 2990: + case 2997: + case 2998: + case 2999: + case 3006: + case 3007: + case 3008: + case 3015: + case 3016: + case 3017: + case 3024: + case 3025: + case 3026: + case 3033: + case 3034: + case 3035: + case 3042: + case 3043: + case 3044: + case 3051: + case 3052: + case 3053: + case 3060: + case 3061: + case 3062: + case 3069: + case 3070: + case 3071: + case 3078: + case 3079: + case 3080: + case 3087: + case 3088: + case 3089: + case 3096: + case 3097: + case 3098: + case 3105: + case 3106: + case 3107: + case 3114: + case 3115: + case 3116: + case 3123: + case 3124: + case 3125: + case 3132: + case 3133: + case 3134: + case 3141: + case 3142: + case 3143: + case 3150: + case 3151: + case 3152: + case 3159: + case 3160: + case 3161: + case 3168: + case 3169: + case 3170: + case 3177: + case 3178: + case 3179: + case 3186: + case 3187: + case 3188: + case 3195: + case 3196: + case 3197: + case 3204: + case 3205: + case 3206: + case 3213: + case 3214: + case 3215: + case 3222: + case 3223: + case 3224: + case 3231: + case 3232: + case 3233: + case 3240: + case 3241: + case 3242: + case 3249: + case 3250: + case 3251: + case 3258: + case 3259: + case 3260: + case 3267: + case 3268: + case 3269: + case 3276: + case 3277: + case 3278: + case 3285: + case 3286: + case 3287: + case 3294: + case 3295: + case 3296: + case 3303: + case 3304: + case 3305: + case 3312: + case 3313: + case 3314: + case 3321: + case 3322: + case 3323: + case 3330: + case 3331: + case 3332: + case 3339: + case 3340: + case 3341: + case 3348: + case 3349: + case 3350: return South::Side; + default: return South::Up; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 2060: + case 2063: + case 2066: + case 2069: + case 2072: + case 2075: + case 2078: + case 2081: + case 2084: + case 2087: + case 2090: + case 2093: + case 2096: + case 2099: + case 2102: + case 2105: + case 2108: + case 2111: + case 2114: + case 2117: + case 2120: + case 2123: + case 2126: + case 2129: + case 2132: + case 2135: + case 2138: + case 2141: + case 2144: + case 2147: + case 2150: + case 2153: + case 2156: + case 2159: + case 2162: + case 2165: + case 2168: + case 2171: + case 2174: + case 2177: + case 2180: + case 2183: + case 2186: + case 2189: + case 2192: + case 2195: + case 2198: + case 2201: + case 2204: + case 2207: + case 2210: + case 2213: + case 2216: + case 2219: + case 2222: + case 2225: + case 2228: + case 2231: + case 2234: + case 2237: + case 2240: + case 2243: + case 2246: + case 2249: + case 2252: + case 2255: + case 2258: + case 2261: + case 2264: + case 2267: + case 2270: + case 2273: + case 2276: + case 2279: + case 2282: + case 2285: + case 2288: + case 2291: + case 2294: + case 2297: + case 2300: + case 2303: + case 2306: + case 2309: + case 2312: + case 2315: + case 2318: + case 2321: + case 2324: + case 2327: + case 2330: + case 2333: + case 2336: + case 2339: + case 2342: + case 2345: + case 2348: + case 2351: + case 2354: + case 2357: + case 2360: + case 2363: + case 2366: + case 2369: + case 2372: + case 2375: + case 2378: + case 2381: + case 2384: + case 2387: + case 2390: + case 2393: + case 2396: + case 2399: + case 2402: + case 2405: + case 2408: + case 2411: + case 2414: + case 2417: + case 2420: + case 2423: + case 2426: + case 2429: + case 2432: + case 2435: + case 2438: + case 2441: + case 2444: + case 2447: + case 2450: + case 2453: + case 2456: + case 2459: + case 2462: + case 2465: + case 2468: + case 2471: + case 2474: + case 2477: + case 2480: + case 2483: + case 2486: + case 2489: + case 2492: + case 2495: + case 2498: + case 2501: + case 2504: + case 2507: + case 2510: + case 2513: + case 2516: + case 2519: + case 2522: + case 2525: + case 2528: + case 2531: + case 2534: + case 2537: + case 2540: + case 2543: + case 2546: + case 2549: + case 2552: + case 2555: + case 2558: + case 2561: + case 2564: + case 2567: + case 2570: + case 2573: + case 2576: + case 2579: + case 2582: + case 2585: + case 2588: + case 2591: + case 2594: + case 2597: + case 2600: + case 2603: + case 2606: + case 2609: + case 2612: + case 2615: + case 2618: + case 2621: + case 2624: + case 2627: + case 2630: + case 2633: + case 2636: + case 2639: + case 2642: + case 2645: + case 2648: + case 2651: + case 2654: + case 2657: + case 2660: + case 2663: + case 2666: + case 2669: + case 2672: + case 2675: + case 2678: + case 2681: + case 2684: + case 2687: + case 2690: + case 2693: + case 2696: + case 2699: + case 2702: + case 2705: + case 2708: + case 2711: + case 2714: + case 2717: + case 2720: + case 2723: + case 2726: + case 2729: + case 2732: + case 2735: + case 2738: + case 2741: + case 2744: + case 2747: + case 2750: + case 2753: + case 2756: + case 2759: + case 2762: + case 2765: + case 2768: + case 2771: + case 2774: + case 2777: + case 2780: + case 2783: + case 2786: + case 2789: + case 2792: + case 2795: + case 2798: + case 2801: + case 2804: + case 2807: + case 2810: + case 2813: + case 2816: + case 2819: + case 2822: + case 2825: + case 2828: + case 2831: + case 2834: + case 2837: + case 2840: + case 2843: + case 2846: + case 2849: + case 2852: + case 2855: + case 2858: + case 2861: + case 2864: + case 2867: + case 2870: + case 2873: + case 2876: + case 2879: + case 2882: + case 2885: + case 2888: + case 2891: + case 2894: + case 2897: + case 2900: + case 2903: + case 2906: + case 2909: + case 2912: + case 2915: + case 2918: + case 2921: + case 2924: + case 2927: + case 2930: + case 2933: + case 2936: + case 2939: + case 2942: + case 2945: + case 2948: + case 2951: + case 2954: + case 2957: + case 2960: + case 2963: + case 2966: + case 2969: + case 2972: + case 2975: + case 2978: + case 2981: + case 2984: + case 2987: + case 2990: + case 2993: + case 2996: + case 2999: + case 3002: + case 3005: + case 3008: + case 3011: + case 3014: + case 3017: + case 3020: + case 3023: + case 3026: + case 3029: + case 3032: + case 3035: + case 3038: + case 3041: + case 3044: + case 3047: + case 3050: + case 3053: + case 3056: + case 3059: + case 3062: + case 3065: + case 3068: + case 3071: + case 3074: + case 3077: + case 3080: + case 3083: + case 3086: + case 3089: + case 3092: + case 3095: + case 3098: + case 3101: + case 3104: + case 3107: + case 3110: + case 3113: + case 3116: + case 3119: + case 3122: + case 3125: + case 3128: + case 3131: + case 3134: + case 3137: + case 3140: + case 3143: + case 3146: + case 3149: + case 3152: + case 3155: + case 3158: + case 3161: + case 3164: + case 3167: + case 3170: + case 3173: + case 3176: + case 3179: + case 3182: + case 3185: + case 3188: + case 3191: + case 3194: + case 3197: + case 3200: + case 3203: + case 3206: + case 3209: + case 3212: + case 3215: + case 3218: + case 3221: + case 3224: + case 3227: + case 3230: + case 3233: + case 3236: + case 3239: + case 3242: + case 3245: + case 3248: + case 3251: + case 3254: + case 3257: + case 3260: + case 3263: + case 3266: + case 3269: + case 3272: + case 3275: + case 3278: + case 3281: + case 3284: + case 3287: + case 3290: + case 3293: + case 3296: + case 3299: + case 3302: + case 3305: + case 3308: + case 3311: + case 3314: + case 3317: + case 3320: + case 3323: + case 3326: + case 3329: + case 3332: + case 3335: + case 3338: + case 3341: + case 3344: + case 3347: + case 3350: + case 3353: return West::None; + case 2059: + case 2062: + case 2065: + case 2068: + case 2071: + case 2074: + case 2077: + case 2080: + case 2083: + case 2086: + case 2089: + case 2092: + case 2095: + case 2098: + case 2101: + case 2104: + case 2107: + case 2110: + case 2113: + case 2116: + case 2119: + case 2122: + case 2125: + case 2128: + case 2131: + case 2134: + case 2137: + case 2140: + case 2143: + case 2146: + case 2149: + case 2152: + case 2155: + case 2158: + case 2161: + case 2164: + case 2167: + case 2170: + case 2173: + case 2176: + case 2179: + case 2182: + case 2185: + case 2188: + case 2191: + case 2194: + case 2197: + case 2200: + case 2203: + case 2206: + case 2209: + case 2212: + case 2215: + case 2218: + case 2221: + case 2224: + case 2227: + case 2230: + case 2233: + case 2236: + case 2239: + case 2242: + case 2245: + case 2248: + case 2251: + case 2254: + case 2257: + case 2260: + case 2263: + case 2266: + case 2269: + case 2272: + case 2275: + case 2278: + case 2281: + case 2284: + case 2287: + case 2290: + case 2293: + case 2296: + case 2299: + case 2302: + case 2305: + case 2308: + case 2311: + case 2314: + case 2317: + case 2320: + case 2323: + case 2326: + case 2329: + case 2332: + case 2335: + case 2338: + case 2341: + case 2344: + case 2347: + case 2350: + case 2353: + case 2356: + case 2359: + case 2362: + case 2365: + case 2368: + case 2371: + case 2374: + case 2377: + case 2380: + case 2383: + case 2386: + case 2389: + case 2392: + case 2395: + case 2398: + case 2401: + case 2404: + case 2407: + case 2410: + case 2413: + case 2416: + case 2419: + case 2422: + case 2425: + case 2428: + case 2431: + case 2434: + case 2437: + case 2440: + case 2443: + case 2446: + case 2449: + case 2452: + case 2455: + case 2458: + case 2461: + case 2464: + case 2467: + case 2470: + case 2473: + case 2476: + case 2479: + case 2482: + case 2485: + case 2488: + case 2491: + case 2494: + case 2497: + case 2500: + case 2503: + case 2506: + case 2509: + case 2512: + case 2515: + case 2518: + case 2521: + case 2524: + case 2527: + case 2530: + case 2533: + case 2536: + case 2539: + case 2542: + case 2545: + case 2548: + case 2551: + case 2554: + case 2557: + case 2560: + case 2563: + case 2566: + case 2569: + case 2572: + case 2575: + case 2578: + case 2581: + case 2584: + case 2587: + case 2590: + case 2593: + case 2596: + case 2599: + case 2602: + case 2605: + case 2608: + case 2611: + case 2614: + case 2617: + case 2620: + case 2623: + case 2626: + case 2629: + case 2632: + case 2635: + case 2638: + case 2641: + case 2644: + case 2647: + case 2650: + case 2653: + case 2656: + case 2659: + case 2662: + case 2665: + case 2668: + case 2671: + case 2674: + case 2677: + case 2680: + case 2683: + case 2686: + case 2689: + case 2692: + case 2695: + case 2698: + case 2701: + case 2704: + case 2707: + case 2710: + case 2713: + case 2716: + case 2719: + case 2722: + case 2725: + case 2728: + case 2731: + case 2734: + case 2737: + case 2740: + case 2743: + case 2746: + case 2749: + case 2752: + case 2755: + case 2758: + case 2761: + case 2764: + case 2767: + case 2770: + case 2773: + case 2776: + case 2779: + case 2782: + case 2785: + case 2788: + case 2791: + case 2794: + case 2797: + case 2800: + case 2803: + case 2806: + case 2809: + case 2812: + case 2815: + case 2818: + case 2821: + case 2824: + case 2827: + case 2830: + case 2833: + case 2836: + case 2839: + case 2842: + case 2845: + case 2848: + case 2851: + case 2854: + case 2857: + case 2860: + case 2863: + case 2866: + case 2869: + case 2872: + case 2875: + case 2878: + case 2881: + case 2884: + case 2887: + case 2890: + case 2893: + case 2896: + case 2899: + case 2902: + case 2905: + case 2908: + case 2911: + case 2914: + case 2917: + case 2920: + case 2923: + case 2926: + case 2929: + case 2932: + case 2935: + case 2938: + case 2941: + case 2944: + case 2947: + case 2950: + case 2953: + case 2956: + case 2959: + case 2962: + case 2965: + case 2968: + case 2971: + case 2974: + case 2977: + case 2980: + case 2983: + case 2986: + case 2989: + case 2992: + case 2995: + case 2998: + case 3001: + case 3004: + case 3007: + case 3010: + case 3013: + case 3016: + case 3019: + case 3022: + case 3025: + case 3028: + case 3031: + case 3034: + case 3037: + case 3040: + case 3043: + case 3046: + case 3049: + case 3052: + case 3055: + case 3058: + case 3061: + case 3064: + case 3067: + case 3070: + case 3073: + case 3076: + case 3079: + case 3082: + case 3085: + case 3088: + case 3091: + case 3094: + case 3097: + case 3100: + case 3103: + case 3106: + case 3109: + case 3112: + case 3115: + case 3118: + case 3121: + case 3124: + case 3127: + case 3130: + case 3133: + case 3136: + case 3139: + case 3142: + case 3145: + case 3148: + case 3151: + case 3154: + case 3157: + case 3160: + case 3163: + case 3166: + case 3169: + case 3172: + case 3175: + case 3178: + case 3181: + case 3184: + case 3187: + case 3190: + case 3193: + case 3196: + case 3199: + case 3202: + case 3205: + case 3208: + case 3211: + case 3214: + case 3217: + case 3220: + case 3223: + case 3226: + case 3229: + case 3232: + case 3235: + case 3238: + case 3241: + case 3244: + case 3247: + case 3250: + case 3253: + case 3256: + case 3259: + case 3262: + case 3265: + case 3268: + case 3271: + case 3274: + case 3277: + case 3280: + case 3283: + case 3286: + case 3289: + case 3292: + case 3295: + case 3298: + case 3301: + case 3304: + case 3307: + case 3310: + case 3313: + case 3316: + case 3319: + case 3322: + case 3325: + case 3328: + case 3331: + case 3334: + case 3337: + case 3340: + case 3343: + case 3346: + case 3349: + case 3352: return West::Side; + default: return West::Up; + } +} +} // namespace RedstoneWire +namespace Repeater +{ +BlockState Repeater() +{ + return 4034; +} +unsigned char Delay(const BlockState Block) +{ + switch (Block.ID) + { + case 4031: + case 4032: + case 4033: + case 4034: + case 4035: + case 4036: + case 4037: + case 4038: + case 4039: + case 4040: + case 4041: + case 4042: + case 4043: + case 4044: + case 4045: + case 4046: return 1; + case 4047: + case 4048: + case 4049: + case 4050: + case 4051: + case 4052: + case 4053: + case 4054: + case 4055: + case 4056: + case 4057: + case 4058: + case 4059: + case 4060: + case 4061: + case 4062: return 2; + case 4063: + case 4064: + case 4065: + case 4066: + case 4067: + case 4068: + case 4069: + case 4070: + case 4071: + case 4072: + case 4073: + case 4074: + case 4075: + case 4076: + case 4077: + case 4078: return 3; + default: return 4; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4039: + case 4040: + case 4041: + case 4042: + case 4055: + case 4056: + case 4057: + case 4058: + case 4071: + case 4072: + case 4073: + case 4074: + case 4087: + case 4088: + case 4089: + case 4090: return eBlockFace::BLOCK_FACE_XM; + case 4043: + case 4044: + case 4045: + case 4046: + case 4059: + case 4060: + case 4061: + case 4062: + case 4075: + case 4076: + case 4077: + case 4078: + case 4091: + case 4092: + case 4093: + case 4094: return eBlockFace::BLOCK_FACE_XP; + case 4031: + case 4032: + case 4033: + case 4034: + case 4047: + case 4048: + case 4049: + case 4050: + case 4063: + case 4064: + case 4065: + case 4066: + case 4079: + case 4080: + case 4081: + case 4082: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Locked(const BlockState Block) +{ + switch (Block.ID) + { + case 4033: + case 4034: + case 4037: + case 4038: + case 4041: + case 4042: + case 4045: + case 4046: + case 4049: + case 4050: + case 4053: + case 4054: + case 4057: + case 4058: + case 4061: + case 4062: + case 4065: + case 4066: + case 4069: + case 4070: + case 4073: + case 4074: + case 4077: + case 4078: + case 4081: + case 4082: + case 4085: + case 4086: + case 4089: + case 4090: + case 4093: + case 4094: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 4032: + case 4034: + case 4036: + case 4038: + case 4040: + case 4042: + case 4044: + case 4046: + case 4048: + case 4050: + case 4052: + case 4054: + case 4056: + case 4058: + case 4060: + case 4062: + case 4064: + case 4066: + case 4068: + case 4070: + case 4072: + case 4074: + case 4076: + case 4078: + case 4080: + case 4082: + case 4084: + case 4086: + case 4088: + case 4090: + case 4092: + case 4094: return false; + default: return true; + } +} +} // namespace Repeater +namespace RepeatingCommandBlock +{ +BlockState RepeatingCommandBlock() +{ + return 9231; +} +bool Conditional(const BlockState Block) +{ + switch (Block.ID) + { + case 9231: + case 9232: + case 9233: + case 9234: + case 9235: + case 9236: return false; + default: return true; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9228: + case 9234: return eBlockFace::BLOCK_FACE_XM; + case 9226: + case 9232: return eBlockFace::BLOCK_FACE_XP; + case 9230: + case 9236: return eBlockFace::BLOCK_FACE_YM; + case 9229: + case 9235: return eBlockFace::BLOCK_FACE_YP; + case 9225: + case 9231: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace RepeatingCommandBlock +namespace RespawnAnchor +{ +BlockState RespawnAnchor() +{ + return 15829; +} +unsigned char Charges(const BlockState Block) +{ + switch (Block.ID) + { + case 15829: return 0; + case 15830: return 1; + case 15831: return 2; + case 15832: return 3; + default: return 4; + } +} +} // namespace RespawnAnchor +namespace RoseBush +{ +BlockState RoseBush() +{ + return 7890; +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7890: return Half::Lower; + default: return Half::Upper; + } +} +} // namespace RoseBush +namespace Sand +{ +} +namespace Sandstone +{ +} +namespace SandstoneSlab +{ +BlockState SandstoneSlab() +{ + return 8351; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8351: return Type::Bottom; + case 8353: return Type::Double; + default: return Type::Top; + } +} +} // namespace SandstoneSlab +namespace SandstoneStairs +{ +BlockState SandstoneStairs() +{ + return 5181; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5211: + case 5213: + case 5215: + case 5217: + case 5219: + case 5221: + case 5223: + case 5225: + case 5227: + case 5229: return eBlockFace::BLOCK_FACE_XM; + case 5231: + case 5233: + case 5235: + case 5237: + case 5239: + case 5241: + case 5243: + case 5245: + case 5247: + case 5249: return eBlockFace::BLOCK_FACE_XP; + case 5171: + case 5173: + case 5175: + case 5177: + case 5179: + case 5181: + case 5183: + case 5185: + case 5187: + case 5189: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 5181: + case 5183: + case 5185: + case 5187: + case 5189: + case 5201: + case 5203: + case 5205: + case 5207: + case 5209: + case 5221: + case 5223: + case 5225: + case 5227: + case 5229: + case 5241: + case 5243: + case 5245: + case 5247: + case 5249: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 5173: + case 5183: + case 5193: + case 5203: + case 5213: + case 5223: + case 5233: + case 5243: return Shape::InnerLeft; + case 5175: + case 5185: + case 5195: + case 5205: + case 5215: + case 5225: + case 5235: + case 5245: return Shape::InnerRight; + case 5177: + case 5187: + case 5197: + case 5207: + case 5217: + case 5227: + case 5237: + case 5247: return Shape::OuterLeft; + case 5179: + case 5189: + case 5199: + case 5209: + case 5219: + case 5229: + case 5239: + case 5249: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace SandstoneStairs +namespace SandstoneWall +{ +BlockState SandstoneWall() +{ + return 13786; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 13894: + case 13895: + case 13896: + case 13900: + case 13901: + case 13902: + case 13906: + case 13907: + case 13908: + case 13912: + case 13913: + case 13914: + case 13918: + case 13919: + case 13920: + case 13924: + case 13925: + case 13926: + case 13930: + case 13931: + case 13932: + case 13936: + case 13937: + case 13938: + case 13942: + case 13943: + case 13944: + case 13948: + case 13949: + case 13950: + case 13954: + case 13955: + case 13956: + case 13960: + case 13961: + case 13962: + case 13966: + case 13967: + case 13968: + case 13972: + case 13973: + case 13974: + case 13978: + case 13979: + case 13980: + case 13984: + case 13985: + case 13986: + case 13990: + case 13991: + case 13992: + case 13996: + case 13997: + case 13998: return East::Low; + case 13786: + case 13787: + case 13788: + case 13792: + case 13793: + case 13794: + case 13798: + case 13799: + case 13800: + case 13804: + case 13805: + case 13806: + case 13810: + case 13811: + case 13812: + case 13816: + case 13817: + case 13818: + case 13822: + case 13823: + case 13824: + case 13828: + case 13829: + case 13830: + case 13834: + case 13835: + case 13836: + case 13840: + case 13841: + case 13842: + case 13846: + case 13847: + case 13848: + case 13852: + case 13853: + case 13854: + case 13858: + case 13859: + case 13860: + case 13864: + case 13865: + case 13866: + case 13870: + case 13871: + case 13872: + case 13876: + case 13877: + case 13878: + case 13882: + case 13883: + case 13884: + case 13888: + case 13889: + case 13890: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 13822: + case 13823: + case 13824: + case 13828: + case 13829: + case 13830: + case 13834: + case 13835: + case 13836: + case 13840: + case 13841: + case 13842: + case 13846: + case 13847: + case 13848: + case 13852: + case 13853: + case 13854: + case 13930: + case 13931: + case 13932: + case 13936: + case 13937: + case 13938: + case 13942: + case 13943: + case 13944: + case 13948: + case 13949: + case 13950: + case 13954: + case 13955: + case 13956: + case 13960: + case 13961: + case 13962: + case 14038: + case 14039: + case 14040: + case 14044: + case 14045: + case 14046: + case 14050: + case 14051: + case 14052: + case 14056: + case 14057: + case 14058: + case 14062: + case 14063: + case 14064: + case 14068: + case 14069: + case 14070: return North::Low; + case 13786: + case 13787: + case 13788: + case 13792: + case 13793: + case 13794: + case 13798: + case 13799: + case 13800: + case 13804: + case 13805: + case 13806: + case 13810: + case 13811: + case 13812: + case 13816: + case 13817: + case 13818: + case 13894: + case 13895: + case 13896: + case 13900: + case 13901: + case 13902: + case 13906: + case 13907: + case 13908: + case 13912: + case 13913: + case 13914: + case 13918: + case 13919: + case 13920: + case 13924: + case 13925: + case 13926: + case 14002: + case 14003: + case 14004: + case 14008: + case 14009: + case 14010: + case 14014: + case 14015: + case 14016: + case 14020: + case 14021: + case 14022: + case 14026: + case 14027: + case 14028: + case 14032: + case 14033: + case 14034: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 13798: + case 13799: + case 13800: + case 13804: + case 13805: + case 13806: + case 13834: + case 13835: + case 13836: + case 13840: + case 13841: + case 13842: + case 13870: + case 13871: + case 13872: + case 13876: + case 13877: + case 13878: + case 13906: + case 13907: + case 13908: + case 13912: + case 13913: + case 13914: + case 13942: + case 13943: + case 13944: + case 13948: + case 13949: + case 13950: + case 13978: + case 13979: + case 13980: + case 13984: + case 13985: + case 13986: + case 14014: + case 14015: + case 14016: + case 14020: + case 14021: + case 14022: + case 14050: + case 14051: + case 14052: + case 14056: + case 14057: + case 14058: + case 14086: + case 14087: + case 14088: + case 14092: + case 14093: + case 14094: return South::Low; + case 13786: + case 13787: + case 13788: + case 13792: + case 13793: + case 13794: + case 13822: + case 13823: + case 13824: + case 13828: + case 13829: + case 13830: + case 13858: + case 13859: + case 13860: + case 13864: + case 13865: + case 13866: + case 13894: + case 13895: + case 13896: + case 13900: + case 13901: + case 13902: + case 13930: + case 13931: + case 13932: + case 13936: + case 13937: + case 13938: + case 13966: + case 13967: + case 13968: + case 13972: + case 13973: + case 13974: + case 14002: + case 14003: + case 14004: + case 14008: + case 14009: + case 14010: + case 14038: + case 14039: + case 14040: + case 14044: + case 14045: + case 14046: + case 14074: + case 14075: + case 14076: + case 14080: + case 14081: + case 14082: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 13792: + case 13793: + case 13794: + case 13804: + case 13805: + case 13806: + case 13816: + case 13817: + case 13818: + case 13828: + case 13829: + case 13830: + case 13840: + case 13841: + case 13842: + case 13852: + case 13853: + case 13854: + case 13864: + case 13865: + case 13866: + case 13876: + case 13877: + case 13878: + case 13888: + case 13889: + case 13890: + case 13900: + case 13901: + case 13902: + case 13912: + case 13913: + case 13914: + case 13924: + case 13925: + case 13926: + case 13936: + case 13937: + case 13938: + case 13948: + case 13949: + case 13950: + case 13960: + case 13961: + case 13962: + case 13972: + case 13973: + case 13974: + case 13984: + case 13985: + case 13986: + case 13996: + case 13997: + case 13998: + case 14008: + case 14009: + case 14010: + case 14020: + case 14021: + case 14022: + case 14032: + case 14033: + case 14034: + case 14044: + case 14045: + case 14046: + case 14056: + case 14057: + case 14058: + case 14068: + case 14069: + case 14070: + case 14080: + case 14081: + case 14082: + case 14092: + case 14093: + case 14094: + case 14104: + case 14105: + case 14106: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 13787: + case 13793: + case 13799: + case 13805: + case 13811: + case 13817: + case 13823: + case 13829: + case 13835: + case 13841: + case 13847: + case 13853: + case 13859: + case 13865: + case 13871: + case 13877: + case 13883: + case 13889: + case 13895: + case 13901: + case 13907: + case 13913: + case 13919: + case 13925: + case 13931: + case 13937: + case 13943: + case 13949: + case 13955: + case 13961: + case 13967: + case 13973: + case 13979: + case 13985: + case 13991: + case 13997: + case 14003: + case 14009: + case 14015: + case 14021: + case 14027: + case 14033: + case 14039: + case 14045: + case 14051: + case 14057: + case 14063: + case 14069: + case 14075: + case 14081: + case 14087: + case 14093: + case 14099: + case 14105: return West::Low; + case 13786: + case 13792: + case 13798: + case 13804: + case 13810: + case 13816: + case 13822: + case 13828: + case 13834: + case 13840: + case 13846: + case 13852: + case 13858: + case 13864: + case 13870: + case 13876: + case 13882: + case 13888: + case 13894: + case 13900: + case 13906: + case 13912: + case 13918: + case 13924: + case 13930: + case 13936: + case 13942: + case 13948: + case 13954: + case 13960: + case 13966: + case 13972: + case 13978: + case 13984: + case 13990: + case 13996: + case 14002: + case 14008: + case 14014: + case 14020: + case 14026: + case 14032: + case 14038: + case 14044: + case 14050: + case 14056: + case 14062: + case 14068: + case 14074: + case 14080: + case 14086: + case 14092: + case 14098: + case 14104: return West::None; + default: return West::Tall; + } +} +} // namespace SandstoneWall +namespace Scaffolding +{ +BlockState Scaffolding() +{ + return 14786; +} +bool Bottom(const BlockState Block) +{ + switch (Block.ID) + { + case 14772: + case 14774: + case 14776: + case 14778: + case 14780: + case 14782: + case 14784: + case 14786: return false; + default: return true; + } +} +unsigned char Distance(const BlockState Block) +{ + switch (Block.ID) + { + case 14756: + case 14772: return 0; + case 14758: + case 14774: return 1; + case 14760: + case 14776: return 2; + case 14762: + case 14778: return 3; + case 14764: + case 14780: return 4; + case 14766: + case 14782: return 5; + case 14768: + case 14784: return 6; + default: return 7; + } +} +} // namespace Scaffolding +namespace SeaLantern +{ +} +namespace SeaPickle +{ +BlockState SeaPickle() +{ + return 9640; +} +unsigned char Pickles(const BlockState Block) +{ + switch (Block.ID) + { + case 9641: return 1; + case 9643: return 2; + case 9645: return 3; + default: return 4; + } +} +} // namespace SeaPickle +namespace Seagrass +{ +} +namespace Shroomlight +{ +} +namespace ShulkerBox +{ +BlockState ShulkerBox() +{ + return 9276; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9275: return eBlockFace::BLOCK_FACE_XM; + case 9273: return eBlockFace::BLOCK_FACE_XP; + case 9277: return eBlockFace::BLOCK_FACE_YM; + case 9276: return eBlockFace::BLOCK_FACE_YP; + case 9272: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace ShulkerBox +namespace SkeletonSkull +{ +BlockState SkeletonSkull() +{ + return 6490; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 6490: return 0; + case 6491: return 1; + case 6500: return 10; + case 6501: return 11; + case 6502: return 12; + case 6503: return 13; + case 6504: return 14; + case 6505: return 15; + case 6492: return 2; + case 6493: return 3; + case 6494: return 4; + case 6495: return 5; + case 6496: return 6; + case 6497: return 7; + case 6498: return 8; + default: return 9; + } +} +} // namespace SkeletonSkull +namespace SkeletonWallSkull +{ +BlockState SkeletonWallSkull() +{ + return 6506; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6508: return eBlockFace::BLOCK_FACE_XM; + case 6509: return eBlockFace::BLOCK_FACE_XP; + case 6506: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace SkeletonWallSkull +namespace SlimeBlock +{ +} +namespace SmithingTable +{ +} +namespace Smoker +{ +BlockState Smoker() +{ + return 14804; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14807: + case 14808: return eBlockFace::BLOCK_FACE_XM; + case 14809: + case 14810: return eBlockFace::BLOCK_FACE_XP; + case 14803: + case 14804: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 14804: + case 14806: + case 14808: + case 14810: return false; + default: return true; + } +} +} // namespace Smoker +namespace SmoothQuartz +{ +} +namespace SmoothQuartzSlab +{ +BlockState SmoothQuartzSlab() +{ + return 10834; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10834: return Type::Bottom; + case 10836: return Type::Double; + default: return Type::Top; + } +} +} // namespace SmoothQuartzSlab +namespace SmoothQuartzStairs +{ +BlockState SmoothQuartzStairs() +{ + return 10320; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10350: + case 10352: + case 10354: + case 10356: + case 10358: + case 10360: + case 10362: + case 10364: + case 10366: + case 10368: return eBlockFace::BLOCK_FACE_XM; + case 10370: + case 10372: + case 10374: + case 10376: + case 10378: + case 10380: + case 10382: + case 10384: + case 10386: + case 10388: return eBlockFace::BLOCK_FACE_XP; + case 10310: + case 10312: + case 10314: + case 10316: + case 10318: + case 10320: + case 10322: + case 10324: + case 10326: + case 10328: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10320: + case 10322: + case 10324: + case 10326: + case 10328: + case 10340: + case 10342: + case 10344: + case 10346: + case 10348: + case 10360: + case 10362: + case 10364: + case 10366: + case 10368: + case 10380: + case 10382: + case 10384: + case 10386: + case 10388: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10312: + case 10322: + case 10332: + case 10342: + case 10352: + case 10362: + case 10372: + case 10382: return Shape::InnerLeft; + case 10314: + case 10324: + case 10334: + case 10344: + case 10354: + case 10364: + case 10374: + case 10384: return Shape::InnerRight; + case 10316: + case 10326: + case 10336: + case 10346: + case 10356: + case 10366: + case 10376: + case 10386: return Shape::OuterLeft; + case 10318: + case 10328: + case 10338: + case 10348: + case 10358: + case 10368: + case 10378: + case 10388: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace SmoothQuartzStairs +namespace SmoothRedSandstone +{ +} +namespace SmoothRedSandstoneSlab +{ +BlockState SmoothRedSandstoneSlab() +{ + return 10798; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10798: return Type::Bottom; + case 10800: return Type::Double; + default: return Type::Top; + } +} +} // namespace SmoothRedSandstoneSlab +namespace SmoothRedSandstoneStairs +{ +BlockState SmoothRedSandstoneStairs() +{ + return 9760; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9790: + case 9792: + case 9794: + case 9796: + case 9798: + case 9800: + case 9802: + case 9804: + case 9806: + case 9808: return eBlockFace::BLOCK_FACE_XM; + case 9810: + case 9812: + case 9814: + case 9816: + case 9818: + case 9820: + case 9822: + case 9824: + case 9826: + case 9828: return eBlockFace::BLOCK_FACE_XP; + case 9750: + case 9752: + case 9754: + case 9756: + case 9758: + case 9760: + case 9762: + case 9764: + case 9766: + case 9768: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 9760: + case 9762: + case 9764: + case 9766: + case 9768: + case 9780: + case 9782: + case 9784: + case 9786: + case 9788: + case 9800: + case 9802: + case 9804: + case 9806: + case 9808: + case 9820: + case 9822: + case 9824: + case 9826: + case 9828: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 9752: + case 9762: + case 9772: + case 9782: + case 9792: + case 9802: + case 9812: + case 9822: return Shape::InnerLeft; + case 9754: + case 9764: + case 9774: + case 9784: + case 9794: + case 9804: + case 9814: + case 9824: return Shape::InnerRight; + case 9756: + case 9766: + case 9776: + case 9786: + case 9796: + case 9806: + case 9816: + case 9826: return Shape::OuterLeft; + case 9758: + case 9768: + case 9778: + case 9788: + case 9798: + case 9808: + case 9818: + case 9828: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace SmoothRedSandstoneStairs +namespace SmoothSandstone +{ +} +namespace SmoothSandstoneSlab +{ +BlockState SmoothSandstoneSlab() +{ + return 10828; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 10828: return Type::Bottom; + case 10830: return Type::Double; + default: return Type::Top; + } +} +} // namespace SmoothSandstoneSlab +namespace SmoothSandstoneStairs +{ +BlockState SmoothSandstoneStairs() +{ + return 10240; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10270: + case 10272: + case 10274: + case 10276: + case 10278: + case 10280: + case 10282: + case 10284: + case 10286: + case 10288: return eBlockFace::BLOCK_FACE_XM; + case 10290: + case 10292: + case 10294: + case 10296: + case 10298: + case 10300: + case 10302: + case 10304: + case 10306: + case 10308: return eBlockFace::BLOCK_FACE_XP; + case 10230: + case 10232: + case 10234: + case 10236: + case 10238: + case 10240: + case 10242: + case 10244: + case 10246: + case 10248: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10240: + case 10242: + case 10244: + case 10246: + case 10248: + case 10260: + case 10262: + case 10264: + case 10266: + case 10268: + case 10280: + case 10282: + case 10284: + case 10286: + case 10288: + case 10300: + case 10302: + case 10304: + case 10306: + case 10308: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10232: + case 10242: + case 10252: + case 10262: + case 10272: + case 10282: + case 10292: + case 10302: return Shape::InnerLeft; + case 10234: + case 10244: + case 10254: + case 10264: + case 10274: + case 10284: + case 10294: + case 10304: return Shape::InnerRight; + case 10236: + case 10246: + case 10256: + case 10266: + case 10276: + case 10286: + case 10296: + case 10306: return Shape::OuterLeft; + case 10238: + case 10248: + case 10258: + case 10268: + case 10278: + case 10288: + case 10298: + case 10308: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace SmoothSandstoneStairs +namespace SmoothStone +{ +} +namespace SmoothStoneSlab +{ +BlockState SmoothStoneSlab() +{ + return 8345; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8345: return Type::Bottom; + case 8347: return Type::Double; + default: return Type::Top; + } +} +} // namespace SmoothStoneSlab +namespace Snow +{ +BlockState Snow() +{ + return 3921; +} +unsigned char Layers(const BlockState Block) +{ + switch (Block.ID) + { + case 3921: return 1; + case 3922: return 2; + case 3923: return 3; + case 3924: return 4; + case 3925: return 5; + case 3926: return 6; + case 3927: return 7; + default: return 8; + } +} +} // namespace Snow +namespace SnowBlock +{ +} +namespace SoulCampfire +{ +BlockState SoulCampfire() +{ + return 14925; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14939: + case 14941: + case 14943: + case 14945: return eBlockFace::BLOCK_FACE_XM; + case 14947: + case 14949: + case 14951: + case 14953: return eBlockFace::BLOCK_FACE_XP; + case 14923: + case 14925: + case 14927: + case 14929: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Lit(const BlockState Block) +{ + switch (Block.ID) + { + case 14927: + case 14929: + case 14935: + case 14937: + case 14943: + case 14945: + case 14951: + case 14953: return false; + default: return true; + } +} +bool SignalFire(const BlockState Block) +{ + switch (Block.ID) + { + case 14925: + case 14929: + case 14933: + case 14937: + case 14941: + case 14945: + case 14949: + case 14953: return false; + default: return true; + } +} +} // namespace SoulCampfire +namespace SoulFire +{ +} +namespace SoulLantern +{ +BlockState SoulLantern() +{ + return 14889; +} +bool Hanging(const BlockState Block) +{ + switch (Block.ID) + { + case 14889: return false; + default: return true; + } +} +} // namespace SoulLantern +namespace SoulSand +{ +} +namespace SoulSoil +{ +} +namespace SoulTorch +{ +} +namespace SoulWallTorch +{ +BlockState SoulWallTorch() +{ + return 4009; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4011: return eBlockFace::BLOCK_FACE_XM; + case 4012: return eBlockFace::BLOCK_FACE_XP; + case 4009: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace SoulWallTorch +namespace Spawner +{ +} +namespace Sponge +{ +} +namespace SpruceButton +{ +BlockState SpruceButton() +{ + return 6379; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 6386: + case 6387: + case 6388: + case 6389: + case 6390: + case 6391: + case 6392: + case 6393: return Face::Ceiling; + case 6370: + case 6371: + case 6372: + case 6373: + case 6374: + case 6375: + case 6376: + case 6377: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6374: + case 6375: + case 6382: + case 6383: + case 6390: + case 6391: return eBlockFace::BLOCK_FACE_XM; + case 6376: + case 6377: + case 6384: + case 6385: + case 6392: + case 6393: return eBlockFace::BLOCK_FACE_XP; + case 6370: + case 6371: + case 6378: + case 6379: + case 6386: + case 6387: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 6371: + case 6373: + case 6375: + case 6377: + case 6379: + case 6381: + case 6383: + case 6385: + case 6387: + case 6389: + case 6391: + case 6393: return false; + default: return true; + } +} +} // namespace SpruceButton +namespace SpruceDoor +{ +BlockState SpruceDoor() +{ + return 8749; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8770: + case 8771: + case 8772: + case 8773: + case 8774: + case 8775: + case 8776: + case 8777: + case 8778: + case 8779: + case 8780: + case 8781: + case 8782: + case 8783: + case 8784: + case 8785: return eBlockFace::BLOCK_FACE_XM; + case 8786: + case 8787: + case 8788: + case 8789: + case 8790: + case 8791: + case 8792: + case 8793: + case 8794: + case 8795: + case 8796: + case 8797: + case 8798: + case 8799: + case 8800: + case 8801: return eBlockFace::BLOCK_FACE_XP; + case 8738: + case 8739: + case 8740: + case 8741: + case 8742: + case 8743: + case 8744: + case 8745: + case 8746: + case 8747: + case 8748: + case 8749: + case 8750: + case 8751: + case 8752: + case 8753: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 8746: + case 8747: + case 8748: + case 8749: + case 8750: + case 8751: + case 8752: + case 8753: + case 8762: + case 8763: + case 8764: + case 8765: + case 8766: + case 8767: + case 8768: + case 8769: + case 8778: + case 8779: + case 8780: + case 8781: + case 8782: + case 8783: + case 8784: + case 8785: + case 8794: + case 8795: + case 8796: + case 8797: + case 8798: + case 8799: + case 8800: + case 8801: return Half::Lower; + default: return Half::Upper; + } +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 8738: + case 8739: + case 8740: + case 8741: + case 8746: + case 8747: + case 8748: + case 8749: + case 8754: + case 8755: + case 8756: + case 8757: + case 8762: + case 8763: + case 8764: + case 8765: + case 8770: + case 8771: + case 8772: + case 8773: + case 8778: + case 8779: + case 8780: + case 8781: + case 8786: + case 8787: + case 8788: + case 8789: + case 8794: + case 8795: + case 8796: + case 8797: return Hinge::Left; + default: return Hinge::Right; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8740: + case 8741: + case 8744: + case 8745: + case 8748: + case 8749: + case 8752: + case 8753: + case 8756: + case 8757: + case 8760: + case 8761: + case 8764: + case 8765: + case 8768: + case 8769: + case 8772: + case 8773: + case 8776: + case 8777: + case 8780: + case 8781: + case 8784: + case 8785: + case 8788: + case 8789: + case 8792: + case 8793: + case 8796: + case 8797: + case 8800: + case 8801: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8739: + case 8741: + case 8743: + case 8745: + case 8747: + case 8749: + case 8751: + case 8753: + case 8755: + case 8757: + case 8759: + case 8761: + case 8763: + case 8765: + case 8767: + case 8769: + case 8771: + case 8773: + case 8775: + case 8777: + case 8779: + case 8781: + case 8783: + case 8785: + case 8787: + case 8789: + case 8791: + case 8793: + case 8795: + case 8797: + case 8799: + case 8801: return false; + default: return true; + } +} +} // namespace SpruceDoor +namespace SpruceFence +{ +BlockState SpruceFence() +{ + return 8609; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 8596: + case 8597: + case 8600: + case 8601: + case 8604: + case 8605: + case 8608: + case 8609: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 8588: + case 8589: + case 8592: + case 8593: + case 8604: + case 8605: + case 8608: + case 8609: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 8584: + case 8585: + case 8592: + case 8593: + case 8600: + case 8601: + case 8608: + case 8609: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 8581: + case 8585: + case 8589: + case 8593: + case 8597: + case 8601: + case 8605: + case 8609: return false; + default: return true; + } +} +} // namespace SpruceFence +namespace SpruceFenceGate +{ +BlockState SpruceFenceGate() +{ + return 8425; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8434: + case 8435: + case 8436: + case 8437: + case 8438: + case 8439: + case 8440: + case 8441: return eBlockFace::BLOCK_FACE_XM; + case 8442: + case 8443: + case 8444: + case 8445: + case 8446: + case 8447: + case 8448: + case 8449: return eBlockFace::BLOCK_FACE_XP; + case 8418: + case 8419: + case 8420: + case 8421: + case 8422: + case 8423: + case 8424: + case 8425: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool InWall(const BlockState Block) +{ + switch (Block.ID) + { + case 8422: + case 8423: + case 8424: + case 8425: + case 8430: + case 8431: + case 8432: + case 8433: + case 8438: + case 8439: + case 8440: + case 8441: + case 8446: + case 8447: + case 8448: + case 8449: return false; + default: return true; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 8420: + case 8421: + case 8424: + case 8425: + case 8428: + case 8429: + case 8432: + case 8433: + case 8436: + case 8437: + case 8440: + case 8441: + case 8444: + case 8445: + case 8448: + case 8449: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 8419: + case 8421: + case 8423: + case 8425: + case 8427: + case 8429: + case 8431: + case 8433: + case 8435: + case 8437: + case 8439: + case 8441: + case 8443: + case 8445: + case 8447: + case 8449: return false; + default: return true; + } +} +} // namespace SpruceFenceGate +namespace SpruceLeaves +{ +BlockState SpruceLeaves() +{ + return 172; +} +unsigned char Distance(const BlockState Block) +{ + switch (Block.ID) + { + case 159: + case 160: return 1; + case 161: + case 162: return 2; + case 163: + case 164: return 3; + case 165: + case 166: return 4; + case 167: + case 168: return 5; + case 169: + case 170: return 6; + default: return 7; + } +} +bool Persistent(const BlockState Block) +{ + switch (Block.ID) + { + case 160: + case 162: + case 164: + case 166: + case 168: + case 170: + case 172: return false; + default: return true; + } +} +} // namespace SpruceLeaves +namespace SpruceLog +{ +BlockState SpruceLog() +{ + return 77; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 76: return Axis::X; + case 77: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace SpruceLog +namespace SprucePlanks +{ +} +namespace SprucePressurePlate +{ +BlockState SprucePressurePlate() +{ + return 3876; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3876: return false; + default: return true; + } +} +} // namespace SprucePressurePlate +namespace SpruceSapling +{ +BlockState SpruceSapling() +{ + return 23; +} +unsigned char Stage(const BlockState Block) +{ + switch (Block.ID) + { + case 23: return 0; + default: return 1; + } +} +} // namespace SpruceSapling +namespace SpruceSign +{ +BlockState SpruceSign() +{ + return 3414; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 3414: return 0; + case 3416: return 1; + case 3434: return 10; + case 3436: return 11; + case 3438: return 12; + case 3440: return 13; + case 3442: return 14; + case 3444: return 15; + case 3418: return 2; + case 3420: return 3; + case 3422: return 4; + case 3424: return 5; + case 3426: return 6; + case 3428: return 7; + case 3430: return 8; + default: return 9; + } +} +} // namespace SpruceSign +namespace SpruceSlab +{ +BlockState SpruceSlab() +{ + return 8309; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8309: return Type::Bottom; + case 8311: return Type::Double; + default: return Type::Top; + } +} +} // namespace SpruceSlab +namespace SpruceStairs +{ +BlockState SpruceStairs() +{ + return 5415; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5445: + case 5447: + case 5449: + case 5451: + case 5453: + case 5455: + case 5457: + case 5459: + case 5461: + case 5463: return eBlockFace::BLOCK_FACE_XM; + case 5465: + case 5467: + case 5469: + case 5471: + case 5473: + case 5475: + case 5477: + case 5479: + case 5481: + case 5483: return eBlockFace::BLOCK_FACE_XP; + case 5405: + case 5407: + case 5409: + case 5411: + case 5413: + case 5415: + case 5417: + case 5419: + case 5421: + case 5423: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 5415: + case 5417: + case 5419: + case 5421: + case 5423: + case 5435: + case 5437: + case 5439: + case 5441: + case 5443: + case 5455: + case 5457: + case 5459: + case 5461: + case 5463: + case 5475: + case 5477: + case 5479: + case 5481: + case 5483: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 5407: + case 5417: + case 5427: + case 5437: + case 5447: + case 5457: + case 5467: + case 5477: return Shape::InnerLeft; + case 5409: + case 5419: + case 5429: + case 5439: + case 5449: + case 5459: + case 5469: + case 5479: return Shape::InnerRight; + case 5411: + case 5421: + case 5431: + case 5441: + case 5451: + case 5461: + case 5471: + case 5481: return Shape::OuterLeft; + case 5413: + case 5423: + case 5433: + case 5443: + case 5453: + case 5463: + case 5473: + case 5483: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace SpruceStairs +namespace SpruceTrapdoor +{ +BlockState SpruceTrapdoor() +{ + return 4190; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4208: + case 4210: + case 4212: + case 4214: + case 4216: + case 4218: + case 4220: + case 4222: return eBlockFace::BLOCK_FACE_XM; + case 4224: + case 4226: + case 4228: + case 4230: + case 4232: + case 4234: + case 4236: + case 4238: return eBlockFace::BLOCK_FACE_XP; + case 4176: + case 4178: + case 4180: + case 4182: + case 4184: + case 4186: + case 4188: + case 4190: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 4184: + case 4186: + case 4188: + case 4190: + case 4200: + case 4202: + case 4204: + case 4206: + case 4216: + case 4218: + case 4220: + case 4222: + case 4232: + case 4234: + case 4236: + case 4238: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 4180: + case 4182: + case 4188: + case 4190: + case 4196: + case 4198: + case 4204: + case 4206: + case 4212: + case 4214: + case 4220: + case 4222: + case 4228: + case 4230: + case 4236: + case 4238: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 4178: + case 4182: + case 4186: + case 4190: + case 4194: + case 4198: + case 4202: + case 4206: + case 4210: + case 4214: + case 4218: + case 4222: + case 4226: + case 4230: + case 4234: + case 4238: return false; + default: return true; + } +} +} // namespace SpruceTrapdoor +namespace SpruceWallSign +{ +BlockState SpruceWallSign() +{ + return 3744; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3748: return eBlockFace::BLOCK_FACE_XM; + case 3750: return eBlockFace::BLOCK_FACE_XP; + case 3744: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace SpruceWallSign +namespace SpruceWood +{ +BlockState SpruceWood() +{ + return 113; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 112: return Axis::X; + case 113: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace SpruceWood +namespace StickyPiston +{ +BlockState StickyPiston() +{ + return 1335; +} +bool Extended(const BlockState Block) +{ + switch (Block.ID) + { + case 1335: + case 1336: + case 1337: + case 1338: + case 1339: + case 1340: return false; + default: return true; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1332: + case 1338: return eBlockFace::BLOCK_FACE_XM; + case 1330: + case 1336: return eBlockFace::BLOCK_FACE_XP; + case 1334: + case 1340: return eBlockFace::BLOCK_FACE_YM; + case 1333: + case 1339: return eBlockFace::BLOCK_FACE_YP; + case 1329: + case 1335: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace StickyPiston +namespace Stone +{ +} +namespace StoneBrickSlab +{ +BlockState StoneBrickSlab() +{ + return 8381; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8381: return Type::Bottom; + case 8383: return Type::Double; + default: return Type::Top; + } +} +} // namespace StoneBrickSlab +namespace StoneBrickStairs +{ +BlockState StoneBrickStairs() +{ + return 4943; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 4973: + case 4975: + case 4977: + case 4979: + case 4981: + case 4983: + case 4985: + case 4987: + case 4989: + case 4991: return eBlockFace::BLOCK_FACE_XM; + case 4993: + case 4995: + case 4997: + case 4999: + case 5001: + case 5003: + case 5005: + case 5007: + case 5009: + case 5011: return eBlockFace::BLOCK_FACE_XP; + case 4933: + case 4935: + case 4937: + case 4939: + case 4941: + case 4943: + case 4945: + case 4947: + case 4949: + case 4951: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 4943: + case 4945: + case 4947: + case 4949: + case 4951: + case 4963: + case 4965: + case 4967: + case 4969: + case 4971: + case 4983: + case 4985: + case 4987: + case 4989: + case 4991: + case 5003: + case 5005: + case 5007: + case 5009: + case 5011: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 4935: + case 4945: + case 4955: + case 4965: + case 4975: + case 4985: + case 4995: + case 5005: return Shape::InnerLeft; + case 4937: + case 4947: + case 4957: + case 4967: + case 4977: + case 4987: + case 4997: + case 5007: return Shape::InnerRight; + case 4939: + case 4949: + case 4959: + case 4969: + case 4979: + case 4989: + case 4999: + case 5009: return Shape::OuterLeft; + case 4941: + case 4951: + case 4961: + case 4971: + case 4981: + case 4991: + case 5001: + case 5011: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace StoneBrickStairs +namespace StoneBrickWall +{ +BlockState StoneBrickWall() +{ + return 12490; +} +enum East East(const BlockState Block) +{ + switch (Block.ID) + { + case 12598: + case 12599: + case 12600: + case 12604: + case 12605: + case 12606: + case 12610: + case 12611: + case 12612: + case 12616: + case 12617: + case 12618: + case 12622: + case 12623: + case 12624: + case 12628: + case 12629: + case 12630: + case 12634: + case 12635: + case 12636: + case 12640: + case 12641: + case 12642: + case 12646: + case 12647: + case 12648: + case 12652: + case 12653: + case 12654: + case 12658: + case 12659: + case 12660: + case 12664: + case 12665: + case 12666: + case 12670: + case 12671: + case 12672: + case 12676: + case 12677: + case 12678: + case 12682: + case 12683: + case 12684: + case 12688: + case 12689: + case 12690: + case 12694: + case 12695: + case 12696: + case 12700: + case 12701: + case 12702: return East::Low; + case 12490: + case 12491: + case 12492: + case 12496: + case 12497: + case 12498: + case 12502: + case 12503: + case 12504: + case 12508: + case 12509: + case 12510: + case 12514: + case 12515: + case 12516: + case 12520: + case 12521: + case 12522: + case 12526: + case 12527: + case 12528: + case 12532: + case 12533: + case 12534: + case 12538: + case 12539: + case 12540: + case 12544: + case 12545: + case 12546: + case 12550: + case 12551: + case 12552: + case 12556: + case 12557: + case 12558: + case 12562: + case 12563: + case 12564: + case 12568: + case 12569: + case 12570: + case 12574: + case 12575: + case 12576: + case 12580: + case 12581: + case 12582: + case 12586: + case 12587: + case 12588: + case 12592: + case 12593: + case 12594: return East::None; + default: return East::Tall; + } +} +enum North North(const BlockState Block) +{ + switch (Block.ID) + { + case 12526: + case 12527: + case 12528: + case 12532: + case 12533: + case 12534: + case 12538: + case 12539: + case 12540: + case 12544: + case 12545: + case 12546: + case 12550: + case 12551: + case 12552: + case 12556: + case 12557: + case 12558: + case 12634: + case 12635: + case 12636: + case 12640: + case 12641: + case 12642: + case 12646: + case 12647: + case 12648: + case 12652: + case 12653: + case 12654: + case 12658: + case 12659: + case 12660: + case 12664: + case 12665: + case 12666: + case 12742: + case 12743: + case 12744: + case 12748: + case 12749: + case 12750: + case 12754: + case 12755: + case 12756: + case 12760: + case 12761: + case 12762: + case 12766: + case 12767: + case 12768: + case 12772: + case 12773: + case 12774: return North::Low; + case 12490: + case 12491: + case 12492: + case 12496: + case 12497: + case 12498: + case 12502: + case 12503: + case 12504: + case 12508: + case 12509: + case 12510: + case 12514: + case 12515: + case 12516: + case 12520: + case 12521: + case 12522: + case 12598: + case 12599: + case 12600: + case 12604: + case 12605: + case 12606: + case 12610: + case 12611: + case 12612: + case 12616: + case 12617: + case 12618: + case 12622: + case 12623: + case 12624: + case 12628: + case 12629: + case 12630: + case 12706: + case 12707: + case 12708: + case 12712: + case 12713: + case 12714: + case 12718: + case 12719: + case 12720: + case 12724: + case 12725: + case 12726: + case 12730: + case 12731: + case 12732: + case 12736: + case 12737: + case 12738: return North::None; + default: return North::Tall; + } +} +enum South South(const BlockState Block) +{ + switch (Block.ID) + { + case 12502: + case 12503: + case 12504: + case 12508: + case 12509: + case 12510: + case 12538: + case 12539: + case 12540: + case 12544: + case 12545: + case 12546: + case 12574: + case 12575: + case 12576: + case 12580: + case 12581: + case 12582: + case 12610: + case 12611: + case 12612: + case 12616: + case 12617: + case 12618: + case 12646: + case 12647: + case 12648: + case 12652: + case 12653: + case 12654: + case 12682: + case 12683: + case 12684: + case 12688: + case 12689: + case 12690: + case 12718: + case 12719: + case 12720: + case 12724: + case 12725: + case 12726: + case 12754: + case 12755: + case 12756: + case 12760: + case 12761: + case 12762: + case 12790: + case 12791: + case 12792: + case 12796: + case 12797: + case 12798: return South::Low; + case 12490: + case 12491: + case 12492: + case 12496: + case 12497: + case 12498: + case 12526: + case 12527: + case 12528: + case 12532: + case 12533: + case 12534: + case 12562: + case 12563: + case 12564: + case 12568: + case 12569: + case 12570: + case 12598: + case 12599: + case 12600: + case 12604: + case 12605: + case 12606: + case 12634: + case 12635: + case 12636: + case 12640: + case 12641: + case 12642: + case 12670: + case 12671: + case 12672: + case 12676: + case 12677: + case 12678: + case 12706: + case 12707: + case 12708: + case 12712: + case 12713: + case 12714: + case 12742: + case 12743: + case 12744: + case 12748: + case 12749: + case 12750: + case 12778: + case 12779: + case 12780: + case 12784: + case 12785: + case 12786: return South::None; + default: return South::Tall; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 12496: + case 12497: + case 12498: + case 12508: + case 12509: + case 12510: + case 12520: + case 12521: + case 12522: + case 12532: + case 12533: + case 12534: + case 12544: + case 12545: + case 12546: + case 12556: + case 12557: + case 12558: + case 12568: + case 12569: + case 12570: + case 12580: + case 12581: + case 12582: + case 12592: + case 12593: + case 12594: + case 12604: + case 12605: + case 12606: + case 12616: + case 12617: + case 12618: + case 12628: + case 12629: + case 12630: + case 12640: + case 12641: + case 12642: + case 12652: + case 12653: + case 12654: + case 12664: + case 12665: + case 12666: + case 12676: + case 12677: + case 12678: + case 12688: + case 12689: + case 12690: + case 12700: + case 12701: + case 12702: + case 12712: + case 12713: + case 12714: + case 12724: + case 12725: + case 12726: + case 12736: + case 12737: + case 12738: + case 12748: + case 12749: + case 12750: + case 12760: + case 12761: + case 12762: + case 12772: + case 12773: + case 12774: + case 12784: + case 12785: + case 12786: + case 12796: + case 12797: + case 12798: + case 12808: + case 12809: + case 12810: return false; + default: return true; + } +} +enum West West(const BlockState Block) +{ + switch (Block.ID) + { + case 12491: + case 12497: + case 12503: + case 12509: + case 12515: + case 12521: + case 12527: + case 12533: + case 12539: + case 12545: + case 12551: + case 12557: + case 12563: + case 12569: + case 12575: + case 12581: + case 12587: + case 12593: + case 12599: + case 12605: + case 12611: + case 12617: + case 12623: + case 12629: + case 12635: + case 12641: + case 12647: + case 12653: + case 12659: + case 12665: + case 12671: + case 12677: + case 12683: + case 12689: + case 12695: + case 12701: + case 12707: + case 12713: + case 12719: + case 12725: + case 12731: + case 12737: + case 12743: + case 12749: + case 12755: + case 12761: + case 12767: + case 12773: + case 12779: + case 12785: + case 12791: + case 12797: + case 12803: + case 12809: return West::Low; + case 12490: + case 12496: + case 12502: + case 12508: + case 12514: + case 12520: + case 12526: + case 12532: + case 12538: + case 12544: + case 12550: + case 12556: + case 12562: + case 12568: + case 12574: + case 12580: + case 12586: + case 12592: + case 12598: + case 12604: + case 12610: + case 12616: + case 12622: + case 12628: + case 12634: + case 12640: + case 12646: + case 12652: + case 12658: + case 12664: + case 12670: + case 12676: + case 12682: + case 12688: + case 12694: + case 12700: + case 12706: + case 12712: + case 12718: + case 12724: + case 12730: + case 12736: + case 12742: + case 12748: + case 12754: + case 12760: + case 12766: + case 12772: + case 12778: + case 12784: + case 12790: + case 12796: + case 12802: + case 12808: return West::None; + default: return West::Tall; + } +} +} // namespace StoneBrickWall +namespace StoneBricks +{ +} +namespace StoneButton +{ +BlockState StoneButton() +{ + return 3906; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 3913: + case 3914: + case 3915: + case 3916: + case 3917: + case 3918: + case 3919: + case 3920: return Face::Ceiling; + case 3897: + case 3898: + case 3899: + case 3900: + case 3901: + case 3902: + case 3903: + case 3904: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 3901: + case 3902: + case 3909: + case 3910: + case 3917: + case 3918: return eBlockFace::BLOCK_FACE_XM; + case 3903: + case 3904: + case 3911: + case 3912: + case 3919: + case 3920: return eBlockFace::BLOCK_FACE_XP; + case 3897: + case 3898: + case 3905: + case 3906: + case 3913: + case 3914: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3898: + case 3900: + case 3902: + case 3904: + case 3906: + case 3908: + case 3910: + case 3912: + case 3914: + case 3916: + case 3918: + case 3920: return false; + default: return true; + } +} +} // namespace StoneButton +namespace StonePressurePlate +{ +BlockState StonePressurePlate() +{ + return 3808; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 3808: return false; + default: return true; + } +} +} // namespace StonePressurePlate +namespace StoneSlab +{ +BlockState StoneSlab() +{ + return 8339; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 8339: return Type::Bottom; + case 8341: return Type::Double; + default: return Type::Top; + } +} +} // namespace StoneSlab +namespace StoneStairs +{ +BlockState StoneStairs() +{ + return 10160; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 10190: + case 10192: + case 10194: + case 10196: + case 10198: + case 10200: + case 10202: + case 10204: + case 10206: + case 10208: return eBlockFace::BLOCK_FACE_XM; + case 10210: + case 10212: + case 10214: + case 10216: + case 10218: + case 10220: + case 10222: + case 10224: + case 10226: + case 10228: return eBlockFace::BLOCK_FACE_XP; + case 10150: + case 10152: + case 10154: + case 10156: + case 10158: + case 10160: + case 10162: + case 10164: + case 10166: + case 10168: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 10160: + case 10162: + case 10164: + case 10166: + case 10168: + case 10180: + case 10182: + case 10184: + case 10186: + case 10188: + case 10200: + case 10202: + case 10204: + case 10206: + case 10208: + case 10220: + case 10222: + case 10224: + case 10226: + case 10228: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 10152: + case 10162: + case 10172: + case 10182: + case 10192: + case 10202: + case 10212: + case 10222: return Shape::InnerLeft; + case 10154: + case 10164: + case 10174: + case 10184: + case 10194: + case 10204: + case 10214: + case 10224: return Shape::InnerRight; + case 10156: + case 10166: + case 10176: + case 10186: + case 10196: + case 10206: + case 10216: + case 10226: return Shape::OuterLeft; + case 10158: + case 10168: + case 10178: + case 10188: + case 10198: + case 10208: + case 10218: + case 10228: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace StoneStairs +namespace Stonecutter +{ +BlockState Stonecutter() +{ + return 14850; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 14852: return eBlockFace::BLOCK_FACE_XM; + case 14853: return eBlockFace::BLOCK_FACE_XP; + case 14850: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace Stonecutter +namespace StrippedAcaciaLog +{ +BlockState StrippedAcaciaLog() +{ + return 101; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 100: return Axis::X; + case 101: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedAcaciaLog +namespace StrippedAcaciaWood +{ +BlockState StrippedAcaciaWood() +{ + return 140; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 139: return Axis::X; + case 140: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedAcaciaWood +namespace StrippedBirchLog +{ +BlockState StrippedBirchLog() +{ + return 95; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 94: return Axis::X; + case 95: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedBirchLog +namespace StrippedBirchWood +{ +BlockState StrippedBirchWood() +{ + return 134; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 133: return Axis::X; + case 134: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedBirchWood +namespace StrippedCrimsonHyphae +{ +BlockState StrippedCrimsonHyphae() +{ + return 14985; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 14984: return Axis::X; + case 14985: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedCrimsonHyphae +namespace StrippedCrimsonStem +{ +BlockState StrippedCrimsonStem() +{ + return 14979; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 14978: return Axis::X; + case 14979: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedCrimsonStem +namespace StrippedDarkOakLog +{ +BlockState StrippedDarkOakLog() +{ + return 104; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 103: return Axis::X; + case 104: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedDarkOakLog +namespace StrippedDarkOakWood +{ +BlockState StrippedDarkOakWood() +{ + return 143; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 142: return Axis::X; + case 143: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedDarkOakWood +namespace StrippedJungleLog +{ +BlockState StrippedJungleLog() +{ + return 98; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 97: return Axis::X; + case 98: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedJungleLog +namespace StrippedJungleWood +{ +BlockState StrippedJungleWood() +{ + return 137; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 136: return Axis::X; + case 137: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedJungleWood +namespace StrippedOakLog +{ +BlockState StrippedOakLog() +{ + return 107; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 106: return Axis::X; + case 107: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedOakLog +namespace StrippedOakWood +{ +BlockState StrippedOakWood() +{ + return 128; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 127: return Axis::X; + case 128: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedOakWood +namespace StrippedSpruceLog +{ +BlockState StrippedSpruceLog() +{ + return 92; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 91: return Axis::X; + case 92: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedSpruceLog +namespace StrippedSpruceWood +{ +BlockState StrippedSpruceWood() +{ + return 131; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 130: return Axis::X; + case 131: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedSpruceWood +namespace StrippedWarpedHyphae +{ +BlockState StrippedWarpedHyphae() +{ + return 14968; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 14967: return Axis::X; + case 14968: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedWarpedHyphae +namespace StrippedWarpedStem +{ +BlockState StrippedWarpedStem() +{ + return 14962; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 14961: return Axis::X; + case 14962: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace StrippedWarpedStem +namespace StructureBlock +{ +BlockState StructureBlock() +{ + return 15735; +} +enum Mode Mode(const BlockState Block) +{ + switch (Block.ID) + { + case 15737: return Mode::Corner; + case 15738: return Mode::Data; + case 15736: return Mode::Load; + default: return Mode::Save; + } +} +} // namespace StructureBlock +namespace StructureVoid +{ +} +namespace SugarCane +{ +BlockState SugarCane() +{ + return 3948; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 3948: return 0; + case 3949: return 1; + case 3958: return 10; + case 3959: return 11; + case 3960: return 12; + case 3961: return 13; + case 3962: return 14; + case 3963: return 15; + case 3950: return 2; + case 3951: return 3; + case 3952: return 4; + case 3953: return 5; + case 3954: return 6; + case 3955: return 7; + case 3956: return 8; + default: return 9; + } +} +} // namespace SugarCane +namespace Sunflower +{ +BlockState Sunflower() +{ + return 7886; +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7886: return Half::Lower; + default: return Half::Upper; + } +} +} // namespace Sunflower +namespace SweetBerryBush +{ +BlockState SweetBerryBush() +{ + return 14954; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 14954: return 0; + case 14955: return 1; + case 14956: return 2; + default: return 3; + } +} +} // namespace SweetBerryBush +namespace TNT +{ +BlockState TNT() +{ + return 1431; +} +bool Unstable(const BlockState Block) +{ + switch (Block.ID) + { + case 1431: return false; + default: return true; + } +} +} // namespace TNT +namespace TallGrass +{ +BlockState TallGrass() +{ + return 7894; +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 7894: return Half::Lower; + default: return Half::Upper; + } +} +} // namespace TallGrass +namespace TallSeagrass +{ +BlockState TallSeagrass() +{ + return 1347; +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 1347: return Half::Lower; + default: return Half::Upper; + } +} +} // namespace TallSeagrass +namespace Target +{ +BlockState Target() +{ + return 15760; +} +unsigned char Power(const BlockState Block) +{ + switch (Block.ID) + { + case 15760: return 0; + case 15761: return 1; + case 15770: return 10; + case 15771: return 11; + case 15772: return 12; + case 15773: return 13; + case 15774: return 14; + case 15775: return 15; + case 15762: return 2; + case 15763: return 3; + case 15764: return 4; + case 15765: return 5; + case 15766: return 6; + case 15767: return 7; + case 15768: return 8; + default: return 9; + } +} +} // namespace Target +namespace Terracotta +{ +} +namespace Torch +{ +} +namespace TrappedChest +{ +BlockState TrappedChest() +{ + return 6623; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6635: + case 6637: + case 6639: return eBlockFace::BLOCK_FACE_XM; + case 6641: + case 6643: + case 6645: return eBlockFace::BLOCK_FACE_XP; + case 6623: + case 6625: + case 6627: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 6625: + case 6631: + case 6637: + case 6643: return Type::Left; + case 6627: + case 6633: + case 6639: + case 6645: return Type::Right; + default: return Type::Single; + } +} +} // namespace TrappedChest +namespace Tripwire +{ +BlockState Tripwire() +{ + return 5402; +} +bool Attached(const BlockState Block) +{ + switch (Block.ID) + { + case 5339: + case 5340: + case 5341: + case 5342: + case 5343: + case 5344: + case 5345: + case 5346: + case 5347: + case 5348: + case 5349: + case 5350: + case 5351: + case 5352: + case 5353: + case 5354: + case 5355: + case 5356: + case 5357: + case 5358: + case 5359: + case 5360: + case 5361: + case 5362: + case 5363: + case 5364: + case 5365: + case 5366: + case 5367: + case 5368: + case 5369: + case 5370: + case 5371: + case 5372: + case 5373: + case 5374: + case 5375: + case 5376: + case 5377: + case 5378: + case 5379: + case 5380: + case 5381: + case 5382: + case 5383: + case 5384: + case 5385: + case 5386: + case 5387: + case 5388: + case 5389: + case 5390: + case 5391: + case 5392: + case 5393: + case 5394: + case 5395: + case 5396: + case 5397: + case 5398: + case 5399: + case 5400: + case 5401: + case 5402: return false; + default: return true; + } +} +bool Disarmed(const BlockState Block) +{ + switch (Block.ID) + { + case 5307: + case 5308: + case 5309: + case 5310: + case 5311: + case 5312: + case 5313: + case 5314: + case 5315: + case 5316: + case 5317: + case 5318: + case 5319: + case 5320: + case 5321: + case 5322: + case 5323: + case 5324: + case 5325: + case 5326: + case 5327: + case 5328: + case 5329: + case 5330: + case 5331: + case 5332: + case 5333: + case 5334: + case 5335: + case 5336: + case 5337: + case 5338: + case 5371: + case 5372: + case 5373: + case 5374: + case 5375: + case 5376: + case 5377: + case 5378: + case 5379: + case 5380: + case 5381: + case 5382: + case 5383: + case 5384: + case 5385: + case 5386: + case 5387: + case 5388: + case 5389: + case 5390: + case 5391: + case 5392: + case 5393: + case 5394: + case 5395: + case 5396: + case 5397: + case 5398: + case 5399: + case 5400: + case 5401: + case 5402: return false; + default: return true; + } +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 5291: + case 5292: + case 5293: + case 5294: + case 5295: + case 5296: + case 5297: + case 5298: + case 5299: + case 5300: + case 5301: + case 5302: + case 5303: + case 5304: + case 5305: + case 5306: + case 5323: + case 5324: + case 5325: + case 5326: + case 5327: + case 5328: + case 5329: + case 5330: + case 5331: + case 5332: + case 5333: + case 5334: + case 5335: + case 5336: + case 5337: + case 5338: + case 5355: + case 5356: + case 5357: + case 5358: + case 5359: + case 5360: + case 5361: + case 5362: + case 5363: + case 5364: + case 5365: + case 5366: + case 5367: + case 5368: + case 5369: + case 5370: + case 5387: + case 5388: + case 5389: + case 5390: + case 5391: + case 5392: + case 5393: + case 5394: + case 5395: + case 5396: + case 5397: + case 5398: + case 5399: + case 5400: + case 5401: + case 5402: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 5283: + case 5284: + case 5285: + case 5286: + case 5287: + case 5288: + case 5289: + case 5290: + case 5299: + case 5300: + case 5301: + case 5302: + case 5303: + case 5304: + case 5305: + case 5306: + case 5315: + case 5316: + case 5317: + case 5318: + case 5319: + case 5320: + case 5321: + case 5322: + case 5331: + case 5332: + case 5333: + case 5334: + case 5335: + case 5336: + case 5337: + case 5338: + case 5347: + case 5348: + case 5349: + case 5350: + case 5351: + case 5352: + case 5353: + case 5354: + case 5363: + case 5364: + case 5365: + case 5366: + case 5367: + case 5368: + case 5369: + case 5370: + case 5379: + case 5380: + case 5381: + case 5382: + case 5383: + case 5384: + case 5385: + case 5386: + case 5395: + case 5396: + case 5397: + case 5398: + case 5399: + case 5400: + case 5401: + case 5402: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 5279: + case 5280: + case 5281: + case 5282: + case 5287: + case 5288: + case 5289: + case 5290: + case 5295: + case 5296: + case 5297: + case 5298: + case 5303: + case 5304: + case 5305: + case 5306: + case 5311: + case 5312: + case 5313: + case 5314: + case 5319: + case 5320: + case 5321: + case 5322: + case 5327: + case 5328: + case 5329: + case 5330: + case 5335: + case 5336: + case 5337: + case 5338: + case 5343: + case 5344: + case 5345: + case 5346: + case 5351: + case 5352: + case 5353: + case 5354: + case 5359: + case 5360: + case 5361: + case 5362: + case 5367: + case 5368: + case 5369: + case 5370: + case 5375: + case 5376: + case 5377: + case 5378: + case 5383: + case 5384: + case 5385: + case 5386: + case 5391: + case 5392: + case 5393: + case 5394: + case 5399: + case 5400: + case 5401: + case 5402: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 5277: + case 5278: + case 5281: + case 5282: + case 5285: + case 5286: + case 5289: + case 5290: + case 5293: + case 5294: + case 5297: + case 5298: + case 5301: + case 5302: + case 5305: + case 5306: + case 5309: + case 5310: + case 5313: + case 5314: + case 5317: + case 5318: + case 5321: + case 5322: + case 5325: + case 5326: + case 5329: + case 5330: + case 5333: + case 5334: + case 5337: + case 5338: + case 5341: + case 5342: + case 5345: + case 5346: + case 5349: + case 5350: + case 5353: + case 5354: + case 5357: + case 5358: + case 5361: + case 5362: + case 5365: + case 5366: + case 5369: + case 5370: + case 5373: + case 5374: + case 5377: + case 5378: + case 5381: + case 5382: + case 5385: + case 5386: + case 5389: + case 5390: + case 5393: + case 5394: + case 5397: + case 5398: + case 5401: + case 5402: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 5276: + case 5278: + case 5280: + case 5282: + case 5284: + case 5286: + case 5288: + case 5290: + case 5292: + case 5294: + case 5296: + case 5298: + case 5300: + case 5302: + case 5304: + case 5306: + case 5308: + case 5310: + case 5312: + case 5314: + case 5316: + case 5318: + case 5320: + case 5322: + case 5324: + case 5326: + case 5328: + case 5330: + case 5332: + case 5334: + case 5336: + case 5338: + case 5340: + case 5342: + case 5344: + case 5346: + case 5348: + case 5350: + case 5352: + case 5354: + case 5356: + case 5358: + case 5360: + case 5362: + case 5364: + case 5366: + case 5368: + case 5370: + case 5372: + case 5374: + case 5376: + case 5378: + case 5380: + case 5382: + case 5384: + case 5386: + case 5388: + case 5390: + case 5392: + case 5394: + case 5396: + case 5398: + case 5400: + case 5402: return false; + default: return true; + } +} +} // namespace Tripwire +namespace TripwireHook +{ +BlockState TripwireHook() +{ + return 5268; +} +bool Attached(const BlockState Block) +{ + switch (Block.ID) + { + case 5267: + case 5268: + case 5269: + case 5270: + case 5271: + case 5272: + case 5273: + case 5274: return false; + default: return true; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 5263: + case 5264: + case 5271: + case 5272: return eBlockFace::BLOCK_FACE_XM; + case 5265: + case 5266: + case 5273: + case 5274: return eBlockFace::BLOCK_FACE_XP; + case 5259: + case 5260: + case 5267: + case 5268: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 5260: + case 5262: + case 5264: + case 5266: + case 5268: + case 5270: + case 5272: + case 5274: return false; + default: return true; + } +} +} // namespace TripwireHook +namespace TubeCoral +{ +} +namespace TubeCoralBlock +{ +} +namespace TubeCoralFan +{ +} +namespace TubeCoralWallFan +{ +BlockState TubeCoralWallFan() +{ + return 9600; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9605: return eBlockFace::BLOCK_FACE_XM; + case 9607: return eBlockFace::BLOCK_FACE_XP; + case 9601: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace TubeCoralWallFan +namespace TurtleEgg +{ +BlockState TurtleEgg() +{ + return 9498; +} +unsigned char Eggs(const BlockState Block) +{ + switch (Block.ID) + { + case 9498: + case 9499: + case 9500: return 1; + case 9501: + case 9502: + case 9503: return 2; + case 9504: + case 9505: + case 9506: return 3; + default: return 4; + } +} +unsigned char Hatch(const BlockState Block) +{ + switch (Block.ID) + { + case 9498: + case 9501: + case 9504: + case 9507: return 0; + case 9499: + case 9502: + case 9505: + case 9508: return 1; + default: return 2; + } +} +} // namespace TurtleEgg +namespace TwistingVines +{ +BlockState TwistingVines() +{ + return 15017; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 15017: return 0; + case 15018: return 1; + case 15027: return 10; + case 15028: return 11; + case 15029: return 12; + case 15030: return 13; + case 15031: return 14; + case 15032: return 15; + case 15033: return 16; + case 15034: return 17; + case 15035: return 18; + case 15036: return 19; + case 15019: return 2; + case 15037: return 20; + case 15038: return 21; + case 15039: return 22; + case 15040: return 23; + case 15041: return 24; + case 15042: return 25; + case 15020: return 3; + case 15021: return 4; + case 15022: return 5; + case 15023: return 6; + case 15024: return 7; + case 15025: return 8; + default: return 9; + } +} +} // namespace TwistingVines +namespace TwistingVinesPlant +{ +} +namespace Vine +{ +BlockState Vine() +{ + return 4819; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 4804: + case 4805: + case 4806: + case 4807: + case 4808: + case 4809: + case 4810: + case 4811: + case 4812: + case 4813: + case 4814: + case 4815: + case 4816: + case 4817: + case 4818: + case 4819: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 4796: + case 4797: + case 4798: + case 4799: + case 4800: + case 4801: + case 4802: + case 4803: + case 4812: + case 4813: + case 4814: + case 4815: + case 4816: + case 4817: + case 4818: + case 4819: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 4792: + case 4793: + case 4794: + case 4795: + case 4800: + case 4801: + case 4802: + case 4803: + case 4808: + case 4809: + case 4810: + case 4811: + case 4816: + case 4817: + case 4818: + case 4819: return false; + default: return true; + } +} +bool Up(const BlockState Block) +{ + switch (Block.ID) + { + case 4790: + case 4791: + case 4794: + case 4795: + case 4798: + case 4799: + case 4802: + case 4803: + case 4806: + case 4807: + case 4810: + case 4811: + case 4814: + case 4815: + case 4818: + case 4819: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 4789: + case 4791: + case 4793: + case 4795: + case 4797: + case 4799: + case 4801: + case 4803: + case 4805: + case 4807: + case 4809: + case 4811: + case 4813: + case 4815: + case 4817: + case 4819: return false; + default: return true; + } +} +} // namespace Vine +namespace VoidAir +{ +} +namespace WallTorch +{ +BlockState WallTorch() +{ + return 1436; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1438: return eBlockFace::BLOCK_FACE_XM; + case 1439: return eBlockFace::BLOCK_FACE_XP; + case 1436: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace WallTorch +namespace WarpedButton +{ +BlockState WarpedButton() +{ + return 15512; +} +enum Face Face(const BlockState Block) +{ + switch (Block.ID) + { + case 15519: + case 15520: + case 15521: + case 15522: + case 15523: + case 15524: + case 15525: + case 15526: return Face::Ceiling; + case 15503: + case 15504: + case 15505: + case 15506: + case 15507: + case 15508: + case 15509: + case 15510: return Face::Floor; + default: return Face::Wall; + } +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15507: + case 15508: + case 15515: + case 15516: + case 15523: + case 15524: return eBlockFace::BLOCK_FACE_XM; + case 15509: + case 15510: + case 15517: + case 15518: + case 15525: + case 15526: return eBlockFace::BLOCK_FACE_XP; + case 15503: + case 15504: + case 15511: + case 15512: + case 15519: + case 15520: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15504: + case 15506: + case 15508: + case 15510: + case 15512: + case 15514: + case 15516: + case 15518: + case 15520: + case 15522: + case 15524: + case 15526: return false; + default: return true; + } +} +} // namespace WarpedButton +namespace WarpedDoor +{ +BlockState WarpedDoor() +{ + return 15602; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15623: + case 15624: + case 15625: + case 15626: + case 15627: + case 15628: + case 15629: + case 15630: + case 15631: + case 15632: + case 15633: + case 15634: + case 15635: + case 15636: + case 15637: + case 15638: return eBlockFace::BLOCK_FACE_XM; + case 15639: + case 15640: + case 15641: + case 15642: + case 15643: + case 15644: + case 15645: + case 15646: + case 15647: + case 15648: + case 15649: + case 15650: + case 15651: + case 15652: + case 15653: + case 15654: return eBlockFace::BLOCK_FACE_XP; + case 15591: + case 15592: + case 15593: + case 15594: + case 15595: + case 15596: + case 15597: + case 15598: + case 15599: + case 15600: + case 15601: + case 15602: + case 15603: + case 15604: + case 15605: + case 15606: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 15599: + case 15600: + case 15601: + case 15602: + case 15603: + case 15604: + case 15605: + case 15606: + case 15615: + case 15616: + case 15617: + case 15618: + case 15619: + case 15620: + case 15621: + case 15622: + case 15631: + case 15632: + case 15633: + case 15634: + case 15635: + case 15636: + case 15637: + case 15638: + case 15647: + case 15648: + case 15649: + case 15650: + case 15651: + case 15652: + case 15653: + case 15654: return Half::Lower; + default: return Half::Upper; + } +} +enum Hinge Hinge(const BlockState Block) +{ + switch (Block.ID) + { + case 15591: + case 15592: + case 15593: + case 15594: + case 15599: + case 15600: + case 15601: + case 15602: + case 15607: + case 15608: + case 15609: + case 15610: + case 15615: + case 15616: + case 15617: + case 15618: + case 15623: + case 15624: + case 15625: + case 15626: + case 15631: + case 15632: + case 15633: + case 15634: + case 15639: + case 15640: + case 15641: + case 15642: + case 15647: + case 15648: + case 15649: + case 15650: return Hinge::Left; + default: return Hinge::Right; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 15593: + case 15594: + case 15597: + case 15598: + case 15601: + case 15602: + case 15605: + case 15606: + case 15609: + case 15610: + case 15613: + case 15614: + case 15617: + case 15618: + case 15621: + case 15622: + case 15625: + case 15626: + case 15629: + case 15630: + case 15633: + case 15634: + case 15637: + case 15638: + case 15641: + case 15642: + case 15645: + case 15646: + case 15649: + case 15650: + case 15653: + case 15654: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15592: + case 15594: + case 15596: + case 15598: + case 15600: + case 15602: + case 15604: + case 15606: + case 15608: + case 15610: + case 15612: + case 15614: + case 15616: + case 15618: + case 15620: + case 15622: + case 15624: + case 15626: + case 15628: + case 15630: + case 15632: + case 15634: + case 15636: + case 15638: + case 15640: + case 15642: + case 15644: + case 15646: + case 15648: + case 15650: + case 15652: + case 15654: return false; + default: return true; + } +} +} // namespace WarpedDoor +namespace WarpedFence +{ +BlockState WarpedFence() +{ + return 15126; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 15113: + case 15114: + case 15117: + case 15118: + case 15121: + case 15122: + case 15125: + case 15126: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 15105: + case 15106: + case 15109: + case 15110: + case 15121: + case 15122: + case 15125: + case 15126: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 15101: + case 15102: + case 15109: + case 15110: + case 15117: + case 15118: + case 15125: + case 15126: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 15098: + case 15102: + case 15106: + case 15110: + case 15114: + case 15118: + case 15122: + case 15126: return false; + default: return true; + } +} +} // namespace WarpedFence +namespace WarpedFenceGate +{ +BlockState WarpedFenceGate() +{ + return 15294; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15303: + case 15304: + case 15305: + case 15306: + case 15307: + case 15308: + case 15309: + case 15310: return eBlockFace::BLOCK_FACE_XM; + case 15311: + case 15312: + case 15313: + case 15314: + case 15315: + case 15316: + case 15317: + case 15318: return eBlockFace::BLOCK_FACE_XP; + case 15287: + case 15288: + case 15289: + case 15290: + case 15291: + case 15292: + case 15293: + case 15294: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool InWall(const BlockState Block) +{ + switch (Block.ID) + { + case 15291: + case 15292: + case 15293: + case 15294: + case 15299: + case 15300: + case 15301: + case 15302: + case 15307: + case 15308: + case 15309: + case 15310: + case 15315: + case 15316: + case 15317: + case 15318: return false; + default: return true; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 15289: + case 15290: + case 15293: + case 15294: + case 15297: + case 15298: + case 15301: + case 15302: + case 15305: + case 15306: + case 15309: + case 15310: + case 15313: + case 15314: + case 15317: + case 15318: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15288: + case 15290: + case 15292: + case 15294: + case 15296: + case 15298: + case 15300: + case 15302: + case 15304: + case 15306: + case 15308: + case 15310: + case 15312: + case 15314: + case 15316: + case 15318: return false; + default: return true; + } +} +} // namespace WarpedFenceGate +namespace WarpedFungus +{ +} +namespace WarpedHyphae +{ +BlockState WarpedHyphae() +{ + return 14965; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 14964: return Axis::X; + case 14965: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace WarpedHyphae +namespace WarpedNylium +{ +} +namespace WarpedPlanks +{ +} +namespace WarpedPressurePlate +{ +BlockState WarpedPressurePlate() +{ + return 15062; +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15062: return false; + default: return true; + } +} +} // namespace WarpedPressurePlate +namespace WarpedRoots +{ +} +namespace WarpedSign +{ +BlockState WarpedSign() +{ + return 15688; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 15688: return 0; + case 15690: return 1; + case 15708: return 10; + case 15710: return 11; + case 15712: return 12; + case 15714: return 13; + case 15716: return 14; + case 15718: return 15; + case 15692: return 2; + case 15694: return 3; + case 15696: return 4; + case 15698: return 5; + case 15700: return 6; + case 15702: return 7; + case 15704: return 8; + default: return 9; + } +} +} // namespace WarpedSign +namespace WarpedSlab +{ +BlockState WarpedSlab() +{ + return 15056; +} +enum Type Type(const BlockState Block) +{ + switch (Block.ID) + { + case 15056: return Type::Bottom; + case 15058: return Type::Double; + default: return Type::Top; + } +} +} // namespace WarpedSlab +namespace WarpedStairs +{ +BlockState WarpedStairs() +{ + return 15410; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15440: + case 15442: + case 15444: + case 15446: + case 15448: + case 15450: + case 15452: + case 15454: + case 15456: + case 15458: return eBlockFace::BLOCK_FACE_XM; + case 15460: + case 15462: + case 15464: + case 15466: + case 15468: + case 15470: + case 15472: + case 15474: + case 15476: + case 15478: return eBlockFace::BLOCK_FACE_XP; + case 15400: + case 15402: + case 15404: + case 15406: + case 15408: + case 15410: + case 15412: + case 15414: + case 15416: + case 15418: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 15410: + case 15412: + case 15414: + case 15416: + case 15418: + case 15430: + case 15432: + case 15434: + case 15436: + case 15438: + case 15450: + case 15452: + case 15454: + case 15456: + case 15458: + case 15470: + case 15472: + case 15474: + case 15476: + case 15478: return Half::Bottom; + default: return Half::Top; + } +} +enum Shape Shape(const BlockState Block) +{ + switch (Block.ID) + { + case 15402: + case 15412: + case 15422: + case 15432: + case 15442: + case 15452: + case 15462: + case 15472: return Shape::InnerLeft; + case 15404: + case 15414: + case 15424: + case 15434: + case 15444: + case 15454: + case 15464: + case 15474: return Shape::InnerRight; + case 15406: + case 15416: + case 15426: + case 15436: + case 15446: + case 15456: + case 15466: + case 15476: return Shape::OuterLeft; + case 15408: + case 15418: + case 15428: + case 15438: + case 15448: + case 15458: + case 15468: + case 15478: return Shape::OuterRight; + default: return Shape::Straight; + } +} +} // namespace WarpedStairs +namespace WarpedStem +{ +BlockState WarpedStem() +{ + return 14959; +} +enum Axis Axis(const BlockState Block) +{ + switch (Block.ID) + { + case 14958: return Axis::X; + case 14959: return Axis::Y; + default: return Axis::Z; + } +} +} // namespace WarpedStem +namespace WarpedTrapdoor +{ +BlockState WarpedTrapdoor() +{ + return 15206; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15224: + case 15226: + case 15228: + case 15230: + case 15232: + case 15234: + case 15236: + case 15238: return eBlockFace::BLOCK_FACE_XM; + case 15240: + case 15242: + case 15244: + case 15246: + case 15248: + case 15250: + case 15252: + case 15254: return eBlockFace::BLOCK_FACE_XP; + case 15192: + case 15194: + case 15196: + case 15198: + case 15200: + case 15202: + case 15204: + case 15206: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +enum Half Half(const BlockState Block) +{ + switch (Block.ID) + { + case 15200: + case 15202: + case 15204: + case 15206: + case 15216: + case 15218: + case 15220: + case 15222: + case 15232: + case 15234: + case 15236: + case 15238: + case 15248: + case 15250: + case 15252: + case 15254: return Half::Bottom; + default: return Half::Top; + } +} +bool Open(const BlockState Block) +{ + switch (Block.ID) + { + case 15196: + case 15198: + case 15204: + case 15206: + case 15212: + case 15214: + case 15220: + case 15222: + case 15228: + case 15230: + case 15236: + case 15238: + case 15244: + case 15246: + case 15252: + case 15254: return false; + default: return true; + } +} +bool Powered(const BlockState Block) +{ + switch (Block.ID) + { + case 15194: + case 15198: + case 15202: + case 15206: + case 15210: + case 15214: + case 15218: + case 15222: + case 15226: + case 15230: + case 15234: + case 15238: + case 15242: + case 15246: + case 15250: + case 15254: return false; + default: return true; + } +} +} // namespace WarpedTrapdoor +namespace WarpedWallSign +{ +BlockState WarpedWallSign() +{ + return 15728; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 15732: return eBlockFace::BLOCK_FACE_XM; + case 15734: return eBlockFace::BLOCK_FACE_XP; + case 15728: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace WarpedWallSign +namespace WarpedWartBlock +{ +} +namespace Water +{ +BlockState Water() +{ + return 34; +} +unsigned char Level(const BlockState Block) +{ + switch (Block.ID) + { + case 34: return 0; + case 35: return 1; + case 44: return 10; + case 45: return 11; + case 46: return 12; + case 47: return 13; + case 48: return 14; + case 49: return 15; + case 36: return 2; + case 37: return 3; + case 38: return 4; + case 39: return 5; + case 40: return 6; + case 41: return 7; + case 42: return 8; + default: return 9; + } +} +} // namespace Water +namespace WeepingVines +{ +BlockState WeepingVines() +{ + return 14990; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 14990: return 0; + case 14991: return 1; + case 15000: return 10; + case 15001: return 11; + case 15002: return 12; + case 15003: return 13; + case 15004: return 14; + case 15005: return 15; + case 15006: return 16; + case 15007: return 17; + case 15008: return 18; + case 15009: return 19; + case 14992: return 2; + case 15010: return 20; + case 15011: return 21; + case 15012: return 22; + case 15013: return 23; + case 15014: return 24; + case 15015: return 25; + case 14993: return 3; + case 14994: return 4; + case 14995: return 5; + case 14996: return 6; + case 14997: return 7; + case 14998: return 8; + default: return 9; + } +} +} // namespace WeepingVines +namespace WeepingVinesPlant +{ +} +namespace WetSponge +{ +} +namespace Wheat +{ +BlockState Wheat() +{ + return 3357; +} +unsigned char Age(const BlockState Block) +{ + switch (Block.ID) + { + case 3357: return 0; + case 3358: return 1; + case 3359: return 2; + case 3360: return 3; + case 3361: return 4; + case 3362: return 5; + case 3363: return 6; + default: return 7; + } +} +} // namespace Wheat +namespace WhiteBanner +{ +BlockState WhiteBanner() +{ + return 7897; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 7897: return 0; + case 7898: return 1; + case 7907: return 10; + case 7908: return 11; + case 7909: return 12; + case 7910: return 13; + case 7911: return 14; + case 7912: return 15; + case 7899: return 2; + case 7900: return 3; + case 7901: return 4; + case 7902: return 5; + case 7903: return 6; + case 7904: return 7; + case 7905: return 8; + default: return 9; + } +} +} // namespace WhiteBanner +namespace WhiteBed +{ +BlockState WhiteBed() +{ + return 1052; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1057: + case 1058: + case 1059: + case 1060: return eBlockFace::BLOCK_FACE_XM; + case 1061: + case 1062: + case 1063: + case 1064: return eBlockFace::BLOCK_FACE_XP; + case 1049: + case 1050: + case 1051: + case 1052: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1051: + case 1052: + case 1055: + case 1056: + case 1059: + case 1060: + case 1063: + case 1064: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1050: + case 1052: + case 1054: + case 1056: + case 1058: + case 1060: + case 1062: + case 1064: return Part::Foot; + default: return Part::Head; + } +} +} // namespace WhiteBed +namespace WhiteCarpet +{ +} +namespace WhiteConcrete +{ +} +namespace WhiteConcretePowder +{ +} +namespace WhiteGlazedTerracotta +{ +BlockState WhiteGlazedTerracotta() +{ + return 9374; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9376: return eBlockFace::BLOCK_FACE_XM; + case 9377: return eBlockFace::BLOCK_FACE_XP; + case 9374: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace WhiteGlazedTerracotta +namespace WhiteShulkerBox +{ +BlockState WhiteShulkerBox() +{ + return 9282; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9281: return eBlockFace::BLOCK_FACE_XM; + case 9279: return eBlockFace::BLOCK_FACE_XP; + case 9283: return eBlockFace::BLOCK_FACE_YM; + case 9282: return eBlockFace::BLOCK_FACE_YP; + case 9278: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace WhiteShulkerBox +namespace WhiteStainedGlass +{ +} +namespace WhiteStainedGlassPane +{ +BlockState WhiteStainedGlassPane() +{ + return 6894; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 6881: + case 6882: + case 6885: + case 6886: + case 6889: + case 6890: + case 6893: + case 6894: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 6873: + case 6874: + case 6877: + case 6878: + case 6889: + case 6890: + case 6893: + case 6894: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 6869: + case 6870: + case 6877: + case 6878: + case 6885: + case 6886: + case 6893: + case 6894: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 6866: + case 6870: + case 6874: + case 6878: + case 6882: + case 6886: + case 6890: + case 6894: return false; + default: return true; + } +} +} // namespace WhiteStainedGlassPane +namespace WhiteTerracotta +{ +} +namespace WhiteTulip +{ +} +namespace WhiteWallBanner +{ +BlockState WhiteWallBanner() +{ + return 8153; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8155: return eBlockFace::BLOCK_FACE_XM; + case 8156: return eBlockFace::BLOCK_FACE_XP; + case 8153: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace WhiteWallBanner +namespace WhiteWool +{ +} +namespace WitherRose +{ +} +namespace WitherSkeletonSkull +{ +BlockState WitherSkeletonSkull() +{ + return 6510; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 6510: return 0; + case 6511: return 1; + case 6520: return 10; + case 6521: return 11; + case 6522: return 12; + case 6523: return 13; + case 6524: return 14; + case 6525: return 15; + case 6512: return 2; + case 6513: return 3; + case 6514: return 4; + case 6515: return 5; + case 6516: return 6; + case 6517: return 7; + case 6518: return 8; + default: return 9; + } +} +} // namespace WitherSkeletonSkull +namespace WitherSkeletonWallSkull +{ +BlockState WitherSkeletonWallSkull() +{ + return 6526; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 6528: return eBlockFace::BLOCK_FACE_XM; + case 6529: return eBlockFace::BLOCK_FACE_XP; + case 6526: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace WitherSkeletonWallSkull +namespace YellowBanner +{ +BlockState YellowBanner() +{ + return 7961; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 7961: return 0; + case 7962: return 1; + case 7971: return 10; + case 7972: return 11; + case 7973: return 12; + case 7974: return 13; + case 7975: return 14; + case 7976: return 15; + case 7963: return 2; + case 7964: return 3; + case 7965: return 4; + case 7966: return 5; + case 7967: return 6; + case 7968: return 7; + case 7969: return 8; + default: return 9; + } +} +} // namespace YellowBanner +namespace YellowBed +{ +BlockState YellowBed() +{ + return 1116; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 1121: + case 1122: + case 1123: + case 1124: return eBlockFace::BLOCK_FACE_XM; + case 1125: + case 1126: + case 1127: + case 1128: return eBlockFace::BLOCK_FACE_XP; + case 1113: + case 1114: + case 1115: + case 1116: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +bool Occupied(const BlockState Block) +{ + switch (Block.ID) + { + case 1115: + case 1116: + case 1119: + case 1120: + case 1123: + case 1124: + case 1127: + case 1128: return false; + default: return true; + } +} +enum Part Part(const BlockState Block) +{ + switch (Block.ID) + { + case 1114: + case 1116: + case 1118: + case 1120: + case 1122: + case 1124: + case 1126: + case 1128: return Part::Foot; + default: return Part::Head; + } +} +} // namespace YellowBed +namespace YellowCarpet +{ +} +namespace YellowConcrete +{ +} +namespace YellowConcretePowder +{ +} +namespace YellowGlazedTerracotta +{ +BlockState YellowGlazedTerracotta() +{ + return 9390; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9392: return eBlockFace::BLOCK_FACE_XM; + case 9393: return eBlockFace::BLOCK_FACE_XP; + case 9390: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace YellowGlazedTerracotta +namespace YellowShulkerBox +{ +BlockState YellowShulkerBox() +{ + return 9306; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 9305: return eBlockFace::BLOCK_FACE_XM; + case 9303: return eBlockFace::BLOCK_FACE_XP; + case 9307: return eBlockFace::BLOCK_FACE_YM; + case 9306: return eBlockFace::BLOCK_FACE_YP; + case 9302: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace YellowShulkerBox +namespace YellowStainedGlass +{ +} +namespace YellowStainedGlassPane +{ +BlockState YellowStainedGlassPane() +{ + return 7022; +} +bool East(const BlockState Block) +{ + switch (Block.ID) + { + case 7009: + case 7010: + case 7013: + case 7014: + case 7017: + case 7018: + case 7021: + case 7022: return false; + default: return true; + } +} +bool North(const BlockState Block) +{ + switch (Block.ID) + { + case 7001: + case 7002: + case 7005: + case 7006: + case 7017: + case 7018: + case 7021: + case 7022: return false; + default: return true; + } +} +bool South(const BlockState Block) +{ + switch (Block.ID) + { + case 6997: + case 6998: + case 7005: + case 7006: + case 7013: + case 7014: + case 7021: + case 7022: return false; + default: return true; + } +} +bool West(const BlockState Block) +{ + switch (Block.ID) + { + case 6994: + case 6998: + case 7002: + case 7006: + case 7010: + case 7014: + case 7018: + case 7022: return false; + default: return true; + } +} +} // namespace YellowStainedGlassPane +namespace YellowTerracotta +{ +} +namespace YellowWallBanner +{ +BlockState YellowWallBanner() +{ + return 8169; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) + { + case 8171: return eBlockFace::BLOCK_FACE_XM; + case 8172: return eBlockFace::BLOCK_FACE_XP; + case 8169: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; + } +} +} // namespace YellowWallBanner +namespace YellowWool +{ +} +namespace ZombieHead +{ +BlockState ZombieHead() +{ + return 6530; +} +unsigned char Rotation(const BlockState Block) +{ + switch (Block.ID) + { + case 6530: return 0; + case 6531: return 1; + case 6540: return 10; + case 6541: return 11; + case 6542: return 12; + case 6543: return 13; + case 6544: return 14; + case 6545: return 15; + case 6532: return 2; + case 6533: return 3; + case 6534: return 4; + case 6535: return 5; + case 6536: return 6; + case 6537: return 7; + case 6538: return 8; + default: return 9; + } +} +} // namespace ZombieHead +namespace ZombieWallHead +{ +BlockState ZombieWallHead() +{ + return 6546; +} +eBlockFace Facing(const BlockState Block) +{ + switch (Block.ID) { - BlockState PrismarineBrickStairs() - { - return 7695; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 7725: case 7727: case 7729: case 7731: case 7733: case 7735: case 7737: case 7739: case 7741: case 7743: return eBlockFace::BLOCK_FACE_XM; - case 7745: case 7747: case 7749: case 7751: case 7753: case 7755: case 7757: case 7759: case 7761: case 7763: return eBlockFace::BLOCK_FACE_XP; - case 7685: case 7687: case 7689: case 7691: case 7693: case 7695: case 7697: case 7699: case 7701: case 7703: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7695: case 7697: case 7699: case 7701: case 7703: case 7715: case 7717: case 7719: case 7721: case 7723: case 7735: case 7737: case 7739: case 7741: case 7743: case 7755: case 7757: case 7759: case 7761: case 7763: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 7687: case 7697: case 7707: case 7717: case 7727: case 7737: case 7747: case 7757: return Shape::InnerLeft; - case 7689: case 7699: case 7709: case 7719: case 7729: case 7739: case 7749: case 7759: return Shape::InnerRight; - case 7691: case 7701: case 7711: case 7721: case 7731: case 7741: case 7751: case 7761: return Shape::OuterLeft; - case 7693: case 7703: case 7713: case 7723: case 7733: case 7743: case 7753: case 7763: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace PrismarineBricks - { - } - namespace PrismarineSlab - { - BlockState PrismarineSlab() - { - return 7847; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 7847: return Type::Bottom; - case 7849: return Type::Double; - default: return Type::Top; - } - } - } - namespace PrismarineStairs - { - BlockState PrismarineStairs() - { - return 7615; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 7645: case 7647: case 7649: case 7651: case 7653: case 7655: case 7657: case 7659: case 7661: case 7663: return eBlockFace::BLOCK_FACE_XM; - case 7665: case 7667: case 7669: case 7671: case 7673: case 7675: case 7677: case 7679: case 7681: case 7683: return eBlockFace::BLOCK_FACE_XP; - case 7605: case 7607: case 7609: case 7611: case 7613: case 7615: case 7617: case 7619: case 7621: case 7623: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7615: case 7617: case 7619: case 7621: case 7623: case 7635: case 7637: case 7639: case 7641: case 7643: case 7655: case 7657: case 7659: case 7661: case 7663: case 7675: case 7677: case 7679: case 7681: case 7683: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 7607: case 7617: case 7627: case 7637: case 7647: case 7657: case 7667: case 7677: return Shape::InnerLeft; - case 7609: case 7619: case 7629: case 7639: case 7649: case 7659: case 7669: case 7679: return Shape::InnerRight; - case 7611: case 7621: case 7631: case 7641: case 7651: case 7661: case 7671: case 7681: return Shape::OuterLeft; - case 7613: case 7623: case 7633: case 7643: case 7653: case 7663: case 7673: case 7683: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace PrismarineWall - { - BlockState PrismarineWall() - { - return 11194; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 11302: case 11303: case 11304: case 11308: case 11309: case 11310: case 11314: case 11315: case 11316: case 11320: case 11321: case 11322: case 11326: case 11327: case 11328: case 11332: case 11333: case 11334: case 11338: case 11339: case 11340: case 11344: case 11345: case 11346: case 11350: case 11351: case 11352: case 11356: case 11357: case 11358: case 11362: case 11363: case 11364: case 11368: case 11369: case 11370: case 11374: case 11375: case 11376: case 11380: case 11381: case 11382: case 11386: case 11387: case 11388: case 11392: case 11393: case 11394: case 11398: case 11399: case 11400: case 11404: case 11405: case 11406: return East::Low; - case 11194: case 11195: case 11196: case 11200: case 11201: case 11202: case 11206: case 11207: case 11208: case 11212: case 11213: case 11214: case 11218: case 11219: case 11220: case 11224: case 11225: case 11226: case 11230: case 11231: case 11232: case 11236: case 11237: case 11238: case 11242: case 11243: case 11244: case 11248: case 11249: case 11250: case 11254: case 11255: case 11256: case 11260: case 11261: case 11262: case 11266: case 11267: case 11268: case 11272: case 11273: case 11274: case 11278: case 11279: case 11280: case 11284: case 11285: case 11286: case 11290: case 11291: case 11292: case 11296: case 11297: case 11298: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 11230: case 11231: case 11232: case 11236: case 11237: case 11238: case 11242: case 11243: case 11244: case 11248: case 11249: case 11250: case 11254: case 11255: case 11256: case 11260: case 11261: case 11262: case 11338: case 11339: case 11340: case 11344: case 11345: case 11346: case 11350: case 11351: case 11352: case 11356: case 11357: case 11358: case 11362: case 11363: case 11364: case 11368: case 11369: case 11370: case 11446: case 11447: case 11448: case 11452: case 11453: case 11454: case 11458: case 11459: case 11460: case 11464: case 11465: case 11466: case 11470: case 11471: case 11472: case 11476: case 11477: case 11478: return North::Low; - case 11194: case 11195: case 11196: case 11200: case 11201: case 11202: case 11206: case 11207: case 11208: case 11212: case 11213: case 11214: case 11218: case 11219: case 11220: case 11224: case 11225: case 11226: case 11302: case 11303: case 11304: case 11308: case 11309: case 11310: case 11314: case 11315: case 11316: case 11320: case 11321: case 11322: case 11326: case 11327: case 11328: case 11332: case 11333: case 11334: case 11410: case 11411: case 11412: case 11416: case 11417: case 11418: case 11422: case 11423: case 11424: case 11428: case 11429: case 11430: case 11434: case 11435: case 11436: case 11440: case 11441: case 11442: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 11206: case 11207: case 11208: case 11212: case 11213: case 11214: case 11242: case 11243: case 11244: case 11248: case 11249: case 11250: case 11278: case 11279: case 11280: case 11284: case 11285: case 11286: case 11314: case 11315: case 11316: case 11320: case 11321: case 11322: case 11350: case 11351: case 11352: case 11356: case 11357: case 11358: case 11386: case 11387: case 11388: case 11392: case 11393: case 11394: case 11422: case 11423: case 11424: case 11428: case 11429: case 11430: case 11458: case 11459: case 11460: case 11464: case 11465: case 11466: case 11494: case 11495: case 11496: case 11500: case 11501: case 11502: return South::Low; - case 11194: case 11195: case 11196: case 11200: case 11201: case 11202: case 11230: case 11231: case 11232: case 11236: case 11237: case 11238: case 11266: case 11267: case 11268: case 11272: case 11273: case 11274: case 11302: case 11303: case 11304: case 11308: case 11309: case 11310: case 11338: case 11339: case 11340: case 11344: case 11345: case 11346: case 11374: case 11375: case 11376: case 11380: case 11381: case 11382: case 11410: case 11411: case 11412: case 11416: case 11417: case 11418: case 11446: case 11447: case 11448: case 11452: case 11453: case 11454: case 11482: case 11483: case 11484: case 11488: case 11489: case 11490: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 11200: case 11201: case 11202: case 11212: case 11213: case 11214: case 11224: case 11225: case 11226: case 11236: case 11237: case 11238: case 11248: case 11249: case 11250: case 11260: case 11261: case 11262: case 11272: case 11273: case 11274: case 11284: case 11285: case 11286: case 11296: case 11297: case 11298: case 11308: case 11309: case 11310: case 11320: case 11321: case 11322: case 11332: case 11333: case 11334: case 11344: case 11345: case 11346: case 11356: case 11357: case 11358: case 11368: case 11369: case 11370: case 11380: case 11381: case 11382: case 11392: case 11393: case 11394: case 11404: case 11405: case 11406: case 11416: case 11417: case 11418: case 11428: case 11429: case 11430: case 11440: case 11441: case 11442: case 11452: case 11453: case 11454: case 11464: case 11465: case 11466: case 11476: case 11477: case 11478: case 11488: case 11489: case 11490: case 11500: case 11501: case 11502: case 11512: case 11513: case 11514: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 11195: case 11201: case 11207: case 11213: case 11219: case 11225: case 11231: case 11237: case 11243: case 11249: case 11255: case 11261: case 11267: case 11273: case 11279: case 11285: case 11291: case 11297: case 11303: case 11309: case 11315: case 11321: case 11327: case 11333: case 11339: case 11345: case 11351: case 11357: case 11363: case 11369: case 11375: case 11381: case 11387: case 11393: case 11399: case 11405: case 11411: case 11417: case 11423: case 11429: case 11435: case 11441: case 11447: case 11453: case 11459: case 11465: case 11471: case 11477: case 11483: case 11489: case 11495: case 11501: case 11507: case 11513: return West::Low; - case 11194: case 11200: case 11206: case 11212: case 11218: case 11224: case 11230: case 11236: case 11242: case 11248: case 11254: case 11260: case 11266: case 11272: case 11278: case 11284: case 11290: case 11296: case 11302: case 11308: case 11314: case 11320: case 11326: case 11332: case 11338: case 11344: case 11350: case 11356: case 11362: case 11368: case 11374: case 11380: case 11386: case 11392: case 11398: case 11404: case 11410: case 11416: case 11422: case 11428: case 11434: case 11440: case 11446: case 11452: case 11458: case 11464: case 11470: case 11476: case 11482: case 11488: case 11494: case 11500: case 11506: case 11512: return West::None; - default: return West::Tall; - } - } - } - namespace Pumpkin - { - } - namespace PumpkinStem - { - BlockState PumpkinStem() - { - return 4772; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 4772: return 0; - case 4773: return 1; - case 4774: return 2; - case 4775: return 3; - case 4776: return 4; - case 4777: return 5; - case 4778: return 6; - default: return 7; - } - } - } - namespace PurpleBanner - { - BlockState PurpleBanner() - { - return 8057; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8057: return 0; - case 8058: return 1; - case 8067: return 10; - case 8068: return 11; - case 8069: return 12; - case 8070: return 13; - case 8071: return 14; - case 8072: return 15; - case 8059: return 2; - case 8060: return 3; - case 8061: return 4; - case 8062: return 5; - case 8063: return 6; - case 8064: return 7; - case 8065: return 8; - default: return 9; - } - } - } - namespace PurpleBed - { - BlockState PurpleBed() - { - return 1212; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1217: case 1218: case 1219: case 1220: return eBlockFace::BLOCK_FACE_XM; - case 1221: case 1222: case 1223: case 1224: return eBlockFace::BLOCK_FACE_XP; - case 1209: case 1210: case 1211: case 1212: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1211: case 1212: case 1215: case 1216: case 1219: case 1220: case 1223: case 1224: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1210: case 1212: case 1214: case 1216: case 1218: case 1220: case 1222: case 1224: return Part::Foot; - default: return Part::Head; - } - } - } - namespace PurpleCarpet - { - } - namespace PurpleConcrete - { - } - namespace PurpleConcretePowder - { - } - namespace PurpleGlazedTerracotta - { - BlockState PurpleGlazedTerracotta() - { - return 9414; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9416: return eBlockFace::BLOCK_FACE_XM; - case 9417: return eBlockFace::BLOCK_FACE_XP; - case 9414: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace PurpleShulkerBox - { - BlockState PurpleShulkerBox() - { - return 9342; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9341: return eBlockFace::BLOCK_FACE_XM; - case 9339: return eBlockFace::BLOCK_FACE_XP; - case 9343: return eBlockFace::BLOCK_FACE_YM; - case 9342: return eBlockFace::BLOCK_FACE_YP; - case 9338: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace PurpleStainedGlass - { - } - namespace PurpleStainedGlassPane - { - BlockState PurpleStainedGlassPane() - { - return 7214; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7201: case 7202: case 7205: case 7206: case 7209: case 7210: case 7213: case 7214: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7193: case 7194: case 7197: case 7198: case 7209: case 7210: case 7213: case 7214: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7189: case 7190: case 7197: case 7198: case 7205: case 7206: case 7213: case 7214: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7186: case 7190: case 7194: case 7198: case 7202: case 7206: case 7210: case 7214: return false; - default: return true; - } - } - } - namespace PurpleTerracotta - { - } - namespace PurpleWallBanner - { - BlockState PurpleWallBanner() - { - return 8193; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8195: return eBlockFace::BLOCK_FACE_XM; - case 8196: return eBlockFace::BLOCK_FACE_XP; - case 8193: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace PurpleWool - { - } - namespace PurpurBlock - { - } - namespace PurpurPillar - { - BlockState PurpurPillar() - { - return 9136; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 9135: return Axis::X; - case 9136: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace PurpurSlab - { - BlockState PurpurSlab() - { - return 8411; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8411: return Type::Bottom; - case 8413: return Type::Double; - default: return Type::Top; - } - } - } - namespace PurpurStairs - { - BlockState PurpurStairs() - { - return 9149; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9179: case 9181: case 9183: case 9185: case 9187: case 9189: case 9191: case 9193: case 9195: case 9197: return eBlockFace::BLOCK_FACE_XM; - case 9199: case 9201: case 9203: case 9205: case 9207: case 9209: case 9211: case 9213: case 9215: case 9217: return eBlockFace::BLOCK_FACE_XP; - case 9139: case 9141: case 9143: case 9145: case 9147: case 9149: case 9151: case 9153: case 9155: case 9157: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 9149: case 9151: case 9153: case 9155: case 9157: case 9169: case 9171: case 9173: case 9175: case 9177: case 9189: case 9191: case 9193: case 9195: case 9197: case 9209: case 9211: case 9213: case 9215: case 9217: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 9141: case 9151: case 9161: case 9171: case 9181: case 9191: case 9201: case 9211: return Shape::InnerLeft; - case 9143: case 9153: case 9163: case 9173: case 9183: case 9193: case 9203: case 9213: return Shape::InnerRight; - case 9145: case 9155: case 9165: case 9175: case 9185: case 9195: case 9205: case 9215: return Shape::OuterLeft; - case 9147: case 9157: case 9167: case 9177: case 9187: case 9197: case 9207: case 9217: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace QuartzBlock - { - } - namespace QuartzBricks - { - } - namespace QuartzPillar - { - BlockState QuartzPillar() - { - return 6741; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 6740: return Axis::X; - case 6741: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace QuartzSlab - { - BlockState QuartzSlab() - { - return 8393; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8393: return Type::Bottom; - case 8395: return Type::Double; - default: return Type::Top; - } - } - } - namespace QuartzStairs - { - BlockState QuartzStairs() - { - return 6754; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6784: case 6786: case 6788: case 6790: case 6792: case 6794: case 6796: case 6798: case 6800: case 6802: return eBlockFace::BLOCK_FACE_XM; - case 6804: case 6806: case 6808: case 6810: case 6812: case 6814: case 6816: case 6818: case 6820: case 6822: return eBlockFace::BLOCK_FACE_XP; - case 6744: case 6746: case 6748: case 6750: case 6752: case 6754: case 6756: case 6758: case 6760: case 6762: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 6754: case 6756: case 6758: case 6760: case 6762: case 6774: case 6776: case 6778: case 6780: case 6782: case 6794: case 6796: case 6798: case 6800: case 6802: case 6814: case 6816: case 6818: case 6820: case 6822: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 6746: case 6756: case 6766: case 6776: case 6786: case 6796: case 6806: case 6816: return Shape::InnerLeft; - case 6748: case 6758: case 6768: case 6778: case 6788: case 6798: case 6808: case 6818: return Shape::InnerRight; - case 6750: case 6760: case 6770: case 6780: case 6790: case 6800: case 6810: case 6820: return Shape::OuterLeft; - case 6752: case 6762: case 6772: case 6782: case 6792: case 6802: case 6812: case 6822: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace Rail - { - BlockState Rail() - { - return 3645; - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 3647: return Shape::AscendingEast; - case 3649: return Shape::AscendingNorth; - case 3650: return Shape::AscendingSouth; - case 3648: return Shape::AscendingWest; - case 3646: return Shape::EastWest; - case 3654: return Shape::NorthEast; - case 3645: return Shape::NorthSouth; - case 3653: return Shape::NorthWest; - case 3651: return Shape::SouthEast; - default: return Shape::SouthWest; - } - } - } - namespace RedBanner - { - BlockState RedBanner() - { - return 8121; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 8121: return 0; - case 8122: return 1; - case 8131: return 10; - case 8132: return 11; - case 8133: return 12; - case 8134: return 13; - case 8135: return 14; - case 8136: return 15; - case 8123: return 2; - case 8124: return 3; - case 8125: return 4; - case 8126: return 5; - case 8127: return 6; - case 8128: return 7; - case 8129: return 8; - default: return 9; - } - } - } - namespace RedBed - { - BlockState RedBed() - { - return 1276; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1281: case 1282: case 1283: case 1284: return eBlockFace::BLOCK_FACE_XM; - case 1285: case 1286: case 1287: case 1288: return eBlockFace::BLOCK_FACE_XP; - case 1273: case 1274: case 1275: case 1276: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1275: case 1276: case 1279: case 1280: case 1283: case 1284: case 1287: case 1288: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1274: case 1276: case 1278: case 1280: case 1282: case 1284: case 1286: case 1288: return Part::Foot; - default: return Part::Head; - } - } - } - namespace RedCarpet - { - } - namespace RedConcrete - { - } - namespace RedConcretePowder - { - } - namespace RedGlazedTerracotta - { - BlockState RedGlazedTerracotta() - { - return 9430; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9432: return eBlockFace::BLOCK_FACE_XM; - case 9433: return eBlockFace::BLOCK_FACE_XP; - case 9430: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace RedMushroom - { - } - namespace RedMushroomBlock - { - BlockState RedMushroomBlock() - { - return 4569; - } - bool Down(const BlockState Block) - { - switch (Block.ID) - { - case 4601: case 4602: case 4603: case 4604: case 4605: case 4606: case 4607: case 4608: case 4609: case 4610: case 4611: case 4612: case 4613: case 4614: case 4615: case 4616: case 4617: case 4618: case 4619: case 4620: case 4621: case 4622: case 4623: case 4624: case 4625: case 4626: case 4627: case 4628: case 4629: case 4630: case 4631: case 4632: return false; - default: return true; - } - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 4585: case 4586: case 4587: case 4588: case 4589: case 4590: case 4591: case 4592: case 4593: case 4594: case 4595: case 4596: case 4597: case 4598: case 4599: case 4600: case 4617: case 4618: case 4619: case 4620: case 4621: case 4622: case 4623: case 4624: case 4625: case 4626: case 4627: case 4628: case 4629: case 4630: case 4631: case 4632: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 4577: case 4578: case 4579: case 4580: case 4581: case 4582: case 4583: case 4584: case 4593: case 4594: case 4595: case 4596: case 4597: case 4598: case 4599: case 4600: case 4609: case 4610: case 4611: case 4612: case 4613: case 4614: case 4615: case 4616: case 4625: case 4626: case 4627: case 4628: case 4629: case 4630: case 4631: case 4632: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 4573: case 4574: case 4575: case 4576: case 4581: case 4582: case 4583: case 4584: case 4589: case 4590: case 4591: case 4592: case 4597: case 4598: case 4599: case 4600: case 4605: case 4606: case 4607: case 4608: case 4613: case 4614: case 4615: case 4616: case 4621: case 4622: case 4623: case 4624: case 4629: case 4630: case 4631: case 4632: return false; - default: return true; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 4571: case 4572: case 4575: case 4576: case 4579: case 4580: case 4583: case 4584: case 4587: case 4588: case 4591: case 4592: case 4595: case 4596: case 4599: case 4600: case 4603: case 4604: case 4607: case 4608: case 4611: case 4612: case 4615: case 4616: case 4619: case 4620: case 4623: case 4624: case 4627: case 4628: case 4631: case 4632: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 4570: case 4572: case 4574: case 4576: case 4578: case 4580: case 4582: case 4584: case 4586: case 4588: case 4590: case 4592: case 4594: case 4596: case 4598: case 4600: case 4602: case 4604: case 4606: case 4608: case 4610: case 4612: case 4614: case 4616: case 4618: case 4620: case 4622: case 4624: case 4626: case 4628: case 4630: case 4632: return false; - default: return true; - } - } - } - namespace RedNetherBrickSlab - { - BlockState RedNetherBrickSlab() - { - return 10852; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10852: return Type::Bottom; - case 10854: return Type::Double; - default: return Type::Top; - } - } - } - namespace RedNetherBrickStairs - { - BlockState RedNetherBrickStairs() - { - return 10560; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10590: case 10592: case 10594: case 10596: case 10598: case 10600: case 10602: case 10604: case 10606: case 10608: return eBlockFace::BLOCK_FACE_XM; - case 10610: case 10612: case 10614: case 10616: case 10618: case 10620: case 10622: case 10624: case 10626: case 10628: return eBlockFace::BLOCK_FACE_XP; - case 10550: case 10552: case 10554: case 10556: case 10558: case 10560: case 10562: case 10564: case 10566: case 10568: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10560: case 10562: case 10564: case 10566: case 10568: case 10580: case 10582: case 10584: case 10586: case 10588: case 10600: case 10602: case 10604: case 10606: case 10608: case 10620: case 10622: case 10624: case 10626: case 10628: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10552: case 10562: case 10572: case 10582: case 10592: case 10602: case 10612: case 10622: return Shape::InnerLeft; - case 10554: case 10564: case 10574: case 10584: case 10594: case 10604: case 10614: case 10624: return Shape::InnerRight; - case 10556: case 10566: case 10576: case 10586: case 10596: case 10606: case 10616: case 10626: return Shape::OuterLeft; - case 10558: case 10568: case 10578: case 10588: case 10598: case 10608: case 10618: case 10628: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace RedNetherBrickWall - { - BlockState RedNetherBrickWall() - { - return 13462; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 13570: case 13571: case 13572: case 13576: case 13577: case 13578: case 13582: case 13583: case 13584: case 13588: case 13589: case 13590: case 13594: case 13595: case 13596: case 13600: case 13601: case 13602: case 13606: case 13607: case 13608: case 13612: case 13613: case 13614: case 13618: case 13619: case 13620: case 13624: case 13625: case 13626: case 13630: case 13631: case 13632: case 13636: case 13637: case 13638: case 13642: case 13643: case 13644: case 13648: case 13649: case 13650: case 13654: case 13655: case 13656: case 13660: case 13661: case 13662: case 13666: case 13667: case 13668: case 13672: case 13673: case 13674: return East::Low; - case 13462: case 13463: case 13464: case 13468: case 13469: case 13470: case 13474: case 13475: case 13476: case 13480: case 13481: case 13482: case 13486: case 13487: case 13488: case 13492: case 13493: case 13494: case 13498: case 13499: case 13500: case 13504: case 13505: case 13506: case 13510: case 13511: case 13512: case 13516: case 13517: case 13518: case 13522: case 13523: case 13524: case 13528: case 13529: case 13530: case 13534: case 13535: case 13536: case 13540: case 13541: case 13542: case 13546: case 13547: case 13548: case 13552: case 13553: case 13554: case 13558: case 13559: case 13560: case 13564: case 13565: case 13566: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 13498: case 13499: case 13500: case 13504: case 13505: case 13506: case 13510: case 13511: case 13512: case 13516: case 13517: case 13518: case 13522: case 13523: case 13524: case 13528: case 13529: case 13530: case 13606: case 13607: case 13608: case 13612: case 13613: case 13614: case 13618: case 13619: case 13620: case 13624: case 13625: case 13626: case 13630: case 13631: case 13632: case 13636: case 13637: case 13638: case 13714: case 13715: case 13716: case 13720: case 13721: case 13722: case 13726: case 13727: case 13728: case 13732: case 13733: case 13734: case 13738: case 13739: case 13740: case 13744: case 13745: case 13746: return North::Low; - case 13462: case 13463: case 13464: case 13468: case 13469: case 13470: case 13474: case 13475: case 13476: case 13480: case 13481: case 13482: case 13486: case 13487: case 13488: case 13492: case 13493: case 13494: case 13570: case 13571: case 13572: case 13576: case 13577: case 13578: case 13582: case 13583: case 13584: case 13588: case 13589: case 13590: case 13594: case 13595: case 13596: case 13600: case 13601: case 13602: case 13678: case 13679: case 13680: case 13684: case 13685: case 13686: case 13690: case 13691: case 13692: case 13696: case 13697: case 13698: case 13702: case 13703: case 13704: case 13708: case 13709: case 13710: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 13474: case 13475: case 13476: case 13480: case 13481: case 13482: case 13510: case 13511: case 13512: case 13516: case 13517: case 13518: case 13546: case 13547: case 13548: case 13552: case 13553: case 13554: case 13582: case 13583: case 13584: case 13588: case 13589: case 13590: case 13618: case 13619: case 13620: case 13624: case 13625: case 13626: case 13654: case 13655: case 13656: case 13660: case 13661: case 13662: case 13690: case 13691: case 13692: case 13696: case 13697: case 13698: case 13726: case 13727: case 13728: case 13732: case 13733: case 13734: case 13762: case 13763: case 13764: case 13768: case 13769: case 13770: return South::Low; - case 13462: case 13463: case 13464: case 13468: case 13469: case 13470: case 13498: case 13499: case 13500: case 13504: case 13505: case 13506: case 13534: case 13535: case 13536: case 13540: case 13541: case 13542: case 13570: case 13571: case 13572: case 13576: case 13577: case 13578: case 13606: case 13607: case 13608: case 13612: case 13613: case 13614: case 13642: case 13643: case 13644: case 13648: case 13649: case 13650: case 13678: case 13679: case 13680: case 13684: case 13685: case 13686: case 13714: case 13715: case 13716: case 13720: case 13721: case 13722: case 13750: case 13751: case 13752: case 13756: case 13757: case 13758: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 13468: case 13469: case 13470: case 13480: case 13481: case 13482: case 13492: case 13493: case 13494: case 13504: case 13505: case 13506: case 13516: case 13517: case 13518: case 13528: case 13529: case 13530: case 13540: case 13541: case 13542: case 13552: case 13553: case 13554: case 13564: case 13565: case 13566: case 13576: case 13577: case 13578: case 13588: case 13589: case 13590: case 13600: case 13601: case 13602: case 13612: case 13613: case 13614: case 13624: case 13625: case 13626: case 13636: case 13637: case 13638: case 13648: case 13649: case 13650: case 13660: case 13661: case 13662: case 13672: case 13673: case 13674: case 13684: case 13685: case 13686: case 13696: case 13697: case 13698: case 13708: case 13709: case 13710: case 13720: case 13721: case 13722: case 13732: case 13733: case 13734: case 13744: case 13745: case 13746: case 13756: case 13757: case 13758: case 13768: case 13769: case 13770: case 13780: case 13781: case 13782: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 13463: case 13469: case 13475: case 13481: case 13487: case 13493: case 13499: case 13505: case 13511: case 13517: case 13523: case 13529: case 13535: case 13541: case 13547: case 13553: case 13559: case 13565: case 13571: case 13577: case 13583: case 13589: case 13595: case 13601: case 13607: case 13613: case 13619: case 13625: case 13631: case 13637: case 13643: case 13649: case 13655: case 13661: case 13667: case 13673: case 13679: case 13685: case 13691: case 13697: case 13703: case 13709: case 13715: case 13721: case 13727: case 13733: case 13739: case 13745: case 13751: case 13757: case 13763: case 13769: case 13775: case 13781: return West::Low; - case 13462: case 13468: case 13474: case 13480: case 13486: case 13492: case 13498: case 13504: case 13510: case 13516: case 13522: case 13528: case 13534: case 13540: case 13546: case 13552: case 13558: case 13564: case 13570: case 13576: case 13582: case 13588: case 13594: case 13600: case 13606: case 13612: case 13618: case 13624: case 13630: case 13636: case 13642: case 13648: case 13654: case 13660: case 13666: case 13672: case 13678: case 13684: case 13690: case 13696: case 13702: case 13708: case 13714: case 13720: case 13726: case 13732: case 13738: case 13744: case 13750: case 13756: case 13762: case 13768: case 13774: case 13780: return West::None; - default: return West::Tall; - } - } - } - namespace RedNetherBricks - { - } - namespace RedSand - { - } - namespace RedSandstone - { - } - namespace RedSandstoneSlab - { - BlockState RedSandstoneSlab() - { - return 8399; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8399: return Type::Bottom; - case 8401: return Type::Double; - default: return Type::Top; - } - } - } - namespace RedSandstoneStairs - { - BlockState RedSandstoneStairs() - { - return 8231; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8261: case 8263: case 8265: case 8267: case 8269: case 8271: case 8273: case 8275: case 8277: case 8279: return eBlockFace::BLOCK_FACE_XM; - case 8281: case 8283: case 8285: case 8287: case 8289: case 8291: case 8293: case 8295: case 8297: case 8299: return eBlockFace::BLOCK_FACE_XP; - case 8221: case 8223: case 8225: case 8227: case 8229: case 8231: case 8233: case 8235: case 8237: case 8239: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 8231: case 8233: case 8235: case 8237: case 8239: case 8251: case 8253: case 8255: case 8257: case 8259: case 8271: case 8273: case 8275: case 8277: case 8279: case 8291: case 8293: case 8295: case 8297: case 8299: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 8223: case 8233: case 8243: case 8253: case 8263: case 8273: case 8283: case 8293: return Shape::InnerLeft; - case 8225: case 8235: case 8245: case 8255: case 8265: case 8275: case 8285: case 8295: return Shape::InnerRight; - case 8227: case 8237: case 8247: case 8257: case 8267: case 8277: case 8287: case 8297: return Shape::OuterLeft; - case 8229: case 8239: case 8249: case 8259: case 8269: case 8279: case 8289: case 8299: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace RedSandstoneWall - { - BlockState RedSandstoneWall() - { - return 11518; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 11626: case 11627: case 11628: case 11632: case 11633: case 11634: case 11638: case 11639: case 11640: case 11644: case 11645: case 11646: case 11650: case 11651: case 11652: case 11656: case 11657: case 11658: case 11662: case 11663: case 11664: case 11668: case 11669: case 11670: case 11674: case 11675: case 11676: case 11680: case 11681: case 11682: case 11686: case 11687: case 11688: case 11692: case 11693: case 11694: case 11698: case 11699: case 11700: case 11704: case 11705: case 11706: case 11710: case 11711: case 11712: case 11716: case 11717: case 11718: case 11722: case 11723: case 11724: case 11728: case 11729: case 11730: return East::Low; - case 11518: case 11519: case 11520: case 11524: case 11525: case 11526: case 11530: case 11531: case 11532: case 11536: case 11537: case 11538: case 11542: case 11543: case 11544: case 11548: case 11549: case 11550: case 11554: case 11555: case 11556: case 11560: case 11561: case 11562: case 11566: case 11567: case 11568: case 11572: case 11573: case 11574: case 11578: case 11579: case 11580: case 11584: case 11585: case 11586: case 11590: case 11591: case 11592: case 11596: case 11597: case 11598: case 11602: case 11603: case 11604: case 11608: case 11609: case 11610: case 11614: case 11615: case 11616: case 11620: case 11621: case 11622: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 11554: case 11555: case 11556: case 11560: case 11561: case 11562: case 11566: case 11567: case 11568: case 11572: case 11573: case 11574: case 11578: case 11579: case 11580: case 11584: case 11585: case 11586: case 11662: case 11663: case 11664: case 11668: case 11669: case 11670: case 11674: case 11675: case 11676: case 11680: case 11681: case 11682: case 11686: case 11687: case 11688: case 11692: case 11693: case 11694: case 11770: case 11771: case 11772: case 11776: case 11777: case 11778: case 11782: case 11783: case 11784: case 11788: case 11789: case 11790: case 11794: case 11795: case 11796: case 11800: case 11801: case 11802: return North::Low; - case 11518: case 11519: case 11520: case 11524: case 11525: case 11526: case 11530: case 11531: case 11532: case 11536: case 11537: case 11538: case 11542: case 11543: case 11544: case 11548: case 11549: case 11550: case 11626: case 11627: case 11628: case 11632: case 11633: case 11634: case 11638: case 11639: case 11640: case 11644: case 11645: case 11646: case 11650: case 11651: case 11652: case 11656: case 11657: case 11658: case 11734: case 11735: case 11736: case 11740: case 11741: case 11742: case 11746: case 11747: case 11748: case 11752: case 11753: case 11754: case 11758: case 11759: case 11760: case 11764: case 11765: case 11766: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 11530: case 11531: case 11532: case 11536: case 11537: case 11538: case 11566: case 11567: case 11568: case 11572: case 11573: case 11574: case 11602: case 11603: case 11604: case 11608: case 11609: case 11610: case 11638: case 11639: case 11640: case 11644: case 11645: case 11646: case 11674: case 11675: case 11676: case 11680: case 11681: case 11682: case 11710: case 11711: case 11712: case 11716: case 11717: case 11718: case 11746: case 11747: case 11748: case 11752: case 11753: case 11754: case 11782: case 11783: case 11784: case 11788: case 11789: case 11790: case 11818: case 11819: case 11820: case 11824: case 11825: case 11826: return South::Low; - case 11518: case 11519: case 11520: case 11524: case 11525: case 11526: case 11554: case 11555: case 11556: case 11560: case 11561: case 11562: case 11590: case 11591: case 11592: case 11596: case 11597: case 11598: case 11626: case 11627: case 11628: case 11632: case 11633: case 11634: case 11662: case 11663: case 11664: case 11668: case 11669: case 11670: case 11698: case 11699: case 11700: case 11704: case 11705: case 11706: case 11734: case 11735: case 11736: case 11740: case 11741: case 11742: case 11770: case 11771: case 11772: case 11776: case 11777: case 11778: case 11806: case 11807: case 11808: case 11812: case 11813: case 11814: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 11524: case 11525: case 11526: case 11536: case 11537: case 11538: case 11548: case 11549: case 11550: case 11560: case 11561: case 11562: case 11572: case 11573: case 11574: case 11584: case 11585: case 11586: case 11596: case 11597: case 11598: case 11608: case 11609: case 11610: case 11620: case 11621: case 11622: case 11632: case 11633: case 11634: case 11644: case 11645: case 11646: case 11656: case 11657: case 11658: case 11668: case 11669: case 11670: case 11680: case 11681: case 11682: case 11692: case 11693: case 11694: case 11704: case 11705: case 11706: case 11716: case 11717: case 11718: case 11728: case 11729: case 11730: case 11740: case 11741: case 11742: case 11752: case 11753: case 11754: case 11764: case 11765: case 11766: case 11776: case 11777: case 11778: case 11788: case 11789: case 11790: case 11800: case 11801: case 11802: case 11812: case 11813: case 11814: case 11824: case 11825: case 11826: case 11836: case 11837: case 11838: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 11519: case 11525: case 11531: case 11537: case 11543: case 11549: case 11555: case 11561: case 11567: case 11573: case 11579: case 11585: case 11591: case 11597: case 11603: case 11609: case 11615: case 11621: case 11627: case 11633: case 11639: case 11645: case 11651: case 11657: case 11663: case 11669: case 11675: case 11681: case 11687: case 11693: case 11699: case 11705: case 11711: case 11717: case 11723: case 11729: case 11735: case 11741: case 11747: case 11753: case 11759: case 11765: case 11771: case 11777: case 11783: case 11789: case 11795: case 11801: case 11807: case 11813: case 11819: case 11825: case 11831: case 11837: return West::Low; - case 11518: case 11524: case 11530: case 11536: case 11542: case 11548: case 11554: case 11560: case 11566: case 11572: case 11578: case 11584: case 11590: case 11596: case 11602: case 11608: case 11614: case 11620: case 11626: case 11632: case 11638: case 11644: case 11650: case 11656: case 11662: case 11668: case 11674: case 11680: case 11686: case 11692: case 11698: case 11704: case 11710: case 11716: case 11722: case 11728: case 11734: case 11740: case 11746: case 11752: case 11758: case 11764: case 11770: case 11776: case 11782: case 11788: case 11794: case 11800: case 11806: case 11812: case 11818: case 11824: case 11830: case 11836: return West::None; - default: return West::Tall; - } - } - } - namespace RedShulkerBox - { - BlockState RedShulkerBox() - { - return 9366; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9365: return eBlockFace::BLOCK_FACE_XM; - case 9363: return eBlockFace::BLOCK_FACE_XP; - case 9367: return eBlockFace::BLOCK_FACE_YM; - case 9366: return eBlockFace::BLOCK_FACE_YP; - case 9362: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace RedStainedGlass - { - } - namespace RedStainedGlassPane - { - BlockState RedStainedGlassPane() - { - return 7342; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7329: case 7330: case 7333: case 7334: case 7337: case 7338: case 7341: case 7342: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7321: case 7322: case 7325: case 7326: case 7337: case 7338: case 7341: case 7342: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 7317: case 7318: case 7325: case 7326: case 7333: case 7334: case 7341: case 7342: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 7314: case 7318: case 7322: case 7326: case 7330: case 7334: case 7338: case 7342: return false; - default: return true; - } - } - } - namespace RedTerracotta - { - } - namespace RedTulip - { - } - namespace RedWallBanner - { - BlockState RedWallBanner() - { - return 8209; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8211: return eBlockFace::BLOCK_FACE_XM; - case 8212: return eBlockFace::BLOCK_FACE_XP; - case 8209: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace RedWool - { - } - namespace RedstoneBlock - { - } - namespace RedstoneLamp - { - BlockState RedstoneLamp() - { - return 5157; - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 5157: return false; - default: return true; - } - } - } - namespace RedstoneOre - { - BlockState RedstoneOre() - { - return 3886; - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 3886: return false; - default: return true; - } - } - } - namespace RedstoneTorch - { - BlockState RedstoneTorch() - { - return 3887; - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 3888: return false; - default: return true; - } - } - } - namespace RedstoneWallTorch - { - BlockState RedstoneWallTorch() - { - return 3889; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3893: case 3894: return eBlockFace::BLOCK_FACE_XM; - case 3895: case 3896: return eBlockFace::BLOCK_FACE_XP; - case 3889: case 3890: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 3890: case 3892: case 3894: case 3896: return false; - default: return true; - } - } - } - namespace RedstoneWire - { - BlockState RedstoneWire() - { - return 3218; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 2922: case 2923: case 2924: case 2925: case 2926: case 2927: case 2928: case 2929: case 2930: case 2931: case 2932: case 2933: case 2934: case 2935: case 2936: case 2937: case 2938: case 2939: case 2940: case 2941: case 2942: case 2943: case 2944: case 2945: case 2946: case 2947: case 2948: case 2949: case 2950: case 2951: case 2952: case 2953: case 2954: case 2955: case 2956: case 2957: case 2958: case 2959: case 2960: case 2961: case 2962: case 2963: case 2964: case 2965: case 2966: case 2967: case 2968: case 2969: case 2970: case 2971: case 2972: case 2973: case 2974: case 2975: case 2976: case 2977: case 2978: case 2979: case 2980: case 2981: case 2982: case 2983: case 2984: case 2985: case 2986: case 2987: case 2988: case 2989: case 2990: case 2991: case 2992: case 2993: case 2994: case 2995: case 2996: case 2997: case 2998: case 2999: case 3000: case 3001: case 3002: case 3003: case 3004: case 3005: case 3006: case 3007: case 3008: case 3009: case 3010: case 3011: case 3012: case 3013: case 3014: case 3015: case 3016: case 3017: case 3018: case 3019: case 3020: case 3021: case 3022: case 3023: case 3024: case 3025: case 3026: case 3027: case 3028: case 3029: case 3030: case 3031: case 3032: case 3033: case 3034: case 3035: case 3036: case 3037: case 3038: case 3039: case 3040: case 3041: case 3042: case 3043: case 3044: case 3045: case 3046: case 3047: case 3048: case 3049: case 3050: case 3051: case 3052: case 3053: case 3054: case 3055: case 3056: case 3057: case 3058: case 3059: case 3060: case 3061: case 3062: case 3063: case 3064: case 3065: case 3066: case 3067: case 3068: case 3069: case 3070: case 3071: case 3072: case 3073: case 3074: case 3075: case 3076: case 3077: case 3078: case 3079: case 3080: case 3081: case 3082: case 3083: case 3084: case 3085: case 3086: case 3087: case 3088: case 3089: case 3090: case 3091: case 3092: case 3093: case 3094: case 3095: case 3096: case 3097: case 3098: case 3099: case 3100: case 3101: case 3102: case 3103: case 3104: case 3105: case 3106: case 3107: case 3108: case 3109: case 3110: case 3111: case 3112: case 3113: case 3114: case 3115: case 3116: case 3117: case 3118: case 3119: case 3120: case 3121: case 3122: case 3123: case 3124: case 3125: case 3126: case 3127: case 3128: case 3129: case 3130: case 3131: case 3132: case 3133: case 3134: case 3135: case 3136: case 3137: case 3138: case 3139: case 3140: case 3141: case 3142: case 3143: case 3144: case 3145: case 3146: case 3147: case 3148: case 3149: case 3150: case 3151: case 3152: case 3153: case 3154: case 3155: case 3156: case 3157: case 3158: case 3159: case 3160: case 3161: case 3162: case 3163: case 3164: case 3165: case 3166: case 3167: case 3168: case 3169: case 3170: case 3171: case 3172: case 3173: case 3174: case 3175: case 3176: case 3177: case 3178: case 3179: case 3180: case 3181: case 3182: case 3183: case 3184: case 3185: case 3186: case 3187: case 3188: case 3189: case 3190: case 3191: case 3192: case 3193: case 3194: case 3195: case 3196: case 3197: case 3198: case 3199: case 3200: case 3201: case 3202: case 3203: case 3204: case 3205: case 3206: case 3207: case 3208: case 3209: case 3210: case 3211: case 3212: case 3213: case 3214: case 3215: case 3216: case 3217: case 3218: case 3219: case 3220: case 3221: case 3222: case 3223: case 3224: case 3225: case 3226: case 3227: case 3228: case 3229: case 3230: case 3231: case 3232: case 3233: case 3234: case 3235: case 3236: case 3237: case 3238: case 3239: case 3240: case 3241: case 3242: case 3243: case 3244: case 3245: case 3246: case 3247: case 3248: case 3249: case 3250: case 3251: case 3252: case 3253: case 3254: case 3255: case 3256: case 3257: case 3258: case 3259: case 3260: case 3261: case 3262: case 3263: case 3264: case 3265: case 3266: case 3267: case 3268: case 3269: case 3270: case 3271: case 3272: case 3273: case 3274: case 3275: case 3276: case 3277: case 3278: case 3279: case 3280: case 3281: case 3282: case 3283: case 3284: case 3285: case 3286: case 3287: case 3288: case 3289: case 3290: case 3291: case 3292: case 3293: case 3294: case 3295: case 3296: case 3297: case 3298: case 3299: case 3300: case 3301: case 3302: case 3303: case 3304: case 3305: case 3306: case 3307: case 3308: case 3309: case 3310: case 3311: case 3312: case 3313: case 3314: case 3315: case 3316: case 3317: case 3318: case 3319: case 3320: case 3321: case 3322: case 3323: case 3324: case 3325: case 3326: case 3327: case 3328: case 3329: case 3330: case 3331: case 3332: case 3333: case 3334: case 3335: case 3336: case 3337: case 3338: case 3339: case 3340: case 3341: case 3342: case 3343: case 3344: case 3345: case 3346: case 3347: case 3348: case 3349: case 3350: case 3351: case 3352: case 3353: return East::None; - case 2490: case 2491: case 2492: case 2493: case 2494: case 2495: case 2496: case 2497: case 2498: case 2499: case 2500: case 2501: case 2502: case 2503: case 2504: case 2505: case 2506: case 2507: case 2508: case 2509: case 2510: case 2511: case 2512: case 2513: case 2514: case 2515: case 2516: case 2517: case 2518: case 2519: case 2520: case 2521: case 2522: case 2523: case 2524: case 2525: case 2526: case 2527: case 2528: case 2529: case 2530: case 2531: case 2532: case 2533: case 2534: case 2535: case 2536: case 2537: case 2538: case 2539: case 2540: case 2541: case 2542: case 2543: case 2544: case 2545: case 2546: case 2547: case 2548: case 2549: case 2550: case 2551: case 2552: case 2553: case 2554: case 2555: case 2556: case 2557: case 2558: case 2559: case 2560: case 2561: case 2562: case 2563: case 2564: case 2565: case 2566: case 2567: case 2568: case 2569: case 2570: case 2571: case 2572: case 2573: case 2574: case 2575: case 2576: case 2577: case 2578: case 2579: case 2580: case 2581: case 2582: case 2583: case 2584: case 2585: case 2586: case 2587: case 2588: case 2589: case 2590: case 2591: case 2592: case 2593: case 2594: case 2595: case 2596: case 2597: case 2598: case 2599: case 2600: case 2601: case 2602: case 2603: case 2604: case 2605: case 2606: case 2607: case 2608: case 2609: case 2610: case 2611: case 2612: case 2613: case 2614: case 2615: case 2616: case 2617: case 2618: case 2619: case 2620: case 2621: case 2622: case 2623: case 2624: case 2625: case 2626: case 2627: case 2628: case 2629: case 2630: case 2631: case 2632: case 2633: case 2634: case 2635: case 2636: case 2637: case 2638: case 2639: case 2640: case 2641: case 2642: case 2643: case 2644: case 2645: case 2646: case 2647: case 2648: case 2649: case 2650: case 2651: case 2652: case 2653: case 2654: case 2655: case 2656: case 2657: case 2658: case 2659: case 2660: case 2661: case 2662: case 2663: case 2664: case 2665: case 2666: case 2667: case 2668: case 2669: case 2670: case 2671: case 2672: case 2673: case 2674: case 2675: case 2676: case 2677: case 2678: case 2679: case 2680: case 2681: case 2682: case 2683: case 2684: case 2685: case 2686: case 2687: case 2688: case 2689: case 2690: case 2691: case 2692: case 2693: case 2694: case 2695: case 2696: case 2697: case 2698: case 2699: case 2700: case 2701: case 2702: case 2703: case 2704: case 2705: case 2706: case 2707: case 2708: case 2709: case 2710: case 2711: case 2712: case 2713: case 2714: case 2715: case 2716: case 2717: case 2718: case 2719: case 2720: case 2721: case 2722: case 2723: case 2724: case 2725: case 2726: case 2727: case 2728: case 2729: case 2730: case 2731: case 2732: case 2733: case 2734: case 2735: case 2736: case 2737: case 2738: case 2739: case 2740: case 2741: case 2742: case 2743: case 2744: case 2745: case 2746: case 2747: case 2748: case 2749: case 2750: case 2751: case 2752: case 2753: case 2754: case 2755: case 2756: case 2757: case 2758: case 2759: case 2760: case 2761: case 2762: case 2763: case 2764: case 2765: case 2766: case 2767: case 2768: case 2769: case 2770: case 2771: case 2772: case 2773: case 2774: case 2775: case 2776: case 2777: case 2778: case 2779: case 2780: case 2781: case 2782: case 2783: case 2784: case 2785: case 2786: case 2787: case 2788: case 2789: case 2790: case 2791: case 2792: case 2793: case 2794: case 2795: case 2796: case 2797: case 2798: case 2799: case 2800: case 2801: case 2802: case 2803: case 2804: case 2805: case 2806: case 2807: case 2808: case 2809: case 2810: case 2811: case 2812: case 2813: case 2814: case 2815: case 2816: case 2817: case 2818: case 2819: case 2820: case 2821: case 2822: case 2823: case 2824: case 2825: case 2826: case 2827: case 2828: case 2829: case 2830: case 2831: case 2832: case 2833: case 2834: case 2835: case 2836: case 2837: case 2838: case 2839: case 2840: case 2841: case 2842: case 2843: case 2844: case 2845: case 2846: case 2847: case 2848: case 2849: case 2850: case 2851: case 2852: case 2853: case 2854: case 2855: case 2856: case 2857: case 2858: case 2859: case 2860: case 2861: case 2862: case 2863: case 2864: case 2865: case 2866: case 2867: case 2868: case 2869: case 2870: case 2871: case 2872: case 2873: case 2874: case 2875: case 2876: case 2877: case 2878: case 2879: case 2880: case 2881: case 2882: case 2883: case 2884: case 2885: case 2886: case 2887: case 2888: case 2889: case 2890: case 2891: case 2892: case 2893: case 2894: case 2895: case 2896: case 2897: case 2898: case 2899: case 2900: case 2901: case 2902: case 2903: case 2904: case 2905: case 2906: case 2907: case 2908: case 2909: case 2910: case 2911: case 2912: case 2913: case 2914: case 2915: case 2916: case 2917: case 2918: case 2919: case 2920: case 2921: return East::Side; - default: return East::Up; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 2346: case 2347: case 2348: case 2349: case 2350: case 2351: case 2352: case 2353: case 2354: case 2355: case 2356: case 2357: case 2358: case 2359: case 2360: case 2361: case 2362: case 2363: case 2364: case 2365: case 2366: case 2367: case 2368: case 2369: case 2370: case 2371: case 2372: case 2373: case 2374: case 2375: case 2376: case 2377: case 2378: case 2379: case 2380: case 2381: case 2382: case 2383: case 2384: case 2385: case 2386: case 2387: case 2388: case 2389: case 2390: case 2391: case 2392: case 2393: case 2394: case 2395: case 2396: case 2397: case 2398: case 2399: case 2400: case 2401: case 2402: case 2403: case 2404: case 2405: case 2406: case 2407: case 2408: case 2409: case 2410: case 2411: case 2412: case 2413: case 2414: case 2415: case 2416: case 2417: case 2418: case 2419: case 2420: case 2421: case 2422: case 2423: case 2424: case 2425: case 2426: case 2427: case 2428: case 2429: case 2430: case 2431: case 2432: case 2433: case 2434: case 2435: case 2436: case 2437: case 2438: case 2439: case 2440: case 2441: case 2442: case 2443: case 2444: case 2445: case 2446: case 2447: case 2448: case 2449: case 2450: case 2451: case 2452: case 2453: case 2454: case 2455: case 2456: case 2457: case 2458: case 2459: case 2460: case 2461: case 2462: case 2463: case 2464: case 2465: case 2466: case 2467: case 2468: case 2469: case 2470: case 2471: case 2472: case 2473: case 2474: case 2475: case 2476: case 2477: case 2478: case 2479: case 2480: case 2481: case 2482: case 2483: case 2484: case 2485: case 2486: case 2487: case 2488: case 2489: case 2778: case 2779: case 2780: case 2781: case 2782: case 2783: case 2784: case 2785: case 2786: case 2787: case 2788: case 2789: case 2790: case 2791: case 2792: case 2793: case 2794: case 2795: case 2796: case 2797: case 2798: case 2799: case 2800: case 2801: case 2802: case 2803: case 2804: case 2805: case 2806: case 2807: case 2808: case 2809: case 2810: case 2811: case 2812: case 2813: case 2814: case 2815: case 2816: case 2817: case 2818: case 2819: case 2820: case 2821: case 2822: case 2823: case 2824: case 2825: case 2826: case 2827: case 2828: case 2829: case 2830: case 2831: case 2832: case 2833: case 2834: case 2835: case 2836: case 2837: case 2838: case 2839: case 2840: case 2841: case 2842: case 2843: case 2844: case 2845: case 2846: case 2847: case 2848: case 2849: case 2850: case 2851: case 2852: case 2853: case 2854: case 2855: case 2856: case 2857: case 2858: case 2859: case 2860: case 2861: case 2862: case 2863: case 2864: case 2865: case 2866: case 2867: case 2868: case 2869: case 2870: case 2871: case 2872: case 2873: case 2874: case 2875: case 2876: case 2877: case 2878: case 2879: case 2880: case 2881: case 2882: case 2883: case 2884: case 2885: case 2886: case 2887: case 2888: case 2889: case 2890: case 2891: case 2892: case 2893: case 2894: case 2895: case 2896: case 2897: case 2898: case 2899: case 2900: case 2901: case 2902: case 2903: case 2904: case 2905: case 2906: case 2907: case 2908: case 2909: case 2910: case 2911: case 2912: case 2913: case 2914: case 2915: case 2916: case 2917: case 2918: case 2919: case 2920: case 2921: case 3210: case 3211: case 3212: case 3213: case 3214: case 3215: case 3216: case 3217: case 3218: case 3219: case 3220: case 3221: case 3222: case 3223: case 3224: case 3225: case 3226: case 3227: case 3228: case 3229: case 3230: case 3231: case 3232: case 3233: case 3234: case 3235: case 3236: case 3237: case 3238: case 3239: case 3240: case 3241: case 3242: case 3243: case 3244: case 3245: case 3246: case 3247: case 3248: case 3249: case 3250: case 3251: case 3252: case 3253: case 3254: case 3255: case 3256: case 3257: case 3258: case 3259: case 3260: case 3261: case 3262: case 3263: case 3264: case 3265: case 3266: case 3267: case 3268: case 3269: case 3270: case 3271: case 3272: case 3273: case 3274: case 3275: case 3276: case 3277: case 3278: case 3279: case 3280: case 3281: case 3282: case 3283: case 3284: case 3285: case 3286: case 3287: case 3288: case 3289: case 3290: case 3291: case 3292: case 3293: case 3294: case 3295: case 3296: case 3297: case 3298: case 3299: case 3300: case 3301: case 3302: case 3303: case 3304: case 3305: case 3306: case 3307: case 3308: case 3309: case 3310: case 3311: case 3312: case 3313: case 3314: case 3315: case 3316: case 3317: case 3318: case 3319: case 3320: case 3321: case 3322: case 3323: case 3324: case 3325: case 3326: case 3327: case 3328: case 3329: case 3330: case 3331: case 3332: case 3333: case 3334: case 3335: case 3336: case 3337: case 3338: case 3339: case 3340: case 3341: case 3342: case 3343: case 3344: case 3345: case 3346: case 3347: case 3348: case 3349: case 3350: case 3351: case 3352: case 3353: return North::None; - case 2202: case 2203: case 2204: case 2205: case 2206: case 2207: case 2208: case 2209: case 2210: case 2211: case 2212: case 2213: case 2214: case 2215: case 2216: case 2217: case 2218: case 2219: case 2220: case 2221: case 2222: case 2223: case 2224: case 2225: case 2226: case 2227: case 2228: case 2229: case 2230: case 2231: case 2232: case 2233: case 2234: case 2235: case 2236: case 2237: case 2238: case 2239: case 2240: case 2241: case 2242: case 2243: case 2244: case 2245: case 2246: case 2247: case 2248: case 2249: case 2250: case 2251: case 2252: case 2253: case 2254: case 2255: case 2256: case 2257: case 2258: case 2259: case 2260: case 2261: case 2262: case 2263: case 2264: case 2265: case 2266: case 2267: case 2268: case 2269: case 2270: case 2271: case 2272: case 2273: case 2274: case 2275: case 2276: case 2277: case 2278: case 2279: case 2280: case 2281: case 2282: case 2283: case 2284: case 2285: case 2286: case 2287: case 2288: case 2289: case 2290: case 2291: case 2292: case 2293: case 2294: case 2295: case 2296: case 2297: case 2298: case 2299: case 2300: case 2301: case 2302: case 2303: case 2304: case 2305: case 2306: case 2307: case 2308: case 2309: case 2310: case 2311: case 2312: case 2313: case 2314: case 2315: case 2316: case 2317: case 2318: case 2319: case 2320: case 2321: case 2322: case 2323: case 2324: case 2325: case 2326: case 2327: case 2328: case 2329: case 2330: case 2331: case 2332: case 2333: case 2334: case 2335: case 2336: case 2337: case 2338: case 2339: case 2340: case 2341: case 2342: case 2343: case 2344: case 2345: case 2634: case 2635: case 2636: case 2637: case 2638: case 2639: case 2640: case 2641: case 2642: case 2643: case 2644: case 2645: case 2646: case 2647: case 2648: case 2649: case 2650: case 2651: case 2652: case 2653: case 2654: case 2655: case 2656: case 2657: case 2658: case 2659: case 2660: case 2661: case 2662: case 2663: case 2664: case 2665: case 2666: case 2667: case 2668: case 2669: case 2670: case 2671: case 2672: case 2673: case 2674: case 2675: case 2676: case 2677: case 2678: case 2679: case 2680: case 2681: case 2682: case 2683: case 2684: case 2685: case 2686: case 2687: case 2688: case 2689: case 2690: case 2691: case 2692: case 2693: case 2694: case 2695: case 2696: case 2697: case 2698: case 2699: case 2700: case 2701: case 2702: case 2703: case 2704: case 2705: case 2706: case 2707: case 2708: case 2709: case 2710: case 2711: case 2712: case 2713: case 2714: case 2715: case 2716: case 2717: case 2718: case 2719: case 2720: case 2721: case 2722: case 2723: case 2724: case 2725: case 2726: case 2727: case 2728: case 2729: case 2730: case 2731: case 2732: case 2733: case 2734: case 2735: case 2736: case 2737: case 2738: case 2739: case 2740: case 2741: case 2742: case 2743: case 2744: case 2745: case 2746: case 2747: case 2748: case 2749: case 2750: case 2751: case 2752: case 2753: case 2754: case 2755: case 2756: case 2757: case 2758: case 2759: case 2760: case 2761: case 2762: case 2763: case 2764: case 2765: case 2766: case 2767: case 2768: case 2769: case 2770: case 2771: case 2772: case 2773: case 2774: case 2775: case 2776: case 2777: case 3066: case 3067: case 3068: case 3069: case 3070: case 3071: case 3072: case 3073: case 3074: case 3075: case 3076: case 3077: case 3078: case 3079: case 3080: case 3081: case 3082: case 3083: case 3084: case 3085: case 3086: case 3087: case 3088: case 3089: case 3090: case 3091: case 3092: case 3093: case 3094: case 3095: case 3096: case 3097: case 3098: case 3099: case 3100: case 3101: case 3102: case 3103: case 3104: case 3105: case 3106: case 3107: case 3108: case 3109: case 3110: case 3111: case 3112: case 3113: case 3114: case 3115: case 3116: case 3117: case 3118: case 3119: case 3120: case 3121: case 3122: case 3123: case 3124: case 3125: case 3126: case 3127: case 3128: case 3129: case 3130: case 3131: case 3132: case 3133: case 3134: case 3135: case 3136: case 3137: case 3138: case 3139: case 3140: case 3141: case 3142: case 3143: case 3144: case 3145: case 3146: case 3147: case 3148: case 3149: case 3150: case 3151: case 3152: case 3153: case 3154: case 3155: case 3156: case 3157: case 3158: case 3159: case 3160: case 3161: case 3162: case 3163: case 3164: case 3165: case 3166: case 3167: case 3168: case 3169: case 3170: case 3171: case 3172: case 3173: case 3174: case 3175: case 3176: case 3177: case 3178: case 3179: case 3180: case 3181: case 3182: case 3183: case 3184: case 3185: case 3186: case 3187: case 3188: case 3189: case 3190: case 3191: case 3192: case 3193: case 3194: case 3195: case 3196: case 3197: case 3198: case 3199: case 3200: case 3201: case 3202: case 3203: case 3204: case 3205: case 3206: case 3207: case 3208: case 3209: return North::Side; - default: return North::Up; - } - } - unsigned char Power(const BlockState Block) - { - switch (Block.ID) - { - case 2058: case 2059: case 2060: case 2061: case 2062: case 2063: case 2064: case 2065: case 2066: case 2202: case 2203: case 2204: case 2205: case 2206: case 2207: case 2208: case 2209: case 2210: case 2346: case 2347: case 2348: case 2349: case 2350: case 2351: case 2352: case 2353: case 2354: case 2490: case 2491: case 2492: case 2493: case 2494: case 2495: case 2496: case 2497: case 2498: case 2634: case 2635: case 2636: case 2637: case 2638: case 2639: case 2640: case 2641: case 2642: case 2778: case 2779: case 2780: case 2781: case 2782: case 2783: case 2784: case 2785: case 2786: case 2922: case 2923: case 2924: case 2925: case 2926: case 2927: case 2928: case 2929: case 2930: case 3066: case 3067: case 3068: case 3069: case 3070: case 3071: case 3072: case 3073: case 3074: case 3210: case 3211: case 3212: case 3213: case 3214: case 3215: case 3216: case 3217: case 3218: return 0; - case 2067: case 2068: case 2069: case 2070: case 2071: case 2072: case 2073: case 2074: case 2075: case 2211: case 2212: case 2213: case 2214: case 2215: case 2216: case 2217: case 2218: case 2219: case 2355: case 2356: case 2357: case 2358: case 2359: case 2360: case 2361: case 2362: case 2363: case 2499: case 2500: case 2501: case 2502: case 2503: case 2504: case 2505: case 2506: case 2507: case 2643: case 2644: case 2645: case 2646: case 2647: case 2648: case 2649: case 2650: case 2651: case 2787: case 2788: case 2789: case 2790: case 2791: case 2792: case 2793: case 2794: case 2795: case 2931: case 2932: case 2933: case 2934: case 2935: case 2936: case 2937: case 2938: case 2939: case 3075: case 3076: case 3077: case 3078: case 3079: case 3080: case 3081: case 3082: case 3083: case 3219: case 3220: case 3221: case 3222: case 3223: case 3224: case 3225: case 3226: case 3227: return 1; - case 2148: case 2149: case 2150: case 2151: case 2152: case 2153: case 2154: case 2155: case 2156: case 2292: case 2293: case 2294: case 2295: case 2296: case 2297: case 2298: case 2299: case 2300: case 2436: case 2437: case 2438: case 2439: case 2440: case 2441: case 2442: case 2443: case 2444: case 2580: case 2581: case 2582: case 2583: case 2584: case 2585: case 2586: case 2587: case 2588: case 2724: case 2725: case 2726: case 2727: case 2728: case 2729: case 2730: case 2731: case 2732: case 2868: case 2869: case 2870: case 2871: case 2872: case 2873: case 2874: case 2875: case 2876: case 3012: case 3013: case 3014: case 3015: case 3016: case 3017: case 3018: case 3019: case 3020: case 3156: case 3157: case 3158: case 3159: case 3160: case 3161: case 3162: case 3163: case 3164: case 3300: case 3301: case 3302: case 3303: case 3304: case 3305: case 3306: case 3307: case 3308: return 10; - case 2157: case 2158: case 2159: case 2160: case 2161: case 2162: case 2163: case 2164: case 2165: case 2301: case 2302: case 2303: case 2304: case 2305: case 2306: case 2307: case 2308: case 2309: case 2445: case 2446: case 2447: case 2448: case 2449: case 2450: case 2451: case 2452: case 2453: case 2589: case 2590: case 2591: case 2592: case 2593: case 2594: case 2595: case 2596: case 2597: case 2733: case 2734: case 2735: case 2736: case 2737: case 2738: case 2739: case 2740: case 2741: case 2877: case 2878: case 2879: case 2880: case 2881: case 2882: case 2883: case 2884: case 2885: case 3021: case 3022: case 3023: case 3024: case 3025: case 3026: case 3027: case 3028: case 3029: case 3165: case 3166: case 3167: case 3168: case 3169: case 3170: case 3171: case 3172: case 3173: case 3309: case 3310: case 3311: case 3312: case 3313: case 3314: case 3315: case 3316: case 3317: return 11; - case 2166: case 2167: case 2168: case 2169: case 2170: case 2171: case 2172: case 2173: case 2174: case 2310: case 2311: case 2312: case 2313: case 2314: case 2315: case 2316: case 2317: case 2318: case 2454: case 2455: case 2456: case 2457: case 2458: case 2459: case 2460: case 2461: case 2462: case 2598: case 2599: case 2600: case 2601: case 2602: case 2603: case 2604: case 2605: case 2606: case 2742: case 2743: case 2744: case 2745: case 2746: case 2747: case 2748: case 2749: case 2750: case 2886: case 2887: case 2888: case 2889: case 2890: case 2891: case 2892: case 2893: case 2894: case 3030: case 3031: case 3032: case 3033: case 3034: case 3035: case 3036: case 3037: case 3038: case 3174: case 3175: case 3176: case 3177: case 3178: case 3179: case 3180: case 3181: case 3182: case 3318: case 3319: case 3320: case 3321: case 3322: case 3323: case 3324: case 3325: case 3326: return 12; - case 2175: case 2176: case 2177: case 2178: case 2179: case 2180: case 2181: case 2182: case 2183: case 2319: case 2320: case 2321: case 2322: case 2323: case 2324: case 2325: case 2326: case 2327: case 2463: case 2464: case 2465: case 2466: case 2467: case 2468: case 2469: case 2470: case 2471: case 2607: case 2608: case 2609: case 2610: case 2611: case 2612: case 2613: case 2614: case 2615: case 2751: case 2752: case 2753: case 2754: case 2755: case 2756: case 2757: case 2758: case 2759: case 2895: case 2896: case 2897: case 2898: case 2899: case 2900: case 2901: case 2902: case 2903: case 3039: case 3040: case 3041: case 3042: case 3043: case 3044: case 3045: case 3046: case 3047: case 3183: case 3184: case 3185: case 3186: case 3187: case 3188: case 3189: case 3190: case 3191: case 3327: case 3328: case 3329: case 3330: case 3331: case 3332: case 3333: case 3334: case 3335: return 13; - case 2184: case 2185: case 2186: case 2187: case 2188: case 2189: case 2190: case 2191: case 2192: case 2328: case 2329: case 2330: case 2331: case 2332: case 2333: case 2334: case 2335: case 2336: case 2472: case 2473: case 2474: case 2475: case 2476: case 2477: case 2478: case 2479: case 2480: case 2616: case 2617: case 2618: case 2619: case 2620: case 2621: case 2622: case 2623: case 2624: case 2760: case 2761: case 2762: case 2763: case 2764: case 2765: case 2766: case 2767: case 2768: case 2904: case 2905: case 2906: case 2907: case 2908: case 2909: case 2910: case 2911: case 2912: case 3048: case 3049: case 3050: case 3051: case 3052: case 3053: case 3054: case 3055: case 3056: case 3192: case 3193: case 3194: case 3195: case 3196: case 3197: case 3198: case 3199: case 3200: case 3336: case 3337: case 3338: case 3339: case 3340: case 3341: case 3342: case 3343: case 3344: return 14; - case 2193: case 2194: case 2195: case 2196: case 2197: case 2198: case 2199: case 2200: case 2201: case 2337: case 2338: case 2339: case 2340: case 2341: case 2342: case 2343: case 2344: case 2345: case 2481: case 2482: case 2483: case 2484: case 2485: case 2486: case 2487: case 2488: case 2489: case 2625: case 2626: case 2627: case 2628: case 2629: case 2630: case 2631: case 2632: case 2633: case 2769: case 2770: case 2771: case 2772: case 2773: case 2774: case 2775: case 2776: case 2777: case 2913: case 2914: case 2915: case 2916: case 2917: case 2918: case 2919: case 2920: case 2921: case 3057: case 3058: case 3059: case 3060: case 3061: case 3062: case 3063: case 3064: case 3065: case 3201: case 3202: case 3203: case 3204: case 3205: case 3206: case 3207: case 3208: case 3209: case 3345: case 3346: case 3347: case 3348: case 3349: case 3350: case 3351: case 3352: case 3353: return 15; - case 2076: case 2077: case 2078: case 2079: case 2080: case 2081: case 2082: case 2083: case 2084: case 2220: case 2221: case 2222: case 2223: case 2224: case 2225: case 2226: case 2227: case 2228: case 2364: case 2365: case 2366: case 2367: case 2368: case 2369: case 2370: case 2371: case 2372: case 2508: case 2509: case 2510: case 2511: case 2512: case 2513: case 2514: case 2515: case 2516: case 2652: case 2653: case 2654: case 2655: case 2656: case 2657: case 2658: case 2659: case 2660: case 2796: case 2797: case 2798: case 2799: case 2800: case 2801: case 2802: case 2803: case 2804: case 2940: case 2941: case 2942: case 2943: case 2944: case 2945: case 2946: case 2947: case 2948: case 3084: case 3085: case 3086: case 3087: case 3088: case 3089: case 3090: case 3091: case 3092: case 3228: case 3229: case 3230: case 3231: case 3232: case 3233: case 3234: case 3235: case 3236: return 2; - case 2085: case 2086: case 2087: case 2088: case 2089: case 2090: case 2091: case 2092: case 2093: case 2229: case 2230: case 2231: case 2232: case 2233: case 2234: case 2235: case 2236: case 2237: case 2373: case 2374: case 2375: case 2376: case 2377: case 2378: case 2379: case 2380: case 2381: case 2517: case 2518: case 2519: case 2520: case 2521: case 2522: case 2523: case 2524: case 2525: case 2661: case 2662: case 2663: case 2664: case 2665: case 2666: case 2667: case 2668: case 2669: case 2805: case 2806: case 2807: case 2808: case 2809: case 2810: case 2811: case 2812: case 2813: case 2949: case 2950: case 2951: case 2952: case 2953: case 2954: case 2955: case 2956: case 2957: case 3093: case 3094: case 3095: case 3096: case 3097: case 3098: case 3099: case 3100: case 3101: case 3237: case 3238: case 3239: case 3240: case 3241: case 3242: case 3243: case 3244: case 3245: return 3; - case 2094: case 2095: case 2096: case 2097: case 2098: case 2099: case 2100: case 2101: case 2102: case 2238: case 2239: case 2240: case 2241: case 2242: case 2243: case 2244: case 2245: case 2246: case 2382: case 2383: case 2384: case 2385: case 2386: case 2387: case 2388: case 2389: case 2390: case 2526: case 2527: case 2528: case 2529: case 2530: case 2531: case 2532: case 2533: case 2534: case 2670: case 2671: case 2672: case 2673: case 2674: case 2675: case 2676: case 2677: case 2678: case 2814: case 2815: case 2816: case 2817: case 2818: case 2819: case 2820: case 2821: case 2822: case 2958: case 2959: case 2960: case 2961: case 2962: case 2963: case 2964: case 2965: case 2966: case 3102: case 3103: case 3104: case 3105: case 3106: case 3107: case 3108: case 3109: case 3110: case 3246: case 3247: case 3248: case 3249: case 3250: case 3251: case 3252: case 3253: case 3254: return 4; - case 2103: case 2104: case 2105: case 2106: case 2107: case 2108: case 2109: case 2110: case 2111: case 2247: case 2248: case 2249: case 2250: case 2251: case 2252: case 2253: case 2254: case 2255: case 2391: case 2392: case 2393: case 2394: case 2395: case 2396: case 2397: case 2398: case 2399: case 2535: case 2536: case 2537: case 2538: case 2539: case 2540: case 2541: case 2542: case 2543: case 2679: case 2680: case 2681: case 2682: case 2683: case 2684: case 2685: case 2686: case 2687: case 2823: case 2824: case 2825: case 2826: case 2827: case 2828: case 2829: case 2830: case 2831: case 2967: case 2968: case 2969: case 2970: case 2971: case 2972: case 2973: case 2974: case 2975: case 3111: case 3112: case 3113: case 3114: case 3115: case 3116: case 3117: case 3118: case 3119: case 3255: case 3256: case 3257: case 3258: case 3259: case 3260: case 3261: case 3262: case 3263: return 5; - case 2112: case 2113: case 2114: case 2115: case 2116: case 2117: case 2118: case 2119: case 2120: case 2256: case 2257: case 2258: case 2259: case 2260: case 2261: case 2262: case 2263: case 2264: case 2400: case 2401: case 2402: case 2403: case 2404: case 2405: case 2406: case 2407: case 2408: case 2544: case 2545: case 2546: case 2547: case 2548: case 2549: case 2550: case 2551: case 2552: case 2688: case 2689: case 2690: case 2691: case 2692: case 2693: case 2694: case 2695: case 2696: case 2832: case 2833: case 2834: case 2835: case 2836: case 2837: case 2838: case 2839: case 2840: case 2976: case 2977: case 2978: case 2979: case 2980: case 2981: case 2982: case 2983: case 2984: case 3120: case 3121: case 3122: case 3123: case 3124: case 3125: case 3126: case 3127: case 3128: case 3264: case 3265: case 3266: case 3267: case 3268: case 3269: case 3270: case 3271: case 3272: return 6; - case 2121: case 2122: case 2123: case 2124: case 2125: case 2126: case 2127: case 2128: case 2129: case 2265: case 2266: case 2267: case 2268: case 2269: case 2270: case 2271: case 2272: case 2273: case 2409: case 2410: case 2411: case 2412: case 2413: case 2414: case 2415: case 2416: case 2417: case 2553: case 2554: case 2555: case 2556: case 2557: case 2558: case 2559: case 2560: case 2561: case 2697: case 2698: case 2699: case 2700: case 2701: case 2702: case 2703: case 2704: case 2705: case 2841: case 2842: case 2843: case 2844: case 2845: case 2846: case 2847: case 2848: case 2849: case 2985: case 2986: case 2987: case 2988: case 2989: case 2990: case 2991: case 2992: case 2993: case 3129: case 3130: case 3131: case 3132: case 3133: case 3134: case 3135: case 3136: case 3137: case 3273: case 3274: case 3275: case 3276: case 3277: case 3278: case 3279: case 3280: case 3281: return 7; - case 2130: case 2131: case 2132: case 2133: case 2134: case 2135: case 2136: case 2137: case 2138: case 2274: case 2275: case 2276: case 2277: case 2278: case 2279: case 2280: case 2281: case 2282: case 2418: case 2419: case 2420: case 2421: case 2422: case 2423: case 2424: case 2425: case 2426: case 2562: case 2563: case 2564: case 2565: case 2566: case 2567: case 2568: case 2569: case 2570: case 2706: case 2707: case 2708: case 2709: case 2710: case 2711: case 2712: case 2713: case 2714: case 2850: case 2851: case 2852: case 2853: case 2854: case 2855: case 2856: case 2857: case 2858: case 2994: case 2995: case 2996: case 2997: case 2998: case 2999: case 3000: case 3001: case 3002: case 3138: case 3139: case 3140: case 3141: case 3142: case 3143: case 3144: case 3145: case 3146: case 3282: case 3283: case 3284: case 3285: case 3286: case 3287: case 3288: case 3289: case 3290: return 8; - default: return 9; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 2064: case 2065: case 2066: case 2073: case 2074: case 2075: case 2082: case 2083: case 2084: case 2091: case 2092: case 2093: case 2100: case 2101: case 2102: case 2109: case 2110: case 2111: case 2118: case 2119: case 2120: case 2127: case 2128: case 2129: case 2136: case 2137: case 2138: case 2145: case 2146: case 2147: case 2154: case 2155: case 2156: case 2163: case 2164: case 2165: case 2172: case 2173: case 2174: case 2181: case 2182: case 2183: case 2190: case 2191: case 2192: case 2199: case 2200: case 2201: case 2208: case 2209: case 2210: case 2217: case 2218: case 2219: case 2226: case 2227: case 2228: case 2235: case 2236: case 2237: case 2244: case 2245: case 2246: case 2253: case 2254: case 2255: case 2262: case 2263: case 2264: case 2271: case 2272: case 2273: case 2280: case 2281: case 2282: case 2289: case 2290: case 2291: case 2298: case 2299: case 2300: case 2307: case 2308: case 2309: case 2316: case 2317: case 2318: case 2325: case 2326: case 2327: case 2334: case 2335: case 2336: case 2343: case 2344: case 2345: case 2352: case 2353: case 2354: case 2361: case 2362: case 2363: case 2370: case 2371: case 2372: case 2379: case 2380: case 2381: case 2388: case 2389: case 2390: case 2397: case 2398: case 2399: case 2406: case 2407: case 2408: case 2415: case 2416: case 2417: case 2424: case 2425: case 2426: case 2433: case 2434: case 2435: case 2442: case 2443: case 2444: case 2451: case 2452: case 2453: case 2460: case 2461: case 2462: case 2469: case 2470: case 2471: case 2478: case 2479: case 2480: case 2487: case 2488: case 2489: case 2496: case 2497: case 2498: case 2505: case 2506: case 2507: case 2514: case 2515: case 2516: case 2523: case 2524: case 2525: case 2532: case 2533: case 2534: case 2541: case 2542: case 2543: case 2550: case 2551: case 2552: case 2559: case 2560: case 2561: case 2568: case 2569: case 2570: case 2577: case 2578: case 2579: case 2586: case 2587: case 2588: case 2595: case 2596: case 2597: case 2604: case 2605: case 2606: case 2613: case 2614: case 2615: case 2622: case 2623: case 2624: case 2631: case 2632: case 2633: case 2640: case 2641: case 2642: case 2649: case 2650: case 2651: case 2658: case 2659: case 2660: case 2667: case 2668: case 2669: case 2676: case 2677: case 2678: case 2685: case 2686: case 2687: case 2694: case 2695: case 2696: case 2703: case 2704: case 2705: case 2712: case 2713: case 2714: case 2721: case 2722: case 2723: case 2730: case 2731: case 2732: case 2739: case 2740: case 2741: case 2748: case 2749: case 2750: case 2757: case 2758: case 2759: case 2766: case 2767: case 2768: case 2775: case 2776: case 2777: case 2784: case 2785: case 2786: case 2793: case 2794: case 2795: case 2802: case 2803: case 2804: case 2811: case 2812: case 2813: case 2820: case 2821: case 2822: case 2829: case 2830: case 2831: case 2838: case 2839: case 2840: case 2847: case 2848: case 2849: case 2856: case 2857: case 2858: case 2865: case 2866: case 2867: case 2874: case 2875: case 2876: case 2883: case 2884: case 2885: case 2892: case 2893: case 2894: case 2901: case 2902: case 2903: case 2910: case 2911: case 2912: case 2919: case 2920: case 2921: case 2928: case 2929: case 2930: case 2937: case 2938: case 2939: case 2946: case 2947: case 2948: case 2955: case 2956: case 2957: case 2964: case 2965: case 2966: case 2973: case 2974: case 2975: case 2982: case 2983: case 2984: case 2991: case 2992: case 2993: case 3000: case 3001: case 3002: case 3009: case 3010: case 3011: case 3018: case 3019: case 3020: case 3027: case 3028: case 3029: case 3036: case 3037: case 3038: case 3045: case 3046: case 3047: case 3054: case 3055: case 3056: case 3063: case 3064: case 3065: case 3072: case 3073: case 3074: case 3081: case 3082: case 3083: case 3090: case 3091: case 3092: case 3099: case 3100: case 3101: case 3108: case 3109: case 3110: case 3117: case 3118: case 3119: case 3126: case 3127: case 3128: case 3135: case 3136: case 3137: case 3144: case 3145: case 3146: case 3153: case 3154: case 3155: case 3162: case 3163: case 3164: case 3171: case 3172: case 3173: case 3180: case 3181: case 3182: case 3189: case 3190: case 3191: case 3198: case 3199: case 3200: case 3207: case 3208: case 3209: case 3216: case 3217: case 3218: case 3225: case 3226: case 3227: case 3234: case 3235: case 3236: case 3243: case 3244: case 3245: case 3252: case 3253: case 3254: case 3261: case 3262: case 3263: case 3270: case 3271: case 3272: case 3279: case 3280: case 3281: case 3288: case 3289: case 3290: case 3297: case 3298: case 3299: case 3306: case 3307: case 3308: case 3315: case 3316: case 3317: case 3324: case 3325: case 3326: case 3333: case 3334: case 3335: case 3342: case 3343: case 3344: case 3351: case 3352: case 3353: return South::None; - case 2061: case 2062: case 2063: case 2070: case 2071: case 2072: case 2079: case 2080: case 2081: case 2088: case 2089: case 2090: case 2097: case 2098: case 2099: case 2106: case 2107: case 2108: case 2115: case 2116: case 2117: case 2124: case 2125: case 2126: case 2133: case 2134: case 2135: case 2142: case 2143: case 2144: case 2151: case 2152: case 2153: case 2160: case 2161: case 2162: case 2169: case 2170: case 2171: case 2178: case 2179: case 2180: case 2187: case 2188: case 2189: case 2196: case 2197: case 2198: case 2205: case 2206: case 2207: case 2214: case 2215: case 2216: case 2223: case 2224: case 2225: case 2232: case 2233: case 2234: case 2241: case 2242: case 2243: case 2250: case 2251: case 2252: case 2259: case 2260: case 2261: case 2268: case 2269: case 2270: case 2277: case 2278: case 2279: case 2286: case 2287: case 2288: case 2295: case 2296: case 2297: case 2304: case 2305: case 2306: case 2313: case 2314: case 2315: case 2322: case 2323: case 2324: case 2331: case 2332: case 2333: case 2340: case 2341: case 2342: case 2349: case 2350: case 2351: case 2358: case 2359: case 2360: case 2367: case 2368: case 2369: case 2376: case 2377: case 2378: case 2385: case 2386: case 2387: case 2394: case 2395: case 2396: case 2403: case 2404: case 2405: case 2412: case 2413: case 2414: case 2421: case 2422: case 2423: case 2430: case 2431: case 2432: case 2439: case 2440: case 2441: case 2448: case 2449: case 2450: case 2457: case 2458: case 2459: case 2466: case 2467: case 2468: case 2475: case 2476: case 2477: case 2484: case 2485: case 2486: case 2493: case 2494: case 2495: case 2502: case 2503: case 2504: case 2511: case 2512: case 2513: case 2520: case 2521: case 2522: case 2529: case 2530: case 2531: case 2538: case 2539: case 2540: case 2547: case 2548: case 2549: case 2556: case 2557: case 2558: case 2565: case 2566: case 2567: case 2574: case 2575: case 2576: case 2583: case 2584: case 2585: case 2592: case 2593: case 2594: case 2601: case 2602: case 2603: case 2610: case 2611: case 2612: case 2619: case 2620: case 2621: case 2628: case 2629: case 2630: case 2637: case 2638: case 2639: case 2646: case 2647: case 2648: case 2655: case 2656: case 2657: case 2664: case 2665: case 2666: case 2673: case 2674: case 2675: case 2682: case 2683: case 2684: case 2691: case 2692: case 2693: case 2700: case 2701: case 2702: case 2709: case 2710: case 2711: case 2718: case 2719: case 2720: case 2727: case 2728: case 2729: case 2736: case 2737: case 2738: case 2745: case 2746: case 2747: case 2754: case 2755: case 2756: case 2763: case 2764: case 2765: case 2772: case 2773: case 2774: case 2781: case 2782: case 2783: case 2790: case 2791: case 2792: case 2799: case 2800: case 2801: case 2808: case 2809: case 2810: case 2817: case 2818: case 2819: case 2826: case 2827: case 2828: case 2835: case 2836: case 2837: case 2844: case 2845: case 2846: case 2853: case 2854: case 2855: case 2862: case 2863: case 2864: case 2871: case 2872: case 2873: case 2880: case 2881: case 2882: case 2889: case 2890: case 2891: case 2898: case 2899: case 2900: case 2907: case 2908: case 2909: case 2916: case 2917: case 2918: case 2925: case 2926: case 2927: case 2934: case 2935: case 2936: case 2943: case 2944: case 2945: case 2952: case 2953: case 2954: case 2961: case 2962: case 2963: case 2970: case 2971: case 2972: case 2979: case 2980: case 2981: case 2988: case 2989: case 2990: case 2997: case 2998: case 2999: case 3006: case 3007: case 3008: case 3015: case 3016: case 3017: case 3024: case 3025: case 3026: case 3033: case 3034: case 3035: case 3042: case 3043: case 3044: case 3051: case 3052: case 3053: case 3060: case 3061: case 3062: case 3069: case 3070: case 3071: case 3078: case 3079: case 3080: case 3087: case 3088: case 3089: case 3096: case 3097: case 3098: case 3105: case 3106: case 3107: case 3114: case 3115: case 3116: case 3123: case 3124: case 3125: case 3132: case 3133: case 3134: case 3141: case 3142: case 3143: case 3150: case 3151: case 3152: case 3159: case 3160: case 3161: case 3168: case 3169: case 3170: case 3177: case 3178: case 3179: case 3186: case 3187: case 3188: case 3195: case 3196: case 3197: case 3204: case 3205: case 3206: case 3213: case 3214: case 3215: case 3222: case 3223: case 3224: case 3231: case 3232: case 3233: case 3240: case 3241: case 3242: case 3249: case 3250: case 3251: case 3258: case 3259: case 3260: case 3267: case 3268: case 3269: case 3276: case 3277: case 3278: case 3285: case 3286: case 3287: case 3294: case 3295: case 3296: case 3303: case 3304: case 3305: case 3312: case 3313: case 3314: case 3321: case 3322: case 3323: case 3330: case 3331: case 3332: case 3339: case 3340: case 3341: case 3348: case 3349: case 3350: return South::Side; - default: return South::Up; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 2060: case 2063: case 2066: case 2069: case 2072: case 2075: case 2078: case 2081: case 2084: case 2087: case 2090: case 2093: case 2096: case 2099: case 2102: case 2105: case 2108: case 2111: case 2114: case 2117: case 2120: case 2123: case 2126: case 2129: case 2132: case 2135: case 2138: case 2141: case 2144: case 2147: case 2150: case 2153: case 2156: case 2159: case 2162: case 2165: case 2168: case 2171: case 2174: case 2177: case 2180: case 2183: case 2186: case 2189: case 2192: case 2195: case 2198: case 2201: case 2204: case 2207: case 2210: case 2213: case 2216: case 2219: case 2222: case 2225: case 2228: case 2231: case 2234: case 2237: case 2240: case 2243: case 2246: case 2249: case 2252: case 2255: case 2258: case 2261: case 2264: case 2267: case 2270: case 2273: case 2276: case 2279: case 2282: case 2285: case 2288: case 2291: case 2294: case 2297: case 2300: case 2303: case 2306: case 2309: case 2312: case 2315: case 2318: case 2321: case 2324: case 2327: case 2330: case 2333: case 2336: case 2339: case 2342: case 2345: case 2348: case 2351: case 2354: case 2357: case 2360: case 2363: case 2366: case 2369: case 2372: case 2375: case 2378: case 2381: case 2384: case 2387: case 2390: case 2393: case 2396: case 2399: case 2402: case 2405: case 2408: case 2411: case 2414: case 2417: case 2420: case 2423: case 2426: case 2429: case 2432: case 2435: case 2438: case 2441: case 2444: case 2447: case 2450: case 2453: case 2456: case 2459: case 2462: case 2465: case 2468: case 2471: case 2474: case 2477: case 2480: case 2483: case 2486: case 2489: case 2492: case 2495: case 2498: case 2501: case 2504: case 2507: case 2510: case 2513: case 2516: case 2519: case 2522: case 2525: case 2528: case 2531: case 2534: case 2537: case 2540: case 2543: case 2546: case 2549: case 2552: case 2555: case 2558: case 2561: case 2564: case 2567: case 2570: case 2573: case 2576: case 2579: case 2582: case 2585: case 2588: case 2591: case 2594: case 2597: case 2600: case 2603: case 2606: case 2609: case 2612: case 2615: case 2618: case 2621: case 2624: case 2627: case 2630: case 2633: case 2636: case 2639: case 2642: case 2645: case 2648: case 2651: case 2654: case 2657: case 2660: case 2663: case 2666: case 2669: case 2672: case 2675: case 2678: case 2681: case 2684: case 2687: case 2690: case 2693: case 2696: case 2699: case 2702: case 2705: case 2708: case 2711: case 2714: case 2717: case 2720: case 2723: case 2726: case 2729: case 2732: case 2735: case 2738: case 2741: case 2744: case 2747: case 2750: case 2753: case 2756: case 2759: case 2762: case 2765: case 2768: case 2771: case 2774: case 2777: case 2780: case 2783: case 2786: case 2789: case 2792: case 2795: case 2798: case 2801: case 2804: case 2807: case 2810: case 2813: case 2816: case 2819: case 2822: case 2825: case 2828: case 2831: case 2834: case 2837: case 2840: case 2843: case 2846: case 2849: case 2852: case 2855: case 2858: case 2861: case 2864: case 2867: case 2870: case 2873: case 2876: case 2879: case 2882: case 2885: case 2888: case 2891: case 2894: case 2897: case 2900: case 2903: case 2906: case 2909: case 2912: case 2915: case 2918: case 2921: case 2924: case 2927: case 2930: case 2933: case 2936: case 2939: case 2942: case 2945: case 2948: case 2951: case 2954: case 2957: case 2960: case 2963: case 2966: case 2969: case 2972: case 2975: case 2978: case 2981: case 2984: case 2987: case 2990: case 2993: case 2996: case 2999: case 3002: case 3005: case 3008: case 3011: case 3014: case 3017: case 3020: case 3023: case 3026: case 3029: case 3032: case 3035: case 3038: case 3041: case 3044: case 3047: case 3050: case 3053: case 3056: case 3059: case 3062: case 3065: case 3068: case 3071: case 3074: case 3077: case 3080: case 3083: case 3086: case 3089: case 3092: case 3095: case 3098: case 3101: case 3104: case 3107: case 3110: case 3113: case 3116: case 3119: case 3122: case 3125: case 3128: case 3131: case 3134: case 3137: case 3140: case 3143: case 3146: case 3149: case 3152: case 3155: case 3158: case 3161: case 3164: case 3167: case 3170: case 3173: case 3176: case 3179: case 3182: case 3185: case 3188: case 3191: case 3194: case 3197: case 3200: case 3203: case 3206: case 3209: case 3212: case 3215: case 3218: case 3221: case 3224: case 3227: case 3230: case 3233: case 3236: case 3239: case 3242: case 3245: case 3248: case 3251: case 3254: case 3257: case 3260: case 3263: case 3266: case 3269: case 3272: case 3275: case 3278: case 3281: case 3284: case 3287: case 3290: case 3293: case 3296: case 3299: case 3302: case 3305: case 3308: case 3311: case 3314: case 3317: case 3320: case 3323: case 3326: case 3329: case 3332: case 3335: case 3338: case 3341: case 3344: case 3347: case 3350: case 3353: return West::None; - case 2059: case 2062: case 2065: case 2068: case 2071: case 2074: case 2077: case 2080: case 2083: case 2086: case 2089: case 2092: case 2095: case 2098: case 2101: case 2104: case 2107: case 2110: case 2113: case 2116: case 2119: case 2122: case 2125: case 2128: case 2131: case 2134: case 2137: case 2140: case 2143: case 2146: case 2149: case 2152: case 2155: case 2158: case 2161: case 2164: case 2167: case 2170: case 2173: case 2176: case 2179: case 2182: case 2185: case 2188: case 2191: case 2194: case 2197: case 2200: case 2203: case 2206: case 2209: case 2212: case 2215: case 2218: case 2221: case 2224: case 2227: case 2230: case 2233: case 2236: case 2239: case 2242: case 2245: case 2248: case 2251: case 2254: case 2257: case 2260: case 2263: case 2266: case 2269: case 2272: case 2275: case 2278: case 2281: case 2284: case 2287: case 2290: case 2293: case 2296: case 2299: case 2302: case 2305: case 2308: case 2311: case 2314: case 2317: case 2320: case 2323: case 2326: case 2329: case 2332: case 2335: case 2338: case 2341: case 2344: case 2347: case 2350: case 2353: case 2356: case 2359: case 2362: case 2365: case 2368: case 2371: case 2374: case 2377: case 2380: case 2383: case 2386: case 2389: case 2392: case 2395: case 2398: case 2401: case 2404: case 2407: case 2410: case 2413: case 2416: case 2419: case 2422: case 2425: case 2428: case 2431: case 2434: case 2437: case 2440: case 2443: case 2446: case 2449: case 2452: case 2455: case 2458: case 2461: case 2464: case 2467: case 2470: case 2473: case 2476: case 2479: case 2482: case 2485: case 2488: case 2491: case 2494: case 2497: case 2500: case 2503: case 2506: case 2509: case 2512: case 2515: case 2518: case 2521: case 2524: case 2527: case 2530: case 2533: case 2536: case 2539: case 2542: case 2545: case 2548: case 2551: case 2554: case 2557: case 2560: case 2563: case 2566: case 2569: case 2572: case 2575: case 2578: case 2581: case 2584: case 2587: case 2590: case 2593: case 2596: case 2599: case 2602: case 2605: case 2608: case 2611: case 2614: case 2617: case 2620: case 2623: case 2626: case 2629: case 2632: case 2635: case 2638: case 2641: case 2644: case 2647: case 2650: case 2653: case 2656: case 2659: case 2662: case 2665: case 2668: case 2671: case 2674: case 2677: case 2680: case 2683: case 2686: case 2689: case 2692: case 2695: case 2698: case 2701: case 2704: case 2707: case 2710: case 2713: case 2716: case 2719: case 2722: case 2725: case 2728: case 2731: case 2734: case 2737: case 2740: case 2743: case 2746: case 2749: case 2752: case 2755: case 2758: case 2761: case 2764: case 2767: case 2770: case 2773: case 2776: case 2779: case 2782: case 2785: case 2788: case 2791: case 2794: case 2797: case 2800: case 2803: case 2806: case 2809: case 2812: case 2815: case 2818: case 2821: case 2824: case 2827: case 2830: case 2833: case 2836: case 2839: case 2842: case 2845: case 2848: case 2851: case 2854: case 2857: case 2860: case 2863: case 2866: case 2869: case 2872: case 2875: case 2878: case 2881: case 2884: case 2887: case 2890: case 2893: case 2896: case 2899: case 2902: case 2905: case 2908: case 2911: case 2914: case 2917: case 2920: case 2923: case 2926: case 2929: case 2932: case 2935: case 2938: case 2941: case 2944: case 2947: case 2950: case 2953: case 2956: case 2959: case 2962: case 2965: case 2968: case 2971: case 2974: case 2977: case 2980: case 2983: case 2986: case 2989: case 2992: case 2995: case 2998: case 3001: case 3004: case 3007: case 3010: case 3013: case 3016: case 3019: case 3022: case 3025: case 3028: case 3031: case 3034: case 3037: case 3040: case 3043: case 3046: case 3049: case 3052: case 3055: case 3058: case 3061: case 3064: case 3067: case 3070: case 3073: case 3076: case 3079: case 3082: case 3085: case 3088: case 3091: case 3094: case 3097: case 3100: case 3103: case 3106: case 3109: case 3112: case 3115: case 3118: case 3121: case 3124: case 3127: case 3130: case 3133: case 3136: case 3139: case 3142: case 3145: case 3148: case 3151: case 3154: case 3157: case 3160: case 3163: case 3166: case 3169: case 3172: case 3175: case 3178: case 3181: case 3184: case 3187: case 3190: case 3193: case 3196: case 3199: case 3202: case 3205: case 3208: case 3211: case 3214: case 3217: case 3220: case 3223: case 3226: case 3229: case 3232: case 3235: case 3238: case 3241: case 3244: case 3247: case 3250: case 3253: case 3256: case 3259: case 3262: case 3265: case 3268: case 3271: case 3274: case 3277: case 3280: case 3283: case 3286: case 3289: case 3292: case 3295: case 3298: case 3301: case 3304: case 3307: case 3310: case 3313: case 3316: case 3319: case 3322: case 3325: case 3328: case 3331: case 3334: case 3337: case 3340: case 3343: case 3346: case 3349: case 3352: return West::Side; - default: return West::Up; - } - } - } - namespace Repeater - { - BlockState Repeater() - { - return 4034; - } - unsigned char Delay(const BlockState Block) - { - switch (Block.ID) - { - case 4031: case 4032: case 4033: case 4034: case 4035: case 4036: case 4037: case 4038: case 4039: case 4040: case 4041: case 4042: case 4043: case 4044: case 4045: case 4046: return 1; - case 4047: case 4048: case 4049: case 4050: case 4051: case 4052: case 4053: case 4054: case 4055: case 4056: case 4057: case 4058: case 4059: case 4060: case 4061: case 4062: return 2; - case 4063: case 4064: case 4065: case 4066: case 4067: case 4068: case 4069: case 4070: case 4071: case 4072: case 4073: case 4074: case 4075: case 4076: case 4077: case 4078: return 3; - default: return 4; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4039: case 4040: case 4041: case 4042: case 4055: case 4056: case 4057: case 4058: case 4071: case 4072: case 4073: case 4074: case 4087: case 4088: case 4089: case 4090: return eBlockFace::BLOCK_FACE_XM; - case 4043: case 4044: case 4045: case 4046: case 4059: case 4060: case 4061: case 4062: case 4075: case 4076: case 4077: case 4078: case 4091: case 4092: case 4093: case 4094: return eBlockFace::BLOCK_FACE_XP; - case 4031: case 4032: case 4033: case 4034: case 4047: case 4048: case 4049: case 4050: case 4063: case 4064: case 4065: case 4066: case 4079: case 4080: case 4081: case 4082: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Locked(const BlockState Block) - { - switch (Block.ID) - { - case 4033: case 4034: case 4037: case 4038: case 4041: case 4042: case 4045: case 4046: case 4049: case 4050: case 4053: case 4054: case 4057: case 4058: case 4061: case 4062: case 4065: case 4066: case 4069: case 4070: case 4073: case 4074: case 4077: case 4078: case 4081: case 4082: case 4085: case 4086: case 4089: case 4090: case 4093: case 4094: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 4032: case 4034: case 4036: case 4038: case 4040: case 4042: case 4044: case 4046: case 4048: case 4050: case 4052: case 4054: case 4056: case 4058: case 4060: case 4062: case 4064: case 4066: case 4068: case 4070: case 4072: case 4074: case 4076: case 4078: case 4080: case 4082: case 4084: case 4086: case 4088: case 4090: case 4092: case 4094: return false; - default: return true; - } - } - } - namespace RepeatingCommandBlock - { - BlockState RepeatingCommandBlock() - { - return 9231; - } - bool Conditional(const BlockState Block) - { - switch (Block.ID) - { - case 9231: case 9232: case 9233: case 9234: case 9235: case 9236: return false; - default: return true; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9228: case 9234: return eBlockFace::BLOCK_FACE_XM; - case 9226: case 9232: return eBlockFace::BLOCK_FACE_XP; - case 9230: case 9236: return eBlockFace::BLOCK_FACE_YM; - case 9229: case 9235: return eBlockFace::BLOCK_FACE_YP; - case 9225: case 9231: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace RespawnAnchor - { - BlockState RespawnAnchor() - { - return 15829; - } - unsigned char Charges(const BlockState Block) - { - switch (Block.ID) - { - case 15829: return 0; - case 15830: return 1; - case 15831: return 2; - case 15832: return 3; - default: return 4; - } - } - } - namespace RoseBush - { - BlockState RoseBush() - { - return 7890; - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7890: return Half::Lower; - default: return Half::Upper; - } - } - } - namespace Sand - { - } - namespace Sandstone - { - } - namespace SandstoneSlab - { - BlockState SandstoneSlab() - { - return 8351; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8351: return Type::Bottom; - case 8353: return Type::Double; - default: return Type::Top; - } - } - } - namespace SandstoneStairs - { - BlockState SandstoneStairs() - { - return 5181; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5211: case 5213: case 5215: case 5217: case 5219: case 5221: case 5223: case 5225: case 5227: case 5229: return eBlockFace::BLOCK_FACE_XM; - case 5231: case 5233: case 5235: case 5237: case 5239: case 5241: case 5243: case 5245: case 5247: case 5249: return eBlockFace::BLOCK_FACE_XP; - case 5171: case 5173: case 5175: case 5177: case 5179: case 5181: case 5183: case 5185: case 5187: case 5189: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 5181: case 5183: case 5185: case 5187: case 5189: case 5201: case 5203: case 5205: case 5207: case 5209: case 5221: case 5223: case 5225: case 5227: case 5229: case 5241: case 5243: case 5245: case 5247: case 5249: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 5173: case 5183: case 5193: case 5203: case 5213: case 5223: case 5233: case 5243: return Shape::InnerLeft; - case 5175: case 5185: case 5195: case 5205: case 5215: case 5225: case 5235: case 5245: return Shape::InnerRight; - case 5177: case 5187: case 5197: case 5207: case 5217: case 5227: case 5237: case 5247: return Shape::OuterLeft; - case 5179: case 5189: case 5199: case 5209: case 5219: case 5229: case 5239: case 5249: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace SandstoneWall - { - BlockState SandstoneWall() - { - return 13786; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 13894: case 13895: case 13896: case 13900: case 13901: case 13902: case 13906: case 13907: case 13908: case 13912: case 13913: case 13914: case 13918: case 13919: case 13920: case 13924: case 13925: case 13926: case 13930: case 13931: case 13932: case 13936: case 13937: case 13938: case 13942: case 13943: case 13944: case 13948: case 13949: case 13950: case 13954: case 13955: case 13956: case 13960: case 13961: case 13962: case 13966: case 13967: case 13968: case 13972: case 13973: case 13974: case 13978: case 13979: case 13980: case 13984: case 13985: case 13986: case 13990: case 13991: case 13992: case 13996: case 13997: case 13998: return East::Low; - case 13786: case 13787: case 13788: case 13792: case 13793: case 13794: case 13798: case 13799: case 13800: case 13804: case 13805: case 13806: case 13810: case 13811: case 13812: case 13816: case 13817: case 13818: case 13822: case 13823: case 13824: case 13828: case 13829: case 13830: case 13834: case 13835: case 13836: case 13840: case 13841: case 13842: case 13846: case 13847: case 13848: case 13852: case 13853: case 13854: case 13858: case 13859: case 13860: case 13864: case 13865: case 13866: case 13870: case 13871: case 13872: case 13876: case 13877: case 13878: case 13882: case 13883: case 13884: case 13888: case 13889: case 13890: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 13822: case 13823: case 13824: case 13828: case 13829: case 13830: case 13834: case 13835: case 13836: case 13840: case 13841: case 13842: case 13846: case 13847: case 13848: case 13852: case 13853: case 13854: case 13930: case 13931: case 13932: case 13936: case 13937: case 13938: case 13942: case 13943: case 13944: case 13948: case 13949: case 13950: case 13954: case 13955: case 13956: case 13960: case 13961: case 13962: case 14038: case 14039: case 14040: case 14044: case 14045: case 14046: case 14050: case 14051: case 14052: case 14056: case 14057: case 14058: case 14062: case 14063: case 14064: case 14068: case 14069: case 14070: return North::Low; - case 13786: case 13787: case 13788: case 13792: case 13793: case 13794: case 13798: case 13799: case 13800: case 13804: case 13805: case 13806: case 13810: case 13811: case 13812: case 13816: case 13817: case 13818: case 13894: case 13895: case 13896: case 13900: case 13901: case 13902: case 13906: case 13907: case 13908: case 13912: case 13913: case 13914: case 13918: case 13919: case 13920: case 13924: case 13925: case 13926: case 14002: case 14003: case 14004: case 14008: case 14009: case 14010: case 14014: case 14015: case 14016: case 14020: case 14021: case 14022: case 14026: case 14027: case 14028: case 14032: case 14033: case 14034: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 13798: case 13799: case 13800: case 13804: case 13805: case 13806: case 13834: case 13835: case 13836: case 13840: case 13841: case 13842: case 13870: case 13871: case 13872: case 13876: case 13877: case 13878: case 13906: case 13907: case 13908: case 13912: case 13913: case 13914: case 13942: case 13943: case 13944: case 13948: case 13949: case 13950: case 13978: case 13979: case 13980: case 13984: case 13985: case 13986: case 14014: case 14015: case 14016: case 14020: case 14021: case 14022: case 14050: case 14051: case 14052: case 14056: case 14057: case 14058: case 14086: case 14087: case 14088: case 14092: case 14093: case 14094: return South::Low; - case 13786: case 13787: case 13788: case 13792: case 13793: case 13794: case 13822: case 13823: case 13824: case 13828: case 13829: case 13830: case 13858: case 13859: case 13860: case 13864: case 13865: case 13866: case 13894: case 13895: case 13896: case 13900: case 13901: case 13902: case 13930: case 13931: case 13932: case 13936: case 13937: case 13938: case 13966: case 13967: case 13968: case 13972: case 13973: case 13974: case 14002: case 14003: case 14004: case 14008: case 14009: case 14010: case 14038: case 14039: case 14040: case 14044: case 14045: case 14046: case 14074: case 14075: case 14076: case 14080: case 14081: case 14082: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 13792: case 13793: case 13794: case 13804: case 13805: case 13806: case 13816: case 13817: case 13818: case 13828: case 13829: case 13830: case 13840: case 13841: case 13842: case 13852: case 13853: case 13854: case 13864: case 13865: case 13866: case 13876: case 13877: case 13878: case 13888: case 13889: case 13890: case 13900: case 13901: case 13902: case 13912: case 13913: case 13914: case 13924: case 13925: case 13926: case 13936: case 13937: case 13938: case 13948: case 13949: case 13950: case 13960: case 13961: case 13962: case 13972: case 13973: case 13974: case 13984: case 13985: case 13986: case 13996: case 13997: case 13998: case 14008: case 14009: case 14010: case 14020: case 14021: case 14022: case 14032: case 14033: case 14034: case 14044: case 14045: case 14046: case 14056: case 14057: case 14058: case 14068: case 14069: case 14070: case 14080: case 14081: case 14082: case 14092: case 14093: case 14094: case 14104: case 14105: case 14106: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 13787: case 13793: case 13799: case 13805: case 13811: case 13817: case 13823: case 13829: case 13835: case 13841: case 13847: case 13853: case 13859: case 13865: case 13871: case 13877: case 13883: case 13889: case 13895: case 13901: case 13907: case 13913: case 13919: case 13925: case 13931: case 13937: case 13943: case 13949: case 13955: case 13961: case 13967: case 13973: case 13979: case 13985: case 13991: case 13997: case 14003: case 14009: case 14015: case 14021: case 14027: case 14033: case 14039: case 14045: case 14051: case 14057: case 14063: case 14069: case 14075: case 14081: case 14087: case 14093: case 14099: case 14105: return West::Low; - case 13786: case 13792: case 13798: case 13804: case 13810: case 13816: case 13822: case 13828: case 13834: case 13840: case 13846: case 13852: case 13858: case 13864: case 13870: case 13876: case 13882: case 13888: case 13894: case 13900: case 13906: case 13912: case 13918: case 13924: case 13930: case 13936: case 13942: case 13948: case 13954: case 13960: case 13966: case 13972: case 13978: case 13984: case 13990: case 13996: case 14002: case 14008: case 14014: case 14020: case 14026: case 14032: case 14038: case 14044: case 14050: case 14056: case 14062: case 14068: case 14074: case 14080: case 14086: case 14092: case 14098: case 14104: return West::None; - default: return West::Tall; - } - } - } - namespace Scaffolding - { - BlockState Scaffolding() - { - return 14786; - } - bool Bottom(const BlockState Block) - { - switch (Block.ID) - { - case 14772: case 14774: case 14776: case 14778: case 14780: case 14782: case 14784: case 14786: return false; - default: return true; - } - } - unsigned char Distance(const BlockState Block) - { - switch (Block.ID) - { - case 14756: case 14772: return 0; - case 14758: case 14774: return 1; - case 14760: case 14776: return 2; - case 14762: case 14778: return 3; - case 14764: case 14780: return 4; - case 14766: case 14782: return 5; - case 14768: case 14784: return 6; - default: return 7; - } - } - } - namespace SeaLantern - { - } - namespace SeaPickle - { - BlockState SeaPickle() - { - return 9640; - } - unsigned char Pickles(const BlockState Block) - { - switch (Block.ID) - { - case 9641: return 1; - case 9643: return 2; - case 9645: return 3; - default: return 4; - } - } - } - namespace Seagrass - { - } - namespace Shroomlight - { - } - namespace ShulkerBox - { - BlockState ShulkerBox() - { - return 9276; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9275: return eBlockFace::BLOCK_FACE_XM; - case 9273: return eBlockFace::BLOCK_FACE_XP; - case 9277: return eBlockFace::BLOCK_FACE_YM; - case 9276: return eBlockFace::BLOCK_FACE_YP; - case 9272: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace SkeletonSkull - { - BlockState SkeletonSkull() - { - return 6490; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 6490: return 0; - case 6491: return 1; - case 6500: return 10; - case 6501: return 11; - case 6502: return 12; - case 6503: return 13; - case 6504: return 14; - case 6505: return 15; - case 6492: return 2; - case 6493: return 3; - case 6494: return 4; - case 6495: return 5; - case 6496: return 6; - case 6497: return 7; - case 6498: return 8; - default: return 9; - } - } - } - namespace SkeletonWallSkull - { - BlockState SkeletonWallSkull() - { - return 6506; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6508: return eBlockFace::BLOCK_FACE_XM; - case 6509: return eBlockFace::BLOCK_FACE_XP; - case 6506: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace SlimeBlock - { - } - namespace SmithingTable - { - } - namespace Smoker - { - BlockState Smoker() - { - return 14804; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14807: case 14808: return eBlockFace::BLOCK_FACE_XM; - case 14809: case 14810: return eBlockFace::BLOCK_FACE_XP; - case 14803: case 14804: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 14804: case 14806: case 14808: case 14810: return false; - default: return true; - } - } - } - namespace SmoothQuartz - { - } - namespace SmoothQuartzSlab - { - BlockState SmoothQuartzSlab() - { - return 10834; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10834: return Type::Bottom; - case 10836: return Type::Double; - default: return Type::Top; - } - } - } - namespace SmoothQuartzStairs - { - BlockState SmoothQuartzStairs() - { - return 10320; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10350: case 10352: case 10354: case 10356: case 10358: case 10360: case 10362: case 10364: case 10366: case 10368: return eBlockFace::BLOCK_FACE_XM; - case 10370: case 10372: case 10374: case 10376: case 10378: case 10380: case 10382: case 10384: case 10386: case 10388: return eBlockFace::BLOCK_FACE_XP; - case 10310: case 10312: case 10314: case 10316: case 10318: case 10320: case 10322: case 10324: case 10326: case 10328: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10320: case 10322: case 10324: case 10326: case 10328: case 10340: case 10342: case 10344: case 10346: case 10348: case 10360: case 10362: case 10364: case 10366: case 10368: case 10380: case 10382: case 10384: case 10386: case 10388: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10312: case 10322: case 10332: case 10342: case 10352: case 10362: case 10372: case 10382: return Shape::InnerLeft; - case 10314: case 10324: case 10334: case 10344: case 10354: case 10364: case 10374: case 10384: return Shape::InnerRight; - case 10316: case 10326: case 10336: case 10346: case 10356: case 10366: case 10376: case 10386: return Shape::OuterLeft; - case 10318: case 10328: case 10338: case 10348: case 10358: case 10368: case 10378: case 10388: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace SmoothRedSandstone - { - } - namespace SmoothRedSandstoneSlab - { - BlockState SmoothRedSandstoneSlab() - { - return 10798; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10798: return Type::Bottom; - case 10800: return Type::Double; - default: return Type::Top; - } - } - } - namespace SmoothRedSandstoneStairs - { - BlockState SmoothRedSandstoneStairs() - { - return 9760; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9790: case 9792: case 9794: case 9796: case 9798: case 9800: case 9802: case 9804: case 9806: case 9808: return eBlockFace::BLOCK_FACE_XM; - case 9810: case 9812: case 9814: case 9816: case 9818: case 9820: case 9822: case 9824: case 9826: case 9828: return eBlockFace::BLOCK_FACE_XP; - case 9750: case 9752: case 9754: case 9756: case 9758: case 9760: case 9762: case 9764: case 9766: case 9768: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 9760: case 9762: case 9764: case 9766: case 9768: case 9780: case 9782: case 9784: case 9786: case 9788: case 9800: case 9802: case 9804: case 9806: case 9808: case 9820: case 9822: case 9824: case 9826: case 9828: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 9752: case 9762: case 9772: case 9782: case 9792: case 9802: case 9812: case 9822: return Shape::InnerLeft; - case 9754: case 9764: case 9774: case 9784: case 9794: case 9804: case 9814: case 9824: return Shape::InnerRight; - case 9756: case 9766: case 9776: case 9786: case 9796: case 9806: case 9816: case 9826: return Shape::OuterLeft; - case 9758: case 9768: case 9778: case 9788: case 9798: case 9808: case 9818: case 9828: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace SmoothSandstone - { - } - namespace SmoothSandstoneSlab - { - BlockState SmoothSandstoneSlab() - { - return 10828; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 10828: return Type::Bottom; - case 10830: return Type::Double; - default: return Type::Top; - } - } - } - namespace SmoothSandstoneStairs - { - BlockState SmoothSandstoneStairs() - { - return 10240; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10270: case 10272: case 10274: case 10276: case 10278: case 10280: case 10282: case 10284: case 10286: case 10288: return eBlockFace::BLOCK_FACE_XM; - case 10290: case 10292: case 10294: case 10296: case 10298: case 10300: case 10302: case 10304: case 10306: case 10308: return eBlockFace::BLOCK_FACE_XP; - case 10230: case 10232: case 10234: case 10236: case 10238: case 10240: case 10242: case 10244: case 10246: case 10248: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10240: case 10242: case 10244: case 10246: case 10248: case 10260: case 10262: case 10264: case 10266: case 10268: case 10280: case 10282: case 10284: case 10286: case 10288: case 10300: case 10302: case 10304: case 10306: case 10308: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10232: case 10242: case 10252: case 10262: case 10272: case 10282: case 10292: case 10302: return Shape::InnerLeft; - case 10234: case 10244: case 10254: case 10264: case 10274: case 10284: case 10294: case 10304: return Shape::InnerRight; - case 10236: case 10246: case 10256: case 10266: case 10276: case 10286: case 10296: case 10306: return Shape::OuterLeft; - case 10238: case 10248: case 10258: case 10268: case 10278: case 10288: case 10298: case 10308: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace SmoothStone - { - } - namespace SmoothStoneSlab - { - BlockState SmoothStoneSlab() - { - return 8345; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8345: return Type::Bottom; - case 8347: return Type::Double; - default: return Type::Top; - } - } - } - namespace Snow - { - BlockState Snow() - { - return 3921; - } - unsigned char Layers(const BlockState Block) - { - switch (Block.ID) - { - case 3921: return 1; - case 3922: return 2; - case 3923: return 3; - case 3924: return 4; - case 3925: return 5; - case 3926: return 6; - case 3927: return 7; - default: return 8; - } - } - } - namespace SnowBlock - { - } - namespace SoulCampfire - { - BlockState SoulCampfire() - { - return 14925; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14939: case 14941: case 14943: case 14945: return eBlockFace::BLOCK_FACE_XM; - case 14947: case 14949: case 14951: case 14953: return eBlockFace::BLOCK_FACE_XP; - case 14923: case 14925: case 14927: case 14929: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Lit(const BlockState Block) - { - switch (Block.ID) - { - case 14927: case 14929: case 14935: case 14937: case 14943: case 14945: case 14951: case 14953: return false; - default: return true; - } - } - bool SignalFire(const BlockState Block) - { - switch (Block.ID) - { - case 14925: case 14929: case 14933: case 14937: case 14941: case 14945: case 14949: case 14953: return false; - default: return true; - } - } - } - namespace SoulFire - { - } - namespace SoulLantern - { - BlockState SoulLantern() - { - return 14889; - } - bool Hanging(const BlockState Block) - { - switch (Block.ID) - { - case 14889: return false; - default: return true; - } - } - } - namespace SoulSand - { - } - namespace SoulSoil - { - } - namespace SoulTorch - { - } - namespace SoulWallTorch - { - BlockState SoulWallTorch() - { - return 4009; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4011: return eBlockFace::BLOCK_FACE_XM; - case 4012: return eBlockFace::BLOCK_FACE_XP; - case 4009: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Spawner - { - } - namespace Sponge - { - } - namespace SpruceButton - { - BlockState SpruceButton() - { - return 6379; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 6386: case 6387: case 6388: case 6389: case 6390: case 6391: case 6392: case 6393: return Face::Ceiling; - case 6370: case 6371: case 6372: case 6373: case 6374: case 6375: case 6376: case 6377: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6374: case 6375: case 6382: case 6383: case 6390: case 6391: return eBlockFace::BLOCK_FACE_XM; - case 6376: case 6377: case 6384: case 6385: case 6392: case 6393: return eBlockFace::BLOCK_FACE_XP; - case 6370: case 6371: case 6378: case 6379: case 6386: case 6387: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 6371: case 6373: case 6375: case 6377: case 6379: case 6381: case 6383: case 6385: case 6387: case 6389: case 6391: case 6393: return false; - default: return true; - } - } - } - namespace SpruceDoor - { - BlockState SpruceDoor() - { - return 8749; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8770: case 8771: case 8772: case 8773: case 8774: case 8775: case 8776: case 8777: case 8778: case 8779: case 8780: case 8781: case 8782: case 8783: case 8784: case 8785: return eBlockFace::BLOCK_FACE_XM; - case 8786: case 8787: case 8788: case 8789: case 8790: case 8791: case 8792: case 8793: case 8794: case 8795: case 8796: case 8797: case 8798: case 8799: case 8800: case 8801: return eBlockFace::BLOCK_FACE_XP; - case 8738: case 8739: case 8740: case 8741: case 8742: case 8743: case 8744: case 8745: case 8746: case 8747: case 8748: case 8749: case 8750: case 8751: case 8752: case 8753: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 8746: case 8747: case 8748: case 8749: case 8750: case 8751: case 8752: case 8753: case 8762: case 8763: case 8764: case 8765: case 8766: case 8767: case 8768: case 8769: case 8778: case 8779: case 8780: case 8781: case 8782: case 8783: case 8784: case 8785: case 8794: case 8795: case 8796: case 8797: case 8798: case 8799: case 8800: case 8801: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 8738: case 8739: case 8740: case 8741: case 8746: case 8747: case 8748: case 8749: case 8754: case 8755: case 8756: case 8757: case 8762: case 8763: case 8764: case 8765: case 8770: case 8771: case 8772: case 8773: case 8778: case 8779: case 8780: case 8781: case 8786: case 8787: case 8788: case 8789: case 8794: case 8795: case 8796: case 8797: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8740: case 8741: case 8744: case 8745: case 8748: case 8749: case 8752: case 8753: case 8756: case 8757: case 8760: case 8761: case 8764: case 8765: case 8768: case 8769: case 8772: case 8773: case 8776: case 8777: case 8780: case 8781: case 8784: case 8785: case 8788: case 8789: case 8792: case 8793: case 8796: case 8797: case 8800: case 8801: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8739: case 8741: case 8743: case 8745: case 8747: case 8749: case 8751: case 8753: case 8755: case 8757: case 8759: case 8761: case 8763: case 8765: case 8767: case 8769: case 8771: case 8773: case 8775: case 8777: case 8779: case 8781: case 8783: case 8785: case 8787: case 8789: case 8791: case 8793: case 8795: case 8797: case 8799: case 8801: return false; - default: return true; - } - } - } - namespace SpruceFence - { - BlockState SpruceFence() - { - return 8609; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 8596: case 8597: case 8600: case 8601: case 8604: case 8605: case 8608: case 8609: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 8588: case 8589: case 8592: case 8593: case 8604: case 8605: case 8608: case 8609: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 8584: case 8585: case 8592: case 8593: case 8600: case 8601: case 8608: case 8609: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 8581: case 8585: case 8589: case 8593: case 8597: case 8601: case 8605: case 8609: return false; - default: return true; - } - } - } - namespace SpruceFenceGate - { - BlockState SpruceFenceGate() - { - return 8425; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8434: case 8435: case 8436: case 8437: case 8438: case 8439: case 8440: case 8441: return eBlockFace::BLOCK_FACE_XM; - case 8442: case 8443: case 8444: case 8445: case 8446: case 8447: case 8448: case 8449: return eBlockFace::BLOCK_FACE_XP; - case 8418: case 8419: case 8420: case 8421: case 8422: case 8423: case 8424: case 8425: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool InWall(const BlockState Block) - { - switch (Block.ID) - { - case 8422: case 8423: case 8424: case 8425: case 8430: case 8431: case 8432: case 8433: case 8438: case 8439: case 8440: case 8441: case 8446: case 8447: case 8448: case 8449: return false; - default: return true; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 8420: case 8421: case 8424: case 8425: case 8428: case 8429: case 8432: case 8433: case 8436: case 8437: case 8440: case 8441: case 8444: case 8445: case 8448: case 8449: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 8419: case 8421: case 8423: case 8425: case 8427: case 8429: case 8431: case 8433: case 8435: case 8437: case 8439: case 8441: case 8443: case 8445: case 8447: case 8449: return false; - default: return true; - } - } - } - namespace SpruceLeaves - { - BlockState SpruceLeaves() - { - return 172; - } - unsigned char Distance(const BlockState Block) - { - switch (Block.ID) - { - case 159: case 160: return 1; - case 161: case 162: return 2; - case 163: case 164: return 3; - case 165: case 166: return 4; - case 167: case 168: return 5; - case 169: case 170: return 6; - default: return 7; - } - } - bool Persistent(const BlockState Block) - { - switch (Block.ID) - { - case 160: case 162: case 164: case 166: case 168: case 170: case 172: return false; - default: return true; - } - } - } - namespace SpruceLog - { - BlockState SpruceLog() - { - return 77; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 76: return Axis::X; - case 77: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace SprucePlanks - { - } - namespace SprucePressurePlate - { - BlockState SprucePressurePlate() - { - return 3876; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3876: return false; - default: return true; - } - } - } - namespace SpruceSapling - { - BlockState SpruceSapling() - { - return 23; - } - unsigned char Stage(const BlockState Block) - { - switch (Block.ID) - { - case 23: return 0; - default: return 1; - } - } - } - namespace SpruceSign - { - BlockState SpruceSign() - { - return 3414; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 3414: return 0; - case 3416: return 1; - case 3434: return 10; - case 3436: return 11; - case 3438: return 12; - case 3440: return 13; - case 3442: return 14; - case 3444: return 15; - case 3418: return 2; - case 3420: return 3; - case 3422: return 4; - case 3424: return 5; - case 3426: return 6; - case 3428: return 7; - case 3430: return 8; - default: return 9; - } - } - } - namespace SpruceSlab - { - BlockState SpruceSlab() - { - return 8309; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8309: return Type::Bottom; - case 8311: return Type::Double; - default: return Type::Top; - } - } - } - namespace SpruceStairs - { - BlockState SpruceStairs() - { - return 5415; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5445: case 5447: case 5449: case 5451: case 5453: case 5455: case 5457: case 5459: case 5461: case 5463: return eBlockFace::BLOCK_FACE_XM; - case 5465: case 5467: case 5469: case 5471: case 5473: case 5475: case 5477: case 5479: case 5481: case 5483: return eBlockFace::BLOCK_FACE_XP; - case 5405: case 5407: case 5409: case 5411: case 5413: case 5415: case 5417: case 5419: case 5421: case 5423: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 5415: case 5417: case 5419: case 5421: case 5423: case 5435: case 5437: case 5439: case 5441: case 5443: case 5455: case 5457: case 5459: case 5461: case 5463: case 5475: case 5477: case 5479: case 5481: case 5483: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 5407: case 5417: case 5427: case 5437: case 5447: case 5457: case 5467: case 5477: return Shape::InnerLeft; - case 5409: case 5419: case 5429: case 5439: case 5449: case 5459: case 5469: case 5479: return Shape::InnerRight; - case 5411: case 5421: case 5431: case 5441: case 5451: case 5461: case 5471: case 5481: return Shape::OuterLeft; - case 5413: case 5423: case 5433: case 5443: case 5453: case 5463: case 5473: case 5483: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace SpruceTrapdoor - { - BlockState SpruceTrapdoor() - { - return 4190; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4208: case 4210: case 4212: case 4214: case 4216: case 4218: case 4220: case 4222: return eBlockFace::BLOCK_FACE_XM; - case 4224: case 4226: case 4228: case 4230: case 4232: case 4234: case 4236: case 4238: return eBlockFace::BLOCK_FACE_XP; - case 4176: case 4178: case 4180: case 4182: case 4184: case 4186: case 4188: case 4190: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 4184: case 4186: case 4188: case 4190: case 4200: case 4202: case 4204: case 4206: case 4216: case 4218: case 4220: case 4222: case 4232: case 4234: case 4236: case 4238: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 4180: case 4182: case 4188: case 4190: case 4196: case 4198: case 4204: case 4206: case 4212: case 4214: case 4220: case 4222: case 4228: case 4230: case 4236: case 4238: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 4178: case 4182: case 4186: case 4190: case 4194: case 4198: case 4202: case 4206: case 4210: case 4214: case 4218: case 4222: case 4226: case 4230: case 4234: case 4238: return false; - default: return true; - } - } - } - namespace SpruceWallSign - { - BlockState SpruceWallSign() - { - return 3744; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3748: return eBlockFace::BLOCK_FACE_XM; - case 3750: return eBlockFace::BLOCK_FACE_XP; - case 3744: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace SpruceWood - { - BlockState SpruceWood() - { - return 113; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 112: return Axis::X; - case 113: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StickyPiston - { - BlockState StickyPiston() - { - return 1335; - } - bool Extended(const BlockState Block) - { - switch (Block.ID) - { - case 1335: case 1336: case 1337: case 1338: case 1339: case 1340: return false; - default: return true; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1332: case 1338: return eBlockFace::BLOCK_FACE_XM; - case 1330: case 1336: return eBlockFace::BLOCK_FACE_XP; - case 1334: case 1340: return eBlockFace::BLOCK_FACE_YM; - case 1333: case 1339: return eBlockFace::BLOCK_FACE_YP; - case 1329: case 1335: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace Stone - { - } - namespace StoneBrickSlab - { - BlockState StoneBrickSlab() - { - return 8381; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8381: return Type::Bottom; - case 8383: return Type::Double; - default: return Type::Top; - } - } - } - namespace StoneBrickStairs - { - BlockState StoneBrickStairs() - { - return 4943; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 4973: case 4975: case 4977: case 4979: case 4981: case 4983: case 4985: case 4987: case 4989: case 4991: return eBlockFace::BLOCK_FACE_XM; - case 4993: case 4995: case 4997: case 4999: case 5001: case 5003: case 5005: case 5007: case 5009: case 5011: return eBlockFace::BLOCK_FACE_XP; - case 4933: case 4935: case 4937: case 4939: case 4941: case 4943: case 4945: case 4947: case 4949: case 4951: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 4943: case 4945: case 4947: case 4949: case 4951: case 4963: case 4965: case 4967: case 4969: case 4971: case 4983: case 4985: case 4987: case 4989: case 4991: case 5003: case 5005: case 5007: case 5009: case 5011: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 4935: case 4945: case 4955: case 4965: case 4975: case 4985: case 4995: case 5005: return Shape::InnerLeft; - case 4937: case 4947: case 4957: case 4967: case 4977: case 4987: case 4997: case 5007: return Shape::InnerRight; - case 4939: case 4949: case 4959: case 4969: case 4979: case 4989: case 4999: case 5009: return Shape::OuterLeft; - case 4941: case 4951: case 4961: case 4971: case 4981: case 4991: case 5001: case 5011: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace StoneBrickWall - { - BlockState StoneBrickWall() - { - return 12490; - } - enum East East(const BlockState Block) - { - switch (Block.ID) - { - case 12598: case 12599: case 12600: case 12604: case 12605: case 12606: case 12610: case 12611: case 12612: case 12616: case 12617: case 12618: case 12622: case 12623: case 12624: case 12628: case 12629: case 12630: case 12634: case 12635: case 12636: case 12640: case 12641: case 12642: case 12646: case 12647: case 12648: case 12652: case 12653: case 12654: case 12658: case 12659: case 12660: case 12664: case 12665: case 12666: case 12670: case 12671: case 12672: case 12676: case 12677: case 12678: case 12682: case 12683: case 12684: case 12688: case 12689: case 12690: case 12694: case 12695: case 12696: case 12700: case 12701: case 12702: return East::Low; - case 12490: case 12491: case 12492: case 12496: case 12497: case 12498: case 12502: case 12503: case 12504: case 12508: case 12509: case 12510: case 12514: case 12515: case 12516: case 12520: case 12521: case 12522: case 12526: case 12527: case 12528: case 12532: case 12533: case 12534: case 12538: case 12539: case 12540: case 12544: case 12545: case 12546: case 12550: case 12551: case 12552: case 12556: case 12557: case 12558: case 12562: case 12563: case 12564: case 12568: case 12569: case 12570: case 12574: case 12575: case 12576: case 12580: case 12581: case 12582: case 12586: case 12587: case 12588: case 12592: case 12593: case 12594: return East::None; - default: return East::Tall; - } - } - enum North North(const BlockState Block) - { - switch (Block.ID) - { - case 12526: case 12527: case 12528: case 12532: case 12533: case 12534: case 12538: case 12539: case 12540: case 12544: case 12545: case 12546: case 12550: case 12551: case 12552: case 12556: case 12557: case 12558: case 12634: case 12635: case 12636: case 12640: case 12641: case 12642: case 12646: case 12647: case 12648: case 12652: case 12653: case 12654: case 12658: case 12659: case 12660: case 12664: case 12665: case 12666: case 12742: case 12743: case 12744: case 12748: case 12749: case 12750: case 12754: case 12755: case 12756: case 12760: case 12761: case 12762: case 12766: case 12767: case 12768: case 12772: case 12773: case 12774: return North::Low; - case 12490: case 12491: case 12492: case 12496: case 12497: case 12498: case 12502: case 12503: case 12504: case 12508: case 12509: case 12510: case 12514: case 12515: case 12516: case 12520: case 12521: case 12522: case 12598: case 12599: case 12600: case 12604: case 12605: case 12606: case 12610: case 12611: case 12612: case 12616: case 12617: case 12618: case 12622: case 12623: case 12624: case 12628: case 12629: case 12630: case 12706: case 12707: case 12708: case 12712: case 12713: case 12714: case 12718: case 12719: case 12720: case 12724: case 12725: case 12726: case 12730: case 12731: case 12732: case 12736: case 12737: case 12738: return North::None; - default: return North::Tall; - } - } - enum South South(const BlockState Block) - { - switch (Block.ID) - { - case 12502: case 12503: case 12504: case 12508: case 12509: case 12510: case 12538: case 12539: case 12540: case 12544: case 12545: case 12546: case 12574: case 12575: case 12576: case 12580: case 12581: case 12582: case 12610: case 12611: case 12612: case 12616: case 12617: case 12618: case 12646: case 12647: case 12648: case 12652: case 12653: case 12654: case 12682: case 12683: case 12684: case 12688: case 12689: case 12690: case 12718: case 12719: case 12720: case 12724: case 12725: case 12726: case 12754: case 12755: case 12756: case 12760: case 12761: case 12762: case 12790: case 12791: case 12792: case 12796: case 12797: case 12798: return South::Low; - case 12490: case 12491: case 12492: case 12496: case 12497: case 12498: case 12526: case 12527: case 12528: case 12532: case 12533: case 12534: case 12562: case 12563: case 12564: case 12568: case 12569: case 12570: case 12598: case 12599: case 12600: case 12604: case 12605: case 12606: case 12634: case 12635: case 12636: case 12640: case 12641: case 12642: case 12670: case 12671: case 12672: case 12676: case 12677: case 12678: case 12706: case 12707: case 12708: case 12712: case 12713: case 12714: case 12742: case 12743: case 12744: case 12748: case 12749: case 12750: case 12778: case 12779: case 12780: case 12784: case 12785: case 12786: return South::None; - default: return South::Tall; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 12496: case 12497: case 12498: case 12508: case 12509: case 12510: case 12520: case 12521: case 12522: case 12532: case 12533: case 12534: case 12544: case 12545: case 12546: case 12556: case 12557: case 12558: case 12568: case 12569: case 12570: case 12580: case 12581: case 12582: case 12592: case 12593: case 12594: case 12604: case 12605: case 12606: case 12616: case 12617: case 12618: case 12628: case 12629: case 12630: case 12640: case 12641: case 12642: case 12652: case 12653: case 12654: case 12664: case 12665: case 12666: case 12676: case 12677: case 12678: case 12688: case 12689: case 12690: case 12700: case 12701: case 12702: case 12712: case 12713: case 12714: case 12724: case 12725: case 12726: case 12736: case 12737: case 12738: case 12748: case 12749: case 12750: case 12760: case 12761: case 12762: case 12772: case 12773: case 12774: case 12784: case 12785: case 12786: case 12796: case 12797: case 12798: case 12808: case 12809: case 12810: return false; - default: return true; - } - } - enum West West(const BlockState Block) - { - switch (Block.ID) - { - case 12491: case 12497: case 12503: case 12509: case 12515: case 12521: case 12527: case 12533: case 12539: case 12545: case 12551: case 12557: case 12563: case 12569: case 12575: case 12581: case 12587: case 12593: case 12599: case 12605: case 12611: case 12617: case 12623: case 12629: case 12635: case 12641: case 12647: case 12653: case 12659: case 12665: case 12671: case 12677: case 12683: case 12689: case 12695: case 12701: case 12707: case 12713: case 12719: case 12725: case 12731: case 12737: case 12743: case 12749: case 12755: case 12761: case 12767: case 12773: case 12779: case 12785: case 12791: case 12797: case 12803: case 12809: return West::Low; - case 12490: case 12496: case 12502: case 12508: case 12514: case 12520: case 12526: case 12532: case 12538: case 12544: case 12550: case 12556: case 12562: case 12568: case 12574: case 12580: case 12586: case 12592: case 12598: case 12604: case 12610: case 12616: case 12622: case 12628: case 12634: case 12640: case 12646: case 12652: case 12658: case 12664: case 12670: case 12676: case 12682: case 12688: case 12694: case 12700: case 12706: case 12712: case 12718: case 12724: case 12730: case 12736: case 12742: case 12748: case 12754: case 12760: case 12766: case 12772: case 12778: case 12784: case 12790: case 12796: case 12802: case 12808: return West::None; - default: return West::Tall; - } - } - } - namespace StoneBricks - { - } - namespace StoneButton - { - BlockState StoneButton() - { - return 3906; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 3913: case 3914: case 3915: case 3916: case 3917: case 3918: case 3919: case 3920: return Face::Ceiling; - case 3897: case 3898: case 3899: case 3900: case 3901: case 3902: case 3903: case 3904: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 3901: case 3902: case 3909: case 3910: case 3917: case 3918: return eBlockFace::BLOCK_FACE_XM; - case 3903: case 3904: case 3911: case 3912: case 3919: case 3920: return eBlockFace::BLOCK_FACE_XP; - case 3897: case 3898: case 3905: case 3906: case 3913: case 3914: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3898: case 3900: case 3902: case 3904: case 3906: case 3908: case 3910: case 3912: case 3914: case 3916: case 3918: case 3920: return false; - default: return true; - } - } - } - namespace StonePressurePlate - { - BlockState StonePressurePlate() - { - return 3808; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 3808: return false; - default: return true; - } - } - } - namespace StoneSlab - { - BlockState StoneSlab() - { - return 8339; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 8339: return Type::Bottom; - case 8341: return Type::Double; - default: return Type::Top; - } - } - } - namespace StoneStairs - { - BlockState StoneStairs() - { - return 10160; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 10190: case 10192: case 10194: case 10196: case 10198: case 10200: case 10202: case 10204: case 10206: case 10208: return eBlockFace::BLOCK_FACE_XM; - case 10210: case 10212: case 10214: case 10216: case 10218: case 10220: case 10222: case 10224: case 10226: case 10228: return eBlockFace::BLOCK_FACE_XP; - case 10150: case 10152: case 10154: case 10156: case 10158: case 10160: case 10162: case 10164: case 10166: case 10168: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 10160: case 10162: case 10164: case 10166: case 10168: case 10180: case 10182: case 10184: case 10186: case 10188: case 10200: case 10202: case 10204: case 10206: case 10208: case 10220: case 10222: case 10224: case 10226: case 10228: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 10152: case 10162: case 10172: case 10182: case 10192: case 10202: case 10212: case 10222: return Shape::InnerLeft; - case 10154: case 10164: case 10174: case 10184: case 10194: case 10204: case 10214: case 10224: return Shape::InnerRight; - case 10156: case 10166: case 10176: case 10186: case 10196: case 10206: case 10216: case 10226: return Shape::OuterLeft; - case 10158: case 10168: case 10178: case 10188: case 10198: case 10208: case 10218: case 10228: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace Stonecutter - { - BlockState Stonecutter() - { - return 14850; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 14852: return eBlockFace::BLOCK_FACE_XM; - case 14853: return eBlockFace::BLOCK_FACE_XP; - case 14850: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace StrippedAcaciaLog - { - BlockState StrippedAcaciaLog() - { - return 101; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 100: return Axis::X; - case 101: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedAcaciaWood - { - BlockState StrippedAcaciaWood() - { - return 140; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 139: return Axis::X; - case 140: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedBirchLog - { - BlockState StrippedBirchLog() - { - return 95; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 94: return Axis::X; - case 95: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedBirchWood - { - BlockState StrippedBirchWood() - { - return 134; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 133: return Axis::X; - case 134: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedCrimsonHyphae - { - BlockState StrippedCrimsonHyphae() - { - return 14985; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 14984: return Axis::X; - case 14985: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedCrimsonStem - { - BlockState StrippedCrimsonStem() - { - return 14979; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 14978: return Axis::X; - case 14979: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedDarkOakLog - { - BlockState StrippedDarkOakLog() - { - return 104; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 103: return Axis::X; - case 104: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedDarkOakWood - { - BlockState StrippedDarkOakWood() - { - return 143; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 142: return Axis::X; - case 143: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedJungleLog - { - BlockState StrippedJungleLog() - { - return 98; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 97: return Axis::X; - case 98: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedJungleWood - { - BlockState StrippedJungleWood() - { - return 137; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 136: return Axis::X; - case 137: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedOakLog - { - BlockState StrippedOakLog() - { - return 107; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 106: return Axis::X; - case 107: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedOakWood - { - BlockState StrippedOakWood() - { - return 128; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 127: return Axis::X; - case 128: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedSpruceLog - { - BlockState StrippedSpruceLog() - { - return 92; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 91: return Axis::X; - case 92: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedSpruceWood - { - BlockState StrippedSpruceWood() - { - return 131; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 130: return Axis::X; - case 131: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedWarpedHyphae - { - BlockState StrippedWarpedHyphae() - { - return 14968; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 14967: return Axis::X; - case 14968: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StrippedWarpedStem - { - BlockState StrippedWarpedStem() - { - return 14962; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 14961: return Axis::X; - case 14962: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace StructureBlock - { - BlockState StructureBlock() - { - return 15735; - } - enum Mode Mode(const BlockState Block) - { - switch (Block.ID) - { - case 15737: return Mode::Corner; - case 15738: return Mode::Data; - case 15736: return Mode::Load; - default: return Mode::Save; - } - } - } - namespace StructureVoid - { - } - namespace SugarCane - { - BlockState SugarCane() - { - return 3948; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 3948: return 0; - case 3949: return 1; - case 3958: return 10; - case 3959: return 11; - case 3960: return 12; - case 3961: return 13; - case 3962: return 14; - case 3963: return 15; - case 3950: return 2; - case 3951: return 3; - case 3952: return 4; - case 3953: return 5; - case 3954: return 6; - case 3955: return 7; - case 3956: return 8; - default: return 9; - } - } - } - namespace Sunflower - { - BlockState Sunflower() - { - return 7886; - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7886: return Half::Lower; - default: return Half::Upper; - } - } - } - namespace SweetBerryBush - { - BlockState SweetBerryBush() - { - return 14954; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 14954: return 0; - case 14955: return 1; - case 14956: return 2; - default: return 3; - } - } - } - namespace TNT - { - BlockState TNT() - { - return 1431; - } - bool Unstable(const BlockState Block) - { - switch (Block.ID) - { - case 1431: return false; - default: return true; - } - } - } - namespace TallGrass - { - BlockState TallGrass() - { - return 7894; - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 7894: return Half::Lower; - default: return Half::Upper; - } - } - } - namespace TallSeagrass - { - BlockState TallSeagrass() - { - return 1347; - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 1347: return Half::Lower; - default: return Half::Upper; - } - } - } - namespace Target - { - BlockState Target() - { - return 15760; - } - unsigned char Power(const BlockState Block) - { - switch (Block.ID) - { - case 15760: return 0; - case 15761: return 1; - case 15770: return 10; - case 15771: return 11; - case 15772: return 12; - case 15773: return 13; - case 15774: return 14; - case 15775: return 15; - case 15762: return 2; - case 15763: return 3; - case 15764: return 4; - case 15765: return 5; - case 15766: return 6; - case 15767: return 7; - case 15768: return 8; - default: return 9; - } - } - } - namespace Terracotta - { - } - namespace Torch - { - } - namespace TrappedChest - { - BlockState TrappedChest() - { - return 6623; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6635: case 6637: case 6639: return eBlockFace::BLOCK_FACE_XM; - case 6641: case 6643: case 6645: return eBlockFace::BLOCK_FACE_XP; - case 6623: case 6625: case 6627: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 6625: case 6631: case 6637: case 6643: return Type::Left; - case 6627: case 6633: case 6639: case 6645: return Type::Right; - default: return Type::Single; - } - } - } - namespace Tripwire - { - BlockState Tripwire() - { - return 5402; - } - bool Attached(const BlockState Block) - { - switch (Block.ID) - { - case 5339: case 5340: case 5341: case 5342: case 5343: case 5344: case 5345: case 5346: case 5347: case 5348: case 5349: case 5350: case 5351: case 5352: case 5353: case 5354: case 5355: case 5356: case 5357: case 5358: case 5359: case 5360: case 5361: case 5362: case 5363: case 5364: case 5365: case 5366: case 5367: case 5368: case 5369: case 5370: case 5371: case 5372: case 5373: case 5374: case 5375: case 5376: case 5377: case 5378: case 5379: case 5380: case 5381: case 5382: case 5383: case 5384: case 5385: case 5386: case 5387: case 5388: case 5389: case 5390: case 5391: case 5392: case 5393: case 5394: case 5395: case 5396: case 5397: case 5398: case 5399: case 5400: case 5401: case 5402: return false; - default: return true; - } - } - bool Disarmed(const BlockState Block) - { - switch (Block.ID) - { - case 5307: case 5308: case 5309: case 5310: case 5311: case 5312: case 5313: case 5314: case 5315: case 5316: case 5317: case 5318: case 5319: case 5320: case 5321: case 5322: case 5323: case 5324: case 5325: case 5326: case 5327: case 5328: case 5329: case 5330: case 5331: case 5332: case 5333: case 5334: case 5335: case 5336: case 5337: case 5338: case 5371: case 5372: case 5373: case 5374: case 5375: case 5376: case 5377: case 5378: case 5379: case 5380: case 5381: case 5382: case 5383: case 5384: case 5385: case 5386: case 5387: case 5388: case 5389: case 5390: case 5391: case 5392: case 5393: case 5394: case 5395: case 5396: case 5397: case 5398: case 5399: case 5400: case 5401: case 5402: return false; - default: return true; - } - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 5291: case 5292: case 5293: case 5294: case 5295: case 5296: case 5297: case 5298: case 5299: case 5300: case 5301: case 5302: case 5303: case 5304: case 5305: case 5306: case 5323: case 5324: case 5325: case 5326: case 5327: case 5328: case 5329: case 5330: case 5331: case 5332: case 5333: case 5334: case 5335: case 5336: case 5337: case 5338: case 5355: case 5356: case 5357: case 5358: case 5359: case 5360: case 5361: case 5362: case 5363: case 5364: case 5365: case 5366: case 5367: case 5368: case 5369: case 5370: case 5387: case 5388: case 5389: case 5390: case 5391: case 5392: case 5393: case 5394: case 5395: case 5396: case 5397: case 5398: case 5399: case 5400: case 5401: case 5402: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 5283: case 5284: case 5285: case 5286: case 5287: case 5288: case 5289: case 5290: case 5299: case 5300: case 5301: case 5302: case 5303: case 5304: case 5305: case 5306: case 5315: case 5316: case 5317: case 5318: case 5319: case 5320: case 5321: case 5322: case 5331: case 5332: case 5333: case 5334: case 5335: case 5336: case 5337: case 5338: case 5347: case 5348: case 5349: case 5350: case 5351: case 5352: case 5353: case 5354: case 5363: case 5364: case 5365: case 5366: case 5367: case 5368: case 5369: case 5370: case 5379: case 5380: case 5381: case 5382: case 5383: case 5384: case 5385: case 5386: case 5395: case 5396: case 5397: case 5398: case 5399: case 5400: case 5401: case 5402: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 5279: case 5280: case 5281: case 5282: case 5287: case 5288: case 5289: case 5290: case 5295: case 5296: case 5297: case 5298: case 5303: case 5304: case 5305: case 5306: case 5311: case 5312: case 5313: case 5314: case 5319: case 5320: case 5321: case 5322: case 5327: case 5328: case 5329: case 5330: case 5335: case 5336: case 5337: case 5338: case 5343: case 5344: case 5345: case 5346: case 5351: case 5352: case 5353: case 5354: case 5359: case 5360: case 5361: case 5362: case 5367: case 5368: case 5369: case 5370: case 5375: case 5376: case 5377: case 5378: case 5383: case 5384: case 5385: case 5386: case 5391: case 5392: case 5393: case 5394: case 5399: case 5400: case 5401: case 5402: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 5277: case 5278: case 5281: case 5282: case 5285: case 5286: case 5289: case 5290: case 5293: case 5294: case 5297: case 5298: case 5301: case 5302: case 5305: case 5306: case 5309: case 5310: case 5313: case 5314: case 5317: case 5318: case 5321: case 5322: case 5325: case 5326: case 5329: case 5330: case 5333: case 5334: case 5337: case 5338: case 5341: case 5342: case 5345: case 5346: case 5349: case 5350: case 5353: case 5354: case 5357: case 5358: case 5361: case 5362: case 5365: case 5366: case 5369: case 5370: case 5373: case 5374: case 5377: case 5378: case 5381: case 5382: case 5385: case 5386: case 5389: case 5390: case 5393: case 5394: case 5397: case 5398: case 5401: case 5402: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 5276: case 5278: case 5280: case 5282: case 5284: case 5286: case 5288: case 5290: case 5292: case 5294: case 5296: case 5298: case 5300: case 5302: case 5304: case 5306: case 5308: case 5310: case 5312: case 5314: case 5316: case 5318: case 5320: case 5322: case 5324: case 5326: case 5328: case 5330: case 5332: case 5334: case 5336: case 5338: case 5340: case 5342: case 5344: case 5346: case 5348: case 5350: case 5352: case 5354: case 5356: case 5358: case 5360: case 5362: case 5364: case 5366: case 5368: case 5370: case 5372: case 5374: case 5376: case 5378: case 5380: case 5382: case 5384: case 5386: case 5388: case 5390: case 5392: case 5394: case 5396: case 5398: case 5400: case 5402: return false; - default: return true; - } - } - } - namespace TripwireHook - { - BlockState TripwireHook() - { - return 5268; - } - bool Attached(const BlockState Block) - { - switch (Block.ID) - { - case 5267: case 5268: case 5269: case 5270: case 5271: case 5272: case 5273: case 5274: return false; - default: return true; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 5263: case 5264: case 5271: case 5272: return eBlockFace::BLOCK_FACE_XM; - case 5265: case 5266: case 5273: case 5274: return eBlockFace::BLOCK_FACE_XP; - case 5259: case 5260: case 5267: case 5268: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 5260: case 5262: case 5264: case 5266: case 5268: case 5270: case 5272: case 5274: return false; - default: return true; - } - } - } - namespace TubeCoral - { - } - namespace TubeCoralBlock - { - } - namespace TubeCoralFan - { - } - namespace TubeCoralWallFan - { - BlockState TubeCoralWallFan() - { - return 9600; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9605: return eBlockFace::BLOCK_FACE_XM; - case 9607: return eBlockFace::BLOCK_FACE_XP; - case 9601: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace TurtleEgg - { - BlockState TurtleEgg() - { - return 9498; - } - unsigned char Eggs(const BlockState Block) - { - switch (Block.ID) - { - case 9498: case 9499: case 9500: return 1; - case 9501: case 9502: case 9503: return 2; - case 9504: case 9505: case 9506: return 3; - default: return 4; - } - } - unsigned char Hatch(const BlockState Block) - { - switch (Block.ID) - { - case 9498: case 9501: case 9504: case 9507: return 0; - case 9499: case 9502: case 9505: case 9508: return 1; - default: return 2; - } - } - } - namespace TwistingVines - { - BlockState TwistingVines() - { - return 15017; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 15017: return 0; - case 15018: return 1; - case 15027: return 10; - case 15028: return 11; - case 15029: return 12; - case 15030: return 13; - case 15031: return 14; - case 15032: return 15; - case 15033: return 16; - case 15034: return 17; - case 15035: return 18; - case 15036: return 19; - case 15019: return 2; - case 15037: return 20; - case 15038: return 21; - case 15039: return 22; - case 15040: return 23; - case 15041: return 24; - case 15042: return 25; - case 15020: return 3; - case 15021: return 4; - case 15022: return 5; - case 15023: return 6; - case 15024: return 7; - case 15025: return 8; - default: return 9; - } - } - } - namespace TwistingVinesPlant - { - } - namespace Vine - { - BlockState Vine() - { - return 4819; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 4804: case 4805: case 4806: case 4807: case 4808: case 4809: case 4810: case 4811: case 4812: case 4813: case 4814: case 4815: case 4816: case 4817: case 4818: case 4819: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 4796: case 4797: case 4798: case 4799: case 4800: case 4801: case 4802: case 4803: case 4812: case 4813: case 4814: case 4815: case 4816: case 4817: case 4818: case 4819: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 4792: case 4793: case 4794: case 4795: case 4800: case 4801: case 4802: case 4803: case 4808: case 4809: case 4810: case 4811: case 4816: case 4817: case 4818: case 4819: return false; - default: return true; - } - } - bool Up(const BlockState Block) - { - switch (Block.ID) - { - case 4790: case 4791: case 4794: case 4795: case 4798: case 4799: case 4802: case 4803: case 4806: case 4807: case 4810: case 4811: case 4814: case 4815: case 4818: case 4819: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 4789: case 4791: case 4793: case 4795: case 4797: case 4799: case 4801: case 4803: case 4805: case 4807: case 4809: case 4811: case 4813: case 4815: case 4817: case 4819: return false; - default: return true; - } - } - } - namespace VoidAir - { - } - namespace WallTorch - { - BlockState WallTorch() - { - return 1436; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1438: return eBlockFace::BLOCK_FACE_XM; - case 1439: return eBlockFace::BLOCK_FACE_XP; - case 1436: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace WarpedButton - { - BlockState WarpedButton() - { - return 15512; - } - enum Face Face(const BlockState Block) - { - switch (Block.ID) - { - case 15519: case 15520: case 15521: case 15522: case 15523: case 15524: case 15525: case 15526: return Face::Ceiling; - case 15503: case 15504: case 15505: case 15506: case 15507: case 15508: case 15509: case 15510: return Face::Floor; - default: return Face::Wall; - } - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15507: case 15508: case 15515: case 15516: case 15523: case 15524: return eBlockFace::BLOCK_FACE_XM; - case 15509: case 15510: case 15517: case 15518: case 15525: case 15526: return eBlockFace::BLOCK_FACE_XP; - case 15503: case 15504: case 15511: case 15512: case 15519: case 15520: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15504: case 15506: case 15508: case 15510: case 15512: case 15514: case 15516: case 15518: case 15520: case 15522: case 15524: case 15526: return false; - default: return true; - } - } - } - namespace WarpedDoor - { - BlockState WarpedDoor() - { - return 15602; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15623: case 15624: case 15625: case 15626: case 15627: case 15628: case 15629: case 15630: case 15631: case 15632: case 15633: case 15634: case 15635: case 15636: case 15637: case 15638: return eBlockFace::BLOCK_FACE_XM; - case 15639: case 15640: case 15641: case 15642: case 15643: case 15644: case 15645: case 15646: case 15647: case 15648: case 15649: case 15650: case 15651: case 15652: case 15653: case 15654: return eBlockFace::BLOCK_FACE_XP; - case 15591: case 15592: case 15593: case 15594: case 15595: case 15596: case 15597: case 15598: case 15599: case 15600: case 15601: case 15602: case 15603: case 15604: case 15605: case 15606: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 15599: case 15600: case 15601: case 15602: case 15603: case 15604: case 15605: case 15606: case 15615: case 15616: case 15617: case 15618: case 15619: case 15620: case 15621: case 15622: case 15631: case 15632: case 15633: case 15634: case 15635: case 15636: case 15637: case 15638: case 15647: case 15648: case 15649: case 15650: case 15651: case 15652: case 15653: case 15654: return Half::Lower; - default: return Half::Upper; - } - } - enum Hinge Hinge(const BlockState Block) - { - switch (Block.ID) - { - case 15591: case 15592: case 15593: case 15594: case 15599: case 15600: case 15601: case 15602: case 15607: case 15608: case 15609: case 15610: case 15615: case 15616: case 15617: case 15618: case 15623: case 15624: case 15625: case 15626: case 15631: case 15632: case 15633: case 15634: case 15639: case 15640: case 15641: case 15642: case 15647: case 15648: case 15649: case 15650: return Hinge::Left; - default: return Hinge::Right; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 15593: case 15594: case 15597: case 15598: case 15601: case 15602: case 15605: case 15606: case 15609: case 15610: case 15613: case 15614: case 15617: case 15618: case 15621: case 15622: case 15625: case 15626: case 15629: case 15630: case 15633: case 15634: case 15637: case 15638: case 15641: case 15642: case 15645: case 15646: case 15649: case 15650: case 15653: case 15654: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15592: case 15594: case 15596: case 15598: case 15600: case 15602: case 15604: case 15606: case 15608: case 15610: case 15612: case 15614: case 15616: case 15618: case 15620: case 15622: case 15624: case 15626: case 15628: case 15630: case 15632: case 15634: case 15636: case 15638: case 15640: case 15642: case 15644: case 15646: case 15648: case 15650: case 15652: case 15654: return false; - default: return true; - } - } - } - namespace WarpedFence - { - BlockState WarpedFence() - { - return 15126; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 15113: case 15114: case 15117: case 15118: case 15121: case 15122: case 15125: case 15126: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 15105: case 15106: case 15109: case 15110: case 15121: case 15122: case 15125: case 15126: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 15101: case 15102: case 15109: case 15110: case 15117: case 15118: case 15125: case 15126: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 15098: case 15102: case 15106: case 15110: case 15114: case 15118: case 15122: case 15126: return false; - default: return true; - } - } - } - namespace WarpedFenceGate - { - BlockState WarpedFenceGate() - { - return 15294; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15303: case 15304: case 15305: case 15306: case 15307: case 15308: case 15309: case 15310: return eBlockFace::BLOCK_FACE_XM; - case 15311: case 15312: case 15313: case 15314: case 15315: case 15316: case 15317: case 15318: return eBlockFace::BLOCK_FACE_XP; - case 15287: case 15288: case 15289: case 15290: case 15291: case 15292: case 15293: case 15294: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool InWall(const BlockState Block) - { - switch (Block.ID) - { - case 15291: case 15292: case 15293: case 15294: case 15299: case 15300: case 15301: case 15302: case 15307: case 15308: case 15309: case 15310: case 15315: case 15316: case 15317: case 15318: return false; - default: return true; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 15289: case 15290: case 15293: case 15294: case 15297: case 15298: case 15301: case 15302: case 15305: case 15306: case 15309: case 15310: case 15313: case 15314: case 15317: case 15318: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15288: case 15290: case 15292: case 15294: case 15296: case 15298: case 15300: case 15302: case 15304: case 15306: case 15308: case 15310: case 15312: case 15314: case 15316: case 15318: return false; - default: return true; - } - } - } - namespace WarpedFungus - { - } - namespace WarpedHyphae - { - BlockState WarpedHyphae() - { - return 14965; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 14964: return Axis::X; - case 14965: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace WarpedNylium - { - } - namespace WarpedPlanks - { - } - namespace WarpedPressurePlate - { - BlockState WarpedPressurePlate() - { - return 15062; - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15062: return false; - default: return true; - } - } - } - namespace WarpedRoots - { - } - namespace WarpedSign - { - BlockState WarpedSign() - { - return 15688; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 15688: return 0; - case 15690: return 1; - case 15708: return 10; - case 15710: return 11; - case 15712: return 12; - case 15714: return 13; - case 15716: return 14; - case 15718: return 15; - case 15692: return 2; - case 15694: return 3; - case 15696: return 4; - case 15698: return 5; - case 15700: return 6; - case 15702: return 7; - case 15704: return 8; - default: return 9; - } - } - } - namespace WarpedSlab - { - BlockState WarpedSlab() - { - return 15056; - } - enum Type Type(const BlockState Block) - { - switch (Block.ID) - { - case 15056: return Type::Bottom; - case 15058: return Type::Double; - default: return Type::Top; - } - } - } - namespace WarpedStairs - { - BlockState WarpedStairs() - { - return 15410; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15440: case 15442: case 15444: case 15446: case 15448: case 15450: case 15452: case 15454: case 15456: case 15458: return eBlockFace::BLOCK_FACE_XM; - case 15460: case 15462: case 15464: case 15466: case 15468: case 15470: case 15472: case 15474: case 15476: case 15478: return eBlockFace::BLOCK_FACE_XP; - case 15400: case 15402: case 15404: case 15406: case 15408: case 15410: case 15412: case 15414: case 15416: case 15418: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 15410: case 15412: case 15414: case 15416: case 15418: case 15430: case 15432: case 15434: case 15436: case 15438: case 15450: case 15452: case 15454: case 15456: case 15458: case 15470: case 15472: case 15474: case 15476: case 15478: return Half::Bottom; - default: return Half::Top; - } - } - enum Shape Shape(const BlockState Block) - { - switch (Block.ID) - { - case 15402: case 15412: case 15422: case 15432: case 15442: case 15452: case 15462: case 15472: return Shape::InnerLeft; - case 15404: case 15414: case 15424: case 15434: case 15444: case 15454: case 15464: case 15474: return Shape::InnerRight; - case 15406: case 15416: case 15426: case 15436: case 15446: case 15456: case 15466: case 15476: return Shape::OuterLeft; - case 15408: case 15418: case 15428: case 15438: case 15448: case 15458: case 15468: case 15478: return Shape::OuterRight; - default: return Shape::Straight; - } - } - } - namespace WarpedStem - { - BlockState WarpedStem() - { - return 14959; - } - enum Axis Axis(const BlockState Block) - { - switch (Block.ID) - { - case 14958: return Axis::X; - case 14959: return Axis::Y; - default: return Axis::Z; - } - } - } - namespace WarpedTrapdoor - { - BlockState WarpedTrapdoor() - { - return 15206; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15224: case 15226: case 15228: case 15230: case 15232: case 15234: case 15236: case 15238: return eBlockFace::BLOCK_FACE_XM; - case 15240: case 15242: case 15244: case 15246: case 15248: case 15250: case 15252: case 15254: return eBlockFace::BLOCK_FACE_XP; - case 15192: case 15194: case 15196: case 15198: case 15200: case 15202: case 15204: case 15206: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - enum Half Half(const BlockState Block) - { - switch (Block.ID) - { - case 15200: case 15202: case 15204: case 15206: case 15216: case 15218: case 15220: case 15222: case 15232: case 15234: case 15236: case 15238: case 15248: case 15250: case 15252: case 15254: return Half::Bottom; - default: return Half::Top; - } - } - bool Open(const BlockState Block) - { - switch (Block.ID) - { - case 15196: case 15198: case 15204: case 15206: case 15212: case 15214: case 15220: case 15222: case 15228: case 15230: case 15236: case 15238: case 15244: case 15246: case 15252: case 15254: return false; - default: return true; - } - } - bool Powered(const BlockState Block) - { - switch (Block.ID) - { - case 15194: case 15198: case 15202: case 15206: case 15210: case 15214: case 15218: case 15222: case 15226: case 15230: case 15234: case 15238: case 15242: case 15246: case 15250: case 15254: return false; - default: return true; - } - } - } - namespace WarpedWallSign - { - BlockState WarpedWallSign() - { - return 15728; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 15732: return eBlockFace::BLOCK_FACE_XM; - case 15734: return eBlockFace::BLOCK_FACE_XP; - case 15728: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace WarpedWartBlock - { - } - namespace Water - { - BlockState Water() - { - return 34; - } - unsigned char Level(const BlockState Block) - { - switch (Block.ID) - { - case 34: return 0; - case 35: return 1; - case 44: return 10; - case 45: return 11; - case 46: return 12; - case 47: return 13; - case 48: return 14; - case 49: return 15; - case 36: return 2; - case 37: return 3; - case 38: return 4; - case 39: return 5; - case 40: return 6; - case 41: return 7; - case 42: return 8; - default: return 9; - } - } - } - namespace WeepingVines - { - BlockState WeepingVines() - { - return 14990; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 14990: return 0; - case 14991: return 1; - case 15000: return 10; - case 15001: return 11; - case 15002: return 12; - case 15003: return 13; - case 15004: return 14; - case 15005: return 15; - case 15006: return 16; - case 15007: return 17; - case 15008: return 18; - case 15009: return 19; - case 14992: return 2; - case 15010: return 20; - case 15011: return 21; - case 15012: return 22; - case 15013: return 23; - case 15014: return 24; - case 15015: return 25; - case 14993: return 3; - case 14994: return 4; - case 14995: return 5; - case 14996: return 6; - case 14997: return 7; - case 14998: return 8; - default: return 9; - } - } - } - namespace WeepingVinesPlant - { - } - namespace WetSponge - { - } - namespace Wheat - { - BlockState Wheat() - { - return 3357; - } - unsigned char Age(const BlockState Block) - { - switch (Block.ID) - { - case 3357: return 0; - case 3358: return 1; - case 3359: return 2; - case 3360: return 3; - case 3361: return 4; - case 3362: return 5; - case 3363: return 6; - default: return 7; - } - } - } - namespace WhiteBanner - { - BlockState WhiteBanner() - { - return 7897; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 7897: return 0; - case 7898: return 1; - case 7907: return 10; - case 7908: return 11; - case 7909: return 12; - case 7910: return 13; - case 7911: return 14; - case 7912: return 15; - case 7899: return 2; - case 7900: return 3; - case 7901: return 4; - case 7902: return 5; - case 7903: return 6; - case 7904: return 7; - case 7905: return 8; - default: return 9; - } - } - } - namespace WhiteBed - { - BlockState WhiteBed() - { - return 1052; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1057: case 1058: case 1059: case 1060: return eBlockFace::BLOCK_FACE_XM; - case 1061: case 1062: case 1063: case 1064: return eBlockFace::BLOCK_FACE_XP; - case 1049: case 1050: case 1051: case 1052: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1051: case 1052: case 1055: case 1056: case 1059: case 1060: case 1063: case 1064: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1050: case 1052: case 1054: case 1056: case 1058: case 1060: case 1062: case 1064: return Part::Foot; - default: return Part::Head; - } - } - } - namespace WhiteCarpet - { - } - namespace WhiteConcrete - { - } - namespace WhiteConcretePowder - { - } - namespace WhiteGlazedTerracotta - { - BlockState WhiteGlazedTerracotta() - { - return 9374; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9376: return eBlockFace::BLOCK_FACE_XM; - case 9377: return eBlockFace::BLOCK_FACE_XP; - case 9374: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace WhiteShulkerBox - { - BlockState WhiteShulkerBox() - { - return 9282; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9281: return eBlockFace::BLOCK_FACE_XM; - case 9279: return eBlockFace::BLOCK_FACE_XP; - case 9283: return eBlockFace::BLOCK_FACE_YM; - case 9282: return eBlockFace::BLOCK_FACE_YP; - case 9278: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace WhiteStainedGlass - { - } - namespace WhiteStainedGlassPane - { - BlockState WhiteStainedGlassPane() - { - return 6894; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 6881: case 6882: case 6885: case 6886: case 6889: case 6890: case 6893: case 6894: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 6873: case 6874: case 6877: case 6878: case 6889: case 6890: case 6893: case 6894: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 6869: case 6870: case 6877: case 6878: case 6885: case 6886: case 6893: case 6894: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 6866: case 6870: case 6874: case 6878: case 6882: case 6886: case 6890: case 6894: return false; - default: return true; - } - } - } - namespace WhiteTerracotta - { - } - namespace WhiteTulip - { - } - namespace WhiteWallBanner - { - BlockState WhiteWallBanner() - { - return 8153; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8155: return eBlockFace::BLOCK_FACE_XM; - case 8156: return eBlockFace::BLOCK_FACE_XP; - case 8153: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace WhiteWool - { - } - namespace WitherRose - { - } - namespace WitherSkeletonSkull - { - BlockState WitherSkeletonSkull() - { - return 6510; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 6510: return 0; - case 6511: return 1; - case 6520: return 10; - case 6521: return 11; - case 6522: return 12; - case 6523: return 13; - case 6524: return 14; - case 6525: return 15; - case 6512: return 2; - case 6513: return 3; - case 6514: return 4; - case 6515: return 5; - case 6516: return 6; - case 6517: return 7; - case 6518: return 8; - default: return 9; - } - } - } - namespace WitherSkeletonWallSkull - { - BlockState WitherSkeletonWallSkull() - { - return 6526; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6528: return eBlockFace::BLOCK_FACE_XM; - case 6529: return eBlockFace::BLOCK_FACE_XP; - case 6526: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace YellowBanner - { - BlockState YellowBanner() - { - return 7961; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 7961: return 0; - case 7962: return 1; - case 7971: return 10; - case 7972: return 11; - case 7973: return 12; - case 7974: return 13; - case 7975: return 14; - case 7976: return 15; - case 7963: return 2; - case 7964: return 3; - case 7965: return 4; - case 7966: return 5; - case 7967: return 6; - case 7968: return 7; - case 7969: return 8; - default: return 9; - } - } - } - namespace YellowBed - { - BlockState YellowBed() - { - return 1116; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 1121: case 1122: case 1123: case 1124: return eBlockFace::BLOCK_FACE_XM; - case 1125: case 1126: case 1127: case 1128: return eBlockFace::BLOCK_FACE_XP; - case 1113: case 1114: case 1115: case 1116: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - bool Occupied(const BlockState Block) - { - switch (Block.ID) - { - case 1115: case 1116: case 1119: case 1120: case 1123: case 1124: case 1127: case 1128: return false; - default: return true; - } - } - enum Part Part(const BlockState Block) - { - switch (Block.ID) - { - case 1114: case 1116: case 1118: case 1120: case 1122: case 1124: case 1126: case 1128: return Part::Foot; - default: return Part::Head; - } - } - } - namespace YellowCarpet - { - } - namespace YellowConcrete - { - } - namespace YellowConcretePowder - { - } - namespace YellowGlazedTerracotta - { - BlockState YellowGlazedTerracotta() - { - return 9390; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9392: return eBlockFace::BLOCK_FACE_XM; - case 9393: return eBlockFace::BLOCK_FACE_XP; - case 9390: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace YellowShulkerBox - { - BlockState YellowShulkerBox() - { - return 9306; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 9305: return eBlockFace::BLOCK_FACE_XM; - case 9303: return eBlockFace::BLOCK_FACE_XP; - case 9307: return eBlockFace::BLOCK_FACE_YM; - case 9306: return eBlockFace::BLOCK_FACE_YP; - case 9302: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace YellowStainedGlass - { - } - namespace YellowStainedGlassPane - { - BlockState YellowStainedGlassPane() - { - return 7022; - } - bool East(const BlockState Block) - { - switch (Block.ID) - { - case 7009: case 7010: case 7013: case 7014: case 7017: case 7018: case 7021: case 7022: return false; - default: return true; - } - } - bool North(const BlockState Block) - { - switch (Block.ID) - { - case 7001: case 7002: case 7005: case 7006: case 7017: case 7018: case 7021: case 7022: return false; - default: return true; - } - } - bool South(const BlockState Block) - { - switch (Block.ID) - { - case 6997: case 6998: case 7005: case 7006: case 7013: case 7014: case 7021: case 7022: return false; - default: return true; - } - } - bool West(const BlockState Block) - { - switch (Block.ID) - { - case 6994: case 6998: case 7002: case 7006: case 7010: case 7014: case 7018: case 7022: return false; - default: return true; - } - } - } - namespace YellowTerracotta - { - } - namespace YellowWallBanner - { - BlockState YellowWallBanner() - { - return 8169; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 8171: return eBlockFace::BLOCK_FACE_XM; - case 8172: return eBlockFace::BLOCK_FACE_XP; - case 8169: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } - } - namespace YellowWool - { - } - namespace ZombieHead - { - BlockState ZombieHead() - { - return 6530; - } - unsigned char Rotation(const BlockState Block) - { - switch (Block.ID) - { - case 6530: return 0; - case 6531: return 1; - case 6540: return 10; - case 6541: return 11; - case 6542: return 12; - case 6543: return 13; - case 6544: return 14; - case 6545: return 15; - case 6532: return 2; - case 6533: return 3; - case 6534: return 4; - case 6535: return 5; - case 6536: return 6; - case 6537: return 7; - case 6538: return 8; - default: return 9; - } - } - } - namespace ZombieWallHead - { - BlockState ZombieWallHead() - { - return 6546; - } - eBlockFace Facing(const BlockState Block) - { - switch (Block.ID) - { - case 6548: return eBlockFace::BLOCK_FACE_XM; - case 6549: return eBlockFace::BLOCK_FACE_XP; - case 6546: return eBlockFace::BLOCK_FACE_ZM; - default: return eBlockFace::BLOCK_FACE_ZP; - } - } + case 6548: return eBlockFace::BLOCK_FACE_XM; + case 6549: return eBlockFace::BLOCK_FACE_XP; + case 6546: return eBlockFace::BLOCK_FACE_ZM; + default: return eBlockFace::BLOCK_FACE_ZP; } } +} // namespace ZombieWallHead +} // namespace Block BlockType BlockState::Type() const { switch (ID) { - case 6442: case 6443: case 6444: case 6445: case 6446: case 6447: case 6448: case 6449: case 6450: case 6451: case 6452: case 6453: case 6454: case 6455: case 6456: case 6457: case 6458: case 6459: case 6460: case 6461: case 6462: case 6463: case 6464: case 6465: return BlockType::AcaciaButton; - case 8930: case 8931: case 8932: case 8933: case 8934: case 8935: case 8936: case 8937: case 8938: case 8939: case 8940: case 8941: case 8942: case 8943: case 8944: case 8945: case 8946: case 8947: case 8948: case 8949: case 8950: case 8951: case 8952: case 8953: case 8954: case 8955: case 8956: case 8957: case 8958: case 8959: case 8960: case 8961: case 8962: case 8963: case 8964: case 8965: case 8966: case 8967: case 8968: case 8969: case 8970: case 8971: case 8972: case 8973: case 8974: case 8975: case 8976: case 8977: case 8978: case 8979: case 8980: case 8981: case 8982: case 8983: case 8984: case 8985: case 8986: case 8987: case 8988: case 8989: case 8990: case 8991: case 8992: case 8993: return BlockType::AcaciaDoor; - case 8676: case 8677: case 8680: case 8681: case 8684: case 8685: case 8688: case 8689: case 8692: case 8693: case 8696: case 8697: case 8700: case 8701: case 8704: case 8705: return BlockType::AcaciaFence; - case 8514: case 8515: case 8516: case 8517: case 8518: case 8519: case 8520: case 8521: case 8522: case 8523: case 8524: case 8525: case 8526: case 8527: case 8528: case 8529: case 8530: case 8531: case 8532: case 8533: case 8534: case 8535: case 8536: case 8537: case 8538: case 8539: case 8540: case 8541: case 8542: case 8543: case 8544: case 8545: return BlockType::AcaciaFenceGate; - case 201: case 202: case 203: case 204: case 205: case 206: case 207: case 208: case 209: case 210: case 211: case 212: case 213: case 214: return BlockType::AcaciaLeaves; - case 85: case 86: case 87: return BlockType::AcaciaLog; - case 19: return BlockType::AcaciaPlanks; - case 3881: case 3882: return BlockType::AcaciaPressurePlate; - case 29: case 30: return BlockType::AcaciaSapling; - case 3478: case 3480: case 3482: case 3484: case 3486: case 3488: case 3490: case 3492: case 3494: case 3496: case 3498: case 3500: case 3502: case 3504: case 3506: case 3508: return BlockType::AcaciaSign; - case 8325: case 8327: case 8329: return BlockType::AcaciaSlab; - case 7376: case 7378: case 7380: case 7382: case 7384: case 7386: case 7388: case 7390: case 7392: case 7394: case 7396: case 7398: case 7400: case 7402: case 7404: case 7406: case 7408: case 7410: case 7412: case 7414: case 7416: case 7418: case 7420: case 7422: case 7424: case 7426: case 7428: case 7430: case 7432: case 7434: case 7436: case 7438: case 7440: case 7442: case 7444: case 7446: case 7448: case 7450: case 7452: case 7454: return BlockType::AcaciaStairs; - case 4368: case 4370: case 4372: case 4374: case 4376: case 4378: case 4380: case 4382: case 4384: case 4386: case 4388: case 4390: case 4392: case 4394: case 4396: case 4398: case 4400: case 4402: case 4404: case 4406: case 4408: case 4410: case 4412: case 4414: case 4416: case 4418: case 4420: case 4422: case 4424: case 4426: case 4428: case 4430: return BlockType::AcaciaTrapdoor; - case 3760: case 3762: case 3764: case 3766: return BlockType::AcaciaWallSign; - case 121: case 122: case 123: return BlockType::AcaciaWood; - case 6823: case 6824: case 6825: case 6826: case 6827: case 6828: case 6829: case 6830: case 6831: case 6832: case 6833: case 6834: return BlockType::ActivatorRail; - case -0: return BlockType::Air; - case 1415: return BlockType::Allium; + case 6442: + case 6443: + case 6444: + case 6445: + case 6446: + case 6447: + case 6448: + case 6449: + case 6450: + case 6451: + case 6452: + case 6453: + case 6454: + case 6455: + case 6456: + case 6457: + case 6458: + case 6459: + case 6460: + case 6461: + case 6462: + case 6463: + case 6464: + case 6465: return BlockType::AcaciaButton; + case 8930: + case 8931: + case 8932: + case 8933: + case 8934: + case 8935: + case 8936: + case 8937: + case 8938: + case 8939: + case 8940: + case 8941: + case 8942: + case 8943: + case 8944: + case 8945: + case 8946: + case 8947: + case 8948: + case 8949: + case 8950: + case 8951: + case 8952: + case 8953: + case 8954: + case 8955: + case 8956: + case 8957: + case 8958: + case 8959: + case 8960: + case 8961: + case 8962: + case 8963: + case 8964: + case 8965: + case 8966: + case 8967: + case 8968: + case 8969: + case 8970: + case 8971: + case 8972: + case 8973: + case 8974: + case 8975: + case 8976: + case 8977: + case 8978: + case 8979: + case 8980: + case 8981: + case 8982: + case 8983: + case 8984: + case 8985: + case 8986: + case 8987: + case 8988: + case 8989: + case 8990: + case 8991: + case 8992: + case 8993: return BlockType::AcaciaDoor; + case 8676: + case 8677: + case 8680: + case 8681: + case 8684: + case 8685: + case 8688: + case 8689: + case 8692: + case 8693: + case 8696: + case 8697: + case 8700: + case 8701: + case 8704: + case 8705: return BlockType::AcaciaFence; + case 8514: + case 8515: + case 8516: + case 8517: + case 8518: + case 8519: + case 8520: + case 8521: + case 8522: + case 8523: + case 8524: + case 8525: + case 8526: + case 8527: + case 8528: + case 8529: + case 8530: + case 8531: + case 8532: + case 8533: + case 8534: + case 8535: + case 8536: + case 8537: + case 8538: + case 8539: + case 8540: + case 8541: + case 8542: + case 8543: + case 8544: + case 8545: return BlockType::AcaciaFenceGate; + case 201: + case 202: + case 203: + case 204: + case 205: + case 206: + case 207: + case 208: + case 209: + case 210: + case 211: + case 212: + case 213: + case 214: return BlockType::AcaciaLeaves; + case 85: + case 86: + case 87: return BlockType::AcaciaLog; + case 19: return BlockType::AcaciaPlanks; + case 3881: + case 3882: return BlockType::AcaciaPressurePlate; + case 29: + case 30: return BlockType::AcaciaSapling; + case 3478: + case 3480: + case 3482: + case 3484: + case 3486: + case 3488: + case 3490: + case 3492: + case 3494: + case 3496: + case 3498: + case 3500: + case 3502: + case 3504: + case 3506: + case 3508: return BlockType::AcaciaSign; + case 8325: + case 8327: + case 8329: return BlockType::AcaciaSlab; + case 7376: + case 7378: + case 7380: + case 7382: + case 7384: + case 7386: + case 7388: + case 7390: + case 7392: + case 7394: + case 7396: + case 7398: + case 7400: + case 7402: + case 7404: + case 7406: + case 7408: + case 7410: + case 7412: + case 7414: + case 7416: + case 7418: + case 7420: + case 7422: + case 7424: + case 7426: + case 7428: + case 7430: + case 7432: + case 7434: + case 7436: + case 7438: + case 7440: + case 7442: + case 7444: + case 7446: + case 7448: + case 7450: + case 7452: + case 7454: return BlockType::AcaciaStairs; + case 4368: + case 4370: + case 4372: + case 4374: + case 4376: + case 4378: + case 4380: + case 4382: + case 4384: + case 4386: + case 4388: + case 4390: + case 4392: + case 4394: + case 4396: + case 4398: + case 4400: + case 4402: + case 4404: + case 4406: + case 4408: + case 4410: + case 4412: + case 4414: + case 4416: + case 4418: + case 4420: + case 4422: + case 4424: + case 4426: + case 4428: + case 4430: return BlockType::AcaciaTrapdoor; + case 3760: + case 3762: + case 3764: + case 3766: return BlockType::AcaciaWallSign; + case 121: + case 122: + case 123: return BlockType::AcaciaWood; + case 6823: + case 6824: + case 6825: + case 6826: + case 6827: + case 6828: + case 6829: + case 6830: + case 6831: + case 6832: + case 6833: + case 6834: return BlockType::ActivatorRail; + case -0: return BlockType::Air; + case 1415: return BlockType::Allium; case 15827: return BlockType::AncientDebris; - case 6: return BlockType::Andesite; - case 10844: case 10846: case 10848: return BlockType::AndesiteSlab; - case 10470: case 10472: case 10474: case 10476: case 10478: case 10480: case 10482: case 10484: case 10486: case 10488: case 10490: case 10492: case 10494: case 10496: case 10498: case 10500: case 10502: case 10504: case 10506: case 10508: case 10510: case 10512: case 10514: case 10516: case 10518: case 10520: case 10522: case 10524: case 10526: case 10528: case 10530: case 10532: case 10534: case 10536: case 10538: case 10540: case 10542: case 10544: case 10546: case 10548: return BlockType::AndesiteStairs; - case 13138: case 13139: case 13140: case 13144: case 13145: case 13146: case 13150: case 13151: case 13152: case 13156: case 13157: case 13158: case 13162: case 13163: case 13164: case 13168: case 13169: case 13170: case 13174: case 13175: case 13176: case 13180: case 13181: case 13182: case 13186: case 13187: case 13188: case 13192: case 13193: case 13194: case 13198: case 13199: case 13200: case 13204: case 13205: case 13206: case 13210: case 13211: case 13212: case 13216: case 13217: case 13218: case 13222: case 13223: case 13224: case 13228: case 13229: case 13230: case 13234: case 13235: case 13236: case 13240: case 13241: case 13242: case 13246: case 13247: case 13248: case 13252: case 13253: case 13254: case 13258: case 13259: case 13260: case 13264: case 13265: case 13266: case 13270: case 13271: case 13272: case 13276: case 13277: case 13278: case 13282: case 13283: case 13284: case 13288: case 13289: case 13290: case 13294: case 13295: case 13296: case 13300: case 13301: case 13302: case 13306: case 13307: case 13308: case 13312: case 13313: case 13314: case 13318: case 13319: case 13320: case 13324: case 13325: case 13326: case 13330: case 13331: case 13332: case 13336: case 13337: case 13338: case 13342: case 13343: case 13344: case 13348: case 13349: case 13350: case 13354: case 13355: case 13356: case 13360: case 13361: case 13362: case 13366: case 13367: case 13368: case 13372: case 13373: case 13374: case 13378: case 13379: case 13380: case 13384: case 13385: case 13386: case 13390: case 13391: case 13392: case 13396: case 13397: case 13398: case 13402: case 13403: case 13404: case 13408: case 13409: case 13410: case 13414: case 13415: case 13416: case 13420: case 13421: case 13422: case 13426: case 13427: case 13428: case 13432: case 13433: case 13434: case 13438: case 13439: case 13440: case 13444: case 13445: case 13446: case 13450: case 13451: case 13452: case 13456: case 13457: case 13458: return BlockType::AndesiteWall; - case 6610: case 6611: case 6612: case 6613: return BlockType::Anvil; - case 4768: case 4769: case 4770: case 4771: return BlockType::AttachedMelonStem; - case 4764: case 4765: case 4766: case 4767: return BlockType::AttachedPumpkinStem; - case 1416: return BlockType::AzureBluet; - case 9652: case 9653: case 9654: case 9655: case 9656: case 9657: case 9658: case 9659: case 9660: case 9661: case 9662: case 9663: return BlockType::Bamboo; - case 9651: return BlockType::BambooSapling; - case 14791: case 14792: case 14793: case 14794: case 14795: case 14796: case 14797: case 14798: case 14799: case 14800: case 14801: case 14802: return BlockType::Barrel; - case 7536: return BlockType::Barrier; - case 4002: case 4003: case 4004: return BlockType::Basalt; - case 5656: return BlockType::Beacon; - case 33: return BlockType::Bedrock; - case 15776: case 15777: case 15778: case 15779: case 15780: case 15781: case 15782: case 15783: case 15784: case 15785: case 15786: case 15787: case 15788: case 15789: case 15790: case 15791: case 15792: case 15793: case 15794: case 15795: case 15796: case 15797: case 15798: case 15799: return BlockType::BeeNest; - case 15800: case 15801: case 15802: case 15803: case 15804: case 15805: case 15806: case 15807: case 15808: case 15809: case 15810: case 15811: case 15812: case 15813: case 15814: case 15815: case 15816: case 15817: case 15818: case 15819: case 15820: case 15821: case 15822: case 15823: return BlockType::Beehive; - case 9219: case 9220: case 9221: case 9222: return BlockType::Beetroots; - case 14854: case 14855: case 14856: case 14857: case 14858: case 14859: case 14860: case 14861: case 14862: case 14863: case 14864: case 14865: case 14866: case 14867: case 14868: case 14869: case 14870: case 14871: case 14872: case 14873: case 14874: case 14875: case 14876: case 14877: case 14878: case 14879: case 14880: case 14881: case 14882: case 14883: case 14884: case 14885: return BlockType::Bell; - case 6394: case 6395: case 6396: case 6397: case 6398: case 6399: case 6400: case 6401: case 6402: case 6403: case 6404: case 6405: case 6406: case 6407: case 6408: case 6409: case 6410: case 6411: case 6412: case 6413: case 6414: case 6415: case 6416: case 6417: return BlockType::BirchButton; - case 8802: case 8803: case 8804: case 8805: case 8806: case 8807: case 8808: case 8809: case 8810: case 8811: case 8812: case 8813: case 8814: case 8815: case 8816: case 8817: case 8818: case 8819: case 8820: case 8821: case 8822: case 8823: case 8824: case 8825: case 8826: case 8827: case 8828: case 8829: case 8830: case 8831: case 8832: case 8833: case 8834: case 8835: case 8836: case 8837: case 8838: case 8839: case 8840: case 8841: case 8842: case 8843: case 8844: case 8845: case 8846: case 8847: case 8848: case 8849: case 8850: case 8851: case 8852: case 8853: case 8854: case 8855: case 8856: case 8857: case 8858: case 8859: case 8860: case 8861: case 8862: case 8863: case 8864: case 8865: return BlockType::BirchDoor; - case 8612: case 8613: case 8616: case 8617: case 8620: case 8621: case 8624: case 8625: case 8628: case 8629: case 8632: case 8633: case 8636: case 8637: case 8640: case 8641: return BlockType::BirchFence; - case 8450: case 8451: case 8452: case 8453: case 8454: case 8455: case 8456: case 8457: case 8458: case 8459: case 8460: case 8461: case 8462: case 8463: case 8464: case 8465: case 8466: case 8467: case 8468: case 8469: case 8470: case 8471: case 8472: case 8473: case 8474: case 8475: case 8476: case 8477: case 8478: case 8479: case 8480: case 8481: return BlockType::BirchFenceGate; - case 173: case 174: case 175: case 176: case 177: case 178: case 179: case 180: case 181: case 182: case 183: case 184: case 185: case 186: return BlockType::BirchLeaves; - case 79: case 80: case 81: return BlockType::BirchLog; - case 17: return BlockType::BirchPlanks; - case 3877: case 3878: return BlockType::BirchPressurePlate; - case 25: case 26: return BlockType::BirchSapling; - case 3446: case 3448: case 3450: case 3452: case 3454: case 3456: case 3458: case 3460: case 3462: case 3464: case 3466: case 3468: case 3470: case 3472: case 3474: case 3476: return BlockType::BirchSign; - case 8313: case 8315: case 8317: return BlockType::BirchSlab; - case 5485: case 5487: case 5489: case 5491: case 5493: case 5495: case 5497: case 5499: case 5501: case 5503: case 5505: case 5507: case 5509: case 5511: case 5513: case 5515: case 5517: case 5519: case 5521: case 5523: case 5525: case 5527: case 5529: case 5531: case 5533: case 5535: case 5537: case 5539: case 5541: case 5543: case 5545: case 5547: case 5549: case 5551: case 5553: case 5555: case 5557: case 5559: case 5561: case 5563: return BlockType::BirchStairs; - case 4240: case 4242: case 4244: case 4246: case 4248: case 4250: case 4252: case 4254: case 4256: case 4258: case 4260: case 4262: case 4264: case 4266: case 4268: case 4270: case 4272: case 4274: case 4276: case 4278: case 4280: case 4282: case 4284: case 4286: case 4288: case 4290: case 4292: case 4294: case 4296: case 4298: case 4300: case 4302: return BlockType::BirchTrapdoor; - case 3752: case 3754: case 3756: case 3758: return BlockType::BirchWallSign; - case 115: case 116: case 117: return BlockType::BirchWood; - case 8137: case 8138: case 8139: case 8140: case 8141: case 8142: case 8143: case 8144: case 8145: case 8146: case 8147: case 8148: case 8149: case 8150: case 8151: case 8152: return BlockType::BlackBanner; - case 1289: case 1290: case 1291: case 1292: case 1293: case 1294: case 1295: case 1296: case 1297: case 1298: case 1299: case 1300: case 1301: case 1302: case 1303: case 1304: return BlockType::BlackBed; - case 7881: return BlockType::BlackCarpet; - case 9453: return BlockType::BlackConcrete; - case 9469: return BlockType::BlackConcretePowder; - case 9434: case 9435: case 9436: case 9437: return BlockType::BlackGlazedTerracotta; - case 9368: case 9369: case 9370: case 9371: case 9372: case 9373: return BlockType::BlackShulkerBox; - case 4110: return BlockType::BlackStainedGlass; - case 7345: case 7346: case 7349: case 7350: case 7353: case 7354: case 7357: case 7358: case 7361: case 7362: case 7365: case 7366: case 7369: case 7370: case 7373: case 7374: return BlockType::BlackStainedGlassPane; - case 6862: return BlockType::BlackTerracotta; - case 8213: case 8214: case 8215: case 8216: return BlockType::BlackWallBanner; - case 1399: return BlockType::BlackWool; + case 6: return BlockType::Andesite; + case 10844: + case 10846: + case 10848: return BlockType::AndesiteSlab; + case 10470: + case 10472: + case 10474: + case 10476: + case 10478: + case 10480: + case 10482: + case 10484: + case 10486: + case 10488: + case 10490: + case 10492: + case 10494: + case 10496: + case 10498: + case 10500: + case 10502: + case 10504: + case 10506: + case 10508: + case 10510: + case 10512: + case 10514: + case 10516: + case 10518: + case 10520: + case 10522: + case 10524: + case 10526: + case 10528: + case 10530: + case 10532: + case 10534: + case 10536: + case 10538: + case 10540: + case 10542: + case 10544: + case 10546: + case 10548: return BlockType::AndesiteStairs; + case 13138: + case 13139: + case 13140: + case 13144: + case 13145: + case 13146: + case 13150: + case 13151: + case 13152: + case 13156: + case 13157: + case 13158: + case 13162: + case 13163: + case 13164: + case 13168: + case 13169: + case 13170: + case 13174: + case 13175: + case 13176: + case 13180: + case 13181: + case 13182: + case 13186: + case 13187: + case 13188: + case 13192: + case 13193: + case 13194: + case 13198: + case 13199: + case 13200: + case 13204: + case 13205: + case 13206: + case 13210: + case 13211: + case 13212: + case 13216: + case 13217: + case 13218: + case 13222: + case 13223: + case 13224: + case 13228: + case 13229: + case 13230: + case 13234: + case 13235: + case 13236: + case 13240: + case 13241: + case 13242: + case 13246: + case 13247: + case 13248: + case 13252: + case 13253: + case 13254: + case 13258: + case 13259: + case 13260: + case 13264: + case 13265: + case 13266: + case 13270: + case 13271: + case 13272: + case 13276: + case 13277: + case 13278: + case 13282: + case 13283: + case 13284: + case 13288: + case 13289: + case 13290: + case 13294: + case 13295: + case 13296: + case 13300: + case 13301: + case 13302: + case 13306: + case 13307: + case 13308: + case 13312: + case 13313: + case 13314: + case 13318: + case 13319: + case 13320: + case 13324: + case 13325: + case 13326: + case 13330: + case 13331: + case 13332: + case 13336: + case 13337: + case 13338: + case 13342: + case 13343: + case 13344: + case 13348: + case 13349: + case 13350: + case 13354: + case 13355: + case 13356: + case 13360: + case 13361: + case 13362: + case 13366: + case 13367: + case 13368: + case 13372: + case 13373: + case 13374: + case 13378: + case 13379: + case 13380: + case 13384: + case 13385: + case 13386: + case 13390: + case 13391: + case 13392: + case 13396: + case 13397: + case 13398: + case 13402: + case 13403: + case 13404: + case 13408: + case 13409: + case 13410: + case 13414: + case 13415: + case 13416: + case 13420: + case 13421: + case 13422: + case 13426: + case 13427: + case 13428: + case 13432: + case 13433: + case 13434: + case 13438: + case 13439: + case 13440: + case 13444: + case 13445: + case 13446: + case 13450: + case 13451: + case 13452: + case 13456: + case 13457: + case 13458: return BlockType::AndesiteWall; + case 6610: + case 6611: + case 6612: + case 6613: return BlockType::Anvil; + case 4768: + case 4769: + case 4770: + case 4771: return BlockType::AttachedMelonStem; + case 4764: + case 4765: + case 4766: + case 4767: return BlockType::AttachedPumpkinStem; + case 1416: return BlockType::AzureBluet; + case 9652: + case 9653: + case 9654: + case 9655: + case 9656: + case 9657: + case 9658: + case 9659: + case 9660: + case 9661: + case 9662: + case 9663: return BlockType::Bamboo; + case 9651: return BlockType::BambooSapling; + case 14791: + case 14792: + case 14793: + case 14794: + case 14795: + case 14796: + case 14797: + case 14798: + case 14799: + case 14800: + case 14801: + case 14802: return BlockType::Barrel; + case 7536: return BlockType::Barrier; + case 4002: + case 4003: + case 4004: return BlockType::Basalt; + case 5656: return BlockType::Beacon; + case 33: return BlockType::Bedrock; + case 15776: + case 15777: + case 15778: + case 15779: + case 15780: + case 15781: + case 15782: + case 15783: + case 15784: + case 15785: + case 15786: + case 15787: + case 15788: + case 15789: + case 15790: + case 15791: + case 15792: + case 15793: + case 15794: + case 15795: + case 15796: + case 15797: + case 15798: + case 15799: return BlockType::BeeNest; + case 15800: + case 15801: + case 15802: + case 15803: + case 15804: + case 15805: + case 15806: + case 15807: + case 15808: + case 15809: + case 15810: + case 15811: + case 15812: + case 15813: + case 15814: + case 15815: + case 15816: + case 15817: + case 15818: + case 15819: + case 15820: + case 15821: + case 15822: + case 15823: return BlockType::Beehive; + case 9219: + case 9220: + case 9221: + case 9222: return BlockType::Beetroots; + case 14854: + case 14855: + case 14856: + case 14857: + case 14858: + case 14859: + case 14860: + case 14861: + case 14862: + case 14863: + case 14864: + case 14865: + case 14866: + case 14867: + case 14868: + case 14869: + case 14870: + case 14871: + case 14872: + case 14873: + case 14874: + case 14875: + case 14876: + case 14877: + case 14878: + case 14879: + case 14880: + case 14881: + case 14882: + case 14883: + case 14884: + case 14885: return BlockType::Bell; + case 6394: + case 6395: + case 6396: + case 6397: + case 6398: + case 6399: + case 6400: + case 6401: + case 6402: + case 6403: + case 6404: + case 6405: + case 6406: + case 6407: + case 6408: + case 6409: + case 6410: + case 6411: + case 6412: + case 6413: + case 6414: + case 6415: + case 6416: + case 6417: return BlockType::BirchButton; + case 8802: + case 8803: + case 8804: + case 8805: + case 8806: + case 8807: + case 8808: + case 8809: + case 8810: + case 8811: + case 8812: + case 8813: + case 8814: + case 8815: + case 8816: + case 8817: + case 8818: + case 8819: + case 8820: + case 8821: + case 8822: + case 8823: + case 8824: + case 8825: + case 8826: + case 8827: + case 8828: + case 8829: + case 8830: + case 8831: + case 8832: + case 8833: + case 8834: + case 8835: + case 8836: + case 8837: + case 8838: + case 8839: + case 8840: + case 8841: + case 8842: + case 8843: + case 8844: + case 8845: + case 8846: + case 8847: + case 8848: + case 8849: + case 8850: + case 8851: + case 8852: + case 8853: + case 8854: + case 8855: + case 8856: + case 8857: + case 8858: + case 8859: + case 8860: + case 8861: + case 8862: + case 8863: + case 8864: + case 8865: return BlockType::BirchDoor; + case 8612: + case 8613: + case 8616: + case 8617: + case 8620: + case 8621: + case 8624: + case 8625: + case 8628: + case 8629: + case 8632: + case 8633: + case 8636: + case 8637: + case 8640: + case 8641: return BlockType::BirchFence; + case 8450: + case 8451: + case 8452: + case 8453: + case 8454: + case 8455: + case 8456: + case 8457: + case 8458: + case 8459: + case 8460: + case 8461: + case 8462: + case 8463: + case 8464: + case 8465: + case 8466: + case 8467: + case 8468: + case 8469: + case 8470: + case 8471: + case 8472: + case 8473: + case 8474: + case 8475: + case 8476: + case 8477: + case 8478: + case 8479: + case 8480: + case 8481: return BlockType::BirchFenceGate; + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 179: + case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: return BlockType::BirchLeaves; + case 79: + case 80: + case 81: return BlockType::BirchLog; + case 17: return BlockType::BirchPlanks; + case 3877: + case 3878: return BlockType::BirchPressurePlate; + case 25: + case 26: return BlockType::BirchSapling; + case 3446: + case 3448: + case 3450: + case 3452: + case 3454: + case 3456: + case 3458: + case 3460: + case 3462: + case 3464: + case 3466: + case 3468: + case 3470: + case 3472: + case 3474: + case 3476: return BlockType::BirchSign; + case 8313: + case 8315: + case 8317: return BlockType::BirchSlab; + case 5485: + case 5487: + case 5489: + case 5491: + case 5493: + case 5495: + case 5497: + case 5499: + case 5501: + case 5503: + case 5505: + case 5507: + case 5509: + case 5511: + case 5513: + case 5515: + case 5517: + case 5519: + case 5521: + case 5523: + case 5525: + case 5527: + case 5529: + case 5531: + case 5533: + case 5535: + case 5537: + case 5539: + case 5541: + case 5543: + case 5545: + case 5547: + case 5549: + case 5551: + case 5553: + case 5555: + case 5557: + case 5559: + case 5561: + case 5563: return BlockType::BirchStairs; + case 4240: + case 4242: + case 4244: + case 4246: + case 4248: + case 4250: + case 4252: + case 4254: + case 4256: + case 4258: + case 4260: + case 4262: + case 4264: + case 4266: + case 4268: + case 4270: + case 4272: + case 4274: + case 4276: + case 4278: + case 4280: + case 4282: + case 4284: + case 4286: + case 4288: + case 4290: + case 4292: + case 4294: + case 4296: + case 4298: + case 4300: + case 4302: return BlockType::BirchTrapdoor; + case 3752: + case 3754: + case 3756: + case 3758: return BlockType::BirchWallSign; + case 115: + case 116: + case 117: return BlockType::BirchWood; + case 8137: + case 8138: + case 8139: + case 8140: + case 8141: + case 8142: + case 8143: + case 8144: + case 8145: + case 8146: + case 8147: + case 8148: + case 8149: + case 8150: + case 8151: + case 8152: return BlockType::BlackBanner; + case 1289: + case 1290: + case 1291: + case 1292: + case 1293: + case 1294: + case 1295: + case 1296: + case 1297: + case 1298: + case 1299: + case 1300: + case 1301: + case 1302: + case 1303: + case 1304: return BlockType::BlackBed; + case 7881: return BlockType::BlackCarpet; + case 9453: return BlockType::BlackConcrete; + case 9469: return BlockType::BlackConcretePowder; + case 9434: + case 9435: + case 9436: + case 9437: return BlockType::BlackGlazedTerracotta; + case 9368: + case 9369: + case 9370: + case 9371: + case 9372: + case 9373: return BlockType::BlackShulkerBox; + case 4110: return BlockType::BlackStainedGlass; + case 7345: + case 7346: + case 7349: + case 7350: + case 7353: + case 7354: + case 7357: + case 7358: + case 7361: + case 7362: + case 7365: + case 7366: + case 7369: + case 7370: + case 7373: + case 7374: return BlockType::BlackStainedGlassPane; + case 6862: return BlockType::BlackTerracotta; + case 8213: + case 8214: + case 8215: + case 8216: return BlockType::BlackWallBanner; + case 1399: return BlockType::BlackWool; case 15839: return BlockType::Blackstone; - case 16245: case 16247: case 16249: return BlockType::BlackstoneSlab; - case 15841: case 15843: case 15845: case 15847: case 15849: case 15851: case 15853: case 15855: case 15857: case 15859: case 15861: case 15863: case 15865: case 15867: case 15869: case 15871: case 15873: case 15875: case 15877: case 15879: case 15881: case 15883: case 15885: case 15887: case 15889: case 15891: case 15893: case 15895: case 15897: case 15899: case 15901: case 15903: case 15905: case 15907: case 15909: case 15911: case 15913: case 15915: case 15917: case 15919: return BlockType::BlackstoneStairs; - case 15923: case 15924: case 15925: case 15929: case 15930: case 15931: case 15935: case 15936: case 15937: case 15941: case 15942: case 15943: case 15947: case 15948: case 15949: case 15953: case 15954: case 15955: case 15959: case 15960: case 15961: case 15965: case 15966: case 15967: case 15971: case 15972: case 15973: case 15977: case 15978: case 15979: case 15983: case 15984: case 15985: case 15989: case 15990: case 15991: case 15995: case 15996: case 15997: case 16001: case 16002: case 16003: case 16007: case 16008: case 16009: case 16013: case 16014: case 16015: case 16019: case 16020: case 16021: case 16025: case 16026: case 16027: case 16031: case 16032: case 16033: case 16037: case 16038: case 16039: case 16043: case 16044: case 16045: case 16049: case 16050: case 16051: case 16055: case 16056: case 16057: case 16061: case 16062: case 16063: case 16067: case 16068: case 16069: case 16073: case 16074: case 16075: case 16079: case 16080: case 16081: case 16085: case 16086: case 16087: case 16091: case 16092: case 16093: case 16097: case 16098: case 16099: case 16103: case 16104: case 16105: case 16109: case 16110: case 16111: case 16115: case 16116: case 16117: case 16121: case 16122: case 16123: case 16127: case 16128: case 16129: case 16133: case 16134: case 16135: case 16139: case 16140: case 16141: case 16145: case 16146: case 16147: case 16151: case 16152: case 16153: case 16157: case 16158: case 16159: case 16163: case 16164: case 16165: case 16169: case 16170: case 16171: case 16175: case 16176: case 16177: case 16181: case 16182: case 16183: case 16187: case 16188: case 16189: case 16193: case 16194: case 16195: case 16199: case 16200: case 16201: case 16205: case 16206: case 16207: case 16211: case 16212: case 16213: case 16217: case 16218: case 16219: case 16223: case 16224: case 16225: case 16229: case 16230: case 16231: case 16235: case 16236: case 16237: case 16241: case 16242: case 16243: return BlockType::BlackstoneWall; - case 14811: case 14812: case 14813: case 14814: case 14815: case 14816: case 14817: case 14818: return BlockType::BlastFurnace; - case 8073: case 8074: case 8075: case 8076: case 8077: case 8078: case 8079: case 8080: case 8081: case 8082: case 8083: case 8084: case 8085: case 8086: case 8087: case 8088: return BlockType::BlueBanner; - case 1225: case 1226: case 1227: case 1228: case 1229: case 1230: case 1231: case 1232: case 1233: case 1234: case 1235: case 1236: case 1237: case 1238: case 1239: case 1240: return BlockType::BlueBed; - case 7877: return BlockType::BlueCarpet; - case 9449: return BlockType::BlueConcrete; - case 9465: return BlockType::BlueConcretePowder; - case 9418: case 9419: case 9420: case 9421: return BlockType::BlueGlazedTerracotta; - case 9648: return BlockType::BlueIce; - case 1414: return BlockType::BlueOrchid; - case 9344: case 9345: case 9346: case 9347: case 9348: case 9349: return BlockType::BlueShulkerBox; - case 4106: return BlockType::BlueStainedGlass; - case 7217: case 7218: case 7221: case 7222: case 7225: case 7226: case 7229: case 7230: case 7233: case 7234: case 7237: case 7238: case 7241: case 7242: case 7245: case 7246: return BlockType::BlueStainedGlassPane; - case 6858: return BlockType::BlueTerracotta; - case 8197: case 8198: case 8199: case 8200: return BlockType::BlueWallBanner; - case 1395: return BlockType::BlueWool; - case 9256: case 9257: case 9258: return BlockType::BoneBlock; - case 1432: return BlockType::Bookshelf; - case 9533: return BlockType::BrainCoral; - case 9516: return BlockType::BrainCoralBlock; - case 9553: return BlockType::BrainCoralFan; - case 9609: case 9611: case 9613: case 9615: return BlockType::BrainCoralWallFan; - case 5133: case 5134: case 5135: case 5136: case 5137: case 5138: case 5139: case 5140: return BlockType::BrewingStand; - case 8373: case 8375: case 8377: return BlockType::BrickSlab; - case 4853: case 4855: case 4857: case 4859: case 4861: case 4863: case 4865: case 4867: case 4869: case 4871: case 4873: case 4875: case 4877: case 4879: case 4881: case 4883: case 4885: case 4887: case 4889: case 4891: case 4893: case 4895: case 4897: case 4899: case 4901: case 4903: case 4905: case 4907: case 4909: case 4911: case 4913: case 4915: case 4917: case 4919: case 4921: case 4923: case 4925: case 4927: case 4929: case 4931: return BlockType::BrickStairs; - case 10870: case 10871: case 10872: case 10876: case 10877: case 10878: case 10882: case 10883: case 10884: case 10888: case 10889: case 10890: case 10894: case 10895: case 10896: case 10900: case 10901: case 10902: case 10906: case 10907: case 10908: case 10912: case 10913: case 10914: case 10918: case 10919: case 10920: case 10924: case 10925: case 10926: case 10930: case 10931: case 10932: case 10936: case 10937: case 10938: case 10942: case 10943: case 10944: case 10948: case 10949: case 10950: case 10954: case 10955: case 10956: case 10960: case 10961: case 10962: case 10966: case 10967: case 10968: case 10972: case 10973: case 10974: case 10978: case 10979: case 10980: case 10984: case 10985: case 10986: case 10990: case 10991: case 10992: case 10996: case 10997: case 10998: case 11002: case 11003: case 11004: case 11008: case 11009: case 11010: case 11014: case 11015: case 11016: case 11020: case 11021: case 11022: case 11026: case 11027: case 11028: case 11032: case 11033: case 11034: case 11038: case 11039: case 11040: case 11044: case 11045: case 11046: case 11050: case 11051: case 11052: case 11056: case 11057: case 11058: case 11062: case 11063: case 11064: case 11068: case 11069: case 11070: case 11074: case 11075: case 11076: case 11080: case 11081: case 11082: case 11086: case 11087: case 11088: case 11092: case 11093: case 11094: case 11098: case 11099: case 11100: case 11104: case 11105: case 11106: case 11110: case 11111: case 11112: case 11116: case 11117: case 11118: case 11122: case 11123: case 11124: case 11128: case 11129: case 11130: case 11134: case 11135: case 11136: case 11140: case 11141: case 11142: case 11146: case 11147: case 11148: case 11152: case 11153: case 11154: case 11158: case 11159: case 11160: case 11164: case 11165: case 11166: case 11170: case 11171: case 11172: case 11176: case 11177: case 11178: case 11182: case 11183: case 11184: case 11188: case 11189: case 11190: return BlockType::BrickWall; - case 1429: return BlockType::Bricks; - case 8089: case 8090: case 8091: case 8092: case 8093: case 8094: case 8095: case 8096: case 8097: case 8098: case 8099: case 8100: case 8101: case 8102: case 8103: case 8104: return BlockType::BrownBanner; - case 1241: case 1242: case 1243: case 1244: case 1245: case 1246: case 1247: case 1248: case 1249: case 1250: case 1251: case 1252: case 1253: case 1254: case 1255: case 1256: return BlockType::BrownBed; - case 7878: return BlockType::BrownCarpet; - case 9450: return BlockType::BrownConcrete; - case 9466: return BlockType::BrownConcretePowder; - case 9422: case 9423: case 9424: case 9425: return BlockType::BrownGlazedTerracotta; - case 1425: return BlockType::BrownMushroom; - case 4505: case 4506: case 4507: case 4508: case 4509: case 4510: case 4511: case 4512: case 4513: case 4514: case 4515: case 4516: case 4517: case 4518: case 4519: case 4520: case 4521: case 4522: case 4523: case 4524: case 4525: case 4526: case 4527: case 4528: case 4529: case 4530: case 4531: case 4532: case 4533: case 4534: case 4535: case 4536: case 4537: case 4538: case 4539: case 4540: case 4541: case 4542: case 4543: case 4544: case 4545: case 4546: case 4547: case 4548: case 4549: case 4550: case 4551: case 4552: case 4553: case 4554: case 4555: case 4556: case 4557: case 4558: case 4559: case 4560: case 4561: case 4562: case 4563: case 4564: case 4565: case 4566: case 4567: case 4568: return BlockType::BrownMushroomBlock; - case 9350: case 9351: case 9352: case 9353: case 9354: case 9355: return BlockType::BrownShulkerBox; - case 4107: return BlockType::BrownStainedGlass; - case 7249: case 7250: case 7253: case 7254: case 7257: case 7258: case 7261: case 7262: case 7265: case 7266: case 7269: case 7270: case 7273: case 7274: case 7277: case 7278: return BlockType::BrownStainedGlassPane; - case 6859: return BlockType::BrownTerracotta; - case 8201: case 8202: case 8203: case 8204: return BlockType::BrownWallBanner; - case 1396: return BlockType::BrownWool; - case 9667: case 9668: return BlockType::BubbleColumn; - case 9535: return BlockType::BubbleCoral; - case 9517: return BlockType::BubbleCoralBlock; - case 9555: return BlockType::BubbleCoralFan; - case 9617: case 9619: case 9621: case 9623: return BlockType::BubbleCoralWallFan; - case 3931: case 3932: case 3933: case 3934: case 3935: case 3936: case 3937: case 3938: case 3939: case 3940: case 3941: case 3942: case 3943: case 3944: case 3945: case 3946: return BlockType::Cactus; - case 4024: case 4025: case 4026: case 4027: case 4028: case 4029: case 4030: return BlockType::Cake; - case 14891: case 14893: case 14895: case 14897: case 14899: case 14901: case 14903: case 14905: case 14907: case 14909: case 14911: case 14913: case 14915: case 14917: case 14919: case 14921: return BlockType::Campfire; - case 6330: case 6331: case 6332: case 6333: case 6334: case 6335: case 6336: case 6337: return BlockType::Carrots; + case 16245: + case 16247: + case 16249: return BlockType::BlackstoneSlab; + case 15841: + case 15843: + case 15845: + case 15847: + case 15849: + case 15851: + case 15853: + case 15855: + case 15857: + case 15859: + case 15861: + case 15863: + case 15865: + case 15867: + case 15869: + case 15871: + case 15873: + case 15875: + case 15877: + case 15879: + case 15881: + case 15883: + case 15885: + case 15887: + case 15889: + case 15891: + case 15893: + case 15895: + case 15897: + case 15899: + case 15901: + case 15903: + case 15905: + case 15907: + case 15909: + case 15911: + case 15913: + case 15915: + case 15917: + case 15919: return BlockType::BlackstoneStairs; + case 15923: + case 15924: + case 15925: + case 15929: + case 15930: + case 15931: + case 15935: + case 15936: + case 15937: + case 15941: + case 15942: + case 15943: + case 15947: + case 15948: + case 15949: + case 15953: + case 15954: + case 15955: + case 15959: + case 15960: + case 15961: + case 15965: + case 15966: + case 15967: + case 15971: + case 15972: + case 15973: + case 15977: + case 15978: + case 15979: + case 15983: + case 15984: + case 15985: + case 15989: + case 15990: + case 15991: + case 15995: + case 15996: + case 15997: + case 16001: + case 16002: + case 16003: + case 16007: + case 16008: + case 16009: + case 16013: + case 16014: + case 16015: + case 16019: + case 16020: + case 16021: + case 16025: + case 16026: + case 16027: + case 16031: + case 16032: + case 16033: + case 16037: + case 16038: + case 16039: + case 16043: + case 16044: + case 16045: + case 16049: + case 16050: + case 16051: + case 16055: + case 16056: + case 16057: + case 16061: + case 16062: + case 16063: + case 16067: + case 16068: + case 16069: + case 16073: + case 16074: + case 16075: + case 16079: + case 16080: + case 16081: + case 16085: + case 16086: + case 16087: + case 16091: + case 16092: + case 16093: + case 16097: + case 16098: + case 16099: + case 16103: + case 16104: + case 16105: + case 16109: + case 16110: + case 16111: + case 16115: + case 16116: + case 16117: + case 16121: + case 16122: + case 16123: + case 16127: + case 16128: + case 16129: + case 16133: + case 16134: + case 16135: + case 16139: + case 16140: + case 16141: + case 16145: + case 16146: + case 16147: + case 16151: + case 16152: + case 16153: + case 16157: + case 16158: + case 16159: + case 16163: + case 16164: + case 16165: + case 16169: + case 16170: + case 16171: + case 16175: + case 16176: + case 16177: + case 16181: + case 16182: + case 16183: + case 16187: + case 16188: + case 16189: + case 16193: + case 16194: + case 16195: + case 16199: + case 16200: + case 16201: + case 16205: + case 16206: + case 16207: + case 16211: + case 16212: + case 16213: + case 16217: + case 16218: + case 16219: + case 16223: + case 16224: + case 16225: + case 16229: + case 16230: + case 16231: + case 16235: + case 16236: + case 16237: + case 16241: + case 16242: + case 16243: return BlockType::BlackstoneWall; + case 14811: + case 14812: + case 14813: + case 14814: + case 14815: + case 14816: + case 14817: + case 14818: return BlockType::BlastFurnace; + case 8073: + case 8074: + case 8075: + case 8076: + case 8077: + case 8078: + case 8079: + case 8080: + case 8081: + case 8082: + case 8083: + case 8084: + case 8085: + case 8086: + case 8087: + case 8088: return BlockType::BlueBanner; + case 1225: + case 1226: + case 1227: + case 1228: + case 1229: + case 1230: + case 1231: + case 1232: + case 1233: + case 1234: + case 1235: + case 1236: + case 1237: + case 1238: + case 1239: + case 1240: return BlockType::BlueBed; + case 7877: return BlockType::BlueCarpet; + case 9449: return BlockType::BlueConcrete; + case 9465: return BlockType::BlueConcretePowder; + case 9418: + case 9419: + case 9420: + case 9421: return BlockType::BlueGlazedTerracotta; + case 9648: return BlockType::BlueIce; + case 1414: return BlockType::BlueOrchid; + case 9344: + case 9345: + case 9346: + case 9347: + case 9348: + case 9349: return BlockType::BlueShulkerBox; + case 4106: return BlockType::BlueStainedGlass; + case 7217: + case 7218: + case 7221: + case 7222: + case 7225: + case 7226: + case 7229: + case 7230: + case 7233: + case 7234: + case 7237: + case 7238: + case 7241: + case 7242: + case 7245: + case 7246: return BlockType::BlueStainedGlassPane; + case 6858: return BlockType::BlueTerracotta; + case 8197: + case 8198: + case 8199: + case 8200: return BlockType::BlueWallBanner; + case 1395: return BlockType::BlueWool; + case 9256: + case 9257: + case 9258: return BlockType::BoneBlock; + case 1432: return BlockType::Bookshelf; + case 9533: return BlockType::BrainCoral; + case 9516: return BlockType::BrainCoralBlock; + case 9553: return BlockType::BrainCoralFan; + case 9609: + case 9611: + case 9613: + case 9615: return BlockType::BrainCoralWallFan; + case 5133: + case 5134: + case 5135: + case 5136: + case 5137: + case 5138: + case 5139: + case 5140: return BlockType::BrewingStand; + case 8373: + case 8375: + case 8377: return BlockType::BrickSlab; + case 4853: + case 4855: + case 4857: + case 4859: + case 4861: + case 4863: + case 4865: + case 4867: + case 4869: + case 4871: + case 4873: + case 4875: + case 4877: + case 4879: + case 4881: + case 4883: + case 4885: + case 4887: + case 4889: + case 4891: + case 4893: + case 4895: + case 4897: + case 4899: + case 4901: + case 4903: + case 4905: + case 4907: + case 4909: + case 4911: + case 4913: + case 4915: + case 4917: + case 4919: + case 4921: + case 4923: + case 4925: + case 4927: + case 4929: + case 4931: return BlockType::BrickStairs; + case 10870: + case 10871: + case 10872: + case 10876: + case 10877: + case 10878: + case 10882: + case 10883: + case 10884: + case 10888: + case 10889: + case 10890: + case 10894: + case 10895: + case 10896: + case 10900: + case 10901: + case 10902: + case 10906: + case 10907: + case 10908: + case 10912: + case 10913: + case 10914: + case 10918: + case 10919: + case 10920: + case 10924: + case 10925: + case 10926: + case 10930: + case 10931: + case 10932: + case 10936: + case 10937: + case 10938: + case 10942: + case 10943: + case 10944: + case 10948: + case 10949: + case 10950: + case 10954: + case 10955: + case 10956: + case 10960: + case 10961: + case 10962: + case 10966: + case 10967: + case 10968: + case 10972: + case 10973: + case 10974: + case 10978: + case 10979: + case 10980: + case 10984: + case 10985: + case 10986: + case 10990: + case 10991: + case 10992: + case 10996: + case 10997: + case 10998: + case 11002: + case 11003: + case 11004: + case 11008: + case 11009: + case 11010: + case 11014: + case 11015: + case 11016: + case 11020: + case 11021: + case 11022: + case 11026: + case 11027: + case 11028: + case 11032: + case 11033: + case 11034: + case 11038: + case 11039: + case 11040: + case 11044: + case 11045: + case 11046: + case 11050: + case 11051: + case 11052: + case 11056: + case 11057: + case 11058: + case 11062: + case 11063: + case 11064: + case 11068: + case 11069: + case 11070: + case 11074: + case 11075: + case 11076: + case 11080: + case 11081: + case 11082: + case 11086: + case 11087: + case 11088: + case 11092: + case 11093: + case 11094: + case 11098: + case 11099: + case 11100: + case 11104: + case 11105: + case 11106: + case 11110: + case 11111: + case 11112: + case 11116: + case 11117: + case 11118: + case 11122: + case 11123: + case 11124: + case 11128: + case 11129: + case 11130: + case 11134: + case 11135: + case 11136: + case 11140: + case 11141: + case 11142: + case 11146: + case 11147: + case 11148: + case 11152: + case 11153: + case 11154: + case 11158: + case 11159: + case 11160: + case 11164: + case 11165: + case 11166: + case 11170: + case 11171: + case 11172: + case 11176: + case 11177: + case 11178: + case 11182: + case 11183: + case 11184: + case 11188: + case 11189: + case 11190: return BlockType::BrickWall; + case 1429: return BlockType::Bricks; + case 8089: + case 8090: + case 8091: + case 8092: + case 8093: + case 8094: + case 8095: + case 8096: + case 8097: + case 8098: + case 8099: + case 8100: + case 8101: + case 8102: + case 8103: + case 8104: return BlockType::BrownBanner; + case 1241: + case 1242: + case 1243: + case 1244: + case 1245: + case 1246: + case 1247: + case 1248: + case 1249: + case 1250: + case 1251: + case 1252: + case 1253: + case 1254: + case 1255: + case 1256: return BlockType::BrownBed; + case 7878: return BlockType::BrownCarpet; + case 9450: return BlockType::BrownConcrete; + case 9466: return BlockType::BrownConcretePowder; + case 9422: + case 9423: + case 9424: + case 9425: return BlockType::BrownGlazedTerracotta; + case 1425: return BlockType::BrownMushroom; + case 4505: + case 4506: + case 4507: + case 4508: + case 4509: + case 4510: + case 4511: + case 4512: + case 4513: + case 4514: + case 4515: + case 4516: + case 4517: + case 4518: + case 4519: + case 4520: + case 4521: + case 4522: + case 4523: + case 4524: + case 4525: + case 4526: + case 4527: + case 4528: + case 4529: + case 4530: + case 4531: + case 4532: + case 4533: + case 4534: + case 4535: + case 4536: + case 4537: + case 4538: + case 4539: + case 4540: + case 4541: + case 4542: + case 4543: + case 4544: + case 4545: + case 4546: + case 4547: + case 4548: + case 4549: + case 4550: + case 4551: + case 4552: + case 4553: + case 4554: + case 4555: + case 4556: + case 4557: + case 4558: + case 4559: + case 4560: + case 4561: + case 4562: + case 4563: + case 4564: + case 4565: + case 4566: + case 4567: + case 4568: return BlockType::BrownMushroomBlock; + case 9350: + case 9351: + case 9352: + case 9353: + case 9354: + case 9355: return BlockType::BrownShulkerBox; + case 4107: return BlockType::BrownStainedGlass; + case 7249: + case 7250: + case 7253: + case 7254: + case 7257: + case 7258: + case 7261: + case 7262: + case 7265: + case 7266: + case 7269: + case 7270: + case 7273: + case 7274: + case 7277: + case 7278: return BlockType::BrownStainedGlassPane; + case 6859: return BlockType::BrownTerracotta; + case 8201: + case 8202: + case 8203: + case 8204: return BlockType::BrownWallBanner; + case 1396: return BlockType::BrownWool; + case 9667: + case 9668: return BlockType::BubbleColumn; + case 9535: return BlockType::BubbleCoral; + case 9517: return BlockType::BubbleCoralBlock; + case 9555: return BlockType::BubbleCoralFan; + case 9617: + case 9619: + case 9621: + case 9623: return BlockType::BubbleCoralWallFan; + case 3931: + case 3932: + case 3933: + case 3934: + case 3935: + case 3936: + case 3937: + case 3938: + case 3939: + case 3940: + case 3941: + case 3942: + case 3943: + case 3944: + case 3945: + case 3946: return BlockType::Cactus; + case 4024: + case 4025: + case 4026: + case 4027: + case 4028: + case 4029: + case 4030: return BlockType::Cake; + case 14891: + case 14893: + case 14895: + case 14897: + case 14899: + case 14901: + case 14903: + case 14905: + case 14907: + case 14909: + case 14911: + case 14913: + case 14915: + case 14917: + case 14919: + case 14921: return BlockType::Campfire; + case 6330: + case 6331: + case 6332: + case 6333: + case 6334: + case 6335: + case 6336: + case 6337: return BlockType::Carrots; case 14819: return BlockType::CartographyTable; - case 4016: case 4017: case 4018: case 4019: return BlockType::CarvedPumpkin; - case 5141: case 5142: case 5143: case 5144: return BlockType::Cauldron; - case 9666: return BlockType::CaveAir; - case 4730: return BlockType::Chain; - case 9237: case 9238: case 9239: case 9240: case 9241: case 9242: case 9243: case 9244: case 9245: case 9246: case 9247: case 9248: return BlockType::ChainCommandBlock; - case 2035: case 2037: case 2039: case 2041: case 2043: case 2045: case 2047: case 2049: case 2051: case 2053: case 2055: case 2057: return BlockType::Chest; - case 6614: case 6615: case 6616: case 6617: return BlockType::ChippedAnvil; + case 4016: + case 4017: + case 4018: + case 4019: return BlockType::CarvedPumpkin; + case 5141: + case 5142: + case 5143: + case 5144: return BlockType::Cauldron; + case 9666: return BlockType::CaveAir; + case 4730: return BlockType::Chain; + case 9237: + case 9238: + case 9239: + case 9240: + case 9241: + case 9242: + case 9243: + case 9244: + case 9245: + case 9246: + case 9247: + case 9248: return BlockType::ChainCommandBlock; + case 2035: + case 2037: + case 2039: + case 2041: + case 2043: + case 2045: + case 2047: + case 2049: + case 2051: + case 2053: + case 2055: + case 2057: return BlockType::Chest; + case 6614: + case 6615: + case 6616: + case 6617: return BlockType::ChippedAnvil; case 17101: return BlockType::ChiseledNetherBricks; case 16253: return BlockType::ChiseledPolishedBlackstone; - case 6739: return BlockType::ChiseledQuartzBlock; - case 8218: return BlockType::ChiseledRedSandstone; - case 247: return BlockType::ChiseledSandstone; - case 4498: return BlockType::ChiseledStoneBricks; - case 9128: case 9129: case 9130: case 9131: case 9132: case 9133: return BlockType::ChorusFlower; - case 9064: case 9065: case 9066: case 9067: case 9068: case 9069: case 9070: case 9071: case 9072: case 9073: case 9074: case 9075: case 9076: case 9077: case 9078: case 9079: case 9080: case 9081: case 9082: case 9083: case 9084: case 9085: case 9086: case 9087: case 9088: case 9089: case 9090: case 9091: case 9092: case 9093: case 9094: case 9095: case 9096: case 9097: case 9098: case 9099: case 9100: case 9101: case 9102: case 9103: case 9104: case 9105: case 9106: case 9107: case 9108: case 9109: case 9110: case 9111: case 9112: case 9113: case 9114: case 9115: case 9116: case 9117: case 9118: case 9119: case 9120: case 9121: case 9122: case 9123: case 9124: case 9125: case 9126: case 9127: return BlockType::ChorusPlant; - case 3947: return BlockType::Clay; - case 7883: return BlockType::CoalBlock; - case 71: return BlockType::CoalOre; - case 11: return BlockType::CoarseDirt; - case 14: return BlockType::Cobblestone; - case 8367: case 8369: case 8371: return BlockType::CobblestoneSlab; - case 3656: case 3658: case 3660: case 3662: case 3664: case 3666: case 3668: case 3670: case 3672: case 3674: case 3676: case 3678: case 3680: case 3682: case 3684: case 3686: case 3688: case 3690: case 3692: case 3694: case 3696: case 3698: case 3700: case 3702: case 3704: case 3706: case 3708: case 3710: case 3712: case 3714: case 3716: case 3718: case 3720: case 3722: case 3724: case 3726: case 3728: case 3730: case 3732: case 3734: return BlockType::CobblestoneStairs; - case 5660: case 5661: case 5662: case 5666: case 5667: case 5668: case 5672: case 5673: case 5674: case 5678: case 5679: case 5680: case 5684: case 5685: case 5686: case 5690: case 5691: case 5692: case 5696: case 5697: case 5698: case 5702: case 5703: case 5704: case 5708: case 5709: case 5710: case 5714: case 5715: case 5716: case 5720: case 5721: case 5722: case 5726: case 5727: case 5728: case 5732: case 5733: case 5734: case 5738: case 5739: case 5740: case 5744: case 5745: case 5746: case 5750: case 5751: case 5752: case 5756: case 5757: case 5758: case 5762: case 5763: case 5764: case 5768: case 5769: case 5770: case 5774: case 5775: case 5776: case 5780: case 5781: case 5782: case 5786: case 5787: case 5788: case 5792: case 5793: case 5794: case 5798: case 5799: case 5800: case 5804: case 5805: case 5806: case 5810: case 5811: case 5812: case 5816: case 5817: case 5818: case 5822: case 5823: case 5824: case 5828: case 5829: case 5830: case 5834: case 5835: case 5836: case 5840: case 5841: case 5842: case 5846: case 5847: case 5848: case 5852: case 5853: case 5854: case 5858: case 5859: case 5860: case 5864: case 5865: case 5866: case 5870: case 5871: case 5872: case 5876: case 5877: case 5878: case 5882: case 5883: case 5884: case 5888: case 5889: case 5890: case 5894: case 5895: case 5896: case 5900: case 5901: case 5902: case 5906: case 5907: case 5908: case 5912: case 5913: case 5914: case 5918: case 5919: case 5920: case 5924: case 5925: case 5926: case 5930: case 5931: case 5932: case 5936: case 5937: case 5938: case 5942: case 5943: case 5944: case 5948: case 5949: case 5950: case 5954: case 5955: case 5956: case 5960: case 5961: case 5962: case 5966: case 5967: case 5968: case 5972: case 5973: case 5974: case 5978: case 5979: case 5980: return BlockType::CobblestoneWall; - case 1341: return BlockType::Cobweb; - case 5158: case 5159: case 5160: case 5161: case 5162: case 5163: case 5164: case 5165: case 5166: case 5167: case 5168: case 5169: return BlockType::Cocoa; - case 5644: case 5645: case 5646: case 5647: case 5648: case 5649: case 5650: case 5651: case 5652: case 5653: case 5654: case 5655: return BlockType::CommandBlock; - case 6678: case 6679: case 6680: case 6681: case 6682: case 6683: case 6684: case 6685: case 6686: case 6687: case 6688: case 6689: case 6690: case 6691: case 6692: case 6693: return BlockType::Comparator; - case 15751: case 15752: case 15753: case 15754: case 15755: case 15756: case 15757: case 15758: case 15759: return BlockType::Composter; - case 9650: return BlockType::Conduit; - case 1422: return BlockType::Cornflower; + case 6739: return BlockType::ChiseledQuartzBlock; + case 8218: return BlockType::ChiseledRedSandstone; + case 247: return BlockType::ChiseledSandstone; + case 4498: return BlockType::ChiseledStoneBricks; + case 9128: + case 9129: + case 9130: + case 9131: + case 9132: + case 9133: return BlockType::ChorusFlower; + case 9064: + case 9065: + case 9066: + case 9067: + case 9068: + case 9069: + case 9070: + case 9071: + case 9072: + case 9073: + case 9074: + case 9075: + case 9076: + case 9077: + case 9078: + case 9079: + case 9080: + case 9081: + case 9082: + case 9083: + case 9084: + case 9085: + case 9086: + case 9087: + case 9088: + case 9089: + case 9090: + case 9091: + case 9092: + case 9093: + case 9094: + case 9095: + case 9096: + case 9097: + case 9098: + case 9099: + case 9100: + case 9101: + case 9102: + case 9103: + case 9104: + case 9105: + case 9106: + case 9107: + case 9108: + case 9109: + case 9110: + case 9111: + case 9112: + case 9113: + case 9114: + case 9115: + case 9116: + case 9117: + case 9118: + case 9119: + case 9120: + case 9121: + case 9122: + case 9123: + case 9124: + case 9125: + case 9126: + case 9127: return BlockType::ChorusPlant; + case 3947: return BlockType::Clay; + case 7883: return BlockType::CoalBlock; + case 71: return BlockType::CoalOre; + case 11: return BlockType::CoarseDirt; + case 14: return BlockType::Cobblestone; + case 8367: + case 8369: + case 8371: return BlockType::CobblestoneSlab; + case 3656: + case 3658: + case 3660: + case 3662: + case 3664: + case 3666: + case 3668: + case 3670: + case 3672: + case 3674: + case 3676: + case 3678: + case 3680: + case 3682: + case 3684: + case 3686: + case 3688: + case 3690: + case 3692: + case 3694: + case 3696: + case 3698: + case 3700: + case 3702: + case 3704: + case 3706: + case 3708: + case 3710: + case 3712: + case 3714: + case 3716: + case 3718: + case 3720: + case 3722: + case 3724: + case 3726: + case 3728: + case 3730: + case 3732: + case 3734: return BlockType::CobblestoneStairs; + case 5660: + case 5661: + case 5662: + case 5666: + case 5667: + case 5668: + case 5672: + case 5673: + case 5674: + case 5678: + case 5679: + case 5680: + case 5684: + case 5685: + case 5686: + case 5690: + case 5691: + case 5692: + case 5696: + case 5697: + case 5698: + case 5702: + case 5703: + case 5704: + case 5708: + case 5709: + case 5710: + case 5714: + case 5715: + case 5716: + case 5720: + case 5721: + case 5722: + case 5726: + case 5727: + case 5728: + case 5732: + case 5733: + case 5734: + case 5738: + case 5739: + case 5740: + case 5744: + case 5745: + case 5746: + case 5750: + case 5751: + case 5752: + case 5756: + case 5757: + case 5758: + case 5762: + case 5763: + case 5764: + case 5768: + case 5769: + case 5770: + case 5774: + case 5775: + case 5776: + case 5780: + case 5781: + case 5782: + case 5786: + case 5787: + case 5788: + case 5792: + case 5793: + case 5794: + case 5798: + case 5799: + case 5800: + case 5804: + case 5805: + case 5806: + case 5810: + case 5811: + case 5812: + case 5816: + case 5817: + case 5818: + case 5822: + case 5823: + case 5824: + case 5828: + case 5829: + case 5830: + case 5834: + case 5835: + case 5836: + case 5840: + case 5841: + case 5842: + case 5846: + case 5847: + case 5848: + case 5852: + case 5853: + case 5854: + case 5858: + case 5859: + case 5860: + case 5864: + case 5865: + case 5866: + case 5870: + case 5871: + case 5872: + case 5876: + case 5877: + case 5878: + case 5882: + case 5883: + case 5884: + case 5888: + case 5889: + case 5890: + case 5894: + case 5895: + case 5896: + case 5900: + case 5901: + case 5902: + case 5906: + case 5907: + case 5908: + case 5912: + case 5913: + case 5914: + case 5918: + case 5919: + case 5920: + case 5924: + case 5925: + case 5926: + case 5930: + case 5931: + case 5932: + case 5936: + case 5937: + case 5938: + case 5942: + case 5943: + case 5944: + case 5948: + case 5949: + case 5950: + case 5954: + case 5955: + case 5956: + case 5960: + case 5961: + case 5962: + case 5966: + case 5967: + case 5968: + case 5972: + case 5973: + case 5974: + case 5978: + case 5979: + case 5980: return BlockType::CobblestoneWall; + case 1341: return BlockType::Cobweb; + case 5158: + case 5159: + case 5160: + case 5161: + case 5162: + case 5163: + case 5164: + case 5165: + case 5166: + case 5167: + case 5168: + case 5169: return BlockType::Cocoa; + case 5644: + case 5645: + case 5646: + case 5647: + case 5648: + case 5649: + case 5650: + case 5651: + case 5652: + case 5653: + case 5654: + case 5655: return BlockType::CommandBlock; + case 6678: + case 6679: + case 6680: + case 6681: + case 6682: + case 6683: + case 6684: + case 6685: + case 6686: + case 6687: + case 6688: + case 6689: + case 6690: + case 6691: + case 6692: + case 6693: return BlockType::Comparator; + case 15751: + case 15752: + case 15753: + case 15754: + case 15755: + case 15756: + case 15757: + case 15758: + case 15759: return BlockType::Composter; + case 9650: return BlockType::Conduit; + case 1422: return BlockType::Cornflower; case 17102: return BlockType::CrackedNetherBricks; case 16252: return BlockType::CrackedPolishedBlackstoneBricks; - case 4497: return BlockType::CrackedStoneBricks; - case 3356: return BlockType::CraftingTable; - case 6570: case 6571: case 6572: case 6573: case 6574: case 6575: case 6576: case 6577: case 6578: case 6579: case 6580: case 6581: case 6582: case 6583: case 6584: case 6585: return BlockType::CreeperHead; - case 6586: case 6587: case 6588: case 6589: return BlockType::CreeperWallHead; - case 15479: case 15480: case 15481: case 15482: case 15483: case 15484: case 15485: case 15486: case 15487: case 15488: case 15489: case 15490: case 15491: case 15492: case 15493: case 15494: case 15495: case 15496: case 15497: case 15498: case 15499: case 15500: case 15501: case 15502: return BlockType::CrimsonButton; - case 15527: case 15528: case 15529: case 15530: case 15531: case 15532: case 15533: case 15534: case 15535: case 15536: case 15537: case 15538: case 15539: case 15540: case 15541: case 15542: case 15543: case 15544: case 15545: case 15546: case 15547: case 15548: case 15549: case 15550: case 15551: case 15552: case 15553: case 15554: case 15555: case 15556: case 15557: case 15558: case 15559: case 15560: case 15561: case 15562: case 15563: case 15564: case 15565: case 15566: case 15567: case 15568: case 15569: case 15570: case 15571: case 15572: case 15573: case 15574: case 15575: case 15576: case 15577: case 15578: case 15579: case 15580: case 15581: case 15582: case 15583: case 15584: case 15585: case 15586: case 15587: case 15588: case 15589: case 15590: return BlockType::CrimsonDoor; - case 15065: case 15066: case 15069: case 15070: case 15073: case 15074: case 15077: case 15078: case 15081: case 15082: case 15085: case 15086: case 15089: case 15090: case 15093: case 15094: return BlockType::CrimsonFence; - case 15255: case 15256: case 15257: case 15258: case 15259: case 15260: case 15261: case 15262: case 15263: case 15264: case 15265: case 15266: case 15267: case 15268: case 15269: case 15270: case 15271: case 15272: case 15273: case 15274: case 15275: case 15276: case 15277: case 15278: case 15279: case 15280: case 15281: case 15282: case 15283: case 15284: case 15285: case 15286: return BlockType::CrimsonFenceGate; + case 4497: return BlockType::CrackedStoneBricks; + case 3356: return BlockType::CraftingTable; + case 6570: + case 6571: + case 6572: + case 6573: + case 6574: + case 6575: + case 6576: + case 6577: + case 6578: + case 6579: + case 6580: + case 6581: + case 6582: + case 6583: + case 6584: + case 6585: return BlockType::CreeperHead; + case 6586: + case 6587: + case 6588: + case 6589: return BlockType::CreeperWallHead; + case 15479: + case 15480: + case 15481: + case 15482: + case 15483: + case 15484: + case 15485: + case 15486: + case 15487: + case 15488: + case 15489: + case 15490: + case 15491: + case 15492: + case 15493: + case 15494: + case 15495: + case 15496: + case 15497: + case 15498: + case 15499: + case 15500: + case 15501: + case 15502: return BlockType::CrimsonButton; + case 15527: + case 15528: + case 15529: + case 15530: + case 15531: + case 15532: + case 15533: + case 15534: + case 15535: + case 15536: + case 15537: + case 15538: + case 15539: + case 15540: + case 15541: + case 15542: + case 15543: + case 15544: + case 15545: + case 15546: + case 15547: + case 15548: + case 15549: + case 15550: + case 15551: + case 15552: + case 15553: + case 15554: + case 15555: + case 15556: + case 15557: + case 15558: + case 15559: + case 15560: + case 15561: + case 15562: + case 15563: + case 15564: + case 15565: + case 15566: + case 15567: + case 15568: + case 15569: + case 15570: + case 15571: + case 15572: + case 15573: + case 15574: + case 15575: + case 15576: + case 15577: + case 15578: + case 15579: + case 15580: + case 15581: + case 15582: + case 15583: + case 15584: + case 15585: + case 15586: + case 15587: + case 15588: + case 15589: + case 15590: return BlockType::CrimsonDoor; + case 15065: + case 15066: + case 15069: + case 15070: + case 15073: + case 15074: + case 15077: + case 15078: + case 15081: + case 15082: + case 15085: + case 15086: + case 15089: + case 15090: + case 15093: + case 15094: return BlockType::CrimsonFence; + case 15255: + case 15256: + case 15257: + case 15258: + case 15259: + case 15260: + case 15261: + case 15262: + case 15263: + case 15264: + case 15265: + case 15266: + case 15267: + case 15268: + case 15269: + case 15270: + case 15271: + case 15272: + case 15273: + case 15274: + case 15275: + case 15276: + case 15277: + case 15278: + case 15279: + case 15280: + case 15281: + case 15282: + case 15283: + case 15284: + case 15285: + case 15286: return BlockType::CrimsonFenceGate; case 14988: return BlockType::CrimsonFungus; - case 14981: case 14982: case 14983: return BlockType::CrimsonHyphae; + case 14981: + case 14982: + case 14983: return BlockType::CrimsonHyphae; case 14987: return BlockType::CrimsonNylium; case 15045: return BlockType::CrimsonPlanks; - case 15059: case 15060: return BlockType::CrimsonPressurePlate; + case 15059: + case 15060: return BlockType::CrimsonPressurePlate; case 15044: return BlockType::CrimsonRoots; - case 15656: case 15658: case 15660: case 15662: case 15664: case 15666: case 15668: case 15670: case 15672: case 15674: case 15676: case 15678: case 15680: case 15682: case 15684: case 15686: return BlockType::CrimsonSign; - case 15048: case 15050: case 15052: return BlockType::CrimsonSlab; - case 15320: case 15322: case 15324: case 15326: case 15328: case 15330: case 15332: case 15334: case 15336: case 15338: case 15340: case 15342: case 15344: case 15346: case 15348: case 15350: case 15352: case 15354: case 15356: case 15358: case 15360: case 15362: case 15364: case 15366: case 15368: case 15370: case 15372: case 15374: case 15376: case 15378: case 15380: case 15382: case 15384: case 15386: case 15388: case 15390: case 15392: case 15394: case 15396: case 15398: return BlockType::CrimsonStairs; - case 14975: case 14976: case 14977: return BlockType::CrimsonStem; - case 15128: case 15130: case 15132: case 15134: case 15136: case 15138: case 15140: case 15142: case 15144: case 15146: case 15148: case 15150: case 15152: case 15154: case 15156: case 15158: case 15160: case 15162: case 15164: case 15166: case 15168: case 15170: case 15172: case 15174: case 15176: case 15178: case 15180: case 15182: case 15184: case 15186: case 15188: case 15190: return BlockType::CrimsonTrapdoor; - case 15720: case 15722: case 15724: case 15726: return BlockType::CrimsonWallSign; + case 15656: + case 15658: + case 15660: + case 15662: + case 15664: + case 15666: + case 15668: + case 15670: + case 15672: + case 15674: + case 15676: + case 15678: + case 15680: + case 15682: + case 15684: + case 15686: return BlockType::CrimsonSign; + case 15048: + case 15050: + case 15052: return BlockType::CrimsonSlab; + case 15320: + case 15322: + case 15324: + case 15326: + case 15328: + case 15330: + case 15332: + case 15334: + case 15336: + case 15338: + case 15340: + case 15342: + case 15344: + case 15346: + case 15348: + case 15350: + case 15352: + case 15354: + case 15356: + case 15358: + case 15360: + case 15362: + case 15364: + case 15366: + case 15368: + case 15370: + case 15372: + case 15374: + case 15376: + case 15378: + case 15380: + case 15382: + case 15384: + case 15386: + case 15388: + case 15390: + case 15392: + case 15394: + case 15396: + case 15398: return BlockType::CrimsonStairs; + case 14975: + case 14976: + case 14977: return BlockType::CrimsonStem; + case 15128: + case 15130: + case 15132: + case 15134: + case 15136: + case 15138: + case 15140: + case 15142: + case 15144: + case 15146: + case 15148: + case 15150: + case 15152: + case 15154: + case 15156: + case 15158: + case 15160: + case 15162: + case 15164: + case 15166: + case 15168: + case 15170: + case 15172: + case 15174: + case 15176: + case 15178: + case 15180: + case 15182: + case 15184: + case 15186: + case 15188: + case 15190: return BlockType::CrimsonTrapdoor; + case 15720: + case 15722: + case 15724: + case 15726: return BlockType::CrimsonWallSign; case 15828: return BlockType::CryingObsidian; - case 8219: return BlockType::CutRedSandstone; - case 8403: case 8405: case 8407: return BlockType::CutRedSandstoneSlab; - case 248: return BlockType::CutSandstone; - case 8355: case 8357: case 8359: return BlockType::CutSandstoneSlab; - case 8041: case 8042: case 8043: case 8044: case 8045: case 8046: case 8047: case 8048: case 8049: case 8050: case 8051: case 8052: case 8053: case 8054: case 8055: case 8056: return BlockType::CyanBanner; - case 1193: case 1194: case 1195: case 1196: case 1197: case 1198: case 1199: case 1200: case 1201: case 1202: case 1203: case 1204: case 1205: case 1206: case 1207: case 1208: return BlockType::CyanBed; - case 7875: return BlockType::CyanCarpet; - case 9447: return BlockType::CyanConcrete; - case 9463: return BlockType::CyanConcretePowder; - case 9410: case 9411: case 9412: case 9413: return BlockType::CyanGlazedTerracotta; - case 9332: case 9333: case 9334: case 9335: case 9336: case 9337: return BlockType::CyanShulkerBox; - case 4104: return BlockType::CyanStainedGlass; - case 7153: case 7154: case 7157: case 7158: case 7161: case 7162: case 7165: case 7166: case 7169: case 7170: case 7173: case 7174: case 7177: case 7178: case 7181: case 7182: return BlockType::CyanStainedGlassPane; - case 6856: return BlockType::CyanTerracotta; - case 8189: case 8190: case 8191: case 8192: return BlockType::CyanWallBanner; - case 1393: return BlockType::CyanWool; - case 6618: case 6619: case 6620: case 6621: return BlockType::DamagedAnvil; - case 1412: return BlockType::Dandelion; - case 6466: case 6467: case 6468: case 6469: case 6470: case 6471: case 6472: case 6473: case 6474: case 6475: case 6476: case 6477: case 6478: case 6479: case 6480: case 6481: case 6482: case 6483: case 6484: case 6485: case 6486: case 6487: case 6488: case 6489: return BlockType::DarkOakButton; - case 8994: case 8995: case 8996: case 8997: case 8998: case 8999: case 9000: case 9001: case 9002: case 9003: case 9004: case 9005: case 9006: case 9007: case 9008: case 9009: case 9010: case 9011: case 9012: case 9013: case 9014: case 9015: case 9016: case 9017: case 9018: case 9019: case 9020: case 9021: case 9022: case 9023: case 9024: case 9025: case 9026: case 9027: case 9028: case 9029: case 9030: case 9031: case 9032: case 9033: case 9034: case 9035: case 9036: case 9037: case 9038: case 9039: case 9040: case 9041: case 9042: case 9043: case 9044: case 9045: case 9046: case 9047: case 9048: case 9049: case 9050: case 9051: case 9052: case 9053: case 9054: case 9055: case 9056: case 9057: return BlockType::DarkOakDoor; - case 8708: case 8709: case 8712: case 8713: case 8716: case 8717: case 8720: case 8721: case 8724: case 8725: case 8728: case 8729: case 8732: case 8733: case 8736: case 8737: return BlockType::DarkOakFence; - case 8546: case 8547: case 8548: case 8549: case 8550: case 8551: case 8552: case 8553: case 8554: case 8555: case 8556: case 8557: case 8558: case 8559: case 8560: case 8561: case 8562: case 8563: case 8564: case 8565: case 8566: case 8567: case 8568: case 8569: case 8570: case 8571: case 8572: case 8573: case 8574: case 8575: case 8576: case 8577: return BlockType::DarkOakFenceGate; - case 215: case 216: case 217: case 218: case 219: case 220: case 221: case 222: case 223: case 224: case 225: case 226: case 227: case 228: return BlockType::DarkOakLeaves; - case 88: case 89: case 90: return BlockType::DarkOakLog; - case 20: return BlockType::DarkOakPlanks; - case 3883: case 3884: return BlockType::DarkOakPressurePlate; - case 31: case 32: return BlockType::DarkOakSapling; - case 3542: case 3544: case 3546: case 3548: case 3550: case 3552: case 3554: case 3556: case 3558: case 3560: case 3562: case 3564: case 3566: case 3568: case 3570: case 3572: return BlockType::DarkOakSign; - case 8331: case 8333: case 8335: return BlockType::DarkOakSlab; - case 7456: case 7458: case 7460: case 7462: case 7464: case 7466: case 7468: case 7470: case 7472: case 7474: case 7476: case 7478: case 7480: case 7482: case 7484: case 7486: case 7488: case 7490: case 7492: case 7494: case 7496: case 7498: case 7500: case 7502: case 7504: case 7506: case 7508: case 7510: case 7512: case 7514: case 7516: case 7518: case 7520: case 7522: case 7524: case 7526: case 7528: case 7530: case 7532: case 7534: return BlockType::DarkOakStairs; - case 4432: case 4434: case 4436: case 4438: case 4440: case 4442: case 4444: case 4446: case 4448: case 4450: case 4452: case 4454: case 4456: case 4458: case 4460: case 4462: case 4464: case 4466: case 4468: case 4470: case 4472: case 4474: case 4476: case 4478: case 4480: case 4482: case 4484: case 4486: case 4488: case 4490: case 4492: case 4494: return BlockType::DarkOakTrapdoor; - case 3776: case 3778: case 3780: case 3782: return BlockType::DarkOakWallSign; - case 124: case 125: case 126: return BlockType::DarkOakWood; - case 7603: return BlockType::DarkPrismarine; - case 7857: case 7859: case 7861: return BlockType::DarkPrismarineSlab; - case 7765: case 7767: case 7769: case 7771: case 7773: case 7775: case 7777: case 7779: case 7781: case 7783: case 7785: case 7787: case 7789: case 7791: case 7793: case 7795: case 7797: case 7799: case 7801: case 7803: case 7805: case 7807: case 7809: case 7811: case 7813: case 7815: case 7817: case 7819: case 7821: case 7823: case 7825: case 7827: case 7829: case 7831: case 7833: case 7835: case 7837: case 7839: case 7841: case 7843: return BlockType::DarkPrismarineStairs; - case 6694: case 6695: case 6696: case 6697: case 6698: case 6699: case 6700: case 6701: case 6702: case 6703: case 6704: case 6705: case 6706: case 6707: case 6708: case 6709: case 6710: case 6711: case 6712: case 6713: case 6714: case 6715: case 6716: case 6717: case 6718: case 6719: case 6720: case 6721: case 6722: case 6723: case 6724: case 6725: return BlockType::DaylightDetector; - case 9523: return BlockType::DeadBrainCoral; - case 9511: return BlockType::DeadBrainCoralBlock; - case 9543: return BlockType::DeadBrainCoralFan; - case 9569: case 9571: case 9573: case 9575: return BlockType::DeadBrainCoralWallFan; - case 9525: return BlockType::DeadBubbleCoral; - case 9512: return BlockType::DeadBubbleCoralBlock; - case 9545: return BlockType::DeadBubbleCoralFan; - case 9577: case 9579: case 9581: case 9583: return BlockType::DeadBubbleCoralWallFan; - case 1344: return BlockType::DeadBush; - case 9527: return BlockType::DeadFireCoral; - case 9513: return BlockType::DeadFireCoralBlock; - case 9547: return BlockType::DeadFireCoralFan; - case 9585: case 9587: case 9589: case 9591: return BlockType::DeadFireCoralWallFan; - case 9529: return BlockType::DeadHornCoral; - case 9514: return BlockType::DeadHornCoralBlock; - case 9549: return BlockType::DeadHornCoralFan; - case 9593: case 9595: case 9597: case 9599: return BlockType::DeadHornCoralWallFan; - case 9521: return BlockType::DeadTubeCoral; - case 9510: return BlockType::DeadTubeCoralBlock; - case 9541: return BlockType::DeadTubeCoralFan; - case 9561: case 9563: case 9565: case 9567: return BlockType::DeadTubeCoralWallFan; - case 1317: case 1318: case 1319: case 1320: case 1321: case 1322: case 1323: case 1324: case 1325: case 1326: case 1327: case 1328: return BlockType::DetectorRail; - case 3355: return BlockType::DiamondBlock; - case 3354: return BlockType::DiamondOre; - case 4: return BlockType::Diorite; - case 10862: case 10864: case 10866: return BlockType::DioriteSlab; - case 10710: case 10712: case 10714: case 10716: case 10718: case 10720: case 10722: case 10724: case 10726: case 10728: case 10730: case 10732: case 10734: case 10736: case 10738: case 10740: case 10742: case 10744: case 10746: case 10748: case 10750: case 10752: case 10754: case 10756: case 10758: case 10760: case 10762: case 10764: case 10766: case 10768: case 10770: case 10772: case 10774: case 10776: case 10778: case 10780: case 10782: case 10784: case 10786: case 10788: return BlockType::DioriteStairs; - case 14434: case 14435: case 14436: case 14440: case 14441: case 14442: case 14446: case 14447: case 14448: case 14452: case 14453: case 14454: case 14458: case 14459: case 14460: case 14464: case 14465: case 14466: case 14470: case 14471: case 14472: case 14476: case 14477: case 14478: case 14482: case 14483: case 14484: case 14488: case 14489: case 14490: case 14494: case 14495: case 14496: case 14500: case 14501: case 14502: case 14506: case 14507: case 14508: case 14512: case 14513: case 14514: case 14518: case 14519: case 14520: case 14524: case 14525: case 14526: case 14530: case 14531: case 14532: case 14536: case 14537: case 14538: case 14542: case 14543: case 14544: case 14548: case 14549: case 14550: case 14554: case 14555: case 14556: case 14560: case 14561: case 14562: case 14566: case 14567: case 14568: case 14572: case 14573: case 14574: case 14578: case 14579: case 14580: case 14584: case 14585: case 14586: case 14590: case 14591: case 14592: case 14596: case 14597: case 14598: case 14602: case 14603: case 14604: case 14608: case 14609: case 14610: case 14614: case 14615: case 14616: case 14620: case 14621: case 14622: case 14626: case 14627: case 14628: case 14632: case 14633: case 14634: case 14638: case 14639: case 14640: case 14644: case 14645: case 14646: case 14650: case 14651: case 14652: case 14656: case 14657: case 14658: case 14662: case 14663: case 14664: case 14668: case 14669: case 14670: case 14674: case 14675: case 14676: case 14680: case 14681: case 14682: case 14686: case 14687: case 14688: case 14692: case 14693: case 14694: case 14698: case 14699: case 14700: case 14704: case 14705: case 14706: case 14710: case 14711: case 14712: case 14716: case 14717: case 14718: case 14722: case 14723: case 14724: case 14728: case 14729: case 14730: case 14734: case 14735: case 14736: case 14740: case 14741: case 14742: case 14746: case 14747: case 14748: case 14752: case 14753: case 14754: return BlockType::DioriteWall; - case 10: return BlockType::Dirt; - case 234: case 235: case 236: case 237: case 238: case 239: case 240: case 241: case 242: case 243: case 244: case 245: return BlockType::Dispenser; - case 5155: return BlockType::DragonEgg; - case 6590: case 6591: case 6592: case 6593: case 6594: case 6595: case 6596: case 6597: case 6598: case 6599: case 6600: case 6601: case 6602: case 6603: case 6604: case 6605: return BlockType::DragonHead; - case 6606: case 6607: case 6608: case 6609: return BlockType::DragonWallHead; - case 9497: return BlockType::DriedKelpBlock; - case 6835: case 6836: case 6837: case 6838: case 6839: case 6840: case 6841: case 6842: case 6843: case 6844: case 6845: case 6846: return BlockType::Dropper; - case 5403: return BlockType::EmeraldBlock; - case 5250: return BlockType::EmeraldOre; - case 5132: return BlockType::EnchantingTable; - case 9224: return BlockType::EndGateway; - case 5145: return BlockType::EndPortal; - case 5146: case 5147: case 5148: case 5149: case 5150: case 5151: case 5152: case 5153: return BlockType::EndPortalFrame; - case 9058: case 9059: case 9060: case 9061: case 9062: case 9063: return BlockType::EndRod; - case 5154: return BlockType::EndStone; - case 10820: case 10822: case 10824: return BlockType::EndStoneBrickSlab; - case 10070: case 10072: case 10074: case 10076: case 10078: case 10080: case 10082: case 10084: case 10086: case 10088: case 10090: case 10092: case 10094: case 10096: case 10098: case 10100: case 10102: case 10104: case 10106: case 10108: case 10110: case 10112: case 10114: case 10116: case 10118: case 10120: case 10122: case 10124: case 10126: case 10128: case 10130: case 10132: case 10134: case 10136: case 10138: case 10140: case 10142: case 10144: case 10146: case 10148: return BlockType::EndStoneBrickStairs; - case 14110: case 14111: case 14112: case 14116: case 14117: case 14118: case 14122: case 14123: case 14124: case 14128: case 14129: case 14130: case 14134: case 14135: case 14136: case 14140: case 14141: case 14142: case 14146: case 14147: case 14148: case 14152: case 14153: case 14154: case 14158: case 14159: case 14160: case 14164: case 14165: case 14166: case 14170: case 14171: case 14172: case 14176: case 14177: case 14178: case 14182: case 14183: case 14184: case 14188: case 14189: case 14190: case 14194: case 14195: case 14196: case 14200: case 14201: case 14202: case 14206: case 14207: case 14208: case 14212: case 14213: case 14214: case 14218: case 14219: case 14220: case 14224: case 14225: case 14226: case 14230: case 14231: case 14232: case 14236: case 14237: case 14238: case 14242: case 14243: case 14244: case 14248: case 14249: case 14250: case 14254: case 14255: case 14256: case 14260: case 14261: case 14262: case 14266: case 14267: case 14268: case 14272: case 14273: case 14274: case 14278: case 14279: case 14280: case 14284: case 14285: case 14286: case 14290: case 14291: case 14292: case 14296: case 14297: case 14298: case 14302: case 14303: case 14304: case 14308: case 14309: case 14310: case 14314: case 14315: case 14316: case 14320: case 14321: case 14322: case 14326: case 14327: case 14328: case 14332: case 14333: case 14334: case 14338: case 14339: case 14340: case 14344: case 14345: case 14346: case 14350: case 14351: case 14352: case 14356: case 14357: case 14358: case 14362: case 14363: case 14364: case 14368: case 14369: case 14370: case 14374: case 14375: case 14376: case 14380: case 14381: case 14382: case 14386: case 14387: case 14388: case 14392: case 14393: case 14394: case 14398: case 14399: case 14400: case 14404: case 14405: case 14406: case 14410: case 14411: case 14412: case 14416: case 14417: case 14418: case 14422: case 14423: case 14424: case 14428: case 14429: case 14430: return BlockType::EndStoneBrickWall; - case 9218: return BlockType::EndStoneBricks; - case 5252: case 5254: case 5256: case 5258: return BlockType::EnderChest; - case 3365: case 3366: case 3367: case 3368: case 3369: case 3370: case 3371: case 3372: return BlockType::Farmland; - case 1343: return BlockType::Fern; - case 1440: case 1441: case 1442: case 1443: case 1444: case 1445: case 1446: case 1447: case 1448: case 1449: case 1450: case 1451: case 1452: case 1453: case 1454: case 1455: case 1456: case 1457: case 1458: case 1459: case 1460: case 1461: case 1462: case 1463: case 1464: case 1465: case 1466: case 1467: case 1468: case 1469: case 1470: case 1471: case 1472: case 1473: case 1474: case 1475: case 1476: case 1477: case 1478: case 1479: case 1480: case 1481: case 1482: case 1483: case 1484: case 1485: case 1486: case 1487: case 1488: case 1489: case 1490: case 1491: case 1492: case 1493: case 1494: case 1495: case 1496: case 1497: case 1498: case 1499: case 1500: case 1501: case 1502: case 1503: case 1504: case 1505: case 1506: case 1507: case 1508: case 1509: case 1510: case 1511: case 1512: case 1513: case 1514: case 1515: case 1516: case 1517: case 1518: case 1519: case 1520: case 1521: case 1522: case 1523: case 1524: case 1525: case 1526: case 1527: case 1528: case 1529: case 1530: case 1531: case 1532: case 1533: case 1534: case 1535: case 1536: case 1537: case 1538: case 1539: case 1540: case 1541: case 1542: case 1543: case 1544: case 1545: case 1546: case 1547: case 1548: case 1549: case 1550: case 1551: case 1552: case 1553: case 1554: case 1555: case 1556: case 1557: case 1558: case 1559: case 1560: case 1561: case 1562: case 1563: case 1564: case 1565: case 1566: case 1567: case 1568: case 1569: case 1570: case 1571: case 1572: case 1573: case 1574: case 1575: case 1576: case 1577: case 1578: case 1579: case 1580: case 1581: case 1582: case 1583: case 1584: case 1585: case 1586: case 1587: case 1588: case 1589: case 1590: case 1591: case 1592: case 1593: case 1594: case 1595: case 1596: case 1597: case 1598: case 1599: case 1600: case 1601: case 1602: case 1603: case 1604: case 1605: case 1606: case 1607: case 1608: case 1609: case 1610: case 1611: case 1612: case 1613: case 1614: case 1615: case 1616: case 1617: case 1618: case 1619: case 1620: case 1621: case 1622: case 1623: case 1624: case 1625: case 1626: case 1627: case 1628: case 1629: case 1630: case 1631: case 1632: case 1633: case 1634: case 1635: case 1636: case 1637: case 1638: case 1639: case 1640: case 1641: case 1642: case 1643: case 1644: case 1645: case 1646: case 1647: case 1648: case 1649: case 1650: case 1651: case 1652: case 1653: case 1654: case 1655: case 1656: case 1657: case 1658: case 1659: case 1660: case 1661: case 1662: case 1663: case 1664: case 1665: case 1666: case 1667: case 1668: case 1669: case 1670: case 1671: case 1672: case 1673: case 1674: case 1675: case 1676: case 1677: case 1678: case 1679: case 1680: case 1681: case 1682: case 1683: case 1684: case 1685: case 1686: case 1687: case 1688: case 1689: case 1690: case 1691: case 1692: case 1693: case 1694: case 1695: case 1696: case 1697: case 1698: case 1699: case 1700: case 1701: case 1702: case 1703: case 1704: case 1705: case 1706: case 1707: case 1708: case 1709: case 1710: case 1711: case 1712: case 1713: case 1714: case 1715: case 1716: case 1717: case 1718: case 1719: case 1720: case 1721: case 1722: case 1723: case 1724: case 1725: case 1726: case 1727: case 1728: case 1729: case 1730: case 1731: case 1732: case 1733: case 1734: case 1735: case 1736: case 1737: case 1738: case 1739: case 1740: case 1741: case 1742: case 1743: case 1744: case 1745: case 1746: case 1747: case 1748: case 1749: case 1750: case 1751: case 1752: case 1753: case 1754: case 1755: case 1756: case 1757: case 1758: case 1759: case 1760: case 1761: case 1762: case 1763: case 1764: case 1765: case 1766: case 1767: case 1768: case 1769: case 1770: case 1771: case 1772: case 1773: case 1774: case 1775: case 1776: case 1777: case 1778: case 1779: case 1780: case 1781: case 1782: case 1783: case 1784: case 1785: case 1786: case 1787: case 1788: case 1789: case 1790: case 1791: case 1792: case 1793: case 1794: case 1795: case 1796: case 1797: case 1798: case 1799: case 1800: case 1801: case 1802: case 1803: case 1804: case 1805: case 1806: case 1807: case 1808: case 1809: case 1810: case 1811: case 1812: case 1813: case 1814: case 1815: case 1816: case 1817: case 1818: case 1819: case 1820: case 1821: case 1822: case 1823: case 1824: case 1825: case 1826: case 1827: case 1828: case 1829: case 1830: case 1831: case 1832: case 1833: case 1834: case 1835: case 1836: case 1837: case 1838: case 1839: case 1840: case 1841: case 1842: case 1843: case 1844: case 1845: case 1846: case 1847: case 1848: case 1849: case 1850: case 1851: case 1852: case 1853: case 1854: case 1855: case 1856: case 1857: case 1858: case 1859: case 1860: case 1861: case 1862: case 1863: case 1864: case 1865: case 1866: case 1867: case 1868: case 1869: case 1870: case 1871: case 1872: case 1873: case 1874: case 1875: case 1876: case 1877: case 1878: case 1879: case 1880: case 1881: case 1882: case 1883: case 1884: case 1885: case 1886: case 1887: case 1888: case 1889: case 1890: case 1891: case 1892: case 1893: case 1894: case 1895: case 1896: case 1897: case 1898: case 1899: case 1900: case 1901: case 1902: case 1903: case 1904: case 1905: case 1906: case 1907: case 1908: case 1909: case 1910: case 1911: case 1912: case 1913: case 1914: case 1915: case 1916: case 1917: case 1918: case 1919: case 1920: case 1921: case 1922: case 1923: case 1924: case 1925: case 1926: case 1927: case 1928: case 1929: case 1930: case 1931: case 1932: case 1933: case 1934: case 1935: case 1936: case 1937: case 1938: case 1939: case 1940: case 1941: case 1942: case 1943: case 1944: case 1945: case 1946: case 1947: case 1948: case 1949: case 1950: case 1951: return BlockType::Fire; - case 9537: return BlockType::FireCoral; - case 9518: return BlockType::FireCoralBlock; - case 9557: return BlockType::FireCoralFan; - case 9625: case 9627: case 9629: case 9631: return BlockType::FireCoralWallFan; + case 8219: return BlockType::CutRedSandstone; + case 8403: + case 8405: + case 8407: return BlockType::CutRedSandstoneSlab; + case 248: return BlockType::CutSandstone; + case 8355: + case 8357: + case 8359: return BlockType::CutSandstoneSlab; + case 8041: + case 8042: + case 8043: + case 8044: + case 8045: + case 8046: + case 8047: + case 8048: + case 8049: + case 8050: + case 8051: + case 8052: + case 8053: + case 8054: + case 8055: + case 8056: return BlockType::CyanBanner; + case 1193: + case 1194: + case 1195: + case 1196: + case 1197: + case 1198: + case 1199: + case 1200: + case 1201: + case 1202: + case 1203: + case 1204: + case 1205: + case 1206: + case 1207: + case 1208: return BlockType::CyanBed; + case 7875: return BlockType::CyanCarpet; + case 9447: return BlockType::CyanConcrete; + case 9463: return BlockType::CyanConcretePowder; + case 9410: + case 9411: + case 9412: + case 9413: return BlockType::CyanGlazedTerracotta; + case 9332: + case 9333: + case 9334: + case 9335: + case 9336: + case 9337: return BlockType::CyanShulkerBox; + case 4104: return BlockType::CyanStainedGlass; + case 7153: + case 7154: + case 7157: + case 7158: + case 7161: + case 7162: + case 7165: + case 7166: + case 7169: + case 7170: + case 7173: + case 7174: + case 7177: + case 7178: + case 7181: + case 7182: return BlockType::CyanStainedGlassPane; + case 6856: return BlockType::CyanTerracotta; + case 8189: + case 8190: + case 8191: + case 8192: return BlockType::CyanWallBanner; + case 1393: return BlockType::CyanWool; + case 6618: + case 6619: + case 6620: + case 6621: return BlockType::DamagedAnvil; + case 1412: return BlockType::Dandelion; + case 6466: + case 6467: + case 6468: + case 6469: + case 6470: + case 6471: + case 6472: + case 6473: + case 6474: + case 6475: + case 6476: + case 6477: + case 6478: + case 6479: + case 6480: + case 6481: + case 6482: + case 6483: + case 6484: + case 6485: + case 6486: + case 6487: + case 6488: + case 6489: return BlockType::DarkOakButton; + case 8994: + case 8995: + case 8996: + case 8997: + case 8998: + case 8999: + case 9000: + case 9001: + case 9002: + case 9003: + case 9004: + case 9005: + case 9006: + case 9007: + case 9008: + case 9009: + case 9010: + case 9011: + case 9012: + case 9013: + case 9014: + case 9015: + case 9016: + case 9017: + case 9018: + case 9019: + case 9020: + case 9021: + case 9022: + case 9023: + case 9024: + case 9025: + case 9026: + case 9027: + case 9028: + case 9029: + case 9030: + case 9031: + case 9032: + case 9033: + case 9034: + case 9035: + case 9036: + case 9037: + case 9038: + case 9039: + case 9040: + case 9041: + case 9042: + case 9043: + case 9044: + case 9045: + case 9046: + case 9047: + case 9048: + case 9049: + case 9050: + case 9051: + case 9052: + case 9053: + case 9054: + case 9055: + case 9056: + case 9057: return BlockType::DarkOakDoor; + case 8708: + case 8709: + case 8712: + case 8713: + case 8716: + case 8717: + case 8720: + case 8721: + case 8724: + case 8725: + case 8728: + case 8729: + case 8732: + case 8733: + case 8736: + case 8737: return BlockType::DarkOakFence; + case 8546: + case 8547: + case 8548: + case 8549: + case 8550: + case 8551: + case 8552: + case 8553: + case 8554: + case 8555: + case 8556: + case 8557: + case 8558: + case 8559: + case 8560: + case 8561: + case 8562: + case 8563: + case 8564: + case 8565: + case 8566: + case 8567: + case 8568: + case 8569: + case 8570: + case 8571: + case 8572: + case 8573: + case 8574: + case 8575: + case 8576: + case 8577: return BlockType::DarkOakFenceGate; + case 215: + case 216: + case 217: + case 218: + case 219: + case 220: + case 221: + case 222: + case 223: + case 224: + case 225: + case 226: + case 227: + case 228: return BlockType::DarkOakLeaves; + case 88: + case 89: + case 90: return BlockType::DarkOakLog; + case 20: return BlockType::DarkOakPlanks; + case 3883: + case 3884: return BlockType::DarkOakPressurePlate; + case 31: + case 32: return BlockType::DarkOakSapling; + case 3542: + case 3544: + case 3546: + case 3548: + case 3550: + case 3552: + case 3554: + case 3556: + case 3558: + case 3560: + case 3562: + case 3564: + case 3566: + case 3568: + case 3570: + case 3572: return BlockType::DarkOakSign; + case 8331: + case 8333: + case 8335: return BlockType::DarkOakSlab; + case 7456: + case 7458: + case 7460: + case 7462: + case 7464: + case 7466: + case 7468: + case 7470: + case 7472: + case 7474: + case 7476: + case 7478: + case 7480: + case 7482: + case 7484: + case 7486: + case 7488: + case 7490: + case 7492: + case 7494: + case 7496: + case 7498: + case 7500: + case 7502: + case 7504: + case 7506: + case 7508: + case 7510: + case 7512: + case 7514: + case 7516: + case 7518: + case 7520: + case 7522: + case 7524: + case 7526: + case 7528: + case 7530: + case 7532: + case 7534: return BlockType::DarkOakStairs; + case 4432: + case 4434: + case 4436: + case 4438: + case 4440: + case 4442: + case 4444: + case 4446: + case 4448: + case 4450: + case 4452: + case 4454: + case 4456: + case 4458: + case 4460: + case 4462: + case 4464: + case 4466: + case 4468: + case 4470: + case 4472: + case 4474: + case 4476: + case 4478: + case 4480: + case 4482: + case 4484: + case 4486: + case 4488: + case 4490: + case 4492: + case 4494: return BlockType::DarkOakTrapdoor; + case 3776: + case 3778: + case 3780: + case 3782: return BlockType::DarkOakWallSign; + case 124: + case 125: + case 126: return BlockType::DarkOakWood; + case 7603: return BlockType::DarkPrismarine; + case 7857: + case 7859: + case 7861: return BlockType::DarkPrismarineSlab; + case 7765: + case 7767: + case 7769: + case 7771: + case 7773: + case 7775: + case 7777: + case 7779: + case 7781: + case 7783: + case 7785: + case 7787: + case 7789: + case 7791: + case 7793: + case 7795: + case 7797: + case 7799: + case 7801: + case 7803: + case 7805: + case 7807: + case 7809: + case 7811: + case 7813: + case 7815: + case 7817: + case 7819: + case 7821: + case 7823: + case 7825: + case 7827: + case 7829: + case 7831: + case 7833: + case 7835: + case 7837: + case 7839: + case 7841: + case 7843: return BlockType::DarkPrismarineStairs; + case 6694: + case 6695: + case 6696: + case 6697: + case 6698: + case 6699: + case 6700: + case 6701: + case 6702: + case 6703: + case 6704: + case 6705: + case 6706: + case 6707: + case 6708: + case 6709: + case 6710: + case 6711: + case 6712: + case 6713: + case 6714: + case 6715: + case 6716: + case 6717: + case 6718: + case 6719: + case 6720: + case 6721: + case 6722: + case 6723: + case 6724: + case 6725: return BlockType::DaylightDetector; + case 9523: return BlockType::DeadBrainCoral; + case 9511: return BlockType::DeadBrainCoralBlock; + case 9543: return BlockType::DeadBrainCoralFan; + case 9569: + case 9571: + case 9573: + case 9575: return BlockType::DeadBrainCoralWallFan; + case 9525: return BlockType::DeadBubbleCoral; + case 9512: return BlockType::DeadBubbleCoralBlock; + case 9545: return BlockType::DeadBubbleCoralFan; + case 9577: + case 9579: + case 9581: + case 9583: return BlockType::DeadBubbleCoralWallFan; + case 1344: return BlockType::DeadBush; + case 9527: return BlockType::DeadFireCoral; + case 9513: return BlockType::DeadFireCoralBlock; + case 9547: return BlockType::DeadFireCoralFan; + case 9585: + case 9587: + case 9589: + case 9591: return BlockType::DeadFireCoralWallFan; + case 9529: return BlockType::DeadHornCoral; + case 9514: return BlockType::DeadHornCoralBlock; + case 9549: return BlockType::DeadHornCoralFan; + case 9593: + case 9595: + case 9597: + case 9599: return BlockType::DeadHornCoralWallFan; + case 9521: return BlockType::DeadTubeCoral; + case 9510: return BlockType::DeadTubeCoralBlock; + case 9541: return BlockType::DeadTubeCoralFan; + case 9561: + case 9563: + case 9565: + case 9567: return BlockType::DeadTubeCoralWallFan; + case 1317: + case 1318: + case 1319: + case 1320: + case 1321: + case 1322: + case 1323: + case 1324: + case 1325: + case 1326: + case 1327: + case 1328: return BlockType::DetectorRail; + case 3355: return BlockType::DiamondBlock; + case 3354: return BlockType::DiamondOre; + case 4: return BlockType::Diorite; + case 10862: + case 10864: + case 10866: return BlockType::DioriteSlab; + case 10710: + case 10712: + case 10714: + case 10716: + case 10718: + case 10720: + case 10722: + case 10724: + case 10726: + case 10728: + case 10730: + case 10732: + case 10734: + case 10736: + case 10738: + case 10740: + case 10742: + case 10744: + case 10746: + case 10748: + case 10750: + case 10752: + case 10754: + case 10756: + case 10758: + case 10760: + case 10762: + case 10764: + case 10766: + case 10768: + case 10770: + case 10772: + case 10774: + case 10776: + case 10778: + case 10780: + case 10782: + case 10784: + case 10786: + case 10788: return BlockType::DioriteStairs; + case 14434: + case 14435: + case 14436: + case 14440: + case 14441: + case 14442: + case 14446: + case 14447: + case 14448: + case 14452: + case 14453: + case 14454: + case 14458: + case 14459: + case 14460: + case 14464: + case 14465: + case 14466: + case 14470: + case 14471: + case 14472: + case 14476: + case 14477: + case 14478: + case 14482: + case 14483: + case 14484: + case 14488: + case 14489: + case 14490: + case 14494: + case 14495: + case 14496: + case 14500: + case 14501: + case 14502: + case 14506: + case 14507: + case 14508: + case 14512: + case 14513: + case 14514: + case 14518: + case 14519: + case 14520: + case 14524: + case 14525: + case 14526: + case 14530: + case 14531: + case 14532: + case 14536: + case 14537: + case 14538: + case 14542: + case 14543: + case 14544: + case 14548: + case 14549: + case 14550: + case 14554: + case 14555: + case 14556: + case 14560: + case 14561: + case 14562: + case 14566: + case 14567: + case 14568: + case 14572: + case 14573: + case 14574: + case 14578: + case 14579: + case 14580: + case 14584: + case 14585: + case 14586: + case 14590: + case 14591: + case 14592: + case 14596: + case 14597: + case 14598: + case 14602: + case 14603: + case 14604: + case 14608: + case 14609: + case 14610: + case 14614: + case 14615: + case 14616: + case 14620: + case 14621: + case 14622: + case 14626: + case 14627: + case 14628: + case 14632: + case 14633: + case 14634: + case 14638: + case 14639: + case 14640: + case 14644: + case 14645: + case 14646: + case 14650: + case 14651: + case 14652: + case 14656: + case 14657: + case 14658: + case 14662: + case 14663: + case 14664: + case 14668: + case 14669: + case 14670: + case 14674: + case 14675: + case 14676: + case 14680: + case 14681: + case 14682: + case 14686: + case 14687: + case 14688: + case 14692: + case 14693: + case 14694: + case 14698: + case 14699: + case 14700: + case 14704: + case 14705: + case 14706: + case 14710: + case 14711: + case 14712: + case 14716: + case 14717: + case 14718: + case 14722: + case 14723: + case 14724: + case 14728: + case 14729: + case 14730: + case 14734: + case 14735: + case 14736: + case 14740: + case 14741: + case 14742: + case 14746: + case 14747: + case 14748: + case 14752: + case 14753: + case 14754: return BlockType::DioriteWall; + case 10: return BlockType::Dirt; + case 234: + case 235: + case 236: + case 237: + case 238: + case 239: + case 240: + case 241: + case 242: + case 243: + case 244: + case 245: return BlockType::Dispenser; + case 5155: return BlockType::DragonEgg; + case 6590: + case 6591: + case 6592: + case 6593: + case 6594: + case 6595: + case 6596: + case 6597: + case 6598: + case 6599: + case 6600: + case 6601: + case 6602: + case 6603: + case 6604: + case 6605: return BlockType::DragonHead; + case 6606: + case 6607: + case 6608: + case 6609: return BlockType::DragonWallHead; + case 9497: return BlockType::DriedKelpBlock; + case 6835: + case 6836: + case 6837: + case 6838: + case 6839: + case 6840: + case 6841: + case 6842: + case 6843: + case 6844: + case 6845: + case 6846: return BlockType::Dropper; + case 5403: return BlockType::EmeraldBlock; + case 5250: return BlockType::EmeraldOre; + case 5132: return BlockType::EnchantingTable; + case 9224: return BlockType::EndGateway; + case 5145: return BlockType::EndPortal; + case 5146: + case 5147: + case 5148: + case 5149: + case 5150: + case 5151: + case 5152: + case 5153: return BlockType::EndPortalFrame; + case 9058: + case 9059: + case 9060: + case 9061: + case 9062: + case 9063: return BlockType::EndRod; + case 5154: return BlockType::EndStone; + case 10820: + case 10822: + case 10824: return BlockType::EndStoneBrickSlab; + case 10070: + case 10072: + case 10074: + case 10076: + case 10078: + case 10080: + case 10082: + case 10084: + case 10086: + case 10088: + case 10090: + case 10092: + case 10094: + case 10096: + case 10098: + case 10100: + case 10102: + case 10104: + case 10106: + case 10108: + case 10110: + case 10112: + case 10114: + case 10116: + case 10118: + case 10120: + case 10122: + case 10124: + case 10126: + case 10128: + case 10130: + case 10132: + case 10134: + case 10136: + case 10138: + case 10140: + case 10142: + case 10144: + case 10146: + case 10148: return BlockType::EndStoneBrickStairs; + case 14110: + case 14111: + case 14112: + case 14116: + case 14117: + case 14118: + case 14122: + case 14123: + case 14124: + case 14128: + case 14129: + case 14130: + case 14134: + case 14135: + case 14136: + case 14140: + case 14141: + case 14142: + case 14146: + case 14147: + case 14148: + case 14152: + case 14153: + case 14154: + case 14158: + case 14159: + case 14160: + case 14164: + case 14165: + case 14166: + case 14170: + case 14171: + case 14172: + case 14176: + case 14177: + case 14178: + case 14182: + case 14183: + case 14184: + case 14188: + case 14189: + case 14190: + case 14194: + case 14195: + case 14196: + case 14200: + case 14201: + case 14202: + case 14206: + case 14207: + case 14208: + case 14212: + case 14213: + case 14214: + case 14218: + case 14219: + case 14220: + case 14224: + case 14225: + case 14226: + case 14230: + case 14231: + case 14232: + case 14236: + case 14237: + case 14238: + case 14242: + case 14243: + case 14244: + case 14248: + case 14249: + case 14250: + case 14254: + case 14255: + case 14256: + case 14260: + case 14261: + case 14262: + case 14266: + case 14267: + case 14268: + case 14272: + case 14273: + case 14274: + case 14278: + case 14279: + case 14280: + case 14284: + case 14285: + case 14286: + case 14290: + case 14291: + case 14292: + case 14296: + case 14297: + case 14298: + case 14302: + case 14303: + case 14304: + case 14308: + case 14309: + case 14310: + case 14314: + case 14315: + case 14316: + case 14320: + case 14321: + case 14322: + case 14326: + case 14327: + case 14328: + case 14332: + case 14333: + case 14334: + case 14338: + case 14339: + case 14340: + case 14344: + case 14345: + case 14346: + case 14350: + case 14351: + case 14352: + case 14356: + case 14357: + case 14358: + case 14362: + case 14363: + case 14364: + case 14368: + case 14369: + case 14370: + case 14374: + case 14375: + case 14376: + case 14380: + case 14381: + case 14382: + case 14386: + case 14387: + case 14388: + case 14392: + case 14393: + case 14394: + case 14398: + case 14399: + case 14400: + case 14404: + case 14405: + case 14406: + case 14410: + case 14411: + case 14412: + case 14416: + case 14417: + case 14418: + case 14422: + case 14423: + case 14424: + case 14428: + case 14429: + case 14430: return BlockType::EndStoneBrickWall; + case 9218: return BlockType::EndStoneBricks; + case 5252: + case 5254: + case 5256: + case 5258: return BlockType::EnderChest; + case 3365: + case 3366: + case 3367: + case 3368: + case 3369: + case 3370: + case 3371: + case 3372: return BlockType::Farmland; + case 1343: return BlockType::Fern; + case 1440: + case 1441: + case 1442: + case 1443: + case 1444: + case 1445: + case 1446: + case 1447: + case 1448: + case 1449: + case 1450: + case 1451: + case 1452: + case 1453: + case 1454: + case 1455: + case 1456: + case 1457: + case 1458: + case 1459: + case 1460: + case 1461: + case 1462: + case 1463: + case 1464: + case 1465: + case 1466: + case 1467: + case 1468: + case 1469: + case 1470: + case 1471: + case 1472: + case 1473: + case 1474: + case 1475: + case 1476: + case 1477: + case 1478: + case 1479: + case 1480: + case 1481: + case 1482: + case 1483: + case 1484: + case 1485: + case 1486: + case 1487: + case 1488: + case 1489: + case 1490: + case 1491: + case 1492: + case 1493: + case 1494: + case 1495: + case 1496: + case 1497: + case 1498: + case 1499: + case 1500: + case 1501: + case 1502: + case 1503: + case 1504: + case 1505: + case 1506: + case 1507: + case 1508: + case 1509: + case 1510: + case 1511: + case 1512: + case 1513: + case 1514: + case 1515: + case 1516: + case 1517: + case 1518: + case 1519: + case 1520: + case 1521: + case 1522: + case 1523: + case 1524: + case 1525: + case 1526: + case 1527: + case 1528: + case 1529: + case 1530: + case 1531: + case 1532: + case 1533: + case 1534: + case 1535: + case 1536: + case 1537: + case 1538: + case 1539: + case 1540: + case 1541: + case 1542: + case 1543: + case 1544: + case 1545: + case 1546: + case 1547: + case 1548: + case 1549: + case 1550: + case 1551: + case 1552: + case 1553: + case 1554: + case 1555: + case 1556: + case 1557: + case 1558: + case 1559: + case 1560: + case 1561: + case 1562: + case 1563: + case 1564: + case 1565: + case 1566: + case 1567: + case 1568: + case 1569: + case 1570: + case 1571: + case 1572: + case 1573: + case 1574: + case 1575: + case 1576: + case 1577: + case 1578: + case 1579: + case 1580: + case 1581: + case 1582: + case 1583: + case 1584: + case 1585: + case 1586: + case 1587: + case 1588: + case 1589: + case 1590: + case 1591: + case 1592: + case 1593: + case 1594: + case 1595: + case 1596: + case 1597: + case 1598: + case 1599: + case 1600: + case 1601: + case 1602: + case 1603: + case 1604: + case 1605: + case 1606: + case 1607: + case 1608: + case 1609: + case 1610: + case 1611: + case 1612: + case 1613: + case 1614: + case 1615: + case 1616: + case 1617: + case 1618: + case 1619: + case 1620: + case 1621: + case 1622: + case 1623: + case 1624: + case 1625: + case 1626: + case 1627: + case 1628: + case 1629: + case 1630: + case 1631: + case 1632: + case 1633: + case 1634: + case 1635: + case 1636: + case 1637: + case 1638: + case 1639: + case 1640: + case 1641: + case 1642: + case 1643: + case 1644: + case 1645: + case 1646: + case 1647: + case 1648: + case 1649: + case 1650: + case 1651: + case 1652: + case 1653: + case 1654: + case 1655: + case 1656: + case 1657: + case 1658: + case 1659: + case 1660: + case 1661: + case 1662: + case 1663: + case 1664: + case 1665: + case 1666: + case 1667: + case 1668: + case 1669: + case 1670: + case 1671: + case 1672: + case 1673: + case 1674: + case 1675: + case 1676: + case 1677: + case 1678: + case 1679: + case 1680: + case 1681: + case 1682: + case 1683: + case 1684: + case 1685: + case 1686: + case 1687: + case 1688: + case 1689: + case 1690: + case 1691: + case 1692: + case 1693: + case 1694: + case 1695: + case 1696: + case 1697: + case 1698: + case 1699: + case 1700: + case 1701: + case 1702: + case 1703: + case 1704: + case 1705: + case 1706: + case 1707: + case 1708: + case 1709: + case 1710: + case 1711: + case 1712: + case 1713: + case 1714: + case 1715: + case 1716: + case 1717: + case 1718: + case 1719: + case 1720: + case 1721: + case 1722: + case 1723: + case 1724: + case 1725: + case 1726: + case 1727: + case 1728: + case 1729: + case 1730: + case 1731: + case 1732: + case 1733: + case 1734: + case 1735: + case 1736: + case 1737: + case 1738: + case 1739: + case 1740: + case 1741: + case 1742: + case 1743: + case 1744: + case 1745: + case 1746: + case 1747: + case 1748: + case 1749: + case 1750: + case 1751: + case 1752: + case 1753: + case 1754: + case 1755: + case 1756: + case 1757: + case 1758: + case 1759: + case 1760: + case 1761: + case 1762: + case 1763: + case 1764: + case 1765: + case 1766: + case 1767: + case 1768: + case 1769: + case 1770: + case 1771: + case 1772: + case 1773: + case 1774: + case 1775: + case 1776: + case 1777: + case 1778: + case 1779: + case 1780: + case 1781: + case 1782: + case 1783: + case 1784: + case 1785: + case 1786: + case 1787: + case 1788: + case 1789: + case 1790: + case 1791: + case 1792: + case 1793: + case 1794: + case 1795: + case 1796: + case 1797: + case 1798: + case 1799: + case 1800: + case 1801: + case 1802: + case 1803: + case 1804: + case 1805: + case 1806: + case 1807: + case 1808: + case 1809: + case 1810: + case 1811: + case 1812: + case 1813: + case 1814: + case 1815: + case 1816: + case 1817: + case 1818: + case 1819: + case 1820: + case 1821: + case 1822: + case 1823: + case 1824: + case 1825: + case 1826: + case 1827: + case 1828: + case 1829: + case 1830: + case 1831: + case 1832: + case 1833: + case 1834: + case 1835: + case 1836: + case 1837: + case 1838: + case 1839: + case 1840: + case 1841: + case 1842: + case 1843: + case 1844: + case 1845: + case 1846: + case 1847: + case 1848: + case 1849: + case 1850: + case 1851: + case 1852: + case 1853: + case 1854: + case 1855: + case 1856: + case 1857: + case 1858: + case 1859: + case 1860: + case 1861: + case 1862: + case 1863: + case 1864: + case 1865: + case 1866: + case 1867: + case 1868: + case 1869: + case 1870: + case 1871: + case 1872: + case 1873: + case 1874: + case 1875: + case 1876: + case 1877: + case 1878: + case 1879: + case 1880: + case 1881: + case 1882: + case 1883: + case 1884: + case 1885: + case 1886: + case 1887: + case 1888: + case 1889: + case 1890: + case 1891: + case 1892: + case 1893: + case 1894: + case 1895: + case 1896: + case 1897: + case 1898: + case 1899: + case 1900: + case 1901: + case 1902: + case 1903: + case 1904: + case 1905: + case 1906: + case 1907: + case 1908: + case 1909: + case 1910: + case 1911: + case 1912: + case 1913: + case 1914: + case 1915: + case 1916: + case 1917: + case 1918: + case 1919: + case 1920: + case 1921: + case 1922: + case 1923: + case 1924: + case 1925: + case 1926: + case 1927: + case 1928: + case 1929: + case 1930: + case 1931: + case 1932: + case 1933: + case 1934: + case 1935: + case 1936: + case 1937: + case 1938: + case 1939: + case 1940: + case 1941: + case 1942: + case 1943: + case 1944: + case 1945: + case 1946: + case 1947: + case 1948: + case 1949: + case 1950: + case 1951: return BlockType::Fire; + case 9537: return BlockType::FireCoral; + case 9518: return BlockType::FireCoralBlock; + case 9557: return BlockType::FireCoralFan; + case 9625: + case 9627: + case 9629: + case 9631: return BlockType::FireCoralWallFan; case 14820: return BlockType::FletchingTable; - case 6305: return BlockType::FlowerPot; - case 9249: case 9250: case 9251: case 9252: return BlockType::FrostedIce; - case 3373: case 3374: case 3375: case 3376: case 3377: case 3378: case 3379: case 3380: return BlockType::Furnace; + case 6305: return BlockType::FlowerPot; + case 9249: + case 9250: + case 9251: + case 9252: return BlockType::FrostedIce; + case 3373: + case 3374: + case 3375: + case 3376: + case 3377: + case 3378: + case 3379: + case 3380: return BlockType::Furnace; case 16664: return BlockType::GildedBlackstone; - case 231: return BlockType::Glass; - case 4733: case 4734: case 4737: case 4738: case 4741: case 4742: case 4745: case 4746: case 4749: case 4750: case 4753: case 4754: case 4757: case 4758: case 4761: case 4762: return BlockType::GlassPane; - case 4013: return BlockType::Glowstone; - case 1427: return BlockType::GoldBlock; - case 69: return BlockType::GoldOre; - case 2: return BlockType::Granite; - case 10838: case 10840: case 10842: return BlockType::GraniteSlab; - case 10390: case 10392: case 10394: case 10396: case 10398: case 10400: case 10402: case 10404: case 10406: case 10408: case 10410: case 10412: case 10414: case 10416: case 10418: case 10420: case 10422: case 10424: case 10426: case 10428: case 10430: case 10432: case 10434: case 10436: case 10438: case 10440: case 10442: case 10444: case 10446: case 10448: case 10450: case 10452: case 10454: case 10456: case 10458: case 10460: case 10462: case 10464: case 10466: case 10468: return BlockType::GraniteStairs; - case 12166: case 12167: case 12168: case 12172: case 12173: case 12174: case 12178: case 12179: case 12180: case 12184: case 12185: case 12186: case 12190: case 12191: case 12192: case 12196: case 12197: case 12198: case 12202: case 12203: case 12204: case 12208: case 12209: case 12210: case 12214: case 12215: case 12216: case 12220: case 12221: case 12222: case 12226: case 12227: case 12228: case 12232: case 12233: case 12234: case 12238: case 12239: case 12240: case 12244: case 12245: case 12246: case 12250: case 12251: case 12252: case 12256: case 12257: case 12258: case 12262: case 12263: case 12264: case 12268: case 12269: case 12270: case 12274: case 12275: case 12276: case 12280: case 12281: case 12282: case 12286: case 12287: case 12288: case 12292: case 12293: case 12294: case 12298: case 12299: case 12300: case 12304: case 12305: case 12306: case 12310: case 12311: case 12312: case 12316: case 12317: case 12318: case 12322: case 12323: case 12324: case 12328: case 12329: case 12330: case 12334: case 12335: case 12336: case 12340: case 12341: case 12342: case 12346: case 12347: case 12348: case 12352: case 12353: case 12354: case 12358: case 12359: case 12360: case 12364: case 12365: case 12366: case 12370: case 12371: case 12372: case 12376: case 12377: case 12378: case 12382: case 12383: case 12384: case 12388: case 12389: case 12390: case 12394: case 12395: case 12396: case 12400: case 12401: case 12402: case 12406: case 12407: case 12408: case 12412: case 12413: case 12414: case 12418: case 12419: case 12420: case 12424: case 12425: case 12426: case 12430: case 12431: case 12432: case 12436: case 12437: case 12438: case 12442: case 12443: case 12444: case 12448: case 12449: case 12450: case 12454: case 12455: case 12456: case 12460: case 12461: case 12462: case 12466: case 12467: case 12468: case 12472: case 12473: case 12474: case 12478: case 12479: case 12480: case 12484: case 12485: case 12486: return BlockType::GraniteWall; - case 1342: return BlockType::Grass; - case 8: case 9: return BlockType::GrassBlock; - case 9223: return BlockType::GrassPath; - case 68: return BlockType::Gravel; - case 8009: case 8010: case 8011: case 8012: case 8013: case 8014: case 8015: case 8016: case 8017: case 8018: case 8019: case 8020: case 8021: case 8022: case 8023: case 8024: return BlockType::GrayBanner; - case 1161: case 1162: case 1163: case 1164: case 1165: case 1166: case 1167: case 1168: case 1169: case 1170: case 1171: case 1172: case 1173: case 1174: case 1175: case 1176: return BlockType::GrayBed; - case 7873: return BlockType::GrayCarpet; - case 9445: return BlockType::GrayConcrete; - case 9461: return BlockType::GrayConcretePowder; - case 9402: case 9403: case 9404: case 9405: return BlockType::GrayGlazedTerracotta; - case 9320: case 9321: case 9322: case 9323: case 9324: case 9325: return BlockType::GrayShulkerBox; - case 4102: return BlockType::GrayStainedGlass; - case 7089: case 7090: case 7093: case 7094: case 7097: case 7098: case 7101: case 7102: case 7105: case 7106: case 7109: case 7110: case 7113: case 7114: case 7117: case 7118: return BlockType::GrayStainedGlassPane; - case 6854: return BlockType::GrayTerracotta; - case 8181: case 8182: case 8183: case 8184: return BlockType::GrayWallBanner; - case 1391: return BlockType::GrayWool; - case 8105: case 8106: case 8107: case 8108: case 8109: case 8110: case 8111: case 8112: case 8113: case 8114: case 8115: case 8116: case 8117: case 8118: case 8119: case 8120: return BlockType::GreenBanner; - case 1257: case 1258: case 1259: case 1260: case 1261: case 1262: case 1263: case 1264: case 1265: case 1266: case 1267: case 1268: case 1269: case 1270: case 1271: case 1272: return BlockType::GreenBed; - case 7879: return BlockType::GreenCarpet; - case 9451: return BlockType::GreenConcrete; - case 9467: return BlockType::GreenConcretePowder; - case 9426: case 9427: case 9428: case 9429: return BlockType::GreenGlazedTerracotta; - case 9356: case 9357: case 9358: case 9359: case 9360: case 9361: return BlockType::GreenShulkerBox; - case 4108: return BlockType::GreenStainedGlass; - case 7281: case 7282: case 7285: case 7286: case 7289: case 7290: case 7293: case 7294: case 7297: case 7298: case 7301: case 7302: case 7305: case 7306: case 7309: case 7310: return BlockType::GreenStainedGlassPane; - case 6860: return BlockType::GreenTerracotta; - case 8205: case 8206: case 8207: case 8208: return BlockType::GreenWallBanner; - case 1397: return BlockType::GreenWool; - case 14821: case 14822: case 14823: case 14824: case 14825: case 14826: case 14827: case 14828: case 14829: case 14830: case 14831: case 14832: return BlockType::Grindstone; - case 7863: case 7864: case 7865: return BlockType::HayBale; - case 6662: case 6663: case 6664: case 6665: case 6666: case 6667: case 6668: case 6669: case 6670: case 6671: case 6672: case 6673: case 6674: case 6675: case 6676: case 6677: return BlockType::HeavyWeightedPressurePlate; + case 231: return BlockType::Glass; + case 4733: + case 4734: + case 4737: + case 4738: + case 4741: + case 4742: + case 4745: + case 4746: + case 4749: + case 4750: + case 4753: + case 4754: + case 4757: + case 4758: + case 4761: + case 4762: return BlockType::GlassPane; + case 4013: return BlockType::Glowstone; + case 1427: return BlockType::GoldBlock; + case 69: return BlockType::GoldOre; + case 2: return BlockType::Granite; + case 10838: + case 10840: + case 10842: return BlockType::GraniteSlab; + case 10390: + case 10392: + case 10394: + case 10396: + case 10398: + case 10400: + case 10402: + case 10404: + case 10406: + case 10408: + case 10410: + case 10412: + case 10414: + case 10416: + case 10418: + case 10420: + case 10422: + case 10424: + case 10426: + case 10428: + case 10430: + case 10432: + case 10434: + case 10436: + case 10438: + case 10440: + case 10442: + case 10444: + case 10446: + case 10448: + case 10450: + case 10452: + case 10454: + case 10456: + case 10458: + case 10460: + case 10462: + case 10464: + case 10466: + case 10468: return BlockType::GraniteStairs; + case 12166: + case 12167: + case 12168: + case 12172: + case 12173: + case 12174: + case 12178: + case 12179: + case 12180: + case 12184: + case 12185: + case 12186: + case 12190: + case 12191: + case 12192: + case 12196: + case 12197: + case 12198: + case 12202: + case 12203: + case 12204: + case 12208: + case 12209: + case 12210: + case 12214: + case 12215: + case 12216: + case 12220: + case 12221: + case 12222: + case 12226: + case 12227: + case 12228: + case 12232: + case 12233: + case 12234: + case 12238: + case 12239: + case 12240: + case 12244: + case 12245: + case 12246: + case 12250: + case 12251: + case 12252: + case 12256: + case 12257: + case 12258: + case 12262: + case 12263: + case 12264: + case 12268: + case 12269: + case 12270: + case 12274: + case 12275: + case 12276: + case 12280: + case 12281: + case 12282: + case 12286: + case 12287: + case 12288: + case 12292: + case 12293: + case 12294: + case 12298: + case 12299: + case 12300: + case 12304: + case 12305: + case 12306: + case 12310: + case 12311: + case 12312: + case 12316: + case 12317: + case 12318: + case 12322: + case 12323: + case 12324: + case 12328: + case 12329: + case 12330: + case 12334: + case 12335: + case 12336: + case 12340: + case 12341: + case 12342: + case 12346: + case 12347: + case 12348: + case 12352: + case 12353: + case 12354: + case 12358: + case 12359: + case 12360: + case 12364: + case 12365: + case 12366: + case 12370: + case 12371: + case 12372: + case 12376: + case 12377: + case 12378: + case 12382: + case 12383: + case 12384: + case 12388: + case 12389: + case 12390: + case 12394: + case 12395: + case 12396: + case 12400: + case 12401: + case 12402: + case 12406: + case 12407: + case 12408: + case 12412: + case 12413: + case 12414: + case 12418: + case 12419: + case 12420: + case 12424: + case 12425: + case 12426: + case 12430: + case 12431: + case 12432: + case 12436: + case 12437: + case 12438: + case 12442: + case 12443: + case 12444: + case 12448: + case 12449: + case 12450: + case 12454: + case 12455: + case 12456: + case 12460: + case 12461: + case 12462: + case 12466: + case 12467: + case 12468: + case 12472: + case 12473: + case 12474: + case 12478: + case 12479: + case 12480: + case 12484: + case 12485: + case 12486: return BlockType::GraniteWall; + case 1342: return BlockType::Grass; + case 8: + case 9: return BlockType::GrassBlock; + case 9223: return BlockType::GrassPath; + case 68: return BlockType::Gravel; + case 8009: + case 8010: + case 8011: + case 8012: + case 8013: + case 8014: + case 8015: + case 8016: + case 8017: + case 8018: + case 8019: + case 8020: + case 8021: + case 8022: + case 8023: + case 8024: return BlockType::GrayBanner; + case 1161: + case 1162: + case 1163: + case 1164: + case 1165: + case 1166: + case 1167: + case 1168: + case 1169: + case 1170: + case 1171: + case 1172: + case 1173: + case 1174: + case 1175: + case 1176: return BlockType::GrayBed; + case 7873: return BlockType::GrayCarpet; + case 9445: return BlockType::GrayConcrete; + case 9461: return BlockType::GrayConcretePowder; + case 9402: + case 9403: + case 9404: + case 9405: return BlockType::GrayGlazedTerracotta; + case 9320: + case 9321: + case 9322: + case 9323: + case 9324: + case 9325: return BlockType::GrayShulkerBox; + case 4102: return BlockType::GrayStainedGlass; + case 7089: + case 7090: + case 7093: + case 7094: + case 7097: + case 7098: + case 7101: + case 7102: + case 7105: + case 7106: + case 7109: + case 7110: + case 7113: + case 7114: + case 7117: + case 7118: return BlockType::GrayStainedGlassPane; + case 6854: return BlockType::GrayTerracotta; + case 8181: + case 8182: + case 8183: + case 8184: return BlockType::GrayWallBanner; + case 1391: return BlockType::GrayWool; + case 8105: + case 8106: + case 8107: + case 8108: + case 8109: + case 8110: + case 8111: + case 8112: + case 8113: + case 8114: + case 8115: + case 8116: + case 8117: + case 8118: + case 8119: + case 8120: return BlockType::GreenBanner; + case 1257: + case 1258: + case 1259: + case 1260: + case 1261: + case 1262: + case 1263: + case 1264: + case 1265: + case 1266: + case 1267: + case 1268: + case 1269: + case 1270: + case 1271: + case 1272: return BlockType::GreenBed; + case 7879: return BlockType::GreenCarpet; + case 9451: return BlockType::GreenConcrete; + case 9467: return BlockType::GreenConcretePowder; + case 9426: + case 9427: + case 9428: + case 9429: return BlockType::GreenGlazedTerracotta; + case 9356: + case 9357: + case 9358: + case 9359: + case 9360: + case 9361: return BlockType::GreenShulkerBox; + case 4108: return BlockType::GreenStainedGlass; + case 7281: + case 7282: + case 7285: + case 7286: + case 7289: + case 7290: + case 7293: + case 7294: + case 7297: + case 7298: + case 7301: + case 7302: + case 7305: + case 7306: + case 7309: + case 7310: return BlockType::GreenStainedGlassPane; + case 6860: return BlockType::GreenTerracotta; + case 8205: + case 8206: + case 8207: + case 8208: return BlockType::GreenWallBanner; + case 1397: return BlockType::GreenWool; + case 14821: + case 14822: + case 14823: + case 14824: + case 14825: + case 14826: + case 14827: + case 14828: + case 14829: + case 14830: + case 14831: + case 14832: return BlockType::Grindstone; + case 7863: + case 7864: + case 7865: return BlockType::HayBale; + case 6662: + case 6663: + case 6664: + case 6665: + case 6666: + case 6667: + case 6668: + case 6669: + case 6670: + case 6671: + case 6672: + case 6673: + case 6674: + case 6675: + case 6676: + case 6677: return BlockType::HeavyWeightedPressurePlate; case 15824: return BlockType::HoneyBlock; case 15825: return BlockType::HoneycombBlock; - case 6728: case 6729: case 6730: case 6731: case 6732: case 6733: case 6734: case 6735: case 6736: case 6737: return BlockType::Hopper; - case 9539: return BlockType::HornCoral; - case 9519: return BlockType::HornCoralBlock; - case 9559: return BlockType::HornCoralFan; - case 9633: case 9635: case 9637: case 9639: return BlockType::HornCoralWallFan; - case 3929: return BlockType::Ice; - case 4504: return BlockType::InfestedChiseledStoneBricks; - case 4500: return BlockType::InfestedCobblestone; - case 4503: return BlockType::InfestedCrackedStoneBricks; - case 4502: return BlockType::InfestedMossyStoneBricks; - case 4499: return BlockType::InfestedStone; - case 4501: return BlockType::InfestedStoneBricks; - case 4699: case 4700: case 4703: case 4704: case 4707: case 4708: case 4711: case 4712: case 4715: case 4716: case 4719: case 4720: case 4723: case 4724: case 4727: case 4728: return BlockType::IronBars; - case 1428: return BlockType::IronBlock; - case 3809: case 3810: case 3811: case 3812: case 3813: case 3814: case 3815: case 3816: case 3817: case 3818: case 3819: case 3820: case 3821: case 3822: case 3823: case 3824: case 3825: case 3826: case 3827: case 3828: case 3829: case 3830: case 3831: case 3832: case 3833: case 3834: case 3835: case 3836: case 3837: case 3838: case 3839: case 3840: case 3841: case 3842: case 3843: case 3844: case 3845: case 3846: case 3847: case 3848: case 3849: case 3850: case 3851: case 3852: case 3853: case 3854: case 3855: case 3856: case 3857: case 3858: case 3859: case 3860: case 3861: case 3862: case 3863: case 3864: case 3865: case 3866: case 3867: case 3868: case 3869: case 3870: case 3871: case 3872: return BlockType::IronDoor; - case 70: return BlockType::IronOre; - case 7538: case 7540: case 7542: case 7544: case 7546: case 7548: case 7550: case 7552: case 7554: case 7556: case 7558: case 7560: case 7562: case 7564: case 7566: case 7568: case 7570: case 7572: case 7574: case 7576: case 7578: case 7580: case 7582: case 7584: case 7586: case 7588: case 7590: case 7592: case 7594: case 7596: case 7598: case 7600: return BlockType::IronTrapdoor; - case 4020: case 4021: case 4022: case 4023: return BlockType::JackOLantern; - case 15739: case 15740: case 15741: case 15742: case 15743: case 15744: case 15745: case 15746: case 15747: case 15748: case 15749: case 15750: return BlockType::Jigsaw; - case 3964: case 3965: return BlockType::Jukebox; - case 6418: case 6419: case 6420: case 6421: case 6422: case 6423: case 6424: case 6425: case 6426: case 6427: case 6428: case 6429: case 6430: case 6431: case 6432: case 6433: case 6434: case 6435: case 6436: case 6437: case 6438: case 6439: case 6440: case 6441: return BlockType::JungleButton; - case 8866: case 8867: case 8868: case 8869: case 8870: case 8871: case 8872: case 8873: case 8874: case 8875: case 8876: case 8877: case 8878: case 8879: case 8880: case 8881: case 8882: case 8883: case 8884: case 8885: case 8886: case 8887: case 8888: case 8889: case 8890: case 8891: case 8892: case 8893: case 8894: case 8895: case 8896: case 8897: case 8898: case 8899: case 8900: case 8901: case 8902: case 8903: case 8904: case 8905: case 8906: case 8907: case 8908: case 8909: case 8910: case 8911: case 8912: case 8913: case 8914: case 8915: case 8916: case 8917: case 8918: case 8919: case 8920: case 8921: case 8922: case 8923: case 8924: case 8925: case 8926: case 8927: case 8928: case 8929: return BlockType::JungleDoor; - case 8644: case 8645: case 8648: case 8649: case 8652: case 8653: case 8656: case 8657: case 8660: case 8661: case 8664: case 8665: case 8668: case 8669: case 8672: case 8673: return BlockType::JungleFence; - case 8482: case 8483: case 8484: case 8485: case 8486: case 8487: case 8488: case 8489: case 8490: case 8491: case 8492: case 8493: case 8494: case 8495: case 8496: case 8497: case 8498: case 8499: case 8500: case 8501: case 8502: case 8503: case 8504: case 8505: case 8506: case 8507: case 8508: case 8509: case 8510: case 8511: case 8512: case 8513: return BlockType::JungleFenceGate; - case 187: case 188: case 189: case 190: case 191: case 192: case 193: case 194: case 195: case 196: case 197: case 198: case 199: case 200: return BlockType::JungleLeaves; - case 82: case 83: case 84: return BlockType::JungleLog; - case 18: return BlockType::JunglePlanks; - case 3879: case 3880: return BlockType::JunglePressurePlate; - case 27: case 28: return BlockType::JungleSapling; - case 3510: case 3512: case 3514: case 3516: case 3518: case 3520: case 3522: case 3524: case 3526: case 3528: case 3530: case 3532: case 3534: case 3536: case 3538: case 3540: return BlockType::JungleSign; - case 8319: case 8321: case 8323: return BlockType::JungleSlab; - case 5565: case 5567: case 5569: case 5571: case 5573: case 5575: case 5577: case 5579: case 5581: case 5583: case 5585: case 5587: case 5589: case 5591: case 5593: case 5595: case 5597: case 5599: case 5601: case 5603: case 5605: case 5607: case 5609: case 5611: case 5613: case 5615: case 5617: case 5619: case 5621: case 5623: case 5625: case 5627: case 5629: case 5631: case 5633: case 5635: case 5637: case 5639: case 5641: case 5643: return BlockType::JungleStairs; - case 4304: case 4306: case 4308: case 4310: case 4312: case 4314: case 4316: case 4318: case 4320: case 4322: case 4324: case 4326: case 4328: case 4330: case 4332: case 4334: case 4336: case 4338: case 4340: case 4342: case 4344: case 4346: case 4348: case 4350: case 4352: case 4354: case 4356: case 4358: case 4360: case 4362: case 4364: case 4366: return BlockType::JungleTrapdoor; - case 3768: case 3770: case 3772: case 3774: return BlockType::JungleWallSign; - case 118: case 119: case 120: return BlockType::JungleWood; - case 9470: case 9471: case 9472: case 9473: case 9474: case 9475: case 9476: case 9477: case 9478: case 9479: case 9480: case 9481: case 9482: case 9483: case 9484: case 9485: case 9486: case 9487: case 9488: case 9489: case 9490: case 9491: case 9492: case 9493: case 9494: case 9495: return BlockType::Kelp; - case 9496: return BlockType::KelpPlant; - case 3638: case 3640: case 3642: case 3644: return BlockType::Ladder; - case 14886: case 14887: return BlockType::Lantern; - case 233: return BlockType::LapisBlock; - case 232: return BlockType::LapisOre; - case 7895: case 7896: return BlockType::LargeFern; - case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: return BlockType::Lava; - case 14833: case 14834: case 14835: case 14836: case 14837: case 14838: case 14839: case 14840: case 14841: case 14842: case 14843: case 14844: case 14845: case 14846: case 14847: case 14848: return BlockType::Lectern; - case 3783: case 3784: case 3785: case 3786: case 3787: case 3788: case 3789: case 3790: case 3791: case 3792: case 3793: case 3794: case 3795: case 3796: case 3797: case 3798: case 3799: case 3800: case 3801: case 3802: case 3803: case 3804: case 3805: case 3806: return BlockType::Lever; - case 7945: case 7946: case 7947: case 7948: case 7949: case 7950: case 7951: case 7952: case 7953: case 7954: case 7955: case 7956: case 7957: case 7958: case 7959: case 7960: return BlockType::LightBlueBanner; - case 1097: case 1098: case 1099: case 1100: case 1101: case 1102: case 1103: case 1104: case 1105: case 1106: case 1107: case 1108: case 1109: case 1110: case 1111: case 1112: return BlockType::LightBlueBed; - case 7869: return BlockType::LightBlueCarpet; - case 9441: return BlockType::LightBlueConcrete; - case 9457: return BlockType::LightBlueConcretePowder; - case 9386: case 9387: case 9388: case 9389: return BlockType::LightBlueGlazedTerracotta; - case 9296: case 9297: case 9298: case 9299: case 9300: case 9301: return BlockType::LightBlueShulkerBox; - case 4098: return BlockType::LightBlueStainedGlass; - case 6961: case 6962: case 6965: case 6966: case 6969: case 6970: case 6973: case 6974: case 6977: case 6978: case 6981: case 6982: case 6985: case 6986: case 6989: case 6990: return BlockType::LightBlueStainedGlassPane; - case 6850: return BlockType::LightBlueTerracotta; - case 8165: case 8166: case 8167: case 8168: return BlockType::LightBlueWallBanner; - case 1387: return BlockType::LightBlueWool; - case 8025: case 8026: case 8027: case 8028: case 8029: case 8030: case 8031: case 8032: case 8033: case 8034: case 8035: case 8036: case 8037: case 8038: case 8039: case 8040: return BlockType::LightGrayBanner; - case 1177: case 1178: case 1179: case 1180: case 1181: case 1182: case 1183: case 1184: case 1185: case 1186: case 1187: case 1188: case 1189: case 1190: case 1191: case 1192: return BlockType::LightGrayBed; - case 7874: return BlockType::LightGrayCarpet; - case 9446: return BlockType::LightGrayConcrete; - case 9462: return BlockType::LightGrayConcretePowder; - case 9406: case 9407: case 9408: case 9409: return BlockType::LightGrayGlazedTerracotta; - case 9326: case 9327: case 9328: case 9329: case 9330: case 9331: return BlockType::LightGrayShulkerBox; - case 4103: return BlockType::LightGrayStainedGlass; - case 7121: case 7122: case 7125: case 7126: case 7129: case 7130: case 7133: case 7134: case 7137: case 7138: case 7141: case 7142: case 7145: case 7146: case 7149: case 7150: return BlockType::LightGrayStainedGlassPane; - case 6855: return BlockType::LightGrayTerracotta; - case 8185: case 8186: case 8187: case 8188: return BlockType::LightGrayWallBanner; - case 1392: return BlockType::LightGrayWool; - case 6646: case 6647: case 6648: case 6649: case 6650: case 6651: case 6652: case 6653: case 6654: case 6655: case 6656: case 6657: case 6658: case 6659: case 6660: case 6661: return BlockType::LightWeightedPressurePlate; - case 7887: case 7888: return BlockType::Lilac; - case 1424: return BlockType::LilyOfTheValley; - case 5014: return BlockType::LilyPad; - case 7977: case 7978: case 7979: case 7980: case 7981: case 7982: case 7983: case 7984: case 7985: case 7986: case 7987: case 7988: case 7989: case 7990: case 7991: case 7992: return BlockType::LimeBanner; - case 1129: case 1130: case 1131: case 1132: case 1133: case 1134: case 1135: case 1136: case 1137: case 1138: case 1139: case 1140: case 1141: case 1142: case 1143: case 1144: return BlockType::LimeBed; - case 7871: return BlockType::LimeCarpet; - case 9443: return BlockType::LimeConcrete; - case 9459: return BlockType::LimeConcretePowder; - case 9394: case 9395: case 9396: case 9397: return BlockType::LimeGlazedTerracotta; - case 9308: case 9309: case 9310: case 9311: case 9312: case 9313: return BlockType::LimeShulkerBox; - case 4100: return BlockType::LimeStainedGlass; - case 7025: case 7026: case 7029: case 7030: case 7033: case 7034: case 7037: case 7038: case 7041: case 7042: case 7045: case 7046: case 7049: case 7050: case 7053: case 7054: return BlockType::LimeStainedGlassPane; - case 6852: return BlockType::LimeTerracotta; - case 8173: case 8174: case 8175: case 8176: return BlockType::LimeWallBanner; - case 1389: return BlockType::LimeWool; + case 6728: + case 6729: + case 6730: + case 6731: + case 6732: + case 6733: + case 6734: + case 6735: + case 6736: + case 6737: return BlockType::Hopper; + case 9539: return BlockType::HornCoral; + case 9519: return BlockType::HornCoralBlock; + case 9559: return BlockType::HornCoralFan; + case 9633: + case 9635: + case 9637: + case 9639: return BlockType::HornCoralWallFan; + case 3929: return BlockType::Ice; + case 4504: return BlockType::InfestedChiseledStoneBricks; + case 4500: return BlockType::InfestedCobblestone; + case 4503: return BlockType::InfestedCrackedStoneBricks; + case 4502: return BlockType::InfestedMossyStoneBricks; + case 4499: return BlockType::InfestedStone; + case 4501: return BlockType::InfestedStoneBricks; + case 4699: + case 4700: + case 4703: + case 4704: + case 4707: + case 4708: + case 4711: + case 4712: + case 4715: + case 4716: + case 4719: + case 4720: + case 4723: + case 4724: + case 4727: + case 4728: return BlockType::IronBars; + case 1428: return BlockType::IronBlock; + case 3809: + case 3810: + case 3811: + case 3812: + case 3813: + case 3814: + case 3815: + case 3816: + case 3817: + case 3818: + case 3819: + case 3820: + case 3821: + case 3822: + case 3823: + case 3824: + case 3825: + case 3826: + case 3827: + case 3828: + case 3829: + case 3830: + case 3831: + case 3832: + case 3833: + case 3834: + case 3835: + case 3836: + case 3837: + case 3838: + case 3839: + case 3840: + case 3841: + case 3842: + case 3843: + case 3844: + case 3845: + case 3846: + case 3847: + case 3848: + case 3849: + case 3850: + case 3851: + case 3852: + case 3853: + case 3854: + case 3855: + case 3856: + case 3857: + case 3858: + case 3859: + case 3860: + case 3861: + case 3862: + case 3863: + case 3864: + case 3865: + case 3866: + case 3867: + case 3868: + case 3869: + case 3870: + case 3871: + case 3872: return BlockType::IronDoor; + case 70: return BlockType::IronOre; + case 7538: + case 7540: + case 7542: + case 7544: + case 7546: + case 7548: + case 7550: + case 7552: + case 7554: + case 7556: + case 7558: + case 7560: + case 7562: + case 7564: + case 7566: + case 7568: + case 7570: + case 7572: + case 7574: + case 7576: + case 7578: + case 7580: + case 7582: + case 7584: + case 7586: + case 7588: + case 7590: + case 7592: + case 7594: + case 7596: + case 7598: + case 7600: return BlockType::IronTrapdoor; + case 4020: + case 4021: + case 4022: + case 4023: return BlockType::JackOLantern; + case 15739: + case 15740: + case 15741: + case 15742: + case 15743: + case 15744: + case 15745: + case 15746: + case 15747: + case 15748: + case 15749: + case 15750: return BlockType::Jigsaw; + case 3964: + case 3965: return BlockType::Jukebox; + case 6418: + case 6419: + case 6420: + case 6421: + case 6422: + case 6423: + case 6424: + case 6425: + case 6426: + case 6427: + case 6428: + case 6429: + case 6430: + case 6431: + case 6432: + case 6433: + case 6434: + case 6435: + case 6436: + case 6437: + case 6438: + case 6439: + case 6440: + case 6441: return BlockType::JungleButton; + case 8866: + case 8867: + case 8868: + case 8869: + case 8870: + case 8871: + case 8872: + case 8873: + case 8874: + case 8875: + case 8876: + case 8877: + case 8878: + case 8879: + case 8880: + case 8881: + case 8882: + case 8883: + case 8884: + case 8885: + case 8886: + case 8887: + case 8888: + case 8889: + case 8890: + case 8891: + case 8892: + case 8893: + case 8894: + case 8895: + case 8896: + case 8897: + case 8898: + case 8899: + case 8900: + case 8901: + case 8902: + case 8903: + case 8904: + case 8905: + case 8906: + case 8907: + case 8908: + case 8909: + case 8910: + case 8911: + case 8912: + case 8913: + case 8914: + case 8915: + case 8916: + case 8917: + case 8918: + case 8919: + case 8920: + case 8921: + case 8922: + case 8923: + case 8924: + case 8925: + case 8926: + case 8927: + case 8928: + case 8929: return BlockType::JungleDoor; + case 8644: + case 8645: + case 8648: + case 8649: + case 8652: + case 8653: + case 8656: + case 8657: + case 8660: + case 8661: + case 8664: + case 8665: + case 8668: + case 8669: + case 8672: + case 8673: return BlockType::JungleFence; + case 8482: + case 8483: + case 8484: + case 8485: + case 8486: + case 8487: + case 8488: + case 8489: + case 8490: + case 8491: + case 8492: + case 8493: + case 8494: + case 8495: + case 8496: + case 8497: + case 8498: + case 8499: + case 8500: + case 8501: + case 8502: + case 8503: + case 8504: + case 8505: + case 8506: + case 8507: + case 8508: + case 8509: + case 8510: + case 8511: + case 8512: + case 8513: return BlockType::JungleFenceGate; + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + case 193: + case 194: + case 195: + case 196: + case 197: + case 198: + case 199: + case 200: return BlockType::JungleLeaves; + case 82: + case 83: + case 84: return BlockType::JungleLog; + case 18: return BlockType::JunglePlanks; + case 3879: + case 3880: return BlockType::JunglePressurePlate; + case 27: + case 28: return BlockType::JungleSapling; + case 3510: + case 3512: + case 3514: + case 3516: + case 3518: + case 3520: + case 3522: + case 3524: + case 3526: + case 3528: + case 3530: + case 3532: + case 3534: + case 3536: + case 3538: + case 3540: return BlockType::JungleSign; + case 8319: + case 8321: + case 8323: return BlockType::JungleSlab; + case 5565: + case 5567: + case 5569: + case 5571: + case 5573: + case 5575: + case 5577: + case 5579: + case 5581: + case 5583: + case 5585: + case 5587: + case 5589: + case 5591: + case 5593: + case 5595: + case 5597: + case 5599: + case 5601: + case 5603: + case 5605: + case 5607: + case 5609: + case 5611: + case 5613: + case 5615: + case 5617: + case 5619: + case 5621: + case 5623: + case 5625: + case 5627: + case 5629: + case 5631: + case 5633: + case 5635: + case 5637: + case 5639: + case 5641: + case 5643: return BlockType::JungleStairs; + case 4304: + case 4306: + case 4308: + case 4310: + case 4312: + case 4314: + case 4316: + case 4318: + case 4320: + case 4322: + case 4324: + case 4326: + case 4328: + case 4330: + case 4332: + case 4334: + case 4336: + case 4338: + case 4340: + case 4342: + case 4344: + case 4346: + case 4348: + case 4350: + case 4352: + case 4354: + case 4356: + case 4358: + case 4360: + case 4362: + case 4364: + case 4366: return BlockType::JungleTrapdoor; + case 3768: + case 3770: + case 3772: + case 3774: return BlockType::JungleWallSign; + case 118: + case 119: + case 120: return BlockType::JungleWood; + case 9470: + case 9471: + case 9472: + case 9473: + case 9474: + case 9475: + case 9476: + case 9477: + case 9478: + case 9479: + case 9480: + case 9481: + case 9482: + case 9483: + case 9484: + case 9485: + case 9486: + case 9487: + case 9488: + case 9489: + case 9490: + case 9491: + case 9492: + case 9493: + case 9494: + case 9495: return BlockType::Kelp; + case 9496: return BlockType::KelpPlant; + case 3638: + case 3640: + case 3642: + case 3644: return BlockType::Ladder; + case 14886: + case 14887: return BlockType::Lantern; + case 233: return BlockType::LapisBlock; + case 232: return BlockType::LapisOre; + case 7895: + case 7896: return BlockType::LargeFern; + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + case 58: + case 59: + case 60: + case 61: + case 62: + case 63: + case 64: + case 65: return BlockType::Lava; + case 14833: + case 14834: + case 14835: + case 14836: + case 14837: + case 14838: + case 14839: + case 14840: + case 14841: + case 14842: + case 14843: + case 14844: + case 14845: + case 14846: + case 14847: + case 14848: return BlockType::Lectern; + case 3783: + case 3784: + case 3785: + case 3786: + case 3787: + case 3788: + case 3789: + case 3790: + case 3791: + case 3792: + case 3793: + case 3794: + case 3795: + case 3796: + case 3797: + case 3798: + case 3799: + case 3800: + case 3801: + case 3802: + case 3803: + case 3804: + case 3805: + case 3806: return BlockType::Lever; + case 7945: + case 7946: + case 7947: + case 7948: + case 7949: + case 7950: + case 7951: + case 7952: + case 7953: + case 7954: + case 7955: + case 7956: + case 7957: + case 7958: + case 7959: + case 7960: return BlockType::LightBlueBanner; + case 1097: + case 1098: + case 1099: + case 1100: + case 1101: + case 1102: + case 1103: + case 1104: + case 1105: + case 1106: + case 1107: + case 1108: + case 1109: + case 1110: + case 1111: + case 1112: return BlockType::LightBlueBed; + case 7869: return BlockType::LightBlueCarpet; + case 9441: return BlockType::LightBlueConcrete; + case 9457: return BlockType::LightBlueConcretePowder; + case 9386: + case 9387: + case 9388: + case 9389: return BlockType::LightBlueGlazedTerracotta; + case 9296: + case 9297: + case 9298: + case 9299: + case 9300: + case 9301: return BlockType::LightBlueShulkerBox; + case 4098: return BlockType::LightBlueStainedGlass; + case 6961: + case 6962: + case 6965: + case 6966: + case 6969: + case 6970: + case 6973: + case 6974: + case 6977: + case 6978: + case 6981: + case 6982: + case 6985: + case 6986: + case 6989: + case 6990: return BlockType::LightBlueStainedGlassPane; + case 6850: return BlockType::LightBlueTerracotta; + case 8165: + case 8166: + case 8167: + case 8168: return BlockType::LightBlueWallBanner; + case 1387: return BlockType::LightBlueWool; + case 8025: + case 8026: + case 8027: + case 8028: + case 8029: + case 8030: + case 8031: + case 8032: + case 8033: + case 8034: + case 8035: + case 8036: + case 8037: + case 8038: + case 8039: + case 8040: return BlockType::LightGrayBanner; + case 1177: + case 1178: + case 1179: + case 1180: + case 1181: + case 1182: + case 1183: + case 1184: + case 1185: + case 1186: + case 1187: + case 1188: + case 1189: + case 1190: + case 1191: + case 1192: return BlockType::LightGrayBed; + case 7874: return BlockType::LightGrayCarpet; + case 9446: return BlockType::LightGrayConcrete; + case 9462: return BlockType::LightGrayConcretePowder; + case 9406: + case 9407: + case 9408: + case 9409: return BlockType::LightGrayGlazedTerracotta; + case 9326: + case 9327: + case 9328: + case 9329: + case 9330: + case 9331: return BlockType::LightGrayShulkerBox; + case 4103: return BlockType::LightGrayStainedGlass; + case 7121: + case 7122: + case 7125: + case 7126: + case 7129: + case 7130: + case 7133: + case 7134: + case 7137: + case 7138: + case 7141: + case 7142: + case 7145: + case 7146: + case 7149: + case 7150: return BlockType::LightGrayStainedGlassPane; + case 6855: return BlockType::LightGrayTerracotta; + case 8185: + case 8186: + case 8187: + case 8188: return BlockType::LightGrayWallBanner; + case 1392: return BlockType::LightGrayWool; + case 6646: + case 6647: + case 6648: + case 6649: + case 6650: + case 6651: + case 6652: + case 6653: + case 6654: + case 6655: + case 6656: + case 6657: + case 6658: + case 6659: + case 6660: + case 6661: return BlockType::LightWeightedPressurePlate; + case 7887: + case 7888: return BlockType::Lilac; + case 1424: return BlockType::LilyOfTheValley; + case 5014: return BlockType::LilyPad; + case 7977: + case 7978: + case 7979: + case 7980: + case 7981: + case 7982: + case 7983: + case 7984: + case 7985: + case 7986: + case 7987: + case 7988: + case 7989: + case 7990: + case 7991: + case 7992: return BlockType::LimeBanner; + case 1129: + case 1130: + case 1131: + case 1132: + case 1133: + case 1134: + case 1135: + case 1136: + case 1137: + case 1138: + case 1139: + case 1140: + case 1141: + case 1142: + case 1143: + case 1144: return BlockType::LimeBed; + case 7871: return BlockType::LimeCarpet; + case 9443: return BlockType::LimeConcrete; + case 9459: return BlockType::LimeConcretePowder; + case 9394: + case 9395: + case 9396: + case 9397: return BlockType::LimeGlazedTerracotta; + case 9308: + case 9309: + case 9310: + case 9311: + case 9312: + case 9313: return BlockType::LimeShulkerBox; + case 4100: return BlockType::LimeStainedGlass; + case 7025: + case 7026: + case 7029: + case 7030: + case 7033: + case 7034: + case 7037: + case 7038: + case 7041: + case 7042: + case 7045: + case 7046: + case 7049: + case 7050: + case 7053: + case 7054: return BlockType::LimeStainedGlassPane; + case 6852: return BlockType::LimeTerracotta; + case 8173: + case 8174: + case 8175: + case 8176: return BlockType::LimeWallBanner; + case 1389: return BlockType::LimeWool; case 15838: return BlockType::Lodestone; - case 14787: case 14788: case 14789: case 14790: return BlockType::Loom; - case 7929: case 7930: case 7931: case 7932: case 7933: case 7934: case 7935: case 7936: case 7937: case 7938: case 7939: case 7940: case 7941: case 7942: case 7943: case 7944: return BlockType::MagentaBanner; - case 1081: case 1082: case 1083: case 1084: case 1085: case 1086: case 1087: case 1088: case 1089: case 1090: case 1091: case 1092: case 1093: case 1094: case 1095: case 1096: return BlockType::MagentaBed; - case 7868: return BlockType::MagentaCarpet; - case 9440: return BlockType::MagentaConcrete; - case 9456: return BlockType::MagentaConcretePowder; - case 9382: case 9383: case 9384: case 9385: return BlockType::MagentaGlazedTerracotta; - case 9290: case 9291: case 9292: case 9293: case 9294: case 9295: return BlockType::MagentaShulkerBox; - case 4097: return BlockType::MagentaStainedGlass; - case 6929: case 6930: case 6933: case 6934: case 6937: case 6938: case 6941: case 6942: case 6945: case 6946: case 6949: case 6950: case 6953: case 6954: case 6957: case 6958: return BlockType::MagentaStainedGlassPane; - case 6849: return BlockType::MagentaTerracotta; - case 8161: case 8162: case 8163: case 8164: return BlockType::MagentaWallBanner; - case 1386: return BlockType::MagentaWool; - case 9253: return BlockType::MagmaBlock; - case 4763: return BlockType::Melon; - case 4780: case 4781: case 4782: case 4783: case 4784: case 4785: case 4786: case 4787: return BlockType::MelonStem; - case 1433: return BlockType::MossyCobblestone; - case 10814: case 10816: case 10818: return BlockType::MossyCobblestoneSlab; - case 9990: case 9992: case 9994: case 9996: case 9998: case 10000: case 10002: case 10004: case 10006: case 10008: case 10010: case 10012: case 10014: case 10016: case 10018: case 10020: case 10022: case 10024: case 10026: case 10028: case 10030: case 10032: case 10034: case 10036: case 10038: case 10040: case 10042: case 10044: case 10046: case 10048: case 10050: case 10052: case 10054: case 10056: case 10058: case 10060: case 10062: case 10064: case 10066: case 10068: return BlockType::MossyCobblestoneStairs; - case 5984: case 5985: case 5986: case 5990: case 5991: case 5992: case 5996: case 5997: case 5998: case 6002: case 6003: case 6004: case 6008: case 6009: case 6010: case 6014: case 6015: case 6016: case 6020: case 6021: case 6022: case 6026: case 6027: case 6028: case 6032: case 6033: case 6034: case 6038: case 6039: case 6040: case 6044: case 6045: case 6046: case 6050: case 6051: case 6052: case 6056: case 6057: case 6058: case 6062: case 6063: case 6064: case 6068: case 6069: case 6070: case 6074: case 6075: case 6076: case 6080: case 6081: case 6082: case 6086: case 6087: case 6088: case 6092: case 6093: case 6094: case 6098: case 6099: case 6100: case 6104: case 6105: case 6106: case 6110: case 6111: case 6112: case 6116: case 6117: case 6118: case 6122: case 6123: case 6124: case 6128: case 6129: case 6130: case 6134: case 6135: case 6136: case 6140: case 6141: case 6142: case 6146: case 6147: case 6148: case 6152: case 6153: case 6154: case 6158: case 6159: case 6160: case 6164: case 6165: case 6166: case 6170: case 6171: case 6172: case 6176: case 6177: case 6178: case 6182: case 6183: case 6184: case 6188: case 6189: case 6190: case 6194: case 6195: case 6196: case 6200: case 6201: case 6202: case 6206: case 6207: case 6208: case 6212: case 6213: case 6214: case 6218: case 6219: case 6220: case 6224: case 6225: case 6226: case 6230: case 6231: case 6232: case 6236: case 6237: case 6238: case 6242: case 6243: case 6244: case 6248: case 6249: case 6250: case 6254: case 6255: case 6256: case 6260: case 6261: case 6262: case 6266: case 6267: case 6268: case 6272: case 6273: case 6274: case 6278: case 6279: case 6280: case 6284: case 6285: case 6286: case 6290: case 6291: case 6292: case 6296: case 6297: case 6298: case 6302: case 6303: case 6304: return BlockType::MossyCobblestoneWall; - case 10802: case 10804: case 10806: return BlockType::MossyStoneBrickSlab; - case 9830: case 9832: case 9834: case 9836: case 9838: case 9840: case 9842: case 9844: case 9846: case 9848: case 9850: case 9852: case 9854: case 9856: case 9858: case 9860: case 9862: case 9864: case 9866: case 9868: case 9870: case 9872: case 9874: case 9876: case 9878: case 9880: case 9882: case 9884: case 9886: case 9888: case 9890: case 9892: case 9894: case 9896: case 9898: case 9900: case 9902: case 9904: case 9906: case 9908: return BlockType::MossyStoneBrickStairs; - case 11842: case 11843: case 11844: case 11848: case 11849: case 11850: case 11854: case 11855: case 11856: case 11860: case 11861: case 11862: case 11866: case 11867: case 11868: case 11872: case 11873: case 11874: case 11878: case 11879: case 11880: case 11884: case 11885: case 11886: case 11890: case 11891: case 11892: case 11896: case 11897: case 11898: case 11902: case 11903: case 11904: case 11908: case 11909: case 11910: case 11914: case 11915: case 11916: case 11920: case 11921: case 11922: case 11926: case 11927: case 11928: case 11932: case 11933: case 11934: case 11938: case 11939: case 11940: case 11944: case 11945: case 11946: case 11950: case 11951: case 11952: case 11956: case 11957: case 11958: case 11962: case 11963: case 11964: case 11968: case 11969: case 11970: case 11974: case 11975: case 11976: case 11980: case 11981: case 11982: case 11986: case 11987: case 11988: case 11992: case 11993: case 11994: case 11998: case 11999: case 12000: case 12004: case 12005: case 12006: case 12010: case 12011: case 12012: case 12016: case 12017: case 12018: case 12022: case 12023: case 12024: case 12028: case 12029: case 12030: case 12034: case 12035: case 12036: case 12040: case 12041: case 12042: case 12046: case 12047: case 12048: case 12052: case 12053: case 12054: case 12058: case 12059: case 12060: case 12064: case 12065: case 12066: case 12070: case 12071: case 12072: case 12076: case 12077: case 12078: case 12082: case 12083: case 12084: case 12088: case 12089: case 12090: case 12094: case 12095: case 12096: case 12100: case 12101: case 12102: case 12106: case 12107: case 12108: case 12112: case 12113: case 12114: case 12118: case 12119: case 12120: case 12124: case 12125: case 12126: case 12130: case 12131: case 12132: case 12136: case 12137: case 12138: case 12142: case 12143: case 12144: case 12148: case 12149: case 12150: case 12154: case 12155: case 12156: case 12160: case 12161: case 12162: return BlockType::MossyStoneBrickWall; - case 4496: return BlockType::MossyStoneBricks; - case 1400: case 1401: case 1402: case 1403: case 1404: case 1405: case 1406: case 1407: case 1408: case 1409: case 1410: case 1411: return BlockType::MovingPiston; - case 4633: case 4634: case 4635: case 4636: case 4637: case 4638: case 4639: case 4640: case 4641: case 4642: case 4643: case 4644: case 4645: case 4646: case 4647: case 4648: case 4649: case 4650: case 4651: case 4652: case 4653: case 4654: case 4655: case 4656: case 4657: case 4658: case 4659: case 4660: case 4661: case 4662: case 4663: case 4664: case 4665: case 4666: case 4667: case 4668: case 4669: case 4670: case 4671: case 4672: case 4673: case 4674: case 4675: case 4676: case 4677: case 4678: case 4679: case 4680: case 4681: case 4682: case 4683: case 4684: case 4685: case 4686: case 4687: case 4688: case 4689: case 4690: case 4691: case 4692: case 4693: case 4694: case 4695: case 4696: return BlockType::MushroomStem; - case 5012: case 5013: return BlockType::Mycelium; - case 5018: case 5019: case 5022: case 5023: case 5026: case 5027: case 5030: case 5031: case 5034: case 5035: case 5038: case 5039: case 5042: case 5043: case 5046: case 5047: return BlockType::NetherBrickFence; - case 8385: case 8387: case 8389: return BlockType::NetherBrickSlab; - case 5049: case 5051: case 5053: case 5055: case 5057: case 5059: case 5061: case 5063: case 5065: case 5067: case 5069: case 5071: case 5073: case 5075: case 5077: case 5079: case 5081: case 5083: case 5085: case 5087: case 5089: case 5091: case 5093: case 5095: case 5097: case 5099: case 5101: case 5103: case 5105: case 5107: case 5109: case 5111: case 5113: case 5115: case 5117: case 5119: case 5121: case 5123: case 5125: case 5127: return BlockType::NetherBrickStairs; - case 12814: case 12815: case 12816: case 12820: case 12821: case 12822: case 12826: case 12827: case 12828: case 12832: case 12833: case 12834: case 12838: case 12839: case 12840: case 12844: case 12845: case 12846: case 12850: case 12851: case 12852: case 12856: case 12857: case 12858: case 12862: case 12863: case 12864: case 12868: case 12869: case 12870: case 12874: case 12875: case 12876: case 12880: case 12881: case 12882: case 12886: case 12887: case 12888: case 12892: case 12893: case 12894: case 12898: case 12899: case 12900: case 12904: case 12905: case 12906: case 12910: case 12911: case 12912: case 12916: case 12917: case 12918: case 12922: case 12923: case 12924: case 12928: case 12929: case 12930: case 12934: case 12935: case 12936: case 12940: case 12941: case 12942: case 12946: case 12947: case 12948: case 12952: case 12953: case 12954: case 12958: case 12959: case 12960: case 12964: case 12965: case 12966: case 12970: case 12971: case 12972: case 12976: case 12977: case 12978: case 12982: case 12983: case 12984: case 12988: case 12989: case 12990: case 12994: case 12995: case 12996: case 13000: case 13001: case 13002: case 13006: case 13007: case 13008: case 13012: case 13013: case 13014: case 13018: case 13019: case 13020: case 13024: case 13025: case 13026: case 13030: case 13031: case 13032: case 13036: case 13037: case 13038: case 13042: case 13043: case 13044: case 13048: case 13049: case 13050: case 13054: case 13055: case 13056: case 13060: case 13061: case 13062: case 13066: case 13067: case 13068: case 13072: case 13073: case 13074: case 13078: case 13079: case 13080: case 13084: case 13085: case 13086: case 13090: case 13091: case 13092: case 13096: case 13097: case 13098: case 13102: case 13103: case 13104: case 13108: case 13109: case 13110: case 13114: case 13115: case 13116: case 13120: case 13121: case 13122: case 13126: case 13127: case 13128: case 13132: case 13133: case 13134: return BlockType::NetherBrickWall; - case 5015: return BlockType::NetherBricks; - case 72: return BlockType::NetherGoldOre; - case 4014: case 4015: return BlockType::NetherPortal; - case 6727: return BlockType::NetherQuartzOre; + case 14787: + case 14788: + case 14789: + case 14790: return BlockType::Loom; + case 7929: + case 7930: + case 7931: + case 7932: + case 7933: + case 7934: + case 7935: + case 7936: + case 7937: + case 7938: + case 7939: + case 7940: + case 7941: + case 7942: + case 7943: + case 7944: return BlockType::MagentaBanner; + case 1081: + case 1082: + case 1083: + case 1084: + case 1085: + case 1086: + case 1087: + case 1088: + case 1089: + case 1090: + case 1091: + case 1092: + case 1093: + case 1094: + case 1095: + case 1096: return BlockType::MagentaBed; + case 7868: return BlockType::MagentaCarpet; + case 9440: return BlockType::MagentaConcrete; + case 9456: return BlockType::MagentaConcretePowder; + case 9382: + case 9383: + case 9384: + case 9385: return BlockType::MagentaGlazedTerracotta; + case 9290: + case 9291: + case 9292: + case 9293: + case 9294: + case 9295: return BlockType::MagentaShulkerBox; + case 4097: return BlockType::MagentaStainedGlass; + case 6929: + case 6930: + case 6933: + case 6934: + case 6937: + case 6938: + case 6941: + case 6942: + case 6945: + case 6946: + case 6949: + case 6950: + case 6953: + case 6954: + case 6957: + case 6958: return BlockType::MagentaStainedGlassPane; + case 6849: return BlockType::MagentaTerracotta; + case 8161: + case 8162: + case 8163: + case 8164: return BlockType::MagentaWallBanner; + case 1386: return BlockType::MagentaWool; + case 9253: return BlockType::MagmaBlock; + case 4763: return BlockType::Melon; + case 4780: + case 4781: + case 4782: + case 4783: + case 4784: + case 4785: + case 4786: + case 4787: return BlockType::MelonStem; + case 1433: return BlockType::MossyCobblestone; + case 10814: + case 10816: + case 10818: return BlockType::MossyCobblestoneSlab; + case 9990: + case 9992: + case 9994: + case 9996: + case 9998: + case 10000: + case 10002: + case 10004: + case 10006: + case 10008: + case 10010: + case 10012: + case 10014: + case 10016: + case 10018: + case 10020: + case 10022: + case 10024: + case 10026: + case 10028: + case 10030: + case 10032: + case 10034: + case 10036: + case 10038: + case 10040: + case 10042: + case 10044: + case 10046: + case 10048: + case 10050: + case 10052: + case 10054: + case 10056: + case 10058: + case 10060: + case 10062: + case 10064: + case 10066: + case 10068: return BlockType::MossyCobblestoneStairs; + case 5984: + case 5985: + case 5986: + case 5990: + case 5991: + case 5992: + case 5996: + case 5997: + case 5998: + case 6002: + case 6003: + case 6004: + case 6008: + case 6009: + case 6010: + case 6014: + case 6015: + case 6016: + case 6020: + case 6021: + case 6022: + case 6026: + case 6027: + case 6028: + case 6032: + case 6033: + case 6034: + case 6038: + case 6039: + case 6040: + case 6044: + case 6045: + case 6046: + case 6050: + case 6051: + case 6052: + case 6056: + case 6057: + case 6058: + case 6062: + case 6063: + case 6064: + case 6068: + case 6069: + case 6070: + case 6074: + case 6075: + case 6076: + case 6080: + case 6081: + case 6082: + case 6086: + case 6087: + case 6088: + case 6092: + case 6093: + case 6094: + case 6098: + case 6099: + case 6100: + case 6104: + case 6105: + case 6106: + case 6110: + case 6111: + case 6112: + case 6116: + case 6117: + case 6118: + case 6122: + case 6123: + case 6124: + case 6128: + case 6129: + case 6130: + case 6134: + case 6135: + case 6136: + case 6140: + case 6141: + case 6142: + case 6146: + case 6147: + case 6148: + case 6152: + case 6153: + case 6154: + case 6158: + case 6159: + case 6160: + case 6164: + case 6165: + case 6166: + case 6170: + case 6171: + case 6172: + case 6176: + case 6177: + case 6178: + case 6182: + case 6183: + case 6184: + case 6188: + case 6189: + case 6190: + case 6194: + case 6195: + case 6196: + case 6200: + case 6201: + case 6202: + case 6206: + case 6207: + case 6208: + case 6212: + case 6213: + case 6214: + case 6218: + case 6219: + case 6220: + case 6224: + case 6225: + case 6226: + case 6230: + case 6231: + case 6232: + case 6236: + case 6237: + case 6238: + case 6242: + case 6243: + case 6244: + case 6248: + case 6249: + case 6250: + case 6254: + case 6255: + case 6256: + case 6260: + case 6261: + case 6262: + case 6266: + case 6267: + case 6268: + case 6272: + case 6273: + case 6274: + case 6278: + case 6279: + case 6280: + case 6284: + case 6285: + case 6286: + case 6290: + case 6291: + case 6292: + case 6296: + case 6297: + case 6298: + case 6302: + case 6303: + case 6304: return BlockType::MossyCobblestoneWall; + case 10802: + case 10804: + case 10806: return BlockType::MossyStoneBrickSlab; + case 9830: + case 9832: + case 9834: + case 9836: + case 9838: + case 9840: + case 9842: + case 9844: + case 9846: + case 9848: + case 9850: + case 9852: + case 9854: + case 9856: + case 9858: + case 9860: + case 9862: + case 9864: + case 9866: + case 9868: + case 9870: + case 9872: + case 9874: + case 9876: + case 9878: + case 9880: + case 9882: + case 9884: + case 9886: + case 9888: + case 9890: + case 9892: + case 9894: + case 9896: + case 9898: + case 9900: + case 9902: + case 9904: + case 9906: + case 9908: return BlockType::MossyStoneBrickStairs; + case 11842: + case 11843: + case 11844: + case 11848: + case 11849: + case 11850: + case 11854: + case 11855: + case 11856: + case 11860: + case 11861: + case 11862: + case 11866: + case 11867: + case 11868: + case 11872: + case 11873: + case 11874: + case 11878: + case 11879: + case 11880: + case 11884: + case 11885: + case 11886: + case 11890: + case 11891: + case 11892: + case 11896: + case 11897: + case 11898: + case 11902: + case 11903: + case 11904: + case 11908: + case 11909: + case 11910: + case 11914: + case 11915: + case 11916: + case 11920: + case 11921: + case 11922: + case 11926: + case 11927: + case 11928: + case 11932: + case 11933: + case 11934: + case 11938: + case 11939: + case 11940: + case 11944: + case 11945: + case 11946: + case 11950: + case 11951: + case 11952: + case 11956: + case 11957: + case 11958: + case 11962: + case 11963: + case 11964: + case 11968: + case 11969: + case 11970: + case 11974: + case 11975: + case 11976: + case 11980: + case 11981: + case 11982: + case 11986: + case 11987: + case 11988: + case 11992: + case 11993: + case 11994: + case 11998: + case 11999: + case 12000: + case 12004: + case 12005: + case 12006: + case 12010: + case 12011: + case 12012: + case 12016: + case 12017: + case 12018: + case 12022: + case 12023: + case 12024: + case 12028: + case 12029: + case 12030: + case 12034: + case 12035: + case 12036: + case 12040: + case 12041: + case 12042: + case 12046: + case 12047: + case 12048: + case 12052: + case 12053: + case 12054: + case 12058: + case 12059: + case 12060: + case 12064: + case 12065: + case 12066: + case 12070: + case 12071: + case 12072: + case 12076: + case 12077: + case 12078: + case 12082: + case 12083: + case 12084: + case 12088: + case 12089: + case 12090: + case 12094: + case 12095: + case 12096: + case 12100: + case 12101: + case 12102: + case 12106: + case 12107: + case 12108: + case 12112: + case 12113: + case 12114: + case 12118: + case 12119: + case 12120: + case 12124: + case 12125: + case 12126: + case 12130: + case 12131: + case 12132: + case 12136: + case 12137: + case 12138: + case 12142: + case 12143: + case 12144: + case 12148: + case 12149: + case 12150: + case 12154: + case 12155: + case 12156: + case 12160: + case 12161: + case 12162: return BlockType::MossyStoneBrickWall; + case 4496: return BlockType::MossyStoneBricks; + case 1400: + case 1401: + case 1402: + case 1403: + case 1404: + case 1405: + case 1406: + case 1407: + case 1408: + case 1409: + case 1410: + case 1411: return BlockType::MovingPiston; + case 4633: + case 4634: + case 4635: + case 4636: + case 4637: + case 4638: + case 4639: + case 4640: + case 4641: + case 4642: + case 4643: + case 4644: + case 4645: + case 4646: + case 4647: + case 4648: + case 4649: + case 4650: + case 4651: + case 4652: + case 4653: + case 4654: + case 4655: + case 4656: + case 4657: + case 4658: + case 4659: + case 4660: + case 4661: + case 4662: + case 4663: + case 4664: + case 4665: + case 4666: + case 4667: + case 4668: + case 4669: + case 4670: + case 4671: + case 4672: + case 4673: + case 4674: + case 4675: + case 4676: + case 4677: + case 4678: + case 4679: + case 4680: + case 4681: + case 4682: + case 4683: + case 4684: + case 4685: + case 4686: + case 4687: + case 4688: + case 4689: + case 4690: + case 4691: + case 4692: + case 4693: + case 4694: + case 4695: + case 4696: return BlockType::MushroomStem; + case 5012: + case 5013: return BlockType::Mycelium; + case 5018: + case 5019: + case 5022: + case 5023: + case 5026: + case 5027: + case 5030: + case 5031: + case 5034: + case 5035: + case 5038: + case 5039: + case 5042: + case 5043: + case 5046: + case 5047: return BlockType::NetherBrickFence; + case 8385: + case 8387: + case 8389: return BlockType::NetherBrickSlab; + case 5049: + case 5051: + case 5053: + case 5055: + case 5057: + case 5059: + case 5061: + case 5063: + case 5065: + case 5067: + case 5069: + case 5071: + case 5073: + case 5075: + case 5077: + case 5079: + case 5081: + case 5083: + case 5085: + case 5087: + case 5089: + case 5091: + case 5093: + case 5095: + case 5097: + case 5099: + case 5101: + case 5103: + case 5105: + case 5107: + case 5109: + case 5111: + case 5113: + case 5115: + case 5117: + case 5119: + case 5121: + case 5123: + case 5125: + case 5127: return BlockType::NetherBrickStairs; + case 12814: + case 12815: + case 12816: + case 12820: + case 12821: + case 12822: + case 12826: + case 12827: + case 12828: + case 12832: + case 12833: + case 12834: + case 12838: + case 12839: + case 12840: + case 12844: + case 12845: + case 12846: + case 12850: + case 12851: + case 12852: + case 12856: + case 12857: + case 12858: + case 12862: + case 12863: + case 12864: + case 12868: + case 12869: + case 12870: + case 12874: + case 12875: + case 12876: + case 12880: + case 12881: + case 12882: + case 12886: + case 12887: + case 12888: + case 12892: + case 12893: + case 12894: + case 12898: + case 12899: + case 12900: + case 12904: + case 12905: + case 12906: + case 12910: + case 12911: + case 12912: + case 12916: + case 12917: + case 12918: + case 12922: + case 12923: + case 12924: + case 12928: + case 12929: + case 12930: + case 12934: + case 12935: + case 12936: + case 12940: + case 12941: + case 12942: + case 12946: + case 12947: + case 12948: + case 12952: + case 12953: + case 12954: + case 12958: + case 12959: + case 12960: + case 12964: + case 12965: + case 12966: + case 12970: + case 12971: + case 12972: + case 12976: + case 12977: + case 12978: + case 12982: + case 12983: + case 12984: + case 12988: + case 12989: + case 12990: + case 12994: + case 12995: + case 12996: + case 13000: + case 13001: + case 13002: + case 13006: + case 13007: + case 13008: + case 13012: + case 13013: + case 13014: + case 13018: + case 13019: + case 13020: + case 13024: + case 13025: + case 13026: + case 13030: + case 13031: + case 13032: + case 13036: + case 13037: + case 13038: + case 13042: + case 13043: + case 13044: + case 13048: + case 13049: + case 13050: + case 13054: + case 13055: + case 13056: + case 13060: + case 13061: + case 13062: + case 13066: + case 13067: + case 13068: + case 13072: + case 13073: + case 13074: + case 13078: + case 13079: + case 13080: + case 13084: + case 13085: + case 13086: + case 13090: + case 13091: + case 13092: + case 13096: + case 13097: + case 13098: + case 13102: + case 13103: + case 13104: + case 13108: + case 13109: + case 13110: + case 13114: + case 13115: + case 13116: + case 13120: + case 13121: + case 13122: + case 13126: + case 13127: + case 13128: + case 13132: + case 13133: + case 13134: return BlockType::NetherBrickWall; + case 5015: return BlockType::NetherBricks; + case 72: return BlockType::NetherGoldOre; + case 4014: + case 4015: return BlockType::NetherPortal; + case 6727: return BlockType::NetherQuartzOre; case 14974: return BlockType::NetherSprouts; - case 5128: case 5129: case 5130: case 5131: return BlockType::NetherWart; - case 9254: return BlockType::NetherWartBlock; + case 5128: + case 5129: + case 5130: + case 5131: return BlockType::NetherWart; + case 9254: return BlockType::NetherWartBlock; case 15826: return BlockType::NetheriteBlock; - case 3999: return BlockType::Netherrack; - case 249: case 250: case 251: case 252: case 253: case 254: case 255: case 256: case 257: case 258: case 259: case 260: case 261: case 262: case 263: case 264: case 265: case 266: case 267: case 268: case 269: case 270: case 271: case 272: case 273: case 274: case 275: case 276: case 277: case 278: case 279: case 280: case 281: case 282: case 283: case 284: case 285: case 286: case 287: case 288: case 289: case 290: case 291: case 292: case 293: case 294: case 295: case 296: case 297: case 298: case 299: case 300: case 301: case 302: case 303: case 304: case 305: case 306: case 307: case 308: case 309: case 310: case 311: case 312: case 313: case 314: case 315: case 316: case 317: case 318: case 319: case 320: case 321: case 322: case 323: case 324: case 325: case 326: case 327: case 328: case 329: case 330: case 331: case 332: case 333: case 334: case 335: case 336: case 337: case 338: case 339: case 340: case 341: case 342: case 343: case 344: case 345: case 346: case 347: case 348: case 349: case 350: case 351: case 352: case 353: case 354: case 355: case 356: case 357: case 358: case 359: case 360: case 361: case 362: case 363: case 364: case 365: case 366: case 367: case 368: case 369: case 370: case 371: case 372: case 373: case 374: case 375: case 376: case 377: case 378: case 379: case 380: case 381: case 382: case 383: case 384: case 385: case 386: case 387: case 388: case 389: case 390: case 391: case 392: case 393: case 394: case 395: case 396: case 397: case 398: case 399: case 400: case 401: case 402: case 403: case 404: case 405: case 406: case 407: case 408: case 409: case 410: case 411: case 412: case 413: case 414: case 415: case 416: case 417: case 418: case 419: case 420: case 421: case 422: case 423: case 424: case 425: case 426: case 427: case 428: case 429: case 430: case 431: case 432: case 433: case 434: case 435: case 436: case 437: case 438: case 439: case 440: case 441: case 442: case 443: case 444: case 445: case 446: case 447: case 448: case 449: case 450: case 451: case 452: case 453: case 454: case 455: case 456: case 457: case 458: case 459: case 460: case 461: case 462: case 463: case 464: case 465: case 466: case 467: case 468: case 469: case 470: case 471: case 472: case 473: case 474: case 475: case 476: case 477: case 478: case 479: case 480: case 481: case 482: case 483: case 484: case 485: case 486: case 487: case 488: case 489: case 490: case 491: case 492: case 493: case 494: case 495: case 496: case 497: case 498: case 499: case 500: case 501: case 502: case 503: case 504: case 505: case 506: case 507: case 508: case 509: case 510: case 511: case 512: case 513: case 514: case 515: case 516: case 517: case 518: case 519: case 520: case 521: case 522: case 523: case 524: case 525: case 526: case 527: case 528: case 529: case 530: case 531: case 532: case 533: case 534: case 535: case 536: case 537: case 538: case 539: case 540: case 541: case 542: case 543: case 544: case 545: case 546: case 547: case 548: case 549: case 550: case 551: case 552: case 553: case 554: case 555: case 556: case 557: case 558: case 559: case 560: case 561: case 562: case 563: case 564: case 565: case 566: case 567: case 568: case 569: case 570: case 571: case 572: case 573: case 574: case 575: case 576: case 577: case 578: case 579: case 580: case 581: case 582: case 583: case 584: case 585: case 586: case 587: case 588: case 589: case 590: case 591: case 592: case 593: case 594: case 595: case 596: case 597: case 598: case 599: case 600: case 601: case 602: case 603: case 604: case 605: case 606: case 607: case 608: case 609: case 610: case 611: case 612: case 613: case 614: case 615: case 616: case 617: case 618: case 619: case 620: case 621: case 622: case 623: case 624: case 625: case 626: case 627: case 628: case 629: case 630: case 631: case 632: case 633: case 634: case 635: case 636: case 637: case 638: case 639: case 640: case 641: case 642: case 643: case 644: case 645: case 646: case 647: case 648: case 649: case 650: case 651: case 652: case 653: case 654: case 655: case 656: case 657: case 658: case 659: case 660: case 661: case 662: case 663: case 664: case 665: case 666: case 667: case 668: case 669: case 670: case 671: case 672: case 673: case 674: case 675: case 676: case 677: case 678: case 679: case 680: case 681: case 682: case 683: case 684: case 685: case 686: case 687: case 688: case 689: case 690: case 691: case 692: case 693: case 694: case 695: case 696: case 697: case 698: case 699: case 700: case 701: case 702: case 703: case 704: case 705: case 706: case 707: case 708: case 709: case 710: case 711: case 712: case 713: case 714: case 715: case 716: case 717: case 718: case 719: case 720: case 721: case 722: case 723: case 724: case 725: case 726: case 727: case 728: case 729: case 730: case 731: case 732: case 733: case 734: case 735: case 736: case 737: case 738: case 739: case 740: case 741: case 742: case 743: case 744: case 745: case 746: case 747: case 748: case 749: case 750: case 751: case 752: case 753: case 754: case 755: case 756: case 757: case 758: case 759: case 760: case 761: case 762: case 763: case 764: case 765: case 766: case 767: case 768: case 769: case 770: case 771: case 772: case 773: case 774: case 775: case 776: case 777: case 778: case 779: case 780: case 781: case 782: case 783: case 784: case 785: case 786: case 787: case 788: case 789: case 790: case 791: case 792: case 793: case 794: case 795: case 796: case 797: case 798: case 799: case 800: case 801: case 802: case 803: case 804: case 805: case 806: case 807: case 808: case 809: case 810: case 811: case 812: case 813: case 814: case 815: case 816: case 817: case 818: case 819: case 820: case 821: case 822: case 823: case 824: case 825: case 826: case 827: case 828: case 829: case 830: case 831: case 832: case 833: case 834: case 835: case 836: case 837: case 838: case 839: case 840: case 841: case 842: case 843: case 844: case 845: case 846: case 847: case 848: case 849: case 850: case 851: case 852: case 853: case 854: case 855: case 856: case 857: case 858: case 859: case 860: case 861: case 862: case 863: case 864: case 865: case 866: case 867: case 868: case 869: case 870: case 871: case 872: case 873: case 874: case 875: case 876: case 877: case 878: case 879: case 880: case 881: case 882: case 883: case 884: case 885: case 886: case 887: case 888: case 889: case 890: case 891: case 892: case 893: case 894: case 895: case 896: case 897: case 898: case 899: case 900: case 901: case 902: case 903: case 904: case 905: case 906: case 907: case 908: case 909: case 910: case 911: case 912: case 913: case 914: case 915: case 916: case 917: case 918: case 919: case 920: case 921: case 922: case 923: case 924: case 925: case 926: case 927: case 928: case 929: case 930: case 931: case 932: case 933: case 934: case 935: case 936: case 937: case 938: case 939: case 940: case 941: case 942: case 943: case 944: case 945: case 946: case 947: case 948: case 949: case 950: case 951: case 952: case 953: case 954: case 955: case 956: case 957: case 958: case 959: case 960: case 961: case 962: case 963: case 964: case 965: case 966: case 967: case 968: case 969: case 970: case 971: case 972: case 973: case 974: case 975: case 976: case 977: case 978: case 979: case 980: case 981: case 982: case 983: case 984: case 985: case 986: case 987: case 988: case 989: case 990: case 991: case 992: case 993: case 994: case 995: case 996: case 997: case 998: case 999: case 1000: case 1001: case 1002: case 1003: case 1004: case 1005: case 1006: case 1007: case 1008: case 1009: case 1010: case 1011: case 1012: case 1013: case 1014: case 1015: case 1016: case 1017: case 1018: case 1019: case 1020: case 1021: case 1022: case 1023: case 1024: case 1025: case 1026: case 1027: case 1028: case 1029: case 1030: case 1031: case 1032: case 1033: case 1034: case 1035: case 1036: case 1037: case 1038: case 1039: case 1040: case 1041: case 1042: case 1043: case 1044: case 1045: case 1046: case 1047: case 1048: return BlockType::NoteBlock; - case 6346: case 6347: case 6348: case 6349: case 6350: case 6351: case 6352: case 6353: case 6354: case 6355: case 6356: case 6357: case 6358: case 6359: case 6360: case 6361: case 6362: case 6363: case 6364: case 6365: case 6366: case 6367: case 6368: case 6369: return BlockType::OakButton; - case 3573: case 3574: case 3575: case 3576: case 3577: case 3578: case 3579: case 3580: case 3581: case 3582: case 3583: case 3584: case 3585: case 3586: case 3587: case 3588: case 3589: case 3590: case 3591: case 3592: case 3593: case 3594: case 3595: case 3596: case 3597: case 3598: case 3599: case 3600: case 3601: case 3602: case 3603: case 3604: case 3605: case 3606: case 3607: case 3608: case 3609: case 3610: case 3611: case 3612: case 3613: case 3614: case 3615: case 3616: case 3617: case 3618: case 3619: case 3620: case 3621: case 3622: case 3623: case 3624: case 3625: case 3626: case 3627: case 3628: case 3629: case 3630: case 3631: case 3632: case 3633: case 3634: case 3635: case 3636: return BlockType::OakDoor; - case 3968: case 3969: case 3972: case 3973: case 3976: case 3977: case 3980: case 3981: case 3984: case 3985: case 3988: case 3989: case 3992: case 3993: case 3996: case 3997: return BlockType::OakFence; - case 4820: case 4821: case 4822: case 4823: case 4824: case 4825: case 4826: case 4827: case 4828: case 4829: case 4830: case 4831: case 4832: case 4833: case 4834: case 4835: case 4836: case 4837: case 4838: case 4839: case 4840: case 4841: case 4842: case 4843: case 4844: case 4845: case 4846: case 4847: case 4848: case 4849: case 4850: case 4851: return BlockType::OakFenceGate; - case 145: case 146: case 147: case 148: case 149: case 150: case 151: case 152: case 153: case 154: case 155: case 156: case 157: case 158: return BlockType::OakLeaves; - case 73: case 74: case 75: return BlockType::OakLog; - case 15: return BlockType::OakPlanks; - case 3873: case 3874: return BlockType::OakPressurePlate; - case 21: case 22: return BlockType::OakSapling; - case 3382: case 3384: case 3386: case 3388: case 3390: case 3392: case 3394: case 3396: case 3398: case 3400: case 3402: case 3404: case 3406: case 3408: case 3410: case 3412: return BlockType::OakSign; - case 8301: case 8303: case 8305: return BlockType::OakSlab; - case 1955: case 1957: case 1959: case 1961: case 1963: case 1965: case 1967: case 1969: case 1971: case 1973: case 1975: case 1977: case 1979: case 1981: case 1983: case 1985: case 1987: case 1989: case 1991: case 1993: case 1995: case 1997: case 1999: case 2001: case 2003: case 2005: case 2007: case 2009: case 2011: case 2013: case 2015: case 2017: case 2019: case 2021: case 2023: case 2025: case 2027: case 2029: case 2031: case 2033: return BlockType::OakStairs; - case 4112: case 4114: case 4116: case 4118: case 4120: case 4122: case 4124: case 4126: case 4128: case 4130: case 4132: case 4134: case 4136: case 4138: case 4140: case 4142: case 4144: case 4146: case 4148: case 4150: case 4152: case 4154: case 4156: case 4158: case 4160: case 4162: case 4164: case 4166: case 4168: case 4170: case 4172: case 4174: return BlockType::OakTrapdoor; - case 3736: case 3738: case 3740: case 3742: return BlockType::OakWallSign; - case 109: case 110: case 111: return BlockType::OakWood; - case 9260: case 9261: case 9262: case 9263: case 9264: case 9265: case 9266: case 9267: case 9268: case 9269: case 9270: case 9271: return BlockType::Observer; - case 1434: return BlockType::Obsidian; - case 7913: case 7914: case 7915: case 7916: case 7917: case 7918: case 7919: case 7920: case 7921: case 7922: case 7923: case 7924: case 7925: case 7926: case 7927: case 7928: return BlockType::OrangeBanner; - case 1065: case 1066: case 1067: case 1068: case 1069: case 1070: case 1071: case 1072: case 1073: case 1074: case 1075: case 1076: case 1077: case 1078: case 1079: case 1080: return BlockType::OrangeBed; - case 7867: return BlockType::OrangeCarpet; - case 9439: return BlockType::OrangeConcrete; - case 9455: return BlockType::OrangeConcretePowder; - case 9378: case 9379: case 9380: case 9381: return BlockType::OrangeGlazedTerracotta; - case 9284: case 9285: case 9286: case 9287: case 9288: case 9289: return BlockType::OrangeShulkerBox; - case 4096: return BlockType::OrangeStainedGlass; - case 6897: case 6898: case 6901: case 6902: case 6905: case 6906: case 6909: case 6910: case 6913: case 6914: case 6917: case 6918: case 6921: case 6922: case 6925: case 6926: return BlockType::OrangeStainedGlassPane; - case 6848: return BlockType::OrangeTerracotta; - case 1418: return BlockType::OrangeTulip; - case 8157: case 8158: case 8159: case 8160: return BlockType::OrangeWallBanner; - case 1385: return BlockType::OrangeWool; - case 1421: return BlockType::OxeyeDaisy; - case 7884: return BlockType::PackedIce; - case 7891: case 7892: return BlockType::Peony; - case 8361: case 8363: case 8365: return BlockType::PetrifiedOakSlab; - case 7993: case 7994: case 7995: case 7996: case 7997: case 7998: case 7999: case 8000: case 8001: case 8002: case 8003: case 8004: case 8005: case 8006: case 8007: case 8008: return BlockType::PinkBanner; - case 1145: case 1146: case 1147: case 1148: case 1149: case 1150: case 1151: case 1152: case 1153: case 1154: case 1155: case 1156: case 1157: case 1158: case 1159: case 1160: return BlockType::PinkBed; - case 7872: return BlockType::PinkCarpet; - case 9444: return BlockType::PinkConcrete; - case 9460: return BlockType::PinkConcretePowder; - case 9398: case 9399: case 9400: case 9401: return BlockType::PinkGlazedTerracotta; - case 9314: case 9315: case 9316: case 9317: case 9318: case 9319: return BlockType::PinkShulkerBox; - case 4101: return BlockType::PinkStainedGlass; - case 7057: case 7058: case 7061: case 7062: case 7065: case 7066: case 7069: case 7070: case 7073: case 7074: case 7077: case 7078: case 7081: case 7082: case 7085: case 7086: return BlockType::PinkStainedGlassPane; - case 6853: return BlockType::PinkTerracotta; - case 1420: return BlockType::PinkTulip; - case 8177: case 8178: case 8179: case 8180: return BlockType::PinkWallBanner; - case 1390: return BlockType::PinkWool; - case 1348: case 1349: case 1350: case 1351: case 1352: case 1353: case 1354: case 1355: case 1356: case 1357: case 1358: case 1359: return BlockType::Piston; - case 1360: case 1361: case 1362: case 1363: case 1364: case 1365: case 1366: case 1367: case 1368: case 1369: case 1370: case 1371: case 1372: case 1373: case 1374: case 1375: case 1376: case 1377: case 1378: case 1379: case 1380: case 1381: case 1382: case 1383: return BlockType::PistonHead; - case 6550: case 6551: case 6552: case 6553: case 6554: case 6555: case 6556: case 6557: case 6558: case 6559: case 6560: case 6561: case 6562: case 6563: case 6564: case 6565: return BlockType::PlayerHead; - case 6566: case 6567: case 6568: case 6569: return BlockType::PlayerWallHead; - case 12: case 13: return BlockType::Podzol; - case 7: return BlockType::PolishedAndesite; - case 10856: case 10858: case 10860: return BlockType::PolishedAndesiteSlab; - case 10630: case 10632: case 10634: case 10636: case 10638: case 10640: case 10642: case 10644: case 10646: case 10648: case 10650: case 10652: case 10654: case 10656: case 10658: case 10660: case 10662: case 10664: case 10666: case 10668: case 10670: case 10672: case 10674: case 10676: case 10678: case 10680: case 10682: case 10684: case 10686: case 10688: case 10690: case 10692: case 10694: case 10696: case 10698: case 10700: case 10702: case 10704: case 10706: case 10708: return BlockType::PolishedAndesiteStairs; - case 4005: case 4006: case 4007: return BlockType::PolishedBasalt; + case 3999: return BlockType::Netherrack; + case 249: + case 250: + case 251: + case 252: + case 253: + case 254: + case 255: + case 256: + case 257: + case 258: + case 259: + case 260: + case 261: + case 262: + case 263: + case 264: + case 265: + case 266: + case 267: + case 268: + case 269: + case 270: + case 271: + case 272: + case 273: + case 274: + case 275: + case 276: + case 277: + case 278: + case 279: + case 280: + case 281: + case 282: + case 283: + case 284: + case 285: + case 286: + case 287: + case 288: + case 289: + case 290: + case 291: + case 292: + case 293: + case 294: + case 295: + case 296: + case 297: + case 298: + case 299: + case 300: + case 301: + case 302: + case 303: + case 304: + case 305: + case 306: + case 307: + case 308: + case 309: + case 310: + case 311: + case 312: + case 313: + case 314: + case 315: + case 316: + case 317: + case 318: + case 319: + case 320: + case 321: + case 322: + case 323: + case 324: + case 325: + case 326: + case 327: + case 328: + case 329: + case 330: + case 331: + case 332: + case 333: + case 334: + case 335: + case 336: + case 337: + case 338: + case 339: + case 340: + case 341: + case 342: + case 343: + case 344: + case 345: + case 346: + case 347: + case 348: + case 349: + case 350: + case 351: + case 352: + case 353: + case 354: + case 355: + case 356: + case 357: + case 358: + case 359: + case 360: + case 361: + case 362: + case 363: + case 364: + case 365: + case 366: + case 367: + case 368: + case 369: + case 370: + case 371: + case 372: + case 373: + case 374: + case 375: + case 376: + case 377: + case 378: + case 379: + case 380: + case 381: + case 382: + case 383: + case 384: + case 385: + case 386: + case 387: + case 388: + case 389: + case 390: + case 391: + case 392: + case 393: + case 394: + case 395: + case 396: + case 397: + case 398: + case 399: + case 400: + case 401: + case 402: + case 403: + case 404: + case 405: + case 406: + case 407: + case 408: + case 409: + case 410: + case 411: + case 412: + case 413: + case 414: + case 415: + case 416: + case 417: + case 418: + case 419: + case 420: + case 421: + case 422: + case 423: + case 424: + case 425: + case 426: + case 427: + case 428: + case 429: + case 430: + case 431: + case 432: + case 433: + case 434: + case 435: + case 436: + case 437: + case 438: + case 439: + case 440: + case 441: + case 442: + case 443: + case 444: + case 445: + case 446: + case 447: + case 448: + case 449: + case 450: + case 451: + case 452: + case 453: + case 454: + case 455: + case 456: + case 457: + case 458: + case 459: + case 460: + case 461: + case 462: + case 463: + case 464: + case 465: + case 466: + case 467: + case 468: + case 469: + case 470: + case 471: + case 472: + case 473: + case 474: + case 475: + case 476: + case 477: + case 478: + case 479: + case 480: + case 481: + case 482: + case 483: + case 484: + case 485: + case 486: + case 487: + case 488: + case 489: + case 490: + case 491: + case 492: + case 493: + case 494: + case 495: + case 496: + case 497: + case 498: + case 499: + case 500: + case 501: + case 502: + case 503: + case 504: + case 505: + case 506: + case 507: + case 508: + case 509: + case 510: + case 511: + case 512: + case 513: + case 514: + case 515: + case 516: + case 517: + case 518: + case 519: + case 520: + case 521: + case 522: + case 523: + case 524: + case 525: + case 526: + case 527: + case 528: + case 529: + case 530: + case 531: + case 532: + case 533: + case 534: + case 535: + case 536: + case 537: + case 538: + case 539: + case 540: + case 541: + case 542: + case 543: + case 544: + case 545: + case 546: + case 547: + case 548: + case 549: + case 550: + case 551: + case 552: + case 553: + case 554: + case 555: + case 556: + case 557: + case 558: + case 559: + case 560: + case 561: + case 562: + case 563: + case 564: + case 565: + case 566: + case 567: + case 568: + case 569: + case 570: + case 571: + case 572: + case 573: + case 574: + case 575: + case 576: + case 577: + case 578: + case 579: + case 580: + case 581: + case 582: + case 583: + case 584: + case 585: + case 586: + case 587: + case 588: + case 589: + case 590: + case 591: + case 592: + case 593: + case 594: + case 595: + case 596: + case 597: + case 598: + case 599: + case 600: + case 601: + case 602: + case 603: + case 604: + case 605: + case 606: + case 607: + case 608: + case 609: + case 610: + case 611: + case 612: + case 613: + case 614: + case 615: + case 616: + case 617: + case 618: + case 619: + case 620: + case 621: + case 622: + case 623: + case 624: + case 625: + case 626: + case 627: + case 628: + case 629: + case 630: + case 631: + case 632: + case 633: + case 634: + case 635: + case 636: + case 637: + case 638: + case 639: + case 640: + case 641: + case 642: + case 643: + case 644: + case 645: + case 646: + case 647: + case 648: + case 649: + case 650: + case 651: + case 652: + case 653: + case 654: + case 655: + case 656: + case 657: + case 658: + case 659: + case 660: + case 661: + case 662: + case 663: + case 664: + case 665: + case 666: + case 667: + case 668: + case 669: + case 670: + case 671: + case 672: + case 673: + case 674: + case 675: + case 676: + case 677: + case 678: + case 679: + case 680: + case 681: + case 682: + case 683: + case 684: + case 685: + case 686: + case 687: + case 688: + case 689: + case 690: + case 691: + case 692: + case 693: + case 694: + case 695: + case 696: + case 697: + case 698: + case 699: + case 700: + case 701: + case 702: + case 703: + case 704: + case 705: + case 706: + case 707: + case 708: + case 709: + case 710: + case 711: + case 712: + case 713: + case 714: + case 715: + case 716: + case 717: + case 718: + case 719: + case 720: + case 721: + case 722: + case 723: + case 724: + case 725: + case 726: + case 727: + case 728: + case 729: + case 730: + case 731: + case 732: + case 733: + case 734: + case 735: + case 736: + case 737: + case 738: + case 739: + case 740: + case 741: + case 742: + case 743: + case 744: + case 745: + case 746: + case 747: + case 748: + case 749: + case 750: + case 751: + case 752: + case 753: + case 754: + case 755: + case 756: + case 757: + case 758: + case 759: + case 760: + case 761: + case 762: + case 763: + case 764: + case 765: + case 766: + case 767: + case 768: + case 769: + case 770: + case 771: + case 772: + case 773: + case 774: + case 775: + case 776: + case 777: + case 778: + case 779: + case 780: + case 781: + case 782: + case 783: + case 784: + case 785: + case 786: + case 787: + case 788: + case 789: + case 790: + case 791: + case 792: + case 793: + case 794: + case 795: + case 796: + case 797: + case 798: + case 799: + case 800: + case 801: + case 802: + case 803: + case 804: + case 805: + case 806: + case 807: + case 808: + case 809: + case 810: + case 811: + case 812: + case 813: + case 814: + case 815: + case 816: + case 817: + case 818: + case 819: + case 820: + case 821: + case 822: + case 823: + case 824: + case 825: + case 826: + case 827: + case 828: + case 829: + case 830: + case 831: + case 832: + case 833: + case 834: + case 835: + case 836: + case 837: + case 838: + case 839: + case 840: + case 841: + case 842: + case 843: + case 844: + case 845: + case 846: + case 847: + case 848: + case 849: + case 850: + case 851: + case 852: + case 853: + case 854: + case 855: + case 856: + case 857: + case 858: + case 859: + case 860: + case 861: + case 862: + case 863: + case 864: + case 865: + case 866: + case 867: + case 868: + case 869: + case 870: + case 871: + case 872: + case 873: + case 874: + case 875: + case 876: + case 877: + case 878: + case 879: + case 880: + case 881: + case 882: + case 883: + case 884: + case 885: + case 886: + case 887: + case 888: + case 889: + case 890: + case 891: + case 892: + case 893: + case 894: + case 895: + case 896: + case 897: + case 898: + case 899: + case 900: + case 901: + case 902: + case 903: + case 904: + case 905: + case 906: + case 907: + case 908: + case 909: + case 910: + case 911: + case 912: + case 913: + case 914: + case 915: + case 916: + case 917: + case 918: + case 919: + case 920: + case 921: + case 922: + case 923: + case 924: + case 925: + case 926: + case 927: + case 928: + case 929: + case 930: + case 931: + case 932: + case 933: + case 934: + case 935: + case 936: + case 937: + case 938: + case 939: + case 940: + case 941: + case 942: + case 943: + case 944: + case 945: + case 946: + case 947: + case 948: + case 949: + case 950: + case 951: + case 952: + case 953: + case 954: + case 955: + case 956: + case 957: + case 958: + case 959: + case 960: + case 961: + case 962: + case 963: + case 964: + case 965: + case 966: + case 967: + case 968: + case 969: + case 970: + case 971: + case 972: + case 973: + case 974: + case 975: + case 976: + case 977: + case 978: + case 979: + case 980: + case 981: + case 982: + case 983: + case 984: + case 985: + case 986: + case 987: + case 988: + case 989: + case 990: + case 991: + case 992: + case 993: + case 994: + case 995: + case 996: + case 997: + case 998: + case 999: + case 1000: + case 1001: + case 1002: + case 1003: + case 1004: + case 1005: + case 1006: + case 1007: + case 1008: + case 1009: + case 1010: + case 1011: + case 1012: + case 1013: + case 1014: + case 1015: + case 1016: + case 1017: + case 1018: + case 1019: + case 1020: + case 1021: + case 1022: + case 1023: + case 1024: + case 1025: + case 1026: + case 1027: + case 1028: + case 1029: + case 1030: + case 1031: + case 1032: + case 1033: + case 1034: + case 1035: + case 1036: + case 1037: + case 1038: + case 1039: + case 1040: + case 1041: + case 1042: + case 1043: + case 1044: + case 1045: + case 1046: + case 1047: + case 1048: return BlockType::NoteBlock; + case 6346: + case 6347: + case 6348: + case 6349: + case 6350: + case 6351: + case 6352: + case 6353: + case 6354: + case 6355: + case 6356: + case 6357: + case 6358: + case 6359: + case 6360: + case 6361: + case 6362: + case 6363: + case 6364: + case 6365: + case 6366: + case 6367: + case 6368: + case 6369: return BlockType::OakButton; + case 3573: + case 3574: + case 3575: + case 3576: + case 3577: + case 3578: + case 3579: + case 3580: + case 3581: + case 3582: + case 3583: + case 3584: + case 3585: + case 3586: + case 3587: + case 3588: + case 3589: + case 3590: + case 3591: + case 3592: + case 3593: + case 3594: + case 3595: + case 3596: + case 3597: + case 3598: + case 3599: + case 3600: + case 3601: + case 3602: + case 3603: + case 3604: + case 3605: + case 3606: + case 3607: + case 3608: + case 3609: + case 3610: + case 3611: + case 3612: + case 3613: + case 3614: + case 3615: + case 3616: + case 3617: + case 3618: + case 3619: + case 3620: + case 3621: + case 3622: + case 3623: + case 3624: + case 3625: + case 3626: + case 3627: + case 3628: + case 3629: + case 3630: + case 3631: + case 3632: + case 3633: + case 3634: + case 3635: + case 3636: return BlockType::OakDoor; + case 3968: + case 3969: + case 3972: + case 3973: + case 3976: + case 3977: + case 3980: + case 3981: + case 3984: + case 3985: + case 3988: + case 3989: + case 3992: + case 3993: + case 3996: + case 3997: return BlockType::OakFence; + case 4820: + case 4821: + case 4822: + case 4823: + case 4824: + case 4825: + case 4826: + case 4827: + case 4828: + case 4829: + case 4830: + case 4831: + case 4832: + case 4833: + case 4834: + case 4835: + case 4836: + case 4837: + case 4838: + case 4839: + case 4840: + case 4841: + case 4842: + case 4843: + case 4844: + case 4845: + case 4846: + case 4847: + case 4848: + case 4849: + case 4850: + case 4851: return BlockType::OakFenceGate; + case 145: + case 146: + case 147: + case 148: + case 149: + case 150: + case 151: + case 152: + case 153: + case 154: + case 155: + case 156: + case 157: + case 158: return BlockType::OakLeaves; + case 73: + case 74: + case 75: return BlockType::OakLog; + case 15: return BlockType::OakPlanks; + case 3873: + case 3874: return BlockType::OakPressurePlate; + case 21: + case 22: return BlockType::OakSapling; + case 3382: + case 3384: + case 3386: + case 3388: + case 3390: + case 3392: + case 3394: + case 3396: + case 3398: + case 3400: + case 3402: + case 3404: + case 3406: + case 3408: + case 3410: + case 3412: return BlockType::OakSign; + case 8301: + case 8303: + case 8305: return BlockType::OakSlab; + case 1955: + case 1957: + case 1959: + case 1961: + case 1963: + case 1965: + case 1967: + case 1969: + case 1971: + case 1973: + case 1975: + case 1977: + case 1979: + case 1981: + case 1983: + case 1985: + case 1987: + case 1989: + case 1991: + case 1993: + case 1995: + case 1997: + case 1999: + case 2001: + case 2003: + case 2005: + case 2007: + case 2009: + case 2011: + case 2013: + case 2015: + case 2017: + case 2019: + case 2021: + case 2023: + case 2025: + case 2027: + case 2029: + case 2031: + case 2033: return BlockType::OakStairs; + case 4112: + case 4114: + case 4116: + case 4118: + case 4120: + case 4122: + case 4124: + case 4126: + case 4128: + case 4130: + case 4132: + case 4134: + case 4136: + case 4138: + case 4140: + case 4142: + case 4144: + case 4146: + case 4148: + case 4150: + case 4152: + case 4154: + case 4156: + case 4158: + case 4160: + case 4162: + case 4164: + case 4166: + case 4168: + case 4170: + case 4172: + case 4174: return BlockType::OakTrapdoor; + case 3736: + case 3738: + case 3740: + case 3742: return BlockType::OakWallSign; + case 109: + case 110: + case 111: return BlockType::OakWood; + case 9260: + case 9261: + case 9262: + case 9263: + case 9264: + case 9265: + case 9266: + case 9267: + case 9268: + case 9269: + case 9270: + case 9271: return BlockType::Observer; + case 1434: return BlockType::Obsidian; + case 7913: + case 7914: + case 7915: + case 7916: + case 7917: + case 7918: + case 7919: + case 7920: + case 7921: + case 7922: + case 7923: + case 7924: + case 7925: + case 7926: + case 7927: + case 7928: return BlockType::OrangeBanner; + case 1065: + case 1066: + case 1067: + case 1068: + case 1069: + case 1070: + case 1071: + case 1072: + case 1073: + case 1074: + case 1075: + case 1076: + case 1077: + case 1078: + case 1079: + case 1080: return BlockType::OrangeBed; + case 7867: return BlockType::OrangeCarpet; + case 9439: return BlockType::OrangeConcrete; + case 9455: return BlockType::OrangeConcretePowder; + case 9378: + case 9379: + case 9380: + case 9381: return BlockType::OrangeGlazedTerracotta; + case 9284: + case 9285: + case 9286: + case 9287: + case 9288: + case 9289: return BlockType::OrangeShulkerBox; + case 4096: return BlockType::OrangeStainedGlass; + case 6897: + case 6898: + case 6901: + case 6902: + case 6905: + case 6906: + case 6909: + case 6910: + case 6913: + case 6914: + case 6917: + case 6918: + case 6921: + case 6922: + case 6925: + case 6926: return BlockType::OrangeStainedGlassPane; + case 6848: return BlockType::OrangeTerracotta; + case 1418: return BlockType::OrangeTulip; + case 8157: + case 8158: + case 8159: + case 8160: return BlockType::OrangeWallBanner; + case 1385: return BlockType::OrangeWool; + case 1421: return BlockType::OxeyeDaisy; + case 7884: return BlockType::PackedIce; + case 7891: + case 7892: return BlockType::Peony; + case 8361: + case 8363: + case 8365: return BlockType::PetrifiedOakSlab; + case 7993: + case 7994: + case 7995: + case 7996: + case 7997: + case 7998: + case 7999: + case 8000: + case 8001: + case 8002: + case 8003: + case 8004: + case 8005: + case 8006: + case 8007: + case 8008: return BlockType::PinkBanner; + case 1145: + case 1146: + case 1147: + case 1148: + case 1149: + case 1150: + case 1151: + case 1152: + case 1153: + case 1154: + case 1155: + case 1156: + case 1157: + case 1158: + case 1159: + case 1160: return BlockType::PinkBed; + case 7872: return BlockType::PinkCarpet; + case 9444: return BlockType::PinkConcrete; + case 9460: return BlockType::PinkConcretePowder; + case 9398: + case 9399: + case 9400: + case 9401: return BlockType::PinkGlazedTerracotta; + case 9314: + case 9315: + case 9316: + case 9317: + case 9318: + case 9319: return BlockType::PinkShulkerBox; + case 4101: return BlockType::PinkStainedGlass; + case 7057: + case 7058: + case 7061: + case 7062: + case 7065: + case 7066: + case 7069: + case 7070: + case 7073: + case 7074: + case 7077: + case 7078: + case 7081: + case 7082: + case 7085: + case 7086: return BlockType::PinkStainedGlassPane; + case 6853: return BlockType::PinkTerracotta; + case 1420: return BlockType::PinkTulip; + case 8177: + case 8178: + case 8179: + case 8180: return BlockType::PinkWallBanner; + case 1390: return BlockType::PinkWool; + case 1348: + case 1349: + case 1350: + case 1351: + case 1352: + case 1353: + case 1354: + case 1355: + case 1356: + case 1357: + case 1358: + case 1359: return BlockType::Piston; + case 1360: + case 1361: + case 1362: + case 1363: + case 1364: + case 1365: + case 1366: + case 1367: + case 1368: + case 1369: + case 1370: + case 1371: + case 1372: + case 1373: + case 1374: + case 1375: + case 1376: + case 1377: + case 1378: + case 1379: + case 1380: + case 1381: + case 1382: + case 1383: return BlockType::PistonHead; + case 6550: + case 6551: + case 6552: + case 6553: + case 6554: + case 6555: + case 6556: + case 6557: + case 6558: + case 6559: + case 6560: + case 6561: + case 6562: + case 6563: + case 6564: + case 6565: return BlockType::PlayerHead; + case 6566: + case 6567: + case 6568: + case 6569: return BlockType::PlayerWallHead; + case 12: + case 13: return BlockType::Podzol; + case 7: return BlockType::PolishedAndesite; + case 10856: + case 10858: + case 10860: return BlockType::PolishedAndesiteSlab; + case 10630: + case 10632: + case 10634: + case 10636: + case 10638: + case 10640: + case 10642: + case 10644: + case 10646: + case 10648: + case 10650: + case 10652: + case 10654: + case 10656: + case 10658: + case 10660: + case 10662: + case 10664: + case 10666: + case 10668: + case 10670: + case 10672: + case 10674: + case 10676: + case 10678: + case 10680: + case 10682: + case 10684: + case 10686: + case 10688: + case 10690: + case 10692: + case 10694: + case 10696: + case 10698: + case 10700: + case 10702: + case 10704: + case 10706: + case 10708: return BlockType::PolishedAndesiteStairs; + case 4005: + case 4006: + case 4007: return BlockType::PolishedBasalt; case 16250: return BlockType::PolishedBlackstone; - case 16255: case 16257: case 16259: return BlockType::PolishedBlackstoneBrickSlab; - case 16261: case 16263: case 16265: case 16267: case 16269: case 16271: case 16273: case 16275: case 16277: case 16279: case 16281: case 16283: case 16285: case 16287: case 16289: case 16291: case 16293: case 16295: case 16297: case 16299: case 16301: case 16303: case 16305: case 16307: case 16309: case 16311: case 16313: case 16315: case 16317: case 16319: case 16321: case 16323: case 16325: case 16327: case 16329: case 16331: case 16333: case 16335: case 16337: case 16339: return BlockType::PolishedBlackstoneBrickStairs; - case 16343: case 16344: case 16345: case 16349: case 16350: case 16351: case 16355: case 16356: case 16357: case 16361: case 16362: case 16363: case 16367: case 16368: case 16369: case 16373: case 16374: case 16375: case 16379: case 16380: case 16381: case 16385: case 16386: case 16387: case 16391: case 16392: case 16393: case 16397: case 16398: case 16399: case 16403: case 16404: case 16405: case 16409: case 16410: case 16411: case 16415: case 16416: case 16417: case 16421: case 16422: case 16423: case 16427: case 16428: case 16429: case 16433: case 16434: case 16435: case 16439: case 16440: case 16441: case 16445: case 16446: case 16447: case 16451: case 16452: case 16453: case 16457: case 16458: case 16459: case 16463: case 16464: case 16465: case 16469: case 16470: case 16471: case 16475: case 16476: case 16477: case 16481: case 16482: case 16483: case 16487: case 16488: case 16489: case 16493: case 16494: case 16495: case 16499: case 16500: case 16501: case 16505: case 16506: case 16507: case 16511: case 16512: case 16513: case 16517: case 16518: case 16519: case 16523: case 16524: case 16525: case 16529: case 16530: case 16531: case 16535: case 16536: case 16537: case 16541: case 16542: case 16543: case 16547: case 16548: case 16549: case 16553: case 16554: case 16555: case 16559: case 16560: case 16561: case 16565: case 16566: case 16567: case 16571: case 16572: case 16573: case 16577: case 16578: case 16579: case 16583: case 16584: case 16585: case 16589: case 16590: case 16591: case 16595: case 16596: case 16597: case 16601: case 16602: case 16603: case 16607: case 16608: case 16609: case 16613: case 16614: case 16615: case 16619: case 16620: case 16621: case 16625: case 16626: case 16627: case 16631: case 16632: case 16633: case 16637: case 16638: case 16639: case 16643: case 16644: case 16645: case 16649: case 16650: case 16651: case 16655: case 16656: case 16657: case 16661: case 16662: case 16663: return BlockType::PolishedBlackstoneBrickWall; + case 16255: + case 16257: + case 16259: return BlockType::PolishedBlackstoneBrickSlab; + case 16261: + case 16263: + case 16265: + case 16267: + case 16269: + case 16271: + case 16273: + case 16275: + case 16277: + case 16279: + case 16281: + case 16283: + case 16285: + case 16287: + case 16289: + case 16291: + case 16293: + case 16295: + case 16297: + case 16299: + case 16301: + case 16303: + case 16305: + case 16307: + case 16309: + case 16311: + case 16313: + case 16315: + case 16317: + case 16319: + case 16321: + case 16323: + case 16325: + case 16327: + case 16329: + case 16331: + case 16333: + case 16335: + case 16337: + case 16339: return BlockType::PolishedBlackstoneBrickStairs; + case 16343: + case 16344: + case 16345: + case 16349: + case 16350: + case 16351: + case 16355: + case 16356: + case 16357: + case 16361: + case 16362: + case 16363: + case 16367: + case 16368: + case 16369: + case 16373: + case 16374: + case 16375: + case 16379: + case 16380: + case 16381: + case 16385: + case 16386: + case 16387: + case 16391: + case 16392: + case 16393: + case 16397: + case 16398: + case 16399: + case 16403: + case 16404: + case 16405: + case 16409: + case 16410: + case 16411: + case 16415: + case 16416: + case 16417: + case 16421: + case 16422: + case 16423: + case 16427: + case 16428: + case 16429: + case 16433: + case 16434: + case 16435: + case 16439: + case 16440: + case 16441: + case 16445: + case 16446: + case 16447: + case 16451: + case 16452: + case 16453: + case 16457: + case 16458: + case 16459: + case 16463: + case 16464: + case 16465: + case 16469: + case 16470: + case 16471: + case 16475: + case 16476: + case 16477: + case 16481: + case 16482: + case 16483: + case 16487: + case 16488: + case 16489: + case 16493: + case 16494: + case 16495: + case 16499: + case 16500: + case 16501: + case 16505: + case 16506: + case 16507: + case 16511: + case 16512: + case 16513: + case 16517: + case 16518: + case 16519: + case 16523: + case 16524: + case 16525: + case 16529: + case 16530: + case 16531: + case 16535: + case 16536: + case 16537: + case 16541: + case 16542: + case 16543: + case 16547: + case 16548: + case 16549: + case 16553: + case 16554: + case 16555: + case 16559: + case 16560: + case 16561: + case 16565: + case 16566: + case 16567: + case 16571: + case 16572: + case 16573: + case 16577: + case 16578: + case 16579: + case 16583: + case 16584: + case 16585: + case 16589: + case 16590: + case 16591: + case 16595: + case 16596: + case 16597: + case 16601: + case 16602: + case 16603: + case 16607: + case 16608: + case 16609: + case 16613: + case 16614: + case 16615: + case 16619: + case 16620: + case 16621: + case 16625: + case 16626: + case 16627: + case 16631: + case 16632: + case 16633: + case 16637: + case 16638: + case 16639: + case 16643: + case 16644: + case 16645: + case 16649: + case 16650: + case 16651: + case 16655: + case 16656: + case 16657: + case 16661: + case 16662: + case 16663: return BlockType::PolishedBlackstoneBrickWall; case 16251: return BlockType::PolishedBlackstoneBricks; - case 16753: case 16754: case 16755: case 16756: case 16757: case 16758: case 16759: case 16760: case 16761: case 16762: case 16763: case 16764: case 16765: case 16766: case 16767: case 16768: case 16769: case 16770: case 16771: case 16772: case 16773: case 16774: case 16775: case 16776: return BlockType::PolishedBlackstoneButton; - case 16751: case 16752: return BlockType::PolishedBlackstonePressurePlate; - case 16746: case 16748: case 16750: return BlockType::PolishedBlackstoneSlab; - case 16666: case 16668: case 16670: case 16672: case 16674: case 16676: case 16678: case 16680: case 16682: case 16684: case 16686: case 16688: case 16690: case 16692: case 16694: case 16696: case 16698: case 16700: case 16702: case 16704: case 16706: case 16708: case 16710: case 16712: case 16714: case 16716: case 16718: case 16720: case 16722: case 16724: case 16726: case 16728: case 16730: case 16732: case 16734: case 16736: case 16738: case 16740: case 16742: case 16744: return BlockType::PolishedBlackstoneStairs; - case 16780: case 16781: case 16782: case 16786: case 16787: case 16788: case 16792: case 16793: case 16794: case 16798: case 16799: case 16800: case 16804: case 16805: case 16806: case 16810: case 16811: case 16812: case 16816: case 16817: case 16818: case 16822: case 16823: case 16824: case 16828: case 16829: case 16830: case 16834: case 16835: case 16836: case 16840: case 16841: case 16842: case 16846: case 16847: case 16848: case 16852: case 16853: case 16854: case 16858: case 16859: case 16860: case 16864: case 16865: case 16866: case 16870: case 16871: case 16872: case 16876: case 16877: case 16878: case 16882: case 16883: case 16884: case 16888: case 16889: case 16890: case 16894: case 16895: case 16896: case 16900: case 16901: case 16902: case 16906: case 16907: case 16908: case 16912: case 16913: case 16914: case 16918: case 16919: case 16920: case 16924: case 16925: case 16926: case 16930: case 16931: case 16932: case 16936: case 16937: case 16938: case 16942: case 16943: case 16944: case 16948: case 16949: case 16950: case 16954: case 16955: case 16956: case 16960: case 16961: case 16962: case 16966: case 16967: case 16968: case 16972: case 16973: case 16974: case 16978: case 16979: case 16980: case 16984: case 16985: case 16986: case 16990: case 16991: case 16992: case 16996: case 16997: case 16998: case 17002: case 17003: case 17004: case 17008: case 17009: case 17010: case 17014: case 17015: case 17016: case 17020: case 17021: case 17022: case 17026: case 17027: case 17028: case 17032: case 17033: case 17034: case 17038: case 17039: case 17040: case 17044: case 17045: case 17046: case 17050: case 17051: case 17052: case 17056: case 17057: case 17058: case 17062: case 17063: case 17064: case 17068: case 17069: case 17070: case 17074: case 17075: case 17076: case 17080: case 17081: case 17082: case 17086: case 17087: case 17088: case 17092: case 17093: case 17094: case 17098: case 17099: case 17100: return BlockType::PolishedBlackstoneWall; - case 5: return BlockType::PolishedDiorite; - case 10808: case 10810: case 10812: return BlockType::PolishedDioriteSlab; - case 9910: case 9912: case 9914: case 9916: case 9918: case 9920: case 9922: case 9924: case 9926: case 9928: case 9930: case 9932: case 9934: case 9936: case 9938: case 9940: case 9942: case 9944: case 9946: case 9948: case 9950: case 9952: case 9954: case 9956: case 9958: case 9960: case 9962: case 9964: case 9966: case 9968: case 9970: case 9972: case 9974: case 9976: case 9978: case 9980: case 9982: case 9984: case 9986: case 9988: return BlockType::PolishedDioriteStairs; - case 3: return BlockType::PolishedGranite; - case 10790: case 10792: case 10794: return BlockType::PolishedGraniteSlab; - case 9670: case 9672: case 9674: case 9676: case 9678: case 9680: case 9682: case 9684: case 9686: case 9688: case 9690: case 9692: case 9694: case 9696: case 9698: case 9700: case 9702: case 9704: case 9706: case 9708: case 9710: case 9712: case 9714: case 9716: case 9718: case 9720: case 9722: case 9724: case 9726: case 9728: case 9730: case 9732: case 9734: case 9736: case 9738: case 9740: case 9742: case 9744: case 9746: case 9748: return BlockType::PolishedGraniteStairs; - case 1413: return BlockType::Poppy; - case 6338: case 6339: case 6340: case 6341: case 6342: case 6343: case 6344: case 6345: return BlockType::Potatoes; - case 6310: return BlockType::PottedAcaciaSapling; - case 6316: return BlockType::PottedAllium; - case 6317: return BlockType::PottedAzureBluet; - case 9664: return BlockType::PottedBamboo; - case 6308: return BlockType::PottedBirchSapling; - case 6315: return BlockType::PottedBlueOrchid; - case 6327: return BlockType::PottedBrownMushroom; - case 6329: return BlockType::PottedCactus; - case 6323: return BlockType::PottedCornflower; + case 16753: + case 16754: + case 16755: + case 16756: + case 16757: + case 16758: + case 16759: + case 16760: + case 16761: + case 16762: + case 16763: + case 16764: + case 16765: + case 16766: + case 16767: + case 16768: + case 16769: + case 16770: + case 16771: + case 16772: + case 16773: + case 16774: + case 16775: + case 16776: return BlockType::PolishedBlackstoneButton; + case 16751: + case 16752: return BlockType::PolishedBlackstonePressurePlate; + case 16746: + case 16748: + case 16750: return BlockType::PolishedBlackstoneSlab; + case 16666: + case 16668: + case 16670: + case 16672: + case 16674: + case 16676: + case 16678: + case 16680: + case 16682: + case 16684: + case 16686: + case 16688: + case 16690: + case 16692: + case 16694: + case 16696: + case 16698: + case 16700: + case 16702: + case 16704: + case 16706: + case 16708: + case 16710: + case 16712: + case 16714: + case 16716: + case 16718: + case 16720: + case 16722: + case 16724: + case 16726: + case 16728: + case 16730: + case 16732: + case 16734: + case 16736: + case 16738: + case 16740: + case 16742: + case 16744: return BlockType::PolishedBlackstoneStairs; + case 16780: + case 16781: + case 16782: + case 16786: + case 16787: + case 16788: + case 16792: + case 16793: + case 16794: + case 16798: + case 16799: + case 16800: + case 16804: + case 16805: + case 16806: + case 16810: + case 16811: + case 16812: + case 16816: + case 16817: + case 16818: + case 16822: + case 16823: + case 16824: + case 16828: + case 16829: + case 16830: + case 16834: + case 16835: + case 16836: + case 16840: + case 16841: + case 16842: + case 16846: + case 16847: + case 16848: + case 16852: + case 16853: + case 16854: + case 16858: + case 16859: + case 16860: + case 16864: + case 16865: + case 16866: + case 16870: + case 16871: + case 16872: + case 16876: + case 16877: + case 16878: + case 16882: + case 16883: + case 16884: + case 16888: + case 16889: + case 16890: + case 16894: + case 16895: + case 16896: + case 16900: + case 16901: + case 16902: + case 16906: + case 16907: + case 16908: + case 16912: + case 16913: + case 16914: + case 16918: + case 16919: + case 16920: + case 16924: + case 16925: + case 16926: + case 16930: + case 16931: + case 16932: + case 16936: + case 16937: + case 16938: + case 16942: + case 16943: + case 16944: + case 16948: + case 16949: + case 16950: + case 16954: + case 16955: + case 16956: + case 16960: + case 16961: + case 16962: + case 16966: + case 16967: + case 16968: + case 16972: + case 16973: + case 16974: + case 16978: + case 16979: + case 16980: + case 16984: + case 16985: + case 16986: + case 16990: + case 16991: + case 16992: + case 16996: + case 16997: + case 16998: + case 17002: + case 17003: + case 17004: + case 17008: + case 17009: + case 17010: + case 17014: + case 17015: + case 17016: + case 17020: + case 17021: + case 17022: + case 17026: + case 17027: + case 17028: + case 17032: + case 17033: + case 17034: + case 17038: + case 17039: + case 17040: + case 17044: + case 17045: + case 17046: + case 17050: + case 17051: + case 17052: + case 17056: + case 17057: + case 17058: + case 17062: + case 17063: + case 17064: + case 17068: + case 17069: + case 17070: + case 17074: + case 17075: + case 17076: + case 17080: + case 17081: + case 17082: + case 17086: + case 17087: + case 17088: + case 17092: + case 17093: + case 17094: + case 17098: + case 17099: + case 17100: return BlockType::PolishedBlackstoneWall; + case 5: return BlockType::PolishedDiorite; + case 10808: + case 10810: + case 10812: return BlockType::PolishedDioriteSlab; + case 9910: + case 9912: + case 9914: + case 9916: + case 9918: + case 9920: + case 9922: + case 9924: + case 9926: + case 9928: + case 9930: + case 9932: + case 9934: + case 9936: + case 9938: + case 9940: + case 9942: + case 9944: + case 9946: + case 9948: + case 9950: + case 9952: + case 9954: + case 9956: + case 9958: + case 9960: + case 9962: + case 9964: + case 9966: + case 9968: + case 9970: + case 9972: + case 9974: + case 9976: + case 9978: + case 9980: + case 9982: + case 9984: + case 9986: + case 9988: return BlockType::PolishedDioriteStairs; + case 3: return BlockType::PolishedGranite; + case 10790: + case 10792: + case 10794: return BlockType::PolishedGraniteSlab; + case 9670: + case 9672: + case 9674: + case 9676: + case 9678: + case 9680: + case 9682: + case 9684: + case 9686: + case 9688: + case 9690: + case 9692: + case 9694: + case 9696: + case 9698: + case 9700: + case 9702: + case 9704: + case 9706: + case 9708: + case 9710: + case 9712: + case 9714: + case 9716: + case 9718: + case 9720: + case 9722: + case 9724: + case 9726: + case 9728: + case 9730: + case 9732: + case 9734: + case 9736: + case 9738: + case 9740: + case 9742: + case 9744: + case 9746: + case 9748: return BlockType::PolishedGraniteStairs; + case 1413: return BlockType::Poppy; + case 6338: + case 6339: + case 6340: + case 6341: + case 6342: + case 6343: + case 6344: + case 6345: return BlockType::Potatoes; + case 6310: return BlockType::PottedAcaciaSapling; + case 6316: return BlockType::PottedAllium; + case 6317: return BlockType::PottedAzureBluet; + case 9664: return BlockType::PottedBamboo; + case 6308: return BlockType::PottedBirchSapling; + case 6315: return BlockType::PottedBlueOrchid; + case 6327: return BlockType::PottedBrownMushroom; + case 6329: return BlockType::PottedCactus; + case 6323: return BlockType::PottedCornflower; case 15834: return BlockType::PottedCrimsonFungus; case 15836: return BlockType::PottedCrimsonRoots; - case 6313: return BlockType::PottedDandelion; - case 6311: return BlockType::PottedDarkOakSapling; - case 6328: return BlockType::PottedDeadBush; - case 6312: return BlockType::PottedFern; - case 6309: return BlockType::PottedJungleSapling; - case 6324: return BlockType::PottedLilyOfTheValley; - case 6306: return BlockType::PottedOakSapling; - case 6319: return BlockType::PottedOrangeTulip; - case 6322: return BlockType::PottedOxeyeDaisy; - case 6321: return BlockType::PottedPinkTulip; - case 6314: return BlockType::PottedPoppy; - case 6326: return BlockType::PottedRedMushroom; - case 6318: return BlockType::PottedRedTulip; - case 6307: return BlockType::PottedSpruceSapling; + case 6313: return BlockType::PottedDandelion; + case 6311: return BlockType::PottedDarkOakSapling; + case 6328: return BlockType::PottedDeadBush; + case 6312: return BlockType::PottedFern; + case 6309: return BlockType::PottedJungleSapling; + case 6324: return BlockType::PottedLilyOfTheValley; + case 6306: return BlockType::PottedOakSapling; + case 6319: return BlockType::PottedOrangeTulip; + case 6322: return BlockType::PottedOxeyeDaisy; + case 6321: return BlockType::PottedPinkTulip; + case 6314: return BlockType::PottedPoppy; + case 6326: return BlockType::PottedRedMushroom; + case 6318: return BlockType::PottedRedTulip; + case 6307: return BlockType::PottedSpruceSapling; case 15835: return BlockType::PottedWarpedFungus; case 15837: return BlockType::PottedWarpedRoots; - case 6320: return BlockType::PottedWhiteTulip; - case 6325: return BlockType::PottedWitherRose; - case 1305: case 1306: case 1307: case 1308: case 1309: case 1310: case 1311: case 1312: case 1313: case 1314: case 1315: case 1316: return BlockType::PoweredRail; - case 7601: return BlockType::Prismarine; - case 7851: case 7853: case 7855: return BlockType::PrismarineBrickSlab; - case 7685: case 7687: case 7689: case 7691: case 7693: case 7695: case 7697: case 7699: case 7701: case 7703: case 7705: case 7707: case 7709: case 7711: case 7713: case 7715: case 7717: case 7719: case 7721: case 7723: case 7725: case 7727: case 7729: case 7731: case 7733: case 7735: case 7737: case 7739: case 7741: case 7743: case 7745: case 7747: case 7749: case 7751: case 7753: case 7755: case 7757: case 7759: case 7761: case 7763: return BlockType::PrismarineBrickStairs; - case 7602: return BlockType::PrismarineBricks; - case 7845: case 7847: case 7849: return BlockType::PrismarineSlab; - case 7605: case 7607: case 7609: case 7611: case 7613: case 7615: case 7617: case 7619: case 7621: case 7623: case 7625: case 7627: case 7629: case 7631: case 7633: case 7635: case 7637: case 7639: case 7641: case 7643: case 7645: case 7647: case 7649: case 7651: case 7653: case 7655: case 7657: case 7659: case 7661: case 7663: case 7665: case 7667: case 7669: case 7671: case 7673: case 7675: case 7677: case 7679: case 7681: case 7683: return BlockType::PrismarineStairs; - case 11194: case 11195: case 11196: case 11200: case 11201: case 11202: case 11206: case 11207: case 11208: case 11212: case 11213: case 11214: case 11218: case 11219: case 11220: case 11224: case 11225: case 11226: case 11230: case 11231: case 11232: case 11236: case 11237: case 11238: case 11242: case 11243: case 11244: case 11248: case 11249: case 11250: case 11254: case 11255: case 11256: case 11260: case 11261: case 11262: case 11266: case 11267: case 11268: case 11272: case 11273: case 11274: case 11278: case 11279: case 11280: case 11284: case 11285: case 11286: case 11290: case 11291: case 11292: case 11296: case 11297: case 11298: case 11302: case 11303: case 11304: case 11308: case 11309: case 11310: case 11314: case 11315: case 11316: case 11320: case 11321: case 11322: case 11326: case 11327: case 11328: case 11332: case 11333: case 11334: case 11338: case 11339: case 11340: case 11344: case 11345: case 11346: case 11350: case 11351: case 11352: case 11356: case 11357: case 11358: case 11362: case 11363: case 11364: case 11368: case 11369: case 11370: case 11374: case 11375: case 11376: case 11380: case 11381: case 11382: case 11386: case 11387: case 11388: case 11392: case 11393: case 11394: case 11398: case 11399: case 11400: case 11404: case 11405: case 11406: case 11410: case 11411: case 11412: case 11416: case 11417: case 11418: case 11422: case 11423: case 11424: case 11428: case 11429: case 11430: case 11434: case 11435: case 11436: case 11440: case 11441: case 11442: case 11446: case 11447: case 11448: case 11452: case 11453: case 11454: case 11458: case 11459: case 11460: case 11464: case 11465: case 11466: case 11470: case 11471: case 11472: case 11476: case 11477: case 11478: case 11482: case 11483: case 11484: case 11488: case 11489: case 11490: case 11494: case 11495: case 11496: case 11500: case 11501: case 11502: case 11506: case 11507: case 11508: case 11512: case 11513: case 11514: return BlockType::PrismarineWall; - case 3998: return BlockType::Pumpkin; - case 4772: case 4773: case 4774: case 4775: case 4776: case 4777: case 4778: case 4779: return BlockType::PumpkinStem; - case 8057: case 8058: case 8059: case 8060: case 8061: case 8062: case 8063: case 8064: case 8065: case 8066: case 8067: case 8068: case 8069: case 8070: case 8071: case 8072: return BlockType::PurpleBanner; - case 1209: case 1210: case 1211: case 1212: case 1213: case 1214: case 1215: case 1216: case 1217: case 1218: case 1219: case 1220: case 1221: case 1222: case 1223: case 1224: return BlockType::PurpleBed; - case 7876: return BlockType::PurpleCarpet; - case 9448: return BlockType::PurpleConcrete; - case 9464: return BlockType::PurpleConcretePowder; - case 9414: case 9415: case 9416: case 9417: return BlockType::PurpleGlazedTerracotta; - case 9338: case 9339: case 9340: case 9341: case 9342: case 9343: return BlockType::PurpleShulkerBox; - case 4105: return BlockType::PurpleStainedGlass; - case 7185: case 7186: case 7189: case 7190: case 7193: case 7194: case 7197: case 7198: case 7201: case 7202: case 7205: case 7206: case 7209: case 7210: case 7213: case 7214: return BlockType::PurpleStainedGlassPane; - case 6857: return BlockType::PurpleTerracotta; - case 8193: case 8194: case 8195: case 8196: return BlockType::PurpleWallBanner; - case 1394: return BlockType::PurpleWool; - case 9134: return BlockType::PurpurBlock; - case 9135: case 9136: case 9137: return BlockType::PurpurPillar; - case 8409: case 8411: case 8413: return BlockType::PurpurSlab; - case 9139: case 9141: case 9143: case 9145: case 9147: case 9149: case 9151: case 9153: case 9155: case 9157: case 9159: case 9161: case 9163: case 9165: case 9167: case 9169: case 9171: case 9173: case 9175: case 9177: case 9179: case 9181: case 9183: case 9185: case 9187: case 9189: case 9191: case 9193: case 9195: case 9197: case 9199: case 9201: case 9203: case 9205: case 9207: case 9209: case 9211: case 9213: case 9215: case 9217: return BlockType::PurpurStairs; - case 6738: return BlockType::QuartzBlock; + case 6320: return BlockType::PottedWhiteTulip; + case 6325: return BlockType::PottedWitherRose; + case 1305: + case 1306: + case 1307: + case 1308: + case 1309: + case 1310: + case 1311: + case 1312: + case 1313: + case 1314: + case 1315: + case 1316: return BlockType::PoweredRail; + case 7601: return BlockType::Prismarine; + case 7851: + case 7853: + case 7855: return BlockType::PrismarineBrickSlab; + case 7685: + case 7687: + case 7689: + case 7691: + case 7693: + case 7695: + case 7697: + case 7699: + case 7701: + case 7703: + case 7705: + case 7707: + case 7709: + case 7711: + case 7713: + case 7715: + case 7717: + case 7719: + case 7721: + case 7723: + case 7725: + case 7727: + case 7729: + case 7731: + case 7733: + case 7735: + case 7737: + case 7739: + case 7741: + case 7743: + case 7745: + case 7747: + case 7749: + case 7751: + case 7753: + case 7755: + case 7757: + case 7759: + case 7761: + case 7763: return BlockType::PrismarineBrickStairs; + case 7602: return BlockType::PrismarineBricks; + case 7845: + case 7847: + case 7849: return BlockType::PrismarineSlab; + case 7605: + case 7607: + case 7609: + case 7611: + case 7613: + case 7615: + case 7617: + case 7619: + case 7621: + case 7623: + case 7625: + case 7627: + case 7629: + case 7631: + case 7633: + case 7635: + case 7637: + case 7639: + case 7641: + case 7643: + case 7645: + case 7647: + case 7649: + case 7651: + case 7653: + case 7655: + case 7657: + case 7659: + case 7661: + case 7663: + case 7665: + case 7667: + case 7669: + case 7671: + case 7673: + case 7675: + case 7677: + case 7679: + case 7681: + case 7683: return BlockType::PrismarineStairs; + case 11194: + case 11195: + case 11196: + case 11200: + case 11201: + case 11202: + case 11206: + case 11207: + case 11208: + case 11212: + case 11213: + case 11214: + case 11218: + case 11219: + case 11220: + case 11224: + case 11225: + case 11226: + case 11230: + case 11231: + case 11232: + case 11236: + case 11237: + case 11238: + case 11242: + case 11243: + case 11244: + case 11248: + case 11249: + case 11250: + case 11254: + case 11255: + case 11256: + case 11260: + case 11261: + case 11262: + case 11266: + case 11267: + case 11268: + case 11272: + case 11273: + case 11274: + case 11278: + case 11279: + case 11280: + case 11284: + case 11285: + case 11286: + case 11290: + case 11291: + case 11292: + case 11296: + case 11297: + case 11298: + case 11302: + case 11303: + case 11304: + case 11308: + case 11309: + case 11310: + case 11314: + case 11315: + case 11316: + case 11320: + case 11321: + case 11322: + case 11326: + case 11327: + case 11328: + case 11332: + case 11333: + case 11334: + case 11338: + case 11339: + case 11340: + case 11344: + case 11345: + case 11346: + case 11350: + case 11351: + case 11352: + case 11356: + case 11357: + case 11358: + case 11362: + case 11363: + case 11364: + case 11368: + case 11369: + case 11370: + case 11374: + case 11375: + case 11376: + case 11380: + case 11381: + case 11382: + case 11386: + case 11387: + case 11388: + case 11392: + case 11393: + case 11394: + case 11398: + case 11399: + case 11400: + case 11404: + case 11405: + case 11406: + case 11410: + case 11411: + case 11412: + case 11416: + case 11417: + case 11418: + case 11422: + case 11423: + case 11424: + case 11428: + case 11429: + case 11430: + case 11434: + case 11435: + case 11436: + case 11440: + case 11441: + case 11442: + case 11446: + case 11447: + case 11448: + case 11452: + case 11453: + case 11454: + case 11458: + case 11459: + case 11460: + case 11464: + case 11465: + case 11466: + case 11470: + case 11471: + case 11472: + case 11476: + case 11477: + case 11478: + case 11482: + case 11483: + case 11484: + case 11488: + case 11489: + case 11490: + case 11494: + case 11495: + case 11496: + case 11500: + case 11501: + case 11502: + case 11506: + case 11507: + case 11508: + case 11512: + case 11513: + case 11514: return BlockType::PrismarineWall; + case 3998: return BlockType::Pumpkin; + case 4772: + case 4773: + case 4774: + case 4775: + case 4776: + case 4777: + case 4778: + case 4779: return BlockType::PumpkinStem; + case 8057: + case 8058: + case 8059: + case 8060: + case 8061: + case 8062: + case 8063: + case 8064: + case 8065: + case 8066: + case 8067: + case 8068: + case 8069: + case 8070: + case 8071: + case 8072: return BlockType::PurpleBanner; + case 1209: + case 1210: + case 1211: + case 1212: + case 1213: + case 1214: + case 1215: + case 1216: + case 1217: + case 1218: + case 1219: + case 1220: + case 1221: + case 1222: + case 1223: + case 1224: return BlockType::PurpleBed; + case 7876: return BlockType::PurpleCarpet; + case 9448: return BlockType::PurpleConcrete; + case 9464: return BlockType::PurpleConcretePowder; + case 9414: + case 9415: + case 9416: + case 9417: return BlockType::PurpleGlazedTerracotta; + case 9338: + case 9339: + case 9340: + case 9341: + case 9342: + case 9343: return BlockType::PurpleShulkerBox; + case 4105: return BlockType::PurpleStainedGlass; + case 7185: + case 7186: + case 7189: + case 7190: + case 7193: + case 7194: + case 7197: + case 7198: + case 7201: + case 7202: + case 7205: + case 7206: + case 7209: + case 7210: + case 7213: + case 7214: return BlockType::PurpleStainedGlassPane; + case 6857: return BlockType::PurpleTerracotta; + case 8193: + case 8194: + case 8195: + case 8196: return BlockType::PurpleWallBanner; + case 1394: return BlockType::PurpleWool; + case 9134: return BlockType::PurpurBlock; + case 9135: + case 9136: + case 9137: return BlockType::PurpurPillar; + case 8409: + case 8411: + case 8413: return BlockType::PurpurSlab; + case 9139: + case 9141: + case 9143: + case 9145: + case 9147: + case 9149: + case 9151: + case 9153: + case 9155: + case 9157: + case 9159: + case 9161: + case 9163: + case 9165: + case 9167: + case 9169: + case 9171: + case 9173: + case 9175: + case 9177: + case 9179: + case 9181: + case 9183: + case 9185: + case 9187: + case 9189: + case 9191: + case 9193: + case 9195: + case 9197: + case 9199: + case 9201: + case 9203: + case 9205: + case 9207: + case 9209: + case 9211: + case 9213: + case 9215: + case 9217: return BlockType::PurpurStairs; + case 6738: return BlockType::QuartzBlock; case 17103: return BlockType::QuartzBricks; - case 6740: case 6741: case 6742: return BlockType::QuartzPillar; - case 8391: case 8393: case 8395: return BlockType::QuartzSlab; - case 6744: case 6746: case 6748: case 6750: case 6752: case 6754: case 6756: case 6758: case 6760: case 6762: case 6764: case 6766: case 6768: case 6770: case 6772: case 6774: case 6776: case 6778: case 6780: case 6782: case 6784: case 6786: case 6788: case 6790: case 6792: case 6794: case 6796: case 6798: case 6800: case 6802: case 6804: case 6806: case 6808: case 6810: case 6812: case 6814: case 6816: case 6818: case 6820: case 6822: return BlockType::QuartzStairs; - case 3645: case 3646: case 3647: case 3648: case 3649: case 3650: case 3651: case 3652: case 3653: case 3654: return BlockType::Rail; - case 8121: case 8122: case 8123: case 8124: case 8125: case 8126: case 8127: case 8128: case 8129: case 8130: case 8131: case 8132: case 8133: case 8134: case 8135: case 8136: return BlockType::RedBanner; - case 1273: case 1274: case 1275: case 1276: case 1277: case 1278: case 1279: case 1280: case 1281: case 1282: case 1283: case 1284: case 1285: case 1286: case 1287: case 1288: return BlockType::RedBed; - case 7880: return BlockType::RedCarpet; - case 9452: return BlockType::RedConcrete; - case 9468: return BlockType::RedConcretePowder; - case 9430: case 9431: case 9432: case 9433: return BlockType::RedGlazedTerracotta; - case 1426: return BlockType::RedMushroom; - case 4569: case 4570: case 4571: case 4572: case 4573: case 4574: case 4575: case 4576: case 4577: case 4578: case 4579: case 4580: case 4581: case 4582: case 4583: case 4584: case 4585: case 4586: case 4587: case 4588: case 4589: case 4590: case 4591: case 4592: case 4593: case 4594: case 4595: case 4596: case 4597: case 4598: case 4599: case 4600: case 4601: case 4602: case 4603: case 4604: case 4605: case 4606: case 4607: case 4608: case 4609: case 4610: case 4611: case 4612: case 4613: case 4614: case 4615: case 4616: case 4617: case 4618: case 4619: case 4620: case 4621: case 4622: case 4623: case 4624: case 4625: case 4626: case 4627: case 4628: case 4629: case 4630: case 4631: case 4632: return BlockType::RedMushroomBlock; - case 10850: case 10852: case 10854: return BlockType::RedNetherBrickSlab; - case 10550: case 10552: case 10554: case 10556: case 10558: case 10560: case 10562: case 10564: case 10566: case 10568: case 10570: case 10572: case 10574: case 10576: case 10578: case 10580: case 10582: case 10584: case 10586: case 10588: case 10590: case 10592: case 10594: case 10596: case 10598: case 10600: case 10602: case 10604: case 10606: case 10608: case 10610: case 10612: case 10614: case 10616: case 10618: case 10620: case 10622: case 10624: case 10626: case 10628: return BlockType::RedNetherBrickStairs; - case 13462: case 13463: case 13464: case 13468: case 13469: case 13470: case 13474: case 13475: case 13476: case 13480: case 13481: case 13482: case 13486: case 13487: case 13488: case 13492: case 13493: case 13494: case 13498: case 13499: case 13500: case 13504: case 13505: case 13506: case 13510: case 13511: case 13512: case 13516: case 13517: case 13518: case 13522: case 13523: case 13524: case 13528: case 13529: case 13530: case 13534: case 13535: case 13536: case 13540: case 13541: case 13542: case 13546: case 13547: case 13548: case 13552: case 13553: case 13554: case 13558: case 13559: case 13560: case 13564: case 13565: case 13566: case 13570: case 13571: case 13572: case 13576: case 13577: case 13578: case 13582: case 13583: case 13584: case 13588: case 13589: case 13590: case 13594: case 13595: case 13596: case 13600: case 13601: case 13602: case 13606: case 13607: case 13608: case 13612: case 13613: case 13614: case 13618: case 13619: case 13620: case 13624: case 13625: case 13626: case 13630: case 13631: case 13632: case 13636: case 13637: case 13638: case 13642: case 13643: case 13644: case 13648: case 13649: case 13650: case 13654: case 13655: case 13656: case 13660: case 13661: case 13662: case 13666: case 13667: case 13668: case 13672: case 13673: case 13674: case 13678: case 13679: case 13680: case 13684: case 13685: case 13686: case 13690: case 13691: case 13692: case 13696: case 13697: case 13698: case 13702: case 13703: case 13704: case 13708: case 13709: case 13710: case 13714: case 13715: case 13716: case 13720: case 13721: case 13722: case 13726: case 13727: case 13728: case 13732: case 13733: case 13734: case 13738: case 13739: case 13740: case 13744: case 13745: case 13746: case 13750: case 13751: case 13752: case 13756: case 13757: case 13758: case 13762: case 13763: case 13764: case 13768: case 13769: case 13770: case 13774: case 13775: case 13776: case 13780: case 13781: case 13782: return BlockType::RedNetherBrickWall; - case 9255: return BlockType::RedNetherBricks; - case 67: return BlockType::RedSand; - case 8217: return BlockType::RedSandstone; - case 8397: case 8399: case 8401: return BlockType::RedSandstoneSlab; - case 8221: case 8223: case 8225: case 8227: case 8229: case 8231: case 8233: case 8235: case 8237: case 8239: case 8241: case 8243: case 8245: case 8247: case 8249: case 8251: case 8253: case 8255: case 8257: case 8259: case 8261: case 8263: case 8265: case 8267: case 8269: case 8271: case 8273: case 8275: case 8277: case 8279: case 8281: case 8283: case 8285: case 8287: case 8289: case 8291: case 8293: case 8295: case 8297: case 8299: return BlockType::RedSandstoneStairs; - case 11518: case 11519: case 11520: case 11524: case 11525: case 11526: case 11530: case 11531: case 11532: case 11536: case 11537: case 11538: case 11542: case 11543: case 11544: case 11548: case 11549: case 11550: case 11554: case 11555: case 11556: case 11560: case 11561: case 11562: case 11566: case 11567: case 11568: case 11572: case 11573: case 11574: case 11578: case 11579: case 11580: case 11584: case 11585: case 11586: case 11590: case 11591: case 11592: case 11596: case 11597: case 11598: case 11602: case 11603: case 11604: case 11608: case 11609: case 11610: case 11614: case 11615: case 11616: case 11620: case 11621: case 11622: case 11626: case 11627: case 11628: case 11632: case 11633: case 11634: case 11638: case 11639: case 11640: case 11644: case 11645: case 11646: case 11650: case 11651: case 11652: case 11656: case 11657: case 11658: case 11662: case 11663: case 11664: case 11668: case 11669: case 11670: case 11674: case 11675: case 11676: case 11680: case 11681: case 11682: case 11686: case 11687: case 11688: case 11692: case 11693: case 11694: case 11698: case 11699: case 11700: case 11704: case 11705: case 11706: case 11710: case 11711: case 11712: case 11716: case 11717: case 11718: case 11722: case 11723: case 11724: case 11728: case 11729: case 11730: case 11734: case 11735: case 11736: case 11740: case 11741: case 11742: case 11746: case 11747: case 11748: case 11752: case 11753: case 11754: case 11758: case 11759: case 11760: case 11764: case 11765: case 11766: case 11770: case 11771: case 11772: case 11776: case 11777: case 11778: case 11782: case 11783: case 11784: case 11788: case 11789: case 11790: case 11794: case 11795: case 11796: case 11800: case 11801: case 11802: case 11806: case 11807: case 11808: case 11812: case 11813: case 11814: case 11818: case 11819: case 11820: case 11824: case 11825: case 11826: case 11830: case 11831: case 11832: case 11836: case 11837: case 11838: return BlockType::RedSandstoneWall; - case 9362: case 9363: case 9364: case 9365: case 9366: case 9367: return BlockType::RedShulkerBox; - case 4109: return BlockType::RedStainedGlass; - case 7313: case 7314: case 7317: case 7318: case 7321: case 7322: case 7325: case 7326: case 7329: case 7330: case 7333: case 7334: case 7337: case 7338: case 7341: case 7342: return BlockType::RedStainedGlassPane; - case 6861: return BlockType::RedTerracotta; - case 1417: return BlockType::RedTulip; - case 8209: case 8210: case 8211: case 8212: return BlockType::RedWallBanner; - case 1398: return BlockType::RedWool; - case 6726: return BlockType::RedstoneBlock; - case 5156: case 5157: return BlockType::RedstoneLamp; - case 3885: case 3886: return BlockType::RedstoneOre; - case 3887: case 3888: return BlockType::RedstoneTorch; - case 3889: case 3890: case 3891: case 3892: case 3893: case 3894: case 3895: case 3896: return BlockType::RedstoneWallTorch; - case 2058: case 2059: case 2060: case 2061: case 2062: case 2063: case 2064: case 2065: case 2066: case 2067: case 2068: case 2069: case 2070: case 2071: case 2072: case 2073: case 2074: case 2075: case 2076: case 2077: case 2078: case 2079: case 2080: case 2081: case 2082: case 2083: case 2084: case 2085: case 2086: case 2087: case 2088: case 2089: case 2090: case 2091: case 2092: case 2093: case 2094: case 2095: case 2096: case 2097: case 2098: case 2099: case 2100: case 2101: case 2102: case 2103: case 2104: case 2105: case 2106: case 2107: case 2108: case 2109: case 2110: case 2111: case 2112: case 2113: case 2114: case 2115: case 2116: case 2117: case 2118: case 2119: case 2120: case 2121: case 2122: case 2123: case 2124: case 2125: case 2126: case 2127: case 2128: case 2129: case 2130: case 2131: case 2132: case 2133: case 2134: case 2135: case 2136: case 2137: case 2138: case 2139: case 2140: case 2141: case 2142: case 2143: case 2144: case 2145: case 2146: case 2147: case 2148: case 2149: case 2150: case 2151: case 2152: case 2153: case 2154: case 2155: case 2156: case 2157: case 2158: case 2159: case 2160: case 2161: case 2162: case 2163: case 2164: case 2165: case 2166: case 2167: case 2168: case 2169: case 2170: case 2171: case 2172: case 2173: case 2174: case 2175: case 2176: case 2177: case 2178: case 2179: case 2180: case 2181: case 2182: case 2183: case 2184: case 2185: case 2186: case 2187: case 2188: case 2189: case 2190: case 2191: case 2192: case 2193: case 2194: case 2195: case 2196: case 2197: case 2198: case 2199: case 2200: case 2201: case 2202: case 2203: case 2204: case 2205: case 2206: case 2207: case 2208: case 2209: case 2210: case 2211: case 2212: case 2213: case 2214: case 2215: case 2216: case 2217: case 2218: case 2219: case 2220: case 2221: case 2222: case 2223: case 2224: case 2225: case 2226: case 2227: case 2228: case 2229: case 2230: case 2231: case 2232: case 2233: case 2234: case 2235: case 2236: case 2237: case 2238: case 2239: case 2240: case 2241: case 2242: case 2243: case 2244: case 2245: case 2246: case 2247: case 2248: case 2249: case 2250: case 2251: case 2252: case 2253: case 2254: case 2255: case 2256: case 2257: case 2258: case 2259: case 2260: case 2261: case 2262: case 2263: case 2264: case 2265: case 2266: case 2267: case 2268: case 2269: case 2270: case 2271: case 2272: case 2273: case 2274: case 2275: case 2276: case 2277: case 2278: case 2279: case 2280: case 2281: case 2282: case 2283: case 2284: case 2285: case 2286: case 2287: case 2288: case 2289: case 2290: case 2291: case 2292: case 2293: case 2294: case 2295: case 2296: case 2297: case 2298: case 2299: case 2300: case 2301: case 2302: case 2303: case 2304: case 2305: case 2306: case 2307: case 2308: case 2309: case 2310: case 2311: case 2312: case 2313: case 2314: case 2315: case 2316: case 2317: case 2318: case 2319: case 2320: case 2321: case 2322: case 2323: case 2324: case 2325: case 2326: case 2327: case 2328: case 2329: case 2330: case 2331: case 2332: case 2333: case 2334: case 2335: case 2336: case 2337: case 2338: case 2339: case 2340: case 2341: case 2342: case 2343: case 2344: case 2345: case 2346: case 2347: case 2348: case 2349: case 2350: case 2351: case 2352: case 2353: case 2354: case 2355: case 2356: case 2357: case 2358: case 2359: case 2360: case 2361: case 2362: case 2363: case 2364: case 2365: case 2366: case 2367: case 2368: case 2369: case 2370: case 2371: case 2372: case 2373: case 2374: case 2375: case 2376: case 2377: case 2378: case 2379: case 2380: case 2381: case 2382: case 2383: case 2384: case 2385: case 2386: case 2387: case 2388: case 2389: case 2390: case 2391: case 2392: case 2393: case 2394: case 2395: case 2396: case 2397: case 2398: case 2399: case 2400: case 2401: case 2402: case 2403: case 2404: case 2405: case 2406: case 2407: case 2408: case 2409: case 2410: case 2411: case 2412: case 2413: case 2414: case 2415: case 2416: case 2417: case 2418: case 2419: case 2420: case 2421: case 2422: case 2423: case 2424: case 2425: case 2426: case 2427: case 2428: case 2429: case 2430: case 2431: case 2432: case 2433: case 2434: case 2435: case 2436: case 2437: case 2438: case 2439: case 2440: case 2441: case 2442: case 2443: case 2444: case 2445: case 2446: case 2447: case 2448: case 2449: case 2450: case 2451: case 2452: case 2453: case 2454: case 2455: case 2456: case 2457: case 2458: case 2459: case 2460: case 2461: case 2462: case 2463: case 2464: case 2465: case 2466: case 2467: case 2468: case 2469: case 2470: case 2471: case 2472: case 2473: case 2474: case 2475: case 2476: case 2477: case 2478: case 2479: case 2480: case 2481: case 2482: case 2483: case 2484: case 2485: case 2486: case 2487: case 2488: case 2489: case 2490: case 2491: case 2492: case 2493: case 2494: case 2495: case 2496: case 2497: case 2498: case 2499: case 2500: case 2501: case 2502: case 2503: case 2504: case 2505: case 2506: case 2507: case 2508: case 2509: case 2510: case 2511: case 2512: case 2513: case 2514: case 2515: case 2516: case 2517: case 2518: case 2519: case 2520: case 2521: case 2522: case 2523: case 2524: case 2525: case 2526: case 2527: case 2528: case 2529: case 2530: case 2531: case 2532: case 2533: case 2534: case 2535: case 2536: case 2537: case 2538: case 2539: case 2540: case 2541: case 2542: case 2543: case 2544: case 2545: case 2546: case 2547: case 2548: case 2549: case 2550: case 2551: case 2552: case 2553: case 2554: case 2555: case 2556: case 2557: case 2558: case 2559: case 2560: case 2561: case 2562: case 2563: case 2564: case 2565: case 2566: case 2567: case 2568: case 2569: case 2570: case 2571: case 2572: case 2573: case 2574: case 2575: case 2576: case 2577: case 2578: case 2579: case 2580: case 2581: case 2582: case 2583: case 2584: case 2585: case 2586: case 2587: case 2588: case 2589: case 2590: case 2591: case 2592: case 2593: case 2594: case 2595: case 2596: case 2597: case 2598: case 2599: case 2600: case 2601: case 2602: case 2603: case 2604: case 2605: case 2606: case 2607: case 2608: case 2609: case 2610: case 2611: case 2612: case 2613: case 2614: case 2615: case 2616: case 2617: case 2618: case 2619: case 2620: case 2621: case 2622: case 2623: case 2624: case 2625: case 2626: case 2627: case 2628: case 2629: case 2630: case 2631: case 2632: case 2633: case 2634: case 2635: case 2636: case 2637: case 2638: case 2639: case 2640: case 2641: case 2642: case 2643: case 2644: case 2645: case 2646: case 2647: case 2648: case 2649: case 2650: case 2651: case 2652: case 2653: case 2654: case 2655: case 2656: case 2657: case 2658: case 2659: case 2660: case 2661: case 2662: case 2663: case 2664: case 2665: case 2666: case 2667: case 2668: case 2669: case 2670: case 2671: case 2672: case 2673: case 2674: case 2675: case 2676: case 2677: case 2678: case 2679: case 2680: case 2681: case 2682: case 2683: case 2684: case 2685: case 2686: case 2687: case 2688: case 2689: case 2690: case 2691: case 2692: case 2693: case 2694: case 2695: case 2696: case 2697: case 2698: case 2699: case 2700: case 2701: case 2702: case 2703: case 2704: case 2705: case 2706: case 2707: case 2708: case 2709: case 2710: case 2711: case 2712: case 2713: case 2714: case 2715: case 2716: case 2717: case 2718: case 2719: case 2720: case 2721: case 2722: case 2723: case 2724: case 2725: case 2726: case 2727: case 2728: case 2729: case 2730: case 2731: case 2732: case 2733: case 2734: case 2735: case 2736: case 2737: case 2738: case 2739: case 2740: case 2741: case 2742: case 2743: case 2744: case 2745: case 2746: case 2747: case 2748: case 2749: case 2750: case 2751: case 2752: case 2753: case 2754: case 2755: case 2756: case 2757: case 2758: case 2759: case 2760: case 2761: case 2762: case 2763: case 2764: case 2765: case 2766: case 2767: case 2768: case 2769: case 2770: case 2771: case 2772: case 2773: case 2774: case 2775: case 2776: case 2777: case 2778: case 2779: case 2780: case 2781: case 2782: case 2783: case 2784: case 2785: case 2786: case 2787: case 2788: case 2789: case 2790: case 2791: case 2792: case 2793: case 2794: case 2795: case 2796: case 2797: case 2798: case 2799: case 2800: case 2801: case 2802: case 2803: case 2804: case 2805: case 2806: case 2807: case 2808: case 2809: case 2810: case 2811: case 2812: case 2813: case 2814: case 2815: case 2816: case 2817: case 2818: case 2819: case 2820: case 2821: case 2822: case 2823: case 2824: case 2825: case 2826: case 2827: case 2828: case 2829: case 2830: case 2831: case 2832: case 2833: case 2834: case 2835: case 2836: case 2837: case 2838: case 2839: case 2840: case 2841: case 2842: case 2843: case 2844: case 2845: case 2846: case 2847: case 2848: case 2849: case 2850: case 2851: case 2852: case 2853: case 2854: case 2855: case 2856: case 2857: case 2858: case 2859: case 2860: case 2861: case 2862: case 2863: case 2864: case 2865: case 2866: case 2867: case 2868: case 2869: case 2870: case 2871: case 2872: case 2873: case 2874: case 2875: case 2876: case 2877: case 2878: case 2879: case 2880: case 2881: case 2882: case 2883: case 2884: case 2885: case 2886: case 2887: case 2888: case 2889: case 2890: case 2891: case 2892: case 2893: case 2894: case 2895: case 2896: case 2897: case 2898: case 2899: case 2900: case 2901: case 2902: case 2903: case 2904: case 2905: case 2906: case 2907: case 2908: case 2909: case 2910: case 2911: case 2912: case 2913: case 2914: case 2915: case 2916: case 2917: case 2918: case 2919: case 2920: case 2921: case 2922: case 2923: case 2924: case 2925: case 2926: case 2927: case 2928: case 2929: case 2930: case 2931: case 2932: case 2933: case 2934: case 2935: case 2936: case 2937: case 2938: case 2939: case 2940: case 2941: case 2942: case 2943: case 2944: case 2945: case 2946: case 2947: case 2948: case 2949: case 2950: case 2951: case 2952: case 2953: case 2954: case 2955: case 2956: case 2957: case 2958: case 2959: case 2960: case 2961: case 2962: case 2963: case 2964: case 2965: case 2966: case 2967: case 2968: case 2969: case 2970: case 2971: case 2972: case 2973: case 2974: case 2975: case 2976: case 2977: case 2978: case 2979: case 2980: case 2981: case 2982: case 2983: case 2984: case 2985: case 2986: case 2987: case 2988: case 2989: case 2990: case 2991: case 2992: case 2993: case 2994: case 2995: case 2996: case 2997: case 2998: case 2999: case 3000: case 3001: case 3002: case 3003: case 3004: case 3005: case 3006: case 3007: case 3008: case 3009: case 3010: case 3011: case 3012: case 3013: case 3014: case 3015: case 3016: case 3017: case 3018: case 3019: case 3020: case 3021: case 3022: case 3023: case 3024: case 3025: case 3026: case 3027: case 3028: case 3029: case 3030: case 3031: case 3032: case 3033: case 3034: case 3035: case 3036: case 3037: case 3038: case 3039: case 3040: case 3041: case 3042: case 3043: case 3044: case 3045: case 3046: case 3047: case 3048: case 3049: case 3050: case 3051: case 3052: case 3053: case 3054: case 3055: case 3056: case 3057: case 3058: case 3059: case 3060: case 3061: case 3062: case 3063: case 3064: case 3065: case 3066: case 3067: case 3068: case 3069: case 3070: case 3071: case 3072: case 3073: case 3074: case 3075: case 3076: case 3077: case 3078: case 3079: case 3080: case 3081: case 3082: case 3083: case 3084: case 3085: case 3086: case 3087: case 3088: case 3089: case 3090: case 3091: case 3092: case 3093: case 3094: case 3095: case 3096: case 3097: case 3098: case 3099: case 3100: case 3101: case 3102: case 3103: case 3104: case 3105: case 3106: case 3107: case 3108: case 3109: case 3110: case 3111: case 3112: case 3113: case 3114: case 3115: case 3116: case 3117: case 3118: case 3119: case 3120: case 3121: case 3122: case 3123: case 3124: case 3125: case 3126: case 3127: case 3128: case 3129: case 3130: case 3131: case 3132: case 3133: case 3134: case 3135: case 3136: case 3137: case 3138: case 3139: case 3140: case 3141: case 3142: case 3143: case 3144: case 3145: case 3146: case 3147: case 3148: case 3149: case 3150: case 3151: case 3152: case 3153: case 3154: case 3155: case 3156: case 3157: case 3158: case 3159: case 3160: case 3161: case 3162: case 3163: case 3164: case 3165: case 3166: case 3167: case 3168: case 3169: case 3170: case 3171: case 3172: case 3173: case 3174: case 3175: case 3176: case 3177: case 3178: case 3179: case 3180: case 3181: case 3182: case 3183: case 3184: case 3185: case 3186: case 3187: case 3188: case 3189: case 3190: case 3191: case 3192: case 3193: case 3194: case 3195: case 3196: case 3197: case 3198: case 3199: case 3200: case 3201: case 3202: case 3203: case 3204: case 3205: case 3206: case 3207: case 3208: case 3209: case 3210: case 3211: case 3212: case 3213: case 3214: case 3215: case 3216: case 3217: case 3218: case 3219: case 3220: case 3221: case 3222: case 3223: case 3224: case 3225: case 3226: case 3227: case 3228: case 3229: case 3230: case 3231: case 3232: case 3233: case 3234: case 3235: case 3236: case 3237: case 3238: case 3239: case 3240: case 3241: case 3242: case 3243: case 3244: case 3245: case 3246: case 3247: case 3248: case 3249: case 3250: case 3251: case 3252: case 3253: case 3254: case 3255: case 3256: case 3257: case 3258: case 3259: case 3260: case 3261: case 3262: case 3263: case 3264: case 3265: case 3266: case 3267: case 3268: case 3269: case 3270: case 3271: case 3272: case 3273: case 3274: case 3275: case 3276: case 3277: case 3278: case 3279: case 3280: case 3281: case 3282: case 3283: case 3284: case 3285: case 3286: case 3287: case 3288: case 3289: case 3290: case 3291: case 3292: case 3293: case 3294: case 3295: case 3296: case 3297: case 3298: case 3299: case 3300: case 3301: case 3302: case 3303: case 3304: case 3305: case 3306: case 3307: case 3308: case 3309: case 3310: case 3311: case 3312: case 3313: case 3314: case 3315: case 3316: case 3317: case 3318: case 3319: case 3320: case 3321: case 3322: case 3323: case 3324: case 3325: case 3326: case 3327: case 3328: case 3329: case 3330: case 3331: case 3332: case 3333: case 3334: case 3335: case 3336: case 3337: case 3338: case 3339: case 3340: case 3341: case 3342: case 3343: case 3344: case 3345: case 3346: case 3347: case 3348: case 3349: case 3350: case 3351: case 3352: case 3353: return BlockType::RedstoneWire; - case 4031: case 4032: case 4033: case 4034: case 4035: case 4036: case 4037: case 4038: case 4039: case 4040: case 4041: case 4042: case 4043: case 4044: case 4045: case 4046: case 4047: case 4048: case 4049: case 4050: case 4051: case 4052: case 4053: case 4054: case 4055: case 4056: case 4057: case 4058: case 4059: case 4060: case 4061: case 4062: case 4063: case 4064: case 4065: case 4066: case 4067: case 4068: case 4069: case 4070: case 4071: case 4072: case 4073: case 4074: case 4075: case 4076: case 4077: case 4078: case 4079: case 4080: case 4081: case 4082: case 4083: case 4084: case 4085: case 4086: case 4087: case 4088: case 4089: case 4090: case 4091: case 4092: case 4093: case 4094: return BlockType::Repeater; - case 9225: case 9226: case 9227: case 9228: case 9229: case 9230: case 9231: case 9232: case 9233: case 9234: case 9235: case 9236: return BlockType::RepeatingCommandBlock; - case 15829: case 15830: case 15831: case 15832: case 15833: return BlockType::RespawnAnchor; - case 7889: case 7890: return BlockType::RoseBush; - case 66: return BlockType::Sand; - case 246: return BlockType::Sandstone; - case 8349: case 8351: case 8353: return BlockType::SandstoneSlab; - case 5171: case 5173: case 5175: case 5177: case 5179: case 5181: case 5183: case 5185: case 5187: case 5189: case 5191: case 5193: case 5195: case 5197: case 5199: case 5201: case 5203: case 5205: case 5207: case 5209: case 5211: case 5213: case 5215: case 5217: case 5219: case 5221: case 5223: case 5225: case 5227: case 5229: case 5231: case 5233: case 5235: case 5237: case 5239: case 5241: case 5243: case 5245: case 5247: case 5249: return BlockType::SandstoneStairs; - case 13786: case 13787: case 13788: case 13792: case 13793: case 13794: case 13798: case 13799: case 13800: case 13804: case 13805: case 13806: case 13810: case 13811: case 13812: case 13816: case 13817: case 13818: case 13822: case 13823: case 13824: case 13828: case 13829: case 13830: case 13834: case 13835: case 13836: case 13840: case 13841: case 13842: case 13846: case 13847: case 13848: case 13852: case 13853: case 13854: case 13858: case 13859: case 13860: case 13864: case 13865: case 13866: case 13870: case 13871: case 13872: case 13876: case 13877: case 13878: case 13882: case 13883: case 13884: case 13888: case 13889: case 13890: case 13894: case 13895: case 13896: case 13900: case 13901: case 13902: case 13906: case 13907: case 13908: case 13912: case 13913: case 13914: case 13918: case 13919: case 13920: case 13924: case 13925: case 13926: case 13930: case 13931: case 13932: case 13936: case 13937: case 13938: case 13942: case 13943: case 13944: case 13948: case 13949: case 13950: case 13954: case 13955: case 13956: case 13960: case 13961: case 13962: case 13966: case 13967: case 13968: case 13972: case 13973: case 13974: case 13978: case 13979: case 13980: case 13984: case 13985: case 13986: case 13990: case 13991: case 13992: case 13996: case 13997: case 13998: case 14002: case 14003: case 14004: case 14008: case 14009: case 14010: case 14014: case 14015: case 14016: case 14020: case 14021: case 14022: case 14026: case 14027: case 14028: case 14032: case 14033: case 14034: case 14038: case 14039: case 14040: case 14044: case 14045: case 14046: case 14050: case 14051: case 14052: case 14056: case 14057: case 14058: case 14062: case 14063: case 14064: case 14068: case 14069: case 14070: case 14074: case 14075: case 14076: case 14080: case 14081: case 14082: case 14086: case 14087: case 14088: case 14092: case 14093: case 14094: case 14098: case 14099: case 14100: case 14104: case 14105: case 14106: return BlockType::SandstoneWall; - case 14756: case 14758: case 14760: case 14762: case 14764: case 14766: case 14768: case 14770: case 14772: case 14774: case 14776: case 14778: case 14780: case 14782: case 14784: case 14786: return BlockType::Scaffolding; - case 7862: return BlockType::SeaLantern; - case 9641: case 9643: case 9645: case 9647: return BlockType::SeaPickle; - case 1345: return BlockType::Seagrass; + case 6740: + case 6741: + case 6742: return BlockType::QuartzPillar; + case 8391: + case 8393: + case 8395: return BlockType::QuartzSlab; + case 6744: + case 6746: + case 6748: + case 6750: + case 6752: + case 6754: + case 6756: + case 6758: + case 6760: + case 6762: + case 6764: + case 6766: + case 6768: + case 6770: + case 6772: + case 6774: + case 6776: + case 6778: + case 6780: + case 6782: + case 6784: + case 6786: + case 6788: + case 6790: + case 6792: + case 6794: + case 6796: + case 6798: + case 6800: + case 6802: + case 6804: + case 6806: + case 6808: + case 6810: + case 6812: + case 6814: + case 6816: + case 6818: + case 6820: + case 6822: return BlockType::QuartzStairs; + case 3645: + case 3646: + case 3647: + case 3648: + case 3649: + case 3650: + case 3651: + case 3652: + case 3653: + case 3654: return BlockType::Rail; + case 8121: + case 8122: + case 8123: + case 8124: + case 8125: + case 8126: + case 8127: + case 8128: + case 8129: + case 8130: + case 8131: + case 8132: + case 8133: + case 8134: + case 8135: + case 8136: return BlockType::RedBanner; + case 1273: + case 1274: + case 1275: + case 1276: + case 1277: + case 1278: + case 1279: + case 1280: + case 1281: + case 1282: + case 1283: + case 1284: + case 1285: + case 1286: + case 1287: + case 1288: return BlockType::RedBed; + case 7880: return BlockType::RedCarpet; + case 9452: return BlockType::RedConcrete; + case 9468: return BlockType::RedConcretePowder; + case 9430: + case 9431: + case 9432: + case 9433: return BlockType::RedGlazedTerracotta; + case 1426: return BlockType::RedMushroom; + case 4569: + case 4570: + case 4571: + case 4572: + case 4573: + case 4574: + case 4575: + case 4576: + case 4577: + case 4578: + case 4579: + case 4580: + case 4581: + case 4582: + case 4583: + case 4584: + case 4585: + case 4586: + case 4587: + case 4588: + case 4589: + case 4590: + case 4591: + case 4592: + case 4593: + case 4594: + case 4595: + case 4596: + case 4597: + case 4598: + case 4599: + case 4600: + case 4601: + case 4602: + case 4603: + case 4604: + case 4605: + case 4606: + case 4607: + case 4608: + case 4609: + case 4610: + case 4611: + case 4612: + case 4613: + case 4614: + case 4615: + case 4616: + case 4617: + case 4618: + case 4619: + case 4620: + case 4621: + case 4622: + case 4623: + case 4624: + case 4625: + case 4626: + case 4627: + case 4628: + case 4629: + case 4630: + case 4631: + case 4632: return BlockType::RedMushroomBlock; + case 10850: + case 10852: + case 10854: return BlockType::RedNetherBrickSlab; + case 10550: + case 10552: + case 10554: + case 10556: + case 10558: + case 10560: + case 10562: + case 10564: + case 10566: + case 10568: + case 10570: + case 10572: + case 10574: + case 10576: + case 10578: + case 10580: + case 10582: + case 10584: + case 10586: + case 10588: + case 10590: + case 10592: + case 10594: + case 10596: + case 10598: + case 10600: + case 10602: + case 10604: + case 10606: + case 10608: + case 10610: + case 10612: + case 10614: + case 10616: + case 10618: + case 10620: + case 10622: + case 10624: + case 10626: + case 10628: return BlockType::RedNetherBrickStairs; + case 13462: + case 13463: + case 13464: + case 13468: + case 13469: + case 13470: + case 13474: + case 13475: + case 13476: + case 13480: + case 13481: + case 13482: + case 13486: + case 13487: + case 13488: + case 13492: + case 13493: + case 13494: + case 13498: + case 13499: + case 13500: + case 13504: + case 13505: + case 13506: + case 13510: + case 13511: + case 13512: + case 13516: + case 13517: + case 13518: + case 13522: + case 13523: + case 13524: + case 13528: + case 13529: + case 13530: + case 13534: + case 13535: + case 13536: + case 13540: + case 13541: + case 13542: + case 13546: + case 13547: + case 13548: + case 13552: + case 13553: + case 13554: + case 13558: + case 13559: + case 13560: + case 13564: + case 13565: + case 13566: + case 13570: + case 13571: + case 13572: + case 13576: + case 13577: + case 13578: + case 13582: + case 13583: + case 13584: + case 13588: + case 13589: + case 13590: + case 13594: + case 13595: + case 13596: + case 13600: + case 13601: + case 13602: + case 13606: + case 13607: + case 13608: + case 13612: + case 13613: + case 13614: + case 13618: + case 13619: + case 13620: + case 13624: + case 13625: + case 13626: + case 13630: + case 13631: + case 13632: + case 13636: + case 13637: + case 13638: + case 13642: + case 13643: + case 13644: + case 13648: + case 13649: + case 13650: + case 13654: + case 13655: + case 13656: + case 13660: + case 13661: + case 13662: + case 13666: + case 13667: + case 13668: + case 13672: + case 13673: + case 13674: + case 13678: + case 13679: + case 13680: + case 13684: + case 13685: + case 13686: + case 13690: + case 13691: + case 13692: + case 13696: + case 13697: + case 13698: + case 13702: + case 13703: + case 13704: + case 13708: + case 13709: + case 13710: + case 13714: + case 13715: + case 13716: + case 13720: + case 13721: + case 13722: + case 13726: + case 13727: + case 13728: + case 13732: + case 13733: + case 13734: + case 13738: + case 13739: + case 13740: + case 13744: + case 13745: + case 13746: + case 13750: + case 13751: + case 13752: + case 13756: + case 13757: + case 13758: + case 13762: + case 13763: + case 13764: + case 13768: + case 13769: + case 13770: + case 13774: + case 13775: + case 13776: + case 13780: + case 13781: + case 13782: return BlockType::RedNetherBrickWall; + case 9255: return BlockType::RedNetherBricks; + case 67: return BlockType::RedSand; + case 8217: return BlockType::RedSandstone; + case 8397: + case 8399: + case 8401: return BlockType::RedSandstoneSlab; + case 8221: + case 8223: + case 8225: + case 8227: + case 8229: + case 8231: + case 8233: + case 8235: + case 8237: + case 8239: + case 8241: + case 8243: + case 8245: + case 8247: + case 8249: + case 8251: + case 8253: + case 8255: + case 8257: + case 8259: + case 8261: + case 8263: + case 8265: + case 8267: + case 8269: + case 8271: + case 8273: + case 8275: + case 8277: + case 8279: + case 8281: + case 8283: + case 8285: + case 8287: + case 8289: + case 8291: + case 8293: + case 8295: + case 8297: + case 8299: return BlockType::RedSandstoneStairs; + case 11518: + case 11519: + case 11520: + case 11524: + case 11525: + case 11526: + case 11530: + case 11531: + case 11532: + case 11536: + case 11537: + case 11538: + case 11542: + case 11543: + case 11544: + case 11548: + case 11549: + case 11550: + case 11554: + case 11555: + case 11556: + case 11560: + case 11561: + case 11562: + case 11566: + case 11567: + case 11568: + case 11572: + case 11573: + case 11574: + case 11578: + case 11579: + case 11580: + case 11584: + case 11585: + case 11586: + case 11590: + case 11591: + case 11592: + case 11596: + case 11597: + case 11598: + case 11602: + case 11603: + case 11604: + case 11608: + case 11609: + case 11610: + case 11614: + case 11615: + case 11616: + case 11620: + case 11621: + case 11622: + case 11626: + case 11627: + case 11628: + case 11632: + case 11633: + case 11634: + case 11638: + case 11639: + case 11640: + case 11644: + case 11645: + case 11646: + case 11650: + case 11651: + case 11652: + case 11656: + case 11657: + case 11658: + case 11662: + case 11663: + case 11664: + case 11668: + case 11669: + case 11670: + case 11674: + case 11675: + case 11676: + case 11680: + case 11681: + case 11682: + case 11686: + case 11687: + case 11688: + case 11692: + case 11693: + case 11694: + case 11698: + case 11699: + case 11700: + case 11704: + case 11705: + case 11706: + case 11710: + case 11711: + case 11712: + case 11716: + case 11717: + case 11718: + case 11722: + case 11723: + case 11724: + case 11728: + case 11729: + case 11730: + case 11734: + case 11735: + case 11736: + case 11740: + case 11741: + case 11742: + case 11746: + case 11747: + case 11748: + case 11752: + case 11753: + case 11754: + case 11758: + case 11759: + case 11760: + case 11764: + case 11765: + case 11766: + case 11770: + case 11771: + case 11772: + case 11776: + case 11777: + case 11778: + case 11782: + case 11783: + case 11784: + case 11788: + case 11789: + case 11790: + case 11794: + case 11795: + case 11796: + case 11800: + case 11801: + case 11802: + case 11806: + case 11807: + case 11808: + case 11812: + case 11813: + case 11814: + case 11818: + case 11819: + case 11820: + case 11824: + case 11825: + case 11826: + case 11830: + case 11831: + case 11832: + case 11836: + case 11837: + case 11838: return BlockType::RedSandstoneWall; + case 9362: + case 9363: + case 9364: + case 9365: + case 9366: + case 9367: return BlockType::RedShulkerBox; + case 4109: return BlockType::RedStainedGlass; + case 7313: + case 7314: + case 7317: + case 7318: + case 7321: + case 7322: + case 7325: + case 7326: + case 7329: + case 7330: + case 7333: + case 7334: + case 7337: + case 7338: + case 7341: + case 7342: return BlockType::RedStainedGlassPane; + case 6861: return BlockType::RedTerracotta; + case 1417: return BlockType::RedTulip; + case 8209: + case 8210: + case 8211: + case 8212: return BlockType::RedWallBanner; + case 1398: return BlockType::RedWool; + case 6726: return BlockType::RedstoneBlock; + case 5156: + case 5157: return BlockType::RedstoneLamp; + case 3885: + case 3886: return BlockType::RedstoneOre; + case 3887: + case 3888: return BlockType::RedstoneTorch; + case 3889: + case 3890: + case 3891: + case 3892: + case 3893: + case 3894: + case 3895: + case 3896: return BlockType::RedstoneWallTorch; + case 2058: + case 2059: + case 2060: + case 2061: + case 2062: + case 2063: + case 2064: + case 2065: + case 2066: + case 2067: + case 2068: + case 2069: + case 2070: + case 2071: + case 2072: + case 2073: + case 2074: + case 2075: + case 2076: + case 2077: + case 2078: + case 2079: + case 2080: + case 2081: + case 2082: + case 2083: + case 2084: + case 2085: + case 2086: + case 2087: + case 2088: + case 2089: + case 2090: + case 2091: + case 2092: + case 2093: + case 2094: + case 2095: + case 2096: + case 2097: + case 2098: + case 2099: + case 2100: + case 2101: + case 2102: + case 2103: + case 2104: + case 2105: + case 2106: + case 2107: + case 2108: + case 2109: + case 2110: + case 2111: + case 2112: + case 2113: + case 2114: + case 2115: + case 2116: + case 2117: + case 2118: + case 2119: + case 2120: + case 2121: + case 2122: + case 2123: + case 2124: + case 2125: + case 2126: + case 2127: + case 2128: + case 2129: + case 2130: + case 2131: + case 2132: + case 2133: + case 2134: + case 2135: + case 2136: + case 2137: + case 2138: + case 2139: + case 2140: + case 2141: + case 2142: + case 2143: + case 2144: + case 2145: + case 2146: + case 2147: + case 2148: + case 2149: + case 2150: + case 2151: + case 2152: + case 2153: + case 2154: + case 2155: + case 2156: + case 2157: + case 2158: + case 2159: + case 2160: + case 2161: + case 2162: + case 2163: + case 2164: + case 2165: + case 2166: + case 2167: + case 2168: + case 2169: + case 2170: + case 2171: + case 2172: + case 2173: + case 2174: + case 2175: + case 2176: + case 2177: + case 2178: + case 2179: + case 2180: + case 2181: + case 2182: + case 2183: + case 2184: + case 2185: + case 2186: + case 2187: + case 2188: + case 2189: + case 2190: + case 2191: + case 2192: + case 2193: + case 2194: + case 2195: + case 2196: + case 2197: + case 2198: + case 2199: + case 2200: + case 2201: + case 2202: + case 2203: + case 2204: + case 2205: + case 2206: + case 2207: + case 2208: + case 2209: + case 2210: + case 2211: + case 2212: + case 2213: + case 2214: + case 2215: + case 2216: + case 2217: + case 2218: + case 2219: + case 2220: + case 2221: + case 2222: + case 2223: + case 2224: + case 2225: + case 2226: + case 2227: + case 2228: + case 2229: + case 2230: + case 2231: + case 2232: + case 2233: + case 2234: + case 2235: + case 2236: + case 2237: + case 2238: + case 2239: + case 2240: + case 2241: + case 2242: + case 2243: + case 2244: + case 2245: + case 2246: + case 2247: + case 2248: + case 2249: + case 2250: + case 2251: + case 2252: + case 2253: + case 2254: + case 2255: + case 2256: + case 2257: + case 2258: + case 2259: + case 2260: + case 2261: + case 2262: + case 2263: + case 2264: + case 2265: + case 2266: + case 2267: + case 2268: + case 2269: + case 2270: + case 2271: + case 2272: + case 2273: + case 2274: + case 2275: + case 2276: + case 2277: + case 2278: + case 2279: + case 2280: + case 2281: + case 2282: + case 2283: + case 2284: + case 2285: + case 2286: + case 2287: + case 2288: + case 2289: + case 2290: + case 2291: + case 2292: + case 2293: + case 2294: + case 2295: + case 2296: + case 2297: + case 2298: + case 2299: + case 2300: + case 2301: + case 2302: + case 2303: + case 2304: + case 2305: + case 2306: + case 2307: + case 2308: + case 2309: + case 2310: + case 2311: + case 2312: + case 2313: + case 2314: + case 2315: + case 2316: + case 2317: + case 2318: + case 2319: + case 2320: + case 2321: + case 2322: + case 2323: + case 2324: + case 2325: + case 2326: + case 2327: + case 2328: + case 2329: + case 2330: + case 2331: + case 2332: + case 2333: + case 2334: + case 2335: + case 2336: + case 2337: + case 2338: + case 2339: + case 2340: + case 2341: + case 2342: + case 2343: + case 2344: + case 2345: + case 2346: + case 2347: + case 2348: + case 2349: + case 2350: + case 2351: + case 2352: + case 2353: + case 2354: + case 2355: + case 2356: + case 2357: + case 2358: + case 2359: + case 2360: + case 2361: + case 2362: + case 2363: + case 2364: + case 2365: + case 2366: + case 2367: + case 2368: + case 2369: + case 2370: + case 2371: + case 2372: + case 2373: + case 2374: + case 2375: + case 2376: + case 2377: + case 2378: + case 2379: + case 2380: + case 2381: + case 2382: + case 2383: + case 2384: + case 2385: + case 2386: + case 2387: + case 2388: + case 2389: + case 2390: + case 2391: + case 2392: + case 2393: + case 2394: + case 2395: + case 2396: + case 2397: + case 2398: + case 2399: + case 2400: + case 2401: + case 2402: + case 2403: + case 2404: + case 2405: + case 2406: + case 2407: + case 2408: + case 2409: + case 2410: + case 2411: + case 2412: + case 2413: + case 2414: + case 2415: + case 2416: + case 2417: + case 2418: + case 2419: + case 2420: + case 2421: + case 2422: + case 2423: + case 2424: + case 2425: + case 2426: + case 2427: + case 2428: + case 2429: + case 2430: + case 2431: + case 2432: + case 2433: + case 2434: + case 2435: + case 2436: + case 2437: + case 2438: + case 2439: + case 2440: + case 2441: + case 2442: + case 2443: + case 2444: + case 2445: + case 2446: + case 2447: + case 2448: + case 2449: + case 2450: + case 2451: + case 2452: + case 2453: + case 2454: + case 2455: + case 2456: + case 2457: + case 2458: + case 2459: + case 2460: + case 2461: + case 2462: + case 2463: + case 2464: + case 2465: + case 2466: + case 2467: + case 2468: + case 2469: + case 2470: + case 2471: + case 2472: + case 2473: + case 2474: + case 2475: + case 2476: + case 2477: + case 2478: + case 2479: + case 2480: + case 2481: + case 2482: + case 2483: + case 2484: + case 2485: + case 2486: + case 2487: + case 2488: + case 2489: + case 2490: + case 2491: + case 2492: + case 2493: + case 2494: + case 2495: + case 2496: + case 2497: + case 2498: + case 2499: + case 2500: + case 2501: + case 2502: + case 2503: + case 2504: + case 2505: + case 2506: + case 2507: + case 2508: + case 2509: + case 2510: + case 2511: + case 2512: + case 2513: + case 2514: + case 2515: + case 2516: + case 2517: + case 2518: + case 2519: + case 2520: + case 2521: + case 2522: + case 2523: + case 2524: + case 2525: + case 2526: + case 2527: + case 2528: + case 2529: + case 2530: + case 2531: + case 2532: + case 2533: + case 2534: + case 2535: + case 2536: + case 2537: + case 2538: + case 2539: + case 2540: + case 2541: + case 2542: + case 2543: + case 2544: + case 2545: + case 2546: + case 2547: + case 2548: + case 2549: + case 2550: + case 2551: + case 2552: + case 2553: + case 2554: + case 2555: + case 2556: + case 2557: + case 2558: + case 2559: + case 2560: + case 2561: + case 2562: + case 2563: + case 2564: + case 2565: + case 2566: + case 2567: + case 2568: + case 2569: + case 2570: + case 2571: + case 2572: + case 2573: + case 2574: + case 2575: + case 2576: + case 2577: + case 2578: + case 2579: + case 2580: + case 2581: + case 2582: + case 2583: + case 2584: + case 2585: + case 2586: + case 2587: + case 2588: + case 2589: + case 2590: + case 2591: + case 2592: + case 2593: + case 2594: + case 2595: + case 2596: + case 2597: + case 2598: + case 2599: + case 2600: + case 2601: + case 2602: + case 2603: + case 2604: + case 2605: + case 2606: + case 2607: + case 2608: + case 2609: + case 2610: + case 2611: + case 2612: + case 2613: + case 2614: + case 2615: + case 2616: + case 2617: + case 2618: + case 2619: + case 2620: + case 2621: + case 2622: + case 2623: + case 2624: + case 2625: + case 2626: + case 2627: + case 2628: + case 2629: + case 2630: + case 2631: + case 2632: + case 2633: + case 2634: + case 2635: + case 2636: + case 2637: + case 2638: + case 2639: + case 2640: + case 2641: + case 2642: + case 2643: + case 2644: + case 2645: + case 2646: + case 2647: + case 2648: + case 2649: + case 2650: + case 2651: + case 2652: + case 2653: + case 2654: + case 2655: + case 2656: + case 2657: + case 2658: + case 2659: + case 2660: + case 2661: + case 2662: + case 2663: + case 2664: + case 2665: + case 2666: + case 2667: + case 2668: + case 2669: + case 2670: + case 2671: + case 2672: + case 2673: + case 2674: + case 2675: + case 2676: + case 2677: + case 2678: + case 2679: + case 2680: + case 2681: + case 2682: + case 2683: + case 2684: + case 2685: + case 2686: + case 2687: + case 2688: + case 2689: + case 2690: + case 2691: + case 2692: + case 2693: + case 2694: + case 2695: + case 2696: + case 2697: + case 2698: + case 2699: + case 2700: + case 2701: + case 2702: + case 2703: + case 2704: + case 2705: + case 2706: + case 2707: + case 2708: + case 2709: + case 2710: + case 2711: + case 2712: + case 2713: + case 2714: + case 2715: + case 2716: + case 2717: + case 2718: + case 2719: + case 2720: + case 2721: + case 2722: + case 2723: + case 2724: + case 2725: + case 2726: + case 2727: + case 2728: + case 2729: + case 2730: + case 2731: + case 2732: + case 2733: + case 2734: + case 2735: + case 2736: + case 2737: + case 2738: + case 2739: + case 2740: + case 2741: + case 2742: + case 2743: + case 2744: + case 2745: + case 2746: + case 2747: + case 2748: + case 2749: + case 2750: + case 2751: + case 2752: + case 2753: + case 2754: + case 2755: + case 2756: + case 2757: + case 2758: + case 2759: + case 2760: + case 2761: + case 2762: + case 2763: + case 2764: + case 2765: + case 2766: + case 2767: + case 2768: + case 2769: + case 2770: + case 2771: + case 2772: + case 2773: + case 2774: + case 2775: + case 2776: + case 2777: + case 2778: + case 2779: + case 2780: + case 2781: + case 2782: + case 2783: + case 2784: + case 2785: + case 2786: + case 2787: + case 2788: + case 2789: + case 2790: + case 2791: + case 2792: + case 2793: + case 2794: + case 2795: + case 2796: + case 2797: + case 2798: + case 2799: + case 2800: + case 2801: + case 2802: + case 2803: + case 2804: + case 2805: + case 2806: + case 2807: + case 2808: + case 2809: + case 2810: + case 2811: + case 2812: + case 2813: + case 2814: + case 2815: + case 2816: + case 2817: + case 2818: + case 2819: + case 2820: + case 2821: + case 2822: + case 2823: + case 2824: + case 2825: + case 2826: + case 2827: + case 2828: + case 2829: + case 2830: + case 2831: + case 2832: + case 2833: + case 2834: + case 2835: + case 2836: + case 2837: + case 2838: + case 2839: + case 2840: + case 2841: + case 2842: + case 2843: + case 2844: + case 2845: + case 2846: + case 2847: + case 2848: + case 2849: + case 2850: + case 2851: + case 2852: + case 2853: + case 2854: + case 2855: + case 2856: + case 2857: + case 2858: + case 2859: + case 2860: + case 2861: + case 2862: + case 2863: + case 2864: + case 2865: + case 2866: + case 2867: + case 2868: + case 2869: + case 2870: + case 2871: + case 2872: + case 2873: + case 2874: + case 2875: + case 2876: + case 2877: + case 2878: + case 2879: + case 2880: + case 2881: + case 2882: + case 2883: + case 2884: + case 2885: + case 2886: + case 2887: + case 2888: + case 2889: + case 2890: + case 2891: + case 2892: + case 2893: + case 2894: + case 2895: + case 2896: + case 2897: + case 2898: + case 2899: + case 2900: + case 2901: + case 2902: + case 2903: + case 2904: + case 2905: + case 2906: + case 2907: + case 2908: + case 2909: + case 2910: + case 2911: + case 2912: + case 2913: + case 2914: + case 2915: + case 2916: + case 2917: + case 2918: + case 2919: + case 2920: + case 2921: + case 2922: + case 2923: + case 2924: + case 2925: + case 2926: + case 2927: + case 2928: + case 2929: + case 2930: + case 2931: + case 2932: + case 2933: + case 2934: + case 2935: + case 2936: + case 2937: + case 2938: + case 2939: + case 2940: + case 2941: + case 2942: + case 2943: + case 2944: + case 2945: + case 2946: + case 2947: + case 2948: + case 2949: + case 2950: + case 2951: + case 2952: + case 2953: + case 2954: + case 2955: + case 2956: + case 2957: + case 2958: + case 2959: + case 2960: + case 2961: + case 2962: + case 2963: + case 2964: + case 2965: + case 2966: + case 2967: + case 2968: + case 2969: + case 2970: + case 2971: + case 2972: + case 2973: + case 2974: + case 2975: + case 2976: + case 2977: + case 2978: + case 2979: + case 2980: + case 2981: + case 2982: + case 2983: + case 2984: + case 2985: + case 2986: + case 2987: + case 2988: + case 2989: + case 2990: + case 2991: + case 2992: + case 2993: + case 2994: + case 2995: + case 2996: + case 2997: + case 2998: + case 2999: + case 3000: + case 3001: + case 3002: + case 3003: + case 3004: + case 3005: + case 3006: + case 3007: + case 3008: + case 3009: + case 3010: + case 3011: + case 3012: + case 3013: + case 3014: + case 3015: + case 3016: + case 3017: + case 3018: + case 3019: + case 3020: + case 3021: + case 3022: + case 3023: + case 3024: + case 3025: + case 3026: + case 3027: + case 3028: + case 3029: + case 3030: + case 3031: + case 3032: + case 3033: + case 3034: + case 3035: + case 3036: + case 3037: + case 3038: + case 3039: + case 3040: + case 3041: + case 3042: + case 3043: + case 3044: + case 3045: + case 3046: + case 3047: + case 3048: + case 3049: + case 3050: + case 3051: + case 3052: + case 3053: + case 3054: + case 3055: + case 3056: + case 3057: + case 3058: + case 3059: + case 3060: + case 3061: + case 3062: + case 3063: + case 3064: + case 3065: + case 3066: + case 3067: + case 3068: + case 3069: + case 3070: + case 3071: + case 3072: + case 3073: + case 3074: + case 3075: + case 3076: + case 3077: + case 3078: + case 3079: + case 3080: + case 3081: + case 3082: + case 3083: + case 3084: + case 3085: + case 3086: + case 3087: + case 3088: + case 3089: + case 3090: + case 3091: + case 3092: + case 3093: + case 3094: + case 3095: + case 3096: + case 3097: + case 3098: + case 3099: + case 3100: + case 3101: + case 3102: + case 3103: + case 3104: + case 3105: + case 3106: + case 3107: + case 3108: + case 3109: + case 3110: + case 3111: + case 3112: + case 3113: + case 3114: + case 3115: + case 3116: + case 3117: + case 3118: + case 3119: + case 3120: + case 3121: + case 3122: + case 3123: + case 3124: + case 3125: + case 3126: + case 3127: + case 3128: + case 3129: + case 3130: + case 3131: + case 3132: + case 3133: + case 3134: + case 3135: + case 3136: + case 3137: + case 3138: + case 3139: + case 3140: + case 3141: + case 3142: + case 3143: + case 3144: + case 3145: + case 3146: + case 3147: + case 3148: + case 3149: + case 3150: + case 3151: + case 3152: + case 3153: + case 3154: + case 3155: + case 3156: + case 3157: + case 3158: + case 3159: + case 3160: + case 3161: + case 3162: + case 3163: + case 3164: + case 3165: + case 3166: + case 3167: + case 3168: + case 3169: + case 3170: + case 3171: + case 3172: + case 3173: + case 3174: + case 3175: + case 3176: + case 3177: + case 3178: + case 3179: + case 3180: + case 3181: + case 3182: + case 3183: + case 3184: + case 3185: + case 3186: + case 3187: + case 3188: + case 3189: + case 3190: + case 3191: + case 3192: + case 3193: + case 3194: + case 3195: + case 3196: + case 3197: + case 3198: + case 3199: + case 3200: + case 3201: + case 3202: + case 3203: + case 3204: + case 3205: + case 3206: + case 3207: + case 3208: + case 3209: + case 3210: + case 3211: + case 3212: + case 3213: + case 3214: + case 3215: + case 3216: + case 3217: + case 3218: + case 3219: + case 3220: + case 3221: + case 3222: + case 3223: + case 3224: + case 3225: + case 3226: + case 3227: + case 3228: + case 3229: + case 3230: + case 3231: + case 3232: + case 3233: + case 3234: + case 3235: + case 3236: + case 3237: + case 3238: + case 3239: + case 3240: + case 3241: + case 3242: + case 3243: + case 3244: + case 3245: + case 3246: + case 3247: + case 3248: + case 3249: + case 3250: + case 3251: + case 3252: + case 3253: + case 3254: + case 3255: + case 3256: + case 3257: + case 3258: + case 3259: + case 3260: + case 3261: + case 3262: + case 3263: + case 3264: + case 3265: + case 3266: + case 3267: + case 3268: + case 3269: + case 3270: + case 3271: + case 3272: + case 3273: + case 3274: + case 3275: + case 3276: + case 3277: + case 3278: + case 3279: + case 3280: + case 3281: + case 3282: + case 3283: + case 3284: + case 3285: + case 3286: + case 3287: + case 3288: + case 3289: + case 3290: + case 3291: + case 3292: + case 3293: + case 3294: + case 3295: + case 3296: + case 3297: + case 3298: + case 3299: + case 3300: + case 3301: + case 3302: + case 3303: + case 3304: + case 3305: + case 3306: + case 3307: + case 3308: + case 3309: + case 3310: + case 3311: + case 3312: + case 3313: + case 3314: + case 3315: + case 3316: + case 3317: + case 3318: + case 3319: + case 3320: + case 3321: + case 3322: + case 3323: + case 3324: + case 3325: + case 3326: + case 3327: + case 3328: + case 3329: + case 3330: + case 3331: + case 3332: + case 3333: + case 3334: + case 3335: + case 3336: + case 3337: + case 3338: + case 3339: + case 3340: + case 3341: + case 3342: + case 3343: + case 3344: + case 3345: + case 3346: + case 3347: + case 3348: + case 3349: + case 3350: + case 3351: + case 3352: + case 3353: return BlockType::RedstoneWire; + case 4031: + case 4032: + case 4033: + case 4034: + case 4035: + case 4036: + case 4037: + case 4038: + case 4039: + case 4040: + case 4041: + case 4042: + case 4043: + case 4044: + case 4045: + case 4046: + case 4047: + case 4048: + case 4049: + case 4050: + case 4051: + case 4052: + case 4053: + case 4054: + case 4055: + case 4056: + case 4057: + case 4058: + case 4059: + case 4060: + case 4061: + case 4062: + case 4063: + case 4064: + case 4065: + case 4066: + case 4067: + case 4068: + case 4069: + case 4070: + case 4071: + case 4072: + case 4073: + case 4074: + case 4075: + case 4076: + case 4077: + case 4078: + case 4079: + case 4080: + case 4081: + case 4082: + case 4083: + case 4084: + case 4085: + case 4086: + case 4087: + case 4088: + case 4089: + case 4090: + case 4091: + case 4092: + case 4093: + case 4094: return BlockType::Repeater; + case 9225: + case 9226: + case 9227: + case 9228: + case 9229: + case 9230: + case 9231: + case 9232: + case 9233: + case 9234: + case 9235: + case 9236: return BlockType::RepeatingCommandBlock; + case 15829: + case 15830: + case 15831: + case 15832: + case 15833: return BlockType::RespawnAnchor; + case 7889: + case 7890: return BlockType::RoseBush; + case 66: return BlockType::Sand; + case 246: return BlockType::Sandstone; + case 8349: + case 8351: + case 8353: return BlockType::SandstoneSlab; + case 5171: + case 5173: + case 5175: + case 5177: + case 5179: + case 5181: + case 5183: + case 5185: + case 5187: + case 5189: + case 5191: + case 5193: + case 5195: + case 5197: + case 5199: + case 5201: + case 5203: + case 5205: + case 5207: + case 5209: + case 5211: + case 5213: + case 5215: + case 5217: + case 5219: + case 5221: + case 5223: + case 5225: + case 5227: + case 5229: + case 5231: + case 5233: + case 5235: + case 5237: + case 5239: + case 5241: + case 5243: + case 5245: + case 5247: + case 5249: return BlockType::SandstoneStairs; + case 13786: + case 13787: + case 13788: + case 13792: + case 13793: + case 13794: + case 13798: + case 13799: + case 13800: + case 13804: + case 13805: + case 13806: + case 13810: + case 13811: + case 13812: + case 13816: + case 13817: + case 13818: + case 13822: + case 13823: + case 13824: + case 13828: + case 13829: + case 13830: + case 13834: + case 13835: + case 13836: + case 13840: + case 13841: + case 13842: + case 13846: + case 13847: + case 13848: + case 13852: + case 13853: + case 13854: + case 13858: + case 13859: + case 13860: + case 13864: + case 13865: + case 13866: + case 13870: + case 13871: + case 13872: + case 13876: + case 13877: + case 13878: + case 13882: + case 13883: + case 13884: + case 13888: + case 13889: + case 13890: + case 13894: + case 13895: + case 13896: + case 13900: + case 13901: + case 13902: + case 13906: + case 13907: + case 13908: + case 13912: + case 13913: + case 13914: + case 13918: + case 13919: + case 13920: + case 13924: + case 13925: + case 13926: + case 13930: + case 13931: + case 13932: + case 13936: + case 13937: + case 13938: + case 13942: + case 13943: + case 13944: + case 13948: + case 13949: + case 13950: + case 13954: + case 13955: + case 13956: + case 13960: + case 13961: + case 13962: + case 13966: + case 13967: + case 13968: + case 13972: + case 13973: + case 13974: + case 13978: + case 13979: + case 13980: + case 13984: + case 13985: + case 13986: + case 13990: + case 13991: + case 13992: + case 13996: + case 13997: + case 13998: + case 14002: + case 14003: + case 14004: + case 14008: + case 14009: + case 14010: + case 14014: + case 14015: + case 14016: + case 14020: + case 14021: + case 14022: + case 14026: + case 14027: + case 14028: + case 14032: + case 14033: + case 14034: + case 14038: + case 14039: + case 14040: + case 14044: + case 14045: + case 14046: + case 14050: + case 14051: + case 14052: + case 14056: + case 14057: + case 14058: + case 14062: + case 14063: + case 14064: + case 14068: + case 14069: + case 14070: + case 14074: + case 14075: + case 14076: + case 14080: + case 14081: + case 14082: + case 14086: + case 14087: + case 14088: + case 14092: + case 14093: + case 14094: + case 14098: + case 14099: + case 14100: + case 14104: + case 14105: + case 14106: return BlockType::SandstoneWall; + case 14756: + case 14758: + case 14760: + case 14762: + case 14764: + case 14766: + case 14768: + case 14770: + case 14772: + case 14774: + case 14776: + case 14778: + case 14780: + case 14782: + case 14784: + case 14786: return BlockType::Scaffolding; + case 7862: return BlockType::SeaLantern; + case 9641: + case 9643: + case 9645: + case 9647: return BlockType::SeaPickle; + case 1345: return BlockType::Seagrass; case 14989: return BlockType::Shroomlight; - case 9272: case 9273: case 9274: case 9275: case 9276: case 9277: return BlockType::ShulkerBox; - case 6490: case 6491: case 6492: case 6493: case 6494: case 6495: case 6496: case 6497: case 6498: case 6499: case 6500: case 6501: case 6502: case 6503: case 6504: case 6505: return BlockType::SkeletonSkull; - case 6506: case 6507: case 6508: case 6509: return BlockType::SkeletonWallSkull; - case 7535: return BlockType::SlimeBlock; + case 9272: + case 9273: + case 9274: + case 9275: + case 9276: + case 9277: return BlockType::ShulkerBox; + case 6490: + case 6491: + case 6492: + case 6493: + case 6494: + case 6495: + case 6496: + case 6497: + case 6498: + case 6499: + case 6500: + case 6501: + case 6502: + case 6503: + case 6504: + case 6505: return BlockType::SkeletonSkull; + case 6506: + case 6507: + case 6508: + case 6509: return BlockType::SkeletonWallSkull; + case 7535: return BlockType::SlimeBlock; case 14849: return BlockType::SmithingTable; - case 14803: case 14804: case 14805: case 14806: case 14807: case 14808: case 14809: case 14810: return BlockType::Smoker; - case 8416: return BlockType::SmoothQuartz; - case 10832: case 10834: case 10836: return BlockType::SmoothQuartzSlab; - case 10310: case 10312: case 10314: case 10316: case 10318: case 10320: case 10322: case 10324: case 10326: case 10328: case 10330: case 10332: case 10334: case 10336: case 10338: case 10340: case 10342: case 10344: case 10346: case 10348: case 10350: case 10352: case 10354: case 10356: case 10358: case 10360: case 10362: case 10364: case 10366: case 10368: case 10370: case 10372: case 10374: case 10376: case 10378: case 10380: case 10382: case 10384: case 10386: case 10388: return BlockType::SmoothQuartzStairs; - case 8417: return BlockType::SmoothRedSandstone; - case 10796: case 10798: case 10800: return BlockType::SmoothRedSandstoneSlab; - case 9750: case 9752: case 9754: case 9756: case 9758: case 9760: case 9762: case 9764: case 9766: case 9768: case 9770: case 9772: case 9774: case 9776: case 9778: case 9780: case 9782: case 9784: case 9786: case 9788: case 9790: case 9792: case 9794: case 9796: case 9798: case 9800: case 9802: case 9804: case 9806: case 9808: case 9810: case 9812: case 9814: case 9816: case 9818: case 9820: case 9822: case 9824: case 9826: case 9828: return BlockType::SmoothRedSandstoneStairs; - case 8415: return BlockType::SmoothSandstone; - case 10826: case 10828: case 10830: return BlockType::SmoothSandstoneSlab; - case 10230: case 10232: case 10234: case 10236: case 10238: case 10240: case 10242: case 10244: case 10246: case 10248: case 10250: case 10252: case 10254: case 10256: case 10258: case 10260: case 10262: case 10264: case 10266: case 10268: case 10270: case 10272: case 10274: case 10276: case 10278: case 10280: case 10282: case 10284: case 10286: case 10288: case 10290: case 10292: case 10294: case 10296: case 10298: case 10300: case 10302: case 10304: case 10306: case 10308: return BlockType::SmoothSandstoneStairs; - case 8414: return BlockType::SmoothStone; - case 8343: case 8345: case 8347: return BlockType::SmoothStoneSlab; - case 3921: case 3922: case 3923: case 3924: case 3925: case 3926: case 3927: case 3928: return BlockType::Snow; - case 3930: return BlockType::SnowBlock; - case 14923: case 14925: case 14927: case 14929: case 14931: case 14933: case 14935: case 14937: case 14939: case 14941: case 14943: case 14945: case 14947: case 14949: case 14951: case 14953: return BlockType::SoulCampfire; - case 1952: return BlockType::SoulFire; - case 14888: case 14889: return BlockType::SoulLantern; - case 4000: return BlockType::SoulSand; - case 4001: return BlockType::SoulSoil; - case 4008: return BlockType::SoulTorch; - case 4009: case 4010: case 4011: case 4012: return BlockType::SoulWallTorch; - case 1953: return BlockType::Spawner; - case 229: return BlockType::Sponge; - case 6370: case 6371: case 6372: case 6373: case 6374: case 6375: case 6376: case 6377: case 6378: case 6379: case 6380: case 6381: case 6382: case 6383: case 6384: case 6385: case 6386: case 6387: case 6388: case 6389: case 6390: case 6391: case 6392: case 6393: return BlockType::SpruceButton; - case 8738: case 8739: case 8740: case 8741: case 8742: case 8743: case 8744: case 8745: case 8746: case 8747: case 8748: case 8749: case 8750: case 8751: case 8752: case 8753: case 8754: case 8755: case 8756: case 8757: case 8758: case 8759: case 8760: case 8761: case 8762: case 8763: case 8764: case 8765: case 8766: case 8767: case 8768: case 8769: case 8770: case 8771: case 8772: case 8773: case 8774: case 8775: case 8776: case 8777: case 8778: case 8779: case 8780: case 8781: case 8782: case 8783: case 8784: case 8785: case 8786: case 8787: case 8788: case 8789: case 8790: case 8791: case 8792: case 8793: case 8794: case 8795: case 8796: case 8797: case 8798: case 8799: case 8800: case 8801: return BlockType::SpruceDoor; - case 8580: case 8581: case 8584: case 8585: case 8588: case 8589: case 8592: case 8593: case 8596: case 8597: case 8600: case 8601: case 8604: case 8605: case 8608: case 8609: return BlockType::SpruceFence; - case 8418: case 8419: case 8420: case 8421: case 8422: case 8423: case 8424: case 8425: case 8426: case 8427: case 8428: case 8429: case 8430: case 8431: case 8432: case 8433: case 8434: case 8435: case 8436: case 8437: case 8438: case 8439: case 8440: case 8441: case 8442: case 8443: case 8444: case 8445: case 8446: case 8447: case 8448: case 8449: return BlockType::SpruceFenceGate; - case 159: case 160: case 161: case 162: case 163: case 164: case 165: case 166: case 167: case 168: case 169: case 170: case 171: case 172: return BlockType::SpruceLeaves; - case 76: case 77: case 78: return BlockType::SpruceLog; - case 16: return BlockType::SprucePlanks; - case 3875: case 3876: return BlockType::SprucePressurePlate; - case 23: case 24: return BlockType::SpruceSapling; - case 3414: case 3416: case 3418: case 3420: case 3422: case 3424: case 3426: case 3428: case 3430: case 3432: case 3434: case 3436: case 3438: case 3440: case 3442: case 3444: return BlockType::SpruceSign; - case 8307: case 8309: case 8311: return BlockType::SpruceSlab; - case 5405: case 5407: case 5409: case 5411: case 5413: case 5415: case 5417: case 5419: case 5421: case 5423: case 5425: case 5427: case 5429: case 5431: case 5433: case 5435: case 5437: case 5439: case 5441: case 5443: case 5445: case 5447: case 5449: case 5451: case 5453: case 5455: case 5457: case 5459: case 5461: case 5463: case 5465: case 5467: case 5469: case 5471: case 5473: case 5475: case 5477: case 5479: case 5481: case 5483: return BlockType::SpruceStairs; - case 4176: case 4178: case 4180: case 4182: case 4184: case 4186: case 4188: case 4190: case 4192: case 4194: case 4196: case 4198: case 4200: case 4202: case 4204: case 4206: case 4208: case 4210: case 4212: case 4214: case 4216: case 4218: case 4220: case 4222: case 4224: case 4226: case 4228: case 4230: case 4232: case 4234: case 4236: case 4238: return BlockType::SpruceTrapdoor; - case 3744: case 3746: case 3748: case 3750: return BlockType::SpruceWallSign; - case 112: case 113: case 114: return BlockType::SpruceWood; - case 1329: case 1330: case 1331: case 1332: case 1333: case 1334: case 1335: case 1336: case 1337: case 1338: case 1339: case 1340: return BlockType::StickyPiston; - case 1: return BlockType::Stone; - case 8379: case 8381: case 8383: return BlockType::StoneBrickSlab; - case 4933: case 4935: case 4937: case 4939: case 4941: case 4943: case 4945: case 4947: case 4949: case 4951: case 4953: case 4955: case 4957: case 4959: case 4961: case 4963: case 4965: case 4967: case 4969: case 4971: case 4973: case 4975: case 4977: case 4979: case 4981: case 4983: case 4985: case 4987: case 4989: case 4991: case 4993: case 4995: case 4997: case 4999: case 5001: case 5003: case 5005: case 5007: case 5009: case 5011: return BlockType::StoneBrickStairs; - case 12490: case 12491: case 12492: case 12496: case 12497: case 12498: case 12502: case 12503: case 12504: case 12508: case 12509: case 12510: case 12514: case 12515: case 12516: case 12520: case 12521: case 12522: case 12526: case 12527: case 12528: case 12532: case 12533: case 12534: case 12538: case 12539: case 12540: case 12544: case 12545: case 12546: case 12550: case 12551: case 12552: case 12556: case 12557: case 12558: case 12562: case 12563: case 12564: case 12568: case 12569: case 12570: case 12574: case 12575: case 12576: case 12580: case 12581: case 12582: case 12586: case 12587: case 12588: case 12592: case 12593: case 12594: case 12598: case 12599: case 12600: case 12604: case 12605: case 12606: case 12610: case 12611: case 12612: case 12616: case 12617: case 12618: case 12622: case 12623: case 12624: case 12628: case 12629: case 12630: case 12634: case 12635: case 12636: case 12640: case 12641: case 12642: case 12646: case 12647: case 12648: case 12652: case 12653: case 12654: case 12658: case 12659: case 12660: case 12664: case 12665: case 12666: case 12670: case 12671: case 12672: case 12676: case 12677: case 12678: case 12682: case 12683: case 12684: case 12688: case 12689: case 12690: case 12694: case 12695: case 12696: case 12700: case 12701: case 12702: case 12706: case 12707: case 12708: case 12712: case 12713: case 12714: case 12718: case 12719: case 12720: case 12724: case 12725: case 12726: case 12730: case 12731: case 12732: case 12736: case 12737: case 12738: case 12742: case 12743: case 12744: case 12748: case 12749: case 12750: case 12754: case 12755: case 12756: case 12760: case 12761: case 12762: case 12766: case 12767: case 12768: case 12772: case 12773: case 12774: case 12778: case 12779: case 12780: case 12784: case 12785: case 12786: case 12790: case 12791: case 12792: case 12796: case 12797: case 12798: case 12802: case 12803: case 12804: case 12808: case 12809: case 12810: return BlockType::StoneBrickWall; - case 4495: return BlockType::StoneBricks; - case 3897: case 3898: case 3899: case 3900: case 3901: case 3902: case 3903: case 3904: case 3905: case 3906: case 3907: case 3908: case 3909: case 3910: case 3911: case 3912: case 3913: case 3914: case 3915: case 3916: case 3917: case 3918: case 3919: case 3920: return BlockType::StoneButton; - case 3807: case 3808: return BlockType::StonePressurePlate; - case 8337: case 8339: case 8341: return BlockType::StoneSlab; - case 10150: case 10152: case 10154: case 10156: case 10158: case 10160: case 10162: case 10164: case 10166: case 10168: case 10170: case 10172: case 10174: case 10176: case 10178: case 10180: case 10182: case 10184: case 10186: case 10188: case 10190: case 10192: case 10194: case 10196: case 10198: case 10200: case 10202: case 10204: case 10206: case 10208: case 10210: case 10212: case 10214: case 10216: case 10218: case 10220: case 10222: case 10224: case 10226: case 10228: return BlockType::StoneStairs; - case 14850: case 14851: case 14852: case 14853: return BlockType::Stonecutter; - case 100: case 101: case 102: return BlockType::StrippedAcaciaLog; - case 139: case 140: case 141: return BlockType::StrippedAcaciaWood; - case 94: case 95: case 96: return BlockType::StrippedBirchLog; - case 133: case 134: case 135: return BlockType::StrippedBirchWood; - case 14984: case 14985: case 14986: return BlockType::StrippedCrimsonHyphae; - case 14978: case 14979: case 14980: return BlockType::StrippedCrimsonStem; - case 103: case 104: case 105: return BlockType::StrippedDarkOakLog; - case 142: case 143: case 144: return BlockType::StrippedDarkOakWood; - case 97: case 98: case 99: return BlockType::StrippedJungleLog; - case 136: case 137: case 138: return BlockType::StrippedJungleWood; - case 106: case 107: case 108: return BlockType::StrippedOakLog; - case 127: case 128: case 129: return BlockType::StrippedOakWood; - case 91: case 92: case 93: return BlockType::StrippedSpruceLog; - case 130: case 131: case 132: return BlockType::StrippedSpruceWood; - case 14967: case 14968: case 14969: return BlockType::StrippedWarpedHyphae; - case 14961: case 14962: case 14963: return BlockType::StrippedWarpedStem; - case 15735: case 15736: case 15737: case 15738: return BlockType::StructureBlock; - case 9259: return BlockType::StructureVoid; - case 3948: case 3949: case 3950: case 3951: case 3952: case 3953: case 3954: case 3955: case 3956: case 3957: case 3958: case 3959: case 3960: case 3961: case 3962: case 3963: return BlockType::SugarCane; - case 7885: case 7886: return BlockType::Sunflower; - case 14954: case 14955: case 14956: case 14957: return BlockType::SweetBerryBush; - case 1430: case 1431: return BlockType::TNT; - case 7893: case 7894: return BlockType::TallGrass; - case 1346: case 1347: return BlockType::TallSeagrass; - case 15760: case 15761: case 15762: case 15763: case 15764: case 15765: case 15766: case 15767: case 15768: case 15769: case 15770: case 15771: case 15772: case 15773: case 15774: case 15775: return BlockType::Target; - case 7882: return BlockType::Terracotta; - case 1435: return BlockType::Torch; - case 6623: case 6625: case 6627: case 6629: case 6631: case 6633: case 6635: case 6637: case 6639: case 6641: case 6643: case 6645: return BlockType::TrappedChest; - case 5275: case 5276: case 5277: case 5278: case 5279: case 5280: case 5281: case 5282: case 5283: case 5284: case 5285: case 5286: case 5287: case 5288: case 5289: case 5290: case 5291: case 5292: case 5293: case 5294: case 5295: case 5296: case 5297: case 5298: case 5299: case 5300: case 5301: case 5302: case 5303: case 5304: case 5305: case 5306: case 5307: case 5308: case 5309: case 5310: case 5311: case 5312: case 5313: case 5314: case 5315: case 5316: case 5317: case 5318: case 5319: case 5320: case 5321: case 5322: case 5323: case 5324: case 5325: case 5326: case 5327: case 5328: case 5329: case 5330: case 5331: case 5332: case 5333: case 5334: case 5335: case 5336: case 5337: case 5338: case 5339: case 5340: case 5341: case 5342: case 5343: case 5344: case 5345: case 5346: case 5347: case 5348: case 5349: case 5350: case 5351: case 5352: case 5353: case 5354: case 5355: case 5356: case 5357: case 5358: case 5359: case 5360: case 5361: case 5362: case 5363: case 5364: case 5365: case 5366: case 5367: case 5368: case 5369: case 5370: case 5371: case 5372: case 5373: case 5374: case 5375: case 5376: case 5377: case 5378: case 5379: case 5380: case 5381: case 5382: case 5383: case 5384: case 5385: case 5386: case 5387: case 5388: case 5389: case 5390: case 5391: case 5392: case 5393: case 5394: case 5395: case 5396: case 5397: case 5398: case 5399: case 5400: case 5401: case 5402: return BlockType::Tripwire; - case 5259: case 5260: case 5261: case 5262: case 5263: case 5264: case 5265: case 5266: case 5267: case 5268: case 5269: case 5270: case 5271: case 5272: case 5273: case 5274: return BlockType::TripwireHook; - case 9531: return BlockType::TubeCoral; - case 9515: return BlockType::TubeCoralBlock; - case 9551: return BlockType::TubeCoralFan; - case 9601: case 9603: case 9605: case 9607: return BlockType::TubeCoralWallFan; - case 9498: case 9499: case 9500: case 9501: case 9502: case 9503: case 9504: case 9505: case 9506: case 9507: case 9508: case 9509: return BlockType::TurtleEgg; - case 15017: case 15018: case 15019: case 15020: case 15021: case 15022: case 15023: case 15024: case 15025: case 15026: case 15027: case 15028: case 15029: case 15030: case 15031: case 15032: case 15033: case 15034: case 15035: case 15036: case 15037: case 15038: case 15039: case 15040: case 15041: case 15042: return BlockType::TwistingVines; + case 14803: + case 14804: + case 14805: + case 14806: + case 14807: + case 14808: + case 14809: + case 14810: return BlockType::Smoker; + case 8416: return BlockType::SmoothQuartz; + case 10832: + case 10834: + case 10836: return BlockType::SmoothQuartzSlab; + case 10310: + case 10312: + case 10314: + case 10316: + case 10318: + case 10320: + case 10322: + case 10324: + case 10326: + case 10328: + case 10330: + case 10332: + case 10334: + case 10336: + case 10338: + case 10340: + case 10342: + case 10344: + case 10346: + case 10348: + case 10350: + case 10352: + case 10354: + case 10356: + case 10358: + case 10360: + case 10362: + case 10364: + case 10366: + case 10368: + case 10370: + case 10372: + case 10374: + case 10376: + case 10378: + case 10380: + case 10382: + case 10384: + case 10386: + case 10388: return BlockType::SmoothQuartzStairs; + case 8417: return BlockType::SmoothRedSandstone; + case 10796: + case 10798: + case 10800: return BlockType::SmoothRedSandstoneSlab; + case 9750: + case 9752: + case 9754: + case 9756: + case 9758: + case 9760: + case 9762: + case 9764: + case 9766: + case 9768: + case 9770: + case 9772: + case 9774: + case 9776: + case 9778: + case 9780: + case 9782: + case 9784: + case 9786: + case 9788: + case 9790: + case 9792: + case 9794: + case 9796: + case 9798: + case 9800: + case 9802: + case 9804: + case 9806: + case 9808: + case 9810: + case 9812: + case 9814: + case 9816: + case 9818: + case 9820: + case 9822: + case 9824: + case 9826: + case 9828: return BlockType::SmoothRedSandstoneStairs; + case 8415: return BlockType::SmoothSandstone; + case 10826: + case 10828: + case 10830: return BlockType::SmoothSandstoneSlab; + case 10230: + case 10232: + case 10234: + case 10236: + case 10238: + case 10240: + case 10242: + case 10244: + case 10246: + case 10248: + case 10250: + case 10252: + case 10254: + case 10256: + case 10258: + case 10260: + case 10262: + case 10264: + case 10266: + case 10268: + case 10270: + case 10272: + case 10274: + case 10276: + case 10278: + case 10280: + case 10282: + case 10284: + case 10286: + case 10288: + case 10290: + case 10292: + case 10294: + case 10296: + case 10298: + case 10300: + case 10302: + case 10304: + case 10306: + case 10308: return BlockType::SmoothSandstoneStairs; + case 8414: return BlockType::SmoothStone; + case 8343: + case 8345: + case 8347: return BlockType::SmoothStoneSlab; + case 3921: + case 3922: + case 3923: + case 3924: + case 3925: + case 3926: + case 3927: + case 3928: return BlockType::Snow; + case 3930: return BlockType::SnowBlock; + case 14923: + case 14925: + case 14927: + case 14929: + case 14931: + case 14933: + case 14935: + case 14937: + case 14939: + case 14941: + case 14943: + case 14945: + case 14947: + case 14949: + case 14951: + case 14953: return BlockType::SoulCampfire; + case 1952: return BlockType::SoulFire; + case 14888: + case 14889: return BlockType::SoulLantern; + case 4000: return BlockType::SoulSand; + case 4001: return BlockType::SoulSoil; + case 4008: return BlockType::SoulTorch; + case 4009: + case 4010: + case 4011: + case 4012: return BlockType::SoulWallTorch; + case 1953: return BlockType::Spawner; + case 229: return BlockType::Sponge; + case 6370: + case 6371: + case 6372: + case 6373: + case 6374: + case 6375: + case 6376: + case 6377: + case 6378: + case 6379: + case 6380: + case 6381: + case 6382: + case 6383: + case 6384: + case 6385: + case 6386: + case 6387: + case 6388: + case 6389: + case 6390: + case 6391: + case 6392: + case 6393: return BlockType::SpruceButton; + case 8738: + case 8739: + case 8740: + case 8741: + case 8742: + case 8743: + case 8744: + case 8745: + case 8746: + case 8747: + case 8748: + case 8749: + case 8750: + case 8751: + case 8752: + case 8753: + case 8754: + case 8755: + case 8756: + case 8757: + case 8758: + case 8759: + case 8760: + case 8761: + case 8762: + case 8763: + case 8764: + case 8765: + case 8766: + case 8767: + case 8768: + case 8769: + case 8770: + case 8771: + case 8772: + case 8773: + case 8774: + case 8775: + case 8776: + case 8777: + case 8778: + case 8779: + case 8780: + case 8781: + case 8782: + case 8783: + case 8784: + case 8785: + case 8786: + case 8787: + case 8788: + case 8789: + case 8790: + case 8791: + case 8792: + case 8793: + case 8794: + case 8795: + case 8796: + case 8797: + case 8798: + case 8799: + case 8800: + case 8801: return BlockType::SpruceDoor; + case 8580: + case 8581: + case 8584: + case 8585: + case 8588: + case 8589: + case 8592: + case 8593: + case 8596: + case 8597: + case 8600: + case 8601: + case 8604: + case 8605: + case 8608: + case 8609: return BlockType::SpruceFence; + case 8418: + case 8419: + case 8420: + case 8421: + case 8422: + case 8423: + case 8424: + case 8425: + case 8426: + case 8427: + case 8428: + case 8429: + case 8430: + case 8431: + case 8432: + case 8433: + case 8434: + case 8435: + case 8436: + case 8437: + case 8438: + case 8439: + case 8440: + case 8441: + case 8442: + case 8443: + case 8444: + case 8445: + case 8446: + case 8447: + case 8448: + case 8449: return BlockType::SpruceFenceGate; + case 159: + case 160: + case 161: + case 162: + case 163: + case 164: + case 165: + case 166: + case 167: + case 168: + case 169: + case 170: + case 171: + case 172: return BlockType::SpruceLeaves; + case 76: + case 77: + case 78: return BlockType::SpruceLog; + case 16: return BlockType::SprucePlanks; + case 3875: + case 3876: return BlockType::SprucePressurePlate; + case 23: + case 24: return BlockType::SpruceSapling; + case 3414: + case 3416: + case 3418: + case 3420: + case 3422: + case 3424: + case 3426: + case 3428: + case 3430: + case 3432: + case 3434: + case 3436: + case 3438: + case 3440: + case 3442: + case 3444: return BlockType::SpruceSign; + case 8307: + case 8309: + case 8311: return BlockType::SpruceSlab; + case 5405: + case 5407: + case 5409: + case 5411: + case 5413: + case 5415: + case 5417: + case 5419: + case 5421: + case 5423: + case 5425: + case 5427: + case 5429: + case 5431: + case 5433: + case 5435: + case 5437: + case 5439: + case 5441: + case 5443: + case 5445: + case 5447: + case 5449: + case 5451: + case 5453: + case 5455: + case 5457: + case 5459: + case 5461: + case 5463: + case 5465: + case 5467: + case 5469: + case 5471: + case 5473: + case 5475: + case 5477: + case 5479: + case 5481: + case 5483: return BlockType::SpruceStairs; + case 4176: + case 4178: + case 4180: + case 4182: + case 4184: + case 4186: + case 4188: + case 4190: + case 4192: + case 4194: + case 4196: + case 4198: + case 4200: + case 4202: + case 4204: + case 4206: + case 4208: + case 4210: + case 4212: + case 4214: + case 4216: + case 4218: + case 4220: + case 4222: + case 4224: + case 4226: + case 4228: + case 4230: + case 4232: + case 4234: + case 4236: + case 4238: return BlockType::SpruceTrapdoor; + case 3744: + case 3746: + case 3748: + case 3750: return BlockType::SpruceWallSign; + case 112: + case 113: + case 114: return BlockType::SpruceWood; + case 1329: + case 1330: + case 1331: + case 1332: + case 1333: + case 1334: + case 1335: + case 1336: + case 1337: + case 1338: + case 1339: + case 1340: return BlockType::StickyPiston; + case 1: return BlockType::Stone; + case 8379: + case 8381: + case 8383: return BlockType::StoneBrickSlab; + case 4933: + case 4935: + case 4937: + case 4939: + case 4941: + case 4943: + case 4945: + case 4947: + case 4949: + case 4951: + case 4953: + case 4955: + case 4957: + case 4959: + case 4961: + case 4963: + case 4965: + case 4967: + case 4969: + case 4971: + case 4973: + case 4975: + case 4977: + case 4979: + case 4981: + case 4983: + case 4985: + case 4987: + case 4989: + case 4991: + case 4993: + case 4995: + case 4997: + case 4999: + case 5001: + case 5003: + case 5005: + case 5007: + case 5009: + case 5011: return BlockType::StoneBrickStairs; + case 12490: + case 12491: + case 12492: + case 12496: + case 12497: + case 12498: + case 12502: + case 12503: + case 12504: + case 12508: + case 12509: + case 12510: + case 12514: + case 12515: + case 12516: + case 12520: + case 12521: + case 12522: + case 12526: + case 12527: + case 12528: + case 12532: + case 12533: + case 12534: + case 12538: + case 12539: + case 12540: + case 12544: + case 12545: + case 12546: + case 12550: + case 12551: + case 12552: + case 12556: + case 12557: + case 12558: + case 12562: + case 12563: + case 12564: + case 12568: + case 12569: + case 12570: + case 12574: + case 12575: + case 12576: + case 12580: + case 12581: + case 12582: + case 12586: + case 12587: + case 12588: + case 12592: + case 12593: + case 12594: + case 12598: + case 12599: + case 12600: + case 12604: + case 12605: + case 12606: + case 12610: + case 12611: + case 12612: + case 12616: + case 12617: + case 12618: + case 12622: + case 12623: + case 12624: + case 12628: + case 12629: + case 12630: + case 12634: + case 12635: + case 12636: + case 12640: + case 12641: + case 12642: + case 12646: + case 12647: + case 12648: + case 12652: + case 12653: + case 12654: + case 12658: + case 12659: + case 12660: + case 12664: + case 12665: + case 12666: + case 12670: + case 12671: + case 12672: + case 12676: + case 12677: + case 12678: + case 12682: + case 12683: + case 12684: + case 12688: + case 12689: + case 12690: + case 12694: + case 12695: + case 12696: + case 12700: + case 12701: + case 12702: + case 12706: + case 12707: + case 12708: + case 12712: + case 12713: + case 12714: + case 12718: + case 12719: + case 12720: + case 12724: + case 12725: + case 12726: + case 12730: + case 12731: + case 12732: + case 12736: + case 12737: + case 12738: + case 12742: + case 12743: + case 12744: + case 12748: + case 12749: + case 12750: + case 12754: + case 12755: + case 12756: + case 12760: + case 12761: + case 12762: + case 12766: + case 12767: + case 12768: + case 12772: + case 12773: + case 12774: + case 12778: + case 12779: + case 12780: + case 12784: + case 12785: + case 12786: + case 12790: + case 12791: + case 12792: + case 12796: + case 12797: + case 12798: + case 12802: + case 12803: + case 12804: + case 12808: + case 12809: + case 12810: return BlockType::StoneBrickWall; + case 4495: return BlockType::StoneBricks; + case 3897: + case 3898: + case 3899: + case 3900: + case 3901: + case 3902: + case 3903: + case 3904: + case 3905: + case 3906: + case 3907: + case 3908: + case 3909: + case 3910: + case 3911: + case 3912: + case 3913: + case 3914: + case 3915: + case 3916: + case 3917: + case 3918: + case 3919: + case 3920: return BlockType::StoneButton; + case 3807: + case 3808: return BlockType::StonePressurePlate; + case 8337: + case 8339: + case 8341: return BlockType::StoneSlab; + case 10150: + case 10152: + case 10154: + case 10156: + case 10158: + case 10160: + case 10162: + case 10164: + case 10166: + case 10168: + case 10170: + case 10172: + case 10174: + case 10176: + case 10178: + case 10180: + case 10182: + case 10184: + case 10186: + case 10188: + case 10190: + case 10192: + case 10194: + case 10196: + case 10198: + case 10200: + case 10202: + case 10204: + case 10206: + case 10208: + case 10210: + case 10212: + case 10214: + case 10216: + case 10218: + case 10220: + case 10222: + case 10224: + case 10226: + case 10228: return BlockType::StoneStairs; + case 14850: + case 14851: + case 14852: + case 14853: return BlockType::Stonecutter; + case 100: + case 101: + case 102: return BlockType::StrippedAcaciaLog; + case 139: + case 140: + case 141: return BlockType::StrippedAcaciaWood; + case 94: + case 95: + case 96: return BlockType::StrippedBirchLog; + case 133: + case 134: + case 135: return BlockType::StrippedBirchWood; + case 14984: + case 14985: + case 14986: return BlockType::StrippedCrimsonHyphae; + case 14978: + case 14979: + case 14980: return BlockType::StrippedCrimsonStem; + case 103: + case 104: + case 105: return BlockType::StrippedDarkOakLog; + case 142: + case 143: + case 144: return BlockType::StrippedDarkOakWood; + case 97: + case 98: + case 99: return BlockType::StrippedJungleLog; + case 136: + case 137: + case 138: return BlockType::StrippedJungleWood; + case 106: + case 107: + case 108: return BlockType::StrippedOakLog; + case 127: + case 128: + case 129: return BlockType::StrippedOakWood; + case 91: + case 92: + case 93: return BlockType::StrippedSpruceLog; + case 130: + case 131: + case 132: return BlockType::StrippedSpruceWood; + case 14967: + case 14968: + case 14969: return BlockType::StrippedWarpedHyphae; + case 14961: + case 14962: + case 14963: return BlockType::StrippedWarpedStem; + case 15735: + case 15736: + case 15737: + case 15738: return BlockType::StructureBlock; + case 9259: return BlockType::StructureVoid; + case 3948: + case 3949: + case 3950: + case 3951: + case 3952: + case 3953: + case 3954: + case 3955: + case 3956: + case 3957: + case 3958: + case 3959: + case 3960: + case 3961: + case 3962: + case 3963: return BlockType::SugarCane; + case 7885: + case 7886: return BlockType::Sunflower; + case 14954: + case 14955: + case 14956: + case 14957: return BlockType::SweetBerryBush; + case 1430: + case 1431: return BlockType::TNT; + case 7893: + case 7894: return BlockType::TallGrass; + case 1346: + case 1347: return BlockType::TallSeagrass; + case 15760: + case 15761: + case 15762: + case 15763: + case 15764: + case 15765: + case 15766: + case 15767: + case 15768: + case 15769: + case 15770: + case 15771: + case 15772: + case 15773: + case 15774: + case 15775: return BlockType::Target; + case 7882: return BlockType::Terracotta; + case 1435: return BlockType::Torch; + case 6623: + case 6625: + case 6627: + case 6629: + case 6631: + case 6633: + case 6635: + case 6637: + case 6639: + case 6641: + case 6643: + case 6645: return BlockType::TrappedChest; + case 5275: + case 5276: + case 5277: + case 5278: + case 5279: + case 5280: + case 5281: + case 5282: + case 5283: + case 5284: + case 5285: + case 5286: + case 5287: + case 5288: + case 5289: + case 5290: + case 5291: + case 5292: + case 5293: + case 5294: + case 5295: + case 5296: + case 5297: + case 5298: + case 5299: + case 5300: + case 5301: + case 5302: + case 5303: + case 5304: + case 5305: + case 5306: + case 5307: + case 5308: + case 5309: + case 5310: + case 5311: + case 5312: + case 5313: + case 5314: + case 5315: + case 5316: + case 5317: + case 5318: + case 5319: + case 5320: + case 5321: + case 5322: + case 5323: + case 5324: + case 5325: + case 5326: + case 5327: + case 5328: + case 5329: + case 5330: + case 5331: + case 5332: + case 5333: + case 5334: + case 5335: + case 5336: + case 5337: + case 5338: + case 5339: + case 5340: + case 5341: + case 5342: + case 5343: + case 5344: + case 5345: + case 5346: + case 5347: + case 5348: + case 5349: + case 5350: + case 5351: + case 5352: + case 5353: + case 5354: + case 5355: + case 5356: + case 5357: + case 5358: + case 5359: + case 5360: + case 5361: + case 5362: + case 5363: + case 5364: + case 5365: + case 5366: + case 5367: + case 5368: + case 5369: + case 5370: + case 5371: + case 5372: + case 5373: + case 5374: + case 5375: + case 5376: + case 5377: + case 5378: + case 5379: + case 5380: + case 5381: + case 5382: + case 5383: + case 5384: + case 5385: + case 5386: + case 5387: + case 5388: + case 5389: + case 5390: + case 5391: + case 5392: + case 5393: + case 5394: + case 5395: + case 5396: + case 5397: + case 5398: + case 5399: + case 5400: + case 5401: + case 5402: return BlockType::Tripwire; + case 5259: + case 5260: + case 5261: + case 5262: + case 5263: + case 5264: + case 5265: + case 5266: + case 5267: + case 5268: + case 5269: + case 5270: + case 5271: + case 5272: + case 5273: + case 5274: return BlockType::TripwireHook; + case 9531: return BlockType::TubeCoral; + case 9515: return BlockType::TubeCoralBlock; + case 9551: return BlockType::TubeCoralFan; + case 9601: + case 9603: + case 9605: + case 9607: return BlockType::TubeCoralWallFan; + case 9498: + case 9499: + case 9500: + case 9501: + case 9502: + case 9503: + case 9504: + case 9505: + case 9506: + case 9507: + case 9508: + case 9509: return BlockType::TurtleEgg; + case 15017: + case 15018: + case 15019: + case 15020: + case 15021: + case 15022: + case 15023: + case 15024: + case 15025: + case 15026: + case 15027: + case 15028: + case 15029: + case 15030: + case 15031: + case 15032: + case 15033: + case 15034: + case 15035: + case 15036: + case 15037: + case 15038: + case 15039: + case 15040: + case 15041: + case 15042: return BlockType::TwistingVines; case 15043: return BlockType::TwistingVinesPlant; - case 4788: case 4789: case 4790: case 4791: case 4792: case 4793: case 4794: case 4795: case 4796: case 4797: case 4798: case 4799: case 4800: case 4801: case 4802: case 4803: case 4804: case 4805: case 4806: case 4807: case 4808: case 4809: case 4810: case 4811: case 4812: case 4813: case 4814: case 4815: case 4816: case 4817: case 4818: case 4819: return BlockType::Vine; - case 9665: return BlockType::VoidAir; - case 1436: case 1437: case 1438: case 1439: return BlockType::WallTorch; - case 15503: case 15504: case 15505: case 15506: case 15507: case 15508: case 15509: case 15510: case 15511: case 15512: case 15513: case 15514: case 15515: case 15516: case 15517: case 15518: case 15519: case 15520: case 15521: case 15522: case 15523: case 15524: case 15525: case 15526: return BlockType::WarpedButton; - case 15591: case 15592: case 15593: case 15594: case 15595: case 15596: case 15597: case 15598: case 15599: case 15600: case 15601: case 15602: case 15603: case 15604: case 15605: case 15606: case 15607: case 15608: case 15609: case 15610: case 15611: case 15612: case 15613: case 15614: case 15615: case 15616: case 15617: case 15618: case 15619: case 15620: case 15621: case 15622: case 15623: case 15624: case 15625: case 15626: case 15627: case 15628: case 15629: case 15630: case 15631: case 15632: case 15633: case 15634: case 15635: case 15636: case 15637: case 15638: case 15639: case 15640: case 15641: case 15642: case 15643: case 15644: case 15645: case 15646: case 15647: case 15648: case 15649: case 15650: case 15651: case 15652: case 15653: case 15654: return BlockType::WarpedDoor; - case 15097: case 15098: case 15101: case 15102: case 15105: case 15106: case 15109: case 15110: case 15113: case 15114: case 15117: case 15118: case 15121: case 15122: case 15125: case 15126: return BlockType::WarpedFence; - case 15287: case 15288: case 15289: case 15290: case 15291: case 15292: case 15293: case 15294: case 15295: case 15296: case 15297: case 15298: case 15299: case 15300: case 15301: case 15302: case 15303: case 15304: case 15305: case 15306: case 15307: case 15308: case 15309: case 15310: case 15311: case 15312: case 15313: case 15314: case 15315: case 15316: case 15317: case 15318: return BlockType::WarpedFenceGate; + case 4788: + case 4789: + case 4790: + case 4791: + case 4792: + case 4793: + case 4794: + case 4795: + case 4796: + case 4797: + case 4798: + case 4799: + case 4800: + case 4801: + case 4802: + case 4803: + case 4804: + case 4805: + case 4806: + case 4807: + case 4808: + case 4809: + case 4810: + case 4811: + case 4812: + case 4813: + case 4814: + case 4815: + case 4816: + case 4817: + case 4818: + case 4819: return BlockType::Vine; + case 9665: return BlockType::VoidAir; + case 1436: + case 1437: + case 1438: + case 1439: return BlockType::WallTorch; + case 15503: + case 15504: + case 15505: + case 15506: + case 15507: + case 15508: + case 15509: + case 15510: + case 15511: + case 15512: + case 15513: + case 15514: + case 15515: + case 15516: + case 15517: + case 15518: + case 15519: + case 15520: + case 15521: + case 15522: + case 15523: + case 15524: + case 15525: + case 15526: return BlockType::WarpedButton; + case 15591: + case 15592: + case 15593: + case 15594: + case 15595: + case 15596: + case 15597: + case 15598: + case 15599: + case 15600: + case 15601: + case 15602: + case 15603: + case 15604: + case 15605: + case 15606: + case 15607: + case 15608: + case 15609: + case 15610: + case 15611: + case 15612: + case 15613: + case 15614: + case 15615: + case 15616: + case 15617: + case 15618: + case 15619: + case 15620: + case 15621: + case 15622: + case 15623: + case 15624: + case 15625: + case 15626: + case 15627: + case 15628: + case 15629: + case 15630: + case 15631: + case 15632: + case 15633: + case 15634: + case 15635: + case 15636: + case 15637: + case 15638: + case 15639: + case 15640: + case 15641: + case 15642: + case 15643: + case 15644: + case 15645: + case 15646: + case 15647: + case 15648: + case 15649: + case 15650: + case 15651: + case 15652: + case 15653: + case 15654: return BlockType::WarpedDoor; + case 15097: + case 15098: + case 15101: + case 15102: + case 15105: + case 15106: + case 15109: + case 15110: + case 15113: + case 15114: + case 15117: + case 15118: + case 15121: + case 15122: + case 15125: + case 15126: return BlockType::WarpedFence; + case 15287: + case 15288: + case 15289: + case 15290: + case 15291: + case 15292: + case 15293: + case 15294: + case 15295: + case 15296: + case 15297: + case 15298: + case 15299: + case 15300: + case 15301: + case 15302: + case 15303: + case 15304: + case 15305: + case 15306: + case 15307: + case 15308: + case 15309: + case 15310: + case 15311: + case 15312: + case 15313: + case 15314: + case 15315: + case 15316: + case 15317: + case 15318: return BlockType::WarpedFenceGate; case 14971: return BlockType::WarpedFungus; - case 14964: case 14965: case 14966: return BlockType::WarpedHyphae; + case 14964: + case 14965: + case 14966: return BlockType::WarpedHyphae; case 14970: return BlockType::WarpedNylium; case 15046: return BlockType::WarpedPlanks; - case 15061: case 15062: return BlockType::WarpedPressurePlate; + case 15061: + case 15062: return BlockType::WarpedPressurePlate; case 14973: return BlockType::WarpedRoots; - case 15688: case 15690: case 15692: case 15694: case 15696: case 15698: case 15700: case 15702: case 15704: case 15706: case 15708: case 15710: case 15712: case 15714: case 15716: case 15718: return BlockType::WarpedSign; - case 15054: case 15056: case 15058: return BlockType::WarpedSlab; - case 15400: case 15402: case 15404: case 15406: case 15408: case 15410: case 15412: case 15414: case 15416: case 15418: case 15420: case 15422: case 15424: case 15426: case 15428: case 15430: case 15432: case 15434: case 15436: case 15438: case 15440: case 15442: case 15444: case 15446: case 15448: case 15450: case 15452: case 15454: case 15456: case 15458: case 15460: case 15462: case 15464: case 15466: case 15468: case 15470: case 15472: case 15474: case 15476: case 15478: return BlockType::WarpedStairs; - case 14958: case 14959: case 14960: return BlockType::WarpedStem; - case 15192: case 15194: case 15196: case 15198: case 15200: case 15202: case 15204: case 15206: case 15208: case 15210: case 15212: case 15214: case 15216: case 15218: case 15220: case 15222: case 15224: case 15226: case 15228: case 15230: case 15232: case 15234: case 15236: case 15238: case 15240: case 15242: case 15244: case 15246: case 15248: case 15250: case 15252: case 15254: return BlockType::WarpedTrapdoor; - case 15728: case 15730: case 15732: case 15734: return BlockType::WarpedWallSign; + case 15688: + case 15690: + case 15692: + case 15694: + case 15696: + case 15698: + case 15700: + case 15702: + case 15704: + case 15706: + case 15708: + case 15710: + case 15712: + case 15714: + case 15716: + case 15718: return BlockType::WarpedSign; + case 15054: + case 15056: + case 15058: return BlockType::WarpedSlab; + case 15400: + case 15402: + case 15404: + case 15406: + case 15408: + case 15410: + case 15412: + case 15414: + case 15416: + case 15418: + case 15420: + case 15422: + case 15424: + case 15426: + case 15428: + case 15430: + case 15432: + case 15434: + case 15436: + case 15438: + case 15440: + case 15442: + case 15444: + case 15446: + case 15448: + case 15450: + case 15452: + case 15454: + case 15456: + case 15458: + case 15460: + case 15462: + case 15464: + case 15466: + case 15468: + case 15470: + case 15472: + case 15474: + case 15476: + case 15478: return BlockType::WarpedStairs; + case 14958: + case 14959: + case 14960: return BlockType::WarpedStem; + case 15192: + case 15194: + case 15196: + case 15198: + case 15200: + case 15202: + case 15204: + case 15206: + case 15208: + case 15210: + case 15212: + case 15214: + case 15216: + case 15218: + case 15220: + case 15222: + case 15224: + case 15226: + case 15228: + case 15230: + case 15232: + case 15234: + case 15236: + case 15238: + case 15240: + case 15242: + case 15244: + case 15246: + case 15248: + case 15250: + case 15252: + case 15254: return BlockType::WarpedTrapdoor; + case 15728: + case 15730: + case 15732: + case 15734: return BlockType::WarpedWallSign; case 14972: return BlockType::WarpedWartBlock; - case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: return BlockType::Water; - case 14990: case 14991: case 14992: case 14993: case 14994: case 14995: case 14996: case 14997: case 14998: case 14999: case 15000: case 15001: case 15002: case 15003: case 15004: case 15005: case 15006: case 15007: case 15008: case 15009: case 15010: case 15011: case 15012: case 15013: case 15014: case 15015: return BlockType::WeepingVines; + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + case 41: + case 42: + case 43: + case 44: + case 45: + case 46: + case 47: + case 48: + case 49: return BlockType::Water; + case 14990: + case 14991: + case 14992: + case 14993: + case 14994: + case 14995: + case 14996: + case 14997: + case 14998: + case 14999: + case 15000: + case 15001: + case 15002: + case 15003: + case 15004: + case 15005: + case 15006: + case 15007: + case 15008: + case 15009: + case 15010: + case 15011: + case 15012: + case 15013: + case 15014: + case 15015: return BlockType::WeepingVines; case 15016: return BlockType::WeepingVinesPlant; - case 230: return BlockType::WetSponge; - case 3357: case 3358: case 3359: case 3360: case 3361: case 3362: case 3363: case 3364: return BlockType::Wheat; - case 7897: case 7898: case 7899: case 7900: case 7901: case 7902: case 7903: case 7904: case 7905: case 7906: case 7907: case 7908: case 7909: case 7910: case 7911: case 7912: return BlockType::WhiteBanner; - case 1049: case 1050: case 1051: case 1052: case 1053: case 1054: case 1055: case 1056: case 1057: case 1058: case 1059: case 1060: case 1061: case 1062: case 1063: case 1064: return BlockType::WhiteBed; - case 7866: return BlockType::WhiteCarpet; - case 9438: return BlockType::WhiteConcrete; - case 9454: return BlockType::WhiteConcretePowder; - case 9374: case 9375: case 9376: case 9377: return BlockType::WhiteGlazedTerracotta; - case 9278: case 9279: case 9280: case 9281: case 9282: case 9283: return BlockType::WhiteShulkerBox; - case 4095: return BlockType::WhiteStainedGlass; - case 6865: case 6866: case 6869: case 6870: case 6873: case 6874: case 6877: case 6878: case 6881: case 6882: case 6885: case 6886: case 6889: case 6890: case 6893: case 6894: return BlockType::WhiteStainedGlassPane; - case 6847: return BlockType::WhiteTerracotta; - case 1419: return BlockType::WhiteTulip; - case 8153: case 8154: case 8155: case 8156: return BlockType::WhiteWallBanner; - case 1384: return BlockType::WhiteWool; - case 1423: return BlockType::WitherRose; - case 6510: case 6511: case 6512: case 6513: case 6514: case 6515: case 6516: case 6517: case 6518: case 6519: case 6520: case 6521: case 6522: case 6523: case 6524: case 6525: return BlockType::WitherSkeletonSkull; - case 6526: case 6527: case 6528: case 6529: return BlockType::WitherSkeletonWallSkull; - case 7961: case 7962: case 7963: case 7964: case 7965: case 7966: case 7967: case 7968: case 7969: case 7970: case 7971: case 7972: case 7973: case 7974: case 7975: case 7976: return BlockType::YellowBanner; - case 1113: case 1114: case 1115: case 1116: case 1117: case 1118: case 1119: case 1120: case 1121: case 1122: case 1123: case 1124: case 1125: case 1126: case 1127: case 1128: return BlockType::YellowBed; - case 7870: return BlockType::YellowCarpet; - case 9442: return BlockType::YellowConcrete; - case 9458: return BlockType::YellowConcretePowder; - case 9390: case 9391: case 9392: case 9393: return BlockType::YellowGlazedTerracotta; - case 9302: case 9303: case 9304: case 9305: case 9306: case 9307: return BlockType::YellowShulkerBox; - case 4099: return BlockType::YellowStainedGlass; - case 6993: case 6994: case 6997: case 6998: case 7001: case 7002: case 7005: case 7006: case 7009: case 7010: case 7013: case 7014: case 7017: case 7018: case 7021: case 7022: return BlockType::YellowStainedGlassPane; - case 6851: return BlockType::YellowTerracotta; - case 8169: case 8170: case 8171: case 8172: return BlockType::YellowWallBanner; - case 1388: return BlockType::YellowWool; - case 6530: case 6531: case 6532: case 6533: case 6534: case 6535: case 6536: case 6537: case 6538: case 6539: case 6540: case 6541: case 6542: case 6543: case 6544: case 6545: return BlockType::ZombieHead; - default: return BlockType::ZombieWallHead; + case 230: return BlockType::WetSponge; + case 3357: + case 3358: + case 3359: + case 3360: + case 3361: + case 3362: + case 3363: + case 3364: return BlockType::Wheat; + case 7897: + case 7898: + case 7899: + case 7900: + case 7901: + case 7902: + case 7903: + case 7904: + case 7905: + case 7906: + case 7907: + case 7908: + case 7909: + case 7910: + case 7911: + case 7912: return BlockType::WhiteBanner; + case 1049: + case 1050: + case 1051: + case 1052: + case 1053: + case 1054: + case 1055: + case 1056: + case 1057: + case 1058: + case 1059: + case 1060: + case 1061: + case 1062: + case 1063: + case 1064: return BlockType::WhiteBed; + case 7866: return BlockType::WhiteCarpet; + case 9438: return BlockType::WhiteConcrete; + case 9454: return BlockType::WhiteConcretePowder; + case 9374: + case 9375: + case 9376: + case 9377: return BlockType::WhiteGlazedTerracotta; + case 9278: + case 9279: + case 9280: + case 9281: + case 9282: + case 9283: return BlockType::WhiteShulkerBox; + case 4095: return BlockType::WhiteStainedGlass; + case 6865: + case 6866: + case 6869: + case 6870: + case 6873: + case 6874: + case 6877: + case 6878: + case 6881: + case 6882: + case 6885: + case 6886: + case 6889: + case 6890: + case 6893: + case 6894: return BlockType::WhiteStainedGlassPane; + case 6847: return BlockType::WhiteTerracotta; + case 1419: return BlockType::WhiteTulip; + case 8153: + case 8154: + case 8155: + case 8156: return BlockType::WhiteWallBanner; + case 1384: return BlockType::WhiteWool; + case 1423: return BlockType::WitherRose; + case 6510: + case 6511: + case 6512: + case 6513: + case 6514: + case 6515: + case 6516: + case 6517: + case 6518: + case 6519: + case 6520: + case 6521: + case 6522: + case 6523: + case 6524: + case 6525: return BlockType::WitherSkeletonSkull; + case 6526: + case 6527: + case 6528: + case 6529: return BlockType::WitherSkeletonWallSkull; + case 7961: + case 7962: + case 7963: + case 7964: + case 7965: + case 7966: + case 7967: + case 7968: + case 7969: + case 7970: + case 7971: + case 7972: + case 7973: + case 7974: + case 7975: + case 7976: return BlockType::YellowBanner; + case 1113: + case 1114: + case 1115: + case 1116: + case 1117: + case 1118: + case 1119: + case 1120: + case 1121: + case 1122: + case 1123: + case 1124: + case 1125: + case 1126: + case 1127: + case 1128: return BlockType::YellowBed; + case 7870: return BlockType::YellowCarpet; + case 9442: return BlockType::YellowConcrete; + case 9458: return BlockType::YellowConcretePowder; + case 9390: + case 9391: + case 9392: + case 9393: return BlockType::YellowGlazedTerracotta; + case 9302: + case 9303: + case 9304: + case 9305: + case 9306: + case 9307: return BlockType::YellowShulkerBox; + case 4099: return BlockType::YellowStainedGlass; + case 6993: + case 6994: + case 6997: + case 6998: + case 7001: + case 7002: + case 7005: + case 7006: + case 7009: + case 7010: + case 7013: + case 7014: + case 7017: + case 7018: + case 7021: + case 7022: return BlockType::YellowStainedGlassPane; + case 6851: return BlockType::YellowTerracotta; + case 8169: + case 8170: + case 8171: + case 8172: return BlockType::YellowWallBanner; + case 1388: return BlockType::YellowWool; + case 6530: + case 6531: + case 6532: + case 6533: + case 6534: + case 6535: + case 6536: + case 6537: + case 6538: + case 6539: + case 6540: + case 6541: + case 6542: + case 6543: + case 6544: + case 6545: return BlockType::ZombieHead; + default: return BlockType::ZombieWallHead; } } diff --git a/src/Registries/BlockStates.h b/src/Registries/BlockStates.h index 4419fc896..e4fc25f4e 100644 --- a/src/Registries/BlockStates.h +++ b/src/Registries/BlockStates.h @@ -6,25480 +6,34768 @@ namespace Block { - namespace AcaciaButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState AcaciaButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6442; - else return 6443; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6444; - else return 6445; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6446; - else return 6447; - else - if (Powered) return 6448; - else return 6449; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6450; - else return 6451; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6452; - else return 6453; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6454; - else return 6455; - else - if (Powered) return 6456; - else return 6457; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6458; - else return 6459; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6460; - else return 6461; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6462; - else return 6463; - else - if (Powered) return 6464; - else return 6465; - } - BlockState AcaciaButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace AcaciaDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState AcaciaDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8930; - else return 8931; - else - if (Powered) return 8932; - else return 8933; - else - if (Open) - if (Powered) return 8934; - else return 8935; - else - if (Powered) return 8936; - else return 8937; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8938; - else return 8939; - else - if (Powered) return 8940; - else return 8941; - else - if (Open) - if (Powered) return 8942; - else return 8943; - else - if (Powered) return 8944; - else return 8945; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8946; - else return 8947; - else - if (Powered) return 8948; - else return 8949; - else - if (Open) - if (Powered) return 8950; - else return 8951; - else - if (Powered) return 8952; - else return 8953; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8954; - else return 8955; - else - if (Powered) return 8956; - else return 8957; - else - if (Open) - if (Powered) return 8958; - else return 8959; - else - if (Powered) return 8960; - else return 8961; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8962; - else return 8963; - else - if (Powered) return 8964; - else return 8965; - else - if (Open) - if (Powered) return 8966; - else return 8967; - else - if (Powered) return 8968; - else return 8969; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8970; - else return 8971; - else - if (Powered) return 8972; - else return 8973; - else - if (Open) - if (Powered) return 8974; - else return 8975; - else - if (Powered) return 8976; - else return 8977; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8978; - else return 8979; - else - if (Powered) return 8980; - else return 8981; - else - if (Open) - if (Powered) return 8982; - else return 8983; - else - if (Powered) return 8984; - else return 8985; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8986; - else return 8987; - else - if (Powered) return 8988; - else return 8989; - else - if (Open) - if (Powered) return 8990; - else return 8991; - else - if (Powered) return 8992; - else return 8993; - } - BlockState AcaciaDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace AcaciaFence - { - constexpr BlockState AcaciaFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 8676; - else return 8677; - else - if (West) return 8680; - else return 8681; - else - if (South) - if (West) return 8684; - else return 8685; - else - if (West) return 8688; - else return 8689; +namespace AcaciaButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState AcaciaButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6442; else - if (North) - if (South) - if (West) return 8692; - else return 8693; - else - if (West) return 8696; - else return 8697; - else - if (South) - if (West) return 8700; - else return 8701; - else - if (West) return 8704; - else return 8705; - } - BlockState AcaciaFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace AcaciaFenceGate - { - constexpr BlockState AcaciaFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (InWall) - if (Open) - if (Powered) return 8514; - else return 8515; - else - if (Powered) return 8516; - else return 8517; - else - if (Open) - if (Powered) return 8518; - else return 8519; - else - if (Powered) return 8520; - else return 8521; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (InWall) - if (Open) - if (Powered) return 8522; - else return 8523; - else - if (Powered) return 8524; - else return 8525; - else - if (Open) - if (Powered) return 8526; - else return 8527; - else - if (Powered) return 8528; - else return 8529; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (InWall) - if (Open) - if (Powered) return 8530; - else return 8531; - else - if (Powered) return 8532; - else return 8533; - else - if (Open) - if (Powered) return 8534; - else return 8535; - else - if (Powered) return 8536; - else return 8537; - else - if (InWall) - if (Open) - if (Powered) return 8538; - else return 8539; - else - if (Powered) return 8540; - else return 8541; - else - if (Open) - if (Powered) return 8542; - else return 8543; - else - if (Powered) return 8544; - else return 8545; - } - BlockState AcaciaFenceGate(); - eBlockFace Facing(BlockState Block); - bool InWall(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace AcaciaLeaves - { - constexpr BlockState AcaciaLeaves(const unsigned char Distance, const bool Persistent) - { - if (Distance == 1) - if (Persistent) return 201; - else return 202; - else if (Distance == 2) - if (Persistent) return 203; - else return 204; - else if (Distance == 3) - if (Persistent) return 205; - else return 206; - else if (Distance == 4) - if (Persistent) return 207; - else return 208; - else if (Distance == 5) - if (Persistent) return 209; - else return 210; - else if (Distance == 6) - if (Persistent) return 211; - else return 212; - else - if (Persistent) return 213; - else return 214; - } - BlockState AcaciaLeaves(); - unsigned char Distance(BlockState Block); - bool Persistent(BlockState Block); - } - namespace AcaciaLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState AcaciaLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 85; - else if (Axis == Axis::Y) return 86; - else return 87; - } - BlockState AcaciaLog(); - enum Axis Axis(BlockState Block); - } - namespace AcaciaPlanks - { - constexpr BlockState AcaciaPlanks() - { - return 19; - } - } - namespace AcaciaPressurePlate - { - constexpr BlockState AcaciaPressurePlate(const bool Powered) - { - if (Powered) return 3881; - else return 3882; - } - BlockState AcaciaPressurePlate(); - bool Powered(BlockState Block); - } - namespace AcaciaSapling - { - constexpr BlockState AcaciaSapling(const unsigned char Stage) - { - if (Stage == 0) return 29; - else return 30; - } - BlockState AcaciaSapling(); - unsigned char Stage(BlockState Block); - } - namespace AcaciaSign - { - constexpr BlockState AcaciaSign(const unsigned char Rotation) - { - if (Rotation == 0) return 3478; - else if (Rotation == 1) return 3480; - else if (Rotation == 2) return 3482; - else if (Rotation == 3) return 3484; - else if (Rotation == 4) return 3486; - else if (Rotation == 5) return 3488; - else if (Rotation == 6) return 3490; - else if (Rotation == 7) return 3492; - else if (Rotation == 8) return 3494; - else if (Rotation == 9) return 3496; - else if (Rotation == 10) return 3498; - else if (Rotation == 11) return 3500; - else if (Rotation == 12) return 3502; - else if (Rotation == 13) return 3504; - else if (Rotation == 14) return 3506; - else return 3508; - } - BlockState AcaciaSign(); - unsigned char Rotation(BlockState Block); - } - namespace AcaciaSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState AcaciaSlab(const enum Type Type) - { - if (Type == Type::Top) return 8325; - else if (Type == Type::Bottom) return 8327; - else return 8329; - } - BlockState AcaciaSlab(); - enum Type Type(BlockState Block); - } - namespace AcaciaStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState AcaciaStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7376; - else if (Shape == Shape::InnerLeft) return 7378; - else if (Shape == Shape::InnerRight) return 7380; - else if (Shape == Shape::OuterLeft) return 7382; - else return 7384; - else - if (Shape == Shape::Straight) return 7386; - else if (Shape == Shape::InnerLeft) return 7388; - else if (Shape == Shape::InnerRight) return 7390; - else if (Shape == Shape::OuterLeft) return 7392; - else return 7394; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7396; - else if (Shape == Shape::InnerLeft) return 7398; - else if (Shape == Shape::InnerRight) return 7400; - else if (Shape == Shape::OuterLeft) return 7402; - else return 7404; - else - if (Shape == Shape::Straight) return 7406; - else if (Shape == Shape::InnerLeft) return 7408; - else if (Shape == Shape::InnerRight) return 7410; - else if (Shape == Shape::OuterLeft) return 7412; - else return 7414; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7416; - else if (Shape == Shape::InnerLeft) return 7418; - else if (Shape == Shape::InnerRight) return 7420; - else if (Shape == Shape::OuterLeft) return 7422; - else return 7424; - else - if (Shape == Shape::Straight) return 7426; - else if (Shape == Shape::InnerLeft) return 7428; - else if (Shape == Shape::InnerRight) return 7430; - else if (Shape == Shape::OuterLeft) return 7432; - else return 7434; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7436; - else if (Shape == Shape::InnerLeft) return 7438; - else if (Shape == Shape::InnerRight) return 7440; - else if (Shape == Shape::OuterLeft) return 7442; - else return 7444; - else - if (Shape == Shape::Straight) return 7446; - else if (Shape == Shape::InnerLeft) return 7448; - else if (Shape == Shape::InnerRight) return 7450; - else if (Shape == Shape::OuterLeft) return 7452; - else return 7454; - } - BlockState AcaciaStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace AcaciaTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState AcaciaTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4368; - else return 4370; - else - if (Powered) return 4372; - else return 4374; - else - if (Open) - if (Powered) return 4376; - else return 4378; - else - if (Powered) return 4380; - else return 4382; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 4384; - else return 4386; - else - if (Powered) return 4388; - else return 4390; - else - if (Open) - if (Powered) return 4392; - else return 4394; - else - if (Powered) return 4396; - else return 4398; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4400; - else return 4402; - else - if (Powered) return 4404; - else return 4406; - else - if (Open) - if (Powered) return 4408; - else return 4410; - else - if (Powered) return 4412; - else return 4414; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 4416; - else return 4418; - else - if (Powered) return 4420; - else return 4422; - else - if (Open) - if (Powered) return 4424; - else return 4426; - else - if (Powered) return 4428; - else return 4430; - } - BlockState AcaciaTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace AcaciaWallSign - { - constexpr BlockState AcaciaWallSign(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3760; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3762; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3764; - else return 3766; - } - BlockState AcaciaWallSign(); - eBlockFace Facing(BlockState Block); - } - namespace AcaciaWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState AcaciaWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 121; - else if (Axis == Axis::Y) return 122; - else return 123; - } - BlockState AcaciaWood(); - enum Axis Axis(BlockState Block); - } - namespace ActivatorRail - { - enum class Shape - { - NorthSouth, - EastWest, - AscendingEast, - AscendingWest, - AscendingNorth, - AscendingSouth - }; - constexpr BlockState ActivatorRail(const bool Powered, const enum Shape Shape) - { - if (Powered) - if (Shape == Shape::NorthSouth) return 6823; - else if (Shape == Shape::EastWest) return 6824; - else if (Shape == Shape::AscendingEast) return 6825; - else if (Shape == Shape::AscendingWest) return 6826; - else if (Shape == Shape::AscendingNorth) return 6827; - else return 6828; - else - if (Shape == Shape::NorthSouth) return 6829; - else if (Shape == Shape::EastWest) return 6830; - else if (Shape == Shape::AscendingEast) return 6831; - else if (Shape == Shape::AscendingWest) return 6832; - else if (Shape == Shape::AscendingNorth) return 6833; - else return 6834; - } - BlockState ActivatorRail(); - bool Powered(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace Air - { - constexpr BlockState Air() - { - return -0; - } - } - namespace Allium - { - constexpr BlockState Allium() - { - return 1415; - } - } - namespace AncientDebris - { - constexpr BlockState AncientDebris() - { - return 15827; - } - } - namespace Andesite - { - constexpr BlockState Andesite() - { - return 6; - } - } - namespace AndesiteSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState AndesiteSlab(const enum Type Type) - { - if (Type == Type::Top) return 10844; - else if (Type == Type::Bottom) return 10846; - else return 10848; - } - BlockState AndesiteSlab(); - enum Type Type(BlockState Block); - } - namespace AndesiteStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState AndesiteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10470; - else if (Shape == Shape::InnerLeft) return 10472; - else if (Shape == Shape::InnerRight) return 10474; - else if (Shape == Shape::OuterLeft) return 10476; - else return 10478; - else - if (Shape == Shape::Straight) return 10480; - else if (Shape == Shape::InnerLeft) return 10482; - else if (Shape == Shape::InnerRight) return 10484; - else if (Shape == Shape::OuterLeft) return 10486; - else return 10488; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10490; - else if (Shape == Shape::InnerLeft) return 10492; - else if (Shape == Shape::InnerRight) return 10494; - else if (Shape == Shape::OuterLeft) return 10496; - else return 10498; - else - if (Shape == Shape::Straight) return 10500; - else if (Shape == Shape::InnerLeft) return 10502; - else if (Shape == Shape::InnerRight) return 10504; - else if (Shape == Shape::OuterLeft) return 10506; - else return 10508; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10510; - else if (Shape == Shape::InnerLeft) return 10512; - else if (Shape == Shape::InnerRight) return 10514; - else if (Shape == Shape::OuterLeft) return 10516; - else return 10518; - else - if (Shape == Shape::Straight) return 10520; - else if (Shape == Shape::InnerLeft) return 10522; - else if (Shape == Shape::InnerRight) return 10524; - else if (Shape == Shape::OuterLeft) return 10526; - else return 10528; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10530; - else if (Shape == Shape::InnerLeft) return 10532; - else if (Shape == Shape::InnerRight) return 10534; - else if (Shape == Shape::OuterLeft) return 10536; - else return 10538; - else - if (Shape == Shape::Straight) return 10540; - else if (Shape == Shape::InnerLeft) return 10542; - else if (Shape == Shape::InnerRight) return 10544; - else if (Shape == Shape::OuterLeft) return 10546; - else return 10548; - } - BlockState AndesiteStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace AndesiteWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState AndesiteWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13138; - else if (West == West::Low) return 13139; - else return 13140; - else - if (West == West::None) return 13144; - else if (West == West::Low) return 13145; - else return 13146; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13150; - else if (West == West::Low) return 13151; - else return 13152; - else - if (West == West::None) return 13156; - else if (West == West::Low) return 13157; - else return 13158; - else - if (Up) - if (West == West::None) return 13162; - else if (West == West::Low) return 13163; - else return 13164; - else - if (West == West::None) return 13168; - else if (West == West::Low) return 13169; - else return 13170; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13174; - else if (West == West::Low) return 13175; - else return 13176; - else - if (West == West::None) return 13180; - else if (West == West::Low) return 13181; - else return 13182; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13186; - else if (West == West::Low) return 13187; - else return 13188; - else - if (West == West::None) return 13192; - else if (West == West::Low) return 13193; - else return 13194; - else - if (Up) - if (West == West::None) return 13198; - else if (West == West::Low) return 13199; - else return 13200; - else - if (West == West::None) return 13204; - else if (West == West::Low) return 13205; - else return 13206; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13210; - else if (West == West::Low) return 13211; - else return 13212; - else - if (West == West::None) return 13216; - else if (West == West::Low) return 13217; - else return 13218; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13222; - else if (West == West::Low) return 13223; - else return 13224; - else - if (West == West::None) return 13228; - else if (West == West::Low) return 13229; - else return 13230; - else - if (Up) - if (West == West::None) return 13234; - else if (West == West::Low) return 13235; - else return 13236; - else - if (West == West::None) return 13240; - else if (West == West::Low) return 13241; - else return 13242; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13246; - else if (West == West::Low) return 13247; - else return 13248; - else - if (West == West::None) return 13252; - else if (West == West::Low) return 13253; - else return 13254; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13258; - else if (West == West::Low) return 13259; - else return 13260; - else - if (West == West::None) return 13264; - else if (West == West::Low) return 13265; - else return 13266; - else - if (Up) - if (West == West::None) return 13270; - else if (West == West::Low) return 13271; - else return 13272; - else - if (West == West::None) return 13276; - else if (West == West::Low) return 13277; - else return 13278; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13282; - else if (West == West::Low) return 13283; - else return 13284; - else - if (West == West::None) return 13288; - else if (West == West::Low) return 13289; - else return 13290; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13294; - else if (West == West::Low) return 13295; - else return 13296; - else - if (West == West::None) return 13300; - else if (West == West::Low) return 13301; - else return 13302; - else - if (Up) - if (West == West::None) return 13306; - else if (West == West::Low) return 13307; - else return 13308; - else - if (West == West::None) return 13312; - else if (West == West::Low) return 13313; - else return 13314; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13318; - else if (West == West::Low) return 13319; - else return 13320; - else - if (West == West::None) return 13324; - else if (West == West::Low) return 13325; - else return 13326; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13330; - else if (West == West::Low) return 13331; - else return 13332; - else - if (West == West::None) return 13336; - else if (West == West::Low) return 13337; - else return 13338; - else - if (Up) - if (West == West::None) return 13342; - else if (West == West::Low) return 13343; - else return 13344; - else - if (West == West::None) return 13348; - else if (West == West::Low) return 13349; - else return 13350; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13354; - else if (West == West::Low) return 13355; - else return 13356; - else - if (West == West::None) return 13360; - else if (West == West::Low) return 13361; - else return 13362; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13366; - else if (West == West::Low) return 13367; - else return 13368; - else - if (West == West::None) return 13372; - else if (West == West::Low) return 13373; - else return 13374; - else - if (Up) - if (West == West::None) return 13378; - else if (West == West::Low) return 13379; - else return 13380; - else - if (West == West::None) return 13384; - else if (West == West::Low) return 13385; - else return 13386; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13390; - else if (West == West::Low) return 13391; - else return 13392; - else - if (West == West::None) return 13396; - else if (West == West::Low) return 13397; - else return 13398; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13402; - else if (West == West::Low) return 13403; - else return 13404; - else - if (West == West::None) return 13408; - else if (West == West::Low) return 13409; - else return 13410; - else - if (Up) - if (West == West::None) return 13414; - else if (West == West::Low) return 13415; - else return 13416; - else - if (West == West::None) return 13420; - else if (West == West::Low) return 13421; - else return 13422; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13426; - else if (West == West::Low) return 13427; - else return 13428; - else - if (West == West::None) return 13432; - else if (West == West::Low) return 13433; - else return 13434; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13438; - else if (West == West::Low) return 13439; - else return 13440; - else - if (West == West::None) return 13444; - else if (West == West::Low) return 13445; - else return 13446; - else - if (Up) - if (West == West::None) return 13450; - else if (West == West::Low) return 13451; - else return 13452; - else - if (West == West::None) return 13456; - else if (West == West::Low) return 13457; - else return 13458; - } - BlockState AndesiteWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace Anvil - { - constexpr BlockState Anvil(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6610; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6611; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6612; - else return 6613; - } - BlockState Anvil(); - eBlockFace Facing(BlockState Block); - } - namespace AttachedMelonStem - { - constexpr BlockState AttachedMelonStem(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4768; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4769; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4770; - else return 4771; - } - BlockState AttachedMelonStem(); - eBlockFace Facing(BlockState Block); - } - namespace AttachedPumpkinStem - { - constexpr BlockState AttachedPumpkinStem(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4764; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4765; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4766; - else return 4767; - } - BlockState AttachedPumpkinStem(); - eBlockFace Facing(BlockState Block); - } - namespace AzureBluet - { - constexpr BlockState AzureBluet() - { - return 1416; - } - } - namespace Bamboo - { - enum class Leaves - { - None, - Small, - Large - }; - constexpr BlockState Bamboo(const unsigned char Age, const enum Leaves Leaves, const unsigned char Stage) - { - if (Age == 0) - if (Leaves == Leaves::None) - if (Stage == 0) return 9652; - else return 9653; - else if (Leaves == Leaves::Small) - if (Stage == 0) return 9654; - else return 9655; - else - if (Stage == 0) return 9656; - else return 9657; - else - if (Leaves == Leaves::None) - if (Stage == 0) return 9658; - else return 9659; - else if (Leaves == Leaves::Small) - if (Stage == 0) return 9660; - else return 9661; - else - if (Stage == 0) return 9662; - else return 9663; - } - BlockState Bamboo(); - unsigned char Age(BlockState Block); - enum Leaves Leaves(BlockState Block); - unsigned char Stage(BlockState Block); - } - namespace BambooSapling - { - constexpr BlockState BambooSapling() - { - return 9651; - } - } - namespace Barrel - { - constexpr BlockState Barrel(const eBlockFace Facing, const bool Open) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Open) return 14791; - else return 14792; - else if (Facing == eBlockFace::BLOCK_FACE_XP) - if (Open) return 14793; - else return 14794; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Open) return 14795; - else return 14796; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Open) return 14797; - else return 14798; - else if (Facing == eBlockFace::BLOCK_FACE_YP) - if (Open) return 14799; - else return 14800; - else - if (Open) return 14801; - else return 14802; - } - BlockState Barrel(); - eBlockFace Facing(BlockState Block); - bool Open(BlockState Block); - } - namespace Barrier - { - constexpr BlockState Barrier() - { - return 7536; - } - } - namespace Basalt - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState Basalt(const enum Axis Axis) - { - if (Axis == Axis::X) return 4002; - else if (Axis == Axis::Y) return 4003; - else return 4004; - } - BlockState Basalt(); - enum Axis Axis(BlockState Block); - } - namespace Beacon - { - constexpr BlockState Beacon() - { - return 5656; - } - } - namespace Bedrock - { - constexpr BlockState Bedrock() - { - return 33; - } - } - namespace BeeNest - { - constexpr BlockState BeeNest(const eBlockFace Facing, const unsigned char HoneyLevel) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (HoneyLevel == 0) return 15776; - else if (HoneyLevel == 1) return 15777; - else if (HoneyLevel == 2) return 15778; - else if (HoneyLevel == 3) return 15779; - else if (HoneyLevel == 4) return 15780; - else return 15781; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (HoneyLevel == 0) return 15782; - else if (HoneyLevel == 1) return 15783; - else if (HoneyLevel == 2) return 15784; - else if (HoneyLevel == 3) return 15785; - else if (HoneyLevel == 4) return 15786; - else return 15787; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (HoneyLevel == 0) return 15788; - else if (HoneyLevel == 1) return 15789; - else if (HoneyLevel == 2) return 15790; - else if (HoneyLevel == 3) return 15791; - else if (HoneyLevel == 4) return 15792; - else return 15793; - else - if (HoneyLevel == 0) return 15794; - else if (HoneyLevel == 1) return 15795; - else if (HoneyLevel == 2) return 15796; - else if (HoneyLevel == 3) return 15797; - else if (HoneyLevel == 4) return 15798; - else return 15799; - } - BlockState BeeNest(); - eBlockFace Facing(BlockState Block); - unsigned char HoneyLevel(BlockState Block); - } - namespace Beehive - { - constexpr BlockState Beehive(const eBlockFace Facing, const unsigned char HoneyLevel) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (HoneyLevel == 0) return 15800; - else if (HoneyLevel == 1) return 15801; - else if (HoneyLevel == 2) return 15802; - else if (HoneyLevel == 3) return 15803; - else if (HoneyLevel == 4) return 15804; - else return 15805; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (HoneyLevel == 0) return 15806; - else if (HoneyLevel == 1) return 15807; - else if (HoneyLevel == 2) return 15808; - else if (HoneyLevel == 3) return 15809; - else if (HoneyLevel == 4) return 15810; - else return 15811; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (HoneyLevel == 0) return 15812; - else if (HoneyLevel == 1) return 15813; - else if (HoneyLevel == 2) return 15814; - else if (HoneyLevel == 3) return 15815; - else if (HoneyLevel == 4) return 15816; - else return 15817; - else - if (HoneyLevel == 0) return 15818; - else if (HoneyLevel == 1) return 15819; - else if (HoneyLevel == 2) return 15820; - else if (HoneyLevel == 3) return 15821; - else if (HoneyLevel == 4) return 15822; - else return 15823; - } - BlockState Beehive(); - eBlockFace Facing(BlockState Block); - unsigned char HoneyLevel(BlockState Block); - } - namespace Beetroots - { - constexpr BlockState Beetroots(const unsigned char Age) - { - if (Age == 0) return 9219; - else if (Age == 1) return 9220; - else if (Age == 2) return 9221; - else return 9222; - } - BlockState Beetroots(); - unsigned char Age(BlockState Block); - } - namespace Bell - { - enum class Attachment - { - Floor, - Ceiling, - SingleWall, - DoubleWall - }; - constexpr BlockState Bell(const enum Attachment Attachment, const eBlockFace Facing, const bool Powered) - { - if (Attachment == Attachment::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 14854; - else return 14855; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 14856; - else return 14857; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 14858; - else return 14859; - else - if (Powered) return 14860; - else return 14861; - else if (Attachment == Attachment::Ceiling) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 14862; - else return 14863; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 14864; - else return 14865; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 14866; - else return 14867; - else - if (Powered) return 14868; - else return 14869; - else if (Attachment == Attachment::SingleWall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 14870; - else return 14871; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 14872; - else return 14873; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 14874; - else return 14875; - else - if (Powered) return 14876; - else return 14877; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 14878; - else return 14879; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 14880; - else return 14881; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 14882; - else return 14883; - else - if (Powered) return 14884; - else return 14885; - } - BlockState Bell(); - enum Attachment Attachment(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace BirchButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState BirchButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6394; - else return 6395; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6396; - else return 6397; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6398; - else return 6399; - else - if (Powered) return 6400; - else return 6401; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6402; - else return 6403; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6404; - else return 6405; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6406; - else return 6407; - else - if (Powered) return 6408; - else return 6409; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6410; - else return 6411; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6412; - else return 6413; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6414; - else return 6415; - else - if (Powered) return 6416; - else return 6417; - } - BlockState BirchButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace BirchDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState BirchDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8802; - else return 8803; - else - if (Powered) return 8804; - else return 8805; - else - if (Open) - if (Powered) return 8806; - else return 8807; - else - if (Powered) return 8808; - else return 8809; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8810; - else return 8811; - else - if (Powered) return 8812; - else return 8813; - else - if (Open) - if (Powered) return 8814; - else return 8815; - else - if (Powered) return 8816; - else return 8817; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8818; - else return 8819; - else - if (Powered) return 8820; - else return 8821; - else - if (Open) - if (Powered) return 8822; - else return 8823; - else - if (Powered) return 8824; - else return 8825; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8826; - else return 8827; - else - if (Powered) return 8828; - else return 8829; - else - if (Open) - if (Powered) return 8830; - else return 8831; - else - if (Powered) return 8832; - else return 8833; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8834; - else return 8835; - else - if (Powered) return 8836; - else return 8837; - else - if (Open) - if (Powered) return 8838; - else return 8839; - else - if (Powered) return 8840; - else return 8841; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8842; - else return 8843; - else - if (Powered) return 8844; - else return 8845; - else - if (Open) - if (Powered) return 8846; - else return 8847; - else - if (Powered) return 8848; - else return 8849; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8850; - else return 8851; - else - if (Powered) return 8852; - else return 8853; - else - if (Open) - if (Powered) return 8854; - else return 8855; - else - if (Powered) return 8856; - else return 8857; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8858; - else return 8859; - else - if (Powered) return 8860; - else return 8861; - else - if (Open) - if (Powered) return 8862; - else return 8863; - else - if (Powered) return 8864; - else return 8865; - } - BlockState BirchDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace BirchFence - { - constexpr BlockState BirchFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 8612; - else return 8613; - else - if (West) return 8616; - else return 8617; - else - if (South) - if (West) return 8620; - else return 8621; - else - if (West) return 8624; - else return 8625; + return 6443; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6444; else - if (North) - if (South) - if (West) return 8628; - else return 8629; - else - if (West) return 8632; - else return 8633; - else - if (South) - if (West) return 8636; - else return 8637; - else - if (West) return 8640; - else return 8641; - } - BlockState BirchFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace BirchFenceGate - { - constexpr BlockState BirchFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (InWall) - if (Open) - if (Powered) return 8450; - else return 8451; - else - if (Powered) return 8452; - else return 8453; - else - if (Open) - if (Powered) return 8454; - else return 8455; - else - if (Powered) return 8456; - else return 8457; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (InWall) - if (Open) - if (Powered) return 8458; - else return 8459; - else - if (Powered) return 8460; - else return 8461; - else - if (Open) - if (Powered) return 8462; - else return 8463; - else - if (Powered) return 8464; - else return 8465; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (InWall) - if (Open) - if (Powered) return 8466; - else return 8467; - else - if (Powered) return 8468; - else return 8469; - else - if (Open) - if (Powered) return 8470; - else return 8471; - else - if (Powered) return 8472; - else return 8473; - else - if (InWall) - if (Open) - if (Powered) return 8474; - else return 8475; - else - if (Powered) return 8476; - else return 8477; - else - if (Open) - if (Powered) return 8478; - else return 8479; - else - if (Powered) return 8480; - else return 8481; - } - BlockState BirchFenceGate(); - eBlockFace Facing(BlockState Block); - bool InWall(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace BirchLeaves - { - constexpr BlockState BirchLeaves(const unsigned char Distance, const bool Persistent) - { - if (Distance == 1) - if (Persistent) return 173; - else return 174; - else if (Distance == 2) - if (Persistent) return 175; - else return 176; - else if (Distance == 3) - if (Persistent) return 177; - else return 178; - else if (Distance == 4) - if (Persistent) return 179; - else return 180; - else if (Distance == 5) - if (Persistent) return 181; - else return 182; - else if (Distance == 6) - if (Persistent) return 183; - else return 184; - else - if (Persistent) return 185; - else return 186; - } - BlockState BirchLeaves(); - unsigned char Distance(BlockState Block); - bool Persistent(BlockState Block); - } - namespace BirchLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState BirchLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 79; - else if (Axis == Axis::Y) return 80; - else return 81; - } - BlockState BirchLog(); - enum Axis Axis(BlockState Block); - } - namespace BirchPlanks - { - constexpr BlockState BirchPlanks() - { - return 17; - } - } - namespace BirchPressurePlate - { - constexpr BlockState BirchPressurePlate(const bool Powered) - { - if (Powered) return 3877; - else return 3878; - } - BlockState BirchPressurePlate(); - bool Powered(BlockState Block); - } - namespace BirchSapling - { - constexpr BlockState BirchSapling(const unsigned char Stage) - { - if (Stage == 0) return 25; - else return 26; - } - BlockState BirchSapling(); - unsigned char Stage(BlockState Block); - } - namespace BirchSign - { - constexpr BlockState BirchSign(const unsigned char Rotation) - { - if (Rotation == 0) return 3446; - else if (Rotation == 1) return 3448; - else if (Rotation == 2) return 3450; - else if (Rotation == 3) return 3452; - else if (Rotation == 4) return 3454; - else if (Rotation == 5) return 3456; - else if (Rotation == 6) return 3458; - else if (Rotation == 7) return 3460; - else if (Rotation == 8) return 3462; - else if (Rotation == 9) return 3464; - else if (Rotation == 10) return 3466; - else if (Rotation == 11) return 3468; - else if (Rotation == 12) return 3470; - else if (Rotation == 13) return 3472; - else if (Rotation == 14) return 3474; - else return 3476; - } - BlockState BirchSign(); - unsigned char Rotation(BlockState Block); - } - namespace BirchSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState BirchSlab(const enum Type Type) - { - if (Type == Type::Top) return 8313; - else if (Type == Type::Bottom) return 8315; - else return 8317; - } - BlockState BirchSlab(); - enum Type Type(BlockState Block); - } - namespace BirchStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState BirchStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5485; - else if (Shape == Shape::InnerLeft) return 5487; - else if (Shape == Shape::InnerRight) return 5489; - else if (Shape == Shape::OuterLeft) return 5491; - else return 5493; - else - if (Shape == Shape::Straight) return 5495; - else if (Shape == Shape::InnerLeft) return 5497; - else if (Shape == Shape::InnerRight) return 5499; - else if (Shape == Shape::OuterLeft) return 5501; - else return 5503; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5505; - else if (Shape == Shape::InnerLeft) return 5507; - else if (Shape == Shape::InnerRight) return 5509; - else if (Shape == Shape::OuterLeft) return 5511; - else return 5513; - else - if (Shape == Shape::Straight) return 5515; - else if (Shape == Shape::InnerLeft) return 5517; - else if (Shape == Shape::InnerRight) return 5519; - else if (Shape == Shape::OuterLeft) return 5521; - else return 5523; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5525; - else if (Shape == Shape::InnerLeft) return 5527; - else if (Shape == Shape::InnerRight) return 5529; - else if (Shape == Shape::OuterLeft) return 5531; - else return 5533; - else - if (Shape == Shape::Straight) return 5535; - else if (Shape == Shape::InnerLeft) return 5537; - else if (Shape == Shape::InnerRight) return 5539; - else if (Shape == Shape::OuterLeft) return 5541; - else return 5543; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5545; - else if (Shape == Shape::InnerLeft) return 5547; - else if (Shape == Shape::InnerRight) return 5549; - else if (Shape == Shape::OuterLeft) return 5551; - else return 5553; - else - if (Shape == Shape::Straight) return 5555; - else if (Shape == Shape::InnerLeft) return 5557; - else if (Shape == Shape::InnerRight) return 5559; - else if (Shape == Shape::OuterLeft) return 5561; - else return 5563; - } - BlockState BirchStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace BirchTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState BirchTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4240; - else return 4242; - else - if (Powered) return 4244; - else return 4246; - else - if (Open) - if (Powered) return 4248; - else return 4250; - else - if (Powered) return 4252; - else return 4254; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 4256; - else return 4258; - else - if (Powered) return 4260; - else return 4262; - else - if (Open) - if (Powered) return 4264; - else return 4266; - else - if (Powered) return 4268; - else return 4270; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4272; - else return 4274; - else - if (Powered) return 4276; - else return 4278; - else - if (Open) - if (Powered) return 4280; - else return 4282; - else - if (Powered) return 4284; - else return 4286; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 4288; - else return 4290; - else - if (Powered) return 4292; - else return 4294; - else - if (Open) - if (Powered) return 4296; - else return 4298; - else - if (Powered) return 4300; - else return 4302; - } - BlockState BirchTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace BirchWallSign - { - constexpr BlockState BirchWallSign(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3752; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3754; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3756; - else return 3758; - } - BlockState BirchWallSign(); - eBlockFace Facing(BlockState Block); - } - namespace BirchWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState BirchWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 115; - else if (Axis == Axis::Y) return 116; - else return 117; - } - BlockState BirchWood(); - enum Axis Axis(BlockState Block); - } - namespace BlackBanner - { - constexpr BlockState BlackBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8137; - else if (Rotation == 1) return 8138; - else if (Rotation == 2) return 8139; - else if (Rotation == 3) return 8140; - else if (Rotation == 4) return 8141; - else if (Rotation == 5) return 8142; - else if (Rotation == 6) return 8143; - else if (Rotation == 7) return 8144; - else if (Rotation == 8) return 8145; - else if (Rotation == 9) return 8146; - else if (Rotation == 10) return 8147; - else if (Rotation == 11) return 8148; - else if (Rotation == 12) return 8149; - else if (Rotation == 13) return 8150; - else if (Rotation == 14) return 8151; - else return 8152; - } - BlockState BlackBanner(); - unsigned char Rotation(BlockState Block); - } - namespace BlackBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState BlackBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1289; - else return 1290; - else - if (Part == Part::Head) return 1291; - else return 1292; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1293; - else return 1294; - else - if (Part == Part::Head) return 1295; - else return 1296; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1297; - else return 1298; - else - if (Part == Part::Head) return 1299; - else return 1300; - else - if (Occupied) - if (Part == Part::Head) return 1301; - else return 1302; - else - if (Part == Part::Head) return 1303; - else return 1304; - } - BlockState BlackBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace BlackCarpet - { - constexpr BlockState BlackCarpet() - { - return 7881; - } - } - namespace BlackConcrete - { - constexpr BlockState BlackConcrete() - { - return 9453; - } - } - namespace BlackConcretePowder - { - constexpr BlockState BlackConcretePowder() - { - return 9469; - } - } - namespace BlackGlazedTerracotta - { - constexpr BlockState BlackGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9434; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9435; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9436; - else return 9437; - } - BlockState BlackGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace BlackShulkerBox - { - constexpr BlockState BlackShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9368; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9369; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9370; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9371; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9372; - else return 9373; - } - BlockState BlackShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace BlackStainedGlass - { - constexpr BlockState BlackStainedGlass() - { - return 4110; - } - } - namespace BlackStainedGlassPane - { - constexpr BlockState BlackStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7345; - else return 7346; - else - if (West) return 7349; - else return 7350; - else - if (South) - if (West) return 7353; - else return 7354; - else - if (West) return 7357; - else return 7358; + return 6445; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6446; else - if (North) - if (South) - if (West) return 7361; - else return 7362; - else - if (West) return 7365; - else return 7366; - else - if (South) - if (West) return 7369; - else return 7370; - else - if (West) return 7373; - else return 7374; - } - BlockState BlackStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace BlackTerracotta - { - constexpr BlockState BlackTerracotta() - { - return 6862; - } - } - namespace BlackWallBanner - { - constexpr BlockState BlackWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8213; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8214; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8215; - else return 8216; - } - BlockState BlackWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace BlackWool - { - constexpr BlockState BlackWool() - { - return 1399; - } - } - namespace Blackstone - { - constexpr BlockState Blackstone() - { - return 15839; - } - } - namespace BlackstoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState BlackstoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 16245; - else if (Type == Type::Bottom) return 16247; - else return 16249; - } - BlockState BlackstoneSlab(); - enum Type Type(BlockState Block); - } - namespace BlackstoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState BlackstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15841; - else if (Shape == Shape::InnerLeft) return 15843; - else if (Shape == Shape::InnerRight) return 15845; - else if (Shape == Shape::OuterLeft) return 15847; - else return 15849; - else - if (Shape == Shape::Straight) return 15851; - else if (Shape == Shape::InnerLeft) return 15853; - else if (Shape == Shape::InnerRight) return 15855; - else if (Shape == Shape::OuterLeft) return 15857; - else return 15859; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15861; - else if (Shape == Shape::InnerLeft) return 15863; - else if (Shape == Shape::InnerRight) return 15865; - else if (Shape == Shape::OuterLeft) return 15867; - else return 15869; - else - if (Shape == Shape::Straight) return 15871; - else if (Shape == Shape::InnerLeft) return 15873; - else if (Shape == Shape::InnerRight) return 15875; - else if (Shape == Shape::OuterLeft) return 15877; - else return 15879; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15881; - else if (Shape == Shape::InnerLeft) return 15883; - else if (Shape == Shape::InnerRight) return 15885; - else if (Shape == Shape::OuterLeft) return 15887; - else return 15889; - else - if (Shape == Shape::Straight) return 15891; - else if (Shape == Shape::InnerLeft) return 15893; - else if (Shape == Shape::InnerRight) return 15895; - else if (Shape == Shape::OuterLeft) return 15897; - else return 15899; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15901; - else if (Shape == Shape::InnerLeft) return 15903; - else if (Shape == Shape::InnerRight) return 15905; - else if (Shape == Shape::OuterLeft) return 15907; - else return 15909; - else - if (Shape == Shape::Straight) return 15911; - else if (Shape == Shape::InnerLeft) return 15913; - else if (Shape == Shape::InnerRight) return 15915; - else if (Shape == Shape::OuterLeft) return 15917; - else return 15919; - } - BlockState BlackstoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace BlackstoneWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState BlackstoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 15923; - else if (West == West::Low) return 15924; - else return 15925; - else - if (West == West::None) return 15929; - else if (West == West::Low) return 15930; - else return 15931; - else if (South == South::Low) - if (Up) - if (West == West::None) return 15935; - else if (West == West::Low) return 15936; - else return 15937; - else - if (West == West::None) return 15941; - else if (West == West::Low) return 15942; - else return 15943; - else - if (Up) - if (West == West::None) return 15947; - else if (West == West::Low) return 15948; - else return 15949; - else - if (West == West::None) return 15953; - else if (West == West::Low) return 15954; - else return 15955; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 15959; - else if (West == West::Low) return 15960; - else return 15961; - else - if (West == West::None) return 15965; - else if (West == West::Low) return 15966; - else return 15967; - else if (South == South::Low) - if (Up) - if (West == West::None) return 15971; - else if (West == West::Low) return 15972; - else return 15973; - else - if (West == West::None) return 15977; - else if (West == West::Low) return 15978; - else return 15979; - else - if (Up) - if (West == West::None) return 15983; - else if (West == West::Low) return 15984; - else return 15985; - else - if (West == West::None) return 15989; - else if (West == West::Low) return 15990; - else return 15991; - else - if (South == South::None) - if (Up) - if (West == West::None) return 15995; - else if (West == West::Low) return 15996; - else return 15997; - else - if (West == West::None) return 16001; - else if (West == West::Low) return 16002; - else return 16003; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16007; - else if (West == West::Low) return 16008; - else return 16009; - else - if (West == West::None) return 16013; - else if (West == West::Low) return 16014; - else return 16015; - else - if (Up) - if (West == West::None) return 16019; - else if (West == West::Low) return 16020; - else return 16021; - else - if (West == West::None) return 16025; - else if (West == West::Low) return 16026; - else return 16027; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 16031; - else if (West == West::Low) return 16032; - else return 16033; - else - if (West == West::None) return 16037; - else if (West == West::Low) return 16038; - else return 16039; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16043; - else if (West == West::Low) return 16044; - else return 16045; - else - if (West == West::None) return 16049; - else if (West == West::Low) return 16050; - else return 16051; - else - if (Up) - if (West == West::None) return 16055; - else if (West == West::Low) return 16056; - else return 16057; - else - if (West == West::None) return 16061; - else if (West == West::Low) return 16062; - else return 16063; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 16067; - else if (West == West::Low) return 16068; - else return 16069; - else - if (West == West::None) return 16073; - else if (West == West::Low) return 16074; - else return 16075; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16079; - else if (West == West::Low) return 16080; - else return 16081; - else - if (West == West::None) return 16085; - else if (West == West::Low) return 16086; - else return 16087; - else - if (Up) - if (West == West::None) return 16091; - else if (West == West::Low) return 16092; - else return 16093; - else - if (West == West::None) return 16097; - else if (West == West::Low) return 16098; - else return 16099; - else - if (South == South::None) - if (Up) - if (West == West::None) return 16103; - else if (West == West::Low) return 16104; - else return 16105; - else - if (West == West::None) return 16109; - else if (West == West::Low) return 16110; - else return 16111; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16115; - else if (West == West::Low) return 16116; - else return 16117; - else - if (West == West::None) return 16121; - else if (West == West::Low) return 16122; - else return 16123; - else - if (Up) - if (West == West::None) return 16127; - else if (West == West::Low) return 16128; - else return 16129; - else - if (West == West::None) return 16133; - else if (West == West::Low) return 16134; - else return 16135; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 16139; - else if (West == West::Low) return 16140; - else return 16141; - else - if (West == West::None) return 16145; - else if (West == West::Low) return 16146; - else return 16147; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16151; - else if (West == West::Low) return 16152; - else return 16153; - else - if (West == West::None) return 16157; - else if (West == West::Low) return 16158; - else return 16159; - else - if (Up) - if (West == West::None) return 16163; - else if (West == West::Low) return 16164; - else return 16165; - else - if (West == West::None) return 16169; - else if (West == West::Low) return 16170; - else return 16171; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 16175; - else if (West == West::Low) return 16176; - else return 16177; - else - if (West == West::None) return 16181; - else if (West == West::Low) return 16182; - else return 16183; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16187; - else if (West == West::Low) return 16188; - else return 16189; - else - if (West == West::None) return 16193; - else if (West == West::Low) return 16194; - else return 16195; - else - if (Up) - if (West == West::None) return 16199; - else if (West == West::Low) return 16200; - else return 16201; - else - if (West == West::None) return 16205; - else if (West == West::Low) return 16206; - else return 16207; - else - if (South == South::None) - if (Up) - if (West == West::None) return 16211; - else if (West == West::Low) return 16212; - else return 16213; - else - if (West == West::None) return 16217; - else if (West == West::Low) return 16218; - else return 16219; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16223; - else if (West == West::Low) return 16224; - else return 16225; - else - if (West == West::None) return 16229; - else if (West == West::Low) return 16230; - else return 16231; - else - if (Up) - if (West == West::None) return 16235; - else if (West == West::Low) return 16236; - else return 16237; - else - if (West == West::None) return 16241; - else if (West == West::Low) return 16242; - else return 16243; - } - BlockState BlackstoneWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace BlastFurnace - { - constexpr BlockState BlastFurnace(const eBlockFace Facing, const bool Lit) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Lit) return 14811; - else return 14812; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Lit) return 14813; - else return 14814; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Lit) return 14815; - else return 14816; - else - if (Lit) return 14817; - else return 14818; - } - BlockState BlastFurnace(); - eBlockFace Facing(BlockState Block); - bool Lit(BlockState Block); - } - namespace BlueBanner - { - constexpr BlockState BlueBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8073; - else if (Rotation == 1) return 8074; - else if (Rotation == 2) return 8075; - else if (Rotation == 3) return 8076; - else if (Rotation == 4) return 8077; - else if (Rotation == 5) return 8078; - else if (Rotation == 6) return 8079; - else if (Rotation == 7) return 8080; - else if (Rotation == 8) return 8081; - else if (Rotation == 9) return 8082; - else if (Rotation == 10) return 8083; - else if (Rotation == 11) return 8084; - else if (Rotation == 12) return 8085; - else if (Rotation == 13) return 8086; - else if (Rotation == 14) return 8087; - else return 8088; - } - BlockState BlueBanner(); - unsigned char Rotation(BlockState Block); - } - namespace BlueBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState BlueBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1225; - else return 1226; - else - if (Part == Part::Head) return 1227; - else return 1228; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1229; - else return 1230; - else - if (Part == Part::Head) return 1231; - else return 1232; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1233; - else return 1234; - else - if (Part == Part::Head) return 1235; - else return 1236; - else - if (Occupied) - if (Part == Part::Head) return 1237; - else return 1238; - else - if (Part == Part::Head) return 1239; - else return 1240; - } - BlockState BlueBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace BlueCarpet - { - constexpr BlockState BlueCarpet() - { - return 7877; - } - } - namespace BlueConcrete - { - constexpr BlockState BlueConcrete() - { - return 9449; - } - } - namespace BlueConcretePowder - { - constexpr BlockState BlueConcretePowder() - { - return 9465; - } - } - namespace BlueGlazedTerracotta - { - constexpr BlockState BlueGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9418; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9419; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9420; - else return 9421; - } - BlockState BlueGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace BlueIce - { - constexpr BlockState BlueIce() - { - return 9648; - } - } - namespace BlueOrchid - { - constexpr BlockState BlueOrchid() - { - return 1414; - } - } - namespace BlueShulkerBox - { - constexpr BlockState BlueShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9344; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9345; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9346; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9347; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9348; - else return 9349; - } - BlockState BlueShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace BlueStainedGlass - { - constexpr BlockState BlueStainedGlass() - { - return 4106; - } - } - namespace BlueStainedGlassPane - { - constexpr BlockState BlueStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7217; - else return 7218; - else - if (West) return 7221; - else return 7222; - else - if (South) - if (West) return 7225; - else return 7226; - else - if (West) return 7229; - else return 7230; + return 6447; + else if (Powered) + return 6448; + else + return 6449; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6450; else - if (North) - if (South) - if (West) return 7233; - else return 7234; - else - if (West) return 7237; - else return 7238; - else - if (South) - if (West) return 7241; - else return 7242; - else - if (West) return 7245; - else return 7246; - } - BlockState BlueStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace BlueTerracotta - { - constexpr BlockState BlueTerracotta() - { - return 6858; - } - } - namespace BlueWallBanner - { - constexpr BlockState BlueWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8197; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8198; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8199; - else return 8200; - } - BlockState BlueWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace BlueWool - { - constexpr BlockState BlueWool() - { - return 1395; - } - } - namespace BoneBlock - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState BoneBlock(const enum Axis Axis) - { - if (Axis == Axis::X) return 9256; - else if (Axis == Axis::Y) return 9257; - else return 9258; - } - BlockState BoneBlock(); - enum Axis Axis(BlockState Block); - } - namespace Bookshelf - { - constexpr BlockState Bookshelf() - { - return 1432; - } - } - namespace BrainCoral - { - constexpr BlockState BrainCoral() - { - return 9533; - } - } - namespace BrainCoralBlock - { - constexpr BlockState BrainCoralBlock() - { - return 9516; - } - } - namespace BrainCoralFan - { - constexpr BlockState BrainCoralFan() - { - return 9553; - } - } - namespace BrainCoralWallFan - { - constexpr BlockState BrainCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9609; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9611; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9613; - else return 9615; - } - BlockState BrainCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace BrewingStand - { - constexpr BlockState BrewingStand(const bool HasBottle_0, const bool HasBottle_1, const bool HasBottle_2) - { - if (HasBottle_0) - if (HasBottle_1) - if (HasBottle_2) return 5133; - else return 5134; - else - if (HasBottle_2) return 5135; - else return 5136; - else - if (HasBottle_1) - if (HasBottle_2) return 5137; - else return 5138; - else - if (HasBottle_2) return 5139; - else return 5140; - } - BlockState BrewingStand(); - bool HasBottle_0(BlockState Block); - bool HasBottle_1(BlockState Block); - bool HasBottle_2(BlockState Block); - } - namespace BrickSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState BrickSlab(const enum Type Type) - { - if (Type == Type::Top) return 8373; - else if (Type == Type::Bottom) return 8375; - else return 8377; - } - BlockState BrickSlab(); - enum Type Type(BlockState Block); - } - namespace BrickStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState BrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 4853; - else if (Shape == Shape::InnerLeft) return 4855; - else if (Shape == Shape::InnerRight) return 4857; - else if (Shape == Shape::OuterLeft) return 4859; - else return 4861; - else - if (Shape == Shape::Straight) return 4863; - else if (Shape == Shape::InnerLeft) return 4865; - else if (Shape == Shape::InnerRight) return 4867; - else if (Shape == Shape::OuterLeft) return 4869; - else return 4871; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 4873; - else if (Shape == Shape::InnerLeft) return 4875; - else if (Shape == Shape::InnerRight) return 4877; - else if (Shape == Shape::OuterLeft) return 4879; - else return 4881; - else - if (Shape == Shape::Straight) return 4883; - else if (Shape == Shape::InnerLeft) return 4885; - else if (Shape == Shape::InnerRight) return 4887; - else if (Shape == Shape::OuterLeft) return 4889; - else return 4891; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 4893; - else if (Shape == Shape::InnerLeft) return 4895; - else if (Shape == Shape::InnerRight) return 4897; - else if (Shape == Shape::OuterLeft) return 4899; - else return 4901; - else - if (Shape == Shape::Straight) return 4903; - else if (Shape == Shape::InnerLeft) return 4905; - else if (Shape == Shape::InnerRight) return 4907; - else if (Shape == Shape::OuterLeft) return 4909; - else return 4911; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 4913; - else if (Shape == Shape::InnerLeft) return 4915; - else if (Shape == Shape::InnerRight) return 4917; - else if (Shape == Shape::OuterLeft) return 4919; - else return 4921; - else - if (Shape == Shape::Straight) return 4923; - else if (Shape == Shape::InnerLeft) return 4925; - else if (Shape == Shape::InnerRight) return 4927; - else if (Shape == Shape::OuterLeft) return 4929; - else return 4931; - } - BlockState BrickStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace BrickWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState BrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 10870; - else if (West == West::Low) return 10871; - else return 10872; - else - if (West == West::None) return 10876; - else if (West == West::Low) return 10877; - else return 10878; - else if (South == South::Low) - if (Up) - if (West == West::None) return 10882; - else if (West == West::Low) return 10883; - else return 10884; - else - if (West == West::None) return 10888; - else if (West == West::Low) return 10889; - else return 10890; - else - if (Up) - if (West == West::None) return 10894; - else if (West == West::Low) return 10895; - else return 10896; - else - if (West == West::None) return 10900; - else if (West == West::Low) return 10901; - else return 10902; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 10906; - else if (West == West::Low) return 10907; - else return 10908; - else - if (West == West::None) return 10912; - else if (West == West::Low) return 10913; - else return 10914; - else if (South == South::Low) - if (Up) - if (West == West::None) return 10918; - else if (West == West::Low) return 10919; - else return 10920; - else - if (West == West::None) return 10924; - else if (West == West::Low) return 10925; - else return 10926; - else - if (Up) - if (West == West::None) return 10930; - else if (West == West::Low) return 10931; - else return 10932; - else - if (West == West::None) return 10936; - else if (West == West::Low) return 10937; - else return 10938; - else - if (South == South::None) - if (Up) - if (West == West::None) return 10942; - else if (West == West::Low) return 10943; - else return 10944; - else - if (West == West::None) return 10948; - else if (West == West::Low) return 10949; - else return 10950; - else if (South == South::Low) - if (Up) - if (West == West::None) return 10954; - else if (West == West::Low) return 10955; - else return 10956; - else - if (West == West::None) return 10960; - else if (West == West::Low) return 10961; - else return 10962; - else - if (Up) - if (West == West::None) return 10966; - else if (West == West::Low) return 10967; - else return 10968; - else - if (West == West::None) return 10972; - else if (West == West::Low) return 10973; - else return 10974; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 10978; - else if (West == West::Low) return 10979; - else return 10980; - else - if (West == West::None) return 10984; - else if (West == West::Low) return 10985; - else return 10986; - else if (South == South::Low) - if (Up) - if (West == West::None) return 10990; - else if (West == West::Low) return 10991; - else return 10992; - else - if (West == West::None) return 10996; - else if (West == West::Low) return 10997; - else return 10998; - else - if (Up) - if (West == West::None) return 11002; - else if (West == West::Low) return 11003; - else return 11004; - else - if (West == West::None) return 11008; - else if (West == West::Low) return 11009; - else return 11010; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11014; - else if (West == West::Low) return 11015; - else return 11016; - else - if (West == West::None) return 11020; - else if (West == West::Low) return 11021; - else return 11022; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11026; - else if (West == West::Low) return 11027; - else return 11028; - else - if (West == West::None) return 11032; - else if (West == West::Low) return 11033; - else return 11034; - else - if (Up) - if (West == West::None) return 11038; - else if (West == West::Low) return 11039; - else return 11040; - else - if (West == West::None) return 11044; - else if (West == West::Low) return 11045; - else return 11046; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11050; - else if (West == West::Low) return 11051; - else return 11052; - else - if (West == West::None) return 11056; - else if (West == West::Low) return 11057; - else return 11058; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11062; - else if (West == West::Low) return 11063; - else return 11064; - else - if (West == West::None) return 11068; - else if (West == West::Low) return 11069; - else return 11070; - else - if (Up) - if (West == West::None) return 11074; - else if (West == West::Low) return 11075; - else return 11076; - else - if (West == West::None) return 11080; - else if (West == West::Low) return 11081; - else return 11082; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11086; - else if (West == West::Low) return 11087; - else return 11088; - else - if (West == West::None) return 11092; - else if (West == West::Low) return 11093; - else return 11094; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11098; - else if (West == West::Low) return 11099; - else return 11100; - else - if (West == West::None) return 11104; - else if (West == West::Low) return 11105; - else return 11106; - else - if (Up) - if (West == West::None) return 11110; - else if (West == West::Low) return 11111; - else return 11112; - else - if (West == West::None) return 11116; - else if (West == West::Low) return 11117; - else return 11118; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11122; - else if (West == West::Low) return 11123; - else return 11124; - else - if (West == West::None) return 11128; - else if (West == West::Low) return 11129; - else return 11130; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11134; - else if (West == West::Low) return 11135; - else return 11136; - else - if (West == West::None) return 11140; - else if (West == West::Low) return 11141; - else return 11142; - else - if (Up) - if (West == West::None) return 11146; - else if (West == West::Low) return 11147; - else return 11148; - else - if (West == West::None) return 11152; - else if (West == West::Low) return 11153; - else return 11154; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11158; - else if (West == West::Low) return 11159; - else return 11160; - else - if (West == West::None) return 11164; - else if (West == West::Low) return 11165; - else return 11166; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11170; - else if (West == West::Low) return 11171; - else return 11172; - else - if (West == West::None) return 11176; - else if (West == West::Low) return 11177; - else return 11178; - else - if (Up) - if (West == West::None) return 11182; - else if (West == West::Low) return 11183; - else return 11184; - else - if (West == West::None) return 11188; - else if (West == West::Low) return 11189; - else return 11190; - } - BlockState BrickWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace Bricks - { - constexpr BlockState Bricks() - { - return 1429; - } - } - namespace BrownBanner - { - constexpr BlockState BrownBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8089; - else if (Rotation == 1) return 8090; - else if (Rotation == 2) return 8091; - else if (Rotation == 3) return 8092; - else if (Rotation == 4) return 8093; - else if (Rotation == 5) return 8094; - else if (Rotation == 6) return 8095; - else if (Rotation == 7) return 8096; - else if (Rotation == 8) return 8097; - else if (Rotation == 9) return 8098; - else if (Rotation == 10) return 8099; - else if (Rotation == 11) return 8100; - else if (Rotation == 12) return 8101; - else if (Rotation == 13) return 8102; - else if (Rotation == 14) return 8103; - else return 8104; - } - BlockState BrownBanner(); - unsigned char Rotation(BlockState Block); - } - namespace BrownBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState BrownBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1241; - else return 1242; - else - if (Part == Part::Head) return 1243; - else return 1244; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1245; - else return 1246; - else - if (Part == Part::Head) return 1247; - else return 1248; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1249; - else return 1250; - else - if (Part == Part::Head) return 1251; - else return 1252; - else - if (Occupied) - if (Part == Part::Head) return 1253; - else return 1254; - else - if (Part == Part::Head) return 1255; - else return 1256; - } - BlockState BrownBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace BrownCarpet - { - constexpr BlockState BrownCarpet() - { - return 7878; - } - } - namespace BrownConcrete - { - constexpr BlockState BrownConcrete() - { - return 9450; - } - } - namespace BrownConcretePowder - { - constexpr BlockState BrownConcretePowder() - { - return 9466; - } - } - namespace BrownGlazedTerracotta - { - constexpr BlockState BrownGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9422; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9423; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9424; - else return 9425; - } - BlockState BrownGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace BrownMushroom - { - constexpr BlockState BrownMushroom() - { - return 1425; - } - } - namespace BrownMushroomBlock - { - constexpr BlockState BrownMushroomBlock(const bool Down, const bool East, const bool North, const bool South, const bool Up, const bool West) - { - if (Down) - if (East) - if (North) - if (South) - if (Up) - if (West) return 4505; - else return 4506; - else - if (West) return 4507; - else return 4508; - else - if (Up) - if (West) return 4509; - else return 4510; - else - if (West) return 4511; - else return 4512; - else - if (South) - if (Up) - if (West) return 4513; - else return 4514; - else - if (West) return 4515; - else return 4516; - else - if (Up) - if (West) return 4517; - else return 4518; - else - if (West) return 4519; - else return 4520; - else - if (North) - if (South) - if (Up) - if (West) return 4521; - else return 4522; - else - if (West) return 4523; - else return 4524; - else - if (Up) - if (West) return 4525; - else return 4526; - else - if (West) return 4527; - else return 4528; - else - if (South) - if (Up) - if (West) return 4529; - else return 4530; - else - if (West) return 4531; - else return 4532; - else - if (Up) - if (West) return 4533; - else return 4534; - else - if (West) return 4535; - else return 4536; + return 6451; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6452; else - if (East) - if (North) - if (South) - if (Up) - if (West) return 4537; - else return 4538; - else - if (West) return 4539; - else return 4540; - else - if (Up) - if (West) return 4541; - else return 4542; - else - if (West) return 4543; - else return 4544; - else - if (South) - if (Up) - if (West) return 4545; - else return 4546; - else - if (West) return 4547; - else return 4548; - else - if (Up) - if (West) return 4549; - else return 4550; - else - if (West) return 4551; - else return 4552; - else - if (North) - if (South) - if (Up) - if (West) return 4553; - else return 4554; - else - if (West) return 4555; - else return 4556; - else - if (Up) - if (West) return 4557; - else return 4558; - else - if (West) return 4559; - else return 4560; - else - if (South) - if (Up) - if (West) return 4561; - else return 4562; - else - if (West) return 4563; - else return 4564; - else - if (Up) - if (West) return 4565; - else return 4566; - else - if (West) return 4567; - else return 4568; - } - BlockState BrownMushroomBlock(); - bool Down(BlockState Block); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool Up(BlockState Block); - bool West(BlockState Block); - } - namespace BrownShulkerBox - { - constexpr BlockState BrownShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9350; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9351; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9352; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9353; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9354; - else return 9355; - } - BlockState BrownShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace BrownStainedGlass - { - constexpr BlockState BrownStainedGlass() - { - return 4107; - } - } - namespace BrownStainedGlassPane - { - constexpr BlockState BrownStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7249; - else return 7250; - else - if (West) return 7253; - else return 7254; - else - if (South) - if (West) return 7257; - else return 7258; - else - if (West) return 7261; - else return 7262; + return 6453; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6454; else - if (North) - if (South) - if (West) return 7265; - else return 7266; - else - if (West) return 7269; - else return 7270; - else - if (South) - if (West) return 7273; - else return 7274; - else - if (West) return 7277; - else return 7278; - } - BlockState BrownStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace BrownTerracotta - { - constexpr BlockState BrownTerracotta() - { - return 6859; - } - } - namespace BrownWallBanner - { - constexpr BlockState BrownWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8201; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8202; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8203; - else return 8204; - } - BlockState BrownWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace BrownWool - { - constexpr BlockState BrownWool() - { - return 1396; - } - } - namespace BubbleColumn - { - constexpr BlockState BubbleColumn(const bool Drag) - { - if (Drag) return 9667; - else return 9668; - } - BlockState BubbleColumn(); - bool Drag(BlockState Block); - } - namespace BubbleCoral - { - constexpr BlockState BubbleCoral() - { - return 9535; - } - } - namespace BubbleCoralBlock - { - constexpr BlockState BubbleCoralBlock() - { - return 9517; - } - } - namespace BubbleCoralFan - { - constexpr BlockState BubbleCoralFan() - { - return 9555; - } - } - namespace BubbleCoralWallFan - { - constexpr BlockState BubbleCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9617; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9619; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9621; - else return 9623; - } - BlockState BubbleCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace Cactus - { - constexpr BlockState Cactus(const unsigned char Age) - { - if (Age == 0) return 3931; - else if (Age == 1) return 3932; - else if (Age == 2) return 3933; - else if (Age == 3) return 3934; - else if (Age == 4) return 3935; - else if (Age == 5) return 3936; - else if (Age == 6) return 3937; - else if (Age == 7) return 3938; - else if (Age == 8) return 3939; - else if (Age == 9) return 3940; - else if (Age == 10) return 3941; - else if (Age == 11) return 3942; - else if (Age == 12) return 3943; - else if (Age == 13) return 3944; - else if (Age == 14) return 3945; - else return 3946; - } - BlockState Cactus(); - unsigned char Age(BlockState Block); - } - namespace Cake - { - constexpr BlockState Cake(const unsigned char Bites) - { - if (Bites == 0) return 4024; - else if (Bites == 1) return 4025; - else if (Bites == 2) return 4026; - else if (Bites == 3) return 4027; - else if (Bites == 4) return 4028; - else if (Bites == 5) return 4029; - else return 4030; - } - BlockState Cake(); - unsigned char Bites(BlockState Block); - } - namespace Campfire - { - constexpr BlockState Campfire(const eBlockFace Facing, const bool Lit, const bool SignalFire) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Lit) - if (SignalFire) return 14891; - else return 14893; - else - if (SignalFire) return 14895; - else return 14897; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Lit) - if (SignalFire) return 14899; - else return 14901; - else - if (SignalFire) return 14903; - else return 14905; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Lit) - if (SignalFire) return 14907; - else return 14909; - else - if (SignalFire) return 14911; - else return 14913; - else - if (Lit) - if (SignalFire) return 14915; - else return 14917; - else - if (SignalFire) return 14919; - else return 14921; - } - BlockState Campfire(); - eBlockFace Facing(BlockState Block); - bool Lit(BlockState Block); - bool SignalFire(BlockState Block); - } - namespace Carrots - { - constexpr BlockState Carrots(const unsigned char Age) - { - if (Age == 0) return 6330; - else if (Age == 1) return 6331; - else if (Age == 2) return 6332; - else if (Age == 3) return 6333; - else if (Age == 4) return 6334; - else if (Age == 5) return 6335; - else if (Age == 6) return 6336; - else return 6337; - } - BlockState Carrots(); - unsigned char Age(BlockState Block); - } - namespace CartographyTable - { - constexpr BlockState CartographyTable() - { - return 14819; - } - } - namespace CarvedPumpkin - { - constexpr BlockState CarvedPumpkin(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4016; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4017; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4018; - else return 4019; - } - BlockState CarvedPumpkin(); - eBlockFace Facing(BlockState Block); - } - namespace Cauldron - { - constexpr BlockState Cauldron(const unsigned char Level) - { - if (Level == 0) return 5141; - else if (Level == 1) return 5142; - else if (Level == 2) return 5143; - else return 5144; - } - BlockState Cauldron(); - unsigned char Level(BlockState Block); - } - namespace CaveAir - { - constexpr BlockState CaveAir() - { - return 9666; - } - } - namespace Chain - { - constexpr BlockState Chain() - { - return 4730; - } - } - namespace ChainCommandBlock - { - constexpr BlockState ChainCommandBlock(const bool Conditional, const eBlockFace Facing) - { - if (Conditional) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9237; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9238; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9239; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9240; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9241; - else return 9242; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9243; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9244; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9245; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9246; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9247; - else return 9248; - } - BlockState ChainCommandBlock(); - bool Conditional(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace Chest - { - enum class Type - { - Single, - Left, - Right - }; - constexpr BlockState Chest(const eBlockFace Facing, const enum Type Type) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Type == Type::Single) return 2035; - else if (Type == Type::Left) return 2037; - else return 2039; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Type == Type::Single) return 2041; - else if (Type == Type::Left) return 2043; - else return 2045; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Type == Type::Single) return 2047; - else if (Type == Type::Left) return 2049; - else return 2051; - else - if (Type == Type::Single) return 2053; - else if (Type == Type::Left) return 2055; - else return 2057; - } - BlockState Chest(); - eBlockFace Facing(BlockState Block); - enum Type Type(BlockState Block); - } - namespace ChippedAnvil - { - constexpr BlockState ChippedAnvil(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6614; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6615; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6616; - else return 6617; - } - BlockState ChippedAnvil(); - eBlockFace Facing(BlockState Block); - } - namespace ChiseledNetherBricks - { - constexpr BlockState ChiseledNetherBricks() - { - return 17101; - } - } - namespace ChiseledPolishedBlackstone - { - constexpr BlockState ChiseledPolishedBlackstone() - { - return 16253; - } - } - namespace ChiseledQuartzBlock - { - constexpr BlockState ChiseledQuartzBlock() - { - return 6739; - } - } - namespace ChiseledRedSandstone - { - constexpr BlockState ChiseledRedSandstone() - { - return 8218; - } - } - namespace ChiseledSandstone - { - constexpr BlockState ChiseledSandstone() - { - return 247; - } - } - namespace ChiseledStoneBricks - { - constexpr BlockState ChiseledStoneBricks() - { - return 4498; - } - } - namespace ChorusFlower - { - constexpr BlockState ChorusFlower(const unsigned char Age) - { - if (Age == 0) return 9128; - else if (Age == 1) return 9129; - else if (Age == 2) return 9130; - else if (Age == 3) return 9131; - else if (Age == 4) return 9132; - else return 9133; - } - BlockState ChorusFlower(); - unsigned char Age(BlockState Block); - } - namespace ChorusPlant - { - constexpr BlockState ChorusPlant(const bool Down, const bool East, const bool North, const bool South, const bool Up, const bool West) - { - if (Down) - if (East) - if (North) - if (South) - if (Up) - if (West) return 9064; - else return 9065; - else - if (West) return 9066; - else return 9067; - else - if (Up) - if (West) return 9068; - else return 9069; - else - if (West) return 9070; - else return 9071; - else - if (South) - if (Up) - if (West) return 9072; - else return 9073; - else - if (West) return 9074; - else return 9075; - else - if (Up) - if (West) return 9076; - else return 9077; - else - if (West) return 9078; - else return 9079; - else - if (North) - if (South) - if (Up) - if (West) return 9080; - else return 9081; - else - if (West) return 9082; - else return 9083; - else - if (Up) - if (West) return 9084; - else return 9085; - else - if (West) return 9086; - else return 9087; - else - if (South) - if (Up) - if (West) return 9088; - else return 9089; - else - if (West) return 9090; - else return 9091; - else - if (Up) - if (West) return 9092; - else return 9093; - else - if (West) return 9094; - else return 9095; + return 6455; + else if (Powered) + return 6456; + else + return 6457; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6458; + else + return 6459; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6460; + else + return 6461; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6462; + else + return 6463; + else if (Powered) + return 6464; + else + return 6465; +} +BlockState AcaciaButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace AcaciaButton +namespace AcaciaDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState AcaciaDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8930; + else + return 8931; + else if (Powered) + return 8932; + else + return 8933; + else if (Open) + if (Powered) + return 8934; + else + return 8935; + else if (Powered) + return 8936; else - if (East) - if (North) - if (South) - if (Up) - if (West) return 9096; - else return 9097; - else - if (West) return 9098; - else return 9099; - else - if (Up) - if (West) return 9100; - else return 9101; - else - if (West) return 9102; - else return 9103; - else - if (South) - if (Up) - if (West) return 9104; - else return 9105; - else - if (West) return 9106; - else return 9107; - else - if (Up) - if (West) return 9108; - else return 9109; - else - if (West) return 9110; - else return 9111; - else - if (North) - if (South) - if (Up) - if (West) return 9112; - else return 9113; - else - if (West) return 9114; - else return 9115; - else - if (Up) - if (West) return 9116; - else return 9117; - else - if (West) return 9118; - else return 9119; - else - if (South) - if (Up) - if (West) return 9120; - else return 9121; - else - if (West) return 9122; - else return 9123; - else - if (Up) - if (West) return 9124; - else return 9125; - else - if (West) return 9126; - else return 9127; - } - BlockState ChorusPlant(); - bool Down(BlockState Block); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool Up(BlockState Block); - bool West(BlockState Block); - } - namespace Clay - { - constexpr BlockState Clay() - { - return 3947; - } - } - namespace CoalBlock - { - constexpr BlockState CoalBlock() - { - return 7883; - } - } - namespace CoalOre - { - constexpr BlockState CoalOre() - { - return 71; - } - } - namespace CoarseDirt - { - constexpr BlockState CoarseDirt() - { - return 11; - } - } - namespace Cobblestone - { - constexpr BlockState Cobblestone() - { - return 14; - } - } - namespace CobblestoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState CobblestoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 8367; - else if (Type == Type::Bottom) return 8369; - else return 8371; - } - BlockState CobblestoneSlab(); - enum Type Type(BlockState Block); - } - namespace CobblestoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState CobblestoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 3656; - else if (Shape == Shape::InnerLeft) return 3658; - else if (Shape == Shape::InnerRight) return 3660; - else if (Shape == Shape::OuterLeft) return 3662; - else return 3664; - else - if (Shape == Shape::Straight) return 3666; - else if (Shape == Shape::InnerLeft) return 3668; - else if (Shape == Shape::InnerRight) return 3670; - else if (Shape == Shape::OuterLeft) return 3672; - else return 3674; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 3676; - else if (Shape == Shape::InnerLeft) return 3678; - else if (Shape == Shape::InnerRight) return 3680; - else if (Shape == Shape::OuterLeft) return 3682; - else return 3684; - else - if (Shape == Shape::Straight) return 3686; - else if (Shape == Shape::InnerLeft) return 3688; - else if (Shape == Shape::InnerRight) return 3690; - else if (Shape == Shape::OuterLeft) return 3692; - else return 3694; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 3696; - else if (Shape == Shape::InnerLeft) return 3698; - else if (Shape == Shape::InnerRight) return 3700; - else if (Shape == Shape::OuterLeft) return 3702; - else return 3704; - else - if (Shape == Shape::Straight) return 3706; - else if (Shape == Shape::InnerLeft) return 3708; - else if (Shape == Shape::InnerRight) return 3710; - else if (Shape == Shape::OuterLeft) return 3712; - else return 3714; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 3716; - else if (Shape == Shape::InnerLeft) return 3718; - else if (Shape == Shape::InnerRight) return 3720; - else if (Shape == Shape::OuterLeft) return 3722; - else return 3724; - else - if (Shape == Shape::Straight) return 3726; - else if (Shape == Shape::InnerLeft) return 3728; - else if (Shape == Shape::InnerRight) return 3730; - else if (Shape == Shape::OuterLeft) return 3732; - else return 3734; - } - BlockState CobblestoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace CobblestoneWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState CobblestoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 5660; - else if (West == West::Low) return 5661; - else return 5662; - else - if (West == West::None) return 5666; - else if (West == West::Low) return 5667; - else return 5668; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5672; - else if (West == West::Low) return 5673; - else return 5674; - else - if (West == West::None) return 5678; - else if (West == West::Low) return 5679; - else return 5680; - else - if (Up) - if (West == West::None) return 5684; - else if (West == West::Low) return 5685; - else return 5686; - else - if (West == West::None) return 5690; - else if (West == West::Low) return 5691; - else return 5692; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 5696; - else if (West == West::Low) return 5697; - else return 5698; - else - if (West == West::None) return 5702; - else if (West == West::Low) return 5703; - else return 5704; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5708; - else if (West == West::Low) return 5709; - else return 5710; - else - if (West == West::None) return 5714; - else if (West == West::Low) return 5715; - else return 5716; - else - if (Up) - if (West == West::None) return 5720; - else if (West == West::Low) return 5721; - else return 5722; - else - if (West == West::None) return 5726; - else if (West == West::Low) return 5727; - else return 5728; - else - if (South == South::None) - if (Up) - if (West == West::None) return 5732; - else if (West == West::Low) return 5733; - else return 5734; - else - if (West == West::None) return 5738; - else if (West == West::Low) return 5739; - else return 5740; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5744; - else if (West == West::Low) return 5745; - else return 5746; - else - if (West == West::None) return 5750; - else if (West == West::Low) return 5751; - else return 5752; - else - if (Up) - if (West == West::None) return 5756; - else if (West == West::Low) return 5757; - else return 5758; - else - if (West == West::None) return 5762; - else if (West == West::Low) return 5763; - else return 5764; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 5768; - else if (West == West::Low) return 5769; - else return 5770; - else - if (West == West::None) return 5774; - else if (West == West::Low) return 5775; - else return 5776; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5780; - else if (West == West::Low) return 5781; - else return 5782; - else - if (West == West::None) return 5786; - else if (West == West::Low) return 5787; - else return 5788; - else - if (Up) - if (West == West::None) return 5792; - else if (West == West::Low) return 5793; - else return 5794; - else - if (West == West::None) return 5798; - else if (West == West::Low) return 5799; - else return 5800; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 5804; - else if (West == West::Low) return 5805; - else return 5806; - else - if (West == West::None) return 5810; - else if (West == West::Low) return 5811; - else return 5812; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5816; - else if (West == West::Low) return 5817; - else return 5818; - else - if (West == West::None) return 5822; - else if (West == West::Low) return 5823; - else return 5824; - else - if (Up) - if (West == West::None) return 5828; - else if (West == West::Low) return 5829; - else return 5830; - else - if (West == West::None) return 5834; - else if (West == West::Low) return 5835; - else return 5836; - else - if (South == South::None) - if (Up) - if (West == West::None) return 5840; - else if (West == West::Low) return 5841; - else return 5842; - else - if (West == West::None) return 5846; - else if (West == West::Low) return 5847; - else return 5848; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5852; - else if (West == West::Low) return 5853; - else return 5854; - else - if (West == West::None) return 5858; - else if (West == West::Low) return 5859; - else return 5860; - else - if (Up) - if (West == West::None) return 5864; - else if (West == West::Low) return 5865; - else return 5866; - else - if (West == West::None) return 5870; - else if (West == West::Low) return 5871; - else return 5872; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 5876; - else if (West == West::Low) return 5877; - else return 5878; - else - if (West == West::None) return 5882; - else if (West == West::Low) return 5883; - else return 5884; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5888; - else if (West == West::Low) return 5889; - else return 5890; - else - if (West == West::None) return 5894; - else if (West == West::Low) return 5895; - else return 5896; - else - if (Up) - if (West == West::None) return 5900; - else if (West == West::Low) return 5901; - else return 5902; - else - if (West == West::None) return 5906; - else if (West == West::Low) return 5907; - else return 5908; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 5912; - else if (West == West::Low) return 5913; - else return 5914; - else - if (West == West::None) return 5918; - else if (West == West::Low) return 5919; - else return 5920; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5924; - else if (West == West::Low) return 5925; - else return 5926; - else - if (West == West::None) return 5930; - else if (West == West::Low) return 5931; - else return 5932; - else - if (Up) - if (West == West::None) return 5936; - else if (West == West::Low) return 5937; - else return 5938; - else - if (West == West::None) return 5942; - else if (West == West::Low) return 5943; - else return 5944; - else - if (South == South::None) - if (Up) - if (West == West::None) return 5948; - else if (West == West::Low) return 5949; - else return 5950; - else - if (West == West::None) return 5954; - else if (West == West::Low) return 5955; - else return 5956; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5960; - else if (West == West::Low) return 5961; - else return 5962; - else - if (West == West::None) return 5966; - else if (West == West::Low) return 5967; - else return 5968; - else - if (Up) - if (West == West::None) return 5972; - else if (West == West::Low) return 5973; - else return 5974; - else - if (West == West::None) return 5978; - else if (West == West::Low) return 5979; - else return 5980; - } - BlockState CobblestoneWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace Cobweb - { - constexpr BlockState Cobweb() - { - return 1341; - } - } - namespace Cocoa - { - constexpr BlockState Cocoa(const unsigned char Age, const eBlockFace Facing) - { - if (Age == 0) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5158; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5159; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5160; - else return 5161; - else if (Age == 1) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5162; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5163; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5164; - else return 5165; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5166; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5167; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5168; - else return 5169; - } - BlockState Cocoa(); - unsigned char Age(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace CommandBlock - { - constexpr BlockState CommandBlock(const bool Conditional, const eBlockFace Facing) - { - if (Conditional) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5644; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 5645; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5646; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5647; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 5648; - else return 5649; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5650; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 5651; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5652; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5653; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 5654; - else return 5655; - } - BlockState CommandBlock(); - bool Conditional(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace Comparator - { - enum class Mode - { - Compare, - Subtract - }; - constexpr BlockState Comparator(const eBlockFace Facing, const enum Mode Mode, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Mode == Mode::Compare) - if (Powered) return 6678; - else return 6679; - else - if (Powered) return 6680; - else return 6681; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Mode == Mode::Compare) - if (Powered) return 6682; - else return 6683; - else - if (Powered) return 6684; - else return 6685; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Mode == Mode::Compare) - if (Powered) return 6686; - else return 6687; - else - if (Powered) return 6688; - else return 6689; - else - if (Mode == Mode::Compare) - if (Powered) return 6690; - else return 6691; - else - if (Powered) return 6692; - else return 6693; - } - BlockState Comparator(); - eBlockFace Facing(BlockState Block); - enum Mode Mode(BlockState Block); - bool Powered(BlockState Block); - } - namespace Composter - { - constexpr BlockState Composter(const unsigned char Level) - { - if (Level == 0) return 15751; - else if (Level == 1) return 15752; - else if (Level == 2) return 15753; - else if (Level == 3) return 15754; - else if (Level == 4) return 15755; - else if (Level == 5) return 15756; - else if (Level == 6) return 15757; - else if (Level == 7) return 15758; - else return 15759; - } - BlockState Composter(); - unsigned char Level(BlockState Block); - } - namespace Conduit - { - constexpr BlockState Conduit() - { - return 9650; - } - } - namespace Cornflower - { - constexpr BlockState Cornflower() - { - return 1422; - } - } - namespace CrackedNetherBricks - { - constexpr BlockState CrackedNetherBricks() - { - return 17102; - } - } - namespace CrackedPolishedBlackstoneBricks - { - constexpr BlockState CrackedPolishedBlackstoneBricks() - { - return 16252; - } - } - namespace CrackedStoneBricks - { - constexpr BlockState CrackedStoneBricks() - { - return 4497; - } - } - namespace CraftingTable - { - constexpr BlockState CraftingTable() - { - return 3356; - } - } - namespace CreeperHead - { - constexpr BlockState CreeperHead(const unsigned char Rotation) - { - if (Rotation == 0) return 6570; - else if (Rotation == 1) return 6571; - else if (Rotation == 2) return 6572; - else if (Rotation == 3) return 6573; - else if (Rotation == 4) return 6574; - else if (Rotation == 5) return 6575; - else if (Rotation == 6) return 6576; - else if (Rotation == 7) return 6577; - else if (Rotation == 8) return 6578; - else if (Rotation == 9) return 6579; - else if (Rotation == 10) return 6580; - else if (Rotation == 11) return 6581; - else if (Rotation == 12) return 6582; - else if (Rotation == 13) return 6583; - else if (Rotation == 14) return 6584; - else return 6585; - } - BlockState CreeperHead(); - unsigned char Rotation(BlockState Block); - } - namespace CreeperWallHead - { - constexpr BlockState CreeperWallHead(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6586; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6587; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6588; - else return 6589; - } - BlockState CreeperWallHead(); - eBlockFace Facing(BlockState Block); - } - namespace CrimsonButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState CrimsonButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 15479; - else return 15480; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 15481; - else return 15482; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 15483; - else return 15484; - else - if (Powered) return 15485; - else return 15486; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 15487; - else return 15488; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 15489; - else return 15490; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 15491; - else return 15492; - else - if (Powered) return 15493; - else return 15494; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 15495; - else return 15496; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 15497; - else return 15498; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 15499; - else return 15500; - else - if (Powered) return 15501; - else return 15502; - } - BlockState CrimsonButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace CrimsonDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState CrimsonDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15527; - else return 15528; - else - if (Powered) return 15529; - else return 15530; - else - if (Open) - if (Powered) return 15531; - else return 15532; - else - if (Powered) return 15533; - else return 15534; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15535; - else return 15536; - else - if (Powered) return 15537; - else return 15538; - else - if (Open) - if (Powered) return 15539; - else return 15540; - else - if (Powered) return 15541; - else return 15542; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15543; - else return 15544; - else - if (Powered) return 15545; - else return 15546; - else - if (Open) - if (Powered) return 15547; - else return 15548; - else - if (Powered) return 15549; - else return 15550; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15551; - else return 15552; - else - if (Powered) return 15553; - else return 15554; - else - if (Open) - if (Powered) return 15555; - else return 15556; - else - if (Powered) return 15557; - else return 15558; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15559; - else return 15560; - else - if (Powered) return 15561; - else return 15562; - else - if (Open) - if (Powered) return 15563; - else return 15564; - else - if (Powered) return 15565; - else return 15566; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15567; - else return 15568; - else - if (Powered) return 15569; - else return 15570; - else - if (Open) - if (Powered) return 15571; - else return 15572; - else - if (Powered) return 15573; - else return 15574; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15575; - else return 15576; - else - if (Powered) return 15577; - else return 15578; - else - if (Open) - if (Powered) return 15579; - else return 15580; - else - if (Powered) return 15581; - else return 15582; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15583; - else return 15584; - else - if (Powered) return 15585; - else return 15586; - else - if (Open) - if (Powered) return 15587; - else return 15588; - else - if (Powered) return 15589; - else return 15590; - } - BlockState CrimsonDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace CrimsonFence - { - constexpr BlockState CrimsonFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 15065; - else return 15066; - else - if (West) return 15069; - else return 15070; - else - if (South) - if (West) return 15073; - else return 15074; - else - if (West) return 15077; - else return 15078; + return 8937; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8938; + else + return 8939; + else if (Powered) + return 8940; else - if (North) - if (South) - if (West) return 15081; - else return 15082; - else - if (West) return 15085; - else return 15086; - else - if (South) - if (West) return 15089; - else return 15090; - else - if (West) return 15093; - else return 15094; - } - BlockState CrimsonFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace CrimsonFenceGate - { - constexpr BlockState CrimsonFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (InWall) - if (Open) - if (Powered) return 15255; - else return 15256; - else - if (Powered) return 15257; - else return 15258; - else - if (Open) - if (Powered) return 15259; - else return 15260; - else - if (Powered) return 15261; - else return 15262; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (InWall) - if (Open) - if (Powered) return 15263; - else return 15264; - else - if (Powered) return 15265; - else return 15266; - else - if (Open) - if (Powered) return 15267; - else return 15268; - else - if (Powered) return 15269; - else return 15270; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (InWall) - if (Open) - if (Powered) return 15271; - else return 15272; - else - if (Powered) return 15273; - else return 15274; - else - if (Open) - if (Powered) return 15275; - else return 15276; - else - if (Powered) return 15277; - else return 15278; - else - if (InWall) - if (Open) - if (Powered) return 15279; - else return 15280; - else - if (Powered) return 15281; - else return 15282; - else - if (Open) - if (Powered) return 15283; - else return 15284; - else - if (Powered) return 15285; - else return 15286; - } - BlockState CrimsonFenceGate(); - eBlockFace Facing(BlockState Block); - bool InWall(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace CrimsonFungus - { - constexpr BlockState CrimsonFungus() - { - return 14988; - } - } - namespace CrimsonHyphae - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState CrimsonHyphae(const enum Axis Axis) - { - if (Axis == Axis::X) return 14981; - else if (Axis == Axis::Y) return 14982; - else return 14983; - } - BlockState CrimsonHyphae(); - enum Axis Axis(BlockState Block); - } - namespace CrimsonNylium - { - constexpr BlockState CrimsonNylium() - { - return 14987; - } - } - namespace CrimsonPlanks - { - constexpr BlockState CrimsonPlanks() - { - return 15045; - } - } - namespace CrimsonPressurePlate - { - constexpr BlockState CrimsonPressurePlate(const bool Powered) - { - if (Powered) return 15059; - else return 15060; - } - BlockState CrimsonPressurePlate(); - bool Powered(BlockState Block); - } - namespace CrimsonRoots - { - constexpr BlockState CrimsonRoots() - { - return 15044; - } - } - namespace CrimsonSign - { - constexpr BlockState CrimsonSign(const unsigned char Rotation) - { - if (Rotation == 0) return 15656; - else if (Rotation == 1) return 15658; - else if (Rotation == 2) return 15660; - else if (Rotation == 3) return 15662; - else if (Rotation == 4) return 15664; - else if (Rotation == 5) return 15666; - else if (Rotation == 6) return 15668; - else if (Rotation == 7) return 15670; - else if (Rotation == 8) return 15672; - else if (Rotation == 9) return 15674; - else if (Rotation == 10) return 15676; - else if (Rotation == 11) return 15678; - else if (Rotation == 12) return 15680; - else if (Rotation == 13) return 15682; - else if (Rotation == 14) return 15684; - else return 15686; - } - BlockState CrimsonSign(); - unsigned char Rotation(BlockState Block); - } - namespace CrimsonSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState CrimsonSlab(const enum Type Type) - { - if (Type == Type::Top) return 15048; - else if (Type == Type::Bottom) return 15050; - else return 15052; - } - BlockState CrimsonSlab(); - enum Type Type(BlockState Block); - } - namespace CrimsonStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState CrimsonStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15320; - else if (Shape == Shape::InnerLeft) return 15322; - else if (Shape == Shape::InnerRight) return 15324; - else if (Shape == Shape::OuterLeft) return 15326; - else return 15328; - else - if (Shape == Shape::Straight) return 15330; - else if (Shape == Shape::InnerLeft) return 15332; - else if (Shape == Shape::InnerRight) return 15334; - else if (Shape == Shape::OuterLeft) return 15336; - else return 15338; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15340; - else if (Shape == Shape::InnerLeft) return 15342; - else if (Shape == Shape::InnerRight) return 15344; - else if (Shape == Shape::OuterLeft) return 15346; - else return 15348; - else - if (Shape == Shape::Straight) return 15350; - else if (Shape == Shape::InnerLeft) return 15352; - else if (Shape == Shape::InnerRight) return 15354; - else if (Shape == Shape::OuterLeft) return 15356; - else return 15358; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15360; - else if (Shape == Shape::InnerLeft) return 15362; - else if (Shape == Shape::InnerRight) return 15364; - else if (Shape == Shape::OuterLeft) return 15366; - else return 15368; - else - if (Shape == Shape::Straight) return 15370; - else if (Shape == Shape::InnerLeft) return 15372; - else if (Shape == Shape::InnerRight) return 15374; - else if (Shape == Shape::OuterLeft) return 15376; - else return 15378; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15380; - else if (Shape == Shape::InnerLeft) return 15382; - else if (Shape == Shape::InnerRight) return 15384; - else if (Shape == Shape::OuterLeft) return 15386; - else return 15388; - else - if (Shape == Shape::Straight) return 15390; - else if (Shape == Shape::InnerLeft) return 15392; - else if (Shape == Shape::InnerRight) return 15394; - else if (Shape == Shape::OuterLeft) return 15396; - else return 15398; - } - BlockState CrimsonStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace CrimsonStem - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState CrimsonStem(const enum Axis Axis) - { - if (Axis == Axis::X) return 14975; - else if (Axis == Axis::Y) return 14976; - else return 14977; - } - BlockState CrimsonStem(); - enum Axis Axis(BlockState Block); - } - namespace CrimsonTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState CrimsonTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 15128; - else return 15130; - else - if (Powered) return 15132; - else return 15134; - else - if (Open) - if (Powered) return 15136; - else return 15138; - else - if (Powered) return 15140; - else return 15142; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 15144; - else return 15146; - else - if (Powered) return 15148; - else return 15150; - else - if (Open) - if (Powered) return 15152; - else return 15154; - else - if (Powered) return 15156; - else return 15158; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 15160; - else return 15162; - else - if (Powered) return 15164; - else return 15166; - else - if (Open) - if (Powered) return 15168; - else return 15170; - else - if (Powered) return 15172; - else return 15174; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 15176; - else return 15178; - else - if (Powered) return 15180; - else return 15182; - else - if (Open) - if (Powered) return 15184; - else return 15186; - else - if (Powered) return 15188; - else return 15190; - } - BlockState CrimsonTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace CrimsonWallSign - { - constexpr BlockState CrimsonWallSign(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 15720; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 15722; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 15724; - else return 15726; - } - BlockState CrimsonWallSign(); - eBlockFace Facing(BlockState Block); - } - namespace CryingObsidian - { - constexpr BlockState CryingObsidian() - { - return 15828; - } - } - namespace CutRedSandstone - { - constexpr BlockState CutRedSandstone() - { - return 8219; - } - } - namespace CutRedSandstoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState CutRedSandstoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 8403; - else if (Type == Type::Bottom) return 8405; - else return 8407; - } - BlockState CutRedSandstoneSlab(); - enum Type Type(BlockState Block); - } - namespace CutSandstone - { - constexpr BlockState CutSandstone() - { - return 248; - } - } - namespace CutSandstoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState CutSandstoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 8355; - else if (Type == Type::Bottom) return 8357; - else return 8359; - } - BlockState CutSandstoneSlab(); - enum Type Type(BlockState Block); - } - namespace CyanBanner - { - constexpr BlockState CyanBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8041; - else if (Rotation == 1) return 8042; - else if (Rotation == 2) return 8043; - else if (Rotation == 3) return 8044; - else if (Rotation == 4) return 8045; - else if (Rotation == 5) return 8046; - else if (Rotation == 6) return 8047; - else if (Rotation == 7) return 8048; - else if (Rotation == 8) return 8049; - else if (Rotation == 9) return 8050; - else if (Rotation == 10) return 8051; - else if (Rotation == 11) return 8052; - else if (Rotation == 12) return 8053; - else if (Rotation == 13) return 8054; - else if (Rotation == 14) return 8055; - else return 8056; - } - BlockState CyanBanner(); - unsigned char Rotation(BlockState Block); - } - namespace CyanBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState CyanBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1193; - else return 1194; - else - if (Part == Part::Head) return 1195; - else return 1196; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1197; - else return 1198; - else - if (Part == Part::Head) return 1199; - else return 1200; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1201; - else return 1202; - else - if (Part == Part::Head) return 1203; - else return 1204; - else - if (Occupied) - if (Part == Part::Head) return 1205; - else return 1206; - else - if (Part == Part::Head) return 1207; - else return 1208; - } - BlockState CyanBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace CyanCarpet - { - constexpr BlockState CyanCarpet() - { - return 7875; - } - } - namespace CyanConcrete - { - constexpr BlockState CyanConcrete() - { - return 9447; - } - } - namespace CyanConcretePowder - { - constexpr BlockState CyanConcretePowder() - { - return 9463; - } - } - namespace CyanGlazedTerracotta - { - constexpr BlockState CyanGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9410; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9411; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9412; - else return 9413; - } - BlockState CyanGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace CyanShulkerBox - { - constexpr BlockState CyanShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9332; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9333; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9334; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9335; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9336; - else return 9337; - } - BlockState CyanShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace CyanStainedGlass - { - constexpr BlockState CyanStainedGlass() - { - return 4104; - } - } - namespace CyanStainedGlassPane - { - constexpr BlockState CyanStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7153; - else return 7154; - else - if (West) return 7157; - else return 7158; - else - if (South) - if (West) return 7161; - else return 7162; - else - if (West) return 7165; - else return 7166; + return 8941; + else if (Open) + if (Powered) + return 8942; else - if (North) - if (South) - if (West) return 7169; - else return 7170; - else - if (West) return 7173; - else return 7174; - else - if (South) - if (West) return 7177; - else return 7178; - else - if (West) return 7181; - else return 7182; - } - BlockState CyanStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace CyanTerracotta - { - constexpr BlockState CyanTerracotta() - { - return 6856; - } - } - namespace CyanWallBanner - { - constexpr BlockState CyanWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8189; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8190; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8191; - else return 8192; - } - BlockState CyanWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace CyanWool - { - constexpr BlockState CyanWool() - { - return 1393; - } - } - namespace DamagedAnvil - { - constexpr BlockState DamagedAnvil(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6618; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6619; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6620; - else return 6621; - } - BlockState DamagedAnvil(); - eBlockFace Facing(BlockState Block); - } - namespace Dandelion - { - constexpr BlockState Dandelion() - { - return 1412; - } - } - namespace DarkOakButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState DarkOakButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6466; - else return 6467; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6468; - else return 6469; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6470; - else return 6471; - else - if (Powered) return 6472; - else return 6473; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6474; - else return 6475; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6476; - else return 6477; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6478; - else return 6479; - else - if (Powered) return 6480; - else return 6481; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6482; - else return 6483; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6484; - else return 6485; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6486; - else return 6487; - else - if (Powered) return 6488; - else return 6489; - } - BlockState DarkOakButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace DarkOakDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState DarkOakDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8994; - else return 8995; - else - if (Powered) return 8996; - else return 8997; - else - if (Open) - if (Powered) return 8998; - else return 8999; - else - if (Powered) return 9000; - else return 9001; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 9002; - else return 9003; - else - if (Powered) return 9004; - else return 9005; - else - if (Open) - if (Powered) return 9006; - else return 9007; - else - if (Powered) return 9008; - else return 9009; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 9010; - else return 9011; - else - if (Powered) return 9012; - else return 9013; - else - if (Open) - if (Powered) return 9014; - else return 9015; - else - if (Powered) return 9016; - else return 9017; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 9018; - else return 9019; - else - if (Powered) return 9020; - else return 9021; - else - if (Open) - if (Powered) return 9022; - else return 9023; - else - if (Powered) return 9024; - else return 9025; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 9026; - else return 9027; - else - if (Powered) return 9028; - else return 9029; - else - if (Open) - if (Powered) return 9030; - else return 9031; - else - if (Powered) return 9032; - else return 9033; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 9034; - else return 9035; - else - if (Powered) return 9036; - else return 9037; - else - if (Open) - if (Powered) return 9038; - else return 9039; - else - if (Powered) return 9040; - else return 9041; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 9042; - else return 9043; - else - if (Powered) return 9044; - else return 9045; - else - if (Open) - if (Powered) return 9046; - else return 9047; - else - if (Powered) return 9048; - else return 9049; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 9050; - else return 9051; - else - if (Powered) return 9052; - else return 9053; - else - if (Open) - if (Powered) return 9054; - else return 9055; - else - if (Powered) return 9056; - else return 9057; - } - BlockState DarkOakDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace DarkOakFence - { - constexpr BlockState DarkOakFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 8708; - else return 8709; - else - if (West) return 8712; - else return 8713; - else - if (South) - if (West) return 8716; - else return 8717; - else - if (West) return 8720; - else return 8721; + return 8943; + else if (Powered) + return 8944; + else + return 8945; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8946; + else + return 8947; + else if (Powered) + return 8948; + else + return 8949; + else if (Open) + if (Powered) + return 8950; + else + return 8951; + else if (Powered) + return 8952; else - if (North) - if (South) - if (West) return 8724; - else return 8725; - else - if (West) return 8728; - else return 8729; - else - if (South) - if (West) return 8732; - else return 8733; - else - if (West) return 8736; - else return 8737; - } - BlockState DarkOakFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace DarkOakFenceGate - { - constexpr BlockState DarkOakFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (InWall) - if (Open) - if (Powered) return 8546; - else return 8547; - else - if (Powered) return 8548; - else return 8549; - else - if (Open) - if (Powered) return 8550; - else return 8551; - else - if (Powered) return 8552; - else return 8553; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (InWall) - if (Open) - if (Powered) return 8554; - else return 8555; - else - if (Powered) return 8556; - else return 8557; - else - if (Open) - if (Powered) return 8558; - else return 8559; - else - if (Powered) return 8560; - else return 8561; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (InWall) - if (Open) - if (Powered) return 8562; - else return 8563; - else - if (Powered) return 8564; - else return 8565; - else - if (Open) - if (Powered) return 8566; - else return 8567; - else - if (Powered) return 8568; - else return 8569; - else - if (InWall) - if (Open) - if (Powered) return 8570; - else return 8571; - else - if (Powered) return 8572; - else return 8573; - else - if (Open) - if (Powered) return 8574; - else return 8575; - else - if (Powered) return 8576; - else return 8577; - } - BlockState DarkOakFenceGate(); - eBlockFace Facing(BlockState Block); - bool InWall(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace DarkOakLeaves - { - constexpr BlockState DarkOakLeaves(const unsigned char Distance, const bool Persistent) - { - if (Distance == 1) - if (Persistent) return 215; - else return 216; - else if (Distance == 2) - if (Persistent) return 217; - else return 218; - else if (Distance == 3) - if (Persistent) return 219; - else return 220; - else if (Distance == 4) - if (Persistent) return 221; - else return 222; - else if (Distance == 5) - if (Persistent) return 223; - else return 224; - else if (Distance == 6) - if (Persistent) return 225; - else return 226; - else - if (Persistent) return 227; - else return 228; - } - BlockState DarkOakLeaves(); - unsigned char Distance(BlockState Block); - bool Persistent(BlockState Block); - } - namespace DarkOakLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState DarkOakLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 88; - else if (Axis == Axis::Y) return 89; - else return 90; - } - BlockState DarkOakLog(); - enum Axis Axis(BlockState Block); - } - namespace DarkOakPlanks - { - constexpr BlockState DarkOakPlanks() - { - return 20; - } - } - namespace DarkOakPressurePlate - { - constexpr BlockState DarkOakPressurePlate(const bool Powered) - { - if (Powered) return 3883; - else return 3884; - } - BlockState DarkOakPressurePlate(); - bool Powered(BlockState Block); - } - namespace DarkOakSapling - { - constexpr BlockState DarkOakSapling(const unsigned char Stage) - { - if (Stage == 0) return 31; - else return 32; - } - BlockState DarkOakSapling(); - unsigned char Stage(BlockState Block); - } - namespace DarkOakSign - { - constexpr BlockState DarkOakSign(const unsigned char Rotation) - { - if (Rotation == 0) return 3542; - else if (Rotation == 1) return 3544; - else if (Rotation == 2) return 3546; - else if (Rotation == 3) return 3548; - else if (Rotation == 4) return 3550; - else if (Rotation == 5) return 3552; - else if (Rotation == 6) return 3554; - else if (Rotation == 7) return 3556; - else if (Rotation == 8) return 3558; - else if (Rotation == 9) return 3560; - else if (Rotation == 10) return 3562; - else if (Rotation == 11) return 3564; - else if (Rotation == 12) return 3566; - else if (Rotation == 13) return 3568; - else if (Rotation == 14) return 3570; - else return 3572; - } - BlockState DarkOakSign(); - unsigned char Rotation(BlockState Block); - } - namespace DarkOakSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState DarkOakSlab(const enum Type Type) - { - if (Type == Type::Top) return 8331; - else if (Type == Type::Bottom) return 8333; - else return 8335; - } - BlockState DarkOakSlab(); - enum Type Type(BlockState Block); - } - namespace DarkOakStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState DarkOakStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7456; - else if (Shape == Shape::InnerLeft) return 7458; - else if (Shape == Shape::InnerRight) return 7460; - else if (Shape == Shape::OuterLeft) return 7462; - else return 7464; - else - if (Shape == Shape::Straight) return 7466; - else if (Shape == Shape::InnerLeft) return 7468; - else if (Shape == Shape::InnerRight) return 7470; - else if (Shape == Shape::OuterLeft) return 7472; - else return 7474; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7476; - else if (Shape == Shape::InnerLeft) return 7478; - else if (Shape == Shape::InnerRight) return 7480; - else if (Shape == Shape::OuterLeft) return 7482; - else return 7484; - else - if (Shape == Shape::Straight) return 7486; - else if (Shape == Shape::InnerLeft) return 7488; - else if (Shape == Shape::InnerRight) return 7490; - else if (Shape == Shape::OuterLeft) return 7492; - else return 7494; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7496; - else if (Shape == Shape::InnerLeft) return 7498; - else if (Shape == Shape::InnerRight) return 7500; - else if (Shape == Shape::OuterLeft) return 7502; - else return 7504; - else - if (Shape == Shape::Straight) return 7506; - else if (Shape == Shape::InnerLeft) return 7508; - else if (Shape == Shape::InnerRight) return 7510; - else if (Shape == Shape::OuterLeft) return 7512; - else return 7514; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7516; - else if (Shape == Shape::InnerLeft) return 7518; - else if (Shape == Shape::InnerRight) return 7520; - else if (Shape == Shape::OuterLeft) return 7522; - else return 7524; - else - if (Shape == Shape::Straight) return 7526; - else if (Shape == Shape::InnerLeft) return 7528; - else if (Shape == Shape::InnerRight) return 7530; - else if (Shape == Shape::OuterLeft) return 7532; - else return 7534; - } - BlockState DarkOakStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace DarkOakTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState DarkOakTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4432; - else return 4434; - else - if (Powered) return 4436; - else return 4438; - else - if (Open) - if (Powered) return 4440; - else return 4442; - else - if (Powered) return 4444; - else return 4446; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 4448; - else return 4450; - else - if (Powered) return 4452; - else return 4454; - else - if (Open) - if (Powered) return 4456; - else return 4458; - else - if (Powered) return 4460; - else return 4462; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4464; - else return 4466; - else - if (Powered) return 4468; - else return 4470; - else - if (Open) - if (Powered) return 4472; - else return 4474; - else - if (Powered) return 4476; - else return 4478; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 4480; - else return 4482; - else - if (Powered) return 4484; - else return 4486; - else - if (Open) - if (Powered) return 4488; - else return 4490; - else - if (Powered) return 4492; - else return 4494; - } - BlockState DarkOakTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace DarkOakWallSign - { - constexpr BlockState DarkOakWallSign(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3776; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3778; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3780; - else return 3782; - } - BlockState DarkOakWallSign(); - eBlockFace Facing(BlockState Block); - } - namespace DarkOakWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState DarkOakWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 124; - else if (Axis == Axis::Y) return 125; - else return 126; - } - BlockState DarkOakWood(); - enum Axis Axis(BlockState Block); - } - namespace DarkPrismarine - { - constexpr BlockState DarkPrismarine() - { - return 7603; - } - } - namespace DarkPrismarineSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState DarkPrismarineSlab(const enum Type Type) - { - if (Type == Type::Top) return 7857; - else if (Type == Type::Bottom) return 7859; - else return 7861; - } - BlockState DarkPrismarineSlab(); - enum Type Type(BlockState Block); - } - namespace DarkPrismarineStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState DarkPrismarineStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7765; - else if (Shape == Shape::InnerLeft) return 7767; - else if (Shape == Shape::InnerRight) return 7769; - else if (Shape == Shape::OuterLeft) return 7771; - else return 7773; - else - if (Shape == Shape::Straight) return 7775; - else if (Shape == Shape::InnerLeft) return 7777; - else if (Shape == Shape::InnerRight) return 7779; - else if (Shape == Shape::OuterLeft) return 7781; - else return 7783; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7785; - else if (Shape == Shape::InnerLeft) return 7787; - else if (Shape == Shape::InnerRight) return 7789; - else if (Shape == Shape::OuterLeft) return 7791; - else return 7793; - else - if (Shape == Shape::Straight) return 7795; - else if (Shape == Shape::InnerLeft) return 7797; - else if (Shape == Shape::InnerRight) return 7799; - else if (Shape == Shape::OuterLeft) return 7801; - else return 7803; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7805; - else if (Shape == Shape::InnerLeft) return 7807; - else if (Shape == Shape::InnerRight) return 7809; - else if (Shape == Shape::OuterLeft) return 7811; - else return 7813; - else - if (Shape == Shape::Straight) return 7815; - else if (Shape == Shape::InnerLeft) return 7817; - else if (Shape == Shape::InnerRight) return 7819; - else if (Shape == Shape::OuterLeft) return 7821; - else return 7823; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7825; - else if (Shape == Shape::InnerLeft) return 7827; - else if (Shape == Shape::InnerRight) return 7829; - else if (Shape == Shape::OuterLeft) return 7831; - else return 7833; - else - if (Shape == Shape::Straight) return 7835; - else if (Shape == Shape::InnerLeft) return 7837; - else if (Shape == Shape::InnerRight) return 7839; - else if (Shape == Shape::OuterLeft) return 7841; - else return 7843; - } - BlockState DarkPrismarineStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace DaylightDetector - { - constexpr BlockState DaylightDetector(const bool Inverted, const unsigned char Power) - { - if (Inverted) - if (Power == 0) return 6694; - else if (Power == 1) return 6695; - else if (Power == 2) return 6696; - else if (Power == 3) return 6697; - else if (Power == 4) return 6698; - else if (Power == 5) return 6699; - else if (Power == 6) return 6700; - else if (Power == 7) return 6701; - else if (Power == 8) return 6702; - else if (Power == 9) return 6703; - else if (Power == 10) return 6704; - else if (Power == 11) return 6705; - else if (Power == 12) return 6706; - else if (Power == 13) return 6707; - else if (Power == 14) return 6708; - else return 6709; - else - if (Power == 0) return 6710; - else if (Power == 1) return 6711; - else if (Power == 2) return 6712; - else if (Power == 3) return 6713; - else if (Power == 4) return 6714; - else if (Power == 5) return 6715; - else if (Power == 6) return 6716; - else if (Power == 7) return 6717; - else if (Power == 8) return 6718; - else if (Power == 9) return 6719; - else if (Power == 10) return 6720; - else if (Power == 11) return 6721; - else if (Power == 12) return 6722; - else if (Power == 13) return 6723; - else if (Power == 14) return 6724; - else return 6725; - } - BlockState DaylightDetector(); - bool Inverted(BlockState Block); - unsigned char Power(BlockState Block); - } - namespace DeadBrainCoral - { - constexpr BlockState DeadBrainCoral() - { - return 9523; - } - } - namespace DeadBrainCoralBlock - { - constexpr BlockState DeadBrainCoralBlock() - { - return 9511; - } - } - namespace DeadBrainCoralFan - { - constexpr BlockState DeadBrainCoralFan() - { - return 9543; - } - } - namespace DeadBrainCoralWallFan - { - constexpr BlockState DeadBrainCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9569; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9571; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9573; - else return 9575; - } - BlockState DeadBrainCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace DeadBubbleCoral - { - constexpr BlockState DeadBubbleCoral() - { - return 9525; - } - } - namespace DeadBubbleCoralBlock - { - constexpr BlockState DeadBubbleCoralBlock() - { - return 9512; - } - } - namespace DeadBubbleCoralFan - { - constexpr BlockState DeadBubbleCoralFan() - { - return 9545; - } - } - namespace DeadBubbleCoralWallFan - { - constexpr BlockState DeadBubbleCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9577; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9579; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9581; - else return 9583; - } - BlockState DeadBubbleCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace DeadBush - { - constexpr BlockState DeadBush() - { - return 1344; - } - } - namespace DeadFireCoral - { - constexpr BlockState DeadFireCoral() - { - return 9527; - } - } - namespace DeadFireCoralBlock - { - constexpr BlockState DeadFireCoralBlock() - { - return 9513; - } - } - namespace DeadFireCoralFan - { - constexpr BlockState DeadFireCoralFan() - { - return 9547; - } - } - namespace DeadFireCoralWallFan - { - constexpr BlockState DeadFireCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9585; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9587; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9589; - else return 9591; - } - BlockState DeadFireCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace DeadHornCoral - { - constexpr BlockState DeadHornCoral() - { - return 9529; - } - } - namespace DeadHornCoralBlock - { - constexpr BlockState DeadHornCoralBlock() - { - return 9514; - } - } - namespace DeadHornCoralFan - { - constexpr BlockState DeadHornCoralFan() - { - return 9549; - } - } - namespace DeadHornCoralWallFan - { - constexpr BlockState DeadHornCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9593; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9595; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9597; - else return 9599; - } - BlockState DeadHornCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace DeadTubeCoral - { - constexpr BlockState DeadTubeCoral() - { - return 9521; - } - } - namespace DeadTubeCoralBlock - { - constexpr BlockState DeadTubeCoralBlock() - { - return 9510; - } - } - namespace DeadTubeCoralFan - { - constexpr BlockState DeadTubeCoralFan() - { - return 9541; - } - } - namespace DeadTubeCoralWallFan - { - constexpr BlockState DeadTubeCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9561; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9563; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9565; - else return 9567; - } - BlockState DeadTubeCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace DetectorRail - { - enum class Shape - { - NorthSouth, - EastWest, - AscendingEast, - AscendingWest, - AscendingNorth, - AscendingSouth - }; - constexpr BlockState DetectorRail(const bool Powered, const enum Shape Shape) - { - if (Powered) - if (Shape == Shape::NorthSouth) return 1317; - else if (Shape == Shape::EastWest) return 1318; - else if (Shape == Shape::AscendingEast) return 1319; - else if (Shape == Shape::AscendingWest) return 1320; - else if (Shape == Shape::AscendingNorth) return 1321; - else return 1322; - else - if (Shape == Shape::NorthSouth) return 1323; - else if (Shape == Shape::EastWest) return 1324; - else if (Shape == Shape::AscendingEast) return 1325; - else if (Shape == Shape::AscendingWest) return 1326; - else if (Shape == Shape::AscendingNorth) return 1327; - else return 1328; - } - BlockState DetectorRail(); - bool Powered(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace DiamondBlock - { - constexpr BlockState DiamondBlock() - { - return 3355; - } - } - namespace DiamondOre - { - constexpr BlockState DiamondOre() - { - return 3354; - } - } - namespace Diorite - { - constexpr BlockState Diorite() - { - return 4; - } - } - namespace DioriteSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState DioriteSlab(const enum Type Type) - { - if (Type == Type::Top) return 10862; - else if (Type == Type::Bottom) return 10864; - else return 10866; - } - BlockState DioriteSlab(); - enum Type Type(BlockState Block); - } - namespace DioriteStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState DioriteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10710; - else if (Shape == Shape::InnerLeft) return 10712; - else if (Shape == Shape::InnerRight) return 10714; - else if (Shape == Shape::OuterLeft) return 10716; - else return 10718; - else - if (Shape == Shape::Straight) return 10720; - else if (Shape == Shape::InnerLeft) return 10722; - else if (Shape == Shape::InnerRight) return 10724; - else if (Shape == Shape::OuterLeft) return 10726; - else return 10728; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10730; - else if (Shape == Shape::InnerLeft) return 10732; - else if (Shape == Shape::InnerRight) return 10734; - else if (Shape == Shape::OuterLeft) return 10736; - else return 10738; - else - if (Shape == Shape::Straight) return 10740; - else if (Shape == Shape::InnerLeft) return 10742; - else if (Shape == Shape::InnerRight) return 10744; - else if (Shape == Shape::OuterLeft) return 10746; - else return 10748; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10750; - else if (Shape == Shape::InnerLeft) return 10752; - else if (Shape == Shape::InnerRight) return 10754; - else if (Shape == Shape::OuterLeft) return 10756; - else return 10758; - else - if (Shape == Shape::Straight) return 10760; - else if (Shape == Shape::InnerLeft) return 10762; - else if (Shape == Shape::InnerRight) return 10764; - else if (Shape == Shape::OuterLeft) return 10766; - else return 10768; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10770; - else if (Shape == Shape::InnerLeft) return 10772; - else if (Shape == Shape::InnerRight) return 10774; - else if (Shape == Shape::OuterLeft) return 10776; - else return 10778; - else - if (Shape == Shape::Straight) return 10780; - else if (Shape == Shape::InnerLeft) return 10782; - else if (Shape == Shape::InnerRight) return 10784; - else if (Shape == Shape::OuterLeft) return 10786; - else return 10788; - } - BlockState DioriteStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace DioriteWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState DioriteWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 14434; - else if (West == West::Low) return 14435; - else return 14436; - else - if (West == West::None) return 14440; - else if (West == West::Low) return 14441; - else return 14442; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14446; - else if (West == West::Low) return 14447; - else return 14448; - else - if (West == West::None) return 14452; - else if (West == West::Low) return 14453; - else return 14454; - else - if (Up) - if (West == West::None) return 14458; - else if (West == West::Low) return 14459; - else return 14460; - else - if (West == West::None) return 14464; - else if (West == West::Low) return 14465; - else return 14466; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 14470; - else if (West == West::Low) return 14471; - else return 14472; - else - if (West == West::None) return 14476; - else if (West == West::Low) return 14477; - else return 14478; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14482; - else if (West == West::Low) return 14483; - else return 14484; - else - if (West == West::None) return 14488; - else if (West == West::Low) return 14489; - else return 14490; - else - if (Up) - if (West == West::None) return 14494; - else if (West == West::Low) return 14495; - else return 14496; - else - if (West == West::None) return 14500; - else if (West == West::Low) return 14501; - else return 14502; - else - if (South == South::None) - if (Up) - if (West == West::None) return 14506; - else if (West == West::Low) return 14507; - else return 14508; - else - if (West == West::None) return 14512; - else if (West == West::Low) return 14513; - else return 14514; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14518; - else if (West == West::Low) return 14519; - else return 14520; - else - if (West == West::None) return 14524; - else if (West == West::Low) return 14525; - else return 14526; - else - if (Up) - if (West == West::None) return 14530; - else if (West == West::Low) return 14531; - else return 14532; - else - if (West == West::None) return 14536; - else if (West == West::Low) return 14537; - else return 14538; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 14542; - else if (West == West::Low) return 14543; - else return 14544; - else - if (West == West::None) return 14548; - else if (West == West::Low) return 14549; - else return 14550; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14554; - else if (West == West::Low) return 14555; - else return 14556; - else - if (West == West::None) return 14560; - else if (West == West::Low) return 14561; - else return 14562; - else - if (Up) - if (West == West::None) return 14566; - else if (West == West::Low) return 14567; - else return 14568; - else - if (West == West::None) return 14572; - else if (West == West::Low) return 14573; - else return 14574; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 14578; - else if (West == West::Low) return 14579; - else return 14580; - else - if (West == West::None) return 14584; - else if (West == West::Low) return 14585; - else return 14586; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14590; - else if (West == West::Low) return 14591; - else return 14592; - else - if (West == West::None) return 14596; - else if (West == West::Low) return 14597; - else return 14598; - else - if (Up) - if (West == West::None) return 14602; - else if (West == West::Low) return 14603; - else return 14604; - else - if (West == West::None) return 14608; - else if (West == West::Low) return 14609; - else return 14610; - else - if (South == South::None) - if (Up) - if (West == West::None) return 14614; - else if (West == West::Low) return 14615; - else return 14616; - else - if (West == West::None) return 14620; - else if (West == West::Low) return 14621; - else return 14622; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14626; - else if (West == West::Low) return 14627; - else return 14628; - else - if (West == West::None) return 14632; - else if (West == West::Low) return 14633; - else return 14634; - else - if (Up) - if (West == West::None) return 14638; - else if (West == West::Low) return 14639; - else return 14640; - else - if (West == West::None) return 14644; - else if (West == West::Low) return 14645; - else return 14646; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 14650; - else if (West == West::Low) return 14651; - else return 14652; - else - if (West == West::None) return 14656; - else if (West == West::Low) return 14657; - else return 14658; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14662; - else if (West == West::Low) return 14663; - else return 14664; - else - if (West == West::None) return 14668; - else if (West == West::Low) return 14669; - else return 14670; - else - if (Up) - if (West == West::None) return 14674; - else if (West == West::Low) return 14675; - else return 14676; - else - if (West == West::None) return 14680; - else if (West == West::Low) return 14681; - else return 14682; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 14686; - else if (West == West::Low) return 14687; - else return 14688; - else - if (West == West::None) return 14692; - else if (West == West::Low) return 14693; - else return 14694; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14698; - else if (West == West::Low) return 14699; - else return 14700; - else - if (West == West::None) return 14704; - else if (West == West::Low) return 14705; - else return 14706; - else - if (Up) - if (West == West::None) return 14710; - else if (West == West::Low) return 14711; - else return 14712; - else - if (West == West::None) return 14716; - else if (West == West::Low) return 14717; - else return 14718; - else - if (South == South::None) - if (Up) - if (West == West::None) return 14722; - else if (West == West::Low) return 14723; - else return 14724; - else - if (West == West::None) return 14728; - else if (West == West::Low) return 14729; - else return 14730; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14734; - else if (West == West::Low) return 14735; - else return 14736; - else - if (West == West::None) return 14740; - else if (West == West::Low) return 14741; - else return 14742; - else - if (Up) - if (West == West::None) return 14746; - else if (West == West::Low) return 14747; - else return 14748; - else - if (West == West::None) return 14752; - else if (West == West::Low) return 14753; - else return 14754; - } - BlockState DioriteWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace Dirt - { - constexpr BlockState Dirt() - { - return 10; - } - } - namespace Dispenser - { - constexpr BlockState Dispenser(const eBlockFace Facing, const bool Triggered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Triggered) return 234; - else return 235; - else if (Facing == eBlockFace::BLOCK_FACE_XP) - if (Triggered) return 236; - else return 237; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Triggered) return 238; - else return 239; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Triggered) return 240; - else return 241; - else if (Facing == eBlockFace::BLOCK_FACE_YP) - if (Triggered) return 242; - else return 243; - else - if (Triggered) return 244; - else return 245; - } - BlockState Dispenser(); - eBlockFace Facing(BlockState Block); - bool Triggered(BlockState Block); - } - namespace DragonEgg - { - constexpr BlockState DragonEgg() - { - return 5155; - } - } - namespace DragonHead - { - constexpr BlockState DragonHead(const unsigned char Rotation) - { - if (Rotation == 0) return 6590; - else if (Rotation == 1) return 6591; - else if (Rotation == 2) return 6592; - else if (Rotation == 3) return 6593; - else if (Rotation == 4) return 6594; - else if (Rotation == 5) return 6595; - else if (Rotation == 6) return 6596; - else if (Rotation == 7) return 6597; - else if (Rotation == 8) return 6598; - else if (Rotation == 9) return 6599; - else if (Rotation == 10) return 6600; - else if (Rotation == 11) return 6601; - else if (Rotation == 12) return 6602; - else if (Rotation == 13) return 6603; - else if (Rotation == 14) return 6604; - else return 6605; - } - BlockState DragonHead(); - unsigned char Rotation(BlockState Block); - } - namespace DragonWallHead - { - constexpr BlockState DragonWallHead(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6606; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6607; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6608; - else return 6609; - } - BlockState DragonWallHead(); - eBlockFace Facing(BlockState Block); - } - namespace DriedKelpBlock - { - constexpr BlockState DriedKelpBlock() - { - return 9497; - } - } - namespace Dropper - { - constexpr BlockState Dropper(const eBlockFace Facing, const bool Triggered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Triggered) return 6835; - else return 6836; - else if (Facing == eBlockFace::BLOCK_FACE_XP) - if (Triggered) return 6837; - else return 6838; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Triggered) return 6839; - else return 6840; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Triggered) return 6841; - else return 6842; - else if (Facing == eBlockFace::BLOCK_FACE_YP) - if (Triggered) return 6843; - else return 6844; - else - if (Triggered) return 6845; - else return 6846; - } - BlockState Dropper(); - eBlockFace Facing(BlockState Block); - bool Triggered(BlockState Block); - } - namespace EmeraldBlock - { - constexpr BlockState EmeraldBlock() - { - return 5403; - } - } - namespace EmeraldOre - { - constexpr BlockState EmeraldOre() - { - return 5250; - } - } - namespace EnchantingTable - { - constexpr BlockState EnchantingTable() - { - return 5132; - } - } - namespace EndGateway - { - constexpr BlockState EndGateway() - { - return 9224; - } - } - namespace EndPortal - { - constexpr BlockState EndPortal() - { - return 5145; - } - } - namespace EndPortalFrame - { - constexpr BlockState EndPortalFrame(const bool Eye, const eBlockFace Facing) - { - if (Eye) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5146; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5147; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5148; - else return 5149; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5150; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5151; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5152; - else return 5153; - } - BlockState EndPortalFrame(); - bool Eye(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace EndRod - { - constexpr BlockState EndRod(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9058; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9059; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9060; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9061; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9062; - else return 9063; - } - BlockState EndRod(); - eBlockFace Facing(BlockState Block); - } - namespace EndStone - { - constexpr BlockState EndStone() - { - return 5154; - } - } - namespace EndStoneBrickSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState EndStoneBrickSlab(const enum Type Type) - { - if (Type == Type::Top) return 10820; - else if (Type == Type::Bottom) return 10822; - else return 10824; - } - BlockState EndStoneBrickSlab(); - enum Type Type(BlockState Block); - } - namespace EndStoneBrickStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState EndStoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10070; - else if (Shape == Shape::InnerLeft) return 10072; - else if (Shape == Shape::InnerRight) return 10074; - else if (Shape == Shape::OuterLeft) return 10076; - else return 10078; - else - if (Shape == Shape::Straight) return 10080; - else if (Shape == Shape::InnerLeft) return 10082; - else if (Shape == Shape::InnerRight) return 10084; - else if (Shape == Shape::OuterLeft) return 10086; - else return 10088; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10090; - else if (Shape == Shape::InnerLeft) return 10092; - else if (Shape == Shape::InnerRight) return 10094; - else if (Shape == Shape::OuterLeft) return 10096; - else return 10098; - else - if (Shape == Shape::Straight) return 10100; - else if (Shape == Shape::InnerLeft) return 10102; - else if (Shape == Shape::InnerRight) return 10104; - else if (Shape == Shape::OuterLeft) return 10106; - else return 10108; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10110; - else if (Shape == Shape::InnerLeft) return 10112; - else if (Shape == Shape::InnerRight) return 10114; - else if (Shape == Shape::OuterLeft) return 10116; - else return 10118; - else - if (Shape == Shape::Straight) return 10120; - else if (Shape == Shape::InnerLeft) return 10122; - else if (Shape == Shape::InnerRight) return 10124; - else if (Shape == Shape::OuterLeft) return 10126; - else return 10128; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10130; - else if (Shape == Shape::InnerLeft) return 10132; - else if (Shape == Shape::InnerRight) return 10134; - else if (Shape == Shape::OuterLeft) return 10136; - else return 10138; - else - if (Shape == Shape::Straight) return 10140; - else if (Shape == Shape::InnerLeft) return 10142; - else if (Shape == Shape::InnerRight) return 10144; - else if (Shape == Shape::OuterLeft) return 10146; - else return 10148; - } - BlockState EndStoneBrickStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace EndStoneBrickWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState EndStoneBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 14110; - else if (West == West::Low) return 14111; - else return 14112; - else - if (West == West::None) return 14116; - else if (West == West::Low) return 14117; - else return 14118; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14122; - else if (West == West::Low) return 14123; - else return 14124; - else - if (West == West::None) return 14128; - else if (West == West::Low) return 14129; - else return 14130; - else - if (Up) - if (West == West::None) return 14134; - else if (West == West::Low) return 14135; - else return 14136; - else - if (West == West::None) return 14140; - else if (West == West::Low) return 14141; - else return 14142; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 14146; - else if (West == West::Low) return 14147; - else return 14148; - else - if (West == West::None) return 14152; - else if (West == West::Low) return 14153; - else return 14154; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14158; - else if (West == West::Low) return 14159; - else return 14160; - else - if (West == West::None) return 14164; - else if (West == West::Low) return 14165; - else return 14166; - else - if (Up) - if (West == West::None) return 14170; - else if (West == West::Low) return 14171; - else return 14172; - else - if (West == West::None) return 14176; - else if (West == West::Low) return 14177; - else return 14178; - else - if (South == South::None) - if (Up) - if (West == West::None) return 14182; - else if (West == West::Low) return 14183; - else return 14184; - else - if (West == West::None) return 14188; - else if (West == West::Low) return 14189; - else return 14190; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14194; - else if (West == West::Low) return 14195; - else return 14196; - else - if (West == West::None) return 14200; - else if (West == West::Low) return 14201; - else return 14202; - else - if (Up) - if (West == West::None) return 14206; - else if (West == West::Low) return 14207; - else return 14208; - else - if (West == West::None) return 14212; - else if (West == West::Low) return 14213; - else return 14214; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 14218; - else if (West == West::Low) return 14219; - else return 14220; - else - if (West == West::None) return 14224; - else if (West == West::Low) return 14225; - else return 14226; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14230; - else if (West == West::Low) return 14231; - else return 14232; - else - if (West == West::None) return 14236; - else if (West == West::Low) return 14237; - else return 14238; - else - if (Up) - if (West == West::None) return 14242; - else if (West == West::Low) return 14243; - else return 14244; - else - if (West == West::None) return 14248; - else if (West == West::Low) return 14249; - else return 14250; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 14254; - else if (West == West::Low) return 14255; - else return 14256; - else - if (West == West::None) return 14260; - else if (West == West::Low) return 14261; - else return 14262; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14266; - else if (West == West::Low) return 14267; - else return 14268; - else - if (West == West::None) return 14272; - else if (West == West::Low) return 14273; - else return 14274; - else - if (Up) - if (West == West::None) return 14278; - else if (West == West::Low) return 14279; - else return 14280; - else - if (West == West::None) return 14284; - else if (West == West::Low) return 14285; - else return 14286; - else - if (South == South::None) - if (Up) - if (West == West::None) return 14290; - else if (West == West::Low) return 14291; - else return 14292; - else - if (West == West::None) return 14296; - else if (West == West::Low) return 14297; - else return 14298; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14302; - else if (West == West::Low) return 14303; - else return 14304; - else - if (West == West::None) return 14308; - else if (West == West::Low) return 14309; - else return 14310; - else - if (Up) - if (West == West::None) return 14314; - else if (West == West::Low) return 14315; - else return 14316; - else - if (West == West::None) return 14320; - else if (West == West::Low) return 14321; - else return 14322; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 14326; - else if (West == West::Low) return 14327; - else return 14328; - else - if (West == West::None) return 14332; - else if (West == West::Low) return 14333; - else return 14334; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14338; - else if (West == West::Low) return 14339; - else return 14340; - else - if (West == West::None) return 14344; - else if (West == West::Low) return 14345; - else return 14346; - else - if (Up) - if (West == West::None) return 14350; - else if (West == West::Low) return 14351; - else return 14352; - else - if (West == West::None) return 14356; - else if (West == West::Low) return 14357; - else return 14358; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 14362; - else if (West == West::Low) return 14363; - else return 14364; - else - if (West == West::None) return 14368; - else if (West == West::Low) return 14369; - else return 14370; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14374; - else if (West == West::Low) return 14375; - else return 14376; - else - if (West == West::None) return 14380; - else if (West == West::Low) return 14381; - else return 14382; - else - if (Up) - if (West == West::None) return 14386; - else if (West == West::Low) return 14387; - else return 14388; - else - if (West == West::None) return 14392; - else if (West == West::Low) return 14393; - else return 14394; - else - if (South == South::None) - if (Up) - if (West == West::None) return 14398; - else if (West == West::Low) return 14399; - else return 14400; - else - if (West == West::None) return 14404; - else if (West == West::Low) return 14405; - else return 14406; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14410; - else if (West == West::Low) return 14411; - else return 14412; - else - if (West == West::None) return 14416; - else if (West == West::Low) return 14417; - else return 14418; - else - if (Up) - if (West == West::None) return 14422; - else if (West == West::Low) return 14423; - else return 14424; - else - if (West == West::None) return 14428; - else if (West == West::Low) return 14429; - else return 14430; - } - BlockState EndStoneBrickWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace EndStoneBricks - { - constexpr BlockState EndStoneBricks() - { - return 9218; - } - } - namespace EnderChest - { - constexpr BlockState EnderChest(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5252; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5254; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5256; - else return 5258; - } - BlockState EnderChest(); - eBlockFace Facing(BlockState Block); - } - namespace Farmland - { - constexpr BlockState Farmland(const unsigned char Moisture) - { - if (Moisture == 0) return 3365; - else if (Moisture == 1) return 3366; - else if (Moisture == 2) return 3367; - else if (Moisture == 3) return 3368; - else if (Moisture == 4) return 3369; - else if (Moisture == 5) return 3370; - else if (Moisture == 6) return 3371; - else return 3372; - } - BlockState Farmland(); - unsigned char Moisture(BlockState Block); - } - namespace Fern - { - constexpr BlockState Fern() - { - return 1343; - } - } - namespace Fire - { - constexpr BlockState Fire(const unsigned char Age, const bool East, const bool North, const bool South, const bool Up, const bool West) - { - if (Age == 0) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1440; - else return 1441; - else - if (West) return 1442; - else return 1443; - else - if (Up) - if (West) return 1444; - else return 1445; - else - if (West) return 1446; - else return 1447; - else - if (South) - if (Up) - if (West) return 1448; - else return 1449; - else - if (West) return 1450; - else return 1451; - else - if (Up) - if (West) return 1452; - else return 1453; - else - if (West) return 1454; - else return 1455; - else - if (North) - if (South) - if (Up) - if (West) return 1456; - else return 1457; - else - if (West) return 1458; - else return 1459; - else - if (Up) - if (West) return 1460; - else return 1461; - else - if (West) return 1462; - else return 1463; - else - if (South) - if (Up) - if (West) return 1464; - else return 1465; - else - if (West) return 1466; - else return 1467; - else - if (Up) - if (West) return 1468; - else return 1469; - else - if (West) return 1470; - else return 1471; - else if (Age == 1) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1472; - else return 1473; - else - if (West) return 1474; - else return 1475; - else - if (Up) - if (West) return 1476; - else return 1477; - else - if (West) return 1478; - else return 1479; - else - if (South) - if (Up) - if (West) return 1480; - else return 1481; - else - if (West) return 1482; - else return 1483; - else - if (Up) - if (West) return 1484; - else return 1485; - else - if (West) return 1486; - else return 1487; - else - if (North) - if (South) - if (Up) - if (West) return 1488; - else return 1489; - else - if (West) return 1490; - else return 1491; - else - if (Up) - if (West) return 1492; - else return 1493; - else - if (West) return 1494; - else return 1495; - else - if (South) - if (Up) - if (West) return 1496; - else return 1497; - else - if (West) return 1498; - else return 1499; - else - if (Up) - if (West) return 1500; - else return 1501; - else - if (West) return 1502; - else return 1503; - else if (Age == 2) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1504; - else return 1505; - else - if (West) return 1506; - else return 1507; - else - if (Up) - if (West) return 1508; - else return 1509; - else - if (West) return 1510; - else return 1511; - else - if (South) - if (Up) - if (West) return 1512; - else return 1513; - else - if (West) return 1514; - else return 1515; - else - if (Up) - if (West) return 1516; - else return 1517; - else - if (West) return 1518; - else return 1519; - else - if (North) - if (South) - if (Up) - if (West) return 1520; - else return 1521; - else - if (West) return 1522; - else return 1523; - else - if (Up) - if (West) return 1524; - else return 1525; - else - if (West) return 1526; - else return 1527; - else - if (South) - if (Up) - if (West) return 1528; - else return 1529; - else - if (West) return 1530; - else return 1531; - else - if (Up) - if (West) return 1532; - else return 1533; - else - if (West) return 1534; - else return 1535; - else if (Age == 3) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1536; - else return 1537; - else - if (West) return 1538; - else return 1539; - else - if (Up) - if (West) return 1540; - else return 1541; - else - if (West) return 1542; - else return 1543; - else - if (South) - if (Up) - if (West) return 1544; - else return 1545; - else - if (West) return 1546; - else return 1547; - else - if (Up) - if (West) return 1548; - else return 1549; - else - if (West) return 1550; - else return 1551; - else - if (North) - if (South) - if (Up) - if (West) return 1552; - else return 1553; - else - if (West) return 1554; - else return 1555; - else - if (Up) - if (West) return 1556; - else return 1557; - else - if (West) return 1558; - else return 1559; - else - if (South) - if (Up) - if (West) return 1560; - else return 1561; - else - if (West) return 1562; - else return 1563; - else - if (Up) - if (West) return 1564; - else return 1565; - else - if (West) return 1566; - else return 1567; - else if (Age == 4) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1568; - else return 1569; - else - if (West) return 1570; - else return 1571; - else - if (Up) - if (West) return 1572; - else return 1573; - else - if (West) return 1574; - else return 1575; - else - if (South) - if (Up) - if (West) return 1576; - else return 1577; - else - if (West) return 1578; - else return 1579; - else - if (Up) - if (West) return 1580; - else return 1581; - else - if (West) return 1582; - else return 1583; - else - if (North) - if (South) - if (Up) - if (West) return 1584; - else return 1585; - else - if (West) return 1586; - else return 1587; - else - if (Up) - if (West) return 1588; - else return 1589; - else - if (West) return 1590; - else return 1591; - else - if (South) - if (Up) - if (West) return 1592; - else return 1593; - else - if (West) return 1594; - else return 1595; - else - if (Up) - if (West) return 1596; - else return 1597; - else - if (West) return 1598; - else return 1599; - else if (Age == 5) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1600; - else return 1601; - else - if (West) return 1602; - else return 1603; - else - if (Up) - if (West) return 1604; - else return 1605; - else - if (West) return 1606; - else return 1607; - else - if (South) - if (Up) - if (West) return 1608; - else return 1609; - else - if (West) return 1610; - else return 1611; - else - if (Up) - if (West) return 1612; - else return 1613; - else - if (West) return 1614; - else return 1615; - else - if (North) - if (South) - if (Up) - if (West) return 1616; - else return 1617; - else - if (West) return 1618; - else return 1619; - else - if (Up) - if (West) return 1620; - else return 1621; - else - if (West) return 1622; - else return 1623; - else - if (South) - if (Up) - if (West) return 1624; - else return 1625; - else - if (West) return 1626; - else return 1627; - else - if (Up) - if (West) return 1628; - else return 1629; - else - if (West) return 1630; - else return 1631; - else if (Age == 6) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1632; - else return 1633; - else - if (West) return 1634; - else return 1635; - else - if (Up) - if (West) return 1636; - else return 1637; - else - if (West) return 1638; - else return 1639; - else - if (South) - if (Up) - if (West) return 1640; - else return 1641; - else - if (West) return 1642; - else return 1643; - else - if (Up) - if (West) return 1644; - else return 1645; - else - if (West) return 1646; - else return 1647; - else - if (North) - if (South) - if (Up) - if (West) return 1648; - else return 1649; - else - if (West) return 1650; - else return 1651; - else - if (Up) - if (West) return 1652; - else return 1653; - else - if (West) return 1654; - else return 1655; - else - if (South) - if (Up) - if (West) return 1656; - else return 1657; - else - if (West) return 1658; - else return 1659; - else - if (Up) - if (West) return 1660; - else return 1661; - else - if (West) return 1662; - else return 1663; - else if (Age == 7) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1664; - else return 1665; - else - if (West) return 1666; - else return 1667; - else - if (Up) - if (West) return 1668; - else return 1669; - else - if (West) return 1670; - else return 1671; - else - if (South) - if (Up) - if (West) return 1672; - else return 1673; - else - if (West) return 1674; - else return 1675; - else - if (Up) - if (West) return 1676; - else return 1677; - else - if (West) return 1678; - else return 1679; - else - if (North) - if (South) - if (Up) - if (West) return 1680; - else return 1681; - else - if (West) return 1682; - else return 1683; - else - if (Up) - if (West) return 1684; - else return 1685; - else - if (West) return 1686; - else return 1687; - else - if (South) - if (Up) - if (West) return 1688; - else return 1689; - else - if (West) return 1690; - else return 1691; - else - if (Up) - if (West) return 1692; - else return 1693; - else - if (West) return 1694; - else return 1695; - else if (Age == 8) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1696; - else return 1697; - else - if (West) return 1698; - else return 1699; - else - if (Up) - if (West) return 1700; - else return 1701; - else - if (West) return 1702; - else return 1703; - else - if (South) - if (Up) - if (West) return 1704; - else return 1705; - else - if (West) return 1706; - else return 1707; - else - if (Up) - if (West) return 1708; - else return 1709; - else - if (West) return 1710; - else return 1711; - else - if (North) - if (South) - if (Up) - if (West) return 1712; - else return 1713; - else - if (West) return 1714; - else return 1715; - else - if (Up) - if (West) return 1716; - else return 1717; - else - if (West) return 1718; - else return 1719; - else - if (South) - if (Up) - if (West) return 1720; - else return 1721; - else - if (West) return 1722; - else return 1723; - else - if (Up) - if (West) return 1724; - else return 1725; - else - if (West) return 1726; - else return 1727; - else if (Age == 9) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1728; - else return 1729; - else - if (West) return 1730; - else return 1731; - else - if (Up) - if (West) return 1732; - else return 1733; - else - if (West) return 1734; - else return 1735; - else - if (South) - if (Up) - if (West) return 1736; - else return 1737; - else - if (West) return 1738; - else return 1739; - else - if (Up) - if (West) return 1740; - else return 1741; - else - if (West) return 1742; - else return 1743; - else - if (North) - if (South) - if (Up) - if (West) return 1744; - else return 1745; - else - if (West) return 1746; - else return 1747; - else - if (Up) - if (West) return 1748; - else return 1749; - else - if (West) return 1750; - else return 1751; - else - if (South) - if (Up) - if (West) return 1752; - else return 1753; - else - if (West) return 1754; - else return 1755; - else - if (Up) - if (West) return 1756; - else return 1757; - else - if (West) return 1758; - else return 1759; - else if (Age == 10) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1760; - else return 1761; - else - if (West) return 1762; - else return 1763; - else - if (Up) - if (West) return 1764; - else return 1765; - else - if (West) return 1766; - else return 1767; - else - if (South) - if (Up) - if (West) return 1768; - else return 1769; - else - if (West) return 1770; - else return 1771; - else - if (Up) - if (West) return 1772; - else return 1773; - else - if (West) return 1774; - else return 1775; - else - if (North) - if (South) - if (Up) - if (West) return 1776; - else return 1777; - else - if (West) return 1778; - else return 1779; - else - if (Up) - if (West) return 1780; - else return 1781; - else - if (West) return 1782; - else return 1783; - else - if (South) - if (Up) - if (West) return 1784; - else return 1785; - else - if (West) return 1786; - else return 1787; - else - if (Up) - if (West) return 1788; - else return 1789; - else - if (West) return 1790; - else return 1791; - else if (Age == 11) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1792; - else return 1793; - else - if (West) return 1794; - else return 1795; - else - if (Up) - if (West) return 1796; - else return 1797; - else - if (West) return 1798; - else return 1799; - else - if (South) - if (Up) - if (West) return 1800; - else return 1801; - else - if (West) return 1802; - else return 1803; - else - if (Up) - if (West) return 1804; - else return 1805; - else - if (West) return 1806; - else return 1807; - else - if (North) - if (South) - if (Up) - if (West) return 1808; - else return 1809; - else - if (West) return 1810; - else return 1811; - else - if (Up) - if (West) return 1812; - else return 1813; - else - if (West) return 1814; - else return 1815; - else - if (South) - if (Up) - if (West) return 1816; - else return 1817; - else - if (West) return 1818; - else return 1819; - else - if (Up) - if (West) return 1820; - else return 1821; - else - if (West) return 1822; - else return 1823; - else if (Age == 12) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1824; - else return 1825; - else - if (West) return 1826; - else return 1827; - else - if (Up) - if (West) return 1828; - else return 1829; - else - if (West) return 1830; - else return 1831; - else - if (South) - if (Up) - if (West) return 1832; - else return 1833; - else - if (West) return 1834; - else return 1835; - else - if (Up) - if (West) return 1836; - else return 1837; - else - if (West) return 1838; - else return 1839; - else - if (North) - if (South) - if (Up) - if (West) return 1840; - else return 1841; - else - if (West) return 1842; - else return 1843; - else - if (Up) - if (West) return 1844; - else return 1845; - else - if (West) return 1846; - else return 1847; - else - if (South) - if (Up) - if (West) return 1848; - else return 1849; - else - if (West) return 1850; - else return 1851; - else - if (Up) - if (West) return 1852; - else return 1853; - else - if (West) return 1854; - else return 1855; - else if (Age == 13) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1856; - else return 1857; - else - if (West) return 1858; - else return 1859; - else - if (Up) - if (West) return 1860; - else return 1861; - else - if (West) return 1862; - else return 1863; - else - if (South) - if (Up) - if (West) return 1864; - else return 1865; - else - if (West) return 1866; - else return 1867; - else - if (Up) - if (West) return 1868; - else return 1869; - else - if (West) return 1870; - else return 1871; - else - if (North) - if (South) - if (Up) - if (West) return 1872; - else return 1873; - else - if (West) return 1874; - else return 1875; - else - if (Up) - if (West) return 1876; - else return 1877; - else - if (West) return 1878; - else return 1879; - else - if (South) - if (Up) - if (West) return 1880; - else return 1881; - else - if (West) return 1882; - else return 1883; - else - if (Up) - if (West) return 1884; - else return 1885; - else - if (West) return 1886; - else return 1887; - else if (Age == 14) - if (East) - if (North) - if (South) - if (Up) - if (West) return 1888; - else return 1889; - else - if (West) return 1890; - else return 1891; - else - if (Up) - if (West) return 1892; - else return 1893; - else - if (West) return 1894; - else return 1895; - else - if (South) - if (Up) - if (West) return 1896; - else return 1897; - else - if (West) return 1898; - else return 1899; - else - if (Up) - if (West) return 1900; - else return 1901; - else - if (West) return 1902; - else return 1903; - else - if (North) - if (South) - if (Up) - if (West) return 1904; - else return 1905; - else - if (West) return 1906; - else return 1907; - else - if (Up) - if (West) return 1908; - else return 1909; - else - if (West) return 1910; - else return 1911; - else - if (South) - if (Up) - if (West) return 1912; - else return 1913; - else - if (West) return 1914; - else return 1915; - else - if (Up) - if (West) return 1916; - else return 1917; - else - if (West) return 1918; - else return 1919; + return 8953; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8954; + else + return 8955; + else if (Powered) + return 8956; + else + return 8957; + else if (Open) + if (Powered) + return 8958; + else + return 8959; + else if (Powered) + return 8960; + else + return 8961; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8962; + else + return 8963; + else if (Powered) + return 8964; + else + return 8965; + else if (Open) + if (Powered) + return 8966; + else + return 8967; + else if (Powered) + return 8968; + else + return 8969; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8970; + else + return 8971; + else if (Powered) + return 8972; + else + return 8973; + else if (Open) + if (Powered) + return 8974; + else + return 8975; + else if (Powered) + return 8976; + else + return 8977; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8978; + else + return 8979; + else if (Powered) + return 8980; + else + return 8981; + else if (Open) + if (Powered) + return 8982; + else + return 8983; + else if (Powered) + return 8984; + else + return 8985; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8986; + else + return 8987; + else if (Powered) + return 8988; + else + return 8989; + else if (Open) + if (Powered) + return 8990; + else + return 8991; + else if (Powered) + return 8992; + else + return 8993; +} +BlockState AcaciaDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace AcaciaDoor +namespace AcaciaFence +{ +constexpr BlockState AcaciaFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 8676; + else + return 8677; + else if (West) + return 8680; + else + return 8681; + else if (South) + if (West) + return 8684; + else + return 8685; + else if (West) + return 8688; + else + return 8689; + else if (North) + if (South) + if (West) + return 8692; + else + return 8693; + else if (West) + return 8696; + else + return 8697; + else if (South) + if (West) + return 8700; + else + return 8701; + else if (West) + return 8704; + else + return 8705; +} +BlockState AcaciaFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace AcaciaFence +namespace AcaciaFenceGate +{ +constexpr BlockState AcaciaFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (InWall) + if (Open) + if (Powered) + return 8514; + else + return 8515; + else if (Powered) + return 8516; + else + return 8517; + else if (Open) + if (Powered) + return 8518; + else + return 8519; + else if (Powered) + return 8520; + else + return 8521; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (InWall) + if (Open) + if (Powered) + return 8522; + else + return 8523; + else if (Powered) + return 8524; + else + return 8525; + else if (Open) + if (Powered) + return 8526; + else + return 8527; + else if (Powered) + return 8528; + else + return 8529; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (InWall) + if (Open) + if (Powered) + return 8530; + else + return 8531; + else if (Powered) + return 8532; + else + return 8533; + else if (Open) + if (Powered) + return 8534; + else + return 8535; + else if (Powered) + return 8536; + else + return 8537; + else if (InWall) + if (Open) + if (Powered) + return 8538; + else + return 8539; + else if (Powered) + return 8540; + else + return 8541; + else if (Open) + if (Powered) + return 8542; + else + return 8543; + else if (Powered) + return 8544; + else + return 8545; +} +BlockState AcaciaFenceGate(); +eBlockFace Facing(BlockState Block); +bool InWall(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace AcaciaFenceGate +namespace AcaciaLeaves +{ +constexpr BlockState AcaciaLeaves(const unsigned char Distance, const bool Persistent) +{ + if (Distance == 1) + if (Persistent) + return 201; + else + return 202; + else if (Distance == 2) + if (Persistent) + return 203; + else + return 204; + else if (Distance == 3) + if (Persistent) + return 205; + else + return 206; + else if (Distance == 4) + if (Persistent) + return 207; + else + return 208; + else if (Distance == 5) + if (Persistent) + return 209; + else + return 210; + else if (Distance == 6) + if (Persistent) + return 211; + else + return 212; + else if (Persistent) + return 213; + else + return 214; +} +BlockState AcaciaLeaves(); +unsigned char Distance(BlockState Block); +bool Persistent(BlockState Block); +} // namespace AcaciaLeaves +namespace AcaciaLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState AcaciaLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 85; + else if (Axis == Axis::Y) + return 86; + else + return 87; +} +BlockState AcaciaLog(); +enum Axis Axis(BlockState Block); +} // namespace AcaciaLog +namespace AcaciaPlanks +{ +constexpr BlockState AcaciaPlanks() +{ + return 19; +} +} // namespace AcaciaPlanks +namespace AcaciaPressurePlate +{ +constexpr BlockState AcaciaPressurePlate(const bool Powered) +{ + if (Powered) + return 3881; + else + return 3882; +} +BlockState AcaciaPressurePlate(); +bool Powered(BlockState Block); +} // namespace AcaciaPressurePlate +namespace AcaciaSapling +{ +constexpr BlockState AcaciaSapling(const unsigned char Stage) +{ + if (Stage == 0) + return 29; + else + return 30; +} +BlockState AcaciaSapling(); +unsigned char Stage(BlockState Block); +} // namespace AcaciaSapling +namespace AcaciaSign +{ +constexpr BlockState AcaciaSign(const unsigned char Rotation) +{ + if (Rotation == 0) + return 3478; + else if (Rotation == 1) + return 3480; + else if (Rotation == 2) + return 3482; + else if (Rotation == 3) + return 3484; + else if (Rotation == 4) + return 3486; + else if (Rotation == 5) + return 3488; + else if (Rotation == 6) + return 3490; + else if (Rotation == 7) + return 3492; + else if (Rotation == 8) + return 3494; + else if (Rotation == 9) + return 3496; + else if (Rotation == 10) + return 3498; + else if (Rotation == 11) + return 3500; + else if (Rotation == 12) + return 3502; + else if (Rotation == 13) + return 3504; + else if (Rotation == 14) + return 3506; + else + return 3508; +} +BlockState AcaciaSign(); +unsigned char Rotation(BlockState Block); +} // namespace AcaciaSign +namespace AcaciaSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState AcaciaSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8325; + else if (Type == Type::Bottom) + return 8327; + else + return 8329; +} +BlockState AcaciaSlab(); +enum Type Type(BlockState Block); +} // namespace AcaciaSlab +namespace AcaciaStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState AcaciaStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7376; + else if (Shape == Shape::InnerLeft) + return 7378; + else if (Shape == Shape::InnerRight) + return 7380; + else if (Shape == Shape::OuterLeft) + return 7382; + else + return 7384; + else if (Shape == Shape::Straight) + return 7386; + else if (Shape == Shape::InnerLeft) + return 7388; + else if (Shape == Shape::InnerRight) + return 7390; + else if (Shape == Shape::OuterLeft) + return 7392; + else + return 7394; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7396; + else if (Shape == Shape::InnerLeft) + return 7398; + else if (Shape == Shape::InnerRight) + return 7400; + else if (Shape == Shape::OuterLeft) + return 7402; + else + return 7404; + else if (Shape == Shape::Straight) + return 7406; + else if (Shape == Shape::InnerLeft) + return 7408; + else if (Shape == Shape::InnerRight) + return 7410; + else if (Shape == Shape::OuterLeft) + return 7412; + else + return 7414; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7416; + else if (Shape == Shape::InnerLeft) + return 7418; + else if (Shape == Shape::InnerRight) + return 7420; + else if (Shape == Shape::OuterLeft) + return 7422; + else + return 7424; + else if (Shape == Shape::Straight) + return 7426; + else if (Shape == Shape::InnerLeft) + return 7428; + else if (Shape == Shape::InnerRight) + return 7430; + else if (Shape == Shape::OuterLeft) + return 7432; + else + return 7434; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7436; + else if (Shape == Shape::InnerLeft) + return 7438; + else if (Shape == Shape::InnerRight) + return 7440; + else if (Shape == Shape::OuterLeft) + return 7442; + else + return 7444; + else if (Shape == Shape::Straight) + return 7446; + else if (Shape == Shape::InnerLeft) + return 7448; + else if (Shape == Shape::InnerRight) + return 7450; + else if (Shape == Shape::OuterLeft) + return 7452; + else + return 7454; +} +BlockState AcaciaStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace AcaciaStairs +namespace AcaciaTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState AcaciaTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4368; + else + return 4370; + else if (Powered) + return 4372; + else + return 4374; + else if (Open) + if (Powered) + return 4376; + else + return 4378; + else if (Powered) + return 4380; + else + return 4382; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4384; + else + return 4386; + else if (Powered) + return 4388; + else + return 4390; + else if (Open) + if (Powered) + return 4392; + else + return 4394; + else if (Powered) + return 4396; + else + return 4398; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4400; + else + return 4402; + else if (Powered) + return 4404; + else + return 4406; + else if (Open) + if (Powered) + return 4408; + else + return 4410; + else if (Powered) + return 4412; + else + return 4414; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 4416; + else + return 4418; + else if (Powered) + return 4420; + else + return 4422; + else if (Open) + if (Powered) + return 4424; + else + return 4426; + else if (Powered) + return 4428; + else + return 4430; +} +BlockState AcaciaTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace AcaciaTrapdoor +namespace AcaciaWallSign +{ +constexpr BlockState AcaciaWallSign(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 3760; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 3762; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 3764; + else + return 3766; +} +BlockState AcaciaWallSign(); +eBlockFace Facing(BlockState Block); +} // namespace AcaciaWallSign +namespace AcaciaWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState AcaciaWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 121; + else if (Axis == Axis::Y) + return 122; + else + return 123; +} +BlockState AcaciaWood(); +enum Axis Axis(BlockState Block); +} // namespace AcaciaWood +namespace ActivatorRail +{ +enum class Shape +{ + NorthSouth, + EastWest, + AscendingEast, + AscendingWest, + AscendingNorth, + AscendingSouth +}; +constexpr BlockState ActivatorRail(const bool Powered, const enum Shape Shape) +{ + if (Powered) + if (Shape == Shape::NorthSouth) + return 6823; + else if (Shape == Shape::EastWest) + return 6824; + else if (Shape == Shape::AscendingEast) + return 6825; + else if (Shape == Shape::AscendingWest) + return 6826; + else if (Shape == Shape::AscendingNorth) + return 6827; + else + return 6828; + else if (Shape == Shape::NorthSouth) + return 6829; + else if (Shape == Shape::EastWest) + return 6830; + else if (Shape == Shape::AscendingEast) + return 6831; + else if (Shape == Shape::AscendingWest) + return 6832; + else if (Shape == Shape::AscendingNorth) + return 6833; + else + return 6834; +} +BlockState ActivatorRail(); +bool Powered(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace ActivatorRail +namespace Air +{ +constexpr BlockState Air() +{ + return -0; +} +} // namespace Air +namespace Allium +{ +constexpr BlockState Allium() +{ + return 1415; +} +} // namespace Allium +namespace AncientDebris +{ +constexpr BlockState AncientDebris() +{ + return 15827; +} +} // namespace AncientDebris +namespace Andesite +{ +constexpr BlockState Andesite() +{ + return 6; +} +} // namespace Andesite +namespace AndesiteSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState AndesiteSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10844; + else if (Type == Type::Bottom) + return 10846; + else + return 10848; +} +BlockState AndesiteSlab(); +enum Type Type(BlockState Block); +} // namespace AndesiteSlab +namespace AndesiteStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState AndesiteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10470; + else if (Shape == Shape::InnerLeft) + return 10472; + else if (Shape == Shape::InnerRight) + return 10474; + else if (Shape == Shape::OuterLeft) + return 10476; + else + return 10478; + else if (Shape == Shape::Straight) + return 10480; + else if (Shape == Shape::InnerLeft) + return 10482; + else if (Shape == Shape::InnerRight) + return 10484; + else if (Shape == Shape::OuterLeft) + return 10486; + else + return 10488; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10490; + else if (Shape == Shape::InnerLeft) + return 10492; + else if (Shape == Shape::InnerRight) + return 10494; + else if (Shape == Shape::OuterLeft) + return 10496; + else + return 10498; + else if (Shape == Shape::Straight) + return 10500; + else if (Shape == Shape::InnerLeft) + return 10502; + else if (Shape == Shape::InnerRight) + return 10504; + else if (Shape == Shape::OuterLeft) + return 10506; + else + return 10508; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10510; + else if (Shape == Shape::InnerLeft) + return 10512; + else if (Shape == Shape::InnerRight) + return 10514; + else if (Shape == Shape::OuterLeft) + return 10516; + else + return 10518; + else if (Shape == Shape::Straight) + return 10520; + else if (Shape == Shape::InnerLeft) + return 10522; + else if (Shape == Shape::InnerRight) + return 10524; + else if (Shape == Shape::OuterLeft) + return 10526; + else + return 10528; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10530; + else if (Shape == Shape::InnerLeft) + return 10532; + else if (Shape == Shape::InnerRight) + return 10534; + else if (Shape == Shape::OuterLeft) + return 10536; + else + return 10538; + else if (Shape == Shape::Straight) + return 10540; + else if (Shape == Shape::InnerLeft) + return 10542; + else if (Shape == Shape::InnerRight) + return 10544; + else if (Shape == Shape::OuterLeft) + return 10546; + else + return 10548; +} +BlockState AndesiteStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace AndesiteStairs +namespace AndesiteWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState AndesiteWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13138; + else if (West == West::Low) + return 13139; + else + return 13140; + else if (West == West::None) + return 13144; + else if (West == West::Low) + return 13145; + else + return 13146; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13150; + else if (West == West::Low) + return 13151; + else + return 13152; + else if (West == West::None) + return 13156; + else if (West == West::Low) + return 13157; + else + return 13158; + else if (Up) + if (West == West::None) + return 13162; + else if (West == West::Low) + return 13163; + else + return 13164; + else if (West == West::None) + return 13168; + else if (West == West::Low) + return 13169; + else + return 13170; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13174; + else if (West == West::Low) + return 13175; + else + return 13176; + else if (West == West::None) + return 13180; + else if (West == West::Low) + return 13181; + else + return 13182; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13186; + else if (West == West::Low) + return 13187; + else + return 13188; + else if (West == West::None) + return 13192; + else if (West == West::Low) + return 13193; + else + return 13194; + else if (Up) + if (West == West::None) + return 13198; + else if (West == West::Low) + return 13199; + else + return 13200; + else if (West == West::None) + return 13204; + else if (West == West::Low) + return 13205; + else + return 13206; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13210; + else if (West == West::Low) + return 13211; + else + return 13212; + else if (West == West::None) + return 13216; + else if (West == West::Low) + return 13217; + else + return 13218; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13222; + else if (West == West::Low) + return 13223; + else + return 13224; + else if (West == West::None) + return 13228; + else if (West == West::Low) + return 13229; + else + return 13230; + else if (Up) + if (West == West::None) + return 13234; + else if (West == West::Low) + return 13235; + else + return 13236; + else if (West == West::None) + return 13240; + else if (West == West::Low) + return 13241; + else + return 13242; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13246; + else if (West == West::Low) + return 13247; + else + return 13248; + else if (West == West::None) + return 13252; + else if (West == West::Low) + return 13253; + else + return 13254; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13258; + else if (West == West::Low) + return 13259; + else + return 13260; + else if (West == West::None) + return 13264; + else if (West == West::Low) + return 13265; + else + return 13266; + else if (Up) + if (West == West::None) + return 13270; + else if (West == West::Low) + return 13271; + else + return 13272; + else if (West == West::None) + return 13276; + else if (West == West::Low) + return 13277; + else + return 13278; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13282; + else if (West == West::Low) + return 13283; + else + return 13284; + else if (West == West::None) + return 13288; + else if (West == West::Low) + return 13289; + else + return 13290; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13294; + else if (West == West::Low) + return 13295; + else + return 13296; + else if (West == West::None) + return 13300; + else if (West == West::Low) + return 13301; + else + return 13302; + else if (Up) + if (West == West::None) + return 13306; + else if (West == West::Low) + return 13307; + else + return 13308; + else if (West == West::None) + return 13312; + else if (West == West::Low) + return 13313; + else + return 13314; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13318; + else if (West == West::Low) + return 13319; + else + return 13320; + else if (West == West::None) + return 13324; + else if (West == West::Low) + return 13325; + else + return 13326; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13330; + else if (West == West::Low) + return 13331; + else + return 13332; + else if (West == West::None) + return 13336; + else if (West == West::Low) + return 13337; + else + return 13338; + else if (Up) + if (West == West::None) + return 13342; + else if (West == West::Low) + return 13343; + else + return 13344; + else if (West == West::None) + return 13348; + else if (West == West::Low) + return 13349; + else + return 13350; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13354; + else if (West == West::Low) + return 13355; + else + return 13356; + else if (West == West::None) + return 13360; + else if (West == West::Low) + return 13361; + else + return 13362; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13366; + else if (West == West::Low) + return 13367; + else + return 13368; + else if (West == West::None) + return 13372; + else if (West == West::Low) + return 13373; + else + return 13374; + else if (Up) + if (West == West::None) + return 13378; + else if (West == West::Low) + return 13379; + else + return 13380; + else if (West == West::None) + return 13384; + else if (West == West::Low) + return 13385; + else + return 13386; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13390; + else if (West == West::Low) + return 13391; + else + return 13392; + else if (West == West::None) + return 13396; + else if (West == West::Low) + return 13397; + else + return 13398; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13402; + else if (West == West::Low) + return 13403; + else + return 13404; + else if (West == West::None) + return 13408; + else if (West == West::Low) + return 13409; + else + return 13410; + else if (Up) + if (West == West::None) + return 13414; + else if (West == West::Low) + return 13415; + else + return 13416; + else if (West == West::None) + return 13420; + else if (West == West::Low) + return 13421; + else + return 13422; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13426; + else if (West == West::Low) + return 13427; + else + return 13428; + else if (West == West::None) + return 13432; + else if (West == West::Low) + return 13433; + else + return 13434; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13438; + else if (West == West::Low) + return 13439; + else + return 13440; + else if (West == West::None) + return 13444; + else if (West == West::Low) + return 13445; + else + return 13446; + else if (Up) + if (West == West::None) + return 13450; + else if (West == West::Low) + return 13451; + else + return 13452; + else if (West == West::None) + return 13456; + else if (West == West::Low) + return 13457; + else + return 13458; +} +BlockState AndesiteWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace AndesiteWall +namespace Anvil +{ +constexpr BlockState Anvil(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6610; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6611; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6612; + else + return 6613; +} +BlockState Anvil(); +eBlockFace Facing(BlockState Block); +} // namespace Anvil +namespace AttachedMelonStem +{ +constexpr BlockState AttachedMelonStem(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 4768; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 4769; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 4770; + else + return 4771; +} +BlockState AttachedMelonStem(); +eBlockFace Facing(BlockState Block); +} // namespace AttachedMelonStem +namespace AttachedPumpkinStem +{ +constexpr BlockState AttachedPumpkinStem(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 4764; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 4765; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 4766; + else + return 4767; +} +BlockState AttachedPumpkinStem(); +eBlockFace Facing(BlockState Block); +} // namespace AttachedPumpkinStem +namespace AzureBluet +{ +constexpr BlockState AzureBluet() +{ + return 1416; +} +} // namespace AzureBluet +namespace Bamboo +{ +enum class Leaves +{ + None, + Small, + Large +}; +constexpr BlockState Bamboo(const unsigned char Age, const enum Leaves Leaves, const unsigned char Stage) +{ + if (Age == 0) + if (Leaves == Leaves::None) + if (Stage == 0) + return 9652; + else + return 9653; + else if (Leaves == Leaves::Small) + if (Stage == 0) + return 9654; + else + return 9655; + else if (Stage == 0) + return 9656; + else + return 9657; + else if (Leaves == Leaves::None) + if (Stage == 0) + return 9658; + else + return 9659; + else if (Leaves == Leaves::Small) + if (Stage == 0) + return 9660; + else + return 9661; + else if (Stage == 0) + return 9662; + else + return 9663; +} +BlockState Bamboo(); +unsigned char Age(BlockState Block); +enum Leaves Leaves(BlockState Block); +unsigned char Stage(BlockState Block); +} // namespace Bamboo +namespace BambooSapling +{ +constexpr BlockState BambooSapling() +{ + return 9651; +} +} // namespace BambooSapling +namespace Barrel +{ +constexpr BlockState Barrel(const eBlockFace Facing, const bool Open) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Open) + return 14791; + else + return 14792; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + if (Open) + return 14793; + else + return 14794; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Open) + return 14795; + else + return 14796; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Open) + return 14797; + else + return 14798; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + if (Open) + return 14799; + else + return 14800; + else if (Open) + return 14801; + else + return 14802; +} +BlockState Barrel(); +eBlockFace Facing(BlockState Block); +bool Open(BlockState Block); +} // namespace Barrel +namespace Barrier +{ +constexpr BlockState Barrier() +{ + return 7536; +} +} // namespace Barrier +namespace Basalt +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState Basalt(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 4002; + else if (Axis == Axis::Y) + return 4003; + else + return 4004; +} +BlockState Basalt(); +enum Axis Axis(BlockState Block); +} // namespace Basalt +namespace Beacon +{ +constexpr BlockState Beacon() +{ + return 5656; +} +} // namespace Beacon +namespace Bedrock +{ +constexpr BlockState Bedrock() +{ + return 33; +} +} // namespace Bedrock +namespace BeeNest +{ +constexpr BlockState BeeNest(const eBlockFace Facing, const unsigned char HoneyLevel) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (HoneyLevel == 0) + return 15776; + else if (HoneyLevel == 1) + return 15777; + else if (HoneyLevel == 2) + return 15778; + else if (HoneyLevel == 3) + return 15779; + else if (HoneyLevel == 4) + return 15780; + else + return 15781; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (HoneyLevel == 0) + return 15782; + else if (HoneyLevel == 1) + return 15783; + else if (HoneyLevel == 2) + return 15784; + else if (HoneyLevel == 3) + return 15785; + else if (HoneyLevel == 4) + return 15786; + else + return 15787; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (HoneyLevel == 0) + return 15788; + else if (HoneyLevel == 1) + return 15789; + else if (HoneyLevel == 2) + return 15790; + else if (HoneyLevel == 3) + return 15791; + else if (HoneyLevel == 4) + return 15792; + else + return 15793; + else if (HoneyLevel == 0) + return 15794; + else if (HoneyLevel == 1) + return 15795; + else if (HoneyLevel == 2) + return 15796; + else if (HoneyLevel == 3) + return 15797; + else if (HoneyLevel == 4) + return 15798; + else + return 15799; +} +BlockState BeeNest(); +eBlockFace Facing(BlockState Block); +unsigned char HoneyLevel(BlockState Block); +} // namespace BeeNest +namespace Beehive +{ +constexpr BlockState Beehive(const eBlockFace Facing, const unsigned char HoneyLevel) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (HoneyLevel == 0) + return 15800; + else if (HoneyLevel == 1) + return 15801; + else if (HoneyLevel == 2) + return 15802; + else if (HoneyLevel == 3) + return 15803; + else if (HoneyLevel == 4) + return 15804; + else + return 15805; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (HoneyLevel == 0) + return 15806; + else if (HoneyLevel == 1) + return 15807; + else if (HoneyLevel == 2) + return 15808; + else if (HoneyLevel == 3) + return 15809; + else if (HoneyLevel == 4) + return 15810; + else + return 15811; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (HoneyLevel == 0) + return 15812; + else if (HoneyLevel == 1) + return 15813; + else if (HoneyLevel == 2) + return 15814; + else if (HoneyLevel == 3) + return 15815; + else if (HoneyLevel == 4) + return 15816; + else + return 15817; + else if (HoneyLevel == 0) + return 15818; + else if (HoneyLevel == 1) + return 15819; + else if (HoneyLevel == 2) + return 15820; + else if (HoneyLevel == 3) + return 15821; + else if (HoneyLevel == 4) + return 15822; + else + return 15823; +} +BlockState Beehive(); +eBlockFace Facing(BlockState Block); +unsigned char HoneyLevel(BlockState Block); +} // namespace Beehive +namespace Beetroots +{ +constexpr BlockState Beetroots(const unsigned char Age) +{ + if (Age == 0) + return 9219; + else if (Age == 1) + return 9220; + else if (Age == 2) + return 9221; + else + return 9222; +} +BlockState Beetroots(); +unsigned char Age(BlockState Block); +} // namespace Beetroots +namespace Bell +{ +enum class Attachment +{ + Floor, + Ceiling, + SingleWall, + DoubleWall +}; +constexpr BlockState Bell(const enum Attachment Attachment, const eBlockFace Facing, const bool Powered) +{ + if (Attachment == Attachment::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 14854; + else + return 14855; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 14856; + else + return 14857; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 14858; + else + return 14859; + else if (Powered) + return 14860; + else + return 14861; + else if (Attachment == Attachment::Ceiling) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 14862; + else + return 14863; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 14864; + else + return 14865; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 14866; + else + return 14867; + else if (Powered) + return 14868; + else + return 14869; + else if (Attachment == Attachment::SingleWall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 14870; + else + return 14871; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 14872; + else + return 14873; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 14874; + else + return 14875; + else if (Powered) + return 14876; + else + return 14877; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 14878; + else + return 14879; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 14880; + else + return 14881; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 14882; + else + return 14883; + else if (Powered) + return 14884; + else + return 14885; +} +BlockState Bell(); +enum Attachment Attachment(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace Bell +namespace BirchButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState BirchButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6394; + else + return 6395; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6396; + else + return 6397; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6398; + else + return 6399; + else if (Powered) + return 6400; + else + return 6401; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6402; + else + return 6403; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6404; + else + return 6405; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6406; + else + return 6407; + else if (Powered) + return 6408; + else + return 6409; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6410; + else + return 6411; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6412; + else + return 6413; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6414; + else + return 6415; + else if (Powered) + return 6416; + else + return 6417; +} +BlockState BirchButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace BirchButton +namespace BirchDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState BirchDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8802; + else + return 8803; + else if (Powered) + return 8804; + else + return 8805; + else if (Open) + if (Powered) + return 8806; + else + return 8807; + else if (Powered) + return 8808; + else + return 8809; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8810; + else + return 8811; + else if (Powered) + return 8812; + else + return 8813; + else if (Open) + if (Powered) + return 8814; + else + return 8815; + else if (Powered) + return 8816; + else + return 8817; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8818; + else + return 8819; + else if (Powered) + return 8820; + else + return 8821; + else if (Open) + if (Powered) + return 8822; + else + return 8823; + else if (Powered) + return 8824; + else + return 8825; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8826; + else + return 8827; + else if (Powered) + return 8828; + else + return 8829; + else if (Open) + if (Powered) + return 8830; + else + return 8831; + else if (Powered) + return 8832; + else + return 8833; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8834; + else + return 8835; + else if (Powered) + return 8836; + else + return 8837; + else if (Open) + if (Powered) + return 8838; + else + return 8839; + else if (Powered) + return 8840; + else + return 8841; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8842; + else + return 8843; + else if (Powered) + return 8844; + else + return 8845; + else if (Open) + if (Powered) + return 8846; + else + return 8847; + else if (Powered) + return 8848; + else + return 8849; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8850; + else + return 8851; + else if (Powered) + return 8852; + else + return 8853; + else if (Open) + if (Powered) + return 8854; + else + return 8855; + else if (Powered) + return 8856; + else + return 8857; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8858; + else + return 8859; + else if (Powered) + return 8860; + else + return 8861; + else if (Open) + if (Powered) + return 8862; + else + return 8863; + else if (Powered) + return 8864; + else + return 8865; +} +BlockState BirchDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace BirchDoor +namespace BirchFence +{ +constexpr BlockState BirchFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 8612; + else + return 8613; + else if (West) + return 8616; + else + return 8617; + else if (South) + if (West) + return 8620; + else + return 8621; + else if (West) + return 8624; + else + return 8625; + else if (North) + if (South) + if (West) + return 8628; + else + return 8629; + else if (West) + return 8632; + else + return 8633; + else if (South) + if (West) + return 8636; + else + return 8637; + else if (West) + return 8640; + else + return 8641; +} +BlockState BirchFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace BirchFence +namespace BirchFenceGate +{ +constexpr BlockState BirchFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (InWall) + if (Open) + if (Powered) + return 8450; + else + return 8451; + else if (Powered) + return 8452; + else + return 8453; + else if (Open) + if (Powered) + return 8454; + else + return 8455; + else if (Powered) + return 8456; + else + return 8457; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (InWall) + if (Open) + if (Powered) + return 8458; + else + return 8459; + else if (Powered) + return 8460; + else + return 8461; + else if (Open) + if (Powered) + return 8462; + else + return 8463; + else if (Powered) + return 8464; + else + return 8465; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (InWall) + if (Open) + if (Powered) + return 8466; + else + return 8467; + else if (Powered) + return 8468; + else + return 8469; + else if (Open) + if (Powered) + return 8470; + else + return 8471; + else if (Powered) + return 8472; + else + return 8473; + else if (InWall) + if (Open) + if (Powered) + return 8474; + else + return 8475; + else if (Powered) + return 8476; + else + return 8477; + else if (Open) + if (Powered) + return 8478; + else + return 8479; + else if (Powered) + return 8480; + else + return 8481; +} +BlockState BirchFenceGate(); +eBlockFace Facing(BlockState Block); +bool InWall(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace BirchFenceGate +namespace BirchLeaves +{ +constexpr BlockState BirchLeaves(const unsigned char Distance, const bool Persistent) +{ + if (Distance == 1) + if (Persistent) + return 173; + else + return 174; + else if (Distance == 2) + if (Persistent) + return 175; + else + return 176; + else if (Distance == 3) + if (Persistent) + return 177; + else + return 178; + else if (Distance == 4) + if (Persistent) + return 179; + else + return 180; + else if (Distance == 5) + if (Persistent) + return 181; + else + return 182; + else if (Distance == 6) + if (Persistent) + return 183; + else + return 184; + else if (Persistent) + return 185; + else + return 186; +} +BlockState BirchLeaves(); +unsigned char Distance(BlockState Block); +bool Persistent(BlockState Block); +} // namespace BirchLeaves +namespace BirchLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState BirchLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 79; + else if (Axis == Axis::Y) + return 80; + else + return 81; +} +BlockState BirchLog(); +enum Axis Axis(BlockState Block); +} // namespace BirchLog +namespace BirchPlanks +{ +constexpr BlockState BirchPlanks() +{ + return 17; +} +} // namespace BirchPlanks +namespace BirchPressurePlate +{ +constexpr BlockState BirchPressurePlate(const bool Powered) +{ + if (Powered) + return 3877; + else + return 3878; +} +BlockState BirchPressurePlate(); +bool Powered(BlockState Block); +} // namespace BirchPressurePlate +namespace BirchSapling +{ +constexpr BlockState BirchSapling(const unsigned char Stage) +{ + if (Stage == 0) + return 25; + else + return 26; +} +BlockState BirchSapling(); +unsigned char Stage(BlockState Block); +} // namespace BirchSapling +namespace BirchSign +{ +constexpr BlockState BirchSign(const unsigned char Rotation) +{ + if (Rotation == 0) + return 3446; + else if (Rotation == 1) + return 3448; + else if (Rotation == 2) + return 3450; + else if (Rotation == 3) + return 3452; + else if (Rotation == 4) + return 3454; + else if (Rotation == 5) + return 3456; + else if (Rotation == 6) + return 3458; + else if (Rotation == 7) + return 3460; + else if (Rotation == 8) + return 3462; + else if (Rotation == 9) + return 3464; + else if (Rotation == 10) + return 3466; + else if (Rotation == 11) + return 3468; + else if (Rotation == 12) + return 3470; + else if (Rotation == 13) + return 3472; + else if (Rotation == 14) + return 3474; + else + return 3476; +} +BlockState BirchSign(); +unsigned char Rotation(BlockState Block); +} // namespace BirchSign +namespace BirchSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState BirchSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8313; + else if (Type == Type::Bottom) + return 8315; + else + return 8317; +} +BlockState BirchSlab(); +enum Type Type(BlockState Block); +} // namespace BirchSlab +namespace BirchStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState BirchStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5485; + else if (Shape == Shape::InnerLeft) + return 5487; + else if (Shape == Shape::InnerRight) + return 5489; + else if (Shape == Shape::OuterLeft) + return 5491; + else + return 5493; + else if (Shape == Shape::Straight) + return 5495; + else if (Shape == Shape::InnerLeft) + return 5497; + else if (Shape == Shape::InnerRight) + return 5499; + else if (Shape == Shape::OuterLeft) + return 5501; + else + return 5503; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5505; + else if (Shape == Shape::InnerLeft) + return 5507; + else if (Shape == Shape::InnerRight) + return 5509; + else if (Shape == Shape::OuterLeft) + return 5511; + else + return 5513; + else if (Shape == Shape::Straight) + return 5515; + else if (Shape == Shape::InnerLeft) + return 5517; + else if (Shape == Shape::InnerRight) + return 5519; + else if (Shape == Shape::OuterLeft) + return 5521; + else + return 5523; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5525; + else if (Shape == Shape::InnerLeft) + return 5527; + else if (Shape == Shape::InnerRight) + return 5529; + else if (Shape == Shape::OuterLeft) + return 5531; + else + return 5533; + else if (Shape == Shape::Straight) + return 5535; + else if (Shape == Shape::InnerLeft) + return 5537; + else if (Shape == Shape::InnerRight) + return 5539; + else if (Shape == Shape::OuterLeft) + return 5541; + else + return 5543; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5545; + else if (Shape == Shape::InnerLeft) + return 5547; + else if (Shape == Shape::InnerRight) + return 5549; + else if (Shape == Shape::OuterLeft) + return 5551; + else + return 5553; + else if (Shape == Shape::Straight) + return 5555; + else if (Shape == Shape::InnerLeft) + return 5557; + else if (Shape == Shape::InnerRight) + return 5559; + else if (Shape == Shape::OuterLeft) + return 5561; + else + return 5563; +} +BlockState BirchStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace BirchStairs +namespace BirchTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState BirchTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4240; + else + return 4242; + else if (Powered) + return 4244; + else + return 4246; + else if (Open) + if (Powered) + return 4248; + else + return 4250; + else if (Powered) + return 4252; + else + return 4254; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4256; + else + return 4258; + else if (Powered) + return 4260; + else + return 4262; + else if (Open) + if (Powered) + return 4264; + else + return 4266; + else if (Powered) + return 4268; + else + return 4270; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4272; + else + return 4274; + else if (Powered) + return 4276; + else + return 4278; + else if (Open) + if (Powered) + return 4280; + else + return 4282; + else if (Powered) + return 4284; + else + return 4286; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 4288; + else + return 4290; + else if (Powered) + return 4292; + else + return 4294; + else if (Open) + if (Powered) + return 4296; + else + return 4298; + else if (Powered) + return 4300; + else + return 4302; +} +BlockState BirchTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace BirchTrapdoor +namespace BirchWallSign +{ +constexpr BlockState BirchWallSign(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 3752; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 3754; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 3756; + else + return 3758; +} +BlockState BirchWallSign(); +eBlockFace Facing(BlockState Block); +} // namespace BirchWallSign +namespace BirchWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState BirchWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 115; + else if (Axis == Axis::Y) + return 116; + else + return 117; +} +BlockState BirchWood(); +enum Axis Axis(BlockState Block); +} // namespace BirchWood +namespace BlackBanner +{ +constexpr BlockState BlackBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8137; + else if (Rotation == 1) + return 8138; + else if (Rotation == 2) + return 8139; + else if (Rotation == 3) + return 8140; + else if (Rotation == 4) + return 8141; + else if (Rotation == 5) + return 8142; + else if (Rotation == 6) + return 8143; + else if (Rotation == 7) + return 8144; + else if (Rotation == 8) + return 8145; + else if (Rotation == 9) + return 8146; + else if (Rotation == 10) + return 8147; + else if (Rotation == 11) + return 8148; + else if (Rotation == 12) + return 8149; + else if (Rotation == 13) + return 8150; + else if (Rotation == 14) + return 8151; + else + return 8152; +} +BlockState BlackBanner(); +unsigned char Rotation(BlockState Block); +} // namespace BlackBanner +namespace BlackBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState BlackBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1289; + else + return 1290; + else if (Part == Part::Head) + return 1291; + else + return 1292; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1293; + else + return 1294; + else if (Part == Part::Head) + return 1295; + else + return 1296; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1297; + else + return 1298; + else if (Part == Part::Head) + return 1299; + else + return 1300; + else if (Occupied) + if (Part == Part::Head) + return 1301; + else + return 1302; + else if (Part == Part::Head) + return 1303; + else + return 1304; +} +BlockState BlackBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace BlackBed +namespace BlackCarpet +{ +constexpr BlockState BlackCarpet() +{ + return 7881; +} +} // namespace BlackCarpet +namespace BlackConcrete +{ +constexpr BlockState BlackConcrete() +{ + return 9453; +} +} // namespace BlackConcrete +namespace BlackConcretePowder +{ +constexpr BlockState BlackConcretePowder() +{ + return 9469; +} +} // namespace BlackConcretePowder +namespace BlackGlazedTerracotta +{ +constexpr BlockState BlackGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9434; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9435; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9436; + else + return 9437; +} +BlockState BlackGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace BlackGlazedTerracotta +namespace BlackShulkerBox +{ +constexpr BlockState BlackShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9368; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9369; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9370; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9371; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9372; + else + return 9373; +} +BlockState BlackShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace BlackShulkerBox +namespace BlackStainedGlass +{ +constexpr BlockState BlackStainedGlass() +{ + return 4110; +} +} // namespace BlackStainedGlass +namespace BlackStainedGlassPane +{ +constexpr BlockState BlackStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7345; + else + return 7346; + else if (West) + return 7349; + else + return 7350; + else if (South) + if (West) + return 7353; + else + return 7354; + else if (West) + return 7357; + else + return 7358; + else if (North) + if (South) + if (West) + return 7361; + else + return 7362; + else if (West) + return 7365; + else + return 7366; + else if (South) + if (West) + return 7369; + else + return 7370; + else if (West) + return 7373; + else + return 7374; +} +BlockState BlackStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace BlackStainedGlassPane +namespace BlackTerracotta +{ +constexpr BlockState BlackTerracotta() +{ + return 6862; +} +} // namespace BlackTerracotta +namespace BlackWallBanner +{ +constexpr BlockState BlackWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8213; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8214; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8215; + else + return 8216; +} +BlockState BlackWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace BlackWallBanner +namespace BlackWool +{ +constexpr BlockState BlackWool() +{ + return 1399; +} +} // namespace BlackWool +namespace Blackstone +{ +constexpr BlockState Blackstone() +{ + return 15839; +} +} // namespace Blackstone +namespace BlackstoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState BlackstoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 16245; + else if (Type == Type::Bottom) + return 16247; + else + return 16249; +} +BlockState BlackstoneSlab(); +enum Type Type(BlockState Block); +} // namespace BlackstoneSlab +namespace BlackstoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState BlackstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15841; + else if (Shape == Shape::InnerLeft) + return 15843; + else if (Shape == Shape::InnerRight) + return 15845; + else if (Shape == Shape::OuterLeft) + return 15847; + else + return 15849; + else if (Shape == Shape::Straight) + return 15851; + else if (Shape == Shape::InnerLeft) + return 15853; + else if (Shape == Shape::InnerRight) + return 15855; + else if (Shape == Shape::OuterLeft) + return 15857; + else + return 15859; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15861; + else if (Shape == Shape::InnerLeft) + return 15863; + else if (Shape == Shape::InnerRight) + return 15865; + else if (Shape == Shape::OuterLeft) + return 15867; + else + return 15869; + else if (Shape == Shape::Straight) + return 15871; + else if (Shape == Shape::InnerLeft) + return 15873; + else if (Shape == Shape::InnerRight) + return 15875; + else if (Shape == Shape::OuterLeft) + return 15877; + else + return 15879; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15881; + else if (Shape == Shape::InnerLeft) + return 15883; + else if (Shape == Shape::InnerRight) + return 15885; + else if (Shape == Shape::OuterLeft) + return 15887; + else + return 15889; + else if (Shape == Shape::Straight) + return 15891; + else if (Shape == Shape::InnerLeft) + return 15893; + else if (Shape == Shape::InnerRight) + return 15895; + else if (Shape == Shape::OuterLeft) + return 15897; + else + return 15899; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15901; + else if (Shape == Shape::InnerLeft) + return 15903; + else if (Shape == Shape::InnerRight) + return 15905; + else if (Shape == Shape::OuterLeft) + return 15907; + else + return 15909; + else if (Shape == Shape::Straight) + return 15911; + else if (Shape == Shape::InnerLeft) + return 15913; + else if (Shape == Shape::InnerRight) + return 15915; + else if (Shape == Shape::OuterLeft) + return 15917; + else + return 15919; +} +BlockState BlackstoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace BlackstoneStairs +namespace BlackstoneWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState BlackstoneWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 15923; + else if (West == West::Low) + return 15924; + else + return 15925; + else if (West == West::None) + return 15929; + else if (West == West::Low) + return 15930; + else + return 15931; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 15935; + else if (West == West::Low) + return 15936; + else + return 15937; + else if (West == West::None) + return 15941; + else if (West == West::Low) + return 15942; + else + return 15943; + else if (Up) + if (West == West::None) + return 15947; + else if (West == West::Low) + return 15948; + else + return 15949; + else if (West == West::None) + return 15953; + else if (West == West::Low) + return 15954; + else + return 15955; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 15959; + else if (West == West::Low) + return 15960; + else + return 15961; + else if (West == West::None) + return 15965; + else if (West == West::Low) + return 15966; + else + return 15967; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 15971; + else if (West == West::Low) + return 15972; + else + return 15973; + else if (West == West::None) + return 15977; + else if (West == West::Low) + return 15978; + else + return 15979; + else if (Up) + if (West == West::None) + return 15983; + else if (West == West::Low) + return 15984; + else + return 15985; + else if (West == West::None) + return 15989; + else if (West == West::Low) + return 15990; + else + return 15991; + else if (South == South::None) + if (Up) + if (West == West::None) + return 15995; + else if (West == West::Low) + return 15996; + else + return 15997; + else if (West == West::None) + return 16001; + else if (West == West::Low) + return 16002; + else + return 16003; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16007; + else if (West == West::Low) + return 16008; + else + return 16009; + else if (West == West::None) + return 16013; + else if (West == West::Low) + return 16014; + else + return 16015; + else if (Up) + if (West == West::None) + return 16019; + else if (West == West::Low) + return 16020; + else + return 16021; + else if (West == West::None) + return 16025; + else if (West == West::Low) + return 16026; + else + return 16027; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 16031; + else if (West == West::Low) + return 16032; + else + return 16033; + else if (West == West::None) + return 16037; + else if (West == West::Low) + return 16038; + else + return 16039; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16043; + else if (West == West::Low) + return 16044; + else + return 16045; + else if (West == West::None) + return 16049; + else if (West == West::Low) + return 16050; + else + return 16051; + else if (Up) + if (West == West::None) + return 16055; + else if (West == West::Low) + return 16056; + else + return 16057; + else if (West == West::None) + return 16061; + else if (West == West::Low) + return 16062; + else + return 16063; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 16067; + else if (West == West::Low) + return 16068; + else + return 16069; + else if (West == West::None) + return 16073; + else if (West == West::Low) + return 16074; + else + return 16075; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16079; + else if (West == West::Low) + return 16080; + else + return 16081; + else if (West == West::None) + return 16085; + else if (West == West::Low) + return 16086; + else + return 16087; + else if (Up) + if (West == West::None) + return 16091; + else if (West == West::Low) + return 16092; + else + return 16093; + else if (West == West::None) + return 16097; + else if (West == West::Low) + return 16098; + else + return 16099; + else if (South == South::None) + if (Up) + if (West == West::None) + return 16103; + else if (West == West::Low) + return 16104; + else + return 16105; + else if (West == West::None) + return 16109; + else if (West == West::Low) + return 16110; + else + return 16111; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16115; + else if (West == West::Low) + return 16116; + else + return 16117; + else if (West == West::None) + return 16121; + else if (West == West::Low) + return 16122; + else + return 16123; + else if (Up) + if (West == West::None) + return 16127; + else if (West == West::Low) + return 16128; + else + return 16129; + else if (West == West::None) + return 16133; + else if (West == West::Low) + return 16134; + else + return 16135; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 16139; + else if (West == West::Low) + return 16140; + else + return 16141; + else if (West == West::None) + return 16145; + else if (West == West::Low) + return 16146; + else + return 16147; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16151; + else if (West == West::Low) + return 16152; + else + return 16153; + else if (West == West::None) + return 16157; + else if (West == West::Low) + return 16158; + else + return 16159; + else if (Up) + if (West == West::None) + return 16163; + else if (West == West::Low) + return 16164; + else + return 16165; + else if (West == West::None) + return 16169; + else if (West == West::Low) + return 16170; + else + return 16171; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 16175; + else if (West == West::Low) + return 16176; + else + return 16177; + else if (West == West::None) + return 16181; + else if (West == West::Low) + return 16182; + else + return 16183; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16187; + else if (West == West::Low) + return 16188; + else + return 16189; + else if (West == West::None) + return 16193; + else if (West == West::Low) + return 16194; + else + return 16195; + else if (Up) + if (West == West::None) + return 16199; + else if (West == West::Low) + return 16200; + else + return 16201; + else if (West == West::None) + return 16205; + else if (West == West::Low) + return 16206; + else + return 16207; + else if (South == South::None) + if (Up) + if (West == West::None) + return 16211; + else if (West == West::Low) + return 16212; + else + return 16213; + else if (West == West::None) + return 16217; + else if (West == West::Low) + return 16218; + else + return 16219; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16223; + else if (West == West::Low) + return 16224; + else + return 16225; + else if (West == West::None) + return 16229; + else if (West == West::Low) + return 16230; + else + return 16231; + else if (Up) + if (West == West::None) + return 16235; + else if (West == West::Low) + return 16236; + else + return 16237; + else if (West == West::None) + return 16241; + else if (West == West::Low) + return 16242; + else + return 16243; +} +BlockState BlackstoneWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace BlackstoneWall +namespace BlastFurnace +{ +constexpr BlockState BlastFurnace(const eBlockFace Facing, const bool Lit) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Lit) + return 14811; + else + return 14812; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Lit) + return 14813; + else + return 14814; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Lit) + return 14815; + else + return 14816; + else if (Lit) + return 14817; + else + return 14818; +} +BlockState BlastFurnace(); +eBlockFace Facing(BlockState Block); +bool Lit(BlockState Block); +} // namespace BlastFurnace +namespace BlueBanner +{ +constexpr BlockState BlueBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8073; + else if (Rotation == 1) + return 8074; + else if (Rotation == 2) + return 8075; + else if (Rotation == 3) + return 8076; + else if (Rotation == 4) + return 8077; + else if (Rotation == 5) + return 8078; + else if (Rotation == 6) + return 8079; + else if (Rotation == 7) + return 8080; + else if (Rotation == 8) + return 8081; + else if (Rotation == 9) + return 8082; + else if (Rotation == 10) + return 8083; + else if (Rotation == 11) + return 8084; + else if (Rotation == 12) + return 8085; + else if (Rotation == 13) + return 8086; + else if (Rotation == 14) + return 8087; + else + return 8088; +} +BlockState BlueBanner(); +unsigned char Rotation(BlockState Block); +} // namespace BlueBanner +namespace BlueBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState BlueBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1225; + else + return 1226; + else if (Part == Part::Head) + return 1227; + else + return 1228; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1229; + else + return 1230; + else if (Part == Part::Head) + return 1231; + else + return 1232; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1233; + else + return 1234; + else if (Part == Part::Head) + return 1235; + else + return 1236; + else if (Occupied) + if (Part == Part::Head) + return 1237; + else + return 1238; + else if (Part == Part::Head) + return 1239; + else + return 1240; +} +BlockState BlueBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace BlueBed +namespace BlueCarpet +{ +constexpr BlockState BlueCarpet() +{ + return 7877; +} +} // namespace BlueCarpet +namespace BlueConcrete +{ +constexpr BlockState BlueConcrete() +{ + return 9449; +} +} // namespace BlueConcrete +namespace BlueConcretePowder +{ +constexpr BlockState BlueConcretePowder() +{ + return 9465; +} +} // namespace BlueConcretePowder +namespace BlueGlazedTerracotta +{ +constexpr BlockState BlueGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9418; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9419; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9420; + else + return 9421; +} +BlockState BlueGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace BlueGlazedTerracotta +namespace BlueIce +{ +constexpr BlockState BlueIce() +{ + return 9648; +} +} // namespace BlueIce +namespace BlueOrchid +{ +constexpr BlockState BlueOrchid() +{ + return 1414; +} +} // namespace BlueOrchid +namespace BlueShulkerBox +{ +constexpr BlockState BlueShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9344; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9345; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9346; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9347; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9348; + else + return 9349; +} +BlockState BlueShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace BlueShulkerBox +namespace BlueStainedGlass +{ +constexpr BlockState BlueStainedGlass() +{ + return 4106; +} +} // namespace BlueStainedGlass +namespace BlueStainedGlassPane +{ +constexpr BlockState BlueStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7217; + else + return 7218; + else if (West) + return 7221; + else + return 7222; + else if (South) + if (West) + return 7225; + else + return 7226; + else if (West) + return 7229; + else + return 7230; + else if (North) + if (South) + if (West) + return 7233; + else + return 7234; + else if (West) + return 7237; + else + return 7238; + else if (South) + if (West) + return 7241; + else + return 7242; + else if (West) + return 7245; + else + return 7246; +} +BlockState BlueStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace BlueStainedGlassPane +namespace BlueTerracotta +{ +constexpr BlockState BlueTerracotta() +{ + return 6858; +} +} // namespace BlueTerracotta +namespace BlueWallBanner +{ +constexpr BlockState BlueWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8197; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8198; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8199; + else + return 8200; +} +BlockState BlueWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace BlueWallBanner +namespace BlueWool +{ +constexpr BlockState BlueWool() +{ + return 1395; +} +} // namespace BlueWool +namespace BoneBlock +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState BoneBlock(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 9256; + else if (Axis == Axis::Y) + return 9257; + else + return 9258; +} +BlockState BoneBlock(); +enum Axis Axis(BlockState Block); +} // namespace BoneBlock +namespace Bookshelf +{ +constexpr BlockState Bookshelf() +{ + return 1432; +} +} // namespace Bookshelf +namespace BrainCoral +{ +constexpr BlockState BrainCoral() +{ + return 9533; +} +} // namespace BrainCoral +namespace BrainCoralBlock +{ +constexpr BlockState BrainCoralBlock() +{ + return 9516; +} +} // namespace BrainCoralBlock +namespace BrainCoralFan +{ +constexpr BlockState BrainCoralFan() +{ + return 9553; +} +} // namespace BrainCoralFan +namespace BrainCoralWallFan +{ +constexpr BlockState BrainCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9609; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9611; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9613; + else + return 9615; +} +BlockState BrainCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace BrainCoralWallFan +namespace BrewingStand +{ +constexpr BlockState BrewingStand(const bool HasBottle_0, const bool HasBottle_1, const bool HasBottle_2) +{ + if (HasBottle_0) + if (HasBottle_1) + if (HasBottle_2) + return 5133; + else + return 5134; + else if (HasBottle_2) + return 5135; + else + return 5136; + else if (HasBottle_1) + if (HasBottle_2) + return 5137; + else + return 5138; + else if (HasBottle_2) + return 5139; + else + return 5140; +} +BlockState BrewingStand(); +bool HasBottle_0(BlockState Block); +bool HasBottle_1(BlockState Block); +bool HasBottle_2(BlockState Block); +} // namespace BrewingStand +namespace BrickSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState BrickSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8373; + else if (Type == Type::Bottom) + return 8375; + else + return 8377; +} +BlockState BrickSlab(); +enum Type Type(BlockState Block); +} // namespace BrickSlab +namespace BrickStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState BrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 4853; + else if (Shape == Shape::InnerLeft) + return 4855; + else if (Shape == Shape::InnerRight) + return 4857; + else if (Shape == Shape::OuterLeft) + return 4859; + else + return 4861; + else if (Shape == Shape::Straight) + return 4863; + else if (Shape == Shape::InnerLeft) + return 4865; + else if (Shape == Shape::InnerRight) + return 4867; + else if (Shape == Shape::OuterLeft) + return 4869; + else + return 4871; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 4873; + else if (Shape == Shape::InnerLeft) + return 4875; + else if (Shape == Shape::InnerRight) + return 4877; + else if (Shape == Shape::OuterLeft) + return 4879; + else + return 4881; + else if (Shape == Shape::Straight) + return 4883; + else if (Shape == Shape::InnerLeft) + return 4885; + else if (Shape == Shape::InnerRight) + return 4887; + else if (Shape == Shape::OuterLeft) + return 4889; + else + return 4891; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 4893; + else if (Shape == Shape::InnerLeft) + return 4895; + else if (Shape == Shape::InnerRight) + return 4897; + else if (Shape == Shape::OuterLeft) + return 4899; + else + return 4901; + else if (Shape == Shape::Straight) + return 4903; + else if (Shape == Shape::InnerLeft) + return 4905; + else if (Shape == Shape::InnerRight) + return 4907; + else if (Shape == Shape::OuterLeft) + return 4909; + else + return 4911; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 4913; + else if (Shape == Shape::InnerLeft) + return 4915; + else if (Shape == Shape::InnerRight) + return 4917; + else if (Shape == Shape::OuterLeft) + return 4919; + else + return 4921; + else if (Shape == Shape::Straight) + return 4923; + else if (Shape == Shape::InnerLeft) + return 4925; + else if (Shape == Shape::InnerRight) + return 4927; + else if (Shape == Shape::OuterLeft) + return 4929; + else + return 4931; +} +BlockState BrickStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace BrickStairs +namespace BrickWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState BrickWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 10870; + else if (West == West::Low) + return 10871; + else + return 10872; + else if (West == West::None) + return 10876; + else if (West == West::Low) + return 10877; + else + return 10878; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 10882; + else if (West == West::Low) + return 10883; + else + return 10884; + else if (West == West::None) + return 10888; + else if (West == West::Low) + return 10889; + else + return 10890; + else if (Up) + if (West == West::None) + return 10894; + else if (West == West::Low) + return 10895; + else + return 10896; + else if (West == West::None) + return 10900; + else if (West == West::Low) + return 10901; + else + return 10902; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 10906; + else if (West == West::Low) + return 10907; + else + return 10908; + else if (West == West::None) + return 10912; + else if (West == West::Low) + return 10913; + else + return 10914; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 10918; + else if (West == West::Low) + return 10919; + else + return 10920; + else if (West == West::None) + return 10924; + else if (West == West::Low) + return 10925; + else + return 10926; + else if (Up) + if (West == West::None) + return 10930; + else if (West == West::Low) + return 10931; + else + return 10932; + else if (West == West::None) + return 10936; + else if (West == West::Low) + return 10937; + else + return 10938; + else if (South == South::None) + if (Up) + if (West == West::None) + return 10942; + else if (West == West::Low) + return 10943; + else + return 10944; + else if (West == West::None) + return 10948; + else if (West == West::Low) + return 10949; + else + return 10950; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 10954; + else if (West == West::Low) + return 10955; + else + return 10956; + else if (West == West::None) + return 10960; + else if (West == West::Low) + return 10961; + else + return 10962; + else if (Up) + if (West == West::None) + return 10966; + else if (West == West::Low) + return 10967; + else + return 10968; + else if (West == West::None) + return 10972; + else if (West == West::Low) + return 10973; + else + return 10974; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 10978; + else if (West == West::Low) + return 10979; + else + return 10980; + else if (West == West::None) + return 10984; + else if (West == West::Low) + return 10985; + else + return 10986; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 10990; + else if (West == West::Low) + return 10991; + else + return 10992; + else if (West == West::None) + return 10996; + else if (West == West::Low) + return 10997; + else + return 10998; + else if (Up) + if (West == West::None) + return 11002; + else if (West == West::Low) + return 11003; + else + return 11004; + else if (West == West::None) + return 11008; + else if (West == West::Low) + return 11009; + else + return 11010; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11014; + else if (West == West::Low) + return 11015; + else + return 11016; + else if (West == West::None) + return 11020; + else if (West == West::Low) + return 11021; + else + return 11022; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11026; + else if (West == West::Low) + return 11027; + else + return 11028; + else if (West == West::None) + return 11032; + else if (West == West::Low) + return 11033; + else + return 11034; + else if (Up) + if (West == West::None) + return 11038; + else if (West == West::Low) + return 11039; + else + return 11040; + else if (West == West::None) + return 11044; + else if (West == West::Low) + return 11045; + else + return 11046; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11050; + else if (West == West::Low) + return 11051; + else + return 11052; + else if (West == West::None) + return 11056; + else if (West == West::Low) + return 11057; + else + return 11058; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11062; + else if (West == West::Low) + return 11063; + else + return 11064; + else if (West == West::None) + return 11068; + else if (West == West::Low) + return 11069; + else + return 11070; + else if (Up) + if (West == West::None) + return 11074; + else if (West == West::Low) + return 11075; + else + return 11076; + else if (West == West::None) + return 11080; + else if (West == West::Low) + return 11081; + else + return 11082; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11086; + else if (West == West::Low) + return 11087; + else + return 11088; + else if (West == West::None) + return 11092; + else if (West == West::Low) + return 11093; + else + return 11094; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11098; + else if (West == West::Low) + return 11099; + else + return 11100; + else if (West == West::None) + return 11104; + else if (West == West::Low) + return 11105; + else + return 11106; + else if (Up) + if (West == West::None) + return 11110; + else if (West == West::Low) + return 11111; + else + return 11112; + else if (West == West::None) + return 11116; + else if (West == West::Low) + return 11117; + else + return 11118; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11122; + else if (West == West::Low) + return 11123; + else + return 11124; + else if (West == West::None) + return 11128; + else if (West == West::Low) + return 11129; + else + return 11130; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11134; + else if (West == West::Low) + return 11135; + else + return 11136; + else if (West == West::None) + return 11140; + else if (West == West::Low) + return 11141; + else + return 11142; + else if (Up) + if (West == West::None) + return 11146; + else if (West == West::Low) + return 11147; + else + return 11148; + else if (West == West::None) + return 11152; + else if (West == West::Low) + return 11153; + else + return 11154; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11158; + else if (West == West::Low) + return 11159; + else + return 11160; + else if (West == West::None) + return 11164; + else if (West == West::Low) + return 11165; + else + return 11166; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11170; + else if (West == West::Low) + return 11171; + else + return 11172; + else if (West == West::None) + return 11176; + else if (West == West::Low) + return 11177; + else + return 11178; + else if (Up) + if (West == West::None) + return 11182; + else if (West == West::Low) + return 11183; + else + return 11184; + else if (West == West::None) + return 11188; + else if (West == West::Low) + return 11189; + else + return 11190; +} +BlockState BrickWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace BrickWall +namespace Bricks +{ +constexpr BlockState Bricks() +{ + return 1429; +} +} // namespace Bricks +namespace BrownBanner +{ +constexpr BlockState BrownBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8089; + else if (Rotation == 1) + return 8090; + else if (Rotation == 2) + return 8091; + else if (Rotation == 3) + return 8092; + else if (Rotation == 4) + return 8093; + else if (Rotation == 5) + return 8094; + else if (Rotation == 6) + return 8095; + else if (Rotation == 7) + return 8096; + else if (Rotation == 8) + return 8097; + else if (Rotation == 9) + return 8098; + else if (Rotation == 10) + return 8099; + else if (Rotation == 11) + return 8100; + else if (Rotation == 12) + return 8101; + else if (Rotation == 13) + return 8102; + else if (Rotation == 14) + return 8103; + else + return 8104; +} +BlockState BrownBanner(); +unsigned char Rotation(BlockState Block); +} // namespace BrownBanner +namespace BrownBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState BrownBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1241; + else + return 1242; + else if (Part == Part::Head) + return 1243; + else + return 1244; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1245; + else + return 1246; + else if (Part == Part::Head) + return 1247; + else + return 1248; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1249; + else + return 1250; + else if (Part == Part::Head) + return 1251; + else + return 1252; + else if (Occupied) + if (Part == Part::Head) + return 1253; + else + return 1254; + else if (Part == Part::Head) + return 1255; + else + return 1256; +} +BlockState BrownBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace BrownBed +namespace BrownCarpet +{ +constexpr BlockState BrownCarpet() +{ + return 7878; +} +} // namespace BrownCarpet +namespace BrownConcrete +{ +constexpr BlockState BrownConcrete() +{ + return 9450; +} +} // namespace BrownConcrete +namespace BrownConcretePowder +{ +constexpr BlockState BrownConcretePowder() +{ + return 9466; +} +} // namespace BrownConcretePowder +namespace BrownGlazedTerracotta +{ +constexpr BlockState BrownGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9422; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9423; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9424; + else + return 9425; +} +BlockState BrownGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace BrownGlazedTerracotta +namespace BrownMushroom +{ +constexpr BlockState BrownMushroom() +{ + return 1425; +} +} // namespace BrownMushroom +namespace BrownMushroomBlock +{ +constexpr BlockState BrownMushroomBlock( + const bool Down, + const bool East, + const bool North, + const bool South, + const bool Up, + const bool West +) +{ + if (Down) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 4505; + else + return 4506; + else if (West) + return 4507; + else + return 4508; + else if (Up) + if (West) + return 4509; + else + return 4510; + else if (West) + return 4511; + else + return 4512; + else if (South) + if (Up) + if (West) + return 4513; + else + return 4514; + else if (West) + return 4515; + else + return 4516; + else if (Up) + if (West) + return 4517; + else + return 4518; + else if (West) + return 4519; + else + return 4520; + else if (North) + if (South) + if (Up) + if (West) + return 4521; + else + return 4522; + else if (West) + return 4523; + else + return 4524; + else if (Up) + if (West) + return 4525; + else + return 4526; + else if (West) + return 4527; + else + return 4528; + else if (South) + if (Up) + if (West) + return 4529; + else + return 4530; + else if (West) + return 4531; + else + return 4532; + else if (Up) + if (West) + return 4533; + else + return 4534; + else if (West) + return 4535; + else + return 4536; + else if (East) + if (North) + if (South) + if (Up) + if (West) + return 4537; + else + return 4538; + else if (West) + return 4539; + else + return 4540; + else if (Up) + if (West) + return 4541; + else + return 4542; + else if (West) + return 4543; + else + return 4544; + else if (South) + if (Up) + if (West) + return 4545; + else + return 4546; + else if (West) + return 4547; + else + return 4548; + else if (Up) + if (West) + return 4549; + else + return 4550; + else if (West) + return 4551; + else + return 4552; + else if (North) + if (South) + if (Up) + if (West) + return 4553; + else + return 4554; + else if (West) + return 4555; + else + return 4556; + else if (Up) + if (West) + return 4557; + else + return 4558; + else if (West) + return 4559; + else + return 4560; + else if (South) + if (Up) + if (West) + return 4561; + else + return 4562; + else if (West) + return 4563; + else + return 4564; + else if (Up) + if (West) + return 4565; + else + return 4566; + else if (West) + return 4567; + else + return 4568; +} +BlockState BrownMushroomBlock(); +bool Down(BlockState Block); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool Up(BlockState Block); +bool West(BlockState Block); +} // namespace BrownMushroomBlock +namespace BrownShulkerBox +{ +constexpr BlockState BrownShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9350; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9351; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9352; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9353; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9354; + else + return 9355; +} +BlockState BrownShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace BrownShulkerBox +namespace BrownStainedGlass +{ +constexpr BlockState BrownStainedGlass() +{ + return 4107; +} +} // namespace BrownStainedGlass +namespace BrownStainedGlassPane +{ +constexpr BlockState BrownStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7249; + else + return 7250; + else if (West) + return 7253; + else + return 7254; + else if (South) + if (West) + return 7257; + else + return 7258; + else if (West) + return 7261; + else + return 7262; + else if (North) + if (South) + if (West) + return 7265; + else + return 7266; + else if (West) + return 7269; + else + return 7270; + else if (South) + if (West) + return 7273; + else + return 7274; + else if (West) + return 7277; + else + return 7278; +} +BlockState BrownStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace BrownStainedGlassPane +namespace BrownTerracotta +{ +constexpr BlockState BrownTerracotta() +{ + return 6859; +} +} // namespace BrownTerracotta +namespace BrownWallBanner +{ +constexpr BlockState BrownWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8201; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8202; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8203; + else + return 8204; +} +BlockState BrownWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace BrownWallBanner +namespace BrownWool +{ +constexpr BlockState BrownWool() +{ + return 1396; +} +} // namespace BrownWool +namespace BubbleColumn +{ +constexpr BlockState BubbleColumn(const bool Drag) +{ + if (Drag) + return 9667; + else + return 9668; +} +BlockState BubbleColumn(); +bool Drag(BlockState Block); +} // namespace BubbleColumn +namespace BubbleCoral +{ +constexpr BlockState BubbleCoral() +{ + return 9535; +} +} // namespace BubbleCoral +namespace BubbleCoralBlock +{ +constexpr BlockState BubbleCoralBlock() +{ + return 9517; +} +} // namespace BubbleCoralBlock +namespace BubbleCoralFan +{ +constexpr BlockState BubbleCoralFan() +{ + return 9555; +} +} // namespace BubbleCoralFan +namespace BubbleCoralWallFan +{ +constexpr BlockState BubbleCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9617; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9619; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9621; + else + return 9623; +} +BlockState BubbleCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace BubbleCoralWallFan +namespace Cactus +{ +constexpr BlockState Cactus(const unsigned char Age) +{ + if (Age == 0) + return 3931; + else if (Age == 1) + return 3932; + else if (Age == 2) + return 3933; + else if (Age == 3) + return 3934; + else if (Age == 4) + return 3935; + else if (Age == 5) + return 3936; + else if (Age == 6) + return 3937; + else if (Age == 7) + return 3938; + else if (Age == 8) + return 3939; + else if (Age == 9) + return 3940; + else if (Age == 10) + return 3941; + else if (Age == 11) + return 3942; + else if (Age == 12) + return 3943; + else if (Age == 13) + return 3944; + else if (Age == 14) + return 3945; + else + return 3946; +} +BlockState Cactus(); +unsigned char Age(BlockState Block); +} // namespace Cactus +namespace Cake +{ +constexpr BlockState Cake(const unsigned char Bites) +{ + if (Bites == 0) + return 4024; + else if (Bites == 1) + return 4025; + else if (Bites == 2) + return 4026; + else if (Bites == 3) + return 4027; + else if (Bites == 4) + return 4028; + else if (Bites == 5) + return 4029; + else + return 4030; +} +BlockState Cake(); +unsigned char Bites(BlockState Block); +} // namespace Cake +namespace Campfire +{ +constexpr BlockState Campfire(const eBlockFace Facing, const bool Lit, const bool SignalFire) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Lit) + if (SignalFire) + return 14891; + else + return 14893; + else if (SignalFire) + return 14895; + else + return 14897; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Lit) + if (SignalFire) + return 14899; + else + return 14901; + else if (SignalFire) + return 14903; + else + return 14905; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Lit) + if (SignalFire) + return 14907; + else + return 14909; + else if (SignalFire) + return 14911; + else + return 14913; + else if (Lit) + if (SignalFire) + return 14915; + else + return 14917; + else if (SignalFire) + return 14919; + else + return 14921; +} +BlockState Campfire(); +eBlockFace Facing(BlockState Block); +bool Lit(BlockState Block); +bool SignalFire(BlockState Block); +} // namespace Campfire +namespace Carrots +{ +constexpr BlockState Carrots(const unsigned char Age) +{ + if (Age == 0) + return 6330; + else if (Age == 1) + return 6331; + else if (Age == 2) + return 6332; + else if (Age == 3) + return 6333; + else if (Age == 4) + return 6334; + else if (Age == 5) + return 6335; + else if (Age == 6) + return 6336; + else + return 6337; +} +BlockState Carrots(); +unsigned char Age(BlockState Block); +} // namespace Carrots +namespace CartographyTable +{ +constexpr BlockState CartographyTable() +{ + return 14819; +} +} // namespace CartographyTable +namespace CarvedPumpkin +{ +constexpr BlockState CarvedPumpkin(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 4016; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 4017; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 4018; + else + return 4019; +} +BlockState CarvedPumpkin(); +eBlockFace Facing(BlockState Block); +} // namespace CarvedPumpkin +namespace Cauldron +{ +constexpr BlockState Cauldron(const unsigned char Level) +{ + if (Level == 0) + return 5141; + else if (Level == 1) + return 5142; + else if (Level == 2) + return 5143; + else + return 5144; +} +BlockState Cauldron(); +unsigned char Level(BlockState Block); +} // namespace Cauldron +namespace CaveAir +{ +constexpr BlockState CaveAir() +{ + return 9666; +} +} // namespace CaveAir +namespace Chain +{ +constexpr BlockState Chain() +{ + return 4730; +} +} // namespace Chain +namespace ChainCommandBlock +{ +constexpr BlockState ChainCommandBlock(const bool Conditional, const eBlockFace Facing) +{ + if (Conditional) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9237; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9238; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9239; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9240; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9241; + else + return 9242; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9243; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9244; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9245; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9246; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9247; + else + return 9248; +} +BlockState ChainCommandBlock(); +bool Conditional(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace ChainCommandBlock +namespace Chest +{ +enum class Type +{ + Single, + Left, + Right +}; +constexpr BlockState Chest(const eBlockFace Facing, const enum Type Type) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Type == Type::Single) + return 2035; + else if (Type == Type::Left) + return 2037; + else + return 2039; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Type == Type::Single) + return 2041; + else if (Type == Type::Left) + return 2043; + else + return 2045; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Type == Type::Single) + return 2047; + else if (Type == Type::Left) + return 2049; + else + return 2051; + else if (Type == Type::Single) + return 2053; + else if (Type == Type::Left) + return 2055; + else + return 2057; +} +BlockState Chest(); +eBlockFace Facing(BlockState Block); +enum Type Type(BlockState Block); +} // namespace Chest +namespace ChippedAnvil +{ +constexpr BlockState ChippedAnvil(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6614; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6615; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6616; + else + return 6617; +} +BlockState ChippedAnvil(); +eBlockFace Facing(BlockState Block); +} // namespace ChippedAnvil +namespace ChiseledNetherBricks +{ +constexpr BlockState ChiseledNetherBricks() +{ + return 17101; +} +} // namespace ChiseledNetherBricks +namespace ChiseledPolishedBlackstone +{ +constexpr BlockState ChiseledPolishedBlackstone() +{ + return 16253; +} +} // namespace ChiseledPolishedBlackstone +namespace ChiseledQuartzBlock +{ +constexpr BlockState ChiseledQuartzBlock() +{ + return 6739; +} +} // namespace ChiseledQuartzBlock +namespace ChiseledRedSandstone +{ +constexpr BlockState ChiseledRedSandstone() +{ + return 8218; +} +} // namespace ChiseledRedSandstone +namespace ChiseledSandstone +{ +constexpr BlockState ChiseledSandstone() +{ + return 247; +} +} // namespace ChiseledSandstone +namespace ChiseledStoneBricks +{ +constexpr BlockState ChiseledStoneBricks() +{ + return 4498; +} +} // namespace ChiseledStoneBricks +namespace ChorusFlower +{ +constexpr BlockState ChorusFlower(const unsigned char Age) +{ + if (Age == 0) + return 9128; + else if (Age == 1) + return 9129; + else if (Age == 2) + return 9130; + else if (Age == 3) + return 9131; + else if (Age == 4) + return 9132; + else + return 9133; +} +BlockState ChorusFlower(); +unsigned char Age(BlockState Block); +} // namespace ChorusFlower +namespace ChorusPlant +{ +constexpr BlockState ChorusPlant( + const bool Down, + const bool East, + const bool North, + const bool South, + const bool Up, + const bool West +) +{ + if (Down) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 9064; + else + return 9065; + else if (West) + return 9066; + else + return 9067; + else if (Up) + if (West) + return 9068; + else + return 9069; + else if (West) + return 9070; + else + return 9071; + else if (South) + if (Up) + if (West) + return 9072; + else + return 9073; + else if (West) + return 9074; + else + return 9075; + else if (Up) + if (West) + return 9076; + else + return 9077; + else if (West) + return 9078; + else + return 9079; + else if (North) + if (South) + if (Up) + if (West) + return 9080; + else + return 9081; + else if (West) + return 9082; + else + return 9083; + else if (Up) + if (West) + return 9084; + else + return 9085; + else if (West) + return 9086; + else + return 9087; + else if (South) + if (Up) + if (West) + return 9088; + else + return 9089; + else if (West) + return 9090; + else + return 9091; + else if (Up) + if (West) + return 9092; + else + return 9093; + else if (West) + return 9094; + else + return 9095; + else if (East) + if (North) + if (South) + if (Up) + if (West) + return 9096; + else + return 9097; + else if (West) + return 9098; + else + return 9099; + else if (Up) + if (West) + return 9100; + else + return 9101; + else if (West) + return 9102; + else + return 9103; + else if (South) + if (Up) + if (West) + return 9104; + else + return 9105; + else if (West) + return 9106; + else + return 9107; + else if (Up) + if (West) + return 9108; + else + return 9109; + else if (West) + return 9110; + else + return 9111; + else if (North) + if (South) + if (Up) + if (West) + return 9112; + else + return 9113; + else if (West) + return 9114; + else + return 9115; + else if (Up) + if (West) + return 9116; + else + return 9117; + else if (West) + return 9118; + else + return 9119; + else if (South) + if (Up) + if (West) + return 9120; + else + return 9121; + else if (West) + return 9122; + else + return 9123; + else if (Up) + if (West) + return 9124; + else + return 9125; + else if (West) + return 9126; + else + return 9127; +} +BlockState ChorusPlant(); +bool Down(BlockState Block); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool Up(BlockState Block); +bool West(BlockState Block); +} // namespace ChorusPlant +namespace Clay +{ +constexpr BlockState Clay() +{ + return 3947; +} +} // namespace Clay +namespace CoalBlock +{ +constexpr BlockState CoalBlock() +{ + return 7883; +} +} // namespace CoalBlock +namespace CoalOre +{ +constexpr BlockState CoalOre() +{ + return 71; +} +} // namespace CoalOre +namespace CoarseDirt +{ +constexpr BlockState CoarseDirt() +{ + return 11; +} +} // namespace CoarseDirt +namespace Cobblestone +{ +constexpr BlockState Cobblestone() +{ + return 14; +} +} // namespace Cobblestone +namespace CobblestoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState CobblestoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8367; + else if (Type == Type::Bottom) + return 8369; + else + return 8371; +} +BlockState CobblestoneSlab(); +enum Type Type(BlockState Block); +} // namespace CobblestoneSlab +namespace CobblestoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState CobblestoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 3656; + else if (Shape == Shape::InnerLeft) + return 3658; + else if (Shape == Shape::InnerRight) + return 3660; + else if (Shape == Shape::OuterLeft) + return 3662; + else + return 3664; + else if (Shape == Shape::Straight) + return 3666; + else if (Shape == Shape::InnerLeft) + return 3668; + else if (Shape == Shape::InnerRight) + return 3670; + else if (Shape == Shape::OuterLeft) + return 3672; + else + return 3674; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 3676; + else if (Shape == Shape::InnerLeft) + return 3678; + else if (Shape == Shape::InnerRight) + return 3680; + else if (Shape == Shape::OuterLeft) + return 3682; + else + return 3684; + else if (Shape == Shape::Straight) + return 3686; + else if (Shape == Shape::InnerLeft) + return 3688; + else if (Shape == Shape::InnerRight) + return 3690; + else if (Shape == Shape::OuterLeft) + return 3692; + else + return 3694; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 3696; + else if (Shape == Shape::InnerLeft) + return 3698; + else if (Shape == Shape::InnerRight) + return 3700; + else if (Shape == Shape::OuterLeft) + return 3702; + else + return 3704; + else if (Shape == Shape::Straight) + return 3706; + else if (Shape == Shape::InnerLeft) + return 3708; + else if (Shape == Shape::InnerRight) + return 3710; + else if (Shape == Shape::OuterLeft) + return 3712; + else + return 3714; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 3716; + else if (Shape == Shape::InnerLeft) + return 3718; + else if (Shape == Shape::InnerRight) + return 3720; + else if (Shape == Shape::OuterLeft) + return 3722; + else + return 3724; + else if (Shape == Shape::Straight) + return 3726; + else if (Shape == Shape::InnerLeft) + return 3728; + else if (Shape == Shape::InnerRight) + return 3730; + else if (Shape == Shape::OuterLeft) + return 3732; + else + return 3734; +} +BlockState CobblestoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace CobblestoneStairs +namespace CobblestoneWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState CobblestoneWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 5660; + else if (West == West::Low) + return 5661; + else + return 5662; + else if (West == West::None) + return 5666; + else if (West == West::Low) + return 5667; + else + return 5668; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5672; + else if (West == West::Low) + return 5673; + else + return 5674; + else if (West == West::None) + return 5678; + else if (West == West::Low) + return 5679; + else + return 5680; + else if (Up) + if (West == West::None) + return 5684; + else if (West == West::Low) + return 5685; + else + return 5686; + else if (West == West::None) + return 5690; + else if (West == West::Low) + return 5691; + else + return 5692; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 5696; + else if (West == West::Low) + return 5697; + else + return 5698; + else if (West == West::None) + return 5702; + else if (West == West::Low) + return 5703; + else + return 5704; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5708; + else if (West == West::Low) + return 5709; + else + return 5710; + else if (West == West::None) + return 5714; + else if (West == West::Low) + return 5715; + else + return 5716; + else if (Up) + if (West == West::None) + return 5720; + else if (West == West::Low) + return 5721; + else + return 5722; + else if (West == West::None) + return 5726; + else if (West == West::Low) + return 5727; + else + return 5728; + else if (South == South::None) + if (Up) + if (West == West::None) + return 5732; + else if (West == West::Low) + return 5733; + else + return 5734; + else if (West == West::None) + return 5738; + else if (West == West::Low) + return 5739; + else + return 5740; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5744; + else if (West == West::Low) + return 5745; + else + return 5746; + else if (West == West::None) + return 5750; + else if (West == West::Low) + return 5751; + else + return 5752; + else if (Up) + if (West == West::None) + return 5756; + else if (West == West::Low) + return 5757; + else + return 5758; + else if (West == West::None) + return 5762; + else if (West == West::Low) + return 5763; + else + return 5764; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 5768; + else if (West == West::Low) + return 5769; + else + return 5770; + else if (West == West::None) + return 5774; + else if (West == West::Low) + return 5775; + else + return 5776; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5780; + else if (West == West::Low) + return 5781; + else + return 5782; + else if (West == West::None) + return 5786; + else if (West == West::Low) + return 5787; + else + return 5788; + else if (Up) + if (West == West::None) + return 5792; + else if (West == West::Low) + return 5793; + else + return 5794; + else if (West == West::None) + return 5798; + else if (West == West::Low) + return 5799; + else + return 5800; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 5804; + else if (West == West::Low) + return 5805; + else + return 5806; + else if (West == West::None) + return 5810; + else if (West == West::Low) + return 5811; + else + return 5812; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5816; + else if (West == West::Low) + return 5817; + else + return 5818; + else if (West == West::None) + return 5822; + else if (West == West::Low) + return 5823; + else + return 5824; + else if (Up) + if (West == West::None) + return 5828; + else if (West == West::Low) + return 5829; + else + return 5830; + else if (West == West::None) + return 5834; + else if (West == West::Low) + return 5835; + else + return 5836; + else if (South == South::None) + if (Up) + if (West == West::None) + return 5840; + else if (West == West::Low) + return 5841; + else + return 5842; + else if (West == West::None) + return 5846; + else if (West == West::Low) + return 5847; + else + return 5848; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5852; + else if (West == West::Low) + return 5853; + else + return 5854; + else if (West == West::None) + return 5858; + else if (West == West::Low) + return 5859; + else + return 5860; + else if (Up) + if (West == West::None) + return 5864; + else if (West == West::Low) + return 5865; + else + return 5866; + else if (West == West::None) + return 5870; + else if (West == West::Low) + return 5871; + else + return 5872; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 5876; + else if (West == West::Low) + return 5877; + else + return 5878; + else if (West == West::None) + return 5882; + else if (West == West::Low) + return 5883; + else + return 5884; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5888; + else if (West == West::Low) + return 5889; + else + return 5890; + else if (West == West::None) + return 5894; + else if (West == West::Low) + return 5895; + else + return 5896; + else if (Up) + if (West == West::None) + return 5900; + else if (West == West::Low) + return 5901; + else + return 5902; + else if (West == West::None) + return 5906; + else if (West == West::Low) + return 5907; + else + return 5908; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 5912; + else if (West == West::Low) + return 5913; + else + return 5914; + else if (West == West::None) + return 5918; + else if (West == West::Low) + return 5919; + else + return 5920; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5924; + else if (West == West::Low) + return 5925; + else + return 5926; + else if (West == West::None) + return 5930; + else if (West == West::Low) + return 5931; + else + return 5932; + else if (Up) + if (West == West::None) + return 5936; + else if (West == West::Low) + return 5937; + else + return 5938; + else if (West == West::None) + return 5942; + else if (West == West::Low) + return 5943; + else + return 5944; + else if (South == South::None) + if (Up) + if (West == West::None) + return 5948; + else if (West == West::Low) + return 5949; + else + return 5950; + else if (West == West::None) + return 5954; + else if (West == West::Low) + return 5955; + else + return 5956; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5960; + else if (West == West::Low) + return 5961; + else + return 5962; + else if (West == West::None) + return 5966; + else if (West == West::Low) + return 5967; + else + return 5968; + else if (Up) + if (West == West::None) + return 5972; + else if (West == West::Low) + return 5973; + else + return 5974; + else if (West == West::None) + return 5978; + else if (West == West::Low) + return 5979; + else + return 5980; +} +BlockState CobblestoneWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace CobblestoneWall +namespace Cobweb +{ +constexpr BlockState Cobweb() +{ + return 1341; +} +} // namespace Cobweb +namespace Cocoa +{ +constexpr BlockState Cocoa(const unsigned char Age, const eBlockFace Facing) +{ + if (Age == 0) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 5158; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 5159; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 5160; + else + return 5161; + else if (Age == 1) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 5162; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 5163; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 5164; + else + return 5165; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 5166; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 5167; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 5168; + else + return 5169; +} +BlockState Cocoa(); +unsigned char Age(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace Cocoa +namespace CommandBlock +{ +constexpr BlockState CommandBlock(const bool Conditional, const eBlockFace Facing) +{ + if (Conditional) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 5644; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 5645; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 5646; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 5647; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 5648; + else + return 5649; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 5650; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 5651; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 5652; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 5653; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 5654; + else + return 5655; +} +BlockState CommandBlock(); +bool Conditional(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace CommandBlock +namespace Comparator +{ +enum class Mode +{ + Compare, + Subtract +}; +constexpr BlockState Comparator(const eBlockFace Facing, const enum Mode Mode, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Mode == Mode::Compare) + if (Powered) + return 6678; + else + return 6679; + else if (Powered) + return 6680; + else + return 6681; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Mode == Mode::Compare) + if (Powered) + return 6682; + else + return 6683; + else if (Powered) + return 6684; + else + return 6685; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Mode == Mode::Compare) + if (Powered) + return 6686; + else + return 6687; + else if (Powered) + return 6688; + else + return 6689; + else if (Mode == Mode::Compare) + if (Powered) + return 6690; + else + return 6691; + else if (Powered) + return 6692; + else + return 6693; +} +BlockState Comparator(); +eBlockFace Facing(BlockState Block); +enum Mode Mode(BlockState Block); +bool Powered(BlockState Block); +} // namespace Comparator +namespace Composter +{ +constexpr BlockState Composter(const unsigned char Level) +{ + if (Level == 0) + return 15751; + else if (Level == 1) + return 15752; + else if (Level == 2) + return 15753; + else if (Level == 3) + return 15754; + else if (Level == 4) + return 15755; + else if (Level == 5) + return 15756; + else if (Level == 6) + return 15757; + else if (Level == 7) + return 15758; + else + return 15759; +} +BlockState Composter(); +unsigned char Level(BlockState Block); +} // namespace Composter +namespace Conduit +{ +constexpr BlockState Conduit() +{ + return 9650; +} +} // namespace Conduit +namespace Cornflower +{ +constexpr BlockState Cornflower() +{ + return 1422; +} +} // namespace Cornflower +namespace CrackedNetherBricks +{ +constexpr BlockState CrackedNetherBricks() +{ + return 17102; +} +} // namespace CrackedNetherBricks +namespace CrackedPolishedBlackstoneBricks +{ +constexpr BlockState CrackedPolishedBlackstoneBricks() +{ + return 16252; +} +} // namespace CrackedPolishedBlackstoneBricks +namespace CrackedStoneBricks +{ +constexpr BlockState CrackedStoneBricks() +{ + return 4497; +} +} // namespace CrackedStoneBricks +namespace CraftingTable +{ +constexpr BlockState CraftingTable() +{ + return 3356; +} +} // namespace CraftingTable +namespace CreeperHead +{ +constexpr BlockState CreeperHead(const unsigned char Rotation) +{ + if (Rotation == 0) + return 6570; + else if (Rotation == 1) + return 6571; + else if (Rotation == 2) + return 6572; + else if (Rotation == 3) + return 6573; + else if (Rotation == 4) + return 6574; + else if (Rotation == 5) + return 6575; + else if (Rotation == 6) + return 6576; + else if (Rotation == 7) + return 6577; + else if (Rotation == 8) + return 6578; + else if (Rotation == 9) + return 6579; + else if (Rotation == 10) + return 6580; + else if (Rotation == 11) + return 6581; + else if (Rotation == 12) + return 6582; + else if (Rotation == 13) + return 6583; + else if (Rotation == 14) + return 6584; + else + return 6585; +} +BlockState CreeperHead(); +unsigned char Rotation(BlockState Block); +} // namespace CreeperHead +namespace CreeperWallHead +{ +constexpr BlockState CreeperWallHead(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6586; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6587; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6588; + else + return 6589; +} +BlockState CreeperWallHead(); +eBlockFace Facing(BlockState Block); +} // namespace CreeperWallHead +namespace CrimsonButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState CrimsonButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 15479; + else + return 15480; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 15481; + else + return 15482; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 15483; + else + return 15484; + else if (Powered) + return 15485; + else + return 15486; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 15487; + else + return 15488; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 15489; + else + return 15490; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 15491; + else + return 15492; + else if (Powered) + return 15493; + else + return 15494; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 15495; + else + return 15496; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 15497; + else + return 15498; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 15499; + else + return 15500; + else if (Powered) + return 15501; + else + return 15502; +} +BlockState CrimsonButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace CrimsonButton +namespace CrimsonDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState CrimsonDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15527; + else + return 15528; + else if (Powered) + return 15529; + else + return 15530; + else if (Open) + if (Powered) + return 15531; + else + return 15532; + else if (Powered) + return 15533; + else + return 15534; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15535; + else + return 15536; + else if (Powered) + return 15537; + else + return 15538; + else if (Open) + if (Powered) + return 15539; + else + return 15540; + else if (Powered) + return 15541; + else + return 15542; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15543; + else + return 15544; + else if (Powered) + return 15545; + else + return 15546; + else if (Open) + if (Powered) + return 15547; + else + return 15548; + else if (Powered) + return 15549; + else + return 15550; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15551; + else + return 15552; + else if (Powered) + return 15553; + else + return 15554; + else if (Open) + if (Powered) + return 15555; + else + return 15556; + else if (Powered) + return 15557; + else + return 15558; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15559; + else + return 15560; + else if (Powered) + return 15561; + else + return 15562; + else if (Open) + if (Powered) + return 15563; + else + return 15564; + else if (Powered) + return 15565; + else + return 15566; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15567; + else + return 15568; + else if (Powered) + return 15569; + else + return 15570; + else if (Open) + if (Powered) + return 15571; + else + return 15572; + else if (Powered) + return 15573; + else + return 15574; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15575; + else + return 15576; + else if (Powered) + return 15577; + else + return 15578; + else if (Open) + if (Powered) + return 15579; + else + return 15580; + else if (Powered) + return 15581; + else + return 15582; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15583; + else + return 15584; + else if (Powered) + return 15585; + else + return 15586; + else if (Open) + if (Powered) + return 15587; + else + return 15588; + else if (Powered) + return 15589; + else + return 15590; +} +BlockState CrimsonDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace CrimsonDoor +namespace CrimsonFence +{ +constexpr BlockState CrimsonFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 15065; + else + return 15066; + else if (West) + return 15069; + else + return 15070; + else if (South) + if (West) + return 15073; + else + return 15074; + else if (West) + return 15077; + else + return 15078; + else if (North) + if (South) + if (West) + return 15081; + else + return 15082; + else if (West) + return 15085; + else + return 15086; + else if (South) + if (West) + return 15089; + else + return 15090; + else if (West) + return 15093; + else + return 15094; +} +BlockState CrimsonFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace CrimsonFence +namespace CrimsonFenceGate +{ +constexpr BlockState CrimsonFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (InWall) + if (Open) + if (Powered) + return 15255; + else + return 15256; + else if (Powered) + return 15257; + else + return 15258; + else if (Open) + if (Powered) + return 15259; + else + return 15260; + else if (Powered) + return 15261; + else + return 15262; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (InWall) + if (Open) + if (Powered) + return 15263; + else + return 15264; + else if (Powered) + return 15265; + else + return 15266; + else if (Open) + if (Powered) + return 15267; + else + return 15268; + else if (Powered) + return 15269; + else + return 15270; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (InWall) + if (Open) + if (Powered) + return 15271; + else + return 15272; + else if (Powered) + return 15273; + else + return 15274; + else if (Open) + if (Powered) + return 15275; + else + return 15276; + else if (Powered) + return 15277; + else + return 15278; + else if (InWall) + if (Open) + if (Powered) + return 15279; + else + return 15280; + else if (Powered) + return 15281; + else + return 15282; + else if (Open) + if (Powered) + return 15283; + else + return 15284; + else if (Powered) + return 15285; + else + return 15286; +} +BlockState CrimsonFenceGate(); +eBlockFace Facing(BlockState Block); +bool InWall(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace CrimsonFenceGate +namespace CrimsonFungus +{ +constexpr BlockState CrimsonFungus() +{ + return 14988; +} +} // namespace CrimsonFungus +namespace CrimsonHyphae +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState CrimsonHyphae(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 14981; + else if (Axis == Axis::Y) + return 14982; + else + return 14983; +} +BlockState CrimsonHyphae(); +enum Axis Axis(BlockState Block); +} // namespace CrimsonHyphae +namespace CrimsonNylium +{ +constexpr BlockState CrimsonNylium() +{ + return 14987; +} +} // namespace CrimsonNylium +namespace CrimsonPlanks +{ +constexpr BlockState CrimsonPlanks() +{ + return 15045; +} +} // namespace CrimsonPlanks +namespace CrimsonPressurePlate +{ +constexpr BlockState CrimsonPressurePlate(const bool Powered) +{ + if (Powered) + return 15059; + else + return 15060; +} +BlockState CrimsonPressurePlate(); +bool Powered(BlockState Block); +} // namespace CrimsonPressurePlate +namespace CrimsonRoots +{ +constexpr BlockState CrimsonRoots() +{ + return 15044; +} +} // namespace CrimsonRoots +namespace CrimsonSign +{ +constexpr BlockState CrimsonSign(const unsigned char Rotation) +{ + if (Rotation == 0) + return 15656; + else if (Rotation == 1) + return 15658; + else if (Rotation == 2) + return 15660; + else if (Rotation == 3) + return 15662; + else if (Rotation == 4) + return 15664; + else if (Rotation == 5) + return 15666; + else if (Rotation == 6) + return 15668; + else if (Rotation == 7) + return 15670; + else if (Rotation == 8) + return 15672; + else if (Rotation == 9) + return 15674; + else if (Rotation == 10) + return 15676; + else if (Rotation == 11) + return 15678; + else if (Rotation == 12) + return 15680; + else if (Rotation == 13) + return 15682; + else if (Rotation == 14) + return 15684; + else + return 15686; +} +BlockState CrimsonSign(); +unsigned char Rotation(BlockState Block); +} // namespace CrimsonSign +namespace CrimsonSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState CrimsonSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 15048; + else if (Type == Type::Bottom) + return 15050; + else + return 15052; +} +BlockState CrimsonSlab(); +enum Type Type(BlockState Block); +} // namespace CrimsonSlab +namespace CrimsonStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState CrimsonStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15320; + else if (Shape == Shape::InnerLeft) + return 15322; + else if (Shape == Shape::InnerRight) + return 15324; + else if (Shape == Shape::OuterLeft) + return 15326; + else + return 15328; + else if (Shape == Shape::Straight) + return 15330; + else if (Shape == Shape::InnerLeft) + return 15332; + else if (Shape == Shape::InnerRight) + return 15334; + else if (Shape == Shape::OuterLeft) + return 15336; + else + return 15338; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15340; + else if (Shape == Shape::InnerLeft) + return 15342; + else if (Shape == Shape::InnerRight) + return 15344; + else if (Shape == Shape::OuterLeft) + return 15346; + else + return 15348; + else if (Shape == Shape::Straight) + return 15350; + else if (Shape == Shape::InnerLeft) + return 15352; + else if (Shape == Shape::InnerRight) + return 15354; + else if (Shape == Shape::OuterLeft) + return 15356; + else + return 15358; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15360; + else if (Shape == Shape::InnerLeft) + return 15362; + else if (Shape == Shape::InnerRight) + return 15364; + else if (Shape == Shape::OuterLeft) + return 15366; + else + return 15368; + else if (Shape == Shape::Straight) + return 15370; + else if (Shape == Shape::InnerLeft) + return 15372; + else if (Shape == Shape::InnerRight) + return 15374; + else if (Shape == Shape::OuterLeft) + return 15376; + else + return 15378; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15380; + else if (Shape == Shape::InnerLeft) + return 15382; + else if (Shape == Shape::InnerRight) + return 15384; + else if (Shape == Shape::OuterLeft) + return 15386; + else + return 15388; + else if (Shape == Shape::Straight) + return 15390; + else if (Shape == Shape::InnerLeft) + return 15392; + else if (Shape == Shape::InnerRight) + return 15394; + else if (Shape == Shape::OuterLeft) + return 15396; + else + return 15398; +} +BlockState CrimsonStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace CrimsonStairs +namespace CrimsonStem +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState CrimsonStem(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 14975; + else if (Axis == Axis::Y) + return 14976; + else + return 14977; +} +BlockState CrimsonStem(); +enum Axis Axis(BlockState Block); +} // namespace CrimsonStem +namespace CrimsonTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState CrimsonTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 15128; + else + return 15130; + else if (Powered) + return 15132; + else + return 15134; + else if (Open) + if (Powered) + return 15136; + else + return 15138; + else if (Powered) + return 15140; + else + return 15142; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 15144; + else + return 15146; + else if (Powered) + return 15148; + else + return 15150; + else if (Open) + if (Powered) + return 15152; + else + return 15154; + else if (Powered) + return 15156; + else + return 15158; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 15160; + else + return 15162; + else if (Powered) + return 15164; + else + return 15166; + else if (Open) + if (Powered) + return 15168; + else + return 15170; + else if (Powered) + return 15172; + else + return 15174; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 15176; + else + return 15178; + else if (Powered) + return 15180; + else + return 15182; + else if (Open) + if (Powered) + return 15184; + else + return 15186; + else if (Powered) + return 15188; + else + return 15190; +} +BlockState CrimsonTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace CrimsonTrapdoor +namespace CrimsonWallSign +{ +constexpr BlockState CrimsonWallSign(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 15720; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 15722; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 15724; + else + return 15726; +} +BlockState CrimsonWallSign(); +eBlockFace Facing(BlockState Block); +} // namespace CrimsonWallSign +namespace CryingObsidian +{ +constexpr BlockState CryingObsidian() +{ + return 15828; +} +} // namespace CryingObsidian +namespace CutRedSandstone +{ +constexpr BlockState CutRedSandstone() +{ + return 8219; +} +} // namespace CutRedSandstone +namespace CutRedSandstoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState CutRedSandstoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8403; + else if (Type == Type::Bottom) + return 8405; + else + return 8407; +} +BlockState CutRedSandstoneSlab(); +enum Type Type(BlockState Block); +} // namespace CutRedSandstoneSlab +namespace CutSandstone +{ +constexpr BlockState CutSandstone() +{ + return 248; +} +} // namespace CutSandstone +namespace CutSandstoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState CutSandstoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8355; + else if (Type == Type::Bottom) + return 8357; + else + return 8359; +} +BlockState CutSandstoneSlab(); +enum Type Type(BlockState Block); +} // namespace CutSandstoneSlab +namespace CyanBanner +{ +constexpr BlockState CyanBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8041; + else if (Rotation == 1) + return 8042; + else if (Rotation == 2) + return 8043; + else if (Rotation == 3) + return 8044; + else if (Rotation == 4) + return 8045; + else if (Rotation == 5) + return 8046; + else if (Rotation == 6) + return 8047; + else if (Rotation == 7) + return 8048; + else if (Rotation == 8) + return 8049; + else if (Rotation == 9) + return 8050; + else if (Rotation == 10) + return 8051; + else if (Rotation == 11) + return 8052; + else if (Rotation == 12) + return 8053; + else if (Rotation == 13) + return 8054; + else if (Rotation == 14) + return 8055; + else + return 8056; +} +BlockState CyanBanner(); +unsigned char Rotation(BlockState Block); +} // namespace CyanBanner +namespace CyanBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState CyanBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1193; + else + return 1194; + else if (Part == Part::Head) + return 1195; + else + return 1196; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1197; + else + return 1198; + else if (Part == Part::Head) + return 1199; + else + return 1200; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1201; + else + return 1202; + else if (Part == Part::Head) + return 1203; + else + return 1204; + else if (Occupied) + if (Part == Part::Head) + return 1205; + else + return 1206; + else if (Part == Part::Head) + return 1207; + else + return 1208; +} +BlockState CyanBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace CyanBed +namespace CyanCarpet +{ +constexpr BlockState CyanCarpet() +{ + return 7875; +} +} // namespace CyanCarpet +namespace CyanConcrete +{ +constexpr BlockState CyanConcrete() +{ + return 9447; +} +} // namespace CyanConcrete +namespace CyanConcretePowder +{ +constexpr BlockState CyanConcretePowder() +{ + return 9463; +} +} // namespace CyanConcretePowder +namespace CyanGlazedTerracotta +{ +constexpr BlockState CyanGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9410; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9411; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9412; + else + return 9413; +} +BlockState CyanGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace CyanGlazedTerracotta +namespace CyanShulkerBox +{ +constexpr BlockState CyanShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9332; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9333; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9334; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9335; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9336; + else + return 9337; +} +BlockState CyanShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace CyanShulkerBox +namespace CyanStainedGlass +{ +constexpr BlockState CyanStainedGlass() +{ + return 4104; +} +} // namespace CyanStainedGlass +namespace CyanStainedGlassPane +{ +constexpr BlockState CyanStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7153; + else + return 7154; + else if (West) + return 7157; + else + return 7158; + else if (South) + if (West) + return 7161; + else + return 7162; + else if (West) + return 7165; + else + return 7166; + else if (North) + if (South) + if (West) + return 7169; + else + return 7170; + else if (West) + return 7173; + else + return 7174; + else if (South) + if (West) + return 7177; + else + return 7178; + else if (West) + return 7181; + else + return 7182; +} +BlockState CyanStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace CyanStainedGlassPane +namespace CyanTerracotta +{ +constexpr BlockState CyanTerracotta() +{ + return 6856; +} +} // namespace CyanTerracotta +namespace CyanWallBanner +{ +constexpr BlockState CyanWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8189; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8190; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8191; + else + return 8192; +} +BlockState CyanWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace CyanWallBanner +namespace CyanWool +{ +constexpr BlockState CyanWool() +{ + return 1393; +} +} // namespace CyanWool +namespace DamagedAnvil +{ +constexpr BlockState DamagedAnvil(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6618; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6619; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6620; + else + return 6621; +} +BlockState DamagedAnvil(); +eBlockFace Facing(BlockState Block); +} // namespace DamagedAnvil +namespace Dandelion +{ +constexpr BlockState Dandelion() +{ + return 1412; +} +} // namespace Dandelion +namespace DarkOakButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState DarkOakButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6466; + else + return 6467; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6468; + else + return 6469; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6470; + else + return 6471; + else if (Powered) + return 6472; + else + return 6473; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6474; + else + return 6475; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6476; + else + return 6477; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6478; + else + return 6479; + else if (Powered) + return 6480; + else + return 6481; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6482; + else + return 6483; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6484; + else + return 6485; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6486; + else + return 6487; + else if (Powered) + return 6488; + else + return 6489; +} +BlockState DarkOakButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace DarkOakButton +namespace DarkOakDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState DarkOakDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8994; + else + return 8995; + else if (Powered) + return 8996; + else + return 8997; + else if (Open) + if (Powered) + return 8998; + else + return 8999; + else if (Powered) + return 9000; + else + return 9001; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 9002; + else + return 9003; + else if (Powered) + return 9004; + else + return 9005; + else if (Open) + if (Powered) + return 9006; + else + return 9007; + else if (Powered) + return 9008; + else + return 9009; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 9010; + else + return 9011; + else if (Powered) + return 9012; + else + return 9013; + else if (Open) + if (Powered) + return 9014; + else + return 9015; + else if (Powered) + return 9016; + else + return 9017; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 9018; + else + return 9019; + else if (Powered) + return 9020; + else + return 9021; + else if (Open) + if (Powered) + return 9022; + else + return 9023; + else if (Powered) + return 9024; + else + return 9025; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 9026; + else + return 9027; + else if (Powered) + return 9028; + else + return 9029; + else if (Open) + if (Powered) + return 9030; + else + return 9031; + else if (Powered) + return 9032; + else + return 9033; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 9034; + else + return 9035; + else if (Powered) + return 9036; + else + return 9037; + else if (Open) + if (Powered) + return 9038; + else + return 9039; + else if (Powered) + return 9040; + else + return 9041; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 9042; + else + return 9043; + else if (Powered) + return 9044; + else + return 9045; + else if (Open) + if (Powered) + return 9046; + else + return 9047; + else if (Powered) + return 9048; + else + return 9049; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 9050; + else + return 9051; + else if (Powered) + return 9052; + else + return 9053; + else if (Open) + if (Powered) + return 9054; + else + return 9055; + else if (Powered) + return 9056; + else + return 9057; +} +BlockState DarkOakDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace DarkOakDoor +namespace DarkOakFence +{ +constexpr BlockState DarkOakFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 8708; + else + return 8709; + else if (West) + return 8712; + else + return 8713; + else if (South) + if (West) + return 8716; + else + return 8717; + else if (West) + return 8720; + else + return 8721; + else if (North) + if (South) + if (West) + return 8724; + else + return 8725; + else if (West) + return 8728; + else + return 8729; + else if (South) + if (West) + return 8732; + else + return 8733; + else if (West) + return 8736; + else + return 8737; +} +BlockState DarkOakFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace DarkOakFence +namespace DarkOakFenceGate +{ +constexpr BlockState DarkOakFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (InWall) + if (Open) + if (Powered) + return 8546; + else + return 8547; + else if (Powered) + return 8548; + else + return 8549; + else if (Open) + if (Powered) + return 8550; + else + return 8551; + else if (Powered) + return 8552; + else + return 8553; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (InWall) + if (Open) + if (Powered) + return 8554; + else + return 8555; + else if (Powered) + return 8556; + else + return 8557; + else if (Open) + if (Powered) + return 8558; + else + return 8559; + else if (Powered) + return 8560; + else + return 8561; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (InWall) + if (Open) + if (Powered) + return 8562; + else + return 8563; + else if (Powered) + return 8564; + else + return 8565; + else if (Open) + if (Powered) + return 8566; + else + return 8567; + else if (Powered) + return 8568; + else + return 8569; + else if (InWall) + if (Open) + if (Powered) + return 8570; + else + return 8571; + else if (Powered) + return 8572; + else + return 8573; + else if (Open) + if (Powered) + return 8574; + else + return 8575; + else if (Powered) + return 8576; + else + return 8577; +} +BlockState DarkOakFenceGate(); +eBlockFace Facing(BlockState Block); +bool InWall(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace DarkOakFenceGate +namespace DarkOakLeaves +{ +constexpr BlockState DarkOakLeaves(const unsigned char Distance, const bool Persistent) +{ + if (Distance == 1) + if (Persistent) + return 215; + else + return 216; + else if (Distance == 2) + if (Persistent) + return 217; + else + return 218; + else if (Distance == 3) + if (Persistent) + return 219; + else + return 220; + else if (Distance == 4) + if (Persistent) + return 221; + else + return 222; + else if (Distance == 5) + if (Persistent) + return 223; + else + return 224; + else if (Distance == 6) + if (Persistent) + return 225; + else + return 226; + else if (Persistent) + return 227; + else + return 228; +} +BlockState DarkOakLeaves(); +unsigned char Distance(BlockState Block); +bool Persistent(BlockState Block); +} // namespace DarkOakLeaves +namespace DarkOakLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState DarkOakLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 88; + else if (Axis == Axis::Y) + return 89; + else + return 90; +} +BlockState DarkOakLog(); +enum Axis Axis(BlockState Block); +} // namespace DarkOakLog +namespace DarkOakPlanks +{ +constexpr BlockState DarkOakPlanks() +{ + return 20; +} +} // namespace DarkOakPlanks +namespace DarkOakPressurePlate +{ +constexpr BlockState DarkOakPressurePlate(const bool Powered) +{ + if (Powered) + return 3883; + else + return 3884; +} +BlockState DarkOakPressurePlate(); +bool Powered(BlockState Block); +} // namespace DarkOakPressurePlate +namespace DarkOakSapling +{ +constexpr BlockState DarkOakSapling(const unsigned char Stage) +{ + if (Stage == 0) + return 31; + else + return 32; +} +BlockState DarkOakSapling(); +unsigned char Stage(BlockState Block); +} // namespace DarkOakSapling +namespace DarkOakSign +{ +constexpr BlockState DarkOakSign(const unsigned char Rotation) +{ + if (Rotation == 0) + return 3542; + else if (Rotation == 1) + return 3544; + else if (Rotation == 2) + return 3546; + else if (Rotation == 3) + return 3548; + else if (Rotation == 4) + return 3550; + else if (Rotation == 5) + return 3552; + else if (Rotation == 6) + return 3554; + else if (Rotation == 7) + return 3556; + else if (Rotation == 8) + return 3558; + else if (Rotation == 9) + return 3560; + else if (Rotation == 10) + return 3562; + else if (Rotation == 11) + return 3564; + else if (Rotation == 12) + return 3566; + else if (Rotation == 13) + return 3568; + else if (Rotation == 14) + return 3570; + else + return 3572; +} +BlockState DarkOakSign(); +unsigned char Rotation(BlockState Block); +} // namespace DarkOakSign +namespace DarkOakSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState DarkOakSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8331; + else if (Type == Type::Bottom) + return 8333; + else + return 8335; +} +BlockState DarkOakSlab(); +enum Type Type(BlockState Block); +} // namespace DarkOakSlab +namespace DarkOakStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState DarkOakStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7456; + else if (Shape == Shape::InnerLeft) + return 7458; + else if (Shape == Shape::InnerRight) + return 7460; + else if (Shape == Shape::OuterLeft) + return 7462; + else + return 7464; + else if (Shape == Shape::Straight) + return 7466; + else if (Shape == Shape::InnerLeft) + return 7468; + else if (Shape == Shape::InnerRight) + return 7470; + else if (Shape == Shape::OuterLeft) + return 7472; + else + return 7474; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7476; + else if (Shape == Shape::InnerLeft) + return 7478; + else if (Shape == Shape::InnerRight) + return 7480; + else if (Shape == Shape::OuterLeft) + return 7482; + else + return 7484; + else if (Shape == Shape::Straight) + return 7486; + else if (Shape == Shape::InnerLeft) + return 7488; + else if (Shape == Shape::InnerRight) + return 7490; + else if (Shape == Shape::OuterLeft) + return 7492; + else + return 7494; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7496; + else if (Shape == Shape::InnerLeft) + return 7498; + else if (Shape == Shape::InnerRight) + return 7500; + else if (Shape == Shape::OuterLeft) + return 7502; + else + return 7504; + else if (Shape == Shape::Straight) + return 7506; + else if (Shape == Shape::InnerLeft) + return 7508; + else if (Shape == Shape::InnerRight) + return 7510; + else if (Shape == Shape::OuterLeft) + return 7512; + else + return 7514; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7516; + else if (Shape == Shape::InnerLeft) + return 7518; + else if (Shape == Shape::InnerRight) + return 7520; + else if (Shape == Shape::OuterLeft) + return 7522; + else + return 7524; + else if (Shape == Shape::Straight) + return 7526; + else if (Shape == Shape::InnerLeft) + return 7528; + else if (Shape == Shape::InnerRight) + return 7530; + else if (Shape == Shape::OuterLeft) + return 7532; + else + return 7534; +} +BlockState DarkOakStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace DarkOakStairs +namespace DarkOakTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState DarkOakTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4432; + else + return 4434; + else if (Powered) + return 4436; + else + return 4438; + else if (Open) + if (Powered) + return 4440; + else + return 4442; + else if (Powered) + return 4444; + else + return 4446; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4448; + else + return 4450; + else if (Powered) + return 4452; + else + return 4454; + else if (Open) + if (Powered) + return 4456; + else + return 4458; + else if (Powered) + return 4460; + else + return 4462; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4464; + else + return 4466; + else if (Powered) + return 4468; + else + return 4470; + else if (Open) + if (Powered) + return 4472; + else + return 4474; + else if (Powered) + return 4476; + else + return 4478; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 4480; + else + return 4482; + else if (Powered) + return 4484; + else + return 4486; + else if (Open) + if (Powered) + return 4488; + else + return 4490; + else if (Powered) + return 4492; + else + return 4494; +} +BlockState DarkOakTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace DarkOakTrapdoor +namespace DarkOakWallSign +{ +constexpr BlockState DarkOakWallSign(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 3776; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 3778; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 3780; + else + return 3782; +} +BlockState DarkOakWallSign(); +eBlockFace Facing(BlockState Block); +} // namespace DarkOakWallSign +namespace DarkOakWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState DarkOakWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 124; + else if (Axis == Axis::Y) + return 125; + else + return 126; +} +BlockState DarkOakWood(); +enum Axis Axis(BlockState Block); +} // namespace DarkOakWood +namespace DarkPrismarine +{ +constexpr BlockState DarkPrismarine() +{ + return 7603; +} +} // namespace DarkPrismarine +namespace DarkPrismarineSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState DarkPrismarineSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 7857; + else if (Type == Type::Bottom) + return 7859; + else + return 7861; +} +BlockState DarkPrismarineSlab(); +enum Type Type(BlockState Block); +} // namespace DarkPrismarineSlab +namespace DarkPrismarineStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState DarkPrismarineStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7765; + else if (Shape == Shape::InnerLeft) + return 7767; + else if (Shape == Shape::InnerRight) + return 7769; + else if (Shape == Shape::OuterLeft) + return 7771; + else + return 7773; + else if (Shape == Shape::Straight) + return 7775; + else if (Shape == Shape::InnerLeft) + return 7777; + else if (Shape == Shape::InnerRight) + return 7779; + else if (Shape == Shape::OuterLeft) + return 7781; + else + return 7783; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7785; + else if (Shape == Shape::InnerLeft) + return 7787; + else if (Shape == Shape::InnerRight) + return 7789; + else if (Shape == Shape::OuterLeft) + return 7791; + else + return 7793; + else if (Shape == Shape::Straight) + return 7795; + else if (Shape == Shape::InnerLeft) + return 7797; + else if (Shape == Shape::InnerRight) + return 7799; + else if (Shape == Shape::OuterLeft) + return 7801; + else + return 7803; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7805; + else if (Shape == Shape::InnerLeft) + return 7807; + else if (Shape == Shape::InnerRight) + return 7809; + else if (Shape == Shape::OuterLeft) + return 7811; + else + return 7813; + else if (Shape == Shape::Straight) + return 7815; + else if (Shape == Shape::InnerLeft) + return 7817; + else if (Shape == Shape::InnerRight) + return 7819; + else if (Shape == Shape::OuterLeft) + return 7821; + else + return 7823; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7825; + else if (Shape == Shape::InnerLeft) + return 7827; + else if (Shape == Shape::InnerRight) + return 7829; + else if (Shape == Shape::OuterLeft) + return 7831; + else + return 7833; + else if (Shape == Shape::Straight) + return 7835; + else if (Shape == Shape::InnerLeft) + return 7837; + else if (Shape == Shape::InnerRight) + return 7839; + else if (Shape == Shape::OuterLeft) + return 7841; + else + return 7843; +} +BlockState DarkPrismarineStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace DarkPrismarineStairs +namespace DaylightDetector +{ +constexpr BlockState DaylightDetector(const bool Inverted, const unsigned char Power) +{ + if (Inverted) + if (Power == 0) + return 6694; + else if (Power == 1) + return 6695; + else if (Power == 2) + return 6696; + else if (Power == 3) + return 6697; + else if (Power == 4) + return 6698; + else if (Power == 5) + return 6699; + else if (Power == 6) + return 6700; + else if (Power == 7) + return 6701; + else if (Power == 8) + return 6702; + else if (Power == 9) + return 6703; + else if (Power == 10) + return 6704; + else if (Power == 11) + return 6705; + else if (Power == 12) + return 6706; + else if (Power == 13) + return 6707; + else if (Power == 14) + return 6708; + else + return 6709; + else if (Power == 0) + return 6710; + else if (Power == 1) + return 6711; + else if (Power == 2) + return 6712; + else if (Power == 3) + return 6713; + else if (Power == 4) + return 6714; + else if (Power == 5) + return 6715; + else if (Power == 6) + return 6716; + else if (Power == 7) + return 6717; + else if (Power == 8) + return 6718; + else if (Power == 9) + return 6719; + else if (Power == 10) + return 6720; + else if (Power == 11) + return 6721; + else if (Power == 12) + return 6722; + else if (Power == 13) + return 6723; + else if (Power == 14) + return 6724; + else + return 6725; +} +BlockState DaylightDetector(); +bool Inverted(BlockState Block); +unsigned char Power(BlockState Block); +} // namespace DaylightDetector +namespace DeadBrainCoral +{ +constexpr BlockState DeadBrainCoral() +{ + return 9523; +} +} // namespace DeadBrainCoral +namespace DeadBrainCoralBlock +{ +constexpr BlockState DeadBrainCoralBlock() +{ + return 9511; +} +} // namespace DeadBrainCoralBlock +namespace DeadBrainCoralFan +{ +constexpr BlockState DeadBrainCoralFan() +{ + return 9543; +} +} // namespace DeadBrainCoralFan +namespace DeadBrainCoralWallFan +{ +constexpr BlockState DeadBrainCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9569; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9571; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9573; + else + return 9575; +} +BlockState DeadBrainCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace DeadBrainCoralWallFan +namespace DeadBubbleCoral +{ +constexpr BlockState DeadBubbleCoral() +{ + return 9525; +} +} // namespace DeadBubbleCoral +namespace DeadBubbleCoralBlock +{ +constexpr BlockState DeadBubbleCoralBlock() +{ + return 9512; +} +} // namespace DeadBubbleCoralBlock +namespace DeadBubbleCoralFan +{ +constexpr BlockState DeadBubbleCoralFan() +{ + return 9545; +} +} // namespace DeadBubbleCoralFan +namespace DeadBubbleCoralWallFan +{ +constexpr BlockState DeadBubbleCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9577; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9579; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9581; + else + return 9583; +} +BlockState DeadBubbleCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace DeadBubbleCoralWallFan +namespace DeadBush +{ +constexpr BlockState DeadBush() +{ + return 1344; +} +} // namespace DeadBush +namespace DeadFireCoral +{ +constexpr BlockState DeadFireCoral() +{ + return 9527; +} +} // namespace DeadFireCoral +namespace DeadFireCoralBlock +{ +constexpr BlockState DeadFireCoralBlock() +{ + return 9513; +} +} // namespace DeadFireCoralBlock +namespace DeadFireCoralFan +{ +constexpr BlockState DeadFireCoralFan() +{ + return 9547; +} +} // namespace DeadFireCoralFan +namespace DeadFireCoralWallFan +{ +constexpr BlockState DeadFireCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9585; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9587; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9589; + else + return 9591; +} +BlockState DeadFireCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace DeadFireCoralWallFan +namespace DeadHornCoral +{ +constexpr BlockState DeadHornCoral() +{ + return 9529; +} +} // namespace DeadHornCoral +namespace DeadHornCoralBlock +{ +constexpr BlockState DeadHornCoralBlock() +{ + return 9514; +} +} // namespace DeadHornCoralBlock +namespace DeadHornCoralFan +{ +constexpr BlockState DeadHornCoralFan() +{ + return 9549; +} +} // namespace DeadHornCoralFan +namespace DeadHornCoralWallFan +{ +constexpr BlockState DeadHornCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9593; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9595; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9597; + else + return 9599; +} +BlockState DeadHornCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace DeadHornCoralWallFan +namespace DeadTubeCoral +{ +constexpr BlockState DeadTubeCoral() +{ + return 9521; +} +} // namespace DeadTubeCoral +namespace DeadTubeCoralBlock +{ +constexpr BlockState DeadTubeCoralBlock() +{ + return 9510; +} +} // namespace DeadTubeCoralBlock +namespace DeadTubeCoralFan +{ +constexpr BlockState DeadTubeCoralFan() +{ + return 9541; +} +} // namespace DeadTubeCoralFan +namespace DeadTubeCoralWallFan +{ +constexpr BlockState DeadTubeCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9561; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9563; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9565; + else + return 9567; +} +BlockState DeadTubeCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace DeadTubeCoralWallFan +namespace DetectorRail +{ +enum class Shape +{ + NorthSouth, + EastWest, + AscendingEast, + AscendingWest, + AscendingNorth, + AscendingSouth +}; +constexpr BlockState DetectorRail(const bool Powered, const enum Shape Shape) +{ + if (Powered) + if (Shape == Shape::NorthSouth) + return 1317; + else if (Shape == Shape::EastWest) + return 1318; + else if (Shape == Shape::AscendingEast) + return 1319; + else if (Shape == Shape::AscendingWest) + return 1320; + else if (Shape == Shape::AscendingNorth) + return 1321; + else + return 1322; + else if (Shape == Shape::NorthSouth) + return 1323; + else if (Shape == Shape::EastWest) + return 1324; + else if (Shape == Shape::AscendingEast) + return 1325; + else if (Shape == Shape::AscendingWest) + return 1326; + else if (Shape == Shape::AscendingNorth) + return 1327; + else + return 1328; +} +BlockState DetectorRail(); +bool Powered(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace DetectorRail +namespace DiamondBlock +{ +constexpr BlockState DiamondBlock() +{ + return 3355; +} +} // namespace DiamondBlock +namespace DiamondOre +{ +constexpr BlockState DiamondOre() +{ + return 3354; +} +} // namespace DiamondOre +namespace Diorite +{ +constexpr BlockState Diorite() +{ + return 4; +} +} // namespace Diorite +namespace DioriteSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState DioriteSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10862; + else if (Type == Type::Bottom) + return 10864; + else + return 10866; +} +BlockState DioriteSlab(); +enum Type Type(BlockState Block); +} // namespace DioriteSlab +namespace DioriteStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState DioriteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10710; + else if (Shape == Shape::InnerLeft) + return 10712; + else if (Shape == Shape::InnerRight) + return 10714; + else if (Shape == Shape::OuterLeft) + return 10716; + else + return 10718; + else if (Shape == Shape::Straight) + return 10720; + else if (Shape == Shape::InnerLeft) + return 10722; + else if (Shape == Shape::InnerRight) + return 10724; + else if (Shape == Shape::OuterLeft) + return 10726; + else + return 10728; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10730; + else if (Shape == Shape::InnerLeft) + return 10732; + else if (Shape == Shape::InnerRight) + return 10734; + else if (Shape == Shape::OuterLeft) + return 10736; + else + return 10738; + else if (Shape == Shape::Straight) + return 10740; + else if (Shape == Shape::InnerLeft) + return 10742; + else if (Shape == Shape::InnerRight) + return 10744; + else if (Shape == Shape::OuterLeft) + return 10746; + else + return 10748; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10750; + else if (Shape == Shape::InnerLeft) + return 10752; + else if (Shape == Shape::InnerRight) + return 10754; + else if (Shape == Shape::OuterLeft) + return 10756; + else + return 10758; + else if (Shape == Shape::Straight) + return 10760; + else if (Shape == Shape::InnerLeft) + return 10762; + else if (Shape == Shape::InnerRight) + return 10764; + else if (Shape == Shape::OuterLeft) + return 10766; + else + return 10768; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10770; + else if (Shape == Shape::InnerLeft) + return 10772; + else if (Shape == Shape::InnerRight) + return 10774; + else if (Shape == Shape::OuterLeft) + return 10776; + else + return 10778; + else if (Shape == Shape::Straight) + return 10780; + else if (Shape == Shape::InnerLeft) + return 10782; + else if (Shape == Shape::InnerRight) + return 10784; + else if (Shape == Shape::OuterLeft) + return 10786; + else + return 10788; +} +BlockState DioriteStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace DioriteStairs +namespace DioriteWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState DioriteWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 14434; + else if (West == West::Low) + return 14435; + else + return 14436; + else if (West == West::None) + return 14440; + else if (West == West::Low) + return 14441; + else + return 14442; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14446; + else if (West == West::Low) + return 14447; + else + return 14448; + else if (West == West::None) + return 14452; + else if (West == West::Low) + return 14453; + else + return 14454; + else if (Up) + if (West == West::None) + return 14458; + else if (West == West::Low) + return 14459; + else + return 14460; + else if (West == West::None) + return 14464; + else if (West == West::Low) + return 14465; + else + return 14466; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 14470; + else if (West == West::Low) + return 14471; + else + return 14472; + else if (West == West::None) + return 14476; + else if (West == West::Low) + return 14477; + else + return 14478; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14482; + else if (West == West::Low) + return 14483; + else + return 14484; + else if (West == West::None) + return 14488; + else if (West == West::Low) + return 14489; + else + return 14490; + else if (Up) + if (West == West::None) + return 14494; + else if (West == West::Low) + return 14495; + else + return 14496; + else if (West == West::None) + return 14500; + else if (West == West::Low) + return 14501; + else + return 14502; + else if (South == South::None) + if (Up) + if (West == West::None) + return 14506; + else if (West == West::Low) + return 14507; + else + return 14508; + else if (West == West::None) + return 14512; + else if (West == West::Low) + return 14513; + else + return 14514; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14518; + else if (West == West::Low) + return 14519; + else + return 14520; + else if (West == West::None) + return 14524; + else if (West == West::Low) + return 14525; + else + return 14526; + else if (Up) + if (West == West::None) + return 14530; + else if (West == West::Low) + return 14531; + else + return 14532; + else if (West == West::None) + return 14536; + else if (West == West::Low) + return 14537; + else + return 14538; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 14542; + else if (West == West::Low) + return 14543; + else + return 14544; + else if (West == West::None) + return 14548; + else if (West == West::Low) + return 14549; + else + return 14550; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14554; + else if (West == West::Low) + return 14555; + else + return 14556; + else if (West == West::None) + return 14560; + else if (West == West::Low) + return 14561; + else + return 14562; + else if (Up) + if (West == West::None) + return 14566; + else if (West == West::Low) + return 14567; + else + return 14568; + else if (West == West::None) + return 14572; + else if (West == West::Low) + return 14573; + else + return 14574; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 14578; + else if (West == West::Low) + return 14579; + else + return 14580; + else if (West == West::None) + return 14584; + else if (West == West::Low) + return 14585; + else + return 14586; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14590; + else if (West == West::Low) + return 14591; + else + return 14592; + else if (West == West::None) + return 14596; + else if (West == West::Low) + return 14597; + else + return 14598; + else if (Up) + if (West == West::None) + return 14602; + else if (West == West::Low) + return 14603; + else + return 14604; + else if (West == West::None) + return 14608; + else if (West == West::Low) + return 14609; + else + return 14610; + else if (South == South::None) + if (Up) + if (West == West::None) + return 14614; + else if (West == West::Low) + return 14615; + else + return 14616; + else if (West == West::None) + return 14620; + else if (West == West::Low) + return 14621; + else + return 14622; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14626; + else if (West == West::Low) + return 14627; + else + return 14628; + else if (West == West::None) + return 14632; + else if (West == West::Low) + return 14633; + else + return 14634; + else if (Up) + if (West == West::None) + return 14638; + else if (West == West::Low) + return 14639; + else + return 14640; + else if (West == West::None) + return 14644; + else if (West == West::Low) + return 14645; + else + return 14646; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 14650; + else if (West == West::Low) + return 14651; + else + return 14652; + else if (West == West::None) + return 14656; + else if (West == West::Low) + return 14657; + else + return 14658; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14662; + else if (West == West::Low) + return 14663; + else + return 14664; + else if (West == West::None) + return 14668; + else if (West == West::Low) + return 14669; + else + return 14670; + else if (Up) + if (West == West::None) + return 14674; + else if (West == West::Low) + return 14675; + else + return 14676; + else if (West == West::None) + return 14680; + else if (West == West::Low) + return 14681; + else + return 14682; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 14686; + else if (West == West::Low) + return 14687; + else + return 14688; + else if (West == West::None) + return 14692; + else if (West == West::Low) + return 14693; + else + return 14694; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14698; + else if (West == West::Low) + return 14699; + else + return 14700; + else if (West == West::None) + return 14704; + else if (West == West::Low) + return 14705; + else + return 14706; + else if (Up) + if (West == West::None) + return 14710; + else if (West == West::Low) + return 14711; + else + return 14712; + else if (West == West::None) + return 14716; + else if (West == West::Low) + return 14717; + else + return 14718; + else if (South == South::None) + if (Up) + if (West == West::None) + return 14722; + else if (West == West::Low) + return 14723; + else + return 14724; + else if (West == West::None) + return 14728; + else if (West == West::Low) + return 14729; + else + return 14730; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14734; + else if (West == West::Low) + return 14735; + else + return 14736; + else if (West == West::None) + return 14740; + else if (West == West::Low) + return 14741; + else + return 14742; + else if (Up) + if (West == West::None) + return 14746; + else if (West == West::Low) + return 14747; + else + return 14748; + else if (West == West::None) + return 14752; + else if (West == West::Low) + return 14753; + else + return 14754; +} +BlockState DioriteWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace DioriteWall +namespace Dirt +{ +constexpr BlockState Dirt() +{ + return 10; +} +} // namespace Dirt +namespace Dispenser +{ +constexpr BlockState Dispenser(const eBlockFace Facing, const bool Triggered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Triggered) + return 234; + else + return 235; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + if (Triggered) + return 236; + else + return 237; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Triggered) + return 238; + else + return 239; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Triggered) + return 240; + else + return 241; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + if (Triggered) + return 242; + else + return 243; + else if (Triggered) + return 244; + else + return 245; +} +BlockState Dispenser(); +eBlockFace Facing(BlockState Block); +bool Triggered(BlockState Block); +} // namespace Dispenser +namespace DragonEgg +{ +constexpr BlockState DragonEgg() +{ + return 5155; +} +} // namespace DragonEgg +namespace DragonHead +{ +constexpr BlockState DragonHead(const unsigned char Rotation) +{ + if (Rotation == 0) + return 6590; + else if (Rotation == 1) + return 6591; + else if (Rotation == 2) + return 6592; + else if (Rotation == 3) + return 6593; + else if (Rotation == 4) + return 6594; + else if (Rotation == 5) + return 6595; + else if (Rotation == 6) + return 6596; + else if (Rotation == 7) + return 6597; + else if (Rotation == 8) + return 6598; + else if (Rotation == 9) + return 6599; + else if (Rotation == 10) + return 6600; + else if (Rotation == 11) + return 6601; + else if (Rotation == 12) + return 6602; + else if (Rotation == 13) + return 6603; + else if (Rotation == 14) + return 6604; + else + return 6605; +} +BlockState DragonHead(); +unsigned char Rotation(BlockState Block); +} // namespace DragonHead +namespace DragonWallHead +{ +constexpr BlockState DragonWallHead(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6606; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6607; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6608; + else + return 6609; +} +BlockState DragonWallHead(); +eBlockFace Facing(BlockState Block); +} // namespace DragonWallHead +namespace DriedKelpBlock +{ +constexpr BlockState DriedKelpBlock() +{ + return 9497; +} +} // namespace DriedKelpBlock +namespace Dropper +{ +constexpr BlockState Dropper(const eBlockFace Facing, const bool Triggered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Triggered) + return 6835; + else + return 6836; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + if (Triggered) + return 6837; + else + return 6838; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Triggered) + return 6839; + else + return 6840; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Triggered) + return 6841; + else + return 6842; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + if (Triggered) + return 6843; + else + return 6844; + else if (Triggered) + return 6845; + else + return 6846; +} +BlockState Dropper(); +eBlockFace Facing(BlockState Block); +bool Triggered(BlockState Block); +} // namespace Dropper +namespace EmeraldBlock +{ +constexpr BlockState EmeraldBlock() +{ + return 5403; +} +} // namespace EmeraldBlock +namespace EmeraldOre +{ +constexpr BlockState EmeraldOre() +{ + return 5250; +} +} // namespace EmeraldOre +namespace EnchantingTable +{ +constexpr BlockState EnchantingTable() +{ + return 5132; +} +} // namespace EnchantingTable +namespace EndGateway +{ +constexpr BlockState EndGateway() +{ + return 9224; +} +} // namespace EndGateway +namespace EndPortal +{ +constexpr BlockState EndPortal() +{ + return 5145; +} +} // namespace EndPortal +namespace EndPortalFrame +{ +constexpr BlockState EndPortalFrame(const bool Eye, const eBlockFace Facing) +{ + if (Eye) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 5146; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 5147; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 5148; + else + return 5149; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 5150; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 5151; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 5152; + else + return 5153; +} +BlockState EndPortalFrame(); +bool Eye(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace EndPortalFrame +namespace EndRod +{ +constexpr BlockState EndRod(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9058; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9059; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9060; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9061; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9062; + else + return 9063; +} +BlockState EndRod(); +eBlockFace Facing(BlockState Block); +} // namespace EndRod +namespace EndStone +{ +constexpr BlockState EndStone() +{ + return 5154; +} +} // namespace EndStone +namespace EndStoneBrickSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState EndStoneBrickSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10820; + else if (Type == Type::Bottom) + return 10822; + else + return 10824; +} +BlockState EndStoneBrickSlab(); +enum Type Type(BlockState Block); +} // namespace EndStoneBrickSlab +namespace EndStoneBrickStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState EndStoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10070; + else if (Shape == Shape::InnerLeft) + return 10072; + else if (Shape == Shape::InnerRight) + return 10074; + else if (Shape == Shape::OuterLeft) + return 10076; + else + return 10078; + else if (Shape == Shape::Straight) + return 10080; + else if (Shape == Shape::InnerLeft) + return 10082; + else if (Shape == Shape::InnerRight) + return 10084; + else if (Shape == Shape::OuterLeft) + return 10086; + else + return 10088; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10090; + else if (Shape == Shape::InnerLeft) + return 10092; + else if (Shape == Shape::InnerRight) + return 10094; + else if (Shape == Shape::OuterLeft) + return 10096; + else + return 10098; + else if (Shape == Shape::Straight) + return 10100; + else if (Shape == Shape::InnerLeft) + return 10102; + else if (Shape == Shape::InnerRight) + return 10104; + else if (Shape == Shape::OuterLeft) + return 10106; + else + return 10108; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10110; + else if (Shape == Shape::InnerLeft) + return 10112; + else if (Shape == Shape::InnerRight) + return 10114; + else if (Shape == Shape::OuterLeft) + return 10116; + else + return 10118; + else if (Shape == Shape::Straight) + return 10120; + else if (Shape == Shape::InnerLeft) + return 10122; + else if (Shape == Shape::InnerRight) + return 10124; + else if (Shape == Shape::OuterLeft) + return 10126; + else + return 10128; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10130; + else if (Shape == Shape::InnerLeft) + return 10132; + else if (Shape == Shape::InnerRight) + return 10134; + else if (Shape == Shape::OuterLeft) + return 10136; + else + return 10138; + else if (Shape == Shape::Straight) + return 10140; + else if (Shape == Shape::InnerLeft) + return 10142; + else if (Shape == Shape::InnerRight) + return 10144; + else if (Shape == Shape::OuterLeft) + return 10146; + else + return 10148; +} +BlockState EndStoneBrickStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace EndStoneBrickStairs +namespace EndStoneBrickWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState EndStoneBrickWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 14110; + else if (West == West::Low) + return 14111; + else + return 14112; + else if (West == West::None) + return 14116; + else if (West == West::Low) + return 14117; + else + return 14118; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14122; + else if (West == West::Low) + return 14123; + else + return 14124; + else if (West == West::None) + return 14128; + else if (West == West::Low) + return 14129; + else + return 14130; + else if (Up) + if (West == West::None) + return 14134; + else if (West == West::Low) + return 14135; + else + return 14136; + else if (West == West::None) + return 14140; + else if (West == West::Low) + return 14141; + else + return 14142; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 14146; + else if (West == West::Low) + return 14147; + else + return 14148; + else if (West == West::None) + return 14152; + else if (West == West::Low) + return 14153; + else + return 14154; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14158; + else if (West == West::Low) + return 14159; + else + return 14160; + else if (West == West::None) + return 14164; + else if (West == West::Low) + return 14165; + else + return 14166; + else if (Up) + if (West == West::None) + return 14170; + else if (West == West::Low) + return 14171; + else + return 14172; + else if (West == West::None) + return 14176; + else if (West == West::Low) + return 14177; + else + return 14178; + else if (South == South::None) + if (Up) + if (West == West::None) + return 14182; + else if (West == West::Low) + return 14183; + else + return 14184; + else if (West == West::None) + return 14188; + else if (West == West::Low) + return 14189; + else + return 14190; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14194; + else if (West == West::Low) + return 14195; + else + return 14196; + else if (West == West::None) + return 14200; + else if (West == West::Low) + return 14201; + else + return 14202; + else if (Up) + if (West == West::None) + return 14206; + else if (West == West::Low) + return 14207; + else + return 14208; + else if (West == West::None) + return 14212; + else if (West == West::Low) + return 14213; + else + return 14214; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 14218; + else if (West == West::Low) + return 14219; + else + return 14220; + else if (West == West::None) + return 14224; + else if (West == West::Low) + return 14225; + else + return 14226; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14230; + else if (West == West::Low) + return 14231; + else + return 14232; + else if (West == West::None) + return 14236; + else if (West == West::Low) + return 14237; + else + return 14238; + else if (Up) + if (West == West::None) + return 14242; + else if (West == West::Low) + return 14243; + else + return 14244; + else if (West == West::None) + return 14248; + else if (West == West::Low) + return 14249; + else + return 14250; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 14254; + else if (West == West::Low) + return 14255; + else + return 14256; + else if (West == West::None) + return 14260; + else if (West == West::Low) + return 14261; + else + return 14262; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14266; + else if (West == West::Low) + return 14267; + else + return 14268; + else if (West == West::None) + return 14272; + else if (West == West::Low) + return 14273; + else + return 14274; + else if (Up) + if (West == West::None) + return 14278; + else if (West == West::Low) + return 14279; + else + return 14280; + else if (West == West::None) + return 14284; + else if (West == West::Low) + return 14285; + else + return 14286; + else if (South == South::None) + if (Up) + if (West == West::None) + return 14290; + else if (West == West::Low) + return 14291; + else + return 14292; + else if (West == West::None) + return 14296; + else if (West == West::Low) + return 14297; + else + return 14298; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14302; + else if (West == West::Low) + return 14303; + else + return 14304; + else if (West == West::None) + return 14308; + else if (West == West::Low) + return 14309; + else + return 14310; + else if (Up) + if (West == West::None) + return 14314; + else if (West == West::Low) + return 14315; + else + return 14316; + else if (West == West::None) + return 14320; + else if (West == West::Low) + return 14321; + else + return 14322; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 14326; + else if (West == West::Low) + return 14327; + else + return 14328; + else if (West == West::None) + return 14332; + else if (West == West::Low) + return 14333; + else + return 14334; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14338; + else if (West == West::Low) + return 14339; + else + return 14340; + else if (West == West::None) + return 14344; + else if (West == West::Low) + return 14345; + else + return 14346; + else if (Up) + if (West == West::None) + return 14350; + else if (West == West::Low) + return 14351; + else + return 14352; + else if (West == West::None) + return 14356; + else if (West == West::Low) + return 14357; + else + return 14358; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 14362; + else if (West == West::Low) + return 14363; + else + return 14364; + else if (West == West::None) + return 14368; + else if (West == West::Low) + return 14369; + else + return 14370; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14374; + else if (West == West::Low) + return 14375; + else + return 14376; + else if (West == West::None) + return 14380; + else if (West == West::Low) + return 14381; + else + return 14382; + else if (Up) + if (West == West::None) + return 14386; + else if (West == West::Low) + return 14387; + else + return 14388; + else if (West == West::None) + return 14392; + else if (West == West::Low) + return 14393; + else + return 14394; + else if (South == South::None) + if (Up) + if (West == West::None) + return 14398; + else if (West == West::Low) + return 14399; + else + return 14400; + else if (West == West::None) + return 14404; + else if (West == West::Low) + return 14405; + else + return 14406; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14410; + else if (West == West::Low) + return 14411; + else + return 14412; + else if (West == West::None) + return 14416; + else if (West == West::Low) + return 14417; + else + return 14418; + else if (Up) + if (West == West::None) + return 14422; + else if (West == West::Low) + return 14423; + else + return 14424; + else if (West == West::None) + return 14428; + else if (West == West::Low) + return 14429; + else + return 14430; +} +BlockState EndStoneBrickWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace EndStoneBrickWall +namespace EndStoneBricks +{ +constexpr BlockState EndStoneBricks() +{ + return 9218; +} +} // namespace EndStoneBricks +namespace EnderChest +{ +constexpr BlockState EnderChest(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 5252; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 5254; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 5256; + else + return 5258; +} +BlockState EnderChest(); +eBlockFace Facing(BlockState Block); +} // namespace EnderChest +namespace Farmland +{ +constexpr BlockState Farmland(const unsigned char Moisture) +{ + if (Moisture == 0) + return 3365; + else if (Moisture == 1) + return 3366; + else if (Moisture == 2) + return 3367; + else if (Moisture == 3) + return 3368; + else if (Moisture == 4) + return 3369; + else if (Moisture == 5) + return 3370; + else if (Moisture == 6) + return 3371; + else + return 3372; +} +BlockState Farmland(); +unsigned char Moisture(BlockState Block); +} // namespace Farmland +namespace Fern +{ +constexpr BlockState Fern() +{ + return 1343; +} +} // namespace Fern +namespace Fire +{ +constexpr BlockState Fire( + const unsigned char Age, + const bool East, + const bool North, + const bool South, + const bool Up, + const bool West +) +{ + if (Age == 0) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1440; + else + return 1441; + else if (West) + return 1442; + else + return 1443; + else if (Up) + if (West) + return 1444; + else + return 1445; + else if (West) + return 1446; + else + return 1447; + else if (South) + if (Up) + if (West) + return 1448; + else + return 1449; + else if (West) + return 1450; + else + return 1451; + else if (Up) + if (West) + return 1452; + else + return 1453; + else if (West) + return 1454; + else + return 1455; + else if (North) + if (South) + if (Up) + if (West) + return 1456; + else + return 1457; + else if (West) + return 1458; + else + return 1459; + else if (Up) + if (West) + return 1460; + else + return 1461; + else if (West) + return 1462; + else + return 1463; + else if (South) + if (Up) + if (West) + return 1464; + else + return 1465; + else if (West) + return 1466; + else + return 1467; + else if (Up) + if (West) + return 1468; + else + return 1469; + else if (West) + return 1470; + else + return 1471; + else if (Age == 1) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1472; + else + return 1473; + else if (West) + return 1474; + else + return 1475; + else if (Up) + if (West) + return 1476; + else + return 1477; + else if (West) + return 1478; + else + return 1479; + else if (South) + if (Up) + if (West) + return 1480; + else + return 1481; + else if (West) + return 1482; + else + return 1483; + else if (Up) + if (West) + return 1484; + else + return 1485; + else if (West) + return 1486; + else + return 1487; + else if (North) + if (South) + if (Up) + if (West) + return 1488; + else + return 1489; + else if (West) + return 1490; + else + return 1491; + else if (Up) + if (West) + return 1492; + else + return 1493; + else if (West) + return 1494; + else + return 1495; + else if (South) + if (Up) + if (West) + return 1496; + else + return 1497; + else if (West) + return 1498; + else + return 1499; + else if (Up) + if (West) + return 1500; + else + return 1501; + else if (West) + return 1502; + else + return 1503; + else if (Age == 2) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1504; + else + return 1505; + else if (West) + return 1506; + else + return 1507; + else if (Up) + if (West) + return 1508; + else + return 1509; + else if (West) + return 1510; + else + return 1511; + else if (South) + if (Up) + if (West) + return 1512; + else + return 1513; + else if (West) + return 1514; + else + return 1515; + else if (Up) + if (West) + return 1516; + else + return 1517; + else if (West) + return 1518; + else + return 1519; + else if (North) + if (South) + if (Up) + if (West) + return 1520; + else + return 1521; + else if (West) + return 1522; + else + return 1523; + else if (Up) + if (West) + return 1524; + else + return 1525; + else if (West) + return 1526; + else + return 1527; + else if (South) + if (Up) + if (West) + return 1528; + else + return 1529; + else if (West) + return 1530; + else + return 1531; + else if (Up) + if (West) + return 1532; + else + return 1533; + else if (West) + return 1534; + else + return 1535; + else if (Age == 3) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1536; + else + return 1537; + else if (West) + return 1538; + else + return 1539; + else if (Up) + if (West) + return 1540; + else + return 1541; + else if (West) + return 1542; + else + return 1543; + else if (South) + if (Up) + if (West) + return 1544; + else + return 1545; + else if (West) + return 1546; + else + return 1547; + else if (Up) + if (West) + return 1548; + else + return 1549; + else if (West) + return 1550; + else + return 1551; + else if (North) + if (South) + if (Up) + if (West) + return 1552; + else + return 1553; + else if (West) + return 1554; + else + return 1555; + else if (Up) + if (West) + return 1556; + else + return 1557; + else if (West) + return 1558; + else + return 1559; + else if (South) + if (Up) + if (West) + return 1560; + else + return 1561; + else if (West) + return 1562; + else + return 1563; + else if (Up) + if (West) + return 1564; + else + return 1565; + else if (West) + return 1566; + else + return 1567; + else if (Age == 4) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1568; + else + return 1569; + else if (West) + return 1570; + else + return 1571; + else if (Up) + if (West) + return 1572; + else + return 1573; + else if (West) + return 1574; + else + return 1575; + else if (South) + if (Up) + if (West) + return 1576; + else + return 1577; + else if (West) + return 1578; + else + return 1579; + else if (Up) + if (West) + return 1580; + else + return 1581; + else if (West) + return 1582; + else + return 1583; + else if (North) + if (South) + if (Up) + if (West) + return 1584; + else + return 1585; + else if (West) + return 1586; + else + return 1587; + else if (Up) + if (West) + return 1588; + else + return 1589; + else if (West) + return 1590; + else + return 1591; + else if (South) + if (Up) + if (West) + return 1592; + else + return 1593; + else if (West) + return 1594; + else + return 1595; + else if (Up) + if (West) + return 1596; + else + return 1597; + else if (West) + return 1598; + else + return 1599; + else if (Age == 5) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1600; + else + return 1601; + else if (West) + return 1602; + else + return 1603; + else if (Up) + if (West) + return 1604; + else + return 1605; + else if (West) + return 1606; + else + return 1607; + else if (South) + if (Up) + if (West) + return 1608; + else + return 1609; + else if (West) + return 1610; + else + return 1611; + else if (Up) + if (West) + return 1612; + else + return 1613; + else if (West) + return 1614; + else + return 1615; + else if (North) + if (South) + if (Up) + if (West) + return 1616; + else + return 1617; + else if (West) + return 1618; + else + return 1619; + else if (Up) + if (West) + return 1620; + else + return 1621; + else if (West) + return 1622; + else + return 1623; + else if (South) + if (Up) + if (West) + return 1624; + else + return 1625; + else if (West) + return 1626; + else + return 1627; + else if (Up) + if (West) + return 1628; + else + return 1629; + else if (West) + return 1630; + else + return 1631; + else if (Age == 6) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1632; + else + return 1633; + else if (West) + return 1634; + else + return 1635; + else if (Up) + if (West) + return 1636; + else + return 1637; + else if (West) + return 1638; + else + return 1639; + else if (South) + if (Up) + if (West) + return 1640; + else + return 1641; + else if (West) + return 1642; + else + return 1643; + else if (Up) + if (West) + return 1644; + else + return 1645; + else if (West) + return 1646; + else + return 1647; + else if (North) + if (South) + if (Up) + if (West) + return 1648; + else + return 1649; + else if (West) + return 1650; + else + return 1651; + else if (Up) + if (West) + return 1652; + else + return 1653; + else if (West) + return 1654; + else + return 1655; + else if (South) + if (Up) + if (West) + return 1656; + else + return 1657; + else if (West) + return 1658; + else + return 1659; + else if (Up) + if (West) + return 1660; + else + return 1661; + else if (West) + return 1662; + else + return 1663; + else if (Age == 7) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1664; + else + return 1665; + else if (West) + return 1666; + else + return 1667; + else if (Up) + if (West) + return 1668; + else + return 1669; + else if (West) + return 1670; + else + return 1671; + else if (South) + if (Up) + if (West) + return 1672; + else + return 1673; + else if (West) + return 1674; + else + return 1675; + else if (Up) + if (West) + return 1676; + else + return 1677; + else if (West) + return 1678; + else + return 1679; + else if (North) + if (South) + if (Up) + if (West) + return 1680; + else + return 1681; + else if (West) + return 1682; + else + return 1683; + else if (Up) + if (West) + return 1684; + else + return 1685; + else if (West) + return 1686; + else + return 1687; + else if (South) + if (Up) + if (West) + return 1688; + else + return 1689; + else if (West) + return 1690; + else + return 1691; + else if (Up) + if (West) + return 1692; + else + return 1693; + else if (West) + return 1694; + else + return 1695; + else if (Age == 8) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1696; + else + return 1697; + else if (West) + return 1698; + else + return 1699; + else if (Up) + if (West) + return 1700; + else + return 1701; + else if (West) + return 1702; + else + return 1703; + else if (South) + if (Up) + if (West) + return 1704; + else + return 1705; + else if (West) + return 1706; + else + return 1707; + else if (Up) + if (West) + return 1708; + else + return 1709; + else if (West) + return 1710; + else + return 1711; + else if (North) + if (South) + if (Up) + if (West) + return 1712; + else + return 1713; + else if (West) + return 1714; + else + return 1715; + else if (Up) + if (West) + return 1716; + else + return 1717; + else if (West) + return 1718; + else + return 1719; + else if (South) + if (Up) + if (West) + return 1720; + else + return 1721; + else if (West) + return 1722; + else + return 1723; + else if (Up) + if (West) + return 1724; + else + return 1725; + else if (West) + return 1726; + else + return 1727; + else if (Age == 9) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1728; + else + return 1729; + else if (West) + return 1730; + else + return 1731; + else if (Up) + if (West) + return 1732; + else + return 1733; + else if (West) + return 1734; + else + return 1735; + else if (South) + if (Up) + if (West) + return 1736; + else + return 1737; + else if (West) + return 1738; + else + return 1739; + else if (Up) + if (West) + return 1740; + else + return 1741; + else if (West) + return 1742; + else + return 1743; + else if (North) + if (South) + if (Up) + if (West) + return 1744; + else + return 1745; + else if (West) + return 1746; + else + return 1747; + else if (Up) + if (West) + return 1748; + else + return 1749; + else if (West) + return 1750; + else + return 1751; + else if (South) + if (Up) + if (West) + return 1752; + else + return 1753; + else if (West) + return 1754; + else + return 1755; + else if (Up) + if (West) + return 1756; + else + return 1757; + else if (West) + return 1758; + else + return 1759; + else if (Age == 10) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1760; + else + return 1761; + else if (West) + return 1762; + else + return 1763; + else if (Up) + if (West) + return 1764; + else + return 1765; + else if (West) + return 1766; + else + return 1767; + else if (South) + if (Up) + if (West) + return 1768; + else + return 1769; + else if (West) + return 1770; + else + return 1771; + else if (Up) + if (West) + return 1772; + else + return 1773; + else if (West) + return 1774; + else + return 1775; + else if (North) + if (South) + if (Up) + if (West) + return 1776; + else + return 1777; + else if (West) + return 1778; + else + return 1779; + else if (Up) + if (West) + return 1780; + else + return 1781; + else if (West) + return 1782; + else + return 1783; + else if (South) + if (Up) + if (West) + return 1784; + else + return 1785; + else if (West) + return 1786; + else + return 1787; + else if (Up) + if (West) + return 1788; + else + return 1789; + else if (West) + return 1790; + else + return 1791; + else if (Age == 11) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1792; + else + return 1793; + else if (West) + return 1794; + else + return 1795; + else if (Up) + if (West) + return 1796; + else + return 1797; + else if (West) + return 1798; + else + return 1799; + else if (South) + if (Up) + if (West) + return 1800; + else + return 1801; + else if (West) + return 1802; + else + return 1803; + else if (Up) + if (West) + return 1804; + else + return 1805; + else if (West) + return 1806; + else + return 1807; + else if (North) + if (South) + if (Up) + if (West) + return 1808; + else + return 1809; + else if (West) + return 1810; + else + return 1811; + else if (Up) + if (West) + return 1812; + else + return 1813; + else if (West) + return 1814; + else + return 1815; + else if (South) + if (Up) + if (West) + return 1816; + else + return 1817; + else if (West) + return 1818; + else + return 1819; + else if (Up) + if (West) + return 1820; + else + return 1821; + else if (West) + return 1822; + else + return 1823; + else if (Age == 12) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1824; + else + return 1825; + else if (West) + return 1826; + else + return 1827; + else if (Up) + if (West) + return 1828; + else + return 1829; + else if (West) + return 1830; + else + return 1831; + else if (South) + if (Up) + if (West) + return 1832; + else + return 1833; + else if (West) + return 1834; + else + return 1835; + else if (Up) + if (West) + return 1836; + else + return 1837; + else if (West) + return 1838; + else + return 1839; + else if (North) + if (South) + if (Up) + if (West) + return 1840; + else + return 1841; + else if (West) + return 1842; + else + return 1843; + else if (Up) + if (West) + return 1844; + else + return 1845; + else if (West) + return 1846; + else + return 1847; + else if (South) + if (Up) + if (West) + return 1848; + else + return 1849; + else if (West) + return 1850; + else + return 1851; + else if (Up) + if (West) + return 1852; + else + return 1853; + else if (West) + return 1854; + else + return 1855; + else if (Age == 13) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1856; + else + return 1857; + else if (West) + return 1858; + else + return 1859; + else if (Up) + if (West) + return 1860; + else + return 1861; + else if (West) + return 1862; + else + return 1863; + else if (South) + if (Up) + if (West) + return 1864; + else + return 1865; + else if (West) + return 1866; + else + return 1867; + else if (Up) + if (West) + return 1868; + else + return 1869; + else if (West) + return 1870; + else + return 1871; + else if (North) + if (South) + if (Up) + if (West) + return 1872; + else + return 1873; + else if (West) + return 1874; + else + return 1875; + else if (Up) + if (West) + return 1876; + else + return 1877; + else if (West) + return 1878; + else + return 1879; + else if (South) + if (Up) + if (West) + return 1880; + else + return 1881; + else if (West) + return 1882; + else + return 1883; + else if (Up) + if (West) + return 1884; + else + return 1885; + else if (West) + return 1886; + else + return 1887; + else if (Age == 14) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 1888; + else + return 1889; + else if (West) + return 1890; + else + return 1891; + else if (Up) + if (West) + return 1892; + else + return 1893; + else if (West) + return 1894; + else + return 1895; + else if (South) + if (Up) + if (West) + return 1896; + else + return 1897; + else if (West) + return 1898; + else + return 1899; + else if (Up) + if (West) + return 1900; + else + return 1901; + else if (West) + return 1902; + else + return 1903; + else if (North) + if (South) + if (Up) + if (West) + return 1904; + else + return 1905; + else if (West) + return 1906; + else + return 1907; + else if (Up) + if (West) + return 1908; + else + return 1909; + else if (West) + return 1910; + else + return 1911; + else if (South) + if (Up) + if (West) + return 1912; + else + return 1913; + else if (West) + return 1914; + else + return 1915; + else if (Up) + if (West) + return 1916; + else + return 1917; + else if (West) + return 1918; + else + return 1919; + else if (East) + if (North) + if (South) + if (Up) + if (West) + return 1920; + else + return 1921; + else if (West) + return 1922; + else + return 1923; + else if (Up) + if (West) + return 1924; + else + return 1925; + else if (West) + return 1926; + else + return 1927; + else if (South) + if (Up) + if (West) + return 1928; + else + return 1929; + else if (West) + return 1930; + else + return 1931; + else if (Up) + if (West) + return 1932; + else + return 1933; + else if (West) + return 1934; + else + return 1935; + else if (North) + if (South) + if (Up) + if (West) + return 1936; + else + return 1937; + else if (West) + return 1938; + else + return 1939; + else if (Up) + if (West) + return 1940; + else + return 1941; + else if (West) + return 1942; + else + return 1943; + else if (South) + if (Up) + if (West) + return 1944; + else + return 1945; + else if (West) + return 1946; + else + return 1947; + else if (Up) + if (West) + return 1948; + else + return 1949; + else if (West) + return 1950; + else + return 1951; +} +BlockState Fire(); +unsigned char Age(BlockState Block); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool Up(BlockState Block); +bool West(BlockState Block); +} // namespace Fire +namespace FireCoral +{ +constexpr BlockState FireCoral() +{ + return 9537; +} +} // namespace FireCoral +namespace FireCoralBlock +{ +constexpr BlockState FireCoralBlock() +{ + return 9518; +} +} // namespace FireCoralBlock +namespace FireCoralFan +{ +constexpr BlockState FireCoralFan() +{ + return 9557; +} +} // namespace FireCoralFan +namespace FireCoralWallFan +{ +constexpr BlockState FireCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9625; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9627; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9629; + else + return 9631; +} +BlockState FireCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace FireCoralWallFan +namespace FletchingTable +{ +constexpr BlockState FletchingTable() +{ + return 14820; +} +} // namespace FletchingTable +namespace FlowerPot +{ +constexpr BlockState FlowerPot() +{ + return 6305; +} +} // namespace FlowerPot +namespace FrostedIce +{ +constexpr BlockState FrostedIce(const unsigned char Age) +{ + if (Age == 0) + return 9249; + else if (Age == 1) + return 9250; + else if (Age == 2) + return 9251; + else + return 9252; +} +BlockState FrostedIce(); +unsigned char Age(BlockState Block); +} // namespace FrostedIce +namespace Furnace +{ +constexpr BlockState Furnace(const eBlockFace Facing, const bool Lit) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Lit) + return 3373; + else + return 3374; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Lit) + return 3375; + else + return 3376; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Lit) + return 3377; + else + return 3378; + else if (Lit) + return 3379; + else + return 3380; +} +BlockState Furnace(); +eBlockFace Facing(BlockState Block); +bool Lit(BlockState Block); +} // namespace Furnace +namespace GildedBlackstone +{ +constexpr BlockState GildedBlackstone() +{ + return 16664; +} +} // namespace GildedBlackstone +namespace Glass +{ +constexpr BlockState Glass() +{ + return 231; +} +} // namespace Glass +namespace GlassPane +{ +constexpr BlockState GlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 4733; + else + return 4734; + else if (West) + return 4737; + else + return 4738; + else if (South) + if (West) + return 4741; + else + return 4742; + else if (West) + return 4745; + else + return 4746; + else if (North) + if (South) + if (West) + return 4749; + else + return 4750; + else if (West) + return 4753; + else + return 4754; + else if (South) + if (West) + return 4757; + else + return 4758; + else if (West) + return 4761; + else + return 4762; +} +BlockState GlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace GlassPane +namespace Glowstone +{ +constexpr BlockState Glowstone() +{ + return 4013; +} +} // namespace Glowstone +namespace GoldBlock +{ +constexpr BlockState GoldBlock() +{ + return 1427; +} +} // namespace GoldBlock +namespace GoldOre +{ +constexpr BlockState GoldOre() +{ + return 69; +} +} // namespace GoldOre +namespace Granite +{ +constexpr BlockState Granite() +{ + return 2; +} +} // namespace Granite +namespace GraniteSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState GraniteSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10838; + else if (Type == Type::Bottom) + return 10840; + else + return 10842; +} +BlockState GraniteSlab(); +enum Type Type(BlockState Block); +} // namespace GraniteSlab +namespace GraniteStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState GraniteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10390; + else if (Shape == Shape::InnerLeft) + return 10392; + else if (Shape == Shape::InnerRight) + return 10394; + else if (Shape == Shape::OuterLeft) + return 10396; + else + return 10398; + else if (Shape == Shape::Straight) + return 10400; + else if (Shape == Shape::InnerLeft) + return 10402; + else if (Shape == Shape::InnerRight) + return 10404; + else if (Shape == Shape::OuterLeft) + return 10406; + else + return 10408; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10410; + else if (Shape == Shape::InnerLeft) + return 10412; + else if (Shape == Shape::InnerRight) + return 10414; + else if (Shape == Shape::OuterLeft) + return 10416; + else + return 10418; + else if (Shape == Shape::Straight) + return 10420; + else if (Shape == Shape::InnerLeft) + return 10422; + else if (Shape == Shape::InnerRight) + return 10424; + else if (Shape == Shape::OuterLeft) + return 10426; + else + return 10428; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10430; + else if (Shape == Shape::InnerLeft) + return 10432; + else if (Shape == Shape::InnerRight) + return 10434; + else if (Shape == Shape::OuterLeft) + return 10436; + else + return 10438; + else if (Shape == Shape::Straight) + return 10440; + else if (Shape == Shape::InnerLeft) + return 10442; + else if (Shape == Shape::InnerRight) + return 10444; + else if (Shape == Shape::OuterLeft) + return 10446; + else + return 10448; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10450; + else if (Shape == Shape::InnerLeft) + return 10452; + else if (Shape == Shape::InnerRight) + return 10454; + else if (Shape == Shape::OuterLeft) + return 10456; + else + return 10458; + else if (Shape == Shape::Straight) + return 10460; + else if (Shape == Shape::InnerLeft) + return 10462; + else if (Shape == Shape::InnerRight) + return 10464; + else if (Shape == Shape::OuterLeft) + return 10466; + else + return 10468; +} +BlockState GraniteStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace GraniteStairs +namespace GraniteWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState GraniteWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12166; + else if (West == West::Low) + return 12167; + else + return 12168; + else if (West == West::None) + return 12172; + else if (West == West::Low) + return 12173; + else + return 12174; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12178; + else if (West == West::Low) + return 12179; + else + return 12180; + else if (West == West::None) + return 12184; + else if (West == West::Low) + return 12185; + else + return 12186; + else if (Up) + if (West == West::None) + return 12190; + else if (West == West::Low) + return 12191; + else + return 12192; + else if (West == West::None) + return 12196; + else if (West == West::Low) + return 12197; + else + return 12198; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12202; + else if (West == West::Low) + return 12203; + else + return 12204; + else if (West == West::None) + return 12208; + else if (West == West::Low) + return 12209; + else + return 12210; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12214; + else if (West == West::Low) + return 12215; + else + return 12216; + else if (West == West::None) + return 12220; + else if (West == West::Low) + return 12221; + else + return 12222; + else if (Up) + if (West == West::None) + return 12226; + else if (West == West::Low) + return 12227; + else + return 12228; + else if (West == West::None) + return 12232; + else if (West == West::Low) + return 12233; + else + return 12234; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12238; + else if (West == West::Low) + return 12239; + else + return 12240; + else if (West == West::None) + return 12244; + else if (West == West::Low) + return 12245; + else + return 12246; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12250; + else if (West == West::Low) + return 12251; + else + return 12252; + else if (West == West::None) + return 12256; + else if (West == West::Low) + return 12257; + else + return 12258; + else if (Up) + if (West == West::None) + return 12262; + else if (West == West::Low) + return 12263; + else + return 12264; + else if (West == West::None) + return 12268; + else if (West == West::Low) + return 12269; + else + return 12270; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12274; + else if (West == West::Low) + return 12275; + else + return 12276; + else if (West == West::None) + return 12280; + else if (West == West::Low) + return 12281; + else + return 12282; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12286; + else if (West == West::Low) + return 12287; + else + return 12288; + else if (West == West::None) + return 12292; + else if (West == West::Low) + return 12293; + else + return 12294; + else if (Up) + if (West == West::None) + return 12298; + else if (West == West::Low) + return 12299; + else + return 12300; + else if (West == West::None) + return 12304; + else if (West == West::Low) + return 12305; + else + return 12306; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12310; + else if (West == West::Low) + return 12311; + else + return 12312; + else if (West == West::None) + return 12316; + else if (West == West::Low) + return 12317; + else + return 12318; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12322; + else if (West == West::Low) + return 12323; + else + return 12324; + else if (West == West::None) + return 12328; + else if (West == West::Low) + return 12329; + else + return 12330; + else if (Up) + if (West == West::None) + return 12334; + else if (West == West::Low) + return 12335; + else + return 12336; + else if (West == West::None) + return 12340; + else if (West == West::Low) + return 12341; + else + return 12342; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12346; + else if (West == West::Low) + return 12347; + else + return 12348; + else if (West == West::None) + return 12352; + else if (West == West::Low) + return 12353; + else + return 12354; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12358; + else if (West == West::Low) + return 12359; + else + return 12360; + else if (West == West::None) + return 12364; + else if (West == West::Low) + return 12365; + else + return 12366; + else if (Up) + if (West == West::None) + return 12370; + else if (West == West::Low) + return 12371; + else + return 12372; + else if (West == West::None) + return 12376; + else if (West == West::Low) + return 12377; + else + return 12378; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12382; + else if (West == West::Low) + return 12383; + else + return 12384; + else if (West == West::None) + return 12388; + else if (West == West::Low) + return 12389; + else + return 12390; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12394; + else if (West == West::Low) + return 12395; + else + return 12396; + else if (West == West::None) + return 12400; + else if (West == West::Low) + return 12401; + else + return 12402; + else if (Up) + if (West == West::None) + return 12406; + else if (West == West::Low) + return 12407; + else + return 12408; + else if (West == West::None) + return 12412; + else if (West == West::Low) + return 12413; + else + return 12414; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12418; + else if (West == West::Low) + return 12419; + else + return 12420; + else if (West == West::None) + return 12424; + else if (West == West::Low) + return 12425; + else + return 12426; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12430; + else if (West == West::Low) + return 12431; + else + return 12432; + else if (West == West::None) + return 12436; + else if (West == West::Low) + return 12437; + else + return 12438; + else if (Up) + if (West == West::None) + return 12442; + else if (West == West::Low) + return 12443; + else + return 12444; + else if (West == West::None) + return 12448; + else if (West == West::Low) + return 12449; + else + return 12450; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12454; + else if (West == West::Low) + return 12455; + else + return 12456; + else if (West == West::None) + return 12460; + else if (West == West::Low) + return 12461; + else + return 12462; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12466; + else if (West == West::Low) + return 12467; + else + return 12468; + else if (West == West::None) + return 12472; + else if (West == West::Low) + return 12473; + else + return 12474; + else if (Up) + if (West == West::None) + return 12478; + else if (West == West::Low) + return 12479; + else + return 12480; + else if (West == West::None) + return 12484; + else if (West == West::Low) + return 12485; + else + return 12486; +} +BlockState GraniteWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace GraniteWall +namespace Grass +{ +constexpr BlockState Grass() +{ + return 1342; +} +} // namespace Grass +namespace GrassBlock +{ +constexpr BlockState GrassBlock(const bool Snowy) +{ + if (Snowy) + return 8; + else + return 9; +} +BlockState GrassBlock(); +bool Snowy(BlockState Block); +} // namespace GrassBlock +namespace GrassPath +{ +constexpr BlockState GrassPath() +{ + return 9223; +} +} // namespace GrassPath +namespace Gravel +{ +constexpr BlockState Gravel() +{ + return 68; +} +} // namespace Gravel +namespace GrayBanner +{ +constexpr BlockState GrayBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8009; + else if (Rotation == 1) + return 8010; + else if (Rotation == 2) + return 8011; + else if (Rotation == 3) + return 8012; + else if (Rotation == 4) + return 8013; + else if (Rotation == 5) + return 8014; + else if (Rotation == 6) + return 8015; + else if (Rotation == 7) + return 8016; + else if (Rotation == 8) + return 8017; + else if (Rotation == 9) + return 8018; + else if (Rotation == 10) + return 8019; + else if (Rotation == 11) + return 8020; + else if (Rotation == 12) + return 8021; + else if (Rotation == 13) + return 8022; + else if (Rotation == 14) + return 8023; + else + return 8024; +} +BlockState GrayBanner(); +unsigned char Rotation(BlockState Block); +} // namespace GrayBanner +namespace GrayBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState GrayBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1161; + else + return 1162; + else if (Part == Part::Head) + return 1163; + else + return 1164; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1165; + else + return 1166; + else if (Part == Part::Head) + return 1167; + else + return 1168; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1169; + else + return 1170; + else if (Part == Part::Head) + return 1171; + else + return 1172; + else if (Occupied) + if (Part == Part::Head) + return 1173; + else + return 1174; + else if (Part == Part::Head) + return 1175; + else + return 1176; +} +BlockState GrayBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace GrayBed +namespace GrayCarpet +{ +constexpr BlockState GrayCarpet() +{ + return 7873; +} +} // namespace GrayCarpet +namespace GrayConcrete +{ +constexpr BlockState GrayConcrete() +{ + return 9445; +} +} // namespace GrayConcrete +namespace GrayConcretePowder +{ +constexpr BlockState GrayConcretePowder() +{ + return 9461; +} +} // namespace GrayConcretePowder +namespace GrayGlazedTerracotta +{ +constexpr BlockState GrayGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9402; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9403; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9404; + else + return 9405; +} +BlockState GrayGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace GrayGlazedTerracotta +namespace GrayShulkerBox +{ +constexpr BlockState GrayShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9320; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9321; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9322; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9323; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9324; + else + return 9325; +} +BlockState GrayShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace GrayShulkerBox +namespace GrayStainedGlass +{ +constexpr BlockState GrayStainedGlass() +{ + return 4102; +} +} // namespace GrayStainedGlass +namespace GrayStainedGlassPane +{ +constexpr BlockState GrayStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7089; + else + return 7090; + else if (West) + return 7093; + else + return 7094; + else if (South) + if (West) + return 7097; + else + return 7098; + else if (West) + return 7101; + else + return 7102; + else if (North) + if (South) + if (West) + return 7105; + else + return 7106; + else if (West) + return 7109; + else + return 7110; + else if (South) + if (West) + return 7113; + else + return 7114; + else if (West) + return 7117; + else + return 7118; +} +BlockState GrayStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace GrayStainedGlassPane +namespace GrayTerracotta +{ +constexpr BlockState GrayTerracotta() +{ + return 6854; +} +} // namespace GrayTerracotta +namespace GrayWallBanner +{ +constexpr BlockState GrayWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8181; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8182; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8183; + else + return 8184; +} +BlockState GrayWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace GrayWallBanner +namespace GrayWool +{ +constexpr BlockState GrayWool() +{ + return 1391; +} +} // namespace GrayWool +namespace GreenBanner +{ +constexpr BlockState GreenBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8105; + else if (Rotation == 1) + return 8106; + else if (Rotation == 2) + return 8107; + else if (Rotation == 3) + return 8108; + else if (Rotation == 4) + return 8109; + else if (Rotation == 5) + return 8110; + else if (Rotation == 6) + return 8111; + else if (Rotation == 7) + return 8112; + else if (Rotation == 8) + return 8113; + else if (Rotation == 9) + return 8114; + else if (Rotation == 10) + return 8115; + else if (Rotation == 11) + return 8116; + else if (Rotation == 12) + return 8117; + else if (Rotation == 13) + return 8118; + else if (Rotation == 14) + return 8119; + else + return 8120; +} +BlockState GreenBanner(); +unsigned char Rotation(BlockState Block); +} // namespace GreenBanner +namespace GreenBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState GreenBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1257; + else + return 1258; + else if (Part == Part::Head) + return 1259; + else + return 1260; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1261; + else + return 1262; + else if (Part == Part::Head) + return 1263; + else + return 1264; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1265; + else + return 1266; + else if (Part == Part::Head) + return 1267; + else + return 1268; + else if (Occupied) + if (Part == Part::Head) + return 1269; + else + return 1270; + else if (Part == Part::Head) + return 1271; + else + return 1272; +} +BlockState GreenBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace GreenBed +namespace GreenCarpet +{ +constexpr BlockState GreenCarpet() +{ + return 7879; +} +} // namespace GreenCarpet +namespace GreenConcrete +{ +constexpr BlockState GreenConcrete() +{ + return 9451; +} +} // namespace GreenConcrete +namespace GreenConcretePowder +{ +constexpr BlockState GreenConcretePowder() +{ + return 9467; +} +} // namespace GreenConcretePowder +namespace GreenGlazedTerracotta +{ +constexpr BlockState GreenGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9426; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9427; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9428; + else + return 9429; +} +BlockState GreenGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace GreenGlazedTerracotta +namespace GreenShulkerBox +{ +constexpr BlockState GreenShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9356; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9357; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9358; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9359; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9360; + else + return 9361; +} +BlockState GreenShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace GreenShulkerBox +namespace GreenStainedGlass +{ +constexpr BlockState GreenStainedGlass() +{ + return 4108; +} +} // namespace GreenStainedGlass +namespace GreenStainedGlassPane +{ +constexpr BlockState GreenStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7281; + else + return 7282; + else if (West) + return 7285; + else + return 7286; + else if (South) + if (West) + return 7289; + else + return 7290; + else if (West) + return 7293; + else + return 7294; + else if (North) + if (South) + if (West) + return 7297; + else + return 7298; + else if (West) + return 7301; + else + return 7302; + else if (South) + if (West) + return 7305; + else + return 7306; + else if (West) + return 7309; + else + return 7310; +} +BlockState GreenStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace GreenStainedGlassPane +namespace GreenTerracotta +{ +constexpr BlockState GreenTerracotta() +{ + return 6860; +} +} // namespace GreenTerracotta +namespace GreenWallBanner +{ +constexpr BlockState GreenWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8205; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8206; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8207; + else + return 8208; +} +BlockState GreenWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace GreenWallBanner +namespace GreenWool +{ +constexpr BlockState GreenWool() +{ + return 1397; +} +} // namespace GreenWool +namespace Grindstone +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState Grindstone(const enum Face Face, const eBlockFace Facing) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 14821; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 14822; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 14823; + else + return 14824; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 14825; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 14826; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 14827; + else + return 14828; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 14829; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 14830; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 14831; + else + return 14832; +} +BlockState Grindstone(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace Grindstone +namespace HayBale +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState HayBale(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 7863; + else if (Axis == Axis::Y) + return 7864; + else + return 7865; +} +BlockState HayBale(); +enum Axis Axis(BlockState Block); +} // namespace HayBale +namespace HeavyWeightedPressurePlate +{ +constexpr BlockState HeavyWeightedPressurePlate(const unsigned char Power) +{ + if (Power == 0) + return 6662; + else if (Power == 1) + return 6663; + else if (Power == 2) + return 6664; + else if (Power == 3) + return 6665; + else if (Power == 4) + return 6666; + else if (Power == 5) + return 6667; + else if (Power == 6) + return 6668; + else if (Power == 7) + return 6669; + else if (Power == 8) + return 6670; + else if (Power == 9) + return 6671; + else if (Power == 10) + return 6672; + else if (Power == 11) + return 6673; + else if (Power == 12) + return 6674; + else if (Power == 13) + return 6675; + else if (Power == 14) + return 6676; + else + return 6677; +} +BlockState HeavyWeightedPressurePlate(); +unsigned char Power(BlockState Block); +} // namespace HeavyWeightedPressurePlate +namespace HoneyBlock +{ +constexpr BlockState HoneyBlock() +{ + return 15824; +} +} // namespace HoneyBlock +namespace HoneycombBlock +{ +constexpr BlockState HoneycombBlock() +{ + return 15825; +} +} // namespace HoneycombBlock +namespace Hopper +{ +constexpr BlockState Hopper(const bool Enabled, const eBlockFace Facing) +{ + if (Enabled) + if (Facing == eBlockFace::BLOCK_FACE_YM) + return 6728; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6729; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6730; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6731; + else + return 6732; + else if (Facing == eBlockFace::BLOCK_FACE_YM) + return 6733; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6734; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6735; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6736; + else + return 6737; +} +BlockState Hopper(); +bool Enabled(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace Hopper +namespace HornCoral +{ +constexpr BlockState HornCoral() +{ + return 9539; +} +} // namespace HornCoral +namespace HornCoralBlock +{ +constexpr BlockState HornCoralBlock() +{ + return 9519; +} +} // namespace HornCoralBlock +namespace HornCoralFan +{ +constexpr BlockState HornCoralFan() +{ + return 9559; +} +} // namespace HornCoralFan +namespace HornCoralWallFan +{ +constexpr BlockState HornCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9633; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9635; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9637; + else + return 9639; +} +BlockState HornCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace HornCoralWallFan +namespace Ice +{ +constexpr BlockState Ice() +{ + return 3929; +} +} // namespace Ice +namespace InfestedChiseledStoneBricks +{ +constexpr BlockState InfestedChiseledStoneBricks() +{ + return 4504; +} +} // namespace InfestedChiseledStoneBricks +namespace InfestedCobblestone +{ +constexpr BlockState InfestedCobblestone() +{ + return 4500; +} +} // namespace InfestedCobblestone +namespace InfestedCrackedStoneBricks +{ +constexpr BlockState InfestedCrackedStoneBricks() +{ + return 4503; +} +} // namespace InfestedCrackedStoneBricks +namespace InfestedMossyStoneBricks +{ +constexpr BlockState InfestedMossyStoneBricks() +{ + return 4502; +} +} // namespace InfestedMossyStoneBricks +namespace InfestedStone +{ +constexpr BlockState InfestedStone() +{ + return 4499; +} +} // namespace InfestedStone +namespace InfestedStoneBricks +{ +constexpr BlockState InfestedStoneBricks() +{ + return 4501; +} +} // namespace InfestedStoneBricks +namespace IronBars +{ +constexpr BlockState IronBars(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 4699; + else + return 4700; + else if (West) + return 4703; + else + return 4704; + else if (South) + if (West) + return 4707; + else + return 4708; + else if (West) + return 4711; + else + return 4712; + else if (North) + if (South) + if (West) + return 4715; + else + return 4716; + else if (West) + return 4719; + else + return 4720; + else if (South) + if (West) + return 4723; + else + return 4724; + else if (West) + return 4727; + else + return 4728; +} +BlockState IronBars(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace IronBars +namespace IronBlock +{ +constexpr BlockState IronBlock() +{ + return 1428; +} +} // namespace IronBlock +namespace IronDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState IronDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3809; + else + return 3810; + else if (Powered) + return 3811; + else + return 3812; + else if (Open) + if (Powered) + return 3813; + else + return 3814; + else if (Powered) + return 3815; + else + return 3816; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3817; + else + return 3818; + else if (Powered) + return 3819; + else + return 3820; + else if (Open) + if (Powered) + return 3821; + else + return 3822; + else if (Powered) + return 3823; + else + return 3824; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3825; + else + return 3826; + else if (Powered) + return 3827; + else + return 3828; + else if (Open) + if (Powered) + return 3829; + else + return 3830; + else if (Powered) + return 3831; + else + return 3832; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3833; + else + return 3834; + else if (Powered) + return 3835; + else + return 3836; + else if (Open) + if (Powered) + return 3837; + else + return 3838; + else if (Powered) + return 3839; + else + return 3840; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3841; + else + return 3842; + else if (Powered) + return 3843; + else + return 3844; + else if (Open) + if (Powered) + return 3845; + else + return 3846; + else if (Powered) + return 3847; + else + return 3848; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3849; + else + return 3850; + else if (Powered) + return 3851; + else + return 3852; + else if (Open) + if (Powered) + return 3853; + else + return 3854; + else if (Powered) + return 3855; + else + return 3856; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3857; + else + return 3858; + else if (Powered) + return 3859; + else + return 3860; + else if (Open) + if (Powered) + return 3861; + else + return 3862; + else if (Powered) + return 3863; + else + return 3864; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3865; + else + return 3866; + else if (Powered) + return 3867; + else + return 3868; + else if (Open) + if (Powered) + return 3869; + else + return 3870; + else if (Powered) + return 3871; + else + return 3872; +} +BlockState IronDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace IronDoor +namespace IronOre +{ +constexpr BlockState IronOre() +{ + return 70; +} +} // namespace IronOre +namespace IronTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState IronTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 7538; + else + return 7540; + else if (Powered) + return 7542; + else + return 7544; + else if (Open) + if (Powered) + return 7546; + else + return 7548; + else if (Powered) + return 7550; + else + return 7552; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 7554; + else + return 7556; + else if (Powered) + return 7558; + else + return 7560; + else if (Open) + if (Powered) + return 7562; + else + return 7564; + else if (Powered) + return 7566; + else + return 7568; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 7570; + else + return 7572; + else if (Powered) + return 7574; + else + return 7576; + else if (Open) + if (Powered) + return 7578; + else + return 7580; + else if (Powered) + return 7582; + else + return 7584; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 7586; + else + return 7588; + else if (Powered) + return 7590; + else + return 7592; + else if (Open) + if (Powered) + return 7594; + else + return 7596; + else if (Powered) + return 7598; + else + return 7600; +} +BlockState IronTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace IronTrapdoor +namespace JackOLantern +{ +constexpr BlockState JackOLantern(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 4020; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 4021; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 4022; + else + return 4023; +} +BlockState JackOLantern(); +eBlockFace Facing(BlockState Block); +} // namespace JackOLantern +namespace Jigsaw +{ +enum class Orientation +{ + DownEast, + DownNorth, + DownSouth, + DownWest, + UpEast, + UpNorth, + UpSouth, + UpWest, + WestUp, + EastUp, + NorthUp, + SouthUp +}; +constexpr BlockState Jigsaw(const enum Orientation Orientation) +{ + if (Orientation == Orientation::DownEast) + return 15739; + else if (Orientation == Orientation::DownNorth) + return 15740; + else if (Orientation == Orientation::DownSouth) + return 15741; + else if (Orientation == Orientation::DownWest) + return 15742; + else if (Orientation == Orientation::UpEast) + return 15743; + else if (Orientation == Orientation::UpNorth) + return 15744; + else if (Orientation == Orientation::UpSouth) + return 15745; + else if (Orientation == Orientation::UpWest) + return 15746; + else if (Orientation == Orientation::WestUp) + return 15747; + else if (Orientation == Orientation::EastUp) + return 15748; + else if (Orientation == Orientation::NorthUp) + return 15749; + else + return 15750; +} +BlockState Jigsaw(); +enum Orientation Orientation(BlockState Block); +} // namespace Jigsaw +namespace Jukebox +{ +constexpr BlockState Jukebox(const bool HasRecord) +{ + if (HasRecord) + return 3964; + else + return 3965; +} +BlockState Jukebox(); +bool HasRecord(BlockState Block); +} // namespace Jukebox +namespace JungleButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState JungleButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6418; + else + return 6419; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6420; + else + return 6421; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6422; + else + return 6423; + else if (Powered) + return 6424; + else + return 6425; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6426; + else + return 6427; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6428; + else + return 6429; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6430; + else + return 6431; + else if (Powered) + return 6432; + else + return 6433; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6434; + else + return 6435; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6436; + else + return 6437; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6438; + else + return 6439; + else if (Powered) + return 6440; + else + return 6441; +} +BlockState JungleButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace JungleButton +namespace JungleDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState JungleDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8866; + else + return 8867; + else if (Powered) + return 8868; + else + return 8869; + else if (Open) + if (Powered) + return 8870; + else + return 8871; + else if (Powered) + return 8872; + else + return 8873; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8874; + else + return 8875; + else if (Powered) + return 8876; + else + return 8877; + else if (Open) + if (Powered) + return 8878; + else + return 8879; + else if (Powered) + return 8880; + else + return 8881; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8882; + else + return 8883; + else if (Powered) + return 8884; + else + return 8885; + else if (Open) + if (Powered) + return 8886; + else + return 8887; + else if (Powered) + return 8888; + else + return 8889; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8890; + else + return 8891; + else if (Powered) + return 8892; + else + return 8893; + else if (Open) + if (Powered) + return 8894; + else + return 8895; + else if (Powered) + return 8896; + else + return 8897; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8898; + else + return 8899; + else if (Powered) + return 8900; + else + return 8901; + else if (Open) + if (Powered) + return 8902; + else + return 8903; + else if (Powered) + return 8904; + else + return 8905; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8906; + else + return 8907; + else if (Powered) + return 8908; + else + return 8909; + else if (Open) + if (Powered) + return 8910; + else + return 8911; + else if (Powered) + return 8912; + else + return 8913; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8914; + else + return 8915; + else if (Powered) + return 8916; + else + return 8917; + else if (Open) + if (Powered) + return 8918; + else + return 8919; + else if (Powered) + return 8920; + else + return 8921; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8922; + else + return 8923; + else if (Powered) + return 8924; + else + return 8925; + else if (Open) + if (Powered) + return 8926; + else + return 8927; + else if (Powered) + return 8928; + else + return 8929; +} +BlockState JungleDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace JungleDoor +namespace JungleFence +{ +constexpr BlockState JungleFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 8644; + else + return 8645; + else if (West) + return 8648; + else + return 8649; + else if (South) + if (West) + return 8652; + else + return 8653; + else if (West) + return 8656; + else + return 8657; + else if (North) + if (South) + if (West) + return 8660; + else + return 8661; + else if (West) + return 8664; + else + return 8665; + else if (South) + if (West) + return 8668; + else + return 8669; + else if (West) + return 8672; + else + return 8673; +} +BlockState JungleFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace JungleFence +namespace JungleFenceGate +{ +constexpr BlockState JungleFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (InWall) + if (Open) + if (Powered) + return 8482; + else + return 8483; + else if (Powered) + return 8484; + else + return 8485; + else if (Open) + if (Powered) + return 8486; + else + return 8487; + else if (Powered) + return 8488; + else + return 8489; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (InWall) + if (Open) + if (Powered) + return 8490; + else + return 8491; + else if (Powered) + return 8492; + else + return 8493; + else if (Open) + if (Powered) + return 8494; + else + return 8495; + else if (Powered) + return 8496; + else + return 8497; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (InWall) + if (Open) + if (Powered) + return 8498; + else + return 8499; + else if (Powered) + return 8500; + else + return 8501; + else if (Open) + if (Powered) + return 8502; + else + return 8503; + else if (Powered) + return 8504; + else + return 8505; + else if (InWall) + if (Open) + if (Powered) + return 8506; + else + return 8507; + else if (Powered) + return 8508; + else + return 8509; + else if (Open) + if (Powered) + return 8510; + else + return 8511; + else if (Powered) + return 8512; + else + return 8513; +} +BlockState JungleFenceGate(); +eBlockFace Facing(BlockState Block); +bool InWall(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace JungleFenceGate +namespace JungleLeaves +{ +constexpr BlockState JungleLeaves(const unsigned char Distance, const bool Persistent) +{ + if (Distance == 1) + if (Persistent) + return 187; + else + return 188; + else if (Distance == 2) + if (Persistent) + return 189; + else + return 190; + else if (Distance == 3) + if (Persistent) + return 191; + else + return 192; + else if (Distance == 4) + if (Persistent) + return 193; + else + return 194; + else if (Distance == 5) + if (Persistent) + return 195; + else + return 196; + else if (Distance == 6) + if (Persistent) + return 197; + else + return 198; + else if (Persistent) + return 199; + else + return 200; +} +BlockState JungleLeaves(); +unsigned char Distance(BlockState Block); +bool Persistent(BlockState Block); +} // namespace JungleLeaves +namespace JungleLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState JungleLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 82; + else if (Axis == Axis::Y) + return 83; + else + return 84; +} +BlockState JungleLog(); +enum Axis Axis(BlockState Block); +} // namespace JungleLog +namespace JunglePlanks +{ +constexpr BlockState JunglePlanks() +{ + return 18; +} +} // namespace JunglePlanks +namespace JunglePressurePlate +{ +constexpr BlockState JunglePressurePlate(const bool Powered) +{ + if (Powered) + return 3879; + else + return 3880; +} +BlockState JunglePressurePlate(); +bool Powered(BlockState Block); +} // namespace JunglePressurePlate +namespace JungleSapling +{ +constexpr BlockState JungleSapling(const unsigned char Stage) +{ + if (Stage == 0) + return 27; + else + return 28; +} +BlockState JungleSapling(); +unsigned char Stage(BlockState Block); +} // namespace JungleSapling +namespace JungleSign +{ +constexpr BlockState JungleSign(const unsigned char Rotation) +{ + if (Rotation == 0) + return 3510; + else if (Rotation == 1) + return 3512; + else if (Rotation == 2) + return 3514; + else if (Rotation == 3) + return 3516; + else if (Rotation == 4) + return 3518; + else if (Rotation == 5) + return 3520; + else if (Rotation == 6) + return 3522; + else if (Rotation == 7) + return 3524; + else if (Rotation == 8) + return 3526; + else if (Rotation == 9) + return 3528; + else if (Rotation == 10) + return 3530; + else if (Rotation == 11) + return 3532; + else if (Rotation == 12) + return 3534; + else if (Rotation == 13) + return 3536; + else if (Rotation == 14) + return 3538; + else + return 3540; +} +BlockState JungleSign(); +unsigned char Rotation(BlockState Block); +} // namespace JungleSign +namespace JungleSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState JungleSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8319; + else if (Type == Type::Bottom) + return 8321; + else + return 8323; +} +BlockState JungleSlab(); +enum Type Type(BlockState Block); +} // namespace JungleSlab +namespace JungleStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState JungleStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5565; + else if (Shape == Shape::InnerLeft) + return 5567; + else if (Shape == Shape::InnerRight) + return 5569; + else if (Shape == Shape::OuterLeft) + return 5571; + else + return 5573; + else if (Shape == Shape::Straight) + return 5575; + else if (Shape == Shape::InnerLeft) + return 5577; + else if (Shape == Shape::InnerRight) + return 5579; + else if (Shape == Shape::OuterLeft) + return 5581; + else + return 5583; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5585; + else if (Shape == Shape::InnerLeft) + return 5587; + else if (Shape == Shape::InnerRight) + return 5589; + else if (Shape == Shape::OuterLeft) + return 5591; + else + return 5593; + else if (Shape == Shape::Straight) + return 5595; + else if (Shape == Shape::InnerLeft) + return 5597; + else if (Shape == Shape::InnerRight) + return 5599; + else if (Shape == Shape::OuterLeft) + return 5601; + else + return 5603; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5605; + else if (Shape == Shape::InnerLeft) + return 5607; + else if (Shape == Shape::InnerRight) + return 5609; + else if (Shape == Shape::OuterLeft) + return 5611; + else + return 5613; + else if (Shape == Shape::Straight) + return 5615; + else if (Shape == Shape::InnerLeft) + return 5617; + else if (Shape == Shape::InnerRight) + return 5619; + else if (Shape == Shape::OuterLeft) + return 5621; + else + return 5623; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5625; + else if (Shape == Shape::InnerLeft) + return 5627; + else if (Shape == Shape::InnerRight) + return 5629; + else if (Shape == Shape::OuterLeft) + return 5631; + else + return 5633; + else if (Shape == Shape::Straight) + return 5635; + else if (Shape == Shape::InnerLeft) + return 5637; + else if (Shape == Shape::InnerRight) + return 5639; + else if (Shape == Shape::OuterLeft) + return 5641; + else + return 5643; +} +BlockState JungleStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace JungleStairs +namespace JungleTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState JungleTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4304; + else + return 4306; + else if (Powered) + return 4308; + else + return 4310; + else if (Open) + if (Powered) + return 4312; + else + return 4314; + else if (Powered) + return 4316; + else + return 4318; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4320; + else + return 4322; + else if (Powered) + return 4324; + else + return 4326; + else if (Open) + if (Powered) + return 4328; + else + return 4330; + else if (Powered) + return 4332; + else + return 4334; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4336; + else + return 4338; + else if (Powered) + return 4340; + else + return 4342; + else if (Open) + if (Powered) + return 4344; + else + return 4346; + else if (Powered) + return 4348; + else + return 4350; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 4352; + else + return 4354; + else if (Powered) + return 4356; + else + return 4358; + else if (Open) + if (Powered) + return 4360; + else + return 4362; + else if (Powered) + return 4364; + else + return 4366; +} +BlockState JungleTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace JungleTrapdoor +namespace JungleWallSign +{ +constexpr BlockState JungleWallSign(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 3768; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 3770; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 3772; + else + return 3774; +} +BlockState JungleWallSign(); +eBlockFace Facing(BlockState Block); +} // namespace JungleWallSign +namespace JungleWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState JungleWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 118; + else if (Axis == Axis::Y) + return 119; + else + return 120; +} +BlockState JungleWood(); +enum Axis Axis(BlockState Block); +} // namespace JungleWood +namespace Kelp +{ +constexpr BlockState Kelp(const unsigned char Age) +{ + if (Age == 0) + return 9470; + else if (Age == 1) + return 9471; + else if (Age == 2) + return 9472; + else if (Age == 3) + return 9473; + else if (Age == 4) + return 9474; + else if (Age == 5) + return 9475; + else if (Age == 6) + return 9476; + else if (Age == 7) + return 9477; + else if (Age == 8) + return 9478; + else if (Age == 9) + return 9479; + else if (Age == 10) + return 9480; + else if (Age == 11) + return 9481; + else if (Age == 12) + return 9482; + else if (Age == 13) + return 9483; + else if (Age == 14) + return 9484; + else if (Age == 15) + return 9485; + else if (Age == 16) + return 9486; + else if (Age == 17) + return 9487; + else if (Age == 18) + return 9488; + else if (Age == 19) + return 9489; + else if (Age == 20) + return 9490; + else if (Age == 21) + return 9491; + else if (Age == 22) + return 9492; + else if (Age == 23) + return 9493; + else if (Age == 24) + return 9494; + else + return 9495; +} +BlockState Kelp(); +unsigned char Age(BlockState Block); +} // namespace Kelp +namespace KelpPlant +{ +constexpr BlockState KelpPlant() +{ + return 9496; +} +} // namespace KelpPlant +namespace Ladder +{ +constexpr BlockState Ladder(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 3638; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 3640; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 3642; + else + return 3644; +} +BlockState Ladder(); +eBlockFace Facing(BlockState Block); +} // namespace Ladder +namespace Lantern +{ +constexpr BlockState Lantern(const bool Hanging) +{ + if (Hanging) + return 14886; + else + return 14887; +} +BlockState Lantern(); +bool Hanging(BlockState Block); +} // namespace Lantern +namespace LapisBlock +{ +constexpr BlockState LapisBlock() +{ + return 233; +} +} // namespace LapisBlock +namespace LapisOre +{ +constexpr BlockState LapisOre() +{ + return 232; +} +} // namespace LapisOre +namespace LargeFern +{ +enum class Half +{ + Upper, + Lower +}; +constexpr BlockState LargeFern(const enum Half Half) +{ + if (Half == Half::Upper) + return 7895; + else + return 7896; +} +BlockState LargeFern(); +enum Half Half(BlockState Block); +} // namespace LargeFern +namespace Lava +{ +constexpr BlockState Lava(const unsigned char Level) +{ + if (Level == 0) + return 50; + else if (Level == 1) + return 51; + else if (Level == 2) + return 52; + else if (Level == 3) + return 53; + else if (Level == 4) + return 54; + else if (Level == 5) + return 55; + else if (Level == 6) + return 56; + else if (Level == 7) + return 57; + else if (Level == 8) + return 58; + else if (Level == 9) + return 59; + else if (Level == 10) + return 60; + else if (Level == 11) + return 61; + else if (Level == 12) + return 62; + else if (Level == 13) + return 63; + else if (Level == 14) + return 64; + else + return 65; +} +BlockState Lava(); +unsigned char Level(BlockState Block); +} // namespace Lava +namespace Lectern +{ +constexpr BlockState Lectern(const eBlockFace Facing, const bool HasBook, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (HasBook) + if (Powered) + return 14833; + else + return 14834; + else if (Powered) + return 14835; + else + return 14836; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (HasBook) + if (Powered) + return 14837; + else + return 14838; + else if (Powered) + return 14839; + else + return 14840; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (HasBook) + if (Powered) + return 14841; + else + return 14842; + else if (Powered) + return 14843; + else + return 14844; + else if (HasBook) + if (Powered) + return 14845; + else + return 14846; + else if (Powered) + return 14847; + else + return 14848; +} +BlockState Lectern(); +eBlockFace Facing(BlockState Block); +bool HasBook(BlockState Block); +bool Powered(BlockState Block); +} // namespace Lectern +namespace Lever +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState Lever(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 3783; + else + return 3784; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 3785; + else + return 3786; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 3787; + else + return 3788; + else if (Powered) + return 3789; + else + return 3790; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 3791; + else + return 3792; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 3793; + else + return 3794; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 3795; + else + return 3796; + else if (Powered) + return 3797; + else + return 3798; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 3799; + else + return 3800; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 3801; + else + return 3802; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 3803; + else + return 3804; + else if (Powered) + return 3805; + else + return 3806; +} +BlockState Lever(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace Lever +namespace LightBlueBanner +{ +constexpr BlockState LightBlueBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 7945; + else if (Rotation == 1) + return 7946; + else if (Rotation == 2) + return 7947; + else if (Rotation == 3) + return 7948; + else if (Rotation == 4) + return 7949; + else if (Rotation == 5) + return 7950; + else if (Rotation == 6) + return 7951; + else if (Rotation == 7) + return 7952; + else if (Rotation == 8) + return 7953; + else if (Rotation == 9) + return 7954; + else if (Rotation == 10) + return 7955; + else if (Rotation == 11) + return 7956; + else if (Rotation == 12) + return 7957; + else if (Rotation == 13) + return 7958; + else if (Rotation == 14) + return 7959; + else + return 7960; +} +BlockState LightBlueBanner(); +unsigned char Rotation(BlockState Block); +} // namespace LightBlueBanner +namespace LightBlueBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState LightBlueBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1097; + else + return 1098; + else if (Part == Part::Head) + return 1099; + else + return 1100; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1101; + else + return 1102; + else if (Part == Part::Head) + return 1103; + else + return 1104; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1105; + else + return 1106; + else if (Part == Part::Head) + return 1107; + else + return 1108; + else if (Occupied) + if (Part == Part::Head) + return 1109; + else + return 1110; + else if (Part == Part::Head) + return 1111; + else + return 1112; +} +BlockState LightBlueBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace LightBlueBed +namespace LightBlueCarpet +{ +constexpr BlockState LightBlueCarpet() +{ + return 7869; +} +} // namespace LightBlueCarpet +namespace LightBlueConcrete +{ +constexpr BlockState LightBlueConcrete() +{ + return 9441; +} +} // namespace LightBlueConcrete +namespace LightBlueConcretePowder +{ +constexpr BlockState LightBlueConcretePowder() +{ + return 9457; +} +} // namespace LightBlueConcretePowder +namespace LightBlueGlazedTerracotta +{ +constexpr BlockState LightBlueGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9386; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9387; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9388; + else + return 9389; +} +BlockState LightBlueGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace LightBlueGlazedTerracotta +namespace LightBlueShulkerBox +{ +constexpr BlockState LightBlueShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9296; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9297; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9298; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9299; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9300; + else + return 9301; +} +BlockState LightBlueShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace LightBlueShulkerBox +namespace LightBlueStainedGlass +{ +constexpr BlockState LightBlueStainedGlass() +{ + return 4098; +} +} // namespace LightBlueStainedGlass +namespace LightBlueStainedGlassPane +{ +constexpr BlockState LightBlueStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 6961; + else + return 6962; + else if (West) + return 6965; + else + return 6966; + else if (South) + if (West) + return 6969; + else + return 6970; + else if (West) + return 6973; + else + return 6974; + else if (North) + if (South) + if (West) + return 6977; + else + return 6978; + else if (West) + return 6981; + else + return 6982; + else if (South) + if (West) + return 6985; + else + return 6986; + else if (West) + return 6989; + else + return 6990; +} +BlockState LightBlueStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace LightBlueStainedGlassPane +namespace LightBlueTerracotta +{ +constexpr BlockState LightBlueTerracotta() +{ + return 6850; +} +} // namespace LightBlueTerracotta +namespace LightBlueWallBanner +{ +constexpr BlockState LightBlueWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8165; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8166; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8167; + else + return 8168; +} +BlockState LightBlueWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace LightBlueWallBanner +namespace LightBlueWool +{ +constexpr BlockState LightBlueWool() +{ + return 1387; +} +} // namespace LightBlueWool +namespace LightGrayBanner +{ +constexpr BlockState LightGrayBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8025; + else if (Rotation == 1) + return 8026; + else if (Rotation == 2) + return 8027; + else if (Rotation == 3) + return 8028; + else if (Rotation == 4) + return 8029; + else if (Rotation == 5) + return 8030; + else if (Rotation == 6) + return 8031; + else if (Rotation == 7) + return 8032; + else if (Rotation == 8) + return 8033; + else if (Rotation == 9) + return 8034; + else if (Rotation == 10) + return 8035; + else if (Rotation == 11) + return 8036; + else if (Rotation == 12) + return 8037; + else if (Rotation == 13) + return 8038; + else if (Rotation == 14) + return 8039; + else + return 8040; +} +BlockState LightGrayBanner(); +unsigned char Rotation(BlockState Block); +} // namespace LightGrayBanner +namespace LightGrayBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState LightGrayBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1177; + else + return 1178; + else if (Part == Part::Head) + return 1179; + else + return 1180; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1181; + else + return 1182; + else if (Part == Part::Head) + return 1183; + else + return 1184; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1185; + else + return 1186; + else if (Part == Part::Head) + return 1187; + else + return 1188; + else if (Occupied) + if (Part == Part::Head) + return 1189; + else + return 1190; + else if (Part == Part::Head) + return 1191; + else + return 1192; +} +BlockState LightGrayBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace LightGrayBed +namespace LightGrayCarpet +{ +constexpr BlockState LightGrayCarpet() +{ + return 7874; +} +} // namespace LightGrayCarpet +namespace LightGrayConcrete +{ +constexpr BlockState LightGrayConcrete() +{ + return 9446; +} +} // namespace LightGrayConcrete +namespace LightGrayConcretePowder +{ +constexpr BlockState LightGrayConcretePowder() +{ + return 9462; +} +} // namespace LightGrayConcretePowder +namespace LightGrayGlazedTerracotta +{ +constexpr BlockState LightGrayGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9406; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9407; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9408; + else + return 9409; +} +BlockState LightGrayGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace LightGrayGlazedTerracotta +namespace LightGrayShulkerBox +{ +constexpr BlockState LightGrayShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9326; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9327; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9328; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9329; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9330; + else + return 9331; +} +BlockState LightGrayShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace LightGrayShulkerBox +namespace LightGrayStainedGlass +{ +constexpr BlockState LightGrayStainedGlass() +{ + return 4103; +} +} // namespace LightGrayStainedGlass +namespace LightGrayStainedGlassPane +{ +constexpr BlockState LightGrayStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7121; + else + return 7122; + else if (West) + return 7125; + else + return 7126; + else if (South) + if (West) + return 7129; + else + return 7130; + else if (West) + return 7133; + else + return 7134; + else if (North) + if (South) + if (West) + return 7137; + else + return 7138; + else if (West) + return 7141; + else + return 7142; + else if (South) + if (West) + return 7145; + else + return 7146; + else if (West) + return 7149; + else + return 7150; +} +BlockState LightGrayStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace LightGrayStainedGlassPane +namespace LightGrayTerracotta +{ +constexpr BlockState LightGrayTerracotta() +{ + return 6855; +} +} // namespace LightGrayTerracotta +namespace LightGrayWallBanner +{ +constexpr BlockState LightGrayWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8185; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8186; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8187; + else + return 8188; +} +BlockState LightGrayWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace LightGrayWallBanner +namespace LightGrayWool +{ +constexpr BlockState LightGrayWool() +{ + return 1392; +} +} // namespace LightGrayWool +namespace LightWeightedPressurePlate +{ +constexpr BlockState LightWeightedPressurePlate(const unsigned char Power) +{ + if (Power == 0) + return 6646; + else if (Power == 1) + return 6647; + else if (Power == 2) + return 6648; + else if (Power == 3) + return 6649; + else if (Power == 4) + return 6650; + else if (Power == 5) + return 6651; + else if (Power == 6) + return 6652; + else if (Power == 7) + return 6653; + else if (Power == 8) + return 6654; + else if (Power == 9) + return 6655; + else if (Power == 10) + return 6656; + else if (Power == 11) + return 6657; + else if (Power == 12) + return 6658; + else if (Power == 13) + return 6659; + else if (Power == 14) + return 6660; + else + return 6661; +} +BlockState LightWeightedPressurePlate(); +unsigned char Power(BlockState Block); +} // namespace LightWeightedPressurePlate +namespace Lilac +{ +enum class Half +{ + Upper, + Lower +}; +constexpr BlockState Lilac(const enum Half Half) +{ + if (Half == Half::Upper) + return 7887; + else + return 7888; +} +BlockState Lilac(); +enum Half Half(BlockState Block); +} // namespace Lilac +namespace LilyOfTheValley +{ +constexpr BlockState LilyOfTheValley() +{ + return 1424; +} +} // namespace LilyOfTheValley +namespace LilyPad +{ +constexpr BlockState LilyPad() +{ + return 5014; +} +} // namespace LilyPad +namespace LimeBanner +{ +constexpr BlockState LimeBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 7977; + else if (Rotation == 1) + return 7978; + else if (Rotation == 2) + return 7979; + else if (Rotation == 3) + return 7980; + else if (Rotation == 4) + return 7981; + else if (Rotation == 5) + return 7982; + else if (Rotation == 6) + return 7983; + else if (Rotation == 7) + return 7984; + else if (Rotation == 8) + return 7985; + else if (Rotation == 9) + return 7986; + else if (Rotation == 10) + return 7987; + else if (Rotation == 11) + return 7988; + else if (Rotation == 12) + return 7989; + else if (Rotation == 13) + return 7990; + else if (Rotation == 14) + return 7991; + else + return 7992; +} +BlockState LimeBanner(); +unsigned char Rotation(BlockState Block); +} // namespace LimeBanner +namespace LimeBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState LimeBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1129; + else + return 1130; + else if (Part == Part::Head) + return 1131; + else + return 1132; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1133; + else + return 1134; + else if (Part == Part::Head) + return 1135; + else + return 1136; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1137; + else + return 1138; + else if (Part == Part::Head) + return 1139; + else + return 1140; + else if (Occupied) + if (Part == Part::Head) + return 1141; + else + return 1142; + else if (Part == Part::Head) + return 1143; + else + return 1144; +} +BlockState LimeBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace LimeBed +namespace LimeCarpet +{ +constexpr BlockState LimeCarpet() +{ + return 7871; +} +} // namespace LimeCarpet +namespace LimeConcrete +{ +constexpr BlockState LimeConcrete() +{ + return 9443; +} +} // namespace LimeConcrete +namespace LimeConcretePowder +{ +constexpr BlockState LimeConcretePowder() +{ + return 9459; +} +} // namespace LimeConcretePowder +namespace LimeGlazedTerracotta +{ +constexpr BlockState LimeGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9394; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9395; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9396; + else + return 9397; +} +BlockState LimeGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace LimeGlazedTerracotta +namespace LimeShulkerBox +{ +constexpr BlockState LimeShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9308; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9309; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9310; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9311; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9312; + else + return 9313; +} +BlockState LimeShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace LimeShulkerBox +namespace LimeStainedGlass +{ +constexpr BlockState LimeStainedGlass() +{ + return 4100; +} +} // namespace LimeStainedGlass +namespace LimeStainedGlassPane +{ +constexpr BlockState LimeStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7025; + else + return 7026; + else if (West) + return 7029; + else + return 7030; + else if (South) + if (West) + return 7033; + else + return 7034; + else if (West) + return 7037; + else + return 7038; + else if (North) + if (South) + if (West) + return 7041; + else + return 7042; + else if (West) + return 7045; + else + return 7046; + else if (South) + if (West) + return 7049; + else + return 7050; + else if (West) + return 7053; + else + return 7054; +} +BlockState LimeStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace LimeStainedGlassPane +namespace LimeTerracotta +{ +constexpr BlockState LimeTerracotta() +{ + return 6852; +} +} // namespace LimeTerracotta +namespace LimeWallBanner +{ +constexpr BlockState LimeWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8173; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8174; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8175; + else + return 8176; +} +BlockState LimeWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace LimeWallBanner +namespace LimeWool +{ +constexpr BlockState LimeWool() +{ + return 1389; +} +} // namespace LimeWool +namespace Lodestone +{ +constexpr BlockState Lodestone() +{ + return 15838; +} +} // namespace Lodestone +namespace Loom +{ +constexpr BlockState Loom(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 14787; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 14788; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 14789; + else + return 14790; +} +BlockState Loom(); +eBlockFace Facing(BlockState Block); +} // namespace Loom +namespace MagentaBanner +{ +constexpr BlockState MagentaBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 7929; + else if (Rotation == 1) + return 7930; + else if (Rotation == 2) + return 7931; + else if (Rotation == 3) + return 7932; + else if (Rotation == 4) + return 7933; + else if (Rotation == 5) + return 7934; + else if (Rotation == 6) + return 7935; + else if (Rotation == 7) + return 7936; + else if (Rotation == 8) + return 7937; + else if (Rotation == 9) + return 7938; + else if (Rotation == 10) + return 7939; + else if (Rotation == 11) + return 7940; + else if (Rotation == 12) + return 7941; + else if (Rotation == 13) + return 7942; + else if (Rotation == 14) + return 7943; + else + return 7944; +} +BlockState MagentaBanner(); +unsigned char Rotation(BlockState Block); +} // namespace MagentaBanner +namespace MagentaBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState MagentaBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1081; + else + return 1082; + else if (Part == Part::Head) + return 1083; + else + return 1084; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1085; + else + return 1086; + else if (Part == Part::Head) + return 1087; + else + return 1088; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1089; + else + return 1090; + else if (Part == Part::Head) + return 1091; + else + return 1092; + else if (Occupied) + if (Part == Part::Head) + return 1093; + else + return 1094; + else if (Part == Part::Head) + return 1095; + else + return 1096; +} +BlockState MagentaBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace MagentaBed +namespace MagentaCarpet +{ +constexpr BlockState MagentaCarpet() +{ + return 7868; +} +} // namespace MagentaCarpet +namespace MagentaConcrete +{ +constexpr BlockState MagentaConcrete() +{ + return 9440; +} +} // namespace MagentaConcrete +namespace MagentaConcretePowder +{ +constexpr BlockState MagentaConcretePowder() +{ + return 9456; +} +} // namespace MagentaConcretePowder +namespace MagentaGlazedTerracotta +{ +constexpr BlockState MagentaGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9382; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9383; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9384; + else + return 9385; +} +BlockState MagentaGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace MagentaGlazedTerracotta +namespace MagentaShulkerBox +{ +constexpr BlockState MagentaShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9290; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9291; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9292; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9293; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9294; + else + return 9295; +} +BlockState MagentaShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace MagentaShulkerBox +namespace MagentaStainedGlass +{ +constexpr BlockState MagentaStainedGlass() +{ + return 4097; +} +} // namespace MagentaStainedGlass +namespace MagentaStainedGlassPane +{ +constexpr BlockState MagentaStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 6929; + else + return 6930; + else if (West) + return 6933; + else + return 6934; + else if (South) + if (West) + return 6937; + else + return 6938; + else if (West) + return 6941; + else + return 6942; + else if (North) + if (South) + if (West) + return 6945; + else + return 6946; + else if (West) + return 6949; + else + return 6950; + else if (South) + if (West) + return 6953; + else + return 6954; + else if (West) + return 6957; + else + return 6958; +} +BlockState MagentaStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace MagentaStainedGlassPane +namespace MagentaTerracotta +{ +constexpr BlockState MagentaTerracotta() +{ + return 6849; +} +} // namespace MagentaTerracotta +namespace MagentaWallBanner +{ +constexpr BlockState MagentaWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8161; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8162; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8163; + else + return 8164; +} +BlockState MagentaWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace MagentaWallBanner +namespace MagentaWool +{ +constexpr BlockState MagentaWool() +{ + return 1386; +} +} // namespace MagentaWool +namespace MagmaBlock +{ +constexpr BlockState MagmaBlock() +{ + return 9253; +} +} // namespace MagmaBlock +namespace Melon +{ +constexpr BlockState Melon() +{ + return 4763; +} +} // namespace Melon +namespace MelonStem +{ +constexpr BlockState MelonStem(const unsigned char Age) +{ + if (Age == 0) + return 4780; + else if (Age == 1) + return 4781; + else if (Age == 2) + return 4782; + else if (Age == 3) + return 4783; + else if (Age == 4) + return 4784; + else if (Age == 5) + return 4785; + else if (Age == 6) + return 4786; + else + return 4787; +} +BlockState MelonStem(); +unsigned char Age(BlockState Block); +} // namespace MelonStem +namespace MossyCobblestone +{ +constexpr BlockState MossyCobblestone() +{ + return 1433; +} +} // namespace MossyCobblestone +namespace MossyCobblestoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState MossyCobblestoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10814; + else if (Type == Type::Bottom) + return 10816; + else + return 10818; +} +BlockState MossyCobblestoneSlab(); +enum Type Type(BlockState Block); +} // namespace MossyCobblestoneSlab +namespace MossyCobblestoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState MossyCobblestoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9990; + else if (Shape == Shape::InnerLeft) + return 9992; + else if (Shape == Shape::InnerRight) + return 9994; + else if (Shape == Shape::OuterLeft) + return 9996; + else + return 9998; + else if (Shape == Shape::Straight) + return 10000; + else if (Shape == Shape::InnerLeft) + return 10002; + else if (Shape == Shape::InnerRight) + return 10004; + else if (Shape == Shape::OuterLeft) + return 10006; + else + return 10008; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10010; + else if (Shape == Shape::InnerLeft) + return 10012; + else if (Shape == Shape::InnerRight) + return 10014; + else if (Shape == Shape::OuterLeft) + return 10016; + else + return 10018; + else if (Shape == Shape::Straight) + return 10020; + else if (Shape == Shape::InnerLeft) + return 10022; + else if (Shape == Shape::InnerRight) + return 10024; + else if (Shape == Shape::OuterLeft) + return 10026; + else + return 10028; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10030; + else if (Shape == Shape::InnerLeft) + return 10032; + else if (Shape == Shape::InnerRight) + return 10034; + else if (Shape == Shape::OuterLeft) + return 10036; + else + return 10038; + else if (Shape == Shape::Straight) + return 10040; + else if (Shape == Shape::InnerLeft) + return 10042; + else if (Shape == Shape::InnerRight) + return 10044; + else if (Shape == Shape::OuterLeft) + return 10046; + else + return 10048; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10050; + else if (Shape == Shape::InnerLeft) + return 10052; + else if (Shape == Shape::InnerRight) + return 10054; + else if (Shape == Shape::OuterLeft) + return 10056; + else + return 10058; + else if (Shape == Shape::Straight) + return 10060; + else if (Shape == Shape::InnerLeft) + return 10062; + else if (Shape == Shape::InnerRight) + return 10064; + else if (Shape == Shape::OuterLeft) + return 10066; + else + return 10068; +} +BlockState MossyCobblestoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace MossyCobblestoneStairs +namespace MossyCobblestoneWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState MossyCobblestoneWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 5984; + else if (West == West::Low) + return 5985; + else + return 5986; + else if (West == West::None) + return 5990; + else if (West == West::Low) + return 5991; + else + return 5992; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 5996; + else if (West == West::Low) + return 5997; + else + return 5998; + else if (West == West::None) + return 6002; + else if (West == West::Low) + return 6003; + else + return 6004; + else if (Up) + if (West == West::None) + return 6008; + else if (West == West::Low) + return 6009; + else + return 6010; + else if (West == West::None) + return 6014; + else if (West == West::Low) + return 6015; + else + return 6016; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 6020; + else if (West == West::Low) + return 6021; + else + return 6022; + else if (West == West::None) + return 6026; + else if (West == West::Low) + return 6027; + else + return 6028; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 6032; + else if (West == West::Low) + return 6033; + else + return 6034; + else if (West == West::None) + return 6038; + else if (West == West::Low) + return 6039; + else + return 6040; + else if (Up) + if (West == West::None) + return 6044; + else if (West == West::Low) + return 6045; + else + return 6046; + else if (West == West::None) + return 6050; + else if (West == West::Low) + return 6051; + else + return 6052; + else if (South == South::None) + if (Up) + if (West == West::None) + return 6056; + else if (West == West::Low) + return 6057; + else + return 6058; + else if (West == West::None) + return 6062; + else if (West == West::Low) + return 6063; + else + return 6064; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 6068; + else if (West == West::Low) + return 6069; + else + return 6070; + else if (West == West::None) + return 6074; + else if (West == West::Low) + return 6075; + else + return 6076; + else if (Up) + if (West == West::None) + return 6080; + else if (West == West::Low) + return 6081; + else + return 6082; + else if (West == West::None) + return 6086; + else if (West == West::Low) + return 6087; + else + return 6088; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 6092; + else if (West == West::Low) + return 6093; + else + return 6094; + else if (West == West::None) + return 6098; + else if (West == West::Low) + return 6099; + else + return 6100; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 6104; + else if (West == West::Low) + return 6105; + else + return 6106; + else if (West == West::None) + return 6110; + else if (West == West::Low) + return 6111; + else + return 6112; + else if (Up) + if (West == West::None) + return 6116; + else if (West == West::Low) + return 6117; + else + return 6118; + else if (West == West::None) + return 6122; + else if (West == West::Low) + return 6123; + else + return 6124; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 6128; + else if (West == West::Low) + return 6129; + else + return 6130; + else if (West == West::None) + return 6134; + else if (West == West::Low) + return 6135; + else + return 6136; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 6140; + else if (West == West::Low) + return 6141; + else + return 6142; + else if (West == West::None) + return 6146; + else if (West == West::Low) + return 6147; + else + return 6148; + else if (Up) + if (West == West::None) + return 6152; + else if (West == West::Low) + return 6153; + else + return 6154; + else if (West == West::None) + return 6158; + else if (West == West::Low) + return 6159; + else + return 6160; + else if (South == South::None) + if (Up) + if (West == West::None) + return 6164; + else if (West == West::Low) + return 6165; + else + return 6166; + else if (West == West::None) + return 6170; + else if (West == West::Low) + return 6171; + else + return 6172; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 6176; + else if (West == West::Low) + return 6177; + else + return 6178; + else if (West == West::None) + return 6182; + else if (West == West::Low) + return 6183; + else + return 6184; + else if (Up) + if (West == West::None) + return 6188; + else if (West == West::Low) + return 6189; + else + return 6190; + else if (West == West::None) + return 6194; + else if (West == West::Low) + return 6195; + else + return 6196; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 6200; + else if (West == West::Low) + return 6201; + else + return 6202; + else if (West == West::None) + return 6206; + else if (West == West::Low) + return 6207; + else + return 6208; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 6212; + else if (West == West::Low) + return 6213; + else + return 6214; + else if (West == West::None) + return 6218; + else if (West == West::Low) + return 6219; + else + return 6220; + else if (Up) + if (West == West::None) + return 6224; + else if (West == West::Low) + return 6225; + else + return 6226; + else if (West == West::None) + return 6230; + else if (West == West::Low) + return 6231; + else + return 6232; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 6236; + else if (West == West::Low) + return 6237; + else + return 6238; + else if (West == West::None) + return 6242; + else if (West == West::Low) + return 6243; + else + return 6244; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 6248; + else if (West == West::Low) + return 6249; + else + return 6250; + else if (West == West::None) + return 6254; + else if (West == West::Low) + return 6255; + else + return 6256; + else if (Up) + if (West == West::None) + return 6260; + else if (West == West::Low) + return 6261; + else + return 6262; + else if (West == West::None) + return 6266; + else if (West == West::Low) + return 6267; + else + return 6268; + else if (South == South::None) + if (Up) + if (West == West::None) + return 6272; + else if (West == West::Low) + return 6273; + else + return 6274; + else if (West == West::None) + return 6278; + else if (West == West::Low) + return 6279; + else + return 6280; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 6284; + else if (West == West::Low) + return 6285; + else + return 6286; + else if (West == West::None) + return 6290; + else if (West == West::Low) + return 6291; + else + return 6292; + else if (Up) + if (West == West::None) + return 6296; + else if (West == West::Low) + return 6297; + else + return 6298; + else if (West == West::None) + return 6302; + else if (West == West::Low) + return 6303; + else + return 6304; +} +BlockState MossyCobblestoneWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace MossyCobblestoneWall +namespace MossyStoneBrickSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState MossyStoneBrickSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10802; + else if (Type == Type::Bottom) + return 10804; + else + return 10806; +} +BlockState MossyStoneBrickSlab(); +enum Type Type(BlockState Block); +} // namespace MossyStoneBrickSlab +namespace MossyStoneBrickStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState MossyStoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9830; + else if (Shape == Shape::InnerLeft) + return 9832; + else if (Shape == Shape::InnerRight) + return 9834; + else if (Shape == Shape::OuterLeft) + return 9836; + else + return 9838; + else if (Shape == Shape::Straight) + return 9840; + else if (Shape == Shape::InnerLeft) + return 9842; + else if (Shape == Shape::InnerRight) + return 9844; + else if (Shape == Shape::OuterLeft) + return 9846; + else + return 9848; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9850; + else if (Shape == Shape::InnerLeft) + return 9852; + else if (Shape == Shape::InnerRight) + return 9854; + else if (Shape == Shape::OuterLeft) + return 9856; + else + return 9858; + else if (Shape == Shape::Straight) + return 9860; + else if (Shape == Shape::InnerLeft) + return 9862; + else if (Shape == Shape::InnerRight) + return 9864; + else if (Shape == Shape::OuterLeft) + return 9866; + else + return 9868; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9870; + else if (Shape == Shape::InnerLeft) + return 9872; + else if (Shape == Shape::InnerRight) + return 9874; + else if (Shape == Shape::OuterLeft) + return 9876; + else + return 9878; + else if (Shape == Shape::Straight) + return 9880; + else if (Shape == Shape::InnerLeft) + return 9882; + else if (Shape == Shape::InnerRight) + return 9884; + else if (Shape == Shape::OuterLeft) + return 9886; + else + return 9888; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9890; + else if (Shape == Shape::InnerLeft) + return 9892; + else if (Shape == Shape::InnerRight) + return 9894; + else if (Shape == Shape::OuterLeft) + return 9896; + else + return 9898; + else if (Shape == Shape::Straight) + return 9900; + else if (Shape == Shape::InnerLeft) + return 9902; + else if (Shape == Shape::InnerRight) + return 9904; + else if (Shape == Shape::OuterLeft) + return 9906; + else + return 9908; +} +BlockState MossyStoneBrickStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace MossyStoneBrickStairs +namespace MossyStoneBrickWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState MossyStoneBrickWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11842; + else if (West == West::Low) + return 11843; + else + return 11844; + else if (West == West::None) + return 11848; + else if (West == West::Low) + return 11849; + else + return 11850; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11854; + else if (West == West::Low) + return 11855; + else + return 11856; + else if (West == West::None) + return 11860; + else if (West == West::Low) + return 11861; + else + return 11862; + else if (Up) + if (West == West::None) + return 11866; + else if (West == West::Low) + return 11867; + else + return 11868; + else if (West == West::None) + return 11872; + else if (West == West::Low) + return 11873; + else + return 11874; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11878; + else if (West == West::Low) + return 11879; + else + return 11880; + else if (West == West::None) + return 11884; + else if (West == West::Low) + return 11885; + else + return 11886; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11890; + else if (West == West::Low) + return 11891; + else + return 11892; + else if (West == West::None) + return 11896; + else if (West == West::Low) + return 11897; + else + return 11898; + else if (Up) + if (West == West::None) + return 11902; + else if (West == West::Low) + return 11903; + else + return 11904; + else if (West == West::None) + return 11908; + else if (West == West::Low) + return 11909; + else + return 11910; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11914; + else if (West == West::Low) + return 11915; + else + return 11916; + else if (West == West::None) + return 11920; + else if (West == West::Low) + return 11921; + else + return 11922; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11926; + else if (West == West::Low) + return 11927; + else + return 11928; + else if (West == West::None) + return 11932; + else if (West == West::Low) + return 11933; + else + return 11934; + else if (Up) + if (West == West::None) + return 11938; + else if (West == West::Low) + return 11939; + else + return 11940; + else if (West == West::None) + return 11944; + else if (West == West::Low) + return 11945; + else + return 11946; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11950; + else if (West == West::Low) + return 11951; + else + return 11952; + else if (West == West::None) + return 11956; + else if (West == West::Low) + return 11957; + else + return 11958; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11962; + else if (West == West::Low) + return 11963; + else + return 11964; + else if (West == West::None) + return 11968; + else if (West == West::Low) + return 11969; + else + return 11970; + else if (Up) + if (West == West::None) + return 11974; + else if (West == West::Low) + return 11975; + else + return 11976; + else if (West == West::None) + return 11980; + else if (West == West::Low) + return 11981; + else + return 11982; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11986; + else if (West == West::Low) + return 11987; + else + return 11988; + else if (West == West::None) + return 11992; + else if (West == West::Low) + return 11993; + else + return 11994; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11998; + else if (West == West::Low) + return 11999; + else + return 12000; + else if (West == West::None) + return 12004; + else if (West == West::Low) + return 12005; + else + return 12006; + else if (Up) + if (West == West::None) + return 12010; + else if (West == West::Low) + return 12011; + else + return 12012; + else if (West == West::None) + return 12016; + else if (West == West::Low) + return 12017; + else + return 12018; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12022; + else if (West == West::Low) + return 12023; + else + return 12024; + else if (West == West::None) + return 12028; + else if (West == West::Low) + return 12029; + else + return 12030; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12034; + else if (West == West::Low) + return 12035; + else + return 12036; + else if (West == West::None) + return 12040; + else if (West == West::Low) + return 12041; + else + return 12042; + else if (Up) + if (West == West::None) + return 12046; + else if (West == West::Low) + return 12047; + else + return 12048; + else if (West == West::None) + return 12052; + else if (West == West::Low) + return 12053; + else + return 12054; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12058; + else if (West == West::Low) + return 12059; + else + return 12060; + else if (West == West::None) + return 12064; + else if (West == West::Low) + return 12065; + else + return 12066; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12070; + else if (West == West::Low) + return 12071; + else + return 12072; + else if (West == West::None) + return 12076; + else if (West == West::Low) + return 12077; + else + return 12078; + else if (Up) + if (West == West::None) + return 12082; + else if (West == West::Low) + return 12083; + else + return 12084; + else if (West == West::None) + return 12088; + else if (West == West::Low) + return 12089; + else + return 12090; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12094; + else if (West == West::Low) + return 12095; + else + return 12096; + else if (West == West::None) + return 12100; + else if (West == West::Low) + return 12101; + else + return 12102; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12106; + else if (West == West::Low) + return 12107; + else + return 12108; + else if (West == West::None) + return 12112; + else if (West == West::Low) + return 12113; + else + return 12114; + else if (Up) + if (West == West::None) + return 12118; + else if (West == West::Low) + return 12119; + else + return 12120; + else if (West == West::None) + return 12124; + else if (West == West::Low) + return 12125; + else + return 12126; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12130; + else if (West == West::Low) + return 12131; + else + return 12132; + else if (West == West::None) + return 12136; + else if (West == West::Low) + return 12137; + else + return 12138; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12142; + else if (West == West::Low) + return 12143; + else + return 12144; + else if (West == West::None) + return 12148; + else if (West == West::Low) + return 12149; + else + return 12150; + else if (Up) + if (West == West::None) + return 12154; + else if (West == West::Low) + return 12155; + else + return 12156; + else if (West == West::None) + return 12160; + else if (West == West::Low) + return 12161; + else + return 12162; +} +BlockState MossyStoneBrickWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace MossyStoneBrickWall +namespace MossyStoneBricks +{ +constexpr BlockState MossyStoneBricks() +{ + return 4496; +} +} // namespace MossyStoneBricks +namespace MovingPiston +{ +enum class Type +{ + Normal, + Sticky +}; +constexpr BlockState MovingPiston(const eBlockFace Facing, const enum Type Type) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Type == Type::Normal) + return 1400; + else + return 1401; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + if (Type == Type::Normal) + return 1402; + else + return 1403; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Type == Type::Normal) + return 1404; + else + return 1405; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Type == Type::Normal) + return 1406; + else + return 1407; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + if (Type == Type::Normal) + return 1408; + else + return 1409; + else if (Type == Type::Normal) + return 1410; + else + return 1411; +} +BlockState MovingPiston(); +eBlockFace Facing(BlockState Block); +enum Type Type(BlockState Block); +} // namespace MovingPiston +namespace MushroomStem +{ +constexpr BlockState MushroomStem( + const bool Down, + const bool East, + const bool North, + const bool South, + const bool Up, + const bool West +) +{ + if (Down) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 4633; + else + return 4634; + else if (West) + return 4635; + else + return 4636; + else if (Up) + if (West) + return 4637; + else + return 4638; + else if (West) + return 4639; + else + return 4640; + else if (South) + if (Up) + if (West) + return 4641; + else + return 4642; + else if (West) + return 4643; + else + return 4644; + else if (Up) + if (West) + return 4645; + else + return 4646; + else if (West) + return 4647; + else + return 4648; + else if (North) + if (South) + if (Up) + if (West) + return 4649; + else + return 4650; + else if (West) + return 4651; + else + return 4652; + else if (Up) + if (West) + return 4653; + else + return 4654; + else if (West) + return 4655; + else + return 4656; + else if (South) + if (Up) + if (West) + return 4657; + else + return 4658; + else if (West) + return 4659; + else + return 4660; + else if (Up) + if (West) + return 4661; + else + return 4662; + else if (West) + return 4663; + else + return 4664; + else if (East) + if (North) + if (South) + if (Up) + if (West) + return 4665; + else + return 4666; + else if (West) + return 4667; + else + return 4668; + else if (Up) + if (West) + return 4669; + else + return 4670; + else if (West) + return 4671; + else + return 4672; + else if (South) + if (Up) + if (West) + return 4673; + else + return 4674; + else if (West) + return 4675; + else + return 4676; + else if (Up) + if (West) + return 4677; + else + return 4678; + else if (West) + return 4679; + else + return 4680; + else if (North) + if (South) + if (Up) + if (West) + return 4681; + else + return 4682; + else if (West) + return 4683; + else + return 4684; + else if (Up) + if (West) + return 4685; + else + return 4686; + else if (West) + return 4687; + else + return 4688; + else if (South) + if (Up) + if (West) + return 4689; + else + return 4690; + else if (West) + return 4691; + else + return 4692; + else if (Up) + if (West) + return 4693; + else + return 4694; + else if (West) + return 4695; + else + return 4696; +} +BlockState MushroomStem(); +bool Down(BlockState Block); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool Up(BlockState Block); +bool West(BlockState Block); +} // namespace MushroomStem +namespace Mycelium +{ +constexpr BlockState Mycelium(const bool Snowy) +{ + if (Snowy) + return 5012; + else + return 5013; +} +BlockState Mycelium(); +bool Snowy(BlockState Block); +} // namespace Mycelium +namespace NetherBrickFence +{ +constexpr BlockState NetherBrickFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 5018; + else + return 5019; + else if (West) + return 5022; + else + return 5023; + else if (South) + if (West) + return 5026; + else + return 5027; + else if (West) + return 5030; + else + return 5031; + else if (North) + if (South) + if (West) + return 5034; + else + return 5035; + else if (West) + return 5038; + else + return 5039; + else if (South) + if (West) + return 5042; + else + return 5043; + else if (West) + return 5046; + else + return 5047; +} +BlockState NetherBrickFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace NetherBrickFence +namespace NetherBrickSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState NetherBrickSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8385; + else if (Type == Type::Bottom) + return 8387; + else + return 8389; +} +BlockState NetherBrickSlab(); +enum Type Type(BlockState Block); +} // namespace NetherBrickSlab +namespace NetherBrickStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState NetherBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5049; + else if (Shape == Shape::InnerLeft) + return 5051; + else if (Shape == Shape::InnerRight) + return 5053; + else if (Shape == Shape::OuterLeft) + return 5055; + else + return 5057; + else if (Shape == Shape::Straight) + return 5059; + else if (Shape == Shape::InnerLeft) + return 5061; + else if (Shape == Shape::InnerRight) + return 5063; + else if (Shape == Shape::OuterLeft) + return 5065; + else + return 5067; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5069; + else if (Shape == Shape::InnerLeft) + return 5071; + else if (Shape == Shape::InnerRight) + return 5073; + else if (Shape == Shape::OuterLeft) + return 5075; + else + return 5077; + else if (Shape == Shape::Straight) + return 5079; + else if (Shape == Shape::InnerLeft) + return 5081; + else if (Shape == Shape::InnerRight) + return 5083; + else if (Shape == Shape::OuterLeft) + return 5085; + else + return 5087; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5089; + else if (Shape == Shape::InnerLeft) + return 5091; + else if (Shape == Shape::InnerRight) + return 5093; + else if (Shape == Shape::OuterLeft) + return 5095; + else + return 5097; + else if (Shape == Shape::Straight) + return 5099; + else if (Shape == Shape::InnerLeft) + return 5101; + else if (Shape == Shape::InnerRight) + return 5103; + else if (Shape == Shape::OuterLeft) + return 5105; + else + return 5107; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5109; + else if (Shape == Shape::InnerLeft) + return 5111; + else if (Shape == Shape::InnerRight) + return 5113; + else if (Shape == Shape::OuterLeft) + return 5115; + else + return 5117; + else if (Shape == Shape::Straight) + return 5119; + else if (Shape == Shape::InnerLeft) + return 5121; + else if (Shape == Shape::InnerRight) + return 5123; + else if (Shape == Shape::OuterLeft) + return 5125; + else + return 5127; +} +BlockState NetherBrickStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace NetherBrickStairs +namespace NetherBrickWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState NetherBrickWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12814; + else if (West == West::Low) + return 12815; + else + return 12816; + else if (West == West::None) + return 12820; + else if (West == West::Low) + return 12821; + else + return 12822; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12826; + else if (West == West::Low) + return 12827; + else + return 12828; + else if (West == West::None) + return 12832; + else if (West == West::Low) + return 12833; + else + return 12834; + else if (Up) + if (West == West::None) + return 12838; + else if (West == West::Low) + return 12839; + else + return 12840; + else if (West == West::None) + return 12844; + else if (West == West::Low) + return 12845; + else + return 12846; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12850; + else if (West == West::Low) + return 12851; + else + return 12852; + else if (West == West::None) + return 12856; + else if (West == West::Low) + return 12857; + else + return 12858; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12862; + else if (West == West::Low) + return 12863; + else + return 12864; + else if (West == West::None) + return 12868; + else if (West == West::Low) + return 12869; + else + return 12870; + else if (Up) + if (West == West::None) + return 12874; + else if (West == West::Low) + return 12875; + else + return 12876; + else if (West == West::None) + return 12880; + else if (West == West::Low) + return 12881; + else + return 12882; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12886; + else if (West == West::Low) + return 12887; + else + return 12888; + else if (West == West::None) + return 12892; + else if (West == West::Low) + return 12893; + else + return 12894; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12898; + else if (West == West::Low) + return 12899; + else + return 12900; + else if (West == West::None) + return 12904; + else if (West == West::Low) + return 12905; + else + return 12906; + else if (Up) + if (West == West::None) + return 12910; + else if (West == West::Low) + return 12911; + else + return 12912; + else if (West == West::None) + return 12916; + else if (West == West::Low) + return 12917; + else + return 12918; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12922; + else if (West == West::Low) + return 12923; + else + return 12924; + else if (West == West::None) + return 12928; + else if (West == West::Low) + return 12929; + else + return 12930; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12934; + else if (West == West::Low) + return 12935; + else + return 12936; + else if (West == West::None) + return 12940; + else if (West == West::Low) + return 12941; + else + return 12942; + else if (Up) + if (West == West::None) + return 12946; + else if (West == West::Low) + return 12947; + else + return 12948; + else if (West == West::None) + return 12952; + else if (West == West::Low) + return 12953; + else + return 12954; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12958; + else if (West == West::Low) + return 12959; + else + return 12960; + else if (West == West::None) + return 12964; + else if (West == West::Low) + return 12965; + else + return 12966; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12970; + else if (West == West::Low) + return 12971; + else + return 12972; + else if (West == West::None) + return 12976; + else if (West == West::Low) + return 12977; + else + return 12978; + else if (Up) + if (West == West::None) + return 12982; + else if (West == West::Low) + return 12983; + else + return 12984; + else if (West == West::None) + return 12988; + else if (West == West::Low) + return 12989; + else + return 12990; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12994; + else if (West == West::Low) + return 12995; + else + return 12996; + else if (West == West::None) + return 13000; + else if (West == West::Low) + return 13001; + else + return 13002; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13006; + else if (West == West::Low) + return 13007; + else + return 13008; + else if (West == West::None) + return 13012; + else if (West == West::Low) + return 13013; + else + return 13014; + else if (Up) + if (West == West::None) + return 13018; + else if (West == West::Low) + return 13019; + else + return 13020; + else if (West == West::None) + return 13024; + else if (West == West::Low) + return 13025; + else + return 13026; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13030; + else if (West == West::Low) + return 13031; + else + return 13032; + else if (West == West::None) + return 13036; + else if (West == West::Low) + return 13037; + else + return 13038; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13042; + else if (West == West::Low) + return 13043; + else + return 13044; + else if (West == West::None) + return 13048; + else if (West == West::Low) + return 13049; + else + return 13050; + else if (Up) + if (West == West::None) + return 13054; + else if (West == West::Low) + return 13055; + else + return 13056; + else if (West == West::None) + return 13060; + else if (West == West::Low) + return 13061; + else + return 13062; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13066; + else if (West == West::Low) + return 13067; + else + return 13068; + else if (West == West::None) + return 13072; + else if (West == West::Low) + return 13073; + else + return 13074; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13078; + else if (West == West::Low) + return 13079; + else + return 13080; + else if (West == West::None) + return 13084; + else if (West == West::Low) + return 13085; + else + return 13086; + else if (Up) + if (West == West::None) + return 13090; + else if (West == West::Low) + return 13091; + else + return 13092; + else if (West == West::None) + return 13096; + else if (West == West::Low) + return 13097; + else + return 13098; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13102; + else if (West == West::Low) + return 13103; + else + return 13104; + else if (West == West::None) + return 13108; + else if (West == West::Low) + return 13109; + else + return 13110; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13114; + else if (West == West::Low) + return 13115; + else + return 13116; + else if (West == West::None) + return 13120; + else if (West == West::Low) + return 13121; + else + return 13122; + else if (Up) + if (West == West::None) + return 13126; + else if (West == West::Low) + return 13127; + else + return 13128; + else if (West == West::None) + return 13132; + else if (West == West::Low) + return 13133; + else + return 13134; +} +BlockState NetherBrickWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace NetherBrickWall +namespace NetherBricks +{ +constexpr BlockState NetherBricks() +{ + return 5015; +} +} // namespace NetherBricks +namespace NetherGoldOre +{ +constexpr BlockState NetherGoldOre() +{ + return 72; +} +} // namespace NetherGoldOre +namespace NetherPortal +{ +enum class Axis +{ + X, + Z +}; +constexpr BlockState NetherPortal(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 4014; + else + return 4015; +} +BlockState NetherPortal(); +enum Axis Axis(BlockState Block); +} // namespace NetherPortal +namespace NetherQuartzOre +{ +constexpr BlockState NetherQuartzOre() +{ + return 6727; +} +} // namespace NetherQuartzOre +namespace NetherSprouts +{ +constexpr BlockState NetherSprouts() +{ + return 14974; +} +} // namespace NetherSprouts +namespace NetherWart +{ +constexpr BlockState NetherWart(const unsigned char Age) +{ + if (Age == 0) + return 5128; + else if (Age == 1) + return 5129; + else if (Age == 2) + return 5130; + else + return 5131; +} +BlockState NetherWart(); +unsigned char Age(BlockState Block); +} // namespace NetherWart +namespace NetherWartBlock +{ +constexpr BlockState NetherWartBlock() +{ + return 9254; +} +} // namespace NetherWartBlock +namespace NetheriteBlock +{ +constexpr BlockState NetheriteBlock() +{ + return 15826; +} +} // namespace NetheriteBlock +namespace Netherrack +{ +constexpr BlockState Netherrack() +{ + return 3999; +} +} // namespace Netherrack +namespace NoteBlock +{ +enum class Instrument +{ + Harp, + Basedrum, + Snare, + Hat, + Bass, + Flute, + Bell, + Guitar, + Chime, + Xylophone, + IronXylophone, + CowBell, + Didgeridoo, + Bit, + Banjo, + Pling +}; +constexpr BlockState NoteBlock(const enum Instrument Instrument, const unsigned char Note, const bool Powered) +{ + if (Instrument == Instrument::Harp) + if (Note == 0) + if (Powered) + return 249; + else + return 250; + else if (Note == 1) + if (Powered) + return 251; + else + return 252; + else if (Note == 2) + if (Powered) + return 253; + else + return 254; + else if (Note == 3) + if (Powered) + return 255; + else + return 256; + else if (Note == 4) + if (Powered) + return 257; + else + return 258; + else if (Note == 5) + if (Powered) + return 259; + else + return 260; + else if (Note == 6) + if (Powered) + return 261; + else + return 262; + else if (Note == 7) + if (Powered) + return 263; + else + return 264; + else if (Note == 8) + if (Powered) + return 265; + else + return 266; + else if (Note == 9) + if (Powered) + return 267; + else + return 268; + else if (Note == 10) + if (Powered) + return 269; + else + return 270; + else if (Note == 11) + if (Powered) + return 271; + else + return 272; + else if (Note == 12) + if (Powered) + return 273; + else + return 274; + else if (Note == 13) + if (Powered) + return 275; + else + return 276; + else if (Note == 14) + if (Powered) + return 277; + else + return 278; + else if (Note == 15) + if (Powered) + return 279; + else + return 280; + else if (Note == 16) + if (Powered) + return 281; + else + return 282; + else if (Note == 17) + if (Powered) + return 283; + else + return 284; + else if (Note == 18) + if (Powered) + return 285; + else + return 286; + else if (Note == 19) + if (Powered) + return 287; + else + return 288; + else if (Note == 20) + if (Powered) + return 289; + else + return 290; + else if (Note == 21) + if (Powered) + return 291; + else + return 292; + else if (Note == 22) + if (Powered) + return 293; + else + return 294; + else if (Note == 23) + if (Powered) + return 295; + else + return 296; + else if (Powered) + return 297; + else + return 298; + else if (Instrument == Instrument::Basedrum) + if (Note == 0) + if (Powered) + return 299; + else + return 300; + else if (Note == 1) + if (Powered) + return 301; + else + return 302; + else if (Note == 2) + if (Powered) + return 303; + else + return 304; + else if (Note == 3) + if (Powered) + return 305; + else + return 306; + else if (Note == 4) + if (Powered) + return 307; + else + return 308; + else if (Note == 5) + if (Powered) + return 309; + else + return 310; + else if (Note == 6) + if (Powered) + return 311; + else + return 312; + else if (Note == 7) + if (Powered) + return 313; + else + return 314; + else if (Note == 8) + if (Powered) + return 315; + else + return 316; + else if (Note == 9) + if (Powered) + return 317; + else + return 318; + else if (Note == 10) + if (Powered) + return 319; + else + return 320; + else if (Note == 11) + if (Powered) + return 321; + else + return 322; + else if (Note == 12) + if (Powered) + return 323; + else + return 324; + else if (Note == 13) + if (Powered) + return 325; + else + return 326; + else if (Note == 14) + if (Powered) + return 327; + else + return 328; + else if (Note == 15) + if (Powered) + return 329; + else + return 330; + else if (Note == 16) + if (Powered) + return 331; + else + return 332; + else if (Note == 17) + if (Powered) + return 333; + else + return 334; + else if (Note == 18) + if (Powered) + return 335; + else + return 336; + else if (Note == 19) + if (Powered) + return 337; + else + return 338; + else if (Note == 20) + if (Powered) + return 339; + else + return 340; + else if (Note == 21) + if (Powered) + return 341; + else + return 342; + else if (Note == 22) + if (Powered) + return 343; + else + return 344; + else if (Note == 23) + if (Powered) + return 345; + else + return 346; + else if (Powered) + return 347; + else + return 348; + else if (Instrument == Instrument::Snare) + if (Note == 0) + if (Powered) + return 349; + else + return 350; + else if (Note == 1) + if (Powered) + return 351; + else + return 352; + else if (Note == 2) + if (Powered) + return 353; + else + return 354; + else if (Note == 3) + if (Powered) + return 355; + else + return 356; + else if (Note == 4) + if (Powered) + return 357; + else + return 358; + else if (Note == 5) + if (Powered) + return 359; + else + return 360; + else if (Note == 6) + if (Powered) + return 361; + else + return 362; + else if (Note == 7) + if (Powered) + return 363; + else + return 364; + else if (Note == 8) + if (Powered) + return 365; + else + return 366; + else if (Note == 9) + if (Powered) + return 367; + else + return 368; + else if (Note == 10) + if (Powered) + return 369; + else + return 370; + else if (Note == 11) + if (Powered) + return 371; + else + return 372; + else if (Note == 12) + if (Powered) + return 373; + else + return 374; + else if (Note == 13) + if (Powered) + return 375; + else + return 376; + else if (Note == 14) + if (Powered) + return 377; + else + return 378; + else if (Note == 15) + if (Powered) + return 379; + else + return 380; + else if (Note == 16) + if (Powered) + return 381; + else + return 382; + else if (Note == 17) + if (Powered) + return 383; + else + return 384; + else if (Note == 18) + if (Powered) + return 385; + else + return 386; + else if (Note == 19) + if (Powered) + return 387; + else + return 388; + else if (Note == 20) + if (Powered) + return 389; + else + return 390; + else if (Note == 21) + if (Powered) + return 391; + else + return 392; + else if (Note == 22) + if (Powered) + return 393; + else + return 394; + else if (Note == 23) + if (Powered) + return 395; + else + return 396; + else if (Powered) + return 397; + else + return 398; + else if (Instrument == Instrument::Hat) + if (Note == 0) + if (Powered) + return 399; + else + return 400; + else if (Note == 1) + if (Powered) + return 401; + else + return 402; + else if (Note == 2) + if (Powered) + return 403; + else + return 404; + else if (Note == 3) + if (Powered) + return 405; + else + return 406; + else if (Note == 4) + if (Powered) + return 407; + else + return 408; + else if (Note == 5) + if (Powered) + return 409; + else + return 410; + else if (Note == 6) + if (Powered) + return 411; + else + return 412; + else if (Note == 7) + if (Powered) + return 413; + else + return 414; + else if (Note == 8) + if (Powered) + return 415; + else + return 416; + else if (Note == 9) + if (Powered) + return 417; + else + return 418; + else if (Note == 10) + if (Powered) + return 419; + else + return 420; + else if (Note == 11) + if (Powered) + return 421; + else + return 422; + else if (Note == 12) + if (Powered) + return 423; + else + return 424; + else if (Note == 13) + if (Powered) + return 425; + else + return 426; + else if (Note == 14) + if (Powered) + return 427; + else + return 428; + else if (Note == 15) + if (Powered) + return 429; + else + return 430; + else if (Note == 16) + if (Powered) + return 431; + else + return 432; + else if (Note == 17) + if (Powered) + return 433; + else + return 434; + else if (Note == 18) + if (Powered) + return 435; + else + return 436; + else if (Note == 19) + if (Powered) + return 437; + else + return 438; + else if (Note == 20) + if (Powered) + return 439; + else + return 440; + else if (Note == 21) + if (Powered) + return 441; + else + return 442; + else if (Note == 22) + if (Powered) + return 443; + else + return 444; + else if (Note == 23) + if (Powered) + return 445; + else + return 446; + else if (Powered) + return 447; + else + return 448; + else if (Instrument == Instrument::Bass) + if (Note == 0) + if (Powered) + return 449; + else + return 450; + else if (Note == 1) + if (Powered) + return 451; + else + return 452; + else if (Note == 2) + if (Powered) + return 453; + else + return 454; + else if (Note == 3) + if (Powered) + return 455; + else + return 456; + else if (Note == 4) + if (Powered) + return 457; + else + return 458; + else if (Note == 5) + if (Powered) + return 459; + else + return 460; + else if (Note == 6) + if (Powered) + return 461; + else + return 462; + else if (Note == 7) + if (Powered) + return 463; + else + return 464; + else if (Note == 8) + if (Powered) + return 465; + else + return 466; + else if (Note == 9) + if (Powered) + return 467; + else + return 468; + else if (Note == 10) + if (Powered) + return 469; + else + return 470; + else if (Note == 11) + if (Powered) + return 471; + else + return 472; + else if (Note == 12) + if (Powered) + return 473; + else + return 474; + else if (Note == 13) + if (Powered) + return 475; + else + return 476; + else if (Note == 14) + if (Powered) + return 477; + else + return 478; + else if (Note == 15) + if (Powered) + return 479; + else + return 480; + else if (Note == 16) + if (Powered) + return 481; + else + return 482; + else if (Note == 17) + if (Powered) + return 483; + else + return 484; + else if (Note == 18) + if (Powered) + return 485; + else + return 486; + else if (Note == 19) + if (Powered) + return 487; + else + return 488; + else if (Note == 20) + if (Powered) + return 489; + else + return 490; + else if (Note == 21) + if (Powered) + return 491; + else + return 492; + else if (Note == 22) + if (Powered) + return 493; + else + return 494; + else if (Note == 23) + if (Powered) + return 495; + else + return 496; + else if (Powered) + return 497; + else + return 498; + else if (Instrument == Instrument::Flute) + if (Note == 0) + if (Powered) + return 499; + else + return 500; + else if (Note == 1) + if (Powered) + return 501; + else + return 502; + else if (Note == 2) + if (Powered) + return 503; + else + return 504; + else if (Note == 3) + if (Powered) + return 505; + else + return 506; + else if (Note == 4) + if (Powered) + return 507; + else + return 508; + else if (Note == 5) + if (Powered) + return 509; + else + return 510; + else if (Note == 6) + if (Powered) + return 511; + else + return 512; + else if (Note == 7) + if (Powered) + return 513; + else + return 514; + else if (Note == 8) + if (Powered) + return 515; + else + return 516; + else if (Note == 9) + if (Powered) + return 517; + else + return 518; + else if (Note == 10) + if (Powered) + return 519; + else + return 520; + else if (Note == 11) + if (Powered) + return 521; + else + return 522; + else if (Note == 12) + if (Powered) + return 523; + else + return 524; + else if (Note == 13) + if (Powered) + return 525; + else + return 526; + else if (Note == 14) + if (Powered) + return 527; + else + return 528; + else if (Note == 15) + if (Powered) + return 529; + else + return 530; + else if (Note == 16) + if (Powered) + return 531; + else + return 532; + else if (Note == 17) + if (Powered) + return 533; + else + return 534; + else if (Note == 18) + if (Powered) + return 535; + else + return 536; + else if (Note == 19) + if (Powered) + return 537; + else + return 538; + else if (Note == 20) + if (Powered) + return 539; + else + return 540; + else if (Note == 21) + if (Powered) + return 541; + else + return 542; + else if (Note == 22) + if (Powered) + return 543; + else + return 544; + else if (Note == 23) + if (Powered) + return 545; + else + return 546; + else if (Powered) + return 547; + else + return 548; + else if (Instrument == Instrument::Bell) + if (Note == 0) + if (Powered) + return 549; + else + return 550; + else if (Note == 1) + if (Powered) + return 551; + else + return 552; + else if (Note == 2) + if (Powered) + return 553; + else + return 554; + else if (Note == 3) + if (Powered) + return 555; + else + return 556; + else if (Note == 4) + if (Powered) + return 557; + else + return 558; + else if (Note == 5) + if (Powered) + return 559; + else + return 560; + else if (Note == 6) + if (Powered) + return 561; + else + return 562; + else if (Note == 7) + if (Powered) + return 563; + else + return 564; + else if (Note == 8) + if (Powered) + return 565; + else + return 566; + else if (Note == 9) + if (Powered) + return 567; + else + return 568; + else if (Note == 10) + if (Powered) + return 569; + else + return 570; + else if (Note == 11) + if (Powered) + return 571; + else + return 572; + else if (Note == 12) + if (Powered) + return 573; + else + return 574; + else if (Note == 13) + if (Powered) + return 575; + else + return 576; + else if (Note == 14) + if (Powered) + return 577; + else + return 578; + else if (Note == 15) + if (Powered) + return 579; + else + return 580; + else if (Note == 16) + if (Powered) + return 581; + else + return 582; + else if (Note == 17) + if (Powered) + return 583; + else + return 584; + else if (Note == 18) + if (Powered) + return 585; + else + return 586; + else if (Note == 19) + if (Powered) + return 587; + else + return 588; + else if (Note == 20) + if (Powered) + return 589; + else + return 590; + else if (Note == 21) + if (Powered) + return 591; + else + return 592; + else if (Note == 22) + if (Powered) + return 593; + else + return 594; + else if (Note == 23) + if (Powered) + return 595; + else + return 596; + else if (Powered) + return 597; + else + return 598; + else if (Instrument == Instrument::Guitar) + if (Note == 0) + if (Powered) + return 599; + else + return 600; + else if (Note == 1) + if (Powered) + return 601; + else + return 602; + else if (Note == 2) + if (Powered) + return 603; + else + return 604; + else if (Note == 3) + if (Powered) + return 605; + else + return 606; + else if (Note == 4) + if (Powered) + return 607; + else + return 608; + else if (Note == 5) + if (Powered) + return 609; + else + return 610; + else if (Note == 6) + if (Powered) + return 611; + else + return 612; + else if (Note == 7) + if (Powered) + return 613; + else + return 614; + else if (Note == 8) + if (Powered) + return 615; + else + return 616; + else if (Note == 9) + if (Powered) + return 617; + else + return 618; + else if (Note == 10) + if (Powered) + return 619; + else + return 620; + else if (Note == 11) + if (Powered) + return 621; + else + return 622; + else if (Note == 12) + if (Powered) + return 623; + else + return 624; + else if (Note == 13) + if (Powered) + return 625; + else + return 626; + else if (Note == 14) + if (Powered) + return 627; + else + return 628; + else if (Note == 15) + if (Powered) + return 629; + else + return 630; + else if (Note == 16) + if (Powered) + return 631; + else + return 632; + else if (Note == 17) + if (Powered) + return 633; + else + return 634; + else if (Note == 18) + if (Powered) + return 635; + else + return 636; + else if (Note == 19) + if (Powered) + return 637; + else + return 638; + else if (Note == 20) + if (Powered) + return 639; + else + return 640; + else if (Note == 21) + if (Powered) + return 641; + else + return 642; + else if (Note == 22) + if (Powered) + return 643; + else + return 644; + else if (Note == 23) + if (Powered) + return 645; + else + return 646; + else if (Powered) + return 647; + else + return 648; + else if (Instrument == Instrument::Chime) + if (Note == 0) + if (Powered) + return 649; + else + return 650; + else if (Note == 1) + if (Powered) + return 651; + else + return 652; + else if (Note == 2) + if (Powered) + return 653; + else + return 654; + else if (Note == 3) + if (Powered) + return 655; + else + return 656; + else if (Note == 4) + if (Powered) + return 657; + else + return 658; + else if (Note == 5) + if (Powered) + return 659; + else + return 660; + else if (Note == 6) + if (Powered) + return 661; + else + return 662; + else if (Note == 7) + if (Powered) + return 663; + else + return 664; + else if (Note == 8) + if (Powered) + return 665; + else + return 666; + else if (Note == 9) + if (Powered) + return 667; + else + return 668; + else if (Note == 10) + if (Powered) + return 669; + else + return 670; + else if (Note == 11) + if (Powered) + return 671; + else + return 672; + else if (Note == 12) + if (Powered) + return 673; + else + return 674; + else if (Note == 13) + if (Powered) + return 675; + else + return 676; + else if (Note == 14) + if (Powered) + return 677; + else + return 678; + else if (Note == 15) + if (Powered) + return 679; + else + return 680; + else if (Note == 16) + if (Powered) + return 681; + else + return 682; + else if (Note == 17) + if (Powered) + return 683; + else + return 684; + else if (Note == 18) + if (Powered) + return 685; + else + return 686; + else if (Note == 19) + if (Powered) + return 687; + else + return 688; + else if (Note == 20) + if (Powered) + return 689; + else + return 690; + else if (Note == 21) + if (Powered) + return 691; + else + return 692; + else if (Note == 22) + if (Powered) + return 693; + else + return 694; + else if (Note == 23) + if (Powered) + return 695; + else + return 696; + else if (Powered) + return 697; + else + return 698; + else if (Instrument == Instrument::Xylophone) + if (Note == 0) + if (Powered) + return 699; + else + return 700; + else if (Note == 1) + if (Powered) + return 701; + else + return 702; + else if (Note == 2) + if (Powered) + return 703; + else + return 704; + else if (Note == 3) + if (Powered) + return 705; + else + return 706; + else if (Note == 4) + if (Powered) + return 707; + else + return 708; + else if (Note == 5) + if (Powered) + return 709; + else + return 710; + else if (Note == 6) + if (Powered) + return 711; + else + return 712; + else if (Note == 7) + if (Powered) + return 713; + else + return 714; + else if (Note == 8) + if (Powered) + return 715; + else + return 716; + else if (Note == 9) + if (Powered) + return 717; + else + return 718; + else if (Note == 10) + if (Powered) + return 719; + else + return 720; + else if (Note == 11) + if (Powered) + return 721; + else + return 722; + else if (Note == 12) + if (Powered) + return 723; + else + return 724; + else if (Note == 13) + if (Powered) + return 725; + else + return 726; + else if (Note == 14) + if (Powered) + return 727; + else + return 728; + else if (Note == 15) + if (Powered) + return 729; + else + return 730; + else if (Note == 16) + if (Powered) + return 731; + else + return 732; + else if (Note == 17) + if (Powered) + return 733; + else + return 734; + else if (Note == 18) + if (Powered) + return 735; + else + return 736; + else if (Note == 19) + if (Powered) + return 737; + else + return 738; + else if (Note == 20) + if (Powered) + return 739; + else + return 740; + else if (Note == 21) + if (Powered) + return 741; + else + return 742; + else if (Note == 22) + if (Powered) + return 743; + else + return 744; + else if (Note == 23) + if (Powered) + return 745; + else + return 746; + else if (Powered) + return 747; + else + return 748; + else if (Instrument == Instrument::IronXylophone) + if (Note == 0) + if (Powered) + return 749; + else + return 750; + else if (Note == 1) + if (Powered) + return 751; + else + return 752; + else if (Note == 2) + if (Powered) + return 753; + else + return 754; + else if (Note == 3) + if (Powered) + return 755; + else + return 756; + else if (Note == 4) + if (Powered) + return 757; + else + return 758; + else if (Note == 5) + if (Powered) + return 759; + else + return 760; + else if (Note == 6) + if (Powered) + return 761; + else + return 762; + else if (Note == 7) + if (Powered) + return 763; + else + return 764; + else if (Note == 8) + if (Powered) + return 765; + else + return 766; + else if (Note == 9) + if (Powered) + return 767; + else + return 768; + else if (Note == 10) + if (Powered) + return 769; + else + return 770; + else if (Note == 11) + if (Powered) + return 771; + else + return 772; + else if (Note == 12) + if (Powered) + return 773; + else + return 774; + else if (Note == 13) + if (Powered) + return 775; + else + return 776; + else if (Note == 14) + if (Powered) + return 777; + else + return 778; + else if (Note == 15) + if (Powered) + return 779; + else + return 780; + else if (Note == 16) + if (Powered) + return 781; + else + return 782; + else if (Note == 17) + if (Powered) + return 783; + else + return 784; + else if (Note == 18) + if (Powered) + return 785; + else + return 786; + else if (Note == 19) + if (Powered) + return 787; + else + return 788; + else if (Note == 20) + if (Powered) + return 789; + else + return 790; + else if (Note == 21) + if (Powered) + return 791; + else + return 792; + else if (Note == 22) + if (Powered) + return 793; + else + return 794; + else if (Note == 23) + if (Powered) + return 795; + else + return 796; + else if (Powered) + return 797; + else + return 798; + else if (Instrument == Instrument::CowBell) + if (Note == 0) + if (Powered) + return 799; + else + return 800; + else if (Note == 1) + if (Powered) + return 801; + else + return 802; + else if (Note == 2) + if (Powered) + return 803; + else + return 804; + else if (Note == 3) + if (Powered) + return 805; + else + return 806; + else if (Note == 4) + if (Powered) + return 807; + else + return 808; + else if (Note == 5) + if (Powered) + return 809; + else + return 810; + else if (Note == 6) + if (Powered) + return 811; + else + return 812; + else if (Note == 7) + if (Powered) + return 813; + else + return 814; + else if (Note == 8) + if (Powered) + return 815; + else + return 816; + else if (Note == 9) + if (Powered) + return 817; + else + return 818; + else if (Note == 10) + if (Powered) + return 819; + else + return 820; + else if (Note == 11) + if (Powered) + return 821; + else + return 822; + else if (Note == 12) + if (Powered) + return 823; + else + return 824; + else if (Note == 13) + if (Powered) + return 825; + else + return 826; + else if (Note == 14) + if (Powered) + return 827; + else + return 828; + else if (Note == 15) + if (Powered) + return 829; + else + return 830; + else if (Note == 16) + if (Powered) + return 831; + else + return 832; + else if (Note == 17) + if (Powered) + return 833; + else + return 834; + else if (Note == 18) + if (Powered) + return 835; + else + return 836; + else if (Note == 19) + if (Powered) + return 837; + else + return 838; + else if (Note == 20) + if (Powered) + return 839; + else + return 840; + else if (Note == 21) + if (Powered) + return 841; + else + return 842; + else if (Note == 22) + if (Powered) + return 843; + else + return 844; + else if (Note == 23) + if (Powered) + return 845; + else + return 846; + else if (Powered) + return 847; + else + return 848; + else if (Instrument == Instrument::Didgeridoo) + if (Note == 0) + if (Powered) + return 849; + else + return 850; + else if (Note == 1) + if (Powered) + return 851; + else + return 852; + else if (Note == 2) + if (Powered) + return 853; + else + return 854; + else if (Note == 3) + if (Powered) + return 855; + else + return 856; + else if (Note == 4) + if (Powered) + return 857; + else + return 858; + else if (Note == 5) + if (Powered) + return 859; + else + return 860; + else if (Note == 6) + if (Powered) + return 861; + else + return 862; + else if (Note == 7) + if (Powered) + return 863; + else + return 864; + else if (Note == 8) + if (Powered) + return 865; + else + return 866; + else if (Note == 9) + if (Powered) + return 867; + else + return 868; + else if (Note == 10) + if (Powered) + return 869; + else + return 870; + else if (Note == 11) + if (Powered) + return 871; + else + return 872; + else if (Note == 12) + if (Powered) + return 873; + else + return 874; + else if (Note == 13) + if (Powered) + return 875; + else + return 876; + else if (Note == 14) + if (Powered) + return 877; + else + return 878; + else if (Note == 15) + if (Powered) + return 879; + else + return 880; + else if (Note == 16) + if (Powered) + return 881; + else + return 882; + else if (Note == 17) + if (Powered) + return 883; + else + return 884; + else if (Note == 18) + if (Powered) + return 885; + else + return 886; + else if (Note == 19) + if (Powered) + return 887; + else + return 888; + else if (Note == 20) + if (Powered) + return 889; + else + return 890; + else if (Note == 21) + if (Powered) + return 891; + else + return 892; + else if (Note == 22) + if (Powered) + return 893; + else + return 894; + else if (Note == 23) + if (Powered) + return 895; + else + return 896; + else if (Powered) + return 897; + else + return 898; + else if (Instrument == Instrument::Bit) + if (Note == 0) + if (Powered) + return 899; + else + return 900; + else if (Note == 1) + if (Powered) + return 901; + else + return 902; + else if (Note == 2) + if (Powered) + return 903; + else + return 904; + else if (Note == 3) + if (Powered) + return 905; + else + return 906; + else if (Note == 4) + if (Powered) + return 907; + else + return 908; + else if (Note == 5) + if (Powered) + return 909; + else + return 910; + else if (Note == 6) + if (Powered) + return 911; + else + return 912; + else if (Note == 7) + if (Powered) + return 913; + else + return 914; + else if (Note == 8) + if (Powered) + return 915; + else + return 916; + else if (Note == 9) + if (Powered) + return 917; + else + return 918; + else if (Note == 10) + if (Powered) + return 919; + else + return 920; + else if (Note == 11) + if (Powered) + return 921; + else + return 922; + else if (Note == 12) + if (Powered) + return 923; + else + return 924; + else if (Note == 13) + if (Powered) + return 925; + else + return 926; + else if (Note == 14) + if (Powered) + return 927; + else + return 928; + else if (Note == 15) + if (Powered) + return 929; + else + return 930; + else if (Note == 16) + if (Powered) + return 931; + else + return 932; + else if (Note == 17) + if (Powered) + return 933; + else + return 934; + else if (Note == 18) + if (Powered) + return 935; + else + return 936; + else if (Note == 19) + if (Powered) + return 937; + else + return 938; + else if (Note == 20) + if (Powered) + return 939; + else + return 940; + else if (Note == 21) + if (Powered) + return 941; + else + return 942; + else if (Note == 22) + if (Powered) + return 943; + else + return 944; + else if (Note == 23) + if (Powered) + return 945; + else + return 946; + else if (Powered) + return 947; + else + return 948; + else if (Instrument == Instrument::Banjo) + if (Note == 0) + if (Powered) + return 949; + else + return 950; + else if (Note == 1) + if (Powered) + return 951; + else + return 952; + else if (Note == 2) + if (Powered) + return 953; + else + return 954; + else if (Note == 3) + if (Powered) + return 955; + else + return 956; + else if (Note == 4) + if (Powered) + return 957; + else + return 958; + else if (Note == 5) + if (Powered) + return 959; + else + return 960; + else if (Note == 6) + if (Powered) + return 961; + else + return 962; + else if (Note == 7) + if (Powered) + return 963; + else + return 964; + else if (Note == 8) + if (Powered) + return 965; + else + return 966; + else if (Note == 9) + if (Powered) + return 967; + else + return 968; + else if (Note == 10) + if (Powered) + return 969; + else + return 970; + else if (Note == 11) + if (Powered) + return 971; + else + return 972; + else if (Note == 12) + if (Powered) + return 973; + else + return 974; + else if (Note == 13) + if (Powered) + return 975; + else + return 976; + else if (Note == 14) + if (Powered) + return 977; + else + return 978; + else if (Note == 15) + if (Powered) + return 979; + else + return 980; + else if (Note == 16) + if (Powered) + return 981; + else + return 982; + else if (Note == 17) + if (Powered) + return 983; + else + return 984; + else if (Note == 18) + if (Powered) + return 985; + else + return 986; + else if (Note == 19) + if (Powered) + return 987; + else + return 988; + else if (Note == 20) + if (Powered) + return 989; + else + return 990; + else if (Note == 21) + if (Powered) + return 991; + else + return 992; + else if (Note == 22) + if (Powered) + return 993; + else + return 994; + else if (Note == 23) + if (Powered) + return 995; + else + return 996; + else if (Powered) + return 997; + else + return 998; + else if (Note == 0) + if (Powered) + return 999; + else + return 1000; + else if (Note == 1) + if (Powered) + return 1001; + else + return 1002; + else if (Note == 2) + if (Powered) + return 1003; + else + return 1004; + else if (Note == 3) + if (Powered) + return 1005; + else + return 1006; + else if (Note == 4) + if (Powered) + return 1007; + else + return 1008; + else if (Note == 5) + if (Powered) + return 1009; + else + return 1010; + else if (Note == 6) + if (Powered) + return 1011; + else + return 1012; + else if (Note == 7) + if (Powered) + return 1013; + else + return 1014; + else if (Note == 8) + if (Powered) + return 1015; + else + return 1016; + else if (Note == 9) + if (Powered) + return 1017; + else + return 1018; + else if (Note == 10) + if (Powered) + return 1019; + else + return 1020; + else if (Note == 11) + if (Powered) + return 1021; + else + return 1022; + else if (Note == 12) + if (Powered) + return 1023; + else + return 1024; + else if (Note == 13) + if (Powered) + return 1025; + else + return 1026; + else if (Note == 14) + if (Powered) + return 1027; + else + return 1028; + else if (Note == 15) + if (Powered) + return 1029; + else + return 1030; + else if (Note == 16) + if (Powered) + return 1031; + else + return 1032; + else if (Note == 17) + if (Powered) + return 1033; + else + return 1034; + else if (Note == 18) + if (Powered) + return 1035; + else + return 1036; + else if (Note == 19) + if (Powered) + return 1037; + else + return 1038; + else if (Note == 20) + if (Powered) + return 1039; + else + return 1040; + else if (Note == 21) + if (Powered) + return 1041; + else + return 1042; + else if (Note == 22) + if (Powered) + return 1043; + else + return 1044; + else if (Note == 23) + if (Powered) + return 1045; + else + return 1046; + else if (Powered) + return 1047; + else + return 1048; +} +BlockState NoteBlock(); +enum Instrument Instrument(BlockState Block); +unsigned char Note(BlockState Block); +bool Powered(BlockState Block); +} // namespace NoteBlock +namespace OakButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState OakButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6346; + else + return 6347; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6348; + else + return 6349; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6350; + else + return 6351; + else if (Powered) + return 6352; + else + return 6353; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6354; + else + return 6355; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6356; + else + return 6357; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6358; + else + return 6359; + else if (Powered) + return 6360; + else + return 6361; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6362; + else + return 6363; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6364; + else + return 6365; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6366; + else + return 6367; + else if (Powered) + return 6368; + else + return 6369; +} +BlockState OakButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace OakButton +namespace OakDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState OakDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3573; + else + return 3574; + else if (Powered) + return 3575; + else + return 3576; + else if (Open) + if (Powered) + return 3577; + else + return 3578; + else if (Powered) + return 3579; + else + return 3580; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3581; + else + return 3582; + else if (Powered) + return 3583; + else + return 3584; + else if (Open) + if (Powered) + return 3585; + else + return 3586; + else if (Powered) + return 3587; + else + return 3588; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3589; + else + return 3590; + else if (Powered) + return 3591; + else + return 3592; + else if (Open) + if (Powered) + return 3593; + else + return 3594; + else if (Powered) + return 3595; + else + return 3596; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3597; + else + return 3598; + else if (Powered) + return 3599; + else + return 3600; + else if (Open) + if (Powered) + return 3601; + else + return 3602; + else if (Powered) + return 3603; + else + return 3604; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3605; + else + return 3606; + else if (Powered) + return 3607; + else + return 3608; + else if (Open) + if (Powered) + return 3609; + else + return 3610; + else if (Powered) + return 3611; + else + return 3612; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3613; + else + return 3614; + else if (Powered) + return 3615; + else + return 3616; + else if (Open) + if (Powered) + return 3617; + else + return 3618; + else if (Powered) + return 3619; + else + return 3620; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3621; + else + return 3622; + else if (Powered) + return 3623; + else + return 3624; + else if (Open) + if (Powered) + return 3625; + else + return 3626; + else if (Powered) + return 3627; + else + return 3628; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 3629; + else + return 3630; + else if (Powered) + return 3631; + else + return 3632; + else if (Open) + if (Powered) + return 3633; + else + return 3634; + else if (Powered) + return 3635; + else + return 3636; +} +BlockState OakDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace OakDoor +namespace OakFence +{ +constexpr BlockState OakFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 3968; + else + return 3969; + else if (West) + return 3972; + else + return 3973; + else if (South) + if (West) + return 3976; + else + return 3977; + else if (West) + return 3980; + else + return 3981; + else if (North) + if (South) + if (West) + return 3984; + else + return 3985; + else if (West) + return 3988; + else + return 3989; + else if (South) + if (West) + return 3992; + else + return 3993; + else if (West) + return 3996; + else + return 3997; +} +BlockState OakFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace OakFence +namespace OakFenceGate +{ +constexpr BlockState OakFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (InWall) + if (Open) + if (Powered) + return 4820; + else + return 4821; + else if (Powered) + return 4822; + else + return 4823; + else if (Open) + if (Powered) + return 4824; + else + return 4825; + else if (Powered) + return 4826; + else + return 4827; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (InWall) + if (Open) + if (Powered) + return 4828; + else + return 4829; + else if (Powered) + return 4830; + else + return 4831; + else if (Open) + if (Powered) + return 4832; + else + return 4833; + else if (Powered) + return 4834; + else + return 4835; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (InWall) + if (Open) + if (Powered) + return 4836; + else + return 4837; + else if (Powered) + return 4838; + else + return 4839; + else if (Open) + if (Powered) + return 4840; + else + return 4841; + else if (Powered) + return 4842; + else + return 4843; + else if (InWall) + if (Open) + if (Powered) + return 4844; + else + return 4845; + else if (Powered) + return 4846; + else + return 4847; + else if (Open) + if (Powered) + return 4848; + else + return 4849; + else if (Powered) + return 4850; + else + return 4851; +} +BlockState OakFenceGate(); +eBlockFace Facing(BlockState Block); +bool InWall(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace OakFenceGate +namespace OakLeaves +{ +constexpr BlockState OakLeaves(const unsigned char Distance, const bool Persistent) +{ + if (Distance == 1) + if (Persistent) + return 145; + else + return 146; + else if (Distance == 2) + if (Persistent) + return 147; + else + return 148; + else if (Distance == 3) + if (Persistent) + return 149; + else + return 150; + else if (Distance == 4) + if (Persistent) + return 151; + else + return 152; + else if (Distance == 5) + if (Persistent) + return 153; + else + return 154; + else if (Distance == 6) + if (Persistent) + return 155; + else + return 156; + else if (Persistent) + return 157; + else + return 158; +} +BlockState OakLeaves(); +unsigned char Distance(BlockState Block); +bool Persistent(BlockState Block); +} // namespace OakLeaves +namespace OakLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState OakLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 73; + else if (Axis == Axis::Y) + return 74; + else + return 75; +} +BlockState OakLog(); +enum Axis Axis(BlockState Block); +} // namespace OakLog +namespace OakPlanks +{ +constexpr BlockState OakPlanks() +{ + return 15; +} +} // namespace OakPlanks +namespace OakPressurePlate +{ +constexpr BlockState OakPressurePlate(const bool Powered) +{ + if (Powered) + return 3873; + else + return 3874; +} +BlockState OakPressurePlate(); +bool Powered(BlockState Block); +} // namespace OakPressurePlate +namespace OakSapling +{ +constexpr BlockState OakSapling(const unsigned char Stage) +{ + if (Stage == 0) + return 21; + else + return 22; +} +BlockState OakSapling(); +unsigned char Stage(BlockState Block); +} // namespace OakSapling +namespace OakSign +{ +constexpr BlockState OakSign(const unsigned char Rotation) +{ + if (Rotation == 0) + return 3382; + else if (Rotation == 1) + return 3384; + else if (Rotation == 2) + return 3386; + else if (Rotation == 3) + return 3388; + else if (Rotation == 4) + return 3390; + else if (Rotation == 5) + return 3392; + else if (Rotation == 6) + return 3394; + else if (Rotation == 7) + return 3396; + else if (Rotation == 8) + return 3398; + else if (Rotation == 9) + return 3400; + else if (Rotation == 10) + return 3402; + else if (Rotation == 11) + return 3404; + else if (Rotation == 12) + return 3406; + else if (Rotation == 13) + return 3408; + else if (Rotation == 14) + return 3410; + else + return 3412; +} +BlockState OakSign(); +unsigned char Rotation(BlockState Block); +} // namespace OakSign +namespace OakSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState OakSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8301; + else if (Type == Type::Bottom) + return 8303; + else + return 8305; +} +BlockState OakSlab(); +enum Type Type(BlockState Block); +} // namespace OakSlab +namespace OakStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState OakStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 1955; + else if (Shape == Shape::InnerLeft) + return 1957; + else if (Shape == Shape::InnerRight) + return 1959; + else if (Shape == Shape::OuterLeft) + return 1961; + else + return 1963; + else if (Shape == Shape::Straight) + return 1965; + else if (Shape == Shape::InnerLeft) + return 1967; + else if (Shape == Shape::InnerRight) + return 1969; + else if (Shape == Shape::OuterLeft) + return 1971; + else + return 1973; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 1975; + else if (Shape == Shape::InnerLeft) + return 1977; + else if (Shape == Shape::InnerRight) + return 1979; + else if (Shape == Shape::OuterLeft) + return 1981; + else + return 1983; + else if (Shape == Shape::Straight) + return 1985; + else if (Shape == Shape::InnerLeft) + return 1987; + else if (Shape == Shape::InnerRight) + return 1989; + else if (Shape == Shape::OuterLeft) + return 1991; + else + return 1993; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 1995; + else if (Shape == Shape::InnerLeft) + return 1997; + else if (Shape == Shape::InnerRight) + return 1999; + else if (Shape == Shape::OuterLeft) + return 2001; + else + return 2003; + else if (Shape == Shape::Straight) + return 2005; + else if (Shape == Shape::InnerLeft) + return 2007; + else if (Shape == Shape::InnerRight) + return 2009; + else if (Shape == Shape::OuterLeft) + return 2011; + else + return 2013; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 2015; + else if (Shape == Shape::InnerLeft) + return 2017; + else if (Shape == Shape::InnerRight) + return 2019; + else if (Shape == Shape::OuterLeft) + return 2021; + else + return 2023; + else if (Shape == Shape::Straight) + return 2025; + else if (Shape == Shape::InnerLeft) + return 2027; + else if (Shape == Shape::InnerRight) + return 2029; + else if (Shape == Shape::OuterLeft) + return 2031; + else + return 2033; +} +BlockState OakStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace OakStairs +namespace OakTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState OakTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4112; + else + return 4114; + else if (Powered) + return 4116; + else + return 4118; + else if (Open) + if (Powered) + return 4120; + else + return 4122; + else if (Powered) + return 4124; + else + return 4126; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4128; + else + return 4130; + else if (Powered) + return 4132; + else + return 4134; + else if (Open) + if (Powered) + return 4136; + else + return 4138; + else if (Powered) + return 4140; + else + return 4142; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4144; + else + return 4146; + else if (Powered) + return 4148; + else + return 4150; + else if (Open) + if (Powered) + return 4152; + else + return 4154; + else if (Powered) + return 4156; + else + return 4158; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 4160; + else + return 4162; + else if (Powered) + return 4164; + else + return 4166; + else if (Open) + if (Powered) + return 4168; + else + return 4170; + else if (Powered) + return 4172; + else + return 4174; +} +BlockState OakTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace OakTrapdoor +namespace OakWallSign +{ +constexpr BlockState OakWallSign(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 3736; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 3738; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 3740; + else + return 3742; +} +BlockState OakWallSign(); +eBlockFace Facing(BlockState Block); +} // namespace OakWallSign +namespace OakWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState OakWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 109; + else if (Axis == Axis::Y) + return 110; + else + return 111; +} +BlockState OakWood(); +enum Axis Axis(BlockState Block); +} // namespace OakWood +namespace Observer +{ +constexpr BlockState Observer(const eBlockFace Facing, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 9260; + else + return 9261; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + if (Powered) + return 9262; + else + return 9263; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 9264; + else + return 9265; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 9266; + else + return 9267; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + if (Powered) + return 9268; + else + return 9269; + else if (Powered) + return 9270; + else + return 9271; +} +BlockState Observer(); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace Observer +namespace Obsidian +{ +constexpr BlockState Obsidian() +{ + return 1434; +} +} // namespace Obsidian +namespace OrangeBanner +{ +constexpr BlockState OrangeBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 7913; + else if (Rotation == 1) + return 7914; + else if (Rotation == 2) + return 7915; + else if (Rotation == 3) + return 7916; + else if (Rotation == 4) + return 7917; + else if (Rotation == 5) + return 7918; + else if (Rotation == 6) + return 7919; + else if (Rotation == 7) + return 7920; + else if (Rotation == 8) + return 7921; + else if (Rotation == 9) + return 7922; + else if (Rotation == 10) + return 7923; + else if (Rotation == 11) + return 7924; + else if (Rotation == 12) + return 7925; + else if (Rotation == 13) + return 7926; + else if (Rotation == 14) + return 7927; + else + return 7928; +} +BlockState OrangeBanner(); +unsigned char Rotation(BlockState Block); +} // namespace OrangeBanner +namespace OrangeBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState OrangeBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1065; + else + return 1066; + else if (Part == Part::Head) + return 1067; + else + return 1068; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1069; + else + return 1070; + else if (Part == Part::Head) + return 1071; + else + return 1072; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1073; + else + return 1074; + else if (Part == Part::Head) + return 1075; + else + return 1076; + else if (Occupied) + if (Part == Part::Head) + return 1077; + else + return 1078; + else if (Part == Part::Head) + return 1079; + else + return 1080; +} +BlockState OrangeBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace OrangeBed +namespace OrangeCarpet +{ +constexpr BlockState OrangeCarpet() +{ + return 7867; +} +} // namespace OrangeCarpet +namespace OrangeConcrete +{ +constexpr BlockState OrangeConcrete() +{ + return 9439; +} +} // namespace OrangeConcrete +namespace OrangeConcretePowder +{ +constexpr BlockState OrangeConcretePowder() +{ + return 9455; +} +} // namespace OrangeConcretePowder +namespace OrangeGlazedTerracotta +{ +constexpr BlockState OrangeGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9378; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9379; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9380; + else + return 9381; +} +BlockState OrangeGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace OrangeGlazedTerracotta +namespace OrangeShulkerBox +{ +constexpr BlockState OrangeShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9284; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9285; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9286; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9287; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9288; + else + return 9289; +} +BlockState OrangeShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace OrangeShulkerBox +namespace OrangeStainedGlass +{ +constexpr BlockState OrangeStainedGlass() +{ + return 4096; +} +} // namespace OrangeStainedGlass +namespace OrangeStainedGlassPane +{ +constexpr BlockState OrangeStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 6897; + else + return 6898; + else if (West) + return 6901; + else + return 6902; + else if (South) + if (West) + return 6905; + else + return 6906; + else if (West) + return 6909; + else + return 6910; + else if (North) + if (South) + if (West) + return 6913; + else + return 6914; + else if (West) + return 6917; + else + return 6918; + else if (South) + if (West) + return 6921; + else + return 6922; + else if (West) + return 6925; + else + return 6926; +} +BlockState OrangeStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace OrangeStainedGlassPane +namespace OrangeTerracotta +{ +constexpr BlockState OrangeTerracotta() +{ + return 6848; +} +} // namespace OrangeTerracotta +namespace OrangeTulip +{ +constexpr BlockState OrangeTulip() +{ + return 1418; +} +} // namespace OrangeTulip +namespace OrangeWallBanner +{ +constexpr BlockState OrangeWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8157; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8158; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8159; + else + return 8160; +} +BlockState OrangeWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace OrangeWallBanner +namespace OrangeWool +{ +constexpr BlockState OrangeWool() +{ + return 1385; +} +} // namespace OrangeWool +namespace OxeyeDaisy +{ +constexpr BlockState OxeyeDaisy() +{ + return 1421; +} +} // namespace OxeyeDaisy +namespace PackedIce +{ +constexpr BlockState PackedIce() +{ + return 7884; +} +} // namespace PackedIce +namespace Peony +{ +enum class Half +{ + Upper, + Lower +}; +constexpr BlockState Peony(const enum Half Half) +{ + if (Half == Half::Upper) + return 7891; + else + return 7892; +} +BlockState Peony(); +enum Half Half(BlockState Block); +} // namespace Peony +namespace PetrifiedOakSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PetrifiedOakSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8361; + else if (Type == Type::Bottom) + return 8363; + else + return 8365; +} +BlockState PetrifiedOakSlab(); +enum Type Type(BlockState Block); +} // namespace PetrifiedOakSlab +namespace PinkBanner +{ +constexpr BlockState PinkBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 7993; + else if (Rotation == 1) + return 7994; + else if (Rotation == 2) + return 7995; + else if (Rotation == 3) + return 7996; + else if (Rotation == 4) + return 7997; + else if (Rotation == 5) + return 7998; + else if (Rotation == 6) + return 7999; + else if (Rotation == 7) + return 8000; + else if (Rotation == 8) + return 8001; + else if (Rotation == 9) + return 8002; + else if (Rotation == 10) + return 8003; + else if (Rotation == 11) + return 8004; + else if (Rotation == 12) + return 8005; + else if (Rotation == 13) + return 8006; + else if (Rotation == 14) + return 8007; + else + return 8008; +} +BlockState PinkBanner(); +unsigned char Rotation(BlockState Block); +} // namespace PinkBanner +namespace PinkBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState PinkBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1145; + else + return 1146; + else if (Part == Part::Head) + return 1147; + else + return 1148; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1149; + else + return 1150; + else if (Part == Part::Head) + return 1151; + else + return 1152; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1153; + else + return 1154; + else if (Part == Part::Head) + return 1155; + else + return 1156; + else if (Occupied) + if (Part == Part::Head) + return 1157; + else + return 1158; + else if (Part == Part::Head) + return 1159; + else + return 1160; +} +BlockState PinkBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace PinkBed +namespace PinkCarpet +{ +constexpr BlockState PinkCarpet() +{ + return 7872; +} +} // namespace PinkCarpet +namespace PinkConcrete +{ +constexpr BlockState PinkConcrete() +{ + return 9444; +} +} // namespace PinkConcrete +namespace PinkConcretePowder +{ +constexpr BlockState PinkConcretePowder() +{ + return 9460; +} +} // namespace PinkConcretePowder +namespace PinkGlazedTerracotta +{ +constexpr BlockState PinkGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9398; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9399; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9400; + else + return 9401; +} +BlockState PinkGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace PinkGlazedTerracotta +namespace PinkShulkerBox +{ +constexpr BlockState PinkShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9314; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9315; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9316; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9317; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9318; + else + return 9319; +} +BlockState PinkShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace PinkShulkerBox +namespace PinkStainedGlass +{ +constexpr BlockState PinkStainedGlass() +{ + return 4101; +} +} // namespace PinkStainedGlass +namespace PinkStainedGlassPane +{ +constexpr BlockState PinkStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7057; + else + return 7058; + else if (West) + return 7061; + else + return 7062; + else if (South) + if (West) + return 7065; + else + return 7066; + else if (West) + return 7069; + else + return 7070; + else if (North) + if (South) + if (West) + return 7073; + else + return 7074; + else if (West) + return 7077; + else + return 7078; + else if (South) + if (West) + return 7081; + else + return 7082; + else if (West) + return 7085; + else + return 7086; +} +BlockState PinkStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace PinkStainedGlassPane +namespace PinkTerracotta +{ +constexpr BlockState PinkTerracotta() +{ + return 6853; +} +} // namespace PinkTerracotta +namespace PinkTulip +{ +constexpr BlockState PinkTulip() +{ + return 1420; +} +} // namespace PinkTulip +namespace PinkWallBanner +{ +constexpr BlockState PinkWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8177; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8178; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8179; + else + return 8180; +} +BlockState PinkWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace PinkWallBanner +namespace PinkWool +{ +constexpr BlockState PinkWool() +{ + return 1390; +} +} // namespace PinkWool +namespace Piston +{ +constexpr BlockState Piston(const bool Extended, const eBlockFace Facing) +{ + if (Extended) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 1348; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 1349; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 1350; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 1351; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 1352; + else + return 1353; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 1354; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 1355; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 1356; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 1357; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 1358; + else + return 1359; +} +BlockState Piston(); +bool Extended(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace Piston +namespace PistonHead +{ +enum class Type +{ + Normal, + Sticky +}; +constexpr BlockState PistonHead(const eBlockFace Facing, const bool Short, const enum Type Type) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Short) + if (Type == Type::Normal) + return 1360; + else + return 1361; + else if (Type == Type::Normal) + return 1362; + else + return 1363; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + if (Short) + if (Type == Type::Normal) + return 1364; + else + return 1365; + else if (Type == Type::Normal) + return 1366; + else + return 1367; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Short) + if (Type == Type::Normal) + return 1368; + else + return 1369; + else if (Type == Type::Normal) + return 1370; + else + return 1371; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Short) + if (Type == Type::Normal) + return 1372; + else + return 1373; + else if (Type == Type::Normal) + return 1374; + else + return 1375; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + if (Short) + if (Type == Type::Normal) + return 1376; + else + return 1377; + else if (Type == Type::Normal) + return 1378; + else + return 1379; + else if (Short) + if (Type == Type::Normal) + return 1380; + else + return 1381; + else if (Type == Type::Normal) + return 1382; + else + return 1383; +} +BlockState PistonHead(); +eBlockFace Facing(BlockState Block); +bool Short(BlockState Block); +enum Type Type(BlockState Block); +} // namespace PistonHead +namespace PlayerHead +{ +constexpr BlockState PlayerHead(const unsigned char Rotation) +{ + if (Rotation == 0) + return 6550; + else if (Rotation == 1) + return 6551; + else if (Rotation == 2) + return 6552; + else if (Rotation == 3) + return 6553; + else if (Rotation == 4) + return 6554; + else if (Rotation == 5) + return 6555; + else if (Rotation == 6) + return 6556; + else if (Rotation == 7) + return 6557; + else if (Rotation == 8) + return 6558; + else if (Rotation == 9) + return 6559; + else if (Rotation == 10) + return 6560; + else if (Rotation == 11) + return 6561; + else if (Rotation == 12) + return 6562; + else if (Rotation == 13) + return 6563; + else if (Rotation == 14) + return 6564; + else + return 6565; +} +BlockState PlayerHead(); +unsigned char Rotation(BlockState Block); +} // namespace PlayerHead +namespace PlayerWallHead +{ +constexpr BlockState PlayerWallHead(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6566; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6567; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6568; + else + return 6569; +} +BlockState PlayerWallHead(); +eBlockFace Facing(BlockState Block); +} // namespace PlayerWallHead +namespace Podzol +{ +constexpr BlockState Podzol(const bool Snowy) +{ + if (Snowy) + return 12; + else + return 13; +} +BlockState Podzol(); +bool Snowy(BlockState Block); +} // namespace Podzol +namespace PolishedAndesite +{ +constexpr BlockState PolishedAndesite() +{ + return 7; +} +} // namespace PolishedAndesite +namespace PolishedAndesiteSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PolishedAndesiteSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10856; + else if (Type == Type::Bottom) + return 10858; + else + return 10860; +} +BlockState PolishedAndesiteSlab(); +enum Type Type(BlockState Block); +} // namespace PolishedAndesiteSlab +namespace PolishedAndesiteStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState PolishedAndesiteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10630; + else if (Shape == Shape::InnerLeft) + return 10632; + else if (Shape == Shape::InnerRight) + return 10634; + else if (Shape == Shape::OuterLeft) + return 10636; + else + return 10638; + else if (Shape == Shape::Straight) + return 10640; + else if (Shape == Shape::InnerLeft) + return 10642; + else if (Shape == Shape::InnerRight) + return 10644; + else if (Shape == Shape::OuterLeft) + return 10646; + else + return 10648; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10650; + else if (Shape == Shape::InnerLeft) + return 10652; + else if (Shape == Shape::InnerRight) + return 10654; + else if (Shape == Shape::OuterLeft) + return 10656; + else + return 10658; + else if (Shape == Shape::Straight) + return 10660; + else if (Shape == Shape::InnerLeft) + return 10662; + else if (Shape == Shape::InnerRight) + return 10664; + else if (Shape == Shape::OuterLeft) + return 10666; + else + return 10668; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10670; + else if (Shape == Shape::InnerLeft) + return 10672; + else if (Shape == Shape::InnerRight) + return 10674; + else if (Shape == Shape::OuterLeft) + return 10676; + else + return 10678; + else if (Shape == Shape::Straight) + return 10680; + else if (Shape == Shape::InnerLeft) + return 10682; + else if (Shape == Shape::InnerRight) + return 10684; + else if (Shape == Shape::OuterLeft) + return 10686; + else + return 10688; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10690; + else if (Shape == Shape::InnerLeft) + return 10692; + else if (Shape == Shape::InnerRight) + return 10694; + else if (Shape == Shape::OuterLeft) + return 10696; + else + return 10698; + else if (Shape == Shape::Straight) + return 10700; + else if (Shape == Shape::InnerLeft) + return 10702; + else if (Shape == Shape::InnerRight) + return 10704; + else if (Shape == Shape::OuterLeft) + return 10706; + else + return 10708; +} +BlockState PolishedAndesiteStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PolishedAndesiteStairs +namespace PolishedBasalt +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState PolishedBasalt(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 4005; + else if (Axis == Axis::Y) + return 4006; + else + return 4007; +} +BlockState PolishedBasalt(); +enum Axis Axis(BlockState Block); +} // namespace PolishedBasalt +namespace PolishedBlackstone +{ +constexpr BlockState PolishedBlackstone() +{ + return 16250; +} +} // namespace PolishedBlackstone +namespace PolishedBlackstoneBrickSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PolishedBlackstoneBrickSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 16255; + else if (Type == Type::Bottom) + return 16257; + else + return 16259; +} +BlockState PolishedBlackstoneBrickSlab(); +enum Type Type(BlockState Block); +} // namespace PolishedBlackstoneBrickSlab +namespace PolishedBlackstoneBrickStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState PolishedBlackstoneBrickStairs( + const eBlockFace Facing, + const enum Half Half, + const enum Shape Shape +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 16261; + else if (Shape == Shape::InnerLeft) + return 16263; + else if (Shape == Shape::InnerRight) + return 16265; + else if (Shape == Shape::OuterLeft) + return 16267; + else + return 16269; + else if (Shape == Shape::Straight) + return 16271; + else if (Shape == Shape::InnerLeft) + return 16273; + else if (Shape == Shape::InnerRight) + return 16275; + else if (Shape == Shape::OuterLeft) + return 16277; + else + return 16279; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 16281; + else if (Shape == Shape::InnerLeft) + return 16283; + else if (Shape == Shape::InnerRight) + return 16285; + else if (Shape == Shape::OuterLeft) + return 16287; + else + return 16289; + else if (Shape == Shape::Straight) + return 16291; + else if (Shape == Shape::InnerLeft) + return 16293; + else if (Shape == Shape::InnerRight) + return 16295; + else if (Shape == Shape::OuterLeft) + return 16297; + else + return 16299; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 16301; + else if (Shape == Shape::InnerLeft) + return 16303; + else if (Shape == Shape::InnerRight) + return 16305; + else if (Shape == Shape::OuterLeft) + return 16307; + else + return 16309; + else if (Shape == Shape::Straight) + return 16311; + else if (Shape == Shape::InnerLeft) + return 16313; + else if (Shape == Shape::InnerRight) + return 16315; + else if (Shape == Shape::OuterLeft) + return 16317; + else + return 16319; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 16321; + else if (Shape == Shape::InnerLeft) + return 16323; + else if (Shape == Shape::InnerRight) + return 16325; + else if (Shape == Shape::OuterLeft) + return 16327; + else + return 16329; + else if (Shape == Shape::Straight) + return 16331; + else if (Shape == Shape::InnerLeft) + return 16333; + else if (Shape == Shape::InnerRight) + return 16335; + else if (Shape == Shape::OuterLeft) + return 16337; + else + return 16339; +} +BlockState PolishedBlackstoneBrickStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PolishedBlackstoneBrickStairs +namespace PolishedBlackstoneBrickWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState PolishedBlackstoneBrickWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 16343; + else if (West == West::Low) + return 16344; + else + return 16345; + else if (West == West::None) + return 16349; + else if (West == West::Low) + return 16350; + else + return 16351; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16355; + else if (West == West::Low) + return 16356; + else + return 16357; + else if (West == West::None) + return 16361; + else if (West == West::Low) + return 16362; + else + return 16363; + else if (Up) + if (West == West::None) + return 16367; + else if (West == West::Low) + return 16368; + else + return 16369; + else if (West == West::None) + return 16373; + else if (West == West::Low) + return 16374; + else + return 16375; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 16379; + else if (West == West::Low) + return 16380; + else + return 16381; + else if (West == West::None) + return 16385; + else if (West == West::Low) + return 16386; + else + return 16387; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16391; + else if (West == West::Low) + return 16392; + else + return 16393; + else if (West == West::None) + return 16397; + else if (West == West::Low) + return 16398; + else + return 16399; + else if (Up) + if (West == West::None) + return 16403; + else if (West == West::Low) + return 16404; + else + return 16405; + else if (West == West::None) + return 16409; + else if (West == West::Low) + return 16410; + else + return 16411; + else if (South == South::None) + if (Up) + if (West == West::None) + return 16415; + else if (West == West::Low) + return 16416; + else + return 16417; + else if (West == West::None) + return 16421; + else if (West == West::Low) + return 16422; + else + return 16423; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16427; + else if (West == West::Low) + return 16428; + else + return 16429; + else if (West == West::None) + return 16433; + else if (West == West::Low) + return 16434; + else + return 16435; + else if (Up) + if (West == West::None) + return 16439; + else if (West == West::Low) + return 16440; + else + return 16441; + else if (West == West::None) + return 16445; + else if (West == West::Low) + return 16446; + else + return 16447; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 16451; + else if (West == West::Low) + return 16452; + else + return 16453; + else if (West == West::None) + return 16457; + else if (West == West::Low) + return 16458; + else + return 16459; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16463; + else if (West == West::Low) + return 16464; + else + return 16465; + else if (West == West::None) + return 16469; + else if (West == West::Low) + return 16470; + else + return 16471; + else if (Up) + if (West == West::None) + return 16475; + else if (West == West::Low) + return 16476; + else + return 16477; + else if (West == West::None) + return 16481; + else if (West == West::Low) + return 16482; + else + return 16483; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 16487; + else if (West == West::Low) + return 16488; + else + return 16489; + else if (West == West::None) + return 16493; + else if (West == West::Low) + return 16494; + else + return 16495; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16499; + else if (West == West::Low) + return 16500; + else + return 16501; + else if (West == West::None) + return 16505; + else if (West == West::Low) + return 16506; + else + return 16507; + else if (Up) + if (West == West::None) + return 16511; + else if (West == West::Low) + return 16512; + else + return 16513; + else if (West == West::None) + return 16517; + else if (West == West::Low) + return 16518; + else + return 16519; + else if (South == South::None) + if (Up) + if (West == West::None) + return 16523; + else if (West == West::Low) + return 16524; + else + return 16525; + else if (West == West::None) + return 16529; + else if (West == West::Low) + return 16530; + else + return 16531; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16535; + else if (West == West::Low) + return 16536; + else + return 16537; + else if (West == West::None) + return 16541; + else if (West == West::Low) + return 16542; + else + return 16543; + else if (Up) + if (West == West::None) + return 16547; + else if (West == West::Low) + return 16548; + else + return 16549; + else if (West == West::None) + return 16553; + else if (West == West::Low) + return 16554; + else + return 16555; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 16559; + else if (West == West::Low) + return 16560; + else + return 16561; + else if (West == West::None) + return 16565; + else if (West == West::Low) + return 16566; + else + return 16567; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16571; + else if (West == West::Low) + return 16572; + else + return 16573; + else if (West == West::None) + return 16577; + else if (West == West::Low) + return 16578; + else + return 16579; + else if (Up) + if (West == West::None) + return 16583; + else if (West == West::Low) + return 16584; + else + return 16585; + else if (West == West::None) + return 16589; + else if (West == West::Low) + return 16590; + else + return 16591; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 16595; + else if (West == West::Low) + return 16596; + else + return 16597; + else if (West == West::None) + return 16601; + else if (West == West::Low) + return 16602; + else + return 16603; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16607; + else if (West == West::Low) + return 16608; + else + return 16609; + else if (West == West::None) + return 16613; + else if (West == West::Low) + return 16614; + else + return 16615; + else if (Up) + if (West == West::None) + return 16619; + else if (West == West::Low) + return 16620; + else + return 16621; + else if (West == West::None) + return 16625; + else if (West == West::Low) + return 16626; + else + return 16627; + else if (South == South::None) + if (Up) + if (West == West::None) + return 16631; + else if (West == West::Low) + return 16632; + else + return 16633; + else if (West == West::None) + return 16637; + else if (West == West::Low) + return 16638; + else + return 16639; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16643; + else if (West == West::Low) + return 16644; + else + return 16645; + else if (West == West::None) + return 16649; + else if (West == West::Low) + return 16650; + else + return 16651; + else if (Up) + if (West == West::None) + return 16655; + else if (West == West::Low) + return 16656; + else + return 16657; + else if (West == West::None) + return 16661; + else if (West == West::Low) + return 16662; + else + return 16663; +} +BlockState PolishedBlackstoneBrickWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace PolishedBlackstoneBrickWall +namespace PolishedBlackstoneBricks +{ +constexpr BlockState PolishedBlackstoneBricks() +{ + return 16251; +} +} // namespace PolishedBlackstoneBricks +namespace PolishedBlackstoneButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState PolishedBlackstoneButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 16753; + else + return 16754; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 16755; + else + return 16756; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 16757; + else + return 16758; + else if (Powered) + return 16759; + else + return 16760; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 16761; + else + return 16762; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 16763; + else + return 16764; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 16765; + else + return 16766; + else if (Powered) + return 16767; + else + return 16768; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 16769; + else + return 16770; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 16771; + else + return 16772; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 16773; + else + return 16774; + else if (Powered) + return 16775; + else + return 16776; +} +BlockState PolishedBlackstoneButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace PolishedBlackstoneButton +namespace PolishedBlackstonePressurePlate +{ +constexpr BlockState PolishedBlackstonePressurePlate(const bool Powered) +{ + if (Powered) + return 16751; + else + return 16752; +} +BlockState PolishedBlackstonePressurePlate(); +bool Powered(BlockState Block); +} // namespace PolishedBlackstonePressurePlate +namespace PolishedBlackstoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PolishedBlackstoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 16746; + else if (Type == Type::Bottom) + return 16748; + else + return 16750; +} +BlockState PolishedBlackstoneSlab(); +enum Type Type(BlockState Block); +} // namespace PolishedBlackstoneSlab +namespace PolishedBlackstoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState PolishedBlackstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 16666; + else if (Shape == Shape::InnerLeft) + return 16668; + else if (Shape == Shape::InnerRight) + return 16670; + else if (Shape == Shape::OuterLeft) + return 16672; + else + return 16674; + else if (Shape == Shape::Straight) + return 16676; + else if (Shape == Shape::InnerLeft) + return 16678; + else if (Shape == Shape::InnerRight) + return 16680; + else if (Shape == Shape::OuterLeft) + return 16682; + else + return 16684; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 16686; + else if (Shape == Shape::InnerLeft) + return 16688; + else if (Shape == Shape::InnerRight) + return 16690; + else if (Shape == Shape::OuterLeft) + return 16692; + else + return 16694; + else if (Shape == Shape::Straight) + return 16696; + else if (Shape == Shape::InnerLeft) + return 16698; + else if (Shape == Shape::InnerRight) + return 16700; + else if (Shape == Shape::OuterLeft) + return 16702; + else + return 16704; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 16706; + else if (Shape == Shape::InnerLeft) + return 16708; + else if (Shape == Shape::InnerRight) + return 16710; + else if (Shape == Shape::OuterLeft) + return 16712; + else + return 16714; + else if (Shape == Shape::Straight) + return 16716; + else if (Shape == Shape::InnerLeft) + return 16718; + else if (Shape == Shape::InnerRight) + return 16720; + else if (Shape == Shape::OuterLeft) + return 16722; + else + return 16724; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 16726; + else if (Shape == Shape::InnerLeft) + return 16728; + else if (Shape == Shape::InnerRight) + return 16730; + else if (Shape == Shape::OuterLeft) + return 16732; + else + return 16734; + else if (Shape == Shape::Straight) + return 16736; + else if (Shape == Shape::InnerLeft) + return 16738; + else if (Shape == Shape::InnerRight) + return 16740; + else if (Shape == Shape::OuterLeft) + return 16742; + else + return 16744; +} +BlockState PolishedBlackstoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PolishedBlackstoneStairs +namespace PolishedBlackstoneWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState PolishedBlackstoneWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 16780; + else if (West == West::Low) + return 16781; + else + return 16782; + else if (West == West::None) + return 16786; + else if (West == West::Low) + return 16787; + else + return 16788; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16792; + else if (West == West::Low) + return 16793; + else + return 16794; + else if (West == West::None) + return 16798; + else if (West == West::Low) + return 16799; + else + return 16800; + else if (Up) + if (West == West::None) + return 16804; + else if (West == West::Low) + return 16805; + else + return 16806; + else if (West == West::None) + return 16810; + else if (West == West::Low) + return 16811; + else + return 16812; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 16816; + else if (West == West::Low) + return 16817; + else + return 16818; + else if (West == West::None) + return 16822; + else if (West == West::Low) + return 16823; + else + return 16824; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16828; + else if (West == West::Low) + return 16829; + else + return 16830; + else if (West == West::None) + return 16834; + else if (West == West::Low) + return 16835; + else + return 16836; + else if (Up) + if (West == West::None) + return 16840; + else if (West == West::Low) + return 16841; + else + return 16842; + else if (West == West::None) + return 16846; + else if (West == West::Low) + return 16847; + else + return 16848; + else if (South == South::None) + if (Up) + if (West == West::None) + return 16852; + else if (West == West::Low) + return 16853; + else + return 16854; + else if (West == West::None) + return 16858; + else if (West == West::Low) + return 16859; + else + return 16860; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16864; + else if (West == West::Low) + return 16865; + else + return 16866; + else if (West == West::None) + return 16870; + else if (West == West::Low) + return 16871; + else + return 16872; + else if (Up) + if (West == West::None) + return 16876; + else if (West == West::Low) + return 16877; + else + return 16878; + else if (West == West::None) + return 16882; + else if (West == West::Low) + return 16883; + else + return 16884; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 16888; + else if (West == West::Low) + return 16889; + else + return 16890; + else if (West == West::None) + return 16894; + else if (West == West::Low) + return 16895; + else + return 16896; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16900; + else if (West == West::Low) + return 16901; + else + return 16902; + else if (West == West::None) + return 16906; + else if (West == West::Low) + return 16907; + else + return 16908; + else if (Up) + if (West == West::None) + return 16912; + else if (West == West::Low) + return 16913; + else + return 16914; + else if (West == West::None) + return 16918; + else if (West == West::Low) + return 16919; + else + return 16920; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 16924; + else if (West == West::Low) + return 16925; + else + return 16926; + else if (West == West::None) + return 16930; + else if (West == West::Low) + return 16931; + else + return 16932; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16936; + else if (West == West::Low) + return 16937; + else + return 16938; + else if (West == West::None) + return 16942; + else if (West == West::Low) + return 16943; + else + return 16944; + else if (Up) + if (West == West::None) + return 16948; + else if (West == West::Low) + return 16949; + else + return 16950; + else if (West == West::None) + return 16954; + else if (West == West::Low) + return 16955; + else + return 16956; + else if (South == South::None) + if (Up) + if (West == West::None) + return 16960; + else if (West == West::Low) + return 16961; + else + return 16962; + else if (West == West::None) + return 16966; + else if (West == West::Low) + return 16967; + else + return 16968; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 16972; + else if (West == West::Low) + return 16973; + else + return 16974; + else if (West == West::None) + return 16978; + else if (West == West::Low) + return 16979; + else + return 16980; + else if (Up) + if (West == West::None) + return 16984; + else if (West == West::Low) + return 16985; + else + return 16986; + else if (West == West::None) + return 16990; + else if (West == West::Low) + return 16991; + else + return 16992; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 16996; + else if (West == West::Low) + return 16997; + else + return 16998; + else if (West == West::None) + return 17002; + else if (West == West::Low) + return 17003; + else + return 17004; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 17008; + else if (West == West::Low) + return 17009; + else + return 17010; + else if (West == West::None) + return 17014; + else if (West == West::Low) + return 17015; + else + return 17016; + else if (Up) + if (West == West::None) + return 17020; + else if (West == West::Low) + return 17021; + else + return 17022; + else if (West == West::None) + return 17026; + else if (West == West::Low) + return 17027; + else + return 17028; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 17032; + else if (West == West::Low) + return 17033; + else + return 17034; + else if (West == West::None) + return 17038; + else if (West == West::Low) + return 17039; + else + return 17040; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 17044; + else if (West == West::Low) + return 17045; + else + return 17046; + else if (West == West::None) + return 17050; + else if (West == West::Low) + return 17051; + else + return 17052; + else if (Up) + if (West == West::None) + return 17056; + else if (West == West::Low) + return 17057; + else + return 17058; + else if (West == West::None) + return 17062; + else if (West == West::Low) + return 17063; + else + return 17064; + else if (South == South::None) + if (Up) + if (West == West::None) + return 17068; + else if (West == West::Low) + return 17069; + else + return 17070; + else if (West == West::None) + return 17074; + else if (West == West::Low) + return 17075; + else + return 17076; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 17080; + else if (West == West::Low) + return 17081; + else + return 17082; + else if (West == West::None) + return 17086; + else if (West == West::Low) + return 17087; + else + return 17088; + else if (Up) + if (West == West::None) + return 17092; + else if (West == West::Low) + return 17093; + else + return 17094; + else if (West == West::None) + return 17098; + else if (West == West::Low) + return 17099; + else + return 17100; +} +BlockState PolishedBlackstoneWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace PolishedBlackstoneWall +namespace PolishedDiorite +{ +constexpr BlockState PolishedDiorite() +{ + return 5; +} +} // namespace PolishedDiorite +namespace PolishedDioriteSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PolishedDioriteSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10808; + else if (Type == Type::Bottom) + return 10810; + else + return 10812; +} +BlockState PolishedDioriteSlab(); +enum Type Type(BlockState Block); +} // namespace PolishedDioriteSlab +namespace PolishedDioriteStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState PolishedDioriteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9910; + else if (Shape == Shape::InnerLeft) + return 9912; + else if (Shape == Shape::InnerRight) + return 9914; + else if (Shape == Shape::OuterLeft) + return 9916; + else + return 9918; + else if (Shape == Shape::Straight) + return 9920; + else if (Shape == Shape::InnerLeft) + return 9922; + else if (Shape == Shape::InnerRight) + return 9924; + else if (Shape == Shape::OuterLeft) + return 9926; + else + return 9928; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9930; + else if (Shape == Shape::InnerLeft) + return 9932; + else if (Shape == Shape::InnerRight) + return 9934; + else if (Shape == Shape::OuterLeft) + return 9936; + else + return 9938; + else if (Shape == Shape::Straight) + return 9940; + else if (Shape == Shape::InnerLeft) + return 9942; + else if (Shape == Shape::InnerRight) + return 9944; + else if (Shape == Shape::OuterLeft) + return 9946; + else + return 9948; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9950; + else if (Shape == Shape::InnerLeft) + return 9952; + else if (Shape == Shape::InnerRight) + return 9954; + else if (Shape == Shape::OuterLeft) + return 9956; + else + return 9958; + else if (Shape == Shape::Straight) + return 9960; + else if (Shape == Shape::InnerLeft) + return 9962; + else if (Shape == Shape::InnerRight) + return 9964; + else if (Shape == Shape::OuterLeft) + return 9966; + else + return 9968; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9970; + else if (Shape == Shape::InnerLeft) + return 9972; + else if (Shape == Shape::InnerRight) + return 9974; + else if (Shape == Shape::OuterLeft) + return 9976; + else + return 9978; + else if (Shape == Shape::Straight) + return 9980; + else if (Shape == Shape::InnerLeft) + return 9982; + else if (Shape == Shape::InnerRight) + return 9984; + else if (Shape == Shape::OuterLeft) + return 9986; + else + return 9988; +} +BlockState PolishedDioriteStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PolishedDioriteStairs +namespace PolishedGranite +{ +constexpr BlockState PolishedGranite() +{ + return 3; +} +} // namespace PolishedGranite +namespace PolishedGraniteSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PolishedGraniteSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10790; + else if (Type == Type::Bottom) + return 10792; + else + return 10794; +} +BlockState PolishedGraniteSlab(); +enum Type Type(BlockState Block); +} // namespace PolishedGraniteSlab +namespace PolishedGraniteStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState PolishedGraniteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9670; + else if (Shape == Shape::InnerLeft) + return 9672; + else if (Shape == Shape::InnerRight) + return 9674; + else if (Shape == Shape::OuterLeft) + return 9676; + else + return 9678; + else if (Shape == Shape::Straight) + return 9680; + else if (Shape == Shape::InnerLeft) + return 9682; + else if (Shape == Shape::InnerRight) + return 9684; + else if (Shape == Shape::OuterLeft) + return 9686; + else + return 9688; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9690; + else if (Shape == Shape::InnerLeft) + return 9692; + else if (Shape == Shape::InnerRight) + return 9694; + else if (Shape == Shape::OuterLeft) + return 9696; + else + return 9698; + else if (Shape == Shape::Straight) + return 9700; + else if (Shape == Shape::InnerLeft) + return 9702; + else if (Shape == Shape::InnerRight) + return 9704; + else if (Shape == Shape::OuterLeft) + return 9706; + else + return 9708; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9710; + else if (Shape == Shape::InnerLeft) + return 9712; + else if (Shape == Shape::InnerRight) + return 9714; + else if (Shape == Shape::OuterLeft) + return 9716; + else + return 9718; + else if (Shape == Shape::Straight) + return 9720; + else if (Shape == Shape::InnerLeft) + return 9722; + else if (Shape == Shape::InnerRight) + return 9724; + else if (Shape == Shape::OuterLeft) + return 9726; + else + return 9728; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9730; + else if (Shape == Shape::InnerLeft) + return 9732; + else if (Shape == Shape::InnerRight) + return 9734; + else if (Shape == Shape::OuterLeft) + return 9736; + else + return 9738; + else if (Shape == Shape::Straight) + return 9740; + else if (Shape == Shape::InnerLeft) + return 9742; + else if (Shape == Shape::InnerRight) + return 9744; + else if (Shape == Shape::OuterLeft) + return 9746; + else + return 9748; +} +BlockState PolishedGraniteStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PolishedGraniteStairs +namespace Poppy +{ +constexpr BlockState Poppy() +{ + return 1413; +} +} // namespace Poppy +namespace Potatoes +{ +constexpr BlockState Potatoes(const unsigned char Age) +{ + if (Age == 0) + return 6338; + else if (Age == 1) + return 6339; + else if (Age == 2) + return 6340; + else if (Age == 3) + return 6341; + else if (Age == 4) + return 6342; + else if (Age == 5) + return 6343; + else if (Age == 6) + return 6344; + else + return 6345; +} +BlockState Potatoes(); +unsigned char Age(BlockState Block); +} // namespace Potatoes +namespace PottedAcaciaSapling +{ +constexpr BlockState PottedAcaciaSapling() +{ + return 6310; +} +} // namespace PottedAcaciaSapling +namespace PottedAllium +{ +constexpr BlockState PottedAllium() +{ + return 6316; +} +} // namespace PottedAllium +namespace PottedAzureBluet +{ +constexpr BlockState PottedAzureBluet() +{ + return 6317; +} +} // namespace PottedAzureBluet +namespace PottedBamboo +{ +constexpr BlockState PottedBamboo() +{ + return 9664; +} +} // namespace PottedBamboo +namespace PottedBirchSapling +{ +constexpr BlockState PottedBirchSapling() +{ + return 6308; +} +} // namespace PottedBirchSapling +namespace PottedBlueOrchid +{ +constexpr BlockState PottedBlueOrchid() +{ + return 6315; +} +} // namespace PottedBlueOrchid +namespace PottedBrownMushroom +{ +constexpr BlockState PottedBrownMushroom() +{ + return 6327; +} +} // namespace PottedBrownMushroom +namespace PottedCactus +{ +constexpr BlockState PottedCactus() +{ + return 6329; +} +} // namespace PottedCactus +namespace PottedCornflower +{ +constexpr BlockState PottedCornflower() +{ + return 6323; +} +} // namespace PottedCornflower +namespace PottedCrimsonFungus +{ +constexpr BlockState PottedCrimsonFungus() +{ + return 15834; +} +} // namespace PottedCrimsonFungus +namespace PottedCrimsonRoots +{ +constexpr BlockState PottedCrimsonRoots() +{ + return 15836; +} +} // namespace PottedCrimsonRoots +namespace PottedDandelion +{ +constexpr BlockState PottedDandelion() +{ + return 6313; +} +} // namespace PottedDandelion +namespace PottedDarkOakSapling +{ +constexpr BlockState PottedDarkOakSapling() +{ + return 6311; +} +} // namespace PottedDarkOakSapling +namespace PottedDeadBush +{ +constexpr BlockState PottedDeadBush() +{ + return 6328; +} +} // namespace PottedDeadBush +namespace PottedFern +{ +constexpr BlockState PottedFern() +{ + return 6312; +} +} // namespace PottedFern +namespace PottedJungleSapling +{ +constexpr BlockState PottedJungleSapling() +{ + return 6309; +} +} // namespace PottedJungleSapling +namespace PottedLilyOfTheValley +{ +constexpr BlockState PottedLilyOfTheValley() +{ + return 6324; +} +} // namespace PottedLilyOfTheValley +namespace PottedOakSapling +{ +constexpr BlockState PottedOakSapling() +{ + return 6306; +} +} // namespace PottedOakSapling +namespace PottedOrangeTulip +{ +constexpr BlockState PottedOrangeTulip() +{ + return 6319; +} +} // namespace PottedOrangeTulip +namespace PottedOxeyeDaisy +{ +constexpr BlockState PottedOxeyeDaisy() +{ + return 6322; +} +} // namespace PottedOxeyeDaisy +namespace PottedPinkTulip +{ +constexpr BlockState PottedPinkTulip() +{ + return 6321; +} +} // namespace PottedPinkTulip +namespace PottedPoppy +{ +constexpr BlockState PottedPoppy() +{ + return 6314; +} +} // namespace PottedPoppy +namespace PottedRedMushroom +{ +constexpr BlockState PottedRedMushroom() +{ + return 6326; +} +} // namespace PottedRedMushroom +namespace PottedRedTulip +{ +constexpr BlockState PottedRedTulip() +{ + return 6318; +} +} // namespace PottedRedTulip +namespace PottedSpruceSapling +{ +constexpr BlockState PottedSpruceSapling() +{ + return 6307; +} +} // namespace PottedSpruceSapling +namespace PottedWarpedFungus +{ +constexpr BlockState PottedWarpedFungus() +{ + return 15835; +} +} // namespace PottedWarpedFungus +namespace PottedWarpedRoots +{ +constexpr BlockState PottedWarpedRoots() +{ + return 15837; +} +} // namespace PottedWarpedRoots +namespace PottedWhiteTulip +{ +constexpr BlockState PottedWhiteTulip() +{ + return 6320; +} +} // namespace PottedWhiteTulip +namespace PottedWitherRose +{ +constexpr BlockState PottedWitherRose() +{ + return 6325; +} +} // namespace PottedWitherRose +namespace PoweredRail +{ +enum class Shape +{ + NorthSouth, + EastWest, + AscendingEast, + AscendingWest, + AscendingNorth, + AscendingSouth +}; +constexpr BlockState PoweredRail(const bool Powered, const enum Shape Shape) +{ + if (Powered) + if (Shape == Shape::NorthSouth) + return 1305; + else if (Shape == Shape::EastWest) + return 1306; + else if (Shape == Shape::AscendingEast) + return 1307; + else if (Shape == Shape::AscendingWest) + return 1308; + else if (Shape == Shape::AscendingNorth) + return 1309; + else + return 1310; + else if (Shape == Shape::NorthSouth) + return 1311; + else if (Shape == Shape::EastWest) + return 1312; + else if (Shape == Shape::AscendingEast) + return 1313; + else if (Shape == Shape::AscendingWest) + return 1314; + else if (Shape == Shape::AscendingNorth) + return 1315; + else + return 1316; +} +BlockState PoweredRail(); +bool Powered(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PoweredRail +namespace Prismarine +{ +constexpr BlockState Prismarine() +{ + return 7601; +} +} // namespace Prismarine +namespace PrismarineBrickSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PrismarineBrickSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 7851; + else if (Type == Type::Bottom) + return 7853; + else + return 7855; +} +BlockState PrismarineBrickSlab(); +enum Type Type(BlockState Block); +} // namespace PrismarineBrickSlab +namespace PrismarineBrickStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState PrismarineBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7685; + else if (Shape == Shape::InnerLeft) + return 7687; + else if (Shape == Shape::InnerRight) + return 7689; + else if (Shape == Shape::OuterLeft) + return 7691; + else + return 7693; + else if (Shape == Shape::Straight) + return 7695; + else if (Shape == Shape::InnerLeft) + return 7697; + else if (Shape == Shape::InnerRight) + return 7699; + else if (Shape == Shape::OuterLeft) + return 7701; + else + return 7703; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7705; + else if (Shape == Shape::InnerLeft) + return 7707; + else if (Shape == Shape::InnerRight) + return 7709; + else if (Shape == Shape::OuterLeft) + return 7711; + else + return 7713; + else if (Shape == Shape::Straight) + return 7715; + else if (Shape == Shape::InnerLeft) + return 7717; + else if (Shape == Shape::InnerRight) + return 7719; + else if (Shape == Shape::OuterLeft) + return 7721; + else + return 7723; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7725; + else if (Shape == Shape::InnerLeft) + return 7727; + else if (Shape == Shape::InnerRight) + return 7729; + else if (Shape == Shape::OuterLeft) + return 7731; + else + return 7733; + else if (Shape == Shape::Straight) + return 7735; + else if (Shape == Shape::InnerLeft) + return 7737; + else if (Shape == Shape::InnerRight) + return 7739; + else if (Shape == Shape::OuterLeft) + return 7741; + else + return 7743; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7745; + else if (Shape == Shape::InnerLeft) + return 7747; + else if (Shape == Shape::InnerRight) + return 7749; + else if (Shape == Shape::OuterLeft) + return 7751; + else + return 7753; + else if (Shape == Shape::Straight) + return 7755; + else if (Shape == Shape::InnerLeft) + return 7757; + else if (Shape == Shape::InnerRight) + return 7759; + else if (Shape == Shape::OuterLeft) + return 7761; + else + return 7763; +} +BlockState PrismarineBrickStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PrismarineBrickStairs +namespace PrismarineBricks +{ +constexpr BlockState PrismarineBricks() +{ + return 7602; +} +} // namespace PrismarineBricks +namespace PrismarineSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PrismarineSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 7845; + else if (Type == Type::Bottom) + return 7847; + else + return 7849; +} +BlockState PrismarineSlab(); +enum Type Type(BlockState Block); +} // namespace PrismarineSlab +namespace PrismarineStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState PrismarineStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7605; + else if (Shape == Shape::InnerLeft) + return 7607; + else if (Shape == Shape::InnerRight) + return 7609; + else if (Shape == Shape::OuterLeft) + return 7611; + else + return 7613; + else if (Shape == Shape::Straight) + return 7615; + else if (Shape == Shape::InnerLeft) + return 7617; + else if (Shape == Shape::InnerRight) + return 7619; + else if (Shape == Shape::OuterLeft) + return 7621; + else + return 7623; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7625; + else if (Shape == Shape::InnerLeft) + return 7627; + else if (Shape == Shape::InnerRight) + return 7629; + else if (Shape == Shape::OuterLeft) + return 7631; + else + return 7633; + else if (Shape == Shape::Straight) + return 7635; + else if (Shape == Shape::InnerLeft) + return 7637; + else if (Shape == Shape::InnerRight) + return 7639; + else if (Shape == Shape::OuterLeft) + return 7641; + else + return 7643; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7645; + else if (Shape == Shape::InnerLeft) + return 7647; + else if (Shape == Shape::InnerRight) + return 7649; + else if (Shape == Shape::OuterLeft) + return 7651; + else + return 7653; + else if (Shape == Shape::Straight) + return 7655; + else if (Shape == Shape::InnerLeft) + return 7657; + else if (Shape == Shape::InnerRight) + return 7659; + else if (Shape == Shape::OuterLeft) + return 7661; + else + return 7663; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 7665; + else if (Shape == Shape::InnerLeft) + return 7667; + else if (Shape == Shape::InnerRight) + return 7669; + else if (Shape == Shape::OuterLeft) + return 7671; + else + return 7673; + else if (Shape == Shape::Straight) + return 7675; + else if (Shape == Shape::InnerLeft) + return 7677; + else if (Shape == Shape::InnerRight) + return 7679; + else if (Shape == Shape::OuterLeft) + return 7681; + else + return 7683; +} +BlockState PrismarineStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PrismarineStairs +namespace PrismarineWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState PrismarineWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11194; + else if (West == West::Low) + return 11195; + else + return 11196; + else if (West == West::None) + return 11200; + else if (West == West::Low) + return 11201; + else + return 11202; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11206; + else if (West == West::Low) + return 11207; + else + return 11208; + else if (West == West::None) + return 11212; + else if (West == West::Low) + return 11213; + else + return 11214; + else if (Up) + if (West == West::None) + return 11218; + else if (West == West::Low) + return 11219; + else + return 11220; + else if (West == West::None) + return 11224; + else if (West == West::Low) + return 11225; + else + return 11226; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11230; + else if (West == West::Low) + return 11231; + else + return 11232; + else if (West == West::None) + return 11236; + else if (West == West::Low) + return 11237; + else + return 11238; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11242; + else if (West == West::Low) + return 11243; + else + return 11244; + else if (West == West::None) + return 11248; + else if (West == West::Low) + return 11249; + else + return 11250; + else if (Up) + if (West == West::None) + return 11254; + else if (West == West::Low) + return 11255; + else + return 11256; + else if (West == West::None) + return 11260; + else if (West == West::Low) + return 11261; + else + return 11262; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11266; + else if (West == West::Low) + return 11267; + else + return 11268; + else if (West == West::None) + return 11272; + else if (West == West::Low) + return 11273; + else + return 11274; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11278; + else if (West == West::Low) + return 11279; + else + return 11280; + else if (West == West::None) + return 11284; + else if (West == West::Low) + return 11285; + else + return 11286; + else if (Up) + if (West == West::None) + return 11290; + else if (West == West::Low) + return 11291; + else + return 11292; + else if (West == West::None) + return 11296; + else if (West == West::Low) + return 11297; + else + return 11298; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11302; + else if (West == West::Low) + return 11303; + else + return 11304; + else if (West == West::None) + return 11308; + else if (West == West::Low) + return 11309; + else + return 11310; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11314; + else if (West == West::Low) + return 11315; + else + return 11316; + else if (West == West::None) + return 11320; + else if (West == West::Low) + return 11321; + else + return 11322; + else if (Up) + if (West == West::None) + return 11326; + else if (West == West::Low) + return 11327; + else + return 11328; + else if (West == West::None) + return 11332; + else if (West == West::Low) + return 11333; + else + return 11334; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11338; + else if (West == West::Low) + return 11339; + else + return 11340; + else if (West == West::None) + return 11344; + else if (West == West::Low) + return 11345; + else + return 11346; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11350; + else if (West == West::Low) + return 11351; + else + return 11352; + else if (West == West::None) + return 11356; + else if (West == West::Low) + return 11357; + else + return 11358; + else if (Up) + if (West == West::None) + return 11362; + else if (West == West::Low) + return 11363; + else + return 11364; + else if (West == West::None) + return 11368; + else if (West == West::Low) + return 11369; + else + return 11370; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11374; + else if (West == West::Low) + return 11375; + else + return 11376; + else if (West == West::None) + return 11380; + else if (West == West::Low) + return 11381; + else + return 11382; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11386; + else if (West == West::Low) + return 11387; + else + return 11388; + else if (West == West::None) + return 11392; + else if (West == West::Low) + return 11393; + else + return 11394; + else if (Up) + if (West == West::None) + return 11398; + else if (West == West::Low) + return 11399; + else + return 11400; + else if (West == West::None) + return 11404; + else if (West == West::Low) + return 11405; + else + return 11406; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11410; + else if (West == West::Low) + return 11411; + else + return 11412; + else if (West == West::None) + return 11416; + else if (West == West::Low) + return 11417; + else + return 11418; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11422; + else if (West == West::Low) + return 11423; + else + return 11424; + else if (West == West::None) + return 11428; + else if (West == West::Low) + return 11429; + else + return 11430; + else if (Up) + if (West == West::None) + return 11434; + else if (West == West::Low) + return 11435; + else + return 11436; + else if (West == West::None) + return 11440; + else if (West == West::Low) + return 11441; + else + return 11442; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11446; + else if (West == West::Low) + return 11447; + else + return 11448; + else if (West == West::None) + return 11452; + else if (West == West::Low) + return 11453; + else + return 11454; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11458; + else if (West == West::Low) + return 11459; + else + return 11460; + else if (West == West::None) + return 11464; + else if (West == West::Low) + return 11465; + else + return 11466; + else if (Up) + if (West == West::None) + return 11470; + else if (West == West::Low) + return 11471; + else + return 11472; + else if (West == West::None) + return 11476; + else if (West == West::Low) + return 11477; + else + return 11478; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11482; + else if (West == West::Low) + return 11483; + else + return 11484; + else if (West == West::None) + return 11488; + else if (West == West::Low) + return 11489; + else + return 11490; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11494; + else if (West == West::Low) + return 11495; + else + return 11496; + else if (West == West::None) + return 11500; + else if (West == West::Low) + return 11501; + else + return 11502; + else if (Up) + if (West == West::None) + return 11506; + else if (West == West::Low) + return 11507; + else + return 11508; + else if (West == West::None) + return 11512; + else if (West == West::Low) + return 11513; + else + return 11514; +} +BlockState PrismarineWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace PrismarineWall +namespace Pumpkin +{ +constexpr BlockState Pumpkin() +{ + return 3998; +} +} // namespace Pumpkin +namespace PumpkinStem +{ +constexpr BlockState PumpkinStem(const unsigned char Age) +{ + if (Age == 0) + return 4772; + else if (Age == 1) + return 4773; + else if (Age == 2) + return 4774; + else if (Age == 3) + return 4775; + else if (Age == 4) + return 4776; + else if (Age == 5) + return 4777; + else if (Age == 6) + return 4778; + else + return 4779; +} +BlockState PumpkinStem(); +unsigned char Age(BlockState Block); +} // namespace PumpkinStem +namespace PurpleBanner +{ +constexpr BlockState PurpleBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8057; + else if (Rotation == 1) + return 8058; + else if (Rotation == 2) + return 8059; + else if (Rotation == 3) + return 8060; + else if (Rotation == 4) + return 8061; + else if (Rotation == 5) + return 8062; + else if (Rotation == 6) + return 8063; + else if (Rotation == 7) + return 8064; + else if (Rotation == 8) + return 8065; + else if (Rotation == 9) + return 8066; + else if (Rotation == 10) + return 8067; + else if (Rotation == 11) + return 8068; + else if (Rotation == 12) + return 8069; + else if (Rotation == 13) + return 8070; + else if (Rotation == 14) + return 8071; + else + return 8072; +} +BlockState PurpleBanner(); +unsigned char Rotation(BlockState Block); +} // namespace PurpleBanner +namespace PurpleBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState PurpleBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1209; + else + return 1210; + else if (Part == Part::Head) + return 1211; + else + return 1212; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1213; + else + return 1214; + else if (Part == Part::Head) + return 1215; + else + return 1216; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1217; + else + return 1218; + else if (Part == Part::Head) + return 1219; + else + return 1220; + else if (Occupied) + if (Part == Part::Head) + return 1221; + else + return 1222; + else if (Part == Part::Head) + return 1223; + else + return 1224; +} +BlockState PurpleBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace PurpleBed +namespace PurpleCarpet +{ +constexpr BlockState PurpleCarpet() +{ + return 7876; +} +} // namespace PurpleCarpet +namespace PurpleConcrete +{ +constexpr BlockState PurpleConcrete() +{ + return 9448; +} +} // namespace PurpleConcrete +namespace PurpleConcretePowder +{ +constexpr BlockState PurpleConcretePowder() +{ + return 9464; +} +} // namespace PurpleConcretePowder +namespace PurpleGlazedTerracotta +{ +constexpr BlockState PurpleGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9414; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9415; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9416; + else + return 9417; +} +BlockState PurpleGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace PurpleGlazedTerracotta +namespace PurpleShulkerBox +{ +constexpr BlockState PurpleShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9338; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9339; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9340; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9341; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9342; + else + return 9343; +} +BlockState PurpleShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace PurpleShulkerBox +namespace PurpleStainedGlass +{ +constexpr BlockState PurpleStainedGlass() +{ + return 4105; +} +} // namespace PurpleStainedGlass +namespace PurpleStainedGlassPane +{ +constexpr BlockState PurpleStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7185; + else + return 7186; + else if (West) + return 7189; + else + return 7190; + else if (South) + if (West) + return 7193; + else + return 7194; + else if (West) + return 7197; + else + return 7198; + else if (North) + if (South) + if (West) + return 7201; + else + return 7202; + else if (West) + return 7205; + else + return 7206; + else if (South) + if (West) + return 7209; + else + return 7210; + else if (West) + return 7213; + else + return 7214; +} +BlockState PurpleStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace PurpleStainedGlassPane +namespace PurpleTerracotta +{ +constexpr BlockState PurpleTerracotta() +{ + return 6857; +} +} // namespace PurpleTerracotta +namespace PurpleWallBanner +{ +constexpr BlockState PurpleWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8193; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8194; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8195; + else + return 8196; +} +BlockState PurpleWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace PurpleWallBanner +namespace PurpleWool +{ +constexpr BlockState PurpleWool() +{ + return 1394; +} +} // namespace PurpleWool +namespace PurpurBlock +{ +constexpr BlockState PurpurBlock() +{ + return 9134; +} +} // namespace PurpurBlock +namespace PurpurPillar +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState PurpurPillar(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 9135; + else if (Axis == Axis::Y) + return 9136; + else + return 9137; +} +BlockState PurpurPillar(); +enum Axis Axis(BlockState Block); +} // namespace PurpurPillar +namespace PurpurSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState PurpurSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8409; + else if (Type == Type::Bottom) + return 8411; + else + return 8413; +} +BlockState PurpurSlab(); +enum Type Type(BlockState Block); +} // namespace PurpurSlab +namespace PurpurStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState PurpurStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9139; + else if (Shape == Shape::InnerLeft) + return 9141; + else if (Shape == Shape::InnerRight) + return 9143; + else if (Shape == Shape::OuterLeft) + return 9145; + else + return 9147; + else if (Shape == Shape::Straight) + return 9149; + else if (Shape == Shape::InnerLeft) + return 9151; + else if (Shape == Shape::InnerRight) + return 9153; + else if (Shape == Shape::OuterLeft) + return 9155; + else + return 9157; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9159; + else if (Shape == Shape::InnerLeft) + return 9161; + else if (Shape == Shape::InnerRight) + return 9163; + else if (Shape == Shape::OuterLeft) + return 9165; + else + return 9167; + else if (Shape == Shape::Straight) + return 9169; + else if (Shape == Shape::InnerLeft) + return 9171; + else if (Shape == Shape::InnerRight) + return 9173; + else if (Shape == Shape::OuterLeft) + return 9175; + else + return 9177; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9179; + else if (Shape == Shape::InnerLeft) + return 9181; + else if (Shape == Shape::InnerRight) + return 9183; + else if (Shape == Shape::OuterLeft) + return 9185; + else + return 9187; + else if (Shape == Shape::Straight) + return 9189; + else if (Shape == Shape::InnerLeft) + return 9191; + else if (Shape == Shape::InnerRight) + return 9193; + else if (Shape == Shape::OuterLeft) + return 9195; + else + return 9197; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9199; + else if (Shape == Shape::InnerLeft) + return 9201; + else if (Shape == Shape::InnerRight) + return 9203; + else if (Shape == Shape::OuterLeft) + return 9205; + else + return 9207; + else if (Shape == Shape::Straight) + return 9209; + else if (Shape == Shape::InnerLeft) + return 9211; + else if (Shape == Shape::InnerRight) + return 9213; + else if (Shape == Shape::OuterLeft) + return 9215; + else + return 9217; +} +BlockState PurpurStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace PurpurStairs +namespace QuartzBlock +{ +constexpr BlockState QuartzBlock() +{ + return 6738; +} +} // namespace QuartzBlock +namespace QuartzBricks +{ +constexpr BlockState QuartzBricks() +{ + return 17103; +} +} // namespace QuartzBricks +namespace QuartzPillar +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState QuartzPillar(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 6740; + else if (Axis == Axis::Y) + return 6741; + else + return 6742; +} +BlockState QuartzPillar(); +enum Axis Axis(BlockState Block); +} // namespace QuartzPillar +namespace QuartzSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState QuartzSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8391; + else if (Type == Type::Bottom) + return 8393; + else + return 8395; +} +BlockState QuartzSlab(); +enum Type Type(BlockState Block); +} // namespace QuartzSlab +namespace QuartzStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState QuartzStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 6744; + else if (Shape == Shape::InnerLeft) + return 6746; + else if (Shape == Shape::InnerRight) + return 6748; + else if (Shape == Shape::OuterLeft) + return 6750; + else + return 6752; + else if (Shape == Shape::Straight) + return 6754; + else if (Shape == Shape::InnerLeft) + return 6756; + else if (Shape == Shape::InnerRight) + return 6758; + else if (Shape == Shape::OuterLeft) + return 6760; + else + return 6762; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 6764; + else if (Shape == Shape::InnerLeft) + return 6766; + else if (Shape == Shape::InnerRight) + return 6768; + else if (Shape == Shape::OuterLeft) + return 6770; + else + return 6772; + else if (Shape == Shape::Straight) + return 6774; + else if (Shape == Shape::InnerLeft) + return 6776; + else if (Shape == Shape::InnerRight) + return 6778; + else if (Shape == Shape::OuterLeft) + return 6780; + else + return 6782; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 6784; + else if (Shape == Shape::InnerLeft) + return 6786; + else if (Shape == Shape::InnerRight) + return 6788; + else if (Shape == Shape::OuterLeft) + return 6790; + else + return 6792; + else if (Shape == Shape::Straight) + return 6794; + else if (Shape == Shape::InnerLeft) + return 6796; + else if (Shape == Shape::InnerRight) + return 6798; + else if (Shape == Shape::OuterLeft) + return 6800; + else + return 6802; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 6804; + else if (Shape == Shape::InnerLeft) + return 6806; + else if (Shape == Shape::InnerRight) + return 6808; + else if (Shape == Shape::OuterLeft) + return 6810; + else + return 6812; + else if (Shape == Shape::Straight) + return 6814; + else if (Shape == Shape::InnerLeft) + return 6816; + else if (Shape == Shape::InnerRight) + return 6818; + else if (Shape == Shape::OuterLeft) + return 6820; + else + return 6822; +} +BlockState QuartzStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace QuartzStairs +namespace Rail +{ +enum class Shape +{ + NorthSouth, + EastWest, + AscendingEast, + AscendingWest, + AscendingNorth, + AscendingSouth, + SouthEast, + SouthWest, + NorthWest, + NorthEast +}; +constexpr BlockState Rail(const enum Shape Shape) +{ + if (Shape == Shape::NorthSouth) + return 3645; + else if (Shape == Shape::EastWest) + return 3646; + else if (Shape == Shape::AscendingEast) + return 3647; + else if (Shape == Shape::AscendingWest) + return 3648; + else if (Shape == Shape::AscendingNorth) + return 3649; + else if (Shape == Shape::AscendingSouth) + return 3650; + else if (Shape == Shape::SouthEast) + return 3651; + else if (Shape == Shape::SouthWest) + return 3652; + else if (Shape == Shape::NorthWest) + return 3653; + else + return 3654; +} +BlockState Rail(); +enum Shape Shape(BlockState Block); +} // namespace Rail +namespace RedBanner +{ +constexpr BlockState RedBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 8121; + else if (Rotation == 1) + return 8122; + else if (Rotation == 2) + return 8123; + else if (Rotation == 3) + return 8124; + else if (Rotation == 4) + return 8125; + else if (Rotation == 5) + return 8126; + else if (Rotation == 6) + return 8127; + else if (Rotation == 7) + return 8128; + else if (Rotation == 8) + return 8129; + else if (Rotation == 9) + return 8130; + else if (Rotation == 10) + return 8131; + else if (Rotation == 11) + return 8132; + else if (Rotation == 12) + return 8133; + else if (Rotation == 13) + return 8134; + else if (Rotation == 14) + return 8135; + else + return 8136; +} +BlockState RedBanner(); +unsigned char Rotation(BlockState Block); +} // namespace RedBanner +namespace RedBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState RedBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1273; + else + return 1274; + else if (Part == Part::Head) + return 1275; + else + return 1276; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1277; + else + return 1278; + else if (Part == Part::Head) + return 1279; + else + return 1280; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1281; + else + return 1282; + else if (Part == Part::Head) + return 1283; + else + return 1284; + else if (Occupied) + if (Part == Part::Head) + return 1285; + else + return 1286; + else if (Part == Part::Head) + return 1287; + else + return 1288; +} +BlockState RedBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace RedBed +namespace RedCarpet +{ +constexpr BlockState RedCarpet() +{ + return 7880; +} +} // namespace RedCarpet +namespace RedConcrete +{ +constexpr BlockState RedConcrete() +{ + return 9452; +} +} // namespace RedConcrete +namespace RedConcretePowder +{ +constexpr BlockState RedConcretePowder() +{ + return 9468; +} +} // namespace RedConcretePowder +namespace RedGlazedTerracotta +{ +constexpr BlockState RedGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9430; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9431; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9432; + else + return 9433; +} +BlockState RedGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace RedGlazedTerracotta +namespace RedMushroom +{ +constexpr BlockState RedMushroom() +{ + return 1426; +} +} // namespace RedMushroom +namespace RedMushroomBlock +{ +constexpr BlockState RedMushroomBlock( + const bool Down, + const bool East, + const bool North, + const bool South, + const bool Up, + const bool West +) +{ + if (Down) + if (East) + if (North) + if (South) + if (Up) + if (West) + return 4569; + else + return 4570; + else if (West) + return 4571; + else + return 4572; + else if (Up) + if (West) + return 4573; + else + return 4574; + else if (West) + return 4575; + else + return 4576; + else if (South) + if (Up) + if (West) + return 4577; + else + return 4578; + else if (West) + return 4579; + else + return 4580; + else if (Up) + if (West) + return 4581; + else + return 4582; + else if (West) + return 4583; + else + return 4584; + else if (North) + if (South) + if (Up) + if (West) + return 4585; + else + return 4586; + else if (West) + return 4587; + else + return 4588; + else if (Up) + if (West) + return 4589; + else + return 4590; + else if (West) + return 4591; + else + return 4592; + else if (South) + if (Up) + if (West) + return 4593; + else + return 4594; + else if (West) + return 4595; + else + return 4596; + else if (Up) + if (West) + return 4597; + else + return 4598; + else if (West) + return 4599; + else + return 4600; + else if (East) + if (North) + if (South) + if (Up) + if (West) + return 4601; + else + return 4602; + else if (West) + return 4603; + else + return 4604; + else if (Up) + if (West) + return 4605; + else + return 4606; + else if (West) + return 4607; + else + return 4608; + else if (South) + if (Up) + if (West) + return 4609; + else + return 4610; + else if (West) + return 4611; + else + return 4612; + else if (Up) + if (West) + return 4613; + else + return 4614; + else if (West) + return 4615; + else + return 4616; + else if (North) + if (South) + if (Up) + if (West) + return 4617; + else + return 4618; + else if (West) + return 4619; + else + return 4620; + else if (Up) + if (West) + return 4621; + else + return 4622; + else if (West) + return 4623; + else + return 4624; + else if (South) + if (Up) + if (West) + return 4625; + else + return 4626; + else if (West) + return 4627; + else + return 4628; + else if (Up) + if (West) + return 4629; + else + return 4630; + else if (West) + return 4631; + else + return 4632; +} +BlockState RedMushroomBlock(); +bool Down(BlockState Block); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool Up(BlockState Block); +bool West(BlockState Block); +} // namespace RedMushroomBlock +namespace RedNetherBrickSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState RedNetherBrickSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10850; + else if (Type == Type::Bottom) + return 10852; + else + return 10854; +} +BlockState RedNetherBrickSlab(); +enum Type Type(BlockState Block); +} // namespace RedNetherBrickSlab +namespace RedNetherBrickStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState RedNetherBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10550; + else if (Shape == Shape::InnerLeft) + return 10552; + else if (Shape == Shape::InnerRight) + return 10554; + else if (Shape == Shape::OuterLeft) + return 10556; + else + return 10558; + else if (Shape == Shape::Straight) + return 10560; + else if (Shape == Shape::InnerLeft) + return 10562; + else if (Shape == Shape::InnerRight) + return 10564; + else if (Shape == Shape::OuterLeft) + return 10566; + else + return 10568; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10570; + else if (Shape == Shape::InnerLeft) + return 10572; + else if (Shape == Shape::InnerRight) + return 10574; + else if (Shape == Shape::OuterLeft) + return 10576; + else + return 10578; + else if (Shape == Shape::Straight) + return 10580; + else if (Shape == Shape::InnerLeft) + return 10582; + else if (Shape == Shape::InnerRight) + return 10584; + else if (Shape == Shape::OuterLeft) + return 10586; + else + return 10588; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10590; + else if (Shape == Shape::InnerLeft) + return 10592; + else if (Shape == Shape::InnerRight) + return 10594; + else if (Shape == Shape::OuterLeft) + return 10596; + else + return 10598; + else if (Shape == Shape::Straight) + return 10600; + else if (Shape == Shape::InnerLeft) + return 10602; + else if (Shape == Shape::InnerRight) + return 10604; + else if (Shape == Shape::OuterLeft) + return 10606; + else + return 10608; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10610; + else if (Shape == Shape::InnerLeft) + return 10612; + else if (Shape == Shape::InnerRight) + return 10614; + else if (Shape == Shape::OuterLeft) + return 10616; + else + return 10618; + else if (Shape == Shape::Straight) + return 10620; + else if (Shape == Shape::InnerLeft) + return 10622; + else if (Shape == Shape::InnerRight) + return 10624; + else if (Shape == Shape::OuterLeft) + return 10626; + else + return 10628; +} +BlockState RedNetherBrickStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace RedNetherBrickStairs +namespace RedNetherBrickWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState RedNetherBrickWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13462; + else if (West == West::Low) + return 13463; + else + return 13464; + else if (West == West::None) + return 13468; + else if (West == West::Low) + return 13469; + else + return 13470; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13474; + else if (West == West::Low) + return 13475; + else + return 13476; + else if (West == West::None) + return 13480; + else if (West == West::Low) + return 13481; + else + return 13482; + else if (Up) + if (West == West::None) + return 13486; + else if (West == West::Low) + return 13487; + else + return 13488; + else if (West == West::None) + return 13492; + else if (West == West::Low) + return 13493; + else + return 13494; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13498; + else if (West == West::Low) + return 13499; + else + return 13500; + else if (West == West::None) + return 13504; + else if (West == West::Low) + return 13505; + else + return 13506; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13510; + else if (West == West::Low) + return 13511; + else + return 13512; + else if (West == West::None) + return 13516; + else if (West == West::Low) + return 13517; + else + return 13518; + else if (Up) + if (West == West::None) + return 13522; + else if (West == West::Low) + return 13523; + else + return 13524; + else if (West == West::None) + return 13528; + else if (West == West::Low) + return 13529; + else + return 13530; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13534; + else if (West == West::Low) + return 13535; + else + return 13536; + else if (West == West::None) + return 13540; + else if (West == West::Low) + return 13541; + else + return 13542; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13546; + else if (West == West::Low) + return 13547; + else + return 13548; + else if (West == West::None) + return 13552; + else if (West == West::Low) + return 13553; + else + return 13554; + else if (Up) + if (West == West::None) + return 13558; + else if (West == West::Low) + return 13559; + else + return 13560; + else if (West == West::None) + return 13564; + else if (West == West::Low) + return 13565; + else + return 13566; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13570; + else if (West == West::Low) + return 13571; + else + return 13572; + else if (West == West::None) + return 13576; + else if (West == West::Low) + return 13577; + else + return 13578; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13582; + else if (West == West::Low) + return 13583; + else + return 13584; + else if (West == West::None) + return 13588; + else if (West == West::Low) + return 13589; + else + return 13590; + else if (Up) + if (West == West::None) + return 13594; + else if (West == West::Low) + return 13595; + else + return 13596; + else if (West == West::None) + return 13600; + else if (West == West::Low) + return 13601; + else + return 13602; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13606; + else if (West == West::Low) + return 13607; + else + return 13608; + else if (West == West::None) + return 13612; + else if (West == West::Low) + return 13613; + else + return 13614; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13618; + else if (West == West::Low) + return 13619; + else + return 13620; + else if (West == West::None) + return 13624; + else if (West == West::Low) + return 13625; + else + return 13626; + else if (Up) + if (West == West::None) + return 13630; + else if (West == West::Low) + return 13631; + else + return 13632; + else if (West == West::None) + return 13636; + else if (West == West::Low) + return 13637; + else + return 13638; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13642; + else if (West == West::Low) + return 13643; + else + return 13644; + else if (West == West::None) + return 13648; + else if (West == West::Low) + return 13649; + else + return 13650; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13654; + else if (West == West::Low) + return 13655; + else + return 13656; + else if (West == West::None) + return 13660; + else if (West == West::Low) + return 13661; + else + return 13662; + else if (Up) + if (West == West::None) + return 13666; + else if (West == West::Low) + return 13667; + else + return 13668; + else if (West == West::None) + return 13672; + else if (West == West::Low) + return 13673; + else + return 13674; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13678; + else if (West == West::Low) + return 13679; + else + return 13680; + else if (West == West::None) + return 13684; + else if (West == West::Low) + return 13685; + else + return 13686; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13690; + else if (West == West::Low) + return 13691; + else + return 13692; + else if (West == West::None) + return 13696; + else if (West == West::Low) + return 13697; + else + return 13698; + else if (Up) + if (West == West::None) + return 13702; + else if (West == West::Low) + return 13703; + else + return 13704; + else if (West == West::None) + return 13708; + else if (West == West::Low) + return 13709; + else + return 13710; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13714; + else if (West == West::Low) + return 13715; + else + return 13716; + else if (West == West::None) + return 13720; + else if (West == West::Low) + return 13721; + else + return 13722; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13726; + else if (West == West::Low) + return 13727; + else + return 13728; + else if (West == West::None) + return 13732; + else if (West == West::Low) + return 13733; + else + return 13734; + else if (Up) + if (West == West::None) + return 13738; + else if (West == West::Low) + return 13739; + else + return 13740; + else if (West == West::None) + return 13744; + else if (West == West::Low) + return 13745; + else + return 13746; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13750; + else if (West == West::Low) + return 13751; + else + return 13752; + else if (West == West::None) + return 13756; + else if (West == West::Low) + return 13757; + else + return 13758; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13762; + else if (West == West::Low) + return 13763; + else + return 13764; + else if (West == West::None) + return 13768; + else if (West == West::Low) + return 13769; + else + return 13770; + else if (Up) + if (West == West::None) + return 13774; + else if (West == West::Low) + return 13775; + else + return 13776; + else if (West == West::None) + return 13780; + else if (West == West::Low) + return 13781; + else + return 13782; +} +BlockState RedNetherBrickWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace RedNetherBrickWall +namespace RedNetherBricks +{ +constexpr BlockState RedNetherBricks() +{ + return 9255; +} +} // namespace RedNetherBricks +namespace RedSand +{ +constexpr BlockState RedSand() +{ + return 67; +} +} // namespace RedSand +namespace RedSandstone +{ +constexpr BlockState RedSandstone() +{ + return 8217; +} +} // namespace RedSandstone +namespace RedSandstoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState RedSandstoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8397; + else if (Type == Type::Bottom) + return 8399; + else + return 8401; +} +BlockState RedSandstoneSlab(); +enum Type Type(BlockState Block); +} // namespace RedSandstoneSlab +namespace RedSandstoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState RedSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 8221; + else if (Shape == Shape::InnerLeft) + return 8223; + else if (Shape == Shape::InnerRight) + return 8225; + else if (Shape == Shape::OuterLeft) + return 8227; + else + return 8229; + else if (Shape == Shape::Straight) + return 8231; + else if (Shape == Shape::InnerLeft) + return 8233; + else if (Shape == Shape::InnerRight) + return 8235; + else if (Shape == Shape::OuterLeft) + return 8237; + else + return 8239; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 8241; + else if (Shape == Shape::InnerLeft) + return 8243; + else if (Shape == Shape::InnerRight) + return 8245; + else if (Shape == Shape::OuterLeft) + return 8247; + else + return 8249; + else if (Shape == Shape::Straight) + return 8251; + else if (Shape == Shape::InnerLeft) + return 8253; + else if (Shape == Shape::InnerRight) + return 8255; + else if (Shape == Shape::OuterLeft) + return 8257; + else + return 8259; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 8261; + else if (Shape == Shape::InnerLeft) + return 8263; + else if (Shape == Shape::InnerRight) + return 8265; + else if (Shape == Shape::OuterLeft) + return 8267; + else + return 8269; + else if (Shape == Shape::Straight) + return 8271; + else if (Shape == Shape::InnerLeft) + return 8273; + else if (Shape == Shape::InnerRight) + return 8275; + else if (Shape == Shape::OuterLeft) + return 8277; + else + return 8279; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 8281; + else if (Shape == Shape::InnerLeft) + return 8283; + else if (Shape == Shape::InnerRight) + return 8285; + else if (Shape == Shape::OuterLeft) + return 8287; + else + return 8289; + else if (Shape == Shape::Straight) + return 8291; + else if (Shape == Shape::InnerLeft) + return 8293; + else if (Shape == Shape::InnerRight) + return 8295; + else if (Shape == Shape::OuterLeft) + return 8297; + else + return 8299; +} +BlockState RedSandstoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace RedSandstoneStairs +namespace RedSandstoneWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState RedSandstoneWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11518; + else if (West == West::Low) + return 11519; + else + return 11520; + else if (West == West::None) + return 11524; + else if (West == West::Low) + return 11525; + else + return 11526; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11530; + else if (West == West::Low) + return 11531; + else + return 11532; + else if (West == West::None) + return 11536; + else if (West == West::Low) + return 11537; + else + return 11538; + else if (Up) + if (West == West::None) + return 11542; + else if (West == West::Low) + return 11543; + else + return 11544; + else if (West == West::None) + return 11548; + else if (West == West::Low) + return 11549; + else + return 11550; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11554; + else if (West == West::Low) + return 11555; + else + return 11556; + else if (West == West::None) + return 11560; + else if (West == West::Low) + return 11561; + else + return 11562; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11566; + else if (West == West::Low) + return 11567; + else + return 11568; + else if (West == West::None) + return 11572; + else if (West == West::Low) + return 11573; + else + return 11574; + else if (Up) + if (West == West::None) + return 11578; + else if (West == West::Low) + return 11579; + else + return 11580; + else if (West == West::None) + return 11584; + else if (West == West::Low) + return 11585; + else + return 11586; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11590; + else if (West == West::Low) + return 11591; + else + return 11592; + else if (West == West::None) + return 11596; + else if (West == West::Low) + return 11597; + else + return 11598; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11602; + else if (West == West::Low) + return 11603; + else + return 11604; + else if (West == West::None) + return 11608; + else if (West == West::Low) + return 11609; + else + return 11610; + else if (Up) + if (West == West::None) + return 11614; + else if (West == West::Low) + return 11615; + else + return 11616; + else if (West == West::None) + return 11620; + else if (West == West::Low) + return 11621; + else + return 11622; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11626; + else if (West == West::Low) + return 11627; + else + return 11628; + else if (West == West::None) + return 11632; + else if (West == West::Low) + return 11633; + else + return 11634; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11638; + else if (West == West::Low) + return 11639; + else + return 11640; + else if (West == West::None) + return 11644; + else if (West == West::Low) + return 11645; + else + return 11646; + else if (Up) + if (West == West::None) + return 11650; + else if (West == West::Low) + return 11651; + else + return 11652; + else if (West == West::None) + return 11656; + else if (West == West::Low) + return 11657; + else + return 11658; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11662; + else if (West == West::Low) + return 11663; + else + return 11664; + else if (West == West::None) + return 11668; + else if (West == West::Low) + return 11669; + else + return 11670; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11674; + else if (West == West::Low) + return 11675; + else + return 11676; + else if (West == West::None) + return 11680; + else if (West == West::Low) + return 11681; + else + return 11682; + else if (Up) + if (West == West::None) + return 11686; + else if (West == West::Low) + return 11687; + else + return 11688; + else if (West == West::None) + return 11692; + else if (West == West::Low) + return 11693; + else + return 11694; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11698; + else if (West == West::Low) + return 11699; + else + return 11700; + else if (West == West::None) + return 11704; + else if (West == West::Low) + return 11705; + else + return 11706; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11710; + else if (West == West::Low) + return 11711; + else + return 11712; + else if (West == West::None) + return 11716; + else if (West == West::Low) + return 11717; + else + return 11718; + else if (Up) + if (West == West::None) + return 11722; + else if (West == West::Low) + return 11723; + else + return 11724; + else if (West == West::None) + return 11728; + else if (West == West::Low) + return 11729; + else + return 11730; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 11734; + else if (West == West::Low) + return 11735; + else + return 11736; + else if (West == West::None) + return 11740; + else if (West == West::Low) + return 11741; + else + return 11742; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11746; + else if (West == West::Low) + return 11747; + else + return 11748; + else if (West == West::None) + return 11752; + else if (West == West::Low) + return 11753; + else + return 11754; + else if (Up) + if (West == West::None) + return 11758; + else if (West == West::Low) + return 11759; + else + return 11760; + else if (West == West::None) + return 11764; + else if (West == West::Low) + return 11765; + else + return 11766; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 11770; + else if (West == West::Low) + return 11771; + else + return 11772; + else if (West == West::None) + return 11776; + else if (West == West::Low) + return 11777; + else + return 11778; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11782; + else if (West == West::Low) + return 11783; + else + return 11784; + else if (West == West::None) + return 11788; + else if (West == West::Low) + return 11789; + else + return 11790; + else if (Up) + if (West == West::None) + return 11794; + else if (West == West::Low) + return 11795; + else + return 11796; + else if (West == West::None) + return 11800; + else if (West == West::Low) + return 11801; + else + return 11802; + else if (South == South::None) + if (Up) + if (West == West::None) + return 11806; + else if (West == West::Low) + return 11807; + else + return 11808; + else if (West == West::None) + return 11812; + else if (West == West::Low) + return 11813; + else + return 11814; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 11818; + else if (West == West::Low) + return 11819; + else + return 11820; + else if (West == West::None) + return 11824; + else if (West == West::Low) + return 11825; + else + return 11826; + else if (Up) + if (West == West::None) + return 11830; + else if (West == West::Low) + return 11831; + else + return 11832; + else if (West == West::None) + return 11836; + else if (West == West::Low) + return 11837; + else + return 11838; +} +BlockState RedSandstoneWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace RedSandstoneWall +namespace RedShulkerBox +{ +constexpr BlockState RedShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9362; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9363; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9364; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9365; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9366; + else + return 9367; +} +BlockState RedShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace RedShulkerBox +namespace RedStainedGlass +{ +constexpr BlockState RedStainedGlass() +{ + return 4109; +} +} // namespace RedStainedGlass +namespace RedStainedGlassPane +{ +constexpr BlockState RedStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 7313; + else + return 7314; + else if (West) + return 7317; + else + return 7318; + else if (South) + if (West) + return 7321; + else + return 7322; + else if (West) + return 7325; + else + return 7326; + else if (North) + if (South) + if (West) + return 7329; + else + return 7330; + else if (West) + return 7333; + else + return 7334; + else if (South) + if (West) + return 7337; + else + return 7338; + else if (West) + return 7341; + else + return 7342; +} +BlockState RedStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace RedStainedGlassPane +namespace RedTerracotta +{ +constexpr BlockState RedTerracotta() +{ + return 6861; +} +} // namespace RedTerracotta +namespace RedTulip +{ +constexpr BlockState RedTulip() +{ + return 1417; +} +} // namespace RedTulip +namespace RedWallBanner +{ +constexpr BlockState RedWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8209; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8210; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8211; + else + return 8212; +} +BlockState RedWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace RedWallBanner +namespace RedWool +{ +constexpr BlockState RedWool() +{ + return 1398; +} +} // namespace RedWool +namespace RedstoneBlock +{ +constexpr BlockState RedstoneBlock() +{ + return 6726; +} +} // namespace RedstoneBlock +namespace RedstoneLamp +{ +constexpr BlockState RedstoneLamp(const bool Lit) +{ + if (Lit) + return 5156; + else + return 5157; +} +BlockState RedstoneLamp(); +bool Lit(BlockState Block); +} // namespace RedstoneLamp +namespace RedstoneOre +{ +constexpr BlockState RedstoneOre(const bool Lit) +{ + if (Lit) + return 3885; + else + return 3886; +} +BlockState RedstoneOre(); +bool Lit(BlockState Block); +} // namespace RedstoneOre +namespace RedstoneTorch +{ +constexpr BlockState RedstoneTorch(const bool Lit) +{ + if (Lit) + return 3887; + else + return 3888; +} +BlockState RedstoneTorch(); +bool Lit(BlockState Block); +} // namespace RedstoneTorch +namespace RedstoneWallTorch +{ +constexpr BlockState RedstoneWallTorch(const eBlockFace Facing, const bool Lit) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Lit) + return 3889; + else + return 3890; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Lit) + return 3891; + else + return 3892; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Lit) + return 3893; + else + return 3894; + else if (Lit) + return 3895; + else + return 3896; +} +BlockState RedstoneWallTorch(); +eBlockFace Facing(BlockState Block); +bool Lit(BlockState Block); +} // namespace RedstoneWallTorch +namespace RedstoneWire +{ +enum class East +{ + Up, + Side, + None +}; +enum class North +{ + Up, + Side, + None +}; +enum class South +{ + Up, + Side, + None +}; +enum class West +{ + Up, + Side, + None +}; +constexpr BlockState RedstoneWire( + const enum East East, + const enum North North, + const unsigned char Power, + const enum South South, + const enum West West +) +{ + if (East == East::Up) + if (North == North::Up) + if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 2058; + else if (West == West::Side) + return 2059; + else + return 2060; + else if (South == South::Side) + if (West == West::Up) + return 2061; + else if (West == West::Side) + return 2062; + else + return 2063; + else if (West == West::Up) + return 2064; + else if (West == West::Side) + return 2065; + else + return 2066; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 2067; + else if (West == West::Side) + return 2068; + else + return 2069; + else if (South == South::Side) + if (West == West::Up) + return 2070; + else if (West == West::Side) + return 2071; + else + return 2072; + else if (West == West::Up) + return 2073; + else if (West == West::Side) + return 2074; + else + return 2075; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 2076; + else if (West == West::Side) + return 2077; + else + return 2078; + else if (South == South::Side) + if (West == West::Up) + return 2079; + else if (West == West::Side) + return 2080; + else + return 2081; + else if (West == West::Up) + return 2082; + else if (West == West::Side) + return 2083; + else + return 2084; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 2085; + else if (West == West::Side) + return 2086; + else + return 2087; + else if (South == South::Side) + if (West == West::Up) + return 2088; + else if (West == West::Side) + return 2089; + else + return 2090; + else if (West == West::Up) + return 2091; + else if (West == West::Side) + return 2092; + else + return 2093; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 2094; + else if (West == West::Side) + return 2095; + else + return 2096; + else if (South == South::Side) + if (West == West::Up) + return 2097; + else if (West == West::Side) + return 2098; + else + return 2099; + else if (West == West::Up) + return 2100; + else if (West == West::Side) + return 2101; + else + return 2102; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 2103; + else if (West == West::Side) + return 2104; + else + return 2105; + else if (South == South::Side) + if (West == West::Up) + return 2106; + else if (West == West::Side) + return 2107; + else + return 2108; + else if (West == West::Up) + return 2109; + else if (West == West::Side) + return 2110; + else + return 2111; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 2112; + else if (West == West::Side) + return 2113; + else + return 2114; + else if (South == South::Side) + if (West == West::Up) + return 2115; + else if (West == West::Side) + return 2116; + else + return 2117; + else if (West == West::Up) + return 2118; + else if (West == West::Side) + return 2119; + else + return 2120; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 2121; + else if (West == West::Side) + return 2122; + else + return 2123; + else if (South == South::Side) + if (West == West::Up) + return 2124; + else if (West == West::Side) + return 2125; + else + return 2126; + else if (West == West::Up) + return 2127; + else if (West == West::Side) + return 2128; + else + return 2129; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 2130; + else if (West == West::Side) + return 2131; + else + return 2132; + else if (South == South::Side) + if (West == West::Up) + return 2133; + else if (West == West::Side) + return 2134; + else + return 2135; + else if (West == West::Up) + return 2136; + else if (West == West::Side) + return 2137; + else + return 2138; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 2139; + else if (West == West::Side) + return 2140; + else + return 2141; + else if (South == South::Side) + if (West == West::Up) + return 2142; + else if (West == West::Side) + return 2143; + else + return 2144; + else if (West == West::Up) + return 2145; + else if (West == West::Side) + return 2146; + else + return 2147; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 2148; + else if (West == West::Side) + return 2149; + else + return 2150; + else if (South == South::Side) + if (West == West::Up) + return 2151; + else if (West == West::Side) + return 2152; + else + return 2153; + else if (West == West::Up) + return 2154; + else if (West == West::Side) + return 2155; + else + return 2156; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 2157; + else if (West == West::Side) + return 2158; + else + return 2159; + else if (South == South::Side) + if (West == West::Up) + return 2160; + else if (West == West::Side) + return 2161; + else + return 2162; + else if (West == West::Up) + return 2163; + else if (West == West::Side) + return 2164; + else + return 2165; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 2166; + else if (West == West::Side) + return 2167; + else + return 2168; + else if (South == South::Side) + if (West == West::Up) + return 2169; + else if (West == West::Side) + return 2170; + else + return 2171; + else if (West == West::Up) + return 2172; + else if (West == West::Side) + return 2173; + else + return 2174; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 2175; + else if (West == West::Side) + return 2176; + else + return 2177; + else if (South == South::Side) + if (West == West::Up) + return 2178; + else if (West == West::Side) + return 2179; + else + return 2180; + else if (West == West::Up) + return 2181; + else if (West == West::Side) + return 2182; + else + return 2183; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 2184; + else if (West == West::Side) + return 2185; + else + return 2186; + else if (South == South::Side) + if (West == West::Up) + return 2187; + else if (West == West::Side) + return 2188; + else + return 2189; + else if (West == West::Up) + return 2190; + else if (West == West::Side) + return 2191; + else + return 2192; + else if (South == South::Up) + if (West == West::Up) + return 2193; + else if (West == West::Side) + return 2194; + else + return 2195; + else if (South == South::Side) + if (West == West::Up) + return 2196; + else if (West == West::Side) + return 2197; + else + return 2198; + else if (West == West::Up) + return 2199; + else if (West == West::Side) + return 2200; + else + return 2201; + else if (North == North::Side) + if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 2202; + else if (West == West::Side) + return 2203; + else + return 2204; + else if (South == South::Side) + if (West == West::Up) + return 2205; + else if (West == West::Side) + return 2206; + else + return 2207; + else if (West == West::Up) + return 2208; + else if (West == West::Side) + return 2209; + else + return 2210; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 2211; + else if (West == West::Side) + return 2212; + else + return 2213; + else if (South == South::Side) + if (West == West::Up) + return 2214; + else if (West == West::Side) + return 2215; + else + return 2216; + else if (West == West::Up) + return 2217; + else if (West == West::Side) + return 2218; + else + return 2219; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 2220; + else if (West == West::Side) + return 2221; + else + return 2222; + else if (South == South::Side) + if (West == West::Up) + return 2223; + else if (West == West::Side) + return 2224; + else + return 2225; + else if (West == West::Up) + return 2226; + else if (West == West::Side) + return 2227; + else + return 2228; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 2229; + else if (West == West::Side) + return 2230; + else + return 2231; + else if (South == South::Side) + if (West == West::Up) + return 2232; + else if (West == West::Side) + return 2233; + else + return 2234; + else if (West == West::Up) + return 2235; + else if (West == West::Side) + return 2236; + else + return 2237; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 2238; + else if (West == West::Side) + return 2239; + else + return 2240; + else if (South == South::Side) + if (West == West::Up) + return 2241; + else if (West == West::Side) + return 2242; + else + return 2243; + else if (West == West::Up) + return 2244; + else if (West == West::Side) + return 2245; + else + return 2246; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 2247; + else if (West == West::Side) + return 2248; + else + return 2249; + else if (South == South::Side) + if (West == West::Up) + return 2250; + else if (West == West::Side) + return 2251; + else + return 2252; + else if (West == West::Up) + return 2253; + else if (West == West::Side) + return 2254; + else + return 2255; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 2256; + else if (West == West::Side) + return 2257; + else + return 2258; + else if (South == South::Side) + if (West == West::Up) + return 2259; + else if (West == West::Side) + return 2260; + else + return 2261; + else if (West == West::Up) + return 2262; + else if (West == West::Side) + return 2263; + else + return 2264; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 2265; + else if (West == West::Side) + return 2266; + else + return 2267; + else if (South == South::Side) + if (West == West::Up) + return 2268; + else if (West == West::Side) + return 2269; + else + return 2270; + else if (West == West::Up) + return 2271; + else if (West == West::Side) + return 2272; + else + return 2273; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 2274; + else if (West == West::Side) + return 2275; + else + return 2276; + else if (South == South::Side) + if (West == West::Up) + return 2277; + else if (West == West::Side) + return 2278; + else + return 2279; + else if (West == West::Up) + return 2280; + else if (West == West::Side) + return 2281; + else + return 2282; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 2283; + else if (West == West::Side) + return 2284; + else + return 2285; + else if (South == South::Side) + if (West == West::Up) + return 2286; + else if (West == West::Side) + return 2287; + else + return 2288; + else if (West == West::Up) + return 2289; + else if (West == West::Side) + return 2290; + else + return 2291; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 2292; + else if (West == West::Side) + return 2293; + else + return 2294; + else if (South == South::Side) + if (West == West::Up) + return 2295; + else if (West == West::Side) + return 2296; + else + return 2297; + else if (West == West::Up) + return 2298; + else if (West == West::Side) + return 2299; + else + return 2300; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 2301; + else if (West == West::Side) + return 2302; + else + return 2303; + else if (South == South::Side) + if (West == West::Up) + return 2304; + else if (West == West::Side) + return 2305; + else + return 2306; + else if (West == West::Up) + return 2307; + else if (West == West::Side) + return 2308; + else + return 2309; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 2310; + else if (West == West::Side) + return 2311; + else + return 2312; + else if (South == South::Side) + if (West == West::Up) + return 2313; + else if (West == West::Side) + return 2314; + else + return 2315; + else if (West == West::Up) + return 2316; + else if (West == West::Side) + return 2317; + else + return 2318; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 2319; + else if (West == West::Side) + return 2320; + else + return 2321; + else if (South == South::Side) + if (West == West::Up) + return 2322; + else if (West == West::Side) + return 2323; + else + return 2324; + else if (West == West::Up) + return 2325; + else if (West == West::Side) + return 2326; + else + return 2327; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 2328; + else if (West == West::Side) + return 2329; + else + return 2330; + else if (South == South::Side) + if (West == West::Up) + return 2331; + else if (West == West::Side) + return 2332; + else + return 2333; + else if (West == West::Up) + return 2334; + else if (West == West::Side) + return 2335; + else + return 2336; + else if (South == South::Up) + if (West == West::Up) + return 2337; + else if (West == West::Side) + return 2338; + else + return 2339; + else if (South == South::Side) + if (West == West::Up) + return 2340; + else if (West == West::Side) + return 2341; + else + return 2342; + else if (West == West::Up) + return 2343; + else if (West == West::Side) + return 2344; + else + return 2345; + else if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 2346; + else if (West == West::Side) + return 2347; + else + return 2348; + else if (South == South::Side) + if (West == West::Up) + return 2349; + else if (West == West::Side) + return 2350; + else + return 2351; + else if (West == West::Up) + return 2352; + else if (West == West::Side) + return 2353; + else + return 2354; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 2355; + else if (West == West::Side) + return 2356; + else + return 2357; + else if (South == South::Side) + if (West == West::Up) + return 2358; + else if (West == West::Side) + return 2359; + else + return 2360; + else if (West == West::Up) + return 2361; + else if (West == West::Side) + return 2362; + else + return 2363; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 2364; + else if (West == West::Side) + return 2365; + else + return 2366; + else if (South == South::Side) + if (West == West::Up) + return 2367; + else if (West == West::Side) + return 2368; + else + return 2369; + else if (West == West::Up) + return 2370; + else if (West == West::Side) + return 2371; + else + return 2372; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 2373; + else if (West == West::Side) + return 2374; + else + return 2375; + else if (South == South::Side) + if (West == West::Up) + return 2376; + else if (West == West::Side) + return 2377; + else + return 2378; + else if (West == West::Up) + return 2379; + else if (West == West::Side) + return 2380; + else + return 2381; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 2382; + else if (West == West::Side) + return 2383; + else + return 2384; + else if (South == South::Side) + if (West == West::Up) + return 2385; + else if (West == West::Side) + return 2386; + else + return 2387; + else if (West == West::Up) + return 2388; + else if (West == West::Side) + return 2389; + else + return 2390; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 2391; + else if (West == West::Side) + return 2392; + else + return 2393; + else if (South == South::Side) + if (West == West::Up) + return 2394; + else if (West == West::Side) + return 2395; + else + return 2396; + else if (West == West::Up) + return 2397; + else if (West == West::Side) + return 2398; + else + return 2399; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 2400; + else if (West == West::Side) + return 2401; + else + return 2402; + else if (South == South::Side) + if (West == West::Up) + return 2403; + else if (West == West::Side) + return 2404; + else + return 2405; + else if (West == West::Up) + return 2406; + else if (West == West::Side) + return 2407; + else + return 2408; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 2409; + else if (West == West::Side) + return 2410; + else + return 2411; + else if (South == South::Side) + if (West == West::Up) + return 2412; + else if (West == West::Side) + return 2413; + else + return 2414; + else if (West == West::Up) + return 2415; + else if (West == West::Side) + return 2416; + else + return 2417; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 2418; + else if (West == West::Side) + return 2419; + else + return 2420; + else if (South == South::Side) + if (West == West::Up) + return 2421; + else if (West == West::Side) + return 2422; + else + return 2423; + else if (West == West::Up) + return 2424; + else if (West == West::Side) + return 2425; + else + return 2426; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 2427; + else if (West == West::Side) + return 2428; + else + return 2429; + else if (South == South::Side) + if (West == West::Up) + return 2430; + else if (West == West::Side) + return 2431; + else + return 2432; + else if (West == West::Up) + return 2433; + else if (West == West::Side) + return 2434; + else + return 2435; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 2436; + else if (West == West::Side) + return 2437; + else + return 2438; + else if (South == South::Side) + if (West == West::Up) + return 2439; + else if (West == West::Side) + return 2440; + else + return 2441; + else if (West == West::Up) + return 2442; + else if (West == West::Side) + return 2443; + else + return 2444; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 2445; + else if (West == West::Side) + return 2446; + else + return 2447; + else if (South == South::Side) + if (West == West::Up) + return 2448; + else if (West == West::Side) + return 2449; + else + return 2450; + else if (West == West::Up) + return 2451; + else if (West == West::Side) + return 2452; + else + return 2453; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 2454; + else if (West == West::Side) + return 2455; + else + return 2456; + else if (South == South::Side) + if (West == West::Up) + return 2457; + else if (West == West::Side) + return 2458; + else + return 2459; + else if (West == West::Up) + return 2460; + else if (West == West::Side) + return 2461; + else + return 2462; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 2463; + else if (West == West::Side) + return 2464; + else + return 2465; + else if (South == South::Side) + if (West == West::Up) + return 2466; + else if (West == West::Side) + return 2467; + else + return 2468; + else if (West == West::Up) + return 2469; + else if (West == West::Side) + return 2470; + else + return 2471; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 2472; + else if (West == West::Side) + return 2473; + else + return 2474; + else if (South == South::Side) + if (West == West::Up) + return 2475; + else if (West == West::Side) + return 2476; + else + return 2477; + else if (West == West::Up) + return 2478; + else if (West == West::Side) + return 2479; + else + return 2480; + else if (South == South::Up) + if (West == West::Up) + return 2481; + else if (West == West::Side) + return 2482; + else + return 2483; + else if (South == South::Side) + if (West == West::Up) + return 2484; + else if (West == West::Side) + return 2485; + else + return 2486; + else if (West == West::Up) + return 2487; + else if (West == West::Side) + return 2488; + else + return 2489; + else if (East == East::Side) + if (North == North::Up) + if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 2490; + else if (West == West::Side) + return 2491; + else + return 2492; + else if (South == South::Side) + if (West == West::Up) + return 2493; + else if (West == West::Side) + return 2494; + else + return 2495; + else if (West == West::Up) + return 2496; + else if (West == West::Side) + return 2497; + else + return 2498; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 2499; + else if (West == West::Side) + return 2500; + else + return 2501; + else if (South == South::Side) + if (West == West::Up) + return 2502; + else if (West == West::Side) + return 2503; + else + return 2504; + else if (West == West::Up) + return 2505; + else if (West == West::Side) + return 2506; + else + return 2507; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 2508; + else if (West == West::Side) + return 2509; + else + return 2510; + else if (South == South::Side) + if (West == West::Up) + return 2511; + else if (West == West::Side) + return 2512; + else + return 2513; + else if (West == West::Up) + return 2514; + else if (West == West::Side) + return 2515; + else + return 2516; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 2517; + else if (West == West::Side) + return 2518; + else + return 2519; + else if (South == South::Side) + if (West == West::Up) + return 2520; + else if (West == West::Side) + return 2521; + else + return 2522; + else if (West == West::Up) + return 2523; + else if (West == West::Side) + return 2524; + else + return 2525; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 2526; + else if (West == West::Side) + return 2527; + else + return 2528; + else if (South == South::Side) + if (West == West::Up) + return 2529; + else if (West == West::Side) + return 2530; + else + return 2531; + else if (West == West::Up) + return 2532; + else if (West == West::Side) + return 2533; + else + return 2534; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 2535; + else if (West == West::Side) + return 2536; + else + return 2537; + else if (South == South::Side) + if (West == West::Up) + return 2538; + else if (West == West::Side) + return 2539; + else + return 2540; + else if (West == West::Up) + return 2541; + else if (West == West::Side) + return 2542; + else + return 2543; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 2544; + else if (West == West::Side) + return 2545; + else + return 2546; + else if (South == South::Side) + if (West == West::Up) + return 2547; + else if (West == West::Side) + return 2548; + else + return 2549; + else if (West == West::Up) + return 2550; + else if (West == West::Side) + return 2551; + else + return 2552; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 2553; + else if (West == West::Side) + return 2554; + else + return 2555; + else if (South == South::Side) + if (West == West::Up) + return 2556; + else if (West == West::Side) + return 2557; + else + return 2558; + else if (West == West::Up) + return 2559; + else if (West == West::Side) + return 2560; + else + return 2561; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 2562; + else if (West == West::Side) + return 2563; + else + return 2564; + else if (South == South::Side) + if (West == West::Up) + return 2565; + else if (West == West::Side) + return 2566; + else + return 2567; + else if (West == West::Up) + return 2568; + else if (West == West::Side) + return 2569; + else + return 2570; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 2571; + else if (West == West::Side) + return 2572; + else + return 2573; + else if (South == South::Side) + if (West == West::Up) + return 2574; + else if (West == West::Side) + return 2575; + else + return 2576; + else if (West == West::Up) + return 2577; + else if (West == West::Side) + return 2578; + else + return 2579; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 2580; + else if (West == West::Side) + return 2581; + else + return 2582; + else if (South == South::Side) + if (West == West::Up) + return 2583; + else if (West == West::Side) + return 2584; + else + return 2585; + else if (West == West::Up) + return 2586; + else if (West == West::Side) + return 2587; + else + return 2588; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 2589; + else if (West == West::Side) + return 2590; + else + return 2591; + else if (South == South::Side) + if (West == West::Up) + return 2592; + else if (West == West::Side) + return 2593; + else + return 2594; + else if (West == West::Up) + return 2595; + else if (West == West::Side) + return 2596; + else + return 2597; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 2598; + else if (West == West::Side) + return 2599; + else + return 2600; + else if (South == South::Side) + if (West == West::Up) + return 2601; + else if (West == West::Side) + return 2602; + else + return 2603; + else if (West == West::Up) + return 2604; + else if (West == West::Side) + return 2605; + else + return 2606; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 2607; + else if (West == West::Side) + return 2608; + else + return 2609; + else if (South == South::Side) + if (West == West::Up) + return 2610; + else if (West == West::Side) + return 2611; + else + return 2612; + else if (West == West::Up) + return 2613; + else if (West == West::Side) + return 2614; + else + return 2615; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 2616; + else if (West == West::Side) + return 2617; + else + return 2618; + else if (South == South::Side) + if (West == West::Up) + return 2619; + else if (West == West::Side) + return 2620; + else + return 2621; + else if (West == West::Up) + return 2622; + else if (West == West::Side) + return 2623; + else + return 2624; + else if (South == South::Up) + if (West == West::Up) + return 2625; + else if (West == West::Side) + return 2626; + else + return 2627; + else if (South == South::Side) + if (West == West::Up) + return 2628; + else if (West == West::Side) + return 2629; + else + return 2630; + else if (West == West::Up) + return 2631; + else if (West == West::Side) + return 2632; + else + return 2633; + else if (North == North::Side) + if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 2634; + else if (West == West::Side) + return 2635; + else + return 2636; + else if (South == South::Side) + if (West == West::Up) + return 2637; + else if (West == West::Side) + return 2638; + else + return 2639; + else if (West == West::Up) + return 2640; + else if (West == West::Side) + return 2641; + else + return 2642; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 2643; + else if (West == West::Side) + return 2644; + else + return 2645; + else if (South == South::Side) + if (West == West::Up) + return 2646; + else if (West == West::Side) + return 2647; + else + return 2648; + else if (West == West::Up) + return 2649; + else if (West == West::Side) + return 2650; + else + return 2651; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 2652; + else if (West == West::Side) + return 2653; + else + return 2654; + else if (South == South::Side) + if (West == West::Up) + return 2655; + else if (West == West::Side) + return 2656; + else + return 2657; + else if (West == West::Up) + return 2658; + else if (West == West::Side) + return 2659; + else + return 2660; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 2661; + else if (West == West::Side) + return 2662; + else + return 2663; + else if (South == South::Side) + if (West == West::Up) + return 2664; + else if (West == West::Side) + return 2665; + else + return 2666; + else if (West == West::Up) + return 2667; + else if (West == West::Side) + return 2668; + else + return 2669; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 2670; + else if (West == West::Side) + return 2671; + else + return 2672; + else if (South == South::Side) + if (West == West::Up) + return 2673; + else if (West == West::Side) + return 2674; + else + return 2675; + else if (West == West::Up) + return 2676; + else if (West == West::Side) + return 2677; + else + return 2678; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 2679; + else if (West == West::Side) + return 2680; + else + return 2681; + else if (South == South::Side) + if (West == West::Up) + return 2682; + else if (West == West::Side) + return 2683; + else + return 2684; + else if (West == West::Up) + return 2685; + else if (West == West::Side) + return 2686; + else + return 2687; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 2688; + else if (West == West::Side) + return 2689; + else + return 2690; + else if (South == South::Side) + if (West == West::Up) + return 2691; + else if (West == West::Side) + return 2692; + else + return 2693; + else if (West == West::Up) + return 2694; + else if (West == West::Side) + return 2695; + else + return 2696; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 2697; + else if (West == West::Side) + return 2698; + else + return 2699; + else if (South == South::Side) + if (West == West::Up) + return 2700; + else if (West == West::Side) + return 2701; + else + return 2702; + else if (West == West::Up) + return 2703; + else if (West == West::Side) + return 2704; + else + return 2705; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 2706; + else if (West == West::Side) + return 2707; + else + return 2708; + else if (South == South::Side) + if (West == West::Up) + return 2709; + else if (West == West::Side) + return 2710; + else + return 2711; + else if (West == West::Up) + return 2712; + else if (West == West::Side) + return 2713; + else + return 2714; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 2715; + else if (West == West::Side) + return 2716; + else + return 2717; + else if (South == South::Side) + if (West == West::Up) + return 2718; + else if (West == West::Side) + return 2719; + else + return 2720; + else if (West == West::Up) + return 2721; + else if (West == West::Side) + return 2722; + else + return 2723; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 2724; + else if (West == West::Side) + return 2725; + else + return 2726; + else if (South == South::Side) + if (West == West::Up) + return 2727; + else if (West == West::Side) + return 2728; + else + return 2729; + else if (West == West::Up) + return 2730; + else if (West == West::Side) + return 2731; + else + return 2732; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 2733; + else if (West == West::Side) + return 2734; + else + return 2735; + else if (South == South::Side) + if (West == West::Up) + return 2736; + else if (West == West::Side) + return 2737; + else + return 2738; + else if (West == West::Up) + return 2739; + else if (West == West::Side) + return 2740; + else + return 2741; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 2742; + else if (West == West::Side) + return 2743; + else + return 2744; + else if (South == South::Side) + if (West == West::Up) + return 2745; + else if (West == West::Side) + return 2746; + else + return 2747; + else if (West == West::Up) + return 2748; + else if (West == West::Side) + return 2749; + else + return 2750; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 2751; + else if (West == West::Side) + return 2752; + else + return 2753; + else if (South == South::Side) + if (West == West::Up) + return 2754; + else if (West == West::Side) + return 2755; + else + return 2756; + else if (West == West::Up) + return 2757; + else if (West == West::Side) + return 2758; + else + return 2759; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 2760; + else if (West == West::Side) + return 2761; + else + return 2762; + else if (South == South::Side) + if (West == West::Up) + return 2763; + else if (West == West::Side) + return 2764; + else + return 2765; + else if (West == West::Up) + return 2766; + else if (West == West::Side) + return 2767; + else + return 2768; + else if (South == South::Up) + if (West == West::Up) + return 2769; + else if (West == West::Side) + return 2770; + else + return 2771; + else if (South == South::Side) + if (West == West::Up) + return 2772; + else if (West == West::Side) + return 2773; + else + return 2774; + else if (West == West::Up) + return 2775; + else if (West == West::Side) + return 2776; + else + return 2777; + else if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 2778; + else if (West == West::Side) + return 2779; + else + return 2780; + else if (South == South::Side) + if (West == West::Up) + return 2781; + else if (West == West::Side) + return 2782; + else + return 2783; + else if (West == West::Up) + return 2784; + else if (West == West::Side) + return 2785; + else + return 2786; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 2787; + else if (West == West::Side) + return 2788; + else + return 2789; + else if (South == South::Side) + if (West == West::Up) + return 2790; + else if (West == West::Side) + return 2791; + else + return 2792; + else if (West == West::Up) + return 2793; + else if (West == West::Side) + return 2794; + else + return 2795; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 2796; + else if (West == West::Side) + return 2797; + else + return 2798; + else if (South == South::Side) + if (West == West::Up) + return 2799; + else if (West == West::Side) + return 2800; + else + return 2801; + else if (West == West::Up) + return 2802; + else if (West == West::Side) + return 2803; + else + return 2804; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 2805; + else if (West == West::Side) + return 2806; + else + return 2807; + else if (South == South::Side) + if (West == West::Up) + return 2808; + else if (West == West::Side) + return 2809; + else + return 2810; + else if (West == West::Up) + return 2811; + else if (West == West::Side) + return 2812; + else + return 2813; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 2814; + else if (West == West::Side) + return 2815; + else + return 2816; + else if (South == South::Side) + if (West == West::Up) + return 2817; + else if (West == West::Side) + return 2818; + else + return 2819; + else if (West == West::Up) + return 2820; + else if (West == West::Side) + return 2821; + else + return 2822; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 2823; + else if (West == West::Side) + return 2824; + else + return 2825; + else if (South == South::Side) + if (West == West::Up) + return 2826; + else if (West == West::Side) + return 2827; + else + return 2828; + else if (West == West::Up) + return 2829; + else if (West == West::Side) + return 2830; + else + return 2831; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 2832; + else if (West == West::Side) + return 2833; + else + return 2834; + else if (South == South::Side) + if (West == West::Up) + return 2835; + else if (West == West::Side) + return 2836; + else + return 2837; + else if (West == West::Up) + return 2838; + else if (West == West::Side) + return 2839; + else + return 2840; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 2841; + else if (West == West::Side) + return 2842; + else + return 2843; + else if (South == South::Side) + if (West == West::Up) + return 2844; + else if (West == West::Side) + return 2845; + else + return 2846; + else if (West == West::Up) + return 2847; + else if (West == West::Side) + return 2848; + else + return 2849; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 2850; + else if (West == West::Side) + return 2851; + else + return 2852; + else if (South == South::Side) + if (West == West::Up) + return 2853; + else if (West == West::Side) + return 2854; + else + return 2855; + else if (West == West::Up) + return 2856; + else if (West == West::Side) + return 2857; + else + return 2858; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 2859; + else if (West == West::Side) + return 2860; + else + return 2861; + else if (South == South::Side) + if (West == West::Up) + return 2862; + else if (West == West::Side) + return 2863; + else + return 2864; + else if (West == West::Up) + return 2865; + else if (West == West::Side) + return 2866; + else + return 2867; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 2868; + else if (West == West::Side) + return 2869; + else + return 2870; + else if (South == South::Side) + if (West == West::Up) + return 2871; + else if (West == West::Side) + return 2872; + else + return 2873; + else if (West == West::Up) + return 2874; + else if (West == West::Side) + return 2875; + else + return 2876; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 2877; + else if (West == West::Side) + return 2878; + else + return 2879; + else if (South == South::Side) + if (West == West::Up) + return 2880; + else if (West == West::Side) + return 2881; + else + return 2882; + else if (West == West::Up) + return 2883; + else if (West == West::Side) + return 2884; + else + return 2885; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 2886; + else if (West == West::Side) + return 2887; + else + return 2888; + else if (South == South::Side) + if (West == West::Up) + return 2889; + else if (West == West::Side) + return 2890; + else + return 2891; + else if (West == West::Up) + return 2892; + else if (West == West::Side) + return 2893; + else + return 2894; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 2895; + else if (West == West::Side) + return 2896; + else + return 2897; + else if (South == South::Side) + if (West == West::Up) + return 2898; + else if (West == West::Side) + return 2899; + else + return 2900; + else if (West == West::Up) + return 2901; + else if (West == West::Side) + return 2902; + else + return 2903; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 2904; + else if (West == West::Side) + return 2905; + else + return 2906; + else if (South == South::Side) + if (West == West::Up) + return 2907; + else if (West == West::Side) + return 2908; + else + return 2909; + else if (West == West::Up) + return 2910; + else if (West == West::Side) + return 2911; + else + return 2912; + else if (South == South::Up) + if (West == West::Up) + return 2913; + else if (West == West::Side) + return 2914; + else + return 2915; + else if (South == South::Side) + if (West == West::Up) + return 2916; + else if (West == West::Side) + return 2917; + else + return 2918; + else if (West == West::Up) + return 2919; + else if (West == West::Side) + return 2920; + else + return 2921; + else if (North == North::Up) + if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 2922; + else if (West == West::Side) + return 2923; + else + return 2924; + else if (South == South::Side) + if (West == West::Up) + return 2925; + else if (West == West::Side) + return 2926; + else + return 2927; + else if (West == West::Up) + return 2928; + else if (West == West::Side) + return 2929; + else + return 2930; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 2931; + else if (West == West::Side) + return 2932; + else + return 2933; + else if (South == South::Side) + if (West == West::Up) + return 2934; + else if (West == West::Side) + return 2935; + else + return 2936; + else if (West == West::Up) + return 2937; + else if (West == West::Side) + return 2938; + else + return 2939; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 2940; + else if (West == West::Side) + return 2941; + else + return 2942; + else if (South == South::Side) + if (West == West::Up) + return 2943; + else if (West == West::Side) + return 2944; + else + return 2945; + else if (West == West::Up) + return 2946; + else if (West == West::Side) + return 2947; + else + return 2948; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 2949; + else if (West == West::Side) + return 2950; + else + return 2951; + else if (South == South::Side) + if (West == West::Up) + return 2952; + else if (West == West::Side) + return 2953; + else + return 2954; + else if (West == West::Up) + return 2955; + else if (West == West::Side) + return 2956; + else + return 2957; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 2958; + else if (West == West::Side) + return 2959; + else + return 2960; + else if (South == South::Side) + if (West == West::Up) + return 2961; + else if (West == West::Side) + return 2962; + else + return 2963; + else if (West == West::Up) + return 2964; + else if (West == West::Side) + return 2965; + else + return 2966; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 2967; + else if (West == West::Side) + return 2968; + else + return 2969; + else if (South == South::Side) + if (West == West::Up) + return 2970; + else if (West == West::Side) + return 2971; + else + return 2972; + else if (West == West::Up) + return 2973; + else if (West == West::Side) + return 2974; + else + return 2975; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 2976; + else if (West == West::Side) + return 2977; + else + return 2978; + else if (South == South::Side) + if (West == West::Up) + return 2979; + else if (West == West::Side) + return 2980; + else + return 2981; + else if (West == West::Up) + return 2982; + else if (West == West::Side) + return 2983; + else + return 2984; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 2985; + else if (West == West::Side) + return 2986; + else + return 2987; + else if (South == South::Side) + if (West == West::Up) + return 2988; + else if (West == West::Side) + return 2989; + else + return 2990; + else if (West == West::Up) + return 2991; + else if (West == West::Side) + return 2992; + else + return 2993; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 2994; + else if (West == West::Side) + return 2995; + else + return 2996; + else if (South == South::Side) + if (West == West::Up) + return 2997; + else if (West == West::Side) + return 2998; + else + return 2999; + else if (West == West::Up) + return 3000; + else if (West == West::Side) + return 3001; + else + return 3002; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 3003; + else if (West == West::Side) + return 3004; + else + return 3005; + else if (South == South::Side) + if (West == West::Up) + return 3006; + else if (West == West::Side) + return 3007; + else + return 3008; + else if (West == West::Up) + return 3009; + else if (West == West::Side) + return 3010; + else + return 3011; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 3012; + else if (West == West::Side) + return 3013; + else + return 3014; + else if (South == South::Side) + if (West == West::Up) + return 3015; + else if (West == West::Side) + return 3016; + else + return 3017; + else if (West == West::Up) + return 3018; + else if (West == West::Side) + return 3019; + else + return 3020; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 3021; + else if (West == West::Side) + return 3022; + else + return 3023; + else if (South == South::Side) + if (West == West::Up) + return 3024; + else if (West == West::Side) + return 3025; + else + return 3026; + else if (West == West::Up) + return 3027; + else if (West == West::Side) + return 3028; + else + return 3029; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 3030; + else if (West == West::Side) + return 3031; + else + return 3032; + else if (South == South::Side) + if (West == West::Up) + return 3033; + else if (West == West::Side) + return 3034; + else + return 3035; + else if (West == West::Up) + return 3036; + else if (West == West::Side) + return 3037; + else + return 3038; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 3039; + else if (West == West::Side) + return 3040; + else + return 3041; + else if (South == South::Side) + if (West == West::Up) + return 3042; + else if (West == West::Side) + return 3043; + else + return 3044; + else if (West == West::Up) + return 3045; + else if (West == West::Side) + return 3046; + else + return 3047; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 3048; + else if (West == West::Side) + return 3049; + else + return 3050; + else if (South == South::Side) + if (West == West::Up) + return 3051; + else if (West == West::Side) + return 3052; + else + return 3053; + else if (West == West::Up) + return 3054; + else if (West == West::Side) + return 3055; + else + return 3056; + else if (South == South::Up) + if (West == West::Up) + return 3057; + else if (West == West::Side) + return 3058; + else + return 3059; + else if (South == South::Side) + if (West == West::Up) + return 3060; + else if (West == West::Side) + return 3061; + else + return 3062; + else if (West == West::Up) + return 3063; + else if (West == West::Side) + return 3064; + else + return 3065; + else if (North == North::Side) + if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 3066; + else if (West == West::Side) + return 3067; + else + return 3068; + else if (South == South::Side) + if (West == West::Up) + return 3069; + else if (West == West::Side) + return 3070; + else + return 3071; + else if (West == West::Up) + return 3072; + else if (West == West::Side) + return 3073; + else + return 3074; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 3075; + else if (West == West::Side) + return 3076; + else + return 3077; + else if (South == South::Side) + if (West == West::Up) + return 3078; + else if (West == West::Side) + return 3079; + else + return 3080; + else if (West == West::Up) + return 3081; + else if (West == West::Side) + return 3082; + else + return 3083; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 3084; + else if (West == West::Side) + return 3085; + else + return 3086; + else if (South == South::Side) + if (West == West::Up) + return 3087; + else if (West == West::Side) + return 3088; + else + return 3089; + else if (West == West::Up) + return 3090; + else if (West == West::Side) + return 3091; + else + return 3092; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 3093; + else if (West == West::Side) + return 3094; + else + return 3095; + else if (South == South::Side) + if (West == West::Up) + return 3096; + else if (West == West::Side) + return 3097; + else + return 3098; + else if (West == West::Up) + return 3099; + else if (West == West::Side) + return 3100; + else + return 3101; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 3102; + else if (West == West::Side) + return 3103; + else + return 3104; + else if (South == South::Side) + if (West == West::Up) + return 3105; + else if (West == West::Side) + return 3106; + else + return 3107; + else if (West == West::Up) + return 3108; + else if (West == West::Side) + return 3109; + else + return 3110; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 3111; + else if (West == West::Side) + return 3112; + else + return 3113; + else if (South == South::Side) + if (West == West::Up) + return 3114; + else if (West == West::Side) + return 3115; + else + return 3116; + else if (West == West::Up) + return 3117; + else if (West == West::Side) + return 3118; + else + return 3119; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 3120; + else if (West == West::Side) + return 3121; + else + return 3122; + else if (South == South::Side) + if (West == West::Up) + return 3123; + else if (West == West::Side) + return 3124; + else + return 3125; + else if (West == West::Up) + return 3126; + else if (West == West::Side) + return 3127; + else + return 3128; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 3129; + else if (West == West::Side) + return 3130; + else + return 3131; + else if (South == South::Side) + if (West == West::Up) + return 3132; + else if (West == West::Side) + return 3133; + else + return 3134; + else if (West == West::Up) + return 3135; + else if (West == West::Side) + return 3136; + else + return 3137; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 3138; + else if (West == West::Side) + return 3139; + else + return 3140; + else if (South == South::Side) + if (West == West::Up) + return 3141; + else if (West == West::Side) + return 3142; + else + return 3143; + else if (West == West::Up) + return 3144; + else if (West == West::Side) + return 3145; + else + return 3146; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 3147; + else if (West == West::Side) + return 3148; + else + return 3149; + else if (South == South::Side) + if (West == West::Up) + return 3150; + else if (West == West::Side) + return 3151; + else + return 3152; + else if (West == West::Up) + return 3153; + else if (West == West::Side) + return 3154; + else + return 3155; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 3156; + else if (West == West::Side) + return 3157; + else + return 3158; + else if (South == South::Side) + if (West == West::Up) + return 3159; + else if (West == West::Side) + return 3160; + else + return 3161; + else if (West == West::Up) + return 3162; + else if (West == West::Side) + return 3163; + else + return 3164; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 3165; + else if (West == West::Side) + return 3166; + else + return 3167; + else if (South == South::Side) + if (West == West::Up) + return 3168; + else if (West == West::Side) + return 3169; + else + return 3170; + else if (West == West::Up) + return 3171; + else if (West == West::Side) + return 3172; + else + return 3173; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 3174; + else if (West == West::Side) + return 3175; + else + return 3176; + else if (South == South::Side) + if (West == West::Up) + return 3177; + else if (West == West::Side) + return 3178; + else + return 3179; + else if (West == West::Up) + return 3180; + else if (West == West::Side) + return 3181; + else + return 3182; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 3183; + else if (West == West::Side) + return 3184; + else + return 3185; + else if (South == South::Side) + if (West == West::Up) + return 3186; + else if (West == West::Side) + return 3187; + else + return 3188; + else if (West == West::Up) + return 3189; + else if (West == West::Side) + return 3190; + else + return 3191; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 3192; + else if (West == West::Side) + return 3193; + else + return 3194; + else if (South == South::Side) + if (West == West::Up) + return 3195; + else if (West == West::Side) + return 3196; + else + return 3197; + else if (West == West::Up) + return 3198; + else if (West == West::Side) + return 3199; + else + return 3200; + else if (South == South::Up) + if (West == West::Up) + return 3201; + else if (West == West::Side) + return 3202; + else + return 3203; + else if (South == South::Side) + if (West == West::Up) + return 3204; + else if (West == West::Side) + return 3205; + else + return 3206; + else if (West == West::Up) + return 3207; + else if (West == West::Side) + return 3208; + else + return 3209; + else if (Power == 0) + if (South == South::Up) + if (West == West::Up) + return 3210; + else if (West == West::Side) + return 3211; + else + return 3212; + else if (South == South::Side) + if (West == West::Up) + return 3213; + else if (West == West::Side) + return 3214; + else + return 3215; + else if (West == West::Up) + return 3216; + else if (West == West::Side) + return 3217; + else + return 3218; + else if (Power == 1) + if (South == South::Up) + if (West == West::Up) + return 3219; + else if (West == West::Side) + return 3220; + else + return 3221; + else if (South == South::Side) + if (West == West::Up) + return 3222; + else if (West == West::Side) + return 3223; + else + return 3224; + else if (West == West::Up) + return 3225; + else if (West == West::Side) + return 3226; + else + return 3227; + else if (Power == 2) + if (South == South::Up) + if (West == West::Up) + return 3228; + else if (West == West::Side) + return 3229; + else + return 3230; + else if (South == South::Side) + if (West == West::Up) + return 3231; + else if (West == West::Side) + return 3232; + else + return 3233; + else if (West == West::Up) + return 3234; + else if (West == West::Side) + return 3235; + else + return 3236; + else if (Power == 3) + if (South == South::Up) + if (West == West::Up) + return 3237; + else if (West == West::Side) + return 3238; + else + return 3239; + else if (South == South::Side) + if (West == West::Up) + return 3240; + else if (West == West::Side) + return 3241; + else + return 3242; + else if (West == West::Up) + return 3243; + else if (West == West::Side) + return 3244; + else + return 3245; + else if (Power == 4) + if (South == South::Up) + if (West == West::Up) + return 3246; + else if (West == West::Side) + return 3247; + else + return 3248; + else if (South == South::Side) + if (West == West::Up) + return 3249; + else if (West == West::Side) + return 3250; + else + return 3251; + else if (West == West::Up) + return 3252; + else if (West == West::Side) + return 3253; + else + return 3254; + else if (Power == 5) + if (South == South::Up) + if (West == West::Up) + return 3255; + else if (West == West::Side) + return 3256; + else + return 3257; + else if (South == South::Side) + if (West == West::Up) + return 3258; + else if (West == West::Side) + return 3259; + else + return 3260; + else if (West == West::Up) + return 3261; + else if (West == West::Side) + return 3262; + else + return 3263; + else if (Power == 6) + if (South == South::Up) + if (West == West::Up) + return 3264; + else if (West == West::Side) + return 3265; + else + return 3266; + else if (South == South::Side) + if (West == West::Up) + return 3267; + else if (West == West::Side) + return 3268; + else + return 3269; + else if (West == West::Up) + return 3270; + else if (West == West::Side) + return 3271; + else + return 3272; + else if (Power == 7) + if (South == South::Up) + if (West == West::Up) + return 3273; + else if (West == West::Side) + return 3274; + else + return 3275; + else if (South == South::Side) + if (West == West::Up) + return 3276; + else if (West == West::Side) + return 3277; + else + return 3278; + else if (West == West::Up) + return 3279; + else if (West == West::Side) + return 3280; + else + return 3281; + else if (Power == 8) + if (South == South::Up) + if (West == West::Up) + return 3282; + else if (West == West::Side) + return 3283; + else + return 3284; + else if (South == South::Side) + if (West == West::Up) + return 3285; + else if (West == West::Side) + return 3286; + else + return 3287; + else if (West == West::Up) + return 3288; + else if (West == West::Side) + return 3289; + else + return 3290; + else if (Power == 9) + if (South == South::Up) + if (West == West::Up) + return 3291; + else if (West == West::Side) + return 3292; + else + return 3293; + else if (South == South::Side) + if (West == West::Up) + return 3294; + else if (West == West::Side) + return 3295; + else + return 3296; + else if (West == West::Up) + return 3297; + else if (West == West::Side) + return 3298; + else + return 3299; + else if (Power == 10) + if (South == South::Up) + if (West == West::Up) + return 3300; + else if (West == West::Side) + return 3301; + else + return 3302; + else if (South == South::Side) + if (West == West::Up) + return 3303; + else if (West == West::Side) + return 3304; + else + return 3305; + else if (West == West::Up) + return 3306; + else if (West == West::Side) + return 3307; + else + return 3308; + else if (Power == 11) + if (South == South::Up) + if (West == West::Up) + return 3309; + else if (West == West::Side) + return 3310; + else + return 3311; + else if (South == South::Side) + if (West == West::Up) + return 3312; + else if (West == West::Side) + return 3313; + else + return 3314; + else if (West == West::Up) + return 3315; + else if (West == West::Side) + return 3316; + else + return 3317; + else if (Power == 12) + if (South == South::Up) + if (West == West::Up) + return 3318; + else if (West == West::Side) + return 3319; + else + return 3320; + else if (South == South::Side) + if (West == West::Up) + return 3321; + else if (West == West::Side) + return 3322; + else + return 3323; + else if (West == West::Up) + return 3324; + else if (West == West::Side) + return 3325; + else + return 3326; + else if (Power == 13) + if (South == South::Up) + if (West == West::Up) + return 3327; + else if (West == West::Side) + return 3328; + else + return 3329; + else if (South == South::Side) + if (West == West::Up) + return 3330; + else if (West == West::Side) + return 3331; + else + return 3332; + else if (West == West::Up) + return 3333; + else if (West == West::Side) + return 3334; + else + return 3335; + else if (Power == 14) + if (South == South::Up) + if (West == West::Up) + return 3336; + else if (West == West::Side) + return 3337; + else + return 3338; + else if (South == South::Side) + if (West == West::Up) + return 3339; + else if (West == West::Side) + return 3340; + else + return 3341; + else if (West == West::Up) + return 3342; + else if (West == West::Side) + return 3343; + else + return 3344; + else if (South == South::Up) + if (West == West::Up) + return 3345; + else if (West == West::Side) + return 3346; + else + return 3347; + else if (South == South::Side) + if (West == West::Up) + return 3348; + else if (West == West::Side) + return 3349; + else + return 3350; + else if (West == West::Up) + return 3351; + else if (West == West::Side) + return 3352; + else + return 3353; +} +BlockState RedstoneWire(); +enum East East(BlockState Block); +enum North North(BlockState Block); +unsigned char Power(BlockState Block); +enum South South(BlockState Block); +enum West West(BlockState Block); +} // namespace RedstoneWire +namespace Repeater +{ +constexpr BlockState Repeater(const unsigned char Delay, const eBlockFace Facing, const bool Locked, const bool Powered) +{ + if (Delay == 1) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Locked) + if (Powered) + return 4031; + else + return 4032; + else if (Powered) + return 4033; + else + return 4034; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Locked) + if (Powered) + return 4035; + else + return 4036; + else if (Powered) + return 4037; + else + return 4038; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Locked) + if (Powered) + return 4039; + else + return 4040; + else if (Powered) + return 4041; + else + return 4042; + else if (Locked) + if (Powered) + return 4043; + else + return 4044; + else if (Powered) + return 4045; + else + return 4046; + else if (Delay == 2) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Locked) + if (Powered) + return 4047; + else + return 4048; + else if (Powered) + return 4049; + else + return 4050; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Locked) + if (Powered) + return 4051; + else + return 4052; + else if (Powered) + return 4053; + else + return 4054; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Locked) + if (Powered) + return 4055; + else + return 4056; + else if (Powered) + return 4057; + else + return 4058; + else if (Locked) + if (Powered) + return 4059; + else + return 4060; + else if (Powered) + return 4061; + else + return 4062; + else if (Delay == 3) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Locked) + if (Powered) + return 4063; + else + return 4064; + else if (Powered) + return 4065; + else + return 4066; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Locked) + if (Powered) + return 4067; + else + return 4068; + else if (Powered) + return 4069; + else + return 4070; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Locked) + if (Powered) + return 4071; + else + return 4072; + else if (Powered) + return 4073; + else + return 4074; + else if (Locked) + if (Powered) + return 4075; + else + return 4076; + else if (Powered) + return 4077; + else + return 4078; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Locked) + if (Powered) + return 4079; + else + return 4080; + else if (Powered) + return 4081; + else + return 4082; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Locked) + if (Powered) + return 4083; + else + return 4084; + else if (Powered) + return 4085; + else + return 4086; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Locked) + if (Powered) + return 4087; + else + return 4088; + else if (Powered) + return 4089; + else + return 4090; + else if (Locked) + if (Powered) + return 4091; + else + return 4092; + else if (Powered) + return 4093; + else + return 4094; +} +BlockState Repeater(); +unsigned char Delay(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Locked(BlockState Block); +bool Powered(BlockState Block); +} // namespace Repeater +namespace RepeatingCommandBlock +{ +constexpr BlockState RepeatingCommandBlock(const bool Conditional, const eBlockFace Facing) +{ + if (Conditional) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9225; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9226; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9227; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9228; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9229; + else + return 9230; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9231; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9232; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9233; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9234; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9235; + else + return 9236; +} +BlockState RepeatingCommandBlock(); +bool Conditional(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace RepeatingCommandBlock +namespace RespawnAnchor +{ +constexpr BlockState RespawnAnchor(const unsigned char Charges) +{ + if (Charges == 0) + return 15829; + else if (Charges == 1) + return 15830; + else if (Charges == 2) + return 15831; + else if (Charges == 3) + return 15832; + else + return 15833; +} +BlockState RespawnAnchor(); +unsigned char Charges(BlockState Block); +} // namespace RespawnAnchor +namespace RoseBush +{ +enum class Half +{ + Upper, + Lower +}; +constexpr BlockState RoseBush(const enum Half Half) +{ + if (Half == Half::Upper) + return 7889; + else + return 7890; +} +BlockState RoseBush(); +enum Half Half(BlockState Block); +} // namespace RoseBush +namespace Sand +{ +constexpr BlockState Sand() +{ + return 66; +} +} // namespace Sand +namespace Sandstone +{ +constexpr BlockState Sandstone() +{ + return 246; +} +} // namespace Sandstone +namespace SandstoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState SandstoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8349; + else if (Type == Type::Bottom) + return 8351; + else + return 8353; +} +BlockState SandstoneSlab(); +enum Type Type(BlockState Block); +} // namespace SandstoneSlab +namespace SandstoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState SandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5171; + else if (Shape == Shape::InnerLeft) + return 5173; + else if (Shape == Shape::InnerRight) + return 5175; + else if (Shape == Shape::OuterLeft) + return 5177; + else + return 5179; + else if (Shape == Shape::Straight) + return 5181; + else if (Shape == Shape::InnerLeft) + return 5183; + else if (Shape == Shape::InnerRight) + return 5185; + else if (Shape == Shape::OuterLeft) + return 5187; + else + return 5189; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5191; + else if (Shape == Shape::InnerLeft) + return 5193; + else if (Shape == Shape::InnerRight) + return 5195; + else if (Shape == Shape::OuterLeft) + return 5197; + else + return 5199; + else if (Shape == Shape::Straight) + return 5201; + else if (Shape == Shape::InnerLeft) + return 5203; + else if (Shape == Shape::InnerRight) + return 5205; + else if (Shape == Shape::OuterLeft) + return 5207; + else + return 5209; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5211; + else if (Shape == Shape::InnerLeft) + return 5213; + else if (Shape == Shape::InnerRight) + return 5215; + else if (Shape == Shape::OuterLeft) + return 5217; + else + return 5219; + else if (Shape == Shape::Straight) + return 5221; + else if (Shape == Shape::InnerLeft) + return 5223; + else if (Shape == Shape::InnerRight) + return 5225; + else if (Shape == Shape::OuterLeft) + return 5227; + else + return 5229; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5231; + else if (Shape == Shape::InnerLeft) + return 5233; + else if (Shape == Shape::InnerRight) + return 5235; + else if (Shape == Shape::OuterLeft) + return 5237; + else + return 5239; + else if (Shape == Shape::Straight) + return 5241; + else if (Shape == Shape::InnerLeft) + return 5243; + else if (Shape == Shape::InnerRight) + return 5245; + else if (Shape == Shape::OuterLeft) + return 5247; + else + return 5249; +} +BlockState SandstoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace SandstoneStairs +namespace SandstoneWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState SandstoneWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13786; + else if (West == West::Low) + return 13787; + else + return 13788; + else if (West == West::None) + return 13792; + else if (West == West::Low) + return 13793; + else + return 13794; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13798; + else if (West == West::Low) + return 13799; + else + return 13800; + else if (West == West::None) + return 13804; + else if (West == West::Low) + return 13805; + else + return 13806; + else if (Up) + if (West == West::None) + return 13810; + else if (West == West::Low) + return 13811; + else + return 13812; + else if (West == West::None) + return 13816; + else if (West == West::Low) + return 13817; + else + return 13818; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13822; + else if (West == West::Low) + return 13823; + else + return 13824; + else if (West == West::None) + return 13828; + else if (West == West::Low) + return 13829; + else + return 13830; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13834; + else if (West == West::Low) + return 13835; + else + return 13836; + else if (West == West::None) + return 13840; + else if (West == West::Low) + return 13841; + else + return 13842; + else if (Up) + if (West == West::None) + return 13846; + else if (West == West::Low) + return 13847; + else + return 13848; + else if (West == West::None) + return 13852; + else if (West == West::Low) + return 13853; + else + return 13854; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13858; + else if (West == West::Low) + return 13859; + else + return 13860; + else if (West == West::None) + return 13864; + else if (West == West::Low) + return 13865; + else + return 13866; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13870; + else if (West == West::Low) + return 13871; + else + return 13872; + else if (West == West::None) + return 13876; + else if (West == West::Low) + return 13877; + else + return 13878; + else if (Up) + if (West == West::None) + return 13882; + else if (West == West::Low) + return 13883; + else + return 13884; + else if (West == West::None) + return 13888; + else if (West == West::Low) + return 13889; + else + return 13890; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 13894; + else if (West == West::Low) + return 13895; + else + return 13896; + else if (West == West::None) + return 13900; + else if (West == West::Low) + return 13901; + else + return 13902; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13906; + else if (West == West::Low) + return 13907; + else + return 13908; + else if (West == West::None) + return 13912; + else if (West == West::Low) + return 13913; + else + return 13914; + else if (Up) + if (West == West::None) + return 13918; + else if (West == West::Low) + return 13919; + else + return 13920; + else if (West == West::None) + return 13924; + else if (West == West::Low) + return 13925; + else + return 13926; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 13930; + else if (West == West::Low) + return 13931; + else + return 13932; + else if (West == West::None) + return 13936; + else if (West == West::Low) + return 13937; + else + return 13938; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13942; + else if (West == West::Low) + return 13943; + else + return 13944; + else if (West == West::None) + return 13948; + else if (West == West::Low) + return 13949; + else + return 13950; + else if (Up) + if (West == West::None) + return 13954; + else if (West == West::Low) + return 13955; + else + return 13956; + else if (West == West::None) + return 13960; + else if (West == West::Low) + return 13961; + else + return 13962; + else if (South == South::None) + if (Up) + if (West == West::None) + return 13966; + else if (West == West::Low) + return 13967; + else + return 13968; + else if (West == West::None) + return 13972; + else if (West == West::Low) + return 13973; + else + return 13974; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 13978; + else if (West == West::Low) + return 13979; + else + return 13980; + else if (West == West::None) + return 13984; + else if (West == West::Low) + return 13985; + else + return 13986; + else if (Up) + if (West == West::None) + return 13990; + else if (West == West::Low) + return 13991; + else + return 13992; + else if (West == West::None) + return 13996; + else if (West == West::Low) + return 13997; + else + return 13998; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 14002; + else if (West == West::Low) + return 14003; + else + return 14004; + else if (West == West::None) + return 14008; + else if (West == West::Low) + return 14009; + else + return 14010; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14014; + else if (West == West::Low) + return 14015; + else + return 14016; + else if (West == West::None) + return 14020; + else if (West == West::Low) + return 14021; + else + return 14022; + else if (Up) + if (West == West::None) + return 14026; + else if (West == West::Low) + return 14027; + else + return 14028; + else if (West == West::None) + return 14032; + else if (West == West::Low) + return 14033; + else + return 14034; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 14038; + else if (West == West::Low) + return 14039; + else + return 14040; + else if (West == West::None) + return 14044; + else if (West == West::Low) + return 14045; + else + return 14046; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14050; + else if (West == West::Low) + return 14051; + else + return 14052; + else if (West == West::None) + return 14056; + else if (West == West::Low) + return 14057; + else + return 14058; + else if (Up) + if (West == West::None) + return 14062; + else if (West == West::Low) + return 14063; + else + return 14064; + else if (West == West::None) + return 14068; + else if (West == West::Low) + return 14069; + else + return 14070; + else if (South == South::None) + if (Up) + if (West == West::None) + return 14074; + else if (West == West::Low) + return 14075; + else + return 14076; + else if (West == West::None) + return 14080; + else if (West == West::Low) + return 14081; + else + return 14082; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 14086; + else if (West == West::Low) + return 14087; + else + return 14088; + else if (West == West::None) + return 14092; + else if (West == West::Low) + return 14093; + else + return 14094; + else if (Up) + if (West == West::None) + return 14098; + else if (West == West::Low) + return 14099; + else + return 14100; + else if (West == West::None) + return 14104; + else if (West == West::Low) + return 14105; + else + return 14106; +} +BlockState SandstoneWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace SandstoneWall +namespace Scaffolding +{ +constexpr BlockState Scaffolding(const bool Bottom, const unsigned char Distance) +{ + if (Bottom) + if (Distance == 0) + return 14756; + else if (Distance == 1) + return 14758; + else if (Distance == 2) + return 14760; + else if (Distance == 3) + return 14762; + else if (Distance == 4) + return 14764; + else if (Distance == 5) + return 14766; + else if (Distance == 6) + return 14768; + else + return 14770; + else if (Distance == 0) + return 14772; + else if (Distance == 1) + return 14774; + else if (Distance == 2) + return 14776; + else if (Distance == 3) + return 14778; + else if (Distance == 4) + return 14780; + else if (Distance == 5) + return 14782; + else if (Distance == 6) + return 14784; + else + return 14786; +} +BlockState Scaffolding(); +bool Bottom(BlockState Block); +unsigned char Distance(BlockState Block); +} // namespace Scaffolding +namespace SeaLantern +{ +constexpr BlockState SeaLantern() +{ + return 7862; +} +} // namespace SeaLantern +namespace SeaPickle +{ +constexpr BlockState SeaPickle(const unsigned char Pickles) +{ + if (Pickles == 1) + return 9641; + else if (Pickles == 2) + return 9643; + else if (Pickles == 3) + return 9645; + else + return 9647; +} +BlockState SeaPickle(); +unsigned char Pickles(BlockState Block); +} // namespace SeaPickle +namespace Seagrass +{ +constexpr BlockState Seagrass() +{ + return 1345; +} +} // namespace Seagrass +namespace Shroomlight +{ +constexpr BlockState Shroomlight() +{ + return 14989; +} +} // namespace Shroomlight +namespace ShulkerBox +{ +constexpr BlockState ShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9272; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9273; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9274; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9275; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9276; + else + return 9277; +} +BlockState ShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace ShulkerBox +namespace SkeletonSkull +{ +constexpr BlockState SkeletonSkull(const unsigned char Rotation) +{ + if (Rotation == 0) + return 6490; + else if (Rotation == 1) + return 6491; + else if (Rotation == 2) + return 6492; + else if (Rotation == 3) + return 6493; + else if (Rotation == 4) + return 6494; + else if (Rotation == 5) + return 6495; + else if (Rotation == 6) + return 6496; + else if (Rotation == 7) + return 6497; + else if (Rotation == 8) + return 6498; + else if (Rotation == 9) + return 6499; + else if (Rotation == 10) + return 6500; + else if (Rotation == 11) + return 6501; + else if (Rotation == 12) + return 6502; + else if (Rotation == 13) + return 6503; + else if (Rotation == 14) + return 6504; + else + return 6505; +} +BlockState SkeletonSkull(); +unsigned char Rotation(BlockState Block); +} // namespace SkeletonSkull +namespace SkeletonWallSkull +{ +constexpr BlockState SkeletonWallSkull(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6506; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6507; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6508; + else + return 6509; +} +BlockState SkeletonWallSkull(); +eBlockFace Facing(BlockState Block); +} // namespace SkeletonWallSkull +namespace SlimeBlock +{ +constexpr BlockState SlimeBlock() +{ + return 7535; +} +} // namespace SlimeBlock +namespace SmithingTable +{ +constexpr BlockState SmithingTable() +{ + return 14849; +} +} // namespace SmithingTable +namespace Smoker +{ +constexpr BlockState Smoker(const eBlockFace Facing, const bool Lit) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Lit) + return 14803; + else + return 14804; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Lit) + return 14805; + else + return 14806; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Lit) + return 14807; + else + return 14808; + else if (Lit) + return 14809; + else + return 14810; +} +BlockState Smoker(); +eBlockFace Facing(BlockState Block); +bool Lit(BlockState Block); +} // namespace Smoker +namespace SmoothQuartz +{ +constexpr BlockState SmoothQuartz() +{ + return 8416; +} +} // namespace SmoothQuartz +namespace SmoothQuartzSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState SmoothQuartzSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10832; + else if (Type == Type::Bottom) + return 10834; + else + return 10836; +} +BlockState SmoothQuartzSlab(); +enum Type Type(BlockState Block); +} // namespace SmoothQuartzSlab +namespace SmoothQuartzStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState SmoothQuartzStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10310; + else if (Shape == Shape::InnerLeft) + return 10312; + else if (Shape == Shape::InnerRight) + return 10314; + else if (Shape == Shape::OuterLeft) + return 10316; + else + return 10318; + else if (Shape == Shape::Straight) + return 10320; + else if (Shape == Shape::InnerLeft) + return 10322; + else if (Shape == Shape::InnerRight) + return 10324; + else if (Shape == Shape::OuterLeft) + return 10326; + else + return 10328; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10330; + else if (Shape == Shape::InnerLeft) + return 10332; + else if (Shape == Shape::InnerRight) + return 10334; + else if (Shape == Shape::OuterLeft) + return 10336; + else + return 10338; + else if (Shape == Shape::Straight) + return 10340; + else if (Shape == Shape::InnerLeft) + return 10342; + else if (Shape == Shape::InnerRight) + return 10344; + else if (Shape == Shape::OuterLeft) + return 10346; + else + return 10348; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10350; + else if (Shape == Shape::InnerLeft) + return 10352; + else if (Shape == Shape::InnerRight) + return 10354; + else if (Shape == Shape::OuterLeft) + return 10356; + else + return 10358; + else if (Shape == Shape::Straight) + return 10360; + else if (Shape == Shape::InnerLeft) + return 10362; + else if (Shape == Shape::InnerRight) + return 10364; + else if (Shape == Shape::OuterLeft) + return 10366; + else + return 10368; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10370; + else if (Shape == Shape::InnerLeft) + return 10372; + else if (Shape == Shape::InnerRight) + return 10374; + else if (Shape == Shape::OuterLeft) + return 10376; + else + return 10378; + else if (Shape == Shape::Straight) + return 10380; + else if (Shape == Shape::InnerLeft) + return 10382; + else if (Shape == Shape::InnerRight) + return 10384; + else if (Shape == Shape::OuterLeft) + return 10386; + else + return 10388; +} +BlockState SmoothQuartzStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace SmoothQuartzStairs +namespace SmoothRedSandstone +{ +constexpr BlockState SmoothRedSandstone() +{ + return 8417; +} +} // namespace SmoothRedSandstone +namespace SmoothRedSandstoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState SmoothRedSandstoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10796; + else if (Type == Type::Bottom) + return 10798; + else + return 10800; +} +BlockState SmoothRedSandstoneSlab(); +enum Type Type(BlockState Block); +} // namespace SmoothRedSandstoneSlab +namespace SmoothRedSandstoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState SmoothRedSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9750; + else if (Shape == Shape::InnerLeft) + return 9752; + else if (Shape == Shape::InnerRight) + return 9754; + else if (Shape == Shape::OuterLeft) + return 9756; + else + return 9758; + else if (Shape == Shape::Straight) + return 9760; + else if (Shape == Shape::InnerLeft) + return 9762; + else if (Shape == Shape::InnerRight) + return 9764; + else if (Shape == Shape::OuterLeft) + return 9766; + else + return 9768; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9770; + else if (Shape == Shape::InnerLeft) + return 9772; + else if (Shape == Shape::InnerRight) + return 9774; + else if (Shape == Shape::OuterLeft) + return 9776; + else + return 9778; + else if (Shape == Shape::Straight) + return 9780; + else if (Shape == Shape::InnerLeft) + return 9782; + else if (Shape == Shape::InnerRight) + return 9784; + else if (Shape == Shape::OuterLeft) + return 9786; + else + return 9788; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9790; + else if (Shape == Shape::InnerLeft) + return 9792; + else if (Shape == Shape::InnerRight) + return 9794; + else if (Shape == Shape::OuterLeft) + return 9796; + else + return 9798; + else if (Shape == Shape::Straight) + return 9800; + else if (Shape == Shape::InnerLeft) + return 9802; + else if (Shape == Shape::InnerRight) + return 9804; + else if (Shape == Shape::OuterLeft) + return 9806; + else + return 9808; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 9810; + else if (Shape == Shape::InnerLeft) + return 9812; + else if (Shape == Shape::InnerRight) + return 9814; + else if (Shape == Shape::OuterLeft) + return 9816; + else + return 9818; + else if (Shape == Shape::Straight) + return 9820; + else if (Shape == Shape::InnerLeft) + return 9822; + else if (Shape == Shape::InnerRight) + return 9824; + else if (Shape == Shape::OuterLeft) + return 9826; + else + return 9828; +} +BlockState SmoothRedSandstoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace SmoothRedSandstoneStairs +namespace SmoothSandstone +{ +constexpr BlockState SmoothSandstone() +{ + return 8415; +} +} // namespace SmoothSandstone +namespace SmoothSandstoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState SmoothSandstoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 10826; + else if (Type == Type::Bottom) + return 10828; + else + return 10830; +} +BlockState SmoothSandstoneSlab(); +enum Type Type(BlockState Block); +} // namespace SmoothSandstoneSlab +namespace SmoothSandstoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState SmoothSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10230; + else if (Shape == Shape::InnerLeft) + return 10232; + else if (Shape == Shape::InnerRight) + return 10234; + else if (Shape == Shape::OuterLeft) + return 10236; + else + return 10238; + else if (Shape == Shape::Straight) + return 10240; + else if (Shape == Shape::InnerLeft) + return 10242; + else if (Shape == Shape::InnerRight) + return 10244; + else if (Shape == Shape::OuterLeft) + return 10246; + else + return 10248; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10250; + else if (Shape == Shape::InnerLeft) + return 10252; + else if (Shape == Shape::InnerRight) + return 10254; + else if (Shape == Shape::OuterLeft) + return 10256; + else + return 10258; + else if (Shape == Shape::Straight) + return 10260; + else if (Shape == Shape::InnerLeft) + return 10262; + else if (Shape == Shape::InnerRight) + return 10264; + else if (Shape == Shape::OuterLeft) + return 10266; + else + return 10268; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10270; + else if (Shape == Shape::InnerLeft) + return 10272; + else if (Shape == Shape::InnerRight) + return 10274; + else if (Shape == Shape::OuterLeft) + return 10276; + else + return 10278; + else if (Shape == Shape::Straight) + return 10280; + else if (Shape == Shape::InnerLeft) + return 10282; + else if (Shape == Shape::InnerRight) + return 10284; + else if (Shape == Shape::OuterLeft) + return 10286; + else + return 10288; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10290; + else if (Shape == Shape::InnerLeft) + return 10292; + else if (Shape == Shape::InnerRight) + return 10294; + else if (Shape == Shape::OuterLeft) + return 10296; + else + return 10298; + else if (Shape == Shape::Straight) + return 10300; + else if (Shape == Shape::InnerLeft) + return 10302; + else if (Shape == Shape::InnerRight) + return 10304; + else if (Shape == Shape::OuterLeft) + return 10306; + else + return 10308; +} +BlockState SmoothSandstoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace SmoothSandstoneStairs +namespace SmoothStone +{ +constexpr BlockState SmoothStone() +{ + return 8414; +} +} // namespace SmoothStone +namespace SmoothStoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState SmoothStoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8343; + else if (Type == Type::Bottom) + return 8345; + else + return 8347; +} +BlockState SmoothStoneSlab(); +enum Type Type(BlockState Block); +} // namespace SmoothStoneSlab +namespace Snow +{ +constexpr BlockState Snow(const unsigned char Layers) +{ + if (Layers == 1) + return 3921; + else if (Layers == 2) + return 3922; + else if (Layers == 3) + return 3923; + else if (Layers == 4) + return 3924; + else if (Layers == 5) + return 3925; + else if (Layers == 6) + return 3926; + else if (Layers == 7) + return 3927; + else + return 3928; +} +BlockState Snow(); +unsigned char Layers(BlockState Block); +} // namespace Snow +namespace SnowBlock +{ +constexpr BlockState SnowBlock() +{ + return 3930; +} +} // namespace SnowBlock +namespace SoulCampfire +{ +constexpr BlockState SoulCampfire(const eBlockFace Facing, const bool Lit, const bool SignalFire) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Lit) + if (SignalFire) + return 14923; + else + return 14925; + else if (SignalFire) + return 14927; + else + return 14929; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Lit) + if (SignalFire) + return 14931; + else + return 14933; + else if (SignalFire) + return 14935; + else + return 14937; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Lit) + if (SignalFire) + return 14939; + else + return 14941; + else if (SignalFire) + return 14943; + else + return 14945; + else if (Lit) + if (SignalFire) + return 14947; + else + return 14949; + else if (SignalFire) + return 14951; + else + return 14953; +} +BlockState SoulCampfire(); +eBlockFace Facing(BlockState Block); +bool Lit(BlockState Block); +bool SignalFire(BlockState Block); +} // namespace SoulCampfire +namespace SoulFire +{ +constexpr BlockState SoulFire() +{ + return 1952; +} +} // namespace SoulFire +namespace SoulLantern +{ +constexpr BlockState SoulLantern(const bool Hanging) +{ + if (Hanging) + return 14888; + else + return 14889; +} +BlockState SoulLantern(); +bool Hanging(BlockState Block); +} // namespace SoulLantern +namespace SoulSand +{ +constexpr BlockState SoulSand() +{ + return 4000; +} +} // namespace SoulSand +namespace SoulSoil +{ +constexpr BlockState SoulSoil() +{ + return 4001; +} +} // namespace SoulSoil +namespace SoulTorch +{ +constexpr BlockState SoulTorch() +{ + return 4008; +} +} // namespace SoulTorch +namespace SoulWallTorch +{ +constexpr BlockState SoulWallTorch(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 4009; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 4010; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 4011; + else + return 4012; +} +BlockState SoulWallTorch(); +eBlockFace Facing(BlockState Block); +} // namespace SoulWallTorch +namespace Spawner +{ +constexpr BlockState Spawner() +{ + return 1953; +} +} // namespace Spawner +namespace Sponge +{ +constexpr BlockState Sponge() +{ + return 229; +} +} // namespace Sponge +namespace SpruceButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState SpruceButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6370; else - if (East) - if (North) - if (South) - if (Up) - if (West) return 1920; - else return 1921; - else - if (West) return 1922; - else return 1923; - else - if (Up) - if (West) return 1924; - else return 1925; - else - if (West) return 1926; - else return 1927; - else - if (South) - if (Up) - if (West) return 1928; - else return 1929; - else - if (West) return 1930; - else return 1931; - else - if (Up) - if (West) return 1932; - else return 1933; - else - if (West) return 1934; - else return 1935; - else - if (North) - if (South) - if (Up) - if (West) return 1936; - else return 1937; - else - if (West) return 1938; - else return 1939; - else - if (Up) - if (West) return 1940; - else return 1941; - else - if (West) return 1942; - else return 1943; - else - if (South) - if (Up) - if (West) return 1944; - else return 1945; - else - if (West) return 1946; - else return 1947; - else - if (Up) - if (West) return 1948; - else return 1949; - else - if (West) return 1950; - else return 1951; - } - BlockState Fire(); - unsigned char Age(BlockState Block); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool Up(BlockState Block); - bool West(BlockState Block); - } - namespace FireCoral - { - constexpr BlockState FireCoral() - { - return 9537; - } - } - namespace FireCoralBlock - { - constexpr BlockState FireCoralBlock() - { - return 9518; - } - } - namespace FireCoralFan - { - constexpr BlockState FireCoralFan() - { - return 9557; - } - } - namespace FireCoralWallFan - { - constexpr BlockState FireCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9625; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9627; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9629; - else return 9631; - } - BlockState FireCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace FletchingTable - { - constexpr BlockState FletchingTable() - { - return 14820; - } - } - namespace FlowerPot - { - constexpr BlockState FlowerPot() - { - return 6305; - } - } - namespace FrostedIce - { - constexpr BlockState FrostedIce(const unsigned char Age) - { - if (Age == 0) return 9249; - else if (Age == 1) return 9250; - else if (Age == 2) return 9251; - else return 9252; - } - BlockState FrostedIce(); - unsigned char Age(BlockState Block); - } - namespace Furnace - { - constexpr BlockState Furnace(const eBlockFace Facing, const bool Lit) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Lit) return 3373; - else return 3374; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Lit) return 3375; - else return 3376; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Lit) return 3377; - else return 3378; - else - if (Lit) return 3379; - else return 3380; - } - BlockState Furnace(); - eBlockFace Facing(BlockState Block); - bool Lit(BlockState Block); - } - namespace GildedBlackstone - { - constexpr BlockState GildedBlackstone() - { - return 16664; - } - } - namespace Glass - { - constexpr BlockState Glass() - { - return 231; - } - } - namespace GlassPane - { - constexpr BlockState GlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 4733; - else return 4734; - else - if (West) return 4737; - else return 4738; - else - if (South) - if (West) return 4741; - else return 4742; - else - if (West) return 4745; - else return 4746; + return 6371; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6372; else - if (North) - if (South) - if (West) return 4749; - else return 4750; - else - if (West) return 4753; - else return 4754; - else - if (South) - if (West) return 4757; - else return 4758; - else - if (West) return 4761; - else return 4762; - } - BlockState GlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace Glowstone - { - constexpr BlockState Glowstone() - { - return 4013; - } - } - namespace GoldBlock - { - constexpr BlockState GoldBlock() - { - return 1427; - } - } - namespace GoldOre - { - constexpr BlockState GoldOre() - { - return 69; - } - } - namespace Granite - { - constexpr BlockState Granite() - { - return 2; - } - } - namespace GraniteSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState GraniteSlab(const enum Type Type) - { - if (Type == Type::Top) return 10838; - else if (Type == Type::Bottom) return 10840; - else return 10842; - } - BlockState GraniteSlab(); - enum Type Type(BlockState Block); - } - namespace GraniteStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState GraniteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10390; - else if (Shape == Shape::InnerLeft) return 10392; - else if (Shape == Shape::InnerRight) return 10394; - else if (Shape == Shape::OuterLeft) return 10396; - else return 10398; - else - if (Shape == Shape::Straight) return 10400; - else if (Shape == Shape::InnerLeft) return 10402; - else if (Shape == Shape::InnerRight) return 10404; - else if (Shape == Shape::OuterLeft) return 10406; - else return 10408; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10410; - else if (Shape == Shape::InnerLeft) return 10412; - else if (Shape == Shape::InnerRight) return 10414; - else if (Shape == Shape::OuterLeft) return 10416; - else return 10418; - else - if (Shape == Shape::Straight) return 10420; - else if (Shape == Shape::InnerLeft) return 10422; - else if (Shape == Shape::InnerRight) return 10424; - else if (Shape == Shape::OuterLeft) return 10426; - else return 10428; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10430; - else if (Shape == Shape::InnerLeft) return 10432; - else if (Shape == Shape::InnerRight) return 10434; - else if (Shape == Shape::OuterLeft) return 10436; - else return 10438; - else - if (Shape == Shape::Straight) return 10440; - else if (Shape == Shape::InnerLeft) return 10442; - else if (Shape == Shape::InnerRight) return 10444; - else if (Shape == Shape::OuterLeft) return 10446; - else return 10448; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10450; - else if (Shape == Shape::InnerLeft) return 10452; - else if (Shape == Shape::InnerRight) return 10454; - else if (Shape == Shape::OuterLeft) return 10456; - else return 10458; - else - if (Shape == Shape::Straight) return 10460; - else if (Shape == Shape::InnerLeft) return 10462; - else if (Shape == Shape::InnerRight) return 10464; - else if (Shape == Shape::OuterLeft) return 10466; - else return 10468; - } - BlockState GraniteStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace GraniteWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState GraniteWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12166; - else if (West == West::Low) return 12167; - else return 12168; - else - if (West == West::None) return 12172; - else if (West == West::Low) return 12173; - else return 12174; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12178; - else if (West == West::Low) return 12179; - else return 12180; - else - if (West == West::None) return 12184; - else if (West == West::Low) return 12185; - else return 12186; - else - if (Up) - if (West == West::None) return 12190; - else if (West == West::Low) return 12191; - else return 12192; - else - if (West == West::None) return 12196; - else if (West == West::Low) return 12197; - else return 12198; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12202; - else if (West == West::Low) return 12203; - else return 12204; - else - if (West == West::None) return 12208; - else if (West == West::Low) return 12209; - else return 12210; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12214; - else if (West == West::Low) return 12215; - else return 12216; - else - if (West == West::None) return 12220; - else if (West == West::Low) return 12221; - else return 12222; - else - if (Up) - if (West == West::None) return 12226; - else if (West == West::Low) return 12227; - else return 12228; - else - if (West == West::None) return 12232; - else if (West == West::Low) return 12233; - else return 12234; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12238; - else if (West == West::Low) return 12239; - else return 12240; - else - if (West == West::None) return 12244; - else if (West == West::Low) return 12245; - else return 12246; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12250; - else if (West == West::Low) return 12251; - else return 12252; - else - if (West == West::None) return 12256; - else if (West == West::Low) return 12257; - else return 12258; - else - if (Up) - if (West == West::None) return 12262; - else if (West == West::Low) return 12263; - else return 12264; - else - if (West == West::None) return 12268; - else if (West == West::Low) return 12269; - else return 12270; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12274; - else if (West == West::Low) return 12275; - else return 12276; - else - if (West == West::None) return 12280; - else if (West == West::Low) return 12281; - else return 12282; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12286; - else if (West == West::Low) return 12287; - else return 12288; - else - if (West == West::None) return 12292; - else if (West == West::Low) return 12293; - else return 12294; - else - if (Up) - if (West == West::None) return 12298; - else if (West == West::Low) return 12299; - else return 12300; - else - if (West == West::None) return 12304; - else if (West == West::Low) return 12305; - else return 12306; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12310; - else if (West == West::Low) return 12311; - else return 12312; - else - if (West == West::None) return 12316; - else if (West == West::Low) return 12317; - else return 12318; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12322; - else if (West == West::Low) return 12323; - else return 12324; - else - if (West == West::None) return 12328; - else if (West == West::Low) return 12329; - else return 12330; - else - if (Up) - if (West == West::None) return 12334; - else if (West == West::Low) return 12335; - else return 12336; - else - if (West == West::None) return 12340; - else if (West == West::Low) return 12341; - else return 12342; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12346; - else if (West == West::Low) return 12347; - else return 12348; - else - if (West == West::None) return 12352; - else if (West == West::Low) return 12353; - else return 12354; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12358; - else if (West == West::Low) return 12359; - else return 12360; - else - if (West == West::None) return 12364; - else if (West == West::Low) return 12365; - else return 12366; - else - if (Up) - if (West == West::None) return 12370; - else if (West == West::Low) return 12371; - else return 12372; - else - if (West == West::None) return 12376; - else if (West == West::Low) return 12377; - else return 12378; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12382; - else if (West == West::Low) return 12383; - else return 12384; - else - if (West == West::None) return 12388; - else if (West == West::Low) return 12389; - else return 12390; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12394; - else if (West == West::Low) return 12395; - else return 12396; - else - if (West == West::None) return 12400; - else if (West == West::Low) return 12401; - else return 12402; - else - if (Up) - if (West == West::None) return 12406; - else if (West == West::Low) return 12407; - else return 12408; - else - if (West == West::None) return 12412; - else if (West == West::Low) return 12413; - else return 12414; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12418; - else if (West == West::Low) return 12419; - else return 12420; - else - if (West == West::None) return 12424; - else if (West == West::Low) return 12425; - else return 12426; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12430; - else if (West == West::Low) return 12431; - else return 12432; - else - if (West == West::None) return 12436; - else if (West == West::Low) return 12437; - else return 12438; - else - if (Up) - if (West == West::None) return 12442; - else if (West == West::Low) return 12443; - else return 12444; - else - if (West == West::None) return 12448; - else if (West == West::Low) return 12449; - else return 12450; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12454; - else if (West == West::Low) return 12455; - else return 12456; - else - if (West == West::None) return 12460; - else if (West == West::Low) return 12461; - else return 12462; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12466; - else if (West == West::Low) return 12467; - else return 12468; - else - if (West == West::None) return 12472; - else if (West == West::Low) return 12473; - else return 12474; - else - if (Up) - if (West == West::None) return 12478; - else if (West == West::Low) return 12479; - else return 12480; - else - if (West == West::None) return 12484; - else if (West == West::Low) return 12485; - else return 12486; - } - BlockState GraniteWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace Grass - { - constexpr BlockState Grass() - { - return 1342; - } - } - namespace GrassBlock - { - constexpr BlockState GrassBlock(const bool Snowy) - { - if (Snowy) return 8; - else return 9; - } - BlockState GrassBlock(); - bool Snowy(BlockState Block); - } - namespace GrassPath - { - constexpr BlockState GrassPath() - { - return 9223; - } - } - namespace Gravel - { - constexpr BlockState Gravel() - { - return 68; - } - } - namespace GrayBanner - { - constexpr BlockState GrayBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8009; - else if (Rotation == 1) return 8010; - else if (Rotation == 2) return 8011; - else if (Rotation == 3) return 8012; - else if (Rotation == 4) return 8013; - else if (Rotation == 5) return 8014; - else if (Rotation == 6) return 8015; - else if (Rotation == 7) return 8016; - else if (Rotation == 8) return 8017; - else if (Rotation == 9) return 8018; - else if (Rotation == 10) return 8019; - else if (Rotation == 11) return 8020; - else if (Rotation == 12) return 8021; - else if (Rotation == 13) return 8022; - else if (Rotation == 14) return 8023; - else return 8024; - } - BlockState GrayBanner(); - unsigned char Rotation(BlockState Block); - } - namespace GrayBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState GrayBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1161; - else return 1162; - else - if (Part == Part::Head) return 1163; - else return 1164; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1165; - else return 1166; - else - if (Part == Part::Head) return 1167; - else return 1168; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1169; - else return 1170; - else - if (Part == Part::Head) return 1171; - else return 1172; - else - if (Occupied) - if (Part == Part::Head) return 1173; - else return 1174; - else - if (Part == Part::Head) return 1175; - else return 1176; - } - BlockState GrayBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace GrayCarpet - { - constexpr BlockState GrayCarpet() - { - return 7873; - } - } - namespace GrayConcrete - { - constexpr BlockState GrayConcrete() - { - return 9445; - } - } - namespace GrayConcretePowder - { - constexpr BlockState GrayConcretePowder() - { - return 9461; - } - } - namespace GrayGlazedTerracotta - { - constexpr BlockState GrayGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9402; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9403; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9404; - else return 9405; - } - BlockState GrayGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace GrayShulkerBox - { - constexpr BlockState GrayShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9320; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9321; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9322; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9323; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9324; - else return 9325; - } - BlockState GrayShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace GrayStainedGlass - { - constexpr BlockState GrayStainedGlass() - { - return 4102; - } - } - namespace GrayStainedGlassPane - { - constexpr BlockState GrayStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7089; - else return 7090; - else - if (West) return 7093; - else return 7094; - else - if (South) - if (West) return 7097; - else return 7098; - else - if (West) return 7101; - else return 7102; + return 6373; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6374; else - if (North) - if (South) - if (West) return 7105; - else return 7106; - else - if (West) return 7109; - else return 7110; - else - if (South) - if (West) return 7113; - else return 7114; - else - if (West) return 7117; - else return 7118; - } - BlockState GrayStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace GrayTerracotta - { - constexpr BlockState GrayTerracotta() - { - return 6854; - } - } - namespace GrayWallBanner - { - constexpr BlockState GrayWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8181; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8182; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8183; - else return 8184; - } - BlockState GrayWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace GrayWool - { - constexpr BlockState GrayWool() - { - return 1391; - } - } - namespace GreenBanner - { - constexpr BlockState GreenBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8105; - else if (Rotation == 1) return 8106; - else if (Rotation == 2) return 8107; - else if (Rotation == 3) return 8108; - else if (Rotation == 4) return 8109; - else if (Rotation == 5) return 8110; - else if (Rotation == 6) return 8111; - else if (Rotation == 7) return 8112; - else if (Rotation == 8) return 8113; - else if (Rotation == 9) return 8114; - else if (Rotation == 10) return 8115; - else if (Rotation == 11) return 8116; - else if (Rotation == 12) return 8117; - else if (Rotation == 13) return 8118; - else if (Rotation == 14) return 8119; - else return 8120; - } - BlockState GreenBanner(); - unsigned char Rotation(BlockState Block); - } - namespace GreenBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState GreenBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1257; - else return 1258; - else - if (Part == Part::Head) return 1259; - else return 1260; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1261; - else return 1262; - else - if (Part == Part::Head) return 1263; - else return 1264; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1265; - else return 1266; - else - if (Part == Part::Head) return 1267; - else return 1268; - else - if (Occupied) - if (Part == Part::Head) return 1269; - else return 1270; - else - if (Part == Part::Head) return 1271; - else return 1272; - } - BlockState GreenBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace GreenCarpet - { - constexpr BlockState GreenCarpet() - { - return 7879; - } - } - namespace GreenConcrete - { - constexpr BlockState GreenConcrete() - { - return 9451; - } - } - namespace GreenConcretePowder - { - constexpr BlockState GreenConcretePowder() - { - return 9467; - } - } - namespace GreenGlazedTerracotta - { - constexpr BlockState GreenGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9426; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9427; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9428; - else return 9429; - } - BlockState GreenGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace GreenShulkerBox - { - constexpr BlockState GreenShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9356; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9357; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9358; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9359; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9360; - else return 9361; - } - BlockState GreenShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace GreenStainedGlass - { - constexpr BlockState GreenStainedGlass() - { - return 4108; - } - } - namespace GreenStainedGlassPane - { - constexpr BlockState GreenStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7281; - else return 7282; - else - if (West) return 7285; - else return 7286; - else - if (South) - if (West) return 7289; - else return 7290; - else - if (West) return 7293; - else return 7294; + return 6375; + else if (Powered) + return 6376; + else + return 6377; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6378; else - if (North) - if (South) - if (West) return 7297; - else return 7298; - else - if (West) return 7301; - else return 7302; - else - if (South) - if (West) return 7305; - else return 7306; - else - if (West) return 7309; - else return 7310; - } - BlockState GreenStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace GreenTerracotta - { - constexpr BlockState GreenTerracotta() - { - return 6860; - } - } - namespace GreenWallBanner - { - constexpr BlockState GreenWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8205; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8206; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8207; - else return 8208; - } - BlockState GreenWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace GreenWool - { - constexpr BlockState GreenWool() - { - return 1397; - } - } - namespace Grindstone - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState Grindstone(const enum Face Face, const eBlockFace Facing) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14821; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14822; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14823; - else return 14824; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14825; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14826; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14827; - else return 14828; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14829; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14830; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14831; - else return 14832; - } - BlockState Grindstone(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace HayBale - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState HayBale(const enum Axis Axis) - { - if (Axis == Axis::X) return 7863; - else if (Axis == Axis::Y) return 7864; - else return 7865; - } - BlockState HayBale(); - enum Axis Axis(BlockState Block); - } - namespace HeavyWeightedPressurePlate - { - constexpr BlockState HeavyWeightedPressurePlate(const unsigned char Power) - { - if (Power == 0) return 6662; - else if (Power == 1) return 6663; - else if (Power == 2) return 6664; - else if (Power == 3) return 6665; - else if (Power == 4) return 6666; - else if (Power == 5) return 6667; - else if (Power == 6) return 6668; - else if (Power == 7) return 6669; - else if (Power == 8) return 6670; - else if (Power == 9) return 6671; - else if (Power == 10) return 6672; - else if (Power == 11) return 6673; - else if (Power == 12) return 6674; - else if (Power == 13) return 6675; - else if (Power == 14) return 6676; - else return 6677; - } - BlockState HeavyWeightedPressurePlate(); - unsigned char Power(BlockState Block); - } - namespace HoneyBlock - { - constexpr BlockState HoneyBlock() - { - return 15824; - } - } - namespace HoneycombBlock - { - constexpr BlockState HoneycombBlock() - { - return 15825; - } - } - namespace Hopper - { - constexpr BlockState Hopper(const bool Enabled, const eBlockFace Facing) - { - if (Enabled) - if (Facing == eBlockFace::BLOCK_FACE_YM) return 6728; - else if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6729; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6730; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6731; - else return 6732; - else - if (Facing == eBlockFace::BLOCK_FACE_YM) return 6733; - else if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6734; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6735; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6736; - else return 6737; - } - BlockState Hopper(); - bool Enabled(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace HornCoral - { - constexpr BlockState HornCoral() - { - return 9539; - } - } - namespace HornCoralBlock - { - constexpr BlockState HornCoralBlock() - { - return 9519; - } - } - namespace HornCoralFan - { - constexpr BlockState HornCoralFan() - { - return 9559; - } - } - namespace HornCoralWallFan - { - constexpr BlockState HornCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9633; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9635; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9637; - else return 9639; - } - BlockState HornCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace Ice - { - constexpr BlockState Ice() - { - return 3929; - } - } - namespace InfestedChiseledStoneBricks - { - constexpr BlockState InfestedChiseledStoneBricks() - { - return 4504; - } - } - namespace InfestedCobblestone - { - constexpr BlockState InfestedCobblestone() - { - return 4500; - } - } - namespace InfestedCrackedStoneBricks - { - constexpr BlockState InfestedCrackedStoneBricks() - { - return 4503; - } - } - namespace InfestedMossyStoneBricks - { - constexpr BlockState InfestedMossyStoneBricks() - { - return 4502; - } - } - namespace InfestedStone - { - constexpr BlockState InfestedStone() - { - return 4499; - } - } - namespace InfestedStoneBricks - { - constexpr BlockState InfestedStoneBricks() - { - return 4501; - } - } - namespace IronBars - { - constexpr BlockState IronBars(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 4699; - else return 4700; - else - if (West) return 4703; - else return 4704; - else - if (South) - if (West) return 4707; - else return 4708; - else - if (West) return 4711; - else return 4712; + return 6379; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6380; else - if (North) - if (South) - if (West) return 4715; - else return 4716; - else - if (West) return 4719; - else return 4720; - else - if (South) - if (West) return 4723; - else return 4724; - else - if (West) return 4727; - else return 4728; - } - BlockState IronBars(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace IronBlock - { - constexpr BlockState IronBlock() - { - return 1428; - } - } - namespace IronDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState IronDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3809; - else return 3810; - else - if (Powered) return 3811; - else return 3812; - else - if (Open) - if (Powered) return 3813; - else return 3814; - else - if (Powered) return 3815; - else return 3816; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3817; - else return 3818; - else - if (Powered) return 3819; - else return 3820; - else - if (Open) - if (Powered) return 3821; - else return 3822; - else - if (Powered) return 3823; - else return 3824; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3825; - else return 3826; - else - if (Powered) return 3827; - else return 3828; - else - if (Open) - if (Powered) return 3829; - else return 3830; - else - if (Powered) return 3831; - else return 3832; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3833; - else return 3834; - else - if (Powered) return 3835; - else return 3836; - else - if (Open) - if (Powered) return 3837; - else return 3838; - else - if (Powered) return 3839; - else return 3840; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3841; - else return 3842; - else - if (Powered) return 3843; - else return 3844; - else - if (Open) - if (Powered) return 3845; - else return 3846; - else - if (Powered) return 3847; - else return 3848; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3849; - else return 3850; - else - if (Powered) return 3851; - else return 3852; - else - if (Open) - if (Powered) return 3853; - else return 3854; - else - if (Powered) return 3855; - else return 3856; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3857; - else return 3858; - else - if (Powered) return 3859; - else return 3860; - else - if (Open) - if (Powered) return 3861; - else return 3862; - else - if (Powered) return 3863; - else return 3864; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3865; - else return 3866; - else - if (Powered) return 3867; - else return 3868; - else - if (Open) - if (Powered) return 3869; - else return 3870; - else - if (Powered) return 3871; - else return 3872; - } - BlockState IronDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace IronOre - { - constexpr BlockState IronOre() - { - return 70; - } - } - namespace IronTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState IronTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 7538; - else return 7540; - else - if (Powered) return 7542; - else return 7544; - else - if (Open) - if (Powered) return 7546; - else return 7548; - else - if (Powered) return 7550; - else return 7552; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 7554; - else return 7556; - else - if (Powered) return 7558; - else return 7560; - else - if (Open) - if (Powered) return 7562; - else return 7564; - else - if (Powered) return 7566; - else return 7568; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 7570; - else return 7572; - else - if (Powered) return 7574; - else return 7576; - else - if (Open) - if (Powered) return 7578; - else return 7580; - else - if (Powered) return 7582; - else return 7584; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 7586; - else return 7588; - else - if (Powered) return 7590; - else return 7592; - else - if (Open) - if (Powered) return 7594; - else return 7596; - else - if (Powered) return 7598; - else return 7600; - } - BlockState IronTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace JackOLantern - { - constexpr BlockState JackOLantern(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4020; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4021; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4022; - else return 4023; - } - BlockState JackOLantern(); - eBlockFace Facing(BlockState Block); - } - namespace Jigsaw - { - enum class Orientation - { - DownEast, - DownNorth, - DownSouth, - DownWest, - UpEast, - UpNorth, - UpSouth, - UpWest, - WestUp, - EastUp, - NorthUp, - SouthUp - }; - constexpr BlockState Jigsaw(const enum Orientation Orientation) - { - if (Orientation == Orientation::DownEast) return 15739; - else if (Orientation == Orientation::DownNorth) return 15740; - else if (Orientation == Orientation::DownSouth) return 15741; - else if (Orientation == Orientation::DownWest) return 15742; - else if (Orientation == Orientation::UpEast) return 15743; - else if (Orientation == Orientation::UpNorth) return 15744; - else if (Orientation == Orientation::UpSouth) return 15745; - else if (Orientation == Orientation::UpWest) return 15746; - else if (Orientation == Orientation::WestUp) return 15747; - else if (Orientation == Orientation::EastUp) return 15748; - else if (Orientation == Orientation::NorthUp) return 15749; - else return 15750; - } - BlockState Jigsaw(); - enum Orientation Orientation(BlockState Block); - } - namespace Jukebox - { - constexpr BlockState Jukebox(const bool HasRecord) - { - if (HasRecord) return 3964; - else return 3965; - } - BlockState Jukebox(); - bool HasRecord(BlockState Block); - } - namespace JungleButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState JungleButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6418; - else return 6419; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6420; - else return 6421; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6422; - else return 6423; - else - if (Powered) return 6424; - else return 6425; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6426; - else return 6427; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6428; - else return 6429; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6430; - else return 6431; - else - if (Powered) return 6432; - else return 6433; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6434; - else return 6435; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6436; - else return 6437; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6438; - else return 6439; - else - if (Powered) return 6440; - else return 6441; - } - BlockState JungleButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace JungleDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState JungleDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8866; - else return 8867; - else - if (Powered) return 8868; - else return 8869; - else - if (Open) - if (Powered) return 8870; - else return 8871; - else - if (Powered) return 8872; - else return 8873; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8874; - else return 8875; - else - if (Powered) return 8876; - else return 8877; - else - if (Open) - if (Powered) return 8878; - else return 8879; - else - if (Powered) return 8880; - else return 8881; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8882; - else return 8883; - else - if (Powered) return 8884; - else return 8885; - else - if (Open) - if (Powered) return 8886; - else return 8887; - else - if (Powered) return 8888; - else return 8889; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8890; - else return 8891; - else - if (Powered) return 8892; - else return 8893; - else - if (Open) - if (Powered) return 8894; - else return 8895; - else - if (Powered) return 8896; - else return 8897; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8898; - else return 8899; - else - if (Powered) return 8900; - else return 8901; - else - if (Open) - if (Powered) return 8902; - else return 8903; - else - if (Powered) return 8904; - else return 8905; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8906; - else return 8907; - else - if (Powered) return 8908; - else return 8909; - else - if (Open) - if (Powered) return 8910; - else return 8911; - else - if (Powered) return 8912; - else return 8913; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8914; - else return 8915; - else - if (Powered) return 8916; - else return 8917; - else - if (Open) - if (Powered) return 8918; - else return 8919; - else - if (Powered) return 8920; - else return 8921; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8922; - else return 8923; - else - if (Powered) return 8924; - else return 8925; - else - if (Open) - if (Powered) return 8926; - else return 8927; - else - if (Powered) return 8928; - else return 8929; - } - BlockState JungleDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace JungleFence - { - constexpr BlockState JungleFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 8644; - else return 8645; - else - if (West) return 8648; - else return 8649; - else - if (South) - if (West) return 8652; - else return 8653; - else - if (West) return 8656; - else return 8657; + return 6381; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6382; + else + return 6383; + else if (Powered) + return 6384; + else + return 6385; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 6386; + else + return 6387; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 6388; + else + return 6389; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 6390; + else + return 6391; + else if (Powered) + return 6392; + else + return 6393; +} +BlockState SpruceButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace SpruceButton +namespace SpruceDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState SpruceDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8738; + else + return 8739; + else if (Powered) + return 8740; + else + return 8741; + else if (Open) + if (Powered) + return 8742; + else + return 8743; + else if (Powered) + return 8744; + else + return 8745; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8746; + else + return 8747; + else if (Powered) + return 8748; + else + return 8749; + else if (Open) + if (Powered) + return 8750; + else + return 8751; + else if (Powered) + return 8752; + else + return 8753; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8754; + else + return 8755; + else if (Powered) + return 8756; + else + return 8757; + else if (Open) + if (Powered) + return 8758; + else + return 8759; + else if (Powered) + return 8760; + else + return 8761; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8762; + else + return 8763; + else if (Powered) + return 8764; + else + return 8765; + else if (Open) + if (Powered) + return 8766; + else + return 8767; + else if (Powered) + return 8768; + else + return 8769; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8770; + else + return 8771; + else if (Powered) + return 8772; + else + return 8773; + else if (Open) + if (Powered) + return 8774; + else + return 8775; + else if (Powered) + return 8776; + else + return 8777; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8778; + else + return 8779; + else if (Powered) + return 8780; + else + return 8781; + else if (Open) + if (Powered) + return 8782; + else + return 8783; + else if (Powered) + return 8784; + else + return 8785; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8786; + else + return 8787; + else if (Powered) + return 8788; + else + return 8789; + else if (Open) + if (Powered) + return 8790; + else + return 8791; + else if (Powered) + return 8792; + else + return 8793; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 8794; + else + return 8795; + else if (Powered) + return 8796; + else + return 8797; + else if (Open) + if (Powered) + return 8798; + else + return 8799; + else if (Powered) + return 8800; + else + return 8801; +} +BlockState SpruceDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace SpruceDoor +namespace SpruceFence +{ +constexpr BlockState SpruceFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 8580; + else + return 8581; + else if (West) + return 8584; + else + return 8585; + else if (South) + if (West) + return 8588; + else + return 8589; + else if (West) + return 8592; + else + return 8593; + else if (North) + if (South) + if (West) + return 8596; + else + return 8597; + else if (West) + return 8600; + else + return 8601; + else if (South) + if (West) + return 8604; + else + return 8605; + else if (West) + return 8608; + else + return 8609; +} +BlockState SpruceFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace SpruceFence +namespace SpruceFenceGate +{ +constexpr BlockState SpruceFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (InWall) + if (Open) + if (Powered) + return 8418; + else + return 8419; + else if (Powered) + return 8420; + else + return 8421; + else if (Open) + if (Powered) + return 8422; + else + return 8423; + else if (Powered) + return 8424; + else + return 8425; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (InWall) + if (Open) + if (Powered) + return 8426; + else + return 8427; + else if (Powered) + return 8428; + else + return 8429; + else if (Open) + if (Powered) + return 8430; + else + return 8431; + else if (Powered) + return 8432; + else + return 8433; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (InWall) + if (Open) + if (Powered) + return 8434; + else + return 8435; + else if (Powered) + return 8436; + else + return 8437; + else if (Open) + if (Powered) + return 8438; + else + return 8439; + else if (Powered) + return 8440; + else + return 8441; + else if (InWall) + if (Open) + if (Powered) + return 8442; + else + return 8443; + else if (Powered) + return 8444; + else + return 8445; + else if (Open) + if (Powered) + return 8446; + else + return 8447; + else if (Powered) + return 8448; + else + return 8449; +} +BlockState SpruceFenceGate(); +eBlockFace Facing(BlockState Block); +bool InWall(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace SpruceFenceGate +namespace SpruceLeaves +{ +constexpr BlockState SpruceLeaves(const unsigned char Distance, const bool Persistent) +{ + if (Distance == 1) + if (Persistent) + return 159; + else + return 160; + else if (Distance == 2) + if (Persistent) + return 161; + else + return 162; + else if (Distance == 3) + if (Persistent) + return 163; + else + return 164; + else if (Distance == 4) + if (Persistent) + return 165; + else + return 166; + else if (Distance == 5) + if (Persistent) + return 167; + else + return 168; + else if (Distance == 6) + if (Persistent) + return 169; + else + return 170; + else if (Persistent) + return 171; + else + return 172; +} +BlockState SpruceLeaves(); +unsigned char Distance(BlockState Block); +bool Persistent(BlockState Block); +} // namespace SpruceLeaves +namespace SpruceLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState SpruceLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 76; + else if (Axis == Axis::Y) + return 77; + else + return 78; +} +BlockState SpruceLog(); +enum Axis Axis(BlockState Block); +} // namespace SpruceLog +namespace SprucePlanks +{ +constexpr BlockState SprucePlanks() +{ + return 16; +} +} // namespace SprucePlanks +namespace SprucePressurePlate +{ +constexpr BlockState SprucePressurePlate(const bool Powered) +{ + if (Powered) + return 3875; + else + return 3876; +} +BlockState SprucePressurePlate(); +bool Powered(BlockState Block); +} // namespace SprucePressurePlate +namespace SpruceSapling +{ +constexpr BlockState SpruceSapling(const unsigned char Stage) +{ + if (Stage == 0) + return 23; + else + return 24; +} +BlockState SpruceSapling(); +unsigned char Stage(BlockState Block); +} // namespace SpruceSapling +namespace SpruceSign +{ +constexpr BlockState SpruceSign(const unsigned char Rotation) +{ + if (Rotation == 0) + return 3414; + else if (Rotation == 1) + return 3416; + else if (Rotation == 2) + return 3418; + else if (Rotation == 3) + return 3420; + else if (Rotation == 4) + return 3422; + else if (Rotation == 5) + return 3424; + else if (Rotation == 6) + return 3426; + else if (Rotation == 7) + return 3428; + else if (Rotation == 8) + return 3430; + else if (Rotation == 9) + return 3432; + else if (Rotation == 10) + return 3434; + else if (Rotation == 11) + return 3436; + else if (Rotation == 12) + return 3438; + else if (Rotation == 13) + return 3440; + else if (Rotation == 14) + return 3442; + else + return 3444; +} +BlockState SpruceSign(); +unsigned char Rotation(BlockState Block); +} // namespace SpruceSign +namespace SpruceSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState SpruceSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8307; + else if (Type == Type::Bottom) + return 8309; + else + return 8311; +} +BlockState SpruceSlab(); +enum Type Type(BlockState Block); +} // namespace SpruceSlab +namespace SpruceStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState SpruceStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5405; + else if (Shape == Shape::InnerLeft) + return 5407; + else if (Shape == Shape::InnerRight) + return 5409; + else if (Shape == Shape::OuterLeft) + return 5411; + else + return 5413; + else if (Shape == Shape::Straight) + return 5415; + else if (Shape == Shape::InnerLeft) + return 5417; + else if (Shape == Shape::InnerRight) + return 5419; + else if (Shape == Shape::OuterLeft) + return 5421; + else + return 5423; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5425; + else if (Shape == Shape::InnerLeft) + return 5427; + else if (Shape == Shape::InnerRight) + return 5429; + else if (Shape == Shape::OuterLeft) + return 5431; + else + return 5433; + else if (Shape == Shape::Straight) + return 5435; + else if (Shape == Shape::InnerLeft) + return 5437; + else if (Shape == Shape::InnerRight) + return 5439; + else if (Shape == Shape::OuterLeft) + return 5441; + else + return 5443; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5445; + else if (Shape == Shape::InnerLeft) + return 5447; + else if (Shape == Shape::InnerRight) + return 5449; + else if (Shape == Shape::OuterLeft) + return 5451; + else + return 5453; + else if (Shape == Shape::Straight) + return 5455; + else if (Shape == Shape::InnerLeft) + return 5457; + else if (Shape == Shape::InnerRight) + return 5459; + else if (Shape == Shape::OuterLeft) + return 5461; + else + return 5463; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 5465; + else if (Shape == Shape::InnerLeft) + return 5467; + else if (Shape == Shape::InnerRight) + return 5469; + else if (Shape == Shape::OuterLeft) + return 5471; + else + return 5473; + else if (Shape == Shape::Straight) + return 5475; + else if (Shape == Shape::InnerLeft) + return 5477; + else if (Shape == Shape::InnerRight) + return 5479; + else if (Shape == Shape::OuterLeft) + return 5481; + else + return 5483; +} +BlockState SpruceStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace SpruceStairs +namespace SpruceTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState SpruceTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4176; + else + return 4178; + else if (Powered) + return 4180; else - if (North) - if (South) - if (West) return 8660; - else return 8661; - else - if (West) return 8664; - else return 8665; - else - if (South) - if (West) return 8668; - else return 8669; - else - if (West) return 8672; - else return 8673; - } - BlockState JungleFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace JungleFenceGate - { - constexpr BlockState JungleFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (InWall) - if (Open) - if (Powered) return 8482; - else return 8483; - else - if (Powered) return 8484; - else return 8485; - else - if (Open) - if (Powered) return 8486; - else return 8487; - else - if (Powered) return 8488; - else return 8489; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (InWall) - if (Open) - if (Powered) return 8490; - else return 8491; - else - if (Powered) return 8492; - else return 8493; - else - if (Open) - if (Powered) return 8494; - else return 8495; - else - if (Powered) return 8496; - else return 8497; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (InWall) - if (Open) - if (Powered) return 8498; - else return 8499; - else - if (Powered) return 8500; - else return 8501; - else - if (Open) - if (Powered) return 8502; - else return 8503; - else - if (Powered) return 8504; - else return 8505; - else - if (InWall) - if (Open) - if (Powered) return 8506; - else return 8507; - else - if (Powered) return 8508; - else return 8509; - else - if (Open) - if (Powered) return 8510; - else return 8511; - else - if (Powered) return 8512; - else return 8513; - } - BlockState JungleFenceGate(); - eBlockFace Facing(BlockState Block); - bool InWall(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace JungleLeaves - { - constexpr BlockState JungleLeaves(const unsigned char Distance, const bool Persistent) - { - if (Distance == 1) - if (Persistent) return 187; - else return 188; - else if (Distance == 2) - if (Persistent) return 189; - else return 190; - else if (Distance == 3) - if (Persistent) return 191; - else return 192; - else if (Distance == 4) - if (Persistent) return 193; - else return 194; - else if (Distance == 5) - if (Persistent) return 195; - else return 196; - else if (Distance == 6) - if (Persistent) return 197; - else return 198; - else - if (Persistent) return 199; - else return 200; - } - BlockState JungleLeaves(); - unsigned char Distance(BlockState Block); - bool Persistent(BlockState Block); - } - namespace JungleLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState JungleLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 82; - else if (Axis == Axis::Y) return 83; - else return 84; - } - BlockState JungleLog(); - enum Axis Axis(BlockState Block); - } - namespace JunglePlanks - { - constexpr BlockState JunglePlanks() - { - return 18; - } - } - namespace JunglePressurePlate - { - constexpr BlockState JunglePressurePlate(const bool Powered) - { - if (Powered) return 3879; - else return 3880; - } - BlockState JunglePressurePlate(); - bool Powered(BlockState Block); - } - namespace JungleSapling - { - constexpr BlockState JungleSapling(const unsigned char Stage) - { - if (Stage == 0) return 27; - else return 28; - } - BlockState JungleSapling(); - unsigned char Stage(BlockState Block); - } - namespace JungleSign - { - constexpr BlockState JungleSign(const unsigned char Rotation) - { - if (Rotation == 0) return 3510; - else if (Rotation == 1) return 3512; - else if (Rotation == 2) return 3514; - else if (Rotation == 3) return 3516; - else if (Rotation == 4) return 3518; - else if (Rotation == 5) return 3520; - else if (Rotation == 6) return 3522; - else if (Rotation == 7) return 3524; - else if (Rotation == 8) return 3526; - else if (Rotation == 9) return 3528; - else if (Rotation == 10) return 3530; - else if (Rotation == 11) return 3532; - else if (Rotation == 12) return 3534; - else if (Rotation == 13) return 3536; - else if (Rotation == 14) return 3538; - else return 3540; - } - BlockState JungleSign(); - unsigned char Rotation(BlockState Block); - } - namespace JungleSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState JungleSlab(const enum Type Type) - { - if (Type == Type::Top) return 8319; - else if (Type == Type::Bottom) return 8321; - else return 8323; - } - BlockState JungleSlab(); - enum Type Type(BlockState Block); - } - namespace JungleStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState JungleStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5565; - else if (Shape == Shape::InnerLeft) return 5567; - else if (Shape == Shape::InnerRight) return 5569; - else if (Shape == Shape::OuterLeft) return 5571; - else return 5573; - else - if (Shape == Shape::Straight) return 5575; - else if (Shape == Shape::InnerLeft) return 5577; - else if (Shape == Shape::InnerRight) return 5579; - else if (Shape == Shape::OuterLeft) return 5581; - else return 5583; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5585; - else if (Shape == Shape::InnerLeft) return 5587; - else if (Shape == Shape::InnerRight) return 5589; - else if (Shape == Shape::OuterLeft) return 5591; - else return 5593; - else - if (Shape == Shape::Straight) return 5595; - else if (Shape == Shape::InnerLeft) return 5597; - else if (Shape == Shape::InnerRight) return 5599; - else if (Shape == Shape::OuterLeft) return 5601; - else return 5603; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5605; - else if (Shape == Shape::InnerLeft) return 5607; - else if (Shape == Shape::InnerRight) return 5609; - else if (Shape == Shape::OuterLeft) return 5611; - else return 5613; - else - if (Shape == Shape::Straight) return 5615; - else if (Shape == Shape::InnerLeft) return 5617; - else if (Shape == Shape::InnerRight) return 5619; - else if (Shape == Shape::OuterLeft) return 5621; - else return 5623; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5625; - else if (Shape == Shape::InnerLeft) return 5627; - else if (Shape == Shape::InnerRight) return 5629; - else if (Shape == Shape::OuterLeft) return 5631; - else return 5633; - else - if (Shape == Shape::Straight) return 5635; - else if (Shape == Shape::InnerLeft) return 5637; - else if (Shape == Shape::InnerRight) return 5639; - else if (Shape == Shape::OuterLeft) return 5641; - else return 5643; - } - BlockState JungleStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace JungleTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState JungleTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4304; - else return 4306; - else - if (Powered) return 4308; - else return 4310; - else - if (Open) - if (Powered) return 4312; - else return 4314; - else - if (Powered) return 4316; - else return 4318; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 4320; - else return 4322; - else - if (Powered) return 4324; - else return 4326; - else - if (Open) - if (Powered) return 4328; - else return 4330; - else - if (Powered) return 4332; - else return 4334; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4336; - else return 4338; - else - if (Powered) return 4340; - else return 4342; - else - if (Open) - if (Powered) return 4344; - else return 4346; - else - if (Powered) return 4348; - else return 4350; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 4352; - else return 4354; - else - if (Powered) return 4356; - else return 4358; - else - if (Open) - if (Powered) return 4360; - else return 4362; - else - if (Powered) return 4364; - else return 4366; - } - BlockState JungleTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace JungleWallSign - { - constexpr BlockState JungleWallSign(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3768; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3770; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3772; - else return 3774; - } - BlockState JungleWallSign(); - eBlockFace Facing(BlockState Block); - } - namespace JungleWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState JungleWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 118; - else if (Axis == Axis::Y) return 119; - else return 120; - } - BlockState JungleWood(); - enum Axis Axis(BlockState Block); - } - namespace Kelp - { - constexpr BlockState Kelp(const unsigned char Age) - { - if (Age == 0) return 9470; - else if (Age == 1) return 9471; - else if (Age == 2) return 9472; - else if (Age == 3) return 9473; - else if (Age == 4) return 9474; - else if (Age == 5) return 9475; - else if (Age == 6) return 9476; - else if (Age == 7) return 9477; - else if (Age == 8) return 9478; - else if (Age == 9) return 9479; - else if (Age == 10) return 9480; - else if (Age == 11) return 9481; - else if (Age == 12) return 9482; - else if (Age == 13) return 9483; - else if (Age == 14) return 9484; - else if (Age == 15) return 9485; - else if (Age == 16) return 9486; - else if (Age == 17) return 9487; - else if (Age == 18) return 9488; - else if (Age == 19) return 9489; - else if (Age == 20) return 9490; - else if (Age == 21) return 9491; - else if (Age == 22) return 9492; - else if (Age == 23) return 9493; - else if (Age == 24) return 9494; - else return 9495; - } - BlockState Kelp(); - unsigned char Age(BlockState Block); - } - namespace KelpPlant - { - constexpr BlockState KelpPlant() - { - return 9496; - } - } - namespace Ladder - { - constexpr BlockState Ladder(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3638; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3640; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3642; - else return 3644; - } - BlockState Ladder(); - eBlockFace Facing(BlockState Block); - } - namespace Lantern - { - constexpr BlockState Lantern(const bool Hanging) - { - if (Hanging) return 14886; - else return 14887; - } - BlockState Lantern(); - bool Hanging(BlockState Block); - } - namespace LapisBlock - { - constexpr BlockState LapisBlock() - { - return 233; - } - } - namespace LapisOre - { - constexpr BlockState LapisOre() - { - return 232; - } - } - namespace LargeFern - { - enum class Half - { - Upper, - Lower - }; - constexpr BlockState LargeFern(const enum Half Half) - { - if (Half == Half::Upper) return 7895; - else return 7896; - } - BlockState LargeFern(); - enum Half Half(BlockState Block); - } - namespace Lava - { - constexpr BlockState Lava(const unsigned char Level) - { - if (Level == 0) return 50; - else if (Level == 1) return 51; - else if (Level == 2) return 52; - else if (Level == 3) return 53; - else if (Level == 4) return 54; - else if (Level == 5) return 55; - else if (Level == 6) return 56; - else if (Level == 7) return 57; - else if (Level == 8) return 58; - else if (Level == 9) return 59; - else if (Level == 10) return 60; - else if (Level == 11) return 61; - else if (Level == 12) return 62; - else if (Level == 13) return 63; - else if (Level == 14) return 64; - else return 65; - } - BlockState Lava(); - unsigned char Level(BlockState Block); - } - namespace Lectern - { - constexpr BlockState Lectern(const eBlockFace Facing, const bool HasBook, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (HasBook) - if (Powered) return 14833; - else return 14834; - else - if (Powered) return 14835; - else return 14836; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (HasBook) - if (Powered) return 14837; - else return 14838; - else - if (Powered) return 14839; - else return 14840; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (HasBook) - if (Powered) return 14841; - else return 14842; - else - if (Powered) return 14843; - else return 14844; - else - if (HasBook) - if (Powered) return 14845; - else return 14846; - else - if (Powered) return 14847; - else return 14848; - } - BlockState Lectern(); - eBlockFace Facing(BlockState Block); - bool HasBook(BlockState Block); - bool Powered(BlockState Block); - } - namespace Lever - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState Lever(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 3783; - else return 3784; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 3785; - else return 3786; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 3787; - else return 3788; - else - if (Powered) return 3789; - else return 3790; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 3791; - else return 3792; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 3793; - else return 3794; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 3795; - else return 3796; - else - if (Powered) return 3797; - else return 3798; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 3799; - else return 3800; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 3801; - else return 3802; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 3803; - else return 3804; - else - if (Powered) return 3805; - else return 3806; - } - BlockState Lever(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace LightBlueBanner - { - constexpr BlockState LightBlueBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 7945; - else if (Rotation == 1) return 7946; - else if (Rotation == 2) return 7947; - else if (Rotation == 3) return 7948; - else if (Rotation == 4) return 7949; - else if (Rotation == 5) return 7950; - else if (Rotation == 6) return 7951; - else if (Rotation == 7) return 7952; - else if (Rotation == 8) return 7953; - else if (Rotation == 9) return 7954; - else if (Rotation == 10) return 7955; - else if (Rotation == 11) return 7956; - else if (Rotation == 12) return 7957; - else if (Rotation == 13) return 7958; - else if (Rotation == 14) return 7959; - else return 7960; - } - BlockState LightBlueBanner(); - unsigned char Rotation(BlockState Block); - } - namespace LightBlueBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState LightBlueBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1097; - else return 1098; - else - if (Part == Part::Head) return 1099; - else return 1100; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1101; - else return 1102; - else - if (Part == Part::Head) return 1103; - else return 1104; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1105; - else return 1106; - else - if (Part == Part::Head) return 1107; - else return 1108; - else - if (Occupied) - if (Part == Part::Head) return 1109; - else return 1110; - else - if (Part == Part::Head) return 1111; - else return 1112; - } - BlockState LightBlueBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace LightBlueCarpet - { - constexpr BlockState LightBlueCarpet() - { - return 7869; - } - } - namespace LightBlueConcrete - { - constexpr BlockState LightBlueConcrete() - { - return 9441; - } - } - namespace LightBlueConcretePowder - { - constexpr BlockState LightBlueConcretePowder() - { - return 9457; - } - } - namespace LightBlueGlazedTerracotta - { - constexpr BlockState LightBlueGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9386; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9387; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9388; - else return 9389; - } - BlockState LightBlueGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace LightBlueShulkerBox - { - constexpr BlockState LightBlueShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9296; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9297; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9298; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9299; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9300; - else return 9301; - } - BlockState LightBlueShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace LightBlueStainedGlass - { - constexpr BlockState LightBlueStainedGlass() - { - return 4098; - } - } - namespace LightBlueStainedGlassPane - { - constexpr BlockState LightBlueStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 6961; - else return 6962; - else - if (West) return 6965; - else return 6966; - else - if (South) - if (West) return 6969; - else return 6970; - else - if (West) return 6973; - else return 6974; + return 4182; + else if (Open) + if (Powered) + return 4184; else - if (North) - if (South) - if (West) return 6977; - else return 6978; - else - if (West) return 6981; - else return 6982; - else - if (South) - if (West) return 6985; - else return 6986; - else - if (West) return 6989; - else return 6990; - } - BlockState LightBlueStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace LightBlueTerracotta - { - constexpr BlockState LightBlueTerracotta() - { - return 6850; - } - } - namespace LightBlueWallBanner - { - constexpr BlockState LightBlueWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8165; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8166; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8167; - else return 8168; - } - BlockState LightBlueWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace LightBlueWool - { - constexpr BlockState LightBlueWool() - { - return 1387; - } - } - namespace LightGrayBanner - { - constexpr BlockState LightGrayBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8025; - else if (Rotation == 1) return 8026; - else if (Rotation == 2) return 8027; - else if (Rotation == 3) return 8028; - else if (Rotation == 4) return 8029; - else if (Rotation == 5) return 8030; - else if (Rotation == 6) return 8031; - else if (Rotation == 7) return 8032; - else if (Rotation == 8) return 8033; - else if (Rotation == 9) return 8034; - else if (Rotation == 10) return 8035; - else if (Rotation == 11) return 8036; - else if (Rotation == 12) return 8037; - else if (Rotation == 13) return 8038; - else if (Rotation == 14) return 8039; - else return 8040; - } - BlockState LightGrayBanner(); - unsigned char Rotation(BlockState Block); - } - namespace LightGrayBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState LightGrayBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1177; - else return 1178; - else - if (Part == Part::Head) return 1179; - else return 1180; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1181; - else return 1182; - else - if (Part == Part::Head) return 1183; - else return 1184; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1185; - else return 1186; - else - if (Part == Part::Head) return 1187; - else return 1188; - else - if (Occupied) - if (Part == Part::Head) return 1189; - else return 1190; - else - if (Part == Part::Head) return 1191; - else return 1192; - } - BlockState LightGrayBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace LightGrayCarpet - { - constexpr BlockState LightGrayCarpet() - { - return 7874; - } - } - namespace LightGrayConcrete - { - constexpr BlockState LightGrayConcrete() - { - return 9446; - } - } - namespace LightGrayConcretePowder - { - constexpr BlockState LightGrayConcretePowder() - { - return 9462; - } - } - namespace LightGrayGlazedTerracotta - { - constexpr BlockState LightGrayGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9406; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9407; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9408; - else return 9409; - } - BlockState LightGrayGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace LightGrayShulkerBox - { - constexpr BlockState LightGrayShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9326; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9327; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9328; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9329; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9330; - else return 9331; - } - BlockState LightGrayShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace LightGrayStainedGlass - { - constexpr BlockState LightGrayStainedGlass() - { - return 4103; - } - } - namespace LightGrayStainedGlassPane - { - constexpr BlockState LightGrayStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7121; - else return 7122; - else - if (West) return 7125; - else return 7126; - else - if (South) - if (West) return 7129; - else return 7130; - else - if (West) return 7133; - else return 7134; + return 4186; + else if (Powered) + return 4188; + else + return 4190; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4192; + else + return 4194; + else if (Powered) + return 4196; else - if (North) - if (South) - if (West) return 7137; - else return 7138; - else - if (West) return 7141; - else return 7142; - else - if (South) - if (West) return 7145; - else return 7146; - else - if (West) return 7149; - else return 7150; - } - BlockState LightGrayStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace LightGrayTerracotta - { - constexpr BlockState LightGrayTerracotta() - { - return 6855; - } - } - namespace LightGrayWallBanner - { - constexpr BlockState LightGrayWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8185; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8186; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8187; - else return 8188; - } - BlockState LightGrayWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace LightGrayWool - { - constexpr BlockState LightGrayWool() - { - return 1392; - } - } - namespace LightWeightedPressurePlate - { - constexpr BlockState LightWeightedPressurePlate(const unsigned char Power) - { - if (Power == 0) return 6646; - else if (Power == 1) return 6647; - else if (Power == 2) return 6648; - else if (Power == 3) return 6649; - else if (Power == 4) return 6650; - else if (Power == 5) return 6651; - else if (Power == 6) return 6652; - else if (Power == 7) return 6653; - else if (Power == 8) return 6654; - else if (Power == 9) return 6655; - else if (Power == 10) return 6656; - else if (Power == 11) return 6657; - else if (Power == 12) return 6658; - else if (Power == 13) return 6659; - else if (Power == 14) return 6660; - else return 6661; - } - BlockState LightWeightedPressurePlate(); - unsigned char Power(BlockState Block); - } - namespace Lilac - { - enum class Half - { - Upper, - Lower - }; - constexpr BlockState Lilac(const enum Half Half) - { - if (Half == Half::Upper) return 7887; - else return 7888; - } - BlockState Lilac(); - enum Half Half(BlockState Block); - } - namespace LilyOfTheValley - { - constexpr BlockState LilyOfTheValley() - { - return 1424; - } - } - namespace LilyPad - { - constexpr BlockState LilyPad() - { - return 5014; - } - } - namespace LimeBanner - { - constexpr BlockState LimeBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 7977; - else if (Rotation == 1) return 7978; - else if (Rotation == 2) return 7979; - else if (Rotation == 3) return 7980; - else if (Rotation == 4) return 7981; - else if (Rotation == 5) return 7982; - else if (Rotation == 6) return 7983; - else if (Rotation == 7) return 7984; - else if (Rotation == 8) return 7985; - else if (Rotation == 9) return 7986; - else if (Rotation == 10) return 7987; - else if (Rotation == 11) return 7988; - else if (Rotation == 12) return 7989; - else if (Rotation == 13) return 7990; - else if (Rotation == 14) return 7991; - else return 7992; - } - BlockState LimeBanner(); - unsigned char Rotation(BlockState Block); - } - namespace LimeBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState LimeBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1129; - else return 1130; - else - if (Part == Part::Head) return 1131; - else return 1132; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1133; - else return 1134; - else - if (Part == Part::Head) return 1135; - else return 1136; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1137; - else return 1138; - else - if (Part == Part::Head) return 1139; - else return 1140; - else - if (Occupied) - if (Part == Part::Head) return 1141; - else return 1142; - else - if (Part == Part::Head) return 1143; - else return 1144; - } - BlockState LimeBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace LimeCarpet - { - constexpr BlockState LimeCarpet() - { - return 7871; - } - } - namespace LimeConcrete - { - constexpr BlockState LimeConcrete() - { - return 9443; - } - } - namespace LimeConcretePowder - { - constexpr BlockState LimeConcretePowder() - { - return 9459; - } - } - namespace LimeGlazedTerracotta - { - constexpr BlockState LimeGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9394; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9395; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9396; - else return 9397; - } - BlockState LimeGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace LimeShulkerBox - { - constexpr BlockState LimeShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9308; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9309; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9310; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9311; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9312; - else return 9313; - } - BlockState LimeShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace LimeStainedGlass - { - constexpr BlockState LimeStainedGlass() - { - return 4100; - } - } - namespace LimeStainedGlassPane - { - constexpr BlockState LimeStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7025; - else return 7026; - else - if (West) return 7029; - else return 7030; - else - if (South) - if (West) return 7033; - else return 7034; - else - if (West) return 7037; - else return 7038; + return 4198; + else if (Open) + if (Powered) + return 4200; else - if (North) - if (South) - if (West) return 7041; - else return 7042; - else - if (West) return 7045; - else return 7046; - else - if (South) - if (West) return 7049; - else return 7050; - else - if (West) return 7053; - else return 7054; - } - BlockState LimeStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace LimeTerracotta - { - constexpr BlockState LimeTerracotta() - { - return 6852; - } - } - namespace LimeWallBanner - { - constexpr BlockState LimeWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8173; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8174; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8175; - else return 8176; - } - BlockState LimeWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace LimeWool - { - constexpr BlockState LimeWool() - { - return 1389; - } - } - namespace Lodestone - { - constexpr BlockState Lodestone() - { - return 15838; - } - } - namespace Loom - { - constexpr BlockState Loom(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14787; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14788; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14789; - else return 14790; - } - BlockState Loom(); - eBlockFace Facing(BlockState Block); - } - namespace MagentaBanner - { - constexpr BlockState MagentaBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 7929; - else if (Rotation == 1) return 7930; - else if (Rotation == 2) return 7931; - else if (Rotation == 3) return 7932; - else if (Rotation == 4) return 7933; - else if (Rotation == 5) return 7934; - else if (Rotation == 6) return 7935; - else if (Rotation == 7) return 7936; - else if (Rotation == 8) return 7937; - else if (Rotation == 9) return 7938; - else if (Rotation == 10) return 7939; - else if (Rotation == 11) return 7940; - else if (Rotation == 12) return 7941; - else if (Rotation == 13) return 7942; - else if (Rotation == 14) return 7943; - else return 7944; - } - BlockState MagentaBanner(); - unsigned char Rotation(BlockState Block); - } - namespace MagentaBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState MagentaBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1081; - else return 1082; - else - if (Part == Part::Head) return 1083; - else return 1084; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1085; - else return 1086; - else - if (Part == Part::Head) return 1087; - else return 1088; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1089; - else return 1090; - else - if (Part == Part::Head) return 1091; - else return 1092; - else - if (Occupied) - if (Part == Part::Head) return 1093; - else return 1094; - else - if (Part == Part::Head) return 1095; - else return 1096; - } - BlockState MagentaBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace MagentaCarpet - { - constexpr BlockState MagentaCarpet() - { - return 7868; - } - } - namespace MagentaConcrete - { - constexpr BlockState MagentaConcrete() - { - return 9440; - } - } - namespace MagentaConcretePowder - { - constexpr BlockState MagentaConcretePowder() - { - return 9456; - } - } - namespace MagentaGlazedTerracotta - { - constexpr BlockState MagentaGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9382; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9383; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9384; - else return 9385; - } - BlockState MagentaGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace MagentaShulkerBox - { - constexpr BlockState MagentaShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9290; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9291; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9292; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9293; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9294; - else return 9295; - } - BlockState MagentaShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace MagentaStainedGlass - { - constexpr BlockState MagentaStainedGlass() - { - return 4097; - } - } - namespace MagentaStainedGlassPane - { - constexpr BlockState MagentaStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 6929; - else return 6930; - else - if (West) return 6933; - else return 6934; - else - if (South) - if (West) return 6937; - else return 6938; - else - if (West) return 6941; - else return 6942; + return 4202; + else if (Powered) + return 4204; + else + return 4206; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 4208; + else + return 4210; + else if (Powered) + return 4212; else - if (North) - if (South) - if (West) return 6945; - else return 6946; - else - if (West) return 6949; - else return 6950; - else - if (South) - if (West) return 6953; - else return 6954; - else - if (West) return 6957; - else return 6958; - } - BlockState MagentaStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace MagentaTerracotta - { - constexpr BlockState MagentaTerracotta() - { - return 6849; - } - } - namespace MagentaWallBanner - { - constexpr BlockState MagentaWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8161; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8162; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8163; - else return 8164; - } - BlockState MagentaWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace MagentaWool - { - constexpr BlockState MagentaWool() - { - return 1386; - } - } - namespace MagmaBlock - { - constexpr BlockState MagmaBlock() - { - return 9253; - } - } - namespace Melon - { - constexpr BlockState Melon() - { - return 4763; - } - } - namespace MelonStem - { - constexpr BlockState MelonStem(const unsigned char Age) - { - if (Age == 0) return 4780; - else if (Age == 1) return 4781; - else if (Age == 2) return 4782; - else if (Age == 3) return 4783; - else if (Age == 4) return 4784; - else if (Age == 5) return 4785; - else if (Age == 6) return 4786; - else return 4787; - } - BlockState MelonStem(); - unsigned char Age(BlockState Block); - } - namespace MossyCobblestone - { - constexpr BlockState MossyCobblestone() - { - return 1433; - } - } - namespace MossyCobblestoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState MossyCobblestoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 10814; - else if (Type == Type::Bottom) return 10816; - else return 10818; - } - BlockState MossyCobblestoneSlab(); - enum Type Type(BlockState Block); - } - namespace MossyCobblestoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState MossyCobblestoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9990; - else if (Shape == Shape::InnerLeft) return 9992; - else if (Shape == Shape::InnerRight) return 9994; - else if (Shape == Shape::OuterLeft) return 9996; - else return 9998; - else - if (Shape == Shape::Straight) return 10000; - else if (Shape == Shape::InnerLeft) return 10002; - else if (Shape == Shape::InnerRight) return 10004; - else if (Shape == Shape::OuterLeft) return 10006; - else return 10008; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10010; - else if (Shape == Shape::InnerLeft) return 10012; - else if (Shape == Shape::InnerRight) return 10014; - else if (Shape == Shape::OuterLeft) return 10016; - else return 10018; - else - if (Shape == Shape::Straight) return 10020; - else if (Shape == Shape::InnerLeft) return 10022; - else if (Shape == Shape::InnerRight) return 10024; - else if (Shape == Shape::OuterLeft) return 10026; - else return 10028; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10030; - else if (Shape == Shape::InnerLeft) return 10032; - else if (Shape == Shape::InnerRight) return 10034; - else if (Shape == Shape::OuterLeft) return 10036; - else return 10038; - else - if (Shape == Shape::Straight) return 10040; - else if (Shape == Shape::InnerLeft) return 10042; - else if (Shape == Shape::InnerRight) return 10044; - else if (Shape == Shape::OuterLeft) return 10046; - else return 10048; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10050; - else if (Shape == Shape::InnerLeft) return 10052; - else if (Shape == Shape::InnerRight) return 10054; - else if (Shape == Shape::OuterLeft) return 10056; - else return 10058; - else - if (Shape == Shape::Straight) return 10060; - else if (Shape == Shape::InnerLeft) return 10062; - else if (Shape == Shape::InnerRight) return 10064; - else if (Shape == Shape::OuterLeft) return 10066; - else return 10068; - } - BlockState MossyCobblestoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace MossyCobblestoneWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState MossyCobblestoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 5984; - else if (West == West::Low) return 5985; - else return 5986; - else - if (West == West::None) return 5990; - else if (West == West::Low) return 5991; - else return 5992; - else if (South == South::Low) - if (Up) - if (West == West::None) return 5996; - else if (West == West::Low) return 5997; - else return 5998; - else - if (West == West::None) return 6002; - else if (West == West::Low) return 6003; - else return 6004; - else - if (Up) - if (West == West::None) return 6008; - else if (West == West::Low) return 6009; - else return 6010; - else - if (West == West::None) return 6014; - else if (West == West::Low) return 6015; - else return 6016; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 6020; - else if (West == West::Low) return 6021; - else return 6022; - else - if (West == West::None) return 6026; - else if (West == West::Low) return 6027; - else return 6028; - else if (South == South::Low) - if (Up) - if (West == West::None) return 6032; - else if (West == West::Low) return 6033; - else return 6034; - else - if (West == West::None) return 6038; - else if (West == West::Low) return 6039; - else return 6040; - else - if (Up) - if (West == West::None) return 6044; - else if (West == West::Low) return 6045; - else return 6046; - else - if (West == West::None) return 6050; - else if (West == West::Low) return 6051; - else return 6052; - else - if (South == South::None) - if (Up) - if (West == West::None) return 6056; - else if (West == West::Low) return 6057; - else return 6058; - else - if (West == West::None) return 6062; - else if (West == West::Low) return 6063; - else return 6064; - else if (South == South::Low) - if (Up) - if (West == West::None) return 6068; - else if (West == West::Low) return 6069; - else return 6070; - else - if (West == West::None) return 6074; - else if (West == West::Low) return 6075; - else return 6076; - else - if (Up) - if (West == West::None) return 6080; - else if (West == West::Low) return 6081; - else return 6082; - else - if (West == West::None) return 6086; - else if (West == West::Low) return 6087; - else return 6088; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 6092; - else if (West == West::Low) return 6093; - else return 6094; - else - if (West == West::None) return 6098; - else if (West == West::Low) return 6099; - else return 6100; - else if (South == South::Low) - if (Up) - if (West == West::None) return 6104; - else if (West == West::Low) return 6105; - else return 6106; - else - if (West == West::None) return 6110; - else if (West == West::Low) return 6111; - else return 6112; - else - if (Up) - if (West == West::None) return 6116; - else if (West == West::Low) return 6117; - else return 6118; - else - if (West == West::None) return 6122; - else if (West == West::Low) return 6123; - else return 6124; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 6128; - else if (West == West::Low) return 6129; - else return 6130; - else - if (West == West::None) return 6134; - else if (West == West::Low) return 6135; - else return 6136; - else if (South == South::Low) - if (Up) - if (West == West::None) return 6140; - else if (West == West::Low) return 6141; - else return 6142; - else - if (West == West::None) return 6146; - else if (West == West::Low) return 6147; - else return 6148; - else - if (Up) - if (West == West::None) return 6152; - else if (West == West::Low) return 6153; - else return 6154; - else - if (West == West::None) return 6158; - else if (West == West::Low) return 6159; - else return 6160; - else - if (South == South::None) - if (Up) - if (West == West::None) return 6164; - else if (West == West::Low) return 6165; - else return 6166; - else - if (West == West::None) return 6170; - else if (West == West::Low) return 6171; - else return 6172; - else if (South == South::Low) - if (Up) - if (West == West::None) return 6176; - else if (West == West::Low) return 6177; - else return 6178; - else - if (West == West::None) return 6182; - else if (West == West::Low) return 6183; - else return 6184; - else - if (Up) - if (West == West::None) return 6188; - else if (West == West::Low) return 6189; - else return 6190; - else - if (West == West::None) return 6194; - else if (West == West::Low) return 6195; - else return 6196; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 6200; - else if (West == West::Low) return 6201; - else return 6202; - else - if (West == West::None) return 6206; - else if (West == West::Low) return 6207; - else return 6208; - else if (South == South::Low) - if (Up) - if (West == West::None) return 6212; - else if (West == West::Low) return 6213; - else return 6214; - else - if (West == West::None) return 6218; - else if (West == West::Low) return 6219; - else return 6220; - else - if (Up) - if (West == West::None) return 6224; - else if (West == West::Low) return 6225; - else return 6226; - else - if (West == West::None) return 6230; - else if (West == West::Low) return 6231; - else return 6232; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 6236; - else if (West == West::Low) return 6237; - else return 6238; - else - if (West == West::None) return 6242; - else if (West == West::Low) return 6243; - else return 6244; - else if (South == South::Low) - if (Up) - if (West == West::None) return 6248; - else if (West == West::Low) return 6249; - else return 6250; - else - if (West == West::None) return 6254; - else if (West == West::Low) return 6255; - else return 6256; - else - if (Up) - if (West == West::None) return 6260; - else if (West == West::Low) return 6261; - else return 6262; - else - if (West == West::None) return 6266; - else if (West == West::Low) return 6267; - else return 6268; - else - if (South == South::None) - if (Up) - if (West == West::None) return 6272; - else if (West == West::Low) return 6273; - else return 6274; - else - if (West == West::None) return 6278; - else if (West == West::Low) return 6279; - else return 6280; - else if (South == South::Low) - if (Up) - if (West == West::None) return 6284; - else if (West == West::Low) return 6285; - else return 6286; - else - if (West == West::None) return 6290; - else if (West == West::Low) return 6291; - else return 6292; - else - if (Up) - if (West == West::None) return 6296; - else if (West == West::Low) return 6297; - else return 6298; - else - if (West == West::None) return 6302; - else if (West == West::Low) return 6303; - else return 6304; - } - BlockState MossyCobblestoneWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace MossyStoneBrickSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState MossyStoneBrickSlab(const enum Type Type) - { - if (Type == Type::Top) return 10802; - else if (Type == Type::Bottom) return 10804; - else return 10806; - } - BlockState MossyStoneBrickSlab(); - enum Type Type(BlockState Block); - } - namespace MossyStoneBrickStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState MossyStoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9830; - else if (Shape == Shape::InnerLeft) return 9832; - else if (Shape == Shape::InnerRight) return 9834; - else if (Shape == Shape::OuterLeft) return 9836; - else return 9838; - else - if (Shape == Shape::Straight) return 9840; - else if (Shape == Shape::InnerLeft) return 9842; - else if (Shape == Shape::InnerRight) return 9844; - else if (Shape == Shape::OuterLeft) return 9846; - else return 9848; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9850; - else if (Shape == Shape::InnerLeft) return 9852; - else if (Shape == Shape::InnerRight) return 9854; - else if (Shape == Shape::OuterLeft) return 9856; - else return 9858; - else - if (Shape == Shape::Straight) return 9860; - else if (Shape == Shape::InnerLeft) return 9862; - else if (Shape == Shape::InnerRight) return 9864; - else if (Shape == Shape::OuterLeft) return 9866; - else return 9868; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9870; - else if (Shape == Shape::InnerLeft) return 9872; - else if (Shape == Shape::InnerRight) return 9874; - else if (Shape == Shape::OuterLeft) return 9876; - else return 9878; - else - if (Shape == Shape::Straight) return 9880; - else if (Shape == Shape::InnerLeft) return 9882; - else if (Shape == Shape::InnerRight) return 9884; - else if (Shape == Shape::OuterLeft) return 9886; - else return 9888; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9890; - else if (Shape == Shape::InnerLeft) return 9892; - else if (Shape == Shape::InnerRight) return 9894; - else if (Shape == Shape::OuterLeft) return 9896; - else return 9898; - else - if (Shape == Shape::Straight) return 9900; - else if (Shape == Shape::InnerLeft) return 9902; - else if (Shape == Shape::InnerRight) return 9904; - else if (Shape == Shape::OuterLeft) return 9906; - else return 9908; - } - BlockState MossyStoneBrickStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace MossyStoneBrickWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState MossyStoneBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11842; - else if (West == West::Low) return 11843; - else return 11844; - else - if (West == West::None) return 11848; - else if (West == West::Low) return 11849; - else return 11850; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11854; - else if (West == West::Low) return 11855; - else return 11856; - else - if (West == West::None) return 11860; - else if (West == West::Low) return 11861; - else return 11862; - else - if (Up) - if (West == West::None) return 11866; - else if (West == West::Low) return 11867; - else return 11868; - else - if (West == West::None) return 11872; - else if (West == West::Low) return 11873; - else return 11874; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11878; - else if (West == West::Low) return 11879; - else return 11880; - else - if (West == West::None) return 11884; - else if (West == West::Low) return 11885; - else return 11886; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11890; - else if (West == West::Low) return 11891; - else return 11892; - else - if (West == West::None) return 11896; - else if (West == West::Low) return 11897; - else return 11898; - else - if (Up) - if (West == West::None) return 11902; - else if (West == West::Low) return 11903; - else return 11904; - else - if (West == West::None) return 11908; - else if (West == West::Low) return 11909; - else return 11910; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11914; - else if (West == West::Low) return 11915; - else return 11916; - else - if (West == West::None) return 11920; - else if (West == West::Low) return 11921; - else return 11922; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11926; - else if (West == West::Low) return 11927; - else return 11928; - else - if (West == West::None) return 11932; - else if (West == West::Low) return 11933; - else return 11934; - else - if (Up) - if (West == West::None) return 11938; - else if (West == West::Low) return 11939; - else return 11940; - else - if (West == West::None) return 11944; - else if (West == West::Low) return 11945; - else return 11946; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11950; - else if (West == West::Low) return 11951; - else return 11952; - else - if (West == West::None) return 11956; - else if (West == West::Low) return 11957; - else return 11958; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11962; - else if (West == West::Low) return 11963; - else return 11964; - else - if (West == West::None) return 11968; - else if (West == West::Low) return 11969; - else return 11970; - else - if (Up) - if (West == West::None) return 11974; - else if (West == West::Low) return 11975; - else return 11976; - else - if (West == West::None) return 11980; - else if (West == West::Low) return 11981; - else return 11982; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11986; - else if (West == West::Low) return 11987; - else return 11988; - else - if (West == West::None) return 11992; - else if (West == West::Low) return 11993; - else return 11994; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11998; - else if (West == West::Low) return 11999; - else return 12000; - else - if (West == West::None) return 12004; - else if (West == West::Low) return 12005; - else return 12006; - else - if (Up) - if (West == West::None) return 12010; - else if (West == West::Low) return 12011; - else return 12012; - else - if (West == West::None) return 12016; - else if (West == West::Low) return 12017; - else return 12018; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12022; - else if (West == West::Low) return 12023; - else return 12024; - else - if (West == West::None) return 12028; - else if (West == West::Low) return 12029; - else return 12030; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12034; - else if (West == West::Low) return 12035; - else return 12036; - else - if (West == West::None) return 12040; - else if (West == West::Low) return 12041; - else return 12042; - else - if (Up) - if (West == West::None) return 12046; - else if (West == West::Low) return 12047; - else return 12048; - else - if (West == West::None) return 12052; - else if (West == West::Low) return 12053; - else return 12054; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12058; - else if (West == West::Low) return 12059; - else return 12060; - else - if (West == West::None) return 12064; - else if (West == West::Low) return 12065; - else return 12066; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12070; - else if (West == West::Low) return 12071; - else return 12072; - else - if (West == West::None) return 12076; - else if (West == West::Low) return 12077; - else return 12078; - else - if (Up) - if (West == West::None) return 12082; - else if (West == West::Low) return 12083; - else return 12084; - else - if (West == West::None) return 12088; - else if (West == West::Low) return 12089; - else return 12090; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12094; - else if (West == West::Low) return 12095; - else return 12096; - else - if (West == West::None) return 12100; - else if (West == West::Low) return 12101; - else return 12102; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12106; - else if (West == West::Low) return 12107; - else return 12108; - else - if (West == West::None) return 12112; - else if (West == West::Low) return 12113; - else return 12114; - else - if (Up) - if (West == West::None) return 12118; - else if (West == West::Low) return 12119; - else return 12120; - else - if (West == West::None) return 12124; - else if (West == West::Low) return 12125; - else return 12126; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12130; - else if (West == West::Low) return 12131; - else return 12132; - else - if (West == West::None) return 12136; - else if (West == West::Low) return 12137; - else return 12138; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12142; - else if (West == West::Low) return 12143; - else return 12144; - else - if (West == West::None) return 12148; - else if (West == West::Low) return 12149; - else return 12150; - else - if (Up) - if (West == West::None) return 12154; - else if (West == West::Low) return 12155; - else return 12156; - else - if (West == West::None) return 12160; - else if (West == West::Low) return 12161; - else return 12162; - } - BlockState MossyStoneBrickWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace MossyStoneBricks - { - constexpr BlockState MossyStoneBricks() - { - return 4496; - } - } - namespace MovingPiston - { - enum class Type - { - Normal, - Sticky - }; - constexpr BlockState MovingPiston(const eBlockFace Facing, const enum Type Type) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Type == Type::Normal) return 1400; - else return 1401; - else if (Facing == eBlockFace::BLOCK_FACE_XP) - if (Type == Type::Normal) return 1402; - else return 1403; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Type == Type::Normal) return 1404; - else return 1405; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Type == Type::Normal) return 1406; - else return 1407; - else if (Facing == eBlockFace::BLOCK_FACE_YP) - if (Type == Type::Normal) return 1408; - else return 1409; - else - if (Type == Type::Normal) return 1410; - else return 1411; - } - BlockState MovingPiston(); - eBlockFace Facing(BlockState Block); - enum Type Type(BlockState Block); - } - namespace MushroomStem - { - constexpr BlockState MushroomStem(const bool Down, const bool East, const bool North, const bool South, const bool Up, const bool West) - { - if (Down) - if (East) - if (North) - if (South) - if (Up) - if (West) return 4633; - else return 4634; - else - if (West) return 4635; - else return 4636; - else - if (Up) - if (West) return 4637; - else return 4638; - else - if (West) return 4639; - else return 4640; - else - if (South) - if (Up) - if (West) return 4641; - else return 4642; - else - if (West) return 4643; - else return 4644; - else - if (Up) - if (West) return 4645; - else return 4646; - else - if (West) return 4647; - else return 4648; - else - if (North) - if (South) - if (Up) - if (West) return 4649; - else return 4650; - else - if (West) return 4651; - else return 4652; - else - if (Up) - if (West) return 4653; - else return 4654; - else - if (West) return 4655; - else return 4656; - else - if (South) - if (Up) - if (West) return 4657; - else return 4658; - else - if (West) return 4659; - else return 4660; - else - if (Up) - if (West) return 4661; - else return 4662; - else - if (West) return 4663; - else return 4664; + return 4214; + else if (Open) + if (Powered) + return 4216; else - if (East) - if (North) - if (South) - if (Up) - if (West) return 4665; - else return 4666; - else - if (West) return 4667; - else return 4668; - else - if (Up) - if (West) return 4669; - else return 4670; - else - if (West) return 4671; - else return 4672; - else - if (South) - if (Up) - if (West) return 4673; - else return 4674; - else - if (West) return 4675; - else return 4676; - else - if (Up) - if (West) return 4677; - else return 4678; - else - if (West) return 4679; - else return 4680; - else - if (North) - if (South) - if (Up) - if (West) return 4681; - else return 4682; - else - if (West) return 4683; - else return 4684; - else - if (Up) - if (West) return 4685; - else return 4686; - else - if (West) return 4687; - else return 4688; - else - if (South) - if (Up) - if (West) return 4689; - else return 4690; - else - if (West) return 4691; - else return 4692; - else - if (Up) - if (West) return 4693; - else return 4694; - else - if (West) return 4695; - else return 4696; - } - BlockState MushroomStem(); - bool Down(BlockState Block); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool Up(BlockState Block); - bool West(BlockState Block); - } - namespace Mycelium - { - constexpr BlockState Mycelium(const bool Snowy) - { - if (Snowy) return 5012; - else return 5013; - } - BlockState Mycelium(); - bool Snowy(BlockState Block); - } - namespace NetherBrickFence - { - constexpr BlockState NetherBrickFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 5018; - else return 5019; - else - if (West) return 5022; - else return 5023; - else - if (South) - if (West) return 5026; - else return 5027; - else - if (West) return 5030; - else return 5031; + return 4218; + else if (Powered) + return 4220; + else + return 4222; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 4224; else - if (North) - if (South) - if (West) return 5034; - else return 5035; - else - if (West) return 5038; - else return 5039; - else - if (South) - if (West) return 5042; - else return 5043; - else - if (West) return 5046; - else return 5047; - } - BlockState NetherBrickFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace NetherBrickSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState NetherBrickSlab(const enum Type Type) - { - if (Type == Type::Top) return 8385; - else if (Type == Type::Bottom) return 8387; - else return 8389; - } - BlockState NetherBrickSlab(); - enum Type Type(BlockState Block); - } - namespace NetherBrickStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState NetherBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5049; - else if (Shape == Shape::InnerLeft) return 5051; - else if (Shape == Shape::InnerRight) return 5053; - else if (Shape == Shape::OuterLeft) return 5055; - else return 5057; - else - if (Shape == Shape::Straight) return 5059; - else if (Shape == Shape::InnerLeft) return 5061; - else if (Shape == Shape::InnerRight) return 5063; - else if (Shape == Shape::OuterLeft) return 5065; - else return 5067; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5069; - else if (Shape == Shape::InnerLeft) return 5071; - else if (Shape == Shape::InnerRight) return 5073; - else if (Shape == Shape::OuterLeft) return 5075; - else return 5077; - else - if (Shape == Shape::Straight) return 5079; - else if (Shape == Shape::InnerLeft) return 5081; - else if (Shape == Shape::InnerRight) return 5083; - else if (Shape == Shape::OuterLeft) return 5085; - else return 5087; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5089; - else if (Shape == Shape::InnerLeft) return 5091; - else if (Shape == Shape::InnerRight) return 5093; - else if (Shape == Shape::OuterLeft) return 5095; - else return 5097; - else - if (Shape == Shape::Straight) return 5099; - else if (Shape == Shape::InnerLeft) return 5101; - else if (Shape == Shape::InnerRight) return 5103; - else if (Shape == Shape::OuterLeft) return 5105; - else return 5107; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5109; - else if (Shape == Shape::InnerLeft) return 5111; - else if (Shape == Shape::InnerRight) return 5113; - else if (Shape == Shape::OuterLeft) return 5115; - else return 5117; - else - if (Shape == Shape::Straight) return 5119; - else if (Shape == Shape::InnerLeft) return 5121; - else if (Shape == Shape::InnerRight) return 5123; - else if (Shape == Shape::OuterLeft) return 5125; - else return 5127; - } - BlockState NetherBrickStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace NetherBrickWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState NetherBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12814; - else if (West == West::Low) return 12815; - else return 12816; - else - if (West == West::None) return 12820; - else if (West == West::Low) return 12821; - else return 12822; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12826; - else if (West == West::Low) return 12827; - else return 12828; - else - if (West == West::None) return 12832; - else if (West == West::Low) return 12833; - else return 12834; - else - if (Up) - if (West == West::None) return 12838; - else if (West == West::Low) return 12839; - else return 12840; - else - if (West == West::None) return 12844; - else if (West == West::Low) return 12845; - else return 12846; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12850; - else if (West == West::Low) return 12851; - else return 12852; - else - if (West == West::None) return 12856; - else if (West == West::Low) return 12857; - else return 12858; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12862; - else if (West == West::Low) return 12863; - else return 12864; - else - if (West == West::None) return 12868; - else if (West == West::Low) return 12869; - else return 12870; - else - if (Up) - if (West == West::None) return 12874; - else if (West == West::Low) return 12875; - else return 12876; - else - if (West == West::None) return 12880; - else if (West == West::Low) return 12881; - else return 12882; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12886; - else if (West == West::Low) return 12887; - else return 12888; - else - if (West == West::None) return 12892; - else if (West == West::Low) return 12893; - else return 12894; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12898; - else if (West == West::Low) return 12899; - else return 12900; - else - if (West == West::None) return 12904; - else if (West == West::Low) return 12905; - else return 12906; - else - if (Up) - if (West == West::None) return 12910; - else if (West == West::Low) return 12911; - else return 12912; - else - if (West == West::None) return 12916; - else if (West == West::Low) return 12917; - else return 12918; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12922; - else if (West == West::Low) return 12923; - else return 12924; - else - if (West == West::None) return 12928; - else if (West == West::Low) return 12929; - else return 12930; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12934; - else if (West == West::Low) return 12935; - else return 12936; - else - if (West == West::None) return 12940; - else if (West == West::Low) return 12941; - else return 12942; - else - if (Up) - if (West == West::None) return 12946; - else if (West == West::Low) return 12947; - else return 12948; - else - if (West == West::None) return 12952; - else if (West == West::Low) return 12953; - else return 12954; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12958; - else if (West == West::Low) return 12959; - else return 12960; - else - if (West == West::None) return 12964; - else if (West == West::Low) return 12965; - else return 12966; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12970; - else if (West == West::Low) return 12971; - else return 12972; - else - if (West == West::None) return 12976; - else if (West == West::Low) return 12977; - else return 12978; - else - if (Up) - if (West == West::None) return 12982; - else if (West == West::Low) return 12983; - else return 12984; - else - if (West == West::None) return 12988; - else if (West == West::Low) return 12989; - else return 12990; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12994; - else if (West == West::Low) return 12995; - else return 12996; - else - if (West == West::None) return 13000; - else if (West == West::Low) return 13001; - else return 13002; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13006; - else if (West == West::Low) return 13007; - else return 13008; - else - if (West == West::None) return 13012; - else if (West == West::Low) return 13013; - else return 13014; - else - if (Up) - if (West == West::None) return 13018; - else if (West == West::Low) return 13019; - else return 13020; - else - if (West == West::None) return 13024; - else if (West == West::Low) return 13025; - else return 13026; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13030; - else if (West == West::Low) return 13031; - else return 13032; - else - if (West == West::None) return 13036; - else if (West == West::Low) return 13037; - else return 13038; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13042; - else if (West == West::Low) return 13043; - else return 13044; - else - if (West == West::None) return 13048; - else if (West == West::Low) return 13049; - else return 13050; - else - if (Up) - if (West == West::None) return 13054; - else if (West == West::Low) return 13055; - else return 13056; - else - if (West == West::None) return 13060; - else if (West == West::Low) return 13061; - else return 13062; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13066; - else if (West == West::Low) return 13067; - else return 13068; - else - if (West == West::None) return 13072; - else if (West == West::Low) return 13073; - else return 13074; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13078; - else if (West == West::Low) return 13079; - else return 13080; - else - if (West == West::None) return 13084; - else if (West == West::Low) return 13085; - else return 13086; - else - if (Up) - if (West == West::None) return 13090; - else if (West == West::Low) return 13091; - else return 13092; - else - if (West == West::None) return 13096; - else if (West == West::Low) return 13097; - else return 13098; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13102; - else if (West == West::Low) return 13103; - else return 13104; - else - if (West == West::None) return 13108; - else if (West == West::Low) return 13109; - else return 13110; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13114; - else if (West == West::Low) return 13115; - else return 13116; - else - if (West == West::None) return 13120; - else if (West == West::Low) return 13121; - else return 13122; - else - if (Up) - if (West == West::None) return 13126; - else if (West == West::Low) return 13127; - else return 13128; - else - if (West == West::None) return 13132; - else if (West == West::Low) return 13133; - else return 13134; - } - BlockState NetherBrickWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace NetherBricks - { - constexpr BlockState NetherBricks() - { - return 5015; - } - } - namespace NetherGoldOre - { - constexpr BlockState NetherGoldOre() - { - return 72; - } - } - namespace NetherPortal - { - enum class Axis - { - X, - Z - }; - constexpr BlockState NetherPortal(const enum Axis Axis) - { - if (Axis == Axis::X) return 4014; - else return 4015; - } - BlockState NetherPortal(); - enum Axis Axis(BlockState Block); - } - namespace NetherQuartzOre - { - constexpr BlockState NetherQuartzOre() - { - return 6727; - } - } - namespace NetherSprouts - { - constexpr BlockState NetherSprouts() - { - return 14974; - } - } - namespace NetherWart - { - constexpr BlockState NetherWart(const unsigned char Age) - { - if (Age == 0) return 5128; - else if (Age == 1) return 5129; - else if (Age == 2) return 5130; - else return 5131; - } - BlockState NetherWart(); - unsigned char Age(BlockState Block); - } - namespace NetherWartBlock - { - constexpr BlockState NetherWartBlock() - { - return 9254; - } - } - namespace NetheriteBlock - { - constexpr BlockState NetheriteBlock() - { - return 15826; - } - } - namespace Netherrack - { - constexpr BlockState Netherrack() - { - return 3999; - } - } - namespace NoteBlock - { - enum class Instrument - { - Harp, - Basedrum, - Snare, - Hat, - Bass, - Flute, - Bell, - Guitar, - Chime, - Xylophone, - IronXylophone, - CowBell, - Didgeridoo, - Bit, - Banjo, - Pling - }; - constexpr BlockState NoteBlock(const enum Instrument Instrument, const unsigned char Note, const bool Powered) - { - if (Instrument == Instrument::Harp) - if (Note == 0) - if (Powered) return 249; - else return 250; - else if (Note == 1) - if (Powered) return 251; - else return 252; - else if (Note == 2) - if (Powered) return 253; - else return 254; - else if (Note == 3) - if (Powered) return 255; - else return 256; - else if (Note == 4) - if (Powered) return 257; - else return 258; - else if (Note == 5) - if (Powered) return 259; - else return 260; - else if (Note == 6) - if (Powered) return 261; - else return 262; - else if (Note == 7) - if (Powered) return 263; - else return 264; - else if (Note == 8) - if (Powered) return 265; - else return 266; - else if (Note == 9) - if (Powered) return 267; - else return 268; - else if (Note == 10) - if (Powered) return 269; - else return 270; - else if (Note == 11) - if (Powered) return 271; - else return 272; - else if (Note == 12) - if (Powered) return 273; - else return 274; - else if (Note == 13) - if (Powered) return 275; - else return 276; - else if (Note == 14) - if (Powered) return 277; - else return 278; - else if (Note == 15) - if (Powered) return 279; - else return 280; - else if (Note == 16) - if (Powered) return 281; - else return 282; - else if (Note == 17) - if (Powered) return 283; - else return 284; - else if (Note == 18) - if (Powered) return 285; - else return 286; - else if (Note == 19) - if (Powered) return 287; - else return 288; - else if (Note == 20) - if (Powered) return 289; - else return 290; - else if (Note == 21) - if (Powered) return 291; - else return 292; - else if (Note == 22) - if (Powered) return 293; - else return 294; - else if (Note == 23) - if (Powered) return 295; - else return 296; - else - if (Powered) return 297; - else return 298; - else if (Instrument == Instrument::Basedrum) - if (Note == 0) - if (Powered) return 299; - else return 300; - else if (Note == 1) - if (Powered) return 301; - else return 302; - else if (Note == 2) - if (Powered) return 303; - else return 304; - else if (Note == 3) - if (Powered) return 305; - else return 306; - else if (Note == 4) - if (Powered) return 307; - else return 308; - else if (Note == 5) - if (Powered) return 309; - else return 310; - else if (Note == 6) - if (Powered) return 311; - else return 312; - else if (Note == 7) - if (Powered) return 313; - else return 314; - else if (Note == 8) - if (Powered) return 315; - else return 316; - else if (Note == 9) - if (Powered) return 317; - else return 318; - else if (Note == 10) - if (Powered) return 319; - else return 320; - else if (Note == 11) - if (Powered) return 321; - else return 322; - else if (Note == 12) - if (Powered) return 323; - else return 324; - else if (Note == 13) - if (Powered) return 325; - else return 326; - else if (Note == 14) - if (Powered) return 327; - else return 328; - else if (Note == 15) - if (Powered) return 329; - else return 330; - else if (Note == 16) - if (Powered) return 331; - else return 332; - else if (Note == 17) - if (Powered) return 333; - else return 334; - else if (Note == 18) - if (Powered) return 335; - else return 336; - else if (Note == 19) - if (Powered) return 337; - else return 338; - else if (Note == 20) - if (Powered) return 339; - else return 340; - else if (Note == 21) - if (Powered) return 341; - else return 342; - else if (Note == 22) - if (Powered) return 343; - else return 344; - else if (Note == 23) - if (Powered) return 345; - else return 346; - else - if (Powered) return 347; - else return 348; - else if (Instrument == Instrument::Snare) - if (Note == 0) - if (Powered) return 349; - else return 350; - else if (Note == 1) - if (Powered) return 351; - else return 352; - else if (Note == 2) - if (Powered) return 353; - else return 354; - else if (Note == 3) - if (Powered) return 355; - else return 356; - else if (Note == 4) - if (Powered) return 357; - else return 358; - else if (Note == 5) - if (Powered) return 359; - else return 360; - else if (Note == 6) - if (Powered) return 361; - else return 362; - else if (Note == 7) - if (Powered) return 363; - else return 364; - else if (Note == 8) - if (Powered) return 365; - else return 366; - else if (Note == 9) - if (Powered) return 367; - else return 368; - else if (Note == 10) - if (Powered) return 369; - else return 370; - else if (Note == 11) - if (Powered) return 371; - else return 372; - else if (Note == 12) - if (Powered) return 373; - else return 374; - else if (Note == 13) - if (Powered) return 375; - else return 376; - else if (Note == 14) - if (Powered) return 377; - else return 378; - else if (Note == 15) - if (Powered) return 379; - else return 380; - else if (Note == 16) - if (Powered) return 381; - else return 382; - else if (Note == 17) - if (Powered) return 383; - else return 384; - else if (Note == 18) - if (Powered) return 385; - else return 386; - else if (Note == 19) - if (Powered) return 387; - else return 388; - else if (Note == 20) - if (Powered) return 389; - else return 390; - else if (Note == 21) - if (Powered) return 391; - else return 392; - else if (Note == 22) - if (Powered) return 393; - else return 394; - else if (Note == 23) - if (Powered) return 395; - else return 396; - else - if (Powered) return 397; - else return 398; - else if (Instrument == Instrument::Hat) - if (Note == 0) - if (Powered) return 399; - else return 400; - else if (Note == 1) - if (Powered) return 401; - else return 402; - else if (Note == 2) - if (Powered) return 403; - else return 404; - else if (Note == 3) - if (Powered) return 405; - else return 406; - else if (Note == 4) - if (Powered) return 407; - else return 408; - else if (Note == 5) - if (Powered) return 409; - else return 410; - else if (Note == 6) - if (Powered) return 411; - else return 412; - else if (Note == 7) - if (Powered) return 413; - else return 414; - else if (Note == 8) - if (Powered) return 415; - else return 416; - else if (Note == 9) - if (Powered) return 417; - else return 418; - else if (Note == 10) - if (Powered) return 419; - else return 420; - else if (Note == 11) - if (Powered) return 421; - else return 422; - else if (Note == 12) - if (Powered) return 423; - else return 424; - else if (Note == 13) - if (Powered) return 425; - else return 426; - else if (Note == 14) - if (Powered) return 427; - else return 428; - else if (Note == 15) - if (Powered) return 429; - else return 430; - else if (Note == 16) - if (Powered) return 431; - else return 432; - else if (Note == 17) - if (Powered) return 433; - else return 434; - else if (Note == 18) - if (Powered) return 435; - else return 436; - else if (Note == 19) - if (Powered) return 437; - else return 438; - else if (Note == 20) - if (Powered) return 439; - else return 440; - else if (Note == 21) - if (Powered) return 441; - else return 442; - else if (Note == 22) - if (Powered) return 443; - else return 444; - else if (Note == 23) - if (Powered) return 445; - else return 446; - else - if (Powered) return 447; - else return 448; - else if (Instrument == Instrument::Bass) - if (Note == 0) - if (Powered) return 449; - else return 450; - else if (Note == 1) - if (Powered) return 451; - else return 452; - else if (Note == 2) - if (Powered) return 453; - else return 454; - else if (Note == 3) - if (Powered) return 455; - else return 456; - else if (Note == 4) - if (Powered) return 457; - else return 458; - else if (Note == 5) - if (Powered) return 459; - else return 460; - else if (Note == 6) - if (Powered) return 461; - else return 462; - else if (Note == 7) - if (Powered) return 463; - else return 464; - else if (Note == 8) - if (Powered) return 465; - else return 466; - else if (Note == 9) - if (Powered) return 467; - else return 468; - else if (Note == 10) - if (Powered) return 469; - else return 470; - else if (Note == 11) - if (Powered) return 471; - else return 472; - else if (Note == 12) - if (Powered) return 473; - else return 474; - else if (Note == 13) - if (Powered) return 475; - else return 476; - else if (Note == 14) - if (Powered) return 477; - else return 478; - else if (Note == 15) - if (Powered) return 479; - else return 480; - else if (Note == 16) - if (Powered) return 481; - else return 482; - else if (Note == 17) - if (Powered) return 483; - else return 484; - else if (Note == 18) - if (Powered) return 485; - else return 486; - else if (Note == 19) - if (Powered) return 487; - else return 488; - else if (Note == 20) - if (Powered) return 489; - else return 490; - else if (Note == 21) - if (Powered) return 491; - else return 492; - else if (Note == 22) - if (Powered) return 493; - else return 494; - else if (Note == 23) - if (Powered) return 495; - else return 496; - else - if (Powered) return 497; - else return 498; - else if (Instrument == Instrument::Flute) - if (Note == 0) - if (Powered) return 499; - else return 500; - else if (Note == 1) - if (Powered) return 501; - else return 502; - else if (Note == 2) - if (Powered) return 503; - else return 504; - else if (Note == 3) - if (Powered) return 505; - else return 506; - else if (Note == 4) - if (Powered) return 507; - else return 508; - else if (Note == 5) - if (Powered) return 509; - else return 510; - else if (Note == 6) - if (Powered) return 511; - else return 512; - else if (Note == 7) - if (Powered) return 513; - else return 514; - else if (Note == 8) - if (Powered) return 515; - else return 516; - else if (Note == 9) - if (Powered) return 517; - else return 518; - else if (Note == 10) - if (Powered) return 519; - else return 520; - else if (Note == 11) - if (Powered) return 521; - else return 522; - else if (Note == 12) - if (Powered) return 523; - else return 524; - else if (Note == 13) - if (Powered) return 525; - else return 526; - else if (Note == 14) - if (Powered) return 527; - else return 528; - else if (Note == 15) - if (Powered) return 529; - else return 530; - else if (Note == 16) - if (Powered) return 531; - else return 532; - else if (Note == 17) - if (Powered) return 533; - else return 534; - else if (Note == 18) - if (Powered) return 535; - else return 536; - else if (Note == 19) - if (Powered) return 537; - else return 538; - else if (Note == 20) - if (Powered) return 539; - else return 540; - else if (Note == 21) - if (Powered) return 541; - else return 542; - else if (Note == 22) - if (Powered) return 543; - else return 544; - else if (Note == 23) - if (Powered) return 545; - else return 546; - else - if (Powered) return 547; - else return 548; - else if (Instrument == Instrument::Bell) - if (Note == 0) - if (Powered) return 549; - else return 550; - else if (Note == 1) - if (Powered) return 551; - else return 552; - else if (Note == 2) - if (Powered) return 553; - else return 554; - else if (Note == 3) - if (Powered) return 555; - else return 556; - else if (Note == 4) - if (Powered) return 557; - else return 558; - else if (Note == 5) - if (Powered) return 559; - else return 560; - else if (Note == 6) - if (Powered) return 561; - else return 562; - else if (Note == 7) - if (Powered) return 563; - else return 564; - else if (Note == 8) - if (Powered) return 565; - else return 566; - else if (Note == 9) - if (Powered) return 567; - else return 568; - else if (Note == 10) - if (Powered) return 569; - else return 570; - else if (Note == 11) - if (Powered) return 571; - else return 572; - else if (Note == 12) - if (Powered) return 573; - else return 574; - else if (Note == 13) - if (Powered) return 575; - else return 576; - else if (Note == 14) - if (Powered) return 577; - else return 578; - else if (Note == 15) - if (Powered) return 579; - else return 580; - else if (Note == 16) - if (Powered) return 581; - else return 582; - else if (Note == 17) - if (Powered) return 583; - else return 584; - else if (Note == 18) - if (Powered) return 585; - else return 586; - else if (Note == 19) - if (Powered) return 587; - else return 588; - else if (Note == 20) - if (Powered) return 589; - else return 590; - else if (Note == 21) - if (Powered) return 591; - else return 592; - else if (Note == 22) - if (Powered) return 593; - else return 594; - else if (Note == 23) - if (Powered) return 595; - else return 596; - else - if (Powered) return 597; - else return 598; - else if (Instrument == Instrument::Guitar) - if (Note == 0) - if (Powered) return 599; - else return 600; - else if (Note == 1) - if (Powered) return 601; - else return 602; - else if (Note == 2) - if (Powered) return 603; - else return 604; - else if (Note == 3) - if (Powered) return 605; - else return 606; - else if (Note == 4) - if (Powered) return 607; - else return 608; - else if (Note == 5) - if (Powered) return 609; - else return 610; - else if (Note == 6) - if (Powered) return 611; - else return 612; - else if (Note == 7) - if (Powered) return 613; - else return 614; - else if (Note == 8) - if (Powered) return 615; - else return 616; - else if (Note == 9) - if (Powered) return 617; - else return 618; - else if (Note == 10) - if (Powered) return 619; - else return 620; - else if (Note == 11) - if (Powered) return 621; - else return 622; - else if (Note == 12) - if (Powered) return 623; - else return 624; - else if (Note == 13) - if (Powered) return 625; - else return 626; - else if (Note == 14) - if (Powered) return 627; - else return 628; - else if (Note == 15) - if (Powered) return 629; - else return 630; - else if (Note == 16) - if (Powered) return 631; - else return 632; - else if (Note == 17) - if (Powered) return 633; - else return 634; - else if (Note == 18) - if (Powered) return 635; - else return 636; - else if (Note == 19) - if (Powered) return 637; - else return 638; - else if (Note == 20) - if (Powered) return 639; - else return 640; - else if (Note == 21) - if (Powered) return 641; - else return 642; - else if (Note == 22) - if (Powered) return 643; - else return 644; - else if (Note == 23) - if (Powered) return 645; - else return 646; - else - if (Powered) return 647; - else return 648; - else if (Instrument == Instrument::Chime) - if (Note == 0) - if (Powered) return 649; - else return 650; - else if (Note == 1) - if (Powered) return 651; - else return 652; - else if (Note == 2) - if (Powered) return 653; - else return 654; - else if (Note == 3) - if (Powered) return 655; - else return 656; - else if (Note == 4) - if (Powered) return 657; - else return 658; - else if (Note == 5) - if (Powered) return 659; - else return 660; - else if (Note == 6) - if (Powered) return 661; - else return 662; - else if (Note == 7) - if (Powered) return 663; - else return 664; - else if (Note == 8) - if (Powered) return 665; - else return 666; - else if (Note == 9) - if (Powered) return 667; - else return 668; - else if (Note == 10) - if (Powered) return 669; - else return 670; - else if (Note == 11) - if (Powered) return 671; - else return 672; - else if (Note == 12) - if (Powered) return 673; - else return 674; - else if (Note == 13) - if (Powered) return 675; - else return 676; - else if (Note == 14) - if (Powered) return 677; - else return 678; - else if (Note == 15) - if (Powered) return 679; - else return 680; - else if (Note == 16) - if (Powered) return 681; - else return 682; - else if (Note == 17) - if (Powered) return 683; - else return 684; - else if (Note == 18) - if (Powered) return 685; - else return 686; - else if (Note == 19) - if (Powered) return 687; - else return 688; - else if (Note == 20) - if (Powered) return 689; - else return 690; - else if (Note == 21) - if (Powered) return 691; - else return 692; - else if (Note == 22) - if (Powered) return 693; - else return 694; - else if (Note == 23) - if (Powered) return 695; - else return 696; - else - if (Powered) return 697; - else return 698; - else if (Instrument == Instrument::Xylophone) - if (Note == 0) - if (Powered) return 699; - else return 700; - else if (Note == 1) - if (Powered) return 701; - else return 702; - else if (Note == 2) - if (Powered) return 703; - else return 704; - else if (Note == 3) - if (Powered) return 705; - else return 706; - else if (Note == 4) - if (Powered) return 707; - else return 708; - else if (Note == 5) - if (Powered) return 709; - else return 710; - else if (Note == 6) - if (Powered) return 711; - else return 712; - else if (Note == 7) - if (Powered) return 713; - else return 714; - else if (Note == 8) - if (Powered) return 715; - else return 716; - else if (Note == 9) - if (Powered) return 717; - else return 718; - else if (Note == 10) - if (Powered) return 719; - else return 720; - else if (Note == 11) - if (Powered) return 721; - else return 722; - else if (Note == 12) - if (Powered) return 723; - else return 724; - else if (Note == 13) - if (Powered) return 725; - else return 726; - else if (Note == 14) - if (Powered) return 727; - else return 728; - else if (Note == 15) - if (Powered) return 729; - else return 730; - else if (Note == 16) - if (Powered) return 731; - else return 732; - else if (Note == 17) - if (Powered) return 733; - else return 734; - else if (Note == 18) - if (Powered) return 735; - else return 736; - else if (Note == 19) - if (Powered) return 737; - else return 738; - else if (Note == 20) - if (Powered) return 739; - else return 740; - else if (Note == 21) - if (Powered) return 741; - else return 742; - else if (Note == 22) - if (Powered) return 743; - else return 744; - else if (Note == 23) - if (Powered) return 745; - else return 746; - else - if (Powered) return 747; - else return 748; - else if (Instrument == Instrument::IronXylophone) - if (Note == 0) - if (Powered) return 749; - else return 750; - else if (Note == 1) - if (Powered) return 751; - else return 752; - else if (Note == 2) - if (Powered) return 753; - else return 754; - else if (Note == 3) - if (Powered) return 755; - else return 756; - else if (Note == 4) - if (Powered) return 757; - else return 758; - else if (Note == 5) - if (Powered) return 759; - else return 760; - else if (Note == 6) - if (Powered) return 761; - else return 762; - else if (Note == 7) - if (Powered) return 763; - else return 764; - else if (Note == 8) - if (Powered) return 765; - else return 766; - else if (Note == 9) - if (Powered) return 767; - else return 768; - else if (Note == 10) - if (Powered) return 769; - else return 770; - else if (Note == 11) - if (Powered) return 771; - else return 772; - else if (Note == 12) - if (Powered) return 773; - else return 774; - else if (Note == 13) - if (Powered) return 775; - else return 776; - else if (Note == 14) - if (Powered) return 777; - else return 778; - else if (Note == 15) - if (Powered) return 779; - else return 780; - else if (Note == 16) - if (Powered) return 781; - else return 782; - else if (Note == 17) - if (Powered) return 783; - else return 784; - else if (Note == 18) - if (Powered) return 785; - else return 786; - else if (Note == 19) - if (Powered) return 787; - else return 788; - else if (Note == 20) - if (Powered) return 789; - else return 790; - else if (Note == 21) - if (Powered) return 791; - else return 792; - else if (Note == 22) - if (Powered) return 793; - else return 794; - else if (Note == 23) - if (Powered) return 795; - else return 796; - else - if (Powered) return 797; - else return 798; - else if (Instrument == Instrument::CowBell) - if (Note == 0) - if (Powered) return 799; - else return 800; - else if (Note == 1) - if (Powered) return 801; - else return 802; - else if (Note == 2) - if (Powered) return 803; - else return 804; - else if (Note == 3) - if (Powered) return 805; - else return 806; - else if (Note == 4) - if (Powered) return 807; - else return 808; - else if (Note == 5) - if (Powered) return 809; - else return 810; - else if (Note == 6) - if (Powered) return 811; - else return 812; - else if (Note == 7) - if (Powered) return 813; - else return 814; - else if (Note == 8) - if (Powered) return 815; - else return 816; - else if (Note == 9) - if (Powered) return 817; - else return 818; - else if (Note == 10) - if (Powered) return 819; - else return 820; - else if (Note == 11) - if (Powered) return 821; - else return 822; - else if (Note == 12) - if (Powered) return 823; - else return 824; - else if (Note == 13) - if (Powered) return 825; - else return 826; - else if (Note == 14) - if (Powered) return 827; - else return 828; - else if (Note == 15) - if (Powered) return 829; - else return 830; - else if (Note == 16) - if (Powered) return 831; - else return 832; - else if (Note == 17) - if (Powered) return 833; - else return 834; - else if (Note == 18) - if (Powered) return 835; - else return 836; - else if (Note == 19) - if (Powered) return 837; - else return 838; - else if (Note == 20) - if (Powered) return 839; - else return 840; - else if (Note == 21) - if (Powered) return 841; - else return 842; - else if (Note == 22) - if (Powered) return 843; - else return 844; - else if (Note == 23) - if (Powered) return 845; - else return 846; - else - if (Powered) return 847; - else return 848; - else if (Instrument == Instrument::Didgeridoo) - if (Note == 0) - if (Powered) return 849; - else return 850; - else if (Note == 1) - if (Powered) return 851; - else return 852; - else if (Note == 2) - if (Powered) return 853; - else return 854; - else if (Note == 3) - if (Powered) return 855; - else return 856; - else if (Note == 4) - if (Powered) return 857; - else return 858; - else if (Note == 5) - if (Powered) return 859; - else return 860; - else if (Note == 6) - if (Powered) return 861; - else return 862; - else if (Note == 7) - if (Powered) return 863; - else return 864; - else if (Note == 8) - if (Powered) return 865; - else return 866; - else if (Note == 9) - if (Powered) return 867; - else return 868; - else if (Note == 10) - if (Powered) return 869; - else return 870; - else if (Note == 11) - if (Powered) return 871; - else return 872; - else if (Note == 12) - if (Powered) return 873; - else return 874; - else if (Note == 13) - if (Powered) return 875; - else return 876; - else if (Note == 14) - if (Powered) return 877; - else return 878; - else if (Note == 15) - if (Powered) return 879; - else return 880; - else if (Note == 16) - if (Powered) return 881; - else return 882; - else if (Note == 17) - if (Powered) return 883; - else return 884; - else if (Note == 18) - if (Powered) return 885; - else return 886; - else if (Note == 19) - if (Powered) return 887; - else return 888; - else if (Note == 20) - if (Powered) return 889; - else return 890; - else if (Note == 21) - if (Powered) return 891; - else return 892; - else if (Note == 22) - if (Powered) return 893; - else return 894; - else if (Note == 23) - if (Powered) return 895; - else return 896; - else - if (Powered) return 897; - else return 898; - else if (Instrument == Instrument::Bit) - if (Note == 0) - if (Powered) return 899; - else return 900; - else if (Note == 1) - if (Powered) return 901; - else return 902; - else if (Note == 2) - if (Powered) return 903; - else return 904; - else if (Note == 3) - if (Powered) return 905; - else return 906; - else if (Note == 4) - if (Powered) return 907; - else return 908; - else if (Note == 5) - if (Powered) return 909; - else return 910; - else if (Note == 6) - if (Powered) return 911; - else return 912; - else if (Note == 7) - if (Powered) return 913; - else return 914; - else if (Note == 8) - if (Powered) return 915; - else return 916; - else if (Note == 9) - if (Powered) return 917; - else return 918; - else if (Note == 10) - if (Powered) return 919; - else return 920; - else if (Note == 11) - if (Powered) return 921; - else return 922; - else if (Note == 12) - if (Powered) return 923; - else return 924; - else if (Note == 13) - if (Powered) return 925; - else return 926; - else if (Note == 14) - if (Powered) return 927; - else return 928; - else if (Note == 15) - if (Powered) return 929; - else return 930; - else if (Note == 16) - if (Powered) return 931; - else return 932; - else if (Note == 17) - if (Powered) return 933; - else return 934; - else if (Note == 18) - if (Powered) return 935; - else return 936; - else if (Note == 19) - if (Powered) return 937; - else return 938; - else if (Note == 20) - if (Powered) return 939; - else return 940; - else if (Note == 21) - if (Powered) return 941; - else return 942; - else if (Note == 22) - if (Powered) return 943; - else return 944; - else if (Note == 23) - if (Powered) return 945; - else return 946; - else - if (Powered) return 947; - else return 948; - else if (Instrument == Instrument::Banjo) - if (Note == 0) - if (Powered) return 949; - else return 950; - else if (Note == 1) - if (Powered) return 951; - else return 952; - else if (Note == 2) - if (Powered) return 953; - else return 954; - else if (Note == 3) - if (Powered) return 955; - else return 956; - else if (Note == 4) - if (Powered) return 957; - else return 958; - else if (Note == 5) - if (Powered) return 959; - else return 960; - else if (Note == 6) - if (Powered) return 961; - else return 962; - else if (Note == 7) - if (Powered) return 963; - else return 964; - else if (Note == 8) - if (Powered) return 965; - else return 966; - else if (Note == 9) - if (Powered) return 967; - else return 968; - else if (Note == 10) - if (Powered) return 969; - else return 970; - else if (Note == 11) - if (Powered) return 971; - else return 972; - else if (Note == 12) - if (Powered) return 973; - else return 974; - else if (Note == 13) - if (Powered) return 975; - else return 976; - else if (Note == 14) - if (Powered) return 977; - else return 978; - else if (Note == 15) - if (Powered) return 979; - else return 980; - else if (Note == 16) - if (Powered) return 981; - else return 982; - else if (Note == 17) - if (Powered) return 983; - else return 984; - else if (Note == 18) - if (Powered) return 985; - else return 986; - else if (Note == 19) - if (Powered) return 987; - else return 988; - else if (Note == 20) - if (Powered) return 989; - else return 990; - else if (Note == 21) - if (Powered) return 991; - else return 992; - else if (Note == 22) - if (Powered) return 993; - else return 994; - else if (Note == 23) - if (Powered) return 995; - else return 996; - else - if (Powered) return 997; - else return 998; - else - if (Note == 0) - if (Powered) return 999; - else return 1000; - else if (Note == 1) - if (Powered) return 1001; - else return 1002; - else if (Note == 2) - if (Powered) return 1003; - else return 1004; - else if (Note == 3) - if (Powered) return 1005; - else return 1006; - else if (Note == 4) - if (Powered) return 1007; - else return 1008; - else if (Note == 5) - if (Powered) return 1009; - else return 1010; - else if (Note == 6) - if (Powered) return 1011; - else return 1012; - else if (Note == 7) - if (Powered) return 1013; - else return 1014; - else if (Note == 8) - if (Powered) return 1015; - else return 1016; - else if (Note == 9) - if (Powered) return 1017; - else return 1018; - else if (Note == 10) - if (Powered) return 1019; - else return 1020; - else if (Note == 11) - if (Powered) return 1021; - else return 1022; - else if (Note == 12) - if (Powered) return 1023; - else return 1024; - else if (Note == 13) - if (Powered) return 1025; - else return 1026; - else if (Note == 14) - if (Powered) return 1027; - else return 1028; - else if (Note == 15) - if (Powered) return 1029; - else return 1030; - else if (Note == 16) - if (Powered) return 1031; - else return 1032; - else if (Note == 17) - if (Powered) return 1033; - else return 1034; - else if (Note == 18) - if (Powered) return 1035; - else return 1036; - else if (Note == 19) - if (Powered) return 1037; - else return 1038; - else if (Note == 20) - if (Powered) return 1039; - else return 1040; - else if (Note == 21) - if (Powered) return 1041; - else return 1042; - else if (Note == 22) - if (Powered) return 1043; - else return 1044; - else if (Note == 23) - if (Powered) return 1045; - else return 1046; - else - if (Powered) return 1047; - else return 1048; - } - BlockState NoteBlock(); - enum Instrument Instrument(BlockState Block); - unsigned char Note(BlockState Block); - bool Powered(BlockState Block); - } - namespace OakButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState OakButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6346; - else return 6347; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6348; - else return 6349; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6350; - else return 6351; - else - if (Powered) return 6352; - else return 6353; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6354; - else return 6355; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6356; - else return 6357; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6358; - else return 6359; - else - if (Powered) return 6360; - else return 6361; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6362; - else return 6363; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6364; - else return 6365; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6366; - else return 6367; - else - if (Powered) return 6368; - else return 6369; - } - BlockState OakButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace OakDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState OakDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3573; - else return 3574; - else - if (Powered) return 3575; - else return 3576; - else - if (Open) - if (Powered) return 3577; - else return 3578; - else - if (Powered) return 3579; - else return 3580; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3581; - else return 3582; - else - if (Powered) return 3583; - else return 3584; - else - if (Open) - if (Powered) return 3585; - else return 3586; - else - if (Powered) return 3587; - else return 3588; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3589; - else return 3590; - else - if (Powered) return 3591; - else return 3592; - else - if (Open) - if (Powered) return 3593; - else return 3594; - else - if (Powered) return 3595; - else return 3596; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3597; - else return 3598; - else - if (Powered) return 3599; - else return 3600; - else - if (Open) - if (Powered) return 3601; - else return 3602; - else - if (Powered) return 3603; - else return 3604; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3605; - else return 3606; - else - if (Powered) return 3607; - else return 3608; - else - if (Open) - if (Powered) return 3609; - else return 3610; - else - if (Powered) return 3611; - else return 3612; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3613; - else return 3614; - else - if (Powered) return 3615; - else return 3616; - else - if (Open) - if (Powered) return 3617; - else return 3618; - else - if (Powered) return 3619; - else return 3620; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3621; - else return 3622; - else - if (Powered) return 3623; - else return 3624; - else - if (Open) - if (Powered) return 3625; - else return 3626; - else - if (Powered) return 3627; - else return 3628; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 3629; - else return 3630; - else - if (Powered) return 3631; - else return 3632; - else - if (Open) - if (Powered) return 3633; - else return 3634; - else - if (Powered) return 3635; - else return 3636; - } - BlockState OakDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace OakFence - { - constexpr BlockState OakFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 3968; - else return 3969; - else - if (West) return 3972; - else return 3973; - else - if (South) - if (West) return 3976; - else return 3977; - else - if (West) return 3980; - else return 3981; + return 4226; + else if (Powered) + return 4228; + else + return 4230; + else if (Open) + if (Powered) + return 4232; + else + return 4234; + else if (Powered) + return 4236; + else + return 4238; +} +BlockState SpruceTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace SpruceTrapdoor +namespace SpruceWallSign +{ +constexpr BlockState SpruceWallSign(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 3744; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 3746; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 3748; + else + return 3750; +} +BlockState SpruceWallSign(); +eBlockFace Facing(BlockState Block); +} // namespace SpruceWallSign +namespace SpruceWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState SpruceWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 112; + else if (Axis == Axis::Y) + return 113; + else + return 114; +} +BlockState SpruceWood(); +enum Axis Axis(BlockState Block); +} // namespace SpruceWood +namespace StickyPiston +{ +constexpr BlockState StickyPiston(const bool Extended, const eBlockFace Facing) +{ + if (Extended) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 1329; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 1330; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 1331; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 1332; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 1333; + else + return 1334; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 1335; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 1336; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 1337; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 1338; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 1339; + else + return 1340; +} +BlockState StickyPiston(); +bool Extended(BlockState Block); +eBlockFace Facing(BlockState Block); +} // namespace StickyPiston +namespace Stone +{ +constexpr BlockState Stone() +{ + return 1; +} +} // namespace Stone +namespace StoneBrickSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState StoneBrickSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8379; + else if (Type == Type::Bottom) + return 8381; + else + return 8383; +} +BlockState StoneBrickSlab(); +enum Type Type(BlockState Block); +} // namespace StoneBrickSlab +namespace StoneBrickStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState StoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 4933; + else if (Shape == Shape::InnerLeft) + return 4935; + else if (Shape == Shape::InnerRight) + return 4937; + else if (Shape == Shape::OuterLeft) + return 4939; + else + return 4941; + else if (Shape == Shape::Straight) + return 4943; + else if (Shape == Shape::InnerLeft) + return 4945; + else if (Shape == Shape::InnerRight) + return 4947; + else if (Shape == Shape::OuterLeft) + return 4949; + else + return 4951; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 4953; + else if (Shape == Shape::InnerLeft) + return 4955; + else if (Shape == Shape::InnerRight) + return 4957; + else if (Shape == Shape::OuterLeft) + return 4959; + else + return 4961; + else if (Shape == Shape::Straight) + return 4963; + else if (Shape == Shape::InnerLeft) + return 4965; + else if (Shape == Shape::InnerRight) + return 4967; + else if (Shape == Shape::OuterLeft) + return 4969; + else + return 4971; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 4973; + else if (Shape == Shape::InnerLeft) + return 4975; + else if (Shape == Shape::InnerRight) + return 4977; + else if (Shape == Shape::OuterLeft) + return 4979; + else + return 4981; + else if (Shape == Shape::Straight) + return 4983; + else if (Shape == Shape::InnerLeft) + return 4985; + else if (Shape == Shape::InnerRight) + return 4987; + else if (Shape == Shape::OuterLeft) + return 4989; + else + return 4991; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 4993; + else if (Shape == Shape::InnerLeft) + return 4995; + else if (Shape == Shape::InnerRight) + return 4997; + else if (Shape == Shape::OuterLeft) + return 4999; + else + return 5001; + else if (Shape == Shape::Straight) + return 5003; + else if (Shape == Shape::InnerLeft) + return 5005; + else if (Shape == Shape::InnerRight) + return 5007; + else if (Shape == Shape::OuterLeft) + return 5009; + else + return 5011; +} +BlockState StoneBrickStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace StoneBrickStairs +namespace StoneBrickWall +{ +enum class East +{ + None, + Low, + Tall +}; +enum class North +{ + None, + Low, + Tall +}; +enum class South +{ + None, + Low, + Tall +}; +enum class West +{ + None, + Low, + Tall +}; +constexpr BlockState StoneBrickWall( + const enum East East, + const enum North North, + const enum South South, + const bool Up, + const enum West West +) +{ + if (East == East::None) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12490; + else if (West == West::Low) + return 12491; + else + return 12492; + else if (West == West::None) + return 12496; + else if (West == West::Low) + return 12497; + else + return 12498; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12502; + else if (West == West::Low) + return 12503; + else + return 12504; + else if (West == West::None) + return 12508; + else if (West == West::Low) + return 12509; + else + return 12510; + else if (Up) + if (West == West::None) + return 12514; + else if (West == West::Low) + return 12515; + else + return 12516; + else if (West == West::None) + return 12520; + else if (West == West::Low) + return 12521; else - if (North) - if (South) - if (West) return 3984; - else return 3985; - else - if (West) return 3988; - else return 3989; - else - if (South) - if (West) return 3992; - else return 3993; - else - if (West) return 3996; - else return 3997; - } - BlockState OakFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace OakFenceGate - { - constexpr BlockState OakFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (InWall) - if (Open) - if (Powered) return 4820; - else return 4821; - else - if (Powered) return 4822; - else return 4823; - else - if (Open) - if (Powered) return 4824; - else return 4825; - else - if (Powered) return 4826; - else return 4827; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (InWall) - if (Open) - if (Powered) return 4828; - else return 4829; - else - if (Powered) return 4830; - else return 4831; - else - if (Open) - if (Powered) return 4832; - else return 4833; - else - if (Powered) return 4834; - else return 4835; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (InWall) - if (Open) - if (Powered) return 4836; - else return 4837; - else - if (Powered) return 4838; - else return 4839; - else - if (Open) - if (Powered) return 4840; - else return 4841; - else - if (Powered) return 4842; - else return 4843; - else - if (InWall) - if (Open) - if (Powered) return 4844; - else return 4845; - else - if (Powered) return 4846; - else return 4847; - else - if (Open) - if (Powered) return 4848; - else return 4849; - else - if (Powered) return 4850; - else return 4851; - } - BlockState OakFenceGate(); - eBlockFace Facing(BlockState Block); - bool InWall(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace OakLeaves - { - constexpr BlockState OakLeaves(const unsigned char Distance, const bool Persistent) - { - if (Distance == 1) - if (Persistent) return 145; - else return 146; - else if (Distance == 2) - if (Persistent) return 147; - else return 148; - else if (Distance == 3) - if (Persistent) return 149; - else return 150; - else if (Distance == 4) - if (Persistent) return 151; - else return 152; - else if (Distance == 5) - if (Persistent) return 153; - else return 154; - else if (Distance == 6) - if (Persistent) return 155; - else return 156; - else - if (Persistent) return 157; - else return 158; - } - BlockState OakLeaves(); - unsigned char Distance(BlockState Block); - bool Persistent(BlockState Block); - } - namespace OakLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState OakLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 73; - else if (Axis == Axis::Y) return 74; - else return 75; - } - BlockState OakLog(); - enum Axis Axis(BlockState Block); - } - namespace OakPlanks - { - constexpr BlockState OakPlanks() - { - return 15; - } - } - namespace OakPressurePlate - { - constexpr BlockState OakPressurePlate(const bool Powered) - { - if (Powered) return 3873; - else return 3874; - } - BlockState OakPressurePlate(); - bool Powered(BlockState Block); - } - namespace OakSapling - { - constexpr BlockState OakSapling(const unsigned char Stage) - { - if (Stage == 0) return 21; - else return 22; - } - BlockState OakSapling(); - unsigned char Stage(BlockState Block); - } - namespace OakSign - { - constexpr BlockState OakSign(const unsigned char Rotation) - { - if (Rotation == 0) return 3382; - else if (Rotation == 1) return 3384; - else if (Rotation == 2) return 3386; - else if (Rotation == 3) return 3388; - else if (Rotation == 4) return 3390; - else if (Rotation == 5) return 3392; - else if (Rotation == 6) return 3394; - else if (Rotation == 7) return 3396; - else if (Rotation == 8) return 3398; - else if (Rotation == 9) return 3400; - else if (Rotation == 10) return 3402; - else if (Rotation == 11) return 3404; - else if (Rotation == 12) return 3406; - else if (Rotation == 13) return 3408; - else if (Rotation == 14) return 3410; - else return 3412; - } - BlockState OakSign(); - unsigned char Rotation(BlockState Block); - } - namespace OakSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState OakSlab(const enum Type Type) - { - if (Type == Type::Top) return 8301; - else if (Type == Type::Bottom) return 8303; - else return 8305; - } - BlockState OakSlab(); - enum Type Type(BlockState Block); - } - namespace OakStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState OakStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 1955; - else if (Shape == Shape::InnerLeft) return 1957; - else if (Shape == Shape::InnerRight) return 1959; - else if (Shape == Shape::OuterLeft) return 1961; - else return 1963; - else - if (Shape == Shape::Straight) return 1965; - else if (Shape == Shape::InnerLeft) return 1967; - else if (Shape == Shape::InnerRight) return 1969; - else if (Shape == Shape::OuterLeft) return 1971; - else return 1973; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 1975; - else if (Shape == Shape::InnerLeft) return 1977; - else if (Shape == Shape::InnerRight) return 1979; - else if (Shape == Shape::OuterLeft) return 1981; - else return 1983; - else - if (Shape == Shape::Straight) return 1985; - else if (Shape == Shape::InnerLeft) return 1987; - else if (Shape == Shape::InnerRight) return 1989; - else if (Shape == Shape::OuterLeft) return 1991; - else return 1993; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 1995; - else if (Shape == Shape::InnerLeft) return 1997; - else if (Shape == Shape::InnerRight) return 1999; - else if (Shape == Shape::OuterLeft) return 2001; - else return 2003; - else - if (Shape == Shape::Straight) return 2005; - else if (Shape == Shape::InnerLeft) return 2007; - else if (Shape == Shape::InnerRight) return 2009; - else if (Shape == Shape::OuterLeft) return 2011; - else return 2013; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 2015; - else if (Shape == Shape::InnerLeft) return 2017; - else if (Shape == Shape::InnerRight) return 2019; - else if (Shape == Shape::OuterLeft) return 2021; - else return 2023; - else - if (Shape == Shape::Straight) return 2025; - else if (Shape == Shape::InnerLeft) return 2027; - else if (Shape == Shape::InnerRight) return 2029; - else if (Shape == Shape::OuterLeft) return 2031; - else return 2033; - } - BlockState OakStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace OakTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState OakTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4112; - else return 4114; - else - if (Powered) return 4116; - else return 4118; - else - if (Open) - if (Powered) return 4120; - else return 4122; - else - if (Powered) return 4124; - else return 4126; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 4128; - else return 4130; - else - if (Powered) return 4132; - else return 4134; - else - if (Open) - if (Powered) return 4136; - else return 4138; - else - if (Powered) return 4140; - else return 4142; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4144; - else return 4146; - else - if (Powered) return 4148; - else return 4150; - else - if (Open) - if (Powered) return 4152; - else return 4154; - else - if (Powered) return 4156; - else return 4158; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 4160; - else return 4162; - else - if (Powered) return 4164; - else return 4166; - else - if (Open) - if (Powered) return 4168; - else return 4170; - else - if (Powered) return 4172; - else return 4174; - } - BlockState OakTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace OakWallSign - { - constexpr BlockState OakWallSign(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3736; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3738; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3740; - else return 3742; - } - BlockState OakWallSign(); - eBlockFace Facing(BlockState Block); - } - namespace OakWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState OakWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 109; - else if (Axis == Axis::Y) return 110; - else return 111; - } - BlockState OakWood(); - enum Axis Axis(BlockState Block); - } - namespace Observer - { - constexpr BlockState Observer(const eBlockFace Facing, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 9260; - else return 9261; - else if (Facing == eBlockFace::BLOCK_FACE_XP) - if (Powered) return 9262; - else return 9263; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 9264; - else return 9265; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 9266; - else return 9267; - else if (Facing == eBlockFace::BLOCK_FACE_YP) - if (Powered) return 9268; - else return 9269; - else - if (Powered) return 9270; - else return 9271; - } - BlockState Observer(); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace Obsidian - { - constexpr BlockState Obsidian() - { - return 1434; - } - } - namespace OrangeBanner - { - constexpr BlockState OrangeBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 7913; - else if (Rotation == 1) return 7914; - else if (Rotation == 2) return 7915; - else if (Rotation == 3) return 7916; - else if (Rotation == 4) return 7917; - else if (Rotation == 5) return 7918; - else if (Rotation == 6) return 7919; - else if (Rotation == 7) return 7920; - else if (Rotation == 8) return 7921; - else if (Rotation == 9) return 7922; - else if (Rotation == 10) return 7923; - else if (Rotation == 11) return 7924; - else if (Rotation == 12) return 7925; - else if (Rotation == 13) return 7926; - else if (Rotation == 14) return 7927; - else return 7928; - } - BlockState OrangeBanner(); - unsigned char Rotation(BlockState Block); - } - namespace OrangeBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState OrangeBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1065; - else return 1066; - else - if (Part == Part::Head) return 1067; - else return 1068; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1069; - else return 1070; - else - if (Part == Part::Head) return 1071; - else return 1072; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1073; - else return 1074; - else - if (Part == Part::Head) return 1075; - else return 1076; - else - if (Occupied) - if (Part == Part::Head) return 1077; - else return 1078; - else - if (Part == Part::Head) return 1079; - else return 1080; - } - BlockState OrangeBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace OrangeCarpet - { - constexpr BlockState OrangeCarpet() - { - return 7867; - } - } - namespace OrangeConcrete - { - constexpr BlockState OrangeConcrete() - { - return 9439; - } - } - namespace OrangeConcretePowder - { - constexpr BlockState OrangeConcretePowder() - { - return 9455; - } - } - namespace OrangeGlazedTerracotta - { - constexpr BlockState OrangeGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9378; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9379; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9380; - else return 9381; - } - BlockState OrangeGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace OrangeShulkerBox - { - constexpr BlockState OrangeShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9284; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9285; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9286; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9287; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9288; - else return 9289; - } - BlockState OrangeShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace OrangeStainedGlass - { - constexpr BlockState OrangeStainedGlass() - { - return 4096; - } - } - namespace OrangeStainedGlassPane - { - constexpr BlockState OrangeStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 6897; - else return 6898; - else - if (West) return 6901; - else return 6902; - else - if (South) - if (West) return 6905; - else return 6906; - else - if (West) return 6909; - else return 6910; + return 12522; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12526; + else if (West == West::Low) + return 12527; + else + return 12528; + else if (West == West::None) + return 12532; + else if (West == West::Low) + return 12533; + else + return 12534; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12538; + else if (West == West::Low) + return 12539; + else + return 12540; + else if (West == West::None) + return 12544; + else if (West == West::Low) + return 12545; + else + return 12546; + else if (Up) + if (West == West::None) + return 12550; + else if (West == West::Low) + return 12551; + else + return 12552; + else if (West == West::None) + return 12556; + else if (West == West::Low) + return 12557; else - if (North) - if (South) - if (West) return 6913; - else return 6914; - else - if (West) return 6917; - else return 6918; - else - if (South) - if (West) return 6921; - else return 6922; - else - if (West) return 6925; - else return 6926; - } - BlockState OrangeStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace OrangeTerracotta - { - constexpr BlockState OrangeTerracotta() - { - return 6848; - } - } - namespace OrangeTulip - { - constexpr BlockState OrangeTulip() - { - return 1418; - } - } - namespace OrangeWallBanner - { - constexpr BlockState OrangeWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8157; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8158; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8159; - else return 8160; - } - BlockState OrangeWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace OrangeWool - { - constexpr BlockState OrangeWool() - { - return 1385; - } - } - namespace OxeyeDaisy - { - constexpr BlockState OxeyeDaisy() - { - return 1421; - } - } - namespace PackedIce - { - constexpr BlockState PackedIce() - { - return 7884; - } - } - namespace Peony - { - enum class Half - { - Upper, - Lower - }; - constexpr BlockState Peony(const enum Half Half) - { - if (Half == Half::Upper) return 7891; - else return 7892; - } - BlockState Peony(); - enum Half Half(BlockState Block); - } - namespace PetrifiedOakSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PetrifiedOakSlab(const enum Type Type) - { - if (Type == Type::Top) return 8361; - else if (Type == Type::Bottom) return 8363; - else return 8365; - } - BlockState PetrifiedOakSlab(); - enum Type Type(BlockState Block); - } - namespace PinkBanner - { - constexpr BlockState PinkBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 7993; - else if (Rotation == 1) return 7994; - else if (Rotation == 2) return 7995; - else if (Rotation == 3) return 7996; - else if (Rotation == 4) return 7997; - else if (Rotation == 5) return 7998; - else if (Rotation == 6) return 7999; - else if (Rotation == 7) return 8000; - else if (Rotation == 8) return 8001; - else if (Rotation == 9) return 8002; - else if (Rotation == 10) return 8003; - else if (Rotation == 11) return 8004; - else if (Rotation == 12) return 8005; - else if (Rotation == 13) return 8006; - else if (Rotation == 14) return 8007; - else return 8008; - } - BlockState PinkBanner(); - unsigned char Rotation(BlockState Block); - } - namespace PinkBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState PinkBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1145; - else return 1146; - else - if (Part == Part::Head) return 1147; - else return 1148; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1149; - else return 1150; - else - if (Part == Part::Head) return 1151; - else return 1152; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1153; - else return 1154; - else - if (Part == Part::Head) return 1155; - else return 1156; - else - if (Occupied) - if (Part == Part::Head) return 1157; - else return 1158; - else - if (Part == Part::Head) return 1159; - else return 1160; - } - BlockState PinkBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace PinkCarpet - { - constexpr BlockState PinkCarpet() - { - return 7872; - } - } - namespace PinkConcrete - { - constexpr BlockState PinkConcrete() - { - return 9444; - } - } - namespace PinkConcretePowder - { - constexpr BlockState PinkConcretePowder() - { - return 9460; - } - } - namespace PinkGlazedTerracotta - { - constexpr BlockState PinkGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9398; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9399; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9400; - else return 9401; - } - BlockState PinkGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace PinkShulkerBox - { - constexpr BlockState PinkShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9314; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9315; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9316; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9317; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9318; - else return 9319; - } - BlockState PinkShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace PinkStainedGlass - { - constexpr BlockState PinkStainedGlass() - { - return 4101; - } - } - namespace PinkStainedGlassPane - { - constexpr BlockState PinkStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7057; - else return 7058; - else - if (West) return 7061; - else return 7062; - else - if (South) - if (West) return 7065; - else return 7066; - else - if (West) return 7069; - else return 7070; + return 12558; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12562; + else if (West == West::Low) + return 12563; + else + return 12564; + else if (West == West::None) + return 12568; + else if (West == West::Low) + return 12569; else - if (North) - if (South) - if (West) return 7073; - else return 7074; - else - if (West) return 7077; - else return 7078; - else - if (South) - if (West) return 7081; - else return 7082; - else - if (West) return 7085; - else return 7086; - } - BlockState PinkStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace PinkTerracotta - { - constexpr BlockState PinkTerracotta() - { - return 6853; - } - } - namespace PinkTulip - { - constexpr BlockState PinkTulip() - { - return 1420; - } - } - namespace PinkWallBanner - { - constexpr BlockState PinkWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8177; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8178; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8179; - else return 8180; - } - BlockState PinkWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace PinkWool - { - constexpr BlockState PinkWool() - { - return 1390; - } - } - namespace Piston - { - constexpr BlockState Piston(const bool Extended, const eBlockFace Facing) - { - if (Extended) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1348; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 1349; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1350; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1351; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 1352; - else return 1353; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1354; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 1355; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1356; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1357; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 1358; - else return 1359; - } - BlockState Piston(); - bool Extended(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace PistonHead - { - enum class Type - { - Normal, - Sticky - }; - constexpr BlockState PistonHead(const eBlockFace Facing, const bool Short, const enum Type Type) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Short) - if (Type == Type::Normal) return 1360; - else return 1361; - else - if (Type == Type::Normal) return 1362; - else return 1363; - else if (Facing == eBlockFace::BLOCK_FACE_XP) - if (Short) - if (Type == Type::Normal) return 1364; - else return 1365; - else - if (Type == Type::Normal) return 1366; - else return 1367; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Short) - if (Type == Type::Normal) return 1368; - else return 1369; - else - if (Type == Type::Normal) return 1370; - else return 1371; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Short) - if (Type == Type::Normal) return 1372; - else return 1373; - else - if (Type == Type::Normal) return 1374; - else return 1375; - else if (Facing == eBlockFace::BLOCK_FACE_YP) - if (Short) - if (Type == Type::Normal) return 1376; - else return 1377; - else - if (Type == Type::Normal) return 1378; - else return 1379; - else - if (Short) - if (Type == Type::Normal) return 1380; - else return 1381; - else - if (Type == Type::Normal) return 1382; - else return 1383; - } - BlockState PistonHead(); - eBlockFace Facing(BlockState Block); - bool Short(BlockState Block); - enum Type Type(BlockState Block); - } - namespace PlayerHead - { - constexpr BlockState PlayerHead(const unsigned char Rotation) - { - if (Rotation == 0) return 6550; - else if (Rotation == 1) return 6551; - else if (Rotation == 2) return 6552; - else if (Rotation == 3) return 6553; - else if (Rotation == 4) return 6554; - else if (Rotation == 5) return 6555; - else if (Rotation == 6) return 6556; - else if (Rotation == 7) return 6557; - else if (Rotation == 8) return 6558; - else if (Rotation == 9) return 6559; - else if (Rotation == 10) return 6560; - else if (Rotation == 11) return 6561; - else if (Rotation == 12) return 6562; - else if (Rotation == 13) return 6563; - else if (Rotation == 14) return 6564; - else return 6565; - } - BlockState PlayerHead(); - unsigned char Rotation(BlockState Block); - } - namespace PlayerWallHead - { - constexpr BlockState PlayerWallHead(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6566; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6567; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6568; - else return 6569; - } - BlockState PlayerWallHead(); - eBlockFace Facing(BlockState Block); - } - namespace Podzol - { - constexpr BlockState Podzol(const bool Snowy) - { - if (Snowy) return 12; - else return 13; - } - BlockState Podzol(); - bool Snowy(BlockState Block); - } - namespace PolishedAndesite - { - constexpr BlockState PolishedAndesite() - { - return 7; - } - } - namespace PolishedAndesiteSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PolishedAndesiteSlab(const enum Type Type) - { - if (Type == Type::Top) return 10856; - else if (Type == Type::Bottom) return 10858; - else return 10860; - } - BlockState PolishedAndesiteSlab(); - enum Type Type(BlockState Block); - } - namespace PolishedAndesiteStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState PolishedAndesiteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10630; - else if (Shape == Shape::InnerLeft) return 10632; - else if (Shape == Shape::InnerRight) return 10634; - else if (Shape == Shape::OuterLeft) return 10636; - else return 10638; - else - if (Shape == Shape::Straight) return 10640; - else if (Shape == Shape::InnerLeft) return 10642; - else if (Shape == Shape::InnerRight) return 10644; - else if (Shape == Shape::OuterLeft) return 10646; - else return 10648; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10650; - else if (Shape == Shape::InnerLeft) return 10652; - else if (Shape == Shape::InnerRight) return 10654; - else if (Shape == Shape::OuterLeft) return 10656; - else return 10658; - else - if (Shape == Shape::Straight) return 10660; - else if (Shape == Shape::InnerLeft) return 10662; - else if (Shape == Shape::InnerRight) return 10664; - else if (Shape == Shape::OuterLeft) return 10666; - else return 10668; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10670; - else if (Shape == Shape::InnerLeft) return 10672; - else if (Shape == Shape::InnerRight) return 10674; - else if (Shape == Shape::OuterLeft) return 10676; - else return 10678; - else - if (Shape == Shape::Straight) return 10680; - else if (Shape == Shape::InnerLeft) return 10682; - else if (Shape == Shape::InnerRight) return 10684; - else if (Shape == Shape::OuterLeft) return 10686; - else return 10688; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10690; - else if (Shape == Shape::InnerLeft) return 10692; - else if (Shape == Shape::InnerRight) return 10694; - else if (Shape == Shape::OuterLeft) return 10696; - else return 10698; - else - if (Shape == Shape::Straight) return 10700; - else if (Shape == Shape::InnerLeft) return 10702; - else if (Shape == Shape::InnerRight) return 10704; - else if (Shape == Shape::OuterLeft) return 10706; - else return 10708; - } - BlockState PolishedAndesiteStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace PolishedBasalt - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState PolishedBasalt(const enum Axis Axis) - { - if (Axis == Axis::X) return 4005; - else if (Axis == Axis::Y) return 4006; - else return 4007; - } - BlockState PolishedBasalt(); - enum Axis Axis(BlockState Block); - } - namespace PolishedBlackstone - { - constexpr BlockState PolishedBlackstone() - { - return 16250; - } - } - namespace PolishedBlackstoneBrickSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PolishedBlackstoneBrickSlab(const enum Type Type) - { - if (Type == Type::Top) return 16255; - else if (Type == Type::Bottom) return 16257; - else return 16259; - } - BlockState PolishedBlackstoneBrickSlab(); - enum Type Type(BlockState Block); - } - namespace PolishedBlackstoneBrickStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState PolishedBlackstoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 16261; - else if (Shape == Shape::InnerLeft) return 16263; - else if (Shape == Shape::InnerRight) return 16265; - else if (Shape == Shape::OuterLeft) return 16267; - else return 16269; - else - if (Shape == Shape::Straight) return 16271; - else if (Shape == Shape::InnerLeft) return 16273; - else if (Shape == Shape::InnerRight) return 16275; - else if (Shape == Shape::OuterLeft) return 16277; - else return 16279; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 16281; - else if (Shape == Shape::InnerLeft) return 16283; - else if (Shape == Shape::InnerRight) return 16285; - else if (Shape == Shape::OuterLeft) return 16287; - else return 16289; - else - if (Shape == Shape::Straight) return 16291; - else if (Shape == Shape::InnerLeft) return 16293; - else if (Shape == Shape::InnerRight) return 16295; - else if (Shape == Shape::OuterLeft) return 16297; - else return 16299; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 16301; - else if (Shape == Shape::InnerLeft) return 16303; - else if (Shape == Shape::InnerRight) return 16305; - else if (Shape == Shape::OuterLeft) return 16307; - else return 16309; - else - if (Shape == Shape::Straight) return 16311; - else if (Shape == Shape::InnerLeft) return 16313; - else if (Shape == Shape::InnerRight) return 16315; - else if (Shape == Shape::OuterLeft) return 16317; - else return 16319; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 16321; - else if (Shape == Shape::InnerLeft) return 16323; - else if (Shape == Shape::InnerRight) return 16325; - else if (Shape == Shape::OuterLeft) return 16327; - else return 16329; - else - if (Shape == Shape::Straight) return 16331; - else if (Shape == Shape::InnerLeft) return 16333; - else if (Shape == Shape::InnerRight) return 16335; - else if (Shape == Shape::OuterLeft) return 16337; - else return 16339; - } - BlockState PolishedBlackstoneBrickStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace PolishedBlackstoneBrickWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState PolishedBlackstoneBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 16343; - else if (West == West::Low) return 16344; - else return 16345; - else - if (West == West::None) return 16349; - else if (West == West::Low) return 16350; - else return 16351; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16355; - else if (West == West::Low) return 16356; - else return 16357; - else - if (West == West::None) return 16361; - else if (West == West::Low) return 16362; - else return 16363; - else - if (Up) - if (West == West::None) return 16367; - else if (West == West::Low) return 16368; - else return 16369; - else - if (West == West::None) return 16373; - else if (West == West::Low) return 16374; - else return 16375; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 16379; - else if (West == West::Low) return 16380; - else return 16381; - else - if (West == West::None) return 16385; - else if (West == West::Low) return 16386; - else return 16387; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16391; - else if (West == West::Low) return 16392; - else return 16393; - else - if (West == West::None) return 16397; - else if (West == West::Low) return 16398; - else return 16399; - else - if (Up) - if (West == West::None) return 16403; - else if (West == West::Low) return 16404; - else return 16405; - else - if (West == West::None) return 16409; - else if (West == West::Low) return 16410; - else return 16411; - else - if (South == South::None) - if (Up) - if (West == West::None) return 16415; - else if (West == West::Low) return 16416; - else return 16417; - else - if (West == West::None) return 16421; - else if (West == West::Low) return 16422; - else return 16423; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16427; - else if (West == West::Low) return 16428; - else return 16429; - else - if (West == West::None) return 16433; - else if (West == West::Low) return 16434; - else return 16435; - else - if (Up) - if (West == West::None) return 16439; - else if (West == West::Low) return 16440; - else return 16441; - else - if (West == West::None) return 16445; - else if (West == West::Low) return 16446; - else return 16447; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 16451; - else if (West == West::Low) return 16452; - else return 16453; - else - if (West == West::None) return 16457; - else if (West == West::Low) return 16458; - else return 16459; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16463; - else if (West == West::Low) return 16464; - else return 16465; - else - if (West == West::None) return 16469; - else if (West == West::Low) return 16470; - else return 16471; - else - if (Up) - if (West == West::None) return 16475; - else if (West == West::Low) return 16476; - else return 16477; - else - if (West == West::None) return 16481; - else if (West == West::Low) return 16482; - else return 16483; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 16487; - else if (West == West::Low) return 16488; - else return 16489; - else - if (West == West::None) return 16493; - else if (West == West::Low) return 16494; - else return 16495; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16499; - else if (West == West::Low) return 16500; - else return 16501; - else - if (West == West::None) return 16505; - else if (West == West::Low) return 16506; - else return 16507; - else - if (Up) - if (West == West::None) return 16511; - else if (West == West::Low) return 16512; - else return 16513; - else - if (West == West::None) return 16517; - else if (West == West::Low) return 16518; - else return 16519; - else - if (South == South::None) - if (Up) - if (West == West::None) return 16523; - else if (West == West::Low) return 16524; - else return 16525; - else - if (West == West::None) return 16529; - else if (West == West::Low) return 16530; - else return 16531; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16535; - else if (West == West::Low) return 16536; - else return 16537; - else - if (West == West::None) return 16541; - else if (West == West::Low) return 16542; - else return 16543; - else - if (Up) - if (West == West::None) return 16547; - else if (West == West::Low) return 16548; - else return 16549; - else - if (West == West::None) return 16553; - else if (West == West::Low) return 16554; - else return 16555; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 16559; - else if (West == West::Low) return 16560; - else return 16561; - else - if (West == West::None) return 16565; - else if (West == West::Low) return 16566; - else return 16567; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16571; - else if (West == West::Low) return 16572; - else return 16573; - else - if (West == West::None) return 16577; - else if (West == West::Low) return 16578; - else return 16579; - else - if (Up) - if (West == West::None) return 16583; - else if (West == West::Low) return 16584; - else return 16585; - else - if (West == West::None) return 16589; - else if (West == West::Low) return 16590; - else return 16591; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 16595; - else if (West == West::Low) return 16596; - else return 16597; - else - if (West == West::None) return 16601; - else if (West == West::Low) return 16602; - else return 16603; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16607; - else if (West == West::Low) return 16608; - else return 16609; - else - if (West == West::None) return 16613; - else if (West == West::Low) return 16614; - else return 16615; - else - if (Up) - if (West == West::None) return 16619; - else if (West == West::Low) return 16620; - else return 16621; - else - if (West == West::None) return 16625; - else if (West == West::Low) return 16626; - else return 16627; - else - if (South == South::None) - if (Up) - if (West == West::None) return 16631; - else if (West == West::Low) return 16632; - else return 16633; - else - if (West == West::None) return 16637; - else if (West == West::Low) return 16638; - else return 16639; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16643; - else if (West == West::Low) return 16644; - else return 16645; - else - if (West == West::None) return 16649; - else if (West == West::Low) return 16650; - else return 16651; - else - if (Up) - if (West == West::None) return 16655; - else if (West == West::Low) return 16656; - else return 16657; - else - if (West == West::None) return 16661; - else if (West == West::Low) return 16662; - else return 16663; - } - BlockState PolishedBlackstoneBrickWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace PolishedBlackstoneBricks - { - constexpr BlockState PolishedBlackstoneBricks() - { - return 16251; - } - } - namespace PolishedBlackstoneButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState PolishedBlackstoneButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 16753; - else return 16754; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 16755; - else return 16756; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 16757; - else return 16758; - else - if (Powered) return 16759; - else return 16760; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 16761; - else return 16762; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 16763; - else return 16764; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 16765; - else return 16766; - else - if (Powered) return 16767; - else return 16768; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 16769; - else return 16770; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 16771; - else return 16772; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 16773; - else return 16774; - else - if (Powered) return 16775; - else return 16776; - } - BlockState PolishedBlackstoneButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace PolishedBlackstonePressurePlate - { - constexpr BlockState PolishedBlackstonePressurePlate(const bool Powered) - { - if (Powered) return 16751; - else return 16752; - } - BlockState PolishedBlackstonePressurePlate(); - bool Powered(BlockState Block); - } - namespace PolishedBlackstoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PolishedBlackstoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 16746; - else if (Type == Type::Bottom) return 16748; - else return 16750; - } - BlockState PolishedBlackstoneSlab(); - enum Type Type(BlockState Block); - } - namespace PolishedBlackstoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState PolishedBlackstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 16666; - else if (Shape == Shape::InnerLeft) return 16668; - else if (Shape == Shape::InnerRight) return 16670; - else if (Shape == Shape::OuterLeft) return 16672; - else return 16674; - else - if (Shape == Shape::Straight) return 16676; - else if (Shape == Shape::InnerLeft) return 16678; - else if (Shape == Shape::InnerRight) return 16680; - else if (Shape == Shape::OuterLeft) return 16682; - else return 16684; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 16686; - else if (Shape == Shape::InnerLeft) return 16688; - else if (Shape == Shape::InnerRight) return 16690; - else if (Shape == Shape::OuterLeft) return 16692; - else return 16694; - else - if (Shape == Shape::Straight) return 16696; - else if (Shape == Shape::InnerLeft) return 16698; - else if (Shape == Shape::InnerRight) return 16700; - else if (Shape == Shape::OuterLeft) return 16702; - else return 16704; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 16706; - else if (Shape == Shape::InnerLeft) return 16708; - else if (Shape == Shape::InnerRight) return 16710; - else if (Shape == Shape::OuterLeft) return 16712; - else return 16714; - else - if (Shape == Shape::Straight) return 16716; - else if (Shape == Shape::InnerLeft) return 16718; - else if (Shape == Shape::InnerRight) return 16720; - else if (Shape == Shape::OuterLeft) return 16722; - else return 16724; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 16726; - else if (Shape == Shape::InnerLeft) return 16728; - else if (Shape == Shape::InnerRight) return 16730; - else if (Shape == Shape::OuterLeft) return 16732; - else return 16734; - else - if (Shape == Shape::Straight) return 16736; - else if (Shape == Shape::InnerLeft) return 16738; - else if (Shape == Shape::InnerRight) return 16740; - else if (Shape == Shape::OuterLeft) return 16742; - else return 16744; - } - BlockState PolishedBlackstoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace PolishedBlackstoneWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState PolishedBlackstoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 16780; - else if (West == West::Low) return 16781; - else return 16782; - else - if (West == West::None) return 16786; - else if (West == West::Low) return 16787; - else return 16788; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16792; - else if (West == West::Low) return 16793; - else return 16794; - else - if (West == West::None) return 16798; - else if (West == West::Low) return 16799; - else return 16800; - else - if (Up) - if (West == West::None) return 16804; - else if (West == West::Low) return 16805; - else return 16806; - else - if (West == West::None) return 16810; - else if (West == West::Low) return 16811; - else return 16812; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 16816; - else if (West == West::Low) return 16817; - else return 16818; - else - if (West == West::None) return 16822; - else if (West == West::Low) return 16823; - else return 16824; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16828; - else if (West == West::Low) return 16829; - else return 16830; - else - if (West == West::None) return 16834; - else if (West == West::Low) return 16835; - else return 16836; - else - if (Up) - if (West == West::None) return 16840; - else if (West == West::Low) return 16841; - else return 16842; - else - if (West == West::None) return 16846; - else if (West == West::Low) return 16847; - else return 16848; - else - if (South == South::None) - if (Up) - if (West == West::None) return 16852; - else if (West == West::Low) return 16853; - else return 16854; - else - if (West == West::None) return 16858; - else if (West == West::Low) return 16859; - else return 16860; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16864; - else if (West == West::Low) return 16865; - else return 16866; - else - if (West == West::None) return 16870; - else if (West == West::Low) return 16871; - else return 16872; - else - if (Up) - if (West == West::None) return 16876; - else if (West == West::Low) return 16877; - else return 16878; - else - if (West == West::None) return 16882; - else if (West == West::Low) return 16883; - else return 16884; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 16888; - else if (West == West::Low) return 16889; - else return 16890; - else - if (West == West::None) return 16894; - else if (West == West::Low) return 16895; - else return 16896; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16900; - else if (West == West::Low) return 16901; - else return 16902; - else - if (West == West::None) return 16906; - else if (West == West::Low) return 16907; - else return 16908; - else - if (Up) - if (West == West::None) return 16912; - else if (West == West::Low) return 16913; - else return 16914; - else - if (West == West::None) return 16918; - else if (West == West::Low) return 16919; - else return 16920; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 16924; - else if (West == West::Low) return 16925; - else return 16926; - else - if (West == West::None) return 16930; - else if (West == West::Low) return 16931; - else return 16932; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16936; - else if (West == West::Low) return 16937; - else return 16938; - else - if (West == West::None) return 16942; - else if (West == West::Low) return 16943; - else return 16944; - else - if (Up) - if (West == West::None) return 16948; - else if (West == West::Low) return 16949; - else return 16950; - else - if (West == West::None) return 16954; - else if (West == West::Low) return 16955; - else return 16956; - else - if (South == South::None) - if (Up) - if (West == West::None) return 16960; - else if (West == West::Low) return 16961; - else return 16962; - else - if (West == West::None) return 16966; - else if (West == West::Low) return 16967; - else return 16968; - else if (South == South::Low) - if (Up) - if (West == West::None) return 16972; - else if (West == West::Low) return 16973; - else return 16974; - else - if (West == West::None) return 16978; - else if (West == West::Low) return 16979; - else return 16980; - else - if (Up) - if (West == West::None) return 16984; - else if (West == West::Low) return 16985; - else return 16986; - else - if (West == West::None) return 16990; - else if (West == West::Low) return 16991; - else return 16992; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 16996; - else if (West == West::Low) return 16997; - else return 16998; - else - if (West == West::None) return 17002; - else if (West == West::Low) return 17003; - else return 17004; - else if (South == South::Low) - if (Up) - if (West == West::None) return 17008; - else if (West == West::Low) return 17009; - else return 17010; - else - if (West == West::None) return 17014; - else if (West == West::Low) return 17015; - else return 17016; - else - if (Up) - if (West == West::None) return 17020; - else if (West == West::Low) return 17021; - else return 17022; - else - if (West == West::None) return 17026; - else if (West == West::Low) return 17027; - else return 17028; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 17032; - else if (West == West::Low) return 17033; - else return 17034; - else - if (West == West::None) return 17038; - else if (West == West::Low) return 17039; - else return 17040; - else if (South == South::Low) - if (Up) - if (West == West::None) return 17044; - else if (West == West::Low) return 17045; - else return 17046; - else - if (West == West::None) return 17050; - else if (West == West::Low) return 17051; - else return 17052; - else - if (Up) - if (West == West::None) return 17056; - else if (West == West::Low) return 17057; - else return 17058; - else - if (West == West::None) return 17062; - else if (West == West::Low) return 17063; - else return 17064; - else - if (South == South::None) - if (Up) - if (West == West::None) return 17068; - else if (West == West::Low) return 17069; - else return 17070; - else - if (West == West::None) return 17074; - else if (West == West::Low) return 17075; - else return 17076; - else if (South == South::Low) - if (Up) - if (West == West::None) return 17080; - else if (West == West::Low) return 17081; - else return 17082; - else - if (West == West::None) return 17086; - else if (West == West::Low) return 17087; - else return 17088; - else - if (Up) - if (West == West::None) return 17092; - else if (West == West::Low) return 17093; - else return 17094; - else - if (West == West::None) return 17098; - else if (West == West::Low) return 17099; - else return 17100; - } - BlockState PolishedBlackstoneWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace PolishedDiorite - { - constexpr BlockState PolishedDiorite() - { - return 5; - } - } - namespace PolishedDioriteSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PolishedDioriteSlab(const enum Type Type) - { - if (Type == Type::Top) return 10808; - else if (Type == Type::Bottom) return 10810; - else return 10812; - } - BlockState PolishedDioriteSlab(); - enum Type Type(BlockState Block); - } - namespace PolishedDioriteStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState PolishedDioriteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9910; - else if (Shape == Shape::InnerLeft) return 9912; - else if (Shape == Shape::InnerRight) return 9914; - else if (Shape == Shape::OuterLeft) return 9916; - else return 9918; - else - if (Shape == Shape::Straight) return 9920; - else if (Shape == Shape::InnerLeft) return 9922; - else if (Shape == Shape::InnerRight) return 9924; - else if (Shape == Shape::OuterLeft) return 9926; - else return 9928; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9930; - else if (Shape == Shape::InnerLeft) return 9932; - else if (Shape == Shape::InnerRight) return 9934; - else if (Shape == Shape::OuterLeft) return 9936; - else return 9938; - else - if (Shape == Shape::Straight) return 9940; - else if (Shape == Shape::InnerLeft) return 9942; - else if (Shape == Shape::InnerRight) return 9944; - else if (Shape == Shape::OuterLeft) return 9946; - else return 9948; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9950; - else if (Shape == Shape::InnerLeft) return 9952; - else if (Shape == Shape::InnerRight) return 9954; - else if (Shape == Shape::OuterLeft) return 9956; - else return 9958; - else - if (Shape == Shape::Straight) return 9960; - else if (Shape == Shape::InnerLeft) return 9962; - else if (Shape == Shape::InnerRight) return 9964; - else if (Shape == Shape::OuterLeft) return 9966; - else return 9968; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9970; - else if (Shape == Shape::InnerLeft) return 9972; - else if (Shape == Shape::InnerRight) return 9974; - else if (Shape == Shape::OuterLeft) return 9976; - else return 9978; - else - if (Shape == Shape::Straight) return 9980; - else if (Shape == Shape::InnerLeft) return 9982; - else if (Shape == Shape::InnerRight) return 9984; - else if (Shape == Shape::OuterLeft) return 9986; - else return 9988; - } - BlockState PolishedDioriteStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace PolishedGranite - { - constexpr BlockState PolishedGranite() - { - return 3; - } - } - namespace PolishedGraniteSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PolishedGraniteSlab(const enum Type Type) - { - if (Type == Type::Top) return 10790; - else if (Type == Type::Bottom) return 10792; - else return 10794; - } - BlockState PolishedGraniteSlab(); - enum Type Type(BlockState Block); - } - namespace PolishedGraniteStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState PolishedGraniteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9670; - else if (Shape == Shape::InnerLeft) return 9672; - else if (Shape == Shape::InnerRight) return 9674; - else if (Shape == Shape::OuterLeft) return 9676; - else return 9678; - else - if (Shape == Shape::Straight) return 9680; - else if (Shape == Shape::InnerLeft) return 9682; - else if (Shape == Shape::InnerRight) return 9684; - else if (Shape == Shape::OuterLeft) return 9686; - else return 9688; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9690; - else if (Shape == Shape::InnerLeft) return 9692; - else if (Shape == Shape::InnerRight) return 9694; - else if (Shape == Shape::OuterLeft) return 9696; - else return 9698; - else - if (Shape == Shape::Straight) return 9700; - else if (Shape == Shape::InnerLeft) return 9702; - else if (Shape == Shape::InnerRight) return 9704; - else if (Shape == Shape::OuterLeft) return 9706; - else return 9708; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9710; - else if (Shape == Shape::InnerLeft) return 9712; - else if (Shape == Shape::InnerRight) return 9714; - else if (Shape == Shape::OuterLeft) return 9716; - else return 9718; - else - if (Shape == Shape::Straight) return 9720; - else if (Shape == Shape::InnerLeft) return 9722; - else if (Shape == Shape::InnerRight) return 9724; - else if (Shape == Shape::OuterLeft) return 9726; - else return 9728; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9730; - else if (Shape == Shape::InnerLeft) return 9732; - else if (Shape == Shape::InnerRight) return 9734; - else if (Shape == Shape::OuterLeft) return 9736; - else return 9738; - else - if (Shape == Shape::Straight) return 9740; - else if (Shape == Shape::InnerLeft) return 9742; - else if (Shape == Shape::InnerRight) return 9744; - else if (Shape == Shape::OuterLeft) return 9746; - else return 9748; - } - BlockState PolishedGraniteStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace Poppy - { - constexpr BlockState Poppy() - { - return 1413; - } - } - namespace Potatoes - { - constexpr BlockState Potatoes(const unsigned char Age) - { - if (Age == 0) return 6338; - else if (Age == 1) return 6339; - else if (Age == 2) return 6340; - else if (Age == 3) return 6341; - else if (Age == 4) return 6342; - else if (Age == 5) return 6343; - else if (Age == 6) return 6344; - else return 6345; - } - BlockState Potatoes(); - unsigned char Age(BlockState Block); - } - namespace PottedAcaciaSapling - { - constexpr BlockState PottedAcaciaSapling() - { - return 6310; - } - } - namespace PottedAllium - { - constexpr BlockState PottedAllium() - { - return 6316; - } - } - namespace PottedAzureBluet - { - constexpr BlockState PottedAzureBluet() - { - return 6317; - } - } - namespace PottedBamboo - { - constexpr BlockState PottedBamboo() - { - return 9664; - } - } - namespace PottedBirchSapling - { - constexpr BlockState PottedBirchSapling() - { - return 6308; - } - } - namespace PottedBlueOrchid - { - constexpr BlockState PottedBlueOrchid() - { - return 6315; - } - } - namespace PottedBrownMushroom - { - constexpr BlockState PottedBrownMushroom() - { - return 6327; - } - } - namespace PottedCactus - { - constexpr BlockState PottedCactus() - { - return 6329; - } - } - namespace PottedCornflower - { - constexpr BlockState PottedCornflower() - { - return 6323; - } - } - namespace PottedCrimsonFungus - { - constexpr BlockState PottedCrimsonFungus() - { - return 15834; - } - } - namespace PottedCrimsonRoots - { - constexpr BlockState PottedCrimsonRoots() - { - return 15836; - } - } - namespace PottedDandelion - { - constexpr BlockState PottedDandelion() - { - return 6313; - } - } - namespace PottedDarkOakSapling - { - constexpr BlockState PottedDarkOakSapling() - { - return 6311; - } - } - namespace PottedDeadBush - { - constexpr BlockState PottedDeadBush() - { - return 6328; - } - } - namespace PottedFern - { - constexpr BlockState PottedFern() - { - return 6312; - } - } - namespace PottedJungleSapling - { - constexpr BlockState PottedJungleSapling() - { - return 6309; - } - } - namespace PottedLilyOfTheValley - { - constexpr BlockState PottedLilyOfTheValley() - { - return 6324; - } - } - namespace PottedOakSapling - { - constexpr BlockState PottedOakSapling() - { - return 6306; - } - } - namespace PottedOrangeTulip - { - constexpr BlockState PottedOrangeTulip() - { - return 6319; - } - } - namespace PottedOxeyeDaisy - { - constexpr BlockState PottedOxeyeDaisy() - { - return 6322; - } - } - namespace PottedPinkTulip - { - constexpr BlockState PottedPinkTulip() - { - return 6321; - } - } - namespace PottedPoppy - { - constexpr BlockState PottedPoppy() - { - return 6314; - } - } - namespace PottedRedMushroom - { - constexpr BlockState PottedRedMushroom() - { - return 6326; - } - } - namespace PottedRedTulip - { - constexpr BlockState PottedRedTulip() - { - return 6318; - } - } - namespace PottedSpruceSapling - { - constexpr BlockState PottedSpruceSapling() - { - return 6307; - } - } - namespace PottedWarpedFungus - { - constexpr BlockState PottedWarpedFungus() - { - return 15835; - } - } - namespace PottedWarpedRoots - { - constexpr BlockState PottedWarpedRoots() - { - return 15837; - } - } - namespace PottedWhiteTulip - { - constexpr BlockState PottedWhiteTulip() - { - return 6320; - } - } - namespace PottedWitherRose - { - constexpr BlockState PottedWitherRose() - { - return 6325; - } - } - namespace PoweredRail - { - enum class Shape - { - NorthSouth, - EastWest, - AscendingEast, - AscendingWest, - AscendingNorth, - AscendingSouth - }; - constexpr BlockState PoweredRail(const bool Powered, const enum Shape Shape) - { - if (Powered) - if (Shape == Shape::NorthSouth) return 1305; - else if (Shape == Shape::EastWest) return 1306; - else if (Shape == Shape::AscendingEast) return 1307; - else if (Shape == Shape::AscendingWest) return 1308; - else if (Shape == Shape::AscendingNorth) return 1309; - else return 1310; - else - if (Shape == Shape::NorthSouth) return 1311; - else if (Shape == Shape::EastWest) return 1312; - else if (Shape == Shape::AscendingEast) return 1313; - else if (Shape == Shape::AscendingWest) return 1314; - else if (Shape == Shape::AscendingNorth) return 1315; - else return 1316; - } - BlockState PoweredRail(); - bool Powered(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace Prismarine - { - constexpr BlockState Prismarine() - { - return 7601; - } - } - namespace PrismarineBrickSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PrismarineBrickSlab(const enum Type Type) - { - if (Type == Type::Top) return 7851; - else if (Type == Type::Bottom) return 7853; - else return 7855; - } - BlockState PrismarineBrickSlab(); - enum Type Type(BlockState Block); - } - namespace PrismarineBrickStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState PrismarineBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7685; - else if (Shape == Shape::InnerLeft) return 7687; - else if (Shape == Shape::InnerRight) return 7689; - else if (Shape == Shape::OuterLeft) return 7691; - else return 7693; - else - if (Shape == Shape::Straight) return 7695; - else if (Shape == Shape::InnerLeft) return 7697; - else if (Shape == Shape::InnerRight) return 7699; - else if (Shape == Shape::OuterLeft) return 7701; - else return 7703; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7705; - else if (Shape == Shape::InnerLeft) return 7707; - else if (Shape == Shape::InnerRight) return 7709; - else if (Shape == Shape::OuterLeft) return 7711; - else return 7713; - else - if (Shape == Shape::Straight) return 7715; - else if (Shape == Shape::InnerLeft) return 7717; - else if (Shape == Shape::InnerRight) return 7719; - else if (Shape == Shape::OuterLeft) return 7721; - else return 7723; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7725; - else if (Shape == Shape::InnerLeft) return 7727; - else if (Shape == Shape::InnerRight) return 7729; - else if (Shape == Shape::OuterLeft) return 7731; - else return 7733; - else - if (Shape == Shape::Straight) return 7735; - else if (Shape == Shape::InnerLeft) return 7737; - else if (Shape == Shape::InnerRight) return 7739; - else if (Shape == Shape::OuterLeft) return 7741; - else return 7743; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7745; - else if (Shape == Shape::InnerLeft) return 7747; - else if (Shape == Shape::InnerRight) return 7749; - else if (Shape == Shape::OuterLeft) return 7751; - else return 7753; - else - if (Shape == Shape::Straight) return 7755; - else if (Shape == Shape::InnerLeft) return 7757; - else if (Shape == Shape::InnerRight) return 7759; - else if (Shape == Shape::OuterLeft) return 7761; - else return 7763; - } - BlockState PrismarineBrickStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace PrismarineBricks - { - constexpr BlockState PrismarineBricks() - { - return 7602; - } - } - namespace PrismarineSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PrismarineSlab(const enum Type Type) - { - if (Type == Type::Top) return 7845; - else if (Type == Type::Bottom) return 7847; - else return 7849; - } - BlockState PrismarineSlab(); - enum Type Type(BlockState Block); - } - namespace PrismarineStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState PrismarineStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7605; - else if (Shape == Shape::InnerLeft) return 7607; - else if (Shape == Shape::InnerRight) return 7609; - else if (Shape == Shape::OuterLeft) return 7611; - else return 7613; - else - if (Shape == Shape::Straight) return 7615; - else if (Shape == Shape::InnerLeft) return 7617; - else if (Shape == Shape::InnerRight) return 7619; - else if (Shape == Shape::OuterLeft) return 7621; - else return 7623; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7625; - else if (Shape == Shape::InnerLeft) return 7627; - else if (Shape == Shape::InnerRight) return 7629; - else if (Shape == Shape::OuterLeft) return 7631; - else return 7633; - else - if (Shape == Shape::Straight) return 7635; - else if (Shape == Shape::InnerLeft) return 7637; - else if (Shape == Shape::InnerRight) return 7639; - else if (Shape == Shape::OuterLeft) return 7641; - else return 7643; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7645; - else if (Shape == Shape::InnerLeft) return 7647; - else if (Shape == Shape::InnerRight) return 7649; - else if (Shape == Shape::OuterLeft) return 7651; - else return 7653; - else - if (Shape == Shape::Straight) return 7655; - else if (Shape == Shape::InnerLeft) return 7657; - else if (Shape == Shape::InnerRight) return 7659; - else if (Shape == Shape::OuterLeft) return 7661; - else return 7663; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 7665; - else if (Shape == Shape::InnerLeft) return 7667; - else if (Shape == Shape::InnerRight) return 7669; - else if (Shape == Shape::OuterLeft) return 7671; - else return 7673; - else - if (Shape == Shape::Straight) return 7675; - else if (Shape == Shape::InnerLeft) return 7677; - else if (Shape == Shape::InnerRight) return 7679; - else if (Shape == Shape::OuterLeft) return 7681; - else return 7683; - } - BlockState PrismarineStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace PrismarineWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState PrismarineWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11194; - else if (West == West::Low) return 11195; - else return 11196; - else - if (West == West::None) return 11200; - else if (West == West::Low) return 11201; - else return 11202; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11206; - else if (West == West::Low) return 11207; - else return 11208; - else - if (West == West::None) return 11212; - else if (West == West::Low) return 11213; - else return 11214; - else - if (Up) - if (West == West::None) return 11218; - else if (West == West::Low) return 11219; - else return 11220; - else - if (West == West::None) return 11224; - else if (West == West::Low) return 11225; - else return 11226; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11230; - else if (West == West::Low) return 11231; - else return 11232; - else - if (West == West::None) return 11236; - else if (West == West::Low) return 11237; - else return 11238; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11242; - else if (West == West::Low) return 11243; - else return 11244; - else - if (West == West::None) return 11248; - else if (West == West::Low) return 11249; - else return 11250; - else - if (Up) - if (West == West::None) return 11254; - else if (West == West::Low) return 11255; - else return 11256; - else - if (West == West::None) return 11260; - else if (West == West::Low) return 11261; - else return 11262; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11266; - else if (West == West::Low) return 11267; - else return 11268; - else - if (West == West::None) return 11272; - else if (West == West::Low) return 11273; - else return 11274; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11278; - else if (West == West::Low) return 11279; - else return 11280; - else - if (West == West::None) return 11284; - else if (West == West::Low) return 11285; - else return 11286; - else - if (Up) - if (West == West::None) return 11290; - else if (West == West::Low) return 11291; - else return 11292; - else - if (West == West::None) return 11296; - else if (West == West::Low) return 11297; - else return 11298; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11302; - else if (West == West::Low) return 11303; - else return 11304; - else - if (West == West::None) return 11308; - else if (West == West::Low) return 11309; - else return 11310; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11314; - else if (West == West::Low) return 11315; - else return 11316; - else - if (West == West::None) return 11320; - else if (West == West::Low) return 11321; - else return 11322; - else - if (Up) - if (West == West::None) return 11326; - else if (West == West::Low) return 11327; - else return 11328; - else - if (West == West::None) return 11332; - else if (West == West::Low) return 11333; - else return 11334; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11338; - else if (West == West::Low) return 11339; - else return 11340; - else - if (West == West::None) return 11344; - else if (West == West::Low) return 11345; - else return 11346; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11350; - else if (West == West::Low) return 11351; - else return 11352; - else - if (West == West::None) return 11356; - else if (West == West::Low) return 11357; - else return 11358; - else - if (Up) - if (West == West::None) return 11362; - else if (West == West::Low) return 11363; - else return 11364; - else - if (West == West::None) return 11368; - else if (West == West::Low) return 11369; - else return 11370; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11374; - else if (West == West::Low) return 11375; - else return 11376; - else - if (West == West::None) return 11380; - else if (West == West::Low) return 11381; - else return 11382; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11386; - else if (West == West::Low) return 11387; - else return 11388; - else - if (West == West::None) return 11392; - else if (West == West::Low) return 11393; - else return 11394; - else - if (Up) - if (West == West::None) return 11398; - else if (West == West::Low) return 11399; - else return 11400; - else - if (West == West::None) return 11404; - else if (West == West::Low) return 11405; - else return 11406; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11410; - else if (West == West::Low) return 11411; - else return 11412; - else - if (West == West::None) return 11416; - else if (West == West::Low) return 11417; - else return 11418; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11422; - else if (West == West::Low) return 11423; - else return 11424; - else - if (West == West::None) return 11428; - else if (West == West::Low) return 11429; - else return 11430; - else - if (Up) - if (West == West::None) return 11434; - else if (West == West::Low) return 11435; - else return 11436; - else - if (West == West::None) return 11440; - else if (West == West::Low) return 11441; - else return 11442; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11446; - else if (West == West::Low) return 11447; - else return 11448; - else - if (West == West::None) return 11452; - else if (West == West::Low) return 11453; - else return 11454; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11458; - else if (West == West::Low) return 11459; - else return 11460; - else - if (West == West::None) return 11464; - else if (West == West::Low) return 11465; - else return 11466; - else - if (Up) - if (West == West::None) return 11470; - else if (West == West::Low) return 11471; - else return 11472; - else - if (West == West::None) return 11476; - else if (West == West::Low) return 11477; - else return 11478; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11482; - else if (West == West::Low) return 11483; - else return 11484; - else - if (West == West::None) return 11488; - else if (West == West::Low) return 11489; - else return 11490; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11494; - else if (West == West::Low) return 11495; - else return 11496; - else - if (West == West::None) return 11500; - else if (West == West::Low) return 11501; - else return 11502; - else - if (Up) - if (West == West::None) return 11506; - else if (West == West::Low) return 11507; - else return 11508; - else - if (West == West::None) return 11512; - else if (West == West::Low) return 11513; - else return 11514; - } - BlockState PrismarineWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace Pumpkin - { - constexpr BlockState Pumpkin() - { - return 3998; - } - } - namespace PumpkinStem - { - constexpr BlockState PumpkinStem(const unsigned char Age) - { - if (Age == 0) return 4772; - else if (Age == 1) return 4773; - else if (Age == 2) return 4774; - else if (Age == 3) return 4775; - else if (Age == 4) return 4776; - else if (Age == 5) return 4777; - else if (Age == 6) return 4778; - else return 4779; - } - BlockState PumpkinStem(); - unsigned char Age(BlockState Block); - } - namespace PurpleBanner - { - constexpr BlockState PurpleBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8057; - else if (Rotation == 1) return 8058; - else if (Rotation == 2) return 8059; - else if (Rotation == 3) return 8060; - else if (Rotation == 4) return 8061; - else if (Rotation == 5) return 8062; - else if (Rotation == 6) return 8063; - else if (Rotation == 7) return 8064; - else if (Rotation == 8) return 8065; - else if (Rotation == 9) return 8066; - else if (Rotation == 10) return 8067; - else if (Rotation == 11) return 8068; - else if (Rotation == 12) return 8069; - else if (Rotation == 13) return 8070; - else if (Rotation == 14) return 8071; - else return 8072; - } - BlockState PurpleBanner(); - unsigned char Rotation(BlockState Block); - } - namespace PurpleBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState PurpleBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1209; - else return 1210; - else - if (Part == Part::Head) return 1211; - else return 1212; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1213; - else return 1214; - else - if (Part == Part::Head) return 1215; - else return 1216; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1217; - else return 1218; - else - if (Part == Part::Head) return 1219; - else return 1220; - else - if (Occupied) - if (Part == Part::Head) return 1221; - else return 1222; - else - if (Part == Part::Head) return 1223; - else return 1224; - } - BlockState PurpleBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace PurpleCarpet - { - constexpr BlockState PurpleCarpet() - { - return 7876; - } - } - namespace PurpleConcrete - { - constexpr BlockState PurpleConcrete() - { - return 9448; - } - } - namespace PurpleConcretePowder - { - constexpr BlockState PurpleConcretePowder() - { - return 9464; - } - } - namespace PurpleGlazedTerracotta - { - constexpr BlockState PurpleGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9414; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9415; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9416; - else return 9417; - } - BlockState PurpleGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace PurpleShulkerBox - { - constexpr BlockState PurpleShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9338; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9339; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9340; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9341; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9342; - else return 9343; - } - BlockState PurpleShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace PurpleStainedGlass - { - constexpr BlockState PurpleStainedGlass() - { - return 4105; - } - } - namespace PurpleStainedGlassPane - { - constexpr BlockState PurpleStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7185; - else return 7186; - else - if (West) return 7189; - else return 7190; - else - if (South) - if (West) return 7193; - else return 7194; - else - if (West) return 7197; - else return 7198; + return 12570; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12574; + else if (West == West::Low) + return 12575; + else + return 12576; + else if (West == West::None) + return 12580; + else if (West == West::Low) + return 12581; else - if (North) - if (South) - if (West) return 7201; - else return 7202; - else - if (West) return 7205; - else return 7206; - else - if (South) - if (West) return 7209; - else return 7210; - else - if (West) return 7213; - else return 7214; - } - BlockState PurpleStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace PurpleTerracotta - { - constexpr BlockState PurpleTerracotta() - { - return 6857; - } - } - namespace PurpleWallBanner - { - constexpr BlockState PurpleWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8193; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8194; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8195; - else return 8196; - } - BlockState PurpleWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace PurpleWool - { - constexpr BlockState PurpleWool() - { - return 1394; - } - } - namespace PurpurBlock - { - constexpr BlockState PurpurBlock() - { - return 9134; - } - } - namespace PurpurPillar - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState PurpurPillar(const enum Axis Axis) - { - if (Axis == Axis::X) return 9135; - else if (Axis == Axis::Y) return 9136; - else return 9137; - } - BlockState PurpurPillar(); - enum Axis Axis(BlockState Block); - } - namespace PurpurSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState PurpurSlab(const enum Type Type) - { - if (Type == Type::Top) return 8409; - else if (Type == Type::Bottom) return 8411; - else return 8413; - } - BlockState PurpurSlab(); - enum Type Type(BlockState Block); - } - namespace PurpurStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState PurpurStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9139; - else if (Shape == Shape::InnerLeft) return 9141; - else if (Shape == Shape::InnerRight) return 9143; - else if (Shape == Shape::OuterLeft) return 9145; - else return 9147; - else - if (Shape == Shape::Straight) return 9149; - else if (Shape == Shape::InnerLeft) return 9151; - else if (Shape == Shape::InnerRight) return 9153; - else if (Shape == Shape::OuterLeft) return 9155; - else return 9157; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9159; - else if (Shape == Shape::InnerLeft) return 9161; - else if (Shape == Shape::InnerRight) return 9163; - else if (Shape == Shape::OuterLeft) return 9165; - else return 9167; - else - if (Shape == Shape::Straight) return 9169; - else if (Shape == Shape::InnerLeft) return 9171; - else if (Shape == Shape::InnerRight) return 9173; - else if (Shape == Shape::OuterLeft) return 9175; - else return 9177; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9179; - else if (Shape == Shape::InnerLeft) return 9181; - else if (Shape == Shape::InnerRight) return 9183; - else if (Shape == Shape::OuterLeft) return 9185; - else return 9187; - else - if (Shape == Shape::Straight) return 9189; - else if (Shape == Shape::InnerLeft) return 9191; - else if (Shape == Shape::InnerRight) return 9193; - else if (Shape == Shape::OuterLeft) return 9195; - else return 9197; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9199; - else if (Shape == Shape::InnerLeft) return 9201; - else if (Shape == Shape::InnerRight) return 9203; - else if (Shape == Shape::OuterLeft) return 9205; - else return 9207; - else - if (Shape == Shape::Straight) return 9209; - else if (Shape == Shape::InnerLeft) return 9211; - else if (Shape == Shape::InnerRight) return 9213; - else if (Shape == Shape::OuterLeft) return 9215; - else return 9217; - } - BlockState PurpurStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace QuartzBlock - { - constexpr BlockState QuartzBlock() - { - return 6738; - } - } - namespace QuartzBricks - { - constexpr BlockState QuartzBricks() - { - return 17103; - } - } - namespace QuartzPillar - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState QuartzPillar(const enum Axis Axis) - { - if (Axis == Axis::X) return 6740; - else if (Axis == Axis::Y) return 6741; - else return 6742; - } - BlockState QuartzPillar(); - enum Axis Axis(BlockState Block); - } - namespace QuartzSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState QuartzSlab(const enum Type Type) - { - if (Type == Type::Top) return 8391; - else if (Type == Type::Bottom) return 8393; - else return 8395; - } - BlockState QuartzSlab(); - enum Type Type(BlockState Block); - } - namespace QuartzStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState QuartzStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 6744; - else if (Shape == Shape::InnerLeft) return 6746; - else if (Shape == Shape::InnerRight) return 6748; - else if (Shape == Shape::OuterLeft) return 6750; - else return 6752; - else - if (Shape == Shape::Straight) return 6754; - else if (Shape == Shape::InnerLeft) return 6756; - else if (Shape == Shape::InnerRight) return 6758; - else if (Shape == Shape::OuterLeft) return 6760; - else return 6762; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 6764; - else if (Shape == Shape::InnerLeft) return 6766; - else if (Shape == Shape::InnerRight) return 6768; - else if (Shape == Shape::OuterLeft) return 6770; - else return 6772; - else - if (Shape == Shape::Straight) return 6774; - else if (Shape == Shape::InnerLeft) return 6776; - else if (Shape == Shape::InnerRight) return 6778; - else if (Shape == Shape::OuterLeft) return 6780; - else return 6782; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 6784; - else if (Shape == Shape::InnerLeft) return 6786; - else if (Shape == Shape::InnerRight) return 6788; - else if (Shape == Shape::OuterLeft) return 6790; - else return 6792; - else - if (Shape == Shape::Straight) return 6794; - else if (Shape == Shape::InnerLeft) return 6796; - else if (Shape == Shape::InnerRight) return 6798; - else if (Shape == Shape::OuterLeft) return 6800; - else return 6802; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 6804; - else if (Shape == Shape::InnerLeft) return 6806; - else if (Shape == Shape::InnerRight) return 6808; - else if (Shape == Shape::OuterLeft) return 6810; - else return 6812; - else - if (Shape == Shape::Straight) return 6814; - else if (Shape == Shape::InnerLeft) return 6816; - else if (Shape == Shape::InnerRight) return 6818; - else if (Shape == Shape::OuterLeft) return 6820; - else return 6822; - } - BlockState QuartzStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace Rail - { - enum class Shape - { - NorthSouth, - EastWest, - AscendingEast, - AscendingWest, - AscendingNorth, - AscendingSouth, - SouthEast, - SouthWest, - NorthWest, - NorthEast - }; - constexpr BlockState Rail(const enum Shape Shape) - { - if (Shape == Shape::NorthSouth) return 3645; - else if (Shape == Shape::EastWest) return 3646; - else if (Shape == Shape::AscendingEast) return 3647; - else if (Shape == Shape::AscendingWest) return 3648; - else if (Shape == Shape::AscendingNorth) return 3649; - else if (Shape == Shape::AscendingSouth) return 3650; - else if (Shape == Shape::SouthEast) return 3651; - else if (Shape == Shape::SouthWest) return 3652; - else if (Shape == Shape::NorthWest) return 3653; - else return 3654; - } - BlockState Rail(); - enum Shape Shape(BlockState Block); - } - namespace RedBanner - { - constexpr BlockState RedBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 8121; - else if (Rotation == 1) return 8122; - else if (Rotation == 2) return 8123; - else if (Rotation == 3) return 8124; - else if (Rotation == 4) return 8125; - else if (Rotation == 5) return 8126; - else if (Rotation == 6) return 8127; - else if (Rotation == 7) return 8128; - else if (Rotation == 8) return 8129; - else if (Rotation == 9) return 8130; - else if (Rotation == 10) return 8131; - else if (Rotation == 11) return 8132; - else if (Rotation == 12) return 8133; - else if (Rotation == 13) return 8134; - else if (Rotation == 14) return 8135; - else return 8136; - } - BlockState RedBanner(); - unsigned char Rotation(BlockState Block); - } - namespace RedBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState RedBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1273; - else return 1274; - else - if (Part == Part::Head) return 1275; - else return 1276; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1277; - else return 1278; - else - if (Part == Part::Head) return 1279; - else return 1280; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1281; - else return 1282; - else - if (Part == Part::Head) return 1283; - else return 1284; - else - if (Occupied) - if (Part == Part::Head) return 1285; - else return 1286; - else - if (Part == Part::Head) return 1287; - else return 1288; - } - BlockState RedBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace RedCarpet - { - constexpr BlockState RedCarpet() - { - return 7880; - } - } - namespace RedConcrete - { - constexpr BlockState RedConcrete() - { - return 9452; - } - } - namespace RedConcretePowder - { - constexpr BlockState RedConcretePowder() - { - return 9468; - } - } - namespace RedGlazedTerracotta - { - constexpr BlockState RedGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9430; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9431; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9432; - else return 9433; - } - BlockState RedGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace RedMushroom - { - constexpr BlockState RedMushroom() - { - return 1426; - } - } - namespace RedMushroomBlock - { - constexpr BlockState RedMushroomBlock(const bool Down, const bool East, const bool North, const bool South, const bool Up, const bool West) - { - if (Down) - if (East) - if (North) - if (South) - if (Up) - if (West) return 4569; - else return 4570; - else - if (West) return 4571; - else return 4572; - else - if (Up) - if (West) return 4573; - else return 4574; - else - if (West) return 4575; - else return 4576; - else - if (South) - if (Up) - if (West) return 4577; - else return 4578; - else - if (West) return 4579; - else return 4580; - else - if (Up) - if (West) return 4581; - else return 4582; - else - if (West) return 4583; - else return 4584; - else - if (North) - if (South) - if (Up) - if (West) return 4585; - else return 4586; - else - if (West) return 4587; - else return 4588; - else - if (Up) - if (West) return 4589; - else return 4590; - else - if (West) return 4591; - else return 4592; - else - if (South) - if (Up) - if (West) return 4593; - else return 4594; - else - if (West) return 4595; - else return 4596; - else - if (Up) - if (West) return 4597; - else return 4598; - else - if (West) return 4599; - else return 4600; + return 12582; + else if (Up) + if (West == West::None) + return 12586; + else if (West == West::Low) + return 12587; else - if (East) - if (North) - if (South) - if (Up) - if (West) return 4601; - else return 4602; - else - if (West) return 4603; - else return 4604; - else - if (Up) - if (West) return 4605; - else return 4606; - else - if (West) return 4607; - else return 4608; - else - if (South) - if (Up) - if (West) return 4609; - else return 4610; - else - if (West) return 4611; - else return 4612; - else - if (Up) - if (West) return 4613; - else return 4614; - else - if (West) return 4615; - else return 4616; - else - if (North) - if (South) - if (Up) - if (West) return 4617; - else return 4618; - else - if (West) return 4619; - else return 4620; - else - if (Up) - if (West) return 4621; - else return 4622; - else - if (West) return 4623; - else return 4624; - else - if (South) - if (Up) - if (West) return 4625; - else return 4626; - else - if (West) return 4627; - else return 4628; - else - if (Up) - if (West) return 4629; - else return 4630; - else - if (West) return 4631; - else return 4632; - } - BlockState RedMushroomBlock(); - bool Down(BlockState Block); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool Up(BlockState Block); - bool West(BlockState Block); - } - namespace RedNetherBrickSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState RedNetherBrickSlab(const enum Type Type) - { - if (Type == Type::Top) return 10850; - else if (Type == Type::Bottom) return 10852; - else return 10854; - } - BlockState RedNetherBrickSlab(); - enum Type Type(BlockState Block); - } - namespace RedNetherBrickStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState RedNetherBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10550; - else if (Shape == Shape::InnerLeft) return 10552; - else if (Shape == Shape::InnerRight) return 10554; - else if (Shape == Shape::OuterLeft) return 10556; - else return 10558; - else - if (Shape == Shape::Straight) return 10560; - else if (Shape == Shape::InnerLeft) return 10562; - else if (Shape == Shape::InnerRight) return 10564; - else if (Shape == Shape::OuterLeft) return 10566; - else return 10568; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10570; - else if (Shape == Shape::InnerLeft) return 10572; - else if (Shape == Shape::InnerRight) return 10574; - else if (Shape == Shape::OuterLeft) return 10576; - else return 10578; - else - if (Shape == Shape::Straight) return 10580; - else if (Shape == Shape::InnerLeft) return 10582; - else if (Shape == Shape::InnerRight) return 10584; - else if (Shape == Shape::OuterLeft) return 10586; - else return 10588; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10590; - else if (Shape == Shape::InnerLeft) return 10592; - else if (Shape == Shape::InnerRight) return 10594; - else if (Shape == Shape::OuterLeft) return 10596; - else return 10598; - else - if (Shape == Shape::Straight) return 10600; - else if (Shape == Shape::InnerLeft) return 10602; - else if (Shape == Shape::InnerRight) return 10604; - else if (Shape == Shape::OuterLeft) return 10606; - else return 10608; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10610; - else if (Shape == Shape::InnerLeft) return 10612; - else if (Shape == Shape::InnerRight) return 10614; - else if (Shape == Shape::OuterLeft) return 10616; - else return 10618; - else - if (Shape == Shape::Straight) return 10620; - else if (Shape == Shape::InnerLeft) return 10622; - else if (Shape == Shape::InnerRight) return 10624; - else if (Shape == Shape::OuterLeft) return 10626; - else return 10628; - } - BlockState RedNetherBrickStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace RedNetherBrickWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState RedNetherBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13462; - else if (West == West::Low) return 13463; - else return 13464; - else - if (West == West::None) return 13468; - else if (West == West::Low) return 13469; - else return 13470; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13474; - else if (West == West::Low) return 13475; - else return 13476; - else - if (West == West::None) return 13480; - else if (West == West::Low) return 13481; - else return 13482; - else - if (Up) - if (West == West::None) return 13486; - else if (West == West::Low) return 13487; - else return 13488; - else - if (West == West::None) return 13492; - else if (West == West::Low) return 13493; - else return 13494; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13498; - else if (West == West::Low) return 13499; - else return 13500; - else - if (West == West::None) return 13504; - else if (West == West::Low) return 13505; - else return 13506; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13510; - else if (West == West::Low) return 13511; - else return 13512; - else - if (West == West::None) return 13516; - else if (West == West::Low) return 13517; - else return 13518; - else - if (Up) - if (West == West::None) return 13522; - else if (West == West::Low) return 13523; - else return 13524; - else - if (West == West::None) return 13528; - else if (West == West::Low) return 13529; - else return 13530; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13534; - else if (West == West::Low) return 13535; - else return 13536; - else - if (West == West::None) return 13540; - else if (West == West::Low) return 13541; - else return 13542; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13546; - else if (West == West::Low) return 13547; - else return 13548; - else - if (West == West::None) return 13552; - else if (West == West::Low) return 13553; - else return 13554; - else - if (Up) - if (West == West::None) return 13558; - else if (West == West::Low) return 13559; - else return 13560; - else - if (West == West::None) return 13564; - else if (West == West::Low) return 13565; - else return 13566; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13570; - else if (West == West::Low) return 13571; - else return 13572; - else - if (West == West::None) return 13576; - else if (West == West::Low) return 13577; - else return 13578; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13582; - else if (West == West::Low) return 13583; - else return 13584; - else - if (West == West::None) return 13588; - else if (West == West::Low) return 13589; - else return 13590; - else - if (Up) - if (West == West::None) return 13594; - else if (West == West::Low) return 13595; - else return 13596; - else - if (West == West::None) return 13600; - else if (West == West::Low) return 13601; - else return 13602; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13606; - else if (West == West::Low) return 13607; - else return 13608; - else - if (West == West::None) return 13612; - else if (West == West::Low) return 13613; - else return 13614; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13618; - else if (West == West::Low) return 13619; - else return 13620; - else - if (West == West::None) return 13624; - else if (West == West::Low) return 13625; - else return 13626; - else - if (Up) - if (West == West::None) return 13630; - else if (West == West::Low) return 13631; - else return 13632; - else - if (West == West::None) return 13636; - else if (West == West::Low) return 13637; - else return 13638; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13642; - else if (West == West::Low) return 13643; - else return 13644; - else - if (West == West::None) return 13648; - else if (West == West::Low) return 13649; - else return 13650; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13654; - else if (West == West::Low) return 13655; - else return 13656; - else - if (West == West::None) return 13660; - else if (West == West::Low) return 13661; - else return 13662; - else - if (Up) - if (West == West::None) return 13666; - else if (West == West::Low) return 13667; - else return 13668; - else - if (West == West::None) return 13672; - else if (West == West::Low) return 13673; - else return 13674; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13678; - else if (West == West::Low) return 13679; - else return 13680; - else - if (West == West::None) return 13684; - else if (West == West::Low) return 13685; - else return 13686; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13690; - else if (West == West::Low) return 13691; - else return 13692; - else - if (West == West::None) return 13696; - else if (West == West::Low) return 13697; - else return 13698; - else - if (Up) - if (West == West::None) return 13702; - else if (West == West::Low) return 13703; - else return 13704; - else - if (West == West::None) return 13708; - else if (West == West::Low) return 13709; - else return 13710; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13714; - else if (West == West::Low) return 13715; - else return 13716; - else - if (West == West::None) return 13720; - else if (West == West::Low) return 13721; - else return 13722; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13726; - else if (West == West::Low) return 13727; - else return 13728; - else - if (West == West::None) return 13732; - else if (West == West::Low) return 13733; - else return 13734; - else - if (Up) - if (West == West::None) return 13738; - else if (West == West::Low) return 13739; - else return 13740; - else - if (West == West::None) return 13744; - else if (West == West::Low) return 13745; - else return 13746; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13750; - else if (West == West::Low) return 13751; - else return 13752; - else - if (West == West::None) return 13756; - else if (West == West::Low) return 13757; - else return 13758; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13762; - else if (West == West::Low) return 13763; - else return 13764; - else - if (West == West::None) return 13768; - else if (West == West::Low) return 13769; - else return 13770; - else - if (Up) - if (West == West::None) return 13774; - else if (West == West::Low) return 13775; - else return 13776; - else - if (West == West::None) return 13780; - else if (West == West::Low) return 13781; - else return 13782; - } - BlockState RedNetherBrickWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace RedNetherBricks - { - constexpr BlockState RedNetherBricks() - { - return 9255; - } - } - namespace RedSand - { - constexpr BlockState RedSand() - { - return 67; - } - } - namespace RedSandstone - { - constexpr BlockState RedSandstone() - { - return 8217; - } - } - namespace RedSandstoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState RedSandstoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 8397; - else if (Type == Type::Bottom) return 8399; - else return 8401; - } - BlockState RedSandstoneSlab(); - enum Type Type(BlockState Block); - } - namespace RedSandstoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState RedSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 8221; - else if (Shape == Shape::InnerLeft) return 8223; - else if (Shape == Shape::InnerRight) return 8225; - else if (Shape == Shape::OuterLeft) return 8227; - else return 8229; - else - if (Shape == Shape::Straight) return 8231; - else if (Shape == Shape::InnerLeft) return 8233; - else if (Shape == Shape::InnerRight) return 8235; - else if (Shape == Shape::OuterLeft) return 8237; - else return 8239; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 8241; - else if (Shape == Shape::InnerLeft) return 8243; - else if (Shape == Shape::InnerRight) return 8245; - else if (Shape == Shape::OuterLeft) return 8247; - else return 8249; - else - if (Shape == Shape::Straight) return 8251; - else if (Shape == Shape::InnerLeft) return 8253; - else if (Shape == Shape::InnerRight) return 8255; - else if (Shape == Shape::OuterLeft) return 8257; - else return 8259; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 8261; - else if (Shape == Shape::InnerLeft) return 8263; - else if (Shape == Shape::InnerRight) return 8265; - else if (Shape == Shape::OuterLeft) return 8267; - else return 8269; - else - if (Shape == Shape::Straight) return 8271; - else if (Shape == Shape::InnerLeft) return 8273; - else if (Shape == Shape::InnerRight) return 8275; - else if (Shape == Shape::OuterLeft) return 8277; - else return 8279; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 8281; - else if (Shape == Shape::InnerLeft) return 8283; - else if (Shape == Shape::InnerRight) return 8285; - else if (Shape == Shape::OuterLeft) return 8287; - else return 8289; - else - if (Shape == Shape::Straight) return 8291; - else if (Shape == Shape::InnerLeft) return 8293; - else if (Shape == Shape::InnerRight) return 8295; - else if (Shape == Shape::OuterLeft) return 8297; - else return 8299; - } - BlockState RedSandstoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace RedSandstoneWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState RedSandstoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11518; - else if (West == West::Low) return 11519; - else return 11520; - else - if (West == West::None) return 11524; - else if (West == West::Low) return 11525; - else return 11526; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11530; - else if (West == West::Low) return 11531; - else return 11532; - else - if (West == West::None) return 11536; - else if (West == West::Low) return 11537; - else return 11538; - else - if (Up) - if (West == West::None) return 11542; - else if (West == West::Low) return 11543; - else return 11544; - else - if (West == West::None) return 11548; - else if (West == West::Low) return 11549; - else return 11550; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11554; - else if (West == West::Low) return 11555; - else return 11556; - else - if (West == West::None) return 11560; - else if (West == West::Low) return 11561; - else return 11562; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11566; - else if (West == West::Low) return 11567; - else return 11568; - else - if (West == West::None) return 11572; - else if (West == West::Low) return 11573; - else return 11574; - else - if (Up) - if (West == West::None) return 11578; - else if (West == West::Low) return 11579; - else return 11580; - else - if (West == West::None) return 11584; - else if (West == West::Low) return 11585; - else return 11586; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11590; - else if (West == West::Low) return 11591; - else return 11592; - else - if (West == West::None) return 11596; - else if (West == West::Low) return 11597; - else return 11598; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11602; - else if (West == West::Low) return 11603; - else return 11604; - else - if (West == West::None) return 11608; - else if (West == West::Low) return 11609; - else return 11610; - else - if (Up) - if (West == West::None) return 11614; - else if (West == West::Low) return 11615; - else return 11616; - else - if (West == West::None) return 11620; - else if (West == West::Low) return 11621; - else return 11622; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11626; - else if (West == West::Low) return 11627; - else return 11628; - else - if (West == West::None) return 11632; - else if (West == West::Low) return 11633; - else return 11634; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11638; - else if (West == West::Low) return 11639; - else return 11640; - else - if (West == West::None) return 11644; - else if (West == West::Low) return 11645; - else return 11646; - else - if (Up) - if (West == West::None) return 11650; - else if (West == West::Low) return 11651; - else return 11652; - else - if (West == West::None) return 11656; - else if (West == West::Low) return 11657; - else return 11658; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11662; - else if (West == West::Low) return 11663; - else return 11664; - else - if (West == West::None) return 11668; - else if (West == West::Low) return 11669; - else return 11670; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11674; - else if (West == West::Low) return 11675; - else return 11676; - else - if (West == West::None) return 11680; - else if (West == West::Low) return 11681; - else return 11682; - else - if (Up) - if (West == West::None) return 11686; - else if (West == West::Low) return 11687; - else return 11688; - else - if (West == West::None) return 11692; - else if (West == West::Low) return 11693; - else return 11694; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11698; - else if (West == West::Low) return 11699; - else return 11700; - else - if (West == West::None) return 11704; - else if (West == West::Low) return 11705; - else return 11706; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11710; - else if (West == West::Low) return 11711; - else return 11712; - else - if (West == West::None) return 11716; - else if (West == West::Low) return 11717; - else return 11718; - else - if (Up) - if (West == West::None) return 11722; - else if (West == West::Low) return 11723; - else return 11724; - else - if (West == West::None) return 11728; - else if (West == West::Low) return 11729; - else return 11730; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 11734; - else if (West == West::Low) return 11735; - else return 11736; - else - if (West == West::None) return 11740; - else if (West == West::Low) return 11741; - else return 11742; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11746; - else if (West == West::Low) return 11747; - else return 11748; - else - if (West == West::None) return 11752; - else if (West == West::Low) return 11753; - else return 11754; - else - if (Up) - if (West == West::None) return 11758; - else if (West == West::Low) return 11759; - else return 11760; - else - if (West == West::None) return 11764; - else if (West == West::Low) return 11765; - else return 11766; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 11770; - else if (West == West::Low) return 11771; - else return 11772; - else - if (West == West::None) return 11776; - else if (West == West::Low) return 11777; - else return 11778; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11782; - else if (West == West::Low) return 11783; - else return 11784; - else - if (West == West::None) return 11788; - else if (West == West::Low) return 11789; - else return 11790; - else - if (Up) - if (West == West::None) return 11794; - else if (West == West::Low) return 11795; - else return 11796; - else - if (West == West::None) return 11800; - else if (West == West::Low) return 11801; - else return 11802; - else - if (South == South::None) - if (Up) - if (West == West::None) return 11806; - else if (West == West::Low) return 11807; - else return 11808; - else - if (West == West::None) return 11812; - else if (West == West::Low) return 11813; - else return 11814; - else if (South == South::Low) - if (Up) - if (West == West::None) return 11818; - else if (West == West::Low) return 11819; - else return 11820; - else - if (West == West::None) return 11824; - else if (West == West::Low) return 11825; - else return 11826; - else - if (Up) - if (West == West::None) return 11830; - else if (West == West::Low) return 11831; - else return 11832; - else - if (West == West::None) return 11836; - else if (West == West::Low) return 11837; - else return 11838; - } - BlockState RedSandstoneWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace RedShulkerBox - { - constexpr BlockState RedShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9362; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9363; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9364; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9365; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9366; - else return 9367; - } - BlockState RedShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace RedStainedGlass - { - constexpr BlockState RedStainedGlass() - { - return 4109; - } - } - namespace RedStainedGlassPane - { - constexpr BlockState RedStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 7313; - else return 7314; - else - if (West) return 7317; - else return 7318; - else - if (South) - if (West) return 7321; - else return 7322; - else - if (West) return 7325; - else return 7326; + return 12588; + else if (West == West::None) + return 12592; + else if (West == West::Low) + return 12593; + else + return 12594; + else if (East == East::Low) + if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12598; + else if (West == West::Low) + return 12599; + else + return 12600; + else if (West == West::None) + return 12604; + else if (West == West::Low) + return 12605; + else + return 12606; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12610; + else if (West == West::Low) + return 12611; + else + return 12612; + else if (West == West::None) + return 12616; + else if (West == West::Low) + return 12617; + else + return 12618; + else if (Up) + if (West == West::None) + return 12622; + else if (West == West::Low) + return 12623; + else + return 12624; + else if (West == West::None) + return 12628; + else if (West == West::Low) + return 12629; + else + return 12630; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12634; + else if (West == West::Low) + return 12635; + else + return 12636; + else if (West == West::None) + return 12640; + else if (West == West::Low) + return 12641; + else + return 12642; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12646; + else if (West == West::Low) + return 12647; + else + return 12648; + else if (West == West::None) + return 12652; + else if (West == West::Low) + return 12653; + else + return 12654; + else if (Up) + if (West == West::None) + return 12658; + else if (West == West::Low) + return 12659; + else + return 12660; + else if (West == West::None) + return 12664; + else if (West == West::Low) + return 12665; + else + return 12666; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12670; + else if (West == West::Low) + return 12671; + else + return 12672; + else if (West == West::None) + return 12676; + else if (West == West::Low) + return 12677; + else + return 12678; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12682; + else if (West == West::Low) + return 12683; + else + return 12684; + else if (West == West::None) + return 12688; + else if (West == West::Low) + return 12689; + else + return 12690; + else if (Up) + if (West == West::None) + return 12694; + else if (West == West::Low) + return 12695; + else + return 12696; + else if (West == West::None) + return 12700; + else if (West == West::Low) + return 12701; + else + return 12702; + else if (North == North::None) + if (South == South::None) + if (Up) + if (West == West::None) + return 12706; + else if (West == West::Low) + return 12707; + else + return 12708; + else if (West == West::None) + return 12712; + else if (West == West::Low) + return 12713; + else + return 12714; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12718; + else if (West == West::Low) + return 12719; + else + return 12720; + else if (West == West::None) + return 12724; + else if (West == West::Low) + return 12725; + else + return 12726; + else if (Up) + if (West == West::None) + return 12730; + else if (West == West::Low) + return 12731; + else + return 12732; + else if (West == West::None) + return 12736; + else if (West == West::Low) + return 12737; + else + return 12738; + else if (North == North::Low) + if (South == South::None) + if (Up) + if (West == West::None) + return 12742; + else if (West == West::Low) + return 12743; + else + return 12744; + else if (West == West::None) + return 12748; + else if (West == West::Low) + return 12749; + else + return 12750; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12754; + else if (West == West::Low) + return 12755; + else + return 12756; + else if (West == West::None) + return 12760; + else if (West == West::Low) + return 12761; + else + return 12762; + else if (Up) + if (West == West::None) + return 12766; + else if (West == West::Low) + return 12767; + else + return 12768; + else if (West == West::None) + return 12772; + else if (West == West::Low) + return 12773; + else + return 12774; + else if (South == South::None) + if (Up) + if (West == West::None) + return 12778; + else if (West == West::Low) + return 12779; + else + return 12780; + else if (West == West::None) + return 12784; + else if (West == West::Low) + return 12785; + else + return 12786; + else if (South == South::Low) + if (Up) + if (West == West::None) + return 12790; + else if (West == West::Low) + return 12791; + else + return 12792; + else if (West == West::None) + return 12796; + else if (West == West::Low) + return 12797; + else + return 12798; + else if (Up) + if (West == West::None) + return 12802; + else if (West == West::Low) + return 12803; + else + return 12804; + else if (West == West::None) + return 12808; + else if (West == West::Low) + return 12809; + else + return 12810; +} +BlockState StoneBrickWall(); +enum East East(BlockState Block); +enum North North(BlockState Block); +enum South South(BlockState Block); +bool Up(BlockState Block); +enum West West(BlockState Block); +} // namespace StoneBrickWall +namespace StoneBricks +{ +constexpr BlockState StoneBricks() +{ + return 4495; +} +} // namespace StoneBricks +namespace StoneButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState StoneButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 3897; + else + return 3898; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 3899; + else + return 3900; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 3901; + else + return 3902; + else if (Powered) + return 3903; + else + return 3904; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 3905; + else + return 3906; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 3907; + else + return 3908; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 3909; + else + return 3910; + else if (Powered) + return 3911; + else + return 3912; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 3913; + else + return 3914; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 3915; + else + return 3916; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 3917; + else + return 3918; + else if (Powered) + return 3919; + else + return 3920; +} +BlockState StoneButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace StoneButton +namespace StonePressurePlate +{ +constexpr BlockState StonePressurePlate(const bool Powered) +{ + if (Powered) + return 3807; + else + return 3808; +} +BlockState StonePressurePlate(); +bool Powered(BlockState Block); +} // namespace StonePressurePlate +namespace StoneSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState StoneSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 8337; + else if (Type == Type::Bottom) + return 8339; + else + return 8341; +} +BlockState StoneSlab(); +enum Type Type(BlockState Block); +} // namespace StoneSlab +namespace StoneStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState StoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10150; + else if (Shape == Shape::InnerLeft) + return 10152; + else if (Shape == Shape::InnerRight) + return 10154; + else if (Shape == Shape::OuterLeft) + return 10156; else - if (North) - if (South) - if (West) return 7329; - else return 7330; - else - if (West) return 7333; - else return 7334; - else - if (South) - if (West) return 7337; - else return 7338; - else - if (West) return 7341; - else return 7342; - } - BlockState RedStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace RedTerracotta - { - constexpr BlockState RedTerracotta() - { - return 6861; - } - } - namespace RedTulip - { - constexpr BlockState RedTulip() - { - return 1417; - } - } - namespace RedWallBanner - { - constexpr BlockState RedWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8209; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8210; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8211; - else return 8212; - } - BlockState RedWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace RedWool - { - constexpr BlockState RedWool() - { - return 1398; - } - } - namespace RedstoneBlock - { - constexpr BlockState RedstoneBlock() - { - return 6726; - } - } - namespace RedstoneLamp - { - constexpr BlockState RedstoneLamp(const bool Lit) - { - if (Lit) return 5156; - else return 5157; - } - BlockState RedstoneLamp(); - bool Lit(BlockState Block); - } - namespace RedstoneOre - { - constexpr BlockState RedstoneOre(const bool Lit) - { - if (Lit) return 3885; - else return 3886; - } - BlockState RedstoneOre(); - bool Lit(BlockState Block); - } - namespace RedstoneTorch - { - constexpr BlockState RedstoneTorch(const bool Lit) - { - if (Lit) return 3887; - else return 3888; - } - BlockState RedstoneTorch(); - bool Lit(BlockState Block); - } - namespace RedstoneWallTorch - { - constexpr BlockState RedstoneWallTorch(const eBlockFace Facing, const bool Lit) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Lit) return 3889; - else return 3890; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Lit) return 3891; - else return 3892; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Lit) return 3893; - else return 3894; - else - if (Lit) return 3895; - else return 3896; - } - BlockState RedstoneWallTorch(); - eBlockFace Facing(BlockState Block); - bool Lit(BlockState Block); - } - namespace RedstoneWire - { - enum class East - { - Up, - Side, - None - }; - enum class North - { - Up, - Side, - None - }; - enum class South - { - Up, - Side, - None - }; - enum class West - { - Up, - Side, - None - }; - constexpr BlockState RedstoneWire(const enum East East, const enum North North, const unsigned char Power, const enum South South, const enum West West) - { - if (East == East::Up) - if (North == North::Up) - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 2058; - else if (West == West::Side) return 2059; - else return 2060; - else if (South == South::Side) - if (West == West::Up) return 2061; - else if (West == West::Side) return 2062; - else return 2063; - else - if (West == West::Up) return 2064; - else if (West == West::Side) return 2065; - else return 2066; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 2067; - else if (West == West::Side) return 2068; - else return 2069; - else if (South == South::Side) - if (West == West::Up) return 2070; - else if (West == West::Side) return 2071; - else return 2072; - else - if (West == West::Up) return 2073; - else if (West == West::Side) return 2074; - else return 2075; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 2076; - else if (West == West::Side) return 2077; - else return 2078; - else if (South == South::Side) - if (West == West::Up) return 2079; - else if (West == West::Side) return 2080; - else return 2081; - else - if (West == West::Up) return 2082; - else if (West == West::Side) return 2083; - else return 2084; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 2085; - else if (West == West::Side) return 2086; - else return 2087; - else if (South == South::Side) - if (West == West::Up) return 2088; - else if (West == West::Side) return 2089; - else return 2090; - else - if (West == West::Up) return 2091; - else if (West == West::Side) return 2092; - else return 2093; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 2094; - else if (West == West::Side) return 2095; - else return 2096; - else if (South == South::Side) - if (West == West::Up) return 2097; - else if (West == West::Side) return 2098; - else return 2099; - else - if (West == West::Up) return 2100; - else if (West == West::Side) return 2101; - else return 2102; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 2103; - else if (West == West::Side) return 2104; - else return 2105; - else if (South == South::Side) - if (West == West::Up) return 2106; - else if (West == West::Side) return 2107; - else return 2108; - else - if (West == West::Up) return 2109; - else if (West == West::Side) return 2110; - else return 2111; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 2112; - else if (West == West::Side) return 2113; - else return 2114; - else if (South == South::Side) - if (West == West::Up) return 2115; - else if (West == West::Side) return 2116; - else return 2117; - else - if (West == West::Up) return 2118; - else if (West == West::Side) return 2119; - else return 2120; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 2121; - else if (West == West::Side) return 2122; - else return 2123; - else if (South == South::Side) - if (West == West::Up) return 2124; - else if (West == West::Side) return 2125; - else return 2126; - else - if (West == West::Up) return 2127; - else if (West == West::Side) return 2128; - else return 2129; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 2130; - else if (West == West::Side) return 2131; - else return 2132; - else if (South == South::Side) - if (West == West::Up) return 2133; - else if (West == West::Side) return 2134; - else return 2135; - else - if (West == West::Up) return 2136; - else if (West == West::Side) return 2137; - else return 2138; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 2139; - else if (West == West::Side) return 2140; - else return 2141; - else if (South == South::Side) - if (West == West::Up) return 2142; - else if (West == West::Side) return 2143; - else return 2144; - else - if (West == West::Up) return 2145; - else if (West == West::Side) return 2146; - else return 2147; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 2148; - else if (West == West::Side) return 2149; - else return 2150; - else if (South == South::Side) - if (West == West::Up) return 2151; - else if (West == West::Side) return 2152; - else return 2153; - else - if (West == West::Up) return 2154; - else if (West == West::Side) return 2155; - else return 2156; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 2157; - else if (West == West::Side) return 2158; - else return 2159; - else if (South == South::Side) - if (West == West::Up) return 2160; - else if (West == West::Side) return 2161; - else return 2162; - else - if (West == West::Up) return 2163; - else if (West == West::Side) return 2164; - else return 2165; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 2166; - else if (West == West::Side) return 2167; - else return 2168; - else if (South == South::Side) - if (West == West::Up) return 2169; - else if (West == West::Side) return 2170; - else return 2171; - else - if (West == West::Up) return 2172; - else if (West == West::Side) return 2173; - else return 2174; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 2175; - else if (West == West::Side) return 2176; - else return 2177; - else if (South == South::Side) - if (West == West::Up) return 2178; - else if (West == West::Side) return 2179; - else return 2180; - else - if (West == West::Up) return 2181; - else if (West == West::Side) return 2182; - else return 2183; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 2184; - else if (West == West::Side) return 2185; - else return 2186; - else if (South == South::Side) - if (West == West::Up) return 2187; - else if (West == West::Side) return 2188; - else return 2189; - else - if (West == West::Up) return 2190; - else if (West == West::Side) return 2191; - else return 2192; - else - if (South == South::Up) - if (West == West::Up) return 2193; - else if (West == West::Side) return 2194; - else return 2195; - else if (South == South::Side) - if (West == West::Up) return 2196; - else if (West == West::Side) return 2197; - else return 2198; - else - if (West == West::Up) return 2199; - else if (West == West::Side) return 2200; - else return 2201; - else if (North == North::Side) - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 2202; - else if (West == West::Side) return 2203; - else return 2204; - else if (South == South::Side) - if (West == West::Up) return 2205; - else if (West == West::Side) return 2206; - else return 2207; - else - if (West == West::Up) return 2208; - else if (West == West::Side) return 2209; - else return 2210; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 2211; - else if (West == West::Side) return 2212; - else return 2213; - else if (South == South::Side) - if (West == West::Up) return 2214; - else if (West == West::Side) return 2215; - else return 2216; - else - if (West == West::Up) return 2217; - else if (West == West::Side) return 2218; - else return 2219; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 2220; - else if (West == West::Side) return 2221; - else return 2222; - else if (South == South::Side) - if (West == West::Up) return 2223; - else if (West == West::Side) return 2224; - else return 2225; - else - if (West == West::Up) return 2226; - else if (West == West::Side) return 2227; - else return 2228; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 2229; - else if (West == West::Side) return 2230; - else return 2231; - else if (South == South::Side) - if (West == West::Up) return 2232; - else if (West == West::Side) return 2233; - else return 2234; - else - if (West == West::Up) return 2235; - else if (West == West::Side) return 2236; - else return 2237; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 2238; - else if (West == West::Side) return 2239; - else return 2240; - else if (South == South::Side) - if (West == West::Up) return 2241; - else if (West == West::Side) return 2242; - else return 2243; - else - if (West == West::Up) return 2244; - else if (West == West::Side) return 2245; - else return 2246; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 2247; - else if (West == West::Side) return 2248; - else return 2249; - else if (South == South::Side) - if (West == West::Up) return 2250; - else if (West == West::Side) return 2251; - else return 2252; - else - if (West == West::Up) return 2253; - else if (West == West::Side) return 2254; - else return 2255; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 2256; - else if (West == West::Side) return 2257; - else return 2258; - else if (South == South::Side) - if (West == West::Up) return 2259; - else if (West == West::Side) return 2260; - else return 2261; - else - if (West == West::Up) return 2262; - else if (West == West::Side) return 2263; - else return 2264; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 2265; - else if (West == West::Side) return 2266; - else return 2267; - else if (South == South::Side) - if (West == West::Up) return 2268; - else if (West == West::Side) return 2269; - else return 2270; - else - if (West == West::Up) return 2271; - else if (West == West::Side) return 2272; - else return 2273; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 2274; - else if (West == West::Side) return 2275; - else return 2276; - else if (South == South::Side) - if (West == West::Up) return 2277; - else if (West == West::Side) return 2278; - else return 2279; - else - if (West == West::Up) return 2280; - else if (West == West::Side) return 2281; - else return 2282; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 2283; - else if (West == West::Side) return 2284; - else return 2285; - else if (South == South::Side) - if (West == West::Up) return 2286; - else if (West == West::Side) return 2287; - else return 2288; - else - if (West == West::Up) return 2289; - else if (West == West::Side) return 2290; - else return 2291; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 2292; - else if (West == West::Side) return 2293; - else return 2294; - else if (South == South::Side) - if (West == West::Up) return 2295; - else if (West == West::Side) return 2296; - else return 2297; - else - if (West == West::Up) return 2298; - else if (West == West::Side) return 2299; - else return 2300; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 2301; - else if (West == West::Side) return 2302; - else return 2303; - else if (South == South::Side) - if (West == West::Up) return 2304; - else if (West == West::Side) return 2305; - else return 2306; - else - if (West == West::Up) return 2307; - else if (West == West::Side) return 2308; - else return 2309; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 2310; - else if (West == West::Side) return 2311; - else return 2312; - else if (South == South::Side) - if (West == West::Up) return 2313; - else if (West == West::Side) return 2314; - else return 2315; - else - if (West == West::Up) return 2316; - else if (West == West::Side) return 2317; - else return 2318; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 2319; - else if (West == West::Side) return 2320; - else return 2321; - else if (South == South::Side) - if (West == West::Up) return 2322; - else if (West == West::Side) return 2323; - else return 2324; - else - if (West == West::Up) return 2325; - else if (West == West::Side) return 2326; - else return 2327; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 2328; - else if (West == West::Side) return 2329; - else return 2330; - else if (South == South::Side) - if (West == West::Up) return 2331; - else if (West == West::Side) return 2332; - else return 2333; - else - if (West == West::Up) return 2334; - else if (West == West::Side) return 2335; - else return 2336; - else - if (South == South::Up) - if (West == West::Up) return 2337; - else if (West == West::Side) return 2338; - else return 2339; - else if (South == South::Side) - if (West == West::Up) return 2340; - else if (West == West::Side) return 2341; - else return 2342; - else - if (West == West::Up) return 2343; - else if (West == West::Side) return 2344; - else return 2345; - else - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 2346; - else if (West == West::Side) return 2347; - else return 2348; - else if (South == South::Side) - if (West == West::Up) return 2349; - else if (West == West::Side) return 2350; - else return 2351; - else - if (West == West::Up) return 2352; - else if (West == West::Side) return 2353; - else return 2354; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 2355; - else if (West == West::Side) return 2356; - else return 2357; - else if (South == South::Side) - if (West == West::Up) return 2358; - else if (West == West::Side) return 2359; - else return 2360; - else - if (West == West::Up) return 2361; - else if (West == West::Side) return 2362; - else return 2363; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 2364; - else if (West == West::Side) return 2365; - else return 2366; - else if (South == South::Side) - if (West == West::Up) return 2367; - else if (West == West::Side) return 2368; - else return 2369; - else - if (West == West::Up) return 2370; - else if (West == West::Side) return 2371; - else return 2372; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 2373; - else if (West == West::Side) return 2374; - else return 2375; - else if (South == South::Side) - if (West == West::Up) return 2376; - else if (West == West::Side) return 2377; - else return 2378; - else - if (West == West::Up) return 2379; - else if (West == West::Side) return 2380; - else return 2381; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 2382; - else if (West == West::Side) return 2383; - else return 2384; - else if (South == South::Side) - if (West == West::Up) return 2385; - else if (West == West::Side) return 2386; - else return 2387; - else - if (West == West::Up) return 2388; - else if (West == West::Side) return 2389; - else return 2390; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 2391; - else if (West == West::Side) return 2392; - else return 2393; - else if (South == South::Side) - if (West == West::Up) return 2394; - else if (West == West::Side) return 2395; - else return 2396; - else - if (West == West::Up) return 2397; - else if (West == West::Side) return 2398; - else return 2399; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 2400; - else if (West == West::Side) return 2401; - else return 2402; - else if (South == South::Side) - if (West == West::Up) return 2403; - else if (West == West::Side) return 2404; - else return 2405; - else - if (West == West::Up) return 2406; - else if (West == West::Side) return 2407; - else return 2408; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 2409; - else if (West == West::Side) return 2410; - else return 2411; - else if (South == South::Side) - if (West == West::Up) return 2412; - else if (West == West::Side) return 2413; - else return 2414; - else - if (West == West::Up) return 2415; - else if (West == West::Side) return 2416; - else return 2417; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 2418; - else if (West == West::Side) return 2419; - else return 2420; - else if (South == South::Side) - if (West == West::Up) return 2421; - else if (West == West::Side) return 2422; - else return 2423; - else - if (West == West::Up) return 2424; - else if (West == West::Side) return 2425; - else return 2426; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 2427; - else if (West == West::Side) return 2428; - else return 2429; - else if (South == South::Side) - if (West == West::Up) return 2430; - else if (West == West::Side) return 2431; - else return 2432; - else - if (West == West::Up) return 2433; - else if (West == West::Side) return 2434; - else return 2435; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 2436; - else if (West == West::Side) return 2437; - else return 2438; - else if (South == South::Side) - if (West == West::Up) return 2439; - else if (West == West::Side) return 2440; - else return 2441; - else - if (West == West::Up) return 2442; - else if (West == West::Side) return 2443; - else return 2444; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 2445; - else if (West == West::Side) return 2446; - else return 2447; - else if (South == South::Side) - if (West == West::Up) return 2448; - else if (West == West::Side) return 2449; - else return 2450; - else - if (West == West::Up) return 2451; - else if (West == West::Side) return 2452; - else return 2453; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 2454; - else if (West == West::Side) return 2455; - else return 2456; - else if (South == South::Side) - if (West == West::Up) return 2457; - else if (West == West::Side) return 2458; - else return 2459; - else - if (West == West::Up) return 2460; - else if (West == West::Side) return 2461; - else return 2462; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 2463; - else if (West == West::Side) return 2464; - else return 2465; - else if (South == South::Side) - if (West == West::Up) return 2466; - else if (West == West::Side) return 2467; - else return 2468; - else - if (West == West::Up) return 2469; - else if (West == West::Side) return 2470; - else return 2471; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 2472; - else if (West == West::Side) return 2473; - else return 2474; - else if (South == South::Side) - if (West == West::Up) return 2475; - else if (West == West::Side) return 2476; - else return 2477; - else - if (West == West::Up) return 2478; - else if (West == West::Side) return 2479; - else return 2480; - else - if (South == South::Up) - if (West == West::Up) return 2481; - else if (West == West::Side) return 2482; - else return 2483; - else if (South == South::Side) - if (West == West::Up) return 2484; - else if (West == West::Side) return 2485; - else return 2486; - else - if (West == West::Up) return 2487; - else if (West == West::Side) return 2488; - else return 2489; - else if (East == East::Side) - if (North == North::Up) - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 2490; - else if (West == West::Side) return 2491; - else return 2492; - else if (South == South::Side) - if (West == West::Up) return 2493; - else if (West == West::Side) return 2494; - else return 2495; - else - if (West == West::Up) return 2496; - else if (West == West::Side) return 2497; - else return 2498; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 2499; - else if (West == West::Side) return 2500; - else return 2501; - else if (South == South::Side) - if (West == West::Up) return 2502; - else if (West == West::Side) return 2503; - else return 2504; - else - if (West == West::Up) return 2505; - else if (West == West::Side) return 2506; - else return 2507; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 2508; - else if (West == West::Side) return 2509; - else return 2510; - else if (South == South::Side) - if (West == West::Up) return 2511; - else if (West == West::Side) return 2512; - else return 2513; - else - if (West == West::Up) return 2514; - else if (West == West::Side) return 2515; - else return 2516; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 2517; - else if (West == West::Side) return 2518; - else return 2519; - else if (South == South::Side) - if (West == West::Up) return 2520; - else if (West == West::Side) return 2521; - else return 2522; - else - if (West == West::Up) return 2523; - else if (West == West::Side) return 2524; - else return 2525; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 2526; - else if (West == West::Side) return 2527; - else return 2528; - else if (South == South::Side) - if (West == West::Up) return 2529; - else if (West == West::Side) return 2530; - else return 2531; - else - if (West == West::Up) return 2532; - else if (West == West::Side) return 2533; - else return 2534; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 2535; - else if (West == West::Side) return 2536; - else return 2537; - else if (South == South::Side) - if (West == West::Up) return 2538; - else if (West == West::Side) return 2539; - else return 2540; - else - if (West == West::Up) return 2541; - else if (West == West::Side) return 2542; - else return 2543; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 2544; - else if (West == West::Side) return 2545; - else return 2546; - else if (South == South::Side) - if (West == West::Up) return 2547; - else if (West == West::Side) return 2548; - else return 2549; - else - if (West == West::Up) return 2550; - else if (West == West::Side) return 2551; - else return 2552; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 2553; - else if (West == West::Side) return 2554; - else return 2555; - else if (South == South::Side) - if (West == West::Up) return 2556; - else if (West == West::Side) return 2557; - else return 2558; - else - if (West == West::Up) return 2559; - else if (West == West::Side) return 2560; - else return 2561; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 2562; - else if (West == West::Side) return 2563; - else return 2564; - else if (South == South::Side) - if (West == West::Up) return 2565; - else if (West == West::Side) return 2566; - else return 2567; - else - if (West == West::Up) return 2568; - else if (West == West::Side) return 2569; - else return 2570; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 2571; - else if (West == West::Side) return 2572; - else return 2573; - else if (South == South::Side) - if (West == West::Up) return 2574; - else if (West == West::Side) return 2575; - else return 2576; - else - if (West == West::Up) return 2577; - else if (West == West::Side) return 2578; - else return 2579; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 2580; - else if (West == West::Side) return 2581; - else return 2582; - else if (South == South::Side) - if (West == West::Up) return 2583; - else if (West == West::Side) return 2584; - else return 2585; - else - if (West == West::Up) return 2586; - else if (West == West::Side) return 2587; - else return 2588; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 2589; - else if (West == West::Side) return 2590; - else return 2591; - else if (South == South::Side) - if (West == West::Up) return 2592; - else if (West == West::Side) return 2593; - else return 2594; - else - if (West == West::Up) return 2595; - else if (West == West::Side) return 2596; - else return 2597; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 2598; - else if (West == West::Side) return 2599; - else return 2600; - else if (South == South::Side) - if (West == West::Up) return 2601; - else if (West == West::Side) return 2602; - else return 2603; - else - if (West == West::Up) return 2604; - else if (West == West::Side) return 2605; - else return 2606; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 2607; - else if (West == West::Side) return 2608; - else return 2609; - else if (South == South::Side) - if (West == West::Up) return 2610; - else if (West == West::Side) return 2611; - else return 2612; - else - if (West == West::Up) return 2613; - else if (West == West::Side) return 2614; - else return 2615; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 2616; - else if (West == West::Side) return 2617; - else return 2618; - else if (South == South::Side) - if (West == West::Up) return 2619; - else if (West == West::Side) return 2620; - else return 2621; - else - if (West == West::Up) return 2622; - else if (West == West::Side) return 2623; - else return 2624; - else - if (South == South::Up) - if (West == West::Up) return 2625; - else if (West == West::Side) return 2626; - else return 2627; - else if (South == South::Side) - if (West == West::Up) return 2628; - else if (West == West::Side) return 2629; - else return 2630; - else - if (West == West::Up) return 2631; - else if (West == West::Side) return 2632; - else return 2633; - else if (North == North::Side) - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 2634; - else if (West == West::Side) return 2635; - else return 2636; - else if (South == South::Side) - if (West == West::Up) return 2637; - else if (West == West::Side) return 2638; - else return 2639; - else - if (West == West::Up) return 2640; - else if (West == West::Side) return 2641; - else return 2642; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 2643; - else if (West == West::Side) return 2644; - else return 2645; - else if (South == South::Side) - if (West == West::Up) return 2646; - else if (West == West::Side) return 2647; - else return 2648; - else - if (West == West::Up) return 2649; - else if (West == West::Side) return 2650; - else return 2651; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 2652; - else if (West == West::Side) return 2653; - else return 2654; - else if (South == South::Side) - if (West == West::Up) return 2655; - else if (West == West::Side) return 2656; - else return 2657; - else - if (West == West::Up) return 2658; - else if (West == West::Side) return 2659; - else return 2660; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 2661; - else if (West == West::Side) return 2662; - else return 2663; - else if (South == South::Side) - if (West == West::Up) return 2664; - else if (West == West::Side) return 2665; - else return 2666; - else - if (West == West::Up) return 2667; - else if (West == West::Side) return 2668; - else return 2669; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 2670; - else if (West == West::Side) return 2671; - else return 2672; - else if (South == South::Side) - if (West == West::Up) return 2673; - else if (West == West::Side) return 2674; - else return 2675; - else - if (West == West::Up) return 2676; - else if (West == West::Side) return 2677; - else return 2678; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 2679; - else if (West == West::Side) return 2680; - else return 2681; - else if (South == South::Side) - if (West == West::Up) return 2682; - else if (West == West::Side) return 2683; - else return 2684; - else - if (West == West::Up) return 2685; - else if (West == West::Side) return 2686; - else return 2687; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 2688; - else if (West == West::Side) return 2689; - else return 2690; - else if (South == South::Side) - if (West == West::Up) return 2691; - else if (West == West::Side) return 2692; - else return 2693; - else - if (West == West::Up) return 2694; - else if (West == West::Side) return 2695; - else return 2696; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 2697; - else if (West == West::Side) return 2698; - else return 2699; - else if (South == South::Side) - if (West == West::Up) return 2700; - else if (West == West::Side) return 2701; - else return 2702; - else - if (West == West::Up) return 2703; - else if (West == West::Side) return 2704; - else return 2705; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 2706; - else if (West == West::Side) return 2707; - else return 2708; - else if (South == South::Side) - if (West == West::Up) return 2709; - else if (West == West::Side) return 2710; - else return 2711; - else - if (West == West::Up) return 2712; - else if (West == West::Side) return 2713; - else return 2714; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 2715; - else if (West == West::Side) return 2716; - else return 2717; - else if (South == South::Side) - if (West == West::Up) return 2718; - else if (West == West::Side) return 2719; - else return 2720; - else - if (West == West::Up) return 2721; - else if (West == West::Side) return 2722; - else return 2723; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 2724; - else if (West == West::Side) return 2725; - else return 2726; - else if (South == South::Side) - if (West == West::Up) return 2727; - else if (West == West::Side) return 2728; - else return 2729; - else - if (West == West::Up) return 2730; - else if (West == West::Side) return 2731; - else return 2732; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 2733; - else if (West == West::Side) return 2734; - else return 2735; - else if (South == South::Side) - if (West == West::Up) return 2736; - else if (West == West::Side) return 2737; - else return 2738; - else - if (West == West::Up) return 2739; - else if (West == West::Side) return 2740; - else return 2741; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 2742; - else if (West == West::Side) return 2743; - else return 2744; - else if (South == South::Side) - if (West == West::Up) return 2745; - else if (West == West::Side) return 2746; - else return 2747; - else - if (West == West::Up) return 2748; - else if (West == West::Side) return 2749; - else return 2750; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 2751; - else if (West == West::Side) return 2752; - else return 2753; - else if (South == South::Side) - if (West == West::Up) return 2754; - else if (West == West::Side) return 2755; - else return 2756; - else - if (West == West::Up) return 2757; - else if (West == West::Side) return 2758; - else return 2759; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 2760; - else if (West == West::Side) return 2761; - else return 2762; - else if (South == South::Side) - if (West == West::Up) return 2763; - else if (West == West::Side) return 2764; - else return 2765; - else - if (West == West::Up) return 2766; - else if (West == West::Side) return 2767; - else return 2768; - else - if (South == South::Up) - if (West == West::Up) return 2769; - else if (West == West::Side) return 2770; - else return 2771; - else if (South == South::Side) - if (West == West::Up) return 2772; - else if (West == West::Side) return 2773; - else return 2774; - else - if (West == West::Up) return 2775; - else if (West == West::Side) return 2776; - else return 2777; - else - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 2778; - else if (West == West::Side) return 2779; - else return 2780; - else if (South == South::Side) - if (West == West::Up) return 2781; - else if (West == West::Side) return 2782; - else return 2783; - else - if (West == West::Up) return 2784; - else if (West == West::Side) return 2785; - else return 2786; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 2787; - else if (West == West::Side) return 2788; - else return 2789; - else if (South == South::Side) - if (West == West::Up) return 2790; - else if (West == West::Side) return 2791; - else return 2792; - else - if (West == West::Up) return 2793; - else if (West == West::Side) return 2794; - else return 2795; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 2796; - else if (West == West::Side) return 2797; - else return 2798; - else if (South == South::Side) - if (West == West::Up) return 2799; - else if (West == West::Side) return 2800; - else return 2801; - else - if (West == West::Up) return 2802; - else if (West == West::Side) return 2803; - else return 2804; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 2805; - else if (West == West::Side) return 2806; - else return 2807; - else if (South == South::Side) - if (West == West::Up) return 2808; - else if (West == West::Side) return 2809; - else return 2810; - else - if (West == West::Up) return 2811; - else if (West == West::Side) return 2812; - else return 2813; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 2814; - else if (West == West::Side) return 2815; - else return 2816; - else if (South == South::Side) - if (West == West::Up) return 2817; - else if (West == West::Side) return 2818; - else return 2819; - else - if (West == West::Up) return 2820; - else if (West == West::Side) return 2821; - else return 2822; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 2823; - else if (West == West::Side) return 2824; - else return 2825; - else if (South == South::Side) - if (West == West::Up) return 2826; - else if (West == West::Side) return 2827; - else return 2828; - else - if (West == West::Up) return 2829; - else if (West == West::Side) return 2830; - else return 2831; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 2832; - else if (West == West::Side) return 2833; - else return 2834; - else if (South == South::Side) - if (West == West::Up) return 2835; - else if (West == West::Side) return 2836; - else return 2837; - else - if (West == West::Up) return 2838; - else if (West == West::Side) return 2839; - else return 2840; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 2841; - else if (West == West::Side) return 2842; - else return 2843; - else if (South == South::Side) - if (West == West::Up) return 2844; - else if (West == West::Side) return 2845; - else return 2846; - else - if (West == West::Up) return 2847; - else if (West == West::Side) return 2848; - else return 2849; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 2850; - else if (West == West::Side) return 2851; - else return 2852; - else if (South == South::Side) - if (West == West::Up) return 2853; - else if (West == West::Side) return 2854; - else return 2855; - else - if (West == West::Up) return 2856; - else if (West == West::Side) return 2857; - else return 2858; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 2859; - else if (West == West::Side) return 2860; - else return 2861; - else if (South == South::Side) - if (West == West::Up) return 2862; - else if (West == West::Side) return 2863; - else return 2864; - else - if (West == West::Up) return 2865; - else if (West == West::Side) return 2866; - else return 2867; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 2868; - else if (West == West::Side) return 2869; - else return 2870; - else if (South == South::Side) - if (West == West::Up) return 2871; - else if (West == West::Side) return 2872; - else return 2873; - else - if (West == West::Up) return 2874; - else if (West == West::Side) return 2875; - else return 2876; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 2877; - else if (West == West::Side) return 2878; - else return 2879; - else if (South == South::Side) - if (West == West::Up) return 2880; - else if (West == West::Side) return 2881; - else return 2882; - else - if (West == West::Up) return 2883; - else if (West == West::Side) return 2884; - else return 2885; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 2886; - else if (West == West::Side) return 2887; - else return 2888; - else if (South == South::Side) - if (West == West::Up) return 2889; - else if (West == West::Side) return 2890; - else return 2891; - else - if (West == West::Up) return 2892; - else if (West == West::Side) return 2893; - else return 2894; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 2895; - else if (West == West::Side) return 2896; - else return 2897; - else if (South == South::Side) - if (West == West::Up) return 2898; - else if (West == West::Side) return 2899; - else return 2900; - else - if (West == West::Up) return 2901; - else if (West == West::Side) return 2902; - else return 2903; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 2904; - else if (West == West::Side) return 2905; - else return 2906; - else if (South == South::Side) - if (West == West::Up) return 2907; - else if (West == West::Side) return 2908; - else return 2909; - else - if (West == West::Up) return 2910; - else if (West == West::Side) return 2911; - else return 2912; - else - if (South == South::Up) - if (West == West::Up) return 2913; - else if (West == West::Side) return 2914; - else return 2915; - else if (South == South::Side) - if (West == West::Up) return 2916; - else if (West == West::Side) return 2917; - else return 2918; - else - if (West == West::Up) return 2919; - else if (West == West::Side) return 2920; - else return 2921; - else - if (North == North::Up) - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 2922; - else if (West == West::Side) return 2923; - else return 2924; - else if (South == South::Side) - if (West == West::Up) return 2925; - else if (West == West::Side) return 2926; - else return 2927; - else - if (West == West::Up) return 2928; - else if (West == West::Side) return 2929; - else return 2930; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 2931; - else if (West == West::Side) return 2932; - else return 2933; - else if (South == South::Side) - if (West == West::Up) return 2934; - else if (West == West::Side) return 2935; - else return 2936; - else - if (West == West::Up) return 2937; - else if (West == West::Side) return 2938; - else return 2939; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 2940; - else if (West == West::Side) return 2941; - else return 2942; - else if (South == South::Side) - if (West == West::Up) return 2943; - else if (West == West::Side) return 2944; - else return 2945; - else - if (West == West::Up) return 2946; - else if (West == West::Side) return 2947; - else return 2948; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 2949; - else if (West == West::Side) return 2950; - else return 2951; - else if (South == South::Side) - if (West == West::Up) return 2952; - else if (West == West::Side) return 2953; - else return 2954; - else - if (West == West::Up) return 2955; - else if (West == West::Side) return 2956; - else return 2957; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 2958; - else if (West == West::Side) return 2959; - else return 2960; - else if (South == South::Side) - if (West == West::Up) return 2961; - else if (West == West::Side) return 2962; - else return 2963; - else - if (West == West::Up) return 2964; - else if (West == West::Side) return 2965; - else return 2966; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 2967; - else if (West == West::Side) return 2968; - else return 2969; - else if (South == South::Side) - if (West == West::Up) return 2970; - else if (West == West::Side) return 2971; - else return 2972; - else - if (West == West::Up) return 2973; - else if (West == West::Side) return 2974; - else return 2975; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 2976; - else if (West == West::Side) return 2977; - else return 2978; - else if (South == South::Side) - if (West == West::Up) return 2979; - else if (West == West::Side) return 2980; - else return 2981; - else - if (West == West::Up) return 2982; - else if (West == West::Side) return 2983; - else return 2984; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 2985; - else if (West == West::Side) return 2986; - else return 2987; - else if (South == South::Side) - if (West == West::Up) return 2988; - else if (West == West::Side) return 2989; - else return 2990; - else - if (West == West::Up) return 2991; - else if (West == West::Side) return 2992; - else return 2993; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 2994; - else if (West == West::Side) return 2995; - else return 2996; - else if (South == South::Side) - if (West == West::Up) return 2997; - else if (West == West::Side) return 2998; - else return 2999; - else - if (West == West::Up) return 3000; - else if (West == West::Side) return 3001; - else return 3002; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 3003; - else if (West == West::Side) return 3004; - else return 3005; - else if (South == South::Side) - if (West == West::Up) return 3006; - else if (West == West::Side) return 3007; - else return 3008; - else - if (West == West::Up) return 3009; - else if (West == West::Side) return 3010; - else return 3011; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 3012; - else if (West == West::Side) return 3013; - else return 3014; - else if (South == South::Side) - if (West == West::Up) return 3015; - else if (West == West::Side) return 3016; - else return 3017; - else - if (West == West::Up) return 3018; - else if (West == West::Side) return 3019; - else return 3020; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 3021; - else if (West == West::Side) return 3022; - else return 3023; - else if (South == South::Side) - if (West == West::Up) return 3024; - else if (West == West::Side) return 3025; - else return 3026; - else - if (West == West::Up) return 3027; - else if (West == West::Side) return 3028; - else return 3029; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 3030; - else if (West == West::Side) return 3031; - else return 3032; - else if (South == South::Side) - if (West == West::Up) return 3033; - else if (West == West::Side) return 3034; - else return 3035; - else - if (West == West::Up) return 3036; - else if (West == West::Side) return 3037; - else return 3038; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 3039; - else if (West == West::Side) return 3040; - else return 3041; - else if (South == South::Side) - if (West == West::Up) return 3042; - else if (West == West::Side) return 3043; - else return 3044; - else - if (West == West::Up) return 3045; - else if (West == West::Side) return 3046; - else return 3047; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 3048; - else if (West == West::Side) return 3049; - else return 3050; - else if (South == South::Side) - if (West == West::Up) return 3051; - else if (West == West::Side) return 3052; - else return 3053; - else - if (West == West::Up) return 3054; - else if (West == West::Side) return 3055; - else return 3056; - else - if (South == South::Up) - if (West == West::Up) return 3057; - else if (West == West::Side) return 3058; - else return 3059; - else if (South == South::Side) - if (West == West::Up) return 3060; - else if (West == West::Side) return 3061; - else return 3062; - else - if (West == West::Up) return 3063; - else if (West == West::Side) return 3064; - else return 3065; - else if (North == North::Side) - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 3066; - else if (West == West::Side) return 3067; - else return 3068; - else if (South == South::Side) - if (West == West::Up) return 3069; - else if (West == West::Side) return 3070; - else return 3071; - else - if (West == West::Up) return 3072; - else if (West == West::Side) return 3073; - else return 3074; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 3075; - else if (West == West::Side) return 3076; - else return 3077; - else if (South == South::Side) - if (West == West::Up) return 3078; - else if (West == West::Side) return 3079; - else return 3080; - else - if (West == West::Up) return 3081; - else if (West == West::Side) return 3082; - else return 3083; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 3084; - else if (West == West::Side) return 3085; - else return 3086; - else if (South == South::Side) - if (West == West::Up) return 3087; - else if (West == West::Side) return 3088; - else return 3089; - else - if (West == West::Up) return 3090; - else if (West == West::Side) return 3091; - else return 3092; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 3093; - else if (West == West::Side) return 3094; - else return 3095; - else if (South == South::Side) - if (West == West::Up) return 3096; - else if (West == West::Side) return 3097; - else return 3098; - else - if (West == West::Up) return 3099; - else if (West == West::Side) return 3100; - else return 3101; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 3102; - else if (West == West::Side) return 3103; - else return 3104; - else if (South == South::Side) - if (West == West::Up) return 3105; - else if (West == West::Side) return 3106; - else return 3107; - else - if (West == West::Up) return 3108; - else if (West == West::Side) return 3109; - else return 3110; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 3111; - else if (West == West::Side) return 3112; - else return 3113; - else if (South == South::Side) - if (West == West::Up) return 3114; - else if (West == West::Side) return 3115; - else return 3116; - else - if (West == West::Up) return 3117; - else if (West == West::Side) return 3118; - else return 3119; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 3120; - else if (West == West::Side) return 3121; - else return 3122; - else if (South == South::Side) - if (West == West::Up) return 3123; - else if (West == West::Side) return 3124; - else return 3125; - else - if (West == West::Up) return 3126; - else if (West == West::Side) return 3127; - else return 3128; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 3129; - else if (West == West::Side) return 3130; - else return 3131; - else if (South == South::Side) - if (West == West::Up) return 3132; - else if (West == West::Side) return 3133; - else return 3134; - else - if (West == West::Up) return 3135; - else if (West == West::Side) return 3136; - else return 3137; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 3138; - else if (West == West::Side) return 3139; - else return 3140; - else if (South == South::Side) - if (West == West::Up) return 3141; - else if (West == West::Side) return 3142; - else return 3143; - else - if (West == West::Up) return 3144; - else if (West == West::Side) return 3145; - else return 3146; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 3147; - else if (West == West::Side) return 3148; - else return 3149; - else if (South == South::Side) - if (West == West::Up) return 3150; - else if (West == West::Side) return 3151; - else return 3152; - else - if (West == West::Up) return 3153; - else if (West == West::Side) return 3154; - else return 3155; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 3156; - else if (West == West::Side) return 3157; - else return 3158; - else if (South == South::Side) - if (West == West::Up) return 3159; - else if (West == West::Side) return 3160; - else return 3161; - else - if (West == West::Up) return 3162; - else if (West == West::Side) return 3163; - else return 3164; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 3165; - else if (West == West::Side) return 3166; - else return 3167; - else if (South == South::Side) - if (West == West::Up) return 3168; - else if (West == West::Side) return 3169; - else return 3170; - else - if (West == West::Up) return 3171; - else if (West == West::Side) return 3172; - else return 3173; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 3174; - else if (West == West::Side) return 3175; - else return 3176; - else if (South == South::Side) - if (West == West::Up) return 3177; - else if (West == West::Side) return 3178; - else return 3179; - else - if (West == West::Up) return 3180; - else if (West == West::Side) return 3181; - else return 3182; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 3183; - else if (West == West::Side) return 3184; - else return 3185; - else if (South == South::Side) - if (West == West::Up) return 3186; - else if (West == West::Side) return 3187; - else return 3188; - else - if (West == West::Up) return 3189; - else if (West == West::Side) return 3190; - else return 3191; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 3192; - else if (West == West::Side) return 3193; - else return 3194; - else if (South == South::Side) - if (West == West::Up) return 3195; - else if (West == West::Side) return 3196; - else return 3197; - else - if (West == West::Up) return 3198; - else if (West == West::Side) return 3199; - else return 3200; - else - if (South == South::Up) - if (West == West::Up) return 3201; - else if (West == West::Side) return 3202; - else return 3203; - else if (South == South::Side) - if (West == West::Up) return 3204; - else if (West == West::Side) return 3205; - else return 3206; - else - if (West == West::Up) return 3207; - else if (West == West::Side) return 3208; - else return 3209; - else - if (Power == 0) - if (South == South::Up) - if (West == West::Up) return 3210; - else if (West == West::Side) return 3211; - else return 3212; - else if (South == South::Side) - if (West == West::Up) return 3213; - else if (West == West::Side) return 3214; - else return 3215; - else - if (West == West::Up) return 3216; - else if (West == West::Side) return 3217; - else return 3218; - else if (Power == 1) - if (South == South::Up) - if (West == West::Up) return 3219; - else if (West == West::Side) return 3220; - else return 3221; - else if (South == South::Side) - if (West == West::Up) return 3222; - else if (West == West::Side) return 3223; - else return 3224; - else - if (West == West::Up) return 3225; - else if (West == West::Side) return 3226; - else return 3227; - else if (Power == 2) - if (South == South::Up) - if (West == West::Up) return 3228; - else if (West == West::Side) return 3229; - else return 3230; - else if (South == South::Side) - if (West == West::Up) return 3231; - else if (West == West::Side) return 3232; - else return 3233; - else - if (West == West::Up) return 3234; - else if (West == West::Side) return 3235; - else return 3236; - else if (Power == 3) - if (South == South::Up) - if (West == West::Up) return 3237; - else if (West == West::Side) return 3238; - else return 3239; - else if (South == South::Side) - if (West == West::Up) return 3240; - else if (West == West::Side) return 3241; - else return 3242; - else - if (West == West::Up) return 3243; - else if (West == West::Side) return 3244; - else return 3245; - else if (Power == 4) - if (South == South::Up) - if (West == West::Up) return 3246; - else if (West == West::Side) return 3247; - else return 3248; - else if (South == South::Side) - if (West == West::Up) return 3249; - else if (West == West::Side) return 3250; - else return 3251; - else - if (West == West::Up) return 3252; - else if (West == West::Side) return 3253; - else return 3254; - else if (Power == 5) - if (South == South::Up) - if (West == West::Up) return 3255; - else if (West == West::Side) return 3256; - else return 3257; - else if (South == South::Side) - if (West == West::Up) return 3258; - else if (West == West::Side) return 3259; - else return 3260; - else - if (West == West::Up) return 3261; - else if (West == West::Side) return 3262; - else return 3263; - else if (Power == 6) - if (South == South::Up) - if (West == West::Up) return 3264; - else if (West == West::Side) return 3265; - else return 3266; - else if (South == South::Side) - if (West == West::Up) return 3267; - else if (West == West::Side) return 3268; - else return 3269; - else - if (West == West::Up) return 3270; - else if (West == West::Side) return 3271; - else return 3272; - else if (Power == 7) - if (South == South::Up) - if (West == West::Up) return 3273; - else if (West == West::Side) return 3274; - else return 3275; - else if (South == South::Side) - if (West == West::Up) return 3276; - else if (West == West::Side) return 3277; - else return 3278; - else - if (West == West::Up) return 3279; - else if (West == West::Side) return 3280; - else return 3281; - else if (Power == 8) - if (South == South::Up) - if (West == West::Up) return 3282; - else if (West == West::Side) return 3283; - else return 3284; - else if (South == South::Side) - if (West == West::Up) return 3285; - else if (West == West::Side) return 3286; - else return 3287; - else - if (West == West::Up) return 3288; - else if (West == West::Side) return 3289; - else return 3290; - else if (Power == 9) - if (South == South::Up) - if (West == West::Up) return 3291; - else if (West == West::Side) return 3292; - else return 3293; - else if (South == South::Side) - if (West == West::Up) return 3294; - else if (West == West::Side) return 3295; - else return 3296; - else - if (West == West::Up) return 3297; - else if (West == West::Side) return 3298; - else return 3299; - else if (Power == 10) - if (South == South::Up) - if (West == West::Up) return 3300; - else if (West == West::Side) return 3301; - else return 3302; - else if (South == South::Side) - if (West == West::Up) return 3303; - else if (West == West::Side) return 3304; - else return 3305; - else - if (West == West::Up) return 3306; - else if (West == West::Side) return 3307; - else return 3308; - else if (Power == 11) - if (South == South::Up) - if (West == West::Up) return 3309; - else if (West == West::Side) return 3310; - else return 3311; - else if (South == South::Side) - if (West == West::Up) return 3312; - else if (West == West::Side) return 3313; - else return 3314; - else - if (West == West::Up) return 3315; - else if (West == West::Side) return 3316; - else return 3317; - else if (Power == 12) - if (South == South::Up) - if (West == West::Up) return 3318; - else if (West == West::Side) return 3319; - else return 3320; - else if (South == South::Side) - if (West == West::Up) return 3321; - else if (West == West::Side) return 3322; - else return 3323; - else - if (West == West::Up) return 3324; - else if (West == West::Side) return 3325; - else return 3326; - else if (Power == 13) - if (South == South::Up) - if (West == West::Up) return 3327; - else if (West == West::Side) return 3328; - else return 3329; - else if (South == South::Side) - if (West == West::Up) return 3330; - else if (West == West::Side) return 3331; - else return 3332; - else - if (West == West::Up) return 3333; - else if (West == West::Side) return 3334; - else return 3335; - else if (Power == 14) - if (South == South::Up) - if (West == West::Up) return 3336; - else if (West == West::Side) return 3337; - else return 3338; - else if (South == South::Side) - if (West == West::Up) return 3339; - else if (West == West::Side) return 3340; - else return 3341; - else - if (West == West::Up) return 3342; - else if (West == West::Side) return 3343; - else return 3344; - else - if (South == South::Up) - if (West == West::Up) return 3345; - else if (West == West::Side) return 3346; - else return 3347; - else if (South == South::Side) - if (West == West::Up) return 3348; - else if (West == West::Side) return 3349; - else return 3350; - else - if (West == West::Up) return 3351; - else if (West == West::Side) return 3352; - else return 3353; - } - BlockState RedstoneWire(); - enum East East(BlockState Block); - enum North North(BlockState Block); - unsigned char Power(BlockState Block); - enum South South(BlockState Block); - enum West West(BlockState Block); - } - namespace Repeater - { - constexpr BlockState Repeater(const unsigned char Delay, const eBlockFace Facing, const bool Locked, const bool Powered) - { - if (Delay == 1) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Locked) - if (Powered) return 4031; - else return 4032; - else - if (Powered) return 4033; - else return 4034; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Locked) - if (Powered) return 4035; - else return 4036; - else - if (Powered) return 4037; - else return 4038; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Locked) - if (Powered) return 4039; - else return 4040; - else - if (Powered) return 4041; - else return 4042; - else - if (Locked) - if (Powered) return 4043; - else return 4044; - else - if (Powered) return 4045; - else return 4046; - else if (Delay == 2) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Locked) - if (Powered) return 4047; - else return 4048; - else - if (Powered) return 4049; - else return 4050; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Locked) - if (Powered) return 4051; - else return 4052; - else - if (Powered) return 4053; - else return 4054; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Locked) - if (Powered) return 4055; - else return 4056; - else - if (Powered) return 4057; - else return 4058; - else - if (Locked) - if (Powered) return 4059; - else return 4060; - else - if (Powered) return 4061; - else return 4062; - else if (Delay == 3) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Locked) - if (Powered) return 4063; - else return 4064; - else - if (Powered) return 4065; - else return 4066; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Locked) - if (Powered) return 4067; - else return 4068; - else - if (Powered) return 4069; - else return 4070; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Locked) - if (Powered) return 4071; - else return 4072; - else - if (Powered) return 4073; - else return 4074; - else - if (Locked) - if (Powered) return 4075; - else return 4076; - else - if (Powered) return 4077; - else return 4078; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Locked) - if (Powered) return 4079; - else return 4080; - else - if (Powered) return 4081; - else return 4082; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Locked) - if (Powered) return 4083; - else return 4084; - else - if (Powered) return 4085; - else return 4086; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Locked) - if (Powered) return 4087; - else return 4088; - else - if (Powered) return 4089; - else return 4090; - else - if (Locked) - if (Powered) return 4091; - else return 4092; - else - if (Powered) return 4093; - else return 4094; - } - BlockState Repeater(); - unsigned char Delay(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Locked(BlockState Block); - bool Powered(BlockState Block); - } - namespace RepeatingCommandBlock - { - constexpr BlockState RepeatingCommandBlock(const bool Conditional, const eBlockFace Facing) - { - if (Conditional) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9225; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9226; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9227; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9228; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9229; - else return 9230; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9231; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9232; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9233; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9234; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9235; - else return 9236; - } - BlockState RepeatingCommandBlock(); - bool Conditional(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace RespawnAnchor - { - constexpr BlockState RespawnAnchor(const unsigned char Charges) - { - if (Charges == 0) return 15829; - else if (Charges == 1) return 15830; - else if (Charges == 2) return 15831; - else if (Charges == 3) return 15832; - else return 15833; - } - BlockState RespawnAnchor(); - unsigned char Charges(BlockState Block); - } - namespace RoseBush - { - enum class Half - { - Upper, - Lower - }; - constexpr BlockState RoseBush(const enum Half Half) - { - if (Half == Half::Upper) return 7889; - else return 7890; - } - BlockState RoseBush(); - enum Half Half(BlockState Block); - } - namespace Sand - { - constexpr BlockState Sand() - { - return 66; - } - } - namespace Sandstone - { - constexpr BlockState Sandstone() - { - return 246; - } - } - namespace SandstoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState SandstoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 8349; - else if (Type == Type::Bottom) return 8351; - else return 8353; - } - BlockState SandstoneSlab(); - enum Type Type(BlockState Block); - } - namespace SandstoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState SandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5171; - else if (Shape == Shape::InnerLeft) return 5173; - else if (Shape == Shape::InnerRight) return 5175; - else if (Shape == Shape::OuterLeft) return 5177; - else return 5179; - else - if (Shape == Shape::Straight) return 5181; - else if (Shape == Shape::InnerLeft) return 5183; - else if (Shape == Shape::InnerRight) return 5185; - else if (Shape == Shape::OuterLeft) return 5187; - else return 5189; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5191; - else if (Shape == Shape::InnerLeft) return 5193; - else if (Shape == Shape::InnerRight) return 5195; - else if (Shape == Shape::OuterLeft) return 5197; - else return 5199; - else - if (Shape == Shape::Straight) return 5201; - else if (Shape == Shape::InnerLeft) return 5203; - else if (Shape == Shape::InnerRight) return 5205; - else if (Shape == Shape::OuterLeft) return 5207; - else return 5209; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5211; - else if (Shape == Shape::InnerLeft) return 5213; - else if (Shape == Shape::InnerRight) return 5215; - else if (Shape == Shape::OuterLeft) return 5217; - else return 5219; - else - if (Shape == Shape::Straight) return 5221; - else if (Shape == Shape::InnerLeft) return 5223; - else if (Shape == Shape::InnerRight) return 5225; - else if (Shape == Shape::OuterLeft) return 5227; - else return 5229; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5231; - else if (Shape == Shape::InnerLeft) return 5233; - else if (Shape == Shape::InnerRight) return 5235; - else if (Shape == Shape::OuterLeft) return 5237; - else return 5239; - else - if (Shape == Shape::Straight) return 5241; - else if (Shape == Shape::InnerLeft) return 5243; - else if (Shape == Shape::InnerRight) return 5245; - else if (Shape == Shape::OuterLeft) return 5247; - else return 5249; - } - BlockState SandstoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace SandstoneWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState SandstoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13786; - else if (West == West::Low) return 13787; - else return 13788; - else - if (West == West::None) return 13792; - else if (West == West::Low) return 13793; - else return 13794; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13798; - else if (West == West::Low) return 13799; - else return 13800; - else - if (West == West::None) return 13804; - else if (West == West::Low) return 13805; - else return 13806; - else - if (Up) - if (West == West::None) return 13810; - else if (West == West::Low) return 13811; - else return 13812; - else - if (West == West::None) return 13816; - else if (West == West::Low) return 13817; - else return 13818; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13822; - else if (West == West::Low) return 13823; - else return 13824; - else - if (West == West::None) return 13828; - else if (West == West::Low) return 13829; - else return 13830; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13834; - else if (West == West::Low) return 13835; - else return 13836; - else - if (West == West::None) return 13840; - else if (West == West::Low) return 13841; - else return 13842; - else - if (Up) - if (West == West::None) return 13846; - else if (West == West::Low) return 13847; - else return 13848; - else - if (West == West::None) return 13852; - else if (West == West::Low) return 13853; - else return 13854; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13858; - else if (West == West::Low) return 13859; - else return 13860; - else - if (West == West::None) return 13864; - else if (West == West::Low) return 13865; - else return 13866; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13870; - else if (West == West::Low) return 13871; - else return 13872; - else - if (West == West::None) return 13876; - else if (West == West::Low) return 13877; - else return 13878; - else - if (Up) - if (West == West::None) return 13882; - else if (West == West::Low) return 13883; - else return 13884; - else - if (West == West::None) return 13888; - else if (West == West::Low) return 13889; - else return 13890; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 13894; - else if (West == West::Low) return 13895; - else return 13896; - else - if (West == West::None) return 13900; - else if (West == West::Low) return 13901; - else return 13902; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13906; - else if (West == West::Low) return 13907; - else return 13908; - else - if (West == West::None) return 13912; - else if (West == West::Low) return 13913; - else return 13914; - else - if (Up) - if (West == West::None) return 13918; - else if (West == West::Low) return 13919; - else return 13920; - else - if (West == West::None) return 13924; - else if (West == West::Low) return 13925; - else return 13926; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 13930; - else if (West == West::Low) return 13931; - else return 13932; - else - if (West == West::None) return 13936; - else if (West == West::Low) return 13937; - else return 13938; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13942; - else if (West == West::Low) return 13943; - else return 13944; - else - if (West == West::None) return 13948; - else if (West == West::Low) return 13949; - else return 13950; - else - if (Up) - if (West == West::None) return 13954; - else if (West == West::Low) return 13955; - else return 13956; - else - if (West == West::None) return 13960; - else if (West == West::Low) return 13961; - else return 13962; - else - if (South == South::None) - if (Up) - if (West == West::None) return 13966; - else if (West == West::Low) return 13967; - else return 13968; - else - if (West == West::None) return 13972; - else if (West == West::Low) return 13973; - else return 13974; - else if (South == South::Low) - if (Up) - if (West == West::None) return 13978; - else if (West == West::Low) return 13979; - else return 13980; - else - if (West == West::None) return 13984; - else if (West == West::Low) return 13985; - else return 13986; - else - if (Up) - if (West == West::None) return 13990; - else if (West == West::Low) return 13991; - else return 13992; - else - if (West == West::None) return 13996; - else if (West == West::Low) return 13997; - else return 13998; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 14002; - else if (West == West::Low) return 14003; - else return 14004; - else - if (West == West::None) return 14008; - else if (West == West::Low) return 14009; - else return 14010; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14014; - else if (West == West::Low) return 14015; - else return 14016; - else - if (West == West::None) return 14020; - else if (West == West::Low) return 14021; - else return 14022; - else - if (Up) - if (West == West::None) return 14026; - else if (West == West::Low) return 14027; - else return 14028; - else - if (West == West::None) return 14032; - else if (West == West::Low) return 14033; - else return 14034; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 14038; - else if (West == West::Low) return 14039; - else return 14040; - else - if (West == West::None) return 14044; - else if (West == West::Low) return 14045; - else return 14046; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14050; - else if (West == West::Low) return 14051; - else return 14052; - else - if (West == West::None) return 14056; - else if (West == West::Low) return 14057; - else return 14058; - else - if (Up) - if (West == West::None) return 14062; - else if (West == West::Low) return 14063; - else return 14064; - else - if (West == West::None) return 14068; - else if (West == West::Low) return 14069; - else return 14070; - else - if (South == South::None) - if (Up) - if (West == West::None) return 14074; - else if (West == West::Low) return 14075; - else return 14076; - else - if (West == West::None) return 14080; - else if (West == West::Low) return 14081; - else return 14082; - else if (South == South::Low) - if (Up) - if (West == West::None) return 14086; - else if (West == West::Low) return 14087; - else return 14088; - else - if (West == West::None) return 14092; - else if (West == West::Low) return 14093; - else return 14094; - else - if (Up) - if (West == West::None) return 14098; - else if (West == West::Low) return 14099; - else return 14100; - else - if (West == West::None) return 14104; - else if (West == West::Low) return 14105; - else return 14106; - } - BlockState SandstoneWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace Scaffolding - { - constexpr BlockState Scaffolding(const bool Bottom, const unsigned char Distance) - { - if (Bottom) - if (Distance == 0) return 14756; - else if (Distance == 1) return 14758; - else if (Distance == 2) return 14760; - else if (Distance == 3) return 14762; - else if (Distance == 4) return 14764; - else if (Distance == 5) return 14766; - else if (Distance == 6) return 14768; - else return 14770; - else - if (Distance == 0) return 14772; - else if (Distance == 1) return 14774; - else if (Distance == 2) return 14776; - else if (Distance == 3) return 14778; - else if (Distance == 4) return 14780; - else if (Distance == 5) return 14782; - else if (Distance == 6) return 14784; - else return 14786; - } - BlockState Scaffolding(); - bool Bottom(BlockState Block); - unsigned char Distance(BlockState Block); - } - namespace SeaLantern - { - constexpr BlockState SeaLantern() - { - return 7862; - } - } - namespace SeaPickle - { - constexpr BlockState SeaPickle(const unsigned char Pickles) - { - if (Pickles == 1) return 9641; - else if (Pickles == 2) return 9643; - else if (Pickles == 3) return 9645; - else return 9647; - } - BlockState SeaPickle(); - unsigned char Pickles(BlockState Block); - } - namespace Seagrass - { - constexpr BlockState Seagrass() - { - return 1345; - } - } - namespace Shroomlight - { - constexpr BlockState Shroomlight() - { - return 14989; - } - } - namespace ShulkerBox - { - constexpr BlockState ShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9272; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9273; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9274; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9275; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9276; - else return 9277; - } - BlockState ShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace SkeletonSkull - { - constexpr BlockState SkeletonSkull(const unsigned char Rotation) - { - if (Rotation == 0) return 6490; - else if (Rotation == 1) return 6491; - else if (Rotation == 2) return 6492; - else if (Rotation == 3) return 6493; - else if (Rotation == 4) return 6494; - else if (Rotation == 5) return 6495; - else if (Rotation == 6) return 6496; - else if (Rotation == 7) return 6497; - else if (Rotation == 8) return 6498; - else if (Rotation == 9) return 6499; - else if (Rotation == 10) return 6500; - else if (Rotation == 11) return 6501; - else if (Rotation == 12) return 6502; - else if (Rotation == 13) return 6503; - else if (Rotation == 14) return 6504; - else return 6505; - } - BlockState SkeletonSkull(); - unsigned char Rotation(BlockState Block); - } - namespace SkeletonWallSkull - { - constexpr BlockState SkeletonWallSkull(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6506; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6507; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6508; - else return 6509; - } - BlockState SkeletonWallSkull(); - eBlockFace Facing(BlockState Block); - } - namespace SlimeBlock - { - constexpr BlockState SlimeBlock() - { - return 7535; - } - } - namespace SmithingTable - { - constexpr BlockState SmithingTable() - { - return 14849; - } - } - namespace Smoker - { - constexpr BlockState Smoker(const eBlockFace Facing, const bool Lit) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Lit) return 14803; - else return 14804; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Lit) return 14805; - else return 14806; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Lit) return 14807; - else return 14808; - else - if (Lit) return 14809; - else return 14810; - } - BlockState Smoker(); - eBlockFace Facing(BlockState Block); - bool Lit(BlockState Block); - } - namespace SmoothQuartz - { - constexpr BlockState SmoothQuartz() - { - return 8416; - } - } - namespace SmoothQuartzSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState SmoothQuartzSlab(const enum Type Type) - { - if (Type == Type::Top) return 10832; - else if (Type == Type::Bottom) return 10834; - else return 10836; - } - BlockState SmoothQuartzSlab(); - enum Type Type(BlockState Block); - } - namespace SmoothQuartzStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState SmoothQuartzStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10310; - else if (Shape == Shape::InnerLeft) return 10312; - else if (Shape == Shape::InnerRight) return 10314; - else if (Shape == Shape::OuterLeft) return 10316; - else return 10318; - else - if (Shape == Shape::Straight) return 10320; - else if (Shape == Shape::InnerLeft) return 10322; - else if (Shape == Shape::InnerRight) return 10324; - else if (Shape == Shape::OuterLeft) return 10326; - else return 10328; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10330; - else if (Shape == Shape::InnerLeft) return 10332; - else if (Shape == Shape::InnerRight) return 10334; - else if (Shape == Shape::OuterLeft) return 10336; - else return 10338; - else - if (Shape == Shape::Straight) return 10340; - else if (Shape == Shape::InnerLeft) return 10342; - else if (Shape == Shape::InnerRight) return 10344; - else if (Shape == Shape::OuterLeft) return 10346; - else return 10348; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10350; - else if (Shape == Shape::InnerLeft) return 10352; - else if (Shape == Shape::InnerRight) return 10354; - else if (Shape == Shape::OuterLeft) return 10356; - else return 10358; - else - if (Shape == Shape::Straight) return 10360; - else if (Shape == Shape::InnerLeft) return 10362; - else if (Shape == Shape::InnerRight) return 10364; - else if (Shape == Shape::OuterLeft) return 10366; - else return 10368; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10370; - else if (Shape == Shape::InnerLeft) return 10372; - else if (Shape == Shape::InnerRight) return 10374; - else if (Shape == Shape::OuterLeft) return 10376; - else return 10378; - else - if (Shape == Shape::Straight) return 10380; - else if (Shape == Shape::InnerLeft) return 10382; - else if (Shape == Shape::InnerRight) return 10384; - else if (Shape == Shape::OuterLeft) return 10386; - else return 10388; - } - BlockState SmoothQuartzStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace SmoothRedSandstone - { - constexpr BlockState SmoothRedSandstone() - { - return 8417; - } - } - namespace SmoothRedSandstoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState SmoothRedSandstoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 10796; - else if (Type == Type::Bottom) return 10798; - else return 10800; - } - BlockState SmoothRedSandstoneSlab(); - enum Type Type(BlockState Block); - } - namespace SmoothRedSandstoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState SmoothRedSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9750; - else if (Shape == Shape::InnerLeft) return 9752; - else if (Shape == Shape::InnerRight) return 9754; - else if (Shape == Shape::OuterLeft) return 9756; - else return 9758; - else - if (Shape == Shape::Straight) return 9760; - else if (Shape == Shape::InnerLeft) return 9762; - else if (Shape == Shape::InnerRight) return 9764; - else if (Shape == Shape::OuterLeft) return 9766; - else return 9768; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9770; - else if (Shape == Shape::InnerLeft) return 9772; - else if (Shape == Shape::InnerRight) return 9774; - else if (Shape == Shape::OuterLeft) return 9776; - else return 9778; - else - if (Shape == Shape::Straight) return 9780; - else if (Shape == Shape::InnerLeft) return 9782; - else if (Shape == Shape::InnerRight) return 9784; - else if (Shape == Shape::OuterLeft) return 9786; - else return 9788; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9790; - else if (Shape == Shape::InnerLeft) return 9792; - else if (Shape == Shape::InnerRight) return 9794; - else if (Shape == Shape::OuterLeft) return 9796; - else return 9798; - else - if (Shape == Shape::Straight) return 9800; - else if (Shape == Shape::InnerLeft) return 9802; - else if (Shape == Shape::InnerRight) return 9804; - else if (Shape == Shape::OuterLeft) return 9806; - else return 9808; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 9810; - else if (Shape == Shape::InnerLeft) return 9812; - else if (Shape == Shape::InnerRight) return 9814; - else if (Shape == Shape::OuterLeft) return 9816; - else return 9818; - else - if (Shape == Shape::Straight) return 9820; - else if (Shape == Shape::InnerLeft) return 9822; - else if (Shape == Shape::InnerRight) return 9824; - else if (Shape == Shape::OuterLeft) return 9826; - else return 9828; - } - BlockState SmoothRedSandstoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace SmoothSandstone - { - constexpr BlockState SmoothSandstone() - { - return 8415; - } - } - namespace SmoothSandstoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState SmoothSandstoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 10826; - else if (Type == Type::Bottom) return 10828; - else return 10830; - } - BlockState SmoothSandstoneSlab(); - enum Type Type(BlockState Block); - } - namespace SmoothSandstoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState SmoothSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10230; - else if (Shape == Shape::InnerLeft) return 10232; - else if (Shape == Shape::InnerRight) return 10234; - else if (Shape == Shape::OuterLeft) return 10236; - else return 10238; - else - if (Shape == Shape::Straight) return 10240; - else if (Shape == Shape::InnerLeft) return 10242; - else if (Shape == Shape::InnerRight) return 10244; - else if (Shape == Shape::OuterLeft) return 10246; - else return 10248; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10250; - else if (Shape == Shape::InnerLeft) return 10252; - else if (Shape == Shape::InnerRight) return 10254; - else if (Shape == Shape::OuterLeft) return 10256; - else return 10258; - else - if (Shape == Shape::Straight) return 10260; - else if (Shape == Shape::InnerLeft) return 10262; - else if (Shape == Shape::InnerRight) return 10264; - else if (Shape == Shape::OuterLeft) return 10266; - else return 10268; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10270; - else if (Shape == Shape::InnerLeft) return 10272; - else if (Shape == Shape::InnerRight) return 10274; - else if (Shape == Shape::OuterLeft) return 10276; - else return 10278; - else - if (Shape == Shape::Straight) return 10280; - else if (Shape == Shape::InnerLeft) return 10282; - else if (Shape == Shape::InnerRight) return 10284; - else if (Shape == Shape::OuterLeft) return 10286; - else return 10288; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10290; - else if (Shape == Shape::InnerLeft) return 10292; - else if (Shape == Shape::InnerRight) return 10294; - else if (Shape == Shape::OuterLeft) return 10296; - else return 10298; - else - if (Shape == Shape::Straight) return 10300; - else if (Shape == Shape::InnerLeft) return 10302; - else if (Shape == Shape::InnerRight) return 10304; - else if (Shape == Shape::OuterLeft) return 10306; - else return 10308; - } - BlockState SmoothSandstoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace SmoothStone - { - constexpr BlockState SmoothStone() - { - return 8414; - } - } - namespace SmoothStoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState SmoothStoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 8343; - else if (Type == Type::Bottom) return 8345; - else return 8347; - } - BlockState SmoothStoneSlab(); - enum Type Type(BlockState Block); - } - namespace Snow - { - constexpr BlockState Snow(const unsigned char Layers) - { - if (Layers == 1) return 3921; - else if (Layers == 2) return 3922; - else if (Layers == 3) return 3923; - else if (Layers == 4) return 3924; - else if (Layers == 5) return 3925; - else if (Layers == 6) return 3926; - else if (Layers == 7) return 3927; - else return 3928; - } - BlockState Snow(); - unsigned char Layers(BlockState Block); - } - namespace SnowBlock - { - constexpr BlockState SnowBlock() - { - return 3930; - } - } - namespace SoulCampfire - { - constexpr BlockState SoulCampfire(const eBlockFace Facing, const bool Lit, const bool SignalFire) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Lit) - if (SignalFire) return 14923; - else return 14925; - else - if (SignalFire) return 14927; - else return 14929; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Lit) - if (SignalFire) return 14931; - else return 14933; - else - if (SignalFire) return 14935; - else return 14937; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Lit) - if (SignalFire) return 14939; - else return 14941; - else - if (SignalFire) return 14943; - else return 14945; - else - if (Lit) - if (SignalFire) return 14947; - else return 14949; - else - if (SignalFire) return 14951; - else return 14953; - } - BlockState SoulCampfire(); - eBlockFace Facing(BlockState Block); - bool Lit(BlockState Block); - bool SignalFire(BlockState Block); - } - namespace SoulFire - { - constexpr BlockState SoulFire() - { - return 1952; - } - } - namespace SoulLantern - { - constexpr BlockState SoulLantern(const bool Hanging) - { - if (Hanging) return 14888; - else return 14889; - } - BlockState SoulLantern(); - bool Hanging(BlockState Block); - } - namespace SoulSand - { - constexpr BlockState SoulSand() - { - return 4000; - } - } - namespace SoulSoil - { - constexpr BlockState SoulSoil() - { - return 4001; - } - } - namespace SoulTorch - { - constexpr BlockState SoulTorch() - { - return 4008; - } - } - namespace SoulWallTorch - { - constexpr BlockState SoulWallTorch(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4009; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4010; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4011; - else return 4012; - } - BlockState SoulWallTorch(); - eBlockFace Facing(BlockState Block); - } - namespace Spawner - { - constexpr BlockState Spawner() - { - return 1953; - } - } - namespace Sponge - { - constexpr BlockState Sponge() - { - return 229; - } - } - namespace SpruceButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState SpruceButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6370; - else return 6371; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6372; - else return 6373; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6374; - else return 6375; - else - if (Powered) return 6376; - else return 6377; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6378; - else return 6379; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6380; - else return 6381; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6382; - else return 6383; - else - if (Powered) return 6384; - else return 6385; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 6386; - else return 6387; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 6388; - else return 6389; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 6390; - else return 6391; - else - if (Powered) return 6392; - else return 6393; - } - BlockState SpruceButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace SpruceDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState SpruceDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8738; - else return 8739; - else - if (Powered) return 8740; - else return 8741; - else - if (Open) - if (Powered) return 8742; - else return 8743; - else - if (Powered) return 8744; - else return 8745; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8746; - else return 8747; - else - if (Powered) return 8748; - else return 8749; - else - if (Open) - if (Powered) return 8750; - else return 8751; - else - if (Powered) return 8752; - else return 8753; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8754; - else return 8755; - else - if (Powered) return 8756; - else return 8757; - else - if (Open) - if (Powered) return 8758; - else return 8759; - else - if (Powered) return 8760; - else return 8761; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8762; - else return 8763; - else - if (Powered) return 8764; - else return 8765; - else - if (Open) - if (Powered) return 8766; - else return 8767; + return 10158; + else if (Shape == Shape::Straight) + return 10160; + else if (Shape == Shape::InnerLeft) + return 10162; + else if (Shape == Shape::InnerRight) + return 10164; + else if (Shape == Shape::OuterLeft) + return 10166; + else + return 10168; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10170; + else if (Shape == Shape::InnerLeft) + return 10172; + else if (Shape == Shape::InnerRight) + return 10174; + else if (Shape == Shape::OuterLeft) + return 10176; + else + return 10178; + else if (Shape == Shape::Straight) + return 10180; + else if (Shape == Shape::InnerLeft) + return 10182; + else if (Shape == Shape::InnerRight) + return 10184; + else if (Shape == Shape::OuterLeft) + return 10186; + else + return 10188; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10190; + else if (Shape == Shape::InnerLeft) + return 10192; + else if (Shape == Shape::InnerRight) + return 10194; + else if (Shape == Shape::OuterLeft) + return 10196; + else + return 10198; + else if (Shape == Shape::Straight) + return 10200; + else if (Shape == Shape::InnerLeft) + return 10202; + else if (Shape == Shape::InnerRight) + return 10204; + else if (Shape == Shape::OuterLeft) + return 10206; + else + return 10208; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 10210; + else if (Shape == Shape::InnerLeft) + return 10212; + else if (Shape == Shape::InnerRight) + return 10214; + else if (Shape == Shape::OuterLeft) + return 10216; + else + return 10218; + else if (Shape == Shape::Straight) + return 10220; + else if (Shape == Shape::InnerLeft) + return 10222; + else if (Shape == Shape::InnerRight) + return 10224; + else if (Shape == Shape::OuterLeft) + return 10226; + else + return 10228; +} +BlockState StoneStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace StoneStairs +namespace Stonecutter +{ +constexpr BlockState Stonecutter(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 14850; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 14851; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 14852; + else + return 14853; +} +BlockState Stonecutter(); +eBlockFace Facing(BlockState Block); +} // namespace Stonecutter +namespace StrippedAcaciaLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedAcaciaLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 100; + else if (Axis == Axis::Y) + return 101; + else + return 102; +} +BlockState StrippedAcaciaLog(); +enum Axis Axis(BlockState Block); +} // namespace StrippedAcaciaLog +namespace StrippedAcaciaWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedAcaciaWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 139; + else if (Axis == Axis::Y) + return 140; + else + return 141; +} +BlockState StrippedAcaciaWood(); +enum Axis Axis(BlockState Block); +} // namespace StrippedAcaciaWood +namespace StrippedBirchLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedBirchLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 94; + else if (Axis == Axis::Y) + return 95; + else + return 96; +} +BlockState StrippedBirchLog(); +enum Axis Axis(BlockState Block); +} // namespace StrippedBirchLog +namespace StrippedBirchWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedBirchWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 133; + else if (Axis == Axis::Y) + return 134; + else + return 135; +} +BlockState StrippedBirchWood(); +enum Axis Axis(BlockState Block); +} // namespace StrippedBirchWood +namespace StrippedCrimsonHyphae +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedCrimsonHyphae(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 14984; + else if (Axis == Axis::Y) + return 14985; + else + return 14986; +} +BlockState StrippedCrimsonHyphae(); +enum Axis Axis(BlockState Block); +} // namespace StrippedCrimsonHyphae +namespace StrippedCrimsonStem +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedCrimsonStem(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 14978; + else if (Axis == Axis::Y) + return 14979; + else + return 14980; +} +BlockState StrippedCrimsonStem(); +enum Axis Axis(BlockState Block); +} // namespace StrippedCrimsonStem +namespace StrippedDarkOakLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedDarkOakLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 103; + else if (Axis == Axis::Y) + return 104; + else + return 105; +} +BlockState StrippedDarkOakLog(); +enum Axis Axis(BlockState Block); +} // namespace StrippedDarkOakLog +namespace StrippedDarkOakWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedDarkOakWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 142; + else if (Axis == Axis::Y) + return 143; + else + return 144; +} +BlockState StrippedDarkOakWood(); +enum Axis Axis(BlockState Block); +} // namespace StrippedDarkOakWood +namespace StrippedJungleLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedJungleLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 97; + else if (Axis == Axis::Y) + return 98; + else + return 99; +} +BlockState StrippedJungleLog(); +enum Axis Axis(BlockState Block); +} // namespace StrippedJungleLog +namespace StrippedJungleWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedJungleWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 136; + else if (Axis == Axis::Y) + return 137; + else + return 138; +} +BlockState StrippedJungleWood(); +enum Axis Axis(BlockState Block); +} // namespace StrippedJungleWood +namespace StrippedOakLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedOakLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 106; + else if (Axis == Axis::Y) + return 107; + else + return 108; +} +BlockState StrippedOakLog(); +enum Axis Axis(BlockState Block); +} // namespace StrippedOakLog +namespace StrippedOakWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedOakWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 127; + else if (Axis == Axis::Y) + return 128; + else + return 129; +} +BlockState StrippedOakWood(); +enum Axis Axis(BlockState Block); +} // namespace StrippedOakWood +namespace StrippedSpruceLog +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedSpruceLog(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 91; + else if (Axis == Axis::Y) + return 92; + else + return 93; +} +BlockState StrippedSpruceLog(); +enum Axis Axis(BlockState Block); +} // namespace StrippedSpruceLog +namespace StrippedSpruceWood +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedSpruceWood(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 130; + else if (Axis == Axis::Y) + return 131; + else + return 132; +} +BlockState StrippedSpruceWood(); +enum Axis Axis(BlockState Block); +} // namespace StrippedSpruceWood +namespace StrippedWarpedHyphae +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedWarpedHyphae(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 14967; + else if (Axis == Axis::Y) + return 14968; + else + return 14969; +} +BlockState StrippedWarpedHyphae(); +enum Axis Axis(BlockState Block); +} // namespace StrippedWarpedHyphae +namespace StrippedWarpedStem +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState StrippedWarpedStem(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 14961; + else if (Axis == Axis::Y) + return 14962; + else + return 14963; +} +BlockState StrippedWarpedStem(); +enum Axis Axis(BlockState Block); +} // namespace StrippedWarpedStem +namespace StructureBlock +{ +enum class Mode +{ + Save, + Load, + Corner, + Data +}; +constexpr BlockState StructureBlock(const enum Mode Mode) +{ + if (Mode == Mode::Save) + return 15735; + else if (Mode == Mode::Load) + return 15736; + else if (Mode == Mode::Corner) + return 15737; + else + return 15738; +} +BlockState StructureBlock(); +enum Mode Mode(BlockState Block); +} // namespace StructureBlock +namespace StructureVoid +{ +constexpr BlockState StructureVoid() +{ + return 9259; +} +} // namespace StructureVoid +namespace SugarCane +{ +constexpr BlockState SugarCane(const unsigned char Age) +{ + if (Age == 0) + return 3948; + else if (Age == 1) + return 3949; + else if (Age == 2) + return 3950; + else if (Age == 3) + return 3951; + else if (Age == 4) + return 3952; + else if (Age == 5) + return 3953; + else if (Age == 6) + return 3954; + else if (Age == 7) + return 3955; + else if (Age == 8) + return 3956; + else if (Age == 9) + return 3957; + else if (Age == 10) + return 3958; + else if (Age == 11) + return 3959; + else if (Age == 12) + return 3960; + else if (Age == 13) + return 3961; + else if (Age == 14) + return 3962; + else + return 3963; +} +BlockState SugarCane(); +unsigned char Age(BlockState Block); +} // namespace SugarCane +namespace Sunflower +{ +enum class Half +{ + Upper, + Lower +}; +constexpr BlockState Sunflower(const enum Half Half) +{ + if (Half == Half::Upper) + return 7885; + else + return 7886; +} +BlockState Sunflower(); +enum Half Half(BlockState Block); +} // namespace Sunflower +namespace SweetBerryBush +{ +constexpr BlockState SweetBerryBush(const unsigned char Age) +{ + if (Age == 0) + return 14954; + else if (Age == 1) + return 14955; + else if (Age == 2) + return 14956; + else + return 14957; +} +BlockState SweetBerryBush(); +unsigned char Age(BlockState Block); +} // namespace SweetBerryBush +namespace TNT +{ +constexpr BlockState TNT(const bool Unstable) +{ + if (Unstable) + return 1430; + else + return 1431; +} +BlockState TNT(); +bool Unstable(BlockState Block); +} // namespace TNT +namespace TallGrass +{ +enum class Half +{ + Upper, + Lower +}; +constexpr BlockState TallGrass(const enum Half Half) +{ + if (Half == Half::Upper) + return 7893; + else + return 7894; +} +BlockState TallGrass(); +enum Half Half(BlockState Block); +} // namespace TallGrass +namespace TallSeagrass +{ +enum class Half +{ + Upper, + Lower +}; +constexpr BlockState TallSeagrass(const enum Half Half) +{ + if (Half == Half::Upper) + return 1346; + else + return 1347; +} +BlockState TallSeagrass(); +enum Half Half(BlockState Block); +} // namespace TallSeagrass +namespace Target +{ +constexpr BlockState Target(const unsigned char Power) +{ + if (Power == 0) + return 15760; + else if (Power == 1) + return 15761; + else if (Power == 2) + return 15762; + else if (Power == 3) + return 15763; + else if (Power == 4) + return 15764; + else if (Power == 5) + return 15765; + else if (Power == 6) + return 15766; + else if (Power == 7) + return 15767; + else if (Power == 8) + return 15768; + else if (Power == 9) + return 15769; + else if (Power == 10) + return 15770; + else if (Power == 11) + return 15771; + else if (Power == 12) + return 15772; + else if (Power == 13) + return 15773; + else if (Power == 14) + return 15774; + else + return 15775; +} +BlockState Target(); +unsigned char Power(BlockState Block); +} // namespace Target +namespace Terracotta +{ +constexpr BlockState Terracotta() +{ + return 7882; +} +} // namespace Terracotta +namespace Torch +{ +constexpr BlockState Torch() +{ + return 1435; +} +} // namespace Torch +namespace TrappedChest +{ +enum class Type +{ + Single, + Left, + Right +}; +constexpr BlockState TrappedChest(const eBlockFace Facing, const enum Type Type) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Type == Type::Single) + return 6623; + else if (Type == Type::Left) + return 6625; + else + return 6627; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Type == Type::Single) + return 6629; + else if (Type == Type::Left) + return 6631; + else + return 6633; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Type == Type::Single) + return 6635; + else if (Type == Type::Left) + return 6637; + else + return 6639; + else if (Type == Type::Single) + return 6641; + else if (Type == Type::Left) + return 6643; + else + return 6645; +} +BlockState TrappedChest(); +eBlockFace Facing(BlockState Block); +enum Type Type(BlockState Block); +} // namespace TrappedChest +namespace Tripwire +{ +constexpr BlockState Tripwire( + const bool Attached, + const bool Disarmed, + const bool East, + const bool North, + const bool Powered, + const bool South, + const bool West +) +{ + if (Attached) + if (Disarmed) + if (East) + if (North) + if (Powered) + if (South) + if (West) + return 5275; + else + return 5276; + else if (West) + return 5277; else - if (Powered) return 8768; - else return 8769; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8770; - else return 8771; + return 5278; + else if (South) + if (West) + return 5279; else - if (Powered) return 8772; - else return 8773; + return 5280; + else if (West) + return 5281; else - if (Open) - if (Powered) return 8774; - else return 8775; - else - if (Powered) return 8776; - else return 8777; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8778; - else return 8779; + return 5282; + else if (Powered) + if (South) + if (West) + return 5283; else - if (Powered) return 8780; - else return 8781; + return 5284; + else if (West) + return 5285; else - if (Open) - if (Powered) return 8782; - else return 8783; - else - if (Powered) return 8784; - else return 8785; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8786; - else return 8787; - else - if (Powered) return 8788; - else return 8789; + return 5286; + else if (South) + if (West) + return 5287; else - if (Open) - if (Powered) return 8790; - else return 8791; - else - if (Powered) return 8792; - else return 8793; + return 5288; + else if (West) + return 5289; else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 8794; - else return 8795; - else - if (Powered) return 8796; - else return 8797; - else - if (Open) - if (Powered) return 8798; - else return 8799; - else - if (Powered) return 8800; - else return 8801; - } - BlockState SpruceDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace SpruceFence - { - constexpr BlockState SpruceFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) + return 5290; + else if (North) + if (Powered) if (South) - if (West) return 8580; - else return 8581; - else - if (West) return 8584; - else return 8585; - else + if (West) + return 5291; + else + return 5292; + else if (West) + return 5293; + else + return 5294; + else if (South) + if (West) + return 5295; + else + return 5296; + else if (West) + return 5297; + else + return 5298; + else if (Powered) + if (South) + if (West) + return 5299; + else + return 5300; + else if (West) + return 5301; + else + return 5302; + else if (South) + if (West) + return 5303; + else + return 5304; + else if (West) + return 5305; + else + return 5306; + else if (East) + if (North) + if (Powered) if (South) - if (West) return 8588; - else return 8589; - else - if (West) return 8592; - else return 8593; + if (West) + return 5307; + else + return 5308; + else if (West) + return 5309; + else + return 5310; + else if (South) + if (West) + return 5311; + else + return 5312; + else if (West) + return 5313; + else + return 5314; + else if (Powered) + if (South) + if (West) + return 5315; + else + return 5316; + else if (West) + return 5317; + else + return 5318; + else if (South) + if (West) + return 5319; + else + return 5320; + else if (West) + return 5321; + else + return 5322; + else if (North) + if (Powered) + if (South) + if (West) + return 5323; + else + return 5324; + else if (West) + return 5325; + else + return 5326; + else if (South) + if (West) + return 5327; + else + return 5328; + else if (West) + return 5329; + else + return 5330; + else if (Powered) + if (South) + if (West) + return 5331; + else + return 5332; + else if (West) + return 5333; + else + return 5334; + else if (South) + if (West) + return 5335; + else + return 5336; + else if (West) + return 5337; + else + return 5338; + else if (Disarmed) + if (East) + if (North) + if (Powered) + if (South) + if (West) + return 5339; + else + return 5340; + else if (West) + return 5341; + else + return 5342; + else if (South) + if (West) + return 5343; + else + return 5344; + else if (West) + return 5345; + else + return 5346; + else if (Powered) + if (South) + if (West) + return 5347; + else + return 5348; + else if (West) + return 5349; + else + return 5350; + else if (South) + if (West) + return 5351; + else + return 5352; + else if (West) + return 5353; + else + return 5354; + else if (North) + if (Powered) + if (South) + if (West) + return 5355; + else + return 5356; + else if (West) + return 5357; + else + return 5358; + else if (South) + if (West) + return 5359; + else + return 5360; + else if (West) + return 5361; + else + return 5362; + else if (Powered) + if (South) + if (West) + return 5363; + else + return 5364; + else if (West) + return 5365; + else + return 5366; + else if (South) + if (West) + return 5367; + else + return 5368; + else if (West) + return 5369; + else + return 5370; + else if (East) + if (North) + if (Powered) + if (South) + if (West) + return 5371; + else + return 5372; + else if (West) + return 5373; + else + return 5374; + else if (South) + if (West) + return 5375; + else + return 5376; + else if (West) + return 5377; + else + return 5378; + else if (Powered) + if (South) + if (West) + return 5379; + else + return 5380; + else if (West) + return 5381; + else + return 5382; + else if (South) + if (West) + return 5383; + else + return 5384; + else if (West) + return 5385; + else + return 5386; + else if (North) + if (Powered) + if (South) + if (West) + return 5387; + else + return 5388; + else if (West) + return 5389; + else + return 5390; + else if (South) + if (West) + return 5391; + else + return 5392; + else if (West) + return 5393; + else + return 5394; + else if (Powered) + if (South) + if (West) + return 5395; + else + return 5396; + else if (West) + return 5397; + else + return 5398; + else if (South) + if (West) + return 5399; + else + return 5400; + else if (West) + return 5401; + else + return 5402; +} +BlockState Tripwire(); +bool Attached(BlockState Block); +bool Disarmed(BlockState Block); +bool East(BlockState Block); +bool North(BlockState Block); +bool Powered(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace Tripwire +namespace TripwireHook +{ +constexpr BlockState TripwireHook(const bool Attached, const eBlockFace Facing, const bool Powered) +{ + if (Attached) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 5259; + else + return 5260; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 5261; + else + return 5262; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 5263; + else + return 5264; + else if (Powered) + return 5265; + else + return 5266; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 5267; + else + return 5268; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 5269; + else + return 5270; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 5271; + else + return 5272; + else if (Powered) + return 5273; + else + return 5274; +} +BlockState TripwireHook(); +bool Attached(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace TripwireHook +namespace TubeCoral +{ +constexpr BlockState TubeCoral() +{ + return 9531; +} +} // namespace TubeCoral +namespace TubeCoralBlock +{ +constexpr BlockState TubeCoralBlock() +{ + return 9515; +} +} // namespace TubeCoralBlock +namespace TubeCoralFan +{ +constexpr BlockState TubeCoralFan() +{ + return 9551; +} +} // namespace TubeCoralFan +namespace TubeCoralWallFan +{ +constexpr BlockState TubeCoralWallFan(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9601; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9603; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9605; + else + return 9607; +} +BlockState TubeCoralWallFan(); +eBlockFace Facing(BlockState Block); +} // namespace TubeCoralWallFan +namespace TurtleEgg +{ +constexpr BlockState TurtleEgg(const unsigned char Eggs, const unsigned char Hatch) +{ + if (Eggs == 1) + if (Hatch == 0) + return 9498; + else if (Hatch == 1) + return 9499; + else + return 9500; + else if (Eggs == 2) + if (Hatch == 0) + return 9501; + else if (Hatch == 1) + return 9502; + else + return 9503; + else if (Eggs == 3) + if (Hatch == 0) + return 9504; + else if (Hatch == 1) + return 9505; + else + return 9506; + else if (Hatch == 0) + return 9507; + else if (Hatch == 1) + return 9508; + else + return 9509; +} +BlockState TurtleEgg(); +unsigned char Eggs(BlockState Block); +unsigned char Hatch(BlockState Block); +} // namespace TurtleEgg +namespace TwistingVines +{ +constexpr BlockState TwistingVines(const unsigned char Age) +{ + if (Age == 0) + return 15017; + else if (Age == 1) + return 15018; + else if (Age == 2) + return 15019; + else if (Age == 3) + return 15020; + else if (Age == 4) + return 15021; + else if (Age == 5) + return 15022; + else if (Age == 6) + return 15023; + else if (Age == 7) + return 15024; + else if (Age == 8) + return 15025; + else if (Age == 9) + return 15026; + else if (Age == 10) + return 15027; + else if (Age == 11) + return 15028; + else if (Age == 12) + return 15029; + else if (Age == 13) + return 15030; + else if (Age == 14) + return 15031; + else if (Age == 15) + return 15032; + else if (Age == 16) + return 15033; + else if (Age == 17) + return 15034; + else if (Age == 18) + return 15035; + else if (Age == 19) + return 15036; + else if (Age == 20) + return 15037; + else if (Age == 21) + return 15038; + else if (Age == 22) + return 15039; + else if (Age == 23) + return 15040; + else if (Age == 24) + return 15041; + else + return 15042; +} +BlockState TwistingVines(); +unsigned char Age(BlockState Block); +} // namespace TwistingVines +namespace TwistingVinesPlant +{ +constexpr BlockState TwistingVinesPlant() +{ + return 15043; +} +} // namespace TwistingVinesPlant +namespace Vine +{ +constexpr BlockState Vine(const bool East, const bool North, const bool South, const bool Up, const bool West) +{ + if (East) + if (North) + if (South) + if (Up) + if (West) + return 4788; + else + return 4789; + else if (West) + return 4790; + else + return 4791; + else if (Up) + if (West) + return 4792; + else + return 4793; + else if (West) + return 4794; + else + return 4795; + else if (South) + if (Up) + if (West) + return 4796; + else + return 4797; + else if (West) + return 4798; + else + return 4799; + else if (Up) + if (West) + return 4800; + else + return 4801; + else if (West) + return 4802; + else + return 4803; + else if (North) + if (South) + if (Up) + if (West) + return 4804; + else + return 4805; + else if (West) + return 4806; + else + return 4807; + else if (Up) + if (West) + return 4808; + else + return 4809; + else if (West) + return 4810; + else + return 4811; + else if (South) + if (Up) + if (West) + return 4812; + else + return 4813; + else if (West) + return 4814; + else + return 4815; + else if (Up) + if (West) + return 4816; + else + return 4817; + else if (West) + return 4818; + else + return 4819; +} +BlockState Vine(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool Up(BlockState Block); +bool West(BlockState Block); +} // namespace Vine +namespace VoidAir +{ +constexpr BlockState VoidAir() +{ + return 9665; +} +} // namespace VoidAir +namespace WallTorch +{ +constexpr BlockState WallTorch(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 1436; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 1437; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 1438; + else + return 1439; +} +BlockState WallTorch(); +eBlockFace Facing(BlockState Block); +} // namespace WallTorch +namespace WarpedButton +{ +enum class Face +{ + Floor, + Wall, + Ceiling +}; +constexpr BlockState WarpedButton(const enum Face Face, const eBlockFace Facing, const bool Powered) +{ + if (Face == Face::Floor) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 15503; + else + return 15504; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 15505; + else + return 15506; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 15507; + else + return 15508; + else if (Powered) + return 15509; + else + return 15510; + else if (Face == Face::Wall) + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 15511; + else + return 15512; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 15513; + else + return 15514; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 15515; + else + return 15516; + else if (Powered) + return 15517; + else + return 15518; + else if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Powered) + return 15519; + else + return 15520; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Powered) + return 15521; + else + return 15522; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Powered) + return 15523; + else + return 15524; + else if (Powered) + return 15525; + else + return 15526; +} +BlockState WarpedButton(); +enum Face Face(BlockState Block); +eBlockFace Facing(BlockState Block); +bool Powered(BlockState Block); +} // namespace WarpedButton +namespace WarpedDoor +{ +enum class Half +{ + Upper, + Lower +}; +enum class Hinge +{ + Left, + Right +}; +constexpr BlockState WarpedDoor( + const eBlockFace Facing, + const enum Half Half, + const enum Hinge Hinge, + const bool Open, + const bool Powered +) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15591; + else + return 15592; + else if (Powered) + return 15593; + else + return 15594; + else if (Open) + if (Powered) + return 15595; + else + return 15596; + else if (Powered) + return 15597; + else + return 15598; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15599; + else + return 15600; + else if (Powered) + return 15601; + else + return 15602; + else if (Open) + if (Powered) + return 15603; + else + return 15604; + else if (Powered) + return 15605; + else + return 15606; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15607; + else + return 15608; + else if (Powered) + return 15609; + else + return 15610; + else if (Open) + if (Powered) + return 15611; + else + return 15612; + else if (Powered) + return 15613; + else + return 15614; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15615; + else + return 15616; + else if (Powered) + return 15617; + else + return 15618; + else if (Open) + if (Powered) + return 15619; + else + return 15620; + else if (Powered) + return 15621; + else + return 15622; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15623; + else + return 15624; + else if (Powered) + return 15625; + else + return 15626; + else if (Open) + if (Powered) + return 15627; + else + return 15628; + else if (Powered) + return 15629; + else + return 15630; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15631; + else + return 15632; + else if (Powered) + return 15633; + else + return 15634; + else if (Open) + if (Powered) + return 15635; + else + return 15636; + else if (Powered) + return 15637; + else + return 15638; + else if (Half == Half::Upper) + if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15639; + else + return 15640; + else if (Powered) + return 15641; + else + return 15642; + else if (Open) + if (Powered) + return 15643; + else + return 15644; + else if (Powered) + return 15645; + else + return 15646; + else if (Hinge == Hinge::Left) + if (Open) + if (Powered) + return 15647; + else + return 15648; + else if (Powered) + return 15649; + else + return 15650; + else if (Open) + if (Powered) + return 15651; + else + return 15652; + else if (Powered) + return 15653; + else + return 15654; +} +BlockState WarpedDoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Hinge Hinge(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace WarpedDoor +namespace WarpedFence +{ +constexpr BlockState WarpedFence(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 15097; + else + return 15098; + else if (West) + return 15101; + else + return 15102; + else if (South) + if (West) + return 15105; + else + return 15106; + else if (West) + return 15109; + else + return 15110; + else if (North) + if (South) + if (West) + return 15113; + else + return 15114; + else if (West) + return 15117; + else + return 15118; + else if (South) + if (West) + return 15121; + else + return 15122; + else if (West) + return 15125; + else + return 15126; +} +BlockState WarpedFence(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace WarpedFence +namespace WarpedFenceGate +{ +constexpr BlockState WarpedFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (InWall) + if (Open) + if (Powered) + return 15287; + else + return 15288; + else if (Powered) + return 15289; + else + return 15290; + else if (Open) + if (Powered) + return 15291; + else + return 15292; + else if (Powered) + return 15293; + else + return 15294; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (InWall) + if (Open) + if (Powered) + return 15295; + else + return 15296; + else if (Powered) + return 15297; + else + return 15298; + else if (Open) + if (Powered) + return 15299; + else + return 15300; + else if (Powered) + return 15301; + else + return 15302; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (InWall) + if (Open) + if (Powered) + return 15303; + else + return 15304; + else if (Powered) + return 15305; + else + return 15306; + else if (Open) + if (Powered) + return 15307; + else + return 15308; + else if (Powered) + return 15309; + else + return 15310; + else if (InWall) + if (Open) + if (Powered) + return 15311; + else + return 15312; + else if (Powered) + return 15313; + else + return 15314; + else if (Open) + if (Powered) + return 15315; + else + return 15316; + else if (Powered) + return 15317; + else + return 15318; +} +BlockState WarpedFenceGate(); +eBlockFace Facing(BlockState Block); +bool InWall(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace WarpedFenceGate +namespace WarpedFungus +{ +constexpr BlockState WarpedFungus() +{ + return 14971; +} +} // namespace WarpedFungus +namespace WarpedHyphae +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState WarpedHyphae(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 14964; + else if (Axis == Axis::Y) + return 14965; + else + return 14966; +} +BlockState WarpedHyphae(); +enum Axis Axis(BlockState Block); +} // namespace WarpedHyphae +namespace WarpedNylium +{ +constexpr BlockState WarpedNylium() +{ + return 14970; +} +} // namespace WarpedNylium +namespace WarpedPlanks +{ +constexpr BlockState WarpedPlanks() +{ + return 15046; +} +} // namespace WarpedPlanks +namespace WarpedPressurePlate +{ +constexpr BlockState WarpedPressurePlate(const bool Powered) +{ + if (Powered) + return 15061; + else + return 15062; +} +BlockState WarpedPressurePlate(); +bool Powered(BlockState Block); +} // namespace WarpedPressurePlate +namespace WarpedRoots +{ +constexpr BlockState WarpedRoots() +{ + return 14973; +} +} // namespace WarpedRoots +namespace WarpedSign +{ +constexpr BlockState WarpedSign(const unsigned char Rotation) +{ + if (Rotation == 0) + return 15688; + else if (Rotation == 1) + return 15690; + else if (Rotation == 2) + return 15692; + else if (Rotation == 3) + return 15694; + else if (Rotation == 4) + return 15696; + else if (Rotation == 5) + return 15698; + else if (Rotation == 6) + return 15700; + else if (Rotation == 7) + return 15702; + else if (Rotation == 8) + return 15704; + else if (Rotation == 9) + return 15706; + else if (Rotation == 10) + return 15708; + else if (Rotation == 11) + return 15710; + else if (Rotation == 12) + return 15712; + else if (Rotation == 13) + return 15714; + else if (Rotation == 14) + return 15716; + else + return 15718; +} +BlockState WarpedSign(); +unsigned char Rotation(BlockState Block); +} // namespace WarpedSign +namespace WarpedSlab +{ +enum class Type +{ + Top, + Bottom, + Double +}; +constexpr BlockState WarpedSlab(const enum Type Type) +{ + if (Type == Type::Top) + return 15054; + else if (Type == Type::Bottom) + return 15056; + else + return 15058; +} +BlockState WarpedSlab(); +enum Type Type(BlockState Block); +} // namespace WarpedSlab +namespace WarpedStairs +{ +enum class Half +{ + Top, + Bottom +}; +enum class Shape +{ + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight +}; +constexpr BlockState WarpedStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15400; + else if (Shape == Shape::InnerLeft) + return 15402; + else if (Shape == Shape::InnerRight) + return 15404; + else if (Shape == Shape::OuterLeft) + return 15406; + else + return 15408; + else if (Shape == Shape::Straight) + return 15410; + else if (Shape == Shape::InnerLeft) + return 15412; + else if (Shape == Shape::InnerRight) + return 15414; + else if (Shape == Shape::OuterLeft) + return 15416; + else + return 15418; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15420; + else if (Shape == Shape::InnerLeft) + return 15422; + else if (Shape == Shape::InnerRight) + return 15424; + else if (Shape == Shape::OuterLeft) + return 15426; + else + return 15428; + else if (Shape == Shape::Straight) + return 15430; + else if (Shape == Shape::InnerLeft) + return 15432; + else if (Shape == Shape::InnerRight) + return 15434; + else if (Shape == Shape::OuterLeft) + return 15436; + else + return 15438; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15440; + else if (Shape == Shape::InnerLeft) + return 15442; + else if (Shape == Shape::InnerRight) + return 15444; + else if (Shape == Shape::OuterLeft) + return 15446; + else + return 15448; + else if (Shape == Shape::Straight) + return 15450; + else if (Shape == Shape::InnerLeft) + return 15452; + else if (Shape == Shape::InnerRight) + return 15454; + else if (Shape == Shape::OuterLeft) + return 15456; + else + return 15458; + else if (Half == Half::Top) + if (Shape == Shape::Straight) + return 15460; + else if (Shape == Shape::InnerLeft) + return 15462; + else if (Shape == Shape::InnerRight) + return 15464; + else if (Shape == Shape::OuterLeft) + return 15466; + else + return 15468; + else if (Shape == Shape::Straight) + return 15470; + else if (Shape == Shape::InnerLeft) + return 15472; + else if (Shape == Shape::InnerRight) + return 15474; + else if (Shape == Shape::OuterLeft) + return 15476; + else + return 15478; +} +BlockState WarpedStairs(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +enum Shape Shape(BlockState Block); +} // namespace WarpedStairs +namespace WarpedStem +{ +enum class Axis +{ + X, + Y, + Z +}; +constexpr BlockState WarpedStem(const enum Axis Axis) +{ + if (Axis == Axis::X) + return 14958; + else if (Axis == Axis::Y) + return 14959; + else + return 14960; +} +BlockState WarpedStem(); +enum Axis Axis(BlockState Block); +} // namespace WarpedStem +namespace WarpedTrapdoor +{ +enum class Half +{ + Top, + Bottom +}; +constexpr BlockState WarpedTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 15192; + else + return 15194; + else if (Powered) + return 15196; + else + return 15198; + else if (Open) + if (Powered) + return 15200; + else + return 15202; + else if (Powered) + return 15204; + else + return 15206; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Half == Half::Top) + if (Open) + if (Powered) + return 15208; + else + return 15210; + else if (Powered) + return 15212; + else + return 15214; + else if (Open) + if (Powered) + return 15216; + else + return 15218; + else if (Powered) + return 15220; + else + return 15222; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Half == Half::Top) + if (Open) + if (Powered) + return 15224; + else + return 15226; + else if (Powered) + return 15228; + else + return 15230; + else if (Open) + if (Powered) + return 15232; + else + return 15234; + else if (Powered) + return 15236; + else + return 15238; + else if (Half == Half::Top) + if (Open) + if (Powered) + return 15240; + else + return 15242; + else if (Powered) + return 15244; + else + return 15246; + else if (Open) + if (Powered) + return 15248; + else + return 15250; + else if (Powered) + return 15252; + else + return 15254; +} +BlockState WarpedTrapdoor(); +eBlockFace Facing(BlockState Block); +enum Half Half(BlockState Block); +bool Open(BlockState Block); +bool Powered(BlockState Block); +} // namespace WarpedTrapdoor +namespace WarpedWallSign +{ +constexpr BlockState WarpedWallSign(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 15728; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 15730; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 15732; + else + return 15734; +} +BlockState WarpedWallSign(); +eBlockFace Facing(BlockState Block); +} // namespace WarpedWallSign +namespace WarpedWartBlock +{ +constexpr BlockState WarpedWartBlock() +{ + return 14972; +} +} // namespace WarpedWartBlock +namespace Water +{ +constexpr BlockState Water(const unsigned char Level) +{ + if (Level == 0) + return 34; + else if (Level == 1) + return 35; + else if (Level == 2) + return 36; + else if (Level == 3) + return 37; + else if (Level == 4) + return 38; + else if (Level == 5) + return 39; + else if (Level == 6) + return 40; + else if (Level == 7) + return 41; + else if (Level == 8) + return 42; + else if (Level == 9) + return 43; + else if (Level == 10) + return 44; + else if (Level == 11) + return 45; + else if (Level == 12) + return 46; + else if (Level == 13) + return 47; + else if (Level == 14) + return 48; + else + return 49; +} +BlockState Water(); +unsigned char Level(BlockState Block); +} // namespace Water +namespace WeepingVines +{ +constexpr BlockState WeepingVines(const unsigned char Age) +{ + if (Age == 0) + return 14990; + else if (Age == 1) + return 14991; + else if (Age == 2) + return 14992; + else if (Age == 3) + return 14993; + else if (Age == 4) + return 14994; + else if (Age == 5) + return 14995; + else if (Age == 6) + return 14996; + else if (Age == 7) + return 14997; + else if (Age == 8) + return 14998; + else if (Age == 9) + return 14999; + else if (Age == 10) + return 15000; + else if (Age == 11) + return 15001; + else if (Age == 12) + return 15002; + else if (Age == 13) + return 15003; + else if (Age == 14) + return 15004; + else if (Age == 15) + return 15005; + else if (Age == 16) + return 15006; + else if (Age == 17) + return 15007; + else if (Age == 18) + return 15008; + else if (Age == 19) + return 15009; + else if (Age == 20) + return 15010; + else if (Age == 21) + return 15011; + else if (Age == 22) + return 15012; + else if (Age == 23) + return 15013; + else if (Age == 24) + return 15014; + else + return 15015; +} +BlockState WeepingVines(); +unsigned char Age(BlockState Block); +} // namespace WeepingVines +namespace WeepingVinesPlant +{ +constexpr BlockState WeepingVinesPlant() +{ + return 15016; +} +} // namespace WeepingVinesPlant +namespace WetSponge +{ +constexpr BlockState WetSponge() +{ + return 230; +} +} // namespace WetSponge +namespace Wheat +{ +constexpr BlockState Wheat(const unsigned char Age) +{ + if (Age == 0) + return 3357; + else if (Age == 1) + return 3358; + else if (Age == 2) + return 3359; + else if (Age == 3) + return 3360; + else if (Age == 4) + return 3361; + else if (Age == 5) + return 3362; + else if (Age == 6) + return 3363; + else + return 3364; +} +BlockState Wheat(); +unsigned char Age(BlockState Block); +} // namespace Wheat +namespace WhiteBanner +{ +constexpr BlockState WhiteBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 7897; + else if (Rotation == 1) + return 7898; + else if (Rotation == 2) + return 7899; + else if (Rotation == 3) + return 7900; + else if (Rotation == 4) + return 7901; + else if (Rotation == 5) + return 7902; + else if (Rotation == 6) + return 7903; + else if (Rotation == 7) + return 7904; + else if (Rotation == 8) + return 7905; + else if (Rotation == 9) + return 7906; + else if (Rotation == 10) + return 7907; + else if (Rotation == 11) + return 7908; + else if (Rotation == 12) + return 7909; + else if (Rotation == 13) + return 7910; + else if (Rotation == 14) + return 7911; + else + return 7912; +} +BlockState WhiteBanner(); +unsigned char Rotation(BlockState Block); +} // namespace WhiteBanner +namespace WhiteBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState WhiteBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1049; else - if (North) - if (South) - if (West) return 8596; - else return 8597; - else - if (West) return 8600; - else return 8601; - else - if (South) - if (West) return 8604; - else return 8605; - else - if (West) return 8608; - else return 8609; - } - BlockState SpruceFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace SpruceFenceGate - { - constexpr BlockState SpruceFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (InWall) - if (Open) - if (Powered) return 8418; - else return 8419; - else - if (Powered) return 8420; - else return 8421; - else - if (Open) - if (Powered) return 8422; - else return 8423; - else - if (Powered) return 8424; - else return 8425; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (InWall) - if (Open) - if (Powered) return 8426; - else return 8427; - else - if (Powered) return 8428; - else return 8429; - else - if (Open) - if (Powered) return 8430; - else return 8431; - else - if (Powered) return 8432; - else return 8433; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (InWall) - if (Open) - if (Powered) return 8434; - else return 8435; - else - if (Powered) return 8436; - else return 8437; - else - if (Open) - if (Powered) return 8438; - else return 8439; - else - if (Powered) return 8440; - else return 8441; - else - if (InWall) - if (Open) - if (Powered) return 8442; - else return 8443; - else - if (Powered) return 8444; - else return 8445; - else - if (Open) - if (Powered) return 8446; - else return 8447; - else - if (Powered) return 8448; - else return 8449; - } - BlockState SpruceFenceGate(); - eBlockFace Facing(BlockState Block); - bool InWall(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace SpruceLeaves - { - constexpr BlockState SpruceLeaves(const unsigned char Distance, const bool Persistent) - { - if (Distance == 1) - if (Persistent) return 159; - else return 160; - else if (Distance == 2) - if (Persistent) return 161; - else return 162; - else if (Distance == 3) - if (Persistent) return 163; - else return 164; - else if (Distance == 4) - if (Persistent) return 165; - else return 166; - else if (Distance == 5) - if (Persistent) return 167; - else return 168; - else if (Distance == 6) - if (Persistent) return 169; - else return 170; - else - if (Persistent) return 171; - else return 172; - } - BlockState SpruceLeaves(); - unsigned char Distance(BlockState Block); - bool Persistent(BlockState Block); - } - namespace SpruceLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState SpruceLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 76; - else if (Axis == Axis::Y) return 77; - else return 78; - } - BlockState SpruceLog(); - enum Axis Axis(BlockState Block); - } - namespace SprucePlanks - { - constexpr BlockState SprucePlanks() - { - return 16; - } - } - namespace SprucePressurePlate - { - constexpr BlockState SprucePressurePlate(const bool Powered) - { - if (Powered) return 3875; - else return 3876; - } - BlockState SprucePressurePlate(); - bool Powered(BlockState Block); - } - namespace SpruceSapling - { - constexpr BlockState SpruceSapling(const unsigned char Stage) - { - if (Stage == 0) return 23; - else return 24; - } - BlockState SpruceSapling(); - unsigned char Stage(BlockState Block); - } - namespace SpruceSign - { - constexpr BlockState SpruceSign(const unsigned char Rotation) - { - if (Rotation == 0) return 3414; - else if (Rotation == 1) return 3416; - else if (Rotation == 2) return 3418; - else if (Rotation == 3) return 3420; - else if (Rotation == 4) return 3422; - else if (Rotation == 5) return 3424; - else if (Rotation == 6) return 3426; - else if (Rotation == 7) return 3428; - else if (Rotation == 8) return 3430; - else if (Rotation == 9) return 3432; - else if (Rotation == 10) return 3434; - else if (Rotation == 11) return 3436; - else if (Rotation == 12) return 3438; - else if (Rotation == 13) return 3440; - else if (Rotation == 14) return 3442; - else return 3444; - } - BlockState SpruceSign(); - unsigned char Rotation(BlockState Block); - } - namespace SpruceSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState SpruceSlab(const enum Type Type) - { - if (Type == Type::Top) return 8307; - else if (Type == Type::Bottom) return 8309; - else return 8311; - } - BlockState SpruceSlab(); - enum Type Type(BlockState Block); - } - namespace SpruceStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState SpruceStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5405; - else if (Shape == Shape::InnerLeft) return 5407; - else if (Shape == Shape::InnerRight) return 5409; - else if (Shape == Shape::OuterLeft) return 5411; - else return 5413; - else - if (Shape == Shape::Straight) return 5415; - else if (Shape == Shape::InnerLeft) return 5417; - else if (Shape == Shape::InnerRight) return 5419; - else if (Shape == Shape::OuterLeft) return 5421; - else return 5423; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5425; - else if (Shape == Shape::InnerLeft) return 5427; - else if (Shape == Shape::InnerRight) return 5429; - else if (Shape == Shape::OuterLeft) return 5431; - else return 5433; - else - if (Shape == Shape::Straight) return 5435; - else if (Shape == Shape::InnerLeft) return 5437; - else if (Shape == Shape::InnerRight) return 5439; - else if (Shape == Shape::OuterLeft) return 5441; - else return 5443; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5445; - else if (Shape == Shape::InnerLeft) return 5447; - else if (Shape == Shape::InnerRight) return 5449; - else if (Shape == Shape::OuterLeft) return 5451; - else return 5453; - else - if (Shape == Shape::Straight) return 5455; - else if (Shape == Shape::InnerLeft) return 5457; - else if (Shape == Shape::InnerRight) return 5459; - else if (Shape == Shape::OuterLeft) return 5461; - else return 5463; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 5465; - else if (Shape == Shape::InnerLeft) return 5467; - else if (Shape == Shape::InnerRight) return 5469; - else if (Shape == Shape::OuterLeft) return 5471; - else return 5473; - else - if (Shape == Shape::Straight) return 5475; - else if (Shape == Shape::InnerLeft) return 5477; - else if (Shape == Shape::InnerRight) return 5479; - else if (Shape == Shape::OuterLeft) return 5481; - else return 5483; - } - BlockState SpruceStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace SpruceTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState SpruceTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4176; - else return 4178; - else - if (Powered) return 4180; - else return 4182; - else - if (Open) - if (Powered) return 4184; - else return 4186; - else - if (Powered) return 4188; - else return 4190; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 4192; - else return 4194; - else - if (Powered) return 4196; - else return 4198; - else - if (Open) - if (Powered) return 4200; - else return 4202; - else - if (Powered) return 4204; - else return 4206; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 4208; - else return 4210; - else - if (Powered) return 4212; - else return 4214; - else - if (Open) - if (Powered) return 4216; - else return 4218; - else - if (Powered) return 4220; - else return 4222; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 4224; - else return 4226; - else - if (Powered) return 4228; - else return 4230; - else - if (Open) - if (Powered) return 4232; - else return 4234; - else - if (Powered) return 4236; - else return 4238; - } - BlockState SpruceTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace SpruceWallSign - { - constexpr BlockState SpruceWallSign(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3744; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3746; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3748; - else return 3750; - } - BlockState SpruceWallSign(); - eBlockFace Facing(BlockState Block); - } - namespace SpruceWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState SpruceWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 112; - else if (Axis == Axis::Y) return 113; - else return 114; - } - BlockState SpruceWood(); - enum Axis Axis(BlockState Block); - } - namespace StickyPiston - { - constexpr BlockState StickyPiston(const bool Extended, const eBlockFace Facing) - { - if (Extended) - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1329; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 1330; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1331; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1332; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 1333; - else return 1334; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1335; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 1336; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1337; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1338; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 1339; - else return 1340; - } - BlockState StickyPiston(); - bool Extended(BlockState Block); - eBlockFace Facing(BlockState Block); - } - namespace Stone - { - constexpr BlockState Stone() - { - return 1; - } - } - namespace StoneBrickSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState StoneBrickSlab(const enum Type Type) - { - if (Type == Type::Top) return 8379; - else if (Type == Type::Bottom) return 8381; - else return 8383; - } - BlockState StoneBrickSlab(); - enum Type Type(BlockState Block); - } - namespace StoneBrickStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState StoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 4933; - else if (Shape == Shape::InnerLeft) return 4935; - else if (Shape == Shape::InnerRight) return 4937; - else if (Shape == Shape::OuterLeft) return 4939; - else return 4941; - else - if (Shape == Shape::Straight) return 4943; - else if (Shape == Shape::InnerLeft) return 4945; - else if (Shape == Shape::InnerRight) return 4947; - else if (Shape == Shape::OuterLeft) return 4949; - else return 4951; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 4953; - else if (Shape == Shape::InnerLeft) return 4955; - else if (Shape == Shape::InnerRight) return 4957; - else if (Shape == Shape::OuterLeft) return 4959; - else return 4961; - else - if (Shape == Shape::Straight) return 4963; - else if (Shape == Shape::InnerLeft) return 4965; - else if (Shape == Shape::InnerRight) return 4967; - else if (Shape == Shape::OuterLeft) return 4969; - else return 4971; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 4973; - else if (Shape == Shape::InnerLeft) return 4975; - else if (Shape == Shape::InnerRight) return 4977; - else if (Shape == Shape::OuterLeft) return 4979; - else return 4981; - else - if (Shape == Shape::Straight) return 4983; - else if (Shape == Shape::InnerLeft) return 4985; - else if (Shape == Shape::InnerRight) return 4987; - else if (Shape == Shape::OuterLeft) return 4989; - else return 4991; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 4993; - else if (Shape == Shape::InnerLeft) return 4995; - else if (Shape == Shape::InnerRight) return 4997; - else if (Shape == Shape::OuterLeft) return 4999; - else return 5001; - else - if (Shape == Shape::Straight) return 5003; - else if (Shape == Shape::InnerLeft) return 5005; - else if (Shape == Shape::InnerRight) return 5007; - else if (Shape == Shape::OuterLeft) return 5009; - else return 5011; - } - BlockState StoneBrickStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace StoneBrickWall - { - enum class East - { - None, - Low, - Tall - }; - enum class North - { - None, - Low, - Tall - }; - enum class South - { - None, - Low, - Tall - }; - enum class West - { - None, - Low, - Tall - }; - constexpr BlockState StoneBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West) - { - if (East == East::None) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12490; - else if (West == West::Low) return 12491; - else return 12492; - else - if (West == West::None) return 12496; - else if (West == West::Low) return 12497; - else return 12498; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12502; - else if (West == West::Low) return 12503; - else return 12504; - else - if (West == West::None) return 12508; - else if (West == West::Low) return 12509; - else return 12510; - else - if (Up) - if (West == West::None) return 12514; - else if (West == West::Low) return 12515; - else return 12516; - else - if (West == West::None) return 12520; - else if (West == West::Low) return 12521; - else return 12522; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12526; - else if (West == West::Low) return 12527; - else return 12528; - else - if (West == West::None) return 12532; - else if (West == West::Low) return 12533; - else return 12534; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12538; - else if (West == West::Low) return 12539; - else return 12540; - else - if (West == West::None) return 12544; - else if (West == West::Low) return 12545; - else return 12546; - else - if (Up) - if (West == West::None) return 12550; - else if (West == West::Low) return 12551; - else return 12552; - else - if (West == West::None) return 12556; - else if (West == West::Low) return 12557; - else return 12558; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12562; - else if (West == West::Low) return 12563; - else return 12564; - else - if (West == West::None) return 12568; - else if (West == West::Low) return 12569; - else return 12570; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12574; - else if (West == West::Low) return 12575; - else return 12576; - else - if (West == West::None) return 12580; - else if (West == West::Low) return 12581; - else return 12582; - else - if (Up) - if (West == West::None) return 12586; - else if (West == West::Low) return 12587; - else return 12588; - else - if (West == West::None) return 12592; - else if (West == West::Low) return 12593; - else return 12594; - else if (East == East::Low) - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12598; - else if (West == West::Low) return 12599; - else return 12600; - else - if (West == West::None) return 12604; - else if (West == West::Low) return 12605; - else return 12606; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12610; - else if (West == West::Low) return 12611; - else return 12612; - else - if (West == West::None) return 12616; - else if (West == West::Low) return 12617; - else return 12618; - else - if (Up) - if (West == West::None) return 12622; - else if (West == West::Low) return 12623; - else return 12624; - else - if (West == West::None) return 12628; - else if (West == West::Low) return 12629; - else return 12630; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12634; - else if (West == West::Low) return 12635; - else return 12636; - else - if (West == West::None) return 12640; - else if (West == West::Low) return 12641; - else return 12642; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12646; - else if (West == West::Low) return 12647; - else return 12648; - else - if (West == West::None) return 12652; - else if (West == West::Low) return 12653; - else return 12654; - else - if (Up) - if (West == West::None) return 12658; - else if (West == West::Low) return 12659; - else return 12660; - else - if (West == West::None) return 12664; - else if (West == West::Low) return 12665; - else return 12666; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12670; - else if (West == West::Low) return 12671; - else return 12672; - else - if (West == West::None) return 12676; - else if (West == West::Low) return 12677; - else return 12678; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12682; - else if (West == West::Low) return 12683; - else return 12684; - else - if (West == West::None) return 12688; - else if (West == West::Low) return 12689; - else return 12690; - else - if (Up) - if (West == West::None) return 12694; - else if (West == West::Low) return 12695; - else return 12696; - else - if (West == West::None) return 12700; - else if (West == West::Low) return 12701; - else return 12702; - else - if (North == North::None) - if (South == South::None) - if (Up) - if (West == West::None) return 12706; - else if (West == West::Low) return 12707; - else return 12708; - else - if (West == West::None) return 12712; - else if (West == West::Low) return 12713; - else return 12714; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12718; - else if (West == West::Low) return 12719; - else return 12720; - else - if (West == West::None) return 12724; - else if (West == West::Low) return 12725; - else return 12726; - else - if (Up) - if (West == West::None) return 12730; - else if (West == West::Low) return 12731; - else return 12732; - else - if (West == West::None) return 12736; - else if (West == West::Low) return 12737; - else return 12738; - else if (North == North::Low) - if (South == South::None) - if (Up) - if (West == West::None) return 12742; - else if (West == West::Low) return 12743; - else return 12744; - else - if (West == West::None) return 12748; - else if (West == West::Low) return 12749; - else return 12750; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12754; - else if (West == West::Low) return 12755; - else return 12756; - else - if (West == West::None) return 12760; - else if (West == West::Low) return 12761; - else return 12762; - else - if (Up) - if (West == West::None) return 12766; - else if (West == West::Low) return 12767; - else return 12768; - else - if (West == West::None) return 12772; - else if (West == West::Low) return 12773; - else return 12774; - else - if (South == South::None) - if (Up) - if (West == West::None) return 12778; - else if (West == West::Low) return 12779; - else return 12780; - else - if (West == West::None) return 12784; - else if (West == West::Low) return 12785; - else return 12786; - else if (South == South::Low) - if (Up) - if (West == West::None) return 12790; - else if (West == West::Low) return 12791; - else return 12792; - else - if (West == West::None) return 12796; - else if (West == West::Low) return 12797; - else return 12798; - else - if (Up) - if (West == West::None) return 12802; - else if (West == West::Low) return 12803; - else return 12804; - else - if (West == West::None) return 12808; - else if (West == West::Low) return 12809; - else return 12810; - } - BlockState StoneBrickWall(); - enum East East(BlockState Block); - enum North North(BlockState Block); - enum South South(BlockState Block); - bool Up(BlockState Block); - enum West West(BlockState Block); - } - namespace StoneBricks - { - constexpr BlockState StoneBricks() - { - return 4495; - } - } - namespace StoneButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState StoneButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 3897; - else return 3898; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 3899; - else return 3900; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 3901; - else return 3902; - else - if (Powered) return 3903; - else return 3904; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 3905; - else return 3906; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 3907; - else return 3908; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 3909; - else return 3910; - else - if (Powered) return 3911; - else return 3912; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 3913; - else return 3914; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 3915; - else return 3916; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 3917; - else return 3918; - else - if (Powered) return 3919; - else return 3920; - } - BlockState StoneButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace StonePressurePlate - { - constexpr BlockState StonePressurePlate(const bool Powered) - { - if (Powered) return 3807; - else return 3808; - } - BlockState StonePressurePlate(); - bool Powered(BlockState Block); - } - namespace StoneSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState StoneSlab(const enum Type Type) - { - if (Type == Type::Top) return 8337; - else if (Type == Type::Bottom) return 8339; - else return 8341; - } - BlockState StoneSlab(); - enum Type Type(BlockState Block); - } - namespace StoneStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState StoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10150; - else if (Shape == Shape::InnerLeft) return 10152; - else if (Shape == Shape::InnerRight) return 10154; - else if (Shape == Shape::OuterLeft) return 10156; - else return 10158; - else - if (Shape == Shape::Straight) return 10160; - else if (Shape == Shape::InnerLeft) return 10162; - else if (Shape == Shape::InnerRight) return 10164; - else if (Shape == Shape::OuterLeft) return 10166; - else return 10168; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10170; - else if (Shape == Shape::InnerLeft) return 10172; - else if (Shape == Shape::InnerRight) return 10174; - else if (Shape == Shape::OuterLeft) return 10176; - else return 10178; - else - if (Shape == Shape::Straight) return 10180; - else if (Shape == Shape::InnerLeft) return 10182; - else if (Shape == Shape::InnerRight) return 10184; - else if (Shape == Shape::OuterLeft) return 10186; - else return 10188; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10190; - else if (Shape == Shape::InnerLeft) return 10192; - else if (Shape == Shape::InnerRight) return 10194; - else if (Shape == Shape::OuterLeft) return 10196; - else return 10198; - else - if (Shape == Shape::Straight) return 10200; - else if (Shape == Shape::InnerLeft) return 10202; - else if (Shape == Shape::InnerRight) return 10204; - else if (Shape == Shape::OuterLeft) return 10206; - else return 10208; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 10210; - else if (Shape == Shape::InnerLeft) return 10212; - else if (Shape == Shape::InnerRight) return 10214; - else if (Shape == Shape::OuterLeft) return 10216; - else return 10218; - else - if (Shape == Shape::Straight) return 10220; - else if (Shape == Shape::InnerLeft) return 10222; - else if (Shape == Shape::InnerRight) return 10224; - else if (Shape == Shape::OuterLeft) return 10226; - else return 10228; - } - BlockState StoneStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace Stonecutter - { - constexpr BlockState Stonecutter(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14850; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14851; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14852; - else return 14853; - } - BlockState Stonecutter(); - eBlockFace Facing(BlockState Block); - } - namespace StrippedAcaciaLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedAcaciaLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 100; - else if (Axis == Axis::Y) return 101; - else return 102; - } - BlockState StrippedAcaciaLog(); - enum Axis Axis(BlockState Block); - } - namespace StrippedAcaciaWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedAcaciaWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 139; - else if (Axis == Axis::Y) return 140; - else return 141; - } - BlockState StrippedAcaciaWood(); - enum Axis Axis(BlockState Block); - } - namespace StrippedBirchLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedBirchLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 94; - else if (Axis == Axis::Y) return 95; - else return 96; - } - BlockState StrippedBirchLog(); - enum Axis Axis(BlockState Block); - } - namespace StrippedBirchWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedBirchWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 133; - else if (Axis == Axis::Y) return 134; - else return 135; - } - BlockState StrippedBirchWood(); - enum Axis Axis(BlockState Block); - } - namespace StrippedCrimsonHyphae - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedCrimsonHyphae(const enum Axis Axis) - { - if (Axis == Axis::X) return 14984; - else if (Axis == Axis::Y) return 14985; - else return 14986; - } - BlockState StrippedCrimsonHyphae(); - enum Axis Axis(BlockState Block); - } - namespace StrippedCrimsonStem - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedCrimsonStem(const enum Axis Axis) - { - if (Axis == Axis::X) return 14978; - else if (Axis == Axis::Y) return 14979; - else return 14980; - } - BlockState StrippedCrimsonStem(); - enum Axis Axis(BlockState Block); - } - namespace StrippedDarkOakLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedDarkOakLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 103; - else if (Axis == Axis::Y) return 104; - else return 105; - } - BlockState StrippedDarkOakLog(); - enum Axis Axis(BlockState Block); - } - namespace StrippedDarkOakWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedDarkOakWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 142; - else if (Axis == Axis::Y) return 143; - else return 144; - } - BlockState StrippedDarkOakWood(); - enum Axis Axis(BlockState Block); - } - namespace StrippedJungleLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedJungleLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 97; - else if (Axis == Axis::Y) return 98; - else return 99; - } - BlockState StrippedJungleLog(); - enum Axis Axis(BlockState Block); - } - namespace StrippedJungleWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedJungleWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 136; - else if (Axis == Axis::Y) return 137; - else return 138; - } - BlockState StrippedJungleWood(); - enum Axis Axis(BlockState Block); - } - namespace StrippedOakLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedOakLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 106; - else if (Axis == Axis::Y) return 107; - else return 108; - } - BlockState StrippedOakLog(); - enum Axis Axis(BlockState Block); - } - namespace StrippedOakWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedOakWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 127; - else if (Axis == Axis::Y) return 128; - else return 129; - } - BlockState StrippedOakWood(); - enum Axis Axis(BlockState Block); - } - namespace StrippedSpruceLog - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedSpruceLog(const enum Axis Axis) - { - if (Axis == Axis::X) return 91; - else if (Axis == Axis::Y) return 92; - else return 93; - } - BlockState StrippedSpruceLog(); - enum Axis Axis(BlockState Block); - } - namespace StrippedSpruceWood - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedSpruceWood(const enum Axis Axis) - { - if (Axis == Axis::X) return 130; - else if (Axis == Axis::Y) return 131; - else return 132; - } - BlockState StrippedSpruceWood(); - enum Axis Axis(BlockState Block); - } - namespace StrippedWarpedHyphae - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedWarpedHyphae(const enum Axis Axis) - { - if (Axis == Axis::X) return 14967; - else if (Axis == Axis::Y) return 14968; - else return 14969; - } - BlockState StrippedWarpedHyphae(); - enum Axis Axis(BlockState Block); - } - namespace StrippedWarpedStem - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState StrippedWarpedStem(const enum Axis Axis) - { - if (Axis == Axis::X) return 14961; - else if (Axis == Axis::Y) return 14962; - else return 14963; - } - BlockState StrippedWarpedStem(); - enum Axis Axis(BlockState Block); - } - namespace StructureBlock - { - enum class Mode - { - Save, - Load, - Corner, - Data - }; - constexpr BlockState StructureBlock(const enum Mode Mode) - { - if (Mode == Mode::Save) return 15735; - else if (Mode == Mode::Load) return 15736; - else if (Mode == Mode::Corner) return 15737; - else return 15738; - } - BlockState StructureBlock(); - enum Mode Mode(BlockState Block); - } - namespace StructureVoid - { - constexpr BlockState StructureVoid() - { - return 9259; - } - } - namespace SugarCane - { - constexpr BlockState SugarCane(const unsigned char Age) - { - if (Age == 0) return 3948; - else if (Age == 1) return 3949; - else if (Age == 2) return 3950; - else if (Age == 3) return 3951; - else if (Age == 4) return 3952; - else if (Age == 5) return 3953; - else if (Age == 6) return 3954; - else if (Age == 7) return 3955; - else if (Age == 8) return 3956; - else if (Age == 9) return 3957; - else if (Age == 10) return 3958; - else if (Age == 11) return 3959; - else if (Age == 12) return 3960; - else if (Age == 13) return 3961; - else if (Age == 14) return 3962; - else return 3963; - } - BlockState SugarCane(); - unsigned char Age(BlockState Block); - } - namespace Sunflower - { - enum class Half - { - Upper, - Lower - }; - constexpr BlockState Sunflower(const enum Half Half) - { - if (Half == Half::Upper) return 7885; - else return 7886; - } - BlockState Sunflower(); - enum Half Half(BlockState Block); - } - namespace SweetBerryBush - { - constexpr BlockState SweetBerryBush(const unsigned char Age) - { - if (Age == 0) return 14954; - else if (Age == 1) return 14955; - else if (Age == 2) return 14956; - else return 14957; - } - BlockState SweetBerryBush(); - unsigned char Age(BlockState Block); - } - namespace TNT - { - constexpr BlockState TNT(const bool Unstable) - { - if (Unstable) return 1430; - else return 1431; - } - BlockState TNT(); - bool Unstable(BlockState Block); - } - namespace TallGrass - { - enum class Half - { - Upper, - Lower - }; - constexpr BlockState TallGrass(const enum Half Half) - { - if (Half == Half::Upper) return 7893; - else return 7894; - } - BlockState TallGrass(); - enum Half Half(BlockState Block); - } - namespace TallSeagrass - { - enum class Half - { - Upper, - Lower - }; - constexpr BlockState TallSeagrass(const enum Half Half) - { - if (Half == Half::Upper) return 1346; - else return 1347; - } - BlockState TallSeagrass(); - enum Half Half(BlockState Block); - } - namespace Target - { - constexpr BlockState Target(const unsigned char Power) - { - if (Power == 0) return 15760; - else if (Power == 1) return 15761; - else if (Power == 2) return 15762; - else if (Power == 3) return 15763; - else if (Power == 4) return 15764; - else if (Power == 5) return 15765; - else if (Power == 6) return 15766; - else if (Power == 7) return 15767; - else if (Power == 8) return 15768; - else if (Power == 9) return 15769; - else if (Power == 10) return 15770; - else if (Power == 11) return 15771; - else if (Power == 12) return 15772; - else if (Power == 13) return 15773; - else if (Power == 14) return 15774; - else return 15775; - } - BlockState Target(); - unsigned char Power(BlockState Block); - } - namespace Terracotta - { - constexpr BlockState Terracotta() - { - return 7882; - } - } - namespace Torch - { - constexpr BlockState Torch() - { - return 1435; - } - } - namespace TrappedChest - { - enum class Type - { - Single, - Left, - Right - }; - constexpr BlockState TrappedChest(const eBlockFace Facing, const enum Type Type) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Type == Type::Single) return 6623; - else if (Type == Type::Left) return 6625; - else return 6627; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Type == Type::Single) return 6629; - else if (Type == Type::Left) return 6631; - else return 6633; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Type == Type::Single) return 6635; - else if (Type == Type::Left) return 6637; - else return 6639; - else - if (Type == Type::Single) return 6641; - else if (Type == Type::Left) return 6643; - else return 6645; - } - BlockState TrappedChest(); - eBlockFace Facing(BlockState Block); - enum Type Type(BlockState Block); - } - namespace Tripwire - { - constexpr BlockState Tripwire(const bool Attached, const bool Disarmed, const bool East, const bool North, const bool Powered, const bool South, const bool West) - { - if (Attached) - if (Disarmed) - if (East) - if (North) - if (Powered) - if (South) - if (West) return 5275; - else return 5276; - else - if (West) return 5277; - else return 5278; - else - if (South) - if (West) return 5279; - else return 5280; - else - if (West) return 5281; - else return 5282; - else - if (Powered) - if (South) - if (West) return 5283; - else return 5284; - else - if (West) return 5285; - else return 5286; - else - if (South) - if (West) return 5287; - else return 5288; - else - if (West) return 5289; - else return 5290; - else - if (North) - if (Powered) - if (South) - if (West) return 5291; - else return 5292; - else - if (West) return 5293; - else return 5294; - else - if (South) - if (West) return 5295; - else return 5296; - else - if (West) return 5297; - else return 5298; - else - if (Powered) - if (South) - if (West) return 5299; - else return 5300; - else - if (West) return 5301; - else return 5302; - else - if (South) - if (West) return 5303; - else return 5304; - else - if (West) return 5305; - else return 5306; - else - if (East) - if (North) - if (Powered) - if (South) - if (West) return 5307; - else return 5308; - else - if (West) return 5309; - else return 5310; - else - if (South) - if (West) return 5311; - else return 5312; - else - if (West) return 5313; - else return 5314; - else - if (Powered) - if (South) - if (West) return 5315; - else return 5316; - else - if (West) return 5317; - else return 5318; - else - if (South) - if (West) return 5319; - else return 5320; - else - if (West) return 5321; - else return 5322; - else - if (North) - if (Powered) - if (South) - if (West) return 5323; - else return 5324; - else - if (West) return 5325; - else return 5326; - else - if (South) - if (West) return 5327; - else return 5328; - else - if (West) return 5329; - else return 5330; - else - if (Powered) - if (South) - if (West) return 5331; - else return 5332; - else - if (West) return 5333; - else return 5334; - else - if (South) - if (West) return 5335; - else return 5336; - else - if (West) return 5337; - else return 5338; - else - if (Disarmed) - if (East) - if (North) - if (Powered) - if (South) - if (West) return 5339; - else return 5340; - else - if (West) return 5341; - else return 5342; - else - if (South) - if (West) return 5343; - else return 5344; - else - if (West) return 5345; - else return 5346; - else - if (Powered) - if (South) - if (West) return 5347; - else return 5348; - else - if (West) return 5349; - else return 5350; - else - if (South) - if (West) return 5351; - else return 5352; - else - if (West) return 5353; - else return 5354; - else - if (North) - if (Powered) - if (South) - if (West) return 5355; - else return 5356; - else - if (West) return 5357; - else return 5358; - else - if (South) - if (West) return 5359; - else return 5360; - else - if (West) return 5361; - else return 5362; - else - if (Powered) - if (South) - if (West) return 5363; - else return 5364; - else - if (West) return 5365; - else return 5366; - else - if (South) - if (West) return 5367; - else return 5368; - else - if (West) return 5369; - else return 5370; - else - if (East) - if (North) - if (Powered) - if (South) - if (West) return 5371; - else return 5372; - else - if (West) return 5373; - else return 5374; - else - if (South) - if (West) return 5375; - else return 5376; - else - if (West) return 5377; - else return 5378; - else - if (Powered) - if (South) - if (West) return 5379; - else return 5380; - else - if (West) return 5381; - else return 5382; - else - if (South) - if (West) return 5383; - else return 5384; - else - if (West) return 5385; - else return 5386; - else - if (North) - if (Powered) - if (South) - if (West) return 5387; - else return 5388; - else - if (West) return 5389; - else return 5390; - else - if (South) - if (West) return 5391; - else return 5392; - else - if (West) return 5393; - else return 5394; - else - if (Powered) - if (South) - if (West) return 5395; - else return 5396; - else - if (West) return 5397; - else return 5398; - else - if (South) - if (West) return 5399; - else return 5400; - else - if (West) return 5401; - else return 5402; - } - BlockState Tripwire(); - bool Attached(BlockState Block); - bool Disarmed(BlockState Block); - bool East(BlockState Block); - bool North(BlockState Block); - bool Powered(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace TripwireHook - { - constexpr BlockState TripwireHook(const bool Attached, const eBlockFace Facing, const bool Powered) - { - if (Attached) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 5259; - else return 5260; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 5261; - else return 5262; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 5263; - else return 5264; - else - if (Powered) return 5265; - else return 5266; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 5267; - else return 5268; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 5269; - else return 5270; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 5271; - else return 5272; - else - if (Powered) return 5273; - else return 5274; - } - BlockState TripwireHook(); - bool Attached(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace TubeCoral - { - constexpr BlockState TubeCoral() - { - return 9531; - } - } - namespace TubeCoralBlock - { - constexpr BlockState TubeCoralBlock() - { - return 9515; - } - } - namespace TubeCoralFan - { - constexpr BlockState TubeCoralFan() - { - return 9551; - } - } - namespace TubeCoralWallFan - { - constexpr BlockState TubeCoralWallFan(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9601; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9603; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9605; - else return 9607; - } - BlockState TubeCoralWallFan(); - eBlockFace Facing(BlockState Block); - } - namespace TurtleEgg - { - constexpr BlockState TurtleEgg(const unsigned char Eggs, const unsigned char Hatch) - { - if (Eggs == 1) - if (Hatch == 0) return 9498; - else if (Hatch == 1) return 9499; - else return 9500; - else if (Eggs == 2) - if (Hatch == 0) return 9501; - else if (Hatch == 1) return 9502; - else return 9503; - else if (Eggs == 3) - if (Hatch == 0) return 9504; - else if (Hatch == 1) return 9505; - else return 9506; - else - if (Hatch == 0) return 9507; - else if (Hatch == 1) return 9508; - else return 9509; - } - BlockState TurtleEgg(); - unsigned char Eggs(BlockState Block); - unsigned char Hatch(BlockState Block); - } - namespace TwistingVines - { - constexpr BlockState TwistingVines(const unsigned char Age) - { - if (Age == 0) return 15017; - else if (Age == 1) return 15018; - else if (Age == 2) return 15019; - else if (Age == 3) return 15020; - else if (Age == 4) return 15021; - else if (Age == 5) return 15022; - else if (Age == 6) return 15023; - else if (Age == 7) return 15024; - else if (Age == 8) return 15025; - else if (Age == 9) return 15026; - else if (Age == 10) return 15027; - else if (Age == 11) return 15028; - else if (Age == 12) return 15029; - else if (Age == 13) return 15030; - else if (Age == 14) return 15031; - else if (Age == 15) return 15032; - else if (Age == 16) return 15033; - else if (Age == 17) return 15034; - else if (Age == 18) return 15035; - else if (Age == 19) return 15036; - else if (Age == 20) return 15037; - else if (Age == 21) return 15038; - else if (Age == 22) return 15039; - else if (Age == 23) return 15040; - else if (Age == 24) return 15041; - else return 15042; - } - BlockState TwistingVines(); - unsigned char Age(BlockState Block); - } - namespace TwistingVinesPlant - { - constexpr BlockState TwistingVinesPlant() - { - return 15043; - } - } - namespace Vine - { - constexpr BlockState Vine(const bool East, const bool North, const bool South, const bool Up, const bool West) - { - if (East) - if (North) - if (South) - if (Up) - if (West) return 4788; - else return 4789; - else - if (West) return 4790; - else return 4791; - else - if (Up) - if (West) return 4792; - else return 4793; - else - if (West) return 4794; - else return 4795; - else - if (South) - if (Up) - if (West) return 4796; - else return 4797; - else - if (West) return 4798; - else return 4799; - else - if (Up) - if (West) return 4800; - else return 4801; - else - if (West) return 4802; - else return 4803; + return 1050; + else if (Part == Part::Head) + return 1051; + else + return 1052; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1053; else - if (North) - if (South) - if (Up) - if (West) return 4804; - else return 4805; - else - if (West) return 4806; - else return 4807; - else - if (Up) - if (West) return 4808; - else return 4809; - else - if (West) return 4810; - else return 4811; - else - if (South) - if (Up) - if (West) return 4812; - else return 4813; - else - if (West) return 4814; - else return 4815; - else - if (Up) - if (West) return 4816; - else return 4817; - else - if (West) return 4818; - else return 4819; - } - BlockState Vine(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool Up(BlockState Block); - bool West(BlockState Block); - } - namespace VoidAir - { - constexpr BlockState VoidAir() - { - return 9665; - } - } - namespace WallTorch - { - constexpr BlockState WallTorch(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1436; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1437; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1438; - else return 1439; - } - BlockState WallTorch(); - eBlockFace Facing(BlockState Block); - } - namespace WarpedButton - { - enum class Face - { - Floor, - Wall, - Ceiling - }; - constexpr BlockState WarpedButton(const enum Face Face, const eBlockFace Facing, const bool Powered) - { - if (Face == Face::Floor) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 15503; - else return 15504; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 15505; - else return 15506; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 15507; - else return 15508; - else - if (Powered) return 15509; - else return 15510; - else if (Face == Face::Wall) - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 15511; - else return 15512; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 15513; - else return 15514; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 15515; - else return 15516; - else - if (Powered) return 15517; - else return 15518; - else - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Powered) return 15519; - else return 15520; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Powered) return 15521; - else return 15522; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Powered) return 15523; - else return 15524; - else - if (Powered) return 15525; - else return 15526; - } - BlockState WarpedButton(); - enum Face Face(BlockState Block); - eBlockFace Facing(BlockState Block); - bool Powered(BlockState Block); - } - namespace WarpedDoor - { - enum class Half - { - Upper, - Lower - }; - enum class Hinge - { - Left, - Right - }; - constexpr BlockState WarpedDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15591; - else return 15592; - else - if (Powered) return 15593; - else return 15594; - else - if (Open) - if (Powered) return 15595; - else return 15596; - else - if (Powered) return 15597; - else return 15598; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15599; - else return 15600; - else - if (Powered) return 15601; - else return 15602; - else - if (Open) - if (Powered) return 15603; - else return 15604; - else - if (Powered) return 15605; - else return 15606; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15607; - else return 15608; - else - if (Powered) return 15609; - else return 15610; - else - if (Open) - if (Powered) return 15611; - else return 15612; - else - if (Powered) return 15613; - else return 15614; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15615; - else return 15616; - else - if (Powered) return 15617; - else return 15618; - else - if (Open) - if (Powered) return 15619; - else return 15620; - else - if (Powered) return 15621; - else return 15622; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15623; - else return 15624; - else - if (Powered) return 15625; - else return 15626; - else - if (Open) - if (Powered) return 15627; - else return 15628; - else - if (Powered) return 15629; - else return 15630; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15631; - else return 15632; - else - if (Powered) return 15633; - else return 15634; - else - if (Open) - if (Powered) return 15635; - else return 15636; - else - if (Powered) return 15637; - else return 15638; - else - if (Half == Half::Upper) - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15639; - else return 15640; - else - if (Powered) return 15641; - else return 15642; - else - if (Open) - if (Powered) return 15643; - else return 15644; - else - if (Powered) return 15645; - else return 15646; - else - if (Hinge == Hinge::Left) - if (Open) - if (Powered) return 15647; - else return 15648; - else - if (Powered) return 15649; - else return 15650; - else - if (Open) - if (Powered) return 15651; - else return 15652; - else - if (Powered) return 15653; - else return 15654; - } - BlockState WarpedDoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Hinge Hinge(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace WarpedFence - { - constexpr BlockState WarpedFence(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 15097; - else return 15098; - else - if (West) return 15101; - else return 15102; - else - if (South) - if (West) return 15105; - else return 15106; - else - if (West) return 15109; - else return 15110; + return 1054; + else if (Part == Part::Head) + return 1055; + else + return 1056; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1057; else - if (North) - if (South) - if (West) return 15113; - else return 15114; - else - if (West) return 15117; - else return 15118; - else - if (South) - if (West) return 15121; - else return 15122; - else - if (West) return 15125; - else return 15126; - } - BlockState WarpedFence(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace WarpedFenceGate - { - constexpr BlockState WarpedFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (InWall) - if (Open) - if (Powered) return 15287; - else return 15288; - else - if (Powered) return 15289; - else return 15290; - else - if (Open) - if (Powered) return 15291; - else return 15292; - else - if (Powered) return 15293; - else return 15294; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (InWall) - if (Open) - if (Powered) return 15295; - else return 15296; - else - if (Powered) return 15297; - else return 15298; - else - if (Open) - if (Powered) return 15299; - else return 15300; - else - if (Powered) return 15301; - else return 15302; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (InWall) - if (Open) - if (Powered) return 15303; - else return 15304; - else - if (Powered) return 15305; - else return 15306; - else - if (Open) - if (Powered) return 15307; - else return 15308; - else - if (Powered) return 15309; - else return 15310; - else - if (InWall) - if (Open) - if (Powered) return 15311; - else return 15312; - else - if (Powered) return 15313; - else return 15314; - else - if (Open) - if (Powered) return 15315; - else return 15316; - else - if (Powered) return 15317; - else return 15318; - } - BlockState WarpedFenceGate(); - eBlockFace Facing(BlockState Block); - bool InWall(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace WarpedFungus - { - constexpr BlockState WarpedFungus() - { - return 14971; - } - } - namespace WarpedHyphae - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState WarpedHyphae(const enum Axis Axis) - { - if (Axis == Axis::X) return 14964; - else if (Axis == Axis::Y) return 14965; - else return 14966; - } - BlockState WarpedHyphae(); - enum Axis Axis(BlockState Block); - } - namespace WarpedNylium - { - constexpr BlockState WarpedNylium() - { - return 14970; - } - } - namespace WarpedPlanks - { - constexpr BlockState WarpedPlanks() - { - return 15046; - } - } - namespace WarpedPressurePlate - { - constexpr BlockState WarpedPressurePlate(const bool Powered) - { - if (Powered) return 15061; - else return 15062; - } - BlockState WarpedPressurePlate(); - bool Powered(BlockState Block); - } - namespace WarpedRoots - { - constexpr BlockState WarpedRoots() - { - return 14973; - } - } - namespace WarpedSign - { - constexpr BlockState WarpedSign(const unsigned char Rotation) - { - if (Rotation == 0) return 15688; - else if (Rotation == 1) return 15690; - else if (Rotation == 2) return 15692; - else if (Rotation == 3) return 15694; - else if (Rotation == 4) return 15696; - else if (Rotation == 5) return 15698; - else if (Rotation == 6) return 15700; - else if (Rotation == 7) return 15702; - else if (Rotation == 8) return 15704; - else if (Rotation == 9) return 15706; - else if (Rotation == 10) return 15708; - else if (Rotation == 11) return 15710; - else if (Rotation == 12) return 15712; - else if (Rotation == 13) return 15714; - else if (Rotation == 14) return 15716; - else return 15718; - } - BlockState WarpedSign(); - unsigned char Rotation(BlockState Block); - } - namespace WarpedSlab - { - enum class Type - { - Top, - Bottom, - Double - }; - constexpr BlockState WarpedSlab(const enum Type Type) - { - if (Type == Type::Top) return 15054; - else if (Type == Type::Bottom) return 15056; - else return 15058; - } - BlockState WarpedSlab(); - enum Type Type(BlockState Block); - } - namespace WarpedStairs - { - enum class Half - { - Top, - Bottom - }; - enum class Shape - { - Straight, - InnerLeft, - InnerRight, - OuterLeft, - OuterRight - }; - constexpr BlockState WarpedStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15400; - else if (Shape == Shape::InnerLeft) return 15402; - else if (Shape == Shape::InnerRight) return 15404; - else if (Shape == Shape::OuterLeft) return 15406; - else return 15408; - else - if (Shape == Shape::Straight) return 15410; - else if (Shape == Shape::InnerLeft) return 15412; - else if (Shape == Shape::InnerRight) return 15414; - else if (Shape == Shape::OuterLeft) return 15416; - else return 15418; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15420; - else if (Shape == Shape::InnerLeft) return 15422; - else if (Shape == Shape::InnerRight) return 15424; - else if (Shape == Shape::OuterLeft) return 15426; - else return 15428; - else - if (Shape == Shape::Straight) return 15430; - else if (Shape == Shape::InnerLeft) return 15432; - else if (Shape == Shape::InnerRight) return 15434; - else if (Shape == Shape::OuterLeft) return 15436; - else return 15438; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15440; - else if (Shape == Shape::InnerLeft) return 15442; - else if (Shape == Shape::InnerRight) return 15444; - else if (Shape == Shape::OuterLeft) return 15446; - else return 15448; - else - if (Shape == Shape::Straight) return 15450; - else if (Shape == Shape::InnerLeft) return 15452; - else if (Shape == Shape::InnerRight) return 15454; - else if (Shape == Shape::OuterLeft) return 15456; - else return 15458; - else - if (Half == Half::Top) - if (Shape == Shape::Straight) return 15460; - else if (Shape == Shape::InnerLeft) return 15462; - else if (Shape == Shape::InnerRight) return 15464; - else if (Shape == Shape::OuterLeft) return 15466; - else return 15468; - else - if (Shape == Shape::Straight) return 15470; - else if (Shape == Shape::InnerLeft) return 15472; - else if (Shape == Shape::InnerRight) return 15474; - else if (Shape == Shape::OuterLeft) return 15476; - else return 15478; - } - BlockState WarpedStairs(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - enum Shape Shape(BlockState Block); - } - namespace WarpedStem - { - enum class Axis - { - X, - Y, - Z - }; - constexpr BlockState WarpedStem(const enum Axis Axis) - { - if (Axis == Axis::X) return 14958; - else if (Axis == Axis::Y) return 14959; - else return 14960; - } - BlockState WarpedStem(); - enum Axis Axis(BlockState Block); - } - namespace WarpedTrapdoor - { - enum class Half - { - Top, - Bottom - }; - constexpr BlockState WarpedTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Half == Half::Top) - if (Open) - if (Powered) return 15192; - else return 15194; - else - if (Powered) return 15196; - else return 15198; - else - if (Open) - if (Powered) return 15200; - else return 15202; - else - if (Powered) return 15204; - else return 15206; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Half == Half::Top) - if (Open) - if (Powered) return 15208; - else return 15210; - else - if (Powered) return 15212; - else return 15214; - else - if (Open) - if (Powered) return 15216; - else return 15218; - else - if (Powered) return 15220; - else return 15222; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Half == Half::Top) - if (Open) - if (Powered) return 15224; - else return 15226; - else - if (Powered) return 15228; - else return 15230; - else - if (Open) - if (Powered) return 15232; - else return 15234; - else - if (Powered) return 15236; - else return 15238; - else - if (Half == Half::Top) - if (Open) - if (Powered) return 15240; - else return 15242; - else - if (Powered) return 15244; - else return 15246; - else - if (Open) - if (Powered) return 15248; - else return 15250; - else - if (Powered) return 15252; - else return 15254; - } - BlockState WarpedTrapdoor(); - eBlockFace Facing(BlockState Block); - enum Half Half(BlockState Block); - bool Open(BlockState Block); - bool Powered(BlockState Block); - } - namespace WarpedWallSign - { - constexpr BlockState WarpedWallSign(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 15728; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 15730; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 15732; - else return 15734; - } - BlockState WarpedWallSign(); - eBlockFace Facing(BlockState Block); - } - namespace WarpedWartBlock - { - constexpr BlockState WarpedWartBlock() - { - return 14972; - } - } - namespace Water - { - constexpr BlockState Water(const unsigned char Level) - { - if (Level == 0) return 34; - else if (Level == 1) return 35; - else if (Level == 2) return 36; - else if (Level == 3) return 37; - else if (Level == 4) return 38; - else if (Level == 5) return 39; - else if (Level == 6) return 40; - else if (Level == 7) return 41; - else if (Level == 8) return 42; - else if (Level == 9) return 43; - else if (Level == 10) return 44; - else if (Level == 11) return 45; - else if (Level == 12) return 46; - else if (Level == 13) return 47; - else if (Level == 14) return 48; - else return 49; - } - BlockState Water(); - unsigned char Level(BlockState Block); - } - namespace WeepingVines - { - constexpr BlockState WeepingVines(const unsigned char Age) - { - if (Age == 0) return 14990; - else if (Age == 1) return 14991; - else if (Age == 2) return 14992; - else if (Age == 3) return 14993; - else if (Age == 4) return 14994; - else if (Age == 5) return 14995; - else if (Age == 6) return 14996; - else if (Age == 7) return 14997; - else if (Age == 8) return 14998; - else if (Age == 9) return 14999; - else if (Age == 10) return 15000; - else if (Age == 11) return 15001; - else if (Age == 12) return 15002; - else if (Age == 13) return 15003; - else if (Age == 14) return 15004; - else if (Age == 15) return 15005; - else if (Age == 16) return 15006; - else if (Age == 17) return 15007; - else if (Age == 18) return 15008; - else if (Age == 19) return 15009; - else if (Age == 20) return 15010; - else if (Age == 21) return 15011; - else if (Age == 22) return 15012; - else if (Age == 23) return 15013; - else if (Age == 24) return 15014; - else return 15015; - } - BlockState WeepingVines(); - unsigned char Age(BlockState Block); - } - namespace WeepingVinesPlant - { - constexpr BlockState WeepingVinesPlant() - { - return 15016; - } - } - namespace WetSponge - { - constexpr BlockState WetSponge() - { - return 230; - } - } - namespace Wheat - { - constexpr BlockState Wheat(const unsigned char Age) - { - if (Age == 0) return 3357; - else if (Age == 1) return 3358; - else if (Age == 2) return 3359; - else if (Age == 3) return 3360; - else if (Age == 4) return 3361; - else if (Age == 5) return 3362; - else if (Age == 6) return 3363; - else return 3364; - } - BlockState Wheat(); - unsigned char Age(BlockState Block); - } - namespace WhiteBanner - { - constexpr BlockState WhiteBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 7897; - else if (Rotation == 1) return 7898; - else if (Rotation == 2) return 7899; - else if (Rotation == 3) return 7900; - else if (Rotation == 4) return 7901; - else if (Rotation == 5) return 7902; - else if (Rotation == 6) return 7903; - else if (Rotation == 7) return 7904; - else if (Rotation == 8) return 7905; - else if (Rotation == 9) return 7906; - else if (Rotation == 10) return 7907; - else if (Rotation == 11) return 7908; - else if (Rotation == 12) return 7909; - else if (Rotation == 13) return 7910; - else if (Rotation == 14) return 7911; - else return 7912; - } - BlockState WhiteBanner(); - unsigned char Rotation(BlockState Block); - } - namespace WhiteBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState WhiteBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1049; - else return 1050; - else - if (Part == Part::Head) return 1051; - else return 1052; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1053; - else return 1054; - else - if (Part == Part::Head) return 1055; - else return 1056; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1057; - else return 1058; - else - if (Part == Part::Head) return 1059; - else return 1060; - else - if (Occupied) - if (Part == Part::Head) return 1061; - else return 1062; - else - if (Part == Part::Head) return 1063; - else return 1064; - } - BlockState WhiteBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace WhiteCarpet - { - constexpr BlockState WhiteCarpet() - { - return 7866; - } - } - namespace WhiteConcrete - { - constexpr BlockState WhiteConcrete() - { - return 9438; - } - } - namespace WhiteConcretePowder - { - constexpr BlockState WhiteConcretePowder() - { - return 9454; - } - } - namespace WhiteGlazedTerracotta - { - constexpr BlockState WhiteGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9374; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9375; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9376; - else return 9377; - } - BlockState WhiteGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace WhiteShulkerBox - { - constexpr BlockState WhiteShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9278; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9279; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9280; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9281; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9282; - else return 9283; - } - BlockState WhiteShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace WhiteStainedGlass - { - constexpr BlockState WhiteStainedGlass() - { - return 4095; - } - } - namespace WhiteStainedGlassPane - { - constexpr BlockState WhiteStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 6865; - else return 6866; - else - if (West) return 6869; - else return 6870; - else - if (South) - if (West) return 6873; - else return 6874; - else - if (West) return 6877; - else return 6878; + return 1058; + else if (Part == Part::Head) + return 1059; + else + return 1060; + else if (Occupied) + if (Part == Part::Head) + return 1061; + else + return 1062; + else if (Part == Part::Head) + return 1063; + else + return 1064; +} +BlockState WhiteBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace WhiteBed +namespace WhiteCarpet +{ +constexpr BlockState WhiteCarpet() +{ + return 7866; +} +} // namespace WhiteCarpet +namespace WhiteConcrete +{ +constexpr BlockState WhiteConcrete() +{ + return 9438; +} +} // namespace WhiteConcrete +namespace WhiteConcretePowder +{ +constexpr BlockState WhiteConcretePowder() +{ + return 9454; +} +} // namespace WhiteConcretePowder +namespace WhiteGlazedTerracotta +{ +constexpr BlockState WhiteGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9374; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9375; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9376; + else + return 9377; +} +BlockState WhiteGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace WhiteGlazedTerracotta +namespace WhiteShulkerBox +{ +constexpr BlockState WhiteShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9278; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9279; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9280; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9281; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9282; + else + return 9283; +} +BlockState WhiteShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace WhiteShulkerBox +namespace WhiteStainedGlass +{ +constexpr BlockState WhiteStainedGlass() +{ + return 4095; +} +} // namespace WhiteStainedGlass +namespace WhiteStainedGlassPane +{ +constexpr BlockState WhiteStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 6865; + else + return 6866; + else if (West) + return 6869; else - if (North) - if (South) - if (West) return 6881; - else return 6882; - else - if (West) return 6885; - else return 6886; - else - if (South) - if (West) return 6889; - else return 6890; - else - if (West) return 6893; - else return 6894; - } - BlockState WhiteStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace WhiteTerracotta - { - constexpr BlockState WhiteTerracotta() - { - return 6847; - } - } - namespace WhiteTulip - { - constexpr BlockState WhiteTulip() - { - return 1419; - } - } - namespace WhiteWallBanner - { - constexpr BlockState WhiteWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8153; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8154; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8155; - else return 8156; - } - BlockState WhiteWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace WhiteWool - { - constexpr BlockState WhiteWool() - { - return 1384; - } - } - namespace WitherRose - { - constexpr BlockState WitherRose() - { - return 1423; - } - } - namespace WitherSkeletonSkull - { - constexpr BlockState WitherSkeletonSkull(const unsigned char Rotation) - { - if (Rotation == 0) return 6510; - else if (Rotation == 1) return 6511; - else if (Rotation == 2) return 6512; - else if (Rotation == 3) return 6513; - else if (Rotation == 4) return 6514; - else if (Rotation == 5) return 6515; - else if (Rotation == 6) return 6516; - else if (Rotation == 7) return 6517; - else if (Rotation == 8) return 6518; - else if (Rotation == 9) return 6519; - else if (Rotation == 10) return 6520; - else if (Rotation == 11) return 6521; - else if (Rotation == 12) return 6522; - else if (Rotation == 13) return 6523; - else if (Rotation == 14) return 6524; - else return 6525; - } - BlockState WitherSkeletonSkull(); - unsigned char Rotation(BlockState Block); - } - namespace WitherSkeletonWallSkull - { - constexpr BlockState WitherSkeletonWallSkull(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6526; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6527; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6528; - else return 6529; - } - BlockState WitherSkeletonWallSkull(); - eBlockFace Facing(BlockState Block); - } - namespace YellowBanner - { - constexpr BlockState YellowBanner(const unsigned char Rotation) - { - if (Rotation == 0) return 7961; - else if (Rotation == 1) return 7962; - else if (Rotation == 2) return 7963; - else if (Rotation == 3) return 7964; - else if (Rotation == 4) return 7965; - else if (Rotation == 5) return 7966; - else if (Rotation == 6) return 7967; - else if (Rotation == 7) return 7968; - else if (Rotation == 8) return 7969; - else if (Rotation == 9) return 7970; - else if (Rotation == 10) return 7971; - else if (Rotation == 11) return 7972; - else if (Rotation == 12) return 7973; - else if (Rotation == 13) return 7974; - else if (Rotation == 14) return 7975; - else return 7976; - } - BlockState YellowBanner(); - unsigned char Rotation(BlockState Block); - } - namespace YellowBed - { - enum class Part - { - Head, - Foot - }; - constexpr BlockState YellowBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) - if (Occupied) - if (Part == Part::Head) return 1113; - else return 1114; - else - if (Part == Part::Head) return 1115; - else return 1116; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) - if (Occupied) - if (Part == Part::Head) return 1117; - else return 1118; - else - if (Part == Part::Head) return 1119; - else return 1120; - else if (Facing == eBlockFace::BLOCK_FACE_XM) - if (Occupied) - if (Part == Part::Head) return 1121; - else return 1122; - else - if (Part == Part::Head) return 1123; - else return 1124; - else - if (Occupied) - if (Part == Part::Head) return 1125; - else return 1126; - else - if (Part == Part::Head) return 1127; - else return 1128; - } - BlockState YellowBed(); - eBlockFace Facing(BlockState Block); - bool Occupied(BlockState Block); - enum Part Part(BlockState Block); - } - namespace YellowCarpet - { - constexpr BlockState YellowCarpet() - { - return 7870; - } - } - namespace YellowConcrete - { - constexpr BlockState YellowConcrete() - { - return 9442; - } - } - namespace YellowConcretePowder - { - constexpr BlockState YellowConcretePowder() - { - return 9458; - } - } - namespace YellowGlazedTerracotta - { - constexpr BlockState YellowGlazedTerracotta(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9390; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9391; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9392; - else return 9393; - } - BlockState YellowGlazedTerracotta(); - eBlockFace Facing(BlockState Block); - } - namespace YellowShulkerBox - { - constexpr BlockState YellowShulkerBox(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9302; - else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9303; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9304; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9305; - else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9306; - else return 9307; - } - BlockState YellowShulkerBox(); - eBlockFace Facing(BlockState Block); - } - namespace YellowStainedGlass - { - constexpr BlockState YellowStainedGlass() - { - return 4099; - } - } - namespace YellowStainedGlassPane - { - constexpr BlockState YellowStainedGlassPane(const bool East, const bool North, const bool South, const bool West) - { - if (East) - if (North) - if (South) - if (West) return 6993; - else return 6994; - else - if (West) return 6997; - else return 6998; - else - if (South) - if (West) return 7001; - else return 7002; - else - if (West) return 7005; - else return 7006; + return 6870; + else if (South) + if (West) + return 6873; else - if (North) - if (South) - if (West) return 7009; - else return 7010; - else - if (West) return 7013; - else return 7014; - else - if (South) - if (West) return 7017; - else return 7018; - else - if (West) return 7021; - else return 7022; - } - BlockState YellowStainedGlassPane(); - bool East(BlockState Block); - bool North(BlockState Block); - bool South(BlockState Block); - bool West(BlockState Block); - } - namespace YellowTerracotta - { - constexpr BlockState YellowTerracotta() - { - return 6851; - } - } - namespace YellowWallBanner - { - constexpr BlockState YellowWallBanner(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8169; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8170; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8171; - else return 8172; - } - BlockState YellowWallBanner(); - eBlockFace Facing(BlockState Block); - } - namespace YellowWool - { - constexpr BlockState YellowWool() - { - return 1388; - } - } - namespace ZombieHead - { - constexpr BlockState ZombieHead(const unsigned char Rotation) - { - if (Rotation == 0) return 6530; - else if (Rotation == 1) return 6531; - else if (Rotation == 2) return 6532; - else if (Rotation == 3) return 6533; - else if (Rotation == 4) return 6534; - else if (Rotation == 5) return 6535; - else if (Rotation == 6) return 6536; - else if (Rotation == 7) return 6537; - else if (Rotation == 8) return 6538; - else if (Rotation == 9) return 6539; - else if (Rotation == 10) return 6540; - else if (Rotation == 11) return 6541; - else if (Rotation == 12) return 6542; - else if (Rotation == 13) return 6543; - else if (Rotation == 14) return 6544; - else return 6545; - } - BlockState ZombieHead(); - unsigned char Rotation(BlockState Block); - } - namespace ZombieWallHead - { - constexpr BlockState ZombieWallHead(const eBlockFace Facing) - { - if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6546; - else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6547; - else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6548; - else return 6549; - } - BlockState ZombieWallHead(); - eBlockFace Facing(BlockState Block); - } + return 6874; + else if (West) + return 6877; + else + return 6878; + else if (North) + if (South) + if (West) + return 6881; + else + return 6882; + else if (West) + return 6885; + else + return 6886; + else if (South) + if (West) + return 6889; + else + return 6890; + else if (West) + return 6893; + else + return 6894; +} +BlockState WhiteStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace WhiteStainedGlassPane +namespace WhiteTerracotta +{ +constexpr BlockState WhiteTerracotta() +{ + return 6847; +} +} // namespace WhiteTerracotta +namespace WhiteTulip +{ +constexpr BlockState WhiteTulip() +{ + return 1419; +} +} // namespace WhiteTulip +namespace WhiteWallBanner +{ +constexpr BlockState WhiteWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8153; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8154; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8155; + else + return 8156; +} +BlockState WhiteWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace WhiteWallBanner +namespace WhiteWool +{ +constexpr BlockState WhiteWool() +{ + return 1384; +} +} // namespace WhiteWool +namespace WitherRose +{ +constexpr BlockState WitherRose() +{ + return 1423; +} +} // namespace WitherRose +namespace WitherSkeletonSkull +{ +constexpr BlockState WitherSkeletonSkull(const unsigned char Rotation) +{ + if (Rotation == 0) + return 6510; + else if (Rotation == 1) + return 6511; + else if (Rotation == 2) + return 6512; + else if (Rotation == 3) + return 6513; + else if (Rotation == 4) + return 6514; + else if (Rotation == 5) + return 6515; + else if (Rotation == 6) + return 6516; + else if (Rotation == 7) + return 6517; + else if (Rotation == 8) + return 6518; + else if (Rotation == 9) + return 6519; + else if (Rotation == 10) + return 6520; + else if (Rotation == 11) + return 6521; + else if (Rotation == 12) + return 6522; + else if (Rotation == 13) + return 6523; + else if (Rotation == 14) + return 6524; + else + return 6525; +} +BlockState WitherSkeletonSkull(); +unsigned char Rotation(BlockState Block); +} // namespace WitherSkeletonSkull +namespace WitherSkeletonWallSkull +{ +constexpr BlockState WitherSkeletonWallSkull(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6526; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6527; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6528; + else + return 6529; +} +BlockState WitherSkeletonWallSkull(); +eBlockFace Facing(BlockState Block); +} // namespace WitherSkeletonWallSkull +namespace YellowBanner +{ +constexpr BlockState YellowBanner(const unsigned char Rotation) +{ + if (Rotation == 0) + return 7961; + else if (Rotation == 1) + return 7962; + else if (Rotation == 2) + return 7963; + else if (Rotation == 3) + return 7964; + else if (Rotation == 4) + return 7965; + else if (Rotation == 5) + return 7966; + else if (Rotation == 6) + return 7967; + else if (Rotation == 7) + return 7968; + else if (Rotation == 8) + return 7969; + else if (Rotation == 9) + return 7970; + else if (Rotation == 10) + return 7971; + else if (Rotation == 11) + return 7972; + else if (Rotation == 12) + return 7973; + else if (Rotation == 13) + return 7974; + else if (Rotation == 14) + return 7975; + else + return 7976; +} +BlockState YellowBanner(); +unsigned char Rotation(BlockState Block); +} // namespace YellowBanner +namespace YellowBed +{ +enum class Part +{ + Head, + Foot +}; +constexpr BlockState YellowBed(const eBlockFace Facing, const bool Occupied, const enum Part Part) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + if (Occupied) + if (Part == Part::Head) + return 1113; + else + return 1114; + else if (Part == Part::Head) + return 1115; + else + return 1116; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + if (Occupied) + if (Part == Part::Head) + return 1117; + else + return 1118; + else if (Part == Part::Head) + return 1119; + else + return 1120; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + if (Occupied) + if (Part == Part::Head) + return 1121; + else + return 1122; + else if (Part == Part::Head) + return 1123; + else + return 1124; + else if (Occupied) + if (Part == Part::Head) + return 1125; + else + return 1126; + else if (Part == Part::Head) + return 1127; + else + return 1128; +} +BlockState YellowBed(); +eBlockFace Facing(BlockState Block); +bool Occupied(BlockState Block); +enum Part Part(BlockState Block); +} // namespace YellowBed +namespace YellowCarpet +{ +constexpr BlockState YellowCarpet() +{ + return 7870; +} +} // namespace YellowCarpet +namespace YellowConcrete +{ +constexpr BlockState YellowConcrete() +{ + return 9442; +} +} // namespace YellowConcrete +namespace YellowConcretePowder +{ +constexpr BlockState YellowConcretePowder() +{ + return 9458; +} +} // namespace YellowConcretePowder +namespace YellowGlazedTerracotta +{ +constexpr BlockState YellowGlazedTerracotta(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9390; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9391; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9392; + else + return 9393; +} +BlockState YellowGlazedTerracotta(); +eBlockFace Facing(BlockState Block); +} // namespace YellowGlazedTerracotta +namespace YellowShulkerBox +{ +constexpr BlockState YellowShulkerBox(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 9302; + else if (Facing == eBlockFace::BLOCK_FACE_XP) + return 9303; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 9304; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 9305; + else if (Facing == eBlockFace::BLOCK_FACE_YP) + return 9306; + else + return 9307; +} +BlockState YellowShulkerBox(); +eBlockFace Facing(BlockState Block); +} // namespace YellowShulkerBox +namespace YellowStainedGlass +{ +constexpr BlockState YellowStainedGlass() +{ + return 4099; +} +} // namespace YellowStainedGlass +namespace YellowStainedGlassPane +{ +constexpr BlockState YellowStainedGlassPane(const bool East, const bool North, const bool South, const bool West) +{ + if (East) + if (North) + if (South) + if (West) + return 6993; + else + return 6994; + else if (West) + return 6997; + else + return 6998; + else if (South) + if (West) + return 7001; + else + return 7002; + else if (West) + return 7005; + else + return 7006; + else if (North) + if (South) + if (West) + return 7009; + else + return 7010; + else if (West) + return 7013; + else + return 7014; + else if (South) + if (West) + return 7017; + else + return 7018; + else if (West) + return 7021; + else + return 7022; +} +BlockState YellowStainedGlassPane(); +bool East(BlockState Block); +bool North(BlockState Block); +bool South(BlockState Block); +bool West(BlockState Block); +} // namespace YellowStainedGlassPane +namespace YellowTerracotta +{ +constexpr BlockState YellowTerracotta() +{ + return 6851; +} +} // namespace YellowTerracotta +namespace YellowWallBanner +{ +constexpr BlockState YellowWallBanner(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 8169; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 8170; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 8171; + else + return 8172; +} +BlockState YellowWallBanner(); +eBlockFace Facing(BlockState Block); +} // namespace YellowWallBanner +namespace YellowWool +{ +constexpr BlockState YellowWool() +{ + return 1388; +} +} // namespace YellowWool +namespace ZombieHead +{ +constexpr BlockState ZombieHead(const unsigned char Rotation) +{ + if (Rotation == 0) + return 6530; + else if (Rotation == 1) + return 6531; + else if (Rotation == 2) + return 6532; + else if (Rotation == 3) + return 6533; + else if (Rotation == 4) + return 6534; + else if (Rotation == 5) + return 6535; + else if (Rotation == 6) + return 6536; + else if (Rotation == 7) + return 6537; + else if (Rotation == 8) + return 6538; + else if (Rotation == 9) + return 6539; + else if (Rotation == 10) + return 6540; + else if (Rotation == 11) + return 6541; + else if (Rotation == 12) + return 6542; + else if (Rotation == 13) + return 6543; + else if (Rotation == 14) + return 6544; + else + return 6545; +} +BlockState ZombieHead(); +unsigned char Rotation(BlockState Block); +} // namespace ZombieHead +namespace ZombieWallHead +{ +constexpr BlockState ZombieWallHead(const eBlockFace Facing) +{ + if (Facing == eBlockFace::BLOCK_FACE_ZM) + return 6546; + else if (Facing == eBlockFace::BLOCK_FACE_ZP) + return 6547; + else if (Facing == eBlockFace::BLOCK_FACE_XM) + return 6548; + else + return 6549; } +BlockState ZombieWallHead(); +eBlockFace Facing(BlockState Block); +} // namespace ZombieWallHead +} // namespace Block diff --git a/src/Registries/CustomStatistics.h b/src/Registries/CustomStatistics.h index c0edba191..31470353f 100644 --- a/src/Registries/CustomStatistics.h +++ b/src/Registries/CustomStatistics.h @@ -6,39 +6,39 @@ enum class CustomStatistic // tolua_end /* Achievements */ - AchOpenInventory, /* Taking Inventory */ - AchMineWood, /* Getting Wood */ - AchBuildWorkBench, /* Benchmarking */ - AchBuildPickaxe, /* Time to Mine! */ - AchBuildFurnace, /* Hot Topic */ - AchAcquireIron, /* Acquire Hardware */ - AchBuildHoe, /* Time to Farm! */ - AchMakeBread, /* Bake Bread */ - AchBakeCake, /* The Lie */ + AchOpenInventory, /* Taking Inventory */ + AchMineWood, /* Getting Wood */ + AchBuildWorkBench, /* Benchmarking */ + AchBuildPickaxe, /* Time to Mine! */ + AchBuildFurnace, /* Hot Topic */ + AchAcquireIron, /* Acquire Hardware */ + AchBuildHoe, /* Time to Farm! */ + AchMakeBread, /* Bake Bread */ + AchBakeCake, /* The Lie */ AchBuildBetterPickaxe, /* Getting an Upgrade */ - AchCookFish, /* Delicious Fish */ - AchOnARail, /* On A Rail */ - AchBuildSword, /* Time to Strike! */ - AchKillEnemy, /* Monster Hunter */ - AchKillCow, /* Cow Tipper */ - AchFlyPig, /* When Pigs Fly */ - AchSnipeSkeleton, /* Sniper Duel */ - AchDiamonds, /* DIAMONDS! */ - AchPortal, /* We Need to Go Deeper */ - AchGhast, /* Return to Sender */ - AchBlazeRod, /* Into Fire */ - AchPotion, /* Local Brewery */ - AchTheEnd, /* The End? */ - AchTheEnd2, /* The End. */ - AchEnchantments, /* Enchanter */ - AchOverkill, /* Overkill */ - AchBookcase, /* Librarian */ - AchExploreAllBiomes, /* Adventuring Time */ - AchSpawnWither, /* The Beginning? */ - AchKillWither, /* The Beginning. */ - AchFullBeacon, /* Beaconator */ - AchBreedCow, /* Repopulation */ - AchDiamondsToYou, /* Diamonds to you! */ + AchCookFish, /* Delicious Fish */ + AchOnARail, /* On A Rail */ + AchBuildSword, /* Time to Strike! */ + AchKillEnemy, /* Monster Hunter */ + AchKillCow, /* Cow Tipper */ + AchFlyPig, /* When Pigs Fly */ + AchSnipeSkeleton, /* Sniper Duel */ + AchDiamonds, /* DIAMONDS! */ + AchPortal, /* We Need to Go Deeper */ + AchGhast, /* Return to Sender */ + AchBlazeRod, /* Into Fire */ + AchPotion, /* Local Brewery */ + AchTheEnd, /* The End? */ + AchTheEnd2, /* The End. */ + AchEnchantments, /* Enchanter */ + AchOverkill, /* Overkill */ + AchBookcase, /* Librarian */ + AchExploreAllBiomes, /* Adventuring Time */ + AchSpawnWither, /* The Beginning? */ + AchKillWither, /* The Beginning. */ + AchFullBeacon, /* Beaconator */ + AchBreedCow, /* Repopulation */ + AchDiamondsToYou, /* Diamonds to you! */ // tolua_begin diff --git a/src/Root.cpp b/src/Root.cpp index 481c02f5b..a4b096193 100644 --- a/src/Root.cpp +++ b/src/Root.cpp @@ -9,23 +9,23 @@ // OS-specific headers: #if defined(_WIN32) - #include +#include #elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) - #include - #if defined(__linux__) - #include - - #if !defined(__GLIBC__) - #include - #endif - #elif defined(__APPLE__) - #include - #elif defined(__FreeBSD__) - #include - #include - #include - #include - #endif +#include +#if defined(__linux__) +#include + +#if !defined(__GLIBC__) +#include +#endif +#elif defined(__APPLE__) +#include +#elif defined(__FreeBSD__) +#include +#include +#include +#include +#endif #endif #include "Server.h" @@ -56,16 +56,16 @@ #ifdef __clang__ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wglobal-constructors" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wglobal-constructors" #endif -decltype(cRoot::s_Root) cRoot::s_Root; +decltype(cRoot::s_Root) cRoot::s_Root; decltype(cRoot::s_NextState) cRoot::s_NextState; decltype(cRoot::s_StopEvent) cRoot::s_StopEvent; #ifdef __clang__ - #pragma clang diagnostic pop +#pragma clang diagnostic pop #endif @@ -106,7 +106,7 @@ bool cRoot::Run(cSettingsRepositoryInterface & a_OverridesRepo) auto consoleAttachment = cLogger::GetInstance().AttachListener(std::move(consoleLogListener)); cLogger::cAttachment fileAttachment; - if (!a_OverridesRepo.HasValue("Server","DisableLogFile")) + if (!a_OverridesRepo.HasValue("Server", "DisableLogFile")) { auto fileLogListenerRet = MakeFileListener(); if (!fileLogListenerRet.first) @@ -134,9 +134,9 @@ bool cRoot::Run(cSettingsRepositoryInterface & a_OverridesRepo) LOG("Reading server config..."); m_SettingsFilename = "settings.ini"; - if (a_OverridesRepo.HasValue("Server","ConfigFile")) + if (a_OverridesRepo.HasValue("Server", "ConfigFile")) { - m_SettingsFilename = a_OverridesRepo.GetValue("Server","ConfigFile"); + m_SettingsFilename = a_OverridesRepo.GetValue("Server", "ConfigFile"); } auto IniFile = std::make_unique(); @@ -146,19 +146,26 @@ bool cRoot::Run(cSettingsRepositoryInterface & a_OverridesRepo) { LOGWARN("Regenerating settings.ini, all settings will be reset"); IniFile->AddHeaderComment(" This is the main server configuration"); - IniFile->AddHeaderComment(" Most of the settings here can be configured using the webadmin interface, if enabled in webadmin.ini"); + IniFile->AddHeaderComment( + " Most of the settings here can be configured using the webadmin interface, if enabled in webadmin.ini" + ); } auto settingsRepo = std::make_unique(std::move(IniFile), a_OverridesRepo); LOG("Starting server..."); - // cClientHandle::FASTBREAK_PERCENTAGE = settingsRepo->GetValueSetI("AntiCheat", "FastBreakPercentage", 97) / 100.0f; - cClientHandle::FASTBREAK_PERCENTAGE = 0; // AntiCheat disabled due to bugs. We will enabled it once they are fixed. See #3506. + // cClientHandle::FASTBREAK_PERCENTAGE = settingsRepo->GetValueSetI("AntiCheat", "FastBreakPercentage", 97) / + // 100.0f; + cClientHandle::FASTBREAK_PERCENTAGE = + 0; // AntiCheat disabled due to bugs. We will enabled it once they are fixed. See #3506. m_MojangAPI = new cMojangAPI; bool ShouldAuthenticate = settingsRepo->GetValueSetB("Authentication", "Authenticate", true); - m_MojangAPI->Start(*settingsRepo, ShouldAuthenticate); // Mojang API needs to be started before plugins, so that plugins may use it for DB upgrades on server init + m_MojangAPI->Start( + *settingsRepo, + ShouldAuthenticate + ); // Mojang API needs to be started before plugins, so that plugins may use it for DB upgrades on server init if (!m_Server->InitServer(*settingsRepo, ShouldAuthenticate)) { settingsRepo->Flush(); @@ -173,7 +180,7 @@ bool cRoot::Run(cSettingsRepositoryInterface & a_OverridesRepo) m_RankManager->Initialize(*m_MojangAPI); m_CraftingRecipes = new cCraftingRecipes(); m_RecipeMapper.reset(new cRecipeMapper()); - m_FurnaceRecipe = new cFurnaceRecipe(); + m_FurnaceRecipe = new cFurnaceRecipe(); m_BrewingRecipes.reset(new cBrewingRecipes()); LOGD("Loading worlds..."); @@ -206,7 +213,11 @@ bool cRoot::Run(cSettingsRepositoryInterface & a_OverridesRepo) { m_WebAdmin->Start(); - LOG("Startup complete, took %ldms!", static_cast(std::chrono::duration_cast(std::chrono::steady_clock::now() - BeginTime).count())); + LOG("Startup complete, took %ldms!", + static_cast( + std::chrono::duration_cast(std::chrono::steady_clock::now() - BeginTime) + .count() + )); // Save the current time m_StartTime = std::chrono::steady_clock::now(); @@ -221,7 +232,8 @@ bool cRoot::Run(cSettingsRepositoryInterface & a_OverridesRepo) m_Server->Shutdown(); } // if (m_Server->Start() - delete m_MojangAPI; m_MojangAPI = nullptr; + delete m_MojangAPI; + m_MojangAPI = nullptr; LOGD("Shutting down deadlock detector..."); dd.Stop(); @@ -233,18 +245,24 @@ bool cRoot::Run(cSettingsRepositoryInterface & a_OverridesRepo) m_Authenticator.Stop(); LOGD("Freeing MonsterConfig..."); - delete m_MonsterConfig; m_MonsterConfig = nullptr; - delete m_WebAdmin; m_WebAdmin = nullptr; + delete m_MonsterConfig; + m_MonsterConfig = nullptr; + delete m_WebAdmin; + m_WebAdmin = nullptr; LOGD("Unloading recipes..."); - delete m_FurnaceRecipe; m_FurnaceRecipe = nullptr; - delete m_CraftingRecipes; m_CraftingRecipes = nullptr; + delete m_FurnaceRecipe; + m_FurnaceRecipe = nullptr; + delete m_CraftingRecipes; + m_CraftingRecipes = nullptr; LOGD("Stopping plugin manager..."); - delete m_PluginManager; m_PluginManager = nullptr; + delete m_PluginManager; + m_PluginManager = nullptr; LOG("Cleaning up..."); - delete m_Server; m_Server = nullptr; + delete m_Server; + m_Server = nullptr; LOG("Shutdown successful!"); LOG("--- Stopped Log ---"); @@ -294,10 +312,12 @@ void cRoot::LoadWorlds(cDeadlockDetect & a_dd, cSettingsRepositoryInterface & a_ a_Settings.AddValue("WorldPaths", "world_nether", "world_nether"); a_Settings.AddValue("WorldPaths", "world_the_end", "world_the_end"); - const AStringVector WorldNames{ "world", "world_nether", "world_the_end" }; + const AStringVector WorldNames {"world", "world_nether", "world_the_end"}; m_pDefaultWorld = &m_WorldsByName.try_emplace("world", "world", "world", a_dd, WorldNames).first->second; - m_WorldsByName.try_emplace("world_nether", "world_nether", "world_nether", a_dd, WorldNames, dimNether, "world"); - m_WorldsByName.try_emplace("world_the_end", "world_the_end", "world_the_end", a_dd, WorldNames, dimEnd, "world"); + m_WorldsByName + .try_emplace("world_nether", "world_nether", "world_nether", a_dd, WorldNames, dimNether, "world"); + m_WorldsByName + .try_emplace("world_the_end", "world_the_end", "world_the_end", a_dd, WorldNames, dimEnd, "world"); return; } @@ -312,7 +332,9 @@ void cRoot::LoadWorlds(cDeadlockDetect & a_dd, cSettingsRepositoryInterface & a_ // Get the default world AString DefaultWorldName = a_Settings.GetValueSet("Worlds", "DefaultWorld", "world"); AString DefaultWorldPath = a_Settings.GetValueSet("WorldPaths", DefaultWorldName, DefaultWorldName); - m_pDefaultWorld = &m_WorldsByName.try_emplace(DefaultWorldName, DefaultWorldName, DefaultWorldPath, a_dd, WorldNames).first->second; + m_pDefaultWorld = + &m_WorldsByName.try_emplace(DefaultWorldName, DefaultWorldName, DefaultWorldPath, a_dd, WorldNames) + .first->second; // Then load the other worlds if (Worlds.size() <= 0) @@ -320,8 +342,8 @@ void cRoot::LoadWorlds(cDeadlockDetect & a_dd, cSettingsRepositoryInterface & a_ return; } - /* Here are the world creation rules. Note that these only apply for a world which is in settings.ini but has no world.ini file. - If an ini file is present, it overrides the world linkages and the dimension type in cWorld::start() + /* Here are the world creation rules. Note that these only apply for a world which is in settings.ini but has no + world.ini file. If an ini file is present, it overrides the world linkages and the dimension type in cWorld::start() The creation rules are as follows: - If a world exists in settings.ini but has no world.ini, then: @@ -367,7 +389,8 @@ void cRoot::LoadWorlds(cDeadlockDetect & a_dd, cSettingsRepositoryInterface & a_ AString LinkTo; // if the world is called x_nether - if ((LowercaseName.size() > NetherAppend.size()) && (LowercaseName.substr(LowercaseName.size() - NetherAppend.size()) == NetherAppend)) + if ((LowercaseName.size() > NetherAppend.size()) && + (LowercaseName.substr(LowercaseName.size() - NetherAppend.size()) == NetherAppend)) { // The world is called x_nether, see if a world called x exists. If yes, choose it as the linked world, // otherwise, choose the default world as the linked world. @@ -381,7 +404,8 @@ void cRoot::LoadWorlds(cDeadlockDetect & a_dd, cSettingsRepositoryInterface & a_ Dimension = dimNether; } // if the world is called x_the_end - else if ((LowercaseName.size() > EndAppend1.size()) && (LowercaseName.substr(LowercaseName.size() - EndAppend1.size()) == EndAppend1)) + else if ((LowercaseName.size() > EndAppend1.size()) && + (LowercaseName.substr(LowercaseName.size() - EndAppend1.size()) == EndAppend1)) { // The world is called x_the_end, see if a world called x exists. If yes, choose it as the linked world, // otherwise, choose the default world as the linked world. @@ -395,7 +419,8 @@ void cRoot::LoadWorlds(cDeadlockDetect & a_dd, cSettingsRepositoryInterface & a_ Dimension = dimEnd; } // if the world is called x_end - else if ((LowercaseName.size() > EndAppend2.size()) && (LowercaseName.substr(LowercaseName.size() - EndAppend2.size()) == EndAppend2)) + else if ((LowercaseName.size() > EndAppend2.size()) && + (LowercaseName.substr(LowercaseName.size() - EndAppend2.size()) == EndAppend2)) { // The world is called x_end, see if a world called x exists. If yes, choose it as the linked world, // otherwise, choose the default world as the linked world. @@ -698,15 +723,14 @@ bool cRoot::FindAndDoWithPlayer(const AString & a_PlayerName, cPlayerListCallbac { class cCallback { - size_t m_BestRating; - size_t m_NameLength; + size_t m_BestRating; + size_t m_NameLength; const AString m_PlayerName; - public: - - bool operator () (cPlayer & a_Player) + public: + bool operator()(cPlayer & a_Player) { - size_t Rating = RateCompareString (m_PlayerName, a_Player.GetName()); + size_t Rating = RateCompareString(m_PlayerName, a_Player.GetName()); if ((Rating > 0) && (Rating >= m_BestRating)) { m_BestMatch = a_Player.GetName(); @@ -720,17 +744,18 @@ bool cRoot::FindAndDoWithPlayer(const AString & a_PlayerName, cPlayerListCallbac return (Rating == m_NameLength); // Perfect match } - cCallback (const AString & a_CBPlayerName) : + cCallback(const AString & a_CBPlayerName) : m_BestRating(0), m_NameLength(a_CBPlayerName.length()), m_PlayerName(a_CBPlayerName), m_BestMatch(), m_NumMatches(0) - {} + { + } AString m_BestMatch; - unsigned m_NumMatches; - } Callback (a_PlayerName); + unsigned m_NumMatches; + } Callback(a_PlayerName); ForEachPlayer(Callback); if (Callback.m_NumMatches == 1) @@ -787,50 +812,48 @@ AString cRoot::GetProtocolVersionTextFromInt(int a_ProtocolVersion) int cRoot::GetVirtualRAMUsage(void) { - #ifdef _WIN32 - PROCESS_MEMORY_COUNTERS_EX pmc; - if (GetProcessMemoryInfo(GetCurrentProcess(), (PROCESS_MEMORY_COUNTERS *)&pmc, sizeof(pmc))) - { - return (int)(pmc.PrivateUsage / 1024); - } - return -1; - #elif defined(__linux__) - // Code adapted from https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process - std::ifstream StatFile("/proc/self/status"); - if (!StatFile.good()) - { - return -1; - } - while (StatFile.good()) - { - AString Line; - std::getline(StatFile, Line); - if (strncmp(Line.c_str(), "VmSize:", 7) == 0) - { - int res = atoi(Line.c_str() + 8); - return (res == 0) ? -1 : res; // If parsing failed, return -1 - } - } +#ifdef _WIN32 + PROCESS_MEMORY_COUNTERS_EX pmc; + if (GetProcessMemoryInfo(GetCurrentProcess(), (PROCESS_MEMORY_COUNTERS *) &pmc, sizeof(pmc))) + { + return (int) (pmc.PrivateUsage / 1024); + } + return -1; +#elif defined(__linux__) + // Code adapted from + // https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process + std::ifstream StatFile("/proc/self/status"); + if (!StatFile.good()) + { return -1; - #elif defined (__APPLE__) - // Code adapted from https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process - struct task_basic_info t_info; - mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT; - - if (KERN_SUCCESS == task_info( - mach_task_self(), - TASK_BASIC_INFO, - reinterpret_cast(&t_info), - &t_info_count - )) + } + while (StatFile.good()) + { + AString Line; + std::getline(StatFile, Line); + if (strncmp(Line.c_str(), "VmSize:", 7) == 0) { - return static_cast(t_info.virtual_size / 1024); + int res = atoi(Line.c_str() + 8); + return (res == 0) ? -1 : res; // If parsing failed, return -1 } - return -1; - #else - LOGINFO("%s: Unknown platform, cannot query memory usage", __FUNCTION__); - return -1; - #endif + } + return -1; +#elif defined(__APPLE__) + // Code adapted from + // https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process + struct task_basic_info t_info; + mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT; + + if (KERN_SUCCESS == + task_info(mach_task_self(), TASK_BASIC_INFO, reinterpret_cast(&t_info), &t_info_count)) + { + return static_cast(t_info.virtual_size / 1024); + } + return -1; +#else + LOGINFO("%s: Unknown platform, cannot query memory usage", __FUNCTION__); + return -1; +#endif } @@ -839,81 +862,85 @@ int cRoot::GetVirtualRAMUsage(void) int cRoot::GetPhysicalRAMUsage(void) { - #ifdef _WIN32 - PROCESS_MEMORY_COUNTERS pmc; - if (GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc))) - { - return (int)(pmc.WorkingSetSize / 1024); - } - return -1; - #elif defined(__linux__) - // Code adapted from https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process - std::ifstream StatFile("/proc/self/status"); - if (!StatFile.good()) - { - return -1; - } - while (StatFile.good()) - { - AString Line; - std::getline(StatFile, Line); - if (strncmp(Line.c_str(), "VmRSS:", 6) == 0) - { - int res = atoi(Line.c_str() + 7); - return (res == 0) ? -1 : res; // If parsing failed, return -1 - } - } - return -1; - #elif defined (__APPLE__) - // Code adapted from https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process - struct task_basic_info t_info; - mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT; - - if (KERN_SUCCESS == task_info( - mach_task_self(), - TASK_BASIC_INFO, - reinterpret_cast(&t_info), - &t_info_count - )) - { - return static_cast(t_info.resident_size / 1024); - } +#ifdef _WIN32 + PROCESS_MEMORY_COUNTERS pmc; + if (GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc))) + { + return (int) (pmc.WorkingSetSize / 1024); + } + return -1; +#elif defined(__linux__) + // Code adapted from + // https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process + std::ifstream StatFile("/proc/self/status"); + if (!StatFile.good()) + { return -1; - #elif defined (__FreeBSD__) - /* - struct rusage self_usage; - int status = getrusage(RUSAGE_SELF, &self_usage); - if (!status) + } + while (StatFile.good()) + { + AString Line; + std::getline(StatFile, Line); + if (strncmp(Line.c_str(), "VmRSS:", 6) == 0) { - return static_cast(self_usage.ru_maxrss); + int res = atoi(Line.c_str() + 7); + return (res == 0) ? -1 : res; // If parsing failed, return -1 } - return -1; - */ - // Good to watch: https://www.youtube.com/watch?v=Os5cK0H8EOA - getrusage. - // Unfortunately, it only gives peak memory usage a.k.a max resident set size - // So it is better to use FreeBSD kvm function to get the size of resident pages. + } + return -1; +#elif defined(__APPLE__) + // Code adapted from + // https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process + struct task_basic_info t_info; + mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT; + + if (KERN_SUCCESS == + task_info(mach_task_self(), TASK_BASIC_INFO, reinterpret_cast(&t_info), &t_info_count)) + { + return static_cast(t_info.resident_size / 1024); + } + return -1; +#elif defined(__FreeBSD__) + /* + struct rusage self_usage; + int status = getrusage(RUSAGE_SELF, &self_usage); + if (!status) + { + return static_cast(self_usage.ru_maxrss); + } + return -1; + */ + // Good to watch: https://www.youtube.com/watch?v=Os5cK0H8EOA - getrusage. + // Unfortunately, it only gives peak memory usage a.k.a max resident set size + // So it is better to use FreeBSD kvm function to get the size of resident pages. - static kvm_t* kd = NULL; + static kvm_t * kd = NULL; - if (kd == NULL) - { - kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); // returns a descriptor used to access kernel virtual memory - } - if (kd != NULL) + if (kd == NULL) + { + kd = kvm_open( + NULL, + "/dev/null", + NULL, + O_RDONLY, + "kvm_open" + ); // returns a descriptor used to access kernel virtual memory + } + if (kd != NULL) + { + int pc = 0; // number of processes found + struct kinfo_proc * kp; + kp = kvm_getprocs(kd, KERN_PROC_PID, getpid(), &pc); + if ((kp != NULL) && (pc >= 1)) { - int pc = 0; // number of processes found - struct kinfo_proc* kp; - kp = kvm_getprocs(kd, KERN_PROC_PID, getpid(), &pc); - if ((kp != NULL) && (pc >= 1)) - { - return static_cast(kp->ki_rssize * getpagesize() / 1024); - } + return static_cast(kp->ki_rssize * getpagesize() / 1024); } - return -1; - #else - LOGINFO("%s: Unknown platform, cannot query memory usage", __FUNCTION__); - return -1; - #endif + } + return -1; +#else + LOGINFO("%s: Unknown platform, cannot query memory usage", __FUNCTION__); + return -1; +#endif } @@ -945,7 +972,11 @@ void cRoot::LogChunkStats(cCommandOutputCallback & a_Output) a_Output.OutLn(fmt::format(FMT_STRING(" Num chunks in storage load queue: {}"), NumInLoadQueue)); a_Output.OutLn(fmt::format(FMT_STRING(" Num chunks in storage save queue: {}"), NumInSaveQueue)); int Mem = NumValid * static_cast(sizeof(cChunk)); - a_Output.OutLn(fmt::format(FMT_STRING(" Memory used by chunks: {} KiB ({} MiB)"), (Mem + 1023) / 1024, (Mem + 1024 * 1024 - 1) / (1024 * 1024))); + a_Output.OutLn(fmt::format( + FMT_STRING(" Memory used by chunks: {} KiB ({} MiB)"), + (Mem + 1023) / 1024, + (Mem + 1024 * 1024 - 1) / (1024 * 1024) + )); SumNumValid += NumValid; SumNumDirty += NumDirty; SumNumInLighting += NumInLighting; @@ -957,13 +988,37 @@ void cRoot::LogChunkStats(cCommandOutputCallback & a_Output) a_Output.OutLn(fmt::format(FMT_STRING(" Num dirty chunks: {}"), SumNumDirty)); a_Output.OutLn(fmt::format(FMT_STRING(" Num chunks in lighting queue: {}"), SumNumInLighting)); a_Output.OutLn(fmt::format(FMT_STRING(" Num chunks in generator queue: {}"), SumNumInGenerator)); - a_Output.OutLn(fmt::format(FMT_STRING(" Memory used by chunks: {} KiB ({} MiB)"), (SumMem + 1023) / 1024, (SumMem + 1024 * 1024 - 1) / (1024 * 1024))); + a_Output.OutLn(fmt::format( + FMT_STRING(" Memory used by chunks: {} KiB ({} MiB)"), + (SumMem + 1023) / 1024, + (SumMem + 1024 * 1024 - 1) / (1024 * 1024) + )); a_Output.OutLn("Per-chunk memory size breakdown:"); - a_Output.OutLn(fmt::format(FMT_STRING(" block types: {:06} bytes ({:3} KiB)"), sizeof(cChunkDef::BlockTypes), (sizeof(cChunkDef::BlockTypes) + 1023) / 1024)); - a_Output.OutLn(fmt::format(FMT_STRING(" block metadata: {:06} bytes ({:3} KiB)"), sizeof(cChunkDef::BlockNibbles), (sizeof(cChunkDef::BlockNibbles) + 1023) / 1024)); - a_Output.OutLn(fmt::format(FMT_STRING(" block lighting: {:06} bytes ({:3} KiB)"), 2 * sizeof(cChunkDef::BlockNibbles), (2 * sizeof(cChunkDef::BlockNibbles) + 1023) / 1024)); - a_Output.OutLn(fmt::format(FMT_STRING(" heightmap: {:06} bytes ({:3} KiB)"), sizeof(cChunkDef::HeightMap), (sizeof(cChunkDef::HeightMap) + 1023) / 1024)); - a_Output.OutLn(fmt::format(FMT_STRING(" biomemap: {:06} bytes ({:3} KiB)"), sizeof(cChunkDef::BiomeMap), (sizeof(cChunkDef::BiomeMap) + 1023) / 1024)); + a_Output.OutLn(fmt::format( + FMT_STRING(" block types: {:06} bytes ({:3} KiB)"), + sizeof(cChunkDef::BlockTypes), + (sizeof(cChunkDef::BlockTypes) + 1023) / 1024 + )); + a_Output.OutLn(fmt::format( + FMT_STRING(" block metadata: {:06} bytes ({:3} KiB)"), + sizeof(cChunkDef::BlockNibbles), + (sizeof(cChunkDef::BlockNibbles) + 1023) / 1024 + )); + a_Output.OutLn(fmt::format( + FMT_STRING(" block lighting: {:06} bytes ({:3} KiB)"), + 2 * sizeof(cChunkDef::BlockNibbles), + (2 * sizeof(cChunkDef::BlockNibbles) + 1023) / 1024 + )); + a_Output.OutLn(fmt::format( + FMT_STRING(" heightmap: {:06} bytes ({:3} KiB)"), + sizeof(cChunkDef::HeightMap), + (sizeof(cChunkDef::HeightMap) + 1023) / 1024 + )); + a_Output.OutLn(fmt::format( + FMT_STRING(" biomemap: {:06} bytes ({:3} KiB)"), + sizeof(cChunkDef::BiomeMap), + (sizeof(cChunkDef::BiomeMap) + 1023) / 1024 + )); } @@ -983,7 +1038,8 @@ int cRoot::GetFurnaceFuelBurnTime(const cItem & a_Fuel) AStringVector cRoot::GetPlayerTabCompletionMultiWorld(const AString & a_Text) { AStringVector Results; - ForEachWorld([&](cWorld & a_World) + ForEachWorld( + [&](cWorld & a_World) { a_World.TabCompleteUserName(a_Text, Results); return false; @@ -1010,7 +1066,7 @@ void cRoot::HandleInput() while (s_NextState == NextState::Run) { #ifndef _WIN32 - timeval Timeout{ 0, 0 }; + timeval Timeout {0, 0}; Timeout.tv_usec = 100 * 1000; // 100 msec fd_set ReadSet; @@ -1072,19 +1128,9 @@ void cRoot::TransitionNextState(NextState a_NextState) #ifdef WIN32 DWORD Length; - INPUT_RECORD Record - { + INPUT_RECORD Record { KEY_EVENT, - { - { - TRUE, - 1, - VK_RETURN, - static_cast(MapVirtualKey(VK_RETURN, MAPVK_VK_TO_VSC)), - { { VK_RETURN } }, - 0 - } - } + {{TRUE, 1, VK_RETURN, static_cast(MapVirtualKey(VK_RETURN, MAPVK_VK_TO_VSC)), {{VK_RETURN}}, 0}} }; // Can't kill the input thread since it breaks cin (getline doesn't block / receive input on restart) diff --git a/src/Root.h b/src/Root.h index 1db13a70f..f8318b8cd 100644 --- a/src/Root.h +++ b/src/Root.h @@ -32,12 +32,12 @@ class cUUID; class BlockTypePalette; class ProtocolPalettes; -using cPlayerListCallback = cFunctionRef; -using cWorldListCallback = cFunctionRef; +using cPlayerListCallback = cFunctionRef; +using cWorldListCallback = cFunctionRef; namespace Json { - class Value; +class Value; } @@ -48,7 +48,7 @@ namespace Json // tolua_begin class cRoot { -public: + public: static cRoot * Get() { return s_Root; } // tolua_end @@ -69,7 +69,7 @@ public: // tolua_begin cServer * GetServer(void) { return m_Server; } - cWorld * GetDefaultWorld(void); + cWorld * GetDefaultWorld(void); /** Returns a pointer to the world specified. If no world of that name exists, returns a nullptr. */ cWorld * GetWorld(const AString & a_WorldName); @@ -77,7 +77,9 @@ public: /** Returns the up time of the server in seconds */ int GetServerUpTime(void) { - return static_cast(std::chrono::duration_cast(std::chrono::steady_clock::now() - m_StartTime).count()); + return static_cast( + std::chrono::duration_cast(std::chrono::steady_clock::now() - m_StartTime).count() + ); } // tolua_end @@ -91,8 +93,11 @@ public: cCraftingRecipes * GetCraftingRecipes(void) { return m_CraftingRecipes; } // tolua_export cRecipeMapper * GetRecipeMapper(void) { return m_RecipeMapper.get(); } - cFurnaceRecipe * GetFurnaceRecipe (void) { return m_FurnaceRecipe; } // Exported in ManualBindings.cpp with quite a different signature - cBrewingRecipes * GetBrewingRecipes (void) { return m_BrewingRecipes.get(); } // Exported in ManualBindings.cpp + cFurnaceRecipe * GetFurnaceRecipe(void) + { + return m_FurnaceRecipe; + } // Exported in ManualBindings.cpp with quite a different signature + cBrewingRecipes * GetBrewingRecipes(void) { return m_BrewingRecipes.get(); } // Exported in ManualBindings.cpp /** Returns the (read-write) storage for registered block types. */ // BlockTypeRegistry & GetBlockTypeRegistry() { return m_BlockTypeRegistry; } @@ -107,11 +112,11 @@ public: /** The current time where the startup of the server has been completed */ std::chrono::steady_clock::time_point m_StartTime; - cWebAdmin * GetWebAdmin (void) { return m_WebAdmin; } // tolua_export - cPluginManager * GetPluginManager (void) { return m_PluginManager; } // tolua_export - cAuthenticator & GetAuthenticator (void) { return m_Authenticator; } - cMojangAPI & GetMojangAPI (void) { return *m_MojangAPI; } - cRankManager * GetRankManager (void) { return m_RankManager.get(); } + cWebAdmin * GetWebAdmin(void) { return m_WebAdmin; } // tolua_export + cPluginManager * GetPluginManager(void) { return m_PluginManager; } // tolua_export + cAuthenticator & GetAuthenticator(void) { return m_Authenticator; } + cMojangAPI & GetMojangAPI(void) { return *m_MojangAPI; } + cRankManager * GetRankManager(void) { return m_RankManager.get(); } /** Queues a console command for execution through the cServer class. The command will be executed in the tick thread @@ -136,7 +141,8 @@ public: /** Saves all chunks in all worlds */ void SaveAllChunks(void); // tolua_export - /** Saves all chunks in all worlds synchronously (waits until dirty chunks have been sent to the ChunkStorage queue before returning) */ + /** Saves all chunks in all worlds synchronously (waits until dirty chunks have been sent to the ChunkStorage queue + * before returning) */ void SaveAllChunksNow(void); /** Sets whether saving chunks is enabled in all worlds (overrides however the worlds were already set) */ @@ -146,10 +152,16 @@ public: bool ForEachPlayer(cPlayerListCallback a_Callback); // >> EXPORTED IN MANUALBINDINGS << /** Finds a player from a partial or complete player name and calls the callback - case-insensitive */ - bool FindAndDoWithPlayer(const AString & a_PlayerName, cPlayerListCallback a_Callback); // >> EXPORTED IN MANUALBINDINGS << + bool FindAndDoWithPlayer( + const AString & a_PlayerName, + cPlayerListCallback a_Callback + ); // >> EXPORTED IN MANUALBINDINGS << /** Finds the player over his uuid and calls the callback */ - bool DoWithPlayerByUUID(const cUUID & a_PlayerUUID, cPlayerListCallback a_Callback); // >> EXPORTED IN MANUALBINDINGS << + bool DoWithPlayerByUUID( + const cUUID & a_PlayerUUID, + cPlayerListCallback a_Callback + ); // >> EXPORTED IN MANUALBINDINGS << /** Finds the player using it's complete username and calls the callback */ bool DoWithPlayer(const AString & a_PlayerName, cPlayerListCallback a_Callback); @@ -164,19 +176,21 @@ public: void BroadcastPlayerListsRemovePlayer(const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr); /** Broadcast playerlist header and footer through all worlds */ - void BroadcastPlayerListsHeaderFooter(const cCompositeChat & a_Header, const cCompositeChat & a_Footer); // tolua_export + // tolua_begin + void BroadcastPlayerListsHeaderFooter(const cCompositeChat & a_Header, const cCompositeChat & a_Footer); + // tolua_end // tolua_begin /** Sends a chat message to all connected clients (in all worlds) */ - void BroadcastChat (const AString & a_Message, eMessageType a_ChatPrefix = mtCustom); - void BroadcastChat (const cCompositeChat & a_Message); - void BroadcastChatDeath (const AString & a_Message) { BroadcastChat(a_Message, mtDeath); } + void BroadcastChat(const AString & a_Message, eMessageType a_ChatPrefix = mtCustom); + void BroadcastChat(const cCompositeChat & a_Message); + void BroadcastChatDeath(const AString & a_Message) { BroadcastChat(a_Message, mtDeath); } void BroadcastChatFailure(const AString & a_Message) { BroadcastChat(a_Message, mtFailure); } - void BroadcastChatFatal (const AString & a_Message) { BroadcastChat(a_Message, mtFailure); } - void BroadcastChatInfo (const AString & a_Message) { BroadcastChat(a_Message, mtInformation); } - void BroadcastChatJoin (const AString & a_Message) { BroadcastChat(a_Message, mtJoin); } - void BroadcastChatLeave (const AString & a_Message) { BroadcastChat(a_Message, mtLeave); } + void BroadcastChatFatal(const AString & a_Message) { BroadcastChat(a_Message, mtFailure); } + void BroadcastChatInfo(const AString & a_Message) { BroadcastChat(a_Message, mtInformation); } + void BroadcastChatJoin(const AString & a_Message) { BroadcastChat(a_Message, mtJoin); } + void BroadcastChatLeave(const AString & a_Message) { BroadcastChat(a_Message, mtLeave); } void BroadcastChatSuccess(const AString & a_Message) { BroadcastChat(a_Message, mtSuccess); } void BroadcastChatWarning(const AString & a_Message) { BroadcastChat(a_Message, mtWarning); } @@ -191,8 +205,7 @@ public: // tolua_end -private: - + private: /** States that the global cRoot can be in. You can transition freely between Run and Restart, but the server unconditionally terminates in Stop. */ enum class NextState @@ -215,17 +228,17 @@ private: static cEvent s_StopEvent; - cServer * m_Server; + cServer * m_Server; cMonsterConfig * m_MonsterConfig; cCraftingRecipes * m_CraftingRecipes; std::unique_ptr m_RecipeMapper; - cFurnaceRecipe * m_FurnaceRecipe; + cFurnaceRecipe * m_FurnaceRecipe; std::unique_ptr m_BrewingRecipes; - cWebAdmin * m_WebAdmin; - cPluginManager * m_PluginManager; - cAuthenticator m_Authenticator; - cMojangAPI * m_MojangAPI; + cWebAdmin * m_WebAdmin; + cPluginManager * m_PluginManager; + cAuthenticator m_Authenticator; + cMojangAPI * m_MojangAPI; std::unique_ptr m_RankManager; diff --git a/src/Scoreboard.cpp b/src/Scoreboard.cpp index fad78210e..704c5cfbe 100644 --- a/src/Scoreboard.cpp +++ b/src/Scoreboard.cpp @@ -44,20 +44,19 @@ cObjective::eType cObjective::StringToType(const AString & a_Name) { eType m_Type; const char * m_String; - } TypeMap [] = - { - {otDummy, "dummy" }, - {otDeathCount, "deathCount" }, - {otPlayerKillCount, "playerKillCount" }, - {otTotalKillCount, "totalKillCount" }, - {otHealth, "health" }, - {otAchievement, "achievement" }, - {otStat, "stat" }, - {otStatItemCraft, "stat.craftItem" }, - {otStatItemUse, "stat.useItem" }, - {otStatItemBreak, "stat.breakItem" }, - {otStatBlockMine, "stat.mineBlock" }, - {otStatEntityKill, "stat.killEntity" }, + } TypeMap[] = { + {otDummy, "dummy"}, + {otDeathCount, "deathCount"}, + {otPlayerKillCount, "playerKillCount"}, + {otTotalKillCount, "totalKillCount"}, + {otHealth, "health"}, + {otAchievement, "achievement"}, + {otStat, "stat"}, + {otStatItemCraft, "stat.craftItem"}, + {otStatItemUse, "stat.useItem"}, + {otStatItemBreak, "stat.breakItem"}, + {otStatBlockMine, "stat.mineBlock"}, + {otStatEntityKill, "stat.killEntity"}, {otStatEntityKilledBy, "stat.entityKilledBy"} }; for (size_t i = 0; i < ARRAYCOUNT(TypeMap); i++) @@ -74,11 +73,13 @@ cObjective::eType cObjective::StringToType(const AString & a_Name) -cObjective::cObjective(const AString & a_Name, const AString & a_DisplayName, cObjective::eType a_Type, cWorld * a_World) - : m_DisplayName(a_DisplayName) - , m_Name(a_Name) - , m_Type(a_Type) - , m_World(a_World) +cObjective::cObjective( + const AString & a_Name, + const AString & a_DisplayName, + cObjective::eType a_Type, + cWorld * a_World +) : + m_DisplayName(a_DisplayName), m_Name(a_Name), m_Type(a_Type), m_World(a_World) { } @@ -194,15 +195,17 @@ void cObjective::SendTo(cClientHandle & a_Client) cTeam::cTeam( - const AString & a_Name, const AString & a_DisplayName, - const AString & a_Prefix, const AString & a_Suffix -) - : m_AllowsFriendlyFire(true) - , m_CanSeeFriendlyInvisible(false) - , m_DisplayName(a_DisplayName) - , m_Name(a_Name) - , m_Prefix(a_Prefix) - , m_Suffix(a_Suffix) + const AString & a_Name, + const AString & a_DisplayName, + const AString & a_Prefix, + const AString & a_Suffix +) : + m_AllowsFriendlyFire(true), + m_CanSeeFriendlyInvisible(false), + m_DisplayName(a_DisplayName), + m_Name(a_Name), + m_Prefix(a_Prefix), + m_Suffix(a_Suffix) { } @@ -270,7 +273,8 @@ size_t cTeam::GetNumPlayers(void) const -cScoreboard::cScoreboard(cWorld * a_World) : m_World(a_World) +cScoreboard::cScoreboard(cWorld * a_World) : + m_World(a_World) { for (int i = 0; i < static_cast(dsCount); ++i) { @@ -282,7 +286,11 @@ cScoreboard::cScoreboard(cWorld * a_World) : m_World(a_World) -cObjective * cScoreboard::RegisterObjective(const AString & a_Name, const AString & a_DisplayName, cObjective::eType a_Type) +cObjective * cScoreboard::RegisterObjective( + const AString & a_Name, + const AString & a_DisplayName, + cObjective::eType a_Type +) { cObjective Objective(a_Name, a_DisplayName, a_Type, m_World); @@ -357,8 +365,10 @@ cObjective * cScoreboard::GetObjective(const AString & a_Name) cTeam * cScoreboard::RegisterTeam( - const AString & a_Name, const AString & a_DisplayName, - const AString & a_Prefix, const AString & a_Suffix + const AString & a_Name, + const AString & a_DisplayName, + const AString & a_Prefix, + const AString & a_Suffix ) { auto [TeamIterator, TeamExists] = m_Teams.try_emplace(a_Name, a_Name, a_DisplayName, a_Prefix, a_Suffix); @@ -420,7 +430,7 @@ AStringVector cScoreboard::GetTeamNames() { AStringVector TeamNames; - for (const auto & Team: m_Teams) + for (const auto & Team : m_Teams) { TeamNames.push_back(Team.first); } @@ -602,8 +612,3 @@ size_t cScoreboard::GetNumTeams(void) const { return m_Teams.size(); } - - - - - diff --git a/src/Scoreboard.h b/src/Scoreboard.h index 3127ac15b..0fda063ff 100644 --- a/src/Scoreboard.h +++ b/src/Scoreboard.h @@ -21,7 +21,7 @@ class cTeam; class cWorld; using cObjectiveCallback = cFunctionRef; -using cTeamCallback = cFunctionRef; +using cTeamCallback = cFunctionRef; @@ -30,8 +30,7 @@ using cTeamCallback = cFunctionRef; // tolua_begin class cObjective { -public: - + public: typedef int Score; enum eType @@ -61,15 +60,14 @@ public: static eType StringToType(const AString & a_Name); -public: - + public: cObjective(const AString & a_Name, const AString & a_DisplayName, eType a_Type, cWorld * a_World); // tolua_begin eType GetType(void) const { return m_Type; } - const AString & GetName(void) const { return m_Name; } + const AString & GetName(void) const { return m_Name; } const AString & GetDisplayName(void) const { return m_DisplayName; } /** Resets the objective */ @@ -97,8 +95,7 @@ public: /** Send this objective to the specified client */ void SendTo(cClientHandle & a_Client); -private: - + private: typedef std::pair cTrackedPlayer; typedef std::map cScoreMap; @@ -124,14 +121,10 @@ private: // tolua_begin class cTeam { -public: - + public: // tolua_end - cTeam( - const AString & a_Name, const AString & a_DisplayName, - const AString & a_Prefix, const AString & a_Suffix - ); + cTeam(const AString & a_Name, const AString & a_DisplayName, const AString & a_Prefix, const AString & a_Suffix); // tolua_begin @@ -152,16 +145,16 @@ public: /** Returns the number of registered players */ size_t GetNumPlayers(void) const; - bool AllowsFriendlyFire(void) const { return m_AllowsFriendlyFire; } + bool AllowsFriendlyFire(void) const { return m_AllowsFriendlyFire; } bool CanSeeFriendlyInvisible(void) const { return m_CanSeeFriendlyInvisible; } const AString & GetDisplayName(void) const { return m_DisplayName; } - const AString & GetName(void) const { return m_Name; } + const AString & GetName(void) const { return m_Name; } const AString & GetPrefix(void) const { return m_Prefix; } const AString & GetSuffix(void) const { return m_Suffix; } - void SetFriendlyFire(bool a_Flag) { m_AllowsFriendlyFire = a_Flag; } + void SetFriendlyFire(bool a_Flag) { m_AllowsFriendlyFire = a_Flag; } void SetCanSeeFriendlyInvisible(bool a_Flag) { m_CanSeeFriendlyInvisible = a_Flag; } void SetDisplayName(const AString & a_Name); @@ -171,8 +164,7 @@ public: // tolua_end -private: - + private: typedef std::set cPlayerNameSet; bool m_AllowsFriendlyFire; @@ -198,8 +190,7 @@ private: // tolua_begin class cScoreboard { -public: - + public: enum eDisplaySlot { dsList = 0, @@ -212,8 +203,7 @@ public: // tolua_end -public: - + public: cScoreboard(cWorld * a_World); // tolua_begin @@ -228,7 +218,12 @@ public: cObjective * GetObjective(const AString & a_Name); /** Registers a new team, returns the cTeam instance, nullptr on name collision */ - cTeam * RegisterTeam(const AString & a_Name, const AString & a_DisplayName, const AString & a_Prefix, const AString & a_Suffix); + cTeam * RegisterTeam( + const AString & a_Name, + const AString & a_DisplayName, + const AString & a_Prefix, + const AString & a_Suffix + ); /** Removes a registered team, returns true if operation was successful */ bool RemoveTeam(const AString & a_Name); @@ -271,13 +266,12 @@ public: void SetDisplay(cObjective * a_Objective, eDisplaySlot a_Slot); -private: - + private: typedef std::pair cNamedObjective; - typedef std::pair cNamedTeam; + typedef std::pair cNamedTeam; typedef std::map cObjectiveMap; - typedef std::map cTeamMap; + typedef std::map cTeamMap; // TODO 2014-01-19 xdot: Potential optimization - Sort objectives based on type cCriticalSection m_CSObjectives; @@ -294,7 +288,3 @@ private: }; // tolua_export - - - - diff --git a/src/Server.cpp b/src/Server.cpp index a3953db5a..e234effbc 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -31,13 +31,13 @@ //////////////////////////////////////////////////////////////////////////////// // cServerListenCallbacks: -class cServerListenCallbacks: - public cNetwork::cListenCallbacks +class cServerListenCallbacks : public cNetwork::cListenCallbacks { cServer & m_Server; UInt16 m_Port; - virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) override + virtual cTCPLink::cCallbacksPtr OnIncomingConnection(const AString & a_RemoteIPAddress, UInt16 a_RemotePort) + override { return m_Server.OnConnectionAccepted(a_RemoteIPAddress); } @@ -49,10 +49,9 @@ class cServerListenCallbacks: LOGWARNING("Cannot listen on port %d: %d (%s).", m_Port, a_ErrorCode, a_ErrorMsg.c_str()); } -public: - cServerListenCallbacks(cServer & a_Server, UInt16 a_Port): - m_Server(a_Server), - m_Port(a_Port) + public: + cServerListenCallbacks(cServer & a_Server, UInt16 a_Port) : + m_Server(a_Server), m_Port(a_Port) { } }; @@ -65,8 +64,7 @@ public: // cServer::cTickThread: cServer::cTickThread::cTickThread(cServer & a_Server) : - Super("Server Ticker"), - m_Server(a_Server) + Super("Server Ticker"), m_Server(a_Server) { } @@ -161,7 +159,8 @@ bool cServer::InitServer(cSettingsRepositoryInterface & a_Settings, bool a_Shoul m_ResourcePackUrl = a_Settings.GetValueSet("Server", "ResourcePackUrl", ""); m_CustomRedirectUrl = a_Settings.GetValueSet("Server", "CustomRedirectUrl", "https://youtu.be/dQw4w9WgXcQ"); - m_FaviconData = Base64Encode(cFile::ReadWholeFile(AString("favicon.png"))); // Will return empty string if file nonexistant; client doesn't mind + m_FaviconData = Base64Encode(cFile::ReadWholeFile(AString("favicon.png")) + ); // Will return empty string if file nonexistant; client doesn't mind if (m_bIsConnected) { @@ -199,18 +198,21 @@ bool cServer::InitServer(cSettingsRepositoryInterface & a_Settings, bool a_Shoul if (m_ShouldAllowBungeeCord && m_ShouldAuthenticate) { - LOGWARNING("WARNING: BungeeCord is allowed and server set to online mode. This is unsafe and will not work properly. Disable either authentication or BungeeCord in settings.ini."); + LOGWARNING("WARNING: BungeeCord is allowed and server set to online mode. This is unsafe and will not work " + "properly. Disable either authentication or BungeeCord in settings.ini."); } if (m_ShouldAllowBungeeCord && m_ProxySharedSecret.empty()) { - LOGWARNING("WARNING: There is not a Proxy Forward Secret set up, and any proxy server can forward a player to this server unless closed from the internet."); + LOGWARNING("WARNING: There is not a Proxy Forward Secret set up, and any proxy server can forward a player to " + "this server unless closed from the internet."); } m_ShouldAllowMultiWorldTabCompletion = a_Settings.GetValueSetB("Server", "AllowMultiWorldTabCompletion", true); m_ShouldLimitPlayerBlockChanges = a_Settings.GetValueSetB("AntiCheat", "LimitPlayerBlockChanges", true); - const auto ClientViewDistance = a_Settings.GetValueSetI("Server", "DefaultViewDistance", cClientHandle::DEFAULT_VIEW_DISTANCE); + const auto ClientViewDistance = + a_Settings.GetValueSetI("Server", "DefaultViewDistance", cClientHandle::DEFAULT_VIEW_DISTANCE); if (ClientViewDistance < cClientHandle::MIN_VIEW_DISTANCE) { m_ClientViewDistance = cClientHandle::MIN_VIEW_DISTANCE; @@ -379,7 +381,8 @@ void cServer::TickClients(float a_Dt) Client->ServerTick(a_Dt); if (Client->IsDestroyed()) { - // Delete the client later, when CS is not held, to avoid deadlock: https://forum.cuberite.org/thread-374.html + // Delete the client later, when CS is not held, to avoid deadlock: + // https://forum.cuberite.org/thread-374.html RemoveClients.push_back(std::move(Client)); itr = m_Clients.erase(itr); continue; @@ -399,7 +402,7 @@ void cServer::TickClients(float a_Dt) bool cServer::Start(void) { - for (const auto & port: m_Ports) + for (const auto & port : m_Ports) { UInt16 PortNum; if (!StringToInteger(port, PortNum)) @@ -430,10 +433,7 @@ bool cServer::Command(cClientHandle & a_Client, AString & a_Cmd) { bool Res = cRoot::Get()->DoWithPlayerByUUID( a_Client.GetUUID(), - [&](cPlayer & a_Player) - { - return cRoot::Get()->GetPluginManager()->CallHookChat(a_Player, a_Cmd); - } + [&](cPlayer & a_Player) { return cRoot::Get()->GetPluginManager()->CallHookChat(a_Player, a_Cmd); } ); return Res; } @@ -475,7 +475,8 @@ void cServer::ExecuteConsoleCommand(const AString & a_Cmd, cCommandOutputCallbac return; } - // "stop" and "restart" are handled in cRoot::ExecuteConsoleCommand, our caller, due to its access to controlling variables + // "stop" and "restart" are handled in cRoot::ExecuteConsoleCommand, our caller, due to its access to controlling + // variables // "help" and "reload" are to be handled by Cuberite, so that they work no matter what if (split[0] == "help") @@ -516,8 +517,11 @@ void cServer::ExecuteConsoleCommand(const AString & a_Cmd, cCommandOutputCallbac { if (split.size() > 1) { - cPluginManager::Get()->RefreshPluginList(); // Refresh the plugin list, so that if the plugin was added just now, it is loadable - a_Output.OutLn(cPluginManager::Get()->LoadPlugin(split[1]) ? "Plugin loaded" : "Error occurred loading plugin"); + cPluginManager::Get()->RefreshPluginList( + ); // Refresh the plugin list, so that if the plugin was added just now, it is loadable + a_Output.OutLn( + cPluginManager::Get()->LoadPlugin(split[1]) ? "Plugin loaded" : "Error occurred loading plugin" + ); } else { @@ -542,9 +546,11 @@ void cServer::ExecuteConsoleCommand(const AString & a_Cmd, cCommandOutputCallbac } if (split[0] == "destroyentities") { - cRoot::Get()->ForEachWorld([](cWorld & a_World) + cRoot::Get()->ForEachWorld( + [](cWorld & a_World) { - a_World.ForEachEntity([](cEntity & a_Entity) + a_World.ForEachEntity( + [](cEntity & a_Entity) { if (!a_Entity.IsPlayer()) { @@ -595,16 +601,23 @@ void cServer::PrintHelp(const AStringVector & a_Split, cCommandOutputCallback & typedef std::pair AStringPair; typedef std::vector AStringPairs; - class cCallback : - public cPluginManager::cCommandEnumCallback + class cCallback : public cPluginManager::cCommandEnumCallback { - public: - cCallback(void) : m_MaxLen(0) {} + public: + cCallback(void) : + m_MaxLen(0) + { + } - virtual bool Command(const AString & a_Command, const cPlugin * a_Plugin, const AString & a_Permission, const AString & a_HelpString) override + virtual bool Command( + const AString & a_Command, + const cPlugin * a_Plugin, + const AString & a_Permission, + const AString & a_HelpString + ) override { - UNUSED(a_Plugin); - UNUSED(a_Permission); + UNUSED(a_Plugin); + UNUSED(a_Permission); if (!a_HelpString.empty()) { m_Commands.push_back(AStringPair(a_Command, a_HelpString)); @@ -621,7 +634,8 @@ void cServer::PrintHelp(const AStringVector & a_Split, cCommandOutputCallback & } Callback; cPluginManager::Get()->ForEachConsoleCommand(Callback); std::sort(Callback.m_Commands.begin(), Callback.m_Commands.end()); - for (AStringPairs::const_iterator itr = Callback.m_Commands.begin(), end = Callback.m_Commands.end(); itr != end; ++itr) + for (AStringPairs::const_iterator itr = Callback.m_Commands.begin(), end = Callback.m_Commands.end(); itr != end; + ++itr) { const AStringPair & cmd = *itr; // Output the commands and their help strings, with all the commands aligned to the same width @@ -635,9 +649,9 @@ void cServer::PrintHelp(const AStringVector & a_Split, cCommandOutputCallback & void cServer::BindBuiltInConsoleCommands(void) { - // Create an empty handler - the actual handling for the commands is performed before they are handed off to cPluginManager - class cEmptyHandler: - public cPluginManager::cCommandHandler + // Create an empty handler - the actual handling for the commands is performed before they are handed off to + // cPluginManager + class cEmptyHandler : public cPluginManager::cCommandHandler { virtual bool ExecuteCommand( const AStringVector & a_Split, @@ -653,14 +667,14 @@ void cServer::BindBuiltInConsoleCommands(void) // Register internal commands: cPluginManager * PlgMgr = cPluginManager::Get(); - PlgMgr->BindConsoleCommand("help", nullptr, handler, "Shows the available commands"); - PlgMgr->BindConsoleCommand("reload", nullptr, handler, "Reloads all plugins"); - PlgMgr->BindConsoleCommand("reloadweb", nullptr, handler, "Reloads the webadmin configuration"); - PlgMgr->BindConsoleCommand("restart", nullptr, handler, "Restarts the server cleanly"); - PlgMgr->BindConsoleCommand("stop", nullptr, handler, "Stops the server cleanly"); - PlgMgr->BindConsoleCommand("chunkstats", nullptr, handler, "Displays detailed chunk memory statistics"); - PlgMgr->BindConsoleCommand("load", nullptr, handler, "Adds and enables the specified plugin"); - PlgMgr->BindConsoleCommand("unload", nullptr, handler, "Disables the specified plugin"); + PlgMgr->BindConsoleCommand("help", nullptr, handler, "Shows the available commands"); + PlgMgr->BindConsoleCommand("reload", nullptr, handler, "Reloads all plugins"); + PlgMgr->BindConsoleCommand("reloadweb", nullptr, handler, "Reloads the webadmin configuration"); + PlgMgr->BindConsoleCommand("restart", nullptr, handler, "Restarts the server cleanly"); + PlgMgr->BindConsoleCommand("stop", nullptr, handler, "Stops the server cleanly"); + PlgMgr->BindConsoleCommand("chunkstats", nullptr, handler, "Displays detailed chunk memory statistics"); + PlgMgr->BindConsoleCommand("load", nullptr, handler, "Adds and enables the specified plugin"); + PlgMgr->BindConsoleCommand("unload", nullptr, handler, "Disables the specified plugin"); PlgMgr->BindConsoleCommand("destroyentities", nullptr, handler, "Destroys all entities in all worlds"); } @@ -671,7 +685,7 @@ void cServer::BindBuiltInConsoleCommands(void) void cServer::Shutdown(void) { // Stop listening on all sockets: - for (const auto & srv: m_ServerHandles) + for (const auto & srv : m_ServerHandles) { srv->Close(); } @@ -719,7 +733,12 @@ void cServer::AuthenticateUser(int a_ClientID, AString && a_Username, const cUUI // Check max players condition within lock (expect server and authenticator thread to both call here) if (GetNumPlayers() >= GetMaxPlayers()) { - KickUser(a_ClientID, "The server is currently full :(" "\n" "Try again later?"); + KickUser( + a_ClientID, + "The server is currently full :(" + "\n" + "Try again later?" + ); return; } @@ -771,16 +790,13 @@ void cServer::TickQueuedTasks(void) // Partition everything to be executed by returning false to move to end // of list if time reached auto MoveBeginIterator = std::partition( - m_Tasks.begin(), m_Tasks.end(), - [this](const decltype(m_Tasks)::value_type & a_Task) - { - return a_Task.first >= m_UpTime; - }); + m_Tasks.begin(), + m_Tasks.end(), + [this](const decltype(m_Tasks)::value_type & a_Task) { return a_Task.first >= m_UpTime; } + ); // Cut all the due tasks from m_Tasks into Tasks: - Tasks.insert( - Tasks.end(), std::make_move_iterator(MoveBeginIterator), - std::make_move_iterator(m_Tasks.end())); + Tasks.insert(Tasks.end(), std::make_move_iterator(MoveBeginIterator), std::make_move_iterator(m_Tasks.end())); m_Tasks.erase(MoveBeginIterator, m_Tasks.end()); } diff --git a/src/Server.h b/src/Server.h index 171d68d48..55d720c2c 100644 --- a/src/Server.h +++ b/src/Server.h @@ -14,18 +14,18 @@ #include "OSSupport/Network.h" #ifdef _MSC_VER - #pragma warning(push) - #pragma warning(disable:4127) - #pragma warning(disable:4244) - #pragma warning(disable:4231) - #pragma warning(disable:4189) - #pragma warning(disable:4702) +#pragma warning(push) +#pragma warning(disable : 4127) +#pragma warning(disable : 4244) +#pragma warning(disable : 4231) +#pragma warning(disable : 4189) +#pragma warning(disable : 4702) #endif #include "mbedTLS++/RsaPrivateKey.h" #ifdef _MSC_VER - #pragma warning(pop) +#pragma warning(pop) #endif @@ -44,7 +44,7 @@ class cUUID; namespace Json { - class Value; +class Value; } @@ -54,7 +54,7 @@ namespace Json // tolua_begin class cServer { -public: + public: // tolua_end virtual ~cServer() {} @@ -62,7 +62,7 @@ public: // tolua_begin - const AString & GetDescription(void) const {return m_Description; } + const AString & GetDescription(void) const { return m_Description; } const AString & GetShutdownMessage(void) const { return m_ShutdownMessage; } @@ -165,29 +165,26 @@ public: /** Get the Forge mods (map of ModName -> ModVersionString) registered for a given protocol. */ const AStringMap & GetRegisteredForgeMods(const UInt32 a_Protocol); -private: - + private: friend class cRoot; // so cRoot can create and destroy cServer friend class cServerListenCallbacks; // Accessing OnConnectionAccepted() /** The server tick thread takes care of the players who aren't yet spawned in a world */ - class cTickThread: - public cIsThread + class cTickThread : public cIsThread { using Super = cIsThread; - public: - + public: cTickThread(cServer & a_Server); - protected: + protected: cServer & m_Server; // cIsThread overrides: virtual void Execute(void) override; - } ; + }; @@ -306,7 +303,3 @@ private: }; // tolua_export - - - - diff --git a/src/SettingsRepositoryInterface.h b/src/SettingsRepositoryInterface.h index 5f73c49c8..4547dfe19 100644 --- a/src/SettingsRepositoryInterface.h +++ b/src/SettingsRepositoryInterface.h @@ -3,8 +3,7 @@ class cSettingsRepositoryInterface { -public: - + public: enum errors { noID = -1, @@ -34,25 +33,36 @@ public: /** Adds a new value to the specified key. If a value of the same name already exists, creates another one */ - virtual void AddValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) = 0; + virtual void AddValue(const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) = 0; /** returns a vector containing a name, value pair for each value under the key */ virtual std::vector> GetValues(AString a_keyName) = 0; /** Get the value at the specified key and value, returns defValue on failure */ - virtual AString GetValue (const AString & keyname, const AString & valuename, const AString & defValue = "") const = 0; + virtual AString GetValue(const AString & keyname, const AString & valuename, const AString & defValue = "") + const = 0; /** Gets the value; if not found, write the default to the repository */ - virtual AString GetValueSet (const AString & keyname, const AString & valuename, const AString & defValue = "") = 0; - virtual int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) = 0; - virtual Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) = 0; - virtual bool GetValueSetB(const AString & keyname, const AString & valuename, const bool defValue = false) = 0; + virtual AString GetValueSet(const AString & keyname, const AString & valuename, const AString & defValue = "") = 0; + virtual int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) = 0; + virtual Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) = 0; + virtual bool GetValueSetB(const AString & keyname, const AString & valuename, const bool defValue = false) = 0; /** Overwrites the value of the key, value pair Specify the optional parameter as false if you do not want the value created if it doesn't exist. Returns true if value set, false otherwise. */ - virtual bool SetValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value, const bool a_CreateIfNotExists = true) = 0; - virtual bool SetValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value, const bool a_CreateIfNotExists = true) = 0; + virtual bool SetValue( + const AString & a_KeyName, + const AString & a_ValueName, + const AString & a_Value, + const bool a_CreateIfNotExists = true + ) = 0; + virtual bool SetValueI( + const AString & a_KeyName, + const AString & a_ValueName, + const int a_Value, + const bool a_CreateIfNotExists = true + ) = 0; /** Deletes the specified key, value pair */ virtual bool DeleteValue(const AString & keyname, const AString & valuename) = 0; diff --git a/src/Simulator/DelayedFluidSimulator.cpp b/src/Simulator/DelayedFluidSimulator.cpp index 7e62acd04..0f01064e7 100644 --- a/src/Simulator/DelayedFluidSimulator.cpp +++ b/src/Simulator/DelayedFluidSimulator.cpp @@ -65,7 +65,12 @@ cDelayedFluidSimulatorChunkData::~cDelayedFluidSimulatorChunkData() //////////////////////////////////////////////////////////////////////////////// // cDelayedFluidSimulator: -cDelayedFluidSimulator::cDelayedFluidSimulator(cWorld & a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid, int a_TickDelay) : +cDelayedFluidSimulator::cDelayedFluidSimulator( + cWorld & a_World, + BLOCKTYPE a_Fluid, + BLOCKTYPE a_StationaryFluid, + int a_TickDelay +) : Super(a_World, a_Fluid, a_StationaryFluid), m_TickDelay(a_TickDelay), m_AddSlotNum(a_TickDelay - 1), @@ -94,7 +99,8 @@ void cDelayedFluidSimulator::Simulate(float a_Dt) void cDelayedFluidSimulator::SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) { - auto ChunkDataRaw = (m_FluidBlock == E_BLOCK_WATER) ? a_Chunk->GetWaterSimulatorData() : a_Chunk->GetLavaSimulatorData(); + auto ChunkDataRaw = + (m_FluidBlock == E_BLOCK_WATER) ? a_Chunk->GetWaterSimulatorData() : a_Chunk->GetLavaSimulatorData(); cDelayedFluidSimulatorChunkData * ChunkData = static_cast(ChunkDataRaw); cDelayedFluidSimulatorChunkData::cSlot & Slot = ChunkData->m_Slots[m_SimSlotNum]; @@ -126,7 +132,8 @@ void cDelayedFluidSimulator::AddBlock(cChunk & a_Chunk, Vector3i a_Position, BLO return; } - auto ChunkDataRaw = (m_FluidBlock == E_BLOCK_WATER) ? a_Chunk.GetWaterSimulatorData() : a_Chunk.GetLavaSimulatorData(); + auto ChunkDataRaw = + (m_FluidBlock == E_BLOCK_WATER) ? a_Chunk.GetWaterSimulatorData() : a_Chunk.GetLavaSimulatorData(); cDelayedFluidSimulatorChunkData * ChunkData = static_cast(ChunkDataRaw); cDelayedFluidSimulatorChunkData::cSlot & Slot = ChunkData->m_Slots[m_AddSlotNum]; diff --git a/src/Simulator/DelayedFluidSimulator.h b/src/Simulator/DelayedFluidSimulator.h index 312bc1ff9..01d25ae01 100644 --- a/src/Simulator/DelayedFluidSimulator.h +++ b/src/Simulator/DelayedFluidSimulator.h @@ -15,53 +15,53 @@ -class cDelayedFluidSimulatorChunkData : - public cFluidSimulatorData +class cDelayedFluidSimulatorChunkData : public cFluidSimulatorData { -public: + public: class cSlot { - public: + public: /** Returns true if the specified block is stored */ bool HasBlock(int a_RelX, int a_RelY, int a_RelZ); - /** Adds the specified block unless already present; returns true if added, false if the block was already present */ + /** Adds the specified block unless already present; returns true if added, false if the block was already + * present */ bool Add(int a_RelX, int a_RelY, int a_RelZ); /** Array of block containers, each item stores blocks for one Z coord size_t param is the block index (for faster duplicate comparison in Add()) */ std::vector> m_Blocks[16]; - } ; + }; cDelayedFluidSimulatorChunkData(int a_TickDelay); virtual ~cDelayedFluidSimulatorChunkData() override; /** Slots, one for each delay tick, each containing the blocks to simulate */ cSlot * m_Slots; -} ; +}; -class cDelayedFluidSimulator: - public cFluidSimulator +class cDelayedFluidSimulator : public cFluidSimulator { using Super = cFluidSimulator; -public: - + public: cDelayedFluidSimulator(cWorld & a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid, int a_TickDelay); -protected: - + protected: virtual void Simulate(float a_Dt) override; virtual void SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) override; virtual void AddBlock(cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_Block) override; - virtual cFluidSimulatorData * CreateChunkData(void) override { return new cDelayedFluidSimulatorChunkData(m_TickDelay); } + virtual cFluidSimulatorData * CreateChunkData(void) override + { + return new cDelayedFluidSimulatorChunkData(m_TickDelay); + } - int m_TickDelay; // Count of the m_Slots array in each ChunkData + int m_TickDelay; // Count of the m_Slots array in each ChunkData int m_AddSlotNum; // Index into m_Slots[] where to add new blocks in each ChunkData int m_SimSlotNum; // Index into m_Slots[] where to simulate blocks in each ChunkData @@ -71,10 +71,7 @@ protected: | 0 | 1 | ... | m_AddSlotNum | m_SimSlotNum | ... | m_TickDelay - 1 | | adding blocks here ^ | ^ simulating here */ - /** Called from SimulateChunk() to simulate each block in one slot of blocks. Descendants override this method to provide custom simulation. */ + /** Called from SimulateChunk() to simulate each block in one slot of blocks. Descendants override this method to + * provide custom simulation. */ virtual void SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ) = 0; -} ; - - - - +}; diff --git a/src/Simulator/FireSimulator.cpp b/src/Simulator/FireSimulator.cpp index a025f6afd..ab720e593 100644 --- a/src/Simulator/FireSimulator.cpp +++ b/src/Simulator/FireSimulator.cpp @@ -15,9 +15,9 @@ // Easy switch for turning on debugging logging: #if 0 - #define FIRE_FLOG FLOGD +#define FIRE_FLOG FLOGD #else - #define FIRE_FLOG(...) +#define FIRE_FLOG(...) #endif @@ -36,26 +36,24 @@ -static constexpr Vector3i gCrossCoords[] = -{ - { 1, 0, 0}, - {-1, 0, 0}, - { 0, 0, 1}, - { 0, 0, -1}, -} ; +static constexpr Vector3i gCrossCoords[] = { + {1, 0, 0}, + {-1, 0, 0}, + {0, 0, 1}, + {0, 0, -1}, +}; -static constexpr Vector3i gNeighborCoords[] = -{ - { 1, 0, 0}, - {-1, 0, 0}, - { 0, 1, 0}, - { 0, -1, 0}, - { 0, 0, 1}, - { 0, 0, -1}, +static constexpr Vector3i gNeighborCoords[] = { + {1, 0, 0}, + {-1, 0, 0}, + {0, 1, 0}, + {0, -1, 0}, + {0, 0, 1}, + {0, 0, -1}, }; @@ -69,10 +67,10 @@ cFireSimulator::cFireSimulator(cWorld & a_World, cIniFile & a_IniFile) : cSimulator(a_World) { // Read params from the ini file: - m_BurnStepTimeFuel = static_cast(a_IniFile.GetValueSetI("FireSimulator", "BurnStepTimeFuel", 500)); - m_BurnStepTimeNonfuel = static_cast(a_IniFile.GetValueSetI("FireSimulator", "BurnStepTimeNonfuel", 100)); - m_Flammability = a_IniFile.GetValueSetI("FireSimulator", "Flammability", 50); - m_ReplaceFuelChance = a_IniFile.GetValueSetI("FireSimulator", "ReplaceFuelChance", 50000); + m_BurnStepTimeFuel = static_cast(a_IniFile.GetValueSetI("FireSimulator", "BurnStepTimeFuel", 500)); + m_BurnStepTimeNonfuel = static_cast(a_IniFile.GetValueSetI("FireSimulator", "BurnStepTimeNonfuel", 100)); + m_Flammability = a_IniFile.GetValueSetI("FireSimulator", "Flammability", 50); + m_ReplaceFuelChance = a_IniFile.GetValueSetI("FireSimulator", "ReplaceFuelChance", 50000); } @@ -91,7 +89,8 @@ void cFireSimulator::SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, if (!IsAllowedBlock(blockType)) { - // The block is no longer eligible (not a fire block anymore; a player probably placed a block over the fire) + // The block is no longer eligible (not a fire block anymore; a player probably placed a block over the + // fire) FIRE_FLOG("FS: Removing block {0}", absPos); itr = Data.erase(itr); continue; @@ -100,19 +99,24 @@ void cFireSimulator::SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, auto BurnsForever = ((relPos.y > 0) && DoesBurnForever(a_Chunk->GetBlock(relPos.addedY(-1)))); auto BlockMeta = a_Chunk->GetMeta(relPos); - auto Raining = std::any_of(std::begin(gCrossCoords), std::end(gCrossCoords), [a_Chunk, relPos](Vector3i cc) - { - auto Adjusted = relPos + cc; - const auto Chunk = a_Chunk->GetRelNeighborChunkAdjustCoords(Adjusted); - if ((Chunk != nullptr) && Chunk->IsValid()) + auto Raining = std::any_of( + std::begin(gCrossCoords), + std::end(gCrossCoords), + [a_Chunk, relPos](Vector3i cc) { - return Chunk->IsWeatherWetAt(Adjusted); + auto Adjusted = relPos + cc; + const auto Chunk = a_Chunk->GetRelNeighborChunkAdjustCoords(Adjusted); + if ((Chunk != nullptr) && Chunk->IsValid()) + { + return Chunk->IsWeatherWetAt(Adjusted); + } + return false; } - return false; - }); + ); // Randomly burn out the fire if it is raining: - if (!BurnsForever && Raining && GetRandomProvider().RandBool(CHANCE_BASE_RAIN_EXTINGUISH + (BlockMeta * CHANCE_AGE_M_RAIN_EXTINGUISH))) + if (!BurnsForever && Raining && + GetRandomProvider().RandBool(CHANCE_BASE_RAIN_EXTINGUISH + (BlockMeta * CHANCE_AGE_M_RAIN_EXTINGUISH))) { a_Chunk->SetBlock(relPos, E_BLOCK_AIR, 0); itr = Data.erase(itr); @@ -245,7 +249,7 @@ void cFireSimulator::AddBlock(cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a cFireSimulatorChunkData & ChunkData = a_Chunk.GetFireSimulatorData(); for (cCoordWithIntList::iterator itr = ChunkData.begin(), end = ChunkData.end(); itr != end; ++itr) { - const Vector3i ItrPos{itr->x, itr->y, itr->z}; + const Vector3i ItrPos {itr->x, itr->y, itr->z}; if (ItrPos == a_Position) { // Block already present, check if burn step should decrease @@ -287,9 +291,9 @@ int cFireSimulator::GetBurnStepTime(cChunk * a_Chunk, Vector3i a_RelPos) IsBlockBelowSolid = cBlockInfo::IsSolid(BlockBelow); } - for (const auto & cross: gCrossCoords) + for (const auto & cross : gCrossCoords) { - BLOCKTYPE BlockType; + BLOCKTYPE BlockType; NIBBLETYPE BlockMeta; if (a_Chunk->UnboundedRelGetBlock(a_RelPos + cross, BlockType, BlockMeta)) { @@ -338,7 +342,7 @@ void cFireSimulator::TrySpreadFire(cChunk * a_Chunk, Vector3i a_RelPos) } // Start the fire in the neighbor a_RelPos + {x, y, z} - auto dstRelPos = a_RelPos + Vector3i{x, y, z}; + auto dstRelPos = a_RelPos + Vector3i {x, y, z}; if (CanStartFireInBlock(a_Chunk, dstRelPos)) { auto dstAbsPos = a_Chunk->RelativeToAbsolute(dstRelPos); @@ -410,7 +414,7 @@ void cFireSimulator::RemoveFuelNeighbors(cChunk * a_Chunk, Vector3i a_RelPos) bool cFireSimulator::CanStartFireInBlock(cChunk * a_NearChunk, Vector3i a_RelPos) { - BLOCKTYPE BlockType; + BLOCKTYPE BlockType; NIBBLETYPE BlockMeta; if (!a_NearChunk->UnboundedRelGetBlock(a_RelPos, BlockType, BlockMeta)) { @@ -424,7 +428,7 @@ bool cFireSimulator::CanStartFireInBlock(cChunk * a_NearChunk, Vector3i a_RelPos return false; } - for (const auto & neighbor: gNeighborCoords) + for (const auto & neighbor : gNeighborCoords) { if (!a_NearChunk->UnboundedRelGetBlock(a_RelPos + neighbor, BlockType, BlockMeta)) { diff --git a/src/Simulator/FireSimulator.h b/src/Simulator/FireSimulator.h index 37ae3e63f..9f9f78271 100644 --- a/src/Simulator/FireSimulator.h +++ b/src/Simulator/FireSimulator.h @@ -15,18 +15,15 @@ The data value associated with each coord is used as the number of msec that the it progresses to the next step (blockmeta++). This value is updated if a neighbor is changed. The simulator reads its parameters from the ini file given to the constructor. */ -class cFireSimulator : - public cSimulator +class cFireSimulator : public cSimulator { -public: - + public: cFireSimulator(cWorld & a_World, cIniFile & a_IniFile); - static bool IsFuel (BLOCKTYPE a_BlockType); + static bool IsFuel(BLOCKTYPE a_BlockType); static bool DoesBurnForever(BLOCKTYPE a_BlockType); -private: - + private: virtual void SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) override; static bool IsAllowedBlock(BLOCKTYPE a_BlockType); @@ -59,11 +56,12 @@ private: Note that a_NearChunk may be a chunk neighbor to the block specified! The coords are relative to a_NearChunk but not necessarily in it. */ bool CanStartFireInBlock(cChunk * a_NearChunk, Vector3i a_RelPos); -} ; +}; -/** Stores individual fire blocks in the chunk; the int data is used as the time [msec] the fire takes to step to another stage (blockmeta++) */ +/** Stores individual fire blocks in the chunk; the int data is used as the time [msec] the fire takes to step to + * another stage (blockmeta++) */ typedef cCoordWithIntList cFireSimulatorChunkData; diff --git a/src/Simulator/FloodyFluidSimulator.cpp b/src/Simulator/FloodyFluidSimulator.cpp index 428c0dbc1..ff0d43524 100644 --- a/src/Simulator/FloodyFluidSimulator.cpp +++ b/src/Simulator/FloodyFluidSimulator.cpp @@ -21,9 +21,9 @@ // Enable or disable detailed logging #if 0 - #define FLUID_FLOG FLOGD +#define FLUID_FLOG FLOGD #else - #define FLUID_FLOG(...) +#define FLUID_FLOG(...) #endif @@ -50,13 +50,15 @@ cFloodyFluidSimulator::cFloodyFluidSimulator( void cFloodyFluidSimulator::SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ) { - FLUID_FLOG("Simulating block {0}: block {1}, meta {2}", + FLUID_FLOG( + "Simulating block {0}: block {1}, meta {2}", a_Chunk->PositionToWorldPosition(a_RelX, a_RelY, a_RelZ), a_Chunk->GetBlock(a_RelX, a_RelY, a_RelZ), a_Chunk->GetMeta(a_RelX, a_RelY, a_RelZ) ); - BLOCKTYPE MyBlock; NIBBLETYPE MyMeta; + BLOCKTYPE MyBlock; + NIBBLETYPE MyMeta; a_Chunk->GetBlockTypeMeta(a_RelX, a_RelY, a_RelZ, MyBlock, MyMeta); if (!IsAnyFluidBlock(MyBlock)) @@ -111,12 +113,10 @@ void cFloodyFluidSimulator::SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_Re } // If source creation is on, check for it here: - if ( - (m_NumNeighborsForSource > 0) && // Source creation is on - (MyMeta == m_Falloff) && // Only exactly one block away from a source (fast bail-out) - ( - !IsPassableForFluid(Below) || // Only exactly 1 block deep - (Below == m_StationaryFluidBlock) // Or a source block underneath + if ((m_NumNeighborsForSource > 0) && // Source creation is on + (MyMeta == m_Falloff) && // Only exactly one block away from a source (fast bail-out) + (!IsPassableForFluid(Below) || // Only exactly 1 block deep + (Below == m_StationaryFluidBlock) // Or a source block underneath ) && CheckNeighborsForSource(a_Chunk, a_RelX, a_RelY, a_RelZ) // Did we create a source? ) @@ -137,10 +137,10 @@ void cFloodyFluidSimulator::SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_Re void cFloodyFluidSimulator::SpreadXZ(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta) { - SpreadToNeighbor(a_Chunk, a_RelX - 1, a_RelY, a_RelZ, a_NewMeta); - SpreadToNeighbor(a_Chunk, a_RelX + 1, a_RelY, a_RelZ, a_NewMeta); - SpreadToNeighbor(a_Chunk, a_RelX, a_RelY, a_RelZ - 1, a_NewMeta); - SpreadToNeighbor(a_Chunk, a_RelX, a_RelY, a_RelZ + 1, a_NewMeta); + SpreadToNeighbor(a_Chunk, a_RelX - 1, a_RelY, a_RelZ, a_NewMeta); + SpreadToNeighbor(a_Chunk, a_RelX + 1, a_RelY, a_RelZ, a_NewMeta); + SpreadToNeighbor(a_Chunk, a_RelX, a_RelY, a_RelZ - 1, a_NewMeta); + SpreadToNeighbor(a_Chunk, a_RelX, a_RelY, a_RelZ + 1, a_NewMeta); } @@ -165,25 +165,27 @@ bool cFloodyFluidSimulator::CheckTributaries(cChunk * a_Chunk, int a_RelX, int a { BLOCKTYPE BlockType; NIBBLETYPE BlockMeta; - static const Vector3i Coords[] = - { - Vector3i( 1, 0, 0), - Vector3i(-1, 0, 0), - Vector3i( 0, 0, 1), - Vector3i( 0, 0, -1), - } ; + static const Vector3i Coords[] = { + Vector3i(1, 0, 0), + Vector3i(-1, 0, 0), + Vector3i(0, 0, 1), + Vector3i(0, 0, -1), + }; for (size_t i = 0; i < ARRAYCOUNT(Coords); i++) { - if (!a_Chunk->UnboundedRelGetBlock(a_RelX + Coords[i].x, a_RelY, a_RelZ + Coords[i].z, BlockType, BlockMeta)) + if (!a_Chunk + ->UnboundedRelGetBlock(a_RelX + Coords[i].x, a_RelY, a_RelZ + Coords[i].z, BlockType, BlockMeta)) { continue; } if (IsAllowedBlock(BlockType) && IsHigherMeta(BlockMeta, a_MyMeta)) { // This block is fed, no more processing needed - FLUID_FLOG(" Fed from {0}, type {1}, meta {2}", - a_Chunk->PositionToWorldPosition(a_RelX+ Coords[i].x, a_RelY, a_RelZ + Coords[i].z), - BlockType, BlockMeta + FLUID_FLOG( + " Fed from {0}, type {1}, meta {2}", + a_Chunk->PositionToWorldPosition(a_RelX + Coords[i].x, a_RelY, a_RelZ + Coords[i].z), + BlockType, + BlockMeta ); return false; } @@ -217,7 +219,13 @@ bool cFloodyFluidSimulator::CheckTributaries(cChunk * a_Chunk, int a_RelX, int a -void cFloodyFluidSimulator::SpreadToNeighbor(cChunk * a_NearChunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta) +void cFloodyFluidSimulator::SpreadToNeighbor( + cChunk * a_NearChunk, + int a_RelX, + int a_RelY, + int a_RelZ, + NIBBLETYPE a_NewMeta +) { ASSERT(a_NewMeta <= 8); // Invalid meta values ASSERT(a_NewMeta > 0); // Source blocks aren't spread @@ -251,17 +259,14 @@ void cFloodyFluidSimulator::SpreadToNeighbor(cChunk * a_NearChunk, int a_RelX, i { // Lava flowing into water, change to stone / cobblestone based on direction: BLOCKTYPE NewBlock = (a_NewMeta == 8) ? E_BLOCK_STONE : E_BLOCK_COBBLESTONE; - FLUID_FLOG(" Lava flowing into water, turning water at rel {0} into {1}", - relPos, ItemTypeToString(NewBlock) + FLUID_FLOG( + " Lava flowing into water, turning water at rel {0} into {1}", + relPos, + ItemTypeToString(NewBlock) ); a_NearChunk->SetBlock(relPos, NewBlock, 0); - m_World.BroadcastSoundEffect( - "block.lava.extinguish", - absPos, - 0.5f, - 1.5f - ); + m_World.BroadcastSoundEffect("block.lava.extinguish", absPos, 0.5f, 1.5f); return; } } @@ -271,17 +276,14 @@ void cFloodyFluidSimulator::SpreadToNeighbor(cChunk * a_NearChunk, int a_RelX, i { // Water flowing into lava, change to cobblestone / obsidian based on dest block: BLOCKTYPE NewBlock = (BlockMeta == 0) ? E_BLOCK_OBSIDIAN : E_BLOCK_COBBLESTONE; - FLUID_FLOG(" Water flowing into lava, turning lava at rel {0} into {1}", - relPos, ItemTypeToString(NewBlock) + FLUID_FLOG( + " Water flowing into lava, turning lava at rel {0} into {1}", + relPos, + ItemTypeToString(NewBlock) ); a_NearChunk->SetBlock(relPos, NewBlock, 0); - m_World.BroadcastSoundEffect( - "block.lava.extinguish", - absPos, - 0.5f, - 1.5f - ); + m_World.BroadcastSoundEffect("block.lava.extinguish", absPos, 0.5f, 1.5f); return; } } @@ -318,13 +320,12 @@ bool cFloodyFluidSimulator::CheckNeighborsForSource(cChunk * a_Chunk, int a_RelX { FLUID_FLOG(" Checking neighbors for source creation"); - static const Vector3i NeighborCoords[] = - { - Vector3i(-1, 0, 0), - Vector3i( 1, 0, 0), - Vector3i( 0, 0, -1), - Vector3i( 0, 0, 1), - } ; + static const Vector3i NeighborCoords[] = { + Vector3i(-1, 0, 0), + Vector3i(1, 0, 0), + Vector3i(0, 0, -1), + Vector3i(0, 0, 1), + }; int NumNeeded = m_NumNeighborsForSource; for (size_t i = 0; i < ARRAYCOUNT(NeighborCoords); i++) @@ -375,14 +376,13 @@ bool cFloodyFluidSimulator::HardenBlock(cChunk * a_Chunk, Vector3i a_RelPos, BLO BLOCKTYPE BlockType; NIBBLETYPE BlockMeta; - static const Vector3i neighborOffsets[] = - { - Vector3i( 1, 0, 0), - Vector3i(-1, 0, 0), - Vector3i( 0, 0, 1), - Vector3i( 0, 0, -1), + static const Vector3i neighborOffsets[] = { + Vector3i(1, 0, 0), + Vector3i(-1, 0, 0), + Vector3i(0, 0, 1), + Vector3i(0, 0, -1), }; - for (const auto & ofs: neighborOffsets) + for (const auto & ofs : neighborOffsets) { if (!a_Chunk->UnboundedRelGetBlock(a_RelPos + ofs, BlockType, BlockMeta)) { @@ -412,6 +412,3 @@ bool cFloodyFluidSimulator::HardenBlock(cChunk * a_Chunk, Vector3i a_RelPos, BLO return false; } - - - diff --git a/src/Simulator/FloodyFluidSimulator.h b/src/Simulator/FloodyFluidSimulator.h index 6923bb637..e402a23e4 100644 --- a/src/Simulator/FloodyFluidSimulator.h +++ b/src/Simulator/FloodyFluidSimulator.h @@ -16,19 +16,23 @@ -class cFloodyFluidSimulator: - public cDelayedFluidSimulator +class cFloodyFluidSimulator : public cDelayedFluidSimulator { using Super = cDelayedFluidSimulator; -public: - - cFloodyFluidSimulator(cWorld & a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid, NIBBLETYPE a_Falloff, int a_TickDelay, int a_NumNeighborsForSource); - -protected: - + public: + cFloodyFluidSimulator( + cWorld & a_World, + BLOCKTYPE a_Fluid, + BLOCKTYPE a_StationaryFluid, + NIBBLETYPE a_Falloff, + int a_TickDelay, + int a_NumNeighborsForSource + ); + + protected: NIBBLETYPE m_Falloff; - int m_NumNeighborsForSource; + int m_NumNeighborsForSource; // cDelayedFluidSimulator overrides: virtual void SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ) override; @@ -39,19 +43,16 @@ protected: /** Spreads into the specified block, if the blocktype there allows. a_Area is for checking. */ void SpreadToNeighbor(cChunk * a_NearChunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta); - /** Checks if there are enough neighbors to create a source at the coords specified; turns into source and returns true if so. */ + /** Checks if there are enough neighbors to create a source at the coords specified; turns into source and returns + * true if so. */ bool CheckNeighborsForSource(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ); - /** Checks if the specified block should harden (Water / Lava interaction) and if so, converts it to a suitable block. - Returns whether the block was changed or not. */ + /** Checks if the specified block should harden (Water / Lava interaction) and if so, converts it to a suitable + block. Returns whether the block was changed or not. */ bool HardenBlock(cChunk * a_Chunk, Vector3i a_RelPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta); /** Spread fluid to XZ neighbors. The coords are of the block currently being processed; a_NewMeta is the new meta for the new fluid block. Descendants may overridde to provide more sophisticated algorithms. */ virtual void SpreadXZ(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta); -} ; - - - - +}; diff --git a/src/Simulator/FluidSimulator.cpp b/src/Simulator/FluidSimulator.cpp index 3771b0804..47dbe744b 100644 --- a/src/Simulator/FluidSimulator.cpp +++ b/src/Simulator/FluidSimulator.cpp @@ -8,9 +8,7 @@ cFluidSimulator::cFluidSimulator(cWorld & a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid) : - Super(a_World), - m_FluidBlock(a_Fluid), - m_StationaryFluidBlock(a_StationaryFluid) + Super(a_World), m_FluidBlock(a_Fluid), m_StationaryFluidBlock(a_StationaryFluid) { } @@ -87,9 +85,7 @@ bool cFluidSimulator::IsSolidBlock(BLOCKTYPE a_BlockType) bool cFluidSimulator::IsPassableForFluid(BLOCKTYPE a_BlockType) { return ( - (a_BlockType == E_BLOCK_AIR) || - (a_BlockType == E_BLOCK_FIRE) || - IsAllowedBlock(a_BlockType) || + (a_BlockType == E_BLOCK_AIR) || (a_BlockType == E_BLOCK_FIRE) || IsAllowedBlock(a_BlockType) || CanWashAway(a_BlockType) ); } @@ -143,25 +139,17 @@ Vector3f cFluidSimulator::GetFlowingDirection(Vector3i a_Pos) } const auto HeightFromMeta = [](NIBBLETYPE a_BlockMeta) -> NIBBLETYPE - { - // Falling water blocks are always full height (0) - return ((a_BlockMeta & 0x08) != 0) ? 0 : a_BlockMeta; - }; + { + // Falling water blocks are always full height (0) + return ((a_BlockMeta & 0x08) != 0) ? 0 : a_BlockMeta; + }; auto BlockMeta = m_World.GetBlockMeta(a_Pos); NIBBLETYPE CentralPoint = HeightFromMeta(BlockMeta); NIBBLETYPE LevelPoint[4]; // blocks around the checking pos - std::array Offsets - { - { - { 1, 0, 0 }, - { 0, 0, 1 }, - { 1, 0, 0 }, - { 0, 0, 1 } - } - }; + std::array Offsets {{{1, 0, 0}, {0, 0, 1}, {1, 0, 0}, {0, 0, 1}}}; for (size_t i = 0; i < Offsets.size(); i++) { @@ -189,4 +177,3 @@ Vector3f cFluidSimulator::GetFlowingDirection(Vector3i a_Pos) return Direction; } - diff --git a/src/Simulator/FluidSimulator.h b/src/Simulator/FluidSimulator.h index 3aa6deb8a..6d6e87ea1 100644 --- a/src/Simulator/FluidSimulator.h +++ b/src/Simulator/FluidSimulator.h @@ -26,7 +26,7 @@ enum Direction Needed so that cChunk can properly delete instances of fluid simulator data, no matter what simulator it's using. */ class cFluidSimulatorData { -public: + public: virtual ~cFluidSimulatorData() {} }; @@ -34,13 +34,11 @@ public: -class cFluidSimulator: - public cSimulator +class cFluidSimulator : public cSimulator { using Super = cSimulator; -public: - + public: cFluidSimulator(cWorld & a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid); /** Returns a unit vector in the direction the fluid is flowing or a zero-vector if not flowing. */ @@ -49,27 +47,24 @@ public: /** Creates a ChunkData object for the simulator to use. The simulator returns the correct object type. */ virtual cFluidSimulatorData * CreateChunkData(void) = 0; - bool IsFluidBlock (BLOCKTYPE a_BlockType) const { return (a_BlockType == m_FluidBlock); } + bool IsFluidBlock(BLOCKTYPE a_BlockType) const { return (a_BlockType == m_FluidBlock); } bool IsStationaryFluidBlock(BLOCKTYPE a_BlockType) const { return (a_BlockType == m_StationaryFluidBlock); } - bool IsAnyFluidBlock (BLOCKTYPE a_BlockType) const { return ((a_BlockType == m_FluidBlock) || (a_BlockType == m_StationaryFluidBlock)); } + bool IsAnyFluidBlock(BLOCKTYPE a_BlockType) const + { + return ((a_BlockType == m_FluidBlock) || (a_BlockType == m_StationaryFluidBlock)); + } static bool CanWashAway(BLOCKTYPE a_BlockType); - bool IsSolidBlock (BLOCKTYPE a_BlockType); + bool IsSolidBlock(BLOCKTYPE a_BlockType); bool IsPassableForFluid(BLOCKTYPE a_BlockType); /** Returns true if a_Meta1 is a higher fluid than a_Meta2. Takes source blocks into account. */ bool IsHigherMeta(NIBBLETYPE a_Meta1, NIBBLETYPE a_Meta2); -protected: - + protected: bool IsAllowedBlock(BLOCKTYPE a_BlockType); - BLOCKTYPE m_FluidBlock; // The fluid block type that needs simulating + BLOCKTYPE m_FluidBlock; // The fluid block type that needs simulating BLOCKTYPE m_StationaryFluidBlock; // The fluid block type that indicates no simulation is needed }; - - - - - diff --git a/src/Simulator/IncrementalRedstoneSimulator/CommandBlockHandler.h b/src/Simulator/IncrementalRedstoneSimulator/CommandBlockHandler.h index 50ea6dcb6..4966d6859 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/CommandBlockHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/CommandBlockHandler.h @@ -9,42 +9,65 @@ namespace CommandBlockHandler { - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); - return 0; - } +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); + return 0; +} - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating commander the cmdblck (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating commander the cmdblck (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - const auto Previous = DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, Power); - if ((Previous != 0) || (Power == 0)) - { - // If we're already powered or received an update of no power, don't activate - return; - } + const auto Previous = DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, Power); + if ((Previous != 0) || (Power == 0)) + { + // If we're already powered or received an update of no power, don't activate + return; + } - a_Chunk.DoWithBlockEntityAt(a_Position, [](cBlockEntity & a_BlockEntity) + a_Chunk.DoWithBlockEntityAt( + a_Position, + [](cBlockEntity & a_BlockEntity) { ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_COMMAND_BLOCK); static_cast(a_BlockEntity).Activate(); return false; - }); - } + } + ); +} - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_Meta); - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); - } -}; +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_Meta); + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); +} +}; // namespace CommandBlockHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/DaylightSensorHandler.h b/src/Simulator/IncrementalRedstoneSimulator/DaylightSensorHandler.h index 75e6651da..a520960dc 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/DaylightSensorHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/DaylightSensorHandler.h @@ -9,55 +9,75 @@ namespace DaylightSensorHandler { - static PowerLevel GetPowerLevel(const cChunk & a_Chunk, const Vector3i a_Position) +static PowerLevel GetPowerLevel(const cChunk & a_Chunk, const Vector3i a_Position) +{ + if (a_Chunk.GetBlock(a_Position) == E_BLOCK_INVERTED_DAYLIGHT_SENSOR) { - if (a_Chunk.GetBlock(a_Position) == E_BLOCK_INVERTED_DAYLIGHT_SENSOR) - { - // Inverted sensor directly returns darkened skylight, no fancy tricks: - return 15 - a_Chunk.GetSkyLightAltered(a_Position); - } - - // The [0, 1) proportion of the current day that has elapsed. - const auto ProportionOfDay = a_Chunk.GetWorld()->GetTimeOfDay().count() * (static_cast(M_PI) / 12000.f); - - // The curved value of darkened skylight, with outputs somewhat similar to Vanilla. - const auto RawOutput = a_Chunk.GetSkyLightAltered(a_Position) * (0.6f * std::sin(ProportionOfDay) + 0.5f); - - // Saturate the amplified sine curve at 0 and 15: - return static_cast(std::clamp(RawOutput, 0.f, 15.f)); + // Inverted sensor directly returns darkened skylight, no fancy tricks: + return 15 - a_Chunk.GetSkyLightAltered(a_Position); } - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); + // The [0, 1) proportion of the current day that has elapsed. + const auto ProportionOfDay = a_Chunk.GetWorld()->GetTimeOfDay().count() * (static_cast(M_PI) / 12000.f); - // Daylight sensors only output to immediately surrounding blocks: - return IsLinked ? 0 : a_Chunk.GetMeta(a_Position); - } + // The curved value of darkened skylight, with outputs somewhat similar to Vanilla. + const auto RawOutput = a_Chunk.GetSkyLightAltered(a_Position) * (0.6f * std::sin(ProportionOfDay) + 0.5f); - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating Darryl the daylight sensor (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); + // Saturate the amplified sine curve at 0 and 15: + return static_cast(std::clamp(RawOutput, 0.f, 15.f)); +} - // What the sensor should output according to the time-power function. - const auto PowerLevel = GetPowerLevel(a_Chunk, a_Position); +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + + // Daylight sensors only output to immediately surrounding blocks: + return IsLinked ? 0 : a_Chunk.GetMeta(a_Position); +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating Darryl the daylight sensor (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - // Only update the output if the power level has changed: - if (PowerLevel != a_Meta) - { - a_Chunk.SetMeta(a_Position, PowerLevel); - UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); - } - } + // What the sensor should output according to the time-power function. + const auto PowerLevel = GetPowerLevel(a_Chunk, a_Position); - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + // Only update the output if the power level has changed: + if (PowerLevel != a_Meta) { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_Meta); - UNUSED(Callback); + a_Chunk.SetMeta(a_Position, PowerLevel); + UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); } -}; +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_Meta); + UNUSED(Callback); +} +}; // namespace DaylightSensorHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/DoorHandler.h b/src/Simulator/IncrementalRedstoneSimulator/DoorHandler.h index cb772bb5b..9e3a2b6d4 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/DoorHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/DoorHandler.h @@ -9,90 +9,110 @@ namespace DoorHandler { - // "Doormammu, I've come to bargain" +// "Doormammu, I've come to bargain" + +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); + return 0; +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_Meta); + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); +} + +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + PowerLevel Power +) +{ + // LOGD("Evaluating dori the door (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); - return 0; - } + NIBBLETYPE TopMeta; + const bool IsTop = (a_Meta & 0x8) == 0x8; + const auto TopPosition = IsTop ? a_Position : a_Position.addedY(1); - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + // Figure out the metadata of the top half, which stores the previous redstone power state: + if (IsTop) { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_Meta); - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); + TopMeta = a_Meta; } - - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PowerLevel Power) + else { - // LOGD("Evaluating dori the door (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - - NIBBLETYPE TopMeta; - const bool IsTop = (a_Meta & 0x8) == 0x8; - const auto TopPosition = IsTop ? a_Position : a_Position.addedY(1); - - // Figure out the metadata of the top half, which stores the previous redstone power state: - if (IsTop) + if (TopPosition.y == cChunkDef::Height) { - TopMeta = a_Meta; + return; } - else + + BLOCKTYPE AboveType; + a_Chunk.GetBlockTypeMeta(TopPosition, AboveType, TopMeta); + if (!cBlockDoorHandler::IsDoorBlockType(AboveType)) { - if (TopPosition.y == cChunkDef::Height) - { - return; - } - - BLOCKTYPE AboveType; - a_Chunk.GetBlockTypeMeta(TopPosition, AboveType, TopMeta); - if (!cBlockDoorHandler::IsDoorBlockType(AboveType)) - { - return; - } + return; } + } - const auto OppositeHalfPosition = a_Position + (IsTop ? OffsetYM : OffsetYP); - ForEachSourceCallback Callback(a_Chunk, OppositeHalfPosition, a_BlockType); - ForValidSourcePositions(a_Chunk, OppositeHalfPosition, a_BlockType, a_Meta, Callback); + const auto OppositeHalfPosition = a_Position + (IsTop ? OffsetYM : OffsetYP); + ForEachSourceCallback Callback(a_Chunk, OppositeHalfPosition, a_BlockType); + ForValidSourcePositions(a_Chunk, OppositeHalfPosition, a_BlockType, a_Meta, Callback); - // Factor in what the other half is getting: - Power = std::max(Power, Callback.Power); + // Factor in what the other half is getting: + Power = std::max(Power, Callback.Power); - const bool ShouldBeOpen = Power != 0; - const bool PreviouslyPowered = (TopMeta & 0x2) == 0x2; + const bool ShouldBeOpen = Power != 0; + const bool PreviouslyPowered = (TopMeta & 0x2) == 0x2; - // Allow players to override redstone control - // don't update if redstone power hasn't changed since we last saw it: - if (ShouldBeOpen == PreviouslyPowered) - { - return; - } + // Allow players to override redstone control + // don't update if redstone power hasn't changed since we last saw it: + if (ShouldBeOpen == PreviouslyPowered) + { + return; + } - // Update the previous redstone power: - if (ShouldBeOpen) - { - a_Chunk.SetMeta(TopPosition, TopMeta | 0x2); - } - else - { - a_Chunk.SetMeta(TopPosition, TopMeta & ~0x2); - } + // Update the previous redstone power: + if (ShouldBeOpen) + { + a_Chunk.SetMeta(TopPosition, TopMeta | 0x2); + } + else + { + a_Chunk.SetMeta(TopPosition, TopMeta & ~0x2); + } - cChunkInterface ChunkInterface(a_Chunk.GetWorld()->GetChunkMap()); - const auto AbsolutePosition = cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()); + cChunkInterface ChunkInterface(a_Chunk.GetWorld()->GetChunkMap()); + const auto AbsolutePosition = cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()); - // Toggle the door, if it needs to be changed: - if (ShouldBeOpen != cBlockDoorHandler::IsOpen(ChunkInterface, AbsolutePosition)) - { - cBlockDoorHandler::SetOpen(ChunkInterface, AbsolutePosition, ShouldBeOpen); - a_Chunk.GetWorld()->BroadcastSoundParticleEffect(EffectID::SFX_RANDOM_WOODEN_DOOR_OPEN, AbsolutePosition, 0); - } + // Toggle the door, if it needs to be changed: + if (ShouldBeOpen != cBlockDoorHandler::IsOpen(ChunkInterface, AbsolutePosition)) + { + cBlockDoorHandler::SetOpen(ChunkInterface, AbsolutePosition, ShouldBeOpen); + a_Chunk.GetWorld()->BroadcastSoundParticleEffect(EffectID::SFX_RANDOM_WOODEN_DOOR_OPEN, AbsolutePosition, 0); } -}; +} +}; // namespace DoorHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h b/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h index 5f92c3868..ba2589fac 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h @@ -9,69 +9,95 @@ namespace DropSpenserHandler { - static bool IsActivated(NIBBLETYPE a_Meta) - { - return (a_Meta & E_META_DROPSPENSER_ACTIVATED) != 0; - } +static bool IsActivated(NIBBLETYPE a_Meta) +{ + return (a_Meta & E_META_DROPSPENSER_ACTIVATED) != 0; +} - static NIBBLETYPE SetActivationState(NIBBLETYPE a_Meta, bool IsOn) +static NIBBLETYPE SetActivationState(NIBBLETYPE a_Meta, bool IsOn) +{ + if (IsOn) { - if (IsOn) - { - return a_Meta | E_META_DROPSPENSER_ACTIVATED; // set the bit - } - else - { - return a_Meta & ~E_META_DROPSPENSER_ACTIVATED; // clear the bit - } + return a_Meta | E_META_DROPSPENSER_ACTIVATED; // set the bit } - - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) + else { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); - return 0; + return a_Meta & ~E_META_DROPSPENSER_ACTIVATED; // clear the bit } +} + +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); + return 0; +} + +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating spencer the dropspenser (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating spencer the dropspenser (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - - const bool IsPoweredNow = (Power > 0); - const bool WasPoweredPreviously = IsActivated(a_Meta); + const bool IsPoweredNow = (Power > 0); + const bool WasPoweredPreviously = IsActivated(a_Meta); - if (IsPoweredNow && !WasPoweredPreviously) - { - a_Chunk.DoWithBlockEntityAt(a_Position, [](cBlockEntity & a_BlockEntity) + if (IsPoweredNow && !WasPoweredPreviously) + { + a_Chunk.DoWithBlockEntityAt( + a_Position, + [](cBlockEntity & a_BlockEntity) { - ASSERT((a_BlockEntity.GetBlockType() == E_BLOCK_DISPENSER) || (a_BlockEntity.GetBlockType() == E_BLOCK_DROPPER)); + ASSERT( + (a_BlockEntity.GetBlockType() == E_BLOCK_DISPENSER) || + (a_BlockEntity.GetBlockType() == E_BLOCK_DROPPER) + ); static_cast(a_BlockEntity).Activate(); return false; - }); - } - - // Update the internal dropspenser state if necessary - if (IsPoweredNow != WasPoweredPreviously) - { - a_Chunk.SetMeta(a_Position, SetActivationState(a_Meta, IsPoweredNow)); - } + } + ); } - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + // Update the internal dropspenser state if necessary + if (IsPoweredNow != WasPoweredPreviously) { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_Meta); + a_Chunk.SetMeta(a_Position, SetActivationState(a_Meta, IsPoweredNow)); + } +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_Meta); - // Consider indirect power: - Callback.CheckIndirectPower(); + // Consider indirect power: + Callback.CheckIndirectPower(); - // Consider normal adjacents: - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); - } -}; + // Consider normal adjacents: + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); +} +}; // namespace DropSpenserHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/ForEachSourceCallback.cpp b/src/Simulator/IncrementalRedstoneSimulator/ForEachSourceCallback.cpp index 9c7560a6c..3b0df14e7 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/ForEachSourceCallback.cpp +++ b/src/Simulator/IncrementalRedstoneSimulator/ForEachSourceCallback.cpp @@ -12,11 +12,12 @@ -ForEachSourceCallback::ForEachSourceCallback(const cChunk & Chunk, const Vector3i Position, const BLOCKTYPE CurrentBlock) : - Power(0), - m_Chunk(Chunk), - m_Position(Position), - m_CurrentBlock(CurrentBlock) +ForEachSourceCallback::ForEachSourceCallback( + const cChunk & Chunk, + const Vector3i Position, + const BLOCKTYPE CurrentBlock +) : + Power(0), m_Chunk(Chunk), m_Position(Position), m_CurrentBlock(CurrentBlock) { } @@ -38,19 +39,27 @@ void ForEachSourceCallback::operator()(Vector3i Location) } const auto PotentialSourceBlock = NeighbourChunk->GetBlock(Location); - const auto NeighbourRelativeQueryPosition = cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(m_Chunk, *NeighbourChunk, m_Position); + const auto NeighbourRelativeQueryPosition = + cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(m_Chunk, *NeighbourChunk, m_Position); if (!cBlockInfo::IsTransparent(PotentialSourceBlock)) { - Power = std::max(Power, QueryLinkedPower(*NeighbourChunk, NeighbourRelativeQueryPosition, m_CurrentBlock, Location)); + Power = std::max( + Power, + QueryLinkedPower(*NeighbourChunk, NeighbourRelativeQueryPosition, m_CurrentBlock, Location) + ); } else { Power = std::max( Power, RedstoneHandler::GetPowerDeliveredToPosition( - *NeighbourChunk, Location, PotentialSourceBlock, - NeighbourRelativeQueryPosition, m_CurrentBlock, false + *NeighbourChunk, + Location, + PotentialSourceBlock, + NeighbourRelativeQueryPosition, + m_CurrentBlock, + false ) ); } @@ -88,7 +97,12 @@ void ForEachSourceCallback::CheckIndirectPower() -PowerLevel ForEachSourceCallback::QueryLinkedPower(const cChunk & Chunk, const Vector3i QueryPosition, const BLOCKTYPE QueryBlock, const Vector3i SolidBlockPosition) +PowerLevel ForEachSourceCallback::QueryLinkedPower( + const cChunk & Chunk, + const Vector3i QueryPosition, + const BLOCKTYPE QueryBlock, + const Vector3i SolidBlockPosition +) { PowerLevel Power = 0; @@ -108,14 +122,19 @@ PowerLevel ForEachSourceCallback::QueryLinkedPower(const cChunk & Chunk, const V } // Conduit block's position, relative to NeighbourChunk. - const auto NeighbourRelativeSolidBlockPosition = cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(Chunk, *NeighbourChunk, SolidBlockPosition); + const auto NeighbourRelativeSolidBlockPosition = + cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(Chunk, *NeighbourChunk, SolidBlockPosition); // Do a standard power query, but the requester's position is actually the solid block that will conduct power: Power = std::max( Power, RedstoneHandler::GetPowerDeliveredToPosition( - *NeighbourChunk, SourcePosition, NeighbourChunk->GetBlock(SourcePosition), - NeighbourRelativeSolidBlockPosition, QueryBlock, true + *NeighbourChunk, + SourcePosition, + NeighbourChunk->GetBlock(SourcePosition), + NeighbourRelativeSolidBlockPosition, + QueryBlock, + true ) ); } diff --git a/src/Simulator/IncrementalRedstoneSimulator/ForEachSourceCallback.h b/src/Simulator/IncrementalRedstoneSimulator/ForEachSourceCallback.h index 16c10fd5e..9dcc982c8 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/ForEachSourceCallback.h +++ b/src/Simulator/IncrementalRedstoneSimulator/ForEachSourceCallback.h @@ -9,8 +9,7 @@ class ForEachSourceCallback { -public: - + public: ForEachSourceCallback(const cChunk & Chunk, Vector3i Position, BLOCKTYPE CurrentBlock); /** Callback invoked for each potential source position of the redstone component. */ @@ -22,11 +21,15 @@ public: // The maximum power level of all source locations. PowerLevel Power; -private: - - /** Asks redstone handlers adjacent to a solid block how much power they will deliver to the querying position, via the solid block. - Both QueryPosition and SolidBlockPosition are relative to Chunk. */ - static PowerLevel QueryLinkedPower(const cChunk & Chunk, Vector3i QueryPosition, BLOCKTYPE QueryBlock, Vector3i SolidBlockPosition); + private: + /** Asks redstone handlers adjacent to a solid block how much power they will deliver to the querying position, via + the solid block. Both QueryPosition and SolidBlockPosition are relative to Chunk. */ + static PowerLevel QueryLinkedPower( + const cChunk & Chunk, + Vector3i QueryPosition, + BLOCKTYPE QueryBlock, + Vector3i SolidBlockPosition + ); const cChunk & m_Chunk; const Vector3i m_Position; diff --git a/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h b/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h index 95ef6ae62..006bda455 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h @@ -9,52 +9,75 @@ namespace HopperHandler { - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); - return 0; - } +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); + return 0; +} - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating holey the hopper (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating holey the hopper (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - const bool ShouldBeLocked = Power != 0; - const bool PreviouslyLocked = (a_Meta & 0x8) == 0x8; + const bool ShouldBeLocked = Power != 0; + const bool PreviouslyLocked = (a_Meta & 0x8) == 0x8; - if (ShouldBeLocked == PreviouslyLocked) - { - return; - } + if (ShouldBeLocked == PreviouslyLocked) + { + return; + } - if (ShouldBeLocked) - { - a_Chunk.SetMeta(a_Position, a_Meta | 0x8); - } - else - { - a_Chunk.SetMeta(a_Position, a_Meta & ~0x8); - } + if (ShouldBeLocked) + { + a_Chunk.SetMeta(a_Position, a_Meta | 0x8); + } + else + { + a_Chunk.SetMeta(a_Position, a_Meta & ~0x8); + } - a_Chunk.DoWithBlockEntityAt(a_Position, [ShouldBeLocked](cBlockEntity & a_BlockEntity) + a_Chunk.DoWithBlockEntityAt( + a_Position, + [ShouldBeLocked](cBlockEntity & a_BlockEntity) { ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_HOPPER); static_cast(a_BlockEntity).SetLocked(ShouldBeLocked); return false; - }); - } + } + ); +} - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_Meta); - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); - } -}; +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_Meta); + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); +} +}; // namespace HopperHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp b/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp index 8063e72a4..cf652b509 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp +++ b/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp @@ -22,7 +22,7 @@ bool cIncrementalRedstoneSimulator::IsAlwaysTicked(BLOCKTYPE a_Block) case E_BLOCK_STONE_PRESSURE_PLATE: case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: return true; - default: return false; + default: return false; } } @@ -112,7 +112,12 @@ void cIncrementalRedstoneSimulator::ProcessWorkItem(cChunk & Chunk, cChunk & Tic -void cIncrementalRedstoneSimulator::SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) +void cIncrementalRedstoneSimulator::SimulateChunk( + std::chrono::milliseconds a_Dt, + int a_ChunkX, + int a_ChunkZ, + cChunk * a_Chunk +) { auto & ChunkData = *static_cast(a_Chunk->GetRedstoneSimulatorData()); for (auto & DelayInfo : ChunkData.m_MechanismDelays) @@ -194,7 +199,8 @@ void cIncrementalRedstoneSimulator::WakeUp(cChunk & a_Chunk, Vector3i a_Position { // Having WakeUp called on us directly means someone called SetBlock (or WakeUp) // Since the simulator never does this, something external changed. Clear cached data: - static_cast(a_Chunk.GetRedstoneSimulatorData())->ErasePowerData(a_Position); + static_cast(a_Chunk.GetRedstoneSimulatorData()) + ->ErasePowerData(a_Position); // Queue the block, in case the set block was redstone: AddBlock(a_Chunk, a_Position, a_Block); diff --git a/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.h b/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.h index 365f0176e..4f2028ff1 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.h +++ b/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.h @@ -7,17 +7,14 @@ -class cIncrementalRedstoneSimulator final : - public cRedstoneSimulator +class cIncrementalRedstoneSimulator final : public cRedstoneSimulator { using Super = cRedstoneSimulator; -public: - + public: using Super::Super; -private: - + private: /** Returns if a redstone device is always ticked due to influence by its environment */ static bool IsAlwaysTicked(BLOCKTYPE a_Block); @@ -31,4 +28,4 @@ private: virtual cRedstoneSimulatorChunkData * CreateChunkData() override; virtual void WakeUp(cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_Block) override; virtual void WakeUp(cChunk & a_Chunk, Vector3i a_Position, Vector3i a_Offset, BLOCKTYPE a_Block) override; -} ; +}; diff --git a/src/Simulator/IncrementalRedstoneSimulator/NoteBlockHandler.h b/src/Simulator/IncrementalRedstoneSimulator/NoteBlockHandler.h index fd96d8721..21008cd89 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/NoteBlockHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/NoteBlockHandler.h @@ -9,42 +9,65 @@ namespace NoteBlockHandler { - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); - return 0; - } +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); + return 0; +} - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating sparky the magical note block (%d %d %d) %i", a_Position.x, a_Position.y, a_Position.z, Power); +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating sparky the magical note block (%d %d %d) %i", a_Position.x, a_Position.y, a_Position.z, Power); - const auto Previous = DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, Power); - if ((Previous != 0) || (Power == 0)) - { - // If we're already powered or received an update of no power, don't make a sound - return; - } + const auto Previous = DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, Power); + if ((Previous != 0) || (Power == 0)) + { + // If we're already powered or received an update of no power, don't make a sound + return; + } - a_Chunk.DoWithBlockEntityAt(a_Position, [](cBlockEntity & a_BlockEntity) + a_Chunk.DoWithBlockEntityAt( + a_Position, + [](cBlockEntity & a_BlockEntity) { ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_NOTE_BLOCK); static_cast(a_BlockEntity).MakeSound(); return false; - }); - } + } + ); +} - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_Meta); - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); - } -}; +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_Meta); + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); +} +}; // namespace NoteBlockHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/ObserverHandler.h b/src/Simulator/IncrementalRedstoneSimulator/ObserverHandler.h index 802b9307c..4cac17b72 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/ObserverHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/ObserverHandler.h @@ -9,100 +9,130 @@ namespace ObserverHandler { - static bool IsOn(NIBBLETYPE a_Meta) +static bool IsOn(NIBBLETYPE a_Meta) +{ + return (a_Meta & 0x8) == 0x8; +} + +static bool ShouldPowerOn( + cChunk & Chunk, + const Vector3i a_Position, + NIBBLETYPE a_Meta, + cIncrementalRedstoneSimulatorChunkData & a_Data +) +{ + BLOCKTYPE BlockType; + NIBBLETYPE BlockMeta; + if (!Chunk.UnboundedRelGetBlock( + a_Position + cBlockObserverHandler::GetObservingFaceOffset(a_Meta), + BlockType, + BlockMeta + )) { - return (a_Meta & 0x8) == 0x8; + return false; } - static bool ShouldPowerOn(cChunk & Chunk, const Vector3i a_Position, NIBBLETYPE a_Meta, cIncrementalRedstoneSimulatorChunkData & a_Data) - { - BLOCKTYPE BlockType; - NIBBLETYPE BlockMeta; - if (!Chunk.UnboundedRelGetBlock(a_Position + cBlockObserverHandler::GetObservingFaceOffset(a_Meta), BlockType, BlockMeta)) - { - return false; - } + auto & ObserverCache = a_Data.ObserverCache; + const auto FindResult = ObserverCache.find(a_Position); + const auto Observed = std::make_pair(BlockType, BlockMeta); - auto & ObserverCache = a_Data.ObserverCache; - const auto FindResult = ObserverCache.find(a_Position); - const auto Observed = std::make_pair(BlockType, BlockMeta); + if (FindResult == ObserverCache.end()) + { + // Cache the last seen block for this position: + ObserverCache.emplace(a_Position, Observed); - if (FindResult == ObserverCache.end()) - { - // Cache the last seen block for this position: - ObserverCache.emplace(a_Position, Observed); + // Definitely should signal update: + return true; + } - // Definitely should signal update: - return true; - } + // The block this observer previously saw. + const auto Previous = FindResult->second; - // The block this observer previously saw. - const auto Previous = FindResult->second; + // Update the last seen block: + FindResult->second = Observed; - // Update the last seen block: - FindResult->second = Observed; + // Determine if to signal an update based on the block previously observed changed + return Previous != Observed; +} - // Determine if to signal an update based on the block previously observed changed - return Previous != Observed; - } +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + const auto Meta = a_Chunk.GetMeta(a_Position); + return (IsOn(Meta) && (a_QueryPosition == (a_Position + cBlockObserverHandler::GetSignalOutputOffset(Meta)))) ? 15 + : 0; +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating Lenny the observer (%i %i %i)", a_Position.x, a_Position.y, a_Position.z); - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - const auto Meta = a_Chunk.GetMeta(a_Position); - return (IsOn(Meta) && (a_QueryPosition == (a_Position + cBlockObserverHandler::GetSignalOutputOffset(Meta)))) ? 15 : 0; - } + auto & Data = DataForChunk(a_Chunk); + auto DelayInfo = Data.GetMechanismDelayInfo(a_Position); - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) + if (DelayInfo == nullptr) { - // LOGD("Evaluating Lenny the observer (%i %i %i)", a_Position.x, a_Position.y, a_Position.z); - - auto & Data = DataForChunk(a_Chunk); - auto DelayInfo = Data.GetMechanismDelayInfo(a_Position); - - if (DelayInfo == nullptr) + if (!ShouldPowerOn(a_Chunk, a_Position, a_Meta, Data)) { - if (!ShouldPowerOn(a_Chunk, a_Position, a_Meta, Data)) - { - return; - } - - // From rest, we've determined there was a block update - // Schedule power-on 1 tick in the future - Data.m_MechanismDelays[a_Position] = std::make_pair(1, true); - return; } - int DelayTicks; - bool ShouldPowerOn; - std::tie(DelayTicks, ShouldPowerOn) = *DelayInfo; + // From rest, we've determined there was a block update + // Schedule power-on 1 tick in the future + Data.m_MechanismDelays[a_Position] = std::make_pair(1, true); - if (DelayTicks != 0) - { - return; - } + return; + } - if (ShouldPowerOn) - { - // Remain on for 1 tick before resetting - *DelayInfo = std::make_pair(1, false); - a_Chunk.SetMeta(a_Position, a_Meta | 0x8); - } - else - { - // We've reset. Erase delay data in preparation for detecting further updates - Data.m_MechanismDelays.erase(a_Position); - a_Chunk.SetMeta(a_Position, a_Meta & ~0x8); - } + int DelayTicks; + bool ShouldPowerOn; + std::tie(DelayTicks, ShouldPowerOn) = *DelayInfo; - UpdateAdjustedRelative(a_Chunk, CurrentlyTicking, a_Position, cBlockObserverHandler::GetSignalOutputOffset(a_Meta)); + if (DelayTicks != 0) + { + return; } - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + if (ShouldPowerOn) + { + // Remain on for 1 tick before resetting + *DelayInfo = std::make_pair(1, false); + a_Chunk.SetMeta(a_Position, a_Meta | 0x8); + } + else { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_BlockType); + // We've reset. Erase delay data in preparation for detecting further updates + Data.m_MechanismDelays.erase(a_Position); + a_Chunk.SetMeta(a_Position, a_Meta & ~0x8); } -}; + + UpdateAdjustedRelative(a_Chunk, CurrentlyTicking, a_Position, cBlockObserverHandler::GetSignalOutputOffset(a_Meta)); +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_BlockType); +} +}; // namespace ObserverHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/PistonHandler.h b/src/Simulator/IncrementalRedstoneSimulator/PistonHandler.h index 9713bc0a6..16334808d 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/PistonHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/PistonHandler.h @@ -9,59 +9,80 @@ namespace PistonHandler { - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); - return 0; - } +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); + return 0; +} + +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating pisty the piston (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) + const bool ShouldBeExtended = Power != 0; + if (ShouldBeExtended == cBlockPistonHandler::IsExtended(a_Meta)) { - // LOGD("Evaluating pisty the piston (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - - const bool ShouldBeExtended = Power != 0; - if (ShouldBeExtended == cBlockPistonHandler::IsExtended(a_Meta)) - { - return; - } + return; + } - a_Position = cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()); + a_Position = cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()); - if (ShouldBeExtended) - { - cBlockPistonHandler::ExtendPiston(a_Position, *a_Chunk.GetWorld()); - } - else - { - cBlockPistonHandler::RetractPiston(a_Position, *a_Chunk.GetWorld()); - } - - // It is necessary to delay after a signal to prevent an infinite loop (#3168) - // However, this delay is already present: as a side effect of the implementation of piston animation in Blocks\BlockPiston.cpp + if (ShouldBeExtended) + { + cBlockPistonHandler::ExtendPiston(a_Position, *a_Chunk.GetWorld()); } - - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + else { - UNUSED(a_Chunk); - UNUSED(a_BlockType); + cBlockPistonHandler::RetractPiston(a_Position, *a_Chunk.GetWorld()); + } - const auto Face = cBlockPistonHandler::MetaDataToDirection(a_Meta); - const auto FrontOffset = AddFaceDirection(Vector3i(), Face); + // It is necessary to delay after a signal to prevent an infinite loop (#3168) + // However, this delay is already present: as a side effect of the implementation of piston animation in + // Blocks\BlockPiston.cpp +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + + const auto Face = cBlockPistonHandler::MetaDataToDirection(a_Meta); + const auto FrontOffset = AddFaceDirection(Vector3i(), Face); - for (const auto & Offset : RelativeAdjacents) + for (const auto & Offset : RelativeAdjacents) + { + if (Offset != FrontOffset) { - if (Offset != FrontOffset) - { - Callback(a_Position + Offset); - } + Callback(a_Position + Offset); } - - // Consider indirect power: - Callback.CheckIndirectPower(); } -}; + + // Consider indirect power: + Callback.CheckIndirectPower(); +} +}; // namespace PistonHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/PoweredRailHandler.h b/src/Simulator/IncrementalRedstoneSimulator/PoweredRailHandler.h index 28eeb4b04..8220f14a7 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/PoweredRailHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/PoweredRailHandler.h @@ -7,85 +7,105 @@ namespace PoweredRailHandler { - /** Get the offset along which the rail faces. - Not in cBlockRailHandler since specific to powered rails. */ - static Vector3i GetPoweredRailAdjacentXZCoordinateOffset(NIBBLETYPE a_Meta) +/** Get the offset along which the rail faces. +Not in cBlockRailHandler since specific to powered rails. */ +static Vector3i GetPoweredRailAdjacentXZCoordinateOffset(NIBBLETYPE a_Meta) +{ + switch (a_Meta & 0x7) { - switch (a_Meta & 0x7) + case E_META_RAIL_ZM_ZP: return {0, 0, 1}; + case E_META_RAIL_XM_XP: return {1, 0, 0}; + case E_META_RAIL_ASCEND_XP: return {1, 1, 0}; + case E_META_RAIL_ASCEND_XM: return {1, 1, 0}; + case E_META_RAIL_ASCEND_ZM: return {0, 1, 1}; + case E_META_RAIL_ASCEND_ZP: return {0, 1, 1}; + default: { - case E_META_RAIL_ZM_ZP: return { 0, 0, 1 }; - case E_META_RAIL_XM_XP: return { 1, 0, 0 }; - case E_META_RAIL_ASCEND_XP: return { 1, 1, 0 }; - case E_META_RAIL_ASCEND_XM: return { 1, 1, 0 }; - case E_META_RAIL_ASCEND_ZM: return { 0, 1, 1 }; - case E_META_RAIL_ASCEND_ZP: return { 0, 1, 1 }; - default: - { - ASSERT(!"Impossible rail meta! wat wat wat"); - return { 0, 0, 0 }; - } + ASSERT(!"Impossible rail meta! wat wat wat"); + return {0, 0, 0}; } } +} - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_QueryBlockType); +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_QueryBlockType); - const auto Meta = a_Chunk.GetMeta(a_Position); - const auto Offset = GetPoweredRailAdjacentXZCoordinateOffset(Meta); - if (((Offset + a_Position) == a_QueryPosition) || ((-Offset + a_Position) == a_QueryPosition)) - { - const auto Power = DataForChunk(a_Chunk).GetCachedPowerData(a_Position); - return (Power <= 7) ? 0 : (Power - 1); - } - return 0; + const auto Meta = a_Chunk.GetMeta(a_Position); + const auto Offset = GetPoweredRailAdjacentXZCoordinateOffset(Meta); + if (((Offset + a_Position) == a_QueryPosition) || ((-Offset + a_Position) == a_QueryPosition)) + { + const auto Power = DataForChunk(a_Chunk).GetCachedPowerData(a_Position); + return (Power <= 7) ? 0 : (Power - 1); } + return 0; +} - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTickingChunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating tracky the rail (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTickingChunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating tracky the rail (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - switch (a_BlockType) + switch (a_BlockType) + { + case E_BLOCK_DETECTOR_RAIL: { - case E_BLOCK_DETECTOR_RAIL: + /* + if ((m_Chunk->GetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ) & 0x08) == 0x08) { - /* - if ((m_Chunk->GetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ) & 0x08) == 0x08) - { - SetAllDirsAsPowered(a_RelBlockX, a_RelBlockY, a_RelBlockZ, a_MyType); - } - */ - return; + SetAllDirsAsPowered(a_RelBlockX, a_RelBlockY, a_RelBlockZ, a_MyType); } - case E_BLOCK_ACTIVATOR_RAIL: - case E_BLOCK_POWERED_RAIL: + */ + return; + } + case E_BLOCK_ACTIVATOR_RAIL: + case E_BLOCK_POWERED_RAIL: + { + const auto Offset = GetPoweredRailAdjacentXZCoordinateOffset(a_Meta); + if (Power != DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, Power)) { - const auto Offset = GetPoweredRailAdjacentXZCoordinateOffset(a_Meta); - if (Power != DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, Power)) - { - a_Chunk.SetMeta(a_Position, (Power == 0) ? (a_Meta & 0x07) : (a_Meta | 0x08)); - - UpdateAdjustedRelative(a_Chunk, CurrentlyTickingChunk, a_Position, Offset); - UpdateAdjustedRelative(a_Chunk, CurrentlyTickingChunk, a_Position, -Offset); - } + a_Chunk.SetMeta(a_Position, (Power == 0) ? (a_Meta & 0x07) : (a_Meta | 0x08)); - return; - } - default: - { - ASSERT(!"Unhandled type of rail in passed to rail handler!"); + UpdateAdjustedRelative(a_Chunk, CurrentlyTickingChunk, a_Position, Offset); + UpdateAdjustedRelative(a_Chunk, CurrentlyTickingChunk, a_Position, -Offset); } + + return; + } + default: + { + ASSERT(!"Unhandled type of rail in passed to rail handler!"); } } +} - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_Chunk); - UNUSED(a_Meta); +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_Meta); - if ((a_BlockType == E_BLOCK_POWERED_RAIL) || (a_BlockType == E_BLOCK_ACTIVATOR_RAIL)) - { - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); - } + if ((a_BlockType == E_BLOCK_POWERED_RAIL) || (a_BlockType == E_BLOCK_ACTIVATOR_RAIL)) + { + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); } -}; +} +}; // namespace PoweredRailHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/PressurePlateHandler.h b/src/Simulator/IncrementalRedstoneSimulator/PressurePlateHandler.h index 003b5b253..dda3e2d57 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/PressurePlateHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/PressurePlateHandler.h @@ -10,12 +10,14 @@ namespace PressurePlateHandler { - static unsigned char GetPowerLevel(const cChunk & Chunk, const Vector3i Position, const BLOCKTYPE BlockType) - { - size_t NumberOfEntities = 0; - bool FoundPlayer = false; +static unsigned char GetPowerLevel(const cChunk & Chunk, const Vector3i Position, const BLOCKTYPE BlockType) +{ + size_t NumberOfEntities = 0; + bool FoundPlayer = false; - Chunk.ForEachEntityInBox(cBoundingBox(Vector3d(0.5, 0, 0.5) + Position, 0.5, 0.5), [&](cEntity & Entity) + Chunk.ForEachEntityInBox( + cBoundingBox(Vector3d(0.5, 0, 0.5) + Position, 0.5, 0.5), + [&](cEntity & Entity) { if (Entity.GetHealth() <= 0) { @@ -42,187 +44,210 @@ namespace PressurePlateHandler NumberOfEntities++; return false; - }); + } + ); - switch (BlockType) + switch (BlockType) + { + case E_BLOCK_STONE_PRESSURE_PLATE: { - case E_BLOCK_STONE_PRESSURE_PLATE: - { - return FoundPlayer ? 15 : 0; - } - case E_BLOCK_WOODEN_PRESSURE_PLATE: - { - return (NumberOfEntities != 0) ? 15 : 0; - } - case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: - { - return std::min(static_cast(CeilC(NumberOfEntities / 10.f)), static_cast(15)); - } - case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: - { - return std::min(static_cast(NumberOfEntities), static_cast(15)); - } - default: - { - ASSERT(!"Unhandled/unimplemented block in pressure plate handler!"); - return 0; - } + return FoundPlayer ? 15 : 0; + } + case E_BLOCK_WOODEN_PRESSURE_PLATE: + { + return (NumberOfEntities != 0) ? 15 : 0; + } + case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: + { + return std::min(static_cast(CeilC(NumberOfEntities / 10.f)), static_cast(15)); + } + case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: + { + return std::min(static_cast(NumberOfEntities), static_cast(15)); + } + default: + { + ASSERT(!"Unhandled/unimplemented block in pressure plate handler!"); + return 0; } } +} - static const char * GetClickOnSound(BLOCKTYPE a_BlockType) +static const char * GetClickOnSound(BLOCKTYPE a_BlockType) +{ + // manage on-sound + switch (a_BlockType) { - // manage on-sound - switch (a_BlockType) + case E_BLOCK_STONE_PRESSURE_PLATE: return "block.stone_pressureplate.click_on"; + case E_BLOCK_WOODEN_PRESSURE_PLATE: return "block.wood_pressureplate.click_on"; + case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: + case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: return "block.metal_pressureplate.click_on"; + default: { - case E_BLOCK_STONE_PRESSURE_PLATE: return "block.stone_pressureplate.click_on"; - case E_BLOCK_WOODEN_PRESSURE_PLATE: return "block.wood_pressureplate.click_on"; - case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: - case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: return "block.metal_pressureplate.click_on"; - default: - { - ASSERT(!"No on sound for this one!"); - return ""; - } + ASSERT(!"No on sound for this one!"); + return ""; } } +} - static const char * GetClickOffSound(BLOCKTYPE a_BlockType) +static const char * GetClickOffSound(BLOCKTYPE a_BlockType) +{ + // manage off-sound + switch (a_BlockType) { - // manage off-sound - switch (a_BlockType) + case E_BLOCK_STONE_PRESSURE_PLATE: return "block.stone_pressureplate.click_off"; + case E_BLOCK_WOODEN_PRESSURE_PLATE: return "block.wood_pressureplate.click_off"; + case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: + case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: return "block.metal_pressureplate.click_off"; + default: { - case E_BLOCK_STONE_PRESSURE_PLATE: return "block.stone_pressureplate.click_off"; - case E_BLOCK_WOODEN_PRESSURE_PLATE: return "block.wood_pressureplate.click_off"; - case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: - case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: return "block.metal_pressureplate.click_off"; - default: - { - ASSERT(!"No off sound for this one!"); - return ""; - } + ASSERT(!"No off sound for this one!"); + return ""; } } +} + +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + + // Plates only link power blocks below + // Retrieve and return the cached power calculated by Update for performance: + return (IsLinked && (a_QueryPosition != (a_Position + OffsetYM))) + ? 0 + : DataForChunk(a_Chunk).GetCachedPowerData(a_Position); +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating clicky the pressure plate (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); + auto & ChunkData = DataForChunk(a_Chunk); - // Plates only link power blocks below - // Retrieve and return the cached power calculated by Update for performance: - return (IsLinked && (a_QueryPosition != (a_Position + OffsetYM))) ? 0 : DataForChunk(a_Chunk).GetCachedPowerData(a_Position); - } + const auto PreviousPower = ChunkData.GetCachedPowerData(a_Position); + const auto Absolute = cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()); + const auto PowerLevel = GetPowerLevel(a_Chunk, Absolute, a_BlockType); // Get the current power of the platey + const auto DelayInfo = ChunkData.GetMechanismDelayInfo(a_Position); - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) + // Resting state? + if (DelayInfo == nullptr) { - // LOGD("Evaluating clicky the pressure plate (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); + if (PowerLevel == 0) + { + // Nothing happened, back to rest + return; + } - auto & ChunkData = DataForChunk(a_Chunk); + // From rest, a player stepped on us + // Schedule a minimum 0.5 second delay before even thinking about releasing + ChunkData.m_MechanismDelays[a_Position] = std::make_pair(5, true); - const auto PreviousPower = ChunkData.GetCachedPowerData(a_Position); - const auto Absolute = cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()); - const auto PowerLevel = GetPowerLevel(a_Chunk, Absolute, a_BlockType); // Get the current power of the platey - const auto DelayInfo = ChunkData.GetMechanismDelayInfo(a_Position); + a_Chunk.GetWorld()->BroadcastSoundEffect(GetClickOnSound(a_BlockType), Absolute, 0.5f, 0.6f); - // Resting state? - if (DelayInfo == nullptr) - { - if (PowerLevel == 0) - { - // Nothing happened, back to rest - return; - } + // Update power + ChunkData.SetCachedPowerData(a_Position, PowerLevel); - // From rest, a player stepped on us - // Schedule a minimum 0.5 second delay before even thinking about releasing - ChunkData.m_MechanismDelays[a_Position] = std::make_pair(5, true); + // Immediately depress plate + a_Chunk.SetMeta(a_Position, E_META_PRESSURE_PLATE_DEPRESSED); - a_Chunk.GetWorld()->BroadcastSoundEffect(GetClickOnSound(a_BlockType), Absolute, 0.5f, 0.6f); + UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); + return; + } - // Update power - ChunkData.SetCachedPowerData(a_Position, PowerLevel); + // Not a resting state - // Immediately depress plate - a_Chunk.SetMeta(a_Position, E_META_PRESSURE_PLATE_DEPRESSED); + int DelayTicks; + bool HasExitedMinimumOnDelayPhase; + std::tie(DelayTicks, HasExitedMinimumOnDelayPhase) = *DelayInfo; - UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); + // Are we waiting for the initial delay or subsequent release delay? + if (DelayTicks > 0) + { + // Nothing changes, if there is nothing on it anymore, because the state is locked. + if (PowerLevel == 0) + { return; } - // Not a resting state - - int DelayTicks; - bool HasExitedMinimumOnDelayPhase; - std::tie(DelayTicks, HasExitedMinimumOnDelayPhase) = *DelayInfo; - - // Are we waiting for the initial delay or subsequent release delay? - if (DelayTicks > 0) + // Yes. Are we waiting to release, and found that the player stepped on it again? + if (!HasExitedMinimumOnDelayPhase) { - // Nothing changes, if there is nothing on it anymore, because the state is locked. - if (PowerLevel == 0) - { - return; - } + // Reset delay + *DelayInfo = std::make_pair(0, true); + } - // Yes. Are we waiting to release, and found that the player stepped on it again? - if (!HasExitedMinimumOnDelayPhase) - { - // Reset delay - *DelayInfo = std::make_pair(0, true); - } + // Did the power level change and is still above zero? + if (PowerLevel != PreviousPower) + { + // Yes. Update power + ChunkData.SetCachedPowerData(a_Position, PowerLevel); + UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); + } - // Did the power level change and is still above zero? - if (PowerLevel != PreviousPower) - { - // Yes. Update power - ChunkData.SetCachedPowerData(a_Position, PowerLevel); - UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); - } + return; + } + // Not waiting for anything. Has the initial delay elapsed? + if (HasExitedMinimumOnDelayPhase) + { + // Yep, initial delay elapsed. Has the player gotten off? + if (PowerLevel == 0) + { + // Yes. Go into subsequent release delay, for a further 0.5 seconds + *DelayInfo = std::make_pair(5, false); return; } - // Not waiting for anything. Has the initial delay elapsed? - if (HasExitedMinimumOnDelayPhase) + // Did the power level change and is still above zero? + if (PowerLevel != PreviousPower) { - // Yep, initial delay elapsed. Has the player gotten off? - if (PowerLevel == 0) - { - // Yes. Go into subsequent release delay, for a further 0.5 seconds - *DelayInfo = std::make_pair(5, false); - return; - } - - // Did the power level change and is still above zero? - if (PowerLevel != PreviousPower) - { - // Yes. Update power - ChunkData.SetCachedPowerData(a_Position, PowerLevel); - UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); - } - - // Yes, but player's still on the plate, do nothing - return; + // Yes. Update power + ChunkData.SetCachedPowerData(a_Position, PowerLevel); + UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); } - // Just got out of the subsequent release phase, reset everything and raise the plate - ChunkData.m_MechanismDelays.erase(a_Position); + // Yes, but player's still on the plate, do nothing + return; + } - a_Chunk.GetWorld()->BroadcastSoundEffect(GetClickOffSound(a_BlockType), Absolute, 0.5f, 0.5f); - ChunkData.SetCachedPowerData(a_Position, PowerLevel); + // Just got out of the subsequent release phase, reset everything and raise the plate + ChunkData.m_MechanismDelays.erase(a_Position); - a_Chunk.SetMeta(a_Position, E_META_PRESSURE_PLATE_RAISED); - UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); - } + a_Chunk.GetWorld()->BroadcastSoundEffect(GetClickOffSound(a_BlockType), Absolute, 0.5f, 0.5f); + ChunkData.SetCachedPowerData(a_Position, PowerLevel); - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_Meta); - UNUSED(Callback); - } -}; + a_Chunk.SetMeta(a_Position, E_META_PRESSURE_PLATE_RAISED); + UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_Meta); + UNUSED(Callback); +} +}; // namespace PressurePlateHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneBlockHandler.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneBlockHandler.h index 25e44f3d7..d80c53303 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneBlockHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneBlockHandler.h @@ -7,27 +7,47 @@ namespace RedstoneBlockHandler { - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(IsLinked); - return IsLinked ? 0 : 15; - } - - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating crimson the redstone block (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - } - - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_Meta); - UNUSED(Callback); - } -}; +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(IsLinked); + return IsLinked ? 0 : 15; +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating crimson the redstone block (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_Meta); + UNUSED(Callback); +} +}; // namespace RedstoneBlockHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneComparatorHandler.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneComparatorHandler.h index df8f697a2..b90c4b693 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneComparatorHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneComparatorHandler.h @@ -9,44 +9,60 @@ namespace RedstoneComparatorHandler { - static unsigned char GetFrontPowerLevel(NIBBLETYPE a_Meta, unsigned char a_HighestSidePowerLevel, unsigned char a_HighestRearPowerLevel) +static unsigned char GetFrontPowerLevel( + NIBBLETYPE a_Meta, + unsigned char a_HighestSidePowerLevel, + unsigned char a_HighestRearPowerLevel +) +{ + if (cBlockComparatorHandler::IsInSubtractionMode(a_Meta)) { - if (cBlockComparatorHandler::IsInSubtractionMode(a_Meta)) - { - // Subtraction mode - return static_cast(std::max(static_cast(a_HighestRearPowerLevel) - a_HighestSidePowerLevel, 0)); - } - else - { - // Comparison mode - return (a_HighestRearPowerLevel < a_HighestSidePowerLevel) ? 0 : a_HighestRearPowerLevel; - } + // Subtraction mode + return static_cast( + std::max(static_cast(a_HighestRearPowerLevel) - a_HighestSidePowerLevel, 0) + ); } - - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) + else { - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - - const auto Meta = a_Chunk.GetMeta(a_Position); - return ( - (cBlockComparatorHandler::GetFrontCoordinate(a_Position, Meta & 0x3) == a_QueryPosition) ? - DataForChunk(a_Chunk).GetCachedPowerData(a_Position) : 0 - ); + // Comparison mode + return (a_HighestRearPowerLevel < a_HighestSidePowerLevel) ? 0 : a_HighestRearPowerLevel; } +} + +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + + const auto Meta = a_Chunk.GetMeta(a_Position); + return ( + (cBlockComparatorHandler::GetFrontCoordinate(a_Position, Meta & 0x3) == a_QueryPosition) + ? DataForChunk(a_Chunk).GetCachedPowerData(a_Position) + : 0 + ); +} + +static unsigned char GetPowerLevel(cChunk & a_Chunk, Vector3i Position, BLOCKTYPE BlockType, NIBBLETYPE Meta) +{ + UInt8 SignalStrength = 0; + auto RearCoordinate = cBlockComparatorHandler::GetRearCoordinate(Position, Meta & 0x3); - static unsigned char GetPowerLevel(cChunk & a_Chunk, Vector3i Position, BLOCKTYPE BlockType, NIBBLETYPE Meta) + auto RearChunk = a_Chunk.GetRelNeighborChunkAdjustCoords(RearCoordinate); + if ((RearChunk == nullptr) || !RearChunk->IsValid()) { - UInt8 SignalStrength = 0; - auto RearCoordinate = cBlockComparatorHandler::GetRearCoordinate(Position, Meta & 0x3); - - auto RearChunk = a_Chunk.GetRelNeighborChunkAdjustCoords(RearCoordinate); - if ((RearChunk == nullptr) || !RearChunk->IsValid()) - { - return SignalStrength; - } + return SignalStrength; + } - RearChunk->DoWithBlockEntityAt(RearCoordinate, [&](cBlockEntity & a_BlockEntity) + RearChunk->DoWithBlockEntityAt( + RearCoordinate, + [&](cBlockEntity & a_BlockEntity) { // Skip BlockEntities that don't have slots auto BlockEntityWithItems = dynamic_cast(&a_BlockEntity); @@ -62,75 +78,102 @@ namespace RedstoneComparatorHandler for (int Slot = 0; Slot != Contents.GetNumSlots(); ++Slot) { - Fullness += static_cast(Contents.GetSlot(Slot).m_ItemCount) / Contents.GetSlot(Slot).GetMaxStackSize(); + Fullness += + static_cast(Contents.GetSlot(Slot).m_ItemCount) / Contents.GetSlot(Slot).GetMaxStackSize(); } - SignalStrength = (Fullness < 0.001 /* container empty? */) ? 0 : static_cast(1 + (Fullness / Contents.GetNumSlots()) * 14); + SignalStrength = (Fullness < 0.001 /* container empty? */) + ? 0 + : static_cast(1 + (Fullness / Contents.GetNumSlots()) * 14); return false; - }); - - const auto RearType = RearChunk->GetBlock(RearCoordinate); - return std::max( - SignalStrength, - RedstoneHandler::GetPowerDeliveredToPosition( - *RearChunk, RearCoordinate, RearType, - cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(a_Chunk, *RearChunk, Position), BlockType, false - ) - ); - } - - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // Note that Power here contains the maximum * side * power level, as specified by GetValidSourcePositions - // LOGD("Evaluating ALU the comparator (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - - auto & Data = DataForChunk(a_Chunk); - auto DelayInfo = Data.GetMechanismDelayInfo(a_Position); - - // Delay is used here to prevent an infinite loop (#3168) - if (DelayInfo == nullptr) - { - const auto RearPower = GetPowerLevel(a_Chunk, a_Position, a_BlockType, a_Meta); - const auto FrontPower = GetFrontPowerLevel(a_Meta, Power, RearPower); - const auto PreviousFrontPower = Data.GetCachedPowerData(a_Position); - const bool ShouldUpdate = (FrontPower != PreviousFrontPower); // "Business logic" (:P) - determined by side and rear power levels - - if (ShouldUpdate) - { - Data.m_MechanismDelays[a_Position] = std::make_pair(1, bool()); - } - - return; } + ); + + const auto RearType = RearChunk->GetBlock(RearCoordinate); + return std::max( + SignalStrength, + RedstoneHandler::GetPowerDeliveredToPosition( + *RearChunk, + RearCoordinate, + RearType, + cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(a_Chunk, *RearChunk, Position), + BlockType, + false + ) + ); +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // Note that Power here contains the maximum * side * power level, as specified by GetValidSourcePositions + // LOGD("Evaluating ALU the comparator (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - int DelayTicks; - std::tie(DelayTicks, std::ignore) = *DelayInfo; - - if (DelayTicks != 0) - { - return; - } + auto & Data = DataForChunk(a_Chunk); + auto DelayInfo = Data.GetMechanismDelayInfo(a_Position); + // Delay is used here to prevent an infinite loop (#3168) + if (DelayInfo == nullptr) + { const auto RearPower = GetPowerLevel(a_Chunk, a_Position, a_BlockType, a_Meta); const auto FrontPower = GetFrontPowerLevel(a_Meta, Power, RearPower); - const NIBBLETYPE NewMeta = (FrontPower > 0) ? (a_Meta | 0x08u) : (a_Meta & 0x07u); - - // Don't care about the previous power level so return value ignored - Data.ExchangeUpdateOncePowerData(a_Position, FrontPower); + const auto PreviousFrontPower = Data.GetCachedPowerData(a_Position); + const bool ShouldUpdate = + (FrontPower != PreviousFrontPower); // "Business logic" (:P) - determined by side and rear power levels - a_Chunk.SetMeta(a_Position, NewMeta); - Data.m_MechanismDelays.erase(a_Position); + if (ShouldUpdate) + { + Data.m_MechanismDelays[a_Position] = std::make_pair(1, bool()); + } - // Assume that an update (to front power) is needed: - UpdateAdjustedRelative(a_Chunk, CurrentlyTicking, a_Position, cBlockComparatorHandler::GetFrontCoordinate(a_Position, a_Meta & 0x3) - a_Position); + return; } - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_Chunk); - UNUSED(a_BlockType); + int DelayTicks; + std::tie(DelayTicks, std::ignore) = *DelayInfo; - Callback(cBlockComparatorHandler::GetSideCoordinate(a_Position, a_Meta & 0x3, false)); - Callback(cBlockComparatorHandler::GetSideCoordinate(a_Position, a_Meta & 0x3, true)); + if (DelayTicks != 0) + { + return; } -}; + + const auto RearPower = GetPowerLevel(a_Chunk, a_Position, a_BlockType, a_Meta); + const auto FrontPower = GetFrontPowerLevel(a_Meta, Power, RearPower); + const NIBBLETYPE NewMeta = (FrontPower > 0) ? (a_Meta | 0x08u) : (a_Meta & 0x07u); + + // Don't care about the previous power level so return value ignored + Data.ExchangeUpdateOncePowerData(a_Position, FrontPower); + + a_Chunk.SetMeta(a_Position, NewMeta); + Data.m_MechanismDelays.erase(a_Position); + + // Assume that an update (to front power) is needed: + UpdateAdjustedRelative( + a_Chunk, + CurrentlyTicking, + a_Position, + cBlockComparatorHandler::GetFrontCoordinate(a_Position, a_Meta & 0x3) - a_Position + ); +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + + Callback(cBlockComparatorHandler::GetSideCoordinate(a_Position, a_Meta & 0x3, false)); + Callback(cBlockComparatorHandler::GetSideCoordinate(a_Position, a_Meta & 0x3, true)); +} +}; // namespace RedstoneComparatorHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneDataHelper.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneDataHelper.h index 3942f803c..e10c6027f 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneDataHelper.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneDataHelper.h @@ -7,7 +7,12 @@ inline auto & DataForChunk(const cChunk & a_Chunk) return *static_cast(a_Chunk.GetRedstoneSimulatorData()); } -inline void UpdateAdjustedRelative(const cChunk & a_Chunk, const cChunk & a_TickingChunk, const Vector3i a_Position, const Vector3i a_Offset) +inline void UpdateAdjustedRelative( + const cChunk & a_Chunk, + const cChunk & a_TickingChunk, + const Vector3i a_Position, + const Vector3i a_Offset +) { const auto PositionToWake = a_Position + a_Offset; @@ -20,20 +25,31 @@ inline void UpdateAdjustedRelative(const cChunk & a_Chunk, const cChunk & a_Tick auto & ChunkData = DataForChunk(a_TickingChunk); // Schedule the block in the requested direction to update: - ChunkData.WakeUp(cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(a_Chunk, a_TickingChunk, PositionToWake)); + ChunkData.WakeUp( + cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(a_Chunk, a_TickingChunk, PositionToWake) + ); // To follow Vanilla behaviour, update all linked positions: for (const auto & LinkedOffset : cSimulator::GetLinkedOffsets(a_Offset)) { if (const auto LinkedPositionToWake = a_Position + LinkedOffset; cChunkDef::IsValidHeight(LinkedPositionToWake)) { - ChunkData.WakeUp(cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition(a_Chunk, a_TickingChunk, LinkedPositionToWake)); + ChunkData.WakeUp(cIncrementalRedstoneSimulatorChunkData::RebaseRelativePosition( + a_Chunk, + a_TickingChunk, + LinkedPositionToWake + )); } } } template -inline void UpdateAdjustedRelatives(const cChunk & a_Chunk, const cChunk & a_TickingChunk, const Vector3i a_Position, const ArrayType & a_Relative) +inline void UpdateAdjustedRelatives( + const cChunk & a_Chunk, + const cChunk & a_TickingChunk, + const Vector3i a_Position, + const ArrayType & a_Relative +) { for (const auto & Offset : a_Relative) { @@ -42,7 +58,11 @@ inline void UpdateAdjustedRelatives(const cChunk & a_Chunk, const cChunk & a_Tic } template -inline void InvokeForAdjustedRelatives(ForEachSourceCallback & Callback, const Vector3i Position, const ArrayType & Relative) +inline void InvokeForAdjustedRelatives( + ForEachSourceCallback & Callback, + const Vector3i Position, + const ArrayType & Relative +) { for (const auto & Offset : Relative) { @@ -50,28 +70,22 @@ inline void InvokeForAdjustedRelatives(ForEachSourceCallback & Callback, const V } } -inline constexpr Vector3i OffsetYP{ 0, 1, 0 }; +inline constexpr Vector3i OffsetYP {0, 1, 0}; -inline constexpr Vector3i OffsetYM{ 0, -1, 0 }; +inline constexpr Vector3i OffsetYM {0, -1, 0}; -inline constexpr std::array RelativeAdjacents -{ - { - { 1, 0, 0 }, - { -1, 0, 0 }, - { 0, 1, 0 }, - { 0, -1, 0 }, - { 0, 0, 1 }, - { 0, 0, -1 }, - } -}; +inline constexpr std::array RelativeAdjacents {{ + {1, 0, 0}, + {-1, 0, 0}, + {0, 1, 0}, + {0, -1, 0}, + {0, 0, 1}, + {0, 0, -1}, +}}; -inline constexpr std::array RelativeLaterals -{ - { - { 1, 0, 0 }, - { -1, 0, 0 }, - { 0, 0, 1 }, - { 0, 0, -1 }, - } -}; +inline constexpr std::array RelativeLaterals {{ + {1, 0, 0}, + {-1, 0, 0}, + {0, 0, 1}, + {0, 0, -1}, +}}; diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneHandler.cpp b/src/Simulator/IncrementalRedstoneSimulator/RedstoneHandler.cpp index ab6b35c0b..cfe9a03ea 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneHandler.cpp +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneHandler.cpp @@ -32,61 +32,62 @@ -#define INVOKE_FOR_HANDLERS(Callback) \ - do \ - { \ - switch (BlockType) \ - { \ - case E_BLOCK_ACTIVATOR_RAIL: \ - case E_BLOCK_DETECTOR_RAIL: \ - case E_BLOCK_POWERED_RAIL: return PoweredRailHandler::Callback; \ - case E_BLOCK_ACTIVE_COMPARATOR: \ - case E_BLOCK_INACTIVE_COMPARATOR: return RedstoneComparatorHandler::Callback; \ - case E_BLOCK_DISPENSER: \ - case E_BLOCK_DROPPER: return DropSpenserHandler::Callback; \ - case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: \ - case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: \ - case E_BLOCK_STONE_PRESSURE_PLATE: \ - case E_BLOCK_WOODEN_PRESSURE_PLATE: return PressurePlateHandler::Callback; \ - case E_BLOCK_ACACIA_FENCE_GATE: \ - case E_BLOCK_BIRCH_FENCE_GATE: \ - case E_BLOCK_DARK_OAK_FENCE_GATE: \ - case E_BLOCK_FENCE_GATE: \ - case E_BLOCK_IRON_TRAPDOOR: \ - case E_BLOCK_JUNGLE_FENCE_GATE: \ - case E_BLOCK_SPRUCE_FENCE_GATE: \ - case E_BLOCK_TRAPDOOR: return SmallGateHandler::Callback; \ - case E_BLOCK_REDSTONE_LAMP_OFF: \ - case E_BLOCK_REDSTONE_LAMP_ON: return RedstoneLampHandler::Callback; \ - case E_BLOCK_REDSTONE_REPEATER_OFF: \ - case E_BLOCK_REDSTONE_REPEATER_ON: return RedstoneRepeaterHandler::Callback; \ - case E_BLOCK_REDSTONE_TORCH_OFF: \ - case E_BLOCK_REDSTONE_TORCH_ON: return RedstoneTorchHandler::Callback; \ - case E_BLOCK_OBSERVER: return ObserverHandler::Callback; \ - case E_BLOCK_PISTON: \ - case E_BLOCK_STICKY_PISTON: return PistonHandler::Callback; \ - case E_BLOCK_DAYLIGHT_SENSOR: \ - case E_BLOCK_INVERTED_DAYLIGHT_SENSOR: return DaylightSensorHandler::Callback; \ - case E_BLOCK_LEVER: \ - case E_BLOCK_STONE_BUTTON: \ - case E_BLOCK_WOODEN_BUTTON: return RedstoneToggleHandler::Callback; \ - case E_BLOCK_BLOCK_OF_REDSTONE: return RedstoneBlockHandler::Callback; \ - case E_BLOCK_COMMAND_BLOCK: return CommandBlockHandler::Callback; \ - case E_BLOCK_HOPPER: return HopperHandler::Callback; \ - case E_BLOCK_NOTE_BLOCK: return NoteBlockHandler::Callback; \ - case E_BLOCK_REDSTONE_WIRE: return RedstoneWireHandler::Callback; \ - case E_BLOCK_TNT: return TNTHandler::Callback; \ - case E_BLOCK_TRAPPED_CHEST: return TrappedChestHandler::Callback; \ - case E_BLOCK_TRIPWIRE_HOOK: return TripwireHookHandler::Callback; \ - default: \ - { \ - if (cBlockDoorHandler::IsDoorBlockType(BlockType)) \ - { \ - return DoorHandler::Callback; \ - } \ - } \ - } \ - } while (false) +#define INVOKE_FOR_HANDLERS(Callback) \ + do \ + { \ + switch (BlockType) \ + { \ + case E_BLOCK_ACTIVATOR_RAIL: \ + case E_BLOCK_DETECTOR_RAIL: \ + case E_BLOCK_POWERED_RAIL: return PoweredRailHandler::Callback; \ + case E_BLOCK_ACTIVE_COMPARATOR: \ + case E_BLOCK_INACTIVE_COMPARATOR: return RedstoneComparatorHandler::Callback; \ + case E_BLOCK_DISPENSER: \ + case E_BLOCK_DROPPER: return DropSpenserHandler::Callback; \ + case E_BLOCK_HEAVY_WEIGHTED_PRESSURE_PLATE: \ + case E_BLOCK_LIGHT_WEIGHTED_PRESSURE_PLATE: \ + case E_BLOCK_STONE_PRESSURE_PLATE: \ + case E_BLOCK_WOODEN_PRESSURE_PLATE: return PressurePlateHandler::Callback; \ + case E_BLOCK_ACACIA_FENCE_GATE: \ + case E_BLOCK_BIRCH_FENCE_GATE: \ + case E_BLOCK_DARK_OAK_FENCE_GATE: \ + case E_BLOCK_FENCE_GATE: \ + case E_BLOCK_IRON_TRAPDOOR: \ + case E_BLOCK_JUNGLE_FENCE_GATE: \ + case E_BLOCK_SPRUCE_FENCE_GATE: \ + case E_BLOCK_TRAPDOOR: return SmallGateHandler::Callback; \ + case E_BLOCK_REDSTONE_LAMP_OFF: \ + case E_BLOCK_REDSTONE_LAMP_ON: return RedstoneLampHandler::Callback; \ + case E_BLOCK_REDSTONE_REPEATER_OFF: \ + case E_BLOCK_REDSTONE_REPEATER_ON: return RedstoneRepeaterHandler::Callback; \ + case E_BLOCK_REDSTONE_TORCH_OFF: \ + case E_BLOCK_REDSTONE_TORCH_ON: return RedstoneTorchHandler::Callback; \ + case E_BLOCK_OBSERVER: return ObserverHandler::Callback; \ + case E_BLOCK_PISTON: \ + case E_BLOCK_STICKY_PISTON: return PistonHandler::Callback; \ + case E_BLOCK_DAYLIGHT_SENSOR: \ + case E_BLOCK_INVERTED_DAYLIGHT_SENSOR: return DaylightSensorHandler::Callback; \ + case E_BLOCK_LEVER: \ + case E_BLOCK_STONE_BUTTON: \ + case E_BLOCK_WOODEN_BUTTON: return RedstoneToggleHandler::Callback; \ + case E_BLOCK_BLOCK_OF_REDSTONE: return RedstoneBlockHandler::Callback; \ + case E_BLOCK_COMMAND_BLOCK: return CommandBlockHandler::Callback; \ + case E_BLOCK_HOPPER: return HopperHandler::Callback; \ + case E_BLOCK_NOTE_BLOCK: return NoteBlockHandler::Callback; \ + case E_BLOCK_REDSTONE_WIRE: return RedstoneWireHandler::Callback; \ + case E_BLOCK_TNT: return TNTHandler::Callback; \ + case E_BLOCK_TRAPPED_CHEST: return TrappedChestHandler::Callback; \ + case E_BLOCK_TRIPWIRE_HOOK: return TripwireHookHandler::Callback; \ + default: \ + { \ + if (cBlockDoorHandler::IsDoorBlockType(BlockType)) \ + { \ + return DoorHandler::Callback; \ + } \ + } \ + } \ + } \ + while (false) @@ -94,30 +95,51 @@ namespace RedstoneHandler { - PowerLevel GetPowerDeliveredToPosition(const cChunk & Chunk, const Vector3i Position, const BLOCKTYPE BlockType, const Vector3i QueryPosition, const BLOCKTYPE QueryBlockType, const bool IsLinked) - { - INVOKE_FOR_HANDLERS(GetPowerDeliveredToPosition(Chunk, Position, BlockType, QueryPosition, QueryBlockType, IsLinked)); - - // Fell through the switch statement - // Block at Position doesn't have a corresponding redstone handler - // ErasePowerData will have been called in AddBlock - - // Default: - return 0; - } - - void Update(cChunk & Chunk, cChunk & CurrentlyTicking, const Vector3i Position, const BLOCKTYPE BlockType, const NIBBLETYPE Meta, const PowerLevel PowerLevel) - { - INVOKE_FOR_HANDLERS(Update(Chunk, CurrentlyTicking, Position, BlockType, Meta, PowerLevel)); - } - - void ForValidSourcePositions(const cChunk & Chunk, const Vector3i Position, const BLOCKTYPE BlockType, const NIBBLETYPE Meta, ForEachSourceCallback & Callback) - { - INVOKE_FOR_HANDLERS(ForValidSourcePositions(Chunk, Position, BlockType, Meta, Callback)); - } - - void SetWireState(const cChunk & Chunk, const Vector3i Position) - { - RedstoneWireHandler::SetWireState(Chunk, Position); - } +PowerLevel GetPowerDeliveredToPosition( + const cChunk & Chunk, + const Vector3i Position, + const BLOCKTYPE BlockType, + const Vector3i QueryPosition, + const BLOCKTYPE QueryBlockType, + const bool IsLinked +) +{ + INVOKE_FOR_HANDLERS(GetPowerDeliveredToPosition(Chunk, Position, BlockType, QueryPosition, QueryBlockType, IsLinked) + ); + + // Fell through the switch statement + // Block at Position doesn't have a corresponding redstone handler + // ErasePowerData will have been called in AddBlock + + // Default: + return 0; +} + +void Update( + cChunk & Chunk, + cChunk & CurrentlyTicking, + const Vector3i Position, + const BLOCKTYPE BlockType, + const NIBBLETYPE Meta, + const PowerLevel PowerLevel +) +{ + INVOKE_FOR_HANDLERS(Update(Chunk, CurrentlyTicking, Position, BlockType, Meta, PowerLevel)); +} + +void ForValidSourcePositions( + const cChunk & Chunk, + const Vector3i Position, + const BLOCKTYPE BlockType, + const NIBBLETYPE Meta, + ForEachSourceCallback & Callback +) +{ + INVOKE_FOR_HANDLERS(ForValidSourcePositions(Chunk, Position, BlockType, Meta, Callback)); +} + +void SetWireState(const cChunk & Chunk, const Vector3i Position) +{ + RedstoneWireHandler::SetWireState(Chunk, Position); } +} // namespace RedstoneHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneHandler.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneHandler.h index fdac7901f..42334e58b 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneHandler.h @@ -16,19 +16,40 @@ class ForEachSourceCallback; namespace RedstoneHandler { - /** Asks a redstone component at the source position how much power it will deliver to the querying position. - If IsLinked is true, QueryPosition should point to the intermediate conduit block. - The Position and QueryPosition are both relative to Chunk. */ - PowerLevel GetPowerDeliveredToPosition(const cChunk & Chunk, Vector3i Position, BLOCKTYPE BlockType, Vector3i QueryPosition, BLOCKTYPE QueryBlockType, bool IsLinked); - - /** Tells a redstone component at this position to update itself. - PowerLevel represents the maximum power level all of its source positions gave to it. - Position is relative to Chunk, but if the component needs to queue neighbour updates, they are queued to CurrentlyTicking. */ - void Update(cChunk & Chunk, cChunk & CurrentlyTicking, Vector3i Position, BLOCKTYPE BlockType, NIBBLETYPE Meta, PowerLevel PowerLevel); - - /** Invokes Callback for each position this component can accept power from. */ - void ForValidSourcePositions(const cChunk & Chunk, Vector3i Position, BLOCKTYPE BlockType, NIBBLETYPE Meta, ForEachSourceCallback & Callback); - - /** Temporary: compute and set the block state of a redstone wire. */ - void SetWireState(const cChunk & Chunk, Vector3i Position); -} +/** Asks a redstone component at the source position how much power it will deliver to the querying position. +If IsLinked is true, QueryPosition should point to the intermediate conduit block. +The Position and QueryPosition are both relative to Chunk. */ +PowerLevel GetPowerDeliveredToPosition( + const cChunk & Chunk, + Vector3i Position, + BLOCKTYPE BlockType, + Vector3i QueryPosition, + BLOCKTYPE QueryBlockType, + bool IsLinked +); + +/** Tells a redstone component at this position to update itself. +PowerLevel represents the maximum power level all of its source positions gave to it. +Position is relative to Chunk, but if the component needs to queue neighbour updates, they are queued to +CurrentlyTicking. */ +void Update( + cChunk & Chunk, + cChunk & CurrentlyTicking, + Vector3i Position, + BLOCKTYPE BlockType, + NIBBLETYPE Meta, + PowerLevel PowerLevel +); + +/** Invokes Callback for each position this component can accept power from. */ +void ForValidSourcePositions( + const cChunk & Chunk, + Vector3i Position, + BLOCKTYPE BlockType, + NIBBLETYPE Meta, + ForEachSourceCallback & Callback +); + +/** Temporary: compute and set the block state of a redstone wire. */ +void SetWireState(const cChunk & Chunk, Vector3i Position); +} // namespace RedstoneHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneLampHandler.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneLampHandler.h index 3b37783f6..e65e10fb7 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneLampHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneLampHandler.h @@ -7,41 +7,61 @@ namespace RedstoneLampHandler { - static bool IsOn(BLOCKTYPE a_BlockType) - { - return (a_BlockType == E_BLOCK_REDSTONE_LAMP_ON); - } +static bool IsOn(BLOCKTYPE a_BlockType) +{ + return (a_BlockType == E_BLOCK_REDSTONE_LAMP_ON); +} - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - return 0; - } +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + return 0; +} - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating lamp (%i %i %i)", a_Position.x, a_Position.y, a_Position.z); +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating lamp (%i %i %i)", a_Position.x, a_Position.y, a_Position.z); - if (Power > 0) + if (Power > 0) + { + if (!IsOn(a_BlockType)) { - if (!IsOn(a_BlockType)) - { - a_Chunk.FastSetBlock(a_Position, E_BLOCK_REDSTONE_LAMP_ON, 0); - } + a_Chunk.FastSetBlock(a_Position, E_BLOCK_REDSTONE_LAMP_ON, 0); } - else + } + else + { + if (IsOn(a_BlockType)) { - if (IsOn(a_BlockType)) - { - a_Chunk.FastSetBlock(a_Position, E_BLOCK_REDSTONE_LAMP_OFF, 0); - } + a_Chunk.FastSetBlock(a_Position, E_BLOCK_REDSTONE_LAMP_OFF, 0); } } +} - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_Chunk); - UNUSED(a_Meta); - UNUSED(a_BlockType); - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); - } -}; +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_Meta); + UNUSED(a_BlockType); + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); +} +}; // namespace RedstoneLampHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneRepeaterHandler.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneRepeaterHandler.h index 8f5e8c1b7..ea10e004e 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneRepeaterHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneRepeaterHandler.h @@ -9,147 +9,170 @@ namespace RedstoneRepeaterHandler { - static bool IsOn(BLOCKTYPE a_Block) - { - return (a_Block == E_BLOCK_REDSTONE_REPEATER_ON); - } - - /** Returns a pair with first element indicating if the block at the given position is an activated repeater. - If it is activated, the second element is the repeater metadata. */ - static std::pair IsOnRepeater(cChunk & Chunk, const Vector3i a_Position) - { - BLOCKTYPE Type; - NIBBLETYPE Meta; - - if (!Chunk.UnboundedRelGetBlock(a_Position, Type, Meta)) - { - return std::make_pair(false, static_cast(0)); - } +static bool IsOn(BLOCKTYPE a_Block) +{ + return (a_Block == E_BLOCK_REDSTONE_REPEATER_ON); +} - return std::make_pair(IsOn(Type), Meta); - } +/** Returns a pair with first element indicating if the block at the given position is an activated repeater. +If it is activated, the second element is the repeater metadata. */ +static std::pair IsOnRepeater(cChunk & Chunk, const Vector3i a_Position) +{ + BLOCKTYPE Type; + NIBBLETYPE Meta; - /** Determine, from the metadata of a repeater on our left side, if they lock us. - To test a repeater on our right, simply invert the order of arguments provided. - "Left" is relative to the direction the repeater output faces, naturally. */ - static bool DoesLhsLockMe(NIBBLETYPE a_MetaLhs, NIBBLETYPE a_MyMeta) + if (!Chunk.UnboundedRelGetBlock(a_Position, Type, Meta)) { - // Get the direction bits - a_MetaLhs &= E_META_REDSTONE_REPEATER_FACING_MASK; - a_MyMeta &= E_META_REDSTONE_REPEATER_FACING_MASK; - - /* - Check for a valid locking configuration, where they are perpendicular and one snuggles into the other. - - Order of comparisons: - XP >^ ZM - ZP |_ XP - XM <| ZP - ZP ^< xM - - Key: - ^ Facing up - _ Facing right - | Facing down - < Facing left - */ - return - ((a_MetaLhs == E_META_REDSTONE_REPEATER_FACING_XP) && (a_MyMeta == E_META_REDSTONE_REPEATER_FACING_ZM)) || - ((a_MetaLhs == E_META_REDSTONE_REPEATER_FACING_ZP) && (a_MyMeta == E_META_REDSTONE_REPEATER_FACING_XP)) || - ((a_MetaLhs == E_META_REDSTONE_REPEATER_FACING_XM) && (a_MyMeta == E_META_REDSTONE_REPEATER_FACING_ZP)) || - ((a_MetaLhs == E_META_REDSTONE_REPEATER_FACING_ZM) && (a_MyMeta == E_META_REDSTONE_REPEATER_FACING_XM)) - ; + return std::make_pair(false, static_cast(0)); } - /** Determine if a repeater is locked. - A locked repeater is one with another powered repeater facing them, to their immediate left or right sides. - "Left" is relative to the direction the repeater output faces, naturally. */ - static bool IsLocked(cChunk & Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) - { - // The left hand side offset. Will be negated to get the rhs offset - const auto LhsOffset = cBlockRedstoneRepeaterHandler::GetLeftCoordinateOffset(a_Meta); + return std::make_pair(IsOn(Type), Meta); +} - // Test the block to the left of us - const auto Lhs = IsOnRepeater(Chunk, LhsOffset + a_Position); - if (Lhs.first && DoesLhsLockMe(Lhs.second, a_Meta)) - { - return true; - } +/** Determine, from the metadata of a repeater on our left side, if they lock us. +To test a repeater on our right, simply invert the order of arguments provided. +"Left" is relative to the direction the repeater output faces, naturally. */ +static bool DoesLhsLockMe(NIBBLETYPE a_MetaLhs, NIBBLETYPE a_MyMeta) +{ + // Get the direction bits + a_MetaLhs &= E_META_REDSTONE_REPEATER_FACING_MASK; + a_MyMeta &= E_META_REDSTONE_REPEATER_FACING_MASK; + + /* + Check for a valid locking configuration, where they are perpendicular and one snuggles into the other. + + Order of comparisons: + XP >^ ZM + ZP |_ XP + XM <| ZP + ZP ^< xM + + Key: + ^ Facing up + _ Facing right + | Facing down + < Facing left + */ + return ((a_MetaLhs == E_META_REDSTONE_REPEATER_FACING_XP) && (a_MyMeta == E_META_REDSTONE_REPEATER_FACING_ZM)) || + ((a_MetaLhs == E_META_REDSTONE_REPEATER_FACING_ZP) && (a_MyMeta == E_META_REDSTONE_REPEATER_FACING_XP)) || + ((a_MetaLhs == E_META_REDSTONE_REPEATER_FACING_XM) && (a_MyMeta == E_META_REDSTONE_REPEATER_FACING_ZP)) || + ((a_MetaLhs == E_META_REDSTONE_REPEATER_FACING_ZM) && (a_MyMeta == E_META_REDSTONE_REPEATER_FACING_XM)); +} + +/** Determine if a repeater is locked. +A locked repeater is one with another powered repeater facing them, to their immediate left or right sides. +"Left" is relative to the direction the repeater output faces, naturally. */ +static bool IsLocked(cChunk & Chunk, const Vector3i a_Position, const NIBBLETYPE a_Meta) +{ + // The left hand side offset. Will be negated to get the rhs offset + const auto LhsOffset = cBlockRedstoneRepeaterHandler::GetLeftCoordinateOffset(a_Meta); - // Test the right side, flipping the argument order to DoesLhsLockMe - const auto Rhs = IsOnRepeater(Chunk, -LhsOffset + a_Position); - return Rhs.first && DoesLhsLockMe(a_Meta, Rhs.second); + // Test the block to the left of us + const auto Lhs = IsOnRepeater(Chunk, LhsOffset + a_Position); + if (Lhs.first && DoesLhsLockMe(Lhs.second, a_Meta)) + { + return true; } - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) + // Test the right side, flipping the argument order to DoesLhsLockMe + const auto Rhs = IsOnRepeater(Chunk, -LhsOffset + a_Position); + return Rhs.first && DoesLhsLockMe(a_Meta, Rhs.second); +} + +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + if (!IsOn(a_BlockType)) { - if (!IsOn(a_BlockType)) - { - return 0; - } - - const auto FrontOffset = cBlockRedstoneRepeaterHandler::GetFrontCoordinateOffset(a_Chunk.GetMeta(a_Position)); - const auto FrontPosition = a_Position + FrontOffset; - if (a_QueryPosition == FrontPosition) - { - return 15; - } - return 0; } - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) + const auto FrontOffset = cBlockRedstoneRepeaterHandler::GetFrontCoordinateOffset(a_Chunk.GetMeta(a_Position)); + const auto FrontPosition = a_Position + FrontOffset; + if (a_QueryPosition == FrontPosition) { - // LOGD("Evaluating loopy the repeater (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - - auto & Data = DataForChunk(a_Chunk); - const auto DelayInfo = Data.GetMechanismDelayInfo(a_Position); + return 15; + } - // If the repeater is locked by another, ignore and forget all power changes: - if (IsLocked(a_Chunk, a_Position, a_Meta)) - { - if (DelayInfo != nullptr) - { - Data.m_MechanismDelays.erase(a_Position); - } + return 0; +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating loopy the repeater (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - return; - } + auto & Data = DataForChunk(a_Chunk); + const auto DelayInfo = Data.GetMechanismDelayInfo(a_Position); - if (DelayInfo == nullptr) + // If the repeater is locked by another, ignore and forget all power changes: + if (IsLocked(a_Chunk, a_Position, a_Meta)) + { + if (DelayInfo != nullptr) { - bool ShouldBeOn = (Power != 0); - if (ShouldBeOn != IsOn(a_BlockType)) - { - Data.m_MechanismDelays[a_Position] = std::make_pair((((a_Meta & 0xC) >> 0x2) + 1), ShouldBeOn); - } - - return; + Data.m_MechanismDelays.erase(a_Position); } - int DelayTicks; - bool ShouldPowerOn; - std::tie(DelayTicks, ShouldPowerOn) = *DelayInfo; + return; + } - if (DelayTicks != 0) + if (DelayInfo == nullptr) + { + bool ShouldBeOn = (Power != 0); + if (ShouldBeOn != IsOn(a_BlockType)) { - return; + Data.m_MechanismDelays[a_Position] = std::make_pair((((a_Meta & 0xC) >> 0x2) + 1), ShouldBeOn); } - const auto NewType = ShouldPowerOn ? E_BLOCK_REDSTONE_REPEATER_ON : E_BLOCK_REDSTONE_REPEATER_OFF; - a_Chunk.FastSetBlock(a_Position, NewType, a_Meta); - Data.m_MechanismDelays.erase(a_Position); - - // While sleeping, we ignore any power changes and apply our saved ShouldBeOn when sleep expires - // Now, we need to recalculate to be aware of any new changes that may e.g. cause a new output change - // FastSetBlock doesn't wake simulators, so manually update ourselves: - Update(a_Chunk, CurrentlyTicking, a_Position, NewType, a_Meta, Power); - - UpdateAdjustedRelative(a_Chunk, CurrentlyTicking, a_Position, cBlockRedstoneRepeaterHandler::GetFrontCoordinateOffset(a_Meta)); + return; } - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + int DelayTicks; + bool ShouldPowerOn; + std::tie(DelayTicks, ShouldPowerOn) = *DelayInfo; + + if (DelayTicks != 0) { - Callback(cBlockRedstoneRepeaterHandler::GetRearCoordinateOffset(a_Meta) + a_Position); + return; } -}; + + const auto NewType = ShouldPowerOn ? E_BLOCK_REDSTONE_REPEATER_ON : E_BLOCK_REDSTONE_REPEATER_OFF; + a_Chunk.FastSetBlock(a_Position, NewType, a_Meta); + Data.m_MechanismDelays.erase(a_Position); + + // While sleeping, we ignore any power changes and apply our saved ShouldBeOn when sleep expires + // Now, we need to recalculate to be aware of any new changes that may e.g. cause a new output change + // FastSetBlock doesn't wake simulators, so manually update ourselves: + Update(a_Chunk, CurrentlyTicking, a_Position, NewType, a_Meta, Power); + + UpdateAdjustedRelative( + a_Chunk, + CurrentlyTicking, + a_Position, + cBlockRedstoneRepeaterHandler::GetFrontCoordinateOffset(a_Meta) + ); +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + Callback(cBlockRedstoneRepeaterHandler::GetRearCoordinateOffset(a_Meta) + a_Position); +} +}; // namespace RedstoneRepeaterHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneSimulatorChunkData.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneSimulatorChunkData.h index f9545d997..9a31d1872 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneSimulatorChunkData.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneSimulatorChunkData.h @@ -19,17 +19,10 @@ using PowerLevel = unsigned char; class cIncrementalRedstoneSimulatorChunkData final : public cRedstoneSimulatorChunkData { -public: + public: + void WakeUp(const Vector3i & a_Position) { m_ActiveBlocks.push(a_Position); } - void WakeUp(const Vector3i & a_Position) - { - m_ActiveBlocks.push(a_Position); - } - - auto & GetActiveBlocks() - { - return m_ActiveBlocks; - } + auto & GetActiveBlocks() { return m_ActiveBlocks; } PowerLevel GetCachedPowerData(const Vector3i Position) const { @@ -74,8 +67,7 @@ public: /** Adjust From-relative coordinates into To-relative coordinates. */ inline static Vector3i RebaseRelativePosition(const cChunk & From, const cChunk & To, const Vector3i Position) { - return - { + return { Position.x + (From.GetPosX() - To.GetPosX()) * cChunkDef::Width, Position.y, Position.z + (From.GetPosZ() - To.GetPosZ()) * cChunkDef::Width @@ -93,8 +85,7 @@ public: /** Structure storing position of mechanism + it's delay ticks (countdown) & if to power on. */ std::unordered_map, VectorHasher> m_MechanismDelays; -private: - + private: std::stack> m_ActiveBlocks; // TODO: map -> Position of torch + it's heat level diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneToggleHandler.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneToggleHandler.h index 45682406d..cd8a4d45c 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneToggleHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneToggleHandler.h @@ -10,96 +10,116 @@ namespace RedstoneToggleHandler { - static Vector3i GetOffsetAttachedTo(Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) +static Vector3i GetOffsetAttachedTo(Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) +{ + switch (a_BlockType) { - switch (a_BlockType) + case E_BLOCK_LEVER: { - case E_BLOCK_LEVER: + switch (a_Meta & 0x7) { - switch (a_Meta & 0x7) + case 0x0: + case 0x7: return {0, 1, 0}; + case 0x1: return {-1, 0, 0}; + case 0x2: return {1, 0, 0}; + case 0x3: return {0, 0, -1}; + case 0x4: return {0, 0, 1}; + case 0x5: + case 0x6: return {0, -1, 0}; + default: { - case 0x0: - case 0x7: return { 0, 1, 0 }; - case 0x1: return { -1, 0, 0 }; - case 0x2: return { 1, 0, 0 }; - case 0x3: return { 0, 0, -1 }; - case 0x4: return { 0, 0, 1 }; - case 0x5: - case 0x6: return { 0, -1, 0 }; - default: - { - ASSERT(!"Unhandled lever metadata!"); - return { 0, 0, 0 }; - } + ASSERT(!"Unhandled lever metadata!"); + return {0, 0, 0}; } } - case E_BLOCK_STONE_BUTTON: - case E_BLOCK_WOODEN_BUTTON: + } + case E_BLOCK_STONE_BUTTON: + case E_BLOCK_WOODEN_BUTTON: + { + switch (a_Meta & 0x7) { - switch (a_Meta & 0x7) + case 0x0: return {0, 1, 0}; + case 0x1: return {-1, 0, 0}; + case 0x2: return {1, 0, 0}; + case 0x3: return {0, 0, -1}; + case 0x4: return {0, 0, 1}; + case 0x5: return {0, -1, 0}; + default: { - case 0x0: return { 0, 1, 0 }; - case 0x1: return { -1, 0, 0 }; - case 0x2: return { 1, 0, 0 }; - case 0x3: return { 0, 0, -1 }; - case 0x4: return { 0, 0, 1 }; - case 0x5: return { 0, -1, 0 }; - default: - { - ASSERT(!"Unhandled button metadata!"); - return { 0, 0, 0 }; - } + ASSERT(!"Unhandled button metadata!"); + return {0, 0, 0}; } } - default: - { - ASSERT(!"Unexpected block passed to button/lever handler"); - return { 0, 0, 0 }; - } } - } - - static unsigned char GetPowerLevel(BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) - { - switch (a_BlockType) + default: { - case E_BLOCK_LEVER: return cBlockLeverHandler::IsLeverOn(a_Meta) ? 15 : 0; - case E_BLOCK_STONE_BUTTON: - case E_BLOCK_WOODEN_BUTTON: return cBlockButtonHandler::IsButtonOn(a_Meta) ? 15 : 0; - default: - { - ASSERT(!"Unexpected block passed to button/lever handler"); - return 0; - } + ASSERT(!"Unexpected block passed to button/lever handler"); + return {0, 0, 0}; } } +} - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) +static unsigned char GetPowerLevel(BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) +{ + switch (a_BlockType) { - UNUSED(a_QueryBlockType); - - const auto Meta = a_Chunk.GetMeta(a_Position); - const auto QueryOffset = a_QueryPosition - a_Position; - - if (IsLinked && (QueryOffset != GetOffsetAttachedTo(a_Position, a_BlockType, Meta))) + case E_BLOCK_LEVER: return cBlockLeverHandler::IsLeverOn(a_Meta) ? 15 : 0; + case E_BLOCK_STONE_BUTTON: + case E_BLOCK_WOODEN_BUTTON: return cBlockButtonHandler::IsButtonOn(a_Meta) ? 15 : 0; + default: { + ASSERT(!"Unexpected block passed to button/lever handler"); return 0; } - - return GetPowerLevel(a_BlockType, Meta); } +} - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating templatio<> the lever/button (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - } +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_QueryBlockType); + + const auto Meta = a_Chunk.GetMeta(a_Position); + const auto QueryOffset = a_QueryPosition - a_Position; - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + if (IsLinked && (QueryOffset != GetOffsetAttachedTo(a_Position, a_BlockType, Meta))) { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_Meta); - UNUSED(Callback); + return 0; } -}; + + return GetPowerLevel(a_BlockType, Meta); +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating templatio<> the lever/button (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_Meta); + UNUSED(Callback); +} +}; // namespace RedstoneToggleHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneTorchHandler.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneTorchHandler.h index 8acaecc8d..ef9279602 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneTorchHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneTorchHandler.h @@ -7,89 +7,106 @@ namespace RedstoneTorchHandler { - static bool IsOn(BLOCKTYPE a_Block) - { - return (a_Block == E_BLOCK_REDSTONE_TORCH_ON); - } +static bool IsOn(BLOCKTYPE a_Block) +{ + return (a_Block == E_BLOCK_REDSTONE_TORCH_ON); +} - static Vector3i GetOffsetAttachedTo(const NIBBLETYPE a_Meta) +static Vector3i GetOffsetAttachedTo(const NIBBLETYPE a_Meta) +{ + switch (a_Meta) { - switch (a_Meta) + case E_META_TORCH_FLOOR: return {0, -1, 0}; + case E_META_TORCH_EAST: return {-1, 0, 0}; + case E_META_TORCH_WEST: return {1, 0, 0}; + case E_META_TORCH_NORTH: return {0, 0, 1}; + case E_META_TORCH_SOUTH: return {0, 0, -1}; + default: { - case E_META_TORCH_FLOOR: return { 0, -1, 0 }; - case E_META_TORCH_EAST: return { -1, 0, 0 }; - case E_META_TORCH_WEST: return { 1, 0, 0 }; - case E_META_TORCH_NORTH: return { 0, 0, 1 }; - case E_META_TORCH_SOUTH: return { 0, 0, -1 }; - default: - { - ASSERT(!"Unhandled torch metadata"); - return { 0, 0, 0 }; - } + ASSERT(!"Unhandled torch metadata"); + return {0, 0, 0}; } } +} + +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + const auto QueryOffset = a_QueryPosition - a_Position; - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) + if (!IsOn(a_BlockType) || (QueryOffset == GetOffsetAttachedTo(a_Chunk.GetMeta(a_Position))) || + (IsLinked && (QueryOffset != OffsetYP))) { - const auto QueryOffset = a_QueryPosition - a_Position; - - if ( - !IsOn(a_BlockType) || - (QueryOffset == GetOffsetAttachedTo(a_Chunk.GetMeta(a_Position))) || - (IsLinked && (QueryOffset != OffsetYP)) - ) - { - return 0; - } - - return 15; + return 0; } - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating torchy the redstone torch (%i %i %i)", a_Position.x, a_Position.y, a_Position.z); + return 15; +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating torchy the redstone torch (%i %i %i)", a_Position.x, a_Position.y, a_Position.z); - auto & Data = DataForChunk(a_Chunk); - auto DelayInfo = Data.GetMechanismDelayInfo(a_Position); + auto & Data = DataForChunk(a_Chunk); + auto DelayInfo = Data.GetMechanismDelayInfo(a_Position); - if (DelayInfo == nullptr) + if (DelayInfo == nullptr) + { + const bool ShouldBeOn = (Power == 0); + if (ShouldBeOn != IsOn(a_BlockType)) { - const bool ShouldBeOn = (Power == 0); - if (ShouldBeOn != IsOn(a_BlockType)) - { - Data.m_MechanismDelays[a_Position] = std::make_pair(1, ShouldBeOn); - } - - return; + Data.m_MechanismDelays[a_Position] = std::make_pair(1, ShouldBeOn); } - int DelayTicks; - bool ShouldPowerOn; - std::tie(DelayTicks, ShouldPowerOn) = *DelayInfo; - - if (DelayTicks != 0) - { - return; - } + return; + } - a_Chunk.FastSetBlock(a_Position, ShouldPowerOn ? E_BLOCK_REDSTONE_TORCH_ON : E_BLOCK_REDSTONE_TORCH_OFF, a_Meta); - Data.m_MechanismDelays.erase(a_Position); + int DelayTicks; + bool ShouldPowerOn; + std::tie(DelayTicks, ShouldPowerOn) = *DelayInfo; - for (const auto & Adjacent : RelativeAdjacents) - { - // Update all adjacents (including linked power positions) - // apart from our attachment, which can't possibly need an update: - if (Adjacent != GetOffsetAttachedTo(a_Meta)) - { - UpdateAdjustedRelative(a_Chunk, CurrentlyTicking, a_Position, Adjacent); - } - } + if (DelayTicks != 0) + { + return; } - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + a_Chunk.FastSetBlock(a_Position, ShouldPowerOn ? E_BLOCK_REDSTONE_TORCH_ON : E_BLOCK_REDSTONE_TORCH_OFF, a_Meta); + Data.m_MechanismDelays.erase(a_Position); + + for (const auto & Adjacent : RelativeAdjacents) { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - Callback(a_Position + GetOffsetAttachedTo(a_Meta)); + // Update all adjacents (including linked power positions) + // apart from our attachment, which can't possibly need an update: + if (Adjacent != GetOffsetAttachedTo(a_Meta)) + { + UpdateAdjustedRelative(a_Chunk, CurrentlyTicking, a_Position, Adjacent); + } } -}; +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + Callback(a_Position + GetOffsetAttachedTo(a_Meta)); +} +}; // namespace RedstoneTorchHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/RedstoneWireHandler.h b/src/Simulator/IncrementalRedstoneSimulator/RedstoneWireHandler.h index b40491820..6706e4078 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/RedstoneWireHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/RedstoneWireHandler.h @@ -10,48 +10,51 @@ namespace RedstoneWireHandler { - /** A unified representation of wire direction. */ - enum class TemporaryDirection - { - Up, - Side - }; - - /** Invokes Callback with the wire's left, front, and right direction state corresponding to Offset. - Returns a new block constructed from the directions that the callback may have modified. */ - template - static BlockState DoWithDirectionState(const Vector3i Offset, BlockState Block, OffsetCallback Callback) - { - auto North = Block::RedstoneWire::North(Block); - auto South = Block::RedstoneWire::South(Block); - auto West = Block::RedstoneWire::West(Block); - auto East = Block::RedstoneWire::East(Block); - - if (Offset.x == -1) - { - Callback(South, West, North); - } - else if (Offset.x == 1) - { - Callback(North, East, South); - } +/** A unified representation of wire direction. */ +enum class TemporaryDirection +{ + Up, + Side +}; - if (Offset.z == -1) - { - Callback(West, North, East); - } - else if (Offset.z == 1) - { - Callback(East, South, West); - } +/** Invokes Callback with the wire's left, front, and right direction state corresponding to Offset. +Returns a new block constructed from the directions that the callback may have modified. */ +template +static BlockState DoWithDirectionState(const Vector3i Offset, BlockState Block, OffsetCallback Callback) +{ + auto North = Block::RedstoneWire::North(Block); + auto South = Block::RedstoneWire::South(Block); + auto West = Block::RedstoneWire::West(Block); + auto East = Block::RedstoneWire::East(Block); - return Block::RedstoneWire::RedstoneWire(East, North, 0, South, West); + if (Offset.x == -1) + { + Callback(South, West, North); + } + else if (Offset.x == 1) + { + Callback(North, East, South); } - /** Adjusts a given wire block so that the direction represented by Offset has state Direction. */ - static void SetDirectionState(const Vector3i Offset, BlockState & Block, TemporaryDirection Direction) + if (Offset.z == -1) + { + Callback(West, North, East); + } + else if (Offset.z == 1) { - Block = DoWithDirectionState(Offset, Block, [Direction](auto, auto & Front, auto) + Callback(East, South, West); + } + + return Block::RedstoneWire::RedstoneWire(East, North, 0, South, West); +} + +/** Adjusts a given wire block so that the direction represented by Offset has state Direction. */ +static void SetDirectionState(const Vector3i Offset, BlockState & Block, TemporaryDirection Direction) +{ + Block = DoWithDirectionState( + Offset, + Block, + [Direction](auto, auto & Front, auto) { using FrontState = std::remove_reference_t; switch (Direction) @@ -67,169 +70,184 @@ namespace RedstoneWireHandler return; } } - }); - } + } + ); +} - static bool IsDirectlyConnectingMechanism(BLOCKTYPE a_Block, NIBBLETYPE a_BlockMeta, const Vector3i a_Offset) +static bool IsDirectlyConnectingMechanism(BLOCKTYPE a_Block, NIBBLETYPE a_BlockMeta, const Vector3i a_Offset) +{ + switch (a_Block) { - switch (a_Block) + case E_BLOCK_REDSTONE_REPEATER_ON: + case E_BLOCK_REDSTONE_REPEATER_OFF: { - case E_BLOCK_REDSTONE_REPEATER_ON: - case E_BLOCK_REDSTONE_REPEATER_OFF: + a_BlockMeta &= E_META_REDSTONE_REPEATER_FACING_MASK; + if ((a_BlockMeta == E_META_REDSTONE_REPEATER_FACING_XP) || + (a_BlockMeta == E_META_REDSTONE_REPEATER_FACING_XM)) { - a_BlockMeta &= E_META_REDSTONE_REPEATER_FACING_MASK; - if ((a_BlockMeta == E_META_REDSTONE_REPEATER_FACING_XP) || (a_BlockMeta == E_META_REDSTONE_REPEATER_FACING_XM)) - { - // Wire connects to repeater if repeater is aligned along X - // and wire is in front or behind it (#4639) - return a_Offset.x != 0; - } - - return a_Offset.z != 0; + // Wire connects to repeater if repeater is aligned along X + // and wire is in front or behind it (#4639) + return a_Offset.x != 0; } - case E_BLOCK_ACTIVE_COMPARATOR: - case E_BLOCK_BLOCK_OF_REDSTONE: - case E_BLOCK_INACTIVE_COMPARATOR: - case E_BLOCK_LEVER: - case E_BLOCK_REDSTONE_TORCH_OFF: - case E_BLOCK_REDSTONE_TORCH_ON: - case E_BLOCK_REDSTONE_WIRE: - case E_BLOCK_STONE_BUTTON: - case E_BLOCK_WOODEN_BUTTON: return true; - default: return false; + + return a_Offset.z != 0; } + case E_BLOCK_ACTIVE_COMPARATOR: + case E_BLOCK_BLOCK_OF_REDSTONE: + case E_BLOCK_INACTIVE_COMPARATOR: + case E_BLOCK_LEVER: + case E_BLOCK_REDSTONE_TORCH_OFF: + case E_BLOCK_REDSTONE_TORCH_ON: + case E_BLOCK_REDSTONE_WIRE: + case E_BLOCK_STONE_BUTTON: + case E_BLOCK_WOODEN_BUTTON: return true; + default: return false; } +} - static bool IsYPTerracingBlocked(const cChunk & a_Chunk, const Vector3i a_Position) +static bool IsYPTerracingBlocked(const cChunk & a_Chunk, const Vector3i a_Position) +{ + const auto Position = a_Position + OffsetYP; + + if (!cChunkDef::IsValidHeight(Position)) { - const auto Position = a_Position + OffsetYP; + // Certainly cannot terrace at the top of the world: + return true; + } - if (!cChunkDef::IsValidHeight(Position)) - { - // Certainly cannot terrace at the top of the world: - return true; - } + const auto YPTerraceBlock = a_Chunk.GetBlock(Position); + return cBlockInfo::IsSolid(YPTerraceBlock) && !cBlockInfo::IsTransparent(YPTerraceBlock); +} - const auto YPTerraceBlock = a_Chunk.GetBlock(Position); - return cBlockInfo::IsSolid(YPTerraceBlock) && !cBlockInfo::IsTransparent(YPTerraceBlock); - } +/** Temporary. Discovers a wire's connection state, including terracing, storing the block inside redstone chunk data. +TODO: once the server supports block states this should go in the block handler, with data saved in the world. */ +static void SetWireState(const cChunk & a_Chunk, const Vector3i a_Position) +{ + auto Block = Block::RedstoneWire::RedstoneWire(); + const bool IsYPTerracingBlocked = RedstoneWireHandler::IsYPTerracingBlocked(a_Chunk, a_Position); - /** Temporary. Discovers a wire's connection state, including terracing, storing the block inside redstone chunk data. - TODO: once the server supports block states this should go in the block handler, with data saved in the world. */ - static void SetWireState(const cChunk & a_Chunk, const Vector3i a_Position) + // Loop through laterals, discovering terracing connections: + for (const auto & Offset : RelativeLaterals) { - auto Block = Block::RedstoneWire::RedstoneWire(); - const bool IsYPTerracingBlocked = RedstoneWireHandler::IsYPTerracingBlocked(a_Chunk, a_Position); + auto Adjacent = a_Position + Offset; + auto NeighbourChunk = a_Chunk.GetRelNeighborChunkAdjustCoords(Adjacent); - // Loop through laterals, discovering terracing connections: - for (const auto & Offset : RelativeLaterals) + if ((NeighbourChunk == nullptr) || !NeighbourChunk->IsValid()) { - auto Adjacent = a_Position + Offset; - auto NeighbourChunk = a_Chunk.GetRelNeighborChunkAdjustCoords(Adjacent); + continue; + } - if ((NeighbourChunk == nullptr) || !NeighbourChunk->IsValid()) - { - continue; - } + BLOCKTYPE LateralBlock; + NIBBLETYPE LateralMeta; + NeighbourChunk->GetBlockTypeMeta(Adjacent, LateralBlock, LateralMeta); - BLOCKTYPE LateralBlock; - NIBBLETYPE LateralMeta; - NeighbourChunk->GetBlockTypeMeta(Adjacent, LateralBlock, LateralMeta); + if (IsDirectlyConnectingMechanism(LateralBlock, LateralMeta, Offset)) + { + // Any direct connections on a lateral means the wire has side connection in that direction: + SetDirectionState(Offset, Block, TemporaryDirection::Side); - if (IsDirectlyConnectingMechanism(LateralBlock, LateralMeta, Offset)) + // Temporary: this case will eventually be handled when wires are placed, with the state saved as blocks + // When a neighbour wire was loaded into its chunk, its neighbour chunks may not have loaded yet + // This function is called during chunk load (through AddBlock). Attempt to tell it its new state: + if ((NeighbourChunk != &a_Chunk) && (LateralBlock == E_BLOCK_REDSTONE_WIRE)) { - // Any direct connections on a lateral means the wire has side connection in that direction: - SetDirectionState(Offset, Block, TemporaryDirection::Side); + auto & NeighbourBlock = DataForChunk(*NeighbourChunk).WireStates.find(Adjacent)->second; + SetDirectionState(-Offset, NeighbourBlock, TemporaryDirection::Side); + } - // Temporary: this case will eventually be handled when wires are placed, with the state saved as blocks - // When a neighbour wire was loaded into its chunk, its neighbour chunks may not have loaded yet - // This function is called during chunk load (through AddBlock). Attempt to tell it its new state: - if ((NeighbourChunk != &a_Chunk) && (LateralBlock == E_BLOCK_REDSTONE_WIRE)) - { - auto & NeighbourBlock = DataForChunk(*NeighbourChunk).WireStates.find(Adjacent)->second; - SetDirectionState(-Offset, NeighbourBlock, TemporaryDirection::Side); - } + continue; + } - continue; - } + if (!IsYPTerracingBlocked && // A block above us blocks all YP terracing, so the check is static in the loop + (Adjacent.y < (cChunkDef::Height - 1)) && + (NeighbourChunk->GetBlock(Adjacent + OffsetYP) == E_BLOCK_REDSTONE_WIRE + ) // Only terrace YP with another wire + ) + { + SetDirectionState( + Offset, + Block, + cBlockInfo::IsTransparent(LateralBlock) ? TemporaryDirection::Side : TemporaryDirection::Up + ); - if ( - !IsYPTerracingBlocked && // A block above us blocks all YP terracing, so the check is static in the loop - (Adjacent.y < (cChunkDef::Height - 1)) && - (NeighbourChunk->GetBlock(Adjacent + OffsetYP) == E_BLOCK_REDSTONE_WIRE) // Only terrace YP with another wire - ) + if (NeighbourChunk != &a_Chunk) { - SetDirectionState(Offset, Block, cBlockInfo::IsTransparent(LateralBlock) ? TemporaryDirection::Side : TemporaryDirection::Up); + auto & NeighbourBlock = DataForChunk(*NeighbourChunk).WireStates.find(Adjacent + OffsetYP)->second; + SetDirectionState(-Offset, NeighbourBlock, TemporaryDirection::Side); + } - if (NeighbourChunk != &a_Chunk) - { - auto & NeighbourBlock = DataForChunk(*NeighbourChunk).WireStates.find(Adjacent + OffsetYP)->second; - SetDirectionState(-Offset, NeighbourBlock, TemporaryDirection::Side); - } + continue; + } - continue; - } + if ( + // IsYMTerracingBlocked (i.e. check block above lower terracing position, a.k.a. just the plain adjacent) + (!cBlockInfo::IsSolid(LateralBlock) || cBlockInfo::IsTransparent(LateralBlock)) && (Adjacent.y > 0) && + (NeighbourChunk->GetBlock(Adjacent + OffsetYM) == E_BLOCK_REDSTONE_WIRE + ) // Only terrace YM with another wire + ) + { + SetDirectionState(Offset, Block, TemporaryDirection::Side); - if ( - // IsYMTerracingBlocked (i.e. check block above lower terracing position, a.k.a. just the plain adjacent) - (!cBlockInfo::IsSolid(LateralBlock) || cBlockInfo::IsTransparent(LateralBlock)) && - (Adjacent.y > 0) && - (NeighbourChunk->GetBlock(Adjacent + OffsetYM) == E_BLOCK_REDSTONE_WIRE) // Only terrace YM with another wire - ) + if (NeighbourChunk != &a_Chunk) { - SetDirectionState(Offset, Block, TemporaryDirection::Side); - - if (NeighbourChunk != &a_Chunk) - { - auto & NeighbourBlock = DataForChunk(*NeighbourChunk).WireStates.find(Adjacent + OffsetYM)->second; - SetDirectionState(-Offset, NeighbourBlock, TemporaryDirection::Up); - } + auto & NeighbourBlock = DataForChunk(*NeighbourChunk).WireStates.find(Adjacent + OffsetYM)->second; + SetDirectionState(-Offset, NeighbourBlock, TemporaryDirection::Up); } } + } - auto & States = DataForChunk(a_Chunk).WireStates; - const auto FindResult = States.find(a_Position); - if (FindResult != States.end()) + auto & States = DataForChunk(a_Chunk).WireStates; + const auto FindResult = States.find(a_Position); + if (FindResult != States.end()) + { + if (Block != FindResult->second) { - if (Block != FindResult->second) - { - FindResult->second = Block; + FindResult->second = Block; - // TODO: when state is stored as the block, the block handler updating via SetBlock will do this automatically - // When a wire changes connection state, it needs to update its neighbours: - a_Chunk.GetWorld()->WakeUpSimulators(cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos())); - } - - return; + // TODO: when state is stored as the block, the block handler updating via SetBlock will do this + // automatically When a wire changes connection state, it needs to update its neighbours: + a_Chunk.GetWorld()->WakeUpSimulators(cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos())); } - DataForChunk(a_Chunk).WireStates.emplace(a_Position, Block); + return; } - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - // Starts off as the wire's meta value, modified appropriately and returned - auto Power = a_Chunk.GetMeta(a_Position); - const auto QueryOffset = a_QueryPosition - a_Position; + DataForChunk(a_Chunk).WireStates.emplace(a_Position, Block); +} + +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + // Starts off as the wire's meta value, modified appropriately and returned + auto Power = a_Chunk.GetMeta(a_Position); + const auto QueryOffset = a_QueryPosition - a_Position; - if ( - (QueryOffset == OffsetYP) || // Wires do not power things above them - (IsLinked && (a_QueryBlockType == E_BLOCK_REDSTONE_WIRE)) // Nor do they link power other wires - ) - { - return 0; - } + if ((QueryOffset == OffsetYP) || // Wires do not power things above them + (IsLinked && (a_QueryBlockType == E_BLOCK_REDSTONE_WIRE)) // Nor do they link power other wires + ) + { + return 0; + } - if (QueryOffset == OffsetYM) - { - // Wires always deliver power to the block underneath - return Power; - } + if (QueryOffset == OffsetYM) + { + // Wires always deliver power to the block underneath + return Power; + } - const auto & Data = DataForChunk(a_Chunk); - const auto Block = Data.WireStates.find(a_Position)->second; + const auto & Data = DataForChunk(a_Chunk); + const auto Block = Data.WireStates.find(a_Position)->second; - DoWithDirectionState(QueryOffset, Block, [a_QueryBlockType, &Power](const auto Left, const auto Front, const auto Right) + DoWithDirectionState( + QueryOffset, + Block, + [a_QueryBlockType, &Power](const auto Left, const auto Front, const auto Right) { using LeftState = std::remove_reference_t; using FrontState = std::remove_reference_t; @@ -252,8 +270,8 @@ namespace RedstoneWireHandler Okay, we do not directly connect to the wire. 1. If there are no DC mechanisms at all, the wire powers all laterals. Great, left and right are both None. 2. If there is one DC mechanism, the wire "goes straight" along the axis of the wire and mechanism. - The only possible way for us to be powered is for us to be on the opposite end, with the wire pointing towards us. - Check that left and right are both None. + The only possible way for us to be powered is for us to be on the opposite end, with the wire pointing + towards us. Check that left and right are both None. 3. If there is more than one DC, no non-DCs are powered. Left, right, cannot both be None. */ if ((Left == LeftState::None) && (Right == RightState::None)) @@ -265,45 +283,62 @@ namespace RedstoneWireHandler // Case 3 Power = 0; - }); - - return Power; - } + } + ); + + return Power; +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating dusty the wire (%d %d %d) %i", a_Position.x, a_Position.y, a_Position.z, Power); - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) + if (a_Meta == Power) { - // LOGD("Evaluating dusty the wire (%d %d %d) %i", a_Position.x, a_Position.y, a_Position.z, Power); - - if (a_Meta == Power) - { - return; - } + return; + } - a_Chunk.SetMeta(a_Position, Power); + a_Chunk.SetMeta(a_Position, Power); - // Notify all positions, sans YP, to update: - UpdateAdjustedRelative(a_Chunk, CurrentlyTicking, a_Position, OffsetYM); - UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeLaterals); - } + // Notify all positions, sans YP, to update: + UpdateAdjustedRelative(a_Chunk, CurrentlyTicking, a_Position, OffsetYM); + UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeLaterals); +} - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) - { - UNUSED(a_BlockType); - UNUSED(a_Meta); +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_BlockType); + UNUSED(a_Meta); - Callback(a_Position + OffsetYP); - Callback(a_Position + OffsetYM); + Callback(a_Position + OffsetYP); + Callback(a_Position + OffsetYM); - const auto & Data = DataForChunk(a_Chunk); - const auto Block = Data.WireStates.find(a_Position)->second; + const auto & Data = DataForChunk(a_Chunk); + const auto Block = Data.WireStates.find(a_Position)->second; - // Figure out, based on our pre-computed block, where we connect to: - for (const auto & Offset : RelativeLaterals) - { - const auto Relative = a_Position + Offset; - Callback(Relative); + // Figure out, based on our pre-computed block, where we connect to: + for (const auto & Offset : RelativeLaterals) + { + const auto Relative = a_Position + Offset; + Callback(Relative); - DoWithDirectionState(Offset, Block, [&a_Chunk, &Callback, Relative](auto, const auto Front, auto) + DoWithDirectionState( + Offset, + Block, + [&a_Chunk, &Callback, Relative](auto, const auto Front, auto) { using FrontState = std::remove_reference_t; @@ -317,17 +352,15 @@ namespace RedstoneWireHandler // Have to do a manual check to only accept power from YM diagonal if there's a wire there const auto YMDiagonalPosition = Relative + OffsetYM; - if ( - BLOCKTYPE QueryBlock; - cChunkDef::IsValidHeight(YMDiagonalPosition) && + if (BLOCKTYPE QueryBlock; cChunkDef::IsValidHeight(YMDiagonalPosition) && a_Chunk.UnboundedRelGetBlockType(YMDiagonalPosition, QueryBlock) && - (QueryBlock == E_BLOCK_REDSTONE_WIRE) - ) + (QueryBlock == E_BLOCK_REDSTONE_WIRE)) { Callback(YMDiagonalPosition); } } - }); - } + } + ); } -}; +} +}; // namespace RedstoneWireHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/SmallGateHandler.h b/src/Simulator/IncrementalRedstoneSimulator/SmallGateHandler.h index aed9d98ee..55eb7917c 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/SmallGateHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/SmallGateHandler.h @@ -7,37 +7,57 @@ namespace SmallGateHandler { - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); - return 0; - } - - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating gateydory the fence gate/trapdoor (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - - // Use redstone data rather than block state so players can override redstone control - const auto Previous = DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, Power); - const bool IsOpen = (Previous != 0); - const bool ShouldBeOpen = Power != 0; +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); + return 0; +} + +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating gateydory the fence gate/trapdoor (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - if (ShouldBeOpen != IsOpen) - { - a_Chunk.SetMeta(a_Position, ShouldBeOpen ? (a_Meta | 0x4) : (a_Meta & ~0x04)); - } - } + // Use redstone data rather than block state so players can override redstone control + const auto Previous = DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, Power); + const bool IsOpen = (Previous != 0); + const bool ShouldBeOpen = Power != 0; - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + if (ShouldBeOpen != IsOpen) { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_Meta); - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); + a_Chunk.SetMeta(a_Position, ShouldBeOpen ? (a_Meta | 0x4) : (a_Meta & ~0x04)); } -}; +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_Meta); + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); +} +}; // namespace SmallGateHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/TNTHandler.h b/src/Simulator/IncrementalRedstoneSimulator/TNTHandler.h index cae538418..7b9a32972 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/TNTHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/TNTHandler.h @@ -7,32 +7,54 @@ namespace TNTHandler { - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); - return 0; - } - - static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating explodinator the trinitrotoluene (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - if (Power != 0) - { - a_Chunk.SetBlock(a_Position, E_BLOCK_AIR, 0); - a_Chunk.GetWorld()->SpawnPrimedTNT(Vector3d(0.5, 0.5, 0.5) + cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos())); // 80 ticks to boom - } - } - - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); + return 0; +} + +static void Update( + cChunk & a_Chunk, + cChunk &, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating explodinator the trinitrotoluene (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); + if (Power != 0) { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_Meta); - InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); + a_Chunk.SetBlock(a_Position, E_BLOCK_AIR, 0); + a_Chunk.GetWorld()->SpawnPrimedTNT( + Vector3d(0.5, 0.5, 0.5) + cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()) + ); // 80 ticks to boom } -}; +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_Meta); + InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents); +} +}; // namespace TNTHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/TrappedChestHandler.h b/src/Simulator/IncrementalRedstoneSimulator/TrappedChestHandler.h index d68e48997..9b604f8ef 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/TrappedChestHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/TrappedChestHandler.h @@ -9,49 +9,72 @@ namespace TrappedChestHandler { - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_BlockType); - UNUSED(a_QueryPosition); - UNUSED(a_QueryBlockType); - UNUSED(IsLinked); +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_BlockType); + UNUSED(a_QueryPosition); + UNUSED(a_QueryBlockType); + UNUSED(IsLinked); - return DataForChunk(a_Chunk).GetCachedPowerData(a_Position); - } + return DataForChunk(a_Chunk).GetCachedPowerData(a_Position); +} - static unsigned char GetPowerLevel(cChunk & a_Chunk, Vector3i a_Position) - { - int NumberOfPlayers = 0; - a_Chunk.DoWithBlockEntityAt(a_Position, [&NumberOfPlayers](cBlockEntity & a_BlockEntity) +static unsigned char GetPowerLevel(cChunk & a_Chunk, Vector3i a_Position) +{ + int NumberOfPlayers = 0; + a_Chunk.DoWithBlockEntityAt( + a_Position, + [&NumberOfPlayers](cBlockEntity & a_BlockEntity) { ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_TRAPPED_CHEST); NumberOfPlayers = static_cast(a_BlockEntity).GetNumberOfPlayers(); return false; - }); + } + ); - return static_cast(std::min(NumberOfPlayers, 15)); - } + return static_cast(std::min(NumberOfPlayers, 15)); +} - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) - { - // LOGD("Evaluating tricky the trapped chest (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating tricky the trapped chest (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - const auto PowerLevel = GetPowerLevel(a_Chunk, a_Position); - const auto PreviousPower = DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, PowerLevel); + const auto PowerLevel = GetPowerLevel(a_Chunk, a_Position); + const auto PreviousPower = DataForChunk(a_Chunk).ExchangeUpdateOncePowerData(a_Position, PowerLevel); - if (PowerLevel != PreviousPower) - { - UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); - } - } - - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + if (PowerLevel != PreviousPower) { - UNUSED(a_Chunk); - UNUSED(a_Position); - UNUSED(a_BlockType); - UNUSED(a_Meta); - UNUSED(Callback); + UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); } -}; +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_Position); + UNUSED(a_BlockType); + UNUSED(a_Meta); + UNUSED(Callback); +} +}; // namespace TrappedChestHandler diff --git a/src/Simulator/IncrementalRedstoneSimulator/TripwireHookHandler.h b/src/Simulator/IncrementalRedstoneSimulator/TripwireHookHandler.h index 578831db5..9fcadb0b3 100644 --- a/src/Simulator/IncrementalRedstoneSimulator/TripwireHookHandler.h +++ b/src/Simulator/IncrementalRedstoneSimulator/TripwireHookHandler.h @@ -9,104 +9,126 @@ namespace TripwireHookHandler { - static unsigned char GetPowerLevel(const cChunk & a_Chunk, Vector3i a_Position, NIBBLETYPE a_Meta) +static unsigned char GetPowerLevel(const cChunk & a_Chunk, Vector3i a_Position, NIBBLETYPE a_Meta) +{ + bool FoundActivated = false; + const auto FaceToGoTowards = cBlockTripwireHookHandler::MetadataToDirection(a_Meta); + + for (int i = 0; i < 40; ++i) // Tripwires can be connected up to 40 blocks { - bool FoundActivated = false; - const auto FaceToGoTowards = cBlockTripwireHookHandler::MetadataToDirection(a_Meta); + BLOCKTYPE Type; + NIBBLETYPE Meta; - for (int i = 0; i < 40; ++i) // Tripwires can be connected up to 40 blocks + a_Position = AddFaceDirection(a_Position, FaceToGoTowards); + if (!a_Chunk.UnboundedRelGetBlock(a_Position, Type, Meta)) { - BLOCKTYPE Type; - NIBBLETYPE Meta; + return 0; + } - a_Position = AddFaceDirection(a_Position, FaceToGoTowards); - if (!a_Chunk.UnboundedRelGetBlock(a_Position, Type, Meta)) + if (Type == E_BLOCK_TRIPWIRE) + { + if (FoundActivated) { - return 0; + continue; } - if (Type == E_BLOCK_TRIPWIRE) + if (!a_Chunk.ForEachEntityInBox( + cBoundingBox( + Vector3d(0.5, 0, 0.5) + cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()), + 0.5, + 0.5 + ), + [](cEntity &) { return true; } + )) { - if (FoundActivated) - { - continue; - } - - if ( - !a_Chunk.ForEachEntityInBox( - cBoundingBox(Vector3d(0.5, 0, 0.5) + cChunkDef::RelativeToAbsolute(a_Position, a_Chunk.GetPos()), 0.5, 0.5), - [](cEntity &) { return true; } - ) - ) - { - FoundActivated = true; - } - - continue; + FoundActivated = true; } - else if (Type == E_BLOCK_TRIPWIRE_HOOK) + + continue; + } + else if (Type == E_BLOCK_TRIPWIRE_HOOK) + { + if (ReverseBlockFace(cBlockTripwireHookHandler::MetadataToDirection(Meta)) == FaceToGoTowards) { - if (ReverseBlockFace(cBlockTripwireHookHandler::MetadataToDirection(Meta)) == FaceToGoTowards) - { - // Other hook facing in opposite direction - circuit completed! - return FoundActivated ? 15 : 1; - } + // Other hook facing in opposite direction - circuit completed! + return FoundActivated ? 15 : 1; } - - // Tripwire hook not connected at all - return 0; } + // Tripwire hook not connected at all return 0; } - static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked) - { - UNUSED(a_BlockType); - UNUSED(a_QueryBlockType); - UNUSED(a_QueryPosition); + return 0; +} + +static PowerLevel GetPowerDeliveredToPosition( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + Vector3i a_QueryPosition, + BLOCKTYPE a_QueryBlockType, + bool IsLinked +) +{ + UNUSED(a_BlockType); + UNUSED(a_QueryBlockType); + UNUSED(a_QueryPosition); + + return (GetPowerLevel(a_Chunk, a_Position, a_Chunk.GetMeta(a_Position)) == 15) ? 15 : 0; +} + +static void Update( + cChunk & a_Chunk, + cChunk & CurrentlyTicking, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + const PowerLevel Power +) +{ + // LOGD("Evaluating hooky the tripwire hook (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - return (GetPowerLevel(a_Chunk, a_Position, a_Chunk.GetMeta(a_Position)) == 15) ? 15 : 0; + const auto PowerLevel = GetPowerLevel(a_Chunk, a_Position, a_Meta); + NIBBLETYPE Meta; + if (PowerLevel == 0) + { + Meta = (a_Meta & 0x3); } - - static void Update(cChunk & a_Chunk, cChunk & CurrentlyTicking, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power) + else if (PowerLevel == 1) { - // LOGD("Evaluating hooky the tripwire hook (%d %d %d)", a_Position.x, a_Position.y, a_Position.z); - - const auto PowerLevel = GetPowerLevel(a_Chunk, a_Position, a_Meta); - NIBBLETYPE Meta; - if (PowerLevel == 0) - { - Meta = (a_Meta & 0x3); - } - else if (PowerLevel == 1) - { - // Connected but not activated, AND away the highest bit - Meta = (a_Meta & 0x7) | 0x4; - } - else if (PowerLevel == 15) - { - // Connected and activated, set the 3rd and 4th highest bits - Meta = (a_Meta | 0xC); - } - else - { - UNREACHABLE("Unexpected tripwire hook power level!"); - } - - if (Meta != a_Meta) - { - a_Chunk.SetMeta(a_Position, Meta); - UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); - } + // Connected but not activated, AND away the highest bit + Meta = (a_Meta & 0x7) | 0x4; + } + else if (PowerLevel == 15) + { + // Connected and activated, set the 3rd and 4th highest bits + Meta = (a_Meta | 0xC); + } + else + { + UNREACHABLE("Unexpected tripwire hook power level!"); } - static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback) + if (Meta != a_Meta) { - UNUSED(a_Chunk); - UNUSED(a_BlockType); - UNUSED(a_Meta); - UNUSED(a_Position); - UNUSED(Callback); + a_Chunk.SetMeta(a_Position, Meta); + UpdateAdjustedRelatives(a_Chunk, CurrentlyTicking, a_Position, RelativeAdjacents); } -}; +} + +static void ForValidSourcePositions( + const cChunk & a_Chunk, + Vector3i a_Position, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_Meta, + ForEachSourceCallback & Callback +) +{ + UNUSED(a_Chunk); + UNUSED(a_BlockType); + UNUSED(a_Meta); + UNUSED(a_Position); + UNUSED(Callback); +} +}; // namespace TripwireHookHandler diff --git a/src/Simulator/NoopFluidSimulator.h b/src/Simulator/NoopFluidSimulator.h index 93d5cb50a..d42f014df 100644 --- a/src/Simulator/NoopFluidSimulator.h +++ b/src/Simulator/NoopFluidSimulator.h @@ -15,17 +15,14 @@ -class cNoopFluidSimulator final : - public cFluidSimulator +class cNoopFluidSimulator final : public cFluidSimulator { using Super = cFluidSimulator; -public: - + public: using Super::Super; -private: - + private: virtual void SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) override { UNUSED(a_Dt); @@ -41,4 +38,4 @@ private: } virtual cFluidSimulatorData * CreateChunkData(void) override { return nullptr; } -} ; +}; diff --git a/src/Simulator/NoopRedstoneSimulator.h b/src/Simulator/NoopRedstoneSimulator.h index a361b5b12..e40959840 100644 --- a/src/Simulator/NoopRedstoneSimulator.h +++ b/src/Simulator/NoopRedstoneSimulator.h @@ -7,14 +7,12 @@ -class cRedstoneNoopSimulator final : - public cRedstoneSimulator +class cRedstoneNoopSimulator final : public cRedstoneSimulator { using Super = cRedstoneSimulator; -public: - - cRedstoneNoopSimulator(cWorld & a_World): + public: + cRedstoneNoopSimulator(cWorld & a_World) : Super(a_World) { } @@ -33,8 +31,5 @@ public: UNUSED(a_Chunk); } - virtual cRedstoneSimulatorChunkData * CreateChunkData() override - { - return nullptr; - } -} ; + virtual cRedstoneSimulatorChunkData * CreateChunkData() override { return nullptr; } +}; diff --git a/src/Simulator/RedstoneSimulator.h b/src/Simulator/RedstoneSimulator.h index 86b5b84b3..3443f37be 100644 --- a/src/Simulator/RedstoneSimulator.h +++ b/src/Simulator/RedstoneSimulator.h @@ -9,24 +9,19 @@ class cRedstoneSimulatorChunkData { -public: - - virtual ~cRedstoneSimulatorChunkData() - { - } + public: + virtual ~cRedstoneSimulatorChunkData() {} }; -class cRedstoneSimulator: - public cSimulator +class cRedstoneSimulator : public cSimulator { using Super = cSimulator; -public: - + public: using Super::Super; virtual cRedstoneSimulatorChunkData * CreateChunkData() = 0; diff --git a/src/Simulator/SandSimulator.cpp b/src/Simulator/SandSimulator.cpp index 13bc6bb36..218699b75 100644 --- a/src/Simulator/SandSimulator.cpp +++ b/src/Simulator/SandSimulator.cpp @@ -15,8 +15,7 @@ cSandSimulator::cSandSimulator(cWorld & a_World, cIniFile & a_IniFile) : - cSimulator(a_World), - m_TotalBlocks(0) + cSimulator(a_World), m_TotalBlocks(0) { m_IsInstantFall = a_IniFile.GetValueSetB("Physics", "SandInstantFall", false); } @@ -43,7 +42,8 @@ void cSandSimulator::SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, continue; } - BLOCKTYPE BlockBelow = (itr->y > 0) ? a_Chunk->GetBlock(itr->x, itr->y - 1, itr->z) : static_cast(E_BLOCK_AIR); + BLOCKTYPE BlockBelow = + (itr->y > 0) ? a_Chunk->GetBlock(itr->x, itr->y - 1, itr->z) : static_cast(E_BLOCK_AIR); if (CanStartFallingThrough(BlockBelow)) { if (m_IsInstantFall) @@ -230,17 +230,21 @@ bool cSandSimulator::DoesBreakFallingThrough(BLOCKTYPE a_BlockType, NIBBLETYPE a void cSandSimulator::FinishFalling( - cWorld * a_World, int a_BlockX, int a_BlockY, int a_BlockZ, - BLOCKTYPE a_FallingBlockType, NIBBLETYPE a_FallingBlockMeta + cWorld * a_World, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + BLOCKTYPE a_FallingBlockType, + NIBBLETYPE a_FallingBlockMeta ) { ASSERT(a_BlockY < cChunkDef::Height); - BLOCKTYPE CurrentBlockType = a_World->GetBlock({ a_BlockX, a_BlockY, a_BlockZ }); + BLOCKTYPE CurrentBlockType = a_World->GetBlock({a_BlockX, a_BlockY, a_BlockZ}); if ((a_FallingBlockType == E_BLOCK_ANVIL) || IsReplacedOnRematerialization(CurrentBlockType)) { // Rematerialize the material here: - a_World->SetBlock({ a_BlockX, a_BlockY, a_BlockZ }, a_FallingBlockType, a_FallingBlockMeta); + a_World->SetBlock({a_BlockX, a_BlockY, a_BlockZ}, a_FallingBlockType, a_FallingBlockMeta); if (a_FallingBlockType == E_BLOCK_ANVIL) { a_World->BroadcastSoundParticleEffect(EffectID::SFX_RANDOM_ANVIL_LAND, {a_BlockX, a_BlockY, a_BlockZ}, 0); @@ -289,7 +293,7 @@ bool cSandSimulator::IsAllowedBlock(BLOCKTYPE a_BlockType) void cSandSimulator::DoInstantFall(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ) { // Remove the original block: - BLOCKTYPE FallingBlockType; + BLOCKTYPE FallingBlockType; NIBBLETYPE FallingBlockMeta; a_Chunk->GetBlockTypeMeta(a_RelX, a_RelY, a_RelZ, FallingBlockType, FallingBlockMeta); a_Chunk->SetBlock({a_RelX, a_RelY, a_RelZ}, E_BLOCK_AIR, 0); @@ -329,7 +333,3 @@ void cSandSimulator::DoInstantFall(cChunk * a_Chunk, int a_RelX, int a_RelY, int // The block just "fell off the world" without leaving a trace } - - - - diff --git a/src/Simulator/SandSimulator.h b/src/Simulator/SandSimulator.h index d27fd5873..62c650b1d 100644 --- a/src/Simulator/SandSimulator.h +++ b/src/Simulator/SandSimulator.h @@ -23,11 +23,9 @@ typedef cCoordWithIntList cSandSimulatorChunkData; /** Despite the class name, this simulator takes care of all blocks that fall when suspended in the air. */ -class cSandSimulator : - public cSimulator +class cSandSimulator : public cSimulator { -public: - + public: cSandSimulator(cWorld & a_World, cIniFile & a_IniFile); /** Returns true if a falling-able block can start falling through the specified block type */ @@ -47,19 +45,22 @@ public: It either rematerializes the block (a_FallingBlockType) at the specified coords, or creates a pickup, based on the block currently present in the world at the dest specified coords. */ static void FinishFalling( - cWorld * a_World, int a_BlockX, int a_BlockY, int a_BlockZ, - BLOCKTYPE a_FallingBlockType, NIBBLETYPE a_FallingBlockMeta + cWorld * a_World, + int a_BlockX, + int a_BlockY, + int a_BlockZ, + BLOCKTYPE a_FallingBlockType, + NIBBLETYPE a_FallingBlockMeta ); static bool IsAllowedBlock(BLOCKTYPE a_BlockType); -private: - + private: virtual void SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) override; bool m_IsInstantFall; // If set to true, blocks don't fall using cFallingBlock entity, but instantly instead - int m_TotalBlocks; // Total number of blocks currently in the queue for simulating + int m_TotalBlocks; // Total number of blocks currently in the queue for simulating virtual void AddBlock(cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_Block) override; diff --git a/src/Simulator/Simulator.cpp b/src/Simulator/Simulator.cpp index 7bf553912..40a709b76 100644 --- a/src/Simulator/Simulator.cpp +++ b/src/Simulator/Simulator.cpp @@ -13,80 +13,26 @@ std::array cSimulator::GetLinkedOffsets(const Vector3i Offset) { if (Offset.x == -1) { - return - { - { - { -2, 0, 0 }, - { -1, -1, 0 }, - { -1, 1, 0 }, - { -1, 0, -1 }, - { -1, 0, 1 } - } - }; + return {{{-2, 0, 0}, {-1, -1, 0}, {-1, 1, 0}, {-1, 0, -1}, {-1, 0, 1}}}; } else if (Offset.x == 1) { - return - { - { - { 2, 0, 0 }, - { 1, -1, 0 }, - { 1, 1, 0 }, - { 1, 0, -1 }, - { 1, 0, 1 } - } - }; + return {{{2, 0, 0}, {1, -1, 0}, {1, 1, 0}, {1, 0, -1}, {1, 0, 1}}}; } else if (Offset.y == -1) { - return - { - { - { 0, -2, 0 }, - { -1, -1, 0 }, - { 1, -1, 0 }, - { 0, -1, -1 }, - { 0, -1, 1 } - } - }; + return {{{0, -2, 0}, {-1, -1, 0}, {1, -1, 0}, {0, -1, -1}, {0, -1, 1}}}; } else if (Offset.y == 1) { - return - { - { - { 0, 2, 0 }, - { -1, 1, 0 }, - { 1, 1, 0 }, - { 0, 1, -1 }, - { 0, 1, 1 } - } - }; + return {{{0, 2, 0}, {-1, 1, 0}, {1, 1, 0}, {0, 1, -1}, {0, 1, 1}}}; } else if (Offset.z == -1) { - return - { - { - { 0, 0, -2 }, - { -1, 0, -1 }, - { 1, 0, -1 }, - { 0, -1, -1 }, - { 0, 1, -1 } - } - }; + return {{{0, 0, -2}, {-1, 0, -1}, {1, 0, -1}, {0, -1, -1}, {0, 1, -1}}}; } - return - { - { - { 0, 0, 2 }, - { -1, 0, 1 }, - { 1, 0, 1 }, - { 0, -1, 1 }, - { 0, 1, 1 } - } - }; + return {{{0, 0, 2}, {-1, 0, 1}, {1, 0, 1}, {0, -1, 1}, {0, 1, 1}}}; } diff --git a/src/Simulator/Simulator.h b/src/Simulator/Simulator.h index 5bb8376b0..4a5017332 100644 --- a/src/Simulator/Simulator.h +++ b/src/Simulator/Simulator.h @@ -20,33 +20,29 @@ The functions are invoked to add all affected blocks and their direct neighbors The simulator may update its internal state based on this call. */ class cSimulator { -public: - - cSimulator(cWorld & a_World) - : m_World(a_World) + public: + cSimulator(cWorld & a_World) : + m_World(a_World) { } virtual ~cSimulator() {} /** Contains offsets for direct adjacents of any position. */ - static constexpr std::array AdjacentOffsets - { - { - { 1, 0, 0 }, - { -1, 0, 0 }, - { 0, 1, 0 }, - { 0, -1, 0 }, - { 0, 0, 1 }, - { 0, 0, -1 }, - } - }; - - /** For a given offset from a position, return the offsets that represent the adjacents of the newly offset position, excluding the old position. */ + static constexpr std::array AdjacentOffsets {{ + {1, 0, 0}, + {-1, 0, 0}, + {0, 1, 0}, + {0, -1, 0}, + {0, 0, 1}, + {0, 0, -1}, + }}; + + /** For a given offset from a position, return the offsets that represent the adjacents of the newly offset + * position, excluding the old position. */ static std::array GetLinkedOffsets(Vector3i Offset); -protected: - + protected: friend class cChunk; // Calls AddBlock() in its WakeUpSimulators() function, to speed things up friend class cSimulatorManager; // Class reponsible for dispatching calls to the various slave Simulators @@ -65,8 +61,9 @@ protected: /** Called to simulate a single block, synthesised by the simulator manager. The position represents the adjacents of the block that was actually changed, with the offset used given. Simulators may use this information to update additional blocks that were affected by the change, or queue - farther, extra-adjacents blocks to be updated. The simulator manager calls this overload after the 3-argument WakeUp. */ + farther, extra-adjacents blocks to be updated. The simulator manager calls this overload after the 3-argument + WakeUp. */ virtual void WakeUp(cChunk & a_Chunk, Vector3i a_Position, Vector3i a_Offset, BLOCKTYPE a_Block); cWorld & m_World; -} ; +}; diff --git a/src/Simulator/SimulatorManager.cpp b/src/Simulator/SimulatorManager.cpp index 7e5b9d036..06254a1f2 100644 --- a/src/Simulator/SimulatorManager.cpp +++ b/src/Simulator/SimulatorManager.cpp @@ -11,8 +11,7 @@ cSimulatorManager::cSimulatorManager(cWorld & a_World) : - m_World(a_World), - m_Ticks(0) + m_World(a_World), m_Ticks(0) { } @@ -20,9 +19,7 @@ cSimulatorManager::cSimulatorManager(cWorld & a_World) : -cSimulatorManager::~cSimulatorManager() -{ -} +cSimulatorManager::~cSimulatorManager() {} @@ -117,31 +114,35 @@ void cSimulatorManager::WakeUp(const cCuboid & a_Area) { for (int cx = ChunkStart.m_ChunkX; cx <= ChunkEnd.m_ChunkX; ++cx) { - m_World.DoWithChunk(cx, cz, [this, &area](cChunk & a_CBChunk) - { - int startX = std::max(area.p1.x, a_CBChunk.GetPosX() * cChunkDef::Width); - int startZ = std::max(area.p1.z, a_CBChunk.GetPosZ() * cChunkDef::Width); - int endX = std::min(area.p2.x, a_CBChunk.GetPosX() * cChunkDef::Width + cChunkDef::Width - 1); - int endZ = std::min(area.p2.z, a_CBChunk.GetPosZ() * cChunkDef::Width + cChunkDef::Width - 1); - - for (const auto & Item : m_Simulators) + m_World.DoWithChunk( + cx, + cz, + [this, &area](cChunk & a_CBChunk) { - const auto Simulator = Item.first; + int startX = std::max(area.p1.x, a_CBChunk.GetPosX() * cChunkDef::Width); + int startZ = std::max(area.p1.z, a_CBChunk.GetPosZ() * cChunkDef::Width); + int endX = std::min(area.p2.x, a_CBChunk.GetPosX() * cChunkDef::Width + cChunkDef::Width - 1); + int endZ = std::min(area.p2.z, a_CBChunk.GetPosZ() * cChunkDef::Width + cChunkDef::Width - 1); - for (int y = area.p1.y; y <= area.p2.y; ++y) + for (const auto & Item : m_Simulators) { - for (int z = startZ; z <= endZ; ++z) + const auto Simulator = Item.first; + + for (int y = area.p1.y; y <= area.p2.y; ++y) { - for (int x = startX; x <= endX; ++x) + for (int z = startZ; z <= endZ; ++z) { - const auto Position = cChunkDef::AbsoluteToRelative({ x, y, z }); - Simulator->WakeUp(a_CBChunk, Position, a_CBChunk.GetBlock(Position)); - } // for x - } // for z - } // for y + for (int x = startX; x <= endX; ++x) + { + const auto Position = cChunkDef::AbsoluteToRelative({x, y, z}); + Simulator->WakeUp(a_CBChunk, Position, a_CBChunk.GetBlock(Position)); + } // for x + } // for z + } // for y + } + return true; } - return true; - }); + ); } // for cx } // for cz } diff --git a/src/Simulator/SimulatorManager.h b/src/Simulator/SimulatorManager.h index 4594bd7d6..25d980942 100644 --- a/src/Simulator/SimulatorManager.h +++ b/src/Simulator/SimulatorManager.h @@ -27,15 +27,15 @@ class cWorld; class cSimulatorManager { -public: - + public: cSimulatorManager(cWorld & a_World); ~cSimulatorManager(); /** Called in each tick, a_Dt is the time passed since the last tick, in msec. */ void Simulate(float a_Dt); - /** Called in each tick for each chunk, a_Dt is the time passed since the last tick, in msec; direct access to chunk data available. */ + /** Called in each tick for each chunk, a_Dt is the time passed since the last tick, in msec; direct access to chunk + * data available. */ void SimulateChunk(std::chrono::milliseconds a_DT, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk); /* Called when a single block changes, wakes all simulators up for the block and its face-neighbors. @@ -45,20 +45,16 @@ public: /** Does the same processing as WakeUp, but for all blocks within the specified area. Has better performance than calling WakeUp for each block individually, due to neighbor-checking. All chunks intersected by the area should be valid (outputs a warning if not). - Note that, unlike WakeUp(), this call adds blocks not only face-neighboring, but also edge-neighboring and corner-neighboring the specified area. */ + Note that, unlike WakeUp(), this call adds blocks not only face-neighboring, but also edge-neighboring and + corner-neighboring the specified area. */ void WakeUp(const cCuboid & a_Area); void RegisterSimulator(cSimulator * a_Simulator, int a_Rate); // Takes ownership of the simulator object! -protected: - - typedef std::vector > cSimulators; + protected: + typedef std::vector> cSimulators; cWorld & m_World; cSimulators m_Simulators; - long long m_Ticks; + long long m_Ticks; }; - - - - diff --git a/src/Simulator/VanillaFluidSimulator.cpp b/src/Simulator/VanillaFluidSimulator.cpp index b1c690785..9e0245533 100644 --- a/src/Simulator/VanillaFluidSimulator.cpp +++ b/src/Simulator/VanillaFluidSimulator.cpp @@ -28,7 +28,7 @@ cVanillaFluidSimulator::cVanillaFluidSimulator( NIBBLETYPE a_Falloff, int a_TickDelay, int a_NumNeighborsForSource -): +) : Super(a_World, a_Fluid, a_StationaryFluid, a_Falloff, a_TickDelay, a_NumNeighborsForSource) { } @@ -41,10 +41,10 @@ void cVanillaFluidSimulator::SpreadXZ(cChunk * a_Chunk, int a_RelX, int a_RelY, { // Calculate the distance to the nearest "hole" in each direction: int Cost[4]; - Cost[0] = CalculateFlowCost(a_Chunk, a_RelX + 1, a_RelY, a_RelZ, X_PLUS); - Cost[1] = CalculateFlowCost(a_Chunk, a_RelX - 1, a_RelY, a_RelZ, X_MINUS); - Cost[2] = CalculateFlowCost(a_Chunk, a_RelX, a_RelY, a_RelZ + 1, Z_PLUS); - Cost[3] = CalculateFlowCost(a_Chunk, a_RelX, a_RelY, a_RelZ - 1, Z_MINUS); + Cost[0] = CalculateFlowCost(a_Chunk, a_RelX + 1, a_RelY, a_RelZ, X_PLUS); + Cost[1] = CalculateFlowCost(a_Chunk, a_RelX - 1, a_RelY, a_RelZ, X_MINUS); + Cost[2] = CalculateFlowCost(a_Chunk, a_RelX, a_RelY, a_RelZ + 1, Z_PLUS); + Cost[3] = CalculateFlowCost(a_Chunk, a_RelX, a_RelY, a_RelZ - 1, Z_MINUS); // Find the minimum distance: int MinCost = InfiniteCost; @@ -79,7 +79,14 @@ void cVanillaFluidSimulator::SpreadXZ(cChunk * a_Chunk, int a_RelX, int a_RelY, -int cVanillaFluidSimulator::CalculateFlowCost(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, Direction a_Dir, unsigned a_Iteration) +int cVanillaFluidSimulator::CalculateFlowCost( + cChunk * a_Chunk, + int a_RelX, + int a_RelY, + int a_RelZ, + Direction a_Dir, + unsigned a_Iteration +) { int Cost = InfiniteCost; @@ -91,8 +98,7 @@ int cVanillaFluidSimulator::CalculateFlowCost(cChunk * a_Chunk, int a_RelX, int { return Cost; } - if ( - !IsPassableForFluid(BlockType) || // The block cannot be passed by the liquid ... + if (!IsPassableForFluid(BlockType) || // The block cannot be passed by the liquid ... (IsAllowedBlock(BlockType) && (BlockMeta == 0)) // ... or if it is liquid, it is a source block ) { @@ -152,7 +158,3 @@ int cVanillaFluidSimulator::CalculateFlowCost(cChunk * a_Chunk, int a_RelX, int return Cost; } - - - - diff --git a/src/Simulator/VanillaFluidSimulator.h b/src/Simulator/VanillaFluidSimulator.h index 96ce8dc70..c5365c57f 100644 --- a/src/Simulator/VanillaFluidSimulator.h +++ b/src/Simulator/VanillaFluidSimulator.h @@ -13,13 +13,11 @@ -class cVanillaFluidSimulator: - public cFloodyFluidSimulator +class cVanillaFluidSimulator : public cFloodyFluidSimulator { using Super = cFloodyFluidSimulator; -public: - + public: cVanillaFluidSimulator( cWorld & a_World, BLOCKTYPE a_Fluid, @@ -29,15 +27,17 @@ public: int a_NumNeighborsForSource ); -protected: + protected: // cFloodyFluidSimulator overrides: virtual void SpreadXZ(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta) override; /** Recursively calculates the minimum number of blocks needed to descend a level. */ - int CalculateFlowCost(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, Direction a_Dir, unsigned a_Iteration = 0); - -} ; - - - - + int CalculateFlowCost( + cChunk * a_Chunk, + int a_RelX, + int a_RelY, + int a_RelZ, + Direction a_Dir, + unsigned a_Iteration = 0 + ); +}; diff --git a/src/Simulator/VaporizeFluidSimulator.cpp b/src/Simulator/VaporizeFluidSimulator.cpp index a0939ebca..b4d5707ee 100644 --- a/src/Simulator/VaporizeFluidSimulator.cpp +++ b/src/Simulator/VaporizeFluidSimulator.cpp @@ -14,7 +14,12 @@ -void cVaporizeFluidSimulator::SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) +void cVaporizeFluidSimulator::SimulateChunk( + std::chrono::milliseconds a_Dt, + int a_ChunkX, + int a_ChunkZ, + cChunk * a_Chunk +) { // Nothing needed @@ -33,11 +38,7 @@ void cVaporizeFluidSimulator::AddBlock(cChunk & a_Chunk, Vector3i a_Position, BL if ((a_Block == m_FluidBlock) || (a_Block == m_StationaryFluidBlock)) { a_Chunk.FastSetBlock(a_Position, E_BLOCK_AIR, 0); - World::GetBroadcastInterface(m_World).BroadcastSoundEffect( - "block.fire.extinguish", - Vector3d(a_Position), - 1.0f, - 0.6f - ); + World::GetBroadcastInterface(m_World) + .BroadcastSoundEffect("block.fire.extinguish", Vector3d(a_Position), 1.0f, 0.6f); } } diff --git a/src/Simulator/VaporizeFluidSimulator.h b/src/Simulator/VaporizeFluidSimulator.h index 60752bc72..e62d70d42 100644 --- a/src/Simulator/VaporizeFluidSimulator.h +++ b/src/Simulator/VaporizeFluidSimulator.h @@ -16,18 +16,15 @@ -class cVaporizeFluidSimulator: - public cFluidSimulator +class cVaporizeFluidSimulator : public cFluidSimulator { using Super = cFluidSimulator; -public: - + public: using Super::Super; -private: - + private: virtual void SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) override; virtual void AddBlock(cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_Block) override; virtual cFluidSimulatorData * CreateChunkData(void) override { return nullptr; } -} ; +}; diff --git a/src/SpawnPrepare.cpp b/src/SpawnPrepare.cpp index d79e12754..b254a889b 100644 --- a/src/SpawnPrepare.cpp +++ b/src/SpawnPrepare.cpp @@ -8,17 +8,16 @@ -class cSpawnPrepareCallback : - public cChunkCoordCallback +class cSpawnPrepareCallback : public cChunkCoordCallback { -public: + public: cSpawnPrepareCallback(std::shared_ptr a_SpawnPrepare) : m_SpawnPrepare(std::move(a_SpawnPrepare)) { ASSERT(m_SpawnPrepare != nullptr); } -protected: + protected: std::shared_ptr m_SpawnPrepare; virtual void Call(cChunkCoords a_Coords, bool a_IsSuccess) override @@ -31,7 +30,14 @@ protected: -cSpawnPrepare::cSpawnPrepare(cWorld & a_World, int a_SpawnChunkX, int a_SpawnChunkZ, int a_PrepareDistance, int a_FirstIdx, sMakeSharedTag): +cSpawnPrepare::cSpawnPrepare( + cWorld & a_World, + int a_SpawnChunkX, + int a_SpawnChunkZ, + int a_PrepareDistance, + int a_FirstIdx, + sMakeSharedTag +) : m_World(a_World), m_SpawnChunkX(a_SpawnChunkX), m_SpawnChunkZ(a_SpawnChunkZ), @@ -54,7 +60,14 @@ void cSpawnPrepare::PrepareChunks(cWorld & a_World, int a_SpawnChunkX, int a_Spa // Queue the initial chunks: int MaxIdx = a_PrepareDistance * a_PrepareDistance; int maxQueue = std::min(MaxIdx - 1, 100); // Number of chunks to queue at once - auto prep = std::make_shared(a_World, a_SpawnChunkX, a_SpawnChunkZ, a_PrepareDistance, maxQueue, sMakeSharedTag{}); + auto prep = std::make_shared( + a_World, + a_SpawnChunkX, + a_SpawnChunkZ, + a_PrepareDistance, + maxQueue, + sMakeSharedTag {} + ); for (int i = 0; i < maxQueue; i++) { int chunkX, chunkZ; @@ -107,7 +120,8 @@ void cSpawnPrepare::PreparedChunkCallback(int a_ChunkX, int a_ChunkZ) { int chunkX, chunkZ; DecodeChunkCoords(m_NextIdx, chunkX, chunkZ); - m_World.GetLightingThread().QueueChunk(chunkX, chunkZ, std::make_unique(shared_from_this())); + m_World.GetLightingThread() + .QueueChunk(chunkX, chunkZ, std::make_unique(shared_from_this())); m_NextIdx += 1; } @@ -116,12 +130,15 @@ void cSpawnPrepare::PreparedChunkCallback(int a_ChunkX, int a_ChunkZ) if (Now - m_LastReportTime > std::chrono::seconds(1)) { float PercentDone = static_cast(m_NumPrepared * 100) / m_MaxIdx; - float ChunkSpeed = static_cast((m_NumPrepared - m_LastReportChunkCount) * 1000) / std::chrono::duration_cast(Now - m_LastReportTime).count(); + float ChunkSpeed = static_cast((m_NumPrepared - m_LastReportChunkCount) * 1000) / + std::chrono::duration_cast(Now - m_LastReportTime).count(); LOG("Preparing spawn (%s): %.02f%% (%d/%d; %.02f chunks / sec)", - m_World.GetName().c_str(), PercentDone, m_NumPrepared.load(std::memory_order_seq_cst), m_MaxIdx, ChunkSpeed - ); + m_World.GetName().c_str(), + PercentDone, + m_NumPrepared.load(std::memory_order_seq_cst), + m_MaxIdx, + ChunkSpeed); m_LastReportTime = Now; m_LastReportChunkCount = m_NumPrepared; } } - diff --git a/src/SpawnPrepare.h b/src/SpawnPrepare.h index 62daf1f84..88ef561ff 100644 --- a/src/SpawnPrepare.h +++ b/src/SpawnPrepare.h @@ -6,18 +6,26 @@ class cWorld; /** Generates and lights the spawn area of the world. Runs as a separate thread. */ -class cSpawnPrepare: - public std::enable_shared_from_this +class cSpawnPrepare : public std::enable_shared_from_this { /** Private tag allows public constructors that can only be used with private access. */ - struct sMakeSharedTag {}; -public: - - cSpawnPrepare(cWorld & a_World, int a_SpawnChunkX, int a_SpawnChunkZ, int a_PrepareDistance, int a_FirstIdx, sMakeSharedTag); + struct sMakeSharedTag + { + }; + + public: + cSpawnPrepare( + cWorld & a_World, + int a_SpawnChunkX, + int a_SpawnChunkZ, + int a_PrepareDistance, + int a_FirstIdx, + sMakeSharedTag + ); static void PrepareChunks(cWorld & a_World, int a_SpawnChunkX, int a_SpawnChunkZ, int a_PrepareDistance); -protected: + protected: cWorld & m_World; int m_SpawnChunkX; int m_SpawnChunkZ; @@ -47,6 +55,4 @@ protected: void DecodeChunkCoords(int a_Idx, int & a_ChunkX, int & a_ChunkZ); friend class cSpawnPrepareCallback; - }; - diff --git a/src/StatisticsManager.cpp b/src/StatisticsManager.cpp index 75f23ab52..ccf6e3709 100644 --- a/src/StatisticsManager.cpp +++ b/src/StatisticsManager.cpp @@ -46,7 +46,7 @@ bool StatisticsManager::SatisfiesPrerequisite(const CustomStatistic a_Stat) cons case CustomStatistic::AchKillWither: return IsStatisticPresent(CustomStatistic::AchSpawnWither); case CustomStatistic::AchFullBeacon: return IsStatisticPresent(CustomStatistic::AchKillWither); case CustomStatistic::AchDiamondsToYou: return IsStatisticPresent(CustomStatistic::AchDiamonds); - default: UNREACHABLE("Unsupported achievement type"); + default: UNREACHABLE("Unsupported achievement type"); } } diff --git a/src/StatisticsManager.h b/src/StatisticsManager.h index 288f4aabc..fad3105cc 100644 --- a/src/StatisticsManager.h +++ b/src/StatisticsManager.h @@ -40,8 +40,7 @@ struct StatisticsManager /** Returns whether the prerequisite for awarding an achievement are satisfied. */ bool SatisfiesPrerequisite(CustomStatistic a_Stat) const; -private: - + private: /** Returns if a statistic is both present and has nonzero value. */ bool IsStatisticPresent(CustomStatistic a_Stat) const; }; diff --git a/src/StringCompression.cpp b/src/StringCompression.cpp index 6678fe1bd..5a0feca9f 100644 --- a/src/StringCompression.cpp +++ b/src/StringCompression.cpp @@ -16,7 +16,7 @@ std::string_view Compression::Result::GetStringView() const { const auto View = GetView(); - return { reinterpret_cast(View.data()), View.size() }; + return {reinterpret_cast(View.data()), View.size()}; } @@ -26,21 +26,24 @@ std::string_view Compression::Result::GetStringView() const ContiguousByteBufferView Compression::Result::GetView() const { // Get a generic std::byte * to what the variant is currently storing: - return - { - std::visit([](const auto & Buffer) -> const std::byte * - { - using Variant = std::decay_t; - - if constexpr (std::is_same_v) - { - return Buffer.data(); - } - else + return { + std::visit( + [](const auto & Buffer) -> const std::byte * { - return Buffer.get(); - } - }, Storage), Size + using Variant = std::decay_t; + + if constexpr (std::is_same_v) + { + return Buffer.data(); + } + else + { + return Buffer.get(); + } + }, + Storage + ), + Size }; } @@ -81,7 +84,7 @@ Compression::Result Compression::Compressor::Compress(const void * const Input, if (BytesWrittenOut != 0) { - return { Buffer, BytesWrittenOut }; + return {Buffer, BytesWrittenOut}; } } @@ -96,7 +99,7 @@ Compression::Result Compression::Compressor::Compress(const void * const Input, if (BytesWrittenOut != 0) { - return { std::move(Dynamic), BytesWrittenOut }; + return {std::move(Dynamic), BytesWrittenOut}; } DynamicCapacity *= 2; @@ -184,8 +187,7 @@ Compression::Result Compression::Extractor::ExtractZLib(ContiguousByteBufferView -template -Compression::Result Compression::Extractor::Extract(const ContiguousByteBufferView Input) +template Compression::Result Compression::Extractor::Extract(const ContiguousByteBufferView Input) { // First see if the stack buffer has enough space: { @@ -194,9 +196,9 @@ Compression::Result Compression::Extractor::Extract(const ContiguousByteBufferVi switch (Algorithm(m_Handle, Input.data(), Input.size(), Buffer.data(), Buffer.size(), &BytesWrittenOut)) { - case LIBDEFLATE_SUCCESS: return { Buffer, BytesWrittenOut }; + case LIBDEFLATE_SUCCESS: return {Buffer, BytesWrittenOut}; case LIBDEFLATE_INSUFFICIENT_SPACE: break; - default: throw std::runtime_error("Data extraction failed."); + default: throw std::runtime_error("Data extraction failed."); } } @@ -210,7 +212,7 @@ Compression::Result Compression::Extractor::Extract(const ContiguousByteBufferVi switch (Algorithm(m_Handle, Input.data(), Input.size(), Dynamic.get(), DynamicCapacity, &BytesWrittenOut)) { - case libdeflate_result::LIBDEFLATE_SUCCESS: return { std::move(Dynamic), BytesWrittenOut }; + case libdeflate_result::LIBDEFLATE_SUCCESS: return {std::move(Dynamic), BytesWrittenOut}; case libdeflate_result::LIBDEFLATE_INSUFFICIENT_SPACE: { DynamicCapacity *= 2; @@ -231,20 +233,18 @@ Compression::Result Compression::Extractor::Extract(const ContiguousByteBufferVi // Here we have the expected size after extraction, so directly use a suitable buffer size: if (UncompressedSize <= Result::StaticCapacity) { - if ( - Result::Static Buffer; - Algorithm(m_Handle, Input.data(), Input.size(), Buffer.data(), UncompressedSize, nullptr) == libdeflate_result::LIBDEFLATE_SUCCESS - ) + if (Result::Static Buffer; + Algorithm(m_Handle, Input.data(), Input.size(), Buffer.data(), UncompressedSize, nullptr) == + libdeflate_result::LIBDEFLATE_SUCCESS) { - return { Buffer, UncompressedSize }; + return {Buffer, UncompressedSize}; } } - else if ( - auto Dynamic = cpp20::make_unique_for_overwrite(UncompressedSize); - Algorithm(m_Handle, Input.data(), Input.size(), Dynamic.get(), UncompressedSize, nullptr) == libdeflate_result::LIBDEFLATE_SUCCESS - ) + else if (auto Dynamic = cpp20::make_unique_for_overwrite(UncompressedSize); + Algorithm(m_Handle, Input.data(), Input.size(), Dynamic.get(), UncompressedSize, nullptr) == + libdeflate_result::LIBDEFLATE_SUCCESS) { - return { std::move(Dynamic), UncompressedSize }; + return {std::move(Dynamic), UncompressedSize}; } throw std::runtime_error("Data extraction failed."); diff --git a/src/StringCompression.h b/src/StringCompression.h index 862cf7a62..06666c220 100644 --- a/src/StringCompression.h +++ b/src/StringCompression.h @@ -18,66 +18,62 @@ struct libdeflate_decompressor; namespace Compression { - /** Contains the result of a compression or extraction operation. */ - struct Result - { - using Static = std::array; - using Dynamic = std::unique_ptr; - - static constexpr size_t StaticCapacity = sizeof(Compression::Result::Static) / sizeof(Compression::Result::Static::value_type); - - /** Returns a view (of type char) of the internal store. */ - std::string_view GetStringView() const; - - /** Returns a view (of type std::byte) of the internal store. */ - ContiguousByteBufferView GetView() const; - - /** A store allocated on either the stack or heap. */ - std::variant Storage; - - /** The length of valid data in the store. */ - size_t Size; - }; - - /** Contains routines for data compression. */ - class Compressor - { - public: - - /** Creates a new compressor instance with a compression factor [0-12]. */ - Compressor(int CompressionFactor = 6); - ~Compressor(); +/** Contains the result of a compression or extraction operation. */ +struct Result +{ + using Static = std::array; + using Dynamic = std::unique_ptr; - Result CompressGZip(ContiguousByteBufferView Input); - Result CompressZLib(ContiguousByteBufferView Input); - Result CompressZLib(const void * Input, size_t Size); + static constexpr size_t StaticCapacity = + sizeof(Compression::Result::Static) / sizeof(Compression::Result::Static::value_type); - private: + /** Returns a view (of type char) of the internal store. */ + std::string_view GetStringView() const; - template - Result Compress(const void * Input, size_t Size); + /** Returns a view (of type std::byte) of the internal store. */ + ContiguousByteBufferView GetView() const; - libdeflate_compressor * m_Handle; - }; + /** A store allocated on either the stack or heap. */ + std::variant Storage; - /** Contains routines for data extraction. */ - class Extractor - { - public: + /** The length of valid data in the store. */ + size_t Size; +}; - /** Creates a new extractor instance. */ - Extractor(); - ~Extractor(); +/** Contains routines for data compression. */ +class Compressor +{ + public: + /** Creates a new compressor instance with a compression factor [0-12]. */ + Compressor(int CompressionFactor = 6); + ~Compressor(); - Result ExtractGZip(ContiguousByteBufferView Input); - Result ExtractZLib(ContiguousByteBufferView Input); - Result ExtractZLib(ContiguousByteBufferView Input, size_t UncompressedSize); + Result CompressGZip(ContiguousByteBufferView Input); + Result CompressZLib(ContiguousByteBufferView Input); + Result CompressZLib(const void * Input, size_t Size); - private: + private: + template Result Compress(const void * Input, size_t Size); - template Result Extract(ContiguousByteBufferView Input); - template Result Extract(ContiguousByteBufferView Input, size_t UncompressedSize); + libdeflate_compressor * m_Handle; +}; - libdeflate_decompressor * m_Handle; - }; -} +/** Contains routines for data extraction. */ +class Extractor +{ + public: + /** Creates a new extractor instance. */ + Extractor(); + ~Extractor(); + + Result ExtractGZip(ContiguousByteBufferView Input); + Result ExtractZLib(ContiguousByteBufferView Input); + Result ExtractZLib(ContiguousByteBufferView Input, size_t UncompressedSize); + + private: + template Result Extract(ContiguousByteBufferView Input); + template Result Extract(ContiguousByteBufferView Input, size_t UncompressedSize); + + libdeflate_decompressor * m_Handle; +}; +} // namespace Compression diff --git a/src/StringUtils.cpp b/src/StringUtils.cpp index e6d5e3812..60e0f7ba6 100644 --- a/src/StringUtils.cpp +++ b/src/StringUtils.cpp @@ -8,8 +8,8 @@ #include "fmt/printf.h" #ifdef _MSC_VER - // Under MSVC, link to WinSock2 (needed by RawBEToUTF8's byteswapping) - #pragma comment(lib, "ws2_32.lib") +// Under MSVC, link to WinSock2 (needed by RawBEToUTF8's byteswapping) +#pragma comment(lib, "ws2_32.lib") #endif @@ -111,11 +111,8 @@ AStringVector StringSplitWithQuotes(const AString & str, const AString & delim) AString current = str.substr(Prev); // If the remant is wrapped in matching quotes, remove them: - if ( - (current.length() >= 2) && - ((current.front() == '"') || (current.front() == '\'')) && - (current.front() == current.back()) - ) + if ((current.length() >= 2) && ((current.front() == '"') || (current.front() == '\'')) && + (current.front() == current.back())) { current = current.substr(1, current.length() - 2); } @@ -140,7 +137,9 @@ AString StringJoin(const AStringVector & a_Strings, const AString & a_Delimeter) // Do a dry run to gather the size const auto DelimSize = a_Delimeter.size(); size_t ResultSize = a_Strings[0].size(); - std::for_each(a_Strings.begin() + 1, a_Strings.end(), + std::for_each( + a_Strings.begin() + 1, + a_Strings.end(), [&](const AString & a_String) { ResultSize += DelimSize; @@ -152,7 +151,9 @@ AString StringJoin(const AStringVector & a_Strings, const AString & a_Delimeter) AString Result; Result.reserve(ResultSize); Result.append(a_Strings[0]); - std::for_each(a_Strings.begin() + 1, a_Strings.end(), + std::for_each( + a_Strings.begin() + 1, + a_Strings.end(), [&](const AString & a_String) { Result += a_Delimeter; @@ -267,11 +268,11 @@ AString StrToUpper(const AString & s) int NoCaseCompare(const AString & s1, const AString & s2) { - #ifdef _MSC_VER - return _stricmp(s1.c_str(), s2.c_str()); - #else - return strcasecmp(s1.c_str(), s2.c_str()); - #endif // else _MSC_VER +#ifdef _MSC_VER + return _stricmp(s1.c_str(), s2.c_str()); +#else + return strcasecmp(s1.c_str(), s2.c_str()); +#endif // else _MSC_VER } @@ -320,7 +321,7 @@ void ReplaceString(AString & iHayStack, const AString & iNeedle, const AString & size_t pos1 = iHayStack.find(iNeedle); while (pos1 != AString::npos) { - iHayStack.replace( pos1, iNeedle.size(), iReplaceWith); + iHayStack.replace(pos1, iNeedle.size(), iReplaceWith); pos1 = iHayStack.find(iNeedle, pos1 + iReplaceWith.size()); } } @@ -358,12 +359,11 @@ AString UnicodeCharToUtf8(unsigned a_UnicodeChar) { if (a_UnicodeChar < 0x80) { - return AString{static_cast(a_UnicodeChar)}; + return AString {static_cast(a_UnicodeChar)}; } else if (a_UnicodeChar < 0x800) { - return AString - { + return AString { static_cast(192 + a_UnicodeChar / 64), static_cast(128 + a_UnicodeChar % 64), }; @@ -375,8 +375,7 @@ AString UnicodeCharToUtf8(unsigned a_UnicodeChar) } else if (a_UnicodeChar < 0x10000) { - return AString - { + return AString { static_cast(224 + a_UnicodeChar / 4096), static_cast(128 + (a_UnicodeChar / 64) % 64), static_cast(128 + a_UnicodeChar % 64) @@ -384,8 +383,7 @@ AString UnicodeCharToUtf8(unsigned a_UnicodeChar) } else if (a_UnicodeChar < 0x110000) { - return AString - { + return AString { static_cast(240 + a_UnicodeChar / 262144), static_cast(128 + (a_UnicodeChar / 4096) % 64), static_cast(128 + (a_UnicodeChar / 64) % 64), @@ -437,26 +435,24 @@ Notice from the original file: * remains attached. */ -#define UNI_MAX_BMP 0x0000FFFF -#define UNI_MAX_UTF16 0x0010FFFF -#define UNI_SUR_HIGH_START 0xD800 -#define UNI_SUR_LOW_START 0xDC00 -#define UNI_SUR_LOW_END 0xDFFF +#define UNI_MAX_BMP 0x0000FFFF +#define UNI_MAX_UTF16 0x0010FFFF +#define UNI_SUR_HIGH_START 0xD800 +#define UNI_SUR_LOW_START 0xDC00 +#define UNI_SUR_LOW_END 0xDFFF -static const Byte trailingBytesForUTF8[256] = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5 +static const Byte trailingBytesForUTF8[256] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5 }; @@ -464,10 +460,7 @@ static const Byte trailingBytesForUTF8[256] = static const unsigned int offsetsFromUTF8[6] = -{ - 0x00000000UL, 0x00003080UL, 0x000E2080UL, - 0x03C82080UL, 0xFA082080UL, 0x82082080UL -}; + {0x00000000UL, 0x00003080UL, 0x000E2080UL, 0x03C82080UL, 0xFA082080UL, 0x82082080UL}; @@ -481,8 +474,12 @@ static bool isLegalUTF8(const unsigned char * source, int length) { default: return false; // Everything else falls through when "true"... - case 4: if (((a = (*--srcptr)) < 0x80) || (a > 0xbf)) return false; - case 3: if (((a = (*--srcptr)) < 0x80) || (a > 0xbf)) return false; + case 4: + if (((a = (*--srcptr)) < 0x80) || (a > 0xbf)) + return false; + case 3: + if (((a = (*--srcptr)) < 0x80) || (a > 0xbf)) + return false; case 2: { if ((a = (*--srcptr)) > 0xbf) @@ -492,14 +489,30 @@ static bool isLegalUTF8(const unsigned char * source, int length) switch (*source) { // no fall-through in this inner switch - case 0xe0: if (a < 0xa0) return false; break; - case 0xed: if (a > 0x9f) return false; break; - case 0xf0: if (a < 0x90) return false; break; - case 0xf4: if (a > 0x8f) return false; break; - default: if (a < 0x80) return false; + case 0xe0: + if (a < 0xa0) + return false; + break; + case 0xed: + if (a > 0x9f) + return false; + break; + case 0xf0: + if (a < 0x90) + return false; + break; + case 0xf4: + if (a > 0x8f) + return false; + break; + default: + if (a < 0x80) + return false; } } - case 1: if ((*source >= 0x80) && (*source < 0xc2)) return false; + case 1: + if ((*source >= 0x80) && (*source < 0xc2)) + return false; } return (*source <= 0xf4); } @@ -513,9 +526,9 @@ std::u16string UTF8ToRawBEUTF16(const AString & a_UTF8) std::u16string UTF16; UTF16.reserve(a_UTF8.size() * 2); - const unsigned char * source = reinterpret_cast(a_UTF8.data()); + const unsigned char * source = reinterpret_cast(a_UTF8.data()); const unsigned char * sourceEnd = source + a_UTF8.size(); - const int halfShift = 10; // used for shifting by 10 bits + const int halfShift = 10; // used for shifting by 10 bits const unsigned int halfBase = 0x0010000UL; const unsigned int halfMask = 0x3ffUL; @@ -644,10 +657,7 @@ AString & CreateHexDump(AString & a_Out, const void * a_Data, size_t a_Size, siz // Write Hex with a dynamic fixed width auto HexStr = fmt::string_view(Hex.data(), Hex.size()); auto CharsStr = fmt::string_view(Chars.data(), Chars.size()); - fmt::format_to( - Output, "{0:08x}: {1:{2}} {3}\n", - i, HexStr, a_BytesPerLine * 3, CharsStr - ); + fmt::format_to(Output, "{0:08x}: {1:{2}} {3}\n", i, HexStr, a_BytesPerLine * 3, CharsStr); Hex.clear(); Chars.clear(); @@ -830,11 +840,11 @@ AString ReplaceAllCharOccurrences(const AString & a_String, char a_From, char a_ /** Converts one Hex character in a Base64 encoding into the data value */ static inline int UnBase64(char c) { - if ((c >='A') && (c <= 'Z')) + if ((c >= 'A') && (c <= 'Z')) { return c - 'A'; } - if ((c >='a') && (c <= 'z')) + if ((c >= 'a') && (c <= 'z')) { return c - 'a' + 26; } @@ -876,8 +886,14 @@ AString Base64Decode(const AString & a_Base64String) switch (o & 7) { case 0: res[o >> 3] |= (c << 2); break; - case 6: res[o >> 3] |= (c >> 4); res[(o >> 3) + 1] |= (c << 4); break; - case 4: res[o >> 3] |= (c >> 2); res[(o >> 3) + 1] |= (c << 6); break; + case 6: + res[o >> 3] |= (c >> 4); + res[(o >> 3) + 1] |= (c << 4); + break; + case 4: + res[o >> 3] |= (c >> 2); + res[(o >> 3) + 1] |= (c << 6); + break; case 2: res[o >> 3] |= c; break; } o += 6; @@ -899,13 +915,10 @@ AString Base64Decode(const AString & a_Base64String) AString Base64Encode(const AString & a_Input) { - static const char BASE64[64] = - { - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', - 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', - 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/' - }; + static const char BASE64[64] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', + 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'}; AString output; output.resize(((a_Input.size() + 2) / 3) * 4); @@ -916,8 +929,10 @@ AString Base64Encode(const AString & a_Input) for (size_t i = 0; i < size_full24; i += 3) { output[output_index++] = BASE64[static_cast(a_Input[i]) >> 2]; - output[output_index++] = BASE64[(static_cast(a_Input[i]) << 4 | static_cast(a_Input[i + 1]) >> 4) & 63]; - output[output_index++] = BASE64[(static_cast(a_Input[i + 1]) << 2 | static_cast(a_Input[i + 2]) >> 6) & 63]; + output[output_index++] = BASE64 + [(static_cast(a_Input[i]) << 4 | static_cast(a_Input[i + 1]) >> 4) & 63]; + output[output_index++] = BASE64 + [(static_cast(a_Input[i + 1]) << 2 | static_cast(a_Input[i + 2]) >> 6) & 63]; output[output_index++] = BASE64[static_cast(a_Input[i + 2]) & 63]; } @@ -931,7 +946,10 @@ AString Base64Encode(const AString & a_Input) } else { - output[output_index++] = BASE64[(static_cast(a_Input[size_full24]) << 4 | static_cast(a_Input[size_full24 + 1]) >> 4) & 63]; + output[output_index++] = BASE64 + [(static_cast(a_Input[size_full24]) << 4 | + static_cast(a_Input[size_full24 + 1]) >> 4) & + 63]; output[output_index++] = BASE64[(static_cast(a_Input[size_full24 + 1]) << 2) & 63]; } @@ -948,10 +966,7 @@ AString Base64Encode(const AString & a_Input) short GetBEShort(const std::byte * const a_Mem) { - return static_cast( - (static_cast(a_Mem[0]) << 8) | - static_cast(a_Mem[1]) - ); + return static_cast((static_cast(a_Mem[0]) << 8) | static_cast(a_Mem[1])); } @@ -970,12 +985,8 @@ unsigned short GetBEUShort(const char * a_Mem) int GetBEInt(const std::byte * const a_Mem) { - return - (static_cast(a_Mem[0]) << 24) | - (static_cast(a_Mem[1]) << 16) | - (static_cast(a_Mem[2]) << 8) | - static_cast(a_Mem[3]) - ; + return (static_cast(a_Mem[0]) << 24) | (static_cast(a_Mem[1]) << 16) | (static_cast(a_Mem[2]) << 8) | + static_cast(a_Mem[3]); } @@ -1068,7 +1079,7 @@ AString StringsConcat(const AStringVector & a_Strings, char a_Separator) bool StringToFloat(const AString & a_String, float & a_Num) { - char *err; + char * err; a_Num = strtof(a_String.c_str(), &err); return (*err == 0); } diff --git a/src/StringUtils.h b/src/StringUtils.h index efb6a8566..a20a1cedc 100644 --- a/src/StringUtils.h +++ b/src/StringUtils.h @@ -10,7 +10,7 @@ typedef std::string AString; typedef std::vector AStringVector; -typedef std::list AStringList; +typedef std::list AStringList; /** A string dictionary, used for key-value pairs. */ typedef std::map AStringMap; @@ -93,10 +93,15 @@ extern std::pair URLDecode(const AString & a_String); // Exporte extern AString URLEncode(const AString & a_Text); /** Replaces all occurrences of char a_From inside a_String with char a_To. */ -extern AString ReplaceAllCharOccurrences(const AString & a_String, char a_From, char a_To); // Needn't export to Lua, since Lua doesn't have chars anyway +extern AString ReplaceAllCharOccurrences( + const AString & a_String, + char a_From, + char a_To +); // Needn't export to Lua, since Lua doesn't have chars anyway /** Decodes a Base64-encoded string into the raw data */ -extern AString Base64Decode(const AString & a_Base64String); // Exported manually due to embedded NULs and extra parameter +extern AString Base64Decode(const AString & a_Base64String +); // Exported manually due to embedded NULs and extra parameter /** Encodes a string into Base64 */ extern AString Base64Encode(const AString & a_Input); // Exported manually due to embedded NULs and extra parameter @@ -139,8 +144,7 @@ bool IsOnlyWhitespace(const AString & a_String); /** Parses any integer type. Checks bounds and returns errors out of band. */ -template -bool StringToInteger(const AString & a_str, T & a_Num) +template bool StringToInteger(const AString & a_str, T & a_Num) { size_t i = 0; bool positive = true; @@ -212,8 +216,7 @@ bool StringToInteger(const AString & a_str, T & a_Num) /** Returns a number (of any integer type T) from a key-value string map. Returns a_Default if the key is not present or the value is not a number representable in type T. */ -template -T GetStringMapInteger(const AStringMap & a_Map, const AString & a_Key, T a_Default) +template T GetStringMapInteger(const AStringMap & a_Map, const AString & a_Key, T a_Default) { // Try to locate the key: auto itr = a_Map.find(a_Key); @@ -236,7 +239,3 @@ T GetStringMapInteger(const AStringMap & a_Map, const AString & a_Key, T a_Defau // If you have any other string helper functions, declare them here - - - - diff --git a/src/UI/AnvilWindow.cpp b/src/UI/AnvilWindow.cpp index 6466575e0..ea1ae1e12 100644 --- a/src/UI/AnvilWindow.cpp +++ b/src/UI/AnvilWindow.cpp @@ -11,9 +11,7 @@ cAnvilWindow::cAnvilWindow(Vector3i a_BlockPos) : - cWindow(wtAnvil, "Repair"), - m_RepairedItemName(), - m_BlockPos(a_BlockPos) + cWindow(wtAnvil, "Repair"), m_RepairedItemName(), m_BlockPos(a_BlockPos) { m_AnvilSlotArea = new cSlotAreaAnvil(*this); m_SlotAreas.push_back(m_AnvilSlotArea); @@ -47,24 +45,26 @@ void cAnvilWindow::SetRepairedItemName(const AString & a_Name, cPlayer * a_Playe -void cAnvilWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cAnvilWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // Anvil Slot - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ } else { // Inventory or Hotbar - AreasInOrder.push_back(m_SlotAreas[0]); /* Anvil */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Anvil */ } Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } - - - - diff --git a/src/UI/AnvilWindow.h b/src/UI/AnvilWindow.h index be2ebc039..5e367bf74 100644 --- a/src/UI/AnvilWindow.h +++ b/src/UI/AnvilWindow.h @@ -15,13 +15,11 @@ -class cAnvilWindow: - public cWindow +class cAnvilWindow : public cWindow { using Super = cWindow; -public: - + public: cAnvilWindow(Vector3i a_BlockPos); /** Gets the repaired item name. */ @@ -33,14 +31,16 @@ public: /** Gets the Position from the Anvil */ const Vector3i & GetBlockPos() { return m_BlockPos; } - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; -protected: + protected: cSlotAreaAnvil * m_AnvilSlotArea; AString m_RepairedItemName; Vector3i m_BlockPos; }; - - - - diff --git a/src/UI/BeaconWindow.cpp b/src/UI/BeaconWindow.cpp index 43addf630..fa7873e47 100644 --- a/src/UI/BeaconWindow.cpp +++ b/src/UI/BeaconWindow.cpp @@ -13,9 +13,8 @@ -cBeaconWindow::cBeaconWindow(cBeaconEntity * a_Beacon): - cWindow(wtBeacon, "Beacon"), - m_Beacon(a_Beacon) +cBeaconWindow::cBeaconWindow(cBeaconEntity * a_Beacon) : + cWindow(wtBeacon, "Beacon"), m_Beacon(a_Beacon) { m_SlotAreas.push_back(new cSlotAreaBeacon(m_Beacon, *this)); m_SlotAreas.push_back(new cSlotAreaInventory(*this)); @@ -26,33 +25,39 @@ cBeaconWindow::cBeaconWindow(cBeaconEntity * a_Beacon): -void cBeaconWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cBeaconWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // Beacon Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { if (cSlotAreaBeacon::IsPlaceableItem(a_ItemStack.m_ItemType) && (a_ItemStack.m_ItemCount == 1)) { - AreasInOrder.push_back(m_SlotAreas[0]); /* Beacon */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Beacon */ } if (a_ClickedArea == m_SlotAreas[1]) { // Inventory Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ } else { // Hotbar Area - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ } Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } @@ -70,7 +75,3 @@ void cBeaconWindow::OpenedByPlayer(cPlayer & a_Player) a_Player.GetClientHandle()->SendWindowProperty(*this, 1, static_cast(m_Beacon->GetPrimaryEffect())); a_Player.GetClientHandle()->SendWindowProperty(*this, 2, static_cast(m_Beacon->GetSecondaryEffect())); } - - - - diff --git a/src/UI/BeaconWindow.h b/src/UI/BeaconWindow.h index 4b40bd635..edf904b2c 100644 --- a/src/UI/BeaconWindow.h +++ b/src/UI/BeaconWindow.h @@ -16,25 +16,26 @@ -class cBeaconWindow : - public cWindow +class cBeaconWindow : public cWindow { using Super = cWindow; -public: + public: cBeaconWindow(cBeaconEntity * a_Beacon); cBeaconEntity * GetBeaconEntity(void) const { return m_Beacon; } - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; // cWindow Overrides: virtual void OpenedByPlayer(cPlayer & a_Player) override; -protected: + protected: cBeaconEntity * m_Beacon; }; - - - - diff --git a/src/UI/BrewingstandWindow.cpp b/src/UI/BrewingstandWindow.cpp index 928eef7a8..25dc72068 100644 --- a/src/UI/BrewingstandWindow.cpp +++ b/src/UI/BrewingstandWindow.cpp @@ -13,7 +13,7 @@ -cBrewingstandWindow::cBrewingstandWindow(cBrewingstandEntity * a_Brewingstand): +cBrewingstandWindow::cBrewingstandWindow(cBrewingstandEntity * a_Brewingstand) : Super(wtBrewery, "Brewingstand") { m_SlotAreas.push_back(new cSlotAreaBrewingstand(a_Brewingstand, *this)); @@ -25,7 +25,13 @@ cBrewingstandWindow::cBrewingstandWindow(cBrewingstandEntity * a_Brewingstand): -void cBrewingstandWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cBrewingstandWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; @@ -34,14 +40,14 @@ void cBrewingstandWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlay if ((a_Slot >= 0) && (a_Slot <= 4)) { // Brewing stand Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } @@ -50,17 +56,17 @@ void cBrewingstandWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlay cBrewingRecipes * BR = cRoot::Get()->GetBrewingRecipes(); if ((BR->IsBottle(a_ItemStack)) || (BR->IsIngredient(a_ItemStack)) || BR->IsFuel(a_ItemStack)) { - AreasInOrder.push_back(m_SlotAreas[0]); /* brewing stand Area */ + AreasInOrder.push_back(m_SlotAreas[0]); /* brewing stand Area */ } else if (a_ClickedArea == m_SlotAreas[1]) { // Inventory Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ } else { // Hotbar Area - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ } Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); diff --git a/src/UI/BrewingstandWindow.h b/src/UI/BrewingstandWindow.h index 97838ccfc..f868702d6 100644 --- a/src/UI/BrewingstandWindow.h +++ b/src/UI/BrewingstandWindow.h @@ -15,18 +15,18 @@ -class cBrewingstandWindow : - public cWindow +class cBrewingstandWindow : public cWindow { using Super = cWindow; -public: - + public: cBrewingstandWindow(cBrewingstandEntity * a_Brewingstand); - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; }; - - - - diff --git a/src/UI/ChestWindow.cpp b/src/UI/ChestWindow.cpp index 56c1c96e6..726536424 100644 --- a/src/UI/ChestWindow.cpp +++ b/src/UI/ChestWindow.cpp @@ -13,7 +13,7 @@ -cChestWindow::cChestWindow(cChestEntity * a_Chest): +cChestWindow::cChestWindow(cChestEntity * a_Chest) : cWindow(wtChest, (a_Chest->GetBlockType() == E_BLOCK_CHEST) ? "Chest" : "Trapped Chest"), m_World(a_Chest->GetWorld()), m_BlockPos(a_Chest->GetPos()), @@ -106,25 +106,27 @@ void cChestWindow::OpenedByPlayer(cPlayer & a_Player) -void cChestWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cChestWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // Chest Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { // Hotbar or Inventory - AreasInOrder.push_back(m_SlotAreas[0]); /* Chest */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Chest */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } - - - - diff --git a/src/UI/ChestWindow.h b/src/UI/ChestWindow.h index 18f330519..fb45f12da 100644 --- a/src/UI/ChestWindow.h +++ b/src/UI/ChestWindow.h @@ -15,13 +15,11 @@ -class cChestWindow: - public cWindow +class cChestWindow : public cWindow { using Super = cWindow; -public: - + public: cChestWindow(cChestEntity * a_Chest); cChestWindow(cChestEntity * a_PrimaryChest, cChestEntity * a_SecondaryChest); @@ -32,15 +30,17 @@ public: virtual void OpenedByPlayer(cPlayer & a_Player) override; - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; -protected: + protected: cWorld * m_World; Vector3i m_BlockPos; // Position of the chest, for the window-close packet cChestEntity * m_PrimaryChest; cChestEntity * m_SecondaryChest; }; - - - - diff --git a/src/UI/CraftingWindow.cpp b/src/UI/CraftingWindow.cpp index d72e13729..ec599fdad 100644 --- a/src/UI/CraftingWindow.cpp +++ b/src/UI/CraftingWindow.cpp @@ -22,7 +22,13 @@ cCraftingWindow::cCraftingWindow() : -void cCraftingWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cCraftingWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; @@ -32,26 +38,26 @@ void cCraftingWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & if (a_Slot == 0) { // Result Slot - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ } else { - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ } Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, (a_Slot == 0)); } else if (a_ClickedArea == m_SlotAreas[1]) { // Inventory Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } else { // Hotbar - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } diff --git a/src/UI/CraftingWindow.h b/src/UI/CraftingWindow.h index b0de69704..0f49e2720 100644 --- a/src/UI/CraftingWindow.h +++ b/src/UI/CraftingWindow.h @@ -15,16 +15,20 @@ -class cCraftingWindow: - public cWindow +class cCraftingWindow : public cWindow { using Super = cWindow; -public: - + public: cCraftingWindow(); - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; /** Loads the given Recipe into the crafting grid */ void LoadRecipe(cPlayer & a_Player, UInt32 a_RecipeId); diff --git a/src/UI/DropSpenserWindow.cpp b/src/UI/DropSpenserWindow.cpp index 8949d8fe0..2f52d35f9 100644 --- a/src/UI/DropSpenserWindow.cpp +++ b/src/UI/DropSpenserWindow.cpp @@ -11,7 +11,7 @@ -cDropSpenserWindow::cDropSpenserWindow(cDropSpenserEntity * a_DropSpenser): +cDropSpenserWindow::cDropSpenserWindow(cDropSpenserEntity * a_DropSpenser) : Super(wtDropSpenser, (a_DropSpenser->GetBlockType() == E_BLOCK_DISPENSER) ? "Dispenser" : "Dropper") { m_SlotAreas.push_back(new cSlotAreaItemGrid(a_DropSpenser->GetContents(), *this)); @@ -23,25 +23,27 @@ cDropSpenserWindow::cDropSpenserWindow(cDropSpenserEntity * a_DropSpenser): -void cDropSpenserWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cDropSpenserWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // DropSpenser Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { // Inventory or Hotbar - AreasInOrder.push_back(m_SlotAreas[0]); /* DropSpenser */ + AreasInOrder.push_back(m_SlotAreas[0]); /* DropSpenser */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } - - - - diff --git a/src/UI/DropSpenserWindow.h b/src/UI/DropSpenserWindow.h index 0fb961712..a47839b10 100644 --- a/src/UI/DropSpenserWindow.h +++ b/src/UI/DropSpenserWindow.h @@ -16,17 +16,18 @@ -class cDropSpenserWindow : - public cWindow +class cDropSpenserWindow : public cWindow { using Super = cWindow; -public: + public: cDropSpenserWindow(cDropSpenserEntity * a_DropSpenser); - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; }; - - - - diff --git a/src/UI/EnchantingWindow.cpp b/src/UI/EnchantingWindow.cpp index 9ebb70f32..6f6a1db72 100644 --- a/src/UI/EnchantingWindow.cpp +++ b/src/UI/EnchantingWindow.cpp @@ -12,9 +12,7 @@ cEnchantingWindow::cEnchantingWindow(Vector3i a_BlockPos, const AString & a_Title) : - cWindow(wtEnchantment, a_Title), - m_SlotArea(), - m_BlockPos(a_BlockPos) + cWindow(wtEnchantment, a_Title), m_SlotArea(), m_BlockPos(a_BlockPos) { m_SlotArea = new cSlotAreaEnchanting(*this, m_BlockPos); m_SlotAreas.push_back(m_SlotArea); @@ -50,25 +48,27 @@ short cEnchantingWindow::GetProperty(size_t a_Property) -void cEnchantingWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cEnchantingWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // Enchanting Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { // Inventory or Hotbar - AreasInOrder.push_back(m_SlotAreas[0]); /* Enchanting */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Enchanting */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } - - - - diff --git a/src/UI/EnchantingWindow.h b/src/UI/EnchantingWindow.h index e166fd1de..bdf48bb20 100644 --- a/src/UI/EnchantingWindow.h +++ b/src/UI/EnchantingWindow.h @@ -21,13 +21,11 @@ class cSlotAreaEnchanting; -class cEnchantingWindow final : - public cWindow +class cEnchantingWindow final : public cWindow { using Super = cWindow; -public: - + public: cEnchantingWindow(Vector3i a_BlockPos, const AString & a_Title); /** Sends enchantment properties to the client. @@ -37,12 +35,17 @@ public: /** Return the level requirement of the given enchantment slot. */ short GetProperty(size_t a_Property); - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; cSlotAreaEnchanting * m_SlotArea; -protected: - + protected: std::array m_PropertyValue; Vector3i m_BlockPos; }; diff --git a/src/UI/EnderChestWindow.cpp b/src/UI/EnderChestWindow.cpp index 4b48f7ad2..7433f17df 100644 --- a/src/UI/EnderChestWindow.cpp +++ b/src/UI/EnderChestWindow.cpp @@ -12,22 +12,15 @@ -cEnderChestWindow::cEnderChestWindow(cEnderChestEntity * a_EnderChest): - cWindow(wtChest, "Ender Chest"), - m_World(a_EnderChest->GetWorld()), - m_BlockPos(a_EnderChest->GetPos()) +cEnderChestWindow::cEnderChestWindow(cEnderChestEntity * a_EnderChest) : + cWindow(wtChest, "Ender Chest"), m_World(a_EnderChest->GetWorld()), m_BlockPos(a_EnderChest->GetPos()) { m_SlotAreas.push_back(new cSlotAreaEnderChest(a_EnderChest, *this)); m_SlotAreas.push_back(new cSlotAreaInventory(*this)); m_SlotAreas.push_back(new cSlotAreaHotBar(*this)); // Play the opening sound: - m_World->BroadcastSoundEffect( - "block.enderchest.open", - m_BlockPos, - 1, - 1 - ); + m_World->BroadcastSoundEffect("block.enderchest.open", m_BlockPos, 1, 1); // Send out the chest-open packet: m_World->BroadcastBlockAction(m_BlockPos, 1, 1, E_BLOCK_ENDER_CHEST); @@ -43,36 +36,34 @@ cEnderChestWindow::~cEnderChestWindow() m_World->BroadcastBlockAction(m_BlockPos, 1, 0, E_BLOCK_ENDER_CHEST); // Play the closing sound - m_World->BroadcastSoundEffect( - "block.enderchest.close", - m_BlockPos, - 1, 1 - ); + m_World->BroadcastSoundEffect("block.enderchest.close", m_BlockPos, 1, 1); } -void cEnderChestWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cEnderChestWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // Chest Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { // Hotbar or Inventory - AreasInOrder.push_back(m_SlotAreas[0]); /* Chest */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Chest */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } - - - - diff --git a/src/UI/EnderChestWindow.h b/src/UI/EnderChestWindow.h index 491e94a2a..31b87d557 100644 --- a/src/UI/EnderChestWindow.h +++ b/src/UI/EnderChestWindow.h @@ -16,24 +16,24 @@ -class cEnderChestWindow: - public cWindow +class cEnderChestWindow : public cWindow { using Super = cWindow; -public: - + public: cEnderChestWindow(cEnderChestEntity * a_EnderChest); virtual ~cEnderChestWindow() override; - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; -protected: + protected: cWorld * m_World; Vector3i m_BlockPos; // Position of the enderchest, for the window-close packet }; - - - - diff --git a/src/UI/FurnaceWindow.cpp b/src/UI/FurnaceWindow.cpp index 7be7a92d6..77f80afd2 100644 --- a/src/UI/FurnaceWindow.cpp +++ b/src/UI/FurnaceWindow.cpp @@ -13,7 +13,7 @@ -cFurnaceWindow::cFurnaceWindow(cFurnaceEntity * a_Furnace): +cFurnaceWindow::cFurnaceWindow(cFurnaceEntity * a_Furnace) : cWindow(wtFurnace, "Furnace") { m_SlotAreas.push_back(new cSlotAreaFurnace(a_Furnace, *this)); @@ -25,7 +25,13 @@ cFurnaceWindow::cFurnaceWindow(cFurnaceEntity * a_Furnace): -void cFurnaceWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cFurnaceWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; @@ -35,15 +41,15 @@ void cFurnaceWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & if (a_Slot == 2) { // Result Slot - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { // Furnace Input / Fuel Slot - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } @@ -53,22 +59,18 @@ void cFurnaceWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & if ((FurnaceRecipes->GetRecipeFrom(a_ItemStack) != nullptr) || (FurnaceRecipes->IsFuel(a_ItemStack))) { // The item is a valid input item or fuel - AreasInOrder.push_back(m_SlotAreas[0]); /* Furnace Area */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Furnace Area */ } else if (a_ClickedArea == m_SlotAreas[1]) { // Inventory Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ } else { // Hotbar Area - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ } Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } - - - - diff --git a/src/UI/FurnaceWindow.h b/src/UI/FurnaceWindow.h index 9cea458f6..5bb999607 100644 --- a/src/UI/FurnaceWindow.h +++ b/src/UI/FurnaceWindow.h @@ -15,18 +15,18 @@ -class cFurnaceWindow : - public cWindow +class cFurnaceWindow : public cWindow { using Super = cWindow; -public: + public: cFurnaceWindow(cFurnaceEntity * a_Furnace); - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; - + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; }; - - - - diff --git a/src/UI/HopperWindow.cpp b/src/UI/HopperWindow.cpp index 8ac90401b..f50ec633a 100644 --- a/src/UI/HopperWindow.cpp +++ b/src/UI/HopperWindow.cpp @@ -13,7 +13,7 @@ -cHopperWindow::cHopperWindow(cHopperEntity * a_Hopper): +cHopperWindow::cHopperWindow(cHopperEntity * a_Hopper) : Super(wtHopper, "Hopper") { m_SlotAreas.push_back(new cSlotAreaItemGrid(a_Hopper->GetContents(), *this)); @@ -25,25 +25,27 @@ cHopperWindow::cHopperWindow(cHopperEntity * a_Hopper): -void cHopperWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cHopperWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // Hopper Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { // Inventory or Hotbar - AreasInOrder.push_back(m_SlotAreas[0]); /* Hopper */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Hopper */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } - - - - diff --git a/src/UI/HopperWindow.h b/src/UI/HopperWindow.h index 98bfccbb3..e7e235bfa 100644 --- a/src/UI/HopperWindow.h +++ b/src/UI/HopperWindow.h @@ -15,19 +15,18 @@ -class cHopperWindow: - public cWindow +class cHopperWindow : public cWindow { using Super = cWindow; -public: - + public: cHopperWindow(cHopperEntity * a_Hopper); - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; - + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; }; - - - - diff --git a/src/UI/HorseWindow.cpp b/src/UI/HorseWindow.cpp index bc15682f1..fcc1728fc 100644 --- a/src/UI/HorseWindow.cpp +++ b/src/UI/HorseWindow.cpp @@ -12,9 +12,8 @@ -cHorseWindow::cHorseWindow(cHorse & a_Horse): - Super(wtAnimalChest, "Horse"), - m_Horse(a_Horse) +cHorseWindow::cHorseWindow(cHorse & a_Horse) : + Super(wtAnimalChest, "Horse"), m_Horse(a_Horse) { m_SlotAreas.push_back(new cSlotAreaHorse(a_Horse, *this)); m_SlotAreas.push_back(new cSlotAreaInventory(*this)); @@ -25,15 +24,21 @@ cHorseWindow::cHorseWindow(cHorse & a_Horse): -void cHorseWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cHorseWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // Horse Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else @@ -41,7 +46,7 @@ void cHorseWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_ // Inventory or Hotbar if (ItemCategory::IsHorseArmor(a_ItemStack.m_ItemType) || (a_ItemStack.m_ItemType == E_ITEM_SADDLE)) { - AreasInOrder.push_back(m_SlotAreas[0]); /* Horse */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Horse */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } @@ -55,7 +60,3 @@ UInt32 cHorseWindow::GetHorseID() const { return m_Horse.GetUniqueID(); } - - - - diff --git a/src/UI/HorseWindow.h b/src/UI/HorseWindow.h index 77bc2d627..76e8a22b5 100644 --- a/src/UI/HorseWindow.h +++ b/src/UI/HorseWindow.h @@ -13,22 +13,24 @@ class cHorse; -class cHorseWindow : - public cWindow +class cHorseWindow : public cWindow { using Super = cWindow; -public: + + public: cHorseWindow(cHorse & a_Horse); - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; /** Returns the horse's entity ID. */ UInt32 GetHorseID() const; -private: + private: cHorse & m_Horse; }; - - - - diff --git a/src/UI/InventoryWindow.cpp b/src/UI/InventoryWindow.cpp index a3122d2d9..1fa8541b3 100644 --- a/src/UI/InventoryWindow.cpp +++ b/src/UI/InventoryWindow.cpp @@ -12,10 +12,10 @@ cInventoryWindow::cInventoryWindow(cPlayer & a_Player) : - cWindow(wtInventory, "Inventory"), - m_Player(a_Player) + cWindow(wtInventory, "Inventory"), m_Player(a_Player) { - m_SlotAreas.push_back(new cSlotAreaCrafting(2, *this)); // The creative inventory doesn't display it, but it's still counted into slot numbers + m_SlotAreas.push_back(new cSlotAreaCrafting(2, *this) + ); // The creative inventory doesn't display it, but it's still counted into slot numbers m_SlotAreas.push_back(new cSlotAreaArmor(*this)); m_SlotAreas.push_back(new cSlotAreaInventory(*this)); m_SlotAreas.push_back(new cSlotAreaHotBar(*this)); @@ -26,7 +26,13 @@ cInventoryWindow::cInventoryWindow(cPlayer & a_Player) : -void cInventoryWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) +void cInventoryWindow::DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply +) { cSlotAreas AreasInOrder; @@ -36,35 +42,35 @@ void cInventoryWindow::DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer if (a_Slot == 0) { // Result Slot - AreasInOrder.push_back(m_SlotAreas[3]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[2]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[3]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Inventory */ } else { - AreasInOrder.push_back(m_SlotAreas[2]); /* Inventory */ - AreasInOrder.push_back(m_SlotAreas[3]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[3]); /* Hotbar */ } Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, (a_Slot == 0)); } else if (a_ClickedArea == m_SlotAreas[1]) { // Armor Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Inventory */ - AreasInOrder.push_back(m_SlotAreas[3]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[3]); /* Hotbar */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } else if (a_ClickedArea == m_SlotAreas[2]) { // Inventory Area - AreasInOrder.push_back(m_SlotAreas[1]); /* Armor */ - AreasInOrder.push_back(m_SlotAreas[3]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Armor */ + AreasInOrder.push_back(m_SlotAreas[3]); /* Hotbar */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } else { // Hotbar - AreasInOrder.push_back(m_SlotAreas[1]); /* Armor */ - AreasInOrder.push_back(m_SlotAreas[2]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Armor */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } diff --git a/src/UI/InventoryWindow.h b/src/UI/InventoryWindow.h index 052439f40..4b89a9a3f 100644 --- a/src/UI/InventoryWindow.h +++ b/src/UI/InventoryWindow.h @@ -15,19 +15,24 @@ -class cInventoryWindow: - public cWindow +class cInventoryWindow : public cWindow { using Super = cWindow; -public: - + public: cInventoryWindow(cPlayer & a_Player); - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override; + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override; /** Loads the given Recipe into the crafting grid */ void LoadRecipe(cPlayer & a_Player, UInt32 a_RecipeId); -protected: + + protected: cPlayer & m_Player; }; diff --git a/src/UI/MinecartWithChestWindow.h b/src/UI/MinecartWithChestWindow.h index 7303ecf96..d600d2f73 100644 --- a/src/UI/MinecartWithChestWindow.h +++ b/src/UI/MinecartWithChestWindow.h @@ -16,16 +16,13 @@ -class cMinecartWithChestWindow: - public cWindow +class cMinecartWithChestWindow : public cWindow { using Super = cWindow; -public: - + public: cMinecartWithChestWindow(cMinecartWithChest * a_ChestCart) : - cWindow(wtChest, "Minecart with Chest"), - m_ChestCart(a_ChestCart) + cWindow(wtChest, "Minecart with Chest"), m_ChestCart(a_ChestCart) { m_SlotAreas.push_back(new cSlotAreaMinecartWithChest(a_ChestCart, *this)); m_SlotAreas.push_back(new cSlotAreaInventory(*this)); @@ -34,21 +31,27 @@ public: a_ChestCart->GetWorld()->BroadcastSoundEffect("block.chest.open", a_ChestCart->GetPosition(), 1, 1); } - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) override { cSlotAreas AreasInOrder; if (a_ClickedArea == m_SlotAreas[0]) { // Chest Area - AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ - AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); } else { // Hotbar or Inventory - AreasInOrder.push_back(m_SlotAreas[0]); /* Chest */ + AreasInOrder.push_back(m_SlotAreas[0]); /* Chest */ Super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); } } @@ -59,10 +62,6 @@ public: m_ChestCart->GetWorld()->BroadcastSoundEffect("block.chest.close", m_ChestCart->GetPosition(), 1, 1); } -private: + private: cMinecartWithChest * m_ChestCart; }; - - - - diff --git a/src/UI/SlotArea.cpp b/src/UI/SlotArea.cpp index 4085dc816..506cd8117 100644 --- a/src/UI/SlotArea.cpp +++ b/src/UI/SlotArea.cpp @@ -31,8 +31,7 @@ // cSlotArea: cSlotArea::cSlotArea(int a_NumSlots, cWindow & a_ParentWindow) : - m_NumSlots(a_NumSlots), - m_ParentWindow(a_ParentWindow) + m_NumSlots(a_NumSlots), m_ParentWindow(a_ParentWindow) { } @@ -182,7 +181,8 @@ void cSlotArea::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickA ASSERT(!"Bad item stack size - where did we get more items in a slot than allowed?"); FreeSlots = 0; } - char Filling = static_cast((FreeSlots > DraggingItem.m_ItemCount) ? DraggingItem.m_ItemCount : FreeSlots); + char Filling = + static_cast((FreeSlots > DraggingItem.m_ItemCount) ? DraggingItem.m_ItemCount : FreeSlots); Slot.m_ItemCount += Filling; DraggingItem.m_ItemCount -= Filling; @@ -255,7 +255,8 @@ void cSlotArea::DblClicked(cPlayer & a_Player, int a_SlotNum) m_ParentWindow.CollectItemsToHand(Dragging, *this, a_Player, true); } - m_ParentWindow.BroadcastWholeWindow(); // We need to broadcast, in case the window was a chest opened by multiple players + m_ParentWindow.BroadcastWholeWindow( + ); // We need to broadcast, in case the window was a chest opened by multiple players } @@ -351,7 +352,13 @@ void cSlotArea::OnPlayerRemoved(cPlayer & a_Player) -void cSlotArea::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotArea::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill +) { for (int i = 0; i < m_NumSlots; i++) { @@ -426,8 +433,7 @@ bool cSlotArea::CollectItemsToHand(cItem & a_Dragging, cPlayer & a_Player, bool // cSlotAreaChest: cSlotAreaChest::cSlotAreaChest(cChestEntity * a_Chest, cWindow & a_ParentWindow) : - cSlotArea(27, a_ParentWindow), - m_Chest(a_Chest) + cSlotArea(27, a_ParentWindow), m_Chest(a_Chest) { } @@ -457,10 +463,12 @@ void cSlotAreaChest::SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_ //////////////////////////////////////////////////////////////////////////////// // cSlotAreaDoubleChest: -cSlotAreaDoubleChest::cSlotAreaDoubleChest(cChestEntity * a_TopChest, cChestEntity * a_BottomChest, cWindow & a_ParentWindow) : - cSlotArea(54, a_ParentWindow), - m_TopChest(a_TopChest), - m_BottomChest(a_BottomChest) +cSlotAreaDoubleChest::cSlotAreaDoubleChest( + cChestEntity * a_TopChest, + cChestEntity * a_BottomChest, + cWindow & a_ParentWindow +) : + cSlotArea(54, a_ParentWindow), m_TopChest(a_TopChest), m_BottomChest(a_BottomChest) { } @@ -505,8 +513,7 @@ void cSlotAreaDoubleChest::SetSlot(int a_SlotNum, cPlayer & a_Player, const cIte // cSlotAreaCrafting: cSlotAreaCrafting::cSlotAreaCrafting(int a_GridSize, cWindow & a_ParentWindow) : - cSlotAreaTemporary(1 + a_GridSize * a_GridSize, a_ParentWindow), - m_GridSize(a_GridSize) + cSlotAreaTemporary(1 + a_GridSize * a_GridSize, a_ParentWindow), m_GridSize(a_GridSize) { ASSERT((a_GridSize == 2) || (a_GridSize == 3)); } @@ -515,7 +522,12 @@ cSlotAreaCrafting::cSlotAreaCrafting(int a_GridSize, cWindow & a_ParentWindow) : -void cSlotAreaCrafting::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) +void cSlotAreaCrafting::Clicked( + cPlayer & a_Player, + int a_SlotNum, + eClickAction a_ClickAction, + const cItem & a_ClickedItem +) { if (a_ClickAction == caMiddleClick) { @@ -599,7 +611,13 @@ void cSlotAreaCrafting::SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & -void cSlotAreaCrafting::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotAreaCrafting::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill +) { UNUSED(a_ItemStack); UNUSED(a_Player); @@ -727,7 +745,7 @@ void cSlotAreaCrafting::DropClickedResult(cPlayer & a_Player) void cSlotAreaCrafting::UpdateRecipe(cPlayer & a_Player) { - cCraftingGrid Grid(GetPlayerSlots(a_Player) + 1, m_GridSize, m_GridSize); + cCraftingGrid Grid(GetPlayerSlots(a_Player) + 1, m_GridSize, m_GridSize); cCraftingRecipe & Recipe = GetRecipeForPlayer(a_Player); cRoot::Get()->GetCraftingRecipes()->GetRecipe(a_Player, Grid, Recipe); SetSlot(0, a_Player, Recipe.GetResult()); @@ -748,7 +766,7 @@ cCraftingRecipe & cSlotAreaCrafting::GetRecipeForPlayer(cPlayer & a_Player) } // for itr - m_Recipes[] // Not found. Add a new one: - cCraftingGrid Grid(GetPlayerSlots(a_Player) + 1, m_GridSize, m_GridSize); + cCraftingGrid Grid(GetPlayerSlots(a_Player) + 1, m_GridSize, m_GridSize); cCraftingRecipe Recipe(Grid); cRoot::Get()->GetCraftingRecipes()->GetRecipe(a_Player, Grid, Recipe); m_Recipes.emplace_back(a_Player.GetUniqueID(), Recipe); @@ -763,17 +781,17 @@ void cSlotAreaCrafting::HandleCraftItem(const cItem & a_Result, cPlayer & a_Play { switch (a_Result.m_ItemType) { - case E_BLOCK_WORKBENCH: a_Player.AwardAchievement(CustomStatistic::AchBuildWorkBench); break; - case E_BLOCK_FURNACE: a_Player.AwardAchievement(CustomStatistic::AchBuildFurnace); break; - case E_BLOCK_CAKE: a_Player.AwardAchievement(CustomStatistic::AchBakeCake); break; - case E_BLOCK_ENCHANTMENT_TABLE: a_Player.AwardAchievement(CustomStatistic::AchEnchantments); break; - case E_BLOCK_BOOKCASE: a_Player.AwardAchievement(CustomStatistic::AchBookcase); break; - case E_ITEM_WOODEN_PICKAXE: a_Player.AwardAchievement(CustomStatistic::AchBuildPickaxe); break; - case E_ITEM_WOODEN_SWORD: a_Player.AwardAchievement(CustomStatistic::AchBuildSword); break; - case E_ITEM_STONE_PICKAXE: a_Player.AwardAchievement(CustomStatistic::AchBuildBetterPickaxe); break; - case E_ITEM_WOODEN_HOE: a_Player.AwardAchievement(CustomStatistic::AchBuildHoe); break; - case E_ITEM_BREAD: a_Player.AwardAchievement(CustomStatistic::AchMakeBread); break; - default: break; + case E_BLOCK_WORKBENCH: a_Player.AwardAchievement(CustomStatistic::AchBuildWorkBench); break; + case E_BLOCK_FURNACE: a_Player.AwardAchievement(CustomStatistic::AchBuildFurnace); break; + case E_BLOCK_CAKE: a_Player.AwardAchievement(CustomStatistic::AchBakeCake); break; + case E_BLOCK_ENCHANTMENT_TABLE: a_Player.AwardAchievement(CustomStatistic::AchEnchantments); break; + case E_BLOCK_BOOKCASE: a_Player.AwardAchievement(CustomStatistic::AchBookcase); break; + case E_ITEM_WOODEN_PICKAXE: a_Player.AwardAchievement(CustomStatistic::AchBuildPickaxe); break; + case E_ITEM_WOODEN_SWORD: a_Player.AwardAchievement(CustomStatistic::AchBuildSword); break; + case E_ITEM_STONE_PICKAXE: a_Player.AwardAchievement(CustomStatistic::AchBuildBetterPickaxe); break; + case E_ITEM_WOODEN_HOE: a_Player.AwardAchievement(CustomStatistic::AchBuildHoe); break; + case E_ITEM_BREAD: a_Player.AwardAchievement(CustomStatistic::AchMakeBread); break; + default: break; } } @@ -849,9 +867,7 @@ void cSlotAreaCrafting::ClearCraftingGrid(cPlayer & a_Player) // cSlotAreaAnvil: cSlotAreaAnvil::cSlotAreaAnvil(cWindow & a_ParentWindow) : - cSlotAreaTemporary(3, a_ParentWindow), - m_MaximumCost(0), - m_StackSizeToBeUsedInRepair(0) + cSlotAreaTemporary(3, a_ParentWindow), m_MaximumCost(0), m_StackSizeToBeUsedInRepair(0) { } @@ -989,7 +1005,13 @@ void cSlotAreaAnvil::ShiftClicked(cPlayer & a_Player, int a_SlotNum, const cItem -void cSlotAreaAnvil::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotAreaAnvil::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill +) { for (int i = 0; i < 2; i++) { @@ -1099,12 +1121,12 @@ void cSlotAreaAnvil::OnTakeResult(cPlayer & a_Player) bool cSlotAreaAnvil::CanTakeResultItem(cPlayer & a_Player) { return ( - ( - a_Player.IsGameModeCreative() || // Is the player in gamemode? - (a_Player.GetXpLevel() >= m_MaximumCost) // or the player have enough exp? - ) && - (!GetSlot(2, a_Player)->IsEmpty()) && // Is a item in the result slot? - (m_MaximumCost > 0) // When no maximum cost is set, the item isn't set from the UpdateResult() method and can't be a valid enchanting result. + (a_Player.IsGameModeCreative() || // Is the player in gamemode? + (a_Player.GetXpLevel() >= m_MaximumCost) // or the player have enough exp? + ) && + (!GetSlot(2, a_Player)->IsEmpty()) && // Is a item in the result slot? + (m_MaximumCost > 0) // When no maximum cost is set, the item isn't set from the UpdateResult() method and can't + // be a valid enchanting result. ); } @@ -1151,7 +1173,8 @@ void cSlotAreaAnvil::UpdateResult(cPlayer & a_Player) if (Target.IsDamageable() && Target.GetHandler().CanRepairWithRawMaterial(Sacrifice.m_ItemType)) { // Tool and armor repair with special item (iron / gold / diamond / ...) - int DamageDiff = std::min(static_cast(Target.m_ItemDamage), static_cast(Target.GetMaxDamage()) / 4); + int DamageDiff = + std::min(static_cast(Target.m_ItemDamage), static_cast(Target.GetMaxDamage()) / 4); if (DamageDiff <= 0) { // No enchantment @@ -1169,7 +1192,8 @@ void cSlotAreaAnvil::UpdateResult(cPlayer & a_Player) { Output.m_ItemDamage -= static_cast(DamageDiff); NeedExp += std::max(1, DamageDiff / 100) + static_cast(Target.m_Enchantments.Count()); - DamageDiff = std::min(static_cast(Output.m_ItemDamage), static_cast(Target.GetMaxDamage()) / 4); + DamageDiff = + std::min(static_cast(Output.m_ItemDamage), static_cast(Target.GetMaxDamage()) / 4); ++NumItemsConsumed; } @@ -1191,7 +1215,7 @@ void cSlotAreaAnvil::UpdateResult(cPlayer & a_Player) } // Can we repair with sacrifice tool / armour? - if (Target.IsDamageable() && !IsEnchantBook && (Target.m_ItemDamage!=0)) + if (Target.IsDamageable() && !IsEnchantBook && (Target.m_ItemDamage != 0)) { // Durability = MaxDamage - m_ItemDamage = how far from broken const short TargetDurability = Target.GetMaxDamage() - Target.m_ItemDamage; @@ -1217,7 +1241,7 @@ void cSlotAreaAnvil::UpdateResult(cPlayer & a_Player) } int NameChangeExp = 0; - const AString & RepairedItemName = static_cast(&m_ParentWindow)->GetRepairedItemName(); + const AString & RepairedItemName = static_cast(&m_ParentWindow)->GetRepairedItemName(); if (RepairedItemName.empty()) { // Remove custom name @@ -1289,8 +1313,7 @@ void cSlotAreaAnvil::UpdateResult(cPlayer & a_Player) // cSlotAreaBeacon: cSlotAreaBeacon::cSlotAreaBeacon(cBeaconEntity * a_Beacon, cWindow & a_ParentWindow) : - cSlotArea(1, a_ParentWindow), - m_Beacon(a_Beacon) + cSlotArea(1, a_ParentWindow), m_Beacon(a_Beacon) { m_Beacon->GetContents().AddListener(*this); } @@ -1330,7 +1353,12 @@ bool cSlotAreaBeacon::IsPlaceableItem(short a_ItemType) -void cSlotAreaBeacon::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) +void cSlotAreaBeacon::Clicked( + cPlayer & a_Player, + int a_SlotNum, + eClickAction a_ClickAction, + const cItem & a_ClickedItem +) { ASSERT((a_SlotNum >= 0) && (a_SlotNum < GetNumSlots())); @@ -1432,7 +1460,13 @@ void cSlotAreaBeacon::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ -void cSlotAreaBeacon::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotAreaBeacon::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill +) { const cItem * Slot = GetSlot(0, a_Player); if (!Slot->IsEmpty() || !IsPlaceableItem(a_ItemStack.m_ItemType) || (a_ItemStack.m_ItemCount != 1)) @@ -1488,8 +1522,7 @@ void cSlotAreaBeacon::OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) // cSlotAreaEnchanting: cSlotAreaEnchanting::cSlotAreaEnchanting(cWindow & a_ParentWindow, Vector3i a_BlockPos) : - cSlotAreaTemporary(2, a_ParentWindow), - m_BlockPos(a_BlockPos) + cSlotAreaTemporary(2, a_ParentWindow), m_BlockPos(a_BlockPos) { } @@ -1497,7 +1530,12 @@ cSlotAreaEnchanting::cSlotAreaEnchanting(cWindow & a_ParentWindow, Vector3i a_Bl -void cSlotAreaEnchanting::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) +void cSlotAreaEnchanting::Clicked( + cPlayer & a_Player, + int a_SlotNum, + eClickAction a_ClickAction, + const cItem & a_ClickedItem +) { ASSERT((a_SlotNum >= 0) && (a_SlotNum < GetNumSlots())); @@ -1563,7 +1601,8 @@ void cSlotAreaEnchanting::Clicked(cPlayer & a_Player, int a_SlotNum, eClickActio if (a_SlotNum == 1) { // Lapis slot can have a full stack handle it normally, also check for empty hand - if ((DraggingItem.IsEmpty()) || ((DraggingItem.m_ItemType == E_ITEM_DYE) && (DraggingItem.m_ItemDamage == E_META_DYE_BLUE))) + if ((DraggingItem.IsEmpty()) || + ((DraggingItem.m_ItemType == E_ITEM_DYE) && (DraggingItem.m_ItemDamage == E_META_DYE_BLUE))) { return cSlotArea::Clicked(a_Player, a_SlotNum, a_ClickAction, a_ClickedItem); } @@ -1611,7 +1650,13 @@ void cSlotAreaEnchanting::Clicked(cPlayer & a_Player, int a_SlotNum, eClickActio -void cSlotAreaEnchanting::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_Apply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotAreaEnchanting::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_Apply, + bool a_KeepEmptySlots, + bool a_BackFill +) { if ((a_ItemStack.m_ItemType == E_ITEM_DYE) && (a_ItemStack.m_ItemDamage == E_META_DYE_BLUE)) { @@ -1705,8 +1750,7 @@ void cSlotAreaEnchanting::UpdateResult(cPlayer & a_Player) // Calculate the levels for the offered enchantment options: const auto Base = (Random.RandInt(1U, 8U) + (Bookshelves / 2) + Random.RandInt(0U, Bookshelves)); - const std::array OptionLevels - { + const std::array OptionLevels { std::max(Base / 3, 1U), (Base * 2) / 3 + 1, std::max(Base, Bookshelves * 2) @@ -1761,50 +1805,50 @@ unsigned cSlotAreaEnchanting::GetBookshelvesCount(cWorld & a_World) { int m_BookX, m_BookY, m_BookZ; // Coords to check for bookcases int m_AirX, m_AirY, m_AirZ; // Coords to check for air; if not air, the bookcase won't be counted - } CheckCoords[] = - { - { 0, 0, 0, 1, 0, 1 }, // Bookcase at {0, 0, 0}, air at {1, 0, 1} - { 0, 0, 1, 1, 0, 1 }, // Bookcase at {0, 0, 1}, air at {1, 0, 1} - { 0, 0, 2, 1, 0, 2 }, // Bookcase at {0, 0, 2}, air at {1, 0, 2} - { 0, 0, 3, 1, 0, 3 }, // Bookcase at {0, 0, 3}, air at {1, 0, 3} - { 0, 0, 4, 1, 0, 3 }, // Bookcase at {0, 0, 4}, air at {1, 0, 3} - { 1, 0, 4, 1, 0, 3 }, // Bookcase at {1, 0, 4}, air at {1, 0, 3} - { 2, 0, 4, 2, 0, 3 }, // Bookcase at {2, 0, 4}, air at {2, 0, 3} - { 3, 0, 4, 3, 0, 3 }, // Bookcase at {3, 0, 4}, air at {3, 0, 3} - { 4, 0, 4, 3, 0, 3 }, // Bookcase at {4, 0, 4}, air at {3, 0, 3} - { 4, 0, 3, 3, 0, 3 }, // Bookcase at {4, 0, 3}, air at {3, 0, 3} - { 4, 0, 2, 3, 0, 2 }, // Bookcase at {4, 0, 2}, air at {3, 0, 2} - { 4, 0, 1, 3, 0, 1 }, // Bookcase at {4, 0, 1}, air at {3, 0, 1} - { 4, 0, 0, 3, 0, 1 }, // Bookcase at {4, 0, 0}, air at {3, 0, 1} - { 3, 0, 0, 3, 0, 1 }, // Bookcase at {3, 0, 0}, air at {3, 0, 1} - { 2, 0, 0, 2, 0, 1 }, // Bookcase at {2, 0, 0}, air at {2, 0, 1} - { 1, 0, 0, 1, 0, 1 }, // Bookcase at {1, 0, 0}, air at {1, 0, 1} - - { 0, 1, 0, 1, 1, 1 }, // Bookcase at {0, 1, 0}, air at {1, 1, 1} - { 0, 1, 1, 1, 1, 1 }, // Bookcase at {0, 1, 1}, air at {1, 1, 1} - { 0, 1, 2, 1, 1, 2 }, // Bookcase at {0, 1, 2}, air at {1, 1, 2} - { 0, 1, 3, 1, 1, 3 }, // Bookcase at {0, 1, 3}, air at {1, 1, 3} - { 0, 1, 4, 1, 1, 3 }, // Bookcase at {0, 1, 4}, air at {1, 1, 3} - { 1, 1, 4, 1, 1, 3 }, // Bookcase at {1, 1, 4}, air at {1, 1, 3} - { 2, 1, 4, 2, 1, 3 }, // Bookcase at {2, 1, 4}, air at {2, 1, 3} - { 3, 1, 4, 3, 1, 3 }, // Bookcase at {3, 1, 4}, air at {3, 1, 3} - { 4, 1, 4, 3, 1, 3 }, // Bookcase at {4, 1, 4}, air at {3, 1, 3} - { 4, 1, 3, 3, 1, 3 }, // Bookcase at {4, 1, 3}, air at {3, 1, 3} - { 4, 1, 2, 3, 1, 2 }, // Bookcase at {4, 1, 2}, air at {3, 1, 2} - { 4, 1, 1, 3, 1, 1 }, // Bookcase at {4, 1, 1}, air at {3, 1, 1} - { 4, 1, 0, 3, 1, 1 }, // Bookcase at {4, 1, 0}, air at {3, 1, 1} - { 3, 1, 0, 3, 1, 1 }, // Bookcase at {3, 1, 0}, air at {3, 1, 1} - { 2, 1, 0, 2, 1, 1 }, // Bookcase at {2, 1, 0}, air at {2, 1, 1} - { 1, 1, 0, 1, 1, 1 }, // Bookcase at {1, 1, 0}, air at {1, 1, 1} + } CheckCoords[] = { + {0, 0, 0, 1, 0, 1}, // Bookcase at {0, 0, 0}, air at {1, 0, 1} + {0, 0, 1, 1, 0, 1}, // Bookcase at {0, 0, 1}, air at {1, 0, 1} + {0, 0, 2, 1, 0, 2}, // Bookcase at {0, 0, 2}, air at {1, 0, 2} + {0, 0, 3, 1, 0, 3}, // Bookcase at {0, 0, 3}, air at {1, 0, 3} + {0, 0, 4, 1, 0, 3}, // Bookcase at {0, 0, 4}, air at {1, 0, 3} + {1, 0, 4, 1, 0, 3}, // Bookcase at {1, 0, 4}, air at {1, 0, 3} + {2, 0, 4, 2, 0, 3}, // Bookcase at {2, 0, 4}, air at {2, 0, 3} + {3, 0, 4, 3, 0, 3}, // Bookcase at {3, 0, 4}, air at {3, 0, 3} + {4, 0, 4, 3, 0, 3}, // Bookcase at {4, 0, 4}, air at {3, 0, 3} + {4, 0, 3, 3, 0, 3}, // Bookcase at {4, 0, 3}, air at {3, 0, 3} + {4, 0, 2, 3, 0, 2}, // Bookcase at {4, 0, 2}, air at {3, 0, 2} + {4, 0, 1, 3, 0, 1}, // Bookcase at {4, 0, 1}, air at {3, 0, 1} + {4, 0, 0, 3, 0, 1}, // Bookcase at {4, 0, 0}, air at {3, 0, 1} + {3, 0, 0, 3, 0, 1}, // Bookcase at {3, 0, 0}, air at {3, 0, 1} + {2, 0, 0, 2, 0, 1}, // Bookcase at {2, 0, 0}, air at {2, 0, 1} + {1, 0, 0, 1, 0, 1}, // Bookcase at {1, 0, 0}, air at {1, 0, 1} + + {0, 1, 0, 1, 1, 1}, // Bookcase at {0, 1, 0}, air at {1, 1, 1} + {0, 1, 1, 1, 1, 1}, // Bookcase at {0, 1, 1}, air at {1, 1, 1} + {0, 1, 2, 1, 1, 2}, // Bookcase at {0, 1, 2}, air at {1, 1, 2} + {0, 1, 3, 1, 1, 3}, // Bookcase at {0, 1, 3}, air at {1, 1, 3} + {0, 1, 4, 1, 1, 3}, // Bookcase at {0, 1, 4}, air at {1, 1, 3} + {1, 1, 4, 1, 1, 3}, // Bookcase at {1, 1, 4}, air at {1, 1, 3} + {2, 1, 4, 2, 1, 3}, // Bookcase at {2, 1, 4}, air at {2, 1, 3} + {3, 1, 4, 3, 1, 3}, // Bookcase at {3, 1, 4}, air at {3, 1, 3} + {4, 1, 4, 3, 1, 3}, // Bookcase at {4, 1, 4}, air at {3, 1, 3} + {4, 1, 3, 3, 1, 3}, // Bookcase at {4, 1, 3}, air at {3, 1, 3} + {4, 1, 2, 3, 1, 2}, // Bookcase at {4, 1, 2}, air at {3, 1, 2} + {4, 1, 1, 3, 1, 1}, // Bookcase at {4, 1, 1}, air at {3, 1, 1} + {4, 1, 0, 3, 1, 1}, // Bookcase at {4, 1, 0}, air at {3, 1, 1} + {3, 1, 0, 3, 1, 1}, // Bookcase at {3, 1, 0}, air at {3, 1, 1} + {2, 1, 0, 2, 1, 1}, // Bookcase at {2, 1, 0}, air at {2, 1, 1} + {1, 1, 0, 1, 1, 1}, // Bookcase at {1, 1, 0}, air at {1, 1, 1} }; unsigned Bookshelves = 0; for (size_t i = 0; i < ARRAYCOUNT(CheckCoords); i++) { - if ( - (Area.GetRelBlockType(CheckCoords[i].m_AirX, CheckCoords[i].m_AirY, CheckCoords[i].m_AirZ) == E_BLOCK_AIR) && // There's air in the checkspot - (Area.GetRelBlockType(CheckCoords[i].m_BookX, CheckCoords[i].m_BookY, CheckCoords[i].m_BookZ) == E_BLOCK_BOOKCASE) // There's bookcase in the wanted place + if ((Area.GetRelBlockType(CheckCoords[i].m_AirX, CheckCoords[i].m_AirY, CheckCoords[i].m_AirZ) == E_BLOCK_AIR + ) && // There's air in the checkspot + (Area.GetRelBlockType(CheckCoords[i].m_BookX, CheckCoords[i].m_BookY, CheckCoords[i].m_BookZ) == + E_BLOCK_BOOKCASE) // There's bookcase in the wanted place ) { Bookshelves++; @@ -1832,8 +1876,7 @@ cItem cSlotAreaEnchanting::SelectEnchantedOption(size_t a_EnchantOption) // cSlotAreaEnderChest: cSlotAreaEnderChest::cSlotAreaEnderChest(cEnderChestEntity * a_EnderChest, cWindow & a_ParentWindow) : - cSlotArea(27, a_ParentWindow), - m_EnderChest(a_EnderChest) + cSlotArea(27, a_ParentWindow), m_EnderChest(a_EnderChest) { } @@ -1863,8 +1906,7 @@ void cSlotAreaEnderChest::SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem // cSlotAreaFurnace: cSlotAreaFurnace::cSlotAreaFurnace(cFurnaceEntity * a_Furnace, cWindow & a_ParentWindow) : - cSlotArea(3, a_ParentWindow), - m_Furnace(a_Furnace) + cSlotArea(3, a_ParentWindow), m_Furnace(a_Furnace) { m_Furnace->GetContents().AddListener(*this); } @@ -1882,7 +1924,12 @@ cSlotAreaFurnace::~cSlotAreaFurnace() -void cSlotAreaFurnace::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) +void cSlotAreaFurnace::Clicked( + cPlayer & a_Player, + int a_SlotNum, + eClickAction a_ClickAction, + const cItem & a_ClickedItem +) { if (m_Furnace == nullptr) { @@ -1897,7 +1944,8 @@ void cSlotAreaFurnace::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a cFurnaceRecipe * FurnaceRecipes = cRoot::Get()->GetFurnaceRecipe(); // Do not allow non-fuels to be placed in the fuel slot: - if (!DraggingItem.IsEmpty() && !FurnaceRecipes->IsFuel(DraggingItem) && (a_ClickAction != caShiftLeftClick) && (a_ClickAction != caShiftRightClick)) + if (!DraggingItem.IsEmpty() && !FurnaceRecipes->IsFuel(DraggingItem) && (a_ClickAction != caShiftLeftClick) && + (a_ClickAction != caShiftRightClick)) { return; } @@ -2019,7 +2067,13 @@ void cSlotAreaFurnace::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a -void cSlotAreaFurnace::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotAreaFurnace::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill +) { int SlotNum; cFurnaceRecipe * FurnaceRecipes = cRoot::Get()->GetFurnaceRecipe(); @@ -2107,15 +2161,16 @@ void cSlotAreaFurnace::HandleSmeltItem(const cItem & a_Result, cPlayer & a_Playe int Reward = m_Furnace->GetAndResetReward(); if (Reward > 0) { - a_Player.GetWorld()->SpawnSplitExperienceOrbs(a_Player.GetPosX(), a_Player.GetPosY(), a_Player.GetPosZ(), Reward); + a_Player.GetWorld() + ->SpawnSplitExperienceOrbs(a_Player.GetPosX(), a_Player.GetPosY(), a_Player.GetPosZ(), Reward); } /** TODO 2014-05-12 xdot: Figure out when to call this method. */ switch (a_Result.m_ItemType) { case E_ITEM_IRON: a_Player.AwardAchievement(CustomStatistic::AchAcquireIron); break; - case E_ITEM_COOKED_FISH: a_Player.AwardAchievement(CustomStatistic::AchCookFish); break; - default: break; + case E_ITEM_COOKED_FISH: a_Player.AwardAchievement(CustomStatistic::AchCookFish); break; + default: break; } } @@ -2126,8 +2181,7 @@ void cSlotAreaFurnace::HandleSmeltItem(const cItem & a_Result, cPlayer & a_Playe //////////////////////////////////////////////////////////////////////////////// // cSlotAreaBrewingstand: cSlotAreaBrewingstand::cSlotAreaBrewingstand(cBrewingstandEntity * a_Brewingstand, cWindow & a_ParentWindow) : - cSlotArea(5, a_ParentWindow), - m_Brewingstand(a_Brewingstand) + cSlotArea(5, a_ParentWindow), m_Brewingstand(a_Brewingstand) { m_Brewingstand->GetContents().AddListener(*this); } @@ -2145,7 +2199,12 @@ cSlotAreaBrewingstand::~cSlotAreaBrewingstand() -void cSlotAreaBrewingstand::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) +void cSlotAreaBrewingstand::Clicked( + cPlayer & a_Player, + int a_SlotNum, + eClickAction a_ClickAction, + const cItem & a_ClickedItem +) { if (m_Brewingstand == nullptr) { @@ -2271,13 +2330,19 @@ void cSlotAreaBrewingstand::HandleBrewedItem(cPlayer & a_Player, const cItem & a -void cSlotAreaBrewingstand::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotAreaBrewingstand::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill +) { int SlotNum = -1; cBrewingRecipes * BR = cRoot::Get()->GetBrewingRecipes(); if (BR->IsBottle(a_ItemStack)) { - for (int i = 0;i < 3;i++) + for (int i = 0; i < 3; i++) { if (GetSlot(i, a_Player)->IsEmpty()) { @@ -2371,8 +2436,7 @@ void cSlotAreaBrewingstand::OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) // cSlotAreaMinecartWithChest: cSlotAreaMinecartWithChest::cSlotAreaMinecartWithChest(cMinecartWithChest * a_Chest, cWindow & a_ParentWindow) : - cSlotArea(27, a_ParentWindow), - m_Chest(a_Chest) + cSlotArea(27, a_ParentWindow), m_Chest(a_Chest) { } @@ -2405,8 +2469,7 @@ void cSlotAreaMinecartWithChest::SetSlot(int a_SlotNum, cPlayer & a_Player, cons // cSlotAreaInventoryBase: cSlotAreaInventoryBase::cSlotAreaInventoryBase(int a_NumSlots, int a_SlotOffset, cWindow & a_ParentWindow) : - cSlotArea(a_NumSlots, a_ParentWindow), - m_SlotOffset(a_SlotOffset) + cSlotArea(a_NumSlots, a_ParentWindow), m_SlotOffset(a_SlotOffset) { } @@ -2414,7 +2477,12 @@ cSlotAreaInventoryBase::cSlotAreaInventoryBase(int a_NumSlots, int a_SlotOffset, -void cSlotAreaInventoryBase::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) +void cSlotAreaInventoryBase::Clicked( + cPlayer & a_Player, + int a_SlotNum, + eClickAction a_ClickAction, + const cItem & a_ClickedItem +) { if (a_Player.IsGameModeCreative() && (m_ParentWindow.GetWindowType() == cWindow::wtInventory)) { @@ -2459,7 +2527,13 @@ void cSlotAreaInventoryBase::SetSlot(int a_SlotNum, cPlayer & a_Player, const cI //////////////////////////////////////////////////////////////////////////////// // cSlotAreaArmor: -void cSlotAreaArmor::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotAreaArmor::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill +) { if (ItemCategory::IsHelmet(a_ItemStack.m_ItemType) && GetSlot(0, a_Player)->IsEmpty()) { @@ -2503,7 +2577,8 @@ void cSlotAreaArmor::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_C { ASSERT((a_SlotNum >= 0) && (a_SlotNum < GetNumSlots())); - // When the player is in creative mode, the client sends the new item as a_ClickedItem, not the current item in the slot. + // When the player is in creative mode, the client sends the new item as a_ClickedItem, not the current item in the + // slot. if (a_Player.IsGameModeCreative() && (m_ParentWindow.GetWindowType() == cWindow::wtInventory)) { if ((a_ClickAction == caDropKey) || (a_ClickAction == caCtrlDropKey)) @@ -2602,8 +2677,7 @@ bool cSlotAreaArmor::CanPlaceArmorInSlot(int a_SlotNum, const cItem & a_Item) // cSlotAreaItemGrid: cSlotAreaItemGrid::cSlotAreaItemGrid(cItemGrid & a_ItemGrid, cWindow & a_ParentWindow) : - Super(a_ItemGrid.GetNumSlots(), a_ParentWindow), - m_ItemGrid(a_ItemGrid) + Super(a_ItemGrid.GetNumSlots(), a_ParentWindow), m_ItemGrid(a_ItemGrid) { m_ItemGrid.AddListener(*this); } @@ -2714,8 +2788,11 @@ void cSlotAreaTemporary::SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem void cSlotAreaTemporary::OnPlayerAdded(cPlayer & a_Player) { - ASSERT(m_Items.find(a_Player.GetUniqueID()) == m_Items.end()); // The player shouldn't be in the itemmap, otherwise we probably have a leak - m_Items[a_Player.GetUniqueID()].resize(static_cast(m_NumSlots)); // Make the vector the specified size of empty items + ASSERT( + m_Items.find(a_Player.GetUniqueID()) == m_Items.end() + ); // The player shouldn't be in the itemmap, otherwise we probably have a leak + m_Items[a_Player.GetUniqueID()].resize(static_cast(m_NumSlots) + ); // Make the vector the specified size of empty items } @@ -2725,7 +2802,9 @@ void cSlotAreaTemporary::OnPlayerAdded(cPlayer & a_Player) void cSlotAreaTemporary::OnPlayerRemoved(cPlayer & a_Player) { cItemMap::iterator itr = m_Items.find(a_Player.GetUniqueID()); - ASSERT(itr != m_Items.end()); // The player should be in the list, otherwise a call to OnPlayerAdded() was mismatched + ASSERT( + itr != m_Items.end() + ); // The player should be in the list, otherwise a call to OnPlayerAdded() was mismatched m_Items.erase(itr); } @@ -2778,8 +2857,7 @@ cItem * cSlotAreaTemporary::GetPlayerSlots(cPlayer & a_Player) // cSlotAreaHorse: cSlotAreaHorse::cSlotAreaHorse(cHorse & a_Horse, cWindow & a_ParentWindow) : - cSlotArea(2, a_ParentWindow), - m_Horse(a_Horse) + cSlotArea(2, a_ParentWindow), m_Horse(a_Horse) { } @@ -2858,7 +2936,7 @@ void cSlotAreaHorse::SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_ switch (a_SlotNum) { case SaddleSlot: m_Horse.SetHorseSaddle(a_Item); break; - case ArmorSlot: m_Horse.SetHorseArmor(a_Item); break; + case ArmorSlot: m_Horse.SetHorseArmor(a_Item); break; default: { LOGWARN("cSlotAreaHorse::SetSlot: Invalid slot number %d", a_SlotNum); @@ -2870,7 +2948,13 @@ void cSlotAreaHorse::SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_ -void cSlotAreaHorse::DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) +void cSlotAreaHorse::DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill +) { if (ItemCategory::IsHorseArmor(a_ItemStack.m_ItemType) && m_Horse.GetHorseArmorItem().IsEmpty()) { diff --git a/src/UI/SlotArea.h b/src/UI/SlotArea.h index 96ea95c37..27e0feab0 100644 --- a/src/UI/SlotArea.h +++ b/src/UI/SlotArea.h @@ -32,7 +32,7 @@ class cWorld; class cSlotArea { -public: + public: cSlotArea(int a_NumSlots, cWindow & a_ParentWindow); virtual ~cSlotArea() {} // force a virtual destructor in all subclasses @@ -65,7 +65,8 @@ public: /** Called when a new player opens the same parent window. The window already tracks the player. CS-locked. */ virtual void OnPlayerAdded(cPlayer & a_Player); - /** Called when one of the players closes the parent window. The window already doesn't track the player. CS-locked. */ + /** Called when one of the players closes the parent window. The window already doesn't track the player. CS-locked. + */ virtual void OnPlayerRemoved(cPlayer & a_Player); /** Called to store as much of a_ItemStack in the area as possible. a_ItemStack is modified to reflect the change. @@ -73,7 +74,13 @@ public: if a_ShouldApply is true, the changes are written into the slots; if a_ShouldApply is false, only a_ItemStack is modified to reflect the number of fits (for fit-testing purposes) If a_KeepEmptySlots is true, empty slots will be skipped and won't be filled */ - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill); + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ); /** Called on DblClicking to collect all stackable items into hand. The items are accumulated in a_Dragging and removed from the slots immediately. @@ -81,83 +88,77 @@ public: Returns true if full stack has been collected in a_Dragging, false if there's space remaining to fill. */ virtual bool CollectItemsToHand(cItem & a_Dragging, cPlayer & a_Player, bool a_CollectFullStacks); -protected: - int m_NumSlots; + protected: + int m_NumSlots; cWindow & m_ParentWindow; -} ; +}; /** Handles any part of the inventory, using parameters in constructor to distinguish between the parts */ -class cSlotAreaInventoryBase: - public cSlotArea +class cSlotAreaInventoryBase : public cSlotArea { using Super = cSlotArea; -public: - + public: cSlotAreaInventoryBase(int a_NumSlots, int a_SlotOffset, cWindow & a_ParentWindow); // Creative inventory's click handling is somewhat different from survival inventory's, handle that here: - virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + protected: int m_SlotOffset; // Index that this area's slot 0 has in the underlying cInventory -} ; +}; /** Handles the main inventory of each player, excluding the armor and hotbar */ -class cSlotAreaInventory: - public cSlotAreaInventoryBase +class cSlotAreaInventory : public cSlotAreaInventoryBase { using Super = cSlotAreaInventoryBase; -public: - - cSlotAreaInventory(cWindow & a_ParentWindow): + public: + cSlotAreaInventory(cWindow & a_ParentWindow) : Super(cInventory::invInventoryCount, cInventory::invInventoryOffset, a_ParentWindow) { } -} ; +}; /** Handles the hotbar of each player */ -class cSlotAreaHotBar: - public cSlotAreaInventoryBase +class cSlotAreaHotBar : public cSlotAreaInventoryBase { using Super = cSlotAreaInventoryBase; -public: - cSlotAreaHotBar(cWindow & a_ParentWindow): + public: + cSlotAreaHotBar(cWindow & a_ParentWindow) : Super(cInventory::invHotbarCount, cInventory::invHotbarOffset, a_ParentWindow) { } -} ; +}; /** Handles the shield of each player */ -class cSlotAreaShield: - public cSlotAreaInventoryBase +class cSlotAreaShield : public cSlotAreaInventoryBase { using Super = cSlotAreaInventoryBase; -public: - - cSlotAreaShield(cWindow & a_ParentWindow): + public: + cSlotAreaShield(cWindow & a_ParentWindow) : Super(cInventory::invShieldCount, cInventory::invShieldOffset, a_ParentWindow) { } @@ -168,53 +169,56 @@ public: /** Handles the armor area of the player's inventory */ -class cSlotAreaArmor: - public cSlotAreaInventoryBase +class cSlotAreaArmor : public cSlotAreaInventoryBase { using Super = cSlotAreaInventoryBase; -public: - - cSlotAreaArmor(cWindow & a_ParentWindow): + public: + cSlotAreaArmor(cWindow & a_ParentWindow) : Super(cInventory::invArmorCount, cInventory::invArmorOffset, a_ParentWindow) { } /** Distributing the stack is allowed only for compatible items (helmets into helmet slot etc.) */ - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override; + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ) override; /** Called when a player clicks in the window. Parameters taken from the click packet. */ - virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; static bool CanPlaceArmorInSlot(int a_SlotNum, const cItem & a_Item); -} ; +}; /** Handles any slot area that is representing a cItemGrid; same items for all the players */ -class cSlotAreaItemGrid: - public cSlotArea, - public cItemGrid::cListener +class cSlotAreaItemGrid : public cSlotArea, + public cItemGrid::cListener { using Super = cSlotArea; -public: - + public: cSlotAreaItemGrid(cItemGrid & a_ItemGrid, cWindow & a_ParentWindow); virtual ~cSlotAreaItemGrid() override; virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + protected: cItemGrid & m_ItemGrid; // cItemGrid::cListener overrides: virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) override; -} ; +}; @@ -223,55 +227,58 @@ protected: /** A cSlotArea with items layout that is private to each player and is temporary, such as a crafting grid or an enchantment table. This common ancestor stores the items in a per-player map. It also implements tossing items from the map. */ -class cSlotAreaTemporary: - public cSlotArea +class cSlotAreaTemporary : public cSlotArea { using Super = cSlotArea; -public: - + public: cSlotAreaTemporary(int a_NumSlots, cWindow & a_ParentWindow); // cSlotArea overrides: - virtual const cItem * GetSlot (int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot (int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; - virtual void OnPlayerAdded (cPlayer & a_Player) override; - virtual void OnPlayerRemoved(cPlayer & a_Player) override; + virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void OnPlayerAdded(cPlayer & a_Player) override; + virtual void OnPlayerRemoved(cPlayer & a_Player) override; /** Tosses the player's items in slots [a_Begin, a_End) (ie. incl. a_Begin, but excl. a_End) */ void TossItems(cPlayer & a_Player, int a_Begin, int a_End); -protected: - using cItemMap = std::map >; // Maps EntityID -> items + protected: + using cItemMap = std::map>; // Maps EntityID -> items cItemMap m_Items; /** Returns the pointer to the slot array for the player specified. */ cItem * GetPlayerSlots(cPlayer & a_Player); -} ; +}; -class cSlotAreaCrafting: - public cSlotAreaTemporary +class cSlotAreaCrafting : public cSlotAreaTemporary { using Super = cSlotAreaTemporary; -public: - + public: /** a_GridSize is allowed to be only 2 or 3 */ cSlotAreaCrafting(int a_GridSize, cWindow & a_ParentWindow); // cSlotAreaTemporary overrides: - virtual void Clicked (cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; - virtual void DblClicked (cPlayer & a_Player, int a_SlotNum) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; + virtual void DblClicked(cPlayer & a_Player, int a_SlotNum) override; virtual void OnPlayerRemoved(cPlayer & a_Player) override; - virtual void SetSlot (int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; // Distributing items into this area is completely disabled - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override; + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ) override; /** Clear the crafting grid */ void ClearCraftingGrid(cPlayer & a_Player); @@ -279,12 +286,12 @@ public: /** Loads the given Recipe into the crafting grid */ void LoadRecipe(cPlayer & a_Player, UInt32 a_RecipeId); -protected: + protected: /** Maps player's EntityID -> current recipe. Not a std::map because cCraftingGrid needs proper constructor params. */ - typedef std::list > cRecipeMap; + typedef std::list> cRecipeMap; - int m_GridSize; + int m_GridSize; cRecipeMap m_Recipes; /** Handles a click in the result slot. @@ -298,7 +305,8 @@ protected: /** Handles a drop-click in the result slot. */ void DropClickedResult(cPlayer & a_Player); - /** Updates the current recipe and result slot based on the ingredients currently in the crafting grid of the specified player. */ + /** Updates the current recipe and result slot based on the ingredients currently in the crafting grid of the + * specified player. */ void UpdateRecipe(cPlayer & a_Player); /** Retrieves the recipe for the specified player from the map, or creates one if not found. */ @@ -306,25 +314,30 @@ protected: /** Called after an item has been crafted to handle statistics e.t.c. */ void HandleCraftItem(const cItem & a_Result, cPlayer & a_Player); -} ; +}; -class cSlotAreaAnvil: - public cSlotAreaTemporary +class cSlotAreaAnvil : public cSlotAreaTemporary { using Super = cSlotAreaTemporary; -public: - + public: cSlotAreaAnvil(cWindow & a_ParentWindow); // cSlotArea overrides: - virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; virtual void ShiftClicked(cPlayer & a_Player, int a_SlotNum, const cItem & a_ClickedItem) override; - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override; + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ) override; // cSlotAreaTemporary overrides: virtual void OnPlayerRemoved(cPlayer & a_Player) override; @@ -338,63 +351,73 @@ public: /** Handles a click in the item slot. */ void UpdateResult(cPlayer & a_Player); -protected: + protected: /** The maximum cost of repairing / renaming in the anvil. */ int m_MaximumCost; /** The stack size of the second item where was used for repair */ char m_StackSizeToBeUsedInRepair; -} ; +}; -class cSlotAreaBeacon: - public cSlotArea, - public cItemGrid::cListener +class cSlotAreaBeacon : public cSlotArea, + public cItemGrid::cListener { using Super = cSlotArea; -public: - + public: cSlotAreaBeacon(cBeaconEntity * a_Beacon, cWindow & a_ParentWindow); virtual ~cSlotAreaBeacon() override; static bool IsPlaceableItem(short a_ItemType); - virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ) override; virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + protected: cBeaconEntity * m_Beacon; // cItemGrid::cListener overrides: virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) override; -} ; +}; -class cSlotAreaEnchanting final : - public cSlotAreaTemporary +class cSlotAreaEnchanting final : public cSlotAreaTemporary { using Super = cSlotAreaTemporary; -public: - + public: cSlotAreaEnchanting(cWindow & a_ParentWindow, Vector3i a_BlockPos); // cSlotArea overrides: - virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ) override; virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; // cSlotAreaTemporary overrides: - virtual void OnPlayerAdded (cPlayer & a_Player) override; + virtual void OnPlayerAdded(cPlayer & a_Player) override; virtual void OnPlayerRemoved(cPlayer & a_Player) override; /* Get the number of bookshelves which are near the enchanting table */ @@ -404,8 +427,7 @@ public: Ownership of the cItem is transferred to the caller. */ cItem SelectEnchantedOption(size_t a_EnchantOption); -protected: - + protected: /** Handles a click in the item slot. */ void UpdateResult(cPlayer & a_Player); @@ -417,51 +439,48 @@ protected: -class cSlotAreaChest : - public cSlotArea +class cSlotAreaChest : public cSlotArea { -public: + public: cSlotAreaChest(cChestEntity * a_Chest, cWindow & a_ParentWindow); virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + protected: cChestEntity * m_Chest; -} ; +}; -class cSlotAreaDoubleChest : - public cSlotArea +class cSlotAreaDoubleChest : public cSlotArea { -public: + public: cSlotAreaDoubleChest(cChestEntity * a_TopChest, cChestEntity * a_BottomChest, cWindow & a_ParentWindow); virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + protected: cChestEntity * m_TopChest; cChestEntity * m_BottomChest; -} ; +}; -class cSlotAreaEnderChest : - public cSlotArea +class cSlotAreaEnderChest : public cSlotArea { -public: + public: cSlotAreaEnderChest(cEnderChestEntity * a_EnderChest, cWindow & a_ParentWindow); virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + protected: cEnderChestEntity * m_EnderChest; }; @@ -469,24 +488,29 @@ protected: -class cSlotAreaFurnace: - public cSlotArea, - public cItemGrid::cListener +class cSlotAreaFurnace : public cSlotArea, + public cItemGrid::cListener { using Super = cSlotArea; -public: - + public: cSlotAreaFurnace(cFurnaceEntity * a_Furnace, cWindow & a_ParentWindow); virtual ~cSlotAreaFurnace() override; - virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ) override; virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + protected: cFurnaceEntity * m_Furnace; // cItemGrid::cListener overrides: @@ -494,29 +518,35 @@ protected: /** Called after an item has been smelted to handle statistics etc. */ void HandleSmeltItem(const cItem & a_Result, cPlayer & a_Player); -} ; +}; -class cSlotAreaBrewingstand: - public cSlotArea, - public cItemGrid::cListener +class cSlotAreaBrewingstand : public cSlotArea, + public cItemGrid::cListener { using Super = cSlotArea; -public: - + public: cSlotAreaBrewingstand(cBrewingstandEntity * a_Brewingstand, cWindow & a_ParentWindow); virtual ~cSlotAreaBrewingstand() override; - virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ) override; virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + + protected: cBrewingstandEntity * m_Brewingstand; // cItemGrid::cListener overrides: @@ -524,22 +554,21 @@ protected: /** Called after an item has been brewed to handle statistics etc. */ void HandleBrewedItem(cPlayer & a_Player, const cItem & a_ClickedItem); -} ; +}; -class cSlotAreaMinecartWithChest : - public cSlotArea +class cSlotAreaMinecartWithChest : public cSlotArea { -public: + public: cSlotAreaMinecartWithChest(cMinecartWithChest * a_ChestCart, cWindow & a_ParentWindow); virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; - virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; + virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; -protected: + protected: cMinecartWithChest * m_Chest; }; @@ -548,10 +577,9 @@ protected: /** Slot area holding horse saddle and armor. */ -class cSlotAreaHorse: - public cSlotArea +class cSlotAreaHorse : public cSlotArea { -public: + public: enum { SaddleSlot, @@ -559,10 +587,18 @@ public: }; cSlotAreaHorse(cHorse & a_Horse, cWindow & a_ParentWindow); - virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) override; + virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem) + override; virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const override; virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) override; - virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override; -private: + virtual void DistributeStack( + cItem & a_ItemStack, + cPlayer & a_Player, + bool a_ShouldApply, + bool a_KeepEmptySlots, + bool a_BackFill + ) override; + + private: cHorse & m_Horse; }; diff --git a/src/UI/Window.cpp b/src/UI/Window.cpp index 89f3812d6..fb75f1538 100644 --- a/src/UI/Window.cpp +++ b/src/UI/Window.cpp @@ -108,7 +108,11 @@ const cItem * cWindow::GetSlot(cPlayer & a_Player, int a_SlotNum) const const cSlotArea * Area = GetSlotArea(a_SlotNum, LocalSlotNum); if (Area == nullptr) { - LOGWARNING("%s: requesting item from an invalid SlotArea (SlotNum %d), returning nullptr.", __FUNCTION__, a_SlotNum); + LOGWARNING( + "%s: requesting item from an invalid SlotArea (SlotNum %d), returning nullptr.", + __FUNCTION__, + a_SlotNum + ); return nullptr; } return Area->GetSlot(LocalSlotNum, a_Player); @@ -159,8 +163,8 @@ bool cWindow::IsSlotInPlayerHotbar(int a_SlotNum) const bool cWindow::IsSlotInPlayerInventory(int a_SlotNum) const { - // Returns true if the specified slot is in the Player Main Inventory or Hotbar slotareas. Note that returns false for Armor. - // The player combined inventory is always the last 36 slots + // Returns true if the specified slot is in the Player Main Inventory or Hotbar slotareas. Note that returns false + // for Armor. The player combined inventory is always the last 36 slots return ((a_SlotNum >= GetNumSlots() - 36) && (a_SlotNum < GetNumSlots())); } @@ -196,14 +200,22 @@ void cWindow::GetSlots(cPlayer & a_Player, cItems & a_Slots) const void cWindow::Clicked( cPlayer & a_Player, - int a_WindowID, short a_SlotNum, eClickAction a_ClickAction, + int a_WindowID, + short a_SlotNum, + eClickAction a_ClickAction, const cItem & a_ClickedItem ) { cPluginManager * PlgMgr = cRoot::Get()->GetPluginManager(); if (a_WindowID != m_WindowID) { - LOGWARNING("%s: Wrong window ID (exp %d, got %d) received from \"%s\"; ignoring click.", __FUNCTION__, m_WindowID, a_WindowID, a_Player.GetName().c_str()); + LOGWARNING( + "%s: Wrong window ID (exp %d, got %d) received from \"%s\"; ignoring click.", + __FUNCTION__, + m_WindowID, + a_WindowID, + a_Player.GetName().c_str() + ); return; } @@ -214,7 +226,8 @@ void cWindow::Clicked( { if (PlgMgr->CallHookPlayerTossingItem(a_Player)) { - // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the consequences (possible inventory mismatch) + // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the + // consequences (possible inventory mismatch) return; } if (a_Player.IsGameModeCreative()) @@ -240,15 +253,15 @@ void cWindow::Clicked( // Nothing needed return; } - case caLeftPaintBegin: OnPaintBegin (a_Player); return; - case caRightPaintBegin: OnPaintBegin (a_Player); return; - case caMiddlePaintBegin: OnPaintBegin (a_Player); return; - case caLeftPaintProgress: OnPaintProgress (a_Player, a_SlotNum); return; - case caRightPaintProgress: OnPaintProgress (a_Player, a_SlotNum); return; - case caMiddlePaintProgress: OnPaintProgress (a_Player, a_SlotNum); return; - case caLeftPaintEnd: OnLeftPaintEnd (a_Player); return; - case caRightPaintEnd: OnRightPaintEnd (a_Player); return; - case caMiddlePaintEnd: OnMiddlePaintEnd(a_Player); return; + case caLeftPaintBegin: OnPaintBegin(a_Player); return; + case caRightPaintBegin: OnPaintBegin(a_Player); return; + case caMiddlePaintBegin: OnPaintBegin(a_Player); return; + case caLeftPaintProgress: OnPaintProgress(a_Player, a_SlotNum); return; + case caRightPaintProgress: OnPaintProgress(a_Player, a_SlotNum); return; + case caMiddlePaintProgress: OnPaintProgress(a_Player, a_SlotNum); return; + case caLeftPaintEnd: OnLeftPaintEnd(a_Player); return; + case caRightPaintEnd: OnRightPaintEnd(a_Player); return; + case caMiddlePaintEnd: OnMiddlePaintEnd(a_Player); return; default: { break; @@ -272,8 +285,11 @@ void cWindow::Clicked( LocalSlotNum -= itr->GetNumSlots(); } - LOGWARNING("Slot number higher than available window slots: %d, max %d received from \"%s\"; ignoring.", - a_SlotNum, GetNumSlots(), a_Player.GetName().c_str() + LOGWARNING( + "Slot number higher than available window slots: %d, max %d received from \"%s\"; ignoring.", + a_SlotNum, + GetNumSlots(), + a_Player.GetName().c_str() ); } @@ -373,7 +389,11 @@ void cWindow::BroadcastSlot(cSlotArea * a_Area, int a_LocalSlotNum) cCSLock Lock(m_CS); for (cPlayerList::iterator itr = m_OpenedBy.begin(); itr != m_OpenedBy.end(); ++itr) { - (*itr)->GetClientHandle()->SendInventorySlot(m_WindowID, static_cast(SlotNum), *a_Area->GetSlot(a_LocalSlotNum, **itr)); + (*itr)->GetClientHandle()->SendInventorySlot( + m_WindowID, + static_cast(SlotNum), + *a_Area->GetSlot(a_LocalSlotNum, **itr) + ); } // for itr - m_OpenedBy[] } @@ -464,7 +484,13 @@ bool cWindow::ForEachClient(cClientHandleCallback a_Callback) -void cWindow::DistributeStackToAreas(cItem & a_ItemStack, cPlayer & a_Player, cSlotAreas & a_AreasInOrder, bool a_ShouldApply, bool a_BackFill) +void cWindow::DistributeStackToAreas( + cItem & a_ItemStack, + cPlayer & a_Player, + cSlotAreas & a_AreasInOrder, + bool a_ShouldApply, + bool a_BackFill +) { /* Ask each slot area to take as much of the stack as it can. First ask only slots that already have the same kind of item @@ -525,7 +551,9 @@ void cWindow::SendSlot(cPlayer & a_Player, cSlotArea * a_SlotArea, int a_Relativ } a_Player.GetClientHandle()->SendInventorySlot( - m_WindowID, static_cast(a_RelativeSlotNum + SlotBase), *(a_SlotArea->GetSlot(a_RelativeSlotNum, a_Player)) + m_WindowID, + static_cast(a_RelativeSlotNum + SlotBase), + *(a_SlotArea->GetSlot(a_RelativeSlotNum, a_Player)) ); } @@ -551,7 +579,12 @@ cSlotArea * cWindow::GetSlotArea(int a_GlobalSlotNum, int & a_LocalSlotNum) { if ((a_GlobalSlotNum < 0) || (a_GlobalSlotNum >= GetNumSlots())) { - LOGWARNING("%s: requesting an invalid SlotNum: %d out of %d slots", __FUNCTION__, a_GlobalSlotNum, GetNumSlots() - 1); + LOGWARNING( + "%s: requesting an invalid SlotNum: %d out of %d slots", + __FUNCTION__, + a_GlobalSlotNum, + GetNumSlots() - 1 + ); ASSERT(!"Invalid SlotNum"); return nullptr; } @@ -582,7 +615,12 @@ const cSlotArea * cWindow::GetSlotArea(int a_GlobalSlotNum, int & a_LocalSlotNum { if ((a_GlobalSlotNum < 0) || (a_GlobalSlotNum >= GetNumSlots())) { - LOGWARNING("%s: requesting an invalid SlotNum: %d out of %d slots", __FUNCTION__, a_GlobalSlotNum, GetNumSlots() - 1); + LOGWARNING( + "%s: requesting an invalid SlotNum: %d out of %d slots", + __FUNCTION__, + a_GlobalSlotNum, + GetNumSlots() - 1 + ); ASSERT(!"Invalid SlotNum"); return nullptr; } @@ -710,11 +748,22 @@ void cWindow::OnMiddlePaintEnd(cPlayer & a_Player) -char cWindow::DistributeItemToSlots(cPlayer & a_Player, const cItem & a_Item, char a_NumToEachSlot, const cSlotNums & a_SlotNums, bool a_LimitItems) +char cWindow::DistributeItemToSlots( + cPlayer & a_Player, + const cItem & a_Item, + char a_NumToEachSlot, + const cSlotNums & a_SlotNums, + bool a_LimitItems +) { if (a_LimitItems && (static_cast(a_Item.m_ItemCount) < a_SlotNums.size())) { - LOGWARNING("%s: Distributing less items (%d) than slots (%zu)", __FUNCTION__, static_cast(a_Item.m_ItemCount), a_SlotNums.size()); + LOGWARNING( + "%s: Distributing less items (%d) than slots (%zu)", + __FUNCTION__, + static_cast(a_Item.m_ItemCount), + a_SlotNums.size() + ); // This doesn't seem to happen with the 1.5.1 client, so we don't worry about it for now return 0; } diff --git a/src/UI/Window.h b/src/UI/Window.h index 3b69b2da4..cbb783cb4 100644 --- a/src/UI/Window.h +++ b/src/UI/Window.h @@ -32,7 +32,7 @@ class cWorld; typedef std::list cPlayerList; typedef std::vector cSlotAreas; -using cPlayerListCallback = cFunctionRef; +using cPlayerListCallback = cFunctionRef; using cClientHandleCallback = cFunctionRef; @@ -52,21 +52,21 @@ Inventory painting, introduced in 1.5, is handled by the window, too */ class cWindow { -public: + public: enum WindowType { - wtInventory = -1, // This value is never actually sent to a client - wtChest = 0, - wtWorkbench = 1, - wtFurnace = 2, + wtInventory = -1, // This value is never actually sent to a client + wtChest = 0, + wtWorkbench = 1, + wtFurnace = 2, wtDropSpenser = 3, // Dropper or Dispenser wtEnchantment = 4, - wtBrewery = 5, - wtNPCTrade = 6, - wtBeacon = 7, - wtAnvil = 8, - wtHopper = 9, - wtDropper = 10, + wtBrewery = 5, + wtNPCTrade = 6, + wtBeacon = 7, + wtAnvil = 8, + wtHopper = 9, + wtDropper = 10, wtAnimalChest = 11, }; @@ -84,7 +84,7 @@ public: const AString GetWindowTypeName(void) const; // tolua_export cWindowOwner * GetOwner(void) { return m_Owner; } - void SetOwner( cWindowOwner * a_Owner) { m_Owner = a_Owner; } + void SetOwner(cWindowOwner * a_Owner) { m_Owner = a_Owner; } /** Returns the total number of slots */ int GetNumSlots(void) const; @@ -106,7 +106,8 @@ public: /** Returns true if the specified slot is in the Player Hotbar slotarea */ bool IsSlotInPlayerHotbar(int a_SlotNum) const; - /** Returns true if the specified slot is in the Player Main Inventory or Hotbar slotareas. Note that returns false for Armor. */ + /** Returns true if the specified slot is in the Player Main Inventory or Hotbar slotareas. Note that returns false + * for Armor. */ bool IsSlotInPlayerInventory(int a_SlotNum) const; // tolua_end @@ -116,8 +117,10 @@ public: /** Handles a click event from a player */ virtual void Clicked( - cPlayer & a_Player, int a_WindowID, - short a_SlotNum, eClickAction a_ClickAction, + cPlayer & a_Player, + int a_WindowID, + short a_SlotNum, + eClickAction a_ClickAction, const cItem & a_ClickedItem ); @@ -148,22 +151,36 @@ public: void OwnerDestroyed(void); - /** Calls the callback safely for each player that has this window open; returns true if all players have been enumerated */ + /** Calls the callback safely for each player that has this window open; returns true if all players have been + * enumerated */ bool ForEachPlayer(cPlayerListCallback a_Callback); - /** Calls the callback safely for each client that has this window open; returns true if all clients have been enumerated */ + /** Calls the callback safely for each client that has this window open; returns true if all clients have been + * enumerated */ bool ForEachClient(cClientHandleCallback a_Callback); /** Called on shift-clicking to distribute the stack into other areas; Modifies a_ItemStack as it is distributed! if a_ShouldApply is true, the changes are written into the slots; if a_ShouldApply is false, only a_ItemStack is modified to reflect the number of fits (for fit-testing purposes) */ - virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) = 0; - - /** Called from DistributeStack() to distribute the stack into a_AreasInOrder; Modifies a_ItemStack as it is distributed! - If a_ShouldApply is true, the changes are written into the slots; - if a_ShouldApply is false, only a_ItemStack is modified to reflect the number of fits (for fit-testing purposes) - If a_BackFill is true, the areas will be filled from the back (right side). (Example: Empty Hotbar -> Item get in slot 8, not slot 0) */ - void DistributeStackToAreas(cItem & a_ItemStack, cPlayer & a_Player, cSlotAreas & a_AreasInOrder, bool a_ShouldApply, bool a_BackFill); + virtual void DistributeStack( + cItem & a_ItemStack, + int a_Slot, + cPlayer & a_Player, + cSlotArea * a_ClickedArea, + bool a_ShouldApply + ) = 0; + + /** Called from DistributeStack() to distribute the stack into a_AreasInOrder; Modifies a_ItemStack as it is + distributed! If a_ShouldApply is true, the changes are written into the slots; if a_ShouldApply is false, only + a_ItemStack is modified to reflect the number of fits (for fit-testing purposes) If a_BackFill is true, the areas + will be filled from the back (right side). (Example: Empty Hotbar -> Item get in slot 8, not slot 0) */ + void DistributeStackToAreas( + cItem & a_ItemStack, + cPlayer & a_Player, + cSlotAreas & a_AreasInOrder, + bool a_ShouldApply, + bool a_BackFill + ); /** Called on DblClicking to collect all stackable items from all areas into hand. The items are accumulated in a_Dragging and removed from the SlotAreas immediately. @@ -171,19 +188,19 @@ public: Returns true if full stack has been collected, false if there's space remaining to fill. */ bool CollectItemsToHand(cItem & a_Dragging, cSlotArea & a_Area, cPlayer & a_Player, bool a_CollectFullStacks); - /** Used by cSlotAreas to send individual slots to clients, a_RelativeSlotNum is the slot number relative to a_SlotArea */ + /** Used by cSlotAreas to send individual slots to clients, a_RelativeSlotNum is the slot number relative to + * a_SlotArea */ void SendSlot(cPlayer & a_Player, cSlotArea * a_SlotArea, int a_RelativeSlotNum); -protected: - + protected: cSlotAreas m_SlotAreas; - char m_WindowID; - int m_WindowType; + char m_WindowID; + int m_WindowType; AString m_WindowTitle; cCriticalSection m_CS; - cPlayerList m_OpenedBy; + cPlayerList m_OpenedBy; bool m_IsDestroyed; @@ -211,16 +228,26 @@ protected: /** Adds the slot to the internal structures for inventory painting by the specified player */ void OnPaintProgress(cPlayer & a_Player, int a_SlotNum); - /** Processes the entire action stored in the internal structures for inventory painting; distributes as many items as possible */ + /** Processes the entire action stored in the internal structures for inventory painting; distributes as many items + * as possible */ void OnLeftPaintEnd(cPlayer & a_Player); - /** Processes the entire action stored in the internal structures for inventory painting; distributes one item into each slot */ + /** Processes the entire action stored in the internal structures for inventory painting; distributes one item into + * each slot */ void OnRightPaintEnd(cPlayer & a_Player); - /** Processes the entire action stored in the internal structures for inventory painting; distributes a full stack into each slot */ + /** Processes the entire action stored in the internal structures for inventory painting; distributes a full stack + * into each slot */ void OnMiddlePaintEnd(cPlayer & a_Player); - /** Distributes a_NumToEachSlot items into the slots specified in a_SlotNums; returns the total number of items distributed. + /** Distributes a_NumToEachSlot items into the slots specified in a_SlotNums; returns the total number of items + distributed. @param a_LimitItems if false, no checks are performed on a_Item.m_ItemCount. */ - char DistributeItemToSlots(cPlayer & a_Player, const cItem & a_Item, char a_NumToEachSlot, const cSlotNums & a_SlotNums, bool a_LimitItems = true); -} ; // tolua_export + char DistributeItemToSlots( + cPlayer & a_Player, + const cItem & a_Item, + char a_NumToEachSlot, + const cSlotNums & a_SlotNums, + bool a_LimitItems = true + ); +}; // tolua_export diff --git a/src/UI/WindowOwner.h b/src/UI/WindowOwner.h index 72a5348c4..48b6a0749 100644 --- a/src/UI/WindowOwner.h +++ b/src/UI/WindowOwner.h @@ -16,20 +16,15 @@ for entities / players in motion to close their windows when they get too far aw /** Base class for the window owning */ class cWindowOwner { -public: + public: cWindowOwner() : m_Window(nullptr) { } - virtual ~cWindowOwner() - { - } + virtual ~cWindowOwner() {} - void CloseWindow(void) - { - m_Window = nullptr; - } + void CloseWindow(void) { m_Window = nullptr; } void OpenWindow(cWindow * a_Window) { @@ -37,15 +32,12 @@ public: m_Window->SetOwner(this); } - cWindow * GetWindow(void) const - { - return m_Window; - } + cWindow * GetWindow(void) const { return m_Window; } /** Returns the block position at which the element owning the window is */ virtual Vector3i GetBlockPos(void) = 0; -private: + private: cWindow * m_Window; }; @@ -54,10 +46,9 @@ private: /** Window owner that is associated with a block entity (chest, furnace, ...) */ -class cBlockEntityWindowOwner : - public cWindowOwner +class cBlockEntityWindowOwner : public cWindowOwner { -public: + public: cBlockEntityWindowOwner(cBlockEntity * a_BlockEntity) : m_BlockEntity(a_BlockEntity) { @@ -68,7 +59,7 @@ public: return Vector3i(m_BlockEntity->GetPosX(), m_BlockEntity->GetPosY(), m_BlockEntity->GetPosZ()); } -private: + private: cBlockEntity * m_BlockEntity; }; @@ -77,24 +68,16 @@ private: /** Window owner that is associated with an entity (chest minecart etc.) */ -class cEntityWindowOwner : - public cWindowOwner +class cEntityWindowOwner : public cWindowOwner { -public: + public: cEntityWindowOwner(cEntity * a_Entity) : m_Entity(a_Entity) { } - virtual Vector3i GetBlockPos(void) override - { - return m_Entity->GetPosition().Floor(); - } + virtual Vector3i GetBlockPos(void) override { return m_Entity->GetPosition().Floor(); } -private: + private: cEntity * m_Entity; }; - - - - diff --git a/src/UUID.cpp b/src/UUID.cpp index 9ed7dc492..f088937e6 100644 --- a/src/UUID.cpp +++ b/src/UUID.cpp @@ -11,7 +11,7 @@ /** UUID normalised in textual form. */ struct sShortUUID { - char Data[32]{}; + char Data[32] {}; bool IsValid = false; }; @@ -32,21 +32,17 @@ static sShortUUID ShortenUUID(const AString & a_StringUUID) case 36: { // Long UUID, confirm dashed - if ( - (a_StringUUID[ 8] != '-') || - (a_StringUUID[13] != '-') || - (a_StringUUID[18] != '-') || - (a_StringUUID[23] != '-') - ) + if ((a_StringUUID[8] != '-') || (a_StringUUID[13] != '-') || (a_StringUUID[18] != '-') || + (a_StringUUID[23] != '-')) { break; } // Copy everying but the dashes from the string - std::memcpy(UUID.Data, a_StringUUID.data(), 8); - std::memcpy(UUID.Data + 8, a_StringUUID.data() + 9, 4); - std::memcpy(UUID.Data + 12, a_StringUUID.data() + 14, 4); - std::memcpy(UUID.Data + 16, a_StringUUID.data() + 19, 4); + std::memcpy(UUID.Data, a_StringUUID.data(), 8); + std::memcpy(UUID.Data + 8, a_StringUUID.data() + 9, 4); + std::memcpy(UUID.Data + 12, a_StringUUID.data() + 14, 4); + std::memcpy(UUID.Data + 16, a_StringUUID.data() + 19, 4); std::memcpy(UUID.Data + 20, a_StringUUID.data() + 24, 12); UUID.IsValid = true; } @@ -85,11 +81,7 @@ static Byte FromHexDigit(char a_Hex) static char ToHexDigit(UInt8 a_Nibble) { ASSERT((a_Nibble & 0xf0) == 0); - return static_cast( - (a_Nibble < 10) ? - ('0' + a_Nibble) : - ('a' + (a_Nibble - 10)) - ); + return static_cast((a_Nibble < 10) ? ('0' + a_Nibble) : ('a' + (a_Nibble - 10))); } @@ -107,11 +99,11 @@ bool cUUID::FromString(const AString & a_StringUUID) return false; } - std::array ParsedUUID{{0}}; + std::array ParsedUUID {{0}}; for (size_t i = 0; i != m_UUID.size(); ++i) { - Byte HighNibble = FromHexDigit(Norm.Data[2 * i ]); - Byte LowNibble = FromHexDigit(Norm.Data[2 * i + 1]); + Byte HighNibble = FromHexDigit(Norm.Data[2 * i]); + Byte LowNibble = FromHexDigit(Norm.Data[2 * i + 1]); if ((HighNibble > 0x0f) || (LowNibble > 0x0f)) { // Invalid hex digit @@ -136,9 +128,9 @@ AString cUUID::ToShortString() const for (size_t i = 0; i != m_UUID.size(); ++i) { Byte HighNibble = (m_UUID[i] >> 4) & 0x0f; - Byte LowNibble = m_UUID[i] & 0x0f; + Byte LowNibble = m_UUID[i] & 0x0f; - ShortString[2 * i ] = ToHexDigit(HighNibble); + ShortString[2 * i] = ToHexDigit(HighNibble); ShortString[2 * i + 1] = ToHexDigit(LowNibble); } return ShortString; @@ -155,7 +147,7 @@ AString cUUID::ToLongString() const // Convert to long form by inserting the dashes auto First = LongString.begin(); - LongString.insert(First + 8, '-'); + LongString.insert(First + 8, '-'); LongString.insert(First + 13, '-'); LongString.insert(First + 18, '-'); LongString.insert(First + 23, '-'); @@ -275,7 +267,3 @@ cUUID cUUID::GenerateVersion3(const AString & a_Name) return UUID; } - - - - diff --git a/src/UUID.h b/src/UUID.h index 12fef3e39..bec461182 100644 --- a/src/UUID.h +++ b/src/UUID.h @@ -9,9 +9,9 @@ class cUUID { -public: + public: /** Default constructed "nil" UUID */ - cUUID(): + cUUID() : m_UUID() { } @@ -29,7 +29,9 @@ public: /** Returns true if this contains the "nil" UUID with all bits set to 0 */ bool IsNil() const { - return (m_UUID == std::array{{0}}); + // tolua_end + return (m_UUID == std::array {{0}}); + // tolua_begin } /** Tries to interpret the string as a short or long form UUID and assign from it. @@ -59,7 +61,7 @@ public: /** Assigns from raw memory representation, respecting UUID variant. */ void FromRaw(const std::array & a_Raw); -private: + private: /** Binary UUID stored big-endian. */ std::array m_UUID; }; // tolua_export @@ -67,34 +69,32 @@ private: // Comparison operators: -inline bool operator == (const cUUID & a_Lhs, const cUUID & a_Rhs) +inline bool operator==(const cUUID & a_Lhs, const cUUID & a_Rhs) { return (a_Lhs.Compare(a_Rhs) == 0); } -inline bool operator != (const cUUID & a_Lhs, const cUUID & a_Rhs) +inline bool operator!=(const cUUID & a_Lhs, const cUUID & a_Rhs) { return (a_Lhs.Compare(a_Rhs) != 0); } -inline bool operator < (const cUUID & a_Lhs, const cUUID & a_Rhs) +inline bool operator<(const cUUID & a_Lhs, const cUUID & a_Rhs) { return (a_Lhs.Compare(a_Rhs) < 0); } -inline bool operator <= (const cUUID & a_Lhs, const cUUID & a_Rhs) +inline bool operator<=(const cUUID & a_Lhs, const cUUID & a_Rhs) { return (a_Lhs.Compare(a_Rhs) <= 0); } -inline bool operator > (const cUUID & a_Lhs, const cUUID & a_Rhs) +inline bool operator>(const cUUID & a_Lhs, const cUUID & a_Rhs) { return (a_Lhs.Compare(a_Rhs) > 0); } -inline bool operator >= (const cUUID & a_Lhs, const cUUID & a_Rhs) +inline bool operator>=(const cUUID & a_Lhs, const cUUID & a_Rhs) { return (a_Lhs.Compare(a_Rhs) >= 0); } - - diff --git a/src/Vector3.h b/src/Vector3.h index b48f35786..b4f950629 100644 --- a/src/Vector3.h +++ b/src/Vector3.h @@ -10,38 +10,49 @@ template class Vector3 { - TOLUA_TEMPLATE_BIND((T, int, float, double)) - -public: + TOLUA_TEMPLATE_BIND((T, int, float, double) ) + public: T x, y, z; - constexpr Vector3(void) : x(0), y(0), z(0) {} - constexpr Vector3(T a_x, T a_y, T a_z) : x(a_x), y(a_y), z(a_z) {} + constexpr Vector3(void) : + x(0), y(0), z(0) + { + } + constexpr Vector3(T a_x, T a_y, T a_z) : + x(a_x), y(a_y), z(a_z) + { + } - #ifdef TOLUA_EXPOSITION // Hardcoded copy constructors (tolua++ does not support function templates .. yet) - Vector3(const Vector3 & a_Rhs); - Vector3(const Vector3 & a_Rhs); - Vector3(const Vector3 & a_Rhs); - #endif +#ifdef TOLUA_EXPOSITION // Hardcoded copy constructors (tolua++ does not support function templates .. yet) + Vector3(const Vector3 & a_Rhs); + Vector3(const Vector3 & a_Rhs); + Vector3(const Vector3 & a_Rhs); +#endif // tolua_end // Conversion constructors where U is not the same as T leaving the copy-constructor implicitly generated - template ::value) && ((!std::is_integral::value) || (std::is_integral::value)), bool> = true> - constexpr Vector3(const Vector3 & a_Rhs): - x(static_cast(a_Rhs.x)), - y(static_cast(a_Rhs.y)), - z(static_cast(a_Rhs.z)) - { - } - template ::value) && ((std::is_integral::value) && (!std::is_integral::value)), bool> = true> - constexpr Vector3(const Vector3 & a_Rhs): - x(static_cast(std::floor(a_Rhs.x))), - y(static_cast(std::floor(a_Rhs.y))), - z(static_cast(std::floor(a_Rhs.z))) + template < + typename U, + std::enable_if_t< + (!std::is_same::value) && ((!std::is_integral::value) || (std::is_integral::value)), + bool> = true> + constexpr Vector3(const Vector3 & a_Rhs) : + x(static_cast(a_Rhs.x)), y(static_cast(a_Rhs.y)), z(static_cast(a_Rhs.z)) + { + } + template < + typename U, + std::enable_if_t< + (!std::is_same::value) && ((std::is_integral::value) && (!std::is_integral::value)), + bool> = true> + constexpr Vector3(const Vector3 & a_Rhs) : + x(static_cast(std::floor(a_Rhs.x))), + y(static_cast(std::floor(a_Rhs.y))), + z(static_cast(std::floor(a_Rhs.z))) { } // tolua_begin @@ -66,11 +77,7 @@ public: { double Len = 1.0 / Length(); - return Vector3( - static_cast(x * Len), - static_cast(y * Len), - static_cast(z * Len) - ); + return Vector3(static_cast(x * Len), static_cast(y * Len), static_cast(z * Len)); } // tolua_end @@ -81,43 +88,30 @@ public: { double Len = 1.0 / Length(); - a_Rhs.Set( - static_cast(x * Len), - static_cast(y * Len), - static_cast(z * Len) - ); + a_Rhs.Set(static_cast(x * Len), static_cast(y * Len), static_cast(z * Len)); } // tolua_begin inline bool HasNonZeroLength(void) const { - #ifdef __clang__ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wfloat-equal" - #endif +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wfloat-equal" +#endif return ((x != 0) || (y != 0) || (z != 0)); - #ifdef __clang__ - #pragma clang diagnostic pop - #endif +#ifdef __clang__ +#pragma clang diagnostic pop +#endif } - inline double Length(void) const - { - return sqrt(static_cast(x * x + y * y + z * z)); - } + inline double Length(void) const { return sqrt(static_cast(x * x + y * y + z * z)); } - inline double SqrLength(void) const - { - return x * x + y * y + z * z; - } + inline double SqrLength(void) const { return x * x + y * y + z * z; } - inline T Dot(const Vector3 & a_Rhs) const - { - return x * a_Rhs.x + y * a_Rhs.y + z * a_Rhs.z; - } + inline T Dot(const Vector3 & a_Rhs) const { return x * a_Rhs.x + y * a_Rhs.y + z * a_Rhs.z; } /** Updates each coord to its absolute value */ inline void Abs() @@ -137,11 +131,7 @@ public: inline Vector3 Cross(const Vector3 & a_Rhs) const { - return Vector3( - y * a_Rhs.z - z * a_Rhs.y, - z * a_Rhs.x - x * a_Rhs.z, - x * a_Rhs.y - y * a_Rhs.x - ); + return Vector3(y * a_Rhs.z - z * a_Rhs.y, z * a_Rhs.x - x * a_Rhs.z, x * a_Rhs.y - y * a_Rhs.x); } inline bool Equals(const Vector3 & a_Rhs) const @@ -149,16 +139,16 @@ public: // Perform a strict comparison of the contents - we want to know whether this object is exactly equal // To perform EPS-based comparison, use the EqualsEps() function - #ifdef __clang__ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wfloat-equal" - #endif +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wfloat-equal" +#endif return !((x != a_Rhs.x) || (y != a_Rhs.y) || (z != a_Rhs.z)); - #ifdef __clang__ - #pragma clang diagnostic pop - #endif +#ifdef __clang__ +#pragma clang diagnostic pop +#endif } inline bool EqualsEps(const Vector3 & a_Rhs, T a_Eps) const @@ -181,69 +171,43 @@ public: } /** Returns a new Vector3i with coords set to std::floor() of this vector's coords. */ - inline Vector3 Floor(void) const - { - return Vector3( - FloorC(x), - FloorC(y), - FloorC(z) - ); - } + inline Vector3 Floor(void) const { return Vector3(FloorC(x), FloorC(y), FloorC(z)); } /** Returns a new Vector3i with coords set to std::ceil() of this vector's coords. */ - inline Vector3 Ceil() const - { - return Vector3( - CeilC(x), - CeilC(y), - CeilC(z) - ); - } + inline Vector3 Ceil() const { return Vector3(CeilC(x), CeilC(y), CeilC(z)); } // tolua_end - inline bool operator != (const Vector3 & a_Rhs) const - { - return !Equals(a_Rhs); - } + inline bool operator!=(const Vector3 & a_Rhs) const { return !Equals(a_Rhs); } - inline bool operator == (const Vector3 & a_Rhs) const - { - return Equals(a_Rhs); - } + inline bool operator==(const Vector3 & a_Rhs) const { return Equals(a_Rhs); } - inline bool operator > (const Vector3 & a_Rhs) const - { - return (SqrLength() > a_Rhs.SqrLength()); - } + inline bool operator>(const Vector3 & a_Rhs) const { return (SqrLength() > a_Rhs.SqrLength()); } - inline bool operator < (const Vector3 & a_Rhs) const - { - return (SqrLength() < a_Rhs.SqrLength()); - } + inline bool operator<(const Vector3 & a_Rhs) const { return (SqrLength() < a_Rhs.SqrLength()); } - inline void operator += (const Vector3 & a_Rhs) + inline void operator+=(const Vector3 & a_Rhs) { x += a_Rhs.x; y += a_Rhs.y; z += a_Rhs.z; } - inline void operator -= (const Vector3 & a_Rhs) + inline void operator-=(const Vector3 & a_Rhs) { x -= a_Rhs.x; y -= a_Rhs.y; z -= a_Rhs.z; } - inline void operator *= (const Vector3 & a_Rhs) + inline void operator*=(const Vector3 & a_Rhs) { x *= a_Rhs.x; y *= a_Rhs.y; z *= a_Rhs.z; } - inline void operator *= (T a_v) + inline void operator*=(T a_v) { x *= a_v; y *= a_v; @@ -252,88 +216,40 @@ public: // tolua_begin - inline Vector3 operator + (const Vector3& a_Rhs) const + inline Vector3 operator+(const Vector3 & a_Rhs) const { - return Vector3( - x + a_Rhs.x, - y + a_Rhs.y, - z + a_Rhs.z - ); + return Vector3(x + a_Rhs.x, y + a_Rhs.y, z + a_Rhs.z); } - inline Vector3 operator - (const Vector3& a_Rhs) const + inline Vector3 operator-(const Vector3 & a_Rhs) const { - return Vector3( - x - a_Rhs.x, - y - a_Rhs.y, - z - a_Rhs.z - ); + return Vector3(x - a_Rhs.x, y - a_Rhs.y, z - a_Rhs.z); } - inline Vector3 operator - (void) const - { - return Vector3(-x, -y, -z); - } + inline Vector3 operator-(void) const { return Vector3(-x, -y, -z); } - inline Vector3 operator * (const Vector3& a_Rhs) const + inline Vector3 operator*(const Vector3 & a_Rhs) const { - return Vector3( - x * a_Rhs.x, - y * a_Rhs.y, - z * a_Rhs.z - ); + return Vector3(x * a_Rhs.x, y * a_Rhs.y, z * a_Rhs.z); } - inline Vector3 operator / (const Vector3 & a_Rhs) - { - return Vector3( - x / a_Rhs.x, - y / a_Rhs.y, - z / a_Rhs.z - ); - } + inline Vector3 operator/(const Vector3 & a_Rhs) { return Vector3(x / a_Rhs.x, y / a_Rhs.y, z / a_Rhs.z); } - inline Vector3 operator * (T a_v) const - { - return Vector3( - x * a_v, - y * a_v, - z * a_v - ); - } + inline Vector3 operator*(T a_v) const { return Vector3(x * a_v, y * a_v, z * a_v); } - inline Vector3 operator / (T a_v) const - { - return Vector3( - x / a_v, - y / a_v, - z / a_v - ); - } + inline Vector3 operator/(T a_v) const { return Vector3(x / a_v, y / a_v, z / a_v); } /** Returns a copy of this vector moved by the specified amount on the X axis. */ - inline Vector3 addedX(T a_AddX) const - { - return Vector3(x + a_AddX, y, z); - } + inline Vector3 addedX(T a_AddX) const { return Vector3(x + a_AddX, y, z); } /** Returns a copy of this vector moved by the specified amount on the y axis. */ - inline Vector3 addedY(T a_AddY) const - { - return Vector3(x, y + a_AddY, z); - } + inline Vector3 addedY(T a_AddY) const { return Vector3(x, y + a_AddY, z); } /** Returns a copy of this vector moved by the specified amount on the Z axis. */ - inline Vector3 addedZ(T a_AddZ) const - { - return Vector3(x, y, z + a_AddZ); - } + inline Vector3 addedZ(T a_AddZ) const { return Vector3(x, y, z + a_AddZ); } /** Returns a copy of this vector moved by the specified amount on the X and Z axes. */ - inline Vector3 addedXZ(T a_AddX, T a_AddZ) const - { - return Vector3(x + a_AddX, y, z + a_AddZ); - } + inline Vector3 addedXZ(T a_AddX, T a_AddZ) const { return Vector3(x + a_AddX, y, z + a_AddZ); } /** Returns the coefficient for the (a_OtherEnd - this) line to reach the specified Z coord. The result satisfies the following equation: @@ -410,29 +326,24 @@ public: /** Allows formatting a Vector using the same format specifiers as for T e.g. `fmt::format("{0:0.2f}", Vector3f{0.0231f, 1.2146f, 1.0f}) == "{0.02, 1.21, 1.00}"` */ -template -class fmt::formatter> : public fmt::formatter +template class fmt::formatter> : public fmt::formatter { using Super = fmt::formatter; - template - void Write(FormatContext & a_Ctx, const char (& a_Str)[Len]) + template void Write(FormatContext & a_Ctx, const char (&a_Str)[Len]) { const auto Itr = std::copy_n(&a_Str[0], Len - 1, a_Ctx.out()); a_Ctx.advance_to(Itr); } - template - void Write(FormatContext & a_Ctx, const What & a_Arg) + template void Write(FormatContext & a_Ctx, const What & a_Arg) { const auto Itr = Super::format(a_Arg, a_Ctx); a_Ctx.advance_to(Itr); } -public: - - template - auto format(const Vector3 & a_Vec, FormatContext & a_Ctx) + public: + template auto format(const Vector3 & a_Vec, FormatContext & a_Ctx) { Write(a_Ctx, "{"); Write(a_Ctx, a_Vec.x); @@ -458,10 +369,9 @@ template <> inline Vector3 Vector3::Floor(void) const -template -class VectorHasher +template class VectorHasher { -public: + public: /** Provides a hash of a vector's contents */ size_t operator()(const Vector3 & a_Vector) const { @@ -478,11 +388,9 @@ public: -template -const double Vector3::EPS = 0.000001; +template const double Vector3::EPS = 0.000001; -template -const double Vector3::NO_INTERSECTION = 1e70; +template const double Vector3::NO_INTERSECTION = 1e70; @@ -490,8 +398,8 @@ const double Vector3::NO_INTERSECTION = 1e70; // tolua_begin typedef Vector3 Vector3d; -typedef Vector3 Vector3f; -typedef Vector3 Vector3i; +typedef Vector3 Vector3f; +typedef Vector3 Vector3i; // tolua_end diff --git a/src/VoronoiMap.cpp b/src/VoronoiMap.cpp index 4c0aab61a..b01122643 100644 --- a/src/VoronoiMap.cpp +++ b/src/VoronoiMap.cpp @@ -17,7 +17,8 @@ cVoronoiMap::cVoronoiMap(int a_Seed, int a_CellSize, int a_JitterSize) : m_CellSize(std::max(a_CellSize, 2)), m_JitterSize(Clamp(a_JitterSize, 1, a_CellSize)), m_OddRowOffset(0), - m_CurrentCellX(9999999), // Cell coords that are definitely out of the range for normal generator, so that the first query will overwrite them + m_CurrentCellX(9999999), // Cell coords that are definitely out of the range for normal generator, so that the + // first query will overwrite them m_CurrentCellZ(9999999) { } @@ -80,8 +81,10 @@ int cVoronoiMap::GetValueAt(int a_X, int a_Y, int & a_MinDist) int cVoronoiMap::GetValueAt( - int a_X, int a_Y, // Coords to query - int & a_NearestSeedX, int & a_NearestSeedY, // Coords of the closest cell + int a_X, + int a_Y, // Coords to query + int & a_NearestSeedX, + int & a_NearestSeedY, // Coords of the closest cell int & a_MinDist2 // Distance to the second closest cell ) { @@ -129,9 +132,12 @@ int cVoronoiMap::GetValueAt( void cVoronoiMap::FindNearestSeeds( - int a_X, int a_Y, - int & a_NearestSeedX, int & a_NearestSeedY, - int & a_SecondNearestSeedX, int & a_SecondNearestSeedY + int a_X, + int a_Y, + int & a_NearestSeedX, + int & a_NearestSeedY, + int & a_SecondNearestSeedX, + int & a_SecondNearestSeedY ) { int CellX = a_X / m_CellSize; @@ -206,7 +212,3 @@ void cVoronoiMap::UpdateCell(int a_CellX, int a_CellZ) m_CurrentCellX = a_CellX; m_CurrentCellZ = a_CellZ; } - - - - diff --git a/src/VoronoiMap.h b/src/VoronoiMap.h index e2c853e12..eeece05d3 100644 --- a/src/VoronoiMap.h +++ b/src/VoronoiMap.h @@ -17,7 +17,7 @@ class cVoronoiMap { -public: + public: cVoronoiMap(int a_Seed, int a_CellSize = 128, int a_JitterSize = 128); /** Sets both the cell size and jitter size used for generating the Voronoi seeds. */ @@ -41,19 +41,24 @@ public: /** Returns the value in the cell into which the specified point lies, and the distances to the 2 nearest Voronoi seeds. Uses a cache. */ int GetValueAt( - int a_X, int a_Y, // Coords to query - int & a_NearestSeedX, int & a_NearestSeedY, // Coords of the closest cell's seed - int & a_MinDist2 // Distance to the second closest cell's seed + int a_X, + int a_Y, // Coords to query + int & a_NearestSeedX, + int & a_NearestSeedY, // Coords of the closest cell's seed + int & a_MinDist2 // Distance to the second closest cell's seed ); /** Finds the nearest and second nearest seeds, returns their coords. */ void FindNearestSeeds( - int a_X, int a_Y, - int & a_NearestSeedX, int & a_NearestSeedY, - int & a_SecondNearestSeedX, int & a_SecondNearestSeedY + int a_X, + int a_Y, + int & a_NearestSeedX, + int & a_NearestSeedY, + int & a_SecondNearestSeedX, + int & a_SecondNearestSeedY ); -protected: + protected: /** The noise used for generating Voronoi seeds */ cNoise m_Noise1; cNoise m_Noise2; @@ -87,8 +92,4 @@ protected: /** Updates the cached cell seeds to match the specified cell. Noop if cell pos already matches. Updates m_SeedX and m_SeedZ. */ void UpdateCell(int a_CellX, int a_CellZ); -} ; - - - - +}; diff --git a/src/WebAdmin.cpp b/src/WebAdmin.cpp index 775dc1860..c2d9cb88c 100644 --- a/src/WebAdmin.cpp +++ b/src/WebAdmin.cpp @@ -25,31 +25,27 @@ static const char DEFAULT_WEBADMIN_PORTS[] = "8080"; // cWebadminRequestData /** The form parser callbacks for requests in the "/webadmin" and "/~webadmin" paths */ -class cWebadminRequestData : - public cHTTPFormParser::cCallbacks, - public cHTTPIncomingRequest::cUserData +class cWebadminRequestData : public cHTTPFormParser::cCallbacks, + public cHTTPIncomingRequest::cUserData { -public: + public: cHTTPFormParser m_Form; - cWebadminRequestData(const cHTTPIncomingRequest & a_Request): + cWebadminRequestData(const cHTTPIncomingRequest & a_Request) : m_Form(a_Request, *this) { } // cHTTPFormParser::cCallbacks overrides. Files are ignored: - virtual void OnFileStart(cHTTPFormParser &, const AString & a_FileName) override - { - UNUSED(a_FileName); - } + virtual void OnFileStart(cHTTPFormParser &, const AString & a_FileName) override { UNUSED(a_FileName); } virtual void OnFileData(cHTTPFormParser &, const char * a_Data, size_t a_Size) override { UNUSED(a_Data); UNUSED(a_Size); } virtual void OnFileEnd(cHTTPFormParser &) override {} -} ; +}; @@ -59,9 +55,7 @@ public: // cWebAdmin: cWebAdmin::cWebAdmin(void) : - m_TemplateScript(""), - m_IsInitialized(false), - m_IsRunning(false) + m_TemplateScript(""), m_IsInitialized(false), m_IsRunning(false) { } @@ -167,10 +161,12 @@ bool cWebAdmin::LoadLoginPage(void) void cWebAdmin::RemoveAllPluginWebTabs(const AString & a_PluginName) { cCSLock lock(m_CS); - m_WebTabs.erase(std::remove_if(m_WebTabs.begin(), m_WebTabs.end(), [=](const cWebTabPtr & a_CBWebTab) - { - return (a_CBWebTab->m_PluginName == a_PluginName); - }), + m_WebTabs.erase( + std::remove_if( + m_WebTabs.begin(), + m_WebTabs.end(), + [=](const cWebTabPtr & a_CBWebTab) { return (a_CBWebTab->m_PluginName == a_PluginName); } + ), m_WebTabs.end() ); } @@ -185,17 +181,13 @@ void cWebAdmin::Reload(void) if (!LoadIniFile()) { // We are asked to disable the webadmin, cannot do that, so warn the admin: - LOGWARNING( - "WebAdmin was previously enabled and now the settings say to disable it." - " This will not take effect until you restart the server." - ); + LOGWARNING("WebAdmin was previously enabled and now the settings say to disable it." + " This will not take effect until you restart the server."); } else if (!HasUsers()) { - LOGWARNING( - "The webadmin is enabled but has no users configured." - " To add new users, edit webadmin.ini" - ); + LOGWARNING("The webadmin is enabled but has no users configured." + " To add new users, edit webadmin.ini"); } // Initialize the WebAdmin template script and reload the file: @@ -217,13 +209,12 @@ void cWebAdmin::Reload(void) LOGWARN("Could not load WebAdmin login page \"%s\", using fallback template.", "webadmin/login_template.html"); // Set the fallback: - m_LoginPage = \ - "

Cuberite WebAdmin

" \ - "
" \ - "
" \ - "" \ - "" \ - "
"; + m_LoginPage = "

Cuberite WebAdmin

" + "
" + "
" + "" + "" + "
"; } } @@ -329,7 +320,8 @@ void cWebAdmin::HandleWebadminRequest(cHTTPServerConnection & a_Connection, cHTT size_t idxQM = URL.find('?'); if (idxQM != AString::npos) { - cHTTPFormParser URLParams(cHTTPFormParser::fpkURL, URL.c_str() + idxQM + 1, URL.length() - idxQM - 1, *Data); + cHTTPFormParser + URLParams(cHTTPFormParser::fpkURL, URL.c_str() + idxQM + 1, URL.length() - idxQM - 1, *Data); URLParams.Finish(); for (cHTTPFormParser::const_iterator itr = URLParams.begin(), end = URLParams.end(); itr != end; ++itr) { @@ -443,23 +435,23 @@ AString cWebAdmin::GetContentTypeFromFileExt(const AString & a_FileExtension) if (!IsInitialized) { // Initialize the ContentTypeMap: - ContentTypeMap["png"] = "image/png"; - ContentTypeMap["fif"] = "image/fif"; - ContentTypeMap["gif"] = "image/gif"; - ContentTypeMap["jpeg"] = "image/jpeg"; - ContentTypeMap["jpg"] = "image/jpeg"; - ContentTypeMap["jpe"] = "image/jpeg"; - ContentTypeMap["tiff"] = "image/tiff"; - ContentTypeMap["ico"] = "image/ico"; - ContentTypeMap["csv"] = "text/csv"; - ContentTypeMap["css"] = "text/css"; - ContentTypeMap["js"] = "text/javascript"; - ContentTypeMap["txt"] = "text/plain"; - ContentTypeMap["rtx"] = "text/richtext"; - ContentTypeMap["rtf"] = "text/richtext"; - ContentTypeMap["xml"] = "text/xml"; - ContentTypeMap["html"] = "text/html"; - ContentTypeMap["htm"] = "text/html"; + ContentTypeMap["png"] = "image/png"; + ContentTypeMap["fif"] = "image/fif"; + ContentTypeMap["gif"] = "image/gif"; + ContentTypeMap["jpeg"] = "image/jpeg"; + ContentTypeMap["jpg"] = "image/jpeg"; + ContentTypeMap["jpe"] = "image/jpeg"; + ContentTypeMap["tiff"] = "image/tiff"; + ContentTypeMap["ico"] = "image/ico"; + ContentTypeMap["csv"] = "text/csv"; + ContentTypeMap["css"] = "text/css"; + ContentTypeMap["js"] = "text/javascript"; + ContentTypeMap["txt"] = "text/plain"; + ContentTypeMap["rtx"] = "text/richtext"; + ContentTypeMap["rtf"] = "text/richtext"; + ContentTypeMap["xml"] = "text/xml"; + ContentTypeMap["html"] = "text/html"; + ContentTypeMap["htm"] = "text/html"; ContentTypeMap["xhtml"] = "application/xhtml+xml"; // Not recomended for IE6, but no-one uses that anymore } @@ -490,12 +482,9 @@ sWebAdminPage cWebAdmin::GetPage(const HTTPRequest & a_Request) cWebTabPtr tab; { cCSLock Lock(m_CS); - for (auto & wt: m_WebTabs) + for (auto & wt : m_WebTabs) { - if ( - (wt->m_PluginName == split[1]) && - (wt->m_UrlPath == split[2]) - ) + if ((wt->m_PluginName == split[1]) && (wt->m_UrlPath == split[2])) { tab = wt; break; @@ -511,7 +500,8 @@ sWebAdminPage cWebAdmin::GetPage(const HTTPRequest & a_Request) { page.Content = GetHTMLEscapedString(fmt::format( FMT_STRING("WebTab callback for plugin {}, page {} has failed."), - tab->m_PluginName, tab->m_Title + tab->m_PluginName, + tab->m_Title )); } page.PluginName = tab->m_PluginName; @@ -581,11 +571,11 @@ AString cWebAdmin::GetHTMLEscapedString(const AString & a_Input) { switch (a_Input[i]) { - case '&': dst.append("&"); break; + case '&': dst.append("&"); break; case '\'': dst.append("'"); break; case '"': dst.append("""); break; - case '<': dst.append("<"); break; - case '>': dst.append(">"); break; + case '<': dst.append("<"); break; + case '>': dst.append(">"); break; default: { dst.push_back(a_Input[i]); @@ -632,10 +622,7 @@ void cWebAdmin::OnRequestBegun(cHTTPServerConnection & a_Connection, cHTTPIncomi { UNUSED(a_Connection); const AString & URL = a_Request.GetURL(); - if ( - (strncmp(URL.c_str(), "/webadmin", 9) == 0) || - (strncmp(URL.c_str(), "/~webadmin", 10) == 0) - ) + if ((strncmp(URL.c_str(), "/webadmin", 9) == 0) || (strncmp(URL.c_str(), "/~webadmin", 10) == 0)) { a_Request.SetUserData(std::make_shared(a_Request)); return; @@ -652,7 +639,12 @@ void cWebAdmin::OnRequestBegun(cHTTPServerConnection & a_Connection, cHTTPIncomi -void cWebAdmin::OnRequestBody(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request, const char * a_Data, size_t a_Size) +void cWebAdmin::OnRequestBody( + cHTTPServerConnection & a_Connection, + cHTTPIncomingRequest & a_Request, + const char * a_Data, + size_t a_Size +) { UNUSED(a_Connection); auto Data = std::static_pointer_cast(a_Request.GetUserData()); @@ -670,10 +662,7 @@ void cWebAdmin::OnRequestBody(cHTTPServerConnection & a_Connection, cHTTPIncomin void cWebAdmin::OnRequestFinished(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request) { const AString & URL = a_Request.GetURL(); - if ( - (strncmp(URL.c_str(), "/webadmin", 9) == 0) || - (strncmp(URL.c_str(), "/~webadmin", 10) == 0) - ) + if ((strncmp(URL.c_str(), "/webadmin", 9) == 0) || (strncmp(URL.c_str(), "/~webadmin", 10) == 0)) { HandleWebadminRequest(a_Connection, a_Request); } @@ -687,8 +676,3 @@ void cWebAdmin::OnRequestFinished(cHTTPServerConnection & a_Connection, cHTTPInc HandleFileRequest(a_Connection, a_Request); } } - - - - - diff --git a/src/WebAdmin.h b/src/WebAdmin.h index a90d7b2d0..6a7836613 100644 --- a/src/WebAdmin.h +++ b/src/WebAdmin.h @@ -16,8 +16,8 @@ // Disable MSVC warnings: #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4355) // 'this' : used in base member initializer list +#pragma warning(push) +#pragma warning(disable : 4355) // 'this' : used in base member initializer list #endif @@ -30,7 +30,7 @@ struct HTTPFormData std::string Name; std::string Value; std::string Type; -} ; +}; // tolua_end @@ -39,8 +39,8 @@ struct HTTPFormData // tolua_begin struct HTTPRequest { - typedef std::map< std::string, std::string > StringStringMap; - typedef std::map< std::string, HTTPFormData > FormDataMap; + typedef std::map StringStringMap; + typedef std::map FormDataMap; /** The entire URL presented to the HTTP server. */ AString URL; @@ -57,14 +57,14 @@ struct HTTPRequest // tolua_end /** Parameters given in the URL, after the questionmark */ - StringStringMap Params; // >> EXPORTED IN MANUALBINDINGS << + StringStringMap Params; // >> EXPORTED IN MANUALBINDINGS << /** Parameters posted as a part of a form - either in the URL (GET method) or in the body (POST method) */ StringStringMap PostParams; // >> EXPORTED IN MANUALBINDINGS << /** Same as PostParams */ - FormDataMap FormData; // >> EXPORTED IN MANUALBINDINGS << -} ; // tolua_export + FormDataMap FormData; // >> EXPORTED IN MANUALBINDINGS << +}; // tolua_export @@ -74,7 +74,7 @@ struct HTTPRequest struct HTTPTemplateRequest { HTTPRequest Request; -} ; +}; // tolua_end @@ -98,15 +98,15 @@ struct sWebAdminPage class cWebAdmin : // tolua_end public cHTTPServer::cCallbacks - // tolua_begin +// tolua_begin { -public: + public: // tolua_end /** Interface for getting the content of a single WebTab. */ class cWebTabCallback abstract { - public: + public: // Force a virtual destructor in descendants virtual ~cWebTabCallback() {} @@ -130,17 +130,19 @@ public: Each web tab is registered with a callback to provide the content. */ class cWebTab { - public: + public: AString m_Title; AString m_UrlPath; AString m_PluginName; std::shared_ptr m_Callback; - cWebTab(const AString & a_Title, const AString & a_UrlPath, const AString & a_PluginName, std::shared_ptr a_Callback): - m_Title(a_Title), - m_UrlPath(a_UrlPath), - m_PluginName(a_PluginName), - m_Callback(std::move(a_Callback)) + cWebTab( + const AString & a_Title, + const AString & a_UrlPath, + const AString & a_PluginName, + std::shared_ptr a_Callback + ) : + m_Title(a_Title), m_UrlPath(a_UrlPath), m_PluginName(a_PluginName), m_Callback(std::move(a_Callback)) { } }; @@ -185,7 +187,8 @@ public: /** Returns the list of ports on which the webadmin is configured to listen. */ AString GetPorts(void) const { return StringsConcat(m_Ports, ','); } - /** Returns the prefix needed for making a link point to the webadmin root from the given URL ("../../../webadmin"-style). */ + /** Returns the prefix needed for making a link point to the webadmin root from the given URL + * ("../../../webadmin"-style). */ static AString GetBaseURL(const AString & a_URL); /** Returns the content type from the file extension. @@ -218,11 +221,11 @@ public: Exported to Lua in ManualBindings.cpp. */ static AString GetURLEncodedString(const AString & a_Input); - /** Returns the prefix needed for making a link point to the webadmin root from the given URL ("../../../webadmin"-style) */ + /** Returns the prefix needed for making a link point to the webadmin root from the given URL + * ("../../../webadmin"-style) */ static AString GetBaseURL(const AStringVector & a_URLSplit); -protected: - + protected: /** Protects m_WebTabs, m_TemplateScript, m_LoginTemplate and m_IniFile against multithreaded access. */ cCriticalSection m_CS; @@ -273,10 +276,15 @@ protected: void HandleFileRequest(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request); // cHTTPServer::cCallbacks overrides: - virtual void OnRequestBegun (cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request) override; - virtual void OnRequestBody (cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request, const char * a_Data, size_t a_Size) override; + virtual void OnRequestBegun(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request) override; + virtual void OnRequestBody( + cHTTPServerConnection & a_Connection, + cHTTPIncomingRequest & a_Request, + const char * a_Data, + size_t a_Size + ) override; virtual void OnRequestFinished(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request) override; -} ; // tolua_export +}; // tolua_export @@ -284,9 +292,5 @@ protected: // Revert MSVC warnings back to orignal state: #if defined(_MSC_VER) - #pragma warning(pop) +#pragma warning(pop) #endif - - - - diff --git a/src/World.cpp b/src/World.cpp index 2f92020bf..540feea35 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -52,7 +52,7 @@ #include "Blocks/BlockHandler.h" #ifndef _WIN32 - #include +#include #endif #include "SpawnPrepare.h" @@ -65,16 +65,25 @@ namespace World { - // Implement conversion functions from OpaqueWorld.h - cBroadcastInterface * GetBroadcastInterface(cWorld * a_World) { return a_World; } - cForEachChunkProvider * GetFECProvider (cWorld * a_World) { return a_World; } - cWorldInterface * GetWorldInterface (cWorld * a_World) { return a_World; } +// Implement conversion functions from OpaqueWorld.h +cBroadcastInterface * GetBroadcastInterface(cWorld * a_World) +{ + return a_World; +} +cForEachChunkProvider * GetFECProvider(cWorld * a_World) +{ + return a_World; +} +cWorldInterface * GetWorldInterface(cWorld * a_World) +{ + return a_World; +} - cChunkInterface GetChunkInterface(cWorld & a_World) - { - return { a_World.GetChunkMap() }; - } +cChunkInterface GetChunkInterface(cWorld & a_World) +{ + return {a_World.GetChunkMap()}; } +} // namespace World @@ -95,9 +104,8 @@ cWorld::cLock::cLock(const cWorld & a_World) : //////////////////////////////////////////////////////////////////////////////// // cWorld::cTickThread: -cWorld::cTickThread::cTickThread(cWorld & a_World): - Super(fmt::format(FMT_STRING("World Ticker ({})"), a_World.GetName())), - m_World(a_World) +cWorld::cTickThread::cTickThread(cWorld & a_World) : + Super(fmt::format(FMT_STRING("World Ticker ({})"), a_World.GetName())), m_World(a_World) { } @@ -135,10 +143,13 @@ void cWorld::cTickThread::Execute() // cWorld: cWorld::cWorld( - const AString & a_WorldName, const AString & a_DataPath, - cDeadlockDetect & a_DeadlockDetect, const AStringVector & a_WorldNames, - eDimension a_Dimension, const AString & a_LinkedOverworldName -): + const AString & a_WorldName, + const AString & a_DataPath, + cDeadlockDetect & a_DeadlockDetect, + const AStringVector & a_WorldNames, + eDimension a_Dimension, + const AString & a_LinkedOverworldName +) : m_WorldName(a_WorldName), m_DataPath(a_DataPath), m_LinkedOverworldName(a_LinkedOverworldName), @@ -181,12 +192,12 @@ cWorld::cWorld( m_bAnimals(true), m_Weather(eWeather_Sunny), m_WeatherInterval(24000), // Guaranteed 1 game-day of sunshine at server start :) - m_MaxSunnyTicks(180000), // 150 real-world minutes -+ - m_MinSunnyTicks(12000), // 10 real-world minutes | - m_MaxRainTicks(24000), // 20 real-world minutes +- all values adapted from Vanilla 1.7.2 - m_MinRainTicks(12000), // 10 real-world minutes | + m_MaxSunnyTicks(180000), // 150 real-world minutes -+ + m_MinSunnyTicks(12000), // 10 real-world minutes | + m_MaxRainTicks(24000), // 20 real-world minutes +- all values adapted from Vanilla 1.7.2 + m_MinRainTicks(12000), // 10 real-world minutes | m_MaxThunderStormTicks(15600), // 13 real-world minutes | - m_MinThunderStormTicks(3600), // 3 real-world minutes -+ + m_MinThunderStormTicks(3600), // 3 real-world minutes -+ m_MaxCactusHeight(3), m_MaxSugarcaneHeight(4), /* TODO: Enable when functionality exists again @@ -236,12 +247,18 @@ cWorld::cWorld( LOGWARNING("Cannot read world settings from \"%s\", defaults will be used.", m_IniFileName); // TODO: More descriptions for each key - IniFile.AddHeaderComment(" This is the per-world configuration file, managing settings such as generators, simulators, and spawn points"); - IniFile.AddKeyComment(" LinkedWorlds", "This section governs portal world linkage; leave a value blank to disabled that associated method of teleportation"); + IniFile.AddHeaderComment(" This is the per-world configuration file, managing settings such as generators, " + "simulators, and spawn points"); + IniFile.AddKeyComment( + " LinkedWorlds", + "This section governs portal world linkage; leave a value blank to disabled that associated method of " + "teleportation" + ); } // The presence of a configuration value overrides everything - // If no configuration value is found, GetDimension() is written to file and the variable is written to again to ensure that cosmic rays haven't sneakily changed its value + // If no configuration value is found, GetDimension() is written to file and the variable is written to again to + // ensure that cosmic rays haven't sneakily changed its value m_Dimension = StringToDimension(IniFile.GetValueSet("General", "Dimension", DimensionToString(GetDimension()))); int UnusedDirtyChunksCap = IniFile.GetValueSetI("General", "UnusedChunkCap", 1000); if (UnusedDirtyChunksCap < 0) @@ -259,14 +276,9 @@ cWorld::cWorld( // Try to find the "SpawnPosition" key and coord values in the world configuration, set the flag if found int KeyNum = IniFile.FindKey("SpawnPosition"); m_IsSpawnExplicitlySet = - ( - (KeyNum >= 0) && - ( - (IniFile.FindValue(KeyNum, "X") >= 0) && - (IniFile.FindValue(KeyNum, "Y") >= 0) && - (IniFile.FindValue(KeyNum, "Z") >= 0) - ) - ); + ((KeyNum >= 0) && + ((IniFile.FindValue(KeyNum, "X") >= 0) && (IniFile.FindValue(KeyNum, "Y") >= 0) && + (IniFile.FindValue(KeyNum, "Z") >= 0))); if (m_IsSpawnExplicitlySet) { @@ -276,10 +288,10 @@ cWorld::cWorld( m_SpawnZ = IniFile.GetValueI("SpawnPosition", "Z", m_SpawnZ); } - m_StorageSchema = IniFile.GetValueSet ("Storage", "Schema", m_StorageSchema); - m_StorageCompressionFactor = IniFile.GetValueSetI("Storage", "CompressionFactor", m_StorageCompressionFactor); - m_MaxCactusHeight = IniFile.GetValueSetI("Plants", "MaxCactusHeight", 3); - m_MaxSugarcaneHeight = IniFile.GetValueSetI("Plants", "MaxSugarcaneHeight", 3); + m_StorageSchema = IniFile.GetValueSet("Storage", "Schema", m_StorageSchema); + m_StorageCompressionFactor = IniFile.GetValueSetI("Storage", "CompressionFactor", m_StorageCompressionFactor); + m_MaxCactusHeight = IniFile.GetValueSetI("Plants", "MaxCactusHeight", 3); + m_MaxSugarcaneHeight = IniFile.GetValueSetI("Plants", "MaxSugarcaneHeight", 3); /* TODO: Enable when functionality exists again m_IsBeetrootsBonemealable = IniFile.GetValueSetB("Plants", "IsBeetrootsBonemealable", true); m_IsCactusBonemealable = IniFile.GetValueSetB("Plants", "IsCactusBonemealable", false); @@ -296,31 +308,31 @@ cWorld::cWorld( m_IsBigFlowerBonemealable = IniFile.GetValueSetB("Plants", "IsBigFlowerBonemealable", true); m_IsTallGrassBonemealable = IniFile.GetValueSetB("Plants", "IsTallGrassBonemealable", true); */ - m_IsDeepSnowEnabled = IniFile.GetValueSetB("Physics", "DeepSnow", true); - m_ShouldLavaSpawnFire = IniFile.GetValueSetB("Physics", "ShouldLavaSpawnFire", true); - int TNTShrapnelLevel = IniFile.GetValueSetI("Physics", "TNTShrapnelLevel", static_cast(slAll)); - m_bCommandBlocksEnabled = IniFile.GetValueSetB("Mechanics", "CommandBlocksEnabled", false); - m_bEnabledPVP = IniFile.GetValueSetB("Mechanics", "PVPEnabled", true); - m_bFarmlandTramplingEnabled = IniFile.GetValueSetB("Mechanics", "FarmlandTramplingEnabled", true); - m_bUseChatPrefixes = IniFile.GetValueSetB("Mechanics", "UseChatPrefixes", true); - m_MinNetherPortalWidth = IniFile.GetValueSetI("Mechanics", "MinNetherPortalWidth", 2); - m_MaxNetherPortalWidth = IniFile.GetValueSetI("Mechanics", "MaxNetherPortalWidth", 21); - m_MinNetherPortalHeight = IniFile.GetValueSetI("Mechanics", "MinNetherPortalHeight", 3); - m_MaxNetherPortalHeight = IniFile.GetValueSetI("Mechanics", "MaxNetherPortalHeight", 21); - m_VillagersShouldHarvestCrops = IniFile.GetValueSetB("Monsters", "VillagersShouldHarvestCrops", true); - m_IsDaylightCycleEnabled = IniFile.GetValueSetB("General", "IsDaylightCycleEnabled", true); - int GameMode = IniFile.GetValueSetI("General", "Gamemode", static_cast(m_GameMode)); - int Weather = IniFile.GetValueSetI("General", "Weather", static_cast(m_Weather)); + m_IsDeepSnowEnabled = IniFile.GetValueSetB("Physics", "DeepSnow", true); + m_ShouldLavaSpawnFire = IniFile.GetValueSetB("Physics", "ShouldLavaSpawnFire", true); + int TNTShrapnelLevel = IniFile.GetValueSetI("Physics", "TNTShrapnelLevel", static_cast(slAll)); + m_bCommandBlocksEnabled = IniFile.GetValueSetB("Mechanics", "CommandBlocksEnabled", false); + m_bEnabledPVP = IniFile.GetValueSetB("Mechanics", "PVPEnabled", true); + m_bFarmlandTramplingEnabled = IniFile.GetValueSetB("Mechanics", "FarmlandTramplingEnabled", true); + m_bUseChatPrefixes = IniFile.GetValueSetB("Mechanics", "UseChatPrefixes", true); + m_MinNetherPortalWidth = IniFile.GetValueSetI("Mechanics", "MinNetherPortalWidth", 2); + m_MaxNetherPortalWidth = IniFile.GetValueSetI("Mechanics", "MaxNetherPortalWidth", 21); + m_MinNetherPortalHeight = IniFile.GetValueSetI("Mechanics", "MinNetherPortalHeight", 3); + m_MaxNetherPortalHeight = IniFile.GetValueSetI("Mechanics", "MaxNetherPortalHeight", 21); + m_VillagersShouldHarvestCrops = IniFile.GetValueSetB("Monsters", "VillagersShouldHarvestCrops", true); + m_IsDaylightCycleEnabled = IniFile.GetValueSetB("General", "IsDaylightCycleEnabled", true); + int GameMode = IniFile.GetValueSetI("General", "Gamemode", static_cast(m_GameMode)); + int Weather = IniFile.GetValueSetI("General", "Weather", static_cast(m_Weather)); m_WorldAge = std::chrono::milliseconds(IniFile.GetValueSetI("General", "WorldAgeMS", 0LL)); // Load the weather frequency data: if (m_Dimension == dimOverworld) { - m_MaxSunnyTicks = IniFile.GetValueSetI("Weather", "MaxSunnyTicks", m_MaxSunnyTicks); - m_MinSunnyTicks = IniFile.GetValueSetI("Weather", "MinSunnyTicks", m_MinSunnyTicks); - m_MaxRainTicks = IniFile.GetValueSetI("Weather", "MaxRainTicks", m_MaxRainTicks); - m_MinRainTicks = IniFile.GetValueSetI("Weather", "MinRainTicks", m_MinRainTicks); + m_MaxSunnyTicks = IniFile.GetValueSetI("Weather", "MaxSunnyTicks", m_MaxSunnyTicks); + m_MinSunnyTicks = IniFile.GetValueSetI("Weather", "MinSunnyTicks", m_MinSunnyTicks); + m_MaxRainTicks = IniFile.GetValueSetI("Weather", "MaxRainTicks", m_MaxRainTicks); + m_MinRainTicks = IniFile.GetValueSetI("Weather", "MinRainTicks", m_MinRainTicks); m_MaxThunderStormTicks = IniFile.GetValueSetI("Weather", "MaxThunderStormTicks", m_MaxThunderStormTicks); m_MinThunderStormTicks = IniFile.GetValueSetI("Weather", "MinThunderStormTicks", m_MinThunderStormTicks); if (m_MaxSunnyTicks < m_MinSunnyTicks) @@ -338,9 +350,7 @@ cWorld::cWorld( } auto WorldExists = [&](const AString & a_CheckWorldName) - { - return (std::find(a_WorldNames.begin(), a_WorldNames.end(), a_CheckWorldName) != a_WorldNames.end()); - }; + { return (std::find(a_WorldNames.begin(), a_WorldNames.end(), a_CheckWorldName) != a_WorldNames.end()); }; if (a_Dimension == dimOverworld) { @@ -360,7 +370,7 @@ cWorld::cWorld( } m_LinkedNetherWorldName = IniFile.GetValueSet("LinkedWorlds", "NetherWorldName", MyNetherName); - m_LinkedEndWorldName = IniFile.GetValueSet("LinkedWorlds", "EndWorldName", MyEndName); + m_LinkedEndWorldName = IniFile.GetValueSet("LinkedWorlds", "EndWorldName", MyEndName); } else { @@ -373,15 +383,21 @@ cWorld::cWorld( if (!m_LinkedNetherWorldName.empty() && !WorldExists(m_LinkedNetherWorldName)) { IniFile.SetValue("LinkedWorlds", "NetherWorldName", ""); - LOG("%s Is linked to a nonexisting nether world called \"%s\". The server has modified \"%s/world.ini\" and removed this invalid link.", - GetName().c_str(), m_LinkedNetherWorldName.c_str(), GetName().c_str()); + LOG("%s Is linked to a nonexisting nether world called \"%s\". The server has modified \"%s/world.ini\" " + "and removed this invalid link.", + GetName().c_str(), + m_LinkedNetherWorldName.c_str(), + GetName().c_str()); m_LinkedNetherWorldName.clear(); } if (!m_LinkedEndWorldName.empty() && !WorldExists(m_LinkedEndWorldName)) { IniFile.SetValue("LinkedWorlds", "EndWorldName", ""); - LOG("%s Is linked to a nonexisting end world called \"%s\". The server has modified \"%s/world.ini\" and removed this invalid link.", - GetName().c_str(), m_LinkedEndWorldName.c_str(), GetName().c_str()); + LOG("%s Is linked to a nonexisting end world called \"%s\". The server has modified \"%s/world.ini\" and " + "removed this invalid link.", + GetName().c_str(), + m_LinkedEndWorldName.c_str(), + GetName().c_str()); m_LinkedEndWorldName.clear(); } } @@ -390,8 +406,11 @@ cWorld::cWorld( if (!m_LinkedOverworldName.empty() && !WorldExists(m_LinkedOverworldName)) { IniFile.SetValue("LinkedWorlds", "OverworldName", ""); - LOG("%s Is linked to a nonexisting overworld called \"%s\". The server has modified \"%s/world.ini\" and removed this invalid link.", - GetName().c_str(), m_LinkedOverworldName.c_str(), GetName().c_str()); + LOG("%s Is linked to a nonexisting overworld called \"%s\". The server has modified \"%s/world.ini\" and " + "removed this invalid link.", + GetName().c_str(), + m_LinkedOverworldName.c_str(), + GetName().c_str()); m_LinkedOverworldName.clear(); } } @@ -399,9 +418,9 @@ cWorld::cWorld( // Adjust the enum-backed variables into their respective bounds: - m_GameMode = static_cast (Clamp(GameMode, gmSurvival, gmSpectator)); - m_TNTShrapnelLevel = static_cast(Clamp(TNTShrapnelLevel, slNone, slAll)); - m_Weather = static_cast (Clamp(Weather, wSunny, wStorm)); + m_GameMode = static_cast(Clamp(GameMode, gmSurvival, gmSpectator)); + m_TNTShrapnelLevel = static_cast(Clamp(TNTShrapnelLevel, slNone, slAll)); + m_Weather = static_cast(Clamp(Weather, wSunny, wStorm)); cComposableGenerator::InitializeGeneratorDefaults(IniFile, m_Dimension); @@ -413,11 +432,11 @@ cWorld::cWorld( m_BlockTickQueueCopy.reserve(1000); // Simulators: - m_SimulatorManager = std::make_unique(*this); - m_WaterSimulator = InitializeFluidSimulator(IniFile, "Water", E_BLOCK_WATER, E_BLOCK_STATIONARY_WATER); - m_LavaSimulator = InitializeFluidSimulator(IniFile, "Lava", E_BLOCK_LAVA, E_BLOCK_STATIONARY_LAVA); - m_SandSimulator = std::make_unique(*this, IniFile); - m_FireSimulator = std::make_unique(*this, IniFile); + m_SimulatorManager = std::make_unique(*this); + m_WaterSimulator = InitializeFluidSimulator(IniFile, "Water", E_BLOCK_WATER, E_BLOCK_STATIONARY_WATER); + m_LavaSimulator = InitializeFluidSimulator(IniFile, "Lava", E_BLOCK_LAVA, E_BLOCK_STATIONARY_LAVA); + m_SandSimulator = std::make_unique(*this, IniFile); + m_FireSimulator = std::make_unique(*this, IniFile); m_RedstoneSimulator = InitializeRedstoneSimulator(IniFile); // Water, Lava and Redstone simulators get registered in their initialize function. @@ -439,7 +458,7 @@ cWorld::cWorld( m_LastSpawnMonster.emplace(cMonster::mfHostile, 0_tick); m_LastSpawnMonster.emplace(cMonster::mfPassive, 0_tick); m_LastSpawnMonster.emplace(cMonster::mfAmbient, 0_tick); - m_LastSpawnMonster.emplace(cMonster::mfWater, 0_tick); + m_LastSpawnMonster.emplace(cMonster::mfWater, 0_tick); } @@ -448,9 +467,12 @@ cWorld::cWorld( cWorld::~cWorld() { - delete m_WaterSimulator; m_WaterSimulator = nullptr; - delete m_LavaSimulator; m_LavaSimulator = nullptr; - delete m_RedstoneSimulator; m_RedstoneSimulator = nullptr; + delete m_WaterSimulator; + m_WaterSimulator = nullptr; + delete m_LavaSimulator; + m_LavaSimulator = nullptr; + delete m_RedstoneSimulator; + m_RedstoneSimulator = nullptr; } @@ -641,7 +663,7 @@ bool cWorld::SetSpawn(int a_X, int a_Y, int a_Z) m_SpawnX = a_X; m_SpawnY = a_Y; m_SpawnZ = a_Z; - FLOGD("Spawn set at {}", Vector3i{m_SpawnX, m_SpawnY, m_SpawnZ}); + FLOGD("Spawn set at {}", Vector3i {m_SpawnX, m_SpawnY, m_SpawnZ}); return true; } else @@ -657,16 +679,18 @@ bool cWorld::SetSpawn(int a_X, int a_Y, int a_Z) void cWorld::InitializeSpawn(void) { - // For the debugging builds, don't make the server build too much world upon start: - #if !defined(NDEBUG) || defined(ANDROID) - const int DefaultViewDist = 9; - #else - const int DefaultViewDist = 20; // Always prepare an area 20 chunks across, no matter what the actual cClientHandle::VIEWDISTANCE is - #endif // !NDEBUG +// For the debugging builds, don't make the server build too much world upon start: +#if !defined(NDEBUG) || defined(ANDROID) + const int DefaultViewDist = 9; +#else + const int DefaultViewDist = + 20; // Always prepare an area 20 chunks across, no matter what the actual cClientHandle::VIEWDISTANCE is +#endif // !NDEBUG if (!m_IsSpawnExplicitlySet) { - // Spawn position wasn't already explicitly set, enumerate random solid-land coordinate and then write it to the world configuration: + // Spawn position wasn't already explicitly set, enumerate random solid-land coordinate and then write it to the + // world configuration: GenerateRandomSpawn(DefaultViewDist); } @@ -731,14 +755,17 @@ void cWorld::GenerateRandomSpawn(int a_MaxSpawnRadius) { SetSpawn(BiomeOffset.x, SpawnY, BiomeOffset.z); - FLOGINFO("World \"{}\": Generated spawnpoint position at {}", m_WorldName, Vector3i{m_SpawnX, m_SpawnY, m_SpawnZ}); + FLOGINFO( + "World \"{}\": Generated spawnpoint position at {}", + m_WorldName, + Vector3i {m_SpawnX, m_SpawnY, m_SpawnZ} + ); return; } // A search grid (searches clockwise around the origin) static const int HalfChunk = cChunkDef::Width / 2; - static const Vector3i ChunkOffset[] = - { + static const Vector3i ChunkOffset[] = { Vector3i(0, 0, HalfChunk), Vector3i(HalfChunk, 0, HalfChunk), Vector3i(HalfChunk, 0, 0), @@ -765,14 +792,22 @@ void cWorld::GenerateRandomSpawn(int a_MaxSpawnRadius) cChunkDef::BlockToChunk(m_SpawnX, m_SpawnZ, ChunkX, ChunkZ); cSpawnPrepare::PrepareChunks(*this, ChunkX, ChunkZ, a_MaxSpawnRadius); - FLOGINFO("World \"{}\":Generated spawnpoint position at {}", m_WorldName, Vector3i{m_SpawnX, m_SpawnY, m_SpawnZ}); + FLOGINFO( + "World \"{}\":Generated spawnpoint position at {}", + m_WorldName, + Vector3i {m_SpawnX, m_SpawnY, m_SpawnZ} + ); return; } } } m_SpawnY = GetHeight(m_SpawnX, m_SpawnZ); - FLOGWARNING("World \"{}\": Did not find an acceptable spawnpoint. Generated a random spawnpoint position at {}", m_WorldName, Vector3i{m_SpawnX, m_SpawnY, m_SpawnZ}); + FLOGWARNING( + "World \"{}\": Did not find an acceptable spawnpoint. Generated a random spawnpoint position at {}", + m_WorldName, + Vector3i {m_SpawnX, m_SpawnY, m_SpawnZ} + ); } @@ -784,13 +819,7 @@ bool cWorld::CanSpawnAt(int a_X, int & a_Y, int a_Z) // All this blocks can only be found above ground. // Apart from netherrack (as the Nether is technically a massive cave) static const BLOCKTYPE ValidSpawnBlocks[] = - { - E_BLOCK_GRASS, - E_BLOCK_SAND, - E_BLOCK_SNOW, - E_BLOCK_SNOW_BLOCK, - E_BLOCK_NETHERRACK - }; + {E_BLOCK_GRASS, E_BLOCK_SAND, E_BLOCK_SNOW, E_BLOCK_SNOW_BLOCK, E_BLOCK_NETHERRACK}; static const int ValidSpawnBlocksCount = ARRAYCOUNT(ValidSpawnBlocks); @@ -800,7 +829,7 @@ bool cWorld::CanSpawnAt(int a_X, int & a_Y, int a_Z) for (int PotentialY = HighestSpawnPoint; PotentialY > LowestSpawnPoint; --PotentialY) { - BLOCKTYPE HeadBlock = GetBlock({ a_X, PotentialY, a_Z }); + BLOCKTYPE HeadBlock = GetBlock({a_X, PotentialY, a_Z}); // Is this block safe for spawning if (HeadBlock != E_BLOCK_AIR) @@ -808,7 +837,7 @@ bool cWorld::CanSpawnAt(int a_X, int & a_Y, int a_Z) continue; } - BLOCKTYPE BodyBlock = GetBlock({ a_X, PotentialY - 1, a_Z }); + BLOCKTYPE BodyBlock = GetBlock({a_X, PotentialY - 1, a_Z}); // Is this block safe for spawning if (BodyBlock != E_BLOCK_AIR) @@ -816,7 +845,7 @@ bool cWorld::CanSpawnAt(int a_X, int & a_Y, int a_Z) continue; } - BLOCKTYPE FloorBlock = GetBlock({ a_X, PotentialY - 2, a_Z }); + BLOCKTYPE FloorBlock = GetBlock({a_X, PotentialY - 2, a_Z}); // Early out - Is the floor block air if (FloorBlock == E_BLOCK_AIR) @@ -861,19 +890,16 @@ bool cWorld::CheckPlayerSpawnPoint(Vector3i a_Pos) } // Check that surrounding blocks are neither solid or liquid - constexpr std::array SurroundingCoords = - { - { - {0, 0, 1}, - {1, 0, 1}, - {1, 0, 0}, - {1, 0, -1}, - {0, 0, -1}, - {-1, 0, -1}, - {-1, 0, 0}, - {-1, 0, 1}, - } - }; + constexpr std::array SurroundingCoords = {{ + {0, 0, 1}, + {1, 0, 1}, + {1, 0, 0}, + {1, 0, -1}, + {0, 0, -1}, + {-1, 0, -1}, + {-1, 0, 0}, + {-1, 0, 1}, + }}; for (const auto & Offset : SurroundingCoords) { @@ -919,10 +945,13 @@ void cWorld::InitializeAndLoadMobSpawningValues(cIniFile & a_IniFile) AString DefaultMonsters; switch (m_Dimension) { - case dimOverworld: DefaultMonsters = "bat, cavespider, chicken, cow, creeper, guardian, horse, mooshroom, ocelot, pig, rabbit, sheep, silverfish, skeleton, slime, spider, squid, wolf, zombie"; break; // TODO Re-add Enderman when bugs are fixed - case dimNether: DefaultMonsters = "blaze, ghast, magmacube, witherskeleton, zombiepigman"; break; - case dimEnd: DefaultMonsters = ""; break; // TODO Re-add Enderman when bugs are fixed - case dimNotSet: ASSERT(!"Dimension not set"); break; + case dimOverworld: + DefaultMonsters = "bat, cavespider, chicken, cow, creeper, guardian, horse, mooshroom, ocelot, pig, " + "rabbit, sheep, silverfish, skeleton, slime, spider, squid, wolf, zombie"; + break; // TODO Re-add Enderman when bugs are fixed + case dimNether: DefaultMonsters = "blaze, ghast, magmacube, witherskeleton, zombiepigman"; break; + case dimEnd: DefaultMonsters = ""; break; // TODO Re-add Enderman when bugs are fixed + case dimNotSet: ASSERT(!"Dimension not set"); break; } m_bAnimals = a_IniFile.GetValueSetB("Monsters", "AnimalsOn", true); @@ -958,22 +987,22 @@ void cWorld::Stop(cDeadlockDetect & a_DeadlockDetect) // Write settings to file; these are all plugin changeable values - keep updated! cIniFile IniFile; IniFile.ReadFile(m_IniFileName); - if (GetDimension() == dimOverworld) - { - IniFile.SetValue("LinkedWorlds", "NetherWorldName", m_LinkedNetherWorldName); - IniFile.SetValue("LinkedWorlds", "EndWorldName", m_LinkedEndWorldName); - } - else - { - IniFile.SetValue("LinkedWorlds", "OverworldName", m_LinkedOverworldName); - } - IniFile.SetValueI("Physics", "TNTShrapnelLevel", static_cast(m_TNTShrapnelLevel)); - IniFile.SetValueB("Mechanics", "CommandBlocksEnabled", m_bCommandBlocksEnabled); - IniFile.SetValueB("Mechanics", "UseChatPrefixes", m_bUseChatPrefixes); - IniFile.SetValueB("General", "IsDaylightCycleEnabled", m_IsDaylightCycleEnabled); - IniFile.SetValueI("General", "Weather", static_cast(m_Weather)); - IniFile.SetValueI("General", "TimeInTicks", GetWorldDate().count()); - IniFile.SetValueI("General", "WorldAgeMS", static_cast(m_WorldAge.count())); + if (GetDimension() == dimOverworld) + { + IniFile.SetValue("LinkedWorlds", "NetherWorldName", m_LinkedNetherWorldName); + IniFile.SetValue("LinkedWorlds", "EndWorldName", m_LinkedEndWorldName); + } + else + { + IniFile.SetValue("LinkedWorlds", "OverworldName", m_LinkedOverworldName); + } + IniFile.SetValueI("Physics", "TNTShrapnelLevel", static_cast(m_TNTShrapnelLevel)); + IniFile.SetValueB("Mechanics", "CommandBlocksEnabled", m_bCommandBlocksEnabled); + IniFile.SetValueB("Mechanics", "UseChatPrefixes", m_bUseChatPrefixes); + IniFile.SetValueB("General", "IsDaylightCycleEnabled", m_IsDaylightCycleEnabled); + IniFile.SetValueI("General", "Weather", static_cast(m_Weather)); + IniFile.SetValueI("General", "TimeInTicks", GetWorldDate().count()); + IniFile.SetValueI("General", "WorldAgeMS", static_cast(m_WorldAge.count())); IniFile.WriteFile(m_IniFileName); m_TickThread.Stop(); @@ -1130,20 +1159,18 @@ void cWorld::TickMobs(std::chrono::milliseconds a_Dt) if (m_bAnimals) { // Spawning is enabled, spawn now: - static const cMonster::eFamily AllFamilies[] = - { + static const cMonster::eFamily AllFamilies[] = { cMonster::mfHostile, cMonster::mfPassive, cMonster::mfAmbient, cMonster::mfWater, - } ; + }; for (size_t i = 0; i < ARRAYCOUNT(AllFamilies); i++) { cMonster::eFamily Family = AllFamilies[i]; - if ( - (m_LastSpawnMonster[Family] > (m_WorldTickAge - cMonster::GetSpawnDelay(Family))) || // Not reached the needed ticks before the next round - MobCensus.IsCapped(Family) - ) + if ((m_LastSpawnMonster[Family] > (m_WorldTickAge - cMonster::GetSpawnDelay(Family)) + ) || // Not reached the needed ticks before the next round + MobCensus.IsCapped(Family)) { continue; } @@ -1161,7 +1188,8 @@ void cWorld::TickMobs(std::chrono::milliseconds a_Dt) } // for i - AllFamilies[] } // if (Spawning enabled) - ForEachEntity([=](cEntity & a_Entity) + ForEachEntity( + [=](cEntity & a_Entity) { if (!a_Entity.IsMob()) { @@ -1225,7 +1253,8 @@ void cWorld::TickQueuedChunkDataSets() // If a client is requesting this chunk, send it to them: cChunkSender & ChunkSender = m_ChunkSender; DoWithChunk( - Chunk.m_ChunkX, Chunk.m_ChunkZ, + Chunk.m_ChunkX, + Chunk.m_ChunkZ, [&ChunkSender](cChunk & a_Chunk) { if (a_Chunk.HasAnyClients()) @@ -1259,7 +1288,7 @@ void cWorld::TickQueuedEntityAdditions(void) cLock Lock(*this); // Add entities waiting in the queue to be added: - for (auto & Item: EntitiesToAdd) + for (auto & Item : EntitiesToAdd) { const auto Entity = Item.first.get(); @@ -1268,7 +1297,9 @@ void cWorld::TickQueuedEntityAdditions(void) const auto Player = static_cast(Entity); LOGD("Adding player %s to world \"%s\".", Player->GetName().c_str(), m_WorldName.c_str()); - ASSERT(std::find(m_Players.begin(), m_Players.end(), Player) == m_Players.end()); // Is it already in the list? HOW? + ASSERT( + std::find(m_Players.begin(), m_Players.end(), Player) == m_Players.end() + ); // Is it already in the list? HOW? m_Players.push_back(Player); } @@ -1298,17 +1329,14 @@ void cWorld::TickQueuedTasks(void) } // Partition everything to be executed by returning false to move to end of list if time reached - auto MoveBeginIterator = std::partition(m_Tasks.begin(), m_Tasks.end(), [this](const decltype(m_Tasks)::value_type & a_Task) - { - return a_Task.first >= m_WorldAge; - }); + auto MoveBeginIterator = std::partition( + m_Tasks.begin(), + m_Tasks.end(), + [this](const decltype(m_Tasks)::value_type & a_Task) { return a_Task.first >= m_WorldAge; } + ); // Cut all the due tasks from m_Tasks into Tasks: - Tasks.insert( - Tasks.end(), - std::make_move_iterator(MoveBeginIterator), - std::make_move_iterator(m_Tasks.end()) - ); + Tasks.insert(Tasks.end(), std::make_move_iterator(MoveBeginIterator), std::make_move_iterator(m_Tasks.end())); m_Tasks.erase(MoveBeginIterator, m_Tasks.end()); } @@ -1381,10 +1409,28 @@ bool cWorld::ForEachBlockEntityInChunk(int a_ChunkX, int a_ChunkZ, cBlockEntityC -void cWorld::DoExplosionAt(double a_ExplosionSize, double a_BlockX, double a_BlockY, double a_BlockZ, bool a_CanCauseFire, eExplosionSource a_Source, void * a_SourceData) +void cWorld::DoExplosionAt( + double a_ExplosionSize, + double a_BlockX, + double a_BlockY, + double a_BlockZ, + bool a_CanCauseFire, + eExplosionSource a_Source, + void * a_SourceData +) { cLock Lock(*this); - if (!cPluginManager::Get()->CallHookExploding(*this, a_ExplosionSize, a_CanCauseFire, a_BlockX, a_BlockY, a_BlockZ, a_Source, a_SourceData) && (a_ExplosionSize > 0)) + if (!cPluginManager::Get()->CallHookExploding( + *this, + a_ExplosionSize, + a_CanCauseFire, + a_BlockX, + a_BlockY, + a_BlockZ, + a_Source, + a_SourceData + ) && + (a_ExplosionSize > 0)) { // TODO: CanCauseFire gets reset to false for some reason, (plugin has ability to change it, might be related) @@ -1408,8 +1454,23 @@ void cWorld::DoExplosionAt(double a_ExplosionSize, double a_BlockX, double a_Blo } } - Explodinator::Kaboom(*this, Vector3d(a_BlockX, a_BlockY, a_BlockZ), FloorC(a_ExplosionSize), a_CanCauseFire, Entity); - cPluginManager::Get()->CallHookExploded(*this, a_ExplosionSize, a_CanCauseFire, a_BlockX, a_BlockY, a_BlockZ, a_Source, a_SourceData); + Explodinator::Kaboom( + *this, + Vector3d(a_BlockX, a_BlockY, a_BlockZ), + FloorC(a_ExplosionSize), + a_CanCauseFire, + Entity + ); + cPluginManager::Get()->CallHookExploded( + *this, + a_ExplosionSize, + a_CanCauseFire, + a_BlockX, + a_BlockY, + a_BlockZ, + a_Source, + a_SourceData + ); } } @@ -1426,22 +1487,34 @@ bool cWorld::DoWithBlockEntityAt(const Vector3i a_Position, cBlockEntityCallback -bool cWorld::GetSignLines(int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4) +bool cWorld::GetSignLines( + int a_BlockX, + int a_BlockY, + int a_BlockZ, + AString & a_Line1, + AString & a_Line2, + AString & a_Line3, + AString & a_Line4 +) { - return DoWithBlockEntityAt({ a_BlockX, a_BlockY, a_BlockZ }, [&a_Line1, &a_Line2, &a_Line3, &a_Line4](cBlockEntity & a_BlockEntity) - { - if ((a_BlockEntity.GetBlockType() != E_BLOCK_WALLSIGN) && (a_BlockEntity.GetBlockType() != E_BLOCK_SIGN_POST)) + return DoWithBlockEntityAt( + {a_BlockX, a_BlockY, a_BlockZ}, + [&a_Line1, &a_Line2, &a_Line3, &a_Line4](cBlockEntity & a_BlockEntity) { - return false; // Not a sign - } + if ((a_BlockEntity.GetBlockType() != E_BLOCK_WALLSIGN) && + (a_BlockEntity.GetBlockType() != E_BLOCK_SIGN_POST)) + { + return false; // Not a sign + } - const auto & Sign = static_cast(a_BlockEntity); - a_Line1 = Sign.GetLine(0); - a_Line2 = Sign.GetLine(1); - a_Line3 = Sign.GetLine(2); - a_Line4 = Sign.GetLine(3); - return true; - }); + const auto & Sign = static_cast(a_BlockEntity); + a_Line1 = Sign.GetLine(0); + a_Line2 = Sign.GetLine(1); + a_Line3 = Sign.GetLine(2); + a_Line4 = Sign.GetLine(3); + return true; + } + ); } @@ -1492,15 +1565,15 @@ bool cWorld::GrowTreeFromSapling(Vector3i a_BlockPos) auto SaplingMeta = GetBlockMeta(a_BlockPos); switch (SaplingMeta & 0x07) { - case E_META_SAPLING_APPLE: GetAppleTreeImage (a_BlockPos, Noise, WorldAge, Logs, Other); break; - case E_META_SAPLING_BIRCH: GetBirchTreeImage (a_BlockPos, Noise, WorldAge, Logs, Other); break; + case E_META_SAPLING_APPLE: GetAppleTreeImage(a_BlockPos, Noise, WorldAge, Logs, Other); break; + case E_META_SAPLING_BIRCH: GetBirchTreeImage(a_BlockPos, Noise, WorldAge, Logs, Other); break; case E_META_SAPLING_CONIFER: { bool IsLarge = GetLargeTreeAdjustment(a_BlockPos, SaplingMeta); GetConiferTreeImage(a_BlockPos, Noise, WorldAge, Logs, Other, IsLarge); break; } - case E_META_SAPLING_ACACIA: GetAcaciaTreeImage (a_BlockPos, Noise, WorldAge, Logs, Other); break; + case E_META_SAPLING_ACACIA: GetAcaciaTreeImage(a_BlockPos, Noise, WorldAge, Logs, Other); break; case E_META_SAPLING_JUNGLE: { bool IsLarge = GetLargeTreeAdjustment(a_BlockPos, SaplingMeta); @@ -1533,7 +1606,7 @@ bool cWorld::GetLargeTreeAdjustment(Vector3i & a_BlockPos, NIBBLETYPE a_Meta) a_Meta = a_Meta & 0x07; // Check to see if we are the northwest corner - for (int x = 0; x < 2; ++x) + for (int x = 0; x < 2; ++x) { for (int z = 0; z < 2; ++z) { @@ -1551,7 +1624,7 @@ bool cWorld::GetLargeTreeAdjustment(Vector3i & a_BlockPos, NIBBLETYPE a_Meta) IsLarge = true; // Check to see if we are the southwest corner - for (int x = 0; x < 2; ++x) + for (int x = 0; x < 2; ++x) { for (int z = 0; z > -2; --z) { @@ -1653,14 +1726,14 @@ bool cWorld::GrowTreeImage(const sSetBlockVector & a_Blocks) { switch (itr->m_BlockType) { - CASE_TREE_ALLOWED_BLOCKS: - { - break; - } - default: - { - return false; - } + CASE_TREE_ALLOWED_BLOCKS: + { + break; + } + default: + { + return false; + } } } // for itr - b2[] @@ -1691,7 +1764,7 @@ bool cWorld::GrowRipePlant(Vector3i a_BlockPos) -EMCSBiome cWorld::GetBiomeAt (int a_BlockX, int a_BlockZ) +EMCSBiome cWorld::GetBiomeAt(int a_BlockX, int a_BlockZ) { return m_ChunkMap.GetBiomeAt(a_BlockX, a_BlockZ); } @@ -1721,8 +1794,10 @@ bool cWorld::SetAreaBiome(int a_MinX, int a_MaxX, int a_MinZ, int a_MaxZ, EMCSBi bool cWorld::SetAreaBiome(const cCuboid & a_Area, EMCSBiome a_Biome) { return SetAreaBiome( - std::min(a_Area.p1.x, a_Area.p2.x), std::max(a_Area.p1.x, a_Area.p2.x), - std::min(a_Area.p1.z, a_Area.p2.z), std::max(a_Area.p1.z, a_Area.p2.z), + std::min(a_Area.p1.x, a_Area.p2.x), + std::max(a_Area.p1.x, a_Area.p2.x), + std::min(a_Area.p1.z, a_Area.p2.z), + std::max(a_Area.p1.z, a_Area.p2.z), a_Biome ); } @@ -1785,7 +1860,13 @@ bool cWorld::GetBlockTypeMeta(Vector3i a_BlockPos, BLOCKTYPE & a_BlockType, NIBB -bool cWorld::GetBlockInfo(Vector3i a_BlockPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_Meta, NIBBLETYPE & a_SkyLight, NIBBLETYPE & a_BlockLight) const +bool cWorld::GetBlockInfo( + Vector3i a_BlockPos, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_Meta, + NIBBLETYPE & a_SkyLight, + NIBBLETYPE & a_BlockLight +) const { return m_ChunkMap.GetBlockInfo(a_BlockPos, a_BlockType, a_Meta, a_SkyLight, a_BlockLight); } @@ -1803,7 +1884,12 @@ bool cWorld::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock -void cWorld::SpawnItemPickups(const cItems & a_Pickups, Vector3i a_BlockPos, double a_FlyAwaySpeed, bool a_IsPlayerCreated) +void cWorld::SpawnItemPickups( + const cItems & a_Pickups, + Vector3i a_BlockPos, + double a_FlyAwaySpeed, + bool a_IsPlayerCreated +) { auto & random = GetRandomProvider(); auto microX = random.RandReal(0, 1); @@ -1831,7 +1917,7 @@ void cWorld::SpawnItemPickups(const cItems & a_Pickups, Vector3d a_Pos, double a float SpeedY = static_cast(a_FlyAwaySpeed * Random.RandInt(40, 50)); float SpeedZ = static_cast(a_FlyAwaySpeed * Random.RandInt(-10, 10)); - auto Pickup = std::make_unique(a_Pos, *itr, a_IsPlayerCreated, Vector3f{SpeedX, SpeedY, SpeedZ}); + auto Pickup = std::make_unique(a_Pos, *itr, a_IsPlayerCreated, Vector3f {SpeedX, SpeedY, SpeedZ}); auto PickupPtr = Pickup.get(); PickupPtr->Initialize(std::move(Pickup), *this); } @@ -1860,7 +1946,13 @@ void cWorld::SpawnItemPickups(const cItems & a_Pickups, Vector3d a_Pos, Vector3d -UInt32 cWorld::SpawnItemPickup(Vector3d a_Pos, const cItem & a_Item, Vector3f a_Speed, int a_LifetimeTicks, bool a_CanCombine) +UInt32 cWorld::SpawnItemPickup( + Vector3d a_Pos, + const cItem & a_Item, + Vector3f a_Speed, + int a_LifetimeTicks, + bool a_CanCombine +) { auto pickup = std::make_unique(a_Pos, a_Item, false, a_Speed, a_LifetimeTicks, a_CanCombine); auto pickupPtr = pickup.get(); @@ -1960,11 +2052,11 @@ UInt32 cWorld::SpawnMinecart(Vector3d a_Pos, int a_MinecartType, const cItem & a std::unique_ptr Minecart; switch (a_MinecartType) { - case E_ITEM_MINECART: Minecart = std::make_unique (a_Pos, a_Content, a_BlockHeight); break; - case E_ITEM_CHEST_MINECART: Minecart = std::make_unique (a_Pos); break; + case E_ITEM_MINECART: Minecart = std::make_unique(a_Pos, a_Content, a_BlockHeight); break; + case E_ITEM_CHEST_MINECART: Minecart = std::make_unique(a_Pos); break; case E_ITEM_FURNACE_MINECART: Minecart = std::make_unique(a_Pos); break; - case E_ITEM_MINECART_WITH_TNT: Minecart = std::make_unique (a_Pos); break; - case E_ITEM_MINECART_WITH_HOPPER: Minecart = std::make_unique (a_Pos); break; + case E_ITEM_MINECART_WITH_TNT: Minecart = std::make_unique(a_Pos); break; + case E_ITEM_MINECART_WITH_HOPPER: Minecart = std::make_unique(a_Pos); break; default: { return cEntity::INVALID_ID; @@ -1998,7 +2090,12 @@ UInt32 cWorld::SpawnBoat(Vector3d a_Pos, cBoat::eMaterial a_Material) -UInt32 cWorld::SpawnPrimedTNT(Vector3d a_Pos, int a_FuseTicks, double a_InitialVelocityCoeff, bool a_ShouldPlayFuseSound) +UInt32 cWorld::SpawnPrimedTNT( + Vector3d a_Pos, + int a_FuseTicks, + double a_InitialVelocityCoeff, + bool a_ShouldPlayFuseSound +) { auto TNT = std::make_unique(a_Pos, a_FuseTicks); auto TNTPtr = TNT.get(); @@ -2165,9 +2262,9 @@ void cWorld::MarkChunkSaving(int a_ChunkX, int a_ChunkZ) -void cWorld::MarkChunkSaved (int a_ChunkX, int a_ChunkZ) +void cWorld::MarkChunkSaved(int a_ChunkX, int a_ChunkZ) { - m_ChunkMap.MarkChunkSaved (a_ChunkX, a_ChunkZ); + m_ChunkMap.MarkChunkSaved(a_ChunkX, a_ChunkZ); } @@ -2187,7 +2284,8 @@ void cWorld::QueueSetChunkData(struct SetChunkData && a_SetChunkData) void cWorld::ChunkLighted( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, const cChunkDef::BlockNibbles & a_BlockLight, const cChunkDef::BlockNibbles & a_SkyLight ) @@ -2313,7 +2411,7 @@ bool cWorld::FindAndDoWithPlayer(const AString & a_PlayerNameHint, cPlayerListCa { continue; } - size_t Rating = RateCompareString (a_PlayerNameHint, Player->GetName()); + size_t Rating = RateCompareString(a_PlayerNameHint, Player->GetName()); if (Rating >= BestRating) { BestMatch = Player; @@ -2353,7 +2451,13 @@ bool cWorld::DoWithPlayerByUUID(const cUUID & a_PlayerUUID, cPlayerListCallback -bool cWorld::DoWithNearestPlayer(Vector3d a_Pos, double a_RangeLimit, cPlayerListCallback a_Callback, bool a_CheckLineOfSight, bool a_IgnoreSpectator) +bool cWorld::DoWithNearestPlayer( + Vector3d a_Pos, + double a_RangeLimit, + cPlayerListCallback a_Callback, + bool a_CheckLineOfSight, + bool a_IgnoreSpectator +) { double ClosestDistance = a_RangeLimit; cPlayer * ClosestPlayer = nullptr; @@ -2381,10 +2485,7 @@ bool cWorld::DoWithNearestPlayer(Vector3d a_Pos, double a_RangeLimit, cPlayerLis } // Check LineOfSight, if requested: - if ( - a_CheckLineOfSight && - !cLineBlockTracer::LineOfSightTrace(*this, a_Pos, Pos, cLineBlockTracer::losAirWater) - ) + if (a_CheckLineOfSight && !cLineBlockTracer::LineOfSightTrace(*this, a_Pos, Pos, cLineBlockTracer::losAirWater)) { continue; } @@ -2484,7 +2585,13 @@ bool cWorld::DoWithEntityByID(UInt32 a_UniqueID, cEntityCallback a_Callback) -void cWorld::CompareChunkClients(int a_ChunkX1, int a_ChunkZ1, int a_ChunkX2, int a_ChunkZ2, cClientDiffCallback & a_Callback) +void cWorld::CompareChunkClients( + int a_ChunkX1, + int a_ChunkZ1, + int a_ChunkX2, + int a_ChunkZ2, + cClientDiffCallback & a_Callback +) { m_ChunkMap.CompareChunkClients(a_ChunkX1, a_ChunkZ1, a_ChunkX2, a_ChunkZ2, a_Callback); } @@ -2557,7 +2664,14 @@ void cWorld::ChunkLoadFailed(int a_ChunkX, int a_ChunkZ) -bool cWorld::SetSignLines(Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, cPlayer * a_Player) +bool cWorld::SetSignLines( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4, + cPlayer * a_Player +) { // TODO: rvalue these strings @@ -2571,18 +2685,20 @@ bool cWorld::SetSignLines(Vector3i a_BlockPos, const AString & a_Line1, const AS return false; } - if ( - DoWithBlockEntityAt(a_BlockPos, [&Line1, &Line2, &Line3, &Line4](cBlockEntity & a_BlockEntity) - { - if ((a_BlockEntity.GetBlockType() != E_BLOCK_WALLSIGN) && (a_BlockEntity.GetBlockType() != E_BLOCK_SIGN_POST)) + if (DoWithBlockEntityAt( + a_BlockPos, + [&Line1, &Line2, &Line3, &Line4](cBlockEntity & a_BlockEntity) { - return false; // Not a sign - } + if ((a_BlockEntity.GetBlockType() != E_BLOCK_WALLSIGN) && + (a_BlockEntity.GetBlockType() != E_BLOCK_SIGN_POST)) + { + return false; // Not a sign + } - static_cast(a_BlockEntity).SetLines(Line1, Line2, Line3, Line4); - return true; - }) - ) + static_cast(a_BlockEntity).SetLines(Line1, Line2, Line3, Line4); + return true; + } + )) { cRoot::Get()->GetPluginManager()->CallHookUpdatedSign(*this, a_BlockPos, Line1, Line2, Line3, Line4, a_Player); return true; @@ -2597,16 +2713,19 @@ bool cWorld::SetSignLines(Vector3i a_BlockPos, const AString & a_Line1, const AS bool cWorld::SetCommandBlockCommand(int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Command) { - return DoWithBlockEntityAt({ a_BlockX, a_BlockY, a_BlockZ }, [&](cBlockEntity & a_BlockEntity) - { - if (a_BlockEntity.GetBlockType() != E_BLOCK_COMMAND_BLOCK) + return DoWithBlockEntityAt( + {a_BlockX, a_BlockY, a_BlockZ}, + [&](cBlockEntity & a_BlockEntity) { - return false; - } + if (a_BlockEntity.GetBlockType() != E_BLOCK_COMMAND_BLOCK) + { + return false; + } - static_cast(a_BlockEntity).SetCommand(a_Command); - return true; - }); + static_cast(a_BlockEntity).SetCommand(a_Command); + return true; + } + ); } @@ -2617,7 +2736,7 @@ bool cWorld::IsTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ) { BLOCKTYPE Block; NIBBLETYPE Meta; - GetBlockTypeMeta({ a_BlockX, a_BlockY, a_BlockZ }, Block, Meta); + GetBlockTypeMeta({a_BlockX, a_BlockY, a_BlockZ}, Block, Meta); if ((Block != E_BLOCK_TRAPDOOR) && (Block != E_BLOCK_IRON_TRAPDOOR)) { return false; @@ -2634,7 +2753,7 @@ bool cWorld::SetTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_Op { BLOCKTYPE Block; NIBBLETYPE Meta; - GetBlockTypeMeta({ a_BlockX, a_BlockY, a_BlockZ }, Block, Meta); + GetBlockTypeMeta({a_BlockX, a_BlockY, a_BlockZ}, Block, Meta); if ((Block != E_BLOCK_TRAPDOOR) && (Block != E_BLOCK_IRON_TRAPDOOR)) { return false; @@ -2643,8 +2762,8 @@ bool cWorld::SetTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_Op bool IsOpen = (Meta & 0x4) != 0; if (a_Open != IsOpen) { - SetBlockMeta({ a_BlockX, a_BlockY, a_BlockZ }, Meta ^ 0x4); - BroadcastSoundParticleEffect(EffectID::SFX_RANDOM_WOODEN_TRAPDOOR_OPEN, { a_BlockX, a_BlockY, a_BlockZ }, 0); + SetBlockMeta({a_BlockX, a_BlockY, a_BlockZ}, Meta ^ 0x4); + BroadcastSoundParticleEffect(EffectID::SFX_RANDOM_WOODEN_TRAPDOOR_OPEN, {a_BlockX, a_BlockY, a_BlockZ}, 0); return true; } return false; @@ -2691,7 +2810,13 @@ bool cWorld::IsChunkLighted(int a_ChunkX, int a_ChunkZ) -bool cWorld::ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) +bool cWorld::ForEachChunkInRect( + int a_MinChunkX, + int a_MaxChunkX, + int a_MinChunkZ, + int a_MaxChunkZ, + cChunkDataCallback & a_Callback +) { return m_ChunkMap.ForEachChunkInRect(a_MinChunkX, a_MaxChunkX, a_MinChunkZ, a_MaxChunkZ, a_Callback); } @@ -2741,7 +2866,7 @@ void cWorld::QueueTask(std::function a_Task) -void cWorld::ScheduleTask(const cTickTime a_DelayTicks, std::function a_Task) +void cWorld::ScheduleTask(const cTickTime a_DelayTicks, std::function a_Task) { const auto TargetTick = a_DelayTicks + m_WorldAge; @@ -2787,11 +2912,10 @@ OwnedEntity cWorld::RemoveEntity(cEntity & a_Entity) // Check if the entity is in the queue to be added to the world: cCSLock Lock(m_CSEntitiesToAdd); - auto itr = std::find_if(m_EntitiesToAdd.begin(), m_EntitiesToAdd.end(), - [&a_Entity](const auto & Item) - { - return (Item.first.get() == &a_Entity); - } + auto itr = std::find_if( + m_EntitiesToAdd.begin(), + m_EntitiesToAdd.end(), + [&a_Entity](const auto & Item) { return (Item.first.get() == &a_Entity); } ); if (itr != m_EntitiesToAdd.end()) @@ -2844,7 +2968,9 @@ void cWorld::TickQueuedBlocks(void) m_BlockTickQueueCopy.clear(); m_BlockTickQueue.swap(m_BlockTickQueueCopy); - for (std::vector::iterator itr = m_BlockTickQueueCopy.begin(); itr != m_BlockTickQueueCopy.end(); ++itr) + for (std::vector::iterator itr = m_BlockTickQueueCopy.begin(); + itr != m_BlockTickQueueCopy.end(); + ++itr) { BlockTickQueueItem * Block = (*itr); Block->TicksToWait -= 1; @@ -2852,7 +2978,8 @@ void cWorld::TickQueuedBlocks(void) { // TODO: Handle the case when the chunk is already unloaded m_ChunkMap.TickBlock({Block->X, Block->Y, Block->Z}); - delete Block; // We don't have to remove it from the vector, this will happen automatically on the next tick + delete Block; // We don't have to remove it from the vector, this will happen automatically on the next + // tick } else { @@ -2883,10 +3010,10 @@ void cWorld::QueueBlockForTick(int a_BlockX, int a_BlockY, int a_BlockZ, int a_T bool cWorld::IsBlockDirectlyWatered(int a_BlockX, int a_BlockY, int a_BlockZ) { return ( - IsBlockWater(GetBlock({ a_BlockX - 1, a_BlockY, a_BlockZ })) || - IsBlockWater(GetBlock({ a_BlockX + 1, a_BlockY, a_BlockZ })) || - IsBlockWater(GetBlock({ a_BlockX, a_BlockY, a_BlockZ - 1 })) || - IsBlockWater(GetBlock({ a_BlockX, a_BlockY, a_BlockZ + 1 })) + IsBlockWater(GetBlock({a_BlockX - 1, a_BlockY, a_BlockZ})) || + IsBlockWater(GetBlock({a_BlockX + 1, a_BlockY, a_BlockZ})) || + IsBlockWater(GetBlock({a_BlockX, a_BlockY, a_BlockZ - 1})) || + IsBlockWater(GetBlock({a_BlockX, a_BlockY, a_BlockZ + 1})) ); } @@ -2945,7 +3072,13 @@ UInt32 cWorld::SpawnMobFinalize(std::unique_ptr a_Monster) -UInt32 cWorld::CreateProjectile(Vector3d a_Pos, cProjectileEntity::eKind a_Kind, cEntity * a_Creator, const cItem * a_Item, const Vector3d * a_Speed) +UInt32 cWorld::CreateProjectile( + Vector3d a_Pos, + cProjectileEntity::eKind a_Kind, + cEntity * a_Creator, + const cItem * a_Item, + const Vector3d * a_Speed +) { auto Projectile = cProjectileEntity::Create(a_Kind, a_Creator, a_Pos, a_Item, a_Speed); if (Projectile == nullptr) @@ -2966,7 +3099,15 @@ UInt32 cWorld::CreateProjectile(Vector3d a_Pos, cProjectileEntity::eKind a_Kind, -UInt32 cWorld::CreateProjectile(double a_PosX, double a_PosY, double a_PosZ, cProjectileEntity::eKind a_Kind, cEntity * a_Creator, const cItem * a_Item, const Vector3d * a_Speed) +UInt32 cWorld::CreateProjectile( + double a_PosX, + double a_PosY, + double a_PosZ, + cProjectileEntity::eKind a_Kind, + cEntity * a_Creator, + const cItem * a_Item, + const Vector3d * a_Speed +) { return CreateProjectile({a_PosX, a_PosY, a_PosZ}, a_Kind, a_Creator, a_Item, a_Speed); } @@ -3002,17 +3143,23 @@ void cWorld::TabCompleteUserName(const AString & a_Text, AStringVector & a_Resul { AString PlayerName = Player->HasCustomName() ? Player->GetCustomName() : Player->GetName(); - AString::size_type Found = StrToLower(PlayerName).find(StrToLower(LastWord)); // Try to find last word in playername + AString::size_type Found = + StrToLower(PlayerName).find(StrToLower(LastWord)); // Try to find last word in playername if (Found == AString::npos) { continue; // No match } - UsernamesByWeight.push_back(std::make_pair(Found, PlayerName)); // Match! Store it with the position of the match as a weight + UsernamesByWeight.push_back(std::make_pair(Found, PlayerName) + ); // Match! Store it with the position of the match as a weight } Lock.Unlock(); - std::sort(UsernamesByWeight.begin(), UsernamesByWeight.end()); // Sort lexicographically (by the first value, then second), so higher weights (usernames with match closer to start) come first (#1274) + std::sort( + UsernamesByWeight.begin(), + UsernamesByWeight.end() + ); // Sort lexicographically (by the first value, then second), so higher weights (usernames with match closer to + // start) come first (#1274) /* TODO: Uncomment once migrated to C++11 std::transform( @@ -3049,7 +3196,10 @@ cRedstoneSimulator * cWorld::InitializeRedstoneSimulator(cIniFile & a_IniFile) if (SimulatorName.empty()) { - LOGWARNING("[Physics] RedstoneSimulator not present or empty in %s, using the default of \"Incremental\".", GetIniFileName().c_str()); + LOGWARNING( + "[Physics] RedstoneSimulator not present or empty in %s, using the default of \"Incremental\".", + GetIniFileName().c_str() + ); SimulatorName = "Incremental"; } @@ -3065,7 +3215,11 @@ cRedstoneSimulator * cWorld::InitializeRedstoneSimulator(cIniFile & a_IniFile) } else { - LOGWARNING("[Physics] Unknown RedstoneSimulator \"%s\" in %s, using the default of \"Incremental\".", SimulatorName.c_str(), GetIniFileName().c_str()); + LOGWARNING( + "[Physics] Unknown RedstoneSimulator \"%s\" in %s, using the default of \"Incremental\".", + SimulatorName.c_str(), + GetIniFileName().c_str() + ); res = new cIncrementalRedstoneSimulator(*this); } @@ -3078,7 +3232,12 @@ cRedstoneSimulator * cWorld::InitializeRedstoneSimulator(cIniFile & a_IniFile) -cFluidSimulator * cWorld::InitializeFluidSimulator(cIniFile & a_IniFile, const char * a_FluidName, BLOCKTYPE a_SimulateBlock, BLOCKTYPE a_StationaryBlock) +cFluidSimulator * cWorld::InitializeFluidSimulator( + cIniFile & a_IniFile, + const char * a_FluidName, + BLOCKTYPE a_SimulateBlock, + BLOCKTYPE a_StationaryBlock +) { auto SimulatorNameKey = fmt::format(FMT_STRING("{}Simulator"), a_FluidName); auto SimulatorSectionName = fmt::format(FMT_STRING("{}Simulator"), a_FluidName); @@ -3088,52 +3247,80 @@ cFluidSimulator * cWorld::InitializeFluidSimulator(cIniFile & a_IniFile, const c AString SimulatorName = a_IniFile.GetValueSet("Physics", SimulatorNameKey, DefaultSimulatorName); if (SimulatorName.empty()) { - LOGWARNING("[Physics] %s not present or empty in %s, using the default of \"%s\".", SimulatorNameKey, GetIniFileName(), DefaultSimulatorName); + LOGWARNING( + "[Physics] %s not present or empty in %s, using the default of \"%s\".", + SimulatorNameKey, + GetIniFileName(), + DefaultSimulatorName + ); SimulatorName = DefaultSimulatorName; } cFluidSimulator * res = nullptr; int Rate = 1; - if ( - (NoCaseCompare(SimulatorName, "vaporize") == 0) || - (NoCaseCompare(SimulatorName, "vaporise") == 0) - ) + if ((NoCaseCompare(SimulatorName, "vaporize") == 0) || (NoCaseCompare(SimulatorName, "vaporise") == 0)) { res = new cVaporizeFluidSimulator(*this, a_SimulateBlock, a_StationaryBlock); } - else if ( - (NoCaseCompare(SimulatorName, "noop") == 0) || - (NoCaseCompare(SimulatorName, "nop") == 0) || - (NoCaseCompare(SimulatorName, "null") == 0) || - (NoCaseCompare(SimulatorName, "nil") == 0) - ) + else if ((NoCaseCompare(SimulatorName, "noop") == 0) || (NoCaseCompare(SimulatorName, "nop") == 0) || + (NoCaseCompare(SimulatorName, "null") == 0) || (NoCaseCompare(SimulatorName, "nil") == 0)) { res = new cNoopFluidSimulator(*this, a_SimulateBlock, a_StationaryBlock); } else { - int Falloff = a_IniFile.GetValueSetI(SimulatorSectionName, "Falloff", IsWater ? 1 : 2); - int TickDelay = a_IniFile.GetValueSetI(SimulatorSectionName, "TickDelay", IsWater ? 5 : 30); - int NumNeighborsForSource = a_IniFile.GetValueSetI(SimulatorSectionName, "NumNeighborsForSource", IsWater ? 2 : -1); + int Falloff = a_IniFile.GetValueSetI(SimulatorSectionName, "Falloff", IsWater ? 1 : 2); + int TickDelay = a_IniFile.GetValueSetI(SimulatorSectionName, "TickDelay", IsWater ? 5 : 30); + int NumNeighborsForSource = + a_IniFile.GetValueSetI(SimulatorSectionName, "NumNeighborsForSource", IsWater ? 2 : -1); if ((Falloff > 15) || (Falloff < 0)) { - LOGWARNING("Falloff for %s simulator is out of range, assuming default of %d", a_FluidName, IsWater ? 1 : 2); + LOGWARNING( + "Falloff for %s simulator is out of range, assuming default of %d", + a_FluidName, + IsWater ? 1 : 2 + ); Falloff = IsWater ? 1 : 2; } if (NoCaseCompare(SimulatorName, "floody") == 0) { - res = new cFloodyFluidSimulator(*this, a_SimulateBlock, a_StationaryBlock, static_cast(Falloff), TickDelay, NumNeighborsForSource); + res = new cFloodyFluidSimulator( + *this, + a_SimulateBlock, + a_StationaryBlock, + static_cast(Falloff), + TickDelay, + NumNeighborsForSource + ); } else if (NoCaseCompare(SimulatorName, "vanilla") == 0) { - res = new cVanillaFluidSimulator(*this, a_SimulateBlock, a_StationaryBlock, static_cast(Falloff), TickDelay, NumNeighborsForSource); + res = new cVanillaFluidSimulator( + *this, + a_SimulateBlock, + a_StationaryBlock, + static_cast(Falloff), + TickDelay, + NumNeighborsForSource + ); } else { // The simulator name doesn't match anything we have, issue a warning: - LOGWARNING("%s [Physics]:%s specifies an unknown simulator, using the default \"Vanilla\".", GetIniFileName().c_str(), SimulatorNameKey.c_str()); - res = new cVanillaFluidSimulator(*this, a_SimulateBlock, a_StationaryBlock, static_cast(Falloff), TickDelay, NumNeighborsForSource); + LOGWARNING( + "%s [Physics]:%s specifies an unknown simulator, using the default \"Vanilla\".", + GetIniFileName().c_str(), + SimulatorNameKey.c_str() + ); + res = new cVanillaFluidSimulator( + *this, + a_SimulateBlock, + a_StationaryBlock, + static_cast(Falloff), + TickDelay, + NumNeighborsForSource + ); } } @@ -3163,12 +3350,20 @@ void cWorld::cChunkGeneratorCallbacks::OnChunkGenerated(cChunkDesc & a_ChunkDesc cChunkDef::BlockNibbles BlockMetas; a_ChunkDesc.CompressBlockMetas(BlockMetas); - struct SetChunkData Data({ a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ() }); + struct SetChunkData Data({a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ()}); { Data.BlockData.SetAll(a_ChunkDesc.GetBlockTypes(), BlockMetas); - std::copy(a_ChunkDesc.GetBiomeMap(), a_ChunkDesc.GetBiomeMap() + std::size(a_ChunkDesc.GetBiomeMap()), Data.BiomeMap); - std::copy(a_ChunkDesc.GetHeightMap(), a_ChunkDesc.GetHeightMap() + std::size(a_ChunkDesc.GetHeightMap()), Data.HeightMap); + std::copy( + a_ChunkDesc.GetBiomeMap(), + a_ChunkDesc.GetBiomeMap() + std::size(a_ChunkDesc.GetBiomeMap()), + Data.BiomeMap + ); + std::copy( + a_ChunkDesc.GetHeightMap(), + a_ChunkDesc.GetHeightMap() + std::size(a_ChunkDesc.GetHeightMap()), + Data.HeightMap + ); Data.Entities = std::move(a_ChunkDesc.GetEntities()); Data.BlockEntities = std::move(a_ChunkDesc.GetBlockEntities()); @@ -3212,20 +3407,18 @@ bool cWorld::cChunkGeneratorCallbacks::HasChunkAnyClients(cChunkCoords a_Coords) void cWorld::cChunkGeneratorCallbacks::CallHookChunkGenerating(cChunkDesc & a_ChunkDesc) { - cPluginManager::Get()->CallHookChunkGenerating( - *m_World, a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ(), &a_ChunkDesc - ); + cPluginManager::Get() + ->CallHookChunkGenerating(*m_World, a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ(), &a_ChunkDesc); } -void cWorld::cChunkGeneratorCallbacks::CallHookChunkGenerated (cChunkDesc & a_ChunkDesc) +void cWorld::cChunkGeneratorCallbacks::CallHookChunkGenerated(cChunkDesc & a_ChunkDesc) { - cPluginManager::Get()->CallHookChunkGenerated( - *m_World, a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ(), &a_ChunkDesc - ); + cPluginManager::Get() + ->CallHookChunkGenerated(*m_World, a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ(), &a_ChunkDesc); } diff --git a/src/World.h b/src/World.h index 352bc19f3..cc75884be 100644 --- a/src/World.h +++ b/src/World.h @@ -45,21 +45,20 @@ struct SetChunkData; class cWorld // tolua_export - final: - public cForEachChunkProvider, - public cWorldInterface, - public cBroadcastInterface + final : public cForEachChunkProvider, + public cWorldInterface, + public cBroadcastInterface // tolua_begin { -public: + public: // tolua_end /** A simple RAII locker for the chunkmap - locks the chunkmap in its constructor, unlocks it in the destructor */ - class cLock: - public cCSLock + class cLock : public cCSLock { using Super = cCSLock; - public: + + public: cLock(const cWorld & a_World); }; @@ -68,9 +67,12 @@ public: @param a_WorldNames is a list of all world names, used to validate linked worlds */ cWorld( - const AString & a_WorldName, const AString & a_DataPath, - cDeadlockDetect & a_DeadlockDetect, const AStringVector & a_WorldNames, - eDimension a_Dimension = dimOverworld, const AString & a_LinkedOverworldName = {} + const AString & a_WorldName, + const AString & a_DataPath, + cDeadlockDetect & a_DeadlockDetect, + const AStringVector & a_WorldNames, + eDimension a_Dimension = dimOverworld, + const AString & a_LinkedOverworldName = {} ); virtual ~cWorld() override; @@ -95,10 +97,7 @@ public: BroadcastTimeUpdate(); } - void SetTicksUntilWeatherChange(int a_WeatherInterval) - { - m_WeatherInterval = a_WeatherInterval; - } + void SetTicksUntilWeatherChange(int a_WeatherInterval) { m_WeatherInterval = a_WeatherInterval; } /** Returns the default weather interval for the specific weather type. Returns -1 for any unknown weather. */ @@ -150,74 +149,175 @@ public: // Broadcast respective packets to all clients of the chunk where the event is taking place // Implemented in Broadcaster.cpp // (Please keep these alpha-sorted) - virtual void BroadcastAttachEntity (const cEntity & a_Entity, const cEntity & a_Vehicle) override; - virtual void BroadcastBlockAction (Vector3i a_BlockPos, Byte a_Byte1, Byte a_Byte2, BLOCKTYPE a_BlockType, const cClientHandle * a_Exclude = nullptr) override; // Exported in ManualBindings_World.cpp - virtual void BroadcastBlockBreakAnimation(UInt32 a_EntityID, Vector3i a_BlockPos, Int8 a_Stage, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastBlockEntity (Vector3i a_BlockPos, const cClientHandle * a_Exclude = nullptr) override; ///< If there is a block entity at the specified coods, sends it to all clients except a_Exclude - virtual void BroadcastBossBarUpdateHealth(const cEntity & a_Entity, UInt32 a_UniqueID, float a_FractionFilled) override; + virtual void BroadcastAttachEntity(const cEntity & a_Entity, const cEntity & a_Vehicle) override; + virtual void BroadcastBlockAction( + Vector3i a_BlockPos, + Byte a_Byte1, + Byte a_Byte2, + BLOCKTYPE a_BlockType, + const cClientHandle * a_Exclude = nullptr + ) override; // Exported in ManualBindings_World.cpp + virtual void BroadcastBlockBreakAnimation( + UInt32 a_EntityID, + Vector3i a_BlockPos, + Int8 a_Stage, + const cClientHandle * a_Exclude = nullptr + ) override; + virtual void BroadcastBlockEntity(Vector3i a_BlockPos, const cClientHandle * a_Exclude = nullptr) + override; ///< If there is a block entity at the specified coods, sends it to all clients except a_Exclude + virtual void BroadcastBossBarUpdateHealth(const cEntity & a_Entity, UInt32 a_UniqueID, float a_FractionFilled) + override; // tolua_begin - virtual void BroadcastChat (const AString & a_Message, const cClientHandle * a_Exclude = nullptr, eMessageType a_ChatPrefix = mtCustom) override; - virtual void BroadcastChatInfo (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override { BroadcastChat(a_Message, a_Exclude, mtInformation); } - virtual void BroadcastChatFailure(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override { BroadcastChat(a_Message, a_Exclude, mtFailure); } - virtual void BroadcastChatSuccess(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override { BroadcastChat(a_Message, a_Exclude, mtSuccess); } - virtual void BroadcastChatWarning(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override { BroadcastChat(a_Message, a_Exclude, mtWarning); } - virtual void BroadcastChatFatal (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override { BroadcastChat(a_Message, a_Exclude, mtFailure); } - virtual void BroadcastChatDeath (const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override { BroadcastChat(a_Message, a_Exclude, mtDeath); } - virtual void BroadcastChat (const cCompositeChat & a_Message, const cClientHandle * a_Exclude = nullptr) override; - // tolua_end - - virtual void BroadcastCollectEntity (const cEntity & a_Collected, const cEntity & a_Collector, unsigned a_Count, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastDestroyEntity (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastDetachEntity (const cEntity & a_Entity, const cEntity & a_PreviousVehicle) override; - virtual void BroadcastEntityEffect (const cEntity & a_Entity, int a_EffectID, int a_Amplifier, int a_Duration, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastEntityEquipment (const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastEntityHeadLook (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastEntityLook (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastEntityMetadata (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastEntityPosition (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; - void BroadcastEntityProperties (const cEntity & a_Entity); - virtual void BroadcastEntityVelocity (const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastEntityAnimation (const cEntity & a_Entity, EntityAnimation a_Animation, const cClientHandle * a_Exclude = nullptr) override; // tolua_export - virtual void BroadcastLeashEntity (const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) override; - virtual void BroadcastParticleEffect (const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, const cClientHandle * a_Exclude = nullptr) override; // Exported in ManualBindings_World.cpp - virtual void BroadcastParticleEffect (const AString & a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array a_Data, const cClientHandle * a_Exclude = nullptr) override; // Exported in ManualBindings_World.cpp - virtual void BroadcastPlayerListAddPlayer (const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastPlayerListHeaderFooter (const cCompositeChat & a_Header, const cCompositeChat & a_Footer) override; // tolua_export - virtual void BroadcastPlayerListRemovePlayer (const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastPlayerListUpdateDisplayName(const cPlayer & a_Player, const AString & a_CustomName, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastPlayerListUpdateGameMode (const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastPlayerListUpdatePing () override; - virtual void BroadcastRemoveEntityEffect (const cEntity & a_Entity, int a_EffectID, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastScoreboardObjective (const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) override; - virtual void BroadcastScoreUpdate (const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode) override; - virtual void BroadcastDisplayObjective (const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) override; - virtual void BroadcastSoundEffect (const AString & a_SoundName, Vector3d a_Position, float a_Volume, float a_Pitch, const cClientHandle * a_Exclude = nullptr) override; // Exported in ManualBindings_World.cpp - virtual void BroadcastSoundParticleEffect (const EffectID a_EffectID, Vector3i a_SrcPos, int a_Data, const cClientHandle * a_Exclude = nullptr) override; // Exported in ManualBindings_World.cpp - virtual void BroadcastSpawnEntity (cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastThunderbolt (Vector3i a_BlockPos, const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastTimeUpdate (const cClientHandle * a_Exclude = nullptr) override; - virtual void BroadcastUnleashEntity (const cEntity & a_Entity) override; - virtual void BroadcastWeather (eWeather a_Weather, const cClientHandle * a_Exclude = nullptr) override; - - virtual cBroadcastInterface & GetBroadcastManager(void) override + virtual void BroadcastChat( + const AString & a_Message, + const cClientHandle * a_Exclude = nullptr, + eMessageType a_ChatPrefix = mtCustom + ) override; + virtual void BroadcastChatInfo(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override + { + BroadcastChat(a_Message, a_Exclude, mtInformation); + } + virtual void BroadcastChatFailure(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override + { + BroadcastChat(a_Message, a_Exclude, mtFailure); + } + virtual void BroadcastChatSuccess(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override + { + BroadcastChat(a_Message, a_Exclude, mtSuccess); + } + virtual void BroadcastChatWarning(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override + { + BroadcastChat(a_Message, a_Exclude, mtWarning); + } + virtual void BroadcastChatFatal(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override { - return *this; + BroadcastChat(a_Message, a_Exclude, mtFailure); } + virtual void BroadcastChatDeath(const AString & a_Message, const cClientHandle * a_Exclude = nullptr) override + { + BroadcastChat(a_Message, a_Exclude, mtDeath); + } + virtual void BroadcastChat(const cCompositeChat & a_Message, const cClientHandle * a_Exclude = nullptr) override; + // tolua_end + + virtual void BroadcastCollectEntity( + const cEntity & a_Collected, + const cEntity & a_Collector, + unsigned a_Count, + const cClientHandle * a_Exclude = nullptr + ) override; + virtual void BroadcastDestroyEntity(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; + virtual void BroadcastDetachEntity(const cEntity & a_Entity, const cEntity & a_PreviousVehicle) override; + virtual void BroadcastEntityEffect( + const cEntity & a_Entity, + int a_EffectID, + int a_Amplifier, + int a_Duration, + const cClientHandle * a_Exclude = nullptr + ) override; + virtual void BroadcastEntityEquipment( + const cEntity & a_Entity, + short a_SlotNum, + const cItem & a_Item, + const cClientHandle * a_Exclude = nullptr + ) override; + virtual void BroadcastEntityHeadLook(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; + virtual void BroadcastEntityLook(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; + virtual void BroadcastEntityMetadata(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; + virtual void BroadcastEntityPosition(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; + void BroadcastEntityProperties(const cEntity & a_Entity); + virtual void BroadcastEntityVelocity(const cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; + // tolua_begin + virtual void BroadcastEntityAnimation( + const cEntity & a_Entity, + EntityAnimation a_Animation, + const cClientHandle * a_Exclude = nullptr + ) override; + // tolua_end + virtual void BroadcastLeashEntity(const cEntity & a_Entity, const cEntity & a_EntityLeashedTo) override; + virtual void BroadcastParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + const cClientHandle * a_Exclude = nullptr + ) override; // Exported in ManualBindings_World.cpp + virtual void BroadcastParticleEffect( + const AString & a_ParticleName, + Vector3f a_Src, + Vector3f a_Offset, + float a_ParticleData, + int a_ParticleAmount, + std::array a_Data, + const cClientHandle * a_Exclude = nullptr + ) override; // Exported in ManualBindings_World.cpp + virtual void BroadcastPlayerListAddPlayer(const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) + override; + // tolua_begin + virtual void BroadcastPlayerListHeaderFooter(const cCompositeChat & a_Header, const cCompositeChat & a_Footer) + override; + // tolua_end + virtual void BroadcastPlayerListRemovePlayer(const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) + override; + virtual void BroadcastPlayerListUpdateDisplayName( + const cPlayer & a_Player, + const AString & a_CustomName, + const cClientHandle * a_Exclude = nullptr + ) override; + virtual void BroadcastPlayerListUpdateGameMode(const cPlayer & a_Player, const cClientHandle * a_Exclude = nullptr) + override; + virtual void BroadcastPlayerListUpdatePing() override; + virtual void BroadcastRemoveEntityEffect( + const cEntity & a_Entity, + int a_EffectID, + const cClientHandle * a_Exclude = nullptr + ) override; + virtual void BroadcastScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) + override; + virtual void BroadcastScoreUpdate( + const AString & a_Objective, + const AString & a_Player, + cObjective::Score a_Score, + Byte a_Mode + ) override; + virtual void BroadcastDisplayObjective(const AString & a_Objective, cScoreboard::eDisplaySlot a_Display) override; + virtual void BroadcastSoundEffect( + const AString & a_SoundName, + Vector3d a_Position, + float a_Volume, + float a_Pitch, + const cClientHandle * a_Exclude = nullptr + ) override; // Exported in ManualBindings_World.cpp + virtual void BroadcastSoundParticleEffect( + const EffectID a_EffectID, + Vector3i a_SrcPos, + int a_Data, + const cClientHandle * a_Exclude = nullptr + ) override; // Exported in ManualBindings_World.cpp + virtual void BroadcastSpawnEntity(cEntity & a_Entity, const cClientHandle * a_Exclude = nullptr) override; + virtual void BroadcastThunderbolt(Vector3i a_BlockPos, const cClientHandle * a_Exclude = nullptr) override; + virtual void BroadcastTimeUpdate(const cClientHandle * a_Exclude = nullptr) override; + virtual void BroadcastUnleashEntity(const cEntity & a_Entity) override; + virtual void BroadcastWeather(eWeather a_Weather, const cClientHandle * a_Exclude = nullptr) override; + + virtual cBroadcastInterface & GetBroadcastManager(void) override { return *this; } /** If there is a block entity at the specified coords, sends it to the client specified */ void SendBlockEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cClientHandle & a_Client); - void MarkChunkDirty (int a_ChunkX, int a_ChunkZ); + void MarkChunkDirty(int a_ChunkX, int a_ChunkZ); void MarkChunkSaving(int a_ChunkX, int a_ChunkZ); - void MarkChunkSaved (int a_ChunkX, int a_ChunkZ); + void MarkChunkSaved(int a_ChunkX, int a_ChunkZ); /** Puts the chunk data into a queue to be set into the chunkmap in the tick thread. Modifies the a_SetChunkData - moves the entities contained in it into the queue. */ void QueueSetChunkData(SetChunkData && a_SetChunkData); void ChunkLighted( - int a_ChunkX, int a_ChunkZ, + int a_ChunkX, + int a_ChunkZ, const cChunkDef::BlockNibbles & a_BlockLight, const cChunkDef::BlockNibbles & a_SkyLight ); @@ -239,21 +339,39 @@ public: void CollectPickupsByEntity(cEntity & a_Entity); - /** Calls the callback for each player in the list; returns true if all players processed, false if the callback aborted by returning true */ + /** Calls the callback for each player in the list; returns true if all players processed, false if the callback + * aborted by returning true */ virtual bool ForEachPlayer(cPlayerListCallback a_Callback) override; // >> EXPORTED IN MANUALBINDINGS << - /** Calls the callback for the player of the given name; returns true if the player was found and the callback called, false if player not found. - Callback return value is ignored. If there are multiple players of the same name, only (random) one is processed by the callback. */ - bool DoWithPlayer(const AString & a_PlayerName, cPlayerListCallback a_Callback); // >> EXPORTED IN MANUALBINDINGS << + /** Calls the callback for the player of the given name; returns true if the player was found and the callback + called, false if player not found. Callback return value is ignored. If there are multiple players of the same name, + only (random) one is processed by the callback. */ + bool DoWithPlayer( + const AString & a_PlayerName, + cPlayerListCallback a_Callback + ); // >> EXPORTED IN MANUALBINDINGS << /** Finds a player from a partial or complete player name and calls the callback - case-insensitive */ - bool FindAndDoWithPlayer(const AString & a_PlayerNameHint, cPlayerListCallback a_Callback); // >> EXPORTED IN MANUALBINDINGS << - - /** Calls the callback for nearest player for given position, Returns false if player not found, otherwise returns the same value as the callback */ - bool DoWithNearestPlayer(Vector3d a_Pos, double a_RangeLimit, cPlayerListCallback a_Callback, bool a_CheckLineOfSight = true, bool a_IgnoreSpectator = true); + bool FindAndDoWithPlayer( + const AString & a_PlayerNameHint, + cPlayerListCallback a_Callback + ); // >> EXPORTED IN MANUALBINDINGS << + + /** Calls the callback for nearest player for given position, Returns false if player not found, otherwise returns + * the same value as the callback */ + bool DoWithNearestPlayer( + Vector3d a_Pos, + double a_RangeLimit, + cPlayerListCallback a_Callback, + bool a_CheckLineOfSight = true, + bool a_IgnoreSpectator = true + ); /** Finds the player over his uuid and calls the callback */ - bool DoWithPlayerByUUID(const cUUID & a_PlayerUUID, cPlayerListCallback a_Callback); // >> EXPORTED IN MANUALBINDINGS << + bool DoWithPlayerByUUID( + const cUUID & a_PlayerUUID, + cPlayerListCallback a_Callback + ); // >> EXPORTED IN MANUALBINDINGS << void SendPlayerList(cPlayer * a_DestPlayer); // Sends playerlist to the player @@ -266,16 +384,23 @@ public: Returns an owning reference to the found entity. */ OwnedEntity RemoveEntity(cEntity & a_Entity); - /** Calls the callback for each entity in the entire world; returns true if all entities processed, false if the callback aborted by returning true */ + /** Calls the callback for each entity in the entire world; returns true if all entities processed, false if the + * callback aborted by returning true */ bool ForEachEntity(cEntityCallback a_Callback); // Exported in ManualBindings.cpp - /** Calls the callback for each entity in the specified chunk; returns true if all entities processed, false if the callback aborted by returning true */ - bool ForEachEntityInChunk(int a_ChunkX, int a_ChunkZ, cEntityCallback a_Callback); // Exported in ManualBindings.cpp + /** Calls the callback for each entity in the specified chunk; returns true if all entities processed, false if the + * callback aborted by returning true */ + bool ForEachEntityInChunk( + int a_ChunkX, + int a_ChunkZ, + cEntityCallback a_Callback + ); // Exported in ManualBindings.cpp /** Calls the callback for each entity that has a nonempty intersection with the specified boundingbox. Returns true if all entities processed, false if the callback aborted by returning true. If any chunk in the box is missing, ignores the entities in that chunk silently. */ - virtual bool ForEachEntityInBox(const cBoundingBox & a_Box, cEntityCallback a_Callback) override; // Exported in ManualBindings.cpp + virtual bool ForEachEntityInBox(const cBoundingBox & a_Box, cEntityCallback a_Callback) + override; // Exported in ManualBindings.cpp /** Returns the number of players currently in this world. */ size_t GetPlayerCount() const; @@ -285,7 +410,13 @@ public: bool DoWithEntityByID(UInt32 a_UniqueID, cEntityCallback a_Callback); // Exported in ManualBindings.cpp /** Compares clients of two chunks, calls the callback accordingly */ - void CompareChunkClients(int a_ChunkX1, int a_ChunkZ1, int a_ChunkX2, int a_ChunkZ2, cClientDiffCallback & a_Callback); + void CompareChunkClients( + int a_ChunkX1, + int a_ChunkZ1, + int a_ChunkX2, + int a_ChunkZ2, + cClientDiffCallback & a_Callback + ); /** Adds client to a chunk, if not already present; returns true if added, false if present */ bool AddChunkClient(int a_ChunkX, int a_ChunkZ, cClientHandle * a_Client); @@ -301,20 +432,29 @@ public: void SendChunkTo(int a_ChunkX, int a_ChunkZ, cChunkSender::Priority a_Priority, cClientHandle * a_Client); /** Sends the chunk to the client specified, even if the client already has the chunk. - If the chunk's not valid, the request is postponed (ChunkSender will send that chunk when it becomes valid + lighted). */ + If the chunk's not valid, the request is postponed (ChunkSender will send that chunk when it becomes valid + + lighted). */ void ForceSendChunkTo(int a_ChunkX, int a_ChunkZ, cChunkSender::Priority a_Priority, cClientHandle * a_Client); /** Queues the chunk for preparing - making sure that it's generated and lit. The specified chunk is queued to be loaded or generated, and lit if needed. - The specified callback is called after the chunk has been prepared. If there's no preparation to do, only the callback is called. - It is legal to call with no callback. */ + The specified callback is called after the chunk has been prepared. If there's no preparation to do, only the + callback is called. It is legal to call with no callback. */ void PrepareChunk(int a_ChunkX, int a_ChunkZ, std::unique_ptr a_CallAfter = {}); /** Marks the chunk as failed-to-load: */ void ChunkLoadFailed(int a_ChunkX, int a_ChunkZ); - /** Sets the sign text, asking plugins for permission first. a_Player is the player who this change belongs to, may be nullptr. Returns true if sign text changed. */ - bool SetSignLines(Vector3i a_BlockPos, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, cPlayer * a_Player = nullptr); // Exported in ManualBindings.cpp + /** Sets the sign text, asking plugins for permission first. a_Player is the player who this change belongs to, may + * be nullptr. Returns true if sign text changed. */ + bool SetSignLines( + Vector3i a_BlockPos, + const AString & a_Line1, + const AString & a_Line2, + const AString & a_Line3, + const AString & a_Line4, + cPlayer * a_Player = nullptr + ); // Exported in ManualBindings.cpp /** Sets the command block command. Returns true if command changed. */ bool SetCommandBlockCommand(int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Command); // tolua_export @@ -324,10 +464,11 @@ public: } /** Is the trapdoor open? Returns false if there is no trapdoor at the specified coords. */ - bool IsTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ); // tolua_export + bool IsTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ); // tolua_export - /** Set the state of a trapdoor. Returns true if the trapdoor was updated, false if there was no trapdoor at those coords. */ - bool SetTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_Open); // tolua_export + /** Set the state of a trapdoor. Returns true if the trapdoor was updated, false if there was no trapdoor at those + * coords. */ + bool SetTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_Open); // tolua_export /** Regenerate the given chunk. */ void RegenerateChunk(int a_ChunkX, int a_ChunkZ); // tolua_export @@ -340,8 +481,15 @@ public: bool IsChunkLighted(int a_ChunkX, int a_ChunkZ); - /** Calls the callback for each chunk in the coords specified (all cords are inclusive). Returns true if all chunks have been processed successfully */ - virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) override; + /** Calls the callback for each chunk in the coords specified (all cords are inclusive). Returns true if all chunks + * have been processed successfully */ + virtual bool ForEachChunkInRect( + int a_MinChunkX, + int a_MaxChunkX, + int a_MinChunkZ, + int a_MaxChunkZ, + cChunkDataCallback & a_Callback + ) override; /** Calls the callback for each loaded chunk. Returns true if all chunks have been processed successfully */ bool ForEachLoadedChunk(cFunctionRef a_Callback); @@ -360,17 +508,11 @@ public: /** Returns the block type at the specified position. Returns 0 if the chunk is not valid. */ - BLOCKTYPE GetBlock(Vector3i a_BlockPos) const - { - return m_ChunkMap.GetBlock(a_BlockPos); - } + BLOCKTYPE GetBlock(Vector3i a_BlockPos) const { return m_ChunkMap.GetBlock(a_BlockPos); } /** Returns the block meta at the specified position. Returns 0 if the chunk is not valid. */ - NIBBLETYPE GetBlockMeta(Vector3i a_BlockPos) const - { - return m_ChunkMap.GetBlockMeta(a_BlockPos); - } + NIBBLETYPE GetBlockMeta(Vector3i a_BlockPos) const { return m_ChunkMap.GetBlockMeta(a_BlockPos); } /** Sets the meta for the specified block, while keeping the blocktype. Ignored if the chunk is invalid. */ @@ -394,7 +536,13 @@ public: /** Queries the whole block specification from the world. Returns true if all block info was retrieved successfully, false if not (invalid chunk / bad position). Exported in ManualBindings_World.cpp. */ - bool GetBlockInfo(Vector3i a_BlockPos, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_Meta, NIBBLETYPE & a_SkyLight, NIBBLETYPE & a_BlockLight) const; + bool GetBlockInfo( + Vector3i a_BlockPos, + BLOCKTYPE & a_BlockType, + NIBBLETYPE & a_Meta, + NIBBLETYPE & a_SkyLight, + NIBBLETYPE & a_BlockLight + ) const; // TODO: NIBBLETYPE GetBlockActualLight(int a_BlockX, int a_BlockY, int a_BlockZ); @@ -403,45 +551,101 @@ public: Prefer cBlockArea::Write() instead, this is the internal implementation; cBlockArea does error checking, too. a_DataTypes is a bitmask of cBlockArea::baXXX constants ORed together. Doesn't wake up simulators, use WakeUpSimulatorsInArea() for that. */ - virtual bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) override; + virtual bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) + override; // tolua_begin /** Spawns item pickups for each item in the list. The initial position of the pickups is at the center of the specified block, with a small random offset. May compress pickups if too many entities. */ - void SpawnItemPickups(const cItems & a_Pickups, Vector3i a_BlockPos, double a_FlyAwaySpeed = 1.0, bool a_IsPlayerCreated = false); + void SpawnItemPickups( + const cItems & a_Pickups, + Vector3i a_BlockPos, + double a_FlyAwaySpeed = 1.0, + bool a_IsPlayerCreated = false + ); /** Spawns item pickups for each item in the list. May compress pickups if too many entities. */ - void SpawnItemPickups(const cItems & a_Pickups, Vector3d a_Pos, double a_FlyAwaySpeed = 1.0, bool a_IsPlayerCreated = false); + void SpawnItemPickups( + const cItems & a_Pickups, + Vector3d a_Pos, + double a_FlyAwaySpeed = 1.0, + bool a_IsPlayerCreated = false + ); /** OBSOLETE, use the Vector3d-based overload instead. Spawns item pickups for each item in the list. May compress pickups if too many entities. */ - virtual void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_FlyAwaySpeed = 1.0, bool a_IsPlayerCreated = false) override + virtual void SpawnItemPickups( + const cItems & a_Pickups, + double a_BlockX, + double a_BlockY, + double a_BlockZ, + double a_FlyAwaySpeed = 1.0, + bool a_IsPlayerCreated = false + ) override { - return SpawnItemPickups(a_Pickups, Vector3d{a_BlockX, a_BlockY, a_BlockZ}, a_FlyAwaySpeed, a_IsPlayerCreated); + return SpawnItemPickups(a_Pickups, Vector3d {a_BlockX, a_BlockY, a_BlockZ}, a_FlyAwaySpeed, a_IsPlayerCreated); } - /** Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the speed specified. */ + /** Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the + * speed specified. */ void SpawnItemPickups(const cItems & a_Pickups, Vector3d a_Pos, Vector3d a_Speed, bool a_IsPlayerCreated = false); /** OBSOLETE, use the Vector3d-based overload instead. - Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the speed specified. */ - virtual void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_SpeedX, double a_SpeedY, double a_SpeedZ, bool a_IsPlayerCreated = false) override + Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the speed + specified. */ + virtual void SpawnItemPickups( + const cItems & a_Pickups, + double a_BlockX, + double a_BlockY, + double a_BlockZ, + double a_SpeedX, + double a_SpeedY, + double a_SpeedZ, + bool a_IsPlayerCreated = false + ) override { - return SpawnItemPickups(a_Pickups, {a_BlockX, a_BlockY, a_BlockZ}, {a_SpeedX, a_SpeedY, a_SpeedZ}, a_IsPlayerCreated); + return SpawnItemPickups( + a_Pickups, + {a_BlockX, a_BlockY, a_BlockZ}, + {a_SpeedX, a_SpeedY, a_SpeedZ}, + a_IsPlayerCreated + ); } /** Spawns a single pickup containing the specified item. */ - UInt32 SpawnItemPickup(Vector3d a_Pos, const cItem & a_Item, Vector3f a_Speed, int a_LifetimeTicks = 6000, bool a_CanCombine = true); + UInt32 SpawnItemPickup( + Vector3d a_Pos, + const cItem & a_Item, + Vector3f a_Speed, + int a_LifetimeTicks = 6000, + bool a_CanCombine = true + ); /** OBSOLETE, use the Vector3d-based overload instead. Spawns a single pickup containing the specified item. */ - virtual UInt32 SpawnItemPickup(double a_PosX, double a_PosY, double a_PosZ, const cItem & a_Item, float a_SpeedX = 0.f, float a_SpeedY = 0.f, float a_SpeedZ = 0.f, int a_LifetimeTicks = 6000, bool a_CanCombine = true) override + virtual UInt32 SpawnItemPickup( + double a_PosX, + double a_PosY, + double a_PosZ, + const cItem & a_Item, + float a_SpeedX = 0.f, + float a_SpeedY = 0.f, + float a_SpeedZ = 0.f, + int a_LifetimeTicks = 6000, + bool a_CanCombine = true + ) override { - return SpawnItemPickup({a_PosX, a_PosY, a_PosZ}, a_Item, {a_SpeedX, a_SpeedY, a_SpeedZ}, a_LifetimeTicks, a_CanCombine); + return SpawnItemPickup( + {a_PosX, a_PosY, a_PosZ}, + a_Item, + {a_SpeedX, a_SpeedY, a_SpeedZ}, + a_LifetimeTicks, + a_CanCombine + ); } /** Spawns an falling block entity at the given position. @@ -452,7 +656,8 @@ public: Returns the UniqueID of the spawned falling block, or cEntity::INVALID_ID on failure. */ UInt32 SpawnFallingBlock(Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { - // When creating from a block position (Vector3i), move the spawn point to the middle of the block by adding (0.5, 0, 0.5) + // When creating from a block position (Vector3i), move the spawn point to the middle of the block by adding + // (0.5, 0, 0.5) return SpawnFallingBlock(Vector3d(0.5, 0, 0.5) + a_BlockPos, a_BlockType, a_BlockMeta); } @@ -461,7 +666,7 @@ public: Returns the UniqueID of the spawned falling block, or cEntity::INVALID_ID on failure. */ UInt32 SpawnFallingBlock(int a_X, int a_Y, int a_Z, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { - return SpawnFallingBlock(Vector3i{a_X, a_Y, a_Z}, a_BlockType, a_BlockMeta); + return SpawnFallingBlock(Vector3i {a_X, a_Y, a_Z}, a_BlockType, a_BlockMeta); } /** Spawns an minecart at the given coordinates. @@ -471,7 +676,14 @@ public: /** OBSOLETE, use the Vector3d-based overload instead. Spawns an minecart at the given coordinates. Returns the UniqueID of the spawned minecart, or cEntity::INVALID_ID on failure. */ - UInt32 SpawnMinecart(double a_X, double a_Y, double a_Z, int a_MinecartType, const cItem & a_Content = cItem(), int a_BlockHeight = 1) + UInt32 SpawnMinecart( + double a_X, + double a_Y, + double a_Z, + int a_MinecartType, + const cItem & a_Content = cItem(), + int a_BlockHeight = 1 + ) { return SpawnMinecart({a_X, a_Y, a_Z}, a_MinecartType, a_Content, a_BlockHeight); } @@ -501,13 +713,14 @@ public: // tolua_end - /** Spawns experience orbs of the specified total value at the given location. The orbs' values are split according to regular Minecraft rules. - Returns an vector of UniqueID of all the orbs. */ - virtual std::vector SpawnSplitExperienceOrbs(Vector3d a_Pos, int a_Reward) override; // Exported in ManualBindings_World.cpp + /** Spawns experience orbs of the specified total value at the given location. The orbs' values are split according + to regular Minecraft rules. Returns an vector of UniqueID of all the orbs. */ + virtual std::vector SpawnSplitExperienceOrbs(Vector3d a_Pos, int a_Reward) + override; // Exported in ManualBindings_World.cpp /** OBSOLETE, use the Vector3d-based overload instead. - Spawns experience orbs of the specified total value at the given location. The orbs' values are split according to regular Minecraft rules. - Returns an vector of UniqueID of all the orbs. */ + Spawns experience orbs of the specified total value at the given location. The orbs' values are split according to + regular Minecraft rules. Returns an vector of UniqueID of all the orbs. */ std::vector SpawnSplitExperienceOrbs(double a_X, double a_Y, double a_Z, int a_Reward) { return SpawnSplitExperienceOrbs({a_X, a_Y, a_Z}, a_Reward); @@ -516,16 +729,29 @@ public: // tolua_begin // DEPRECATED, use the vector-parametered version instead. - UInt32 SpawnPrimedTNT(double a_X, double a_Y, double a_Z, int a_FuseTimeInSec = 80, double a_InitialVelocityCoeff = 1, bool a_ShouldPlayFuseSound = true) + UInt32 SpawnPrimedTNT( + double a_X, + double a_Y, + double a_Z, + int a_FuseTimeInSec = 80, + double a_InitialVelocityCoeff = 1, + bool a_ShouldPlayFuseSound = true + ) { - LOGWARNING("cWorld::SpawnPrimedTNT(double, double, double) is deprecated, use cWorld::SpawnPrimedTNT(Vector3d) instead."); + LOGWARNING("cWorld::SpawnPrimedTNT(double, double, double) is deprecated, use cWorld::SpawnPrimedTNT(Vector3d) " + "instead."); return SpawnPrimedTNT({a_X, a_Y, a_Z}, a_FuseTimeInSec, a_InitialVelocityCoeff, a_ShouldPlayFuseSound); } /** Spawns a new primed TNT entity at the specified block coords and specified fuse duration. Initial velocity is given based on the relative coefficient provided. Returns the UniqueID of the created entity, or cEntity::INVALID_ID on failure. */ - UInt32 SpawnPrimedTNT(Vector3d a_Pos, int a_FuseTimeInSec = 80, double a_InitialVelocityCoeff = 1, bool a_ShouldPlayFuseSound = true); + UInt32 SpawnPrimedTNT( + Vector3d a_Pos, + int a_FuseTimeInSec = 80, + double a_InitialVelocityCoeff = 1, + bool a_ShouldPlayFuseSound = true + ); /** Spawns a new ender crystal at the specified block coords. Returns the UniqueID of the created entity, or cEntity::INVALID_ID on failure. */ @@ -538,7 +764,8 @@ public: If the chunk for any of the blocks is not loaded, the set operation is ignored silently. */ void PlaceBlock(const Vector3i a_Position, const BLOCKTYPE a_BlockType, const NIBBLETYPE a_BlockMeta); - /** Retrieves block types of the specified blocks. If a chunk is not loaded, doesn't modify the block. Returns true if all blocks were read. */ + /** Retrieves block types of the specified blocks. If a chunk is not loaded, doesn't modify the block. Returns true + * if all blocks were read. */ bool GetBlocks(sSetBlockVector & a_Blocks, bool a_ContinueOnFailure); using cWorldInterface::SendBlockTo; @@ -562,16 +789,16 @@ public: /** Digs the specified block, and spawns the appropriate pickups for it. a_Digger is an optional entity causing the digging, usually the player. - a_Tool is an optional item used to dig up the block, used by the handlers (empty hand vs shears produce different pickups from leaves). - An empty hand is assumed if a_Tool is nullptr. - Returns true on success, false if the chunk is not loaded. */ + a_Tool is an optional item used to dig up the block, used by the handlers (empty hand vs shears produce different + pickups from leaves). An empty hand is assumed if a_Tool is nullptr. Returns true on success, false if the chunk is + not loaded. */ bool DropBlockAsPickups(Vector3i a_BlockPos, const cEntity * a_Digger = nullptr, const cItem * a_Tool = nullptr); /** Returns all the pickups that would result if the a_Digger dug up the block at a_BlockPos using a_Tool a_Digger is usually a player, but can be nullptr for natural causes. - a_Tool is an optional item used to dig up the block, used by the handlers (empty hand vs shears produce different pickups from leaves). - An empty hand is assumed if a_Tool is nullptr. - Returns an empty cItems object if the chunk is not present. */ + a_Tool is an optional item used to dig up the block, used by the handlers (empty hand vs shears produce different + pickups from leaves). An empty hand is assumed if a_Tool is nullptr. Returns an empty cItems object if the chunk is + not present. */ cItems PickupsFromBlock(Vector3i a_BlockPos, const cEntity * a_Digger = nullptr, const cItem * a_Tool = nullptr); /** Sends the block at the specified coords to the player. @@ -597,26 +824,56 @@ public: inline cSimulatorManager * GetSimulatorManager(void) { return m_SimulatorManager.get(); } inline cFluidSimulator * GetWaterSimulator(void) { return m_WaterSimulator; } - inline cFluidSimulator * GetLavaSimulator (void) { return m_LavaSimulator; } + inline cFluidSimulator * GetLavaSimulator(void) { return m_LavaSimulator; } inline cRedstoneSimulator * GetRedstoneSimulator(void) { return m_RedstoneSimulator; } - /** Calls the callback for each block entity in the specified chunk; returns true if all block entities processed, false if the callback aborted by returning true */ - bool ForEachBlockEntityInChunk(int a_ChunkX, int a_ChunkZ, cBlockEntityCallback a_Callback); // Exported in ManualBindings.cpp + /** Calls the callback for each block entity in the specified chunk; returns true if all block entities processed, + * false if the callback aborted by returning true */ + bool ForEachBlockEntityInChunk( + int a_ChunkX, + int a_ChunkZ, + cBlockEntityCallback a_Callback + ); // Exported in ManualBindings.cpp /** Does an explosion with the specified strength at the specified coordinates. Executes the HOOK_EXPLODING and HOOK_EXPLODED hooks as part of the processing. - a_SourceData exact type depends on the a_Source, see the declaration of the esXXX constants in Defines.h for details. - Exported to Lua manually in ManualBindings_World.cpp in order to support the variable a_SourceData param. */ - virtual void DoExplosionAt(double a_ExplosionSize, double a_BlockX, double a_BlockY, double a_BlockZ, bool a_CanCauseFire, eExplosionSource a_Source, void * a_SourceData) override; - - /** Calls the callback for the block entity at the specified coords; returns false if there's no block entity at those coords, and whatever the callback returns if found. */ - virtual bool DoWithBlockEntityAt(Vector3i a_Position, cBlockEntityCallback a_Callback) override; // Exported in ManualBindings.cpp - - /** Retrieves the test on the sign at the specified coords; returns false if there's no sign at those coords, true if found */ - bool GetSignLines (int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4); // Exported in ManualBindings.cpp + a_SourceData exact type depends on the a_Source, see the declaration of the esXXX constants in Defines.h for + details. Exported to Lua manually in ManualBindings_World.cpp in order to support the variable a_SourceData param. + */ + virtual void DoExplosionAt( + double a_ExplosionSize, + double a_BlockX, + double a_BlockY, + double a_BlockZ, + bool a_CanCauseFire, + eExplosionSource a_Source, + void * a_SourceData + ) override; + + /** Calls the callback for the block entity at the specified coords; returns false if there's no block entity at + * those coords, and whatever the callback returns if found. */ + virtual bool DoWithBlockEntityAt(Vector3i a_Position, cBlockEntityCallback a_Callback) + override; // Exported in ManualBindings.cpp + + /** Retrieves the test on the sign at the specified coords; returns false if there's no sign at those coords, true + * if found */ + bool GetSignLines( + int a_BlockX, + int a_BlockY, + int a_BlockZ, + AString & a_Line1, + AString & a_Line2, + AString & a_Line3, + AString & a_Line4 + ); // Exported in ManualBindings.cpp + // tolua_begin /** a_Player is using block entity at [x, y, z], handle that: */ - void UseBlockEntity(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ) { m_ChunkMap.UseBlockEntity(a_Player, a_BlockX, a_BlockY, a_BlockZ); } // tolua_export + void UseBlockEntity(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ) + { + m_ChunkMap.UseBlockEntity(a_Player, a_BlockX, a_BlockY, a_BlockZ); + } + // tolua_end /** Calls the callback for the chunk specified, with ChunkMapCS locked. Returns false if the chunk doesn't exist, otherwise returns the same value as the callback */ @@ -667,11 +924,13 @@ public: bool GrowRipePlant(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_IsByBonemeal = false) { UNUSED(a_IsByBonemeal); - LOGWARNING("Warning: cWorld:GrowRipePlant function expects Vector3i-based coords rather than int-based coords. Emulating old-style call."); - return GrowRipePlant({ a_BlockX, a_BlockY, a_BlockZ }); + LOGWARNING("Warning: cWorld:GrowRipePlant function expects Vector3i-based coords rather than int-based coords. " + "Emulating old-style call."); + return GrowRipePlant({a_BlockX, a_BlockY, a_BlockZ}); } - /** Returns the biome at the specified coords. Reads the biome from the chunk, if loaded, otherwise uses the world generator to provide the biome value */ + /** Returns the biome at the specified coords. Reads the biome from the chunk, if loaded, otherwise uses the world + * generator to provide the biome value */ EMCSBiome GetBiomeAt(int a_BlockX, int a_BlockZ); /** Sets the biome at the specified coords. Returns true if successful, false if not (chunk not loaded). @@ -694,7 +953,7 @@ public: const AString & GetDataPath(void) const { return m_DataPath; } /** Returns the name of the world.ini file used by this world */ - const AString & GetIniFileName(void) const {return m_IniFileName; } + const AString & GetIniFileName(void) const { return m_IniFileName; } /** Returns the associated scoreboard instance. */ cScoreboard & GetScoreBoard(void) { return m_Scoreboard; } @@ -744,7 +1003,8 @@ public: /** Saves all chunks immediately. Dangerous interface, may deadlock, use QueueSaveAllChunks() instead */ void SaveAllChunks(void); - /** Queues a task to save all chunks onto the tick thread. The prefferred way of saving chunks from external sources */ + /** Queues a task to save all chunks onto the tick thread. The prefferred way of saving chunks from external sources + */ void QueueSaveAllChunks(void); // tolua_export /** Queues a task onto the tick thread. The task object will be deleted once the task is finished */ @@ -763,10 +1023,10 @@ public: void GetChunkStats(int & a_NumValid, int & a_NumDirty, int & a_NumInLightingQueue); // Various queues length queries (cannot be const, they lock their CS): - inline size_t GetGeneratorQueueLength (void) { return m_Generator.GetQueueLength(); } // tolua_export - inline size_t GetLightingQueueLength (void) { return m_Lighting.GetQueueLength(); } // tolua_export - inline size_t GetStorageLoadQueueLength(void) { return m_Storage.GetLoadQueueLength(); } // tolua_export - inline size_t GetStorageSaveQueueLength(void) { return m_Storage.GetSaveQueueLength(); } // tolua_export + inline size_t GetGeneratorQueueLength(void) { return m_Generator.GetQueueLength(); } // tolua_export + inline size_t GetLightingQueueLength(void) { return m_Lighting.GetQueueLength(); } // tolua_export + inline size_t GetStorageLoadQueueLength(void) { return m_Storage.GetLoadQueueLength(); } // tolua_export + inline size_t GetStorageSaveQueueLength(void) { return m_Storage.GetSaveQueueLength(); } // tolua_export cLightingThread & GetLightingThread(void) { return m_Lighting; } @@ -796,7 +1056,7 @@ public: // tolua_begin /** Casts a thunderbolt at the specified coords */ void CastThunderbolt(Vector3i a_Block); - void CastThunderbolt(int a_BlockX, int a_BlockY, int a_BlockZ); // DEPRECATED, use vector-parametered version instead + void CastThunderbolt(int a_BlockX, int a_BlockY, int a_BlockZ); // DEPRECATED, use vector-version instead /** Sets the specified weather; resets weather interval; asks and notifies plugins of the change */ void SetWeather(eWeather a_NewWeather); @@ -804,7 +1064,8 @@ public: /** Forces a weather change in the next game tick */ void ChangeWeather(void); - /** Returns the current weather. Instead of comparing values directly to the weather constants, use IsWeatherXXX() functions, if possible */ + /** Returns the current weather. Instead of comparing values directly to the weather constants, use IsWeatherXXX() + * functions, if possible */ eWeather GetWeather(void) const { return m_Weather; } /** Returns true if the current weather is sunny. */ @@ -848,33 +1109,60 @@ public: // tolua_end cChunkGeneratorThread & GetGenerator(void) { return m_Generator; } - cWorldStorage & GetStorage (void) { return m_Storage; } - cChunkMap * GetChunkMap (void) { return &m_ChunkMap; } + cWorldStorage & GetStorage(void) { return m_Storage; } + cChunkMap * GetChunkMap(void) { return &m_ChunkMap; } /** Causes the specified block to be ticked on the next Tick() call. Only one block coord per chunk may be set, a second call overwrites the first call */ void SetNextBlockToTick(const Vector3i a_BlockPos); // tolua_export int GetMaxSugarcaneHeight(void) const { return m_MaxSugarcaneHeight; } // tolua_export - int GetMaxCactusHeight (void) const { return m_MaxCactusHeight; } // tolua_export + int GetMaxCactusHeight(void) const { return m_MaxCactusHeight; } // tolua_export bool IsBlockDirectlyWatered(int a_BlockX, int a_BlockY, int a_BlockZ); // tolua_export - /** Spawns a mob of the specified type. Returns the mob's UniqueID if recognized and spawned, cEntity::INVALID_ID otherwise */ - virtual UInt32 SpawnMob(double a_PosX, double a_PosY, double a_PosZ, eMonsterType a_MonsterType, bool a_Baby = false) override; // tolua_export + // tolua_begin + /** Spawns a mob of the specified type. Returns the mob's UniqueID if recognized and spawned, cEntity::INVALID_ID + * otherwise */ + virtual UInt32 SpawnMob( + double a_PosX, + double a_PosY, + double a_PosZ, + eMonsterType a_MonsterType, + bool a_Baby = false + ) override; + // tolua_end /** Wraps cEntity::Initialize, doing Monster-specific things before spawning the monster. Takes ownership of the given Monster reference. */ UInt32 SpawnMobFinalize(std::unique_ptr a_Monster); - /** Creates a projectile of the specified type. Returns the projectile's UniqueID if successful, cEntity::INVALID_ID otherwise - Item parameter is currently used for Fireworks to correctly set entity metadata based on item metadata. */ - UInt32 CreateProjectile(Vector3d a_Pos, cProjectileEntity::eKind a_Kind, cEntity * a_Creator, const cItem * a_Item, const Vector3d * a_Speed = nullptr); // tolua_export + /** Creates a projectile of the specified type. Returns the projectile's UniqueID if successful, cEntity::INVALID_ID + otherwise Item parameter is currently used for Fireworks to correctly set entity metadata based on item metadata. */ + // tolua_begin + UInt32 CreateProjectile( + Vector3d a_Pos, + cProjectileEntity::eKind a_Kind, + cEntity * a_Creator, + const cItem * a_Item, + const Vector3d * a_Speed = nullptr + ); + // tolua_end /** OBSOLETE, use the Vector3d-based overload instead. - Creates a projectile of the specified type. Returns the projectile's UniqueID if successful, cEntity::INVALID_ID otherwise - Item parameter is currently used for Fireworks to correctly set entity metadata based on item metadata. */ - UInt32 CreateProjectile(double a_PosX, double a_PosY, double a_PosZ, cProjectileEntity::eKind a_Kind, cEntity * a_Creator, const cItem * a_Item, const Vector3d * a_Speed = nullptr); // tolua_export + Creates a projectile of the specified type. Returns the projectile's UniqueID if successful, cEntity::INVALID_ID + otherwise Item parameter is currently used for Fireworks to correctly set entity metadata based on item metadata. */ + // tolua_begin + UInt32 CreateProjectile( + double a_PosX, + double a_PosY, + double a_PosZ, + cProjectileEntity::eKind a_Kind, + cEntity * a_Creator, + const cItem * a_Item, + const Vector3d * a_Speed = nullptr + ); + // tolua_end /** Returns a random number in range [0 .. a_Range]. */ int GetTickRandomNumber(int a_Range); @@ -894,46 +1182,42 @@ public: /** Returns true if slimes should spawn in the chunk. */ bool IsSlimeChunk(int a_ChunkX, int a_ChunkZ) const; // tolua_export -private: - - class cTickThread: - public cIsThread + private: + class cTickThread : public cIsThread { using Super = cIsThread; - public: - + public: cTickThread(cWorld & a_World); - protected: + protected: cWorld & m_World; // cIsThread overrides: virtual void Execute(void) override; - } ; + }; /** Implementation of the callbacks that the ChunkGenerator uses to store new chunks and interface to plugins */ - class cChunkGeneratorCallbacks : - public cChunkGeneratorThread::cChunkSink, - public cChunkGeneratorThread::cPluginInterface + class cChunkGeneratorCallbacks : public cChunkGeneratorThread::cChunkSink, + public cChunkGeneratorThread::cPluginInterface { cWorld * m_World; // cChunkSink overrides: - virtual void OnChunkGenerated (cChunkDesc & a_ChunkDesc) override; - virtual bool IsChunkValid (cChunkCoords a_Coords) override; + virtual void OnChunkGenerated(cChunkDesc & a_ChunkDesc) override; + virtual bool IsChunkValid(cChunkCoords a_Coords) override; virtual bool HasChunkAnyClients(cChunkCoords a_Coords) override; - virtual bool IsChunkQueued (cChunkCoords a_Coords) override; + virtual bool IsChunkQueued(cChunkCoords a_Coords) override; // cPluginInterface overrides: virtual void CallHookChunkGenerating(cChunkDesc & a_ChunkDesc) override; - virtual void CallHookChunkGenerated (cChunkDesc & a_ChunkDesc) override; + virtual void CallHookChunkGenerated(cChunkDesc & a_ChunkDesc) override; - public: + public: cChunkGeneratorCallbacks(cWorld & a_World); - } ; + }; /** The maximum number of allowed unused dirty chunks for this world. @@ -977,7 +1261,7 @@ private: bool m_BroadcastDeathMessages; bool m_BroadcastAchievementMessages; - bool m_IsDaylightCycleEnabled; + bool m_IsDaylightCycleEnabled; /** The age of the world. Monotonic, always increasing each game tick, persistent across server restart. @@ -991,12 +1275,17 @@ private: /** The time since this world began, in ticks. Monotonic, but does not persist across restarts. - Used for less important but heavy tasks that run periodically. These tasks don't need to follow wallclock time, and slowing their rate down if TPS drops is desirable. */ + Used for less important but heavy tasks that run periodically. These tasks don't need to follow wallclock time, and + slowing their rate down if TPS drops is desirable. */ cTickTimeLong m_WorldTickAge; - std::chrono::milliseconds m_LastChunkCheck; // The last WorldAge in which unloading and possibly saving was triggered. + std::chrono::milliseconds + m_LastChunkCheck; // The last WorldAge in which unloading and possibly saving was triggered. std::chrono::milliseconds m_LastSave; // The last WorldAge in which save-all was triggerred. - std::map m_LastSpawnMonster; // The last WorldAge (in ticks) in which a monster was spawned (for each megatype of monster) // MG TODO : find a way to optimize without creating unmaintenability (if mob IDs are becoming unrowed) + std::map + m_LastSpawnMonster; // The last WorldAge (in ticks) in which a monster was spawned (for each megatype of + // monster) // MG TODO : find a way to optimize without creating unmaintenability (if mob + // IDs are becoming unrowed) NIBBLETYPE m_SkyDarkness; @@ -1010,11 +1299,11 @@ private: std::vector m_BlockTickQueue; std::vector m_BlockTickQueueCopy; // Second is for safely removing the objects from the queue - std::unique_ptr m_SimulatorManager; - std::unique_ptr m_SandSimulator; - cFluidSimulator * m_WaterSimulator; - cFluidSimulator * m_LavaSimulator; - std::unique_ptr m_FireSimulator; + std::unique_ptr m_SimulatorManager; + std::unique_ptr m_SandSimulator; + cFluidSimulator * m_WaterSimulator; + cFluidSimulator * m_LavaSimulator; + std::unique_ptr m_FireSimulator; cRedstoneSimulator * m_RedstoneSimulator; // Protect with chunk map CS @@ -1032,11 +1321,11 @@ private: eWeather m_Weather; int m_WeatherInterval; int m_MaxSunnyTicks, m_MinSunnyTicks; - int m_MaxRainTicks, m_MinRainTicks; + int m_MaxRainTicks, m_MinRainTicks; int m_MaxThunderStormTicks, m_MinThunderStormTicks; - int m_MaxCactusHeight; - int m_MaxSugarcaneHeight; + int m_MaxCactusHeight; + int m_MaxSugarcaneHeight; /* TODO: Enable when functionality exists again bool m_IsBeetrootsBonemealable; bool m_IsCactusBonemealable; @@ -1079,20 +1368,21 @@ private: /** The thread responsible for generating chunks. */ cChunkGeneratorThread m_Generator; - cScoreboard m_Scoreboard; - cMapManager m_MapManager; + cScoreboard m_Scoreboard; + cMapManager m_MapManager; /** The callbacks that the ChunkGenerator uses to store new chunks and interface to plugins */ cChunkGeneratorCallbacks m_GeneratorCallbacks; - cChunkSender m_ChunkSender; - cLightingThread m_Lighting; - cTickThread m_TickThread; + cChunkSender m_ChunkSender; + cLightingThread m_Lighting; + cTickThread m_TickThread; /** Guards the m_Tasks */ cCriticalSection m_CSTasks; - /** Tasks that have been queued onto the tick thread, possibly to be executed at target tick in the future; guarded by m_CSTasks */ + /** Tasks that have been queued onto the tick thread, possibly to be executed at target tick in the future; guarded + * by m_CSTasks */ std::vector>> m_Tasks; /** Guards m_EntitiesToAdd */ @@ -1151,7 +1441,12 @@ private: eWeather ChooseNewWeather(void); /** Creates a new fluid simulator, loads its settings from the inifile (a_FluidName section) */ - cFluidSimulator * InitializeFluidSimulator(cIniFile & a_IniFile, const char * a_FluidName, BLOCKTYPE a_SimulateBlock, BLOCKTYPE a_StationaryBlock); + cFluidSimulator * InitializeFluidSimulator( + cIniFile & a_IniFile, + const char * a_FluidName, + BLOCKTYPE a_SimulateBlock, + BLOCKTYPE a_StationaryBlock + ); /** Creates a new redstone simulator. */ cRedstoneSimulator * InitializeRedstoneSimulator(cIniFile & a_IniFile); diff --git a/src/WorldStorage/EnchantmentSerializer.cpp b/src/WorldStorage/EnchantmentSerializer.cpp index 08db91115..d1f21f9be 100644 --- a/src/WorldStorage/EnchantmentSerializer.cpp +++ b/src/WorldStorage/EnchantmentSerializer.cpp @@ -5,17 +5,24 @@ #include "FastNBT.h" #include "../Enchantments.h" -void EnchantmentSerializer::WriteToNBTCompound(const cEnchantments & a_Enchantments, cFastNBTWriter & a_Writer, const AString & a_ListTagName) +void EnchantmentSerializer::WriteToNBTCompound( + const cEnchantments & a_Enchantments, + cFastNBTWriter & a_Writer, + const AString & a_ListTagName +) { // Write the enchantments into the specified NBT writer // begin with the LIST tag of the specified name ("ench" or "StoredEnchantments") a_Writer.BeginList(a_ListTagName, TAG_Compound); - for (cEnchantments::cMap::const_iterator itr = a_Enchantments.m_Enchantments.begin(), end = a_Enchantments.m_Enchantments.end(); itr != end; ++itr) + for (cEnchantments::cMap::const_iterator itr = a_Enchantments.m_Enchantments.begin(), + end = a_Enchantments.m_Enchantments.end(); + itr != end; + ++itr) { a_Writer.BeginCompound(""); - a_Writer.AddShort("id", static_cast(itr->first)); - a_Writer.AddShort("lvl", static_cast(itr->second)); + a_Writer.AddShort("id", static_cast(itr->first)); + a_Writer.AddShort("lvl", static_cast(itr->second)); a_Writer.EndCompound(); } // for itr - m_Enchantments[] a_Writer.EndList(); @@ -32,8 +39,11 @@ void EnchantmentSerializer::ParseFromNBT(cEnchantments & a_Enchantments, const c // Verify that the tag is a list: if (a_NBT.GetType(a_EnchListTagIdx) != TAG_List) { - LOGWARNING("%s: Invalid EnchListTag type: exp %d, got %d. Enchantments not parsed", - __FUNCTION__, TAG_List, a_NBT.GetType(a_EnchListTagIdx) + LOGWARNING( + "%s: Invalid EnchListTag type: exp %d, got %d. Enchantments not parsed", + __FUNCTION__, + TAG_List, + a_NBT.GetType(a_EnchListTagIdx) ); ASSERT(!"Bad EnchListTag type"); return; @@ -42,8 +52,11 @@ void EnchantmentSerializer::ParseFromNBT(cEnchantments & a_Enchantments, const c // Verify that the list is of Compounds: if (a_NBT.GetChildrenType(a_EnchListTagIdx) != TAG_Compound) { - LOGWARNING("%s: Invalid NBT list children type: exp %d, got %d. Enchantments not parsed", - __FUNCTION__, TAG_Compound, a_NBT.GetChildrenType(a_EnchListTagIdx) + LOGWARNING( + "%s: Invalid NBT list children type: exp %d, got %d. Enchantments not parsed", + __FUNCTION__, + TAG_Compound, + a_NBT.GetChildrenType(a_EnchListTagIdx) ); ASSERT(!"Bad EnchListTag children type"); return; @@ -85,4 +98,3 @@ void EnchantmentSerializer::ParseFromNBT(cEnchantments & a_Enchantments, const c a_Enchantments.m_Enchantments[id] = static_cast(lvl); } // for tag - children of the ench list tag } - diff --git a/src/WorldStorage/EnchantmentSerializer.h b/src/WorldStorage/EnchantmentSerializer.h index 4dc75cb86..87cab8a68 100644 --- a/src/WorldStorage/EnchantmentSerializer.h +++ b/src/WorldStorage/EnchantmentSerializer.h @@ -12,14 +12,11 @@ class cParsedNBT; namespace EnchantmentSerializer { - /** Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or "StoredEnchantments") */ - void WriteToNBTCompound(const cEnchantments & a_Enchantments, cFastNBTWriter & a_Writer, const AString & a_ListTagName); - - /** Reads the enchantments from the specified NBT list tag (ench or StoredEnchantments) */ - void ParseFromNBT(cEnchantments & a_Enchantments, const cParsedNBT & a_NBT, int a_EnchListTagIdx); - -}; - - +/** Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or + * "StoredEnchantments") */ +void WriteToNBTCompound(const cEnchantments & a_Enchantments, cFastNBTWriter & a_Writer, const AString & a_ListTagName); +/** Reads the enchantments from the specified NBT list tag (ench or StoredEnchantments) */ +void ParseFromNBT(cEnchantments & a_Enchantments, const cParsedNBT & a_NBT, int a_EnchListTagIdx); +}; // namespace EnchantmentSerializer diff --git a/src/WorldStorage/FastNBT.cpp b/src/WorldStorage/FastNBT.cpp index df93e21e4..e0d70695d 100644 --- a/src/WorldStorage/FastNBT.cpp +++ b/src/WorldStorage/FastNBT.cpp @@ -13,14 +13,28 @@ // The number of NBT tags that are reserved when an NBT parsing is started. // You can override this by using a cmdline define #ifndef NBT_RESERVE_SIZE - #define NBT_RESERVE_SIZE 200 +#define NBT_RESERVE_SIZE 200 #endif // NBT_RESERVE_SIZE #ifdef _MSC_VER - // Dodge a C4127 (conditional expression is constant) for this specific macro usage - #define PROPAGATE_ERROR(X) do { auto Err = (X); if (Err != eNBTParseError::npSuccess) return Err; } while ((false, false)) +// Dodge a C4127 (conditional expression is constant) for this specific macro usage +#define PROPAGATE_ERROR(X) \ + do \ + { \ + auto Err = (X); \ + if (Err != eNBTParseError::npSuccess) \ + return Err; \ + } \ + while ((false, false)) #else - #define PROPAGATE_ERROR(X) do { auto Err = (X); if (Err != eNBTParseError::npSuccess) return Err; } while (false) +#define PROPAGATE_ERROR(X) \ + do \ + { \ + auto Err = (X); \ + if (Err != eNBTParseError::npSuccess) \ + return Err; \ + } \ + while (false) #endif @@ -31,16 +45,13 @@ namespace { -class cNBTParseErrorCategory final : - public std::error_category +class cNBTParseErrorCategory final : public std::error_category { cNBTParseErrorCategory() = default; -public: + + public: /** Category name */ - virtual const char * name() const noexcept override - { - return "NBT parse error"; - } + virtual const char * name() const noexcept override { return "NBT parse error"; } /** Maps a parse error code to an error message */ virtual AString message(int a_Condition) const override; @@ -117,7 +128,7 @@ AString cNBTParseErrorCategory::message(int a_Condition) const UNREACHABLE("Unsupported nbt parse error"); } -} // namespace (anonymous) +} // namespace @@ -125,7 +136,7 @@ AString cNBTParseErrorCategory::message(int a_Condition) const std::error_code make_error_code(eNBTParseError a_Err) noexcept { - return { static_cast(a_Err), cNBTParseErrorCategory::Get() }; + return {static_cast(a_Err), cNBTParseErrorCategory::Get()}; } @@ -135,21 +146,22 @@ std::error_code make_error_code(eNBTParseError a_Err) noexcept //////////////////////////////////////////////////////////////////////////////// // cParsedNBT: -#define NEEDBYTES(N, ERR) \ - do { \ +#define NEEDBYTES(N, ERR) \ + do \ + { \ if (m_Data.size() - m_Pos < static_cast(N)) \ - { \ - return ERR; \ - } \ - } while (false) + { \ + return ERR; \ + } \ + } \ + while (false) cParsedNBT::cParsedNBT(const ContiguousByteBufferView a_Data) : - m_Data(a_Data), - m_Pos(0) + m_Data(a_Data), m_Pos(0) { m_Error = Parse(); } @@ -281,14 +293,14 @@ eNBTParseError cParsedNBT::ReadList(eTagType a_ChildrenType) -#define CASE_SIMPLE_TAG(TAGTYPE, LEN) \ - case TAG_##TAGTYPE: \ - { \ +#define CASE_SIMPLE_TAG(TAGTYPE, LEN) \ + case TAG_##TAGTYPE: \ + { \ NEEDBYTES(LEN, eNBTParseError::npSimpleMissing); \ - Tag.m_DataStart = m_Pos; \ - Tag.m_DataLength = LEN; \ - m_Pos += LEN; \ - return eNBTParseError::npSuccess; \ + Tag.m_DataStart = m_Pos; \ + Tag.m_DataLength = LEN; \ + m_Pos += LEN; \ + return eNBTParseError::npSuccess; \ } eNBTParseError cParsedNBT::ReadTag(void) @@ -296,11 +308,11 @@ eNBTParseError cParsedNBT::ReadTag(void) cFastNBTTag & Tag = m_Tags.back(); switch (Tag.m_Type) { - CASE_SIMPLE_TAG(Byte, 1) - CASE_SIMPLE_TAG(Short, 2) - CASE_SIMPLE_TAG(Int, 4) - CASE_SIMPLE_TAG(Long, 8) - CASE_SIMPLE_TAG(Float, 4) + CASE_SIMPLE_TAG(Byte, 1) + CASE_SIMPLE_TAG(Short, 2) + CASE_SIMPLE_TAG(Int, 4) + CASE_SIMPLE_TAG(Long, 8) + CASE_SIMPLE_TAG(Float, 4) CASE_SIMPLE_TAG(Double, 8) case TAG_String: @@ -387,12 +399,11 @@ int cParsedNBT::FindChildByName(int a_Tag, const char * a_Name, size_t a_NameLen { a_NameLength = strlen(a_Name); } - for (int Child = m_Tags[static_cast(a_Tag)].m_FirstChild; Child != -1; Child = m_Tags[static_cast(Child)].m_NextSibling) + for (int Child = m_Tags[static_cast(a_Tag)].m_FirstChild; Child != -1; + Child = m_Tags[static_cast(Child)].m_NextSibling) { - if ( - (m_Tags[static_cast(Child)].m_NameLength == a_NameLength) && - (memcmp(m_Data.data() + m_Tags[static_cast(Child)].m_NameStart, a_Name, a_NameLength) == 0) - ) + if ((m_Tags[static_cast(Child)].m_NameLength == a_NameLength) && + (memcmp(m_Data.data() + m_Tags[static_cast(Child)].m_NameStart, a_Name, a_NameLength) == 0)) { return Child; } @@ -523,9 +534,9 @@ void cFastNBTWriter::BeginList(const AString & a_Name, eTagType a_ChildrenType) m_Result.append(4, std::byte(0)); ++m_CurrentStack; - m_Stack[m_CurrentStack].m_Type = TAG_List; - m_Stack[m_CurrentStack].m_Pos = static_cast(m_Result.size()) - 4; - m_Stack[m_CurrentStack].m_Count = 0; + m_Stack[m_CurrentStack].m_Type = TAG_List; + m_Stack[m_CurrentStack].m_Pos = static_cast(m_Result.size()) - 4; + m_Stack[m_CurrentStack].m_Count = 0; m_Stack[m_CurrentStack].m_ItemType = a_ChildrenType; } @@ -618,7 +629,7 @@ void cFastNBTWriter::AddString(const AString & a_Name, const std::string_view a_ TagCommon(a_Name, TAG_String); const UInt16 Length = htons(static_cast(a_Value.size())); m_Result.append(reinterpret_cast(&Length), sizeof(Length)); - m_Result.append({ reinterpret_cast(a_Value.data()), a_Value.size() }); + m_Result.append({reinterpret_cast(a_Value.data()), a_Value.size()}); } diff --git a/src/WorldStorage/FastNBT.h b/src/WorldStorage/FastNBT.h index d9c388179..6fc8a9aea 100644 --- a/src/WorldStorage/FastNBT.h +++ b/src/WorldStorage/FastNBT.h @@ -28,21 +28,21 @@ It directly outputs a string containing the serialized NBT data. enum eTagType { - TAG_Min = 0, // The minimum value for a tag type - TAG_End = 0, - TAG_Byte = 1, - TAG_Short = 2, - TAG_Int = 3, - TAG_Long = 4, - TAG_Float = 5, - TAG_Double = 6, + TAG_Min = 0, // The minimum value for a tag type + TAG_End = 0, + TAG_Byte = 1, + TAG_Short = 2, + TAG_Int = 3, + TAG_Long = 4, + TAG_Float = 5, + TAG_Double = 6, TAG_ByteArray = 7, - TAG_String = 8, - TAG_List = 9, - TAG_Compound = 10, - TAG_IntArray = 11, - TAG_Max = 11, // The maximum value for a tag type -} ; + TAG_String = 8, + TAG_List = 9, + TAG_Compound = 10, + TAG_IntArray = 11, + TAG_Max = 11, // The maximum value for a tag type +}; @@ -56,8 +56,7 @@ Structure (all with the tree structure it describes) supports moving in memory ( */ struct cFastNBTTag { -public: - + public: eTagType m_Type; // The following members are indices into the data stream. m_DataLength == 0 if no data available @@ -102,7 +101,7 @@ public: m_LastChild(-1) { } -} ; +}; @@ -130,12 +129,10 @@ std::error_code make_error_code(eNBTParseError a_Err) noexcept; namespace std { - template <> - struct is_error_code_enum: - public std::true_type - { - }; -} +template <> struct is_error_code_enum : public std::true_type +{ +}; +} // namespace std @@ -143,15 +140,15 @@ namespace std /** Parses and contains the parsed data Also implements data accessor functions for tree traversal and value getters -The data pointer passed in the constructor is assumed to be valid throughout the object's life. Care must be taken not to initialize from a temporary. -The parser decomposes the input data into a tree of tags that is stored as an array of cFastNBTTag items, -and accessing the tree is done by using the array indices for tags. Each tag stores the indices for its parent, -first child, last child, prev sibling and next sibling, a value of -1 indicates that the indice is not valid. -Each primitive tag also stores the length of the contained data, in bytes. +The data pointer passed in the constructor is assumed to be valid throughout the object's life. Care must be taken not +to initialize from a temporary. The parser decomposes the input data into a tree of tags that is stored as an array of +cFastNBTTag items, and accessing the tree is done by using the array indices for tags. Each tag stores the indices for +its parent, first child, last child, prev sibling and next sibling, a value of -1 indicates that the indice is not +valid. Each primitive tag also stores the length of the contained data, in bytes. */ class cParsedNBT { -public: + public: cParsedNBT(ContiguousByteBufferView a_Data); bool IsValid(void) const { return (m_Error == eNBTParseError::npSuccess); } @@ -166,10 +163,10 @@ public: int GetRoot(void) const { return 0; } /** Returns the first child of the specified tag, or -1 if none / not applicable. */ - int GetFirstChild (int a_Tag) const { return m_Tags[static_cast(a_Tag)].m_FirstChild; } + int GetFirstChild(int a_Tag) const { return m_Tags[static_cast(a_Tag)].m_FirstChild; } /** Returns the last child of the specified tag, or -1 if none / not applicable. */ - int GetLastChild (int a_Tag) const { return m_Tags[static_cast(a_Tag)].m_LastChild; } + int GetLastChild(int a_Tag) const { return m_Tags[static_cast(a_Tag)].m_LastChild; } /** Returns the next sibling of the specified tag, or -1 if none. */ int GetNextSibling(int a_Tag) const { return m_Tags[static_cast(a_Tag)].m_NextSibling; } @@ -213,7 +210,9 @@ public: eTagType GetChildrenType(int a_Tag) const { ASSERT(m_Tags[static_cast(a_Tag)].m_Type == TAG_List); - return (m_Tags[static_cast(a_Tag)].m_FirstChild < 0) ? TAG_End : m_Tags[static_cast(m_Tags[static_cast(a_Tag)].m_FirstChild)].m_Type; + return (m_Tags[static_cast(a_Tag)].m_FirstChild < 0) + ? TAG_End + : m_Tags[static_cast(m_Tags[static_cast(a_Tag)].m_FirstChild)].m_Type; } /** Returns the value stored in a Byte tag. Not valid for any other tag type. */ @@ -277,45 +276,47 @@ public: } /** Returns the value stored in a String tag. Not valid for any other tag type. */ - inline AString GetString(int a_Tag) const - { - return AString(GetStringView(a_Tag)); - } + inline AString GetString(int a_Tag) const { return AString(GetStringView(a_Tag)); } /** Returns the value stored in a String tag. Not valid for any other tag type. */ inline std::string_view GetStringView(int a_Tag) const { ASSERT(m_Tags[static_cast(a_Tag)].m_Type == TAG_String); - return { reinterpret_cast(GetData(a_Tag)), GetDataLength(a_Tag) }; + return {reinterpret_cast(GetData(a_Tag)), GetDataLength(a_Tag)}; } /** Returns the tag's name. For tags that are not named, returns an empty string. */ inline AString GetName(int a_Tag) const { AString res; - res.assign(reinterpret_cast(m_Data.data()) + m_Tags[static_cast(a_Tag)].m_NameStart, static_cast(m_Tags[static_cast(a_Tag)].m_NameLength)); + res.assign( + reinterpret_cast(m_Data.data()) + m_Tags[static_cast(a_Tag)].m_NameStart, + static_cast(m_Tags[static_cast(a_Tag)].m_NameLength) + ); return res; } -protected: - + protected: ContiguousByteBufferView m_Data; std::vector m_Tags; - eNBTParseError m_Error; // npSuccess if parsing succeeded + eNBTParseError m_Error; // npSuccess if parsing succeeded // Used while parsing: size_t m_Pos; eNBTParseError Parse(void); - eNBTParseError ReadString(size_t & a_StringStart, size_t & a_StringLen); // Reads a simple string (2 bytes length + data), sets the string descriptors + eNBTParseError ReadString( + size_t & a_StringStart, + size_t & a_StringLen + ); // Reads a simple string (2 bytes length + data), sets the string descriptors eNBTParseError ReadCompound(void); // Reads the latest tag as a compound eNBTParseError ReadList(eTagType a_ChildrenType); // Reads the latest tag as a list of items of type a_ChildrenType - eNBTParseError ReadTag(void); // Reads the latest tag, depending on its m_Type setting + eNBTParseError ReadTag(void); // Reads the latest tag, depending on its m_Type setting /** Returns the minimum size, in bytes, of the specified tag type. Used for sanity-checking. */ static size_t GetMinTagSize(eTagType a_TagType); -} ; +}; @@ -323,7 +324,7 @@ protected: class cFastNBTWriter { -public: + public: cFastNBTWriter(const AString & a_RootTagName = ""); void BeginCompound(const AString & a_Name); @@ -332,16 +333,16 @@ public: void BeginList(const AString & a_Name, eTagType a_ChildrenType); void EndList(void); - void AddByte (const AString & a_Name, unsigned char a_Value); - void AddShort (const AString & a_Name, Int16 a_Value); - void AddInt (const AString & a_Name, Int32 a_Value); - void AddLong (const AString & a_Name, Int64 a_Value); - void AddFloat (const AString & a_Name, float a_Value); - void AddDouble (const AString & a_Name, double a_Value); - void AddString (const AString & a_Name, std::string_view a_Value); + void AddByte(const AString & a_Name, unsigned char a_Value); + void AddShort(const AString & a_Name, Int16 a_Value); + void AddInt(const AString & a_Name, Int32 a_Value); + void AddLong(const AString & a_Name, Int64 a_Value); + void AddFloat(const AString & a_Name, float a_Value); + void AddDouble(const AString & a_Name, double a_Value); + void AddString(const AString & a_Name, std::string_view a_Value); void AddByteArray(const AString & a_Name, const char * a_Value, size_t a_NumElements); void AddByteArray(const AString & a_Name, size_t a_NumElements, unsigned char a_Value); - void AddIntArray (const AString & a_Name, const Int32 * a_Value, size_t a_NumElements); + void AddIntArray(const AString & a_Name, const Int32 * a_Value, size_t a_NumElements); void AddByteArray(const AString & a_Name, const AString & a_Value) { @@ -352,21 +353,20 @@ public: void Finish(void); -protected: - + protected: struct sParent { - int m_Type; // TAG_Compound or TAG_List - int m_Pos; // for TAG_List, the position of the list count + int m_Type; // TAG_Compound or TAG_List + int m_Pos; // for TAG_List, the position of the list count int m_Count; // for TAG_List, the element count eTagType m_ItemType; // for TAG_List, the element type - } ; + }; static const int MAX_STACK = 50; // Highly doubtful that an NBT would be constructed this many levels deep // These two fields emulate a stack. A raw array is used due to speed issues - no reallocations are allowed. sParent m_Stack[MAX_STACK]; - int m_CurrentStack; + int m_CurrentStack; ContiguousByteBuffer m_Result; @@ -391,4 +391,4 @@ protected: m_Stack[m_CurrentStack].m_Count++; } } -} ; +}; diff --git a/src/WorldStorage/FireworksSerializer.cpp b/src/WorldStorage/FireworksSerializer.cpp index f0fe7e48e..c3a2e7dce 100644 --- a/src/WorldStorage/FireworksSerializer.cpp +++ b/src/WorldStorage/FireworksSerializer.cpp @@ -8,7 +8,11 @@ -void cFireworkItem::WriteToNBTCompound(const cFireworkItem & a_FireworkItem, cFastNBTWriter & a_Writer, const ENUM_ITEM_TYPE a_Type) +void cFireworkItem::WriteToNBTCompound( + const cFireworkItem & a_FireworkItem, + cFastNBTWriter & a_Writer, + const ENUM_ITEM_TYPE a_Type +) { switch (a_Type) { @@ -27,7 +31,11 @@ void cFireworkItem::WriteToNBTCompound(const cFireworkItem & a_FireworkItem, cFa } if (!a_FireworkItem.m_FadeColours.empty()) { - a_Writer.AddIntArray("FadeColors", a_FireworkItem.m_FadeColours.data(), a_FireworkItem.m_FadeColours.size()); + a_Writer.AddIntArray( + "FadeColors", + a_FireworkItem.m_FadeColours.data(), + a_FireworkItem.m_FadeColours.size() + ); } a_Writer.EndCompound(); a_Writer.EndList(); @@ -46,7 +54,11 @@ void cFireworkItem::WriteToNBTCompound(const cFireworkItem & a_FireworkItem, cFa } if (!a_FireworkItem.m_FadeColours.empty()) { - a_Writer.AddIntArray("FadeColors", a_FireworkItem.m_FadeColours.data(), a_FireworkItem.m_FadeColours.size()); + a_Writer.AddIntArray( + "FadeColors", + a_FireworkItem.m_FadeColours.data(), + a_FireworkItem.m_FadeColours.size() + ); } a_Writer.EndCompound(); break; @@ -59,7 +71,12 @@ void cFireworkItem::WriteToNBTCompound(const cFireworkItem & a_FireworkItem, cFa -void cFireworkItem::ParseFromNBT(cFireworkItem & a_FireworkItem, const cParsedNBT & a_NBT, int a_TagIdx, const ENUM_ITEM_TYPE a_Type) +void cFireworkItem::ParseFromNBT( + cFireworkItem & a_FireworkItem, + const cParsedNBT & a_NBT, + int a_TagIdx, + const ENUM_ITEM_TYPE a_Type +) { if (a_TagIdx < 0) { @@ -70,7 +87,8 @@ void cFireworkItem::ParseFromNBT(cFireworkItem & a_FireworkItem, const cParsedNB { case E_ITEM_FIREWORK_STAR: { - for (int explosiontag = a_NBT.GetFirstChild(a_TagIdx); explosiontag >= 0; explosiontag = a_NBT.GetNextSibling(explosiontag)) + for (int explosiontag = a_NBT.GetFirstChild(a_TagIdx); explosiontag >= 0; + explosiontag = a_NBT.GetNextSibling(explosiontag)) { eTagType TagType = a_NBT.GetType(explosiontag); if (TagType == TAG_Byte) // Custon name tag @@ -133,7 +151,8 @@ void cFireworkItem::ParseFromNBT(cFireworkItem & a_FireworkItem, const cParsedNB } case E_ITEM_FIREWORK_ROCKET: { - for (int fireworkstag = a_NBT.GetFirstChild(a_TagIdx); fireworkstag >= 0; fireworkstag = a_NBT.GetNextSibling(fireworkstag)) + for (int fireworkstag = a_NBT.GetFirstChild(a_TagIdx); fireworkstag >= 0; + fireworkstag = a_NBT.GetNextSibling(fireworkstag)) { eTagType TagType = a_NBT.GetType(fireworkstag); if (TagType == TAG_Byte) // Custon name tag @@ -165,7 +184,7 @@ void cFireworkItem::ParseFromNBT(cFireworkItem & a_FireworkItem, const cParsedNB AString cFireworkItem::ColoursToString(const cFireworkItem & a_FireworkItem) { AString Result; - for (const auto col: a_FireworkItem.m_Colours) + for (const auto col : a_FireworkItem.m_Colours) { Result.append(fmt::format(FMT_STRING("{};"), col)); } @@ -198,7 +217,7 @@ void cFireworkItem::ColoursFromString(const AString & a_String, cFireworkItem & AString cFireworkItem::FadeColoursToString(const cFireworkItem & a_FireworkItem) { AString Result; - for (const auto col: a_FireworkItem.m_FadeColours) + for (const auto col : a_FireworkItem.m_FadeColours) { Result.append(fmt::format(FMT_STRING("{};"), col)); } @@ -238,22 +257,22 @@ int cFireworkItem::GetVanillaColourCodeFromDye(NIBBLETYPE a_DyeMeta) switch (a_DyeMeta) { - case E_META_DYE_BLACK: return 0x1E1B1B; - case E_META_DYE_RED: return 0xB3312C; - case E_META_DYE_GREEN: return 0x3B511A; - case E_META_DYE_BROWN: return 0x51301A; - case E_META_DYE_BLUE: return 0x253192; - case E_META_DYE_PURPLE: return 0x7B2FBE; - case E_META_DYE_CYAN: return 0x287697; - case E_META_DYE_LIGHTGRAY: return 0xABABAB; - case E_META_DYE_GRAY: return 0x434343; - case E_META_DYE_PINK: return 0xD88198; + case E_META_DYE_BLACK: return 0x1E1B1B; + case E_META_DYE_RED: return 0xB3312C; + case E_META_DYE_GREEN: return 0x3B511A; + case E_META_DYE_BROWN: return 0x51301A; + case E_META_DYE_BLUE: return 0x253192; + case E_META_DYE_PURPLE: return 0x7B2FBE; + case E_META_DYE_CYAN: return 0x287697; + case E_META_DYE_LIGHTGRAY: return 0xABABAB; + case E_META_DYE_GRAY: return 0x434343; + case E_META_DYE_PINK: return 0xD88198; case E_META_DYE_LIGHTGREEN: return 0x41CD34; - case E_META_DYE_YELLOW: return 0xDECF2A; - case E_META_DYE_LIGHTBLUE: return 0x6689D3; - case E_META_DYE_MAGENTA: return 0xC354CD; - case E_META_DYE_ORANGE: return 0xEB8844; - case E_META_DYE_WHITE: return 0xF0F0F0; - default: ASSERT(!"Unhandled dye meta whilst trying to get colour code for fireworks!"); return 0; + case E_META_DYE_YELLOW: return 0xDECF2A; + case E_META_DYE_LIGHTBLUE: return 0x6689D3; + case E_META_DYE_MAGENTA: return 0xC354CD; + case E_META_DYE_ORANGE: return 0xEB8844; + case E_META_DYE_WHITE: return 0xF0F0F0; + default: ASSERT(!"Unhandled dye meta whilst trying to get colour code for fireworks!"); return 0; } } diff --git a/src/WorldStorage/FireworksSerializer.h b/src/WorldStorage/FireworksSerializer.h index 32264d2f3..f794959dc 100644 --- a/src/WorldStorage/FireworksSerializer.h +++ b/src/WorldStorage/FireworksSerializer.h @@ -25,12 +25,9 @@ class cParsedNBT; class cFireworkItem { -public: + public: cFireworkItem(void) : - m_HasFlicker(false), - m_HasTrail(false), - m_Type(0), - m_FlightTimeInTicks(0) + m_HasFlicker(false), m_HasTrail(false), m_Type(0), m_FlightTimeInTicks(0) { } @@ -56,22 +53,27 @@ public: inline bool IsEqualTo(const cFireworkItem & a_Item) const { - return - ( - (m_FlightTimeInTicks == a_Item.m_FlightTimeInTicks) && - (m_HasFlicker == a_Item.m_HasFlicker) && - (m_HasTrail == a_Item.m_HasTrail) && - (m_Type == a_Item.m_Type) && - (m_Colours == a_Item.m_Colours) && + return ( + (m_FlightTimeInTicks == a_Item.m_FlightTimeInTicks) && (m_HasFlicker == a_Item.m_HasFlicker) && + (m_HasTrail == a_Item.m_HasTrail) && (m_Type == a_Item.m_Type) && (m_Colours == a_Item.m_Colours) && (m_FadeColours == a_Item.m_FadeColours) - ); + ); } /** Writes firework NBT data to a Writer object */ - static void WriteToNBTCompound(const cFireworkItem & a_FireworkItem, cFastNBTWriter & a_Writer, const ENUM_ITEM_TYPE a_Type); + static void WriteToNBTCompound( + const cFireworkItem & a_FireworkItem, + cFastNBTWriter & a_Writer, + const ENUM_ITEM_TYPE a_Type + ); /** Reads NBT data from a NBT object and populates a FireworkItem with it */ - static void ParseFromNBT(cFireworkItem & a_FireworkItem, const cParsedNBT & a_NBT, int a_TagIdx, const ENUM_ITEM_TYPE a_Type); + static void ParseFromNBT( + cFireworkItem & a_FireworkItem, + const cParsedNBT & a_NBT, + int a_TagIdx, + const ENUM_ITEM_TYPE a_Type + ); /** Converts the firework's vector of colours into a string of values separated by a semicolon */ static AString ColoursToString(const cFireworkItem & a_FireworkItem); diff --git a/src/WorldStorage/MapSerializer.cpp b/src/WorldStorage/MapSerializer.cpp index 3e50740b3..8761495a9 100644 --- a/src/WorldStorage/MapSerializer.cpp +++ b/src/WorldStorage/MapSerializer.cpp @@ -14,7 +14,7 @@ -cMapSerializer::cMapSerializer(const AString & a_WorldName, cMap * a_Map): +cMapSerializer::cMapSerializer(const AString & a_WorldName, cMap * a_Map) : m_Map(a_Map) { auto DataPath = fmt::format(FMT_STRING("{}{}data"), a_WorldName, cFile::PathSeparator()); @@ -50,10 +50,10 @@ bool cMapSerializer::Save(void) SaveMapToNBT(Writer); Writer.Finish(); - #ifndef NDEBUG +#ifndef NDEBUG cParsedNBT TestParse(Writer.GetResult()); ASSERT(TestParse.IsValid()); - #endif // !NDEBUG +#endif // !NDEBUG GZipFile::Write(m_Path, Writer.GetResult()); @@ -71,7 +71,7 @@ void cMapSerializer::SaveMapToNBT(cFastNBTWriter & a_Writer) a_Writer.AddByte("scale", static_cast(m_Map->GetScale())); a_Writer.AddByte("dimension", static_cast(m_Map->GetDimension())); - a_Writer.AddShort("width", static_cast(m_Map->GetWidth())); + a_Writer.AddShort("width", static_cast(m_Map->GetWidth())); a_Writer.AddShort("height", static_cast(m_Map->GetHeight())); a_Writer.AddInt("xCenter", m_Map->GetCenterX()); @@ -166,7 +166,8 @@ bool cMapSerializer::LoadMapFromNBT(const cParsedNBT & a_NBT) -cIDCountSerializer::cIDCountSerializer(const AString & a_WorldName) : m_MapCount(0) +cIDCountSerializer::cIDCountSerializer(const AString & a_WorldName) : + m_MapCount(0) { auto DataPath = fmt::format(FMT_STRING("{}{}data"), a_WorldName, cFile::PathSeparator()); m_Path = fmt::format(FMT_STRING("{}{}idcounts.dat"), DataPath, cFile::PathSeparator()); @@ -188,7 +189,7 @@ bool cIDCountSerializer::Load() // NOTE: idcounts.dat is not compressed (raw format) // Parse the NBT data: - cParsedNBT NBT({ reinterpret_cast(Data.data()), Data.size() }); + cParsedNBT NBT({reinterpret_cast(Data.data()), Data.size()}); if (!NBT.IsValid()) { // NBT Parsing failed @@ -223,10 +224,10 @@ bool cIDCountSerializer::Save(void) Writer.Finish(); - #ifndef NDEBUG +#ifndef NDEBUG cParsedNBT TestParse(Writer.GetResult()); ASSERT(TestParse.IsValid()); - #endif // !NDEBUG +#endif // !NDEBUG cFile File; if (!File.Open(m_Path, cFile::fmWrite)) diff --git a/src/WorldStorage/MapSerializer.h b/src/WorldStorage/MapSerializer.h index 007f1347b..fcb187425 100644 --- a/src/WorldStorage/MapSerializer.h +++ b/src/WorldStorage/MapSerializer.h @@ -24,8 +24,7 @@ class cMap; /** Utility class used to serialize maps. */ class cMapSerializer { -public: - + public: cMapSerializer(const AString & a_WorldName, cMap * a_Map); /** Try to load the map */ @@ -35,8 +34,7 @@ public: bool Save(void); -private: - + private: void SaveMapToNBT(cFastNBTWriter & a_Writer); bool LoadMapFromNBT(const cParsedNBT & a_NBT); @@ -44,9 +42,7 @@ private: cMap * m_Map; AString m_Path; - - -} ; +}; @@ -57,8 +53,7 @@ the last registered ID of each item is serialized to an NBT file. */ class cIDCountSerializer { -public: - + public: cIDCountSerializer(const AString & a_WorldName); /** Try to load the ID counts */ @@ -72,14 +67,8 @@ public: inline void SetMapCount(unsigned int a_MapCount) { m_MapCount = a_MapCount; } -private: - + private: AString m_Path; unsigned int m_MapCount; - }; - - - - diff --git a/src/WorldStorage/NBTChunkSerializer.cpp b/src/WorldStorage/NBTChunkSerializer.cpp index c61e6d185..a274b28d9 100644 --- a/src/WorldStorage/NBTChunkSerializer.cpp +++ b/src/WorldStorage/NBTChunkSerializer.cpp @@ -54,11 +54,9 @@ /** Collects and stores the chunk data via the cChunkDataCallback interface */ -class SerializerCollector final : - public cChunkDataCopyCollector +class SerializerCollector final : public cChunkDataCopyCollector { -public: - + public: // The data collected from the chunk: UInt8 Biomes[cChunkDef::Width * cChunkDef::Width]; int Heights[cChunkDef::Width * cChunkDef::Width]; @@ -82,12 +80,8 @@ public: - SerializerCollector(cFastNBTWriter & aWriter): - mIsTagOpen(false), - mHasHadEntity(false), - mHasHadBlockEntity(false), - mIsLightValid(false), - mWriter(aWriter) + SerializerCollector(cFastNBTWriter & aWriter) : + mIsTagOpen(false), mHasHadEntity(false), mHasHadBlockEntity(false), mIsLightValid(false), mWriter(aWriter) { } @@ -95,10 +89,7 @@ public: - virtual void LightIsValid(bool a_IsLightValid) override - { - mIsLightValid = a_IsLightValid; - } + virtual void LightIsValid(bool a_IsLightValid) override { mIsLightValid = a_IsLightValid; } @@ -161,20 +152,20 @@ public: switch (a_Entity->GetEntityType()) { - case cEntity::etBoat: AddBoatEntity (static_cast (a_Entity)); break; - case cEntity::etEnderCrystal: AddEnderCrystalEntity(static_cast (a_Entity)); break; - case cEntity::etFallingBlock: AddFallingBlockEntity(static_cast (a_Entity)); break; - case cEntity::etMinecart: AddMinecartEntity (static_cast (a_Entity)); break; - case cEntity::etMonster: AddMonsterEntity (static_cast (a_Entity)); break; - case cEntity::etPickup: AddPickupEntity (static_cast (a_Entity)); break; - case cEntity::etProjectile: AddProjectileEntity (static_cast(a_Entity)); break; - case cEntity::etTNT: AddTNTEntity (static_cast (a_Entity)); break; - case cEntity::etExpOrb: AddExpOrbEntity (static_cast (a_Entity)); break; - case cEntity::etItemFrame: AddItemFrameEntity (static_cast (a_Entity)); break; - case cEntity::etLeashKnot: AddLeashKnotEntity (static_cast (a_Entity)); break; - case cEntity::etPainting: AddPaintingEntity (static_cast (a_Entity)); break; - case cEntity::etPlayer: return; // Players aren't saved into the world - case cEntity::etFloater: return; // Floaters aren't saved either + case cEntity::etBoat: AddBoatEntity(static_cast(a_Entity)); break; + case cEntity::etEnderCrystal: AddEnderCrystalEntity(static_cast(a_Entity)); break; + case cEntity::etFallingBlock: AddFallingBlockEntity(static_cast(a_Entity)); break; + case cEntity::etMinecart: AddMinecartEntity(static_cast(a_Entity)); break; + case cEntity::etMonster: AddMonsterEntity(static_cast(a_Entity)); break; + case cEntity::etPickup: AddPickupEntity(static_cast(a_Entity)); break; + case cEntity::etProjectile: AddProjectileEntity(static_cast(a_Entity)); break; + case cEntity::etTNT: AddTNTEntity(static_cast(a_Entity)); break; + case cEntity::etExpOrb: AddExpOrbEntity(static_cast(a_Entity)); break; + case cEntity::etItemFrame: AddItemFrameEntity(static_cast(a_Entity)); break; + case cEntity::etLeashKnot: AddLeashKnotEntity(static_cast(a_Entity)); break; + case cEntity::etPainting: AddPaintingEntity(static_cast(a_Entity)); break; + case cEntity::etPlayer: return; // Players aren't saved into the world + case cEntity::etFloater: return; // Floaters aren't saved either default: { ASSERT(!"Unhandled entity type is being saved"); @@ -208,30 +199,34 @@ public: { // Banners: case E_BLOCK_STANDING_BANNER: - case E_BLOCK_WALL_BANNER: AddBannerEntity (static_cast (a_Entity)); break; + case E_BLOCK_WALL_BANNER: AddBannerEntity(static_cast(a_Entity)); break; // Others: - case E_BLOCK_BEACON: AddBeaconEntity (static_cast (a_Entity)); break; - case E_BLOCK_BED: AddBedEntity (static_cast (a_Entity)); break; - case E_BLOCK_BREWING_STAND: AddBrewingstandEntity (static_cast (a_Entity)); break; - case E_BLOCK_CHEST: AddChestEntity (static_cast (a_Entity), a_Entity->GetBlockType()); break; - case E_BLOCK_COMMAND_BLOCK: AddCommandBlockEntity (static_cast (a_Entity)); break; - case E_BLOCK_DISPENSER: AddDispenserEntity (static_cast (a_Entity)); break; - case E_BLOCK_DROPPER: AddDropperEntity (static_cast (a_Entity)); break; - case E_BLOCK_ENCHANTMENT_TABLE: AddEnchantingTableEntity(static_cast(a_Entity)); break; - case E_BLOCK_ENDER_CHEST: AddEnderchestEntity (static_cast (a_Entity)); break; - case E_BLOCK_END_PORTAL: AddEndPortalEntity (static_cast (a_Entity)); break; - case E_BLOCK_FLOWER_POT: AddFlowerPotEntity (static_cast (a_Entity)); break; - case E_BLOCK_FURNACE: AddFurnaceEntity (static_cast (a_Entity)); break; - case E_BLOCK_HEAD: AddMobHeadEntity (static_cast (a_Entity)); break; - case E_BLOCK_HOPPER: AddHopperEntity (static_cast (a_Entity)); break; - case E_BLOCK_JUKEBOX: AddJukeboxEntity (static_cast (a_Entity)); break; - case E_BLOCK_LIT_FURNACE: AddFurnaceEntity (static_cast (a_Entity)); break; - case E_BLOCK_MOB_SPAWNER: AddMobSpawnerEntity (static_cast (a_Entity)); break; - case E_BLOCK_NOTE_BLOCK: AddNoteEntity (static_cast (a_Entity)); break; - case E_BLOCK_SIGN_POST: AddSignEntity (static_cast (a_Entity)); break; - case E_BLOCK_TRAPPED_CHEST: AddChestEntity (static_cast (a_Entity), a_Entity->GetBlockType()); break; - case E_BLOCK_WALLSIGN: AddSignEntity (static_cast (a_Entity)); break; + case E_BLOCK_BEACON: AddBeaconEntity(static_cast(a_Entity)); break; + case E_BLOCK_BED: AddBedEntity(static_cast(a_Entity)); break; + case E_BLOCK_BREWING_STAND: AddBrewingstandEntity(static_cast(a_Entity)); break; + case E_BLOCK_CHEST: AddChestEntity(static_cast(a_Entity), a_Entity->GetBlockType()); break; + case E_BLOCK_COMMAND_BLOCK: AddCommandBlockEntity(static_cast(a_Entity)); break; + case E_BLOCK_DISPENSER: AddDispenserEntity(static_cast(a_Entity)); break; + case E_BLOCK_DROPPER: AddDropperEntity(static_cast(a_Entity)); break; + case E_BLOCK_ENCHANTMENT_TABLE: + AddEnchantingTableEntity(static_cast(a_Entity)); + break; + case E_BLOCK_ENDER_CHEST: AddEnderchestEntity(static_cast(a_Entity)); break; + case E_BLOCK_END_PORTAL: AddEndPortalEntity(static_cast(a_Entity)); break; + case E_BLOCK_FLOWER_POT: AddFlowerPotEntity(static_cast(a_Entity)); break; + case E_BLOCK_FURNACE: AddFurnaceEntity(static_cast(a_Entity)); break; + case E_BLOCK_HEAD: AddMobHeadEntity(static_cast(a_Entity)); break; + case E_BLOCK_HOPPER: AddHopperEntity(static_cast(a_Entity)); break; + case E_BLOCK_JUKEBOX: AddJukeboxEntity(static_cast(a_Entity)); break; + case E_BLOCK_LIT_FURNACE: AddFurnaceEntity(static_cast(a_Entity)); break; + case E_BLOCK_MOB_SPAWNER: AddMobSpawnerEntity(static_cast(a_Entity)); break; + case E_BLOCK_NOTE_BLOCK: AddNoteEntity(static_cast(a_Entity)); break; + case E_BLOCK_SIGN_POST: AddSignEntity(static_cast(a_Entity)); break; + case E_BLOCK_TRAPPED_CHEST: + AddChestEntity(static_cast(a_Entity), a_Entity->GetBlockType()); + break; + case E_BLOCK_WALLSIGN: AddSignEntity(static_cast(a_Entity)); break; default: { ASSERT(!"Unhandled block entity saved into Anvil"); @@ -274,60 +269,60 @@ public: void AddItem(const cItem & a_Item, int a_Slot, const AString & a_CompoundName = AString()) { mWriter.BeginCompound(a_CompoundName); - mWriter.AddShort("id", static_cast(a_Item.m_ItemType)); - mWriter.AddShort("Damage", static_cast((a_Item.m_ItemDamage))); - mWriter.AddByte ("Count", static_cast(a_Item.m_ItemCount)); + mWriter.AddShort("id", static_cast(a_Item.m_ItemType)); + mWriter.AddShort("Damage", static_cast((a_Item.m_ItemDamage))); + mWriter.AddByte("Count", static_cast(a_Item.m_ItemCount)); if (a_Slot >= 0) { - mWriter.AddByte ("Slot", static_cast(a_Slot)); + mWriter.AddByte("Slot", static_cast(a_Slot)); } // Write the tag compound (for enchantment, firework, custom name and repair cost): - if ( - (!a_Item.m_Enchantments.IsEmpty()) || + if ((!a_Item.m_Enchantments.IsEmpty()) || ((a_Item.m_ItemType == E_ITEM_FIREWORK_ROCKET) || (a_Item.m_ItemType == E_ITEM_FIREWORK_STAR)) || - (a_Item.m_RepairCost > 0) || - (a_Item.m_CustomName != "") || - (!a_Item.m_LoreTable.empty()) - ) + (a_Item.m_RepairCost > 0) || (a_Item.m_CustomName != "") || (!a_Item.m_LoreTable.empty())) { mWriter.BeginCompound("tag"); - if (a_Item.m_RepairCost > 0) + if (a_Item.m_RepairCost > 0) + { + mWriter.AddInt("RepairCost", a_Item.m_RepairCost); + } + + if ((a_Item.m_CustomName != "") || (!a_Item.m_LoreTable.empty())) + { + mWriter.BeginCompound("display"); + if (a_Item.m_CustomName != "") { - mWriter.AddInt("RepairCost", a_Item.m_RepairCost); + mWriter.AddString("Name", a_Item.m_CustomName); } - - if ((a_Item.m_CustomName != "") || (!a_Item.m_LoreTable.empty())) + if (!a_Item.m_LoreTable.empty()) { - mWriter.BeginCompound("display"); - if (a_Item.m_CustomName != "") + mWriter.BeginList("Lore", TAG_String); + + for (const auto & Line : a_Item.m_LoreTable) { - mWriter.AddString("Name", a_Item.m_CustomName); + mWriter.AddString("", Line); } - if (!a_Item.m_LoreTable.empty()) - { - mWriter.BeginList("Lore", TAG_String); - for (const auto & Line : a_Item.m_LoreTable) - { - mWriter.AddString("", Line); - } - - mWriter.EndList(); - } - mWriter.EndCompound(); + mWriter.EndList(); } + mWriter.EndCompound(); + } - if ((a_Item.m_ItemType == E_ITEM_FIREWORK_ROCKET) || (a_Item.m_ItemType == E_ITEM_FIREWORK_STAR)) - { - cFireworkItem::WriteToNBTCompound(a_Item.m_FireworkItem, mWriter, static_cast(a_Item.m_ItemType)); - } + if ((a_Item.m_ItemType == E_ITEM_FIREWORK_ROCKET) || (a_Item.m_ItemType == E_ITEM_FIREWORK_STAR)) + { + cFireworkItem::WriteToNBTCompound( + a_Item.m_FireworkItem, + mWriter, + static_cast(a_Item.m_ItemType) + ); + } - if (!a_Item.m_Enchantments.IsEmpty()) - { - const char * TagName = (a_Item.m_ItemType == E_ITEM_BOOK) ? "StoredEnchantments" : "ench"; - EnchantmentSerializer::WriteToNBTCompound(a_Item.m_Enchantments, mWriter, TagName); - } + if (!a_Item.m_Enchantments.IsEmpty()) + { + const char * TagName = (a_Item.m_ItemType == E_ITEM_BOOK) ? "StoredEnchantments" : "ench"; + EnchantmentSerializer::WriteToNBTCompound(a_Item.m_Enchantments, mWriter, TagName); + } mWriter.EndCompound(); } @@ -340,7 +335,8 @@ public: /** Writes an item grid into the writer. Begins the stored slot numbers with a_BeginSlotNum. - Note that it doesn't begin nor end the list tag, so that multiple grids may be concatenated together using this function. */ + Note that it doesn't begin nor end the list tag, so that multiple grids may be concatenated together using this + function. */ void AddItemGrid(const cItemGrid & a_Grid, int a_BeginSlotNum = 0) { int NumSlots = a_Grid.GetNumSlots(); @@ -361,9 +357,9 @@ public: void AddBasicTileEntity(cBlockEntity * a_Entity, const char * a_EntityTypeID) { - mWriter.AddInt ("x", a_Entity->GetPosX()); - mWriter.AddInt ("y", a_Entity->GetPosY()); - mWriter.AddInt ("z", a_Entity->GetPosZ()); + mWriter.AddInt("x", a_Entity->GetPosX()); + mWriter.AddInt("y", a_Entity->GetPosY()); + mWriter.AddInt("z", a_Entity->GetPosZ()); mWriter.AddString("id", a_EntityTypeID); } @@ -374,12 +370,12 @@ public: void AddBannerEntity(cBannerEntity * a_Entity) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity,"Banner"); - mWriter.AddInt("Base", static_cast(a_Entity->GetBaseColor())); - if (!a_Entity->GetCustomName().empty()) - { - mWriter.AddString("CustomName", a_Entity->GetCustomName()); - } + AddBasicTileEntity(a_Entity, "Banner"); + mWriter.AddInt("Base", static_cast(a_Entity->GetBaseColor())); + if (!a_Entity->GetCustomName().empty()) + { + mWriter.AddString("CustomName", a_Entity->GetCustomName()); + } mWriter.EndCompound(); } @@ -390,13 +386,13 @@ public: void AddBeaconEntity(cBeaconEntity * a_Entity) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity, "Beacon"); - mWriter.AddInt("Levels", a_Entity->GetBeaconLevel()); - mWriter.AddInt("Primary", static_cast(a_Entity->GetPrimaryEffect())); - mWriter.AddInt("Secondary", static_cast(a_Entity->GetSecondaryEffect())); - mWriter.BeginList("Items", TAG_Compound); - AddItemGrid(a_Entity->GetContents()); - mWriter.EndList(); + AddBasicTileEntity(a_Entity, "Beacon"); + mWriter.AddInt("Levels", a_Entity->GetBeaconLevel()); + mWriter.AddInt("Primary", static_cast(a_Entity->GetPrimaryEffect())); + mWriter.AddInt("Secondary", static_cast(a_Entity->GetSecondaryEffect())); + mWriter.BeginList("Items", TAG_Compound); + AddItemGrid(a_Entity->GetContents()); + mWriter.EndList(); mWriter.EndCompound(); } @@ -419,12 +415,12 @@ public: void AddBrewingstandEntity(cBrewingstandEntity * a_Brewingstand) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Brewingstand, "Brewingstand"); - mWriter.BeginList("Items", TAG_Compound); - AddItemGrid(a_Brewingstand->GetContents()); - mWriter.EndList(); - mWriter.AddShort("BrewTime", a_Brewingstand->GetTimeBrewed()); - mWriter.AddShort("Fuel", a_Brewingstand->GetRemainingFuel()); + AddBasicTileEntity(a_Brewingstand, "Brewingstand"); + mWriter.BeginList("Items", TAG_Compound); + AddItemGrid(a_Brewingstand->GetContents()); + mWriter.EndList(); + mWriter.AddShort("BrewTime", a_Brewingstand->GetTimeBrewed()); + mWriter.AddShort("Fuel", a_Brewingstand->GetRemainingFuel()); mWriter.EndCompound(); } @@ -435,10 +431,10 @@ public: void AddChestEntity(cChestEntity * a_Entity, BLOCKTYPE a_ChestType) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity, "Chest"); - mWriter.BeginList("Items", TAG_Compound); - AddItemGrid(a_Entity->GetContents()); - mWriter.EndList(); + AddBasicTileEntity(a_Entity, "Chest"); + mWriter.BeginList("Items", TAG_Compound); + AddItemGrid(a_Entity->GetContents()); + mWriter.EndList(); mWriter.EndCompound(); } @@ -449,10 +445,10 @@ public: void AddDispenserEntity(cDispenserEntity * a_Entity) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity, "Trap"); - mWriter.BeginList("Items", TAG_Compound); - AddItemGrid(a_Entity->GetContents()); - mWriter.EndList(); + AddBasicTileEntity(a_Entity, "Trap"); + mWriter.BeginList("Items", TAG_Compound); + AddItemGrid(a_Entity->GetContents()); + mWriter.EndList(); mWriter.EndCompound(); } @@ -463,10 +459,10 @@ public: void AddDropperEntity(cDropperEntity * a_Entity) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity, "Dropper"); - mWriter.BeginList("Items", TAG_Compound); - AddItemGrid(a_Entity->GetContents()); - mWriter.EndList(); + AddBasicTileEntity(a_Entity, "Dropper"); + mWriter.BeginList("Items", TAG_Compound); + AddItemGrid(a_Entity->GetContents()); + mWriter.EndList(); mWriter.EndCompound(); } @@ -477,11 +473,11 @@ public: void AddEnchantingTableEntity(cEnchantingTableEntity * a_Entity) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity, "EnchantingTable"); - if (!a_Entity->GetCustomName().empty()) - { - mWriter.AddString("CustomName", a_Entity->GetCustomName()); - } + AddBasicTileEntity(a_Entity, "EnchantingTable"); + if (!a_Entity->GetCustomName().empty()) + { + mWriter.AddString("CustomName", a_Entity->GetCustomName()); + } mWriter.EndCompound(); } @@ -491,7 +487,7 @@ public: void AddEnderchestEntity(cEnderChestEntity * a_Entity) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity, "EnderChest"); + AddBasicTileEntity(a_Entity, "EnderChest"); mWriter.EndCompound(); } @@ -501,7 +497,7 @@ public: void AddEndPortalEntity(cEndPortalEntity * a_Entity) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity, "EndPortal"); + AddBasicTileEntity(a_Entity, "EndPortal"); mWriter.EndCompound(); } @@ -512,12 +508,12 @@ public: void AddFurnaceEntity(cFurnaceEntity * a_Furnace) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Furnace, "Furnace"); - mWriter.BeginList("Items", TAG_Compound); - AddItemGrid(a_Furnace->GetContents()); - mWriter.EndList(); - mWriter.AddShort("BurnTime", static_cast(a_Furnace->GetFuelBurnTimeLeft())); - mWriter.AddShort("CookTime", static_cast(a_Furnace->GetTimeCooked())); + AddBasicTileEntity(a_Furnace, "Furnace"); + mWriter.BeginList("Items", TAG_Compound); + AddItemGrid(a_Furnace->GetContents()); + mWriter.EndList(); + mWriter.AddShort("BurnTime", static_cast(a_Furnace->GetFuelBurnTimeLeft())); + mWriter.AddShort("CookTime", static_cast(a_Furnace->GetTimeCooked())); mWriter.EndCompound(); } @@ -528,10 +524,10 @@ public: void AddHopperEntity(cHopperEntity * a_Entity) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Entity, "Hopper"); - mWriter.BeginList("Items", TAG_Compound); - AddItemGrid(a_Entity->GetContents()); - mWriter.EndList(); + AddBasicTileEntity(a_Entity, "Hopper"); + mWriter.BeginList("Items", TAG_Compound); + AddItemGrid(a_Entity->GetContents()); + mWriter.EndList(); mWriter.EndCompound(); } @@ -542,8 +538,8 @@ public: void AddJukeboxEntity(cJukeboxEntity * a_Jukebox) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Jukebox, "RecordPlayer"); - mWriter.AddInt("Record", a_Jukebox->GetRecord()); + AddBasicTileEntity(a_Jukebox, "RecordPlayer"); + mWriter.AddInt("Record", a_Jukebox->GetRecord()); mWriter.EndCompound(); } @@ -554,15 +550,15 @@ public: void AddMobSpawnerEntity(cMobSpawnerEntity * a_MobSpawner) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_MobSpawner, "MobSpawner"); - mWriter.AddString("EntityId", NamespaceSerializer::From(a_MobSpawner->GetEntity())); - mWriter.AddShort("SpawnCount", a_MobSpawner->GetSpawnCount()); - mWriter.AddShort("SpawnRange", a_MobSpawner->GetSpawnRange()); - mWriter.AddShort("Delay", a_MobSpawner->GetSpawnDelay()); - mWriter.AddShort("MinSpawnDelay", a_MobSpawner->GetMinSpawnDelay()); - mWriter.AddShort("MaxSpawnDelay", a_MobSpawner->GetMaxSpawnDelay()); - mWriter.AddShort("MaxNearbyEntities", a_MobSpawner->GetMaxNearbyEntities()); - mWriter.AddShort("RequiredPlayerRange", a_MobSpawner->GetRequiredPlayerRange()); + AddBasicTileEntity(a_MobSpawner, "MobSpawner"); + mWriter.AddString("EntityId", NamespaceSerializer::From(a_MobSpawner->GetEntity())); + mWriter.AddShort("SpawnCount", a_MobSpawner->GetSpawnCount()); + mWriter.AddShort("SpawnRange", a_MobSpawner->GetSpawnRange()); + mWriter.AddShort("Delay", a_MobSpawner->GetSpawnDelay()); + mWriter.AddShort("MinSpawnDelay", a_MobSpawner->GetMinSpawnDelay()); + mWriter.AddShort("MaxSpawnDelay", a_MobSpawner->GetMaxSpawnDelay()); + mWriter.AddShort("MaxNearbyEntities", a_MobSpawner->GetMaxNearbyEntities()); + mWriter.AddShort("RequiredPlayerRange", a_MobSpawner->GetRequiredPlayerRange()); mWriter.EndCompound(); } @@ -573,8 +569,8 @@ public: void AddNoteEntity(cNoteEntity * a_Note) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Note, "Music"); - mWriter.AddByte("note", static_cast(a_Note->GetNote())); + AddBasicTileEntity(a_Note, "Music"); + mWriter.AddByte("note", static_cast(a_Note->GetNote())); mWriter.EndCompound(); } @@ -585,11 +581,11 @@ public: void AddCommandBlockEntity(cCommandBlockEntity * a_CmdBlock) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_CmdBlock, "Control"); - mWriter.AddString("Command", a_CmdBlock->GetCommand()); - mWriter.AddInt ("SuccessCount", a_CmdBlock->GetResult()); - mWriter.AddString("LastOutput", a_CmdBlock->GetLastOutput()); - mWriter.AddByte ("TrackOutput", 1); // TODO 2014-01-18 xdot: Figure out what TrackOutput is and save it. + AddBasicTileEntity(a_CmdBlock, "Control"); + mWriter.AddString("Command", a_CmdBlock->GetCommand()); + mWriter.AddInt("SuccessCount", a_CmdBlock->GetResult()); + mWriter.AddString("LastOutput", a_CmdBlock->GetLastOutput()); + mWriter.AddByte("TrackOutput", 1); // TODO 2014-01-18 xdot: Figure out what TrackOutput is and save it. mWriter.EndCompound(); } @@ -600,11 +596,11 @@ public: void AddSignEntity(cSignEntity * a_Sign) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_Sign, "Sign"); - mWriter.AddString("Text1", a_Sign->GetLine(0)); - mWriter.AddString("Text2", a_Sign->GetLine(1)); - mWriter.AddString("Text3", a_Sign->GetLine(2)); - mWriter.AddString("Text4", a_Sign->GetLine(3)); + AddBasicTileEntity(a_Sign, "Sign"); + mWriter.AddString("Text1", a_Sign->GetLine(0)); + mWriter.AddString("Text2", a_Sign->GetLine(1)); + mWriter.AddString("Text3", a_Sign->GetLine(2)); + mWriter.AddString("Text4", a_Sign->GetLine(3)); mWriter.EndCompound(); } @@ -615,23 +611,23 @@ public: void AddMobHeadEntity(cMobHeadEntity * a_MobHead) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_MobHead, "Skull"); - mWriter.AddByte ("SkullType", a_MobHead->GetType() & 0xFF); - mWriter.AddByte ("Rot", a_MobHead->GetRotation() & 0xFF); - - // The new Block Entity format for a Mob Head. See: https://minecraft.wiki/w/Head#Block_entity - mWriter.BeginCompound("Owner"); - mWriter.AddString("Id", a_MobHead->GetOwnerUUID().ToShortString()); - mWriter.AddString("Name", a_MobHead->GetOwnerName()); - mWriter.BeginCompound("Properties"); - mWriter.BeginList("textures", TAG_Compound); - mWriter.BeginCompound(""); - mWriter.AddString("Signature", a_MobHead->GetOwnerTextureSignature()); - mWriter.AddString("Value", a_MobHead->GetOwnerTexture()); - mWriter.EndCompound(); - mWriter.EndList(); - mWriter.EndCompound(); - mWriter.EndCompound(); + AddBasicTileEntity(a_MobHead, "Skull"); + mWriter.AddByte("SkullType", a_MobHead->GetType() & 0xFF); + mWriter.AddByte("Rot", a_MobHead->GetRotation() & 0xFF); + + // The new Block Entity format for a Mob Head. See: https://minecraft.wiki/w/Head#Block_entity + mWriter.BeginCompound("Owner"); + mWriter.AddString("Id", a_MobHead->GetOwnerUUID().ToShortString()); + mWriter.AddString("Name", a_MobHead->GetOwnerName()); + mWriter.BeginCompound("Properties"); + mWriter.BeginList("textures", TAG_Compound); + mWriter.BeginCompound(""); + mWriter.AddString("Signature", a_MobHead->GetOwnerTextureSignature()); + mWriter.AddString("Value", a_MobHead->GetOwnerTexture()); + mWriter.EndCompound(); + mWriter.EndList(); + mWriter.EndCompound(); + mWriter.EndCompound(); mWriter.EndCompound(); } @@ -642,9 +638,9 @@ public: void AddFlowerPotEntity(cFlowerPotEntity * a_FlowerPot) { mWriter.BeginCompound(""); - AddBasicTileEntity(a_FlowerPot, "FlowerPot"); - mWriter.AddInt ("Item", static_cast(a_FlowerPot->GetItem().m_ItemType)); - mWriter.AddInt ("Data", static_cast(a_FlowerPot->GetItem().m_ItemDamage)); + AddBasicTileEntity(a_FlowerPot, "FlowerPot"); + mWriter.AddInt("Item", static_cast(a_FlowerPot->GetItem().m_ItemType)); + mWriter.AddInt("Data", static_cast(a_FlowerPot->GetItem().m_ItemDamage)); mWriter.EndCompound(); } @@ -656,18 +652,18 @@ public: { mWriter.AddString("id", a_ClassName); mWriter.BeginList("Pos", TAG_Double); - mWriter.AddDouble("", a_Entity->GetPosX()); - mWriter.AddDouble("", a_Entity->GetPosY()); - mWriter.AddDouble("", a_Entity->GetPosZ()); + mWriter.AddDouble("", a_Entity->GetPosX()); + mWriter.AddDouble("", a_Entity->GetPosY()); + mWriter.AddDouble("", a_Entity->GetPosZ()); mWriter.EndList(); mWriter.BeginList("Motion", TAG_Double); - mWriter.AddDouble("", a_Entity->GetSpeedX()); - mWriter.AddDouble("", a_Entity->GetSpeedY()); - mWriter.AddDouble("", a_Entity->GetSpeedZ()); + mWriter.AddDouble("", a_Entity->GetSpeedX()); + mWriter.AddDouble("", a_Entity->GetSpeedY()); + mWriter.AddDouble("", a_Entity->GetSpeedZ()); mWriter.EndList(); mWriter.BeginList("Rotation", TAG_Double); - mWriter.AddDouble("", a_Entity->GetYaw()); - mWriter.AddDouble("", a_Entity->GetPitch()); + mWriter.AddDouble("", a_Entity->GetYaw()); + mWriter.AddDouble("", a_Entity->GetPitch()); mWriter.EndList(); mWriter.AddFloat("Health", a_Entity->GetHealth()); } @@ -679,8 +675,8 @@ public: void AddBoatEntity(cBoat * a_Boat) { mWriter.BeginCompound(""); - AddBasicEntity(a_Boat, "Boat"); - mWriter.AddString("Type", cBoat::MaterialToString(a_Boat->GetMaterial())); + AddBasicEntity(a_Boat, "Boat"); + mWriter.AddString("Type", cBoat::MaterialToString(a_Boat->GetMaterial())); mWriter.EndCompound(); } @@ -691,17 +687,17 @@ public: void AddEnderCrystalEntity(cEnderCrystal * a_EnderCrystal) { mWriter.BeginCompound(""); - AddBasicEntity(a_EnderCrystal, "EnderCrystal"); - mWriter.AddByte("ShowBottom", a_EnderCrystal->ShowsBottom() ? 1 : 0); - if (a_EnderCrystal->DisplaysBeam()) - { - mWriter.BeginCompound("BeamTarget"); - const auto & BeamTarget = a_EnderCrystal->GetBeamTarget(); - mWriter.AddInt("X", BeamTarget.x); - mWriter.AddInt("Y", BeamTarget.y); - mWriter.AddInt("Z", BeamTarget.z); - mWriter.EndCompound(); - } + AddBasicEntity(a_EnderCrystal, "EnderCrystal"); + mWriter.AddByte("ShowBottom", a_EnderCrystal->ShowsBottom() ? 1 : 0); + if (a_EnderCrystal->DisplaysBeam()) + { + mWriter.BeginCompound("BeamTarget"); + const auto & BeamTarget = a_EnderCrystal->GetBeamTarget(); + mWriter.AddInt("X", BeamTarget.x); + mWriter.AddInt("Y", BeamTarget.y); + mWriter.AddInt("Z", BeamTarget.z); + mWriter.EndCompound(); + } mWriter.EndCompound(); } @@ -712,12 +708,12 @@ public: void AddFallingBlockEntity(cFallingBlock * a_FallingBlock) { mWriter.BeginCompound(""); - AddBasicEntity(a_FallingBlock, "FallingSand"); - mWriter.AddInt("TileID", a_FallingBlock->GetBlockType()); - mWriter.AddByte("Data", a_FallingBlock->GetBlockMeta()); - mWriter.AddByte("Time", 1); // Unused in Cuberite, Vanilla said to need nonzero - mWriter.AddByte("DropItem", 1); - mWriter.AddByte("HurtEntities", a_FallingBlock->GetBlockType() == E_BLOCK_ANVIL); + AddBasicEntity(a_FallingBlock, "FallingSand"); + mWriter.AddInt("TileID", a_FallingBlock->GetBlockType()); + mWriter.AddByte("Data", a_FallingBlock->GetBlockMeta()); + mWriter.AddByte("Time", 1); // Unused in Cuberite, Vanilla said to need nonzero + mWriter.AddByte("DropItem", 1); + mWriter.AddByte("HurtEntities", a_FallingBlock->GetBlockType() == E_BLOCK_ANVIL); mWriter.EndCompound(); } @@ -729,38 +725,38 @@ public: { mWriter.BeginCompound(""); - switch (a_Minecart->GetPayload()) + switch (a_Minecart->GetPayload()) + { + case cMinecart::mpChest: { - case cMinecart::mpChest: - { - AddBasicEntity(a_Minecart, "MinecartChest"); - // Add chest contents into the Items tag: - AddMinecartChestContents(static_cast(a_Minecart)); - break; - } - case cMinecart::mpFurnace: - { - AddBasicEntity(a_Minecart, "MinecartFurnace"); - // TODO: Add "Push" and "Fuel" tags - break; - } - case cMinecart::mpHopper: - { - AddBasicEntity(a_Minecart, "MinecartHopper"); - // TODO: Add hopper contents? - break; - } - case cMinecart::mpTNT: - { - AddBasicEntity(a_Minecart, "MinecartTNT"); - break; - } - case cMinecart::mpNone: - { - AddBasicEntity(a_Minecart, "MinecartRideable"); - break; - } - } // switch (Payload) + AddBasicEntity(a_Minecart, "MinecartChest"); + // Add chest contents into the Items tag: + AddMinecartChestContents(static_cast(a_Minecart)); + break; + } + case cMinecart::mpFurnace: + { + AddBasicEntity(a_Minecart, "MinecartFurnace"); + // TODO: Add "Push" and "Fuel" tags + break; + } + case cMinecart::mpHopper: + { + AddBasicEntity(a_Minecart, "MinecartHopper"); + // TODO: Add hopper contents? + break; + } + case cMinecart::mpTNT: + { + AddBasicEntity(a_Minecart, "MinecartTNT"); + break; + } + case cMinecart::mpNone: + { + AddBasicEntity(a_Minecart, "MinecartRideable"); + break; + } + } // switch (Payload) mWriter.EndCompound(); } @@ -772,244 +768,247 @@ public: void AddMonsterEntity(cMonster * a_Monster) { mWriter.BeginCompound(""); - AddBasicEntity(a_Monster, NamespaceSerializer::From(a_Monster->GetMobType())); - mWriter.BeginList("DropChances", TAG_Float); - mWriter.AddFloat("", a_Monster->GetDropChanceWeapon()); - mWriter.AddFloat("", a_Monster->GetDropChanceHelmet()); - mWriter.AddFloat("", a_Monster->GetDropChanceChestplate()); - mWriter.AddFloat("", a_Monster->GetDropChanceLeggings()); - mWriter.AddFloat("", a_Monster->GetDropChanceBoots()); - mWriter.EndList(); - mWriter.AddByte("CanPickUpLoot", (a_Monster->CanPickUpLoot())? 1 : 0); - mWriter.AddString("CustomName", a_Monster->GetCustomName()); - mWriter.AddByte("CustomNameVisible", static_cast(a_Monster->IsCustomNameAlwaysVisible())); + AddBasicEntity(a_Monster, NamespaceSerializer::From(a_Monster->GetMobType())); + mWriter.BeginList("DropChances", TAG_Float); + mWriter.AddFloat("", a_Monster->GetDropChanceWeapon()); + mWriter.AddFloat("", a_Monster->GetDropChanceHelmet()); + mWriter.AddFloat("", a_Monster->GetDropChanceChestplate()); + mWriter.AddFloat("", a_Monster->GetDropChanceLeggings()); + mWriter.AddFloat("", a_Monster->GetDropChanceBoots()); + mWriter.EndList(); + mWriter.AddByte("CanPickUpLoot", (a_Monster->CanPickUpLoot()) ? 1 : 0); + mWriter.AddString("CustomName", a_Monster->GetCustomName()); + mWriter.AddByte("CustomNameVisible", static_cast(a_Monster->IsCustomNameAlwaysVisible())); - // Mob was leashed - if (a_Monster->IsLeashed() || (a_Monster->GetLeashToPos() != nullptr)) - { - mWriter.AddByte("Leashed", 1); + // Mob was leashed + if (a_Monster->IsLeashed() || (a_Monster->GetLeashToPos() != nullptr)) + { + mWriter.AddByte("Leashed", 1); - const Vector3d * LeashedToPos = nullptr; + const Vector3d * LeashedToPos = nullptr; - if (a_Monster->GetLeashToPos() != nullptr) - { - LeashedToPos = a_Monster->GetLeashToPos(); - } - else if (a_Monster->GetLeashedTo()->IsLeashKnot()) - { - LeashedToPos = & a_Monster->GetLeashedTo()->GetPosition(); - } + if (a_Monster->GetLeashToPos() != nullptr) + { + LeashedToPos = a_Monster->GetLeashToPos(); + } + else if (a_Monster->GetLeashedTo()->IsLeashKnot()) + { + LeashedToPos = &a_Monster->GetLeashedTo()->GetPosition(); + } - if (LeashedToPos != nullptr) - { - mWriter.BeginCompound("Leash"); - mWriter.AddDouble("X", LeashedToPos->x); - mWriter.AddDouble("Y", LeashedToPos->y); - mWriter.AddDouble("Z", LeashedToPos->z); - mWriter.EndCompound(); - } + if (LeashedToPos != nullptr) + { + mWriter.BeginCompound("Leash"); + mWriter.AddDouble("X", LeashedToPos->x); + mWriter.AddDouble("Y", LeashedToPos->y); + mWriter.AddDouble("Z", LeashedToPos->z); + mWriter.EndCompound(); } + } - switch (a_Monster->GetMobType()) + switch (a_Monster->GetMobType()) + { + case mtBat: { - case mtBat: - { - mWriter.AddByte("BatFlags", static_cast(a_Monster)->IsHanging()); - break; - } - case mtCreeper: - { - const cCreeper *Creeper = static_cast(a_Monster); - mWriter.AddByte("powered", Creeper->IsCharged()); - mWriter.AddByte("ignited", Creeper->IsBlowing()); - break; - } - case mtEnderman: - { - const cEnderman *Enderman = static_cast(a_Monster); - mWriter.AddShort("carried", static_cast(Enderman->GetCarriedBlock())); - mWriter.AddShort("carriedData", static_cast(Enderman->GetCarriedMeta())); - break; - } - case mtHorse: - { - const cHorse *Horse = static_cast(a_Monster); - mWriter.AddByte("ChestedHorse", Horse->IsChested()? 1 : 0); - mWriter.AddByte("EatingHaystack", Horse->IsEating()? 1 : 0); - mWriter.AddByte("Tame", Horse->IsTame()? 1: 0); - mWriter.AddInt ("Type", Horse->GetHorseType()); - mWriter.AddInt ("Color", Horse->GetHorseColor()); - mWriter.AddInt ("Style", Horse->GetHorseStyle()); - mWriter.AddInt ("ArmorType", Horse->GetHorseArmour()); - mWriter.AddByte("Saddle", Horse->IsSaddled()? 1 : 0); - mWriter.AddInt ("Age", Horse->GetAge()); - break; - } - case mtMagmaCube: - { - mWriter.AddInt("Size", static_cast(a_Monster)->GetSize()); - break; - } - case mtOcelot: - { - const auto *Ocelot = static_cast(a_Monster); - if (!Ocelot->GetOwnerName().empty()) - { - mWriter.AddString("Owner", Ocelot->GetOwnerName()); - } - if (!Ocelot->GetOwnerUUID().IsNil()) - { - mWriter.AddString("OwnerUUID", Ocelot->GetOwnerUUID().ToShortString()); - } - mWriter.AddByte("Sitting", Ocelot->IsSitting() ? 1 : 0); - mWriter.AddInt("CatType", Ocelot->GetOcelotType()); - mWriter.AddInt("Age", Ocelot->GetAge()); - break; - } - case mtPig: - { - mWriter.AddInt("Age", static_cast(a_Monster)->GetAge()); - break; - } - case mtRabbit: - { - const cRabbit * Rabbit = static_cast(a_Monster); - mWriter.AddInt("RabbitType", static_cast(Rabbit->GetRabbitType())); - mWriter.AddInt("MoreCarrotTicks", Rabbit->GetMoreCarrotTicks()); - mWriter.AddInt("Age", Rabbit->GetAge()); - break; - } - case mtSheep: - { - const cSheep *Sheep = static_cast(a_Monster); - mWriter.AddByte("Sheared", Sheep->IsSheared()? 1 : 0); - mWriter.AddByte("Color", static_cast(Sheep->GetFurColor())); - mWriter.AddInt ("Age", Sheep->GetAge()); - break; - } - case mtSlime: - { - mWriter.AddInt("Size", static_cast(a_Monster)->GetSize()); - break; - } - case mtVillager: - { - const cVillager *Villager = static_cast(a_Monster); - mWriter.AddInt("Profession", Villager->GetVilType()); - mWriter.AddInt("Age", Villager->GetAge()); - mWriter.BeginList("Inventory", TAG_Compound); - AddItemGrid(Villager->GetInventory()); - mWriter.EndList(); - break; - } - case mtWither: - { - mWriter.AddInt("Invul", static_cast(static_cast(a_Monster)->GetWitherInvulnerableTicks())); - break; - } - case mtWolf: - { - const cWolf *Wolf = static_cast(a_Monster); - if (!Wolf->GetOwnerName().empty()) - { - mWriter.AddString("Owner", Wolf->GetOwnerName()); - } - if (!Wolf->GetOwnerUUID().IsNil()) - { - mWriter.AddString("OwnerUUID", Wolf->GetOwnerUUID().ToShortString()); - } - mWriter.AddByte("Sitting", Wolf->IsSitting() ? 1 : 0); - mWriter.AddByte("Angry", Wolf->IsAngry() ? 1 : 0); - mWriter.AddByte("CollarColor", static_cast(Wolf->GetCollarColor())); - mWriter.AddInt ("Age", Wolf->GetAge()); - break; - } - case mtZombie: - { - mWriter.AddInt("Age", static_cast(a_Monster)->GetAge()); - break; - } - case mtZombiePigman: - { - mWriter.AddInt("Age", static_cast(a_Monster)->GetAge()); - break; - } - case mtZombieVillager: + mWriter.AddByte("BatFlags", static_cast(a_Monster)->IsHanging()); + break; + } + case mtCreeper: + { + const cCreeper * Creeper = static_cast(a_Monster); + mWriter.AddByte("powered", Creeper->IsCharged()); + mWriter.AddByte("ignited", Creeper->IsBlowing()); + break; + } + case mtEnderman: + { + const cEnderman * Enderman = static_cast(a_Monster); + mWriter.AddShort("carried", static_cast(Enderman->GetCarriedBlock())); + mWriter.AddShort("carriedData", static_cast(Enderman->GetCarriedMeta())); + break; + } + case mtHorse: + { + const cHorse * Horse = static_cast(a_Monster); + mWriter.AddByte("ChestedHorse", Horse->IsChested() ? 1 : 0); + mWriter.AddByte("EatingHaystack", Horse->IsEating() ? 1 : 0); + mWriter.AddByte("Tame", Horse->IsTame() ? 1 : 0); + mWriter.AddInt("Type", Horse->GetHorseType()); + mWriter.AddInt("Color", Horse->GetHorseColor()); + mWriter.AddInt("Style", Horse->GetHorseStyle()); + mWriter.AddInt("ArmorType", Horse->GetHorseArmour()); + mWriter.AddByte("Saddle", Horse->IsSaddled() ? 1 : 0); + mWriter.AddInt("Age", Horse->GetAge()); + break; + } + case mtMagmaCube: + { + mWriter.AddInt("Size", static_cast(a_Monster)->GetSize()); + break; + } + case mtOcelot: + { + const auto * Ocelot = static_cast(a_Monster); + if (!Ocelot->GetOwnerName().empty()) { - const cZombieVillager *ZombieVillager = reinterpret_cast(a_Monster); - mWriter.AddInt("Profession", ZombieVillager->GetProfession()); - mWriter.AddInt("ConversionTime", ZombieVillager->ConversionTime()); - mWriter.AddInt("Age", ZombieVillager->GetAge()); - break; + mWriter.AddString("Owner", Ocelot->GetOwnerName()); } - case mtBlaze: - case mtCaveSpider: - case mtChicken: - case mtCow: - case mtEnderDragon: - case mtGhast: - case mtGiant: - case mtGuardian: - case mtIronGolem: - case mtMooshroom: - case mtSilverfish: - case mtSkeleton: - case mtSnowGolem: - case mtSpider: - case mtSquid: - case mtWitch: - case mtWitherSkeleton: + if (!Ocelot->GetOwnerUUID().IsNil()) { - // Other mobs have no special tags. - break; + mWriter.AddString("OwnerUUID", Ocelot->GetOwnerUUID().ToShortString()); } - case mtCat: - case mtCod: - case mtDolphin: - case mtDonkey: - case mtDrowned: - case mtElderGuardian: - case mtEndermite: - case mtEvoker: - case mtFox: - case mtHoglin: - case mtHusk: - case mtIllusioner: - case mtLlama: - case mtMule: - case mtPanda: - case mtParrot: - case mtPhantom: - case mtPiglin: - case mtPiglinBrute: - case mtPillager: - case mtPolarBear: - case mtPufferfish: - case mtRavager: - case mtSalmon: - case mtShulker: - case mtSkeletonHorse: - case mtStray: - case mtStrider: - case mtTraderLlama: - case mtTropicalFish: - case mtTurtle: - case mtVex: - case mtVindicator: - case mtWanderingTrader: - case mtZoglin: - case mtZombieHorse: + mWriter.AddByte("Sitting", Ocelot->IsSitting() ? 1 : 0); + mWriter.AddInt("CatType", Ocelot->GetOcelotType()); + mWriter.AddInt("Age", Ocelot->GetAge()); + break; + } + case mtPig: + { + mWriter.AddInt("Age", static_cast(a_Monster)->GetAge()); + break; + } + case mtRabbit: + { + const cRabbit * Rabbit = static_cast(a_Monster); + mWriter.AddInt("RabbitType", static_cast(Rabbit->GetRabbitType())); + mWriter.AddInt("MoreCarrotTicks", Rabbit->GetMoreCarrotTicks()); + mWriter.AddInt("Age", Rabbit->GetAge()); + break; + } + case mtSheep: + { + const cSheep * Sheep = static_cast(a_Monster); + mWriter.AddByte("Sheared", Sheep->IsSheared() ? 1 : 0); + mWriter.AddByte("Color", static_cast(Sheep->GetFurColor())); + mWriter.AddInt("Age", Sheep->GetAge()); + break; + } + case mtSlime: + { + mWriter.AddInt("Size", static_cast(a_Monster)->GetSize()); + break; + } + case mtVillager: + { + const cVillager * Villager = static_cast(a_Monster); + mWriter.AddInt("Profession", Villager->GetVilType()); + mWriter.AddInt("Age", Villager->GetAge()); + mWriter.BeginList("Inventory", TAG_Compound); + AddItemGrid(Villager->GetInventory()); + mWriter.EndList(); + break; + } + case mtWither: + { + mWriter.AddInt( + "Invul", + static_cast(static_cast(a_Monster)->GetWitherInvulnerableTicks()) + ); + break; + } + case mtWolf: + { + const cWolf * Wolf = static_cast(a_Monster); + if (!Wolf->GetOwnerName().empty()) { - // All the entities not added - LOGD("Saving unimplemented entity type: %d", NamespaceSerializer::From(a_Monster->GetMobType())); - break; + mWriter.AddString("Owner", Wolf->GetOwnerName()); } - case mtInvalidType: + if (!Wolf->GetOwnerUUID().IsNil()) { - ASSERT(!"NBTChunkSerializer::SerializerCollector::AddMonsterEntity: Recieved mob of invalid type"); - break; + mWriter.AddString("OwnerUUID", Wolf->GetOwnerUUID().ToShortString()); } + mWriter.AddByte("Sitting", Wolf->IsSitting() ? 1 : 0); + mWriter.AddByte("Angry", Wolf->IsAngry() ? 1 : 0); + mWriter.AddByte("CollarColor", static_cast(Wolf->GetCollarColor())); + mWriter.AddInt("Age", Wolf->GetAge()); + break; + } + case mtZombie: + { + mWriter.AddInt("Age", static_cast(a_Monster)->GetAge()); + break; + } + case mtZombiePigman: + { + mWriter.AddInt("Age", static_cast(a_Monster)->GetAge()); + break; + } + case mtZombieVillager: + { + const cZombieVillager * ZombieVillager = reinterpret_cast(a_Monster); + mWriter.AddInt("Profession", ZombieVillager->GetProfession()); + mWriter.AddInt("ConversionTime", ZombieVillager->ConversionTime()); + mWriter.AddInt("Age", ZombieVillager->GetAge()); + break; + } + case mtBlaze: + case mtCaveSpider: + case mtChicken: + case mtCow: + case mtEnderDragon: + case mtGhast: + case mtGiant: + case mtGuardian: + case mtIronGolem: + case mtMooshroom: + case mtSilverfish: + case mtSkeleton: + case mtSnowGolem: + case mtSpider: + case mtSquid: + case mtWitch: + case mtWitherSkeleton: + { + // Other mobs have no special tags. + break; } + case mtCat: + case mtCod: + case mtDolphin: + case mtDonkey: + case mtDrowned: + case mtElderGuardian: + case mtEndermite: + case mtEvoker: + case mtFox: + case mtHoglin: + case mtHusk: + case mtIllusioner: + case mtLlama: + case mtMule: + case mtPanda: + case mtParrot: + case mtPhantom: + case mtPiglin: + case mtPiglinBrute: + case mtPillager: + case mtPolarBear: + case mtPufferfish: + case mtRavager: + case mtSalmon: + case mtShulker: + case mtSkeletonHorse: + case mtStray: + case mtStrider: + case mtTraderLlama: + case mtTropicalFish: + case mtTurtle: + case mtVex: + case mtVindicator: + case mtWanderingTrader: + case mtZoglin: + case mtZombieHorse: + { + // All the entities not added + LOGD("Saving unimplemented entity type: %d", NamespaceSerializer::From(a_Monster->GetMobType())); + break; + } + case mtInvalidType: + { + ASSERT(!"NBTChunkSerializer::SerializerCollector::AddMonsterEntity: Recieved mob of invalid type"); + break; + } + } mWriter.EndCompound(); } @@ -1020,9 +1019,9 @@ public: void AddPickupEntity(cPickup * a_Pickup) { mWriter.BeginCompound(""); - AddBasicEntity(a_Pickup, "Item"); - AddItem(a_Pickup->GetItem(), -1, "Item"); - mWriter.AddShort("Age", static_cast(a_Pickup->GetAge())); + AddBasicEntity(a_Pickup, "Item"); + AddItem(a_Pickup->GetItem(), -1, "Item"); + mWriter.AddShort("Age", static_cast(a_Pickup->GetAge())); mWriter.EndCompound(); } @@ -1033,55 +1032,55 @@ public: void AddProjectileEntity(cProjectileEntity * a_Projectile) { mWriter.BeginCompound(""); - AddBasicEntity(a_Projectile, a_Projectile->GetMCAClassName()); - mWriter.AddByte("inGround", a_Projectile->IsInGround() ? 1 : 0); + AddBasicEntity(a_Projectile, a_Projectile->GetMCAClassName()); + mWriter.AddByte("inGround", a_Projectile->IsInGround() ? 1 : 0); - switch (a_Projectile->GetProjectileKind()) + switch (a_Projectile->GetProjectileKind()) + { + case cProjectileEntity::pkArrow: { - case cProjectileEntity::pkArrow: - { - cArrowEntity * Arrow = static_cast(a_Projectile); - - mWriter.AddShort("xTile", static_cast(Arrow->GetBlockHit().x)); - mWriter.AddShort("yTile", static_cast(Arrow->GetBlockHit().y)); - mWriter.AddShort("zTile", static_cast(Arrow->GetBlockHit().z)); - mWriter.AddByte("pickup", static_cast(Arrow->GetPickupState())); - mWriter.AddDouble("damage", Arrow->GetDamageCoeff()); - break; - } - case cProjectileEntity::pkSplashPotion: - { - cSplashPotionEntity * Potion = static_cast(a_Projectile); - - mWriter.AddInt("EffectType", static_cast(Potion->GetEntityEffectType())); - mWriter.AddInt("EffectDuration", static_cast(Potion->GetEntityEffect().GetDuration())); - mWriter.AddShort("EffectIntensity", Potion->GetEntityEffect().GetIntensity()); - mWriter.AddDouble("EffectDistanceModifier", Potion->GetEntityEffect().GetDistanceModifier()); - mWriter.AddInt("PotionName", Potion->GetPotionColor()); - break; - } - case cProjectileEntity::pkGhastFireball: - { - mWriter.AddInt("ExplosionPower", 1); - break; - } - case cProjectileEntity::pkFireCharge: - case cProjectileEntity::pkWitherSkull: - case cProjectileEntity::pkEnderPearl: - case cProjectileEntity::pkSnowball: - { - break; - } - default: - { - ASSERT(!"Unsaved projectile entity!"); - } - } // switch (ProjectileKind) + cArrowEntity * Arrow = static_cast(a_Projectile); - if (!a_Projectile->GetCreatorName().empty()) + mWriter.AddShort("xTile", static_cast(Arrow->GetBlockHit().x)); + mWriter.AddShort("yTile", static_cast(Arrow->GetBlockHit().y)); + mWriter.AddShort("zTile", static_cast(Arrow->GetBlockHit().z)); + mWriter.AddByte("pickup", static_cast(Arrow->GetPickupState())); + mWriter.AddDouble("damage", Arrow->GetDamageCoeff()); + break; + } + case cProjectileEntity::pkSplashPotion: + { + cSplashPotionEntity * Potion = static_cast(a_Projectile); + + mWriter.AddInt("EffectType", static_cast(Potion->GetEntityEffectType())); + mWriter.AddInt("EffectDuration", static_cast(Potion->GetEntityEffect().GetDuration())); + mWriter.AddShort("EffectIntensity", Potion->GetEntityEffect().GetIntensity()); + mWriter.AddDouble("EffectDistanceModifier", Potion->GetEntityEffect().GetDistanceModifier()); + mWriter.AddInt("PotionName", Potion->GetPotionColor()); + break; + } + case cProjectileEntity::pkGhastFireball: + { + mWriter.AddInt("ExplosionPower", 1); + break; + } + case cProjectileEntity::pkFireCharge: + case cProjectileEntity::pkWitherSkull: + case cProjectileEntity::pkEnderPearl: + case cProjectileEntity::pkSnowball: + { + break; + } + default: { - mWriter.AddString("ownerName", a_Projectile->GetCreatorName()); + ASSERT(!"Unsaved projectile entity!"); } + } // switch (ProjectileKind) + + if (!a_Projectile->GetCreatorName().empty()) + { + mWriter.AddString("ownerName", a_Projectile->GetCreatorName()); + } mWriter.EndCompound(); } @@ -1104,8 +1103,8 @@ public: void AddTNTEntity(cTNTEntity * a_TNT) { mWriter.BeginCompound(""); - AddBasicEntity(a_TNT, "PrimedTnt"); - mWriter.AddByte("Fuse", static_cast(a_TNT->GetFuseTicks())); + AddBasicEntity(a_TNT, "PrimedTnt"); + mWriter.AddByte("Fuse", static_cast(a_TNT->GetFuseTicks())); mWriter.EndCompound(); } @@ -1116,9 +1115,9 @@ public: void AddExpOrbEntity(cExpOrb * a_ExpOrb) { mWriter.BeginCompound(""); - AddBasicEntity(a_ExpOrb, "XPOrb"); - mWriter.AddShort("Age", static_cast(a_ExpOrb->GetAge())); - mWriter.AddShort("Value", static_cast(a_ExpOrb->GetReward())); + AddBasicEntity(a_ExpOrb, "XPOrb"); + mWriter.AddShort("Age", static_cast(a_ExpOrb->GetAge())); + mWriter.AddShort("Value", static_cast(a_ExpOrb->GetReward())); mWriter.EndCompound(); } @@ -1129,11 +1128,11 @@ public: void AddItemFrameEntity(cItemFrame * a_ItemFrame) { mWriter.BeginCompound(""); - AddBasicEntity(a_ItemFrame, "ItemFrame"); - AddHangingEntity(a_ItemFrame); - AddItem(a_ItemFrame->GetItem(), -1, "Item"); - mWriter.AddByte("ItemRotation", static_cast(a_ItemFrame->GetItemRotation())); - mWriter.AddFloat("ItemDropChance", 1.0F); + AddBasicEntity(a_ItemFrame, "ItemFrame"); + AddHangingEntity(a_ItemFrame); + AddItem(a_ItemFrame->GetItem(), -1, "Item"); + mWriter.AddByte("ItemRotation", static_cast(a_ItemFrame->GetItemRotation())); + mWriter.AddFloat("ItemDropChance", 1.0F); mWriter.EndCompound(); } @@ -1144,8 +1143,8 @@ public: void AddLeashKnotEntity(cLeashKnot * a_LeashKnot) { mWriter.BeginCompound(""); - AddBasicEntity(a_LeashKnot, "LeashKnot"); - AddHangingEntity(a_LeashKnot); + AddBasicEntity(a_LeashKnot, "LeashKnot"); + AddHangingEntity(a_LeashKnot); mWriter.EndCompound(); } @@ -1156,9 +1155,9 @@ public: void AddPaintingEntity(cPainting * a_Painting) { mWriter.BeginCompound(""); - AddBasicEntity(a_Painting, "Painting"); - AddHangingEntity(a_Painting); - mWriter.AddString("Motive", a_Painting->GetName()); + AddBasicEntity(a_Painting, "Painting"); + AddHangingEntity(a_Painting); + mWriter.AddString("Motive", a_Painting->GetName()); mWriter.EndCompound(); } @@ -1169,15 +1168,15 @@ public: void AddMinecartChestContents(cMinecartWithChest * a_Minecart) { mWriter.BeginList("Items", TAG_Compound); - for (int i = 0; i < cMinecartWithChest::ContentsHeight * cMinecartWithChest::ContentsWidth; i++) + for (int i = 0; i < cMinecartWithChest::ContentsHeight * cMinecartWithChest::ContentsWidth; i++) + { + const cItem & Item = a_Minecart->GetSlot(i); + if (Item.IsEmpty()) { - const cItem & Item = a_Minecart->GetSlot(i); - if (Item.IsEmpty()) - { - continue; - } - AddItem(Item, i); + continue; } + AddItem(Item, i); + } mWriter.EndList(); } }; // SerializerCollector @@ -1195,7 +1194,8 @@ void NBTChunkSerializer::Serialize(const cWorld & aWorld, cChunkCoords aCoords, aWriter.BeginCompound("Level"); aWriter.AddInt("xPos", aCoords.m_ChunkX); aWriter.AddInt("zPos", aCoords.m_ChunkZ); - [[maybe_unused]] const bool Result = aWorld.GetChunkData(aCoords, serializer); // Chunk must be present in order to save + [[maybe_unused]] const bool Result = + aWorld.GetChunkData(aCoords, serializer); // Chunk must be present in order to save ASSERT(Result); serializer.Finish(); // Close NBT tags @@ -1207,8 +1207,7 @@ void NBTChunkSerializer::Serialize(const cWorld & aWorld, cChunkCoords aCoords, // Save blockdata: aWriter.BeginList("Sections", TAG_Compound); - ChunkDef_ForEachSection(serializer.m_BlockData, serializer.m_LightData, - { + ChunkDef_ForEachSection(serializer.m_BlockData, serializer.m_LightData, { aWriter.BeginCompound(""); if (Blocks != nullptr) @@ -1231,11 +1230,13 @@ void NBTChunkSerializer::Serialize(const cWorld & aWorld, cChunkCoords aCoords, if (BlockLights != nullptr) { - aWriter.AddByteArray("BlockLight", reinterpret_cast(BlockLights->data()), BlockLights->size()); + aWriter + .AddByteArray("BlockLight", reinterpret_cast(BlockLights->data()), BlockLights->size()); } else { - aWriter.AddByteArray("BlockLight", ChunkLightData::SectionLightCount, ChunkLightData::DefaultBlockLightValue); + aWriter + .AddByteArray("BlockLight", ChunkLightData::SectionLightCount, ChunkLightData::DefaultBlockLightValue); } if (SkyLights != nullptr) diff --git a/src/WorldStorage/NBTChunkSerializer.h b/src/WorldStorage/NBTChunkSerializer.h index c2de79269..12dabed75 100644 --- a/src/WorldStorage/NBTChunkSerializer.h +++ b/src/WorldStorage/NBTChunkSerializer.h @@ -19,8 +19,7 @@ The Writer is expected to be set up so that the serializer can write the chunk's Provides a single static entry point that does all the work, through a hidden worker class in the CPP file. */ class NBTChunkSerializer { -public: - + public: /** Serializes the chunk into the specified writer. The chunk must be present. */ static void Serialize(const cWorld & aWorld, cChunkCoords aCoords, cFastNBTWriter & aWriter); }; diff --git a/src/WorldStorage/NamespaceSerializer.cpp b/src/WorldStorage/NamespaceSerializer.cpp index d4a025af7..8f36ec1d1 100644 --- a/src/WorldStorage/NamespaceSerializer.cpp +++ b/src/WorldStorage/NamespaceSerializer.cpp @@ -144,76 +144,76 @@ std::string_view NamespaceSerializer::From(const eMonsterType a_ID) { switch (a_ID) { - case mtBat: return "bat"; - case mtBlaze: return "blaze"; - case mtCat: return "cat"; - case mtCaveSpider: return "cave_spider"; - case mtChicken: return "chicken"; - case mtCod: return "cod"; - case mtCow: return "cow"; - case mtCreeper: return "creeper"; - case mtDolphin: return "dolphin"; - case mtDonkey: return "donkey"; - case mtDrowned: return "drowned"; - case mtElderGuardian: return "elder_guardian"; - case mtEnderDragon: return "ender_dragon"; - case mtEnderman: return "enderman"; - case mtEndermite: return "endermite"; - case mtEvoker: return "evoker"; - case mtFox: return "fox"; - case mtGhast: return "ghast"; - case mtGiant: return "giant"; - case mtGuardian: return "guardian"; - case mtHorse: return "horse"; - case mtHoglin: return "hoglin"; - case mtHusk: return "husk"; - case mtIllusioner: return "illusioner"; - case mtIronGolem: return "iron_golem"; - case mtLlama: return "llama"; - case mtMagmaCube: return "magma_cube"; - case mtMooshroom: return "mooshroom"; - case mtMule: return "mule"; - case mtOcelot: return "ocelot"; - case mtPanda: return "panda"; - case mtParrot: return "parrot"; - case mtPhantom: return "phantom"; - case mtPig: return "pig"; - case mtPiglin: return "piglin"; - case mtPiglinBrute: return "piglin_brute"; - case mtPillager: return "pillager"; - case mtPolarBear: return "polar_bear"; - case mtPufferfish: return "pufferfish"; - case mtRabbit: return "rabbit"; - case mtRavager: return "ravager"; - case mtSalmon: return "salmon"; - case mtSheep: return "sheep"; - case mtShulker: return "shulker"; - case mtSilverfish: return "silverfish"; - case mtSkeleton: return "skeleton"; - case mtSkeletonHorse: return "skeleton_horse"; - case mtSlime: return "slime"; - case mtSnowGolem: return "snow_golem"; - case mtSpider: return "spider"; - case mtSquid: return "squid"; - case mtStray: return "stray"; - case mtStrider: return "strider"; - case mtTraderLlama: return "trader_llama"; - case mtTropicalFish: return "tropical_fish"; - case mtTurtle: return "turtle"; - case mtVex: return "vex"; - case mtVillager: return "villager"; - case mtVindicator: return "vindicator"; - case mtWanderingTrader:return "wandering_trader"; - case mtWitch: return "witch"; - case mtWither: return "wither"; - case mtWitherSkeleton: return "wither_skeleton"; - case mtWolf: return "wolf"; - case mtZoglin: return "zoglin"; - case mtZombie: return "zombie"; - case mtZombieHorse: return "zombie_horse"; - case mtZombiePigman: return "zombified_piglin"; - case mtZombieVillager: return "zombie_villager"; - case mtInvalidType: break; + case mtBat: return "bat"; + case mtBlaze: return "blaze"; + case mtCat: return "cat"; + case mtCaveSpider: return "cave_spider"; + case mtChicken: return "chicken"; + case mtCod: return "cod"; + case mtCow: return "cow"; + case mtCreeper: return "creeper"; + case mtDolphin: return "dolphin"; + case mtDonkey: return "donkey"; + case mtDrowned: return "drowned"; + case mtElderGuardian: return "elder_guardian"; + case mtEnderDragon: return "ender_dragon"; + case mtEnderman: return "enderman"; + case mtEndermite: return "endermite"; + case mtEvoker: return "evoker"; + case mtFox: return "fox"; + case mtGhast: return "ghast"; + case mtGiant: return "giant"; + case mtGuardian: return "guardian"; + case mtHorse: return "horse"; + case mtHoglin: return "hoglin"; + case mtHusk: return "husk"; + case mtIllusioner: return "illusioner"; + case mtIronGolem: return "iron_golem"; + case mtLlama: return "llama"; + case mtMagmaCube: return "magma_cube"; + case mtMooshroom: return "mooshroom"; + case mtMule: return "mule"; + case mtOcelot: return "ocelot"; + case mtPanda: return "panda"; + case mtParrot: return "parrot"; + case mtPhantom: return "phantom"; + case mtPig: return "pig"; + case mtPiglin: return "piglin"; + case mtPiglinBrute: return "piglin_brute"; + case mtPillager: return "pillager"; + case mtPolarBear: return "polar_bear"; + case mtPufferfish: return "pufferfish"; + case mtRabbit: return "rabbit"; + case mtRavager: return "ravager"; + case mtSalmon: return "salmon"; + case mtSheep: return "sheep"; + case mtShulker: return "shulker"; + case mtSilverfish: return "silverfish"; + case mtSkeleton: return "skeleton"; + case mtSkeletonHorse: return "skeleton_horse"; + case mtSlime: return "slime"; + case mtSnowGolem: return "snow_golem"; + case mtSpider: return "spider"; + case mtSquid: return "squid"; + case mtStray: return "stray"; + case mtStrider: return "strider"; + case mtTraderLlama: return "trader_llama"; + case mtTropicalFish: return "tropical_fish"; + case mtTurtle: return "turtle"; + case mtVex: return "vex"; + case mtVillager: return "villager"; + case mtVindicator: return "vindicator"; + case mtWanderingTrader: return "wandering_trader"; + case mtWitch: return "witch"; + case mtWither: return "wither"; + case mtWitherSkeleton: return "wither_skeleton"; + case mtWolf: return "wolf"; + case mtZoglin: return "zoglin"; + case mtZombie: return "zombie"; + case mtZombieHorse: return "zombie_horse"; + case mtZombiePigman: return "zombified_piglin"; + case mtZombieVillager: return "zombie_villager"; + case mtInvalidType: break; } UNREACHABLE("Tried to save unknown monster type"); } @@ -226,46 +226,46 @@ std::string_view NamespaceSerializer::From(const BannerPattern a_Pattern) { switch (a_Pattern) { - case BannerPattern::BottomStripe: return "bs"; - case BannerPattern::TopStripe: return "ts"; - case BannerPattern::LeftStripe: return "ls"; - case BannerPattern::RightStripe: return "rs"; - case BannerPattern::CenterStripeVertical: return "cs"; - case BannerPattern::MiddleStripeHorizontal: return "ms"; - case BannerPattern::DownRightStripe: return "drs"; - case BannerPattern::DownLeftStripe: return "dls"; - case BannerPattern::SmallVerticalStripes: return "ss"; - case BannerPattern::DiagonalCross: return "cr"; - case BannerPattern::SquareCross: return "sc"; - case BannerPattern::LeftOfDiagonal: return "ld"; + case BannerPattern::BottomStripe: return "bs"; + case BannerPattern::TopStripe: return "ts"; + case BannerPattern::LeftStripe: return "ls"; + case BannerPattern::RightStripe: return "rs"; + case BannerPattern::CenterStripeVertical: return "cs"; + case BannerPattern::MiddleStripeHorizontal: return "ms"; + case BannerPattern::DownRightStripe: return "drs"; + case BannerPattern::DownLeftStripe: return "dls"; + case BannerPattern::SmallVerticalStripes: return "ss"; + case BannerPattern::DiagonalCross: return "cr"; + case BannerPattern::SquareCross: return "sc"; + case BannerPattern::LeftOfDiagonal: return "ld"; case BannerPattern::RightOfUpsideDownDiagonal: return "rud"; - case BannerPattern::LeftOfUpsideDownDiagonal: return "lud"; - case BannerPattern::RightOfDiagonal: return "rd"; - case BannerPattern::VerticalHalfLeft: return "vh"; - case BannerPattern::VerticalHalfRight: return "vhr"; - case BannerPattern::HorizontalHalfTop: return "hh"; - case BannerPattern::HorizontalHalfBottom: return "hhb"; - case BannerPattern::BottomLeftCorner: return "bl"; - case BannerPattern::BottomRightCorner: return "br"; - case BannerPattern::TopLeftCorner: return "tl"; - case BannerPattern::TopRightCorner: return "tr"; - case BannerPattern::BottomTriangle: return "bt"; - case BannerPattern::TopTriangle: return "tt"; - case BannerPattern::BottomTriangleSawtooth: return "bts"; - case BannerPattern::TopTriangleSawtooth: return "tts"; - case BannerPattern::MiddleCircle: return "mc"; - case BannerPattern::MiddleRhombus: return "mr"; - case BannerPattern::Border: return "bo"; - case BannerPattern::CurlyBorder: return "cbo"; - case BannerPattern::Brick: return "bri"; - case BannerPattern::Gradient: return "gra"; - case BannerPattern::GradientUpsideDown: return "gru"; - case BannerPattern::Creeper: return "cre"; - case BannerPattern::Skull: return "sku"; - case BannerPattern::Flower: return "flo"; - case BannerPattern::Mojang: return "moj"; - case BannerPattern::Globe: return "glb"; - case BannerPattern::Piglin: return "pig"; + case BannerPattern::LeftOfUpsideDownDiagonal: return "lud"; + case BannerPattern::RightOfDiagonal: return "rd"; + case BannerPattern::VerticalHalfLeft: return "vh"; + case BannerPattern::VerticalHalfRight: return "vhr"; + case BannerPattern::HorizontalHalfTop: return "hh"; + case BannerPattern::HorizontalHalfBottom: return "hhb"; + case BannerPattern::BottomLeftCorner: return "bl"; + case BannerPattern::BottomRightCorner: return "br"; + case BannerPattern::TopLeftCorner: return "tl"; + case BannerPattern::TopRightCorner: return "tr"; + case BannerPattern::BottomTriangle: return "bt"; + case BannerPattern::TopTriangle: return "tt"; + case BannerPattern::BottomTriangleSawtooth: return "bts"; + case BannerPattern::TopTriangleSawtooth: return "tts"; + case BannerPattern::MiddleCircle: return "mc"; + case BannerPattern::MiddleRhombus: return "mr"; + case BannerPattern::Border: return "bo"; + case BannerPattern::CurlyBorder: return "cbo"; + case BannerPattern::Brick: return "bri"; + case BannerPattern::Gradient: return "gra"; + case BannerPattern::GradientUpsideDown: return "gru"; + case BannerPattern::Creeper: return "cre"; + case BannerPattern::Skull: return "sku"; + case BannerPattern::Flower: return "flo"; + case BannerPattern::Mojang: return "moj"; + case BannerPattern::Globe: return "glb"; + case BannerPattern::Piglin: return "pig"; } UNREACHABLE("Unsupported banner pattern"); } @@ -276,121 +276,120 @@ std::string_view NamespaceSerializer::From(const BannerPattern a_Pattern) CustomStatistic NamespaceSerializer::ToCustomStatistic(const std::string_view ID) { - static const std::unordered_map CustomStatistics - { - { "animals_bred", CustomStatistic::AnimalsBred }, - { "aviate_one_cm", CustomStatistic::AviateOneCm }, - { "bell_ring", CustomStatistic::BellRing }, - { "boat_one_cm", CustomStatistic::BoatOneCm }, - { "clean_armor", CustomStatistic::CleanArmor }, - { "clean_banner", CustomStatistic::CleanBanner }, - { "clean_shulker_box", CustomStatistic::CleanShulkerBox }, - { "climb_one_cm", CustomStatistic::ClimbOneCm }, - { "crouch_one_cm", CustomStatistic::CrouchOneCm }, - { "damage_absorbed", CustomStatistic::DamageAbsorbed }, - { "damage_blocked_by_shield", CustomStatistic::DamageBlockedByShield }, - { "damage_dealt", CustomStatistic::DamageDealt }, - { "damage_dealt_absorbed", CustomStatistic::DamageDealtAbsorbed }, - { "damage_dealt_resisted", CustomStatistic::DamageDealtResisted }, - { "damage_resisted", CustomStatistic::DamageResisted }, - { "damage_taken", CustomStatistic::DamageTaken }, - { "deaths", CustomStatistic::Deaths }, - { "drop", CustomStatistic::Drop }, - { "eat_cake_slice", CustomStatistic::EatCakeSlice }, - { "enchant_item", CustomStatistic::EnchantItem }, - { "fall_one_cm", CustomStatistic::FallOneCm }, - { "fill_cauldron", CustomStatistic::FillCauldron }, - { "fish_caught", CustomStatistic::FishCaught }, - { "fly_one_cm", CustomStatistic::FlyOneCm }, - { "horse_one_cm", CustomStatistic::HorseOneCm }, - { "inspect_dispenser", CustomStatistic::InspectDispenser }, - { "inspect_dropper", CustomStatistic::InspectDropper }, - { "inspect_hopper", CustomStatistic::InspectHopper }, - { "interact_with_anvil", CustomStatistic::InteractWithAnvil }, - { "interact_with_beacon", CustomStatistic::InteractWithBeacon }, - { "interact_with_blast_furnace", CustomStatistic::InteractWithBlastFurnace }, - { "interact_with_brewingstand", CustomStatistic::InteractWithBrewingstand }, - { "interact_with_campfire", CustomStatistic::InteractWithCampfire }, - { "interact_with_cartography_table", CustomStatistic::InteractWithCartographyTable }, - { "interact_with_crafting_table", CustomStatistic::InteractWithCraftingTable }, - { "interact_with_furnace", CustomStatistic::InteractWithFurnace }, - { "interact_with_grindstone", CustomStatistic::InteractWithGrindstone }, - { "interact_with_lectern", CustomStatistic::InteractWithLectern }, - { "interact_with_loom", CustomStatistic::InteractWithLoom }, - { "interact_with_smithing_table", CustomStatistic::InteractWithSmithingTable }, - { "interact_with_smoker", CustomStatistic::InteractWithSmoker }, - { "interact_with_stonecutter", CustomStatistic::InteractWithStonecutter }, - { "jump", CustomStatistic::Jump }, - { "leave_game", CustomStatistic::LeaveGame }, - { "minecart_one_cm", CustomStatistic::MinecartOneCm }, - { "mob_kills", CustomStatistic::MobKills }, - { "open_barrel", CustomStatistic::OpenBarrel }, - { "open_chest", CustomStatistic::OpenChest }, - { "open_enderchest", CustomStatistic::OpenEnderchest }, - { "open_shulker_box", CustomStatistic::OpenShulkerBox }, - { "pig_one_cm", CustomStatistic::PigOneCm }, - { "play_noteblock", CustomStatistic::PlayNoteblock }, - { "play_one_minute", CustomStatistic::PlayOneMinute }, - { "play_record", CustomStatistic::PlayRecord }, - { "player_kills", CustomStatistic::PlayerKills }, - { "pot_flower", CustomStatistic::PotFlower }, - { "raid_trigger", CustomStatistic::RaidTrigger }, - { "raid_win", CustomStatistic::RaidWin }, - { "sleep_in_bed", CustomStatistic::SleepInBed }, - { "sneak_time", CustomStatistic::SneakTime }, - { "sprint_one_cm", CustomStatistic::SprintOneCm }, - { "strider_one_cm", CustomStatistic::StriderOneCm }, - { "swim_one_cm", CustomStatistic::SwimOneCm }, - { "talked_to_villager", CustomStatistic::TalkedToVillager }, - { "target_hit", CustomStatistic::TargetHit }, - { "time_since_death", CustomStatistic::TimeSinceDeath }, - { "time_since_rest", CustomStatistic::TimeSinceRest }, - { "traded_with_villager", CustomStatistic::TradedWithVillager }, - { "trigger_trapped_chest", CustomStatistic::TriggerTrappedChest }, - { "tune_noteblock", CustomStatistic::TuneNoteblock }, - { "use_cauldron", CustomStatistic::UseCauldron }, - { "walk_on_water_one_cm", CustomStatistic::WalkOnWaterOneCm }, - { "walk_one_cm", CustomStatistic::WalkOneCm }, - { "walk_under_water_one_cm", CustomStatistic::WalkUnderWaterOneCm }, + static const std::unordered_map CustomStatistics { + {"animals_bred", CustomStatistic::AnimalsBred}, + {"aviate_one_cm", CustomStatistic::AviateOneCm}, + {"bell_ring", CustomStatistic::BellRing}, + {"boat_one_cm", CustomStatistic::BoatOneCm}, + {"clean_armor", CustomStatistic::CleanArmor}, + {"clean_banner", CustomStatistic::CleanBanner}, + {"clean_shulker_box", CustomStatistic::CleanShulkerBox}, + {"climb_one_cm", CustomStatistic::ClimbOneCm}, + {"crouch_one_cm", CustomStatistic::CrouchOneCm}, + {"damage_absorbed", CustomStatistic::DamageAbsorbed}, + {"damage_blocked_by_shield", CustomStatistic::DamageBlockedByShield}, + {"damage_dealt", CustomStatistic::DamageDealt}, + {"damage_dealt_absorbed", CustomStatistic::DamageDealtAbsorbed}, + {"damage_dealt_resisted", CustomStatistic::DamageDealtResisted}, + {"damage_resisted", CustomStatistic::DamageResisted}, + {"damage_taken", CustomStatistic::DamageTaken}, + {"deaths", CustomStatistic::Deaths}, + {"drop", CustomStatistic::Drop}, + {"eat_cake_slice", CustomStatistic::EatCakeSlice}, + {"enchant_item", CustomStatistic::EnchantItem}, + {"fall_one_cm", CustomStatistic::FallOneCm}, + {"fill_cauldron", CustomStatistic::FillCauldron}, + {"fish_caught", CustomStatistic::FishCaught}, + {"fly_one_cm", CustomStatistic::FlyOneCm}, + {"horse_one_cm", CustomStatistic::HorseOneCm}, + {"inspect_dispenser", CustomStatistic::InspectDispenser}, + {"inspect_dropper", CustomStatistic::InspectDropper}, + {"inspect_hopper", CustomStatistic::InspectHopper}, + {"interact_with_anvil", CustomStatistic::InteractWithAnvil}, + {"interact_with_beacon", CustomStatistic::InteractWithBeacon}, + {"interact_with_blast_furnace", CustomStatistic::InteractWithBlastFurnace}, + {"interact_with_brewingstand", CustomStatistic::InteractWithBrewingstand}, + {"interact_with_campfire", CustomStatistic::InteractWithCampfire}, + {"interact_with_cartography_table", CustomStatistic::InteractWithCartographyTable}, + {"interact_with_crafting_table", CustomStatistic::InteractWithCraftingTable}, + {"interact_with_furnace", CustomStatistic::InteractWithFurnace}, + {"interact_with_grindstone", CustomStatistic::InteractWithGrindstone}, + {"interact_with_lectern", CustomStatistic::InteractWithLectern}, + {"interact_with_loom", CustomStatistic::InteractWithLoom}, + {"interact_with_smithing_table", CustomStatistic::InteractWithSmithingTable}, + {"interact_with_smoker", CustomStatistic::InteractWithSmoker}, + {"interact_with_stonecutter", CustomStatistic::InteractWithStonecutter}, + {"jump", CustomStatistic::Jump}, + {"leave_game", CustomStatistic::LeaveGame}, + {"minecart_one_cm", CustomStatistic::MinecartOneCm}, + {"mob_kills", CustomStatistic::MobKills}, + {"open_barrel", CustomStatistic::OpenBarrel}, + {"open_chest", CustomStatistic::OpenChest}, + {"open_enderchest", CustomStatistic::OpenEnderchest}, + {"open_shulker_box", CustomStatistic::OpenShulkerBox}, + {"pig_one_cm", CustomStatistic::PigOneCm}, + {"play_noteblock", CustomStatistic::PlayNoteblock}, + {"play_one_minute", CustomStatistic::PlayOneMinute}, + {"play_record", CustomStatistic::PlayRecord}, + {"player_kills", CustomStatistic::PlayerKills}, + {"pot_flower", CustomStatistic::PotFlower}, + {"raid_trigger", CustomStatistic::RaidTrigger}, + {"raid_win", CustomStatistic::RaidWin}, + {"sleep_in_bed", CustomStatistic::SleepInBed}, + {"sneak_time", CustomStatistic::SneakTime}, + {"sprint_one_cm", CustomStatistic::SprintOneCm}, + {"strider_one_cm", CustomStatistic::StriderOneCm}, + {"swim_one_cm", CustomStatistic::SwimOneCm}, + {"talked_to_villager", CustomStatistic::TalkedToVillager}, + {"target_hit", CustomStatistic::TargetHit}, + {"time_since_death", CustomStatistic::TimeSinceDeath}, + {"time_since_rest", CustomStatistic::TimeSinceRest}, + {"traded_with_villager", CustomStatistic::TradedWithVillager}, + {"trigger_trapped_chest", CustomStatistic::TriggerTrappedChest}, + {"tune_noteblock", CustomStatistic::TuneNoteblock}, + {"use_cauldron", CustomStatistic::UseCauldron}, + {"walk_on_water_one_cm", CustomStatistic::WalkOnWaterOneCm}, + {"walk_one_cm", CustomStatistic::WalkOneCm}, + {"walk_under_water_one_cm", CustomStatistic::WalkUnderWaterOneCm}, // Old ones just for compatibility - { "junk_fished", CustomStatistic::JunkFished }, - { "treasure_fished", CustomStatistic::TreasureFished }, + {"junk_fished", CustomStatistic::JunkFished}, + {"treasure_fished", CustomStatistic::TreasureFished}, // The old advancements - { "cuberite:achievement.openInventory", CustomStatistic::AchOpenInventory }, - { "cuberite:achievement.mineWood", CustomStatistic::AchMineWood }, - { "cuberite:achievement.buildWorkBench", CustomStatistic::AchBuildWorkBench }, - { "cuberite:achievement.buildPickaxe", CustomStatistic::AchBuildPickaxe }, - { "cuberite:achievement.buildFurnace", CustomStatistic::AchBuildFurnace }, - { "cuberite:achievement.acquireIron", CustomStatistic::AchAcquireIron }, - { "cuberite:achievement.buildHoe", CustomStatistic::AchBuildHoe }, - { "cuberite:achievement.makeBread", CustomStatistic::AchMakeBread }, - { "cuberite:achievement.bakeCake", CustomStatistic::AchBakeCake }, - { "cuberite:achievement.buildBetterPickaxe", CustomStatistic::AchBuildBetterPickaxe }, - { "cuberite:achievement.cookFish", CustomStatistic::AchCookFish }, - { "cuberite:achievement.onARail", CustomStatistic::AchOnARail }, - { "cuberite:achievement.buildSword", CustomStatistic::AchBuildSword }, - { "cuberite:achievement.killEnemy", CustomStatistic::AchKillEnemy }, - { "cuberite:achievement.killCow", CustomStatistic::AchKillCow }, - { "cuberite:achievement.flyPig", CustomStatistic::AchFlyPig }, - { "cuberite:achievement.snipeSkeleton", CustomStatistic::AchSnipeSkeleton }, - { "cuberite:achievement.diamonds", CustomStatistic::AchDiamonds }, - { "cuberite:achievement.portal", CustomStatistic::AchPortal }, - { "cuberite:achievement.ghast", CustomStatistic::AchGhast }, - { "cuberite:achievement.blazeRod", CustomStatistic::AchBlazeRod }, - { "cuberite:achievement.potion", CustomStatistic::AchPotion }, - { "cuberite:achievement.theEnd", CustomStatistic::AchTheEnd }, - { "cuberite:achievement.theEnd2", CustomStatistic::AchTheEnd2 }, - { "cuberite:achievement.enchantments", CustomStatistic::AchEnchantments }, - { "cuberite:achievement.overkill", CustomStatistic::AchOverkill }, - { "cuberite:achievement.bookcase", CustomStatistic::AchBookcase }, - { "cuberite:achievement.exploreAllBiomes", CustomStatistic::AchExploreAllBiomes }, - { "cuberite:achievement.spawnWither", CustomStatistic::AchSpawnWither }, - { "cuberite:achievement.killWither", CustomStatistic::AchKillWither }, - { "cuberite:achievement.fullBeacon", CustomStatistic::AchFullBeacon }, - { "cuberite:achievement.breedCow", CustomStatistic::AchBreedCow }, - { "cuberite:achievement.diamondsToYou", CustomStatistic::AchDiamondsToYou} + {"cuberite:achievement.openInventory", CustomStatistic::AchOpenInventory}, + {"cuberite:achievement.mineWood", CustomStatistic::AchMineWood}, + {"cuberite:achievement.buildWorkBench", CustomStatistic::AchBuildWorkBench}, + {"cuberite:achievement.buildPickaxe", CustomStatistic::AchBuildPickaxe}, + {"cuberite:achievement.buildFurnace", CustomStatistic::AchBuildFurnace}, + {"cuberite:achievement.acquireIron", CustomStatistic::AchAcquireIron}, + {"cuberite:achievement.buildHoe", CustomStatistic::AchBuildHoe}, + {"cuberite:achievement.makeBread", CustomStatistic::AchMakeBread}, + {"cuberite:achievement.bakeCake", CustomStatistic::AchBakeCake}, + {"cuberite:achievement.buildBetterPickaxe", CustomStatistic::AchBuildBetterPickaxe}, + {"cuberite:achievement.cookFish", CustomStatistic::AchCookFish}, + {"cuberite:achievement.onARail", CustomStatistic::AchOnARail}, + {"cuberite:achievement.buildSword", CustomStatistic::AchBuildSword}, + {"cuberite:achievement.killEnemy", CustomStatistic::AchKillEnemy}, + {"cuberite:achievement.killCow", CustomStatistic::AchKillCow}, + {"cuberite:achievement.flyPig", CustomStatistic::AchFlyPig}, + {"cuberite:achievement.snipeSkeleton", CustomStatistic::AchSnipeSkeleton}, + {"cuberite:achievement.diamonds", CustomStatistic::AchDiamonds}, + {"cuberite:achievement.portal", CustomStatistic::AchPortal}, + {"cuberite:achievement.ghast", CustomStatistic::AchGhast}, + {"cuberite:achievement.blazeRod", CustomStatistic::AchBlazeRod}, + {"cuberite:achievement.potion", CustomStatistic::AchPotion}, + {"cuberite:achievement.theEnd", CustomStatistic::AchTheEnd}, + {"cuberite:achievement.theEnd2", CustomStatistic::AchTheEnd2}, + {"cuberite:achievement.enchantments", CustomStatistic::AchEnchantments}, + {"cuberite:achievement.overkill", CustomStatistic::AchOverkill}, + {"cuberite:achievement.bookcase", CustomStatistic::AchBookcase}, + {"cuberite:achievement.exploreAllBiomes", CustomStatistic::AchExploreAllBiomes}, + {"cuberite:achievement.spawnWither", CustomStatistic::AchSpawnWither}, + {"cuberite:achievement.killWither", CustomStatistic::AchKillWither}, + {"cuberite:achievement.fullBeacon", CustomStatistic::AchFullBeacon}, + {"cuberite:achievement.breedCow", CustomStatistic::AchBreedCow}, + {"cuberite:achievement.diamondsToYou", CustomStatistic::AchDiamondsToYou} }; return CustomStatistics.at(ID); @@ -400,13 +399,15 @@ CustomStatistic NamespaceSerializer::ToCustomStatistic(const std::string_view ID -std::pair NamespaceSerializer::SplitNamespacedID(const std::string_view ID) +std::pair NamespaceSerializer::SplitNamespacedID( + const std::string_view ID +) { const auto NamespaceIndex = ID.find(':'); if (NamespaceIndex == std::string_view::npos) { // No explicit namespace defaults to the Minecraft namespace: - return { Namespace::Minecraft, ID }; + return {Namespace::Minecraft, ID}; } const auto Namespace = ID.substr(0, NamespaceIndex); @@ -415,15 +416,15 @@ std::pair NamespaceSerializer: // An unprefixed ID in the vanilla Minecraft namespace. const auto Value = ID.substr(NamespaceIndex + 1); - return { Namespace::Minecraft, Value }; + return {Namespace::Minecraft, Value}; } if (Namespace == "cuberite") { - return { Namespace::Cuberite, ID }; + return {Namespace::Cuberite, ID}; } - return { Namespace::Unknown, ID }; + return {Namespace::Unknown, ID}; } @@ -432,116 +433,115 @@ std::pair NamespaceSerializer: eMonsterType NamespaceSerializer::ToMonsterType(const std::string_view a_ID) { - static const std::unordered_map MonsterTypes - { - { "bat", mtBat }, - { "blaze", mtBlaze }, - { "cat", mtCat }, - { "cave_spider", mtCaveSpider }, - { "chicken", mtChicken }, - { "cod", mtCod }, - { "cow", mtCow }, - { "creeper", mtCreeper }, - { "dolphin", mtDolphin }, - { "donkey", mtDonkey }, - { "drowned", mtDrowned }, - { "elder_guardian", mtElderGuardian }, - { "ender_dragon", mtEnderDragon }, - { "enderman", mtEnderman }, - { "endermite", mtEndermite }, - { "evoker", mtEvoker }, - { "fox", mtFox }, - { "ghast", mtGhast }, - { "giant", mtGiant }, - { "guardian", mtGuardian }, - { "horse", mtHorse }, - { "hoglin", mtHoglin }, - { "husk", mtHusk }, - { "illusioner", mtIllusioner }, - { "iron_golem", mtIronGolem }, - { "llama", mtLlama }, - { "magma_cube", mtMagmaCube }, - { "mooshroom", mtMooshroom }, - { "mule", mtMule }, - { "ocelot", mtOcelot }, - { "panda", mtPanda }, - { "parrot", mtParrot }, - { "phantom", mtPhantom }, - { "pig", mtPig }, - { "piglin", mtPiglin }, - { "piglin_brute", mtPiglinBrute }, - { "pillager", mtPillager }, - { "polar_bear", mtPolarBear }, - { "pufferfish", mtPufferfish }, - { "rabbit", mtRabbit }, - { "ravager", mtRavager }, - { "salmon", mtSalmon }, - { "sheep", mtSheep }, - { "shulker", mtShulker }, - { "silverfish", mtSilverfish }, - { "skeleton", mtSkeleton }, - { "skeleton_horse", mtSkeletonHorse }, - { "slime", mtSlime }, - { "snow_golem", mtSnowGolem }, - { "spider", mtSpider }, - { "squid", mtSquid }, - { "stray", mtStray }, - { "strider", mtStrider }, - { "trader_llama", mtTraderLlama }, - { "tropical_fish", mtTropicalFish }, - { "turtle", mtTurtle }, - { "vex", mtVex }, - { "villager", mtVillager }, - { "vindicator", mtVindicator }, - { "wandering_trader", mtWanderingTrader }, - { "witch", mtWitch }, - { "wither", mtWither }, - { "wither_skeleton", mtWitherSkeleton }, - { "wolf", mtWolf }, - { "zoglin", mtZoglin }, - { "zombie", mtZombie }, - { "zombie_horse", mtZombieHorse }, - { "zombified_piglin", mtZombiePigman }, - { "zombie_villager", mtZombieVillager }, - - { "snowman", mtSnowGolem }, - { "villager_golem", mtIronGolem }, - { "zombie_pigman", mtZombiePigman }, + static const std::unordered_map MonsterTypes { + {"bat", mtBat}, + {"blaze", mtBlaze}, + {"cat", mtCat}, + {"cave_spider", mtCaveSpider}, + {"chicken", mtChicken}, + {"cod", mtCod}, + {"cow", mtCow}, + {"creeper", mtCreeper}, + {"dolphin", mtDolphin}, + {"donkey", mtDonkey}, + {"drowned", mtDrowned}, + {"elder_guardian", mtElderGuardian}, + {"ender_dragon", mtEnderDragon}, + {"enderman", mtEnderman}, + {"endermite", mtEndermite}, + {"evoker", mtEvoker}, + {"fox", mtFox}, + {"ghast", mtGhast}, + {"giant", mtGiant}, + {"guardian", mtGuardian}, + {"horse", mtHorse}, + {"hoglin", mtHoglin}, + {"husk", mtHusk}, + {"illusioner", mtIllusioner}, + {"iron_golem", mtIronGolem}, + {"llama", mtLlama}, + {"magma_cube", mtMagmaCube}, + {"mooshroom", mtMooshroom}, + {"mule", mtMule}, + {"ocelot", mtOcelot}, + {"panda", mtPanda}, + {"parrot", mtParrot}, + {"phantom", mtPhantom}, + {"pig", mtPig}, + {"piglin", mtPiglin}, + {"piglin_brute", mtPiglinBrute}, + {"pillager", mtPillager}, + {"polar_bear", mtPolarBear}, + {"pufferfish", mtPufferfish}, + {"rabbit", mtRabbit}, + {"ravager", mtRavager}, + {"salmon", mtSalmon}, + {"sheep", mtSheep}, + {"shulker", mtShulker}, + {"silverfish", mtSilverfish}, + {"skeleton", mtSkeleton}, + {"skeleton_horse", mtSkeletonHorse}, + {"slime", mtSlime}, + {"snow_golem", mtSnowGolem}, + {"spider", mtSpider}, + {"squid", mtSquid}, + {"stray", mtStray}, + {"strider", mtStrider}, + {"trader_llama", mtTraderLlama}, + {"tropical_fish", mtTropicalFish}, + {"turtle", mtTurtle}, + {"vex", mtVex}, + {"villager", mtVillager}, + {"vindicator", mtVindicator}, + {"wandering_trader", mtWanderingTrader}, + {"witch", mtWitch}, + {"wither", mtWither}, + {"wither_skeleton", mtWitherSkeleton}, + {"wolf", mtWolf}, + {"zoglin", mtZoglin}, + {"zombie", mtZombie}, + {"zombie_horse", mtZombieHorse}, + {"zombified_piglin", mtZombiePigman}, + {"zombie_villager", mtZombieVillager}, + + {"snowman", mtSnowGolem}, + {"villager_golem", mtIronGolem}, + {"zombie_pigman", mtZombiePigman}, // Old names: - { "Bat", mtBat }, - { "Blaze", mtBlaze }, - { "CaveSpider", mtCaveSpider }, - { "Chicken", mtChicken }, - { "Cow", mtCow }, - { "Creeper", mtCreeper }, - { "EnderDragon", mtEnderDragon }, - { "Enderman", mtEnderman }, - { "Ghast", mtGhast }, - { "Giant", mtGiant }, - { "Guardian", mtGuardian }, - { "Horse", mtHorse }, - { "VillagerGolem", mtIronGolem }, - { "LavaSlime", mtMagmaCube }, - { "MushroomCow", mtMooshroom }, - { "Ozelot", mtOcelot }, - { "Pig", mtPig }, - { "Rabbit", mtRabbit }, - { "Sheep", mtSheep }, - { "Silverfish", mtSilverfish }, - { "Skeleton", mtSkeleton }, - { "Slime", mtSlime }, - { "SnowMan", mtSnowGolem }, - { "Spider", mtSpider }, - { "Squid", mtSquid }, - { "Villager", mtVillager }, - { "Witch", mtWitch }, - { "WitherBoss", mtWither }, - { "WitherSkeleton", mtWitherSkeleton }, - { "Wolf", mtWolf }, - { "Zombie", mtZombie }, - { "PigZombie", mtZombiePigman }, - { "ZombieVillager", mtZombieVillager } + {"Bat", mtBat}, + {"Blaze", mtBlaze}, + {"CaveSpider", mtCaveSpider}, + {"Chicken", mtChicken}, + {"Cow", mtCow}, + {"Creeper", mtCreeper}, + {"EnderDragon", mtEnderDragon}, + {"Enderman", mtEnderman}, + {"Ghast", mtGhast}, + {"Giant", mtGiant}, + {"Guardian", mtGuardian}, + {"Horse", mtHorse}, + {"VillagerGolem", mtIronGolem}, + {"LavaSlime", mtMagmaCube}, + {"MushroomCow", mtMooshroom}, + {"Ozelot", mtOcelot}, + {"Pig", mtPig}, + {"Rabbit", mtRabbit}, + {"Sheep", mtSheep}, + {"Silverfish", mtSilverfish}, + {"Skeleton", mtSkeleton}, + {"Slime", mtSlime}, + {"SnowMan", mtSnowGolem}, + {"Spider", mtSpider}, + {"Squid", mtSquid}, + {"Villager", mtVillager}, + {"Witch", mtWitch}, + {"WitherBoss", mtWither}, + {"WitherSkeleton", mtWitherSkeleton}, + {"Wolf", mtWolf}, + {"Zombie", mtZombie}, + {"PigZombie", mtZombiePigman}, + {"ZombieVillager", mtZombieVillager} }; return MonsterTypes.at(a_ID); @@ -555,19 +555,23 @@ AString NamespaceSerializer::Prettify(AString a_ID) { bool NextLetterCapitalized = true; - std::for_each(a_ID.begin(), a_ID.end(), [&](char & a_Letter) - { - if (NextLetterCapitalized) - { - a_Letter = static_cast(std::toupper(a_Letter)); - NextLetterCapitalized = false; - } - else if (a_Letter == '_') + std::for_each( + a_ID.begin(), + a_ID.end(), + [&](char & a_Letter) { - a_Letter = ' '; - NextLetterCapitalized = true; + if (NextLetterCapitalized) + { + a_Letter = static_cast(std::toupper(a_Letter)); + NextLetterCapitalized = false; + } + else if (a_Letter == '_') + { + a_Letter = ' '; + NextLetterCapitalized = true; + } } - }); + ); return a_ID; } diff --git a/src/WorldStorage/NamespaceSerializer.h b/src/WorldStorage/NamespaceSerializer.h index 625d348be..82d04c14d 100644 --- a/src/WorldStorage/NamespaceSerializer.h +++ b/src/WorldStorage/NamespaceSerializer.h @@ -6,25 +6,25 @@ namespace NamespaceSerializer { - enum class Namespace - { - Minecraft, - Cuberite, - Unknown - }; +enum class Namespace +{ + Minecraft, + Cuberite, + Unknown +}; - unsigned DataVersion(); +unsigned DataVersion(); - std::string_view From(CustomStatistic a_ID); - std::string_view From(eMonsterType a_ID); - std::string_view From(BannerPattern a_ID); +std::string_view From(CustomStatistic a_ID); +std::string_view From(eMonsterType a_ID); +std::string_view From(BannerPattern a_ID); - CustomStatistic ToCustomStatistic(std::string_view a_ID); - eMonsterType ToMonsterType(std::string_view a_ID); +CustomStatistic ToCustomStatistic(std::string_view a_ID); +eMonsterType ToMonsterType(std::string_view a_ID); - std::pair SplitNamespacedID(std::string_view ID); +std::pair SplitNamespacedID(std::string_view ID); - // Examples: Input: "wolf" -> Output: "Wolf", Input: "iron_golem" -> Output: "Iron Golem" - AString Prettify(AString a_ID); - AString PrettifyEntityName(const AString & a_ID, const bool a_IsTamed = false); -} +// Examples: Input: "wolf" -> Output: "Wolf", Input: "iron_golem" -> Output: "Iron Golem" +AString Prettify(AString a_ID); +AString PrettifyEntityName(const AString & a_ID, const bool a_IsTamed = false); +} // namespace NamespaceSerializer diff --git a/src/WorldStorage/SchematicFileSerializer.cpp b/src/WorldStorage/SchematicFileSerializer.cpp index 656a98709..d808bb53e 100644 --- a/src/WorldStorage/SchematicFileSerializer.cpp +++ b/src/WorldStorage/SchematicFileSerializer.cpp @@ -1,7 +1,8 @@ // SchematicFileSerializer.cpp -// Implements the cSchematicFileSerializer class representing the interface to load and save cBlockArea to a .schematic file +// Implements the cSchematicFileSerializer class representing the interface to load and save cBlockArea to a .schematic +// file #include "Globals.h" @@ -33,7 +34,10 @@ void cSchematicFileSerializer::LoadFromSchematicFile(cBlockArea & a_BlockArea, c -void cSchematicFileSerializer::LoadFromSchematicString(cBlockArea & a_BlockArea, const ContiguousByteBufferView a_SchematicData) +void cSchematicFileSerializer::LoadFromSchematicString( + cBlockArea & a_BlockArea, + const ContiguousByteBufferView a_SchematicData +) { const auto Extracted = Compression::Extractor().ExtractGZip(a_SchematicData); const cParsedNBT NBT(Extracted.GetView()); @@ -76,22 +80,23 @@ void cSchematicFileSerializer::LoadFromSchematicNBT(cBlockArea & a_BlockArea, co AString Materials = a_NBT.GetString(TMaterials); if (Materials.compare("Alpha") != 0) { - throw std::runtime_error(fmt::format("Materials tag is present and \"{}\" instead of \"Alpha\". Possibly a wrong-format schematic file.", Materials)); + throw std::runtime_error(fmt::format( + "Materials tag is present and \"{}\" instead of \"Alpha\". Possibly a wrong-format schematic file.", + Materials + )); } } int TSizeX = a_NBT.FindChildByName(a_NBT.GetRoot(), "Width"); int TSizeY = a_NBT.FindChildByName(a_NBT.GetRoot(), "Height"); int TSizeZ = a_NBT.FindChildByName(a_NBT.GetRoot(), "Length"); - if ( - (TSizeX < 0) || (TSizeY < 0) || (TSizeZ < 0) || - (a_NBT.GetType(TSizeX) != TAG_Short) || - (a_NBT.GetType(TSizeY) != TAG_Short) || - (a_NBT.GetType(TSizeZ) != TAG_Short) - ) + if ((TSizeX < 0) || (TSizeY < 0) || (TSizeZ < 0) || (a_NBT.GetType(TSizeX) != TAG_Short) || + (a_NBT.GetType(TSizeY) != TAG_Short) || (a_NBT.GetType(TSizeZ) != TAG_Short)) { throw std::runtime_error(fmt::format( "Dimensions are missing from the schematic file ({}, {}, {}), ({}, {}, {})", - TSizeX, TSizeY, TSizeZ, + TSizeX, + TSizeY, + TSizeZ, (TSizeX >= 0) ? a_NBT.GetType(TSizeX) : -1, (TSizeY >= 0) ? a_NBT.GetType(TSizeY) : -1, (TSizeZ >= 0) ? a_NBT.GetType(TSizeZ) : -1 @@ -103,7 +108,9 @@ void cSchematicFileSerializer::LoadFromSchematicNBT(cBlockArea & a_BlockArea, co int SizeZ = a_NBT.GetShort(TSizeZ); if ((SizeX < 1) || (SizeX > 65535) || (SizeY < 1) || (SizeY > 65535) || (SizeZ < 1) || (SizeZ > 65535)) { - throw std::runtime_error(fmt::format("Dimensions are invalid in the schematic file: {}, {}, {}", SizeX, SizeY, SizeZ)); + throw std::runtime_error( + fmt::format("Dimensions are invalid in the schematic file: {}, {}, {}", SizeX, SizeY, SizeZ) + ); } int TBlockTypes = a_NBT.FindChildByName(a_NBT.GetRoot(), "Blocks"); @@ -115,18 +122,19 @@ void cSchematicFileSerializer::LoadFromSchematicNBT(cBlockArea & a_BlockArea, co bool AreMetasPresent = (TBlockMetas > 0) && (a_NBT.GetType(TBlockMetas) == TAG_ByteArray); a_BlockArea.Clear(); - a_BlockArea.SetSize(SizeX, SizeY, SizeZ, AreMetasPresent ? (cBlockArea::baTypes | cBlockArea::baMetas) : cBlockArea::baTypes); + a_BlockArea.SetSize( + SizeX, + SizeY, + SizeZ, + AreMetasPresent ? (cBlockArea::baTypes | cBlockArea::baMetas) : cBlockArea::baTypes + ); int TOffsetX = a_NBT.FindChildByName(a_NBT.GetRoot(), "WEOffsetX"); int TOffsetY = a_NBT.FindChildByName(a_NBT.GetRoot(), "WEOffsetY"); int TOffsetZ = a_NBT.FindChildByName(a_NBT.GetRoot(), "WEOffsetZ"); - if ( - (TOffsetX < 0) || (TOffsetY < 0) || (TOffsetZ < 0) || - (a_NBT.GetType(TOffsetX) != TAG_Int) || - (a_NBT.GetType(TOffsetY) != TAG_Int) || - (a_NBT.GetType(TOffsetZ) != TAG_Int) - ) + if ((TOffsetX < 0) || (TOffsetY < 0) || (TOffsetZ < 0) || (a_NBT.GetType(TOffsetX) != TAG_Int) || + (a_NBT.GetType(TOffsetY) != TAG_Int) || (a_NBT.GetType(TOffsetZ) != TAG_Int)) { // Not every schematic file has an offset, so we shoudn't give a warn message. a_BlockArea.SetWEOffset(0, 0, 0); @@ -141,8 +149,8 @@ void cSchematicFileSerializer::LoadFromSchematicNBT(cBlockArea & a_BlockArea, co if (a_NBT.GetDataLength(TBlockTypes) < NumTypeBytes) { LOG("BlockTypes truncated in the schematic file (exp %u, got %u bytes). Loading partial.", - static_cast(NumTypeBytes), static_cast(a_NBT.GetDataLength(TBlockTypes)) - ); + static_cast(NumTypeBytes), + static_cast(a_NBT.GetDataLength(TBlockTypes))); NumTypeBytes = a_NBT.GetDataLength(TBlockTypes); } memcpy(a_BlockArea.GetBlockTypes(), a_NBT.GetData(TBlockTypes), NumTypeBytes); @@ -153,8 +161,8 @@ void cSchematicFileSerializer::LoadFromSchematicNBT(cBlockArea & a_BlockArea, co if (a_NBT.GetDataLength(TBlockMetas) < NumMetaBytes) { LOG("BlockMetas truncated in the schematic file (exp %u, got %u bytes). Loading partial.", - static_cast(NumMetaBytes), static_cast(a_NBT.GetDataLength(TBlockMetas)) - ); + static_cast(NumMetaBytes), + static_cast(a_NBT.GetDataLength(TBlockMetas))); NumMetaBytes = a_NBT.GetDataLength(TBlockMetas); } memcpy(a_BlockArea.GetBlockMetas(), a_NBT.GetData(TBlockMetas), NumMetaBytes); @@ -168,13 +176,17 @@ void cSchematicFileSerializer::LoadFromSchematicNBT(cBlockArea & a_BlockArea, co ContiguousByteBuffer cSchematicFileSerializer::SaveToSchematicNBT(const cBlockArea & a_BlockArea) { cFastNBTWriter Writer("Schematic"); - Writer.AddShort("Width", static_cast(a_BlockArea.m_Size.x)); + Writer.AddShort("Width", static_cast(a_BlockArea.m_Size.x)); Writer.AddShort("Height", static_cast(a_BlockArea.m_Size.y)); Writer.AddShort("Length", static_cast(a_BlockArea.m_Size.z)); Writer.AddString("Materials", "Alpha"); if (a_BlockArea.HasBlockTypes()) { - Writer.AddByteArray("Blocks", reinterpret_cast(a_BlockArea.GetBlockTypes()), a_BlockArea.GetBlockCount()); + Writer.AddByteArray( + "Blocks", + reinterpret_cast(a_BlockArea.GetBlockTypes()), + a_BlockArea.GetBlockCount() + ); } else { @@ -183,7 +195,11 @@ ContiguousByteBuffer cSchematicFileSerializer::SaveToSchematicNBT(const cBlockAr } if (a_BlockArea.HasBlockMetas()) { - Writer.AddByteArray("Data", reinterpret_cast(a_BlockArea.GetBlockMetas()), a_BlockArea.GetBlockCount()); + Writer.AddByteArray( + "Data", + reinterpret_cast(a_BlockArea.GetBlockMetas()), + a_BlockArea.GetBlockCount() + ); } else { diff --git a/src/WorldStorage/SchematicFileSerializer.h b/src/WorldStorage/SchematicFileSerializer.h index d52f80da1..c8510ba6b 100644 --- a/src/WorldStorage/SchematicFileSerializer.h +++ b/src/WorldStorage/SchematicFileSerializer.h @@ -1,7 +1,8 @@ // SchematicFileSerializer.h -// Declares the cSchematicFileSerializer class representing the interface to load and save cBlockArea to a .schematic file +// Declares the cSchematicFileSerializer class representing the interface to load and save cBlockArea to a .schematic +// file @@ -25,8 +26,7 @@ class cParsedNBT; class cSchematicFileSerializer { -public: - + public: /** Loads an area from a .schematic file. */ static void LoadFromSchematicFile(cBlockArea & a_BlockArea, const std::string & a_FileName); @@ -39,8 +39,7 @@ public: /** Saves the area into a string containing the .schematic file data. */ static Compression::Result SaveToSchematicString(const cBlockArea & a_BlockArea); -private: - + private: /** Loads the area from a schematic file uncompressed and parsed into a NBT tree. */ static void LoadFromSchematicNBT(cBlockArea & a_BlockArea, const cParsedNBT & a_NBT); diff --git a/src/WorldStorage/ScoreboardSerializer.cpp b/src/WorldStorage/ScoreboardSerializer.cpp index e6e639bcb..c2084ba63 100644 --- a/src/WorldStorage/ScoreboardSerializer.cpp +++ b/src/WorldStorage/ScoreboardSerializer.cpp @@ -13,7 +13,7 @@ -cScoreboardSerializer::cScoreboardSerializer(const AString & a_WorldName, cScoreboard * a_ScoreBoard): +cScoreboardSerializer::cScoreboardSerializer(const AString & a_WorldName, cScoreboard * a_ScoreBoard) : m_ScoreBoard(a_ScoreBoard) { auto DataPath = fmt::format(FMT_STRING("{}{}data"), a_WorldName, cFile::PathSeparator()); @@ -77,7 +77,9 @@ void cScoreboardSerializer::SaveScoreboardToNBT(cFastNBTWriter & a_Writer) a_Writer.BeginList("Objectives", TAG_Compound); - for (cScoreboard::cObjectiveMap::const_iterator it = m_ScoreBoard->m_Objectives.begin(); it != m_ScoreBoard->m_Objectives.end(); ++it) + for (cScoreboard::cObjectiveMap::const_iterator it = m_ScoreBoard->m_Objectives.begin(); + it != m_ScoreBoard->m_Objectives.end(); + ++it) { const cObjective & Objective = it->second; @@ -95,11 +97,14 @@ void cScoreboardSerializer::SaveScoreboardToNBT(cFastNBTWriter & a_Writer) a_Writer.BeginList("PlayerScores", TAG_Compound); - for (cScoreboard::cObjectiveMap::const_iterator it = m_ScoreBoard->m_Objectives.begin(); it != m_ScoreBoard->m_Objectives.end(); ++it) + for (cScoreboard::cObjectiveMap::const_iterator it = m_ScoreBoard->m_Objectives.begin(); + it != m_ScoreBoard->m_Objectives.end(); + ++it) { const cObjective & Objective = it->second; - for (cObjective::cScoreMap::const_iterator it2 = Objective.m_Scores.begin(); it2 != Objective.m_Scores.end(); ++it2) + for (cObjective::cScoreMap::const_iterator it2 = Objective.m_Scores.begin(); it2 != Objective.m_Scores.end(); + ++it2) { a_Writer.BeginCompound(""); @@ -116,13 +121,14 @@ void cScoreboardSerializer::SaveScoreboardToNBT(cFastNBTWriter & a_Writer) a_Writer.BeginList("Teams", TAG_Compound); - for (cScoreboard::cTeamMap::const_iterator it = m_ScoreBoard->m_Teams.begin(); it != m_ScoreBoard->m_Teams.end(); ++it) + for (cScoreboard::cTeamMap::const_iterator it = m_ScoreBoard->m_Teams.begin(); it != m_ScoreBoard->m_Teams.end(); + ++it) { const cTeam & Team = it->second; a_Writer.BeginCompound(""); - a_Writer.AddByte("AllowFriendlyFire", Team.AllowsFriendlyFire() ? 1 : 0); + a_Writer.AddByte("AllowFriendlyFire", Team.AllowsFriendlyFire() ? 1 : 0); a_Writer.AddByte("SeeFriendlyInvisibles", Team.CanSeeFriendlyInvisible() ? 1 : 0); a_Writer.AddString("DisplayName", Team.GetDisplayName()); @@ -341,11 +347,3 @@ bool cScoreboardSerializer::LoadScoreboardFromNBT(const cParsedNBT & a_NBT) return true; } - - - - - - - - diff --git a/src/WorldStorage/ScoreboardSerializer.h b/src/WorldStorage/ScoreboardSerializer.h index 8b3a2c8b6..c68d26c38 100644 --- a/src/WorldStorage/ScoreboardSerializer.h +++ b/src/WorldStorage/ScoreboardSerializer.h @@ -23,8 +23,7 @@ class cScoreboard; class cScoreboardSerializer { -public: - + public: cScoreboardSerializer(const AString & a_WorldName, cScoreboard * a_ScoreBoard); /** Try to load the scoreboard */ @@ -34,8 +33,7 @@ public: bool Save(void); -private: - + private: void SaveScoreboardToNBT(cFastNBTWriter & a_Writer); bool LoadScoreboardFromNBT(const cParsedNBT & a_NBT); @@ -43,10 +41,4 @@ private: cScoreboard * m_ScoreBoard; AString m_Path; - - -} ; - - - - +}; diff --git a/src/WorldStorage/StatisticsSerializer.cpp b/src/WorldStorage/StatisticsSerializer.cpp index 5143e174d..2e68188a2 100644 --- a/src/WorldStorage/StatisticsSerializer.cpp +++ b/src/WorldStorage/StatisticsSerializer.cpp @@ -83,7 +83,11 @@ void StatisticsSerializer::Load(StatisticsManager & Manager, const std::string & -void StatisticsSerializer::Save(const StatisticsManager & Manager, const std::string & WorldPath, std::string && FileName) +void StatisticsSerializer::Save( + const StatisticsManager & Manager, + const std::string & WorldPath, + std::string && FileName +) { Json::Value Root; diff --git a/src/WorldStorage/StatisticsSerializer.h b/src/WorldStorage/StatisticsSerializer.h index 1ccc55dbd..5d6c50b83 100644 --- a/src/WorldStorage/StatisticsSerializer.h +++ b/src/WorldStorage/StatisticsSerializer.h @@ -14,7 +14,10 @@ struct StatisticsManager; -namespace Json { class Value; } +namespace Json +{ +class Value; +} @@ -22,9 +25,9 @@ namespace Json { class Value; } namespace StatisticsSerializer { - /* Try to load the player statistics. */ - void Load(StatisticsManager & Manager, const std::string & WorldPath, std::string && FileName); +/* Try to load the player statistics. */ +void Load(StatisticsManager & Manager, const std::string & WorldPath, std::string && FileName); - /* Try to save the player statistics. */ - void Save(const StatisticsManager & Manager, const std::string & WorldPath, std::string && FileName); -} +/* Try to save the player statistics. */ +void Save(const StatisticsManager & Manager, const std::string & WorldPath, std::string && FileName); +} // namespace StatisticsSerializer diff --git a/src/WorldStorage/WSSAnvil.cpp b/src/WorldStorage/WSSAnvil.cpp index 6b425c4dc..a45321a3f 100644 --- a/src/WorldStorage/WSSAnvil.cpp +++ b/src/WorldStorage/WSSAnvil.cpp @@ -80,9 +80,8 @@ Since only the header is actually in the memory, this number can be high, but st //////////////////////////////////////////////////////////////////////////////// // cWSSAnvil: -cWSSAnvil::cWSSAnvil(cWorld * a_World, int a_CompressionFactor): - Super(a_World), - m_Compressor(a_CompressionFactor) +cWSSAnvil::cWSSAnvil(cWorld * a_World, int a_CompressionFactor) : + Super(a_World), m_Compressor(a_CompressionFactor) { // Create a level.dat file for mapping tools, if it doesn't already exist: auto fnam = fmt::format(FMT_STRING("{}{}level.dat"), a_World->GetDataPath(), cFile::PathSeparator()); @@ -170,30 +169,48 @@ bool cWSSAnvil::SaveChunk(const cChunkCoords & a_Chunk) -void cWSSAnvil::ChunkLoadFailed(const cChunkCoords a_ChunkCoords, const AString & a_Reason, const ContiguousByteBufferView a_ChunkDataToSave) +void cWSSAnvil::ChunkLoadFailed( + const cChunkCoords a_ChunkCoords, + const AString & a_Reason, + const ContiguousByteBufferView a_ChunkDataToSave +) { // Construct the filename for offloading: - auto OffloadFileName = fmt::format(FMT_STRING("{0}{1}region{1}badchunks"), m_World->GetDataPath(), cFile::PathSeparator()); + auto OffloadFileName = + fmt::format(FMT_STRING("{0}{1}region{1}badchunks"), m_World->GetDataPath(), cFile::PathSeparator()); cFile::CreateFolder(OffloadFileName); auto t = time(nullptr); struct tm stm; - #ifdef _MSC_VER - localtime_s(&stm, &t); - #else - localtime_r(&t, &stm); - #endif +#ifdef _MSC_VER + localtime_s(&stm, &t); +#else + localtime_r(&t, &stm); +#endif OffloadFileName.append(fmt::format( FMT_STRING("{}ch.{}.{}.{}-{:02d}-{:02d}-{:02d}-{:02d}-{:02d}.dat"), - cFile::PathSeparator(), a_ChunkCoords.m_ChunkX, a_ChunkCoords.m_ChunkZ, - stm.tm_year + 1900, stm.tm_mon + 1, stm.tm_mday, stm.tm_hour, stm.tm_min, stm.tm_sec + cFile::PathSeparator(), + a_ChunkCoords.m_ChunkX, + a_ChunkCoords.m_ChunkZ, + stm.tm_year + 1900, + stm.tm_mon + 1, + stm.tm_mday, + stm.tm_hour, + stm.tm_min, + stm.tm_sec )); // Log the warning to console: const int RegionX = FAST_FLOOR_DIV(a_ChunkCoords.m_ChunkX, 32); const int RegionZ = FAST_FLOOR_DIV(a_ChunkCoords.m_ChunkZ, 32); auto Info = fmt::format( - FMT_STRING("Loading chunk {} for world {} from file r.{}.{}.mca failed: {} Offloading old chunk data to file {} and regenerating chunk."), - a_ChunkCoords, m_World->GetName(), RegionX, RegionZ, a_Reason, OffloadFileName + FMT_STRING("Loading chunk {} for world {} from file r.{}.{}.mca failed: {} Offloading old chunk data to file " + "{} and regenerating chunk."), + a_ChunkCoords, + m_World->GetName(), + RegionX, + RegionZ, + a_Reason, + OffloadFileName ); LOGWARNING("%s", Info); @@ -210,7 +227,10 @@ void cWSSAnvil::ChunkLoadFailed(const cChunkCoords a_ChunkCoords, const AString // Write a description file: if (!f.Open(OffloadFileName + ".info", cFile::fmWrite)) { - LOGWARNING("Cannot open file %s.info for writing! The information about the failed chunk will not be written.", OffloadFileName); + LOGWARNING( + "Cannot open file %s.info for writing! The information about the failed chunk will not be written.", + OffloadFileName + ); return; } f.Write(Info.c_str(), Info.size()); @@ -312,7 +332,9 @@ bool cWSSAnvil::LoadChunkFromData(const cChunkCoords & a_Chunk, const Contiguous if (!NBT.IsValid()) { // NBT Parsing failed: - throw std::runtime_error(fmt::format("NBT parsing failed. {} at position {}.", NBT.GetErrorCode().message(), NBT.GetErrorPos())); + throw std::runtime_error( + fmt::format("NBT parsing failed. {} at position {}.", NBT.GetErrorCode().message(), NBT.GetErrorPos()) + ); } // Load the data from NBT: @@ -342,7 +364,11 @@ Compression::Result cWSSAnvil::SaveChunkToData(const cChunkCoords & a_Chunk) -bool cWSSAnvil::LoadChunkFromNBT(const cChunkCoords & a_Chunk, const cParsedNBT & a_NBT, const ContiguousByteBufferView a_RawChunkData) +bool cWSSAnvil::LoadChunkFromNBT( + const cChunkCoords & a_Chunk, + const cParsedNBT & a_NBT, + const ContiguousByteBufferView a_RawChunkData +) { struct SetChunkData Data(a_Chunk); @@ -383,15 +409,22 @@ bool cWSSAnvil::LoadChunkFromNBT(const cChunkCoords & a_Chunk, const cParsedNBT return false; } - const auto - BlockData = GetSectionData(a_NBT, Child, "Blocks", ChunkBlockData::SectionBlockCount), - MetaData = GetSectionData(a_NBT, Child, "Data", ChunkBlockData::SectionMetaCount), - BlockLightData = GetSectionData(a_NBT, Child, "BlockLight", ChunkLightData::SectionLightCount), - SkyLightData = GetSectionData(a_NBT, Child, "SkyLight", ChunkLightData::SectionLightCount); + const auto BlockData = GetSectionData(a_NBT, Child, "Blocks", ChunkBlockData::SectionBlockCount), + MetaData = GetSectionData(a_NBT, Child, "Data", ChunkBlockData::SectionMetaCount), + BlockLightData = GetSectionData(a_NBT, Child, "BlockLight", ChunkLightData::SectionLightCount), + SkyLightData = GetSectionData(a_NBT, Child, "SkyLight", ChunkLightData::SectionLightCount); if ((BlockData != nullptr) && (MetaData != nullptr) && (SkyLightData != nullptr) && (BlockLightData != nullptr)) { - Data.BlockData.SetSection(*reinterpret_cast(BlockData), *reinterpret_cast(MetaData), static_cast(Y)); - Data.LightData.SetSection(*reinterpret_cast(BlockLightData), *reinterpret_cast(SkyLightData), static_cast(Y)); + Data.BlockData.SetSection( + *reinterpret_cast(BlockData), + *reinterpret_cast(MetaData), + static_cast(Y) + ); + Data.LightData.SetSection( + *reinterpret_cast(BlockLightData), + *reinterpret_cast(SkyLightData), + static_cast(Y) + ); } else { @@ -414,7 +447,7 @@ bool cWSSAnvil::LoadChunkFromNBT(const cChunkCoords & a_Chunk, const cParsedNBT } // Load the entities from NBT: - LoadEntitiesFromNBT (Data.Entities, a_NBT, a_NBT.FindChildByName(Level, "Entities")); + LoadEntitiesFromNBT(Data.Entities, a_NBT, a_NBT.FindChildByName(Level, "Entities")); LoadBlockEntitiesFromNBT(Data.BlockEntities, a_NBT, a_NBT.FindChildByName(Level, "TileEntities"), Data.BlockData); Data.IsLightValid = (a_NBT.FindChildByName(Level, "MCSIsLightValid") > 0); @@ -465,11 +498,8 @@ bool cWSSAnvil::LoadChunkFromNBT(const cChunkCoords & a_Chunk, const cParsedNBT bool cWSSAnvil::LoadBiomeMapFromNBT(cChunkDef::BiomeMap & a_BiomeMap, const cParsedNBT & a_NBT, const int a_TagIdx) { - if ( - (a_TagIdx < 0) || - (a_NBT.GetType(a_TagIdx) != TAG_ByteArray) || - (a_NBT.GetDataLength(a_TagIdx) != std::size(a_BiomeMap)) - ) + if ((a_TagIdx < 0) || (a_NBT.GetType(a_TagIdx) != TAG_ByteArray) || + (a_NBT.GetDataLength(a_TagIdx) != std::size(a_BiomeMap))) { return false; } @@ -495,11 +525,8 @@ bool cWSSAnvil::LoadBiomeMapFromNBT(cChunkDef::BiomeMap & a_BiomeMap, const cPar bool cWSSAnvil::LoadHeightMapFromNBT(cChunkDef::HeightMap & a_HeightMap, const cParsedNBT & a_NBT, const int a_TagIdx) { - if ( - (a_TagIdx < 0) || - (a_NBT.GetType(a_TagIdx) != TAG_IntArray) || - (a_NBT.GetDataLength(a_TagIdx) != (4 * std::size(a_HeightMap))) - ) + if ((a_TagIdx < 0) || (a_NBT.GetType(a_TagIdx) != TAG_IntArray) || + (a_NBT.GetDataLength(a_TagIdx) != (4 * std::size(a_HeightMap)))) { return false; } @@ -563,7 +590,12 @@ void cWSSAnvil::LoadEntitiesFromNBT(cEntityList & a_Entities, const cParsedNBT & -void cWSSAnvil::LoadBlockEntitiesFromNBT(cBlockEntities & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx, const ChunkBlockData & a_BlockData) +void cWSSAnvil::LoadBlockEntitiesFromNBT( + cBlockEntities & a_BlockEntities, + const cParsedNBT & a_NBT, + int a_TagIdx, + const ChunkBlockData & a_BlockData +) { if ((a_TagIdx < 0) || (a_NBT.GetType(a_TagIdx) != TAG_List)) { @@ -618,7 +650,13 @@ void cWSSAnvil::LoadBlockEntitiesFromNBT(cBlockEntities & a_BlockEntities, const -OwnedBlockEntity cWSSAnvil::LoadBlockEntityFromNBT(const cParsedNBT & a_NBT, int a_Tag, Vector3i a_Pos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) +OwnedBlockEntity cWSSAnvil::LoadBlockEntityFromNBT( + const cParsedNBT & a_NBT, + int a_Tag, + Vector3i a_Pos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta +) { ASSERT((a_Pos.y >= 0) && (a_Pos.y < cChunkDef::Height)); @@ -627,38 +665,43 @@ OwnedBlockEntity cWSSAnvil::LoadBlockEntityFromNBT(const cParsedNBT & a_NBT, int { // Banners: case E_BLOCK_STANDING_BANNER: - case E_BLOCK_WALL_BANNER: return LoadBannerFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_WALL_BANNER: return LoadBannerFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); // Others: - case E_BLOCK_BEACON: return LoadBeaconFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_BED: return LoadBedFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_BREWING_STAND: return LoadBrewingstandFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_CHEST: return LoadChestFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_COMMAND_BLOCK: return LoadCommandBlockFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_DISPENSER: return LoadDispenserFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_DROPPER: return LoadDropperFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_ENCHANTMENT_TABLE: return LoadEnchantingTableFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_ENDER_CHEST: return LoadEnderChestFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_END_PORTAL: return LoadEndPortalFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_FLOWER_POT: return LoadFlowerPotFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_FURNACE: return LoadFurnaceFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_HEAD: return LoadMobHeadFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_HOPPER: return LoadHopperFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_JUKEBOX: return LoadJukeboxFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_LIT_FURNACE: return LoadFurnaceFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_MOB_SPAWNER: return LoadMobSpawnerFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_NOTE_BLOCK: return LoadNoteBlockFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_SIGN_POST: return LoadSignFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_TRAPPED_CHEST: return LoadChestFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); - case E_BLOCK_WALLSIGN: return LoadSignFromNBT (a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_BEACON: return LoadBeaconFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_BED: return LoadBedFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_BREWING_STAND: return LoadBrewingstandFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_CHEST: return LoadChestFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_COMMAND_BLOCK: return LoadCommandBlockFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_DISPENSER: return LoadDispenserFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_DROPPER: return LoadDropperFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_ENCHANTMENT_TABLE: + return LoadEnchantingTableFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_ENDER_CHEST: return LoadEnderChestFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_END_PORTAL: return LoadEndPortalFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_FLOWER_POT: return LoadFlowerPotFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_FURNACE: return LoadFurnaceFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_HEAD: return LoadMobHeadFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_HOPPER: return LoadHopperFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_JUKEBOX: return LoadJukeboxFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_LIT_FURNACE: return LoadFurnaceFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_MOB_SPAWNER: return LoadMobSpawnerFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_NOTE_BLOCK: return LoadNoteBlockFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_SIGN_POST: return LoadSignFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_TRAPPED_CHEST: return LoadChestFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); + case E_BLOCK_WALLSIGN: return LoadSignFromNBT(a_NBT, a_Tag, a_BlockType, a_BlockMeta, a_Pos); default: { // All the other blocktypes should have no entities assigned to them. Report an error: // Get the "id" tag: int TagID = a_NBT.FindChildByName(a_Tag, "id"); - FLOGINFO("WorldLoader({0}): Block entity mismatch: block type {1} ({2}), type \"{3}\", at {4}; the entity will be lost.", + FLOGINFO( + "WorldLoader({0}): Block entity mismatch: block type {1} ({2}), type \"{3}\", at {4}; the entity will " + "be lost.", m_World->GetName(), - ItemTypeToString(a_BlockType), a_BlockType, (TagID >= 0) ? a_NBT.GetStringView(TagID) : "unknown", + ItemTypeToString(a_BlockType), + a_BlockType, + (TagID >= 0) ? a_NBT.GetStringView(TagID) : "unknown", a_Pos ); return nullptr; @@ -747,7 +790,8 @@ bool cWSSAnvil::LoadItemFromNBT(cItem & a_Item, const cParsedNBT & a_NBT, int a_ { // Lore table a_Item.m_LoreTable.clear(); - for (int loretag = a_NBT.GetFirstChild(Lore); loretag >= 0; loretag = a_NBT.GetNextSibling(loretag)) // Loop through array of strings + for (int loretag = a_NBT.GetFirstChild(Lore); loretag >= 0; + loretag = a_NBT.GetNextSibling(loretag)) // Loop through array of strings { a_Item.m_LoreTable.push_back(a_NBT.GetString(loretag)); } @@ -763,10 +807,16 @@ bool cWSSAnvil::LoadItemFromNBT(cItem & a_Item, const cParsedNBT & a_NBT, int a_ } // Load firework data: - int FireworksTag = a_NBT.FindChildByName(TagTag, ((a_Item.m_ItemType == E_ITEM_FIREWORK_STAR) ? "Explosion" : "Fireworks")); + int FireworksTag = + a_NBT.FindChildByName(TagTag, ((a_Item.m_ItemType == E_ITEM_FIREWORK_STAR) ? "Explosion" : "Fireworks")); if (FireworksTag > 0) { - cFireworkItem::ParseFromNBT(a_Item.m_FireworkItem, a_NBT, FireworksTag, static_cast(a_Item.m_ItemType)); + cFireworkItem::ParseFromNBT( + a_Item.m_FireworkItem, + a_NBT, + FireworksTag, + static_cast(a_Item.m_ItemType) + ); } return true; @@ -776,7 +826,12 @@ bool cWSSAnvil::LoadItemFromNBT(cItem & a_Item, const cParsedNBT & a_NBT, int a_ -void cWSSAnvil::LoadItemGridFromNBT(cItemGrid & a_ItemGrid, const cParsedNBT & a_NBT, int a_ItemsTagIdx, int a_SlotOffset) +void cWSSAnvil::LoadItemGridFromNBT( + cItemGrid & a_ItemGrid, + const cParsedNBT & a_NBT, + int a_ItemsTagIdx, + int a_SlotOffset +) { int NumSlots = a_ItemGrid.GetNumSlots(); for (int Child = a_NBT.GetFirstChild(a_ItemsTagIdx); Child != -1; Child = a_NBT.GetNextSibling(Child)) @@ -833,7 +888,12 @@ AString cWSSAnvil::DecodeSignLine(const AString & a_Line) -bool cWSSAnvil::CheckBlockEntityType(const cParsedNBT & a_NBT, int a_TagIdx, const AStringVector & a_ExpectedTypes, Vector3i a_Pos) +bool cWSSAnvil::CheckBlockEntityType( + const cParsedNBT & a_NBT, + int a_TagIdx, + const AStringVector & a_ExpectedTypes, + Vector3i a_Pos +) { // Check if the given tag is a compound: if (a_NBT.GetType(a_TagIdx) != TAG_Compound) @@ -855,7 +915,7 @@ bool cWSSAnvil::CheckBlockEntityType(const cParsedNBT & a_NBT, int a_TagIdx, con } // Compare the value: - for (const auto & et: a_ExpectedTypes) + for (const auto & et : a_ExpectedTypes) { if (a_NBT.GetStringView(TagID) == et) { @@ -871,9 +931,11 @@ bool cWSSAnvil::CheckBlockEntityType(const cParsedNBT & a_NBT, int a_TagIdx, con expectedTypes.append(et); expectedTypes.push_back('\"'); } - FLOGWARNING("Block entity type mismatch: exp {0}, got \"{1}\". The block entity at {2} will lose all its properties.", + FLOGWARNING( + "Block entity type mismatch: exp {0}, got \"{1}\". The block entity at {2} will lose all its properties.", expectedTypes.c_str() + 2, // Skip the first ", " that is extra in the string - a_NBT.GetStringView(TagID), a_Pos + a_NBT.GetStringView(TagID), + a_Pos ); return false; } @@ -882,9 +944,15 @@ bool cWSSAnvil::CheckBlockEntityType(const cParsedNBT & a_NBT, int a_TagIdx, con -OwnedBlockEntity cWSSAnvil::LoadBannerFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadBannerFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { - static const AStringVector expectedTypes({"Banner", "minecraft:standingbanner","minecraft:wallbanner"}); + static const AStringVector expectedTypes({"Banner", "minecraft:standingbanner", "minecraft:wallbanner"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -913,7 +981,13 @@ OwnedBlockEntity cWSSAnvil::LoadBannerFromNBT(const cParsedNBT & a_NBT, int a_Ta -OwnedBlockEntity cWSSAnvil::LoadBeaconFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadBeaconFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: static const AStringVector expectedTypes({"Beacon", "minecraft:beacon"}); @@ -956,10 +1030,16 @@ OwnedBlockEntity cWSSAnvil::LoadBeaconFromNBT(const cParsedNBT & a_NBT, int a_Ta -OwnedBlockEntity cWSSAnvil::LoadBedFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadBedFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Bed", "minecraft:bed" }); + static const AStringVector expectedTypes({"Bed", "minecraft:bed"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -981,10 +1061,16 @@ OwnedBlockEntity cWSSAnvil::LoadBedFromNBT(const cParsedNBT & a_NBT, int a_TagId -OwnedBlockEntity cWSSAnvil::LoadBrewingstandFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadBrewingstandFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Brewingstand", "minecraft:brewing_stand" }); + static const AStringVector expectedTypes({"Brewingstand", "minecraft:brewing_stand"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -993,7 +1079,8 @@ OwnedBlockEntity cWSSAnvil::LoadBrewingstandFromNBT(const cParsedNBT & a_NBT, in int Items = a_NBT.FindChildByName(a_TagIdx, "Items"); if ((Items < 0) || (a_NBT.GetType(Items) != TAG_List)) { - return nullptr; // Make it an empty brewingstand - the chunk loader will provide an empty cBrewingstandEntity for this + return nullptr; // Make it an empty brewingstand - the chunk loader will provide an empty cBrewingstandEntity + // for this } auto Brewingstand = std::make_unique(a_BlockType, a_BlockMeta, a_Pos, m_World); @@ -1039,11 +1126,18 @@ OwnedBlockEntity cWSSAnvil::LoadBrewingstandFromNBT(const cParsedNBT & a_NBT, in -OwnedBlockEntity cWSSAnvil::LoadChestFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadChestFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - // Note that older Cuberite code used "TrappedChest" for trapped chests; new code mimics vanilla and uses "Chest" throughout, but we allow migration here: - static const AStringVector expectedTypes({ "Chest", "TrappedChest", "minecraft:chest" }); + // Note that older Cuberite code used "TrappedChest" for trapped chests; new code mimics vanilla and uses "Chest" + // throughout, but we allow migration here: + static const AStringVector expectedTypes({"Chest", "TrappedChest", "minecraft:chest"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1063,10 +1157,16 @@ OwnedBlockEntity cWSSAnvil::LoadChestFromNBT(const cParsedNBT & a_NBT, int a_Tag -OwnedBlockEntity cWSSAnvil::LoadCommandBlockFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadCommandBlockFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Control", "minecraft:command_block" }); + static const AStringVector expectedTypes({"Control", "minecraft:command_block"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1101,10 +1201,16 @@ OwnedBlockEntity cWSSAnvil::LoadCommandBlockFromNBT(const cParsedNBT & a_NBT, in -OwnedBlockEntity cWSSAnvil::LoadDispenserFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadDispenserFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Trap", "minecraft:dispenser" }); + static const AStringVector expectedTypes({"Trap", "minecraft:dispenser"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1113,7 +1219,8 @@ OwnedBlockEntity cWSSAnvil::LoadDispenserFromNBT(const cParsedNBT & a_NBT, int a int Items = a_NBT.FindChildByName(a_TagIdx, "Items"); if ((Items < 0) || (a_NBT.GetType(Items) != TAG_List)) { - return nullptr; // Make it an empty dispenser - the chunk loader will provide an empty cDispenserEntity for this + return nullptr; // Make it an empty dispenser - the chunk loader will provide an empty cDispenserEntity for + // this } auto Dispenser = std::make_unique(a_BlockType, a_BlockMeta, a_Pos, m_World); LoadItemGridFromNBT(Dispenser->GetContents(), a_NBT, Items); @@ -1124,10 +1231,16 @@ OwnedBlockEntity cWSSAnvil::LoadDispenserFromNBT(const cParsedNBT & a_NBT, int a -OwnedBlockEntity cWSSAnvil::LoadDropperFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadDropperFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Dropper", "minecraft:dropper" }); + static const AStringVector expectedTypes({"Dropper", "minecraft:dropper"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1147,10 +1260,16 @@ OwnedBlockEntity cWSSAnvil::LoadDropperFromNBT(const cParsedNBT & a_NBT, int a_T -OwnedBlockEntity cWSSAnvil::LoadEnchantingTableFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadEnchantingTableFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "EnchantingTable", "minecraft:enchanting_table" }); + static const AStringVector expectedTypes({"EnchantingTable", "minecraft:enchanting_table"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1172,10 +1291,16 @@ OwnedBlockEntity cWSSAnvil::LoadEnchantingTableFromNBT(const cParsedNBT & a_NBT, -OwnedBlockEntity cWSSAnvil::LoadEnderChestFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadEnderChestFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "EnderChest", "minecraft:ender_chest" }); + static const AStringVector expectedTypes({"EnderChest", "minecraft:ender_chest"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1187,10 +1312,16 @@ OwnedBlockEntity cWSSAnvil::LoadEnderChestFromNBT(const cParsedNBT & a_NBT, int -OwnedBlockEntity cWSSAnvil::LoadEndPortalFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadEndPortalFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "EndPortal", "minecraft:end_portal" }); + static const AStringVector expectedTypes({"EndPortal", "minecraft:end_portal"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1202,10 +1333,16 @@ OwnedBlockEntity cWSSAnvil::LoadEndPortalFromNBT(const cParsedNBT & a_NBT, int a -OwnedBlockEntity cWSSAnvil::LoadFlowerPotFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadFlowerPotFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "FlowerPot", "minecraft:flower_pot" }); + static const AStringVector expectedTypes({"FlowerPot", "minecraft:flower_pot"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1241,10 +1378,16 @@ OwnedBlockEntity cWSSAnvil::LoadFlowerPotFromNBT(const cParsedNBT & a_NBT, int a -OwnedBlockEntity cWSSAnvil::LoadFurnaceFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadFurnaceFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Furnace", "minecraft:furnace" }); + static const AStringVector expectedTypes({"Furnace", "minecraft:furnace"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1301,10 +1444,16 @@ OwnedBlockEntity cWSSAnvil::LoadFurnaceFromNBT(const cParsedNBT & a_NBT, int a_T -OwnedBlockEntity cWSSAnvil::LoadHopperFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadHopperFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Hopper", "minecraft:hopper" }); + static const AStringVector expectedTypes({"Hopper", "minecraft:hopper"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1324,10 +1473,16 @@ OwnedBlockEntity cWSSAnvil::LoadHopperFromNBT(const cParsedNBT & a_NBT, int a_Ta -OwnedBlockEntity cWSSAnvil::LoadJukeboxFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadJukeboxFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "RecordPlayer", "minecraft:jukebox" }); + static const AStringVector expectedTypes({"RecordPlayer", "minecraft:jukebox"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1346,10 +1501,16 @@ OwnedBlockEntity cWSSAnvil::LoadJukeboxFromNBT(const cParsedNBT & a_NBT, int a_T -OwnedBlockEntity cWSSAnvil::LoadMobSpawnerFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadMobSpawnerFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "MobSpawner", "minecraft:mob_spawner" }); + static const AStringVector expectedTypes({"MobSpawner", "minecraft:mob_spawner"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1430,10 +1591,16 @@ OwnedBlockEntity cWSSAnvil::LoadMobSpawnerFromNBT(const cParsedNBT & a_NBT, int -OwnedBlockEntity cWSSAnvil::LoadMobHeadFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadMobHeadFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Skull", "minecraft:skull" }); + static const AStringVector expectedTypes({"Skull", "minecraft:skull"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1472,9 +1639,9 @@ OwnedBlockEntity cWSSAnvil::LoadMobHeadFromNBT(const cParsedNBT & a_NBT, int a_T } int textureLine = a_NBT.GetFirstChild( // The first texture of - a_NBT.FindChildByName( // The texture list of - a_NBT.FindChildByName( // The Properties compound of - ownerLine, // The Owner compound + a_NBT.FindChildByName( // The texture list of + a_NBT.FindChildByName( // The Properties compound of + ownerLine, // The Owner compound "Properties" ), "textures" @@ -1504,10 +1671,16 @@ OwnedBlockEntity cWSSAnvil::LoadMobHeadFromNBT(const cParsedNBT & a_NBT, int a_T -OwnedBlockEntity cWSSAnvil::LoadNoteBlockFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadNoteBlockFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Music", "minecraft:noteblock" }); + static const AStringVector expectedTypes({"Music", "minecraft:noteblock"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1526,10 +1699,16 @@ OwnedBlockEntity cWSSAnvil::LoadNoteBlockFromNBT(const cParsedNBT & a_NBT, int a -OwnedBlockEntity cWSSAnvil::LoadSignFromNBT(const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos) +OwnedBlockEntity cWSSAnvil::LoadSignFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos +) { // Check if the data has a proper type: - static const AStringVector expectedTypes({ "Sign", "minecraft:sign" }); + static const AStringVector expectedTypes({"Sign", "minecraft:sign"}); if (!CheckBlockEntityType(a_NBT, a_TagIdx, expectedTypes, a_Pos)) { return nullptr; @@ -1568,55 +1747,59 @@ OwnedBlockEntity cWSSAnvil::LoadSignFromNBT(const cParsedNBT & a_NBT, int a_TagI -void cWSSAnvil::LoadEntityFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_EntityTagIdx, const std::string_view a_EntityName) +void cWSSAnvil::LoadEntityFromNBT( + cEntityList & a_Entities, + const cParsedNBT & a_NBT, + int a_EntityTagIdx, + const std::string_view a_EntityName +) { typedef void (cWSSAnvil::*EntityLoaderFunc)(cEntityList &, const cParsedNBT &, int a_EntityTagIdx); typedef std::map EntityLoaderMap; - static const EntityLoaderMap EntityTypeToFunction - { - { "Boat", &cWSSAnvil::LoadBoatFromNBT }, - { "minecraft:boat", &cWSSAnvil::LoadBoatFromNBT }, - { "EnderCrystal", &cWSSAnvil::LoadEnderCrystalFromNBT }, - { "minecraft:ender_crystal", &cWSSAnvil::LoadEnderCrystalFromNBT }, - { "FallingBlock", &cWSSAnvil::LoadFallingBlockFromNBT }, - { "minecraft:falling_block", &cWSSAnvil::LoadFallingBlockFromNBT }, - { "Minecart", &cWSSAnvil::LoadOldMinecartFromNBT }, - { "MinecartChest", &cWSSAnvil::LoadMinecartCFromNBT }, - { "minecraft:chest_minecart", &cWSSAnvil::LoadMinecartCFromNBT }, - { "MinecartFurnace", &cWSSAnvil::LoadMinecartFFromNBT }, - { "minecraft:furnace_minecart", &cWSSAnvil::LoadMinecartFFromNBT }, - { "MinecartTNT", &cWSSAnvil::LoadMinecartTFromNBT }, - { "minecraft:tnt_minecart", &cWSSAnvil::LoadMinecartTFromNBT }, - { "MinecartHopper", &cWSSAnvil::LoadMinecartHFromNBT }, - { "minecraft:hopper_minecart", &cWSSAnvil::LoadMinecartHFromNBT }, - { "MinecartRideable", &cWSSAnvil::LoadMinecartRFromNBT }, - { "minecraft:minecart", &cWSSAnvil::LoadMinecartRFromNBT }, - { "Item", &cWSSAnvil::LoadPickupFromNBT }, - { "minecraft:item", &cWSSAnvil::LoadPickupFromNBT }, - { "Painting", &cWSSAnvil::LoadPaintingFromNBT }, - { "minecraft:painting", &cWSSAnvil::LoadPaintingFromNBT }, - { "PrimedTnt", &cWSSAnvil::LoadTNTFromNBT }, - { "minecraft:tnt", &cWSSAnvil::LoadTNTFromNBT }, - { "XPOrb", &cWSSAnvil::LoadExpOrbFromNBT }, - { "minecraft:xp_orb", &cWSSAnvil::LoadExpOrbFromNBT }, - { "ItemFrame", &cWSSAnvil::LoadItemFrameFromNBT }, - { "minecraft:item_frame", &cWSSAnvil::LoadItemFrameFromNBT }, - { "LeashKnot", &cWSSAnvil::LoadLeashKnotFromNBT }, - { "minecraft:leash_knot", &cWSSAnvil::LoadLeashKnotFromNBT }, - { "Arrow", &cWSSAnvil::LoadArrowFromNBT }, - { "minecraft:arrow", &cWSSAnvil::LoadArrowFromNBT }, - { "SplashPotion", &cWSSAnvil::LoadSplashPotionFromNBT }, - { "minecraft:potion", &cWSSAnvil::LoadSplashPotionFromNBT }, - { "Snowball", &cWSSAnvil::LoadSnowballFromNBT }, - { "minecraft:snowball", &cWSSAnvil::LoadSnowballFromNBT }, - { "Egg", &cWSSAnvil::LoadEggFromNBT }, - { "minecraft:egg", &cWSSAnvil::LoadEggFromNBT }, - { "Fireball", &cWSSAnvil::LoadFireballFromNBT }, - { "minecraft:fireball", &cWSSAnvil::LoadFireballFromNBT }, - { "SmallFireball", &cWSSAnvil::LoadFireChargeFromNBT }, - { "minecraft:small_fireball", &cWSSAnvil::LoadFireChargeFromNBT }, - { "ThrownEnderpearl", &cWSSAnvil::LoadThrownEnderpearlFromNBT }, - { "minecraft:ender_pearl", &cWSSAnvil::LoadThrownEnderpearlFromNBT } + static const EntityLoaderMap EntityTypeToFunction { + {"Boat", &cWSSAnvil::LoadBoatFromNBT}, + {"minecraft:boat", &cWSSAnvil::LoadBoatFromNBT}, + {"EnderCrystal", &cWSSAnvil::LoadEnderCrystalFromNBT}, + {"minecraft:ender_crystal", &cWSSAnvil::LoadEnderCrystalFromNBT}, + {"FallingBlock", &cWSSAnvil::LoadFallingBlockFromNBT}, + {"minecraft:falling_block", &cWSSAnvil::LoadFallingBlockFromNBT}, + {"Minecart", &cWSSAnvil::LoadOldMinecartFromNBT}, + {"MinecartChest", &cWSSAnvil::LoadMinecartCFromNBT}, + {"minecraft:chest_minecart", &cWSSAnvil::LoadMinecartCFromNBT}, + {"MinecartFurnace", &cWSSAnvil::LoadMinecartFFromNBT}, + {"minecraft:furnace_minecart", &cWSSAnvil::LoadMinecartFFromNBT}, + {"MinecartTNT", &cWSSAnvil::LoadMinecartTFromNBT}, + {"minecraft:tnt_minecart", &cWSSAnvil::LoadMinecartTFromNBT}, + {"MinecartHopper", &cWSSAnvil::LoadMinecartHFromNBT}, + {"minecraft:hopper_minecart", &cWSSAnvil::LoadMinecartHFromNBT}, + {"MinecartRideable", &cWSSAnvil::LoadMinecartRFromNBT}, + {"minecraft:minecart", &cWSSAnvil::LoadMinecartRFromNBT}, + {"Item", &cWSSAnvil::LoadPickupFromNBT}, + {"minecraft:item", &cWSSAnvil::LoadPickupFromNBT}, + {"Painting", &cWSSAnvil::LoadPaintingFromNBT}, + {"minecraft:painting", &cWSSAnvil::LoadPaintingFromNBT}, + {"PrimedTnt", &cWSSAnvil::LoadTNTFromNBT}, + {"minecraft:tnt", &cWSSAnvil::LoadTNTFromNBT}, + {"XPOrb", &cWSSAnvil::LoadExpOrbFromNBT}, + {"minecraft:xp_orb", &cWSSAnvil::LoadExpOrbFromNBT}, + {"ItemFrame", &cWSSAnvil::LoadItemFrameFromNBT}, + {"minecraft:item_frame", &cWSSAnvil::LoadItemFrameFromNBT}, + {"LeashKnot", &cWSSAnvil::LoadLeashKnotFromNBT}, + {"minecraft:leash_knot", &cWSSAnvil::LoadLeashKnotFromNBT}, + {"Arrow", &cWSSAnvil::LoadArrowFromNBT}, + {"minecraft:arrow", &cWSSAnvil::LoadArrowFromNBT}, + {"SplashPotion", &cWSSAnvil::LoadSplashPotionFromNBT}, + {"minecraft:potion", &cWSSAnvil::LoadSplashPotionFromNBT}, + {"Snowball", &cWSSAnvil::LoadSnowballFromNBT}, + {"minecraft:snowball", &cWSSAnvil::LoadSnowballFromNBT}, + {"Egg", &cWSSAnvil::LoadEggFromNBT}, + {"minecraft:egg", &cWSSAnvil::LoadEggFromNBT}, + {"Fireball", &cWSSAnvil::LoadFireballFromNBT}, + {"minecraft:fireball", &cWSSAnvil::LoadFireballFromNBT}, + {"SmallFireball", &cWSSAnvil::LoadFireChargeFromNBT}, + {"minecraft:small_fireball", &cWSSAnvil::LoadFireChargeFromNBT}, + {"ThrownEnderpearl", &cWSSAnvil::LoadThrownEnderpearlFromNBT}, + {"minecraft:ender_pearl", &cWSSAnvil::LoadThrownEnderpearlFromNBT} }; // TODO: flatten monster\projectile into one entity type enum @@ -1724,11 +1907,11 @@ void cWSSAnvil::LoadOldMinecartFromNBT(cEntityList & a_Entities, const cParsedNB int MinecartType = a_NBT.GetInt(TypeTag); switch (MinecartType) { - case 0: LoadMinecartRFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Rideable minecart - case 1: LoadMinecartCFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Minecart with chest - case 2: LoadMinecartFFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Minecart with furnace - case 3: LoadMinecartTFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Minecart with TNT - case 4: LoadMinecartHFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Minecart with Hopper + case 0: LoadMinecartRFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Rideable minecart + case 1: LoadMinecartCFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Minecart with chest + case 2: LoadMinecartFFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Minecart with furnace + case 3: LoadMinecartTFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Minecart with TNT + case 4: LoadMinecartHFromNBT(a_Entities, a_NBT, a_TagIdx); break; // Minecart with Hopper default: LOGWARNING("cWSSAnvil::LoadOldMinecartFromNBT: Unhandled minecart type (%d)", MinecartType); break; } } @@ -2136,7 +2319,9 @@ void cWSSAnvil::LoadArrowFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ int PlayerIdx = a_NBT.FindChildByName(a_TagIdx, "player"); if ((PlayerIdx > 0) && (a_NBT.GetType(PlayerIdx) == TAG_Byte)) { - Arrow->SetPickupState((a_NBT.GetByte(PlayerIdx) == 0) ? cArrowEntity::psNoPickup : cArrowEntity::psInSurvivalOrCreative); + Arrow->SetPickupState( + (a_NBT.GetByte(PlayerIdx) == 0) ? cArrowEntity::psNoPickup : cArrowEntity::psInSurvivalOrCreative + ); } } @@ -2154,20 +2339,24 @@ void cWSSAnvil::LoadArrowFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ if ((InBlockXIdx > 0) && (InBlockYIdx > 0) && (InBlockZIdx > 0)) { eTagType typeX = a_NBT.GetType(InBlockXIdx); - if ((typeX == a_NBT.GetType(InBlockYIdx)) && (typeX == a_NBT.GetType(InBlockZIdx))) + if ((typeX == a_NBT.GetType(InBlockYIdx)) && (typeX == a_NBT.GetType(InBlockZIdx))) { switch (typeX) { case TAG_Int: { // Old MCS code used this, keep reading it for compatibility reasons: - Arrow->SetBlockHit(Vector3i(a_NBT.GetInt(InBlockXIdx), a_NBT.GetInt(InBlockYIdx), a_NBT.GetInt(InBlockZIdx))); + Arrow->SetBlockHit( + Vector3i(a_NBT.GetInt(InBlockXIdx), a_NBT.GetInt(InBlockYIdx), a_NBT.GetInt(InBlockZIdx)) + ); break; } case TAG_Short: { // Vanilla uses this - Arrow->SetBlockHit(Vector3i(a_NBT.GetShort(InBlockXIdx), a_NBT.GetShort(InBlockYIdx), a_NBT.GetShort(InBlockZIdx))); + Arrow->SetBlockHit( + Vector3i(a_NBT.GetShort(InBlockXIdx), a_NBT.GetShort(InBlockYIdx), a_NBT.GetShort(InBlockZIdx)) + ); break; } default: @@ -2195,12 +2384,14 @@ void cWSSAnvil::LoadSplashPotionFromNBT(cEntityList & a_Entities, const cParsedN return; } - int EffectDuration = a_NBT.FindChildByName(a_TagIdx, "EffectDuration"); - int EffectIntensity = a_NBT.FindChildByName(a_TagIdx, "EffectIntensity"); + int EffectDuration = a_NBT.FindChildByName(a_TagIdx, "EffectDuration"); + int EffectIntensity = a_NBT.FindChildByName(a_TagIdx, "EffectIntensity"); int EffectDistanceModifier = a_NBT.FindChildByName(a_TagIdx, "EffectDistanceModifier"); SplashPotion->SetEntityEffectType(static_cast(a_NBT.FindChildByName(a_TagIdx, "EffectType"))); - SplashPotion->SetEntityEffect(cEntityEffect(EffectDuration, static_cast(EffectIntensity), EffectDistanceModifier)); + SplashPotion->SetEntityEffect( + cEntityEffect(EffectDuration, static_cast(EffectIntensity), EffectDistanceModifier) + ); SplashPotion->SetPotionColor(a_NBT.FindChildByName(a_TagIdx, "PotionName")); // Store the new splash potion in the entities list: @@ -2331,7 +2522,7 @@ void cWSSAnvil::LoadBlazeFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ -void cWSSAnvil::LoadCatFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadCatFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2380,7 +2571,7 @@ void cWSSAnvil::LoadChickenFromNBT(cEntityList & a_Entities, const cParsedNBT & -void cWSSAnvil::LoadCodFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadCodFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2438,7 +2629,7 @@ void cWSSAnvil::LoadDolphinFromNBT(cEntityList & a_Entities, const cParsedNBT & -void cWSSAnvil::LoadDonkeyFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadDonkeyFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2447,7 +2638,7 @@ void cWSSAnvil::LoadDonkeyFromNBT(cEntityList &a_Entities, const cParsedNBT &a_N -void cWSSAnvil::LoadDrownedFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadDrownedFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2456,7 +2647,7 @@ void cWSSAnvil::LoadDrownedFromNBT(cEntityList &a_Entities, const cParsedNBT &a_ -void cWSSAnvil::LoadElderGuardianFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadElderGuardianFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2505,7 +2696,7 @@ void cWSSAnvil::LoadEndermanFromNBT(cEntityList & a_Entities, const cParsedNBT & -void cWSSAnvil::LoadEndermiteFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadEndermiteFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2514,7 +2705,7 @@ void cWSSAnvil::LoadEndermiteFromNBT(cEntityList &a_Entities, const cParsedNBT & -void cWSSAnvil::LoadEvokerFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadEvokerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2523,7 +2714,7 @@ void cWSSAnvil::LoadEvokerFromNBT(cEntityList &a_Entities, const cParsedNBT &a_N -void cWSSAnvil::LoadFoxFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadFoxFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2594,7 +2785,7 @@ void cWSSAnvil::LoadGuardianFromNBT(cEntityList & a_Entities, const cParsedNBT & void cWSSAnvil::LoadHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { - int TypeIdx = a_NBT.FindChildByName(a_TagIdx, "Type"); + int TypeIdx = a_NBT.FindChildByName(a_TagIdx, "Type"); int ColorIdx = a_NBT.FindChildByName(a_TagIdx, "Color"); int StyleIdx = a_NBT.FindChildByName(a_TagIdx, "Style"); if ((TypeIdx < 0) || (ColorIdx < 0) || (StyleIdx < 0)) @@ -2618,15 +2809,15 @@ void cWSSAnvil::LoadHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ return; } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; - default: Age = 0; break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -2638,7 +2829,7 @@ void cWSSAnvil::LoadHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ -void cWSSAnvil::LoadHoglinFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadHoglinFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2647,7 +2838,7 @@ void cWSSAnvil::LoadHoglinFromNBT(cEntityList &a_Entities, const cParsedNBT &a_N -void cWSSAnvil::LoadHuskFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadHuskFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2656,7 +2847,7 @@ void cWSSAnvil::LoadHuskFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT -void cWSSAnvil::LoadIllusionerFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadIllusionerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2685,7 +2876,7 @@ void cWSSAnvil::LoadIronGolemFromNBT(cEntityList & a_Entities, const cParsedNBT -void cWSSAnvil::LoadLlamaFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadLlamaFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2743,7 +2934,7 @@ void cWSSAnvil::LoadMooshroomFromNBT(cEntityList & a_Entities, const cParsedNBT -void cWSSAnvil::LoadMuleFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadMuleFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2772,7 +2963,7 @@ void cWSSAnvil::LoadOcelotFromNBT(cEntityList & a_Entities, const cParsedNBT & a Monster->SetIsTame(true); } - int TypeIdx = a_NBT.FindChildByName(a_TagIdx, "CatType"); + int TypeIdx = a_NBT.FindChildByName(a_TagIdx, "CatType"); if (TypeIdx > 0) { int Type = a_NBT.GetInt(TypeIdx); @@ -2786,15 +2977,15 @@ void cWSSAnvil::LoadOcelotFromNBT(cEntityList & a_Entities, const cParsedNBT & a Monster->SetIsSitting(Sitting); } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; - default: Age = 0; break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -2806,7 +2997,7 @@ void cWSSAnvil::LoadOcelotFromNBT(cEntityList & a_Entities, const cParsedNBT & a -void cWSSAnvil::LoadPandaFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadPandaFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2815,7 +3006,7 @@ void cWSSAnvil::LoadPandaFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NB -void cWSSAnvil::LoadParrotFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadParrotFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2824,7 +3015,7 @@ void cWSSAnvil::LoadParrotFromNBT(cEntityList &a_Entities, const cParsedNBT &a_N -void cWSSAnvil::LoadPhantomFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadPhantomFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2846,15 +3037,15 @@ void cWSSAnvil::LoadPigFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NB return; } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; - default: Age = 0; break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -2866,7 +3057,7 @@ void cWSSAnvil::LoadPigFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NB -void cWSSAnvil::LoadPiglinFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadPiglinFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2875,7 +3066,7 @@ void cWSSAnvil::LoadPiglinFromNBT(cEntityList &a_Entities, const cParsedNBT &a_N -void cWSSAnvil::LoadPiglinBruteFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadPiglinBruteFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2884,7 +3075,7 @@ void cWSSAnvil::LoadPiglinBruteFromNBT(cEntityList &a_Entities, const cParsedNBT -void cWSSAnvil::LoadPillagerFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadPillagerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2893,7 +3084,7 @@ void cWSSAnvil::LoadPillagerFromNBT(cEntityList &a_Entities, const cParsedNBT &a -void cWSSAnvil::LoadPolarBearFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadPolarBearFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2902,7 +3093,7 @@ void cWSSAnvil::LoadPolarBearFromNBT(cEntityList &a_Entities, const cParsedNBT & -void cWSSAnvil::LoadPufferfishFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadPufferfishFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2913,7 +3104,7 @@ void cWSSAnvil::LoadPufferfishFromNBT(cEntityList &a_Entities, const cParsedNBT void cWSSAnvil::LoadRabbitFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { - int TypeIdx = a_NBT.FindChildByName(a_TagIdx, "RabbitType"); + int TypeIdx = a_NBT.FindChildByName(a_TagIdx, "RabbitType"); int MoreCarrotTicksIdx = a_NBT.FindChildByName(a_TagIdx, "MoreCarrotTicks"); if ((TypeIdx < 0) || (MoreCarrotTicksIdx < 0)) @@ -2935,15 +3126,15 @@ void cWSSAnvil::LoadRabbitFromNBT(cEntityList & a_Entities, const cParsedNBT & a return; } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; - default: Age = 0; break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -2955,7 +3146,7 @@ void cWSSAnvil::LoadRabbitFromNBT(cEntityList & a_Entities, const cParsedNBT & a -void cWSSAnvil::LoadRavagerFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadRavagerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2964,7 +3155,7 @@ void cWSSAnvil::LoadRavagerFromNBT(cEntityList &a_Entities, const cParsedNBT &a_ -void cWSSAnvil::LoadSalmonFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadSalmonFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -2999,15 +3190,15 @@ void cWSSAnvil::LoadSheepFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ Monster->SetSheared(a_NBT.GetByte(ShearedIdx) != 0); } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; - default: Age = 0; break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -3019,7 +3210,7 @@ void cWSSAnvil::LoadSheepFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ -void cWSSAnvil::LoadShulkerFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadShulkerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3081,7 +3272,7 @@ void cWSSAnvil::LoadSkeletonFromNBT(cEntityList & a_Entities, const cParsedNBT & -void cWSSAnvil::LoadSkeletonHorseFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadSkeletonHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3179,7 +3370,7 @@ void cWSSAnvil::LoadSquidFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ -void cWSSAnvil::LoadStrayFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadStrayFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3188,7 +3379,7 @@ void cWSSAnvil::LoadStrayFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NB -void cWSSAnvil::LoadStriderFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadStriderFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3197,7 +3388,7 @@ void cWSSAnvil::LoadStriderFromNBT(cEntityList &a_Entities, const cParsedNBT &a_ -void cWSSAnvil::LoadTraderLlamaFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadTraderLlamaFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3206,7 +3397,7 @@ void cWSSAnvil::LoadTraderLlamaFromNBT(cEntityList &a_Entities, const cParsedNBT -void cWSSAnvil::LoadTropicalFishFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadTropicalFishFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3215,7 +3406,7 @@ void cWSSAnvil::LoadTropicalFishFromNBT(cEntityList &a_Entities, const cParsedNB -void cWSSAnvil::LoadTurtleFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadTurtleFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3224,7 +3415,7 @@ void cWSSAnvil::LoadTurtleFromNBT(cEntityList &a_Entities, const cParsedNBT &a_N -void cWSSAnvil::LoadVexFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadVexFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3254,15 +3445,15 @@ void cWSSAnvil::LoadVillagerFromNBT(cEntityList & a_Entities, const cParsedNBT & return; } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; - default: Age = 0; break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -3281,7 +3472,7 @@ void cWSSAnvil::LoadVillagerFromNBT(cEntityList & a_Entities, const cParsedNBT & -void cWSSAnvil::LoadVindicatorFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadVindicatorFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3290,7 +3481,7 @@ void cWSSAnvil::LoadVindicatorFromNBT(cEntityList &a_Entities, const cParsedNBT -void cWSSAnvil::LoadWanderingTraderFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadWanderingTraderFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3421,15 +3612,15 @@ void cWSSAnvil::LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_N } } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; - default: Age = 0; break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -3441,7 +3632,7 @@ void cWSSAnvil::LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_N -void cWSSAnvil::LoadZoglinFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadZoglinFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3463,7 +3654,7 @@ void cWSSAnvil::LoadZombieFromNBT(cEntityList & a_Entities, const cParsedNBT & a return; } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; @@ -3471,7 +3662,7 @@ void cWSSAnvil::LoadZombieFromNBT(cEntityList & a_Entities, const cParsedNBT & a { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; - default: Age = 0; break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -3483,7 +3674,7 @@ void cWSSAnvil::LoadZombieFromNBT(cEntityList & a_Entities, const cParsedNBT & a -void cWSSAnvil::LoadZombieHorseFromNBT(cEntityList &a_Entities, const cParsedNBT &a_NBT, int a_TagIdx) +void cWSSAnvil::LoadZombieHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { // TODO } @@ -3505,15 +3696,15 @@ void cWSSAnvil::LoadZombifiedPiglinFromNBT(cEntityList & a_Entities, const cPars return; } - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; - default: Age = 0; break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; + default: Age = 0; break; } Monster->SetAge(Age); } @@ -3548,14 +3739,14 @@ void cWSSAnvil::LoadZombieVillagerFromNBT(cEntityList & a_Entities, const cParse // TODO: Conversion time - int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); + int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { int Age; switch (a_NBT.GetType(AgeableIdx)) { case TAG_Byte: Age = static_cast(a_NBT.GetByte(AgeableIdx)); break; - case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + case TAG_Int: Age = a_NBT.GetInt(AgeableIdx); break; default: Age = 0; break; } Monster->SetAge(Age); @@ -3614,7 +3805,7 @@ std::pair cWSSAnvil::LoadEntityOwner(const cParsedNBT & a_NBT, i } } - return { OwnerName, OwnerUUID }; + return {OwnerName, OwnerUUID}; } @@ -3654,7 +3845,7 @@ bool cWSSAnvil::LoadEntityBaseFromNBT(cEntity & a_Entity, const cParsedNBT & a_N // stored either as a float Health tag (HealF prior to 1.9) or // as a short Health tag. The float tags should be preferred. int Health = a_NBT.FindChildByName(a_TagIdx, "Health"); - int HealF = a_NBT.FindChildByName(a_TagIdx, "HealF"); + int HealF = a_NBT.FindChildByName(a_TagIdx, "HealF"); if (Health > 0 && a_NBT.GetType(Health) == TAG_Float) { @@ -3814,7 +4005,8 @@ bool cWSSAnvil::LoadDoublesListFromNBT(double * a_Doubles, int a_NumDoubles, con return false; } int idx = 0; - for (int Tag = a_NBT.GetFirstChild(a_TagIdx); (Tag > 0) && (idx < a_NumDoubles); Tag = a_NBT.GetNextSibling(Tag), ++idx) + for (int Tag = a_NBT.GetFirstChild(a_TagIdx); (Tag > 0) && (idx < a_NumDoubles); + Tag = a_NBT.GetNextSibling(Tag), ++idx) { a_Doubles[idx] = a_NBT.GetDouble(Tag); } // for Tag - PosTag[] @@ -3832,7 +4024,8 @@ bool cWSSAnvil::LoadFloatsListFromNBT(float * a_Floats, int a_NumFloats, const c return false; } int idx = 0; - for (int Tag = a_NBT.GetFirstChild(a_TagIdx); (Tag > 0) && (idx < a_NumFloats); Tag = a_NBT.GetNextSibling(Tag), ++idx) + for (int Tag = a_NBT.GetFirstChild(a_TagIdx); (Tag > 0) && (idx < a_NumFloats); + Tag = a_NBT.GetNextSibling(Tag), ++idx) { a_Floats[idx] = a_NBT.GetFloat(Tag); } // for Tag - PosTag[] @@ -3862,7 +4055,7 @@ bool cWSSAnvil::GetBlockEntityNBTPos(const cParsedNBT & a_NBT, int a_TagIdx, Vec } a_AbsPos.Set( Clamp(a_NBT.GetInt(x), -40000000, 40000000), // World is limited to 30M blocks in XZ, we clamp to 40M - Clamp(a_NBT.GetInt(y), -10000, 10000), // Y is limited to 0 .. 255, we clamp to 10K + Clamp(a_NBT.GetInt(y), -10000, 10000), // Y is limited to 0 .. 255, we clamp to 10K Clamp(a_NBT.GetInt(z), -40000000, 40000000) ); return true; @@ -3876,10 +4069,7 @@ bool cWSSAnvil::GetBlockEntityNBTPos(const cParsedNBT & a_NBT, int a_TagIdx, Vec // cWSSAnvil::cMCAFile: cWSSAnvil::cMCAFile::cMCAFile(cWSSAnvil & a_ParentSchema, const AString & a_FileName, int a_RegionX, int a_RegionZ) : - m_ParentSchema(a_ParentSchema), - m_RegionX(a_RegionX), - m_RegionZ(a_RegionZ), - m_FileName(a_FileName) + m_ParentSchema(a_ParentSchema), m_RegionX(a_RegionX), m_RegionZ(a_RegionZ), m_FileName(a_FileName) { } @@ -3933,12 +4123,14 @@ bool cWSSAnvil::cMCAFile::OpenFile(bool a_IsForReading) if (writeOutNeeded) { m_File.Seek(0); - if ( - (m_File.Write(m_Header, sizeof(m_Header)) != sizeof(m_Header)) || // Write chunk offsets + if ((m_File.Write(m_Header, sizeof(m_Header)) != sizeof(m_Header)) || // Write chunk offsets (m_File.Write(m_TimeStamps, sizeof(m_TimeStamps)) != sizeof(m_TimeStamps)) // Write chunk timestamps ) { - LOGWARNING("Cannot process MCA header in file \"%s\", chunks in that file will be lost", m_FileName.c_str()); + LOGWARNING( + "Cannot process MCA header in file \"%s\", chunks in that file will be lost", + m_FileName.c_str() + ); m_File.Close(); return false; } @@ -4008,7 +4200,11 @@ bool cWSSAnvil::cMCAFile::GetChunkData(const cChunkCoords & a_Chunk, ContiguousB if (CompressionType != 2) { // Chunk is in an unknown compression - m_ParentSchema.ChunkLoadFailed(a_Chunk, fmt::format(FMT_STRING("Unknown chunk compression: {}"), CompressionType), a_Data); + m_ParentSchema.ChunkLoadFailed( + a_Chunk, + fmt::format(FMT_STRING("Unknown chunk compression: {}"), CompressionType), + a_Data + ); return false; } return true; @@ -4018,7 +4214,12 @@ bool cWSSAnvil::cMCAFile::GetChunkData(const cChunkCoords & a_Chunk, ContiguousB -const std::byte * cWSSAnvil::GetSectionData(const cParsedNBT & a_NBT, int a_Tag, const AString & a_ChildName, size_t a_Length) +const std::byte * cWSSAnvil::GetSectionData( + const cParsedNBT & a_NBT, + int a_Tag, + const AString & a_ChildName, + size_t a_Length +) { int Child = a_NBT.FindChildByName(a_Tag, a_ChildName); if ((Child >= 0) && (a_NBT.GetType(Child) == TAG_ByteArray) && (a_NBT.GetDataLength(Child) == a_Length)) @@ -4036,7 +4237,12 @@ bool cWSSAnvil::cMCAFile::SetChunkData(const cChunkCoords & a_Chunk, const Conti { if (!OpenFile(false)) { - LOGWARNING("Cannot save chunk [%d, %d], opening file \"%s\" failed", a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, GetFileName().c_str()); + LOGWARNING( + "Cannot save chunk [%d, %d], opening file \"%s\" failed", + a_Chunk.m_ChunkX, + a_Chunk.m_ChunkZ, + GetFileName().c_str() + ); return false; } @@ -4058,18 +4264,33 @@ bool cWSSAnvil::cMCAFile::SetChunkData(const cChunkCoords & a_Chunk, const Conti UInt32 ChunkSize = htonl(static_cast(a_Data.size() + 1)); if (m_File.Write(&ChunkSize, 4) != 4) { - LOGWARNING("Cannot save chunk [%d, %d], writing(1) data to file \"%s\" failed", a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, GetFileName().c_str()); + LOGWARNING( + "Cannot save chunk [%d, %d], writing(1) data to file \"%s\" failed", + a_Chunk.m_ChunkX, + a_Chunk.m_ChunkZ, + GetFileName().c_str() + ); return false; } char CompressionType = 2; if (m_File.Write(&CompressionType, 1) != 1) { - LOGWARNING("Cannot save chunk [%d, %d], writing(2) data to file \"%s\" failed", a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, GetFileName().c_str()); + LOGWARNING( + "Cannot save chunk [%d, %d], writing(2) data to file \"%s\" failed", + a_Chunk.m_ChunkX, + a_Chunk.m_ChunkZ, + GetFileName().c_str() + ); return false; } if (m_File.Write(a_Data.data(), a_Data.size()) != static_cast(a_Data.size())) { - LOGWARNING("Cannot save chunk [%d, %d], writing(3) data to file \"%s\" failed", a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, GetFileName().c_str()); + LOGWARNING( + "Cannot save chunk [%d, %d], writing(3) data to file \"%s\" failed", + a_Chunk.m_ChunkX, + a_Chunk.m_ChunkZ, + GetFileName().c_str() + ); return false; } @@ -4082,11 +4303,16 @@ bool cWSSAnvil::cMCAFile::SetChunkData(const cChunkCoords & a_Chunk, const Conti } // Store the header: - ChunkSize = (static_cast(a_Data.size()) + MCA_CHUNK_HEADER_LENGTH + 4095) / 4096; // Round data size up to nearest 4KB sector, make it a sector number + ChunkSize = (static_cast(a_Data.size()) + MCA_CHUNK_HEADER_LENGTH + 4095) / + 4096; // Round data size up to nearest 4KB sector, make it a sector number if (ChunkSize > 255) { - LOGWARNING("Cannot save chunk [%d, %d], the data is too large (%u KiB, maximum is 1024 KiB). Remove some entities and retry.", - a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, static_cast(ChunkSize * 4) + LOGWARNING( + "Cannot save chunk [%d, %d], the data is too large (%u KiB, maximum is 1024 KiB). Remove some entities and " + "retry.", + a_Chunk.m_ChunkX, + a_Chunk.m_ChunkZ, + static_cast(ChunkSize * 4) ); return false; } @@ -4095,21 +4321,36 @@ bool cWSSAnvil::cMCAFile::SetChunkData(const cChunkCoords & a_Chunk, const Conti m_Header[LocalX + 32 * LocalZ] = htonl(static_cast((ChunkSector << 8) | ChunkSize)); // Set the modification time - m_TimeStamps[LocalX + 32 * LocalZ] = htonl(static_cast(time(nullptr))); + m_TimeStamps[LocalX + 32 * LocalZ] = htonl(static_cast(time(nullptr))); if (m_File.Seek(0) < 0) { - LOGWARNING("Cannot save chunk [%d, %d], seeking in file \"%s\" failed", a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, GetFileName().c_str()); + LOGWARNING( + "Cannot save chunk [%d, %d], seeking in file \"%s\" failed", + a_Chunk.m_ChunkX, + a_Chunk.m_ChunkZ, + GetFileName().c_str() + ); return false; } if (m_File.Write(m_Header, sizeof(m_Header)) != sizeof(m_Header)) { - LOGWARNING("Cannot save chunk [%d, %d], writing header to file \"%s\" failed", a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, GetFileName().c_str()); + LOGWARNING( + "Cannot save chunk [%d, %d], writing header to file \"%s\" failed", + a_Chunk.m_ChunkX, + a_Chunk.m_ChunkZ, + GetFileName().c_str() + ); return false; } if (m_File.Write(m_TimeStamps, sizeof(m_TimeStamps)) != sizeof(m_TimeStamps)) { - LOGWARNING("Cannot save chunk [%d, %d], writing timestamps to file \"%s\" failed", a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, GetFileName().c_str()); + LOGWARNING( + "Cannot save chunk [%d, %d], writing timestamps to file \"%s\" failed", + a_Chunk.m_ChunkX, + a_Chunk.m_ChunkZ, + GetFileName().c_str() + ); return false; } @@ -4135,7 +4376,8 @@ unsigned cWSSAnvil::cMCAFile::FindFreeLocation(int a_LocalX, int a_LocalZ, const for (size_t i = 0; i < ARRAYCOUNT(m_Header); i++) { ChunkLocation = ntohl(m_Header[i]); - ChunkLocation = ChunkLocation + ((ChunkLocation & 0xff) << 8); // Add the number of sectors used; don't care about the 4th byte + ChunkLocation = ChunkLocation + + ((ChunkLocation & 0xff) << 8); // Add the number of sectors used; don't care about the 4th byte if (MaxLocation < ChunkLocation) { MaxLocation = ChunkLocation; diff --git a/src/WorldStorage/WSSAnvil.h b/src/WorldStorage/WSSAnvil.h index e0c9a9320..88d1a6bd4 100644 --- a/src/WorldStorage/WSSAnvil.h +++ b/src/WorldStorage/WSSAnvil.h @@ -23,18 +23,15 @@ class ChunkBlockData; /** Implements the Anvil world storage schema. */ -class cWSSAnvil: - public cWSSchema +class cWSSAnvil : public cWSSchema { using Super = cWSSchema; -public: - + public: cWSSAnvil(cWorld * a_World, int a_CompressionFactor); virtual ~cWSSAnvil() override; -protected: - + protected: enum { /** Maximum number of chunks in an MCA file - also the count of the header items */ @@ -45,29 +42,27 @@ protected: /** There are 5 bytes of header in front of each chunk */ MCA_CHUNK_HEADER_LENGTH = 5, - } ; + }; class cMCAFile { - public: - + public: cMCAFile(cWSSAnvil & a_ParentSchema, const AString & a_FileName, int a_RegionX, int a_RegionZ); - bool GetChunkData (const cChunkCoords & a_Chunk, ContiguousByteBuffer & a_Data); - bool SetChunkData (const cChunkCoords & a_Chunk, ContiguousByteBufferView a_Data); - - int GetRegionX () const {return m_RegionX; } - int GetRegionZ () const {return m_RegionZ; } - const AString & GetFileName() const {return m_FileName; } + bool GetChunkData(const cChunkCoords & a_Chunk, ContiguousByteBuffer & a_Data); + bool SetChunkData(const cChunkCoords & a_Chunk, ContiguousByteBufferView a_Data); - protected: + int GetRegionX() const { return m_RegionX; } + int GetRegionZ() const { return m_RegionZ; } + const AString & GetFileName() const { return m_FileName; } + protected: cWSSAnvil & m_ParentSchema; - int m_RegionX; - int m_RegionZ; - cFile m_File; + int m_RegionX; + int m_RegionZ; + cFile m_File; AString m_FileName; // The header, copied from the file so we don't have to seek to it all the time @@ -80,9 +75,10 @@ protected: /** Finds a free location large enough to hold a_Data. Returns the sector number. */ unsigned FindFreeLocation(int a_LocalX, int a_LocalZ, size_t a_DataSize); - /** Opens a MCA file either for a Read operation (fails if doesn't exist) or for a Write operation (creates new if not found) */ + /** Opens a MCA file either for a Read operation (fails if doesn't exist) or for a Write operation (creates new + * if not found) */ bool OpenFile(bool a_IsForReading); - } ; + }; /** Protects m_Files against multithreaded access. */ cCriticalSection m_CS; @@ -95,7 +91,11 @@ protected: Compression::Compressor m_Compressor; /** Reports that the specified chunk failed to load and saves the chunk data to an external file. */ - void ChunkLoadFailed(const cChunkCoords a_ChunkCoords, const AString & a_Reason, ContiguousByteBufferView a_ChunkDataToSave); + void ChunkLoadFailed( + const cChunkCoords a_ChunkCoords, + const AString & a_Reason, + ContiguousByteBufferView a_ChunkDataToSave + ); /** Gets chunk data from the correct file; locks file CS as needed */ bool GetChunkData(const cChunkCoords & a_Chunk, ContiguousByteBuffer & a_Data); @@ -114,7 +114,11 @@ protected: /** Loads the chunk from NBT data (no locking needed). a_RawChunkData is the raw (compressed) chunk data, used for offloading when chunk loading fails. */ - bool LoadChunkFromNBT(const cChunkCoords & a_Chunk, const cParsedNBT & a_NBT, ContiguousByteBufferView a_RawChunkData); + bool LoadChunkFromNBT( + const cChunkCoords & a_Chunk, + const cParsedNBT & a_NBT, + ContiguousByteBufferView a_RawChunkData + ); /** Loads the chunk's biome map into a_BiomeMap if biomes present and valid; returns false otherwise. */ bool LoadBiomeMapFromNBT(cChunkDef::BiomeMap & a_BiomeMap, const cParsedNBT & a_NBT, int a_TagIdx); @@ -126,11 +130,22 @@ protected: void LoadEntitiesFromNBT(cEntityList & a_Entitites, const cParsedNBT & a_NBT, int a_Tag); /** Loads the chunk's BlockEntities from NBT data (a_Tag is the Level\\TileEntities list tag; may be -1) */ - void LoadBlockEntitiesFromNBT(cBlockEntities & a_BlockEntitites, const cParsedNBT & a_NBT, int a_Tag, const ChunkBlockData & a_BlockData); + void LoadBlockEntitiesFromNBT( + cBlockEntities & a_BlockEntitites, + const cParsedNBT & a_NBT, + int a_Tag, + const ChunkBlockData & a_BlockData + ); /** Loads the data for a block entity from the specified NBT tag. Returns the loaded block entity, or nullptr upon failure. */ - OwnedBlockEntity LoadBlockEntityFromNBT(const cParsedNBT & a_NBT, int a_Tag, Vector3i a_Pos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); + OwnedBlockEntity LoadBlockEntityFromNBT( + const cParsedNBT & a_NBT, + int a_Tag, + Vector3i a_Pos, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta + ); /** Loads a cItem contents from the specified NBT tag; returns true if successful. Doesn't load the Slot tag */ bool LoadItemFromNBT(cItem & a_Item, const cParsedNBT & a_NBT, int a_TagIdx); @@ -145,128 +160,251 @@ protected: This function extracts the text from either version. */ AString DecodeSignLine(const AString & a_Line); - /** Returns true iff the "id" child tag inside the specified tag equals (case-sensitive) any of the specified expected types. - Logs a warning to the console on mismatch. - The coordinates are used only for the log message. */ - bool CheckBlockEntityType(const cParsedNBT & a_NBT, int a_TagIdx, const AStringVector & a_ExpectedTypes, Vector3i a_Pos); - - OwnedBlockEntity LoadBannerFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadBeaconFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadBedFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadBrewingstandFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadChestFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadCommandBlockFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadDispenserFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadDropperFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadEnchantingTableFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadEnderChestFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadEndPortalFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadFlowerPotFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadFurnaceFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadHopperFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadJukeboxFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadMobHeadFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadMobSpawnerFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadNoteBlockFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - OwnedBlockEntity LoadSignFromNBT (const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos); - - void LoadEntityFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_EntityTagIdx, std::string_view a_EntityName); - - void LoadBoatFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadEnderCrystalFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadFallingBlockFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPickupFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadTNTFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadExpOrbFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadHangingFromNBT (cHangingEntity & a_Hanging, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadItemFrameFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadLeashKnotFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPaintingFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - - void LoadOldMinecartFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadMinecartRFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadMinecartCFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadMinecartFFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadMinecartTFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadMinecartHFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - - void LoadArrowFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSplashPotionFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSnowballFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadEggFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadFireballFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadFireChargeFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + /** Returns true iff the "id" child tag inside the specified tag equals (case-sensitive) any of the specified + expected types. Logs a warning to the console on mismatch. The coordinates are used only for the log message. */ + bool CheckBlockEntityType( + const cParsedNBT & a_NBT, + int a_TagIdx, + const AStringVector & a_ExpectedTypes, + Vector3i a_Pos + ); + + OwnedBlockEntity LoadBannerFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadBeaconFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadBedFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadBrewingstandFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadChestFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadCommandBlockFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadDispenserFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadDropperFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadEnchantingTableFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadEnderChestFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadEndPortalFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadFlowerPotFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadFurnaceFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadHopperFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadJukeboxFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadMobHeadFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadMobSpawnerFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadNoteBlockFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + OwnedBlockEntity LoadSignFromNBT( + const cParsedNBT & a_NBT, + int a_TagIdx, + BLOCKTYPE a_BlockType, + NIBBLETYPE a_BlockMeta, + Vector3i a_Pos + ); + + void LoadEntityFromNBT( + cEntityList & a_Entities, + const cParsedNBT & a_NBT, + int a_EntityTagIdx, + std::string_view a_EntityName + ); + + void LoadBoatFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadEnderCrystalFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadFallingBlockFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPickupFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadTNTFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadExpOrbFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadHangingFromNBT(cHangingEntity & a_Hanging, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadItemFrameFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadLeashKnotFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPaintingFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + + void LoadOldMinecartFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadMinecartRFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadMinecartCFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadMinecartFFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadMinecartTFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadMinecartHFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + + void LoadArrowFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSplashPotionFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSnowballFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadEggFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadFireballFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadFireChargeFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); void LoadThrownEnderpearlFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadBatFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadBlazeFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadCatFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadCaveSpiderFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadChickenFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadCodFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadCowFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadCreeperFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadDolphinFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadDonkeyFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadDrownedFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadElderGuardianFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadEnderDragonFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadEndermanFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadEndermiteFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadEvokerFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadFoxFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadGhastFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadGiantFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadGuardianFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadHorseFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadHoglinFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadHuskFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadIllusionerFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadIronGolemFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadLlamaFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadMagmaCubeFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadMooshroomFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadMuleFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadOcelotFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPandaFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadParrotFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPhantomFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPigFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPiglinFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPiglinBruteFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPillagerFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPolarBearFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadPufferfishFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadRabbitFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadRavagerFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSalmonFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSheepFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadShulkerFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSilverfishFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSkeletonFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSkeletonHorseFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSlimeFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSnowGolemFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSpiderFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadSquidFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadStrayFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadStriderFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadTraderLlamaFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadTropicalFishFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadTurtleFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadVexFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadVillagerFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadVindicatorFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadWanderingTraderFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadWitchFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadWitherFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadWitherSkeletonFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadWolfFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadZoglinFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadZombieFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadZombieHorseFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadZombifiedPiglinFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); - void LoadZombieVillagerFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadBatFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadBlazeFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadCatFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadCaveSpiderFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadChickenFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadCodFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadCowFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadCreeperFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadDolphinFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadDonkeyFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadDrownedFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadElderGuardianFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadEnderDragonFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadEndermanFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadEndermiteFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadEvokerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadFoxFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadGhastFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadGiantFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadGuardianFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadHoglinFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadHuskFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadIllusionerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadIronGolemFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadLlamaFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadMagmaCubeFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadMooshroomFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadMuleFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadOcelotFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPandaFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadParrotFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPhantomFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPigFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPiglinFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPiglinBruteFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPillagerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPolarBearFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadPufferfishFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadRabbitFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadRavagerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSalmonFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSheepFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadShulkerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSilverfishFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSkeletonFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSkeletonHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSlimeFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSnowGolemFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSpiderFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadSquidFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadStrayFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadStriderFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadTraderLlamaFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadTropicalFishFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadTurtleFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadVexFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadVillagerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadVindicatorFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadWanderingTraderFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadWitchFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadWitherFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadWitherSkeletonFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadZoglinFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadZombieFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadZombieHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadZombifiedPiglinFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadZombieVillagerFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); /** Loads the owner name and UUID from the entity at the specified NBT tag. Returns a pair of {name, uuid}. If the entity is not owned, name is an empty string and uuid is nil. */ @@ -284,20 +422,23 @@ protected: /** Loads projectile common data from the NBT compound; returns true if successful */ bool LoadProjectileBaseFromNBT(cProjectileEntity & a_Entity, const cParsedNBT & a_NBT, int a_TagIx); - /** Loads an array of doubles of the specified length from the specified NBT list tag a_TagIdx; returns true if successful */ + /** Loads an array of doubles of the specified length from the specified NBT list tag a_TagIdx; returns true if + * successful */ bool LoadDoublesListFromNBT(double * a_Doubles, int a_NumDoubles, const cParsedNBT & a_NBT, int a_TagIdx); - /** Loads an array of floats of the specified length from the specified NBT list tag a_TagIdx; returns true if successful */ + /** Loads an array of floats of the specified length from the specified NBT list tag a_TagIdx; returns true if + * successful */ bool LoadFloatsListFromNBT(float * a_Floats, int a_NumFloats, const cParsedNBT & a_NBT, int a_TagIdx); /** Helper function for extracting the X, Y, and Z int subtags of a NBT compound; returns true if successful */ bool GetBlockEntityNBTPos(const cParsedNBT & a_NBT, int a_TagIdx, Vector3i & a_AbsPos); - /** Gets the correct MCA file either from cache or from disk, manages the m_MCAFiles cache; assumes m_CS is locked */ + /** Gets the correct MCA file either from cache or from disk, manages the m_MCAFiles cache; assumes m_CS is locked + */ std::shared_ptr LoadMCAFile(const cChunkCoords & a_Chunk); // cWSSchema overrides: virtual bool LoadChunk(const cChunkCoords & a_Chunk) override; virtual bool SaveChunk(const cChunkCoords & a_Chunk) override; - virtual const AString GetName() const override {return "anvil"; } -} ; + virtual const AString GetName() const override { return "anvil"; } +}; diff --git a/src/WorldStorage/WorldStorage.cpp b/src/WorldStorage/WorldStorage.cpp index 2f566a083..ad7c2dece 100644 --- a/src/WorldStorage/WorldStorage.cpp +++ b/src/WorldStorage/WorldStorage.cpp @@ -17,18 +17,20 @@ /** Example storage schema - forgets all chunks */ -class cWSSForgetful : - public cWSSchema +class cWSSForgetful : public cWSSchema { -public: - cWSSForgetful(cWorld * a_World) : cWSSchema(a_World) {} + public: + cWSSForgetful(cWorld * a_World) : + cWSSchema(a_World) + { + } -protected: + protected: // cWSSchema overrides: - virtual bool LoadChunk(const cChunkCoords & a_Chunk) override {return false; } - virtual bool SaveChunk(const cChunkCoords & a_Chunk) override {return true; } - virtual const AString GetName(void) const override {return "forgetful"; } -} ; + virtual bool LoadChunk(const cChunkCoords & a_Chunk) override { return false; } + virtual bool SaveChunk(const cChunkCoords & a_Chunk) override { return true; } + virtual const AString GetName(void) const override { return "forgetful"; } +}; @@ -38,9 +40,7 @@ protected: // cWorldStorage: cWorldStorage::cWorldStorage(void) : - Super("World Storage Executor"), - m_World(nullptr), - m_SaveSchema(nullptr) + Super("World Storage Executor"), m_World(nullptr), m_SaveSchema(nullptr) { } @@ -144,7 +144,7 @@ void cWorldStorage::QueueLoadChunk(int a_ChunkX, int a_ChunkZ) ASSERT((a_ChunkZ > -0x08000000) && (a_ChunkZ < 0x08000000)); ASSERT(m_World->IsChunkQueued(a_ChunkX, a_ChunkZ)); - m_LoadQueue.EnqueueItem({ a_ChunkX, a_ChunkZ }); + m_LoadQueue.EnqueueItem({a_ChunkX, a_ChunkZ}); m_Event.Set(); } @@ -156,7 +156,7 @@ void cWorldStorage::QueueSaveChunk(int a_ChunkX, int a_ChunkZ) { ASSERT(m_World->IsChunkValid(a_ChunkX, a_ChunkZ)); - m_SaveQueue.EnqueueItem({ a_ChunkX, a_ChunkZ }); + m_SaveQueue.EnqueueItem({a_ChunkX, a_ChunkZ}); m_Event.Set(); } @@ -167,7 +167,7 @@ void cWorldStorage::QueueSaveChunk(int a_ChunkX, int a_ChunkZ) void cWorldStorage::InitSchemas(int a_StorageCompressionFactor) { // The first schema added is considered the default - m_Schemas.push_back(new cWSSAnvil (m_World, a_StorageCompressionFactor)); + m_Schemas.push_back(new cWSSAnvil(m_World, a_StorageCompressionFactor)); m_Schemas.push_back(new cWSSForgetful(m_World)); // Add new schemas here @@ -186,8 +186,10 @@ void cWorldStorage::InitSchemas(int a_StorageCompressionFactor) } // for itr - m_Schemas[] // Unknown schema selected, let the admin know: - LOGWARNING("Unknown storage schema name \"%s\". Using default (\"%s\"). Available schemas:", - m_StorageSchemaName.c_str(), m_SaveSchema->GetName().c_str() + LOGWARNING( + "Unknown storage schema name \"%s\". Using default (\"%s\"). Available schemas:", + m_StorageSchemaName.c_str(), + m_SaveSchema->GetName().c_str() ); for (cWSSchemaList::iterator itr = m_Schemas.begin(); itr != m_Schemas.end(); ++itr) { @@ -216,7 +218,8 @@ void cWorldStorage::Execute(void) Success = LoadOneChunk(); Success |= SaveOneChunk(); - } while (Success); + } + while (Success); } } @@ -297,8 +300,3 @@ bool cWorldStorage::LoadChunk(int a_ChunkX, int a_ChunkZ) return false; } - - - - - diff --git a/src/WorldStorage/WorldStorage.h b/src/WorldStorage/WorldStorage.h index 114abb651..7051273b6 100644 --- a/src/WorldStorage/WorldStorage.h +++ b/src/WorldStorage/WorldStorage.h @@ -29,18 +29,20 @@ class cWorld; /** Interface that all the world storage schemas need to implement */ class cWSSchema abstract { -public: - cWSSchema(cWorld * a_World) : m_World(a_World) {} + public: + cWSSchema(cWorld * a_World) : + m_World(a_World) + { + } virtual ~cWSSchema() {} // Force the descendants' destructors to be virtual virtual bool LoadChunk(const cChunkCoords & a_Chunk) = 0; virtual bool SaveChunk(const cChunkCoords & a_Chunk) = 0; virtual const AString GetName(void) const = 0; -protected: - + protected: cWorld * m_World; -} ; +}; typedef std::list cWSSchemaList; @@ -49,13 +51,11 @@ typedef std::list cWSSchemaList; /** The actual world storage class */ -class cWorldStorage: - public cIsThread +class cWorldStorage : public cIsThread { using Super = cIsThread; -public: - + public: cWorldStorage(); virtual ~cWorldStorage() override; @@ -75,10 +75,9 @@ public: size_t GetLoadQueueLength(void); size_t GetSaveQueueLength(void); -protected: - + protected: cWorld * m_World; - AString m_StorageSchemaName; + AString m_StorageSchemaName; cQueue m_LoadQueue; cQueue m_SaveQueue; @@ -105,8 +104,4 @@ protected: /** Saves one chunk from the queue (if any queued); returns true if there was a chunk in the queue to save */ bool SaveOneChunk(void); -} ; - - - - +}; diff --git a/src/XMLParser.h b/src/XMLParser.h index 9ddc1224e..ca6594e74 100644 --- a/src/XMLParser.h +++ b/src/XMLParser.h @@ -19,37 +19,37 @@ class CXMLParser { -public: + public: CXMLParser(void); virtual ~CXMLParser(); // The actual parsing, may be called several times; the last time needs iIsFinal == true (-> flush) int Parse(const char * iData, size_t iLength, bool iIsFinal = false); -private: + private: // LibExpat stuff: XML_Parser mParser; static void StartElementHandler(void * iContext, const XML_Char * iElement, const XML_Char ** iAttributes) { - ((CXMLParser *)iContext)->OnStartElement(iElement, iAttributes); + ((CXMLParser *) iContext)->OnStartElement(iElement, iAttributes); } - static void EndElementHandler (void * iContext, const XML_Char * iElement) + static void EndElementHandler(void * iContext, const XML_Char * iElement) { - ((CXMLParser *)iContext)->OnEndElement(iElement); + ((CXMLParser *) iContext)->OnEndElement(iElement); } - static void CharacterDataHandler (void * iContext, const XML_Char * iData, int iLength) + static void CharacterDataHandler(void * iContext, const XML_Char * iData, int iLength) { - ((CXMLParser *)iContext)->OnCharacters(iData, iLength); + ((CXMLParser *) iContext)->OnCharacters(iData, iLength); } -protected: + protected: virtual void OnStartElement(const XML_Char * iElement, const XML_Char ** iAttributes) = 0; - virtual void OnEndElement (const XML_Char * iElement) = 0; - virtual void OnCharacters (const XML_Char * iCharacters, int iLength) = 0; -} ; + virtual void OnEndElement(const XML_Char * iElement) = 0; + virtual void OnCharacters(const XML_Char * iCharacters, int iLength) = 0; +}; @@ -73,36 +73,27 @@ protected: Parser.Parse(Buffer, Length); */ -template -class CExpatImpl +template class CExpatImpl { -// @access Constructors and destructors -public: - + // @access Constructors and destructors + public: // @cmember General constructor - CExpatImpl () - { - m_p = nullptr; - } + CExpatImpl() { m_p = nullptr; } // @cmember Destructor - ~CExpatImpl () - { - Destroy (); - } - -// @access Parser creation and deletion methods -public: + ~CExpatImpl() { Destroy(); } + // @access Parser creation and deletion methods + public: // @cmember Create a parser - bool Create (const XML_Char * pszEncoding = nullptr, const XML_Char * pszSep = nullptr) + bool Create(const XML_Char * pszEncoding = nullptr, const XML_Char * pszSep = nullptr) { // Destroy the old parser - Destroy (); + Destroy(); // If the encoding or seperator are empty, then nullptr if ((pszEncoding != nullptr) && (pszEncoding[0] == 0)) @@ -115,28 +106,28 @@ public: } // Create the new parser - m_p = XML_ParserCreate_MM (pszEncoding, nullptr, pszSep); + m_p = XML_ParserCreate_MM(pszEncoding, nullptr, pszSep); if (m_p == nullptr) { return false; } // Invoke the post create routine - _T * pThis = static_cast <_T *> (this); - pThis ->OnPostCreate (); + _T * pThis = static_cast<_T *>(this); + pThis->OnPostCreate(); // Set the user data used in callbacks - XML_SetUserData (m_p, (void *) this); + XML_SetUserData(m_p, (void *) this); return true; } // @cmember Destroy the parser - void Destroy (void) + void Destroy(void) { if (m_p != nullptr) { - XML_ParserFree (m_p); + XML_ParserFree(m_p); } m_p = nullptr; } @@ -144,285 +135,275 @@ public: // @cmember Parse a block of data - bool Parse (const char *pszBuffer, int nLength, bool fIsFinal = true) + bool Parse(const char * pszBuffer, int nLength, bool fIsFinal = true) { - assert (m_p != nullptr); - return (XML_Parse (m_p, pszBuffer, nLength, fIsFinal) != 0); + assert(m_p != nullptr); + return (XML_Parse(m_p, pszBuffer, nLength, fIsFinal) != 0); } // @cmember Parse internal buffer - bool ParseBuffer (int nLength, bool fIsFinal = true) + bool ParseBuffer(int nLength, bool fIsFinal = true) { - assert (m_p != nullptr); - return XML_ParseBuffer (m_p, nLength, fIsFinal) != 0; + assert(m_p != nullptr); + return XML_ParseBuffer(m_p, nLength, fIsFinal) != 0; } // @cmember Get the internal buffer - void *GetBuffer (int nLength) + void * GetBuffer(int nLength) { - assert (m_p != nullptr); - return XML_GetBuffer (m_p, nLength); + assert(m_p != nullptr); + return XML_GetBuffer(m_p, nLength); } -protected: + protected: // Parser callback enable / disable methods: // @cmember Enable / Disable the start element handler - void EnableStartElementHandler (bool fEnable = true) + void EnableStartElementHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetStartElementHandler (m_p, fEnable ? StartElementHandler : nullptr); + assert(m_p != nullptr); + XML_SetStartElementHandler(m_p, fEnable ? StartElementHandler : nullptr); } // @cmember Enable / Disable the end element handler - void EnableEndElementHandler (bool fEnable = true) + void EnableEndElementHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetEndElementHandler (m_p, fEnable ? EndElementHandler : nullptr); + assert(m_p != nullptr); + XML_SetEndElementHandler(m_p, fEnable ? EndElementHandler : nullptr); } // @cmember Enable / Disable the element handlers - void EnableElementHandler (bool fEnable = true) + void EnableElementHandler(bool fEnable = true) { - assert (m_p != nullptr); - EnableStartElementHandler (fEnable); - EnableEndElementHandler (fEnable); + assert(m_p != nullptr); + EnableStartElementHandler(fEnable); + EnableEndElementHandler(fEnable); } // @cmember Enable / Disable the character data handler - void EnableCharacterDataHandler (bool fEnable = true) + void EnableCharacterDataHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetCharacterDataHandler (m_p, fEnable ? CharacterDataHandler : nullptr); + assert(m_p != nullptr); + XML_SetCharacterDataHandler(m_p, fEnable ? CharacterDataHandler : nullptr); } // @cmember Enable / Disable the processing instruction handler - void EnableProcessingInstructionHandler (bool fEnable = true) + void EnableProcessingInstructionHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetProcessingInstructionHandler (m_p, fEnable ? ProcessingInstructionHandler : nullptr); + assert(m_p != nullptr); + XML_SetProcessingInstructionHandler(m_p, fEnable ? ProcessingInstructionHandler : nullptr); } // @cmember Enable / Disable the comment handler - void EnableCommentHandler (bool fEnable = true) + void EnableCommentHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetCommentHandler (m_p, fEnable ? CommentHandler : nullptr); + assert(m_p != nullptr); + XML_SetCommentHandler(m_p, fEnable ? CommentHandler : nullptr); } // @cmember Enable / Disable the start CDATA section handler - void EnableStartCdataSectionHandler (bool fEnable = true) + void EnableStartCdataSectionHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetStartCdataSectionHandler (m_p, fEnable ? StartCdataSectionHandler : nullptr); + assert(m_p != nullptr); + XML_SetStartCdataSectionHandler(m_p, fEnable ? StartCdataSectionHandler : nullptr); } // @cmember Enable / Disable the end CDATA section handler - void EnableEndCdataSectionHandler (bool fEnable = true) + void EnableEndCdataSectionHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetEndCdataSectionHandler (m_p, fEnable ? EndCdataSectionHandler : nullptr); + assert(m_p != nullptr); + XML_SetEndCdataSectionHandler(m_p, fEnable ? EndCdataSectionHandler : nullptr); } // @cmember Enable / Disable the CDATA section handlers - void EnableCdataSectionHandler (bool fEnable = true) + void EnableCdataSectionHandler(bool fEnable = true) { - assert (m_p != nullptr); - EnableStartCdataSectionHandler (fEnable); - EnableEndCdataSectionHandler (fEnable); + assert(m_p != nullptr); + EnableStartCdataSectionHandler(fEnable); + EnableEndCdataSectionHandler(fEnable); } // @cmember Enable / Disable default handler - void EnableDefaultHandler (bool fEnable = true, bool fExpand = true) + void EnableDefaultHandler(bool fEnable = true, bool fExpand = true) { - assert (m_p != nullptr); + assert(m_p != nullptr); if (fExpand) { - XML_SetDefaultHandlerExpand (m_p, fEnable ? DefaultHandler : nullptr); + XML_SetDefaultHandlerExpand(m_p, fEnable ? DefaultHandler : nullptr); } else { - XML_SetDefaultHandler (m_p, fEnable ? DefaultHandler : nullptr); + XML_SetDefaultHandler(m_p, fEnable ? DefaultHandler : nullptr); } } // @cmember Enable / Disable external entity ref handler - void EnableExternalEntityRefHandler (bool fEnable = true) + void EnableExternalEntityRefHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetExternalEntityRefHandler (m_p, fEnable ? ExternalEntityRefHandler : nullptr); + assert(m_p != nullptr); + XML_SetExternalEntityRefHandler(m_p, fEnable ? ExternalEntityRefHandler : nullptr); } // @cmember Enable / Disable unknown encoding handler - void EnableUnknownEncodingHandler (bool fEnable = true) + void EnableUnknownEncodingHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetUnknownEncodingHandler (m_p, fEnable ? UnknownEncodingHandler : nullptr); + assert(m_p != nullptr); + XML_SetUnknownEncodingHandler(m_p, fEnable ? UnknownEncodingHandler : nullptr); } // @cmember Enable / Disable start namespace handler - void EnableStartNamespaceDeclHandler (bool fEnable = true) + void EnableStartNamespaceDeclHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetStartNamespaceDeclHandler (m_p, fEnable ? StartNamespaceDeclHandler : nullptr); + assert(m_p != nullptr); + XML_SetStartNamespaceDeclHandler(m_p, fEnable ? StartNamespaceDeclHandler : nullptr); } // @cmember Enable / Disable end namespace handler - void EnableEndNamespaceDeclHandler (bool fEnable = true) + void EnableEndNamespaceDeclHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetEndNamespaceDeclHandler (m_p, fEnable ? EndNamespaceDeclHandler : nullptr); + assert(m_p != nullptr); + XML_SetEndNamespaceDeclHandler(m_p, fEnable ? EndNamespaceDeclHandler : nullptr); } // @cmember Enable / Disable namespace handlers - void EnableNamespaceDeclHandler (bool fEnable = true) + void EnableNamespaceDeclHandler(bool fEnable = true) { - EnableStartNamespaceDeclHandler (fEnable); - EnableEndNamespaceDeclHandler (fEnable); + EnableStartNamespaceDeclHandler(fEnable); + EnableEndNamespaceDeclHandler(fEnable); } // @cmember Enable / Disable the XML declaration handler - void EnableXmlDeclHandler (bool fEnable = true) + void EnableXmlDeclHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetXmlDeclHandler (m_p, fEnable ? XmlDeclHandler : nullptr); + assert(m_p != nullptr); + XML_SetXmlDeclHandler(m_p, fEnable ? XmlDeclHandler : nullptr); } // @cmember Enable / Disable the start DOCTYPE declaration handler - void EnableStartDoctypeDeclHandler (bool fEnable = true) + void EnableStartDoctypeDeclHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetStartDoctypeDeclHandler (m_p, fEnable ? StartDoctypeDeclHandler : nullptr); + assert(m_p != nullptr); + XML_SetStartDoctypeDeclHandler(m_p, fEnable ? StartDoctypeDeclHandler : nullptr); } // @cmember Enable / Disable the end DOCTYPE declaration handler - void EnableEndDoctypeDeclHandler (bool fEnable = true) + void EnableEndDoctypeDeclHandler(bool fEnable = true) { - assert (m_p != nullptr); - XML_SetEndDoctypeDeclHandler (m_p, - fEnable ? EndDoctypeDeclHandler : nullptr); + assert(m_p != nullptr); + XML_SetEndDoctypeDeclHandler(m_p, fEnable ? EndDoctypeDeclHandler : nullptr); } // @cmember Enable / Disable the DOCTYPE declaration handler - void EnableDoctypeDeclHandler (bool fEnable = true) + void EnableDoctypeDeclHandler(bool fEnable = true) { - assert (m_p != nullptr); - EnableStartDoctypeDeclHandler (fEnable); - EnableEndDoctypeDeclHandler (fEnable); + assert(m_p != nullptr); + EnableStartDoctypeDeclHandler(fEnable); + EnableEndDoctypeDeclHandler(fEnable); } -public: + public: // Parser error reporting methods // @cmember Get last error - enum XML_Error GetErrorCode () + enum XML_Error GetErrorCode() { - assert (m_p != nullptr); - return XML_GetErrorCode (m_p); + assert(m_p != nullptr); + return XML_GetErrorCode(m_p); } // @cmember Get the current byte index - long GetCurrentByteIndex () + long GetCurrentByteIndex() { - assert (m_p != nullptr); - return XML_GetCurrentByteIndex (m_p); + assert(m_p != nullptr); + return XML_GetCurrentByteIndex(m_p); } // @cmember Get the current line number - int GetCurrentLineNumber () + int GetCurrentLineNumber() { - assert (m_p != nullptr); - return XML_GetCurrentLineNumber (m_p); + assert(m_p != nullptr); + return XML_GetCurrentLineNumber(m_p); } // @cmember Get the current column number - int GetCurrentColumnNumber () + int GetCurrentColumnNumber() { - assert (m_p != nullptr); - return XML_GetCurrentColumnNumber (m_p); + assert(m_p != nullptr); + return XML_GetCurrentColumnNumber(m_p); } // @cmember Get the current byte count - int GetCurrentByteCount () + int GetCurrentByteCount() { - assert (m_p != nullptr); - return XML_GetCurrentByteCount (m_p); + assert(m_p != nullptr); + return XML_GetCurrentByteCount(m_p); } // @cmember Get the input context - const char *GetInputContext (int *pnOffset, int *pnSize) + const char * GetInputContext(int * pnOffset, int * pnSize) { - assert (m_p != nullptr); - return XML_GetInputContext (m_p, pnOffset, pnSize); + assert(m_p != nullptr); + return XML_GetInputContext(m_p, pnOffset, pnSize); } // @cmember Get last error string - const XML_LChar *GetErrorString () - { - return XML_ErrorString (GetErrorCode ()); - } + const XML_LChar * GetErrorString() { return XML_ErrorString(GetErrorCode()); } // @cmember Return the version string - static const XML_LChar *GetExpatVersion () - { - return XML_ExpatVersion (); - } + static const XML_LChar * GetExpatVersion() { return XML_ExpatVersion(); } // @cmember Get the version information - static void GetExpatVersion (int *pnMajor, int *pnMinor, int *pnMicro) + static void GetExpatVersion(int * pnMajor, int * pnMinor, int * pnMicro) { - XML_expat_version v = XML_ExpatVersionInfo (); + XML_expat_version v = XML_ExpatVersionInfo(); if (pnMajor) { - *pnMajor = v .major; + *pnMajor = v.major; } if (pnMinor) { - *pnMinor = v .minor; + *pnMinor = v.minor; } if (pnMicro) { - *pnMicro = v .micro; + *pnMicro = v.micro; } } // @cmember Get last error string - static const XML_LChar *GetErrorString (enum XML_Error nError) - { - return XML_ErrorString (nError); - } + static const XML_LChar * GetErrorString(enum XML_Error nError) { return XML_ErrorString(nError); } // Public handler methods: @@ -430,264 +411,231 @@ public: // @cmember Start element handler - void OnStartElement (const XML_Char *pszName, const XML_Char **papszAttrs) - { - return; - } + void OnStartElement(const XML_Char * pszName, const XML_Char ** papszAttrs) { return; } // @cmember End element handler - void OnEndElement (const XML_Char *pszName) - { - return; - } + void OnEndElement(const XML_Char * pszName) { return; } // @cmember Character data handler - void OnCharacterData (const XML_Char *pszData, int nLength) - { - return; - } + void OnCharacterData(const XML_Char * pszData, int nLength) { return; } // @cmember Processing instruction handler - void OnProcessingInstruction (const XML_Char *pszTarget, - const XML_Char *pszData) - { - return; - } + void OnProcessingInstruction(const XML_Char * pszTarget, const XML_Char * pszData) { return; } // @cmember Comment handler - void OnComment (const XML_Char *pszData) - { - return; - } + void OnComment(const XML_Char * pszData) { return; } // @cmember Start CDATA section handler - void OnStartCdataSection () - { - return; - } + void OnStartCdataSection() { return; } // @cmember End CDATA section handler - void OnEndCdataSection () - { - return; - } + void OnEndCdataSection() { return; } // @cmember Default handler - void OnDefault (const XML_Char *pszData, int nLength) - { - return; - } + void OnDefault(const XML_Char * pszData, int nLength) { return; } // @cmember External entity ref handler - bool OnExternalEntityRef (const XML_Char *pszContext, - const XML_Char *pszBase, const XML_Char *pszSystemID, - const XML_Char *pszPublicID) + bool OnExternalEntityRef( + const XML_Char * pszContext, + const XML_Char * pszBase, + const XML_Char * pszSystemID, + const XML_Char * pszPublicID + ) { return false; } // @cmember Unknown encoding handler - bool OnUnknownEncoding (const XML_Char *pszName, XML_Encoding *pInfo) - { - return false; - } + bool OnUnknownEncoding(const XML_Char * pszName, XML_Encoding * pInfo) { return false; } // @cmember Start namespace declaration handler - void OnStartNamespaceDecl (const XML_Char *pszPrefix, - const XML_Char *pszURI) - { - return; - } + void OnStartNamespaceDecl(const XML_Char * pszPrefix, const XML_Char * pszURI) { return; } // @cmember End namespace declaration handler - void OnEndNamespaceDecl (const XML_Char *pszPrefix) - { - return; - } + void OnEndNamespaceDecl(const XML_Char * pszPrefix) { return; } // @cmember XML declaration handler - void OnXmlDecl (const XML_Char *pszVersion, const XML_Char *pszEncoding, - bool fStandalone) - { - return; - } + void OnXmlDecl(const XML_Char * pszVersion, const XML_Char * pszEncoding, bool fStandalone) { return; } // @cmember Start DOCTYPE declaration handler - void OnStartDoctypeDecl (const XML_Char *pszDoctypeName, - const XML_Char *pszSysID, const XML_Char *pszPubID, - bool fHasInternalSubset) + void OnStartDoctypeDecl( + const XML_Char * pszDoctypeName, + const XML_Char * pszSysID, + const XML_Char * pszPubID, + bool fHasInternalSubset + ) { return; } // @cmember End DOCTYPE declaration handler - void OnEndDoctypeDecl () - { - return; - } - -// @access Protected methods -protected: + void OnEndDoctypeDecl() { return; } + // @access Protected methods + protected: // @cmember Handle any post creation - void OnPostCreate () - { - } - -// @access Protected static methods -protected: + void OnPostCreate() {} + // @access Protected static methods + protected: // @cmember Start element handler wrapper - static void __cdecl StartElementHandler (void *pUserData, - const XML_Char *pszName, const XML_Char **papszAttrs) + static void __cdecl StartElementHandler(void * pUserData, const XML_Char * pszName, const XML_Char ** papszAttrs) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnStartElement (pszName, papszAttrs); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnStartElement(pszName, papszAttrs); } // @cmember End element handler wrapper - static void __cdecl EndElementHandler (void *pUserData, - const XML_Char *pszName) + static void __cdecl EndElementHandler(void * pUserData, const XML_Char * pszName) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnEndElement (pszName); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnEndElement(pszName); } // @cmember Character data handler wrapper - static void __cdecl CharacterDataHandler (void *pUserData, - const XML_Char *pszData, int nLength) + static void __cdecl CharacterDataHandler(void * pUserData, const XML_Char * pszData, int nLength) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnCharacterData (pszData, nLength); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnCharacterData(pszData, nLength); } // @cmember Processing instruction handler wrapper - static void __cdecl ProcessingInstructionHandler (void *pUserData, - const XML_Char *pszTarget, const XML_Char *pszData) + static void __cdecl ProcessingInstructionHandler( + void * pUserData, + const XML_Char * pszTarget, + const XML_Char * pszData + ) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnProcessingInstruction (pszTarget, pszData); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnProcessingInstruction(pszTarget, pszData); } // @cmember Comment handler wrapper - static void __cdecl CommentHandler (void *pUserData, - const XML_Char *pszData) + static void __cdecl CommentHandler(void * pUserData, const XML_Char * pszData) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnComment (pszData); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnComment(pszData); } // @cmember Start CDATA section wrapper - static void __cdecl StartCdataSectionHandler (void *pUserData) + static void __cdecl StartCdataSectionHandler(void * pUserData) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnStartCdataSection (); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnStartCdataSection(); } // @cmember End CDATA section wrapper - static void __cdecl EndCdataSectionHandler (void *pUserData) + static void __cdecl EndCdataSectionHandler(void * pUserData) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnEndCdataSection (); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnEndCdataSection(); } // @cmember Default wrapper - static void __cdecl DefaultHandler (void *pUserData, - const XML_Char *pszData, int nLength) + static void __cdecl DefaultHandler(void * pUserData, const XML_Char * pszData, int nLength) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnDefault (pszData, nLength); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnDefault(pszData, nLength); } // @cmember External entity ref wrapper - static int __cdecl ExternalEntityRefHandler (void *pUserData, - const XML_Char *pszContext, const XML_Char *pszBase, - const XML_Char *pszSystemID, const XML_Char *pszPublicID) + static int __cdecl ExternalEntityRefHandler( + void * pUserData, + const XML_Char * pszContext, + const XML_Char * pszBase, + const XML_Char * pszSystemID, + const XML_Char * pszPublicID + ) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - return pThis ->OnExternalEntityRef (pszContext, - pszBase, pszSystemID, pszPublicID) ? 1 : 0; + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + return pThis->OnExternalEntityRef(pszContext, pszBase, pszSystemID, pszPublicID) ? 1 : 0; } // @cmember Unknown encoding wrapper - static int __cdecl UnknownEncodingHandler (void * pUserData, const XML_Char * pszName, XML_Encoding * pInfo) + static int __cdecl UnknownEncodingHandler(void * pUserData, const XML_Char * pszName, XML_Encoding * pInfo) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - return pThis ->OnUnknownEncoding (pszName, pInfo) ? 1 : 0; + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + return pThis->OnUnknownEncoding(pszName, pInfo) ? 1 : 0; } // @cmember Start namespace decl wrapper - static void __cdecl StartNamespaceDeclHandler (void * pUserData, const XML_Char * pszPrefix, const XML_Char * pszURI) + static void __cdecl StartNamespaceDeclHandler(void * pUserData, const XML_Char * pszPrefix, const XML_Char * pszURI) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnStartNamespaceDecl (pszPrefix, pszURI); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnStartNamespaceDecl(pszPrefix, pszURI); } // @cmember End namespace decl wrapper - static void __cdecl EndNamespaceDeclHandler (void * pUserData, const XML_Char * pszPrefix) + static void __cdecl EndNamespaceDeclHandler(void * pUserData, const XML_Char * pszPrefix) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnEndNamespaceDecl (pszPrefix); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnEndNamespaceDecl(pszPrefix); } // @cmember XML declaration wrapper - static void __cdecl XmlDeclHandler (void *pUserData, const XML_Char *pszVersion, const XML_Char *pszEncoding, int nStandalone) + static void __cdecl XmlDeclHandler( + void * pUserData, + const XML_Char * pszVersion, + const XML_Char * pszEncoding, + int nStandalone + ) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnXmlDecl (pszVersion, pszEncoding, nStandalone != 0); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnXmlDecl(pszVersion, pszEncoding, nStandalone != 0); } // @cmember Start Doctype declaration wrapper - static void __cdecl StartDoctypeDeclHandler ( - void *pUserData, const XML_Char *pszDoctypeName, const XML_Char *pszSysID, - const XML_Char *pszPubID, int nHasInternalSubset + static void __cdecl StartDoctypeDeclHandler( + void * pUserData, + const XML_Char * pszDoctypeName, + const XML_Char * pszSysID, + const XML_Char * pszPubID, + int nHasInternalSubset ) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnStartDoctypeDecl (pszDoctypeName, pszSysID, - pszPubID, nHasInternalSubset != 0); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnStartDoctypeDecl(pszDoctypeName, pszSysID, pszPubID, nHasInternalSubset != 0); } // @cmember End Doctype declaration wrapper - static void __cdecl EndDoctypeDeclHandler (void *pUserData) + static void __cdecl EndDoctypeDeclHandler(void * pUserData) { - _T *pThis = static_cast <_T *> ((CExpatImpl <_T> *) pUserData); - pThis ->OnEndDoctypeDecl (); + _T * pThis = static_cast<_T *>((CExpatImpl<_T> *) pUserData); + pThis->OnEndDoctypeDecl(); } -protected: - + protected: XML_Parser m_p; /** Returns the value of the specified attribute, if found; nullptr otherwise */ @@ -702,8 +650,4 @@ protected: } // for Attr - iAttrs[] return nullptr; } -} ; - - - - +}; diff --git a/src/fmt.h b/src/fmt.h index 5ed521c18..9a17ec5e2 100644 --- a/src/fmt.h +++ b/src/fmt.h @@ -1,15 +1,14 @@ #pragma once #ifdef __clang__ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wsign-conversion" - #pragma clang diagnostic ignored "-Wsigned-enum-bitfield" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wsign-conversion" +#pragma clang diagnostic ignored "-Wsigned-enum-bitfield" #endif #include #include #ifdef __clang__ - #pragma clang diagnostic pop +#pragma clang diagnostic pop #endif - diff --git a/src/main.cpp b/src/main.cpp index dd84e3be4..a7bb05d0d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -33,17 +33,32 @@ static void ParseArguments(int argc, char ** argv, cMemorySettingsRepository & a { // Parse the comand line args: TCLAP::CmdLine cmd("Cuberite"); - TCLAP::ValueArg slotsArg ("s", "max-players", "Maximum number of slots for the server to use, overrides setting in setting.ini", false, -1, "number", cmd); - TCLAP::ValueArg confArg ("c", "config-file", "Config file to use", false, "settings.ini", "string", cmd); - TCLAP::MultiArg portsArg ("p", "port", "The port number the server should listen to", false, "port", cmd); - TCLAP::SwitchArg commLogArg ("", "log-comm", "Log server client communications to file", cmd); - TCLAP::SwitchArg commLogInArg ("", "log-comm-in", "Log inbound server client communications to file", cmd); - TCLAP::SwitchArg commLogOutArg ("", "log-comm-out", "Log outbound server client communications to file", cmd); - TCLAP::SwitchArg crashDumpFull ("", "crash-dump-full", "Crashdumps created by the server will contain full server memory", cmd); - TCLAP::SwitchArg crashDumpGlobals("", "crash-dump-globals", "Crashdumps created by the server will contain the global variables' values", cmd); - TCLAP::SwitchArg noBufArg ("", "no-output-buffering", "Disable output buffering", cmd); - TCLAP::SwitchArg noFileLogArg ("", "no-log-file", "Disable logging to file", cmd); - TCLAP::SwitchArg runAsServiceArg ("d", "service", "Run as a service on Windows, or daemon on UNIX like systems", cmd); + TCLAP::ValueArg slotsArg( + "s", + "max-players", + "Maximum number of slots for the server to use, overrides setting in setting.ini", + false, + -1, + "number", + cmd + ); + TCLAP::ValueArg confArg("c", "config-file", "Config file to use", false, "settings.ini", "string", cmd); + TCLAP::MultiArg portsArg("p", "port", "The port number the server should listen to", false, "port", cmd); + TCLAP::SwitchArg commLogArg("", "log-comm", "Log server client communications to file", cmd); + TCLAP::SwitchArg commLogInArg("", "log-comm-in", "Log inbound server client communications to file", cmd); + TCLAP::SwitchArg commLogOutArg("", "log-comm-out", "Log outbound server client communications to file", cmd); + TCLAP::SwitchArg + crashDumpFull("", "crash-dump-full", "Crashdumps created by the server will contain full server memory", cmd); + TCLAP::SwitchArg crashDumpGlobals( + "", + "crash-dump-globals", + "Crashdumps created by the server will contain the global variables' values", + cmd + ); + TCLAP::SwitchArg noBufArg("", "no-output-buffering", "Disable output buffering", cmd); + TCLAP::SwitchArg noFileLogArg("", "no-log-file", "Disable logging to file", cmd); + TCLAP::SwitchArg + runAsServiceArg("d", "service", "Run as a service on Windows, or daemon on UNIX like systems", cmd); cmd.parse(argc, argv); // Copy the parsed args' values into a settings repository: @@ -59,7 +74,7 @@ static void ParseArguments(int argc, char ** argv, cMemorySettingsRepository & a } if (portsArg.isSet()) { - for (auto port: portsArg.getValue()) + for (auto port : portsArg.getValue()) { a_Settings.AddValue("Server", "Ports", std::to_string(port)); } @@ -117,10 +132,7 @@ static int UniversalMain(int argc, char * argv[], const bool a_RunningAsService) MiniDumpWriter::Register(); } - ~MiniDumpWriterRAII() - { - MiniDumpWriter::Unregister(); - } + ~MiniDumpWriterRAII() { MiniDumpWriter::Unregister(); } } MiniDumpWriter; const struct SleepResolutionBoosterRAII @@ -131,10 +143,7 @@ static int UniversalMain(int argc, char * argv[], const bool a_RunningAsService) SleepResolutionBooster::Register(); } - ~SleepResolutionBoosterRAII() - { - SleepResolutionBooster::Unregister(); - } + ~SleepResolutionBoosterRAII() { SleepResolutionBooster::Unregister(); } } SleepResolutionBooster; // Register signal handlers, enabling graceful shutdown from the terminal: @@ -211,11 +220,10 @@ static int UniversalMain(int argc, char * argv[], const bool a_RunningAsService) int main(int argc, char ** argv) { #if !defined(NDEBUG) && defined(_MSC_VER) - _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); + _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); - // _X: The simple built-in CRT leak finder - simply break when allocating the Nth block ({N} is listed in the leak output) - // Only useful when the leak is in the same sequence all the time - // _CrtSetBreakAlloc(85950); + // _X: The simple built-in CRT leak finder - simply break when allocating the Nth block ({N} is listed in the leak + // output) Only useful when the leak is in the same sequence all the time _CrtSetBreakAlloc(85950); #endif // !NDEBUG && _MSC_VER diff --git a/src/mbedTLS++/AesCfb128Decryptor.cpp b/src/mbedTLS++/AesCfb128Decryptor.cpp index 3efe95dbe..6587c0e56 100644 --- a/src/mbedTLS++/AesCfb128Decryptor.cpp +++ b/src/mbedTLS++/AesCfb128Decryptor.cpp @@ -54,7 +54,7 @@ void cAesCfb128Decryptor::Init(const Byte a_Key[16], const Byte a_IV[16]) } Key; const DWORD Mode = CRYPT_MODE_CFB; - Key.Header = { PLAINTEXTKEYBLOB, CUR_BLOB_VERSION, 0, CALG_AES_128 }; + Key.Header = {PLAINTEXTKEYBLOB, CUR_BLOB_VERSION, 0, CALG_AES_128}; Key.Length = 16; std::copy_n(a_Key, 16, Key.Key); @@ -83,6 +83,13 @@ void cAesCfb128Decryptor::ProcessData(std::byte * const a_EncryptedIn, const siz DWORD Length = static_cast(a_Length); CryptDecrypt(m_Key, 0, FALSE, 0, reinterpret_cast(a_EncryptedIn), &Length); #else - mbedtls_aes_crypt_cfb8(&m_Aes, MBEDTLS_AES_DECRYPT, a_Length, m_IV, reinterpret_cast(a_EncryptedIn), reinterpret_cast(a_EncryptedIn)); + mbedtls_aes_crypt_cfb8( + &m_Aes, + MBEDTLS_AES_DECRYPT, + a_Length, + m_IV, + reinterpret_cast(a_EncryptedIn), + reinterpret_cast(a_EncryptedIn) + ); #endif } diff --git a/src/mbedTLS++/AesCfb128Decryptor.h b/src/mbedTLS++/AesCfb128Decryptor.h index 1fee2bbba..7da582647 100644 --- a/src/mbedTLS++/AesCfb128Decryptor.h +++ b/src/mbedTLS++/AesCfb128Decryptor.h @@ -22,8 +22,7 @@ /** Decrypts data using the AES / CFB 128 algorithm */ class cAesCfb128Decryptor { -public: - + public: cAesCfb128Decryptor(void); ~cAesCfb128Decryptor(); @@ -36,8 +35,7 @@ public: /** Returns true if the object has been initialized with the Key / IV */ bool IsValid(void) const { return m_IsValid; } -protected: - + protected: #if PLATFORM_CRYPTOGRAPHY && defined(_WIN32) HCRYPTPROV m_Aes; HCRYPTKEY m_Key; @@ -50,4 +48,4 @@ protected: /** Indicates whether the object has been initialized with the Key / IV */ bool m_IsValid; -} ; +}; diff --git a/src/mbedTLS++/AesCfb128Encryptor.cpp b/src/mbedTLS++/AesCfb128Encryptor.cpp index 2a08ef28e..7a1480d95 100644 --- a/src/mbedTLS++/AesCfb128Encryptor.cpp +++ b/src/mbedTLS++/AesCfb128Encryptor.cpp @@ -10,7 +10,7 @@ -cAesCfb128Encryptor::cAesCfb128Encryptor(void): +cAesCfb128Encryptor::cAesCfb128Encryptor(void) : m_IsValid(false) { mbedtls_aes_init(&m_Aes); @@ -46,5 +46,12 @@ void cAesCfb128Encryptor::Init(const Byte a_Key[16], const Byte a_IV[16]) void cAesCfb128Encryptor::ProcessData(std::byte * const a_PlainIn, const size_t a_Length) { ASSERT(IsValid()); // Must Init() first - mbedtls_aes_crypt_cfb8(&m_Aes, MBEDTLS_AES_ENCRYPT, a_Length, m_IV, reinterpret_cast(a_PlainIn), reinterpret_cast(a_PlainIn)); + mbedtls_aes_crypt_cfb8( + &m_Aes, + MBEDTLS_AES_ENCRYPT, + a_Length, + m_IV, + reinterpret_cast(a_PlainIn), + reinterpret_cast(a_PlainIn) + ); } diff --git a/src/mbedTLS++/AesCfb128Encryptor.h b/src/mbedTLS++/AesCfb128Encryptor.h index ce3e1fd56..e656b12ff 100644 --- a/src/mbedTLS++/AesCfb128Encryptor.h +++ b/src/mbedTLS++/AesCfb128Encryptor.h @@ -18,8 +18,7 @@ /** Encrypts data using the AES / CFB (128) algorithm */ class cAesCfb128Encryptor { -public: - + public: cAesCfb128Encryptor(void); ~cAesCfb128Encryptor(); @@ -32,8 +31,7 @@ public: /** Returns true if the object has been initialized with the Key / IV */ bool IsValid(void) const { return m_IsValid; } -protected: - + protected: mbedtls_aes_context m_Aes; /** The InitialVector, used by the CFB mode encryption */ @@ -41,4 +39,4 @@ protected: /** Indicates whether the object has been initialized with the Key / IV */ bool m_IsValid; -} ; +}; diff --git a/src/mbedTLS++/BlockingSslClientSocket.cpp b/src/mbedTLS++/BlockingSslClientSocket.cpp index 6e6410879..452da1b50 100644 --- a/src/mbedTLS++/BlockingSslClientSocket.cpp +++ b/src/mbedTLS++/BlockingSslClientSocket.cpp @@ -13,24 +13,17 @@ //////////////////////////////////////////////////////////////////////////////// // cBlockingSslClientSocketConnectCallbacks: -class cBlockingSslClientSocketConnectCallbacks: - public cNetwork::cConnectCallbacks +class cBlockingSslClientSocketConnectCallbacks : public cNetwork::cConnectCallbacks { /** The socket object that is using this instance of the callbacks. */ cBlockingSslClientSocket & m_Socket; - virtual void OnConnected(cTCPLink & a_Link) override - { - m_Socket.OnConnected(); - } + virtual void OnConnected(cTCPLink & a_Link) override { m_Socket.OnConnected(); } - virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) override - { - m_Socket.OnConnectError(a_ErrorMsg); - } + virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) override { m_Socket.OnConnectError(a_ErrorMsg); } -public: - cBlockingSslClientSocketConnectCallbacks(cBlockingSslClientSocket & a_Socket): + public: + cBlockingSslClientSocketConnectCallbacks(cBlockingSslClientSocket & a_Socket) : m_Socket(a_Socket) { } @@ -43,15 +36,11 @@ public: //////////////////////////////////////////////////////////////////////////////// // cBlockingSslClientSocketLinkCallbacks: -class cBlockingSslClientSocketLinkCallbacks: - public cTCPLink::cCallbacks +class cBlockingSslClientSocketLinkCallbacks : public cTCPLink::cCallbacks { cBlockingSslClientSocket & m_Socket; - virtual void OnLinkCreated(cTCPLinkPtr a_Link) override - { - m_Socket.SetLink(a_Link); - } + virtual void OnLinkCreated(cTCPLinkPtr a_Link) override { m_Socket.SetLink(a_Link); } virtual void OnReceivedData(const char * a_Data, size_t a_Length) override @@ -60,20 +49,13 @@ class cBlockingSslClientSocketLinkCallbacks: } - virtual void OnRemoteClosed(void) override - { - m_Socket.OnDisconnected(); - } + virtual void OnRemoteClosed(void) override { m_Socket.OnDisconnected(); } - virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) override - { - m_Socket.OnDisconnected(); - } + virtual void OnError(int a_ErrorCode, const AString & a_ErrorMsg) override { m_Socket.OnDisconnected(); } -public: - - cBlockingSslClientSocketLinkCallbacks(cBlockingSslClientSocket & a_Socket): + public: + cBlockingSslClientSocketLinkCallbacks(cBlockingSslClientSocket & a_Socket) : m_Socket(a_Socket) { } @@ -87,8 +69,7 @@ public: // cBlockingSslClientSocket: cBlockingSslClientSocket::cBlockingSslClientSocket(void) : - m_Ssl(*this), - m_IsConnected(false) + m_Ssl(*this), m_IsConnected(false) { // Nothing needed yet } @@ -109,10 +90,12 @@ bool cBlockingSslClientSocket::Connect(const AString & a_ServerName, UInt16 a_Po // Connect the underlying socket: m_ServerName = a_ServerName; - if (!cNetwork::Connect(a_ServerName, a_Port, - std::make_shared(*this), - std::make_shared(*this)) - ) + if (!cNetwork::Connect( + a_ServerName, + a_Port, + std::make_shared(*this), + std::make_shared(*this) + )) { return false; } @@ -169,8 +152,10 @@ void cBlockingSslClientSocket::SetExpectedPeerName(AString a_ExpectedPeerName) if (!m_ExpectedPeerName.empty()) { LOGWARNING( - "SSL: Trying to set multiple expected peer names, only the last one will be used. %s overwriting the previous %s", - a_ExpectedPeerName, m_ExpectedPeerName + "SSL: Trying to set multiple expected peer names, only the last one will be used. %s overwriting the " + "previous %s", + a_ExpectedPeerName, + m_ExpectedPeerName ); } @@ -214,7 +199,7 @@ bool cBlockingSslClientSocket::Send(const void * a_Data, size_t a_NumBytes) int res = m_Ssl.WritePlain(Data, a_NumBytes); if (res < 0) { - ASSERT(res != MBEDTLS_ERR_SSL_WANT_READ); // This should never happen with callback-based SSL + ASSERT(res != MBEDTLS_ERR_SSL_WANT_READ); // This should never happen with callback-based SSL ASSERT(res != MBEDTLS_ERR_SSL_WANT_WRITE); // This should never happen with callback-based SSL m_LastErrorText = fmt::format(FMT_STRING("Data cannot be written to SSL context: -0x{:x}"), -res); return false; @@ -369,7 +354,3 @@ void cBlockingSslClientSocket::OnDisconnected(void) m_Socket.reset(); m_Event.Set(); } - - - - diff --git a/src/mbedTLS++/BlockingSslClientSocket.h b/src/mbedTLS++/BlockingSslClientSocket.h index 8cd642707..6bb291921 100644 --- a/src/mbedTLS++/BlockingSslClientSocket.h +++ b/src/mbedTLS++/BlockingSslClientSocket.h @@ -16,16 +16,12 @@ -class cBlockingSslClientSocket : - protected cCallbackSslContext::cDataCallbacks +class cBlockingSslClientSocket : protected cCallbackSslContext::cDataCallbacks { -public: + public: cBlockingSslClientSocket(void); - virtual ~cBlockingSslClientSocket(void) override - { - Disconnect(); - } + virtual ~cBlockingSslClientSocket(void) override { Disconnect(); } /** Connects to the specified server and performs SSL handshake. Returns true if successful, false on failure. Sets internal error text on failure. */ @@ -58,7 +54,7 @@ public: /** Returns the text of the last error that has occurred in this instance. */ const AString & GetLastErrorText(void) const { return m_LastErrorText; } -protected: + protected: friend class cBlockingSslClientSocketConnectCallbacks; friend class cBlockingSslClientSocketLinkCallbacks; @@ -112,8 +108,4 @@ protected: // cCallbackSslContext::cDataCallbacks overrides: virtual int ReceiveEncrypted(unsigned char * a_Buffer, size_t a_NumBytes) override; virtual int SendEncrypted(const unsigned char * a_Buffer, size_t a_NumBytes) override; -} ; - - - - +}; diff --git a/src/mbedTLS++/BufferedSslContext.cpp b/src/mbedTLS++/BufferedSslContext.cpp index 88b66c592..d31f89df9 100644 --- a/src/mbedTLS++/BufferedSslContext.cpp +++ b/src/mbedTLS++/BufferedSslContext.cpp @@ -10,9 +10,8 @@ -cBufferedSslContext::cBufferedSslContext(size_t a_BufferSize): - m_OutgoingData(a_BufferSize), - m_IncomingData(a_BufferSize) +cBufferedSslContext::cBufferedSslContext(size_t a_BufferSize) : + m_OutgoingData(a_BufferSize), m_IncomingData(a_BufferSize) { } @@ -87,7 +86,3 @@ int cBufferedSslContext::SendEncrypted(const unsigned char * a_Buffer, size_t a_ } return static_cast(a_NumBytes); } - - - - diff --git a/src/mbedTLS++/BufferedSslContext.h b/src/mbedTLS++/BufferedSslContext.h index f48552882..467ad36cf 100644 --- a/src/mbedTLS++/BufferedSslContext.h +++ b/src/mbedTLS++/BufferedSslContext.h @@ -16,13 +16,11 @@ -class cBufferedSslContext: - public cSslContext +class cBufferedSslContext : public cSslContext { using Super = cSslContext; -public: - + public: /** Creates a new context with the buffers of specified size for the encrypted / decrypted data. */ cBufferedSslContext(size_t a_BufferSize = 64000); @@ -36,7 +34,7 @@ public: Returns the number of bytes actually retrieved. */ size_t ReadOutgoing(void * a_Data, size_t a_DataMaxSize); -protected: + protected: /** Buffer for the data that has been encrypted into the SSL stream and should be sent out. */ cByteBuffer m_OutgoingData; @@ -47,8 +45,4 @@ protected: // cSslContext overrides: virtual int ReceiveEncrypted(unsigned char * a_Buffer, size_t a_NumBytes) override; virtual int SendEncrypted(const unsigned char * a_Buffer, size_t a_NumBytes) override; -} ; - - - - +}; diff --git a/src/mbedTLS++/CallbackSslContext.cpp b/src/mbedTLS++/CallbackSslContext.cpp index 8dc8486d3..ecd039750 100644 --- a/src/mbedTLS++/CallbackSslContext.cpp +++ b/src/mbedTLS++/CallbackSslContext.cpp @@ -1,7 +1,8 @@ // CallbackSslContext.cpp -// Declares the cCallbackSslContext class representing a SSL context wrapper that uses callbacks to read and write SSL peer data +// Declares the cCallbackSslContext class representing a SSL context wrapper that uses callbacks to read and write SSL +// peer data #include "Globals.h" #include "CallbackSslContext.h" @@ -52,8 +53,3 @@ int cCallbackSslContext::SendEncrypted(const unsigned char * a_Buffer, size_t a_ } return m_Callbacks->SendEncrypted(a_Buffer, a_NumBytes); } - - - - - diff --git a/src/mbedTLS++/CallbackSslContext.h b/src/mbedTLS++/CallbackSslContext.h index abf4eefd7..ada9755ee 100644 --- a/src/mbedTLS++/CallbackSslContext.h +++ b/src/mbedTLS++/CallbackSslContext.h @@ -1,7 +1,8 @@ // CallbackSslContext.h -// Declares the cCallbackSslContext class representing a SSL context wrapper that uses callbacks to read and write SSL peer data +// Declares the cCallbackSslContext class representing a SSL context wrapper that uses callbacks to read and write SSL +// peer data @@ -16,14 +17,13 @@ -class cCallbackSslContext : - public cSslContext +class cCallbackSslContext : public cSslContext { -public: + public: /** Interface used as a data sink for the SSL peer data. */ class cDataCallbacks { - public: + public: // Force a virtual destructor in descendants: virtual ~cDataCallbacks() {} @@ -42,7 +42,7 @@ public: SSL operation that invoked this call will terminate with the same return value, so that the owner is notified of this condition and can potentially restart the operation later on. */ virtual int SendEncrypted(const unsigned char * a_Buffer, size_t a_NumBytes) = 0; - } ; + }; /** Creates a new SSL context with no callbacks assigned */ @@ -51,7 +51,7 @@ public: /** Creates a new SSL context with the specified callbacks */ cCallbackSslContext(cDataCallbacks & a_Callbacks); -protected: + protected: /** The callbacks to use to send and receive SSL peer data */ cDataCallbacks * m_Callbacks; @@ -59,7 +59,3 @@ protected: virtual int ReceiveEncrypted(unsigned char * a_Buffer, size_t a_NumBytes) override; virtual int SendEncrypted(const unsigned char * a_Buffer, size_t a_NumBytes) override; }; - - - - diff --git a/src/mbedTLS++/CryptoKey.cpp b/src/mbedTLS++/CryptoKey.cpp index 742d9c73c..2c253c500 100644 --- a/src/mbedTLS++/CryptoKey.cpp +++ b/src/mbedTLS++/CryptoKey.cpp @@ -63,15 +63,25 @@ cCryptoKey::~cCryptoKey() -int cCryptoKey::Decrypt(const Byte * a_EncryptedData, size_t a_EncryptedLength, Byte * a_DecryptedData, size_t a_DecryptedMaxLength) +int cCryptoKey::Decrypt( + const Byte * a_EncryptedData, + size_t a_EncryptedLength, + Byte * a_DecryptedData, + size_t a_DecryptedMaxLength +) { ASSERT(IsValid()); size_t DecryptedLen = a_DecryptedMaxLength; - int res = mbedtls_pk_decrypt(&m_Pk, - a_EncryptedData, a_EncryptedLength, - a_DecryptedData, &DecryptedLen, a_DecryptedMaxLength, - mbedtls_ctr_drbg_random, m_CtrDrbg.GetInternal() + int res = mbedtls_pk_decrypt( + &m_Pk, + a_EncryptedData, + a_EncryptedLength, + a_DecryptedData, + &DecryptedLen, + a_DecryptedMaxLength, + mbedtls_ctr_drbg_random, + m_CtrDrbg.GetInternal() ); if (res != 0) { @@ -84,14 +94,25 @@ int cCryptoKey::Decrypt(const Byte * a_EncryptedData, size_t a_EncryptedLength, -int cCryptoKey::Encrypt(const Byte * a_PlainData, size_t a_PlainLength, Byte * a_EncryptedData, size_t a_EncryptedMaxLength) +int cCryptoKey::Encrypt( + const Byte * a_PlainData, + size_t a_PlainLength, + Byte * a_EncryptedData, + size_t a_EncryptedMaxLength +) { ASSERT(IsValid()); size_t EncryptedLength = a_EncryptedMaxLength; - int res = mbedtls_pk_encrypt(&m_Pk, - a_PlainData, a_PlainLength, a_EncryptedData, &EncryptedLength, a_EncryptedMaxLength, - mbedtls_ctr_drbg_random, m_CtrDrbg.GetInternal() + int res = mbedtls_pk_encrypt( + &m_Pk, + a_PlainData, + a_PlainLength, + a_EncryptedData, + &EncryptedLength, + a_EncryptedMaxLength, + mbedtls_ctr_drbg_random, + m_CtrDrbg.GetInternal() ); if (res != 0) { @@ -119,20 +140,32 @@ int cCryptoKey::ParsePrivate(const void * a_Data, size_t a_NumBytes, const AStri { ASSERT(!IsValid()); // Cannot parse a second key // mbedTLS requires that PEM-encoded data is passed including the terminating NUL byte, - // and DER-encoded data is decoded properly even with an extra trailing NUL byte, so we simply add one to everything: + // and DER-encoded data is decoded properly even with an extra trailing NUL byte, so we simply add one to + // everything: AString keyData(static_cast(a_Data), a_NumBytes); if (a_Password.empty()) { - return mbedtls_pk_parse_key(&m_Pk, reinterpret_cast(keyData.data()), a_NumBytes + 1, nullptr, 0, mbedtls_ctr_drbg_random, m_CtrDrbg.GetInternal()); + return mbedtls_pk_parse_key( + &m_Pk, + reinterpret_cast(keyData.data()), + a_NumBytes + 1, + nullptr, + 0, + mbedtls_ctr_drbg_random, + m_CtrDrbg.GetInternal() + ); } else { return mbedtls_pk_parse_key( &m_Pk, - reinterpret_cast(keyData.data()), a_NumBytes + 1, - reinterpret_cast(a_Password.c_str()), a_Password.size(), - mbedtls_ctr_drbg_random, m_CtrDrbg.GetInternal() + reinterpret_cast(keyData.data()), + a_NumBytes + 1, + reinterpret_cast(a_Password.c_str()), + a_Password.size(), + mbedtls_ctr_drbg_random, + m_CtrDrbg.GetInternal() ); } } diff --git a/src/mbedTLS++/CryptoKey.h b/src/mbedTLS++/CryptoKey.h index 5615d57d0..b36e217ee 100644 --- a/src/mbedTLS++/CryptoKey.h +++ b/src/mbedTLS++/CryptoKey.h @@ -20,7 +20,7 @@ class cCryptoKey { friend class cSslConfig; -public: + public: /** Constructs an empty key instance. Before use, it needs to be filled by ParsePublic() or ParsePrivate() */ cCryptoKey(void); @@ -36,7 +36,12 @@ public: /** Decrypts the data using the stored public key Both a_EncryptedData and a_DecryptedData must be at least bytes large. Returns the number of bytes decrypted, or negative number for error. */ - int Decrypt(const Byte * a_EncryptedData, size_t a_EncryptedLength, Byte * a_DecryptedData, size_t a_DecryptedMaxLength); + int Decrypt( + const Byte * a_EncryptedData, + size_t a_EncryptedLength, + Byte * a_DecryptedData, + size_t a_DecryptedMaxLength + ); /** Encrypts the data using the stored public key Both a_EncryptedData and a_DecryptedData must be at least bytes large. @@ -57,7 +62,7 @@ public: /** Returns true if the contained key is valid. */ bool IsValid(void) const; -protected: + protected: /** The mbedTLS representation of the key data */ mbedtls_pk_context m_Pk; @@ -67,10 +72,6 @@ protected: /** Returns the internal context ptr. Only use in mbedTLS API calls. */ mbedtls_pk_context * GetInternal(void) { return &m_Pk; } -} ; +}; typedef std::shared_ptr cCryptoKeyPtr; - - - - diff --git a/src/mbedTLS++/CtrDrbgContext.cpp b/src/mbedTLS++/CtrDrbgContext.cpp index 07f57001d..91df1eff0 100644 --- a/src/mbedTLS++/CtrDrbgContext.cpp +++ b/src/mbedTLS++/CtrDrbgContext.cpp @@ -12,8 +12,7 @@ cCtrDrbgContext::cCtrDrbgContext(void) : - m_EntropyContext(std::make_shared()), - m_IsValid(false) + m_EntropyContext(std::make_shared()), m_IsValid(false) { mbedtls_ctr_drbg_init(&m_CtrDrbg); } @@ -23,8 +22,7 @@ cCtrDrbgContext::cCtrDrbgContext(void) : cCtrDrbgContext::cCtrDrbgContext(const std::shared_ptr & a_EntropyContext) : - m_EntropyContext(a_EntropyContext), - m_IsValid(false) + m_EntropyContext(a_EntropyContext), m_IsValid(false) { mbedtls_ctr_drbg_init(&m_CtrDrbg); } @@ -41,11 +39,13 @@ int cCtrDrbgContext::Initialize(const void * a_Custom, size_t a_CustomSize) return 0; } - int res = mbedtls_ctr_drbg_seed(&m_CtrDrbg, mbedtls_entropy_func, &(m_EntropyContext->m_Entropy), static_cast(a_Custom), a_CustomSize); + int res = mbedtls_ctr_drbg_seed( + &m_CtrDrbg, + mbedtls_entropy_func, + &(m_EntropyContext->m_Entropy), + static_cast(a_Custom), + a_CustomSize + ); m_IsValid = (res == 0); return res; } - - - - diff --git a/src/mbedTLS++/CtrDrbgContext.h b/src/mbedTLS++/CtrDrbgContext.h index fe67504a7..e83b3494c 100644 --- a/src/mbedTLS++/CtrDrbgContext.h +++ b/src/mbedTLS++/CtrDrbgContext.h @@ -28,7 +28,7 @@ class cCtrDrbgContext friend class cRsaPrivateKey; friend class cCryptoKey; -public: + public: /** Constructs the context with a new entropy context. */ cCtrDrbgContext(void); @@ -43,7 +43,7 @@ public: /** Returns true if the object is valid (has been initialized properly) */ bool IsValid(void) const { return m_IsValid; } -protected: + protected: /** The entropy source used for generating the random */ std::shared_ptr m_EntropyContext; @@ -56,8 +56,4 @@ protected: /** Returns the internal context ptr. Only use in mbedTLS API calls. */ mbedtls_ctr_drbg_context * GetInternal(void) { return &m_CtrDrbg; } -} ; - - - - +}; diff --git a/src/mbedTLS++/EntropyContext.cpp b/src/mbedTLS++/EntropyContext.cpp index a5cdcb89e..6092976ea 100644 --- a/src/mbedTLS++/EntropyContext.cpp +++ b/src/mbedTLS++/EntropyContext.cpp @@ -23,7 +23,3 @@ cEntropyContext::~cEntropyContext() { mbedtls_entropy_free(&m_Entropy); } - - - - diff --git a/src/mbedTLS++/EntropyContext.h b/src/mbedTLS++/EntropyContext.h index 1c1695340..8532f33b8 100644 --- a/src/mbedTLS++/EntropyContext.h +++ b/src/mbedTLS++/EntropyContext.h @@ -18,14 +18,11 @@ class cEntropyContext { friend class cCtrDrbgContext; -public: + + public: cEntropyContext(void); ~cEntropyContext(); -protected: + protected: mbedtls_entropy_context m_Entropy; -} ; - - - - +}; diff --git a/src/mbedTLS++/ErrorCodes.h b/src/mbedTLS++/ErrorCodes.h index 36ef86fec..29adcf172 100644 --- a/src/mbedTLS++/ErrorCodes.h +++ b/src/mbedTLS++/ErrorCodes.h @@ -2,17 +2,14 @@ /** Error codes from mbedtls net_sockets.h */ // TODO: Replace with std::error_code -#define MBEDTLS_ERR_NET_SOCKET_FAILED -0x0042 /**< Failed to open a socket. */ -#define MBEDTLS_ERR_NET_CONNECT_FAILED -0x0044 /**< The connection to the given server / port failed. */ -#define MBEDTLS_ERR_NET_BIND_FAILED -0x0046 /**< Binding of the socket failed. */ -#define MBEDTLS_ERR_NET_LISTEN_FAILED -0x0048 /**< Could not listen on the socket. */ -#define MBEDTLS_ERR_NET_ACCEPT_FAILED -0x004A /**< Could not accept the incoming connection. */ -#define MBEDTLS_ERR_NET_RECV_FAILED -0x004C /**< Reading information from the socket failed. */ -#define MBEDTLS_ERR_NET_SEND_FAILED -0x004E /**< Sending information through the socket failed. */ -#define MBEDTLS_ERR_NET_CONN_RESET -0x0050 /**< Connection was reset by peer. */ -#define MBEDTLS_ERR_NET_UNKNOWN_HOST -0x0052 /**< Failed to get an IP address for the given hostname. */ -#define MBEDTLS_ERR_NET_BUFFER_TOO_SMALL -0x0043 /**< Buffer is too small to hold the data. */ -#define MBEDTLS_ERR_NET_INVALID_CONTEXT -0x0045 /**< The context is invalid, eg because it was free()ed. */ - - - +#define MBEDTLS_ERR_NET_SOCKET_FAILED -0x0042 /**< Failed to open a socket. */ +#define MBEDTLS_ERR_NET_CONNECT_FAILED -0x0044 /**< The connection to the given server / port failed. */ +#define MBEDTLS_ERR_NET_BIND_FAILED -0x0046 /**< Binding of the socket failed. */ +#define MBEDTLS_ERR_NET_LISTEN_FAILED -0x0048 /**< Could not listen on the socket. */ +#define MBEDTLS_ERR_NET_ACCEPT_FAILED -0x004A /**< Could not accept the incoming connection. */ +#define MBEDTLS_ERR_NET_RECV_FAILED -0x004C /**< Reading information from the socket failed. */ +#define MBEDTLS_ERR_NET_SEND_FAILED -0x004E /**< Sending information through the socket failed. */ +#define MBEDTLS_ERR_NET_CONN_RESET -0x0050 /**< Connection was reset by peer. */ +#define MBEDTLS_ERR_NET_UNKNOWN_HOST -0x0052 /**< Failed to get an IP address for the given hostname. */ +#define MBEDTLS_ERR_NET_BUFFER_TOO_SMALL -0x0043 /**< Buffer is too small to hold the data. */ +#define MBEDTLS_ERR_NET_INVALID_CONTEXT -0x0045 /**< The context is invalid, eg because it was free()ed. */ diff --git a/src/mbedTLS++/RsaPrivateKey.cpp b/src/mbedTLS++/RsaPrivateKey.cpp index d0c5b7c8b..2cc65a0ac 100644 --- a/src/mbedTLS++/RsaPrivateKey.cpp +++ b/src/mbedTLS++/RsaPrivateKey.cpp @@ -59,7 +59,7 @@ ContiguousByteBuffer cRsaPrivateKey::GetPubKeyDER(void) { class cPubKey { - public: + public: cPubKey(mbedtls_rsa_context * a_Rsa) : m_IsValid(false) { @@ -85,9 +85,9 @@ ContiguousByteBuffer cRsaPrivateKey::GetPubKeyDER(void) } } - operator mbedtls_pk_context * (void) { return &m_Key; } + operator mbedtls_pk_context *(void) { return &m_Key; } - protected: + protected: bool m_IsValid; mbedtls_pk_context m_Key; } PkCtx(&m_Rsa); @@ -98,32 +98,51 @@ ContiguousByteBuffer cRsaPrivateKey::GetPubKeyDER(void) { return {}; } - return { reinterpret_cast(buf + sizeof(buf) - res), static_cast(res) }; + return {reinterpret_cast(buf + sizeof(buf) - res), static_cast(res)}; } -int cRsaPrivateKey::Decrypt(const ContiguousByteBufferView a_EncryptedData, Byte * a_DecryptedData, size_t a_DecryptedMaxLength) +int cRsaPrivateKey::Decrypt( + const ContiguousByteBufferView a_EncryptedData, + Byte * a_DecryptedData, + size_t a_DecryptedMaxLength +) { const auto KeyLength = mbedtls_rsa_get_len(&m_Rsa); if (a_EncryptedData.size() < KeyLength) { - LOGD("%s: Invalid a_EncryptedLength: got %zu, exp at least %zu", __FUNCTION__, a_EncryptedData.size(), KeyLength); + LOGD( + "%s: Invalid a_EncryptedLength: got %zu, exp at least %zu", + __FUNCTION__, + a_EncryptedData.size(), + KeyLength + ); ASSERT(!"Invalid a_DecryptedMaxLength!"); return -1; } if (a_DecryptedMaxLength < KeyLength) { - LOGD("%s: Invalid a_DecryptedMaxLength: got %zu, exp at least %zu", __FUNCTION__, a_DecryptedMaxLength, KeyLength); + LOGD( + "%s: Invalid a_DecryptedMaxLength: got %zu, exp at least %zu", + __FUNCTION__, + a_DecryptedMaxLength, + KeyLength + ); ASSERT(!"Invalid a_DecryptedMaxLength!"); return -1; } size_t DecryptedLength; int res = mbedtls_rsa_pkcs1_decrypt( - &m_Rsa, mbedtls_ctr_drbg_random, m_CtrDrbg.GetInternal(), &DecryptedLength, - reinterpret_cast(a_EncryptedData.data()), a_DecryptedData, a_DecryptedMaxLength + &m_Rsa, + mbedtls_ctr_drbg_random, + m_CtrDrbg.GetInternal(), + &DecryptedLength, + reinterpret_cast(a_EncryptedData.data()), + a_DecryptedData, + a_DecryptedMaxLength ); if (res != 0) { diff --git a/src/mbedTLS++/RsaPrivateKey.h b/src/mbedTLS++/RsaPrivateKey.h index 33a016edc..1b02edd47 100644 --- a/src/mbedTLS++/RsaPrivateKey.h +++ b/src/mbedTLS++/RsaPrivateKey.h @@ -21,7 +21,7 @@ class cRsaPrivateKey { friend class cSslContext; -public: + public: /** Creates a new empty object, the key is not assigned */ cRsaPrivateKey(void); @@ -42,7 +42,7 @@ public: Returns the number of bytes decrypted, or negative number for error. */ int Decrypt(ContiguousByteBufferView a_EncryptedData, Byte * a_DecryptedData, size_t a_DecryptedMaxLength); -protected: + protected: /** The mbedTLS key context */ mbedtls_rsa_context m_Rsa; @@ -52,11 +52,6 @@ protected: /** Returns the internal context ptr. Only use in mbedTLS API calls. */ mbedtls_rsa_context * GetInternal(void) { return &m_Rsa; } -} ; +}; typedef std::shared_ptr cRsaPrivateKeyPtr; - - - - - diff --git a/src/mbedTLS++/Sha1Checksum.cpp b/src/mbedTLS++/Sha1Checksum.cpp index 4c4c92298..745ddabf7 100644 --- a/src/mbedTLS++/Sha1Checksum.cpp +++ b/src/mbedTLS++/Sha1Checksum.cpp @@ -144,7 +144,3 @@ void cSha1Checksum::Restart(void) mbedtls_sha1_starts(&m_Sha1); m_DoesAcceptInput = true; } - - - - diff --git a/src/mbedTLS++/Sha1Checksum.h b/src/mbedTLS++/Sha1Checksum.h index dbe7db567..d509923ae 100644 --- a/src/mbedTLS++/Sha1Checksum.h +++ b/src/mbedTLS++/Sha1Checksum.h @@ -18,7 +18,7 @@ /** Calculates a SHA1 checksum for data stream */ class cSha1Checksum { -public: + public: typedef Byte Checksum[20]; // The type used for storing the checksum cSha1Checksum(void); @@ -43,13 +43,9 @@ public: /** Clears the current context and start a new checksum calculation */ void Restart(void); -protected: + protected: /** True if the object is accepts more input data, false if Finalize()-d (need to Restart()) */ bool m_DoesAcceptInput; mbedtls_sha1_context m_Sha1; -} ; - - - - +}; diff --git a/src/mbedTLS++/SslConfig.cpp b/src/mbedTLS++/SslConfig.cpp index 9bcac741f..797b5cbad 100644 --- a/src/mbedTLS++/SslConfig.cpp +++ b/src/mbedTLS++/SslConfig.cpp @@ -14,87 +14,87 @@ #if !defined(NDEBUG) && defined(ENABLE_SSL_DEBUG_MSG) - #include "mbedtls/debug.h" +#include "mbedtls/debug.h" - namespace +namespace +{ +void SSLDebugMessage(void * a_UserParam, int a_Level, const char * a_Filename, int a_LineNo, const char * a_Text) +{ + if (a_Level > 3) { - void SSLDebugMessage(void * a_UserParam, int a_Level, const char * a_Filename, int a_LineNo, const char * a_Text) - { - if (a_Level > 3) - { - // Don't want the trace messages - return; - } - - // Remove the terminating LF: - size_t len = strlen(a_Text) - 1; - while ((len > 0) && (a_Text[len] <= 32)) - { - len--; - } - AString Text(a_Text, len + 1); - - LOGD("SSL (%d): %s", a_Level, Text.c_str()); - } + // Don't want the trace messages + return; + } + + // Remove the terminating LF: + size_t len = strlen(a_Text) - 1; + while ((len > 0) && (a_Text[len] <= 32)) + { + len--; + } + AString Text(a_Text, len + 1); + + LOGD("SSL (%d): %s", a_Level, Text.c_str()); +} - int SSLVerifyCert(void * a_This, mbedtls_x509_crt * a_Crt, int a_Depth, uint32_t * a_Flags) - { - char buf[1024]; - UNUSED(a_This); - - LOG("Verify requested for (Depth %d):", a_Depth); - mbedtls_x509_crt_info(buf, sizeof(buf) - 1, "", a_Crt); - LOG("%s", buf); - - uint32_t Flags = *a_Flags; - if ((Flags & MBEDTLS_X509_BADCERT_EXPIRED) != 0) - { - LOG(" ! server certificate has expired"); - } - - if ((Flags & MBEDTLS_X509_BADCERT_REVOKED) != 0) - { - LOG(" ! server certificate has been revoked"); - } - - if ((Flags & MBEDTLS_X509_BADCERT_CN_MISMATCH) != 0) - { - LOG(" ! CN mismatch"); - } - - if ((Flags & MBEDTLS_X509_BADCERT_NOT_TRUSTED) != 0) - { - LOG(" ! self-signed or not signed by a trusted CA"); - } - - if ((Flags & MBEDTLS_X509_BADCRL_NOT_TRUSTED) != 0) - { - LOG(" ! CRL not trusted"); - } - - if ((Flags & MBEDTLS_X509_BADCRL_EXPIRED) != 0) - { - LOG(" ! CRL expired"); - } - - if ((Flags & MBEDTLS_X509_BADCERT_OTHER) != 0) - { - LOG(" ! other (unknown) flag"); - } - - if (Flags == 0) - { - LOG(" This certificate has no flags"); - } - - return 0; - } +int SSLVerifyCert(void * a_This, mbedtls_x509_crt * a_Crt, int a_Depth, uint32_t * a_Flags) +{ + char buf[1024]; + UNUSED(a_This); + + LOG("Verify requested for (Depth %d):", a_Depth); + mbedtls_x509_crt_info(buf, sizeof(buf) - 1, "", a_Crt); + LOG("%s", buf); + + uint32_t Flags = *a_Flags; + if ((Flags & MBEDTLS_X509_BADCERT_EXPIRED) != 0) + { + LOG(" ! server certificate has expired"); + } + + if ((Flags & MBEDTLS_X509_BADCERT_REVOKED) != 0) + { + LOG(" ! server certificate has been revoked"); + } + + if ((Flags & MBEDTLS_X509_BADCERT_CN_MISMATCH) != 0) + { + LOG(" ! CN mismatch"); } + + if ((Flags & MBEDTLS_X509_BADCERT_NOT_TRUSTED) != 0) + { + LOG(" ! self-signed or not signed by a trusted CA"); + } + + if ((Flags & MBEDTLS_X509_BADCRL_NOT_TRUSTED) != 0) + { + LOG(" ! CRL not trusted"); + } + + if ((Flags & MBEDTLS_X509_BADCRL_EXPIRED) != 0) + { + LOG(" ! CRL expired"); + } + + if ((Flags & MBEDTLS_X509_BADCERT_OTHER) != 0) + { + LOG(" ! other (unknown) flag"); + } + + if (Flags == 0) + { + LOG(" This certificate has no flags"); + } + + return 0; +} +} // namespace #endif // !defined(NDEBUG) && defined(ENABLE_SSL_DEBUG_MSG) @@ -238,24 +238,24 @@ std::shared_ptr cSslConfig::MakeDefaultConfig(bool a_IsClient) // By default we have no root CAs, so no cert verification can be done: Ret->SetAuthMode(eSslAuthMode::None); - #ifndef NDEBUG - #ifdef ENABLE_SSL_DEBUG_MSG - Ret->SetDebugCallback(&SSLDebugMessage, nullptr); - Ret->SetVerifyCallback(SSLVerifyCert, nullptr); - mbedtls_debug_set_threshold(2); - #endif - - /* - // Set ciphersuite to the easiest one to decode, so that the connection can be wireshark-decoded: - Ret->SetCipherSuites( - { - MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, - MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, - MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA - } - ); - */ - #endif +#ifndef NDEBUG +#ifdef ENABLE_SSL_DEBUG_MSG + Ret->SetDebugCallback(&SSLDebugMessage, nullptr); + Ret->SetVerifyCallback(SSLVerifyCert, nullptr); + mbedtls_debug_set_threshold(2); +#endif + + /* + // Set ciphersuite to the easiest one to decode, so that the connection can be wireshark-decoded: + Ret->SetCipherSuites( + { + MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, + MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, + MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA + } + ); + */ +#endif return Ret; } @@ -279,7 +279,3 @@ std::shared_ptr cSslConfig::GetDefaultServerConfig() static const std::shared_ptr ServerConfig = MakeDefaultConfig(false); return ServerConfig; } - - - - diff --git a/src/mbedTLS++/SslConfig.h b/src/mbedTLS++/SslConfig.h index 47a4f7b59..ea0dc2f2e 100644 --- a/src/mbedTLS++/SslConfig.h +++ b/src/mbedTLS++/SslConfig.h @@ -14,10 +14,10 @@ using cX509CertPtr = std::shared_ptr; enum class eSslAuthMode { - None = 0, // MBEDTLS_SSL_VERIFY_NONE + None = 0, // MBEDTLS_SSL_VERIFY_NONE Optional = 1, // MBEDTLS_SSL_VERIFY_OPTIONAL Required = 2, // MBEDTLS_SSL_VERIFY_REQUIRED - Unset = 3, // MBEDTLS_SSL_VERIFY_UNSET + Unset = 3, // MBEDTLS_SSL_VERIFY_UNSET }; @@ -25,7 +25,8 @@ enum class eSslAuthMode class cSslConfig { friend class cSslContext; -public: + + public: /** Type of the SSL debug callback. Parameters are: void * Opaque context for the callback @@ -33,7 +34,7 @@ public: const char * File name int Line number const char * Message */ - using cDebugCallback = void(*)(void *, int, const char *, int, const char *); + using cDebugCallback = void (*)(void *, int, const char *, int, const char *); /** Type of the SSL certificate verify callback. Parameters are: @@ -41,7 +42,7 @@ public: mbedtls_x509_crt * Current cert int Cert chain depth uint32_t * Verification flags */ - using cVerifyCallback = int(*)(void *, mbedtls_x509_crt *, int, uint32_t *); + using cVerifyCallback = int (*)(void *, mbedtls_x509_crt *, int, uint32_t *); cSslConfig(); ~cSslConfig(); @@ -79,8 +80,7 @@ public: /** Returns the default config for server connections. */ static std::shared_ptr GetDefaultServerConfig(); -private: - + private: /** Returns a pointer to the wrapped mbedtls representation. */ const mbedtls_ssl_config * GetInternal() const { return &m_Config; } diff --git a/src/mbedTLS++/SslContext.cpp b/src/mbedTLS++/SslContext.cpp index 83bb1955e..bd512ce7c 100644 --- a/src/mbedTLS++/SslContext.cpp +++ b/src/mbedTLS++/SslContext.cpp @@ -12,8 +12,7 @@ cSslContext::cSslContext(void) : - m_IsValid(false), - m_HasHandshaken(false) + m_IsValid(false), m_HasHandshaken(false) { mbedtls_ssl_init(&m_Ssl); } @@ -151,7 +150,3 @@ int cSslContext::NotifyClose(void) { return mbedtls_ssl_close_notify(&m_Ssl); } - - - - diff --git a/src/mbedTLS++/SslContext.h b/src/mbedTLS++/SslContext.h index b4b184403..13baf2cfa 100644 --- a/src/mbedTLS++/SslContext.h +++ b/src/mbedTLS++/SslContext.h @@ -34,7 +34,7 @@ data comes into the system: */ class cSslContext abstract { -public: + public: /** Creates a new uninitialized context */ cSslContext(void); @@ -88,8 +88,7 @@ public: Returns 0 on success, mbedTLS error code on failure. */ int NotifyClose(void); -protected: - + protected: /** Configuration of the SSL context. */ std::shared_ptr m_Config; @@ -119,8 +118,4 @@ protected: /** Called when mbedTLS wants to write encrypted data. */ virtual int SendEncrypted(const unsigned char * a_Buffer, size_t a_NumBytes) = 0; -} ; - - - - +}; diff --git a/src/mbedTLS++/X509Cert.cpp b/src/mbedTLS++/X509Cert.cpp index e7484af3b..0d901e0e3 100644 --- a/src/mbedTLS++/X509Cert.cpp +++ b/src/mbedTLS++/X509Cert.cpp @@ -31,11 +31,8 @@ cX509Cert::~cX509Cert() int cX509Cert::Parse(const void * a_CertContents, size_t a_Size) { // mbedTLS requires that PEM-encoded data is passed including the terminating NUL byte, - // and DER-encoded data is decoded properly even with an extra trailing NUL byte, so we simply add one to everything: + // and DER-encoded data is decoded properly even with an extra trailing NUL byte, so we simply add one to + // everything: AString certContents(static_cast(a_CertContents), a_Size); return mbedtls_x509_crt_parse(&m_Cert, reinterpret_cast(certContents.data()), a_Size + 1); } - - - - diff --git a/src/mbedTLS++/X509Cert.h b/src/mbedTLS++/X509Cert.h index f46d84bf5..552e5f8da 100644 --- a/src/mbedTLS++/X509Cert.h +++ b/src/mbedTLS++/X509Cert.h @@ -19,7 +19,7 @@ class cX509Cert { friend class cSslConfig; -public: + public: cX509Cert(void); ~cX509Cert(void); @@ -28,15 +28,11 @@ public: Returns 0 on succes, or mbedTLS error code on failure. */ int Parse(const void * a_CertContents, size_t a_Size); -protected: + protected: mbedtls_x509_crt m_Cert; /** Returns the internal cert ptr. Only use in mbedTLS API calls. */ mbedtls_x509_crt * GetInternal(void) { return &m_Cert; } -} ; +}; typedef std::shared_ptr cX509CertPtr; - - - - -- cgit v1.2.3